From xen-devel-bounces@lists.xenproject.org Wed Oct 01 05:49:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Oct 2025 05:49:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1134620.1472364 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v3php-0004EJ-60; Wed, 01 Oct 2025 05:48:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1134620.1472364; Wed, 01 Oct 2025 05:48:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v3php-0004E7-17; Wed, 01 Oct 2025 05:48:49 +0000
Received: by outflank-mailman (input) for mailman id 1134620;
 Wed, 01 Oct 2025 05:48:47 +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 <SRS0=/A98=4K=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1v3phn-0004E1-87
 for xen-devel@lists.xenproject.org; Wed, 01 Oct 2025 05:48:47 +0000
Received: from mail-ed1-x530.google.com (mail-ed1-x530.google.com
 [2a00:1450:4864:20::530])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4827f555-9e8a-11f0-9809-7dc792cee155;
 Wed, 01 Oct 2025 07:48:40 +0200 (CEST)
Received: by mail-ed1-x530.google.com with SMTP id
 4fb4d7f45d1cf-6349e3578adso12894642a12.1
 for <xen-devel@lists.xenproject.org>; Tue, 30 Sep 2025 22:48:40 -0700 (PDT)
Received: from ?IPV6:2003:e5:873f:400:7b4f:e512:a417:5a86?
 (p200300e5873f04007b4fe512a4175a86.dip0.t-ipconnect.de.
 [2003:e5:873f:400:7b4f:e512:a417:5a86])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-634a3ae2cd7sm11345129a12.31.2025.09.30.22.48.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 30 Sep 2025 22:48:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4827f555-9e8a-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1759297720; x=1759902520; darn=lists.xenproject.org;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=4DQAUi0WJMJ6qbtQA/mAZOs1ErFx37l9lKnV34IplE4=;
        b=PBbV9lvJgpb+7AuMap5ZO0ng6AFenVHQXtnZ9ai3WeaW7E4vyfF0+BKf7SPVLucOuc
         PXh8YpZlldpZEQxFvZOP85Kzl1mT3JmzwL7Rt6AGAuXsOCEe6vfmXXuR3XHqN+RWeSy+
         3SiKL2857sRCKi3S3kzZwcp+iYtIyZUC4uJBbXdl7ZDXGrsDRjQPY13EfQi8VxYON0+8
         3ZKSXbK6JWWxcmqXavLelB3byl9IOugpDKyh/QgnnRqPtUF6W/IEojytt4Nundjic3W8
         Ts8Btq1491uT8g6XlUEznhV+3CIss1yTYlub9c+DA/zigavUYEKm8+U9gD3E3WjlMBk7
         CFRg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759297720; x=1759902520;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=4DQAUi0WJMJ6qbtQA/mAZOs1ErFx37l9lKnV34IplE4=;
        b=li6kYDB7cqZ+TYMWOW+ccee28sNe9JTlAzLW0cLjLTI3CuTpi6k6BkO7ORtCbi+0el
         9EnD8DVNgQikeQBgcXxtgUTkq0Od0CNmYkJxGEmG71jHTY3ZUNZ5uF/MjzXuNT5XDCju
         JCHSQnLn4sCYbjj1PuuVMAd7eAVM3r9pPnC+yFDzRWwiM2LVw87InVaQjYB1Ny8wvHdT
         JfiGIduINW9DtaVQBMaHFntdkvGJZTYrdkhG7dRG7fFgnu2xFZ56g1dbg28Nc0Ey2oCA
         QgCWz39prq8Gdtkz2dNKc6PHMTxtEz1sl4rSfS0s4DrPZ+S9jY1x4kg/ciR1GDcilo1w
         NDAw==
X-Forwarded-Encrypted: i=1; AJvYcCWo1YhnJfwtq3MOmuesjV7tgqDr2H0d+mY6ZxIYjjYTXBR4Qmh3tjBu4KVvQ00NPl6HKItd1XTm+PU=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzc0mf1AylrJQRETzBrdu4DmXvRzmfXGbA8zIhcibuyMxB5vNcz
	Qhfd46PhnuuootyVtcyIuu3Izj8nYTdtKFoaFY7p5bvoJ7lT3CFGvQQWVTLcB1o3PkA=
X-Gm-Gg: ASbGncv03tCyKvA1npM+loYurhgd0qo1nBccCfhDevy+jcN2LPHE8R7MZeqwNMgX/EL
	/2SqzwPM7JPK5ltcoPzu+b8B9RAU1DC7aqoQkBUJ5UBgljzvIWohineApNHG7dOwR/cJROx/nSa
	KoShrJpVrBkyT7tWAcGp3ZnPtTh2fTwTNc+L5goe2HCIezxAANy3KxPiUKmGDeP2DCnKcex2GGb
	0uryBCoiHNL8rVMem29OR4aQszhMNdNpfKpeqTXUz0O3vKgEWMVJxZ2lfPsfCC4YIC/nMBSgFI8
	O0/D1lVRwCR8AGGr3v0BNia0MftX8kj9iC9kq4M5f5VCilzJBr+CsBBwWmH29Y7wkCtwpvHpHkO
	XOpzmm4btxwUh06K9XDvQqAfl3I8266jzJuok70J0g7EORbxepq5fCUjjAv81R2tSXOAtO0mUbW
	qfvNkIZ1Q4NRf35CHFq1en77fNiIRdF250LNLeFUILelcqWiJyDOrtyrR6a8m70mjd72We
X-Google-Smtp-Source: AGHT+IE/17b2UUzfXlD1t/DLm5DVVKaqJxK80m0nHtzrA+dBmOcZIvDnf8hqsrkxUUQ7m0SMeAvPmQ==
X-Received: by 2002:a05:6402:34c1:b0:629:3f9d:b06c with SMTP id 4fb4d7f45d1cf-63678d01890mr2562619a12.33.1759297719591;
        Tue, 30 Sep 2025 22:48:39 -0700 (PDT)
Message-ID: <8c99285f-3268-49b5-a7c3-028761f7ada4@suse.com>
Date: Wed, 1 Oct 2025 07:48:38 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 11/12] x86/paravirt: Don't use pv_ops vector for MSR
 access functions
To: kernel test robot <lkp@intel.com>, linux-kernel@vger.kernel.org,
 x86@kernel.org, virtualization@lists.linux.dev
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev, xin@zytor.com,
 Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 "H. Peter Anvin" <hpa@zytor.com>, Ajay Kaher <ajay.kaher@broadcom.com>,
 Alexey Makhalov <alexey.makhalov@broadcom.com>,
 Broadcom internal kernel review list
 <bcm-kernel-feedback-list@broadcom.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, xen-devel@lists.xenproject.org
References: <20250930070356.30695-12-jgross@suse.com>
 <202510010555.InsgYDTd-lkp@intel.com>
Content-Language: en-US
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <202510010555.InsgYDTd-lkp@intel.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------qwD3EhbmEV4miglMzzQiWUdE"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------qwD3EhbmEV4miglMzzQiWUdE
Content-Type: multipart/mixed; boundary="------------cht0KJsh0UXplkShlKz4mmR0";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: kernel test robot <lkp@intel.com>, linux-kernel@vger.kernel.org,
 x86@kernel.org, virtualization@lists.linux.dev
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev, xin@zytor.com,
 Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 "H. Peter Anvin" <hpa@zytor.com>, Ajay Kaher <ajay.kaher@broadcom.com>,
 Alexey Makhalov <alexey.makhalov@broadcom.com>,
 Broadcom internal kernel review list
 <bcm-kernel-feedback-list@broadcom.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, xen-devel@lists.xenproject.org
Message-ID: <8c99285f-3268-49b5-a7c3-028761f7ada4@suse.com>
Subject: Re: [PATCH v2 11/12] x86/paravirt: Don't use pv_ops vector for MSR
 access functions
References: <20250930070356.30695-12-jgross@suse.com>
 <202510010555.InsgYDTd-lkp@intel.com>
In-Reply-To: <202510010555.InsgYDTd-lkp@intel.com>

--------------cht0KJsh0UXplkShlKz4mmR0
Content-Type: multipart/mixed; boundary="------------79lqUm0t09DO937HXCfwgzdf"

--------------79lqUm0t09DO937HXCfwgzdf
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMzAuMDkuMjUgMjM6MjcsIGtlcm5lbCB0ZXN0IHJvYm90IHdyb3RlOg0KPiBIaSBKdWVy
Z2VuLA0KPiANCj4ga2VybmVsIHRlc3Qgcm9ib3Qgbm90aWNlZCB0aGUgZm9sbG93aW5nIGJ1
aWxkIGVycm9yczoNCj4gDQo+IFthdXRvIGJ1aWxkIHRlc3QgRVJST1Igb24gdGlwL3g4Ni9j
b3JlXQ0KPiBbYWxzbyBidWlsZCB0ZXN0IEVSUk9SIG9uIGxpbnVzL21hc3RlciB2Ni4xN10N
Cj4gW2Nhbm5vdCBhcHBseSB0byBrdm0vcXVldWUga3ZtL25leHQgdGlwL21hc3RlciBrdm0v
bGludXgtbmV4dCB0aXAvYXV0by1sYXRlc3QgbmV4dC0yMDI1MDkyOV0NCj4gW0lmIHlvdXIg
cGF0Y2ggaXMgYXBwbGllZCB0byB0aGUgd3JvbmcgZ2l0IHRyZWUsIGtpbmRseSBkcm9wIHVz
IGEgbm90ZS4NCj4gQW5kIHdoZW4gc3VibWl0dGluZyBwYXRjaCwgd2Ugc3VnZ2VzdCB0byB1
c2UgJy0tYmFzZScgYXMgZG9jdW1lbnRlZCBpbg0KPiBodHRwczovL2dpdC1zY20uY29tL2Rv
Y3MvZ2l0LWZvcm1hdC1wYXRjaCNfYmFzZV90cmVlX2luZm9ybWF0aW9uXQ0KPiANCj4gdXJs
OiAgICBodHRwczovL2dpdGh1Yi5jb20vaW50ZWwtbGFiLWxrcC9saW51eC9jb21taXRzL0p1
ZXJnZW4tR3Jvc3MvY29jby10ZHgtUmVuYW1lLU1TUi1hY2Nlc3MtaGVscGVycy8yMDI1MDkz
MC0xNTA3NTMNCj4gYmFzZTogICB0aXAveDg2L2NvcmUNCj4gcGF0Y2ggbGluazogICAgaHR0
cHM6Ly9sb3JlLmtlcm5lbC5vcmcvci8yMDI1MDkzMDA3MDM1Ni4zMDY5NS0xMi1qZ3Jvc3Ml
NDBzdXNlLmNvbQ0KPiBwYXRjaCBzdWJqZWN0OiBbUEFUQ0ggdjIgMTEvMTJdIHg4Ni9wYXJh
dmlydDogRG9uJ3QgdXNlIHB2X29wcyB2ZWN0b3IgZm9yIE1TUiBhY2Nlc3MgZnVuY3Rpb25z
DQo+IGNvbmZpZzogeDg2XzY0LWJ1aWxkb25seS1yYW5kY29uZmlnLTAwMS0yMDI1MTAwMSAo
aHR0cHM6Ly9kb3dubG9hZC4wMS5vcmcvMGRheS1jaS9hcmNoaXZlLzIwMjUxMDAxLzIwMjUx
MDAxMDU1NS5JbnNnWURUZC1sa3BAaW50ZWwuY29tL2NvbmZpZykNCj4gY29tcGlsZXI6IGNs
YW5nIHZlcnNpb24gMjAuMS44IChodHRwczovL2dpdGh1Yi5jb20vbGx2bS9sbHZtLXByb2pl
Y3QgODdmMDIyN2NiNjAxNDdhMjZhMWVlYjRmYjA2ZTNiNTA1ZTljNzI2MSkNCj4gcmVwcm9k
dWNlICh0aGlzIGlzIGEgVz0xIGJ1aWxkKTogKGh0dHBzOi8vZG93bmxvYWQuMDEub3JnLzBk
YXktY2kvYXJjaGl2ZS8yMDI1MTAwMS8yMDI1MTAwMTA1NTUuSW5zZ1lEVGQtbGtwQGludGVs
LmNvbS9yZXByb2R1Y2UpDQo+IA0KPiBJZiB5b3UgZml4IHRoZSBpc3N1ZSBpbiBhIHNlcGFy
YXRlIHBhdGNoL2NvbW1pdCAoaS5lLiBub3QganVzdCBhIG5ldyB2ZXJzaW9uIG9mDQo+IHRo
ZSBzYW1lIHBhdGNoL2NvbW1pdCksIGtpbmRseSBhZGQgZm9sbG93aW5nIHRhZ3MNCj4gfCBS
ZXBvcnRlZC1ieToga2VybmVsIHRlc3Qgcm9ib3QgPGxrcEBpbnRlbC5jb20+DQo+IHwgQ2xv
c2VzOiBodHRwczovL2xvcmUua2VybmVsLm9yZy9vZS1rYnVpbGQtYWxsLzIwMjUxMDAxMDU1
NS5JbnNnWURUZC1sa3BAaW50ZWwuY29tLw0KPiANCj4gQWxsIGVycm9ycyAobmV3IG9uZXMg
cHJlZml4ZWQgYnkgPj4pOg0KPiANCj4gICAgIEluIGZpbGUgaW5jbHVkZWQgZnJvbSBhcmNo
L3g4Ni9rZXJuZWwvYXNtLW9mZnNldHMuYzo5Og0KPiAgICAgSW4gZmlsZSBpbmNsdWRlZCBm
cm9tIGluY2x1ZGUvbGludXgvY3J5cHRvLmg6MTg6DQo+ICAgICBJbiBmaWxlIGluY2x1ZGVk
IGZyb20gaW5jbHVkZS9saW51eC9zbGFiLmg6MTY6DQo+ICAgICBJbiBmaWxlIGluY2x1ZGVk
IGZyb20gaW5jbHVkZS9saW51eC9nZnAuaDo3Og0KPiAgICAgSW4gZmlsZSBpbmNsdWRlZCBm
cm9tIGluY2x1ZGUvbGludXgvbW16b25lLmg6MjI6DQo+ICAgICBJbiBmaWxlIGluY2x1ZGVk
IGZyb20gaW5jbHVkZS9saW51eC9tbV90eXBlcy5oOjE2Og0KPiAgICAgSW4gZmlsZSBpbmNs
dWRlZCBmcm9tIGluY2x1ZGUvbGludXgvdXByb2Jlcy5oOjE4Og0KPiAgICAgSW4gZmlsZSBp
bmNsdWRlZCBmcm9tIGluY2x1ZGUvbGludXgvdGltZXIuaDo2Og0KPiAgICAgSW4gZmlsZSBp
bmNsdWRlZCBmcm9tIGluY2x1ZGUvbGludXgva3RpbWUuaDoyNToNCj4gICAgIEluIGZpbGUg
aW5jbHVkZWQgZnJvbSBpbmNsdWRlL2xpbnV4L2ppZmZpZXMuaDoxMDoNCj4gICAgIEluIGZp
bGUgaW5jbHVkZWQgZnJvbSBpbmNsdWRlL2xpbnV4L3RpbWUuaDo2MDoNCj4gICAgIEluIGZp
bGUgaW5jbHVkZWQgZnJvbSBpbmNsdWRlL2xpbnV4L3RpbWUzMi5oOjEzOg0KPiAgICAgSW4g
ZmlsZSBpbmNsdWRlZCBmcm9tIGluY2x1ZGUvbGludXgvdGltZXguaDo2NzoNCj4gICAgIElu
IGZpbGUgaW5jbHVkZWQgZnJvbSBhcmNoL3g4Ni9pbmNsdWRlL2FzbS90aW1leC5oOjY6DQo+
ICAgICBJbiBmaWxlIGluY2x1ZGVkIGZyb20gYXJjaC94ODYvaW5jbHVkZS9hc20vdHNjLmg6
MTE6DQo+Pj4gYXJjaC94ODYvaW5jbHVkZS9hc20vbXNyLmg6MzI3OjEwOiBmYXRhbCBlcnJv
cjogJ2FzbS94ZW4vbXNyLmgnIGZpbGUgbm90IGZvdW5kDQo+ICAgICAgIDMyNyB8ICNpbmNs
dWRlIDxhc20veGVuL21zci5oPg0KPiAgICAgICAgICAgfCAgICAgICAgICBefn5+fn5+fn5+
fn5+fn4NCj4gICAgIDEgZXJyb3IgZ2VuZXJhdGVkLg0KPiAgICAgbWFrZVszXTogKioqIFtz
Y3JpcHRzL01ha2VmaWxlLmJ1aWxkOjE4MjogYXJjaC94ODYva2VybmVsL2FzbS1vZmZzZXRz
LnNdIEVycm9yIDEgc2h1ZmZsZT0zNDcxNDk1Mjg4DQo+ICAgICBtYWtlWzNdOiBUYXJnZXQg
J3ByZXBhcmUnIG5vdCByZW1hZGUgYmVjYXVzZSBvZiBlcnJvcnMuDQo+ICAgICBtYWtlWzJd
OiAqKiogW01ha2VmaWxlOjEyODI6IHByZXBhcmUwXSBFcnJvciAyIHNodWZmbGU9MzQ3MTQ5
NTI4OA0KPiAgICAgbWFrZVsyXTogVGFyZ2V0ICdwcmVwYXJlJyBub3QgcmVtYWRlIGJlY2F1
c2Ugb2YgZXJyb3JzLg0KPiAgICAgbWFrZVsxXTogKioqIFtNYWtlZmlsZToyNDg6IF9fc3Vi
LW1ha2VdIEVycm9yIDIgc2h1ZmZsZT0zNDcxNDk1Mjg4DQo+ICAgICBtYWtlWzFdOiBUYXJn
ZXQgJ3ByZXBhcmUnIG5vdCByZW1hZGUgYmVjYXVzZSBvZiBlcnJvcnMuDQo+ICAgICBtYWtl
OiAqKiogW01ha2VmaWxlOjI0ODogX19zdWItbWFrZV0gRXJyb3IgMiBzaHVmZmxlPTM0NzE0
OTUyODgNCj4gICAgIG1ha2U6IFRhcmdldCAncHJlcGFyZScgbm90IHJlbWFkZSBiZWNhdXNl
IG9mIGVycm9ycy4NCj4gDQo+IA0KPiB2aW0gKzMyNyBhcmNoL3g4Ni9pbmNsdWRlL2FzbS9t
c3IuaA0KPiANCj4gICAgIDMyNQkNCj4gICAgIDMyNgkjaWZkZWYgQ09ORklHX1hFTl9QVg0K
PiAgID4gMzI3CSNpbmNsdWRlIDxhc20veGVuL21zci5oPg0KPiAgICAgMzI4CQ0KPiANCg0K
VWgsIEkgZm9yZ290IHRvICJnaXQgYWRkIiB0aGF0IG5ldyBoZWFkZXIgZmlsZS4gV2lsbCBi
ZSBjb3JyZWN0ZWQgaW4gVjMuDQoNCg0KSnVlcmdlbg0K
--------------79lqUm0t09DO937HXCfwgzdf
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------79lqUm0t09DO937HXCfwgzdf--

--------------cht0KJsh0UXplkShlKz4mmR0--

--------------qwD3EhbmEV4miglMzzQiWUdE
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmjcwLYFAwAAAAAACgkQsN6d1ii/Ey+V
zggAiGGv9dwzqk1bPEe3rdx0CuLqy6A6t7w9ay8FUfx76po9ul5QWLGJwMiu0wGNg6lT52S5oZ5q
YOzgmDy9UGCWfIdcR4sMAtXjoVxlmN/4l5j50CzQub9rB50qIIqq9gw9Yipg6iLoC2w/8IPV2GXt
rN7k4l5+XJIk+s6WiWwROlNh34CY5kinTjn7DHZrVx43UlXrXt66zHORYdFCDgLb2Yxmz3DALkvS
kgAwGheqtlr52QLY0jKN3JndClF0Kp4jpkVigwRvWJW49tHBOpnbCIbrO2f/GxYwN359WXw7Q/tD
SLJOWOjd9gXXHQHOAnkWnNyTo+/lPVcO6JYWYqP/XA==
=4wxD
-----END PGP SIGNATURE-----

--------------qwD3EhbmEV4miglMzzQiWUdE--


From xen-devel-bounces@lists.xenproject.org Wed Oct 01 06:46:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Oct 2025 06:46:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1134646.1472373 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v3qb7-0003GY-94; Wed, 01 Oct 2025 06:45:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1134646.1472373; Wed, 01 Oct 2025 06:45:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v3qb7-0003GR-5E; Wed, 01 Oct 2025 06:45:57 +0000
Received: by outflank-mailman (input) for mailman id 1134646;
 Wed, 01 Oct 2025 06:45:56 +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
 <SRS0=QSmv=4K=infradead.org=peterz@srs-se1.protection.inumbo.net>)
 id 1v3qb5-0003G2-DF
 for xen-devel@lists.xenproject.org; Wed, 01 Oct 2025 06:45:55 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 463c9d4e-9e92-11f0-9d14-b5c5bf9af7f9;
 Wed, 01 Oct 2025 08:45:54 +0200 (CEST)
Received: from 77-249-17-252.cable.dynamic.v4.ziggo.nl ([77.249.17.252]
 helo=noisy.programming.kicks-ass.net)
 by casper.infradead.org with esmtpsa (Exim 4.98.2 #2 (Red Hat Linux))
 id 1v3qat-00000008K4b-0YaL; Wed, 01 Oct 2025 06:45:44 +0000
Received: by noisy.programming.kicks-ass.net (Postfix, from userid 1000)
 id 552DC300212; Wed, 01 Oct 2025 08:45:43 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 463c9d4e-9e92-11f0-9d14-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version:
	References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=QjlhTp+r7CWvr2hwonpt0lAiAd5bdRhkMYmYsK0uFOs=; b=RJ+2xvWrMWoKdKQyz+zpdd5gfJ
	YhYsbT3i08QHxLvo48Rr7myLVjUOOcBD0uqkDLR8AAvzaG5juY/1D7D752Eyw8kA/N8kopAu3n5CR
	ujm3jRymFuWLt33m+r7DxTLCq58ekiTe2UIxiI7y2W1SaHQD9ZuQEMFf9aHwfFDXc47s2BLcC5nma
	pfLAVKbtc2Qfsh9BIh1e5F+mgm9+o+c833EZEsxQ1DjCeFJdqus4Hqx9Ds+q53OB95vT0OKpbQLM6
	wHa/o0EWQB721aW+vrNB4Ge/7KkrVae9TNO4Q+xzCFTEUygqtIEWUkL0+Bt39q8GIPfyqrViFxvE4
	5br3cvjg==;
Date: Wed, 1 Oct 2025 08:45:43 +0200
From: Peter Zijlstra <peterz@infradead.org>
To: "H. Peter Anvin" <hpa@zytor.com>
Cc: =?iso-8859-1?Q?J=FCrgen_Gro=DF?= <jgross@suse.com>,
	linux-kernel@vger.kernel.org, x86@kernel.org,
	virtualization@lists.linux.dev, xin@zytor.com,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	Ajay Kaher <ajay.kaher@broadcom.com>,
	Alexey Makhalov <alexey.makhalov@broadcom.com>,
	Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v2 11/12] x86/paravirt: Don't use pv_ops vector for MSR
 access functions
Message-ID: <20251001064543.GM4067720@noisy.programming.kicks-ass.net>
References: <20250930070356.30695-1-jgross@suse.com>
 <20250930070356.30695-12-jgross@suse.com>
 <20250930083827.GI3245006@noisy.programming.kicks-ass.net>
 <1541b670-8b29-42a5-a58d-34d85197751d@suse.com>
 <20250930100404.GK4067720@noisy.programming.kicks-ass.net>
 <fefbd1ee-ab8c-465e-89bf-39cd2601fc60@suse.com>
 <d2c68cbe-2e92-4801-b1a3-af4645e9ba78@zytor.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <d2c68cbe-2e92-4801-b1a3-af4645e9ba78@zytor.com>

On Tue, Sep 30, 2025 at 12:49:21PM -0700, H. Peter Anvin wrote:

> /* Xen code, stub sets CF = 1 on failure */
> 
>    0:   e8 xx xx xx xx          call   asm_xen_pv_wrmsr
>    5:   73 03                   jnc    0xa
>    7:   0f 0b                   ud2
>    9:   90                      nop
>    a:
> 
> The trap point even ends up in the same place! UD2 can be any 1-, 2-, or
> 3-byte trapping instruction.

Please don't rely on flags to be retained by RET. The various
mitigations have trouble with that.


From xen-devel-bounces@lists.xenproject.org Wed Oct 01 07:52:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Oct 2025 07:52:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1134685.1472384 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v3rdG-00031N-VL; Wed, 01 Oct 2025 07:52:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1134685.1472384; Wed, 01 Oct 2025 07:52:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v3rdG-00031G-SC; Wed, 01 Oct 2025 07:52:14 +0000
Received: by outflank-mailman (input) for mailman id 1134685;
 Wed, 01 Oct 2025 07:52:13 +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
 <SRS0=OOib=4K=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1v3rdF-000319-PP
 for xen-devel@lists.xenproject.org; Wed, 01 Oct 2025 07:52:13 +0000
Received: from BYAPR05CU005.outbound.protection.outlook.com
 (mail-westusazlp170100001.outbound.protection.outlook.com
 [2a01:111:f403:c000::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 86a3c2fc-9e9b-11f0-9809-7dc792cee155;
 Wed, 01 Oct 2025 09:52:08 +0200 (CEST)
Received: from SJ0PR03CA0208.namprd03.prod.outlook.com (2603:10b6:a03:2ef::33)
 by DS0PR12MB8071.namprd12.prod.outlook.com (2603:10b6:8:df::5) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9160.18; Wed, 1 Oct 2025 07:52:00 +0000
Received: from SJ1PEPF00002323.namprd03.prod.outlook.com
 (2603:10b6:a03:2ef:cafe::b6) by SJ0PR03CA0208.outlook.office365.com
 (2603:10b6:a03:2ef::33) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9137.22 via Frontend Transport; Wed,
 1 Oct 2025 07:51:59 +0000
Received: from satlexmb08.amd.com (165.204.84.17) by
 SJ1PEPF00002323.mail.protection.outlook.com (10.167.242.85) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9182.15 via Frontend Transport; Wed, 1 Oct 2025 07:51:59 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.2.2562.17; Wed, 1 Oct
 2025 00:51:58 -0700
Received: from satlexmb08.amd.com (10.181.42.217) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 1 Oct
 2025 02:51:58 -0500
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 satlexmb08.amd.com (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.17
 via Frontend Transport; Wed, 1 Oct 2025 00:51:57 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 86a3c2fc-9e9b-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=LS8VmzDN28QTR7qllANhkE4QUyw4aL8FrHeiPe38nmspnKDuyV9DrL4sWdz86LX7lFLuAbn3pfxxiT1+2fZ/LUmfksggeYG69+5IKTqplbHl4yMYS/FGLuFc59l0RtuHPV+MUCVeqpjs5mAZ7/hCV+teRDsGP8aI5M2gcYsEyA+FIApq5UYqy2BxpAYYp4RTYL1pN2xEpjgN08NZsP9QTujy2AO+4wLolBes4zt2PfztKmvPLugJEh1Rd8f/jS8MGUl1/e6bmukEmGyDcxrLUG5KkpfsCRGUqfq1gEEYm4gkwstwLow+wKdYhupRNULw66FVmP4YtCtfvgipMOemLQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Roo3UpLpWdSUS8iJHQLCgeVurPp/+knn0D/sGXiFGd4=;
 b=UUAVRNIcafGdIIQKzDo0GMeN6FuOhm89f2AIKj62r7jcN5nr6Mk1gC+XeVw2uQp1/a94z+o4cey4EiPciOaA3CuF51wNJbh3fJzLEwtF9xYcz44wlezC+ZFaF9NWdeqSGvUnCVssUCKZCaYG70yasw9VCAVLuro0FkHWtreN6OIt3LtGaQSDt9Owq9qeb/vcoAJFGdTWmAXR5YS17GGQHBLdXdRYqhvuIlIOXwFvZ8RBt1JxecRdQ9/5ZA+YDr/Fsgvpa7gYRMcbBAlcV4EPQVTmpEgHZqDMe1f/zAeaS/+cbCho5cxP8gnBHx8aQzGTpSQXgsG8zYt6nGhmhvNpPg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Roo3UpLpWdSUS8iJHQLCgeVurPp/+knn0D/sGXiFGd4=;
 b=HxQaNtTxAI/EZn64HN9eU/Qf8iM2zgOyW5xiFZ69Md4Wh/O0aESMx2aoIQ8jMb1u9cTscojll61cTjwKCDxb9sEw4bEfwN97zJUUCks+SsHeL8kmSGiAyHicLvH+54b9qRSLXDUtcSqfKzxUSY7aE25H/P1I3mATYhVYNXCmvl4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C
From: Michal Orzel <michal.orzel@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.com>, Anthony PERARD
	<anthony.perard@vates.tech>
Subject: [PATCH] tools: init-dom0less: Replace err() with more informative messages
Date: Wed, 1 Oct 2025 09:51:49 +0200
Message-ID: <20251001075149.31545-1-michal.orzel@amd.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB04.amd.com: michal.orzel@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ1PEPF00002323:EE_|DS0PR12MB8071:EE_
X-MS-Office365-Filtering-Correlation-Id: 4ac2c2bc-02a0-4259-072d-08de00bf66b6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|376014|36860700013|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?2Da8bOLrK0fLmYl9oUgLY3/7CTj95dy40r7v8Ml9hTQwPzV5qqWoTMNdrimQ?=
 =?us-ascii?Q?MskxvBriCGtKwdysrRetLNOHqrK0JkBTHC8mya4mhxVXvRek1PHRPyo+b4ps?=
 =?us-ascii?Q?22C4aud/Ioz33q95ux/hu1LqWlFuMy+TMCv5ZNYpDlsHCDyjSxf0QyidibOm?=
 =?us-ascii?Q?0ykVWCrUtusEeNT3vCy4NSamXtOSkt7saHv79TVuracWSeJkCa8rAV871Hz5?=
 =?us-ascii?Q?+B9WqjM40EIqly012GRGybG+Dhc6/drC6Sn1Jvy0kLqHrmfY6o16euy+vApV?=
 =?us-ascii?Q?hok6qFeu8Y9ZU1DofVfLnDaR11DbJIQY+9zMsJ/PK2Sh7d05cWA3QoOSVQRS?=
 =?us-ascii?Q?1TTtC3CAEhS0EP5WHXwQndZ/0OMvI16QUV1ImT8WxGFu6vMBf14ejZsRwsSE?=
 =?us-ascii?Q?1S8I4W5Qgi16PEUy4T87F6/YqjqhnbKDhkcL0hDnKr50+P5q2Mww9Qt5QBy0?=
 =?us-ascii?Q?H4HUQ1dO8iIldXPlYbnNJ9eJOUFPV/xYAwSpoXwUs03eueoX6eYdt7XWSxIm?=
 =?us-ascii?Q?HiIR6bIQpj+YQEra9yGfjo/5cesBS3OuKIqOdA9LUpkeGlu6fDv1vnqrpUih?=
 =?us-ascii?Q?sNJR3BJY+M454rGb/cqLlI4901Qj8rlWiX4d0NRI8b0LsNc8JMb8P3J1yukq?=
 =?us-ascii?Q?c6Sz1GHdjtRM4+F31MCgVX9lbmMx0UGITS/aGRkiyqfP/xSECuJOJNwC9jQl?=
 =?us-ascii?Q?5D9TXOvhYvEqbQ64FewFcNjnLiu6Mr0lc/fdNH3cWEQcA9zEgJJ5vbDsn9k1?=
 =?us-ascii?Q?IE+fc3oBotxYR/fw7M9VtushgZPvh0WBTAgRNZdrOU5RXPDpsIubL5AcWRCC?=
 =?us-ascii?Q?WOPyfjsX6H3MRIyD1mSDpWxCuLINIAL2S/80SSIocDBxxMddUIyZ4shJRBoo?=
 =?us-ascii?Q?/hwFG3KFXAVMek+APrCKMIqduPjSWWexdbKFSc+H8bjq06AYrzzHlB+bUQ1/?=
 =?us-ascii?Q?HMUkNGqpIfr4PPC2LRXDnME+EoB5WPFJeD4ErCf3vOzHb7hsVkF00T+tcFCC?=
 =?us-ascii?Q?xxJWiJW7P2+Mb5pu1xqbSDqvGnO/utj2+e034TSqQbiNZ2pub0WpOKfmcvmi?=
 =?us-ascii?Q?PsBf332Ghyjsj4T8B6GDEeDim1DoO+0kYA/AyKG2yedIIkxWFofhASv0R3jU?=
 =?us-ascii?Q?RGGv2NvKCcvncYkPCKPKcHTWPaF04xr4ITTlu3db3HX5f4NLIkrfvKbm/+YM?=
 =?us-ascii?Q?xM2J4CpyonweTFc0FzDWbvGrWFH0axbcc93EwmTW1iMM3zLg1diy6yJ1uWze?=
 =?us-ascii?Q?sZY8LXCi+HUbz9liAEzlGmmObziB8zHBDPovOJPIz9717GA/5nfK8sCmyMFP?=
 =?us-ascii?Q?Af0F69JBfQ0T5NEaeUPMnaMQo8CsZXozC68XSrVu6tdxZjXrgGayOhOz0Iec?=
 =?us-ascii?Q?cATd6GcDI4h9zv+kWac7hTq7D1tKFFeymQgCGVsOEztwy9la43tGQHGouFPh?=
 =?us-ascii?Q?fZLuDBWXwqbacGADxEFgCYJv7V7rNaA7tB5e/dWc3wwlzxvwbs34HOVkv4t2?=
 =?us-ascii?Q?W2KHOOmuylCzFF0QNfISeuJN4jTxntGITUBy+XyxdfTwcJ7UlM/tw+CRU2bb?=
 =?us-ascii?Q?CSWYN3jg3u2gmCu8lR8=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(376014)(36860700013)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Oct 2025 07:51:59.3794
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4ac2c2bc-02a0-4259-072d-08de00bf66b6
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ1PEPF00002323.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB8071

Current use of err() has the following issues:
- without setting errno, on error it results in printing e.g.:
 "init-dom0less: writing to xenstore: Success"
 This is very misleading and difficult to deduct that there was a
 failure.
- does not propagate error codes to the caller.
- skips "init_domain failed" message by exiting early.

Replace err() with more informative messages propagating rc when
possible.

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
 tools/helpers/init-dom0less.c | 25 +++++++++++++++++--------
 1 file changed, 17 insertions(+), 8 deletions(-)

diff --git a/tools/helpers/init-dom0less.c b/tools/helpers/init-dom0less.c
index a182dce56353..3dd2d74886eb 100644
--- a/tools/helpers/init-dom0less.c
+++ b/tools/helpers/init-dom0less.c
@@ -288,24 +288,33 @@ static int init_domain(struct xs_handle *xsh,
 
         rc = xc_dom_gnttab_seed(xch, info->domid, true,
                                 (xen_pfn_t)-1, xenstore_pfn, 0, 0);
-        if (rc)
-               err(1, "xc_dom_gnttab_seed");
+        if (rc) {
+            printf("Failed to seed gnttab entries\n");
+            return rc;
+        }
     }
 
     libxl_uuid_generate(&uuid);
     xc_domain_sethandle(xch, info->domid, libxl_uuid_bytearray(&uuid));
 
     rc = gen_stub_json_config(info->domid, &uuid);
-    if (rc)
-        err(1, "gen_stub_json_config");
+    if (rc) {
+        printf("Failed to create stub json config\n");
+        return rc;
+    }
 
     rc = create_xenstore(xsh, info, uuid, xenstore_pfn, xenstore_evtchn);
-    if (rc)
-        err(1, "writing to xenstore");
+    if (rc) {
+        printf("Failed to write to xenstore\n");
+        return rc;
+    }
 
     rc = xs_introduce_domain(xsh, info->domid, xenstore_pfn, xenstore_evtchn);
-    if (!rc)
-        err(1, "xs_introduce_domain");
+    if (!rc) {
+        printf("Failed to introduce a domain\n");
+        return 1;
+    }
+
     return 0;
 }
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 01 10:09:32 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Oct 2025 10:09:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1134769.1472394 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v3tlw-0001hT-IA; Wed, 01 Oct 2025 10:09:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1134769.1472394; Wed, 01 Oct 2025 10:09:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v3tlw-0001hM-EM; Wed, 01 Oct 2025 10:09:20 +0000
Received: by outflank-mailman (input) for mailman id 1134769;
 Wed, 01 Oct 2025 10:09:18 +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
 <SRS0=zY0S=4K=amd.com=Alejandro.GarciaVallejo@srs-se1.protection.inumbo.net>)
 id 1v3tlu-0001hB-A1
 for xen-devel@lists.xenproject.org; Wed, 01 Oct 2025 10:09:18 +0000
Received: from CH4PR04CU002.outbound.protection.outlook.com
 (mail-northcentralusazlp170130007.outbound.protection.outlook.com
 [2a01:111:f403:c105::7])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id af8f90a5-9eae-11f0-9d14-b5c5bf9af7f9;
 Wed, 01 Oct 2025 12:09:16 +0200 (CEST)
Received: from BYAPR07CA0087.namprd07.prod.outlook.com (2603:10b6:a03:12b::28)
 by DS0PR12MB8319.namprd12.prod.outlook.com (2603:10b6:8:f7::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9160.18; Wed, 1 Oct
 2025 10:09:11 +0000
Received: from SJ5PEPF00000208.namprd05.prod.outlook.com
 (2603:10b6:a03:12b:cafe::2) by BYAPR07CA0087.outlook.office365.com
 (2603:10b6:a03:12b::28) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9182.14 via Frontend Transport; Wed,
 1 Oct 2025 10:09:11 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 SJ5PEPF00000208.mail.protection.outlook.com (10.167.244.41) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9182.15 via Frontend Transport; Wed, 1 Oct 2025 10:09:10 +0000
Received: from localhost (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Wed, 1 Oct
 2025 03:09:09 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: af8f90a5-9eae-11f0-9d14-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=CWflHQoR24FK2esoB9j1zOyNh5PO/6H3SjXqpW4bMnIGTWo7v6D9GT33KakObeI1opAO9U3ZNwk87bGUevURZ3n9JLZS90l3e7g1f7nonzZTvw0+HKHmVMwpS68EJGQGnvsu0aOkUWWb25+ZfesBHYFFCnIc8xsf0plX9tXb25IQjYjzLgSzebB0wDU/1Vl3x1Fc4QSRpK2k3pcCavR/dCxNWUoJ66eyTIq20Ri/Mecj1JXUYRntG4lE9cZfWl2jnjruKl6SyAmlmDSeEjIcVKEki+wVenxsj7Sq66Om/HLPm3SpCS5eIl7ygjg5mOa/2n8mMmQ2UGNCaAuFW092bg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=eVeAwhESu7sky54dBkKmIFypERR2RQyJxNZQKPljmKg=;
 b=Q7mm7YdclAXU6lyDdAxi1thW4PUUEyPNCJFLvGi1gi0Xrirk9MI5+MsQ/yMNVCDXKTlj3PJ4WfG3aK9EqKlKv76RoPaWMwdOV560tCZ+W99zv5m9WVVRPVaQa5bXTziMFrDgm05d0u+gL3LqPnXgsKcHYxf3wjQVfMqmtGFD4d1lNcDSBSSznr7GV+4+AvnFDuIh9yVwDy2oFewPrkCDtORcN8A+M9yc8RFY9nGt7NKa2jOUBuEsdmZTgCweLQO0zaesnonbuZCjk9AOol6unUnEQuWK73A3YEyKC+w7sSV2RUry2/sAwzNrCttTlN+sdwYD5QQd7VmtTZ/Neq+Tsg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=eVeAwhESu7sky54dBkKmIFypERR2RQyJxNZQKPljmKg=;
 b=nVmn/dj04QBNtullNFhYo9htlatptgXSje75R6it4vqyV+u2p6RLxBn5uFmK6bOg5rhvUGFn9o+nrLmlX7Ntgcy/OA3GotskdQ04oGKQXQpk3aGWBeJt2qOxyH3g9IGRbe5iIDywC/S9kixBMJ2w2ECjd/zp7k0g+4UaCNF6zHo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="UTF-8"
Date: Wed, 1 Oct 2025 12:09:07 +0200
Message-ID: <DD6WJ6AVBQRV.154QDILMV3EW2@amd.com>
To: Michal Orzel <michal.orzel@amd.com>, <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@vates.tech>, Xen-devel
	<xen-devel-bounces@lists.xenproject.org>
Subject: Re: [PATCH] tools: init-dom0less: Replace err() with more
 informative messages
From: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
X-Mailer: aerc 0.20.1
References: <20251001075149.31545-1-michal.orzel@amd.com>
In-Reply-To: <20251001075149.31545-1-michal.orzel@amd.com>
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ5PEPF00000208:EE_|DS0PR12MB8319:EE_
X-MS-Office365-Filtering-Correlation-Id: 23159db9-4b55-42db-9462-08de00d290dc
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|1800799024|36860700013|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?K3Bpck85UFFzQU5RYjVaT1BERVNWQ2MrZjFYMDBEVTRNc0NkTHpaNmpiUTF0?=
 =?utf-8?B?TllxTXhTRFVvK2M3QVU3OUNqZ1pZSlRubzhKMVBOWTd2aXRVQzdPcERSdFNQ?=
 =?utf-8?B?MkhWa1QyM3JDYXc4R2hBcDhqc1FkVjhsYzUzanNXTnM3U2I4ZWFJWGNuaDdW?=
 =?utf-8?B?TUc5UVlONGcyRGtwRkc2WFhYaFdNZmwwbi9DTmt3b3ZCSlZCZ2wvMkFWR1VH?=
 =?utf-8?B?MUVLeS9pdXJJb3g5R01CeENyTVRnK2dDVStmZVd5N3ZBd3pScTI1eGtzL2Ur?=
 =?utf-8?B?d1RQUGFRVnl6QTlxRXQ4RHZmRDQvSG1MU0RiTndFRUN5QUlQeDBIdGQ5cElv?=
 =?utf-8?B?R28rcU8ydlRuOC9mR0tRd2hBZFpuMHZaUG11amNZOHlCeDdoK3gxY0xEbU5C?=
 =?utf-8?B?clFHMjFPYWlsWUlWZjJWVUdON1hSeEUxRHBoVndSZkl3aXVtSzRNYk11TU9O?=
 =?utf-8?B?MzN5RWZkQkMwM2FWWGVFQlBsQWx2bFlJTS9xTmVNM3VySXBsNlRRTFJyTnE4?=
 =?utf-8?B?cDkvbyt0UklpUmc5K0RFRElwYnJiV3dMOHRFSG9sTGNsZkU0Z05zYWIreEsy?=
 =?utf-8?B?eGMzdlMxYlJrQVJGK1JxLzd0UFNyeEUycmlZcnhrWEt6dXhLTFpGSTlhNW1w?=
 =?utf-8?B?NGRQQ3d5cit4UHM4YTV0ajdDbm01Sm5vTUVra2VvdFdneVNaa2ZYU0lQSlVu?=
 =?utf-8?B?aHlZTGZ3QVY0SnVmTFYvaUp4bktYVkxGQlg5VmVWRnU1cmFORlQ4SGVURU05?=
 =?utf-8?B?ZGsrVXRLVlREdkZ6TU9JREZpbTVYQ3ora2E5dk54MFlteS8rc004cFFKSHBt?=
 =?utf-8?B?c092NExGL3R1blBrdVVaNTdwcENVcENUakgzN1ZRN1JrKzRpRW0xMEx3Nkd2?=
 =?utf-8?B?SlhCVzN0aHFoUTRmNUxXZG1GVUFjbXUyLzBWQit2eEN4R0NhS1FRS2RkYTIz?=
 =?utf-8?B?RFBiVUswUTVUQkxQdE80YUVIL09XK2lwT211Z25sczdETDY0TGZQVWR5WTMz?=
 =?utf-8?B?WkRuUDgyVWREdmVyblFUcDNSMmNaOVc0UmpsdHkrdVY5US82VG55c0dBRkdV?=
 =?utf-8?B?SXdvZWxmUDdaYVBIblBzOWx6dDlkclNpNkFzaXFOZllqeGZBVzRHaTU4YnZP?=
 =?utf-8?B?N2JUVnBNSnlLU1F0T1I0aVhDOUxIN3dYTjB6K2t0NSt3ZjkxNjl3dTZhbWY2?=
 =?utf-8?B?L0RWL041YlhvUnI3MkcwZWkzSWVVVVBLNWppQ0sxWWRMVkhBREJoU2VZb1ZG?=
 =?utf-8?B?U0hGUnNEZTFrVDM2VWFvVlp0d1pDYlNlSmdVYkVFTXYzRm9IcVEvVFpLVG1B?=
 =?utf-8?B?Zmx5eGNyQXhCUisxaGFIVkV6eHBpNzBzQi9jSFFscTFubWNXTGZOSVhvQUNQ?=
 =?utf-8?B?djh5My92V0NNV1JGVG1LZDNHbzh2QmRwVE9NdHlXakdkTkVVZTRNM1QwNFVV?=
 =?utf-8?B?b1J3OFM5T2FqcW5KYUtzQlM4elYxOVZUWUxoUk81bFN2NkxPZ093d2V0MmR1?=
 =?utf-8?B?ekRZUkhjRkEwYUc5Q2hsYUlYNVkwSGpDVkQ4ZDJ0VC9mY2FORzJNN0YwS2ZW?=
 =?utf-8?B?cUhna1dYWEtpSWVqRVpKM2RPcHNrdTVYb29BMDVQYStpQ1pmeEJiWFdWRzg4?=
 =?utf-8?B?bWhxbE9uL21BQWJsVlJwTmdMN2VhcEVoaUxIZnAwU0Vsa3BweTVZSDBMV1Yy?=
 =?utf-8?B?S2dSQXo4bVBPU0dwdHJMeEtnMFdOZHJwYTNjRzc0V3lHVTNLNzRTRTVwdjNi?=
 =?utf-8?B?b3BmRU56SHF4MGNYY2dGTUFESDVYYkNjS3pETkp4Y1hOQUd1dFFweW1YUDg5?=
 =?utf-8?B?ZmdKekFvWGhxTHByR3A1UEEyTmhYTjRwUnpYRllvUXBsc3FUVGpxSURCcHV3?=
 =?utf-8?B?QjArcDV1VG9scGhpZ3RIMHB5RjdUaTNVek1OVndxcWpKRWg2TEZ6Tzl6bjMr?=
 =?utf-8?B?M1RnRDhncWxTY0RGZzlWK2FzZlBUNitzVXNTbzFhbXJKdkdYNnIxaGFINzh1?=
 =?utf-8?B?cXRpckxMRkhBMVgyNy9RWkFYejVpZnJlUjJqUHdtamczUExGaHdGaDJCSHov?=
 =?utf-8?B?VFIwd0ZDOXpTcnh2YS9qM1VLWTNOR2Rqalp6cSs5Wlo2bTVhRXd2MnBNMENL?=
 =?utf-8?Q?l+8Y=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(1800799024)(36860700013)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Oct 2025 10:09:10.5365
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 23159db9-4b55-42db-9462-08de00d290dc
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ5PEPF00000208.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB8319

On Wed Oct 1, 2025 at 9:51 AM CEST, Michal Orzel wrote:
> Current use of err() has the following issues:
> - without setting errno, on error it results in printing e.g.:
>  "init-dom0less: writing to xenstore: Success"
>  This is very misleading and difficult to deduct that there was a
>  failure.
> - does not propagate error codes to the caller.
> - skips "init_domain failed" message by exiting early.
>
> Replace err() with more informative messages propagating rc when
> possible.

Sounds good to me. Only suggestion I'd make is to also print relevant argum=
ents
where needed, like...

>
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
> ---
>  tools/helpers/init-dom0less.c | 25 +++++++++++++++++--------
>  1 file changed, 17 insertions(+), 8 deletions(-)
>
> diff --git a/tools/helpers/init-dom0less.c b/tools/helpers/init-dom0less.=
c
> index a182dce56353..3dd2d74886eb 100644
> --- a/tools/helpers/init-dom0less.c
> +++ b/tools/helpers/init-dom0less.c
> @@ -288,24 +288,33 @@ static int init_domain(struct xs_handle *xsh,
> =20
>          rc =3D xc_dom_gnttab_seed(xch, info->domid, true,
>                                  (xen_pfn_t)-1, xenstore_pfn, 0, 0);
> -        if (rc)
> -               err(1, "xc_dom_gnttab_seed");
> +        if (rc) {
> +            printf("Failed to seed gnttab entries\n");

... also printing the domid and the xenstore pfn here. Or...

> +            return rc;
> +        }
>      }
> =20
>      libxl_uuid_generate(&uuid);
>      xc_domain_sethandle(xch, info->domid, libxl_uuid_bytearray(&uuid));
> =20
>      rc =3D gen_stub_json_config(info->domid, &uuid);
> -    if (rc)
> -        err(1, "gen_stub_json_config");
> +    if (rc) {
> +        printf("Failed to create stub json config\n");

... the domid and uuid here.

Similar suggestions for the other printfs.

> +        return rc;
> +    }
> =20
>      rc =3D create_xenstore(xsh, info, uuid, xenstore_pfn, xenstore_evtch=
n);
> -    if (rc)
> -        err(1, "writing to xenstore");
> +    if (rc) {
> +        printf("Failed to write to xenstore\n");
> +        return rc;
> +    }
> =20
>      rc =3D xs_introduce_domain(xsh, info->domid, xenstore_pfn, xenstore_=
evtchn);
> -    if (!rc)
> -        err(1, "xs_introduce_domain");
> +    if (!rc) {
> +        printf("Failed to introduce a domain\n");
> +        return 1;

nit: Maybe -EBUSY so it's -errno like the others?

> +    }
> +
>      return 0;
>  }
> =20

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Wed Oct 01 11:24:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Oct 2025 11:24:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1134792.1472403 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v3uwm-0002pa-QN; Wed, 01 Oct 2025 11:24:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1134792.1472403; Wed, 01 Oct 2025 11:24:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v3uwm-0002pT-Nk; Wed, 01 Oct 2025 11:24:36 +0000
Received: by outflank-mailman (input) for mailman id 1134792;
 Wed, 01 Oct 2025 11:24: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
 <SRS0=OOib=4K=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1v3uwl-0002pI-S2
 for xen-devel@lists.xenproject.org; Wed, 01 Oct 2025 11:24:35 +0000
Received: from BYAPR05CU005.outbound.protection.outlook.com
 (mail-westusazlp170100001.outbound.protection.outlook.com
 [2a01:111:f403:c000::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 312a6cb6-9eb9-11f0-9809-7dc792cee155;
 Wed, 01 Oct 2025 13:24:29 +0200 (CEST)
Received: from BLAP220CA0018.NAMP220.PROD.OUTLOOK.COM (2603:10b6:208:32c::23)
 by CH3PR12MB9195.namprd12.prod.outlook.com (2603:10b6:610:1a3::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9160.18; Wed, 1 Oct
 2025 11:24:23 +0000
Received: from BN3PEPF0000B36D.namprd21.prod.outlook.com
 (2603:10b6:208:32c:cafe::19) by BLAP220CA0018.outlook.office365.com
 (2603:10b6:208:32c::23) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9160.17 via Frontend Transport; Wed,
 1 Oct 2025 11:24:23 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 BN3PEPF0000B36D.mail.protection.outlook.com (10.167.243.164) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9203.1 via Frontend Transport; Wed, 1 Oct 2025 11:24:22 +0000
Received: from satlexmb10.amd.com (10.181.42.219) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Wed, 1 Oct
 2025 04:24:22 -0700
Received: from satlexmb08.amd.com (10.181.42.217) by satlexmb10.amd.com
 (10.181.42.219) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Wed, 1 Oct
 2025 04:24:22 -0700
Received: from [10.252.147.171] (10.180.168.240) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.17 via Frontend
 Transport; Wed, 1 Oct 2025 04:24:21 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 312a6cb6-9eb9-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=N1ikkegCF/wWjmfChu03JbGMCC9Oa4GNkD7A5lHk8Q+Uc/BB3BpCNF3N5+uzVHZUXVXT7mBNsbFcY0DJMqitIe2s6bF7Eonr2IK+hav7zS3OZi9CmXhGj/Kn9KQ6PG72mFf4MIH2UxXeFPQtUluAkTyLh8SZ5iWhrKuqTLS6RVsvS7cCu5idEeI9p3b90g2rAPB+3fAWNeO6ydRJEX6SHt+ijHT38zepD5WmjB7F62us3K23LBEPTg1Pan0EZF8xENUvjmk5zmPOp9c10rJqdrEMZKW4Rb4yNC+4Cnikps6mT0NJpdzMe9sg0PbURd7cuDKIsOqK7M/8BPD2o+ZlGQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=K76MlRObKdsbphfoXgvpDhn2rRXsy3ANcImePM5vvGA=;
 b=RcJ19/CqzAHVnweganYZzTM92fHg69Q/9lRq0zMYeqipzx4LrX5lbwDqm1fwtfq6f7uhzCO/qCVdwSvFxLtexrw0EfFF/yMk5dZxmiK7Bg+D07ZVceDPkDPykKzQ3h7w5SUvoaS1n1ULgKbQqBNZxqhpDg1NEwMn4BdyZgKv8+YwAhHTZb4hzuQVT/h61NrRLSmiDvTWm0QeJuVeMw3x4X9LaLUraDvCIvP8ydD/gb025i7qS0xwcqu2E441SabDZd57vBxGO7Io4e4stKLvm/pYLY/cRGGP6aaPVrV/+20aB4abqUspMbIvb3RhZOuBffQGXIQtvaGyJMB5v5L6eQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=K76MlRObKdsbphfoXgvpDhn2rRXsy3ANcImePM5vvGA=;
 b=g4Z4muNxRTjjMZ2aDh/FEf3ipU7XLh278r7ydjrrMYzLotcgWFpr9robTIqcZSaFXm7TEolhDuKuH/utml+4hkVm+RF/FW0NT+5bDZWTPfPSr9eDQckTkNax4U20dyjb9b6kIWSmxih47azrN+4mGfRjt8Igb6Rq9Tvet+oxOO8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
Message-ID: <a54d9baf-839c-43a6-836b-4ea9decd172d@amd.com>
Date: Wed, 1 Oct 2025 13:24:20 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] tools: init-dom0less: Replace err() with more informative
 messages
To: Alejandro Vallejo <alejandro.garciavallejo@amd.com>,
	<xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@vates.tech>, Xen-devel
	<xen-devel-bounces@lists.xenproject.org>
References: <20251001075149.31545-1-michal.orzel@amd.com>
 <DD6WJ6AVBQRV.154QDILMV3EW2@amd.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <DD6WJ6AVBQRV.154QDILMV3EW2@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN3PEPF0000B36D:EE_|CH3PR12MB9195:EE_
X-MS-Office365-Filtering-Correlation-Id: e5de3ac9-1d61-4788-d669-08de00dd125d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|82310400026|1800799024|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?dHVRT0tuTldla1VpUkIydXA5WE5FMys2WkFVZWlYdUIwUTlTd1NkcXNoNVRr?=
 =?utf-8?B?dWNVZHlsRjNOSWtBeHJoS3QrdHM2S09WWnZvT1BNSEVYUTZBK21WME5TMVYw?=
 =?utf-8?B?MHgrbFNEYUNUT1FsaStuYklhN1REdnMzeVE1M0JGb0x6Mi9xLzJaZUNheFZ2?=
 =?utf-8?B?cjRxdW5PWkhLNGhqVHBsalpDdEVCdmxUTUN4SEFkS1d5R1oxZXljb29hUUQ4?=
 =?utf-8?B?UDMxeDZiVldHNE5Ec25zdFlWWThxU3kwdjNRdE1iWkdyT3NZc3VTcUZHRVZO?=
 =?utf-8?B?M3lMaWtWM21uSXAwc2NkZjdXaVdYbGY0cjczNkIzSlNzZW9GUlF3VlY0R29N?=
 =?utf-8?B?Z0pkNDFBZ2lmMFBRUUw1czRVeWdyd3dRVUt0ZzFCSHJxZjlmaFJsSGRnNXBC?=
 =?utf-8?B?QlNnV3J4R09jMW1YU1ZwWi82akRldWMwdS94YkRuWU80ajB2ODZDWkg1WnZ6?=
 =?utf-8?B?Q1BMOHVyVytXaGNNbzdSaDQzYWFkellROSswdWNxYkZJMXhHN05vOFBKYVR0?=
 =?utf-8?B?K0YvSkJFS3g1UVA0TDZ6SkVlUktOTFV2TVFhMnFEQjc3NkxaelNZVndjYlkw?=
 =?utf-8?B?REs3ZmZoeWRjV0t4N3VLWFZ6ZjV2em0rS2d6bTc1TjRodkVOTWlYSHdFcFlX?=
 =?utf-8?B?dE5NaWZpMktEUEpxWm9yVUQzRWlxWDYyRXg1Z1M0YzdCQnJ0MmtsVi9ybHFr?=
 =?utf-8?B?eXBiUzErbytrZHVHSjllSGhla2VBWVdHaFd6ZTRaTHRsbEVHVGpUVXd1M2w4?=
 =?utf-8?B?YUozRzdwbGtuSEQ0VW5UalFaNG10Wk9sT3RxQmR4R2FoZGNqTkl5NzA4YjhX?=
 =?utf-8?B?K3JyODFwWENicnZzbGJBY2xSM1EreGFzTW1EWU9wSGs2TFo2Ky9pdzdlajZ6?=
 =?utf-8?B?L1NXUXkvd0svTzZscW1VNjU3YnhFVlR4eXpnbUtWZ1lGeDFqTExtc1FPRzln?=
 =?utf-8?B?Rkh5RHBwbXpUNm80bzhFMWJ4SmFPcFJ6KytKTi84Ty9zK1FaWlVPaytoV1du?=
 =?utf-8?B?ZVhJOVVPRGVLeDZXU2FiclpDS21uREpFVktHb1NYZDJ6a1NSU3VlTG1iK3JC?=
 =?utf-8?B?NkRKQS9VcElLa3EvNElBMnpVS21GcVludlNNeWlMZWt5clFUdDhZWFdsaGhp?=
 =?utf-8?B?UzhyNlQ5NHo2SUREckx2MUhqRWN1SUZQQmN3MUxERnFDa0NlRkoyWnNsajRi?=
 =?utf-8?B?N0xUd1BSRHdESjZOdjh0K1lRaXJkSUJXNU1YRDR4bHNONW4rMFA2RUx4UDRC?=
 =?utf-8?B?MURXOHo5cXRLd2lNeTFaS3NmTnhqRzA0LzY1cVE2LzVvczRmS3BKcm1vNGoz?=
 =?utf-8?B?WlYzcEN6RzU0a25HQkNZWE0yUTZOeW1vZnRwRTM0d2VXOStVdUlPOFZzM256?=
 =?utf-8?B?dW40NUVCVUJuVHNnTzZML3RzVzdFTXhYMHFTTHovckREem0zMFVwTXE3eVZq?=
 =?utf-8?B?K0pLTHJIOGpNa1hYWGFidmZvQU1BMFduMGFYb0hrUmdOaGFiUDJXM2pOTXVi?=
 =?utf-8?B?UVJlNHNGWVduZ2o1ZkovTHlqdjF2L3VRTndQZ2QzR1AyUVdtZVpQMDBxUnA1?=
 =?utf-8?B?aHVLK3VPNXRZais2ZjNITVJ3Kzd0dmp0dEFMdGpORkJCcFNENGc1TmtySGZI?=
 =?utf-8?B?TENOeUp5VUFIMDlUSmVWTUtvWXpnM1RUTklreWFoYW8xUG5KbW9KemFrMHZz?=
 =?utf-8?B?blNVZEVmTU9uY3RUcFhBSW5BeGRSZy94OTdueVZERGZaVmFHZ0Q0ZjVqeDlF?=
 =?utf-8?B?UnRtUjdWUjFsc1Nya1h5aE1oaGhkUnNaVkt3OVZIY0JuS3AzRytNOGtGb2JZ?=
 =?utf-8?B?SWVPNGE2RHdWNFM2cDVaK3BqZVc1SGlPcml2b2RiVDJVcnQ1WTZ1ZnQ3aGhP?=
 =?utf-8?B?NXduVzVWQUV4bXQvRWllLzFDODlMZllRdGlCOUJhckRtY0o4R1pLZUw4MjRX?=
 =?utf-8?B?czg5SytNR0hzRmxCU0cwTXYrNzJVQUxXVDRZSmxjdklLRkRHb0tYNGVENHhy?=
 =?utf-8?B?UzI0VTR6Y2I3ajVWb3I0alltZnJwUUh2TVViZ2ZtRm16REpYSDRJR0l4OUcw?=
 =?utf-8?B?Z2JtRWl4emE3dzVUdU0vdE95R3Q5aHFSbnVvOWI4KzdKMm1WNWlsQWowcmNi?=
 =?utf-8?Q?xMEs=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(82310400026)(1800799024)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Oct 2025 11:24:22.8671
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e5de3ac9-1d61-4788-d669-08de00dd125d
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN3PEPF0000B36D.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB9195



On 01/10/2025 12:09, Alejandro Vallejo wrote:
> On Wed Oct 1, 2025 at 9:51 AM CEST, Michal Orzel wrote:
>> Current use of err() has the following issues:
>> - without setting errno, on error it results in printing e.g.:
>>  "init-dom0less: writing to xenstore: Success"
>>  This is very misleading and difficult to deduct that there was a
>>  failure.
>> - does not propagate error codes to the caller.
>> - skips "init_domain failed" message by exiting early.
>>
>> Replace err() with more informative messages propagating rc when
>> possible.
> 
> Sounds good to me. Only suggestion I'd make is to also print relevant arguments
> where needed, like...
> 
>>
>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
>> ---
>>  tools/helpers/init-dom0less.c | 25 +++++++++++++++++--------
>>  1 file changed, 17 insertions(+), 8 deletions(-)
>>
>> diff --git a/tools/helpers/init-dom0less.c b/tools/helpers/init-dom0less.c
>> index a182dce56353..3dd2d74886eb 100644
>> --- a/tools/helpers/init-dom0less.c
>> +++ b/tools/helpers/init-dom0less.c
>> @@ -288,24 +288,33 @@ static int init_domain(struct xs_handle *xsh,
>>  
>>          rc = xc_dom_gnttab_seed(xch, info->domid, true,
>>                                  (xen_pfn_t)-1, xenstore_pfn, 0, 0);
>> -        if (rc)
>> -               err(1, "xc_dom_gnttab_seed");
>> +        if (rc) {
>> +            printf("Failed to seed gnttab entries\n");
> 
> ... also printing the domid and the xenstore pfn here. Or...
Domid is printed from main() before everything else, so no need to print it
again. Not sure why we need to print pfn but I can add it here if it's a must.

> 
>> +            return rc;
>> +        }
>>      }
>>  
>>      libxl_uuid_generate(&uuid);
>>      xc_domain_sethandle(xch, info->domid, libxl_uuid_bytearray(&uuid));
>>  
>>      rc = gen_stub_json_config(info->domid, &uuid);
>> -    if (rc)
>> -        err(1, "gen_stub_json_config");
>> +    if (rc) {
>> +        printf("Failed to create stub json config\n");
> 
> ... the domid and uuid here.
> 
> Similar suggestions for the other printfs.
> 
>> +        return rc;
>> +    }
>>  
>>      rc = create_xenstore(xsh, info, uuid, xenstore_pfn, xenstore_evtchn);
>> -    if (rc)
>> -        err(1, "writing to xenstore");
>> +    if (rc) {
>> +        printf("Failed to write to xenstore\n");
>> +        return rc;
>> +    }
>>  
>>      rc = xs_introduce_domain(xsh, info->domid, xenstore_pfn, xenstore_evtchn);
>> -    if (!rc)
>> -        err(1, "xs_introduce_domain");
>> +    if (!rc) {
>> +        printf("Failed to introduce a domain\n");
>> +        return 1;
> 
> nit: Maybe -EBUSY so it's -errno like the others?
There are other places in this script where we return 1.

~Michal



From xen-devel-bounces@lists.xenproject.org Wed Oct 01 15:18:44 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Oct 2025 15:18:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1134894.1472418 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v3yb7-0003n5-SL; Wed, 01 Oct 2025 15:18:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1134894.1472418; Wed, 01 Oct 2025 15:18:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v3yb7-0003mu-Ny; Wed, 01 Oct 2025 15:18:29 +0000
Received: by outflank-mailman (input) for mailman id 1134894;
 Wed, 01 Oct 2025 15:18:28 +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
 <SRS0=zY0S=4K=amd.com=Alejandro.GarciaVallejo@srs-se1.protection.inumbo.net>)
 id 1v3yb5-0003ml-Rb
 for xen-devel@lists.xenproject.org; Wed, 01 Oct 2025 15:18:28 +0000
Received: from CH5PR02CU005.outbound.protection.outlook.com
 (mail-northcentralusazlp170120005.outbound.protection.outlook.com
 [2a01:111:f403:c105::5])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id df8eb1c3-9ed9-11f0-9d14-b5c5bf9af7f9;
 Wed, 01 Oct 2025 17:18:25 +0200 (CEST)
Received: from SJ0PR05CA0149.namprd05.prod.outlook.com (2603:10b6:a03:33d::34)
 by PH7PR12MB6695.namprd12.prod.outlook.com (2603:10b6:510:1b2::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9160.18; Wed, 1 Oct
 2025 15:18:20 +0000
Received: from CO1PEPF000066EA.namprd05.prod.outlook.com
 (2603:10b6:a03:33d:cafe::1c) by SJ0PR05CA0149.outlook.office365.com
 (2603:10b6:a03:33d::34) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9182.14 via Frontend Transport; Wed,
 1 Oct 2025 15:18:20 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 CO1PEPF000066EA.mail.protection.outlook.com (10.167.249.5) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9182.15 via Frontend Transport; Wed, 1 Oct 2025 15:18:20 +0000
Received: from localhost (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Wed, 1 Oct
 2025 08:18:16 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: df8eb1c3-9ed9-11f0-9d14-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=m2aXQ1rtt/8cibIDoATaZqxd7/c29+PbHuHjOHPcfAiyRrQPWTbjoyHDO/EcwMqGyDYtP4/KS5mf5++FfqFlzKF0oCncqXOp7gYUXIFw1JD5M7XxMK7NK3GpJu11aPReHzbMKgix2xL3JFlN0ckZeiVNSEt8XtXD4k2NWyrXGwQO+ozK6Qa5+w1IddYbGZlMi0GIX5h3L/Q+gIWmDGMsLgf1q/fHuAP/UUP2HLrUU8DjfGOBzy2osQxRaZSiWdu0xtvTYtNxTeVJN9owVkBmp5Eap5aWFMfBgbZhP1nW5HBhaU33UtUkPXOWc2HUhfuPwjTIP6SsH9qsB9b967gYiw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gwUIIz4hwepGraBwD/VooBTL1DbVku9Nu4CJ8QsSV6M=;
 b=lAuDt8hrROrRXF7+iBZ9YN/18JBm5xXZH3dzdzPAXABb9JK9BMnfrZl9IhSA4SpHT3qtsaL1+mkM0mN0d4bnjSYT9EZlkGq623wH+qDZ5ZBFPknOXPVXz48JsF3UUtb45fN8pCt7vHj28YCSD4Plaba2JjFs3pCX/N0/K2TMImp4fkn39ITxS6PkWltkS0UCOKmDjMZkFmrRvHAdQRoixKR/2D+QOSnaUoIrl9nn7rIYM+96cjSSZg4iWyK+9QbGnpaKzuCbrdMU9q9NzDAT0Sgi5ohX5atQ8cKf5o8XZlyMZqwUNk5Dk1f2i7nGuKzo3wiMwmQMlByPEYHQw/fSeQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=epam.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=gwUIIz4hwepGraBwD/VooBTL1DbVku9Nu4CJ8QsSV6M=;
 b=keo8D9y2tpZ/2fQ+kHBco+ANi6AzkCWDtYOYhBkQHfmtaH29mqRxNW23bW4J2pmie34zweUnxipu8jnePIG6XtjsFcUaJy7cW8UOm17E4L4sKjr7180tbWx2/A9PMUMJyeEAwLPfB4LK5mcLWoWqb95Mf/T5faC0nXAkkeybU8w=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="UTF-8"
Date: Wed, 1 Oct 2025 17:18:15 +0200
Message-ID: <DD733UWP8JVK.SSX8U5ENELIE@amd.com>
To: Grygorii Strashko <grygorii_strashko@epam.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?utf-8?q?Roger_Pau_Monn=C3=A9?=
	<roger.pau@citrix.com>
Subject: Re: [PATCH v2] x86/hvm: vlapic: fix RO bits emulation in LVTx regs
From: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
X-Mailer: aerc 0.20.1
References: <20250930190550.1166875-1-grygorii_strashko@epam.com>
In-Reply-To: <20250930190550.1166875-1-grygorii_strashko@epam.com>
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000066EA:EE_|PH7PR12MB6695:EE_
X-MS-Office365-Filtering-Correlation-Id: 4d70ac1e-c25f-40c3-1de1-08de00fdc14c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|36860700013|376014|82310400026|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?cjhQNU14NXR5Y1dXTUhSclBJeUxRVWx6emg1M0hPVmZWbnMxUk1Va0Y3YnJC?=
 =?utf-8?B?ejBNWkdXZHVaV3hhNlFpZ2JMUWxjN29wOWtGMWk3YkZOTDZVKzRkNGhrY2kx?=
 =?utf-8?B?SjlObjBwbkdaY3JuVHY3eExla2VFQm5Ec3FSSDdmOWErd2pDWFNEbUJ5QWdW?=
 =?utf-8?B?ZDlzS2NGOVdvbjJjbFZoT21aL2pTVnlzOG5EUndYc0IrZHdQcnoxdzdzM04x?=
 =?utf-8?B?VUJWak5FbXQ4UFVrTTBEZTR0cjk4Z0VRQVM2MWtOZGdIcitVTlJ5SDhZU0tm?=
 =?utf-8?B?K3NsYmp3VWpuSFE3bHkybitBRmJmckVucTFEUzVTQSt2ZHYyZE9PL05vdEdh?=
 =?utf-8?B?R2hLZ3FSVWtOblFWcEdJSlNtV0xZbFNFMVVnY09jUDM3SzE3dFdpTkNqbmUr?=
 =?utf-8?B?UkFjalg3QVJGMXlDTThndjNhajQyV0huRDR5YWpBeUdieTg2VDJDaXN1c1hT?=
 =?utf-8?B?RmgrdHdicFIwbjJGTWtnQjltY0ltQlA1cW5wZ2hPamhyRlBXcTc1RDVvaXV2?=
 =?utf-8?B?TkVYdW9vY0t4NFNsbVA0T2tvandQVWpxWjE1azEyd1pPeE9UNUdrUis1aXdJ?=
 =?utf-8?B?RE1SR0FsdFk2aWZBK0xHN0lJTElGT2hNMUNCTU1KSmZ0NERXdzNETTRYSXRL?=
 =?utf-8?B?bGxIL0E2L0tTU0hFRDNOZElFdnFGeEtpRXJaYktkdVB6VXlmWWgrUmxVelRP?=
 =?utf-8?B?TUdwcmhvNTQ5NWR2NGlKeFNTNXVwTm1kTkFhUGVMWDRReXFrdHU1TkdaTzlG?=
 =?utf-8?B?ZHg2WS8reXpuNGNZZk5jU2lJT2RVUWQrQ0RCcjRjWjJlUlg5aGptUE04ZW5r?=
 =?utf-8?B?ekgzbUNQUXdxblIyN0FGWlplTmFGOVJZWk1WZWp2dmo0cS80UVUxU0p3M3Nw?=
 =?utf-8?B?MTV1ckM3cnBRZVRNS3NwNFBKQktQRHhIMElZR3V5YVp2VDNXVFdoZWFEbFo1?=
 =?utf-8?B?cW9CQWlYTDdUZ1huMXFiU3ZKQzNtcjRxYnd0dWxJa1lrRmRLem5TdGRrbjZN?=
 =?utf-8?B?SDcySVhwc2tUVWp1YjV3UE5Ob3FTL0tzZTNZWDJkOFg0UldoUDdMd0I4Umov?=
 =?utf-8?B?UlhOSGFKMlpmMVlUeGVmODNsREZjYXVwVE4rRVlvN1RpVlJQeGlvTGtZL2Ew?=
 =?utf-8?B?S0VacUIvOVVBZDVnNkhMOUYrcHBybHdOUURpMjY3QUZkNXRzS2FhWU9aa0ZW?=
 =?utf-8?B?ZGNUSzI5YlNza0tPZXkyc0I0cXZPUEdYV0o2c1BvMm9lUFc5MTIwN0RjNjZI?=
 =?utf-8?B?QkZ1K29CMUhBVXA3YnIzZzFqblUyYk0rTnlOWEhwSjJEdkJkb0FpMXFoa1Yy?=
 =?utf-8?B?REl0aE82YzU2WGswQ241TXpqcHZyWEpRdGhuQk9mMFdVbkRUUkVTUzlGSjdo?=
 =?utf-8?B?MVdzVURkRElIOFF2YlZ3dzRyd01MVmVmU1BBK0RuUEk4QmlzUXNPZklycjdq?=
 =?utf-8?B?bUpvdHdhNldFV3BJcmR6a1lqRzFCYjJocmltMUFpWXkxNzhFeFZtUXF1cWpR?=
 =?utf-8?B?Qmpocy9uc1F4WlZRUmtlK01Bcml1b2xZL1haZmhVSkdtd2hhekVyVjJ5WTE2?=
 =?utf-8?B?SlNFb0ZwODFxeTZwNmxTYXdsVy9vTnRNdnV2VHNyM2FzYWFLWWVOSVFGOGFy?=
 =?utf-8?B?U1g3cnp2U2VNWXJjdk12RlpHR3owQTlpdkRrZmd0WjdHWXhmcVdmODdhOVJK?=
 =?utf-8?B?L0NxRXduV2hVY0MvRExiUlhWTS9UMUhYdVAxNDF5eTcvSU5KSTlaQTRrSTla?=
 =?utf-8?B?WVlITUZ0OGFKalRzVWlGRkJQdjNGSGFPR3E1UlRwK0w0dEYrYkdGdW1KWWpU?=
 =?utf-8?B?ci9iT2dvQlFVOWdRSUNWM2lERFN0Tzh5WTJIQmFPMnIzUCtFbmNUNDd1VjlW?=
 =?utf-8?B?Yk93UzJvL0N2Sk5BMjV6UEtPYzJPd1JyMDZ5RExnUGp1ckZiS3ZOdlllUVZx?=
 =?utf-8?B?ZktJL20zdHlobW9DRUZsQ1R4NkROOXRjMllnbHNaZUJJNlVJUnltSUpyNXRK?=
 =?utf-8?B?NHkyQVFPNFhWZmJVQXhTdXJTaHFNeVFMV3Z5V2VNMnFuc0x1L2NDZkFidi9Q?=
 =?utf-8?Q?+zayw+?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700013)(376014)(82310400026)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Oct 2025 15:18:20.1532
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4d70ac1e-c25f-40c3-1de1-08de00fdc14c
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1PEPF000066EA.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB6695

On Tue Sep 30, 2025 at 9:05 PM CEST, Grygorii Strashko wrote:
> From: Grygorii Strashko <grygorii_strashko@epam.com>
>
> The LAPIC LVTx registers have two RO bits:
> - all: Delivery Status (DS) bit 12
> - LINT0/LINT1: Remote IRR Flag (RIR) bit 14.
>
> The Delivery Status (DS) is not emulated by Xen - there is no IRQ msg bus=
,
> and the IRQ is:
> - or accepted at destination and appears as pending
>   (vLAPIC Interrupt Request Register (IRR))
> - or get rejected immediately.
>
> The Remote IRR Flag (RIR) behavior emulation is not implemented for
> LINT0/LINT1 in Xen for now.
>
> The current vLAPIC implementations allows guest to write to these RO bits=
.
>
> The vLAPIC LVTx registers write happens in vlapic_reg_write() which expec=
t
> to implement "Write ignore" access type for RO bits by applying masks fro=
m
> vlapic_lvt_mask[], but vlapic_lvt_mask[] contains incorrect masks which
> allows writing to RO fields.
>
> Hence it is definitely wrong to allow guest to write to LVTx regs RO bits=
,
> fix it by fixing LVTx registers masks in vlapic_lvt_mask[].
>
> In case of WRMSR (guest_wrmsr_x2apic()) access to LVTx registers, the SDM
> clearly defines access type for "Reserved" bits as RsvdZ (Non-zero writes
> to reserved bits should cause #GP exception), but contains no statements
> for RO bits except that they are not "Reserved". So, guest_wrmsr_x2apic()
> now uses different masks (than vlapic_reg_write()) for checking LVTx
> registers values for "Reserved" bit settings, which include RO bits and
> do not cause #GP exception.
>
> Fixes: d1bd157fbc9b ("Big merge the HVM full-virtualisation abstractions.=
")
> Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
> ---
> Changes in v2:
> - masks fixed in vlapic_lvt_mask[]
> - commit msg reworded
>
> v1: https://patchwork.kernel.org/project/xen-devel/patch/20250925195558.5=
19568-1-grygorii_strashko@epam.com/
>  xen/arch/x86/hvm/vlapic.c | 14 ++++++++------
>  1 file changed, 8 insertions(+), 6 deletions(-)
>
> diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
> index 79697487ba90..2ecba8163f48 100644
> --- a/xen/arch/x86/hvm/vlapic.c
> +++ b/xen/arch/x86/hvm/vlapic.c
> @@ -44,15 +44,17 @@
>  static const unsigned int vlapic_lvt_mask[VLAPIC_LVT_NUM] =3D
>  {
>       /* LVTT */
> -     LVT_MASK | APIC_TIMER_MODE_MASK,
> +     (LVT_MASK | APIC_TIMER_MODE_MASK) & ~APIC_SEND_PENDING,
>       /* LVTTHMR */
> -     LVT_MASK | APIC_DM_MASK,
> +     (LVT_MASK | APIC_DM_MASK) & ~APIC_SEND_PENDING,
>       /* LVTPC */
> -     LVT_MASK | APIC_DM_MASK,
> -     /* LVT0-1 */
> -     LINT_MASK, LINT_MASK,
> +     (LVT_MASK | APIC_DM_MASK) & ~APIC_SEND_PENDING,
> +     /* LVT0 */
> +     LINT_MASK & ~(APIC_LVT_REMOTE_IRR | APIC_SEND_PENDING),
> +     /* LVT1 */
> +     LINT_MASK & ~(APIC_LVT_REMOTE_IRR | APIC_SEND_PENDING),
>       /* LVTERR */
> -     LVT_MASK
> +     LVT_MASK & ~APIC_SEND_PENDING,
>  };

This is a bit messy. Why not have 2 masks? One for rsvdZ bits, and one
for RO?

That ought to simplify the logic in both the MSR and MMIO cases.

MMIO would do RAZ/WI on the OR of both, while the MSR interface would gate
#GP(0) on the mask for rsvd bits only and ensure all RO bits are preserved =
on
writes.

Thoughts?

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Wed Oct 01 16:00:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Oct 2025 16:00:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1134933.1472427 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v3zFX-0001jm-Rn; Wed, 01 Oct 2025 16:00:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1134933.1472427; Wed, 01 Oct 2025 16:00:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v3zFX-0001jf-OR; Wed, 01 Oct 2025 16:00:15 +0000
Received: by outflank-mailman (input) for mailman id 1134933;
 Wed, 01 Oct 2025 16:00: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
 <SRS0=Y+Zy=4K=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1v3zFW-0001jZ-1W
 for xen-devel@lists.xenproject.org; Wed, 01 Oct 2025 16:00:14 +0000
Received: from mail-ed1-x52d.google.com (mail-ed1-x52d.google.com
 [2a00:1450:4864:20::52d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b5a99393-9edf-11f0-9809-7dc792cee155;
 Wed, 01 Oct 2025 18:00:11 +0200 (CEST)
Received: by mail-ed1-x52d.google.com with SMTP id
 4fb4d7f45d1cf-63667e8069aso82553a12.1
 for <xen-devel@lists.xenproject.org>; Wed, 01 Oct 2025 09:00:11 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-67-38.play-internet.pl.
 [109.243.67.38]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-b4847e3ff48sm21472266b.11.2025.10.01.09.00.08
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 01 Oct 2025 09:00:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b5a99393-9edf-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1759334410; x=1759939210; darn=lists.xenproject.org;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=QrGO518AIO8kLmdVlaQSVxC6u+6nohA0wtzY60NXNmw=;
        b=G60JeW5d2Hz56mFzWHkj4VL7NhrrEkRwwpXaTpWdj7hsyV5+DEgfLhXJ3VQ4rdC5Re
         ZtfUlrzecl4yypundCNL/SN5cmi13WkavZxSNQ1KTuJdtA877EzGnObDpz3gLXmwPVvg
         1y4DrQhfJLOXntEhhsJBUl2XFaDkpBLgkdxlTDvBSADnLnhEkaBOW2jrZ6lDvkj+ezHH
         FaTOysP6QawsaixKWQJLSh0TLY77KAEu7TRzyG4ETv8jn5mNodJFpPyAAAEqWkh2KNHI
         GIMRw96bb8xRmoeYP6QTDNn9Gl6tdS9+PrpDipbYqe3mTowQ4riGY2wPC85xmv9/NuTd
         2i7w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759334410; x=1759939210;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=QrGO518AIO8kLmdVlaQSVxC6u+6nohA0wtzY60NXNmw=;
        b=DFU1HPn9LMjUwOJMP3vo+Vo5dfe3amHCrUmjQ2bN560FAtQEEdWrOuk6ibxutOaeXP
         wOjXko7P1s4ooxq4KB3wBeZZ8t5qN1PLyISlMLW1ORdSiSnVVncvbsADLMV/peilm+dG
         tkdfYzFj3GF005mk556VMCZHQ4Ra4HKf01Cgnsdi8uDqHtsl4T9LqS3lubS1c24J6c2S
         L9wUljs5cbb6iPes3NXjJBTs5xElKH2K9FvnTm5z1yQlRXnkzLJi6ypyjoI7t0FJixTj
         +UPWHDKqAg799Dup8NsY389Q8YI0wV0kt7rUMhuh3b/AqHqg3hn6K+2JqDLXX8tBmpzd
         7SmA==
X-Forwarded-Encrypted: i=1; AJvYcCWFWJ5CNh66CF0MMcN+9lgMxaG4x02j+9kq/K0Ya3K09OfVu8pB+GA8360x7zBogJ4Icn2tSfNCW04=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzPfOPDNvh0akua9GccrETrgdmNUW6WPsdG7dUXfT/i2hvDbroX
	yhQ1+s4GQAJs0AMlNZCFU/858IfsC0C5rZITIc/SfR/Jl4gzS9RWmBc/
X-Gm-Gg: ASbGncvbqt7dVGL0YXQ3BnxjJp3LY+QX+PJeIIE+kWoFidvwOJlbn5zYflyapLiF8Ku
	omDiMsvutd+nFWSOPLt0X8fl3cLYAynjKUTLvNUKT46v1m2KJmURzNziKL7KCDy2BTFDNBfM8hz
	AA0mDtXwhVtngd/8So9DdCAysG8Tbda5GXCWC9QLoHVbJ5bB6N8VKrTf+Og9Wa5jjrz5YTbnmrv
	6a0xIauBPq62Nx8PWPSSMjejzUQ0OtcXdM+2BiJIXZdOz4mbBiEF8pEBtQ2KQvdIhKi5YG8FV6d
	Xs4S4+9LE9DPfPhBxr9CXSjdDG5jndJN/Ygc8FmJJhvENZiYEz8XN2GxBiJrHdwgB9jSowsKKr8
	1YZ+5st5YV6Ou1IIgUBXDypVV/EyWiVJifjSGskQTNnqfjcJ8XxDSkFFuG4SPjW4yKj+naPndIu
	MFxdJW5mbjvLUqyUR8ukhqFH8u
X-Google-Smtp-Source: AGHT+IH+fdRfcBCukzIsGk399FOjXEq0KhGtbIBIP5/3pvuj0TH43P/3Sjqc74tqdIAD2Ie5RM8C3g==
X-Received: by 2002:a17:907:720a:b0:b24:3412:7cfe with SMTP id a640c23a62f3a-b46ea41438amr498584166b.63.1759334410144;
        Wed, 01 Oct 2025 09:00:10 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------U0qwSMVDpHxIxb8hFquya0WM"
Message-ID: <5142b7c4-ab2e-4f73-a60d-3d23fe255ca7@gmail.com>
Date: Wed, 1 Oct 2025 18:00:07 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 18/18] xen/riscv: introduce metadata table to store P2M
 type
To: Jan Beulich <jbeulich@suse.com>
Cc: Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <cover.1758145428.git.oleksii.kurochko@gmail.com>
 <f1e346b228ea76eb5bd988e8aab0062cbea58c9d.1758145428.git.oleksii.kurochko@gmail.com>
 <4c2eb99b-3e88-4364-8c3f-7c70d4064ef4@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <4c2eb99b-3e88-4364-8c3f-7c70d4064ef4@suse.com>

This is a multi-part message in MIME format.
--------------U0qwSMVDpHxIxb8hFquya0WM
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit


On 9/23/25 12:41 AM, Jan Beulich wrote:
> On 17.09.2025 23:55, Oleksii Kurochko wrote:
>
>> +/*
>> + * `pte` â€“ PTE entry for which the type `t` will be stored.
>> + *
>> + * If `t` is `p2m_ext_storage`, both `ctx` and `p2m` must be provided;
>> + * otherwise, they may be NULL.
>> + */
>> +static void p2m_set_type(pte_t *pte, const p2m_type_t t,
>> +                         struct p2m_pte_ctx *ctx,
>> +                         struct p2m_domain *p2m)
>>   {
>> -    int rc = 0;
>> +    /*
>> +    * For the root page table (16 KB in size), we need to select the correct
>> +    * metadata table, since allocations are 4 KB each. In total, there are
>> +    * 4 tables of 4 KB each.
>> +    * For none-root page table index of ->pt_page[] will be always 0 as
>> +    * index won't be higher then 511. ASSERT() below verifies that.
>> +    */
>> +    struct page_info **md_pg =
>> +        &ctx->pt_page[ctx->index / PAGETABLE_ENTRIES].v.md.metadata;
>> +    pte_t *metadata = NULL;
>> +
>> +     /* Be sure that an index correspondent to page level is passed. */
>> +    ASSERT(ctx->index <= P2M_PAGETABLE_ENTRIES(ctx->level));
> Doesn't this need to be < ?

Yeah, it should be <.

>
>> +    if ( !*md_pg && (t >= p2m_first_external) )
>> +    {
>> +        /*
>> +         * Ensure that when `t` is stored outside the PTE bits
>> +         * (i.e. `t == p2m_ext_storage` or higher),
>> +         * both `ctx` and `p2m` are provided.
>> +         */
>> +        ASSERT(p2m && ctx);
> Imo this would want to be checked whenever t > p2m_first_external, no
> matter whether a metadata page was already allocated.

I think that|ctx| should be checked before this|if| condition, since it is
used to obtain the proper metadata page.

The check for|p2m| can remain inside the|if| condition, as it is essentially
only needed for allocating a metadata page.

>
>> -    if ( t > p2m_first_external )
>> -        panic("unimplemeted\n");
>> -    else
>> +        if ( ctx->level <= P2M_SUPPORTED_LEVEL_MAPPING )
>> +        {
>> +            struct domain *d = p2m->domain;
>> +
>> +            *md_pg = p2m_alloc_table(p2m);
>> +            if ( !*md_pg )
>> +            {
>> +                printk("%s: can't allocate extra memory for dom%d\n",
>> +                        __func__, d->domain_id);
>> +                domain_crash(d);
>> +            }
>> +        }
>> +        else
>> +            /*
>> +             * It is not legal to set a type for an entry which shouldn't
>> +             * be mapped.
>> +             */
>> +            ASSERT_UNREACHABLE();
> Something not being legal doesn't mean it can't happen. Imo in this case
> BUG_ON() (in place of the if() above) would be better.
>
>> +    }
>> +
>> +    if ( *md_pg )
>> +        metadata = __map_domain_page(*md_pg);
>> +
>> +    if ( t < p2m_first_external )
>> +    {
>>           pte->pte |= MASK_INSR(t, P2M_TYPE_PTE_BITS_MASK);
>>   
>> -    return rc;
>> +        if ( metadata )
>> +            metadata[ctx->index].pte = p2m_invalid;
>> +    }
>> +    else
>> +    {
>> +        pte->pte |= MASK_INSR(p2m_ext_storage, P2M_TYPE_PTE_BITS_MASK);
>> +
>> +        metadata[ctx->index].pte = t;
> Afaict metadata can still be NULL when you get here.

It shouldn't be, because when this line is executed, the metadata page already
exists or was allocated at the start of p2m_set_type().

>
>> +    }
>> +
>> +    if ( metadata )
>> +        unmap_domain_page(metadata);
> According to the x86 implementation, passing NULL here ought to be fine,
> so no if() needed.

With the current one implementation for RISC-V (CONFIG_ARCH_MAP_DOMAIN_PAGE=n so
unmap_domain_page() does nothing), it is fine too.

>
>>   }
>>   
>> -static p2m_type_t p2m_get_type(const pte_t pte)
>> +/*
>> + * `pte` -> PTE entry that stores the PTE's type.
>> + *
>> + * If the PTE's type is `p2m_ext_storage`, `ctx` should be provided;
>> + * otherwise it could be NULL.
>> + */
>> +static p2m_type_t p2m_get_type(const pte_t pte, const struct p2m_pte_ctx *ctx)
>>   {
>>       p2m_type_t type = MASK_EXTR(pte.pte, P2M_TYPE_PTE_BITS_MASK);
>>   
>>       if ( type == p2m_ext_storage )
>> -        panic("unimplemented\n");
>> +    {
>> +        pte_t *md = __map_domain_page(ctx->pt_page->v.md.metadata);
> Pointer-to-const?
>
>> +        type = md[ctx->index].pte;
>> +        unmap_domain_page(ctx->pt_page->v.md.metadata);
> I'm pretty sure you want to pass md here, not the pointer you passed
> into __map_domain_page().

Oh, right. It should be `md`.

>
>> @@ -381,7 +465,10 @@ static void p2m_set_permission(pte_t *e, p2m_type_t t)
>>       }
>>   }
>>   
>> -static pte_t p2m_pte_from_mfn(mfn_t mfn, p2m_type_t t, bool is_table)
>> +static pte_t p2m_pte_from_mfn(const mfn_t mfn, const p2m_type_t t,
>> +                              struct p2m_pte_ctx *p2m_pte_ctx,
>> +                              const bool is_table,
> Do you really need both "is_table" and the context pointer? Couldn't
> the "is intermediate page table" case be identified by a NULL context
> and/or p2m pointer?

Good point. I will drop is_table.

>
> Also why "const" all of the sudden?

Because nothing of that is going to be changed in p2m_pte_from_mfn(). To have
diff clearer, I can revert these changes.

>
>> @@ -435,22 +527,47 @@ static struct page_info *p2m_alloc_page(struct p2m_domain *p2m)
>>       return pg;
>>   }
>>   
>> + * Link this metadata page to page table page's list field.
>> + */
>> +static struct page_info *p2m_alloc_table(struct p2m_domain *p2m)
>> +{
>> +    struct page_info *page_tbl = p2m_alloc_page(p2m);
>> +
>> +    if ( !page_tbl )
>> +        return NULL;
>> +
>> +    clear_and_clean_page(page_tbl, p2m->clean_dcache);
>> +
>> +    return page_tbl;
>> +}
> ... the function is needed in the first place.

On one hand, it may not seem strictly necessary, but on the
other hand, without it we would need to repeat the pattern of
allocating, clearing, and cleaning a page each time a page table
is allocated. At the moment, I prefer to keep it.
But considering another your comment below ...

>
>> +/*
>> + * Free page table's page and metadata page linked to page table's page.
>> + */
>> +static void p2m_free_table(struct p2m_domain *p2m, struct page_info *tbl_pg)
>> +{
>> +    ASSERT(tbl_pg->v.md.metadata);
> Why, when you no longer unconditionally alloc that page?

Agree, there is no need for this ASSERT() as "lazy allocation" is used for
metadata.

>>   static int p2m_create_table(struct p2m_domain *p2m, pte_t *entry)
>>   {
>> -    struct page_info *page;
>> +    struct page_info *page = p2m_alloc_table(p2m);
>>   
>>       ASSERT(!pte_is_valid(*entry));
>>   
>> -    page = p2m_alloc_page(p2m);
>> -    if ( page == NULL )
>> -        return -ENOMEM;
>> -
>> -    clear_and_clean_page(page, p2m->clean_dcache);
>> -
>>       p2m_write_pte(entry, page_to_p2m_table(page), p2m->clean_dcache);
>>   
>>       return 0;
> As per above I don't think any change is needed here.

There are some places in the code where it isnâ€™t necessary to immediately
write the address of a newly allocated page table page into a PTE:
- During superpage splitting: a new page is first allocated for the new
   page table, then it is filled, and only afterwards is the PTE updated
   with the new page table address.
- In p2m_set_type(): when a table is allocated for storing metadata
   (although I think p2m_alloc_page() would work fine here as well),
   there is no need to update any PTE correspondingly.

...
So, I think I can agree that p2m_alloc_table() isnâ€™t really needed.
It should be sufficient to move the clear_and_clean_page(page_tbl, p2m->clean_dcache)
call from p2m_alloc_table() into p2m_alloc_page(), and then just use
p2m_alloc_page() everywhere.

Does the last paragraph make sense?

>> @@ -707,6 +834,22 @@ static bool p2m_split_superpage(struct p2m_domain *p2m, pte_t *entry,
>>           pte = *entry;
>>           pte_set_mfn(&pte, mfn_add(mfn, i << level_order));
>>   
>> +        if ( MASK_EXTR(pte.pte, P2M_TYPE_PTE_BITS_MASK) == p2m_ext_storage )
>> +        {
>> +            struct p2m_pte_ctx p2m_pte_ctx = {
>> +                .pt_page = tbl_pg,
>> +                .index = offsets[level],
>> +            };
> Assuming using "level" is correct here (which it looks like it is), ...
>
>> +            p2m_type_t old_type = p2m_get_type(pte, &p2m_pte_ctx);
> ... can't this move ahead of the loop?

Considering that old_type is expected to be the same for all new PTEs, I think
we can move that ahead of the loop. I'll do that.

>
>> +            p2m_pte_ctx.pt_page = page;
>> +            p2m_pte_ctx.index = i;
>> +            p2m_pte_ctx.level = level;
> Whereas - doesn't this need to be "next_level"?

Yes, it should be next_level.

>
>> @@ -718,7 +861,7 @@ static bool p2m_split_superpage(struct p2m_domain *p2m, pte_t *entry,
>>        */
>>       if ( next_level != target )
>>           rv = p2m_split_superpage(p2m, table + offsets[next_level],
>> -                                 level - 1, target, offsets);
>> +                                 level - 1, target, offsets, page);
> And btw (alredy in the earlier patch introducing this code) - why isn't
> it "next_level" here, instead of "level - 1" (if already you have that
> variable)?

Missed to update that part. It should next_level used instead of level - 1.

>
>> @@ -812,13 +955,21 @@ static int p2m_set_entry(struct p2m_domain *p2m,
>>       {
>>           /* We need to split the original page. */
>>           pte_t split_pte = *entry;
>> +        struct page_info *tbl_pg = virt_to_page(table);
> This isn't valid on a pointer obtained from map_domain_page().

Oh, sure â€” virt_to_page() and page_to_virt() should be used only for Xen
heap addresses.

By the way, do we have any documentation, comments, or notes describing
what should be allocated and from where?

Since map_domain_page() returns an address from the direct map region,
should we instead use maddr_to_page(virt_to_maddr(table))?

Thanks for review.

~ Oleksii

--------------U0qwSMVDpHxIxb8hFquya0WM
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 9/23/25 12:41 AM, Jan Beulich wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:4c2eb99b-3e88-4364-8c3f-7c70d4064ef4@suse.com">
      <pre wrap="" class="moz-quote-pre">On 17.09.2025 23:55, Oleksii Kurochko wrote:

</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">+/*
+ * `pte` â€“ PTE entry for which the type `t` will be stored.
+ *
+ * If `t` is `p2m_ext_storage`, both `ctx` and `p2m` must be provided;
+ * otherwise, they may be NULL.
+ */
+static void p2m_set_type(pte_t *pte, const p2m_type_t t,
+                         struct p2m_pte_ctx *ctx,
+                         struct p2m_domain *p2m)
 {
-    int rc = 0;
+    /*
+    * For the root page table (16 KB in size), we need to select the correct
+    * metadata table, since allocations are 4 KB each. In total, there are
+    * 4 tables of 4 KB each.
+    * For none-root page table index of -&gt;pt_page[] will be always 0 as
+    * index won't be higher then 511. ASSERT() below verifies that.
+    */
+    struct page_info **md_pg =
+        &amp;ctx-&gt;pt_page[ctx-&gt;index / PAGETABLE_ENTRIES].v.md.metadata;
+    pte_t *metadata = NULL;
+
+     /* Be sure that an index correspondent to page level is passed. */
+    ASSERT(ctx-&gt;index &lt;= P2M_PAGETABLE_ENTRIES(ctx-&gt;level));
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
Doesn't this need to be &lt; ?</pre>
    </blockquote>
    <pre>Yeah, it should be &lt;. 

</pre>
    <blockquote type="cite"
      cite="mid:4c2eb99b-3e88-4364-8c3f-7c70d4064ef4@suse.com">
      <pre wrap="" class="moz-quote-pre">

</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">+    if ( !*md_pg &amp;&amp; (t &gt;= p2m_first_external) )
+    {
+        /*
+         * Ensure that when `t` is stored outside the PTE bits
+         * (i.e. `t == p2m_ext_storage` or higher),
+         * both `ctx` and `p2m` are provided.
+         */
+        ASSERT(p2m &amp;&amp; ctx);
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
Imo this would want to be checked whenever t &gt; p2m_first_external, no
matter whether a metadata page was already allocated.</pre>
    </blockquote>
    <pre data-start="56" data-end="178">I think that <code
    data-start="72" data-end="77">ctx</code> should be checked before this <code
    data-start="108" data-end="112">if</code> condition, since it is
used to obtain the proper metadata page.</pre>
    <pre data-start="180" data-end="307">The check for <code
    data-start="194" data-end="199">p2m</code> can remain inside the <code
    data-start="222" data-end="226">if</code> condition, as it is essentially
only needed for allocating a metadata page.

</pre>
    <pre></pre>
    <blockquote type="cite"
      cite="mid:4c2eb99b-3e88-4364-8c3f-7c70d4064ef4@suse.com">
      <pre wrap="" class="moz-quote-pre">

</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">-    if ( t &gt; p2m_first_external )
-        panic("unimplemeted\n");
-    else
+        if ( ctx-&gt;level &lt;= P2M_SUPPORTED_LEVEL_MAPPING )
+        {
+            struct domain *d = p2m-&gt;domain;
+
+            *md_pg = p2m_alloc_table(p2m);
+            if ( !*md_pg )
+            {
+                printk("%s: can't allocate extra memory for dom%d\n",
+                        __func__, d-&gt;domain_id);
+                domain_crash(d);
+            }
+        }
+        else
+            /*
+             * It is not legal to set a type for an entry which shouldn't
+             * be mapped.
+             */
+            ASSERT_UNREACHABLE();
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
Something not being legal doesn't mean it can't happen. Imo in this case
BUG_ON() (in place of the if() above) would be better.

</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">+    }
+
+    if ( *md_pg )
+        metadata = __map_domain_page(*md_pg);
+
+    if ( t &lt; p2m_first_external )
+    {
         pte-&gt;pte |= MASK_INSR(t, P2M_TYPE_PTE_BITS_MASK);
 
-    return rc;
+        if ( metadata )
+            metadata[ctx-&gt;index].pte = p2m_invalid;
+    }
+    else
+    {
+        pte-&gt;pte |= MASK_INSR(p2m_ext_storage, P2M_TYPE_PTE_BITS_MASK);
+
+        metadata[ctx-&gt;index].pte = t;
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
Afaict metadata can still be NULL when you get here.</pre>
    </blockquote>
    <pre>It shouldn't be, because when this line is executed, the metadata page already
exists or was allocated at the start of p2m_set_type().
</pre>
    <blockquote type="cite"
      cite="mid:4c2eb99b-3e88-4364-8c3f-7c70d4064ef4@suse.com">
      <pre wrap="" class="moz-quote-pre">

</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">+    }
+
+    if ( metadata )
+        unmap_domain_page(metadata);
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
According to the x86 implementation, passing NULL here ought to be fine,
so no if() needed.</pre>
    </blockquote>
    <pre>With the current one implementation for RISC-V (CONFIG_ARCH_MAP_DOMAIN_PAGE=n so
unmap_domain_page() does nothing), it is fine too.

</pre>
    <blockquote type="cite"
      cite="mid:4c2eb99b-3e88-4364-8c3f-7c70d4064ef4@suse.com">
      <pre wrap="" class="moz-quote-pre">

</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre"> }
 
-static p2m_type_t p2m_get_type(const pte_t pte)
+/*
+ * `pte` -&gt; PTE entry that stores the PTE's type.
+ *
+ * If the PTE's type is `p2m_ext_storage`, `ctx` should be provided;
+ * otherwise it could be NULL.
+ */
+static p2m_type_t p2m_get_type(const pte_t pte, const struct p2m_pte_ctx *ctx)
 {
     p2m_type_t type = MASK_EXTR(pte.pte, P2M_TYPE_PTE_BITS_MASK);
 
     if ( type == p2m_ext_storage )
-        panic("unimplemented\n");
+    {
+        pte_t *md = __map_domain_page(ctx-&gt;pt_page-&gt;v.md.metadata);
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
Pointer-to-const?

</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">+        type = md[ctx-&gt;index].pte;
+        unmap_domain_page(ctx-&gt;pt_page-&gt;v.md.metadata);
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
I'm pretty sure you want to pass md here, not the pointer you passed
into __map_domain_page().</pre>
    </blockquote>
    <pre>Oh, right. It should be `md`.

</pre>
    <blockquote type="cite"
      cite="mid:4c2eb99b-3e88-4364-8c3f-7c70d4064ef4@suse.com">
      <pre wrap="" class="moz-quote-pre">

</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">@@ -381,7 +465,10 @@ static void p2m_set_permission(pte_t *e, p2m_type_t t)
     }
 }
 
-static pte_t p2m_pte_from_mfn(mfn_t mfn, p2m_type_t t, bool is_table)
+static pte_t p2m_pte_from_mfn(const mfn_t mfn, const p2m_type_t t,
+                              struct p2m_pte_ctx *p2m_pte_ctx,
+                              const bool is_table,
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
Do you really need both "is_table" and the context pointer? Couldn't
the "is intermediate page table" case be identified by a NULL context
and/or p2m pointer?</pre>
    </blockquote>
    <pre>Good point. I will drop is_table.

</pre>
    <blockquote type="cite"
      cite="mid:4c2eb99b-3e88-4364-8c3f-7c70d4064ef4@suse.com">
      <pre wrap="" class="moz-quote-pre">

Also why "const" all of the sudden?</pre>
    </blockquote>
    <pre>Because nothing of that is going to be changed in p2m_pte_from_mfn(). To have
diff clearer, I can revert these changes.

</pre>
    <blockquote type="cite"
      cite="mid:4c2eb99b-3e88-4364-8c3f-7c70d4064ef4@suse.com">
      <pre wrap="" class="moz-quote-pre">

</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">@@ -435,22 +527,47 @@ static struct page_info *p2m_alloc_page(struct p2m_domain *p2m)
     return pg;
 }
 </pre>
      </blockquote>
    </blockquote>
    <blockquote type="cite"
      cite="mid:4c2eb99b-3e88-4364-8c3f-7c70d4064ef4@suse.com">
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">+ * Link this metadata page to page table page's list field.
+ */
+static struct page_info *p2m_alloc_table(struct p2m_domain *p2m)
+{
+    struct page_info *page_tbl = p2m_alloc_page(p2m);
+
+    if ( !page_tbl )
+        return NULL;
+
+    clear_and_clean_page(page_tbl, p2m-&gt;clean_dcache);
+
+    return page_tbl;
+}
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
... the function is needed in the first place.</pre>
    </blockquote>
    <pre>On one hand, it may not seem strictly necessary, but on the
other hand, without it we would need to repeat the pattern of
allocating, clearing, and cleaning a page each time a page table
is allocated. At the moment, I prefer to keep it.
But considering another your comment below ...
</pre>
    <blockquote type="cite"
      cite="mid:4c2eb99b-3e88-4364-8c3f-7c70d4064ef4@suse.com">
      <pre wrap="" class="moz-quote-pre">

</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">+/*
+ * Free page table's page and metadata page linked to page table's page.
+ */
+static void p2m_free_table(struct p2m_domain *p2m, struct page_info *tbl_pg)
+{
+    ASSERT(tbl_pg-&gt;v.md.metadata);
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
Why, when you no longer unconditionally alloc that page?</pre>
    </blockquote>
    <pre>Agree, there is no need for this ASSERT() as "lazy allocation" is used for
metadata.

</pre>
    <blockquote type="cite"
      cite="mid:4c2eb99b-3e88-4364-8c3f-7c70d4064ef4@suse.com">
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre"> static int p2m_create_table(struct p2m_domain *p2m, pte_t *entry)
 {
-    struct page_info *page;
+    struct page_info *page = p2m_alloc_table(p2m);
 
     ASSERT(!pte_is_valid(*entry));
 
-    page = p2m_alloc_page(p2m);
-    if ( page == NULL )
-        return -ENOMEM;
-
-    clear_and_clean_page(page, p2m-&gt;clean_dcache);
-
     p2m_write_pte(entry, page_to_p2m_table(page), p2m-&gt;clean_dcache);
 
     return 0;
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
As per above I don't think any change is needed here.</pre>
    </blockquote>
    <pre>There are some places in the code where it isnâ€™t necessary to immediately
write the address of a newly allocated page table page into a PTE:
- During superpage splitting: a new page is first allocated for the new
  page table, then it is filled, and only afterwards is the PTE updated
  with the new page table address.
- In p2m_set_type(): when a table is allocated for storing metadata
  (although I think p2m_alloc_page() would work fine here as well),
  there is no need to update any PTE correspondingly.

...
So, I think I can agree that p2m_alloc_table() isnâ€™t really needed.
It should be sufficient to move the clear_and_clean_page(page_tbl, p2m-&gt;clean_dcache)
call from p2m_alloc_table() into p2m_alloc_page(), and then just use
p2m_alloc_page() everywhere.

Does the last paragraph make sense?

</pre>
    <blockquote type="cite"
      cite="mid:4c2eb99b-3e88-4364-8c3f-7c70d4064ef4@suse.com">
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">@@ -707,6 +834,22 @@ static bool p2m_split_superpage(struct p2m_domain *p2m, pte_t *entry,
         pte = *entry;
         pte_set_mfn(&amp;pte, mfn_add(mfn, i &lt;&lt; level_order));
 
+        if ( MASK_EXTR(pte.pte, P2M_TYPE_PTE_BITS_MASK) == p2m_ext_storage )
+        {
+            struct p2m_pte_ctx p2m_pte_ctx = {
+                .pt_page = tbl_pg,
+                .index = offsets[level],
+            };
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
Assuming using "level" is correct here (which it looks like it is), ...

</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">+            p2m_type_t old_type = p2m_get_type(pte, &amp;p2m_pte_ctx);
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
... can't this move ahead of the loop?</pre>
    </blockquote>
    <pre>Considering that old_type is expected to be the same for all new PTEs, I think
we can move that ahead of the loop. I'll do that.

</pre>
    <blockquote type="cite"
      cite="mid:4c2eb99b-3e88-4364-8c3f-7c70d4064ef4@suse.com">
      <pre wrap="" class="moz-quote-pre">

</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">+            p2m_pte_ctx.pt_page = page;
+            p2m_pte_ctx.index = i;
+            p2m_pte_ctx.level = level;
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
Whereas - doesn't this need to be "next_level"?</pre>
    </blockquote>
    <pre>Yes, it should be next_level.

</pre>
    <blockquote type="cite"
      cite="mid:4c2eb99b-3e88-4364-8c3f-7c70d4064ef4@suse.com">
      <pre wrap="" class="moz-quote-pre">

</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">@@ -718,7 +861,7 @@ static bool p2m_split_superpage(struct p2m_domain *p2m, pte_t *entry,
      */
     if ( next_level != target )
         rv = p2m_split_superpage(p2m, table + offsets[next_level],
-                                 level - 1, target, offsets);
+                                 level - 1, target, offsets, page);
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
And btw (alredy in the earlier patch introducing this code) - why isn't
it "next_level" here, instead of "level - 1" (if already you have that
variable)?</pre>
    </blockquote>
    <pre>Missed to update that part. It should next_level used instead of level - 1.

</pre>
    <blockquote type="cite"
      cite="mid:4c2eb99b-3e88-4364-8c3f-7c70d4064ef4@suse.com">
      <pre wrap="" class="moz-quote-pre">

</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">@@ -812,13 +955,21 @@ static int p2m_set_entry(struct p2m_domain *p2m,
     {
         /* We need to split the original page. */
         pte_t split_pte = *entry;
+        struct page_info *tbl_pg = virt_to_page(table);
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
This isn't valid on a pointer obtained from map_domain_page().</pre>
    </blockquote>
    <pre>Oh, sure â€” virt_to_page() and page_to_virt() should be used only for Xen
heap addresses.

By the way, do we have any documentation, comments, or notes describing
what should be allocated and from where?

Since map_domain_page() returns an address from the direct map region,
should we instead use maddr_to_page(virt_to_maddr(table))?

Thanks for review.

~ Oleksii
</pre>
  </body>
</html>

--------------U0qwSMVDpHxIxb8hFquya0WM--


From xen-devel-bounces@lists.xenproject.org Wed Oct 01 17:10:57 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Oct 2025 17:10:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1134969.1472438 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v40Lm-0001jf-05; Wed, 01 Oct 2025 17:10:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1134969.1472438; Wed, 01 Oct 2025 17:10:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v40Ll-0001jY-TN; Wed, 01 Oct 2025 17:10:45 +0000
Received: by outflank-mailman (input) for mailman id 1134969;
 Wed, 01 Oct 2025 17:10:44 +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
 <SRS0=JWtr=4K=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v40Lk-0001jS-Gv
 for xen-devel@lists.xenproject.org; Wed, 01 Oct 2025 17:10:44 +0000
Received: from mail-wr1-x435.google.com (mail-wr1-x435.google.com
 [2a00:1450:4864:20::435])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8d8d00b4-9ee9-11f0-9809-7dc792cee155;
 Wed, 01 Oct 2025 19:10:38 +0200 (CEST)
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-3f99ac9acc4so32244f8f.3
 for <xen-devel@lists.xenproject.org>; Wed, 01 Oct 2025 10:10:38 -0700 (PDT)
Received: from [192.168.1.55] ([164.39.195.161])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4255d8a6c3esm6494f8f.1.2025.10.01.10.10.37
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 01 Oct 2025 10:10:37 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8d8d00b4-9ee9-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1759338638; x=1759943438; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=KzxWwB99oP3l79lFc6FDqL9f4YkW1Rtp2Wu9wwUFf94=;
        b=PuRBufYVspHhdzSoS1bfzys7Q54j+vQBZWbkaU8mhQIU7laCeaonDqAlcMTiIa65I8
         Zo+TXZIseCPuHClC3a+baCSzhl+jBvfFDm/L6WApBQic+sic5uoAtUi6Z8wm6fZbWGdW
         yAktJZxVlPeCF2lLpLtJ4Avo0/TP9L6YyAXng=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759338638; x=1759943438;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=KzxWwB99oP3l79lFc6FDqL9f4YkW1Rtp2Wu9wwUFf94=;
        b=DsAhafT+zamPdDA0AOYObZjU9LRQL1OkQjBeGLQZMUGgTnzbzH6RVq2IJC5b9gVGJo
         6sB1P6VWgDCdbLRd8FOnbbcACtL/GIZ/Vpy+oIhutgD3tytJYWVm1r6iWKbU3A/vAsuk
         +k/aeAcw6nKZ5Gb9XN9wMr2cZQK1KUP34xyBP8u2h2MwVCViPmiHid+gkwYmvYyD/r8I
         pBViaRgB0SJg0SbleCdrtQ/sPJOkgzzjGRl2XGolTW9ctbH82GnLUu/RpKQSmw0hWaqf
         IxH9HeZ1oSub46nEIriSIVhndFcToSb3EI4+x4s6TGyK4ynzXRwXJlHT97cqWtcGuv40
         V1EA==
X-Forwarded-Encrypted: i=1; AJvYcCUi7XYiW5NDjFy3fNZHgEbIM6EXDtf0VsdRvtz/lThHT2UlNznlfQhAwWV4JBpt3pNomdPxt03lpTI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YydrkCCq0QggphDjX0MpIDZRttWWXon51R+WSw9LwWVjuq/cpcC
	GRkdFrAvNearAT+c8TL75ZfW3/V9E9YEdtGSPEDTeQ3BHpcxKh6/6VD0+CZDMHg6QhQ=
X-Gm-Gg: ASbGncvdyza/reGkFh7hZw7MDG+5Fy+6kGVpdZawaPb/1BbjNLz2fHsd5ETOYjh0CV8
	Rr80qdyNqvLOzsYfK3Tkh+FR0gnFtnjwIrfWd+Vq0Fydiy+qDVvKIEr0W00kWR6KnwJW1UILNPR
	28NlMcU76VvK72VbV68cZ1R46axwzUSS/Y0PvgDnJ3JfAmLnfUpxC0gHSWohWHcqdcAGWBadrea
	MSPFsweaOhqE5gY1006gjuyYCfhiDu+cfLHiLY70hfPcbDfW6osSmGsfLvaLl4FjpKDxeh8UAAc
	8fwomGH8iDy5RqzLBwV697PdfrsLNIEO3otuFRxOz+m5G/ZALDnXfgf9dPJ+MNDZSIEdLmqba9x
	zUvxzYYiC03mfzjypLqG/A2ffotTlEgNhL7knJNuLZ50Im9803exHTIQCmzuCOC43IAMFvMll
X-Google-Smtp-Source: AGHT+IFn1Yn9zHvul3DqXvxm444VQxKOtD6J7cBeK/MVQsyDDSov1cpw9kN0GsQjgqYOuYl/qrqztw==
X-Received: by 2002:a05:6000:290b:b0:3f5:d7c0:8e20 with SMTP id ffacd0b85a97d-42557816d55mr3370958f8f.59.1759338638283;
        Wed, 01 Oct 2025 10:10:38 -0700 (PDT)
Message-ID: <97b1a3cc-6e8b-4207-b467-4ab39396482e@citrix.com>
Date: Wed, 1 Oct 2025 18:10:35 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XTF PATCH] x86: Remove Xen as a hard requirement to run XTF.
To: Alejandro Vallejo <alejandro.garciavallejo@amd.com>,
 xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>
References: <20250930085412.1643-1-alejandro.garciavallejo@amd.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20250930085412.1643-1-alejandro.garciavallejo@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 30/09/2025 9:54 am, Alejandro Vallejo wrote:
> If Xen isn't detected on CPUID, then:
>
>  * Skip setting up Xenbus/PV-console/shared_info/hypercalls/qemu-debug.
>  * Register COM1 as an output callback.
>
> This patch enables running XTF on QEMU-TCG/KVM out of the box.

When I did a KVM branch for amluto,
https://xenbits.xen.org/gitweb/?p=people/andrewcoop/xen-test-framework.git;a=shortlog;h=refs/heads/kvm
was what was necessary to get tests to pass.

I can see the need for MB1 going away now that KVM uses the PVH
entrypoint, but is the rest really unnecessary?

> diff --git a/arch/x86/setup.c b/arch/x86/setup.c
> index 2ac212e..6172c7e 100644
> --- a/arch/x86/setup.c
> +++ b/arch/x86/setup.c
> @@ -243,11 +245,19 @@ static void map_shared_info(void)
>          panic("Failed to map shared_info: %d\n", rc);
>  }
>  
> +static void pio_write(uint16_t port, const char *buf, size_t len)
> +{
> +    asm volatile("rep; outsb" : "+S" (buf), "+c" (len) : "d" (port));
> +}

I've factored out rep_movsb() in the proper place for library functions,
and without the rebasing issue reinserting the erroneous ;.

> @@ -255,12 +265,41 @@ static void xen_console_write(const char *buf, size_t len)
>      hypercall_console_write(buf, len);
>  }
>  
> +static bool detect_xen_runtime(void)
> +{
> +    uint32_t eax, ebx, ecx, edx;
> +
> +    /* PV tests always run under Xen */
> +    if ( IS_DEFINED(CONFIG_PV) )
> +        return true;
> +
> +    /* HVM tests may additionally run on non-Xen hypervisors or baremetal */
> +    cpuid_count(0x40000000, 0, &eax, &ebx, &ecx, &edx);
> +    if (  ebx == XEN_CPUID_SIGNATURE_EBX &&
> +          ecx == XEN_CPUID_SIGNATURE_ECX &&
> +          edx == XEN_CPUID_SIGNATURE_EDX )
> +        return true;
> +
> +    /* Viridian guests have the Xen leaves higher up, so check there too */
> +    cpuid_count(0x40000100, 0, &eax, &ebx, &ecx, &edx);
> +    return ebx == XEN_CPUID_SIGNATURE_EBX &&
> +           ecx == XEN_CPUID_SIGNATURE_ECX &&
> +           edx == XEN_CPUID_SIGNATURE_EDX;
> +}

This isn't quite correct.Â  There's a find_xen_leaves() helper which
should do what you want.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Oct 01 18:34:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Oct 2025 18:34:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1135025.1472448 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v41eU-0002j1-Ow; Wed, 01 Oct 2025 18:34:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1135025.1472448; Wed, 01 Oct 2025 18:34:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v41eU-0002iu-L4; Wed, 01 Oct 2025 18:34:10 +0000
Received: by outflank-mailman (input) for mailman id 1135025;
 Wed, 01 Oct 2025 18:34:09 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <cody.zuschlag@xenproject.org>) id 1v41eT-0002io-8M
 for xen-devel@lists.xenproject.org; Wed, 01 Oct 2025 18:34:09 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <cody.zuschlag@xenproject.org>) id 1v41eT-003TcL-0X
 for xen-devel@lists.xenproject.org; Wed, 01 Oct 2025 18:34:09 +0000
Received: from mail-vk1-f181.google.com ([209.85.221.181])
 by xenbits.xenproject.org with esmtpsa (TLS1.3) tls
 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96)
 (envelope-from <cody.zuschlag@xenproject.org>) id 1v41eT-00ALEU-1I
 for xen-devel@lists.xenproject.org; Wed, 01 Oct 2025 18:34:09 +0000
Received: by mail-vk1-f181.google.com with SMTP id
 71dfb90a1353d-5523142df73so123498e0c.1
 for <xen-devel@lists.xenproject.org>; Wed, 01 Oct 2025 11:34:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Content-Type:To:Subject:Message-ID:Date:
	From:MIME-Version; bh=lbAYGaVAVdXP+yPSeDU6mS37pDuHF65UHZemJbQAa/I=; b=07m2RJ4
	soW2t08Male+76jplD8edLsaZM0UNIiFVz5StSbVTE9EZEu7YAPapBw2K333Xwe79vaDsHM9Y2eTF
	d0yvcEeOVVhBtY/Ik30toypzLUrBs4EEDDbxLvRz9F43LvXbesAAun0knfqK3V2uqpX/ZuNh/avks
	9VAS9PFbUU=;
X-Gm-Message-State: AOJu0Ywxj0Th0SphS0asTldRmtqoj4g0OsvjEeZtoNEA+1lqrZqSnU0C
	VEDbQMoENDs5VZLQXQrJhQOzZUbvinvisYDHLjmf4LPx4GqArubgGA8AtWm2ut2mNkU160ao6qX
	yCij3LW8amhJqQp3NguF94sXZaRniKbw=
X-Google-Smtp-Source: AGHT+IE2c+WdvbMv7cHOm4U3ozF2Zmeeg5ZT4xJTR50lP0eoNa0A40JOtFqY1A24OVdHrdPRDTiqu8TDAUK+VRjlHkI=
X-Received: by 2002:a05:6122:4f97:b0:549:f04a:6e9e with SMTP id
 71dfb90a1353d-5522d3aef5fmr2272054e0c.13.1759343648657; Wed, 01 Oct 2025
 11:34:08 -0700 (PDT)
MIME-Version: 1.0
From: Cody Zuschlag <cody.zuschlag@xenproject.org>
Date: Wed, 1 Oct 2025 20:33:57 +0200
X-Gmail-Original-Message-ID: <CAJbE=KzfPJuj8ZBbZjLtGpbHzpq_GHWs3xnrNwZTXtbFkaVMsw@mail.gmail.com>
X-Gm-Features: AS18NWA2AvLuMFui42c_XR_fIvnhUf8Ec4vRK1aDhV8fP38oz793VopFJ1CRxTA
Message-ID: <CAJbE=KzfPJuj8ZBbZjLtGpbHzpq_GHWs3xnrNwZTXtbFkaVMsw@mail.gmail.com>
Subject: [ANNOUNCE] Call for agenda items for October 2, 2025 Community Call @
 15:00 UTC
To: xen-devel@lists.xenproject.org
Content-Type: multipart/alternative; boundary="00000000000037582c06401d1d10"

--00000000000037582c06401d1d10
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi everyone,

We=E2=80=99re getting ready for October's Xen Project Community Call on Thu=
rsday, 2
October 2025 at 15:00 UTC (4 pm UK time). We=E2=80=99d love for you to join=
. Feel
free to participate or just observe. This call is a great opportunity to
see what the community is working on, align our various efforts, and share
updates. Everyone is welcome!

*Preparation:*

   - Add any proposed agenda items or missing action items:
   https://cryptpad.fr/pad/#/2/pad/edit/yMV40EeEBarezw1peUIWNhWk/
   - If any action items have been resolved or are no longer relevant, feel
   free to remove them from the doc.


*Call Details:*

   - Date: Thursday, 2 October 2025
   - Time: 15:00 UTC (agenda begins at 15:05 UTC)
   - Find your local timezone here
   <https://www.worldtimebuddy.com/?qm=3D1&lid=3D5368361,5128581,100,265394=
1,2988507,1850147&h=3D2988507&date=3D2025-10-2&sln=3D17-18&hf=3Dundefined&c=
=3D1641>
   - Link to Join the Call: https://meet.jit.si/XenProjectCommunityCall

We plan to open the meeting room at 15:00 UTC, but to allow time for
switching between meetings and handling any technical issues, we=E2=80=99ll
officially start discussing the agenda at 15:05 UTC.

Want to be CC=E2=80=99d on future calls?

Add or remove yourself from our Sign-up Sheet
<https://cryptpad.fr/pad/#/2/pad/edit/D9vGzihPxxAOe6RFPz0sRCf+/>.

See you tomorrow!
Cody Zuschlag
Xen Project - Community Manager

--00000000000037582c06401d1d10
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi everyone,<br><br>We=E2=80=99re getting ready for Octobe=
r&#39;s Xen Project Community Call on Thursday, 2 October 2025 at 15:00 UTC=
 (4 pm UK time). We=E2=80=99d love for you to join. Feel free to participat=
e or just observe. This call is a great opportunity to see what the communi=
ty is working on, align our various efforts, and share updates. Everyone is=
 welcome!<br><br><b>Preparation:</b><br><ul style=3D""><li style=3D"">Add a=
ny proposed agenda items or missing action items:=C2=A0<a href=3D"https://c=
ryptpad.fr/pad/#/2/pad/edit/yMV40EeEBarezw1peUIWNhWk/">https://cryptpad.fr/=
pad/#/2/pad/edit/yMV40EeEBarezw1peUIWNhWk/</a></li><li style=3D"">If any ac=
tion items have been resolved or are no longer relevant, feel free to remov=
e them from the doc.</li></ul><br><b>Call Details:</b><br><ul style=3D""><l=
i style=3D"">Date: Thursday, 2 October 2025</li><li style=3D"">Time: 15:00 =
UTC (agenda begins at 15:05 UTC)</li><li style=3D""><a href=3D"https://www.=
worldtimebuddy.com/?qm=3D1&amp;lid=3D5368361,5128581,100,2653941,2988507,18=
50147&amp;h=3D2988507&amp;date=3D2025-10-2&amp;sln=3D17-18&amp;hf=3Dundefin=
ed&amp;c=3D1641">Find your local timezone here</a></li><li style=3D"">Link =
to Join the Call: <a href=3D"https://meet.jit.si/XenProjectCommunityCall">h=
ttps://meet.jit.si/XenProjectCommunityCall</a></li></ul>We plan to open the=
 meeting room at 15:00 UTC, but to allow time for switching between meeting=
s and handling any technical issues, we=E2=80=99ll officially start discuss=
ing the agenda at 15:05 UTC.<br><br>Want to be CC=E2=80=99d on future calls=
?<br><br>Add or remove yourself from our <a href=3D"https://cryptpad.fr/pad=
/#/2/pad/edit/D9vGzihPxxAOe6RFPz0sRCf+/">Sign-up Sheet</a>.<div><br></div><=
div>See you tomorrow!<br><div><img src=3D"https://ci3.googleusercontent.com=
/mail-sig/AIorK4x5nkRDCOFJDJAv9aMXdZ0mghItsp3D36JrwBCQtitBSW_0NeDS6mBmJ2F4v=
ZVE2oBOqnY6IaJUrl12"></div><div><div dir=3D"ltr" class=3D"gmail_signature" =
data-smartmail=3D"gmail_signature"><div dir=3D"ltr"><div>Cody Zuschlag</div=
><div>Xen Project - Community Manager</div></div></div></div></div></div>

--00000000000037582c06401d1d10--


From xen-devel-bounces@lists.xenproject.org Wed Oct 01 20:01:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Oct 2025 20:01:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1135050.1472457 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v430v-0004RU-NW; Wed, 01 Oct 2025 20:01:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1135050.1472457; Wed, 01 Oct 2025 20:01:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v430v-0004RN-Kk; Wed, 01 Oct 2025 20:01:25 +0000
Received: by outflank-mailman (input) for mailman id 1135050;
 Wed, 01 Oct 2025 20:01:24 +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
 <SRS0=IbxQ=4K=epam.com=milan_djokic@srs-se1.protection.inumbo.net>)
 id 1v430u-0004RH-7z
 for xen-devel@lists.xenproject.org; Wed, 01 Oct 2025 20:01:24 +0000
Received: from AM0PR02CU008.outbound.protection.outlook.com
 (mail-westeuropeazlp170130006.outbound.protection.outlook.com
 [2a01:111:f403:c201::6])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 676429a2-9f01-11f0-9d14-b5c5bf9af7f9;
 Wed, 01 Oct 2025 22:01:23 +0200 (CEST)
Received: from GV2PR03MB10998.eurprd03.prod.outlook.com (2603:10a6:150:27b::9)
 by GV1PR03MB8766.eurprd03.prod.outlook.com (2603:10a6:150:89::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9160.16; Wed, 1 Oct
 2025 20:01:20 +0000
Received: from GV2PR03MB10998.eurprd03.prod.outlook.com
 ([fe80::3358:d080:db3f:c4a]) by GV2PR03MB10998.eurprd03.prod.outlook.com
 ([fe80::3358:d080:db3f:c4a%7]) with mapi id 15.20.9160.017; Wed, 1 Oct 2025
 20:01:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 676429a2-9f01-11f0-9d14-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=CN0LaXOdsf5u0m57SflZN30SmSVDgVtNdoaaNZrWpwcm6kqQfzmIBzeX1fVSgqcRBCy0mOinSXN2xQ4uKIj+0k8zK7/W9z91CHZKxBHIVV+BdCKo6aByDK6NI5K7xon0+pxo5tJHI/i0976JivwTKMjLV+JHT2qUmqWZyverWkwIwv5njwDhcFsEYpgcfldcMu/q1ZFdFbjOHKijp4dw5G1egwDu2j+gFLKarNJEcJOsFMfroAPHKMlo04TPrvWyAwwdhAzIwgUi/sG/boSYGyCD24Q4xlkeGCH7a45h2ajHuRGhQGu1BcZRHOWgZai6c6Fooe2VhSo+xRDWMft88g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5OZ4W9JY6oIr64owyu6CLBdDMrcxrC31dr4eXTBG2Q8=;
 b=w2fF0PmeYpL111iEJQOYuyikAFEw6+lmkIc5rlmE0u5oTUP9ImWX6CUzSi5zPlRALnVbZzNDzlzzVOCSKg9D6hnp0r7gJywtBX4lsxRGsG/dNPSKa0o8wC5KpMRUw+ai1i3MZpgvAuvRxpEEyYF1dWqEja2wFqLnZkrPDbMFkjE88Z1s64lFrz+7SyTny0pmIbuD8SGpJ3+fEb48Ec2Zmd+GtawbrhkPOWBwLOfMXrnIk7LAHuwjjptUkdIjPThqxXoUOzES249ckGAeqL7noIU77NCMEw6LH913uNl574G72u33nqsTUQDxFnOHiVBi2SweUIIrVxhN4aCrqMf6Gg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5OZ4W9JY6oIr64owyu6CLBdDMrcxrC31dr4eXTBG2Q8=;
 b=sG9H6lPdDmy9ERE/IpoxaILtZ14XOIfTYjy2DYeoQWO0OleteUQ8xy8MoL1remK0gW4HtMzLVrBIa+0+vkeiW8h4CnokZUiJEGHY513gIQSLgRdJ8MlG9SQsrR3evv7fojA/hy5ZZlFcP4MtimZZm3FIV7EnlFCuTwQYgOiGsXMxW6gdkHN6uJwN139A6OO4rT3TTJbi5ocuCX07n4z3UEQQ1y/XUa13PJPHGbBGgoWkDrZQzlqOuf78sb2v8E+KgthcqVLfkea02K+bdp+IDvhlvZQGse9cE9HZTpJmgVs8v30alSUvpNA1AbuPsPlC/QPStRH00Fo25olYz/YWNw==
From: Milan Djokic <milan_djokic@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Milan Djokic <milan_djokic@epam.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH] xen/arm: XEN_DOMCTL_get_address_size hypercall support
Thread-Topic: [PATCH] xen/arm: XEN_DOMCTL_get_address_size hypercall support
Thread-Index: AQHcMw4nGtW4BrEr00ihicoKFqTpuw==
Date: Wed, 1 Oct 2025 20:01:19 +0000
Message-ID:
 <39511522aae7dab5766ef2ebfed1d13abec8610e.1759324344.git.milan_djokic@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: GV2PR03MB10998:EE_|GV1PR03MB8766:EE_
x-ms-office365-filtering-correlation-id: ed98e7d8-ad4c-49f1-d97a-08de012549df
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|376014|366016|1800799024|38070700021;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?5eiViqHyj5pjsuNMUNt0l1QwQksNaTbioqOSslnsQfLyHlY5rpoWUdmoQ6?=
 =?iso-8859-1?Q?mAwy9uCjpclquagRg6mUM4QoK+zjTq8HcR5kIjC66oYxO6JOs6CFmuR3je?=
 =?iso-8859-1?Q?Iy4XEp8Z5pjkeYU9WjdnpLvqyYyfHJnn+W5qVEp5XCo1gUa389b+HlDWsM?=
 =?iso-8859-1?Q?Bdp6KrdL3xUX9VW9OuSce9mR+2J5QhOSI5TJUSC0sXmLFx6snK66va3++p?=
 =?iso-8859-1?Q?nBQ2Bs4QH6ylT1o2SU3Q1nM6XSI+TAR1Iso1iQXXgFjEcgrZ1INx1AJVSW?=
 =?iso-8859-1?Q?2xW4RVReICOGzrKoYiguXOYPTE4E004JAf++Qm8KdayYWeNnQzfQVemuo1?=
 =?iso-8859-1?Q?P4J4zjsYaxe3JCTEaBz8v/cDVJv7kFz3rpIA4U8eoYJ0MXZjBFiwMiMSOE?=
 =?iso-8859-1?Q?7Wwm4h3CHD9onJ7zxfzoWu4wKtwngawyXLvb4YRM4DSQxo2xk/XYqNOFaB?=
 =?iso-8859-1?Q?X2MQX9z7DGlR1o+uQMJ9WETBHkih+jlB9YomdKcmbHIA9pVl6ozXns1gMS?=
 =?iso-8859-1?Q?Zti2YYITNEUBU1EG0sr2cT/Iia6fmffIS4B69GvH7C2HGY4YT2VSoQhDAt?=
 =?iso-8859-1?Q?NZP7UzXi0KehuZXz/mztLg52ZYkCbxei3iEQC2HGZOodsOY6S2G0Lfqdk1?=
 =?iso-8859-1?Q?QazBi8FFoh8DxL8xhe/1AjyztiP85soIZMeiq/QIWgJgkEGyYnkpS/Eti7?=
 =?iso-8859-1?Q?TFp5I/6J+kBfXPWUgeVrOQLddH2b6uPCgsIPeejmra/8jyLKiuf5luEYQv?=
 =?iso-8859-1?Q?nlZQCKL+Pi0prow7MwTodsaXiQ2PAdFk5IHMGPY/oWADw5Rcp6T5wV8xZ+?=
 =?iso-8859-1?Q?gNbKuRbAIX/cgnRo54N389MxtiHKzkjWgilrPxqZLceKV0DrWL7COh5Fnu?=
 =?iso-8859-1?Q?kWki96JyEzTVoCjVg39Q6PZcAZfrB8yXP2oAPsaSCw9+NVRrdAqgsbp8Gx?=
 =?iso-8859-1?Q?kbJUwlGKW7N80IvWWo+oDH2J1dZ0S91wgZL1G7sDrjMzTw9h25MF05Ir+5?=
 =?iso-8859-1?Q?Tvy+2Dhy7bv/NBsJORXUOqcE4XncD+IggVRgQJuNtXVIYjaOiIRpB7+rXV?=
 =?iso-8859-1?Q?9L1OygP18a1CznmSNI3pOLc3DtT1YLs8kZD20c6DKe3Y+ubRlPuXnRGNod?=
 =?iso-8859-1?Q?zhrZr/PD5iwu9XovUHbU3xYPtwfhRuCtHQaJh0tho92QYgQdX5WsigQgAk?=
 =?iso-8859-1?Q?lf+9lZSRMW4D52O/i1pvRV1j36cS6mcmM+IriCHwdNwrkci8RKduZoDNtI?=
 =?iso-8859-1?Q?+3276oilN4Jzm3qhCSyUTmauipuaERK6U9g/zFCf7Bbpk5aTz4LhGXYP4r?=
 =?iso-8859-1?Q?1z4yyUhlVrl2ExHQl+VgGtEPNDU4Ej/bae/cK8Zs4KkT3XQUxHdAPRz+nh?=
 =?iso-8859-1?Q?z2DEeINZmt3LgyADkWWzNnaocSf9lsRrDMb0VRJn1Hw4mAzmX0KpcmRvgj?=
 =?iso-8859-1?Q?ds2V09avDtzNigF/ouwtncXLl0E1xyP1la2bQvSE6Fh/7KV47oL2W5GHwb?=
 =?iso-8859-1?Q?7kiyTqxS5/dGxe+sLCJ8P55l0+j3dmcUQzosIq1pHSY31WlJrSTSLQk0hl?=
 =?iso-8859-1?Q?eTLfSm3ZJa7qv+3TQO4Gyhj+P58d?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:GV2PR03MB10998.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(38070700021);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?Kuts+Bl1MEKjaVtzqVY9aF3fogVy6t2PGH6D+ipA9KW751QCBWbdC0HnSI?=
 =?iso-8859-1?Q?41Xl/z60EW+q1YcRkWcrlLn7hdHIXIHiRC4TqAUCfoOrhzuKg7FfIVq1+5?=
 =?iso-8859-1?Q?Gt4C4d8oNOhZ+YDJP4I5PGcPn6lSMipI9hCIIYF/9JKdWRgBg308PX8dOd?=
 =?iso-8859-1?Q?PpYouQBgytsaTBZtMS1PhRLl0cppIB1YGETD+92ujGqweZm+cvHRblQ49g?=
 =?iso-8859-1?Q?mqaagkCXWaVMap7oV+WQtylXL/I8Qhbi7bdh0Wmdek36Jo9ROq+EVqtAwH?=
 =?iso-8859-1?Q?sHlh39hhr8ITgBI7M09WyrDfl0RE35xqbVPcz/7pSgOyLWVBXElhsLgemk?=
 =?iso-8859-1?Q?kmxXN1geqnMx/uUn3e1pQjBj4sFf9oBnZ2o7068Nx9C75toYQ3ibloyr+b?=
 =?iso-8859-1?Q?OTc3dm5mRECAROYNi9ZzFYnJT+44k+oHMd4/Zn+9AfZFyuQEI23vAQE+QK?=
 =?iso-8859-1?Q?lP8le3/pAq8ZEVXyVZb5KcLM+u4jqCrKmmztFWKw8+iGGFImCvdrZKcJkx?=
 =?iso-8859-1?Q?XsQ1JdC8pc7hyyPbpOCkrPpmwJaMfEtDGL3NF1bwolpaAZytZUgiCJuD5L?=
 =?iso-8859-1?Q?MMwjx5jdGWxO/RuuWNgOMYaHwC1AdCXbe+pDVzedVAfG9PjC4Ce+RAB5AJ?=
 =?iso-8859-1?Q?+JBpC+oLnPQ1+xJTkbCrIt/k9hT6RTPX0gn7SSVR4U/Qs+1bfzZ3g3+mWE?=
 =?iso-8859-1?Q?JLJ9rCfTfIpr/4PoWrLgtuvq3ThFwYH35Eo0855C7HHoUDKg64MMBi2zU/?=
 =?iso-8859-1?Q?etOH3sAk68FJnFXd+8zq2W+yyTsIPcJb6V0Kng0Ksvoq6dmd68wu7LTJox?=
 =?iso-8859-1?Q?uyusbmPkxVxEMLaKbzkVnFSN4acRaHof/uMN5FLByhyXo287vBNH2HhWyo?=
 =?iso-8859-1?Q?W/bhLb1qgiXAjS7ICRbOwkpB+QqD9bUDM6LwR/Qq5ThOjrreCdoblOBaEU?=
 =?iso-8859-1?Q?Gk8si1QvfSTsTRVPPLfITJMQnAphpiN2yPRVlGg5ZxQB3IdzHemNE/9EAF?=
 =?iso-8859-1?Q?2qbiJlErSpIY0c81cD4F+1WR1WDJX1srb0M9PE9MDcjnFdIKqiMwUxzYpC?=
 =?iso-8859-1?Q?znDSm7K8+AGmmWKqmoFbBLdOnZL7kbtYH3m3th3fx7+y+XjKtMHdGZ1HNf?=
 =?iso-8859-1?Q?LZ1z3vTn9Xwzx0EEJuqmX4ahXcvFAKMmhJRGClMUBqCU85a6ChX5NNwIYY?=
 =?iso-8859-1?Q?pSB4y9X3Kt4Po0bmFPyt8YNS+gepAJRZNUWuBrzw3X9u7I5IxnbZZFJZWP?=
 =?iso-8859-1?Q?Xijq4VGX5/N7YrLp7DtK+Qg5ryUFMfWbjCcZZHygkAArXQWPlSzd6+hjEb?=
 =?iso-8859-1?Q?NOGoTu0N4qG52O5umRJ4cdCdpJjDddFKPBXk5yUDiDw3vOIyQ4ENG5u3Av?=
 =?iso-8859-1?Q?nT7qWojxKJH6J6KdH3S09EbY8wHO6iP/ZQATdt0YHEEqNoKnp7kdQb3QZ1?=
 =?iso-8859-1?Q?VACvWw/yiok9iHnAeVgYSJPPmn5IojSRFY/U73Xfvuk5Wmo9jyfAKv0/sn?=
 =?iso-8859-1?Q?Wxtt6oPS5dp/DUuVyBLxhmrXHojO99TBuVpp6lFYYOs+erxJR6JRgBj5Dy?=
 =?iso-8859-1?Q?gVGjkPapjMdH4DfIs9e4MyeecyM0Uz2eW6EiD0vNABSL/voDinixBH1A1N?=
 =?iso-8859-1?Q?9uDLXL8im4r+h1lHVpVBevpTqvefXXy3j0?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: GV2PR03MB10998.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ed98e7d8-ad4c-49f1-d97a-08de012549df
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Oct 2025 20:01:19.7618
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 2ssIUlVhsguuYfNbJz6Tc21iV2DGG4LfwfNeGb67srnYH+4xI0OOolNJPOQIlm+03EVkjqrErAT3kDzNt7G74g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR03MB8766

Signed-off-by: Milan Djokic <milan_djokic@epam.com>

---
XEN_DOMCTL_get_address_size hypercall is not implemented for arm (only for =
x86)
It would be useful to have this hypercall supported for arm64, in order to =
get
current guest addressing mode and also to verify that XEN_DOMCTL_set_addres=
s_size
performs switch to target addressing mode (instead of relying on its return=
ed error code only).
---
 xen/arch/arm/arm64/domctl.c       | 46 +++++++++++++++++++++++++++++--
 xen/arch/arm/domain.c             |  5 ++++
 xen/arch/arm/include/asm/domain.h |  1 +
 3 files changed, 49 insertions(+), 3 deletions(-)

diff --git a/xen/arch/arm/arm64/domctl.c b/xen/arch/arm/arm64/domctl.c
index 8720d126c9..f227309e06 100644
--- a/xen/arch/arm/arm64/domctl.c
+++ b/xen/arch/arm/arm64/domctl.c
@@ -12,6 +12,7 @@
 #include <public/domctl.h>
 #include <asm/arm64/sve.h>
 #include <asm/cpufeature.h>
+#include <xen/guest_access.h>
=20
 static long switch_mode(struct domain *d, enum domain_type type)
 {
@@ -33,6 +34,37 @@ static long switch_mode(struct domain *d, enum domain_ty=
pe type)
     return 0;
 }
=20
+static long get_address_size(struct domain *d, uint32_t *address_size)
+{
+    long rc =3D 0;
+    struct vcpu *v;
+    /* Check invalid arguments */
+    if ( d =3D=3D NULL || address_size =3D=3D NULL) {
+        rc =3D -EINVAL;
+    }
+    /* Domain structure type field and actual vcpu mode must be aligned */
+    if(rc =3D=3D 0) {
+        for_each_vcpu(d, v) {
+            if(vcpu_get_mode(v) !=3D d->arch.type) {
+                rc =3D -EFAULT;
+            }
+        }
+    }
+
+    if(rc =3D=3D 0) {
+        if(d->arch.type =3D=3D DOMAIN_32BIT) {
+            *address_size =3D 32U;
+        }
+        else if(d->arch.type =3D=3D DOMAIN_64BIT) {
+            *address_size =3D 64U;
+        }
+        else {
+            rc =3D -EFAULT;
+        }
+    }
+    return rc;
+}
+
 static long set_address_size(struct domain *d, uint32_t address_size)
 {
     switch ( address_size )
@@ -54,14 +86,22 @@ static long set_address_size(struct domain *d, uint32_t=
 address_size)
 long subarch_do_domctl(struct xen_domctl *domctl, struct domain *d,
                        XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
 {
+    long rc =3D 0;
     switch ( domctl->cmd )
     {
     case XEN_DOMCTL_set_address_size:
-        return set_address_size(d, domctl->u.address_size.size);
-
+        rc =3D set_address_size(d, domctl->u.address_size.size);
+        break;
+    case XEN_DOMCTL_get_address_size:
+        rc =3D get_address_size(d, &domctl->u.address_size.size);
+        if(__copy_to_guest(u_domctl, domctl, 1)) {
+            rc =3D -EFAULT;
+        }
+        break;
     default:
-        return -ENOSYS;
+        rc =3D -ENOSYS;
     }
+    return rc;
 }
=20
 /*
diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
index 1a8585d02b..9096dc7411 100644
--- a/xen/arch/arm/domain.c
+++ b/xen/arch/arm/domain.c
@@ -608,6 +608,11 @@ void vcpu_switch_to_aarch64_mode(struct vcpu *v)
     v->arch.hcr_el2 |=3D HCR_RW;
 }
=20
+unsigned int vcpu_get_mode(struct vcpu *v)
+{
+    return v->arch.hcr_el2 & HCR_RW ? DOMAIN_64BIT : DOMAIN_32BIT;
+}
+
 int arch_sanitise_domain_config(struct xen_domctl_createdomain *config)
 {
     unsigned int max_vcpus;
diff --git a/xen/arch/arm/include/asm/domain.h b/xen/arch/arm/include/asm/d=
omain.h
index af3e168374..e64402a67d 100644
--- a/xen/arch/arm/include/asm/domain.h
+++ b/xen/arch/arm/include/asm/domain.h
@@ -252,6 +252,7 @@ struct arch_vcpu
=20
 void vcpu_show_registers(struct vcpu *v);
 void vcpu_switch_to_aarch64_mode(struct vcpu *v);
+unsigned int vcpu_get_mode(struct vcpu *v);
=20
 /*
  * Due to the restriction of GICv3, the number of vCPUs in AFF0 is
--=20
2.43.0


From xen-devel-bounces@lists.xenproject.org Wed Oct 01 22:10:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Oct 2025 22:10:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1135114.1472468 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v451X-0002EW-AI; Wed, 01 Oct 2025 22:10:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1135114.1472468; Wed, 01 Oct 2025 22:10:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v451X-0002EP-7B; Wed, 01 Oct 2025 22:10:11 +0000
Received: by outflank-mailman (input) for mailman id 1135114;
 Wed, 01 Oct 2025 22:10:10 +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
 <SRS0=Rba4=4K=gmail.com=samaan.dehghan@srs-se1.protection.inumbo.net>)
 id 1v451W-0002EJ-QD
 for xen-devel@lists.xenproject.org; Wed, 01 Oct 2025 22:10:10 +0000
Received: from mail-qk1-x736.google.com (mail-qk1-x736.google.com
 [2607:f8b0:4864:20::736])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 64a19ee0-9f13-11f0-9d14-b5c5bf9af7f9;
 Thu, 02 Oct 2025 00:10:09 +0200 (CEST)
Received: by mail-qk1-x736.google.com with SMTP id
 af79cd13be357-856701dc22aso39531285a.3
 for <xen-devel@lists.xenproject.org>; Wed, 01 Oct 2025 15:10:09 -0700 (PDT)
Received: from localhost.localdomain
 (host-154-4.mdu.ilcmifre.champaign.il.us.clients.pavlovmedia.net.
 [66.253.154.4]) by smtp.gmail.com with ESMTPSA id
 af79cd13be357-87772460cbasm86196185a.23.2025.10.01.15.10.07
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Wed, 01 Oct 2025 15:10:07 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 64a19ee0-9f13-11f0-9d14-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1759356608; x=1759961408; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=M8obnliYdUG73eTILyef34SMYH3QjzHchGje3FN/rKY=;
        b=DhmlAL54wQAghI0EuqY47cwjKPSumK8POmkKBe0mLa6nTiHBW8kifTwlYwvPaFqGoX
         R/5cbaEHzvqKTvRiKPPPW5miu2CHeyxDCFSTQF4/JI3Ycr0tbohbgnEbs1fRW6jQ20xF
         QoLJc9WD/uZDQOfQ49y4JUucbD8QjzX9UEBZMqMmWfU3YbK6TVElHUDoQ1qZpWG+pAun
         eb1DQWMVHs9gyDAZjRsEPkUquesrWW+OSZFDTJ7I9qczMI4AOYpaLMCSNbV+h3cnJrR4
         wJHb+gx7Mm4c/XhSeJU2e9ubnU07aPhLsTtXntZp5nVDpb2zIwLIRkLN5pZGQNH2auY5
         JBlA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759356608; x=1759961408;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=M8obnliYdUG73eTILyef34SMYH3QjzHchGje3FN/rKY=;
        b=Jmawr2t6KCd2ZQWGexlB1RF4eMYR++HpZ0wOtttuAaimRL+HvOh0kdpz/riftwthIJ
         9SnhFvQMBkhO2PdWCKm1lK/Uw/JYvgIyYYvQFw1/fX+9py7ycC4GE0Arl7YLe4t1ciD2
         fm/ZiMZZSeSSmO0Nr3rUusxY8v9ZDbtbWxMuuGLkdHMKxSVX3nvFtDTPX5INA6ZEdVmK
         ar4K0JlzDCR1eVQMcdTdpVZbWhT1uggLZSgo9ES08F6AR1M6zl36oZvnIVQYK3gonj03
         U63+//QahjEISPn0frS9yXH9B1uilqHI0+bE1wVKAyRi3smtGek/0JrUHbH8oH6eScar
         x47Q==
X-Gm-Message-State: AOJu0YzEVmkRSeEv6oui1di3Q8PrY9lyWVURgiIY1P16HzY63noPNusw
	DwxVy1yHNGUL/2vem9n8L/jN9yb1fazrWbS+93jnp4TvaaCeev8PMT4CoBLi
X-Gm-Gg: ASbGncvGVILA11+TKJ9L2QytLQa3GCHv9CrV9V5ToMWrEEoIWtfnpRn9tEgt+61tKgv
	mxtatg+EdQfwQHBPMyBYIPB+YxFLWU2kCQR+9oOOKBg6w9okkr1nzp0w4ClqT7PMkSHw1+QeabZ
	ORDRpMnjs3oim3MiIRYpBS9i8oGnpEyXyBFltrzlH0ilL7rIzhsupd6L0LjVJwkfm8+ZirKl8aA
	dRtu9faasmxOA9oKJvhNJYh8cE2luIrvo6J/0SDD8EyjJaHMggSj+JEN0VfZRQ/wLpGRLlb/frL
	pP0Wsv/QNh4rbaUY3MzqYq14NFOeuGr72m9tvHDB0YHLGqS2/zP30i/YiVScJmwx9vXHwUKBOWb
	3i7wgurH8OmAl+cI1eo4Lbch8ZrqSuSEaC0iAlSLq7ZUdD7e8nx4MjJrFP/lBoMv1FQUF9txGNm
	CjsXMibgbSm11chtwXkTe/8pqJahIo08TN1CK1GVJXYIhQHNwcfY23RcFxmkYf1jXS/6CQrgjfv
	Q==
X-Google-Smtp-Source: AGHT+IFde8Y3z2IjUZvRtkKudHLr7N9A6FoOw1gfmjGZAqapr7RIblLh+bq8YBQr64JxIrL4baRSMA==
X-Received: by 2002:a05:620a:4550:b0:864:c43:865d with SMTP id af79cd13be357-8737566bbafmr813792485a.54.1759356608084;
        Wed, 01 Oct 2025 15:10:08 -0700 (PDT)
From: Saman Dehghan <samaan.dehghan@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Saman Dehghan <samaan.dehghan@gmail.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2] Support LLVM raw profile versions 8, 9, and 10
Date: Wed,  1 Oct 2025 17:09:52 -0500
Message-ID: <3dc1fe6ee55d973a25a0441d0f6b41e00a58227b.1759355762.git.samaan.dehghan@gmail.com>
X-Mailer: git-send-email 2.49.0
In-Reply-To: <12f2f3bd9010422004c38c23f6758c87df8682a5.1757951300.git.samaan.dehghan@gmail.com>
References: <12f2f3bd9010422004c38c23f6758c87df8682a5.1757951300.git.samaan.dehghan@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This change enables compatibility for measuring code coverage
with Clang versions 14 through 20 by supporting their
respective raw profile formats.

1- Add support for LLVM raw profile versions 8, 9, and 10
2- Initialized llvm_profile_header for all versions based on llvm source code in 
   `compiler-rt/include/profile/InstrProfData.inc` for each version.
3- We tested this patch for all clang versions from 14 through 20 on both ARM and X86 platform

Signed-off-by: Saman Dehghan <samaan.dehghan@gmail.com>
---
 xen/common/coverage/llvm.c | 78 +++++++++++++++++++++++++++-----------
 xen/include/xen/types.h    |  1 +
 2 files changed, 57 insertions(+), 22 deletions(-)

diff --git a/xen/common/coverage/llvm.c b/xen/common/coverage/llvm.c
index 517b2aa8c2..f92f10654c 100644
--- a/xen/common/coverage/llvm.c
+++ b/xen/common/coverage/llvm.c
@@ -44,27 +44,55 @@
     ((uint64_t)'f' << 16) | ((uint64_t)'R' << 8)  | ((uint64_t)129)
 #endif
 
-#define LLVM_PROFILE_VERSION    4
+#if __clang_major__ >= 19
+#define LLVM_PROFILE_VERSION    10
+#define LLVM_PROFILE_NUM_KINDS  3
+#elif __clang_major__ == 18
+#define LLVM_PROFILE_VERSION    9
 #define LLVM_PROFILE_NUM_KINDS  2
+#elif __clang_major__ >= 14
+#define LLVM_PROFILE_VERSION    8
+#define LLVM_PROFILE_NUM_KINDS  2
+#else
+#error "Unsupported Clang version"
+#endif
 
 struct llvm_profile_data {
     uint64_t name_ref;
     uint64_t function_hash;
-    void *counter;
-    void *function;
-    void *values;
+    intptr_t *relative_counter;
+#if __clang_major__ >= 18
+    intptr_t *relative_bitmap;
+#endif
+    intptr_t *function;
+    intptr_t *values;
     uint32_t nr_counters;
     uint16_t nr_value_sites[LLVM_PROFILE_NUM_KINDS];
+#if __clang_major__ >= 18
+    uint32_t numbitmap_bytes;
+#endif
 };
 
 struct llvm_profile_header {
     uint64_t magic;
     uint64_t version;
-    uint64_t data_size;
-    uint64_t counters_size;
+    uint64_t binary_ids_size;
+    uint64_t num_data;
+    uint64_t padding_bytes_before_counters;
+    uint64_t num_counters;
+    uint64_t padding_bytes_after_counters;
+    uint64_t num_bitmap_bytes;
+    uint64_t padding_bytes_after_bitmap_bytes;
     uint64_t names_size;
+#if __clang_major__ >= 18
     uint64_t counters_delta;
+    uint64_t bitmap_delta;
+#endif
     uint64_t names_delta;
+#if __clang_major__ >= 19
+    uint64_t num_vtables;
+    uint64_t vnames_size;
+#endif
     uint64_t value_kind_last;
 };
 
@@ -76,19 +104,20 @@ struct llvm_profile_header {
  */
 int __llvm_profile_runtime;
 
-extern const struct llvm_profile_data __start___llvm_prf_data[];
-extern const struct llvm_profile_data __stop___llvm_prf_data[];
-extern const char __start___llvm_prf_names[];
-extern const char __stop___llvm_prf_names[];
-extern uint64_t __start___llvm_prf_cnts[];
-extern uint64_t __stop___llvm_prf_cnts[];
+extern char __start___llvm_prf_data[];
+extern char __stop___llvm_prf_data[];
+extern char __start___llvm_prf_names[];
+extern char __stop___llvm_prf_names[];
+extern char __start___llvm_prf_cnts[];
+extern char __stop___llvm_prf_cnts[];
+
+#define START_DATA      ((const char *)__start___llvm_prf_data)
+#define END_DATA        ((const char *)__stop___llvm_prf_data)
+#define START_NAMES     ((const char *)__start___llvm_prf_names)
+#define END_NAMES       ((const char *)__stop___llvm_prf_names)
+#define START_COUNTERS  ((char *)__start___llvm_prf_cnts)
+#define END_COUNTERS    ((char *)__stop___llvm_prf_cnts)
 
-#define START_DATA      ((const void *)__start___llvm_prf_data)
-#define END_DATA        ((const void *)__stop___llvm_prf_data)
-#define START_NAMES     ((const void *)__start___llvm_prf_names)
-#define END_NAMES       ((const void *)__stop___llvm_prf_names)
-#define START_COUNTERS  ((void *)__start___llvm_prf_cnts)
-#define END_COUNTERS    ((void *)__stop___llvm_prf_cnts)
 
 static void cf_check reset_counters(void)
 {
@@ -107,10 +136,15 @@ static int cf_check dump(
     struct llvm_profile_header header = {
         .magic = LLVM_PROFILE_MAGIC,
         .version = LLVM_PROFILE_VERSION,
-        .data_size = (END_DATA - START_DATA) / sizeof(struct llvm_profile_data),
-        .counters_size = (END_COUNTERS - START_COUNTERS) / sizeof(uint64_t),
-        .names_size = END_NAMES - START_NAMES,
-        .counters_delta = (uintptr_t)START_COUNTERS,
+        .binary_ids_size = 0,
+        .num_data = (((intptr_t)END_DATA + sizeof(struct llvm_profile_data) - 1)
+                - (intptr_t)START_DATA) / sizeof(struct llvm_profile_data),
+        .padding_bytes_before_counters = 0,
+        .num_counters = (((intptr_t)END_COUNTERS + sizeof(uint64_t) - 1)
+                - (intptr_t)START_COUNTERS) / sizeof(uint64_t),
+        .padding_bytes_after_counters = 0,
+        .names_size = (END_NAMES - START_NAMES) * sizeof(char),
+        .counters_delta = (uintptr_t)START_COUNTERS - (uintptr_t)START_DATA,
         .names_delta = (uintptr_t)START_NAMES,
         .value_kind_last = LLVM_PROFILE_NUM_KINDS - 1,
     };
diff --git a/xen/include/xen/types.h b/xen/include/xen/types.h
index 73ddccbbd5..799bfe0b95 100644
--- a/xen/include/xen/types.h
+++ b/xen/include/xen/types.h
@@ -18,6 +18,7 @@ typedef signed long ssize_t;
 
 typedef __PTRDIFF_TYPE__ ptrdiff_t;
 typedef __UINTPTR_TYPE__ uintptr_t;
+typedef __INTPTR_TYPE__ intptr_t;
 
 /*
  * Users of this macro are expected to pass a positive value.
-- 
2.49.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 01 22:22:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Oct 2025 22:22:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1135141.1472478 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v45De-0003tO-Au; Wed, 01 Oct 2025 22:22:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1135141.1472478; Wed, 01 Oct 2025 22:22:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v45De-0003tH-80; Wed, 01 Oct 2025 22:22:42 +0000
Received: by outflank-mailman (input) for mailman id 1135141;
 Wed, 01 Oct 2025 22:22:40 +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
 <SRS0=Rba4=4K=gmail.com=samaan.dehghan@srs-se1.protection.inumbo.net>)
 id 1v45Dc-0003tB-Ht
 for xen-devel@lists.xenproject.org; Wed, 01 Oct 2025 22:22:40 +0000
Received: from mail-pj1-x1036.google.com (mail-pj1-x1036.google.com
 [2607:f8b0:4864:20::1036])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 224b0d6d-9f15-11f0-9809-7dc792cee155;
 Thu, 02 Oct 2025 00:22:37 +0200 (CEST)
Received: by mail-pj1-x1036.google.com with SMTP id
 98e67ed59e1d1-33292adb180so465829a91.3
 for <xen-devel@lists.xenproject.org>; Wed, 01 Oct 2025 15:22:37 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 224b0d6d-9f15-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1759357356; x=1759962156; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=8GVWMIPd8NLRnK9xwXf90VQaVwaPrNEsbeLW86sPI7A=;
        b=cch1R7b85MHE8TBNVdlQMnKAorfHosk3xrtXO+81pe8vUhgLp3uR1tURNt0gKQx/hd
         yXWz3LimyvdMa9nBY6hOrxVn0ZtvMvQNNzaR/UO9+GpZlBEInfLkPI5vAJrPgGYUWKhJ
         tXKimo9JfGX4+dbMhAY412LGKVROb/1rmizw+YvPHWKTZ5FyAJ6j3Wf5D6fKJn6N0wAt
         nfFv7XZ+5lcOgAVlmfqhWzgXaGHeov5DeGYX8uUuKb7sIiEj0r9eXpcq5bh3b5vQvcA9
         e9C68C37KLpMtOVyV3dosuZpQ9R1KgTxTuKzvCM8rIOeHgWUmxs73ERBgQa/KxPJwV+U
         E9aA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759357356; x=1759962156;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=8GVWMIPd8NLRnK9xwXf90VQaVwaPrNEsbeLW86sPI7A=;
        b=L7fmJ2Uub3fduKwxpEqF5PJwmx8AnY4b+GeNcfmeYmqDj3b85UIakSRLdyX3YgOXoL
         mf3kmBQmSY7UgJB3G2tAT/vIjw2alUzaarRDyWSQUTE0TxPnYCyrHIUbYGTMT02pVY0j
         4MtwWf9msNDjPEldlpbYslqBTnqvV3j2krLV/WUcXMSVVCym3mBGp7d+7/l8V1eTV9hw
         qp5oZhLzVtSFdpmqqYZJfox5fMXTsopLIuCPErnShNqqB39yAmWdos1tRcPNGui8aIJy
         pWd18pHjoMRAkFFWzVo+aQDHVCx5qQC+eibtO+7Q1UCtN8ogLzO2Q26kocowaL2HtX08
         nhWA==
X-Gm-Message-State: AOJu0YzsmF0VXISnRtbqYMIA11/wIY3O4lHRCKEbzlqFV70mxNb0VV4/
	h0goqh0DhV6pz13Hs5BoAatLvVAA49qVJEx2qCzEoN8RRQyCnAHykEUViMHGTNWgal59DLxEo3s
	S7ZX5eOa1mjrCnW/k1HYhBdbOQz/yxnVUhJU=
X-Gm-Gg: ASbGncv4A664Wfq8puLK4pqOmusku1YffrSj2UraJ5kWhLBeeHKnuA7fJJU2XwLv8lD
	DZu4byF+40Dk19CZoDfEviIsS8HNX7YH3XlN8mb0T23dHMEXQpJvXiLpf3KVkmzQFskCVl2MptP
	o+Qln9P05MLzljIpn8W84r+OqAY5jhgGi2Iyogchd0mdwx1MN8QlUrgU3ECIwjc/HFFEzhaK2P2
	mVUQlRwFYH0VVy2HNpBQzXS8Bpg
X-Google-Smtp-Source: AGHT+IHh5wF/Kt73G+EXoT7ZhRxhQbm6eMJI1XbYdB2Pc23TKgP2TUJxk7kf6kJ/pqPBcDZza13q/YEAaYZ67KcXuNc=
X-Received: by 2002:a17:90b:4d0d:b0:330:84c8:92d0 with SMTP id
 98e67ed59e1d1-339a6f3f682mr5945357a91.24.1759357355731; Wed, 01 Oct 2025
 15:22:35 -0700 (PDT)
MIME-Version: 1.0
References: <12f2f3bd9010422004c38c23f6758c87df8682a5.1757951300.git.samaan.dehghan@gmail.com>
In-Reply-To: <12f2f3bd9010422004c38c23f6758c87df8682a5.1757951300.git.samaan.dehghan@gmail.com>
From: saman dehghan <samaan.dehghan@gmail.com>
Date: Wed, 1 Oct 2025 17:22:24 -0500
X-Gm-Features: AS18NWA6yUh-Xw2KgRQwd7LZ7o3_mWYmJ1-asHIZa7mTR74tG_lCyGmgwowpkCI
Message-ID: <CAHFNDNhTEsuDJKU_NxpUEekS9T+Jt21keuiMxkMod8T=f7o_ag@mail.gmail.com>
Subject: Re: [llvm coverage] Update LLVM profile raw format from v4 to v10
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>
Content-Type: multipart/alternative; boundary="00000000000038b1300640204e51"

--00000000000038b1300640204e51
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

This change enables compatibility for measuring code coverage
with Clang versions 14 through 20 by supporting their
respective raw profile formats.

1- Add support for LLVM raw profile versions 8, 9, and 10
2- Initialized llvm_profile_header for all versions based on llvm source
code in
   `compiler-rt/include/profile/InstrProfData.inc` for each version.
3- We tested this patch for all clang versions from 14 through 20 on both
ARM and X86 platform

Signed-off-by: Saman Dehghan <samaan.dehghan@gmail.com>
---
 xen/common/coverage/llvm.c | 78 +++++++++++++++++++++++++++-----------
 xen/include/xen/types.h    |  1 +
 2 files changed, 57 insertions(+), 22 deletions(-)

diff --git a/xen/common/coverage/llvm.c b/xen/common/coverage/llvm.c
index 517b2aa8c2..f92f10654c 100644
--- a/xen/common/coverage/llvm.c
+++ b/xen/common/coverage/llvm.c
@@ -44,27 +44,55 @@
     ((uint64_t)'f' << 16) | ((uint64_t)'R' << 8)  | ((uint64_t)129)
 #endif

-#define LLVM_PROFILE_VERSION    4
+#if __clang_major__ >=3D 19
+#define LLVM_PROFILE_VERSION    10
+#define LLVM_PROFILE_NUM_KINDS  3
+#elif __clang_major__ =3D=3D 18
+#define LLVM_PROFILE_VERSION    9
 #define LLVM_PROFILE_NUM_KINDS  2
+#elif __clang_major__ >=3D 14
+#define LLVM_PROFILE_VERSION    8
+#define LLVM_PROFILE_NUM_KINDS  2
+#else
+#error "Unsupported Clang version"
+#endif

 struct llvm_profile_data {
     uint64_t name_ref;
     uint64_t function_hash;
-    void *counter;
-    void *function;
-    void *values;
+    intptr_t *relative_counter;
+#if __clang_major__ >=3D 18
+    intptr_t *relative_bitmap;
+#endif
+    intptr_t *function;
+    intptr_t *values;
     uint32_t nr_counters;
     uint16_t nr_value_sites[LLVM_PROFILE_NUM_KINDS];
+#if __clang_major__ >=3D 18
+    uint32_t numbitmap_bytes;
+#endif
 };

 struct llvm_profile_header {
     uint64_t magic;
     uint64_t version;
-    uint64_t data_size;
-    uint64_t counters_size;
+    uint64_t binary_ids_size;
+    uint64_t num_data;
+    uint64_t padding_bytes_before_counters;
+    uint64_t num_counters;
+    uint64_t padding_bytes_after_counters;
+    uint64_t num_bitmap_bytes;
+    uint64_t padding_bytes_after_bitmap_bytes;
     uint64_t names_size;
+#if __clang_major__ >=3D 18
     uint64_t counters_delta;
+    uint64_t bitmap_delta;
+#endif
     uint64_t names_delta;
+#if __clang_major__ >=3D 19
+    uint64_t num_vtables;
+    uint64_t vnames_size;
+#endif
     uint64_t value_kind_last;
 };

@@ -76,19 +104,20 @@ struct llvm_profile_header {
  */
 int __llvm_profile_runtime;

-extern const struct llvm_profile_data __start___llvm_prf_data[];
-extern const struct llvm_profile_data __stop___llvm_prf_data[];
-extern const char __start___llvm_prf_names[];
-extern const char __stop___llvm_prf_names[];
-extern uint64_t __start___llvm_prf_cnts[];
-extern uint64_t __stop___llvm_prf_cnts[];
+extern char __start___llvm_prf_data[];
+extern char __stop___llvm_prf_data[];
+extern char __start___llvm_prf_names[];
+extern char __stop___llvm_prf_names[];
+extern char __start___llvm_prf_cnts[];
+extern char __stop___llvm_prf_cnts[];
+
+#define START_DATA      ((const char *)__start___llvm_prf_data)
+#define END_DATA        ((const char *)__stop___llvm_prf_data)
+#define START_NAMES     ((const char *)__start___llvm_prf_names)
+#define END_NAMES       ((const char *)__stop___llvm_prf_names)
+#define START_COUNTERS  ((char *)__start___llvm_prf_cnts)
+#define END_COUNTERS    ((char *)__stop___llvm_prf_cnts)

-#define START_DATA      ((const void *)__start___llvm_prf_data)
-#define END_DATA        ((const void *)__stop___llvm_prf_data)
-#define START_NAMES     ((const void *)__start___llvm_prf_names)
-#define END_NAMES       ((const void *)__stop___llvm_prf_names)
-#define START_COUNTERS  ((void *)__start___llvm_prf_cnts)
-#define END_COUNTERS    ((void *)__stop___llvm_prf_cnts)

 static void cf_check reset_counters(void)
 {
@@ -107,10 +136,15 @@ static int cf_check dump(
     struct llvm_profile_header header =3D {
         .magic =3D LLVM_PROFILE_MAGIC,
         .version =3D LLVM_PROFILE_VERSION,
-        .data_size =3D (END_DATA - START_DATA) / sizeof(struct
llvm_profile_data),
-        .counters_size =3D (END_COUNTERS - START_COUNTERS) /
sizeof(uint64_t),
-        .names_size =3D END_NAMES - START_NAMES,
-        .counters_delta =3D (uintptr_t)START_COUNTERS,
+        .binary_ids_size =3D 0,
+        .num_data =3D (((intptr_t)END_DATA + sizeof(struct
llvm_profile_data) - 1)
+                - (intptr_t)START_DATA) / sizeof(struct llvm_profile_data)=
,
+        .padding_bytes_before_counters =3D 0,
+        .num_counters =3D (((intptr_t)END_COUNTERS + sizeof(uint64_t) - 1)
+                - (intptr_t)START_COUNTERS) / sizeof(uint64_t),
+        .padding_bytes_after_counters =3D 0,
+        .names_size =3D (END_NAMES - START_NAMES) * sizeof(char),
+        .counters_delta =3D (uintptr_t)START_COUNTERS -
(uintptr_t)START_DATA,
         .names_delta =3D (uintptr_t)START_NAMES,
         .value_kind_last =3D LLVM_PROFILE_NUM_KINDS - 1,
     };
diff --git a/xen/include/xen/types.h b/xen/include/xen/types.h
index 73ddccbbd5..799bfe0b95 100644
--- a/xen/include/xen/types.h
+++ b/xen/include/xen/types.h
@@ -18,6 +18,7 @@ typedef signed long ssize_t;

 typedef __PTRDIFF_TYPE__ ptrdiff_t;
 typedef __UINTPTR_TYPE__ uintptr_t;
+typedef __INTPTR_TYPE__ intptr_t;

 /*
  * Users of this macro are expected to pass a positive value.
--=20
2.49.0

On Mon, Sep 15, 2025 at 11:56=E2=80=AFAM Saman Dehghan <samaan.dehghan@gmai=
l.com>
wrote:

> This patch updates the LLVM profile raw format in
> `xen/common/coverage/llvm.c` from version 4 to version 10,
> enabling compatibility with LLVM versions 19 and 20.
> While the patch supports only one version:
> 1. It seems better to support one version than no version --
>    the current profile version 4 is not compatible with
>    LLVM version 11 or later
> 2. The patch could be extended to support multiple
>    LLVM profile versions, e.g., from 5 to 10
>
> The llvm-cov toolchain, with its Source-based Code Coverage,
> offers two substantial advantages over gcov:
>   - More accurate coverage reporting when compiler optimizations
>     are enabled, ensuring better analysis of optimized code.
>   - Better tracking of coverage across inlined function boundaries,
>     critical for complex control flows in Xen.
>
> Overall, this change would enhance Xen's code coverage analysis
> capabilities by leveraging the latest LLVM toolchain improvements,
> particularly for safety-critical hypervisor code.
>
> The patch modifies only `xen/common/coverage/llvm.c`,
> maintaining API compatibility while enabling modern toolchain support.
> Testing was performed with LLVM 19 and 20 to confirm functionality.
>
> ---
>  xen/common/coverage/llvm.c | 22 ++++++++++++++++------
>  1 file changed, 16 insertions(+), 6 deletions(-)
>
> diff --git a/xen/common/coverage/llvm.c b/xen/common/coverage/llvm.c
> index 517b2aa8c2..3da82c6cda 100644
> --- a/xen/common/coverage/llvm.c
> +++ b/xen/common/coverage/llvm.c
> @@ -44,27 +44,37 @@
>      ((uint64_t)'f' << 16) | ((uint64_t)'R' << 8)  | ((uint64_t)129)
>  #endif
>
> -#define LLVM_PROFILE_VERSION    4
> -#define LLVM_PROFILE_NUM_KINDS  2
> +#define LLVM_PROFILE_VERSION    10
> +#define LLVM_PROFILE_NUM_KINDS  3
>
>  struct llvm_profile_data {
>      uint64_t name_ref;
>      uint64_t function_hash;
> -    void *counter;
> +    void *relative_counter;
> +    void *relative_bitmap;
>      void *function;
>      void *values;
>      uint32_t nr_counters;
>      uint16_t nr_value_sites[LLVM_PROFILE_NUM_KINDS];
> +    uint32_t numbitmap_bytes;
>  };
>
>  struct llvm_profile_header {
>      uint64_t magic;
>      uint64_t version;
> -    uint64_t data_size;
> -    uint64_t counters_size;
> +    uint64_t binary_ids_size;
> +    uint64_t num_data;
> +    uint64_t padding_bytes_before_counters;
> +    uint64_t num_counters;
> +    uint64_t padding_bytes_after_counters;
> +    uint64_t num_bitmap_bytes;
> +    uint64_t padding_bytes_after_bitmap_bytes;
>      uint64_t names_size;
>      uint64_t counters_delta;
> +    uint64_t bitmap_delta;
>      uint64_t names_delta;
> +    uint64_t num_vtables;
> +    uint64_t vnames_size;
>      uint64_t value_kind_last;
>  };
>
> @@ -110,7 +120,7 @@ static int cf_check dump(
>          .data_size =3D (END_DATA - START_DATA) / sizeof(struct
> llvm_profile_data),
>          .counters_size =3D (END_COUNTERS - START_COUNTERS) /
> sizeof(uint64_t),
>          .names_size =3D END_NAMES - START_NAMES,
> -        .counters_delta =3D (uintptr_t)START_COUNTERS,
> +        .counters_delta =3D (uintptr_t)(START_COUNTERS - START_DATA),
>          .names_delta =3D (uintptr_t)START_NAMES,
>          .value_kind_last =3D LLVM_PROFILE_NUM_KINDS - 1,
>      };
> --
> 2.49.0
>
>

--00000000000038b1300640204e51
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_default" style=3D"font-family:georgia,=
serif"><span style=3D"font-family:Arial,Helvetica,sans-serif">This change e=
nables compatibility for measuring code coverage</span><br style=3D"font-fa=
mily:Arial,Helvetica,sans-serif"><span style=3D"font-family:Arial,Helvetica=
,sans-serif">with Clang versions 14 through 20 by supporting their</span><b=
r style=3D"font-family:Arial,Helvetica,sans-serif"><span style=3D"font-fami=
ly:Arial,Helvetica,sans-serif">respective raw profile formats.</span><br st=
yle=3D"font-family:Arial,Helvetica,sans-serif"><br style=3D"font-family:Ari=
al,Helvetica,sans-serif"><span style=3D"font-family:Arial,Helvetica,sans-se=
rif">1- Add support for LLVM raw profile versions 8, 9, and 10</span><br st=
yle=3D"font-family:Arial,Helvetica,sans-serif"><span style=3D"font-family:A=
rial,Helvetica,sans-serif">2- Initialized llvm_profile_header for all versi=
ons based on llvm source code in<span class=3D"gmail-Apple-converted-space"=
>=C2=A0</span></span><br style=3D"font-family:Arial,Helvetica,sans-serif"><=
span style=3D"font-family:Arial,Helvetica,sans-serif">=C2=A0 =C2=A0`compile=
r-rt/include/profile/</span><span style=3D"font-family:Arial,Helvetica,sans=
-serif">InstrProfData.inc` for each version.</span><br style=3D"font-family=
:Arial,Helvetica,sans-serif"><span style=3D"font-family:Arial,Helvetica,san=
s-serif">3- We tested this patch for all clang versions from 14 through 20 =
on both ARM and X86 platform</span><br style=3D"font-family:Arial,Helvetica=
,sans-serif"><br style=3D"font-family:Arial,Helvetica,sans-serif"><span sty=
le=3D"font-family:Arial,Helvetica,sans-serif">Signed-off-by: Saman Dehghan =
&lt;</span><a href=3D"mailto:samaan.dehghan@gmail.com" target=3D"_blank" st=
yle=3D"font-family:Arial,Helvetica,sans-serif">samaan.dehghan@gmail.com</a>=
<span style=3D"font-family:Arial,Helvetica,sans-serif">&gt;</span><br style=
=3D"font-family:Arial,Helvetica,sans-serif"><span style=3D"font-family:Aria=
l,Helvetica,sans-serif">---</span><br style=3D"font-family:Arial,Helvetica,=
sans-serif"><span style=3D"font-family:Arial,Helvetica,sans-serif">=C2=A0xe=
n/common/coverage/llvm.c | 78 +++++++++++++++++++++++++++---</span><span st=
yle=3D"font-family:Arial,Helvetica,sans-serif">--------</span><br style=3D"=
font-family:Arial,Helvetica,sans-serif"><span style=3D"font-family:Arial,He=
lvetica,sans-serif">=C2=A0xen/include/xen/types.h=C2=A0 =C2=A0 |=C2=A0 1 +<=
/span><br style=3D"font-family:Arial,Helvetica,sans-serif"><span style=3D"f=
ont-family:Arial,Helvetica,sans-serif">=C2=A02 files changed, 57 insertions=
(+), 22 deletions(-)</span><br style=3D"font-family:Arial,Helvetica,sans-se=
rif"><br style=3D"font-family:Arial,Helvetica,sans-serif"><span style=3D"fo=
nt-family:Arial,Helvetica,sans-serif">diff --git a/xen/common/coverage/llvm=
.c b/xen/common/coverage/llvm.c</span><br style=3D"font-family:Arial,Helvet=
ica,sans-serif"><span style=3D"font-family:Arial,Helvetica,sans-serif">inde=
x 517b2aa8c2..f92f10654c 100644</span><br style=3D"font-family:Arial,Helvet=
ica,sans-serif"><span style=3D"font-family:Arial,Helvetica,sans-serif">--- =
a/xen/common/coverage/llvm.c</span><br style=3D"font-family:Arial,Helvetica=
,sans-serif"><span style=3D"font-family:Arial,Helvetica,sans-serif">+++ b/x=
en/common/coverage/llvm.c</span><br style=3D"font-family:Arial,Helvetica,sa=
ns-serif"><span style=3D"font-family:Arial,Helvetica,sans-serif">@@ -44,27 =
+44,55 @@</span><br style=3D"font-family:Arial,Helvetica,sans-serif"><span =
style=3D"font-family:Arial,Helvetica,sans-serif">=C2=A0 =C2=A0 =C2=A0((uint=
64_t)&#39;f&#39; &lt;&lt; 16) | ((uint64_t)&#39;R&#39; &lt;&lt; 8)=C2=A0 | =
((uint64_t)129)</span><br style=3D"font-family:Arial,Helvetica,sans-serif">=
<span style=3D"font-family:Arial,Helvetica,sans-serif">=C2=A0#endif</span><=
br style=3D"font-family:Arial,Helvetica,sans-serif"><br style=3D"font-famil=
y:Arial,Helvetica,sans-serif"><span style=3D"font-family:Arial,Helvetica,sa=
ns-serif">-#define LLVM_PROFILE_VERSION=C2=A0 =C2=A0 4</span><br style=3D"f=
ont-family:Arial,Helvetica,sans-serif"><span style=3D"font-family:Arial,Hel=
vetica,sans-serif">+#if __clang_major__ &gt;=3D 19</span><br style=3D"font-=
family:Arial,Helvetica,sans-serif"><span style=3D"font-family:Arial,Helveti=
ca,sans-serif">+#define LLVM_PROFILE_VERSION=C2=A0 =C2=A0 10</span><br styl=
e=3D"font-family:Arial,Helvetica,sans-serif"><span style=3D"font-family:Ari=
al,Helvetica,sans-serif">+#define LLVM_PROFILE_NUM_KINDS=C2=A0 3</span><br =
style=3D"font-family:Arial,Helvetica,sans-serif"><span style=3D"font-family=
:Arial,Helvetica,sans-serif">+#elif __clang_major__ =3D=3D 18</span><br sty=
le=3D"font-family:Arial,Helvetica,sans-serif"><span style=3D"font-family:Ar=
ial,Helvetica,sans-serif">+#define LLVM_PROFILE_VERSION=C2=A0 =C2=A0 9</spa=
n><br style=3D"font-family:Arial,Helvetica,sans-serif"><span style=3D"font-=
family:Arial,Helvetica,sans-serif">=C2=A0#define LLVM_PROFILE_NUM_KINDS=C2=
=A0 2</span><br style=3D"font-family:Arial,Helvetica,sans-serif"><span styl=
e=3D"font-family:Arial,Helvetica,sans-serif">+#elif __clang_major__ &gt;=3D=
 14</span><br style=3D"font-family:Arial,Helvetica,sans-serif"><span style=
=3D"font-family:Arial,Helvetica,sans-serif">+#define LLVM_PROFILE_VERSION=
=C2=A0 =C2=A0 8</span><br style=3D"font-family:Arial,Helvetica,sans-serif">=
<span style=3D"font-family:Arial,Helvetica,sans-serif">+#define LLVM_PROFIL=
E_NUM_KINDS=C2=A0 2</span><br style=3D"font-family:Arial,Helvetica,sans-ser=
if"><span style=3D"font-family:Arial,Helvetica,sans-serif">+#else</span><br=
 style=3D"font-family:Arial,Helvetica,sans-serif"><span style=3D"font-famil=
y:Arial,Helvetica,sans-serif">+#error &quot;Unsupported Clang version&quot;=
</span><br style=3D"font-family:Arial,Helvetica,sans-serif"><span style=3D"=
font-family:Arial,Helvetica,sans-serif">+#endif</span><br style=3D"font-fam=
ily:Arial,Helvetica,sans-serif"><br style=3D"font-family:Arial,Helvetica,sa=
ns-serif"><span style=3D"font-family:Arial,Helvetica,sans-serif">=C2=A0stru=
ct llvm_profile_data {</span><br style=3D"font-family:Arial,Helvetica,sans-=
serif"><span style=3D"font-family:Arial,Helvetica,sans-serif">=C2=A0 =C2=A0=
 =C2=A0uint64_t name_ref;</span><br style=3D"font-family:Arial,Helvetica,sa=
ns-serif"><span style=3D"font-family:Arial,Helvetica,sans-serif">=C2=A0 =C2=
=A0 =C2=A0uint64_t function_hash;</span><br style=3D"font-family:Arial,Helv=
etica,sans-serif"><span style=3D"font-family:Arial,Helvetica,sans-serif">-=
=C2=A0 =C2=A0 void *counter;</span><br style=3D"font-family:Arial,Helvetica=
,sans-serif"><span style=3D"font-family:Arial,Helvetica,sans-serif">-=C2=A0=
 =C2=A0 void *function;</span><br style=3D"font-family:Arial,Helvetica,sans=
-serif"><span style=3D"font-family:Arial,Helvetica,sans-serif">-=C2=A0 =C2=
=A0 void *values;</span><br style=3D"font-family:Arial,Helvetica,sans-serif=
"><span style=3D"font-family:Arial,Helvetica,sans-serif">+=C2=A0 =C2=A0 int=
ptr_t *relative_counter;</span><br style=3D"font-family:Arial,Helvetica,san=
s-serif"><span style=3D"font-family:Arial,Helvetica,sans-serif">+#if __clan=
g_major__ &gt;=3D 18</span><br style=3D"font-family:Arial,Helvetica,sans-se=
rif"><span style=3D"font-family:Arial,Helvetica,sans-serif">+=C2=A0 =C2=A0 =
intptr_t *relative_bitmap;</span><br style=3D"font-family:Arial,Helvetica,s=
ans-serif"><span style=3D"font-family:Arial,Helvetica,sans-serif">+#endif</=
span><br style=3D"font-family:Arial,Helvetica,sans-serif"><span style=3D"fo=
nt-family:Arial,Helvetica,sans-serif">+=C2=A0 =C2=A0 intptr_t *function;</s=
pan><br style=3D"font-family:Arial,Helvetica,sans-serif"><span style=3D"fon=
t-family:Arial,Helvetica,sans-serif">+=C2=A0 =C2=A0 intptr_t *values;</span=
><br style=3D"font-family:Arial,Helvetica,sans-serif"><span style=3D"font-f=
amily:Arial,Helvetica,sans-serif">=C2=A0 =C2=A0 =C2=A0uint32_t nr_counters;=
</span><br style=3D"font-family:Arial,Helvetica,sans-serif"><span style=3D"=
font-family:Arial,Helvetica,sans-serif">=C2=A0 =C2=A0 =C2=A0uint16_t nr_val=
ue_sites[LLVM_PROFILE_NU</span><span style=3D"font-family:Arial,Helvetica,s=
ans-serif">M_KINDS];</span><br style=3D"font-family:Arial,Helvetica,sans-se=
rif"><span style=3D"font-family:Arial,Helvetica,sans-serif">+#if __clang_ma=
jor__ &gt;=3D 18</span><br style=3D"font-family:Arial,Helvetica,sans-serif"=
><span style=3D"font-family:Arial,Helvetica,sans-serif">+=C2=A0 =C2=A0 uint=
32_t numbitmap_bytes;</span><br style=3D"font-family:Arial,Helvetica,sans-s=
erif"><span style=3D"font-family:Arial,Helvetica,sans-serif">+#endif</span>=
<br style=3D"font-family:Arial,Helvetica,sans-serif"><span style=3D"font-fa=
mily:Arial,Helvetica,sans-serif">=C2=A0};</span><br style=3D"font-family:Ar=
ial,Helvetica,sans-serif"><br style=3D"font-family:Arial,Helvetica,sans-ser=
if"><span style=3D"font-family:Arial,Helvetica,sans-serif">=C2=A0struct llv=
m_profile_header {</span><br style=3D"font-family:Arial,Helvetica,sans-seri=
f"><span style=3D"font-family:Arial,Helvetica,sans-serif">=C2=A0 =C2=A0 =C2=
=A0uint64_t magic;</span><br style=3D"font-family:Arial,Helvetica,sans-seri=
f"><span style=3D"font-family:Arial,Helvetica,sans-serif">=C2=A0 =C2=A0 =C2=
=A0uint64_t version;</span><br style=3D"font-family:Arial,Helvetica,sans-se=
rif"><span style=3D"font-family:Arial,Helvetica,sans-serif">-=C2=A0 =C2=A0 =
uint64_t data_size;</span><br style=3D"font-family:Arial,Helvetica,sans-ser=
if"><span style=3D"font-family:Arial,Helvetica,sans-serif">-=C2=A0 =C2=A0 u=
int64_t counters_size;</span><br style=3D"font-family:Arial,Helvetica,sans-=
serif"><span style=3D"font-family:Arial,Helvetica,sans-serif">+=C2=A0 =C2=
=A0 uint64_t binary_ids_size;</span><br style=3D"font-family:Arial,Helvetic=
a,sans-serif"><span style=3D"font-family:Arial,Helvetica,sans-serif">+=C2=
=A0 =C2=A0 uint64_t num_data;</span><br style=3D"font-family:Arial,Helvetic=
a,sans-serif"><span style=3D"font-family:Arial,Helvetica,sans-serif">+=C2=
=A0 =C2=A0 uint64_t padding_bytes_before_counters;</span><br style=3D"font-=
family:Arial,Helvetica,sans-serif"><span style=3D"font-family:Arial,Helveti=
ca,sans-serif">+=C2=A0 =C2=A0 uint64_t num_counters;</span><br style=3D"fon=
t-family:Arial,Helvetica,sans-serif"><span style=3D"font-family:Arial,Helve=
tica,sans-serif">+=C2=A0 =C2=A0 uint64_t padding_bytes_after_counters;</spa=
n><br style=3D"font-family:Arial,Helvetica,sans-serif"><span style=3D"font-=
family:Arial,Helvetica,sans-serif">+=C2=A0 =C2=A0 uint64_t num_bitmap_bytes=
;</span><br style=3D"font-family:Arial,Helvetica,sans-serif"><span style=3D=
"font-family:Arial,Helvetica,sans-serif">+=C2=A0 =C2=A0 uint64_t padding_by=
tes_after_bitmap_byt</span><span style=3D"font-family:Arial,Helvetica,sans-=
serif">es;</span><br style=3D"font-family:Arial,Helvetica,sans-serif"><span=
 style=3D"font-family:Arial,Helvetica,sans-serif">=C2=A0 =C2=A0 =C2=A0uint6=
4_t names_size;</span><br style=3D"font-family:Arial,Helvetica,sans-serif">=
<span style=3D"font-family:Arial,Helvetica,sans-serif">+#if __clang_major__=
 &gt;=3D 18</span><br style=3D"font-family:Arial,Helvetica,sans-serif"><spa=
n style=3D"font-family:Arial,Helvetica,sans-serif">=C2=A0 =C2=A0 =C2=A0uint=
64_t counters_delta;</span><br style=3D"font-family:Arial,Helvetica,sans-se=
rif"><span style=3D"font-family:Arial,Helvetica,sans-serif">+=C2=A0 =C2=A0 =
uint64_t bitmap_delta;</span><br style=3D"font-family:Arial,Helvetica,sans-=
serif"><span style=3D"font-family:Arial,Helvetica,sans-serif">+#endif</span=
><br style=3D"font-family:Arial,Helvetica,sans-serif"><span style=3D"font-f=
amily:Arial,Helvetica,sans-serif">=C2=A0 =C2=A0 =C2=A0uint64_t names_delta;=
</span><br style=3D"font-family:Arial,Helvetica,sans-serif"><span style=3D"=
font-family:Arial,Helvetica,sans-serif">+#if __clang_major__ &gt;=3D 19</sp=
an><br style=3D"font-family:Arial,Helvetica,sans-serif"><span style=3D"font=
-family:Arial,Helvetica,sans-serif">+=C2=A0 =C2=A0 uint64_t num_vtables;</s=
pan><br style=3D"font-family:Arial,Helvetica,sans-serif"><span style=3D"fon=
t-family:Arial,Helvetica,sans-serif">+=C2=A0 =C2=A0 uint64_t vnames_size;</=
span><br style=3D"font-family:Arial,Helvetica,sans-serif"><span style=3D"fo=
nt-family:Arial,Helvetica,sans-serif">+#endif</span><br style=3D"font-famil=
y:Arial,Helvetica,sans-serif"><span style=3D"font-family:Arial,Helvetica,sa=
ns-serif">=C2=A0 =C2=A0 =C2=A0uint64_t value_kind_last;</span><br style=3D"=
font-family:Arial,Helvetica,sans-serif"><span style=3D"font-family:Arial,He=
lvetica,sans-serif">=C2=A0};</span><br style=3D"font-family:Arial,Helvetica=
,sans-serif"><br style=3D"font-family:Arial,Helvetica,sans-serif"><span sty=
le=3D"font-family:Arial,Helvetica,sans-serif">@@ -76,19 +104,20 @@ struct l=
lvm_profile_header {</span><br style=3D"font-family:Arial,Helvetica,sans-se=
rif"><span style=3D"font-family:Arial,Helvetica,sans-serif">=C2=A0 */</span=
><br style=3D"font-family:Arial,Helvetica,sans-serif"><span style=3D"font-f=
amily:Arial,Helvetica,sans-serif">=C2=A0int __llvm_profile_runtime;</span><=
br style=3D"font-family:Arial,Helvetica,sans-serif"><br style=3D"font-famil=
y:Arial,Helvetica,sans-serif"><span style=3D"font-family:Arial,Helvetica,sa=
ns-serif">-extern const struct llvm_profile_data __start___llvm_prf_data[];=
</span><br style=3D"font-family:Arial,Helvetica,sans-serif"><span style=3D"=
font-family:Arial,Helvetica,sans-serif">-extern const struct llvm_profile_d=
ata __stop___llvm_prf_data[];</span><br style=3D"font-family:Arial,Helvetic=
a,sans-serif"><span style=3D"font-family:Arial,Helvetica,sans-serif">-exter=
n const char __start___llvm_prf_names[];</span><br style=3D"font-family:Ari=
al,Helvetica,sans-serif"><span style=3D"font-family:Arial,Helvetica,sans-se=
rif">-extern const char __stop___llvm_prf_names[];</span><br style=3D"font-=
family:Arial,Helvetica,sans-serif"><span style=3D"font-family:Arial,Helveti=
ca,sans-serif">-extern uint64_t __start___llvm_prf_cnts[];</span><br style=
=3D"font-family:Arial,Helvetica,sans-serif"><span style=3D"font-family:Aria=
l,Helvetica,sans-serif">-extern uint64_t __stop___llvm_prf_cnts[];</span><b=
r style=3D"font-family:Arial,Helvetica,sans-serif"><span style=3D"font-fami=
ly:Arial,Helvetica,sans-serif">+extern char __start___llvm_prf_data[];</spa=
n><br style=3D"font-family:Arial,Helvetica,sans-serif"><span style=3D"font-=
family:Arial,Helvetica,sans-serif">+extern char __stop___llvm_prf_data[];</=
span><br style=3D"font-family:Arial,Helvetica,sans-serif"><span style=3D"fo=
nt-family:Arial,Helvetica,sans-serif">+extern char __start___llvm_prf_names=
[];</span><br style=3D"font-family:Arial,Helvetica,sans-serif"><span style=
=3D"font-family:Arial,Helvetica,sans-serif">+extern char __stop___llvm_prf_=
names[];</span><br style=3D"font-family:Arial,Helvetica,sans-serif"><span s=
tyle=3D"font-family:Arial,Helvetica,sans-serif">+extern char __start___llvm=
_prf_cnts[];</span><br style=3D"font-family:Arial,Helvetica,sans-serif"><sp=
an style=3D"font-family:Arial,Helvetica,sans-serif">+extern char __stop___l=
lvm_prf_cnts[];</span><br style=3D"font-family:Arial,Helvetica,sans-serif">=
<span style=3D"font-family:Arial,Helvetica,sans-serif">+</span><br style=3D=
"font-family:Arial,Helvetica,sans-serif"><span style=3D"font-family:Arial,H=
elvetica,sans-serif">+#define START_DATA=C2=A0 =C2=A0 =C2=A0 ((const char *=
)__start___llvm_prf_data)</span><br style=3D"font-family:Arial,Helvetica,sa=
ns-serif"><span style=3D"font-family:Arial,Helvetica,sans-serif">+#define E=
ND_DATA=C2=A0 =C2=A0 =C2=A0 =C2=A0 ((const char *)__stop___llvm_prf_data)</=
span><br style=3D"font-family:Arial,Helvetica,sans-serif"><span style=3D"fo=
nt-family:Arial,Helvetica,sans-serif">+#define START_NAMES=C2=A0 =C2=A0 =C2=
=A0((const char *)__start___llvm_prf_names)</span><br style=3D"font-family:=
Arial,Helvetica,sans-serif"><span style=3D"font-family:Arial,Helvetica,sans=
-serif">+#define END_NAMES=C2=A0 =C2=A0 =C2=A0 =C2=A0((const char *)__stop_=
__llvm_prf_names)</span><br style=3D"font-family:Arial,Helvetica,sans-serif=
"><span style=3D"font-family:Arial,Helvetica,sans-serif">+#define START_COU=
NTERS=C2=A0 ((char *)__start___llvm_prf_cnts)</span><br style=3D"font-famil=
y:Arial,Helvetica,sans-serif"><span style=3D"font-family:Arial,Helvetica,sa=
ns-serif">+#define END_COUNTERS=C2=A0 =C2=A0 ((char *)__stop___llvm_prf_cnt=
s)</span><br style=3D"font-family:Arial,Helvetica,sans-serif"><br style=3D"=
font-family:Arial,Helvetica,sans-serif"><span style=3D"font-family:Arial,He=
lvetica,sans-serif">-#define START_DATA=C2=A0 =C2=A0 =C2=A0 ((const void *)=
__start___llvm_prf_data)</span><br style=3D"font-family:Arial,Helvetica,san=
s-serif"><span style=3D"font-family:Arial,Helvetica,sans-serif">-#define EN=
D_DATA=C2=A0 =C2=A0 =C2=A0 =C2=A0 ((const void *)__stop___llvm_prf_data)</s=
pan><br style=3D"font-family:Arial,Helvetica,sans-serif"><span style=3D"fon=
t-family:Arial,Helvetica,sans-serif">-#define START_NAMES=C2=A0 =C2=A0 =C2=
=A0((const void *)__start___llvm_prf_names)</span><br style=3D"font-family:=
Arial,Helvetica,sans-serif"><span style=3D"font-family:Arial,Helvetica,sans=
-serif">-#define END_NAMES=C2=A0 =C2=A0 =C2=A0 =C2=A0((const void *)__stop_=
__llvm_prf_names)</span><br style=3D"font-family:Arial,Helvetica,sans-serif=
"><span style=3D"font-family:Arial,Helvetica,sans-serif">-#define START_COU=
NTERS=C2=A0 ((void *)__start___llvm_prf_cnts)</span><br style=3D"font-famil=
y:Arial,Helvetica,sans-serif"><span style=3D"font-family:Arial,Helvetica,sa=
ns-serif">-#define END_COUNTERS=C2=A0 =C2=A0 ((void *)__stop___llvm_prf_cnt=
s)</span><br style=3D"font-family:Arial,Helvetica,sans-serif"><br style=3D"=
font-family:Arial,Helvetica,sans-serif"><span style=3D"font-family:Arial,He=
lvetica,sans-serif">=C2=A0static void cf_check reset_counters(void)</span><=
br style=3D"font-family:Arial,Helvetica,sans-serif"><span style=3D"font-fam=
ily:Arial,Helvetica,sans-serif">=C2=A0{</span><br style=3D"font-family:Aria=
l,Helvetica,sans-serif"><span style=3D"font-family:Arial,Helvetica,sans-ser=
if">@@ -107,10 +136,15 @@ static int cf_check dump(</span><br style=3D"font=
-family:Arial,Helvetica,sans-serif"><span style=3D"font-family:Arial,Helvet=
ica,sans-serif">=C2=A0 =C2=A0 =C2=A0struct llvm_profile_header header =3D {=
</span><br style=3D"font-family:Arial,Helvetica,sans-serif"><span style=3D"=
font-family:Arial,Helvetica,sans-serif">=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0.=
magic =3D LLVM_PROFILE_MAGIC,</span><br style=3D"font-family:Arial,Helvetic=
a,sans-serif"><span style=3D"font-family:Arial,Helvetica,sans-serif">=C2=A0=
 =C2=A0 =C2=A0 =C2=A0 =C2=A0.version =3D LLVM_PROFILE_VERSION,</span><br st=
yle=3D"font-family:Arial,Helvetica,sans-serif"><span style=3D"font-family:A=
rial,Helvetica,sans-serif">-=C2=A0 =C2=A0 =C2=A0 =C2=A0 .data_size =3D (END=
_DATA - START_DATA) / sizeof(struct llvm_profile_data),</span><br style=3D"=
font-family:Arial,Helvetica,sans-serif"><span style=3D"font-family:Arial,He=
lvetica,sans-serif">-=C2=A0 =C2=A0 =C2=A0 =C2=A0 .counters_size =3D (END_CO=
UNTERS - START_COUNTERS) / sizeof(uint64_t),</span><br style=3D"font-family=
:Arial,Helvetica,sans-serif"><span style=3D"font-family:Arial,Helvetica,san=
s-serif">-=C2=A0 =C2=A0 =C2=A0 =C2=A0 .names_size =3D END_NAMES - START_NAM=
ES,</span><br style=3D"font-family:Arial,Helvetica,sans-serif"><span style=
=3D"font-family:Arial,Helvetica,sans-serif">-=C2=A0 =C2=A0 =C2=A0 =C2=A0 .c=
ounters_delta =3D (uintptr_t)START_COUNTERS,</span><br style=3D"font-family=
:Arial,Helvetica,sans-serif"><span style=3D"font-family:Arial,Helvetica,san=
s-serif">+=C2=A0 =C2=A0 =C2=A0 =C2=A0 .binary_ids_size =3D 0,</span><br sty=
le=3D"font-family:Arial,Helvetica,sans-serif"><span style=3D"font-family:Ar=
ial,Helvetica,sans-serif">+=C2=A0 =C2=A0 =C2=A0 =C2=A0 .num_data =3D (((int=
ptr_t)END_DATA + sizeof(struct llvm_profile_data) - 1)</span><br style=3D"f=
ont-family:Arial,Helvetica,sans-serif"><span style=3D"font-family:Arial,Hel=
vetica,sans-serif">+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=
 - (intptr_t)START_DATA) / sizeof(struct llvm_profile_data),</span><br styl=
e=3D"font-family:Arial,Helvetica,sans-serif"><span style=3D"font-family:Ari=
al,Helvetica,sans-serif">+=C2=A0 =C2=A0 =C2=A0 =C2=A0 .padding_bytes_before=
_counters =3D 0,</span><br style=3D"font-family:Arial,Helvetica,sans-serif"=
><span style=3D"font-family:Arial,Helvetica,sans-serif">+=C2=A0 =C2=A0 =C2=
=A0 =C2=A0 .num_counters =3D (((intptr_t)END_COUNTERS + sizeof(uint64_t) - =
1)</span><br style=3D"font-family:Arial,Helvetica,sans-serif"><span style=
=3D"font-family:Arial,Helvetica,sans-serif">+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 - (intptr_t)START_COUNTERS) / sizeof(uint64_t),=
</span><br style=3D"font-family:Arial,Helvetica,sans-serif"><span style=3D"=
font-family:Arial,Helvetica,sans-serif">+=C2=A0 =C2=A0 =C2=A0 =C2=A0 .paddi=
ng_bytes_after_counters =3D 0,</span><br style=3D"font-family:Arial,Helveti=
ca,sans-serif"><span style=3D"font-family:Arial,Helvetica,sans-serif">+=C2=
=A0 =C2=A0 =C2=A0 =C2=A0 .names_size =3D (END_NAMES - START_NAMES) * sizeof=
(char),</span><br style=3D"font-family:Arial,Helvetica,sans-serif"><span st=
yle=3D"font-family:Arial,Helvetica,sans-serif">+=C2=A0 =C2=A0 =C2=A0 =C2=A0=
 .counters_delta =3D (uintptr_t)START_COUNTERS - (uintptr_t)START_DATA,</sp=
an><br style=3D"font-family:Arial,Helvetica,sans-serif"><span style=3D"font=
-family:Arial,Helvetica,sans-serif">=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0.name=
s_delta =3D (uintptr_t)START_NAMES,</span><br style=3D"font-family:Arial,He=
lvetica,sans-serif"><span style=3D"font-family:Arial,Helvetica,sans-serif">=
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0.value_kind_last =3D LLVM_PROFILE_NUM_KIN=
DS - 1,</span><br style=3D"font-family:Arial,Helvetica,sans-serif"><span st=
yle=3D"font-family:Arial,Helvetica,sans-serif">=C2=A0 =C2=A0 =C2=A0};</span=
><br style=3D"font-family:Arial,Helvetica,sans-serif"><span style=3D"font-f=
amily:Arial,Helvetica,sans-serif">diff --git a/xen/include/xen/types.h b/xe=
n/include/xen/types.h</span><br style=3D"font-family:Arial,Helvetica,sans-s=
erif"><span style=3D"font-family:Arial,Helvetica,sans-serif">index 73ddccbb=
d5..799bfe0b95 100644</span><br style=3D"font-family:Arial,Helvetica,sans-s=
erif"><span style=3D"font-family:Arial,Helvetica,sans-serif">--- a/xen/incl=
ude/xen/types.h</span><br style=3D"font-family:Arial,Helvetica,sans-serif">=
<span style=3D"font-family:Arial,Helvetica,sans-serif">+++ b/xen/include/xe=
n/types.h</span><br style=3D"font-family:Arial,Helvetica,sans-serif"><span =
style=3D"font-family:Arial,Helvetica,sans-serif">@@ -18,6 +18,7 @@ typedef =
signed long ssize_t;</span><br style=3D"font-family:Arial,Helvetica,sans-se=
rif"><br style=3D"font-family:Arial,Helvetica,sans-serif"><span style=3D"fo=
nt-family:Arial,Helvetica,sans-serif">=C2=A0typedef __PTRDIFF_TYPE__ ptrdif=
f_t;</span><br style=3D"font-family:Arial,Helvetica,sans-serif"><span style=
=3D"font-family:Arial,Helvetica,sans-serif">=C2=A0typedef __UINTPTR_TYPE__ =
uintptr_t;</span><br style=3D"font-family:Arial,Helvetica,sans-serif"><span=
 style=3D"font-family:Arial,Helvetica,sans-serif">+typedef __INTPTR_TYPE__ =
intptr_t;</span><br style=3D"font-family:Arial,Helvetica,sans-serif"><br st=
yle=3D"font-family:Arial,Helvetica,sans-serif"><span style=3D"font-family:A=
rial,Helvetica,sans-serif">=C2=A0/*</span><br style=3D"font-family:Arial,He=
lvetica,sans-serif"><span style=3D"font-family:Arial,Helvetica,sans-serif">=
=C2=A0 * Users of this macro are expected to pass a positive value.</span><=
font color=3D"#888888" style=3D"font-family:Arial,Helvetica,sans-serif"><br=
>--<span class=3D"gmail-Apple-converted-space">=C2=A0</span><br>2.49.0<br><=
/font></div></div><br><div class=3D"gmail_quote gmail_quote_container"><div=
 dir=3D"ltr" class=3D"gmail_attr">On Mon, Sep 15, 2025 at 11:56=E2=80=AFAM =
Saman Dehghan &lt;<a href=3D"mailto:samaan.dehghan@gmail.com">samaan.dehgha=
n@gmail.com</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=
=3D"margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;=
border-left-color:rgb(204,204,204);padding-left:1ex">This patch updates the=
 LLVM profile raw format in<br>
`xen/common/coverage/llvm.c` from version 4 to version 10,<br>
enabling compatibility with LLVM versions 19 and 20.<br>
While the patch supports only one version:<br>
1. It seems better to support one version than no version --<br>
=C2=A0 =C2=A0the current profile version 4 is not compatible with<br>
=C2=A0 =C2=A0LLVM version 11 or later<br>
2. The patch could be extended to support multiple<br>
=C2=A0 =C2=A0LLVM profile versions, e.g., from 5 to 10<br>
<br>
The llvm-cov toolchain, with its Source-based Code Coverage,<br>
offers two substantial advantages over gcov:<br>
=C2=A0 - More accurate coverage reporting when compiler optimizations<br>
=C2=A0 =C2=A0 are enabled, ensuring better analysis of optimized code.<br>
=C2=A0 - Better tracking of coverage across inlined function boundaries,<br=
>
=C2=A0 =C2=A0 critical for complex control flows in Xen.<br>
<br>
Overall, this change would enhance Xen&#39;s code coverage analysis<br>
capabilities by leveraging the latest LLVM toolchain improvements,<br>
particularly for safety-critical hypervisor code.<br>
<br>
The patch modifies only `xen/common/coverage/llvm.c`,<br>
maintaining API compatibility while enabling modern toolchain support.<br>
Testing was performed with LLVM 19 and 20 to confirm functionality.<br>
<br>
---<br>
=C2=A0xen/common/coverage/llvm.c | 22 ++++++++++++++++------<br>
=C2=A01 file changed, 16 insertions(+), 6 deletions(-)<br>
<br>
diff --git a/xen/common/coverage/llvm.c b/xen/common/coverage/llvm.c<br>
index 517b2aa8c2..3da82c6cda 100644<br>
--- a/xen/common/coverage/llvm.c<br>
+++ b/xen/common/coverage/llvm.c<br>
@@ -44,27 +44,37 @@<br>
=C2=A0 =C2=A0 =C2=A0((uint64_t)&#39;f&#39; &lt;&lt; 16) | ((uint64_t)&#39;R=
&#39; &lt;&lt; 8)=C2=A0 | ((uint64_t)129)<br>
=C2=A0#endif<br>
<br>
-#define LLVM_PROFILE_VERSION=C2=A0 =C2=A0 4<br>
-#define LLVM_PROFILE_NUM_KINDS=C2=A0 2<br>
+#define LLVM_PROFILE_VERSION=C2=A0 =C2=A0 10<br>
+#define LLVM_PROFILE_NUM_KINDS=C2=A0 3<br>
<br>
=C2=A0struct llvm_profile_data {<br>
=C2=A0 =C2=A0 =C2=A0uint64_t name_ref;<br>
=C2=A0 =C2=A0 =C2=A0uint64_t function_hash;<br>
-=C2=A0 =C2=A0 void *counter;<br>
+=C2=A0 =C2=A0 void *relative_counter;<br>
+=C2=A0 =C2=A0 void *relative_bitmap;<br>
=C2=A0 =C2=A0 =C2=A0void *function;<br>
=C2=A0 =C2=A0 =C2=A0void *values;<br>
=C2=A0 =C2=A0 =C2=A0uint32_t nr_counters;<br>
=C2=A0 =C2=A0 =C2=A0uint16_t nr_value_sites[LLVM_PROFILE_NUM_KINDS];<br>
+=C2=A0 =C2=A0 uint32_t numbitmap_bytes;<br>
=C2=A0};<br>
<br>
=C2=A0struct llvm_profile_header {<br>
=C2=A0 =C2=A0 =C2=A0uint64_t magic;<br>
=C2=A0 =C2=A0 =C2=A0uint64_t version;<br>
-=C2=A0 =C2=A0 uint64_t data_size;<br>
-=C2=A0 =C2=A0 uint64_t counters_size;<br>
+=C2=A0 =C2=A0 uint64_t binary_ids_size;<br>
+=C2=A0 =C2=A0 uint64_t num_data;<br>
+=C2=A0 =C2=A0 uint64_t padding_bytes_before_counters;<br>
+=C2=A0 =C2=A0 uint64_t num_counters;<br>
+=C2=A0 =C2=A0 uint64_t padding_bytes_after_counters;<br>
+=C2=A0 =C2=A0 uint64_t num_bitmap_bytes;=C2=A0 =C2=A0 <br>
+=C2=A0 =C2=A0 uint64_t padding_bytes_after_bitmap_bytes;<br>
=C2=A0 =C2=A0 =C2=A0uint64_t names_size;<br>
=C2=A0 =C2=A0 =C2=A0uint64_t counters_delta;<br>
+=C2=A0 =C2=A0 uint64_t bitmap_delta;<br>
=C2=A0 =C2=A0 =C2=A0uint64_t names_delta;<br>
+=C2=A0 =C2=A0 uint64_t num_vtables;<br>
+=C2=A0 =C2=A0 uint64_t vnames_size;<br>
=C2=A0 =C2=A0 =C2=A0uint64_t value_kind_last;<br>
=C2=A0};<br>
<br>
@@ -110,7 +120,7 @@ static int cf_check dump(<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0.data_size =3D (END_DATA - START_DATA) / =
sizeof(struct llvm_profile_data),<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0.counters_size =3D (END_COUNTERS - START_=
COUNTERS) / sizeof(uint64_t),<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0.names_size =3D END_NAMES - START_NAMES,<=
br>
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 .counters_delta =3D (uintptr_t)START_COUNTERS,=
<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 .counters_delta =3D (uintptr_t)(START_COUNTERS=
 - START_DATA),<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0.names_delta =3D (uintptr_t)START_NAMES,<=
br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0.value_kind_last =3D LLVM_PROFILE_NUM_KIN=
DS - 1,<br>
=C2=A0 =C2=A0 =C2=A0};<br>
-- <br>
2.49.0<br>
<br>
</blockquote></div>

--00000000000038b1300640204e51--


From xen-devel-bounces@lists.xenproject.org Thu Oct 02 01:13:13 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Oct 2025 01:13:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1135226.1472488 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v47sQ-0008KC-7J; Thu, 02 Oct 2025 01:12:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1135226.1472488; Thu, 02 Oct 2025 01:12:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v47sQ-0008K5-4D; Thu, 02 Oct 2025 01:12:58 +0000
Received: by outflank-mailman (input) for mailman id 1135226;
 Thu, 02 Oct 2025 01:12:57 +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
 <SRS0=TuKI=4L=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1v47sP-0008Jz-Op
 for xen-devel@lists.xenproject.org; Thu, 02 Oct 2025 01:12:57 +0000
Received: from sea.source.kernel.org (sea.source.kernel.org [172.234.252.31])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ea19e06e-9f2c-11f0-9809-7dc792cee155;
 Thu, 02 Oct 2025 03:12:51 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sea.source.kernel.org (Postfix) with ESMTP id 87AF841A2B;
 Thu,  2 Oct 2025 01:12:49 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id B55D7C4CEF7;
 Thu,  2 Oct 2025 01:12:48 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ea19e06e-9f2c-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1759367569;
	bh=khlVyLO7EWTnutYERtHhUFucjYfNiHlK6/Kp/ki/lfk=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=eqQ1JyqHPl5zq7lJhTa1LvsD1sAjGd3OpTglXa7srYtfh+BxlwBEgkFehHVIqdotW
	 ny9M0haILH1SrFlgzNe11Yq+Ca1kg/3P4Coc0nmBEnX9fjtC0bLQitd7cU1HgeRcj6
	 KfoII8L7gIRVi08V650vRusQr4V3GKEdICYG2Zmyt7g6CEVD9pN0mLAg2+IabQPfYw
	 mU3EsQXwbWztSqE4S0zhNJPVWxd9udE+UV+eBbug+CdJPe8LIsTRoig4K1XTkZPTrf
	 EyPxwNAzVYakcI988cF8ZEOkX+/z86WiVe3pSxqlw6sU3R7NooE7QF8f3go4z8wMOW
	 V2rfLV3JB/89Q==
Date: Wed, 1 Oct 2025 18:12:47 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>
cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
    Michal Orzel <michal.orzel@amd.com>, Ayan Kumar Halder <ayankuma@amd.com>, 
    Stefano Stabellini <stefano.stabellini@amd.com>
Subject: Re: [ImageBuilder][PATCH V2] uboot-script-gen: Add ability to
 configure static event channels
In-Reply-To: <20250930174421.2329608-1-oleksandr_tyshchenko@epam.com>
Message-ID: <alpine.DEB.2.22.394.2510011812370.7465@ubuntu-linux-20-04-desktop>
References: <20250930174421.2329608-1-oleksandr_tyshchenko@epam.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 30 Sep 2025, Oleksandr Tyshchenko wrote:
> Add DOMU_STATIC_EVTCHNS[number]="local_port remote_dom_idx remote_port; ..."
> configuration file string option specifying the static event channel
> definitions for domain.
> 
> For the following example:
> DOMU_STATIC_EVTCHNS[0]="10 1 11; 12 1 13"
> DOMU_STATIC_EVTCHNS[1]="11 0 10; 13 0 12"
> 
> it generates:
> fdt mknod /chosen/domU0 evtchn@10
> fdt set /chosen/domU0/evtchn@10 phandle <0xfffffffe>
> fdt set /chosen/domU0/evtchn@10 compatible "xen,evtchn-v1"
> fdt set /chosen/domU0/evtchn@10 xen,evtchn <10 0xfffffffd>
> fdt mknod /chosen/domU0 evtchn@12
> fdt set /chosen/domU0/evtchn@12 phandle <0xfffffffc>
> fdt set /chosen/domU0/evtchn@12 compatible "xen,evtchn-v1"
> fdt set /chosen/domU0/evtchn@12 xen,evtchn <12 0xfffffffb>
> ...
> fdt mknod /chosen/domU1 evtchn@11
> fdt set /chosen/domU1/evtchn@11 phandle <0xfffffffd>
> fdt set /chosen/domU1/evtchn@11 compatible "xen,evtchn-v1"
> fdt set /chosen/domU1/evtchn@11 xen,evtchn <11 0xfffffffe>
> fdt mknod /chosen/domU1 evtchn@13
> fdt set /chosen/domU1/evtchn@13 phandle <0xfffffffb>
> fdt set /chosen/domU1/evtchn@13 compatible "xen,evtchn-v1"
> fdt set /chosen/domU1/evtchn@13 xen,evtchn <13 0xfffffffc>
> 
> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
>   V2:
>    - completely rework based on Stefano-s suggestion at:
>      https://patchew.org/Xen/20250929180746.1881872-1-oleksandr._5Ftyshchenko@epam.com/
> ---
> ---
>  README.md                |  21 ++++++++
>  scripts/uboot-script-gen |   7 +++
>  scripts/xen_dt_domu      | 103 +++++++++++++++++++++++++++++++++++++++
>  3 files changed, 131 insertions(+)
> 
> diff --git a/README.md b/README.md
> index 7b68cf5..2efac97 100644
> --- a/README.md
> +++ b/README.md
> @@ -218,6 +218,27 @@ Where:
>        DOMU_VCPU_HARD_AFFINITY[number,1]="3"
>  ```
>  
> +- DOMU_STATIC_EVTCHNS[number]="local_port remote_dom_idx remote_port; ..."
> +  if specified, this parameter allows the configuration of static event channels
> +  for inter-domain communication. Each entry in DOMU_STATIC_EVTCHNS[number]
> +  specifies one or more event channels for a particular domain.
> +  The configuration format for each event channel definition is a set of
> +  three values:
> +    - local_port: The numeric port number for the local domain's endpoint.
> +      This value must be unique within current domain.
> +    - remote_dom_idx: The array index of the remote domain (e.g., if
> +      connecting to DomU1, this would be `1`).
> +    - remote_port: The numeric port number for the remote domain's endpoint.
> +
> +  Multiple event channel definitions for a single domain can be provided by
> +  separating them with a semicolon (;).
> +
> +  Below is an example that creates two pairs of bidirectional channels between
> +  two domains:
> +  NUM_DOMUS=2
> +  DOMU_STATIC_EVTCHNS[0]="10 1 11; 12 1 13"
> +  DOMU_STATIC_EVTCHNS[1]="11 0 10; 13 0 12"
> +
>  - DOMU_COLORS[number] specifies the colors (cache coloring) to be used
>    for the domain and is in the format startcolor-endcolor
>  
> diff --git a/scripts/uboot-script-gen b/scripts/uboot-script-gen
> index 4f92610..e319de8 100755
> --- a/scripts/uboot-script-gen
> +++ b/scripts/uboot-script-gen
> @@ -428,6 +428,8 @@ function xen_device_tree_editing()
>          fi
>      fi
>  
> +    xen_dt_build_evtchns_map
> +
>      i=0
>      while test $i -lt $NUM_DOMUS
>      do
> @@ -512,6 +514,11 @@ function xen_device_tree_editing()
>  
>          xen_dt_domu_add_vcpu_nodes "/chosen/domU$i" $i ${DOMU_VCPUS[$i]}
>  
> +        if test "${DOMU_STATIC_EVTCHNS[$i]}"
> +        then
> +            xen_dt_domu_add_evtchns "/chosen/domU$i" "$i" "${DOMU_STATIC_EVTCHNS[$i]}"
> +        fi
> +
>          add_device_tree_kernel "/chosen/domU$i" "domU${i}_kernel" ${domU_kernel_addr[$i]} ${domU_kernel_size[$i]} "${DOMU_CMD[$i]}"
>          if test "${domU_ramdisk_addr[$i]}"
>          then
> diff --git a/scripts/xen_dt_domu b/scripts/xen_dt_domu
> index 8134896..45891b3 100644
> --- a/scripts/xen_dt_domu
> +++ b/scripts/xen_dt_domu
> @@ -37,3 +37,106 @@ function xen_dt_domu_add_vcpu_nodes()
>          fi
>      done
>  }
> +
> +declare -A EVTCHN_ENDPOINT_TO_PHANDLE_MAP
> +
> +function xen_dt_build_evtchns_map()
> +{
> +    local def
> +    local local_dom_idx
> +    local local_port remote_dom_idx remote_port
> +    local new_phandle
> +    local local_key remote_key
> +
> +    for (( local_dom_idx=0; local_dom_idx<$NUM_DOMUS; local_dom_idx++ ))
> +    do
> +        local evtchn_str=${DOMU_STATIC_EVTCHNS[$local_dom_idx]}
> +        if test -z "$evtchn_str"
> +        then
> +            continue
> +        fi
> +
> +        IFS=';' read -ra evtchn_defs <<< "$evtchn_str"
> +
> +        # Loop over each definition and process both endpoints of the connection
> +        for def in "${evtchn_defs[@]}"
> +        do
> +            read -r local_port remote_dom_idx remote_port <<< "$def"
> +            if test -z "$local_port" || test -z "$remote_dom_idx" || test -z "$remote_port"
> +            then
> +                echo "Malformed evtchn definition: '$def' in DOMU_STATIC_EVTCHNS[$local_dom_idx]"
> +                cleanup_and_return_err
> +            fi
> +
> +            # Define keys for both endpoints of the connection
> +            local_key="$local_dom_idx,$local_port"
> +            remote_key="$remote_dom_idx,$remote_port"
> +
> +            if [[ "$local_key" == "$remote_key" ]]; then
> +                echo "Invalid evtchn definition: '$def' in DOMU_STATIC_EVTCHNS[$local_dom_idx]"
> +                cleanup_and_return_err
> +            fi
> +
> +            # For each key, if it is not already in our map, assign it a new phandle
> +            if [[ ! -v EVTCHN_ENDPOINT_TO_PHANDLE_MAP[$local_key] ]]
> +            then
> +                get_next_phandle new_phandle
> +                EVTCHN_ENDPOINT_TO_PHANDLE_MAP[$local_key]=$new_phandle
> +                echo "Local endpoint '$local_key' is assigned phandle '$new_phandle'"
> +            fi
> +
> +            if [[ ! -v EVTCHN_ENDPOINT_TO_PHANDLE_MAP[$remote_key] ]]
> +            then
> +                get_next_phandle new_phandle
> +                EVTCHN_ENDPOINT_TO_PHANDLE_MAP[$remote_key]=$new_phandle
> +                echo "Remote endpoint '$remote_key' is assigned phandle '$new_phandle'"
> +            fi
> +        done
> +    done
> +}
> +
> +function xen_dt_domu_add_evtchns()
> +{
> +    # $1 - dt path
> +    local path=$1
> +    # $2 - index of the current domain
> +    local local_dom_idx=$2
> +    # $3 - full event channel definition string
> +    local evtchn_str=$3
> +
> +    local def
> +    local local_port remote_dom_idx remote_port
> +    local local_phandle remote_phandle
> +    local local_key remote_key
> +
> +    IFS=';' read -ra evtchn_defs <<< "$evtchn_str"
> +
> +    # Loop over each definition and create a node for it
> +    for def in "${evtchn_defs[@]}"
> +    do
> +        read -r local_port remote_dom_idx remote_port <<< "$def"
> +        if test -z "$local_port" || test -z "$remote_dom_idx" || test -z "$remote_port"
> +        then
> +            echo "Malformed evtchn definition: '$def' in DOMU_STATIC_EVTCHNS[$local_dom_idx]"
> +            cleanup_and_return_err
> +        fi
> +
> +        # Re-create the keys for both endpoints of the connection to look up the phandles
> +        local_key="$local_dom_idx,$local_port"
> +        remote_key="$remote_dom_idx,$remote_port"
> +
> +        local_phandle=${EVTCHN_ENDPOINT_TO_PHANDLE_MAP[$local_key]}
> +        remote_phandle=${EVTCHN_ENDPOINT_TO_PHANDLE_MAP[$remote_key]}
> +
> +        if test -z "$local_phandle" || test -z "$remote_phandle"
> +        then
> +            echo "Could not find phandle for endpoint '$local_key' or '$remote_key'"
> +            cleanup_and_return_err
> +        fi
> +
> +        dt_mknode "${path}" "evtchn@$local_port"
> +        dt_set "${path}/evtchn@$local_port" "phandle" "hex" "$local_phandle"
> +        dt_set "${path}/evtchn@$local_port" "compatible" "str" "xen,evtchn-v1"
> +        dt_set "${path}/evtchn@$local_port" "xen,evtchn" "hex" "$local_port $remote_phandle"
> +    done
> +}
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Thu Oct 02 08:42:17 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Oct 2025 08:42:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1135391.1472508 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4EtA-0008HJ-5K; Thu, 02 Oct 2025 08:42:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1135391.1472508; Thu, 02 Oct 2025 08:42:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4EtA-0008HA-2F; Thu, 02 Oct 2025 08:42:12 +0000
Received: by outflank-mailman (input) for mailman id 1135391;
 Thu, 02 Oct 2025 08:42:10 +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 <SRS0=9sj0=4L=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1v4Et8-000821-Fy
 for xen-devel@lists.xenproject.org; Thu, 02 Oct 2025 08:42:10 +0000
Received: from mail-wr1-x42c.google.com (mail-wr1-x42c.google.com
 [2a00:1450:4864:20::42c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id af3f1d74-9f6b-11f0-9d14-b5c5bf9af7f9;
 Thu, 02 Oct 2025 10:42:10 +0200 (CEST)
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-42420c7de22so434632f8f.1
 for <xen-devel@lists.xenproject.org>; Thu, 02 Oct 2025 01:42:10 -0700 (PDT)
Received: from localhost.localdomain (88-187-86-199.subs.proxad.net.
 [88.187.86.199]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4255d8a6b40sm2649068f8f.2.2025.10.02.01.42.08
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Thu, 02 Oct 2025 01:42:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: af3f1d74-9f6b-11f0-9d14-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1759394529; x=1759999329; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=I6r7ywVdtgg6puBO7GNeh9QBn+ePwbPPQeAATrRMKjs=;
        b=HUrg8BLEDewS7+yN7BCvek2xSFof8pnvebsVU7NUsCLdvZHaQwqaCDHRSJns/SHZlO
         3bV9uPFh0icr8VN4/H8QvTeLhZ5Xv5t1S+Jxe5OY4VZNvzEQCsbn7hrRpiSMICtjWWvJ
         S/dO0Z1vPHjD78p5bc1fLVkjpLp3yxxSyo/2xBJEPY2DDlXGdkAJx7fztaPL5gr2dG2F
         o6tYbnHqQlr3/tRWY4dAC6HX4Ws6yyVGgdo+1m3rQ5DX2vh+EHm5qR8WrenwOP8Hjo0s
         usUGOwK/VegyfIS3VzzHkcWkvf/kSDvyBjpP7i+AWZuT+VAoDVhhJUBugluZx8U+PapX
         3SVQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759394529; x=1759999329;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=I6r7ywVdtgg6puBO7GNeh9QBn+ePwbPPQeAATrRMKjs=;
        b=drOcLM5crYpk4AOfRopXmNorXqFhmqTcMKSpqpBIvSMj4CHKomvrbvH0gF5cqtfB/C
         vpRnLtrJzqcgIlBOIfgGoE4dveLLUqrTIGoTaxkVvAXo6dVQX+vrrtq/lj+0xDCwapfN
         u5SAQpxqFXJ/lcVrPQkxecHBNh832aHxKUHtMcTx6tCtjAo2mL3ICaMaaKoYCkiFhotE
         FCa3RcvR/OcbcFa5k+0KaeHXYJe7TWsXWGtoHEHzpTsghOn3EX7wwFy6TGXMGlBk5Uor
         5OONVjiWt16x+nRhL1Vi02JTowIWvHYoDBNp4Hocy+5Sh1TzYsVhRf1nqo22fO4KVhny
         /HWg==
X-Forwarded-Encrypted: i=1; AJvYcCXPI1Eal9hOelf8zgruSeKYQPr7Sal4Oxp+MJJXHbB0Tod93Znlkbvei5tlMDLMpcmohpRH+6dhUq0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzsA9nF2IQ4MVGkoKeK2TAszj/i0DvyYB5QlbmYOIefJr6k9BKa
	02TjvPwqr8HOXRCSNlgOEBizAZIrdUDSBY4xyAvOvqEvw1K2Ry6TBkh7oSxtvGJDuqQ=
X-Gm-Gg: ASbGnctdbWg/6Sek/mdxZilfecp1oT3CoDWdnU5+FmEA4TxydrYs+VBxfW7lIBwlj5G
	hDvyHdq+1OE0pJdpPraz/XHPAq4cWpW1qeUna9M9RDSaa3PGqt1jvrAZLgggdFXAZ56SEixJH0Q
	wLM/c63OVcj8wjMMCdFWglTtOGE1s0lR0xudsST39sqVI24cxPR9X4iX3mKwHjm/s+3Gkj1wjbw
	o/iA89e+b/eJc83NTHFyLXyVNrABBa1X6f9MGY7l9HZEGLZJI8/DiFRtXtzDpiizdYR7UfFrCYD
	GXG34XOKTTvW/z14WWE1sa170fO0eUHkVOpCbKcFFyc+BMJ1EDNSBD5Znwo8BMnJTo2pPIvAqLr
	r/gGUoyErBMaVCuDLaxpKLDHXRNgzzh0U16yViPgBVZpVB5BLcd0wiJ2sErk0dkopFrt1MSci0g
	CfAA77+tOlUnp6+KJp9iXO6frUck3Nug==
X-Google-Smtp-Source: AGHT+IE1u3COjNq+oE6xio5GRW1A/vqSgcySFumrJ67RNAp4nOAK/5HZJkMzy+g6L+RiVVekcEJmKw==
X-Received: by 2002:a05:6000:400c:b0:401:5ad1:682 with SMTP id ffacd0b85a97d-42557807a65mr5230357f8f.14.1759394529461;
        Thu, 02 Oct 2025 01:42:09 -0700 (PDT)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-s390x@nongnu.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Richard Henderson <richard.henderson@linaro.org>
Subject: [PATCH v4 01/17] docs/devel/loads-stores: Stop mentioning cpu_physical_memory_write_rom()
Date: Thu,  2 Oct 2025 10:41:46 +0200
Message-ID: <20251002084203.63899-2-philmd@linaro.org>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251002084203.63899-1-philmd@linaro.org>
References: <20251002084203.63899-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Update the documentation after commit 3c8133f9737 ("Rename
cpu_physical_memory_write_rom() to address_space_write_rom()").

Signed-off-by: Philippe Mathieu-DaudÃ© <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
---
 docs/devel/loads-stores.rst | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/devel/loads-stores.rst b/docs/devel/loads-stores.rst
index 9471bac8599..f9b565da57a 100644
--- a/docs/devel/loads-stores.rst
+++ b/docs/devel/loads-stores.rst
@@ -474,7 +474,7 @@ This function is intended for use by the GDB stub and similar code.
 It takes a virtual address, converts it to a physical address via
 an MMU lookup using the current settings of the specified CPU,
 and then performs the access (using ``address_space_rw`` for
-reads or ``cpu_physical_memory_write_rom`` for writes).
+reads or ``address_space_write_rom`` for writes).
 This means that if the access is a write to a ROM then this
 function will modify the contents (whereas a normal guest CPU access
 would ignore the write attempt).
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Thu Oct 02 08:42:17 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Oct 2025 08:42:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1135390.1472498 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4Et5-00082E-Uy; Thu, 02 Oct 2025 08:42:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1135390.1472498; Thu, 02 Oct 2025 08:42:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4Et5-000827-Ry; Thu, 02 Oct 2025 08:42:07 +0000
Received: by outflank-mailman (input) for mailman id 1135390;
 Thu, 02 Oct 2025 08:42:06 +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 <SRS0=9sj0=4L=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1v4Et4-000821-PN
 for xen-devel@lists.xenproject.org; Thu, 02 Oct 2025 08:42:06 +0000
Received: from mail-wr1-x42d.google.com (mail-wr1-x42d.google.com
 [2a00:1450:4864:20::42d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ac894014-9f6b-11f0-9d14-b5c5bf9af7f9;
 Thu, 02 Oct 2025 10:42:05 +0200 (CEST)
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-3ee130237a8so507527f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 02 Oct 2025 01:42:05 -0700 (PDT)
Received: from localhost.localdomain (88-187-86-199.subs.proxad.net.
 [88.187.86.199]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4255d8ab8b0sm2683613f8f.18.2025.10.02.01.42.03
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Thu, 02 Oct 2025 01:42:04 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ac894014-9f6b-11f0-9d14-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1759394525; x=1759999325; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=NTegPe0Bb/he6v221vBe7onQOEmqDcWQ9UUafnugHrk=;
        b=E600LnmNOkKKUaFqkoP6plBaNOMvx2gx4OhflxzoQIEK4XbZetCzPu+upC+h6A0e84
         Q4c3pNGTqF2ll/fbm1+2ozdgv33pCnzo48tvyCLBThviGuuDFwSk7ffpOHpdXd3IG9PS
         6KyOAAiGChXGRGaJgDlXxG9EJ5V63+WgCiUq4mFN1EHM1Ua3KxoCAycV7C/QaplSCBlJ
         tKyqjaDLyqsusJjs591jbaJ4bf/cFf6Q5JSwfusPEIXWd87sjsm1xntNhmW7qUf0zPmi
         JHfcS8oBtxhyip3yTi1O98OA2HxG9Q0jrQQNeQ1y0qSthplQB/GHPn4BoJvV6fVjkAHM
         iuWg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759394525; x=1759999325;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=NTegPe0Bb/he6v221vBe7onQOEmqDcWQ9UUafnugHrk=;
        b=KLsfyeGaHrnAcisqUTgX2IunoHMT+c4AuaRYau3mxpTX0ocSmK7IL5MrOWk7kzyB1W
         KHE2ZpkYk1GCh7BEFuXRKfDHlwwD7z6SQlRbgtskXnEU5Ukhi2U3xbmvNN9+cOCGq1Ou
         2V/21AvA7MYeDqXBxGB3YoHZxD3ysQTpnPfUIFpgxGCMtuhlbE31oiD84JoVuUvsE1zc
         B2dTs793ybAYKTzCijGkG8QHzBDsNzfWB/qXbCVfNlOh9COD1GkCfW5mC0rs+nYXYJOm
         gMNw0zTLroCzBU5L0Mu6RaR1wYWZ0vLmM47lr3f+3cEOKajwW+n+ghPsfS1T3UW62vPc
         LhXQ==
X-Forwarded-Encrypted: i=1; AJvYcCUezAfq+PKGE2zyALJu+EIGQcfEL2hb9oReU+KNKYIVfu6ex6fItWcPPlreh6OOTFKuKSSCe1SbM9A=@lists.xenproject.org
X-Gm-Message-State: AOJu0YypmYBgOWJBvxv+8ba61Ap8DGTxPmQabHq4tMPVdkbhdGCfaKvl
	by9gx8ZHZcwK9O4uabzQhNmJ2uF9iw2QIDp7hIAWCOEOk3ZF0zgUvKC0ksYirqmbV7o=
X-Gm-Gg: ASbGnct3N+D9U5nJ2q7p72yhwcM4dwUNLmFxmHHlMuW9h/a3TKdRjddH0+HUfmKmYQm
	jquFi1zWn/+2IjmYT3kcgmhV2oydeMHpSANdZ974k2Wy/JewSDhNrwazMBvJe38pLT0UPaA/rZ6
	4fQEBm8qmk26joRSntgUAI/BtPOFtXHjPWQ8WtXGADBAt8RzyiymKGmx0mVZE44UoMg6XFwiyNk
	uiW542YbSTWLrhVvPY9R/E8MRMkiVJUfLJWUVTfNgBbIiipX2+t4OWiLk8lppvYLWMHFeNeMtHb
	C0gkWHgmYNs6ibVWfYgwFdpt9OLlPsgENfDrUpQ4uHEKxssGmg7CzkcP8ROHv0GDad9x6vEiZyq
	PFDcMSG0VVGlhkaDtPKuBykhCossXR4xmFeh+0XsFIKbr1W/m8LI93v+vE+HIqPlnLc1dfol/4e
	ddy7ByG4+EzPD6mf9F338vzgQdoITP5Q==
X-Google-Smtp-Source: AGHT+IG73iHN+13Rh40JFYt36cqDPiR27XBT7Y9OfRVKOo6LBiQqBv7ff1ie3ldwhto5T24zRQdzaQ==
X-Received: by 2002:a05:6000:240e:b0:3eb:5e99:cbbc with SMTP id ffacd0b85a97d-425577ecad9mr3404901f8f.9.1759394524821;
        Thu, 02 Oct 2025 01:42:04 -0700 (PDT)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-s390x@nongnu.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
Subject: [PATCH v4 00/17] system/physmem: Remove cpu_physical_memory _is_io() and _rw()
Date: Thu,  2 Oct 2025 10:41:45 +0200
Message-ID: <20251002084203.63899-1-philmd@linaro.org>
X-Mailer: git-send-email 2.51.0
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit

(Series fully reviewed)

Since v3:
- Do not describe flatview_translate()'s plen argument
- Use cpu->as instead of cpu_get_address_space(idx=0)
Since v2:
- Fixed vhost change
- Better describe cpu_physical_memory_rw() removal (thuth)
Since v1:
- Removed extra 'len' arg in address_space_is_io (rth)

---

The cpu_physical_memory API is legacy (see commit b7ecba0f6f6):

  ``cpu_physical_memory_*``
  ~~~~~~~~~~~~~~~~~~~~~~~~~

  These are convenience functions which are identical to
  ``address_space_*`` but operate specifically on the system address space,
  always pass a ``MEMTXATTRS_UNSPECIFIED`` set of memory attributes and
  ignore whether the memory transaction succeeded or failed.
  For new code they are better avoided:
  ...

This series removes:
  - cpu_physical_memory_is_io()
  - cpu_physical_memory_rw()
and start converting some
  - cpu_physical_memory_map()
  - cpu_physical_memory_unmap()
calls.

Based-on: <20250922192940.2908002-1-richard.henderson@linaro.org>
          "system/memory: Split address_space_write_rom_internal"

Philippe Mathieu-DaudÃ© (17):
  docs/devel/loads-stores: Stop mentioning
    cpu_physical_memory_write_rom()
  system/memory: Factor address_space_is_io() out
  target/i386/arch_memory_mapping: Use address_space_memory_is_io()
  hw/s390x/sclp: Use address_space_memory_is_io() in sclp_service_call()
  system/physmem: Remove cpu_physical_memory_is_io()
  system/physmem: Pass address space argument to
    cpu_flush_icache_range()
  hw/s390x/sclp: Replace [cpu_physical_memory -> address_space]_r/w()
  target/s390x/mmu: Replace [cpu_physical_memory -> address_space]_rw()
  target/i386/whpx: Replace legacy cpu_physical_memory_rw() call
  target/i386/kvm: Replace legacy cpu_physical_memory_rw() call
  target/i386/nvmm: Inline cpu_physical_memory_rw() in nvmm_mem_callback
  hw/xen/hvm: Inline cpu_physical_memory_rw() in rw_phys_req_item()
  system/physmem: Un-inline cpu_physical_memory_read/write()
  system/physmem: Avoid cpu_physical_memory_rw when is_write is constant
  system/physmem: Remove legacy cpu_physical_memory_rw()
  hw/virtio/vhost: Replace legacy cpu_physical_memory_*map() calls
  hw/virtio/virtio: Replace legacy cpu_physical_memory_map() call

 docs/devel/loads-stores.rst            |  6 ++--
 scripts/coccinelle/exec_rw_const.cocci | 22 --------------
 include/exec/cpu-common.h              | 18 ++---------
 include/system/memory.h                | 11 +++++++
 hw/core/loader.c                       |  2 +-
 hw/s390x/sclp.c                        | 14 ++++++---
 hw/virtio/vhost.c                      |  7 +++--
 hw/virtio/virtio.c                     | 10 +++---
 hw/xen/xen-hvm-common.c                |  8 +++--
 system/physmem.c                       | 42 ++++++++++++++------------
 target/i386/arch_memory_mapping.c      | 10 +++---
 target/i386/kvm/xen-emu.c              |  4 ++-
 target/i386/nvmm/nvmm-all.c            |  5 ++-
 target/i386/whpx/whpx-all.c            |  7 +++--
 target/s390x/mmu_helper.c              |  7 +++--
 15 files changed, 85 insertions(+), 88 deletions(-)

-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Thu Oct 02 08:42:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Oct 2025 08:42:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1135392.1472518 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4EtH-00008a-Bq; Thu, 02 Oct 2025 08:42:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1135392.1472518; Thu, 02 Oct 2025 08:42:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4EtH-00008S-8z; Thu, 02 Oct 2025 08:42:19 +0000
Received: by outflank-mailman (input) for mailman id 1135392;
 Thu, 02 Oct 2025 08:42:17 +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 <SRS0=9sj0=4L=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1v4EtF-00006C-Aq
 for xen-devel@lists.xenproject.org; Thu, 02 Oct 2025 08:42:17 +0000
Received: from mail-wr1-x42d.google.com (mail-wr1-x42d.google.com
 [2a00:1450:4864:20::42d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b224fe7a-9f6b-11f0-9809-7dc792cee155;
 Thu, 02 Oct 2025 10:42:15 +0200 (CEST)
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-3f99ac9acc4so661095f8f.3
 for <xen-devel@lists.xenproject.org>; Thu, 02 Oct 2025 01:42:15 -0700 (PDT)
Received: from localhost.localdomain (88-187-86-199.subs.proxad.net.
 [88.187.86.199]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4255d8e960asm2619549f8f.37.2025.10.02.01.42.13
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Thu, 02 Oct 2025 01:42:13 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b224fe7a-9f6b-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1759394534; x=1759999334; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=HWUjqrhoII9IYKgjMFDNsLi+Cgv2QEPokr0XBtkHqiA=;
        b=d2ACYnQjdJCASID/4ODKXEmYI3ls8DpnygtOYq43nb/uma58piGGaoVCDpeX/UgFm0
         3WrpL0Wq0YFEMDTU366YXAKS//gcDqGovyyV/sT+zr4UE/ridBCckz+82etsMf3VXbLV
         bxIjNc0iyb4bwU/a5Zhhn5YzoRhJGl/H5XnY2ldFy91Tde+T0JNA+YjT4IrVY/0rY+ag
         +f+/+GaiFdchEOCxQrcO5lntABcp4qlZREQKPEHkQpEx6MSv6g9bNlMJYrsmRel5lWSo
         rbfOjfxhqE11g6+54q9mwrblkdFHgW1gBXCre7G5bQ5VqPok3z4pY7EDwviXxhKzLN5Z
         DA6g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759394534; x=1759999334;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=HWUjqrhoII9IYKgjMFDNsLi+Cgv2QEPokr0XBtkHqiA=;
        b=cTFR0it0HsYdBzYp2Hd15CjFvAcwsCX/z8rK+JVlxM+NNdUYJXVwJnH4rEUFTUIHPf
         9304lTyOIjCVgWtPQDOD0hvmpveDs7A0BBmRo8r3BOZ9APBgXY6n7u2GYR14Ub8iFPC2
         YvN7O+NEWiC2FeflOHqbAlDqJ+woOGMzYWCjakc9g/+gcDVOrfydj4Nd2EQ3Z6UZNI0V
         ZoIr5k5ZwswCR/L9nx1J/+KvUNc2YCZ4jsPktU6IIz6mWn8C1GaGVspe7xI2JRVnv/43
         k6NiW0qvXDGjpHzdl5AfY2q3Sf/VAUQ/a5OsCQuer83ZzIoz7xs5z00BBxzNfwnx47W0
         Yp9Q==
X-Forwarded-Encrypted: i=1; AJvYcCVpvmR4HrGrUk3jjxWTmQmtoEmb+fhbqsQ7cIoJg0u9sSrUAUGVMWP8Mwzkj9ibw7rXqXx5sYNWVf8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxENtRG6kiKYxm0I4xsqVUC4IquHCAiD4D7l/eG3rskaQY+OAtF
	3wMoQ5IAxmykSf2aHHEwrBdQYd5TcdgzVLnmuQecr7NChjGeckQ2a2O42WucUy6rcZs=
X-Gm-Gg: ASbGncsvK2SHWC6bkKSV1ApHWNu+8dbxM9BouKP7QZrW3rT4R39ZlaNQ6X4KNidWZoI
	8r1nzpc35x8W1y6n6tONl2nIrPujudvuqY0pR08QrmBW8Se01poWihxVlfQ0uyOcunUwgFVNovP
	/S2DO0Ga5DGzXoMUAKbbO7fWiTGKabb9Y2V2WK6/czPySeYdQL5oOkFn4x3/WT7pmWfeCJgdUsH
	grZeKdf5zoCuD+XU3tc2apx3DnwKb47cySpEPbq0FmeO6csHfb1oyot0hhYFdtvihE/sMDvOgAB
	utAiCWbRMGkqr+agBLUgtqss5HdvbvVQJd/pN2kPNbSixB2Ukc62G6YxdKk0S7vOVbPngcxjQs4
	yU4A8kwtQdn6SlISzBaB7pVfxdgljyc8r68e5H5RZxdz6tqmsRdW5FCbxiUylkJbsnYrPebCugR
	qHAduJlmibUyoquUp/MS2TO5fKyTvY6A==
X-Google-Smtp-Source: AGHT+IGTHDHXIrJOhOoypYRjJsVDikLhcyRvRa/vBA1Wlz/iaLsadlO4HdF+yc3FSV0R35r+UTvjog==
X-Received: by 2002:a05:6000:2586:b0:3e4:d981:e312 with SMTP id ffacd0b85a97d-42557817210mr5123294f8f.62.1759394534260;
        Thu, 02 Oct 2025 01:42:14 -0700 (PDT)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-s390x@nongnu.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Thomas Huth <thuth@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Peter Xu <peterx@redhat.com>,
	David Hildenbrand <david@redhat.com>
Subject: [PATCH v4 02/17] system/memory: Factor address_space_is_io() out
Date: Thu,  2 Oct 2025 10:41:47 +0200
Message-ID: <20251002084203.63899-3-philmd@linaro.org>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251002084203.63899-1-philmd@linaro.org>
References: <20251002084203.63899-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Factor address_space_is_io() out of cpu_physical_memory_is_io().

Signed-off-by: Philippe Mathieu-DaudÃ© <philmd@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
---
 include/system/memory.h |  9 +++++++++
 system/physmem.c        | 21 ++++++++++++---------
 2 files changed, 21 insertions(+), 9 deletions(-)

diff --git a/include/system/memory.h b/include/system/memory.h
index aa85fc27a10..1b2b0e5ce1e 100644
--- a/include/system/memory.h
+++ b/include/system/memory.h
@@ -3029,6 +3029,15 @@ static inline MemoryRegion *address_space_translate(AddressSpace *as,
 bool address_space_access_valid(AddressSpace *as, hwaddr addr, hwaddr len,
                                 bool is_write, MemTxAttrs attrs);
 
+/**
+ * address_space_is_io: check whether an guest physical addresses
+ *                      whithin an address space is I/O memory.
+ *
+ * @as: #AddressSpace to be accessed
+ * @addr: address within that address space
+ */
+bool address_space_is_io(AddressSpace *as, hwaddr addr);
+
 /* address_space_map: map a physical memory region into a host virtual address
  *
  * May map a subset of the requested range, given by and returned in @plen.
diff --git a/system/physmem.c b/system/physmem.c
index 225ab817883..c2829ab407a 100644
--- a/system/physmem.c
+++ b/system/physmem.c
@@ -3358,6 +3358,17 @@ bool address_space_access_valid(AddressSpace *as, hwaddr addr,
     return flatview_access_valid(fv, addr, len, is_write, attrs);
 }
 
+bool address_space_is_io(AddressSpace *as, hwaddr addr)
+{
+    MemoryRegion *mr;
+
+    RCU_READ_LOCK_GUARD();
+    mr = address_space_translate(as, addr, &addr, NULL, false,
+                                 MEMTXATTRS_UNSPECIFIED);
+
+    return !(memory_region_is_ram(mr) || memory_region_is_romd(mr));
+}
+
 static hwaddr
 flatview_extend_translation(FlatView *fv, hwaddr addr,
                             hwaddr target_len,
@@ -3754,15 +3765,7 @@ int cpu_memory_rw_debug(CPUState *cpu, vaddr addr,
 
 bool cpu_physical_memory_is_io(hwaddr phys_addr)
 {
-    MemoryRegion*mr;
-    hwaddr l = 1;
-
-    RCU_READ_LOCK_GUARD();
-    mr = address_space_translate(&address_space_memory,
-                                 phys_addr, &phys_addr, &l, false,
-                                 MEMTXATTRS_UNSPECIFIED);
-
-    return !(memory_region_is_ram(mr) || memory_region_is_romd(mr));
+    return address_space_is_io(&address_space_memory, phys_addr);
 }
 
 int qemu_ram_foreach_block(RAMBlockIterFunc func, void *opaque)
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Thu Oct 02 08:42:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Oct 2025 08:42:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1135394.1472527 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4EtI-0000OT-OF; Thu, 02 Oct 2025 08:42:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1135394.1472527; Thu, 02 Oct 2025 08:42:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4EtI-0000OI-Kx; Thu, 02 Oct 2025 08:42:20 +0000
Received: by outflank-mailman (input) for mailman id 1135394;
 Thu, 02 Oct 2025 08:42:20 +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 <SRS0=9sj0=4L=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1v4EtI-000821-4x
 for xen-devel@lists.xenproject.org; Thu, 02 Oct 2025 08:42:20 +0000
Received: from mail-wm1-x32d.google.com (mail-wm1-x32d.google.com
 [2a00:1450:4864:20::32d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b50027e4-9f6b-11f0-9d14-b5c5bf9af7f9;
 Thu, 02 Oct 2025 10:42:19 +0200 (CEST)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-46e37d6c21eso4990735e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 02 Oct 2025 01:42:19 -0700 (PDT)
Received: from localhost.localdomain (88-187-86-199.subs.proxad.net.
 [88.187.86.199]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4255d8abf0bsm2636723f8f.17.2025.10.02.01.42.18
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Thu, 02 Oct 2025 01:42:18 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b50027e4-9f6b-11f0-9d14-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1759394539; x=1759999339; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Rvvp0krdvj9KI0seW+qea5ZtA/ftLNrinoYyViTKgNM=;
        b=Gdk0KsJiwZ8C00SypL+Y5E6t7SFCZXOTy3WPN126zkG66JuzyUYKPO6+MB1ZifYQKE
         1U2a7b06mSDLO3VYiwULdxqdMrSEmjVk/nnszrn7NKuQj/S2L7ee3rwOEFBN1ylFL48G
         s3GdSYpzolCUHtRcdUE9dbfBf///krf1JDpkquFJ21u3LSfzKis+Qbxlj6Z1DQMBkATm
         4A+rhAfV1IryIQ6+L57cbttq6scJO7F6948SR7emELGQJZ0pU3qb+ikUdaG/k6Ldu+OD
         QUnn1vlVAGjUqU4hctVP2vM5+wYcfSCS+GiVu8f5js4xeSO7erzlOABRx11r8x71crPp
         v6Kw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759394539; x=1759999339;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Rvvp0krdvj9KI0seW+qea5ZtA/ftLNrinoYyViTKgNM=;
        b=kNRJncatOG6H8jkAcg1HdggL5yeUUakrz9Z624aqXSKM9s5Mkgu7tzX4jpUYh8pPfj
         d3QgJYE0hMP1kyucZEJadeJOxCTPsrxfH8JlLDs4dsRVAW1zudGH8+IJEf5K/qNuXVlz
         ivCUlzaW2yFbiSHgJ+9l/7SxENLHR8wfmvFut91ldC9vACQpL51vgfXgKJdUsl4oA3sk
         moBgCvjKsI/3aIaL5yn916mhVaYgIEHSQv7ViQOzY3FH53J5dAYxmUyyLRajB/eZwIgF
         7va0jSuUjM6RKBOqqA2fkukO95WrlFA9K9zUe6FvfPv9phFIRW6XdAf/3lrUcrot1f4l
         edUQ==
X-Forwarded-Encrypted: i=1; AJvYcCXB2ZQ66UR9cZiOqignUs7clu8IBAGJdXpZj7sMO5blOHpAeuqFgxzEA0fBGiXJDqyrOSrHZwvcQXI=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yyg3ZZ+eoy5yYziL35BvtNwcR2q2D0c5c0DyTB22LSJMyumslew
	cgv1rIvYkXkEeNGB3bpXdniGxge5MhaxL3qOlLoBlLY4KPJIps4J/9WCQ/wzXhTjLqc=
X-Gm-Gg: ASbGnctQQ10vUFk6WcSJrrhlpnKrZyx2K9e/CTyTCBmcUMvYOszzs4zrxFL/6MXGTfK
	IouJwP1VfrkOIg3jTmqhjlWTxUkZpNygNNNnS/fh9dp0SPZqJ/scf+0DlI3oCYXiVUYPh0tYmsV
	GijrKCNh0fiTtbeMN7IZfodpHVECyzljSBc9KA4wu+Y0HrsPGn6XfPw3pvW5tCU+Lveap79TamP
	79GyPHcoHxkMJ1+6hFev7WUSclZbeNW98awdN+ygDRYxGthoaTLxZV37KbPjnGPW8C3q0BBNLAE
	XGDr0rvEcDmM8PLyrLqTYa+Grd7JRmGbtfGWLurLFgR5ABbUyBsq0BtyPt4j5SQxH3bMRQBiS8Y
	SrUJgf2z641v/jamJJHkj29vjOb6Ypy1yxch5c3G+KXLaqb2638AcOYO9J1I7RFIeVzjy2p1Xhn
	8MmeyT01GlaS2E5OhADgUXctr3iAtpyQ==
X-Google-Smtp-Source: AGHT+IG82FlfkoxisOQbRYrohdopoSBAhOILCB0HaVdDr5q4Gy9SbJH0YmtL/0EDlkKLEQXXp8/WZQ==
X-Received: by 2002:a05:600c:4ec6:b0:46c:e3df:529e with SMTP id 5b1f17b1804b1-46e612ba9ecmr42260135e9.19.1759394539032;
        Thu, 02 Oct 2025 01:42:19 -0700 (PDT)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-s390x@nongnu.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Zhao Liu <zhao1.liu@intel.com>
Subject: [PATCH v4 03/17] target/i386/arch_memory_mapping: Use address_space_memory_is_io()
Date: Thu,  2 Oct 2025 10:41:48 +0200
Message-ID: <20251002084203.63899-4-philmd@linaro.org>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251002084203.63899-1-philmd@linaro.org>
References: <20251002084203.63899-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Since all functions have an address space argument, it is
trivial to replace cpu_physical_memory_is_io() by
address_space_memory_is_io().

Signed-off-by: Philippe Mathieu-DaudÃ© <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
---
 target/i386/arch_memory_mapping.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/target/i386/arch_memory_mapping.c b/target/i386/arch_memory_mapping.c
index a2398c21732..560f4689abc 100644
--- a/target/i386/arch_memory_mapping.c
+++ b/target/i386/arch_memory_mapping.c
@@ -35,7 +35,7 @@ static void walk_pte(MemoryMappingList *list, AddressSpace *as,
         }
 
         start_paddr = (pte & ~0xfff) & ~(0x1ULL << 63);
-        if (cpu_physical_memory_is_io(start_paddr)) {
+        if (address_space_is_io(as, start_paddr)) {
             /* I/O region */
             continue;
         }
@@ -65,7 +65,7 @@ static void walk_pte2(MemoryMappingList *list, AddressSpace *as,
         }
 
         start_paddr = pte & ~0xfff;
-        if (cpu_physical_memory_is_io(start_paddr)) {
+        if (address_space_is_io(as, start_paddr)) {
             /* I/O region */
             continue;
         }
@@ -100,7 +100,7 @@ static void walk_pde(MemoryMappingList *list, AddressSpace *as,
         if (pde & PG_PSE_MASK) {
             /* 2 MB page */
             start_paddr = (pde & ~0x1fffff) & ~(0x1ULL << 63);
-            if (cpu_physical_memory_is_io(start_paddr)) {
+            if (address_space_is_io(as, start_paddr)) {
                 /* I/O region */
                 continue;
             }
@@ -142,7 +142,7 @@ static void walk_pde2(MemoryMappingList *list, AddressSpace *as,
              */
             high_paddr = ((hwaddr)(pde & 0x1fe000) << 19);
             start_paddr = (pde & ~0x3fffff) | high_paddr;
-            if (cpu_physical_memory_is_io(start_paddr)) {
+            if (address_space_is_io(as, start_paddr)) {
                 /* I/O region */
                 continue;
             }
@@ -203,7 +203,7 @@ static void walk_pdpe(MemoryMappingList *list, AddressSpace *as,
         if (pdpe & PG_PSE_MASK) {
             /* 1 GB page */
             start_paddr = (pdpe & ~0x3fffffff) & ~(0x1ULL << 63);
-            if (cpu_physical_memory_is_io(start_paddr)) {
+            if (address_space_is_io(as, start_paddr)) {
                 /* I/O region */
                 continue;
             }
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Thu Oct 02 08:42:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Oct 2025 08:42:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1135406.1472538 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4EtX-00018f-W5; Thu, 02 Oct 2025 08:42:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1135406.1472538; Thu, 02 Oct 2025 08:42:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4EtX-00018U-Sw; Thu, 02 Oct 2025 08:42:35 +0000
Received: by outflank-mailman (input) for mailman id 1135406;
 Thu, 02 Oct 2025 08:42:34 +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 <SRS0=9sj0=4L=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1v4EtW-000821-N4
 for xen-devel@lists.xenproject.org; Thu, 02 Oct 2025 08:42:34 +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 bdaa504c-9f6b-11f0-9d14-b5c5bf9af7f9;
 Thu, 02 Oct 2025 10:42:34 +0200 (CEST)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-46e48d6b95fso6166885e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 02 Oct 2025 01:42:34 -0700 (PDT)
Received: from localhost.localdomain (88-187-86-199.subs.proxad.net.
 [88.187.86.199]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4255d869d50sm2773210f8f.0.2025.10.02.01.42.32
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Thu, 02 Oct 2025 01:42:33 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bdaa504c-9f6b-11f0-9d14-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1759394554; x=1759999354; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Q36ac4tAhT01s84agsdvLvLQt0ctAJzIb51YlTVbcXM=;
        b=J5E/dVbM32FM5Py0Mw8G6vIgPou/sYSbJr6oVw1Js4AQsZi9zomVxCvdOlkNblAEbS
         LevBGWC5c2iqlJMT2d7nzbGvRllKfT3Z7RVsO4Ff+dgbbMYZP2Rl9wOIhgX6cCM0wtmq
         k1ZLQAel5ZEXODc+ASJ9OBp27whWzhlImCpbXdwlmEDsb3x5vg2K++s+Ul5fyrOfhsf8
         +T2kJS3nreQ5mA9AEgNgsSmg2G66HUDvzKt3xzlyT+CHNCy0moB+qE37rf2IrR5OTNvr
         Z8wJWp+XIn8vqUXn1FPTFIDUZkJKozzHiojsDBpm4mO4M2l7LJekYRmr6+6hvaw+mMYx
         VhtQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759394554; x=1759999354;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Q36ac4tAhT01s84agsdvLvLQt0ctAJzIb51YlTVbcXM=;
        b=V71wSpNp8lSpYy9bM/UJRnnWCXAGykyKsnAJh6zi+mkzXTO2SSdBne/HaKzGSpjHG9
         I6Cx/QgMieumEWj/M9ck7ionKjURGkuJABbGbiS5NJBLG6wTsNRRJW5yVdWkCYIot6ih
         Jyuk2F4z39EYplX19czPwo9X0bNqRiE/qL7F9VBGveHzKHxR3xLRUnZIZkHxfsW9Itri
         7AIlGXbBJh7QSdarjMDRcGyailNfr0V2uPusdf5HL3IDDR28Xjj9Ml0qSaAAHfAd2FkC
         TrZJISLIhE9Slwdrux9+/w16U7i2GqzNap5XLdPGkr4HGTqlcRnyteKKIbmbsTpl104N
         F9nw==
X-Forwarded-Encrypted: i=1; AJvYcCVWjLSWfeqfDe7/t0i3x5z+1/pTYjhmKY71MjTd3/gy+WPNexXOaDwK/S2SxK2JvZePwb1M9+8cYPI=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxdmv/4hXs/weY216N1pqa6v4ROiMDrnF+MAD7x5h4zzMWmjmOg
	NLNZA6YG1hLV0kdX0l/jE58/g0Ll35SRquQkaLv/bNKXWyvv6S2KuZqHxhzVKLzp8QU=
X-Gm-Gg: ASbGncshFwGnGty49AkMScrrow46mVu1rHGQFjmhmSuz4nUOYZkxnzhWiwsQqyLdwxR
	QtuQXhHVAvpoA+eMrGyZH8mlGsJR7LdJqKCK3zAomHZF5xNO+DQPz2OHXzVMtZUKq2TnkBWyUuF
	wnT2EM8FDoY54DQuYgoMo8nMZ4SNHfKEFWMnfxxCIsW2lV3QQhLLoi1gyu/R5bLWKldG+Nug0ys
	jLSwB9baNhy+llZN/wC2GXwN/rHfypeW4fznUI8XRqmgAzH3byEhPIlkeokKHnPZEt5tAjOI7LG
	VrT6hD0/DVxJUfMSXaDIykC2IXk107jlkJfCg23C+BiduoVzMGQYSgHYg1E+s1qxw7bqUYlJXP4
	ZS35Bl98+5Uyo4OfnBsvuC0ZmG1A5zbyVkjvWOZ4+7Raa4m8xDqpiEdQcplzfwjjDaF6Za3IYHU
	dOU4TPFuYXm9xWHGB7NmFl/buMb7Xrg8U0VlxIMMZj
X-Google-Smtp-Source: AGHT+IGvW2QY4XT4rE3gnCvd4C2svQ9D2UQ58ymAoAfIs0dUKEvFj1XA9d+49KzTkmba3O5b3qx94Q==
X-Received: by 2002:a05:600c:524f:b0:45b:8adf:cf2b with SMTP id 5b1f17b1804b1-46e61267b13mr46680795e9.21.1759394553640;
        Thu, 02 Oct 2025 01:42:33 -0700 (PDT)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-s390x@nongnu.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Peter Xu <peterx@redhat.com>,
	David Hildenbrand <david@redhat.com>
Subject: [PATCH v4 06/17] system/physmem: Pass address space argument to cpu_flush_icache_range()
Date: Thu,  2 Oct 2025 10:41:51 +0200
Message-ID: <20251002084203.63899-7-philmd@linaro.org>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251002084203.63899-1-philmd@linaro.org>
References: <20251002084203.63899-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Rename cpu_flush_icache_range() as address_space_flush_icache_range(),
passing an address space by argument. The single caller, rom_reset(),
already operates on an address space. Use it.

Signed-off-by: Philippe Mathieu-DaudÃ© <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
---
 include/exec/cpu-common.h | 2 --
 include/system/memory.h   | 2 ++
 hw/core/loader.c          | 2 +-
 system/physmem.c          | 5 ++---
 4 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/include/exec/cpu-common.h b/include/exec/cpu-common.h
index a73463a7038..6c7d84aacb4 100644
--- a/include/exec/cpu-common.h
+++ b/include/exec/cpu-common.h
@@ -156,8 +156,6 @@ void cpu_physical_memory_unmap(void *buffer, hwaddr len,
  */
 void qemu_flush_coalesced_mmio_buffer(void);
 
-void cpu_flush_icache_range(hwaddr start, hwaddr len);
-
 typedef int (RAMBlockIterFunc)(RAMBlock *rb, void *opaque);
 
 int qemu_ram_foreach_block(RAMBlockIterFunc func, void *opaque);
diff --git a/include/system/memory.h b/include/system/memory.h
index 1b2b0e5ce1e..19c7ff393c4 100644
--- a/include/system/memory.h
+++ b/include/system/memory.h
@@ -2977,6 +2977,8 @@ void address_space_cache_invalidate(MemoryRegionCache *cache,
  */
 void address_space_cache_destroy(MemoryRegionCache *cache);
 
+void address_space_flush_icache_range(AddressSpace *as, hwaddr addr, hwaddr len);
+
 /* address_space_get_iotlb_entry: translate an address into an IOTLB
  * entry. Should be called from an RCU critical section.
  */
diff --git a/hw/core/loader.c b/hw/core/loader.c
index 524af6f14a0..477661a0255 100644
--- a/hw/core/loader.c
+++ b/hw/core/loader.c
@@ -1242,7 +1242,7 @@ static void rom_reset(void *unused)
          * that the instruction cache for that new region is clear, so that the
          * CPU definitely fetches its instructions from the just written data.
          */
-        cpu_flush_icache_range(rom->addr, rom->datasize);
+        address_space_flush_icache_range(rom->as, rom->addr, rom->datasize);
 
         trace_loader_write_rom(rom->name, rom->addr, rom->datasize, rom->isrom);
     }
diff --git a/system/physmem.c b/system/physmem.c
index 4745aaacd8f..29ac80af887 100644
--- a/system/physmem.c
+++ b/system/physmem.c
@@ -3214,7 +3214,7 @@ MemTxResult address_space_write_rom(AddressSpace *as, hwaddr addr,
     return MEMTX_OK;
 }
 
-void cpu_flush_icache_range(hwaddr addr, hwaddr len)
+void address_space_flush_icache_range(AddressSpace *as, hwaddr addr, hwaddr len)
 {
     /*
      * This function should do the same thing as an icache flush that was
@@ -3229,8 +3229,7 @@ void cpu_flush_icache_range(hwaddr addr, hwaddr len)
     RCU_READ_LOCK_GUARD();
     while (len > 0) {
         hwaddr addr1, l = len;
-        MemoryRegion *mr = address_space_translate(&address_space_memory,
-                                                   addr, &addr1, &l, true,
+        MemoryRegion *mr = address_space_translate(as, addr, &addr1, &l, true,
                                                    MEMTXATTRS_UNSPECIFIED);
 
         if (!memory_region_supports_direct_access(mr)) {
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Thu Oct 02 08:42:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Oct 2025 08:42:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1135411.1472549 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4Eta-0001S4-95; Thu, 02 Oct 2025 08:42:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1135411.1472549; Thu, 02 Oct 2025 08:42:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4Eta-0001Rv-3e; Thu, 02 Oct 2025 08:42:38 +0000
Received: by outflank-mailman (input) for mailman id 1135411;
 Thu, 02 Oct 2025 08:42: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 <SRS0=9sj0=4L=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1v4EtY-00006C-Ek
 for xen-devel@lists.xenproject.org; Thu, 02 Oct 2025 08:42:36 +0000
Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com
 [2a00:1450:4864:20::32b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b7eaced5-9f6b-11f0-9809-7dc792cee155;
 Thu, 02 Oct 2025 10:42:24 +0200 (CEST)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-46e4f2696bdso8986575e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 02 Oct 2025 01:42:24 -0700 (PDT)
Received: from localhost.localdomain (88-187-86-199.subs.proxad.net.
 [88.187.86.199]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-46e693c2e6fsm23962295e9.17.2025.10.02.01.42.22
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Thu, 02 Oct 2025 01:42:23 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b7eaced5-9f6b-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1759394544; x=1759999344; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=2534c4RtZyXLI9bpIizaZmKA+am5Tc7GXq0BfJ3FTIY=;
        b=ODcOHn7+gDdOhBsd0UdB2lf2mVklGxDcW92vimPUzx0U0A/TB0vFMhc4+eXnoVm+Zb
         qtP6OOu7AuPsbLEicTlcuNou/86gt+IGO+PkAQLczQyFRCPtqFOOjlsPIR7flcDkiM/w
         VaIMTK81SOY2rQzbU1ntqYVsu5jfcQoAgYPPWggeVMym2h1mtro8za3dlZhUeC7BwhTH
         IA8DMiph5jXXDf7GXJ1PLhloUGXfPJRHbbEHnroV7koaeaNbJRYwcGZ76qS+CR8qOgUZ
         zgqcqWNcY37mWG3HhI5hjmv/Ma2Z28qdmF/YYXeGjDsyjY/tAt5leRjY4TCzhyjNeKfx
         6mWQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759394544; x=1759999344;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=2534c4RtZyXLI9bpIizaZmKA+am5Tc7GXq0BfJ3FTIY=;
        b=eAx4Tg2svaWfQmRp9KLZLbXPI+gkW/eGdCA1XTaZClYNLOo4c5RjOtCptPY/plplwG
         fQxk2pp1jVYB9HWIOvZ2YMStMFI+MvlVC+tCSmhCNuHqZC2lIoGmEhkiw5ytUBph5Kl3
         aqNoXtqShRd8utfaERsXStZR+oJ8pSSueHTyxOlbCmsFG/1ruja0OKBoik1yxqLwSKdz
         Yz4a5HPCIqRJqcU9ltnF26zsoyzSmhoUNt/ehr/r5uCCu2RDJPDN9qPq3CwhxMCcGZfQ
         dYLM0PO3NJoHEFX2bgGAi0QMcI6Rz2EcW09HtdJ18NK4s3cIBG7dQPf2cZRd+yKNT0SN
         bkBg==
X-Forwarded-Encrypted: i=1; AJvYcCXBtSH7SfErPo8oc/xwoemvFB4vZUpDu1mLGKBWfUFMrn4iealTlUmjUd8DjROo5tEqA2KM8HyPwyk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzDOvW9qpNAzABf8V+zFInzmlUqgXkoLurNOKHjI3sQCVbm2qyQ
	T1EINqsIwlYWOMOhc6+/T0z3Sbb5m8KCTKn0FdFMJ5zFJ8iWOTNWH6p+PUZYug21Lxk=
X-Gm-Gg: ASbGnctBO6cnw7TKY/L8s+EyH7EI+xD1nuC87EPWRNJeMCQ66yqKkfWb7GC9gdHF5/r
	8meaQYqaCUGfz/hMPNmufud/gIfWrPB1q9dFli0yIoPNS0aciLqbALBLefxAVcTx61FSnCvVF4l
	Q9VylL8y05KD7ciVEXf9ldCgoZCGy55wSt/Kd1i3E1gjcbimmi31jd4LN3v+n5IdNBI4RHxaECr
	UVypJ3/CqY8Qb2HL85wtqyBPZjCEWg6d4NB7swHExeYZESNZFWcb0P2Q49UKEU8R8Mv5KpgHOvf
	Sk95CMAl+p77AIlj0Y41VvUUv3Lwj60+Y2J3bSsiz45sgd/ZPbBvQ/c1nowa2EyIicqpHgo55ON
	4QmYF+XJfKZwK5V9+GFv/QnSbx3V/2jrLqrlz5piya9Zy1K3xyKxJNSovoPI0pZqvrD32P6PY0l
	ksaggBJbygHtkeZukRoqdE0UPVsnLd7A==
X-Google-Smtp-Source: AGHT+IFP18ee6bgm/ejyh8kmRYFVi1hqLlMKkbtTf3ZacHJyOl7EopZwJsToQT2tvIjzxTw/P2KdoA==
X-Received: by 2002:a05:600c:3149:b0:46e:3b81:c3f9 with SMTP id 5b1f17b1804b1-46e61269212mr56566845e9.17.1759394543997;
        Thu, 02 Oct 2025 01:42:23 -0700 (PDT)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-s390x@nongnu.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Thomas Huth <thuth@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Jason Herne <jjherne@linux.ibm.com>,
	Eric Farman <farman@linux.ibm.com>,
	Matthew Rosato <mjrosato@linux.ibm.com>,
	David Hildenbrand <david@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>
Subject: [PATCH v4 04/17] hw/s390x/sclp: Use address_space_memory_is_io() in sclp_service_call()
Date: Thu,  2 Oct 2025 10:41:49 +0200
Message-ID: <20251002084203.63899-5-philmd@linaro.org>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251002084203.63899-1-philmd@linaro.org>
References: <20251002084203.63899-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

When cpu_address_space_init() isn't called during vCPU creation,
its single address space is the global &address_space_memory.

As s390x boards don't call cpu_address_space_init(), cpu->as
points to &address_space_memory.

We can then replace cpu_physical_memory_is_io() by the semantically
equivalent address_space_memory_is_io() call.

Signed-off-by: Philippe Mathieu-DaudÃ© <philmd@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
---
 hw/s390x/sclp.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/hw/s390x/sclp.c b/hw/s390x/sclp.c
index 9718564fa42..16057356b11 100644
--- a/hw/s390x/sclp.c
+++ b/hw/s390x/sclp.c
@@ -16,6 +16,7 @@
 #include "qemu/units.h"
 #include "qapi/error.h"
 #include "hw/boards.h"
+#include "system/memory.h"
 #include "hw/s390x/sclp.h"
 #include "hw/s390x/event-facility.h"
 #include "hw/s390x/s390-pci-bus.h"
@@ -308,7 +309,7 @@ int sclp_service_call(S390CPU *cpu, uint64_t sccb, uint32_t code)
     if (env->psw.mask & PSW_MASK_PSTATE) {
         return -PGM_PRIVILEGED;
     }
-    if (cpu_physical_memory_is_io(sccb)) {
+    if (address_space_is_io(CPU(cpu)->as, sccb)) {
         return -PGM_ADDRESSING;
     }
     if ((sccb & ~0x1fffUL) == 0 || (sccb & ~0x1fffUL) == env->psa
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Thu Oct 02 08:42:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Oct 2025 08:42:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1135414.1472558 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4Etb-0001h5-FP; Thu, 02 Oct 2025 08:42:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1135414.1472558; Thu, 02 Oct 2025 08:42:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4Etb-0001gw-A8; Thu, 02 Oct 2025 08:42:39 +0000
Received: by outflank-mailman (input) for mailman id 1135414;
 Thu, 02 Oct 2025 08:42: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 <SRS0=9sj0=4L=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1v4Eta-00006C-4U
 for xen-devel@lists.xenproject.org; Thu, 02 Oct 2025 08:42:38 +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 bac68477-9f6b-11f0-9809-7dc792cee155;
 Thu, 02 Oct 2025 10:42:29 +0200 (CEST)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-46e42deffa8so7640465e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 02 Oct 2025 01:42:29 -0700 (PDT)
Received: from localhost.localdomain (88-187-86-199.subs.proxad.net.
 [88.187.86.199]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-46e6917a73csm25459055e9.2.2025.10.02.01.42.27
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Thu, 02 Oct 2025 01:42:28 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bac68477-9f6b-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1759394549; x=1759999349; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=SpGUqjX5M0j82QXVYXw9oJFFwSK+I6Ya0azNIIXD0n4=;
        b=hgfPwNutior5kyVPDm+mroxuFc9q0bWflim/zloKmtn3DOy+nAALa08rj3eoVNob81
         qi+n9NPMCO5f7MjD7aWt2d/cNaPBJ3uY+uGUJ4g/3PUDIVJzB38oLQwnRCgA0YmC4jOe
         7THba++Mku7mU/hr6HTHbOHgeGTZflt6AV8zS8iUBnpjh+UjBNcglMiGSV5wIHuTtK8l
         c+dZuvj8j6FB97W5cVfoWau74WLquy1NRDlVrvauBTlv8vY0PrXWojgpkrCXjg2sCFTX
         RMHFo+lhVFU2IIb2KDMFG1ODe7cz2EBUZ1qhoLzf1I6mFavoTgB+7OJaR52nyk5trc5s
         3ZRg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759394549; x=1759999349;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=SpGUqjX5M0j82QXVYXw9oJFFwSK+I6Ya0azNIIXD0n4=;
        b=vG3h49RbU8zuBX0s8BPQ04ZG33/PO4j/5dC14YB1zK1p9xv+4SNoYBLL2v+al4KzjW
         AlmG7X3UaaC37vQL3RUF8HWzSCpQzf9fo8qaINMBP7hawkE4wot+HfRtyWctqH/cmWpn
         MP+zRqLhEIORegi1X+Dp+nrByUPnrQ7K80CoCmuLXwnsOLMONDOWI6SnnPGeIz6svZ2/
         D47D6NF/358KPjt79sI0RtktENNbtff3Zf+YfkXxNlQdFoYJVtVSnPR/grZ4N206F+x9
         Y/FNOc8xktEqPGDwp2Hi1buP0Ryw5O1Ssz5/Zc6l+eCXjmSVv+so6sS6g0UJthnh+Ndq
         9f9Q==
X-Forwarded-Encrypted: i=1; AJvYcCVzge1vTUIs/V80eDwhDp5zWCtv7rYwxv6o1QV7bMp2ZANwNa8pm2du2jBNAPbkPiERPUXLdq65d1M=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzX17RVjpFFUArgZSBzKOPl0SnJ+uvPCMRgq999j/79JyzGPw1K
	rU+pEcIqqpnWxD2udwzDcxJqZxuumyzZfMOHXqr514zop+qW7Lzxm54hH7uNqcwPj/I=
X-Gm-Gg: ASbGncu+a6A+y1JVrVWAUAQbI5MVoENV0bQhQmH7k8NTb85JcI7XCl0UqYXJj9unE4o
	H1UE6A9roHqhnhA8PGBdLlgQ+n5q9F/mJhPEqT35/nq3BZNYzbh9P/qhmxz+Cy5fUxnHAAOfJyz
	3hrdi+RCytAfcZVQm05Z/iICn49sHNvG9rXMP+k0Sx8SEpAG3xIxE1autoKmrOuXaplu5BzYeEy
	Gry7UkV1SnGoRgT57flhlNZnpP3IA2yVazvlWdJA8lcy6hKr1pCn6ywY/ePm+OmTpFZoK+J2Nsl
	RxME9hZQYVMujn8uQ9fQcEOO7Isr01lig6u11WV13/ITHiFATF7/Dnq1gxcwrYuysS25t75X4kU
	MhJlP+KQrWF8+Vsy6HKMGkV5fNhYRJnBCKArbMABuccTU21JpKw2zE5PRJwqwFhw2ud5UpBGDQs
	NY5MEy0O9uiXoXQ5XHiPBFNmKOwGy9yg==
X-Google-Smtp-Source: AGHT+IHnMMvrULFyoGLvyWEYNdN7opPAO0EOueQAPseRRuabHvxN0jtL5dWb3pgTDAuMakOX0VTtNw==
X-Received: by 2002:a5d:588f:0:b0:3e2:4a3e:d3e5 with SMTP id ffacd0b85a97d-425577f362dmr4449090f8f.22.1759394548791;
        Thu, 02 Oct 2025 01:42:28 -0700 (PDT)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-s390x@nongnu.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Peter Xu <peterx@redhat.com>,
	David Hildenbrand <david@redhat.com>
Subject: [PATCH v4 05/17] system/physmem: Remove cpu_physical_memory_is_io()
Date: Thu,  2 Oct 2025 10:41:50 +0200
Message-ID: <20251002084203.63899-6-philmd@linaro.org>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251002084203.63899-1-philmd@linaro.org>
References: <20251002084203.63899-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

There are no more uses of the legacy cpu_physical_memory_is_io()
method. Remove it.

Signed-off-by: Philippe Mathieu-DaudÃ© <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
---
 include/exec/cpu-common.h | 2 --
 system/physmem.c          | 5 -----
 2 files changed, 7 deletions(-)

diff --git a/include/exec/cpu-common.h b/include/exec/cpu-common.h
index e413d8b3079..a73463a7038 100644
--- a/include/exec/cpu-common.h
+++ b/include/exec/cpu-common.h
@@ -149,8 +149,6 @@ void *cpu_physical_memory_map(hwaddr addr,
 void cpu_physical_memory_unmap(void *buffer, hwaddr len,
                                bool is_write, hwaddr access_len);
 
-bool cpu_physical_memory_is_io(hwaddr phys_addr);
-
 /* Coalesced MMIO regions are areas where write operations can be reordered.
  * This usually implies that write operations are side-effect free.  This allows
  * batching which can make a major impact on performance when using
diff --git a/system/physmem.c b/system/physmem.c
index c2829ab407a..4745aaacd8f 100644
--- a/system/physmem.c
+++ b/system/physmem.c
@@ -3763,11 +3763,6 @@ int cpu_memory_rw_debug(CPUState *cpu, vaddr addr,
     return 0;
 }
 
-bool cpu_physical_memory_is_io(hwaddr phys_addr)
-{
-    return address_space_is_io(&address_space_memory, phys_addr);
-}
-
 int qemu_ram_foreach_block(RAMBlockIterFunc func, void *opaque)
 {
     RAMBlock *block;
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Thu Oct 02 08:42:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Oct 2025 08:42:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1135423.1472567 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4Eti-00029y-NC; Thu, 02 Oct 2025 08:42:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1135423.1472567; Thu, 02 Oct 2025 08:42:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4Eti-00029p-K9; Thu, 02 Oct 2025 08:42:46 +0000
Received: by outflank-mailman (input) for mailman id 1135423;
 Thu, 02 Oct 2025 08:42:44 +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 <SRS0=9sj0=4L=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1v4Etg-000821-Mm
 for xen-devel@lists.xenproject.org; Thu, 02 Oct 2025 08:42:44 +0000
Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com
 [2a00:1450:4864:20::32b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c3907010-9f6b-11f0-9d14-b5c5bf9af7f9;
 Thu, 02 Oct 2025 10:42:44 +0200 (CEST)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-46e34bd8eb2so7584335e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 02 Oct 2025 01:42:44 -0700 (PDT)
Received: from localhost.localdomain (88-187-86-199.subs.proxad.net.
 [88.187.86.199]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-46e6b23d4c5sm17135895e9.17.2025.10.02.01.42.42
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Thu, 02 Oct 2025 01:42:42 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c3907010-9f6b-11f0-9d14-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1759394563; x=1759999363; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=/V6bK/dS4q8NfIVc1IYGAX2Y2n9tYdVPl2PhRG623tw=;
        b=wjIMPQyHxlPceyp90fAWmX382DiFtaVI3OHiK/b546ZFiWCBz4qSYiT44mKyYUHXRT
         UOt+qthBSQgg9wNngP1ShbhsVbopR4g4cWto6lKhrdvLvoDuvq3sIcqAJGu2yXUb8p9r
         QZGuP7WHe1VNgyG859ph2RzLj3pTlVMdHOicxZDGDkNNTsl7UOoz9+kzmL2cn/hDQISr
         kfxFqQUgL3xw0lokQOvt8v7hAd/pfqiay9cnx0aCpS9tBpRK+l7frNpnVjz4hShCPps5
         wYA/ge3r+ienoB+TlmbYJlnMHOz0wQFauYdV8cppAx6YsfJTUZkYvQxz7aY/X5jebtqX
         J/JA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759394563; x=1759999363;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=/V6bK/dS4q8NfIVc1IYGAX2Y2n9tYdVPl2PhRG623tw=;
        b=UnBli8QratGzc4HCgchGrbSKHZRPUnESD8SoF6XgCCEE5B2dmf6U1zhmuwgSsWYeUG
         8mM69CGDw6ObTaXX9MaDoRwzJgGl4o8imLTr/9363hrNF477fO0XhLaI4Kd+EMg07bnm
         CfvKEgIxerkhEN8n8IvCpJ6POYZ2i/4w/W5kaLaJym+CxN9FyRr4/uMKCg4kzBc60FPT
         rkiNkblTlYmxS5UjRQNS5v58zLeot0GVBGWzj36+ED9bpL5k+7eoZFot+GtHBIQR6/KT
         g6arTw1IQNWWEJRZh9fcyyuEWp/aDrBAbmw33qGLB3UalaqPGtR59Nm/Dj9b9LqYKLOg
         19yw==
X-Forwarded-Encrypted: i=1; AJvYcCXEJqpRVadDKHDSS4sowvhkEIRDjSEM25p57iho9pJ4AMt8bwdB8WbYQyR6ST3y0tfybNwIDAQvr6Y=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxdGWbfusGscSPEFqh5zq5zq01Z7YhBt64JX03yKoEbu3Fu8JCx
	h/vIDp84Z9EWeRwDAJKaxrMUPiZTeTRuP04CsBAJ+cewhpJsOSqxVfr4k9zRjYI0lbdhAqW1byw
	ae7vi6scW4A==
X-Gm-Gg: ASbGnctwlykpHWnNkPxb4eA2hS8CuFStSYnFB7mcRlrZgwUuRcg/Csr8QjeHFJKTcEP
	RP0mhsvqaXuy8X2WYo5leSHOYN/0Te7DD5n4WT0u6+kZdGaT5ZbrzqJaKOBKrMIfnjjEvKlZjbS
	u0e4vKKtFfGOtdqWhp6fc4E11g97ql6LnA+9fpnOfz5czEhMB1wjo1rwBxEOkFj1NVueIxB5Pet
	tVZ/WX/vLfhyUXZ+dad+bM6uN+I6TIiBK1ytnCeFayhf9M5eMr8ywpNGPyjFumDC5s4St7OpsdB
	znbp6xzu0pwQKQGLt/Iz7whZ80yOZywrjlsupuy2pDt+6fQTiG20JD4G6ms67MHRyI9NO5GkdrE
	/Gm4i6fjt70L84ElWOUsBwrodW66g/ojECv7t1QLaggnRKSm9NZZjtl53MxYMSFB/sP7GbxdO3q
	HtqY+Ovd5okCxTK7GvIWA4NzrBROEZvA==
X-Google-Smtp-Source: AGHT+IFyxE2f+paPHZWS7atlHQE5YorXbC8H3ZNAWMF66wQjW+bist3zGSpvkgOszGdSmrRhuBdazg==
X-Received: by 2002:a05:600c:1d15:b0:46e:46c7:b79a with SMTP id 5b1f17b1804b1-46e6125d269mr48068925e9.2.1759394563460;
        Thu, 02 Oct 2025 01:42:43 -0700 (PDT)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-s390x@nongnu.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Thomas Huth <thuth@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	David Hildenbrand <david@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>
Subject: [PATCH v4 08/17] target/s390x/mmu: Replace [cpu_physical_memory -> address_space]_rw()
Date: Thu,  2 Oct 2025 10:41:53 +0200
Message-ID: <20251002084203.63899-9-philmd@linaro.org>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251002084203.63899-1-philmd@linaro.org>
References: <20251002084203.63899-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

When cpu_address_space_init() isn't called during vCPU creation,
its single address space is the global &address_space_memory.

As s390x boards don't call cpu_address_space_init(), cpu->as
points to &address_space_memory.

We can then replace cpu_physical_memory_rw() by the semantically
equivalent address_space_rw() call.

Signed-off-by: Philippe Mathieu-DaudÃ© <philmd@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
---
 target/s390x/mmu_helper.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/target/s390x/mmu_helper.c b/target/s390x/mmu_helper.c
index 00946e9c0fe..7bcf1810bca 100644
--- a/target/s390x/mmu_helper.c
+++ b/target/s390x/mmu_helper.c
@@ -23,6 +23,7 @@
 #include "kvm/kvm_s390x.h"
 #include "system/kvm.h"
 #include "system/tcg.h"
+#include "system/memory.h"
 #include "exec/page-protection.h"
 #include "exec/target_page.h"
 #include "hw/hw.h"
@@ -542,11 +543,13 @@ int s390_cpu_virt_mem_rw(S390CPU *cpu, vaddr laddr, uint8_t ar, void *hostbuf,
     if (ret) {
         trigger_access_exception(&cpu->env, ret, tec);
     } else if (hostbuf != NULL) {
+        AddressSpace *as = CPU(cpu)->as;
+
         /* Copy data by stepping through the area page by page */
         for (i = 0; i < nr_pages; i++) {
             currlen = MIN(len, TARGET_PAGE_SIZE - (laddr % TARGET_PAGE_SIZE));
-            cpu_physical_memory_rw(pages[i] | (laddr & ~TARGET_PAGE_MASK),
-                                   hostbuf, currlen, is_write);
+            address_space_rw(as, pages[i] | (laddr & ~TARGET_PAGE_MASK),
+                             MEMTXATTRS_UNSPECIFIED, hostbuf, currlen, is_write);
             laddr += currlen;
             hostbuf += currlen;
             len -= currlen;
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Thu Oct 02 08:46:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Oct 2025 08:46:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1135454.1472579 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4Ewu-0003pn-CB; Thu, 02 Oct 2025 08:46:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1135454.1472579; Thu, 02 Oct 2025 08:46:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4Ewu-0003pg-74; Thu, 02 Oct 2025 08:46:04 +0000
Received: by outflank-mailman (input) for mailman id 1135454;
 Thu, 02 Oct 2025 08:46:03 +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 <SRS0=9sj0=4L=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1v4Etz-000821-PU
 for xen-devel@lists.xenproject.org; Thu, 02 Oct 2025 08:43:03 +0000
Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com
 [2a00:1450:4864:20::333])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cefd1e0c-9f6b-11f0-9d14-b5c5bf9af7f9;
 Thu, 02 Oct 2025 10:43:03 +0200 (CEST)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-46e52279279so5093965e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 02 Oct 2025 01:43:03 -0700 (PDT)
Received: from localhost.localdomain (88-187-86-199.subs.proxad.net.
 [88.187.86.199]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-46e6917a867sm24739885e9.5.2025.10.02.01.43.01
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Thu, 02 Oct 2025 01:43:02 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cefd1e0c-9f6b-11f0-9d14-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1759394583; x=1759999383; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=P5PC+1TlVBTyXto+jnsJwdDvPaPiKj+lxKbw9om1DB0=;
        b=jz5N1WPDiGbFME8JQMxtd2I77nmvjkr/oqjWLSLgQ1YekzcpQlLb0DvbV99Ld4D5Bu
         /DPUHD+hSpamcRXia7xVMr14dBzpWfMcvXCkgD/Gs8uSK/ibhVM1HXB+zcJDVSV1ECdm
         cd6m7eXZjVmNr+FhHLMmcSstH7IytuOrk/MYILo0foV8tS0d/bhk4etoBnFLwQCzy/nz
         iMq7xJcUamRJ3bH8+i/KUG0sU0eEWIsds9DY1HMlqUb6AvbP88uuq2hBz//mbn/uWQWZ
         mYl6l8WH1y8fT5sBBIetkOsNO6Ioporlua4zaJ4usCF8gJyeT9CSQqpyV4XwLOPDKTNC
         iHmQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759394583; x=1759999383;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=P5PC+1TlVBTyXto+jnsJwdDvPaPiKj+lxKbw9om1DB0=;
        b=gPSbsCHdCpi0ahttScvawWWkfoDvbVJTAB540PzMoQOfwvauePOlFkIGMXbfKYTfG6
         A/ZV7hK6HB5OlGN7GcskMR6v9tQjh6B22nSy9oFk8Dp242jLN176WUyyDRT7AjRy5eRI
         ja1rygZYaB6XFGbzB15cDviGyiHRK3U+gigHl/APw/dhGxc5YdftAH344wATwviWoah0
         wNRBFIMSA5hFXofxz6JW8Nb7lMxifyl2/B7quHmVKTFUPCWwXBcBZw7Ra5w0QoIuDwQ9
         ObtILZ59mb3hMSZJrpESjtR5fEV8vQyeBzfn2outs3rV8ZT0EXCTzkvw6IMgiqjQrULI
         0ETA==
X-Forwarded-Encrypted: i=1; AJvYcCV1i72080Dd46x3XQjils3a8ZITxupffGJXpjuHhc5sNW/FJe/MrEImx388w3iNgO3/9H3aST0Ctz0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwH59UPIsFcsR9om2LfYbxwAy/SHbmDLw+CpH2FwznPA2OMx3ih
	D4L2jkUpGbF9paY5pcSqJjG2fylarn6CLHsV9dAP2wrkgDxRg0SNzZha6SrTNo0q8Is=
X-Gm-Gg: ASbGnctot1dmmy09Knq4jSfudTR7AtvRG+NQP7ooLz3fVorIE4AbC6r5A96rbO9sDWN
	TgElJkpNIFcbAiner67CqV9sR8Mt8dfAYbs1mz/O8vK0Qbr2u29cij1veAojIQmeFhrmcDVMOpt
	vXP8TUX7A9Hrw5HNzW2CGc7SldV2RiIWkywulSYa0Q+lFcUlv3Q/leRdKc2FbFqfoBZBrmIjDjC
	IUseUHmra6wTcmnWvkR5lqBvGbHU3JNBVW231JId8MCqCCtMfuX5okpMK7K+i8Dm9g0f5L1cwyV
	UgsA6I5pkU01HcCiM7Aji8aDC2d65XTDyQsP17GK3ld+/Aeppi72V1zHzRxNYXInqmcu2p58E6J
	P/Bv9au881HH3tbrI9KPuN58ZmeZUBjR2Jt+rgH8kd0OQMkSsJPjxVOtbVIURny8lbhDp0hHj50
	yep1s+W28wSyB9oIq2Z18AMPvYUukN4A==
X-Google-Smtp-Source: AGHT+IG8Ma/4I60woYQn+sfaatxOnQXHwssxQgt8liAn1/sRa9HXbIzN6+J2l9ZCi0NeEjgUws6OFQ==
X-Received: by 2002:a05:600c:8119:b0:46e:4883:27d with SMTP id 5b1f17b1804b1-46e6128617amr48211715e9.30.1759394582729;
        Thu, 02 Oct 2025 01:43:02 -0700 (PDT)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-s390x@nongnu.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony@xenproject.org>,
	Paul Durrant <paul@xen.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>
Subject: [PATCH v4 12/17] hw/xen/hvm: Inline cpu_physical_memory_rw() in rw_phys_req_item()
Date: Thu,  2 Oct 2025 10:41:57 +0200
Message-ID: <20251002084203.63899-13-philmd@linaro.org>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251002084203.63899-1-philmd@linaro.org>
References: <20251002084203.63899-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

cpu_physical_memory_rw() is legacy, replace by address_space_rw().

Signed-off-by: Philippe Mathieu-DaudÃ© <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
---
 hw/xen/xen-hvm-common.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/hw/xen/xen-hvm-common.c b/hw/xen/xen-hvm-common.c
index 78e0bc8f644..52e2cce397a 100644
--- a/hw/xen/xen-hvm-common.c
+++ b/hw/xen/xen-hvm-common.c
@@ -12,6 +12,7 @@
 #include "hw/xen/xen-bus.h"
 #include "hw/boards.h"
 #include "hw/xen/arch_hvm.h"
+#include "system/memory.h"
 #include "system/runstate.h"
 #include "system/system.h"
 #include "system/xen.h"
@@ -279,8 +280,8 @@ static void do_outp(uint32_t addr,
  * memory, as part of the implementation of an ioreq.
  *
  * Equivalent to
- *   cpu_physical_memory_rw(addr + (req->df ? -1 : +1) * req->size * i,
- *                          val, req->size, 0/1)
+ *   address_space_rw(as, addr + (req->df ? -1 : +1) * req->size * i,
+ *                    attrs, val, req->size, 0/1)
  * except without the integer overflow problems.
  */
 static void rw_phys_req_item(hwaddr addr,
@@ -295,7 +296,8 @@ static void rw_phys_req_item(hwaddr addr,
     } else {
         addr += offset;
     }
-    cpu_physical_memory_rw(addr, val, req->size, rw);
+    address_space_rw(&address_space_memory, addr, MEMTXATTRS_UNSPECIFIED,
+                     val, req->size, rw);
 }
 
 static inline void read_phys_req_item(hwaddr addr,
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Thu Oct 02 08:46:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Oct 2025 08:46:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1135460.1472588 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4Eww-0004Ca-Gh; Thu, 02 Oct 2025 08:46:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1135460.1472588; Thu, 02 Oct 2025 08:46:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4Eww-0004CR-DV; Thu, 02 Oct 2025 08:46:06 +0000
Received: by outflank-mailman (input) for mailman id 1135460;
 Thu, 02 Oct 2025 08:46:04 +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 <SRS0=9sj0=4L=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1v4EuE-000821-AV
 for xen-devel@lists.xenproject.org; Thu, 02 Oct 2025 08:43:18 +0000
Received: from mail-wr1-x430.google.com (mail-wr1-x430.google.com
 [2a00:1450:4864:20::430])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d7a6b1a1-9f6b-11f0-9d14-b5c5bf9af7f9;
 Thu, 02 Oct 2025 10:43:17 +0200 (CEST)
Received: by mail-wr1-x430.google.com with SMTP id
 ffacd0b85a97d-3f0ae439bc3so350974f8f.1
 for <xen-devel@lists.xenproject.org>; Thu, 02 Oct 2025 01:43:17 -0700 (PDT)
Received: from localhost.localdomain (88-187-86-199.subs.proxad.net.
 [88.187.86.199]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4255d8e9762sm2651528f8f.38.2025.10.02.01.43.16
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Thu, 02 Oct 2025 01:43:16 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d7a6b1a1-9f6b-11f0-9d14-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1759394597; x=1759999397; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=QAgjr5yIgrIO789GqXuRF0t/EGl13bmDgqvJGL/31ds=;
        b=RDcXuWFqtpO/bPeOzKAIyye2IDhzqQx8Jnpfzp4OI5oGo3Kj5tjlMYLMdsX1qsFFze
         1zhL/J535NeayNio03a6XMOH/7/nzIGvyaBzGcxraNlsmj5QwJ20wqRIzsFvwT/+TrNl
         9DvtfqPHaZ73VuqS4TJMJnDtvy2J4PjLMxvgrwXHpL2NjFFmjX72PRIFYMSNR7FfJTZy
         kE2PD+G8aW9vF4pSSr92EopmOGLcdhZbXK1D0wilLhUPZmHQZmGex8Ovmn/dwLMvu1Ys
         Hd5aDB1KA7y8Ja5MyZFHM/YSqy5kPeVWBW0rXg4chommlZm7wMAudmOKoS+ceVA+JeTi
         VNVA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759394597; x=1759999397;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=QAgjr5yIgrIO789GqXuRF0t/EGl13bmDgqvJGL/31ds=;
        b=uOHAPe0yN8uQ2yK5b7nTuNPmuRyGhYJ0iAeB/4DVK25fPIyDeHw2QKSdBtEr66XTSJ
         OynasNO8c7kzuQuyAmcFBzqtR5ZHrhuHAPSBMWBYWU4c1oc0KGEHJuVXVegIuuLlPLG3
         Ty1o1FOgSEUq+1XtQshq1FRkA3DI3YHtrlEKwQROMjUmQNaIGqclqKHjZRdI+CUfOc8K
         yf66/zx/c8yKuhSAFhpBh6zqjqs0TuC3k2ESMD1tQC8apHWKAB4Xbj+9b586rTUbnWLd
         DH0S0zLkQHd9dXWf3prBLC2zONI3QdEpZwemkF06gaBj8ixSYj5YRv+oQ09f2NcLf4aD
         LAlg==
X-Forwarded-Encrypted: i=1; AJvYcCVOMgsl7SIlkeHiv/JIaT/iL8eq5meKj1OiJQMFQFLJ0xat/EpGntOON7uU/a352FhPX5UsLKdCcjE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzUfDqdNYJcwSg37hVcKP0hjpT6/mkatl6mw6wZzF3YltH/bvKe
	RcIaE/L0WnzOTSON1E+nAVIp+LUFfb3TKOeHE3lu3bCRIcd1mU2Mwzowr8YEVpM8iA8=
X-Gm-Gg: ASbGncuAUsDT0wfs5DqowqVVHNntizsd4uuDi710Yko1/MfxUKzpqRqooRMF/6YtAPO
	Lvled78SUSdI75YgdfFi1nTnYEV8IUALgDUHu1hCRe4dYe3SE8cK+BI7LS5w2d8ohrd6MW+OIEX
	yBBWveM5jdi3Oboek05iHnG0WtoAYVRemkuEJYsJTDPnAmimTGIy+wpPL03rNd4+hzGUk727ZOf
	IDp+v3Xad61o4ran8PxxLUITYupiPz870HgwrZsJzjCs9cT8Nns52BduOxggvXDtVRv0+dUbNv/
	fn/O443evSSl/8m4oETgCy2emxbN/ioc+gDr1INg90GOftKjerW9NQAvTPaLc+Oe8bvKFVt44ow
	T9XfiGs//lvOag35rMg2Y72NgADCo4gctp6CsqUhogCF+qe3c3OYX81ISScU3DPpzie5rsewcEr
	p68dqP/kER+0gHrerb3pB1FTcQcmGTBg==
X-Google-Smtp-Source: AGHT+IF85XkLg0BRzQXNPalgqzyMpny7LwvkrLwLebNjcVy2x5/oJ5wUtocULaWC8zMsTAEaZEeQKw==
X-Received: by 2002:a05:6000:609:b0:3d7:2284:b20 with SMTP id ffacd0b85a97d-425577ecfe7mr4915156f8f.3.1759394597239;
        Thu, 02 Oct 2025 01:43:17 -0700 (PDT)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-s390x@nongnu.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Peter Xu <peterx@redhat.com>,
	David Hildenbrand <david@redhat.com>
Subject: [PATCH v4 15/17] system/physmem: Remove legacy cpu_physical_memory_rw()
Date: Thu,  2 Oct 2025 10:42:00 +0200
Message-ID: <20251002084203.63899-16-philmd@linaro.org>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251002084203.63899-1-philmd@linaro.org>
References: <20251002084203.63899-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The legacy cpu_physical_memory_rw() method is no more used,
remove it.

Signed-off-by: Philippe Mathieu-DaudÃ© <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
---
 docs/devel/loads-stores.rst            |  4 +---
 scripts/coccinelle/exec_rw_const.cocci | 10 ----------
 include/exec/cpu-common.h              |  2 --
 system/physmem.c                       |  7 -------
 4 files changed, 1 insertion(+), 22 deletions(-)

diff --git a/docs/devel/loads-stores.rst b/docs/devel/loads-stores.rst
index f9b565da57a..c906c6509ee 100644
--- a/docs/devel/loads-stores.rst
+++ b/docs/devel/loads-stores.rst
@@ -460,10 +460,8 @@ For new code they are better avoided:
 
 ``cpu_physical_memory_write``
 
-``cpu_physical_memory_rw``
-
 Regexes for git grep:
- - ``\<cpu_physical_memory_\(read\|write\|rw\)\>``
+ - ``\<cpu_physical_memory_\(read\|write\)\>``
 
 ``cpu_memory_rw_debug``
 ~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/scripts/coccinelle/exec_rw_const.cocci b/scripts/coccinelle/exec_rw_const.cocci
index 35ab79e6d74..4c02c94e04e 100644
--- a/scripts/coccinelle/exec_rw_const.cocci
+++ b/scripts/coccinelle/exec_rw_const.cocci
@@ -21,13 +21,6 @@ expression E1, E2, E3, E4, E5;
 + address_space_rw(E1, E2, E3, E4, E5, true)
 |
 
-- cpu_physical_memory_rw(E1, E2, E3, 0)
-+ cpu_physical_memory_rw(E1, E2, E3, false)
-|
-- cpu_physical_memory_rw(E1, E2, E3, 1)
-+ cpu_physical_memory_rw(E1, E2, E3, true)
-|
-
 - cpu_physical_memory_map(E1, E2, 0)
 + cpu_physical_memory_map(E1, E2, false)
 |
@@ -81,9 +74,6 @@ type T;
 + address_space_write_rom(E1, E2, E3, E4, E5)
 |
 
-- cpu_physical_memory_rw(E1, (T *)(E2), E3, E4)
-+ cpu_physical_memory_rw(E1, E2, E3, E4)
-|
 - cpu_physical_memory_read(E1, (T *)(E2), E3)
 + cpu_physical_memory_read(E1, E2, E3)
 |
diff --git a/include/exec/cpu-common.h b/include/exec/cpu-common.h
index 6e8cb530f6e..910e1c2afb9 100644
--- a/include/exec/cpu-common.h
+++ b/include/exec/cpu-common.h
@@ -131,8 +131,6 @@ void cpu_address_space_init(CPUState *cpu, int asidx,
  */
 void cpu_address_space_destroy(CPUState *cpu, int asidx);
 
-void cpu_physical_memory_rw(hwaddr addr, void *buf,
-                            hwaddr len, bool is_write);
 void cpu_physical_memory_read(hwaddr addr, void *buf, hwaddr len);
 void cpu_physical_memory_write(hwaddr addr, const void *buf, hwaddr len);
 void *cpu_physical_memory_map(hwaddr addr,
diff --git a/system/physmem.c b/system/physmem.c
index 23932b63d77..0ff7349fbbf 100644
--- a/system/physmem.c
+++ b/system/physmem.c
@@ -3181,13 +3181,6 @@ MemTxResult address_space_set(AddressSpace *as, hwaddr addr,
     return error;
 }
 
-void cpu_physical_memory_rw(hwaddr addr, void *buf,
-                            hwaddr len, bool is_write)
-{
-    address_space_rw(&address_space_memory, addr, MEMTXATTRS_UNSPECIFIED,
-                     buf, len, is_write);
-}
-
 void cpu_physical_memory_read(hwaddr addr, void *buf, hwaddr len)
 {
     address_space_read(&address_space_memory, addr,
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Thu Oct 02 08:46:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Oct 2025 08:46:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1135462.1472593 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4Eww-0004FU-Tj; Thu, 02 Oct 2025 08:46:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1135462.1472593; Thu, 02 Oct 2025 08:46:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4Eww-0004Ey-L1; Thu, 02 Oct 2025 08:46:06 +0000
Received: by outflank-mailman (input) for mailman id 1135462;
 Thu, 02 Oct 2025 08:46: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 <SRS0=9sj0=4L=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1v4Etf-00006C-4k
 for xen-devel@lists.xenproject.org; Thu, 02 Oct 2025 08:42:43 +0000
Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com
 [2a00:1450:4864:20::333])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c0ab2ad3-9f6b-11f0-9809-7dc792cee155;
 Thu, 02 Oct 2025 10:42:39 +0200 (CEST)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-46e48d6b95fso6167545e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 02 Oct 2025 01:42:39 -0700 (PDT)
Received: from localhost.localdomain (88-187-86-199.subs.proxad.net.
 [88.187.86.199]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4255d8f50b2sm2597515f8f.56.2025.10.02.01.42.37
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Thu, 02 Oct 2025 01:42:38 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c0ab2ad3-9f6b-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1759394559; x=1759999359; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=sPyvtamk/7TWz3NLD4QWdvW1Is4VocR+bm6o/kbYsjI=;
        b=dsuY0OOaPTlyrgbZGF0WuS/+sp5VweXGlFCnZOOlKA3PIdamaOar6QnlHD2mpUJdNW
         fMV4pnSoF4W3iV5Pm4bBUcpfiSkvhi/gxU4ukGV8qHazLZagNj0U7cxBYFdNnwp/pyRS
         JOrt8bmoUAl5Uvb7Mx8zZGTPbWbyanUynP5mFjNKdHNZFIuh6PtwaPdRlfCUg4rLoIdW
         z9uowP4/KijFiifCgrXitzRW9/E7bbVyh4LlV41tK4st5ipTQTb5WYVbJfN6qKbtwGQ8
         h486MBppLRGYFrJf3mlflDJ6iZ/h+2Pi+RcKp7L4uR4NDvjhRhxxEDEC5zY7RVGGU8ZE
         +OnA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759394559; x=1759999359;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=sPyvtamk/7TWz3NLD4QWdvW1Is4VocR+bm6o/kbYsjI=;
        b=tOn4tijI5Td16K8HooZLI6Bt7RUBO/iOkSrofAhTDZ421cGeeW8FH+wrsvG1Z+DU4E
         kQLDbXUMc7Y7HjjBN0IjXk8V+3iCsCtmGGZXy4pe5nNBcr8xqj1ssSoka4R3JU0xx+6n
         p4q6pBuek6IV1xAaFOZMtEl5GKVcE7j8dPyl3jJmNENkxGDwmMy/sNleK0m1jmz44ZGV
         Zv977c47YdJgTpYtF6dz6Y3fHZldpc7iA+6Ar4P8Ud9cGNnA6ZoPbI9RTZ8Kar7r7Dje
         qOuDw3FBgpvZ3PSTx/Vv9ua/adQkvXy4N8sqOwg4FgO/i3wKpn++WkhzVx/MDFzulxr1
         67lA==
X-Forwarded-Encrypted: i=1; AJvYcCU54pZ4Zk1DInGKWu/DLfRXOXpFELeOX+EHoVefGlnluRPonI2l8OaWtOoKgMrKyUQcngvUF1lKxfg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyHXRkJ9yjQjfDzNlUvUqh2y/wwUU1y+uaj4kJ88/6rXuB35W77
	dPCs3geKztikEHiZhYtwW2dXDD5Hc0qtCqL5a+Ioi6o3bHVgy6+Rng98SUe6uS2gZzI=
X-Gm-Gg: ASbGncvXJJ3Vq7GR2RC6CFnnOJo8Mwp+vOEqFBUyRk/ihXux9eFofKtD+Dw5WG4AWTU
	IBf5PGzphKSA+ZAVqtRrnpSKMOYgAdKqVxSBjLWpcj6K4FCrSxYDb1nmcSpaBMdFtWBZ5JGGpFp
	LTnU5iYNrePw+cJOlx/Sp3fX1SeNyCuxubY+vGfJEA5oiJhC0NZOJ3DAyCHh2hlUIEUOGZnqLH+
	VX63yE6BW8bFp6zy0K61SlBkM7U0xNwnT5Vyge97iHgcMcSkJ62Hst4FE+ZObzRXROD1RNQ9kXj
	iJa50IBSbPL4xTmohGPqln3LfWInGqna0a/5YlQeQxN7Zta9PBkBHNHdsS/EoJmffiOOxjrsAEn
	d7/VZa1ErmTrX+JkOHiUE4gBdP8707X140l4sV/5Y9cRMZNYqDv0AVZbbj1sKElN1GGlRf3JzwA
	taGaD2vzTK6HpMO7LDrIvUlO2O8fNDjuDOtrbdZeDe
X-Google-Smtp-Source: AGHT+IGiO2MQIF6Yep6y2/isH2QW+nXbG00es5/W6noyWTP2pD3nWUiti/7EsFpua85fKefjjBmssQ==
X-Received: by 2002:a05:600c:4fc6:b0:46e:1a07:7bd5 with SMTP id 5b1f17b1804b1-46e61285d7dmr48438525e9.29.1759394558687;
        Thu, 02 Oct 2025 01:42:38 -0700 (PDT)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-s390x@nongnu.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Thomas Huth <thuth@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Jason Herne <jjherne@linux.ibm.com>,
	Eric Farman <farman@linux.ibm.com>,
	Matthew Rosato <mjrosato@linux.ibm.com>,
	David Hildenbrand <david@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>
Subject: [PATCH v4 07/17] hw/s390x/sclp: Replace [cpu_physical_memory -> address_space]_r/w()
Date: Thu,  2 Oct 2025 10:41:52 +0200
Message-ID: <20251002084203.63899-8-philmd@linaro.org>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251002084203.63899-1-philmd@linaro.org>
References: <20251002084203.63899-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

cpu_physical_memory_read() and cpu_physical_memory_write() are
legacy (see commit b7ecba0f6f6), replace by address_space_read()
and address_space_write().

Signed-off-by: Philippe Mathieu-DaudÃ© <philmd@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
---
 hw/s390x/sclp.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/hw/s390x/sclp.c b/hw/s390x/sclp.c
index 16057356b11..d7cb99482b2 100644
--- a/hw/s390x/sclp.c
+++ b/hw/s390x/sclp.c
@@ -304,6 +304,7 @@ int sclp_service_call(S390CPU *cpu, uint64_t sccb, uint32_t code)
     SCLPDeviceClass *sclp_c = SCLP_GET_CLASS(sclp);
     SCCBHeader header;
     g_autofree SCCB *work_sccb = NULL;
+    AddressSpace *as = CPU(cpu)->as;
 
     /* first some basic checks on program checks */
     if (env->psw.mask & PSW_MASK_PSTATE) {
@@ -318,7 +319,8 @@ int sclp_service_call(S390CPU *cpu, uint64_t sccb, uint32_t code)
     }
 
     /* the header contains the actual length of the sccb */
-    cpu_physical_memory_read(sccb, &header, sizeof(SCCBHeader));
+    address_space_read(as, sccb, MEMTXATTRS_UNSPECIFIED,
+                       &header, sizeof(SCCBHeader));
 
     /* Valid sccb sizes */
     if (be16_to_cpu(header.length) < sizeof(SCCBHeader)) {
@@ -331,7 +333,8 @@ int sclp_service_call(S390CPU *cpu, uint64_t sccb, uint32_t code)
      * the host has checked the values
      */
     work_sccb = g_malloc0(be16_to_cpu(header.length));
-    cpu_physical_memory_read(sccb, work_sccb, be16_to_cpu(header.length));
+    address_space_read(as, sccb, MEMTXATTRS_UNSPECIFIED,
+                       work_sccb, be16_to_cpu(header.length));
 
     if (!sclp_command_code_valid(code)) {
         work_sccb->h.response_code = cpu_to_be16(SCLP_RC_INVALID_SCLP_COMMAND);
@@ -345,8 +348,8 @@ int sclp_service_call(S390CPU *cpu, uint64_t sccb, uint32_t code)
 
     sclp_c->execute(sclp, work_sccb, code);
 out_write:
-    cpu_physical_memory_write(sccb, work_sccb,
-                              be16_to_cpu(work_sccb->h.length));
+    address_space_write(as, sccb, MEMTXATTRS_UNSPECIFIED,
+                        work_sccb, be16_to_cpu(header.length));
 
     sclp_c->service_interrupt(sclp, sccb);
 
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Thu Oct 02 08:46:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Oct 2025 08:46:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1135464.1472600 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4Ewx-0004JR-Ei; Thu, 02 Oct 2025 08:46:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1135464.1472600; Thu, 02 Oct 2025 08:46:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4Ewx-0004HX-0S; Thu, 02 Oct 2025 08:46:07 +0000
Received: by outflank-mailman (input) for mailman id 1135464;
 Thu, 02 Oct 2025 08:46:05 +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 <SRS0=9sj0=4L=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1v4Eu9-000821-KD
 for xen-devel@lists.xenproject.org; Thu, 02 Oct 2025 08:43:13 +0000
Received: from mail-wm1-x32f.google.com (mail-wm1-x32f.google.com
 [2a00:1450:4864:20::32f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d4d374b3-9f6b-11f0-9d14-b5c5bf9af7f9;
 Thu, 02 Oct 2025 10:43:13 +0200 (CEST)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-46e3ea0445fso3917985e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 02 Oct 2025 01:43:13 -0700 (PDT)
Received: from localhost.localdomain (88-187-86-199.subs.proxad.net.
 [88.187.86.199]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-46e61a0204fsm73877065e9.14.2025.10.02.01.43.11
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Thu, 02 Oct 2025 01:43:12 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d4d374b3-9f6b-11f0-9d14-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1759394592; x=1759999392; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=32KTyTEIv4S+xafyswExVd2MIXheWFL9qAvbf+ZRZFI=;
        b=bBFovvI8b3IV9C57DVQH3M5cPOe9P8xaaAYdQihpD2SVlsJVyw/mNeaUWQKcWvkKTc
         c7TaD1Mx/YFj9tFwvPNHMc99rBFEDOj6RCm9QVnbEdZXmFqT+yRDx8kL/3ng/f+3uByh
         SZhdf8KzXClR14Rp5arJHNh04BJ2/AXeTn19ItA9Zcy0/S+rfM4d4VMwe5ZSIcyxSYWh
         0+WBfLuKyIAAHNYWht9WJYx1NBtiRhffAi7OSnmqlooSUBlQKOBBe7bAP6ZI7grwvDTL
         Gj4kkpL1kHNvAckNoXJHiroztjKsWnNShgNWCVUwLsk5vPnY2m/GJOreVgFX9zFGdTlb
         k8AA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759394592; x=1759999392;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=32KTyTEIv4S+xafyswExVd2MIXheWFL9qAvbf+ZRZFI=;
        b=XIm7hEOaj/tPX7UPVJi7B0N0XZAnkrTlOxD79iffhlyojkdJqXR9I37iOqsl3LRSJW
         M6e7d8NCGFYDPsmjebW5ifeCMXTNIghqpMOER6tLKIUjuHlQkxxr6EFNyqBYbQXuHElb
         K0+SiPF/od9qfQZgpteXmnFHokOAKb43WxjCrMNPNxMSQqufj8FHJiuxWQln6HRcFoUY
         Q5NxUPOBg/FyEJdLHDE0g7uCCdMKMvUGSOnoMmPjtTddD7Y7STvVVI9N5hk+1kTIRaAE
         QxTxq/mX4OOeU3ryehGmoNVLd1e8OzG3AARLaRE4dRcF4KGARJxTgP2kgsz1Thn/a3GK
         io3Q==
X-Forwarded-Encrypted: i=1; AJvYcCXizpdK6VRUFoL3WyOgAFsKtu6o2RsNxpWiXG06Rr4WsksHsbOEbGLKEjopHPxcf2ZGbf2vwPTd5w4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzG1j8SOwkHi5PL+IoN/8hvIZAkL765H8R2YL1K19GfPkbno+th
	by7tYv9SNDH7Ti6PWgHXV+m1pA5mewn552sfHfu7KVYpXrvLr+stWEhdNGymg8iOMFI=
X-Gm-Gg: ASbGncvHF7UIFxHrmQvW8IGtyD33uHts+rtTSK4CCqEu7dkZgnrlAoJXnQKK7ISMKIn
	xgo+DxKMt8/DhXcAqkLhDlfUT4JKrI7Tc5dnA7CS4cl8fNAbAuePpPK1TOotSaJ2WeyCqY/VmRz
	oJo0/LjTr101V9xsUzpT6vHrDAodTjfF/aiwdSircYfoItHfSwoAv+dhZoUjwsVnc+CRPkZT6Qo
	6ELQiI9HofmVJ/QXqf8JOZxwtx35OK+wbYbimX3zWboeEck6cDAHh4HZ8tBSb+U7vrN0DdUOor3
	17u+enJlCf2Wh9BxwiV76tk+es0g5cC0vfsAA3hbH8U0Nxt6oYW2D8yKCgwM2jdnFfzCdel5z/V
	ovRm0uXk/SPkAvvGoDdjJFFc8xb/7ig4nc6jhVSizr+V7b2IjF4I2zRS2BshIDgZOxV8l0ASrSt
	Z9FljIM7PrQ4yB3BiHCd1055HD0dvKIw==
X-Google-Smtp-Source: AGHT+IEZQOIEqlGUv6pO69td5pzAzxUa79bMkjYW9qkw21+3BvVHY7MhQ8EnUXVp5wD/RikWOGCbpQ==
X-Received: by 2002:a05:600c:8b37:b0:46e:4329:a4d1 with SMTP id 5b1f17b1804b1-46e61202280mr56814795e9.4.1759394592450;
        Thu, 02 Oct 2025 01:43:12 -0700 (PDT)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-s390x@nongnu.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Peter Xu <peterx@redhat.com>,
	David Hildenbrand <david@redhat.com>
Subject: [PATCH v4 14/17] system/physmem: Avoid cpu_physical_memory_rw when is_write is constant
Date: Thu,  2 Oct 2025 10:41:59 +0200
Message-ID: <20251002084203.63899-15-philmd@linaro.org>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251002084203.63899-1-philmd@linaro.org>
References: <20251002084203.63899-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Following the mechanical changes of commit adeefe01671 ("Avoid
cpu_physical_memory_rw() with a constant is_write argument"),
replace:

 - cpu_physical_memory_rw(, is_write=false) -> address_space_read()
 - cpu_physical_memory_rw(, is_write=true)  -> address_space_write()

Signed-off-by: Philippe Mathieu-DaudÃ© <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
---
 scripts/coccinelle/exec_rw_const.cocci | 12 ------------
 system/physmem.c                       |  6 ++++--
 2 files changed, 4 insertions(+), 14 deletions(-)

diff --git a/scripts/coccinelle/exec_rw_const.cocci b/scripts/coccinelle/exec_rw_const.cocci
index 1a202969519..35ab79e6d74 100644
--- a/scripts/coccinelle/exec_rw_const.cocci
+++ b/scripts/coccinelle/exec_rw_const.cocci
@@ -62,18 +62,6 @@ symbol true, false;
 + address_space_write(E1, E2, E3, E4, E5)
 )
 
-// Avoid uses of cpu_physical_memory_rw() with a constant is_write argument.
-@@
-expression E1, E2, E3;
-@@
-(
-- cpu_physical_memory_rw(E1, E2, E3, false)
-+ cpu_physical_memory_read(E1, E2, E3)
-|
-- cpu_physical_memory_rw(E1, E2, E3, true)
-+ cpu_physical_memory_write(E1, E2, E3)
-)
-
 // Remove useless cast
 @@
 expression E1, E2, E3, E4, E5, E6;
diff --git a/system/physmem.c b/system/physmem.c
index d5d320c8070..23932b63d77 100644
--- a/system/physmem.c
+++ b/system/physmem.c
@@ -3190,12 +3190,14 @@ void cpu_physical_memory_rw(hwaddr addr, void *buf,
 
 void cpu_physical_memory_read(hwaddr addr, void *buf, hwaddr len)
 {
-    cpu_physical_memory_rw(addr, buf, len, false);
+    address_space_read(&address_space_memory, addr,
+                       MEMTXATTRS_UNSPECIFIED, buf, len);
 }
 
 void cpu_physical_memory_write(hwaddr addr, const void *buf, hwaddr len)
 {
-    cpu_physical_memory_rw(addr, (void *)buf, len, true);
+    address_space_write(&address_space_memory, addr,
+                        MEMTXATTRS_UNSPECIFIED, buf, len);
 }
 
 /* used for ROM loading : can write in RAM and ROM */
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Thu Oct 02 08:46:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Oct 2025 08:46:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1135467.1472607 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4Ewx-0004Uo-Tm; Thu, 02 Oct 2025 08:46:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1135467.1472607; Thu, 02 Oct 2025 08:46:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4Ewx-0004RX-HH; Thu, 02 Oct 2025 08:46:07 +0000
Received: by outflank-mailman (input) for mailman id 1135467;
 Thu, 02 Oct 2025 08:46:06 +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 <SRS0=9sj0=4L=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1v4Etv-000821-7b
 for xen-devel@lists.xenproject.org; Thu, 02 Oct 2025 08:42:59 +0000
Received: from mail-wm1-x336.google.com (mail-wm1-x336.google.com
 [2a00:1450:4864:20::336])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cc19fdd3-9f6b-11f0-9d14-b5c5bf9af7f9;
 Thu, 02 Oct 2025 10:42:58 +0200 (CEST)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-46e37d6c21eso4996385e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 02 Oct 2025 01:42:58 -0700 (PDT)
Received: from localhost.localdomain (88-187-86-199.subs.proxad.net.
 [88.187.86.199]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-46e61a029a0sm71252835e9.13.2025.10.02.01.42.57
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Thu, 02 Oct 2025 01:42:57 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cc19fdd3-9f6b-11f0-9d14-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1759394578; x=1759999378; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=W71XKN8BDb9kJ6RH2tt1PLzXlP9jppatkbhtyR1OYg0=;
        b=mEEwC0Ytg3RNjH8coCMIR2KbDTCy+Q/SbrY/VwbVNg+hiB/FgAsM6UhCa7gCu0kpqf
         O3rPz/DG/5N4/gtdG0IuQr7O8jjrr4b9vsdVjYVuOUYpHnaeLnZwrhD5FcmogPuVHRgT
         I5duiYkSKfEUb+rGEtELNypYw/WM6gBRFYhjOzkq1Pmt7/TiM7AwyR3SzCyQZucveltv
         PYnyh2OegafQMB5YYmB0O5r2P+B2I8VrwDMkzvBlCsIekTn6C2ejcHGOr4yyCShjGt16
         Zt6gnRyii6XFcUSkiWu+bbbTSxSqltnC9HBDt90xIlVN0YyvVw5fRuzRRW0+QdyVrAtL
         lICg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759394578; x=1759999378;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=W71XKN8BDb9kJ6RH2tt1PLzXlP9jppatkbhtyR1OYg0=;
        b=iMuwJqw+8ExbGqQC+rS377521MtvSmx1QBLjDrKPUPeEK5GxCiyC3/0oBaynOkDnfx
         NZJZsjAiHiNcty0X4CvZ0QQMMpOIzHLkCOgaxr8lQdZneRdS0qo2YTk0KUv33bGDA2Tr
         qqk7MQBd2HjpTFukP729raLAnJJDTV9LzuU351gp10ZxssI0itt7U1DYEU08tggrGQH5
         7xgw8YzIeUqLFsGFuMKGVydajTsnLkb8BUAHJVq1B8bAwn2uBLPU4bjm6kil5YHB+9/z
         fk1kgEn7PaCnAENzZL7pdg7zfzEkc78Xffk3VZKD++8cNh7fTy1wQ5CRpDFYT0BMH2Fj
         TbLw==
X-Forwarded-Encrypted: i=1; AJvYcCWRpo45MCBWU/nH2mGH2U86WXuAErrFmQlh3U0keWwjsVy7y9i67ew6xm/Cty8uWv9E3XmBBKlO88o=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyvsdoTmO99ekC2HP4uAPF0aw1QqFDIZMZ/RLLwDpzzyA2Bgi1M
	iaL/HUqioy5m4d66cgLecwXLxXImcJNqi/FiQGRWJoH+qQiIJwWZcjsDH7Ni4rQLHTs=
X-Gm-Gg: ASbGncsLnmN329QHuK9Q8asFEJdgo6tDJ0jySjZ1UO2rPLJGmmGqqt9xWniigRq2tVv
	DLak5d2tnUaOl0jUumL8BXVLQCOmUNZPMz2VQCeEuGoyO/eqCu+i0TPSxosR1zop2h8ltyWklEw
	AAqIhVBPJefL7u8LKsR3rAuF1Uxnr1330PPjkkoeAj2c+a0/jYjriTPVjZaCji+wBbzfwTz7cs8
	JjkgOeUpteCCl078STrf2UxQG4TjfA4hupWRKoUM76o3+NugLHeIrQCWWnHsqHjjEVdtPvUQamc
	vDjt5w6IA1ut2MDDVKmJkWvU9DE+vu7rSb9ykLIklynWGxniRfIb07B6Y1e0mHBcocS1DbMjw5n
	NBOqDDCVZg5RKTCHU0Btj7dCnjbuK/hXN1W5SFg3BhzgFQkaSkqTVmu5BXtT1pJcUQotdJJDQ7K
	fAi7LxJJQNYjTmR+UVngsd7L3ZTF32FQ==
X-Google-Smtp-Source: AGHT+IF+vQnTZyjnghBewujCyKQZ3vteqHFK+eM/Ja5h6DC+kmKBchs84xyaNt6pAje4wwu2ECUb3w==
X-Received: by 2002:a05:600c:37c4:b0:46e:3d41:5fed with SMTP id 5b1f17b1804b1-46e6127cf3cmr49323625e9.11.1759394577925;
        Thu, 02 Oct 2025 01:42:57 -0700 (PDT)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-s390x@nongnu.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Reinoud Zandijk <reinoud@netbsd.org>
Subject: [PATCH v4 11/17] target/i386/nvmm: Inline cpu_physical_memory_rw() in nvmm_mem_callback
Date: Thu,  2 Oct 2025 10:41:56 +0200
Message-ID: <20251002084203.63899-12-philmd@linaro.org>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251002084203.63899-1-philmd@linaro.org>
References: <20251002084203.63899-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Philippe Mathieu-DaudÃ© <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
---
 target/i386/nvmm/nvmm-all.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/target/i386/nvmm/nvmm-all.c b/target/i386/nvmm/nvmm-all.c
index ed424251673..2e442baf4b7 100644
--- a/target/i386/nvmm/nvmm-all.c
+++ b/target/i386/nvmm/nvmm-all.c
@@ -15,6 +15,7 @@
 #include "accel/accel-ops.h"
 #include "system/nvmm.h"
 #include "system/cpus.h"
+#include "system/memory.h"
 #include "system/runstate.h"
 #include "qemu/main-loop.h"
 #include "qemu/error-report.h"
@@ -516,7 +517,9 @@ nvmm_io_callback(struct nvmm_io *io)
 static void
 nvmm_mem_callback(struct nvmm_mem *mem)
 {
-    cpu_physical_memory_rw(mem->gpa, mem->data, mem->size, mem->write);
+    /* TODO: Get CPUState via mem->vcpu? */
+    address_space_rw(&address_space_memory, mem->gpa, MEMTXATTRS_UNSPECIFIED,
+                     mem->data, mem->size, mem->write);
 
     /* Needed, otherwise infinite loop. */
     current_cpu->vcpu_dirty = false;
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Thu Oct 02 08:46:10 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Oct 2025 08:46:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1135472.1472628 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4Ex0-0005Hg-EH; Thu, 02 Oct 2025 08:46:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1135472.1472628; Thu, 02 Oct 2025 08:46:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4Ex0-0005HP-84; Thu, 02 Oct 2025 08:46:10 +0000
Received: by outflank-mailman (input) for mailman id 1135472;
 Thu, 02 Oct 2025 08:46:08 +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 <SRS0=9sj0=4L=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1v4Eu6-00006C-K9
 for xen-devel@lists.xenproject.org; Thu, 02 Oct 2025 08:43:10 +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 d1ece652-9f6b-11f0-9809-7dc792cee155;
 Thu, 02 Oct 2025 10:43:08 +0200 (CEST)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-46e542196c7so10957495e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 02 Oct 2025 01:43:08 -0700 (PDT)
Received: from localhost.localdomain (88-187-86-199.subs.proxad.net.
 [88.187.86.199]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-46e693c2ea5sm24632555e9.16.2025.10.02.01.43.06
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Thu, 02 Oct 2025 01:43:07 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d1ece652-9f6b-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1759394588; x=1759999388; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=VaFs+E7RwXKG3PK6PiXPvBWe0XSzQsXZvT65+7chMhk=;
        b=GL6H5j6nRlzqEnM9KDsdaKSJDSOxBVoM5KsUeF9gUAJogQg+6CrOXbzmtuQSk2FXwu
         fITtUQqqJqBZsrd5Ntc7wfThXTUv/jM4XfZELInRnxrGdUXROLx8J6O8LO5blVBdIGpw
         vkLRJoNhmwp3WhJ140BXYBGmG2wm/51m6sjfSYDJd9hvts+u5XQdWPniH+hxTCow/nb0
         S4iFaBOPAtjm2Ei8zJitNflF40t8Ih4a9pv+PMbukhCdlqzhJpAgLOPglNdHebqq+dNj
         lJ5zFPwMUlX+MNvrFYEoCSchpiMIHum1WFvgVfZw7vsA3Ba1WkjvSn3WYxK50sh3UA0d
         yP2g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759394588; x=1759999388;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=VaFs+E7RwXKG3PK6PiXPvBWe0XSzQsXZvT65+7chMhk=;
        b=XsIW0c14xZrM2la6jeR154zsKOw/tyJ7ENhl9tpGbFhq+MmoDrTHKxfJ8XgKMWw16Z
         0cRNWPXB0+XaVqCLvWB3tGCNjUTKHHppp4hR3sZe2WB7NYs8CfaWjWQiQzqWz+Uel/9o
         fbtHKjY6oDCx2ikXvG1UGI/vd/o9a+GJuQOaqQWdcJo7AhZ4YtLYoilxAgKmAQK5Bs7i
         FebDNWcFymFWTB78yryX6dAIhAi53xE8UTZq5C0Jw7dwrmqq+Knc760D+qTkLqhAybUx
         CVL4L60nYw8WEmOSnf3hQ1md0d2MK2263hnwVH1Vdm8CLQh6yTvI8veLRhVp0pLSJg9G
         d7Og==
X-Forwarded-Encrypted: i=1; AJvYcCUJH0JQW74WR7nda2ai1J5PV2HzY6VGnIlG/NqkonVbxVMlMG0WkFL3BZrVn8ZXLF94vDucvSOfBWk=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz2Gj/DZ7hXAGtXol3URd5Kcc74oLB4+gMU5HfALryb8ECx0ML1
	jkuYxDrtcuUNloUPuhLH70ePDg8Lazt56KI5wNZHgyO3Ndt0lQkhN8yi1V4/C2DlLxI=
X-Gm-Gg: ASbGncswXibypx51BXvM0CmMd6WWfQbq101ytW+7E6sPWKeS/qdKBGZuhdfdzQrNmji
	yz3FzUyCwJj32Omo6xYfGjEzf5W++Rxnouza2ZHv6XfPIpvfq33HOHKJnH3IKmw849jkKJqhtk/
	bFhR3i7lB4UA1LOYNESc+XvSUKHst+PJB/WUHuIg2xA85P215k1ZcnndmDfr1oAVDURjTP0gmS1
	K2STkruTxVSCmtWHnfPFdurFsVfdz24raaKkYR7HByvRIuSmcwNsuhuQB4BQ1QNgF2gCpl4sXWR
	6E8low7m4x52dl/gm3fo6mNh61NgIosiQN/4Gmrt1HabGhsMACql5nHybjU4TQ9V0DiJJKwCTet
	eMFVK7IkzmqdWF68P8jp3NwqHauyuKs7kyifhdMHbQNdbh/ZVVYxSzPo7gbkHsCLDo+LtVpJV8c
	7hvpnp7aettpN22I3QO+RZ9AYtQPd9MQ==
X-Google-Smtp-Source: AGHT+IH3oBDcFkCrZW4zdMmmdzvura7CGJv+T+de06uu1CRKlNDCaUMsAj1fOdp2bPK62ElNJTRC7Q==
X-Received: by 2002:a05:600c:408a:b0:46d:38c4:1ac9 with SMTP id 5b1f17b1804b1-46e68ba134bmr12450485e9.2.1759394587659;
        Thu, 02 Oct 2025 01:43:07 -0700 (PDT)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-s390x@nongnu.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Peter Xu <peterx@redhat.com>,
	David Hildenbrand <david@redhat.com>
Subject: [PATCH v4 13/17] system/physmem: Un-inline cpu_physical_memory_read/write()
Date: Thu,  2 Oct 2025 10:41:58 +0200
Message-ID: <20251002084203.63899-14-philmd@linaro.org>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251002084203.63899-1-philmd@linaro.org>
References: <20251002084203.63899-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

In order to remove cpu_physical_memory_rw() in a pair of commits,
and due to a cyclic dependency between "exec/cpu-common.h" and
"system/memory.h", un-inline cpu_physical_memory_read() and
cpu_physical_memory_write() as a prerequired step.

Signed-off-by: Philippe Mathieu-DaudÃ© <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
---
 include/exec/cpu-common.h | 12 ++----------
 system/physmem.c          | 10 ++++++++++
 2 files changed, 12 insertions(+), 10 deletions(-)

diff --git a/include/exec/cpu-common.h b/include/exec/cpu-common.h
index 6c7d84aacb4..6e8cb530f6e 100644
--- a/include/exec/cpu-common.h
+++ b/include/exec/cpu-common.h
@@ -133,16 +133,8 @@ void cpu_address_space_destroy(CPUState *cpu, int asidx);
 
 void cpu_physical_memory_rw(hwaddr addr, void *buf,
                             hwaddr len, bool is_write);
-static inline void cpu_physical_memory_read(hwaddr addr,
-                                            void *buf, hwaddr len)
-{
-    cpu_physical_memory_rw(addr, buf, len, false);
-}
-static inline void cpu_physical_memory_write(hwaddr addr,
-                                             const void *buf, hwaddr len)
-{
-    cpu_physical_memory_rw(addr, (void *)buf, len, true);
-}
+void cpu_physical_memory_read(hwaddr addr, void *buf, hwaddr len);
+void cpu_physical_memory_write(hwaddr addr, const void *buf, hwaddr len);
 void *cpu_physical_memory_map(hwaddr addr,
                               hwaddr *plen,
                               bool is_write);
diff --git a/system/physmem.c b/system/physmem.c
index 29ac80af887..d5d320c8070 100644
--- a/system/physmem.c
+++ b/system/physmem.c
@@ -3188,6 +3188,16 @@ void cpu_physical_memory_rw(hwaddr addr, void *buf,
                      buf, len, is_write);
 }
 
+void cpu_physical_memory_read(hwaddr addr, void *buf, hwaddr len)
+{
+    cpu_physical_memory_rw(addr, buf, len, false);
+}
+
+void cpu_physical_memory_write(hwaddr addr, const void *buf, hwaddr len)
+{
+    cpu_physical_memory_rw(addr, (void *)buf, len, true);
+}
+
 /* used for ROM loading : can write in RAM and ROM */
 MemTxResult address_space_write_rom(AddressSpace *as, hwaddr addr,
                                     MemTxAttrs attrs,
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Thu Oct 02 08:46:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Oct 2025 08:46:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1135476.1472634 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4Ex1-0005Ka-1I; Thu, 02 Oct 2025 08:46:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1135476.1472634; Thu, 02 Oct 2025 08:46:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4Ex0-0005J3-LD; Thu, 02 Oct 2025 08:46:10 +0000
Received: by outflank-mailman (input) for mailman id 1135476;
 Thu, 02 Oct 2025 08:46:09 +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 <SRS0=9sj0=4L=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1v4EuJ-000821-6p
 for xen-devel@lists.xenproject.org; Thu, 02 Oct 2025 08:43:23 +0000
Received: from mail-wr1-x42b.google.com (mail-wr1-x42b.google.com
 [2a00:1450:4864:20::42b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id da9abe38-9f6b-11f0-9d14-b5c5bf9af7f9;
 Thu, 02 Oct 2025 10:43:22 +0200 (CEST)
Received: by mail-wr1-x42b.google.com with SMTP id
 ffacd0b85a97d-3ee12a63af1so427231f8f.1
 for <xen-devel@lists.xenproject.org>; Thu, 02 Oct 2025 01:43:22 -0700 (PDT)
Received: from localhost.localdomain (88-187-86-199.subs.proxad.net.
 [88.187.86.199]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-46e5c3eca22sm54562995e9.4.2025.10.02.01.43.21
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Thu, 02 Oct 2025 01:43:21 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: da9abe38-9f6b-11f0-9d14-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1759394602; x=1759999402; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=h9bjNs8nbmPHtqp1O3nLNnIUYP6MFEbM89LgRhzC8Oo=;
        b=ILJSkoAsGlVVd3mE8qpsb4hz0g4nNw+IgrD4AqC3+KbcJawhFMx2C5SkAdOHwYGx9w
         YfWZuenPxPQ38WS90gODtjh+rybtDKuhNg2cTjQ3GG/SUHgB5u1PDSmiVlNWIB7URuIk
         ZXdIvAD1hR78Ij7g3hrUBizJ8hbLHja1ASxF8SznI4PnS8qF9rZDq2vyCBoejgQvwq2S
         HG0PQBROJHPd0JgaJw2az5xeYx2bBy4X3MRRDSMRhXiekdWBGQaJFKSyC8JRywZDuh34
         BmKWVz/YPqlvyslzVIuiNhqtMQw2nytWSiOzmFxLuvyOJZXnJ14f5b4lMJfYctA1RJPh
         tk9A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759394602; x=1759999402;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=h9bjNs8nbmPHtqp1O3nLNnIUYP6MFEbM89LgRhzC8Oo=;
        b=aYzkHgSr8QnpKygbjJQqn6fi8QwlB2HP5Soscxy00vjuXvjtvjwdU0R6sYDi4DS7V8
         0EanXkRV1v5mTR+y5Ph5W1O/9KdHQ15BdPNvgt0W6IWvSLjjYWbQ3d9+/h3TbCpbwBhg
         hZ6bLMN+WBm5hzi6o4rBP4+2SCsNCQBzy0ZEkarlPu8efro1ky/RvRoKB/HkvsJbdWkv
         AJLEHQBIJV7OEUodyviFVSIUqX7LOhS2VjtUtOhkNmEDTsJ9+fzvCejHVm77Bm0c+w+B
         8dm3DdoC/xutqjdOAKcUt4iwwZ2IZC9Eb5xwxO5asdoZc9ukluC7tBjh8XDMfxgIpt4v
         XGEA==
X-Forwarded-Encrypted: i=1; AJvYcCUmUBm3ySChWojsQWFg2+TFlCAcFuZ3M7ZIAjQLBIZifTSDLcw+6FPoIIzoSwDaTWpevDGHebuy1VE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzSicjuhyPG05JhDZVLqhh0nPoMIQrtAHu3C7fNPZmdcezst88D
	X9DWfVeLuxoP+0jOBnMrOUrSHaZsgsHQV/jmVUf8bDp1BevhYCQ6SFPjtdC8mR62bHLjMwLOq8D
	abnt4isq0Qg==
X-Gm-Gg: ASbGncuvhjIpeYHu8FYvPsCAmjhHUYoFmHfpWMNmC4wkitRNO/Vuk5x5mIqTuQ+tO+h
	VA9IYsUEszVjqkIICWvuDTyKaigit2HEAToU0yNlGi2nWBtNw5PAjRHPnerPb1tc7DV/m9LEwE/
	uXyJTGsNGei7eU8+TApGaOm3MCunVQc9s7RMqQSemxojOqt1ivQqctbXFHB8D0pXpaAlvz8ZY0S
	SG7q6TiA1+WdaKDIgxYTepvZoKYVJipXDrIJRckbnDiTp4bqRqvKh2KoU9UFRl5yuV8LadFgYvz
	JgQxWbYc/NblGLplOygRg6C26s34W2ALoJ5WJEsVHGCZXgxZQiJyStqbHIzCk0dXY9rzE8jp2xT
	9G9qCFk+bhaEOTzjgHwsCvuWPUdktayP5mkYWoUR6P1ur5IRWpllUvz1tPdrRC22afrqR3DxjVB
	2YbUTbgxpW+064xURAEN7bIUIYNEjbBw==
X-Google-Smtp-Source: AGHT+IGyb5rK3wU2eYffbepInpQ5nRpyDFkLvUQpXIwaKbJPhsQ9zk9+/o3WwrGqdXtMXrkY9srT5g==
X-Received: by 2002:a05:6000:40cc:b0:3fd:eb15:77a with SMTP id ffacd0b85a97d-425577ee891mr3832972f8f.6.1759394602152;
        Thu, 02 Oct 2025 01:43:22 -0700 (PDT)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-s390x@nongnu.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Stefano Garzarella <sgarzare@redhat.com>
Subject: [PATCH v4 16/17] hw/virtio/vhost: Replace legacy cpu_physical_memory_*map() calls
Date: Thu,  2 Oct 2025 10:42:01 +0200
Message-ID: <20251002084203.63899-17-philmd@linaro.org>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251002084203.63899-1-philmd@linaro.org>
References: <20251002084203.63899-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Use VirtIODevice::dma_as address space to convert the legacy
cpu_physical_memory_[un]map() calls to address_space_[un]map().

Signed-off-by: Philippe Mathieu-DaudÃ© <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
---
 hw/virtio/vhost.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/hw/virtio/vhost.c b/hw/virtio/vhost.c
index 6557c58d12a..efa24aee609 100644
--- a/hw/virtio/vhost.c
+++ b/hw/virtio/vhost.c
@@ -27,6 +27,7 @@
 #include "migration/blocker.h"
 #include "migration/qemu-file-types.h"
 #include "system/dma.h"
+#include "system/memory.h"
 #include "trace.h"
 
 /* enabled until disconnected backend stabilizes */
@@ -455,7 +456,8 @@ static void *vhost_memory_map(struct vhost_dev *dev, hwaddr addr,
                               hwaddr *plen, bool is_write)
 {
     if (!vhost_dev_has_iommu(dev)) {
-        return cpu_physical_memory_map(addr, plen, is_write);
+        return address_space_map(dev->vdev->dma_as, addr, plen, is_write,
+                                 MEMTXATTRS_UNSPECIFIED);
     } else {
         return (void *)(uintptr_t)addr;
     }
@@ -466,7 +468,8 @@ static void vhost_memory_unmap(struct vhost_dev *dev, void *buffer,
                                hwaddr access_len)
 {
     if (!vhost_dev_has_iommu(dev)) {
-        cpu_physical_memory_unmap(buffer, len, is_write, access_len);
+        address_space_unmap(dev->vdev->dma_as, buffer, len, is_write,
+                            access_len);
     }
 }
 
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Thu Oct 02 08:46:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Oct 2025 08:46:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1135481.1472645 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4Ex2-0005hg-4K; Thu, 02 Oct 2025 08:46:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1135481.1472645; Thu, 02 Oct 2025 08:46:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4Ex1-0005fu-VZ; Thu, 02 Oct 2025 08:46:11 +0000
Received: by outflank-mailman (input) for mailman id 1135481;
 Thu, 02 Oct 2025 08:46:11 +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 <SRS0=9sj0=4L=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1v4EuP-00006C-2E
 for xen-devel@lists.xenproject.org; Thu, 02 Oct 2025 08:43:29 +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 dd69c319-9f6b-11f0-9809-7dc792cee155;
 Thu, 02 Oct 2025 10:43:27 +0200 (CEST)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-46e384dfde0so7881915e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 02 Oct 2025 01:43:27 -0700 (PDT)
Received: from localhost.localdomain (88-187-86-199.subs.proxad.net.
 [88.187.86.199]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-46e693bd655sm26669815e9.14.2025.10.02.01.43.26
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Thu, 02 Oct 2025 01:43:26 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dd69c319-9f6b-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1759394607; x=1759999407; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=sizE8fixTdjMLNdHvH96mSdoNGp/FmemDWUp22VSw54=;
        b=iECfgEh3AzeBxuudwgLQs2r6Vhy7zA+ROH/bBhO3XwBL0/AxJL10l8d/P3ndi72ZHS
         h5PHF30B+Teeu5KFgNxj3NaiXOkTsmC8o+QoL3Y6Rm61djyBGe/XxUYiGKs3ZNU0vblK
         osksOpCb8D+BZbbXrDExtsMcTJbyBkKOk5jXdbNzx8ckLIzSMoU7YfPJ2pNhdOm9J31P
         nGvzOYLQxqJ7YsL4RQoj1kqCJ6wkq9nskLw6oJQzcyTdiP+RtSmyUGjnckKqtD8v9IEy
         WCCAnTNJSYi24sDO6efNWuZDXNb55jgWCy3tuaiJ/26Qak0okXSLdQDcIxzSFGmVpRdr
         yKTw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759394607; x=1759999407;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=sizE8fixTdjMLNdHvH96mSdoNGp/FmemDWUp22VSw54=;
        b=gFCvg2SjmeFPMfrL/TmquxyGKT2qNU7M1y5sAahmgGitX4yOjfkiRHoSenQo50vsWy
         EYoeYd/oPMnqgK7HhcUiE7cFyBVZc9xAv+1fDrNDVYTqDun58sZBEMSkDmDwbPuwVD6q
         U26sOasgKmJWMAGLoZKfLRP5mRT/9AOlLmRSYw6SjD0f4QoHzvcJsdY0FT8p//e2sRu2
         WSCmvMNW1ZqXY+qyukGPmsCbyz9adZGlmhycIl0IqnHk81f2uRB+/grnJXPIj7K3BoJ5
         rDTvhMojagSu/Pfoa/xOK/WGa+LqGWtjwmLywGE5pV1++U8kno6Bfxnr/lgPa2K+hmq7
         4qRA==
X-Forwarded-Encrypted: i=1; AJvYcCXBWO+2azKuOJ8XVQ6hfgv7UGrY5XR5rYnd3gprsuFeYyAnpMrFIpLNj59b8c9rU8ZOXxhlW/OVwoE=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw/Nmhc+rwQuLb5W2kWH/oPXP3qdVwnZq2pAjN2iBqpPBoEMFHm
	DnX6SBTbJd4ue9K9abkidFxqo6kbgwQww3s7luYVr67jwiQA8jIpLevvjmfCFixDpy4=
X-Gm-Gg: ASbGnctH225ANBZ2KoNIabrdHEs7B5JD0Rgw5Tg3jIOyn9sbkTH5dJnjm6Zr7RWgmZE
	nDo3R40ipo6uFG5bS27CvNhbgUSAzZAs9Oy/CEWTpaprA6RtOVsnqX8Tf/LKHbX6LlfmWUjP+gg
	u6Gz2opnt6HrrnsWt2hThxWu6p3VlJR/UR2AsKFwp6pcqc4Mz0ZGIc0uO8E0h7qBlVN8f84554S
	sAtFRMdHOdW+L0Iqdo8U9sH1bBawyGZzgMtzhpTAJNZ1czvTm9sYp+E/trkME6hibgJc7UP6TkZ
	JARNHhVc7NiTXJzMkjk8hHs5ylfSQKs/ZTyekNwXcWGsJp5lZjolNCcvJplSShSxL+RzD7pAgiu
	ybtDeF3rlLFcb6BhEpnXdG1F0atORHcsrcETSXZcAINT63tRJgc6a7Fat5rAUwRMfucmxGXN8B+
	beQsPwckeIjuNhXAqzeMAo8CIIg96fzA==
X-Google-Smtp-Source: AGHT+IF9YgQxjGmfBS/VLSZ9Yn1NV8aiLQRYv9H/Rha4by/slLu+GOg0yeUsYkmlZm+Qs2ADprJnow==
X-Received: by 2002:a05:600c:5289:b0:46e:6d5f:f59 with SMTP id 5b1f17b1804b1-46e6d5f1183mr8939815e9.4.1759394606884;
        Thu, 02 Oct 2025 01:43:26 -0700 (PDT)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-s390x@nongnu.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Michael S. Tsirkin" <mst@redhat.com>
Subject: [PATCH v4 17/17] hw/virtio/virtio: Replace legacy cpu_physical_memory_map() call
Date: Thu,  2 Oct 2025 10:42:02 +0200
Message-ID: <20251002084203.63899-18-philmd@linaro.org>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251002084203.63899-1-philmd@linaro.org>
References: <20251002084203.63899-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Propagate VirtIODevice::dma_as to virtqueue_undo_map_desc()
in order to replace the legacy cpu_physical_memory_unmap()
call by address_space_unmap().

Signed-off-by: Philippe Mathieu-DaudÃ© <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
---
 hw/virtio/virtio.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c
index 9a81ad912e0..1ed3aa6abab 100644
--- a/hw/virtio/virtio.c
+++ b/hw/virtio/virtio.c
@@ -31,6 +31,7 @@
 #include "hw/qdev-properties.h"
 #include "hw/virtio/virtio-access.h"
 #include "system/dma.h"
+#include "system/memory.h"
 #include "system/runstate.h"
 #include "virtio-qmp.h"
 
@@ -1622,7 +1623,8 @@ out:
  * virtqueue_unmap_sg() can't be used).  Assumes buffers weren't written to
  * yet.
  */
-static void virtqueue_undo_map_desc(unsigned int out_num, unsigned int in_num,
+static void virtqueue_undo_map_desc(AddressSpace *as,
+                                    unsigned int out_num, unsigned int in_num,
                                     struct iovec *iov)
 {
     unsigned int i;
@@ -1630,7 +1632,7 @@ static void virtqueue_undo_map_desc(unsigned int out_num, unsigned int in_num,
     for (i = 0; i < out_num + in_num; i++) {
         int is_write = i >= out_num;
 
-        cpu_physical_memory_unmap(iov->iov_base, iov->iov_len, is_write, 0);
+        address_space_unmap(as, iov->iov_base, iov->iov_len, is_write, 0);
         iov++;
     }
 }
@@ -1832,7 +1834,7 @@ done:
     return elem;
 
 err_undo_map:
-    virtqueue_undo_map_desc(out_num, in_num, iov);
+    virtqueue_undo_map_desc(vdev->dma_as, out_num, in_num, iov);
     goto done;
 }
 
@@ -1982,7 +1984,7 @@ done:
     return elem;
 
 err_undo_map:
-    virtqueue_undo_map_desc(out_num, in_num, iov);
+    virtqueue_undo_map_desc(vdev->dma_as, out_num, in_num, iov);
     goto done;
 }
 
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Thu Oct 02 08:46:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Oct 2025 08:46:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1135482.1472658 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4Ex4-0006Cn-Jw; Thu, 02 Oct 2025 08:46:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1135482.1472658; Thu, 02 Oct 2025 08:46:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4Ex4-0006Bx-Cb; Thu, 02 Oct 2025 08:46:14 +0000
Received: by outflank-mailman (input) for mailman id 1135482;
 Thu, 02 Oct 2025 08:46:12 +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 <SRS0=9sj0=4L=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1v4Etr-00006C-Jy
 for xen-devel@lists.xenproject.org; Thu, 02 Oct 2025 08:42:55 +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 c9522fc4-9f6b-11f0-9809-7dc792cee155;
 Thu, 02 Oct 2025 10:42:53 +0200 (CEST)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-3f0ae439b56so420629f8f.3
 for <xen-devel@lists.xenproject.org>; Thu, 02 Oct 2025 01:42:53 -0700 (PDT)
Received: from localhost.localdomain (88-187-86-199.subs.proxad.net.
 [88.187.86.199]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4255d8f4ccesm2549112f8f.59.2025.10.02.01.42.52
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Thu, 02 Oct 2025 01:42:52 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c9522fc4-9f6b-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1759394573; x=1759999373; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=I2a+b3m6nNjsik0uExia3oDVD3UfHkSBuHgsktxpBbI=;
        b=xDibLJZyekyTWOWocExJygtlGqR56x29PmYu4aaPkDstiv1NmLeh/Sf8Xbw83HuAZN
         evyJXBvZ8SE2FN9t3wkV4yJZpRFsstzVCD3TtvVt6F/IviE2zrhJ8gDjDssvJitKh0gJ
         28F/d84tJ82WcNxQ/fpy2DJi3gONz5vJBSMBumLnHjeQC/SEORYSrEqgirmDe5Ghqx4Q
         XF3hLsQEKlHPglGbR1zZX7VpMb3u9mlCBrn5hh5/iNrnAu6W4gkxDUchkqizHmoepT+k
         l+btBznonJ7TVQLc0zTsxE6B23Rp+MgwaquDf8TbtyqE/2uqYkYxuIr9Qduhol6j5lJN
         MIHA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759394573; x=1759999373;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=I2a+b3m6nNjsik0uExia3oDVD3UfHkSBuHgsktxpBbI=;
        b=csEn6QOGyGeLuxyKuFioxDBdJkmrKfqWSZo9DlAdCoN1maw7rl/CEASylsqJqHuf+N
         JVe6/0cGEXp4M2/X+p6fsgiD8IiBOSpNQTl/Xp/NNnp60KdbS4f3Nkpi13+4pLBrrscM
         kH/N+Zn/XaPQRp+5Ni2EpYM/4dSUU+XElY03XpgdBgInjRoC081l88RWO18nBEgtnGbU
         gXN6ElTfGDdS1NAwYy7IMuUozhXI549OhT6ZdA4GCunRIsi6lOCfzpSCymYBtiA3c4EF
         +jLR0gQ/tvKtDWK3RSUse/4ru0sHljSACL+vTm8/rug5ffM+uPegM3rwrL0YAN/DnUcz
         Sw3g==
X-Forwarded-Encrypted: i=1; AJvYcCXSmRdw2h5hN7qWH7rxsqgCgz38xmUYomvDC07Cyq+LvWLDvjGN522FIH0L8DrNjOWY28faihkpbqE=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy9M6HcU0cV5sy/KovJ7alP+WxasFfZgxTPlNwP33/1WQfF1ood
	mcsuXnWxgvIWx48aU62EAOrjynyfiiSOVp8+jPv8oZrzjR+kaZAgX3+hV+EKwAgNa2g=
X-Gm-Gg: ASbGncvWS3JtdH8EjjBO3vpZWoOFkGgELV3IDLyopiE59GaFWagcAwZP4daC+VfjfSF
	ILeE4ydTWNZoeAyOdGWrrO70oerdOpjzpaNfTK8N+MRI/0Q0oWSXjpE1LIpWHZzGp1p0kZHinYw
	zj3wfpLHRsYXzXCNWO2lYYbku/E3m6Njip972O1nrmYnZqrSW4Cy4amBWA6GT5XEWswzJlfW+fl
	1Lm2EA4kx6kq5zYKJ3C+Bih9sOTa6b8W2mieSzDv2q6Q3TkXu2WZy9BJCWOzBR8MUcsueYhKRIu
	7imtiL37F1rNQhyutq9fzRIwvCr45ePcz7i/v9zQFMrCT3jlTsJIAuRXqewUaA4Vixg8O8Tr3jm
	MDGJ1oG1uckECXC0tGExIajUib4jCxMTFc/TqjclzyC5teRB/B4wja8WI22OUuqD0dMUbZhs7Ec
	+S+d0OKPm/1S4yvLA5DKbk/MMJdOeRUg==
X-Google-Smtp-Source: AGHT+IESawsv8TF9fv7ok0vuTUFPZED2UOH0cc0J9xvSMsVxP3h1RuI1snQ8dRbG23dqFBECTN2WSg==
X-Received: by 2002:a05:6000:288a:b0:3fb:ddb3:f121 with SMTP id ffacd0b85a97d-425578191afmr4750845f8f.45.1759394573033;
        Thu, 02 Oct 2025 01:42:53 -0700 (PDT)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-s390x@nongnu.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	David Woodhouse <dwmw2@infradead.org>,
	Paul Durrant <paul@xen.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Marcelo Tosatti <mtosatti@redhat.com>
Subject: [PATCH v4 10/17] target/i386/kvm: Replace legacy cpu_physical_memory_rw() call
Date: Thu,  2 Oct 2025 10:41:55 +0200
Message-ID: <20251002084203.63899-11-philmd@linaro.org>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251002084203.63899-1-philmd@linaro.org>
References: <20251002084203.63899-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Get the vCPU address space and convert the legacy
cpu_physical_memory_rw() by address_space_rw().

Signed-off-by: Philippe Mathieu-DaudÃ© <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
---
 target/i386/kvm/xen-emu.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/target/i386/kvm/xen-emu.c b/target/i386/kvm/xen-emu.c
index 284c5ef6f68..52de0198343 100644
--- a/target/i386/kvm/xen-emu.c
+++ b/target/i386/kvm/xen-emu.c
@@ -21,6 +21,7 @@
 #include "system/address-spaces.h"
 #include "xen-emu.h"
 #include "trace.h"
+#include "system/memory.h"
 #include "system/runstate.h"
 
 #include "hw/pci/msi.h"
@@ -75,6 +76,7 @@ static bool kvm_gva_to_gpa(CPUState *cs, uint64_t gva, uint64_t *gpa,
 static int kvm_gva_rw(CPUState *cs, uint64_t gva, void *_buf, size_t sz,
                       bool is_write)
 {
+    AddressSpace *as = cpu_addressspace(cs, MEMTXATTRS_UNSPECIFIED);
     uint8_t *buf = (uint8_t *)_buf;
     uint64_t gpa;
     size_t len;
@@ -87,7 +89,7 @@ static int kvm_gva_rw(CPUState *cs, uint64_t gva, void *_buf, size_t sz,
             len = sz;
         }
 
-        cpu_physical_memory_rw(gpa, buf, len, is_write);
+        address_space_rw(as, gpa, MEMTXATTRS_UNSPECIFIED, buf, len, is_write);
 
         buf += len;
         sz -= len;
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Thu Oct 02 08:46:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Oct 2025 08:46:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1135491.1472662 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4Ex5-0006IO-5i; Thu, 02 Oct 2025 08:46:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1135491.1472662; Thu, 02 Oct 2025 08:46:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4Ex4-0006Ho-Ur; Thu, 02 Oct 2025 08:46:14 +0000
Received: by outflank-mailman (input) for mailman id 1135491;
 Thu, 02 Oct 2025 08:46: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 <SRS0=9sj0=4L=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1v4Etn-00006C-A8
 for xen-devel@lists.xenproject.org; Thu, 02 Oct 2025 08:42:51 +0000
Received: from mail-wr1-x430.google.com (mail-wr1-x430.google.com
 [2a00:1450:4864:20::430])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c662c32b-9f6b-11f0-9809-7dc792cee155;
 Thu, 02 Oct 2025 10:42:48 +0200 (CEST)
Received: by mail-wr1-x430.google.com with SMTP id
 ffacd0b85a97d-3ee12a63af1so426829f8f.1
 for <xen-devel@lists.xenproject.org>; Thu, 02 Oct 2025 01:42:48 -0700 (PDT)
Received: from localhost.localdomain (88-187-86-199.subs.proxad.net.
 [88.187.86.199]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4255d8f4abcsm2621643f8f.53.2025.10.02.01.42.47
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Thu, 02 Oct 2025 01:42:47 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c662c32b-9f6b-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1759394568; x=1759999368; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=qZW6KOJbHUgA0vcevzhPmMJNHgyRN0rHSvzpaRdIptI=;
        b=Nfr/gWxh+OuzODYudtQIe1nmIj7NtnpWw+CVLDXzJFNren1ySbyIb5MTcTqISnEhTs
         1+9fjhVVFYgP0Gc6rtF6EoxfkrbaZySg/rFQ661eepNgj1ner4SC8cPeY8FPk9wXeNNJ
         XrjzLrgLoi/g4q+dxbuYxCOEG2UHmOcxtFE/kKn0SxDompgupQTXKN/mXPXTBvqMPTi3
         Ktwh2Ee2RN3gs9Q+tI3YedtB0MrpUYCsMmKj+sggn5uZrW+nkpYNgLFbr6jABBfSGJRA
         z7vqnqXTm7n2yRfbnVUaa+Yl3jFffMuIkD1GiACoY4dbsdlur2ssLFW81Hg5U9VyVZlu
         sa8w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759394568; x=1759999368;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=qZW6KOJbHUgA0vcevzhPmMJNHgyRN0rHSvzpaRdIptI=;
        b=DfRJF33xzTOGn0sCzvrRqYDHFFJjaUgLxueBdXhvECZVEWlE0EVrKMVFL5s7lCDS91
         HHH8l0t5UmR8/SHZbPrLI9WBH1j/ChRArnkxwZsXQemv1DhBoaq6i7EEYIMiRgwLQHzW
         gK8ls9baQ1Op2JGhcHbWn0HLvOp7ohkhpcuHYna2jyX7p913jQVTUbnYD1VgdmLCYFvC
         jL2wJBmW/2s946tveEriVSMnRlATnX1wY/PowZNB2tVI7d4goYQxtO8h6/mnIYyPZOTh
         jm6cJ/6Ed142q4+abBeQun3unEkko//TSp///O+ZhizR8AG2eQWW2127BfVb+RHpeFoJ
         ZbIA==
X-Forwarded-Encrypted: i=1; AJvYcCVUO3ss1/zYBLsrZhN3kqP3N4yDU4Kj3wZNRchUUGZT/wY/s72vfJWjVlehZ8wxNqrwIE1i1gLiJ94=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz5URFsQCScnk29HGWQlPLLsjIlFshUz5/P7ltJEn/3btWo1DAm
	9/vKkFCZ2xO74pjZWRrikg/yofBXuRw0qtuyci/FPTNiWuCX8JgFJiwSAT8fJNGORLk=
X-Gm-Gg: ASbGncuCgL3XueP9FOIM9Zd124By0Qjm3QrW35Ir3alrcJF9nkKafSEB0q7FpbFXCGR
	fMw7VhnFZNGfbEUbMnANhDsk+CQn3OpB9irNf+Lowzwa8fcwNwSZxonOeucMYROaft2ZBPPfBo+
	jyq3T7/VobvkqK01V7zlCJjEBPPc1PQNx81kLYI6wbMmtpLAeel9ScEHf/zmn+n3Hj1f2/UyJjH
	2FK28KyEmkhPioj2SxPKhDQoz64M3ewO7In/nH7UlE/wq7EqO5PiboVjPChVzIQXfPt5UYXdkRF
	FRGCTR1+ctP+YxnxfuJTJxg5D5+dwAOldWMzr6R0B/ZzJJEfMY5FeaEQpRu0QMRvXnCOqiIKUh1
	TaZVZX2zTg0G7FbMotBT4DWnryeMRlVPbZcBx8/rQf0dMfY8MDttlMyuhVCl2EeXVYCLpRCZFZO
	spyDb10JfjgnZ67KFhoawf5Uj/5gqi3w==
X-Google-Smtp-Source: AGHT+IFq5U4u2A5oX9CLBB2lvkndRGUc5Ro2dPOckjD4hsAueX9T9m8XX4dTf+0cKHrb84/7PaVvaw==
X-Received: by 2002:a05:6000:420a:b0:3e5:5822:ec9d with SMTP id ffacd0b85a97d-425578154f6mr3598474f8f.41.1759394568264;
        Thu, 02 Oct 2025 01:42:48 -0700 (PDT)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-s390x@nongnu.org,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Sunil Muthuswamy <sunilmut@microsoft.com>
Subject: [PATCH v4 09/17] target/i386/whpx: Replace legacy cpu_physical_memory_rw() call
Date: Thu,  2 Oct 2025 10:41:54 +0200
Message-ID: <20251002084203.63899-10-philmd@linaro.org>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251002084203.63899-1-philmd@linaro.org>
References: <20251002084203.63899-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Get the vCPU address space and convert the legacy
cpu_physical_memory_rw() by address_space_rw().

Signed-off-by: Philippe Mathieu-DaudÃ© <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
---
 target/i386/whpx/whpx-all.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/target/i386/whpx/whpx-all.c b/target/i386/whpx/whpx-all.c
index 2a85168ed51..82ba177c4a5 100644
--- a/target/i386/whpx/whpx-all.c
+++ b/target/i386/whpx/whpx-all.c
@@ -788,8 +788,11 @@ static HRESULT CALLBACK whpx_emu_mmio_callback(
     void *ctx,
     WHV_EMULATOR_MEMORY_ACCESS_INFO *ma)
 {
-    cpu_physical_memory_rw(ma->GpaAddress, ma->Data, ma->AccessSize,
-                           ma->Direction);
+    CPUState *cpu = (CPUState *)ctx;
+    AddressSpace *as = cpu_addressspace(cs, MEMTXATTRS_UNSPECIFIED);
+
+    address_space_rw(as, ma->GpaAddress, MEMTXATTRS_UNSPECIFIED,
+                     ma->Data, ma->AccessSize, ma->Direction);
     return S_OK;
 }
 
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Thu Oct 02 09:54:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Oct 2025 09:54:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1135642.1472677 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4G0c-00040n-7g; Thu, 02 Oct 2025 09:53:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1135642.1472677; Thu, 02 Oct 2025 09:53:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4G0c-00040g-55; Thu, 02 Oct 2025 09:53:58 +0000
Received: by outflank-mailman (input) for mailman id 1135642;
 Thu, 02 Oct 2025 09:53:56 +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
 <SRS0=wm6k=4L=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v4G0a-00040a-Hi
 for xen-devel@lists.xenproject.org; Thu, 02 Oct 2025 09:53:56 +0000
Received: from mail-wr1-x431.google.com (mail-wr1-x431.google.com
 [2a00:1450:4864:20::431])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b54e6bfa-9f75-11f0-9d14-b5c5bf9af7f9;
 Thu, 02 Oct 2025 11:53:55 +0200 (CEST)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-3f44000626bso432183f8f.3
 for <xen-devel@lists.xenproject.org>; Thu, 02 Oct 2025 02:53:55 -0700 (PDT)
Received: from [192.168.1.183] (host-92-22-57-86.as13285.net. [92.22.57.86])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4255d8e9762sm2894361f8f.38.2025.10.02.02.53.53
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 02 Oct 2025 02:53:53 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b54e6bfa-9f75-11f0-9d14-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1759398834; x=1760003634; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=1ZJjs6fAxeuAtL3rJXqYG4c1PTX4AGpZJ9DbJI++E5c=;
        b=m6Gv5bcTc6cpV1tVDPQICjeLdPMO//afYjMHakB+3U+PDbm3aawunVBptSQZrL00ds
         zowZz7sG7GhuuFLuwSr+vvuz2IawDqgfK8BhmMBgq8yvnrchND9/OivAMR3o3hWZESHZ
         lgzBUypNYQ2ePyfbJRcDe7t+asLesWTTdvUMw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759398834; x=1760003634;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=1ZJjs6fAxeuAtL3rJXqYG4c1PTX4AGpZJ9DbJI++E5c=;
        b=ZuEJSVKRPaf3Sl78p2VNXFUdYiiwM9qm6w3EGOnM6osxyzBgzlNmnw4z4hwbq/hROO
         gPzD6doJrWEXQ/7ZoDQoPFN9tPHsgbuC7nfBY44gL4cxfLJVNUhoE3E+dzxVxw2R4dt6
         tjDwnkTNRTtQboeRAeAB1Mv2NFEAhI36w4m/9kgKNaG41uoRAj9XBK2WgnTgp66PsMFz
         V2U+ERecGeOtkfUfoAn8irDfIhCI0Gpptx/lCEwp9kJWtxhZx2heD/lTv2SZ8AUqR3Us
         iQuRK/rhGIHydMoTEyLkQn6sk9eu7X5VF/jJF+6x96l3ZT7ZRcVuUBK9AniO0LVW3aSu
         sE/Q==
X-Forwarded-Encrypted: i=1; AJvYcCXItVgIGIM+A21UaGi26JrZqm4KSO0A1XA33rx6+NeLwByXd3pghFdl+9nY0LoU0yK+EP7rYTxXxIM=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy4plETaBvLdoInAsvBEimmLyz+TFPQAlO/oMQIKdMRDRUfwVa1
	+qxMiYC1HuZnNjyvefGbhc561RUZULqQ99/D0XRLgC7uK9tm2Ujf6oh4BIUgwZdRrXE=
X-Gm-Gg: ASbGnctoeC8peDgC0knR+fts5ZoBPVAMtC7WcUp3jDBGo+4WHKyafpdP8TtTV/XRSDw
	cxEHjzThMOEdeF3h2mfFxDEU42ZkKBjgLZhahFKXRiMwhBBIMbSBKsOkBJzp8PFGWGlNJPJlKK2
	viE/keNtlQ/OIZq/WVkynHGD1yaovObszgtzxvOq/93SWQg57ydf4Ylg/Snol3rNp8Ye9aVINyN
	DURrvE7YTFMK3EursnGRBQ7LtXCdNi65mkAmBYCE/E/cHngM+RvmG/6PskNQF84CIOJxaZQRk2D
	P1nyhqPmFW5ROPD/3S0+3PkvYFwxn9RE76rqQvDYZj4noSNjJDfxnLFAHtIilqWDruQwSXy7s5d
	9oxbmGZQFdtCksYe7gkGmG+Q/z6IF6qPbX/+W0ef8uOWaoBXRhZPG/j9s8Y39fI7bOsOPDEQZj7
	NGy1U4Q9CqCzbgzVdA5UmrslWmwxoyGThT1A==
X-Google-Smtp-Source: AGHT+IEIorgxc++YloOBsMTad5CHY1DvBC5lrmjrCyPg1mltGdSkdYJ9fXtBDuRtY9mzo0ryVApLkw==
X-Received: by 2002:a05:6000:2901:b0:3ec:d740:a71b with SMTP id ffacd0b85a97d-4255780c039mr4580116f8f.31.1759398834466;
        Thu, 02 Oct 2025 02:53:54 -0700 (PDT)
Message-ID: <2c1c305b-a7c2-4da5-be96-3895e284032b@citrix.com>
Date: Thu, 2 Oct 2025 10:53:52 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] Support LLVM raw profile versions 8, 9, and 10
To: Saman Dehghan <samaan.dehghan@gmail.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <12f2f3bd9010422004c38c23f6758c87df8682a5.1757951300.git.samaan.dehghan@gmail.com>
 <3dc1fe6ee55d973a25a0441d0f6b41e00a58227b.1759355762.git.samaan.dehghan@gmail.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <3dc1fe6ee55d973a25a0441d0f6b41e00a58227b.1759355762.git.samaan.dehghan@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 01/10/2025 11:09 pm, Saman Dehghan wrote:
> This change enables compatibility for measuring code coverage
> with Clang versions 14 through 20 by supporting their
> respective raw profile formats.
>
> 1- Add support for LLVM raw profile versions 8, 9, and 10
> 2- Initialized llvm_profile_header for all versions based on llvm source code in 
>    `compiler-rt/include/profile/InstrProfData.inc` for each version.
> 3- We tested this patch for all clang versions from 14 through 20 on both ARM and X86 platform
>
> Signed-off-by: Saman Dehghan <samaan.dehghan@gmail.com>

CC-ing Oleksii.Â  This should be considered for 4.21 at this point.

Coverage is an optional feature, off-by-default, but Xen does support
GCC and Clang (older Clang at least), and right now newer Clang simply
malfunctions.

I guess I should update
https://xenbits.xen.org/docs/latest/hypervisor-guide/code-coverage.html
given the new toolchain baselines.

> ---
>  xen/common/coverage/llvm.c | 78 +++++++++++++++++++++++++++-----------
>  xen/include/xen/types.h    |  1 +
>  2 files changed, 57 insertions(+), 22 deletions(-)
>
> diff --git a/xen/common/coverage/llvm.c b/xen/common/coverage/llvm.c
> index 517b2aa8c2..f92f10654c 100644
> --- a/xen/common/coverage/llvm.c
> +++ b/xen/common/coverage/llvm.c
> @@ -44,27 +44,55 @@
>      ((uint64_t)'f' << 16) | ((uint64_t)'R' << 8)  | ((uint64_t)129)
>  #endif
>  
> -#define LLVM_PROFILE_VERSION    4
> +#if __clang_major__ >= 19
> +#define LLVM_PROFILE_VERSION    10
> +#define LLVM_PROFILE_NUM_KINDS  3
> +#elif __clang_major__ == 18
> +#define LLVM_PROFILE_VERSION    9
>  #define LLVM_PROFILE_NUM_KINDS  2
> +#elif __clang_major__ >= 14
> +#define LLVM_PROFILE_VERSION    8
> +#define LLVM_PROFILE_NUM_KINDS  2
> +#else
> +#error "Unsupported Clang version"
> +#endif

Does this exclude Clang 13?

Our baseline is 11 or later.Â  How hard would it be to support those too?

>  
>  struct llvm_profile_data {
>      uint64_t name_ref;
>      uint64_t function_hash;
> -    void *counter;
> -    void *function;
> -    void *values;
> +    intptr_t *relative_counter;
> +#if __clang_major__ >= 18
> +    intptr_t *relative_bitmap;
> +#endif
> +    intptr_t *function;
> +    intptr_t *values;
>      uint32_t nr_counters;
>      uint16_t nr_value_sites[LLVM_PROFILE_NUM_KINDS];
> +#if __clang_major__ >= 18
> +    uint32_t numbitmap_bytes;
> +#endif
>  };
>  
>  struct llvm_profile_header {
>      uint64_t magic;
>      uint64_t version;
> -    uint64_t data_size;
> -    uint64_t counters_size;
> +    uint64_t binary_ids_size;
> +    uint64_t num_data;
> +    uint64_t padding_bytes_before_counters;
> +    uint64_t num_counters;
> +    uint64_t padding_bytes_after_counters;
> +    uint64_t num_bitmap_bytes;
> +    uint64_t padding_bytes_after_bitmap_bytes;
>      uint64_t names_size;
> +#if __clang_major__ >= 18
>      uint64_t counters_delta;
> +    uint64_t bitmap_delta;
> +#endif
>      uint64_t names_delta;
> +#if __clang_major__ >= 19
> +    uint64_t num_vtables;
> +    uint64_t vnames_size;
> +#endif
>      uint64_t value_kind_last;
>  };
>  
> @@ -76,19 +104,20 @@ struct llvm_profile_header {
>   */
>  int __llvm_profile_runtime;
>  
> -extern const struct llvm_profile_data __start___llvm_prf_data[];
> -extern const struct llvm_profile_data __stop___llvm_prf_data[];
> -extern const char __start___llvm_prf_names[];
> -extern const char __stop___llvm_prf_names[];
> -extern uint64_t __start___llvm_prf_cnts[];
> -extern uint64_t __stop___llvm_prf_cnts[];
> +extern char __start___llvm_prf_data[];
> +extern char __stop___llvm_prf_data[];
> +extern char __start___llvm_prf_names[];
> +extern char __stop___llvm_prf_names[];
> +extern char __start___llvm_prf_cnts[];
> +extern char __stop___llvm_prf_cnts[];
> +
> +#define START_DATA      ((const char *)__start___llvm_prf_data)
> +#define END_DATA        ((const char *)__stop___llvm_prf_data)
> +#define START_NAMES     ((const char *)__start___llvm_prf_names)
> +#define END_NAMES       ((const char *)__stop___llvm_prf_names)
> +#define START_COUNTERS  ((char *)__start___llvm_prf_cnts)
> +#define END_COUNTERS    ((char *)__stop___llvm_prf_cnts)
>  
> -#define START_DATA      ((const void *)__start___llvm_prf_data)
> -#define END_DATA        ((const void *)__stop___llvm_prf_data)
> -#define START_NAMES     ((const void *)__start___llvm_prf_names)
> -#define END_NAMES       ((const void *)__stop___llvm_prf_names)
> -#define START_COUNTERS  ((void *)__start___llvm_prf_cnts)
> -#define END_COUNTERS    ((void *)__stop___llvm_prf_cnts)

Why change these from char to void ?

>  
>  static void cf_check reset_counters(void)
>  {
> @@ -107,10 +136,15 @@ static int cf_check dump(
>      struct llvm_profile_header header = {
>          .magic = LLVM_PROFILE_MAGIC,
>          .version = LLVM_PROFILE_VERSION,
> -        .data_size = (END_DATA - START_DATA) / sizeof(struct llvm_profile_data),
> -        .counters_size = (END_COUNTERS - START_COUNTERS) / sizeof(uint64_t),
> -        .names_size = END_NAMES - START_NAMES,
> -        .counters_delta = (uintptr_t)START_COUNTERS,
> +        .binary_ids_size = 0,
> +        .num_data = (((intptr_t)END_DATA + sizeof(struct llvm_profile_data) - 1)
> +                - (intptr_t)START_DATA) / sizeof(struct llvm_profile_data),

I can see why we might want to round-down END, but this doesn't need
casting to intptr_t irrespective of char vs void.

> +        .padding_bytes_before_counters = 0,
> +        .num_counters = (((intptr_t)END_COUNTERS + sizeof(uint64_t) - 1)
> +                - (intptr_t)START_COUNTERS) / sizeof(uint64_t),
> +        .padding_bytes_after_counters = 0,
> +        .names_size = (END_NAMES - START_NAMES) * sizeof(char),

sizeof(char) is by definition 1.

> +        .counters_delta = (uintptr_t)START_COUNTERS - (uintptr_t)START_DATA,
>          .names_delta = (uintptr_t)START_NAMES,
>          .value_kind_last = LLVM_PROFILE_NUM_KINDS - 1,
>      };
> diff --git a/xen/include/xen/types.h b/xen/include/xen/types.h
> index 73ddccbbd5..799bfe0b95 100644
> --- a/xen/include/xen/types.h
> +++ b/xen/include/xen/types.h
> @@ -18,6 +18,7 @@ typedef signed long ssize_t;
>  
>  typedef __PTRDIFF_TYPE__ ptrdiff_t;
>  typedef __UINTPTR_TYPE__ uintptr_t;
> +typedef __INTPTR_TYPE__ intptr_t;
>  
>  /*
>   * Users of this macro are expected to pass a positive value.



From xen-devel-bounces@lists.xenproject.org Thu Oct 02 10:11:00 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Oct 2025 10:11:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1135653.1472688 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4GH0-0006vJ-J1; Thu, 02 Oct 2025 10:10:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1135653.1472688; Thu, 02 Oct 2025 10:10:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4GH0-0006vC-GK; Thu, 02 Oct 2025 10:10:54 +0000
Received: by outflank-mailman (input) for mailman id 1135653;
 Thu, 02 Oct 2025 10:10:52 +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
 <SRS0=wm6k=4L=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v4GGy-0006v6-Ky
 for xen-devel@lists.xenproject.org; Thu, 02 Oct 2025 10:10:52 +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 0d961562-9f78-11f0-9809-7dc792cee155;
 Thu, 02 Oct 2025 12:10:42 +0200 (CEST)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-46b303f755aso6126125e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 02 Oct 2025 03:10:42 -0700 (PDT)
Received: from [192.168.1.183] (host-92-22-57-86.as13285.net. [92.22.57.86])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-46e693c33adsm27780835e9.18.2025.10.02.03.10.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 02 Oct 2025 03:10:41 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0d961562-9f78-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1759399842; x=1760004642; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=SX70MRXuot5pEgYKSHwDFbwx/giw9TvoTe4PSOyB/Vo=;
        b=TvLSRbMCBd9kPm88XEADkYpSo+/xMDxP/hucm0tbXOKFav8V03JoJbB/PBzlq5MM2C
         UJj5mMf2x8FR6VoL0EBtytmQkix/uBWWewtxt1aWigUf5qu+KgTZOMuCqs5hovQoIDmn
         ZnJ4zwL0DxIXSk/ZJcw16Bmw8ZrOlCH9aqDMs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759399842; x=1760004642;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=SX70MRXuot5pEgYKSHwDFbwx/giw9TvoTe4PSOyB/Vo=;
        b=u4/uUWHl2QzElTZxkzB4+AcCCA96jatBnPyRgaotSYYr2Wp6yHtaTv66aSxSRLmHy8
         xtXBUTC8zW751C3xzoA1Q/jXK+5G4r/cygMPG/tuwYrtTCUtBBo/9jytwY1S/eKh0t49
         9x1t7lJyWuGqrX3t6Qgf2/hri/N/z5NLLdnQu5LtWwdQDXqm6e2BrDnVt3U+AJOTL9T6
         Kqs/nzf6QDyQFlmT3D5sAyLwDslbhGFGKwIcSB8a6ZSJZm3LPbyBImOamxGokB0ifxDr
         rrrl+3TPtAbXFyM+6LFZnM0VXnPqdjMWi2Jm28sUgm07dtj4lSqMZty+sb7r8NX6yGUV
         Lpvw==
X-Forwarded-Encrypted: i=1; AJvYcCWuu0+LFUiBru7xfmT+xEtJJWufiYw0ZRRDu6xNW5dx4aHPSFFpHqoG4ATcZAAmlz7L2lhXQ9ajL7k=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxyxQnEkHTIktv+nqqfb6gtIrQgigsZhACY09dEhgZpBjM5LRco
	cCIaqUwJPO8NHVpLV+4BaNQ9/0ZXGmeVBM+S1iw4SAg6fHTHnKFxLpSRjUMv7lOBp6U=
X-Gm-Gg: ASbGnct89rD6+nHDNt3C4Yl0zEa8mXqR/6KS0FyrugA0IGuBK5jAw35wpKHFKk2zRum
	PCFybgv/V7fSYunsaLpXi+qYUj5bOMwWKc2gndj8SmZryDv2+g/cnKk0gvnhYwjwuVfYwv6iqXB
	M6jOWYdi9P0qTjgU5o5Ywy1imWxYoo7DA6P2X04/S9PMHO3wGPrJJzzZbIbDrqzIIQaQvazUfEg
	RjrkJnj93tWMoPekuHtkgBOMqbZ6eum33EL6419c1BDrLuFEWbtVovUI3VLy38JYlC46rI1tLVt
	+VO9D0hU2bhyDtM9eJjI3hvWyGbkXnPAcNosIuUt7+K92KZyhmGBWCm17IQG0mv0naIQdFTLBVD
	foce/agFwMrE6NY46WiwRVYj6w+XxfDFj0Qt9JpymhrFzleOa0Fm1KqDNcqfyHn71/DE2QCCcze
	//FgICaZla+FU2qzDNKHYeVSc=
X-Google-Smtp-Source: AGHT+IG5mN/ECU94sXxpbFy5HlmiJ6tsLxAw1zjNVLXaMBi7PfdsdgA9F+Opr29hT+JwDtihlyMBsA==
X-Received: by 2002:a05:600c:4511:b0:46e:394b:49b7 with SMTP id 5b1f17b1804b1-46e612e5d92mr53899655e9.37.1759399841616;
        Thu, 02 Oct 2025 03:10:41 -0700 (PDT)
Message-ID: <bf042eea-ed2d-431e-b1f0-7be0c09194ef@citrix.com>
Date: Thu, 2 Oct 2025 11:10:40 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/arm: XEN_DOMCTL_get_address_size hypercall support
To: Milan Djokic <milan_djokic@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <39511522aae7dab5766ef2ebfed1d13abec8610e.1759324344.git.milan_djokic@epam.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <39511522aae7dab5766ef2ebfed1d13abec8610e.1759324344.git.milan_djokic@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 01/10/2025 9:01 pm, Milan Djokic wrote:
> Signed-off-by: Milan Djokic <milan_djokic@epam.com>
>
> ---
> XEN_DOMCTL_get_address_size hypercall is not implemented for arm (only for x86)
> It would be useful to have this hypercall supported for arm64, in order to get
> current guest addressing mode and also to verify that XEN_DOMCTL_set_address_size
> performs switch to target addressing mode (instead of relying on its returned error code only).

Please don't copy this misfeature of x86 PV guests into ARM.

Letting domains be of variable bitness after domain create leads to a
whole lot of bugs, many security relevant.

32bit vs 64bit should be an input to domain_create(), not something that
is edited after the domain has been constructed.

> diff --git a/xen/arch/arm/arm64/domctl.c b/xen/arch/arm/arm64/domctl.c
> index 8720d126c9..f227309e06 100644
> --- a/xen/arch/arm/arm64/domctl.c
> +++ b/xen/arch/arm/arm64/domctl.c
> @@ -33,6 +34,37 @@ static long switch_mode(struct domain *d, enum domain_type type)
>      return 0;
>  }
>  
> +static long get_address_size(struct domain *d, uint32_t *address_size)
> +{
> +    long rc = 0;
> +    struct vcpu *v;
> +    /* Check invalid arguments */
> +    if ( d == NULL || address_size == NULL) {
> +        rc = -EINVAL;
> +    }
> +    /* Domain structure type field and actual vcpu mode must be aligned */
> +    if(rc == 0) {
> +        for_each_vcpu(d, v) {
> +            if(vcpu_get_mode(v) != d->arch.type) {
> +                rc = -EFAULT;
> +            }
> +        }

This is deeply suspicious.

Under what circumstances can the vCPU setting be different from the
domain setting?

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Oct 02 10:22:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Oct 2025 10:22:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1135672.1472698 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4GS4-0000DS-J5; Thu, 02 Oct 2025 10:22:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1135672.1472698; Thu, 02 Oct 2025 10:22:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4GS4-0000DL-FH; Thu, 02 Oct 2025 10:22:20 +0000
Received: by outflank-mailman (input) for mailman id 1135672;
 Thu, 02 Oct 2025 10:22:19 +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
 <SRS0=ddTC=4L=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v4GS3-0000DF-Ey
 for xen-devel@lists.xenproject.org; Thu, 02 Oct 2025 10:22:19 +0000
Received: from CY7PR03CU001.outbound.protection.outlook.com
 (mail-westcentralusazlp170100005.outbound.protection.outlook.com
 [2a01:111:f403:c112::5])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id aa8ab6c1-9f79-11f0-9809-7dc792cee155;
 Thu, 02 Oct 2025 12:22:16 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by PH0PR03MB6622.namprd03.prod.outlook.com (2603:10b6:510:b5::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.15; Thu, 2 Oct
 2025 10:22:07 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9182.015; Thu, 2 Oct 2025
 10:22:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aa8ab6c1-9f79-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=HwtyMWs9h/W1KrkMJ62pVYm1sEFV5RfmUdFgeBAPACUpim8qAbQ6VieT9m2tXSlJ1/g4YTtzeLnX6PMFCJ0AzUlyGO2B8m1dF33RRyKoC6dIoYb2Hu1Ktlj8B1psudxKiEk3k43PCt6pk1+1Af/swIBFenwWQf9oxdOh9wOkSnvckByubzaXvLDRqAFPOaNy4d+0UsXRwC43cr5MLJjh27fCzo9H9azBnLhOSHg0TfPaVWcC8/M3UX8gZmLxVhTQD9TiPdLpJqfZ0DZe2K4Ki+wX6WxK6RlPmOVbNFalM/uTaR36fGnK3K1oiPdE/H7cKdjdeC3+8M/4SkAjWSyxaA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5QUB8XuJaJVA7h4ehC5DNoDp0OLu6jlM/AdVcy6r/j0=;
 b=Zun3qwVCGSdU1lE0tqw9I0K2Cg0gZRVaWBgo+gDMlbjCIX8MhuBZ5yYJ32nekVfQ5x4hmr/xkIEmTcOYqF0+NB+L49HleKBZ+dj9zzlG4AXbvIvNbyrsEPWEtuLvwZtxSDGaUhh6NYuZlC9dMxESjw+6ZZef9SHZxTuAgNd+0oMsgjq2JAi1oDr7ruvN7MrSbgEUAI++gXoycgi5d70vr6uOQy8AaAOMtyzWNcMpdXGR5+2g6tTRLkqB2npeeVqMXgG2bn2p9kTQBhYy4FGT4V2xlAV7i/OjCQKWsyzoqUhb/JJoUjoN4xpN2fc8qRkZ8s0aLLftL4oerob+MiItYw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5QUB8XuJaJVA7h4ehC5DNoDp0OLu6jlM/AdVcy6r/j0=;
 b=M8GX1OZGpTf9l3JnQ/wLSkKdFrEeAxGdTiP5iEkXiQph1RNMd8Yz9exZw9wFrY0tOmwuWO+N1NKsOvAuBwWc9531qnqUgtYOxb9q2dtPc4hnRKZKVJ/2uXZHlQhlFq0nARtCAP8PK5/CafI8zMqSssiMikqdcz+MmFjy9MhosME=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [PATCH for-4.21] x86/hvm: fix reading from 0xe9 IO port if port E9 hack is active
Date: Thu,  2 Oct 2025 12:22:00 +0200
Message-ID: <20251002102200.15548-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.51.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MA2P292CA0014.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:1::10) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|PH0PR03MB6622:EE_
X-MS-Office365-Filtering-Correlation-Id: eed7fb49-5cfc-4a52-c442-08de019d89ff
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?cDdIc0tuVlZoK0ZDV010OVU4cUZ5eW1ZaGJ6VDhwa3dWWm9DYnpNbTk1LzRI?=
 =?utf-8?B?Z2hVMmVhOERtaEN6djVDWTUrUld6WHpZNzEydDlNUWI1NEZNVHh2YUtpdmdm?=
 =?utf-8?B?M3lqQnIvaVdpM3NGcEZaODZYVjBzZUdLQVhNMlc1SFlZQW55YlpTTlV3V0dD?=
 =?utf-8?B?R01iNnVRV0xGQW5acGgwcDhReThkOWFhRWxEWG92aUdvOE5Zb3hvLzFyRTlD?=
 =?utf-8?B?UUc3bVlURTRiUUJESWFXampQa3FCTGZ0OTQzWmRnOXRBSXkzZjhVUUs2R3pQ?=
 =?utf-8?B?dDFxdll6RDFLOWJKbnI2Y1F0dmdqRHJ4dlBmN0tORnZjOWpUTXh0a29PeThB?=
 =?utf-8?B?ZXVOUEQ2Z2xnWE9TSzZvL01qRkZCRGluWk44dlErZ2ordmIzRkRETjZwSHZa?=
 =?utf-8?B?cTY5dHEvY3hOenRtSzdIbDk5c1lCZGUxcWhDU3VWYXdsMG5xVmlwOCtuZVp5?=
 =?utf-8?B?RUZTWU9yZnYzWUtnK0I1RjIvUHNXY0NzeEF2dEZ6YmpILzNZRDZ4aytwdjBT?=
 =?utf-8?B?dC9vNGNpT0tXK3h6WjIxMnFuTDRCa2xPcVk3SktobWM5Y2RLYTR5MVIzTEZK?=
 =?utf-8?B?WHRBMElUZU9xdzcvUlhKZ1dUUmZNTVhON1BVcGI5T0hVeDAyelZrZW5NZnNZ?=
 =?utf-8?B?NzJGSUp1RWMvUXZPaVo5QkZNajdJUFFOWlZRUGw0WWREMDdBMEpoT3B5TE9B?=
 =?utf-8?B?bi92cVpYeHBhamM4UkxqWlROcnN4RHdsaEVZdUE5RUhESjhoaUMrNnRxZHg5?=
 =?utf-8?B?czJkNU81L2NZVEZkQ0ZxZHYrdVc3bkRKeEVyQUVGL0o4OUZYZnJQT2NmRXJ4?=
 =?utf-8?B?cis4Vm01RzBybnJDc0UwOUxGV2k5Q0JXbklpUXN4NjlwSDA3Mk9kamw4OTlT?=
 =?utf-8?B?eGs4aHlIeDZrczVLZWpsRFZ3Z1M5QTYxUjRLOTFESWdGOEpScXF2YUdnZW9z?=
 =?utf-8?B?bTFUdWRKT3NERVcyT09IbEsza1dQT1oxZUowR0RNa0xOOE9rUEd0dVFNOXRp?=
 =?utf-8?B?VjM4a2ExMUQwdFVrSjFnaXpUcUYyeVBES1dFNzRWOHlqYWtrMjlBWnQ3VGRW?=
 =?utf-8?B?cUlnNlAzZVUxRmI1Uytuc1Q0aVBXMjBBMW92RFRXR05BQWFZdzNFdXFpQkcw?=
 =?utf-8?B?L3hrd0JuU1VoVWRKZi9KdDRRbVROOXNGeFgxRmFzRkdza0xpOWFWSTFESGhr?=
 =?utf-8?B?bEdLUHFZYkRNdmdGVFV3OVlPNTFkbXVoN2ttcW9yZlZrZDNkeWRpNXdSb2Q0?=
 =?utf-8?B?NEh4MlZjczlZUkR2WXpwVzViNm5PYnhmM2JYUklPYjIrZWpTYk9rZUYzdWkw?=
 =?utf-8?B?SEJaZE1xSkJHeVJMTDRSRmJYQzRzNzlsaStQQXNEbXlYL1JveXlybmV6SzBT?=
 =?utf-8?B?TnkvN1dKOUpoUDFjMEZsYkVkejVrWHVFdHluZGVzSzVOV0I0LzEyRmZidE04?=
 =?utf-8?B?NGxVNnNLS2h1TVhDNEJ4M01rYzNRcm0wUnU0SitLRldPTFJ4T1hlY0NIT0xk?=
 =?utf-8?B?SjVkekJtY3FrRnExeHhKSWNDeXR4TWJhN3JsVkhSOTRZK0N4VUM4S2JzOEtZ?=
 =?utf-8?B?ZUdvd3ZRMmltY3pVT3hEZjJtdE04QndzbE9CTzRDTWlqSmpieEZrWjhOTVVX?=
 =?utf-8?B?YXBTRDZselJLSWNyUFA1QzQ1ajBPUFdWYVI1cmFKQzhhelFEUjl1alUyUVZV?=
 =?utf-8?B?SVRLenZ6NFc5a1RCT0FzWlRiK1BsSlQrZ0Zyemk5ZnIyVmZweW8yR1E5bkN6?=
 =?utf-8?B?WVhzWWFhek1lZ1IyNmpISTRPcWJEcUtZSHlTaGR6UWduYzRIK2hwYzNuSlpk?=
 =?utf-8?B?azVBdzc1RFF4Ry9YblNtUkExS3JFOUhJaCs0aitZdXlFdnFxQXdxbmZGd2VC?=
 =?utf-8?B?em0rZGhlR3pweUxidm1QOHdQeS9Na2Z2UkorSWJqK3lXWlE9PQ==?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WDR1enhKTGRueStyN1dpU0VnOHdIMFB5emRkcVU1WlNVL0pkMnVoQTI0TlVG?=
 =?utf-8?B?d1RpZXN0bngzZTJYSG5DekEvZ0Zmb0l0ekx1Z1kzQkwveDM0bFE0Uy9MV2pD?=
 =?utf-8?B?UGhST2xYMUpxb2w3QlV1MnZMcU1LTG45c3RGSU4vTDA3ZDNJVHFqS2ozWWdv?=
 =?utf-8?B?UTM1R1RYb2pCNTh1cDEzRHhGeFFZdVpyUEJXbC93UUlzZVM2aXR0ODF1RjJR?=
 =?utf-8?B?ajMxd0lkRXprMWhlWmd4RXlkanhXeXUvQ2ZPUDdKVGVYcy9xKzFiV0NBRjFK?=
 =?utf-8?B?RGZuVUtRSURKUFJmK1dQVVZoVHNESDhFK2xGazVxa1U2TUhUcFdadC9tS2Fa?=
 =?utf-8?B?WU1HcTNCZmZYc2EwRDArait6OXVUTTkweERZUGJKbndUaEtWb1ZMVlgvVk5I?=
 =?utf-8?B?alN1YVd2RmVwdEtnRnJLY3BVaUxRSFpLZUdIVEI2Q2IzaTVqdHVaVEVQNkhr?=
 =?utf-8?B?T2Nxc3ppK1BpTHp2MTIrVTYvSWFWQytwb2hyTkg0a0F5S3JlUTlUU0RNYis2?=
 =?utf-8?B?RVQ5cE15aW0xQmZzYy8yK3JBcHdESXdoU1VUVzBlZmdLVjdvb2twSCtJQUlV?=
 =?utf-8?B?dFdKc2NMdkF3eFMrb2lZMmRkejIyNlVycFdWTDE5TTBORnZPWFhITEFkNFpi?=
 =?utf-8?B?VUFsblg3OWprNmVGUVF5aTI4cVRURkxLRkk3Z1ZIMnNSaWlzS05rbmdhSjdC?=
 =?utf-8?B?em9FcWQzSExlRXdIQnB3cERoY1oxV3BUUDZJOW5ZK1lRNHpXRmcrSkdUYnUy?=
 =?utf-8?B?OXB0eEUyZkN2NmtjZTJJNVdRSGZubE9qa003emlPT05PelRDZTF6ektLczVM?=
 =?utf-8?B?bXhmVVk4SlBOczFFNS9NN2hPVU1lY2s0U3VBZWdtYWI3cXVxREh2S25LMTh4?=
 =?utf-8?B?eGRiYTh0Ti9UdlpJcmh1V1UrNWNqdHE2UVR3a1NTMTkvRXE0OElQRGRXMmor?=
 =?utf-8?B?MWNOMnFEWWNLeWZ6QUVIR0VGTVVKY1puUGxxR3VpWFNUY29Rc2RXaFhtbFhZ?=
 =?utf-8?B?SlN0QzI3aEF3cm14enJLWjZLVm9GUnJiQWR3bDVkVlNhT2grb0pPVWxvb0dK?=
 =?utf-8?B?MDBHWUoxRHkyVXI4c0NIQlkxSjRmMTJmVWNUemJaWlZlVWhOUTZlUlZOR24x?=
 =?utf-8?B?NytOQWZNWko2S3NDVjNsaTlyVVNHbmRrZXRNMzNJQjVPdDROZjVWY1MwcjUz?=
 =?utf-8?B?UG5mYXFHSUc4ZThRbEttbXd5VjRFRTVYWFhCQzRkTlJ4VTc3c3plZTYrekdu?=
 =?utf-8?B?WjBPLy9KSC92K0MxTzVJajNqUklxeDdidDBoQklJcmU2SXVLUVdnN3RZejlv?=
 =?utf-8?B?R3B1RmE2VnA2czhJNHVnUENTMkxjcmRjQjVCZFNlQTNtNUVGcURwY25vQkdj?=
 =?utf-8?B?UmRtcjNuQVZTN3RCbkh6YThwNHphWDBmUnowWENBVHRibTJFWnRYNjlPeSsv?=
 =?utf-8?B?RXRPbTdwaWd3ZjJoallzRVIwempuWFl6cXNLUUdGbmEyWVN5QUJFSXZzQWNP?=
 =?utf-8?B?NVI4TE13byt6bEpxQzVPVlZJc1JVcHZ2WlZ1OWhZTVJhMVpZMWpYNGZyMzdJ?=
 =?utf-8?B?OVFpMHNjdTdjaWdzWnVzM00wOU5CRDBJQnlHOGZVVldPVC9ycVpiUzNkTkZs?=
 =?utf-8?B?d3hHUE1sOGFpU1UweTJqVVQxTzVQRXdqQ1loZ25LNFZYcXV3Ym9DTmRtMVhw?=
 =?utf-8?B?bllNaVJsOVgzNU1ocVZ5Q3dUWlUvV0g4ZjdTd0h3anhod0JWU1pDUUErbFc5?=
 =?utf-8?B?WE16UUkydStIQXFvQWtSakVJU3IrbGp5YVBxZ2VpMHFZS1QwNHQ2a2F6NTRT?=
 =?utf-8?B?bGVRWCtieFJldndVRUMxL3lxdjFZTHBRUTNGRVVFMzk0R3REQVZyOE8xRi9O?=
 =?utf-8?B?Tjc1YTdlYm5haWs4eHRuSzV5TjBtdEljdHFmeWZUN0g2QUxuWUh5RGZlcFo1?=
 =?utf-8?B?dC9PanFsdGNLREVxSmtHRjZ5TnB3SC9sOFV1NlFka25POC92aHV3amp1L1lM?=
 =?utf-8?B?VzdXUVFMMHNTQmJWbzdlSHZIWGRqZGQyY3RpNjVzUUxqYmdscTl3SHRQaks4?=
 =?utf-8?B?THJYUXF2bkhYc1NuLzQ2TFF3UzRRRVFURTkrWkJwbXFNSllkSE1VZVVwNWxC?=
 =?utf-8?Q?mNSzs7ei7jBdbnGz5b+sE7kl1?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: eed7fb49-5cfc-4a52-c442-08de019d89ff
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Oct 2025 10:22:07.2526
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: svGNGmTFRcMA/LgTlcyTtCo8K/XXd2yUHwr2xn0WmaJj87bqmOSWtDGKnbb9gT8zPEWYd5V/PIy38hHt9uGOgQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB6622

Reading from the E9 port if the emergency console is active should return
0xe9 according to the documentation from Bochs:

https://bochs.sourceforge.io/doc/docbook/user/bochsrc.html

See `port_e9_hack` section description.

Fix Xen so it also returns the port address.  OSes can use it to detect
whether the emergency console is available or not.

Fixes: d1bd157fbc9b ("Big merge the HVM full-virtualisation abstractions.")
Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
---
 xen/arch/x86/hvm/hvm.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 23bd7f078a1d..0c60faa39d7b 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -567,9 +567,15 @@ static int cf_check hvm_print_line(
 
     ASSERT(bytes == 1 && port == XEN_HVM_DEBUGCONS_IOPORT);
 
-    /* Deny any input requests. */
-    if ( dir != IOREQ_WRITE )
-        return X86EMUL_UNHANDLEABLE;
+    if ( dir == IOREQ_READ )
+    {
+        /*
+         * According to Bochs documentation, reading from the E9 port should
+         * return 0xE9 if the "port E9 hack" is implemented.
+         */
+        *val = XEN_HVM_DEBUGCONS_IOPORT;
+        return X86EMUL_OKAY;
+    }
 
     if ( !is_console_printable(c) )
         return X86EMUL_OKAY;
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Thu Oct 02 10:37:48 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Oct 2025 10:37:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1135687.1472707 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4Ggv-00022r-T1; Thu, 02 Oct 2025 10:37:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1135687.1472707; Thu, 02 Oct 2025 10:37:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4Ggv-00022k-QK; Thu, 02 Oct 2025 10:37:41 +0000
Received: by outflank-mailman (input) for mailman id 1135687;
 Thu, 02 Oct 2025 10:37:40 +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
 <SRS0=wm6k=4L=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v4Ggu-00022e-Fx
 for xen-devel@lists.xenproject.org; Thu, 02 Oct 2025 10:37:40 +0000
Received: from mail-wm1-x331.google.com (mail-wm1-x331.google.com
 [2a00:1450:4864:20::331])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d0b15b90-9f7b-11f0-9809-7dc792cee155;
 Thu, 02 Oct 2025 12:37:38 +0200 (CEST)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-46e52279279so6040635e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 02 Oct 2025 03:37:38 -0700 (PDT)
Received: from [192.168.1.183] (host-92-22-57-86.as13285.net. [92.22.57.86])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-46e6917a577sm29345715e9.1.2025.10.02.03.37.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 02 Oct 2025 03:37:37 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d0b15b90-9f7b-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1759401457; x=1760006257; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=QLxFSFBZuRn764rccwAa0DmZS0zngAdmpLz506CAVqE=;
        b=PGLdBeJwNr6o6k1QGL9h2weBpRbWEMD4DDgqyfqg5AdpnfhnF+PjQXGHlAUWrT0B01
         YPYLn53dWbuYJDYlSgv42YL1fymoU4cB9KmVf/92iUlhegyvOkvTrFTrb7gFCHIp6LIt
         BxwiK97jbJHfopJmOb3fxuVjneLLukhsUdw1c=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759401457; x=1760006257;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=QLxFSFBZuRn764rccwAa0DmZS0zngAdmpLz506CAVqE=;
        b=QC2ZGGlqMSUg0swPSO/b+ikt9A+12V/st1kRz2kHKHupl/RX2W+1dUvbsfMjTbh0Ap
         ZlNpQqjUmRLHuv1tt+9mKPWleSNjNjV+1mIgC2b3iToAwPRIMxz5S2E35zl2Y6vhrQr4
         CyEa4RgM6GF2xMZ1XelHO1WLiTtYt/k+H2zazSkXA46fS9TH9EvWGHunzlZ2cwt8i/Vf
         FQ19mCMSlKAc3hrtffXHp4jj//xPoYZbkRQ9ZWSOg1Ks7qdEhbhCyQBDs5o0k1beVWYh
         ebckdGEK0XXyAojRiJjnbitY8kRRCR73oX/jt/ggTTtg++HZHWlz8I7RYm9M5QRry8wZ
         /ByA==
X-Forwarded-Encrypted: i=1; AJvYcCX8J4tFa+Nl5gMtrym+wMp63VQ9uh9d3Sd5pg8827W1X8z+krJIwrmFE97Kz2vsFYSgmA4YAP+9Ep8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxvoppY6h2Dx49JPzsbG/9CozADebTTmg6jFpnnlVsrB0JzAFKQ
	iNkLOiqn7p2vrYh6fs0sp49gERZPlfPGvOeVGvSaUqdqYhbj/9vX5NdwPhoGwNtMLsk=
X-Gm-Gg: ASbGncuaXiDoKRlofuLOax+2kLZas3FtLrmJt8TBS5nMTQiHQtjCln78ys6W/AfMQYm
	D/fnn7F7EztUY9m6kwcQ7idgeWRIwdxYrqeg6JwP5D9xKGF9KthOK9ust9sgmU3iuO7iXYvRC6o
	gFBuqiiTwaOZQLVlN42Swrm+XnvKuxlJAsfExyL4q3Obxbvb17p9TXimtJTvo93NqtLAGNbeOk6
	Vgzpx3vKRHjyVhoiIncGAzTuQGUrcR72fr2zjxlJ1Igm1fBK2colzx6XSR+ApnFIFEBydlCYcd0
	oiGvqivxkU0REQLegQjTMyuDZbCsV+X4nfHJjEWQOBEvm+bmtJZjTE9LbozFySvK5hQm4+sLBgn
	fWwxB4VXFo2VcoEFzWnigGMD0o9Ek/4Gd3BoPk3aaSx5m/l0iL6PxheJBtbKZLjTyCF7Ynl6zBD
	zhsQyW8LGJqLuMZqJEB3uKMis=
X-Google-Smtp-Source: AGHT+IGG4GI2tDKdSmMLIRrOn6Ucxejnbxy50/tUexvKx27CwwAFDOd4ap8B3rBI40Ot0uN2Njo42g==
X-Received: by 2002:a05:600c:8b66:b0:46e:39e1:fc3c with SMTP id 5b1f17b1804b1-46e6fcae45bmr700435e9.5.1759401457391;
        Thu, 02 Oct 2025 03:37:37 -0700 (PDT)
Message-ID: <1b4bcb40-d62b-47b5-847f-b6e16906f52e@citrix.com>
Date: Thu, 2 Oct 2025 11:37:36 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21] x86/hvm: fix reading from 0xe9 IO port if port
 E9 hack is active
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <20251002102200.15548-1-roger.pau@citrix.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20251002102200.15548-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 02/10/2025 11:22 am, Roger Pau Monne wrote:
> Reading from the E9 port if the emergency console is active should return
> 0xe9 according to the documentation from Bochs:
>
> https://bochs.sourceforge.io/doc/docbook/user/bochsrc.html
>
> See `port_e9_hack` section description.
>
> Fix Xen so it also returns the port address.  OSes can use it to detect
> whether the emergency console is available or not.
>
> Fixes: d1bd157fbc9b ("Big merge the HVM full-virtualisation abstractions.")
> Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>

Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

That's been wrong for rather a long time.Â  How did you find it?

CC-ing Oleksii as you've tagged this for 4.21.

> ---
>  xen/arch/x86/hvm/hvm.c | 12 +++++++++---
>  1 file changed, 9 insertions(+), 3 deletions(-)
>
> diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
> index 23bd7f078a1d..0c60faa39d7b 100644
> --- a/xen/arch/x86/hvm/hvm.c
> +++ b/xen/arch/x86/hvm/hvm.c
> @@ -567,9 +567,15 @@ static int cf_check hvm_print_line(
>  
>      ASSERT(bytes == 1 && port == XEN_HVM_DEBUGCONS_IOPORT);
>  
> -    /* Deny any input requests. */
> -    if ( dir != IOREQ_WRITE )
> -        return X86EMUL_UNHANDLEABLE;
> +    if ( dir == IOREQ_READ )
> +    {
> +        /*
> +         * According to Bochs documentation, reading from the E9 port should
> +         * return 0xE9 if the "port E9 hack" is implemented.
> +         */
> +        *val = XEN_HVM_DEBUGCONS_IOPORT;
> +        return X86EMUL_OKAY;
> +    }
>  
>      if ( !is_console_printable(c) )
>          return X86EMUL_OKAY;



From xen-devel-bounces@lists.xenproject.org Thu Oct 02 10:41:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Oct 2025 10:41:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1135698.1472718 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4GkQ-0003Vr-DM; Thu, 02 Oct 2025 10:41:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1135698.1472718; Thu, 02 Oct 2025 10:41:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4GkQ-0003Vk-9O; Thu, 02 Oct 2025 10:41:18 +0000
Received: by outflank-mailman (input) for mailman id 1135698;
 Thu, 02 Oct 2025 10:41:16 +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
 <SRS0=oua8=4L=amd.com=Alejandro.GarciaVallejo@srs-se1.protection.inumbo.net>)
 id 1v4GkO-0003Ve-Ky
 for xen-devel@lists.xenproject.org; Thu, 02 Oct 2025 10:41:16 +0000
Received: from SN4PR0501CU005.outbound.protection.outlook.com
 (mail-southcentralusazlp170110003.outbound.protection.outlook.com
 [2a01:111:f403:c10d::3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 51593311-9f7c-11f0-9d14-b5c5bf9af7f9;
 Thu, 02 Oct 2025 12:41:15 +0200 (CEST)
Received: from CH2PR11CA0002.namprd11.prod.outlook.com (2603:10b6:610:54::12)
 by SJ5PPF01781787B.namprd12.prod.outlook.com
 (2603:10b6:a0f:fc02::986) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9115.22; Thu, 2 Oct
 2025 10:41:10 +0000
Received: from CH3PEPF00000014.namprd21.prod.outlook.com
 (2603:10b6:610:54:cafe::4d) by CH2PR11CA0002.outlook.office365.com
 (2603:10b6:610:54::12) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9182.14 via Frontend Transport; Thu,
 2 Oct 2025 10:41:09 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 CH3PEPF00000014.mail.protection.outlook.com (10.167.244.119) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9203.1 via Frontend Transport; Thu, 2 Oct 2025 10:41:09 +0000
Received: from localhost (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Thu, 2 Oct
 2025 03:41:08 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 51593311-9f7c-11f0-9d14-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=dSd7QK/G0PKZP8lP6UQb3mKHGsioD594ik598hIKn6qcEkb3eK+fJQRuQufC25G7o8B4xIu987P8WEIQWEguycTj0LFXSoujS59sEfoFPhVk+rEKpQRNMq8ZZaMr7dae4z+2nXXzCrTQu3QAZDmtlS+IKeeoONgKXyFk9rSebPNsve5LDrwwwXQ6P7wFF8YOxI9WyIBrr/lOVI/FesmbXHBlQNLJiSNf/Izo1w9PyQqwd2Z0IaChCVbz4HZawmhIIDuuirSdE8guYqrQFix3Uz1BpicOHyDTHg56c4FYRRR4soN5HOvPyXkkaXdm9LVAOBl952MR5bXPvBhTiVq1AQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=uP1BmQt8UQRlP324pyLNobZDTrZPP14vT0RO6Ev9z9g=;
 b=G9tQHXajVChcjeh0TL3NNA7OOm4KOGZEy4iuEVHYCzZqVUTum0k/epjhoQm3SpoYNU+pH+JZ+tZPNXxE5C/CwnDIOz+KW4Xv/5blSPGvHhlcwwpFYu72pzFw3rT161Iui1IwifhiYo1YDwHXqSAHJHvy8tJM+tSNrCwL56x7UJOqb2r2AhsbW6xp4eg9ujdEOu/htcBgD5RG5CcqVKBXtxvdyONt5kISP6VMtf8ZXIh/lOgK3J1b8A9svuC5q1m1SNqUSfGthRSwEmp858pQ0gFyShLqifvY87urnCKLySOgmYHtbnyiVnPXRitvPmbCQSqLKDXlyD3so+1cFw9A9g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=citrix.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=uP1BmQt8UQRlP324pyLNobZDTrZPP14vT0RO6Ev9z9g=;
 b=5pvQX3FSkzW7XbzKAEEmB26qlvQSLF4XFRfuIGpank/eB5dkfmPqO/tiSiRaMLa12FZnZ0BC1sVPi4YZc4USFknLVd1HNYvp8olNkX9HVgHDoUwt5jbIJLJPW3/zUnEHJ6dqn3U3R0OCfBCuHnHlN2DFRYX4l1M5MAVeatjoSBY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="UTF-8"
Date: Thu, 2 Oct 2025 12:41:06 +0200
Message-ID: <DD7RU7OHCZ83.QERYHBDKV7FR@amd.com>
Subject: Re: [XTF PATCH] x86: Remove Xen as a hard requirement to run XTF.
From: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
	<xen-devel@lists.xenproject.org>
X-Mailer: aerc 0.20.1
References: <20250930085412.1643-1-alejandro.garciavallejo@amd.com>
 <97b1a3cc-6e8b-4207-b467-4ab39396482e@citrix.com>
In-Reply-To: <97b1a3cc-6e8b-4207-b467-4ab39396482e@citrix.com>
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH3PEPF00000014:EE_|SJ5PPF01781787B:EE_
X-MS-Office365-Filtering-Correlation-Id: 1fad1247-3e4b-4907-1f18-08de01a03323
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|1800799024|376014|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?ZTVSNkNzcXRwNFJFRnowNVEzZThYMkx0Q0ExZUdDdE0vcUVUYk9Ya0cyNHo4?=
 =?utf-8?B?TDRyVkRpZG5DeDF1cys1M01xemhBNHlGM2Z0QkJxK0FYL1dSclFJbW5BL3Br?=
 =?utf-8?B?UHloYit4NzYwRGdWNzFuNEpXaXFOUzNZZ3daSHBPRkFDQzRMekhIZW9peG0w?=
 =?utf-8?B?YjlCZGo3bk84ZTVVSVVuZjhpbzVOK0JjTFJaMVJwa1orbjZpSHlZcWdkSHBn?=
 =?utf-8?B?cnhhV24wa3RKelkzTmdLaHNXajg3TTQxVDVKODI4cEVxZU1wQ0U5cVJDdGZr?=
 =?utf-8?B?OUJzams3dnk1UWlLVnZEUFRicE5aWUFnSmRhditBcUdqdXJpcENNdHNVQ0xa?=
 =?utf-8?B?VERwbXZQbGlwdURWbkV1a2dKREMzME9NblQ3R2lndFNTMjBVeUc4a0VMUTc2?=
 =?utf-8?B?Yk5VSmIzVlZYcmxyWXN2VVl4NFhsYjdGSTBKYmVXTHNVWnNGaUR6clpnN0pJ?=
 =?utf-8?B?Ny9GVSt4cnF0cGYyUjM2S0Q4RVMvenY5bzhVaStnRDlWSTRUYVhNZjRpZHNL?=
 =?utf-8?B?eTQwbklSZ3lhNms1Z24xTURJcC9jamFxNzdVZkN5ajJBVWplcVV0WTZhUS9U?=
 =?utf-8?B?aHJ0K2VsRWZzUWlGQjJNNUIwNVlDQ0NaM29hbjFEbjdVVTN5QkViZGpnT2tk?=
 =?utf-8?B?R1h6MWZXU2F4MmFOT1FPWFFqMStMakRLNG16c3hnSS9hTE52bGIweEN5UWpS?=
 =?utf-8?B?QS9iTlo1d0Jja3ZTeTdsTzNmZTRpL201SU5sOTBhYUY5aFc5ZWx2Q01lMkJu?=
 =?utf-8?B?TDMvdncwbSt0ZCtKWUZxbWNnM3JVR2M5a1V4SFpTaGVSMG9NMHY0ajBvRDhO?=
 =?utf-8?B?NGluU2txbURidnFwRTVQeEIvVzNaYzYybnc2NzhVWUJvWUFuUS9jLzFnQTN5?=
 =?utf-8?B?Yk83TXhtdnIrendUY1RFTnJKK2h1SWt0MWQzT3VaNVlIMzlPeE1DR0lNNjIr?=
 =?utf-8?B?cXQ3Q3NzeWNzV0RmMzQrQnEvMytTT3M3ckVaNGNuZllNQ283NU5XU1lVNi9K?=
 =?utf-8?B?NjdmRE8vSEIxSWlaQVVLTzRqRWx2MysyK3R4UTZacG1FbGxjRkV4clB4ZHkx?=
 =?utf-8?B?dEduUkh1eG5ZOHNDSjVGVDBFUFYwaFVRU1U5WjFnNzB3a240QjljV1F5NUxh?=
 =?utf-8?B?M0hvNHV2Z204NlBSRkZJUTVtUU1kbGY1MWlCTkIyZXVRYnpsZGwzbGJ6TVdE?=
 =?utf-8?B?aDd5c3B6Qkc3L2g3bkN2L3NLak5iaGtLbG5NWDV3TUJGL29OR0MycmVnQWpR?=
 =?utf-8?B?Q1lRbTVsOCt1UnIvODNMREl2TmZzTFZJVXAwTktwNGxRcTlQZnM3eEdMam1Z?=
 =?utf-8?B?cXcyNWV0WXFjd1NRSjhKbGV4bVhpTVVkK051cmVGeFRmcUZvS253aUVaNHhz?=
 =?utf-8?B?Vmt2SCtUYXp4S01DeklLL1V6QjV4WERpdW5ueTIwM2JlMzFVZG43cUhZTTJj?=
 =?utf-8?B?OHd0dS90b3pudU50a210N0hWTGJ3TkNLbU4xSzhrRVFOVHArZ29OTHFSdHgw?=
 =?utf-8?B?NGxkYTB1RTBxRm5LSGpvOVVxN0dhT3dVSUtEVVhmMHhlM2NnV295bjUzVlV4?=
 =?utf-8?B?bmFtOHNRbVJWMnlFME1HOUtVV2p0dFFiTkw5RFBiTVNaaElJZ0VzbzdnWU9P?=
 =?utf-8?B?THdNMUtoVlRJbk5oYUptQWNYTktiRnhTYzFmMDJ6dHVaUEJpaGdUaHBFd1N3?=
 =?utf-8?B?RlB2cjcvR3BWWWkrSEhWZGY3a3ZuTlU3NmlJRWJCaXhRcVFtaDA0Zndzdy9z?=
 =?utf-8?B?enlPaWVTeDREbHZzM1l5c29MMXhSN0JWNlQ3bmdDaFM5Y0pGdldKYUU1TEw4?=
 =?utf-8?B?Y2JzVW5aYTBmUEYvdDl6WWN0VmxjTlpNd3I2MzRyZyt3bU4zT252dGNvUWJN?=
 =?utf-8?B?MjVub0hUOWxtQUhzLzA5NTY1TnRTZ2RGRzRMVWtBU1RqeVYveStlZk9oZUY4?=
 =?utf-8?B?dFdPQkgzS3pLYnk2WjN3OGRObE9SemRteFFUZ1U0cWtpWkVMMEtDK0ZzSldo?=
 =?utf-8?B?YzRpUWhLNlEraE80RVpHSXd3ekpUeG5ReFVWeXUwMmYyMW85NWdmcjBiLzFP?=
 =?utf-8?Q?k0aKq8?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(376014)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Oct 2025 10:41:09.6981
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1fad1247-3e4b-4907-1f18-08de01a03323
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CH3PEPF00000014.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ5PPF01781787B

On Wed Oct 1, 2025 at 7:10 PM CEST, Andrew Cooper wrote:
> On 30/09/2025 9:54 am, Alejandro Vallejo wrote:
>> If Xen isn't detected on CPUID, then:
>>
>>  * Skip setting up Xenbus/PV-console/shared_info/hypercalls/qemu-debug.
>>  * Register COM1 as an output callback.
>>
>> This patch enables running XTF on QEMU-TCG/KVM out of the box.
>
> When I did a KVM branch for amluto,
> https://xenbits.xen.org/gitweb/?p=3Dpeople/andrewcoop/xen-test-framework.=
git;a=3Dshortlog;h=3Drefs/heads/kvm
> was what was necessary to get tests to pass.
>
> I can see the need for MB1 going away now that KVM uses the PVH
> entrypoint, but is the rest really unnecessary?

I do run it, as-is and it works.

Depends what you're after. As-is the commit spins at the end for a lack of =
the
code knowing how to turn off QEMU. 0xF4 isn't the default qemu-debug-exit P=
IO,
(that'd be 0x501), but I assume that was the intent and you (or someone els=
e)
got it from the TCG unit tests, that have a non-default PIO.

I didn't include something like that because it relies on the user having s=
et
up " -device isa-debug-exit" in their QEMU cmdline. Thinking about it, the =
worst
case scenario is that the PIO write is ignored, so I'll just go with that.

Also, I'm not sure QEMU implements PIO 0xE9? I've only seen it in Xen. This
patch writes directly to COM1, and that seems like the better option.

>
>> diff --git a/arch/x86/setup.c b/arch/x86/setup.c
>> index 2ac212e..6172c7e 100644
>> --- a/arch/x86/setup.c
>> +++ b/arch/x86/setup.c
>> @@ -243,11 +245,19 @@ static void map_shared_info(void)
>>          panic("Failed to map shared_info: %d\n", rc);
>>  }
>> =20
>> +static void pio_write(uint16_t port, const char *buf, size_t len)
>> +{
>> +    asm volatile("rep; outsb" : "+S" (buf), "+c" (len) : "d" (port));
>> +}
>
> I've factored out rep_movsb() in the proper place for library functions,
> and without the rebasing issue reinserting the erroneous ;.

You meant rep_outsb(). Too much ERMS is bad for you ;). It's just the commi=
t
title that's wrong, the patch is still good. So I'll resend with using that
helper.

I'm a bit triggered by the port being the last argument rather than the fir=
st,
but I'll get over it.

>
>> @@ -255,12 +265,41 @@ static void xen_console_write(const char *buf, siz=
e_t len)
>>      hypercall_console_write(buf, len);
>>  }
>> =20
>> +static bool detect_xen_runtime(void)
>> +{
>> +    uint32_t eax, ebx, ecx, edx;
>> +
>> +    /* PV tests always run under Xen */
>> +    if ( IS_DEFINED(CONFIG_PV) )
>> +        return true;
>> +
>> +    /* HVM tests may additionally run on non-Xen hypervisors or baremet=
al */
>> +    cpuid_count(0x40000000, 0, &eax, &ebx, &ecx, &edx);
>> +    if (  ebx =3D=3D XEN_CPUID_SIGNATURE_EBX &&
>> +          ecx =3D=3D XEN_CPUID_SIGNATURE_ECX &&
>> +          edx =3D=3D XEN_CPUID_SIGNATURE_EDX )
>> +        return true;
>> +
>> +    /* Viridian guests have the Xen leaves higher up, so check there to=
o */
>> +    cpuid_count(0x40000100, 0, &eax, &ebx, &ecx, &edx);
>> +    return ebx =3D=3D XEN_CPUID_SIGNATURE_EBX &&
>> +           ecx =3D=3D XEN_CPUID_SIGNATURE_ECX &&
>> +           edx =3D=3D XEN_CPUID_SIGNATURE_EDX;
>> +}
>
> This isn't quite correct.=C2=A0 There's a find_xen_leaves() helper which
> should do what you want.

Right. find_xen_leaves() wants adjusting so it returns a sentinel leaf when=
 no such
leaf exists, like -1ULL, or 0. I'll go with the former tentatively.

Now that I've noticed the existing detection function I might be able to
just do early returns where it's invoked rather than avoiding calling them
altogether.

I'll send a v2 shortly.

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Thu Oct 02 11:11:13 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Oct 2025 11:11:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1135715.1472728 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4HDB-0007V3-KD; Thu, 02 Oct 2025 11:11:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1135715.1472728; Thu, 02 Oct 2025 11:11:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4HDB-0007Uw-HW; Thu, 02 Oct 2025 11:11:01 +0000
Received: by outflank-mailman (input) for mailman id 1135715;
 Thu, 02 Oct 2025 11:10:59 +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
 <SRS0=veGM=4L=epam.com=milan_djokic@srs-se1.protection.inumbo.net>)
 id 1v4HD9-0007Uq-4v
 for xen-devel@lists.xenproject.org; Thu, 02 Oct 2025 11:10:59 +0000
Received: from AS8PR04CU009.outbound.protection.outlook.com
 (mail-westeuropeazlp170110003.outbound.protection.outlook.com
 [2a01:111:f403:c201::3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 741405f4-9f80-11f0-9d14-b5c5bf9af7f9;
 Thu, 02 Oct 2025 13:10:51 +0200 (CEST)
Received: from GV2PR03MB10998.eurprd03.prod.outlook.com (2603:10a6:150:27b::9)
 by DU2PR03MB8122.eurprd03.prod.outlook.com (2603:10a6:10:2f1::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9160.19; Thu, 2 Oct
 2025 11:10:43 +0000
Received: from GV2PR03MB10998.eurprd03.prod.outlook.com
 ([fe80::3358:d080:db3f:c4a]) by GV2PR03MB10998.eurprd03.prod.outlook.com
 ([fe80::3358:d080:db3f:c4a%7]) with mapi id 15.20.9160.017; Thu, 2 Oct 2025
 11:10:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 741405f4-9f80-11f0-9d14-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Mqt1O3BM8SJlRrvnBokdp0RFhedXMnbc7jn7ItHAVdhByyk7pLby/7gDYkjzYy8DHnbNHn//hJnuj/TWtFYs6mzjIEUwOxEHLdrU5LyHL7YTrZkinPDTYaCm57xj2KTkr/LmkkKaiP8f79x5ADTNH8yJpEwRhXTwddJ7PniEEjeENBwpXalAsmmY9Gy45O0sSsxiXE8awKT2FnFdI1zeh5lRurMwvEiCY/gKDQb0z8QjFtXKXPXQ/rE2JedPlCbvNcZ+pLNqfYqQHHcxGA/wMTvWts/fSiVudC00NR8Z2HY//p7ecLWQskmu48EECYg66bEb1b8ExyDkf0dY7akogQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3GyfR64pNTgcQqYoT1qYuyv4fzec20C0AYH22uKTQd8=;
 b=fjMkJmYrlwzDIiUk6PnE/K5axWJXzMtzU98RZP597P8eBG8QNPM3utfjR5IOwnzfCTXt3dqNzMIQF4EmNFAg5NJmvIrKQiKGmaX2m5Qv7ga/5anVnHurJclYKp/c77mXB3GDBsuxOj3Bf8/7NZyavkK2EsreswQIr0mETd5aTbIf1PDsna3npUUCdhvPGGXQh9R1UQ2bw9IL1hQ0TOHftW3p7f4FeB8e3TgHJcQf8Dt5eOEAwSPPpcGkbGkYogFLo1AqSS8Ln8x3MKDLSa21tUNJOlu2xs2zFyG/5uowZc2pZtuDRnNb+ilxuvWSx+xa3ggzWZ4/tWCwCDpY7das3Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3GyfR64pNTgcQqYoT1qYuyv4fzec20C0AYH22uKTQd8=;
 b=MMZccIV1ako3iawXtPb8uuThK656rlVEJHxKJTd4OzcEACYd6iOJ7nc1HLNHOPxxnv3u07ACR0RTchlI6Zd174uOhRAUW2WMckK/ngC+JpYIvtbHEoblzO6QeIuIthqiNrvKNlTn9pKjOpuKYiMe1YJGYvW0Dde6XOE8PJMcorWu44JZ8qs/QAaSwpHuUEwnvJm8p9Epw5okwknyvg901r0xJ/R3H17fXrm+XUHkYJmIizXmZHirfv3szlbl7WafkYHVgVS04Nk4rJaJAgMGSkya2IkeX6y7aN++0UqZbzKUjfIXmbEyQmvu183q+32ioaBNdG5lIhZM/WxIk7wFkg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <f3e662d1-7626-49f3-a673-e3cfd8d7944d@epam.com>
Date: Thu, 2 Oct 2025 13:10:40 +0200
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/arm: XEN_DOMCTL_get_address_size hypercall support
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <39511522aae7dab5766ef2ebfed1d13abec8610e.1759324344.git.milan_djokic@epam.com>
 <bf042eea-ed2d-431e-b1f0-7be0c09194ef@citrix.com>
Content-Language: en-US
From: Milan Djokic <milan_djokic@epam.com>
In-Reply-To: <bf042eea-ed2d-431e-b1f0-7be0c09194ef@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: VI1PR04CA0112.eurprd04.prod.outlook.com
 (2603:10a6:803:64::47) To GV2PR03MB10998.eurprd03.prod.outlook.com
 (2603:10a6:150:27b::9)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: GV2PR03MB10998:EE_|DU2PR03MB8122:EE_
X-MS-Office365-Filtering-Correlation-Id: 1fb3da9c-60d5-4045-3daf-08de01a453bf
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?cVg2dFFJdTVhclF1dHlhMUpHczVQSnNZelJkeHl0YlB5cEtaWkMybTk4dVdo?=
 =?utf-8?B?MDZONWVIbE45d0RxZWlWVGRGOEtYZTNvNW02T1VrUHNVR3V6eFpVYXh3MlRF?=
 =?utf-8?B?NTVzNkQ2M20xNmYzTVpTZE9Ram12RFoyVEJOb2s1Z0VpUWN5TnhEV2IySjc4?=
 =?utf-8?B?N2FQMXdkeUo3WGJpT2hOdjdqUW5FeGFJNkM4S3JUeWdkait5RGdiS01yQUll?=
 =?utf-8?B?b2FxOUV3dlF3OEZaN3I4RHJUbk90ODlmb2JaZmNxSnFZNFRBbXIrUElDUkJY?=
 =?utf-8?B?alRXaDhWQ3NQL29mU3ZsQjhNMVJ2VmlVOG9EcnJyRHY3Kyt0Yk82cWNjcllK?=
 =?utf-8?B?WTZFam15VUptYTNMUXp3T1lzUjhCVlJsM2JKaGNkYk80RVJQaGxDRnk0OWNZ?=
 =?utf-8?B?NXQvcWM4Y05CNzVBRGNHaEpCem5rL0lOampNQURDWEFDQ3JtR2g0eHk4S1Iv?=
 =?utf-8?B?Z1RJek9ZT1YwVmpaTnQvVHBaL1RFWnJWVmZ0QzlZSHhlNjhKTEZOUi94Rmox?=
 =?utf-8?B?c1hFTFRBR2FKK0hyaXM2OFhmcEJ2bnE1MjNhUmJib0l0Y083M0R6Umx5a0w0?=
 =?utf-8?B?QlNDNkhkZFdQSE5ZSHF2M1dSMUJuMWt2NEkrcU9lT25aQnV6WWpNYjUwOUJO?=
 =?utf-8?B?UTRvdkZSTytoMndNUmJUSUVhSzVKblFEbmhMMlRjVEhqVWR3cFVGSG5PdWZX?=
 =?utf-8?B?YS9kZGg5SDlJZEhTY1YyRFJHWU9ENFFjd2RINzJxWTBHUTZ5OTRsalVCbVVz?=
 =?utf-8?B?RWhpQ25aRkJQUmlzSEJxV0ZHUTloeU9OU0FvOHBXakJSRzVRaWdhT2dsTFpi?=
 =?utf-8?B?M3BFc2EwVjd6RkhIZHRvcHhMMHNKVGdHSkRaUHN0aVVMVXZZbVp0c3hVV2xy?=
 =?utf-8?B?SFFYLy9DMC9OaFh2czFXbVpqRU9BRjYvWVVEdXhtTjhPUTAwQTBkNTB2ZVhI?=
 =?utf-8?B?RU1XYkREVVJvOThjQUYxZGk1UFFGUy82cnB1VWgyYllWTjV5Z0tiUzNRV05G?=
 =?utf-8?B?b201andCV3hObEdwbmFGTWlYWHI3SkFMcU1xTlg2UzNhd0pRbDBFZ0lQNTNK?=
 =?utf-8?B?VFRVN25FaUNnVElPQUtueHpJeGt0djFjMjlqekVnMThyNk1TRDVFc3hkd2k5?=
 =?utf-8?B?L1N5clBaWmdyWDgvUWVRNjlQOUJtcG5xOU5DWFNYR3lDMURodGRITG0waStj?=
 =?utf-8?B?WHFSVG1DRDNJUGEyUWFQZ0t0SUZzcEVFZUgwTXRNZ0J1QVVIUXFoVHRMSnVM?=
 =?utf-8?B?aWFmb2hIamtjMkFiNUcyM2grT3hHUTZUbkZxYXBUSjZSRHZUcXNqc1J2VDQ3?=
 =?utf-8?B?Z2NDYlQxQWduMjRuYWY0aFdzMm9hL3pxaHk3K0c2ZDRwckhYcVM1RzRFS2Ur?=
 =?utf-8?B?NXBpQWw3SFFQRVh6M2NNd2xNRUJTTEZzdmdHYlZmMzZjSVJkTWI5Q1c5SG5W?=
 =?utf-8?B?d2F0TytpVEhMM01DN0J6TlpZOTVTTWV3dytXUUhWM0laQ0UxdVRiQWlKcGFS?=
 =?utf-8?B?Z3dFa3hOUTlxMUVEQlhSbndkeTd1SmRqeTIrNjZ2a2lLeU93WjN0YlBuREIv?=
 =?utf-8?B?WHBNMGZyQWpic2lJZkMrTXVBUWIrRTE4OFdFMFRKcEJiVndLRjNlVDhQdmpU?=
 =?utf-8?B?WHIyMGN0d2k3NmdDUzJNZHdyYndwQVR0ZkVCTklEZ29HamlVWTNUUVl1NEk3?=
 =?utf-8?B?YUFrRzgrSDRJMG1LamNxRGJoUXk2Vnp0WHZKdHJESmZlbnNrSXdFQjlYNklX?=
 =?utf-8?B?WHZrU3JrUjVMZGQ3M1lUU1lmemxZeG03TmNlU2RGQVJBNll3QTM5aFFHQms3?=
 =?utf-8?B?V0dTWS9IL3hRU09VZjRRVDNhL0RFN0Iza0RTQ3RHcXg0ekc2M0d4K014bWVr?=
 =?utf-8?B?VnpuQkNkcWJ0VmZxanNEdjlWMWxwR0xGMmREbFVtQkg0OE12OFpvSnVyZENB?=
 =?utf-8?Q?DdzjfVALE8JGVvc9re+YriRc3GS//Z80?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:GV2PR03MB10998.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cVN3TjlGSVUwcDRVSCtqdzJWcGQxNVQrYjY4Zm8ybDYyVm9PUUZrSmpDUVNM?=
 =?utf-8?B?ZmRiR2FUMGpRRUFQNS90SjY1eFVjbzd6NHpxNXNGdk1ReUtTUjBCM1hINFhG?=
 =?utf-8?B?ejg2TVllc1FnL0pJZk5lMkg2TEh3ZG5iTnRsTWp1SGRENnA3azBEVnZWOGh1?=
 =?utf-8?B?TlhOeTNORGN4dmpTSkk4ckZ3K0hoakgvTk51WnNQdHFXSDFVYUR3RERBb1g3?=
 =?utf-8?B?YTBCRElTanc2bkZLUUJ1dEw5dGlQT3hMamQrd3o4YllCMWNwczd2Z0VYMXU0?=
 =?utf-8?B?ZERvanBVcHE2c0xPVUcrVUd4SnZrYzFrSDhCWjkvZE5RWU42Y1BleVJrSzNu?=
 =?utf-8?B?cTY1b2Q5Y3YrdHQyNDJ0djFFMTI0SmhyNWtpOEVKQms5R2x3aVI3Q0JXUU13?=
 =?utf-8?B?MWVZSURBcUJBUWVGUGJQYlVjZGNMekZtNVBTSWFQUkdqTkt6d3FoNmVHaC9w?=
 =?utf-8?B?a2VuVzQ2QWVxbmpxUmo5RDFLam1JTmVxTXRiSkhYWUdLZmFJUFFXcHREOFRn?=
 =?utf-8?B?ZGZPNHRaRDArSjF4RGYrY2lEZVcxSWZFWDRRMDRmcWhxcnc1WkJDQnZxQW1D?=
 =?utf-8?B?ajJDQzZtamZzS0lvMkp4T0tUMGE5WUJyY2o3Y3BKY2lVYkFkZDJMTWVEZHJD?=
 =?utf-8?B?OWwrTk84N3pVVzJNbTBXcHVhYlVaUjUzQU96MjZPUEhIVW1TcGIwUGUzUGhL?=
 =?utf-8?B?eklHcXdpUnZuWmx1bWZWUzJPbkVSeFZ0SExRUTd6MzY2SDFJVFlBOGZmd2dx?=
 =?utf-8?B?UW43NmZXbWhRcjBEaUVjRkJROHdMbUw0eVNCd240RWViYWVsTzZ2VEtqeDFZ?=
 =?utf-8?B?MnphWUozeVY5T1kwZ1hIM3dwWDVFaXNWTEVsSk5MOHRFNUlHcWtvK1BsaEN0?=
 =?utf-8?B?NE9rTHJLYVlURUFQbjNVWWtad1NzM3ExcXlXVFhLV2taN05nbU1XZmRtdkdY?=
 =?utf-8?B?bXJCNUQxbUkvVFVqd29rSFZMcm9LbGFTUkR4YTlaYldBL1p2b2ovMjZRZnJj?=
 =?utf-8?B?azQ0aVdrYkQ3NU5PMm1wa0ttZVEyZm5TbjRTdW5sTm41MWc2ZFpvRlRqNDk1?=
 =?utf-8?B?N2hkQWd2ZS9lZkEwVHFtUnhCZmVnL0MxdlNaQUk2TGd1dWZyNHZjTStmYnBI?=
 =?utf-8?B?SENOTkgveGc2VGFhdk1IYjY0VW1ZK3czK3ZWZFpJZmdKN0dzYkhSaEZZSE9k?=
 =?utf-8?B?ZTlVYkpuSGNwL04zWm10cDlSMFVYbmtIcXZGaFRVZU5ZRFI4WVlYSzJGR29i?=
 =?utf-8?B?QkFubWVHWTI4bVcrNUZxYVU2TjRLN0RUY3Z5NDRMNHpOZzI1NFhYOUZlNWND?=
 =?utf-8?B?RHZlRnZ1U3RDL0U2NTg2WWJxUkNqVG5OVDlwaHl6bnRUelNaVDBMWlZQM1ZJ?=
 =?utf-8?B?RGMwQ3RGOWtFVG1OdWRrQnU3SG5kWWJERkdzWmFkV3RrTkVDVnQ5M0ViMG5X?=
 =?utf-8?B?T0JxY09oUmZGbFBPN1dtMi9aaS9MRGsxSWhuMjEvOG1Mc0F1UXpYT0l4N1BT?=
 =?utf-8?B?M0dieTZqYVFCOGVsYXFCSEQxOUl1VjMrWFpmdDEzVUl4MGhxcDczUjI1bXlM?=
 =?utf-8?B?REJYdDJHZEo1MHR5R2M1enlWQkRtTkNTZFVMRGZZS2ZlVlppLzZJU1dpNEdW?=
 =?utf-8?B?Wm9IeGxWUVJqSmdPWDhRdUI3SHlCcEpNYUNCanIyNno4K2Z3U2t2TENPY25M?=
 =?utf-8?B?aXpoYnEzQjQyMHJRNFZMVGpyNS9OWUs5R25Keno5VlkveXgvZlhVSVBuWmFW?=
 =?utf-8?B?emNvWUNXaXlWaUpiMGRMdlNudzR6Z3dVdXZZVnBGRTRiSUc3NXFWREhjWlhv?=
 =?utf-8?B?UCs1RVdMZDNXdXN1OVhHcC9NNUFPTEJkdk9XOW4yTU81SlpITld3bHJLVnJa?=
 =?utf-8?B?cFhmYjdld1RDRExGOWY0VWJsUGhkM2JUNitPd0FwK3dHMlB4bmZlbEg5T2Zt?=
 =?utf-8?B?K2psWWVpMk4rODRLeXo3OTFRaU1Fc0MzZFlYMDJZUG5zb0ZWY00yVFU3SHZ1?=
 =?utf-8?B?Q05RWW1CWTR5eGRJQjZxeDdYbksyTllwNmpyZzdmUzJtczBvaWMzSGxJZnlN?=
 =?utf-8?B?Z1ZjSnhtcHM3KzErSGp4anAzbXlNVitKdGFLSkMyY083cTZDQmx5MzcxWVZq?=
 =?utf-8?Q?415m+hvh32cqlx4typzVVgSNb?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1fb3da9c-60d5-4045-3daf-08de01a453bf
X-MS-Exchange-CrossTenant-AuthSource: GV2PR03MB10998.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Oct 2025 11:10:42.7067
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: yJIU3PDTUQinwmydf0yHg320AjHZOdQW6kRYvS9qLAfTZUtQ8qUY98fuVC2hsbHXyETxFwseDJ4jMyGIbOc40A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR03MB8122

Hello Andrew,

On 10/2/25 12:10, Andrew Cooper wrote:
> On 01/10/2025 9:01 pm, Milan Djokic wrote:
>> Signed-off-by: Milan Djokic <milan_djokic@epam.com>
>>
>> ---
>> XEN_DOMCTL_get_address_size hypercall is not implemented for arm (only for x86)
>> It would be useful to have this hypercall supported for arm64, in order to get
>> current guest addressing mode and also to verify that XEN_DOMCTL_set_address_size
>> performs switch to target addressing mode (instead of relying on its returned error code only).
> 
> Please don't copy this misfeature of x86 PV guests into ARM.
> 
> Letting domains be of variable bitness after domain create leads to a
> whole lot of bugs, many security relevant.
> 
> 32bit vs 64bit should be an input to domain_create(), not something that
> is edited after the domain has been constructed.
> 

Yes, the idea behind this patch is not to introduce variable bitness, 
just to have the ability to get current addressing mode through 
hypercall. In our case, we have used it only in domain creation path 
(after domain_create(), to verify that target addressing mode is set).
Of course, whether this hypercall support would be useful in mainline is 
open for discussion.

>> diff --git a/xen/arch/arm/arm64/domctl.c b/xen/arch/arm/arm64/domctl.c
>> index 8720d126c9..f227309e06 100644
>> --- a/xen/arch/arm/arm64/domctl.c
>> +++ b/xen/arch/arm/arm64/domctl.c
>> @@ -33,6 +34,37 @@ static long switch_mode(struct domain *d, enum domain_type type)
>>       return 0;
>>   }
>>   
>> +static long get_address_size(struct domain *d, uint32_t *address_size)
>> +{
>> +    long rc = 0;
>> +    struct vcpu *v;
>> +    /* Check invalid arguments */
>> +    if ( d == NULL || address_size == NULL) {
>> +        rc = -EINVAL;
>> +    }
>> +    /* Domain structure type field and actual vcpu mode must be aligned */
>> +    if(rc == 0) {
>> +        for_each_vcpu(d, v) {
>> +            if(vcpu_get_mode(v) != d->arch.type) {
>> +                rc = -EFAULT;
>> +            }
>> +        }
> 
> This is deeply suspicious.
> 
> Under what circumstances can the vCPU setting be different from the
> domain setting?
> 

It should never happen, this is more of a sanity check. Alternative 
would be to use only one of vCPU or domain settings, checking against 
both seemed more complete to me.

> ~Andrew

BR,
Milan



From xen-devel-bounces@lists.xenproject.org Thu Oct 02 12:09:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Oct 2025 12:09:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1135753.1472739 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4I7k-0007Sj-R1; Thu, 02 Oct 2025 12:09:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1135753.1472739; Thu, 02 Oct 2025 12:09:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4I7k-0007Sc-Mo; Thu, 02 Oct 2025 12:09:28 +0000
Received: by outflank-mailman (input) for mailman id 1135753;
 Thu, 02 Oct 2025 12:09:27 +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
 <SRS0=wm6k=4L=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v4I7j-0007SP-DA
 for xen-devel@lists.xenproject.org; Thu, 02 Oct 2025 12:09:27 +0000
Received: from mail-wm1-x336.google.com (mail-wm1-x336.google.com
 [2a00:1450:4864:20::336])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a3df95f9-9f88-11f0-9d14-b5c5bf9af7f9;
 Thu, 02 Oct 2025 14:09:26 +0200 (CEST)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-46e47cca387so10146815e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 02 Oct 2025 05:09:26 -0700 (PDT)
Received: from [192.168.1.183] (host-92-22-57-86.as13285.net. [92.22.57.86])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4255d8f01a0sm3408774f8f.48.2025.10.02.05.09.24
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 02 Oct 2025 05:09:25 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a3df95f9-9f88-11f0-9d14-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1759406966; x=1760011766; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=ca+Z2DEAM7Y6ezT4gyaN65jx4m6sggDzqgZ3u05cgo4=;
        b=TBj7pt9z7hK3UhTcWyhAK2rXtSAXxWvQqph4xwCIjlkVaYezhVjGQ9W2pJHK8y1XYC
         9+0G5/1Jc6nq5otzkybThIcRap78t69/Xh9phMrS3gAzORV4tHGHULSw+4lHMT0eewXC
         lUP8irRb2KPXIgrPHuXV3bbt8a1FPTbJieK9E=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759406966; x=1760011766;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=ca+Z2DEAM7Y6ezT4gyaN65jx4m6sggDzqgZ3u05cgo4=;
        b=xRMysj6IvYgXTlpn3ZsSWYdZ3Ld1C9Bn3NoA9GJi3RpahhCX1FnfN7z7wJncy/cbt0
         xAeQRoJkzTJi0bSykIOCkH6kf/8ztvb1syr/50Ji3GK2SlzPz+R6f4Acmv8nIoBVLChY
         CdcnWjSQ8i1v+oBDt7b0EZJ48HZTGUcVUtpP+0EkDz7tXg0UJuXWFTL63loBC88Yx28I
         w9ULIpqWzNWdXAgv+cBT7PvR6MynfbutM0ug5gepvE4VkYsiK3aaMLcrE5J5bDwxd+oQ
         Mni9+ZZN2Nbt7ybaC4CvUZ5B01YgRnc2CejjT5v/WwIQsN/LzlKW1nGmHorElyzgF6Ps
         DOaA==
X-Forwarded-Encrypted: i=1; AJvYcCV0Yn027EO3os31n6x4Q2AfgcEdG0AW3PWJHm1FPdIF/P8xW2JHMC1L+MEzNA9QpniOivAAzAQNS6A=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyNorjcG11jqqBVO5fMQGZ5h+sPqGEzac51vHrsGQwdYbuMFY6/
	osKgq6r/YPPcX29sbdaZG3i3sPvrdyq6mMHIcWyw7gqw+jdfnrAxGlhkajoNIIfCuBI=
X-Gm-Gg: ASbGncv3Rw/z3Kha/RkPTQbgOMOU+whCr+nkxA5NK4zIG9ePSi5VwzITTAOkHJNZ+t5
	ffdfn78htaVQRABZI4dQr+BgR1hhoNBwmOh/LQdKHrfB0dvJtiIxEcgSzby5oY0f10dTAZPYGrA
	qHNdlvRo7a+aqVE4AswNocZF2pMw3ydnjPKP9pUON2aMC2pToTikwwFoPEryMza0RUynQ7oIzDb
	6INKHw1TIkmF3+QjdQbD/DSqY5pT14TbCzsNicgNR/DogqQIwnxnYHpjvmveW9dFqB83HEr5jkC
	nEfv/twPieW/vtdHMZoNGEWU7sjW30OxfULC13c7ebk0l7s8rVCqBm+Dk7Vu20EHNfh1Qjrx0ki
	NOHg324R9Hm/qDUmyua+rYvzWgjZURAwTBFhKaEEAeNl6HS3Ew4CI5iiN1Esb5Ew6vUpLiv9AmH
	lBpg6pdIVPwMfoGOBnivHhKSM=
X-Google-Smtp-Source: AGHT+IH6NxV+rYpDgPZmDCyw4woLYzmiUlt0Vhoep2ZMeNYOQCrkE0qNW1MjCvfhKBDTrduyn/Zwew==
X-Received: by 2002:a05:600c:3505:b0:46d:5189:3583 with SMTP id 5b1f17b1804b1-46e611e12a7mr57865085e9.0.1759406965646;
        Thu, 02 Oct 2025 05:09:25 -0700 (PDT)
Message-ID: <f855a5bc-4e09-4e48-b6f0-273c39ada551@citrix.com>
Date: Thu, 2 Oct 2025 13:09:24 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XTF PATCH] x86: Remove Xen as a hard requirement to run XTF.
To: Alejandro Vallejo <alejandro.garciavallejo@amd.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20250930085412.1643-1-alejandro.garciavallejo@amd.com>
 <97b1a3cc-6e8b-4207-b467-4ab39396482e@citrix.com>
 <DD7RU7OHCZ83.QERYHBDKV7FR@amd.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <DD7RU7OHCZ83.QERYHBDKV7FR@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 02/10/2025 11:41 am, Alejandro Vallejo wrote:
> On Wed Oct 1, 2025 at 7:10 PM CEST, Andrew Cooper wrote:
>> On 30/09/2025 9:54 am, Alejandro Vallejo wrote:
>>> If Xen isn't detected on CPUID, then:
>>>
>>>  * Skip setting up Xenbus/PV-console/shared_info/hypercalls/qemu-debug.
>>>  * Register COM1 as an output callback.
>>>
>>> This patch enables running XTF on QEMU-TCG/KVM out of the box.
>> When I did a KVM branch for amluto,
>> https://xenbits.xen.org/gitweb/?p=people/andrewcoop/xen-test-framework.git;a=shortlog;h=refs/heads/kvm
>> was what was necessary to get tests to pass.
>>
>> I can see the need for MB1 going away now that KVM uses the PVH
>> entrypoint, but is the rest really unnecessary?
> I do run it, as-is and it works.
>
> Depends what you're after. As-is the commit spins at the end for a lack of the
> code knowing how to turn off QEMU. 0xF4 isn't the default qemu-debug-exit PIO,
> (that'd be 0x501), but I assume that was the intent and you (or someone else)
> got it from the TCG unit tests, that have a non-default PIO.
>
> I didn't include something like that because it relies on the user having set
> up " -device isa-debug-exit" in their QEMU cmdline. Thinking about it, the worst
> case scenario is that the PIO write is ignored, so I'll just go with that.
>
> Also, I'm not sure QEMU implements PIO 0xE9? I've only seen it in Xen. This
> patch writes directly to COM1, and that seems like the better option.

I can't remember exactly where I got that -device isa-debug-exit
invocation from, but it was some example documentation from QEMU itself.

If there's a better way then I'm all ears, but spinning is no use for
non-interactive tasks such as using ./xtf-runner for all tests.

>
>>> diff --git a/arch/x86/setup.c b/arch/x86/setup.c
>>> index 2ac212e..6172c7e 100644
>>> --- a/arch/x86/setup.c
>>> +++ b/arch/x86/setup.c
>>> @@ -243,11 +245,19 @@ static void map_shared_info(void)
>>>          panic("Failed to map shared_info: %d\n", rc);
>>>  }
>>>  
>>> +static void pio_write(uint16_t port, const char *buf, size_t len)
>>> +{
>>> +    asm volatile("rep; outsb" : "+S" (buf), "+c" (len) : "d" (port));
>>> +}
>> I've factored out rep_movsb() in the proper place for library functions,
>> and without the rebasing issue reinserting the erroneous ;.
> You meant rep_outsb(). Too much ERMS is bad for you ;).

Urgh I thought I fixed all of those typos.Â  Oh well.

>  It's just the commit
> title that's wrong, the patch is still good. So I'll resend with using that
> helper.
>
> I'm a bit triggered by the port being the last argument rather than the first,
> but I'll get over it.

For better or worse, that's how outb() and friends are defined (which
itself is a side effect of AT&T syntax).

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Oct 02 12:26:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Oct 2025 12:26:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1135782.1472748 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4INg-0002fj-4l; Thu, 02 Oct 2025 12:25:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1135782.1472748; Thu, 02 Oct 2025 12:25:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4INg-0002fc-1e; Thu, 02 Oct 2025 12:25:56 +0000
Received: by outflank-mailman (input) for mailman id 1135782;
 Thu, 02 Oct 2025 12:25:54 +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
 <SRS0=sSc3=4L=citrix.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1v4INe-0002fM-65
 for xen-devel@lists.xenproject.org; Thu, 02 Oct 2025 12:25:54 +0000
Received: from CH5PR02CU005.outbound.protection.outlook.com
 (mail-northcentralusazlp170120005.outbound.protection.outlook.com
 [2a01:111:f403:c105::5])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id efa0b759-9f8a-11f0-9d14-b5c5bf9af7f9;
 Thu, 02 Oct 2025 14:25:52 +0200 (CEST)
Received: from CY4PR03MB3382.namprd03.prod.outlook.com (2603:10b6:910:53::36)
 by DM6PR03MB5161.namprd03.prod.outlook.com (2603:10b6:5:240::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.15; Thu, 2 Oct
 2025 12:25:43 +0000
Received: from CY4PR03MB3382.namprd03.prod.outlook.com
 ([fe80::2947:e6d0:817c:58e8]) by CY4PR03MB3382.namprd03.prod.outlook.com
 ([fe80::2947:e6d0:817c:58e8%5]) with mapi id 15.20.9182.015; Thu, 2 Oct 2025
 12:25:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: efa0b759-9f8a-11f0-9d14-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=eDT10lYAb9ovopB+Btk/tBPhNKgjhNzP/ePpErAna9ieZoTRVg1dn4xG/TLs7zYCwRQSGOiF1LxKfCbOxiSi0lcioJfwfaOIcN9xMfrQt5BfHO1qB6bxe7ETIE3efFE8NlaLPSngosQM+BgH4FhEX/3ZzNMejAwvRvVeRF2uOo6EXyfd7/hGNifARKYVwVQKqNDB9GGj4BOMY6qidCMoWyFkqQ+XBr+ehDfIoQcGdUFo9aKdgX5n/YUD/yJk2DWdps+GYh9x6i7ZtTY2qu35f3rY6iwgOCr8CnfgMpDo/dA0OgdlclvMZ4IiKr/7V6SRH3S0Bj3+PP+wVYnMyaZz4Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=k32rYW5Qwk4jvKk3B7RKu15rJxaVovhO0Q9nrSQOH/c=;
 b=VtN3MdYRuyIPhVxtT4JZvRbt+fmWCvytqj+rCUZyiMRBDeWmHjJrToi8OGKb9xKak10A0t+oryfTYikFTfSWHxXYjtNw+b9rhz6tRNp4UlAUCqq7L+KRHil6odg7X2LaFpSTB6Hw4n8PM9AFLgvdIrn0XvY1KZo6Nsigwdjr4PRbMC+qjzQWxgAjFcZGnwXfwxXpC9s/g7MfzNcDKH2g+TlLhZTNuSUzycPXpBucGRh1ARyYy0+vLhIYWAfTivhdVtVRqoAVtKzbCpVGpqIybhgwUVDQWwbTjcF8b/ag9CdQaufJ3upCNg8lc9htyLmLJhGAFlj6gCEbRxn+tXL/ow==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=k32rYW5Qwk4jvKk3B7RKu15rJxaVovhO0Q9nrSQOH/c=;
 b=g2wvYRv4F6xlf8dOb06PiwBnFijhvSOLqa/TW+g1kSBRajIJlfrGFOV0wxhawtCA4nw5JfndMH/jfLfg64r0ntblU6XuhwHTY3nYGhUPuQewweAX5gEn7n55jqwght1DOAUhSh3vPX7yu2eRUhPLIj9ft+EaUh+a+B4nsRaHBm0=
From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: Frediano Ziglio <frediano.ziglio@cloud.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper@citrix.com>, Anthony PERARD
	<anthony.perard@vates.tech>, Michal Orzel <michal.orzel@amd.com>, Jan Beulich
	<jbeulich@suse.com>, Julien Grall <julien@xen.org>, Roger Pau Monne
	<roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v2] xen: Strip xen.efi by default
Thread-Topic: [PATCH v2] xen: Strip xen.efi by default
Thread-Index: AQHcG4LdpTtcu0yEX02PoYAcRuBERrSvCQ3n
Date: Thu, 2 Oct 2025 12:25:43 +0000
Message-ID:
 <CY4PR03MB3382F97265500A717D00D19284E7A@CY4PR03MB3382.namprd03.prod.outlook.com>
References: <20250612100705.21988-1-frediano.ziglio@cloud.com>
	<CACHz=ZjeiTx5uktt8C=5CC+WzYywgV=e+w=nL++N+9cUbLUEiQ@mail.gmail.com>
	<CACHz=ZiYePphaH6GMM9OA25bzM2pBxCHFH=OidU7CckO=T6oMg@mail.gmail.com>
 <CACHz=ZhvbRuRQSNx9BZ_g+U7TvH=eyKD4-qJBNZomaiJnE4Xzw@mail.gmail.com>
In-Reply-To:
 <CACHz=ZhvbRuRQSNx9BZ_g+U7TvH=eyKD4-qJBNZomaiJnE4Xzw@mail.gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: CY4PR03MB3382:EE_|DM6PR03MB5161:EE_
x-ms-office365-filtering-correlation-id: 68643f43-368a-4765-261d-08de01aece89
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|376014|1800799024|366016|8096899003|38070700021|7053199007;
x-microsoft-antispam-message-info:
 =?utf-8?B?T2lJQ3N3R3I3MlZ1azJaMk9aa2NKWW80VUhudG1CcVdHQ3ZrTGhmQkVZT0hV?=
 =?utf-8?B?Z2pVRVNHalgzQTBFRjBQWFY3Y29qMlNzcHdHcnIxN0lNaWhCVDMzbXBLS3Qv?=
 =?utf-8?B?NUxoODc3aTNOYlFoTGV1VDhyQnYybkxrRWlOTGNyREpPSkNDSkFNL0ZmTExm?=
 =?utf-8?B?S0lVcU5BUVdsNU1heTRnckxlUHFCdTkwSGxOQ0x3aFdyUDE1d3lybXBzZXpj?=
 =?utf-8?B?UzQzTC9PaVIzVkVLN3VwcnFOVzdnTUpSRGZEMTJCZU40OTZDM3pNbDlWdUlJ?=
 =?utf-8?B?Q0JYVzMrbit6ZXNvQ1A1S21sS1IyWk5KZUVTR1BSRlM5V3dPdXpEaURMbmgv?=
 =?utf-8?B?azJuNWtpbzVlck5INnNXN3BMWUYwbFdzSjJjMk8rMVdwVXh4RlMrd1E1ejBB?=
 =?utf-8?B?bWRWQks4U28vbDNzTmJaTDdnQVRWMG9QZmhMZzhiTWx0UklNMzBwRlpTMWxa?=
 =?utf-8?B?anp6VkgySllaSFV0VHd5QUtJdDJiU3dSWks1UnNqVXJqNExzWGVVMy84RTc2?=
 =?utf-8?B?SW52NWxkM3hjQnVPRHB2OG90ZXhOSFdnc1BocVNjR3hGa2V2ZVVXbXJWbHZx?=
 =?utf-8?B?cmlhczFLSm4zUStHZzhUcnRDZElDTGg4QUZqbS91ampPc3MzdjI0ZEdXaUg5?=
 =?utf-8?B?cU5CMVdGbk5rcCtTSEhySGI4Z1NMVE40L0hWVDJkbVFzOUNCTjJ3WVNHSmZx?=
 =?utf-8?B?aHlVMjFuOXN0VmVac3dVZDRJZXJ3dUlJUC9LMi82d2F2UEpDaTJVc1ZQNklx?=
 =?utf-8?B?VWxxWXZLcEZtemlnVEhaM0MwcVVmbmMrYlNEcUNjeHVYNWxld0hyZkNuMVVn?=
 =?utf-8?B?K3FsejEwRmhJWmxNSkN1Z2dpam5NZUVjdU5OUXN0YktPYUxadXVvc2F2Y1RD?=
 =?utf-8?B?bFZHR2Jnb0NaQ1RZNkJMNnBuMElSQmNlVHJPNFpPL2ZoVldSNkhXdjQvQWNy?=
 =?utf-8?B?OG5CRTRYUWF4THRGbmEyU0VHT3p1akdKTzhaWllKSy9xWWpqNytKUTFxcUI4?=
 =?utf-8?B?T0ZTdjJUdWNHeWkvbHU0SDdiMklZZkNSUHN4cTJNT1lSR2tpekQrbEl2WWJW?=
 =?utf-8?B?ampsVHIvVzRaRzVsU2R0YUxubWV3a0NBdlNucWJ1bG5LcUJoSklmL3NFVnBF?=
 =?utf-8?B?UmpoNHliTmdwRzR1NVB6aTY5eXhsM3R0RHlLMStiTmdXV3hlMWNiY2FIOEtF?=
 =?utf-8?B?NnIwVGZIYXdWTzUzZ3owVHVOVTNnSTdCMGljOWpsUjEyWkFNa0NBZ3RsZUt1?=
 =?utf-8?B?K0hWajdaYmRjcjdWZWd4SmtMajR3Rk03TUptMjRtVjc0aldPWHdvZXNUMnlW?=
 =?utf-8?B?aGpYOE1PM3BKdWVMQnRUdVkxam04eEdDVlMycThUbTVCV1doT283aGFiR1Nn?=
 =?utf-8?B?YlNRSDBRd1c3blUyeFQxbk1CVXFRTW4yaU5VVlI2SHpnbDBFUTZSNCt0THVL?=
 =?utf-8?B?Mys5eTZKM0FKWCtPYjcvZCtKck9BWVdxV3Roais3ekJlMWZVNmVwcFk2bGdG?=
 =?utf-8?B?L0xsbnJGZGIxaWhRM1BmUHk1UmNkVVNSOHdZV2xtcW9hRGJqYnZBRzJQSytn?=
 =?utf-8?B?cU1rNEpLclVmcklXVVZIWCtYVWpCeDd5c3hYUzhnWUFxNXN5Nk8vcm1kbU1K?=
 =?utf-8?B?UTFhRUd6T3FxVHJCai9XeWJpMWpRd3NLV3RWMng2cFRoWElaZXpPN3JkaE02?=
 =?utf-8?B?UDA5YWxLYTczRGtlMUpEOEFUc3VzVWRvU00wSHFGT3YrSDc2Y0FRdDJnT3FG?=
 =?utf-8?B?NFRMQ3d2emJDMjdPNDY2cjRHbEI1SWY1ZWh3WVU5UjZ6b1dnS28rWVU2SHY0?=
 =?utf-8?B?eTZNVlN3Vjc5Q3FMR2pYYXlOVTY2SzhSODNCWjdTUmQyM3ZKQUh0S2tEYXhN?=
 =?utf-8?B?NldWdWJQd2svaUpTZ2hOOTNoU21INUtmaTNSSlowelJkWEl0Sk5Ld1F0ZUdR?=
 =?utf-8?B?NjVMOXNPUE10ZUJHQUdpTzRXbEVoNUZyN2ZOdWV5OG5IbVAxR3oxZTh6NUVv?=
 =?utf-8?B?T2J0c3ZJVzdlL1FtakJSb0o0eTJheEdwWkN2MWI2QUxaQmFueXJZaWVxNUc4?=
 =?utf-8?Q?zN/m61?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY4PR03MB3382.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(8096899003)(38070700021)(7053199007);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?L0dNT0RTQ3VuWlp1emNTOVF5aGhjWGx5aDU5enBPbkdRVktHVUtlaFh2ZzMr?=
 =?utf-8?B?NkQ0aGlTTEhyOTJEclVpcnRRQXpQODYzb3JJNUptbFdiSjJDUXJFcnFnbzh5?=
 =?utf-8?B?c1Q2dnNMUW41aEN1TlRwenVZZmZsTnlkUC8vcEdac1I2Wi9yYnMrMWczcVRm?=
 =?utf-8?B?aE8xWFBXQkR3Z0dZbGRVWXJMS09sU01IRTlaOURnc0pmMTlQYmxscGlxWlA5?=
 =?utf-8?B?Wmltb1EwUENzNDRnMHZ3ZEgrR3Q3TzRVOXd0a1pYZ05DdW9rVzlveUVnMmYy?=
 =?utf-8?B?ZWZOR0VyRnBWOG85SFl5NHF2OWJQQUNzVTQ3ODR3Wk9Tank5Sk0xbG85blFP?=
 =?utf-8?B?R0NhWng4cHVMOTYwTXhMdjBmY05ibGNuZTJsYlRRRXpibk1Ja2NQamYrYUVn?=
 =?utf-8?B?cTlXZFBDdUVvNXU0SFdHOXkyOTdBTXZ2clRoakZZUmd1Z0hNTkFqRUkrQ2hZ?=
 =?utf-8?B?RkRIallmMGpMbk11N2ltTEhBY3N3Q3A4QndrUStPaFo0bmdjR0RnR3VIV0Fi?=
 =?utf-8?B?RlpXZjArYWFDNGhybnYwcVlOS1lyMWk5dUdJVUQvc1lLYUovSGM0NWswODhI?=
 =?utf-8?B?Mm1JY1hpQlI2MWs1Yys2Tys0L1k4Q2thNWc0UGpEbVhkc3NuL1ZkNzNicDdS?=
 =?utf-8?B?TitnZ0laRVJZSEVPNjBkdGtadzI4dmtBQzhJRkk4YU1FOHlad2ZocGtXbXBp?=
 =?utf-8?B?MU9KRm5FbTUrQkptL3VkNkZ4T2FpRDhYOHRDYnNtdUIwQjdGb0RYVlRpTjJT?=
 =?utf-8?B?MGIzM0FRL292eFJuNndVRGpUdnVLcGZyZkRxemluMDZRUTk1cDJpZnE2aXV5?=
 =?utf-8?B?UWJMK0xyNmtha3YrZ3NTaW9QOFZFUlk5Z3BROXNlLzd0MXFtSHNnMHJKOWcr?=
 =?utf-8?B?ZVVVQUlFR096cTJGZFJWQnhMSXlWZGFUc1UzMTNrVXNoUlYzZjlrcm5EMjI1?=
 =?utf-8?B?ajVBVWVSZWN4bjYyaGpuSG5hNEdwQW8ydGRTMEdES0UrTEFia0ZKMGdBU0JI?=
 =?utf-8?B?bjdOMFNzMExkamUyczdIUSs2N3hqSHFIM2crOUlqdzR4STJaQWhobFBnZWpv?=
 =?utf-8?B?UFJqZDNDNy9tRldFd3BBNmwrOE41Tm0zZnJtRU9pRURUaGZqR1JJWDEydHFq?=
 =?utf-8?B?RWp5NjJSbml5eFllS0FzQnBHcmdGQkRNQ2QxSXlHTTh3MForQjcrRzM2RVox?=
 =?utf-8?B?am5kNUViamJySGFDcnRXSGpaYW5nSXRCalNidEtsN3p4TzV2bEo1Z0xtUVVq?=
 =?utf-8?B?S2NFUXRHaWhFYk1WZGQ2UVhZYjBwWHoxazFnbzlTR25aZC9PTEt4Qm1leWIy?=
 =?utf-8?B?M3pnaWxBemtyeTY3MGRiSEI2OGxJcDR0cjN0VU5TS0JoNjB3Z3VlYjBySGU2?=
 =?utf-8?B?ZXQ0T1lLU0RKUVlHbGZGY3BhQTh1dHlYTzgzMmZXcTZMVnFxT2hDbElVUHRq?=
 =?utf-8?B?WlBQb3kxdlgyRms0Z2Jnb29rendQWnQzK1lxR3FmZ282WXY5UFEzbFJCUkpn?=
 =?utf-8?B?UzZDbHp2WkVpSlBmZW1qcHRQdjZRcWE4MlF5aW5DN1d2NzU5SmZnM2JWZVJs?=
 =?utf-8?B?UTdkTTd2OVlNaG1tNzR1VXRZWlJRQjRwUEdEaW0vMmtLUUxpa0N0WkQ1TlFm?=
 =?utf-8?B?R09Mbk9GYThVVTFpN1VWbG9hWDdlMWhQSzN3SU56OUJSa0FMN0RVdWNkWDZP?=
 =?utf-8?B?NW0vTnJEQ1BVVjlhSEFyc0ZScTJFQyt3SEphNzJkYTh1QnhMQ3pwZGY4cEpF?=
 =?utf-8?B?anlORlNhS3U0eEV5N0Y1bWpSWC9oK3lmek5ocXRaQVhnaFd6MjRvYTA2VVEx?=
 =?utf-8?B?REorbGZ0RHZENjUxMGQ5MEdpcHNsRkd1OTJ0Y3cvdnh2N1Uwc0l5NGtHNkFX?=
 =?utf-8?B?WlR6c3NNQzVqUVRxbkRvWEs0Q0pRbThoUVRnV1RuTk1YbEc0c0NNanJ6QXhJ?=
 =?utf-8?B?b212eWtnbnI0ajUvVUdSWE00cmwvd2ZJUGw3bllINCtuSGZxNG54SU9nYndC?=
 =?utf-8?B?cEk1MThDb1hKZ1lZQ3lteHpJVnlBVDZvVS9mY0RvTUJYQURrVkZhT04zeVZZ?=
 =?utf-8?B?WTBLRHNINzc5eUk0dFFxd0RaRVJQSkpUajNhL1NyNXBhZ05iRHljYkpaaFd0?=
 =?utf-8?Q?CMkn8fKcM4vWIGEAqOOhIvd0m?=
Content-Type: multipart/alternative;
	boundary="_000_CY4PR03MB3382F97265500A717D00D19284E7ACY4PR03MB3382namp_"
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: CY4PR03MB3382.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 68643f43-368a-4765-261d-08de01aece89
X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Oct 2025 12:25:43.3740
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: wqfXWM1NDTtQ7s1OHajELo0wnYfu0pa/agH3hi/i8LJYjO2P/SbXLMMFHx+mB+K3tQeQVpBtukmM5V6/pqg20km7ANgYQlGTQy+BW27qrXk=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB5161

--_000_CY4PR03MB3382F97265500A717D00D19284E7ACY4PR03MB3382namp_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

cGluZw0KDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KRnJvbTogRnJlZGlhbm8g
WmlnbGlvIDxmcmVkaWFuby56aWdsaW9AY2xvdWQuY29tPg0KU2VudDogMTUgQXVndXN0IDIwMjUg
MTE6MzMNClRvOiB4ZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcgPHhlbi1kZXZlbEBsaXN0
cy54ZW5wcm9qZWN0Lm9yZz4NCkNjOiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRy
aXguY29tPjsgQW50aG9ueSBQRVJBUkQgPGFudGhvbnkucGVyYXJkQHZhdGVzLnRlY2g+OyBNaWNo
YWwgT3J6ZWwgPG1pY2hhbC5vcnplbEBhbWQuY29tPjsgSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1
c2UuY29tPjsgSnVsaWVuIEdyYWxsIDxqdWxpZW5AeGVuLm9yZz47IFJvZ2VyIFBhdSBNb25uw6kg
PHJvZ2VyLnBhdUBjaXRyaXguY29tPjsgU3RlZmFubyBTdGFiZWxsaW5pIDxzc3RhYmVsbGluaUBr
ZXJuZWwub3JnPg0KU3ViamVjdDogUmU6IFtQQVRDSCB2Ml0geGVuOiBTdHJpcCB4ZW4uZWZpIGJ5
IGRlZmF1bHQNCg0KcGluZw0KDQpPbiBNb24sIEp1bCAyOCwgMjAyNSBhdCAxMTozNOKAr0FNIEZy
ZWRpYW5vIFppZ2xpbw0KPGZyZWRpYW5vLnppZ2xpb0BjbG91ZC5jb20+IHdyb3RlOg0KPg0KPiBw
aW5nDQo+DQo+IE9uIFdlZCwgSnVuIDI1LCAyMDI1IGF0IDEyOjQ54oCvUE0gRnJlZGlhbm8gWmln
bGlvDQo+IDxmcmVkaWFuby56aWdsaW9AY2xvdWQuY29tPiB3cm90ZToNCj4gPg0KPiA+IE9uIFRo
dSwgSnVuIDEyLCAyMDI1IGF0IDExOjA34oCvQU0gRnJlZGlhbm8gWmlnbGlvDQo+ID4gPGZyZWRp
YW5vLnppZ2xpb0BjbG91ZC5jb20+IHdyb3RlOg0KPiA+ID4NCj4gPiA+IEZvciB4ZW4uZ3ogZmls
ZSB3ZSBzdHJpcCBhbGwgc3ltYm9scyBhbmQgaGF2ZSBhbiBhZGRpdGlvbmFsDQo+ID4gPiB4ZW4t
c3ltcyBmaWxlIHZlcnNpb24gd2l0aCBhbGwgc3ltYm9scy4NCj4gPiA+IE1ha2UgeGVuLmVmaSBt
b3JlIGNvaGVyZW50IHN0cmlwcGluZyBhbGwgc3ltYm9scyB0b28uDQo+ID4gPiB4ZW4uZWZpLmVs
ZiBjYW4gYmUgdXNlZCBmb3IgZGVidWdnaW5nLg0KPiA+ID4NCj4gPiA+IFNpZ25lZC1vZmYtYnk6
IEZyZWRpYW5vIFppZ2xpbyA8ZnJlZGlhbm8uemlnbGlvQGNsb3VkLmNvbT4NCj4gPiA+IC0tLQ0K
PiA+ID4gQ2hhbmdlcyBzaW5jZSB2MToNCj4gPiA+IC0gYXZvaWQgbGVhdmluZyB0YXJnZXQgaWYg
c29tZSBjb21tYW5kIGZhaWxzDQo+ID4gPiAtLS0NCj4gPiA+ICBkb2NzL21pc2MvZWZpLnBhbmRv
YyAgfCAgOCArLS0tLS0tLQ0KPiA+ID4gIHhlbi9LY29uZmlnLmRlYnVnICAgICB8ICA5ICsrLS0t
LS0tLQ0KPiA+ID4gIHhlbi9NYWtlZmlsZSAgICAgICAgICB8IDE5IC0tLS0tLS0tLS0tLS0tLS0t
LS0NCj4gPiA+ICB4ZW4vYXJjaC94ODYvTWFrZWZpbGUgfCAgOCArKysrKy0tLQ0KPiA+ID4gIDQg
ZmlsZXMgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCAzNiBkZWxldGlvbnMoLSkNCj4gPiA+DQo+
ID4gPiBkaWZmIC0tZ2l0IGEvZG9jcy9taXNjL2VmaS5wYW5kb2MgYi9kb2NzL21pc2MvZWZpLnBh
bmRvYw0KPiA+ID4gaW5kZXggMTFjMWFjMzM0Ni4uYzY2YjE4YTY2YiAxMDA2NDQNCj4gPiA+IC0t
LSBhL2RvY3MvbWlzYy9lZmkucGFuZG9jDQo+ID4gPiArKysgYi9kb2NzL21pc2MvZWZpLnBhbmRv
Yw0KPiA+ID4gQEAgLTIwLDEzICsyMCw3IEBAIFhlbiB0byBsb2FkIHRoZSBjb25maWd1cmF0aW9u
IGZpbGUgZXZlbiBpZiBtdWx0aWJvb3QgbW9kdWxlcyBhcmUgZm91bmQuDQo+ID4gPiAgT25jZSBi
dWlsdCwgYG1ha2UgaW5zdGFsbC14ZW5gIHdpbGwgcGxhY2UgdGhlIHJlc3VsdGluZyBiaW5hcnkg
ZGlyZWN0bHkgaW50bw0KPiA+ID4gIHRoZSBFRkkgYm9vdCBwYXJ0aXRpb24sIHByb3ZpZGVkIGBF
RklfVkVORE9SYCBpcyBzZXQgaW4gdGhlIGVudmlyb25tZW50IChhbmQNCj4gPiA+ICBgRUZJX01P
VU5UUE9JTlRgIGlzIG92ZXJyaWRkZW4gYXMgbmVlZGVkLCBzaG91bGQgdGhlIGRlZmF1bHQgb2Yg
YC9ib290L2VmaWAgbm90DQo+ID4gPiAtbWF0Y2ggeW91ciBzeXN0ZW0pLiBXaGVuIGJ1aWx0IHdp
dGggZGVidWcgaW5mbywgdGhlIGJpbmFyeSBjYW4gYmUgcXVpdGUgbGFyZ2UuDQo+ID4gPiAtU2V0
dGluZyBgSU5TVEFMTF9FRklfU1RSSVA9MWAgaW4gdGhlIGVudmlyb25tZW50IHdpbGwgY2F1c2Ug
aXQgdG8gYmUgc3RyaXBwZWQNCj4gPiA+IC1vZiBkZWJ1ZyBpbmZvIGluIHRoZSBwcm9jZXNzIG9m
IGluc3RhbGxpbmcuIGBJTlNUQUxMX0VGSV9TVFJJUGAgY2FuIGFsc28gYmUgc2V0DQo+ID4gPiAt
dG8gYW55IGNvbWJpbmF0aW9uIG9mIG9wdGlvbnMgc3VpdGFibGUgdG8gcGFzcyB0byBgc3RyaXBg
LCBpbiBjYXNlIHRoZSBkZWZhdWx0DQo+ID4gPiAtb25lcyBkb24ndCBkby4gVGhlIHhlbi5lZmkg
YmluYXJ5IHdpbGwgYWxzbyBiZSBpbnN0YWxsZWQgaW4gYC91c3IvbGliNjQvZWZpL2AsDQo+ID4g
PiAtdW5sZXNzIGBFRklfRElSYCBpcyBzZXQgaW4gdGhlIGVudmlyb25tZW50IHRvIG92ZXJyaWRl
IHRoaXMgZGVmYXVsdC4gVGhpcw0KPiA+ID4gLWJpbmFyeSB3aWxsIG5vdCBiZSBzdHJpcHBlZCBp
biB0aGUgcHJvY2Vzcy4NCj4gPiA+ICttYXRjaCB5b3VyIHN5c3RlbSkuDQo+ID4gPg0KPiA+ID4g
IFRoZSBiaW5hcnkgaXRzZWxmIHdpbGwgcmVxdWlyZSBhIGNvbmZpZ3VyYXRpb24gZmlsZSAobmFt
ZXMgd2l0aCB0aGUgYC5lZmlgDQo+ID4gPiAgZXh0ZW5zaW9uIG9mIHRoZSBiaW5hcnkncyBuYW1l
IHJlcGxhY2VkIGJ5IGAuY2ZnYCwgYW5kIC0gdW50aWwgYW4gZXhpc3RpbmcNCj4gPiA+IGRpZmYg
LS1naXQgYS94ZW4vS2NvbmZpZy5kZWJ1ZyBiL3hlbi9LY29uZmlnLmRlYnVnDQo+ID4gPiBpbmRl
eCBkMTQwOTMwMTdlLi5jYWZiYjEyMzZjIDEwMDY0NA0KPiA+ID4gLS0tIGEveGVuL0tjb25maWcu
ZGVidWcNCj4gPiA+ICsrKyBiL3hlbi9LY29uZmlnLmRlYnVnDQo+ID4gPiBAQCAtMTQ3LDEyICsx
NDcsNyBAQCBjb25maWcgREVCVUdfSU5GTw0KPiA+ID4gICAgICAgICAgIFNheSBZIGhlcmUgaWYg
eW91IHdhbnQgdG8gYnVpbGQgWGVuIHdpdGggZGVidWcgaW5mb3JtYXRpb24uIFRoaXMNCj4gPiA+
ICAgICAgICAgICBpbmZvcm1hdGlvbiBpcyBuZWVkZWQgZS5nLiBmb3IgZG9pbmcgY3Jhc2ggZHVt
cCBhbmFseXNpcyBvZiB0aGUNCj4gPiA+ICAgICAgICAgICBoeXBlcnZpc29yIHZpYSB0aGUgImNy
YXNoIiB0b29sLg0KPiA+ID4gLSAgICAgICAgIFNheWluZyBZIHdpbGwgaW5jcmVhc2UgdGhlIHNp
emUgb2YgdGhlIHhlbi1zeW1zIGFuZCB4ZW4uZWZpDQo+ID4gPiAtICAgICAgICAgYmluYXJpZXMu
IEluIGNhc2UgdGhlIHNwYWNlIG9uIHRoZSBFRkkgYm9vdCBwYXJ0aXRpb24gaXMgcmF0aGVyDQo+
ID4gPiAtICAgICAgICAgbGltaXRlZCwgeW91IG1heSB3YW50IHRvIGluc3RhbGwgYSBzdHJpcHBl
ZCB2YXJpYW50IG9mIHhlbi5lZmkgaW4NCj4gPiA+IC0gICAgICAgICB0aGUgRUZJIGJvb3QgcGFy
dGl0aW9uIChsb29rIGZvciAiSU5TVEFMTF9FRklfU1RSSVAiIGluDQo+ID4gPiAtICAgICAgICAg
ZG9jcy9taXNjL2VmaS5wYW5kb2MgZm9yIG1vcmUgaW5mb3JtYXRpb24gLSB3aGVuIG5vdCB1c2lu
Zw0KPiA+ID4gLSAgICAgICAgICJtYWtlIGluc3RhbGwteGVuIiBmb3IgaW5zdGFsbGluZyB4ZW4u
ZWZpLCBzdHJpcHBpbmcgbmVlZHMgdG8gYmUNCj4gPiA+IC0gICAgICAgICBkb25lIG91dHNpZGUg
dGhlIFhlbiBidWlsZCBlbnZpcm9ubWVudCkuDQo+ID4gPiArICAgICAgICAgU2F5aW5nIFkgd2ls
bCBpbmNyZWFzZSB0aGUgc2l6ZSBvZiB0aGUgeGVuLXN5bXMgYW5kIHhlbi5lZmkuZWxmDQo+ID4g
PiArICAgICAgICAgYmluYXJpZXMuDQo+ID4gPg0KPiA+ID4gIGVuZG1lbnUNCj4gPiA+IGRpZmYg
LS1naXQgYS94ZW4vTWFrZWZpbGUgYi94ZW4vTWFrZWZpbGUNCj4gPiA+IGluZGV4IDhmYzRlMDQy
ZmYuLjY2NGM0ZWE3YjggMTAwNjQ0DQo+ID4gPiAtLS0gYS94ZW4vTWFrZWZpbGUNCj4gPiA+ICsr
KyBiL3hlbi9NYWtlZmlsZQ0KPiA+ID4gQEAgLTQ4OCwyMiArNDg4LDYgQEAgZW5kaWYNCj4gPiA+
ICAuUEhPTlk6IF9idWlsZA0KPiA+ID4gIF9idWlsZDogJChUQVJHRVQpJChDT05GSUdfWEVOX0lO
U1RBTExfU1VGRklYKQ0KPiA+ID4NCj4gPiA+IC0jIFN0cmlwDQo+ID4gPiAtIw0KPiA+ID4gLSMg
SU5TVEFMTF9FRklfU1RSSVAsIGlmIGRlZmluZWQsIHdpbGwgY2F1c2UgeGVuLmVmaSB0byBiZSBz
dHJpcHBlZCBiZWZvcmUgaXQNCj4gPiA+IC0jIGlzIGluc3RhbGxlZC4gSWYgSU5TVEFMTF9FRklf
U1RSSVAgaXMgJzEnLCB0aGVuIHRoZSBkZWZhdWx0IG9wdGlvbihzKSBiZWxvdw0KPiA+ID4gLSMg
d2lsbCBiZSB1c2VkLiBPdGhlcndpc2UsIElOU1RBTExfRUZJX1NUUklQIHZhbHVlIHdpbGwgYmUg
dXNlZCBhcyB0aGUNCj4gPiA+IC0jIG9wdGlvbihzKSB0byB0aGUgc3RyaXAgY29tbWFuZC4NCj4g
PiA+IC1pZmRlZiBJTlNUQUxMX0VGSV9TVFJJUA0KPiA+ID4gLQ0KPiA+ID4gLWlmZXEgKCQoSU5T
VEFMTF9FRklfU1RSSVApLDEpDQo+ID4gPiAtZWZpLXN0cmlwLW9wdCA6PSAtLXN0cmlwLWRlYnVn
IC0ta2VlcC1maWxlLXN5bWJvbHMNCj4gPiA+IC1lbHNlDQo+ID4gPiAtZWZpLXN0cmlwLW9wdCA6
PSAkKElOU1RBTExfRUZJX1NUUklQKQ0KPiA+ID4gLWVuZGlmDQo+ID4gPiAtDQo+ID4gPiAtZW5k
aWYNCj4gPiA+IC0NCj4gPiA+ICAuUEhPTlk6IF9pbnN0YWxsDQo+ID4gPiAgX2luc3RhbGw6IEQ9
JChERVNURElSKQ0KPiA+ID4gIF9pbnN0YWxsOiBUPSQobm90ZGlyICQoVEFSR0VUKSkNCj4gPiA+
IEBAIC01MzAsOSArNTE0LDYgQEAgX2luc3RhbGw6ICQoVEFSR0VUKSQoQ09ORklHX1hFTl9JTlNU
QUxMX1NVRkZJWCkNCj4gPiA+ICAgICAgICAgICAgICAgICBsbiAtc2YgJChUKS0kKFhFTl9GVUxM
VkVSU0lPTikuZWZpICQoRCkkKEVGSV9ESVIpLyQoVCktJChYRU5fVkVSU0lPTikuZWZpOyBcDQo+
ID4gPiAgICAgICAgICAgICAgICAgbG4gLXNmICQoVCktJChYRU5fRlVMTFZFUlNJT04pLmVmaSAk
KEQpJChFRklfRElSKS8kKFQpLmVmaTsgXA0KPiA+ID4gICAgICAgICAgICAgICAgIGlmIFsgLW4g
JyQoRUZJX01PVU5UUE9JTlQpJyAtYSAtbiAnJChFRklfVkVORE9SKScgXTsgdGhlbiBcDQo+ID4g
PiAtICAgICAgICAgICAgICAgICAgICAgICAkKGlmICQoZWZpLXN0cmlwLW9wdCksIFwNCj4gPiA+
IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJChTVFJJUCkgJChlZmktc3RyaXAtb3B0KSAt
cCAtbyAkKFRBUkdFVCkuZWZpLnN0cmlwcGVkICQoVEFSR0VUKS5lZmkgJiYgXA0KPiA+ID4gLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAkKElOU1RBTExfREFUQSkgJChUQVJHRVQpLmVmaS5z
dHJpcHBlZCAkKEQpJChFRklfTU9VTlRQT0lOVCkvZWZpLyQoRUZJX1ZFTkRPUikvJChUKS0kKFhF
Tl9GVUxMVkVSU0lPTikuZWZpIHx8KSBcDQo+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAk
KElOU1RBTExfREFUQSkgJChUQVJHRVQpLmVmaSAkKEQpJChFRklfTU9VTlRQT0lOVCkvZWZpLyQo
RUZJX1ZFTkRPUikvJChUKS0kKFhFTl9GVUxMVkVSU0lPTikuZWZpOyBcDQo+ID4gPiAgICAgICAg
ICAgICAgICAgZWxpZiBbICIkKEQpIiA9ICIkKHBhdHN1YnN0ICQoc2hlbGwgY2QgJChYRU5fUk9P
VCkgJiYgcHdkKS8lLCUsJChEKSkiIF07IHRoZW4gXA0KPiA+ID4gICAgICAgICAgICAgICAgICAg
ICAgICAgZWNobyAnRUZJIGluc3RhbGxhdGlvbiBvbmx5IHBhcnRpYWxseSBkb25lIChFRklfVkVO
RE9SIG5vdCBzZXQpJyA+JjI7IFwNCj4gPiA+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvTWFr
ZWZpbGUgYi94ZW4vYXJjaC94ODYvTWFrZWZpbGUNCj4gPiA+IGluZGV4IGNlNzI0YTlkYWEuLmUw
ZWJjOGM3M2UgMTAwNjQ0DQo+ID4gPiAtLS0gYS94ZW4vYXJjaC94ODYvTWFrZWZpbGUNCj4gPiA+
ICsrKyBiL3hlbi9hcmNoL3g4Ni9NYWtlZmlsZQ0KPiA+ID4gQEAgLTIzMiwxNCArMjMyLDE2IEBA
IGVuZGlmDQo+ID4gPiAgICAgICAgICQoTUFLRSkgJChidWlsZCk9JChARCkgLiQoQEYpLjFyLm8g
LiQoQEYpLjFzLm8NCj4gPiA+ICAgICAgICAgJChMRCkgJChjYWxsIEVGSV9MREZMQUdTLCQoVklS
VF9CQVNFKSkgLVQgJChvYmopL2VmaS5sZHMgJDwgXA0KPiA+ID4gICAgICAgICAgICAgICAkKGRv
dC10YXJnZXQpLjFyLm8gJChkb3QtdGFyZ2V0KS4xcy5vICQob3JwaGFuLWhhbmRsaW5nLXkpIFwN
Cj4gPiA+IC0gICAgICAgICAgICAgJChub3RlX2ZpbGVfb3B0aW9uKSAtbyAkQA0KPiA+ID4gLSAg
ICAgICAkKE5NKSAtcGEgLS1mb3JtYXQ9c3lzdiAkQCBcDQo+ID4gPiArICAgICAgICAgICAgICQo
bm90ZV9maWxlX29wdGlvbikgLW8gJEAudG1wDQo+ID4gPiArICAgICAgICQoTk0pIC1wYSAtLWZv
cm1hdD1zeXN2ICRALnRtcCBcDQo+ID4gPiAgICAgICAgICAgICAgICAgfCAkKG9ianRyZWUpL3Rv
b2xzL3N5bWJvbHMgLS1hbGwtc3ltYm9scyAtLXhlbnN5bXMgLS1zeXN2IC0tc29ydCBcDQo+ID4g
PiAgICAgICAgICAgICAgICAgPiAkQC5tYXANCj4gPiA+ICBpZmVxICgkKENPTkZJR19ERUJVR19J
TkZPKSx5KQ0KPiA+ID4gLSAgICAgICAkKGlmICQoZmlsdGVyIC0tc3RyaXAtZGVidWcsJChFRklf
TERGTEFHUykpLDokKHNwYWNlKSkkKE9CSkNPUFkpIC1PIGVsZjY0LXg4Ni02NCAkQCAkQC5lbGYN
Cj4gPiA+ICsgICAgICAgJChpZiAkKGZpbHRlciAtLXN0cmlwLWRlYnVnLCQoRUZJX0xERkxBR1Mp
KSw6JChzcGFjZSkpJChPQkpDT1BZKSAtTyBlbGY2NC14ODYtNjQgJEAudG1wICRALmVsZg0KPiA+
ID4gKyAgICAgICAkKGlmICQoZmlsdGVyIC0tc3RyaXAtZGVidWcsJChFRklfTERGTEFHUykpLDok
KHNwYWNlKSkkKFNUUklQKSAkQC50bXANCj4gPiA+ICBlbmRpZg0KPiA+ID4gICAgICAgICBybSAt
ZiAkKGRvdC10YXJnZXQpLlswLTldKiAkKEBEKS8uLiQoQEYpLlswLTldKg0KPiA+ID4gKyAgICAg
ICBtdiAtZiAkQC50bXAgJEANCj4gPiA+ICBpZmVxICgkKENPTkZJR19YRU5fSUJUKSx5KQ0KPiA+
ID4gICAgICAgICAkKFNIRUxMKSAkKHNyY3RyZWUpL3Rvb2xzL2NoZWNrLWVuZGJyLnNoICRADQo+
ID4gPiAgZW5kaWYNCj4gPg0KPiA+IEFueSBjb21tZW50cyBvbiB0aGlzIHZlcnNpb24/DQo+ID4N
Cj4gPiBGcmVkaWFubw0K

--_000_CY4PR03MB3382F97265500A717D00D19284E7ACY4PR03MB3382namp_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWw+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i
dGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyIgc3R5bGU9
ImRpc3BsYXk6bm9uZTsiPiBQIHttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowO30gPC9zdHls
ZT4NCjwvaGVhZD4NCjxib2R5IGRpcj0ibHRyIj4NCjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBB
cHRvcywgQXB0b3NfRW1iZWRkZWRGb250LCBBcHRvc19NU0ZvbnRTZXJ2aWNlLCBDYWxpYnJpLCBI
ZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTJwdDsgY29sb3I6IHJnYigwLCAwLCAw
KTsiIGNsYXNzPSJlbGVtZW50VG9Qcm9vZiI+DQpwaW5nPC9kaXY+DQo8ZGl2IGlkPSJhcHBlbmRv
bnNlbmQiPjwvZGl2Pg0KPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFwdG9zLCBBcHRvc19FbWJl
ZGRlZEZvbnQsIEFwdG9zX01TRm9udFNlcnZpY2UsIENhbGlicmksIEhlbHZldGljYSwgc2Fucy1z
ZXJpZjsgZm9udC1zaXplOiAxMnB0OyBjb2xvcjogcmdiKDAsIDAsIDApOyIgY2xhc3M9ImVsZW1l
bnRUb1Byb29mIj4NCjxicj4NCjwvZGl2Pg0KPGhyIHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxv
Y2s7IHdpZHRoOiA5OCU7Ij4NCjxkaXYgaWQ9ImRpdlJwbHlGd2RNc2ciPg0KPGRpdiBzdHlsZT0i
ZGlyZWN0aW9uOiBsdHI7IGZvbnQtZmFtaWx5OiBDYWxpYnJpLCBzYW5zLXNlcmlmOyBmb250LXNp
emU6IDExcHQ7IGNvbG9yOiByZ2IoMCwgMCwgMCk7Ij4NCjxiPkZyb206PC9iPiZuYnNwO0ZyZWRp
YW5vIFppZ2xpbyAmbHQ7ZnJlZGlhbm8uemlnbGlvQGNsb3VkLmNvbSZndDs8YnI+DQo8Yj5TZW50
OjwvYj4mbmJzcDsxNSBBdWd1c3QgMjAyNSAxMTozMzxicj4NCjxiPlRvOjwvYj4mbmJzcDt4ZW4t
ZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcgJmx0O3hlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0
Lm9yZyZndDs8YnI+DQo8Yj5DYzo8L2I+Jm5ic3A7QW5kcmV3IENvb3BlciAmbHQ7YW5kcmV3LmNv
b3BlcjNAY2l0cml4LmNvbSZndDs7IEFudGhvbnkgUEVSQVJEICZsdDthbnRob255LnBlcmFyZEB2
YXRlcy50ZWNoJmd0OzsgTWljaGFsIE9yemVsICZsdDttaWNoYWwub3J6ZWxAYW1kLmNvbSZndDs7
IEphbiBCZXVsaWNoICZsdDtqYmV1bGljaEBzdXNlLmNvbSZndDs7IEp1bGllbiBHcmFsbCAmbHQ7
anVsaWVuQHhlbi5vcmcmZ3Q7OyBSb2dlciBQYXUgTW9ubsOpICZsdDtyb2dlci5wYXVAY2l0cml4
LmNvbSZndDs7IFN0ZWZhbm8gU3RhYmVsbGluaQ0KICZsdDtzc3RhYmVsbGluaUBrZXJuZWwub3Jn
Jmd0Ozxicj4NCjxiPlN1YmplY3Q6PC9iPiZuYnNwO1JlOiBbUEFUQ0ggdjJdIHhlbjogU3RyaXAg
eGVuLmVmaSBieSBkZWZhdWx0PC9kaXY+DQo8ZGl2IHN0eWxlPSJkaXJlY3Rpb246IGx0cjsiPiZu
YnNwOzwvZGl2Pg0KPC9kaXY+DQo8ZGl2IHN0eWxlPSJmb250LXNpemU6IDExcHQ7Ij5waW5nPGJy
Pg0KPGJyPg0KT24gTW9uLCBKdWwgMjgsIDIwMjUgYXQgMTE6MzTigK9BTSBGcmVkaWFubyBaaWds
aW88YnI+DQombHQ7ZnJlZGlhbm8uemlnbGlvQGNsb3VkLmNvbSZndDsgd3JvdGU6PGJyPg0KJmd0
Ozxicj4NCiZndDsgcGluZzxicj4NCiZndDs8YnI+DQomZ3Q7IE9uIFdlZCwgSnVuIDI1LCAyMDI1
IGF0IDEyOjQ54oCvUE0gRnJlZGlhbm8gWmlnbGlvPGJyPg0KJmd0OyAmbHQ7ZnJlZGlhbm8uemln
bGlvQGNsb3VkLmNvbSZndDsgd3JvdGU6PGJyPg0KJmd0OyAmZ3Q7PGJyPg0KJmd0OyAmZ3Q7IE9u
IFRodSwgSnVuIDEyLCAyMDI1IGF0IDExOjA34oCvQU0gRnJlZGlhbm8gWmlnbGlvPGJyPg0KJmd0
OyAmZ3Q7ICZsdDtmcmVkaWFuby56aWdsaW9AY2xvdWQuY29tJmd0OyB3cm90ZTo8YnI+DQomZ3Q7
ICZndDsgJmd0Ozxicj4NCiZndDsgJmd0OyAmZ3Q7IEZvciB4ZW4uZ3ogZmlsZSB3ZSBzdHJpcCBh
bGwgc3ltYm9scyBhbmQgaGF2ZSBhbiBhZGRpdGlvbmFsPGJyPg0KJmd0OyAmZ3Q7ICZndDsgeGVu
LXN5bXMgZmlsZSB2ZXJzaW9uIHdpdGggYWxsIHN5bWJvbHMuPGJyPg0KJmd0OyAmZ3Q7ICZndDsg
TWFrZSB4ZW4uZWZpIG1vcmUgY29oZXJlbnQgc3RyaXBwaW5nIGFsbCBzeW1ib2xzIHRvby48YnI+
DQomZ3Q7ICZndDsgJmd0OyB4ZW4uZWZpLmVsZiBjYW4gYmUgdXNlZCBmb3IgZGVidWdnaW5nLjxi
cj4NCiZndDsgJmd0OyAmZ3Q7PGJyPg0KJmd0OyAmZ3Q7ICZndDsgU2lnbmVkLW9mZi1ieTogRnJl
ZGlhbm8gWmlnbGlvICZsdDtmcmVkaWFuby56aWdsaW9AY2xvdWQuY29tJmd0Ozxicj4NCiZndDsg
Jmd0OyAmZ3Q7IC0tLTxicj4NCiZndDsgJmd0OyAmZ3Q7IENoYW5nZXMgc2luY2UgdjE6PGJyPg0K
Jmd0OyAmZ3Q7ICZndDsgLSBhdm9pZCBsZWF2aW5nIHRhcmdldCBpZiBzb21lIGNvbW1hbmQgZmFp
bHM8YnI+DQomZ3Q7ICZndDsgJmd0OyAtLS08YnI+DQomZ3Q7ICZndDsgJmd0OyZuYnNwOyBkb2Nz
L21pc2MvZWZpLnBhbmRvYyZuYnNwOyB8Jm5ic3A7IDggKy0tLS0tLS08YnI+DQomZ3Q7ICZndDsg
Jmd0OyZuYnNwOyB4ZW4vS2NvbmZpZy5kZWJ1ZyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB8Jm5i
c3A7IDkgKystLS0tLS0tPGJyPg0KJmd0OyAmZ3Q7ICZndDsmbmJzcDsgeGVuL01ha2VmaWxlJm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHwgMTkg
LS0tLS0tLS0tLS0tLS0tLS0tLTxicj4NCiZndDsgJmd0OyAmZ3Q7Jm5ic3A7IHhlbi9hcmNoL3g4
Ni9NYWtlZmlsZSB8Jm5ic3A7IDggKysrKystLS08YnI+DQomZ3Q7ICZndDsgJmd0OyZuYnNwOyA0
IGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgMzYgZGVsZXRpb25zKC0pPGJyPg0KJmd0
OyAmZ3Q7ICZndDs8YnI+DQomZ3Q7ICZndDsgJmd0OyBkaWZmIC0tZ2l0IGEvZG9jcy9taXNjL2Vm
aS5wYW5kb2MgYi9kb2NzL21pc2MvZWZpLnBhbmRvYzxicj4NCiZndDsgJmd0OyAmZ3Q7IGluZGV4
IDExYzFhYzMzNDYuLmM2NmIxOGE2NmIgMTAwNjQ0PGJyPg0KJmd0OyAmZ3Q7ICZndDsgLS0tIGEv
ZG9jcy9taXNjL2VmaS5wYW5kb2M8YnI+DQomZ3Q7ICZndDsgJmd0OyArKysgYi9kb2NzL21pc2Mv
ZWZpLnBhbmRvYzxicj4NCiZndDsgJmd0OyAmZ3Q7IEBAIC0yMCwxMyArMjAsNyBAQCBYZW4gdG8g
bG9hZCB0aGUgY29uZmlndXJhdGlvbiBmaWxlIGV2ZW4gaWYgbXVsdGlib290IG1vZHVsZXMgYXJl
IGZvdW5kLjxicj4NCiZndDsgJmd0OyAmZ3Q7Jm5ic3A7IE9uY2UgYnVpbHQsIGBtYWtlIGluc3Rh
bGwteGVuYCB3aWxsIHBsYWNlIHRoZSByZXN1bHRpbmcgYmluYXJ5IGRpcmVjdGx5IGludG88YnI+
DQomZ3Q7ICZndDsgJmd0OyZuYnNwOyB0aGUgRUZJIGJvb3QgcGFydGl0aW9uLCBwcm92aWRlZCBg
RUZJX1ZFTkRPUmAgaXMgc2V0IGluIHRoZSBlbnZpcm9ubWVudCAoYW5kPGJyPg0KJmd0OyAmZ3Q7
ICZndDsmbmJzcDsgYEVGSV9NT1VOVFBPSU5UYCBpcyBvdmVycmlkZGVuIGFzIG5lZWRlZCwgc2hv
dWxkIHRoZSBkZWZhdWx0IG9mIGAvYm9vdC9lZmlgIG5vdDxicj4NCiZndDsgJmd0OyAmZ3Q7IC1t
YXRjaCB5b3VyIHN5c3RlbSkuIFdoZW4gYnVpbHQgd2l0aCBkZWJ1ZyBpbmZvLCB0aGUgYmluYXJ5
IGNhbiBiZSBxdWl0ZSBsYXJnZS48YnI+DQomZ3Q7ICZndDsgJmd0OyAtU2V0dGluZyBgSU5TVEFM
TF9FRklfU1RSSVA9MWAgaW4gdGhlIGVudmlyb25tZW50IHdpbGwgY2F1c2UgaXQgdG8gYmUgc3Ry
aXBwZWQ8YnI+DQomZ3Q7ICZndDsgJmd0OyAtb2YgZGVidWcgaW5mbyBpbiB0aGUgcHJvY2VzcyBv
ZiBpbnN0YWxsaW5nLiBgSU5TVEFMTF9FRklfU1RSSVBgIGNhbiBhbHNvIGJlIHNldDxicj4NCiZn
dDsgJmd0OyAmZ3Q7IC10byBhbnkgY29tYmluYXRpb24gb2Ygb3B0aW9ucyBzdWl0YWJsZSB0byBw
YXNzIHRvIGBzdHJpcGAsIGluIGNhc2UgdGhlIGRlZmF1bHQ8YnI+DQomZ3Q7ICZndDsgJmd0OyAt
b25lcyBkb24ndCBkby4gVGhlIHhlbi5lZmkgYmluYXJ5IHdpbGwgYWxzbyBiZSBpbnN0YWxsZWQg
aW4gYC91c3IvbGliNjQvZWZpL2AsPGJyPg0KJmd0OyAmZ3Q7ICZndDsgLXVubGVzcyBgRUZJX0RJ
UmAgaXMgc2V0IGluIHRoZSBlbnZpcm9ubWVudCB0byBvdmVycmlkZSB0aGlzIGRlZmF1bHQuIFRo
aXM8YnI+DQomZ3Q7ICZndDsgJmd0OyAtYmluYXJ5IHdpbGwgbm90IGJlIHN0cmlwcGVkIGluIHRo
ZSBwcm9jZXNzLjxicj4NCiZndDsgJmd0OyAmZ3Q7ICttYXRjaCB5b3VyIHN5c3RlbSkuPGJyPg0K
Jmd0OyAmZ3Q7ICZndDs8YnI+DQomZ3Q7ICZndDsgJmd0OyZuYnNwOyBUaGUgYmluYXJ5IGl0c2Vs
ZiB3aWxsIHJlcXVpcmUgYSBjb25maWd1cmF0aW9uIGZpbGUgKG5hbWVzIHdpdGggdGhlIGAuZWZp
YDxicj4NCiZndDsgJmd0OyAmZ3Q7Jm5ic3A7IGV4dGVuc2lvbiBvZiB0aGUgYmluYXJ5J3MgbmFt
ZSByZXBsYWNlZCBieSBgLmNmZ2AsIGFuZCAtIHVudGlsIGFuIGV4aXN0aW5nPGJyPg0KJmd0OyAm
Z3Q7ICZndDsgZGlmZiAtLWdpdCBhL3hlbi9LY29uZmlnLmRlYnVnIGIveGVuL0tjb25maWcuZGVi
dWc8YnI+DQomZ3Q7ICZndDsgJmd0OyBpbmRleCBkMTQwOTMwMTdlLi5jYWZiYjEyMzZjIDEwMDY0
NDxicj4NCiZndDsgJmd0OyAmZ3Q7IC0tLSBhL3hlbi9LY29uZmlnLmRlYnVnPGJyPg0KJmd0OyAm
Z3Q7ICZndDsgKysrIGIveGVuL0tjb25maWcuZGVidWc8YnI+DQomZ3Q7ICZndDsgJmd0OyBAQCAt
MTQ3LDEyICsxNDcsNyBAQCBjb25maWcgREVCVUdfSU5GTzxicj4NCiZndDsgJmd0OyAmZ3Q7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
IFNheSBZIGhlcmUgaWYgeW91IHdhbnQgdG8gYnVpbGQgWGVuIHdpdGggZGVidWcgaW5mb3JtYXRp
b24uIFRoaXM8YnI+DQomZ3Q7ICZndDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBpbmZvcm1hdGlvbiBpcyBuZWVkZWQgZS5n
LiBmb3IgZG9pbmcgY3Jhc2ggZHVtcCBhbmFseXNpcyBvZiB0aGU8YnI+DQomZ3Q7ICZndDsgJmd0
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyBoeXBlcnZpc29yIHZpYSB0aGUgJnF1b3Q7Y3Jhc2gmcXVvdDsgdG9vbC48YnI+DQomZ3Q7
ICZndDsgJmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7IFNheWluZyBZIHdpbGwgaW5jcmVhc2UgdGhlIHNpemUgb2YgdGhlIHhlbi1zeW1zIGFuZCB4
ZW4uZWZpPGJyPg0KJmd0OyAmZ3Q7ICZndDsgLSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyBiaW5hcmllcy4gSW4gY2FzZSB0aGUgc3BhY2Ugb24gdGhlIEVG
SSBib290IHBhcnRpdGlvbiBpcyByYXRoZXI8YnI+DQomZ3Q7ICZndDsgJmd0OyAtJm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGxpbWl0ZWQsIHlvdSBtYXkg
d2FudCB0byBpbnN0YWxsIGEgc3RyaXBwZWQgdmFyaWFudCBvZiB4ZW4uZWZpIGluPGJyPg0KJmd0
OyAmZ3Q7ICZndDsgLSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyB0aGUgRUZJIGJvb3QgcGFydGl0aW9uIChsb29rIGZvciAmcXVvdDtJTlNUQUxMX0VGSV9T
VFJJUCZxdW90OyBpbjxicj4NCiZndDsgJmd0OyAmZ3Q7IC0mbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgZG9jcy9taXNjL2VmaS5wYW5kb2MgZm9yIG1vcmUg
aW5mb3JtYXRpb24gLSB3aGVuIG5vdCB1c2luZzxicj4NCiZndDsgJmd0OyAmZ3Q7IC0mbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJnF1b3Q7bWFrZSBpbnN0
YWxsLXhlbiZxdW90OyBmb3IgaW5zdGFsbGluZyB4ZW4uZWZpLCBzdHJpcHBpbmcgbmVlZHMgdG8g
YmU8YnI+DQomZ3Q7ICZndDsgJmd0OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7IGRvbmUgb3V0c2lkZSB0aGUgWGVuIGJ1aWxkIGVudmlyb25tZW50KS48
YnI+DQomZ3Q7ICZndDsgJmd0OyArJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7IFNheWluZyBZIHdpbGwgaW5jcmVhc2UgdGhlIHNpemUgb2YgdGhlIHhlbi1z
eW1zIGFuZCB4ZW4uZWZpLmVsZjxicj4NCiZndDsgJmd0OyAmZ3Q7ICsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgYmluYXJpZXMuPGJyPg0KJmd0OyAmZ3Q7
ICZndDs8YnI+DQomZ3Q7ICZndDsgJmd0OyZuYnNwOyBlbmRtZW51PGJyPg0KJmd0OyAmZ3Q7ICZn
dDsgZGlmZiAtLWdpdCBhL3hlbi9NYWtlZmlsZSBiL3hlbi9NYWtlZmlsZTxicj4NCiZndDsgJmd0
OyAmZ3Q7IGluZGV4IDhmYzRlMDQyZmYuLjY2NGM0ZWE3YjggMTAwNjQ0PGJyPg0KJmd0OyAmZ3Q7
ICZndDsgLS0tIGEveGVuL01ha2VmaWxlPGJyPg0KJmd0OyAmZ3Q7ICZndDsgKysrIGIveGVuL01h
a2VmaWxlPGJyPg0KJmd0OyAmZ3Q7ICZndDsgQEAgLTQ4OCwyMiArNDg4LDYgQEAgZW5kaWY8YnI+
DQomZ3Q7ICZndDsgJmd0OyZuYnNwOyAuUEhPTlk6IF9idWlsZDxicj4NCiZndDsgJmd0OyAmZ3Q7
Jm5ic3A7IF9idWlsZDogJChUQVJHRVQpJChDT05GSUdfWEVOX0lOU1RBTExfU1VGRklYKTxicj4N
CiZndDsgJmd0OyAmZ3Q7PGJyPg0KJmd0OyAmZ3Q7ICZndDsgLSMgU3RyaXA8YnI+DQomZ3Q7ICZn
dDsgJmd0OyAtIzxicj4NCiZndDsgJmd0OyAmZ3Q7IC0jIElOU1RBTExfRUZJX1NUUklQLCBpZiBk
ZWZpbmVkLCB3aWxsIGNhdXNlIHhlbi5lZmkgdG8gYmUgc3RyaXBwZWQgYmVmb3JlIGl0PGJyPg0K
Jmd0OyAmZ3Q7ICZndDsgLSMgaXMgaW5zdGFsbGVkLiBJZiBJTlNUQUxMX0VGSV9TVFJJUCBpcyAn
MScsIHRoZW4gdGhlIGRlZmF1bHQgb3B0aW9uKHMpIGJlbG93PGJyPg0KJmd0OyAmZ3Q7ICZndDsg
LSMgd2lsbCBiZSB1c2VkLiBPdGhlcndpc2UsIElOU1RBTExfRUZJX1NUUklQIHZhbHVlIHdpbGwg
YmUgdXNlZCBhcyB0aGU8YnI+DQomZ3Q7ICZndDsgJmd0OyAtIyBvcHRpb24ocykgdG8gdGhlIHN0
cmlwIGNvbW1hbmQuPGJyPg0KJmd0OyAmZ3Q7ICZndDsgLWlmZGVmIElOU1RBTExfRUZJX1NUUklQ
PGJyPg0KJmd0OyAmZ3Q7ICZndDsgLTxicj4NCiZndDsgJmd0OyAmZ3Q7IC1pZmVxICgkKElOU1RB
TExfRUZJX1NUUklQKSwxKTxicj4NCiZndDsgJmd0OyAmZ3Q7IC1lZmktc3RyaXAtb3B0IDo9IC0t
c3RyaXAtZGVidWcgLS1rZWVwLWZpbGUtc3ltYm9sczxicj4NCiZndDsgJmd0OyAmZ3Q7IC1lbHNl
PGJyPg0KJmd0OyAmZ3Q7ICZndDsgLWVmaS1zdHJpcC1vcHQgOj0gJChJTlNUQUxMX0VGSV9TVFJJ
UCk8YnI+DQomZ3Q7ICZndDsgJmd0OyAtZW5kaWY8YnI+DQomZ3Q7ICZndDsgJmd0OyAtPGJyPg0K
Jmd0OyAmZ3Q7ICZndDsgLWVuZGlmPGJyPg0KJmd0OyAmZ3Q7ICZndDsgLTxicj4NCiZndDsgJmd0
OyAmZ3Q7Jm5ic3A7IC5QSE9OWTogX2luc3RhbGw8YnI+DQomZ3Q7ICZndDsgJmd0OyZuYnNwOyBf
aW5zdGFsbDogRD0kKERFU1RESVIpPGJyPg0KJmd0OyAmZ3Q7ICZndDsmbmJzcDsgX2luc3RhbGw6
IFQ9JChub3RkaXIgJChUQVJHRVQpKTxicj4NCiZndDsgJmd0OyAmZ3Q7IEBAIC01MzAsOSArNTE0
LDYgQEAgX2luc3RhbGw6ICQoVEFSR0VUKSQoQ09ORklHX1hFTl9JTlNUQUxMX1NVRkZJWCk8YnI+
DQomZ3Q7ICZndDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBs
biAtc2YgJChUKS0kKFhFTl9GVUxMVkVSU0lPTikuZWZpICQoRCkkKEVGSV9ESVIpLyQoVCktJChY
RU5fVkVSU0lPTikuZWZpOyBcPGJyPg0KJmd0OyAmZ3Q7ICZndDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsgbG4gLXNmICQoVCktJChYRU5fRlVMTFZFUlNJT04pLmVmaSAk
KEQpJChFRklfRElSKS8kKFQpLmVmaTsgXDxicj4NCiZndDsgJmd0OyAmZ3Q7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGlmIFsgLW4gJyQoRUZJX01PVU5UUE9JTlQpJyAt
YSAtbiAnJChFRklfVkVORE9SKScgXTsgdGhlbiBcPGJyPg0KJmd0OyAmZ3Q7ICZndDsgLSZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyAkKGlmICQoZWZpLXN0cmlwLW9wdCksIFw8YnI+DQomZ3Q7ICZndDsgJmd0
OyAtJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICQoU1RS
SVApICQoZWZpLXN0cmlwLW9wdCkgLXAgLW8gJChUQVJHRVQpLmVmaS5zdHJpcHBlZCAkKFRBUkdF
VCkuZWZpICZhbXA7JmFtcDsgXDxicj4NCiZndDsgJmd0OyAmZ3Q7IC0mbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJChJTlNUQUxMX0RBVEEpICQoVEFSR0VU
KS5lZmkuc3RyaXBwZWQgJChEKSQoRUZJX01PVU5UUE9JTlQpL2VmaS8kKEVGSV9WRU5ET1IpLyQo
VCktJChYRU5fRlVMTFZFUlNJT04pLmVmaSB8fCkgXDxicj4NCiZndDsgJmd0OyAmZ3Q7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICQoSU5TVEFMTF9EQVRBKSAkKFRBUkdFVCkuZWZpICQo
RCkkKEVGSV9NT1VOVFBPSU5UKS9lZmkvJChFRklfVkVORE9SKS8kKFQpLSQoWEVOX0ZVTExWRVJT
SU9OKS5lZmk7IFw8YnI+DQomZ3Q7ICZndDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyBlbGlmIFsgJnF1b3Q7JChEKSZxdW90OyA9ICZxdW90OyQocGF0c3Vic3Qg
JChzaGVsbCBjZCAkKFhFTl9ST09UKSAmYW1wOyZhbXA7IHB3ZCkvJSwlLCQoRCkpJnF1b3Q7IF07
IHRoZW4gXDxicj4NCiZndDsgJmd0OyAmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
IGVjaG8gJ0VGSSBpbnN0YWxsYXRpb24gb25seSBwYXJ0aWFsbHkgZG9uZSAoRUZJX1ZFTkRPUiBu
b3Qgc2V0KScgJmd0OyZhbXA7MjsgXDxicj4NCiZndDsgJmd0OyAmZ3Q7IGRpZmYgLS1naXQgYS94
ZW4vYXJjaC94ODYvTWFrZWZpbGUgYi94ZW4vYXJjaC94ODYvTWFrZWZpbGU8YnI+DQomZ3Q7ICZn
dDsgJmd0OyBpbmRleCBjZTcyNGE5ZGFhLi5lMGViYzhjNzNlIDEwMDY0NDxicj4NCiZndDsgJmd0
OyAmZ3Q7IC0tLSBhL3hlbi9hcmNoL3g4Ni9NYWtlZmlsZTxicj4NCiZndDsgJmd0OyAmZ3Q7ICsr
KyBiL3hlbi9hcmNoL3g4Ni9NYWtlZmlsZTxicj4NCiZndDsgJmd0OyAmZ3Q7IEBAIC0yMzIsMTQg
KzIzMiwxNiBAQCBlbmRpZjxicj4NCiZndDsgJmd0OyAmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICQoTUFLRSkgJChidWlsZCk9JChARCkgLiQoQEYp
LjFyLm8gLiQoQEYpLjFzLm88YnI+DQomZ3Q7ICZndDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAkKExEKSAkKGNhbGwgRUZJX0xERkxBR1MsJChW
SVJUX0JBU0UpKSAtVCAkKG9iaikvZWZpLmxkcyAkJmx0OyBcPGJyPg0KJmd0OyAmZ3Q7ICZndDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJChkb3QtdGFyZ2V0KS4xci5vICQoZG90LXRhcmdl
dCkuMXMubyAkKG9ycGhhbi1oYW5kbGluZy15KSBcPGJyPg0KJmd0OyAmZ3Q7ICZndDsgLSZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyAkKG5vdGVfZmlsZV9vcHRpb24pIC1vICRAPGJyPg0KJmd0OyAmZ3Q7ICZndDsg
LSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAkKE5NKSAtcGEgLS1mb3JtYXQ9
c3lzdiAkQCBcPGJyPg0KJmd0OyAmZ3Q7ICZndDsgKyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAkKG5vdGVfZmls
ZV9vcHRpb24pIC1vICRALnRtcDxicj4NCiZndDsgJmd0OyAmZ3Q7ICsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsgJChOTSkgLXBhIC0tZm9ybWF0PXN5c3YgJEAudG1wIFw8YnI+
DQomZ3Q7ICZndDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB8
ICQob2JqdHJlZSkvdG9vbHMvc3ltYm9scyAtLWFsbC1zeW1ib2xzIC0teGVuc3ltcyAtLXN5c3Yg
LS1zb3J0IFw8YnI+DQomZ3Q7ICZndDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyAmZ3Q7ICRALm1hcDxicj4NCiZndDsgJmd0OyAmZ3Q7Jm5ic3A7IGlmZXEgKCQo
Q09ORklHX0RFQlVHX0lORk8pLHkpPGJyPg0KJmd0OyAmZ3Q7ICZndDsgLSZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAkKGlmICQoZmlsdGVyIC0tc3RyaXAtZGVidWcsJChFRklf
TERGTEFHUykpLDokKHNwYWNlKSkkKE9CSkNPUFkpIC1PIGVsZjY0LXg4Ni02NCAkQCAkQC5lbGY8
YnI+DQomZ3Q7ICZndDsgJmd0OyArJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
ICQoaWYgJChmaWx0ZXIgLS1zdHJpcC1kZWJ1ZywkKEVGSV9MREZMQUdTKSksOiQoc3BhY2UpKSQo
T0JKQ09QWSkgLU8gZWxmNjQteDg2LTY0ICRALnRtcCAkQC5lbGY8YnI+DQomZ3Q7ICZndDsgJmd0
OyArJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICQoaWYgJChmaWx0ZXIgLS1z
dHJpcC1kZWJ1ZywkKEVGSV9MREZMQUdTKSksOiQoc3BhY2UpKSQoU1RSSVApICRALnRtcDxicj4N
CiZndDsgJmd0OyAmZ3Q7Jm5ic3A7IGVuZGlmPGJyPg0KJmd0OyAmZ3Q7ICZndDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgcm0gLWYgJChkb3QtdGFyZ2V0
KS5bMC05XSogJChARCkvLi4kKEBGKS5bMC05XSo8YnI+DQomZ3Q7ICZndDsgJmd0OyArJm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IG12IC1mICRALnRtcCAkQDxicj4NCiZndDsg
Jmd0OyAmZ3Q7Jm5ic3A7IGlmZXEgKCQoQ09ORklHX1hFTl9JQlQpLHkpPGJyPg0KJmd0OyAmZ3Q7
ICZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJChT
SEVMTCkgJChzcmN0cmVlKS90b29scy9jaGVjay1lbmRici5zaCAkQDxicj4NCiZndDsgJmd0OyAm
Z3Q7Jm5ic3A7IGVuZGlmPGJyPg0KJmd0OyAmZ3Q7PGJyPg0KJmd0OyAmZ3Q7IEFueSBjb21tZW50
cyBvbiB0aGlzIHZlcnNpb24/PGJyPg0KJmd0OyAmZ3Q7PGJyPg0KJmd0OyAmZ3Q7IEZyZWRpYW5v
PC9kaXY+DQo8L2JvZHk+DQo8L2h0bWw+DQo=

--_000_CY4PR03MB3382F97265500A717D00D19284E7ACY4PR03MB3382namp_--


From xen-devel-bounces@lists.xenproject.org Thu Oct 02 12:43:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Oct 2025 12:43:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1135796.1472758 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4Ien-0006FH-K3; Thu, 02 Oct 2025 12:43:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1135796.1472758; Thu, 02 Oct 2025 12:43:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4Ien-0006FA-Gy; Thu, 02 Oct 2025 12:43:37 +0000
Received: by outflank-mailman (input) for mailman id 1135796;
 Thu, 02 Oct 2025 12:43:36 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1v4Iem-0006F0-EN
 for xen-devel@lists.xenproject.org; Thu, 02 Oct 2025 12:43:36 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <julien@xen.org>) id 1v4Iem-0053df-06;
 Thu, 02 Oct 2025 12:43:36 +0000
Received: from [2a00:23ee:18a8:687f:8046:1b4f:134:a4e3]
 by xenbits.xenproject.org with esmtpsa (TLS1.3) tls
 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96)
 (envelope-from <julien@xen.org>) id 1v4Iel-00CGL6-2T;
 Thu, 02 Oct 2025 12:43:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=1SC3STYZSGN0qmvhFGzFvBhbR+nOzOnvgunMcZ95gtA=; b=Li0ENJKVlbwfTtM4/Afu5cTYLV
	dp1WCiTV7IqGB6Usju2xang5kCIgQu2/uz/kgRjdWcSUnq4CQjvolpjWQejnx2yvzPxhJSHW2Hxn/
	s6JR2AXtW7GXERhKfUSJ22X0TuRv1rQNLniRWNA9hi7ru7QRCSxNL0Y5KGI8wUB1qDLs=;
Message-ID: <e091f7d3-14f3-40d1-a943-4758a52db71b@xen.org>
Date: Thu, 2 Oct 2025 13:43:32 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/arm: XEN_DOMCTL_get_address_size hypercall support
Content-Language: en-GB
To: Milan Djokic <milan_djokic@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <39511522aae7dab5766ef2ebfed1d13abec8610e.1759324344.git.milan_djokic@epam.com>
 <bf042eea-ed2d-431e-b1f0-7be0c09194ef@citrix.com>
 <f3e662d1-7626-49f3-a673-e3cfd8d7944d@epam.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <f3e662d1-7626-49f3-a673-e3cfd8d7944d@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 02/10/2025 12:10, Milan Djokic wrote:
> Hello Andrew,
> 
> On 10/2/25 12:10, Andrew Cooper wrote:
>> On 01/10/2025 9:01 pm, Milan Djokic wrote:
>>> Signed-off-by: Milan Djokic <milan_djokic@epam.com>
>>>
>>> ---
>>> XEN_DOMCTL_get_address_size hypercall is not implemented for arm 
>>> (only for x86)
>>> It would be useful to have this hypercall supported for arm64, in 
>>> order to get
>>> current guest addressing mode and also to verify that 
>>> XEN_DOMCTL_set_address_size
>>> performs switch to target addressing mode (instead of relying on its 
>>> returned error code only).
>>
>> Please don't copy this misfeature of x86 PV guests into ARM.
>>
>> Letting domains be of variable bitness after domain create leads to a
>> whole lot of bugs, many security relevant.
>>
>> 32bit vs 64bit should be an input to domain_create(), not something that
>> is edited after the domain has been constructed.
>>
> 
> Yes, the idea behind this patch is not to introduce variable bitness, 
> just to have the ability to get current addressing mode through 
> hypercall. In our case, we have used it only in domain creation path 
> (after domain_create(), to verify that target addressing mode is set).
> Of course, whether this hypercall support would be useful in mainline is 
> open for discussion.

We already have a series under review [1] that follow what Andrew is 
suggesting. I would rather focus on getting it committed rather than 
trying to workaround it.

> 
>>> diff --git a/xen/arch/arm/arm64/domctl.c b/xen/arch/arm/arm64/domctl.c
>>> index 8720d126c9..f227309e06 100644
>>> --- a/xen/arch/arm/arm64/domctl.c
>>> +++ b/xen/arch/arm/arm64/domctl.c
>>> @@ -33,6 +34,37 @@ static long switch_mode(struct domain *d, enum 
>>> domain_type type)
>>> Â Â Â Â Â  return 0;
>>> Â  }
>>> +static long get_address_size(struct domain *d, uint32_t *address_size)
>>> +{
>>> +Â Â Â  long rc = 0;
>>> +Â Â Â  struct vcpu *v;
>>> +Â Â Â  /* Check invalid arguments */
>>> +Â Â Â  if ( d == NULL || address_size == NULL) {
>>> +Â Â Â Â Â Â Â  rc = -EINVAL;
>>> +Â Â Â  }
>>> +Â Â Â  /* Domain structure type field and actual vcpu mode must be 
>>> aligned */
>>> +Â Â Â  if(rc == 0) {
>>> +Â Â Â Â Â Â Â  for_each_vcpu(d, v) {
>>> +Â Â Â Â Â Â Â Â Â Â Â  if(vcpu_get_mode(v) != d->arch.type) {
>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  rc = -EFAULT;
>>> +Â Â Â Â Â Â Â Â Â Â Â  }
>>> +Â Â Â Â Â Â Â  }
>>
>> This is deeply suspicious.
>>
>> Under what circumstances can the vCPU setting be different from the
>> domain setting?
>>
> 
> It should never happen, this is more of a sanity check. Alternative 
> would be to use only one of vCPU or domain settings, checking against 
> both seemed more complete to me.

This would be a logical error in Xen rather than something that could be 
triggered by the toolstack. I feel it could mislead people using release 
build because the fault is not due to the input provided.

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Thu Oct 02 13:06:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Oct 2025 13:06:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1135809.1472768 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4J0V-0001cu-9l; Thu, 02 Oct 2025 13:06:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1135809.1472768; Thu, 02 Oct 2025 13:06:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4J0V-0001cl-6T; Thu, 02 Oct 2025 13:06:03 +0000
Received: by outflank-mailman (input) for mailman id 1135809;
 Thu, 02 Oct 2025 13:06:02 +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
 <SRS0=wm6k=4L=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v4J0T-0001cb-TZ
 for xen-devel@lists.xenproject.org; Thu, 02 Oct 2025 13:06:01 +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 8a59bd42-9f90-11f0-9809-7dc792cee155;
 Thu, 02 Oct 2025 15:05:59 +0200 (CEST)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-46e34bd8eb2so10844695e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 02 Oct 2025 06:05:59 -0700 (PDT)
Received: from [192.168.1.183] (host-92-22-57-86.as13285.net. [92.22.57.86])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-46e61a020a3sm82773015e9.10.2025.10.02.06.05.57
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 02 Oct 2025 06:05:58 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8a59bd42-9f90-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1759410359; x=1760015159; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=mLZZEW+Ff1qW+AzwoujXqGEDMyNnelIs1ptfLVcvf/g=;
        b=puGsp/FB343xbKJQswWJo4UWYstDs63a03J4eI4PLY6py7mWqHrJDp+LkP30erps1M
         gjve/HQC2Ck0YfxacHAY6UKtrYkFbAcVwvzLLhb7iUWagBU5N7u9E0exN0eocAvlfrbp
         dwFfa2DELVB/uwZYZquLhtDOM90y7p13mzl8E=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759410359; x=1760015159;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=mLZZEW+Ff1qW+AzwoujXqGEDMyNnelIs1ptfLVcvf/g=;
        b=A5lJsxLis84/QmaxQleWq6IQBaQjo1wURWDDRrzTc8wUX7RUATyauQw2m+veZRumyD
         2+iGgR5F0i7xB8a+pR8p4DwN1sAMTdC3jA4bkyuZS/867yPC3gv/yy7f3f7NKys2H8FG
         yAjHPcSIZoRRFxzJR6zc/sQu0dD84IiiZjkEPrLnJl5c8shbiLsX8YbhuaxdgP0Uchqj
         riZ7S6jaTRXMYeLGlQ1Ok5sje1YNg8gTOeuBhTDFZ3E+WgP6Gb71BAaxlC0Htd8DCymH
         nG9P881kYPR6fKXCaWhz+c/bMuhhViqgz5J9GNCTIX7R/JMU+8RLf5/tilfEV/rpgBeH
         NZfg==
X-Forwarded-Encrypted: i=1; AJvYcCUvDOtCyC7r8VyOvPC8/zlPu2JTgCbqFDrcAVO55L1Gx+AAlLgNDB8yr/6xKb1kPKcSIJZzCdjOg5c=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzqRp3DS8ovEf5lxH8XGMLYHwCKaMWDYDomiO0/cjRxELiMX4hX
	og3MK258BZfuV5fpegC4yAahvaLlY0DXyNpfOg9DZ8kG3yGsE87NFHHWd9CqfP/h4+8=
X-Gm-Gg: ASbGncsBy7FdxWgUwAQFiu5Mu4c6ONJuf5wA9jcKUsh5u74Y36PI1vPmeYsqUDXMvYu
	5cwUg5Kw48CrXe8e35DUauOJflyiRHCHrOxp1CbiCq7zMH3peNveQ+q3sxFVKxsjbLYRF05E2F9
	T8ZKtHLTWAMffAqGrwGji40Y08jfSd1w2VZYj+TyWqFttQeRsKDYHeUJy7Rw/p+cyrReu8mqgX3
	/gjL2R13U7ugTB6/2Uw96LpLgBYXf6bP39Hgwc+2HSl/vEdgRNNKKkhxb1eJhuMc8r4yOgE4dPj
	MYOrg1r2ubYji4vwBOT388Bt8IDPpN9Ovuhc/OjpojeAdSCNLROJzuMZsNc0kgpsSV30fwfgtcR
	ntj+j8id04PB+l4VYH6MDHNhmaMdlZ1psLkSYfBqwJkTQ/Ae6oWb0EUMqwcR8I8sESUHsre32od
	McQMdyjn5q8ru86I4QVmSByzM=
X-Google-Smtp-Source: AGHT+IHkpdGMKHCF6ril8pisjjFye6P/DC5hIOB4rqobrIdwI3ZP214AbjhtDeK6IVIw+Kg52iv/xg==
X-Received: by 2002:a05:600d:41eb:b0:46e:45d3:82fa with SMTP id 5b1f17b1804b1-46e6127a2c9mr62639345e9.10.1759410358727;
        Thu, 02 Oct 2025 06:05:58 -0700 (PDT)
Message-ID: <586a66e5-4b11-485e-955a-da5fc3183737@citrix.com>
Date: Thu, 2 Oct 2025 14:05:56 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] xen: Strip xen.efi by default
To: Frediano Ziglio <frediano.ziglio@cloud.com>,
 xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>,
 Daniel Smith <dpsmith@apertussolutions.com>,
 "michal.zygowski@3mdeb.com" <michal.zygowski@3mdeb.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <20250612100705.21988-1-frediano.ziglio@cloud.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20250612100705.21988-1-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 12/06/2025 11:07 am, Frediano Ziglio wrote:
> For xen.gz file we strip all symbols and have an additional
> xen-syms file version with all symbols.
> Make xen.efi more coherent stripping all symbols too.
> xen.efi.elf can be used for debugging.
>
> Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
> ---
> Changes since v1:
> - avoid leaving target if some command fails

CC-ing the EFI maintainers, as this is an EFI change.

At the recent QubesOS hackathon, MichaÅ‚ Å»ygowski (3mdeb) found that
stripping Xen was the difference between the system booting and not.

With debugging symbols, xen.efi was ~32M and is placed above the 4G
boundary by the EFI loader, hitting Xen's sanity check that it's below 4G.

Xen does still have a requirement to live below the 4G boundary.Â  At a
minimum, idle_pg_table needs to be addressable with a 32bit %cr3, but I
bet that isn't the only restriction we have.

So, either we find a way of telling the EFI loader (using PE+ headers
only) that we require to be below 4G (I have no idea if this is
possible), or we strip xen.efi by default.

I don't think making Xen.efi safe to operate above the 4G boundary is a
viable option at this point.

As Xen's defaults are broken on modern systems, this is also a bugfix
candidate for 4.21, so CC Oleksii.

~Andrew

(Retaining full patch for those CC'd into the thread)

> ---
>  docs/misc/efi.pandoc  |  8 +-------
>  xen/Kconfig.debug     |  9 ++-------
>  xen/Makefile          | 19 -------------------
>  xen/arch/x86/Makefile |  8 +++++---
>  4 files changed, 8 insertions(+), 36 deletions(-)
>
> diff --git a/docs/misc/efi.pandoc b/docs/misc/efi.pandoc
> index 11c1ac3346..c66b18a66b 100644
> --- a/docs/misc/efi.pandoc
> +++ b/docs/misc/efi.pandoc
> @@ -20,13 +20,7 @@ Xen to load the configuration file even if multiboot modules are found.
>  Once built, `make install-xen` will place the resulting binary directly into
>  the EFI boot partition, provided `EFI_VENDOR` is set in the environment (and
>  `EFI_MOUNTPOINT` is overridden as needed, should the default of `/boot/efi` not
> -match your system). When built with debug info, the binary can be quite large.
> -Setting `INSTALL_EFI_STRIP=1` in the environment will cause it to be stripped
> -of debug info in the process of installing. `INSTALL_EFI_STRIP` can also be set
> -to any combination of options suitable to pass to `strip`, in case the default
> -ones don't do. The xen.efi binary will also be installed in `/usr/lib64/efi/`,
> -unless `EFI_DIR` is set in the environment to override this default. This
> -binary will not be stripped in the process.
> +match your system).
>  
>  The binary itself will require a configuration file (names with the `.efi`
>  extension of the binary's name replaced by `.cfg`, and - until an existing
> diff --git a/xen/Kconfig.debug b/xen/Kconfig.debug
> index d14093017e..cafbb1236c 100644
> --- a/xen/Kconfig.debug
> +++ b/xen/Kconfig.debug
> @@ -147,12 +147,7 @@ config DEBUG_INFO
>  	  Say Y here if you want to build Xen with debug information. This
>  	  information is needed e.g. for doing crash dump analysis of the
>  	  hypervisor via the "crash" tool.
> -	  Saying Y will increase the size of the xen-syms and xen.efi
> -	  binaries. In case the space on the EFI boot partition is rather
> -	  limited, you may want to install a stripped variant of xen.efi in
> -	  the EFI boot partition (look for "INSTALL_EFI_STRIP" in
> -	  docs/misc/efi.pandoc for more information - when not using
> -	  "make install-xen" for installing xen.efi, stripping needs to be
> -	  done outside the Xen build environment).
> +	  Saying Y will increase the size of the xen-syms and xen.efi.elf
> +	  binaries.
>  
>  endmenu
> diff --git a/xen/Makefile b/xen/Makefile
> index 8fc4e042ff..664c4ea7b8 100644
> --- a/xen/Makefile
> +++ b/xen/Makefile
> @@ -488,22 +488,6 @@ endif
>  .PHONY: _build
>  _build: $(TARGET)$(CONFIG_XEN_INSTALL_SUFFIX)
>  
> -# Strip
> -#
> -# INSTALL_EFI_STRIP, if defined, will cause xen.efi to be stripped before it
> -# is installed. If INSTALL_EFI_STRIP is '1', then the default option(s) below
> -# will be used. Otherwise, INSTALL_EFI_STRIP value will be used as the
> -# option(s) to the strip command.
> -ifdef INSTALL_EFI_STRIP
> -
> -ifeq ($(INSTALL_EFI_STRIP),1)
> -efi-strip-opt := --strip-debug --keep-file-symbols
> -else
> -efi-strip-opt := $(INSTALL_EFI_STRIP)
> -endif
> -
> -endif
> -
>  .PHONY: _install
>  _install: D=$(DESTDIR)
>  _install: T=$(notdir $(TARGET))
> @@ -530,9 +514,6 @@ _install: $(TARGET)$(CONFIG_XEN_INSTALL_SUFFIX)
>  		ln -sf $(T)-$(XEN_FULLVERSION).efi $(D)$(EFI_DIR)/$(T)-$(XEN_VERSION).efi; \
>  		ln -sf $(T)-$(XEN_FULLVERSION).efi $(D)$(EFI_DIR)/$(T).efi; \
>  		if [ -n '$(EFI_MOUNTPOINT)' -a -n '$(EFI_VENDOR)' ]; then \
> -			$(if $(efi-strip-opt), \
> -			     $(STRIP) $(efi-strip-opt) -p -o $(TARGET).efi.stripped $(TARGET).efi && \
> -			     $(INSTALL_DATA) $(TARGET).efi.stripped $(D)$(EFI_MOUNTPOINT)/efi/$(EFI_VENDOR)/$(T)-$(XEN_FULLVERSION).efi ||) \
>  			$(INSTALL_DATA) $(TARGET).efi $(D)$(EFI_MOUNTPOINT)/efi/$(EFI_VENDOR)/$(T)-$(XEN_FULLVERSION).efi; \
>  		elif [ "$(D)" = "$(patsubst $(shell cd $(XEN_ROOT) && pwd)/%,%,$(D))" ]; then \
>  			echo 'EFI installation only partially done (EFI_VENDOR not set)' >&2; \
> diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
> index ce724a9daa..e0ebc8c73e 100644
> --- a/xen/arch/x86/Makefile
> +++ b/xen/arch/x86/Makefile
> @@ -232,14 +232,16 @@ endif
>  	$(MAKE) $(build)=$(@D) .$(@F).1r.o .$(@F).1s.o
>  	$(LD) $(call EFI_LDFLAGS,$(VIRT_BASE)) -T $(obj)/efi.lds $< \
>  	      $(dot-target).1r.o $(dot-target).1s.o $(orphan-handling-y) \
> -	      $(note_file_option) -o $@
> -	$(NM) -pa --format=sysv $@ \
> +	      $(note_file_option) -o $@.tmp
> +	$(NM) -pa --format=sysv $@.tmp \
>  		| $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort \
>  		> $@.map
>  ifeq ($(CONFIG_DEBUG_INFO),y)
> -	$(if $(filter --strip-debug,$(EFI_LDFLAGS)),:$(space))$(OBJCOPY) -O elf64-x86-64 $@ $@.elf
> +	$(if $(filter --strip-debug,$(EFI_LDFLAGS)),:$(space))$(OBJCOPY) -O elf64-x86-64 $@.tmp $@.elf
> +	$(if $(filter --strip-debug,$(EFI_LDFLAGS)),:$(space))$(STRIP) $@.tmp
>  endif
>  	rm -f $(dot-target).[0-9]* $(@D)/..$(@F).[0-9]*
> +	mv -f $@.tmp $@
>  ifeq ($(CONFIG_XEN_IBT),y)
>  	$(SHELL) $(srctree)/tools/check-endbr.sh $@
>  endif



From xen-devel-bounces@lists.xenproject.org Thu Oct 02 13:38:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Oct 2025 13:38:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1135838.1472777 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4JVn-0006IT-Hk; Thu, 02 Oct 2025 13:38:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1135838.1472777; Thu, 02 Oct 2025 13:38:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4JVn-0006IM-En; Thu, 02 Oct 2025 13:38:23 +0000
Received: by outflank-mailman (input) for mailman id 1135838;
 Thu, 02 Oct 2025 13:38:23 +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
 <SRS0=ddTC=4L=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v4JVn-0006IG-0I
 for xen-devel@lists.xenproject.org; Thu, 02 Oct 2025 13:38:23 +0000
Received: from CY3PR05CU001.outbound.protection.outlook.com
 (mail-westcentralusazlp170130007.outbound.protection.outlook.com
 [2a01:111:f403:c112::7])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0ce73239-9f95-11f0-9809-7dc792cee155;
 Thu, 02 Oct 2025 15:38:17 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by BLAPR03MB5412.namprd03.prod.outlook.com (2603:10b6:208:291::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.15; Thu, 2 Oct
 2025 13:38:09 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9182.015; Thu, 2 Oct 2025
 13:38:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0ce73239-9f95-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=dCSUfAwmTJked4XawSaOlECqlJdGJx9Z2rPm8jwPa3IxjayHrph1phN+GqdLp/qTOYC49Pzk1tQvLEDGVHKMtwIt/TpF2tPWCq5qEJRk64sL2RZq+1GkjxIaDme3MROmJrrmWx1+gB/sBJuYyoR5nC41TkCOHv4bnSXW5o9GPIpUfnH2sVU21haRPofNW1OR+Tr1sXYzl6K2b0tqJ+m/hBdDjGTHSOargA56Ndsd4KNnteEmATL29lZjKacDO/QJ8u6l2SqZe+4+PTKZhOejbPYswx0CKxN5S1JgaeJhHeWRS41KUBy+n+jffcmaz5CMvwBc0BGX/7WTGUCnYQbPRA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tN4LzuwdATMPQ4tZr8o7m/22nFdC8D8qv2XbUiMaZjA=;
 b=Q7ElG/VZMr6yt++yPfXI93qoim/82UGp3kwSeCpgN1RY8GNdhG5+qLgajuYqfLv3SuLUK5xf0/iYuc8MryUNdnE8CT6BYeaSab7WjJ5eHhByi+a5BrOAw1HcehYX4u/pqjufFzjnCoCFPLHSBRvbC/4hsPZHYnYfPf70Ssh9iM1HjktgmYAvbx8Qv3MbYLKHohrPn4NQKFEMSNrSH6IbSzmyeAze2ipgh9Wcs9GSq9Y5prWz2ZMmogP0eeg5b+tDmcsihLmzRNPmMr3bLxdYn5NfVSHvIpykaTBowwZKNbcq1V0Mo96q22i471ofXV/HgcT+lTI5p35ctPDxqJ2q1g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tN4LzuwdATMPQ4tZr8o7m/22nFdC8D8qv2XbUiMaZjA=;
 b=FC0mwvAPNgEv/rRefl2rme6y1eNTglFpdVNfoC8x8ekfeAtO01c4vef4ERq6hl20BKRXjsy0ylw4jtJa6Njaa/MdIsnrQp7dA9MSc8/YnaC1ZLrOKIIPcr4P/QCumuB47X8j8d8S3KQ525PbAM+iGTFTKKrb12ZEkfTTK7CpSPo=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 2 Oct 2025 15:38:05 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.21] x86/hvm: fix reading from 0xe9 IO port if port
 E9 hack is active
Message-ID: <aN6APR-CUc9xRjfM@Mac.lan>
References: <20251002102200.15548-1-roger.pau@citrix.com>
 <1b4bcb40-d62b-47b5-847f-b6e16906f52e@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <1b4bcb40-d62b-47b5-847f-b6e16906f52e@citrix.com>
X-ClientProxiedBy: MA2P292CA0018.ESPP292.PROD.OUTLOOK.COM (2603:10a6:250::8)
 To CH2PR03MB5223.namprd03.prod.outlook.com (2603:10b6:610:9c::21)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|BLAPR03MB5412:EE_
X-MS-Office365-Filtering-Correlation-Id: f6909c22-f300-4bd3-a8e4-08de01b8ecaa
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?T1MxL3JLTEtlNnVVRzdmaEljSWt1a09td3grUm84TURyTlNuU0VoVjNuVDBT?=
 =?utf-8?B?YzQ3NUZROFp5cjAwc2Rsa3pzZ0Z4bVdYa1JxS2tiYVVsZUtKQTRmOGR1RDRy?=
 =?utf-8?B?WmMranVqYWJjRlhEWXRpNnR5Nk45UWU2WmVCV0tuWHdBTHRRUXRlYm1HY2d2?=
 =?utf-8?B?dDBXVVYybkVRcFpJbmZ0WkE1Znl5a1lkdFRHVEgzZEZXRUdEK2dnVFpCVEVl?=
 =?utf-8?B?ZC9janU4NmVQMUxjaFczNHFOYy9uNktjY2NkdlIzb2VLTGJxNTFRVGMyRlBn?=
 =?utf-8?B?eVJ4TWQ0YUxLdDBVbHBoR1d4TExrOGliMXQ0NU5KYmk1cHh0K0pPRGtxaDAv?=
 =?utf-8?B?OXFTNWxFQzhkU01lZlB6QVpLMjhWcmw4OUlDWjhlY2NiRlQxbmpmcFJCSVRV?=
 =?utf-8?B?N1VaallUZjFvek1rVjhCcDhGcmNOVG1sS1B4QnlzTUVyVXVtUFQ5dmZ1cG9S?=
 =?utf-8?B?dUFubUIzeDN4bjBmb0tiOUc1Z3VrTjRGYTFRSzFkRlZkVkZHSGQwMFh6aito?=
 =?utf-8?B?TVhCV2NVNVlKckFZRGMzNHAzdFJVSko2Slg0NkpVS1FxT3BIRUs5bWZ3eVZt?=
 =?utf-8?B?OUg1ODFxMEg3elJSRDNKK2dDY0UvZjR1SXdMQUpjbmVNVXJLUytvTjQ5QnVu?=
 =?utf-8?B?T1NiNktiSDRTbzRPcFBrSTczL1B3bHplUjZDK3lYSkJsS3hsczY4NVpsVHVy?=
 =?utf-8?B?NGwzS3FUNHBlWDQ5a3JBZ2F0L0VCTTJHRXZkbVlwcEdrR2thYTVZakt2Y1Vo?=
 =?utf-8?B?ZTh1czJ0NnQvN1JObkFWS3Fsd3M4MFloYTBmdEk4K3ovenlGT1N2bjhLdFVF?=
 =?utf-8?B?MWhhVURxSVk1T1gwaTdVT3VuWkM3Rm0xUkxlcXowV0RsdVY1WUZEOS9jK3dl?=
 =?utf-8?B?eHN6WTRUM3dxT2VadStVZ0NJdVJueFpWd1RSY3ZsL2ZTeS9vZ0czSEhUSjJL?=
 =?utf-8?B?SnJtTWtKVWRIWHFDVDNhVTVLY3N5ekpLYjVycjczMUJhNk1XT0VrK09YNS83?=
 =?utf-8?B?VjBrV01vQWtVUnIrN2tuZ09hTlRJcDQxTTdYWnR2Q2ZvcGttS0NreUh6ZGds?=
 =?utf-8?B?cGVIRHlSYUxRWTE1enVlUEJnN01OelVtY2t0SkwvZERYVkZmWEJQWWhmYm1G?=
 =?utf-8?B?bzBVRFlCZ3NHYUV0RHZ6L1g4QTBtMUhlZlJlY293a0lWb00vVURaRkZoTzJn?=
 =?utf-8?B?Y2FrK2cyUDlQU0h5a1pLV0JCSFg4Y0hTRWpoUmRNWmZCQ3VFWCt1UVZuT2F2?=
 =?utf-8?B?Lyt4MFZ1SnJtVEU0V2ppZFlDWFNXaWJXYklxdUp6cWF6N0JIUVQwM0tKZlpx?=
 =?utf-8?B?K1dZaHd3dDdqcSs1eHlpUDV5c2l3NHNZeFFHc2NJVno2Uk1HdERIdEhCSEds?=
 =?utf-8?B?ZkRwVTJaQTZIMFpkVTRBNEM3YldYcWJ4b2Zkb1VleFpsaFRKd3ZUOVlxcVRv?=
 =?utf-8?B?M29wVmdCZlhDc0N2NWhwSmN1OTZtcTcrR25aVXkxbkVjYWZEemE2RmxOTFI5?=
 =?utf-8?B?bzdiV2ZuNlExWXVoUmZPWEM1R2F4MVNoSWE3ZHhxU05oTjdzNnc4VDhON2l1?=
 =?utf-8?B?KzNCWm0zbVNiei9qQ0d0dyt4bStUYlBPVUlLbmNVY1NNbDZnOVE5dFJweGg4?=
 =?utf-8?B?TkFTbkhPY1k0Wm9NT1pWSnE1SFZyYWdVSTBQUlVpS3J6aVlqK2thdk5zejAy?=
 =?utf-8?B?dG9Ua3VpSXJhUzBTRFNhTlhvMGJLa0Y5bzhPWlRGSVUrQ3UrR2daeFduQlB2?=
 =?utf-8?B?VzYvZWJ4UkVBaXVSa2lSYktJb3VUSE14Mk5JYVRwUSs2N0YvNEhmOGJvSXVW?=
 =?utf-8?B?R2dsdDRtTFpneVBSSVQ5WFh4VHJLVzVhakRzY2FyTEZFZ1NPOGVmMEJUZUF3?=
 =?utf-8?B?eG1NTnpIY3ExMmhSUVE3eUFnaUgxcTFvUWtRa1dRZ2VnK2c9PQ==?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SGxhbGN2ZytMY0orSEpzeE54UU1GMnFPajVoa3JDU0NxcXRBM3VuR01uY05P?=
 =?utf-8?B?cHFOcm5scExldm1relJKSXM2d1Bta29xZlFBcUc4eUR3MkkwVFE3SHhLSVVJ?=
 =?utf-8?B?S1lHM2d3aFkxbFZzUTVGb3g1c1E5QzdUSjZ1SlR2QnZIeE40UGVJcE5XNitm?=
 =?utf-8?B?OENjSE9SUFk4N3lLVHg1RlNFeEtodEJGZjgyNlM0K0FEMitXWUJld1RGYVlk?=
 =?utf-8?B?RmJ1M1NBSHM5OENIQXBLM01nRDlneVU4VjRSZlNHQUxrRXNYZXVtZkNFMVBB?=
 =?utf-8?B?SXMvT1V1WGJzbkV3TC9leDcyNldOTDZOWG9FaE9OQzVEcjAzNmlMeTd3eTJR?=
 =?utf-8?B?SDcyUi9kUHlFTEJ6eUN0WW1MUlFRUS9rdkZ5c1J5d2xkNzZvU0VOY3o0Yzds?=
 =?utf-8?B?QkdleGJHM2VJR3ZXTEZTSzg3OXQyT1JGTHBsd245cHYzeTRFT0NnSXEzVFNo?=
 =?utf-8?B?b2IxM0p0bitNL1FwVHArU2N3ak5HbC9kbnk4ZTJYUWx0cW1YVE1TSXJobGRl?=
 =?utf-8?B?YTZtaXdCTXFqUHJINTZPNFBIUWtMRjFvTXhlNUVac2dtbjQrZ2ZsanQ0Rk10?=
 =?utf-8?B?SWNHaVluOHNkMnl1VWhORE9MdmRJdDh2R3dKenFJdDBTT2JSS3k1ZzQrYTcz?=
 =?utf-8?B?V2V2NUhiTlI3cGxzeWREWjhBQ3Y0Y2xJR3VIRFBJbERmbWVaSVByT0dZbGI5?=
 =?utf-8?B?bkFKTnN6ZHRlUGptclRXM2J5VCtxakNPUmRiZ0piVDZNRytidlZIV2F5S3Ix?=
 =?utf-8?B?dlpHd2VOS3JoNkNRQmlCeWo5d3hxRDgzanZjQzFkNDF0NzZpN1B5dXJkMGU0?=
 =?utf-8?B?MWhuZkNPZGg1RmNuR0xRMERPckxudXNEMGR2YUUvbk9ZdVJyZXBpVUlGL2NC?=
 =?utf-8?B?ZE9tQVVwRG0rSFl5ZklSQnhpME9tV0p0Z0lqYXhXOTNod3FsUkg2bUhiTStY?=
 =?utf-8?B?bFF6ZXF6Q2loVU1mTVQrVTBLNFhoUlR2UlpWUUcwTlh3WlVVMXd3Y21CRHFl?=
 =?utf-8?B?d3BvYjdBMHZZQ2J4U3VSVFo5YWp2TTBHdFYvTzdXZUZ6K3F2TTJoVDlac2lE?=
 =?utf-8?B?SU1HWE1uUUZGaW93elBadmc0NEZ5MHpySHVKMk9XMS9mQ3hxWnpNY2tic01C?=
 =?utf-8?B?ZWF5TTh0R3RUU2s4S3FzdUdZRmE5UWtRK0xWTGE4RUUyelMzQWh0eHNpdkds?=
 =?utf-8?B?UzBvK0ticjhzL01tODc0TjZBRTZ6cDBEU3hJdS80SFJGYWtWSHgvMkhyWStG?=
 =?utf-8?B?WjUvUzZsZ0ZCaW5vZ05KaGRVNzRxcWo0a3NaNk5QRlpLZ2U3TUJiVmlYVGtF?=
 =?utf-8?B?RFlrcVFjRTBGeGFDMDc0Ym9KR1VzcEhQUjVHSEVYWGh0UGJ4eUpjMmdsV050?=
 =?utf-8?B?bXBhcTlYSkpEU2VMM1FCdEJhY3Rudzh6NGwwekF6VDJPU3VHMndiN3JsQnF6?=
 =?utf-8?B?TkdPMWhLbGtVWU8zeUtibW1yYVJpa0JRWTZRM0NEcnlLcEFRN1REcmgvWExm?=
 =?utf-8?B?QjFVTXFrTTVLYnZxWkduMEhESXlrOFlMeFBTNm96T2ZKTDM2Mm9nNG1nbmtx?=
 =?utf-8?B?TlFpNzYyYzZlVVBIZTRFdDZad1Z5UHRGNnY5M3BsZ2xGUW9NdmlJaTducTlu?=
 =?utf-8?B?L3E5ZVp4WnpiYzFtRHN5d0IvRmNYZTNXYkZ2VGxNRG53UUZJU0YyT2h3SjdM?=
 =?utf-8?B?UUtzVnpvVm9ZTW1TNmY1UWpLa3I4c0RYY3V2ajQyUEtQRWxVUTBEa2EwZUZv?=
 =?utf-8?B?K25jUSswOVA0bmp0QkdUVEJyeUtCY21PaW15OFoyY3BORWYwL3JqRTRsRXYw?=
 =?utf-8?B?OWQ0RkNScURoek9hMERzUnMrQzhQdTZSWk9DVGlkSm52M0l3ZEVZZUFWOUU3?=
 =?utf-8?B?YnVrMENsdkJoWGVhT1BHbVlpbXprU0dOU2VtUnBYaDFuV2tRZEtOc0xrUkdG?=
 =?utf-8?B?QnpGeFBKclBDT0psc3hiMW5WYU1VdDlWYlVrSlh0S1NRemxvOFcrdXQxYStw?=
 =?utf-8?B?bWlWbzNMNi90RlNPazNUcm9kMU9JRk9ZYTY3MzJFdUxIN0xpSDdQYWI5NlJq?=
 =?utf-8?B?TjBWQmVxSzFlVURUandPSnE2aFhlcUZSQU8xZE1RWWs3OVNFZUUwL1AwMkl4?=
 =?utf-8?Q?OvK/LU+gBeeseu48riSoXXYQw?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f6909c22-f300-4bd3-a8e4-08de01b8ecaa
X-MS-Exchange-CrossTenant-AuthSource: CH2PR03MB5223.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Oct 2025 13:38:09.6428
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: MGp1G9P8Bs+mTkYr45bbZiXOc/OC5HfHoXDKrWlatNSh5MFlWD11eGzR7DjdF1GNzEEr7sUgKWOheJrxXfiyQQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR03MB5412

On Thu, Oct 02, 2025 at 11:37:36AM +0100, Andrew Cooper wrote:
> On 02/10/2025 11:22 am, Roger Pau Monne wrote:
> > Reading from the E9 port if the emergency console is active should return
> > 0xe9 according to the documentation from Bochs:
> >
> > https://bochs.sourceforge.io/doc/docbook/user/bochsrc.html
> >
> > See `port_e9_hack` section description.
> >
> > Fix Xen so it also returns the port address.  OSes can use it to detect
> > whether the emergency console is available or not.
> >
> > Fixes: d1bd157fbc9b ("Big merge the HVM full-virtualisation abstractions.")
> > Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
> 
> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
> 
> That's been wrong for rather a long time.Â  How did you find it?

I came across the documentation above and I didn't remember Xen
returning any value for reads, which sadly was indeed true.

This was because I had the intention to suggest Alejandro to (also?) use
the port 0xe9 hack for printing from XTF, which should work for both
Xen and QEMU.

> CC-ing Oleksii as you've tagged this for 4.21.

I was told that bugfixes didn't need a release-ack until hard code
freeze, which is the 31st of October?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Oct 02 13:56:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Oct 2025 13:56:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1135862.1472808 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4Jn4-00014H-GB; Thu, 02 Oct 2025 13:56:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1135862.1472808; Thu, 02 Oct 2025 13:56:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4Jn4-00014A-C5; Thu, 02 Oct 2025 13:56:14 +0000
Received: by outflank-mailman (input) for mailman id 1135862;
 Thu, 02 Oct 2025 13:56:12 +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
 <SRS0=oua8=4L=amd.com=Alejandro.GarciaVallejo@srs-se1.protection.inumbo.net>)
 id 1v4Jn2-0000cT-Q4
 for xen-devel@lists.xenproject.org; Thu, 02 Oct 2025 13:56:12 +0000
Received: from PH8PR06CU001.outbound.protection.outlook.com
 (mail-westus3azlp170120001.outbound.protection.outlook.com
 [2a01:111:f403:c107::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 87a4f1a3-9f97-11f0-9d14-b5c5bf9af7f9;
 Thu, 02 Oct 2025 15:56:03 +0200 (CEST)
Received: from PH8PR15CA0012.namprd15.prod.outlook.com (2603:10b6:510:2d2::18)
 by IA1PR12MB6388.namprd12.prod.outlook.com (2603:10b6:208:388::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9160.18; Thu, 2 Oct
 2025 13:55:58 +0000
Received: from SA2PEPF000015C6.namprd03.prod.outlook.com
 (2603:10b6:510:2d2:cafe::3f) by PH8PR15CA0012.outlook.office365.com
 (2603:10b6:510:2d2::18) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9182.15 via Frontend Transport; Thu,
 2 Oct 2025 13:55:58 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 SA2PEPF000015C6.mail.protection.outlook.com (10.167.241.196) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9182.15 via Frontend Transport; Thu, 2 Oct 2025 13:55:57 +0000
Received: from xcbagarciav01.amd.com (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Thu, 2 Oct
 2025 06:55:55 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 87a4f1a3-9f97-11f0-9d14-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=UXYcxkBU4qIz9gnVeOMy+c5/PweCigCFR2//Ohe/BTv5dCyI1h+U/P5QJYyrB+tnFR9cTzmfFOrEPYFpSP1/WxgM05bbmk1jFEc5nGcRX8oOq5PxEHBcE/KnLa6lGRjVkU6Sm5ueHn9MtSSwY2Sj0k9f755+DiDDo+fGWXSPpd4LJB2+RnRDAJFjbIsb5cIFVqhWRn1QcaYAYVklP2GTxLFzx9drPuKLejnnGyLNqF1BAaTBSBe9Gx2RmiWD9sp07wD8LCHzfNEGN19kPZXxzv33CfBdJvMSe8TCuOQhLQpD34YQI/K45rCI0rCk9V2+hk0MyHfaqRdYrtGd9Q3qEQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GZZjg8CLPgWKggZ2fiDjSjV35SJ4VIqrgwJM1we3E4k=;
 b=rZCqKuqp6jUrp9pebHoJq8Gn+EizQD+WYDbiP27eT4U7UN5ICvFtFXPG3rj7oShOL8YP6+MCF1yW86SS4hAWYn4XcWrqG0WhBChGPfBg69rwBAvplFyR38zkCifefReHifllZB+LWl+LeleTjGH/qXinQrSvrQrCk2l+fN4l91P0+EC2Mscciag01/Fbyw0PPQcvMdPjNulS1b/6GgICq9PqsuDOLn2WA/bF/lWknKX2LZPg7GSKApRw/67WbuHAQXuwG66yRQQ8iS8QEkeYF8KE4vWLkk9z4EmowGV8geOdkg5aLiEVdJfYhBJHCbvQ4y3/zfMrpGRrerrxn+1+0A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GZZjg8CLPgWKggZ2fiDjSjV35SJ4VIqrgwJM1we3E4k=;
 b=rFkllsg9V9PfEZt0BXjCrqa9M0cbkqeCPe0M6VJR+aLjQ4T/VDKispCqrzZGi1oOnqEE8tJY5j/EGjQsDbeCCNnB/NswifYP+2EZjwpOU5EtY5ABIPdqAcSYDFoV8Is0MrwIsNvg2DP9miZUllWe54Niepyp5E6ZKNQPZRTAxOU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Alejandro Vallejo <alejandro.garciavallejo@amd.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>
Subject: [XTF PATCH v2 0/2] Remove Xen as a hard requirement to run XTF
Date: Thu, 2 Oct 2025 15:55:32 +0200
Message-ID: <20251002135542.28076-1-alejandro.garciavallejo@amd.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF000015C6:EE_|IA1PR12MB6388:EE_
X-MS-Office365-Filtering-Correlation-Id: 6c6a9bcd-a061-4edb-dc6f-08de01bb6984
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|36860700013|376014|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?Szi/rA3Qsn+B7wJAgMsQ8kxA2PHWbcHSCk8bzRVjl4SNPWwP27Vav/4QGqMH?=
 =?us-ascii?Q?l5HVYmwP8UUis7jLh2Pozt8oknoBaRPUBQeJSjlG3ca+CK1Q4G+v2U+z+KtQ?=
 =?us-ascii?Q?7n6VEISMlNtkT/dwmcxdnbDR624WuCRKUfduVefx3qEe89FD8qvPmr6/OPrJ?=
 =?us-ascii?Q?EIfEiTxacECjJDGdUmFR3F/Fldsc/MkWnO9vRLiZf7Wz8PcKrrCuo6daXdM3?=
 =?us-ascii?Q?3lPOe4Gcn5o2Ukp4uill/xJ4pjgb3F0KB4/UxT0kSgDOQdb8Q8m2scgRhgoM?=
 =?us-ascii?Q?0YjpbKpy0+NLkuo7eP2/qNY5vZMmEBSq6bZy24UPi1hwIsa9ioB2xzVZg6p/?=
 =?us-ascii?Q?i7PWJm8TM3NlABIEkOOV7o2R1qpEK46cgb0ICgIdWQ7IBHgWRzUOjwLAPTA3?=
 =?us-ascii?Q?4oJ14/hv+9xA9LYZARAvp7JAiqLLEKF91xW2i20UdSI1+mrcMGoIdVzxyDEV?=
 =?us-ascii?Q?usLK0O6lG0hgIJpdwvfULjfEopUGY1u4A1AWbjAbYimE1MOYO2VgY/9YZD83?=
 =?us-ascii?Q?BYmR2AUjlAZYfDB8hKWHLyaHtZFM5dInS4Tm92yqg2uKG+u2L7xQKMN6AVoQ?=
 =?us-ascii?Q?vedSJV43EJlyc0cCrfh6mTfEHvPA2mZI3AvJB0cQuw04skM+YXoFOu5sNH8u?=
 =?us-ascii?Q?QAroTLHuhPPIigMsAU3ecXwmYOpGUL5Miv7+pvFUW6OlnztpEacA49QCNxjh?=
 =?us-ascii?Q?peRLBK115pEE/ob40+JF/OCL7C1qUKqpEzoGDsht/BuPLwuQ497/yKVGfrXe?=
 =?us-ascii?Q?Rxhy/qZV7IO8Xu2an4EsF7Cj1Wz961oM6sbDEen/5Y5D6opT5STUC7oSxnjU?=
 =?us-ascii?Q?QklvfYTHDeJ0zQlZGUi13vI9n7BJqg41Fews06A4mjTl34mQhsXo7vEcdIue?=
 =?us-ascii?Q?WNsGlzy6F0vF2WKOf2LMUvo6e3U0BPhESEePLQ+kibBukkOMZpktBoyqh80n?=
 =?us-ascii?Q?jWetwTh4vyqvjASICzbCrT5cuUnx7+XPnQpszQu2oXYmpF49LShxreMoxKwL?=
 =?us-ascii?Q?eGTmZNqPJrs3lRB8oU7rtSqERGwF9thoQyneBM8jRTuJr4UNwz0P4AbqLtgZ?=
 =?us-ascii?Q?y8yv9GVBC0Lm09IwDzAw6UfPwfh0lhmVh0S/9J6pxndITJp7ywIJ2wtYxya5?=
 =?us-ascii?Q?jwAOKDpYp8MXKasQjcnsUO0e5rjsdQUiREh3cGY36vFcp2bJQTRDL34n2oC6?=
 =?us-ascii?Q?VdK9deKik0znwzuyKB74dPNdNCZHEtQYxocBOOZYHTkm8uuO8MrTUePJX9Kt?=
 =?us-ascii?Q?hAKwc5AvM3UOcAGv9WGgqH66PtIeELaq3dsWU2fzvWm//tulM/oab/xjC/44?=
 =?us-ascii?Q?LYABkBWyNxsTjEKBcNN0qi6fP9xUjUVDfhuHH9gY7wFfZGy85dJ6vEcVKd9g?=
 =?us-ascii?Q?HNWmog9y4urMIxS5PddLsargxYyBEO4QD66ubtOQVQ+tJeS5sUHHFm6m8iet?=
 =?us-ascii?Q?0ju/AUViDTjtqPlHygJz3lryNshS1+kAHvfPtWX44UpCYRaY2Zur1jyjAI+S?=
 =?us-ascii?Q?hWBNM0PmTMExQY+ESdv7ioiB/V28FGiYKsFx8vXt0WxqegsYAM5WaTKlofPb?=
 =?us-ascii?Q?+Ju9HQqly5Cjvs42HvU=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(36860700013)(376014)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Oct 2025 13:55:57.3363
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6c6a9bcd-a061-4edb-dc6f-08de01bb6984
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SA2PEPF000015C6.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6388

Hi,

I've included logic to exit QEMU using the ISA debug exit device. See patch 2.

Cheers,
Alejandro

Alejandro Vallejo (2):
  x86: Remove Xen as a hard requirement to run XTF.
  x86: Allow exiting QEMU in TCG/QEMU

 arch/x86/hvm/traps.c    | 16 ++++++++++++-
 arch/x86/pv/traps.c     |  5 ++++
 arch/x86/setup.c        | 53 +++++++++++++++++++++++++++++------------
 common/lib.c            |  2 +-
 common/report.c         |  8 ++++---
 include/xtf/framework.h |  3 +++
 6 files changed, 67 insertions(+), 20 deletions(-)


base-commit: 11b552a416d1164c63be4da670f16cf8a5a9044d
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Thu Oct 02 13:56:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Oct 2025 13:56:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1135860.1472788 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4Jn1-0000cb-1Q; Thu, 02 Oct 2025 13:56:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1135860.1472788; Thu, 02 Oct 2025 13:56:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4Jn0-0000cU-UM; Thu, 02 Oct 2025 13:56:10 +0000
Received: by outflank-mailman (input) for mailman id 1135860;
 Thu, 02 Oct 2025 13:56:09 +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
 <SRS0=oua8=4L=amd.com=Alejandro.GarciaVallejo@srs-se1.protection.inumbo.net>)
 id 1v4Jmz-0000cN-9R
 for xen-devel@lists.xenproject.org; Thu, 02 Oct 2025 13:56:09 +0000
Received: from PH0PR06CU001.outbound.protection.outlook.com
 (mail-westus3azlp170110003.outbound.protection.outlook.com
 [2a01:111:f403:c107::3])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8ab7b49f-9f97-11f0-9809-7dc792cee155;
 Thu, 02 Oct 2025 15:56:06 +0200 (CEST)
Received: from PH8PR15CA0024.namprd15.prod.outlook.com (2603:10b6:510:2d2::9)
 by SA1PR12MB7443.namprd12.prod.outlook.com (2603:10b6:806:2b7::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9160.18; Thu, 2 Oct
 2025 13:56:01 +0000
Received: from SA2PEPF000015C6.namprd03.prod.outlook.com
 (2603:10b6:510:2d2:cafe::59) by PH8PR15CA0024.outlook.office365.com
 (2603:10b6:510:2d2::9) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9182.16 via Frontend Transport; Thu,
 2 Oct 2025 13:55:56 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 SA2PEPF000015C6.mail.protection.outlook.com (10.167.241.196) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9182.15 via Frontend Transport; Thu, 2 Oct 2025 13:55:59 +0000
Received: from xcbagarciav01.amd.com (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Thu, 2 Oct
 2025 06:55:58 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8ab7b49f-9f97-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=SNjBg9Jpx4GLSlXc556qp9c3MhlFWqwMsa+JV2lJ4fjm/Sv4Aig/8tDHj7d9hVPz+myrRywKjDn4lV4oqVBcA6vj1RHcZN1HLGR7wmLkbpJsnnxndafLI+w/nXFr8mMXIrxL57L7K7FhkHCnsfzn53v9zaG4EaizBTSoEtUHoMbwFLs1sU2oyDouINtwF/twfCS6IhEdBiNstJeccT4nBhDlVC5I4PuOr/9/1qWZNe9V/9vxmR5ZNkQsBm7HI+eXGU7NCPjltN2PVRr2ck61RzRu86zqJmbmot5pi5JL5d6VMFnwb/n0E9BoLeoZrj/FiQZiiU0LPsPk6I+ZFTGLsA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zrkCPxfsenLoTP5XQkO+LdpiBn8mkFqedF7ORoCKf2s=;
 b=Uw5Z5gPwDrgw3D5jDdUzRTdPsk5KtacZJ7GSBv/0bLM8Ac7/v72Gkwp3037+5oZhyvcno2rf86NY2xkd8x5cF+ZrMuVHxXytEiFqUmLBt6Bn+5jxFI8XxQiXEFIhdMWbB3dLHwEcKusyOY/Qij33EhBdSOb8TycmcaEqwCObQxb7Zh4OrNqDMAbhtRq6nbXfacEKJTb/WNhBbdr4CLZ1KcQU1tp1GEeEq8NrZjaID5L9dLS+QUnIfqWSnvBy4JZ/ydBGmRK4Q/CZpgbxmJa1PgU/6d6Ud52ZPnEXQ64rbSHOk2slMWjUib/SLfYv8rK1fTSSiuNOEojiAkjSmK7Euw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zrkCPxfsenLoTP5XQkO+LdpiBn8mkFqedF7ORoCKf2s=;
 b=OYzlkeFl4ehuJexp+crh27d0ZI5ZuvMMQYeoD8QErchKlEtNwrm8K/e6z/zeCcgbFPAEFHViscL2dYAPeeacEpPOqWWBp9Tk2fzaVXXD3/zt7k5ZGAWW5TcxGnBdECHCaN751chKW7WCRllWlE21G1vVEMZTifbGPX1oME1KJIc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Alejandro Vallejo <alejandro.garciavallejo@amd.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>
Subject: [XTF PATCH v2 2/2] x86: Allow exiting QEMU in TCG/QEMU
Date: Thu, 2 Oct 2025 15:55:34 +0200
Message-ID: <20251002135542.28076-3-alejandro.garciavallejo@amd.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20251002135542.28076-1-alejandro.garciavallejo@amd.com>
References: <20251002135542.28076-1-alejandro.garciavallejo@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF000015C6:EE_|SA1PR12MB7443:EE_
X-MS-Office365-Filtering-Correlation-Id: 0aff8f9e-fbf2-4020-1174-08de01bb6b0e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|376014|82310400026|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?lrgJx0jf1+QZ5U+TCVf1mHoSFhHtqcJqH49WR/nBH3RKWxSwsb2DIEEVuxZp?=
 =?us-ascii?Q?9buocV0ibyeufybfFY5MjVGnsC88O+LK9rjsQgOVt6O9BRcuxlAFizyOEbvX?=
 =?us-ascii?Q?k8cFVuS14FDuX+MjwWHwg89Jzb0DWJRLgvfBfYIelRdWnwj5VSiZCYX/5AST?=
 =?us-ascii?Q?CghlOSMw+ASGPPNh6exs7BPYE8xexE/o+xHNnFGmTEz3uAH3XMidQv+47zYn?=
 =?us-ascii?Q?QFkqGaGFppXaeokRY2+wHDMctKFgb3ZYJbM2J/BkfPawcDt7lLWtxXz0gRcU?=
 =?us-ascii?Q?vbLS2HQrTduuy9PXIPulK+RGaNtKNQiAr/E+01QNPmR5HlnSDi+PVEjVw6zB?=
 =?us-ascii?Q?x96MzHvAAFGMFGHA+f43M4VgpSl5Hjn8PfYB6EKyI6dNAHSdSQVlhNJ8HOxN?=
 =?us-ascii?Q?IjE0Dpqw4L25vRQOG/4X/VfwN9qXKtkQJ6KBNq3DfneS+mNs2bvPHJScc9mS?=
 =?us-ascii?Q?zNxLTn0dWC4UYfjgPplqZ2sqKWYMBmHS5sSYvOqB83dqSlosWOCy89+1lPf+?=
 =?us-ascii?Q?58x+q5ULV8RhqFodmqmLzUQNk7DOZXYAJ0TwXOrqRI0NH6uQaawKQmsTdkBv?=
 =?us-ascii?Q?0Garb83irJu19kCCTeyJAtRux1c3sFBMuCdys1IOEdS2rJwM2mUAhoxXLL+E?=
 =?us-ascii?Q?k08TEiMwn6BEMKB0ldW+7hsibxEFzIp8BqA1tUw5/c8tT51Dr2jF3gnpF61V?=
 =?us-ascii?Q?92kI7sRlTibyC2PjPKw0ChmOj/sgK2CX4aAVo6AG8kjd8YbqDuKierj4Pwve?=
 =?us-ascii?Q?wPz6aebVopySsMuTwn3SSQ0vgwjpMWqr5n+Ze8pL8L85qSFFMVZ1E7cmCKwW?=
 =?us-ascii?Q?0nAnEBWAOYV2gi8Ch//o9NHyroFVdFNYFjsKfroPeB6Ii0KaAsT9pbEmkuK1?=
 =?us-ascii?Q?5NFU0rJ0u6OPZfAeenaaUA3c4W1wISpUPo4GbT7xQqEz24cGOzhsvgZJYJxq?=
 =?us-ascii?Q?5ufegjCJWV35zDovi7jFhgggiYLv+i1ApbN+sslHp7cVhZLM7P4KLKejXgb3?=
 =?us-ascii?Q?ikJnLBanwgSpw08wwELVwcI2fv1FJtJz+yCWl1l4HDIF1RMGQ91KquG6d0+g?=
 =?us-ascii?Q?NFYxb9odvR1ll1M8Owwlt+xNixRps/XH7zcKwtL9krYfkuU/HP9CUBHiYLPn?=
 =?us-ascii?Q?JtFIBOFk1F98pG96quK9D7hx2ILyJma3YHdhzKt3b0ctpUxUJDRdhK+mGAOL?=
 =?us-ascii?Q?om8wl0Pun4XRkhsacMbtJSyI47c+GcEc/2VXgfGHtLJUlFRlGUL8o52KhMCE?=
 =?us-ascii?Q?JQG7equ641yn0R6EaohHqtfnECOkcLv9pUbxUAclMh3aMgc+v8HpouEBcZEY?=
 =?us-ascii?Q?e3/pY7Hx5ave7iGhfBnoUnYysrov85Vldn8GoaFfA6acYyp1DRb0msv1oThe?=
 =?us-ascii?Q?FyVwzR/X5NgiNnUlwv5xJVadKvKqqArcEDfmTSKkeYusyRfk0fb1Gjc+vX5E?=
 =?us-ascii?Q?+ElUf4nrXT1okzFHRuislPhcRUfAVT7bWeBs7dim5+/sQrmh6R7zu+2+KJ3l?=
 =?us-ascii?Q?le15rDXSfsWZaQzR+PvJDIrs5tbxLXcgh6kUaODvEGQOVTNEolP8W5K5jsJ9?=
 =?us-ascii?Q?7oKo7/dH/3mWrAdDxiQ=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(376014)(82310400026)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Oct 2025 13:55:59.9131
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0aff8f9e-fbf2-4020-1174-08de01bb6b0e
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SA2PEPF000015C6.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB7443

If QEMU has a debug isa-debug-exit device, we can simply write to it
to exit rather than spinning after a failed hypercall.

While at it, reorder an out-of-order include.

Signed-off-by: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
---
 arch/x86/hvm/traps.c    | 16 +++++++++++++++-
 arch/x86/pv/traps.c     |  5 +++++
 common/lib.c            |  2 +-
 common/report.c         |  8 +++++---
 include/xtf/framework.h |  3 +++
 5 files changed, 29 insertions(+), 5 deletions(-)

diff --git a/arch/x86/hvm/traps.c b/arch/x86/hvm/traps.c
index ad7b8cb..b8c4d0c 100644
--- a/arch/x86/hvm/traps.c
+++ b/arch/x86/hvm/traps.c
@@ -1,5 +1,6 @@
-#include <xtf/traps.h>
+#include <xtf/hypercall.h>
 #include <xtf/lib.h>
+#include <xtf/traps.h>
 
 #include <arch/idt.h>
 #include <arch/lib.h>
@@ -139,6 +140,19 @@ void arch_init_traps(void)
                virt_to_gfn(__end_user_bss));
 }
 
+void arch_shutdown(unsigned int reason)
+{
+    hypercall_shutdown(reason);
+
+    /*
+     * Not running under Xen. Attempt exit via the QEMU ISA debug exit device on
+     * its default port.
+     *
+     * QEMU's rc is (reason << 1) | 1, if "-device isa-debug-exit" is set.
+     */
+    outb(reason, 0x501);
+}
+
 void __noreturn arch_crash_hard(void)
 {
     /*
diff --git a/arch/x86/pv/traps.c b/arch/x86/pv/traps.c
index 66ef40e..913bab2 100644
--- a/arch/x86/pv/traps.c
+++ b/arch/x86/pv/traps.c
@@ -206,6 +206,11 @@ void arch_init_traps(void)
         panic("Failed to unmap page at NULL: %d\n", rc);
 }
 
+void arch_shutdown(unsigned int reason)
+{
+    hypercall_shutdown(reason);
+}
+
 void __noreturn arch_crash_hard(void)
 {
     /*
diff --git a/common/lib.c b/common/lib.c
index 7f1813f..f4de22e 100644
--- a/common/lib.c
+++ b/common/lib.c
@@ -25,7 +25,7 @@ void __noreturn panic(const char *fmt, ...)
 
     printk("******************************\n");
 
-    hypercall_shutdown(SHUTDOWN_crash);
+    arch_shutdown(SHUTDOWN_crash);
     arch_crash_hard();
 }
 
diff --git a/common/report.c b/common/report.c
index ffdf098..158876e 100644
--- a/common/report.c
+++ b/common/report.c
@@ -1,6 +1,8 @@
+#include <xtf/framework.h>
 #include <xtf/lib.h>
 #include <xtf/report.h>
-#include <xtf/hypercall.h>
+
+#include <xen/sched.h>
 
 enum test_status {
     STATUS_RUNNING, /**< Test not yet completed.       */
@@ -124,8 +126,8 @@ bool xtf_status_reported(void)
 void xtf_exit(void)
 {
     xtf_report_status();
-    hypercall_shutdown(SHUTDOWN_poweroff);
-    panic("xtf_exit(): hypercall_shutdown(SHUTDOWN_poweroff) returned\n");
+    arch_shutdown(SHUTDOWN_poweroff);
+    panic("xtf_exit(): arch_shutdown(SHUTDOWN_poweroff) returned\n");
 }
 
 /*
diff --git a/include/xtf/framework.h b/include/xtf/framework.h
index 95de195..e852882 100644
--- a/include/xtf/framework.h
+++ b/include/xtf/framework.h
@@ -16,6 +16,9 @@ void arch_setup(void);
 /* Set up test-specific configuration. */
 void test_setup(void);
 
+/* Stop the machine. See SHUTDOWN_poweroff et al for reasons */
+void arch_shutdown(unsigned int reason);
+
 /*
  * In the case that normal shutdown actions have failed, contain execution as
  * best as possible.
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Thu Oct 02 13:56:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Oct 2025 13:56:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1135861.1472798 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4Jn2-0000q5-8S; Thu, 02 Oct 2025 13:56:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1135861.1472798; Thu, 02 Oct 2025 13:56:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4Jn2-0000py-5V; Thu, 02 Oct 2025 13:56:12 +0000
Received: by outflank-mailman (input) for mailman id 1135861;
 Thu, 02 Oct 2025 13:56:11 +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
 <SRS0=oua8=4L=amd.com=Alejandro.GarciaVallejo@srs-se1.protection.inumbo.net>)
 id 1v4Jn1-0000cT-6h
 for xen-devel@lists.xenproject.org; Thu, 02 Oct 2025 13:56:11 +0000
Received: from PH7PR06CU001.outbound.protection.outlook.com
 (mail-westus3azlp170100009.outbound.protection.outlook.com
 [2a01:111:f403:c107::9])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8c0e1c1d-9f97-11f0-9d14-b5c5bf9af7f9;
 Thu, 02 Oct 2025 15:56:10 +0200 (CEST)
Received: from PH8PR15CA0006.namprd15.prod.outlook.com (2603:10b6:510:2d2::14)
 by BL1PR12MB5803.namprd12.prod.outlook.com (2603:10b6:208:393::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9160.18; Thu, 2 Oct
 2025 13:55:59 +0000
Received: from SA2PEPF000015C6.namprd03.prod.outlook.com
 (2603:10b6:510:2d2:cafe::6a) by PH8PR15CA0006.outlook.office365.com
 (2603:10b6:510:2d2::14) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9182.15 via Frontend Transport; Thu,
 2 Oct 2025 13:55:58 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 SA2PEPF000015C6.mail.protection.outlook.com (10.167.241.196) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9182.15 via Frontend Transport; Thu, 2 Oct 2025 13:55:58 +0000
Received: from xcbagarciav01.amd.com (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Thu, 2 Oct
 2025 06:55:57 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8c0e1c1d-9f97-11f0-9d14-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=cZLtZfWDRKa8v9HpEldTju8eCwK4exQsf3AfskLna6HD68ovCnV7HAkGOHGeh0yeHtdQod465NDFK6FkYpFKltOkgtk9Qvaa/JyLqxaWaX8JgPzcKRGzjEUJF3sJAfxRDGEjFdYrwi7fstLqtAf0k00k2hvwEABQbH41mSd4+wvKmUy5BrLuFJTw7/wIA73HmNsRsYVmn405YAg44B42cqJZh+qeC3wNzUr9VoNfZbbz0ivGOfHUOA5xVYiOkfeQN0hwyC44HHcoQQqzabeSI6YtG8qPhN9Zw+G7USHbT5euvCgrkEcEJq7p8XstUIJqoOBpLhUKyRrVWkXW+sM/ow==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1F0c76oApIucIy9Rt+2Zft8XHzgKLKIorNjQ2faBZ/Y=;
 b=vZQhe06Bvx6iYa+LGyRArT7a3hF7qVQ4A2hALc8QojlGKWTMu74cNSbUKy8geIHYsC40Z5a2Ptue5WO4gxcYSTBRZzzocLHXByZq2IFSyuHTerWZE2tR5Di0IGd4Lu9k9GyU4NuJj/ZzEj68b3wNk4PLNJ0ma8G6ONnIazS5soRoQvMrCfAWRLZSxoNS+ny0gVxdSgLtbp0bHTRJRkvTJ+uwS8RQ0SJc1s8sbcqhJPX8XkvWxrwTE+kHIBohnf1ft10Sdol7CPzzcNCdo9i0JqgyTY1EhAUtp7wHC8o2C4T1TGy/e3soyOZxAjr5nPQrLtBqACDyvJqaLu0Ps11/Qw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1F0c76oApIucIy9Rt+2Zft8XHzgKLKIorNjQ2faBZ/Y=;
 b=Tc1STqXlGx7otBPZDoofrF6b9lH4b6zSXxT3mgMxtG8Gx9Ou5I7v8K2aMTnCLjgNHmFTEfZGakbxqcY1hcs56f2HAt9eUx7aCOx7HZimOqyoNUhwfN+w3JE0L+fyQ4AabX8fTCaZcyPzBGwQGy+3EBr2Td4hPpd3S59gVksaGHQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Alejandro Vallejo <alejandro.garciavallejo@amd.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>
Subject: [XTF PATCH v2 1/2] x86: Remove Xen as a hard requirement to run XTF.
Date: Thu, 2 Oct 2025 15:55:33 +0200
Message-ID: <20251002135542.28076-2-alejandro.garciavallejo@amd.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20251002135542.28076-1-alejandro.garciavallejo@amd.com>
References: <20251002135542.28076-1-alejandro.garciavallejo@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF000015C6:EE_|BL1PR12MB5803:EE_
X-MS-Office365-Filtering-Correlation-Id: a48b341b-12cd-4ac5-43d3-08de01bb6a53
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|1800799024|36860700013|376014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?kkDOQS7n4zSgdmOcIVm12qHyqcKVMOg3xwbewrsThAPvASCuHCl6N6XcEHDn?=
 =?us-ascii?Q?M+7mOfUeBo0qwP4MmaBTlzDO8VWmk888o4r3TSMbStQMfZ4ZJba75hDgLkGb?=
 =?us-ascii?Q?Vn5tQ1JU6h/DPwwimMB7P2d60qt8eyeTlbtv4AeTxoLssKZg+Acs6YlTSLq3?=
 =?us-ascii?Q?6zIu01uRJ+6K0kzLQqNmND3o5yrLtOds+q/IaaHH4fKuT5X9eelbjRkvHDWP?=
 =?us-ascii?Q?h1A4+30KU0SaHtthVIIN2P7GpsLGyiPwOYFLbj2U6tUesLmZaEE2mgA3qwGT?=
 =?us-ascii?Q?yrUjzfcZZZyS2DP/iC9MgWzhanomXKLYexnL/VxsQBozsO53e/8UV7Tu9fkT?=
 =?us-ascii?Q?VfWOikibWbat+MJ+8nTtITpVoZjqo0TwpFQTx4V7lHzB15Tn4AV3CnwDx9o1?=
 =?us-ascii?Q?TDS/gKK+wI/Z7NX7ARkRjRQdJB0tYD52tgsBqzF9SmjgaLIhVOgPgclXvO/S?=
 =?us-ascii?Q?P0n2+Y44TOeLCeAordltMSE1Z3aI1WgBI0i9G23fWQF9C3LuqOGf6BH8KjTt?=
 =?us-ascii?Q?vdRMbyvZQrIRHgZnoHLsk0oHovt7WsdHM9yY7hCh2sr8eLgttrVqDEIseylY?=
 =?us-ascii?Q?8Fm4rMQDfpqNcNN3eGLcPWWZwUfmJUvERvjzJSLmmeldtQdNPkGBNCT71pKc?=
 =?us-ascii?Q?XgtgQl/zCXGwF9eO1B/dO3HKiwKOalwtm/54cYuaS6dbjQv/QytDLIeD82qu?=
 =?us-ascii?Q?ixk/yQEulCNK8NN8+0Tr9szGo4Ba2HxW3Hp7FkAb1XVJpLy+Oc4UelRlP5H2?=
 =?us-ascii?Q?IkmRNQs2zzvN0lrDoDL63eMf/1Uke0yO1avxjpfzAqxc1isLuT3WNLnMKHiv?=
 =?us-ascii?Q?5HkI1WELXjHoyud/+jcTOzBN97Ly2CT0mBcjlNc9mpWTf8+ENEuK5kJE04jC?=
 =?us-ascii?Q?o5SNiljf71Qds+qUDnZxwLa3qpMpVN53kUhH8tWUwuKfvKUBUgMD2QhEj/fg?=
 =?us-ascii?Q?2PQmc18rAv73uBAFtxBTVRTk5brc55uI2Z7DuHcIblqP2imeJ64jaTeQGiuL?=
 =?us-ascii?Q?rRIQYzgbF0sV/nBe4FuOMVZ4yNqdLDus0hSW2ORjzW4S6P/EZIgz+9Y78j4d?=
 =?us-ascii?Q?JJppYJZpa7DntjpMcD0qZIpv2vnwVhCTu/8moF/odICJD7n+ew9waXS7oEZJ?=
 =?us-ascii?Q?/Z3xbjlRVfgt+Gil3R3vJCAzgk2effANjERpezRTSAn1Uv/gFrUrVTXktiE7?=
 =?us-ascii?Q?jaPJuSjXLJi2YZWR1k7kiCyBhLLHngsbuFf17W2Nc8iW/BSa13K6XxO+H5p4?=
 =?us-ascii?Q?GqxHJkD31cF/6K9Kvq5XbTKU90X9emddo9m6C0sHaTnLMaRMzk8Gvlbs3ScI?=
 =?us-ascii?Q?vvUOvptcAv2Jj46Y8CCCTOwDgQnjatQYeIg9Bj/Lxnmr+c7ziWRjVvzwgoa9?=
 =?us-ascii?Q?31gdKUufS2XjdrchRpxh3c1GACRHlYVc9POcExdhgPSAWposoaX5+fMMndCH?=
 =?us-ascii?Q?Fd4UXoB+2LK9syYUBKmvFzOCYzT7u75BTq+jgcd4y9RmXMoDO+VBBU9IyTkl?=
 =?us-ascii?Q?tlWpHMB2en4Yx18Y+8rdiclbtFlWxFIk0myjQoof7cqvtDYEq9bvBYFI9n1+?=
 =?us-ascii?Q?uBrfJLESYKwmxBZ7sc4=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(36860700013)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Oct 2025 13:55:58.6889
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a48b341b-12cd-4ac5-43d3-08de01bb6a53
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SA2PEPF000015C6.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5803

If Xen isn't detected on CPUID, then:

 * Skip setting up Xenbus/PV-console/shared_info/hypercalls/qemu-debug.
 * Register COM1 as an output callback.
 * Attempt a QEMU exit via the ISA debug exit device

This patch enables running XTF on QEMU-TCG/KVM out of the box. And a
minor tweaks to set up baud rate make it work on real hardware too.

Signed-off-by: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
---
I can't really integrate the checks on find_xen_leaves() as I intended because
many functions just don't need it (prepping xenbus, for instance), so I've left
things as they were in v1. It does work this way.

v2:
  * Use new now available rep_outsb() helper for the com1 writer
  * Make find_xen_leaves() fallible, and add an extra boolean to preserve
    the panic behaviour where it still matters.
---
 arch/x86/setup.c | 53 ++++++++++++++++++++++++++++++++++--------------
 1 file changed, 38 insertions(+), 15 deletions(-)

diff --git a/arch/x86/setup.c b/arch/x86/setup.c
index ba6f9c3..be42c84 100644
--- a/arch/x86/setup.c
+++ b/arch/x86/setup.c
@@ -102,12 +102,13 @@ static void collect_cpuid(cpuid_count_fn_t cpuid_fn)
  * Find the Xen CPUID leaves.  They may be at 0x4000_0000, or at 0x4000_0100
  * if Xen is e.g. providing a viridian interface to the guest too.
  */
-static unsigned int find_xen_leaves(void)
+static unsigned int find_xen_leaves(bool assert_found)
 {
+#define XEN_LEAVES_NOT_FOUND (-1U)
     static unsigned int leaves;
 
     if ( leaves )
-        return leaves;
+        goto out;
 
     for ( unsigned int l = XEN_CPUID_FIRST_LEAF;
           l < XEN_CPUID_FIRST_LEAF + 0x10000; l += 0x100 )
@@ -126,7 +127,13 @@ static unsigned int find_xen_leaves(void)
         }
     }
 
-    panic("Unable to locate Xen CPUID leaves\n");
+    leaves = XEN_LEAVES_NOT_FOUND;
+
+out:
+    if ( assert_found && (leaves == XEN_LEAVES_NOT_FOUND) )
+        panic("Unable to locate Xen CPUID leaves\n");
+
+    return leaves;
 }
 
 /*
@@ -140,7 +147,7 @@ static void init_hypercalls(void)
     if ( IS_DEFINED(CONFIG_HVM) )
     {
         uint32_t eax, ebx, ecx, edx;
-        unsigned int base = find_xen_leaves();
+        unsigned int base = find_xen_leaves(true);
 
         cpuid(base + 2, &eax, &ebx, &ecx, &edx);
         wrmsr(ebx, _u(hypercall_page));
@@ -248,6 +255,11 @@ static void qemu_console_write(const char *buf, size_t len)
     rep_outsb(buf, len, 0x12);
 }
 
+static void com1_console_write(const char *buf, size_t len)
+{
+    rep_outsb(buf, len, 0x3f8);
+}
+
 static void xen_console_write(const char *buf, size_t len)
 {
     hypercall_console_write(buf, len);
@@ -255,10 +267,18 @@ static void xen_console_write(const char *buf, size_t len)
 
 void arch_setup(void)
 {
-    if ( IS_DEFINED(CONFIG_HVM) && !pvh_start_info )
-        register_console_callback(qemu_console_write);
+    bool has_xen_hypervisor =
+        find_xen_leaves(IS_DEFINED(CONFIG_PV)) != XEN_LEAVES_NOT_FOUND;
 
-    register_console_callback(xen_console_write);
+    if ( has_xen_hypervisor )
+    {
+        if ( IS_DEFINED(CONFIG_HVM) && !pvh_start_info )
+            register_console_callback(qemu_console_write);
+
+        register_console_callback(xen_console_write);
+    }
+    else
+        register_console_callback(com1_console_write);
 
     collect_cpuid(IS_DEFINED(CONFIG_PV) ? pv_cpuid_count : cpuid_count);
 
@@ -266,15 +286,18 @@ void arch_setup(void)
 
     arch_init_traps();
 
-    init_hypercalls();
-
-    if ( !is_initdomain() )
+    if ( has_xen_hypervisor )
     {
-        setup_pv_console();
-        setup_xenbus();
-    }
+        init_hypercalls();
 
-    map_shared_info();
+        if ( !is_initdomain() )
+        {
+            setup_pv_console();
+            setup_xenbus();
+        }
+
+        map_shared_info();
+    }
 }
 
 int arch_get_domid(void)
@@ -282,7 +305,7 @@ int arch_get_domid(void)
     if ( IS_DEFINED(CONFIG_HVM) )
     {
         uint32_t eax, ebx, ecx, edx;
-        unsigned int base = find_xen_leaves();
+        unsigned int base = find_xen_leaves(true);
 
         cpuid_count(base + 4, 0, &eax, &ebx, &ecx, &edx);
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Thu Oct 02 14:02:17 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Oct 2025 14:02:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1135894.1472817 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4Jsq-0003It-8t; Thu, 02 Oct 2025 14:02:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1135894.1472817; Thu, 02 Oct 2025 14:02:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4Jsq-0003Im-5r; Thu, 02 Oct 2025 14:02:12 +0000
Received: by outflank-mailman (input) for mailman id 1135894;
 Thu, 02 Oct 2025 14:02:11 +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
 <SRS0=oua8=4L=amd.com=Alejandro.GarciaVallejo@srs-se1.protection.inumbo.net>)
 id 1v4Jsp-0003I8-Np
 for xen-devel@lists.xenproject.org; Thu, 02 Oct 2025 14:02:11 +0000
Received: from SJ2PR03CU001.outbound.protection.outlook.com
 (mail-westusazlp170120002.outbound.protection.outlook.com
 [2a01:111:f403:c001::2])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6234b922-9f98-11f0-9809-7dc792cee155;
 Thu, 02 Oct 2025 16:02:08 +0200 (CEST)
Received: from BN9PR03CA0662.namprd03.prod.outlook.com (2603:10b6:408:10e::7)
 by CH3PR12MB8911.namprd12.prod.outlook.com (2603:10b6:610:169::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9160.18; Thu, 2 Oct
 2025 14:02:03 +0000
Received: from BL6PEPF0001AB71.namprd02.prod.outlook.com
 (2603:10b6:408:10e:cafe::fe) by BN9PR03CA0662.outlook.office365.com
 (2603:10b6:408:10e::7) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9182.15 via Frontend Transport; Thu,
 2 Oct 2025 14:02:03 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 BL6PEPF0001AB71.mail.protection.outlook.com (10.167.242.164) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9160.9 via Frontend Transport; Thu, 2 Oct 2025 14:02:03 +0000
Received: from localhost (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Thu, 2 Oct
 2025 07:02:01 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6234b922-9f98-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=t9gQ9JSD7tcFHO7Q+J/u7LmztQ95ZqzQ0supcfwNNSa8N+AxeKtzRLGCR+1WHRktGH2LnKMZrVqgg3ITUFUO9xD9MjpDPNac6ASkDZPyQjQ59ON8wyEFl3HC3djfCl9vVYCat8M6XrCJ9+gu+QC3FMxnVM4njvR9ZitR1nnregSClO6bdUmTK26ycuI8xhnPPcRvGEi/V1z9TTnXQj/MRqHv1uEfUzD8jJdtWU9TU6LmEN9OQk8TZuKqtfBnr3kESxtpGDlgfNtDeGE+cWXQrdpYpYcwQ94SqQ6DUYs4/K8ig/g9SEl0Ru0DGldrqhosv6v8f7YQvP87fxT+s7C4aA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cAaKGktffNeK+JSSKbbvBP+NQdcyLCUYzZAW96No8zw=;
 b=AU04U6Lm2jkp2CLA0OWdwVd24t67tm8MESJdSADtm0HR9U4eCyhlzVkJc7dlYwE+GW4QlM55bYxnpj+j5gtVKCDvv/pePEwHLWQ/1W0YFipA6JCOZvka+BEm35+EplFtUjto9KDA3NzXGqmqAPzvPyzh5h2IfTeYrnS2gfLJlrSRq9/v5QcBLGwoI46XgAtoIFczLc/uCkTfawUUvrcAJM9IPvZOUlOOdanXm9pEMixA2i9UVqiLyutbhstrZX/SDNvwCrGDQ/pNrhxvtMb6Eq2uMMw87yIl0Nnz5aru/JDnYn6CiNAmVmErIk67ixkDSp9JD3bTKBbAq7iGAu7Axg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=citrix.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cAaKGktffNeK+JSSKbbvBP+NQdcyLCUYzZAW96No8zw=;
 b=DN/X8rWZKSiqF8r8KgH5YYkvwqzrpxF8QXChZActRIHG9qWhmV6P7FfqvOzQ82V2xH/baYODDByyE+5y9dqVhI5bP28EGLHtT9QZmC2ROzLoCOjqhSjUO5VEkSx7pzKVMji+yos8qvhIKtw5ISqJo2NljnrCRLy9V1gyhZQysN8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="UTF-8"
Date: Thu, 2 Oct 2025 16:02:00 +0200
Message-ID: <DD7W410Y9LYL.GD6FXC9Q6H37@amd.com>
From: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
To: =?utf-8?q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>
CC: <xen-devel@lists.xenproject.org>, Jan Beulich <jbeulich@suse.com>, Oleksii
 Kurochko <oleksii.kurochko@gmail.com>, Xen-devel
	<xen-devel-bounces@lists.xenproject.org>
Subject: Re: [PATCH for-4.21] x86/hvm: fix reading from 0xe9 IO port if port
 E9 hack is active
X-Mailer: aerc 0.20.1
References: <20251002102200.15548-1-roger.pau@citrix.com>
 <1b4bcb40-d62b-47b5-847f-b6e16906f52e@citrix.com>
 <aN6APR-CUc9xRjfM@Mac.lan>
In-Reply-To: <aN6APR-CUc9xRjfM@Mac.lan>
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL6PEPF0001AB71:EE_|CH3PR12MB8911:EE_
X-MS-Office365-Filtering-Correlation-Id: 176576af-3948-42da-ebed-08de01bc438b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|1800799024|36860700013|376014|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?Y1V2dXpYYjJya2l5TklHcTlDWnpBN2gyb2EwRDFMSUo5TGdnN2xmbGdjekQ2?=
 =?utf-8?B?WGZXNlJRZUwzYUFpL0pSaThXZTVVdmtNNWlFeUpMSHRFRkZqNEZ0VzFyRXFL?=
 =?utf-8?B?VExkakhaTVRqb2NrWjBGWE1YOXh4UU40eWMraFFoYWtWdGUyaEg4Qm44c3JU?=
 =?utf-8?B?dEZqR05YdUR1aUIwdU1rS2dzTXU4dGs1R3FlaENWL3FRdmxkR1RCSmpta0dW?=
 =?utf-8?B?YlFSZ0tmck12T0xLYStGbXk1Q3JNQTU5NVhkWWI0QitLZkVIUmUxUys0ek5j?=
 =?utf-8?B?MWxxaEp5cjIyeDlCbzFDazhrcFV6djJ6dDRWdGRCK3dHejVKemhPbjQwOTBa?=
 =?utf-8?B?Zjl1a05nVW1nK0VWa2hxZnc4aG92YXFrSFFuc0NCZTZqbnBWVS9uQ3ZWcmRw?=
 =?utf-8?B?UmVoZkUvMUZSMEo5MHQxUDdPRUxJWDBNTndwSEVuK1hmTHZML1U5RWNqNjQ2?=
 =?utf-8?B?N29FazI1NmVPYkYxY0R0dWE1MzVmVzhveVhSTGUxVzJjK05BVjVBK1M4K3pU?=
 =?utf-8?B?NnJqVkZ2aUpSeU4zLzVhVDZTVkZkSFRvYkJuWThId2xScW4yN1hTS25rZTg0?=
 =?utf-8?B?bmlwQVViMzl4enk5a2RYMkJ4MnlwRjM2dU9SVlNOOUFsbkE5aCt3UVhrL2h4?=
 =?utf-8?B?dEg3blFlOG00NGVPVlNBanRIMXcrenhEaHFlL0c0M3dNdkZFaWRoM0VybE9D?=
 =?utf-8?B?U1BXZXJYQ2RCZnVTZFhqa1M0bzdDTHN0YjMyK2IxMlNzTFBQeFVPK1h0K1Y1?=
 =?utf-8?B?TzhWYzEzcDBXR205SEdvRkNDaFNwSWN5dkRHNXdTNTZ6UXJHN2JlSGFYZS96?=
 =?utf-8?B?VW00c0U3TSs0K2VCdWtNcDlzTTJpMTBOeGh1enVQekpPTDNTWThibGZ3MXdo?=
 =?utf-8?B?ZCtSS01wbzNRd0J0OUU5aEdiUVQvMHArMmxpQ21YaG5wek80SHVXdExjRnNi?=
 =?utf-8?B?OGFMUkVzSDNRQ2laWStDbnZEVmtJeWdSNFlmTE56Y1M5Q3FkYXFQL04zdTJQ?=
 =?utf-8?B?bXlEelM3NXZpT0RibXVWSEI0Z21sVWFpWERhaFptS2JRRWxDUXJlN29qM1NV?=
 =?utf-8?B?R3A2RkMySGFzd1BNMElrZk40NHFpM05Od1BvZWpEM1JNWmtLUFh5LytBN0Vt?=
 =?utf-8?B?L0JpWTliK204bldtMG1lTUxKTHBVYjViZklHYWNWN1Uzdk5kVitPQm5LMkZI?=
 =?utf-8?B?OGRCeGRxV0VwR0lwcFRBU2YvMlhkc3NXKzVGK1QxbkpEODluQ25Wc29pVDRI?=
 =?utf-8?B?RU9IdFJycGtla2I2bk8vNGVkY0swc3ZnQTlVWGpTRmlNdXlNWnhzbkZMVTVC?=
 =?utf-8?B?Mkhqb0FKT3lJbHRvZzVTd1NvdGJ3UCs4U0FHZ3Z0V2c3NWI4K3BLVXVYSDZp?=
 =?utf-8?B?ZXlZL3FRd3lSYitabVFBNHpkbTVxeWYySDNpUUlXTS9Nb0NuLzdhRHBrNDU5?=
 =?utf-8?B?djI4T0JiS1pFR3NINUtKbHFUdXRxOTR4elNzRnhmb0tjbldSNGdleHNEblNj?=
 =?utf-8?B?ZFlpSDBtRWVzNFZRTExwczdOdkU3aWRjc1FTeTFDcGxkK3VOTjVvdXFZQmxF?=
 =?utf-8?B?NGJCYmZhaHZQNnFEZndPWWsvZkZOUlhjNEoxNXJ1SG9scSsycXY1NG02S2VM?=
 =?utf-8?B?aHRhV01tMm9TMVV2d2MxY2pmU1lGazhDb2FmeWlqODVPWGNjQkRIT2tWVVlk?=
 =?utf-8?B?cG1rMDdUL2lyOEpiSWxKVGNCNkJpUTBxUWU2WnNvQ2ltK2RCRWZXSitLdW5J?=
 =?utf-8?B?RGlveS9uYWxOTTIwaHJacEkyNEREZ0VFY2JlSExlTGd2RkxGVHR3ZDhnNVB5?=
 =?utf-8?B?ZmFLcnpDcVZaVTRidmdIWHhSQ29QTVRPTFc3UnA2b0R2S0Y0ZTc3aDdUQUYx?=
 =?utf-8?B?aDJpY0IzaDRZRkg0T0xmSGovNjlXTDBES001cFJWZmxrV2l4L2FSTWw2ZWl1?=
 =?utf-8?B?SDFPT3ZQbUFjU0dhL25vaGhack5VaGNGc3N5d2JGL2RLZXluejFwV2xDZWc4?=
 =?utf-8?B?dHN2eXRTM2lWU2xYNjhMQVVCb09Nait0d0JyTVN4ckYrTWw2bTdkRFVwSlp6?=
 =?utf-8?Q?sD0vfn?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(36860700013)(376014)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Oct 2025 14:02:03.1477
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 176576af-3948-42da-ebed-08de01bc438b
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL6PEPF0001AB71.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB8911

On Thu Oct 2, 2025 at 3:38 PM CEST, Roger Pau Monn=C3=A9 wrote:
> On Thu, Oct 02, 2025 at 11:37:36AM +0100, Andrew Cooper wrote:
>> On 02/10/2025 11:22 am, Roger Pau Monne wrote:
>> > Reading from the E9 port if the emergency console is active should ret=
urn
>> > 0xe9 according to the documentation from Bochs:
>> >
>> > https://bochs.sourceforge.io/doc/docbook/user/bochsrc.html
>> >
>> > See `port_e9_hack` section description.
>> >
>> > Fix Xen so it also returns the port address.  OSes can use it to detec=
t
>> > whether the emergency console is available or not.
>> >
>> > Fixes: d1bd157fbc9b ("Big merge the HVM full-virtualisation abstractio=
ns.")
>> > Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
>>=20
>> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>=20
>> That's been wrong for rather a long time.=C2=A0 How did you find it?
>
> I came across the documentation above and I didn't remember Xen
> returning any value for reads, which sadly was indeed true.
>
> This was because I had the intention to suggest Alejandro to (also?) use
> the port 0xe9 hack for printing from XTF, which should work for both
> Xen and QEMU.

QEMU doesn't support 0xE9 though?

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Thu Oct 02 14:07:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Oct 2025 14:07:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1135905.1472828 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4Jxd-0003xw-QH; Thu, 02 Oct 2025 14:07:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1135905.1472828; Thu, 02 Oct 2025 14:07:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4Jxd-0003xp-Ml; Thu, 02 Oct 2025 14:07:09 +0000
Received: by outflank-mailman (input) for mailman id 1135905;
 Thu, 02 Oct 2025 14:07:09 +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
 <SRS0=VSxO=4L=linux.ibm.com=farman@srs-se1.protection.inumbo.net>)
 id 1v4Jxc-0003xj-S8
 for xen-devel@lists.xenproject.org; Thu, 02 Oct 2025 14:07:09 +0000
Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com
 [148.163.158.5]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 118c8f17-9f99-11f0-9809-7dc792cee155;
 Thu, 02 Oct 2025 16:07:03 +0200 (CEST)
Received: from pps.filterd (m0353725.ppops.net [127.0.0.1])
 by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 592Dnhcr018268;
 Thu, 2 Oct 2025 14:07:01 GMT
Received: from ppma23.wdc07v.mail.ibm.com
 (5d.69.3da9.ip4.static.sl-reverse.com [169.61.105.93])
 by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 49e6bhvwpp-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Thu, 02 Oct 2025 14:07:01 +0000 (GMT)
Received: from pps.filterd (ppma23.wdc07v.mail.ibm.com [127.0.0.1])
 by ppma23.wdc07v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 592DIJS8007293;
 Thu, 2 Oct 2025 14:07:00 GMT
Received: from smtprelay02.dal12v.mail.ibm.com ([172.16.1.4])
 by ppma23.wdc07v.mail.ibm.com (PPS) with ESMTPS id 49eurk66k6-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Thu, 02 Oct 2025 14:07:00 +0000
Received: from smtpav02.dal12v.mail.ibm.com (smtpav02.dal12v.mail.ibm.com
 [10.241.53.101])
 by smtprelay02.dal12v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id
 592E6xTp25690876
 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Thu, 2 Oct 2025 14:06:59 GMT
Received: from smtpav02.dal12v.mail.ibm.com (unknown [127.0.0.1])
 by IMSVA (Postfix) with ESMTP id 1C78C58060;
 Thu,  2 Oct 2025 14:06:59 +0000 (GMT)
Received: from smtpav02.dal12v.mail.ibm.com (unknown [127.0.0.1])
 by IMSVA (Postfix) with ESMTP id 1EB755805E;
 Thu,  2 Oct 2025 14:06:58 +0000 (GMT)
Received: from li-479af74c-31f9-11b2-a85c-e4ddee11713b.ibm.com (unknown
 [9.61.134.141]) by smtpav02.dal12v.mail.ibm.com (Postfix) with ESMTP;
 Thu,  2 Oct 2025 14:06:58 +0000 (GMT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 118c8f17-9f99-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc
	:content-transfer-encoding:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to; s=pp1; bh=eZ8mZp
	Snp3dIq2wMpMSDkr4FugwAU+cb5lDPjHGGpIk=; b=JH+6d9pceqjuPIQblMBsYn
	Kg5qHopK4SDcM+QPwVZwNMHNSnvqm7wfnR3WOODGBGCdVffGE5yrFIdE0Ns469Gw
	asWFNH2DH2IonOiXjabfebR4iTTrqxxIGXKE1Oxsga8G8NzZLf7MVlZQucTlKobA
	JRSo35WldYoCv1IVGFDw8XB8tmckjNBjiEP+ckUBIbQ7HxRbvjWr0Dklx4bqSyQP
	1lYIdQHrwbpGcd5m5bAMCtwId+yuRa7qPaC67NfoqE561ZAiEQ/SBIqCT3iPcAlM
	h4PiWVwlB4jtGFhCSla3HlLb766Xm/R1qhwl25cfX+V+xNneDobUl5vjSrKKXLtg
	==
Message-ID: <6f3b9f98913ba738f724cb8086d9bbc2f6f6f265.camel@linux.ibm.com>
Subject: Re: [PATCH v4 04/17] hw/s390x/sclp: Use
 address_space_memory_is_io() in sclp_service_call()
From: Eric Farman <farman@linux.ibm.com>
To: Philippe =?ISO-8859-1?Q?Mathieu-Daud=E9?= <philmd@linaro.org>,
        qemu-devel@nongnu.org
Cc: qemu-s390x@nongnu.org, kvm@vger.kernel.org, xen-devel@lists.xenproject.org,
        Thomas Huth <thuth@redhat.com>,
        Richard
 Henderson <richard.henderson@linaro.org>,
        Halil Pasic	
 <pasic@linux.ibm.com>,
        Christian Borntraeger <borntraeger@linux.ibm.com>,
        Jason Herne <jjherne@linux.ibm.com>,
        Matthew Rosato
 <mjrosato@linux.ibm.com>,
        David Hildenbrand	 <david@redhat.com>,
        Ilya
 Leoshkevich <iii@linux.ibm.com>
Date: Thu, 02 Oct 2025 10:06:57 -0400
In-Reply-To: <20251002084203.63899-5-philmd@linaro.org>
References: <20251002084203.63899-1-philmd@linaro.org>
	 <20251002084203.63899-5-philmd@linaro.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.56.2 (3.56.2-2.fc42) 
MIME-Version: 1.0
X-TM-AS-GCONF: 00
X-Authority-Analysis: v=2.4 cv=Se/6t/Ru c=1 sm=1 tr=0 ts=68de8705 cx=c_pps
 a=3Bg1Hr4SwmMryq2xdFQyZA==:117 a=3Bg1Hr4SwmMryq2xdFQyZA==:17
 a=IkcTkHD0fZMA:10 a=x6icFKpwvdMA:10 a=KKAkSRfTAAAA:8 a=20KFwNOVAAAA:8
 a=VnNF1IyMAAAA:8 a=TDcfOtANP4GnBCsQLmsA:9 a=NqO74GWdXPXpGKcKHaDJD/ajO6k=:19
 a=QEXdDO2ut3YA:10 a=cvBusfyB2V15izCimMoJ:22 a=cPQSjfK2_nFv0Q5t_7PE:22
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTI3MDAxMCBTYWx0ZWRfX3NwCWmSJppLp
 7MpvChm1MGydtXqsaVGxEIz8sAac8copHypMcmHe86072VAt31k5SMra1Oplib3bEhafZSWAI7M
 0eaq2fJVogf2/azlia/SttMfapnwYuusiAzi4kS55NDSKwfrJzDgW3Qx9DvBjEYmqA09AVViijh
 8/BO/VWCfDnOs1f1OJT8v4Kqxu+ymhQH9PveKI7WjZFsu8kZ/0SpWHvVFcX45j/khLt4cGgLKEF
 PWdgwpf8u/OK5ou06sGlcFFkAwTruDjIE6sSPLG0owltwJh87JKDsp9Mkyn9BA8dSr8RLrOUNDj
 zajSQezW2xY104swtBFOg+JaoLSurQyuS9E28V19YcejRW7z3hlF7rzOs03w7YS6lm2S6fjQVy4
 UG9vwQO8iU8peq5h5OpBkNR+5suhIw==
X-Proofpoint-GUID: yeSTTqESg1gtVaOOzXRYuBOTHp0QMtDm
X-Proofpoint-ORIG-GUID: yeSTTqESg1gtVaOOzXRYuBOTHp0QMtDm
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40
 definitions=2025-10-02_05,2025-10-02_03,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0
 impostorscore=0 malwarescore=0 suspectscore=0 bulkscore=0 lowpriorityscore=0
 clxscore=1011 phishscore=0 priorityscore=1501 adultscore=0 spamscore=0
 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0
 reason=mlx scancount=1 engine=8.19.0-2509150000 definitions=main-2509270010

On Thu, 2025-10-02 at 10:41 +0200, Philippe Mathieu-Daud=C3=A9 wrote:
> When cpu_address_space_init() isn't called during vCPU creation,
> its single address space is the global &address_space_memory.
>=20
> As s390x boards don't call cpu_address_space_init(), cpu->as
> points to &address_space_memory.
>=20
> We can then replace cpu_physical_memory_is_io() by the semantically
> equivalent address_space_memory_is_io() call.
>=20
> Signed-off-by: Philippe Mathieu-Daud=C3=A9 <philmd@linaro.org>
> Reviewed-by: Thomas Huth <thuth@redhat.com>
> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
> ---
>  hw/s390x/sclp.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)

Reviewed-by: Eric Farman <farman@linux.ibm.com>


From xen-devel-bounces@lists.xenproject.org Thu Oct 02 14:09:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Oct 2025 14:09:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1135916.1472838 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4Jzf-0004V5-5j; Thu, 02 Oct 2025 14:09:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1135916.1472838; Thu, 02 Oct 2025 14:09:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4Jzf-0004Uy-1t; Thu, 02 Oct 2025 14:09:15 +0000
Received: by outflank-mailman (input) for mailman id 1135916;
 Thu, 02 Oct 2025 14:09:13 +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
 <SRS0=VSxO=4L=linux.ibm.com=farman@srs-se1.protection.inumbo.net>)
 id 1v4Jzd-0004Us-Fe
 for xen-devel@lists.xenproject.org; Thu, 02 Oct 2025 14:09:13 +0000
Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com
 [148.163.158.5]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5e06fd94-9f99-11f0-9809-7dc792cee155;
 Thu, 02 Oct 2025 16:09:11 +0200 (CEST)
Received: from pps.filterd (m0353725.ppops.net [127.0.0.1])
 by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 592DcqA9018505;
 Thu, 2 Oct 2025 14:09:09 GMT
Received: from ppma23.wdc07v.mail.ibm.com
 (5d.69.3da9.ip4.static.sl-reverse.com [169.61.105.93])
 by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 49e6bhvx26-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Thu, 02 Oct 2025 14:09:09 +0000 (GMT)
Received: from pps.filterd (ppma23.wdc07v.mail.ibm.com [127.0.0.1])
 by ppma23.wdc07v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 5929m9CD007292;
 Thu, 2 Oct 2025 14:09:08 GMT
Received: from smtprelay05.wdc07v.mail.ibm.com ([172.16.1.72])
 by ppma23.wdc07v.mail.ibm.com (PPS) with ESMTPS id 49eurk66sx-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Thu, 02 Oct 2025 14:09:08 +0000
Received: from smtpav05.wdc07v.mail.ibm.com (smtpav05.wdc07v.mail.ibm.com
 [10.39.53.232])
 by smtprelay05.wdc07v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id
 592E97FB23855854
 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Thu, 2 Oct 2025 14:09:07 GMT
Received: from smtpav05.wdc07v.mail.ibm.com (unknown [127.0.0.1])
 by IMSVA (Postfix) with ESMTP id A14AC58053;
 Thu,  2 Oct 2025 14:09:07 +0000 (GMT)
Received: from smtpav05.wdc07v.mail.ibm.com (unknown [127.0.0.1])
 by IMSVA (Postfix) with ESMTP id 1371158043;
 Thu,  2 Oct 2025 14:09:06 +0000 (GMT)
Received: from li-479af74c-31f9-11b2-a85c-e4ddee11713b.ibm.com (unknown
 [9.61.134.141]) by smtpav05.wdc07v.mail.ibm.com (Postfix) with ESMTP;
 Thu,  2 Oct 2025 14:09:05 +0000 (GMT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5e06fd94-9f99-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc
	:content-transfer-encoding:content-type:date:from:in-reply-to
	:message-id:mime-version:references:subject:to; s=pp1; bh=IvLoj8
	f/uaT6vb3usKUYhawAOTd750whQ4Az1PbiH24=; b=rk6T7knnIq2lEBmbBAJw2c
	9ck6wOX6+dSAZ1mz/eTDesKeIKXTvI5A6X016FABrEMYVM5AzO82QHkOJIB1tVn4
	hJDhNp2mmsWPF7Dz4PpyWjaZ37aaxztfrVgKY3BgC8NN0UExGZLzoxc3Zw+Bxhrt
	0T5woftfwoqzR/8O44JKDVltvwY0KvgnWiPDvLp8jv5vgGL9A149BkPScFQCrXS6
	5fpNhluH7QuUN9KaEhV6d+IouTBBQYoMhcTpqsNpmf/w+B063B5qLUeqpos8EpRJ
	Iezb8bpcSR7MkaUmfyRVZ+eXjJQxMs3U4UNAH3ThezmBZM4EbGZ0jlP/6tu+8IHA
	==
Message-ID: <00c873bc92ebbc13413c8f236ed3eaa0bd7c98bb.camel@linux.ibm.com>
Subject: Re: [PATCH v4 07/17] hw/s390x/sclp: Replace [cpu_physical_memory ->
 address_space]_r/w()
From: Eric Farman <farman@linux.ibm.com>
To: Philippe =?ISO-8859-1?Q?Mathieu-Daud=E9?= <philmd@linaro.org>,
        qemu-devel@nongnu.org
Cc: qemu-s390x@nongnu.org, kvm@vger.kernel.org, xen-devel@lists.xenproject.org,
        Thomas Huth <thuth@redhat.com>,
        Richard
 Henderson <richard.henderson@linaro.org>,
        Halil Pasic	
 <pasic@linux.ibm.com>,
        Christian Borntraeger <borntraeger@linux.ibm.com>,
        Jason Herne <jjherne@linux.ibm.com>,
        Matthew Rosato
 <mjrosato@linux.ibm.com>,
        David Hildenbrand	 <david@redhat.com>,
        Ilya
 Leoshkevich <iii@linux.ibm.com>
Date: Thu, 02 Oct 2025 10:09:05 -0400
In-Reply-To: <20251002084203.63899-8-philmd@linaro.org>
References: <20251002084203.63899-1-philmd@linaro.org>
	 <20251002084203.63899-8-philmd@linaro.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.56.2 (3.56.2-2.fc42) 
MIME-Version: 1.0
X-TM-AS-GCONF: 00
X-Authority-Analysis: v=2.4 cv=Se/6t/Ru c=1 sm=1 tr=0 ts=68de8785 cx=c_pps
 a=3Bg1Hr4SwmMryq2xdFQyZA==:117 a=3Bg1Hr4SwmMryq2xdFQyZA==:17
 a=IkcTkHD0fZMA:10 a=x6icFKpwvdMA:10 a=KKAkSRfTAAAA:8 a=20KFwNOVAAAA:8
 a=VnNF1IyMAAAA:8 a=nq8n1J83xunWhl9p0hoA:9 a=NqO74GWdXPXpGKcKHaDJD/ajO6k=:19
 a=QEXdDO2ut3YA:10 a=cvBusfyB2V15izCimMoJ:22 a=cPQSjfK2_nFv0Q5t_7PE:22
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTI3MDAxMCBTYWx0ZWRfX39RhvSZB/gEw
 fSRHuBwOdxuPFd7OlaeTzHF/Nb+cKAR9udZB/zGx2iD4cQnpJQcXJQBQWGuia/xZvDJ9pxgerqG
 eFJ03+dNfvdgD9SrzbhneaThs1kybjmf2X8pvLccB2gqCFj2cpNn50xzs3YcTVZ53mzFMycFi13
 w3f5l8sQ4vGjMxiA3tDur41+reA/5qbD/wQL86ZGeofjlyUfva9IUPjwNJajtg+S3A4Nesa1VrV
 iTeVKLL6/U42HyhWqMDLEfwyMbB2H0MG00wwNQ3T8oiwnQjHyax8s5d6P1hHCA5X1RksMgmbbBF
 F6EpivV6k015dMg+arrtgZwFW9b100QiL5fZh1C2vswTWV5ABQfH1uBbkK4ySENU+94O9KAHACJ
 m9XEmZTAubBVaAVQJAhB1GgJrWI+mA==
X-Proofpoint-GUID: uZbYcs5fD30pLPjF7MCuOSROuWpRsdRB
X-Proofpoint-ORIG-GUID: uZbYcs5fD30pLPjF7MCuOSROuWpRsdRB
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40
 definitions=2025-10-02_05,2025-10-02_03,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0
 impostorscore=0 malwarescore=0 suspectscore=0 bulkscore=0 lowpriorityscore=0
 clxscore=1011 phishscore=0 priorityscore=1501 adultscore=0 spamscore=0
 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0
 reason=mlx scancount=1 engine=8.19.0-2509150000 definitions=main-2509270010

On Thu, 2025-10-02 at 10:41 +0200, Philippe Mathieu-Daud=C3=A9 wrote:
> cpu_physical_memory_read() and cpu_physical_memory_write() are
> legacy (see commit b7ecba0f6f6), replace by address_space_read()
> and address_space_write().
>=20
> Signed-off-by: Philippe Mathieu-Daud=C3=A9 <philmd@linaro.org>
> Reviewed-by: Thomas Huth <thuth@redhat.com>
> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
> ---
>  hw/s390x/sclp.c | 11 +++++++----
>  1 file changed, 7 insertions(+), 4 deletions(-)

Reviewed-by: Eric Farman <farman@linux.ibm.com>


From xen-devel-bounces@lists.xenproject.org Thu Oct 02 14:11:10 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Oct 2025 14:11:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1135926.1472848 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4K1V-0005xp-FZ; Thu, 02 Oct 2025 14:11:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1135926.1472848; Thu, 02 Oct 2025 14:11:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4K1V-0005xi-Cj; Thu, 02 Oct 2025 14:11:09 +0000
Received: by outflank-mailman (input) for mailman id 1135926;
 Thu, 02 Oct 2025 14:11:08 +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
 <SRS0=gPIc=4L=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1v4K1T-0005xX-TX
 for xen-devel@lists.xenproject.org; Thu, 02 Oct 2025 14:11:08 +0000
Received: from fout-a5-smtp.messagingengine.com
 (fout-a5-smtp.messagingengine.com [103.168.172.148])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a0b7b249-9f99-11f0-9809-7dc792cee155;
 Thu, 02 Oct 2025 16:11:03 +0200 (CEST)
Received: from phl-compute-10.internal (phl-compute-10.internal [10.202.2.50])
 by mailfout.phl.internal (Postfix) with ESMTP id CCAF6EC0266;
 Thu,  2 Oct 2025 10:11:01 -0400 (EDT)
Received: from phl-mailfrontend-02 ([10.202.2.163])
 by phl-compute-10.internal (MEProxy); Thu, 02 Oct 2025 10:11:01 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 2 Oct 2025 10:10:59 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a0b7b249-9f99-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:content-type:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:subject:subject:to:to; s=fm1; t=1759414261;
	 x=1759500661; bh=8gggb7QV4k0VUwi79B1tHWxROneixw+XlPbDObPlRgo=; b=
	WAWrPE9E5cXMcYG73cHFMXIFe7E/5fGU4SmiOmoJ42OrMDSSK1ou4ane/dlN7nK7
	EArqXCqAs9Ycf7SoXNPQn6VagKAhw5lLCA+VjrrT/fZJRuHv7yuKcyQl0FRhyxzl
	C9ehA5n6Qz8qOjRDPyOFkVlUzhBfCbk6nf+DrR0E3L4MUuXk6mlCvPWNO+YX+vWW
	XWPX1H0OL/92PVFtinTHM9OdBbIQY41Xv7hLvIMlxQtjGO+ikkChkR5Fvv6dn4Dc
	3oncuqDupGiTiQ7y2sEPhUOOhDyZ+1mJAOpzuzjbaOQwyrlCUzVV05Dp3x6JMUt7
	7NEcFMXmxugQiBGU/mITWA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:content-type:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:subject:subject:to
	:to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=
	1759414261; x=1759500661; bh=8gggb7QV4k0VUwi79B1tHWxROneixw+XlPb
	DObPlRgo=; b=nwEd+6Nu6iNza0RuH/ov0rZckO2tLriHp4F90CeehU7Pk+XxzGl
	WxmljEcVQuLkUIGVprrLri4YSTrLWeTBrNHEpbYNiv78yOq27FM+EP+mp7L6o8t0
	PtWGZ0lCrHwiwlrhWD8cBiIIcxLJ4BrGIGaT28c5gbm2B21bGAz3J2Abx7AnFA8/
	+QU50ut4Q+e1u4dH8gSpemsdsxeJ1OEjqSEiGYlAGSkWN2LiLgskFhAz8EWdcAWA
	kahq3id65FPeQZOneXPS3LeLzDGML/ECzn9OWvYbgQgf6riXfEZK3JG2MQ6iICAm
	aTyf+xNeEnuv1ZHi+cRr2C15uPpTvm33k3Q==
X-ME-Sender: <xms:9IfeaK6gJUyuhr8ElJakY9_ajpoVA0Df1DPSmGD6oEoYNyvxR7CrtA>
    <xme:9IfeaPso-_sv-mbGulFeLxeRQSps5BOqydxc7EIGP25_3jzfc1Y2r6DvDwU_fF8Hz
    -K0lse8TFaT1Fvnd4rW8-bbIXL-xhgrf5rOgqq9E0DrL6Os>
X-ME-Received: <xmr:9IfeaE0udyrL8oYB-woDo65Gyofh24ADgE2tNFQT_d77nJAQItZ4juhDsvN3oukeooJIcwzFk--ncl8mjGkWWf3fISLFydLuAd4>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdeggdekiedvvdcutefuodetggdotefrod
    ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpuffrtefokffrpgfnqfghnecuuegr
    ihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjug
    hrpeffhffvvefukfhfgggtuggjsehgtderredttdejnecuhfhrohhmpeforghrvghkucfo
    rghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesihhnvhhish
    hisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpefgudelteef
    vefhfeehieetleeihfejhfeludevteetkeevtedtvdegueetfeejudenucevlhhushhtvg
    hrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgvkhesihhn
    vhhishhisghlvghthhhinhhgshhlrggsrdgtohhmpdhnsggprhgtphhtthhopeduvddpmh
    houggvpehsmhhtphhouhhtpdhrtghpthhtoheprghnughrvgifrdgtohhophgvrhefsegt
    ihhtrhhigidrtghomhdprhgtphhtthhopehfrhgvughirghnohdriihighhlihhosegtlh
    houhgurdgtohhmpdhrtghpthhtohepgigvnhdquggvvhgvlheslhhishhtshdrgigvnhhp
    rhhojhgvtghtrdhorhhgpdhrtghpthhtoheprghnthhhohhnhidrphgvrhgrrhgusehvrg
    htvghsrdhtvggthhdprhgtphhtthhopehmihgthhgrlhdrohhriigvlhesrghmugdrtgho
    mhdprhgtphhtthhopehjsggvuhhlihgthhesshhushgvrdgtohhmpdhrtghpthhtohepjh
    hulhhivghnseigvghnrdhorhhgpdhrtghpthhtoheprhhoghgvrhdrphgruhestghithhr
    ihigrdgtohhmpdhrtghpthhtohepshhsthgrsggvlhhlihhniheskhgvrhhnvghlrdhorh
    hg
X-ME-Proxy: <xmx:9IfeaAoiAtB_oWVG-ZGRMQ7oWLZBO_yF7ElduwWQMhYFUUKqq38XUw>
    <xmx:9IfeaMIQQM-mBqEpbhzNGzyWH3P6iQCyyGr16bZhlp_y7HeAA-4SDw>
    <xmx:9IfeaERALKdom0Qqj_Q8LqxVh4bH91Uyv8W6vx17qcMaCgFIYhWdsw>
    <xmx:9IfeaMOC3e9UfQwJCsEhYynqnjktVDi37OQOSfg-nqQluOA0-6HicA>
    <xmx:9YfeaDeQhgbBSGGBgepO2SwcUJeOJ1IbIuW-BPBRECEwxgyw7j1C7nVf>
Feedback-ID: i1568416f:Fastmail
Date: Thu, 2 Oct 2025 16:10:57 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	xen-devel@lists.xenproject.org,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Daniel Smith <dpsmith@apertussolutions.com>,
	"michal.zygowski@3mdeb.com" <michal.zygowski@3mdeb.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH v2] xen: Strip xen.efi by default
Message-ID: <aN6H8dOlea2Um8y8@mail-itl>
References: <20250612100705.21988-1-frediano.ziglio@cloud.com>
 <586a66e5-4b11-485e-955a-da5fc3183737@citrix.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="Rs9xhYCy+l9bNsTA"
Content-Disposition: inline
In-Reply-To: <586a66e5-4b11-485e-955a-da5fc3183737@citrix.com>


--Rs9xhYCy+l9bNsTA
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Thu, 2 Oct 2025 16:10:57 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	xen-devel@lists.xenproject.org,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Daniel Smith <dpsmith@apertussolutions.com>,
	"michal.zygowski@3mdeb.com" <michal.zygowski@3mdeb.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH v2] xen: Strip xen.efi by default

On Thu, Oct 02, 2025 at 02:05:56PM +0100, Andrew Cooper wrote:
> On 12/06/2025 11:07 am, Frediano Ziglio wrote:
> > For xen.gz file we strip all symbols and have an additional
> > xen-syms file version with all symbols.
> > Make xen.efi more coherent stripping all symbols too.
> > xen.efi.elf can be used for debugging.
> >
> > Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>

Generally,
Reviewed-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab.c=
om>

But this may want a line in CHANGELOG.md, just for a little more
visibility for people packaging Xen, as it may affect what should be
included in debuginfo sub-package.

> > ---
> > Changes since v1:
> > - avoid leaving target if some command fails
>=20
> CC-ing the EFI maintainers, as this is an EFI change.

Thanks. I did noticed the patch independently, but only a few minutes
earlier due to missing CC...

> At the recent QubesOS hackathon, Micha=C5=82 =C5=BBygowski (3mdeb) found =
that
> stripping Xen was the difference between the system booting and not.
>=20
> With debugging symbols, xen.efi was ~32M and is placed above the 4G
> boundary by the EFI loader, hitting Xen's sanity check that it's below 4G.
>=20
> Xen does still have a requirement to live below the 4G boundary.=C2=A0 At=
 a
> minimum, idle_pg_table needs to be addressable with a 32bit %cr3, but I
> bet that isn't the only restriction we have.
>=20
> So, either we find a way of telling the EFI loader (using PE+ headers
> only) that we require to be below 4G (I have no idea if this is
> possible), or we strip xen.efi by default.
>=20
> I don't think making Xen.efi safe to operate above the 4G boundary is a
> viable option at this point.
>=20
> As Xen's defaults are broken on modern systems, this is also a bugfix
> candidate for 4.21, so CC Oleksii.

I agree with this wanting to be considered for 4.21.

> ~Andrew
>=20
> (Retaining full patch for those CC'd into the thread)
>=20
> > ---
> >  docs/misc/efi.pandoc  |  8 +-------
> >  xen/Kconfig.debug     |  9 ++-------
> >  xen/Makefile          | 19 -------------------
> >  xen/arch/x86/Makefile |  8 +++++---
> >  4 files changed, 8 insertions(+), 36 deletions(-)
> >
> > diff --git a/docs/misc/efi.pandoc b/docs/misc/efi.pandoc
> > index 11c1ac3346..c66b18a66b 100644
> > --- a/docs/misc/efi.pandoc
> > +++ b/docs/misc/efi.pandoc
> > @@ -20,13 +20,7 @@ Xen to load the configuration file even if multiboot=
 modules are found.
> >  Once built, `make install-xen` will place the resulting binary directl=
y into
> >  the EFI boot partition, provided `EFI_VENDOR` is set in the environmen=
t (and
> >  `EFI_MOUNTPOINT` is overridden as needed, should the default of `/boot=
/efi` not
> > -match your system). When built with debug info, the binary can be quit=
e large.
> > -Setting `INSTALL_EFI_STRIP=3D1` in the environment will cause it to be=
 stripped
> > -of debug info in the process of installing. `INSTALL_EFI_STRIP` can al=
so be set
> > -to any combination of options suitable to pass to `strip`, in case the=
 default
> > -ones don't do. The xen.efi binary will also be installed in `/usr/lib6=
4/efi/`,
> > -unless `EFI_DIR` is set in the environment to override this default. T=
his
> > -binary will not be stripped in the process.
> > +match your system).
> > =20
> >  The binary itself will require a configuration file (names with the `.=
efi`
> >  extension of the binary's name replaced by `.cfg`, and - until an exis=
ting
> > diff --git a/xen/Kconfig.debug b/xen/Kconfig.debug
> > index d14093017e..cafbb1236c 100644
> > --- a/xen/Kconfig.debug
> > +++ b/xen/Kconfig.debug
> > @@ -147,12 +147,7 @@ config DEBUG_INFO
> >  	  Say Y here if you want to build Xen with debug information. This
> >  	  information is needed e.g. for doing crash dump analysis of the
> >  	  hypervisor via the "crash" tool.
> > -	  Saying Y will increase the size of the xen-syms and xen.efi
> > -	  binaries. In case the space on the EFI boot partition is rather
> > -	  limited, you may want to install a stripped variant of xen.efi in
> > -	  the EFI boot partition (look for "INSTALL_EFI_STRIP" in
> > -	  docs/misc/efi.pandoc for more information - when not using
> > -	  "make install-xen" for installing xen.efi, stripping needs to be
> > -	  done outside the Xen build environment).
> > +	  Saying Y will increase the size of the xen-syms and xen.efi.elf
> > +	  binaries.
> > =20
> >  endmenu
> > diff --git a/xen/Makefile b/xen/Makefile
> > index 8fc4e042ff..664c4ea7b8 100644
> > --- a/xen/Makefile
> > +++ b/xen/Makefile
> > @@ -488,22 +488,6 @@ endif
> >  .PHONY: _build
> >  _build: $(TARGET)$(CONFIG_XEN_INSTALL_SUFFIX)
> > =20
> > -# Strip
> > -#
> > -# INSTALL_EFI_STRIP, if defined, will cause xen.efi to be stripped bef=
ore it
> > -# is installed. If INSTALL_EFI_STRIP is '1', then the default option(s=
) below
> > -# will be used. Otherwise, INSTALL_EFI_STRIP value will be used as the
> > -# option(s) to the strip command.
> > -ifdef INSTALL_EFI_STRIP
> > -
> > -ifeq ($(INSTALL_EFI_STRIP),1)
> > -efi-strip-opt :=3D --strip-debug --keep-file-symbols
> > -else
> > -efi-strip-opt :=3D $(INSTALL_EFI_STRIP)
> > -endif
> > -
> > -endif
> > -
> >  .PHONY: _install
> >  _install: D=3D$(DESTDIR)
> >  _install: T=3D$(notdir $(TARGET))
> > @@ -530,9 +514,6 @@ _install: $(TARGET)$(CONFIG_XEN_INSTALL_SUFFIX)
> >  		ln -sf $(T)-$(XEN_FULLVERSION).efi $(D)$(EFI_DIR)/$(T)-$(XEN_VERSION=
).efi; \
> >  		ln -sf $(T)-$(XEN_FULLVERSION).efi $(D)$(EFI_DIR)/$(T).efi; \
> >  		if [ -n '$(EFI_MOUNTPOINT)' -a -n '$(EFI_VENDOR)' ]; then \
> > -			$(if $(efi-strip-opt), \
> > -			     $(STRIP) $(efi-strip-opt) -p -o $(TARGET).efi.stripped $(TARGE=
T).efi && \
> > -			     $(INSTALL_DATA) $(TARGET).efi.stripped $(D)$(EFI_MOUNTPOINT)/e=
fi/$(EFI_VENDOR)/$(T)-$(XEN_FULLVERSION).efi ||) \
> >  			$(INSTALL_DATA) $(TARGET).efi $(D)$(EFI_MOUNTPOINT)/efi/$(EFI_VENDO=
R)/$(T)-$(XEN_FULLVERSION).efi; \
> >  		elif [ "$(D)" =3D "$(patsubst $(shell cd $(XEN_ROOT) && pwd)/%,%,$(D=
))" ]; then \
> >  			echo 'EFI installation only partially done (EFI_VENDOR not set)' >&=
2; \
> > diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
> > index ce724a9daa..e0ebc8c73e 100644
> > --- a/xen/arch/x86/Makefile
> > +++ b/xen/arch/x86/Makefile
> > @@ -232,14 +232,16 @@ endif
> >  	$(MAKE) $(build)=3D$(@D) .$(@F).1r.o .$(@F).1s.o
> >  	$(LD) $(call EFI_LDFLAGS,$(VIRT_BASE)) -T $(obj)/efi.lds $< \
> >  	      $(dot-target).1r.o $(dot-target).1s.o $(orphan-handling-y) \
> > -	      $(note_file_option) -o $@
> > -	$(NM) -pa --format=3Dsysv $@ \
> > +	      $(note_file_option) -o $@.tmp
> > +	$(NM) -pa --format=3Dsysv $@.tmp \
> >  		| $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort \
> >  		> $@.map
> >  ifeq ($(CONFIG_DEBUG_INFO),y)
> > -	$(if $(filter --strip-debug,$(EFI_LDFLAGS)),:$(space))$(OBJCOPY) -O e=
lf64-x86-64 $@ $@.elf
> > +	$(if $(filter --strip-debug,$(EFI_LDFLAGS)),:$(space))$(OBJCOPY) -O e=
lf64-x86-64 $@.tmp $@.elf
> > +	$(if $(filter --strip-debug,$(EFI_LDFLAGS)),:$(space))$(STRIP) $@.tmp
> >  endif
> >  	rm -f $(dot-target).[0-9]* $(@D)/..$(@F).[0-9]*
> > +	mv -f $@.tmp $@
> >  ifeq ($(CONFIG_XEN_IBT),y)
> >  	$(SHELL) $(srctree)/tools/check-endbr.sh $@
> >  endif
>=20

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--Rs9xhYCy+l9bNsTA
Content-Type: application/pgp-signature; name=signature.asc

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmjeh/EACgkQ24/THMrX
1yySAwgAjoG/tbJBHiaJVpisgopJp5GkDI1fGtLIgDJijM6A8w9d3q4HFBDcR+YL
AKGXQrhhsQgsgLKQbJeHleDqAWx5Ccg2RUI76OiSoAAvLs2yteLy6jr9E+xOVw1n
kiAHHOeYCdroLjKKstmlyv3QU2arpkUVeKaQH9PMy0JhTiP5aAMbdiU7ErNb4dPV
PNDPpo1t+TZ5tQcLt4Pwl66tW1BMyZOycjn7x9zm39HjJp9mKmdBdyhwQx2/tRI9
Pjv1LJQyxhqGgViEMU0A/WPy5VWM23lRTMkz9PcoJB0FUF5tLhSlH68zCHscu9p9
ce1e6GAcUcq2hS2q3DBNpNNK/SCmcw==
=QjVL
-----END PGP SIGNATURE-----

--Rs9xhYCy+l9bNsTA--


From xen-devel-bounces@lists.xenproject.org Thu Oct 02 14:17:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Oct 2025 14:17:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1135950.1472858 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4K7W-0006qS-6z; Thu, 02 Oct 2025 14:17:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1135950.1472858; Thu, 02 Oct 2025 14:17:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4K7W-0006qL-3S; Thu, 02 Oct 2025 14:17:22 +0000
Received: by outflank-mailman (input) for mailman id 1135950;
 Thu, 02 Oct 2025 14:17:20 +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
 <SRS0=ddTC=4L=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v4K7U-0006qA-A3
 for xen-devel@lists.xenproject.org; Thu, 02 Oct 2025 14:17:20 +0000
Received: from CY3PR05CU001.outbound.protection.outlook.com
 (mail-westcentralusazlp170130007.outbound.protection.outlook.com
 [2a01:111:f403:c112::7])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 80872679-9f9a-11f0-9d14-b5c5bf9af7f9;
 Thu, 02 Oct 2025 16:17:19 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by PH0PR03MB5671.namprd03.prod.outlook.com (2603:10b6:510:35::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.16; Thu, 2 Oct
 2025 14:17:13 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9182.015; Thu, 2 Oct 2025
 14:17:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 80872679-9f9a-11f0-9d14-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=IPSSk3BNZMTeVPblVZwb3QDi/aVyhufcWitiOpUKPhK+sAckCkBjrhqpKErQiI+Jrt1PWseqCA3M4YgnYLuyfwejnecXVzM4j2PpKtVl8jIf/DwYmqBabXkitCGYrkQI8z7dusSO2d70oTP0XG23lrpLLVA66wL5KFsTTjMbspf+xDy59h5bC7GWDDovG+JPcfhBHzQagdVoOebtMIdABcSW00GMruECguuVMYam+5LsP3c7Vq8yk9kTbZGTuwHpoA2JSEFNXY/cCokY2AjSclAFIiTz7952XyiQX/VzukgpKyTHJ6b+32IaZkFsBDhQf50fvNXw2C06MUIZ5U3SQg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9GlJZgu1I08gU3lyyayPdY1D5LMp4kTrrPWL1agCM30=;
 b=UH5asstDnHaBO/ZRSJAnQBqJYsrWKhMWURfv5udGn6kOemIrgTJfllkWD10wwAAK6cdZySs5SrbQvpw1jGYxZktOr8F7pKWyT34MpI1REG3l6yAOdcNlwDvWFNiNHu1l7Z4YQQbOdxzLp9UzL5InGiE0LIFmY64TIRwxURmcrs36Oo2gy5VntUlBxe7lG6XQUhDj5kxhRVM7lLiaLPDME7vBIiHgwUXuPIhbmXr/av+QN/ov2VqABPBhmgvbIZnIPK3ohUWN94yxJcGQCd+C64211tAonq3CDs5SUTp1rxbnZnvB0LMd/kIBRsixDu36LO6qiSV59EJioaSTZlsT9Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9GlJZgu1I08gU3lyyayPdY1D5LMp4kTrrPWL1agCM30=;
 b=D8BzSDUG+IVv/3rslonxbVtkTTvEz/9zMalxpfMHNzsGlz2wRGStubSG9KoN0BOmzAP42OpKPHvNnfAla3Jv5ZbB7hQiKM06vAYY6v4V7/GDevbmFvKTTSuD0zakzglXhH8RgW6bKglT/cPFZ68x9piCBVvLA7XsLT03yVNARwU=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 2 Oct 2025 16:17:09 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Xen-devel <xen-devel-bounces@lists.xenproject.org>
Subject: Re: [PATCH for-4.21] x86/hvm: fix reading from 0xe9 IO port if port
 E9 hack is active
Message-ID: <aN6JZTlumMF2B0ym@Mac.lan>
References: <20251002102200.15548-1-roger.pau@citrix.com>
 <1b4bcb40-d62b-47b5-847f-b6e16906f52e@citrix.com>
 <aN6APR-CUc9xRjfM@Mac.lan>
 <DD7W410Y9LYL.GD6FXC9Q6H37@amd.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <DD7W410Y9LYL.GD6FXC9Q6H37@amd.com>
X-ClientProxiedBy: MA3P292CA0010.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:2c::12) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|PH0PR03MB5671:EE_
X-MS-Office365-Filtering-Correlation-Id: 76c7a840-db97-4514-d27f-08de01be61c8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?OUNqeVliMDZ4ZUxReU9aUVZrdUk2Mlo4eFhnYmMvSDhOUGhMUlJLc0NyQUl0?=
 =?utf-8?B?QWFWYlhzbWRZTitiWEpIeGFZRVVWUVdYbXJ0czVIL1BNOHpEVlI3UmdCRjB0?=
 =?utf-8?B?RHVuQVJCTUIvbEUyLzZmQlM2Um51V3RnR0tHWDdtTHFRVnM5b0RMSkxiMFdI?=
 =?utf-8?B?ZzdJT1NyRUtnL0lIRkpuWFNyVDQ2UlR2eHdsUWJrUlFCWDRnWUcyajNHTnA4?=
 =?utf-8?B?dVVNTnJZWVpyOFFpRmJWOWZRN2FZand0aVp5NmVVa0FQazZHTTg4MHd5OHFP?=
 =?utf-8?B?MHZLTXV6TU12dERZMWh0bFR2aWR3RU9KcXAwWUg1YnExQTJZdlEzV1hheUxN?=
 =?utf-8?B?NGZzRldsbUFhSEthUUljQjBTcHRDL0NMWWprbHdmeGlVWnZOMHhjd1Q3SS9V?=
 =?utf-8?B?S2RFbHQ0eC9tbzdqdlk2WWg2SUhqRndKa1BmZGxPL25KNkVnNzdIN0lmL0hP?=
 =?utf-8?B?L0hEdnl5dlVTQkJLaWZib1BweTZlR0hNQkVVbDRTeVRuOXpsQ0ZpS1FVbWpr?=
 =?utf-8?B?TmdSYyswUnZIU1ROdmhhSU1za2IwWWpMOHBISmlueU5XaG1ubzBvRTA2b3hh?=
 =?utf-8?B?SEpmM0thb2IxVVpVSnJFekJFWXZMWkZsOHJtNUFKNEk5SGFNUk5tV2dvOEJo?=
 =?utf-8?B?bXZmNGJyNmVyN1BhYzVQdHQ2WjgrMzdBbXM3eW9iMXhVMllncm1yWGtvMEF4?=
 =?utf-8?B?Nm5oY0RtdWR4MjY4U0tLUlBCYVVhL1FJWk1CeE5pNGpQTTRpdmdybkpuczll?=
 =?utf-8?B?aVVCVWRpc1Y4R1V1a1Fhc1A5VW1Qd09wZFM5QWswVFQ5OWJQOExoaGFvVnFp?=
 =?utf-8?B?aWVUWWlDbkdNbFFvMFF0bkxUNTQzWisrSUdFcnJDZGhlUXRzNU8rMVBWUDZm?=
 =?utf-8?B?MXQ2Mi93emJxV0FyUkh2LzN1WkJ6THVoeW1ZaTNKNm9BQ1o1blMzQVR4anI0?=
 =?utf-8?B?all6SWpMSVdVcWVubG01YlF3aUV5M0RtRDRxQ05nK0JFRlNjWHhGTEJhdUlt?=
 =?utf-8?B?VFpIaGZxT0o0b2NLL05td053VWpnOTFGZjRZYWJJNnhrdi81Rjh2bWtwRzVj?=
 =?utf-8?B?MDd6cElwUjRQR2dnV1oyVXdKekFOU2RHdEcvVCt3OFdpL2o1cFBsNVIwZGlB?=
 =?utf-8?B?eFJoWnJIMjFpeFg3TVR1OFNjbW5JNUdvWWhoTFpsdmZ2Skc2YTJyQVVITkRl?=
 =?utf-8?B?UVBRdWtvUTBGRDNzaHN1cXJaZDlHdUVtRGlNV2UyVWJGcHN0T2g2SFpGZHZ3?=
 =?utf-8?B?N1RRWjNkMXE5Y2NoQk9meTBzUWIxMG83QUYxZXlwaUNpNEJnSGhqa2docDdn?=
 =?utf-8?B?MmtBaUdVdUhXNkt5VTZqN2swVWNGMkxWUkFCWmgxZFVUNEd2R0wwSFBnenR1?=
 =?utf-8?B?dFBoNFVjZ1hkQ2hycEpUbFFZTHVQY085a1hDRnViUFhqYlFuUnJGUzFkZEow?=
 =?utf-8?B?S0FteHIwUm9NblRoRVZ3TUxpcnlyN2ZBeFg2YzdyK1hvVXNKWEpZZ1lTNSsz?=
 =?utf-8?B?MHc4aW8wcUhYVjA5UGhIQWhWQkV3VFlFTVJSbFdEbHFBb3djZWpXY0t6azVE?=
 =?utf-8?B?UG1aVXhJOWl2VWZwUmFyWHBsK1lqMnQyQXBNOEUrbmtac2V6T0ZUcE51U2hQ?=
 =?utf-8?B?YVdRRVBVZUgyb2IyQnRwdlZmem1aNTRRMmo1Tnc4M3lNTFAwSUs0cHV0cnlX?=
 =?utf-8?B?K0Ftem9FeGoxSWQyWkJUZnc4dnJHaFV5TG82QUlUelg5dFpZNTl2VURWZkhJ?=
 =?utf-8?B?R1o5MjZDamFqUWhnVVNQTk1KNVp1TTdsZzVDTUI3NWtBSEo5WjVNQ0o2eFUy?=
 =?utf-8?B?LzJ4NVJHLzFWQlRwaGVFTkxTNWQxY014UFhseVZLVXVwa3JDdG9RdVJPNS93?=
 =?utf-8?B?QWxCVTNkYUtDeiszdjRXb2srdE5DNDhKdGNnVUpGK0RLN0E9PQ==?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Y1o3QzVvQVlndFkwOXEvOW9Jck9PQTk4TVVhOG9VdGNrM2pYN2N5RFdnNEZ3?=
 =?utf-8?B?WXVNMVpYd05CSnl2VTlXaHpleXJyTTE0Y1hydWZleEVTWDBsbkxHRzhwTUdF?=
 =?utf-8?B?VjQrZExqQkYwdzlsczc2KzVUN2ZoTk80SXRKbFpEWm5qNVNkUUFlaUczb3Vu?=
 =?utf-8?B?cVcxSDBlN09OTWljM255cmxOYmd4bkJqNmVudGlURW9NZWFLYW92OUFsbmts?=
 =?utf-8?B?cEV3aGxBT3V1M0NZUzRNRzRobS8xMmxuRFJ6MXVta2tNN0haM3J1VjhUNXZ4?=
 =?utf-8?B?RWJibVJuaVJVaUh1MCtKRXZGdkdId0RXZjl2d0loODR3L1ljRjk4bVZGendw?=
 =?utf-8?B?SElqU3B0WmlQaW55NG1FUHcvdDlhMXZCVzh6MFB4VHJ3Nm5jRHAxTEhrUjds?=
 =?utf-8?B?QmtGUDJtSlNZSEZpTDlVSjhYYVdxUUtLT2QvWE1OY0JDekhlN2c4Y0ZhblBB?=
 =?utf-8?B?RkhBc1lualBuSlNaM3Rqci9KQzFkTEdYVmo5aW9YTGNyeXNzcjRmSHE2bnRi?=
 =?utf-8?B?MTk5QXUzTkJpK2V6L3lhV0JoWTByaWovRVRtQVZ3T2I3cXg4ejVpZUNwM2VW?=
 =?utf-8?B?Mkd1RXhaWHM2eEs0VUJDZWR5RVd5dDhIdlJ4UnZkMnRnT1B2WGNpNHVwNW5t?=
 =?utf-8?B?N2dxZjZrUGI3NlV0T0FzMEhtdFgvbVB2SitIQUxyZGs0Q2tSOXhMMzcvbFRo?=
 =?utf-8?B?dnZON09FVkhldFY5bCtQVkVST2RoNTFWQ2x4aHhxV1JkblhlTnZxQTByYWZn?=
 =?utf-8?B?TFJWdXdwSW04bTVNYmRUc3VkTU45UlNMMmZMTFF3eURUckpaSEl1dXRPV2tW?=
 =?utf-8?B?K1VqRUhJakFPWXh2UmNHQTJVZmd3MjU3S3FtT04rdGU0ZC83eWVLVGM0SEtk?=
 =?utf-8?B?R0ljc29obWxlUkNpZGxEaVp2M2dHdUdSekJoQ0JlUWR4TWtFa3pIa01oUkZ3?=
 =?utf-8?B?d0xweXU1N3htUWwyd1E2eU5naWsrVkU1QjNPOTZJZGJxWnloWnlzZGFreGVh?=
 =?utf-8?B?R0J0S1FRUVVVbEt6bnRwMWpJd0t2OUxQQ2p1YURRYmFNMnYxWDlSQkZVQ2lo?=
 =?utf-8?B?bnBGVm5MZCtDY1JkZEpnQktDNERTRDB2WDRGbmdQdDIxQW9zU2ZCSERqZmpT?=
 =?utf-8?B?K2d5NzZPc2dTVWpIVW8vaExiWHFuODFMbEEvY1ZyM0p3cWRhTWN0U25DUW9n?=
 =?utf-8?B?R0xJNEc3cXZ6R3Z6a1lKWkIrTDFUSVBEeXJrd0xBMmRtTDZGNzdVTzBqZW1H?=
 =?utf-8?B?UWZiS1I5VEtXaDZ0a25CNVVZT2xYTVY2S2d4WmxyS0daUENBbVpCR2wxcHU0?=
 =?utf-8?B?YUJKTDFxK01mdzF4TmFRVnovM1JyTHRHa0YzRzB3U2xWNnhTbEk4eU1BN1Az?=
 =?utf-8?B?Sjl5T0g5MFUySEM1S0lMTGJTK1JhckRxeHBFNXFhY3pBNm42L09mVG9WNFEz?=
 =?utf-8?B?WHVMa21LTTd1VXV2NHFrdmxpZ3NkRjNIVm5OSVE1clNCWHI4c1hIUXUzMU5G?=
 =?utf-8?B?dUJIdUxVMi8wT3dkZXpFNmNoaEZ3Y3huaURTTUlIdWN5aTdLRHhTK1Q3VTZD?=
 =?utf-8?B?aXN0RFNjNkNTZ2R1TGFTTHFpQ1V5bTVDdGJZcUprRjhDeWlXM1FLOVhXZ3M5?=
 =?utf-8?B?UWZkV1EwK0s2S0c0akI2Wk8xdEszamw2eDMreENMRk1CTDhzUEFWR2lCUzNk?=
 =?utf-8?B?aEc5RVYwWHNrOHhwSVFzTXdiK0tvV2VPZE5XaTJHRVVSUDBhcVFPRXJLdWdY?=
 =?utf-8?B?RVhuaEVmdmdlTU5EbC9HcFFsRWFqQ2lKZFRPbXVYZDlJRzFTWFRMMVpsWHhF?=
 =?utf-8?B?SXRiWm9UVzdqd3lONzhmZEFyd2JQcFVkRHpLTTU5bVhpR3V0bkJGMDU4VTY5?=
 =?utf-8?B?cnVJOWtJdmM3c1VwaDh1U0xnMDFxRTJsaVZqMUZmYmMzWWpvWTlXbVVLalp3?=
 =?utf-8?B?elgrMExtY2dFTDNLSlpPQzZlZStudGJwbEQxWE9YaXQ4ekdncHhUQWFUNXVl?=
 =?utf-8?B?UVhmNXlBLzhCZ3NuV1c4MTY1ZExhVFVJQ01XeFd6WGw1aHVTZzB6YTd4dVND?=
 =?utf-8?B?SEJVcll0L1FUUzhSaG9UaVcwYVhneFJTenczOFkvdmVBSTFVdjlDdUx5b3BV?=
 =?utf-8?Q?ffiGW26ccrJATQrnThN/moTn7?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 76c7a840-db97-4514-d27f-08de01be61c8
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Oct 2025 14:17:13.2610
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: lbFgKdt246rmbfeNWIyxm+jJBoFJfJFW2bMbTaDnKv8cpCFb5Rbyk2/JCwrcHEXWqpMZnZIYzIYyV8mieEZBpg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB5671

On Thu, Oct 02, 2025 at 04:02:00PM +0200, Alejandro Vallejo wrote:
> On Thu Oct 2, 2025 at 3:38 PM CEST, Roger Pau MonnÃ© wrote:
> > On Thu, Oct 02, 2025 at 11:37:36AM +0100, Andrew Cooper wrote:
> >> On 02/10/2025 11:22 am, Roger Pau Monne wrote:
> >> > Reading from the E9 port if the emergency console is active should return
> >> > 0xe9 according to the documentation from Bochs:
> >> >
> >> > https://bochs.sourceforge.io/doc/docbook/user/bochsrc.html
> >> >
> >> > See `port_e9_hack` section description.
> >> >
> >> > Fix Xen so it also returns the port address.  OSes can use it to detect
> >> > whether the emergency console is available or not.
> >> >
> >> > Fixes: d1bd157fbc9b ("Big merge the HVM full-virtualisation abstractions.")
> >> > Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
> >> 
> >> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
> >> 
> >> That's been wrong for rather a long time.Â  How did you find it?
> >
> > I came across the documentation above and I didn't remember Xen
> > returning any value for reads, which sadly was indeed true.
> >
> > This was because I had the intention to suggest Alejandro to (also?) use
> > the port 0xe9 hack for printing from XTF, which should work for both
> > Xen and QEMU.
> 
> QEMU doesn't support 0xE9 though?

AFAICT it does:

https://wiki.osdev.org/QEMU#The_debug_console

However when running QEMU on Xen as a device model writes to 0xe9 are
handled in the hypervisor, and never forwarded to any device model.

Regards, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Oct 02 14:22:52 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Oct 2025 14:22:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1135963.1472868 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4KCm-0008NL-OM; Thu, 02 Oct 2025 14:22:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1135963.1472868; Thu, 02 Oct 2025 14:22:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4KCm-0008NE-Lf; Thu, 02 Oct 2025 14:22:48 +0000
Received: by outflank-mailman (input) for mailman id 1135963;
 Thu, 02 Oct 2025 14:22:47 +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
 <SRS0=ddTC=4L=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v4KCl-0008N8-Ty
 for xen-devel@lists.xenproject.org; Thu, 02 Oct 2025 14:22:47 +0000
Received: from PH8PR06CU001.outbound.protection.outlook.com
 (mail-westus3azlp170120001.outbound.protection.outlook.com
 [2a01:111:f403:c107::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 441709a4-9f9b-11f0-9d14-b5c5bf9af7f9;
 Thu, 02 Oct 2025 16:22:47 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by SJ0PR03MB5648.namprd03.prod.outlook.com (2603:10b6:a03:288::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.14; Thu, 2 Oct
 2025 14:22:39 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9182.015; Thu, 2 Oct 2025
 14:22:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 441709a4-9f9b-11f0-9d14-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=BT7WNOF9+fJOI3p6YYjtYeSYoY1g7UhWidoHo8xNxwHBDWbOH9Ep/BICgf+Y1NGpzzj5oJmpwrJTqys9tGPZKXVWFQVGfjt9EXhtcdC77DJ4FFeGn3K2BZ3IU0a/ZUI8cKcJWEN0+gW1hJk8aJbZMiw+cgWuGQ153fLSG1RVVrkSafx71b72XiOlPF2ZugrGyRSaOFlxQP1aahJWlOuui+OcIMyh8D/15xw/7pcIKsxP2bb9Cs8+pE6KNk8NsF73pM4vy3Qiw6YG2vSdxi8rG7gAhrZQE7u3ML4DJ3iWRRwlmFItOv3rfoHvRxfZlGy2sE++4IrlvxxlB/yz1ZOFjg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=B39u6vWf36fBC6j/NoGl2hqaTwuGiTh64pHOMIfnQsk=;
 b=Nc4qk6WUWPbSOImYQEeXAaqPDoYHjBjrERdB7ENtHi9+pKX40lYo5jAQc8XLMqS2FWxGdqUuddCEs99IYZfuAmtcC0plqdx1umB1GJTtmEFQdOiWtZbw83vpjU+40y6nyE8f8zXcaMkDOJKGpKuF1T28R5j5JJBlpWnni0DoOYS/vbpl0lSh2XlvvywJit7YDbWTt6Sg6xXv3hMztLBoWpqbHOwFmbQcVIe+fdXhzpKeGvGTv6L1ePDiHoUDy0pjFgo2xWwRjnJ+agHw6nwkhPHFqyTrv+JaiuQ23Dsr5VZl9l2T5GzWDFBYp4MewJBrqINreAZchr3Zo8hCSArwPA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=B39u6vWf36fBC6j/NoGl2hqaTwuGiTh64pHOMIfnQsk=;
 b=B2FsPRbo2uhZgYI3tpWMUo45EjXXjPm/Dg4g6uwO04kZXGurrJd1hdiQWK1aZMu2qvEH9kx8GPGYnTTSEnKslMJ8qLHepzR2ncQmnxBY4A+3lBEjT335gpin453BXlDrxeUTm/ctg5jdfI4MKcv2jLPM0d0Wq4bJjJ1mhIhBwoY=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 2 Oct 2025 16:22:36 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
Cc: xen-devel@lists.xenproject.org,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [XTF PATCH v2 2/2] x86: Allow exiting QEMU in TCG/QEMU
Message-ID: <aN6KrO6LPPJFK17M@Mac.lan>
References: <20251002135542.28076-1-alejandro.garciavallejo@amd.com>
 <20251002135542.28076-3-alejandro.garciavallejo@amd.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20251002135542.28076-3-alejandro.garciavallejo@amd.com>
X-ClientProxiedBy: BL0PR0102CA0009.prod.exchangelabs.com
 (2603:10b6:207:18::22) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|SJ0PR03MB5648:EE_
X-MS-Office365-Filtering-Correlation-Id: c468fe44-71b0-46cc-abe8-08de01bf2445
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?ZThnaEIrZWxLT0FWUHlFdGJUNS9GWkRoOUhzdGRaVmJpYzIyQmdlTHZvRUhy?=
 =?utf-8?B?dHJDcWlnWlhyVU5hUWw5amZGbFh5T0EzRkFuOHU3biszZEdqenFPL1ZWQm5p?=
 =?utf-8?B?bFhaQ3dGdi80WHluYk9JZ1N4MHVsdUsyc3RyUThVZVE5L2RWQVZ6QjNhd1dB?=
 =?utf-8?B?Qi9HbHlMbHp1TkZDNkphM3lmenVCMlAxeVlJbEVxZEdYNUY5WmZrVnQyZDk5?=
 =?utf-8?B?ajBVRUtSNXJkQVY3ZjBnNGdqYVR4Y0x1b0xpa1FWYnZCQVRjK3BRTk1lcUpk?=
 =?utf-8?B?VjRPVEtRamtBWERHZ3hOTU1vMmU2Z05BalZFK1laTFhtOUp6QzA4aUpUampD?=
 =?utf-8?B?Y0Z5S2RzKzFVcElONm5YWW1XRFBZZjVVV1ZaVmdTY2kyRlVGR1lNSmhPS0pD?=
 =?utf-8?B?NmE0TDRKSCtLM2pXWmVrd281Uk5SRGpjWkJZdlFESlkyMVR4Y3p4WjlIOVJm?=
 =?utf-8?B?WVFOK212RDRuVmhZQjkyVzF2ZjRTMi9waTVhd0tPVkRMdFJVNDdvMXZMcEJG?=
 =?utf-8?B?dUxUWU1UTTBrTUVoeW40TitVUnR1bDh4bFM0eXlWWjR5SXRCamdIc214dUtR?=
 =?utf-8?B?NjFJSDY2aUNud3U3dlpvOXREYS9Gak11QVBWa3BneTF0QVhWUXJaRkJXQ0hv?=
 =?utf-8?B?azB5aUlSMHBtcHNtSnk2M1FSN0lQK2ZuWGtJa1V6RkJaaVhGSzEycEJPc040?=
 =?utf-8?B?NkhHNXlhL2xJb0xzUzdMd1VHa2NGTUgxcWFMN29CMXlVRkZOVmJnbG5leFBC?=
 =?utf-8?B?MG10WFdpT3BmZmlXRlVHWElSUHZFbHJpMHpEdnpHN24wOTdLSkZWOUNweE1z?=
 =?utf-8?B?NUMzNUxXUHk1MkVBdHNHQnNraXYyaW5IaFZxZCtJYjN0Wk9Wa2ZuYVdma2xQ?=
 =?utf-8?B?VUJjYmc0azBWemlwZGMzN0ZzaFIxZEo0d0ZUN3paZzF5cDZYaVoxK0hHbHJu?=
 =?utf-8?B?aWNJdnZ4a2d1Q21GYU1tcWljYVhhRXZDbVkvSHduVGxOM2FIczBteE9DRkNJ?=
 =?utf-8?B?RkxyN1NGcDd1dktRTUNsa1dubGtrWW8xSXBGZU5zWUpiV3JUZ1FObng0WkR1?=
 =?utf-8?B?emdzOE5DN3Vwdy8zQkRHRUVUd3pXMFdTa1lnNmZNbUpma0ZiN3htSmpIcE5C?=
 =?utf-8?B?T3BwdS9HeFVzdWsrUWNoOXM4UXdGSkIyWnovSUtsVGZWM0ZEUmh2RHNBdXd0?=
 =?utf-8?B?czdrOCtZQ2wxdzhZUXNKUm0vMnVSeEg3Z0ZaMS95UUVzdWNRWWYzK2xKdDhI?=
 =?utf-8?B?Q0t2NjNGS05MVTZJMitmaklkMlBGcU9LakFjUWV0WWdjcndHcVVwZGVoZGQ2?=
 =?utf-8?B?eGNjRjdjaG9kR0xaQW5LVzM5MDg0dUVDVkpMMEJxTm9neDF3aVI1WVVhTnNG?=
 =?utf-8?B?cTBqdHlXNFdRR2lJU25UWFYwb2ZzbXdOT2dXZFd1RUJEdHBQOWxmNEEyWVVu?=
 =?utf-8?B?TWlrZXRYa1FaZUZTUmt3aGQwbjZKMGtCNlQxWSt5ZGxPeW9uL1NpWk1YNTB4?=
 =?utf-8?B?ZXdkQ1V5VVlSWDVlYVptL2JqcS9uS29mazJBcVVxa2MzNW50WmplK0R0RXpX?=
 =?utf-8?B?VFJScU5YU2V1TTdLcFNqUFkwRnoxY0NFaW94NnRKd09XYjVORlQxZHZ1U3Qv?=
 =?utf-8?B?R1FBQllLSTFkRVhpalVIN2hPSm0rNVliSFd0ZXFUSDJHSGlnU3VCeGlLNUE1?=
 =?utf-8?B?UGgxVmJUQjNnOGRjV0JpalBhNlhRYWxETzQ5RThjWTJ4WUlieHgvWUFOM0dK?=
 =?utf-8?B?WUtNZ2J4dEIycE5wcjdPczdoWlEwMHJ6VlJ5REpycnEvdGtjWVVtTGV4ditL?=
 =?utf-8?B?NjdESjc5Y01qcFFraGJETkJaM0FqdURiTjZjSmc0Q0tBNE9QN3F2WW5kcUtT?=
 =?utf-8?B?N2xhVU5ZQm1TWEZvcVoxQWhRRU14RGdycVUxTk1CVTNNOWJVMkNScXBwTmZB?=
 =?utf-8?Q?tTYNvT3hjC58x+K7Dt8ocwf7XpYWv3Ei?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cE5DK3VmMlNtdmdiYjR0YW1tUXF1NWs0dXBwYzV6OTlGaU4veVovZ2Jia0dF?=
 =?utf-8?B?TEJYWmtDOUJRZEJ1Smw1NWJlTnpLcTJyVnU0U1V2QTF6K2xQRkE2T2lhQ2RR?=
 =?utf-8?B?V2NWVkRGdzNtNm9rQ0pTUmhFZU9yTE1ndkFRVlJHS1VZVGl1UnFwVkhrTXE3?=
 =?utf-8?B?cUtLTExKcGIvd2pSV1JoQkU0S000Ump5TGhyeFZDa3lzWm11TzJ2RkdtcTc0?=
 =?utf-8?B?KzJIa1JHWlU5bXZVemxrYlRPWjdtendNQU02eng0TU1kU0FsRWlXS3Q5aERi?=
 =?utf-8?B?cGxJemNmdFMwS1lFc0FRM2ZIQk5sdkFXOHVSb1poUTZEQ3pGcm9aYmo2QStz?=
 =?utf-8?B?UEhVSDRFZS80UmZ3MkE1VjB5anZMMGpkYll4Z0NqNW4zT2RhUWdmWmlpVEw1?=
 =?utf-8?B?SC92dzBzYTdqQ2E0VmN6dGhCQnBHdVBKcm10MzhGcjdicG94WHkyaGxITGNS?=
 =?utf-8?B?M0RrZHExbVJTc2dlT1hDTjlvVEMvVkl5WmNKaFhrU1A5bG1qZXZOVVBLWlo3?=
 =?utf-8?B?TW1JSHNiVndXMFpWMHJIYjhyeG1yc0MrMXB0Q0Q0b2psemhCUGRaOHpUeG9I?=
 =?utf-8?B?cGxHdHdURjk4VXd1a0ZvUzIrZlhiMllmQTRlQm1oWWVEc0pDN010Y1VMb3NU?=
 =?utf-8?B?UHYxUm16YjVtekNhenVneG5DbEVvZ1hweVdZV01IeEJmQ2d4Y254bW5iSnQ4?=
 =?utf-8?B?YW04TFE3bTYzZ1ptbGZUellZQ0wxU2tUUG9DczNBeTZRcXFSQ0RPNzVWTXRC?=
 =?utf-8?B?bytEQVF0NzNNdGorNjRhYmo4bEc2SzBiTkduSFVJMmVIQzVnUFpTdTNaLzBO?=
 =?utf-8?B?aUJjQk9ZNStaUWl5REV6Y0FYS28wcVBJT3NDcHBtbFlDZWwrWU5SWDhmOHJo?=
 =?utf-8?B?d0laYVNZT2dEZUY0NlVEUThFVEVVbFg3NDZKVUVmd2kxRTEwQmhiWU9sZytB?=
 =?utf-8?B?V0hlNFFXZGVwQ3RBdUczQkgzb2lkbCtuRkhuOEtlSnNadGJsNExqSE1zWUcr?=
 =?utf-8?B?QU5RdG1qQkpJWTdyQkJqNDE1YjZzZlZqUVJrSUdKMmdVTGdCOEk0cldNN0sy?=
 =?utf-8?B?RkVVZ1UzSkVrclRFWG9XYjB6YzlJUS9KSUErWWpSdE9HWTFwU3ZBbm5GbjBs?=
 =?utf-8?B?L0EzK2NXWVpZYUNtSUhXU3VoVXlMeVdyYUdHTm9CNjhxS041VHFoS21pc1Mx?=
 =?utf-8?B?aDQwYVROMnhEME1WWk9yWWEvcWFjWHlEQmJhV0w4ZDlUMHFIMUgyeTBsQlhC?=
 =?utf-8?B?Y0ZHVUswOHR4YXBrYXpVSjFuSkc1azZ3VlZjSTdkNC80UEtCT0NlOVRzUS9G?=
 =?utf-8?B?TWVYRGJnVDRuVVJBNzlCeklRbjlPTkdLSVZqMkVnWFJjUGFJVHlCNVdNV1Yr?=
 =?utf-8?B?ZDB6alpWajhEWmpVWWkvNm9ZSWY1MHpsMHJRbUM3cE4wb053Vm1zM2w2NkFD?=
 =?utf-8?B?Wnlwa0hJZlpZU1UxdmRHaVNnTjhxeFFpZ0dJbzBRMVJtaHZMSm4zYksxYStO?=
 =?utf-8?B?N3F6QmhoK2VnM0V0NGwrVmc2ZkRVZmh6QnJvN1E4bnBLOWhjUmtlYjBUZHBx?=
 =?utf-8?B?a2F5MWgzaXZwVFNyQ0RvU0U1WnRJbS9JUGJRV2ZBYUhZMlgxNTZTYnY5eGNH?=
 =?utf-8?B?NmtlL1hEZ1FxSTRqZFZWUjNvTmZlR1IrRi81SHRYNk5LWHc5Ly9zRkhyTDk2?=
 =?utf-8?B?TGE4NVZJQitvcmxmd20ybU5jUXMrYVgzN1FLZE1vSU9USnZvZCsvcWR5STBC?=
 =?utf-8?B?UlhMQlVLZHVCelBubDdYSXNDclpiNko0QUs1bnFmMjU2eXBFVkRDVDBxcGF0?=
 =?utf-8?B?TjVjS3pNZkIrSXp1bUswdWxsMFhMamV4dzNNeFcwUlhpUFJsdVpGeVZHSktB?=
 =?utf-8?B?dzNQeFNHcVFQbXJiZGwvQVQwaTZOSE9LRVpGeUpoYkZvdFBBTnBjRWRyTWx4?=
 =?utf-8?B?NmhOQk5TekM5TFk5NWQ4V0J6T0hnZkpDdGU5bVl4VXVGZTdWMlpUQ09DMHZ5?=
 =?utf-8?B?SG1Ea285UGsvNFhNLzhyTlpLQlpzL2ZGb0VWaEFGQ0VXWXM5a2FXaGdjajBI?=
 =?utf-8?B?ZWREaGI2WmRrYmFRaWc4eTVTQ2dWcVZ4REoyZEN4QUlrMU4vcGpCTkZoc2Vu?=
 =?utf-8?Q?MjOyPqW/BFL3Hxv2jU9q1d0E8?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c468fe44-71b0-46cc-abe8-08de01bf2445
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Oct 2025 14:22:39.4695
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: gPY5kdUKRvXPOsLNpxHwkZTo3Idi1Z6QxR/0IbJzTn9nUg/WKmR/aa1QeZfcnN1+uUEN2CEK/scBXwC2FCdHlA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5648

On Thu, Oct 02, 2025 at 03:55:34PM +0200, Alejandro Vallejo wrote:
> If QEMU has a debug isa-debug-exit device, we can simply write to it
> to exit rather than spinning after a failed hypercall.
> 
> While at it, reorder an out-of-order include.
> 
> Signed-off-by: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
> ---
>  arch/x86/hvm/traps.c    | 16 +++++++++++++++-
>  arch/x86/pv/traps.c     |  5 +++++
>  common/lib.c            |  2 +-
>  common/report.c         |  8 +++++---
>  include/xtf/framework.h |  3 +++
>  5 files changed, 29 insertions(+), 5 deletions(-)
> 
> diff --git a/arch/x86/hvm/traps.c b/arch/x86/hvm/traps.c
> index ad7b8cb..b8c4d0c 100644
> --- a/arch/x86/hvm/traps.c
> +++ b/arch/x86/hvm/traps.c
> @@ -1,5 +1,6 @@
> -#include <xtf/traps.h>
> +#include <xtf/hypercall.h>
>  #include <xtf/lib.h>
> +#include <xtf/traps.h>
>  
>  #include <arch/idt.h>
>  #include <arch/lib.h>
> @@ -139,6 +140,19 @@ void arch_init_traps(void)
>                 virt_to_gfn(__end_user_bss));
>  }
>  
> +void arch_shutdown(unsigned int reason)
> +{
> +    hypercall_shutdown(reason);

This relies on the hypercall page being poised with `ret`, which is
IMO fragile.  I would rather have it poisoned with `int3` and prevent
such stray accesses in the first place.

> +
> +    /*
> +     * Not running under Xen. Attempt exit via the QEMU ISA debug exit device on
> +     * its default port.
> +     *
> +     * QEMU's rc is (reason << 1) | 1, if "-device isa-debug-exit" is set.
> +     */
> +    outb(reason, 0x501);

That's kind of weird?  So even if we pass reason == 0, the exit code
from QEMU will be 1 (and error)?

Isn't there anyway to signal a clean shutdown, and hence QEMU exit
code being 0?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Oct 02 14:49:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Oct 2025 14:49:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1135981.1472878 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4Kbz-0003Bl-NF; Thu, 02 Oct 2025 14:48:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1135981.1472878; Thu, 02 Oct 2025 14:48:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4Kbz-0003Bd-KX; Thu, 02 Oct 2025 14:48:51 +0000
Received: by outflank-mailman (input) for mailman id 1135981;
 Thu, 02 Oct 2025 14:48:50 +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
 <SRS0=oua8=4L=amd.com=Alejandro.GarciaVallejo@srs-se1.protection.inumbo.net>)
 id 1v4Kby-0003BX-E2
 for xen-devel@lists.xenproject.org; Thu, 02 Oct 2025 14:48:50 +0000
Received: from BYAPR05CU005.outbound.protection.outlook.com
 (mail-westusazlp170100001.outbound.protection.outlook.com
 [2a01:111:f403:c000::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e5430b57-9f9e-11f0-9809-7dc792cee155;
 Thu, 02 Oct 2025 16:48:46 +0200 (CEST)
Received: from DM6PR06CA0097.namprd06.prod.outlook.com (2603:10b6:5:336::30)
 by BL4PR12MB9723.namprd12.prod.outlook.com (2603:10b6:208:4ed::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9160.11; Thu, 2 Oct
 2025 14:48:41 +0000
Received: from DS2PEPF00003439.namprd02.prod.outlook.com
 (2603:10b6:5:336:cafe::57) by DM6PR06CA0097.outlook.office365.com
 (2603:10b6:5:336::30) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9182.16 via Frontend Transport; Thu,
 2 Oct 2025 14:48:41 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 DS2PEPF00003439.mail.protection.outlook.com (10.167.18.36) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9182.15 via Frontend Transport; Thu, 2 Oct 2025 14:48:41 +0000
Received: from localhost (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Thu, 2 Oct
 2025 07:48:40 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e5430b57-9f9e-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=v5+MpVsrSsJhvEw6Wsps/zfJ7msG7XDfOcFOi1eE0OSfbCaAtxCd5vehaG7NCOZTG4fc8XLaBlyvHM8gA1vfDjUJ4JdX7lWuvT+552uqi8oo8TY92BOPsSYoUtLA119laUW6BCf5w8m4yR/hs6P30gypyGfPMsUWa/ZdbDslZSKbvVk7R/p37AWg9jgsVdK86Q62vEM6QRdf8inNHL6nFNAXp0/O6gdV0z7d7/Jl1ImaNnlQnP7aLr7iKVe6r5S0ZloTzDwC4/WhnLOZq0X/mZNk+iE7rohNAx9eU94I7fehEHoTGm+ysSLiioUR/E7+KlpLbQ1dFZrPW3pousxxUw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tMI/5cmdn41E9kTMamZRErFPV8nZGKb41rRXuToIf3E=;
 b=N/I9RHXHCrPPjh7varTvHTlD03ookoDdbW1hk13cT6H8fZaAbVO/G8PgyM7NYacx9xZBwDaZfyuuPlyKgzS/xlqBmmq/Qfys15VvlJkw3n3FcjPJN+Ou25vbsY1Ai89CuUeJL1sd0QDy9gBJ2KzGBgF8YcMYwRFPvtFUEuFJ0flZg7JASb7C8aEXno8MSnuKuQkzrmbADSS7uV9gvxU8AKB8VPvZ9F3o0vuHS9sZn4mc1mrmxhp1NGat6doUxtjgyy/S4/YJz85/u7bxQsUubBOa7NclaCvZtXItNcUZcoB/2Ex75a4q7Of2uuQPcF3FFwAPPc/RVoYSsjhgcx54lg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=citrix.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tMI/5cmdn41E9kTMamZRErFPV8nZGKb41rRXuToIf3E=;
 b=gMHtTXWC5eACm4wsZZ4iENjP7yUvNll46P4QWqJhs1KAICloYHPoo1CwJBH801wl+v8R9pklnJEyAF7ky6sUuTTjaI0wqPbhjN81tSZ6KZH8hB4zFgVY3Hhhnm9VVqXInLY2ycx6+N+0GNhvMHjXzUwxf/e1PwGE1IGS5YTmqi0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="UTF-8"
Date: Thu, 2 Oct 2025 16:48:38 +0200
Message-ID: <DD7X3QFGUK6Y.DTARYWAB2DF@amd.com>
CC: <xen-devel@lists.xenproject.org>, Andrew Cooper
	<andrew.cooper3@citrix.com>
Subject: Re: [XTF PATCH v2 2/2] x86: Allow exiting QEMU in TCG/QEMU
From: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
To: =?utf-8?q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
X-Mailer: aerc 0.20.1
References: <20251002135542.28076-1-alejandro.garciavallejo@amd.com>
 <20251002135542.28076-3-alejandro.garciavallejo@amd.com>
 <aN6KrO6LPPJFK17M@Mac.lan>
In-Reply-To: <aN6KrO6LPPJFK17M@Mac.lan>
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS2PEPF00003439:EE_|BL4PR12MB9723:EE_
X-MS-Office365-Filtering-Correlation-Id: ca94dc92-6a2a-4195-4703-08de01c2c79e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|36860700013|82310400026|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?aFhKYXNOQUVyWFIxWjZoM3VsNFhBSi9FYld6Zzh6S3ZGUjUwZUF1bzJIQjNs?=
 =?utf-8?B?bDgyeTRJZ1I3SFZNZGt3Tk4yWTVKZ0lHdkxzN0FtMkFrQ0tmYVF1T21tTERF?=
 =?utf-8?B?dDkyLzVSdXdvS3lOcXNZcFkvYXA0OWkrU0VoZlU1RzBZekZWcXhHb1ZIQ1NC?=
 =?utf-8?B?a25aSHVEZnZvUXZpVERMN25MU0xWZkZJZURPNGEzbG5US2VHdm5zVWlYb3pL?=
 =?utf-8?B?Z1FNZDNNZWl0b1V4eStvTlRlT09mT0JuMXU0RzVFNGhIanpBSDdtQ1hVaEd0?=
 =?utf-8?B?ZGdtc0FoY2p1amhlQjgzbU1wekhFOEI1QzVzUFVVK0ZCZzB6K3dJank3ak9q?=
 =?utf-8?B?SmptRUhPWWFvNE5yZjV2TFBPc3JVaGFWN3QwLysxYjlrZThFM2Y1STdCL2F3?=
 =?utf-8?B?eWJmMHlVaWFLcno0RDZaL0YvUUJ2NC92RlkzblA4bFdnUGNmaEdzT0pCK3Jn?=
 =?utf-8?B?R21IenlqUGUzaGk1blF4Nm93TzYrSjREdjRScUYvNmF0SWdCRnl3WXhpdmwv?=
 =?utf-8?B?b2NZdTJuZDZsVGliUWQrMzRUTGN4Ni9qYXBWelljLzN1dWczS0FUWVhYakQ3?=
 =?utf-8?B?SkZBbFNZM1RwMFp1MVltdGRXaE0va1FqYUVSOHZFK05Ma1ladDVOVEQxOGNr?=
 =?utf-8?B?QlV3UFo1MXMwdDdrQWZGMGswYnU0b1ZoOS9ZTEdGdW9kK25jcXMrUWxabkZB?=
 =?utf-8?B?WHNmWXpvdnlUOTRQUDMzM2YzZzlCYjY0Rk5yTlRWRndSN04yTEFVTzRpbjdo?=
 =?utf-8?B?TFBIWWRmcVFKQjVudkxKWXBOZ0xYcmFPVXlKakZ6dDB5YktDWjFyRW8zLy8r?=
 =?utf-8?B?dHZTaC9KVkJwMEFHdmVSVis0WEgvUnJZejF5MjhFclNOVis0VGtnODhuT1o3?=
 =?utf-8?B?aTIyZ01HZ2ZZdUYxUm85aHlJdGFkZFFnOWZyU0wxOVdaTnpGbzcyd0NJcUtE?=
 =?utf-8?B?MWtXR2pLSmJrbXRDOGl5OEVadXpiVmppYjg5cWN0TWlQVTR6eUZ4MmNVNVZM?=
 =?utf-8?B?UGJ1UDAxekVxcURuOVBPS25iZFBTYTRuK0x0RFdqaytmbStlTG5vWVcyVnU5?=
 =?utf-8?B?cHpSdVZGM0NEcWdrV3BDbGVnZHpjZWlKL1pDVDN4Z05hMjZzT1FJVUpIbmYw?=
 =?utf-8?B?Si9EWW12SG8wZElFYzZuTUNPd3lOR0lwM2VLaDlEOW5XZ2Uya1ZSTVZVYllm?=
 =?utf-8?B?NnZDcmhoYlJSd09vdHVwOGxyMlVJRk1NbTZCclNVQnE4czk4L1ZzZE1LOGpw?=
 =?utf-8?B?TGNJbGdXNk91Z0t3K0ZaREtoaGQrTTB5cTI1dGNzVkVpQUNISlRiVzFkTlFY?=
 =?utf-8?B?eGRDSzRRb0JocEZJRHlwTUJKQmpTWlJ1cEQrWmhWQit4cHNQbFcxcGFDaHln?=
 =?utf-8?B?TzhNYmRiZ2RaajhXVXJWUTlVOUwzRUFCb2x4TlArVkJtVHJJTVROVDMxNUx5?=
 =?utf-8?B?Qk1wRmVsM1FPZnI2Y1hwVXJ0Ky93UU5sNCtxSHRVYnIvdFMwQVZnbG1TcGZz?=
 =?utf-8?B?MlZPd25pOTE4QWprVVFUbkNpSWNZNHk3U0trMFFpL1c0bXBqWGs1WTJRa1oz?=
 =?utf-8?B?OXl2Mnp0ajhVdUNtRE1PelNyQ29ORWNRSk81QmxyZDNQWDNZWjFyMk5keWZS?=
 =?utf-8?B?STByY1NkNXdqREYwSllDcGVOOTg0Mk51aTRCdmtTVkNQaXhsd2IyekV6OFB2?=
 =?utf-8?B?dnQvMmFMeVdNWUtkWERqbitQOHZuT0U4dFBnYWwrYkNTZXk0bDkxa1VZd3kr?=
 =?utf-8?B?ZUFobmFLUzkyN2hsTHIwUEIxcng5R1ZSMGhmT0ZzbnN1b0YxamhlZzhkaGVt?=
 =?utf-8?B?ai8yZ0tTZFNmeTZKZi9mNU1YTG1xNm8zTWxhSXNibllnVTQ2aFlDTUNYd2ps?=
 =?utf-8?B?VVUweTY4OWMxOGllRjJia0wzTlpHb1Iyb1IzbEMwdHg1Z1RzTXN5UWd3QThv?=
 =?utf-8?B?RHFYaUxtOGc1MDFJZnhPQTk3SUxnVE1kVWkxUWtLclBWTVBiZFdtWUtPYnFy?=
 =?utf-8?B?c0pDaGMyVVl4b2hNSlI0dGZIUldoNnowbGY3Y3I4cG90NnBqY1V1LzRLUm1Z?=
 =?utf-8?B?MjE3K1hlUTlwS2trdjhVVVNLeVFBZk1yS1h3bjQyY0NzV3FhTGxsUWZ0V0I1?=
 =?utf-8?Q?8RmI=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700013)(82310400026)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Oct 2025 14:48:41.6237
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ca94dc92-6a2a-4195-4703-08de01c2c79e
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS2PEPF00003439.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL4PR12MB9723

On Thu Oct 2, 2025 at 4:22 PM CEST, Roger Pau Monn=C3=A9 wrote:
> On Thu, Oct 02, 2025 at 03:55:34PM +0200, Alejandro Vallejo wrote:
>> If QEMU has a debug isa-debug-exit device, we can simply write to it
>> to exit rather than spinning after a failed hypercall.
>>=20
>> While at it, reorder an out-of-order include.
>>=20
>> Signed-off-by: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
>> ---
>>  arch/x86/hvm/traps.c    | 16 +++++++++++++++-
>>  arch/x86/pv/traps.c     |  5 +++++
>>  common/lib.c            |  2 +-
>>  common/report.c         |  8 +++++---
>>  include/xtf/framework.h |  3 +++
>>  5 files changed, 29 insertions(+), 5 deletions(-)
>>=20
>> diff --git a/arch/x86/hvm/traps.c b/arch/x86/hvm/traps.c
>> index ad7b8cb..b8c4d0c 100644
>> --- a/arch/x86/hvm/traps.c
>> +++ b/arch/x86/hvm/traps.c
>> @@ -1,5 +1,6 @@
>> -#include <xtf/traps.h>
>> +#include <xtf/hypercall.h>
>>  #include <xtf/lib.h>
>> +#include <xtf/traps.h>
>> =20
>>  #include <arch/idt.h>
>>  #include <arch/lib.h>
>> @@ -139,6 +140,19 @@ void arch_init_traps(void)
>>                 virt_to_gfn(__end_user_bss));
>>  }
>> =20
>> +void arch_shutdown(unsigned int reason)
>> +{
>> +    hypercall_shutdown(reason);
>
> This relies on the hypercall page being poised with `ret`, which is
> IMO fragile.  I would rather have it poisoned with `int3` and prevent
> such stray accesses in the first place.

I dont' mind caching Xen presence somewhere, but that involves some code mo=
tion
from setup.c, which I wanted to avoid.

At the core I just want to speed up testmaking by doing it from WSL rather =
than
from a Xen host.

>
>> +
>> +    /*
>> +     * Not running under Xen. Attempt exit via the QEMU ISA debug exit =
device on
>> +     * its default port.
>> +     *
>> +     * QEMU's rc is (reason << 1) | 1, if "-device isa-debug-exit" is s=
et.
>> +     */
>> +    outb(reason, 0x501);
>
> That's kind of weird?  So even if we pass reason =3D=3D 0, the exit code
> from QEMU will be 1 (and error)?
>
> Isn't there anyway to signal a clean shutdown, and hence QEMU exit
> code being 0?

Nope. It's hardcoded in QEMU itself.

reason=3D0 =3D> rc=3D1
reason=3D1 =3D> rc=3D3
reason=3D2 =3D> rc=3D5

... and so on.

I have something like this in my harness to avoid surprises:

  set +e
  qemu-system-x86_64 <...>
  RC=3D"$?"
  printf "\n[QEMU exit] rc=3D${RC} reason=3D$(($RC / 2))\n"

On other test harness I use for personal projects I take the convention tha=
t
rc =3D 1 means success and anything else means failure, but that needs chan=
ges
to the runner to integrate the assumptions somewhere, I don't think hardcod=
ing
my conventions is sensible.

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Thu Oct 02 14:54:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Oct 2025 14:54:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1135996.1472888 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4Kh2-0004ky-CV; Thu, 02 Oct 2025 14:54:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1135996.1472888; Thu, 02 Oct 2025 14:54:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4Kh2-0004kr-96; Thu, 02 Oct 2025 14:54:04 +0000
Received: by outflank-mailman (input) for mailman id 1135996;
 Thu, 02 Oct 2025 14:54:03 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <anthony@xenproject.org>) id 1v4Kh1-0004kl-Ha
 for xen-devel@lists.xenproject.org; Thu, 02 Oct 2025 14:54:03 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <anthony@xenproject.org>) id 1v4Kgz-0056Ip-2G;
 Thu, 02 Oct 2025 14:54:01 +0000
Received: from [2a01:cb15:80df:da00:c70a:43d:5717:e951] (helo=l14)
 by xenbits.xenproject.org with esmtpsa (TLS1.3) tls
 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96)
 (envelope-from <anthony@xenproject.org>) id 1v4Kgz-00CTAt-1v;
 Thu, 02 Oct 2025 14:54:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=In-Reply-To:Content-Type:MIME-Version:
	References:Message-ID:Subject:Cc:To:From:Date;
	bh=wdXbw+k/KfsBUn1X9MRelUYw6cnOzO8mb9bzn+NHXXc=; b=tRDmnKj4DRZFWVQ6sNy3qQatb5
	jEK+TmGMZFETnv875KGQTEqdOdIFdHqWE+hwGyU69vHvVe8ndm5kFIK8wLk+zJYHMulaWGhLOovBo
	o6YNDc9DKSJjVfPL6/pVAtAGsAiqXfc9fkQpJN53e6mWOJ/hQAf4w4s/cOYo5nQaLaiw=;
Date: Thu, 2 Oct 2025 16:53:58 +0200
From: Anthony PERARD <anthony@xenproject.org>
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: xen-devel@lists.xenproject.org,
	Anthony PERARD <anthony.perard@vates.tech>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Julien Grall <julien@xen.org>, Juergen Gross <jgross@suse.com>,
	Jan Beulich <jbeulich@suse.com>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Community Manager <community.manager@xenproject.org>
Subject: Re: [XEN PATCH v2 0/8] Allow to build libxl and other tools with
 json-c instead of yajl
Message-ID: <aN6SBgHtefnwPZ9n@l14>
References: <20250929120756.46075-1-anthony@xenproject.org>
 <a9f5969b-c9b8-4384-b4df-58c7951766ec@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <a9f5969b-c9b8-4384-b4df-58c7951766ec@gmail.com>

On Mon, Sep 29, 2025 at 05:35:01PM +0200, Oleksii Kurochko wrote:
> 
> On 9/29/25 2:07 PM, Anthony PERARD wrote:
> > The library YAJL has been unmaintained for several years, without an obvious
> > fork to pick.
> > 
> > On the other and the library json-c is been maintained and use by several other
> > project, it's probably already installed on your machine. So this patch series
> > intend to allow to build the Xen toolstack again json-c, and forgo yajl.
> 
> Do we have any plans to drop fallback to yajl in the next release? Or because of
> this ...

Do we need a plan? We still have to support ancient version of several
dependencies, and json-c is a fairly recent project. In any case, usage
of yajl is quite contained, so I don't think it's a problem to let it
rot, and remove it when it get broken for long enough, but that's
unlikely to happen.

> > 
> > Just in case, YAJL is can still be used.
> > 
> > There's bit of libxl API that exposes YAJL, mainly so it can be used by `xl` to
> > call libxl_domain_config_gen_json(). It was exposed via the "libxl_json.h"
> > headers. This functions and others won't be available when libxl is build
> > against json-c.
> 
> ... that some API trying to use API exposed by YAJL we just can't drop support
> of yajl?

Well, I'm hopping those API are only used by `xl` and nothing else. And
to be fair, I've seen few project dropping support for YAJL and use
json-c instead (libvirt, to name one), so they can't use those API.

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Thu Oct 02 14:57:00 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Oct 2025 14:57:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1136006.1472897 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4Kjr-0005PZ-NX; Thu, 02 Oct 2025 14:56:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1136006.1472897; Thu, 02 Oct 2025 14:56:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4Kjr-0005PS-L3; Thu, 02 Oct 2025 14:56:59 +0000
Received: by outflank-mailman (input) for mailman id 1136006;
 Thu, 02 Oct 2025 14:56:58 +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
 <SRS0=oua8=4L=amd.com=Alejandro.GarciaVallejo@srs-se1.protection.inumbo.net>)
 id 1v4Kjq-0005PH-P8
 for xen-devel@lists.xenproject.org; Thu, 02 Oct 2025 14:56:58 +0000
Received: from CH4PR04CU002.outbound.protection.outlook.com
 (mail-northcentralusazlp170130007.outbound.protection.outlook.com
 [2a01:111:f403:c105::7])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0ab3e502-9fa0-11f0-9d14-b5c5bf9af7f9;
 Thu, 02 Oct 2025 16:56:57 +0200 (CEST)
Received: from CH5P220CA0008.NAMP220.PROD.OUTLOOK.COM (2603:10b6:610:1ef::12)
 by CH1PR12MB9600.namprd12.prod.outlook.com (2603:10b6:610:2ae::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9160.18; Thu, 2 Oct
 2025 14:56:51 +0000
Received: from CH1PEPF0000AD82.namprd04.prod.outlook.com
 (2603:10b6:610:1ef:cafe::a9) by CH5P220CA0008.outlook.office365.com
 (2603:10b6:610:1ef::12) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9182.16 via Frontend Transport; Thu,
 2 Oct 2025 14:56:49 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 CH1PEPF0000AD82.mail.protection.outlook.com (10.167.244.91) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9182.15 via Frontend Transport; Thu, 2 Oct 2025 14:56:50 +0000
Received: from localhost (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Thu, 2 Oct
 2025 07:56:49 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0ab3e502-9fa0-11f0-9d14-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=SKDtirGCou1K4SfySqNzMhn5ShmYUXg2OoTh32SxJVbyh1jvCYkgOQGruMk0P6NwgHJ4WJvOvJs1JKN/1aPd9EXsn1h0fzUf0HSnvuyM+NdC1PzArhoRnr4e41CbJOFogfHofJzs48ZXgFsuswI4Q3ZXZA9GRh8LWZj1HGB45wCGwDhNfcvvcYroZEQcXmMCUgghosr05/J1Qk1jtJA4LxBd1L/v/OSbnO4C3M8vwBtnriGxPQdPhuqVqjGwKLNHi+Fpq8JKasJ4pqqSSA+5ZhMvN5U7wwGBrrZdboFqWArcagejGw7P228KN6M3GqYYxRK9sFQCsrHGKUWFfSuYcA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ZvZ6zqLoJOowut0+PsPB4drCdbO1HTwHruPXRivz1WU=;
 b=aZzYntMiXd/bLn+5s9vvFADB1vQPfHsjfxzUlVh01HhAdBqct8tO/obH9eXvh5tzu0KDyPiGQ3pwjxy+qY2iYhq8l8/nDs+3SiO8gC1QN8WPcBsWKcKKovyiKhX5oaQL68Ub034ihG0pAbvbTBqVNyXngMfvh0vHttv1ILFhfTvbn86xk6HcfBk0VPTsEV9ot8Cr11sN7yF0OzYVNTwMQREXp5LetthvIsGQ49mmq5FBSmd3BIL50uEECrvV3ZOAcxq41AGcvIiYFdNb4pR17clRs3PJF7iIyQ3yTg/0pxK2wsTfx9VAHR8n7QSFD5w4UrzH6js+WkJphwiGQfP79Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=citrix.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ZvZ6zqLoJOowut0+PsPB4drCdbO1HTwHruPXRivz1WU=;
 b=vBwUs8zBAttbBSGOmy2850RUX7zFHXpumS92jJ1QrpQp7maYLciGpGsZSTYU4hU3axEm4+wUBOaWv6CrLHvJ1mcKKd9ZjNkd7Dj+ZdEkIDSb4haIBjiEp3rSSrJPsxMUBNpbxle2BLqMeex+Vznzp5qaYMFDlkfWwL6NjHUkiWY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="UTF-8"
Date: Thu, 2 Oct 2025 16:56:48 +0200
Message-ID: <DD7X9ZDWAJT9.2J6EHGRUMQCVL@amd.com>
From: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
To: =?utf-8?q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>,
	<xen-devel@lists.xenproject.org>, Jan Beulich <jbeulich@suse.com>, Oleksii
 Kurochko <oleksii.kurochko@gmail.com>, Xen-devel
	<xen-devel-bounces@lists.xenproject.org>
Subject: Re: [PATCH for-4.21] x86/hvm: fix reading from 0xe9 IO port if port
 E9 hack is active
X-Mailer: aerc 0.20.1
References: <20251002102200.15548-1-roger.pau@citrix.com>
 <1b4bcb40-d62b-47b5-847f-b6e16906f52e@citrix.com>
 <aN6APR-CUc9xRjfM@Mac.lan> <DD7W410Y9LYL.GD6FXC9Q6H37@amd.com>
 <aN6JZTlumMF2B0ym@Mac.lan>
In-Reply-To: <aN6JZTlumMF2B0ym@Mac.lan>
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH1PEPF0000AD82:EE_|CH1PR12MB9600:EE_
X-MS-Office365-Filtering-Correlation-Id: 7ca4af9f-d9e5-4973-c341-08de01c3eb40
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|1800799024|36860700013|376014|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?WW1HczJCWWVqNm1wWXgrUmJaTEo0dVVJWWYvQjhNL2N5MEpObXVGV21EYWxh?=
 =?utf-8?B?WEh0Tmd5L0lZM1VvdHRTSjluWmNmOWpMNEpKeEhmaDRQZlM3RUV1cnp6WWM3?=
 =?utf-8?B?T1NGSDFiaUpjUXhKYm9Obmh3b1dCN0VlbWpVMDQxRzBzbGNQckdjcVR5MmE3?=
 =?utf-8?B?d1NCamVFQXdpK3NFNURvem5BMy95bGxsNjNoYWVGS3I0bGV3SmtNemVBSThw?=
 =?utf-8?B?ZDJvciswQTd3Y0ZWRFpxZ2NCMWtBdjJqNk43Nlk0Z2hKbzEyRzlYaUlxbUpM?=
 =?utf-8?B?VndJcE1rS0hBL3p5Y2hkd1lzRVRhNTRWL2ZkRlZvVE80WkxPM21uSkhydlQ0?=
 =?utf-8?B?N0xiTXNWRDFXWkkrVVpWZVZTYllzZE9Ld0ZwRjVtOEo3VElwR2NPMUd0TXVn?=
 =?utf-8?B?THZzWkIzVFh3amgxSlVNc3ZGSEZIcjV0ZFIzVDFhbkxiaDVpcGMwVFI3N0Fl?=
 =?utf-8?B?TEtQd0VpWGZuYlkySXVtQ3FwQUpmOTdaRmVaM2hBRDBQRTRKektPdUVXbjlo?=
 =?utf-8?B?UkY3YXk0ZUh1VW9IYUhOeDJXcDRodG14NDN1NUppUHpUbFc4amRCREU5bXJL?=
 =?utf-8?B?b3E0NEpla1E4aGlqcGl2YWNtc3d3cDJua2pWSUdHUFdLYTV0WGovdzlBWTFC?=
 =?utf-8?B?MDQyYXkrVEN6MVdYeXd4d09FUVN5TERObDZNaElMUEVQZkpDOUY5cThsYzd4?=
 =?utf-8?B?SUp3d0xlQWp3VGk4aDhjNlFmbDIvY0U1d3NtM09mUlV2aHZ3SXNrV2l1OFFw?=
 =?utf-8?B?VUNFajFhME05RGlLZG5oSlY3VEJMc3oza3UvL0pIVkxDOUNNbVRxQTdCZG1T?=
 =?utf-8?B?QUZMUHB0V250Q2VkSFFMbFNscmJzMjlhSjhnOWg2cDBya2RZTkhYSUd4KzNP?=
 =?utf-8?B?MXdIbTY0N1VOL09Fb3VqMlpNcVVOZ2U4YzlmbUtjNEJaZUZ1WGVoUmZHemt2?=
 =?utf-8?B?a3B1REMwd3poeWdDQmphTGFHbVZTbEJic1k5b2VnTGVhS3hlOHJ5bFJtUDVw?=
 =?utf-8?B?RytGQ2YwWjJHU3cxelNxcnBZREZPSHJMSGZVQ1V6Q0FwUWZSRDJuWUJvQ1JH?=
 =?utf-8?B?SVNKeWY3K0FoZTJQclZMTEJjVjNhcTRkL0pWT1ZzTlViTjh4L3JqN3A3b2pu?=
 =?utf-8?B?a3k4SHh4Nnl4aElFblYra244S3daMW8yOEx3cHhnZjgxYkNFMk4yL3pwQ1Vq?=
 =?utf-8?B?YkYvRWZjMzlPZGpDNzJSc1E5SDdWaDVpYkM1V0FRTmVBVUNOMU9DVC9wVFhU?=
 =?utf-8?B?MWVlRjgxa3FVdFpmL004Nk9TaUFsWno4ejdzRTlqbDIzdHhHbnVhbmhoeHhx?=
 =?utf-8?B?bHY2cHJ5UGhibnhwS3drUkhGN1NiaC9HT2o5ZGxSZ3plejc5UU5rQlVlNnk1?=
 =?utf-8?B?T1MvS3BHelByTGNWeW03TDREWDhvWHoyc2NyT1NBRWMyVStnMW43ekgzYVNu?=
 =?utf-8?B?WFQ4Qnk2NE91MFZyOGtMRXFmTUZCeW4zNGk0cmVPcllZRm9uRm43OUlNczFx?=
 =?utf-8?B?V1BOSmJZM1phWGNpSGJMcDdmdnpvcGQxYlpXVVlHb1pBT1Nkc3V4NFVkMUhR?=
 =?utf-8?B?K0VTOVh0NDA0U3FXQnVib2luWG03d3RSYXZkTHVzaC9xVS9oQ2Nva3FGVGRD?=
 =?utf-8?B?YWE1VTVkdEFzdmtlZDhUOG5hRTZnK3NhVFF4SDJ2bW9xSGZOU1FIWGppS1Iz?=
 =?utf-8?B?UDRaSjZnWWdhOUJ1YlFoSENkNVFNNzNEaVFRc2oyQkYvd1ZldjNTakxkRllS?=
 =?utf-8?B?OHVQRTg1aGQwVmx5d09XOWNNdmRVZUIybU94czBidjh3MittV0JjaHRkaURz?=
 =?utf-8?B?Mkh0SXM4YmZtRHZJeUFqRWhxRUpnSEFaWVYrZDJRR3FSUVJBYW1VSXA1bStV?=
 =?utf-8?B?Tlg4ekZlUlBGS0hEeWRXdDFlVTdVWjNWenhUSTUyRE80VVFzck56Uy8vMjdS?=
 =?utf-8?B?UGF1ZnByYUlMQUZLb0hZWUFQZS9ERVp4V2UxNHdiejB3cXBaditEUWR0SFhj?=
 =?utf-8?B?SVN3QTNjRDNzck1aZFlYOWhHRmFGWnhIcVJCWUNZK0FwRmtJcklJR3lrRmMv?=
 =?utf-8?Q?MSI6i4?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(36860700013)(376014)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Oct 2025 14:56:50.9779
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7ca4af9f-d9e5-4973-c341-08de01c3eb40
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CH1PEPF0000AD82.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH1PR12MB9600

On Thu Oct 2, 2025 at 4:17 PM CEST, Roger Pau Monn=C3=A9 wrote:
> On Thu, Oct 02, 2025 at 04:02:00PM +0200, Alejandro Vallejo wrote:
>> On Thu Oct 2, 2025 at 3:38 PM CEST, Roger Pau Monn=C3=A9 wrote:
>> > On Thu, Oct 02, 2025 at 11:37:36AM +0100, Andrew Cooper wrote:
>> >> On 02/10/2025 11:22 am, Roger Pau Monne wrote:
>> >> > Reading from the E9 port if the emergency console is active should =
return
>> >> > 0xe9 according to the documentation from Bochs:
>> >> >
>> >> > https://bochs.sourceforge.io/doc/docbook/user/bochsrc.html
>> >> >
>> >> > See `port_e9_hack` section description.
>> >> >
>> >> > Fix Xen so it also returns the port address.  OSes can use it to de=
tect
>> >> > whether the emergency console is available or not.
>> >> >
>> >> > Fixes: d1bd157fbc9b ("Big merge the HVM full-virtualisation abstrac=
tions.")
>> >> > Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
>> >>=20
>> >> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> >>=20
>> >> That's been wrong for rather a long time.=C2=A0 How did you find it?
>> >
>> > I came across the documentation above and I didn't remember Xen
>> > returning any value for reads, which sadly was indeed true.
>> >
>> > This was because I had the intention to suggest Alejandro to (also?) u=
se
>> > the port 0xe9 hack for printing from XTF, which should work for both
>> > Xen and QEMU.
>>=20
>> QEMU doesn't support 0xE9 though?
>
> AFAICT it does:
>
> https://wiki.osdev.org/QEMU#The_debug_console
>
> However when running QEMU on Xen as a device model writes to 0xe9 are
> handled in the hypervisor, and never forwarded to any device model.
>
> Regards, Roger.

The more you know. I searched for it once upon a time and couldn't find it.
Thanks for the pointer.

Regardless, "-debugcon stdio" is functionally equivalent to "-serial stdio"
and the latter can be adapted to work on real hardware too.

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Thu Oct 02 15:37:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Oct 2025 15:37:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1136038.1472908 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4LNP-00028W-NY; Thu, 02 Oct 2025 15:37:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1136038.1472908; Thu, 02 Oct 2025 15:37:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4LNP-00028P-Kl; Thu, 02 Oct 2025 15:37:51 +0000
Received: by outflank-mailman (input) for mailman id 1136038;
 Thu, 02 Oct 2025 15:37:50 +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
 <SRS0=ddTC=4L=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v4LNO-00025A-By
 for xen-devel@lists.xenproject.org; Thu, 02 Oct 2025 15:37:50 +0000
Received: from BL2PR02CU003.outbound.protection.outlook.com
 (mail-eastusazlp17011000f.outbound.protection.outlook.com
 [2a01:111:f403:c100::f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bf831a48-9fa5-11f0-9d14-b5c5bf9af7f9;
 Thu, 02 Oct 2025 17:37:49 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by PH0PR03MB6479.namprd03.prod.outlook.com (2603:10b6:510:bb::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.16; Thu, 2 Oct
 2025 15:37:42 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9182.015; Thu, 2 Oct 2025
 15:37:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bf831a48-9fa5-11f0-9d14-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ytuLqhp5gxkhttX+srVDJ1f59U8sWWeSe1a0UFg86LyKehcCulNbdBgfusANroFmhxRBiKLrViqtVrcphdl2vmSem9Cgx1wycVAfRYNY7lVwPZqMVD+on60IvTkcitSy/6pfKApAE9b9svcaaObOdybe4Q3Bu7gQY/buj6igtK4GgpmRARDE3cOATP3pL5mOJFfTs6nov0EM6F+HNV/qQHJBstzXW8NjDd/Hhkp+VYoEhW9h3/aL4nEIAR8YNZ6vxdRnKQBklR01uErPu0CBJHMTwgspOxFAvtuDnMztyWz8yDZ7miyIDYYVKxS2NWPSJKhrP/GoIRh+UWMO09k4mA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=G1aFb/ZOGyYwPvmz472rrh2Pja0/6K1eWeKRDjo3xD4=;
 b=lXzaXsXWYOBVtUZJXJLFAC54u1zN7ufl9tm/6LcQr9aRUvToZ0OEqfVv2454t+5wrw09sp+2z/oTXoHDUWPk5CVR+3rsZyrZ8NMLxTY7TC7LFrriB/m8usdxIRkyz7etN389RFFai7JqA42XsdGo1+l3fow7TUU5C6wdvsw6qCbWEfrht3FrQV5gL+jzmlFYHEF9lnmOBJB7CyKUeE57vzcDUedYkdX6XWp23DAYoV3lsKYr7VCitjUWEUHxtvq4jhdDDPM9ca0E6IH99LefI4j+s5FIAZFesTFs/aOeowBaEFWylNKCc8uk+8nyRQ553wvh/zU38v+DFfb4l3SqRA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=G1aFb/ZOGyYwPvmz472rrh2Pja0/6K1eWeKRDjo3xD4=;
 b=FlNCliZO06l3rkCkcnhb4altuG08SyDWWXCpQL8V2f2Gx6qMCql5C9PjOYMoomKIuJbtEfvY4bJUXm26qcQF0qwgZ8Rn21XZoGf8iZ1OW+M1mYdTi/rKpL4cWrlKTLy8IUEGIbqbZ2MKlDKjq381js643VfKSBWdSjMLwJUCYjI=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 2 Oct 2025 17:37:36 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
Cc: xen-devel@lists.xenproject.org,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [XTF PATCH v2 2/2] x86: Allow exiting QEMU in TCG/QEMU
Message-ID: <aN6cQBwiM36q_75E@Mac.lan>
References: <20251002135542.28076-1-alejandro.garciavallejo@amd.com>
 <20251002135542.28076-3-alejandro.garciavallejo@amd.com>
 <aN6KrO6LPPJFK17M@Mac.lan>
 <DD7X3QFGUK6Y.DTARYWAB2DF@amd.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <DD7X3QFGUK6Y.DTARYWAB2DF@amd.com>
X-ClientProxiedBy: MA2P292CA0015.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:1::12) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|PH0PR03MB6479:EE_
X-MS-Office365-Filtering-Correlation-Id: 872502ed-005b-456d-0d43-08de01c99f78
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?K2lQM1VkL2dzZzNYZ1g4RnQrbW9nVDVSWllpdmQyS29VZXFrbzliOVFWRW05?=
 =?utf-8?B?ZlR1Uit1VUZMUXF0cUFJa01PYVlmQk9KM2ZRUDJQSXRseEY2Y0pNYU9VTnRX?=
 =?utf-8?B?NG5GMzFnWXU3emIxVkVlUDdoRFVWYktybGV6UkViRm1Pb2xKRnU2MjMzcDdq?=
 =?utf-8?B?dnB2a3RvT3VpSlFuQTJyak9hbW1xNExnQjlsZFhibXJMOEE1cXBURVVSR1BW?=
 =?utf-8?B?MXFmaFdEQzdqOW8ra0ZhUWRDM0VaZm5WQ2hvWk5vU2Z4bTNQYjJQMlVpdWxl?=
 =?utf-8?B?RHVSZG5Lb3ovR2pheXVLYzluSWVsVm8rZExFNGJLM0p4YVRSMnFhQjNCZkhv?=
 =?utf-8?B?K2VWZk9qVWVEYmZDOHczZXlteGk5S2hEK0NLc1llOGsxTHNIK1QvanVDUzg1?=
 =?utf-8?B?RXlXUWNraFRTLzk4ZThXN0lramZ3enFZalhLRThleTZqeTRDenlhS1dsd3Zr?=
 =?utf-8?B?bnV4VDM2aWRPTVI4RGtPSXFjRVpuWnlNRFJiMitOckREL0lTRVJUbG1KUHlK?=
 =?utf-8?B?eHNiczNqMUEzM2ZpQXpJZzcxaUl2SCtQUHg2dkxnNWZwTjNQUE03M21xSzh3?=
 =?utf-8?B?d0JTWGd1bXNlSXl3aDVtWklPbHFINlBGZ0dPdTJtWWhPcG5mY3RrQ2RGT2hM?=
 =?utf-8?B?MW4zQ2xGaGY1amJaTVVqT1gyNHliS2Nob3l4d2kxYm9uKzd2WUhhaG9KSGhi?=
 =?utf-8?B?OEVJN2lIQkJkd2grVUpYK2FzWHdpSWs5ckx6MHlPSXp4SWdTQTV4eHlndDYy?=
 =?utf-8?B?eElITlJNYUx6QjFocXdvcStWclIwWDJFMXVWQXpJZ3crdWoyRU8rTjMzWlB2?=
 =?utf-8?B?aGxSYmFjT3VIRmxKMnF3bHlFNGE1T3dmRFg5QUZIQmRZYVgrK3QvMGo4bHYx?=
 =?utf-8?B?eTlzVTV4SUtKMUI4V3JzbmsyYmJoUERLS2o0VGtTNmJIbkE4UXBySmhwRWNm?=
 =?utf-8?B?WDJQdGNxS3BHYUIxdVNHVXR2SU01NEpaQWVYR2VjRWRIRWtJa1JkYkRBYndF?=
 =?utf-8?B?ZFZoVWx0dkRSMnhFbzJvaXlBTE8zZTMvTkVVSUZnSjZwQmZIbzMxMGx1bGh3?=
 =?utf-8?B?RlVYUWNlWkdYZDJMbWRKNUdHQ3VWaTF1dUtrbHp6dzNXck55MEdHTnhCdXdp?=
 =?utf-8?B?NllMSHV6WmFETGJaR0VZdXNPenlidVpXNWpCUUNZTkRSeGZGSVhTNkg5RStN?=
 =?utf-8?B?blpPLzA3Ky9YZHZvSWZxWkhKaWx5cENvUmk1SDZtY2pscjJNSm1YbWFQcWE3?=
 =?utf-8?B?SEZqQ1Z2YmlNdTU1c3psaFRMdUo5d1NPRzJQeG5DR3V1ZTYyQktFbkJQNmxS?=
 =?utf-8?B?Uk9nRGZGWXlXUVhNcVZiZFlnODFwa1JhK0I0U1J4UnZrSHdOVk1BdTgrOVhq?=
 =?utf-8?B?NHFjcFp3c0FmdEJIdGp1a0oxdlhJWnlXRERxUHA0NXlWRDVoVEYrZml0QlNz?=
 =?utf-8?B?UFRWczk4elpjdzNLRWdCM2hZTGVBSDhITThBL2pDRlpua3J4NGxTRjY5VUVM?=
 =?utf-8?B?REtFVVJYTlFycmhOcmIvaVd2ZVhFQ01jVnBGSHZsZC9zbjFpejJuRVJNUThw?=
 =?utf-8?B?UVRGZVBlUFFrMVR6eUpUdVdHdVRVcDNzMTdFaUJoV1p5VnZMU2VxeU8zWHBJ?=
 =?utf-8?B?RkF3amJFMkE1M1o0UFNJTmxhM2c5ZXhnakJGaDFxUi85c3c3Ulh6L1Z0K3Ra?=
 =?utf-8?B?bGk1elZPaE1UaUhDMUNHYW5va0FrR3pyTTZ3d01obkNvemp5bHlGY05CZFBH?=
 =?utf-8?B?RllkeFpNN0pFQmZKMldEdTFYVVVCOGdIbm84TGdPOC90eUVWT21pbGQrd24v?=
 =?utf-8?B?dGU0UDFtMmVJcFI2MGJkY1RJWFJMT2kxOWNzeGprZGFyMURiamZVUFFLZ3Rz?=
 =?utf-8?B?ZUYzcW9ERkpMZlloSDAwMDlRZk12Zy9YREUzV3kwZUwyYzAzZDBCQ1drUUN5?=
 =?utf-8?Q?ruqlVngByAPIuj4XMXgPTxezSWAipqlv?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?K0crYUNxeVBDc3Roc29vclNlSnV5SXRwcG1SM0c0Yk1Vd1dERitqL2x1dEFI?=
 =?utf-8?B?QU00cHJRVkFkL0dVWnFaYjBSSTRiOE44alNHazV5NDFPSFo1UEVHRzlNYTE2?=
 =?utf-8?B?ZFVYcVNKNGU4MlR2ZXhWSUExa0R0b3JwNUYzNzQ0WmdTb2JiVDFoM0pLTkVW?=
 =?utf-8?B?Rit2OXZYc0JXMis1a2FhQjBKY0V0Q3lieXM3TVZaY0lkT2UvMUpLSmtXZWpT?=
 =?utf-8?B?QnBPdjFNWGpmNUlmNVMwOW14d0VYMWxVcCtnakVsc093YWYvc1NTZ2hPd1VM?=
 =?utf-8?B?NlBkc3JEK3dCMWJpQlRDVUM4TnRGUURvM1Z6b2xQRTZYQlRkU2hkTVdoRlRv?=
 =?utf-8?B?ZWJKOG53RTRGTkQxL2ZycWdmTWtIbFpqYkVJZDg5RW9LRnZzUEVyeVEzYTJm?=
 =?utf-8?B?Q1ZQNTRiS1BWdGZHY2lGclF5RkFmclhGY3ZqZndOTG5NZWpqVkVJYVJKN0xK?=
 =?utf-8?B?VWJGaDhjd1lRZWJjNHZWdjdrNXFsb2kzclN0NHlpa212Y2tmeDFNbnZCUTdr?=
 =?utf-8?B?N0p5TjVvWHVkazZnRDJySEFUelRxQ2ticFlUWnZVYzd6endWNDZiVmZqQUt3?=
 =?utf-8?B?d25TaUw3aStEOFZ2aGhUQ0hOOUhCR1I4OEs5YW1yM3A2UG1Zc2JDbTlwYzNi?=
 =?utf-8?B?bkVFaE40c3cya3UrdUZHeGdLdUpzR2FTMEhaRXlncmhHNFk4cWdMYWswdnBZ?=
 =?utf-8?B?MGpsVWZCUXFOSWFHellleXg5dDB6VEhVYi81OVFudUJLQUFkZWFJam1hNmxR?=
 =?utf-8?B?bE9DUWpiUGxrREVtdG05VFVnK3BxNEdrSkZuRG5RcS9zZDc1b2tmdVQzT09F?=
 =?utf-8?B?bGJjaXRxeU5IMFZhZTNVWXNkSVcxdzlNbmlkTTkxYytEd2pDVHV2eFcyN0pz?=
 =?utf-8?B?Y0NjKytBbFhoQUVwVmtrYmdrNnNQalVVdWVtb2tQMkE1TzNMdDMvNnNPVnAr?=
 =?utf-8?B?VkVSY1FaYnk4aWJ4VFZKd1hIaTU4V25jRnZnUHRsYlMrWTIrV3ozUUx0bjVi?=
 =?utf-8?B?VUpiMVZDWnN6SmhURUxkS1Z2NU9uV1lKL0xUMmNqeFFOcWtFdEtjWllPWEpi?=
 =?utf-8?B?V3JtSmlKUU45NHVEdnBQWHJMNjlFdEtEdHB5V2JwZXo5bVoxa01jNVMxWjdF?=
 =?utf-8?B?UEE3UkJGd2RSckNEanFweWRTN05FNG1xWldQZWpCeWsyVmtvZU5YOHY1djYx?=
 =?utf-8?B?a2FPTE8yek9xNitsVC96c0FOenB2TEsvV0IxZjJTMzF0bnd5RnJyNE9yQU1x?=
 =?utf-8?B?R2pockFkTzlsT2VYMHU5R25NaGF0MTdmWlhiTXZueitIeVYxd1dxSmxFSEdQ?=
 =?utf-8?B?N3pCRTZqK1NSSjNySHVGcUtrOWllL1FwZS9SWE5sa3gvSkZST2RQQ2djS3RK?=
 =?utf-8?B?dEgvNTY2VkRQazJvYmdINFpjaW92S1BPVjd1OTRJdVcvOXBnZGN2MVlseUp5?=
 =?utf-8?B?NzJlZmIzUmxyQ3lCbE9WVUhyakMvRHlTdDVYSjFQNTRxWG5vODlTM2Q2RnhR?=
 =?utf-8?B?d3NPQlpmNEszZlppbHVwUzNVVjFya21HVE91bnJFL3JGaVM2ZncyT1l5dkJV?=
 =?utf-8?B?T3grZ0RmT2Z6TjZUWlpzZ01PR2JOejdCem4rKzNiSXJQZWh1OWxLSTdIVjBs?=
 =?utf-8?B?ekNIcStvejNGVS9XUllxTlR0MUhFZFVtUHJ0UFNVMzQ5bG10L3dtc1RCdldQ?=
 =?utf-8?B?TDVDT3Y2cGlhanRhYkVtVlNHcDNHUklrMEc3VGN3aDk3T1RSWW5ORkJpVWtx?=
 =?utf-8?B?c3czeG01Q0ZGN2xtNUtFOTNRSHVqVEdlajdWK25obzN2M1k4cmlqWVN4eTBM?=
 =?utf-8?B?aS9JK1N5OHkvY01kRjJKUVJ1SXp1WXZiMjJVcUYxWGxOOWJGUmVMck5tM3cw?=
 =?utf-8?B?bDhrZ05hK3hCUUVmb1g2TXFhZDRrYUViOW9tOTErYlpaZjk2Zm4ySFRVNy9X?=
 =?utf-8?B?YlF5Wmh6WGp5RmwxSnJ0cHpOY3pSOEt3ck1lcnIzbitEaDRSRitZSU50U0dW?=
 =?utf-8?B?WW1vaWdXZWtqcmVaN0x5M0REcTlxN1J5b1M1ZGFxa3VhUmFmTUs2cXpTM1BM?=
 =?utf-8?B?NzNzRGxlVW9FSmFGYnBlQnBBSlhmajZqN0s0c1JYU25UTi9WL3dSVXRFZklY?=
 =?utf-8?Q?Shlw7sXsFwmmHDvZwaxvasQtx?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 872502ed-005b-456d-0d43-08de01c99f78
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Oct 2025 15:37:42.0797
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ap9lbLFC1veYfenCj1I6OXdYj05nT4pFMynclyXbJYhID3oqh8nvAN0kk9xxROQ4iCNitLR2MsJ/fVfqDFBJ9A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB6479

On Thu, Oct 02, 2025 at 04:48:38PM +0200, Alejandro Vallejo wrote:
> On Thu Oct 2, 2025 at 4:22 PM CEST, Roger Pau MonnÃ© wrote:
> > On Thu, Oct 02, 2025 at 03:55:34PM +0200, Alejandro Vallejo wrote:
> >> If QEMU has a debug isa-debug-exit device, we can simply write to it
> >> to exit rather than spinning after a failed hypercall.
> >> 
> >> While at it, reorder an out-of-order include.
> >> 
> >> Signed-off-by: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
> >> ---
> >>  arch/x86/hvm/traps.c    | 16 +++++++++++++++-
> >>  arch/x86/pv/traps.c     |  5 +++++
> >>  common/lib.c            |  2 +-
> >>  common/report.c         |  8 +++++---
> >>  include/xtf/framework.h |  3 +++
> >>  5 files changed, 29 insertions(+), 5 deletions(-)
> >> 
> >> diff --git a/arch/x86/hvm/traps.c b/arch/x86/hvm/traps.c
> >> index ad7b8cb..b8c4d0c 100644
> >> --- a/arch/x86/hvm/traps.c
> >> +++ b/arch/x86/hvm/traps.c
> >> @@ -1,5 +1,6 @@
> >> -#include <xtf/traps.h>
> >> +#include <xtf/hypercall.h>
> >>  #include <xtf/lib.h>
> >> +#include <xtf/traps.h>
> >>  
> >>  #include <arch/idt.h>
> >>  #include <arch/lib.h>
> >> @@ -139,6 +140,19 @@ void arch_init_traps(void)
> >>                 virt_to_gfn(__end_user_bss));
> >>  }
> >>  
> >> +void arch_shutdown(unsigned int reason)
> >> +{
> >> +    hypercall_shutdown(reason);
> >
> > This relies on the hypercall page being poised with `ret`, which is
> > IMO fragile.  I would rather have it poisoned with `int3` and prevent
> > such stray accesses in the first place.
> 
> I dont' mind caching Xen presence somewhere, but that involves some code motion
> from setup.c, which I wanted to avoid.

I think it's very likely that at some point we will need to cache this?

enum {
    NATIVE,
    XEN,
    QEMU,
    ...
} hypervisor_env;

Or similar.

> At the core I just want to speed up testmaking by doing it from WSL rather than
> from a Xen host.

Right.  I was pondering whether we want a QEMU target, but
realistically QEMU should be able to run all the hvm* variants.

> >
> >> +
> >> +    /*
> >> +     * Not running under Xen. Attempt exit via the QEMU ISA debug exit device on
> >> +     * its default port.
> >> +     *
> >> +     * QEMU's rc is (reason << 1) | 1, if "-device isa-debug-exit" is set.
> >> +     */
> >> +    outb(reason, 0x501);
> >
> > That's kind of weird?  So even if we pass reason == 0, the exit code
> > from QEMU will be 1 (and error)?
> >
> > Isn't there anyway to signal a clean shutdown, and hence QEMU exit
> > code being 0?
> 
> Nope. It's hardcoded in QEMU itself.
> 
> reason=0 => rc=1
> reason=1 => rc=3
> reason=2 => rc=5
> 
> ... and so on.

Hm, OK, I think it's lacking there's no way to signal a clean exit,
but I guess QEMU had a reason for this.

> I have something like this in my harness to avoid surprises:
> 
>   set +e
>   qemu-system-x86_64 <...>
>   RC="$?"
>   printf "\n[QEMU exit] rc=${RC} reason=$(($RC / 2))\n"
> 
> On other test harness I use for personal projects I take the convention that
> rc = 1 means success and anything else means failure, but that needs changes
> to the runner to integrate the assumptions somewhere, I don't think hardcoding
> my conventions is sensible.

I see, I find it kind of lacking from QEMU, but never mind, not
something we can change.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Oct 02 17:48:52 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Oct 2025 17:48:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1136097.1472918 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4NQ0-0000sv-ER; Thu, 02 Oct 2025 17:48:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1136097.1472918; Thu, 02 Oct 2025 17:48:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4NQ0-0000so-Ab; Thu, 02 Oct 2025 17:48:40 +0000
Received: by outflank-mailman (input) for mailman id 1136097;
 Thu, 02 Oct 2025 17:48:39 +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
 <SRS0=oua8=4L=amd.com=Alejandro.GarciaVallejo@srs-se1.protection.inumbo.net>)
 id 1v4NPz-0000si-5J
 for xen-devel@lists.xenproject.org; Thu, 02 Oct 2025 17:48:39 +0000
Received: from PH0PR06CU001.outbound.protection.outlook.com
 (mail-westus3azlp170110003.outbound.protection.outlook.com
 [2a01:111:f403:c107::3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 05441d63-9fb8-11f0-9d14-b5c5bf9af7f9;
 Thu, 02 Oct 2025 19:48:37 +0200 (CEST)
Received: from MN2PR20CA0060.namprd20.prod.outlook.com (2603:10b6:208:235::29)
 by PH0PR12MB8823.namprd12.prod.outlook.com (2603:10b6:510:28e::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9160.18; Thu, 2 Oct
 2025 17:48:31 +0000
Received: from BN2PEPF000055E0.namprd21.prod.outlook.com
 (2603:10b6:208:235:cafe::b1) by MN2PR20CA0060.outlook.office365.com
 (2603:10b6:208:235::29) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9182.15 via Frontend Transport; Thu,
 2 Oct 2025 17:48:31 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 BN2PEPF000055E0.mail.protection.outlook.com (10.167.245.10) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9203.1 via Frontend Transport; Thu, 2 Oct 2025 17:48:30 +0000
Received: from localhost (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Thu, 2 Oct
 2025 10:48:29 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 05441d63-9fb8-11f0-9d14-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=tx18uIR4HkH9fakXU7iaAPvnVKZbvBcZgfnvMpadjdRo/gA4C4Z74Od42RD2dBjiyk7k+vm+by3Ipbhn2cfAnp6hgjPVXbtfVD9U4OVCegeqSZUCSfaIEmXuXFoc8K9i70GrWqoH0t0t7IgGMbeN7L0H76g9kbxEZeORrHgocMrpztTm9nVw0wI6aCQIrvhHq5rKMa+6jF+M1mWfGcw228H8IRgpUqtd2dUQ5m2+TZ7log63/Fyl6/NW5JaawWO++JBZOXMC5SgxfmqcpFdlQvrvzT2QL/xI+KbpP7yQfPdFZHxCx3fc3XvbXiSP1//LbCwaXNXEfM1bJBLWCXiDrQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SQjmL+6R6uN/1jbPoqK/xe1z2ADs/up8KNeDrd3UZaM=;
 b=YHL7tepYMJlgfDkCJeJivq7akPPB9/qdo6OYtbRKepghkbitmvdXUOGDjnV7ucKoUwYrmZdLb/hc7O2RnO7afI25k4kvVfag7MDq41U24JofT/YjKFcON8TnYQVM3OrMi84vsaQ2STwMnso3qDAyzrgzZaLxDzktsiDagVYS/T7ljV8A64ESiRL4i4lSGijuutXIYJFj9eGPDY+sEmUejxP/RGQywSSNBQoKoL8mjnA2UkcrKyywwKHmjlgLS7a/illSZB1n2Bng5sY+tGM9D2t8dg4BpJ6EU3+kEQjpE71PXzCnjruzqvfrDJePAQkEZBtBW/ziBcGZ+FaGXwsnfw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=citrix.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SQjmL+6R6uN/1jbPoqK/xe1z2ADs/up8KNeDrd3UZaM=;
 b=Do4i9XWuE3T7UTlWIeD7aZ8pri/lf4GAY2hH7OQrd4CSyI4OUIt+4J+2Dsk33+rNqZcJynPBdjVp4+X8Y+LXoDKEYlv87i5iFWSIwyBt0/xggz6h2wbCQvTxjh3SEqjHg5k9g2o37n/opVk+Ve/q2LGZEkLzupa3LDBW8LlG3f8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="UTF-8"
Date: Thu, 2 Oct 2025 19:48:28 +0200
Message-ID: <DD80XF7EVPJ9.1WTMKC34DSW65@amd.com>
To: =?utf-8?q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
CC: <xen-devel@lists.xenproject.org>, Andrew Cooper
	<andrew.cooper3@citrix.com>
Subject: Re: [XTF PATCH v2 2/2] x86: Allow exiting QEMU in TCG/QEMU
From: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
X-Mailer: aerc 0.20.1
References: <20251002135542.28076-1-alejandro.garciavallejo@amd.com>
 <20251002135542.28076-3-alejandro.garciavallejo@amd.com>
 <aN6KrO6LPPJFK17M@Mac.lan> <DD7X3QFGUK6Y.DTARYWAB2DF@amd.com>
 <aN6cQBwiM36q_75E@Mac.lan>
In-Reply-To: <aN6cQBwiM36q_75E@Mac.lan>
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN2PEPF000055E0:EE_|PH0PR12MB8823:EE_
X-MS-Office365-Filtering-Correlation-Id: 0de092d9-6288-4c83-7474-08de01dbe67b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|36860700013|82310400026|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?Y1ZoeDZlcFBvTjVrMHI1QXdiRG0reUJOQy9GYk5ZZmlBUzBCZ3RXbW5Jd3V0?=
 =?utf-8?B?UDR5TVliaUVzWU9IRzBHdk90cVkveHJhVFpRb2ZPV1V0MkxXZ01FV3pDTUdO?=
 =?utf-8?B?SW0vQTVuRkd0aFJqci9KNTVCazRIM0YzZndrdDVqSW45R1RldFNjbGNrckN0?=
 =?utf-8?B?UHVabFZrOFZDRDBwKzA3K1BUbFVob1hsQ0JHeXVFc0Jna0tlemV0M0xYS1Bq?=
 =?utf-8?B?dEdIcDNrdHNUMCtXSEtVUkJCdXRYVWlPcE9xcGN1TFJtWXI4UisxTGNyVysz?=
 =?utf-8?B?ZUpoV0VmaDBtVUg2dHNPMEN4ZURxdjVva3FaUHM0TDZjWGFIOEQrcHdDUm5O?=
 =?utf-8?B?b2srUU02cHluWlRYRGUvT05lV0dmbFd6bEd1dUVqL2M1MVh3STBqM3dsUUwv?=
 =?utf-8?B?Q055SHBybXd0MXNSNzdWUTJ3MHhEdmVrSHc1NkdkR0ppUElTR3IzOFMrQUxZ?=
 =?utf-8?B?OVlUUlhCdzJkYnh5ZDRJdTJwY0g5QjIwY2w3Rnk4K3ZrSTFJdzNYMkJkbGJF?=
 =?utf-8?B?Y1Z4cmRWZmV4YmFSTzU4aDZLS3Q3ZmNFbldsb3djeHpsZTBLWEcreFBHZGVG?=
 =?utf-8?B?bWZZUkMvVVp0MkNKQ0g4UUhkSUd4RkllQUJqV0JVVnFLcVJKcGZOdHo3c1Rr?=
 =?utf-8?B?OGt3NWg0dUFjSm90Nmd5Q1ZjbDdPNjR1Y2ZXNXd1ZFJtOXMyR2dpbm5kcFU1?=
 =?utf-8?B?UTk0eUVDYTZrbEozRjBhSWw2YXBHd0JGS2xwVE1GR1FiY3RhSE1QdVBWcm1Z?=
 =?utf-8?B?OHM1REVBU3N5MzZoSVNrNUV6dlMwbFgrZmhBK0hOd20rekJUcFhuaGpHNFg5?=
 =?utf-8?B?dVRrTnR3cEI5WTlCbjZiZWxieGlTT0lhV3BKR0x5T0gvek9QVXdkcWV3NWRv?=
 =?utf-8?B?QjZIS3JMM2djMkxUU1JsN0dnenQ2SVBTVlJMczNlSGM5L1RjK3NZTTE0aDV3?=
 =?utf-8?B?UVJETmVqOEdyTWYxUjNBdWJpaEQvSGJSMEpHaE43ZnlEQWlYZytoVDhubzR5?=
 =?utf-8?B?NXl1K3FvQ2lmME5HVVRQTE5pSzM5bTRwRStoUmNqUEtHd0l2N2xBOGFydCsx?=
 =?utf-8?B?Ullpd3hrTmN3dnd4cTM0M0VPdUtEQkQrK1RZcUNZbGJHYkxqWmphajBWOXRv?=
 =?utf-8?B?WUFIOUZ3Wm4yZzVVWitwYTNyVXNxbmE2aDNLYzhPZmpPRCtMVTdiSVZYVXlT?=
 =?utf-8?B?aG5LOFRNWlFNRWl3RVdEYll2YTJwWUpvMzNDRU4xREgyMkducTRLdERTNXBI?=
 =?utf-8?B?cVllQzZZek9Rc1RReHZEckZYL1d0WkwzNUZXQll6ZGZLRkxyYXh0MXFoQmkr?=
 =?utf-8?B?bFlORnVKcGl5SGxlUWFFYzM2dTRIbEhBQmV3aE1KTHBGcTlidS9XQW5UT3du?=
 =?utf-8?B?V3piVkQwR3MzTExteUorNERKQUpyb0lLSktNb0ZBcTQzRTJxSnJKcDU0Rkpl?=
 =?utf-8?B?aFQwZjEreGp1QkhlL3E4Q3BUMkphVGxROE1VZVhOVFA4RDBoam81aU1rQWcr?=
 =?utf-8?B?MUlrcGI1TWpTZnhHN0hxMGxPNDQ1YjBVRzNKd1VpMmN1cUZsZnlBdk9nWTJY?=
 =?utf-8?B?Njc4OUV4cElZVVdxejlzaCt4cUIzVm8yd1UrcWo1eDVUM2tKaEpVSTY3eldh?=
 =?utf-8?B?M3ViTERDMlN1cUdubkQwa2hwcUVhV3hrNTRUSytnMll2ZkNxbzBqcGNPbmZK?=
 =?utf-8?B?OGFlY09ic3dSRHpETGRlL2NPYmdjQ3BkdmVqL3VLMEhVN2pUQ1dMaEMyUENP?=
 =?utf-8?B?SHhQL0xSUzVRL0poN1hGVU0rY0N4VWtrVDRGZFFmQStPZHJtY0JrU1VmY09R?=
 =?utf-8?B?OHJTYTBrbHZ4aFNLUmNoejVCNllEcU9XQzkxMm5GSGEzbnBIYm91QTdiSlgx?=
 =?utf-8?B?NUdhTVhuRFBUeEM2WUtUMnRxeGErUjdRSFUvL3F4Sy85WVhOQ0phb1NRNUtr?=
 =?utf-8?B?Rk5tNjlsRU5vNTViak9kVm04blRrTkJLL0dFV2pWNDl2bmlZWHh1Rlc3bmNy?=
 =?utf-8?B?YzQ5TEMwRHEvdmlyd1dOMkNiektiL2MxZ0NiUktHODc2ejJvcXJKVU05S3U2?=
 =?utf-8?B?VGNGRXNQYzRYZnN5VzJDaXZVYmZIYmgxZGNVanRZQ3ZEdHcvRm5zdTFtRGFO?=
 =?utf-8?Q?BFgk=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700013)(82310400026)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Oct 2025 17:48:30.9079
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0de092d9-6288-4c83-7474-08de01dbe67b
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN2PEPF000055E0.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB8823

On Thu Oct 2, 2025 at 5:37 PM CEST, Roger Pau Monn=C3=A9 wrote:
> On Thu, Oct 02, 2025 at 04:48:38PM +0200, Alejandro Vallejo wrote:
>> On Thu Oct 2, 2025 at 4:22 PM CEST, Roger Pau Monn=C3=A9 wrote:
>> > On Thu, Oct 02, 2025 at 03:55:34PM +0200, Alejandro Vallejo wrote:
>> >> If QEMU has a debug isa-debug-exit device, we can simply write to it
>> >> to exit rather than spinning after a failed hypercall.
>> >>=20
>> >> While at it, reorder an out-of-order include.
>> >>=20
>> >> Signed-off-by: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
>> >> ---
>> >>  arch/x86/hvm/traps.c    | 16 +++++++++++++++-
>> >>  arch/x86/pv/traps.c     |  5 +++++
>> >>  common/lib.c            |  2 +-
>> >>  common/report.c         |  8 +++++---
>> >>  include/xtf/framework.h |  3 +++
>> >>  5 files changed, 29 insertions(+), 5 deletions(-)
>> >>=20
>> >> diff --git a/arch/x86/hvm/traps.c b/arch/x86/hvm/traps.c
>> >> index ad7b8cb..b8c4d0c 100644
>> >> --- a/arch/x86/hvm/traps.c
>> >> +++ b/arch/x86/hvm/traps.c
>> >> @@ -1,5 +1,6 @@
>> >> -#include <xtf/traps.h>
>> >> +#include <xtf/hypercall.h>
>> >>  #include <xtf/lib.h>
>> >> +#include <xtf/traps.h>
>> >> =20
>> >>  #include <arch/idt.h>
>> >>  #include <arch/lib.h>
>> >> @@ -139,6 +140,19 @@ void arch_init_traps(void)
>> >>                 virt_to_gfn(__end_user_bss));
>> >>  }
>> >> =20
>> >> +void arch_shutdown(unsigned int reason)
>> >> +{
>> >> +    hypercall_shutdown(reason);
>> >
>> > This relies on the hypercall page being poised with `ret`, which is
>> > IMO fragile.  I would rather have it poisoned with `int3` and prevent
>> > such stray accesses in the first place.
>>=20
>> I dont' mind caching Xen presence somewhere, but that involves some code=
 motion
>> from setup.c, which I wanted to avoid.
>
> I think it's very likely that at some point we will need to cache this?
>
> enum {
>     NATIVE,
>     XEN,
>     QEMU,
>     ...
> } hypervisor_env;
>
> Or similar.

Maybe NATIVE, XEN_VIRT and NON_XEN_VIRT? I see no reason to distinguish bet=
ween
TCG, KVM and any other accelerator; and QEMU is imprecise because we use fo=
r
HVM. You could imagine chainloading XTF from GRUB to test the HVM env.

>
>> At the core I just want to speed up testmaking by doing it from WSL rath=
er than
>> from a Xen host.
>
> Right.  I was pondering whether we want a QEMU target, but
> realistically QEMU should be able to run all the hvm* variants.
>
>> >
>> >> +
>> >> +    /*
>> >> +     * Not running under Xen. Attempt exit via the QEMU ISA debug ex=
it device on
>> >> +     * its default port.
>> >> +     *
>> >> +     * QEMU's rc is (reason << 1) | 1, if "-device isa-debug-exit" i=
s set.
>> >> +     */
>> >> +    outb(reason, 0x501);
>> >
>> > That's kind of weird?  So even if we pass reason =3D=3D 0, the exit co=
de
>> > from QEMU will be 1 (and error)?
>> >
>> > Isn't there anyway to signal a clean shutdown, and hence QEMU exit
>> > code being 0?
>>=20
>> Nope. It's hardcoded in QEMU itself.
>>=20
>> reason=3D0 =3D> rc=3D1
>> reason=3D1 =3D> rc=3D3
>> reason=3D2 =3D> rc=3D5
>>=20
>> ... and so on.
>
> Hm, OK, I think it's lacking there's no way to signal a clean exit,
> but I guess QEMU had a reason for this.

Seems pretty obvious it was intentional. As to what the intention was, your
guess is as good as mine.

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Thu Oct 02 18:27:50 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Oct 2025 18:27:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1136125.1472929 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4O1m-0005yn-CG; Thu, 02 Oct 2025 18:27:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1136125.1472929; Thu, 02 Oct 2025 18:27:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4O1m-0005yg-7Q; Thu, 02 Oct 2025 18:27:42 +0000
Received: by outflank-mailman (input) for mailman id 1136125;
 Thu, 02 Oct 2025 18:27:40 +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
 <SRS0=tSoH=4L=gmail.com=demiobenour@srs-se1.protection.inumbo.net>)
 id 1v4O1k-0005ya-GA
 for xen-devel@lists.xenproject.org; Thu, 02 Oct 2025 18:27:40 +0000
Received: from mail-yw1-x112d.google.com (mail-yw1-x112d.google.com
 [2607:f8b0:4864:20::112d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 790e839e-9fbd-11f0-9809-7dc792cee155;
 Thu, 02 Oct 2025 20:27:38 +0200 (CEST)
Received: by mail-yw1-x112d.google.com with SMTP id
 00721157ae682-72e565bf2f0so15429407b3.3
 for <xen-devel@lists.xenproject.org>; Thu, 02 Oct 2025 11:27:38 -0700 (PDT)
Received: from [10.138.34.110]
 (h96-60-249-169.cncrtn.broadband.dynamic.tds.net. [96.60.249.169])
 by smtp.gmail.com with ESMTPSA id
 00721157ae682-77f81c3c1d0sm10397807b3.26.2025.10.02.11.27.35
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 02 Oct 2025 11:27:35 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 790e839e-9fbd-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1759429657; x=1760034457; darn=lists.xenproject.org;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=K16V8rTi4Rs9CYryis8H5Rwey3hYQJiAfFd4G5JMzcI=;
        b=Ord7I9E20r+sAqwF81plH7XEzwJWM8L0Cjf0AOpla2Qz/kH9Vna2o0x6n/vI3V0XKy
         SkKkFshZcrmpOV5tAq9XCuM8ASctNNCB2Fa/O+rvTcjvnFHUmLdQ+ibDhtNBkXz40tTE
         WwLcOWesqEpAVTNS9lzEZZH4F6zuwWh1Lo+WtnVhuVUjC3za2h62uRYTjM4dDaY2BZua
         qM9uoqpberRvum/07kzdfOrlTcZHSfnY1sdynzjBZtoqlV91qzRxTx48b0/+2MYHdb1m
         v9Fw3fKiwHl65wCOPRrQ234P3V04cg61eOW0LuoSeJH8pwgUIoClU0fBnwqSU+Mea1/C
         7DxQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759429657; x=1760034457;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=K16V8rTi4Rs9CYryis8H5Rwey3hYQJiAfFd4G5JMzcI=;
        b=f94zA8RSxPnbZUhWuCXd0mnSontgw59gH7WWgj2s65MUZR1OeorZwH3qqMAIHlZsh0
         PB13Y62PQDoAHJJabnuqKR3kXVd6UCg+Yu3AQGGjMIxBuIwSljk1snBxo9V7ubKkP06w
         riZUXOEuEpy1/zGOU4MwOtcJkzWPqKVQE5fnvG3rsvWXUTvjl07Baj7inKPhf2VV3yZt
         R8nCiEbLJDi/3TqjX6V6i3zz/u3wVh7ZGeNL42XDo/F3iVqMoS48yRL7D1kAM/00pFL+
         7tL6dOI2UBHtuhOmTMcsZA+/dDqHgvzOTwqdRII8Do4oQDDCJmVPs7ICkf2FK72e3Yz6
         NKdw==
X-Forwarded-Encrypted: i=1; AJvYcCUpf3qwOipk2knsbVJUaVvpu1BDPytj83dCSoA+G3l4uRXJP8rIWjwdnylWKccKL/mTxcvl29bBCdY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyOlOPvI3O1izUuQHtJlV5hLuE4GXO6Nf/Fq3+VXYh8FPs7acz4
	/rm1Ov+aOb7avrKeEqI7Iakv1LcFwyPXg1oinlAUYuwgf6dNEeTF5B7B
X-Gm-Gg: ASbGncvyIvX0hA0nPPOHVIrC1yzfmz2Ao8bb+p1cJXMwAg2/7UP31TS3m8t67YzqZNG
	9w4KfGb9ai9EFD+HQVXpbxAjgOLVOvlVK8nPCTpki4vmlGYzPojrdBY0oXYQoYSNr0khMkU1LLm
	NlhJdL+M2E5QimIedsTaiAtoTGpIYnn14YM39SdVqOzlX3A1/kLwQtW5s7+qVxmACDqEOjs3H1B
	S8PE88loZyGn8RKuRzsvTlT8QN7Mp9d3OUVfpdTTHR18pqCOWh748TLz5duVa1Kb6HRUmmhcdI/
	7Vc0vjj59hb6ilpa46qFNaiff7QeMKNg3JzZnMHi3HgPdjyQBiJ0Fcit9rcnt9JCSlGUQ+1z2DD
	KsP387n6L9PaGrzOEqrG6Qmc6CrRZKAlxNx9uDVY3jmnP1i1QWqugHZXkVmTQzsips9Gfxgmq7U
	Q31IOBbPSppuBpQKFN7D7Wc4w/47kDkLU+VSn+tm6heXEVS56x4tLbPVKRk1M=
X-Google-Smtp-Source: AGHT+IGBEThetXvZnuiHdfqauTmQnMdUs0rcNHgSyz6HytrLIKHwOefiD/vhH6Xr5TUCkA0/WJBUHA==
X-Received: by 2002:a53:c055:0:10b0:635:4ecd:75a0 with SMTP id 956f58d0204a3-63b9a1061e6mr203899d50.46.1759429656981;
        Thu, 02 Oct 2025 11:27:36 -0700 (PDT)
Message-ID: <967b62ca-8aed-4abf-8fa5-30769f46a5ff@gmail.com>
Date: Thu, 2 Oct 2025 14:27:32 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/arm: XEN_DOMCTL_get_address_size hypercall support
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Milan Djokic <milan_djokic@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <39511522aae7dab5766ef2ebfed1d13abec8610e.1759324344.git.milan_djokic@epam.com>
 <bf042eea-ed2d-431e-b1f0-7be0c09194ef@citrix.com>
Content-Language: en-US
From: Demi Marie Obenour <demiobenour@gmail.com>
Autocrypt: addr=demiobenour@gmail.com; keydata=
 xsFNBFp+A0oBEADffj6anl9/BHhUSxGTICeVl2tob7hPDdhHNgPR4C8xlYt5q49yB+l2nipd
 aq+4Gk6FZfqC825TKl7eRpUjMriwle4r3R0ydSIGcy4M6eb0IcxmuPYfbWpr/si88QKgyGSV
 Z7GeNW1UnzTdhYHuFlk8dBSmB1fzhEYEk0RcJqg4AKoq6/3/UorR+FaSuVwT7rqzGrTlscnT
 DlPWgRzrQ3jssesI7sZLm82E3pJSgaUoCdCOlL7MMPCJwI8JpPlBedRpe9tfVyfu3euTPLPx
 wcV3L/cfWPGSL4PofBtB8NUU6QwYiQ9Hzx4xOyn67zW73/G0Q2vPPRst8LBDqlxLjbtx/WLR
 6h3nBc3eyuZ+q62HS1pJ5EvUT1vjyJ1ySrqtUXWQ4XlZyoEFUfpJxJoN0A9HCxmHGVckzTRl
 5FMWo8TCniHynNXsBtDQbabt7aNEOaAJdE7to0AH3T/Bvwzcp0ZJtBk0EM6YeMLtotUut7h2
 Bkg1b//r6bTBswMBXVJ5H44Qf0+eKeUg7whSC9qpYOzzrm7+0r9F5u3qF8ZTx55TJc2g656C
 9a1P1MYVysLvkLvS4H+crmxA/i08Tc1h+x9RRvqba4lSzZ6/Tmt60DPM5Sc4R0nSm9BBff0N
 m0bSNRS8InXdO1Aq3362QKX2NOwcL5YaStwODNyZUqF7izjK4QARAQABzTxEZW1pIE1hcmll
 IE9iZW5vdXIgKGxvdmVyIG9mIGNvZGluZykgPGRlbWlvYmVub3VyQGdtYWlsLmNvbT7CwXgE
 EwECACIFAlp+A0oCGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJELKItV//nCLBhr8Q
 AK/xrb4wyi71xII2hkFBpT59ObLN+32FQT7R3lbZRjVFjc6yMUjOb1H/hJVxx+yo5gsSj5LS
 9AwggioUSrcUKldfA/PKKai2mzTlUDxTcF3vKx6iMXKA6AqwAw4B57ZEJoMM6egm57TV19kz
 PMc879NV2nc6+elaKl+/kbVeD3qvBuEwsTe2Do3HAAdrfUG/j9erwIk6gha/Hp9yZlCnPTX+
 VK+xifQqt8RtMqS5R/S8z0msJMI/ajNU03kFjOpqrYziv6OZLJ5cuKb3bZU5aoaRQRDzkFIR
 6aqtFLTohTo20QywXwRa39uFaOT/0YMpNyel0kdOszFOykTEGI2u+kja35g9TkH90kkBTG+a
 EWttIht0Hy6YFmwjcAxisSakBuHnHuMSOiyRQLu43ej2+mDWgItLZ48Mu0C3IG1seeQDjEYP
 tqvyZ6bGkf2Vj+L6wLoLLIhRZxQOedqArIk/Sb2SzQYuxN44IDRt+3ZcDqsPppoKcxSyd1Ny
 2tpvjYJXlfKmOYLhTWs8nwlAlSHX/c/jz/ywwf7eSvGknToo1Y0VpRtoxMaKW1nvH0OeCSVJ
 itfRP7YbiRVc2aNqWPCSgtqHAuVraBRbAFLKh9d2rKFB3BmynTUpc1BQLJP8+D5oNyb8Ts4x
 Xd3iV/uD8JLGJfYZIR7oGWFLP4uZ3tkneDfYzsFNBFp+A0oBEAC9ynZI9LU+uJkMeEJeJyQ/
 8VFkCJQPQZEsIGzOTlPnwvVna0AS86n2Z+rK7R/usYs5iJCZ55/JISWd8xD57ue0eB47bcJv
 VqGlObI2DEG8TwaW0O0duRhDgzMEL4t1KdRAepIESBEA/iPpI4gfUbVEIEQuqdqQyO4GAe+M
 kD0Hy5JH/0qgFmbaSegNTdQg5iqYjRZ3ttiswalql1/iSyv1WYeC1OAs+2BLOAT2NEggSiVO
 txEfgewsQtCWi8H1SoirakIfo45Hz0tk/Ad9ZWh2PvOGt97Ka85o4TLJxgJJqGEnqcFUZnJJ
 riwoaRIS8N2C8/nEM53jb1sH0gYddMU3QxY7dYNLIUrRKQeNkF30dK7V6JRH7pleRlf+wQcN
 fRAIUrNlatj9TxwivQrKnC9aIFFHEy/0mAgtrQShcMRmMgVlRoOA5B8RTulRLCmkafvwuhs6
 dCxN0GNAORIVVFxjx9Vn7OqYPgwiofZ6SbEl0hgPyWBQvE85klFLZLoj7p+joDY1XNQztmfA
 rnJ9x+YV4igjWImINAZSlmEcYtd+xy3Li/8oeYDAqrsnrOjb+WvGhCykJk4urBog2LNtcyCj
 kTs7F+WeXGUo0NDhbd3Z6AyFfqeF7uJ3D5hlpX2nI9no/ugPrrTVoVZAgrrnNz0iZG2DVx46
 x913pVKHl5mlYQARAQABwsFfBBgBAgAJBQJafgNKAhsMAAoJELKItV//nCLBwNIP/AiIHE8b
 oIqReFQyaMzxq6lE4YZCZNj65B/nkDOvodSiwfwjjVVE2V3iEzxMHbgyTCGA67+Bo/d5aQGj
 gn0TPtsGzelyQHipaUzEyrsceUGWYoKXYyVWKEfyh0cDfnd9diAm3VeNqchtcMpoehETH8fr
 RHnJdBcjf112PzQSdKC6kqU0Q196c4Vp5HDOQfNiDnTf7gZSj0BraHOByy9LEDCLhQiCmr+2
 E0rW4tBtDAn2HkT9uf32ZGqJCn1O+2uVfFhGu6vPE5qkqrbSE8TG+03H8ecU2q50zgHWPdHM
 OBvy3EhzfAh2VmOSTcRK+tSUe/u3wdLRDPwv/DTzGI36Kgky9MsDC5gpIwNbOJP2G/q1wT1o
 Gkw4IXfWv2ufWiXqJ+k7HEi2N1sree7Dy9KBCqb+ca1vFhYPDJfhP75I/VnzHVssZ/rYZ9+5
 1yDoUABoNdJNSGUYl+Yh9Pw9pE3Kt4EFzUlFZWbE4xKL/NPno+z4J9aWemLLszcYz/u3XnbO
 vUSQHSrmfOzX3cV4yfmjM5lewgSstoxGyTx2M8enslgdXhPthZlDnTnOT+C+OTsh8+m5tos8
 HQjaPM01MKBiAqdPgksm1wu2DrrwUi6ChRVTUBcj6+/9IJ81H2P2gJk3Ls3AVIxIffLoY34E
 +MYSfkEjBz0E8CLOcAw7JIwAaeBT
In-Reply-To: <bf042eea-ed2d-431e-b1f0-7be0c09194ef@citrix.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------LbY8c3n6OlAaQS2BkGw1bXsZ"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------LbY8c3n6OlAaQS2BkGw1bXsZ
Content-Type: multipart/mixed; boundary="------------uavCf15wMq0t0iXWtkqQCNN8";
 protected-headers="v1"
From: Demi Marie Obenour <demiobenour@gmail.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Milan Djokic <milan_djokic@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Message-ID: <967b62ca-8aed-4abf-8fa5-30769f46a5ff@gmail.com>
Subject: Re: [PATCH] xen/arm: XEN_DOMCTL_get_address_size hypercall support
References: <39511522aae7dab5766ef2ebfed1d13abec8610e.1759324344.git.milan_djokic@epam.com>
 <bf042eea-ed2d-431e-b1f0-7be0c09194ef@citrix.com>
In-Reply-To: <bf042eea-ed2d-431e-b1f0-7be0c09194ef@citrix.com>

--------------uavCf15wMq0t0iXWtkqQCNN8
Content-Type: multipart/mixed; boundary="------------Gf0etONKRsS1OGLwkdoZlYxQ"

--------------Gf0etONKRsS1OGLwkdoZlYxQ
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On 10/2/25 06:10, Andrew Cooper wrote:
> On 01/10/2025 9:01 pm, Milan Djokic wrote:
>> Signed-off-by: Milan Djokic <milan_djokic@epam.com>
>>
>> ---
>> XEN_DOMCTL_get_address_size hypercall is not implemented for arm (only=
 for x86)
>> It would be useful to have this hypercall supported for arm64, in orde=
r to get
>> current guest addressing mode and also to verify that XEN_DOMCTL_set_a=
ddress_size
>> performs switch to target addressing mode (instead of relying on its r=
eturned error code only).
>=20
> Please don't copy this misfeature of x86 PV guests into ARM.
>=20
> Letting domains be of variable bitness after domain create leads to a
> whole lot of bugs, many security relevant.
>=20
> 32bit vs 64bit should be an input to domain_create(), not something tha=
t
> is edited after the domain has been constructed.

Does this mean that Xen guests cannot support multiarch?
--=20
Sincerely,
Demi Marie Obenour (she/her/hers)
--------------Gf0etONKRsS1OGLwkdoZlYxQ
Content-Type: application/pgp-keys; name="OpenPGP_0xB288B55FFF9C22C1.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB288B55FFF9C22C1.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsFNBFp+A0oBEADffj6anl9/BHhUSxGTICeVl2tob7hPDdhHNgPR4C8xlYt5q49y
B+l2nipdaq+4Gk6FZfqC825TKl7eRpUjMriwle4r3R0ydSIGcy4M6eb0IcxmuPYf
bWpr/si88QKgyGSVZ7GeNW1UnzTdhYHuFlk8dBSmB1fzhEYEk0RcJqg4AKoq6/3/
UorR+FaSuVwT7rqzGrTlscnTDlPWgRzrQ3jssesI7sZLm82E3pJSgaUoCdCOlL7M
MPCJwI8JpPlBedRpe9tfVyfu3euTPLPxwcV3L/cfWPGSL4PofBtB8NUU6QwYiQ9H
zx4xOyn67zW73/G0Q2vPPRst8LBDqlxLjbtx/WLR6h3nBc3eyuZ+q62HS1pJ5EvU
T1vjyJ1ySrqtUXWQ4XlZyoEFUfpJxJoN0A9HCxmHGVckzTRl5FMWo8TCniHynNXs
BtDQbabt7aNEOaAJdE7to0AH3T/Bvwzcp0ZJtBk0EM6YeMLtotUut7h2Bkg1b//r
6bTBswMBXVJ5H44Qf0+eKeUg7whSC9qpYOzzrm7+0r9F5u3qF8ZTx55TJc2g656C
9a1P1MYVysLvkLvS4H+crmxA/i08Tc1h+x9RRvqba4lSzZ6/Tmt60DPM5Sc4R0nS
m9BBff0Nm0bSNRS8InXdO1Aq3362QKX2NOwcL5YaStwODNyZUqF7izjK4QARAQAB
zTxEZW1pIE9iZW5vdXIgKElUTCBFbWFpbCBLZXkpIDxhdGhlbmFAaW52aXNpYmxl
dGhpbmdzbGFiLmNvbT7CwY4EEwEIADgWIQR2h02fEza6IlkHHHGyiLVf/5wiwQUC
X6YJvQIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgAAKCRCyiLVf/5wiwWRhD/0Y
R+YYC5Kduv/2LBgQJIygMsFiRHbR4+tWXuTFqgrxxFSlMktZ6gQrQCWe38WnOXkB
oY6n/5lSJdfnuGd2UagZ/9dkaGMUkqt+5WshLFly4BnP7pSsWReKgMP7etRTwn3S
zk1OwFx2lzY1EnnconPLfPBc6rWG2moA6l0WX+3WNR1B1ndqpl2hPSjT2jUCBWDV
rGOUSX7r5f1WgtBeNYnEXPBCUUM51pFGESmfHIXQrqFDA7nBNiIVFDJTmQzuEqIy
Jl67pKNgooij5mKzRhFKHfjLRAH4mmWZlB9UjDStAfFBAoDFHwd1HL5VQCNQdqEc
/9lZDApqWuCPadZN+pGouqLysesIYsNxUhJ7dtWOWHl0vs7/3qkWmWun/2uOJMQh
ra2u8nA9g91FbOobWqjrDd6x3ZJoGQf4zLqjmn/P514gb697788e573WN/MpQ5XI
Fl7aM2d6/GJiq6LC9T2gSUW4rbPBiqOCeiUx7Kd/sVm41p9TOA7fEG4bYddCfDsN
xaQJH6VRK3NOuBUGeL+iQEVF5Xs6Yp+U+jwvv2M5Lel3EqAYo5xXTx4ls0xaxDCu
fudcAh8CMMqx3fguSb7Mi31WlnZpk0fDuWQVNKyDP7lYpwc4nCCGNKCj622ZSocH
AcQmX28L8pJdLYacv9pU3jPy4fHcQYvmTavTqowGnM08RGVtaSBNYXJpZSBPYmVu
b3VyIChsb3ZlciBvZiBjb2RpbmcpIDxkZW1pb2Jlbm91ckBnbWFpbC5jb20+wsF4
BBMBAgAiBQJafgNKAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRCyiLVf
/5wiwYa/EACv8a2+MMou9cSCNoZBQaU+fTmyzft9hUE+0d5W2UY1RY3OsjFIzm9R
/4SVccfsqOYLEo+S0vQMIIIqFEq3FCpXXwPzyimotps05VA8U3Bd7yseojFygOgK
sAMOAee2RCaDDOnoJue01dfZMzzHPO/TVdp3OvnpWipfv5G1Xg96rwbhMLE3tg6N
xwAHa31Bv4/Xq8CJOoIWvx6fcmZQpz01/lSvsYn0KrfEbTKkuUf0vM9JrCTCP2oz
VNN5BYzqaq2M4r+jmSyeXLim922VOWqGkUEQ85BSEemqrRS06IU6NtEMsF8EWt/b
hWjk/9GDKTcnpdJHTrMxTspExBiNrvpI2t+YPU5B/dJJAUxvmhFrbSIbdB8umBZs
I3AMYrEmpAbh5x7jEjoskUC7uN3o9vpg1oCLS2ePDLtAtyBtbHnkA4xGD7ar8mem
xpH9lY/i+sC6CyyIUWcUDnnagKyJP0m9ks0GLsTeOCA0bft2XA6rD6aaCnMUsndT
ctrab42CV5XypjmC4U1rPJ8JQJUh1/3P48/8sMH+3krxpJ06KNWNFaUbaMTGiltZ
7x9DngklSYrX0T+2G4kVXNmjaljwkoLahwLla2gUWwBSyofXdqyhQdwZsp01KXNQ
UCyT/Pg+aDcm/E7OMV3d4lf7g/CSxiX2GSEe6BlhSz+Lmd7ZJ3g32M1ARGVtaSBN
YXJpZSBPYmVub3VyIChJVEwgRW1haWwgS2V5KSA8ZGVtaUBpbnZpc2libGV0aGlu
Z3NsYWIuY29tPsLBjgQTAQgAOBYhBHaHTZ8TNroiWQcccbKItV//nCLBBQJgOEV+
AhsDBQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJELKItV//nCLBKwoP/1WSnFdv
SAD0g7fD0WlF+oi7ISFT7oqJnchFLOwVHK4Jg0e4hGn1ekWsF3Ha5tFLh4V/7UUu
obYJpTfBAA2CckspYBqLtKGjFxcaqjjpO1I2W/jeNELVtSYuCOZICjdNGw2Hl9yH
KRZiBkqc9u8lQcHDZKq4LIpVJj6ZQV/nxttDX90ax2No1nLLQXFbr5wb465LAPpU
lXwunYDij7xJGye+VUASQh9datye6orZYuJvNo8Tr3mAQxxkfR46LzWgxFCPEAZJ
5P56Nc0IMHdJZj0Uc9+1jxERhOGppp5jlLgYGK7faGB/jTV6LaRQ4Ad+xiqokDWp
mUOZsmA+bMbtPfYjDZBz5mlyHcIRKIFpE1l3Y8F7PhJuzzMUKkJi90CYakCV4x/a
Zs4pzk5E96c2VQx01RIEJ7fzHF7lwFdtfTS4YsLtAbQFsKayqwkGcVv2B1AHeqdo
TMX+cgDvjd1ZganGlWA8Sv9RkNSMchn1hMuTwERTyFTr2dKPnQdA1F480+jUap41
ClXgn227WkCIMrNhQGNyJsnwyzi5wS8rBVRQ3BOTMyvGM07j3axUOYaejEpg7wKi
wTPZGLGH1sz5GljD/916v5+v2xLbOo5606j9dWf5/tAhbPuqrQgWv41wuKDi+dDD
EKkODF7DHes8No+QcHTDyETMn1RYm7t0RKR4zsFNBFp+A0oBEAC9ynZI9LU+uJkM
eEJeJyQ/8VFkCJQPQZEsIGzOTlPnwvVna0AS86n2Z+rK7R/usYs5iJCZ55/JISWd
8xD57ue0eB47bcJvVqGlObI2DEG8TwaW0O0duRhDgzMEL4t1KdRAepIESBEA/iPp
I4gfUbVEIEQuqdqQyO4GAe+MkD0Hy5JH/0qgFmbaSegNTdQg5iqYjRZ3ttiswalq
l1/iSyv1WYeC1OAs+2BLOAT2NEggSiVOtxEfgewsQtCWi8H1SoirakIfo45Hz0tk
/Ad9ZWh2PvOGt97Ka85o4TLJxgJJqGEnqcFUZnJJriwoaRIS8N2C8/nEM53jb1sH
0gYddMU3QxY7dYNLIUrRKQeNkF30dK7V6JRH7pleRlf+wQcNfRAIUrNlatj9Txwi
vQrKnC9aIFFHEy/0mAgtrQShcMRmMgVlRoOA5B8RTulRLCmkafvwuhs6dCxN0GNA
ORIVVFxjx9Vn7OqYPgwiofZ6SbEl0hgPyWBQvE85klFLZLoj7p+joDY1XNQztmfA
rnJ9x+YV4igjWImINAZSlmEcYtd+xy3Li/8oeYDAqrsnrOjb+WvGhCykJk4urBog
2LNtcyCjkTs7F+WeXGUo0NDhbd3Z6AyFfqeF7uJ3D5hlpX2nI9no/ugPrrTVoVZA
grrnNz0iZG2DVx46x913pVKHl5mlYQARAQABwsFfBBgBAgAJBQJafgNKAhsMAAoJ
ELKItV//nCLBwNIP/AiIHE8boIqReFQyaMzxq6lE4YZCZNj65B/nkDOvodSiwfwj
jVVE2V3iEzxMHbgyTCGA67+Bo/d5aQGjgn0TPtsGzelyQHipaUzEyrsceUGWYoKX
YyVWKEfyh0cDfnd9diAm3VeNqchtcMpoehETH8frRHnJdBcjf112PzQSdKC6kqU0
Q196c4Vp5HDOQfNiDnTf7gZSj0BraHOByy9LEDCLhQiCmr+2E0rW4tBtDAn2HkT9
uf32ZGqJCn1O+2uVfFhGu6vPE5qkqrbSE8TG+03H8ecU2q50zgHWPdHMOBvy3Ehz
fAh2VmOSTcRK+tSUe/u3wdLRDPwv/DTzGI36Kgky9MsDC5gpIwNbOJP2G/q1wT1o
Gkw4IXfWv2ufWiXqJ+k7HEi2N1sree7Dy9KBCqb+ca1vFhYPDJfhP75I/VnzHVss
Z/rYZ9+51yDoUABoNdJNSGUYl+Yh9Pw9pE3Kt4EFzUlFZWbE4xKL/NPno+z4J9aW
emLLszcYz/u3XnbOvUSQHSrmfOzX3cV4yfmjM5lewgSstoxGyTx2M8enslgdXhPt
hZlDnTnOT+C+OTsh8+m5tos8HQjaPM01MKBiAqdPgksm1wu2DrrwUi6ChRVTUBcj
6+/9IJ81H2P2gJk3Ls3AVIxIffLoY34E+MYSfkEjBz0E8CLOcAw7JIwAaeBTzsFN
BGbyLVgBEACqClxh50hmBepTSVlan6EBq3OAoxhrAhWZYEwN78k+ENhK68KhqC5R
IsHzlL7QHW1gmfVBQZ63GnWiraM6wOJqFTL4ZWvRslga9u28FJ5XyK860mZLgYhK
9BzoUk4s+dat9jVUbq6LpQ1Ot5I9vrdzo2p1jtQ8h9WCIiFxSYy8s8pZ3hHh5T64
GIj1m/kY7lG3VIdUgoNiREGf/iOMjUFjwwE9ZoJ26j9p7p1U+TkKeF6wgswEB1T3
J8KCAtvmRtqJDq558IU5jhg5fgN+xHB8cgvUWulgK9FIF9oFxcuxtaf/juhHWKMO
RtL0bHfNdXoBdpUDZE+mLBUAxF6KSsRrvx6AQyJs7VjgXJDtQVWvH0PUmTrEswgb
49nNU+dLLZQAZagxqnZ9Dp5l6GqaGZCHERJcLmdY/EmMzSf5YazJ6c0vO8rdW27M
kn73qcWAplQn5mOXaqbfzWkAUPyUXppuRHfrjxTDz3GyJJVOeMmMrTxH4uCaGpOX
Z8tN6829J1roGw4oKDRUQsaBAeEDqizXMPRc+6U9vI5FXzbAsb+8lKW65G7JWHym
YPOGUt2hK4DdTA1PmVo0DxH00eWWeKxqvmGyX+Dhcg+5e191rPsMRGsDlH6KihI6
+3JIuc0y6ngdjcp6aalbuvPIGFrCRx3tnRtNc7He6cBWQoH9RPwluwARAQABwsOs
BBgBCgAgFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmbyLVgCGwICQAkQsoi1X/+c
IsHBdCAEGQEKAB0WIQSilC2pUlbVp66j3+yzNoc6synyUwUCZvItWAAKCRCzNoc6
synyU85gD/0T1QDtPhovkGwoqv4jUbEMMvpeYQf+oWgm/TjWPeLwdjl7AtY0G9Ml
ZoyGniYkoHi37Gnn/ShLT3B5vtyI58ap2+SSa8SnGftdAKRLiWFWCiAEklm9FRk8
N3hwxhmSFF1KR/AIDS4g+HIsZn7YEMubBSgLlZZ9zHl4O4vwuXlREBEW97iL/FSt
VownU2V39t7PtFvGZNk+DJH7eLO3jmNRYB0PL4JOyyda3NH/J92iwrFmjFWWmmWb
/Xz8l9DIs+Z59pRCVTTwbBEZhcUc7rVMCcIYL+q1WxBG2e6lMn15OQJ5WfiE6E0I
sGirAEDnXWx92JNGx5l+mMpdpsWhBZ5iGTtttZesibNkQfd48/eCgFi4cxJUC4PT
UQwfD9AMgzwSTGJrkI5XGy+XqxwOjL8UA0iIrtTpMh49zw46uV6kwFQCgkf32jZM
OLwLTNSzclbnA7GRd8tKwezQ/XqeK3dal2n+cOr+o+Eka7yGmGWNUqFbIe8cjj9T
JeF3mgOCmZOwMI+wIcQYRSf+e5VTMO6TNWH5BI3vqeHSt7HkYuPlHT0pGum88d4a
pWqhulH4rUhEMtirX1hYx8Q4HlUOQqLtxzmwOYWkhl1C+yPObAvUDNiHCLf9w28n
uihgEkzHt9J4VKYulyJM9fe3ENcyU6rpXD7iANQqcr87ogKXFxknZ97uEACvSucc
RbnnAgRqZ7GDzgoBerJ2zrmhLkeREZ08iz1zze1JgyW3HEwdr2UbyAuqvSADCSUU
GN0vtQHsPzWl8onRc7lOPqPDF8OO+UfN9NAfA4wl3QyChD1GXl9rwKQOkbvdlYFV
UFx9u86LNi4ssTmU8p9NtHIGpz1SYMVYNoYy9NU7EVqypGMguDCL7gJt6GUmA0sw
p+YCroXiwL2BJ7RwRqTpgQuFL1gShkA17D5jK4mDPEetq1d8kz9rQYvAR/sTKBsR
ImC3xSfn8zpWoNTTB6lnwyP5Ng1bu6esS7+SpYprFTe7ZqGZF6xhvBPf1Ldi9UAm
U2xPN1/eeWxEa2kusidmFKPmN8lcT4miiAvwGxEnY7Oww9CgZlUB+LP4dl5VPjEt
sFeAhrgxLdpVTjPRRwTd9VQF3/XYl83j5wySIQKIPXgT3sG3ngAhDhC8I8GpM36r
8WJJ3x2yVzyJUbBPO0GBhWE2xPNIfhxVoU4cGGhpFqz7dPKSTRDGq++MrFgKKGpI
ZwT3CPTSSKc7ySndEXWkOYArDIdtyxdE1p5/c3aoz4utzUU7NDHQ+vVIwlnZSMiZ
jek2IJP3SZ+COOIHCVxpUaZ4lnzWT4eDqABhMLpIzw6NmGfg+kLBJhouqz81WITr
EtJuZYM5blWncBOJCoWMnBEcTEo/viU3GgcVRw=3D=3D
=3Dx94R
-----END PGP PUBLIC KEY BLOCK-----

--------------Gf0etONKRsS1OGLwkdoZlYxQ--

--------------uavCf15wMq0t0iXWtkqQCNN8--

--------------LbY8c3n6OlAaQS2BkGw1bXsZ
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEopQtqVJW1aeuo9/sszaHOrMp8lMFAmjexBUACgkQszaHOrMp
8lOeiA/8Db76d4mAresJBWR+kRG6oYZQCDfi6SU52MHmuGvANZx/2Y7LK1iCKlhS
6rZvFNZTmSIIfjDdpjkY6Lz7mdkmMdLbSFfqqB9vsAKWuPC9gtWAdKzAYjHtbx2P
9elNJJzwgt7hyDajyPx1Rp66hEGJF4deK3sZHv/yk2/ImZaE0fg4DYRryHHMTCFE
k7QedcE9GLfKKv25Ksh0J1wf10Rn8qXynceyTffvyspO6/s/cpYjZavli8fS9TjX
tirk3FUSMTVqDPqGN4rNwsTnYV4OQyG95JyEcKd2bWafIUge1Elwn/uRJr9hzEvn
S99kU1/NUhP2gMuRsLhIPcnwkCdQai5xyrksqiyGjLWKtwjutn3CNvLro2VEnrUw
qA+2av762gtcn4hyafLqU6vzVhff3jkh3fBsQInhFj4s/lkYuCkewsZJkcCmePwP
15ZrjZc825ASETARUHoGp+clFyPYJHbzoKkh23u8mXzSGGZ3L2RdiN5vtnVCBLZt
ztY+YBkBpcAtC6FWNNXfnIfjFxqcPChwttgjhQiMZAbvIj5j4h7e4WvS0jgm0d4V
05vo25riuAvhBmcFBaf7pOddudTFhGb41nV2ORavZ39CKbtXQJDvzVKfqcDcP8qj
gG0tENgaRK21GLV0MgQkSOWqWmZpBhEhq1mXBOnSS6jtA9niKN8=
=QsxR
-----END PGP SIGNATURE-----

--------------LbY8c3n6OlAaQS2BkGw1bXsZ--


From xen-devel-bounces@lists.xenproject.org Thu Oct 02 23:44:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Oct 2025 23:44:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1136235.1472938 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4Sxy-0007Ts-3s; Thu, 02 Oct 2025 23:44:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1136235.1472938; Thu, 02 Oct 2025 23:44:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4Sxy-0007Tl-0w; Thu, 02 Oct 2025 23:44:06 +0000
Received: by outflank-mailman (input) for mailman id 1136235;
 Thu, 02 Oct 2025 23:44:05 +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
 <SRS0=sc7N=4L=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1v4Sxw-0007Tf-TS
 for xen-devel@lists.xenproject.org; Thu, 02 Oct 2025 23:44:04 +0000
Received: from DM1PR04CU001.outbound.protection.outlook.com
 (mail-centralusazlp170100005.outbound.protection.outlook.com
 [2a01:111:f403:c111::5])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id acb8bace-9fe9-11f0-9d14-b5c5bf9af7f9;
 Fri, 03 Oct 2025 01:44:02 +0200 (CEST)
Received: from BY3PR05CA0027.namprd05.prod.outlook.com (2603:10b6:a03:254::32)
 by MW6PR12MB8900.namprd12.prod.outlook.com (2603:10b6:303:244::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9160.17; Thu, 2 Oct
 2025 23:43:54 +0000
Received: from CO1PEPF000042A9.namprd03.prod.outlook.com
 (2603:10b6:a03:254:cafe::b5) by BY3PR05CA0027.outlook.office365.com
 (2603:10b6:a03:254::32) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9182.14 via Frontend Transport; Thu,
 2 Oct 2025 23:43:53 +0000
Received: from satlexmb08.amd.com (165.204.84.17) by
 CO1PEPF000042A9.mail.protection.outlook.com (10.167.243.38) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9182.15 via Frontend Transport; Thu, 2 Oct 2025 23:43:52 +0000
Received: from satlexmb10.amd.com (10.181.42.219) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Thu, 2 Oct
 2025 16:43:52 -0700
Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb10.amd.com
 (10.181.42.219) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Thu, 2 Oct
 2025 16:43:52 -0700
Received: from fedora.mshome.net (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.17 via Frontend
 Transport; Thu, 2 Oct 2025 16:43:51 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: acb8bace-9fe9-11f0-9d14-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=HcgUlOiOyLtzTt3fp6n3yx6/4zOzoQFxr2lC0uXBIwZHL+X4jn+ukf482a6wce20wKgBTyNqh+pgfWOuLrx+tYsYpRNTR+XQBbgqxjW/Igr/T3kHR4HRJKIXOz2CUTiceHyG8axzpnOq7oLmT67FG/5nLN5dHq1yqAQqZx5+06hZ8mp7Gd2vc1MoGogwo97x7aUyx5ZFrsLgCdCR21ZRYgrcF9v5hDBmwZWeRySj4o87z9hChALPIHdUEQx/Y90zG3s8BpzSiwFoD22LA6KKQXYDlp5j7HsvwNB4jl3ddWFLIBy1XLFFmqDtJucKofjylIED0v0ETROMU1A5/Dr+LA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VT6I6bq+q2hZBc8+wpQ9CAPKoLruP5nyKbZZqRECRvE=;
 b=D5rE+wtUFZbt5Qso4w1oelmYBP/iML+Y06rtD4QPk0ZkwMQderWZfa3RcIhrJLjVDYf0Yv5mrnIFRQHETk2Aq28qhURFp6B8KL0gNMGwqSZIVtP8X9Cd29yZduNYQkTQKOBcjGyBRJDacHkUDfkd6fIhdVoNM0TZ9B2BncJIHSEbUODFuxlFCe4sGlRtuwK90jGGQwFbCABb/kOGZCvTm5pa2k1VJOq3tiAa7Zp7K9Mq8l21iTyeAy+OXdpjCCGNYN7XjxCQ2Xa8JQ0XiOc+6H30ROMTgSg6RL3CqOrn4S1oco0lHhEHayF6CS8WIDy9bUXzpQE1TleYEvjXlGXlNQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VT6I6bq+q2hZBc8+wpQ9CAPKoLruP5nyKbZZqRECRvE=;
 b=0FvWGwCKvdvOAwwQ5tXUE/maC+oGOC68L+qWsCHPM8Ws9ayWDhzx/ZGSZmSCoduIDQzOMW3aPt0lo4T+pU3tZJw4ZtfeQs++PDAouW9vxXuQe2ztNxqEe8JXKbBp2mU5tZNH9e79EWZL9Y+5r8xZfp3vKOx2k/iiNjx46UtMMAM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jason Andryuk <jason.andryuk@amd.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>, "Julien
 Grall" <julien@xen.org>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH] MAINTAINERS: Add myself as an AMD SVM & IOMMU reviewer
Date: Thu, 2 Oct 2025 19:42:38 -0400
Message-ID: <20251002234311.10926-1-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.51.0
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000042A9:EE_|MW6PR12MB8900:EE_
X-MS-Office365-Filtering-Correlation-Id: f190ef69-4f61-4fe2-abd0-08de020d8b74
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|1800799024|82310400026|36860700013|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?RTBEVHhGRXZ1TG1JNWp5N0pXMWU0ajd6WjAyZUFFUHI2SFVHN3RyYnZvdVJs?=
 =?utf-8?B?NlJwdUNQcS92alJoVVFwbm9PMGZQS0x4VnExazM4NXZDRmlJekpCT1YrbHRM?=
 =?utf-8?B?VkRFZWZYbWFOdG0vUzN6TzdnczR2WFczMzNiWW9kNS9qSmpEdnJhcGVmc1Ru?=
 =?utf-8?B?MW82M3VsYjMxMFdNQkhTZzI5RkZBdzZKWDJWQjJTdXM2ZHJqc1RQYmh3dUVS?=
 =?utf-8?B?MXhUVHZ3MldSVWJhU0VxQjJPZVFXbm84L1RuNHdVZFJna2VjbVF3emhyRTNq?=
 =?utf-8?B?SFpJRlVJd0ZTQWd4dURhQzV6QTNEbmQxVU96WTM1cWJ3K0lWUGxYZXZIWmVy?=
 =?utf-8?B?TkwzVE9Edml0eHFZckFpWWNONFI1OEN0c2I3K1NqSTUvVUI3dUVmbFpESDVB?=
 =?utf-8?B?QzlNR3VJNlVFeXlCVG9YM3pRa0JoOHlyekRMTmRwa2xpNm1VNXpycGZORUo1?=
 =?utf-8?B?NGJmaGVHRUduMDV1dWUzTURMS2IvSXRsL09Qek8xbk9CSkVGdmpIL1dpWWl5?=
 =?utf-8?B?K3MzMEE2SlFuWkkzanBWbHNLeXErckRxNTRHN1JqbDgyTGdlSmtmRVVOUWlZ?=
 =?utf-8?B?UVhGWDlzUzZjM3ZETXY3aFlXT2NEZnZsVmVCV05Zc1hYa1k3b3hCbkJpSHE5?=
 =?utf-8?B?bEVaSnJrY3QvaXozRHdUWEtCdVZ0MDJIRUtVckVyUnozOFliakVEVUNyay9G?=
 =?utf-8?B?SHVQVk9SWjZaS2JXaU8xUjNaWVp5bndObU9jWGxlSk1HQU5YWDRuTytqWHgy?=
 =?utf-8?B?V3JWQVFRckREL0l1VEFGUElkYWZaem9iV3JreURRWGNpK3BCUHIvajIrZ1N1?=
 =?utf-8?B?NG1HdE5jc0V2d1JsbnRWYmJVd1VKMXdTdmZMdTc0S3JDNnNFWEE3M091cS9I?=
 =?utf-8?B?a05FcHppeGVRSFB6cUZnVlhHSGsyMDlyaHJXSnAvYk5MUGlHYzAybmNjamw0?=
 =?utf-8?B?bmplNG43ZGU3ZzJ6Z3hWSUw4My9xMVlyNWtwdTVzcWVaczlxeE1OYkh6aXIz?=
 =?utf-8?B?VitOMmFuTzNWTTFMTFphOHlyV2l6ZmRqRW1IVXBzdnlWUlQvNllnZGNheEpo?=
 =?utf-8?B?T1RscGp0dUdkd2pIMnExNGRlaW5Md1ZoeTdJQVlmSlczYkgxcjdCa3g2ZjVq?=
 =?utf-8?B?SGM0eU5SVjgwTzVtc004QzlvZE1XNW5MTkczUEhsSzE4V3N2UzU4TTVMUFlO?=
 =?utf-8?B?VVRZUktBZkdldm1tZUpEVDMvdS9jM2JheWNZTDdUdE4zY1JNeWkxUFZ1UGFJ?=
 =?utf-8?B?WTVlcWdZY0VtMXhsaTRGYmhua2F3RnJidWRwWUxzS3NlMkxaWHVXVWVqMm1Y?=
 =?utf-8?B?eUsyNWpzaHhGRnNsajFrQWhZVWtpRGFGVzM1Ly9VTmJSQU1SK2NUc1dGZlpp?=
 =?utf-8?B?YTMvdElYKzZraTYvb1Q0QzF1amovVWY5Wm4wSEk1YWhkSTNMSUVMa1pnRWVw?=
 =?utf-8?B?ajI1N1I0UWJvb0owbUVHSEROT1ZFK0dMSTlzNUlvRnF5STRQYlR4WGhVcENZ?=
 =?utf-8?B?aXAycmovNVJJaTM4elozZ3JmNzlEQUtjRERoMjM1ajBtWVJFU2pyMU0yeWFZ?=
 =?utf-8?B?SXV0Y2dsSS9lOVhkVG8rdEk4NTJuV3NNZHkvMFVFY1JyTHBoM2swL3AwL091?=
 =?utf-8?B?MFJFZkdYRnVwWVpxR0EvdnY2Z1RvcjBtQXpaMGsxR2MzdFg5RGlxSzNCcVdl?=
 =?utf-8?B?YnpXZGp6OTF3UlRGbTZ4Z1ZWQmNUSVl1VWhrYnJnZFhZNVVQWmVSYXZ5SE43?=
 =?utf-8?B?eEU3eVZ5K2k3V3prK3UwZWZvK2JTT0pCOXBkNUpHVS9YRVF5YjVucTRIdUlG?=
 =?utf-8?B?c0pzNENLM1pBUXl1bU5ZWVJTcHNFYnJYVnJFOWZTWHVMT2tBYldGY0pqVHQv?=
 =?utf-8?B?R3JwS2NVOVNuWE0zeFhJelpDQlpSTnlsUGpHclpJT25KcGdGcFBMSGxBdHNz?=
 =?utf-8?B?b09jWFFBYU14TGZobUlIZXRaTHlUVXJmOGRKdHo3eDVONjl0RGpQS2dGMkdV?=
 =?utf-8?B?cWN3Q0RwTG9BdjhLcnNSeVVwSlRTV1ZNVmZtYmRmNGNYWFV6ZlVaZytCMERO?=
 =?utf-8?B?TWRYTGxuNXQwbUU4aVlMNWsrUHp2akRQWm03RFVjUkdWamFNMG9EU1lUTmF1?=
 =?utf-8?Q?qgAQ=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(1800799024)(82310400026)(36860700013)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Oct 2025 23:43:52.9332
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f190ef69-4f61-4fe2-abd0-08de020d8b74
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1PEPF000042A9.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW6PR12MB8900

Split out AMD SVM and AMD IOMMU, and add myself as a reviewer.  Jan,
Andrew and Roger are set as maintainers as they were for the X86 entry.

Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
 MAINTAINERS | 20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 793561f63f..0139edd88b 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -220,6 +220,23 @@ F:	xen/drivers/acpi/
 F:	xen/include/acpi/
 F:	tools/libacpi/
 
+AMD SVM
+M:	Jan Beulich <jbeulich@suse.com>
+M:	Andrew Cooper <andrew.cooper3@citrix.com>
+M:	Roger Pau MonnÃ© <roger.pau@citrix.com>
+R:	Jason Andryuk <jason.andryuk@amd.com>
+S:	Supported
+F:	xen/arch/x86/hvm/svm/
+F:	xen/arch/x86/cpu/vpmu_amd.c
+
+AMD IOMMU
+M:	Jan Beulich <jbeulich@suse.com>
+M:	Andrew Cooper <andrew.cooper3@citrix.com>
+M:	Roger Pau MonnÃ© <roger.pau@citrix.com>
+R:	Jason Andryuk <jason.andryuk@amd.com>
+S:	Supported
+F:	xen/drivers/passthrough/amd/
+
 ARGO
 M:	Christopher Clark <christopher.w.clark@gmail.com>
 R:	Daniel P. Smith <dpsmith@apertussolutions.com>
@@ -601,7 +618,8 @@ M:	Roger Pau MonnÃ© <roger.pau@citrix.com>
 S:	Supported
 L:	xen-devel@lists.xenproject.org
 F:	xen/arch/x86/
-F:	xen/drivers/passthrough/amd/
+X:	xen/arch/x86/hvm/svm/
+X:	xen/arch/x86/cpu/vpmu_amd.c
 F:	xen/drivers/passthrough/vtd/
 F:	xen/include/public/arch-x86/
 F:	xen/include/xen/lib/x86/
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Fri Oct 03 08:07:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Oct 2025 08:07:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1136359.1472947 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4aom-0004Ip-Ep; Fri, 03 Oct 2025 08:07:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1136359.1472947; Fri, 03 Oct 2025 08:07:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4aom-0004Ii-C9; Fri, 03 Oct 2025 08:07:08 +0000
Received: by outflank-mailman (input) for mailman id 1136359;
 Fri, 03 Oct 2025 08:07:07 +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
 <SRS0=04fq=4M=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v4aol-0004Ic-7s
 for xen-devel@lists.xenproject.org; Fri, 03 Oct 2025 08:07:07 +0000
Received: from BL2PR02CU003.outbound.protection.outlook.com
 (mail-eastusazlp17011000f.outbound.protection.outlook.com
 [2a01:111:f403:c100::f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f1474712-a02f-11f0-9809-7dc792cee155;
 Fri, 03 Oct 2025 10:07:03 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by PH7PR03MB7195.namprd03.prod.outlook.com (2603:10b6:510:244::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9160.17; Fri, 3 Oct
 2025 08:06:54 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9182.015; Fri, 3 Oct 2025
 08:06:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f1474712-a02f-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=jhukkVb0wS4WKPxNdhJ1zAbZkmow5nc7Tey9x1j2WOOKXQkcFqfzb96w9pSn35AZnGRfE0H9E/wfk/1OQxwFRz6THX/aGjn71HM9yz0GAHh+gt4bcaJXUHPIAm9Pn5iRrOA47tSrN4+GLUgS4hGzOgQNuYPPk5FrLUfYOFXwV4L7Fc1nrriTGmn95t+xM/vER9lV4P7SOtXa88QCXwmYTEA5HiGB6SpzBH8baD4sdz+GO205IYt6FkYmF/vseMi12eKjcbPfmLjAqKIWOPxu6LmQsLCiGXJE94Xl0XC+CFgC4oyzQe8qbBTlUmV2H7NSjP1vQn1d2jMnPyq00HKMwg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2tHetBWDsfgdXeepbRWmC/2wDhCZ8hN30WUMuoeFM1Q=;
 b=wSnrm82KdDQyYK7+YkkL9TXI+ETTQDrZwsC+tjp0PICkE+QqT2z2oib4yoOhbcV75TO2heVyxj+UlPQlK77n0pp+UUJOrQxadyuMq/s9zf+2sOPQuTR0HynNAEEssU+xY/AD+EdRxCFdcZ9xKCVDpwBB1KHaEVlct8tu1FzQ18Xd7Ccx0wbDZ6S9ZiNYNH25D4cB4Gfhrlh7/wbVa22R26w2Bc0iwYh0AjWW/hQ38Q0aLxD/LUJ5BLVLpXI6q38BjlNmBhjz0aTNvmv0KIJIt+0CtITNKPQCOUe4mFmoXZDQIOWwQuJ3gPXBXGaVTAHDEysYxd2DV8tfuooiUQsc4A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2tHetBWDsfgdXeepbRWmC/2wDhCZ8hN30WUMuoeFM1Q=;
 b=Ha2d20RBa9u1U/3z/VLyU0Ja/CXwyOF4C3BOi8J5UZZYF9IOVMhvbzyfcve2QwXut/Uke+7tJe3AQP6hqs5R3T+sup2zeg9ahW3mFpkcRtQSoZ5y0gfKH4C8dJylgf5foLqo/J3991wLgjYVcC0goHJqQj1rpk8sk/RjemmeK50=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Fri, 3 Oct 2025 10:06:50 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
Cc: xen-devel@lists.xenproject.org,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [XTF PATCH v2 2/2] x86: Allow exiting QEMU in TCG/QEMU
Message-ID: <aN-EGpxVJ7roK2gM@Mac.lan>
References: <20251002135542.28076-1-alejandro.garciavallejo@amd.com>
 <20251002135542.28076-3-alejandro.garciavallejo@amd.com>
 <aN6KrO6LPPJFK17M@Mac.lan>
 <DD7X3QFGUK6Y.DTARYWAB2DF@amd.com>
 <aN6cQBwiM36q_75E@Mac.lan>
 <DD80XF7EVPJ9.1WTMKC34DSW65@amd.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <DD80XF7EVPJ9.1WTMKC34DSW65@amd.com>
X-ClientProxiedBy: MA2P292CA0029.ESPP292.PROD.OUTLOOK.COM (2603:10a6:250::19)
 To DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|PH7PR03MB7195:EE_
X-MS-Office365-Filtering-Correlation-Id: a312d4dd-2f69-4500-e6f2-08de0253d0d2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?eGdteGk4RTFuUHd6ODZtKzFuVnU1WmJmcEhSUVF0UENxbWxYV1JXTnZiRUJx?=
 =?utf-8?B?TEV3UGNwTUUxd3cvS093VEtWbzZ4QldwVTM4aUk2WWhqVW8vM1p2aUsyQmJB?=
 =?utf-8?B?TzNxN1ZQaEpDRFFHcGx2OVRWb1NLTGRlZTRTREh0Ym92VGJxTHMyN3hDaHRp?=
 =?utf-8?B?amFROVRVQ0dQK3pNUWVndmh1eVp6RjUyQ1lkZG13MUlaNGVmd1RLY1RCZU5i?=
 =?utf-8?B?dEUxMnVLcGZjM2FTa3NWNStSNVBCOEsvaXlBRUVwazV5ZWJOUHdHNTNXZ0Ny?=
 =?utf-8?B?MWFOUi9rQ2k0SFROR1VIeTJMM2d0cE9Ycy9RSGMzR1NiM2F1bHFyVUR1cEhU?=
 =?utf-8?B?d3ErRzh5bGFxRFdEelBHL29xMXZZR1JDUEI0cU5vN0lHRVlaOCtjOWRQNVk4?=
 =?utf-8?B?VWN6dEpocW1mUGtRaHlCOS9DdXk2TUFRb2VNUWtEdFA5bldGZkpoRXFQenh2?=
 =?utf-8?B?ZFA5bzhqMDg3dEpuYmp6cHdUN1lTd045Ry9BU1U4NVBJOHBSRzljYVZBUDBa?=
 =?utf-8?B?M2JLajlsbndvQ3BqNVFJUkNTL2VZOW5XeGdWdzlkUUtaUXVrUy9FSVFCOXBE?=
 =?utf-8?B?TERCRjhFWTFmOVhaSUUxVnV6WVhxeWthVXhaamZLUm40cnNmbTF6UmptNEZN?=
 =?utf-8?B?anhLWHhQZmljckZqRW9WUmZidE9BaWZZY21oMnN4L1NPUFRDeWY4TDZObTVF?=
 =?utf-8?B?UGZ5ZEVkK1JqaHEvT3dsNFJmRCs0SWJ5b041bTI1cXQxdHlVcTd1RzExeGRr?=
 =?utf-8?B?cER0L1BlWU0vV1R1N21JT21KK0JoZjFSUi9jdWU5UjQ2YWFTNXBaRkJ2Vlov?=
 =?utf-8?B?OGdpdjJTTW9Ud25HdzZYL1dLbjhDRGZjQzhQZFhsWXREbXkzRUtGWkxZcDJB?=
 =?utf-8?B?T0hMM2dRYXVnZFRuTUQxZHRNZXRPMHM0MDI4SHF3aEVGRjZ4RTFlU1dPVkxz?=
 =?utf-8?B?RVkrVllyRCtCLzF1QlYwbDJjU2hDNHRUeThLZEh5RTJ3L1cybWtNVHVXbHRH?=
 =?utf-8?B?YUMrWktaRXh3dXJIaUlJaEJmTmdaTmdmVG8vNEtSaGt4ZzdlZEVPTnhBa0dF?=
 =?utf-8?B?ZmtodHdIVW40K1NIRmM1T2VNRGpKRmNRdmFXQnNFRVhZU2tjN0x1S05jbDIw?=
 =?utf-8?B?Y3o0Q3ZZemxQNlFxbmp0NytCOGVMUU1TVnowZWorMWNJQklIaGIraVc5Y3F2?=
 =?utf-8?B?OEs0WExsNjJ1cnBFWUFZNWVJQUcwZlo2UmtCemdxZjhhRnhDVmlScGJvQzhZ?=
 =?utf-8?B?NFZSakFHRnFJYmlvVGFvMEIvSmltZFZNaEltUGxHTkxmU1lTQklxeVpyVnY5?=
 =?utf-8?B?bks2WjNYWlJWc2dxb21nS2RNV3o4RnRPTDBrSXFCNXRuVGdKelRoVWdUYXBM?=
 =?utf-8?B?ZndHVmdBakF0cEpYbVRwdlVGdXZYVVpaTDQvaGN1YmZKTnRmM0tnNkVFU0pI?=
 =?utf-8?B?SVVpZU1STzhyVHVia0N6aUttNElFYVgyUnZOSURlRS9DSHJBUm9NZWpYRjQw?=
 =?utf-8?B?RElHS1lOb2pJQnlHbUNqZkdyUWtsUHkzVWRtWmtWNjRDeDgwOXZneG53WTdD?=
 =?utf-8?B?TExSUmpLV1B1alNOSmNwQlAxTWJiTXhzbGlHTzB2NEFzY283WU82WGVGS08x?=
 =?utf-8?B?cjVuNXFBeHozb3Z0R2ZZOU5VS01DenMzb01aQjFpSzJLS256VzVzNTc1bjhh?=
 =?utf-8?B?dVVmOUdxVDlxNkJUNi9ldXdVcUFvMVcza0o1VHFUOWM2d2NUVnVwMXN6M1c1?=
 =?utf-8?B?MDZLM2tta2oveTdYM1BLNjV5ME9YT0RIY09VdTRjZ0VoeU41REd5S0IvZmNM?=
 =?utf-8?B?SDIxcDRtZFFuUWgvSW5PSFZlL00vQXJ4SUc4ZDNmUzl6YUR6ZEIwalVnZzhY?=
 =?utf-8?B?YW5oMWlORTlnNUdxeFhudW5FemtiRFJkd1NMdzBOaDhNU0xzRU5aT1MwZ2Nk?=
 =?utf-8?Q?W9N7I2u6y345fKx5dWhvblt4ngY0dKwQ?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?K1g2MWI5TDlaTFBVUDhKd255Z2FMU2ZvOXR6NSt4djR5LytMWG5OMER6WEo1?=
 =?utf-8?B?c3BRL1RSV1JicFVWR05UNDdaNWY0NkFjQi9ILzE5NUhIVDdnT2VTb1RiekZ1?=
 =?utf-8?B?N0RoT1I1Z2duVzdBUWwxeTV0S052THpMakRFanJXdisrWmJEYlB2OWNzRGQ3?=
 =?utf-8?B?enJHSDZMWHNpT2RtSTVIeVBPZnM5eVA4MjZUaFNXWjB1cTNraFVha0E3dTlJ?=
 =?utf-8?B?NERTb1VWRk9WQ0ZYS3pHM0VVcElxbUpwS0ZDR0NlWW4xL3NqOTQ0N0d5eFF5?=
 =?utf-8?B?M3NYTnRRUnFXdG1hSGZ1MExQRGp6TEE0dm1uQlZhTkNQeHl0QWpYb2JBSUlt?=
 =?utf-8?B?T1J2UTMzV1kraHZBZTB2bWc4bVo3SFVkcGZPL1VhZSs4TDczLzNnNDIrdTFa?=
 =?utf-8?B?ZWF5N2xkT0xyMmhmUTd5aGFocFJQc1pWRlZEcXhNTHhIelo1Z2RNd2JmRG9s?=
 =?utf-8?B?bEZ6U2dPMDdLUkh6VUx1b3plZHR1S2NMaDY4cXp0akdOWVZHUkJjYkhYM2pO?=
 =?utf-8?B?b0s5bGlXTFU3WmpxdDZtZ3FlUHIxV2xYdW1JZThzRm5sd0tUblRHTzZSYXVK?=
 =?utf-8?B?bU9xdW1sUEE1SjBTcUdPVEd0NjFFZ2xKZGxITlBqbnZhSnM5eVFCNVowTW5s?=
 =?utf-8?B?d3ZHS0poRHFBTkoxMnAwSDRpWHJTS3pOUGdFMkpTZytnRVJZdklFa2VraWZR?=
 =?utf-8?B?WDg0ajRSc25sS2V4cFhIY05JVTZ5aTJkVUtiRVR3WmdIaEhhZVRLaWczeWRs?=
 =?utf-8?B?ZjViaURnUnBlNkpjMUNmdGxlaTJVSHRiUm9VcWk2LzV1U3lZNDVvN0hHbE5t?=
 =?utf-8?B?K3k5VHFtNEEwUHowc3NMcG9YUEx2U0lXYWlNdWVmR09JZDZuSHpHYUNuaEQ4?=
 =?utf-8?B?bWI0L2ZvQm4vVXlReHpwVEZ6STdQQWE3eXBZVnJHYklsd3hCR1BjYmJLb2oy?=
 =?utf-8?B?b0hRMjcwVndCWkxzSXRjMFh6eUx5K1dtdjhYenBPd09zcW1leVBORTlKMlNq?=
 =?utf-8?B?WW9Ka0pKbFkzRjgvVHRQdXRGSDlBU25CajdMeGRsZUpHWmlMcHBHY25SK1JL?=
 =?utf-8?B?Q3cyZzFOcjFacWpRYmVsUFBaUWgralJSMER1dHluQlhaTDd1TzNwaGw0c0Fy?=
 =?utf-8?B?UzlNam0vbVRCNEd1NVg1ek9XRE9TME1SN0x6Sm51KzNUSEtaQ3lBL2tMSGpX?=
 =?utf-8?B?dEp3NTRFTXVGRGZsdUQ2WkpPWmlEUzBQNlBSRlkvWHNHVVNJUSt0Ym1RWXAx?=
 =?utf-8?B?OWlQbUVLN29FaTJCUG82VXEwZnFhckhGQkxqZUxlWTEzRXRLOVAycGVoQ2wz?=
 =?utf-8?B?Q3V6bFB3OGc1YTFWVTlyaHgwSnI1Z2N4QTFZaU5tZWljL3JqVVErYXpaYW5x?=
 =?utf-8?B?OGh4TE5oVm1ueS9CcFVtVHBzTTUxYkhzZmtEQ2pnamRBbWExMEQvUGc0U2ls?=
 =?utf-8?B?UXVsUjkyVTlqZ2ZwVGFBUnBrUGVOSEZsSTBIZURjYVZGa1Y2OThUa2EvUXdC?=
 =?utf-8?B?THBFazdXWnZoaDVnUjl0N3orRWNHZzdNVC9ENVpTYmJIaURaQUYzdlg1Tjd2?=
 =?utf-8?B?TEM4Y2NBUUpKTlBSQ3k2NWhQZzZQeUdrd28vTGhMcWpJSkYzcUp1TTYzb2hm?=
 =?utf-8?B?cmtEY3F4V09HaTRpTHJYZGZvb3dnRTYvWFpCaWFncXZVaVAwKzRBcHFYR21a?=
 =?utf-8?B?czhxTG16NFJ5REhyQW9qeis0VXQ2UjR6TDRIa0w0dEJFNERuZ0tOQldWdVNE?=
 =?utf-8?B?TjhNOHRMOEh2T2x0Vmt5RU1jSGJZRkZpV1VIME5WaFcyZHVZeVhaUUlaaVlJ?=
 =?utf-8?B?UTZEUmd0RnhSYU9wVlJDc2orNzRrQlB3WFBxKyt3YzNQZURYMnRSRmtybkti?=
 =?utf-8?B?QWxXMzdQOVJ5Z0lpRndpd2g0TmhoUUpzL0tUWDlQaDlvVG43YmVaOFZwbmlS?=
 =?utf-8?B?THplczY4cTNVOUxZVFpYWVZ2Y3JTU3pKY1A0UmI2MGF1YmdVUmdJd0JmNjZS?=
 =?utf-8?B?QU5OUStKemJ2TVBhYWMva3dZbWtSVE03dFcwem03Zi9iUXZoUHk2aXZ0SWdD?=
 =?utf-8?B?SmVQSTk3T0g4UG96blVyTXkwYVltNTRQSTBiYmJ6OGt6S3Uvb2xJZjdZdGxx?=
 =?utf-8?Q?4J6NJmvJmldI3VF4vYtBwS10L?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a312d4dd-2f69-4500-e6f2-08de0253d0d2
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Oct 2025 08:06:54.6923
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /7aqEOGNBSqzkLgb0RHBDoGUxBVpN95x1mT1clV8oNpKhOfpPjBAqHmiAqbXUy9QecQ/Ex7OCtiylAyNcVwlfw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR03MB7195

On Thu, Oct 02, 2025 at 07:48:28PM +0200, Alejandro Vallejo wrote:
> On Thu Oct 2, 2025 at 5:37 PM CEST, Roger Pau MonnÃ© wrote:
> > On Thu, Oct 02, 2025 at 04:48:38PM +0200, Alejandro Vallejo wrote:
> >> On Thu Oct 2, 2025 at 4:22 PM CEST, Roger Pau MonnÃ© wrote:
> >> > On Thu, Oct 02, 2025 at 03:55:34PM +0200, Alejandro Vallejo wrote:
> >> >> If QEMU has a debug isa-debug-exit device, we can simply write to it
> >> >> to exit rather than spinning after a failed hypercall.
> >> >> 
> >> >> While at it, reorder an out-of-order include.
> >> >> 
> >> >> Signed-off-by: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
> >> >> ---
> >> >>  arch/x86/hvm/traps.c    | 16 +++++++++++++++-
> >> >>  arch/x86/pv/traps.c     |  5 +++++
> >> >>  common/lib.c            |  2 +-
> >> >>  common/report.c         |  8 +++++---
> >> >>  include/xtf/framework.h |  3 +++
> >> >>  5 files changed, 29 insertions(+), 5 deletions(-)
> >> >> 
> >> >> diff --git a/arch/x86/hvm/traps.c b/arch/x86/hvm/traps.c
> >> >> index ad7b8cb..b8c4d0c 100644
> >> >> --- a/arch/x86/hvm/traps.c
> >> >> +++ b/arch/x86/hvm/traps.c
> >> >> @@ -1,5 +1,6 @@
> >> >> -#include <xtf/traps.h>
> >> >> +#include <xtf/hypercall.h>
> >> >>  #include <xtf/lib.h>
> >> >> +#include <xtf/traps.h>
> >> >>  
> >> >>  #include <arch/idt.h>
> >> >>  #include <arch/lib.h>
> >> >> @@ -139,6 +140,19 @@ void arch_init_traps(void)
> >> >>                 virt_to_gfn(__end_user_bss));
> >> >>  }
> >> >>  
> >> >> +void arch_shutdown(unsigned int reason)
> >> >> +{
> >> >> +    hypercall_shutdown(reason);
> >> >
> >> > This relies on the hypercall page being poised with `ret`, which is
> >> > IMO fragile.  I would rather have it poisoned with `int3` and prevent
> >> > such stray accesses in the first place.
> >> 
> >> I dont' mind caching Xen presence somewhere, but that involves some code motion
> >> from setup.c, which I wanted to avoid.
> >
> > I think it's very likely that at some point we will need to cache this?
> >
> > enum {
> >     NATIVE,
> >     XEN,
> >     QEMU,
> >     ...
> > } hypervisor_env;
> >
> > Or similar.
> 
> Maybe NATIVE, XEN_VIRT and NON_XEN_VIRT? I see no reason to distinguish between
> TCG, KVM and any other accelerator; and QEMU is imprecise because we use for
> HVM. You could imagine chainloading XTF from GRUB to test the HVM env.

Maybe not for XTF.  IIRC KVM also offers some PV interfaces (like the
PV timer) that native QEMU doesn't.

Rather than having an exclusive hypervisor mode, we could signal what
interfaces are available.  For example Xen (and I bet KVM too) can
expose native interfaces plus viridian extensions, in which case we
might want to detect both if present.  That would require using a
separate boolean for each extra interface.  IOW:

bool xen_hypercall;
bool viridian_foo;
bool qemu_debug;
...

(Possibly not the best naming)

BTW, is it possible for a guest to discover whether the
"isa-debug-exit" functionality is present?

Sorry, I'm possibly derailing this patch series.

Regards, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Oct 03 08:09:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Oct 2025 08:09:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1136375.1472958 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4arH-0004u2-11; Fri, 03 Oct 2025 08:09:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1136375.1472958; Fri, 03 Oct 2025 08:09:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4arG-0004tv-U0; Fri, 03 Oct 2025 08:09:42 +0000
Received: by outflank-mailman (input) for mailman id 1136375;
 Fri, 03 Oct 2025 08:09: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
 <SRS0=04fq=4M=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v4arF-0004tl-W4
 for xen-devel@lists.xenproject.org; Fri, 03 Oct 2025 08:09:41 +0000
Received: from BL2PR02CU003.outbound.protection.outlook.com
 (mail-eastusazlp17011000f.outbound.protection.outlook.com
 [2a01:111:f403:c100::f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4ef2ff2a-a030-11f0-9809-7dc792cee155;
 Fri, 03 Oct 2025 10:09:40 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by PH7PR03MB7195.namprd03.prod.outlook.com (2603:10b6:510:244::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9160.17; Fri, 3 Oct
 2025 08:09:35 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9182.015; Fri, 3 Oct 2025
 08:09:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4ef2ff2a-a030-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Xa7r6HykB3kj7w/UL4PjwC3J1zn+mAulptHiW3bINRsHMm2T8AV0Qr/EqwVyahrFdgHd541WG9e8A4SiVuCREGcKju7D8HYLU5gjO/ud8QOljso/bl/1XIivu90FxN82Lo6XiomMAVgI/SaZZFU0XwDB7SA4iWagunA6maGrFLhQfmdtbX+F4Nm3xwzmPSHxQlYFIBZYvpjVaCr9ZaNmoSO10j6xGXBSMU9tKwMa+310U6DtAPpWpT5z5s9i/XwCeg+PbdvaydVNtWs62eG5/uQi5uShO/O297nym8ZeDVvbCHUFQC/LSO+VyTrURaF40xnivz98pjAeshyQqfmJ+g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ARIHJkXi1jXuLk4vHUS9FTN3qRxDN3QDgQ5nbC2j2gw=;
 b=m/uP7/sfrynWY1IUE36jojXAUFvmvGHHz5lmnAqB+nl6z7k43YyuIKndISUQlFl+s8tqRZ6ZajkG0mHIwQrDpDnm6jj4Lmzs7Sxt9kklQP95EOoALy0/IlJle3JxlX7vkqQgKvbpvBhubCXjLBmQgk0vgMMuRJvnX9zwDQJS/T9Q2/dDRQhxRHV+KnazqZeCRPdjQMhxrcb2IZ1jqmKMHgFu13tEGbZTRyHITF3XfpZZWyTJQAdjgYGy/n+sT6EX1vQu3xMU5jAaZqt0zD1fAlIpIomb7Gl++E71ThIQXMqfdFelzGQoBRbqvj5/PPjYDnYmsu42QCJkXLWMsQ4EJg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ARIHJkXi1jXuLk4vHUS9FTN3qRxDN3QDgQ5nbC2j2gw=;
 b=i8yt1wsJ3CnMO1zm9yzWOlRZeaiXbW2iYebqdLXAoR5tmgoB4C81vwZ6ofy5Kew9YhKyYhP8T/ShehDy7vAmE6fmnrNdAJ+jsXpQN/eGIx7ylPjpTwpaNVHdRT8dWErnfXKvXsrf0aIjn00WCYEhK7KYWQrbJJv6CVf8V8T4agU=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Fri, 3 Oct 2025 10:09:31 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: xen-devel@lists.xenproject.org,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH] MAINTAINERS: Add myself as an AMD SVM & IOMMU reviewer
Message-ID: <aN-EuzQ2AZ1oMN0K@Mac.lan>
References: <20251002234311.10926-1-jason.andryuk@amd.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20251002234311.10926-1-jason.andryuk@amd.com>
X-ClientProxiedBy: PR3P189CA0068.EURP189.PROD.OUTLOOK.COM
 (2603:10a6:102:b4::13) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|PH7PR03MB7195:EE_
X-MS-Office365-Filtering-Correlation-Id: b5faa59d-6033-4b14-cffe-08de025430a1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?dkN1V3REYkJ0YjkxMU94Tk5SVnhJemlwV2xhaHlvbU53VnJZU1RRbjV5aDFL?=
 =?utf-8?B?ZDg5cWVjSElKVE5oNDIwaXNCWkQ4T09QbmpyQStNdjJyUVc3aFMxWC8zUTl4?=
 =?utf-8?B?ZUFwNHRKbG1lM2VCdmw2STZBZWFFZzZIQWtZcms4enR5T0lYV0RGaVlNMis2?=
 =?utf-8?B?ZkRpS3FhS3VFT29SbUZsNVJURDluMTRieXF2eWFkYWdDWUhTMU53QXdnbWpj?=
 =?utf-8?B?UnE4aXZKODZqWk5EcnJDZll5V3cyQVl6T3prQWI5R2RpS1BLMEVpQU16QmVT?=
 =?utf-8?B?V09NcXgrU3dUaERnL3I1ejEvUG54NE9WMTBpeVVuY0R1aXJvQ0xRemlJdmtW?=
 =?utf-8?B?YlY3UUpselJFbWQvczRIT0pzSDVLNmt6M3I2VGNTcnJ0MndwSklvcnI5OVly?=
 =?utf-8?B?R25MclNKTURZTmpnMWg4ZTNkQW5Rd2F5K1RXeTRkVEZZb254NmpoTDhaaWly?=
 =?utf-8?B?UkYrZEZOM1JBa2lYaEFORnBvVU9zWDlSK1BxTVdFWHM0VXpqUXZjREttaWl6?=
 =?utf-8?B?RHhodXk2N3htU0o5cU0vdVhGRjFMZTRrdEcrUUg4ZXlGR1IvK2tpQXlISEZk?=
 =?utf-8?B?OTNuWTJNNGhkVmR0anlxLzZEdTh3SXlWVnExNTdQa2RYM1ZlVXdFRHVrZDhM?=
 =?utf-8?B?azFOVE1ZcjcrRHZFYXlzcFhyUlBvWStraDJGbEhtbEh4SmU3RkZlQnZPNWlz?=
 =?utf-8?B?d01wV2hNRFZ4aFl3dzAvNWRPZWord2NpSWF0Nm9PMzkvSFhkVTBzSzV0Zytr?=
 =?utf-8?B?eHBZVTNnTUc0R3JmcXc5Ukc2ZWkzbXNjRVBjZXNhbE42OE8ybnNPR0FsNS9q?=
 =?utf-8?B?cGdScGxhVFR0REhsN2tXenhvK3dBV3dUMC81R1ZOZ2FqdTBGeXN0TGFwQWdn?=
 =?utf-8?B?RUFWZFNrVWIxVlFVb1hQU2lJM1daN3pva2cxSDRhMUxOOVErUnROcitXdzV6?=
 =?utf-8?B?ZHdKRG1PaVl3TTRWaU5ka0FnNDRjanBsZlliaktoZUh4T0lCQXd4Z0RKZ0Nh?=
 =?utf-8?B?Q3p1ZFVZQ29scTkrR0RoUW9zUG5nd1VmMGdKWEp6R3FLOEdDcm1wVWJtYyty?=
 =?utf-8?B?UXowQ2t5dEJSYytPeWJyNkt4YWpZd3VpWXEyVEE3Ly9TS1VuT2hZYVFTdGNv?=
 =?utf-8?B?cDVDUkZxdy9KTXRXazYwYkl4K1hONlRSMDV6bUE1TTBNUnJFTXBKRmhFb3hw?=
 =?utf-8?B?SzJnQ0ZLNWRmTk9QN1JpbHRCOWdSMW5obHZIZmN0SGZoazBRcGQ1NlpRYXB6?=
 =?utf-8?B?NUY2V25YbTkyV0pNclZhV3I4azhVMno3R0JoWitNYVZSOTdyUkwwWXhPQnE4?=
 =?utf-8?B?blYzaURBbW42RkJRb09JVW1hdUNlN202L2E0MG1kR0xETlJRL0gvbFpTOXRr?=
 =?utf-8?B?YXlFMmFnYWZxaXBQUko4YXpJZGRUd1Qvb1piWERwMVhGZTBvMTdpYU1mS0dv?=
 =?utf-8?B?U29uYk1YVXpkbWN1MVE2OFFOZ2tMSFZjVURTWXVncGlXZnVmeUJTQXhTTG9n?=
 =?utf-8?B?M3JwV3gyekNIdGpQWFVFTHZ0WWtFM1hTVDJmVnM2U3daamlCVWJQSTVmUkRC?=
 =?utf-8?B?emEzZ1JLM1RCMTlWN3pvUTYyTlhKUkhNZ3JpdXFJNEVzUWhEWkZhYVFHQWJj?=
 =?utf-8?B?L0MzK1dZQjgvdzhPL3k5WG96WGVibVdJZ3FMZmk2ei9pNlFFM0o1dHJtOXo4?=
 =?utf-8?B?UTVpM2RKYmNHWjBDcjh3QzgvRjhiYWlDNVNSUTdaNDR1V1RxYThFays5aXU0?=
 =?utf-8?B?SXFvYzVJSzlIVFhPNmlqL1lYN3YyNGpxRFMwU21GcWEzSVVFdSsxVGxKWUpZ?=
 =?utf-8?B?YTZseW1tRlVTM2l6UkxxK2t0djd0bWdRaWpNVnM1SUx1dERPRnBybUwwNGZr?=
 =?utf-8?B?M2d1dk5rWlZzblFmTzV0ejNaSHo5dlRoQTI2b2tEeE81NTM3QldqS2daNkR2?=
 =?utf-8?Q?adz/PLIpeMUtH+aOBHiQc9cXJvztrk4s?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?enhXVHlCZm82WlFoT1JveklHZDB5YTRoK010NjdYRWkwWGtZaVZDL0RDQ0ow?=
 =?utf-8?B?aWJ3TThSb0NPbkpmdFZodlBjdC84SDZzbS9JZTEzK0E3Zis5SEt0YlFHb3dF?=
 =?utf-8?B?WjZlWFNuTmMwTFZHaERRWTErMnRFRHFFTnY1MjEweHNEVXFIeXNRK252bS9T?=
 =?utf-8?B?ME1aVTRQN1htMnVvNkRZMk41aHN1QUZ1eUZ1Nkd3c2svek9PUWhYRjZ0RXdO?=
 =?utf-8?B?RkNzeFpvck9WeG81Mi95QlluRzJHcFlrWjI3dDNmMXFvai81SzlqUVYyRDVq?=
 =?utf-8?B?M3lWSTgzRk8wakNuRjVIVTQyRWtzcGJiT2dyeE1qV09BNm10c2xESk1HaUh1?=
 =?utf-8?B?akJtbWl6YjhOQkxGc290dlBJTERMbW8yYkp4azd0R3MxZFdkS3J5NEh1R0x2?=
 =?utf-8?B?SXdCMUphM3g4N090WmdHZ3hGOUhscE1rZ1FPK1NEVTYxcGgvb3NndFp2U2Mr?=
 =?utf-8?B?RitlQXFVQUVOUE9YUmEwTUxXak5DMGs3bWRZZjRId3NsQjY5U3p0TFNPbXlQ?=
 =?utf-8?B?WG5OVkRUQWhKanhOTWYzL2s5ZWJSOXBLNXlKRXh2ZVV6c0ExWmhVN2luc2xQ?=
 =?utf-8?B?ZFFLTksyYVl5TWRzYm1aNzZKcmlZOGdEakR6dnk2Y0twRnVmMWJoTTY5cnJi?=
 =?utf-8?B?SklueDBZRk51UUJDc3NId1RuZGM3VXV3SHE2aXpVZVRBb0UwdE1KdmhyWEVu?=
 =?utf-8?B?TWpaUnRXVVFWcDhDTjZzOUZYbXdzRHpET0NzK2QzVnBXVTNHRDMyUmZ4OXNk?=
 =?utf-8?B?Y1BEOGp5dVVYbC84c0VVcEhLTnJUMmlCbkFjS3ZpV05oRFI3OUpNS29YanZ5?=
 =?utf-8?B?Z1Yxc20yYlBQcEd6NWc5NzdTYjJMZjFqTUlLSUloOHFYTGlIVlNBRDlnVTJW?=
 =?utf-8?B?bU80TlBybUd0K1kyUWl5TEhkbzZxbnJlcUpMdGV2TFh1Y21PazZVT2tCYWVV?=
 =?utf-8?B?RXB0aEwvVUNaU3VyQkRVcHZ0MUkwVVU0TEVRU2pPOEZZeTYyU1psZVlLdDZK?=
 =?utf-8?B?WVRGMFRVSEgwOVRtcnNwRkd0VUs0S0JNWXdRM1p0Nnk4dHhzNXorNHRJNnFT?=
 =?utf-8?B?T3B3cnV3QjV4QjhZS3FEM29YajhEUVR4aW5LUXRQL2NvSllURXRYZit3MEsx?=
 =?utf-8?B?azh3bGtzKzBSa2FDR2pRZ1B2RDI4L1BLbmoxbUJaUTdJWmVzajBabDcrdElz?=
 =?utf-8?B?a1FEaEVaZmd4ZWF5OTlESGtvL1NwQTlLK3pKazM4WHc5QTQ1NUhTRk1aTGY1?=
 =?utf-8?B?U0g0cnFHN3ByWmtwN29hd2wxZlNBWUR0dGlrcEF4NG40aEJmNWMxaUpRQmZm?=
 =?utf-8?B?WXkyRnJKa3ZvcjFEUHhGQ0lJUHBmM0RvVWdTOXUrU1lsUGFXQ2g2OWxQS3c2?=
 =?utf-8?B?VGt4OFdLbnk3S2FhTEhBRFlNd3g2T1plSDVOc0dQU1hmRnRRWEJMVkZpK2U0?=
 =?utf-8?B?dXVZQmpBVUxKZnIrdkdGd1pVVm5GaHNPQ3dUdG10ZlRzVUFVZVZ5REdtYytL?=
 =?utf-8?B?T2VVaWluSHA4SnUwWWVLQ3RPbStpSkh4eWExdEZqUUh5VmFiNVltb3d6cGxm?=
 =?utf-8?B?MkNOcjMrZHJjSGZqekppUDJGbFdDR0dNYWxTOGlKQWNYM2dMczZnWmJmWU9a?=
 =?utf-8?B?WWpqMHRxSWVrWlZsVFprMy9yNjZpWTlLOXArUWhidklMWWpoUlNWNHBDU2pm?=
 =?utf-8?B?MWp3Wm1UZHlYZ29ZblFnSm0vSmwzNVZiYVJlOVMwSkZDYXpzUEtNaDFydmdK?=
 =?utf-8?B?Zi9WcVpmdm1zaWQ0MGNDZkpLajhSQVVwWkE5cXFuOEhXNTdrYzlvRDRya2pw?=
 =?utf-8?B?RFpLYVFBUTlVdUFqcjVDeEhQV1RHR3pPZ2I2d2Q3aENDT0tnYWsvbW9YbGtC?=
 =?utf-8?B?dDhQYitwNEt1cC92V1VTSlY5ZU1kMnhLbDA2Yis5WkI5TlVmcm9hSFFXZmtM?=
 =?utf-8?B?bzBFWU4xNlc4RmRSTHVOWlF6Wm5uWlNDaVB5c3FqazE0RWFHKzh3Z0g5bk1U?=
 =?utf-8?B?Z0tCV3Mwdy9HMWZEcldVVGpOZ0JzNnRRemxWNnp3dk5nbzFZNDQ2TVV5UnJ6?=
 =?utf-8?B?SXhPck5HMUJ1WUFYYjFlSEtpcFhpejNGQVhnNVM1dTB3SzZ6SFFjUzNGQ1RG?=
 =?utf-8?Q?zULvmoNF87bVup9WpI4oNDbok?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b5faa59d-6033-4b14-cffe-08de025430a1
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Oct 2025 08:09:35.4475
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: bBcfUr4qWLBhUf70mXoDs1SaQKjI/MuS1UZ6JmXkid/xUumgyuWF+YBmnEmr8HEvoePRQ+7Hlwmz0EU3wHvFNQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR03MB7195

On Thu, Oct 02, 2025 at 07:42:38PM -0400, Jason Andryuk wrote:
> Split out AMD SVM and AMD IOMMU, and add myself as a reviewer.  Jan,
> Andrew and Roger are set as maintainers as they were for the X86 entry.
> 
> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>

Thanks for adding yourself!

I have on question below about the mechanics of MAINTAINERS parsing
(but no objection at all with you becoming a reviewer).

> ---
>  MAINTAINERS | 20 +++++++++++++++++++-
>  1 file changed, 19 insertions(+), 1 deletion(-)
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 793561f63f..0139edd88b 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -220,6 +220,23 @@ F:	xen/drivers/acpi/
>  F:	xen/include/acpi/
>  F:	tools/libacpi/
>  
> +AMD SVM
> +M:	Jan Beulich <jbeulich@suse.com>
> +M:	Andrew Cooper <andrew.cooper3@citrix.com>
> +M:	Roger Pau MonnÃ© <roger.pau@citrix.com>
> +R:	Jason Andryuk <jason.andryuk@amd.com>
> +S:	Supported
> +F:	xen/arch/x86/hvm/svm/
> +F:	xen/arch/x86/cpu/vpmu_amd.c
> +
> +AMD IOMMU
> +M:	Jan Beulich <jbeulich@suse.com>
> +M:	Andrew Cooper <andrew.cooper3@citrix.com>
> +M:	Roger Pau MonnÃ© <roger.pau@citrix.com>
> +R:	Jason Andryuk <jason.andryuk@amd.com>
> +S:	Supported
> +F:	xen/drivers/passthrough/amd/
> +
>  ARGO
>  M:	Christopher Clark <christopher.w.clark@gmail.com>
>  R:	Daniel P. Smith <dpsmith@apertussolutions.com>
> @@ -601,7 +618,8 @@ M:	Roger Pau MonnÃ© <roger.pau@citrix.com>
>  S:	Supported
>  L:	xen-devel@lists.xenproject.org
>  F:	xen/arch/x86/
> -F:	xen/drivers/passthrough/amd/
> +X:	xen/arch/x86/hvm/svm/
> +X:	xen/arch/x86/cpu/vpmu_amd.c

Would it be possible to not exclude the SVM related code here, and
avoid having to duplicate the x86 maintainers on the AMD entries?

Or the parsing of the file doesn't deal with multiple entries possibly
covering the same files?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Oct 03 08:13:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Oct 2025 08:13:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1136385.1472969 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4auR-0006PX-FT; Fri, 03 Oct 2025 08:12:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1136385.1472969; Fri, 03 Oct 2025 08:12:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4auR-0006PQ-BL; Fri, 03 Oct 2025 08:12:59 +0000
Received: by outflank-mailman (input) for mailman id 1136385;
 Fri, 03 Oct 2025 08:12:58 +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
 <SRS0=TaDF=4M=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1v4auP-0006PI-VI
 for xen-devel@lists.xenproject.org; Fri, 03 Oct 2025 08:12:58 +0000
Received: from mail-ej1-x632.google.com (mail-ej1-x632.google.com
 [2a00:1450:4864:20::632])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c4a06510-a030-11f0-9d14-b5c5bf9af7f9;
 Fri, 03 Oct 2025 10:12:56 +0200 (CEST)
Received: by mail-ej1-x632.google.com with SMTP id
 a640c23a62f3a-afcb78ead12so369306766b.1
 for <xen-devel@lists.xenproject.org>; Fri, 03 Oct 2025 01:12:56 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-67-38.play-internet.pl.
 [109.243.67.38]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-b486a177c9csm378896466b.89.2025.10.03.01.12.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 03 Oct 2025 01:12:55 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c4a06510-a030-11f0-9d14-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1759479176; x=1760083976; darn=lists.xenproject.org;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=skKuIPY2BwIoWMDC1fVExexzwB2MkrdKJIr5P+Yftng=;
        b=Nsql7wsmtZwTHcUgv2AdCRWjY/VoTqFrOR8afnebfNLHWNa7Mgx6nkjuLvL4swCVPU
         QOOqPkugKLshjka0MZcCAWt6RtogWClYh0PHGVweEfnehHMVf6SQr+2cCsSn/8Y0T6Np
         PJJvdlPqoJ3x05GrImz+7ropUI/2MpsM16IHP7vk5pEsqqNQIQvf7y62VoZ+YE9YTu9s
         PaomSDqHHQ7yaLFDYqQFnU8oyfCAB/kDkXrjAi+0jYsjJabQmzI3E2sPtjrtx3vQnafr
         01ZqUCZLtPSw+2BX6jaD6T8gRM717vDYs3EVTa4ukrUquZgIBrOJ5GrBXHWR66rBzaLA
         Hy3Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759479176; x=1760083976;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=skKuIPY2BwIoWMDC1fVExexzwB2MkrdKJIr5P+Yftng=;
        b=xG06mDwYDwCyHXAELfMefIY7K+bedE1gVl3FUSmizkst99+G/y+dXSxFiHUUeM0EHk
         9IxtPY3iq/nJJ1jOBpNi+J1K7F5FgLRuOmOiAqS1CJ31EdK0guQCmSUtVE4DXdpcr0+k
         gJkj+zMSqSjoGMYwCZbovb/NvU8p/jqILsqMQnkFhGFb4CUmXXoDUWW0K8Jyjw8iDiDZ
         iRobuW5sn8cRqJXdgOSCR6uXTCWhElAzCuckTgA5bd605lLS8lNyY55zSPrYy/3gn4tg
         jTHFFuZdTNrVUn9aM7CQbsX/nrzxwpr3TiuCBUmbXNnw7qitJmhPD3Qghif9DKEdBPiR
         0JCA==
X-Forwarded-Encrypted: i=1; AJvYcCUzVfac2MyyyYD0io5p8zLRGJ3GjWN1aWesOmhrWK1ixWEJD9kZ2kgz9NjnkOc+YzgURN/UCOkMqgg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzEZTQelAH52LkmNTWJUHHFYXii6a2p9btZqz5m/tQU8xX2yddZ
	7thWjIb38HdLNPM0gGXdAF3HU1RrkHYofA3NrvVfiNc548saMYndRZ6x
X-Gm-Gg: ASbGnctsx+Ktdbay25/j6BtURAvrAVvhPFGfDCCPsnG4oJb6hIse1jmTSluqa1LDtMc
	08Opd6yHyZs6cNnCGrqLP4xNHRJ9gxiclm4nEmnaILkv3jiMHiKsZaeS0Jn3T8yTw1ez9TtqNgY
	GT+4W30Tw/FjgRcAXUZG5KSWyAnVmQO129xrt56J4rDpKo5ZFpurlkjIfTT/TvdQwW6rIeLwflx
	7XJO+lkN8+xSWH48ZaqOjq8LpoOe6yS/D0ztIRSxWXWDS3Zkvk492vzoQTF2ojT9C0Q4P70oyV5
	RKb3AYR8vcJiPn2foR82b3dI7SiXzqyxBCt/T3JexaZlH5jYkn+sLDv/UvOODBdrIwKEfzvTFy+
	g6KQ+wCWrcNNpDptz93vVnMB9YR8k+lZGiyp+NFxtgPlSMbymniO5O3tTsZzrXHEb7FflfbYTyf
	TzsipS4rEk/AQSJpQyBEN+wdRiGexZVPZLtJ0=
X-Google-Smtp-Source: AGHT+IFf4KnZpzbEypEicCmdCmzrDw8Qx7It+XVb0t6afLDTeCS8/xgup/rrlKx6PjPpku8NfTxmYg==
X-Received: by 2002:a17:907:9724:b0:b40:9156:1bf0 with SMTP id a640c23a62f3a-b49befd3051mr262782166b.0.1759479175624;
        Fri, 03 Oct 2025 01:12:55 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------brhXKpSGIs4hevo20c4xq2xZ"
Message-ID: <64ec79c3-a16d-481c-995c-96c187e62475@gmail.com>
Date: Fri, 3 Oct 2025 10:12:54 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] Support LLVM raw profile versions 8, 9, and 10
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Saman Dehghan <samaan.dehghan@gmail.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>
References: <12f2f3bd9010422004c38c23f6758c87df8682a5.1757951300.git.samaan.dehghan@gmail.com>
 <3dc1fe6ee55d973a25a0441d0f6b41e00a58227b.1759355762.git.samaan.dehghan@gmail.com>
 <2c1c305b-a7c2-4da5-be96-3895e284032b@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <2c1c305b-a7c2-4da5-be96-3895e284032b@citrix.com>

This is a multi-part message in MIME format.
--------------brhXKpSGIs4hevo20c4xq2xZ
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit


On 10/2/25 11:53 AM, Andrew Cooper wrote:
> On 01/10/2025 11:09 pm, Saman Dehghan wrote:
>> This change enables compatibility for measuring code coverage
>> with Clang versions 14 through 20 by supporting their
>> respective raw profile formats.
>>
>> 1- Add support for LLVM raw profile versions 8, 9, and 10
>> 2- Initialized llvm_profile_header for all versions based on llvm source code in
>>     `compiler-rt/include/profile/InstrProfData.inc` for each version.
>> 3- We tested this patch for all clang versions from 14 through 20 on both ARM and X86 platform
>>
>> Signed-off-by: Saman Dehghan<samaan.dehghan@gmail.com>
> CC-ing Oleksii.Â  This should be considered for 4.21 at this point.
>
> Coverage is an optional feature, off-by-default, but Xen does support
> GCC and Clang (older Clang at least), and right now newer Clang simply
> malfunctions.

In this case, I agree that it should be considered for 4.21:
  Release-Acked-By: Oleksii Kurochko<oleksii.kurochko@gmail.com>

Thanks.

~ Oleksii

>
> I guess I should update
> https://xenbits.xen.org/docs/latest/hypervisor-guide/code-coverage.html
> given the new toolchain baselines.
>
>> ---
>>   xen/common/coverage/llvm.c | 78 +++++++++++++++++++++++++++-----------
>>   xen/include/xen/types.h    |  1 +
>>   2 files changed, 57 insertions(+), 22 deletions(-)
>>
>> diff --git a/xen/common/coverage/llvm.c b/xen/common/coverage/llvm.c
>> index 517b2aa8c2..f92f10654c 100644
>> --- a/xen/common/coverage/llvm.c
>> +++ b/xen/common/coverage/llvm.c
>> @@ -44,27 +44,55 @@
>>       ((uint64_t)'f' << 16) | ((uint64_t)'R' << 8)  | ((uint64_t)129)
>>   #endif
>>   
>> -#define LLVM_PROFILE_VERSION    4
>> +#if __clang_major__ >= 19
>> +#define LLVM_PROFILE_VERSION    10
>> +#define LLVM_PROFILE_NUM_KINDS  3
>> +#elif __clang_major__ == 18
>> +#define LLVM_PROFILE_VERSION    9
>>   #define LLVM_PROFILE_NUM_KINDS  2
>> +#elif __clang_major__ >= 14
>> +#define LLVM_PROFILE_VERSION    8
>> +#define LLVM_PROFILE_NUM_KINDS  2
>> +#else
>> +#error "Unsupported Clang version"
>> +#endif
> Does this exclude Clang 13?
>
> Our baseline is 11 or later.Â  How hard would it be to support those too?
>
>>   
>>   struct llvm_profile_data {
>>       uint64_t name_ref;
>>       uint64_t function_hash;
>> -    void *counter;
>> -    void *function;
>> -    void *values;
>> +    intptr_t *relative_counter;
>> +#if __clang_major__ >= 18
>> +    intptr_t *relative_bitmap;
>> +#endif
>> +    intptr_t *function;
>> +    intptr_t *values;
>>       uint32_t nr_counters;
>>       uint16_t nr_value_sites[LLVM_PROFILE_NUM_KINDS];
>> +#if __clang_major__ >= 18
>> +    uint32_t numbitmap_bytes;
>> +#endif
>>   };
>>   
>>   struct llvm_profile_header {
>>       uint64_t magic;
>>       uint64_t version;
>> -    uint64_t data_size;
>> -    uint64_t counters_size;
>> +    uint64_t binary_ids_size;
>> +    uint64_t num_data;
>> +    uint64_t padding_bytes_before_counters;
>> +    uint64_t num_counters;
>> +    uint64_t padding_bytes_after_counters;
>> +    uint64_t num_bitmap_bytes;
>> +    uint64_t padding_bytes_after_bitmap_bytes;
>>       uint64_t names_size;
>> +#if __clang_major__ >= 18
>>       uint64_t counters_delta;
>> +    uint64_t bitmap_delta;
>> +#endif
>>       uint64_t names_delta;
>> +#if __clang_major__ >= 19
>> +    uint64_t num_vtables;
>> +    uint64_t vnames_size;
>> +#endif
>>       uint64_t value_kind_last;
>>   };
>>   
>> @@ -76,19 +104,20 @@ struct llvm_profile_header {
>>    */
>>   int __llvm_profile_runtime;
>>   
>> -extern const struct llvm_profile_data __start___llvm_prf_data[];
>> -extern const struct llvm_profile_data __stop___llvm_prf_data[];
>> -extern const char __start___llvm_prf_names[];
>> -extern const char __stop___llvm_prf_names[];
>> -extern uint64_t __start___llvm_prf_cnts[];
>> -extern uint64_t __stop___llvm_prf_cnts[];
>> +extern char __start___llvm_prf_data[];
>> +extern char __stop___llvm_prf_data[];
>> +extern char __start___llvm_prf_names[];
>> +extern char __stop___llvm_prf_names[];
>> +extern char __start___llvm_prf_cnts[];
>> +extern char __stop___llvm_prf_cnts[];
>> +
>> +#define START_DATA      ((const char *)__start___llvm_prf_data)
>> +#define END_DATA        ((const char *)__stop___llvm_prf_data)
>> +#define START_NAMES     ((const char *)__start___llvm_prf_names)
>> +#define END_NAMES       ((const char *)__stop___llvm_prf_names)
>> +#define START_COUNTERS  ((char *)__start___llvm_prf_cnts)
>> +#define END_COUNTERS    ((char *)__stop___llvm_prf_cnts)
>>   
>> -#define START_DATA      ((const void *)__start___llvm_prf_data)
>> -#define END_DATA        ((const void *)__stop___llvm_prf_data)
>> -#define START_NAMES     ((const void *)__start___llvm_prf_names)
>> -#define END_NAMES       ((const void *)__stop___llvm_prf_names)
>> -#define START_COUNTERS  ((void *)__start___llvm_prf_cnts)
>> -#define END_COUNTERS    ((void *)__stop___llvm_prf_cnts)
> Why change these from char to void ?
>
>>   
>>   static void cf_check reset_counters(void)
>>   {
>> @@ -107,10 +136,15 @@ static int cf_check dump(
>>       struct llvm_profile_header header = {
>>           .magic = LLVM_PROFILE_MAGIC,
>>           .version = LLVM_PROFILE_VERSION,
>> -        .data_size = (END_DATA - START_DATA) / sizeof(struct llvm_profile_data),
>> -        .counters_size = (END_COUNTERS - START_COUNTERS) / sizeof(uint64_t),
>> -        .names_size = END_NAMES - START_NAMES,
>> -        .counters_delta = (uintptr_t)START_COUNTERS,
>> +        .binary_ids_size = 0,
>> +        .num_data = (((intptr_t)END_DATA + sizeof(struct llvm_profile_data) - 1)
>> +                - (intptr_t)START_DATA) / sizeof(struct llvm_profile_data),
> I can see why we might want to round-down END, but this doesn't need
> casting to intptr_t irrespective of char vs void.
>
>> +        .padding_bytes_before_counters = 0,
>> +        .num_counters = (((intptr_t)END_COUNTERS + sizeof(uint64_t) - 1)
>> +                - (intptr_t)START_COUNTERS) / sizeof(uint64_t),
>> +        .padding_bytes_after_counters = 0,
>> +        .names_size = (END_NAMES - START_NAMES) * sizeof(char),
> sizeof(char) is by definition 1.
>
>> +        .counters_delta = (uintptr_t)START_COUNTERS - (uintptr_t)START_DATA,
>>           .names_delta = (uintptr_t)START_NAMES,
>>           .value_kind_last = LLVM_PROFILE_NUM_KINDS - 1,
>>       };
>> diff --git a/xen/include/xen/types.h b/xen/include/xen/types.h
>> index 73ddccbbd5..799bfe0b95 100644
>> --- a/xen/include/xen/types.h
>> +++ b/xen/include/xen/types.h
>> @@ -18,6 +18,7 @@ typedef signed long ssize_t;
>>   
>>   typedef __PTRDIFF_TYPE__ ptrdiff_t;
>>   typedef __UINTPTR_TYPE__ uintptr_t;
>> +typedef __INTPTR_TYPE__ intptr_t;
>>   
>>   /*
>>    * Users of this macro are expected to pass a positive value.
--------------brhXKpSGIs4hevo20c4xq2xZ
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 10/2/25 11:53 AM, Andrew Cooper
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:2c1c305b-a7c2-4da5-be96-3895e284032b@citrix.com">
      <pre wrap="" class="moz-quote-pre">On 01/10/2025 11:09 pm, Saman Dehghan wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">This change enables compatibility for measuring code coverage
with Clang versions 14 through 20 by supporting their
respective raw profile formats.

1- Add support for LLVM raw profile versions 8, 9, and 10
2- Initialized llvm_profile_header for all versions based on llvm source code in 
   `compiler-rt/include/profile/InstrProfData.inc` for each version.
3- We tested this patch for all clang versions from 14 through 20 on both ARM and X86 platform

Signed-off-by: Saman Dehghan <a class="moz-txt-link-rfc2396E" href="mailto:samaan.dehghan@gmail.com">&lt;samaan.dehghan@gmail.com&gt;</a>
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
CC-ing Oleksii.Â  This should be considered for 4.21 at this point.

Coverage is an optional feature, off-by-default, but Xen does support
GCC and Clang (older Clang at least), and right now newer Clang simply
malfunctions.</pre>
    </blockquote>
    <pre>In this case, I agree that it should be considered for 4.21:
 Release-Acked-By: Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a>

Thanks.

~ Oleksii
</pre>
    <blockquote type="cite"
      cite="mid:2c1c305b-a7c2-4da5-be96-3895e284032b@citrix.com">
      <pre wrap="" class="moz-quote-pre">

I guess I should update
<a class="moz-txt-link-freetext" href="https://xenbits.xen.org/docs/latest/hypervisor-guide/code-coverage.html">https://xenbits.xen.org/docs/latest/hypervisor-guide/code-coverage.html</a>
given the new toolchain baselines.

</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">---
 xen/common/coverage/llvm.c | 78 +++++++++++++++++++++++++++-----------
 xen/include/xen/types.h    |  1 +
 2 files changed, 57 insertions(+), 22 deletions(-)

diff --git a/xen/common/coverage/llvm.c b/xen/common/coverage/llvm.c
index 517b2aa8c2..f92f10654c 100644
--- a/xen/common/coverage/llvm.c
+++ b/xen/common/coverage/llvm.c
@@ -44,27 +44,55 @@
     ((uint64_t)'f' &lt;&lt; 16) | ((uint64_t)'R' &lt;&lt; 8)  | ((uint64_t)129)
 #endif
 
-#define LLVM_PROFILE_VERSION    4
+#if __clang_major__ &gt;= 19
+#define LLVM_PROFILE_VERSION    10
+#define LLVM_PROFILE_NUM_KINDS  3
+#elif __clang_major__ == 18
+#define LLVM_PROFILE_VERSION    9
 #define LLVM_PROFILE_NUM_KINDS  2
+#elif __clang_major__ &gt;= 14
+#define LLVM_PROFILE_VERSION    8
+#define LLVM_PROFILE_NUM_KINDS  2
+#else
+#error "Unsupported Clang version"
+#endif
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
Does this exclude Clang 13?

Our baseline is 11 or later.Â  How hard would it be to support those too?

</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre"> 
 struct llvm_profile_data {
     uint64_t name_ref;
     uint64_t function_hash;
-    void *counter;
-    void *function;
-    void *values;
+    intptr_t *relative_counter;
+#if __clang_major__ &gt;= 18
+    intptr_t *relative_bitmap;
+#endif
+    intptr_t *function;
+    intptr_t *values;
     uint32_t nr_counters;
     uint16_t nr_value_sites[LLVM_PROFILE_NUM_KINDS];
+#if __clang_major__ &gt;= 18
+    uint32_t numbitmap_bytes;
+#endif
 };
 
 struct llvm_profile_header {
     uint64_t magic;
     uint64_t version;
-    uint64_t data_size;
-    uint64_t counters_size;
+    uint64_t binary_ids_size;
+    uint64_t num_data;
+    uint64_t padding_bytes_before_counters;
+    uint64_t num_counters;
+    uint64_t padding_bytes_after_counters;
+    uint64_t num_bitmap_bytes;
+    uint64_t padding_bytes_after_bitmap_bytes;
     uint64_t names_size;
+#if __clang_major__ &gt;= 18
     uint64_t counters_delta;
+    uint64_t bitmap_delta;
+#endif
     uint64_t names_delta;
+#if __clang_major__ &gt;= 19
+    uint64_t num_vtables;
+    uint64_t vnames_size;
+#endif
     uint64_t value_kind_last;
 };
 
@@ -76,19 +104,20 @@ struct llvm_profile_header {
  */
 int __llvm_profile_runtime;
 
-extern const struct llvm_profile_data __start___llvm_prf_data[];
-extern const struct llvm_profile_data __stop___llvm_prf_data[];
-extern const char __start___llvm_prf_names[];
-extern const char __stop___llvm_prf_names[];
-extern uint64_t __start___llvm_prf_cnts[];
-extern uint64_t __stop___llvm_prf_cnts[];
+extern char __start___llvm_prf_data[];
+extern char __stop___llvm_prf_data[];
+extern char __start___llvm_prf_names[];
+extern char __stop___llvm_prf_names[];
+extern char __start___llvm_prf_cnts[];
+extern char __stop___llvm_prf_cnts[];
+
+#define START_DATA      ((const char *)__start___llvm_prf_data)
+#define END_DATA        ((const char *)__stop___llvm_prf_data)
+#define START_NAMES     ((const char *)__start___llvm_prf_names)
+#define END_NAMES       ((const char *)__stop___llvm_prf_names)
+#define START_COUNTERS  ((char *)__start___llvm_prf_cnts)
+#define END_COUNTERS    ((char *)__stop___llvm_prf_cnts)
 
-#define START_DATA      ((const void *)__start___llvm_prf_data)
-#define END_DATA        ((const void *)__stop___llvm_prf_data)
-#define START_NAMES     ((const void *)__start___llvm_prf_names)
-#define END_NAMES       ((const void *)__stop___llvm_prf_names)
-#define START_COUNTERS  ((void *)__start___llvm_prf_cnts)
-#define END_COUNTERS    ((void *)__stop___llvm_prf_cnts)
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
Why change these from char to void ?

</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre"> 
 static void cf_check reset_counters(void)
 {
@@ -107,10 +136,15 @@ static int cf_check dump(
     struct llvm_profile_header header = {
         .magic = LLVM_PROFILE_MAGIC,
         .version = LLVM_PROFILE_VERSION,
-        .data_size = (END_DATA - START_DATA) / sizeof(struct llvm_profile_data),
-        .counters_size = (END_COUNTERS - START_COUNTERS) / sizeof(uint64_t),
-        .names_size = END_NAMES - START_NAMES,
-        .counters_delta = (uintptr_t)START_COUNTERS,
+        .binary_ids_size = 0,
+        .num_data = (((intptr_t)END_DATA + sizeof(struct llvm_profile_data) - 1)
+                - (intptr_t)START_DATA) / sizeof(struct llvm_profile_data),
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
I can see why we might want to round-down END, but this doesn't need
casting to intptr_t irrespective of char vs void.

</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">+        .padding_bytes_before_counters = 0,
+        .num_counters = (((intptr_t)END_COUNTERS + sizeof(uint64_t) - 1)
+                - (intptr_t)START_COUNTERS) / sizeof(uint64_t),
+        .padding_bytes_after_counters = 0,
+        .names_size = (END_NAMES - START_NAMES) * sizeof(char),
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
sizeof(char) is by definition 1.

</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">+        .counters_delta = (uintptr_t)START_COUNTERS - (uintptr_t)START_DATA,
         .names_delta = (uintptr_t)START_NAMES,
         .value_kind_last = LLVM_PROFILE_NUM_KINDS - 1,
     };
diff --git a/xen/include/xen/types.h b/xen/include/xen/types.h
index 73ddccbbd5..799bfe0b95 100644
--- a/xen/include/xen/types.h
+++ b/xen/include/xen/types.h
@@ -18,6 +18,7 @@ typedef signed long ssize_t;
 
 typedef __PTRDIFF_TYPE__ ptrdiff_t;
 typedef __UINTPTR_TYPE__ uintptr_t;
+typedef __INTPTR_TYPE__ intptr_t;
 
 /*
  * Users of this macro are expected to pass a positive value.
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
</pre>
    </blockquote>
  </body>
</html>

--------------brhXKpSGIs4hevo20c4xq2xZ--


From xen-devel-bounces@lists.xenproject.org Fri Oct 03 08:18:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Oct 2025 08:18:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1136400.1472978 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4azk-00076k-5J; Fri, 03 Oct 2025 08:18:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1136400.1472978; Fri, 03 Oct 2025 08:18:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4azk-00076d-2a; Fri, 03 Oct 2025 08:18:28 +0000
Received: by outflank-mailman (input) for mailman id 1136400;
 Fri, 03 Oct 2025 08:18:26 +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
 <SRS0=04fq=4M=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v4azi-00076S-OE
 for xen-devel@lists.xenproject.org; Fri, 03 Oct 2025 08:18:26 +0000
Received: from SJ2PR03CU001.outbound.protection.outlook.com
 (mail-westusazlp170120002.outbound.protection.outlook.com
 [2a01:111:f403:c001::2])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 868b9ca4-a031-11f0-9809-7dc792cee155;
 Fri, 03 Oct 2025 10:18:23 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by PH0PR03MB6462.namprd03.prod.outlook.com (2603:10b6:510:a9::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.15; Fri, 3 Oct
 2025 08:18:15 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9182.015; Fri, 3 Oct 2025
 08:18:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 868b9ca4-a031-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Ua29/l3W3qRJsQqjEe2d5jke1RHCY5qVdtc/wwQlP71WXMH70qhtoQOkLEAGMEKH09KvFTVlnqB2qQ3z28vHpBHgQtv0oracpDyaQbAfSy6fyfWEUC2zen9yJFWfQArkd2zXU40MFR3esKP2339f3rN4yMBMHqSDgAg+l7U6T4Ofjh7Bkt6tfaGs8OhL/0FdL7f/PUgfwdMKXUUot8Sspi6uprOXrSE/zwq8TTMQYkYRonlxorO2nzn/l7liDbhs+mTsiqg2VVzG19rcsk1yHYR1ncn3T/6SsYlWjRi8bBU8GoOUeWpzhQ6CW4Jnd84YBgWHWqYlzAeLIRv9oaoMaQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=psaBbf1ss6nYZU78PxYX/h1BWlBoxVQN5YTSBfKgEL0=;
 b=nvb12BJBkFmX0orOMPeKnUnbl4g9DJVgKDABs8tbNqXazoZLb1xMHplf4PTJk0XU32flVWEB1/jg+ZQplMnT5Sj+ToFRRvBgfGa3D03tPvT68w6ZK8nGjbM5WrYjiVeS/dm9ufjZI9fzeIrO4TW/bH0KPPtCT8K17Nmpt8e+zpc0UIrj7EBLaKT+bkQku8miBwRb3vdw2jBmBPkRaYy/Z8IpSuzAU6I+fj5JtJ9toJQH2DICR3Ag0Jft+Y4akj6ElfDTt0gAm1Wf/oD0Z9skn/wgztqp5km5yICpeEBW6Mi5kLgqjBJUqquPhZycfbaS6asJzgLGxPs7IlnnGNukVw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=psaBbf1ss6nYZU78PxYX/h1BWlBoxVQN5YTSBfKgEL0=;
 b=sWQEYrEZRQnZYm4jGdeGjr52hls91eG3NiJfU/rcbegtrCFoPqTNX96QMCH84spRQ6SKpic5DaUZevP/AgIEnF3v/K+BrJClyk18JSnbAS/VC3UE62GJfJL5AJ+IiudK82f91/9/QMAwKrejllEYqk96QH32CJtP0855velieDI=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Fri, 3 Oct 2025 10:18:10 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Xen-devel <xen-devel-bounces@lists.xenproject.org>
Subject: Re: [PATCH for-4.21] x86/hvm: fix reading from 0xe9 IO port if port
 E9 hack is active
Message-ID: <aN-GwqVZNaAfu8mV@Mac.lan>
References: <20251002102200.15548-1-roger.pau@citrix.com>
 <1b4bcb40-d62b-47b5-847f-b6e16906f52e@citrix.com>
 <aN6APR-CUc9xRjfM@Mac.lan>
 <DD7W410Y9LYL.GD6FXC9Q6H37@amd.com>
 <aN6JZTlumMF2B0ym@Mac.lan>
 <DD7X9ZDWAJT9.2J6EHGRUMQCVL@amd.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <DD7X9ZDWAJT9.2J6EHGRUMQCVL@amd.com>
X-ClientProxiedBy: MA3P292CA0023.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:47::7) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|PH0PR03MB6462:EE_
X-MS-Office365-Filtering-Correlation-Id: 85543958-0a36-4900-90a0-08de025565ef
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?NW1jR1R5b1JIS2ROSEEyeG9tZFh3NkVRNG1lZTVUOEhTSUY1ZEtCcnF6QkxO?=
 =?utf-8?B?VG9CSnBETWthS1kwZlhDdnZxTWJxWXc2dmdiS2xKMlFFb0pObVN0aEJnR0pV?=
 =?utf-8?B?RU15TjRXbjYzSStLVWhzZ2tXTjFWL0VqU2trRHpjbEZBV1VUZXJKbitJdlU3?=
 =?utf-8?B?UUQxV3oxZ1JMRjllTnk4VlIwaENzWm5MWFVlVnpUVjlCOEliRjF5dGlSbjVY?=
 =?utf-8?B?cVQyZmNYVFhlYkZtaDRWOFFKV0J1LzBYRG5idTFkcFZpcFdXLzlSYm9NR1hB?=
 =?utf-8?B?TUFjQ3VnTTlHcUJGZkR4NElhZExER3NxT0VSRm9TN3NYNTY3UVJmRTdXd3Zs?=
 =?utf-8?B?aFRDYVFRNldLZXpvWWpEbENTQ2s2MkppK2t0K0ZrWkN3YkdvZVQvWElGY0Zm?=
 =?utf-8?B?Uk0xampUL0ozWkZiM2tRbzR4aFA4WmhVOU1wc05xUUs5WkliOHdjSkZhQ1VH?=
 =?utf-8?B?Vi9jdGpjZU1YNTFuMytSdExRbFVFM01YVzl4bS82c2Zxc3ZSWHNzVXhFK1Bt?=
 =?utf-8?B?TU1FNXY1dUdTdjVNeXI2L3czQzJBckV3UmhGeHZNalBQb2NaSHhqUTg5bFFx?=
 =?utf-8?B?M3dWY2k5MzgrVlZtNWZBREswUDZCMkxLNFYxdWRmamhReis2enV2cGpaRVZa?=
 =?utf-8?B?Z0Y1WDNxUG1scUlRMGhJVmJHbTJaSDRRMlVMTE5MTVlvWklJaXNEQ210ZVF3?=
 =?utf-8?B?UnNrWDhBbHluSkx3RFMvd2dreGI4NEl2WEdsUDhaRHhzN29yQytvQmNJYjFw?=
 =?utf-8?B?TnBSUEV4QUd0ODRiZ1lSYSsrRVpLMUppZkM2bXZSMERXZmwzVUdvSVJzUm1B?=
 =?utf-8?B?RzFLR1pCRXU1YkVISE84Zm9WZ21oaUp6Y3BYM1Q1REtDTW1ScDVtZENCSFRs?=
 =?utf-8?B?akdRNVdJbllnQTZsNmlGRHNyUHhScTI0OGc4Ym5UOVkzYUw2aUxpNkY2UlZt?=
 =?utf-8?B?SGJJdnFzK1FTSFZFZHZxQzNNNlZZdXphdEZyVENZNngyUlNQd1hEVDFOeXMv?=
 =?utf-8?B?QWFETWUwZytpNXlpb29aclFDQTQrdm1pTVU1ekRBVHNUbXg0Y0pCWXUyKzhU?=
 =?utf-8?B?Z1FNVDM4ME9jRVdIUWIrdE5oUG9Ob0crUm9oMVNyRHg1YnRMUDUwNzFUdDY0?=
 =?utf-8?B?WmFFalBYVHFvV1h2TzhUc3JubUhLL2ljVUZLUTRaTkRlRGdEUEd3dXNTZUdN?=
 =?utf-8?B?Z2picEJRK1Bab0k2WjBEOGtvY1R2RmdMOGF1RTdCdEpLTXkvZ1ZuaGRTZ29D?=
 =?utf-8?B?Q3A3WE9EaGEwYnRwaXhoeERkaTNuVnNoaGRBK0k4ZFNQc05WbE9KSCtQUldu?=
 =?utf-8?B?MENHWldXRytUaCs2eFlMTmw0L0p2dHdzVVJGdXIzNjFseFI4YUFUNk9VRGNr?=
 =?utf-8?B?WHA3RE5sc24vanB3dnFNUHZrOUczNUxsTlkzZkVUOXpIL0ViSUp6cGRmWXdh?=
 =?utf-8?B?TU9uczljV2s1dEx1Z3VuTEt1Y0l2V2oxampKSkJZK3pkelRva0lFa3IrMito?=
 =?utf-8?B?OUZUOVg0MW5RZEs3eXYxcjBrM242WUNDM3dVOFdJV05XTFRtV056QWdtRGlR?=
 =?utf-8?B?NWM3MXpKTVZ0WkRtMDVCRCs2VGlnRUY0bUNQcDlQL2pid2VEeVJOYjBpeTdq?=
 =?utf-8?B?alV5NUdVZ2tHcURZVGQ3N3padzMxeDNScXBValpOQkJaYmY4S0xOSDdIVGEr?=
 =?utf-8?B?QVAzTWxQYU1RU0NldTVYbHBpNCtkMW5vU1paeGdKZHFkRHE4VHB4d0dDV21u?=
 =?utf-8?B?SGoyeEMxbkJUZFRhZnlkWk5ZcTNja1BpVk9UaWZFVXl5TVUyRXUzNEVJNTFz?=
 =?utf-8?B?QlcrWUtaeUlpeVNOdlJ6NnVKQi8zNWZMRS91VTlwZG5pQkE4c3dYVndXOTRJ?=
 =?utf-8?B?eEhqbDdsb1FGdndJa1d1aE9FcnlOMWIxMCt3cHRhOUtQL2c9PQ==?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?V1hjQWF5bGVsMjZMNHhYNTliVFBtWmVQbVV0MlBTZ3lVSkpreHRjVTBPMXVn?=
 =?utf-8?B?RGdmdmJnelpDUEcwN2tUbVNDZm9TK254OHpqdFNUTWRvdjBKbXNvN2xtdFFw?=
 =?utf-8?B?VFVrTmx6ZFhXaDY5aGV6Rk90UEtidVlROStNM0U4ekw5c3NEQm9YaWlmdHRD?=
 =?utf-8?B?QWcwODRUdXU1VnQydThad3Exb05JL1JJWFQyMmpKTW1wSVhoUjlBbisreGxN?=
 =?utf-8?B?cStHZW05MGh1Y1JUeDd0cGJWMzlBaTJLYk1MeE02SUxVOFFJSS9MR0hXeWho?=
 =?utf-8?B?VmJZa1BvYW1ZSkYrUW52TkExRVpFRTR0OU5EaWVCb2l5a05BYi9jVUpOL21B?=
 =?utf-8?B?RGpBNmcvRG9lODUwY3hvbG1LeGIvY1dGeE81N2tYOVJ0eS8yYm9iQTFOZWdu?=
 =?utf-8?B?eTlQeDJpbGRmUzhxUVcreWdBSzRnVjU3NlhONE02R3FaZ3YyaTZCSzd2ZHpp?=
 =?utf-8?B?U3lrWUlUcE1YamVnL1BLSHN3ZGdnckhUWnp2TFU3S01RclFZNEluR3VOZEZG?=
 =?utf-8?B?blFLREY5YW12dXp6ZG5MUU52TDNJM0Y3N0hyMmlSRGRhZ21tVnlJZmZ4ZFNR?=
 =?utf-8?B?bnVnZUdrLzhoT1dNenpuTUgyYzFUUUphdytlc2I4cDNJMTNVeGJTOXcyTU52?=
 =?utf-8?B?Z2hxaXdDNlpyREUxRlNjb043REVZaXY4SHNBYzhhUElLbHZaakppZjlaVkNR?=
 =?utf-8?B?cFVvR3NMNlk3OU5PM0gwMHBFTHNJZUVQWEdsaWNNUGJHNkpVaUF2OVZuNisz?=
 =?utf-8?B?NmlXcUk3bWM4YU81a3B1ZEgwN2lmWGcxcExXMEg4TlduNDRKbVZOWUZhUFBk?=
 =?utf-8?B?NVpvWUZ3UFJKRTE5ZzlLRDc3cUdHdllQWDFiTjZET0lJdkxoOTl4K2NncUVQ?=
 =?utf-8?B?RjIwdVdRRE50ZTVYUmRUaEZhQTY5SmIzR3V3QXFvN3cyalpyUW5MN2k5U2h4?=
 =?utf-8?B?S3k1U0w3dmhoWFJnekkrM1l0cUtZRW9OeS9oSzJRUTZXNGxRL2hkQTcyWmFM?=
 =?utf-8?B?VTNiVkxESGp2Z2EyNnNnYkVRa1I4NG9BbnY3VmhoemtydDZDblA5TDFSeFpN?=
 =?utf-8?B?WVI0dS95bHgyMEcrdnJjRGhpbDR6Ulc1azRCbk1GWUtRdFlyNTdlUWI1NFY0?=
 =?utf-8?B?bVFlMmRxNDJpN2lmNlk1VHZpbzZTZmxXcm5Yc0FmaHAzSEQ5SWVSZElXbW5j?=
 =?utf-8?B?ZVBVRGJnaStCU004U3gvbXQ2Z21QQTZGclA2MnJhYndyUG4wWC9DdVhiV0ZG?=
 =?utf-8?B?SFlLd1pPSFllU3QzVzVQa1I2Rnl6TlNrY0xzak4ySDAyWGQzaUkzOGhIVzV5?=
 =?utf-8?B?K0g2WDlSczNQQ3pNWU9wQmp5Rk1HNjhKRGpha1Y2bHJ5aEszZWdUVG9rZFdL?=
 =?utf-8?B?TlI2Q1hFVzVaK08wTTFCaUN6QzE2a1A0bG91WnNsTFcxa2QwSndOVFVYa0xw?=
 =?utf-8?B?TGJjbmhDWmNEMFpKTWhvVVQ4SGVneU0weTlDbEpFZTR1anN4L041eDFzVGp1?=
 =?utf-8?B?aVFNNmtMTUtTbDJhUUFsN2VkelUydVVlNEVaMjRZU1IrRXlLdHdKUkxDUFpp?=
 =?utf-8?B?Vlk1d3M5bWRRQm42Y0JhSTdOY210MnZlcDVyTnRtZCtDWVc3ckRVR25UVGN5?=
 =?utf-8?B?dUZ2aW8yb3hJWG5VV0dPZW15OVU4QVZSaEtWWjFSN0I3bWRNU2dISlkvL1l4?=
 =?utf-8?B?cmh4UDFtQkxoeFZWdzByRWhyRjIrTnE4S1E0b0RpaUFwZ3l5d0lZNUdrcHZT?=
 =?utf-8?B?YVVPaHpQbVFnOGhHbThUZ1N1a1oyelc2Tnd6RlRzaWx2WXpaNXNWWXJaSnlD?=
 =?utf-8?B?TG8rSTRBQTZRamNhKzZJelhYS2lBZlRRTWVhdVBnVlkyWml0SEphaytBSzhE?=
 =?utf-8?B?cFhoSnROSDQzdUZuRk4xWWhWS1lsQjFhVkE3amFGeWdzUzRaOUdXZ1FYVERt?=
 =?utf-8?B?NTZKK2RQOUpmanFQYi96d0ZZUFNSNDlnTVEyVUQ5SExUcTRuNlNaclg4aXNX?=
 =?utf-8?B?UHZWMmNYWnF4OGhoU3FNaW5uVHN2YWEzQkJuWGhKTGtlWkZBc05IOHFQejA4?=
 =?utf-8?B?aWxJM1kvWlpCNllUakQ2YzJnbFVVOUZsUTNWbHBJSkg3bjBwZlQzRHFFdXFr?=
 =?utf-8?Q?OhRzDFr+tOvoz7IQGnk/CPCuU?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 85543958-0a36-4900-90a0-08de025565ef
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Oct 2025 08:18:14.1798
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ifcCCZ9nAAFQ35eXPjs4NH/xEHNzW6vQbcEPf5xxjCjALGJWYE/CbEWf0dz6EC8eu70R9dSg7pxDarQ++RFepQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB6462

On Thu, Oct 02, 2025 at 04:56:48PM +0200, Alejandro Vallejo wrote:
> On Thu Oct 2, 2025 at 4:17 PM CEST, Roger Pau MonnÃ© wrote:
> > On Thu, Oct 02, 2025 at 04:02:00PM +0200, Alejandro Vallejo wrote:
> >> On Thu Oct 2, 2025 at 3:38 PM CEST, Roger Pau MonnÃ© wrote:
> >> > On Thu, Oct 02, 2025 at 11:37:36AM +0100, Andrew Cooper wrote:
> >> >> On 02/10/2025 11:22 am, Roger Pau Monne wrote:
> >> >> > Reading from the E9 port if the emergency console is active should return
> >> >> > 0xe9 according to the documentation from Bochs:
> >> >> >
> >> >> > https://bochs.sourceforge.io/doc/docbook/user/bochsrc.html
> >> >> >
> >> >> > See `port_e9_hack` section description.
> >> >> >
> >> >> > Fix Xen so it also returns the port address.  OSes can use it to detect
> >> >> > whether the emergency console is available or not.
> >> >> >
> >> >> > Fixes: d1bd157fbc9b ("Big merge the HVM full-virtualisation abstractions.")
> >> >> > Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
> >> >> 
> >> >> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
> >> >> 
> >> >> That's been wrong for rather a long time.Â  How did you find it?
> >> >
> >> > I came across the documentation above and I didn't remember Xen
> >> > returning any value for reads, which sadly was indeed true.
> >> >
> >> > This was because I had the intention to suggest Alejandro to (also?) use
> >> > the port 0xe9 hack for printing from XTF, which should work for both
> >> > Xen and QEMU.
> >> 
> >> QEMU doesn't support 0xE9 though?
> >
> > AFAICT it does:
> >
> > https://wiki.osdev.org/QEMU#The_debug_console
> >
> > However when running QEMU on Xen as a device model writes to 0xe9 are
> > handled in the hypervisor, and never forwarded to any device model.
> >
> > Regards, Roger.
> 
> The more you know. I searched for it once upon a time and couldn't find it.
> Thanks for the pointer.
> 
> Regardless, "-debugcon stdio" is functionally equivalent to "-serial stdio"
> and the latter can be adapted to work on real hardware too.

The emulated serial is possibly equivalent to the 0xe9 hack in QEMU,
as I expect the serial is mostly setup to "just work".  On native you
likely need to configure the baud rate &c, plus implement flow
control?

Is there any testing XTF should do to ensure the serial is there,
before blindly writing at 0x3f8?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Oct 03 08:26:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Oct 2025 08:26:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1136412.1472988 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4b7I-0000HE-TM; Fri, 03 Oct 2025 08:26:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1136412.1472988; Fri, 03 Oct 2025 08:26:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4b7I-0000H7-Pb; Fri, 03 Oct 2025 08:26:16 +0000
Received: by outflank-mailman (input) for mailman id 1136412;
 Fri, 03 Oct 2025 08:26:15 +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
 <SRS0=TaDF=4M=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1v4b7H-0000Gu-3p
 for xen-devel@lists.xenproject.org; Fri, 03 Oct 2025 08:26:15 +0000
Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com
 [2a00:1450:4864:20::62d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9f9342da-a032-11f0-9d14-b5c5bf9af7f9;
 Fri, 03 Oct 2025 10:26:13 +0200 (CEST)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-b4539dddd99so77651766b.1
 for <xen-devel@lists.xenproject.org>; Fri, 03 Oct 2025 01:26:13 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-67-38.play-internet.pl.
 [109.243.67.38]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-b4869c4e613sm374865266b.81.2025.10.03.01.26.11
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 03 Oct 2025 01:26:12 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9f9342da-a032-11f0-9d14-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1759479973; x=1760084773; darn=lists.xenproject.org;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=V8dgrE8RnUvpB2yLgSN82P7JF7zcPrb7JwU4O3cfKbM=;
        b=GoV3IZ4ZoU6LAXgy0SzOQGSYdhhsNz/FZPrFkg6gRkJ34htOZ3ndTxuXEq25fIXF7b
         pIaAX7rQ8ApmYyIu8dRT4jnHNr2PRMjQF4VptVNT1bF1Wij92R6fdIIkMJnUI5QnJTVQ
         gIxHGavfajvcT6ZpxVp6SSNY/5QPsY082AlMIKqnpTftgzQZCxi3Kw9ZC5PtSE0YsUW0
         mQCJKR8/sYPVXCBqfcdYkrCyoD+g8b8EQmLQQCSl86MrhTVmawk0gn53NDhmgi2HovIn
         /MNuk48+nI4fdR1AO9EycBkyd2Q8uo7JSok2deYPK8qWACIjH8jkgK2blPC50rtR7FeY
         IK1g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759479973; x=1760084773;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=V8dgrE8RnUvpB2yLgSN82P7JF7zcPrb7JwU4O3cfKbM=;
        b=LV0Wt+hWoHs/EujmYMZd2dN3VpVhjKXT0FXdpzIEpAYO6D//8PKo8n9iQp0rb6y+Ws
         shKyCj7cfMUdEyZEhYt1Bng1mA5geFsH+Ql2D8nRJPNl1dOCjjBqTU9ijacbj1byala0
         itHSG3JzC5FQM0nTpLRIv9vCtbdZuOY66gQrdITWZ/21/1eNRhbBjP7Itjm/BYX3xuuf
         dGqHbRc9YUGgdhSJKsaYoadgeQv/9IhTn2lapJcLBp5R38bVb5tMDys5yZoXJKkS2ebe
         3EH9dxx7S7YFX8hwsdCsCHYpOBTCa6+DClSm+H+0OS86SdMb53CBeSOD93J1HYBlJLCH
         nWyg==
X-Gm-Message-State: AOJu0YxRfbHwmmZcIawCeyj/WT8YWoo56XcWCT0oljgUZcVfr8ChO8JY
	vzdj9y+qaqHMaS55nitZ7fSE4ADHzE+pD8YvALhD6JhhTBKsLWJ0BTb2
X-Gm-Gg: ASbGncttrOTzF+623i+ZsS7WhLHne5Aj5m8ajTbyut65vgLV4S/+PmZezsz3rtl7WEz
	BG5OQbj44Eu0nHBGRGl9s8X1PVMPI19M2Ga1sUsRKukcniaO6OaAzhLEZnUfHGVwpG3YhS28kc3
	zKBB+/OAMcYGscpJZ/5G6aTPH2dQXboVPl/HodtwkOXlvfDn0VFcndeIXgTMZUCWw8GYDgUk67V
	GPvn3chXktIENeYkwxuAeLi7YrYLsQWU9KRcooeVu3c1h2Chor6iG9OV4nK+O17D+wxnXz1OpZs
	RPbGRoRQq8rJgl7ep9ntkzOWCa6z1ZAWH3OFhk+ndbYAMj7GKrGdxgdJk0UIOx5mAg7XSANNm+p
	0AS8rJCiu+oWDXXiqWeVO/ex2/pm/d3PsKu1W8/CNVqgzU5xDPwaw8+vkd9xLMLAtNLgf3BVvrJ
	30DIXtVe+F6UNKWrHNUX3X4qka
X-Google-Smtp-Source: AGHT+IE3dTsnrv+suDIEF4L6UOp29lPLURthHw+vsaVkKojQILa5vVh6kfxoL1kHVROGIwVYl3hxDQ==
X-Received: by 2002:a17:907:9448:b0:b46:cc3b:65fd with SMTP id a640c23a62f3a-b49c1063f9amr257872666b.29.1759479972464;
        Fri, 03 Oct 2025 01:26:12 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------3pDvI0JuZacuPai7Mn2ifgHO"
Message-ID: <72f24594-dcd4-4189-9408-343d03b57eee@gmail.com>
Date: Fri, 3 Oct 2025 10:26:10 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] xen: Strip xen.efi by default
To: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: xen-devel@lists.xenproject.org, Anthony PERARD
 <anthony.perard@vates.tech>, Michal Orzel <michal.orzel@amd.com>,
 Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Daniel Smith <dpsmith@apertussolutions.com>,
 "michal.zygowski@3mdeb.com" <michal.zygowski@3mdeb.com>
References: <20250612100705.21988-1-frediano.ziglio@cloud.com>
 <586a66e5-4b11-485e-955a-da5fc3183737@citrix.com> <aN6H8dOlea2Um8y8@mail-itl>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <aN6H8dOlea2Um8y8@mail-itl>

This is a multi-part message in MIME format.
--------------3pDvI0JuZacuPai7Mn2ifgHO
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit


On 10/2/25 4:10 PM, Marek Marczykowski-GÃ³recki wrote:
> On Thu, Oct 02, 2025 at 02:05:56PM +0100, Andrew Cooper wrote:
>> On 12/06/2025 11:07 am, Frediano Ziglio wrote:
>>> For xen.gz file we strip all symbols and have an additional
>>> xen-syms file version with all symbols.
>>> Make xen.efi more coherent stripping all symbols too.
>>> xen.efi.elf can be used for debugging.
>>>
>>> Signed-off-by: Frediano Ziglio<frediano.ziglio@cloud.com>
> Generally,
> Reviewed-by: Marek Marczykowski-GÃ³recki<marmarek@invisiblethingslab.com>
>
> But this may want a line in CHANGELOG.md, just for a little more
> visibility for people packaging Xen, as it may affect what should be
> included in debuginfo sub-package.

Good point.
I can add a line in CHANGELOG.md if a new version of
"[PATCH v2] CHANGELOG.md: Update for 4.21 release cycle" will be needed.

>
>>> ---
>>> Changes since v1:
>>> - avoid leaving target if some command fails
>> CC-ing the EFI maintainers, as this is an EFI change.
> Thanks. I did noticed the patch independently, but only a few minutes
> earlier due to missing CC...
>
>> At the recent QubesOS hackathon, MichaÅ‚ Å»ygowski (3mdeb) found that
>> stripping Xen was the difference between the system booting and not.
>>
>> With debugging symbols, xen.efi was ~32M and is placed above the 4G
>> boundary by the EFI loader, hitting Xen's sanity check that it's below 4G.
>>
>> Xen does still have a requirement to live below the 4G boundary.Â  At a
>> minimum, idle_pg_table needs to be addressable with a 32bit %cr3, but I
>> bet that isn't the only restriction we have.

I think the last two paragraphs should be part of the commit message, as they
clarify why these changes started to be needed in the first place.

>>
>> So, either we find a way of telling the EFI loader (using PE+ headers
>> only) that we require to be below 4G (I have no idea if this is
>> possible), or we strip xen.efi by default.

IMO, it should be preferable solution then stripping ...

>>
>> I don't think making Xen.efi safe to operate above the 4G boundary is a
>> viable option at this point.
>>
>> As Xen's defaults are broken on modern systems, this is also a bugfix
>> candidate for 4.21, so CC Oleksii.
> I agree with this wanting to be considered for 4.21.

... but if it is not clear at the moment how to instruct the EFI loader to
load below 4G, then I am okay with this solution and it should be part of 4.21:
  Release-Acked-By: Oleksii Kurochko<oleksii.kurochko@gmail.com>

Thanks.

~ Oleksii

>
>> ~Andrew
>>
>> (Retaining full patch for those CC'd into the thread)
>>
>>> ---
>>>   docs/misc/efi.pandoc  |  8 +-------
>>>   xen/Kconfig.debug     |  9 ++-------
>>>   xen/Makefile          | 19 -------------------
>>>   xen/arch/x86/Makefile |  8 +++++---
>>>   4 files changed, 8 insertions(+), 36 deletions(-)
>>>
>>> diff --git a/docs/misc/efi.pandoc b/docs/misc/efi.pandoc
>>> index 11c1ac3346..c66b18a66b 100644
>>> --- a/docs/misc/efi.pandoc
>>> +++ b/docs/misc/efi.pandoc
>>> @@ -20,13 +20,7 @@ Xen to load the configuration file even if multiboot modules are found.
>>>   Once built, `make install-xen` will place the resulting binary directly into
>>>   the EFI boot partition, provided `EFI_VENDOR` is set in the environment (and
>>>   `EFI_MOUNTPOINT` is overridden as needed, should the default of `/boot/efi` not
>>> -match your system). When built with debug info, the binary can be quite large.
>>> -Setting `INSTALL_EFI_STRIP=1` in the environment will cause it to be stripped
>>> -of debug info in the process of installing. `INSTALL_EFI_STRIP` can also be set
>>> -to any combination of options suitable to pass to `strip`, in case the default
>>> -ones don't do. The xen.efi binary will also be installed in `/usr/lib64/efi/`,
>>> -unless `EFI_DIR` is set in the environment to override this default. This
>>> -binary will not be stripped in the process.
>>> +match your system).
>>>   
>>>   The binary itself will require a configuration file (names with the `.efi`
>>>   extension of the binary's name replaced by `.cfg`, and - until an existing
>>> diff --git a/xen/Kconfig.debug b/xen/Kconfig.debug
>>> index d14093017e..cafbb1236c 100644
>>> --- a/xen/Kconfig.debug
>>> +++ b/xen/Kconfig.debug
>>> @@ -147,12 +147,7 @@ config DEBUG_INFO
>>>   	  Say Y here if you want to build Xen with debug information. This
>>>   	  information is needed e.g. for doing crash dump analysis of the
>>>   	  hypervisor via the "crash" tool.
>>> -	  Saying Y will increase the size of the xen-syms and xen.efi
>>> -	  binaries. In case the space on the EFI boot partition is rather
>>> -	  limited, you may want to install a stripped variant of xen.efi in
>>> -	  the EFI boot partition (look for "INSTALL_EFI_STRIP" in
>>> -	  docs/misc/efi.pandoc for more information - when not using
>>> -	  "make install-xen" for installing xen.efi, stripping needs to be
>>> -	  done outside the Xen build environment).
>>> +	  Saying Y will increase the size of the xen-syms and xen.efi.elf
>>> +	  binaries.
>>>   
>>>   endmenu
>>> diff --git a/xen/Makefile b/xen/Makefile
>>> index 8fc4e042ff..664c4ea7b8 100644
>>> --- a/xen/Makefile
>>> +++ b/xen/Makefile
>>> @@ -488,22 +488,6 @@ endif
>>>   .PHONY: _build
>>>   _build: $(TARGET)$(CONFIG_XEN_INSTALL_SUFFIX)
>>>   
>>> -# Strip
>>> -#
>>> -# INSTALL_EFI_STRIP, if defined, will cause xen.efi to be stripped before it
>>> -# is installed. If INSTALL_EFI_STRIP is '1', then the default option(s) below
>>> -# will be used. Otherwise, INSTALL_EFI_STRIP value will be used as the
>>> -# option(s) to the strip command.
>>> -ifdef INSTALL_EFI_STRIP
>>> -
>>> -ifeq ($(INSTALL_EFI_STRIP),1)
>>> -efi-strip-opt := --strip-debug --keep-file-symbols
>>> -else
>>> -efi-strip-opt := $(INSTALL_EFI_STRIP)
>>> -endif
>>> -
>>> -endif
>>> -
>>>   .PHONY: _install
>>>   _install: D=$(DESTDIR)
>>>   _install: T=$(notdir $(TARGET))
>>> @@ -530,9 +514,6 @@ _install: $(TARGET)$(CONFIG_XEN_INSTALL_SUFFIX)
>>>   		ln -sf $(T)-$(XEN_FULLVERSION).efi $(D)$(EFI_DIR)/$(T)-$(XEN_VERSION).efi; \
>>>   		ln -sf $(T)-$(XEN_FULLVERSION).efi $(D)$(EFI_DIR)/$(T).efi; \
>>>   		if [ -n '$(EFI_MOUNTPOINT)' -a -n '$(EFI_VENDOR)' ]; then \
>>> -			$(if $(efi-strip-opt), \
>>> -			     $(STRIP) $(efi-strip-opt) -p -o $(TARGET).efi.stripped $(TARGET).efi && \
>>> -			     $(INSTALL_DATA) $(TARGET).efi.stripped $(D)$(EFI_MOUNTPOINT)/efi/$(EFI_VENDOR)/$(T)-$(XEN_FULLVERSION).efi ||) \
>>>   			$(INSTALL_DATA) $(TARGET).efi $(D)$(EFI_MOUNTPOINT)/efi/$(EFI_VENDOR)/$(T)-$(XEN_FULLVERSION).efi; \
>>>   		elif [ "$(D)" = "$(patsubst $(shell cd $(XEN_ROOT) && pwd)/%,%,$(D))" ]; then \
>>>   			echo 'EFI installation only partially done (EFI_VENDOR not set)' >&2; \
>>> diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
>>> index ce724a9daa..e0ebc8c73e 100644
>>> --- a/xen/arch/x86/Makefile
>>> +++ b/xen/arch/x86/Makefile
>>> @@ -232,14 +232,16 @@ endif
>>>   	$(MAKE) $(build)=$(@D) .$(@F).1r.o .$(@F).1s.o
>>>   	$(LD) $(call EFI_LDFLAGS,$(VIRT_BASE)) -T $(obj)/efi.lds $< \
>>>   	      $(dot-target).1r.o $(dot-target).1s.o $(orphan-handling-y) \
>>> -	      $(note_file_option) -o $@
>>> -	$(NM) -pa --format=sysv $@ \
>>> +	      $(note_file_option) -o $@.tmp
>>> +	$(NM) -pa --format=sysv $@.tmp \
>>>   		| $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort \
>>>   		> $@.map
>>>   ifeq ($(CONFIG_DEBUG_INFO),y)
>>> -	$(if $(filter --strip-debug,$(EFI_LDFLAGS)),:$(space))$(OBJCOPY) -O elf64-x86-64 $@ $@.elf
>>> +	$(if $(filter --strip-debug,$(EFI_LDFLAGS)),:$(space))$(OBJCOPY) -O elf64-x86-64 $@.tmp $@.elf
>>> +	$(if $(filter --strip-debug,$(EFI_LDFLAGS)),:$(space))$(STRIP) $@.tmp
>>>   endif
>>>   	rm -f $(dot-target).[0-9]* $(@D)/..$(@F).[0-9]*
>>> +	mv -f $@.tmp $@
>>>   ifeq ($(CONFIG_XEN_IBT),y)
>>>   	$(SHELL) $(srctree)/tools/check-endbr.sh $@
>>>   endif
--------------3pDvI0JuZacuPai7Mn2ifgHO
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 10/2/25 4:10 PM, Marek
      Marczykowski-GÃ³recki wrote:<br>
    </div>
    <blockquote type="cite" cite="mid:aN6H8dOlea2Um8y8@mail-itl">
      <pre wrap="" class="moz-quote-pre">On Thu, Oct 02, 2025 at 02:05:56PM +0100, Andrew Cooper wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">On 12/06/2025 11:07 am, Frediano Ziglio wrote:
</pre>
        <blockquote type="cite">
          <pre wrap="" class="moz-quote-pre">For xen.gz file we strip all symbols and have an additional
xen-syms file version with all symbols.
Make xen.efi more coherent stripping all symbols too.
xen.efi.elf can be used for debugging.

Signed-off-by: Frediano Ziglio <a class="moz-txt-link-rfc2396E" href="mailto:frediano.ziglio@cloud.com">&lt;frediano.ziglio@cloud.com&gt;</a>
</pre>
        </blockquote>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
Generally,
Reviewed-by: Marek Marczykowski-GÃ³recki <a class="moz-txt-link-rfc2396E" href="mailto:marmarek@invisiblethingslab.com">&lt;marmarek@invisiblethingslab.com&gt;</a>

But this may want a line in CHANGELOG.md, just for a little more
visibility for people packaging Xen, as it may affect what should be
included in debuginfo sub-package.</pre>
    </blockquote>
    <pre>Good point.
I can add a line in CHANGELOG.md if a new version of
"[PATCH v2] CHANGELOG.md: Update for 4.21 release cycle" will be needed.

</pre>
    <blockquote type="cite" cite="mid:aN6H8dOlea2Um8y8@mail-itl">
      <pre wrap="" class="moz-quote-pre">

</pre>
      <blockquote type="cite">
        <blockquote type="cite">
          <pre wrap="" class="moz-quote-pre">---
Changes since v1:
- avoid leaving target if some command fails
</pre>
        </blockquote>
        <pre wrap="" class="moz-quote-pre">
CC-ing the EFI maintainers, as this is an EFI change.
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
Thanks. I did noticed the patch independently, but only a few minutes
earlier due to missing CC...

</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">At the recent QubesOS hackathon, MichaÅ‚ Å»ygowski (3mdeb) found that
stripping Xen was the difference between the system booting and not.

With debugging symbols, xen.efi was ~32M and is placed above the 4G
boundary by the EFI loader, hitting Xen's sanity check that it's below 4G.

Xen does still have a requirement to live below the 4G boundary.Â  At a
minimum, idle_pg_table needs to be addressable with a 32bit %cr3, but I
bet that isn't the only restriction we have.</pre>
      </blockquote>
    </blockquote>
    <pre>I think the last two paragraphs should be part of the commit message, as they
clarify why these changes started to be needed in the first place.

</pre>
    <blockquote type="cite" cite="mid:aN6H8dOlea2Um8y8@mail-itl">
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">

So, either we find a way of telling the EFI loader (using PE+ headers
only) that we require to be below 4G (I have no idea if this is
possible), or we strip xen.efi by default.</pre>
      </blockquote>
    </blockquote>
    <pre>IMO, it should be preferable solution then stripping ...
</pre>
    <blockquote type="cite" cite="mid:aN6H8dOlea2Um8y8@mail-itl">
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">

I don't think making Xen.efi safe to operate above the 4G boundary is a
viable option at this point.

As Xen's defaults are broken on modern systems, this is also a bugfix
candidate for 4.21, so CC Oleksii.
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
I agree with this wanting to be considered for 4.21.</pre>
    </blockquote>
    <pre>... but if it is not clear at the moment how to instruct the EFI loader to
load below 4G, then I am okay with this solution and it should be part of 4.21:
 Release-Acked-By: Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a>

Thanks.

~ Oleksii

</pre>
    <blockquote type="cite" cite="mid:aN6H8dOlea2Um8y8@mail-itl">
      <pre wrap="" class="moz-quote-pre">

</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">~Andrew

(Retaining full patch for those CC'd into the thread)

</pre>
        <blockquote type="cite">
          <pre wrap="" class="moz-quote-pre">---
 docs/misc/efi.pandoc  |  8 +-------
 xen/Kconfig.debug     |  9 ++-------
 xen/Makefile          | 19 -------------------
 xen/arch/x86/Makefile |  8 +++++---
 4 files changed, 8 insertions(+), 36 deletions(-)

diff --git a/docs/misc/efi.pandoc b/docs/misc/efi.pandoc
index 11c1ac3346..c66b18a66b 100644
--- a/docs/misc/efi.pandoc
+++ b/docs/misc/efi.pandoc
@@ -20,13 +20,7 @@ Xen to load the configuration file even if multiboot modules are found.
 Once built, `make install-xen` will place the resulting binary directly into
 the EFI boot partition, provided `EFI_VENDOR` is set in the environment (and
 `EFI_MOUNTPOINT` is overridden as needed, should the default of `/boot/efi` not
-match your system). When built with debug info, the binary can be quite large.
-Setting `INSTALL_EFI_STRIP=1` in the environment will cause it to be stripped
-of debug info in the process of installing. `INSTALL_EFI_STRIP` can also be set
-to any combination of options suitable to pass to `strip`, in case the default
-ones don't do. The xen.efi binary will also be installed in `/usr/lib64/efi/`,
-unless `EFI_DIR` is set in the environment to override this default. This
-binary will not be stripped in the process.
+match your system).
 
 The binary itself will require a configuration file (names with the `.efi`
 extension of the binary's name replaced by `.cfg`, and - until an existing
diff --git a/xen/Kconfig.debug b/xen/Kconfig.debug
index d14093017e..cafbb1236c 100644
--- a/xen/Kconfig.debug
+++ b/xen/Kconfig.debug
@@ -147,12 +147,7 @@ config DEBUG_INFO
 	  Say Y here if you want to build Xen with debug information. This
 	  information is needed e.g. for doing crash dump analysis of the
 	  hypervisor via the "crash" tool.
-	  Saying Y will increase the size of the xen-syms and xen.efi
-	  binaries. In case the space on the EFI boot partition is rather
-	  limited, you may want to install a stripped variant of xen.efi in
-	  the EFI boot partition (look for "INSTALL_EFI_STRIP" in
-	  docs/misc/efi.pandoc for more information - when not using
-	  "make install-xen" for installing xen.efi, stripping needs to be
-	  done outside the Xen build environment).
+	  Saying Y will increase the size of the xen-syms and xen.efi.elf
+	  binaries.
 
 endmenu
diff --git a/xen/Makefile b/xen/Makefile
index 8fc4e042ff..664c4ea7b8 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -488,22 +488,6 @@ endif
 .PHONY: _build
 _build: $(TARGET)$(CONFIG_XEN_INSTALL_SUFFIX)
 
-# Strip
-#
-# INSTALL_EFI_STRIP, if defined, will cause xen.efi to be stripped before it
-# is installed. If INSTALL_EFI_STRIP is '1', then the default option(s) below
-# will be used. Otherwise, INSTALL_EFI_STRIP value will be used as the
-# option(s) to the strip command.
-ifdef INSTALL_EFI_STRIP
-
-ifeq ($(INSTALL_EFI_STRIP),1)
-efi-strip-opt := --strip-debug --keep-file-symbols
-else
-efi-strip-opt := $(INSTALL_EFI_STRIP)
-endif
-
-endif
-
 .PHONY: _install
 _install: D=$(DESTDIR)
 _install: T=$(notdir $(TARGET))
@@ -530,9 +514,6 @@ _install: $(TARGET)$(CONFIG_XEN_INSTALL_SUFFIX)
 		ln -sf $(T)-$(XEN_FULLVERSION).efi $(D)$(EFI_DIR)/$(T)-$(XEN_VERSION).efi; \
 		ln -sf $(T)-$(XEN_FULLVERSION).efi $(D)$(EFI_DIR)/$(T).efi; \
 		if [ -n '$(EFI_MOUNTPOINT)' -a -n '$(EFI_VENDOR)' ]; then \
-			$(if $(efi-strip-opt), \
-			     $(STRIP) $(efi-strip-opt) -p -o $(TARGET).efi.stripped $(TARGET).efi &amp;&amp; \
-			     $(INSTALL_DATA) $(TARGET).efi.stripped $(D)$(EFI_MOUNTPOINT)/efi/$(EFI_VENDOR)/$(T)-$(XEN_FULLVERSION).efi ||) \
 			$(INSTALL_DATA) $(TARGET).efi $(D)$(EFI_MOUNTPOINT)/efi/$(EFI_VENDOR)/$(T)-$(XEN_FULLVERSION).efi; \
 		elif [ "$(D)" = "$(patsubst $(shell cd $(XEN_ROOT) &amp;&amp; pwd)/%,%,$(D))" ]; then \
 			echo 'EFI installation only partially done (EFI_VENDOR not set)' &gt;&amp;2; \
diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index ce724a9daa..e0ebc8c73e 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -232,14 +232,16 @@ endif
 	$(MAKE) $(build)=$(@D) .$(@F).1r.o .$(@F).1s.o
 	$(LD) $(call EFI_LDFLAGS,$(VIRT_BASE)) -T $(obj)/efi.lds $&lt; \
 	      $(dot-target).1r.o $(dot-target).1s.o $(orphan-handling-y) \
-	      $(note_file_option) -o $@
-	$(NM) -pa --format=sysv $@ \
+	      $(note_file_option) -o $@.tmp
+	$(NM) -pa --format=sysv $@.tmp \
 		| $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort \
 		&gt; $@.map
 ifeq ($(CONFIG_DEBUG_INFO),y)
-	$(if $(filter --strip-debug,$(EFI_LDFLAGS)),:$(space))$(OBJCOPY) -O elf64-x86-64 $@ $@.elf
+	$(if $(filter --strip-debug,$(EFI_LDFLAGS)),:$(space))$(OBJCOPY) -O elf64-x86-64 $@.tmp $@.elf
+	$(if $(filter --strip-debug,$(EFI_LDFLAGS)),:$(space))$(STRIP) $@.tmp
 endif
 	rm -f $(dot-target).[0-9]* $(@D)/..$(@F).[0-9]*
+	mv -f $@.tmp $@
 ifeq ($(CONFIG_XEN_IBT),y)
 	$(SHELL) $(srctree)/tools/check-endbr.sh $@
 endif
</pre>
        </blockquote>
        <pre wrap="" class="moz-quote-pre">
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
</pre>
    </blockquote>
  </body>
</html>

--------------3pDvI0JuZacuPai7Mn2ifgHO--


From xen-devel-bounces@lists.xenproject.org Fri Oct 03 08:38:35 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Oct 2025 08:38:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1136429.1473002 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4bJ9-00029D-2c; Fri, 03 Oct 2025 08:38:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1136429.1473002; Fri, 03 Oct 2025 08:38:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4bJ8-000296-W2; Fri, 03 Oct 2025 08:38:30 +0000
Received: by outflank-mailman (input) for mailman id 1136429;
 Fri, 03 Oct 2025 08:38:30 +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
 <SRS0=TaDF=4M=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1v4bJ7-000290-W7
 for xen-devel@lists.xenproject.org; Fri, 03 Oct 2025 08:38:29 +0000
Received: from mail-ed1-x52a.google.com (mail-ed1-x52a.google.com
 [2a00:1450:4864:20::52a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 55f062c9-a034-11f0-9d14-b5c5bf9af7f9;
 Fri, 03 Oct 2025 10:38:29 +0200 (CEST)
Received: by mail-ed1-x52a.google.com with SMTP id
 4fb4d7f45d1cf-62fc28843ecso2919567a12.1
 for <xen-devel@lists.xenproject.org>; Fri, 03 Oct 2025 01:38:29 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-67-38.play-internet.pl.
 [109.243.67.38]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-6376b3ab4b0sm3541664a12.5.2025.10.03.01.38.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 03 Oct 2025 01:38:27 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 55f062c9-a034-11f0-9d14-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1759480708; x=1760085508; darn=lists.xenproject.org;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Hl6DKbhYmaWddgFsA96ck65hAIkdKmRmctwiDKkWjns=;
        b=epshcqVPvvFQuxLRwfL7lETDJl1AH9VCrjJhlIhNrATtkL/KMmrJe5AeaEMgi/fwVj
         1Yi3eUgCaYnX+odxf1HUeAhVDPDjB2a93sQldbRdf3AUySAY50eEriDNMUKMdbrfkTcR
         bW5M6NqKyT8NkuMCSHyyf98/85CNodg/ae6p/HirkeZn2Wgho6Hjufsd70nna+ouh7Hq
         VGSRD2kL3iTdl3YMVveGS678ile0shZ4Lj6NxEDQdZYoW3Zo0CeQ4lY5+WUNC3ihkRfT
         nxbpwZQshN42VV5pBHOLDBF/4EqGgr5gOrreorEiv8V5dSXZKN7eF5lQuiKOWkh+HudA
         VyYw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759480708; x=1760085508;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=Hl6DKbhYmaWddgFsA96ck65hAIkdKmRmctwiDKkWjns=;
        b=EZr8cX9UunR+YLXrN8Xpw60lucvlgiTUFBDfb3xzWsx0V4QLzNKEafqV7HcnLXtj33
         WEZUMXGj+iwd5m0/uNwoOnqQA7JcvPiMicenHBXPALVk7jptudDY762n2ZicxCfiX/u3
         rFXel2h/oxKZTgaT4JE6IeKY0/YwkImkNVluSTc1vbHMb3gmi/4oUMe6rSyqlGv7oKAq
         WVayzBb0s8Gh52KGe3NiBh5yWUCHBKGq8X3cMX1KC53ojaOLYCfG4IQ89zPa1SR5sDsY
         hUolf0Eu+kIJBGapdm/VARmrJK2ZFK5YvCBuKawQ9x6vIiNrLV/Be6Kk3Ec4xT0LHWHS
         L+eg==
X-Gm-Message-State: AOJu0YwLx3i5oPY474yYC6iHlU3SWjT0jOPipEP+IpKn8V5W155J1wRl
	9EGnJjvvn7r8MAY1eER++MuE4LC3ewvo3fnD4NkGvEW5VmxfbifEN74Qu+7hsQ==
X-Gm-Gg: ASbGncvCg85sPsb4yXxCKLyeSTjoUnHGG62gOfmvv5mcBuZ1Uuc7mj0T7ykAg6u0dJz
	tfxm6iKJTNEpjPpK7FOPYTbhw0tlWDCrUD8DHaediWrmxLbg6IySsSDOIqi7zxqesJ/tl+UW2nt
	9+7489derCl9ZRDIjeSva6U+qyYxO9fX3VHOSvk0fY9DqenFbSMhZei181GK6vrwC1W50pB8GDU
	P2LG35i0ne+WGAWyvbvCxIWoVHmvvDEevJxbnnIdJfoMgIaIwGBL4vqTzvQsa7/40T9N6obJ9kl
	CiZtCSXfwURAFo7QGUszWSD77Wp+C93aXu8OESsUI1DMgWgHRX+4jnJOf1NsB3UWJ+e+NZhYhRy
	31TrEEwL4FNSjy0coHwthvOV2NUpjxPDHghdjLdxHjAmFTVgETZRcZqUYVW2d8sG8l90r2e7+5U
	9lnkrpqOcgvCDQD5wUQ22up6nPLkA+7AHnPDQ=
X-Google-Smtp-Source: AGHT+IGZEuldA8S/udifmtpZVgfUTugv0952Lll0Nxqs88YhxznHjYM08cBEPRl/dDgBglOg6hWLCw==
X-Received: by 2002:a05:6402:3585:b0:638:3f72:125a with SMTP id 4fb4d7f45d1cf-639348d76b4mr2171290a12.14.1759480708220;
        Fri, 03 Oct 2025 01:38:28 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------zyZ48vpMNzFA60oUHSnRUi4M"
Message-ID: <ef97c06c-7552-401b-8e7e-210cf66de5aa@gmail.com>
Date: Fri, 3 Oct 2025 10:38:27 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21] x86/hvm: fix reading from 0xe9 IO port if port
 E9 hack is active
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>
References: <20251002102200.15548-1-roger.pau@citrix.com>
 <1b4bcb40-d62b-47b5-847f-b6e16906f52e@citrix.com> <aN6APR-CUc9xRjfM@Mac.lan>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <aN6APR-CUc9xRjfM@Mac.lan>

This is a multi-part message in MIME format.
--------------zyZ48vpMNzFA60oUHSnRUi4M
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit


On 10/2/25 3:38 PM, Roger Pau MonnÃ© wrote:
> On Thu, Oct 02, 2025 at 11:37:36AM +0100, Andrew Cooper wrote:
>> On 02/10/2025 11:22 am, Roger Pau Monne wrote:
>>> Reading from the E9 port if the emergency console is active should return
>>> 0xe9 according to the documentation from Bochs:
>>>
>>> https://bochs.sourceforge.io/doc/docbook/user/bochsrc.html
>>>
>>> See `port_e9_hack` section description.
>>>
>>> Fix Xen so it also returns the port address.  OSes can use it to detect
>>> whether the emergency console is available or not.
>>>
>>> Fixes: d1bd157fbc9b ("Big merge the HVM full-virtualisation abstractions.")
>>> Signed-off-by: Roger Pau MonnÃ©<roger.pau@citrix.com>
>> Reviewed-by: Andrew Cooper<andrew.cooper3@citrix.com>
>>
>> That's been wrong for rather a long time.Â  How did you find it?
> I came across the documentation above and I didn't remember Xen
> returning any value for reads, which sadly was indeed true.
>
> This was because I had the intention to suggest Alejandro to (also?) use
> the port 0xe9 hack for printing from XTF, which should work for both
> Xen and QEMU.
>
>> CC-ing Oleksii as you've tagged this for 4.21.
> I was told that bugfixes didn't need a release-ack until hard code
> freeze, which is the 31st of October?

I meant until the start of the hard code freeze, which is on October 4.
So there is no need for a release-ack for this patch.

Thanks.

~ Oleksii

--------------zyZ48vpMNzFA60oUHSnRUi4M
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 10/2/25 3:38 PM, Roger Pau MonnÃ©
      wrote:<br>
    </div>
    <blockquote type="cite" cite="mid:aN6APR-CUc9xRjfM@Mac.lan">
      <pre wrap="" class="moz-quote-pre">On Thu, Oct 02, 2025 at 11:37:36AM +0100, Andrew Cooper wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">On 02/10/2025 11:22 am, Roger Pau Monne wrote:
</pre>
        <blockquote type="cite">
          <pre wrap="" class="moz-quote-pre">Reading from the E9 port if the emergency console is active should return
0xe9 according to the documentation from Bochs:

<a class="moz-txt-link-freetext" href="https://bochs.sourceforge.io/doc/docbook/user/bochsrc.html">https://bochs.sourceforge.io/doc/docbook/user/bochsrc.html</a>

See `port_e9_hack` section description.

Fix Xen so it also returns the port address.  OSes can use it to detect
whether the emergency console is available or not.

Fixes: d1bd157fbc9b ("Big merge the HVM full-virtualisation abstractions.")
Signed-off-by: Roger Pau MonnÃ© <a class="moz-txt-link-rfc2396E" href="mailto:roger.pau@citrix.com">&lt;roger.pau@citrix.com&gt;</a>
</pre>
        </blockquote>
        <pre wrap="" class="moz-quote-pre">
Reviewed-by: Andrew Cooper <a class="moz-txt-link-rfc2396E" href="mailto:andrew.cooper3@citrix.com">&lt;andrew.cooper3@citrix.com&gt;</a>

That's been wrong for rather a long time.Â  How did you find it?
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
I came across the documentation above and I didn't remember Xen
returning any value for reads, which sadly was indeed true.

This was because I had the intention to suggest Alejandro to (also?) use
the port 0xe9 hack for printing from XTF, which should work for both
Xen and QEMU.

</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">CC-ing Oleksii as you've tagged this for 4.21.
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
I was told that bugfixes didn't need a release-ack until hard code
freeze, which is the 31st of October?</pre>
    </blockquote>
    <pre>I meant until the start of the hard code freeze, which is on October 4.
So there is no need for a release-ack for this patch.

Thanks.

~ Oleksii
</pre>
    <pre>
</pre>
  </body>
</html>

--------------zyZ48vpMNzFA60oUHSnRUi4M--


From xen-devel-bounces@lists.xenproject.org Fri Oct 03 09:21:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Oct 2025 09:21:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1136451.1473012 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4byD-0008L6-Uz; Fri, 03 Oct 2025 09:20:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1136451.1473012; Fri, 03 Oct 2025 09:20:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4byD-0008Ky-SB; Fri, 03 Oct 2025 09:20:57 +0000
Received: by outflank-mailman (input) for mailman id 1136451;
 Fri, 03 Oct 2025 09:20:56 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <anthony@xenproject.org>) id 1v4byC-0008Kd-Ko
 for xen-devel@lists.xenproject.org; Fri, 03 Oct 2025 09:20:56 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <anthony@xenproject.org>) id 1v4byC-006fZ7-0d;
 Fri, 03 Oct 2025 09:20:56 +0000
Received: from [2a01:e0a:1da:8420:b77:bd5:6e45:7633] (helo=l14)
 by xenbits.xenproject.org with esmtpsa (TLS1.3) tls
 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96)
 (envelope-from <anthony@xenproject.org>) id 1v4byC-00Ekdg-0N;
 Fri, 03 Oct 2025 09:20:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=In-Reply-To:Content-Transfer-Encoding:
	Content-Type:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date;
	bh=NuLjPqUgH7tZOHWqjbk/eU60+8LQV+QxtY3mhBm7zDc=; b=sg5GnB6tb9alsxahahL/evH7F+
	bBEPU8yE0CulrPH/5Q41hh1nxIPbriAhVMMMJTDJECmhi6YBFm9Mp3csWTDx8uZ9gk3sMfPDMK3S2
	tTNUMiBMc4+VAXrG2YuEuzvixacFwPkBd9cAA2EYibW2ucBWitegG5MvQTssUVJxRK4M=;
Date: Fri, 3 Oct 2025 11:20:53 +0200
From: Anthony PERARD <anthony@xenproject.org>
To: Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>
Cc: Jason Andryuk <jason.andryuk@amd.com>, xen-devel@lists.xenproject.org,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH] MAINTAINERS: Add myself as an AMD SVM & IOMMU reviewer
Message-ID: <aN-VdWG3VUoDhSF5@l14>
References: <20251002234311.10926-1-jason.andryuk@amd.com>
 <aN-EuzQ2AZ1oMN0K@Mac.lan>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <aN-EuzQ2AZ1oMN0K@Mac.lan>

On Fri, Oct 03, 2025 at 10:09:31AM +0200, Roger Pau Monné wrote:
> On Thu, Oct 02, 2025 at 07:42:38PM -0400, Jason Andryuk wrote:
> > @@ -601,7 +618,8 @@ M:	Roger Pau Monné <roger.pau@citrix.com>
> >  S:	Supported
> >  L:	xen-devel@lists.xenproject.org
> >  F:	xen/arch/x86/
> > -F:	xen/drivers/passthrough/amd/
> > +X:	xen/arch/x86/hvm/svm/
> > +X:	xen/arch/x86/cpu/vpmu_amd.c
> 
> Would it be possible to not exclude the SVM related code here, and
> avoid having to duplicate the x86 maintainers on the AMD entries?
> 
> Or the parsing of the file doesn't deal with multiple entries possibly
> covering the same files?

./get_maintainer.pl can deal with a file been covered by multiple
entries, there's multiple example of that already, (e.g. many subsection
are also covered by TOOLSTACK).

The exclusion is likely unnecessary, and ./get_maintainer.pl will just
get the information (email, ...) from every sections that a file match.
But the duplication is necessary due to the "The meaning of nesting"
described in the MAINTAINERS file.

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Fri Oct 03 09:26:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Oct 2025 09:26:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1136464.1473022 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4c3j-0000WE-IA; Fri, 03 Oct 2025 09:26:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1136464.1473022; Fri, 03 Oct 2025 09:26:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4c3j-0000W7-FL; Fri, 03 Oct 2025 09:26:39 +0000
Received: by outflank-mailman (input) for mailman id 1136464;
 Fri, 03 Oct 2025 09:26: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
 <SRS0=lTCo=4M=epam.com=milan_djokic@srs-se1.protection.inumbo.net>)
 id 1v4c3i-0000VE-MW
 for xen-devel@lists.xenproject.org; Fri, 03 Oct 2025 09:26:38 +0000
Received: from MRWPR03CU001.outbound.protection.outlook.com
 (mail-francesouthazlp170110003.outbound.protection.outlook.com
 [2a01:111:f403:c207::3])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0f246061-a03b-11f0-9809-7dc792cee155;
 Fri, 03 Oct 2025 11:26:37 +0200 (CEST)
Received: from GV2PR03MB10998.eurprd03.prod.outlook.com (2603:10a6:150:27b::9)
 by DB9PR03MB7385.eurprd03.prod.outlook.com (2603:10a6:10:222::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.16; Fri, 3 Oct
 2025 09:26:33 +0000
Received: from GV2PR03MB10998.eurprd03.prod.outlook.com
 ([fe80::3358:d080:db3f:c4a]) by GV2PR03MB10998.eurprd03.prod.outlook.com
 ([fe80::3358:d080:db3f:c4a%7]) with mapi id 15.20.9160.017; Fri, 3 Oct 2025
 09:26:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0f246061-a03b-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=lLJocTXzdPgWv/vGMoqMeHtp7WWE9vP0p50TK6dDjWefjPper4RTu81cq0008mPdFiXN3oPIvsZKVXh400iZ9XwUTUPZhbKDaLba9Lnh/8VwrdF8msM/IcaGs9om315ynpaaCj5ZdGz9kY+Ky0lTn+5R+XDV6QjPlhjXsdH4gWD/pCLT+y/EEAXn2RZdS56uAzcRC04LCwDinA1KAPqgc36oCFFyD/BbdXHbWnBT87iO2l6AVtWz+ML4ZXoem+llwo162KLmyEC7g42UxHANz4FBDjKpuSBUbY8bWwkqt9dyFeP3I7JGXHG6J1UwUZ99mkJQ1HfhOhHu3PFhxeMwPg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xtbMAuPz3GcAFIw6q1rggmwJAupY8zBY/m4g4Vm6C1o=;
 b=k4X50IXNGKjOa5qrQbuVDoQxO0IGFuVNfqS8Dhk959dJLegJ3xD2LD01AbKR7mSswBLW/Gj4AHNQY0dqSWQWQFstTRqZ51q74STRohtcf2I86hU0H6b0oLeajwjP9io5sVQlP6Z7HgXEIRbM0BUHGBaZnb1oqXVr1eNE0JIvFT1gc4NE88VE21OOUwe3q9TyXsLh8mWeEMqmXMJHMJi4qDHwdwZN9mmc31KI9mjVyM5ttwa3YaFml8UNRqjBm6uFeLb1W0taZSapsvGAjVLIaXM8esyM/auP3x6THQiVcLGHhPT+oQTWg0y1DhC0kuzfcDfv8/RHKKP74QKpVA92eA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xtbMAuPz3GcAFIw6q1rggmwJAupY8zBY/m4g4Vm6C1o=;
 b=mjcmuqQvYaX2YUtVdovFdq7funL5xI6GJQmTCXPumcPmmz8EJSIESxMQ0Nz4Y0mSRJ5oBRMV0ICLkEqT7Ok2fpSlAQM5m1mfwWhhrxCrav519oCHRIEcnfw9PSiiKrwRmj/tjF2Pn5vEeUADs5ts+38RMICNexzqRGrPw4AW4Q9OC7x+7+XFFFks0PeQ7EjycaoFyrZ8f7gw0e0Bt7Fr6GiGEPp5+Z+4wsVnvO8jtLm4qi9LFXFGTsdxvbLE6FlHGta3xNgk9zvUSermspFSGef6ZweWXd5iR6pl7+ICnc9vGHkOX2cr8CIH/K0Dm/PrAR93lanSg9AUeF1CpCwKEg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <425203a1-cf8e-436d-9c24-2fa76b2a87c0@epam.com>
Date: Fri, 3 Oct 2025 11:26:30 +0200
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/arm: XEN_DOMCTL_get_address_size hypercall support
To: Julien Grall <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <39511522aae7dab5766ef2ebfed1d13abec8610e.1759324344.git.milan_djokic@epam.com>
 <bf042eea-ed2d-431e-b1f0-7be0c09194ef@citrix.com>
 <f3e662d1-7626-49f3-a673-e3cfd8d7944d@epam.com>
 <e091f7d3-14f3-40d1-a943-4758a52db71b@xen.org>
Content-Language: en-US
From: Milan Djokic <milan_djokic@epam.com>
In-Reply-To: <e091f7d3-14f3-40d1-a943-4758a52db71b@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR4P281CA0285.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:e6::19) To GV2PR03MB10998.eurprd03.prod.outlook.com
 (2603:10a6:150:27b::9)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: GV2PR03MB10998:EE_|DB9PR03MB7385:EE_
X-MS-Office365-Filtering-Correlation-Id: b9df7062-0f82-471f-3ae4-08de025ef102
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?RHJEdDdQMkRBUDZVUS9XWC9RMDU1Q3NaWkhLcDFOZVp2N201bFBEcGlOY3Fx?=
 =?utf-8?B?WC9waWRXVGRnTEoraHRsZi9sMmdHU2t5SUhLT205Q0RQOFJlQWJERWZXbEkr?=
 =?utf-8?B?VG5yVC95SWtYbHh3c1dTTmgzdFpYeFFhcFhPZ3B4bWk1ZnlVdXljNGw4dFpk?=
 =?utf-8?B?QkdTbnRMN3ZqaE9YeFd1TnczODlHNEJrTGQ2R0VWN0N3YkZrblpUSjROSzFx?=
 =?utf-8?B?T3pnbXU5Nm1mVU5lR1BONjVjNEloby9KdlZwSUNvbU5ydlRLaDIrVmlYZk9J?=
 =?utf-8?B?TUdaNlFtSjlQVnZDNXgxMlpzOWZ5MjZxaHdmSnBFQXR5Sk1NV1hnS3Z6SkNR?=
 =?utf-8?B?bTM5QWdGSkhRbjdzNG0xenlsLzJoYnhSWmI0RVd0MENQZHFaVVVjNDVLYzF6?=
 =?utf-8?B?ZmxUalU0QkZnR2ZBRXdnNytxeTRwbEhmbUVMSzduU2RKKzJFL2FzYTlxbTYx?=
 =?utf-8?B?MkZDNlBkRFJjdGRZelp0ZnJyTzRaZWNhUTcrOHVpckRHc0IvTnpPRGdpZHhC?=
 =?utf-8?B?ZllvUFZFTElFUEdsU0NWa20rR3A2VFRRdkN0QXkvUFVYVmlSUG5YRTQxcGYx?=
 =?utf-8?B?VFFhalV0SmdaTVZwUnU4aFdxc1BPSmw2OVlWb3laaGlEOWQ4MWF4aG5MVkIv?=
 =?utf-8?B?Yy9oWDZEVVA1ZS9mcVJnTThhRXVTZk5aVUd3NElBT0NHTTM0ZFlqbEpOdWJh?=
 =?utf-8?B?THJDbzBIQ1puYmp3TzlOTE5Cby9ZYUhaNE52d0hiRzJKaUtqSkhIZW1tc2VX?=
 =?utf-8?B?MW5rNEN5RGdTbnM5bnFMNjhBNmk0V3d1Wlg2T0NObDBnaTJvbk5FR0ZoTmg4?=
 =?utf-8?B?N2pRRHN3NjhIc1hWU1pkUi9VbjZqUFNvL0prWkFaNXdmTHZEZ3p0TG94em5m?=
 =?utf-8?B?MWVVcHA5ZGFhV2JBZkVnYzNsWnFmNnY2VWtLMkJwV2RSbXZUZVptL014K0FL?=
 =?utf-8?B?NDNhTngwVCtFZ2tpR0w2bG1KL29jaDdHSTdwWFhubzJqWWE5V0FudXRNclR0?=
 =?utf-8?B?WHdUS1B5cG9MN1NmTmRHUG82Rng2c2g5SVZhTVhDUkZRMGdvU3BGSStjakcx?=
 =?utf-8?B?N0dPcE0vYUZncDhFdlZJenVpa2JaVUwzREZ4K3FHeEMzWDNOYVhQUkJ3ZmMr?=
 =?utf-8?B?V0FmeWdzVVFEWSt0VnJySW9XRjR5ZFYwRHQwMFBqd3hFdnlZT2hMaFRsSFhm?=
 =?utf-8?B?VjFiSGE5R0FZeEs5b0J2aFZHdXU4WU9VUE1ScGc1VVRPbGFUTjRTY002aGZT?=
 =?utf-8?B?eUNQWnJvMkpCVktGMXNwZWh5Smk1WHpPNDdaMFJsclZObm8xMEtDWkt6cTh4?=
 =?utf-8?B?MnZmbkJGUXVjVHpkNUY2VnRqN2JISUNoVjJsa3E4SC9SK0pzdlh6NnA3K09z?=
 =?utf-8?B?OTZ0K0d5YUlsNnkxazJvVWVnOENPYXZIMEVpQ3NwKzhrOXFJSUdkOTZkUGlD?=
 =?utf-8?B?VjVnYUprWUh3bTI5WUVTNDBOejl5cmZNV0JMV3l0YzRHQjQ5TWVPNTRWR0Z0?=
 =?utf-8?B?NUZLOEFtTFFZS1diVWdoSyswbWVTcG5qTnJXc0pRL1o5UHZEdW5uODUyN21W?=
 =?utf-8?B?ZGYxK2c2NmlvNTZVY2dzTTRyMytveWIxMDJHMHNFUXZrb2dWZjA2VldNS0Iy?=
 =?utf-8?B?UU9WendhZEVYbytab2NRUU1iRkhtS1JRNUVubjgra0JHL1I2ckVMUk1saUxw?=
 =?utf-8?B?a3Bab3RJNjBLSVhyR3Q4MTI1VzRBNGt5dzcxWUw1OXcyK2JrRlVHUjdRQkpI?=
 =?utf-8?B?blhIYVZoRWJJT29ZUnduTHQ4UUFrMjVoeEh4UDN0MFNuTzBobzVKZEVnOWxm?=
 =?utf-8?B?dTgxaC9EeEs3SmxlbXRkd3FXVWhsd2o4TFNYNjRiR3hnY2MyT3p1Y2lSUVc3?=
 =?utf-8?B?bjFxSjE2NWJLTlo4ci8yNTR5bU5iZGhTUys5UHlydklZYXc9PQ==?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:GV2PR03MB10998.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?U1lwbW9oZGQ3L0pTWlFxL1NFNFJPRHpPZm5XTi9lQjYwTWdJbkJuUmxBK2dj?=
 =?utf-8?B?eFJTdnZMdnFWQ1hrTFAxM01UdGxheDNYbjk2d1BnVS9aR0xFQlFkdUxMcHZY?=
 =?utf-8?B?cStHa3pOR1F6aGRRV050WHBaWDM0ZWxnY0hnbGcyNktqVndQdllyRFNFUFlo?=
 =?utf-8?B?U1FhZzFxMHhRYmFmcnVPVElpV0NmU3ErMm5JOVRQY2FqcU5waU00MmtrdHFz?=
 =?utf-8?B?OEVYTUtGa3puR2wyRXhZaTBoR1hTcjRZMDJnUGkwd1JnemdIMEVwQS9MSFE5?=
 =?utf-8?B?NURSaTlaeHZkQlVNTUFNMzJzdlVMVVhtWlJNSG55dk9LWkF6UUVRNmVBZ0d6?=
 =?utf-8?B?VTZYSjkzZEwxNkM5ZFRUNXFJN2VyTjdRZWZXa2UyNmxtRGh1SEw1R3c5Um5S?=
 =?utf-8?B?RHNkZWJpZHl3cWhhY2I3ODB4eHdBb0hUNmRlYWVsUit4dERsMys1bXcza1hU?=
 =?utf-8?B?THB5QjFEVHZXWXNUdEd4blBGUXY4NUJOMTF6TXRDK2d3aFB0OGRxQ2RHSmt1?=
 =?utf-8?B?am5LRFJhQkNPRTc5WUJVV1FSOVNpTDlMNGdoTElYaktNeU1CdUtrRzJvNm5U?=
 =?utf-8?B?Q2Nva0tFVThzWEEweEgxbHR3UmlUaWhUSm1Kb2UwSk9UMlJNdElMQ3lSaG1k?=
 =?utf-8?B?Ukh5djBIWUIvQ0dhcTZpTHMrbmVjT1RyY3VKY0x0VnBpYWpJNUZaTTBOQjVZ?=
 =?utf-8?B?cTczSk02V0UvME9FOVNKelRZeWk0NUpRckx0TEpCV3YvMHBQKzFKT1R5Mkds?=
 =?utf-8?B?NnA3YUhwVkRHcGl1clJmc2JKeEpsanJLaG0zaytsdVNiODE0OXloOVJGWlhl?=
 =?utf-8?B?dEprVU80emVMVElYWUdMSkkxZnY2Mk9tYVNSTnkwQmk2TkdxOE05cFlBZStn?=
 =?utf-8?B?eWJkNWVyUUZpM1dWbDJGaSt0N25STllBN05vajZ4cGZEc096MWNjY0ZYTGR6?=
 =?utf-8?B?UDRIWFprUjBuNTY0dDB4UVFBcXA0RUxRSG5DZ1dHMlVlZHZTaXlnV3UzVzE1?=
 =?utf-8?B?cEhDMCt6SmFYcDBWeHhxeWZsZENnekVESEZFRHJ2OUl0QWprSEdtU1RqUlpX?=
 =?utf-8?B?TjBPbWxmYysxbnhaN3YxREJ0NkEwRFpWdFQ0dUNWT1FpbVJ1SWptaEJwZmtD?=
 =?utf-8?B?YlVxMlFVV0NqWFNyT1QvMGRDMnJRaEtIdnBZWEZvQlZQV2VSTCsrbFRwTXdh?=
 =?utf-8?B?OEk3T05ZR3ZFczZzR21sOTVvWi91aVB6S2txRVk2NmlDdXBSTW1VQ0hhNDM5?=
 =?utf-8?B?cERaTnJ4cFg5Rk14TnZTYTFhQjZ0elgyWkZPczhPLzFBdUZROXlNZWZTU2VR?=
 =?utf-8?B?TU9sRkFyMW5UWTRHSEZSWXJsdGdKZnE5US8zbk9TRHlnQjd4aEJjeFlPTlp5?=
 =?utf-8?B?a2VrN3hmYzJVcGxQZ3pLc0s2U3BZNm5tZmErQ2dwVVJXV3kwNnRwL2MydGQ4?=
 =?utf-8?B?c3RUc3lqS284anE4S0RaaDRsQUJxQ2ZDS1BLaHBRSzcyK0N4KzYvalpMdk15?=
 =?utf-8?B?UHRKZm5YUlZETTVTMkRUOUJaOGJBK3A4T0R5STNCRmJjdGhCenAxanBkZktH?=
 =?utf-8?B?MGx6M1p6a0k4V2cxNjRRRGZyTmdIbzJxcVpqa2VMUlNmUGFqTGRURTFRM1Uv?=
 =?utf-8?B?SXFxYWw3UGxHc3RRWnRrYWNGYW5hVVk3eFFJQ2VJeTNleWlyUWYwb3BsRXpu?=
 =?utf-8?B?Z0lzaHdaekZLSXFFVUVTK0RwZEdra3BNVm5HWFUyWGJZQncyQkNyaUw5S2VW?=
 =?utf-8?B?UkNlVktDTFRuWC9uem5RYzMzRE9BWERVS3NIVHR3NG9OUitDZUpYc01Pd2Y1?=
 =?utf-8?B?S1RWR1RmUnBmY1F0MVJ4MU16azJXWVFuYWt3ZzFPbG52MHAwQTFwdTl6ZlYr?=
 =?utf-8?B?d3lNWnNSSjlRQkJNU1BvSDlQSkk1bG44a045azFLaEpIdWpJTDVtTUxYblQz?=
 =?utf-8?B?bVFBZ3ZYOTdZZnB2T0Z3SytiM29NZjEzYjJVbGlGeURuM1oybFF4ZEk3WEk3?=
 =?utf-8?B?aU1mRlFPdHkrcU9KQm1ZL2gxQkVnMlpTcUEyRGJ1VWFKOXlrMGhEblFSN1pV?=
 =?utf-8?B?S3o3aWtIbzdFQXF0YWxBWlpsbWVreXhXWGVFeStUSmRkMytGNzI2ZUxQbGlW?=
 =?utf-8?Q?PGrdgGm1kcp6DfBSrdsiejouW?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b9df7062-0f82-471f-3ae4-08de025ef102
X-MS-Exchange-CrossTenant-AuthSource: GV2PR03MB10998.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Oct 2025 09:26:32.9187
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: W0HF1ui/56fnDTea3cn6Ra4YgibOkoQx0s1yPR8XdHi7MCfC9x5N6FhTVM1//zNw3LvRWP/Pp/x4fJ0ySNrRaQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR03MB7385

Hi Julien,

On 10/2/25 14:43, Julien Grall wrote:
> Hi,
> 
> On 02/10/2025 12:10, Milan Djokic wrote:
>> Hello Andrew,
>>
>> On 10/2/25 12:10, Andrew Cooper wrote:
>>> On 01/10/2025 9:01 pm, Milan Djokic wrote:
>>>> Signed-off-by: Milan Djokic <milan_djokic@epam.com>
>>>>
>>>> ---
>>>> XEN_DOMCTL_get_address_size hypercall is not implemented for arm
>>>> (only for x86)
>>>> It would be useful to have this hypercall supported for arm64, in
>>>> order to get
>>>> current guest addressing mode and also to verify that
>>>> XEN_DOMCTL_set_address_size
>>>> performs switch to target addressing mode (instead of relying on its
>>>> returned error code only).
>>>
>>> Please don't copy this misfeature of x86 PV guests into ARM.
>>>
>>> Letting domains be of variable bitness after domain create leads to a
>>> whole lot of bugs, many security relevant.
>>>
>>> 32bit vs 64bit should be an input to domain_create(), not something that
>>> is edited after the domain has been constructed.
>>>
>>
>> Yes, the idea behind this patch is not to introduce variable bitness,
>> just to have the ability to get current addressing mode through
>> hypercall. In our case, we have used it only in domain creation path
>> (after domain_create(), to verify that target addressing mode is set).
>> Of course, whether this hypercall support would be useful in mainline is
>> open for discussion.
> 
> We already have a series under review [1] that follow what Andrew is
> suggesting. I would rather focus on getting it committed rather than
> trying to workaround it.
> 
Thank you for clarification. In that case, I will abandon this patch.
You are referring to path series from Grygorii [1]? This means that 
XEN_DOMCTL_set_address_size hypercall will be removed and its function 
integrated as part of domain_create() and XEN_DOMCTL_createdomain (for 
toolstack) hypercall?

>>
>>>> diff --git a/xen/arch/arm/arm64/domctl.c b/xen/arch/arm/arm64/domctl.c
>>>> index 8720d126c9..f227309e06 100644
>>>> --- a/xen/arch/arm/arm64/domctl.c
>>>> +++ b/xen/arch/arm/arm64/domctl.c
>>>> @@ -33,6 +34,37 @@ static long switch_mode(struct domain *d, enum
>>>> domain_type type)
>>>>  Â Â Â Â Â  return 0;
>>>>  Â  }
>>>> +static long get_address_size(struct domain *d, uint32_t *address_size)
>>>> +{
>>>> +Â Â Â  long rc = 0;
>>>> +Â Â Â  struct vcpu *v;
>>>> +Â Â Â  /* Check invalid arguments */
>>>> +Â Â Â  if ( d == NULL || address_size == NULL) {
>>>> +Â Â Â Â Â Â Â  rc = -EINVAL;
>>>> +Â Â Â  }
>>>> +Â Â Â  /* Domain structure type field and actual vcpu mode must be
>>>> aligned */
>>>> +Â Â Â  if(rc == 0) {
>>>> +Â Â Â Â Â Â Â  for_each_vcpu(d, v) {
>>>> +Â Â Â Â Â Â Â Â Â Â Â  if(vcpu_get_mode(v) != d->arch.type) {
>>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  rc = -EFAULT;
>>>> +Â Â Â Â Â Â Â Â Â Â Â  }
>>>> +Â Â Â Â Â Â Â  }
>>>
>>> This is deeply suspicious.
>>>
>>> Under what circumstances can the vCPU setting be different from the
>>> domain setting?
>>>
>>
>> It should never happen, this is more of a sanity check. Alternative
>> would be to use only one of vCPU or domain settings, checking against
>> both seemed more complete to me.
> 
> This would be a logical error in Xen rather than something that could be
> triggered by the toolstack. I feel it could mislead people using release
> build because the fault is not due to the input provided.
> 
> Cheers,
>
[1] 
https://patchwork.kernel.org/project/xen-devel/cover/20250911082034.1326377-1-grygorii_strashko@epam.com/

BR,
Milan



From xen-devel-bounces@lists.xenproject.org Fri Oct 03 09:34:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Oct 2025 09:34:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1136475.1473032 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4cBZ-00026p-9w; Fri, 03 Oct 2025 09:34:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1136475.1473032; Fri, 03 Oct 2025 09:34:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4cBZ-00026i-6J; Fri, 03 Oct 2025 09:34:45 +0000
Received: by outflank-mailman (input) for mailman id 1136475;
 Fri, 03 Oct 2025 09:34:43 +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
 <SRS0=swgf=4M=amd.com=Alejandro.GarciaVallejo@srs-se1.protection.inumbo.net>)
 id 1v4cBX-00026W-9V
 for xen-devel@lists.xenproject.org; Fri, 03 Oct 2025 09:34:43 +0000
Received: from CY7PR03CU001.outbound.protection.outlook.com
 (mail-westcentralusazlp170100005.outbound.protection.outlook.com
 [2a01:111:f403:c112::5])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2f61e72e-a03c-11f0-9d14-b5c5bf9af7f9;
 Fri, 03 Oct 2025 11:34:41 +0200 (CEST)
Received: from MN2PR17CA0013.namprd17.prod.outlook.com (2603:10b6:208:15e::26)
 by CH3PR12MB9097.namprd12.prod.outlook.com (2603:10b6:610:1a6::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.16; Fri, 3 Oct
 2025 09:34:32 +0000
Received: from BN3PEPF0000B077.namprd04.prod.outlook.com
 (2603:10b6:208:15e:cafe::c8) by MN2PR17CA0013.outlook.office365.com
 (2603:10b6:208:15e::26) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9073.26 via Frontend Transport; Fri,
 3 Oct 2025 09:34:32 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 BN3PEPF0000B077.mail.protection.outlook.com (10.167.243.122) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9182.15 via Frontend Transport; Fri, 3 Oct 2025 09:34:32 +0000
Received: from localhost (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Fri, 3 Oct
 2025 02:34:30 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2f61e72e-a03c-11f0-9d14-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=xwRztlJ+tBzUp0Tvh1izpqg8KFu8/tdn64+/512CLjbbNlaBDXcN3aHv0a5CH+M6G9lliKUK4LyObhmew6G3tciU+RE+FgV5gG8YJpkD+0lBBgiysI108wqpFJppqybrjlM+50nxp/Psx1Yzlw9SduTNMYFGLKGQPEcrFb8AODzNyoYJ//22wLxp5QFcCW802POmA9tY59p2ZQPrauvRMDzF3+5BOOu5QFwkdqNbFZUtKgpp+JgS8D1aaoxZFm+BB4/oOFGZeDQbG3hXGRegCuE6cTOlG2yOZCPKbT86mZGR0MaFdxdnhkHvx4f7UwRq//RuE4pBq6OEvMdFB8gTVQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Osmf/8z0OhDHqkBhgAH3FBUvpEN6KdlADdz5lFfzaFk=;
 b=RHkTRzEqaMY4Z+HN3d20JGzrsKh6qh1ZfiMNb9xkn0Jzf9/VUr0rOhHDBtUzKUQH9vibm9YqGOoXm8H7HSdmT+mHey8zBWBMbSM1uIEnrpMj8rVDHBr2W/BEEQSw7WpiHF9gQP2AX6h9nNAJNBX6gNnDfpAO7F0wYfgAMcAg1MFTTW2NNIyvQR6ONrDK8PfsYFhujxxxXrACa1zWxdQu2huhGQrByIr8AD/aXxngfGErumR0rhgLKq5C9608ZUhixotNh80CLylpoj8MtgKStLcpkwE8xqWdLY86xgcx4Uty8IkGVQbclLW5z7x5u5VbCRX8SvwvNrTw3MAGzvi1iQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=citrix.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Osmf/8z0OhDHqkBhgAH3FBUvpEN6KdlADdz5lFfzaFk=;
 b=Ir3YToBaSHNyDGd3phdYHs4NIpDInvAbanvWPyO6n/+hZaXMY+8jKVnsAUdneCVdOrlUUd6dLlKynK6WWaapY+yluoXtmL8YeraybW4BWfLO/1BBK20ymNuuG0I0uIT1PbArD99jSmLofnoQoQEokONOsGNmyxTJFCA107H5Wl4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="UTF-8"
Date: Fri, 3 Oct 2025 11:34:30 +0200
Message-ID: <DD8L1R7N0V5Y.36TV08D44PTXW@amd.com>
To: =?utf-8?q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>,
	<xen-devel@lists.xenproject.org>, Jan Beulich <jbeulich@suse.com>, Oleksii
 Kurochko <oleksii.kurochko@gmail.com>, Xen-devel
	<xen-devel-bounces@lists.xenproject.org>
Subject: Re: [PATCH for-4.21] x86/hvm: fix reading from 0xe9 IO port if port
 E9 hack is active
From: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
X-Mailer: aerc 0.20.1
References: <20251002102200.15548-1-roger.pau@citrix.com>
 <1b4bcb40-d62b-47b5-847f-b6e16906f52e@citrix.com>
 <aN6APR-CUc9xRjfM@Mac.lan> <DD7W410Y9LYL.GD6FXC9Q6H37@amd.com>
 <aN6JZTlumMF2B0ym@Mac.lan> <DD7X9ZDWAJT9.2J6EHGRUMQCVL@amd.com>
 <aN-GwqVZNaAfu8mV@Mac.lan>
In-Reply-To: <aN-GwqVZNaAfu8mV@Mac.lan>
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN3PEPF0000B077:EE_|CH3PR12MB9097:EE_
X-MS-Office365-Filtering-Correlation-Id: ecc4b405-2a54-4dca-6dbd-08de02600ebd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|376014|36860700013|1800799024|7053199007|13003099007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?VlhmeFA0YU9FYUZMKy9ZMFdHUHZla3FEb0Flbm91OHVQTFc4ZzBQTFVJQU9q?=
 =?utf-8?B?VUlRbzdhNU9kaVVRcm82VkNHd1ZsZzlPdmFXZDlYYTlTWUJUL3BiSHN2UGFs?=
 =?utf-8?B?YXZPVXRmQWxSZEUydWdyckJLVm1BdVZmeDdzRXFqV0RyTzA3aU1VMnE3cE9Y?=
 =?utf-8?B?NHh6VFpQY3NMUFRWOHA5dDcyM1BsU3YwZUw4bzlJMW9xeU8wT2xmRTZ5QzZ4?=
 =?utf-8?B?VnpHczM0a25hZys5TVRDV2J5QTVhRk51a1FhTjdqUXJSa2pJYzlvYWY0N21C?=
 =?utf-8?B?Ly9DZEJ6THF5VzY5ZjUyUHBob0pLMnZsSDhodUtaT1JwRlIxZDRuUVo1T0Uz?=
 =?utf-8?B?RG82N1hGdzgycjhiOThmWGFMZ2FTZTk2akgwZzJTaHk1ZUpkaW04cmRnMnNs?=
 =?utf-8?B?eGdLWkFXa1F0MjhteGluN0JYekc2bDlsUXJyMWtCbDVHak5ZNnhXa3ZkZDYy?=
 =?utf-8?B?ZWR0T2diSFpOT2VWWlVFbGlTUVZhQ280d04rNXhlc3hJaEVERmlHRVFoUmdC?=
 =?utf-8?B?cFA0eXM5K2liQUltb3B4SkQ2RTF2U3FiOWlYVjdxVGM5cXVWN09Sank3SHpP?=
 =?utf-8?B?dXNBQjFSaFd0VXVwMVUrNkhPV3cwcHFhdVdQb1V2Qi9UbWNBampMWXhkeDFu?=
 =?utf-8?B?VkJ1bzVRQmVzTVZKSUpFN0JWYmc3dUVBcXVvRGJWbHBxdjdJMTRVVkx2clZ5?=
 =?utf-8?B?K0ZNMzJlc1pUcG9BeVJhd21ZRlJhQm9xSWw1a241c2hpUzJOLzBvbTZ1VDFT?=
 =?utf-8?B?Y3dUaHJMWFhEZmdPSmxXWmsxUzVSVVo1V3BIb2drOFhIUmdxRy9JelF5UlJ1?=
 =?utf-8?B?UXNtQW5hMTJnMXRtcUMzWWpWS3kranFPb0E1U3NFSUFvaE9JVVJ2VGNiNmlB?=
 =?utf-8?B?MzdweVlxNXpwcW1uR3BUNlc0alZxRndmc0g2REY4S2dpWlpiTy9kMnk4bDRC?=
 =?utf-8?B?eE5ZK3ZXS1JCdmxlWUpZTmlLNXVQQ2lpaTVBUk00eEcyUjZxbXBhU3RJTEdS?=
 =?utf-8?B?bS9vWU9hZ2dKYjJ2dFhnbHdPSGhWVjh5RS9QV0RYaXVLZGphRzhmaHdsdjlv?=
 =?utf-8?B?YUdib2pweXZQalRqbzN5UUVYdWxzczJxZU5DVytQNzlmeThKbGEyMGF2RW4w?=
 =?utf-8?B?eWdlTnlOTFpzRDQwSGkvZXBqRDRnSENBRDl0aGZNeHByd2xmRUs1a3ZoTUFT?=
 =?utf-8?B?aEFyOGlUVVlHeml4dTVNaGx4WHhnL0VjVVRldUp6dldGNjB6ZmVidkRIanJO?=
 =?utf-8?B?VFlGLy92WGwxUXRVSjh0dUw0MFlkTUZ4NmFBY0VJLytvVnJybTIrQVJGbjB0?=
 =?utf-8?B?bVFJT05VMWpCMzQzdko0THc3VmF0NGVkenJQWDBDQm5sM3Z2Z1gzbWQ1SjRI?=
 =?utf-8?B?Q3l2b0JlTlduaUZPWmtlVy91MHA1aUZudmFsejZlWksvdzBHbXliR2JiSS9J?=
 =?utf-8?B?SW5OV0tFenVOTm0yQ0RQWmdvcFNBRUtKZzZPNFp5aUtoNGJ1M01QeHNEVFJl?=
 =?utf-8?B?TnVaSERTWnc5Ui9Va1BSUXNmWGVCUVdTOS9tbm80ak5qV2wvOEYxcGJCZHZW?=
 =?utf-8?B?YWlrRmNRbXk5VnA1Smo5cFgyaTF5RGhpOFhLYmZTTXI2UWt5OTNualkxaE1N?=
 =?utf-8?B?TUVNTUR6eWV1MUVkbnNNa2RNaXlwdFB0VG9DUWZkVjh3TUVYVDNTSXJGekta?=
 =?utf-8?B?VVJBZDZrdWFNd3YxRWZyaGJnd3FMMFBZYUlFWHlqRnhXQ1JGVHUwRnV0N2JE?=
 =?utf-8?B?dE5VMGpBMDNrSERVMS91OWxLaUtFSUlvS096MFhBbkNjd2RwK0doNTVhejhs?=
 =?utf-8?B?RXl4YTlsNDBrTFd5cnorZkFTMGhHMTFlMzFCTGlQM1V5SEZZaTcvUkZmeVJz?=
 =?utf-8?B?OFFRWmVVNDlFbVNtaEV2R1p1YWZSa2pCZmc2dzZwcjZCejdibjBsOTBhU1lQ?=
 =?utf-8?B?MytMSmdXMGphVjQrNENjQW12bzZMRVkxbk5hMnZLTlcwOEdCWjJtNTFJdTZ0?=
 =?utf-8?B?M3VlMURUVnc2cUd1QzUzcjBiYmM5TTlMYjZCMmV1Um1pK0srQXl5ZUFrZnFY?=
 =?utf-8?Q?5OKYjV?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(376014)(36860700013)(1800799024)(7053199007)(13003099007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Oct 2025 09:34:32.0163
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ecc4b405-2a54-4dca-6dbd-08de02600ebd
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN3PEPF0000B077.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB9097

On Fri Oct 3, 2025 at 10:18 AM CEST, Roger Pau Monn=C3=A9 wrote:
> On Thu, Oct 02, 2025 at 04:56:48PM +0200, Alejandro Vallejo wrote:
>> On Thu Oct 2, 2025 at 4:17 PM CEST, Roger Pau Monn=C3=A9 wrote:
>> > On Thu, Oct 02, 2025 at 04:02:00PM +0200, Alejandro Vallejo wrote:
>> >> On Thu Oct 2, 2025 at 3:38 PM CEST, Roger Pau Monn=C3=A9 wrote:
>> >> > On Thu, Oct 02, 2025 at 11:37:36AM +0100, Andrew Cooper wrote:
>> >> >> On 02/10/2025 11:22 am, Roger Pau Monne wrote:
>> >> >> > Reading from the E9 port if the emergency console is active shou=
ld return
>> >> >> > 0xe9 according to the documentation from Bochs:
>> >> >> >
>> >> >> > https://bochs.sourceforge.io/doc/docbook/user/bochsrc.html
>> >> >> >
>> >> >> > See `port_e9_hack` section description.
>> >> >> >
>> >> >> > Fix Xen so it also returns the port address.  OSes can use it to=
 detect
>> >> >> > whether the emergency console is available or not.
>> >> >> >
>> >> >> > Fixes: d1bd157fbc9b ("Big merge the HVM full-virtualisation abst=
ractions.")
>> >> >> > Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
>> >> >>=20
>> >> >> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> >> >>=20
>> >> >> That's been wrong for rather a long time.=C2=A0 How did you find i=
t?
>> >> >
>> >> > I came across the documentation above and I didn't remember Xen
>> >> > returning any value for reads, which sadly was indeed true.
>> >> >
>> >> > This was because I had the intention to suggest Alejandro to (also?=
) use
>> >> > the port 0xe9 hack for printing from XTF, which should work for bot=
h
>> >> > Xen and QEMU.
>> >>=20
>> >> QEMU doesn't support 0xE9 though?
>> >
>> > AFAICT it does:
>> >
>> > https://wiki.osdev.org/QEMU#The_debug_console
>> >
>> > However when running QEMU on Xen as a device model writes to 0xe9 are
>> > handled in the hypervisor, and never forwarded to any device model.
>> >
>> > Regards, Roger.
>>=20
>> The more you know. I searched for it once upon a time and couldn't find =
it.
>> Thanks for the pointer.
>>=20
>> Regardless, "-debugcon stdio" is functionally equivalent to "-serial std=
io"
>> and the latter can be adapted to work on real hardware too.
>
> The emulated serial is possibly equivalent to the 0xe9 hack in QEMU,
> as I expect the serial is mostly setup to "just work".  On native you
> likely need to configure the baud rate &c, plus implement flow
> control?

You'd need to boot XTF via GRUB (or similar), which would've pre-configured
the serial port for you.

And baud rate, flow control and the like are ignored when emulated, so that=
's
all fine.

>
> Is there any testing XTF should do to ensure the serial is there,
> before blindly writing at 0x3f8?

Closest would be parsing the FADT for LEGACY_DEVICES being set, but if that=
 was
clear we'd be out of options because there's nothing else to write to. I do=
n't
intend to make XTF rock solid on real hardware, just "workable" on typical
everyday devices/servers with GRUB's help.

FWIW Xen just assumes it's there if com1=3D is given in the cmdline AFAICS.=
 The
most likely case for COM1 not being there is on PV(H), which XTF already us=
es
the PV console for.

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Fri Oct 03 09:55:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Oct 2025 09:55:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1136493.1473046 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4cV8-00054s-Vk; Fri, 03 Oct 2025 09:54:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1136493.1473046; Fri, 03 Oct 2025 09:54:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4cV8-00054l-Sl; Fri, 03 Oct 2025 09:54:58 +0000
Received: by outflank-mailman (input) for mailman id 1136493;
 Fri, 03 Oct 2025 09:54:57 +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
 <SRS0=swgf=4M=amd.com=Alejandro.GarciaVallejo@srs-se1.protection.inumbo.net>)
 id 1v4cV7-00054f-EV
 for xen-devel@lists.xenproject.org; Fri, 03 Oct 2025 09:54:57 +0000
Received: from MW6PR02CU001.outbound.protection.outlook.com
 (mail-westus2azlp170120002.outbound.protection.outlook.com
 [2a01:111:f403:c007::2])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 035277fc-a03f-11f0-9d14-b5c5bf9af7f9;
 Fri, 03 Oct 2025 11:54:56 +0200 (CEST)
Received: from CH0PR03CA0388.namprd03.prod.outlook.com (2603:10b6:610:119::30)
 by LV8PR12MB9230.namprd12.prod.outlook.com (2603:10b6:408:186::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.16; Fri, 3 Oct
 2025 09:54:46 +0000
Received: from CH3PEPF0000000F.namprd04.prod.outlook.com
 (2603:10b6:610:119:cafe::df) by CH0PR03CA0388.outlook.office365.com
 (2603:10b6:610:119::30) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9182.15 via Frontend Transport; Fri,
 3 Oct 2025 09:54:30 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 CH3PEPF0000000F.mail.protection.outlook.com (10.167.244.40) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9182.15 via Frontend Transport; Fri, 3 Oct 2025 09:54:46 +0000
Received: from localhost (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Fri, 3 Oct
 2025 02:54:45 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 035277fc-a03f-11f0-9d14-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ilrk3mdS5/QfeyVM0k3lmYymW5T7MEeqAKb5KB5CYu4jpvf+Hkmfxmh9D7txyoZ0jvXTqg3No15JODLpxb1E/W+AUhhp1nMMFI4YQN0UBdfpTtd854w82OmTtgzxmtCaM47pDbRXKhA6Hegvtr7s5pyCyE/OhoC1nHWdc8ceTGOI/w1oOY4fz9nVo8JgRiRMkFWt3mt7SEhUXZF/P2XPhJ3azovDmaJ+gzxh8txHJxBYDHBmvnJfQiO0nM9wWX+30wF9U/ZvMNu2Mpnd6sHJQtUHBUmAxogkBpnItolJM5/PilXUP2id13isDjO/0bwvfzH7/0qgDridClILjWU3BQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4MiHAv37j6dSmJqAxPxj2GpalqdSIs6FqMaSEOCxcs8=;
 b=D+WJYRooLuVYaqK3jIemDlgjkBxYZV/TYnRWa85h0Oz9oThkPAr/+pfI8g6xr1h44zkqyjGCC8S3J3JxG1vv+ydThU7vweQDx9Z25Xlv9zWcIwKu5qZXxxI+zGsm4Z9vD1g8v6nwJ4zVUD77SFyKLoj/IO+3OKUySE5Uk1VvXWvT+6hRxJWVgHeJ6KMOM7znTNJtCJpHWutIwxxj6F+KJVgGn980zxKMWXtlY6h3gW0rpSnxT+wFxMPvvuRrufG+VfrYt28HRgABUCoBAicLmV+Kj9/tybtC7kh1OsKw+EghDrbhDrh/6hxLj5w003pSVxOrSlJywwISLQaDKO5F/g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=citrix.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4MiHAv37j6dSmJqAxPxj2GpalqdSIs6FqMaSEOCxcs8=;
 b=U/F8AFTvqHzAPUyXcUrr9NY7BYLdSFvkvQRMw2o3z0kf5zw85V8xEbUeRdlEfFPfJ6pDwJexoC4/PlYqhUPusHjbY9HuzY4bMw3w/b3Fl8+Bb0tBvdk5Qq8S01XWD5DmjDtkQUFuqkyq6va8Bt1onY97CKBVvml2QZZXGisKzvY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="UTF-8"
Date: Fri, 3 Oct 2025 11:54:43 +0200
Message-ID: <DD8LH8QW6SUQ.UE1TRDDUTI8W@amd.com>
Subject: Re: [XTF PATCH v2 2/2] x86: Allow exiting QEMU in TCG/QEMU
From: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
To: =?utf-8?q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
CC: <xen-devel@lists.xenproject.org>, Andrew Cooper
	<andrew.cooper3@citrix.com>
X-Mailer: aerc 0.20.1
References: <20251002135542.28076-1-alejandro.garciavallejo@amd.com>
 <20251002135542.28076-3-alejandro.garciavallejo@amd.com>
 <aN6KrO6LPPJFK17M@Mac.lan> <DD7X3QFGUK6Y.DTARYWAB2DF@amd.com>
 <aN6cQBwiM36q_75E@Mac.lan> <DD80XF7EVPJ9.1WTMKC34DSW65@amd.com>
 <aN-EGpxVJ7roK2gM@Mac.lan>
In-Reply-To: <aN-EGpxVJ7roK2gM@Mac.lan>
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH3PEPF0000000F:EE_|LV8PR12MB9230:EE_
X-MS-Office365-Filtering-Correlation-Id: 7c31dde5-389d-41ac-346d-08de0262e26f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|36860700013|1800799024|82310400026|13003099007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?bUxscGIwbXRNMG5VdjBNODVEcm9WQzV0aTJ1OXRObXhTdDFSeVVqNmNGWHgz?=
 =?utf-8?B?TlVkWWpKYURMellaRW9mZUpsZlM2VWhDVFZpSDgzTG10eEd0N0QxOXlQdmNW?=
 =?utf-8?B?U2xmam02L1U3ZFdTWHpRVHlJOSt1eUx0dlVTY1FFd1ZIb1IrRFRiRnhHNExO?=
 =?utf-8?B?bTVHQTBWUzNiVFZYTDhVRU00WkFFTUV3ZW1WRkYzTENrL0RqRGR2RU9iUnFs?=
 =?utf-8?B?NXJKTzRyTWhoV3Y5NHMxNlBINlhkWXN6OUlzdVhjUkFrWk8rWUQwbE1UYXhJ?=
 =?utf-8?B?R1YrTU1lTitnRm1qSzMrRXJQVTJrYzJib0tyZUZkejNKUVhzT1pBV3ZMY3FL?=
 =?utf-8?B?WUp3alFiMW9zSW9NaEs0ZVozRXVCUk1MRHEyOElDNjJ0NzV0eWNROXNxSkJK?=
 =?utf-8?B?WkxxNkdqdk1YcG1JSTdJQmpkTy9GekVQZGxweEpBT3RkNTh3bVYrRkhUajYx?=
 =?utf-8?B?RWl2V1BBNWJpWG5FdTg0bUVJSU94bjBZM0NGdEc4ck9SWnV6M0ovV0JVNGQx?=
 =?utf-8?B?bUN6bE1xM2lHQUYwTFVrZkJqMUxDdlRxc3Jab3JXU2I3VUVMNC9xRS8xTEVL?=
 =?utf-8?B?K0NDZGFHMTFvbUpacmwxK2xIdVBsK1NtbDIzWE9uSzFBU09xb09TTGNOVWVO?=
 =?utf-8?B?UWlyZWFaeVNKZHEyYVpjU1RFWEpsT2lxMWN3akNPL0tNOFZYeS92Ni8wdEha?=
 =?utf-8?B?d0JMT3BGeDJMeElrVVQ4TUVhU1gxV1dqVXJtYVAyblVYYjlvQXBJTHlSWUlO?=
 =?utf-8?B?azhvYUI0TEl2MVN0NndNRHlxYjNnOHhsbDg0OE9NSVN2ZkIrU1JBejZ5U1g0?=
 =?utf-8?B?bzE4Q0tUd25vRHF1QVZQNEFDWHlWb0MvMHpFekxLNmlzbHZIYW1xYWVhM3RY?=
 =?utf-8?B?eWVVSytyQmNQUThRSHhSdGs5aTcrbUthZWVxL2JQTjl3d0x6bm5zU215UCts?=
 =?utf-8?B?UjVqOWdxWTlSWk5TQUdWM1hnMExac21pVkxucXBGSldQYWI3dGtGSmZRM25w?=
 =?utf-8?B?ZXk3R1BvUDgxbXZhd3p4QXJYYzAyMlhqUGhrWTJXTGdyR0MvSWZsMFUxZlB3?=
 =?utf-8?B?QkhvcmFiQWZwZEhIL2h3NmR1dUczWXRGMlpDdEUzd2V0NFp6ZGYwK29LVmo5?=
 =?utf-8?B?MGZvOUtIQXhLTDlUZ3ZRRVNsa0ZqbFVWQ1p4bFpuUDArb3QxNlBtU0sxYWI0?=
 =?utf-8?B?U3ZkWUg4UTk0YnVHUXRraFdjaGRhT3huR1Y5d25oZk9yb0QwVnZpbDdEVzF6?=
 =?utf-8?B?TjdwZTV2eFc5TjhLOEtPUlZoQ3lUU09EanhPZkYwQlpTK2JOU0FaS3o1V1BK?=
 =?utf-8?B?Y1ZzWEc5UWQzd081Q08rNy9lSUhvNDdDNVI5NmdvREZ1c0d4T1dha1lkUGFT?=
 =?utf-8?B?WkxxUXlNZG1kbUJWRlBUekpYdFd4c0JBZzkrUzlGNXFkZ3JWTmJUV2h3d3d0?=
 =?utf-8?B?dThzQW1keDRVdkFNSDNzZU1IUVFJMDZiYzRvOWprd3c4WmUwa0dTNmFmMzVH?=
 =?utf-8?B?MXp2d0FZVXh4em9vYUtuWUhCdk5CTzNFSFhHQUduMGJIWVNJSFM5K0R6Rk5a?=
 =?utf-8?B?TXJEN09UeTBXZmlFVCtxb3A0aGFpbW5jbEQvcXQrN2JBQTEwb1d6Y2xlRFFx?=
 =?utf-8?B?OGx2azM4ak0wblA3T1lua3lwVHB1bG0wNUdmUlhuVFdNSDJWWVZHa0FyVWs4?=
 =?utf-8?B?Wm1uMDZYb3ZpME9sb3g4TElzTExobU42TnBMNGllVkJyUGE3QXpYMXhTVS9a?=
 =?utf-8?B?SXc0YjFuTnhtN1VtSjZDRndtZnpIWHF2OTZJbGZlVmFNdkVSNng4bTdLenc5?=
 =?utf-8?B?OHhqOXJtS0VnS1VLSUp6akdkSGhMMFprcEtrbDZLZ3EzNFE1U2U2NUNjdUVQ?=
 =?utf-8?B?NzNHU21wbGZnNmhrRTgxNGZSem1IWmlIUm5WRmZSYld4VVFHSW1UMTA4T2lG?=
 =?utf-8?B?QTNiUkxaSHFtQ3hQK1MrL1Q1R2lEWFllQVFENGd1UXNsSFRkYk5tVU16b1o1?=
 =?utf-8?B?WnpyVG1RR3JEYXl0b2ZKaTZhYkNaWStEV3VjeGFNUGRZVG5vcXhvUTRSTzNF?=
 =?utf-8?B?dHFGU1QveVhGZGxJeDNxdmRaYVl2NkdORHUrbmZDZmt3QU9wRnkwK0l2YUt1?=
 =?utf-8?Q?QvYc=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(36860700013)(1800799024)(82310400026)(13003099007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Oct 2025 09:54:46.1596
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7c31dde5-389d-41ac-346d-08de0262e26f
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CH3PEPF0000000F.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR12MB9230

On Fri Oct 3, 2025 at 10:06 AM CEST, Roger Pau Monn=C3=A9 wrote:
> On Thu, Oct 02, 2025 at 07:48:28PM +0200, Alejandro Vallejo wrote:
>> On Thu Oct 2, 2025 at 5:37 PM CEST, Roger Pau Monn=C3=A9 wrote:
>> > On Thu, Oct 02, 2025 at 04:48:38PM +0200, Alejandro Vallejo wrote:
>> >> On Thu Oct 2, 2025 at 4:22 PM CEST, Roger Pau Monn=C3=A9 wrote:
>> >> > On Thu, Oct 02, 2025 at 03:55:34PM +0200, Alejandro Vallejo wrote:
>> >> >> If QEMU has a debug isa-debug-exit device, we can simply write to =
it
>> >> >> to exit rather than spinning after a failed hypercall.
>> >> >>=20
>> >> >> While at it, reorder an out-of-order include.
>> >> >>=20
>> >> >> Signed-off-by: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
>> >> >> ---
>> >> >>  arch/x86/hvm/traps.c    | 16 +++++++++++++++-
>> >> >>  arch/x86/pv/traps.c     |  5 +++++
>> >> >>  common/lib.c            |  2 +-
>> >> >>  common/report.c         |  8 +++++---
>> >> >>  include/xtf/framework.h |  3 +++
>> >> >>  5 files changed, 29 insertions(+), 5 deletions(-)
>> >> >>=20
>> >> >> diff --git a/arch/x86/hvm/traps.c b/arch/x86/hvm/traps.c
>> >> >> index ad7b8cb..b8c4d0c 100644
>> >> >> --- a/arch/x86/hvm/traps.c
>> >> >> +++ b/arch/x86/hvm/traps.c
>> >> >> @@ -1,5 +1,6 @@
>> >> >> -#include <xtf/traps.h>
>> >> >> +#include <xtf/hypercall.h>
>> >> >>  #include <xtf/lib.h>
>> >> >> +#include <xtf/traps.h>
>> >> >> =20
>> >> >>  #include <arch/idt.h>
>> >> >>  #include <arch/lib.h>
>> >> >> @@ -139,6 +140,19 @@ void arch_init_traps(void)
>> >> >>                 virt_to_gfn(__end_user_bss));
>> >> >>  }
>> >> >> =20
>> >> >> +void arch_shutdown(unsigned int reason)
>> >> >> +{
>> >> >> +    hypercall_shutdown(reason);
>> >> >
>> >> > This relies on the hypercall page being poised with `ret`, which is
>> >> > IMO fragile.  I would rather have it poisoned with `int3` and preve=
nt
>> >> > such stray accesses in the first place.
>> >>=20
>> >> I dont' mind caching Xen presence somewhere, but that involves some c=
ode motion
>> >> from setup.c, which I wanted to avoid.
>> >
>> > I think it's very likely that at some point we will need to cache this=
?
>> >
>> > enum {
>> >     NATIVE,
>> >     XEN,
>> >     QEMU,
>> >     ...
>> > } hypervisor_env;
>> >
>> > Or similar.
>>=20
>> Maybe NATIVE, XEN_VIRT and NON_XEN_VIRT? I see no reason to distinguish =
between
>> TCG, KVM and any other accelerator; and QEMU is imprecise because we use=
 for
>> HVM. You could imagine chainloading XTF from GRUB to test the HVM env.
>
> Maybe not for XTF.  IIRC KVM also offers some PV interfaces (like the
> PV timer) that native QEMU doesn't.

Sure, but we don't want to test KVM PV. It _could_ be used for it, but KVM =
has
its own unit testing facilities already.

https://gitlab.com/kvm-unit-tests/kvm-unit-tests.git

>
> Rather than having an exclusive hypervisor mode, we could signal what
> interfaces are available.  For example Xen (and I bet KVM too) can
> expose native interfaces plus viridian extensions, in which case we
> might want to detect both if present.  That would require using a
> separate boolean for each extra interface.  IOW:
>
> bool xen_hypercall;
> bool viridian_foo;
> bool qemu_debug;
> ...
>
> (Possibly not the best naming)

I'm of the opinion of not adding things not strictly required.

>
> BTW, is it possible for a guest to discover whether the
> "isa-debug-exit" functionality is present?

Besides ensuring a read gets zero, no. From the QEMU sources:

  static uint64_t debug_exit_read(void *opaque, hwaddr addr, unsigned size)
  {
      return 0;
  }

  static void debug_exit_write(void *opaque, hwaddr addr, uint64_t val,
                               unsigned width)
  {
      qemu_system_shutdown_request_with_code(SHUTDOWN_CAUSE_GUEST_SHUTDOWN,
                                             (val << 1) | 1);
  }

I didn't see any signaling anywhere in CPUID or elsewhere. Though I admit i=
t
was years ago that I last checked, this isn't the sort of feature that chan=
ges
very often.

>
> Sorry, I'm possibly derailing this patch series.

Can only mean you find it interesting. That's always good :)

But to concretise actions, I think I'll keep it simple for the time being a=
nd
add a single `cpu_has_xen` global boolean; then place the shutdown hypercal=
l
before the QEMU exit device write, gated by cpu_has_xen.

That prevents making a hypercall when the "wrong" hypervisor is present (or
none).

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Fri Oct 03 10:00:57 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Oct 2025 10:00:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1136506.1473055 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4car-0006lA-J9; Fri, 03 Oct 2025 10:00:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1136506.1473055; Fri, 03 Oct 2025 10:00:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4car-0006l3-Gb; Fri, 03 Oct 2025 10:00:53 +0000
Received: by outflank-mailman (input) for mailman id 1136506;
 Fri, 03 Oct 2025 10:00:53 +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
 <SRS0=swgf=4M=amd.com=Alejandro.GarciaVallejo@srs-se1.protection.inumbo.net>)
 id 1v4caq-0006ks-W7
 for xen-devel@lists.xenproject.org; Fri, 03 Oct 2025 10:00:52 +0000
Received: from MW6PR02CU001.outbound.protection.outlook.com
 (mail-westus2azlp170120002.outbound.protection.outlook.com
 [2a01:111:f403:c007::2])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d3e0a03e-a03f-11f0-9809-7dc792cee155;
 Fri, 03 Oct 2025 12:00:45 +0200 (CEST)
Received: from MW4PR04CA0117.namprd04.prod.outlook.com (2603:10b6:303:83::32)
 by PH7PR12MB6859.namprd12.prod.outlook.com (2603:10b6:510:1b5::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9160.18; Fri, 3 Oct
 2025 10:00:33 +0000
Received: from MWH0EPF000A6732.namprd04.prod.outlook.com
 (2603:10b6:303:83:cafe::6e) by MW4PR04CA0117.outlook.office365.com
 (2603:10b6:303:83::32) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9182.15 via Frontend Transport; Fri,
 3 Oct 2025 10:00:33 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 MWH0EPF000A6732.mail.protection.outlook.com (10.167.249.24) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9182.15 via Frontend Transport; Fri, 3 Oct 2025 10:00:32 +0000
Received: from localhost (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Fri, 3 Oct
 2025 03:00:29 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d3e0a03e-a03f-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=pzjdR+d46JXnM3CC3XJsnfU/t3sYJCySq6Q4wxv6W27QsKoWSx8U5Mgsr+sy/WPa6f6eOqbNQ1gZFRorleY8ppGnJU+TVTvaDgpNkWa4zs4u0z5tgkuJNj9O7EufGExZjdkWH18eehtf7gDtSghoMERKkKvNWREryq1T/ddim3dp8C0J2T0J06DxzJjwEbzVgUDhlUUrxUVy1526yuWPsgb74P1G/gW3vy8k9iHxysbVWJ2TMDakDSarmFuxKsbtsRm5LUhoTLRMAab5VkiYVuGjwSZWFPkkR62Ct5QdygefRoruz0+5XFX9Kt64RWJlOouhApg3p8Ohj1RzploO0Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/9svBkBdb7PQgex93mrktmbTOkv9ikr/cj/ramRYAek=;
 b=CqvCrCLq77s+MRs0hJYLi/Bmw5MyNwys3prWcA7lVhkXayHERcrFD9AN9tMHjdF0HJ+a45EyQDYTYdvXBe4G1bVz5JhIfnW6Fkj0IHUVQHvj27ZDUL5zcGs7mkG4EkmmCptUoO0q298gxKADeXO4m9A2he5aNFPQ5j+83Lsua8VXV/+TBREWQILeYYImLEDKoYvLFxFCVE6xnL4mNQ1BEyCXz2MKMJa8VdEmmPLK/eVVShSqsV8X7gks8d3H7RBr6ffmLisLkBotFmvPycI/Nezl0ETCRjdPD2MiqOiel9VCJ4rNO51KKopFNySs5PPDnxoQJ3KY0yv7TYrDGtiYkQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=gmail.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/9svBkBdb7PQgex93mrktmbTOkv9ikr/cj/ramRYAek=;
 b=Db/syVnb0NP0eYo75+0q2rlJeQ3xEBmw2NHGgIAwcSj5LtdPz249abx/gEcZ6hiYoB3zlhuAEd+H3bbHwLMeLyAl1aUEUFHmA0yd8psTeLCaiiDOIP3+Qzq79V8+aIyPGeccrqriH6WE3w88l4sbx7NPzmutdCAJddZ4EGnLDeI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="UTF-8"
Date: Fri, 3 Oct 2025 12:00:28 +0200
Message-ID: <DD8LLN4279QQ.24LB1EV7JP2J0@amd.com>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, Michal Orzel
	<michal.orzel@amd.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Xen-devel <xen-devel-bounces@lists.xenproject.org>
Subject: Re: [PATCH] xen/arm: XEN_DOMCTL_get_address_size hypercall support
From: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
To: Demi Marie Obenour <demiobenour@gmail.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Milan Djokic <milan_djokic@epam.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
X-Mailer: aerc 0.20.1
References: <39511522aae7dab5766ef2ebfed1d13abec8610e.1759324344.git.milan_djokic@epam.com> <bf042eea-ed2d-431e-b1f0-7be0c09194ef@citrix.com> <967b62ca-8aed-4abf-8fa5-30769f46a5ff@gmail.com>
In-Reply-To: <967b62ca-8aed-4abf-8fa5-30769f46a5ff@gmail.com>
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MWH0EPF000A6732:EE_|PH7PR12MB6859:EE_
X-MS-Office365-Filtering-Correlation-Id: ddfc1201-fe1b-4f12-d319-08de0263b12e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|376014|1800799024|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?Q2oyNzMvTXNmMXh5UDAxZTBxUVJnVkpETTc0ZFg5QUlzUitibVVhR3gvLzE4?=
 =?utf-8?B?L3ZuT3p3SHRVS2dkS0xPa3lBYXJzRmxUSE4ydHZoQXJZdXVLNVpRV2FpYUNy?=
 =?utf-8?B?UjdwNElQazE4SWtUTkluR1dPdU9mYmJrNnBoYjErR0xlZUszbUJJNExBMnNh?=
 =?utf-8?B?WWM0NUE3dnZhTDZvL2t4Rll5S001YjNLaUt3d3g5dkM0b2xpV1R0c1JhZ2xL?=
 =?utf-8?B?dnRUc1BNa1dMeDd4THVjOWZvV01Ra01HdHBvYjNQYXBua2tlaHJnMEZONG5G?=
 =?utf-8?B?b0NiTjdXNVRaRHRGSFMzNHpQVzFMbFdrQjFHdTVKZHFKWkRFUkQwYVM2RFlY?=
 =?utf-8?B?ekc1eEJqN2h3c09Nckxoc1oxdTYyZ2JuSE54T2NNVlpJYUhFRmo5RllPUUdn?=
 =?utf-8?B?bUs1Vyt5ZUtnUVhlYWNiQmV4OTU4bWJLV2lzazJqWGdCYStLRm13L2pYRGVs?=
 =?utf-8?B?eDNUTW9tK2RuWDdaM0hGZFk3RXFNOXYra3hOaXlzU1BIQXhoTkhKSGc1WldK?=
 =?utf-8?B?TGdDSWMzL0NXNThrY3hiRkx0Skxjd0RqMks3c0dVSk5tcHVLUE9BK29rQzNM?=
 =?utf-8?B?UWVBMmFjN0N5a2xTa1N2NUhQTEV1WTBFL1UzWFlMV1FMZUNIZlVVcS9RVm5L?=
 =?utf-8?B?T092RS9qR3RxTS9RN2ZXVkMxc2RtUkRYbVRERWRtQ3pQeGVmVlZzb1lFdFlK?=
 =?utf-8?B?ZldKYnFFdVdUNFNsbnpaaVBTNTVxYm5ORjlpKyttUVB2c05NQkhsdXhaZng1?=
 =?utf-8?B?aUIwMUpvbVc4MGh0MFVKSzFvbVFUTW5ZcjhJOUptSTd1L241c1VwNjNMZ3kr?=
 =?utf-8?B?aFBDUnNXSllUUFVCdFZUY3RrNVFOWFRBL2haSU9VTW5xUlRSUGxjRUZKcXcv?=
 =?utf-8?B?dkhhRDRMU1liVFF4S0p5WEVFSWwwWnZJbmZDRktmNjIvaVNyMFJVeEFhZFJG?=
 =?utf-8?B?LzB2bVZ3bGRpdlRsTC9QMXlSVlU2WnNQc2FvcUk1Nm5vczhjQTZ0UDBITG0z?=
 =?utf-8?B?cHJhS3Q2eFpYTUhLbUhlMFhCZjJPUUNEc1hmTTd6TmFrRk9WaFpKU21EVHBq?=
 =?utf-8?B?Zk5JK1pabEduZEpRK2ZuSUtLTHZxbUhuRjZoVHU3a09qMCtDcDdITlB4bnNr?=
 =?utf-8?B?VDJNNnYrTlMySUprdGdJcGhjRU5jTHd0d2EvL2MzMHVOWG9ERnFJQXgzd1JG?=
 =?utf-8?B?U2JocExoWVI2Z0V6MEVTUndZQUtvclBpVnJjQ0pHQ053TWZlL2ExaUY5d0NB?=
 =?utf-8?B?U3NYdWs3WFh3dzVhTlhWRlYvTjBqOVcvbEhRYW52YU9IcnZqQnFLc1NSR3JV?=
 =?utf-8?B?ZmJOUVMyRHYrSzZ5eVJMV0JFSHJwbzc1cTRpakQ4WW9CZUJLK1dzZW10QTFZ?=
 =?utf-8?B?TjlEVXVSRU5xWjRBY3IwSlhFbWN4RWVicHMwTlZtNGt2UlpUeGhqZm1pcmNQ?=
 =?utf-8?B?dFNCQ3lqaHlxdGxYZ3hDQVlBUnYvMWZqWlJ3a1Y4NGIrNURJOXlHWkZQbFNV?=
 =?utf-8?B?VUQ1ekFJSG9JZGNDcU9PZm9KNVpzRE03bXdoeHBsYlhQUS9jYkpENlFuYXJY?=
 =?utf-8?B?bVVCTllVUTJvVjh1TE5LR0hDVmlmZlc0eWl1b252SkhyWkRUSWI2WEtvNXlF?=
 =?utf-8?B?VHdzcDA0MGhrcEUvWFNsSm03U2pLMG0va1NzVFQwOHRUU1lnbjRWamZsa3d5?=
 =?utf-8?B?RUNWYWhNSjlGTXlGSkxKVFRQUUYvTTBGWVVlY3dmY2YvWlNjUDBWekZERGx4?=
 =?utf-8?B?b2VnQVB4K0FYVnRHK3JUNm0wQzIyTGV1aWpxelhxbnlnM1JGMVJEY256WW9z?=
 =?utf-8?B?ZVgrTjhKcE1vSENNd29hRjh1aC9hT2w5Ymx5d1g3aFhaZ2FYVXBIVDJpVlNr?=
 =?utf-8?B?UnZaWVZwYlBzNVg1dHlkK1VNeS9FclVNUGwxU0lsaFhxWE5rWks1VFVUaVZr?=
 =?utf-8?B?K2l3SlFMZGY1RGRabVY0WkVKL2ZhYjhUY1FVaURlRzdsWFFBT1paMytKK0NO?=
 =?utf-8?B?MlVGUnhiWTlhMXp6c0tsZ05lc2FQakhWTGtQUWo3bnFXRzl5djNPUUxmY0M2?=
 =?utf-8?B?dGlhR21TdDlzZlIwait3c1lHNXd2dS9ybms1ZmIwMUd6OGY4ZWRXTlJWVkpz?=
 =?utf-8?Q?oefE=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(376014)(1800799024)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Oct 2025 10:00:32.9493
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ddfc1201-fe1b-4f12-d319-08de0263b12e
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	MWH0EPF000A6732.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB6859

On Thu Oct 2, 2025 at 8:27 PM CEST, Demi Marie Obenour wrote:
> On 10/2/25 06:10, Andrew Cooper wrote:
>> On 01/10/2025 9:01 pm, Milan Djokic wrote:
>>> Signed-off-by: Milan Djokic <milan_djokic@epam.com>
>>>
>>> ---
>>> XEN_DOMCTL_get_address_size hypercall is not implemented for arm (only =
for x86)
>>> It would be useful to have this hypercall supported for arm64, in order=
 to get
>>> current guest addressing mode and also to verify that XEN_DOMCTL_set_ad=
dress_size
>>> performs switch to target addressing mode (instead of relying on its re=
turned error code only).
>>=20
>> Please don't copy this misfeature of x86 PV guests into ARM.
>>=20
>> Letting domains be of variable bitness after domain create leads to a
>> whole lot of bugs, many security relevant.
>>=20
>> 32bit vs 64bit should be an input to domain_create(), not something that
>> is edited after the domain has been constructed.
>
> Does this mean that Xen guests cannot support multiarch?

HVM/PVH x86_64 cannot not be multiarch. All APs start in 16bit and proceed =
to
32 and 64 bit mode, in that order.

It's only PV that has fixed bitness.

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Fri Oct 03 10:05:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Oct 2025 10:05:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1136517.1473066 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4cfR-0007Kt-54; Fri, 03 Oct 2025 10:05:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1136517.1473066; Fri, 03 Oct 2025 10:05:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4cfR-0007Km-1H; Fri, 03 Oct 2025 10:05:37 +0000
Received: by outflank-mailman (input) for mailman id 1136517;
 Fri, 03 Oct 2025 10:05:35 +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
 <SRS0=swgf=4M=amd.com=Alejandro.GarciaVallejo@srs-se1.protection.inumbo.net>)
 id 1v4cfP-0007KY-JN
 for xen-devel@lists.xenproject.org; Fri, 03 Oct 2025 10:05:35 +0000
Received: from CY3PR05CU001.outbound.protection.outlook.com
 (mail-westcentralusazlp170130007.outbound.protection.outlook.com
 [2a01:111:f403:c112::7])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7dfdcbf3-a040-11f0-9809-7dc792cee155;
 Fri, 03 Oct 2025 12:05:31 +0200 (CEST)
Received: from PH7PR10CA0010.namprd10.prod.outlook.com (2603:10b6:510:23d::19)
 by DM6PR12MB4483.namprd12.prod.outlook.com (2603:10b6:5:2a2::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.16; Fri, 3 Oct
 2025 10:05:22 +0000
Received: from CY4PEPF0000E9CE.namprd03.prod.outlook.com
 (2603:10b6:510:23d:cafe::9c) by PH7PR10CA0010.outlook.office365.com
 (2603:10b6:510:23d::19) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9182.17 via Frontend Transport; Fri,
 3 Oct 2025 10:05:22 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 CY4PEPF0000E9CE.mail.protection.outlook.com (10.167.241.133) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9182.15 via Frontend Transport; Fri, 3 Oct 2025 10:05:21 +0000
Received: from localhost (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Fri, 3 Oct
 2025 03:05:19 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7dfdcbf3-a040-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=U9ctMBZUr3WsUUUKU44PJHOkwBJgAl6xvSEsTPqilDDuS2eVKo01UMzom78k1sD+orzdEoARHb3d6jo34+bqqAXaLn9+PM8TATfAb92lrMVo1/mKoipJyImudySxsc8Tv6Cbq/aHdv3p9DrcerX5Oxd7H7atJdfP7rxTIAG/2vCop/KdUCa/Ms9WxvdB/iDDruI7KYJUFcLwsrj/0/ce4+fIwa0PHpQvI9O/PKMxUTdFKqpqXRJbvF9BhkWjGkuiFejVdtKIvL30JIE7xuPD4rMSXT04W/IdXglpIE4oSgnaPmW80QC7iKWfKKv3AIRZBR+8tuoooh6vBASPPKcAuA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9G5ZTsr4oeDnjEW7f98NiznSh4CHSoXlhyMe1fIbGuY=;
 b=Gjmj5zL78cCaSNTdtTe3LMknH54Oj2aUf4XFTPVy1B6XLRqhhgYyHFc7W4wfQ1raBGpNzcWSGJcDNbMDIFoEaDBaBox7qOJn/J0LXEXgG5oyDPh+HJMc8aL5e3W6m+HzrT4FQn/IxG7/5DqIrlTJ3BdAXolLw7wpTagAELFfO18rgFKoUhF/nrBp4sddbjqX9kooSCfp/bqoinsmuGfs0OM0Mr4C2aE3IxRgFxfyFm3pUOR39uDsOv21Ls/O0HPJ9f9k/RFjfiqJN0xj8cvRKfFKBoY9VsNf0yHmox+NujkOGkbj7vnXQc7Gvh57af6/suQEObKBZV78UtNW0FnK2Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=epam.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9G5ZTsr4oeDnjEW7f98NiznSh4CHSoXlhyMe1fIbGuY=;
 b=4jyF2oWlSSWyXo5ufjtitr9mSV8hVKXk/eazmPjbQR36yi2LEYAvUVKIdmxdNgc5NvZDbPxpgvFQQYoUxSvMJRXthZPhIlOyaEv7RrZfcZjUnDfa8M/RVD3p8bdyeNSVhnzbNrhPoqTeHsWp1DdbaUY/JJkyYzDyW6jyoVeynF8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="UTF-8"
Date: Fri, 3 Oct 2025 12:05:18 +0200
Message-ID: <DD8LPC6M7AOI.2YFMXY9IMGXJP@amd.com>
Subject: Re: [PATCH] xen/arm: XEN_DOMCTL_get_address_size hypercall support
From: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
To: Milan Djokic <milan_djokic@epam.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, Michal Orzel
	<michal.orzel@amd.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Xen-devel <xen-devel-bounces@lists.xenproject.org>
X-Mailer: aerc 0.20.1
References: <39511522aae7dab5766ef2ebfed1d13abec8610e.1759324344.git.milan_djokic@epam.com>
In-Reply-To: <39511522aae7dab5766ef2ebfed1d13abec8610e.1759324344.git.milan_djokic@epam.com>
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000E9CE:EE_|DM6PR12MB4483:EE_
X-MS-Office365-Filtering-Correlation-Id: 9b25d96c-d677-4140-36fd-08de02645d11
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|30052699003|82310400026|1800799024|36860700013|376014|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?OSsrUWVoQTRBTEsrV0Rkd1ZCUUJnc1FZdVUzTnpqVVY0UldlL1F3MWFzZnAw?=
 =?utf-8?B?UVNyOVV6U1c1dElkRlVnQ3dIT3c1cnFuWGhLakYyQUpqS1FJUmlpc1o4T29u?=
 =?utf-8?B?WENYZkwvdEVVNmxzU1k5VnBjMlpMRXcyZ3FWdm5DT29abXVraUFEY0NNcDlp?=
 =?utf-8?B?RnhJSS95cUtRVXE1ZThIbW5PL3l2TEFYUkFUYVJJYnVEOVMyTllJUW5yay8z?=
 =?utf-8?B?QVpwMXRrYWNlQWpnUnIrTy9rUHd0REUrZGdzdkZidEZDRFJnUnRHUXp3Mm9w?=
 =?utf-8?B?MjIvWmt6czRlVnFkOGw4N0dwYTNUUk9YOFRWcHkvWXppczg1QVpkYXhIalg2?=
 =?utf-8?B?MkhhbW92RFlVOEEyZzhoY3IxK29ONTZZWjhNTnB3VWxPTzlGeDRqRGY2ajdG?=
 =?utf-8?B?ckxlV1NaaHFsQUtLUU1WUno1eVJUbUs3aW5zNFk5NFhwYXdMcnVSMzllT2xL?=
 =?utf-8?B?bktVWUR2R1hKajlva0pueXk4bVZnSlpIVzdkV2FlUU1HUjgwdjFVSmJqUFFC?=
 =?utf-8?B?dnlnai9VM1ZLZEdvaVh5ZW9FcHhiaVJHQVJEYTJ1aGFIcmJqTjNISFpCV21S?=
 =?utf-8?B?ZVdZdXczSWdRVnpqZmMvUVR2bkMxQ2pabnBqWTZ5US9EMWxBMGhGaTlUM2Jr?=
 =?utf-8?B?eHNvTCtoVElLYVByNlRDdWFpcVprUE52bmtxaDFxSzJBMGFxSXpOeGtlN0dM?=
 =?utf-8?B?MDk3KzVFR1J6WmVDaTU0ZmFGNnN6dGYyaHVVZHhhYy9qQXIzdE5ycTQxYkhq?=
 =?utf-8?B?dGg0c1BtZUJOTmdINmJuSGR2dE1EYnlObld4aTg1L05wV1VXd281RDYyYnRC?=
 =?utf-8?B?Sk9JcktvSUlxajFlNkRSNnZ0UnNTSWNFeUJEMENwNWE4YUhhUVFnaWh3ZVRX?=
 =?utf-8?B?UGd6YzBramNNbDZQQVNnSHNjSk1ESVNRQWNDdk1ZRVA4ekpYUFpaMWs2Wlhj?=
 =?utf-8?B?WXJPNnl4SGp1bmZXYWhRaXQxK09FM0o1clJ5ZU1xbGpyZ1g3NWhWYUdQZ2Vj?=
 =?utf-8?B?ZzBkL0RWL1RMZmtUNG9HYXEyc2pkUVZWZ2JSTmtZaUI2YmRDMGluNk51NnBz?=
 =?utf-8?B?RmZGWTdoYzFkZ1BKSWVVOFpMa2wrSkpXY2JiRjJGckVuVWlrbENLYmFENHgx?=
 =?utf-8?B?TnQwMmFVVkZrMERCMURETnhnNm9DQVppa1BDMHloWDRwbzM4M2pWaHhFczJl?=
 =?utf-8?B?d0JDcFIyY0NTeWpMVHhUNGNXVTdOcGVLQkxmZ25lb1BXdjJ1d2FFT1NhZUlP?=
 =?utf-8?B?V2Y5a3pEc0YzR1oxOHJVWit4Vm9sTWxDT2daNll1NC9sWnVrVFk4bDViZVJF?=
 =?utf-8?B?eTltcWpNYkNNdndQRllZTU9ZU3E2WXZQd3BsaGV4c0xFTVZsS2ZZYWQrVk5P?=
 =?utf-8?B?dUhjcm1HNGZLWlBNb2tDY1R2QmVYdzFYaG05eWUyQTBERjhPZWltbXZKV1Zu?=
 =?utf-8?B?Uk4zcm1wdkQ3czhPUXdGQ1FXSVpQS0c1MXk0QlkrUk5mTnY3MUFrRUdzVEFi?=
 =?utf-8?B?bUJZSmdNWVV5b0hPQXl3aTdIbzZQY091QXUxcXN5ZDJMU2NheVc0VUZOcjh1?=
 =?utf-8?B?cUZLeC9sdENBY3lYN09CMWxrK0NadFY2T2F5R2h4WHpnUXcvRTcyQlkyN1hl?=
 =?utf-8?B?RC96VVFCcExpQWRYTjlicmhJc2JhVE1Ia2pFWEhPYXVwK0xDQWswVHJhb2dD?=
 =?utf-8?B?ZndiQk1XNVFFUm16QW5YeW50Nkg0clNyTmRNY0NycW11bGRGcjdjZXFraDZN?=
 =?utf-8?B?elJZbW5kV2lGZHdHbTJtdTNWblB6TkVQV2loUTYyckVZYzk3bnlBbnJaRkt0?=
 =?utf-8?B?THVJZC83MXZEUjNxeDM2Z0ZicSsyTE02YU5WbmFOMTB3TVJic0pnenYvak9L?=
 =?utf-8?B?RFRsMWkxUDJZRjM2QkVPRjhMTHZwd1J4cnRlN3FGMWdqTWc3UUs5N1BVaHFF?=
 =?utf-8?B?QmJ3VG04clNJMWprNHpKNjJYczBoS2NrdTBVZFMzOHdXQlB6NFVoaVpENC9o?=
 =?utf-8?B?QitQTmZpYzcvRzZWS3BsRG1kUFZQQWUwVmJmc2pCU0hIZjZYVTBJTUdCQW9i?=
 =?utf-8?B?MXV4NE1JQmVNY081dW5OSytESFMvWWRzSzhmelhzR2ZNZDJ5bVp5blBzeUc4?=
 =?utf-8?Q?3xeE=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(30052699003)(82310400026)(1800799024)(36860700013)(376014)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Oct 2025 10:05:21.3711
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9b25d96c-d677-4140-36fd-08de02645d11
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CY4PEPF0000E9CE.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4483

On Wed Oct 1, 2025 at 10:01 PM CEST, Milan Djokic wrote:
> Signed-off-by: Milan Djokic <milan_djokic@epam.com>
>
> ---
> XEN_DOMCTL_get_address_size hypercall is not implemented for arm (only fo=
r x86)
> It would be useful to have this hypercall supported for arm64, in order t=
o get
> current guest addressing mode

Why is this helpful? You're racing against the guest transitioning between =
32
and 64 bits, so the result is stale by the time you read it.

Do you care about the instantanerous bitness of the vCPU or whether you
created a 32 or 64 bit guest?

> and also to verify that XEN_DOMCTL_set_address_size
> performs switch to target addressing mode (instead of relying on its retu=
rned error code only).

You can't use that in HVM. Even if you could, why would you? What's the ult=
imate
goal?

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Fri Oct 03 10:15:10 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Oct 2025 10:15:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1136531.1473076 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4cob-0000dd-3r; Fri, 03 Oct 2025 10:15:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1136531.1473076; Fri, 03 Oct 2025 10:15:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4cob-0000dW-1G; Fri, 03 Oct 2025 10:15:05 +0000
Received: by outflank-mailman (input) for mailman id 1136531;
 Fri, 03 Oct 2025 10:15:03 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1v4coZ-0000dQ-9Y
 for xen-devel@lists.xenproject.org; Fri, 03 Oct 2025 10:15:03 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <julien@xen.org>) id 1v4coY-006gih-0f;
 Fri, 03 Oct 2025 10:15:02 +0000
Received: from [2a02:8012:3a1:0:edd5:683d:374:f8b7]
 by xenbits.xenproject.org with esmtpsa (TLS1.3) tls
 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96)
 (envelope-from <julien@xen.org>) id 1v4coY-00Erka-0u;
 Fri, 03 Oct 2025 10:15:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=QHqsSaa0tp3OBKD00tQQgJQcfnDo6U5pd0oPTSU72AA=; b=uhuB+0QxkiexY2yunALUaTXGhq
	nHMN2cR+W1EDQa7onNa0lJ/JDOscvxj0I1AFdAEnfsFs4AorqutXfhU0XHc0gXqujxiW804jKmIDp
	64uZ7UyfdRaCBvIYIwK5QOde5DC/ZwFvBSEOyvCO4jsD0LQRRhdQXVf0ayN86t2gkC3I=;
Message-ID: <55d156c9-5a05-4cb7-9b29-93adaaede5d0@xen.org>
Date: Fri, 3 Oct 2025 11:14:59 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/arm: XEN_DOMCTL_get_address_size hypercall support
Content-Language: en-GB
To: Demi Marie Obenour <demiobenour@gmail.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Milan Djokic <milan_djokic@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 alejandro.garciavallejo@amd.com
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <39511522aae7dab5766ef2ebfed1d13abec8610e.1759324344.git.milan_djokic@epam.com>
 <bf042eea-ed2d-431e-b1f0-7be0c09194ef@citrix.com>
 <967b62ca-8aed-4abf-8fa5-30769f46a5ff@gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <967b62ca-8aed-4abf-8fa5-30769f46a5ff@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Demi,

On 02/10/2025 19:27, Demi Marie Obenour wrote:
> On 10/2/25 06:10, Andrew Cooper wrote:
>> On 01/10/2025 9:01 pm, Milan Djokic wrote:
>>> Signed-off-by: Milan Djokic <milan_djokic@epam.com>
>>>
>>> ---
>>> XEN_DOMCTL_get_address_size hypercall is not implemented for arm (only for x86)
>>> It would be useful to have this hypercall supported for arm64, in order to get
>>> current guest addressing mode and also to verify that XEN_DOMCTL_set_address_size
>>> performs switch to target addressing mode (instead of relying on its returned error code only).
>>
>> Please don't copy this misfeature of x86 PV guests into ARM.
>>
>> Letting domains be of variable bitness after domain create leads to a
>> whole lot of bugs, many security relevant.
>>
>> 32bit vs 64bit should be an input to domain_create(), not something that
>> is edited after the domain has been constructed.
> 
> Does this mean that Xen guests cannot support multiarch?

I can't speak for x86. But for Arm, the endianess of EL1 (OS) is fixed 
when the vCPU is booting. You could in theory have a domain with a mix 
of 64-bit and 32-bit vCPUs. But that's not supported by Xen (all vCPUs 
should have the same bitness) and also I am not aware of any mainstream 
OS able to deal with multiple bitness. Most likely, you will need to run 
two OSes and create your custom OS.

Also, I believe XEN_DOMCTL_get_address_size would not be suitable for 
such setup.

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Fri Oct 03 10:29:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Oct 2025 10:29:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1136541.1473085 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4d1u-0002TC-7K; Fri, 03 Oct 2025 10:28:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1136541.1473085; Fri, 03 Oct 2025 10:28:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4d1u-0002T5-4R; Fri, 03 Oct 2025 10:28:50 +0000
Received: by outflank-mailman (input) for mailman id 1136541;
 Fri, 03 Oct 2025 10:28:48 +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
 <SRS0=04fq=4M=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v4d1s-0002Sz-R9
 for xen-devel@lists.xenproject.org; Fri, 03 Oct 2025 10:28:48 +0000
Received: from SJ2PR03CU001.outbound.protection.outlook.com
 (mail-westusazlp170120002.outbound.protection.outlook.com
 [2a01:111:f403:c001::2])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id be547fa2-a043-11f0-9d14-b5c5bf9af7f9;
 Fri, 03 Oct 2025 12:28:47 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by DM6PR03MB4987.namprd03.prod.outlook.com (2603:10b6:5:1eb::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.17; Fri, 3 Oct
 2025 10:28:38 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9182.015; Fri, 3 Oct 2025
 10:28:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: be547fa2-a043-11f0-9d14-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=tNw3m66SqcGCiXLq0swa0we4kbH7ftDTfkr9T8x6jp86h+0jssnnN3RkryX2kzjEhNFZIqYbra5WcNGU5pUZj9hOH39kDgCca07Gu60XUHf1UcpXJrNMhDiGoqZAFZfH7N4Raz4+3HM4JByscasrQKxHfBNTXUGZcVfyUTjEzAApjIZRy70TOg/IIXCL+l1viEFaEcZgUwBDTXrgJtEEJjhV6uXRaAcdF4+bl3kO/Y3GbLjcy8a3eWIVjtPY2DI1Ke3eZtDIHlsclJmRAOzOzaKOC3Fmv8P9EziexOaxwLIfhsWwmxPX7yivz9GYCw0z+Ytkjng5+yRAGtyQyZDFsQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OmBfm5DqS7dBua8Z+OdeFkiiJzV/rhm4OOyJjxNfybg=;
 b=gbPNhjR3QV96qpSw/sL8hFvxG/LglDgsQuqP39sohTOnd/hTn5HCfSSFIGEqckn3GtS/tu57ft+3wpM23NolHGx0UulL7ZjGgtEk6HlzZQvUPiLFnY2vBfsZjsgaGwTsD7wA4vn97f03cE0my12wEAOBar/uBlkSm2meuRp6QprejwqJigpVx1ebwqd41HLxrZgkSP0gWrvalB6YL8wSL36xdYP23o8gWXZUz+f+gS4iZFLM1VZ24FjvDtSK5oPCR3aRNyjqct8gqFxvnwYrW7ALirO0050Zz+nH5tyWk7ViizPeMgQFCqNRwPSl6VziCkyE83ucfl6ySThVqt7OKw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OmBfm5DqS7dBua8Z+OdeFkiiJzV/rhm4OOyJjxNfybg=;
 b=K/uDn/bRfx6UX3foCZOrAKSDU7fHQwG3+B0xU3Wj4wdzcrjiDy45dhYXBN+Gpnau7hQLZURZqxnaWbqyCuQykBcrxrED00pQUe7aezyOj1mltDmJugXPB0sAFyFHZhfcBXEK2YyGMI6ef8CrdDB6b3SXdKWclC/uFYvIcpiWQJg=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Fri, 3 Oct 2025 12:28:34 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Frediano Ziglio <frediano.ziglio@citrix.com>
Cc: xen-devel@lists.xenproject.org,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH livepatch-build-tools] Treat constant sections as string
 sections
Message-ID: <aN-lUnRe7rbHdSED@Mac.lan>
References: <20250918095203.19421-1-frediano.ziglio@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20250918095203.19421-1-frediano.ziglio@citrix.com>
X-ClientProxiedBy: MA3P292CA0027.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:47::13) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|DM6PR03MB4987:EE_
X-MS-Office365-Filtering-Correlation-Id: 485902ce-9c07-498d-ed09-08de02679db2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?emVEOWxYWUFXaURLZ0NlL2YrTXFYMjlQOTNGUFlDK0k4WGI0Vkh3VmpLa1NI?=
 =?utf-8?B?M1RXMlQzUjRlcVV6bW1QTXhCM24zZXVYenphNkpZOFhYeUxhMjJkZnltUVkv?=
 =?utf-8?B?a0drVnJ3ZENwR1p3WWpNaU8zSUJzbkZlbVovZmVPMHZUMVhUTm5vSHk1dkxv?=
 =?utf-8?B?VGxFWTRDQTlabkFGa0JBbVg3VkQ2ZE4wRTk0QUZ3aGRGSktHejFQZkptSWo5?=
 =?utf-8?B?cDZZNU9sNTI5a1NlZzRDMGFrN3BEWXRBRmdhMmtUZWlab3FtQzVqMklkd1hP?=
 =?utf-8?B?TE5IRDMyTksvRm4rNnliQ09IM29qSUNYZ0RQd1dJUXl1by9hRUE3UFd5V3g2?=
 =?utf-8?B?WmZGeXliYUtIcG0vOWVmTXNFY1VtQmJEVU1NMnZWQ2dUOWdoS01MblNCeHR5?=
 =?utf-8?B?djV2cTR1eUdiaERscEw0ZzR0U0lQVFdveStxKzFKbVZIZDZnY1IxZHRITFBx?=
 =?utf-8?B?RFFERG5WdlE1bDd4S1A1QTJUTkZRTnQ3M3N0OXlKeDg2T0IyWE9pelhHNi9S?=
 =?utf-8?B?clJDNkY4WU5sUUk0eG1HNFV1eS9aMS9ONE5JbHJpMUNFbEV4ZitNcTU0T09J?=
 =?utf-8?B?dDRTdVgzQVBub05tWFF1TVlRYS9nOTVaczNaMnR3WXpaQVFWcWxIdDZNM1ZP?=
 =?utf-8?B?aEE4T1RRMUhDTGQybjBHenozc3dveVpoYkpkTkhKMi9xNk9rNFcvakt5OGMy?=
 =?utf-8?B?ZjJ0eXg2LzZIV3dDSHhIamMvVVcrR1BEQWxPdUxjcFNrUlBXbFFWK0p4Qm1k?=
 =?utf-8?B?VUwrdmV4KzN6MXZzbnJnWEZkLzNtTExTSlJTWmJWZ2ttMFpqVHozUnhabUlO?=
 =?utf-8?B?V1ZiQlkxMFFkN0Jla3ZUTk9XT0tuYVhnaFhYNUIrRmFvSDdBMXJlTUY4NzdC?=
 =?utf-8?B?ZWplOU41YXJ4aEZYbmxjQ3FHaEhmaU9yMjdPditGdWFUdmovWllQRE5FNk53?=
 =?utf-8?B?S013MnVHamp0UFEwc1l6Q0lMVWpVYmpSdWZ3bkM5enpEdmxDcGNHYm5BdldV?=
 =?utf-8?B?d1FWZUlCVG9qdWV1ZlRrbzFkdXFGUkNQSmQ4dzgwZWR5eHMralByRUFWVHQr?=
 =?utf-8?B?T2JSbFZqY3FEOVA0dCtCTTBmdG9VdmYxdDdkOE9ZWTE0V09Cdm1mMW90N0VZ?=
 =?utf-8?B?VEF2S2M3d2hyNEFMS2szbHQrMTltMXlhdHpQR05IRzdUWVhKdWYxTkc1bHgv?=
 =?utf-8?B?SHJ5c2pneitwVWozTkZUZFFyVk93V2doUVprdnFnaDVHYmdKR3YyYlF3TjBK?=
 =?utf-8?B?OXVEZ2UzZ0ZzbXlNMmNNSXhQWjR1VjBxTDVtY1pqSjltNjNGWEo3ZFRnYm5O?=
 =?utf-8?B?cDNpOVhiU1I1ZlhBd3NiQnFtQWEwN083bjJLVC9UVHJ0cngxZkVVNVJKRWtn?=
 =?utf-8?B?TkkxRk0zQ0dnTEZSZ2o0aW5Eb3M5Q2ZsTDg4S0J3am11Ky9MK3pIVERyeTAr?=
 =?utf-8?B?Z1lmK28zdnR6QUpnd2RxQzNnZkxSNENvMFdxU3U4ZVRIUEoycDVNR2svSW92?=
 =?utf-8?B?N3NVRVJ0dUVQZi9oZXExaUxsYk56TDZDYXNMcEJVcUN0dlBVMmpGdkpqaDZz?=
 =?utf-8?B?K0xId2F4ZUY4VGdvd09UaTY4cEprQkRwYW1ZZUJNL3N2cHBKb3ZabE1UVEM2?=
 =?utf-8?B?NWU1YmIwZmpBMEFMMkF2c1JEdTNZaDNydmh4UkFSd1ZCRUVSVnZoeU9qbFl2?=
 =?utf-8?B?WlRIVytxRy9GNmJRMElEOWJReDIxaXM5QTJYWlNQTzFudGNjVGFoQ0lHZzZL?=
 =?utf-8?B?bkFaazR1aGZueW9SdCtKcHJIc01JakNkV0JyakJOR1VmMEpkZzdndS9Mdjcy?=
 =?utf-8?B?TnRSUUo2d3pIclVUVUp6bDVDZ1RKUS9IaTd6eGxBcURMNFo3ZWljOWFiMDNL?=
 =?utf-8?B?UnZsUGRlL01sQ3BBZ3lHNFFSdjA1bUlkYXFYbGtiZ3NUL3NzRHpYbWRPdHdi?=
 =?utf-8?Q?JG66gJ5cpExSCLo3mPqyhKrpLeTiOGuM?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?L25wTUYvMjl3eWg4dUJwRjhjUVJwOGx2eFpqYS9Md281WHROVC9heEtocFVy?=
 =?utf-8?B?bjJrRDBocjhwNVZ1My9aU2tPMGtYbkVpT0R3T0FyVFg0SlpKUkZTM0NBWXNJ?=
 =?utf-8?B?RjJGMXo5Mml1SzcyRGNmcllyL0dybGVyblRnbkIxMERxTDI0OCtFV2cwbXdw?=
 =?utf-8?B?bEtXVjFhTm9vMUVjL2YxWDFaSnhLeXg4bXFjUVdSZjdCcXE4dkU0VFJPc0E1?=
 =?utf-8?B?UkduajhieVpjNHJrbXk5NUJCaUpPQkhIdDh4SFhtcTdhb1FIV3dhNjVYbVNS?=
 =?utf-8?B?RmhYWHpwcjc2dXh2dlBmb3VwbTRsdlhvQnVHa3VzcXI3NDRuS2krbEV4Y0RT?=
 =?utf-8?B?U3hLcnV4dnNZWi9DRTFGY2Q0d3c0WkZuYTJmY3ZPY0IwTjNKcDBQVWlGK2hN?=
 =?utf-8?B?bDFycWs4cnR1aDJ4L0UwYWZmQ29GL3dyY1JlM1N2RzBNUkM1NXdqRkNGYVY3?=
 =?utf-8?B?a1l3RHV3WSt0cFhJYVQ4VnF4cE9kUDZ3VGVHYUlrV0dWMUt4Vlh5YUdsTmlC?=
 =?utf-8?B?eGNRYUtPTWcrbnR2bFlHY25WRTZlWUROREFIcU9qYmhGWnRtQXluNjRlYU1P?=
 =?utf-8?B?T3JRSm9ycDIwbmlOTDFLdkd5TitHelp0TjA0NVZOekVhdllJZkt4aXBBRXRI?=
 =?utf-8?B?blFhN3c1ZVprSTFuQS8zODhuWHZBMlVESWY3dDNNOU82TXhSbllGQ2RDM2tw?=
 =?utf-8?B?ZElkZ1J2QnRDNlVHYWh4b29lOVAyWmFucm9jaFZvQngrWkJqVHZHVGIzYmZT?=
 =?utf-8?B?Z1hZZGs0TGF1Y3ROOTBmTzdhWjdJUFRZZmhSQlJIOW9jRHBwUjZjWGgvWjdP?=
 =?utf-8?B?MG9yQ2VUSmRFZ0NnQmxNYjdTVElsdlpSSGZ1YXRoUERqbjVaSXNJL3hwS2xu?=
 =?utf-8?B?U0FVa1UrVU0yeTk5UWtpd3oyYWF1WTlNcG9BRW1wNWVoYTRlR1lGbWdnZTlr?=
 =?utf-8?B?dktZQXo3ci9KMmszRU1Gd3dYejZydSs3bTJNaE44U25ib1FVMEhDWE9vUVZr?=
 =?utf-8?B?UWZ6RCtuZnpDNTYyR28wWmx0emJtLy9Ha2RjQ29xOTcxa0VmL1pQODNjdlkx?=
 =?utf-8?B?V1ZsS0REN0FDUFl3ZkZ1cittSDc1bWRXVTUzSUN6ZGNBTkJIZjdnRm9EUTE1?=
 =?utf-8?B?RTdxTzRqeDBTRzhZeVJhQmNRUUxFVTNRNmcwajdkQzVRT1Q1MUZjS1hDNWFr?=
 =?utf-8?B?Y0FvMVJBWXJHQ3FzdmlhQjFXd0NEKzY3TERiRk01aVBkTnZMWStwdWJscllH?=
 =?utf-8?B?cFlEaVJ5cXFQU05iSnc4WVpTTjl1enlUTy9ucWRrYUZ0UjIwK0EzQ1Aya3M1?=
 =?utf-8?B?NllVWFNyVWZTL2NvQXRmeERMTCtTUFR0MTB6YUNDYTBOU0g4ZmZjMnRrZW9V?=
 =?utf-8?B?c21FakdMTE1UNzJFd2dnRHJvU05Hd2JYNkVPS0xCL09zWmcwWUhQT3ZseDc5?=
 =?utf-8?B?NGF4M05BSWVHNDVzZ0VKVXRqSXpUTXFpTWRKLzJpQzFKNW51R1ZCMUx4RmVI?=
 =?utf-8?B?RDVXMDlJRE5pK1J5WFNETmlCUmttNmY5Und0aHJlLzZvaWJPcG5aMnZvcXNS?=
 =?utf-8?B?ZEtvV25wKzM0OU9LMGdjSXJneTVsODhvTGg1ZndhbGdQaUVqcndXeDlnMmxR?=
 =?utf-8?B?dXR4MDRQZ2h4c1RKZUJITWtvVjZMa3pBUGFDL3Njb3FCTGNMUm9Qa1k4R1Nt?=
 =?utf-8?B?a1pWZGVNK3NXcHFnT0h5R0g2aDQvd2pMTGFvRW04eXJGdjVCWjNzNVRmbG1J?=
 =?utf-8?B?bTBiYy9MZkkrYXFzV1VWelFhaUtnZXlRNzJPcjF3MjNWL0lOODdpL0hUcWR6?=
 =?utf-8?B?d0ROQ2J5d21IdXFTN2dzS1lWbzUvQjdidWdOcGZ3eFA5MEszRDVtYndCK0tU?=
 =?utf-8?B?cm1QenEyYTcvaEtxNmFqUFNnalpadTFsZVVGUE1xd3diWmRkRHd6VENONllZ?=
 =?utf-8?B?Mzc1NzRvc0taQW9CNXR6eTNVK2s1cUhVSElBMkV1ZG9KelVTazhSWlBLeUU3?=
 =?utf-8?B?cGlKdzVHcjFqTDJJRURmM1NENXBMUWlZOHQ0MGttWmNWTmFhWEE1bTV0UFB5?=
 =?utf-8?B?NzRFWk1PYkgxejdaVC9KT3FQSVVLcTM0ZXJsbjg1STBwSmdScHJMUWYyQUpM?=
 =?utf-8?Q?YB5SAM61ioHqC7pCptFP9ZqGZ?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 485902ce-9c07-498d-ed09-08de02679db2
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Oct 2025 10:28:38.7633
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: c3mO4DHkA9Q31xo/8MTh27T8Pa3u1/uyjqeU5ljszxQ5n+CCjGwJJfNLP2NN3qSt8wUOmvC1oBdLSG18p99ggA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB4987

On Thu, Sep 18, 2025 at 10:51:58AM +0100, Frediano Ziglio wrote:
> Newer compiler can put some constant strings inside constant
> sections (.rodata.cstXX) instead of string sections (.rodata.str1.XX).
> This causes the produced live patch to not apply when such
> strings are produced.
> So treat the constant sections as string ones.
> 
> Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>

Reviewed-by: Roger Pau MonnÃ© <roger.pau@citrix.com>

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Oct 03 14:04:35 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Oct 2025 14:04:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1136588.1473095 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4gOM-0001Zt-ST; Fri, 03 Oct 2025 14:04:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1136588.1473095; Fri, 03 Oct 2025 14:04:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4gOM-0001Zm-PT; Fri, 03 Oct 2025 14:04:14 +0000
Received: by outflank-mailman (input) for mailman id 1136588;
 Fri, 03 Oct 2025 14:04:13 +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
 <SRS0=iGsD=4M=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1v4gOL-0001Zg-IL
 for xen-devel@lists.xenproject.org; Fri, 03 Oct 2025 14:04:13 +0000
Received: from DU2PR03CU002.outbound.protection.outlook.com
 (mail-northeuropeazlp170110003.outbound.protection.outlook.com
 [2a01:111:f403:c200::3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d6892705-a061-11f0-9d14-b5c5bf9af7f9;
 Fri, 03 Oct 2025 16:04:12 +0200 (CEST)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by GV2PR03MB10122.eurprd03.prod.outlook.com (2603:10a6:150:d2::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9160.18; Fri, 3 Oct
 2025 14:04:07 +0000
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593]) by AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593%3]) with mapi id 15.20.9160.018; Fri, 3 Oct 2025
 14:04:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d6892705-a061-11f0-9d14-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=HzBSxsJuKtgyJxfkocB9b/JOsqJltnhLguBkGsEJvl5keLfNY3JTMa0C6K+R4Ys3Ebyixn143Oz7mSXCUtFgjHE0B+Lavl9XXl/GCSY583iZN0sAy/2g5OkLzGEFPLDJaZqkRsDsTMg0UH7ksT9UZ0u/mn2jd41T6Yw/uSVvTTt6VaiE+bCPP7GsfwN9QFyPpmX4bkNJpcqlCpBunDAoYHZjE0Q3CIxSo9FgFFDwiKuUSB8H6g6xMQ1ln9TTSShh9bNMjHrEIWCx3JR4bkDEJaAqEKWkFL9GTnbAbtgHd4g5F04TzYkqWDFxp8ji2qGqoE7EL0XSOUMpniLNAHYPvA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9SfKKi9BjQxEolx06LoZkmhOZ5LtPxsI0ghXs5Kyzt0=;
 b=MNzsDeRgb/ylzYWYcVjPPQAMtw6T0+Av4dVuj8NK5mWMZbFqSibc/sPhB2WgBknZG+1CHt+41jBRb4NQhiTqDoCePm147gYaIDDFuPXh3ttRcs8MVcOluv+H67g+QjXMC+eAq1ZjL4N1WFSdUy2FR9DbrTDtEUVZ5KpnC3V/thQnDnzMXHBB+JkP06F9gnNozzeMAFxyWRETpDT4ceme7q4p51/OwVqHb0mLDuDtvLFiLaomgD44lgJ6KnhkN5xUOVPpuUv/UYkuDCbBM9DUPtJ3wdc9ybWKjRbj8SM8D5p3CmX+qWdLdtAi/IIpdJ3FZudRyn9xykcwlMP/846d5Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9SfKKi9BjQxEolx06LoZkmhOZ5LtPxsI0ghXs5Kyzt0=;
 b=uV9sgddQAFVPyUzRVAOMLhmgN8Hd3yS59tmksPESUAJll4219NaPgarho9uEGtS682VKA+jDXISVyWEUuvWQPIlvuweOKeGalzrbp7Tuf/M8OKUHXggqzBBkQXvzrnDw2ZZw6oUiV4RMAjQkW4JT0xNJK3dO93t+3dA0+jsoMTrNeTPeYRbedeY0k1VUuAPHmtX+S4L+Pgr74cMXP6cMN+sH7lNDgmEiqLcsfjcRBkNNiuVXBIJqdJGwRtQ2DnWkQU3uJArn8QgXU5A1P+6lJrSOXVocZw458v+52Ie4+Vz3DY/Dg8omKdLHs9pkLDbWgw+/T+hFv2BbJ91102iGyA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <3715a68a-dc35-42f4-99e2-e1a45ebd1b16@epam.com>
Date: Fri, 3 Oct 2025 17:04:06 +0300
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] x86/hvm: vlapic: fix RO bits emulation in LVTx regs
To: Alejandro Vallejo <alejandro.garciavallejo@amd.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <20250930190550.1166875-1-grygorii_strashko@epam.com>
 <DD733UWP8JVK.SSX8U5ENELIE@amd.com>
Content-Language: en-US
From: Grygorii Strashko <grygorii_strashko@epam.com>
In-Reply-To: <DD733UWP8JVK.SSX8U5ENELIE@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
X-ClientProxiedBy: FR4P281CA0315.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:f6::11) To AS2PR03MB8907.eurprd03.prod.outlook.com
 (2603:10a6:20b:5e4::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS2PR03MB8907:EE_|GV2PR03MB10122:EE_
X-MS-Office365-Filtering-Correlation-Id: a9f6a871-b373-427d-2777-08de0285b7df
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?bWRvOHJOT3NxL1ltVXFEQTRNbXh6VHptT1NDaEduVlpXZExZNCtlVXJJbHRZ?=
 =?utf-8?B?ZzRQcFBEZWVBQWpqZTA2aVRkVXh0VWdXMzU2R3JVWXE4Nm1JY3hJeDlIcUJW?=
 =?utf-8?B?WlRQTjh2bUlZQWxhN0owTFlUSysvRVprazBCNWwyQUl6WUQybkFCdFE3L0lZ?=
 =?utf-8?B?MkZIRWV2SWxJdGZCMkJza1UrL1hJeXNHc1ZVTUZmaktMVmtpTnVJSmtQZnJB?=
 =?utf-8?B?dk1iSEJrbExEazByVkZCRzhhcHZHbUtVdURRVEV6YzZKUVB5UndydW03Wlpr?=
 =?utf-8?B?VmtyeENianAyQnliOGM3UDI1SzhGbjJNU1hBdWhUVVpqSzRuNjdXZW5TSCtt?=
 =?utf-8?B?ODJicTV5d0Vmc3JtNG45OXkwUkJJUmQ2WWoxTXFzcXM0alZiVWFTSExoMGdF?=
 =?utf-8?B?NGpSd2JYTkx5M3pnUHhsdmlXOW92T21Qc2tvclloQjcvWEZkSkpmWFBjLy9z?=
 =?utf-8?B?VzdrZ3cvR3pjWXQyNnhuclZKVlBmSkhFaTVxc3hjSS9rckowa1Q0NVE2VmZ5?=
 =?utf-8?B?Rlc3RzdwbWZpN3R6R0lKN200VFpmQ3JTUjJJQjNjT2oydFB3OEVJTjFUbG1m?=
 =?utf-8?B?UmFoWE5lWHY3cERRRWdCVGFSRDU1RHIwNWxSQjkweWkzaWlIMU1tZHlEcG5q?=
 =?utf-8?B?dGxWU3kwQzl1VitiOGVHZ1JCUmIrUElWYUxqTUY0UVh3TE54V3gzUG54K2M2?=
 =?utf-8?B?YVRaM2w1eGRGcWkvTFEyYmJkc1VETGx1SWVCa2tocGxrQlNtTGM3UXFKNHlE?=
 =?utf-8?B?d3VCTExoUXFQY3hxYU9CbWxTMzRrRStSVURPU0ZEN0RhK3QxTUpndXdpeXk1?=
 =?utf-8?B?dk16R2VKVnJmcDBIb281Tzg0SmhRTUNReCsreU5VcitUWm1pbUFVb0dMNGs1?=
 =?utf-8?B?cXZlbVBiaEJLZjM0N0tDYUVoNnUwVDZObUJyZmY2UGRrS0ozVlFoUGhEbVNB?=
 =?utf-8?B?Yk41NzVQSTZ6M04rK3hGczZMSzdpRE5HRVVVZFg0MElQQjdhSzRJL1RDd0hR?=
 =?utf-8?B?bjU2ZnpnQnd4M2ltNWg4T2lXWmVFZFRRdkZYSThJbC9FTzhUZVhWTzE3MHkw?=
 =?utf-8?B?Yzc3VmZVQkJURzBMYWQzb3NueUNQTC9MUVZkaFpnUjFvdFA4UHpYWmtuaVh6?=
 =?utf-8?B?Y2RTQU8wQmlUWWxJZkYvM21FQzFJUTF6RjNLbWdtNTljOG1qbDRTM2lOOU4r?=
 =?utf-8?B?anI1ajdDdlFoY3c5cFQ2Z01NYnRCRFpGWkVUMzUwSFhvZWNqK2h5cU4wRVRO?=
 =?utf-8?B?TURDdm4rNjBRekVCT0pXRTBQNCtCT29BVHBPbnFlR1hTTDY5ZmdRTjhtbGxB?=
 =?utf-8?B?amxzZzB0SklCNjdyY2xoVCs3eVd2djdtTVhwZk5hR2pWb2xNTE1tRm9jUHpj?=
 =?utf-8?B?NStVZjBud2tvSHBsUWdSc1g1OUFpajF4SzNxUnkxMTQzR0V1U0dnSnp0Q3VI?=
 =?utf-8?B?L0J0TWxubXZZOE5wK3lzWU9SSmZNaTJ0dnB2Q2ZsRFFBSHoxWjFycllpalh2?=
 =?utf-8?B?WlZ4bGZ1enRqSm5YRWZncUNEcllOMUgvY1p1czNCb2krZzZ1VVNYdkhCcWcr?=
 =?utf-8?B?VW40N2xxblNXdzFwaS83OFd6VWF5ZVluMVp5b3ZVMy9tWE5lakdIeU9RZGFr?=
 =?utf-8?B?eUd3dExEaEhWSnZDK2lzRDdndGp2dlB5Q1ZKckJYNGgrNWJTekRBTTJldlYr?=
 =?utf-8?B?L2c5ZThjVjFpazVoTWJad3E5UjVsWFg3Z2dxb0dCYzYzZENaYXo4S3ZrVWpR?=
 =?utf-8?B?ZEd4VXpGRWZjNUZGSHhqdGRpa3U5UGNodHR1YmovMWlodW12OE1TRFpjQlE5?=
 =?utf-8?B?bmVpTWN0azlrdXd0WXNDeGRIL3MvbHZGVHlKam5YSU1ZMG9EdmJqd0pseWR4?=
 =?utf-8?B?UzBrYzNheENqVHN1UzFVUVByaGVaSWJlV29BUU92czExYUE9PQ==?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS2PR03MB8907.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eUdJejVTelBrTUZDU0xvZFJsZ0FXUkZ3UDRXcGlFd1FnNXQzN2tmc0RyNTBj?=
 =?utf-8?B?N3djd2dka00rZ01ZaVJRZmFUUkxtZnVKWVNDckliTGF5bzZGL3BWdDJVVnJq?=
 =?utf-8?B?cTFhT01OMXpIQmhOandqM2xpU1hJcWpkeU1pRUtMbkJHWUpBN3poaUEwaXpV?=
 =?utf-8?B?WGJZVmgvUW8zWmxuTENYR0owM2ZzUzVQZGxVNDQ5WjNBWnFLU1FQcDBiOVFY?=
 =?utf-8?B?UTFPVWJXUDYvc2hIa3RhUVNENUM2SjgxTytnNGdOZm5TL2ZrSURoK3FEYksx?=
 =?utf-8?B?KzVTbTFjU05IZHN3ZzRnQkEwMGk5a3N0ZE9Ebzh2bXh3enFZdWx0SG5icHkx?=
 =?utf-8?B?UlJNWkxGWjFIbUQxYmNkNnNyUDhrTUI2dm9ZR2NYOXB1RlNQVWptb2FOSklh?=
 =?utf-8?B?YTV4czRoOE9GelN5d0hrNWlHeUh3NTdkUVNYRWpueDVMN3Uyd1JvOXhXMmxL?=
 =?utf-8?B?aVcwN2lHODNpbEhtOWRsTzhMRHFYNzhOVk9Tc2xkWHBlT2VNSzBRZnRhYzFu?=
 =?utf-8?B?VmwvcFU5RjJoYUNEU2NVeExIM2d2d3RJSTRMZUxWRWthaGtVMVhtKzBPdEdR?=
 =?utf-8?B?cjhZNzBTRnE1OWpVQXBxaG9odlNYZjVlUFdDRllpc01EcjZqcitIS0JnamQ4?=
 =?utf-8?B?bFZ5R1IrUzd3TmtaNjdYS0tmdXgrN0ozbVE3d0tqaUNqLzFOeTFncHJ3WjJC?=
 =?utf-8?B?ZVZuMnlrRzk5MjR1ZlZFTEJ3UTgrZ0wxRy9ncnovWEhJTFMyS29mVGNOREo4?=
 =?utf-8?B?SXd2UHBtREh1eDh5QWEzUURaSDcwU0IwVFlWYmE4elVmbU1yamRLZjhydndT?=
 =?utf-8?B?cnAxMnA4dG4vekZWTFA5RmNMZTBzanBkK0pjY1BOazc0ejJUQUpFL2RJR2dQ?=
 =?utf-8?B?T0E4elVCUXhjVlBjVUp4WUhoRG9xZ1hYZlhHRzY5SjJLdWErVjh6WllrbnE5?=
 =?utf-8?B?a3dOUC9SZU5uckpSSWIwYVJIZHdNaUNNcXZHdVZONTU3VTgwa1pmb2JDR2Zn?=
 =?utf-8?B?bVNwTXBNU2ZVM3VxVzVOcXBQRjg5VmtOSWRQZTRZUkpjYi9lbEpOM2Y3a0cy?=
 =?utf-8?B?S1QzOEFKb3N5LzVFU3FKQzFQaEloTldJSS80clJ2elh0ZDJBQVhVN3FLbHl0?=
 =?utf-8?B?QVR3Y1ozN1duY1haQ3Q5NVJUanNtSDNFcmxoK25mbGo2cjltNWpFQUViQks5?=
 =?utf-8?B?RkxaRWtkdVdleFprNTBudGUxR1l2dDdaekg1czMraVUyMVVzSEVzYnlGaSt0?=
 =?utf-8?B?R2tzaUlxU1BxSUdkSERnV090aVpoUzNDN1dYdTN1TksyMzJzdFkrdy9lUjA2?=
 =?utf-8?B?NlBGenJiaWliek5oQkZPeTY3Y3N6UUFGa0Jac3pRL3hBQUMxVnR2V0pVUWwz?=
 =?utf-8?B?V2EyNkpCd2VuWjcwZ2xZVDc2U2o3Wm51WkNoNlNTcU9BVlRmQ0x6VDBCUFNP?=
 =?utf-8?B?blJVaHZjNExkQ3pINWNZSkhoSjZSZlgxcTFCMWlaOFR2VEIxOVNRNEJmajdv?=
 =?utf-8?B?SXNtQitvd1o4RTB3YnZSNkVtamZVZVRxUUVCV3ZjN3pMaDEzNldISzRodWtu?=
 =?utf-8?B?dDNKSG1FdEJjbUlvMEtnTUdUaVg4RVVlek1wNDR6eDI3Skd3dDZzdyttbHVV?=
 =?utf-8?B?bk44R2J3a0hja3ZUcHBNdGFhUkMyVUpkeHFQcWR4RXhhS1I3YnJvY0I4c3JT?=
 =?utf-8?B?RHYraWhsS2UrOHdGdFlqTDE1Zjc3MmxsV2hhek12UlEvZ2ZZYmFNT2FnSjhX?=
 =?utf-8?B?K01LclE0R3lWTVBLRWpudEpaTTRPQ285VnFhZGZXV21sclZJY3dVT3FTL0Vu?=
 =?utf-8?B?OW9vdHpwajNlb1VVMDRWbUR1K2JjY1FwQWFuSmxWV0Y3VnJ4QTdTdUk0dU9S?=
 =?utf-8?B?c1lvWGJaa2NQUVU3dW56N1FHeER4NGZja0pRaWRwbURXNDV4Q0VQUzR5WmNF?=
 =?utf-8?B?b3JBYllpVmVYN0lENnhnSWhIbnJQdkpEMFYxNUl5Z2tsbndDMzU4djBUYko4?=
 =?utf-8?B?WnQ5bHFONUFSRnl0RnRmeDk1UUNXN25mTkhvUy9BNFV2S2RLK21LV3pJWngr?=
 =?utf-8?B?ZkdaVkdZZ3hrQVBOcWdyOGNTL0RZQXBjQUdPWW1HVjJVR1NBTFluc1BMU0kz?=
 =?utf-8?B?R1hLbXAxSkp1aENaY1pHaWxOWTNlWmhVL2ZOVFliVnc0OHYwYTNtVzQzdlIx?=
 =?utf-8?B?M3c9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a9f6a871-b373-427d-2777-08de0285b7df
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Oct 2025 14:04:07.3401
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: BVDSpA6p/GwglPkQXXYVNTMFhHbiH6crIyKYEOlyUGzZJH9rOwthDDwxsTx5+Yi4BZUyaOQir/9bZ5fQIk/soPp19iDCbNWMmaa68EWSnic=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR03MB10122



On 01.10.25 18:18, Alejandro Vallejo wrote:
> On Tue Sep 30, 2025 at 9:05 PM CEST, Grygorii Strashko wrote:
>> From: Grygorii Strashko <grygorii_strashko@epam.com>
>>
>> The LAPIC LVTx registers have two RO bits:
>> - all: Delivery Status (DS) bit 12
>> - LINT0/LINT1: Remote IRR Flag (RIR) bit 14.
>>
>> The Delivery Status (DS) is not emulated by Xen - there is no IRQ msg bus,
>> and the IRQ is:
>> - or accepted at destination and appears as pending
>>    (vLAPIC Interrupt Request Register (IRR))
>> - or get rejected immediately.
>>
>> The Remote IRR Flag (RIR) behavior emulation is not implemented for
>> LINT0/LINT1 in Xen for now.
>>
>> The current vLAPIC implementations allows guest to write to these RO bits.
>>
>> The vLAPIC LVTx registers write happens in vlapic_reg_write() which expect
>> to implement "Write ignore" access type for RO bits by applying masks from
>> vlapic_lvt_mask[], but vlapic_lvt_mask[] contains incorrect masks which
>> allows writing to RO fields.
>>
>> Hence it is definitely wrong to allow guest to write to LVTx regs RO bits,
>> fix it by fixing LVTx registers masks in vlapic_lvt_mask[].
>>
>> In case of WRMSR (guest_wrmsr_x2apic()) access to LVTx registers, the SDM
>> clearly defines access type for "Reserved" bits as RsvdZ (Non-zero writes
>> to reserved bits should cause #GP exception), but contains no statements
>> for RO bits except that they are not "Reserved". So, guest_wrmsr_x2apic()
>> now uses different masks (than vlapic_reg_write()) for checking LVTx
>> registers values for "Reserved" bit settings, which include RO bits and
>> do not cause #GP exception.
>>
>> Fixes: d1bd157fbc9b ("Big merge the HVM full-virtualisation abstractions.")
>> Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
>> ---
>> Changes in v2:
>> - masks fixed in vlapic_lvt_mask[]
>> - commit msg reworded
>>
>> v1: https://patchwork.kernel.org/project/xen-devel/patch/20250925195558.519568-1-grygorii_strashko@epam.com/
>>   xen/arch/x86/hvm/vlapic.c | 14 ++++++++------
>>   1 file changed, 8 insertions(+), 6 deletions(-)
>>
>> diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
>> index 79697487ba90..2ecba8163f48 100644
>> --- a/xen/arch/x86/hvm/vlapic.c
>> +++ b/xen/arch/x86/hvm/vlapic.c
>> @@ -44,15 +44,17 @@
>>   static const unsigned int vlapic_lvt_mask[VLAPIC_LVT_NUM] =
>>   {
>>        /* LVTT */
>> -     LVT_MASK | APIC_TIMER_MODE_MASK,
>> +     (LVT_MASK | APIC_TIMER_MODE_MASK) & ~APIC_SEND_PENDING,
>>        /* LVTTHMR */
>> -     LVT_MASK | APIC_DM_MASK,
>> +     (LVT_MASK | APIC_DM_MASK) & ~APIC_SEND_PENDING,
>>        /* LVTPC */
>> -     LVT_MASK | APIC_DM_MASK,
>> -     /* LVT0-1 */
>> -     LINT_MASK, LINT_MASK,
>> +     (LVT_MASK | APIC_DM_MASK) & ~APIC_SEND_PENDING,
>> +     /* LVT0 */
>> +     LINT_MASK & ~(APIC_LVT_REMOTE_IRR | APIC_SEND_PENDING),
>> +     /* LVT1 */
>> +     LINT_MASK & ~(APIC_LVT_REMOTE_IRR | APIC_SEND_PENDING),
>>        /* LVTERR */
>> -     LVT_MASK
>> +     LVT_MASK & ~APIC_SEND_PENDING,
>>   };
> 
> This is a bit messy. Why not have 2 masks? One for rsvdZ bits, and one
> for RO?
> 
> That ought to simplify the logic in both the MSR and MMIO cases.
> 
> MMIO would do RAZ/WI on the OR of both, while the MSR interface would gate
> #GP(0) on the mask for rsvd bits only and ensure all RO bits are preserved on
> writes.
> 
> Thoughts?

I've been thinking about the same and It can be done, np.
I always trying to make "fix" with as small diff as possible
considering back-porting.

How about "follow up" patch if there is an agreement to proceed this way on the Top level?


-- 
Best regards,
-grygorii



From xen-devel-bounces@lists.xenproject.org Fri Oct 03 14:48:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Oct 2025 14:48:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1136615.1473122 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4h4n-0006kf-4B; Fri, 03 Oct 2025 14:48:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1136615.1473122; Fri, 03 Oct 2025 14:48:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4h4n-0006kY-0x; Fri, 03 Oct 2025 14:48:05 +0000
Received: by outflank-mailman (input) for mailman id 1136615;
 Fri, 03 Oct 2025 14:48:03 +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 <SRS0=NctN=4M=nvidia.com=jgg@srs-se1.protection.inumbo.net>)
 id 1v4h4l-0006kS-Hl
 for xen-devel@lists.xenproject.org; Fri, 03 Oct 2025 14:48:03 +0000
Received: from CH4PR04CU002.outbound.protection.outlook.com
 (mail-northcentralusazlp170130007.outbound.protection.outlook.com
 [2a01:111:f403:c105::7])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f4f90b78-a067-11f0-9809-7dc792cee155;
 Fri, 03 Oct 2025 16:48:01 +0200 (CEST)
Received: from PH7PR12MB5757.namprd12.prod.outlook.com (2603:10b6:510:1d0::13)
 by DS7PR12MB5984.namprd12.prod.outlook.com (2603:10b6:8:7f::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9160.18; Fri, 3 Oct
 2025 14:47:52 +0000
Received: from PH7PR12MB5757.namprd12.prod.outlook.com
 ([fe80::f012:300c:6bf4:7632]) by PH7PR12MB5757.namprd12.prod.outlook.com
 ([fe80::f012:300c:6bf4:7632%2]) with mapi id 15.20.9182.015; Fri, 3 Oct 2025
 14:47:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f4f90b78-a067-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=JJAex6hzFHaZgvbm/OE74QjeS9s/42DgvA4BnKLZaI3JlvUThHBtiBZB2x9xuh5W5TSF6BRK2RBbKbqCMJQX2o1lqBIwdW2TE1ufhWqyq+gfsUwTgBK5mM1Wse6rhAVub5PKMkhO/AfijZFbUYqEXSEDi3RKo9nOdBgEX2cMyWhBv0s2TwKjUTnjbVushiHNojBkhNDKnX4c1fjJ4eM0Gd6j1qnBGNbpmfzRS0wjYxFsDc6yDd8+OpOtTpyYIYUL0M5LGcQuqcrDWK854WOSi0pRkkloFN69O/cziU8mcywdAIk4Q519yRg48aVEkPQf+7Tiy5HAQLxRIGTTWyKSsg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LJ475V8TnBe1+YnOi0OM13gHXwCbc9iPBrWJTa0MFkQ=;
 b=Jqw56dUVoJWsrmso4GKllsEj1uNpwiMGwEa15e9zSrPaArN96laluIgd4+dAjzGuQGEXUfS9gRlsvXNkpw1A6fdL+ZJ6m0HAeI7K9nVHU9kfAD9IR5+ZnFNJk2zj4ujUikM1tR5WJ0IOjtoQqGBaQ/ScFyQ8Dxlaw/DSpo+sAzfRLDWsjxV8Z0kDreXljvumBGen0wuQf9pyNnyLrVbdtRTHggVzlkrZZhieE/MPO9PzP6tz8LKilpBeNnaHKoFWm3NMjZocAqIVjtsL0USiRM+Sv4qVqkUcEHdkSuDdByJGCkftN16WzogBHYCDmKQ4MehZiXktFlRggqkDzugvKA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com;
 dkim=pass header.d=nvidia.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;
 s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LJ475V8TnBe1+YnOi0OM13gHXwCbc9iPBrWJTa0MFkQ=;
 b=CVQi0FkGYw8tlvGd5rYCASujlT3TXQh1NNuKC8PNe3ypxa0kZKqkkS31/uu7/btZpaYD6T6mZVlwVPFdvmfxehDwmXHpkOqVwVRjwJ56BEozsv+DIkaasYTmGFiNfhn2Se+jisZe2Nf3JFe4FQCxYy+RGqr7V8L3ZSyvQGmiMc1EiJ4slogpaIOf4AmA2B+gdBdPDWNQNGc7BvLwOYQG9L2eL8qqdhUHCqvRCapnib0ntNGBC43GKgv62x5e2B1037VEnO/lWOWyJy1b7IJGtcKdmYC9BrDSIBJx/um67LLXDip6HWjKwku9o3cJOZQvrsvLD8pfn5iHmGEf8pKB6Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=nvidia.com;
Date: Fri, 3 Oct 2025 11:47:50 -0300
From: Jason Gunthorpe <jgg@nvidia.com>
To: Leon Romanovsky <leon@kernel.org>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>,
	Leon Romanovsky <leonro@nvidia.com>,
	Andreas Larsson <andreas@gaisler.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"David S. Miller" <davem@davemloft.net>,
	Geoff Levand <geoff@infradead.org>, Helge Deller <deller@gmx.de>,
	Ingo Molnar <mingo@redhat.com>, iommu@lists.linux.dev,
	"James E.J. Bottomley" <James.Bottomley@hansenpartnership.com>,
	Jason Wang <jasowang@redhat.com>, Juergen Gross <jgross@suse.com>,
	linux-alpha@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Matt Turner <mattst88@gmail.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	sparclinux@vger.kernel.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Thomas Gleixner <tglx@linutronix.de>,
	virtualization@lists.linux.dev, x86@kernel.org,
	xen-devel@lists.xenproject.org, Magnus Lindholm <linmag7@gmail.com>
Subject: Re: [PATCH v1 1/9] alpha: Convert mapping routine to rely on
 physical address
Message-ID: <20251003144750.GA3360665@nvidia.com>
References: <cover.1759071169.git.leon@kernel.org>
 <512d4c498103fcfccd8c60ce1982cd961434d30b.1759071169.git.leon@kernel.org>
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <512d4c498103fcfccd8c60ce1982cd961434d30b.1759071169.git.leon@kernel.org>
X-ClientProxiedBy: BN0PR04CA0173.namprd04.prod.outlook.com
 (2603:10b6:408:eb::28) To PH7PR12MB5757.namprd12.prod.outlook.com
 (2603:10b6:510:1d0::13)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH7PR12MB5757:EE_|DS7PR12MB5984:EE_
X-MS-Office365-Filtering-Correlation-Id: b1af2300-73e6-4b41-51d4-08de028bd475
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|7416014|376014|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?oNMmRh+gl8xprZAvMDs1y5iFJRI/RpEg8XCBTsPvcxRJxqNwT8eu7ICKYqaN?=
 =?us-ascii?Q?wqO8emmbgtdKQmtvOiRhws6RBymzHZIYtzLBrVzU14kr4dNI89N+xgTxd+UH?=
 =?us-ascii?Q?gYyZ0Z5SOpCLR10fZOgRyfJ48d0pSu7aKNqkLYwufDKeoG8COqfEqHEfAp6g?=
 =?us-ascii?Q?sptLFot0qlBrFx82pWnmlRvWI/5Y2nUo5uHExW7qR2W5YTKIejNIMrUqq/CQ?=
 =?us-ascii?Q?Puiq7ew09DAjGjSryVqNqCVKEpq/VlwerHszQC7Mm9AtbPFGqMRnyCRNnezI?=
 =?us-ascii?Q?ekju+P4T+/r0MHN1HcPb6Jxy6C4Wi663GhFCNi9Sj9yw1o1S7ZT+tHAxoar4?=
 =?us-ascii?Q?v/4BhGAS0NX0CmSxd8w+o+dXetUCChr7hSHqZohu9dmlByNCWElnTKqajnh3?=
 =?us-ascii?Q?vO3/3zHgpQpyN8uC+P8+rD+9AciYjPP4vTUOGjiojgPbhVivc5PhPfmJQbVw?=
 =?us-ascii?Q?YB4WshB2JZYvgwD8LQJAGyfBuVS0b4q3zXEF0BgpwuzmGaOyxQqF35cDQB3S?=
 =?us-ascii?Q?gwGzOQePwylOPZ7po67+4fsjzQtq0FfKPZPtYmvpeP/taSy6Keh9Av6tTf36?=
 =?us-ascii?Q?SNEY0nADY2eeVjZ/6cQOBVkmwnaHx4DEgFQ4nUKf/CUhPJ3atUrj636Wo0zm?=
 =?us-ascii?Q?fJXYgAYzqmyrXnCFNnktJ8kf3v1hzmuQIgfcojLxL1EedAdvFkjk4ulOqWUh?=
 =?us-ascii?Q?LS6qpurwT5A9W0pkgrVkwgL/RrHZw+TdY2LFicYBef8N0/6CzBct6Mj9GTxb?=
 =?us-ascii?Q?p/2ZrEnYYCaNffNE+7Dwkf91BNXRmRWHa8KDfmhtzdqUDE4PaAbvdVJ5+kPN?=
 =?us-ascii?Q?3slhe+B3HaHVYTSZG2Uh/1L1RHp52DIEb22CbIFsWf3Vd/A334EKqWIWgOna?=
 =?us-ascii?Q?pUd3EUMHfd3Hwe9KHFA90XNkSBtRV/MhI6MTnbwZyTOfxQIgESWna3Nhju+k?=
 =?us-ascii?Q?JlY+ZtyGPiLBdSdigTSMiTMI0QVdDu/8ZsysrrAFS3oHA/jRaK3Q5RZ32Yfs?=
 =?us-ascii?Q?q5t8njI6sYwZ37YYw4nBFg37BZlpoDg0EixkbXRVeS29cVTc+PQ6vN+5dCE6?=
 =?us-ascii?Q?jbfivo+CdaRoWgQh/JIAsOwVZRdgZI9lksZNlGxpQBJFu2JUNeeBdUpO2wtm?=
 =?us-ascii?Q?IsdFYq46j9F0bqTh8qs/pIlRNPdAzsglbqQ2vvB5hYrBehmauo5BKoNxSi79?=
 =?us-ascii?Q?LekL+Hl0sYZWfXQTfJZL9hs2LrCeQrFOCwb1cQ4eaUp+829gs4m6BdNItBXY?=
 =?us-ascii?Q?oiDYFNK2FGjspVLB8cPqhKLTPNcJSdMC1TaWWsdMOpK4TtjeEus/zIRQCeE+?=
 =?us-ascii?Q?GbWr+SZrhE1snglet0WH5hyjBnNAedGTLYNkZSGNMr1An6sAd5PxOrCT5vu7?=
 =?us-ascii?Q?HzWs90YuVgnSAtg6HvckKJqCsECSi+kAzyxUEl2rjTrVcjdfL1IuyYKcTUZm?=
 =?us-ascii?Q?z4y/tOp5+UlfZ2HBknwtXAKtRY/nuPg6?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH7PR12MB5757.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(7416014)(376014)(1800799024);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?1y+boVQQr9fg/uz3qlMpgeI+/KwvPkxPWSt5aaiS7BsXTr4WfvZqTd5iw3Ic?=
 =?us-ascii?Q?h3ao8N0dZVCVelCkzyp1ANLIkkOZuuKW27A8ioxBuobtfPrFYrqu/xv43t+7?=
 =?us-ascii?Q?WMI/IThM/jmMMYmP+3V530+gtoLtlgYZez58+CTxksvwRGeAArxadnKgM0P9?=
 =?us-ascii?Q?m+IiPsh6b8YFMPkmwgmEnutltlteJ0DXGtpiOTXd8YwOUqWJPuP9aZ5304uj?=
 =?us-ascii?Q?XsyTLdTu2w7VDhP1Z1Suh4B8KVad9lj0sAQ8k1tcu7bc8yUqpCwg75dRSlHi?=
 =?us-ascii?Q?7/JyfN7+bTcIWQp5X5gL6jbOXKuk+/BJ3VjjxAfAVkk6DC7ZwTZIoaz0rtZa?=
 =?us-ascii?Q?uG2trs8eiOB32+03v/57LhFdjZZtSn2E6PoFlHiuSB1RliXEiyLdGdWLLsOw?=
 =?us-ascii?Q?qbxdf8pfLYEbnACzykhR1UQvMw71v+RNmkvLIsammwy4J4RGPTD2atrNu3AZ?=
 =?us-ascii?Q?i9jTwpl69DLdVwex7rHcSXtT+2Ref1/+v+XODQscnVLNXhldoRhTsE4Crcig?=
 =?us-ascii?Q?GTXxikla+PFBLj6T/91qLlD6Ni+LEI4wR3cWL2OW2Z6nUabu4iD19LeUeqr9?=
 =?us-ascii?Q?QyCZb81be1WzegLG1W2JMz8mXWtpmWm3/2m3mH7Bl+/zyVOMU1fNUD8L+lfn?=
 =?us-ascii?Q?wPXaQiEZIUX1IKJzHAxwOcmCXhE8wGkAuw+e+umTWY73Acz1a0t/jgMbuMD0?=
 =?us-ascii?Q?1VqAZ4KHYVlNxAMMLPHRnmqywtLq3knqVj9Da3lmTAq18Dto7gRLyeKsXx5H?=
 =?us-ascii?Q?rlHpiwBDA07iixSYj+YYkJpEiGmS0o/ZPI6knVESOUrfgTvRFSkqkKXeEGEL?=
 =?us-ascii?Q?GYeKs89D80L3zdlezVbW3xdi/g2HmCuriAGvyl0aynb9mhLNY7bibXVyod2o?=
 =?us-ascii?Q?BJfQ8LyLb7IXpXnDW1GFABo64zEZdMmViZyyMYwj4zkFVt4qD8sVFUJtBL89?=
 =?us-ascii?Q?cxuJjhINPN/LCdjGaczap7mYEWx4tsCBg1HDNfue1TT5iCHpCgH5ora2LHZ3?=
 =?us-ascii?Q?qLTJ1ZOGZKp8kW9D1RFR7jXlkobZ7gaM/gB/lv/o9NUkjUunV1iCSqi+LveJ?=
 =?us-ascii?Q?aVNlNHY5NZxcNMzMiMqzKg5qUNzqZVWZFB8hNmtrcCEOicx6Ru9yKOlPIl37?=
 =?us-ascii?Q?hbbiCfCZ9m42mGfRSwnlXoZx3lgmxIb+YOAVYwEbBHNh1tMkyABFvipoi8um?=
 =?us-ascii?Q?NKqMqy7VIHlMrudVN90bXWrVV9IegnNW9HBsgfYwtof+nGy7LqY0JInowAZz?=
 =?us-ascii?Q?9C+SJaUHNN5d0AFQa6LuaplTEw5AP/xxGIGrUd4GacsA2UA9YL5SVPIzuKwY?=
 =?us-ascii?Q?kVAPUmtiCcY3Bbc/lNOuOnq254uVtDswoRd2HheXkdpcppo1HrvqEpLytVjj?=
 =?us-ascii?Q?GCMnohAiwKErfXxguZN+44yml3BKH4NwzzxQsdShu+cUSVEHPCl1OeWVADTV?=
 =?us-ascii?Q?AmoPbQl2JTTBpeLtBbJO/l+R9pnq0NGEFld6RZaIRXnIoJkn+SzcignPS6dC?=
 =?us-ascii?Q?WwPP2bEOy+q9+M8DLzQPwFqnxO/4aemlAKfZ/I9v5aYoV2fiG9sbsF1v/fX1?=
 =?us-ascii?Q?ObuRPHvllMTSsEWaQ18=3D?=
X-OriginatorOrg: Nvidia.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b1af2300-73e6-4b41-51d4-08de028bd475
X-MS-Exchange-CrossTenant-AuthSource: PH7PR12MB5757.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Oct 2025 14:47:52.3304
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: kDUjsMcvQLSUKdXsnZ14CcarxBcF2QIdX5Acy16R2ECakBykTEspVxaEQt/ihU4X
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB5984

On Sun, Sep 28, 2025 at 06:02:21PM +0300, Leon Romanovsky wrote:
> From: Leon Romanovsky <leonro@nvidia.com>
> 
> Alpha doesn't need struct *page and can perform mapping based on
> physical addresses. So convert it to implement new .map_phys callback.
> 
> As part of this change, remove useless BUG_ON() as DMA mapping layer
> ensures that right direction is provided.
> 
> Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
> ---
>  arch/alpha/kernel/pci_iommu.c | 48 +++++++++++++++--------------------
>  1 file changed, 21 insertions(+), 27 deletions(-)

Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>

Jason


From xen-devel-bounces@lists.xenproject.org Fri Oct 03 14:49:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Oct 2025 14:49:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1136623.1473132 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4h5k-0007ES-CM; Fri, 03 Oct 2025 14:49:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1136623.1473132; Fri, 03 Oct 2025 14:49:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4h5k-0007EL-9N; Fri, 03 Oct 2025 14:49:04 +0000
Received: by outflank-mailman (input) for mailman id 1136623;
 Fri, 03 Oct 2025 14:49:02 +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 <SRS0=NctN=4M=nvidia.com=jgg@srs-se1.protection.inumbo.net>)
 id 1v4h5i-0007E9-J2
 for xen-devel@lists.xenproject.org; Fri, 03 Oct 2025 14:49:02 +0000
Received: from CO1PR03CU002.outbound.protection.outlook.com
 (mail-westus2azlp170100005.outbound.protection.outlook.com
 [2a01:111:f403:c005::5])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 18a3d7c5-a068-11f0-9d14-b5c5bf9af7f9;
 Fri, 03 Oct 2025 16:49:01 +0200 (CEST)
Received: from PH7PR12MB5757.namprd12.prod.outlook.com (2603:10b6:510:1d0::13)
 by LV8PR12MB9620.namprd12.prod.outlook.com (2603:10b6:408:2a1::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9160.18; Fri, 3 Oct
 2025 14:48:50 +0000
Received: from PH7PR12MB5757.namprd12.prod.outlook.com
 ([fe80::f012:300c:6bf4:7632]) by PH7PR12MB5757.namprd12.prod.outlook.com
 ([fe80::f012:300c:6bf4:7632%2]) with mapi id 15.20.9182.015; Fri, 3 Oct 2025
 14:48:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 18a3d7c5-a068-11f0-9d14-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=uhwjUKPC2KYAJt1sjPus7C/PiLD7KLzKX36jS9As6t4UWkKZxX9lhbEn6WGA6IJWvXvki6E9n0eVSc9pMYXra43qvMh8+NOhsXTArucuKesrEQDvZFjmpik5bH4yTjdDlI0QTqtZCEtgXxSnDnY5xRkunhVTbfI+HEkjNR6giWSiif264ucieOrbIC1jOKDqP6OQ3X56McIxf6hBxEzVD8vQ1jMLle9QGQ742DLS47pl/byX7OijMkBeWY6e9xZBQEizaDzxf5j9Or5w06A60otrLWLAGo37+OnGZzNQ8SfM99fx/ClEwtsgC6t/xojJjOmaEVYw3mAFbApy45iY7g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=AYkpFpGsPlj8CmDsSoEgGxyUmgiDL9vdiz65x05Dd7k=;
 b=hCtz2m8tyJbHHkQBM3mYCT38fDE7us52OfOBwkGmKZn2wHQX6fgUwyeDdB4eZ2COnBkBEoVksSoBIYUrvdA/l1eFRQiGIt0G/ZqyngZft58mHQnaVTLdIP1rJHmKw31MFdOUXoQtC5b7z1+rLxWMRL7Ykmhx7rKFIObaC9EWtJWkhyosTxJUAkkrWDNwMTI/EprvbFoCWmOIvONE07ZsOcdq3Ri+3EjkL0zf/HiSaT3JvfzjIK2lWbiLjtTl3FSbdK44JsD/o4i6+YmAnWLQ1xwtQsiSog67/amqzgHjNTToiqVylGQizazpCiAnKikYXk9Iv96nRr5kKFMsKq9Spg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com;
 dkim=pass header.d=nvidia.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;
 s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=AYkpFpGsPlj8CmDsSoEgGxyUmgiDL9vdiz65x05Dd7k=;
 b=pkfBVoJA9lww4ioBs57olZiLMicrvGsV1eAS8WrvytXZQUIsp1xr9JOUpaYDatQ++wOKoDO96xiarIV5s6VcQsx5ZFzc6iCfR9ZANbuR1nJ5QdeL+S4Sw+6xQxm4xWVMeJnQv1t4ruWf7b/QT5Pez9yRxjPvLiPa50f1xzh1qBpMs9QjoznG4/yK3g0hZwTmhTQIpryDKaeH90fPOtbOhopcA7g/v3VmJVLfbYTlBjUARhxvKRJLYuCgkOOruoWuHrDssysw7jkWsSYtSBr7m0eeVGxgGJ5XHIXm556vl0flkKlwId90FwbdzTjgL6xte2JZhkxpdIJlqavybtXw3A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=nvidia.com;
Date: Fri, 3 Oct 2025 11:48:49 -0300
From: Jason Gunthorpe <jgg@nvidia.com>
To: Leon Romanovsky <leon@kernel.org>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>,
	Leon Romanovsky <leonro@nvidia.com>,
	Andreas Larsson <andreas@gaisler.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"David S. Miller" <davem@davemloft.net>,
	Geoff Levand <geoff@infradead.org>, Helge Deller <deller@gmx.de>,
	Ingo Molnar <mingo@redhat.com>, iommu@lists.linux.dev,
	"James E.J. Bottomley" <James.Bottomley@hansenpartnership.com>,
	Jason Wang <jasowang@redhat.com>, Juergen Gross <jgross@suse.com>,
	linux-alpha@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Matt Turner <mattst88@gmail.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	sparclinux@vger.kernel.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Thomas Gleixner <tglx@linutronix.de>,
	virtualization@lists.linux.dev, x86@kernel.org,
	xen-devel@lists.xenproject.org, Magnus Lindholm <linmag7@gmail.com>
Subject: Re: [PATCH v1 2/9] MIPS/jazzdma: Provide physical address directly
Message-ID: <20251003144849.GB3360665@nvidia.com>
References: <cover.1759071169.git.leon@kernel.org>
 <f64ece5bdf9dc4c7e9407a5089be68a8c5c011a5.1759071169.git.leon@kernel.org>
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <f64ece5bdf9dc4c7e9407a5089be68a8c5c011a5.1759071169.git.leon@kernel.org>
X-ClientProxiedBy: BN0PR02CA0034.namprd02.prod.outlook.com
 (2603:10b6:408:e5::9) To PH7PR12MB5757.namprd12.prod.outlook.com
 (2603:10b6:510:1d0::13)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH7PR12MB5757:EE_|LV8PR12MB9620:EE_
X-MS-Office365-Filtering-Correlation-Id: 26de6d79-bb1a-4ef9-be34-08de028bf738
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|7416014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?IUAl/VgXUmB/mhWWSJmxf09dnIZpes36QCEAd8eVTXLbNI/e5d3NcJm1krOk?=
 =?us-ascii?Q?ARayVKxss3C2w22Opx3viDXeC1fSr95fTLJcRfQSMJkpFVZnptDP77QoSuRF?=
 =?us-ascii?Q?asc9JdzxNiXG/Sa0q0XlAwFvM/WftwNU4Jrkspu1UVCgWNr+glHgIatNokFw?=
 =?us-ascii?Q?ZwQJ3L/phGCM9Z7TULplmfUxIUPgv9yoyWszrdMQUzkjt56P04d/v+Utz6rl?=
 =?us-ascii?Q?6IoMwufH04Qw2QJxF4SLgFhRvyijORplp8izkuQ5Lswq1GXy3/nZcF+tZM++?=
 =?us-ascii?Q?/kznBAEiq98LUj5sU39zYQCrPhsfJMk3p5o0wYjR/Zb5FyTordsFbiX/AlqU?=
 =?us-ascii?Q?gZpxJqsHZMjUAxf/saq4Ybfv8IAIEoYue2Nfo65i50+TZ2JMJCDMewxwrtvj?=
 =?us-ascii?Q?AJnchhyjbeyh/HSzfind+lV502i3X9Yaj9bMDWH7lYHZMXLrPZ6767uzfumP?=
 =?us-ascii?Q?f0RBlFq5UAlJYNHHDemkCJFA4NIOPRuVL9VgPU3gWCz/Gw/61Jv80B0fKgNG?=
 =?us-ascii?Q?qrgxQdmS7iWVxrcmPCwKCk5V/CwAswuY7C0zBjZJnLmCKfhReB7X+7QWA+db?=
 =?us-ascii?Q?t51J6HfJC3TkxSZQVmy/u6VwhRNJsw+As0xt3EF/NUpjvDDqY/4xpC1KyiH3?=
 =?us-ascii?Q?ld4DgFSxSoM1ODNP9HO8WylxgEL0dVorBwVjEqydJwULjtV09zrM74jtcOwj?=
 =?us-ascii?Q?C6RQy0slxkCLfwTBSwDFD8Tgnmb8Xnt35EFiGQ3AP5n3Ccw1G0T1LmZA0EWU?=
 =?us-ascii?Q?+ULW6BPK7/OfCgL13nHFoUGAgopaqry4MYsZDIvEHZV4LrtGjN14ylrXRjfV?=
 =?us-ascii?Q?ZgnMBlFQno7uvAqTx8MUEKV2pb1husUL1bE16SC76Mka7TATm0Ydrb6xTPd+?=
 =?us-ascii?Q?Pi6720dbOQycZrniuLvIqeoXirwrvC7CD2bAcnh7YKBhIg7PBsO1PAnT0Lvm?=
 =?us-ascii?Q?hgvGYyibhLxoyCN08y0VzMfT1UMgq+V0QOibx4bfmGSSCKdcP0efcQyCLNbP?=
 =?us-ascii?Q?LCnix/tBq87ntzAAd2UP9mpRWwEK3IuNqJknLm/YXnj5mITKCnOwpBt7m6Uk?=
 =?us-ascii?Q?Y8wAXUe+O7sBhVH2ElJOxwVaz9YWTwJ75Zl0ogzReft30fbxOOzpga4gUurL?=
 =?us-ascii?Q?kj+FZZgF14a4q3DBtLNaPDF1A2s+atMzpE1mIfL5uZOjPK2GNNXxRuYGBUQ2?=
 =?us-ascii?Q?4c1tZxtN7wZ46t0Mt8WmcRiyIVzuy/w6jHcpMnFlfSRq+hppT+LUz3OKmILL?=
 =?us-ascii?Q?N8uyf7f24FJVTVa/plDikXQeDaY1GV5aZu23cRBvy8z4NN50BSU0L1WQxLm4?=
 =?us-ascii?Q?MTgcqncU8HXjpSYeNGfSTKg7r69xLWHHN6nV97bFSWnSBpwXSToM0Ehsl2R7?=
 =?us-ascii?Q?Twu1ABY5O6DFmZdYBh2+nQcTlgF/mGf0KS3jzf6cL4qVQRrxW/UjY9QRyjgX?=
 =?us-ascii?Q?xLGuHIIrfmgE7AQh0n+uyQP+Do4rIXQT?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH7PR12MB5757.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(7416014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?TkR94ot8rQN0q3H0Yh2p9ZnNn4KIsMlaiiNOxdKfg9U/trl3P0ak3ox8Hoa8?=
 =?us-ascii?Q?uXPl68CuiE89TSYOsSnzUEEXTK/hheNDrj+KxCJdBrWwnHfOTF1WF+TTbkdq?=
 =?us-ascii?Q?JOV5wlfJLWbABq6WutqjjxqnxZobocPH/6EJh1lKgbkRpRsVxWpk9X+/7dzH?=
 =?us-ascii?Q?JmoV67o8ojoY+HA/BCDlGJXnqSzyWwZUL1nugMHQZ8EXKtQcWlqAD1uQ44hp?=
 =?us-ascii?Q?e51q8HdOW3hcv4o26SOh66RSaWRael7vISSHYNMtBLCVOd034PRX7fsbX78j?=
 =?us-ascii?Q?s9nwzWp8CKaC1cCCz3nid6nPXLHYiwZkIDR0zFtTX7cnBnxi1rAhRsFX+uUJ?=
 =?us-ascii?Q?Xr/dN7D+jB+IUwCDydZKf0w0NB15n6PPZiKTAIEt2LyTBIxskFOoMdPp8Kyw?=
 =?us-ascii?Q?ArOJthsTnUY9lWbjaQ7t+U8lT9smjiczl3msM2TDi0BlR0Ie5zNulVSNJplg?=
 =?us-ascii?Q?KByB3nrkP66PkDcXoIO6vnsZUZiGw0WLUG93Dv97CcZ2GH9MwSUdVKFKUXrc?=
 =?us-ascii?Q?uURZHj55KNRnuDL5X8UvMnUYj/UV6uwRcjEsHY0R9V54vmzB8WVfKbJRHZV/?=
 =?us-ascii?Q?ifZ8cQOdn6qezhAHcgaFXuWVgdCRkQE+bY1LOffdtwB9LzVBouonMHJJr/7/?=
 =?us-ascii?Q?B0nR5etSwkY5P8gv+1K6DkN5shVGMu5gyNFadHgI5y4LkR9F+tDG7sDA2lyj?=
 =?us-ascii?Q?3wiHkha4fXZAx5R/xCZ48Jqvyk4ffcsH66gNM8gmWMfVwHh52yhO6HXfbvUi?=
 =?us-ascii?Q?TqGBZ/X2wpmnnt7g86W3Vm/cl0JyuUipw5+h3SNitvMp/YKr5UOBVMKJO2QU?=
 =?us-ascii?Q?KAqijQO+rhiivINM3Q0gfhpSAbQ3uCmwm2yN8eq4cmk+pzC5pUKzK5AC9KWg?=
 =?us-ascii?Q?HtjnLtCPTD6+tTq82MQnky1D8ZkWfsud3cSNPQE3TQf1biTOVYtbE8OD8Uii?=
 =?us-ascii?Q?w68fHHXwp4jrI0BRFI6V9BNwlMbGxG7q/VtBlWXLNd40IZD21k1/ThLwG1zh?=
 =?us-ascii?Q?WJSTjoKvdV+xiWmJ+inFqZ9DVPF6F4jcBKP8DyLOEzXwcLhm8/o0wm4cGFoW?=
 =?us-ascii?Q?UpnFttz6O5vzMcziVlDJV3im4XQRQl6UIqZUq1OmK8N9RpQ1XtVw8z7iO6Yc?=
 =?us-ascii?Q?qB555/yXwW3xFuNZi2eIxOSg53TTc/dmghqsqv3QIkdWWMtVjHP5otm8olhB?=
 =?us-ascii?Q?eox9JFHjlfFQGz/z8Ybdx6QWLJmW5Vol8S8e9RSUiwQ+P47dgEJ+acG1AV+i?=
 =?us-ascii?Q?wY6e1mQXbDQeMririPM4ip6vhl6B3pDjnJRVY1HsKxzCh2pQXu3M2F128y5m?=
 =?us-ascii?Q?jBXUSlsuzwJgnCyal6S84CeUvIhpW+kg0/rw0Bh5Lh/QDIor8hIfdNzz4mCg?=
 =?us-ascii?Q?Kg5O9UOhC6grp2uAkn1sU55kZNFenINWN3ny05s4NlRHiE/ndOGizx1cw2vx?=
 =?us-ascii?Q?o2Z/zcUVejT/AWwuRYKwFIVNMe463s75palfL3ntsUHqkCUB72QgMxiXD1F3?=
 =?us-ascii?Q?5sfOy23Iy60z/T7x9AcYg9yzC/aeVT6kDSoKUK3pepawDDBjADNL0PQi4+sE?=
 =?us-ascii?Q?wSkYVmNjVownR8Ibw8g=3D?=
X-OriginatorOrg: Nvidia.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 26de6d79-bb1a-4ef9-be34-08de028bf738
X-MS-Exchange-CrossTenant-AuthSource: PH7PR12MB5757.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Oct 2025 14:48:50.6249
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: +DfvWFGhPDOeJ8LDiBifmPUdvIgvbh41vXmGSGLetL7t3rCyCH5HNGymAuvhVYPg
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR12MB9620

On Sun, Sep 28, 2025 at 06:02:22PM +0300, Leon Romanovsky wrote:
> From: Leon Romanovsky <leonro@nvidia.com>
> 
> MIPS jazz uses physical addresses for mapping pages, so convert
> it to get them directly from DMA mapping routine.
> 
> Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
> ---
>  arch/mips/jazz/jazzdma.c | 20 +++++++++++++-------
>  1 file changed, 13 insertions(+), 7 deletions(-)

Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>

> +	if (attrs & DMA_ATTR_MMIO)

If this has to be respun I'd put an unlikely() here and the {}

Jason


From xen-devel-bounces@lists.xenproject.org Fri Oct 03 15:02:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Oct 2025 15:02:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1136641.1473141 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4hIG-0001aq-He; Fri, 03 Oct 2025 15:02:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1136641.1473141; Fri, 03 Oct 2025 15:02:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4hIG-0001aj-Eo; Fri, 03 Oct 2025 15:02:00 +0000
Received: by outflank-mailman (input) for mailman id 1136641;
 Fri, 03 Oct 2025 15:01:59 +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 <SRS0=NctN=4M=nvidia.com=jgg@srs-se1.protection.inumbo.net>)
 id 1v4hIF-0001ad-GM
 for xen-devel@lists.xenproject.org; Fri, 03 Oct 2025 15:01:59 +0000
Received: from BYAPR05CU005.outbound.protection.outlook.com
 (mail-westusazlp170100001.outbound.protection.outlook.com
 [2a01:111:f403:c000::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e396ffa3-a069-11f0-9809-7dc792cee155;
 Fri, 03 Oct 2025 17:01:51 +0200 (CEST)
Received: from PH7PR12MB5757.namprd12.prod.outlook.com (2603:10b6:510:1d0::13)
 by PH0PR12MB8099.namprd12.prod.outlook.com (2603:10b6:510:29d::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9160.10; Fri, 3 Oct
 2025 15:01:46 +0000
Received: from PH7PR12MB5757.namprd12.prod.outlook.com
 ([fe80::f012:300c:6bf4:7632]) by PH7PR12MB5757.namprd12.prod.outlook.com
 ([fe80::f012:300c:6bf4:7632%2]) with mapi id 15.20.9182.015; Fri, 3 Oct 2025
 15:01:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e396ffa3-a069-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Q2C7FAS80d/8xmmWNKvVsZc0PxzbQ91CN0hf8aVXmlwtRQAdskugRF42XxNc+9gVDzvBcLafJ5hkYIaZxuX6Wqahonz/tSjzLmZNUkJVndHfYNBxJ02DRwAr5DiiAMqK9PGteKtHX9xDPikk+vU75nsePrVj/Ao34zDuhJt5dhdCQYPRVLtqpZk7pdiAGckFPtKHNPfcBoxeC/3M5knpiFGVYAEYTixNoOPhNgw9tVg9iO/uVeH5FEY8zJ748hhfJSC92FtO+pF/VvOCRy8ytSbtFzEQ47i0aHou25Hw4WVkz237qnrF/GW6N8rfUbkVO+rsrQMBfK8jAaCve2ccAg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fsuqmrBFlwfbzpdvfnwFd/qS1kt2Xi7ZRb0POdUc6Aw=;
 b=Zt85PuSEiep+n6tU8auKTaoj34VhSPLfq9p562ei29agtEI/Jb5J1mdIA19M+U2tzLqdVvyE4JyFWAtnuoxq6GGDqfnsAFz7LwbipWPEPQoDPS+I/39qExsglrrYcL/q9Hub2CwwL+vQnAW4rb+ogUUyvzwCWjk1WcAEG9DcFSr1OkpeFu2/KP03VEbA986meVgBW+Dk1BfMjTAJBBs7nUcwzp7w/KXp7PCxTjltUxyKZ8NNWu+8RFcS4SmIA4CpoueKZMF0P7LFRYaXvFI09ugz8fbRUQVDKDuQA2yl3ABgJkeT5xnOpblYbi6Np9f48nWDG72dBsbMQXVgR1DknQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com;
 dkim=pass header.d=nvidia.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;
 s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fsuqmrBFlwfbzpdvfnwFd/qS1kt2Xi7ZRb0POdUc6Aw=;
 b=Vfhkqua8/TmFsRAnPNsfg4Y1NTi2LCSoD87EPKFC3acT5VWx/2ygbjb7UKld55kUtvZ0gZwfQb27YtSpCikCr8oWZqFU7qfXQ6XkHq8to5azD6zehO+STrmak+PDGx3wfjhqMuznaXXzqJqGUZsfSpxpQ/rWRbwwnaVldMrdiTMI4clIVTQ0AK9iArC+EA2RQ/7v8SDf1JR5PEYYi78AAx9ZT9RXG52MlmxnTSh+qY0hkRv1FyTVa84oIX9kRMZDJNketFrfghCcHX91AEu44g1TwD95hqAAtQTmdy4O0Fs3ZYgZNow8QkYgLuCiXk4TRshA0/SnHHJ19huaiTcmfg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=nvidia.com;
Date: Fri, 3 Oct 2025 12:01:44 -0300
From: Jason Gunthorpe <jgg@nvidia.com>
To: Leon Romanovsky <leon@kernel.org>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>,
	Leon Romanovsky <leonro@nvidia.com>,
	Andreas Larsson <andreas@gaisler.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"David S. Miller" <davem@davemloft.net>,
	Geoff Levand <geoff@infradead.org>, Helge Deller <deller@gmx.de>,
	Ingo Molnar <mingo@redhat.com>, iommu@lists.linux.dev,
	"James E.J. Bottomley" <James.Bottomley@hansenpartnership.com>,
	Jason Wang <jasowang@redhat.com>, Juergen Gross <jgross@suse.com>,
	linux-alpha@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Matt Turner <mattst88@gmail.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	sparclinux@vger.kernel.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Thomas Gleixner <tglx@linutronix.de>,
	virtualization@lists.linux.dev, x86@kernel.org,
	xen-devel@lists.xenproject.org, Magnus Lindholm <linmag7@gmail.com>
Subject: Re: [PATCH v1 3/9] parisc: Convert DMA map_page to map_phys interface
Message-ID: <20251003150144.GC3360665@nvidia.com>
References: <cover.1759071169.git.leon@kernel.org>
 <333ec4dabec16d3d913a93780bc6e7ddb5240fcf.1759071169.git.leon@kernel.org>
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <333ec4dabec16d3d913a93780bc6e7ddb5240fcf.1759071169.git.leon@kernel.org>
X-ClientProxiedBy: BL1PR13CA0105.namprd13.prod.outlook.com
 (2603:10b6:208:2b9::20) To PH7PR12MB5757.namprd12.prod.outlook.com
 (2603:10b6:510:1d0::13)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH7PR12MB5757:EE_|PH0PR12MB8099:EE_
X-MS-Office365-Filtering-Correlation-Id: d39aeef7-5934-4f8a-f2af-08de028dc53b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|7416014|376014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?vNpjJPqDQn+WUgcK0SQVciNcoHk4Chyi54klc5Y6C8xGfiWRbekVDrf64Q/p?=
 =?us-ascii?Q?1yKPqIQJDzk/ijNNk+zLBHUBe2wkZMCAz2hhDVcE+seqJTzso8LsW3i1d2RO?=
 =?us-ascii?Q?PvrPA70VhBoK8XG6P2GAMNL/s25nt0uQBRsA6C/s+/W1hnT8Q5CRy1ICR3/i?=
 =?us-ascii?Q?glKJp1dhOV+LxWlFSPlQFo00dLwuIMIQW5iWoA34mS6Ma7NVIp/XuNfSSEqY?=
 =?us-ascii?Q?mf/09aK3YgBm7MkMjP/WjoaxrW5slmejUVO/XRqE/Z70tZ/fZnZ+V2dQuBme?=
 =?us-ascii?Q?sa4rL1GV0lfNrLiEaT+p+ILldSc6z/ghxthGrxJx8Lsf0iLdKN+11iqiEXVN?=
 =?us-ascii?Q?Myk3XNJK8IiFoDlQmo0FbWSdiOyg+AD+cmCUn7XKrx5y/vsE7GTn70JDo04y?=
 =?us-ascii?Q?nooRz+eQcs4xgGNaEqomV0q8rXvvzcTy0vUtwMXlbNLhJW1DBH9xgzhVS+lG?=
 =?us-ascii?Q?cJ1/afH82tBFrDGQlrpt+d7PVqL2cjMDiO7TR99YzP4yYJkeQCXDTbGxh5EO?=
 =?us-ascii?Q?EbqrMQFWwIalRMsk6IowMnTtp+cyGWV36Y+WpX9aR/KSdNAAEgDrnNUgW0wB?=
 =?us-ascii?Q?mDmswZPEXFD9wH4s0DAqXiu0u62d+E3CqPqfZBi+eBIeHcpL08l8lsXdi/cz?=
 =?us-ascii?Q?dYcOGTX15EgwoqojWPF9WOJI6fbshgEhc1euXnRA0XdId/mZ4kfJ5LipZwSZ?=
 =?us-ascii?Q?aNzlnP2sXNWs8u2h5spxLJKw8rmUFBkpm/IwnqQsYm+p91vdeWbsJ5dTfeN4?=
 =?us-ascii?Q?IbcEzcZ2eaIpo4DN9hIJPFgvAICUvFpOHN+ljbUo6fj7kEkhDOpeSSlBRM1c?=
 =?us-ascii?Q?I6cH23sSXlxJvvy58No9kBr+cO3oZYNh+VC5PiTcfnl1ojMNpN7o31LOrrDG?=
 =?us-ascii?Q?vv85TCEonxqMkUlC10I/Ln6pFWyRZdrnPQBjGBVynZDAchq23Cfa351DVePQ?=
 =?us-ascii?Q?XFSCCjNszyaUSuKUfnMVQx9xykaSAHc6X5Sb+36dzGF/yeATwVbtyThQABIB?=
 =?us-ascii?Q?HzedVzcG4u5WPHfsYCtJILieQTfxYmtrk536Lbr7WVwS5pIQjyGrhys3arkT?=
 =?us-ascii?Q?i5bJ/px6tcNw3cZouT6GLZ9M8zKWjG+vkFEL50fcHps4e+a/YWe5e2EFvDXM?=
 =?us-ascii?Q?lMzRIS4O1dvYGel3OdqGuguQtlNSyCBOCKI9yq6bslb/LxasMWQKx1IBjzzw?=
 =?us-ascii?Q?23GrN/JFP5CbFB7LjsHreBSfw8xH2L3csTGIdcZfDThlyW8SYw/pJYhX2WqO?=
 =?us-ascii?Q?RF3QmlPYgdi2SA8hUFLn9kCDq9YEk1bAa5IEd+xpeO3/nQQRIKD3K8px8dXX?=
 =?us-ascii?Q?cfQmgPmZEU6yank/bjcHy3kbN58zSzPyTu8ThMkZynZTKf5VJkp9jHepXjfh?=
 =?us-ascii?Q?HgpHkUO6SIEMCjzgiEdeS1jFvYohHhgxOOD/FwGWpWKb9fHx48r+mWaU9egO?=
 =?us-ascii?Q?hVD1ZkW0qdrWvAEth90gZFfuYT0Uo6Fb?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH7PR12MB5757.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(7416014)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?LJ7D6TypKQFtFF955g0wVEF93OAnBgU960gzotDze+EhhUDTQDevsS/WRlce?=
 =?us-ascii?Q?eIqoB0yc37o0SKWx48sGrkJ3Be5mzhyxvNijTP1BhkgZ4CyqaBdAeIl2Fon+?=
 =?us-ascii?Q?UDs6wT0U3SfLbZe4jur6ef97PfmMlPfXQIQWO57nS/DXOW3hLCZ0CrGDopuW?=
 =?us-ascii?Q?UHW8YIPR8Ihz9jMKG1rSJrRaNiBWB6hzF+5QAllGLCeKUcY5A8RweCosCEDV?=
 =?us-ascii?Q?J9GCGTlM/OWkQaz+guTqVTSuYNaTZoGwkXf3Kcq1/wADHSC0Yjn1GqEjDk8O?=
 =?us-ascii?Q?Xy77PX09rQhncFDL1BliFNpea9yu+Zy/SwmHJT+PsEei4DyE0eQNzVk96EE0?=
 =?us-ascii?Q?yOKmpoRK0BQ04MlQmhkgK/3XjxfLeWeq2LgBlUWfk+ZZwrGvn6HAyPl74Rmj?=
 =?us-ascii?Q?s58jIqR4rANNY7V0GxoeatgK/B+1mCyiH+9alaCrHl7ArFUIGGGAIzjLZU8T?=
 =?us-ascii?Q?hXPY67Sh55Wn35mC1dDrPqe+DYnDtdu0cMMl2PtWrCbThmRcEmYLQqSLV4jY?=
 =?us-ascii?Q?rBUSwb/T4gK3gjSHgHwxrBMEH2i8Fv/gS5AGyg3hBEYU0aS5S3KyBTPW0wUY?=
 =?us-ascii?Q?9xyp58BQ2o0s75+3LILlKGTlAva6F5APAohV/v4xY5l/i2nQQ7wKfcgq38XF?=
 =?us-ascii?Q?LnjZw1NWjeXUAMXB9ccYZV/5HrA3xhSgy/LMJIVOCj0jL7v1IgygypqA9Ngt?=
 =?us-ascii?Q?byvvRgdQnuL8vb+00lrBkg1wEdj3kaIBk3Bin3bwMsI7mj5JG6i/zDHmkmar?=
 =?us-ascii?Q?rSUhaWHCjXDiGfKskbZ2nvMbCWBOgwpDt0sdj8xj/9O9VrsaUsyGtFVor9j1?=
 =?us-ascii?Q?oUXN12dDM27n2akZ8uVsuXKC7ibGkP9OAh1rcr9d9ITF6YWO8yd79VxIKcUU?=
 =?us-ascii?Q?to2AZyLUt/uiLEzFTu17udCsJON346OeoPsV8BUvl17NyPquQNd1Cmp9N2m8?=
 =?us-ascii?Q?Dq7EHtC5y8p9ZnbAr69JJuymT2SDUfIKR1ePoFa8hTFbF0Ap6KcabWBe29Vn?=
 =?us-ascii?Q?DaYnFD7xfKuQASt+CDw1wSYzu7sMD0gvUXjrwkmqbDy+IVxtfeyRMFSePxk9?=
 =?us-ascii?Q?0GZblP8EYQRK72NMLao/1h2QVP37fovSVQDPtJCiCfXY8cI9EtlYY7UA5QZW?=
 =?us-ascii?Q?RJXP/KuJktZs6QQgGiPM1+e/14RktKdvrBRjDGYtZ0K9Jz/e//0gP38IxpNS?=
 =?us-ascii?Q?Pjrzxp28+9z39OISaBwle5M6iS+89ih8xzpf5FdsAZnpAeo2/GldUhEwox5A?=
 =?us-ascii?Q?Ipydx3awMrTxcHsevwi2RAabSkmcYeQeyO0TUSk63BEii9UP3WS/WDgYivJ5?=
 =?us-ascii?Q?80qXvcrCQAzQlW5LeLTFPnAo+tFj1/3GLUV7/NcDJEjbnaC2OVfsVQ7FHKcP?=
 =?us-ascii?Q?tUU8BYHIiXszcp1aVfawi87P2Mh8TtgakhBmI70M8QkbGDog1STMzik6eVJ8?=
 =?us-ascii?Q?reWvnAxnvOQUxGLoW9jVDErTVOeqTHtdVAGuLfRDyKyl1mLWxgozqM3UGdw5?=
 =?us-ascii?Q?I9U5oBVux4iABhBq6ID5Av+z4FvmLtMuW4bneFVFCTKyXWuLl0x++fZCK3VH?=
 =?us-ascii?Q?dWTHOYo+sUVdicM0hR4=3D?=
X-OriginatorOrg: Nvidia.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d39aeef7-5934-4f8a-f2af-08de028dc53b
X-MS-Exchange-CrossTenant-AuthSource: PH7PR12MB5757.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Oct 2025 15:01:45.8047
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: g0TXKo72/YfB9r4sK6u8PWq4YPz/tyK5yX6FiMluFDZPdeOp1RayNBE6DJQQfNYy
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB8099

On Sun, Sep 28, 2025 at 06:02:23PM +0300, Leon Romanovsky wrote:
> +ccio_map_phys(struct device *dev, phys_addr_t phys, size_t size,
> +	      enum dma_data_direction direction, unsigned long attrs)
>  {
> -	return ccio_map_single(dev, page_address(page) + offset, size,
> -			direction);
> +	if (attrs & DMA_ATTR_MMIO)
> +		return DMA_MAPPING_ERROR;
> +
> +	return ccio_map_single(dev, phys_to_virt(phys), size, direction);

This doesn't actually use the virt at all:

	offset = ((unsigned long) addr) & ~IOVP_MASK;
	if((size % L1_CACHE_BYTES) || ((unsigned long)addr % L1_CACHE_BYTES))
		ccio_io_pdir_entry(pdir_start, KERNEL_SPACE, (unsigned long)addr, hint);

And ccio_io_pdir_entry():
	pa = lpa(vba);

Is a special instruction that uses virt but AI tells me that special
LPA instruction is returning phys. Not sure if that is a different
value than virt_to_phys()..

IDK, I'm not feeling brave enough to drop the LPA but maybe include
this note in the commit message.

Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>

Jason


From xen-devel-bounces@lists.xenproject.org Fri Oct 03 15:16:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Oct 2025 15:16:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1136660.1473152 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4hW6-0003V4-Mp; Fri, 03 Oct 2025 15:16:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1136660.1473152; Fri, 03 Oct 2025 15:16:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4hW6-0003Ux-KE; Fri, 03 Oct 2025 15:16:18 +0000
Received: by outflank-mailman (input) for mailman id 1136660;
 Fri, 03 Oct 2025 15:16:17 +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 <SRS0=NctN=4M=nvidia.com=jgg@srs-se1.protection.inumbo.net>)
 id 1v4hW5-0003Ph-L7
 for xen-devel@lists.xenproject.org; Fri, 03 Oct 2025 15:16:17 +0000
Received: from SN4PR2101CU001.outbound.protection.outlook.com
 (mail-southcentralusazlp170120001.outbound.protection.outlook.com
 [2a01:111:f403:c10d::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e7a43cd4-a06b-11f0-9d14-b5c5bf9af7f9;
 Fri, 03 Oct 2025 17:16:16 +0200 (CEST)
Received: from PH7PR12MB5757.namprd12.prod.outlook.com (2603:10b6:510:1d0::13)
 by DS0PR12MB8767.namprd12.prod.outlook.com (2603:10b6:8:14f::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.16; Fri, 3 Oct
 2025 15:16:06 +0000
Received: from PH7PR12MB5757.namprd12.prod.outlook.com
 ([fe80::f012:300c:6bf4:7632]) by PH7PR12MB5757.namprd12.prod.outlook.com
 ([fe80::f012:300c:6bf4:7632%2]) with mapi id 15.20.9182.015; Fri, 3 Oct 2025
 15:16:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e7a43cd4-a06b-11f0-9d14-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=cItCAxl0GmRtEJVri6KK18BEXXrFclUcevyXwsUWlq93KsZ85Q9brWfbIVk1aKv5zV9VUs5ujXnNGnPRj5h2ykWMsdVTBwO0UnM6HaGZECgjVt3S9LFVMHFW2cef6tqzhaQHvYQaIBzJ6oc2BGMB3R5LvVvXA+9tzWiEyHS2LnV2IQzduPrB92IYW7gjDc3uBw6l/D2BBogz0lMpqzfkOsM0nJXmKqUtH1BVPrfzIJTNr21tuGN3LoZ/sjK9Eg4VPQbf6xIIelew71AOkqSKA8Nvxui3QcpOs/BrQnF8gmAFUjA09TBU9+7QVL2lu8SP2CwaGzFt8RtRVOspE5VBRg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OPYSWiN69FNJ6BCr9dJhfnrMQrdELm6tdxvTRfK+buQ=;
 b=J+4qhXGci9h5w50g0eALBhDajGGQ1BAEgZbycazVbKao0U0Bpw16/RvH7xAOwGefB8LPKUplQHDzhA9HqaKWYJubwzZWn9D0fCXZrysXB0nVh0AINJf+NAvhLgCEh+dnGvoXhMj98JqFS8qmUPLgE5sMdNc3/mtasGcd+5hPEZRdZ5J+VaOomRUZsZiOnjPdj1lnlfz80SxwkYWxNHWragHoOfJhiExVh44NExx/f8OENPkofYXSkv4jT+OuZed/wkC+4F/zhe0RgAGFIqE6+Qk2SUK3IJpiiQGaCtvl7ajtAybI2JtKmrz/hYR1lJ8jkv382B2WTioJqMpfzuY6mw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com;
 dkim=pass header.d=nvidia.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;
 s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OPYSWiN69FNJ6BCr9dJhfnrMQrdELm6tdxvTRfK+buQ=;
 b=iNHdl4crpGGbJjFPjtUWePQ3Z8pFRJfXxD4aDeXYwYLR9oxw2ex5Al1rT3gItAGSHclaAO12Ql7QS9SB970w2pZZDUKhvYso9j7jKL48RUgdTPGhPlk7l5zHKE19z8SVLVyKR+7SOMrayNVcDS2sRHjD59L4D9OprFuXurfW3P6wkvAcK9sy5OcTnnEKYmct50JOYCTepbE74+o7CetRPz7r3wphfDSAxcw1hgGe2futUuNRQHZmdhJJPbOsoo+BJtesSk3U8J8+csiz0zhiIXxiFnbIX8wM43remBgbDS7CFfGHOUzYbjVzDdYPH8xCZcBAafMcapcYwZ2bW82ouA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=nvidia.com;
Date: Fri, 3 Oct 2025 12:16:03 -0300
From: Jason Gunthorpe <jgg@nvidia.com>
To: Leon Romanovsky <leon@kernel.org>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>,
	Leon Romanovsky <leonro@nvidia.com>,
	Andreas Larsson <andreas@gaisler.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"David S. Miller" <davem@davemloft.net>,
	Geoff Levand <geoff@infradead.org>, Helge Deller <deller@gmx.de>,
	Ingo Molnar <mingo@redhat.com>, iommu@lists.linux.dev,
	"James E.J. Bottomley" <James.Bottomley@hansenpartnership.com>,
	Jason Wang <jasowang@redhat.com>, Juergen Gross <jgross@suse.com>,
	linux-alpha@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Matt Turner <mattst88@gmail.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	sparclinux@vger.kernel.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Thomas Gleixner <tglx@linutronix.de>,
	virtualization@lists.linux.dev, x86@kernel.org,
	xen-devel@lists.xenproject.org, Magnus Lindholm <linmag7@gmail.com>
Subject: Re: [PATCH v1 5/9] sparc64: Use physical address DMA mapping
Message-ID: <20251003151603.GD3360665@nvidia.com>
References: <cover.1759071169.git.leon@kernel.org>
 <bac909dab3c82fc6a7a4f5a31f22bac9a69f7f07.1759071169.git.leon@kernel.org>
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <bac909dab3c82fc6a7a4f5a31f22bac9a69f7f07.1759071169.git.leon@kernel.org>
X-ClientProxiedBy: BN8PR07CA0007.namprd07.prod.outlook.com
 (2603:10b6:408:ac::20) To PH7PR12MB5757.namprd12.prod.outlook.com
 (2603:10b6:510:1d0::13)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH7PR12MB5757:EE_|DS0PR12MB8767:EE_
X-MS-Office365-Filtering-Correlation-Id: 84162fe3-4517-4f78-89c8-08de028fc5e9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|7416014|376014|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?LFUScImPXIVHU/v6lTo6N7NsFa6Q/zqblbfn6dWppF6za9YdQ9sACsvGsJRQ?=
 =?us-ascii?Q?PqvbaanWEl92sQix4wHUDE18g0z2bpvaI8EssLNPzlbzGcwrgl/JXFb4VjBR?=
 =?us-ascii?Q?/p4mk17zCEvNe89vgrAr+UgtLop2Xz4uH2gJH152+suGZ4FXusZh52fXZxjV?=
 =?us-ascii?Q?O5EzNb2c8oWL8dRAxIBiRGCKI4KFYtl30HsEBxKiTyeztii71C4XIqqCWIns?=
 =?us-ascii?Q?rA3oLdHbTEh+6wr9Ymo5/F5RKMrtmjoURF0jVPhQDaME9RkMslGMBCJNJDOb?=
 =?us-ascii?Q?HH5H48NyuqWTOfljincrxLJDyn4u2Rc0DByU7C8qLVCOJ+JK7fxvmjhHvGck?=
 =?us-ascii?Q?OqSHkGiHXlCj2IJ0UPJRzQG9zt0YrC9lAof+RDzQogw8dSUFySD3HKrAoOtR?=
 =?us-ascii?Q?0zbPq8xaj8VUECESFT2HPRjCi1g6e5gAUigTJhQH+Q496wP2mxT7qdZdjShH?=
 =?us-ascii?Q?QTVc1QnNSYzya4aRaghNk/CEtUYLBwP9mc368dLCxWll3kNQxeWdbi5bovdV?=
 =?us-ascii?Q?mB7rJXiDbgXHAOVHUq2WG1saoWiC9ACf7OzwTZQ0DoYvbbnuwxiJvXhaCPhe?=
 =?us-ascii?Q?GC7rcBgwj4811y1HAZIRcTlmoztyEq1OlyDC8jjHbz0yOr0NpwIiM/P4DrJs?=
 =?us-ascii?Q?/aIzZyIWwpaz599u4/mMybNRbV5cI0J+bY0rgbdF6JP2CBAXlFq7UAymxLrt?=
 =?us-ascii?Q?3nML5h1aju+W8B50n0iYuNXptlhgAJQlMM6z3xzcT58eRdEWLEv5cNUp9QuS?=
 =?us-ascii?Q?z0m0Bx7brXRWD/EyoouNDJ3v+Z++TP6XZma64J5iIZOsA7pN/ywiZUMQh0ya?=
 =?us-ascii?Q?O2LIvMuglB+RmIJuOBus1SpjtuLA5+iypo245P1fH0r87a0T6av1nMI0bZew?=
 =?us-ascii?Q?wdSx3icoq8sEUn6NDpT3gh9KgyD36hDRNLnYRpbs00vUptpTd+UZB5EaRotm?=
 =?us-ascii?Q?sKHwjjeZQ0ckAarCeafptdFFv4pwUBCxe+ZK6TbZdqbv3nSAPTaHz9ZXDefT?=
 =?us-ascii?Q?HrqgoZZi404H4Q2LpuEv5UuxM4bCEwiYJv1yFAeCW9wBoR/vSgX+2Eo4t0DF?=
 =?us-ascii?Q?CJvDPi8LqUq2YJvJvTAS90SjHQZAxSixAydpLlmitUmH32elTVuBRFN1FTKH?=
 =?us-ascii?Q?LoaAwJa6Aa6UeKH4SMdy2dAtQxxoIGdY94fcKjJYq5KHglqP1SrypjEFT265?=
 =?us-ascii?Q?sto9kiDK+RcPCoTnS4a+MT+rVBzBKIPfQvWvo0572fRDQmuVnOHrTEbhL8XZ?=
 =?us-ascii?Q?AQchsoBv9+b4/+rpYvPLbbUTGsOhWPpmsbAFuz5zCXDD/HPstDjXCOws2Ix4?=
 =?us-ascii?Q?A8n18/3nKp3BcSWK9wkUqhvp6mD5V/mQPJTvOAQ4qM4GDaDyvbKurtG1r3o8?=
 =?us-ascii?Q?mqsH/XDxgDZqD3Xbie2nhhsHDukhlYWqZoMmwrnlEYcS7vz/6fdG3qfnwbnx?=
 =?us-ascii?Q?eCh9YqD76lVaPdMXM5eRyIIVtDZo9mbM?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH7PR12MB5757.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(7416014)(376014)(1800799024);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?LxB/1ik1cDSHM+fAbzIm29ewYGBxWCvOPcVONIEbKu3KLV0cClgHYtNeGOFp?=
 =?us-ascii?Q?CGxO0WliF6UvQo4mjREOvoEDOTqDeVtN7pT+t3UjUbWg2RGT8PekgnE1YTht?=
 =?us-ascii?Q?c98drg4c78HQf+HqAiY29RuI9CxNPRcn3EJ+SGrnCv/We3f6gwFqn53YiNNQ?=
 =?us-ascii?Q?Je7IOXwAwA7qhzKMx6DPqO070gRLrk7rdzLyfOtxaQ/B9sH/5ke5DqIogcO9?=
 =?us-ascii?Q?cBGpcAWcnBtEqYK5CJfKVRyaNUQ8sqDKkOZbs3A8e+f+KPiKRbag8/jjN0Vk?=
 =?us-ascii?Q?a7p8wZE4QyhKgFD1xTqG5d+PSUaYz4ZGIXJKMpowPsOEJY9tagdYOEq99Qr9?=
 =?us-ascii?Q?hld2CgWGZux3FNZUVQ5tktbDROdbRd+3VLtRyM0if8VKQk981+x5pQcI7eXJ?=
 =?us-ascii?Q?0sHwJiv2WeXRdofxgEivcl4y4AAeqQKJ/mJO+wMIWDTNZLG+s/X+bdAVs/VL?=
 =?us-ascii?Q?6p8eBWjRk4ACAR/AWHlDIT/aZAq8sz1vwuH3MtiVE3zdrDCKH56AbJXoAbxF?=
 =?us-ascii?Q?9sbcSmQCiqWi3yXqe6qLTYRXxTFZL+F7cvnkPkfCzeeB/XED8LIlGu3acwmB?=
 =?us-ascii?Q?pAoT+2LEy5q+G5iJJ7g690/Lu8WM6TnMT9lD0jwqd2feYeS9If0KY0TcxIC2?=
 =?us-ascii?Q?lZAeRLKaJzaxZB+uIcWjAVfdZcIjsSL+AdDEL4+RWumKUau3a3koqfpL15xs?=
 =?us-ascii?Q?10Kx/MMhPTJ2onthr+qgjst/xc75KEqcppD5DxitQfAOBEngpELaMwENslnY?=
 =?us-ascii?Q?nbKZsyeNhXD4B2Npntm+XgPxqzerRQFTAquPEW/jg8/JRa2+hQfAOptx6bAy?=
 =?us-ascii?Q?4RTgCha7TTNd7TlKCuVaU0881JT86zDwvown4byzA8ZFPX+djgDxFHkR7bpd?=
 =?us-ascii?Q?ngR3V3Ny7HdwuJf+ayEpeHpqkwRxRI6J6YADgvhYY0RF37w0DYTbSEjPYsdj?=
 =?us-ascii?Q?s1vpdofr2r1X32/zlCTbdtDyqCtK5y88VGZgI/4cD6f8vSxJDIC+R5FdSxsF?=
 =?us-ascii?Q?9+EcTMQSDOuPsovP4aIMetWkZsgqRGsMLxFCGU4g8tiUHIssWlP+t/Yy74bt?=
 =?us-ascii?Q?/5mcr6bi5v4JAt1d+uWzPEyxSb7FsI7J8brixsHq0fZaxThE40T+2GYc8Bty?=
 =?us-ascii?Q?IwjzYNiQ7AYdDC0EwQHJX+ZyOm9kDXPfvCrNIfMw4R9F0uwIGNjNnIKW4VOI?=
 =?us-ascii?Q?VPRPHAe59sL12wQvWp7TRi3gx5A+zADcx8v/yORlQUlK7ukSSl3gOQ7Jxr/4?=
 =?us-ascii?Q?CJg4qbsZeI1ZtjxTIGKkY7ADDKjdYQMZl9Ykghu+CUzoPLz1msdjR/xdiD1E?=
 =?us-ascii?Q?9cwAnhk1NQ6PiHoTXK4jUo9LrLz0FsxsgdcvTRPMGf06AVKkxMf3jxzJXkMH?=
 =?us-ascii?Q?4DYtvHrMnnkjEDJ0ZfOiMPStY/qtrYosgW5JpGHys2fngpkWKn5zoBuqyxgk?=
 =?us-ascii?Q?CcCoDisbDRjY0jrz7CV6oIBDCiLun6dRIopNJs9lcQCssg9v+Fp3+sSFcCBn?=
 =?us-ascii?Q?dbpCqnwZew1HSZ2wrNryDfV71GxYluSYMXDPARbhpl8ebjmSWZQkFOpqtLbu?=
 =?us-ascii?Q?cs9CNWjuYKfsIQ56pBc=3D?=
X-OriginatorOrg: Nvidia.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 84162fe3-4517-4f78-89c8-08de028fc5e9
X-MS-Exchange-CrossTenant-AuthSource: PH7PR12MB5757.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Oct 2025 15:16:05.9163
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: CxUw7IkT9hD+DVbAJ3aHs+AcxnWd5OgF081XDgB36nRH+2INmQVAxkk9ig2WraGS
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB8767

On Sun, Sep 28, 2025 at 06:02:25PM +0300, Leon Romanovsky wrote:
> @@ -273,13 +272,16 @@ static dma_addr_t dma_4u_map_page(struct device *dev, struct page *page,
>  	u32 bus_addr, ret;
>  	unsigned long iopte_protection;
>  
> +	if (attrs & DMA_ATTR_MMIO)
> +		goto bad_no_ctx;
> +
>  	iommu = dev->archdata.iommu;
>  	strbuf = dev->archdata.stc;
>  
>  	if (unlikely(direction == DMA_NONE))
>  		goto bad_no_ctx;
>  
> -	oaddr = (unsigned long)(page_address(page) + offset);
> +	oaddr = (unsigned long)(phys_to_virt(phys));
>  	npages = IO_PAGE_ALIGN(oaddr + sz) - (oaddr & IO_PAGE_MASK);
>  	npages >>= IO_PAGE_SHIFT;

This should be cleaned up some more:

	oaddr = (unsigned long)(page_address(page) + offset);
	ret = bus_addr | (oaddr & ~IO_PAGE_MASK);

	base_paddr = __pa(oaddr & IO_PAGE_MASK);

Makes no sense to phys_to_virt() then __pa() on that result. Drop oaddr.

Then I would copy and paste the comment from mips about DMA_ATTR_MMIO
> @@ -367,13 +366,16 @@ static dma_addr_t dma_4v_map_page(struct device *dev, struct page *page,
>  	dma_addr_t bus_addr, ret;
>  	long entry;
>  
> +	if (attrs & DMA_ATTR_MMIO)
> +		goto bad;
> +
>  	iommu = dev->archdata.iommu;
>  	atu = iommu->atu;
>  
>  	if (unlikely(direction == DMA_NONE))
>  		goto bad;
>  
> -	oaddr = (unsigned long)(page_address(page) + offset);
> +	oaddr = (unsigned long)(phys_to_virt(phys));
>  	npages = IO_PAGE_ALIGN(oaddr + sz) - (oaddr & IO_PAGE_MASK);
>  	npages >>= IO_PAGE_SHIFT;

Same remarks here

> +static dma_addr_t iounit_map_phys(struct device *dev, phys_addr_t phys,
> +		size_t len, enum dma_data_direction dir, unsigned long attrs)
>  {
> -	void *vaddr = page_address(page) + offset;
> +	void *vaddr = phys_to_virt(phys);
>  	struct iounit_struct *iounit = dev->archdata.iommu;
>  	unsigned long ret, flags;

iounit_get_area() does not seem to need vaddr:

        npages = ((vaddr & ~PAGE_MASK) + size + (PAGE_SIZE-1)) >> PAGE_SHIFT;

~PAGE_MASK is page_offset()

	iopte = MKIOPTE(__pa(vaddr & PAGE_MASK));

__pa(phys_to_virt(pa)) again:
  iopte = MKIOPTE(PAGE_ALIGN(pa));

	vaddr = IOUNIT_DMA_BASE + (scan << PAGE_SHIFT) + (vaddr & ~PAGE_MASK);

page_offset, then it replaces vaddr.

So I'd tidy this too.

> @@ -202,10 +204,10 @@ static dma_addr_t __sbus_iommu_map_page(struct device *dev, struct page *page,
>	 * We expect unmapped highmem pages to be not in the cache.
>  	 * XXX Is this a good assumption?
>  	 * XXX What if someone else unmaps it here and races us?
>  	 */

At least ARM32 has code that seems to say these assumptions are not
always true.. Oh well.

Jason


From xen-devel-bounces@lists.xenproject.org Fri Oct 03 15:16:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Oct 2025 15:16:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1136667.1473161 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4hWj-000404-UX; Fri, 03 Oct 2025 15:16:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1136667.1473161; Fri, 03 Oct 2025 15:16:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4hWj-0003zx-Ro; Fri, 03 Oct 2025 15:16:57 +0000
Received: by outflank-mailman (input) for mailman id 1136667;
 Fri, 03 Oct 2025 15:16:56 +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 <SRS0=NctN=4M=nvidia.com=jgg@srs-se1.protection.inumbo.net>)
 id 1v4hWi-0003zk-UQ
 for xen-devel@lists.xenproject.org; Fri, 03 Oct 2025 15:16:56 +0000
Received: from CH5PR02CU005.outbound.protection.outlook.com
 (mail-northcentralusazlp170120005.outbound.protection.outlook.com
 [2a01:111:f403:c105::5])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fe5497f8-a06b-11f0-9809-7dc792cee155;
 Fri, 03 Oct 2025 17:16:54 +0200 (CEST)
Received: from PH7PR12MB5757.namprd12.prod.outlook.com (2603:10b6:510:1d0::13)
 by PH7PR12MB5783.namprd12.prod.outlook.com (2603:10b6:510:1d2::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9160.10; Fri, 3 Oct
 2025 15:16:49 +0000
Received: from PH7PR12MB5757.namprd12.prod.outlook.com
 ([fe80::f012:300c:6bf4:7632]) by PH7PR12MB5757.namprd12.prod.outlook.com
 ([fe80::f012:300c:6bf4:7632%2]) with mapi id 15.20.9182.015; Fri, 3 Oct 2025
 15:16:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fe5497f8-a06b-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=c8yceTHtKyP1dFcSHKuk6VCSadJpOr3klqw9vXCdd6WvzPy6/znRvFH3bpHJMOtB8y6D1iEVO+cA/BWY/Svt1eREtvUAORIrVVxEYqxp+DEnQ3gCZWo3NMhQggFdxKwuJ97Z/SfK80B/cQOJU/Z/E+IccXw/b9E9pDFBCyUL0XrTyzeFnjHmfEwNviS3I1vcePIbkC6ZK7sWg/GwYCgFzZTgel4RHnX991mnOO6sX3HjhADt7A8jll4eXLFCvbuOoADzXsG/jF4YpWUxvFhxxBxwjEHoebALBUdPpHplllMjvbZm8Y2RU7hXWw5eAylfJNSeuq9ccsosPpxhv8pdKQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GDJxKoxhLV4aah00yEHkNFBw3RhiY0+y3Zm+8MVNi4M=;
 b=nHKS16Ym6U8yZs+EogJpIJDWEzAViJ8oDw3EuNYUruJfJ+C0UjY4vToQEYOKqmQpz6jczfaMidMF33/YGInEH6ZqXTon8kNyFDH+i/kqADY9ekGqKEsz4/vpIfDWinqDfv1Yue3zaldgAtxGLP75AnJMQXQPCvJJY8EOQKAK892LFANDYR3bHAgOWxAbUk94UmgXzpcL8WerhRr7lDurjcUzTZ2iIlIPy8S3AofJ/Bw8oDYgRxwTMR3k/UQ3bpwAB6JqPQf9oe+de6fYJ892Vp22jqDu98JEJWKDjNbeHE5kmfrnT7Y8k/HfHfBGmu41qCUEXGGwCLTYtmEbtaUkFA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com;
 dkim=pass header.d=nvidia.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;
 s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GDJxKoxhLV4aah00yEHkNFBw3RhiY0+y3Zm+8MVNi4M=;
 b=RbWR6xe0APi3lFOHQMulQrSl68fRpptSogVOWoEilWXkkGt+SBw9DxiUveTSMu6drNFmLB3o1/OfCTxAADtiiFCm8CY3n7+qCjH05wKjWfCNi0fHUulayWGHbMNE+nAC1FPlumRPuLZztPrmJoE1K9zyoTxyyslt+MQBOWCKxSa9OuYs4EPcnRTb61NhkzEgWXngwRVjDfiplyC7yXor1qDC+PexuKaVHGo76NbznPKyHagt4RLWamwxNR0wZJKDGetfUwApFiICGN4VrQfdJeojq+TCHB7UA4KvXSS9tzHbswewTG7yBrvkobkW1aES2lSBoaN7Cgx0v2WtfcFqBg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=nvidia.com;
Date: Fri, 3 Oct 2025 12:16:48 -0300
From: Jason Gunthorpe <jgg@nvidia.com>
To: Leon Romanovsky <leon@kernel.org>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>,
	Leon Romanovsky <leonro@nvidia.com>,
	Andreas Larsson <andreas@gaisler.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"David S. Miller" <davem@davemloft.net>,
	Geoff Levand <geoff@infradead.org>, Helge Deller <deller@gmx.de>,
	Ingo Molnar <mingo@redhat.com>, iommu@lists.linux.dev,
	"James E.J. Bottomley" <James.Bottomley@hansenpartnership.com>,
	Jason Wang <jasowang@redhat.com>, Juergen Gross <jgross@suse.com>,
	linux-alpha@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Matt Turner <mattst88@gmail.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	sparclinux@vger.kernel.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Thomas Gleixner <tglx@linutronix.de>,
	virtualization@lists.linux.dev, x86@kernel.org,
	xen-devel@lists.xenproject.org, Magnus Lindholm <linmag7@gmail.com>
Subject: Re: [PATCH v1 6/9] x86: Use physical address for DMA mapping
Message-ID: <20251003151648.GE3360665@nvidia.com>
References: <cover.1759071169.git.leon@kernel.org>
 <d3ce41b94c8facae446c67d85f731c031bb6ff35.1759071169.git.leon@kernel.org>
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <d3ce41b94c8facae446c67d85f731c031bb6ff35.1759071169.git.leon@kernel.org>
X-ClientProxiedBy: BN9P223CA0017.NAMP223.PROD.OUTLOOK.COM
 (2603:10b6:408:10b::22) To PH7PR12MB5757.namprd12.prod.outlook.com
 (2603:10b6:510:1d0::13)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH7PR12MB5757:EE_|PH7PR12MB5783:EE_
X-MS-Office365-Filtering-Correlation-Id: 2781f4d4-e408-446c-e467-08de028fdfdd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016|7416014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?RZTjW/Xpq2mAqdXl8DR0L6hQNHkzBkwaVzaeQdOBik9ge1JB1gaCjCJOT/76?=
 =?us-ascii?Q?Sk6kaOlO+8lCgj8OIZxBStioOeDjFJMbAjz+Wq+7mr+3SRMrQvchyKUW/CGK?=
 =?us-ascii?Q?HfzZTp5K8UdMpMS8hzd2l3s6mRGIv1dIRWytCvTmS+gTvhrJF4TNHiM1gBOi?=
 =?us-ascii?Q?GyL/EBOkF+jTuhInJDtonk55CCIiP+eHIV5HFnVtdIOSMX6SxSHrsYnF2OYq?=
 =?us-ascii?Q?v0NY9bqxr1owaNnX+2EVo4bRmqv1pmMn9KX48ViTmS0Ewzuy6ISdAJY8Rko4?=
 =?us-ascii?Q?llMVllZRP6v+ss25O0/uSs0BppzBZbuLXjzVj14sMAF1/V1baKxJd+GOGVtH?=
 =?us-ascii?Q?S5eDaKMdeKynP2hQwRGV3GvjTDJ8nfm8lJUwXhRsOv8fvQxt3MKUuPFO670Z?=
 =?us-ascii?Q?4r5wvV1oEHI5Jp5dxfQ3rxH4OBctHccwGrWBsUPrCQuP/mAEuZb5Bq91ABRp?=
 =?us-ascii?Q?6/2n135nUIVV+WT5PFVNStJJqEeLrK5FzuPTm2DNU4nPESZ5qTmIsA1F//Ef?=
 =?us-ascii?Q?7ly5LTJnwRuEIhbVlKHx6Yo//TIqwY1IJ0h6jv+LmXcEHLvBaGO/grg+VD4C?=
 =?us-ascii?Q?7LHoa62rdZJdi8L++o8ltesRQ2fI59KD5NbIUHkFhKMK8JnvraWZIqBZoy6+?=
 =?us-ascii?Q?8VLzK4iRhY/TPtHK2GjhqdyAyCk9tDS0IZ0b9AY6DPmdC5Tz50Cne3wl1Cq3?=
 =?us-ascii?Q?LorY5uK2hob207/VtNurnr/R68zPQm0iWsvltEMpN9ERfFXqYLsBG89MUBTb?=
 =?us-ascii?Q?28+88nrXAKXJZAYbWoNv+a9LevIM3X+w+MpTJmb09eWr4eQ/f28EEK9WeV7O?=
 =?us-ascii?Q?I8ygVP4VKdOyoslRRtDGZREhU6nbCvF08daSj/7nIAP0gxcnS2bgG/d5/RyP?=
 =?us-ascii?Q?1T31jXmoTHZdwn1TwAzrdZu0/irbbB03afjmE8eo3yB4tzPO+TAWmnUz9G1G?=
 =?us-ascii?Q?3IkBbi1291DJkcX2FddFp18ztBw1hwUJ7aj55fWZwmIp1DTaKnlgsAjnTLi7?=
 =?us-ascii?Q?ieQ823eLn6bTQf72GA8wCuJd5Pp9yjxcGHhrm+wA3KjmMmDmWqH04zabrsGu?=
 =?us-ascii?Q?BRbxOwT0fGbrTnPkn2BN59kZLLovJlVqThaJJgo0IiK1dvHuv/K0Aq2XKorm?=
 =?us-ascii?Q?IIdRknX9uOaPRM1tdCpunoTn/r1qQJXa9bWCmkUrraz/jWpdPKao/nyZA30o?=
 =?us-ascii?Q?yIAZDMQennk3GNP5YjDXp4Rpt3A81ofoI9ycB7YvU0EFLALWooUiaMD6Vhk0?=
 =?us-ascii?Q?yELlM8qW0GbWHTJqyfSjOPcMn8oM5ghNqH1aNbSreWTKiZ98GcvaQC4q6CCf?=
 =?us-ascii?Q?i4QRl3A74vahicmqwyyIjdH+vVCGFqiXcpLIY7gEimk2sCwiiuyZvPsH/YqY?=
 =?us-ascii?Q?Ps063VQxv6Hd1onv+aVjbwujSiyin/3toTVYiaSDHPtJrRE5WNeorjKk8ziL?=
 =?us-ascii?Q?vv97yGFIa7SAHI5+6EYu2EsUX6tt7exF?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH7PR12MB5757.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(7416014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?eA8ckMl6/TcfwDYlbrlfMbgs+5FO7OWvWaUkaWzRcXmD481yR/gwfDVrgCDY?=
 =?us-ascii?Q?493/pfdxjMr+vgRzpaPuDgueVZP43jIrvnnCJHmZJ7XGe4Mdmj06D7oPEbGo?=
 =?us-ascii?Q?5YXGdlyxFJDaaWMu1/mqHDflWRTuEZbB/yr/OVpsktnZ9HB5yL12+p088I3D?=
 =?us-ascii?Q?kabc/kd4b62Bs/bD77FmuTn61O27/slut/0bXgAT2HxwLNM2vnUPdh0htJnc?=
 =?us-ascii?Q?zc/ZMkVbn0GuVeSYrwKYX4O/ahh3A9eFd515x5POqbRtnk4uFncW6DY/6KPB?=
 =?us-ascii?Q?XHJNaEvwmLJxDdMm5JTGk57ZRwhogxJetur7w/jrOHYDVJBmBsGNGi2Awc0M?=
 =?us-ascii?Q?23yTu/hKGuXbSAKyeyJbSBrkAbp3k/NET+xpD9LR4iIRpvXQKOMqsH3mj+Eh?=
 =?us-ascii?Q?hnU8aMoZUL0XdXrKxORMROILv+mhTnCp41LOJyccmGxVucAh5WJdqWEGXR0k?=
 =?us-ascii?Q?XnGNDRSAT27MAi7+L6xw3JytkHE/7rwq7yumRplXGDIb/ro4lNNfFmUOU4EN?=
 =?us-ascii?Q?ixSV58Hz4OSBQjQOfv4+oo7wliwdbaXTVFqv3TeBdqO7cGyv8Fdt1wLwi3YH?=
 =?us-ascii?Q?k5iUXASpTXX3fxfdWjFuzh8D9UGJPf38Vkb9fJpul4CchqD3Lpyd44ZXb17R?=
 =?us-ascii?Q?nK8z0ItijA9EZDHPTkOo2TceKNvg21xxlKd34IjoHNs2GCtNt2HOaJwZawiz?=
 =?us-ascii?Q?6t1BBq+9iR87lOdtV90dtkzu4F+M0XiRQ4qGEx5igMJSvOB1luRT21I1RgAP?=
 =?us-ascii?Q?Bjwh9kivi+sc/EpJWhNLbEUs780oE5VLfM5l4KlOTnMGm18yZyrAVhAoMIRL?=
 =?us-ascii?Q?FK/3kLB2Xex1rMK9hXWEAf4onafMZGJaTSEPPis7RSlexh8WCefVgxvMU6gL?=
 =?us-ascii?Q?xSRbzj1pPy71o6iDgRD33ZVLXT+XhVQGv/NLxJgKXWQUXWztb6+xCNM76oCw?=
 =?us-ascii?Q?kAK+a4lALYvGHYjz0BC/Wk4rq9/F77ehvo8nMt/D0dloECQYEbn8BA7hJa7c?=
 =?us-ascii?Q?KMhAV6gn+OXLaXXR4WSoJvWDcgRFeuwRTr3KzOt4JFD3THLsECuWs5mLnabM?=
 =?us-ascii?Q?z1O/D7djKsfNex8E/7VPVAjmARivNHMEvLties4v/dU/ADeTpjGw6o3HFdBQ?=
 =?us-ascii?Q?aq+0TIU9sBCcJokcN4P6+gyvx6e2kw/RhlskZ182RjJmm/8s7FA9GN1aY5rC?=
 =?us-ascii?Q?rx/GKgFczSoMnzYAuKsMg6dM6LFLHFJ6rBPX+qr0RP9SucSxMNhdfG4AP/Zc?=
 =?us-ascii?Q?edrSzSEQplLe0gSloLoOyh/nDVbpfMzEm4WQEvaDB5gwkE46aJMhv1UtjWvF?=
 =?us-ascii?Q?Z3vc/FI7F4/JUYKLQ8FFGmSYbQdKr8PFtbWvjpeB8xyAQNMOyxaOSCagDdRS?=
 =?us-ascii?Q?3kjrn9UEWqTePBPAJuxN1VXyEYg26mWHUy8lMir5+E5qgl7YgP6V0dMeKmIc?=
 =?us-ascii?Q?tpswTQn1fXjvOuqoxmI8JrLoPSdqFJE3h5NaawgdeRTo0257fVIe3kSNSiK7?=
 =?us-ascii?Q?rw0P5B9YW4gPIXjLXoRdOsl/DEJDEzhwcD3G93IfhD0wWjOC0I/MLcWAuZCe?=
 =?us-ascii?Q?17wKzKA9XjBtSwcdLWM=3D?=
X-OriginatorOrg: Nvidia.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2781f4d4-e408-446c-e467-08de028fdfdd
X-MS-Exchange-CrossTenant-AuthSource: PH7PR12MB5757.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Oct 2025 15:16:49.4041
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: dT37MwcogbXUaiUFjThBHf5bDoitlj4hr2FOApGNCumdx+lnXKqLXTG4hzW1K7/j
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB5783

On Sun, Sep 28, 2025 at 06:02:26PM +0300, Leon Romanovsky wrote:
> From: Leon Romanovsky <leonro@nvidia.com>
> 
> Perform mechanical conversion from DMA .map_page to .map_phys.
> 
> Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
> ---
>  arch/x86/kernel/amd_gart_64.c | 19 ++++++++++---------
>  1 file changed, 10 insertions(+), 9 deletions(-)

Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>

Jason


From xen-devel-bounces@lists.xenproject.org Fri Oct 03 15:58:57 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Oct 2025 15:58:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1136697.1473187 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4iBF-0001HC-8o; Fri, 03 Oct 2025 15:58:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1136697.1473187; Fri, 03 Oct 2025 15:58:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4iBF-0001H5-6C; Fri, 03 Oct 2025 15:58:49 +0000
Received: by outflank-mailman (input) for mailman id 1136697;
 Fri, 03 Oct 2025 15:58:48 +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 <SRS0=NctN=4M=nvidia.com=jgg@srs-se1.protection.inumbo.net>)
 id 1v4iBE-0001Gz-3F
 for xen-devel@lists.xenproject.org; Fri, 03 Oct 2025 15:58:48 +0000
Received: from CH4PR04CU002.outbound.protection.outlook.com
 (mail-northcentralusazlp170130007.outbound.protection.outlook.com
 [2a01:111:f403:c105::7])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d703597d-a071-11f0-9809-7dc792cee155;
 Fri, 03 Oct 2025 17:58:45 +0200 (CEST)
Received: from PH7PR12MB5757.namprd12.prod.outlook.com (2603:10b6:510:1d0::13)
 by DS4PR12MB9585.namprd12.prod.outlook.com (2603:10b6:8:27e::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9160.18; Fri, 3 Oct
 2025 15:58:39 +0000
Received: from PH7PR12MB5757.namprd12.prod.outlook.com
 ([fe80::f012:300c:6bf4:7632]) by PH7PR12MB5757.namprd12.prod.outlook.com
 ([fe80::f012:300c:6bf4:7632%2]) with mapi id 15.20.9182.015; Fri, 3 Oct 2025
 15:58:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d703597d-a071-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=cP1URiFtXZIISjd7kF2q1WG3Fd7MdtDI3QqEeaadd7ZrSJ0yzdha5OlvokQ9lG3RlHltyIubMxsgMGzECEX1SfY2AtMXTROQf2ivrAgPBYm9458ClB/wZoDVhq5LGLSuBsBZJ8QlulUu737wY90YbCE6hAyjueQELH6sZmAp6Z33GldJA0HV1Z7F8ZJr2fZDHHxYuBTTQMcM3o5E7DzlBQOUV07RhJAiuQ3AfqMHQyJDxPA+6H/Hr1fFLluMpBbKqAOjjIumXByStMGfRx+YU9G5MIY7wBF5BzF5IfnwTlctXA2VHDVj1fSl1fEq6D9uLcNa0/C1ZurOu8bDXeJp7w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kEjxMeKFTOXOc/EF+wAfGaWqUoQMKZgJA18WsCmIX/A=;
 b=tN0EPj6jSVDFZmznsiwM4bKInUiDCrdnFfBor26oVht4PwKPGS9PSz3ICvgeJgtK12joeoKGDYhJqdCoymbFlwytbVucHJtUoEMbZiOSLYCVSnhL6OpEsfiKhIZLLJu7kwAvh3T/5l+RdVIzKBghBv5z2Q/i9WovwTfOTmLv09CvqL2a6YSCtO7ZrvTVF7UUiRMlVsQl5wVm1XFA8czS3VlQho/fHKGRNlmUk9I6YhCs/G3M91B4mhpTYn3W3H6tWDCakvch2YUJWpu5Q9C3bizFO9rYo6u4e0Lk09ug85EQWviNn0Ha8FXHpu49f9LB+vMgE2nRHty9Bm/j+cj67w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com;
 dkim=pass header.d=nvidia.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;
 s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kEjxMeKFTOXOc/EF+wAfGaWqUoQMKZgJA18WsCmIX/A=;
 b=tQRh2o0TfWLkocJAlrKcZQGi7JLWFdP/GrFxSkhYjW9XBqsSkF7gaAjU5w4wugevmnpLz1awLL3KAQFkgt+RQg22RZeAQBdk8S9Wq+BvOo4NQ7ramlNCdH/KwJU2ALplEOpsy5o67M+Ou6XEOWoFCVgRwGPSa8RTUuDDKkz3ZEfARUcq7PiPj7ShFE04PmOujCfuJDBA8plnvB1hPa7p7vGVBy3ZtCTLZuzcs9FtysaBIoP1lrxIuG03hOjHs4ljyy2NJXCJ1iVh8HKLrdmnUkOJfMrEjcdfAp6yTDiQ48TkMQoBGQPvINMdnMGVO+Z+5sE55WLwodgVMcBRP+4FBg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=nvidia.com;
Date: Fri, 3 Oct 2025 12:58:37 -0300
From: Jason Gunthorpe <jgg@nvidia.com>
To: Leon Romanovsky <leon@kernel.org>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>,
	Leon Romanovsky <leonro@nvidia.com>,
	Andreas Larsson <andreas@gaisler.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"David S. Miller" <davem@davemloft.net>,
	Geoff Levand <geoff@infradead.org>, Helge Deller <deller@gmx.de>,
	Ingo Molnar <mingo@redhat.com>, iommu@lists.linux.dev,
	"James E.J. Bottomley" <James.Bottomley@hansenpartnership.com>,
	Jason Wang <jasowang@redhat.com>, Juergen Gross <jgross@suse.com>,
	linux-alpha@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Matt Turner <mattst88@gmail.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	sparclinux@vger.kernel.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Thomas Gleixner <tglx@linutronix.de>,
	virtualization@lists.linux.dev, x86@kernel.org,
	xen-devel@lists.xenproject.org, Magnus Lindholm <linmag7@gmail.com>
Subject: Re: [PATCH v1 7/9] vdpa: Convert to physical address DMA mapping
Message-ID: <20251003155837.GF3360665@nvidia.com>
References: <cover.1759071169.git.leon@kernel.org>
 <fafaec3eb3830aa726b86ac7b145763c8be25a8a.1759071169.git.leon@kernel.org>
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <fafaec3eb3830aa726b86ac7b145763c8be25a8a.1759071169.git.leon@kernel.org>
X-ClientProxiedBy: MN2PR06CA0019.namprd06.prod.outlook.com
 (2603:10b6:208:23d::24) To PH7PR12MB5757.namprd12.prod.outlook.com
 (2603:10b6:510:1d0::13)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH7PR12MB5757:EE_|DS4PR12MB9585:EE_
X-MS-Office365-Filtering-Correlation-Id: eb2c6507-e867-48d5-c797-08de0295b805
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|7416014|376014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?NImKvexlca9Tl68Nd5mJYW5N12yeCeMvyu+pkiTLQzwlxPnfvtF41tJVIUyI?=
 =?us-ascii?Q?IVBp7oFPq5JBK390bW5Iwh/D59pQBncwsYHS8xQzuTP6oBZr4b1UmLxYNO7y?=
 =?us-ascii?Q?tDABN94tiwDLqQVweFmTrUIzeCjT4GCvzzXHodytI4oPz4KDZNl2ObrvaKzq?=
 =?us-ascii?Q?wf2vJaNqtDLb0tkC6P0CqGlyayRT5hKaKiPnYR+dHFOm4vQgZyGR8ivZju+k?=
 =?us-ascii?Q?nbWW51jfCEuuaqDwff95mn1hRYROAuNIWyc2upPHewAjzclr9jt1Lt2heeZs?=
 =?us-ascii?Q?avw4rFRCP6x8MaIb6e23WirXX6b2+tr/vHZPZmTXvL5LDhUcfchjLLBN1uMl?=
 =?us-ascii?Q?76ppRcAaPINpkK2rytz9LcJhp9tJyn03jJ24URmmK5SzvHTGLPz8XNRZfzuI?=
 =?us-ascii?Q?P9N3M01lnXLPnAl3arUAPCPvCIacX5V53jqc7FKXwrQ6yuC+jy5RqnBuSEP2?=
 =?us-ascii?Q?zVHvzgpHDg+K9B9CHqipRSCYrFC+sWN9Rr/af4ONDygyOihi8tRQXFYEbOWF?=
 =?us-ascii?Q?1jSSGQeQVq1QrHfz3wTd3xQwva6Yc66RC3OAo9j6g4tFJPoWvQqLDB2yw4oI?=
 =?us-ascii?Q?9gCMaLlHT/rKR/B8j+EDfWZM4H9ewoVZEmEPm9NilqgxY7A8KdF22kKuJ2eB?=
 =?us-ascii?Q?mg7aX87HepaEFkA1g9rkUjKCcLMDs2wA1UurqIkaDgeHlxNOD2n+NMsMggyz?=
 =?us-ascii?Q?q9qhrR76eQRpngFmTm/yrdj1v3qmxjGSoAQ7Bp0MJn931OoUlOY8+qA16zht?=
 =?us-ascii?Q?gZa9v575kc5FLNjwOmWKLsSV8m3yymkrABGNShz3GozLsw3AKyR60uJnNCFF?=
 =?us-ascii?Q?KCPHwgWlpBgiaF+kST6VpIulYw2ZS8ZiqiI8gk9bMVpMXeK92g7enjnoX6gU?=
 =?us-ascii?Q?KrlVWtlobhml4skIAH7v9h01o4gfXHNxlbfW9hDXOxVbGRWUuEKqKvdIML3j?=
 =?us-ascii?Q?pqGrsrg8zF5FFmXefZq6FQP5XRq9UZDpZO8FvLFxbmrBGSahLXIxIYVPKQaQ?=
 =?us-ascii?Q?oDwXhcMjfiY10Ff/lr4ZZgUNT1ViAmXVhvtDfqDthIWttsBKAPpn/JTaGmg+?=
 =?us-ascii?Q?xg/GZBmMpV04s+qWvQBACIbBkurdQ6XSw3g5ospcmHnUHz8KwHtDizSHZImX?=
 =?us-ascii?Q?EtP9JG2l9z+WDaio9DsAQKZ7txRZ/MyLUVp8oXg5Jr1lEkdJVQFIyotfHPsV?=
 =?us-ascii?Q?7OUprL/y8Z80pUUckCjMk6STAwX9/J8/2TfprLQsg5wuTF5nQ6VG42l4SX44?=
 =?us-ascii?Q?IDIKfPCBTVkXh74p4bZaTyOB09rGTmDlk8XD1Lv35acbWRtz29M9galUqKmx?=
 =?us-ascii?Q?89o1U6gaCDK/nJz5kEQ7+AYdsWuzpBZDF0bxxCWjyiKsVkDKJ+g0qZfooAiA?=
 =?us-ascii?Q?Ai5SM7gpDFbTVOu2LKP/XMJ1VR9UWf17x6+Nt17vfp6U8/2yN0y2aBfGWcv1?=
 =?us-ascii?Q?JmIE7Cuqvp1h/tO+VOby84rVNweEVKfB?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH7PR12MB5757.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(7416014)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?FMt7hJqYmoVNLyXENrqR/DOuf4iDPs52+IqacU6CYAa5+i0ooh015R9K7EU+?=
 =?us-ascii?Q?dPRs2dcBm8KJmEfMDW6a2zEQqVbhog92Fv1vbf6KqY5q9gm7ilJa79Y8yz8E?=
 =?us-ascii?Q?Po4Mw5bIljBCNchHiPduvCunhMoyi82mDrlINoDY1Cs3v+4lvPFtn0u1QF12?=
 =?us-ascii?Q?snR5OtfaKj8Opq8veFO4UL1E6sO0kXTUJGaOVn6a5u/NQU1Bco0fOLCa6KQG?=
 =?us-ascii?Q?PUp6RsChHl39rkvBxJrZF/qtTquYUcwgWhQmy7y7XmMZaHnK8XzCrpgAl2/a?=
 =?us-ascii?Q?Bio6vKyna7jUXtiEH7bToTy0c6boapCjURTwB+qbNKqg65EGchK0q8L5m3O1?=
 =?us-ascii?Q?eJq02ZlPR2W0L00c9obI77O8xQi+PHZq2+ldtUVY6J2y39QOvwfwxyvsZqxd?=
 =?us-ascii?Q?D7j9gcb7021XuYqtF1D7MmAyP/Od3Sp67zYy7QngLR4u7u5LPPQ9tofpYJ+W?=
 =?us-ascii?Q?6GoWUOWp559x7beQc8dqP3eSE4I532Rd1l7D0NZ82P4ztZ1AgC6+/Vc0CTWg?=
 =?us-ascii?Q?VN1U/gkpM2oD70VjuhgGH/Qog2JMUL0KM7GqV4ZA1cRdE5jZf0heh9942xbQ?=
 =?us-ascii?Q?nT926LYk+Btkg4+Oyl3j9T4/Ko3W+oo4TiWx8ywJTbnhJ1vGBhIdYSmcLC+z?=
 =?us-ascii?Q?v34SqzxdgP0BSpZjk2ReMSrdfDYgiQruuOxGOb/enl/3tjEbpzQLekU0v3yQ?=
 =?us-ascii?Q?Dqco4atGNIK10qSF4HbBbVqYunmtThdN7UTIvdqnoR0xMVCbF3lGPy1sIWaZ?=
 =?us-ascii?Q?tQ4cC6fd8h6qgI+ce3nGfOrGUha3LvCqGC69lyzXmm8tJpt/NA+1ZC5WGO25?=
 =?us-ascii?Q?FaSzIiii+PMNb73uH1lIfypOhLqqilbHhkvuIRJaOYbugMaPUPPkXwkUtF1K?=
 =?us-ascii?Q?lfHNQHnTMdHiFPRdo4OYGsJdN6XPG7mV6CT2v2m+yX5QwtbWQ+KjPj0LCe84?=
 =?us-ascii?Q?QEgQgKncFE5euHphcjK2ZKRoktyXxbDEJBf+ddjVGR41EqYPjaCfi/GNeF4G?=
 =?us-ascii?Q?aoZNi+7qSnJjmEvl6rnaN23kmrz3aTcLMmt9PYJFHRpLQ1LkS+C4Ld+RGNaT?=
 =?us-ascii?Q?agIBxNtSLFprZ0z56uPHQ+DNFf4YWxTdTu38rYxR10gAD8S3sQHPTNPEufXA?=
 =?us-ascii?Q?FKQLWvKjbe9eozmeeTpwGqRmg+nq0u282GcdcopUZADAEfCuojmz9CSPFcqY?=
 =?us-ascii?Q?QWNui7Qhio30c0ISuRZY7DXjxkxrgSixEHGpymK+JNNBWJda27zqRr6XYlFN?=
 =?us-ascii?Q?2pQZMgpRi4LQ1d1WaTStoBP2T3nulON2jTBoB2Fpm/YbZ2uT84gu/kmcpmw3?=
 =?us-ascii?Q?pMUyKDtnghq6zJJRYjOiE6ITglb5np2FDD6XuFnMnNI016fQ5nYfRnS/ZP0N?=
 =?us-ascii?Q?1A/hmE8aTlsNdjyApZFLNA3gFH/CoPIOxWP4Vsu1elijTp0pAROtvylu4dFJ?=
 =?us-ascii?Q?qdNaipLTYqgaNNl08c+DkB3/HSL5Tci6m8QFNSrdY943jK9nQjEsrMmlYP4U?=
 =?us-ascii?Q?KL6RCPBe1exapwBhEh9Gsx1O6STL8H/K3+igZdwMyO6oZ3qqMH9f8UPYZmZK?=
 =?us-ascii?Q?iNlSii0HIs7wKl/OU6w=3D?=
X-OriginatorOrg: Nvidia.com
X-MS-Exchange-CrossTenant-Network-Message-Id: eb2c6507-e867-48d5-c797-08de0295b805
X-MS-Exchange-CrossTenant-AuthSource: PH7PR12MB5757.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Oct 2025 15:58:39.5822
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Kw704Lby03+lcXU7De56vytxXA/PSUKALMu9a6yDcBOwfprjgLuuuqjHwqlOawNy
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS4PR12MB9585

On Sun, Sep 28, 2025 at 06:02:27PM +0300, Leon Romanovsky wrote:
> From: Leon Romanovsky <leonro@nvidia.com>
> 
> Use physical address directly in DMA mapping flow.
> 
> Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
> ---
>  drivers/vdpa/vdpa_user/iova_domain.c | 11 +++++------
>  drivers/vdpa/vdpa_user/iova_domain.h |  8 ++++----
>  drivers/vdpa/vdpa_user/vduse_dev.c   | 18 ++++++++++--------
>  3 files changed, 19 insertions(+), 18 deletions(-)

Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>

Jason


From xen-devel-bounces@lists.xenproject.org Fri Oct 03 16:04:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Oct 2025 16:04:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1136707.1473198 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4iGU-0003Ls-Rv; Fri, 03 Oct 2025 16:04:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1136707.1473198; Fri, 03 Oct 2025 16:04:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4iGU-0003Ll-OV; Fri, 03 Oct 2025 16:04:14 +0000
Received: by outflank-mailman (input) for mailman id 1136707;
 Fri, 03 Oct 2025 16:04:13 +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
 <SRS0=S35e=4M=gmail.com=demiobenour@srs-se1.protection.inumbo.net>)
 id 1v4iGT-0003Lf-Fe
 for xen-devel@lists.xenproject.org; Fri, 03 Oct 2025 16:04:13 +0000
Received: from mail-yw1-x1131.google.com (mail-yw1-x1131.google.com
 [2607:f8b0:4864:20::1131])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 99de9bc9-a072-11f0-9d14-b5c5bf9af7f9;
 Fri, 03 Oct 2025 18:04:12 +0200 (CEST)
Received: by mail-yw1-x1131.google.com with SMTP id
 00721157ae682-71d60501806so27727667b3.2
 for <xen-devel@lists.xenproject.org>; Fri, 03 Oct 2025 09:04:12 -0700 (PDT)
Received: from [10.138.34.110]
 (h96-60-249-169.cncrtn.broadband.dynamic.tds.net. [96.60.249.169])
 by smtp.gmail.com with ESMTPSA id
 00721157ae682-77f81c07a1bsm18717817b3.7.2025.10.03.09.04.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 03 Oct 2025 09:04:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 99de9bc9-a072-11f0-9d14-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1759507451; x=1760112251; darn=lists.xenproject.org;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=P2CAkmL8eAaSVSx5sGAtRLRj3SSpqu0lOP7DI7bhAvg=;
        b=jNcoH52ZdxNh1oEzmouWMw1eSx89dH1eFN12nEZV6KF04kue70pTzWSTWXP3GfB8Kx
         vq9wD3yXw+R7OGe5KGjGkdbLAC7KAbNwi8xnlKIySsZzohr4sXu/uVb7HsvEcoM41uZg
         RS3U6orS+hiUmMWIBhLth9HUjb7n5Zy+kBpEr6q0xG7D9t9cn1HdZz2P1tXnB+cAXMVm
         +bpyGiH6SE3iV3KEce8Uaznas+KDGkn9syQkcqaXpnK6muAWVCnw4/bOn3jZa4rfahhm
         fsLTcmD6084+AhUpJ1aK7jsYHewx8mplSsz2YQi8IVXP+aukQJhIti4f3ZvbWwVZrz3Y
         KRjg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759507451; x=1760112251;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=P2CAkmL8eAaSVSx5sGAtRLRj3SSpqu0lOP7DI7bhAvg=;
        b=Wmh5rS/zZOvsgLP/oBlJE6Pz6l+vQ3xFdCmxJQNW1hApwJ31gFpuHuR7AJpvlgVvC3
         oeW1tGWNZdt3ZGeI5HqnHpXNM6eVIdUeTn25xg95sN7NCzkyneJJ8Gn6cTXR1r8+Lgom
         ya+ex9Vr93eEVjdWk3b0m2gLf/RBsKvTX9t/D0x0kCf131XHz0ftChpF1hnmCfnZNAXQ
         0StKtf/nHNUjlYrfe7OpTyZ3R3j1hMwQAsPYfjfbmgts6Qvm80ZSDQtWHc+nyJefC2XJ
         4BR4xL5cSF01QR9N6DlvYbEIABJKWio0Qx7b6WKRvhIUA9+RwUE8xPoFSDLh2R8vn/Lf
         B4TA==
X-Forwarded-Encrypted: i=1; AJvYcCVFHxEinEaheGgDfeZvCmHbTLQyPOjLMPK0lTYKnb1h4wxkZy7QXV/tDJh/pi+DSztS9W1rUZJNJAg=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywa7Q0vwF4PuTiWSlxKYQRKmTOzwDmmMqxRCkxyEUBEQv2U+rk+
	9xb0iZ4ig8jXKCK5i++LxR++C/bzsVYPnTOyMYv+Lh5lrp1Do3JZh5Ty
X-Gm-Gg: ASbGncvcJt+r/cT94oOr1wH28BldsFLUqTbDSRwuJDFR+8UQ7XTD8OlU/YWVQj2++wR
	uNPqFIDZzkgB+3lVgg5LljQ1IEhm2IPhUhb8bP+KmesV1Lx+rgr8dbHCt2g6MOfkTrKOoiwjhzp
	D4kFDwESL2pHFLT+ItecqLaNAMVWmEMfHCqJrcB+0BZwY3OrUsEAsW7pyQy0NentyYC7uq3RSPW
	srA1LTIiyjBF2UeQ6483wOXv92nOG167SUfgA9pughk3rQAsNJSN25smUfZ+5AWUXThftvJyQKQ
	Be4yWZqJjS/4vK7ZK1yvy78a2ILQ0IHGfmicfFVXtCMnC2zQpJvK6KTjW0COpSg+pTfJCjxKfb6
	dLR8Gr7CaIPDbGim43VkwFxUvplX1XRIM4w34yy0H7mSg9htQAy4ThHMBZvUmithc6J9ioTe/1X
	zYB3CHtfFaT7ZZI0sRBiobdD9SkXK1nzjOOEbnj6bmiUYNwpoHTPxpM55ekHyjvg5AHZ0hdQ==
X-Google-Smtp-Source: AGHT+IGQ16TNRdOpkdLe1Lo0FaeRJEQXqPL9r1v6FL3Uww6Cn7Gw3+s0fufFn5ZSsyYCJ1rPBQBfVw==
X-Received: by 2002:a05:690c:600e:b0:764:b3c2:8240 with SMTP id 00721157ae682-77f9462382bmr44649817b3.24.1759507450341;
        Fri, 03 Oct 2025 09:04:10 -0700 (PDT)
Message-ID: <b77c44c3-b348-423d-b197-c719db6ec386@gmail.com>
Date: Fri, 3 Oct 2025 12:03:57 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/arm: XEN_DOMCTL_get_address_size hypercall support
To: Julien Grall <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Milan Djokic <milan_djokic@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 alejandro.garciavallejo@amd.com
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <39511522aae7dab5766ef2ebfed1d13abec8610e.1759324344.git.milan_djokic@epam.com>
 <bf042eea-ed2d-431e-b1f0-7be0c09194ef@citrix.com>
 <967b62ca-8aed-4abf-8fa5-30769f46a5ff@gmail.com>
 <55d156c9-5a05-4cb7-9b29-93adaaede5d0@xen.org>
Content-Language: en-US
From: Demi Marie Obenour <demiobenour@gmail.com>
Autocrypt: addr=demiobenour@gmail.com; keydata=
 xsFNBFp+A0oBEADffj6anl9/BHhUSxGTICeVl2tob7hPDdhHNgPR4C8xlYt5q49yB+l2nipd
 aq+4Gk6FZfqC825TKl7eRpUjMriwle4r3R0ydSIGcy4M6eb0IcxmuPYfbWpr/si88QKgyGSV
 Z7GeNW1UnzTdhYHuFlk8dBSmB1fzhEYEk0RcJqg4AKoq6/3/UorR+FaSuVwT7rqzGrTlscnT
 DlPWgRzrQ3jssesI7sZLm82E3pJSgaUoCdCOlL7MMPCJwI8JpPlBedRpe9tfVyfu3euTPLPx
 wcV3L/cfWPGSL4PofBtB8NUU6QwYiQ9Hzx4xOyn67zW73/G0Q2vPPRst8LBDqlxLjbtx/WLR
 6h3nBc3eyuZ+q62HS1pJ5EvUT1vjyJ1ySrqtUXWQ4XlZyoEFUfpJxJoN0A9HCxmHGVckzTRl
 5FMWo8TCniHynNXsBtDQbabt7aNEOaAJdE7to0AH3T/Bvwzcp0ZJtBk0EM6YeMLtotUut7h2
 Bkg1b//r6bTBswMBXVJ5H44Qf0+eKeUg7whSC9qpYOzzrm7+0r9F5u3qF8ZTx55TJc2g656C
 9a1P1MYVysLvkLvS4H+crmxA/i08Tc1h+x9RRvqba4lSzZ6/Tmt60DPM5Sc4R0nSm9BBff0N
 m0bSNRS8InXdO1Aq3362QKX2NOwcL5YaStwODNyZUqF7izjK4QARAQABzTxEZW1pIE1hcmll
 IE9iZW5vdXIgKGxvdmVyIG9mIGNvZGluZykgPGRlbWlvYmVub3VyQGdtYWlsLmNvbT7CwXgE
 EwECACIFAlp+A0oCGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJELKItV//nCLBhr8Q
 AK/xrb4wyi71xII2hkFBpT59ObLN+32FQT7R3lbZRjVFjc6yMUjOb1H/hJVxx+yo5gsSj5LS
 9AwggioUSrcUKldfA/PKKai2mzTlUDxTcF3vKx6iMXKA6AqwAw4B57ZEJoMM6egm57TV19kz
 PMc879NV2nc6+elaKl+/kbVeD3qvBuEwsTe2Do3HAAdrfUG/j9erwIk6gha/Hp9yZlCnPTX+
 VK+xifQqt8RtMqS5R/S8z0msJMI/ajNU03kFjOpqrYziv6OZLJ5cuKb3bZU5aoaRQRDzkFIR
 6aqtFLTohTo20QywXwRa39uFaOT/0YMpNyel0kdOszFOykTEGI2u+kja35g9TkH90kkBTG+a
 EWttIht0Hy6YFmwjcAxisSakBuHnHuMSOiyRQLu43ej2+mDWgItLZ48Mu0C3IG1seeQDjEYP
 tqvyZ6bGkf2Vj+L6wLoLLIhRZxQOedqArIk/Sb2SzQYuxN44IDRt+3ZcDqsPppoKcxSyd1Ny
 2tpvjYJXlfKmOYLhTWs8nwlAlSHX/c/jz/ywwf7eSvGknToo1Y0VpRtoxMaKW1nvH0OeCSVJ
 itfRP7YbiRVc2aNqWPCSgtqHAuVraBRbAFLKh9d2rKFB3BmynTUpc1BQLJP8+D5oNyb8Ts4x
 Xd3iV/uD8JLGJfYZIR7oGWFLP4uZ3tkneDfYzsFNBFp+A0oBEAC9ynZI9LU+uJkMeEJeJyQ/
 8VFkCJQPQZEsIGzOTlPnwvVna0AS86n2Z+rK7R/usYs5iJCZ55/JISWd8xD57ue0eB47bcJv
 VqGlObI2DEG8TwaW0O0duRhDgzMEL4t1KdRAepIESBEA/iPpI4gfUbVEIEQuqdqQyO4GAe+M
 kD0Hy5JH/0qgFmbaSegNTdQg5iqYjRZ3ttiswalql1/iSyv1WYeC1OAs+2BLOAT2NEggSiVO
 txEfgewsQtCWi8H1SoirakIfo45Hz0tk/Ad9ZWh2PvOGt97Ka85o4TLJxgJJqGEnqcFUZnJJ
 riwoaRIS8N2C8/nEM53jb1sH0gYddMU3QxY7dYNLIUrRKQeNkF30dK7V6JRH7pleRlf+wQcN
 fRAIUrNlatj9TxwivQrKnC9aIFFHEy/0mAgtrQShcMRmMgVlRoOA5B8RTulRLCmkafvwuhs6
 dCxN0GNAORIVVFxjx9Vn7OqYPgwiofZ6SbEl0hgPyWBQvE85klFLZLoj7p+joDY1XNQztmfA
 rnJ9x+YV4igjWImINAZSlmEcYtd+xy3Li/8oeYDAqrsnrOjb+WvGhCykJk4urBog2LNtcyCj
 kTs7F+WeXGUo0NDhbd3Z6AyFfqeF7uJ3D5hlpX2nI9no/ugPrrTVoVZAgrrnNz0iZG2DVx46
 x913pVKHl5mlYQARAQABwsFfBBgBAgAJBQJafgNKAhsMAAoJELKItV//nCLBwNIP/AiIHE8b
 oIqReFQyaMzxq6lE4YZCZNj65B/nkDOvodSiwfwjjVVE2V3iEzxMHbgyTCGA67+Bo/d5aQGj
 gn0TPtsGzelyQHipaUzEyrsceUGWYoKXYyVWKEfyh0cDfnd9diAm3VeNqchtcMpoehETH8fr
 RHnJdBcjf112PzQSdKC6kqU0Q196c4Vp5HDOQfNiDnTf7gZSj0BraHOByy9LEDCLhQiCmr+2
 E0rW4tBtDAn2HkT9uf32ZGqJCn1O+2uVfFhGu6vPE5qkqrbSE8TG+03H8ecU2q50zgHWPdHM
 OBvy3EhzfAh2VmOSTcRK+tSUe/u3wdLRDPwv/DTzGI36Kgky9MsDC5gpIwNbOJP2G/q1wT1o
 Gkw4IXfWv2ufWiXqJ+k7HEi2N1sree7Dy9KBCqb+ca1vFhYPDJfhP75I/VnzHVssZ/rYZ9+5
 1yDoUABoNdJNSGUYl+Yh9Pw9pE3Kt4EFzUlFZWbE4xKL/NPno+z4J9aWemLLszcYz/u3XnbO
 vUSQHSrmfOzX3cV4yfmjM5lewgSstoxGyTx2M8enslgdXhPthZlDnTnOT+C+OTsh8+m5tos8
 HQjaPM01MKBiAqdPgksm1wu2DrrwUi6ChRVTUBcj6+/9IJ81H2P2gJk3Ls3AVIxIffLoY34E
 +MYSfkEjBz0E8CLOcAw7JIwAaeBT
In-Reply-To: <55d156c9-5a05-4cb7-9b29-93adaaede5d0@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------MBUtA6U9c8TZwqL0tUXY0Cr4"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------MBUtA6U9c8TZwqL0tUXY0Cr4
Content-Type: multipart/mixed; boundary="------------dR2miVkfLkxQONGKGxEghpfm";
 protected-headers="v1"
From: Demi Marie Obenour <demiobenour@gmail.com>
To: Julien Grall <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Milan Djokic <milan_djokic@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 alejandro.garciavallejo@amd.com
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Message-ID: <b77c44c3-b348-423d-b197-c719db6ec386@gmail.com>
Subject: Re: [PATCH] xen/arm: XEN_DOMCTL_get_address_size hypercall support
References: <39511522aae7dab5766ef2ebfed1d13abec8610e.1759324344.git.milan_djokic@epam.com>
 <bf042eea-ed2d-431e-b1f0-7be0c09194ef@citrix.com>
 <967b62ca-8aed-4abf-8fa5-30769f46a5ff@gmail.com>
 <55d156c9-5a05-4cb7-9b29-93adaaede5d0@xen.org>
In-Reply-To: <55d156c9-5a05-4cb7-9b29-93adaaede5d0@xen.org>

--------------dR2miVkfLkxQONGKGxEghpfm
Content-Type: multipart/mixed; boundary="------------bx4PpInTLtWxaP0Fkh3TNeoT"

--------------bx4PpInTLtWxaP0Fkh3TNeoT
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On 10/3/25 06:14, Julien Grall wrote:
> Hi Demi,
>=20
> On 02/10/2025 19:27, Demi Marie Obenour wrote:
>> On 10/2/25 06:10, Andrew Cooper wrote:
>>> On 01/10/2025 9:01 pm, Milan Djokic wrote:
>>>> Signed-off-by: Milan Djokic <milan_djokic@epam.com>
>>>>
>>>> ---
>>>> XEN_DOMCTL_get_address_size hypercall is not implemented for arm (on=
ly for x86)
>>>> It would be useful to have this hypercall supported for arm64, in or=
der to get
>>>> current guest addressing mode and also to verify that XEN_DOMCTL_set=
_address_size
>>>> performs switch to target addressing mode (instead of relying on its=
 returned error code only).
>>>
>>> Please don't copy this misfeature of x86 PV guests into ARM.
>>>
>>> Letting domains be of variable bitness after domain create leads to a=

>>> whole lot of bugs, many security relevant.
>>>
>>> 32bit vs 64bit should be an input to domain_create(), not something t=
hat
>>> is edited after the domain has been constructed.
>>
>> Does this mean that Xen guests cannot support multiarch?
>=20
> I can't speak for x86. But for Arm, the endianess of EL1 (OS) is fixed =

> when the vCPU is booting. You could in theory have a domain with a mix =

> of 64-bit and 32-bit vCPUs. But that's not supported by Xen (all vCPUs =

> should have the same bitness) and also I am not aware of any mainstream=
=20
> OS able to deal with multiple bitness. Most likely, you will need to ru=
n=20
> two OSes and create your custom OS.
>=20
> Also, I believe XEN_DOMCTL_get_address_size would not be suitable for=20
> such setup.

I meant multiarch in userspace.  Running a 32-bit kernel makes no sense.
If that is something Arm OSs just don't support that's fine too.
--=20
Sincerely,
Demi Marie Obenour (she/her/hers)
--------------bx4PpInTLtWxaP0Fkh3TNeoT
Content-Type: application/pgp-keys; name="OpenPGP_0xB288B55FFF9C22C1.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB288B55FFF9C22C1.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsFNBFp+A0oBEADffj6anl9/BHhUSxGTICeVl2tob7hPDdhHNgPR4C8xlYt5q49y
B+l2nipdaq+4Gk6FZfqC825TKl7eRpUjMriwle4r3R0ydSIGcy4M6eb0IcxmuPYf
bWpr/si88QKgyGSVZ7GeNW1UnzTdhYHuFlk8dBSmB1fzhEYEk0RcJqg4AKoq6/3/
UorR+FaSuVwT7rqzGrTlscnTDlPWgRzrQ3jssesI7sZLm82E3pJSgaUoCdCOlL7M
MPCJwI8JpPlBedRpe9tfVyfu3euTPLPxwcV3L/cfWPGSL4PofBtB8NUU6QwYiQ9H
zx4xOyn67zW73/G0Q2vPPRst8LBDqlxLjbtx/WLR6h3nBc3eyuZ+q62HS1pJ5EvU
T1vjyJ1ySrqtUXWQ4XlZyoEFUfpJxJoN0A9HCxmHGVckzTRl5FMWo8TCniHynNXs
BtDQbabt7aNEOaAJdE7to0AH3T/Bvwzcp0ZJtBk0EM6YeMLtotUut7h2Bkg1b//r
6bTBswMBXVJ5H44Qf0+eKeUg7whSC9qpYOzzrm7+0r9F5u3qF8ZTx55TJc2g656C
9a1P1MYVysLvkLvS4H+crmxA/i08Tc1h+x9RRvqba4lSzZ6/Tmt60DPM5Sc4R0nS
m9BBff0Nm0bSNRS8InXdO1Aq3362QKX2NOwcL5YaStwODNyZUqF7izjK4QARAQAB
zTxEZW1pIE9iZW5vdXIgKElUTCBFbWFpbCBLZXkpIDxhdGhlbmFAaW52aXNpYmxl
dGhpbmdzbGFiLmNvbT7CwY4EEwEIADgWIQR2h02fEza6IlkHHHGyiLVf/5wiwQUC
X6YJvQIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgAAKCRCyiLVf/5wiwWRhD/0Y
R+YYC5Kduv/2LBgQJIygMsFiRHbR4+tWXuTFqgrxxFSlMktZ6gQrQCWe38WnOXkB
oY6n/5lSJdfnuGd2UagZ/9dkaGMUkqt+5WshLFly4BnP7pSsWReKgMP7etRTwn3S
zk1OwFx2lzY1EnnconPLfPBc6rWG2moA6l0WX+3WNR1B1ndqpl2hPSjT2jUCBWDV
rGOUSX7r5f1WgtBeNYnEXPBCUUM51pFGESmfHIXQrqFDA7nBNiIVFDJTmQzuEqIy
Jl67pKNgooij5mKzRhFKHfjLRAH4mmWZlB9UjDStAfFBAoDFHwd1HL5VQCNQdqEc
/9lZDApqWuCPadZN+pGouqLysesIYsNxUhJ7dtWOWHl0vs7/3qkWmWun/2uOJMQh
ra2u8nA9g91FbOobWqjrDd6x3ZJoGQf4zLqjmn/P514gb697788e573WN/MpQ5XI
Fl7aM2d6/GJiq6LC9T2gSUW4rbPBiqOCeiUx7Kd/sVm41p9TOA7fEG4bYddCfDsN
xaQJH6VRK3NOuBUGeL+iQEVF5Xs6Yp+U+jwvv2M5Lel3EqAYo5xXTx4ls0xaxDCu
fudcAh8CMMqx3fguSb7Mi31WlnZpk0fDuWQVNKyDP7lYpwc4nCCGNKCj622ZSocH
AcQmX28L8pJdLYacv9pU3jPy4fHcQYvmTavTqowGnM08RGVtaSBNYXJpZSBPYmVu
b3VyIChsb3ZlciBvZiBjb2RpbmcpIDxkZW1pb2Jlbm91ckBnbWFpbC5jb20+wsF4
BBMBAgAiBQJafgNKAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRCyiLVf
/5wiwYa/EACv8a2+MMou9cSCNoZBQaU+fTmyzft9hUE+0d5W2UY1RY3OsjFIzm9R
/4SVccfsqOYLEo+S0vQMIIIqFEq3FCpXXwPzyimotps05VA8U3Bd7yseojFygOgK
sAMOAee2RCaDDOnoJue01dfZMzzHPO/TVdp3OvnpWipfv5G1Xg96rwbhMLE3tg6N
xwAHa31Bv4/Xq8CJOoIWvx6fcmZQpz01/lSvsYn0KrfEbTKkuUf0vM9JrCTCP2oz
VNN5BYzqaq2M4r+jmSyeXLim922VOWqGkUEQ85BSEemqrRS06IU6NtEMsF8EWt/b
hWjk/9GDKTcnpdJHTrMxTspExBiNrvpI2t+YPU5B/dJJAUxvmhFrbSIbdB8umBZs
I3AMYrEmpAbh5x7jEjoskUC7uN3o9vpg1oCLS2ePDLtAtyBtbHnkA4xGD7ar8mem
xpH9lY/i+sC6CyyIUWcUDnnagKyJP0m9ks0GLsTeOCA0bft2XA6rD6aaCnMUsndT
ctrab42CV5XypjmC4U1rPJ8JQJUh1/3P48/8sMH+3krxpJ06KNWNFaUbaMTGiltZ
7x9DngklSYrX0T+2G4kVXNmjaljwkoLahwLla2gUWwBSyofXdqyhQdwZsp01KXNQ
UCyT/Pg+aDcm/E7OMV3d4lf7g/CSxiX2GSEe6BlhSz+Lmd7ZJ3g32M1ARGVtaSBN
YXJpZSBPYmVub3VyIChJVEwgRW1haWwgS2V5KSA8ZGVtaUBpbnZpc2libGV0aGlu
Z3NsYWIuY29tPsLBjgQTAQgAOBYhBHaHTZ8TNroiWQcccbKItV//nCLBBQJgOEV+
AhsDBQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJELKItV//nCLBKwoP/1WSnFdv
SAD0g7fD0WlF+oi7ISFT7oqJnchFLOwVHK4Jg0e4hGn1ekWsF3Ha5tFLh4V/7UUu
obYJpTfBAA2CckspYBqLtKGjFxcaqjjpO1I2W/jeNELVtSYuCOZICjdNGw2Hl9yH
KRZiBkqc9u8lQcHDZKq4LIpVJj6ZQV/nxttDX90ax2No1nLLQXFbr5wb465LAPpU
lXwunYDij7xJGye+VUASQh9datye6orZYuJvNo8Tr3mAQxxkfR46LzWgxFCPEAZJ
5P56Nc0IMHdJZj0Uc9+1jxERhOGppp5jlLgYGK7faGB/jTV6LaRQ4Ad+xiqokDWp
mUOZsmA+bMbtPfYjDZBz5mlyHcIRKIFpE1l3Y8F7PhJuzzMUKkJi90CYakCV4x/a
Zs4pzk5E96c2VQx01RIEJ7fzHF7lwFdtfTS4YsLtAbQFsKayqwkGcVv2B1AHeqdo
TMX+cgDvjd1ZganGlWA8Sv9RkNSMchn1hMuTwERTyFTr2dKPnQdA1F480+jUap41
ClXgn227WkCIMrNhQGNyJsnwyzi5wS8rBVRQ3BOTMyvGM07j3axUOYaejEpg7wKi
wTPZGLGH1sz5GljD/916v5+v2xLbOo5606j9dWf5/tAhbPuqrQgWv41wuKDi+dDD
EKkODF7DHes8No+QcHTDyETMn1RYm7t0RKR4zsFNBFp+A0oBEAC9ynZI9LU+uJkM
eEJeJyQ/8VFkCJQPQZEsIGzOTlPnwvVna0AS86n2Z+rK7R/usYs5iJCZ55/JISWd
8xD57ue0eB47bcJvVqGlObI2DEG8TwaW0O0duRhDgzMEL4t1KdRAepIESBEA/iPp
I4gfUbVEIEQuqdqQyO4GAe+MkD0Hy5JH/0qgFmbaSegNTdQg5iqYjRZ3ttiswalq
l1/iSyv1WYeC1OAs+2BLOAT2NEggSiVOtxEfgewsQtCWi8H1SoirakIfo45Hz0tk
/Ad9ZWh2PvOGt97Ka85o4TLJxgJJqGEnqcFUZnJJriwoaRIS8N2C8/nEM53jb1sH
0gYddMU3QxY7dYNLIUrRKQeNkF30dK7V6JRH7pleRlf+wQcNfRAIUrNlatj9Txwi
vQrKnC9aIFFHEy/0mAgtrQShcMRmMgVlRoOA5B8RTulRLCmkafvwuhs6dCxN0GNA
ORIVVFxjx9Vn7OqYPgwiofZ6SbEl0hgPyWBQvE85klFLZLoj7p+joDY1XNQztmfA
rnJ9x+YV4igjWImINAZSlmEcYtd+xy3Li/8oeYDAqrsnrOjb+WvGhCykJk4urBog
2LNtcyCjkTs7F+WeXGUo0NDhbd3Z6AyFfqeF7uJ3D5hlpX2nI9no/ugPrrTVoVZA
grrnNz0iZG2DVx46x913pVKHl5mlYQARAQABwsFfBBgBAgAJBQJafgNKAhsMAAoJ
ELKItV//nCLBwNIP/AiIHE8boIqReFQyaMzxq6lE4YZCZNj65B/nkDOvodSiwfwj
jVVE2V3iEzxMHbgyTCGA67+Bo/d5aQGjgn0TPtsGzelyQHipaUzEyrsceUGWYoKX
YyVWKEfyh0cDfnd9diAm3VeNqchtcMpoehETH8frRHnJdBcjf112PzQSdKC6kqU0
Q196c4Vp5HDOQfNiDnTf7gZSj0BraHOByy9LEDCLhQiCmr+2E0rW4tBtDAn2HkT9
uf32ZGqJCn1O+2uVfFhGu6vPE5qkqrbSE8TG+03H8ecU2q50zgHWPdHMOBvy3Ehz
fAh2VmOSTcRK+tSUe/u3wdLRDPwv/DTzGI36Kgky9MsDC5gpIwNbOJP2G/q1wT1o
Gkw4IXfWv2ufWiXqJ+k7HEi2N1sree7Dy9KBCqb+ca1vFhYPDJfhP75I/VnzHVss
Z/rYZ9+51yDoUABoNdJNSGUYl+Yh9Pw9pE3Kt4EFzUlFZWbE4xKL/NPno+z4J9aW
emLLszcYz/u3XnbOvUSQHSrmfOzX3cV4yfmjM5lewgSstoxGyTx2M8enslgdXhPt
hZlDnTnOT+C+OTsh8+m5tos8HQjaPM01MKBiAqdPgksm1wu2DrrwUi6ChRVTUBcj
6+/9IJ81H2P2gJk3Ls3AVIxIffLoY34E+MYSfkEjBz0E8CLOcAw7JIwAaeBTzsFN
BGbyLVgBEACqClxh50hmBepTSVlan6EBq3OAoxhrAhWZYEwN78k+ENhK68KhqC5R
IsHzlL7QHW1gmfVBQZ63GnWiraM6wOJqFTL4ZWvRslga9u28FJ5XyK860mZLgYhK
9BzoUk4s+dat9jVUbq6LpQ1Ot5I9vrdzo2p1jtQ8h9WCIiFxSYy8s8pZ3hHh5T64
GIj1m/kY7lG3VIdUgoNiREGf/iOMjUFjwwE9ZoJ26j9p7p1U+TkKeF6wgswEB1T3
J8KCAtvmRtqJDq558IU5jhg5fgN+xHB8cgvUWulgK9FIF9oFxcuxtaf/juhHWKMO
RtL0bHfNdXoBdpUDZE+mLBUAxF6KSsRrvx6AQyJs7VjgXJDtQVWvH0PUmTrEswgb
49nNU+dLLZQAZagxqnZ9Dp5l6GqaGZCHERJcLmdY/EmMzSf5YazJ6c0vO8rdW27M
kn73qcWAplQn5mOXaqbfzWkAUPyUXppuRHfrjxTDz3GyJJVOeMmMrTxH4uCaGpOX
Z8tN6829J1roGw4oKDRUQsaBAeEDqizXMPRc+6U9vI5FXzbAsb+8lKW65G7JWHym
YPOGUt2hK4DdTA1PmVo0DxH00eWWeKxqvmGyX+Dhcg+5e191rPsMRGsDlH6KihI6
+3JIuc0y6ngdjcp6aalbuvPIGFrCRx3tnRtNc7He6cBWQoH9RPwluwARAQABwsOs
BBgBCgAgFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmbyLVgCGwICQAkQsoi1X/+c
IsHBdCAEGQEKAB0WIQSilC2pUlbVp66j3+yzNoc6synyUwUCZvItWAAKCRCzNoc6
synyU85gD/0T1QDtPhovkGwoqv4jUbEMMvpeYQf+oWgm/TjWPeLwdjl7AtY0G9Ml
ZoyGniYkoHi37Gnn/ShLT3B5vtyI58ap2+SSa8SnGftdAKRLiWFWCiAEklm9FRk8
N3hwxhmSFF1KR/AIDS4g+HIsZn7YEMubBSgLlZZ9zHl4O4vwuXlREBEW97iL/FSt
VownU2V39t7PtFvGZNk+DJH7eLO3jmNRYB0PL4JOyyda3NH/J92iwrFmjFWWmmWb
/Xz8l9DIs+Z59pRCVTTwbBEZhcUc7rVMCcIYL+q1WxBG2e6lMn15OQJ5WfiE6E0I
sGirAEDnXWx92JNGx5l+mMpdpsWhBZ5iGTtttZesibNkQfd48/eCgFi4cxJUC4PT
UQwfD9AMgzwSTGJrkI5XGy+XqxwOjL8UA0iIrtTpMh49zw46uV6kwFQCgkf32jZM
OLwLTNSzclbnA7GRd8tKwezQ/XqeK3dal2n+cOr+o+Eka7yGmGWNUqFbIe8cjj9T
JeF3mgOCmZOwMI+wIcQYRSf+e5VTMO6TNWH5BI3vqeHSt7HkYuPlHT0pGum88d4a
pWqhulH4rUhEMtirX1hYx8Q4HlUOQqLtxzmwOYWkhl1C+yPObAvUDNiHCLf9w28n
uihgEkzHt9J4VKYulyJM9fe3ENcyU6rpXD7iANQqcr87ogKXFxknZ97uEACvSucc
RbnnAgRqZ7GDzgoBerJ2zrmhLkeREZ08iz1zze1JgyW3HEwdr2UbyAuqvSADCSUU
GN0vtQHsPzWl8onRc7lOPqPDF8OO+UfN9NAfA4wl3QyChD1GXl9rwKQOkbvdlYFV
UFx9u86LNi4ssTmU8p9NtHIGpz1SYMVYNoYy9NU7EVqypGMguDCL7gJt6GUmA0sw
p+YCroXiwL2BJ7RwRqTpgQuFL1gShkA17D5jK4mDPEetq1d8kz9rQYvAR/sTKBsR
ImC3xSfn8zpWoNTTB6lnwyP5Ng1bu6esS7+SpYprFTe7ZqGZF6xhvBPf1Ldi9UAm
U2xPN1/eeWxEa2kusidmFKPmN8lcT4miiAvwGxEnY7Oww9CgZlUB+LP4dl5VPjEt
sFeAhrgxLdpVTjPRRwTd9VQF3/XYl83j5wySIQKIPXgT3sG3ngAhDhC8I8GpM36r
8WJJ3x2yVzyJUbBPO0GBhWE2xPNIfhxVoU4cGGhpFqz7dPKSTRDGq++MrFgKKGpI
ZwT3CPTSSKc7ySndEXWkOYArDIdtyxdE1p5/c3aoz4utzUU7NDHQ+vVIwlnZSMiZ
jek2IJP3SZ+COOIHCVxpUaZ4lnzWT4eDqABhMLpIzw6NmGfg+kLBJhouqz81WITr
EtJuZYM5blWncBOJCoWMnBEcTEo/viU3GgcVRw=3D=3D
=3Dx94R
-----END PGP PUBLIC KEY BLOCK-----

--------------bx4PpInTLtWxaP0Fkh3TNeoT--

--------------dR2miVkfLkxQONGKGxEghpfm--

--------------MBUtA6U9c8TZwqL0tUXY0Cr4
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEopQtqVJW1aeuo9/sszaHOrMp8lMFAmjf8/UACgkQszaHOrMp
8lOwdA//UdpFgvnaxeTyhxlZDDGZVpGYrgU8gGPykw9Ouj1ZuKwugQmd4unUGsPL
9wTDs0KMIgc5wk+AVP84X2jSXR5PUu76N9nA98ACbRvmSn8rthIggq0CkBUX9HzN
8QdAzIGocHIBy4O9oqu5uOIoUwNeK0x6NX/LChoDw2l0HRg2x2We/eL8+it6IzC/
1cXlvI3wDh92ZdZpZ+rQioVCtUhCOA8FbzC4G+hPuMqgPC3fU/Ank4D4Zm3G3ILR
fVcxpEbemZqpU9k29ikb0v/2C/nus+FOrcvbHju4vz3yAi2Eb0mFEILBysl1zT7j
WGVMzHnvQn42zLTfzmSkj67oprEtk11yX0PeGbVvPKnFfHMsfDVEuL6b+6fGsmNX
QwQaBkNZCtGh0mKmCj1pqaPdOrhv/Zj+X2/OLc5fwoJC/1tUn9ztUFOoqLDiYQn5
AkP9GTXvB/m2L4v/AY97mkOn+LBsuScVsklIQzBvC5rg13HMuhhemkQ5zWCxUMF1
T3QXYl3VmlBRVWo7UKFU3HuNrzqXn73ewvgYK8GBQToOIqH69hL88c64o75kCR/S
mjjNUnmlK7BpkOnHLm6MHLqSnwuoXOb2HwSCEc49WThCga0a1pBDLZNuF0xi4DWG
wNt8YlPz1Ran2yPbhha3RSJQgJFBm+fh8rSxHik7sJCc3q7K+/Y=
=65TF
-----END PGP SIGNATURE-----

--------------MBUtA6U9c8TZwqL0tUXY0Cr4--


From xen-devel-bounces@lists.xenproject.org Fri Oct 03 16:18:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Oct 2025 16:18:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1136729.1473211 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4iU7-0005ND-5b; Fri, 03 Oct 2025 16:18:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1136729.1473211; Fri, 03 Oct 2025 16:18:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4iU7-0005N6-34; Fri, 03 Oct 2025 16:18:19 +0000
Received: by outflank-mailman (input) for mailman id 1136729;
 Fri, 03 Oct 2025 16:18:17 +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 <SRS0=NctN=4M=nvidia.com=jgg@srs-se1.protection.inumbo.net>)
 id 1v4iU5-0005N0-S7
 for xen-devel@lists.xenproject.org; Fri, 03 Oct 2025 16:18:17 +0000
Received: from PH7PR06CU001.outbound.protection.outlook.com
 (mail-westus3azlp170100009.outbound.protection.outlook.com
 [2a01:111:f403:c107::9])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 90281ab5-a074-11f0-9809-7dc792cee155;
 Fri, 03 Oct 2025 18:18:15 +0200 (CEST)
Received: from PH7PR12MB5757.namprd12.prod.outlook.com (2603:10b6:510:1d0::13)
 by CYXPR12MB9280.namprd12.prod.outlook.com (2603:10b6:930:e4::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9160.18; Fri, 3 Oct
 2025 16:18:07 +0000
Received: from PH7PR12MB5757.namprd12.prod.outlook.com
 ([fe80::f012:300c:6bf4:7632]) by PH7PR12MB5757.namprd12.prod.outlook.com
 ([fe80::f012:300c:6bf4:7632%2]) with mapi id 15.20.9182.015; Fri, 3 Oct 2025
 16:18:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 90281ab5-a074-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=oCMAglROZbOzvnlT2EuGy9esL/pjN7mDQf5wb/yWy/7b+oTzvsjuqP7LJvGsKb8Et67JkF60EbzP/MKwszGHJZHYn4RO2pEnhscF8y3Np5ikIMDqqvaKpTY6gm4DzL4Fx8ivOJtpaFcia6CCJPrgJo38ZGWYovMTvgKpyTmBjPoGm+ukvvdF1YaJ0Eaqn2c5CxJatAk2arHwrnoFJVOcKbkTv6lKAtA9MiH2jxLFtstZjoL2zli5r0YDbkmeGI23/VxpPgtP/00X/EFH33cRiExAVDOhL6bpQrSjJtHAyw6sacjB50WROvRl72gB+atbDUf6MLL8s/NXeEUYNscQpQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=FlZ+gnL/XTR96HbtsyOEB44wnaRXFMTn+X/+GKczHSA=;
 b=DnT7GiRMkAQqqd1kQtnyeIQFlOvT7CVOZsc1Ip8qgEXgmIAVYJ7RoBKMlHtmgIbya+ABMrRwG4o4YPB58Q9V9nExvZ/fYs66m4u1BGc24UoUPRc0Ig7BddBdnISrXYpk/1tcwjoaFDE3yUtuCAqQGjUSfwv5PHJll+E/Rf26dblhurHi4v6xPsHr5+oui5APvqZFC7ySbOHhiLa6VBGsAL4HqBKvATNm+Am2w7zLC6QegnY6D1fP7e5A38++mS82oYAy0cPVux/O9nCjRVhZ5JrAxcFgSfUBJaAr6oiSs9g7m2S89Xhkjr/1ddwXjTKlWbhRbhDLsndQ2wxpbtkbtg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com;
 dkim=pass header.d=nvidia.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;
 s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=FlZ+gnL/XTR96HbtsyOEB44wnaRXFMTn+X/+GKczHSA=;
 b=uDO8k64WmN6OIzQhMUotd8LOeTV9vowVXvQWptXZ07id3mLYvLkZEqNeZxd61rQf9rxAbCwvto0A/zLLGFOknkDn+V7F2yk1NBL41ATeA7IPFUNuND9sQjwYwCLN76mJmz0blCp28VxoUcE5jHpLxyfM6nlNtNKEaLYGH0dxu3qwdxZCUOt/YLRz3wafyKek+5/CO/HySELq4HN0AAweivaJJeJbmGsiDIF447BphzF08krh6pg0Gu5lqm4Mp5i+yIhHrlnHkwthRDPcJrWCxxUr5cI1MK9+mYcaKgKAJW+sfQc0ZLJNtltD6fqwGuI7iPm+duzmB+LfzHzeF+a/5w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=nvidia.com;
Date: Fri, 3 Oct 2025 13:18:04 -0300
From: Jason Gunthorpe <jgg@nvidia.com>
To: Leon Romanovsky <leon@kernel.org>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>,
	Leon Romanovsky <leonro@nvidia.com>,
	Andreas Larsson <andreas@gaisler.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"David S. Miller" <davem@davemloft.net>,
	Geoff Levand <geoff@infradead.org>, Helge Deller <deller@gmx.de>,
	Ingo Molnar <mingo@redhat.com>, iommu@lists.linux.dev,
	"James E.J. Bottomley" <James.Bottomley@hansenpartnership.com>,
	Jason Wang <jasowang@redhat.com>, Juergen Gross <jgross@suse.com>,
	linux-alpha@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Matt Turner <mattst88@gmail.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	sparclinux@vger.kernel.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Thomas Gleixner <tglx@linutronix.de>,
	virtualization@lists.linux.dev, x86@kernel.org,
	xen-devel@lists.xenproject.org, Magnus Lindholm <linmag7@gmail.com>
Subject: Re: [PATCH v1 8/9] xen: swiotlb: Convert mapping routine to rely on
 physical address
Message-ID: <20251003161804.GG3360665@nvidia.com>
References: <cover.1759071169.git.leon@kernel.org>
 <573fbadd743851838a91a8dbc84b4506cea2192c.1759071169.git.leon@kernel.org>
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <573fbadd743851838a91a8dbc84b4506cea2192c.1759071169.git.leon@kernel.org>
X-ClientProxiedBy: BN9PR03CA0422.namprd03.prod.outlook.com
 (2603:10b6:408:113::7) To PH7PR12MB5757.namprd12.prod.outlook.com
 (2603:10b6:510:1d0::13)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH7PR12MB5757:EE_|CYXPR12MB9280:EE_
X-MS-Office365-Filtering-Correlation-Id: 2f46e32c-014a-48a1-be1d-08de02986f13
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|1800799024|376014|366016;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?7GjaRnRDYBA/QqXFP+/OJnU7q+CyzNWZ8swwnfR5onLJIftnZ6y8wQ8hPXmp?=
 =?us-ascii?Q?9nFrUNMiuag5dmM3pcy0juu1GxOmliI/nxD1FinLa5UkKU61EIccTsD/iqSP?=
 =?us-ascii?Q?q3WgDu+4WZUlodd2ViaDJa5E4noyV+KaZ5MPYSPLKL/JKt15a5HLN1qa4IDW?=
 =?us-ascii?Q?9omKV3B7tTu+AKqMeA3qrHhak2+zipONJN/XK7LCDg1b6VBqxZ0AuNQgdis4?=
 =?us-ascii?Q?t0JTKo9fC9RValVhwETYrCN+neo6dFVLD3kiSBzTvyLLBvSG4HHe4BebKHMf?=
 =?us-ascii?Q?fwv2TTQrsZd3WoaAQQfGuTNMhvoxJK3VQENQy0VKgY890MkCcRXwmaDsWc9E?=
 =?us-ascii?Q?lV6AlNXB1+VJ9ewaxldyENDgvZblkLg3Ot9pB9My9I6Y/8ci/k2A2DSr66U3?=
 =?us-ascii?Q?BbP8I5JBtctmBjIVjsliu2K25ti+k2rdXXq5uBxHAa3eAJY38/CRuu5T5iUY?=
 =?us-ascii?Q?j+8Hh4vsJhtoG9eCFNiPdjcAX/ZUqksN8PjW5NP+uLYwWHJUgnFXo0wn9WK7?=
 =?us-ascii?Q?hxMQIB/uB1seCO1tWA19Zc91b2FBDu3w+kwvogY3K/zlv9GFB6mxridN+/y/?=
 =?us-ascii?Q?4gdYGLRU5U6RfGNXcy60Wm4lbT6E8TDldZ6dQJ4Rh6lopf6pRj0XDF1ebyGn?=
 =?us-ascii?Q?jMHR/JKRRd0ecA511Uas+IadHN1CqzwigHe6Fq6Fi26PRgSDTp/LRC275Lxx?=
 =?us-ascii?Q?lzpqt4U3cu9LT4e2HUDNyCG3jTC3pbg5Ds6HITcupCwCBp5tXyyuTcg7GW7g?=
 =?us-ascii?Q?j4eBfmZg0FYVGr3Fa8o/PBJqWFh3tvOUrWrOrl6K1ir/wTmY0P2llSlCEA0P?=
 =?us-ascii?Q?Se7ngy6f4iKiu8HnsQ3RdDVgJ4kDAuWbe76DgcUlrI4782PuG/9JlHmxrSGd?=
 =?us-ascii?Q?3P4GJDm1dDiutunOHKS2fkifLF0MZr37RJmwOucsnfVPScsBBcvwj/RkkUkS?=
 =?us-ascii?Q?UCbP6igQ5VYk6zWearZOFHpL9I8wsNTl/jsnj/79D6GHVZOvg9nPwk2T9Rw8?=
 =?us-ascii?Q?SCv1dxiYMP7IjDmRCSKsHv2WBJCAR0+3JOpAeOgwRYjvKf5fYs2+gGSkfs2g?=
 =?us-ascii?Q?ztN75G74CxEbmxbjgh8YyYe8gogyK+aedoLiXv5Pokv52KrXjJF1V51GENrU?=
 =?us-ascii?Q?wtOiBnnBBPC1OP0r0FG4WYEUNiS48PriTWkMdle/9c5/tPvcOEQYPspf37Wb?=
 =?us-ascii?Q?EMl0pNpyYiakn1TVbo5PJkw8GCJqJJBsLnPIWl+SApYQCH0T8QXx8vVeOUs5?=
 =?us-ascii?Q?T8Eb3quXvBz8QHLqx/cIVNQA1P+F3eLByiwPvkFVcq90X27gAK4kIwWegaIy?=
 =?us-ascii?Q?vrdZ9Rgf/YPhsbxzL/zmW+pT7SPiXAlhRUkOW/eUqm2HR/aLMdqKonwOYVee?=
 =?us-ascii?Q?awmEWeZ5fl2WQm/7EOAjnuodlr8g37TSqTlAyg7TG/4rbU+9qpUOz9u2Qhr7?=
 =?us-ascii?Q?ElBxyc8jk9gnQUJ3T4m5eG/5+dT4p8GX?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH7PR12MB5757.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(1800799024)(376014)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?mFZUeNgXWC8yrVCF5BKdt+bZXkBmq6YNHqU3ZQGaqY792xNwKJa/62yVFsmI?=
 =?us-ascii?Q?849Xxbz6TwVR/NHPKs9Sa+TdgqplcMJJdace0ZwIci63/RyjJT3uGi2i77nV?=
 =?us-ascii?Q?f0Q6cPrBJ8LI4XzNI1hcDmb5KOsOFnJVnzrkvlplHkqgogAivDKVo7gL+aMQ?=
 =?us-ascii?Q?JpmMsLd6ap/gF6L1IhTgaY+fWMxiFfv7QV38GFX04Z+3Nf/epnqMf0OtaoSZ?=
 =?us-ascii?Q?W5lokoYAqU7fmzcbZNWIAxGmrhg9bXu30tN5D6bHAPQPyjC/qaNYhW2Ae4p9?=
 =?us-ascii?Q?1pnEdgpIbfuJ32FT32otWtamamSA4E64FTHAFIYt6rO64vyiAaR8pTUbUAAb?=
 =?us-ascii?Q?feGSeU5dFr4c6bg0PO6qtoIwPBexMNlXQTM33I5lOJC7LdY0Z/OOVUbihdFZ?=
 =?us-ascii?Q?22kTEyxWkqF0s8CWr6Lfj7J7D1fbLgh5swK7ghvcs2A6fiSSglE2PAU/v2Jm?=
 =?us-ascii?Q?ILfhS/tp7LGiHa9ByrqE5ZhVyJS8dNeyETcqYeBA6O7RHA+nf+IarDQWezn+?=
 =?us-ascii?Q?ceFC75KfvSqzjXlBwJjUdt0/DzQNP5ORVFp4I7foAQ5ORRUd5SOOL0Dl7Y/l?=
 =?us-ascii?Q?FC8XcGQtRlPYCjPxR29ne6WFzpMtCu4SRBNfz0M1XY6OfeDqTeaJQyXKodvn?=
 =?us-ascii?Q?Daa95j40Ywdn5sevXrOye+4f7DTMA/KDc5y4PMBiGj9kBSGjKmVEFEfond76?=
 =?us-ascii?Q?kciUAE31O72cPsFmS+hcSRCXyzto/Y/6n0EGQ9NytYLIrARovEgq0NZIziU+?=
 =?us-ascii?Q?o3m2xJ2Ip5hYHsL2vpvOG00lZLYAM3Ff//phjAjgkM6SnTsONyGXFbO2D7t6?=
 =?us-ascii?Q?Fa3+hvzqryEGu0YmKwU13WoMnM0z4ENrKOmAlEczzPCdAZ4Laxyo3haF+zpf?=
 =?us-ascii?Q?BPZ0gjuenOHBFQWgnNljq750RCKcBiKX4dDWRo96V3oNySjweqXXHWG3H5Yu?=
 =?us-ascii?Q?XeNn1TdxZn681yxvVyceIIPlsZCskCvlL/Ne5oWzMU4cRuPFJZmhWRMGqhBf?=
 =?us-ascii?Q?WHP9FwMA5PjHr5zwaj4hahv4jOo+elIrecFHvOU6mfDiGsLExgUIBnzJLev5?=
 =?us-ascii?Q?5mbi3qmyIHtKoLzQHah3dPf4nYf98rufoTYap51UHfUTNnyUSox2PpcpHfNr?=
 =?us-ascii?Q?hlv5TGcaXT9S/EZTP4u9wdGnofhSFX+x9dzJJZ9BONRMVVKf3k0A19uZUVwi?=
 =?us-ascii?Q?SXwpAXFjyF+6171HwGsOmV0o80ke8U0CRVKIN3TrdGBMiwal9fa2ByJAyDxs?=
 =?us-ascii?Q?sW6DGYZAxOeGDkKs2c8xF4KLA7V6yvoKivH3+N2Rc9VON+6v+PgnOAZKUG/X?=
 =?us-ascii?Q?vQTqgFcX5lFqbqO90EzMHzQZt4F17BttpopxXT7zUqM5DLYZs+D3G+s0DSGY?=
 =?us-ascii?Q?qVyf2KOEdXqdElnwHodVDcdLVl5a9G11iCPtkno+5y+ZgNZl5TqMIUYapvx4?=
 =?us-ascii?Q?rtSiQ7U8BZ84WPJ/Q5HAH9r5lHS2JXgV+1Dp0acUVwWDhZ0hF9XaYh9TUQLl?=
 =?us-ascii?Q?DFQekkkvafNWEIc0bMpsiC00/Pa6Al7rknyCHubjqK0yhXVRk57wg4DakluR?=
 =?us-ascii?Q?hz5T+Vp6X6dxYBkLwj0=3D?=
X-OriginatorOrg: Nvidia.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2f46e32c-014a-48a1-be1d-08de02986f13
X-MS-Exchange-CrossTenant-AuthSource: PH7PR12MB5757.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Oct 2025 16:18:06.1408
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Z8e/ww0X5zcQzL43/Dkk+4JNvpnO8rYrhk/s7ZQ61uWqZbAmG78jVq9WhDD/JTCY
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CYXPR12MB9280

On Sun, Sep 28, 2025 at 06:02:28PM +0300, Leon Romanovsky wrote:
> From: Leon Romanovsky <leonro@nvidia.com>
> 
> Switch to .map_phys callback instead of .map_page.
> 
> Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
> ---
>  drivers/xen/grant-dma-ops.c | 20 ++++++++++++--------
>  1 file changed, 12 insertions(+), 8 deletions(-)

Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>

Jason


From xen-devel-bounces@lists.xenproject.org Fri Oct 03 16:18:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Oct 2025 16:18:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1136731.1473221 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4iUQ-0005fQ-Dz; Fri, 03 Oct 2025 16:18:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1136731.1473221; Fri, 03 Oct 2025 16:18:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4iUQ-0005fJ-9s; Fri, 03 Oct 2025 16:18:38 +0000
Received: by outflank-mailman (input) for mailman id 1136731;
 Fri, 03 Oct 2025 16:18:36 +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 <SRS0=NctN=4M=nvidia.com=jgg@srs-se1.protection.inumbo.net>)
 id 1v4iUO-0005eL-MH
 for xen-devel@lists.xenproject.org; Fri, 03 Oct 2025 16:18:36 +0000
Received: from CY7PR03CU001.outbound.protection.outlook.com
 (mail-westcentralusazlp170100005.outbound.protection.outlook.com
 [2a01:111:f403:c112::5])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9c68579e-a074-11f0-9d14-b5c5bf9af7f9;
 Fri, 03 Oct 2025 18:18:35 +0200 (CEST)
Received: from PH7PR12MB5757.namprd12.prod.outlook.com (2603:10b6:510:1d0::13)
 by CYXPR12MB9280.namprd12.prod.outlook.com (2603:10b6:930:e4::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9160.18; Fri, 3 Oct
 2025 16:18:28 +0000
Received: from PH7PR12MB5757.namprd12.prod.outlook.com
 ([fe80::f012:300c:6bf4:7632]) by PH7PR12MB5757.namprd12.prod.outlook.com
 ([fe80::f012:300c:6bf4:7632%2]) with mapi id 15.20.9182.015; Fri, 3 Oct 2025
 16:18:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9c68579e-a074-11f0-9d14-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=yZAxt1ZCmoaBU2MVKHMAe+JANSRjsCrK09Di8IeXmFwNw5uorYn4if2b1ZCp1Wz6RjM99z3oGAxsOl2LkfAOyffBAglZS+P1Fqy56vvNj+if7XtxiCc+vGjnJPt1RI8vPBQYpEX5LqifpRmjPhi3tD1npIVu43pLqpgB3OHwpw+YM6WtEi2Kk2p5yuPnN1pmkN5AaytJML/8B3H0c9DiFBTWCbZFi9/Y59LIEE9n1LFI1fR1SQf9FxLS1GN+P944EOrrcJEXdBHifMmLMWK9/gFB290akGNreF0C1IZzemRLGOhx3oNxzixC6N//2PtO57bRWajj644Q3URc1eji3A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9V49pYcr+0eeDSdeFjgDw9UEyVFhz0t2sXRuoEevw2I=;
 b=JxIJAcUeQdOvByLsMQyUn5Ta0P4YaSGR0JJhrUUG6EGM4MasGYtqHP8xhcCEyQLj6cFAb/C8rUtO/B6pGc3GcdApIzv8Vvc7L/lUg7oR2s2QFL3NKL0Uownqd6IlqAn9tN09AAIjc/IVflbBNe2fhetVZM3JSVnZAsxpFemeVezF0QjnL7u3cNWHTBnPbzk9RDyuXEkLIqtVhlcYzzhTD2qxnoZSn/oj8lDFoSodhO/G4Zl/kS+aTEKmFrV44SUSB7Az3Xyp3yNqUtXcoiAqqmxKqFGqjcJDZt0WE86GA3pvk1GlsmypJxdq4ZAgi3ToqtZniS+otW1wcN+Um6KwyA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com;
 dkim=pass header.d=nvidia.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;
 s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9V49pYcr+0eeDSdeFjgDw9UEyVFhz0t2sXRuoEevw2I=;
 b=bVpgAKErgW/ekPafD5ASNIo3c89Y1EQZD4JBqzZvDzqItk4olyp+kAmvSJA1cMN6nN3lw+S891iLx73ENunLZxiK4hV6uRuExfgwEdwWw2crXpltjyaiT0Jv19RZI0Q4oeZJmOOHdZ0S3UP+jO0lbZOuGolvh/XQ8Qm8usPWC79Xk6VDnZyov423g+UTfixdd8M7dgLJxioAy3SlqCA271a2OqpQVBVJxuj8Y2G377YV9UGlIueqEXpxVQredGDl8hMk9Spg50IMEHG1IMjh28uBjTslJPjXui5plGwMtPmE24RzVAlOtTfPK+WGUb/SpAY3Sj8sGY1lfTnjZYhKMQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=nvidia.com;
Date: Fri, 3 Oct 2025 13:18:25 -0300
From: Jason Gunthorpe <jgg@nvidia.com>
To: Leon Romanovsky <leon@kernel.org>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>,
	Leon Romanovsky <leonro@nvidia.com>,
	Andreas Larsson <andreas@gaisler.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"David S. Miller" <davem@davemloft.net>,
	Geoff Levand <geoff@infradead.org>, Helge Deller <deller@gmx.de>,
	Ingo Molnar <mingo@redhat.com>, iommu@lists.linux.dev,
	"James E.J. Bottomley" <James.Bottomley@hansenpartnership.com>,
	Jason Wang <jasowang@redhat.com>, Juergen Gross <jgross@suse.com>,
	linux-alpha@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Matt Turner <mattst88@gmail.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	sparclinux@vger.kernel.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Thomas Gleixner <tglx@linutronix.de>,
	virtualization@lists.linux.dev, x86@kernel.org,
	xen-devel@lists.xenproject.org, Magnus Lindholm <linmag7@gmail.com>
Subject: Re: [PATCH v1 9/9] dma-mapping: remove unused map_page callback
Message-ID: <20251003161825.GH3360665@nvidia.com>
References: <cover.1759071169.git.leon@kernel.org>
 <27727b8ef9b3ad55a3a28f9622a62561c9988335.1759071169.git.leon@kernel.org>
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <27727b8ef9b3ad55a3a28f9622a62561c9988335.1759071169.git.leon@kernel.org>
X-ClientProxiedBy: BL1PR13CA0148.namprd13.prod.outlook.com
 (2603:10b6:208:2bb::33) To PH7PR12MB5757.namprd12.prod.outlook.com
 (2603:10b6:510:1d0::13)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH7PR12MB5757:EE_|CYXPR12MB9280:EE_
X-MS-Office365-Filtering-Correlation-Id: 55fe7add-e739-4cd4-94fa-08de02987c81
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|1800799024|376014|366016;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?8HAa5uboeD1h6ARLZdwtCq9KRch2abHjXiw5asWTL4fhWGYHAm4C0BTqRq/O?=
 =?us-ascii?Q?dmtk0tB2KyqGE2l63Bf1irS8tAvd7JAONGy3x8jKh+XpIoIHTlNMTOMJpJTf?=
 =?us-ascii?Q?P18cschd/k74/bQqLgkfSsR/uqmhgxokX72ei7mbaj7ImypIqf0wvzYGT1Q6?=
 =?us-ascii?Q?fne8iZi9nWUUf2z7W+ecp6T/Llx3rWsGuwWX4ggTCpCuem1FqMAo4eWE4Moj?=
 =?us-ascii?Q?VddJzYxOz+oXc1VwCjrdjPIH01n90hxRhozWwYuR23i5TbtGCbX30FaumXCB?=
 =?us-ascii?Q?DYna2zeW98EgdY7uMK6CI1vxhzuO9f3PMWdqe2MvbYR4/5Vn8f3ldsBBFoxS?=
 =?us-ascii?Q?aAhDSiY6X1+H0j+Q8TlQM6KNfgeYBbeJB4Y09C7VQ5chRUlDPA3zlLVybnF3?=
 =?us-ascii?Q?CLjmr4spZSEuiQKDDzQbqDOOIAgVoh6f0yuKf5b3q475zkN1IAYnmBLWzhCg?=
 =?us-ascii?Q?WjnBwaqHqztih+129m4uifvk4daAhcbvDoUmQuKUN3tp83tSxWWA3Rs03pSv?=
 =?us-ascii?Q?WdDuEdtiB7LwZguIBr2tMHbPOQ94hkC6P5pbrn8RsHcXsX64VscByYt3i9Le?=
 =?us-ascii?Q?qEMjGuOxcKChDO4jeRwHJbJhetiVh1TWJeq03p5UdzXyXfDBeSRULFz4/Qp9?=
 =?us-ascii?Q?841h+wmQVejd5gNnSL/EYGc0UelHLTgHsFtvBakldWIQgjLh//bUfzW7c97W?=
 =?us-ascii?Q?UideQODf4OJv52ZBEne8IJgY4EhY8oPAOLma13QkczLzPKdUU8CUNZIqP/ov?=
 =?us-ascii?Q?JhWIAHkisSnr3pAm+Hp2/8ku10ueekdPlqZXxRdCiAMLDEFUU6+3PLE0xQcd?=
 =?us-ascii?Q?OWkMy2X8CLJ0O3xkKGmai7AOleY1LXHw/ObSc5dlf3koyBRkWDPSVFt1f3zC?=
 =?us-ascii?Q?z5UIjd84XikhBpavxdQexAO2sPD8otYE/LNJCqRpClURAoU2cPAHYLnYxroM?=
 =?us-ascii?Q?2l0pKWGFYmmF4RiE0v21zyh2evvtCIJGe9Dg5XZi/jWf3RGOH8Z/+tFJJYi2?=
 =?us-ascii?Q?w7J2+EJw+krm+1KLWqtYzUquw4gsHeA7vMG6QKg94zTlUN1EqbcSkd2ykYa4?=
 =?us-ascii?Q?NaS90dymt7sLrGFi9hnyMAxRt96LrBU/Sm6MGyJH1QKXBITIA2kFwc3cabd1?=
 =?us-ascii?Q?AC8XFT2IBmnJ4ufPvCoMdi77iiKMmqO8VUeIV1FY+jkbQPkJhuHIM2DjM9WJ?=
 =?us-ascii?Q?vPaPTfX0cAFMieY2mY1+VGKXK2J39+HTd8fcET/wkyrfkmQdzaMLNqjHkOjU?=
 =?us-ascii?Q?nIWi+ioLMKsiASDeFnLquC9qPwiZvnUtimGYuoRhbQY3Dv/IOP8QX3f6Tu+w?=
 =?us-ascii?Q?gN8IGXlG+V2qT9LCHEwIHdpQ0Qkr3NDo71/LG4J3hiJQhDVHtfsatxXJrvYj?=
 =?us-ascii?Q?/eyJj2z7+h0z5om6lwDXeG6Z2ETBco+YTBrvEiHq2qtFALgwnD+wKUaaQYql?=
 =?us-ascii?Q?Mv6JxRFw3K0l+Ck/M1ZYFF6mISsuAky3?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH7PR12MB5757.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(1800799024)(376014)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?tJqu5HQWfVC576vdptBhQXSrPx14A7GicND2ojHAr9VkoWgx6aO9YKPabKXu?=
 =?us-ascii?Q?1XBQo8J7HGUPKPahD55FQQZG1JeiLZ6Vfwn/akyM8KF2DP1I+ho/EDYflZaz?=
 =?us-ascii?Q?GTng2DrKMn83xenHUnKDfS6LGzYqDwATpnblcigs1DEFk+dr4zbCgH5C+4Yl?=
 =?us-ascii?Q?iIWCBbtaDiQV7aO07dJiLEMLABl59SZFZlch56dq/9YNYZuCuGX2uJYyygf9?=
 =?us-ascii?Q?ikJg4lIgWvpeO/g9N9shdoD8XRql7fX85Uc3h0RsA1iNsPvvXIH9SqICuQu2?=
 =?us-ascii?Q?kcShlpCHhSDNQg5SWMb/PMKiAp6tbzO/skw+mveU6L8CIHbkYSEEH3c9TrNT?=
 =?us-ascii?Q?MWwShe332HFl00f1tK90tNUCl1vEGGBjXMVzE3VdJS7VHLYUSCEZNg+eVZ3O?=
 =?us-ascii?Q?pyVcqWnXxJG0cjGIdBRgkTO/p4DT7bFCf0obVQ5BbScSDs170C+TQY8aTAQC?=
 =?us-ascii?Q?xKm4UXedGymG8XOD1W1HdWa1Wsp+gL++/DdBT6yvR7L/N1BLmsXcpcZcOOwM?=
 =?us-ascii?Q?A82Zt+yMu/Up4GDw3eQ0vzhY/rqRkCvlYmoO616eGAQ7AE8CR7wBzClI4Rda?=
 =?us-ascii?Q?G+SnBcB+4DT6uujPboWDt3p+d1r7APKQxzWeKhJnhOhsiHRaG1Z6Hv63N1Wy?=
 =?us-ascii?Q?QOVqA8GvvQu/uxlm6Lz3NFFAGYr2j8LSw/b3j/I5PM8vXIhBDODKQDBUanaL?=
 =?us-ascii?Q?jic+jOUwcC4yAG6VfnKuLxRACpony5gMh7nTWm0xNkcn8BYMRiFxbGZI1+B+?=
 =?us-ascii?Q?+epFdz9h666xRcYSlhyOhYJb8ANg8AsNkbGiK//r/EaVnsPsKoQo0DwPF1ET?=
 =?us-ascii?Q?gUskWv/BtGlh92sp2hmq6JKoyCPp80iwvtAgFYcYld3zUvKEaDpgjw9ulEbg?=
 =?us-ascii?Q?s7BsdB/vkNhTHC+4sTWJaTroR01Ayh+IBtKZ3gAD1mpH664k6+3vq/eXPL1J?=
 =?us-ascii?Q?0qQxxKLLaksBSNyj970aVMqJ3Op4iPbf0sfxeeY0aN9KS1VwdiVTw555M4gB?=
 =?us-ascii?Q?KUUwxc/RZIe/5Gs7xnkHcY26PkCsIndKKCS+OFrFzqXPA7W60E/a8bQduBUw?=
 =?us-ascii?Q?DGMXPFMUkH90OvPo3tqHlFhIwl+lJhwYTnx/uaN8U2WGzkk7fxfohA4sD+Jq?=
 =?us-ascii?Q?5lhWH39Fou9Cd7Hsb3gMDgBnR8Co3n6U8WxD6cGRxjBnGgCMqNXR7Fk6An8C?=
 =?us-ascii?Q?FLuuLY6nz84JG8UoHLC++BM//3Ssz6Q1wAshNVXvx57XfzqEV1yG6TvHD2Hx?=
 =?us-ascii?Q?7KzTLpe+nlZ4wxYKhfBUaaiKs95yUYwQfLU5u4qeiAbTdrpCXwQfGcXn25JD?=
 =?us-ascii?Q?OZZtRrpgx8r4smqSBVcAZXaCUFE0CfUDWe7+2cEh0unZzcggQHvYklnLJiMF?=
 =?us-ascii?Q?/reTOfEjSYOT1KfqwDQwLkCAsNi7CyfJ0fRRMVLNbieVijVmJ25YGTniHvho?=
 =?us-ascii?Q?Qsn+tPFr7dW1aAUYMM8CpeZh+hnsYA2zqdo8snWiobGyvFefrU+yNBDsqXsf?=
 =?us-ascii?Q?+aaXM9JoVHxDYJ1ZBC8ZRmLsEEVedEmbP5vaLqGMN6rF0JDiVMFPJM5dr0lZ?=
 =?us-ascii?Q?dH24wRIoU7PkZZjJZoI=3D?=
X-OriginatorOrg: Nvidia.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 55fe7add-e739-4cd4-94fa-08de02987c81
X-MS-Exchange-CrossTenant-AuthSource: PH7PR12MB5757.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Oct 2025 16:18:28.2119
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 6JtzAxDmQJNnADOiQAKtwe+/YqCcJjOti1yS0z8wf0TWQHhO0Uypjly9OUjPMTlr
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CYXPR12MB9280

On Sun, Sep 28, 2025 at 06:02:29PM +0300, Leon Romanovsky wrote:
> From: Leon Romanovsky <leonro@nvidia.com>
> 
> After conversion of arch code to use physical address mapping,
> there are no users of .map_page() and .unmap_page() callbacks,
> so let's remove them.
> 
> Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
> ---
>  include/linux/dma-map-ops.h |  7 -------
>  kernel/dma/mapping.c        | 12 ------------
>  kernel/dma/ops_helpers.c    |  8 +-------
>  3 files changed, 1 insertion(+), 26 deletions(-)

Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>

Jason


From xen-devel-bounces@lists.xenproject.org Fri Oct 03 16:35:32 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Oct 2025 16:35:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1136749.1473230 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4ikf-00005a-KL; Fri, 03 Oct 2025 16:35:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1136749.1473230; Fri, 03 Oct 2025 16:35:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4ikf-00005S-Hj; Fri, 03 Oct 2025 16:35:25 +0000
Received: by outflank-mailman (input) for mailman id 1136749;
 Fri, 03 Oct 2025 16:35:23 +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 <SRS0=NctN=4M=nvidia.com=jgg@srs-se1.protection.inumbo.net>)
 id 1v4ikd-00005M-L5
 for xen-devel@lists.xenproject.org; Fri, 03 Oct 2025 16:35:23 +0000
Received: from BL0PR03CU003.outbound.protection.outlook.com
 (mail-eastusazlp170120007.outbound.protection.outlook.com
 [2a01:111:f403:c101::7])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f3b772d8-a076-11f0-9809-7dc792cee155;
 Fri, 03 Oct 2025 18:35:21 +0200 (CEST)
Received: from PH7PR12MB5757.namprd12.prod.outlook.com (2603:10b6:510:1d0::13)
 by PH7PR12MB6717.namprd12.prod.outlook.com (2603:10b6:510:1b0::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.16; Fri, 3 Oct
 2025 16:35:07 +0000
Received: from PH7PR12MB5757.namprd12.prod.outlook.com
 ([fe80::f012:300c:6bf4:7632]) by PH7PR12MB5757.namprd12.prod.outlook.com
 ([fe80::f012:300c:6bf4:7632%2]) with mapi id 15.20.9182.015; Fri, 3 Oct 2025
 16:35:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f3b772d8-a076-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=r5TgKN1BAVreZY1YvW99Q8gujaAOvIgtprZM7RAubxWICUBRuM9aAc4W2ksNfuWMX1ucDBNTCZph6wlBEQJaS1opseE5ky8np++cVqV1zLXA2kIxUiaB+6u2CgrpZKX3JTGp///NMljHZLWDkG9wjB0KSk5KOJq0jOXmIqvQWnP22qo0wYu/DNAPezXDByAw43yHna6pfb2MfhvtbppKtnQtVk4ewN8KZBjA4EXc2u2btjK5KthrwsrWyhC+eyykuZ8Efi2qyaNMQzct4CT4xHq8KT09itaw76XyfIwo1KCCHdtGq49BcKLidnHutmjxmg7iPiMi9YR84N5VCdfRiw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=D5WNBozzU3ocTIOjymr3/7NM59JREOHeSWgMrLaWOBs=;
 b=ju6i3aMRAfNM/gzs3lxnpISLhRfT+tPsCciMUEr9dMru3gFLIsrf1kbeH8Cgs/PyE9ZZ/vqMVsxeYNqsaZt7KGpk3+DbZL6/8EjGybTfYb/Onux0FR/KgvFqVB3W4I1YzoiuSNrIlQDMSkN0I2ab0jCJiXX5paUGbJ6BZbHFnSDnbBeUNLDD0rNS4eWJvDIFp4Xdm8rp/LR3tZxhxw/UEYTd/6Wqni9YWUbzfYfnD4W7T+mICJLFBJuUYcF/3qbuhjgddjHAqwlzrSrVZYBJ0OBIZBQxwF0IMUWc/tFkAwKkrmW51CGbLdZ4epZDtPQNQtFI9jVekA3rWhnxuNc21w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com;
 dkim=pass header.d=nvidia.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;
 s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=D5WNBozzU3ocTIOjymr3/7NM59JREOHeSWgMrLaWOBs=;
 b=ZQCtV1resScx1gP+zfFuGAe0ArWregRy77vLlwuNbZX87D+aR+0A562LhnPB/ckEnLFg1jUTgthSYFprIzx5KSoZ7MQecevMsVo7tNdznmmA4ykPvG+0UiMOr0Ag9tbkHfOCMU8kH+xgoXiASmgLg51YjGRgpvEYUjinJ0hz/rWTnk/MjVzIHrSj4Tch/Xae1fGNlWpsNDlE5ypg87FVyPY5XdYpJ/etaWi4rNqDi7V7pWB6CPiiGW4G32t4BT5+ezlMul6cFKDc7Mt6t1t12HxMwwC53hyCwZBT9oa8JxjJ7PM+5GewsjyGlZJFEEPUOEBDiYrTh6D8cSibGlKcyg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=nvidia.com;
Date: Fri, 3 Oct 2025 13:35:05 -0300
From: Jason Gunthorpe <jgg@nvidia.com>
To: Leon Romanovsky <leon@kernel.org>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>,
	Leon Romanovsky <leonro@nvidia.com>,
	Andreas Larsson <andreas@gaisler.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"David S. Miller" <davem@davemloft.net>,
	Geoff Levand <geoff@infradead.org>, Helge Deller <deller@gmx.de>,
	Ingo Molnar <mingo@redhat.com>, iommu@lists.linux.dev,
	"James E.J. Bottomley" <James.Bottomley@hansenpartnership.com>,
	Jason Wang <jasowang@redhat.com>, Juergen Gross <jgross@suse.com>,
	linux-alpha@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Matt Turner <mattst88@gmail.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	sparclinux@vger.kernel.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Thomas Gleixner <tglx@linutronix.de>,
	virtualization@lists.linux.dev, x86@kernel.org,
	xen-devel@lists.xenproject.org, Magnus Lindholm <linmag7@gmail.com>
Subject: Re: [PATCH v1 4/9] powerpc: Convert to physical address DMA mapping
Message-ID: <20251003163505.GI3360665@nvidia.com>
References: <cover.1759071169.git.leon@kernel.org>
 <f2b69a0ac2308cc8fd8635dceac951670d41cea2.1759071169.git.leon@kernel.org>
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <f2b69a0ac2308cc8fd8635dceac951670d41cea2.1759071169.git.leon@kernel.org>
X-ClientProxiedBy: BLAPR03CA0094.namprd03.prod.outlook.com
 (2603:10b6:208:32a::9) To PH7PR12MB5757.namprd12.prod.outlook.com
 (2603:10b6:510:1d0::13)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH7PR12MB5757:EE_|PH7PR12MB6717:EE_
X-MS-Office365-Filtering-Correlation-Id: 69592d88-e8e1-44e9-29b0-08de029acfde
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|7416014|376014|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?lEM3/Bl8Zdm3WwAN/X5ZTFXsu9VEbQLls19Uix/0QdxkKu8gAQqwX/Wl1F05?=
 =?us-ascii?Q?2OEjpN7xKXrq9ei4tguXWHVxCylRjkLfZMqi9xpB/2kTpagZz4MHim53P4Pw?=
 =?us-ascii?Q?76oG4iZY6IFT8RjcSjYb4dF1E4nx86oYZhLh7M3toUjc0KlWn9zYrQeJBHkH?=
 =?us-ascii?Q?KASdTcttkyj/IvQjoNnbXlqiuoCONv90QYYzCmzAkqobtSPKEIo2CHCY+xnE?=
 =?us-ascii?Q?E7cLcKW8CTHurG4wzQfxnSmo5VxZLcOL+dswN2YOQMHWda7uV5Fty52hEWtI?=
 =?us-ascii?Q?Sj8dsbAxPotz5sGoDx8sc+I44j7ndj/cyYO/4fgGIbHqyJAF1/1Gl3aizAZO?=
 =?us-ascii?Q?kHNRZfEqX7kfvF7k6T4te7U44JC5soEVkDxUSCTYDpYp+Y8+SFJIbrV0TR5o?=
 =?us-ascii?Q?J0RXTIlKTI1w9i5TURvNeYMhfCUE6aCICGVux9ocKOis2JR2PeTjpqoJbm5E?=
 =?us-ascii?Q?kRu6iIOOfkjlcofPrLbKWQAzZhSw56dEbv27AgSY8UxDIdsWUg7ZJWe3YwCE?=
 =?us-ascii?Q?yWmuiUUgWKyL+8byEaGAEtbihJIYIc//UOmxCeGFi/eZ3BGfur5j26LLLgAo?=
 =?us-ascii?Q?29E/qXsW8NCZULE0G6yw4JUXzaC+s9ewunhuDKld//ZH2a2Q3BtTl69KlKaN?=
 =?us-ascii?Q?CPQ0wBQObUuraGlg/S9ijF+l3COurwDioiOn7Gi/5BT0oA8Bdr0Ry2hnHjk7?=
 =?us-ascii?Q?ujImqLS03e0P0RV4xnerMEhukWvJx1i1XyH8SlXRQD7H4NR/qPMWOpP8KUAl?=
 =?us-ascii?Q?V37Eaxv0/SO+hHZgIoZtIwl0HHiPSFgr9eIOWDNwmUcxrerT/OGvo2oWWstg?=
 =?us-ascii?Q?F7t1XS0NpJje2CCk8J0f9pRWM3sX4BoHL5hKIBuVgqsBEAI4IGS0KQfDmK0g?=
 =?us-ascii?Q?nLQJqJKkPdsLUaxZhG3Hw43HDD5o9NqIV4u+oH2Zt1IjHtwfDEt5aRANc6uQ?=
 =?us-ascii?Q?7szkzqDkAOiBQL3Y0N5Q9vnukWcrQ3TDGZb6aZ5IbPJqdxCy0O/IgZ8Z3ACl?=
 =?us-ascii?Q?p9sOWKB23Pp5cuiRQlWMY4ooxVUBr65D8/3Kwj3TcHuDuGH2uXgvTAZ7VSLx?=
 =?us-ascii?Q?JV9TOPWr1Yxh4xw9b/hR5Tcaj/l4dA5RlUj8PqPNvPsjEuMMkNrjXwlhHIFr?=
 =?us-ascii?Q?JLuplV8Z1RVNRMI5xPGq8HNBbkjXxUyarAbUFcn+cTvyikdTTEJmE6xcRp8n?=
 =?us-ascii?Q?eb7CpNI+8dar7In+hnSlHNKqYi7ofoH7zyM2ptwAK4w2JEMIFnlYZYcbT/jX?=
 =?us-ascii?Q?fXDpcvgqP9qSZGI+AsU4qL+XNDJLmVc26cIcwbX8jyQR7gk5dLYDOBaPWW5i?=
 =?us-ascii?Q?H3AKZ9phCWos6bMYNITjfMjkCUAZATW/IFWS2WXaWmzNHHt6FCjE5HsJJYXy?=
 =?us-ascii?Q?V2kDII5PtmNk49TMHSRAFwUCPLHpRDemHjZQlS/02z0VYZh/yVAfkTKT+1bJ?=
 =?us-ascii?Q?YN4Id9fbcpCYHhF/Ka2GcDPza2of9h8e?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH7PR12MB5757.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(7416014)(376014)(1800799024);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?7pqlS6ypLKXfmqVS6SG7rDCaH6Ahg5LBMLnIjNI3u0xg6rQRCCVLoT/596VF?=
 =?us-ascii?Q?WyGpzmltz/nEJtAlk6zeOsFbTshewY9AdcaMWQmYBkEtJeXLCTaYECC6rLRf?=
 =?us-ascii?Q?OWcA/eQzjagzZX6n42vKHf8VM0gIDPwjygP/DFsE2PZ9Ja0+jJxyMeSnml6N?=
 =?us-ascii?Q?xvbkhJhJ9UYkFJN/71JR0mzYV/ueyeoyrwitMJfz3b/2J1qEZW9mjw9Pfq+W?=
 =?us-ascii?Q?HsWRpuMMV4PLeWO6A/NywWp1wWbxBinos+lfQMzFuenT9YJrVT/usOaJ6CH/?=
 =?us-ascii?Q?4Apbn+h7PYz7RATEXC8nvZvPNEB4zhQX/cor8Px++f0v36ONErWiZTwN65pP?=
 =?us-ascii?Q?II4Jz4RDM4WYzRC/rTvKKEml9ckeo8fP26hwg8Jxnh94nQ2uomHZkXi2AuRN?=
 =?us-ascii?Q?qiRevpCuP9tlBwvB8N2Ev4JgB4VTT3ArobyEuqL6sVHrhJkaulhc55nzd4pL?=
 =?us-ascii?Q?5VP6kVIItXbMUU8lNbgA7nCEvOaTHZl5aQP1LtkqOWCcmIPCCOgNeLv6Ss+k?=
 =?us-ascii?Q?jPq97rzeqK7Ngd48+Ui5DwEwVzagdFubtlwo3ZNuw0BD9AOSGLX+ZAorwnud?=
 =?us-ascii?Q?Gwyi6l2FwXH3tjpPdltPrHlr46fQM5buBVi8cLZ4g0LbT2L1FFI64YVhagEz?=
 =?us-ascii?Q?0xWMNmGnaPdGsJlRWkXPu2dC/2qZV3EiSqCOV4Vw6rTP8PexAJiUeG93d266?=
 =?us-ascii?Q?CaHtvyfLsl8VhteqTsPoORkmULuCAGyhF6qMO5wN4XGNNIPJYPSftH7ixwaS?=
 =?us-ascii?Q?qKWZzkuKp2Bf98zQvBf1DobTtXOJWWinlemeT3hwyuCANNATqPULIRbvZYLF?=
 =?us-ascii?Q?SjOSK4Esn1tt54CCLEBbQ3QRfziuycMq3fSv5lmX51yGs7dj9j58NOl0nvyo?=
 =?us-ascii?Q?Z2THdLiwbq3opRA7sZ5RWbv9oULtr9W5nqij9vxF4798FW/fP3Ec3LVluzY4?=
 =?us-ascii?Q?sVnkOhyMzPdtJXU+W8v0Sn4xL9I3s7mUyXwAds144nKGsZ/jJvS2xBpwIyux?=
 =?us-ascii?Q?6878wh6lLcqWmi+M75HiPl9nSvWVGb8AhMcoOa0PldpM8NtM87AiWpnaBiLj?=
 =?us-ascii?Q?LZ8lRfkCGSTx2hEwjQ3N7nTCPOWq/DPLcKDdbjwcnLGGZfhY/eT7nJZO2DSP?=
 =?us-ascii?Q?2D67jnNFutdk2q7D5NG9DmbjLNFNXktMNPtsIgL7Mje9CnM+WfwhlavWOKi6?=
 =?us-ascii?Q?AYwj5oOcWsKAMaTZOGWxfDs22aqyvLgjuQkgQd8B1ohXvHOVOLVopqj+HdCB?=
 =?us-ascii?Q?uNlZhG3b4pF7ENOTFedaJL6aimpoY65PJTYBGU2mJYIsDy0E5rgFVwegXUwC?=
 =?us-ascii?Q?d9xsho2zjFRxjWsvN5JAtsIfUkpa6nYAxPN5QhgZHi8QUI9qjNjz0p2TgNom?=
 =?us-ascii?Q?tCHmNeEqiNct47uvYe8xVrFrB7BXVKSCSo+U6l4k0SPk1SbRWY7QHMWCX1cG?=
 =?us-ascii?Q?ezY8qnRwsJrV26Qvfn/G9zFbueZdvMBcB3qisZ8AA/oM2hJ/mn7sN8L4bedE?=
 =?us-ascii?Q?hVBCbYl7qA0aE24qOpL0v7+bDa9oJ0Llvbz3ClGTK+C0l9OoqLHxBFOKhaSo?=
 =?us-ascii?Q?8h5c35Wjpp9l1H6AG9A=3D?=
X-OriginatorOrg: Nvidia.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 69592d88-e8e1-44e9-29b0-08de029acfde
X-MS-Exchange-CrossTenant-AuthSource: PH7PR12MB5757.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Oct 2025 16:35:07.5220
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: FUk3yiYxe2wzX8M6d/cK+lnAb7OePBsnefu2DU0fb4dEBxdFGaG3b6BO93Gv0cQD
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB6717

On Sun, Sep 28, 2025 at 06:02:24PM +0300, Leon Romanovsky wrote:
> From: Leon Romanovsky <leonro@nvidia.com>
> 
> Adapt PowerPC DMA to use physical addresses in order to prepare code
> to removal .map_page and .unmap_page.
> 
> Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
> ---
>  arch/powerpc/include/asm/iommu.h         |  8 +++---
>  arch/powerpc/kernel/dma-iommu.c          | 22 +++++++---------
>  arch/powerpc/kernel/iommu.c              | 14 +++++-----
>  arch/powerpc/platforms/ps3/system-bus.c  | 33 ++++++++++++++----------
>  arch/powerpc/platforms/pseries/ibmebus.c | 15 ++++++-----
>  arch/powerpc/platforms/pseries/vio.c     | 21 ++++++++-------
>  6 files changed, 60 insertions(+), 53 deletions(-)

I think this is good enough for PPC anything more looks quite hard

Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>

Jason


From xen-devel-bounces@lists.xenproject.org Fri Oct 03 17:05:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Oct 2025 17:05:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1136765.1473241 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4jDg-0004Ya-Ve; Fri, 03 Oct 2025 17:05:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1136765.1473241; Fri, 03 Oct 2025 17:05:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4jDg-0004YT-St; Fri, 03 Oct 2025 17:05:24 +0000
Received: by outflank-mailman (input) for mailman id 1136765;
 Fri, 03 Oct 2025 17:05:23 +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
 <SRS0=TaDF=4M=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1v4jDf-0004YN-Rh
 for xen-devel@lists.xenproject.org; Fri, 03 Oct 2025 17:05:23 +0000
Received: from mail-ed1-x533.google.com (mail-ed1-x533.google.com
 [2a00:1450:4864:20::533])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 259436f6-a07b-11f0-9d14-b5c5bf9af7f9;
 Fri, 03 Oct 2025 19:05:22 +0200 (CEST)
Received: by mail-ed1-x533.google.com with SMTP id
 4fb4d7f45d1cf-62fc0b7bf62so3854359a12.2
 for <xen-devel@lists.xenproject.org>; Fri, 03 Oct 2025 10:05:22 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-67-38.play-internet.pl.
 [109.243.67.38]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-637ef848199sm2928261a12.21.2025.10.03.10.05.20
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 03 Oct 2025 10:05:20 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 259436f6-a07b-11f0-9d14-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1759511121; x=1760115921; darn=lists.xenproject.org;
        h=subject:from:cc:to:content-language:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=q4sDSfyEo4doa9r9lqLvuT8mzJW9AkZHjDX4G/dmL9A=;
        b=Jyh4bfUPOJj1ayzcKsRjHb4B8DOqi6jfCJuPvPhGFYSRwUHQklOyW8kdOfgy4i1UPh
         E+Y5zo+TnTGSrZq5QSKnehPSk2x8ZtD9imF7snNQh1BFNQPFX8auyMxRJXbGLnvJvbG/
         7YjRvoSEk8bBecb95bElecQPqYVIeMwlpQ+i8MC3cYnjSTt89ofjBw/Vb/6zuSbOsMab
         7/Q9S65sYwnQq8NzAJCEr1Dd44d5vz3p8Va7xtx1z/2tY7SgMKh/wLV/C2N+CIEojKUT
         81cNe9QXHGhvih7bO1IxP8uF3oVKZHAOFX1DUGWfHyMLvMbxc9SQFochE+6VPe7jZR36
         Y7Sg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759511121; x=1760115921;
        h=subject:from:cc:to:content-language:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=q4sDSfyEo4doa9r9lqLvuT8mzJW9AkZHjDX4G/dmL9A=;
        b=JmpUzkyb5vuGu9nlGGDhPixkJExaWcIhSOmzwIRI2XcfOLBKeo+mpNKHiDYRuJVHND
         Ovj9vl/mn5QPONJttIZbgxOBD10t90I84XPdO2X+ypsaH20ETkVIhzr8YPB//pizLSwl
         pKuKt26TutH+hlKO1waTu8Xa+SzdNZdvl0aDqTet2J/CCgtFlkIGFTMxBZnNOhlgEhZH
         jRjrA8XBa4Bd4xrn9cAaZKAJ2JYY0BpRJzhrBifHd+YnL+Iatrd+8EjFDpLjR4aXY3YX
         lwdfLG46XiaDMqNOS+EUONCUDO9ynNbIX6gCbKA8oW1WSa6FAhLkhkHtkBdiANwLwPRB
         nhsg==
X-Gm-Message-State: AOJu0Yxmklab1kleYjyZNuc85VL9SJ3GurxCu0YuqObiPd85jBzW7xTj
	3uhYjyve/EszMpVnD2Q0b3+U5eHi6SHSeKnrkcxA2PqvzrBdTnmGwURQ7sguuw==
X-Gm-Gg: ASbGnct48xKMjbTpWbS0Fm9wftw4EIA8mTdo8Pdv+43zZq4+T2hAnOJEMKNbbHvFUEp
	t/116Vs867PEtt+JhQtq6dudugY6ZGbV/PtWNia5NMIlTo0Zr6jOv9Yu1jjtXgBPKT16lcfeKW/
	uzG6j6XGp3c0mH/ks9ediXBEdp9uXh/WiVcGtQv1zuva0KwdyoPsv+ZzIUGQDAvKf2qOTBUDAen
	8lo4NQDIkG1yRxb++1ikjcMm/8CljIZOAelBVDDeG0uENFuG3yS7eOXfbA/GyLNud81+RdxkKpW
	NYibjtzzTamZyjKBjjQs/4tjrdKaM++Fd3WVc9Z0Ly7vF7c+l7nhEBzOaPggeEcVVl2DjQlfPUu
	Dsqn7bTxLK5l9FvDimNILUB/Vq9XySD6xiLe2L5NsfH2Z53hYrDhxK+CxqOItSvgtebN54h7QdJ
	U7QaPneJ9krtN20ARCskshLg7bgsUveJOxhyo=
X-Google-Smtp-Source: AGHT+IGYHDRQDYQBI+fRCW3S6DvG2ipjTI7Ifc+Hvk/8tEt6BzIMDg3a6vSE/RUjCHRROy0aq+iogw==
X-Received: by 2002:a05:6402:13cf:b0:633:deec:8b57 with SMTP id 4fb4d7f45d1cf-639348e3d34mr4177829a12.16.1759511121140;
        Fri, 03 Oct 2025 10:05:21 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------Zx4N0dKLN0OjzDeb6eAfQ0B6"
Message-ID: <4345cabf-55dd-4885-bb2c-95f63ad17fa5@gmail.com>
Date: Fri, 3 Oct 2025 19:05:19 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: "committers@xenproject.org" <committers@xenproject.org>,
 Community Manager <community.manager@xenproject.org>
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Hard code freeze for Xen 4.21 started on 04 Oct 2025

This is a multi-part message in MIME format.
--------------Zx4N0dKLN0OjzDeb6eAfQ0B6
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hello everyone,

The hard code freeze for Xen 4.21 runs from October 4, 2025, to October 31, 2025.

Bug fixes for serious issues (including regressions) and low-risk fixes may
continue to be accepted by maintainers during this period.

R-Ack is requited during this period.

Please add me in CC for any bugs or fixes you believe should be included
in the current release.

Thanks, and have a great weekend.

Best regards,
  Oleksii

--------------Zx4N0dKLN0OjzDeb6eAfQ0B6
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit

<!DOCTYPE html>
<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <pre data-start="146" data-end="163">Hello everyone,

The hard code freeze for Xen 4.21 runs from October 4, 2025, to October 31, 2025.

Bug fixes for serious issues (including regressions) and low-risk fixes may
continue to be accepted by maintainers during this period.

R-Ack is requited during this period.

Please add me in CC for any bugs or fixes you believe should be included
in the current release.

Thanks, and have a great weekend.</pre>
    <pre data-start="702" data-end="727">Best regards,
 Oleksii</pre>
    <p></p>
  </body>
</html>

--------------Zx4N0dKLN0OjzDeb6eAfQ0B6--


From xen-devel-bounces@lists.xenproject.org Fri Oct 03 17:07:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Oct 2025 17:07:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1136779.1473250 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4jG5-00059n-Au; Fri, 03 Oct 2025 17:07:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1136779.1473250; Fri, 03 Oct 2025 17:07:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4jG5-00059g-8H; Fri, 03 Oct 2025 17:07:53 +0000
Received: by outflank-mailman (input) for mailman id 1136779;
 Fri, 03 Oct 2025 17:07:52 +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
 <SRS0=WIY+=4M=epam.com=Volodymyr_Babchuk@srs-se1.protection.inumbo.net>)
 id 1v4jG4-00056b-9g
 for xen-devel@lists.xenproject.org; Fri, 03 Oct 2025 17:07:52 +0000
Received: from DB3PR0202CU003.outbound.protection.outlook.com
 (mail-northeuropeazlp170100001.outbound.protection.outlook.com
 [2a01:111:f403:c200::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7c4682fc-a07b-11f0-9809-7dc792cee155;
 Fri, 03 Oct 2025 19:07:47 +0200 (CEST)
Received: from VI0PR03MB10448.eurprd03.prod.outlook.com (2603:10a6:800:204::5)
 by PAWPR03MB9213.eurprd03.prod.outlook.com (2603:10a6:102:330::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.16; Fri, 3 Oct
 2025 17:07:44 +0000
Received: from VI0PR03MB10448.eurprd03.prod.outlook.com
 ([fe80::eea6:fd66:3cd8:babe]) by VI0PR03MB10448.eurprd03.prod.outlook.com
 ([fe80::eea6:fd66:3cd8:babe%6]) with mapi id 15.20.9160.017; Fri, 3 Oct 2025
 17:07:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7c4682fc-a07b-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=WCR/2cosDxE2MGlhjkYgw1+/r+SopvPYswICWPyt94mDOcgFE+/t3T+4wkwJ+KGdQ/weQ7yLhIP7al/N8TiXNw5cJgbX+NGh7wRuF7yKAxIXNPcgYm4WrbCPM487jzRnqOXb98EJpEQSlKGT/0pCidJMP8bLJUSaQsoIvsOrDPbfh/No1cJzANNHSCfw37s/6RNsgo5fdFouVJRb4t0B8S+Sm3sLbPzJV0PEeKh6R7i8UFpqpLncZlpM/0ZRIa3WOrmVe4eVG9JM3OGAe5jKpLz10JYlTom9CEv/waCUeL0x+57RAQ6YlR3GBWuTphpX+hRUoarHCpC4PFp5ObvvKA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KFDYpRCrPwwFVonBc5SfI3g+repFAeW/sMO/8d8Okhs=;
 b=Y7n2mPsWij/wZb5vJHjZnoVQbFOsmjXpYxC3ztdePm9yXF8YItKIk0OeQvIfqhyzClJ2h6wCxbwo1l2zyL8wcHe5igFDAdl17jDv/UI9APAncfKEYzE58Ov1mDm9I22xgNvpa/VrU0zE8tfMeqqK2zCzxO3TBXwX4C5SnLSMlw8juQlRydYymg2x+wwFh2zv3aq25mx8hoJ6hjeBFK2H/452M5avI8BHxxgz5lbPpBBIWsu1aj4ZoETklMWNjaPx8eFKoIQda41ycZAzCQpdOCk3y5CeX1YEF/0E2H92XtRCuvt+0mpa66wBXKktQpQg2A1HJWhSUz34pPR4V2CSlw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KFDYpRCrPwwFVonBc5SfI3g+repFAeW/sMO/8d8Okhs=;
 b=X04m708WrY4bTgm76nNoCW6cuAQgdDdNsNolKR+aumgRHKfy1ug5GWjyHWXS/KdstgFtG+4Sv5I/Na8ucXHc9jLWb7U1Yfw0NZa9CmrSRfb2GKMqneNUW7mIXCUPA40POmnn2MMFDYgnMy2K3D4MxRMiURytVlkeG/UI4w++bTwko/zjPKtZgEKCZ57pKzfZ8aZ1bBdbalK60sln/4sB3Byk+V1xHSqw6eVOeffxhKT8MFvB7UyoZSyzm8HzH0aF8w2Wbmps6Wtg/XZmzdoRWhq7d+wPf6Y+NKVq1UWS82YVofhOW801uVeuzmzqIepbOu3MQ+3nGDTNopFIg/UVBg==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: Grygorii Strashko <grygorii_strashko@epam.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand
 Marquis <bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Anthony PERARD
	<anthony.perard@vates.tech>, Jan Beulich <jbeulich@suse.com>,
	=?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>
Subject: Re: [PATCH v3 0/4] xen/arm64: allow to make aarch32 el1 support
 optional
Thread-Topic: [PATCH v3 0/4] xen/arm64: allow to make aarch32 el1 support
 optional
Thread-Index: AQHcIvTyx9z2i0DJTUamNSgeNa0v/g==
Date: Fri, 3 Oct 2025 17:07:44 +0000
Message-ID: <87y0prncbk.fsf@epam.com>
References: <20250911082034.1326377-1-grygorii_strashko@epam.com>
In-Reply-To: <20250911082034.1326377-1-grygorii_strashko@epam.com> (Grygorii
	Strashko's message of "Thu, 11 Sep 2025 08:20:35 +0000")
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI0PR03MB10448:EE_|PAWPR03MB9213:EE_
x-ms-office365-filtering-correlation-id: 04d495f9-8095-4e45-f9b0-08de029f5ed8
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|1800799024|366016|42112799006|376014|38070700021;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?yF9BGF7TP4S/LSfIBu3pBBg8gGVAnwfZf72QaIJUjAwHG2bLKsYiSQZtW9?=
 =?iso-8859-1?Q?TYOR1wjsdQQ/r07YiHMkbngUPe/PZU23dw+qzjbqQKtq2WnTzly5YKJX4P?=
 =?iso-8859-1?Q?CdbeM9A7OObsFL8uADMGBwWcWGdVuPq/FtPAugvhJ3NmtaNq9bcRgcwqKL?=
 =?iso-8859-1?Q?r7ePA6okYhtxy/Hwd8jv7N3xGjk+do49jwmnpncrI8Gz+Lq7YqWhBr5Msc?=
 =?iso-8859-1?Q?roM6sgP0vky5GLR5lcfXA/hXbNQgRKpfMQ8k4k1OGY/V1WqLN+8lf7m9N9?=
 =?iso-8859-1?Q?UOXLa0oiDk2Wxuuw4IpZMpoWObo5wspbwCesuACTsXnIrmhGgtQvSi+2Hn?=
 =?iso-8859-1?Q?cfMwYyx2sGW6SDrMPkxKqJzVgfyhQ6ejSgpSNFoy5yqcC9sd2r5XXCFjJu?=
 =?iso-8859-1?Q?zhZnZfbKY9eQ4CstXHz1A5vfCnuwesRU52TbaKsRi2wJdeSpto4poa6+PC?=
 =?iso-8859-1?Q?tuKq0wHOz6q1SiSzCs9DmG5mE1Mx8vnn8XgyrpiRfEqaIuqLa9f8EYmcao?=
 =?iso-8859-1?Q?cYoXvzhrsWcWJ5wzAgos5P2H0ERaW4Eef+3JoNnvdqUBsW6qjCUMsPCfNw?=
 =?iso-8859-1?Q?EjdHnl7qXuq2B8Gi1iC/oVasiKCbyv79vATd9s4sZxOXwHFtfbCWTFITLk?=
 =?iso-8859-1?Q?/812rd0XbtTBcMJ7AG6hJaN8IS8kpsxhV1Wi3qqsEcL90rOCMcGYRRB+Qf?=
 =?iso-8859-1?Q?FN5DQSkHPU7xDD43BpDHW04o0p+xg2h3f7DG6+sBAShll83CncmeDaDbi3?=
 =?iso-8859-1?Q?TnMkOoyWBT7mTvqNA9PxihmP+TVMkGod+vhA1iHJywQt/w1iz9hKlLR5tT?=
 =?iso-8859-1?Q?RKgGgYx1KC4/HTAf7hRx2QFHoXaR9AsjuGLvp9PDAS5W+E32Q/sy5ZbtD7?=
 =?iso-8859-1?Q?ff0pT3OYqqJhnnqZdKwrwv/Wm+WIMcnOTETMDPp6HdVk1VEnvXy+oeB5XN?=
 =?iso-8859-1?Q?DFTEJpsIN7utNMxB63JENxzglwxUiXv0OrLhVIRmvbESwrHheddTnblxhU?=
 =?iso-8859-1?Q?oU+QZLtykOCnWf0I2XjCyb/cTlvPCHHjVo8lTzNIpRZ85IQNKboBLYMqbh?=
 =?iso-8859-1?Q?5O0oYYQ1q0zrqXjyUJwAqO3Iu7NdpXtyptnb3tWjBE5H47O6OntU1TXZ3i?=
 =?iso-8859-1?Q?FtyuPviPH1wO7o7HCgx9LhUAZ4HSQrHrKU0UxQz+FQqkvBp41NWgzh4+9i?=
 =?iso-8859-1?Q?lS1d9Pk2z5RdPHBTENvnJvX63G54yvNXKbwCqM6CcME7d+LnXpm1NQm2in?=
 =?iso-8859-1?Q?ue/lRLsxczbz6R11fmCC7Z01v8d+xnwo+jb8hmfF/qGicOIwCf812W5P/K?=
 =?iso-8859-1?Q?hLQ0+Y6uz60/dIdnj6I4JmeluxL05rR3o2SiM5lMpwvfsnUHdRoSmsK/ER?=
 =?iso-8859-1?Q?59JxL5gXvEMZk/Ae558mJ50tYzpzKo3vQ2XkQ00tqCrWwzbE65TpgG9l/9?=
 =?iso-8859-1?Q?8oaDeC4aj3S1IBMUSc4Tm+vspAAfB8oXixN+Iwr/rMxt24/OadUgbArjvH?=
 =?iso-8859-1?Q?0SSfcPanUOuJosrUJ7VtnZaXNOH/KahYnlCRyOnBzaRQ+rjETA8OrYemFS?=
 =?iso-8859-1?Q?PBKRdYBDg7icJ/hxUPL96qE/nO+p?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI0PR03MB10448.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(42112799006)(376014)(38070700021);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?YRRCElPTtMhMcrr1Xl4Sz+cYsrUD/Z3vNiwtywMl6CEjGgC2JnCN3742ua?=
 =?iso-8859-1?Q?0/vQiYBeckRSSLsNR1s1GZZAh97G5UdyYFxEoGxZpNhU2z/JqjQIRDN+uS?=
 =?iso-8859-1?Q?9oJV1hv8YzALDvG000UcGHwSkL4O8+YEsKfNb9T85ResuZQaDNdOe6V/ut?=
 =?iso-8859-1?Q?/asIi9V/U0RrQBmntM2TlP4Yr2wNtLb+pT6xG8OG5xOLHmJ8XtMW24G8e4?=
 =?iso-8859-1?Q?MhnYk6NyT44PKNFx0paiz++K9vdj/tfeI8eCS8sxFa+Epji4BILnWxN6ni?=
 =?iso-8859-1?Q?Hjn28n9+MPVRNrov65I0lSKRvDYXnj+QuM8S8paKk8DxRDkEaI4R/1xuoo?=
 =?iso-8859-1?Q?B7G+F9PbQ117f0SQNK8E3i3L8hKKPeI2plP7X9M4xJWPwVAS2lidjrN1lS?=
 =?iso-8859-1?Q?0480i6gXLVv6XWC2IK13sRsCxGj62+Mj7A1UERshpBq+eUHvL4I343P7Ui?=
 =?iso-8859-1?Q?g72MDYlEQ9DIUGUsHffPUGS9XKijXB5rSpsDc2VGC7u5edVx6MU6+L87Qf?=
 =?iso-8859-1?Q?/GXP6KTratqQizQ0XVlmpQBSecs/jPa3uCHNMaTT/UcbsxX7EGJAvMSKG5?=
 =?iso-8859-1?Q?QPp3kAtwyVD25SvzfCmQaQF9ifke9Jgd7tf4Z76j0ADrifYHYo2zRQisGF?=
 =?iso-8859-1?Q?Su2AzJs+saYWFOLCXTO6qp7/VrlWtoKwLpYQExpt2qYZy/jDmgWbkfHHqW?=
 =?iso-8859-1?Q?R8Lk8fNKnj0bdgHtEykU7vP9dp6btkCWIDJHk6pQPBfr8ruiZpVufj5Pfq?=
 =?iso-8859-1?Q?vDRBVDc4NgUNIEs1upFomaL+iEQupMjtLAUFXhO6VDRyfJlL7ZlYwtmmVX?=
 =?iso-8859-1?Q?HFfHQsx/J1owa53CKu/ixtmz8vUmM/l0sE4qnrHvYU+GdcAy8kumhqC3Ka?=
 =?iso-8859-1?Q?9Qay0jYjdUFEKvrS0cueLz31PK96cXJyELLlq5LdUYcsF6svLjHiIoqsMe?=
 =?iso-8859-1?Q?kkYT0R+sgONw/W8ZN00B/cMlcjvguf3JXIofke3dwubOq2k2vPGLLNc/gQ?=
 =?iso-8859-1?Q?39y3MUpYw2fmdbhsbXuhZ9zwAxef+E7McSH47sX5ZZ4qiPfTs6rCgas9kX?=
 =?iso-8859-1?Q?9dvF+D5dcRoUo4WsouqACTSSPfo8BE5ycGzh+u+V6F+vF0uvhiqG2TFeEP?=
 =?iso-8859-1?Q?ucX2Idp3p+styIhECfMIH8GjtELKCyqXcBrdzWs87wxKrWJPPLDAsx6eqS?=
 =?iso-8859-1?Q?/5fdXoNUM+eBq12FCrz22f4MXBxKHlFoS4r10T0iRs9oY+2jNLuxoQBSH0?=
 =?iso-8859-1?Q?N/aUYdfI/U882pyyF7RX4Rgr3Mgu6IofYEmNbazyZyjz/4+M65iLukxuDA?=
 =?iso-8859-1?Q?p9UZIyKeOK89VKToHKTRd5zPXmwDULjnBXvLbSSfV7wLgkeY5aLm0Qsd8z?=
 =?iso-8859-1?Q?5m/uMLL2LYSiSAljOfGYbp2Gg8wSddMGc+oDZZvVPLsazaJukOLa7zV+6/?=
 =?iso-8859-1?Q?YyAeUNIvWpdhs4zezERQh61rY6GEx83lksjKsFTdHxd0YI8FpEYCn9W0T/?=
 =?iso-8859-1?Q?Ag50wmRYD0O1hRMJGNgZFv3T/Dd3dY59fViI5kEWpxztckV/2nTmlFbVhE?=
 =?iso-8859-1?Q?ytphqRhPnLYFyeLUP2SvwVrIvkFCRj2BfuuoFn2l58k226glquI/5mpT4l?=
 =?iso-8859-1?Q?J9VnoL1MtGqd2vzuBCeuNZw8ovYB56ggTDEzCaDm6fy4lL6mwIh3dNIA?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: VI0PR03MB10448.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 04d495f9-8095-4e45-f9b0-08de029f5ed8
X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Oct 2025 17:07:44.7099
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: FxKfcNLVsleAXNvEZOl/et6PKw5/ca0Zyb+bH3vFVoxLttaFpLvpfi9FrSZ0JTN2wLf5vDnKN/TT8qQafW/s8ZvXB/wVLSW4W8BeetSih/I=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR03MB9213


Hi Grygorii,

Grygorii Strashko <grygorii_strashko@epam.com> writes:

> From: Grygorii Strashko <grygorii_strashko@epam.com>
>
> Hi,
>
> During review of v1 [1] of this series Julien Grall raised concern that=20
> "If the desire is to make 32-bit domain optional on Arm64.=20
> Then I think it would be better to pass the domain type when the domain i=
s
> created (IOW add an extra flags to XEN_DOMCTL_createdomain)." for which
> I've sent patches attempting to start solving the problem [2] and try to
> probe guest kernels before creating domains. While proposed changes [2] i=
s
> under review and hence there are definitely more work is required I'd
> appreciated if current series can be considered as it's Arm specific only
> and working (and tested) with current Xen in its current state.

I am not sure that this is a great idea. Domain creation process is
convoluted enough and your patch 3 makes it more convoluted and hard to
follow. Probably it is better to wait while [2] series will be merged
and then revisit this series.

[...]

--=20
WBR, Volodymyr=


From xen-devel-bounces@lists.xenproject.org Fri Oct 03 17:26:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Oct 2025 17:26:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1136796.1473261 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4jYD-00088e-RK; Fri, 03 Oct 2025 17:26:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1136796.1473261; Fri, 03 Oct 2025 17:26:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4jYD-00088X-OU; Fri, 03 Oct 2025 17:26:37 +0000
Received: by outflank-mailman (input) for mailman id 1136796;
 Fri, 03 Oct 2025 17:26: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 <SRS0=NctN=4M=nvidia.com=jgg@srs-se1.protection.inumbo.net>)
 id 1v4jYC-00088R-4s
 for xen-devel@lists.xenproject.org; Fri, 03 Oct 2025 17:26:36 +0000
Received: from SJ2PR03CU001.outbound.protection.outlook.com
 (mail-westusazlp170120002.outbound.protection.outlook.com
 [2a01:111:f403:c001::2])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 189d225b-a07e-11f0-9809-7dc792cee155;
 Fri, 03 Oct 2025 19:26:30 +0200 (CEST)
Received: from PH7PR12MB5757.namprd12.prod.outlook.com (2603:10b6:510:1d0::13)
 by MN0PR12MB5953.namprd12.prod.outlook.com (2603:10b6:208:37c::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9160.18; Fri, 3 Oct
 2025 17:26:20 +0000
Received: from PH7PR12MB5757.namprd12.prod.outlook.com
 ([fe80::f012:300c:6bf4:7632]) by PH7PR12MB5757.namprd12.prod.outlook.com
 ([fe80::f012:300c:6bf4:7632%2]) with mapi id 15.20.9182.015; Fri, 3 Oct 2025
 17:26:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 189d225b-a07e-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=qfoEPWXDKBqrcU1OrS31SsHJ4QKpd0NgJ3BI82+J/CMK+o2d/L6RzBETJYbO1AReRaQWc1h4PqZAEPJ9BhZ9/bO2mlsDVza4iFe7TXEffZf9q5Ikk814qCREqOdKQ8Qu0CNW0OHdRrrczhMVsbdAPLQ7YfLG62pSRhu4kfVgBO3BZvSJEXQuJOqMS8guq1TRDRRP25Y/PeXoneOdHz9BayujIGxMpQlX46D/zJccAPUVX1B1wCnB9WmvdrMAmnfYJF5ssmDF9LSKoVKt4qQHSEDa/o8FxUnCipm5HUqq2DFtOkh5fiGpVNP2VsHlVgRcM/j7nhFm8qSiywy8SmrTIw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bXhNRclvRQqPu5YaGU3lFoOJYwK/H8OlfrcScOqzFuc=;
 b=pytpJSNmrQuoXQ/HnCn4GNXqaxbW2OACqcmIHpFhgNpetqWi8Q6aU9IHxwifhkYjh7TzU5hUBxFuW4yjHu8UCvD75FgigpCbi3QSntRb6Voikyhf4OIcphEOgLhBYo7gG6Lj0GcRBKEQHxdQMb6Hjh8anNooPwrIXptaDw5fzPG6uGdu05sNVnshe/kJuart7piOuwHuyG3AdD7aq1cY7GbFBb3Sv4EMt6Mr8xhy1hfxliEnINboHAc2mJcfdUkmqlhTwYXa0vwRr3urSskhgRWC4GlgnqODUBYRrWZ2HbFaCmitvUYIFStlAS7TjqHOgzplsidXQI0crnDIeM4QDQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com;
 dkim=pass header.d=nvidia.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;
 s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=bXhNRclvRQqPu5YaGU3lFoOJYwK/H8OlfrcScOqzFuc=;
 b=d6fYFnYkuQCa5NhIMmrEQotVdpxWdvkBqKjkKkjsktg/xrnc1yT8NLxhjtBJwRKGWnzXaNYnBmA/Inoc351yUM2/1h8uXdfInkqQTOCs0ij7T6y51q6cW3p29BxwgzV0doBw+fRe01j01/UWMLcmwsTdEPh8bmySwMViZM4o4y+PXlkpvNMf7vwkSpnVlM3Es67Za5NT2O59CqqLYREk4D0P4FaS6nNxsFX2noQBR0j9J84nEMbYLPk4Hx1KV/rsfBK137C3manZUG2RfOXF+fze/d44dBUzq5wlnleoxSZil5GOD4Ysrpp9x/Di7z7Y8tmJY9jLnLjkp8lqsH20oA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=nvidia.com;
Date: Fri, 3 Oct 2025 14:26:18 -0300
From: Jason Gunthorpe <jgg@nvidia.com>
To: John David Anglin <dave.anglin@bell.net>
Cc: Leon Romanovsky <leon@kernel.org>,
	Marek Szyprowski <m.szyprowski@samsung.com>,
	Leon Romanovsky <leonro@nvidia.com>,
	Andreas Larsson <andreas@gaisler.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"David S. Miller" <davem@davemloft.net>,
	Geoff Levand <geoff@infradead.org>, Helge Deller <deller@gmx.de>,
	Ingo Molnar <mingo@redhat.com>, iommu@lists.linux.dev,
	"James E.J. Bottomley" <James.Bottomley@hansenpartnership.com>,
	Jason Wang <jasowang@redhat.com>, Juergen Gross <jgross@suse.com>,
	linux-alpha@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Matt Turner <mattst88@gmail.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	sparclinux@vger.kernel.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Thomas Gleixner <tglx@linutronix.de>,
	virtualization@lists.linux.dev, x86@kernel.org,
	xen-devel@lists.xenproject.org, Magnus Lindholm <linmag7@gmail.com>
Subject: Re: [PATCH v1 3/9] parisc: Convert DMA map_page to map_phys interface
Message-ID: <20251003172618.GJ3360665@nvidia.com>
References: <cover.1759071169.git.leon@kernel.org>
 <333ec4dabec16d3d913a93780bc6e7ddb5240fcf.1759071169.git.leon@kernel.org>
 <20251003150144.GC3360665@nvidia.com>
 <610b10bc-1aa2-4fad-a40b-be5fcfa04430@bell.net>
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <610b10bc-1aa2-4fad-a40b-be5fcfa04430@bell.net>
X-ClientProxiedBy: BN0PR08CA0025.namprd08.prod.outlook.com
 (2603:10b6:408:142::10) To PH7PR12MB5757.namprd12.prod.outlook.com
 (2603:10b6:510:1d0::13)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH7PR12MB5757:EE_|MN0PR12MB5953:EE_
X-MS-Office365-Filtering-Correlation-Id: 61f9b3a2-7185-4f61-5b16-08de02a1f777
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|7416014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?M2WfAeViLK2Z2ZzVogh73RpdmLuIpUZq8Lga3fUgqNqD/2YFt13ug1cjDwY9?=
 =?us-ascii?Q?Ig3RcprHptmK9jbxrEkFksxaHhitCa3xhMrIicHiEwbi2t6Fz5NRI6OpvG61?=
 =?us-ascii?Q?2zb2/sp8Y9hJfKZpANJtkk3pD7FF4jg7IFHJ3yopMCluyxbrCM2imig0gSm3?=
 =?us-ascii?Q?tMY6raoXFnwbPcPMX/W4SGLPLV3VqdjvjqFT3GhHj9GhqC6Qb0oUvxag3n2x?=
 =?us-ascii?Q?6cI9ZXMdlJqd6sV0jJJd9AGdI4ulPOOLy/HU3dO5v8paoGMlJqX6w39gGRdw?=
 =?us-ascii?Q?A1yr3EgIrGlon4bS3KTjK12zeir0wRIpHZ0az/asK9Z+QnmRlSIeZ+3alsRl?=
 =?us-ascii?Q?oAhzBOUl8APhTgfGq708Ni/wzlI1mw/ziqqWDXyuO+laSeMGTE/XCLbKk6rl?=
 =?us-ascii?Q?vOc5/h1PNJTMaOW1a4hKt6CsjFUqrG2qA618X5vspe+np6OukzpMadWYv6Xi?=
 =?us-ascii?Q?whT1L+sfKsdGy3af8acp0dLwKIgYWOkmAeeZGemSxc3GZ0TS5lW0TSdIf0FD?=
 =?us-ascii?Q?FRnbVM9gZDc0BlMIgwc4PF4dkk5UcT8itjioVk0D4aUwYEwWFq0Q86an8PPf?=
 =?us-ascii?Q?fJAkMYRup5vEM2dMAUkTYR6E3ty31lCFFqzpr+gQSlOxdQdETNCuGwMkqCkg?=
 =?us-ascii?Q?U2wi/SCrOIYuEELkG5rGfagEJ/LRg3XRYq0VTFb68iMPMIka5im7ATj7SW10?=
 =?us-ascii?Q?4d31aR9jMUTUNrX84gW+QUS06VbTWY4vUZDFj9+qEDynIpE/4XCshZQ+tM4y?=
 =?us-ascii?Q?qpKN1IM2K37vlBp5gM5y5uOzHGkgHAsdeXytX5w9/hdEWEJDCkJwYY1birNQ?=
 =?us-ascii?Q?+wk9sAxJbYazNDa2g4bOIVG+xq+BCE+9KXZcN/OkqMi2GCcVbLido6qOMtAS?=
 =?us-ascii?Q?KKB70nw2DlCXOweFS0zrELlWnF2ZCtG31uDZc5n8jmYwG/A11/dVMyBpTUHD?=
 =?us-ascii?Q?lVqGfx/GfSB6TwRZVIkbtI0HGX5xh2G3VzmWujVjnQgSLDua3Hn4ly1BshWI?=
 =?us-ascii?Q?zCX32FyV1gQshOB/5N5mw5fJMnOIs+2THryDMqyCW8T9PilJqxsMQKjGauY0?=
 =?us-ascii?Q?LhTg+TgR1G53qxLd+AH+f1uzQoiQzjH+wpgi9VyWmWeJmfWJi2l5sKHKmU6g?=
 =?us-ascii?Q?EGNd+T+FyZaxRVyqYtYpm4+B3TmzUU8JYhAqWW+M8u6xliumGUDk6ypoTHw+?=
 =?us-ascii?Q?jjMDIsyQ7gEDum2428jLjCspdHcnxVKyBHPzT5Elpn5dH5IS1fhJY3LnhuYU?=
 =?us-ascii?Q?GDo8GtZB2PUDLDpgSQZNR1okrqrQSRp4IYXBMaPnEu8JJx+ot9DCNrh/81GN?=
 =?us-ascii?Q?J1Ap828Nzj3s9vIApjfH/NsAnuNcm/MCWF0LZzYi+xYm9E3JtJUJ6xWl7qNO?=
 =?us-ascii?Q?tbh/LvMHtikqO9synBpuyXizDWQAYLX0Op1G9q4iag7pxtW7ag9I52RchtD4?=
 =?us-ascii?Q?SqyLzGGwqx48J8c2as3BATG5Gqb2E/ia?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH7PR12MB5757.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(7416014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?b2dRSWhXbxmXtT3sE2RMrQ67aLgQ2V7Flmt2lnt2xlF7nYDGIztwj3pS2uwd?=
 =?us-ascii?Q?n+IdGapB3O9UIiMQoPMNh6IsKYHCcZJkLY9xQZ2vWY9lFGHenkO2DBhU3N6J?=
 =?us-ascii?Q?3xKY2m84lRs19NYOk1XwBBEpQa2yslOb7KS2QaWxIRPyROCfzMwHPy69KJKV?=
 =?us-ascii?Q?BFF9EPR3++FXYmkvwoef2VCwXurc1CD8pRoWG2eGT/xdbHdCleihs+7897rY?=
 =?us-ascii?Q?UpLlBNjvUmF1eSfo54Cfxg3R6LD8MZWLlDlkBrCAAyukT3BRTsA0SRAGpK3p?=
 =?us-ascii?Q?Bp59mj6gjHzhuypvp0OrViKhY3n7/MpZUv2bGEu4J+aoQqHFoxJ83ce8pOT8?=
 =?us-ascii?Q?JcHnmOWlPs46u4tC4S6398hy+Z3WpA7MmjhGPCIpj+CObtQVGR1QhiW8rev5?=
 =?us-ascii?Q?m2YZzwpmfX26DMmNvVkOtdlYOzvH1AH9XDK0Hq2jTTX5AgyE8mBk5QZtYpmM?=
 =?us-ascii?Q?R24hixLtHwIoFy7i2Bnk72wUJfw8R+3UN81wnJjKAhBsvd15axwpv0CU1sxn?=
 =?us-ascii?Q?4zuWndJnlpZ4D9Pamflaj07NFS5mJTvW0RuFUT6eGoBnKk868wBzBsV8WS/Y?=
 =?us-ascii?Q?HbsK9l45plYcmvB262RVCdY51/glC2AAPyyebxH7j0qMMPZd08G8Mj2bhlYC?=
 =?us-ascii?Q?MK1JYB+viCh3E2zw4ExjRYn0U7BiINNFlwQDxXcTSG1WPgmTQNkl/8W92JMP?=
 =?us-ascii?Q?GsqYBPRN0Tk+NMKhDT1oCyB1l7GVV3it1b1zjWKZXNB19+B14A7resFI7n45?=
 =?us-ascii?Q?UxRno5xPzuUdgKLsrFfJNYyCyWJ4x/hC3IFxGvSBRDRCSR7gs0ubFj1rC+L9?=
 =?us-ascii?Q?q4kRWkmFD/vu/KhHNtrqULg9R96Y6cUYrBwF+ALXHd5Ju7aXW597It9vVKLW?=
 =?us-ascii?Q?OmFPn4E6Oclf+B0pmSeiKKCIuDfhsUlAt9AI7E573B6tBCUbdc/6fLr2rdI6?=
 =?us-ascii?Q?QwXWvOAOyh/x2eWZlycfF4sI3/2EjkEH7PM8stdkClNAQJ7w5UZif9hQQvSI?=
 =?us-ascii?Q?0aG1xck/nZ8SK0nvxkYGV18SC4MhMO/fx7OSpPbSZU5hJ8dzf42VKpBsW1ko?=
 =?us-ascii?Q?Hd2DGVH+Id5MV2x3OUFuLteRhvJpnJ5RoHIrXX7AadTB92BSeUwKRxD8vWOo?=
 =?us-ascii?Q?526CO+pAwdZXiKuf0+p166bkDVVA6pGBDOuBaVMy7Oq254E8I+EmFuUEgkT4?=
 =?us-ascii?Q?lnYRmakGc7nhByRNoxWPbPQ3903cj3yaZHU/YmrhWMpzU1bxviqqjwbigWvY?=
 =?us-ascii?Q?o9Lcx0L37MWjqshxuKdEPJXbp3kZp//5QtWhQklEK/ZcHzDNcMkEr945NiDf?=
 =?us-ascii?Q?wSvi0B0pICipxRbP7Hgf5oSsFnkZ7VAdgEkehZ9Vrny6i7NIpzzZgHUcoPBE?=
 =?us-ascii?Q?u59mrMT/zcYkE/T4cdL4hSqPdgeVLGJTEySRMF3OFKasyYh6Qzm6sx9PrFBI?=
 =?us-ascii?Q?snHORk1rGeKHm641Npj5XwUduR6t4sqNUe/YOQpz72qNfvYhkx7OL/ZWUluk?=
 =?us-ascii?Q?w/Ty1/+exY3HZiGuKEvVjBW0nKqBXCVfAgjunj3M8WsQJw6eQh8AyQt+fRZO?=
 =?us-ascii?Q?fRx73xbZvrOMSuHqXbk=3D?=
X-OriginatorOrg: Nvidia.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 61f9b3a2-7185-4f61-5b16-08de02a1f777
X-MS-Exchange-CrossTenant-AuthSource: PH7PR12MB5757.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Oct 2025 17:26:19.9467
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: INI0kVWRWJoAj8g5ME8XCvKknEdjhjicXmAR32iWuNcBMkcBLPfGdUOAsp8SrNgq
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB5953

On Fri, Oct 03, 2025 at 01:18:32PM -0400, John David Anglin wrote:
> On 2025-10-03 11:01 a.m., Jason Gunthorpe wrote:
> > This doesn't actually use the virt at all:
> > 
> > 	offset = ((unsigned long) addr) & ~IOVP_MASK;
> > 	if((size % L1_CACHE_BYTES) || ((unsigned long)addr % L1_CACHE_BYTES))
> > 		ccio_io_pdir_entry(pdir_start, KERNEL_SPACE, (unsigned long)addr, hint);
> > 
> > And ccio_io_pdir_entry():
> > 	pa = lpa(vba);
> > 
> > Is a special instruction that uses virt but AI tells me that special
> > LPA instruction is returning phys. Not sure if that is a different
> > value than virt_to_phys()..
> 
> ccio_io_pdir_entry currently only supports KERNEL_SPACE.  For KERNEL_SPACE, lpa() and
> virt_to_phys() are equivalent if page is mapped.  lpa() returns 0 if a non-access data
> TLB fault occurs (i.e., page isn't mapped).  Not sure if that
> matters.

After unfolding everything the expression is

  lpa(phys_to_virt(pa))

So if that is always equal to pa then lets just drop it.

phys_to_virt() always returns something kernel mapped, and it can't be
unmapped.

Jason


From xen-devel-bounces@lists.xenproject.org Fri Oct 03 18:00:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Oct 2025 18:00:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1136794.1473271 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4k57-0004iU-94; Fri, 03 Oct 2025 18:00:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1136794.1473271; Fri, 03 Oct 2025 18:00:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4k57-0004iN-5f; Fri, 03 Oct 2025 18:00:37 +0000
Received: by outflank-mailman (input) for mailman id 1136794;
 Fri, 03 Oct 2025 17:20:22 +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
 <SRS0=4mzO=4M=bell.net=dave.anglin@srs-se1.protection.inumbo.net>)
 id 1v4jS9-0007xa-W0
 for xen-devel@lists.xenproject.org; Fri, 03 Oct 2025 17:20:22 +0000
Received: from cmx-mtlrgo002.bell.net (mta-mtl-001.bell.net [209.71.208.11])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 377137c2-a07d-11f0-9d14-b5c5bf9af7f9;
 Fri, 03 Oct 2025 19:20:12 +0200 (CEST)
Received: from [192.168.2.49] (142.126.189.246) by cmx-mtlrgo002.bell.net
 (authenticated as dave.anglin@bell.net)
 id 687D2719085236A8; Fri, 3 Oct 2025 13:18:32 -0400
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 377137c2-a07d-11f0-9d14-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bell.net; s=selector1; t=1759512012; 
        bh=Zng9vbugJ96jo23SWsSK+sYWjXU4T6lDUgmXQbXs8jQ=;
        h=Message-ID:Date:MIME-Version:Subject:To:References:From:In-Reply-To:Content-Type;
        b=AJ46lFS7zFpwvHFtEB98pNf5ZtdmaQC7UIKpyi0dWxzvXD5HzKWUg0bCcxGhpNYIbnXFyrJxaBWQAPnjyeOpCfCLbjG/e86/fqHtV8FAjgtnbOi8KdHTe5jhyZbiPBV+jk/3POfKiLxS50d0VBTLrjorex7NPVT0BWJP3gL90JpZhDaMIgUoGUiOyAKcKGDz/ztiKz/HMdYaDHwdXO2E198A+a3FflgbhSFdb8Kf0jg56Pgzdwo4dhw5U32iId97sZBFuCht8ThjAYc2BwIBQxGWnDzkR1mUdjGmgdURv76bFv/f08TByBr4HKc3MZNqyNTeEsf8mNzd2FhLWOTYiA==
X-RG-SOPHOS: Clean
X-RG-VADE-SC: 0
X-RG-VADE: Clean
X-Originating-IP: [142.126.189.246]
X-RG-Env-Sender: dave.anglin@bell.net
X-RG-Rigid: 687D2719085236A8
X-RazorGate-Vade: dmFkZTEz5RsOfS/EjyC9+Ub2YxMQTERFV1WLvzAUX6YmdSOutxh9nRbLS04S3w48higa1O8ySU0qm+pqSRX3wt8t7qkudb+hf38O2cDVBt0Kodl0paa0HIkabXXcLE04OYO2sfJDqHB/jS8wt+02VySn6T7scpRa2/Wb/W0TedGsH+DNn2gMwBQkWLPoywlRU31ryXtBiYmXlotzDw/m9sHi6Ve2Oe4ZbS7rGoU0eMfVxQ1vdpTbvuVoBHAzbOn/HOzN2sm3iazxmdQXB2zliRM2lqfuZ84PwaM8At8uXBomYirF3V7eWOpaQHd67GeKnlALIR04/2bSPWgtsioImHLtEYMUYILOLrqzu60KxaDoJfi0jS84+pz1YHvEjCAHio3FYqB5B70FUgeLOG5tpRvdjUaDoceW5vxb8rUVFiNlIZEORiP8Ryt2DdKF/msyF/ll7HjQWR/Z37leTmRcz68buYNSLzuuzJKUIPl92lqv8sTwABSZMs3YepgBjMuPskBbPEHdnWoUKJbVe1qcVlI3GQOAXS5mf3ynF6weGnFTuZ4HZbi4HX3L30T7A7X8Qv1rTZ3rpm5EpmFtAmqDAuNKPjQAa7kjbsf/J8ObDge/LHWP85rEf+OYzINc2XvkMdaAGSz6QlO/27zkjU+6gaSl175fxf9Mjs880jgHp7z6R/5qNA
X-RazorGate-Vade-Verdict: clean 0
X-RazorGate-Vade-Classification: clean
Message-ID: <610b10bc-1aa2-4fad-a40b-be5fcfa04430@bell.net>
Date: Fri, 3 Oct 2025 13:18:32 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 3/9] parisc: Convert DMA map_page to map_phys interface
To: Jason Gunthorpe <jgg@nvidia.com>, Leon Romanovsky <leon@kernel.org>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>,
 Leon Romanovsky <leonro@nvidia.com>, Andreas Larsson <andreas@gaisler.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 "David S. Miller" <davem@davemloft.net>, Geoff Levand <geoff@infradead.org>,
 Helge Deller <deller@gmx.de>, Ingo Molnar <mingo@redhat.com>,
 iommu@lists.linux.dev,
 "James E.J. Bottomley" <James.Bottomley@hansenpartnership.com>,
 Jason Wang <jasowang@redhat.com>, Juergen Gross <jgross@suse.com>,
 linux-alpha@vger.kernel.org, linux-kernel@vger.kernel.org,
 linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org,
 linuxppc-dev@lists.ozlabs.org, Madhavan Srinivasan <maddy@linux.ibm.com>,
 Matt Turner <mattst88@gmail.com>, Michael Ellerman <mpe@ellerman.id.au>,
 "Michael S. Tsirkin" <mst@redhat.com>,
 Richard Henderson <richard.henderson@linaro.org>,
 sparclinux@vger.kernel.org, Stefano Stabellini <sstabellini@kernel.org>,
 Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
 Thomas Gleixner <tglx@linutronix.de>, virtualization@lists.linux.dev,
 x86@kernel.org, xen-devel@lists.xenproject.org,
 Magnus Lindholm <linmag7@gmail.com>
References: <cover.1759071169.git.leon@kernel.org>
 <333ec4dabec16d3d913a93780bc6e7ddb5240fcf.1759071169.git.leon@kernel.org>
 <20251003150144.GC3360665@nvidia.com>
From: John David Anglin <dave.anglin@bell.net>
Content-Language: en-US
Autocrypt: addr=dave.anglin@bell.net; keydata=
 xsFNBFJfN1MBEACxBrfJ+5RdCO+UQOUARQLSsnVewkvmNlJRgykqJkkI5BjO2hhScE+MHoTK
 MoAeKwoLfBwltwoohH5RKxDSAIWajTY5BtkJBT23y0hm37fN2JXHGS4PwwgHTSz63cu5N1MK
 n8DZ3xbXFmqKtyaWRwdA40dy11UfI4xzX/qWR3llW5lp6ERdsDDGHm5u/xwXdjrAilPDk/av
 d9WmA4s7TvM/DY3/GCJyNp0aJPcLShU2+1JgBxC6NO6oImVwW07Ico89ETcyaQtlXuGeXYTK
 UoKdEHQsRf669vwcV5XbmQ6qhur7QYTlOOIdDT+8zmBSlqBLLe09soATDciJnyyXDO1Nf/hZ
 gcI3lFX86i8Fm7lQvp2oM5tLsODZUTWVT1qAFkHCOJknVwqRZ8MfOvaTE7L9hzQ9QKgIKrSE
 FRgf+gs1t1vQMRHkIxVWb730C0TGiMGNn2oRUV5O5QEdb/tnH0Te1l+hX540adKZ8/CWzzW9
 vcx+qD9IWLRyZMsM9JnmAIvYv06+YIcdpbRYOngWPd2BqvktzIs9mC4n9oU6WmUhBIaGOGnt
 t/49bTRtJznqm/lgqxtE2NliJN79dbZJuJWe5HkjVa7mP4xtsG59Rh2hat9ByUfROOfoZ0dS
 sVHF/N6NLWcf44trK9HZdT/wUeftEWtMV9WqxIwsA4cgSHFR2QARAQABzTdKb2huIERhdmlk
 IEFuZ2xpbiAoRGViaWFuIFBvcnRzKSA8ZGF2ZS5hbmdsaW5AYmVsbC5uZXQ+wsF3BBMBCAAh
 BQJSXzdTAhsDBQsJCAcDBRUKCQgLBRYCAwEAAh4BAheAAAoJEF2/za5fGU3xs/4P/15sNizR
 ukZLNYoeGAd6keRtNcEcVGEpRgzc/WYlXCRTEjRknMvmCu9z13z8qB9Y9N4JrPdp+NQj5HEs
 ODPI+1w1Mjj9R2VZ1v7suFwhjxMTUQUjCsgna1H+zW/UFsrL5ERX2G3aUKlVdYmSWapeGeFL
 xSMPzawPEDsbWzBzYLSHUOZexMAxoJYWnpN9JceEcGvK1SU2AaGkhomFoPfEf7Ql1u3Pgzie
 ClWEr2QHl+Ku1xW0qx5OLKHxntaQiu30wKHBcsF0Zx2uVGYoINJl/syazfZyKTdbmJnEYyNa
 Bdbn7B8jIkVCShLOWJ8AQGX/XiOoL/oE9pSZ60+MBO9qd18TGYByj0X2PvH+OyQGul5zYM7Q
 7lT97PEzh8xnib49zJVVrKDdJds/rxFwkcHdeppRkxJH0+4T0GnU2IZsEkvpRQNJAEDmEE8n
 uRfssr7RudZQQwaBugUGaoouVyFxzCxdpSYL6zWHA51VojvJYEBQDuFNlUCqet9LtNlLKx2z
 CAKmUPTaDwPcS3uOywOW7WZrAGva1kz9lzxZ+GAwgh38HAFqQT8DQvW8jnBBG4m4q7lbaum3
 znERv7kcfKWoWS7fzxLNTIitrbpYA3E7Zl9D2pDV3v55ZQcO/M35K9teRo6glrtFDU/HXM+r
 ABbh8u9UnADbPmJr9nb7J0tZUSS/zsFNBFJfN1MBEADBzhVn4XyGkPAaFbLPcMUfwcIgvvPF
 UsLi9Q53H/F00cf7BkMY40gLEXvsvdUjAFyfas6z89gzVoTUx3HXkJTIDTiPuUc1TOdUpGYP
 hlftgU+UqW5O8MMvKM8gx5qn64DU0UFcS+7/CQrKOJmzktr/72g98nVznf5VGysa44cgYeoA
 v1HuEoqGO9taA3Io1KcGrzr9cAZtlpwj/tcUJlc6H5mqPHn2EdWYmJeGvNnFtxd0qJDmxp5e
 YVe4HFNjUwsb3oJekIUopDksAP41RRV0FM/2XaPatkNlTZR2krIVq2YNr0dMU8MbMPxGHnI9
 b0GUI+T/EZYeFsbx3eRqjv1rnNg2A6kPRQpn8dN3BKhTR5CA7E/cs+4kTmV76aHpW8m/NmTc
 t7KNrkMKfi+luhU2P/sKh7Xqfbcs7txOWB2V4/sbco00PPxWr20JCA5hYidaKGyQxuXdPUlQ
 Qja4WJFnAtBhh3Oajgwhbvd6S79tz1acjNXZ89b8IN7yDm9sQ+4LhWoUQhB5EEUUUVQTrzYS
 yTGN1YTTO5IUU5UJHb5WGMnSPLLArASctOE01/FYnnOGeU+GFIeQp91p+Jhd07hUr6KWYeJY
 OgEmu+K8SyjfggCWdo8aGy0H3Yr0YzaHeK2HrfC3eZcUuo+yDW3tnrNwM1rd1i3F3+zJK18q
 GnBxEQARAQABwsFfBBgBCAAJBQJSXzdTAhsMAAoJEF2/za5fGU3xNDQP/ikzh1NK/UBrWtpN
 yXLbype4k5/zyQd9FIBxAOYEOogfKdkp+Yc66qNf36gO6vsokxsDXU9me1n8tFoB/DCdzKbQ
 /RjKQRMNNR4fT2Q9XV6GZYSL/P2A1wzDW06tEI+u+1dV40ciQULQ3ZH4idBW3LdN+nloQf/C
 qoYkOf4WoLyhSzW7xdNPZqiJCAdcz9djN79FOz8US+waBCJrL6q5dFSvvsYj6PoPJkCgXhiJ
 hI91/ERMuK9oA1oaBxCvuObBPiFlBDNXZCwmUk6qzLDjfZ3wdiZCxc5g7d2e2taBZw/MsKFc
 k+m6bN5+Hi1lkmZEP0L4MD6zcPuOjHmYYzX4XfQ61lQ8c4ztXp5cKkrvaMuN/bD57HJ6Y73Q
 Y+wVxs9x7srl4iRnbulCeiSOAqHmwBAoWaolthqe7EYL4d2+CjPCcfIuK7ezsEm8c3o3EqC4
 /UpL1nTi0rknRTGc0VmPef+IqQUj33GGj5JRzVJZPnYyCx8sCb35Lhs6X8ggpsafUkuKrH76
 XV2KRzaE359RgbM3pNEViXp3NclPYmeu+XI8Ls/y6tSq5e/o/egktdyJj+xvAj9ZS18b10Jp
 e67qK8wZC/+N7LGON05VcLrdZ+FXuEEojJWbabF6rJGN5X/UlH5OowVFEMhD9s31tciAvBwy
 T70V9SSrl2hiw38vRzsl
In-Reply-To: <20251003150144.GC3360665@nvidia.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 2025-10-03 11:01 a.m., Jason Gunthorpe wrote:
> This doesn't actually use the virt at all:
> 
> 	offset = ((unsigned long) addr) & ~IOVP_MASK;
> 	if((size % L1_CACHE_BYTES) || ((unsigned long)addr % L1_CACHE_BYTES))
> 		ccio_io_pdir_entry(pdir_start, KERNEL_SPACE, (unsigned long)addr, hint);
> 
> And ccio_io_pdir_entry():
> 	pa = lpa(vba);
> 
> Is a special instruction that uses virt but AI tells me that special
> LPA instruction is returning phys. Not sure if that is a different
> value than virt_to_phys()..

ccio_io_pdir_entry currently only supports KERNEL_SPACE.  For KERNEL_SPACE, lpa() and
virt_to_phys() are equivalent if page is mapped.  lpa() returns 0 if a non-access data
TLB fault occurs (i.e., page isn't mapped).  Not sure if that matters.
> IDK, I'm not feeling brave enough to drop the LPA but maybe include
> this note in the commit message.
> 

-- 
John David Anglin  dave.anglin@bell.net


From xen-devel-bounces@lists.xenproject.org Fri Oct 03 20:30:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Oct 2025 20:30:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1136849.1473280 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4mPn-0004lv-IY; Fri, 03 Oct 2025 20:30:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1136849.1473280; Fri, 03 Oct 2025 20:30:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4mPn-0004lo-Fg; Fri, 03 Oct 2025 20:30:07 +0000
Received: by outflank-mailman (input) for mailman id 1136849;
 Fri, 03 Oct 2025 20:30:06 +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
 <SRS0=4mzO=4M=bell.net=dave.anglin@srs-se1.protection.inumbo.net>)
 id 1v4mPl-0004dY-Rh
 for xen-devel@lists.xenproject.org; Fri, 03 Oct 2025 20:30:05 +0000
Received: from cmx-mtlrgo001.bell.net (mta-mtl-007.bell.net [209.71.208.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bdb13c9a-a097-11f0-9d14-b5c5bf9af7f9;
 Fri, 03 Oct 2025 22:30:04 +0200 (CEST)
Received: from [192.168.2.49] (142.126.189.246) by cmx-mtlrgo001.bell.net
 (authenticated as dave.anglin@bell.net)
 id 68C1701503F87783; Fri, 3 Oct 2025 16:28:45 -0400
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bdb13c9a-a097-11f0-9d14-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bell.net; s=selector1; t=1759523404; 
        bh=ZSiozYL9av6/yqYZ1ojB886S7qQBNu1kIdF3OOFiSt4=;
        h=Message-ID:Date:MIME-Version:Subject:To:References:From:In-Reply-To:Content-Type;
        b=mTyB940Q0GfYnz21tXBKxSqulFOleIM8RqWAD1qt0T+IeVc/x7q7w2b5fRIOtNXDNYcWfwqOc1XE/8ZiQvYv9IUqrPAVyjdV9tzWazGdgV9waIoTwZuRGyJVXRyw3HdLAbMmaDwvX/DnZZMuOe/hYT2pUn/4G/pMadKa1vPmonyx06EQLMKqbIaYjm9Ywu7zbP+EeJdnUMOipDSFlERyd5QUTqvmNWXWgKC7rz71cvp5ysij7JS8K1uNHzu6XRQuvFEufyez+tkVwvh73Ft0PmeSGAn3ntwarU0fgPFWE5NCtZCcwHaDocyhTZNT6XB3+INlaDdgbnmii+pw1xYCcg==
X-RG-SOPHOS: Clean
X-RG-VADE-SC: 0
X-RG-VADE: Clean
X-Originating-IP: [142.126.189.246]
X-RG-Env-Sender: dave.anglin@bell.net
X-RG-Rigid: 68C1701503F87783
X-RazorGate-Vade: dmFkZTFAVSVH3SiUOFRgEpdKbxkygZJRN+wjQ3+7JLA/aHxHSm5i7/PF4mTBT8WtBn7+lxiMRPYLKXtCf7iS9x+McIrTICRECzSEsBDDmX0g+rXi4ctSksWPFcfviRm+PotPodUreZwFE6frq9b/vZEWb9zohQp8N7b1TBIv581R6bMFc3aRYEoBuh6XFu7wQcCcbyctvLBQ9AekV97lK3DUxQ9tGcTDjh44Ei8XDzNWZYGLXru/OXuyyVa7U035NNK7XE/UT2nBkRYYlTzUefAExYdm5r1AjIdGXoCVmMdRppQMDACxagJbItn+DPkJkK1D0uasAZcsSUoBAyFDdObcd9rbrkK+4MlJQXN6niRN7ztkec65gQWM7JFKddfdKIVZMsOdle3RXVrmEbYnkuZw+ClrPLYlsCYCGLNnzy9/eHGWmdlSKWKykBjq3V3P/imMdsohjOWPsu3FAU7N961cqrCS6BAleJcJRZ7cZRqO1xwU6qJPWAk1eKkeK2KmEypOTyHDN/P+DrdGdY/zckiNfWcrY1QB9SoGB7IFYrdtE99hVyEjkzjAzm/yGBJlaP3J8IBYWqFZyPtHFt6E+Ch59FlmNbZ+3GPApsc7p/7XvSOS82tfG4hA2Bu9MDLbD+hvLd4FUqQUBf0W5NH3gX5MPaP17NoqnnFOR1XFqkNnFwFm0g
X-RazorGate-Vade-Verdict: clean 0
X-RazorGate-Vade-Classification: clean
Message-ID: <45e1dff3-aff1-4a41-ab24-6eddf6171e3a@bell.net>
Date: Fri, 3 Oct 2025 16:28:45 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 3/9] parisc: Convert DMA map_page to map_phys interface
To: Jason Gunthorpe <jgg@nvidia.com>
Cc: Leon Romanovsky <leon@kernel.org>,
 Marek Szyprowski <m.szyprowski@samsung.com>,
 Leon Romanovsky <leonro@nvidia.com>, Andreas Larsson <andreas@gaisler.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 "David S. Miller" <davem@davemloft.net>, Geoff Levand <geoff@infradead.org>,
 Helge Deller <deller@gmx.de>, Ingo Molnar <mingo@redhat.com>,
 iommu@lists.linux.dev,
 "James E.J. Bottomley" <James.Bottomley@hansenpartnership.com>,
 Jason Wang <jasowang@redhat.com>, Juergen Gross <jgross@suse.com>,
 linux-alpha@vger.kernel.org, linux-kernel@vger.kernel.org,
 linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org,
 linuxppc-dev@lists.ozlabs.org, Madhavan Srinivasan <maddy@linux.ibm.com>,
 Matt Turner <mattst88@gmail.com>, Michael Ellerman <mpe@ellerman.id.au>,
 "Michael S. Tsirkin" <mst@redhat.com>,
 Richard Henderson <richard.henderson@linaro.org>,
 sparclinux@vger.kernel.org, Stefano Stabellini <sstabellini@kernel.org>,
 Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
 Thomas Gleixner <tglx@linutronix.de>, virtualization@lists.linux.dev,
 x86@kernel.org, xen-devel@lists.xenproject.org,
 Magnus Lindholm <linmag7@gmail.com>
References: <cover.1759071169.git.leon@kernel.org>
 <333ec4dabec16d3d913a93780bc6e7ddb5240fcf.1759071169.git.leon@kernel.org>
 <20251003150144.GC3360665@nvidia.com>
 <610b10bc-1aa2-4fad-a40b-be5fcfa04430@bell.net>
 <20251003172618.GJ3360665@nvidia.com>
From: John David Anglin <dave.anglin@bell.net>
Content-Language: en-US
Autocrypt: addr=dave.anglin@bell.net; keydata=
 xsFNBFJfN1MBEACxBrfJ+5RdCO+UQOUARQLSsnVewkvmNlJRgykqJkkI5BjO2hhScE+MHoTK
 MoAeKwoLfBwltwoohH5RKxDSAIWajTY5BtkJBT23y0hm37fN2JXHGS4PwwgHTSz63cu5N1MK
 n8DZ3xbXFmqKtyaWRwdA40dy11UfI4xzX/qWR3llW5lp6ERdsDDGHm5u/xwXdjrAilPDk/av
 d9WmA4s7TvM/DY3/GCJyNp0aJPcLShU2+1JgBxC6NO6oImVwW07Ico89ETcyaQtlXuGeXYTK
 UoKdEHQsRf669vwcV5XbmQ6qhur7QYTlOOIdDT+8zmBSlqBLLe09soATDciJnyyXDO1Nf/hZ
 gcI3lFX86i8Fm7lQvp2oM5tLsODZUTWVT1qAFkHCOJknVwqRZ8MfOvaTE7L9hzQ9QKgIKrSE
 FRgf+gs1t1vQMRHkIxVWb730C0TGiMGNn2oRUV5O5QEdb/tnH0Te1l+hX540adKZ8/CWzzW9
 vcx+qD9IWLRyZMsM9JnmAIvYv06+YIcdpbRYOngWPd2BqvktzIs9mC4n9oU6WmUhBIaGOGnt
 t/49bTRtJznqm/lgqxtE2NliJN79dbZJuJWe5HkjVa7mP4xtsG59Rh2hat9ByUfROOfoZ0dS
 sVHF/N6NLWcf44trK9HZdT/wUeftEWtMV9WqxIwsA4cgSHFR2QARAQABzTdKb2huIERhdmlk
 IEFuZ2xpbiAoRGViaWFuIFBvcnRzKSA8ZGF2ZS5hbmdsaW5AYmVsbC5uZXQ+wsF3BBMBCAAh
 BQJSXzdTAhsDBQsJCAcDBRUKCQgLBRYCAwEAAh4BAheAAAoJEF2/za5fGU3xs/4P/15sNizR
 ukZLNYoeGAd6keRtNcEcVGEpRgzc/WYlXCRTEjRknMvmCu9z13z8qB9Y9N4JrPdp+NQj5HEs
 ODPI+1w1Mjj9R2VZ1v7suFwhjxMTUQUjCsgna1H+zW/UFsrL5ERX2G3aUKlVdYmSWapeGeFL
 xSMPzawPEDsbWzBzYLSHUOZexMAxoJYWnpN9JceEcGvK1SU2AaGkhomFoPfEf7Ql1u3Pgzie
 ClWEr2QHl+Ku1xW0qx5OLKHxntaQiu30wKHBcsF0Zx2uVGYoINJl/syazfZyKTdbmJnEYyNa
 Bdbn7B8jIkVCShLOWJ8AQGX/XiOoL/oE9pSZ60+MBO9qd18TGYByj0X2PvH+OyQGul5zYM7Q
 7lT97PEzh8xnib49zJVVrKDdJds/rxFwkcHdeppRkxJH0+4T0GnU2IZsEkvpRQNJAEDmEE8n
 uRfssr7RudZQQwaBugUGaoouVyFxzCxdpSYL6zWHA51VojvJYEBQDuFNlUCqet9LtNlLKx2z
 CAKmUPTaDwPcS3uOywOW7WZrAGva1kz9lzxZ+GAwgh38HAFqQT8DQvW8jnBBG4m4q7lbaum3
 znERv7kcfKWoWS7fzxLNTIitrbpYA3E7Zl9D2pDV3v55ZQcO/M35K9teRo6glrtFDU/HXM+r
 ABbh8u9UnADbPmJr9nb7J0tZUSS/zsFNBFJfN1MBEADBzhVn4XyGkPAaFbLPcMUfwcIgvvPF
 UsLi9Q53H/F00cf7BkMY40gLEXvsvdUjAFyfas6z89gzVoTUx3HXkJTIDTiPuUc1TOdUpGYP
 hlftgU+UqW5O8MMvKM8gx5qn64DU0UFcS+7/CQrKOJmzktr/72g98nVznf5VGysa44cgYeoA
 v1HuEoqGO9taA3Io1KcGrzr9cAZtlpwj/tcUJlc6H5mqPHn2EdWYmJeGvNnFtxd0qJDmxp5e
 YVe4HFNjUwsb3oJekIUopDksAP41RRV0FM/2XaPatkNlTZR2krIVq2YNr0dMU8MbMPxGHnI9
 b0GUI+T/EZYeFsbx3eRqjv1rnNg2A6kPRQpn8dN3BKhTR5CA7E/cs+4kTmV76aHpW8m/NmTc
 t7KNrkMKfi+luhU2P/sKh7Xqfbcs7txOWB2V4/sbco00PPxWr20JCA5hYidaKGyQxuXdPUlQ
 Qja4WJFnAtBhh3Oajgwhbvd6S79tz1acjNXZ89b8IN7yDm9sQ+4LhWoUQhB5EEUUUVQTrzYS
 yTGN1YTTO5IUU5UJHb5WGMnSPLLArASctOE01/FYnnOGeU+GFIeQp91p+Jhd07hUr6KWYeJY
 OgEmu+K8SyjfggCWdo8aGy0H3Yr0YzaHeK2HrfC3eZcUuo+yDW3tnrNwM1rd1i3F3+zJK18q
 GnBxEQARAQABwsFfBBgBCAAJBQJSXzdTAhsMAAoJEF2/za5fGU3xNDQP/ikzh1NK/UBrWtpN
 yXLbype4k5/zyQd9FIBxAOYEOogfKdkp+Yc66qNf36gO6vsokxsDXU9me1n8tFoB/DCdzKbQ
 /RjKQRMNNR4fT2Q9XV6GZYSL/P2A1wzDW06tEI+u+1dV40ciQULQ3ZH4idBW3LdN+nloQf/C
 qoYkOf4WoLyhSzW7xdNPZqiJCAdcz9djN79FOz8US+waBCJrL6q5dFSvvsYj6PoPJkCgXhiJ
 hI91/ERMuK9oA1oaBxCvuObBPiFlBDNXZCwmUk6qzLDjfZ3wdiZCxc5g7d2e2taBZw/MsKFc
 k+m6bN5+Hi1lkmZEP0L4MD6zcPuOjHmYYzX4XfQ61lQ8c4ztXp5cKkrvaMuN/bD57HJ6Y73Q
 Y+wVxs9x7srl4iRnbulCeiSOAqHmwBAoWaolthqe7EYL4d2+CjPCcfIuK7ezsEm8c3o3EqC4
 /UpL1nTi0rknRTGc0VmPef+IqQUj33GGj5JRzVJZPnYyCx8sCb35Lhs6X8ggpsafUkuKrH76
 XV2KRzaE359RgbM3pNEViXp3NclPYmeu+XI8Ls/y6tSq5e/o/egktdyJj+xvAj9ZS18b10Jp
 e67qK8wZC/+N7LGON05VcLrdZ+FXuEEojJWbabF6rJGN5X/UlH5OowVFEMhD9s31tciAvBwy
 T70V9SSrl2hiw38vRzsl
In-Reply-To: <20251003172618.GJ3360665@nvidia.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 2025-10-03 1:26 p.m., Jason Gunthorpe wrote:
> On Fri, Oct 03, 2025 at 01:18:32PM -0400, John David Anglin wrote:
>> On 2025-10-03 11:01 a.m., Jason Gunthorpe wrote:
>>> This doesn't actually use the virt at all:
>>>
>>> 	offset = ((unsigned long) addr) & ~IOVP_MASK;
>>> 	if((size % L1_CACHE_BYTES) || ((unsigned long)addr % L1_CACHE_BYTES))
>>> 		ccio_io_pdir_entry(pdir_start, KERNEL_SPACE, (unsigned long)addr, hint);
>>>
>>> And ccio_io_pdir_entry():
>>> 	pa = lpa(vba);
>>>
>>> Is a special instruction that uses virt but AI tells me that special
>>> LPA instruction is returning phys. Not sure if that is a different
>>> value than virt_to_phys()..
>>
>> ccio_io_pdir_entry currently only supports KERNEL_SPACE.  For KERNEL_SPACE, lpa() and
>> virt_to_phys() are equivalent if page is mapped.  lpa() returns 0 if a non-access data
>> TLB fault occurs (i.e., page isn't mapped).  Not sure if that
>> matters.
> 
> After unfolding everything the expression is
> 
>   lpa(phys_to_virt(pa))
> 
> So if that is always equal to pa then lets just drop it.

If lpa() was replaced by virt_to_phys(), the result would always be equal to pa.  So, I think it
can be dropped.

Dave
-- 
John David Anglin  dave.anglin@bell.net


From xen-devel-bounces@lists.xenproject.org Fri Oct 03 20:42:10 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Oct 2025 20:42:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1136860.1473290 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4mbN-0006RP-IL; Fri, 03 Oct 2025 20:42:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1136860.1473290; Fri, 03 Oct 2025 20:42:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4mbN-0006RI-Fi; Fri, 03 Oct 2025 20:42:05 +0000
Received: by outflank-mailman (input) for mailman id 1136860;
 Fri, 03 Oct 2025 20:42:04 +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 <SRS0=FzWq=4M=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1v4mbM-0006RC-G4
 for xen-devel@lists.xenproject.org; Fri, 03 Oct 2025 20:42:04 +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 6a0d2603-a099-11f0-9809-7dc792cee155;
 Fri, 03 Oct 2025 22:42:02 +0200 (CEST)
Received: by mail-wr1-x42b.google.com with SMTP id
 ffacd0b85a97d-3ee130237a8so1926085f8f.0
 for <xen-devel@lists.xenproject.org>; Fri, 03 Oct 2025 13:42:02 -0700 (PDT)
Received: from [192.168.69.221] (88-187-86-199.subs.proxad.net.
 [88.187.86.199]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-46e61a25dbcsm155655605e9.19.2025.10.03.13.42.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 03 Oct 2025 13:42:00 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6a0d2603-a099-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1759524121; x=1760128921; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=PW5k2zL3fmegA2ZxrF2uAnfp4SXP4L2O5lee8nx3mSc=;
        b=GAhJ+Sglr2yu+QluaFQoc7DA0tjuSVff8O6XQYedTUvr+fG7WophdNI0vu4A9UcQxK
         oOAkpBi88QQcLypdtZCAiHA3NTuACP9l/3PC2FPHm4HUEdKtH2B2txg0+9uj14AnjZVJ
         omak+cQgCxekvfRJ+vh/b76yACCpPuSaLNI+R2eLf1EPQm6MLb7qfzGlLq+/2sIqOcx/
         bSeCw6hCmULiFRRwLoeguVRiyM15Ksq/h0nPB0KV54nBgQUI12MlV5dQNvdjsn+gz7Wv
         2rxvmSMbj85yNCFRhG7qe2Ob+pHAlWvx6qotVD6zdqAeKnS3VPSGNBtk6+XF5SMsOmjO
         e/6A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759524121; x=1760128921;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=PW5k2zL3fmegA2ZxrF2uAnfp4SXP4L2O5lee8nx3mSc=;
        b=Hr868lQrKED1R0zpvwvstX68o+PzWtvOn1eqmckNuxS8gjyALOkSr/w4XFd5QIsBNt
         VI5Fkewn8KPzmta15XiUTo/zqyy8p+lI5l9kwkkOorZQ4l4qoN+5pmDzPqLu+tteDM58
         yAFl8Owz/ieLO0Il/U9C/QgT5T1K5VycMzOfe9OarICpJdEcO6CYBKWibded2/3N6tPB
         OHbZiuQknNau88hNwAz2mJg4sS4/QxwxGF6EVwUEVdHHjgzSIuBdFaC3XoQJnVDR4375
         TFNX4rQO9YAlYPAc3isyJweWoNnuX7JEcWHUxtZb1o7oIKTYsaAD7iqtEtuJmc1V6p30
         7VEw==
X-Forwarded-Encrypted: i=1; AJvYcCU5SHeh0YxZ+tLOmviRT0v2c/AloXmpNVlHx5dNZI8+eaygrXSLXsDAQxjXvz+qJXWevx5ntGWljKI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwVWVRny/vKyw2AGwcv2lL6PYRLEJ+ZBZeb3nwMUkVR3Vjmu5X1
	yB3GplmJj3ldcUV3BCYU7tsTH/JPRlB5T5ZD3eg6Aq4t28PbVmT0Kn6NIM+pmUyzm3o=
X-Gm-Gg: ASbGncvx85CUqkUPD64dtc9GqwkDP+ztq+4CWfbQQnXgsm24ar6f9LphtZO+Vrd1aFU
	BZOgpaFDUMmYEOgfnTgop6A2V8Kx8UydCfuXsLzNt8/haFRItCM2mkT7gKRT5nM+dI4vaDKbJ7G
	9Im0hMVIB5Dv1adArb44xUmRnqXw9Ytt+nAouA3DOAbB6q2dir4xPnaDplhUprhoK3fnM8s52a5
	eMHcKPRsfkwj+IElXai0eS+Xbs2HDytLDUDfnqQarKZk+PB96hIdLlmOchB0d3vZfdkcFoeSoYm
	s8AqBdWkk/NDdOArSIebRxb5Vkti8Yy0w0ZrWJyUyys9AYZ0nSSKeSuoyZkD6iein1GTBnx8JmW
	wMmNYcvUQyw49fA859IOrhXI4z0ojz8KsCLYgyVKcIraxNvYqIc47S0w52g3k5dfKTYIYWtYlGD
	e+MdvJ2/1M/tPC+OP6keo5UlquRU0MeKCzrlzcI10=
X-Google-Smtp-Source: AGHT+IHHpUVAOz/kW4FY5inemqoIDxzaObgtHSvRK94Nk1VfVB9QmYTxm3ZfXZPywnWOkC76eMfSUA==
X-Received: by 2002:a05:6000:3111:b0:402:7afc:1cf5 with SMTP id ffacd0b85a97d-4256719e6cemr2721575f8f.35.1759524121296;
        Fri, 03 Oct 2025 13:42:01 -0700 (PDT)
Message-ID: <c80928c3-0a54-4cdc-858f-b2ac4670e38d@linaro.org>
Date: Fri, 3 Oct 2025 22:42:00 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 00/17] system/physmem: Remove cpu_physical_memory
 _is_io() and _rw()
Content-Language: en-US
To: qemu-devel@nongnu.org
Cc: qemu-s390x@nongnu.org, kvm@vger.kernel.org, xen-devel@lists.xenproject.org
References: <20251002084203.63899-1-philmd@linaro.org>
From: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>
In-Reply-To: <20251002084203.63899-1-philmd@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 2/10/25 10:41, Philippe Mathieu-DaudÃ© wrote:

> Philippe Mathieu-DaudÃ© (17):
>    docs/devel/loads-stores: Stop mentioning
>      cpu_physical_memory_write_rom()
>    system/memory: Factor address_space_is_io() out
>    target/i386/arch_memory_mapping: Use address_space_memory_is_io()
>    hw/s390x/sclp: Use address_space_memory_is_io() in sclp_service_call()
>    system/physmem: Remove cpu_physical_memory_is_io()
>    system/physmem: Pass address space argument to
>      cpu_flush_icache_range()
>    hw/s390x/sclp: Replace [cpu_physical_memory -> address_space]_r/w()
>    target/s390x/mmu: Replace [cpu_physical_memory -> address_space]_rw()
>    target/i386/whpx: Replace legacy cpu_physical_memory_rw() call
>    target/i386/kvm: Replace legacy cpu_physical_memory_rw() call
>    target/i386/nvmm: Inline cpu_physical_memory_rw() in nvmm_mem_callback
>    hw/xen/hvm: Inline cpu_physical_memory_rw() in rw_phys_req_item()
>    system/physmem: Un-inline cpu_physical_memory_read/write()
>    system/physmem: Avoid cpu_physical_memory_rw when is_write is constant
>    system/physmem: Remove legacy cpu_physical_memory_rw()
>    hw/virtio/vhost: Replace legacy cpu_physical_memory_*map() calls
>    hw/virtio/virtio: Replace legacy cpu_physical_memory_map() call

Series queued, thanks.


From xen-devel-bounces@lists.xenproject.org Fri Oct 03 22:53:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Oct 2025 22:53:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1136887.1473301 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4oen-0004mY-NZ; Fri, 03 Oct 2025 22:53:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1136887.1473301; Fri, 03 Oct 2025 22:53:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4oen-0004mR-Ka; Fri, 03 Oct 2025 22:53:45 +0000
Received: by outflank-mailman (input) for mailman id 1136887;
 Fri, 03 Oct 2025 22:53:45 +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
 <SRS0=WVFT=4M=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v4oem-0004mF-UM
 for xen-devel@lists.xenproject.org; Fri, 03 Oct 2025 22:53:44 +0000
Received: from mail-wr1-x434.google.com (mail-wr1-x434.google.com
 [2a00:1450:4864:20::434])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cfd99f00-a0ab-11f0-9d14-b5c5bf9af7f9;
 Sat, 04 Oct 2025 00:53:43 +0200 (CEST)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-4256866958bso732903f8f.1
 for <xen-devel@lists.xenproject.org>; Fri, 03 Oct 2025 15:53:43 -0700 (PDT)
Received: from localhost.localdomain (host-92-22-57-86.as13285.net.
 [92.22.57.86]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4255d8a6bbesm9616571f8f.12.2025.10.03.15.53.42
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 03 Oct 2025 15:53:42 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cfd99f00-a0ab-11f0-9d14-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1759532023; x=1760136823; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=qBOGdSYhutEDI2EaxleEBeinmCty68xU9InOyjr4reI=;
        b=MACedWK1QS2zs64nu/cn+Hb1GoWSQnLUjeNmsWT6hF2WTpnzq0nGnghYb2CiRm5wN/
         yo3cWX2QPVn3Q918+OOguoepWImgHk/5UPewH7e5m1QXUx31nkQKsmvL/+08Acl1kk95
         ZxkmgztmG75BLFQjEkzo81HF4ljxneRkhuElQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759532023; x=1760136823;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=qBOGdSYhutEDI2EaxleEBeinmCty68xU9InOyjr4reI=;
        b=RK56dKaeMyXtXqMxus4XwpHbRaiYwMJuaX78PZ2Z2NfR1fhWgHHiRirQpHvcNBOkWt
         mwTUoilveoFRa0fBP6dEPIvHWkwpIEvjUYae5g9VvD+/eq+rBR8O6PmFDOG/cTSqbQjq
         Q/QjRVrMeqCqgi2xegUf7QQkWpgWAOV9WL8kvSaEVUib3XWsLVPU8B5Mv9qMta68S+Xj
         4ESM2bXEv0yVZbkpctQYlekQkAIn36MdjRikTbsdjth6PfgpyACEXrG5F3xlpAAexq46
         vxX3/n+kIKeSdFoML/GjHgXNxVhKMgqT+hKCdmMH3/np/RZzGE/bKQeijqiKfKiJEmaI
         e8rw==
X-Gm-Message-State: AOJu0YyRYFaiUrxJOOpUtzLnwUwT+stFwn6jtSQgoR5ZI1k0GBb3paR4
	uZoeYQkkU7JsU1h2GSBOpvvQjtwQT0egcm6KDVwDZ3U8gdV7E3t5b9mAW+dJtkxCGo3g0J+XqvK
	RXJakwYSoPg==
X-Gm-Gg: ASbGncu1Tdw61TjOTCBkCEmzAmBeIJbpm6wIGDJexZgdiBMYUxqycT+6evKY/94eaiU
	NiH0iFgcnjtgX/A3utZG8lSPOk7UgYvZac7/y7cqcQGWTm6qWb15s4bdiEKbkM6EHIdkQOXIkDZ
	L587NqspzF6QBdB5929RRmjdFjTYlCTkModsYGeaoHLKWz3jJFoqSInGUt22HQW8IXYbBT0M/iw
	6Bu5TI5a/ckifAeVBpS9HCqZcettTsk5pGrvbwJTiEnN4pAHohGfzT1b67H+AFgEvA7dBWhLlfW
	bV2GuntbJL8RvG26Jbl37Qr0WUIkOZOR2InI99hDOxNTHgrZYxXyqYz67PYiRmyOB7zQTLNf0Pf
	kC8hsJbPBdssBjVOKVmEne7qv2zIruyN44g6ZVkJuWpX5DJTiVDwkF+mZdJIY/nLjbOzUMgov9t
	vwyxhlfVqW9hIXL7n3pu6k
X-Google-Smtp-Source: AGHT+IHIr+hs4rOlzl06AfMSE61LYSI0IMlFJJPgZ4b7S6Ao2ZqCuDK9tAzmz4Bti0cadYe4y78WdA==
X-Received: by 2002:a05:6000:4211:b0:402:d5e6:2283 with SMTP id ffacd0b85a97d-4256714c852mr3093348f8f.20.1759532022794;
        Fri, 03 Oct 2025 15:53:42 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v3 02/22] x86/msr: Change wrmsr() to take a single parameter
Date: Fri,  3 Oct 2025 23:53:14 +0100
Message-Id: <20251003225334.2123667-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
References: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Mirroring the cleanup to rdmsr(), do the same to wrmsr().  It now has the same
API as wrmsrl(), but we'll want to drop that wrapper in due course.

It's telling that almost all remaining users pass in 0.  Most are converted
directly to WRMSRNS, but a few are not.

MSR_VIRT_SPEC_CTRL is unconditionally intercepted is orders of magnitude more
expensive than just serialising.  In disable_lapic_nmi_watchdog(), the P4 case
won't run on hardware which has anything more than plain WRMSR.

For CTR_WRITE() in op_model_athlon.c there is a logical change in behaviour,
but it's fixing a bug.  Peformance counters typically get written to -(count)
as they generate an interrupt on overflow.  The performance counters even in
the K8 were 48 bits wide, and this wrmsr() not being a wrmsrl() appears to
have been an oversight in commit b5103d692aa7 ("x86 oprofile: use
rdmsrl/wrmsrl") which converted all other users, and appears to be the last
time there was an attempt to unify the MSR APIs.

No practical change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>

v3:
 * Swap to wrmsrns() in setup_k7_watchdog()
 * Reinstate correct bracketing in op_model_athlon.c's CTR_WRITE(), drop
   useless do{}while().
---
 xen/arch/x86/cpu/amd.c                  |  2 +-
 xen/arch/x86/hvm/vmx/vmcs.c             |  2 +-
 xen/arch/x86/include/asm/msr.h          | 20 ++++++++++----------
 xen/arch/x86/nmi.c                      | 18 +++++++++---------
 xen/arch/x86/oprofile/op_model_athlon.c |  2 +-
 5 files changed, 22 insertions(+), 22 deletions(-)

diff --git a/xen/arch/x86/cpu/amd.c b/xen/arch/x86/cpu/amd.c
index 43481daa8e26..9b02e1ba675c 100644
--- a/xen/arch/x86/cpu/amd.c
+++ b/xen/arch/x86/cpu/amd.c
@@ -934,7 +934,7 @@ void amd_set_legacy_ssbd(bool enable)
 		return;
 
 	if (cpu_has_virt_ssbd)
-		wrmsr(MSR_VIRT_SPEC_CTRL, enable ? SPEC_CTRL_SSBD : 0, 0);
+		wrmsr(MSR_VIRT_SPEC_CTRL, enable ? SPEC_CTRL_SSBD : 0);
 	else if (amd_legacy_ssbd)
 		core_set_legacy_ssbd(enable);
 	else
diff --git a/xen/arch/x86/hvm/vmx/vmcs.c b/xen/arch/x86/hvm/vmx/vmcs.c
index b639818b6ea6..cd5ac8a5f0e3 100644
--- a/xen/arch/x86/hvm/vmx/vmcs.c
+++ b/xen/arch/x86/hvm/vmx/vmcs.c
@@ -754,7 +754,7 @@ static int _vmx_cpu_up(bool bsp)
         eax |= IA32_FEATURE_CONTROL_ENABLE_VMXON_OUTSIDE_SMX;
         if ( test_bit(X86_FEATURE_SMX, &boot_cpu_data.x86_capability) )
             eax |= IA32_FEATURE_CONTROL_ENABLE_VMXON_INSIDE_SMX;
-        wrmsr(MSR_IA32_FEATURE_CONTROL, eax, 0);
+        wrmsrns(MSR_IA32_FEATURE_CONTROL, eax);
     }
 
     if ( (rc = vmx_init_vmcs_config(bsp)) != 0 )
diff --git a/xen/arch/x86/include/asm/msr.h b/xen/arch/x86/include/asm/msr.h
index 188a50f9cea4..941a7612f4ba 100644
--- a/xen/arch/x86/include/asm/msr.h
+++ b/xen/arch/x86/include/asm/msr.h
@@ -15,13 +15,17 @@
  *   uint64_t foo = rdmsr(MSR_BAR);
  *   wrmsrns(MSR_BAR, foo);
  *
+ * and, if architectural serialisaition is necessary, or there are other
+ * reasons that WRMSRNS is inapplicable, then:
+ *
+ *   wrmsr(MSR_BAR, foo);
+ *
  * In addition, *_safe() wrappers exist to cope gracefully with a #GP.
  *
  *
  * All legacy forms are to be phased out:
  *
  *  rdmsrl(MSR_FOO, val);
- *  wrmsr(MSR_FOO, lo, hi);
  *  wrmsrl(MSR_FOO, val);
  */
 
@@ -43,17 +47,13 @@ static always_inline uint64_t rdmsr(unsigned int msr)
        val = a__ | ((u64)b__<<32); \
 } while(0)
 
-#define wrmsr(msr,val1,val2) \
-     __asm__ __volatile__("wrmsr" \
-			  : /* no outputs */ \
-			  : "c" (msr), "a" (val1), "d" (val2))
-
-static inline void wrmsrl(unsigned int msr, uint64_t val)
+static inline void wrmsr(unsigned int msr, uint64_t val)
 {
-        uint32_t lo = val, hi = val >> 32;
+    uint32_t lo = val, hi = val >> 32;
 
-        wrmsr(msr, lo, hi);
+    asm volatile ( "wrmsr" :: "a" (lo), "d" (hi), "c" (msr) );
 }
+#define wrmsrl(msr, val) wrmsr(msr, val)
 
 /* Non-serialising WRMSR, when available.  Falls back to a serialising WRMSR. */
 static inline void wrmsrns(uint32_t msr, uint64_t val)
@@ -150,7 +150,7 @@ static inline void wrmsr_tsc_aux(uint32_t val)
 
     if ( *this_tsc_aux != val )
     {
-        wrmsr(MSR_TSC_AUX, val, 0);
+        wrmsrns(MSR_TSC_AUX, val);
         *this_tsc_aux = val;
     }
 }
diff --git a/xen/arch/x86/nmi.c b/xen/arch/x86/nmi.c
index 9793fa23168d..a0c9194ff032 100644
--- a/xen/arch/x86/nmi.c
+++ b/xen/arch/x86/nmi.c
@@ -218,16 +218,16 @@ void disable_lapic_nmi_watchdog(void)
         return;
     switch (boot_cpu_data.x86_vendor) {
     case X86_VENDOR_AMD:
-        wrmsr(MSR_K7_EVNTSEL0, 0, 0);
+        wrmsrns(MSR_K7_EVNTSEL0, 0);
         break;
     case X86_VENDOR_INTEL:
         switch (boot_cpu_data.x86) {
         case 6:
-            wrmsr(MSR_P6_EVNTSEL(0), 0, 0);
+            wrmsrns(MSR_P6_EVNTSEL(0), 0);
             break;
         case 15:
-            wrmsr(MSR_P4_IQ_CCCR0, 0, 0);
-            wrmsr(MSR_P4_CRU_ESCR0, 0, 0);
+            wrmsr(MSR_P4_IQ_CCCR0, 0);
+            wrmsr(MSR_P4_CRU_ESCR0, 0);
             break;
         }
         break;
@@ -282,7 +282,7 @@ static void clear_msr_range(unsigned int base, unsigned int n)
     unsigned int i;
 
     for (i = 0; i < n; i++)
-        wrmsr(base+i, 0, 0);
+        wrmsrns(base + i, 0);
 }
 
 static inline void write_watchdog_counter(const char *descr)
@@ -308,11 +308,11 @@ static void setup_k7_watchdog(void)
         | K7_EVNTSEL_USR
         | K7_NMI_EVENT;
 
-    wrmsr(MSR_K7_EVNTSEL0, evntsel, 0);
+    wrmsrns(MSR_K7_EVNTSEL0, evntsel);
     write_watchdog_counter("K7_PERFCTR0");
     apic_write(APIC_LVTPC, APIC_DM_NMI);
     evntsel |= K7_EVNTSEL_ENABLE;
-    wrmsr(MSR_K7_EVNTSEL0, evntsel, 0);
+    wrmsrns(MSR_K7_EVNTSEL0, evntsel);
 }
 
 static void setup_p6_watchdog(unsigned counter)
@@ -338,11 +338,11 @@ static void setup_p6_watchdog(unsigned counter)
         | P6_EVNTSEL_USR
         | counter;
 
-    wrmsr(MSR_P6_EVNTSEL(0), evntsel, 0);
+    wrmsrns(MSR_P6_EVNTSEL(0), evntsel);
     write_watchdog_counter("P6_PERFCTR0");
     apic_write(APIC_LVTPC, APIC_DM_NMI);
     evntsel |= P6_EVNTSEL0_ENABLE;
-    wrmsr(MSR_P6_EVNTSEL(0), evntsel, 0);
+    wrmsrns(MSR_P6_EVNTSEL(0), evntsel);
 }
 
 static void setup_p4_watchdog(void)
diff --git a/xen/arch/x86/oprofile/op_model_athlon.c b/xen/arch/x86/oprofile/op_model_athlon.c
index bf897a4b6328..4c016624a69b 100644
--- a/xen/arch/x86/oprofile/op_model_athlon.c
+++ b/xen/arch/x86/oprofile/op_model_athlon.c
@@ -34,7 +34,7 @@
 #define MAX_COUNTERS FAM15H_NUM_COUNTERS
 
 #define CTR_READ(msr_content,msrs,c) do {rdmsrl(msrs->counters[(c)].addr, (msr_content));} while (0)
-#define CTR_WRITE(l,msrs,c) do {wrmsr(msrs->counters[(c)].addr, -(unsigned int)(l), -1);} while (0)
+#define CTR_WRITE(l,msrs,c) wrmsr(msrs->counters[(c)].addr, -(l))
 #define CTR_OVERFLOWED(n) (!((n) & (1ULL<<31)))
 
 #define CTRL_READ(msr_content,msrs,c) do {rdmsrl(msrs->controls[(c)].addr, (msr_content));} while (0)
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Oct 03 22:53:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Oct 2025 22:53:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1136892.1473351 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4oes-0005ti-5L; Fri, 03 Oct 2025 22:53:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1136892.1473351; Fri, 03 Oct 2025 22:53:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4oes-0005sE-0Y; Fri, 03 Oct 2025 22:53:50 +0000
Received: by outflank-mailman (input) for mailman id 1136892;
 Fri, 03 Oct 2025 22:53:48 +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
 <SRS0=WVFT=4M=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v4oeq-0004mK-P3
 for xen-devel@lists.xenproject.org; Fri, 03 Oct 2025 22:53:48 +0000
Received: from mail-wr1-x443.google.com (mail-wr1-x443.google.com
 [2a00:1450:4864:20::443])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d1e9e9b5-a0ab-11f0-9809-7dc792cee155;
 Sat, 04 Oct 2025 00:53:47 +0200 (CEST)
Received: by mail-wr1-x443.google.com with SMTP id
 ffacd0b85a97d-3f0308469a4so1487958f8f.0
 for <xen-devel@lists.xenproject.org>; Fri, 03 Oct 2025 15:53:47 -0700 (PDT)
Received: from localhost.localdomain (host-92-22-57-86.as13285.net.
 [92.22.57.86]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4255d8a6bbesm9616571f8f.12.2025.10.03.15.53.45
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 03 Oct 2025 15:53:45 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d1e9e9b5-a0ab-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1759532026; x=1760136826; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=uU50b2CIr8z+rKB8yhDMf5NI7QoTTkkJ3hl1yF+jo5w=;
        b=AtVI7h+KoCgniDsNAy29u6TWQqOYGYzD20lBHSAz3fAw5Nk5X0+fY5SKUhL3tThysm
         gAmu9sVNy8zAGcDjC/VT/+yuRP97hehZM/qlgF3tyMmI6WNtOQQziEw6KEt/e1jWmh7A
         ZqulECobhXbvdr6C/YWfyPSyssOhbuoQJOWq0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759532026; x=1760136826;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=uU50b2CIr8z+rKB8yhDMf5NI7QoTTkkJ3hl1yF+jo5w=;
        b=gaeMC1zFy2gZ4QoZFYHpEMUzZnvF2EB/NRQ2RvgF2ItGBoTFRZESRXDLvPBwY0RM2v
         HRAWGkbZd+7JFIz7/37tVESvpU3Sq8mwbB5lzNbiFgRcm9ICju5Kok5PUl/VlaNcXctN
         uYO7LcHoSPXvWm/6jm9PKoLdyJyGqw1viVHnGakNShzrjWDw82PnBBgVAkByHvyrG9VB
         NVn2Ab9MK9YMouJlfL8kOw+jr120p4psK0+rj8SlHBLRd9JgXiQYToQUxFKMM6MWNJCA
         TwuyLJbfvErG/FMexwxVWdeiAQqiB9ZIJ16XvaFt6CWq5Qtkgja0QK9f+z5MyheC60lW
         0ByQ==
X-Gm-Message-State: AOJu0YxriTDGUM0qjMdUDpTSdmZpATZZT/7BnIMxL2Tj1Wzdv/JbZ6U0
	EuKwIn3XUvpXjHy9NsyPzFQShZRRBx03E5tpKLpTs8/TauhasY1LEpEQziKwKiogHZUCVr+hhEo
	F7ylvkjz0To6R
X-Gm-Gg: ASbGncvPVbo/mU/UojrSTIVUWbOqiHWmEBqkEbg7UT0owgHkaGg84AKUEc3NP3/6xJh
	1oumuSOPC3LRKsCdKzLx/HIa03gZkQxctRZA1XMEPqGGm4cu8WV73858XDaBBqZpGBrsH9cDuwt
	oQykSbcJ4fZMIl/a1kKJH2jSaM98LRhXMGjFHRWgNx0WZiY7sXU+e3TIVR6UeB+UQXVpOvzRtnE
	R78QzvArMIGj3TWPE/AzQY0H4PITOgUGAzNNAdFCXgH8b81WSkRVp+lUeLvpJWmFLp+vW8sTRdx
	q7JpMuohYMdzNDKJVouXsfJKVkaqR6DWyeU9gKxfXnF4fZJV0xXH+DLKb0Ii6HL2UsvSsT0rCmP
	SDpaF3eJKwYtdNKNMR5WScZ7WLFVbKd5P/4GsRjeObUpQg8krFQsY277qE3MksXMxEjBRahHbqz
	EnUicxw9/w/Bu8DxOYeMoHw1+KIrjkINY=
X-Google-Smtp-Source: AGHT+IFNgesRO9KQE+1EDzFOyGemzxgi/B/Bn2ir1u8VhCJcvbxVt8SX2TtWZgCw44x7gKMh2wvVLQ==
X-Received: by 2002:a05:6000:40da:b0:3e0:c28a:abbb with SMTP id ffacd0b85a97d-42567158fccmr3269428f8f.13.1759532026367;
        Fri, 03 Oct 2025 15:53:46 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v3 05/22] x86/fsgsbase: Improve code generation in read_registers()
Date: Fri,  3 Oct 2025 23:53:17 +0100
Message-Id: <20251003225334.2123667-6-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
References: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

It turns out that using the higher level helpers adjacent like this leads to
terrible code generation.  Due to -fno-strict-alising, the store into state->
invalidates the read_cr4() address calculation (which is really cpu_info->cr4
under the hood), meaning that it can't be hoisted.

As a result we get "locate the top of stack block, get cr4, and see if
FSGSBASE is set" repeated 3 times, and an unreasoanble number of basic blocks.

Hoist the calculation manually, which results in two basic blocks.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>

Side-by-side disassembly: https://termbin.com/9xfq
---
 xen/arch/x86/traps.c | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index 0c5393cb2166..545c42a10862 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -118,9 +118,18 @@ static void read_registers(struct extra_state *state)
     state->cr3 = read_cr3();
     state->cr4 = read_cr4();
 
-    state->fsb = read_fs_base();
-    state->gsb = read_gs_base();
-    state->gss = read_gs_shadow();
+    if ( state->cr4 & X86_CR4_FSGSBASE )
+    {
+        state->fsb = __rdfsbase();
+        state->gsb = __rdgsbase();
+        state->gss = __rdgs_shadow();
+    }
+    else
+    {
+        state->fsb = rdmsr(MSR_FS_BASE);
+        state->gsb = rdmsr(MSR_GS_BASE);
+        state->gss = rdmsr(MSR_SHADOW_GS_BASE);
+    }
 
     asm ( "mov %%ds, %0" : "=m" (state->ds) );
     asm ( "mov %%es, %0" : "=m" (state->es) );
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Oct 03 22:53:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Oct 2025 22:53:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1136889.1473314 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4oep-00052T-5J; Fri, 03 Oct 2025 22:53:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1136889.1473314; Fri, 03 Oct 2025 22:53:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4oep-00051Z-14; Fri, 03 Oct 2025 22:53:47 +0000
Received: by outflank-mailman (input) for mailman id 1136889;
 Fri, 03 Oct 2025 22:53:46 +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
 <SRS0=WVFT=4M=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v4oeo-0004mK-0A
 for xen-devel@lists.xenproject.org; Fri, 03 Oct 2025 22:53:46 +0000
Received: from mail-wr1-x442.google.com (mail-wr1-x442.google.com
 [2a00:1450:4864:20::442])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cda653e9-a0ab-11f0-9809-7dc792cee155;
 Sat, 04 Oct 2025 00:53:40 +0200 (CEST)
Received: by mail-wr1-x442.google.com with SMTP id
 ffacd0b85a97d-3ee15505cdeso2232836f8f.0
 for <xen-devel@lists.xenproject.org>; Fri, 03 Oct 2025 15:53:40 -0700 (PDT)
Received: from localhost.localdomain (host-92-22-57-86.as13285.net.
 [92.22.57.86]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4255d8a6bbesm9616571f8f.12.2025.10.03.15.53.37
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 03 Oct 2025 15:53:38 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cda653e9-a0ab-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1759532019; x=1760136819; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=IXbXCT//JpG4DZDNCPX8AIKG+4YnmRnZVf3VPs504Jw=;
        b=C+SQgQBzVUOQmYPJa4uaWotQ77ROJC6T8/WIn5l7OrTzjV30uVUZSi7s7TagUffBTJ
         QZUN6PVGTONfe6mbKMP32pT4uyC6ArAiyrph2Ka9vRfSIdLOLNxm2Vc9ILa91PfMhUhN
         fTn7ISD9dvPVyO3Cz3JRB/1niRv6UspIVH9Rs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759532019; x=1760136819;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=IXbXCT//JpG4DZDNCPX8AIKG+4YnmRnZVf3VPs504Jw=;
        b=C5STH1uH37gaL9l9A2+RuWQ4hKkJN8ybukiVKLDUznHupvaT6l3yp13yem1vHJfPBf
         LgjZ2C1rQm+WGzHp1UyUVFTimQpv66P0hESZLGt9bu/TkBJ3yrwyhxtfN7yUwoXbGNMJ
         KbTgZHnMub/qSReud84f+ng0/hgJGzZoqsuJ7pJdVBF8klOXPYSBVHuqXZPLA8veIr/0
         M1aJzpoHEfkBUoZ0q6+UPT2yufweN5QLC/TFEJ2iP39BO5xUOYNrh6/z7AIRvC3HNVGg
         QSS0AxX5ATmqaHWFQJ1oyd7bw7IqFdHLcloqVshGVqyyNcqeh7ITNO3nvRrRlrVIe84Y
         6GjQ==
X-Gm-Message-State: AOJu0Yz4GkfE4IYl0whBzgAlL7ImHI1fQwLgjdHtiRxC55Z5ifAYV6dH
	ektF4wE6mmjtOvBZRWYxMZMxwv5PwwOAKmwfJQCAEWKgZUKIw1uawSQ0Sw6Us0OOKG4gEVG7XUm
	Zpau6p1oWg3t8
X-Gm-Gg: ASbGnct2DaNQbOk5OP3XcnEF5eWejA37c3hFKAVwro3hzaCq6Tm+IiZfePimq+sbu4z
	cC3oYYExht3fEWFHB0b2sxg89Jvu5gEW/lgv8VX1NBHrRhJpZ5ajXg4PEtPQVNx0H0IISYOpgwF
	8HCIaPJYpAGsMdv3SYDELMT5u+kNYWSugFCvYoH/02EmnHvPvZvrS2OhlwIzQnjohEXY/KH14CR
	odJ2SXRAzwbCGGvwcIdhBVpI0HDJiN3FlVkcCR0vdg7/Dzox7RJcyvisWYdM1nQ3OsXF2mRDPyO
	EQBCZV4P+jClE5B9nd0blmjXLrLRw01KMd4Sz8WLokGPql2y/vXcD4lKsXHszq39+thon7clbW0
	h0LM9GkceI+CL16A+gOAAAtYY+kwp+IWZ+UL4Ux/xlRhFsMhaJ07Nwr0mKtB7D9UjA0cKRER46p
	vIYM51atJp2kKJJFMA7PHW
X-Google-Smtp-Source: AGHT+IHt8Y4HD2gfh9eO9TrrCqFYjk+ME/K7TqWH5HSyVumtZcyTfGz24NEEQEDC10OjEBbB9aypcg==
X-Received: by 2002:a05:6000:2890:b0:3ea:63d:44a8 with SMTP id ffacd0b85a97d-42566c38bdbmr3356568f8f.15.1759532019102;
        Fri, 03 Oct 2025 15:53:39 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH v3 for-4.21 00/22] x86: FRED support
Date: Fri,  3 Oct 2025 23:53:12 +0100
Message-Id: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This is the combined MSR cleanup and FRED series.  Some patches of both v2's
have already been committed.

I have moved the MSR_IMM patch out.  It's not strictly needed for FRED, and
really needs to go behind Jan's patch to use mergable sections for
altinstructions which is definitely not making 4.21 at this point.

I almost got access to a piece of real hardware in time, but that fell through
at the last minute.

In terms of timing, I know we're getting very tight for 4.21, but there has
been an awful lot of disruption with travel and holidays recently.  Half the
patches are already acked/reviewed, but can't easily go in due to logical
dependencies (I suspect patches 15-17 could be committed right away as they're
pretty independent.)

Therefore I'd like to ask Oleksii whether the nominal release ack still
stands.

https://gitlab.com/xen-project/hardware/xen-staging/-/pipelines/2079705485

Andrew Cooper (22):
  x86/msr: Change rdmsr() to have normal API
  x86/msr: Change wrmsr() to take a single parameter
  x86/fsgsbase: Split out __{rd,wr}gs_shadow() helpers
  x86/fsgsbase: Update fs/gs helpers to use wrmsrns()
  x86/fsgsbase: Improve code generation in read_registers()
  x86/boot: Use RSTORSSP to establish SSP
  x86/traps: Alter switch_stack_and_jump() for FRED mode
  x86/traps: Skip Supervisor Shadow Stack tokens in FRED mode
  x86/traps: Make an IDT-specific #DB helper
  x86/traps: Make an IDT-specific #PF helper
  x86/fsgsbase: Make gskern accesses safe under FRED
  x86/traps: Introduce FRED entrypoints
  x86/traps: Enable FRED when requested
  x86/pv: Deduplicate is_canonical_address() in do_set_segment_base()
  x86/entry: Alter how IRET faults are recognised
  x86/entry: Drop the pre exception table infrastructure
  x86/entry: Rework the comment about SYSCALL and DF
  x86/pv: Adjust GS handling for FRED mode
  x86/pv: Guest exception handling in FRED mode
  x86/pv: ERETU error handling
  x86/pv: System call handling in FRED mode
  x86: Clamp reserved bits in eflags more aggressively

 xen/arch/x86/acpi/cpufreq/powernow.c    |  12 +-
 xen/arch/x86/boot/x86_64.S              |  23 +-
 xen/arch/x86/cpu/amd.c                  |   8 +-
 xen/arch/x86/cpu/common.c               |  20 +-
 xen/arch/x86/cpu/intel.c                |  30 +-
 xen/arch/x86/domain.c                   |  34 +-
 xen/arch/x86/extable.c                  |  14 -
 xen/arch/x86/genapic/x2apic.c           |   5 +-
 xen/arch/x86/hvm/domain.c               |   4 +-
 xen/arch/x86/hvm/vmx/vmcs.c             |  32 +-
 xen/arch/x86/hvm/vmx/vmx.c              |   4 +-
 xen/arch/x86/include/asm/asm_defns.h    |  76 +++-
 xen/arch/x86/include/asm/current.h      |   9 +-
 xen/arch/x86/include/asm/domain.h       |   2 +
 xen/arch/x86/include/asm/fsgsbase.h     |  66 +--
 xen/arch/x86/include/asm/hypercall.h    |   2 -
 xen/arch/x86/include/asm/msr.h          |  48 ++-
 xen/arch/x86/include/asm/prot-key.h     |   6 +-
 xen/arch/x86/include/asm/traps.h        |   2 +
 xen/arch/x86/include/asm/uaccess.h      |   2 -
 xen/arch/x86/include/asm/x86-defns.h    |   7 +
 xen/arch/x86/mm.c                       |  12 +-
 xen/arch/x86/nmi.c                      |  18 +-
 xen/arch/x86/oprofile/op_model_athlon.c |   2 +-
 xen/arch/x86/pv/dom0_build.c            |   2 +-
 xen/arch/x86/pv/domain.c                |  22 +-
 xen/arch/x86/pv/iret.c                  |   8 +-
 xen/arch/x86/pv/misc-hypercalls.c       |  42 +-
 xen/arch/x86/pv/traps.c                 |  39 ++
 xen/arch/x86/setup.c                    |  33 +-
 xen/arch/x86/traps-setup.c              |  83 +++-
 xen/arch/x86/traps.c                    | 519 ++++++++++++++++++++++--
 xen/arch/x86/tsx.c                      |  27 +-
 xen/arch/x86/x86_64/Makefile            |   1 +
 xen/arch/x86/x86_64/compat/entry.S      |   3 +-
 xen/arch/x86/x86_64/entry-fred.S        |  57 +++
 xen/arch/x86/x86_64/entry.S             |  46 ++-
 xen/arch/x86/xen.lds.S                  |   5 -
 38 files changed, 1076 insertions(+), 249 deletions(-)
 create mode 100644 xen/arch/x86/x86_64/entry-fred.S

-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Oct 03 22:53:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Oct 2025 22:53:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1136890.1473337 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4oeq-0005Uq-Vu; Fri, 03 Oct 2025 22:53:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1136890.1473337; Fri, 03 Oct 2025 22:53:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4oeq-0005Tw-Mv; Fri, 03 Oct 2025 22:53:48 +0000
Received: by outflank-mailman (input) for mailman id 1136890;
 Fri, 03 Oct 2025 22:53:47 +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
 <SRS0=WVFT=4M=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v4oep-0004mK-0D
 for xen-devel@lists.xenproject.org; Fri, 03 Oct 2025 22:53:47 +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 d0a1cdb9-a0ab-11f0-9809-7dc792cee155;
 Sat, 04 Oct 2025 00:53:45 +0200 (CEST)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-421851bca51so1799674f8f.1
 for <xen-devel@lists.xenproject.org>; Fri, 03 Oct 2025 15:53:45 -0700 (PDT)
Received: from localhost.localdomain (host-92-22-57-86.as13285.net.
 [92.22.57.86]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4255d8a6bbesm9616571f8f.12.2025.10.03.15.53.42
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 03 Oct 2025 15:53:43 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d0a1cdb9-a0ab-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1759532024; x=1760136824; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=xJgRuOTIVNW6wDEOmf6Heo5+NbgUqsHIo8qCR4ngeB0=;
        b=wRhTZlM3Khw5QSGAtaOj564mhrybBqWxRoBuomu8ZfDoCf8XUEAF30So7QWCgUJVKR
         gQJoJ6SnDE0LFlW7lexfj/OXeLDh7ECqYEslh877VIQBP5+hyvSmRAFG/WJKJPmTkBj1
         LltyfUdf2dXgzIqbAU+dRRIBJ5k9QtJHfk/hI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759532024; x=1760136824;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=xJgRuOTIVNW6wDEOmf6Heo5+NbgUqsHIo8qCR4ngeB0=;
        b=YM3vxxhwEAnzTyQxyfKypVhXu/ctkjpD4VaCf8M1JF8JMrWwDVn1jCFDGTWxvfHC7u
         Z+piR/A5P4xK7IJfgTfPQfxTOZlOXGuFPvdd7Tn/iwkBVqjFrKZcHqGkRzNGF0nrMwBa
         zY2ofXxJby/UARv36KU44AkHX/ySXU4B+ODGr0/r89ToMnqnQFjwdI4eIHhEMjSGti5x
         NgwDxl77z1HhlwXYgrQJx2sORfDuGuVXDOOoBIejkiSX4tKp9SqMf9Mj3KvvVIf5znu+
         sxEOWNq0itbkodHOenyl8sONXWIUclhTuoU8cDMDLpdZLKSbZ/rgXxB2JlT0BsS4PPNY
         Xqmg==
X-Gm-Message-State: AOJu0Ywdh03kxsDhZlcxJ+a7ye7AfWShbpbQeMS5BCdzKXQ4cHTkoF0W
	W3LBo+4RfG2n06kufDX5qMIvqYeCqj69zt32WPSC0yErMDosNHOx//QWE5iyIJvkp5t6xYc0hVO
	YfrYFlUh3Rw==
X-Gm-Gg: ASbGncsvqlzylsBT2taeOtbnUdkg07mRvte0ygfEe6aRP1TRQO07FfIfNmHMDNI+RV9
	UtsLlN7ONe4Rz2ehgsWz4DByKUZzeAIuM0Ia1zZkUXy0pYGasH5YXW3NIBulA9rehmbbEl9KxUb
	0wFPoPOV/vP8rn0gX8dXiBq/5hj2erfSOZJaXBmAQFUxpH9bGIUg+HIKHkpB3O0ejNKjyNzJJ3p
	b3wrGreAR/2vWe3Zx0M81/noH6ClIeIq3AG/Y3A8p1XxP2DMhtEkaIW9UfFoZup/+W6EtW9j7Pb
	vR5CHBGCxv+NcNdZUekl1dhMuiCleQru9lazkEvLyukONYr6btrLMoAc6IeKrcujWz4O9IvLp23
	v3B9bwscNncLuragn5cQpyAimGYj/gr3C+Tw0N3pr+q5VYxBdCSjv0FTo7JpGQb5kKYAA8b8C4g
	92WMZ/pjn0N2GzX/oh25CkqgrtBXVv/ts=
X-Google-Smtp-Source: AGHT+IFqTQEWOz7mRrwudCzSnWkTI1QqUVdMs3PrrnKfBiD2fX3apMHX8+ej9IICiqFHzvdmEAGjQQ==
X-Received: by 2002:a05:6000:2386:b0:3ee:1357:e191 with SMTP id ffacd0b85a97d-425671a92f2mr2275302f8f.30.1759532024160;
        Fri, 03 Oct 2025 15:53:44 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v3 03/22] x86/fsgsbase: Split out __{rd,wr}gs_shadow() helpers
Date: Fri,  3 Oct 2025 23:53:15 +0100
Message-Id: <20251003225334.2123667-4-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
References: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Right now they're inline in {read,write}_gs_shadow(), but we're going to need
to use these elsewhere to support FRED.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>

v3:
 * Rename to __{rd,wr}gs_shadow()
---
 xen/arch/x86/include/asm/fsgsbase.h | 36 ++++++++++++++++++-----------
 1 file changed, 23 insertions(+), 13 deletions(-)

diff --git a/xen/arch/x86/include/asm/fsgsbase.h b/xen/arch/x86/include/asm/fsgsbase.h
index 03e6a85d31ce..557703842691 100644
--- a/xen/arch/x86/include/asm/fsgsbase.h
+++ b/xen/arch/x86/include/asm/fsgsbase.h
@@ -32,6 +32,17 @@ static inline unsigned long __rdgsbase(void)
     return base;
 }
 
+static inline unsigned long __rdgs_shadow(void)
+{
+    unsigned long base;
+
+    asm_inline volatile ( "swapgs\n\t"
+                          "rdgsbase %0\n\t"
+                          "swapgs" : "=r" (base) );
+
+    return base;
+}
+
 static inline void __wrfsbase(unsigned long base)
 {
     asm volatile ( "wrfsbase %0" :: "r" (base) );
@@ -42,6 +53,14 @@ static inline void __wrgsbase(unsigned long base)
     asm volatile ( "wrgsbase %0" :: "r" (base) );
 }
 
+static inline void __wrgs_shadow(unsigned long base)
+{
+    asm_inline volatile ( "swapgs\n\t"
+                          "wrgsbase %0\n\t"
+                          "swapgs"
+                          :: "r" (base) );
+}
+
 static inline unsigned long read_fs_base(void)
 {
     unsigned long base;
@@ -71,13 +90,9 @@ static inline unsigned long read_gs_shadow(void)
     unsigned long base;
 
     if ( read_cr4() & X86_CR4_FSGSBASE )
-    {
-        asm volatile ( "swapgs" );
-        base = __rdgsbase();
-        asm volatile ( "swapgs" );
-    }
-    else
-        rdmsrl(MSR_SHADOW_GS_BASE, base);
+        return __rdgs_shadow();
+
+    rdmsrl(MSR_SHADOW_GS_BASE, base);
 
     return base;
 }
@@ -101,12 +116,7 @@ static inline void write_gs_base(unsigned long base)
 static inline void write_gs_shadow(unsigned long base)
 {
     if ( read_cr4() & X86_CR4_FSGSBASE )
-    {
-        asm volatile ( "swapgs\n\t"
-                       "wrgsbase %0\n\t"
-                       "swapgs"
-                       :: "r" (base) );
-    }
+        __wrgs_shadow(base);
     else
         wrmsrl(MSR_SHADOW_GS_BASE, base);
 }
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Oct 03 22:53:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Oct 2025 22:53:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1136893.1473357 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4oes-0005xf-FW; Fri, 03 Oct 2025 22:53:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1136893.1473357; Fri, 03 Oct 2025 22:53:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4oes-0005ww-8g; Fri, 03 Oct 2025 22:53:50 +0000
Received: by outflank-mailman (input) for mailman id 1136893;
 Fri, 03 Oct 2025 22:53:49 +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
 <SRS0=WVFT=4M=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v4oeq-0004mF-Ui
 for xen-devel@lists.xenproject.org; Fri, 03 Oct 2025 22:53:48 +0000
Received: from mail-wr1-x42f.google.com (mail-wr1-x42f.google.com
 [2a00:1450:4864:20::42f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d2c2b48f-a0ab-11f0-9d14-b5c5bf9af7f9;
 Sat, 04 Oct 2025 00:53:48 +0200 (CEST)
Received: by mail-wr1-x42f.google.com with SMTP id
 ffacd0b85a97d-42420c7de22so1631147f8f.1
 for <xen-devel@lists.xenproject.org>; Fri, 03 Oct 2025 15:53:48 -0700 (PDT)
Received: from localhost.localdomain (host-92-22-57-86.as13285.net.
 [92.22.57.86]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4255d8a6bbesm9616571f8f.12.2025.10.03.15.53.46
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 03 Oct 2025 15:53:47 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d2c2b48f-a0ab-11f0-9d14-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1759532028; x=1760136828; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=CQIXxtqR5XkQfZx+k/l76E9CNQJSUSvnIl72OdWgL5Q=;
        b=q2cHapUWMbFWui3JKptQSJlK7KxRikVwuqCHuLYBJjp/57Sxm8U2oxC1WTjYMsCRoM
         AY4ExFVLsDfbATcf6Q68o6KMI6MiPlnBttGJvDUW14zehA4Prc1XVpoNDdQi+7HDk1w0
         ZLmKxzL6b1u3m+Gt6f+x1XX9AOEWqYS2EnVLo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759532028; x=1760136828;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=CQIXxtqR5XkQfZx+k/l76E9CNQJSUSvnIl72OdWgL5Q=;
        b=ZOeZIdFKYlUTG1VeVnOQ8qbI6DLcUnTbHjZwnA35uzTdOYeu09E3PrOrJ6H1JOtWdg
         BU8KLkQ7pwCtW1z8NJzSMZIVp3PCuuAKTsflHtu0rlqIKuuQSKL1KVWq4sWHuXKnVRzb
         5TAjvDCMZocxFIkwisVCqXMCy6rbzo7dnNPKEokQibgcynXdMzeG11+pPL4wtto0CFx8
         OiJJiTGNfy5Kj1E87J9xA3/RjYlNWyFov6w64SBUgYX7OlJc1zmDMp98/MNWMRR7EaW3
         IHzScUNdY1cyUnATPdtvGC2ns0qGxt33ip+MbHP9kxq6FLlk6cgXiiLV67L7uDy0mdjj
         zung==
X-Gm-Message-State: AOJu0YxedHjISKtZjwEayK9sEC52yK9Jpc1FxjEJrraZfy1WPc/uzYKh
	QbSQYDIuA3RuBML3lAqDNgti+9zwh6+fzx17nJtCBXX3MeCBX6LWFCo6HYMgGkA/pJibRJ8SA16
	3aHY4ImXZlg==
X-Gm-Gg: ASbGnctI2lak1wp2Re0OFSZwaEi7MoZf5dzWwD2G3zS84D3IWohrY8EgYmbymiKVk4c
	3CzTKz+QlB9lKhhX9QmTOajT7bWlO27Y4ekkAHPX1aBdQJmrCugqNf9o59EZL1Etxr6VMhVdznE
	sLZxmFo8ajnqNVLLLMtUaQoUUUMOiDDrszjo1TreDWA1dyMPXPiZvuI87CUQgFEOC5gVuuYfgUp
	md5odtYay+yNjrkv9i2kZ3ivgyQv5Nr+Rsdf/z8rvp6vXGM09AS4knLhQhHwzv/U6ykvWSW53Jv
	4AxXCvKaSCUc3v/Ez2vqkJ9zMgEA1Cc8enriwjqO4JCtH7NA4edpts1J2FwnaosSYSctoipIsZp
	3iNDAAT3jplxuueTb5VOQc0yBZgD1bG1U6pq5Q1CBGPG/NUpxxOR6hl8smGTPrmlLvmURvvHZNZ
	oiyOKlRHLnYR9/va9+MnhH
X-Google-Smtp-Source: AGHT+IEAxLmgwgQ4C3244RCBELilekwp3BnZPeUStuZhMVhFE4xU0Rx/JhXlC9p6+Hns9oQEMIDE/A==
X-Received: by 2002:a05:6000:2890:b0:405:8ef9:ee6e with SMTP id ffacd0b85a97d-4256713743fmr3442385f8f.25.1759532027752;
        Fri, 03 Oct 2025 15:53:47 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v3 06/22] x86/boot: Use RSTORSSP to establish SSP
Date: Fri,  3 Oct 2025 23:53:18 +0100
Message-Id: <20251003225334.2123667-7-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
References: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Under FRED, SETSSBSY is disallowed, and we want to be setting up FRED prior to
setting up shadow stacks.  As we still need Supervisor Tokens in IDT mode, we
need mode-specific logic to establish SSP.

In FRED mode, write a Restore Token, RSTORSSP it, and discard the resulting
Previous-SSP token.

No change outside of FRED mode.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>

v3:
 * Adjust the comment in reinit_bsp_stack().

v2:
 * Some logic moved into prior patch.
---
 xen/arch/x86/boot/x86_64.S | 23 +++++++++++++++++++++--
 xen/arch/x86/setup.c       | 25 ++++++++++++++++++++++++-
 2 files changed, 45 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/boot/x86_64.S b/xen/arch/x86/boot/x86_64.S
index 11a7e9d3bd23..9705d03f849c 100644
--- a/xen/arch/x86/boot/x86_64.S
+++ b/xen/arch/x86/boot/x86_64.S
@@ -53,17 +53,21 @@ ENTRY(__high_start)
         mov     %rcx, STACK_CPUINFO_FIELD(cr4)(%r15)
         mov     %rcx, %cr4
 
-        /* WARNING! call/ret now fatal (iff SHSTK) until SETSSBSY loads SSP */
+        /* WARNING! CALL/RET now fatal (iff SHSTK) until SETSSBSY/RSTORSSP loads SSP */
 
 #if defined(CONFIG_XEN_SHSTK)
         test    $CET_SHSTK_EN, %al
         jz      .L_ap_cet_done
 
-        /* Derive the supervisor token address from %rsp. */
+        /* Derive the token address from %rsp. */
         mov     %rsp, %rdx
         and     $~(STACK_SIZE - 1), %rdx
         or      $(PRIMARY_SHSTK_SLOT + 1) * PAGE_SIZE - 8, %rdx
 
+        /* Establishing SSP differs between IDT or FRED mode. */
+        bt      $32 /* ilog2(X86_CR4_FRED) */, %rcx
+        jc      .L_fred_shstk
+
         /*
          * Write a new Supervisor Token.  It doesn't matter the first time a
          * CPU boots, but for S3 resume or hotplug this clears the busy bit so
@@ -71,6 +75,21 @@ ENTRY(__high_start)
          */
         wrssq   %rdx, (%rdx)
         setssbsy
+        jmp     .L_ap_cet_done
+
+.L_fred_shstk:
+
+        /*
+         * Write a Restore Token, value: &token + 8 + 64BIT (bit 0) at the
+         * base of the shstk (which isn't in use yet).
+         */
+        lea     9(%rdx), %rdi
+        wrssq   %rdi, (%rdx)
+        rstorssp (%rdx)
+
+        /* Discard the Previous-SSP Token from the shstk. */
+        mov     $2, %edx
+        incsspd %edx
 
 #endif /* CONFIG_XEN_SHSTK */
 .L_ap_cet_done:
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index 872a8c63f94a..44da5efa1d20 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -49,6 +49,7 @@
 #include <asm/prot-key.h>
 #include <asm/pv/domain.h>
 #include <asm/setup.h>
+#include <asm/shstk.h>
 #include <asm/smp.h>
 #include <asm/spec_ctrl.h>
 #include <asm/stubs.h>
@@ -908,7 +909,29 @@ static void __init noreturn reinit_bsp_stack(void)
     if ( cpu_has_xen_shstk )
     {
         wrmsrl(MSR_S_CET, xen_msr_s_cet_value());
-        asm volatile ("setssbsy" ::: "memory");
+
+        /*
+         * IDT and FRED differ by a Supervisor Token on the shadow stack.
+         *
+         * In IDT mode, we use SETSSBSY (itself using MSR_PL0_SSP, configured
+         * previously) to mark the Supervisor Token as Busy.  In FRED mode,
+         * there is no token, so we need to create a temporary Restore Token
+         * to establish SSP.
+         */
+        if ( opt_fred )
+        {
+            unsigned long *token =
+                (void *)stack + (PRIMARY_SHSTK_SLOT + 1) * PAGE_SIZE - 8;
+
+            wrss((unsigned long)token + 9, token);
+            asm volatile ( "rstorssp %0" : "+m" (*token) );
+            /*
+             * We need to discard the resulting Previous-SSP Token, but
+             * reset_stack_and_jump() will do that for us.
+             */
+        }
+        else
+            asm volatile ( "setssbsy" ::: "memory" );
     }
 
     reset_stack_and_jump(init_done);
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Oct 03 22:53:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Oct 2025 22:53:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1136895.1473376 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4oev-0006Tk-Af; Fri, 03 Oct 2025 22:53:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1136895.1473376; Fri, 03 Oct 2025 22:53:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4oev-0006SB-1q; Fri, 03 Oct 2025 22:53:53 +0000
Received: by outflank-mailman (input) for mailman id 1136895;
 Fri, 03 Oct 2025 22:53:51 +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
 <SRS0=WVFT=4M=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v4oet-0004mF-JG
 for xen-devel@lists.xenproject.org; Fri, 03 Oct 2025 22:53:51 +0000
Received: from mail-wr1-x42f.google.com (mail-wr1-x42f.google.com
 [2a00:1450:4864:20::42f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d45fc517-a0ab-11f0-9d14-b5c5bf9af7f9;
 Sat, 04 Oct 2025 00:53:51 +0200 (CEST)
Received: by mail-wr1-x42f.google.com with SMTP id
 ffacd0b85a97d-3ee130237a8so1974940f8f.0
 for <xen-devel@lists.xenproject.org>; Fri, 03 Oct 2025 15:53:51 -0700 (PDT)
Received: from localhost.localdomain (host-92-22-57-86.as13285.net.
 [92.22.57.86]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4255d8a6bbesm9616571f8f.12.2025.10.03.15.53.49
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 03 Oct 2025 15:53:49 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d45fc517-a0ab-11f0-9d14-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1759532030; x=1760136830; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=LCapiM0xH65oD0m1ksMUosmI8lWBCkb+MdhiFcZvJp8=;
        b=lg4HrcY4+B3IogBxjk5ybz1iOGRvLkOMQwQ2ocFcMuo5XGqQHSqpRJ4rzk+r4BqVP9
         4mQ4FAc91F+T0nnjlMPc5SxpbFoAJdxD0q4gThN39uLq0PpT1LeNeSqOBS8Gf0Au6nsn
         ReUKNyKSeb+qgYH1+paGgJ/673dvQCJKrTNVA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759532030; x=1760136830;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=LCapiM0xH65oD0m1ksMUosmI8lWBCkb+MdhiFcZvJp8=;
        b=pX30xfPZrfgmtZvLW6T5FICQ61b28UFODIsHPR+1FpjsnjnOtHaDN/JAqITK2XBHSu
         PY6vyCI00Ny+sTJh0GWVRWgyT5G58UjbJ+9TMd08/aQn4PdKX8Yn0JokMedh0DyWDF9D
         Xnts7cVjfngFU9GlUsdejsf6LvZCDpKrPjK6+qf6dHFHW+Jgn/mdo3dFVbBsE2sC1GEh
         isXE0CXcSMvYFoirY9qtMw0jvJc+cu9i9l2FeW2w3gVstHDubtoUbXj/u/nwqIeYikNo
         HoeL6l/a9REcWy30XtrnjNp7gokxUukvyV5cAoSq625uzYjromZALhfr1NsokDc5NeFF
         3mKw==
X-Gm-Message-State: AOJu0YyIpnD+jsMcd0lqd7KK/LRRbjxoRcuMDedrFx8xz1iSIC27L5JS
	nj12JMI0h80E478pArkOnMxx0BjwdOVelYvJeoQZ0CIImJkLrT6z7cx3nUx4Ed4qlenNTuPXUIJ
	dp+CHXw4FFg==
X-Gm-Gg: ASbGncuql1iI/nABun244YSwSAcSECa+01sPYC1Pd2OfOVnK2tO1BAkudMfl3JgCmjS
	5nnoQTUBJwYiXZfiU60q0wlvENeUcaoCAxm3Ohay/YWg5BMzMbJXFyOJpGaxeBXYcuaL3g/0rb5
	EMTEmvihBU7cqkngQxJCLokPLwsaK8Ruir8TuMgTW2h+OzraflEtL64U9nb9tp1HMrd6if74I73
	cCv03M/8Cr/ok0gfYa+SPD2a3ycr+1wF2mnmc9dflZEhUI2CEaoLig6P6a2GS2hl7JLZLjWWujh
	C1X+HOkRPrcYR3+dSVDu9zt2ZrOZzN4AsJJPISrcsMlmA/JkOI+RitXLRAy9lKSN+4f0/jUnlJO
	/Cbr0IXVuG0J/0LzwAJP2uY3f1P+2wzafmBnlTlXfJBoAgRID2EKarhJK7DfZYlOY2kPUIJwPA1
	AE36raHuGE+vo60GYSeR9g
X-Google-Smtp-Source: AGHT+IHDK5cVhEjzRuhbRNjA7VIYhVu6Tnt6vNSpbzNgDiwBKK5lWyaZUWlRFcLNL5u6vX9rhV1aSA==
X-Received: by 2002:a05:6000:1842:b0:3ec:dd16:fc16 with SMTP id ffacd0b85a97d-425671b23bfmr2836608f8f.43.1759532030450;
        Fri, 03 Oct 2025 15:53:50 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v3 08/22] x86/traps: Skip Supervisor Shadow Stack tokens in FRED mode
Date: Fri,  3 Oct 2025 23:53:20 +0100
Message-Id: <20251003225334.2123667-9-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
References: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

FRED doesn't use Supervisor Shadow Stack tokens.  Skip setting them up.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>

v3:
 * Move further still

v2:
 * New
---
 xen/arch/x86/mm.c    | 12 +++++++++---
 xen/arch/x86/setup.c |  8 ++++----
 2 files changed, 13 insertions(+), 7 deletions(-)

diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index b929d15d0050..043e6aa9d73a 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -129,6 +129,7 @@
 #include <asm/shadow.h>
 #include <asm/shared.h>
 #include <asm/trampoline.h>
+#include <asm/traps.h>
 #include <asm/x86_emulate.h>
 
 #include <public/memory.h>
@@ -6441,8 +6442,13 @@ static void write_sss_token(unsigned long *ptr)
 
 void memguard_guard_stack(void *p)
 {
-    /* IST Shadow stacks.  4x 1k in stack page 0. */
-    if ( IS_ENABLED(CONFIG_XEN_SHSTK) )
+    /*
+     * IST Shadow stacks.  4x 1k in stack page 0.
+     *
+     * With IDT delivery, we need Supervisor Shadow Stack tokens at the base
+     * of each stack.  With FRED delivery, these no longer exist.
+     */
+    if ( IS_ENABLED(CONFIG_XEN_SHSTK) && !opt_fred )
     {
         write_sss_token(p + (IST_MCE * IST_SHSTK_SIZE) - 8);
         write_sss_token(p + (IST_NMI * IST_SHSTK_SIZE) - 8);
@@ -6453,7 +6459,7 @@ void memguard_guard_stack(void *p)
 
     /* Primary Shadow Stack.  1x 4k in stack page 5. */
     p += PRIMARY_SHSTK_SLOT * PAGE_SIZE;
-    if ( IS_ENABLED(CONFIG_XEN_SHSTK) )
+    if ( IS_ENABLED(CONFIG_XEN_SHSTK) && !opt_fred )
         write_sss_token(p + PAGE_SIZE - 8);
 
     map_pages_to_xen((unsigned long)p, virt_to_mfn(p), 1, PAGE_HYPERVISOR_SHSTK);
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index 44da5efa1d20..160a9611f456 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -1923,10 +1923,6 @@ void asmlinkage __init noreturn __start_xen(void)
 
     system_state = SYS_STATE_boot;
 
-    bsp_stack = cpu_alloc_stack(0);
-    if ( !bsp_stack )
-        panic("No memory for BSP stack\n");
-
     console_init_ring();
     vesa_init();
 
@@ -2111,6 +2107,10 @@ void asmlinkage __init noreturn __start_xen(void)
 
     console_init_postirq();
 
+    bsp_stack = cpu_alloc_stack(0); /* Needs to know IDT vs FRED */
+    if ( !bsp_stack )
+        panic("No memory for BSP stack\n");
+
     system_state = SYS_STATE_smp_boot;
 
     do_presmp_initcalls();
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Oct 03 22:53:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Oct 2025 22:53:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1136888.1473311 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4oeo-000502-UN; Fri, 03 Oct 2025 22:53:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1136888.1473311; Fri, 03 Oct 2025 22:53:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4oeo-0004zv-QK; Fri, 03 Oct 2025 22:53:46 +0000
Received: by outflank-mailman (input) for mailman id 1136888;
 Fri, 03 Oct 2025 22:53:45 +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
 <SRS0=WVFT=4M=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v4oen-0004mK-AH
 for xen-devel@lists.xenproject.org; Fri, 03 Oct 2025 22:53:45 +0000
Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com
 [2a00:1450:4864:20::333])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cf518f02-a0ab-11f0-9809-7dc792cee155;
 Sat, 04 Oct 2025 00:53:42 +0200 (CEST)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-46e48d6b95fso24614915e9.3
 for <xen-devel@lists.xenproject.org>; Fri, 03 Oct 2025 15:53:42 -0700 (PDT)
Received: from localhost.localdomain (host-92-22-57-86.as13285.net.
 [92.22.57.86]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4255d8a6bbesm9616571f8f.12.2025.10.03.15.53.40
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 03 Oct 2025 15:53:40 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cf518f02-a0ab-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1759532022; x=1760136822; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=q9IkV6zUdeS/YYDXe7UsUaMJS7ozm8pDAiAA2KT2ctg=;
        b=lXhsvZNNmfbX5i+neCAdrpDnwNueFH4JnoaxLvDowwyP32XKQqc47tDS7zyGx602gO
         /SIGSnYLMzt5U6YRzde06tSb5liiJG0GL3+mn9ZjLUpHqlMmtMznJ3mB4jw3voyi9efY
         TEEM+x2XRDpKpxVHzJNZlmvc2s3HDQaZeawng=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759532022; x=1760136822;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=q9IkV6zUdeS/YYDXe7UsUaMJS7ozm8pDAiAA2KT2ctg=;
        b=Gpk6GPtlg/vo38udngHpdlydYXzd9IInQ/ra5NspdxyRaHO9S8uU9tbTJli66FwtkC
         1dmOflIpDJIuERKU721M0z8byEgyILkIETwJshtEK2UeO2JBhQE3blf5QV69uE96lh0Y
         rCwvWrUpNqCkeIswV7w1h7O7B91fsxRMZe6fF9vGNi61HvbSG4MtGwm8SniUeu+8XS2p
         29ocbNffGtelkVohQfN0E+qBCNJv01rzHOx1RceTFEqVwp78QPtm5HjCRj9y9TZ4gj4z
         TXR5BPUUUEss7ibwi71/LaeA/Mteb6OfNRrKuDgNTtn6s8SGxQrnZfoptoZRi6GC8Nww
         G5lw==
X-Gm-Message-State: AOJu0Yzhiq0fHwXye2ms7d0SDBSYz42A8Dv/3+v2q/mGFUJySgKTKeO7
	VZxs5k1O02FkBVM3+JlG1DNaq9RkP6ioUYUWxrlC5H1QeMpIUr4V7VrY6Vk0gYIrDpfNodcNI12
	veI7XC30A8g==
X-Gm-Gg: ASbGncu6fBRCg0kuoY4bfX1B0xSnfJivyJLC1XkHNo5sMwNHIu9DT6faPmDJxglhd4c
	boaNY5KhZoJ/4H0V9+F+sDrpe1Q0g6TynxxGQl+halFjD/3eiPeDtu8ah1xaIyoCJ8z6DFgqZrX
	kATwVbK6fT57GgRZqFgci3UKL6Q3jLAQ9VG9qVAuppvNzmERauxXaa/ezAjQehVIoLdZo07+VeY
	jqk/lyI8uoXbZIdmZOilAeo42jpcafMHrVXChwCBN62TIvrOw72OTdZW7xlDWsJ5U8l7XuUbgyJ
	P0rr6VZuR+tf7t8+g4Zp/qzkyGAZVEPAxeTysOfg7X6QufTls9LyDGMEXxBc6A25b2YW0DcRc9z
	oZ2wVbIvMzJUDOEM5dvxlezntP0GfoWaoDxPnWovpAl6Ar11YYpnMRwqdAzGMRgydOC55opZfHq
	aBCNdflVz8eI+0MKEdtX/6S/TUMwXin9I=
X-Google-Smtp-Source: AGHT+IGNUioyJbDV54Z6QJq8DQKssSmiQ9BAfvBGy4hSiNGWPB+ZfGAMGE0u0YEaBLQj5MRqxzOecw==
X-Received: by 2002:a05:6000:240b:b0:424:2280:5079 with SMTP id ffacd0b85a97d-4256714ba8emr3321110f8f.25.1759532021824;
        Fri, 03 Oct 2025 15:53:41 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v3 01/22] x86/msr: Change rdmsr() to have normal API
Date: Fri,  3 Oct 2025 23:53:13 +0100
Message-Id: <20251003225334.2123667-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
References: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

We want a consistent MSR API, and these want to be named rdmsr() and wrmsr(),
but not with their current APIs.  The current rdmsr() flavours writing to
their parameters by name makes code that reads like invalid C, and is
unergonomic to use in lots of cases.

Change the API, and update the callers all in one go.  Where appropriate,
update the write side to wrmsrns() as per the recommendation.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>

v3:
 * Fix m10Ah typos.
 * Don't truncate MSR_MCU_OPT_CTRL / MSR_PB_OPT_CTRL.
 * Swap u32 for uint32_t in _vmx_cpu_up().
 * Switch to always_inline to reduce churn in later patch.
---
 xen/arch/x86/acpi/cpufreq/powernow.c | 12 ++++++-----
 xen/arch/x86/cpu/amd.c               |  6 +++---
 xen/arch/x86/cpu/common.c            | 20 +++++++++++--------
 xen/arch/x86/cpu/intel.c             | 30 ++++++++++++++--------------
 xen/arch/x86/genapic/x2apic.c        |  5 +----
 xen/arch/x86/hvm/vmx/vmcs.c          | 30 +++++++++++++++++++++-------
 xen/arch/x86/include/asm/msr.h       | 30 ++++++++++++++++++++++++----
 xen/arch/x86/include/asm/prot-key.h  |  6 +-----
 xen/arch/x86/tsx.c                   | 27 ++++++++++---------------
 9 files changed, 99 insertions(+), 67 deletions(-)

diff --git a/xen/arch/x86/acpi/cpufreq/powernow.c b/xen/arch/x86/acpi/cpufreq/powernow.c
index 12fca45b4551..71ac0b45261a 100644
--- a/xen/arch/x86/acpi/cpufreq/powernow.c
+++ b/xen/arch/x86/acpi/cpufreq/powernow.c
@@ -140,23 +140,25 @@ static int cf_check powernow_cpufreq_target(
 
 static void amd_fixup_frequency(struct xen_processor_px *px)
 {
-    u32 hi, lo, fid, did;
+    uint64_t val;
+    uint32_t fid, did;
     int index = px->control & 0x00000007;
     const struct cpuinfo_x86 *c = &current_cpu_data;
 
     if ((c->x86 != 0x10 || c->x86_model >= 10) && c->x86 != 0x11)
         return;
 
-    rdmsr(MSR_PSTATE_DEF_BASE + index, lo, hi);
+    val = rdmsr(MSR_PSTATE_DEF_BASE + index);
+
     /*
      * MSR C001_0064+:
      * Bit 63: PstateEn. Read-write. If set, the P-state is valid.
      */
-    if (!(hi & (1U << 31)))
+    if (!(val & (1UL << 63)))
         return;
 
-    fid = lo & 0x3f;
-    did = (lo >> 6) & 7;
+    fid = val & 0x3f;
+    did = (val >> 6) & 7;
     if (c->x86 == 0x10)
         px->core_frequency = (100 * (fid + 16)) >> did;
     else
diff --git a/xen/arch/x86/cpu/amd.c b/xen/arch/x86/cpu/amd.c
index 9767f6353973..43481daa8e26 100644
--- a/xen/arch/x86/cpu/amd.c
+++ b/xen/arch/x86/cpu/amd.c
@@ -1369,9 +1369,9 @@ static void cf_check init_amd(struct cpuinfo_x86 *c)
 	}
 
 	if (cpu_has(c, X86_FEATURE_EFRO)) {
-		rdmsr(MSR_K8_HWCR, l, h);
-		l |= (1 << 27); /* Enable read-only APERF/MPERF bit */
-		wrmsr(MSR_K8_HWCR, l, h);
+		/* Enable read-only APERF/MPERF bit */
+		wrmsrns(MSR_K8_HWCR,
+			rdmsr(MSR_K8_HWCR) | (1 << 27));
 	}
 
 	/* Prevent TSC drift in non single-processor, single-core platforms. */
diff --git a/xen/arch/x86/cpu/common.c b/xen/arch/x86/cpu/common.c
index 8c8bf1a806c6..37820a3a08ab 100644
--- a/xen/arch/x86/cpu/common.c
+++ b/xen/arch/x86/cpu/common.c
@@ -329,6 +329,7 @@ static inline u32 phys_pkg_id(u32 cpuid_apic, int index_msb)
 void __init early_cpu_init(bool verbose)
 {
 	struct cpuinfo_x86 *c = &boot_cpu_data;
+	uint64_t val;
 	u32 eax, ebx, ecx, edx;
 
 	c->x86_cache_alignment = 32;
@@ -412,10 +413,11 @@ void __init early_cpu_init(bool verbose)
 			    &c->x86_capability[FEATURESET_7c0],
 			    &c->x86_capability[FEATURESET_7d0]);
 
-		if (test_bit(X86_FEATURE_ARCH_CAPS, c->x86_capability))
-			rdmsr(MSR_ARCH_CAPABILITIES,
-			      c->x86_capability[FEATURESET_m10Al],
-			      c->x86_capability[FEATURESET_m10Ah]);
+		if (test_bit(X86_FEATURE_ARCH_CAPS, c->x86_capability)) {
+			val = rdmsr(MSR_ARCH_CAPABILITIES);
+			c->x86_capability[FEATURESET_m10Al] = val;
+			c->x86_capability[FEATURESET_m10Ah] = val >> 32;
+		}
 
 		if (max_subleaf >= 1)
 			cpuid_count(7, 1, &eax, &ebx, &ecx,
@@ -467,6 +469,7 @@ void reset_cpuinfo(struct cpuinfo_x86 *c, bool keep_basic)
 
 static void generic_identify(struct cpuinfo_x86 *c)
 {
+	uint64_t val;
 	u32 eax, ebx, ecx, edx, tmp;
 
 	/* Get vendor name */
@@ -566,10 +569,11 @@ static void generic_identify(struct cpuinfo_x86 *c)
 			    &c->x86_capability[FEATURESET_Da1],
 			    &tmp, &tmp, &tmp);
 
-	if (test_bit(X86_FEATURE_ARCH_CAPS, c->x86_capability))
-		rdmsr(MSR_ARCH_CAPABILITIES,
-		      c->x86_capability[FEATURESET_m10Al],
-		      c->x86_capability[FEATURESET_m10Ah]);
+	if (test_bit(X86_FEATURE_ARCH_CAPS, c->x86_capability)) {
+		val = rdmsr(MSR_ARCH_CAPABILITIES);
+		c->x86_capability[FEATURESET_m10Al] = val;
+		c->x86_capability[FEATURESET_m10Ah] = val >> 32;
+	}
 }
 
 /*
diff --git a/xen/arch/x86/cpu/intel.c b/xen/arch/x86/cpu/intel.c
index ecca11f04db8..6f71365b7ea0 100644
--- a/xen/arch/x86/cpu/intel.c
+++ b/xen/arch/x86/cpu/intel.c
@@ -23,17 +23,17 @@ static uint32_t __ro_after_init mcu_opt_ctrl_val;
 
 void update_mcu_opt_ctrl(void)
 {
-    uint32_t mask = mcu_opt_ctrl_mask, lo, hi;
+    uint64_t mask = mcu_opt_ctrl_mask, val;
 
     if ( !mask )
         return;
 
-    rdmsr(MSR_MCU_OPT_CTRL, lo, hi);
+    val = rdmsr(MSR_MCU_OPT_CTRL);
 
-    lo &= ~mask;
-    lo |= mcu_opt_ctrl_val;
+    val &= ~mask;
+    val |= mcu_opt_ctrl_val;
 
-    wrmsr(MSR_MCU_OPT_CTRL, lo, hi);
+    wrmsrns(MSR_MCU_OPT_CTRL, val);
 }
 
 void __init set_in_mcu_opt_ctrl(uint32_t mask, uint32_t val)
@@ -51,17 +51,17 @@ static uint32_t __ro_after_init pb_opt_ctrl_val;
 
 void update_pb_opt_ctrl(void)
 {
-    uint32_t mask = pb_opt_ctrl_mask, lo, hi;
+    uint64_t mask = pb_opt_ctrl_mask, val;
 
     if ( !mask )
         return;
 
-    rdmsr(MSR_PB_OPT_CTRL, lo, hi);
+    val = rdmsr(MSR_PB_OPT_CTRL);
 
-    lo &= ~mask;
-    lo |= pb_opt_ctrl_val;
+    val &= ~mask;
+    val |= pb_opt_ctrl_val;
 
-    wrmsr(MSR_PB_OPT_CTRL, lo, hi);
+    wrmsrns(MSR_PB_OPT_CTRL, val);
 }
 
 void __init set_in_pb_opt_ctrl(uint32_t mask, uint32_t val)
@@ -456,15 +456,15 @@ static void __init probe_mwait_errata(void)
  */
 static void Intel_errata_workarounds(struct cpuinfo_x86 *c)
 {
-	unsigned long lo, hi;
+	uint64_t val;
 
 	if ((c->x86 == 15) && (c->x86_model == 1) && (c->x86_mask == 1)) {
-		rdmsr (MSR_IA32_MISC_ENABLE, lo, hi);
-		if ((lo & (1<<9)) == 0) {
+		val = rdmsr(MSR_IA32_MISC_ENABLE);
+		if ((val & (1 << 9)) == 0) {
 			printk (KERN_INFO "CPU: C0 stepping P4 Xeon detected.\n");
 			printk (KERN_INFO "CPU: Disabling hardware prefetching (Errata 037)\n");
-			lo |= (1<<9);	/* Disable hw prefetching */
-			wrmsr (MSR_IA32_MISC_ENABLE, lo, hi);
+			val |= (1 << 9); /* Disable hw prefetching */
+			wrmsrns(MSR_IA32_MISC_ENABLE, val);
 		}
 	}
 
diff --git a/xen/arch/x86/genapic/x2apic.c b/xen/arch/x86/genapic/x2apic.c
index 1d55eb6b8a41..58157c217ee8 100644
--- a/xen/arch/x86/genapic/x2apic.c
+++ b/xen/arch/x86/genapic/x2apic.c
@@ -268,14 +268,11 @@ const struct genapic *__init apic_x2apic_probe(void)
 
 void __init check_x2apic_preenabled(void)
 {
-    u32 lo, hi;
-
     if ( !cpu_has_x2apic )
         return;
 
     /* Check whether x2apic mode was already enabled by the BIOS. */
-    rdmsr(MSR_APIC_BASE, lo, hi);
-    if ( lo & APIC_BASE_EXTD )
+    if ( rdmsr(MSR_APIC_BASE) & APIC_BASE_EXTD )
     {
         printk("x2APIC mode is already enabled by BIOS.\n");
         x2apic_enabled = 1;
diff --git a/xen/arch/x86/hvm/vmx/vmcs.c b/xen/arch/x86/hvm/vmx/vmcs.c
index ab8b1c87ec0f..b639818b6ea6 100644
--- a/xen/arch/x86/hvm/vmx/vmcs.c
+++ b/xen/arch/x86/hvm/vmx/vmcs.c
@@ -207,9 +207,13 @@ static void __init vmx_display_features(void)
 static u32 adjust_vmx_controls(
     const char *name, u32 ctl_min, u32 ctl_opt, u32 msr, bool *mismatch)
 {
+    uint64_t val;
     u32 vmx_msr_low, vmx_msr_high, ctl = ctl_min | ctl_opt;
 
-    rdmsr(msr, vmx_msr_low, vmx_msr_high);
+    val = rdmsr(msr);
+
+    vmx_msr_low = val;
+    vmx_msr_high = val >> 32;
 
     ctl &= vmx_msr_high; /* bit == 0 in high word ==> must be zero */
     ctl |= vmx_msr_low;  /* bit == 1 in low word  ==> must be one  */
@@ -258,10 +262,13 @@ static int vmx_init_vmcs_config(bool bsp)
 {
     u32 vmx_basic_msr_low, vmx_basic_msr_high, min, opt;
     struct vmx_caps caps = {};
-    u64 _vmx_misc_cap = 0;
+    uint64_t _vmx_misc_cap = 0, val;
     bool mismatch = false;
 
-    rdmsr(MSR_IA32_VMX_BASIC, vmx_basic_msr_low, vmx_basic_msr_high);
+    val = rdmsr(MSR_IA32_VMX_BASIC);
+
+    vmx_basic_msr_low = val;
+    vmx_basic_msr_high = val >> 32;
 
     min = (PIN_BASED_EXT_INTR_MASK |
            PIN_BASED_NMI_EXITING);
@@ -366,7 +373,10 @@ static int vmx_init_vmcs_config(bool bsp)
     if ( caps.secondary_exec_control & (SECONDARY_EXEC_ENABLE_EPT |
                                         SECONDARY_EXEC_ENABLE_VPID) )
     {
-        rdmsr(MSR_IA32_VMX_EPT_VPID_CAP, caps.ept, caps.vpid);
+        val = rdmsr(MSR_IA32_VMX_EPT_VPID_CAP);
+
+        caps.ept = val;
+        caps.vpid = val >> 32;
 
         if ( !opt_ept_ad )
             caps.ept &= ~VMX_EPT_AD_BIT;
@@ -408,9 +418,15 @@ static int vmx_init_vmcs_config(bool bsp)
          * We check VMX_BASIC_MSR[55] to correctly handle default controls.
          */
         uint32_t must_be_one, must_be_zero, msr = MSR_IA32_VMX_PROCBASED_CTLS;
+
         if ( vmx_basic_msr_high & (VMX_BASIC_DEFAULT1_ZERO >> 32) )
             msr = MSR_IA32_VMX_TRUE_PROCBASED_CTLS;
-        rdmsr(msr, must_be_one, must_be_zero);
+
+        val = rdmsr(msr);
+
+        must_be_one = val;
+        must_be_zero = val >> 32;
+
         if ( must_be_one & (CPU_BASED_INVLPG_EXITING |
                             CPU_BASED_CR3_LOAD_EXITING |
                             CPU_BASED_CR3_STORE_EXITING) )
@@ -699,7 +715,7 @@ void cf_check vmx_cpu_dead(unsigned int cpu)
 
 static int _vmx_cpu_up(bool bsp)
 {
-    u32 eax, edx;
+    uint32_t eax;
     int rc, bios_locked, cpu = smp_processor_id();
     u64 cr0, vmx_cr0_fixed0, vmx_cr0_fixed1;
 
@@ -719,7 +735,7 @@ static int _vmx_cpu_up(bool bsp)
         return -EINVAL;
     }
 
-    rdmsr(MSR_IA32_FEATURE_CONTROL, eax, edx);
+    eax = rdmsr(MSR_IA32_FEATURE_CONTROL);
 
     bios_locked = !!(eax & IA32_FEATURE_CONTROL_LOCK);
     if ( bios_locked )
diff --git a/xen/arch/x86/include/asm/msr.h b/xen/arch/x86/include/asm/msr.h
index 901770555b8c..188a50f9cea4 100644
--- a/xen/arch/x86/include/asm/msr.h
+++ b/xen/arch/x86/include/asm/msr.h
@@ -9,10 +9,32 @@
 #include <asm/asm_defns.h>
 #include <asm/msr-index.h>
 
-#define rdmsr(msr,val1,val2) \
-     __asm__ __volatile__("rdmsr" \
-			  : "=a" (val1), "=d" (val2) \
-			  : "c" (msr))
+/*
+ * MSR APIs.  Most logic is expected to use:
+ *
+ *   uint64_t foo = rdmsr(MSR_BAR);
+ *   wrmsrns(MSR_BAR, foo);
+ *
+ * In addition, *_safe() wrappers exist to cope gracefully with a #GP.
+ *
+ *
+ * All legacy forms are to be phased out:
+ *
+ *  rdmsrl(MSR_FOO, val);
+ *  wrmsr(MSR_FOO, lo, hi);
+ *  wrmsrl(MSR_FOO, val);
+ */
+
+static always_inline uint64_t rdmsr(unsigned int msr)
+{
+    unsigned long lo, hi;
+
+    asm volatile ( "rdmsr"
+                   : "=a" (lo), "=d" (hi)
+                   : "c" (msr) );
+
+    return (hi << 32) | lo;
+}
 
 #define rdmsrl(msr,val) do { unsigned long a__,b__; \
        __asm__ __volatile__("rdmsr" \
diff --git a/xen/arch/x86/include/asm/prot-key.h b/xen/arch/x86/include/asm/prot-key.h
index 3e9c2eaef415..8fb15b5c32e9 100644
--- a/xen/arch/x86/include/asm/prot-key.h
+++ b/xen/arch/x86/include/asm/prot-key.h
@@ -52,11 +52,7 @@ DECLARE_PER_CPU(uint32_t, pkrs);
 
 static inline uint32_t rdpkrs(void)
 {
-    uint32_t pkrs, tmp;
-
-    rdmsr(MSR_PKRS, pkrs, tmp);
-
-    return pkrs;
+    return rdmsr(MSR_PKRS);
 }
 
 static inline uint32_t rdpkrs_and_cache(void)
diff --git a/xen/arch/x86/tsx.c b/xen/arch/x86/tsx.c
index 2a0c7c08a2ba..fe9f0ab4f792 100644
--- a/xen/arch/x86/tsx.c
+++ b/xen/arch/x86/tsx.c
@@ -42,6 +42,8 @@ void tsx_init(void)
 {
     static bool __read_mostly once;
 
+    uint64_t val;
+
     /*
      * This function is first called between microcode being loaded, and
      * CPUID being scanned generally. early_cpu_init() has already prepared
@@ -62,8 +64,6 @@ void tsx_init(void)
              * On a TAA-vulnerable or later part with at least the May 2020
              * microcode mitigating SRBDS.
              */
-            uint64_t val;
-
             rdmsrl(MSR_MCU_OPT_CTRL, val);
 
             /*
@@ -118,8 +118,6 @@ void tsx_init(void)
 
         if ( cpu_has_tsx_force_abort )
         {
-            uint64_t val;
-
             /*
              * On an early TSX-enabled Skylake part subject to the memory
              * ordering erratum, with at least the March 2019 microcode.
@@ -250,18 +248,17 @@ void tsx_init(void)
          *    controlled, we have or will set MSR_MCU_OPT_CTRL.RTM_ALLOW to
          *    let TSX_CTRL.RTM_DISABLE be usable.
          */
-        uint32_t hi, lo;
 
-        rdmsr(MSR_TSX_CTRL, lo, hi);
+        val = rdmsr(MSR_TSX_CTRL);
 
         /* Check bottom bit only.  Higher bits are various sentinels. */
         rtm_disabled = !(opt_tsx & 1);
 
-        lo &= ~(TSX_CTRL_RTM_DISABLE | TSX_CTRL_CPUID_CLEAR);
+        val &= ~(TSX_CTRL_RTM_DISABLE | TSX_CTRL_CPUID_CLEAR);
         if ( rtm_disabled )
-            lo |= TSX_CTRL_RTM_DISABLE | TSX_CTRL_CPUID_CLEAR;
+            val |= TSX_CTRL_RTM_DISABLE | TSX_CTRL_CPUID_CLEAR;
 
-        wrmsr(MSR_TSX_CTRL, lo, hi);
+        wrmsrns(MSR_TSX_CTRL, val);
     }
     else if ( cpu_has_tsx_force_abort )
     {
@@ -269,14 +266,12 @@ void tsx_init(void)
          * On an early TSX-enable Skylake part subject to the memory ordering
          * erratum, with at least the March 2019 microcode.
          */
-        uint32_t hi, lo;
-
-        rdmsr(MSR_TSX_FORCE_ABORT, lo, hi);
+        val = rdmsr(MSR_TSX_FORCE_ABORT);
 
         /* Check bottom bit only.  Higher bits are various sentinels. */
         rtm_disabled = !(opt_tsx & 1);
 
-        lo &= ~(TSX_FORCE_ABORT_RTM | TSX_CPUID_CLEAR | TSX_ENABLE_RTM);
+        val &= ~(TSX_FORCE_ABORT_RTM | TSX_CPUID_CLEAR | TSX_ENABLE_RTM);
 
         if ( cpu_has_rtm_always_abort )
         {
@@ -291,7 +286,7 @@ void tsx_init(void)
              *  - TSX_FORCE_ABORT.ENABLE_RTM may be used to opt in to
              *    re-enabling RTM, at the users own risk.
              */
-            lo |= rtm_disabled ? TSX_CPUID_CLEAR : TSX_ENABLE_RTM;
+            val |= rtm_disabled ? TSX_CPUID_CLEAR : TSX_ENABLE_RTM;
         }
         else
         {
@@ -304,10 +299,10 @@ void tsx_init(void)
              *    setting TSX_FORCE_ABORT.FORCE_ABORT_RTM.
              */
             if ( rtm_disabled )
-                lo |= TSX_FORCE_ABORT_RTM;
+                val |= TSX_FORCE_ABORT_RTM;
         }
 
-        wrmsr(MSR_TSX_FORCE_ABORT, lo, hi);
+        wrmsrns(MSR_TSX_FORCE_ABORT, val);
     }
     else if ( opt_tsx >= 0 )
         printk_once(XENLOG_WARNING
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Oct 03 22:53:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Oct 2025 22:53:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1136894.1473371 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4oeu-0006Qn-TI; Fri, 03 Oct 2025 22:53:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1136894.1473371; Fri, 03 Oct 2025 22:53:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4oeu-0006Qg-Oi; Fri, 03 Oct 2025 22:53:52 +0000
Received: by outflank-mailman (input) for mailman id 1136894;
 Fri, 03 Oct 2025 22:53:51 +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
 <SRS0=WVFT=4M=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v4oet-0004mK-Fx
 for xen-devel@lists.xenproject.org; Fri, 03 Oct 2025 22:53:51 +0000
Received: from mail-wr1-x42d.google.com (mail-wr1-x42d.google.com
 [2a00:1450:4864:20::42d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d38ebc6e-a0ab-11f0-9809-7dc792cee155;
 Sat, 04 Oct 2025 00:53:49 +0200 (CEST)
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-3f0ae439bc3so1431509f8f.1
 for <xen-devel@lists.xenproject.org>; Fri, 03 Oct 2025 15:53:49 -0700 (PDT)
Received: from localhost.localdomain (host-92-22-57-86.as13285.net.
 [92.22.57.86]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4255d8a6bbesm9616571f8f.12.2025.10.03.15.53.47
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 03 Oct 2025 15:53:48 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d38ebc6e-a0ab-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1759532029; x=1760136829; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=egy9XQtSd+4RovGW/slEPJzeLJH9pzKr20RQT1jfE7o=;
        b=WRNJem83pjebqXEDrsReTnpufgiqBqASUlGogbTOaK3T+c54DywCdZemK/+Jesmvco
         tCN9s4i3aAZi4FjKIG6Enqth0kVnWWSLCj/SxP6E1GR/SM1Ik1UdRjqDlcMfQShTksrK
         zMlRFWnZ+ZufsILkT1rfJSOBNsq6fUiCyhaZY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759532029; x=1760136829;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=egy9XQtSd+4RovGW/slEPJzeLJH9pzKr20RQT1jfE7o=;
        b=vtG14IklNPmd/KRFToKhw6Dlg0i9otYp+sTHSIPyvGw3XwGagQ4TJGF3i3BT1cGUgW
         rBfYnZ5z8qHPnfx9zigeUh4LUlIKWf3/eVOqddJAIR1a2+yEAD6zHs9KyNnBPY0FYHMt
         Yp/nsi60JXPQ9hJLD88OgnwT5smbts0tF5QQ8VwnWnoa7jTDGOq5BgqQ3Nwr2XxIaCeQ
         5pgne6UjZo/FMD5BdWdR37CNE/En0bOJ1o6TcpF34bP/sEiKQM6cGJSRiCNtppDGfs2g
         IitaKYzWIsPtwphcHs8+aeKHiEN1s7bIqMT3Tuh9iqzgajhaaAbF+tTe/GsYYJXJzj1H
         b7Tw==
X-Gm-Message-State: AOJu0YzU/Ptuyp2hJmK6hy+Xgn8vYDJdb4QdbclFBb1kteI1Sb+9bG/k
	1FR6uBuWWbHq0Iiof7gBNtNi9lpuiZtaW88+ZT2aQmvSN0nqwHO0hIapkmakWkVhyhr48Z9gEkA
	oAWhMGwsuZQ==
X-Gm-Gg: ASbGncsHT38Bm9UeT51Xy5UYGQMyEwSBNO7ylBH7VKPfJLp7APuGr2UUfgANOCcTqQd
	GGsCB7tO81usqkZgkk8jqqVdn5/MkS2MS8dIuxXFdaM/DNJncnMPoHuN9Eq2JPY+mfvpINV+s3X
	NtAnK1bLuhBrEmgGmZK5+i5F/AHqgbyyDoYET3AqolQ+cMoGbp4cgcE8QV4Wb6gmBZYlkgM++MX
	8gyr9rBf35kb/LH35ynENZDrQtWvJzYdIZjRpChtzlrX17SYUtW6riFNILcC4twCst+IOsY4s4e
	hy0KIPfLoMaU9STTCuweSTURJbgobE6kWfO57hN+KgV0wSIifF4rxLYrMeLAzG6kGQpP2h71Zju
	qzaXuYgI3bkG9PT5enUNUQtVkTweiMShtC1/i3DChNjTQJGgPbpStjg9QrALrvOUOZjfycC1Ns+
	0nw2tTpONWMWQYkPUVmWJI7jGw4NuoSXI=
X-Google-Smtp-Source: AGHT+IGtvZy7Y0lcTeWbgV03qNMHhHkYQjEPeUOIGpdUskckyAr1jrPc6VfxAO5QqrfVmrd51d5Ohw==
X-Received: by 2002:a05:6000:2c0c:b0:3ec:6259:5079 with SMTP id ffacd0b85a97d-4256713a066mr3255902f8f.11.1759532029079;
        Fri, 03 Oct 2025 15:53:49 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v3 07/22] x86/traps: Alter switch_stack_and_jump() for FRED mode
Date: Fri,  3 Oct 2025 23:53:19 +0100
Message-Id: <20251003225334.2123667-8-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
References: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

FRED and IDT differ by a Supervisor Token on the base of the shstk.  This
means that switch_stack_and_jump() needs to discard one extra word when FRED
is active.

Fix a typo in the parameter name, which should be shstk_base.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>

Leave as $%c.  Otherwise it doesn't assemble correctly presented with $$24568
to parse as an instruction immediate.

v3:
 * Fix a typo in the parameter name.
v2:
 * Use X86_FEATURE_XEN_FRED
---
 xen/arch/x86/include/asm/current.h | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/include/asm/current.h b/xen/arch/x86/include/asm/current.h
index c1eb27b1c4c2..62817e8476ec 100644
--- a/xen/arch/x86/include/asm/current.h
+++ b/xen/arch/x86/include/asm/current.h
@@ -154,7 +154,9 @@ unsigned long get_stack_dump_bottom (unsigned long sp);
     "rdsspd %[ssp];"                                            \
     "cmp $1, %[ssp];"                                           \
     "je .L_shstk_done.%=;" /* CET not active?  Skip. */         \
-    "mov $%c[skstk_base], %[val];"                              \
+    ALTERNATIVE("mov $%c[shstk_base], %[val];",                 \
+                "mov $%c[shstk_base] + 8, %[val];",             \
+                X86_FEATURE_XEN_FRED)                           \
     "and $%c[stack_mask], %[ssp];"                              \
     "sub %[ssp], %[val];"                                       \
     "shr $3, %[val];"                                           \
@@ -188,7 +190,7 @@ unsigned long get_stack_dump_bottom (unsigned long sp);
               [ssp] "=&r" (tmp)                                         \
             : [stk] "r" (guest_cpu_user_regs()),                        \
               [fun] constr (fn),                                        \
-              [skstk_base] "i"                                          \
+              [shstk_base] "i"                                          \
               ((PRIMARY_SHSTK_SLOT + 1) * PAGE_SIZE - 8),               \
               [stack_mask] "i" (STACK_SIZE - 1),                        \
               _ASM_BUGFRAME_INFO(BUGFRAME_bug, __LINE__,                \
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Oct 03 22:53:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Oct 2025 22:53:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1136891.1473330 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4oeq-0005Ri-I2; Fri, 03 Oct 2025 22:53:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1136891.1473330; Fri, 03 Oct 2025 22:53:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4oeq-0005RU-Ey; Fri, 03 Oct 2025 22:53:48 +0000
Received: by outflank-mailman (input) for mailman id 1136891;
 Fri, 03 Oct 2025 22:53:47 +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
 <SRS0=WVFT=4M=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v4oep-0004mF-25
 for xen-devel@lists.xenproject.org; Fri, 03 Oct 2025 22:53:47 +0000
Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com
 [2a00:1450:4864:20::42e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d16cfd3e-a0ab-11f0-9d14-b5c5bf9af7f9;
 Sat, 04 Oct 2025 00:53:46 +0200 (CEST)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-3b9edf4cf6cso2056524f8f.3
 for <xen-devel@lists.xenproject.org>; Fri, 03 Oct 2025 15:53:46 -0700 (PDT)
Received: from localhost.localdomain (host-92-22-57-86.as13285.net.
 [92.22.57.86]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4255d8a6bbesm9616571f8f.12.2025.10.03.15.53.44
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 03 Oct 2025 15:53:44 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d16cfd3e-a0ab-11f0-9d14-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1759532025; x=1760136825; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=6Pv2xMxR41VxFY2jjI0FggJ6hAHY/W901d8o7CJkHPM=;
        b=S+vL3o6P2mfIuJIHQDmjaFAk4Ehxr2cXYxAj8EDYbre4S/1gc/hKm7QwPD/s3bIqR1
         ZUmgsHMyVsbxmHoYk+zWB5mu/g1HTvTk1oMSE/duvNR/El0Qcu6XXS15y/rncw67yo6q
         Xn+tm/vzimH/6/gNoJRc4CeEfBHjahGepp+Dw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759532025; x=1760136825;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=6Pv2xMxR41VxFY2jjI0FggJ6hAHY/W901d8o7CJkHPM=;
        b=ttI6gCbhD5VhgODvmsSJMABuVvVesYZgYmIdgrpfMDi/y+6z9o2SdwTGgWGSrX/9av
         xH9GiW99+dUgp7CoLTgGO6L/dEk6gNgxnsYY8fBK9lvcVxEuOfuG/xaS6CQNi1d6JZ23
         JHt7A1JgCmREgeJyQitjbGQmX43iiCxkE6v+F38zadO10C4gqOMaRyQA2ZGDa2AX4squ
         0aa4bIeTkVBDuWhu4ul+l1/DxvQc0x1zGAxYe0KrWgTMpeSAsnHZvyC4mia2gniBMAX9
         R2XpMvUxQwalx4TJiCgRalRk+Z7q+mJWCm/L0t7Nb0SuJ3v3JY6c8Wovub6oBZQTebXY
         E5Tg==
X-Gm-Message-State: AOJu0YyaSf1+oVfU7hgpIkoHiCGZWoVX/ffASr9zUJ1IgphCxP8sJM00
	EAf5zNAJP3r3SjDFL/J0knWddN1OYSWZDpzBG1NRe9lc3spboRDsdzH+mFrfohY32kEksfi7ALi
	nVvmaLbhsHg==
X-Gm-Gg: ASbGnct1f0xT7badzdMF942X9NztmnedFD7Ku7svvNkeUVdR6rJ2LJk+6YmdMTC/Skd
	EM3vBtjQ4W0vo8wEZAIckeI5JfVJdIbtjKFmDF2JYpcHiO8aweu9fckocEaiLZSMV/tvwoPmTc4
	+hKSVT6pKpbuFMFs5JrFT8LKHWRxO2ePx1ZACD4YGTuxvdM4AxgLWx4mjOg9w8ZI3I8qXB8bCtn
	dE6cWrue655vUJ4VcowDHVp+0urBkTH4vrQ5Ik9zqwx9ruQY03sQRKulNRRdPWSYtzZO67916ZI
	o1xTVOxG/JX2owK6tt7etHX4sRCc55jptSOUmcciOvwlaVhRfibomOgJkELGGH0Judfek+cjsLN
	Q5Y5iWPWmFUpYk1whJcynnsBSG+J7SYjIFZBVDE4+XyJOSyVdNqTdEzP/ZuD5zQH+RP1K6awhk0
	QoCupj2r0SzZo1ydgcqaQv
X-Google-Smtp-Source: AGHT+IHmjQVumCk6Whj6vqjAP3hvEHUj0drvtnLE/SMJA6CQN6xZwyyyvA2qtGfDFS3KzjUtWUHflw==
X-Received: by 2002:a5d:584d:0:b0:405:1925:4972 with SMTP id ffacd0b85a97d-4256713efb2mr2591682f8f.1.1759532025509;
        Fri, 03 Oct 2025 15:53:45 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v3 04/22] x86/fsgsbase: Update fs/gs helpers to use wrmsrns()
Date: Fri,  3 Oct 2025 23:53:16 +0100
Message-Id: <20251003225334.2123667-5-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
References: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

... and rdmsr() while here.

Most of these accesses are in fastpaths and do not need serialising behaviour,
but the write side is serialising on all Intel hardware as well as older AMD
hardware.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
---
 xen/arch/x86/domain.c               | 10 +++++-----
 xen/arch/x86/hvm/vmx/vmx.c          |  4 ++--
 xen/arch/x86/include/asm/fsgsbase.h | 30 +++++++++--------------------
 3 files changed, 16 insertions(+), 28 deletions(-)

diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
index 19fd86ce88d2..8089ff929bf7 100644
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -1851,9 +1851,9 @@ static void load_segments(struct vcpu *n)
         }
         else
         {
-            wrmsrl(MSR_FS_BASE, n->arch.pv.fs_base);
-            wrmsrl(MSR_GS_BASE, gsb);
-            wrmsrl(MSR_SHADOW_GS_BASE, gss);
+            wrmsrns(MSR_FS_BASE, n->arch.pv.fs_base);
+            wrmsrns(MSR_GS_BASE, gsb);
+            wrmsrns(MSR_SHADOW_GS_BASE, gss);
         }
     }
 
@@ -1978,8 +1978,8 @@ static void save_segments(struct vcpu *v)
         }
         else
         {
-            rdmsrl(MSR_FS_BASE, fs_base);
-            rdmsrl(MSR_GS_BASE, gs_base);
+            fs_base = rdmsr(MSR_FS_BASE);
+            gs_base = rdmsr(MSR_GS_BASE);
         }
 
         v->arch.pv.fs_base = fs_base;
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index e2b5077654ef..01bc67460aae 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -2737,8 +2737,8 @@ static uint64_t cf_check vmx_get_reg(struct vcpu *v, unsigned int reg)
     case MSR_SHADOW_GS_BASE:
         if ( v != curr )
             return v->arch.hvm.vmx.shadow_gs;
-        rdmsrl(MSR_SHADOW_GS_BASE, val);
-        return val;
+        else
+            return rdmsr(MSR_SHADOW_GS_BASE);
     }
 
     /* Logic which maybe requires remote VMCS acquisition. */
diff --git a/xen/arch/x86/include/asm/fsgsbase.h b/xen/arch/x86/include/asm/fsgsbase.h
index 557703842691..24862a6bfea7 100644
--- a/xen/arch/x86/include/asm/fsgsbase.h
+++ b/xen/arch/x86/include/asm/fsgsbase.h
@@ -63,38 +63,26 @@ static inline void __wrgs_shadow(unsigned long base)
 
 static inline unsigned long read_fs_base(void)
 {
-    unsigned long base;
-
     if ( read_cr4() & X86_CR4_FSGSBASE )
         return __rdfsbase();
-
-    rdmsrl(MSR_FS_BASE, base);
-
-    return base;
+    else
+        return rdmsr(MSR_FS_BASE);
 }
 
 static inline unsigned long read_gs_base(void)
 {
-    unsigned long base;
-
     if ( read_cr4() & X86_CR4_FSGSBASE )
         return __rdgsbase();
-
-    rdmsrl(MSR_GS_BASE, base);
-
-    return base;
+    else
+        return rdmsr(MSR_GS_BASE);
 }
 
 static inline unsigned long read_gs_shadow(void)
 {
-    unsigned long base;
-
     if ( read_cr4() & X86_CR4_FSGSBASE )
         return __rdgs_shadow();
-
-    rdmsrl(MSR_SHADOW_GS_BASE, base);
-
-    return base;
+    else
+        return rdmsr(MSR_SHADOW_GS_BASE);
 }
 
 static inline void write_fs_base(unsigned long base)
@@ -102,7 +90,7 @@ static inline void write_fs_base(unsigned long base)
     if ( read_cr4() & X86_CR4_FSGSBASE )
         __wrfsbase(base);
     else
-        wrmsrl(MSR_FS_BASE, base);
+        wrmsrns(MSR_FS_BASE, base);
 }
 
 static inline void write_gs_base(unsigned long base)
@@ -110,7 +98,7 @@ static inline void write_gs_base(unsigned long base)
     if ( read_cr4() & X86_CR4_FSGSBASE )
         __wrgsbase(base);
     else
-        wrmsrl(MSR_GS_BASE, base);
+        wrmsrns(MSR_GS_BASE, base);
 }
 
 static inline void write_gs_shadow(unsigned long base)
@@ -118,7 +106,7 @@ static inline void write_gs_shadow(unsigned long base)
     if ( read_cr4() & X86_CR4_FSGSBASE )
         __wrgs_shadow(base);
     else
-        wrmsrl(MSR_SHADOW_GS_BASE, base);
+        wrmsrns(MSR_SHADOW_GS_BASE, base);
 }
 
 #endif /* X86_FSGSBASE_H */
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Oct 03 22:53:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Oct 2025 22:53:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1136896.1473389 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4oew-0006tk-QH; Fri, 03 Oct 2025 22:53:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1136896.1473389; Fri, 03 Oct 2025 22:53:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4oew-0006sK-KP; Fri, 03 Oct 2025 22:53:54 +0000
Received: by outflank-mailman (input) for mailman id 1136896;
 Fri, 03 Oct 2025 22:53:53 +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
 <SRS0=WVFT=4M=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v4oev-0004mF-3B
 for xen-devel@lists.xenproject.org; Fri, 03 Oct 2025 22:53:53 +0000
Received: from mail-wr1-x435.google.com (mail-wr1-x435.google.com
 [2a00:1450:4864:20::435])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d53921e3-a0ab-11f0-9d14-b5c5bf9af7f9;
 Sat, 04 Oct 2025 00:53:52 +0200 (CEST)
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-3ee1381b835so2382795f8f.1
 for <xen-devel@lists.xenproject.org>; Fri, 03 Oct 2025 15:53:52 -0700 (PDT)
Received: from localhost.localdomain (host-92-22-57-86.as13285.net.
 [92.22.57.86]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4255d8a6bbesm9616571f8f.12.2025.10.03.15.53.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 03 Oct 2025 15:53:50 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d53921e3-a0ab-11f0-9d14-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1759532032; x=1760136832; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=T0oNw5K4sXHgCeJnimopXredV1uQRxUZrdiBiQflIQU=;
        b=nK2fnpURZVqDyxm1BYzhzgGK3xvawOkA+cDZBOSUJixSybdX09MUfP2xbwQba/ps5Q
         vht9fDTWIu/9TsC7gLAnudQF+ZyeZ20wYwq0r+4bW/2XTmp7MiiEQm80SRB415rpUHvD
         M2HNMpl2xgGDh3YkgUhtrFb7Gy6ysj+2FlwaM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759532032; x=1760136832;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=T0oNw5K4sXHgCeJnimopXredV1uQRxUZrdiBiQflIQU=;
        b=FLAbfWS461m3rPIXIJWPlUFNooHypnTJX965R27RNG44tQ4R6TeHifGZxw7Au6vnf+
         1ATG/RMh9eiBeGCy0Kz5h7/tkTMcuqSR8tNIyopnS9LP++ylN3YMBHEAMzTVxLFpNGQM
         Bf6+J9MiV9kE1iK/1qRm81kDWdy1uv1yFKuC4PaYpdnZ/u3gugfcak4+QfJtUpqD6Igm
         nH4MR2j9uDrp3czMsoIPXw6cMvfAENV8MkXjmiXyG3RztPbd1SMNlENTf3wmXxF8FSil
         TC5ftPUNqlULinxJ8naBEfRNTP3BttNEmF6JsiVhg3Jm26UV8udCO/CDtVVVzG43eTdX
         pcPw==
X-Gm-Message-State: AOJu0YzEpfvAVKeSM1Ripx8jwCCQUeT8wNeRSKdC8ygQAGRUGMTzLCwm
	xMG5iW2Hha0gAq2WV6bYAeTGfyP8SxE8x2b4GK9KK5lgEqck/CVNfcOhfbOQZ0WeZp/LM93I7FD
	Uo0eCY/UpbA==
X-Gm-Gg: ASbGncvfnF7CGZX2oeqZVaDkxjXKWYUkxW4kWaDi5PIyBXI05JXxnNOgh2vBSUjD4p7
	E+B2tJWo8tHD6juP5q5lorgSwHf10UBSl9e1lBB3VsVHDQI26sqYU+pwXwFzoot2t4VvJp2748L
	CVmYY5nQrXO+FeQg8EKcp9PtCk+s1ygZzvv5Q/hgm2oLktNfBDfFAAA9weY2rvdbuXI8LhDqN8b
	fHpVXBnatSgS6oI3L4qFYuH1lDfvDvDLiSo3m6dmlP5bGBqvFf2aDFw+V0vkvOETE3ShfGpEzZZ
	Hat7Y05rp19o35z93EEbfBIdBhh+uFI/vGO8UdW7i6HKUYn4gp7BTwj2XzIuoLBaVN65CPywVRb
	+70U+9G/gfR1Y+yOUqKBHEWh2PT9IeQXAMe3OQ5afkgwstb6dHFf283TFgFikNASAxqE9tmeTUN
	bu/26d3KB4e/HRohO+BbfXxGyn7T4+y8o=
X-Google-Smtp-Source: AGHT+IGJaNuPK6BEBxqC2I2IKYUBlSfm6IpSEEWnfS9veyaiaqXtOEoe1NrwHO5cx7d/p+cLCXy4aA==
X-Received: by 2002:a05:6000:4210:b0:407:7a7:1ca0 with SMTP id ffacd0b85a97d-425671463eemr3399578f8f.14.1759532031802;
        Fri, 03 Oct 2025 15:53:51 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v3 09/22] x86/traps: Make an IDT-specific #DB helper
Date: Fri,  3 Oct 2025 23:53:21 +0100
Message-Id: <20251003225334.2123667-10-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
References: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

FRED provides PENDING_DBG in the the stack frame, avoiding the need to read
%dr6 manually.

Rename do_debug() to handle_DB(), and update it to take a dbg field using
positive polarity.

Introduce a new handle_DB_IDT() which reads %dr6.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>

v2:
 * New
---
 xen/arch/x86/traps.c        | 28 +++++++++++++++++-----------
 xen/arch/x86/x86_64/entry.S |  2 +-
 2 files changed, 18 insertions(+), 12 deletions(-)

diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index 545c42a10862..3fd0f5709a52 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -1992,14 +1992,11 @@ void asmlinkage do_device_not_available(struct cpu_user_regs *regs)
 
 void nocall sysenter_eflags_saved(void);
 
-void asmlinkage do_debug(struct cpu_user_regs *regs)
+/* Handle #DB.  @dbg is PENDING_DBG, a.k.a. %dr6 with positive polarity. */
+static void handle_DB(struct cpu_user_regs *regs, unsigned long dbg)
 {
-    unsigned long dr6;
     struct vcpu *v = current;
 
-    /* Stash dr6 as early as possible. */
-    dr6 = read_debugreg(6);
-
     /*
      * At the time of writing (March 2018), on the subject of %dr6:
      *
@@ -2067,13 +2064,13 @@ void asmlinkage do_debug(struct cpu_user_regs *regs)
          * If however we do, safety measures need to be enacted.  Use a big
          * hammer and clear all debug settings.
          */
-        if ( dr6 & (DR_TRAP3 | DR_TRAP2 | DR_TRAP1 | DR_TRAP0) )
+        if ( dbg & (DR_TRAP3 | DR_TRAP2 | DR_TRAP1 | DR_TRAP0) )
         {
             unsigned int bp, dr7 = read_debugreg(7);
 
             for ( bp = 0; bp < 4; ++bp )
             {
-                if ( (dr6 & (1u << bp)) && /* Breakpoint triggered? */
+                if ( (dbg & (1u << bp)) && /* Breakpoint triggered? */
                      (dr7 & (3u << (bp * DR_ENABLE_SIZE))) && /* Enabled? */
                      ((dr7 & (3u << ((bp * DR_CONTROL_SIZE) + /* Insn? */
                                      DR_CONTROL_SHIFT))) == DR_RW_EXECUTE) )
@@ -2094,9 +2091,9 @@ void asmlinkage do_debug(struct cpu_user_regs *regs)
          * so ensure the message is ratelimited.
          */
         gprintk(XENLOG_WARNING,
-                "Hit #DB in Xen context: %04x:%p [%ps], stk %04x:%p, dr6 %lx\n",
+                "Hit #DB in Xen context: %04x:%p [%ps], stk %04x:%p, dbg %lx\n",
                 regs->cs, _p(regs->rip), _p(regs->rip),
-                regs->ss, _p(regs->rsp), dr6);
+                regs->ss, _p(regs->rsp), dbg);
 
         return;
     }
@@ -2108,7 +2105,7 @@ void asmlinkage do_debug(struct cpu_user_regs *regs)
      * by debugging actions completed behind it's back.
      */
     v->arch.dr6 = x86_merge_dr6(v->domain->arch.cpu_policy,
-                                v->arch.dr6, dr6 ^ X86_DR6_DEFAULT);
+                                v->arch.dr6, dbg);
 
     if ( guest_kernel_mode(v, regs) && v->domain->debugger_attached )
     {
@@ -2116,7 +2113,16 @@ void asmlinkage do_debug(struct cpu_user_regs *regs)
         return;
     }
 
-    pv_inject_DB(dr6 ^ X86_DR6_DEFAULT);
+    pv_inject_DB(dbg);
+}
+
+/*
+ * When using IDT delivery, it is our responsibility to read %dr6.  Convert it
+ * to positive polarity.
+ */
+void asmlinkage handle_DB_IDT(struct cpu_user_regs *regs)
+{
+    handle_DB(regs, read_debugreg(6) ^ X86_DR6_DEFAULT);
 }
 
 void asmlinkage do_entry_CP(struct cpu_user_regs *regs)
diff --git a/xen/arch/x86/x86_64/entry.S b/xen/arch/x86/x86_64/entry.S
index 39c7b9d17f9e..789687488c5f 100644
--- a/xen/arch/x86/x86_64/entry.S
+++ b/xen/arch/x86/x86_64/entry.S
@@ -1171,7 +1171,7 @@ FUNC(handle_ist_exception)
 .L_ ## vec ## _done:
 
         DISPATCH(X86_EXC_NMI, do_nmi)
-        DISPATCH(X86_EXC_DB,  do_debug)
+        DISPATCH(X86_EXC_DB,  handle_DB_IDT)
         DISPATCH(X86_EXC_MC,  do_machine_check)
 #undef DISPATCH
 
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Oct 03 22:53:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Oct 2025 22:53:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1136899.1473400 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4oey-0007DZ-8K; Fri, 03 Oct 2025 22:53:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1136899.1473400; Fri, 03 Oct 2025 22:53:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4oey-0007DL-0c; Fri, 03 Oct 2025 22:53:56 +0000
Received: by outflank-mailman (input) for mailman id 1136899;
 Fri, 03 Oct 2025 22:53:55 +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
 <SRS0=WVFT=4M=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v4oex-0004mK-8j
 for xen-devel@lists.xenproject.org; Fri, 03 Oct 2025 22:53:55 +0000
Received: from mail-wr1-x429.google.com (mail-wr1-x429.google.com
 [2a00:1450:4864:20::429])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d5ca6ebc-a0ab-11f0-9809-7dc792cee155;
 Sat, 04 Oct 2025 00:53:53 +0200 (CEST)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-3ece0e4c5faso2105650f8f.1
 for <xen-devel@lists.xenproject.org>; Fri, 03 Oct 2025 15:53:53 -0700 (PDT)
Received: from localhost.localdomain (host-92-22-57-86.as13285.net.
 [92.22.57.86]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4255d8a6bbesm9616571f8f.12.2025.10.03.15.53.51
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 03 Oct 2025 15:53:52 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d5ca6ebc-a0ab-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1759532033; x=1760136833; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Rsyv3/4unrxbc8sHsEgG2iBwBu0kpsuEgiqdDx6AJzc=;
        b=EkfUfAZNQ78Fd9GI7O90cVNNnNV7w0Xz3nQmlA6oTD3aQGrKSmn1oNxONsNC/TylrO
         0rFcKB0HE0UdeYaVQ5czicXyvzqgBh80ayifyGRSImca23syEpFMdnefh6fiOgiIPz/8
         ShGNGUctVGHFow66ZP11PJJPAIT5hp0JPWWGk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759532033; x=1760136833;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Rsyv3/4unrxbc8sHsEgG2iBwBu0kpsuEgiqdDx6AJzc=;
        b=iOGLdu6XnKB7H+DArfgtkGD+dMbugom26ovX2kRQu0l+CI9tC5dpDNHBvxmdyUkxS7
         sUmUCA19D2KRhOgFi4wtX8uf154hYPowvcZyNQLpFr19Y8EfxV3RS18IRLl7LHjakbP7
         j1/e/wpMI9h4VSWZcEtbMSCO9ucfqDSh+5IQA30AeIdjmlSciISKrY3hWeR74j8bplLb
         ZtIH2xLByaNCkZUweF2Cx+6QignIwunD467nYAv9bBBaXIgcX8X6EyuYl7obMevALxk7
         TbnMU7twQSaskQZ3POzqyhcCsRyAWslGaW0dBRs7qmHDPzppoEiOB3IZ2F7pOKVowDac
         mKzA==
X-Gm-Message-State: AOJu0Yz13tYufoW02BF4OnV7sXyXPDupyaTvDZOvOs+NXtgf3d47Sn1p
	jd+b5wIFvKsG6KZMSX3iByDSuzL2HndPYnXwmOMEh0r5I/N6gTYS55uboz2bqOY5lLdY54biZe1
	3/Osc3lI9EQ==
X-Gm-Gg: ASbGnctTI894TLEFJMma1e5ObMmDp8D8JiWKmQsS5SeQIf+eso4iu8oaRWp0LvjE27n
	+FHZ3T0dzq05upuLnY7Hf5X9bcBvGQXwDjQoefmzhRv/9uSUXSMBB555wrmhDDUP1LqGyy9vd8P
	nNtgnXKehESQWJjX+WszFDHm1yo95MREd0womiUyQpHV99sw5SyjbkdsI7eL8l4EayPKlGWEeaw
	Gg05XGC0fPaXWClp+k/H90mDaEKxyC9y47Wd0FVOYEbj9awQevJSqtX4YfkiRWxaYOt+zvSREIO
	Wfq/xsmWrBRjMozdUgAUfE7mxlJ17kypDBmGxRV34LP27EiIu7uIcKrNfZSPTem08X2SZ2kyOQz
	F3R/q1+1v1OS37FaBUS9tBU7plf+455WrfaxQiOnq2dtT7cdTovDqIysC99R6XmVNPfOfpAAnus
	wRtRQBIduxfB+/0Qrkk4MA
X-Google-Smtp-Source: AGHT+IFvkhniiJ9rxsEE2yAcXOAtoH4okjipJNVJVXijQTjiM/jBeJ/8ns7VaCTWv46AXmbPQLwwRg==
X-Received: by 2002:a05:6000:43c6:10b0:415:7c56:30d9 with SMTP id ffacd0b85a97d-4256714d65dmr2765837f8f.23.1759532032710;
        Fri, 03 Oct 2025 15:53:52 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v3 10/22] x86/traps: Make an IDT-specific #PF helper
Date: Fri,  3 Oct 2025 23:53:22 +0100
Message-Id: <20251003225334.2123667-11-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
References: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

FRED provides %cr2 in the the stack frame, avoiding the need to read %cr2
manually.

Rename do_page_fault() to handle_PF(), and update it to take cr2, still named
addr for consistency.

Introduce a new handle_PF_IDT() which reads %cr2 and conditionally re-enables
interrupts.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>

v2:
 * New
---
 xen/arch/x86/traps.c        | 26 ++++++++++++++------------
 xen/arch/x86/x86_64/entry.S |  2 +-
 2 files changed, 15 insertions(+), 13 deletions(-)

diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index 3fd0f5709a52..d42973660db0 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -1670,21 +1670,10 @@ static int fixup_page_fault(unsigned long addr, struct cpu_user_regs *regs)
     return 0;
 }
 
-void asmlinkage do_page_fault(struct cpu_user_regs *regs)
+static void handle_PF(struct cpu_user_regs *regs, unsigned long addr /* cr2 */)
 {
-    unsigned long addr;
     unsigned int error_code;
 
-    addr = read_cr2();
-
-    /*
-     * Don't re-enable interrupts if we were running an IRQ-off region when
-     * we hit the page fault, or we'll break that code.
-     */
-    ASSERT(!local_irq_is_enabled());
-    if ( regs->flags & X86_EFLAGS_IF )
-        local_irq_enable();
-
     /* fixup_page_fault() might change regs->error_code, so cache it here. */
     error_code = regs->error_code;
 
@@ -1745,6 +1734,19 @@ void asmlinkage do_page_fault(struct cpu_user_regs *regs)
     pv_inject_page_fault(regs->error_code, addr);
 }
 
+/*
+ * When using IDT delivery, it is our responsibility to read %cr2.
+ */
+void asmlinkage handle_PF_IDT(struct cpu_user_regs *regs)
+{
+    unsigned long addr = read_cr2();
+
+    if ( regs->flags & X86_EFLAGS_IF )
+        local_irq_enable();
+
+    handle_PF(regs, addr);
+}
+
 /*
  * Early #PF handler to print CR2, error code, and stack.
  *
diff --git a/xen/arch/x86/x86_64/entry.S b/xen/arch/x86/x86_64/entry.S
index 789687488c5f..c02245ac064c 100644
--- a/xen/arch/x86/x86_64/entry.S
+++ b/xen/arch/x86/x86_64/entry.S
@@ -871,7 +871,7 @@ handle_exception_saved:
          * reading %cr2. Otherwise a page fault in the nested interrupt handler
          * would corrupt %cr2.
          */
-        DISPATCH(X86_EXC_PF, do_page_fault)
+        DISPATCH(X86_EXC_PF, handle_PF_IDT)
 
         /* Only re-enable IRQs if they were active before taking the fault */
         testb $X86_EFLAGS_IF >> 8, UREGS_eflags + 1(%rsp)
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Oct 03 22:53:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Oct 2025 22:53:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1136902.1473410 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4of0-0007do-Kz; Fri, 03 Oct 2025 22:53:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1136902.1473410; Fri, 03 Oct 2025 22:53:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4of0-0007dV-Gk; Fri, 03 Oct 2025 22:53:58 +0000
Received: by outflank-mailman (input) for mailman id 1136902;
 Fri, 03 Oct 2025 22:53:56 +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
 <SRS0=WVFT=4M=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v4oey-0004mK-I2
 for xen-devel@lists.xenproject.org; Fri, 03 Oct 2025 22:53:56 +0000
Received: from mail-wr1-x42f.google.com (mail-wr1-x42f.google.com
 [2a00:1450:4864:20::42f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d68d6d9a-a0ab-11f0-9809-7dc792cee155;
 Sat, 04 Oct 2025 00:53:55 +0200 (CEST)
Received: by mail-wr1-x42f.google.com with SMTP id
 ffacd0b85a97d-42557c5cedcso1550895f8f.0
 for <xen-devel@lists.xenproject.org>; Fri, 03 Oct 2025 15:53:54 -0700 (PDT)
Received: from localhost.localdomain (host-92-22-57-86.as13285.net.
 [92.22.57.86]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4255d8a6bbesm9616571f8f.12.2025.10.03.15.53.52
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 03 Oct 2025 15:53:53 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d68d6d9a-a0ab-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1759532034; x=1760136834; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=L9xT2e+qZfb6j1FUuBgKvZ3n+Jc6Wgtnci0H5fcXpnk=;
        b=d/u7IctkIlWXySaM6mwf/iYi+EEgyZkPLYWtp9ecOxhcF9SE8CwZEAI37XHioYa35G
         s38fY0Oz2H6jxXpN6B7nOL3LVFB41HrKBPbe0NdAoHT79dH4JhVEyVJWBUmlBrrDsSon
         Vd28zFpoMfANKhLs/kaiW13eyDYQtaSHlgsfE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759532034; x=1760136834;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=L9xT2e+qZfb6j1FUuBgKvZ3n+Jc6Wgtnci0H5fcXpnk=;
        b=CMRgFCjCNr2G/fw8NWO1FyoVP9Jk8aIMLNCSpUwqLmTivXeIrQZ7vA45pzSM4Fdra1
         zYbwqRAA6ibBcuUdFxqvoAQlssb+fBW81ALPofwW47UbnoM0YNftQ6WzxsEXGUFr+hac
         akH5bUZrUA9w18VlPaas/pSgqLGi5opCYuhWhG5e/1IyNVuTl3jcl2fbyAyIWodABq2v
         kmZFlnlJLK4u9BeBx3c8L4uU1EOg4FEJFdqvasFpLDDgKeot/xNkcg8MdghOGWN9b4qa
         EVCtXipmUaSQ9uJ5e/lT263EQoFkyOeNkAgVQE6A58kWbU/ZhhX9xK8rLJbf9H7ptEvY
         2/oA==
X-Gm-Message-State: AOJu0YwnX28bZfLRXlaM89WYDHlqWjtMrx8W1aH/g0ojuC9a5f7UTsh5
	YKZWWC3GU8RcEQD9P46yNxIKTQMemuRdVxUDdYWMcxRpWZY3+c0bDkDCbxspYVeMdJhwrOWZG7n
	p02k9IhfUjw==
X-Gm-Gg: ASbGncs0eJzgktQeAEOAWfzLXJA9uo7ngTXie9tU1SnHw3X/HfdI2C3Og+PvfGfOmWG
	+/RpwJUw33mXuWsytRbHDsfrZlJyG9FQ4cbEiMX7uyQNdPsbBgX6gHO2fdeRR1cG9SaikVBLHq6
	fbzs49TGrAS0hREexnEooC8YKr/BvVmIc07sWJgf7vSuuzZG+v9Ye3aB4Y6FQ2lSO/2TiX+Stzf
	ADBTaeYWGaQBdNJwPbRufLnoBAFAkK0Wrp2QM1YdHXMAwYhBdCvPbVhTDTcFD8xD2gDRahe2iE4
	WXWGvg+kf+6sgc2SNymRdCgDUCD4eus4fg1Dz6dNZP+OQjYmcZLkt2zAZ0aCDiVykaImXG+uwwO
	lysyG9aAX6fFZGxLTRNUHoA7oPRWKY1sj+b0vAcoP68WtS9Q4Ps5aov/sIjvptynbdG5HzubrLp
	5SwewwCxNoGThoAdnaHChA
X-Google-Smtp-Source: AGHT+IGi4Mtp7sUIenwEW+G9jtr4Ezc1L39uJjX80DcyCAfWrdG2uCI/4ZVImOc792lTjwRvYtIy5g==
X-Received: by 2002:a05:6000:3113:b0:3ec:2ef7:2134 with SMTP id ffacd0b85a97d-4256714bb4dmr2598203f8f.18.1759532034126;
        Fri, 03 Oct 2025 15:53:54 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v3 11/22] x86/fsgsbase: Make gskern accesses safe under FRED
Date: Fri,  3 Oct 2025 23:53:23 +0100
Message-Id: <20251003225334.2123667-12-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
References: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Under FRED, the SWAPGS instructions is disallowed.  Therefore we must use the
MSR path instead.

read_registers() is in the show_registers() path, so this allows Xen to render
it's current state without suffering #UD (and recursing until the stack guard
page is hit).

All hardware with FRED is expected to have some kind of non-serialising access
to these registers.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>

v2:
 * Broken out of subsequent patch.  Rebased over MSR cleanup.
---
 xen/arch/x86/include/asm/fsgsbase.h | 8 ++++++--
 xen/arch/x86/traps.c                | 2 +-
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/include/asm/fsgsbase.h b/xen/arch/x86/include/asm/fsgsbase.h
index 24862a6bfea7..5faa3a324332 100644
--- a/xen/arch/x86/include/asm/fsgsbase.h
+++ b/xen/arch/x86/include/asm/fsgsbase.h
@@ -79,7 +79,9 @@ static inline unsigned long read_gs_base(void)
 
 static inline unsigned long read_gs_shadow(void)
 {
-    if ( read_cr4() & X86_CR4_FSGSBASE )
+    unsigned long cr4 = read_cr4();
+
+    if ( !(cr4 & X86_CR4_FRED) && (cr4 & X86_CR4_FSGSBASE) )
         return __rdgs_shadow();
     else
         return rdmsr(MSR_SHADOW_GS_BASE);
@@ -103,7 +105,9 @@ static inline void write_gs_base(unsigned long base)
 
 static inline void write_gs_shadow(unsigned long base)
 {
-    if ( read_cr4() & X86_CR4_FSGSBASE )
+    unsigned long cr4 = read_cr4();
+
+    if ( !(cr4 & X86_CR4_FRED) && (cr4 & X86_CR4_FSGSBASE) )
         __wrgs_shadow(base);
     else
         wrmsrns(MSR_SHADOW_GS_BASE, base);
diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index d42973660db0..2e3efe45edf4 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -118,7 +118,7 @@ static void read_registers(struct extra_state *state)
     state->cr3 = read_cr3();
     state->cr4 = read_cr4();
 
-    if ( state->cr4 & X86_CR4_FSGSBASE )
+    if ( !(state->cr4 & X86_CR4_FRED) && (state->cr4 & X86_CR4_FSGSBASE) )
     {
         state->fsb = __rdfsbase();
         state->gsb = __rdgsbase();
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Oct 03 22:54:00 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Oct 2025 22:54:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1136903.1473416 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4of1-0007pI-RT; Fri, 03 Oct 2025 22:53:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1136903.1473416; Fri, 03 Oct 2025 22:53:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4of1-0007mf-Il; Fri, 03 Oct 2025 22:53:59 +0000
Received: by outflank-mailman (input) for mailman id 1136903;
 Fri, 03 Oct 2025 22:53:57 +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
 <SRS0=WVFT=4M=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v4oez-0004mF-P5
 for xen-devel@lists.xenproject.org; Fri, 03 Oct 2025 22:53:57 +0000
Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com
 [2a00:1450:4864:20::32e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d805581f-a0ab-11f0-9d14-b5c5bf9af7f9;
 Sat, 04 Oct 2025 00:53:57 +0200 (CEST)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-46e326e4e99so20303505e9.1
 for <xen-devel@lists.xenproject.org>; Fri, 03 Oct 2025 15:53:57 -0700 (PDT)
Received: from localhost.localdomain (host-92-22-57-86.as13285.net.
 [92.22.57.86]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4255d8a6bbesm9616571f8f.12.2025.10.03.15.53.55
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 03 Oct 2025 15:53:55 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d805581f-a0ab-11f0-9d14-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1759532036; x=1760136836; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ZB02FQCtZ7HQMg+a6BPzi5/pgcHeCMvxoE+tfd+QO6E=;
        b=Vo0xUkl5gAxFKKGtGhWUtuQIP6NXNAnYbLw6n28mueER/d8A7V35zwswXXwSSjocdA
         LNIiTFdhwDATzxhHtiGhiQuexf9wtVbzjLq7oPsO6fu1MHdB5aXhpZGT82Gw/Lo2wg7s
         7DgJVLZhaz4k8RoaO5zhrFibpwBlkAARjonbM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759532036; x=1760136836;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=ZB02FQCtZ7HQMg+a6BPzi5/pgcHeCMvxoE+tfd+QO6E=;
        b=uL8BGYUfdOk0Xiood4nwK8N/LjV8Rb5+J6bk8bw95m+fBpcXTaGBJC1HPtfaan7pKT
         tsOnfEYKnwaN5GjFFVriSTnVR6kFHALVE1k0quWIothttKs7nhjzKKy61qpVR7XZrWG6
         nN4STD5ZVAVSy8i5HEJGY83AOGz4dUzNJms/mT93J8DvrcX8v3X1uPBek2FIzfBiUF6X
         vZyw4SKOpFk+2Z0gbvZ1tScjgp9vNXA0f3TXCCsFpUPYHasw2mvOvu4prEJ99a1rzva4
         2Qf5KcZ52CaiE2yXWFGacijI5GWct5AHWIh2/VOv69Prk5kxOagvLLAqbDQDQxrzxA11
         Ma8A==
X-Gm-Message-State: AOJu0YzsJUHdgcvsxcfiVRgQOfb+mY9i9F0so6YBZ3JfI9wc499Ffta4
	ThE9sMZhb5gVFWLBhZ2M3yK8s6IZPEnMgbSVBv4Ol9DwEz2pMpLzsCeA8+gBewQv1ulqvrY9Nk5
	c9uN7tnSNPA==
X-Gm-Gg: ASbGncuZWeYHRUN+0lulCVdf5Hd/wltzQq4vtK9Tvp2YT4Y/KivVnm8xoM9jwWUJBvp
	LiPC2H7PDM3NVmDpgV5VYRt+cDiGvEXk6FWU5NYe10v+CibF+b87UiSq6z6gOxCSfhT4Io6Wb+/
	JJdTMkq3jsxxrdX0zzIGVfg/2mLnPOjorNlZj+8FwYmhIj7aL46Xh0iyK0iTryd+6621NV1eQ31
	uWkewOm6S8iTYBfnKYaAIgzRcQ9vdzLk82xKt2M9cCpkqsoJTwtIGVbunKbeExmF4zYh5FXO4Ak
	ML4tBSK8LzUljlRnDhOnH33/KoNdSw6NZ8BUCSmy/7vRkpmYOwJOcdZWkkAaAY0XfJeQsSbr6Bz
	bHrwZd3GzcudgLJC6Iik88hI7SEl+954M1CLW3iWD7CeN1joTP7Hu7BNx14opAG26DkPAw7hRYC
	ZpLYpbwO2KFHu1nLMPKdJ8JnIfQES/Ypk=
X-Google-Smtp-Source: AGHT+IHDojY8NuOAkeDeOCm7hdMc7HP70ugcxmaKP4MOK/BXN/C9Zg+Cvz+hNWk+dwRPTfEr6AYdww==
X-Received: by 2002:a5d:64e9:0:b0:3e7:6424:1b47 with SMTP id ffacd0b85a97d-42566c00d2fmr3521319f8f.6.1759532036300;
        Fri, 03 Oct 2025 15:53:56 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v3 13/22] x86/traps: Enable FRED when requested
Date: Fri,  3 Oct 2025 23:53:25 +0100
Message-Id: <20251003225334.2123667-14-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
References: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

With the shadow stack and exception handling adjustements in place, we can now
activate FRED when appropriate.  Note that opt_fred is still disabled by
default.

Introduce init_fred() to set up all the MSRs relevant for FRED.  FRED uses
MSR_STAR (entries from Ring3 only), and MSR_FRED_SSP_SL0 aliases MSR_PL0_SSP
when CET-SS is active.  Otherwise, they're all new MSRs.

With init_fred() existing, load_system_tables() and legacy_syscall_init()
should only be used when setting up IDT delivery.  Insert ASSERT()s to this
effect, and adjust the various *_init() functions to make this property true.

Per the documentation, percpu_early_traps_init() is responsible for switching
off the boot GDT, which needs doing even in FRED mode.

Finally, set CR4.FRED in traps_init()/percpu_early_traps_init().

Xen can now boot in FRED mode up until starting a PV guest, where it faults
because IRET is not permitted to change privilege.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>

v3:
 * Fix poisoning of SL1 pointers.
 * Adjust bsp_traps_reinit().  It probably doesn't matter.

v2:
 * Explain the lack of BUG_ON()
 * Posion SL1

In principle we can stop allocating the IDT and TSS for CPUs now, although I
want to get shutdown and kexec working before making this optimisation, in
case there's something I've overlooked.
---
 xen/arch/x86/include/asm/current.h |  3 ++
 xen/arch/x86/include/asm/traps.h   |  2 +
 xen/arch/x86/traps-setup.c         | 83 ++++++++++++++++++++++++++++--
 3 files changed, 83 insertions(+), 5 deletions(-)

diff --git a/xen/arch/x86/include/asm/current.h b/xen/arch/x86/include/asm/current.h
index 62817e8476ec..6139980ab115 100644
--- a/xen/arch/x86/include/asm/current.h
+++ b/xen/arch/x86/include/asm/current.h
@@ -23,6 +23,9 @@
  * 2 - NMI IST stack
  * 1 - #MC IST stack
  * 0 - IST Shadow Stacks (4x 1k, read-only)
+ *
+ * In FRED mode, #DB and NMI do not need special stacks, so their IST stacks
+ * are unused.
  */
 
 /*
diff --git a/xen/arch/x86/include/asm/traps.h b/xen/arch/x86/include/asm/traps.h
index 73097e957d05..5d7504bc44d1 100644
--- a/xen/arch/x86/include/asm/traps.h
+++ b/xen/arch/x86/include/asm/traps.h
@@ -16,6 +16,8 @@ void traps_init(void);
 void bsp_traps_reinit(void);
 void percpu_traps_init(void);
 
+void nocall entry_FRED_R3(void);
+
 extern unsigned int ler_msr;
 
 const char *vector_name(unsigned int vec);
diff --git a/xen/arch/x86/traps-setup.c b/xen/arch/x86/traps-setup.c
index d77be8f83921..d937209ae606 100644
--- a/xen/arch/x86/traps-setup.c
+++ b/xen/arch/x86/traps-setup.c
@@ -59,6 +59,8 @@ static void load_system_tables(void)
         .limit = sizeof(bsp_idt) - 1,
     };
 
+    ASSERT(opt_fred == 0);
+
     /*
      * Set up the TSS.  Warning - may be live, and the NMI/#MC must remain
      * valid on every instruction boundary.  (Note: these are all
@@ -191,6 +193,8 @@ static void legacy_syscall_init(void)
     unsigned char *stub_page;
     unsigned int offset;
 
+    ASSERT(opt_fred == 0);
+
     /* No PV guests?  No need to set up SYSCALL/SYSENTER infrastructure. */
     if ( !IS_ENABLED(CONFIG_PV) )
         return;
@@ -268,6 +272,52 @@ static void __init init_ler(void)
     setup_force_cpu_cap(X86_FEATURE_XEN_LBR);
 }
 
+/*
+ * Set up all MSRs relevant for FRED event delivery.
+ *
+ * Xen does not use any of the optional config in MSR_FRED_CONFIG, so all that
+ * is needed is the entrypoint.
+ *
+ * Because FRED always provides a good stack, NMI and #DB do not need any
+ * special treatment.  Only #DF needs another stack level, and #MC for the
+ * offchance that Xen's main stack suffers an uncorrectable error.
+ *
+ * This makes Stack Level 1 unused, but we use #DB's stacks, and with the
+ * regular and shadow stacks reversed as posion to guarantee that any use
+ * escalates to #DF.
+ *
+ * FRED reuses MSR_STAR to provide the segment selector values to load on
+ * entry from Ring3.  Entry from Ring0 leave %cs and %ss unmodified.
+ */
+static void init_fred(void)
+{
+    unsigned long stack_top = get_stack_bottom() & ~(STACK_SIZE - 1);
+
+    ASSERT(opt_fred == 1);
+
+    wrmsrns(MSR_STAR, XEN_MSR_STAR);
+    wrmsrns(MSR_FRED_CONFIG, (unsigned long)entry_FRED_R3);
+
+    /*
+     * MSR_FRED_RSP_* all come with an 64-byte alignment check, avoiding the
+     * need for an explicit BUG_ON().
+     */
+    wrmsrns(MSR_FRED_RSP_SL0, (unsigned long)(&get_cpu_info()->_fred + 1));
+    wrmsrns(MSR_FRED_RSP_SL1, stack_top + (IST_DB * IST_SHSTK_SIZE)); /* Poison */
+    wrmsrns(MSR_FRED_RSP_SL2, stack_top + (1 + IST_MCE)  * PAGE_SIZE);
+    wrmsrns(MSR_FRED_RSP_SL3, stack_top + (1 + IST_DF)   * PAGE_SIZE);
+    wrmsrns(MSR_FRED_STK_LVLS, ((2UL << (X86_EXC_MC * 2)) |
+                                (3UL << (X86_EXC_DF * 2))));
+
+    if ( cpu_has_xen_shstk )
+    {
+        wrmsrns(MSR_FRED_SSP_SL0, stack_top + (PRIMARY_SHSTK_SLOT + 1) * PAGE_SIZE);
+        wrmsrns(MSR_FRED_SSP_SL1, stack_top + (1 + IST_DB) * PAGE_SIZE); /* Poison */
+        wrmsrns(MSR_FRED_SSP_SL2, stack_top + (IST_MCE * IST_SHSTK_SIZE));
+        wrmsrns(MSR_FRED_SSP_SL3, stack_top + (IST_DF  * IST_SHSTK_SIZE));
+    }
+}
+
 /*
  * Configure basic exception handling.  This is prior to parsing the command
  * line or configuring a console, and needs to be as simple as possible.
@@ -329,16 +379,20 @@ void __init traps_init(void)
             printk(XENLOG_INFO "Disabling PV32 due to FRED\n");
         }
 #endif
+
+        init_fred();
+        set_in_cr4(X86_CR4_FRED);
+
         setup_force_cpu_cap(X86_FEATURE_XEN_FRED);
         printk("Using FRED event delivery\n");
     }
     else
     {
+        load_system_tables();
+
         printk("Using IDT event delivery\n");
     }
 
-    load_system_tables();
-
     init_ler();
 
     /* Cache {,compat_}gdt_l1e now that physically relocation is done. */
@@ -356,7 +410,11 @@ void __init traps_init(void)
  */
 void __init bsp_traps_reinit(void)
 {
-    load_system_tables();
+    if ( opt_fred )
+        init_fred();
+    else
+        load_system_tables();
+
     percpu_traps_init();
 }
 
@@ -366,7 +424,8 @@ void __init bsp_traps_reinit(void)
  */
 void percpu_traps_init(void)
 {
-    legacy_syscall_init();
+    if ( !opt_fred )
+        legacy_syscall_init();
 
     if ( cpu_has_xen_lbr )
         wrmsrl(MSR_IA32_DEBUGCTLMSR, IA32_DEBUGCTLMSR_LBR);
@@ -381,7 +440,21 @@ void percpu_traps_init(void)
  */
 void asmlinkage percpu_early_traps_init(void)
 {
-    load_system_tables();
+    if ( opt_fred )
+    {
+        const seg_desc_t *gdt = this_cpu(gdt) - FIRST_RESERVED_GDT_ENTRY;
+        const struct desc_ptr gdtr = {
+            .base = (unsigned long)gdt,
+            .limit = LAST_RESERVED_GDT_BYTE,
+        };
+
+        lgdt(&gdtr);
+
+        init_fred();
+        write_cr4(read_cr4() | X86_CR4_FRED);
+    }
+    else
+        load_system_tables();
 }
 
 static void __init __maybe_unused build_assertions(void)
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Oct 03 22:54:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Oct 2025 22:54:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1136904.1473423 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4of2-0007ve-RS; Fri, 03 Oct 2025 22:54:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1136904.1473423; Fri, 03 Oct 2025 22:54:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4of2-0007u7-7l; Fri, 03 Oct 2025 22:54:00 +0000
Received: by outflank-mailman (input) for mailman id 1136904;
 Fri, 03 Oct 2025 22:53:58 +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
 <SRS0=WVFT=4M=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v4oez-0004mK-Pk
 for xen-devel@lists.xenproject.org; Fri, 03 Oct 2025 22:53:57 +0000
Received: from mail-wr1-x430.google.com (mail-wr1-x430.google.com
 [2a00:1450:4864:20::430])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d71c6f6f-a0ab-11f0-9809-7dc792cee155;
 Sat, 04 Oct 2025 00:53:55 +0200 (CEST)
Received: by mail-wr1-x430.google.com with SMTP id
 ffacd0b85a97d-3ee12a63af1so1843220f8f.1
 for <xen-devel@lists.xenproject.org>; Fri, 03 Oct 2025 15:53:55 -0700 (PDT)
Received: from localhost.localdomain (host-92-22-57-86.as13285.net.
 [92.22.57.86]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4255d8a6bbesm9616571f8f.12.2025.10.03.15.53.54
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 03 Oct 2025 15:53:54 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d71c6f6f-a0ab-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1759532035; x=1760136835; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=C1bN21O9E9iaUXFirFx56v5gHa9tBSUu8dMdcIlZelw=;
        b=svLuul7Zyw7GDhNe0hczkZWm5sadyJAE7EHwq5fIOqVmNRxcaz6K/V5qixsLl9csgz
         tDA3tOet6OSI4uilhdK8zx7UrHweeAeUEmysLiTffNYrlZZu4wsBa7KMgsdikHbvGSqi
         fRTG7drwSS75DEodDU1ZLYCiMbLbzxXdRGsHM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759532035; x=1760136835;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=C1bN21O9E9iaUXFirFx56v5gHa9tBSUu8dMdcIlZelw=;
        b=wnxR0UP537ZF9C1uT/u7Vlikt3Y2b2ogjGST7G7vuQ2hSXK5iBY0n19tP8GTptQYAx
         SNRAudQ1Cm8TM6Sd60mBN8PZNqvYb+H/WHu/RNCFbsSwbVpi4VxtjR7RUgMKkkn1Mi5R
         avgbvbx3B7TSzqVGA1x7kFOfqlujvsEtJifXN381o1W0s9ubK1PQZ3PpJiQLwozg/flm
         83BBdBx/ckaRjst2xFdjd5rSYA76/2oHIiHPjT47ucIbnf8hOfDqUK9bGwrpD+WzAfOp
         lZez6qXh8kEiRkvBJbf0Zo8Y5dqIbqdGnRNfhTbNwu1P0+IfGJ4QvdIUWMmxvnuTYYyY
         bGQw==
X-Gm-Message-State: AOJu0YxwVhM14zr6Qhgk20x9v7gA2VOHOXj3QKbgL1qEXxhOFJHRYyV6
	mgXo3bHTG+wgcEKvimqZwurJ5bXWqQ3fSKCMI1shYJ23tW2bl0gRkX16NIUCXp5k1OkbvX2ZXJj
	ZOw4iPzkEpA==
X-Gm-Gg: ASbGncvIEP84ZD/QY0HO1B199SK8kWMeYLl4FUaXnv5ZXypiSbg26kKWwK3sMF2fbNh
	CeevSBOZY9bZdH68OSuXWdXM0EyBArlLeK5wT64JSiBDyonwTLjxWh010cCIjJmhBniv5R5Qc37
	nlZzMG/D4MPclKfGoSZzHm+GhUmi7lX53T4mXXjy24D1YHJyMjBghrsWijXNDVnDAMbeL0t86sy
	OhVjUoYEnX1M71nprH3bbEgaPbhsVmxYTdbSjZ3QkB6YBgcUguPWrP28dFu06pcHaVPolpl9kjo
	lWX92eVBnjmjjxOKux9BSFQy/pKnqZmRK2+ONf/0DrTMqQ7jUorI9YvA+KDRI36gb2NzM6C/F+C
	kdZ7gEshIRBMxDaDaWTrv3bTKy3/gABCGKVq6Ujc5RaLGjAwdQI/xnelh6580fnNROnh+HND/n9
	ySqt+tYFTBNFRI/a+YKR3j
X-Google-Smtp-Source: AGHT+IE6GpiPnDTB08HyF1hebJipc0fF1gsf1JZSsnRWscEJCy2txLu4bZbcKp/RbdYEJP1l2iFp+A==
X-Received: by 2002:a05:6000:1869:b0:3e7:458e:f69 with SMTP id ffacd0b85a97d-425671c381bmr3226464f8f.56.1759532034939;
        Fri, 03 Oct 2025 15:53:54 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v3 12/22] x86/traps: Introduce FRED entrypoints
Date: Fri,  3 Oct 2025 23:53:24 +0100
Message-Id: <20251003225334.2123667-13-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
References: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Under FRED, there's one entrypoint from Ring 3, and one from Ring 0.

FRED gives us a good stack (even for SYSCALL/SYSENTER), and a unified event
frame on the stack, meaing that all software needs to do is spill the GPRs
with a line of PUSHes.  Introduce PUSH_AND_CLEAR_GPRS and POP_GPRS for this
purpose.

Introduce entry_FRED_R0() which to a first appoximation is complete for all
event handling within Xen.

entry_FRED_R0() needs deriving from entry_FRED_R3(), so introduce a basic
handler.  There is more work required to make the return-to-guest path work
under FRED.

Also introduce entry_from_{xen,pv}() to be the C level handlers.  By simply
copying regs->fred_ss.vector into regs->entry_vector, we can reuse all the
existing fault handlers.

Extend fatal_trap() to render the event type, including by name, when FRED is
active.  This is slightly complicated, because X86_ET_OTHER must not use
vector_name() or SYSCALL and SYSENTER get rendered as #BP and #DB.

This is sufficient to handle all interrupts and exceptions encountered during
development, including plenty of Double Faults.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>

v3:
 * Adjust commit message to remove stale details
 * Adjust formatting in fatal_trap()
 * Group CP with others.  It's probably wrong for perf, but that's out the
   window anyway now that we're letting a compiler make the decision tree.

v2:
 * Don't render a vector name for X86_ET_SW_INT
 * Fix typos in names[]
 * Link entry-fred.o first

SIMICS hasn't been updated to the FRED v9, and still wants ENDBR instructions
at the entrypoints.
---
 xen/arch/x86/include/asm/asm_defns.h |  65 ++++++++++++
 xen/arch/x86/traps.c                 | 152 +++++++++++++++++++++++++++
 xen/arch/x86/x86_64/Makefile         |   1 +
 xen/arch/x86/x86_64/entry-fred.S     |  33 ++++++
 4 files changed, 251 insertions(+)
 create mode 100644 xen/arch/x86/x86_64/entry-fred.S

diff --git a/xen/arch/x86/include/asm/asm_defns.h b/xen/arch/x86/include/asm/asm_defns.h
index 72a0082d319d..a81a4043d0f1 100644
--- a/xen/arch/x86/include/asm/asm_defns.h
+++ b/xen/arch/x86/include/asm/asm_defns.h
@@ -315,6 +315,71 @@ static always_inline void stac(void)
         subq  $-(UREGS_error_code-UREGS_r15+\adj), %rsp
 .endm
 
+/*
+ * Push and clear GPRs
+ */
+.macro PUSH_AND_CLEAR_GPRS
+        push  %rdi
+        xor   %edi, %edi
+        push  %rsi
+        xor   %esi, %esi
+        push  %rdx
+        xor   %edx, %edx
+        push  %rcx
+        xor   %ecx, %ecx
+        push  %rax
+        xor   %eax, %eax
+        push  %r8
+        xor   %r8d, %r8d
+        push  %r9
+        xor   %r9d, %r9d
+        push  %r10
+        xor   %r10d, %r10d
+        push  %r11
+        xor   %r11d, %r11d
+        push  %rbx
+        xor   %ebx, %ebx
+        push  %rbp
+#ifdef CONFIG_FRAME_POINTER
+/* Indicate special exception stack frame by inverting the frame pointer. */
+        mov   %rsp, %rbp
+        notq  %rbp
+#else
+        xor   %ebp, %ebp
+#endif
+        push  %r12
+        xor   %r12d, %r12d
+        push  %r13
+        xor   %r13d, %r13d
+        push  %r14
+        xor   %r14d, %r14d
+        push  %r15
+        xor   %r15d, %r15d
+.endm
+
+/*
+ * POP GPRs from a UREGS_* frame on the stack.  Does not modify flags.
+ *
+ * @rax: Alternative destination for the %rax value on the stack.
+ */
+.macro POP_GPRS rax=%rax
+        pop   %r15
+        pop   %r14
+        pop   %r13
+        pop   %r12
+        pop   %rbp
+        pop   %rbx
+        pop   %r11
+        pop   %r10
+        pop   %r9
+        pop   %r8
+        pop   \rax
+        pop   %rcx
+        pop   %rdx
+        pop   %rsi
+        pop   %rdi
+.endm
+
 #ifdef CONFIG_PV32
 #define CR4_PV32_RESTORE                               \
     ALTERNATIVE_2 "",                                  \
diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index 2e3efe45edf4..0027f096a6c3 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -89,6 +89,13 @@ const unsigned int nmi_cpu;
 #define stack_words_per_line 4
 #define ESP_BEFORE_EXCEPTION(regs) ((unsigned long *)(regs)->rsp)
 
+/* Only valid to use when FRED is active. */
+static inline struct fred_info *cpu_regs_fred_info(struct cpu_user_regs *regs)
+{
+    ASSERT(read_cr4() & X86_CR4_FRED);
+    return &container_of(regs, struct cpu_info, guest_cpu_user_regs)->_fred;
+}
+
 struct extra_state
 {
     unsigned long cr0, cr2, cr3, cr4;
@@ -1023,6 +1030,32 @@ void show_execution_state_nmi(const cpumask_t *mask, bool show_all)
         printk("Non-responding CPUs: {%*pbl}\n", CPUMASK_PR(&show_state_mask));
 }
 
+static const char *x86_et_name(unsigned int type)
+{
+    static const char *const names[] = {
+        [X86_ET_EXT_INTR]    = "EXT_INTR",
+        [X86_ET_NMI]         = "NMI",
+        [X86_ET_HW_EXC]      = "HW_EXC",
+        [X86_ET_SW_INT]      = "SW_INT",
+        [X86_ET_PRIV_SW_EXC] = "PRIV_SW_EXC",
+        [X86_ET_SW_EXC]      = "SW_EXC",
+        [X86_ET_OTHER]       = "OTHER",
+    };
+
+    return (type < ARRAY_SIZE(names) && names[type]) ? names[type] : "???";
+}
+
+static const char *x86_et_other_name(unsigned int what)
+{
+    static const char *const names[] = {
+        [0] = "MTF",
+        [1] = "SYSCALL",
+        [2] = "SYSENTER",
+    };
+
+    return (what < ARRAY_SIZE(names) && names[what]) ? names[what] : "???";
+}
+
 const char *vector_name(unsigned int vec)
 {
     static const char names[][4] = {
@@ -1101,6 +1134,38 @@ void fatal_trap(const struct cpu_user_regs *regs, bool show_remote)
         }
     }
 
+    if ( read_cr4() & X86_CR4_FRED )
+    {
+        bool render_ec = false;
+        const char *vec_name = NULL;
+
+        switch ( regs->fred_ss.type )
+        {
+        case X86_ET_HW_EXC:
+        case X86_ET_PRIV_SW_EXC:
+        case X86_ET_SW_EXC:
+            render_ec = true;
+            vec_name = vector_name(regs->fred_ss.vector);
+            break;
+
+        case X86_ET_OTHER:
+            vec_name = x86_et_other_name(regs->fred_ss.vector);
+            break;
+        }
+
+        if ( render_ec )
+            panic("FATAL TRAP: type %u, %s, vec %u, %s[%04x]%s\n",
+                  regs->fred_ss.type, x86_et_name(regs->fred_ss.type),
+                  regs->fred_ss.vector, vec_name ?: "",
+                  regs->error_code,
+                  (regs->eflags & X86_EFLAGS_IF) ? "" : " IN INTERRUPT CONTEXT");
+        else
+            panic("FATAL TRAP: type %u, %s, vec %u, %s%s\n",
+                  regs->fred_ss.type, x86_et_name(regs->fred_ss.type),
+                  regs->fred_ss.vector, vec_name ?: "",
+                  (regs->eflags & X86_EFLAGS_IF) ? "" : " IN INTERRUPT CONTEXT");
+    }
+
     panic("FATAL TRAP: vec %u, %s[%04x]%s\n",
           trapnr, vector_name(trapnr), regs->error_code,
           (regs->eflags & X86_EFLAGS_IF) ? "" : " IN INTERRUPT CONTEXT");
@@ -2199,6 +2264,93 @@ void asmlinkage check_ist_exit(const struct cpu_user_regs *regs, bool ist_exit)
 }
 #endif
 
+void asmlinkage entry_from_pv(struct cpu_user_regs *regs)
+{
+    /* Copy fred_ss.vector into entry_vector as IDT delivery would have done. */
+    regs->entry_vector = regs->fred_ss.vector;
+
+    fatal_trap(regs, false);
+}
+
+void asmlinkage entry_from_xen(struct cpu_user_regs *regs)
+{
+    struct fred_info *fi = cpu_regs_fred_info(regs);
+    uint8_t type = regs->fred_ss.type;
+
+    /* Copy fred_ss.vector into entry_vector as IDT delivery would have done. */
+    regs->entry_vector = regs->fred_ss.vector;
+
+    /*
+     * First, handle the asynchronous or fatal events.  These are either
+     * unrelated to the interrupted context, or may not have valid context
+     * recorded, and all have special rules on how/whether to re-enable IRQs.
+     */
+    switch ( type )
+    {
+    case X86_ET_EXT_INTR:
+        return do_IRQ(regs);
+
+    case X86_ET_NMI:
+        return do_nmi(regs);
+
+    case X86_ET_HW_EXC:
+        switch ( regs->fred_ss.vector )
+        {
+        case X86_EXC_DF: return do_double_fault(regs);
+        case X86_EXC_MC: return do_machine_check(regs);
+        }
+        break;
+    }
+
+    /*
+     * With the asynchronous events handled, what remains are the synchronous
+     * ones.  If we interrupted an IRQs-on region, we should re-enable IRQs
+     * now; for #PF and #DB, %cr2 and %dr6 are on the stack in edata.
+     */
+    if ( regs->eflags & X86_EFLAGS_IF )
+        local_irq_enable();
+
+    switch ( type )
+    {
+    case X86_ET_HW_EXC:
+    case X86_ET_PRIV_SW_EXC:
+    case X86_ET_SW_EXC:
+        switch ( regs->fred_ss.vector )
+        {
+        case X86_EXC_PF:  handle_PF(regs, fi->edata); break;
+        case X86_EXC_GP:  do_general_protection(regs); break;
+        case X86_EXC_UD:  do_invalid_op(regs); break;
+        case X86_EXC_NM:  do_device_not_available(regs); break;
+        case X86_EXC_BP:  do_int3(regs); break;
+        case X86_EXC_DB:  handle_DB(regs, fi->edata); break;
+        case X86_EXC_CP:  do_entry_CP(regs); break;
+
+        case X86_EXC_DE:
+        case X86_EXC_OF:
+        case X86_EXC_BR:
+        case X86_EXC_NP:
+        case X86_EXC_SS:
+        case X86_EXC_MF:
+        case X86_EXC_AC:
+        case X86_EXC_XM:
+            do_trap(regs);
+            break;
+
+        default:
+            goto fatal;
+        }
+        break;
+
+    default:
+        goto fatal;
+    }
+
+    return;
+
+ fatal:
+    fatal_trap(regs, false);
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/x86/x86_64/Makefile b/xen/arch/x86/x86_64/Makefile
index f20763088740..c0a0b6603221 100644
--- a/xen/arch/x86/x86_64/Makefile
+++ b/xen/arch/x86/x86_64/Makefile
@@ -1,5 +1,6 @@
 obj-$(CONFIG_PV32) += compat/
 
+obj-bin-y += entry-fred.o
 obj-bin-y += entry.o
 obj-$(CONFIG_KEXEC) += machine_kexec.o
 obj-y += pci.o
diff --git a/xen/arch/x86/x86_64/entry-fred.S b/xen/arch/x86/x86_64/entry-fred.S
new file mode 100644
index 000000000000..3c3320df22cb
--- /dev/null
+++ b/xen/arch/x86/x86_64/entry-fred.S
@@ -0,0 +1,33 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+        .file "x86_64/entry-fred.S"
+
+#include <asm/asm_defns.h>
+#include <asm/page.h>
+
+        .section .text.entry, "ax", @progbits
+
+        /* The Ring3 entry point is required to be 4k aligned. */
+
+FUNC(entry_FRED_R3, 4096)
+        PUSH_AND_CLEAR_GPRS
+
+        mov     %rsp, %rdi
+        call    entry_from_pv
+
+        POP_GPRS
+        eretu
+END(entry_FRED_R3)
+
+        /* The Ring0 entrypoint is at Ring3 + 0x100. */
+        .org entry_FRED_R3 + 0x100, 0xcc
+
+FUNC_LOCAL(entry_FRED_R0, 0)
+        PUSH_AND_CLEAR_GPRS
+
+        mov     %rsp, %rdi
+        call    entry_from_xen
+
+        POP_GPRS
+        erets
+END(entry_FRED_R0)
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Oct 03 22:54:02 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Oct 2025 22:54:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1136906.1473429 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4of3-00086d-UQ; Fri, 03 Oct 2025 22:54:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1136906.1473429; Fri, 03 Oct 2025 22:54:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4of3-00082f-7Y; Fri, 03 Oct 2025 22:54:01 +0000
Received: by outflank-mailman (input) for mailman id 1136906;
 Fri, 03 Oct 2025 22:53:58 +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
 <SRS0=WVFT=4M=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v4of0-0004mF-Q0
 for xen-devel@lists.xenproject.org; Fri, 03 Oct 2025 22:53:58 +0000
Received: from mail-wr1-x444.google.com (mail-wr1-x444.google.com
 [2a00:1450:4864:20::444])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d89fee68-a0ab-11f0-9d14-b5c5bf9af7f9;
 Sat, 04 Oct 2025 00:53:58 +0200 (CEST)
Received: by mail-wr1-x444.google.com with SMTP id
 ffacd0b85a97d-42557c5cedcso1550912f8f.0
 for <xen-devel@lists.xenproject.org>; Fri, 03 Oct 2025 15:53:58 -0700 (PDT)
Received: from localhost.localdomain (host-92-22-57-86.as13285.net.
 [92.22.57.86]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4255d8a6bbesm9616571f8f.12.2025.10.03.15.53.56
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 03 Oct 2025 15:53:56 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d89fee68-a0ab-11f0-9d14-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1759532037; x=1760136837; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=iRfAmeeR6zAUL5Qp5V1Fb0vHuvHuaq0E0X01lnE0vvw=;
        b=Jcq5ITeYUXvEjsV98E1N1kka5T76+aUHhgezPl9aSXOoqUGpvrdSku5uY7o4FNgC8Z
         dXzDbQvgAWAOe/qk88NbANa+/+S0xANQ+LW9ACsJXwjKOe5daAXRo7h1217Ft2GJDAX4
         snMKhM0tornjHWQhpBSNYMoOvhGyvybOXGGRg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759532037; x=1760136837;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=iRfAmeeR6zAUL5Qp5V1Fb0vHuvHuaq0E0X01lnE0vvw=;
        b=Mz1RBtTxpxLFrXOYZWiICg65W5Y9ppQADq7ocCJ+6WO1N7WVkg+jzQ1QtfJxoWgnl9
         MjbNNZ1pdnkyqMSU1x4R5OAPwD9PEE7DNr6Afh9tLwtkNWk3XggsXLOB/msw0S/DwHH5
         i/XbIQSrv94mxjZMHYt+JgO4VDIkvfln4zhkaZKZkwsOvYsHhsZNCBkItSaxdOSd3Gj1
         Ldrnn4xUSyw3Q9rWrHFcFesuhKcKSz5zK6Oi0QBj0YPvSNvEO7isES74Qgb8//jftDdc
         eKwJXPyDYzg8XPXb2dtj0FfB/Jxqd0JL1boiKbrUJ/cTYDPOKmsQw+V7ImK1T/L7/TNO
         LAwA==
X-Gm-Message-State: AOJu0YzLznw7o+owbMpvQirLhuAioAYUC2GbYZ4bCdYLQ9DMqT8EZfRk
	kXuiEaZyEUj6mVL8v9msOhZBA2GsvT8Va7vUHrY9NlAffA7BKYVpnBMpIkU0on/o4dNFgjVodR1
	EkntyJ2j60zQK
X-Gm-Gg: ASbGncs1rbw1zkQd9KqAjMJlzTAwmdK/lsRCJcjm7mNResKsuFP6pN2Q/3NRJlWeMA5
	4h1JvnGl9Y7RothwXgQ/EABsS/G7y4kDut/CMcSjGLtLuTOZvjjVCMb3pEUFJSPNyYIaVWVaC2w
	twYA4p16v20QCvD6LjZ6gir9uvWlpdEN1UD8O/9O/X0f/9Gojp1GTbD9rcy8GsOo88bBna1c0cF
	q9F88G0nbQLwdjetjon+ZY3zpMHyHdOQuqApz6HtdkwmYc9FgvilGHluhBvle86Bs8YRQ8d3zBk
	H5HcwWKJDXPghu174jsv+iTXIJTIfy2XBj7UMCtAUJZHT5nZ7UOTdGHQLvIKW/X9B8tkCMO74Ey
	jkq/GAGxVSf/OqHa82iVKwJVmAd1Z1hH8wFXOTPHt/iNHAwO5i6+0NY3DvRt/jcVqTSv7YT1X4W
	p2x6y1O26MF5rGYjZsna9V
X-Google-Smtp-Source: AGHT+IEiAOCbCOb8YqE1eusNq1HSVlGn8l0T3VYg2moBLnwH7xsGfpC6+V23VPQNoQDG2DCPBoivrw==
X-Received: by 2002:a05:6000:2303:b0:40e:31a2:7efe with SMTP id ffacd0b85a97d-4256714bac2mr3112200f8f.14.1759532037024;
        Fri, 03 Oct 2025 15:53:57 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v3 14/22] x86/pv: Deduplicate is_canonical_address() in do_set_segment_base()
Date: Fri,  3 Oct 2025 23:53:26 +0100
Message-Id: <20251003225334.2123667-15-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
References: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This is really a rearrangement to make adding FRED support easier.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>

v2:
 * New

There is a marginal code size improvement:

  add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-46 (-46)
  Function                                     old     new   delta
  do_set_segment_base                          496     450     -46

but it does get undone by the FRED support.
---
 xen/arch/x86/pv/misc-hypercalls.c | 32 ++++++++++++++++---------------
 1 file changed, 17 insertions(+), 15 deletions(-)

diff --git a/xen/arch/x86/pv/misc-hypercalls.c b/xen/arch/x86/pv/misc-hypercalls.c
index 7a37f16bf038..4c2abeb4add8 100644
--- a/xen/arch/x86/pv/misc-hypercalls.c
+++ b/xen/arch/x86/pv/misc-hypercalls.c
@@ -176,27 +176,29 @@ long do_set_segment_base(unsigned int which, unsigned long base)
     switch ( which )
     {
     case SEGBASE_FS:
-        if ( is_canonical_address(base) )
-            write_fs_base(base);
-        else
+    case SEGBASE_GS_USER:
+    case SEGBASE_GS_KERNEL:
+        if ( !is_canonical_address(base) )
+        {
             ret = -EINVAL;
-        break;
+            break;
+        }
 
-    case SEGBASE_GS_USER:
-        if ( is_canonical_address(base) )
+        switch ( which )
         {
-            write_gs_shadow(base);
+        case SEGBASE_FS:
+            write_fs_base(base);
+            break;
+
+        case SEGBASE_GS_USER:
             v->arch.pv.gs_base_user = base;
-        }
-        else
-            ret = -EINVAL;
-        break;
+            write_gs_shadow(base);
+            break;
 
-    case SEGBASE_GS_KERNEL:
-        if ( is_canonical_address(base) )
+        case SEGBASE_GS_KERNEL:
             write_gs_base(base);
-        else
-            ret = -EINVAL;
+            break;
+        }
         break;
 
     case SEGBASE_GS_USER_SEL:
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Oct 03 22:54:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Oct 2025 22:54:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1136913.1473441 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4of6-0000Eg-6b; Fri, 03 Oct 2025 22:54:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1136913.1473441; Fri, 03 Oct 2025 22:54:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4of5-0000CX-JV; Fri, 03 Oct 2025 22:54:03 +0000
Received: by outflank-mailman (input) for mailman id 1136913;
 Fri, 03 Oct 2025 22:54:01 +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
 <SRS0=WVFT=4M=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v4of2-0004mK-OT
 for xen-devel@lists.xenproject.org; Fri, 03 Oct 2025 22:54:00 +0000
Received: from mail-wr1-x431.google.com (mail-wr1-x431.google.com
 [2a00:1450:4864:20::431])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d9024e14-a0ab-11f0-9809-7dc792cee155;
 Sat, 04 Oct 2025 00:53:59 +0200 (CEST)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-4060b4b1200so2364479f8f.3
 for <xen-devel@lists.xenproject.org>; Fri, 03 Oct 2025 15:53:59 -0700 (PDT)
Received: from localhost.localdomain (host-92-22-57-86.as13285.net.
 [92.22.57.86]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4255d8a6bbesm9616571f8f.12.2025.10.03.15.53.57
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 03 Oct 2025 15:53:57 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d9024e14-a0ab-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1759532038; x=1760136838; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=x7HaizuWoCOqmZuee74baF1kDN75Kwc6FxkeaKG4Enc=;
        b=k1DGaaqcWANTBp0S61SuRqdWkNCcljlKPNtpK0U0WBU883UJz6gcYs3sXdcyt0MDrT
         Zrqa0csQJJqYNWu8jbfmNM+c/KfIK3jrotCHmfAPP4d+pzQrzz4NKcVVIZQrA4PhtgP+
         0hxbdribFQTGy7dkDen99l8iC2nQhxzCnd5kI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759532038; x=1760136838;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=x7HaizuWoCOqmZuee74baF1kDN75Kwc6FxkeaKG4Enc=;
        b=nnikoz0n8LN6Yzyowwa1U84d/1GZ5XWyTVeGNAn/0vZoOIcarvjl5ZuKrS+40ROp5r
         Q9yk1w4TeUg67XlZxAhFBETWTskx6h4drkBpTzRX9yEWMv6ugLMk6znESJD1w3WKwR44
         76xh8I+IUQZ/Sjp8cP/ZkHRNF5iY6LUQ5H1HcNQSrQmxr5yAzmspU+HYHtzalPV5YeLr
         6yC2rQay9SObpYm4YE11kccME9M7ymya033EHCQy7Y1mG/C5AiZIgLcS5vPVTOhgF0wv
         7d31T3jioopONp7kq9/6AvbVZcqJuHEPr1HuhA3QAT1gqE2Aq1uP8UKtjPTy5PW6zSNL
         0cSQ==
X-Gm-Message-State: AOJu0YzQxnrD5Gw4Ip63YQb8/nIfCM7vsc+LXkIjLIUFhtym4EjPIfRZ
	ElTXZ0VJsGaRCWd6+wN0JmvHGMrLIKn9a+uo5ib/ZDdceTq6N4b5XUNp3jNEk4B6sn92YgAMPxD
	kC9tPfYqqNw==
X-Gm-Gg: ASbGncsKdAnnygK5a9720qolJVWKjDbheHY1B70QrQ0oYpXWN1P3WvpDYXpf5BC5795
	ZlfAOBO+eR96CskI1SKKipnkfOLgR+TMpDlCqdW5KpjBQ4Spu51nIud8hxkrdRXDFKxkUk1YPKM
	r5jRc6/axEPW5fIJ+quFP0ElpPdTfrMmMzIULqFLbmejl/eltZWFiFIJ4PI5VnI4hLnQl40AkUZ
	TLhyNm0eV5zrO8Gse72ul+5Uz7Nt5YxSZCEfAO/9Yv3yVEP7tLFlCFyCFJYiRg2Sq8bn7Tq2Cdn
	rkucnOlMtf7mXNHJRHw+GQTEPiT2+S5zStqulfOc9oQgqxua6RBREK4qbueEN7f9Vox+weXqnlA
	WtiWSMYDcpDjp1wOPgLqYiS1c1yonQ7n1JyWeEY6efbyyJKl+xtdHwTg6K7EqABdN5AQ01Fkjkw
	G3u32NUEae58t9HGg9lFb6
X-Google-Smtp-Source: AGHT+IELJCVFGLqkCST4IltIhXDZM9S/siO085/FDhprxOh2wFsisvOsYxp1EzupU4fvuGfuKFAMGg==
X-Received: by 2002:a05:6000:616:b0:3fe:efa8:7f1d with SMTP id ffacd0b85a97d-42567137428mr2651888f8f.7.1759532038150;
        Fri, 03 Oct 2025 15:53:58 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v3 15/22] x86/entry: Alter how IRET faults are recognised
Date: Fri,  3 Oct 2025 23:53:27 +0100
Message-Id: <20251003225334.2123667-16-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
References: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Right now we have two IRET instructions that can fault for guest reasons, and
the pre exception table gives handle_exception as the fixup for both.

Instead, we can have compat_restore_all_guest() use restore_all_guest()'s IRET
which gives us just a single position to handle specially.

In exception_with_ints_disabled(), remove search_pre_exception_table() and use
a simpler check.  Explain how the recovery works, because this isn't the first
time I've had to reverse engineer it for my own understanding.

The reference to iret_to_guest highlights that any checking here is specific
to CONFIG_PV, so exclude it in !PV builds.

Later in exception_with_ints_disabled(), it suffices to load %ecx rather than
%rcx, and remove a stray semi-colon from the rep movsq.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>

v2:
 * New
---
 xen/arch/x86/x86_64/compat/entry.S |  3 +--
 xen/arch/x86/x86_64/entry.S        | 31 ++++++++++++++++++++++--------
 2 files changed, 24 insertions(+), 10 deletions(-)

diff --git a/xen/arch/x86/x86_64/compat/entry.S b/xen/arch/x86/x86_64/compat/entry.S
index d7b381ea546d..39925d80a677 100644
--- a/xen/arch/x86/x86_64/compat/entry.S
+++ b/xen/arch/x86/x86_64/compat/entry.S
@@ -167,8 +167,7 @@ FUNC(compat_restore_all_guest)
             scf=STK_REL(CPUINFO_scf,      CPUINFO_rip), \
             sel=STK_REL(CPUINFO_verw_sel, CPUINFO_rip)
 
-.Lft0:  iretq
-        _ASM_PRE_EXTABLE(.Lft0, handle_exception)
+        jmp     iret_to_guest
 END(compat_restore_all_guest)
 
 /* Callers can cope with both %rax and %rcx being clobbered. */
diff --git a/xen/arch/x86/x86_64/entry.S b/xen/arch/x86/x86_64/entry.S
index c02245ac064c..01b431793b7b 100644
--- a/xen/arch/x86/x86_64/entry.S
+++ b/xen/arch/x86/x86_64/entry.S
@@ -241,8 +241,9 @@ iret_exit_to_guest:
         SPEC_CTRL_COND_VERW     /* Req: %rsp=eframe                    Clob: efl */
 
         addq  $8,%rsp
-.Lft0:  iretq
-        _ASM_PRE_EXTABLE(.Lft0, handle_exception)
+
+LABEL(iret_to_guest, 0)
+        iretq
 END(restore_all_guest)
 
 /*
@@ -920,10 +921,23 @@ handle_exception_saved:
 exception_with_ints_disabled:
         testb $3,UREGS_cs(%rsp)         # interrupts disabled outside Xen?
         jnz   FATAL_exception_with_ints_disabled
-        movq  %rsp,%rdi
-        call  search_pre_exception_table
-        testq %rax,%rax                 # no fixup code for faulting EIP?
-        jz    .Ldispatch_exceptions
+
+#ifndef CONFIG_PV
+        /* No PV?  No IRETs-to-guest to worry about. */
+        jmp .Ldispatch_exceptions
+#else
+        /* Check to see if the exception was on the IRET to guest context. */
+        lea   iret_to_guest(%rip), %rax
+        cmp   %rax, UREGS_rip(%rsp)
+        jne   .Ldispatch_exceptions
+
+        /*
+         * Recovery is at handle_exception.  It may be necessary to make space
+         * on the interrupted stack for ec/ev, after which the current ec/ev
+         * is copied to make it appear as if this exception occurred in guest
+         * context.
+         */
+        lea   handle_exception(%rip), %rax
         movq  %rax,UREGS_rip(%rsp)      # fixup regular stack
 
 #ifdef CONFIG_XEN_SHSTK
@@ -940,13 +954,14 @@ exception_with_ints_disabled:
         movq  %rsp,%rsi
         subq  $8,%rsp
         movq  %rsp,%rdi
-        movq  $UREGS_kernel_sizeof/8,%rcx
-        rep;  movsq                     # make room for ec/ev
+        mov   $UREGS_kernel_sizeof/8, %ecx
+        rep movsq                       # make room for ec/ev
 1:      movq  UREGS_error_code(%rsp),%rax # ec/ev
         movq  %rax,UREGS_kernel_sizeof(%rsp)
         mov   %r15, STACK_CPUINFO_FIELD(xen_cr3)(%r14)
         mov   %r13b, STACK_CPUINFO_FIELD(use_pv_cr3)(%r14)
         jmp   restore_all_xen           # return to fixup code
+#endif /* !CONFIG_PV */
 
 /* No special register assumptions. */
 FATAL_exception_with_ints_disabled:
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Oct 03 22:54:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Oct 2025 22:54:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1136915.1473449 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4of7-0000Ri-MK; Fri, 03 Oct 2025 22:54:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1136915.1473449; Fri, 03 Oct 2025 22:54:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4of6-0000Nw-Je; Fri, 03 Oct 2025 22:54:04 +0000
Received: by outflank-mailman (input) for mailman id 1136915;
 Fri, 03 Oct 2025 22:54:01 +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
 <SRS0=WVFT=4M=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v4of3-0004mF-56
 for xen-devel@lists.xenproject.org; Fri, 03 Oct 2025 22:54:01 +0000
Received: from mail-wm1-x330.google.com (mail-wm1-x330.google.com
 [2a00:1450:4864:20::330])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id da0b9c5e-a0ab-11f0-9d14-b5c5bf9af7f9;
 Sat, 04 Oct 2025 00:54:00 +0200 (CEST)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-46e384dfde0so30096515e9.2
 for <xen-devel@lists.xenproject.org>; Fri, 03 Oct 2025 15:54:00 -0700 (PDT)
Received: from localhost.localdomain (host-92-22-57-86.as13285.net.
 [92.22.57.86]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4255d8a6bbesm9616571f8f.12.2025.10.03.15.53.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 03 Oct 2025 15:53:59 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: da0b9c5e-a0ab-11f0-9d14-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1759532040; x=1760136840; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ANvzpW72vwwsvyjhYzLTTiCaXWsRhxHL8R8E+kHqpjw=;
        b=pYGmjyV314wYCdbhUHlLvOw7W28qWla+iyuvtN/TF4gofkqrM1bsSB138ei4znNs+c
         ccnFuOLFX48GKUaffP/5hNOFdQFvOU/q+gidy/EH4xOj1EYE4HJse5JdgUv9p9pLlv+G
         buKtRW3zSVWApol2FT1p52t9nYBX8o0lSK5mA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759532040; x=1760136840;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=ANvzpW72vwwsvyjhYzLTTiCaXWsRhxHL8R8E+kHqpjw=;
        b=q2gS74IB+RFBbUO7R/LvObHzFzHMyHRrYVJI9gIwfmer89HX/5o7HH/17pyAxg6DJS
         XrFhuJ6h8zOekSqM46EsmnRodtBH3K9/KhV0uj9qn8pi4StOjYnWw5q7pjGfPiQAVWT+
         Q1oqDQ1RJhmdA+fRL/7PhPHUr38fRXqVx3aIatUqDTPlnNGMO6VtEnbr+FAbJvAbIIrl
         F+5MOUZANidPJC/XHAjsGDQvAqtwUozbm9UY1b0dT+GMi+7BdzbEOzCCcystWTY/CHXW
         2i6r5Gm58MtJADtcvtrUY2ooAA87p7fhZ7VIkVkdPsXTcNAwjU6UyvMMGCI72vtA+OQQ
         cbug==
X-Gm-Message-State: AOJu0YzJAQbu1Fx5WtJufgw0qzswnvbsctVMRr6xucV9UcKM/RNZpTyi
	tpTyIExEJs23RLy0jB9aCwI4CsuaiY8BjjLi+Y1I/ray7vipnjCnhceqAdfyLLJboWhIvA46OK3
	Xmv4pidOdLQ==
X-Gm-Gg: ASbGncsI4LWd7RX2bku/F/xIagCbk5i7gEPvm8Ib0f1ZMcjOUYMaZlRGn9Xhr1CnrCA
	RDWdgf5Z3Dgxt/YWDnlbKBWDclbF40koU2fUj6nYJ+5KVqKvO1IWqBcmbLadh6h4NDy5d1wyi4c
	Pts0ge12e5xxU8W0UgotrJtFAGKn4Y//tRS7MJKNHGKSYuuRwI9CBDCC/iCF8Ns6jF74tpvxhZP
	sQL5QPJLPdNY+1pJXGKcrHQEl92i1lR9KJqhXnyU+GLNXtXGIrriLwYXYydMv2oodylEizBcU+u
	nRJf8fn78+UqaxkZ+SMsZ6XaT+FGBD7z87jOHGFn3Yb3STLHLdhwH/oVFYS4yPHT8GIhC1w0aST
	1YJuWEP/xhzua+91RNqIWIOVRkRJRpL3PSxxtsNk7PTRIbfkkN0/keWgVd0dTGtEaUr3wU5nR2w
	Yxgv+viCG//KNGMnt1iX0C
X-Google-Smtp-Source: AGHT+IF8aEJo+fOqUAgR0jh5lYjGuweJ2kLO3kj48UhE4rEUCkOi0B236wTO2XQ7xbpR05hk9r+xNA==
X-Received: by 2002:a05:6000:2483:b0:3dc:1473:18bc with SMTP id ffacd0b85a97d-42566e05d8fmr2659758f8f.0.1759532039956;
        Fri, 03 Oct 2025 15:53:59 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v3 16/22] x86/entry: Drop the pre exception table infrastructure
Date: Fri,  3 Oct 2025 23:53:28 +0100
Message-Id: <20251003225334.2123667-17-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
References: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

It is no longer used.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>

v2:
 * New
---
 xen/arch/x86/extable.c               | 14 --------------
 xen/arch/x86/include/asm/asm_defns.h | 11 ++++-------
 xen/arch/x86/include/asm/uaccess.h   |  2 --
 xen/arch/x86/xen.lds.S               |  5 -----
 4 files changed, 4 insertions(+), 28 deletions(-)

diff --git a/xen/arch/x86/extable.c b/xen/arch/x86/extable.c
index cf637d0921e4..a9b6c6b904f5 100644
--- a/xen/arch/x86/extable.c
+++ b/xen/arch/x86/extable.c
@@ -61,7 +61,6 @@ void init_or_livepatch sort_exception_table(struct exception_table_entry *start,
 void __init sort_exception_tables(void)
 {
     sort_exception_table(__start___ex_table, __stop___ex_table);
-    sort_exception_table(__start___pre_ex_table, __stop___pre_ex_table);
 }
 
 static unsigned long
@@ -219,16 +218,3 @@ int __init cf_check stub_selftest(void)
 }
 __initcall(stub_selftest);
 #endif /* CONFIG_SELF_TESTS */
-
-unsigned long asmlinkage search_pre_exception_table(struct cpu_user_regs *regs)
-{
-    unsigned long addr = regs->rip;
-    unsigned long fixup = search_one_extable(
-        __start___pre_ex_table, __stop___pre_ex_table, addr);
-    if ( fixup )
-    {
-        dprintk(XENLOG_INFO, "Pre-exception: %p -> %p\n", _p(addr), _p(fixup));
-        perfc_incr(exception_fixed);
-    }
-    return fixup;
-}
diff --git a/xen/arch/x86/include/asm/asm_defns.h b/xen/arch/x86/include/asm/asm_defns.h
index a81a4043d0f1..d7eafedf0e4c 100644
--- a/xen/arch/x86/include/asm/asm_defns.h
+++ b/xen/arch/x86/include/asm/asm_defns.h
@@ -65,22 +65,19 @@ register unsigned long current_stack_pointer asm("rsp");
 
 /* Exception table entry */
 #ifdef __ASSEMBLY__
-# define _ASM__EXTABLE(sfx, from, to)             \
-    .section .ex_table##sfx, "a" ;                \
+# define _ASM_EXTABLE(from, to)                   \
+    .section .ex_table, "a" ;                     \
     .balign 4 ;                                   \
     .long _ASM_EX(from), _ASM_EX(to) ;            \
     .previous
 #else
-# define _ASM__EXTABLE(sfx, from, to)             \
-    " .section .ex_table" #sfx ",\"a\"\n"         \
+# define _ASM_EXTABLE(from, to)                   \
+    " .section .ex_table,\"a\"\n"                 \
     " .balign 4\n"                                \
     " .long " _ASM_EX(from) ", " _ASM_EX(to) "\n" \
     " .previous\n"
 #endif
 
-#define _ASM_EXTABLE(from, to)     _ASM__EXTABLE(, from, to)
-#define _ASM_PRE_EXTABLE(from, to) _ASM__EXTABLE(.pre, from, to)
-
 #ifdef __ASSEMBLY__
 
 .macro BUILD_BUG_ON condstr, cond:vararg
diff --git a/xen/arch/x86/include/asm/uaccess.h b/xen/arch/x86/include/asm/uaccess.h
index 719d053936b9..4c41a0fe0426 100644
--- a/xen/arch/x86/include/asm/uaccess.h
+++ b/xen/arch/x86/include/asm/uaccess.h
@@ -410,8 +410,6 @@ struct exception_table_entry
 };
 extern struct exception_table_entry __start___ex_table[];
 extern struct exception_table_entry __stop___ex_table[];
-extern struct exception_table_entry __start___pre_ex_table[];
-extern struct exception_table_entry __stop___pre_ex_table[];
 
 union stub_exception_token {
     struct {
diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
index 966e514f2034..66075bc0ae6d 100644
--- a/xen/arch/x86/xen.lds.S
+++ b/xen/arch/x86/xen.lds.S
@@ -119,11 +119,6 @@ SECTIONS
        *(.ex_table)
        __stop___ex_table = .;
 
-       /* Pre-exception table */
-       __start___pre_ex_table = .;
-       *(.ex_table.pre)
-       __stop___pre_ex_table = .;
-
        . = ALIGN(PAGE_SIZE);
        __ro_after_init_end = .;
 
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Oct 03 22:56:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Oct 2025 22:56:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1136997.1473471 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4oh5-0004zT-Rm; Fri, 03 Oct 2025 22:56:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1136997.1473471; Fri, 03 Oct 2025 22:56:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4oh5-0004zM-MW; Fri, 03 Oct 2025 22:56:07 +0000
Received: by outflank-mailman (input) for mailman id 1136997;
 Fri, 03 Oct 2025 22:56: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
 <SRS0=WVFT=4M=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v4of6-0004mK-8r
 for xen-devel@lists.xenproject.org; Fri, 03 Oct 2025 22:54:04 +0000
Received: from mail-wr1-x433.google.com (mail-wr1-x433.google.com
 [2a00:1450:4864:20::433])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id da8d35cf-a0ab-11f0-9809-7dc792cee155;
 Sat, 04 Oct 2025 00:54:01 +0200 (CEST)
Received: by mail-wr1-x433.google.com with SMTP id
 ffacd0b85a97d-42557c5cedcso1550919f8f.0
 for <xen-devel@lists.xenproject.org>; Fri, 03 Oct 2025 15:54:01 -0700 (PDT)
Received: from localhost.localdomain (host-92-22-57-86.as13285.net.
 [92.22.57.86]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4255d8a6bbesm9616571f8f.12.2025.10.03.15.54.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 03 Oct 2025 15:54:00 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: da8d35cf-a0ab-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1759532041; x=1760136841; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=mWok3/ERT2Kd1oqFiPyrt4RuQmQhVZTmRdQZKV98WJM=;
        b=LzXkfqppwPGWgnVAnoDUTbjyMpT1tGNl4eIVoGuMGcOZqS7vItKiWDS3eOtkqQYLq4
         W5F1Lun7lOEdLiRz/49QCHdzfh5ekx/UGdv2qISgDTPGmsfgbxXQAmBvsL2ZIyJ1H6CW
         pfszVGxy429GjuBvCfx2kALgHPEfEv3zDNDb4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759532041; x=1760136841;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=mWok3/ERT2Kd1oqFiPyrt4RuQmQhVZTmRdQZKV98WJM=;
        b=lgVEmH91hMh+6ymqDklLMRi5U/InN6zH1RsW+usYQZt5/hQ1JfdPr/DKfJoPy6iMHm
         lxnUAKSIdNxpSHmc1jFCtrqArftpQFn4uc3phngcdemXnv2lAYqibeWoOqqewUtxMXOh
         eIe8YtTj3j1iM34QBIfQ2LXv/D8Q4MdcjRyvyl974ZiF2WT4wVY8plkOFCkJdMf4JHmQ
         1SlOL6PWbZkZqtdXsBxT/BnavLrxgnc8IooBu+pEOCIygToO+vtDpSkwtWVTyRS+2PRZ
         4i+aL6AK7k3ds/0PrSncg6SrD/Zsp/ftNQhzyzJhXaqcDGxVL92Vd35aw5r/unryww9l
         dqpw==
X-Gm-Message-State: AOJu0Ywo+jZ9dYLFy79Halx8taMk4E5vRUSYLfZTQNj9zkP9+uL/WTT3
	i5L4Gx+8obE8DDRKj5vG+HV+aLhk1VarMyVSCpqWPLPKkxdEyFyVAczXBt/qqLsjR5GXBqdNr49
	8pHlBDDfX0A==
X-Gm-Gg: ASbGncszh3DTvTnmteA2bdLFzGyVMkGVQIpAQm6I3Hyrp7VlV/eQBzcWegXIEPI/JUh
	yX/Ufh/RuQUgRw9iSr32SjCDdIZRNvtFDYhoRa/8IapzGp2cS4dGKT7sgeYBQlV4TRRMxyco1aQ
	Edo4tnY+eVKaOFfYvell5VxeiSaSEikuDemc+5xVc8N+w5WrgHF9KmuQfcU67oTm9H5K8phnYaq
	cNSzFUZRkKmJI20Lq/cQxQYsqmdqNe05pRSGRDISNkSkBnesKqqxYteDyV/gOIPj7rAgpzS19xB
	xLM5gO/jM8ETAsnBc4Qg0LcS87IW/XnamEKOhQx6jGcC9ZhzsnXwi1IQdH5/wYg8OFQxGZ/sCK6
	EL1Hr1pHLuiCbyjk4d3/UbkCvSVtnBRgLnxn/HlSYPH4cFztSG6oMBrKINjDVBvn/R1YMz7dWlw
	fMMbJxaLO6Ax/w4cDMc1JxOwakp+ka2MY=
X-Google-Smtp-Source: AGHT+IGAlj9NvArVgrk3EIWYhVj9LhocWPo66bi9Ey3W4rHABnNTDyCv5iC1f+VVMdCI3V+43cm1vQ==
X-Received: by 2002:a5d:5d0b:0:b0:3fe:4fa2:8cdc with SMTP id ffacd0b85a97d-425671c3b54mr2819740f8f.60.1759532040804;
        Fri, 03 Oct 2025 15:54:00 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v3 17/22] x86/entry: Rework the comment about SYSCALL and DF
Date: Fri,  3 Oct 2025 23:53:29 +0100
Message-Id: <20251003225334.2123667-18-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
References: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

It's soon going to be needed in a second location.

Right now it's misleading saying that nothing else would be cleared.  It's
missing the more important point that SYSCALLs are treated like all other
interrupts and exceptions, and undergo normal flags handling there.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>

v2:
 * New
---
 xen/arch/x86/x86_64/entry.S | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/x86_64/entry.S b/xen/arch/x86/x86_64/entry.S
index 01b431793b7b..ca446c6ff0ce 100644
--- a/xen/arch/x86/x86_64/entry.S
+++ b/xen/arch/x86/x86_64/entry.S
@@ -39,10 +39,9 @@ FUNC_LOCAL(switch_to_kernel)
         leal  (,%rcx,TBF_INTERRUPT),%ecx
 
         /*
-         * The PV ABI hardcodes the (guest-inaccessible and virtual)
-         * SYSCALL_MASK MSR such that DF (and nothing else) would be cleared.
-         * Note that the equivalent of IF (VGCF_syscall_disables_events) is
-         * dealt with separately above.
+         * The PV ABI, given no virtual SYSCALL_MASK, hardcodes that DF is
+         * cleared.  Other flags are handled in the same way as interrupts and
+         * exceptions in create_bounce_frame().
          */
         mov   $~X86_EFLAGS_DF, %esi
 
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Oct 03 22:56:10 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Oct 2025 22:56:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1137010.1473481 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4oh8-0005Gu-3W; Fri, 03 Oct 2025 22:56:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1137010.1473481; Fri, 03 Oct 2025 22:56:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4oh7-0005Gk-Tl; Fri, 03 Oct 2025 22:56:09 +0000
Received: by outflank-mailman (input) for mailman id 1137010;
 Fri, 03 Oct 2025 22:56:07 +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
 <SRS0=WVFT=4M=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v4ofF-0004mK-Ax
 for xen-devel@lists.xenproject.org; Fri, 03 Oct 2025 22:54:13 +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 ddf65ebb-a0ab-11f0-9809-7dc792cee155;
 Sat, 04 Oct 2025 00:54:07 +0200 (CEST)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-46e504975dbso16982345e9.1
 for <xen-devel@lists.xenproject.org>; Fri, 03 Oct 2025 15:54:07 -0700 (PDT)
Received: from localhost.localdomain (host-92-22-57-86.as13285.net.
 [92.22.57.86]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4255d8a6bbesm9616571f8f.12.2025.10.03.15.54.05
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 03 Oct 2025 15:54:06 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ddf65ebb-a0ab-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1759532046; x=1760136846; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=K2jmA55hxQIRybSi+QXhuQx18AD/+63g0N2r29v59ko=;
        b=sXKezuC96MrzHZ8kG8R3AkqnGnDqmT+nIOunz5rWDOuQLoX6hD11yw8vQ1wDLlFJA+
         nOj2xLT19aIcSUu21koaSEhlb41aw3uTJtQRrSbqT9fXSN3rWmo5kcfov9G0T6tpZr8E
         GaNYLAl55infnT1JpmZXNKF5rGrxsPrZV5H1g=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759532046; x=1760136846;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=K2jmA55hxQIRybSi+QXhuQx18AD/+63g0N2r29v59ko=;
        b=e7okFuMY9oLoKCScmg/4ISxvR0pOdi1LWj4iZGeQUItzfu5R9w/kPBDXJWx7jD+Vq5
         pX91DyOfNzDMMmGhD5aSD+Dx2/6LbmgJRdaDX1whAQjzT4zYhb5H34uJLc9Wd1m+Q24S
         /p/ejD1srUkUg7YARsMU9+Iw2B2k4A3e7HSeszJ7RMnQu5OhCwMzmowVoZudjPn5AP52
         ZP8yuDagHx+gttw/Q1D4Ug1s56ImcRkLIZA3g+ohkteVAPPKbJyTj+O+BCH7aYw6Pebz
         M0Ytr/YF+xjKPbq/O+M8esvjIKPGZXp3C9bnX/cF7xp6dMmMr9XID/Sm/AGFPqR7QVM/
         rS3w==
X-Gm-Message-State: AOJu0YyDgC1Y/FGA5EmD726S0MzWsAwVtqBHPaThzRejsK6Fc6Hu0xa2
	i0pQV6yzZSZ/v6vHyobXqxkc47ZERuSDQj2/bZeQbA75du43f39LWek0XSYZuJF4f0WmnCqPE5Y
	XUttalx7xow==
X-Gm-Gg: ASbGncvzQVjGRggkuloUeJm8qkEI4VNSahDAlpqeZuHTReaKa02MIVtJ1wcOlhu4Kha
	r/8XBuQfkEKZXpwpJ9caloCaJX5hPPUFgnCch9YuHauupKU9RHQ177hj4lxyNAA3De56cHOZAUY
	UajxRdb7sKx8lxvRQ8W/hch54itEaHKuezWf8G2+OwNt9i8e+a87q/rIhU10aYM6kEFZDquTaSE
	qTtTN1+K4Q9IQVi0RnIFtB3aI+Uu6ilG4889oOcl6CocffY2Pse/Wxup+hSIZ66x7yUgPxQs62B
	N4yjo2NIf3fKJ8J25szoXWaTp18iSj+l8CSuEDfXdc0aSq8OYMFkCpvGAmh2u3VyEDmGk48UmGW
	LZ0lD7G7vZYWHE4iNvxixjv8WgIC7dQL0D7Q4tw4DgA2F/fWALN5SrBh889vlLdeHe/PtIH9Gzi
	CUHRtVGlqdj/dMYKqENy4dRiLjzNn9+80=
X-Google-Smtp-Source: AGHT+IER8+bmuMbdjcD97+5cotGEKUK5WaBZmZaquXW1IzNe26x9Hzq0KqVwDRfOBxcOXNEFRJ9Dog==
X-Received: by 2002:a05:6000:616:b0:3ec:ea73:a94d with SMTP id ffacd0b85a97d-425671c0be5mr2758662f8f.37.1759532046511;
        Fri, 03 Oct 2025 15:54:06 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v3 21/22] x86/pv: System call handling in FRED mode
Date: Fri,  3 Oct 2025 23:53:33 +0100
Message-Id: <20251003225334.2123667-22-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
References: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Under FRED, entry_from_pv() handles everything, even system calls.  This means
more of our logic is written in C now, rather than assembly.

In order to facilitate this, introduce pv_inject_callback(), which reuses
struct trap_bounce infrastructure to inject the syscall/sysenter callbacks.
This in turns requires some !PV compatibility for pv_inject_callback() and
pv_hypercall() which can both be ASSERT_UNREACHABLE().

For each of INT $N, SYSCALL and SYSENTER, FRED gives us interrupted context
which was previously lost.  As the guest can't see FRED, Xen has to lose state
in the same way to maintain the prior behaviour.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>

v3:
 * Simplify DCE handling.
 * Add ASSERT_UNREACHABLE() to pv_inject_callback().
 * Adjust comment for X86_ET_SW_INT

v2:
 * New
---
 xen/arch/x86/include/asm/domain.h    |   2 +
 xen/arch/x86/include/asm/hypercall.h |   2 -
 xen/arch/x86/pv/traps.c              |  39 ++++++++++
 xen/arch/x86/traps.c                 | 110 +++++++++++++++++++++++++++
 4 files changed, 151 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/include/asm/domain.h b/xen/arch/x86/include/asm/domain.h
index 5df8c7825333..828f42c3e448 100644
--- a/xen/arch/x86/include/asm/domain.h
+++ b/xen/arch/x86/include/asm/domain.h
@@ -710,6 +710,8 @@ void arch_vcpu_regs_init(struct vcpu *v);
 struct vcpu_hvm_context;
 int arch_set_info_hvm_guest(struct vcpu *v, const struct vcpu_hvm_context *ctx);
 
+void pv_inject_callback(unsigned int type);
+
 #ifdef CONFIG_PV
 void pv_inject_event(const struct x86_event *event);
 #else
diff --git a/xen/arch/x86/include/asm/hypercall.h b/xen/arch/x86/include/asm/hypercall.h
index f6e9e2313b3c..ded3c24d40e2 100644
--- a/xen/arch/x86/include/asm/hypercall.h
+++ b/xen/arch/x86/include/asm/hypercall.h
@@ -18,9 +18,7 @@
 
 #define __HYPERVISOR_paging_domctl_cont __HYPERVISOR_arch_1
 
-#ifdef CONFIG_PV
 void pv_hypercall(struct cpu_user_regs *regs);
-#endif
 
 void pv_ring1_init_hypercall_page(void *ptr);
 void pv_ring3_init_hypercall_page(void *ptr);
diff --git a/xen/arch/x86/pv/traps.c b/xen/arch/x86/pv/traps.c
index c3c0976c440f..00de03412639 100644
--- a/xen/arch/x86/pv/traps.c
+++ b/xen/arch/x86/pv/traps.c
@@ -19,6 +19,8 @@
 #include <asm/shared.h>
 #include <asm/traps.h>
 
+#include <public/callback.h>
+
 void pv_inject_event(const struct x86_event *event)
 {
     struct vcpu *curr = current;
@@ -95,6 +97,43 @@ void pv_inject_event(const struct x86_event *event)
     }
 }
 
+void pv_inject_callback(unsigned int type)
+{
+    struct vcpu *curr = current;
+    struct trap_bounce *tb = &curr->arch.pv.trap_bounce;
+    unsigned long rip;
+    bool irq;
+
+    ASSERT(is_pv_64bit_vcpu(curr));
+
+    switch ( type )
+    {
+    case CALLBACKTYPE_syscall:
+        rip = curr->arch.pv.syscall_callback_eip;
+        irq = curr->arch.pv.vgc_flags & VGCF_syscall_disables_events;
+        break;
+
+    case CALLBACKTYPE_syscall32:
+        rip = curr->arch.pv.syscall32_callback_eip;
+        irq = curr->arch.pv.syscall32_disables_events;
+        break;
+
+    case CALLBACKTYPE_sysenter:
+        rip = curr->arch.pv.sysenter_callback_eip;
+        irq = curr->arch.pv.sysenter_disables_events;
+        break;
+
+    default:
+        ASSERT_UNREACHABLE();
+        rip = 0;
+        irq = false;
+        break;
+    }
+
+    tb->flags = TBF_EXCEPTION | (irq ? TBF_INTERRUPT : 0);
+    tb->eip = rip;
+}
+
 /*
  * Called from asm to set up the MCE trapbounce info.
  * Returns false no callback is set up, else true.
diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index 955cff32d75f..5f89928d8128 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -18,6 +18,7 @@
 #include <xen/delay.h>
 #include <xen/domain_page.h>
 #include <xen/guest_access.h>
+#include <xen/hypercall.h>
 #include <xen/init.h>
 #include <xen/mm.h>
 #include <xen/paging.h>
@@ -52,6 +53,8 @@
 #include <asm/uaccess.h>
 #include <asm/xenoprof.h>
 
+#include <public/callback.h>
+
 /*
  * opt_nmi: one of 'ignore', 'dom0', or 'fatal'.
  *  fatal:  Xen prints diagnostic message and then hangs.
@@ -2267,6 +2270,7 @@ void asmlinkage check_ist_exit(const struct cpu_user_regs *regs, bool ist_exit)
 void asmlinkage entry_from_pv(struct cpu_user_regs *regs)
 {
     struct fred_info *fi = cpu_regs_fred_info(regs);
+    struct vcpu *curr = current;
     uint8_t type = regs->fred_ss.type;
     uint8_t vec = regs->fred_ss.vector;
 
@@ -2306,6 +2310,30 @@ void asmlinkage entry_from_pv(struct cpu_user_regs *regs)
 
     switch ( type )
     {
+    case X86_ET_SW_INT:
+        /*
+         * For better or worse, Xen writes IDT vectors 3 and 4 with DPL3 (so
+         * INT3/INTO work), making INT $3/4 indistinguishable, and the guest
+         * choice of DPL for these vectors is ignored.
+         *
+         * Have them fall through into X86_ET_HW_EXC, as #BP in particular
+         * needs handling by do_int3() in case an external debugger is
+         * attached.
+         */
+        if ( vec != X86_EXC_BP && vec != X86_EXC_OF )
+        {
+            const struct trap_info *ti = &curr->arch.pv.trap_ctxt[vec];
+
+            if ( permit_softint(TI_GET_DPL(ti), curr, regs) )
+                pv_inject_sw_interrupt(vec);
+            else
+            {
+                regs->rip -= 2;
+                pv_inject_hw_exception(X86_EXC_GP, (vec << 3) | X86_XEC_IDT);
+            }
+            break;
+        }
+        fallthrough;
     case X86_ET_HW_EXC:
     case X86_ET_PRIV_SW_EXC:
     case X86_ET_SW_EXC:
@@ -2335,6 +2363,88 @@ void asmlinkage entry_from_pv(struct cpu_user_regs *regs)
         }
         break;
 
+    case X86_ET_OTHER:
+        switch ( regs->fred_ss.vector )
+        {
+        case 1: /* SYSCALL */
+        {
+            /*
+             * FRED delivery preserves the interrupted %cs/%ss, but previously
+             * SYSCALL lost the interrupted selectors, and SYSRET forced the
+             * use of the ones in MSR_STAR.
+             *
+             * The guest isn't aware of FRED, so recreate the legacy
+             * behaviour, including the guess of instruction length for
+             * faults.
+             *
+             * The non-FRED SYSCALL path sets TRAP_syscall in entry_vector to
+             * signal that SYSRET can be used, but this isn't relevant in FRED
+             * mode.
+             *
+             * When setting the selectors, clear all upper metadata again for
+             * backwards compatibility.  In particular fred_ss.swint becomes
+             * pend_DB on ERETx, and nothing else in the pv_hypercall() would
+             * clean up.
+             */
+            bool l = regs->fred_ss.l;
+
+            regs->ssx = l ? FLAT_KERNEL_SS   : FLAT_USER_SS32;
+            regs->csx = l ? FLAT_KERNEL_CS64 : FLAT_USER_CS32;
+
+            if ( guest_kernel_mode(curr, regs) )
+                pv_hypercall(regs);
+            else if ( (l ? curr->arch.pv.syscall_callback_eip
+                         : curr->arch.pv.syscall32_callback_eip) == 0 )
+            {
+                regs->rip -= 2;
+                pv_inject_hw_exception(X86_EXC_UD, X86_EVENT_NO_EC);
+            }
+            else
+            {
+                /*
+                 * The PV ABI, given no virtual SYSCALL_MASK, hardcodes that
+                 * DF is cleared.  Other flags are handled in the same way as
+                 * interrupts and exceptions in create_bounce_frame().
+                 */
+                regs->eflags &= ~X86_EFLAGS_DF;
+                pv_inject_callback(l ? CALLBACKTYPE_syscall
+                                     : CALLBACKTYPE_syscall32);
+            }
+            break;
+        }
+
+        case 2: /* SYSENTER */
+            /*
+             * FRED delivery preserves the interrupted state, but previously
+             * SYSENTER discarded almost everything.
+             *
+             * The guest isn't aware of FRED, so recreate the legacy
+             * behaviour, including the guess of instruction length for
+             * faults.
+             *
+             * When setting the selectors, clear all upper metadata.  In
+             * particular fred_ss.swint becomes pend_DB on ERETx.
+             */
+            regs->ssx = FLAT_USER_SS;
+            regs->rsp = 0;
+            regs->eflags &= ~(X86_EFLAGS_VM | X86_EFLAGS_IF);
+            regs->csx = 3;
+            regs->rip = 0;
+
+            if ( !curr->arch.pv.sysenter_callback_eip )
+            {
+                regs->rip -= 2;
+                pv_inject_hw_exception(X86_EXC_GP, 0);
+            }
+            else
+                pv_inject_callback(CALLBACKTYPE_sysenter);
+            break;
+
+        default:
+            goto fatal;
+        }
+        break;
+
     default:
         goto fatal;
     }
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Oct 03 22:56:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Oct 2025 22:56:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1137041.1473491 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4ohD-0005nQ-Ds; Fri, 03 Oct 2025 22:56:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1137041.1473491; Fri, 03 Oct 2025 22:56:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4ohD-0005nJ-AE; Fri, 03 Oct 2025 22:56:15 +0000
Received: by outflank-mailman (input) for mailman id 1137041;
 Fri, 03 Oct 2025 22:56: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
 <SRS0=WVFT=4M=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v4ofH-0004mK-As
 for xen-devel@lists.xenproject.org; Fri, 03 Oct 2025 22:54:15 +0000
Received: from mail-wr1-x443.google.com (mail-wr1-x443.google.com
 [2a00:1450:4864:20::443])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id debd2545-a0ab-11f0-9809-7dc792cee155;
 Sat, 04 Oct 2025 00:54:08 +0200 (CEST)
Received: by mail-wr1-x443.google.com with SMTP id
 ffacd0b85a97d-3ecdf2b1751so1826319f8f.0
 for <xen-devel@lists.xenproject.org>; Fri, 03 Oct 2025 15:54:08 -0700 (PDT)
Received: from localhost.localdomain (host-92-22-57-86.as13285.net.
 [92.22.57.86]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4255d8a6bbesm9616571f8f.12.2025.10.03.15.54.06
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 03 Oct 2025 15:54:07 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: debd2545-a0ab-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1759532048; x=1760136848; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=sn6fXbvwyibf5aUodrVJm6JuvhOw4aWmGnw59RjgLws=;
        b=Ol1uOYN6iFH1Q9ePKse2G7AQDJ3LybFqAL1vtshiUm9TKxNhLXXSSa3/aqfROjeio1
         qx1U+TvZ9MVllMRDSOV0PSeKkffmKwtaIxqG74PcoN5zxuuyOEbKyz46X4WtdS1BfJp6
         bnd1fq6FQrhuzCYg4KZidbeAP0OvRSBqUyqdQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759532048; x=1760136848;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=sn6fXbvwyibf5aUodrVJm6JuvhOw4aWmGnw59RjgLws=;
        b=oySh1FH6Srg2wZpZmcaj2Avw8oj4Fw1kAHnawOI0ReWUUFxZkgcCcudBo+ccCMm8Uo
         o05OhQTsa9VlEwtj2dQKMb8g752bXaCwrqRzIbS2Gqi2zuW9DqAQdv7l7m4eZnCl6Tb5
         pHyddNvt2ykiqgExTsvUPSjX7iJ8Udhrt60hlL8CjP5EtMSsqy+M6sM+ytVU8KQwL7Vb
         AxcD9D+5IKGhmqDukncveT3UQC4FDrbmC4jCyU+qwwylHMaOzHmCwDDTV3yg/4V0Qbvo
         2E4+JInFrKGzdJWoDqegD51FG7TIQfAb3LF1H0AIDzjacwfRbv9hutDzqb6LlLY4+M4+
         w6dg==
X-Gm-Message-State: AOJu0YxEiSSA4PigjhSS5P83rGT/6XAcj+1EEUfy21eMNZkYhvaihX36
	6z1v97YMGlyjk+dk3QZ8h8sMMYYXBDBMw4i0YrdWLpK9S+WUPcn9zQDvvbwTCtISo3Xh5MkIV2j
	LT3XAU7FOzC64
X-Gm-Gg: ASbGncuo5cPaUbnqm8NCsvkf/cyMvad9YYYtDPJDbM4be5pZMXHJi/BGlhIlamjdVyc
	mqvvDhRYS4Ngsq00H449+cp2Btvv7AyX66f1cMA1RSNg3evkMGzHhPzBqhnkhxDCORpIQ2Vr4pr
	tU3qDbz9BdQSo7VqliuhHPtXzn6SIWgCD4eKzd5r5mbm9y/0KQy+k141A05tQO0jnsfsZN+Y/Cr
	mqxKjcMtRxQ77WJ1ercYn+bFQk3TVRoNd0XfGQ1LIcbt4UxEBrk+7BJ9zqaJW3pogYsaD3J3z7R
	HnQSpZkXgnu5fFf/t14/bn1z3AR2eLmy4eIfb0w4chG/ADptLatGe0vzl9kxWDZKqaWuL51OZFI
	Exjn+wM7Xg/NemjBBtj/J555adhOzKAvs12cExDMXmysd4d/aQfPQ4UNQN1DlE/ciFZ6SG9HPRc
	er5Q7YNhLdLbN6vxJSR55X3TRpB5stoRU=
X-Google-Smtp-Source: AGHT+IHbMLuoC41nePwr7XwlQNRwJGW5DZ9YhlUUXU/U86EiWOUWA9oDMmV7RihOf5Z2HIlk4mA2ew==
X-Received: by 2002:a05:6000:402b:b0:3ea:6680:8fce with SMTP id ffacd0b85a97d-4256719383emr3027011f8f.48.1759532047882;
        Fri, 03 Oct 2025 15:54:07 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v3 22/22] x86: Clamp reserved bits in eflags more aggressively
Date: Fri,  3 Oct 2025 23:53:34 +0100
Message-Id: <20251003225334.2123667-23-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
References: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

ERETU, unlike IRET, requires the sticky-1 bit (bit 2) be set, and reserved
bits to be clear.  Notably this means that dom0_construct() must set
X86_EFLAGS_MBS it in order for a PV dom0 to start.

Xen has been overly lax with reserved bit handling.  Adjust
arch_set_info_guest*() and hypercall_iret() which consume flags to clamp the
reserved bits for all guest types.

This is a minor ABI change, but by the same argument as commit
9f892f84c279 ("x86/domctl: Stop using XLAT_cpu_user_regs()"), the reserved
bits would get clamped naturally by hardware when the vCPU is run.

This allows PV guests to start when Xen is using FRED mode.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>

v3:
 * Rewrite the commit message.
v2:
 * New

The handling of VM is complicated.

It turns out that it's simply ignored by IRET in Long Mode (i.e. clearing it
commit 0e47f92b0725 ("x86: force EFLAGS.IF on when exiting to PV guests")
wasn't actually necessary) but ERETU does care.

But, it's unclear how to handle this in in arch_set_info().  We must preserve
it for HVM guests (which can use vm86 mode).  PV32 has special handling but
only in hypercall_iret(), not in arch_set_info().
---
 xen/arch/x86/domain.c                | 4 ++--
 xen/arch/x86/hvm/domain.c            | 4 ++--
 xen/arch/x86/include/asm/x86-defns.h | 7 +++++++
 xen/arch/x86/pv/dom0_build.c         | 2 +-
 xen/arch/x86/pv/iret.c               | 8 +++++---
 5 files changed, 17 insertions(+), 8 deletions(-)

diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
index ce08f91be3af..423d0a6af4f3 100644
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -1273,7 +1273,7 @@ int arch_set_info_guest(
         v->arch.user_regs.rax               = c.nat->user_regs.rax;
         v->arch.user_regs.rip               = c.nat->user_regs.rip;
         v->arch.user_regs.cs                = c.nat->user_regs.cs;
-        v->arch.user_regs.rflags            = c.nat->user_regs.rflags;
+        v->arch.user_regs.rflags            = (c.nat->user_regs.rflags & X86_EFLAGS_ALL) | X86_EFLAGS_MBS;
         v->arch.user_regs.rsp               = c.nat->user_regs.rsp;
         v->arch.user_regs.ss                = c.nat->user_regs.ss;
         v->arch.pv.es                       = c.nat->user_regs.es;
@@ -1297,7 +1297,7 @@ int arch_set_info_guest(
         v->arch.user_regs.eax               = c.cmp->user_regs.eax;
         v->arch.user_regs.eip               = c.cmp->user_regs.eip;
         v->arch.user_regs.cs                = c.cmp->user_regs.cs;
-        v->arch.user_regs.eflags            = c.cmp->user_regs.eflags;
+        v->arch.user_regs.eflags            = (c.cmp->user_regs.eflags & X86_EFLAGS_ALL) | X86_EFLAGS_MBS;
         v->arch.user_regs.esp               = c.cmp->user_regs.esp;
         v->arch.user_regs.ss                = c.cmp->user_regs.ss;
         v->arch.pv.es                       = c.cmp->user_regs.es;
diff --git a/xen/arch/x86/hvm/domain.c b/xen/arch/x86/hvm/domain.c
index 048f29ae4911..1e874d598952 100644
--- a/xen/arch/x86/hvm/domain.c
+++ b/xen/arch/x86/hvm/domain.c
@@ -194,7 +194,7 @@ int arch_set_info_hvm_guest(struct vcpu *v, const struct vcpu_hvm_context *ctx)
         uregs->rsi    = regs->esi;
         uregs->rdi    = regs->edi;
         uregs->rip    = regs->eip;
-        uregs->rflags = regs->eflags;
+        uregs->rflags = (regs->eflags & X86_EFLAGS_ALL) | X86_EFLAGS_MBS;
 
         v->arch.hvm.guest_cr[0] = regs->cr0;
         v->arch.hvm.guest_cr[3] = regs->cr3;
@@ -245,7 +245,7 @@ int arch_set_info_hvm_guest(struct vcpu *v, const struct vcpu_hvm_context *ctx)
         uregs->rsi    = regs->rsi;
         uregs->rdi    = regs->rdi;
         uregs->rip    = regs->rip;
-        uregs->rflags = regs->rflags;
+        uregs->rflags = (regs->rflags & X86_EFLAGS_ALL) | X86_EFLAGS_MBS;
 
         v->arch.hvm.guest_cr[0] = regs->cr0;
         v->arch.hvm.guest_cr[3] = regs->cr3;
diff --git a/xen/arch/x86/include/asm/x86-defns.h b/xen/arch/x86/include/asm/x86-defns.h
index 0a0ba83de786..edeb0b4ff95a 100644
--- a/xen/arch/x86/include/asm/x86-defns.h
+++ b/xen/arch/x86/include/asm/x86-defns.h
@@ -27,6 +27,13 @@
     (X86_EFLAGS_CF | X86_EFLAGS_PF | X86_EFLAGS_AF |   \
      X86_EFLAGS_ZF | X86_EFLAGS_SF | X86_EFLAGS_OF)
 
+#define X86_EFLAGS_ALL                                          \
+    (X86_EFLAGS_ARITH_MASK | X86_EFLAGS_TF | X86_EFLAGS_IF |    \
+     X86_EFLAGS_DF | X86_EFLAGS_OF | X86_EFLAGS_IOPL |          \
+     X86_EFLAGS_NT | X86_EFLAGS_RF | X86_EFLAGS_VM |            \
+     X86_EFLAGS_AC | X86_EFLAGS_VIF | X86_EFLAGS_VIP |          \
+     X86_EFLAGS_ID)
+
 /*
  * Intel CPU flags in CR0
  */
diff --git a/xen/arch/x86/pv/dom0_build.c b/xen/arch/x86/pv/dom0_build.c
index 21158ce1812e..f9bbbea2ff70 100644
--- a/xen/arch/x86/pv/dom0_build.c
+++ b/xen/arch/x86/pv/dom0_build.c
@@ -1021,7 +1021,7 @@ static int __init dom0_construct(const struct boot_domain *bd)
     regs->rip = parms.virt_entry;
     regs->rsp = vstack_end;
     regs->rsi = vstartinfo_start;
-    regs->eflags = X86_EFLAGS_IF;
+    regs->eflags = X86_EFLAGS_IF | X86_EFLAGS_MBS;
 
     /*
      * We don't call arch_set_info_guest(), so some initialisation needs doing
diff --git a/xen/arch/x86/pv/iret.c b/xen/arch/x86/pv/iret.c
index d3a1fb2c685b..39ce316b8d91 100644
--- a/xen/arch/x86/pv/iret.c
+++ b/xen/arch/x86/pv/iret.c
@@ -80,8 +80,9 @@ long do_iret(void)
 
     regs->rip    = iret_saved.rip;
     regs->cs     = iret_saved.cs | 3; /* force guest privilege */
-    regs->rflags = ((iret_saved.rflags & ~(X86_EFLAGS_IOPL|X86_EFLAGS_VM))
-                    | X86_EFLAGS_IF);
+    regs->rflags = ((iret_saved.rflags & X86_EFLAGS_ALL &
+                     ~(X86_EFLAGS_IOPL | X86_EFLAGS_VM)) |
+                    X86_EFLAGS_IF | X86_EFLAGS_MBS);
     regs->rsp    = iret_saved.rsp;
     regs->ss     = iret_saved.ss | 3; /* force guest privilege */
 
@@ -143,7 +144,8 @@ int compat_iret(void)
     if ( VM_ASSIST(v->domain, architectural_iopl) )
         v->arch.pv.iopl = eflags & X86_EFLAGS_IOPL;
 
-    regs->eflags = (eflags & ~X86_EFLAGS_IOPL) | X86_EFLAGS_IF;
+    regs->eflags = ((eflags & X86_EFLAGS_ALL & ~X86_EFLAGS_IOPL) |
+                    X86_EFLAGS_IF | X86_EFLAGS_MBS);
 
     if ( unlikely(eflags & X86_EFLAGS_VM) )
     {
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Oct 03 22:56:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Oct 2025 22:56:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1137043.1473501 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4ohE-00064j-L5; Fri, 03 Oct 2025 22:56:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1137043.1473501; Fri, 03 Oct 2025 22:56:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4ohE-00064a-GX; Fri, 03 Oct 2025 22:56:16 +0000
Received: by outflank-mailman (input) for mailman id 1137043;
 Fri, 03 Oct 2025 22:56:15 +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
 <SRS0=WVFT=4M=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v4of8-0004mF-9C
 for xen-devel@lists.xenproject.org; Fri, 03 Oct 2025 22:54:06 +0000
Received: from mail-wr1-x431.google.com (mail-wr1-x431.google.com
 [2a00:1450:4864:20::431])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dcbe6d48-a0ab-11f0-9d14-b5c5bf9af7f9;
 Sat, 04 Oct 2025 00:54:05 +0200 (CEST)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-3b9edf4cf6cso2056662f8f.3
 for <xen-devel@lists.xenproject.org>; Fri, 03 Oct 2025 15:54:05 -0700 (PDT)
Received: from localhost.localdomain (host-92-22-57-86.as13285.net.
 [92.22.57.86]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4255d8a6bbesm9616571f8f.12.2025.10.03.15.54.03
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 03 Oct 2025 15:54:03 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dcbe6d48-a0ab-11f0-9d14-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1759532044; x=1760136844; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=6XTD7h2Ab6a+CORJxr33+ND6CJ87jCU42y3vBojuyiI=;
        b=QIhTsC7askTFAkRtIfBqGq+2dUtdATmX4hs02LbH7CrS+OUVkSZe0LjdcPODz+gePp
         44cq8JA2AMZlmcdQAErV1V/Amhc9zllz9gpPp2PxoYOTC63Xh01lYnOOL5e7kHjsdWZT
         VEhVuqTNO/0T7Lll9kEPzd8Cw/6QyFFVUcBnc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759532044; x=1760136844;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=6XTD7h2Ab6a+CORJxr33+ND6CJ87jCU42y3vBojuyiI=;
        b=lUjnp4Dp/KsJS6ZsTCvus5kIhc+sqT9UrrRDj1Mgxan5+Qw2y6m/WpF9ZO824YtMAP
         kAYIWgL3X18M1BEE1I2VEp7WbNwlep0hRiN/HsSqaZxfSTgH3wPD0uzreWK0dqfYP957
         Km0XSvrGFtmkJQqiq9hMMs2JgAdyOaTlzJuaWYnTHONzzfFDBWuujTNywYcNPwhyfWRZ
         NM/ED/102QWMfjnCM8PaEaVJDtO0qdRkwLgPI4SDnVuOQyZb83d5BOlnHY8+3ro787ce
         RaS0Wa15JyAd1ws/v8fZqMFPkNlv4dLTyZjevjEN6t+s2qAkCxFWAVGTuzv+b91Me/yn
         mw6A==
X-Gm-Message-State: AOJu0YxpQbVoC/qZVdpUwRvSZ13KXSc7PMN9YO3THYp3bL67BXVocczr
	HuW1e3CmS2q/ip+ws8nWWb5uJ76X35RKtI4WriXt986xNFfbyoACI1JZuHntGB2IyrGzurLwAJF
	WT9It/sSbKA==
X-Gm-Gg: ASbGnctzUIWRmxrAoIsMKkNbm6tVsJrkctb8/eFfXWa18hRO26KEr79uPELs7wjOxxF
	aqYY5q232d/VQlb1JzR/7K/A37fN0V48DDv4gGn1A0elWYaa3cni5JyvrZvbmf/U1Ay45y/vsZt
	PpswL+oD/ya6XfYfaP4UbSdQtNcUG91TUNjzEIpPbcg7a+21nU6ZEMZ9xYjj19fu2Icv1ABMzg1
	fGWbyztDozWCZUASa2khe69OtUVJZpcymGIhsSGR7530+7lohULYShfBv02EXropqJ+YY994xY4
	SZfzDLwbCk9ZmhAtAlKMy/Wf/1WY1nqb+e+fKN2jiZR+3r0UpLfzfh6sTMDiYtkgK2kiprXGojL
	qaIByPs5MgvHuZ5+VpZvqRcEAbWRr0jwAbcQscFy47DkEVSOZPJDFlghzcxFnOdIFgxi3V4YzDT
	0KAA2y2BrdKg1rQf6kyEru66+z6B8K47A=
X-Google-Smtp-Source: AGHT+IGOcfyNSZTubcAKC8WOfHT1jDZKuYz6MiU79gd8rsVFJtwdlf4g6w6Cc3Jl4HKHfY0WPVGuLg==
X-Received: by 2002:a05:6000:288a:b0:3ee:1233:4681 with SMTP id ffacd0b85a97d-4256715327emr3150252f8f.23.1759532044330;
        Fri, 03 Oct 2025 15:54:04 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v3 19/22] x86/pv: Guest exception handling in FRED mode
Date: Fri,  3 Oct 2025 23:53:31 +0100
Message-Id: <20251003225334.2123667-20-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
References: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Under FRED, entry_from_pv() handles everything.  To start with, implement
exception handling in the same manner as entry_from_xen(), although we can
unconditionally enable interrupts after the async/fatal events.

After entry_from_pv() returns, test_all_events() needs to run to perform
exception and interrupt injection.  Split entry_FRED_R3() into two and
introduce eretu_exit_to_guest() as the latter half, coming unilaterally from
restore_all_guest().

For all of this, there is a slightly complicated relationship with CONFIG_PV.
entry_FRED_R3() must exist irrespective of CONFIG_PV, because it's the
entrypoint registered with hardware.  For simplicity, entry_from_pv() is
always called, but it collapses into fatal_trap() in the !PV case.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>

v3:
 * Adjust comments.
 * Group CP with others.  It's definitely wrong for perf, but that's out the
   window anyway now that we're letting a compiler make the decision tree.
v2:
 * New
---
 xen/arch/x86/traps.c             | 75 +++++++++++++++++++++++++++++++-
 xen/arch/x86/x86_64/entry-fred.S | 13 +++++-
 xen/arch/x86/x86_64/entry.S      |  4 +-
 3 files changed, 89 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index 0027f096a6c3..3f7db11c247b 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -2266,9 +2266,82 @@ void asmlinkage check_ist_exit(const struct cpu_user_regs *regs, bool ist_exit)
 
 void asmlinkage entry_from_pv(struct cpu_user_regs *regs)
 {
+    struct fred_info *fi = cpu_regs_fred_info(regs);
+    uint8_t type = regs->fred_ss.type;
+    uint8_t vec = regs->fred_ss.vector;
+
     /* Copy fred_ss.vector into entry_vector as IDT delivery would have done. */
-    regs->entry_vector = regs->fred_ss.vector;
+    regs->entry_vector = vec;
+
+    if ( !IS_ENABLED(CONFIG_PV) )
+        goto fatal;
+
+    /*
+     * First, handle the asynchronous or fatal events.  These are either
+     * unrelated to the interrupted context, or may not have valid context
+     * recorded, and all have special rules on how/whether to re-enable IRQs.
+     */
+    switch ( type )
+    {
+    case X86_ET_EXT_INTR:
+        return do_IRQ(regs);
+
+    case X86_ET_NMI:
+        return do_nmi(regs);
+
+    case X86_ET_HW_EXC:
+        switch ( vec )
+        {
+        case X86_EXC_DF: return do_double_fault(regs);
+        case X86_EXC_MC: return do_machine_check(regs);
+        }
+        break;
+    }
+
+    /*
+     * With the asynchronous events handled, what remains are the synchronous
+     * ones.  PV guest context always had interrupts enabled.
+     */
+    local_irq_enable();
+
+    switch ( type )
+    {
+    case X86_ET_HW_EXC:
+    case X86_ET_PRIV_SW_EXC:
+    case X86_ET_SW_EXC:
+        switch ( vec )
+        {
+        case X86_EXC_PF:  handle_PF(regs, fi->edata); break;
+        case X86_EXC_GP:  do_general_protection(regs); break;
+        case X86_EXC_UD:  do_invalid_op(regs); break;
+        case X86_EXC_NM:  do_device_not_available(regs); break;
+        case X86_EXC_BP:  do_int3(regs); break;
+        case X86_EXC_DB:  handle_DB(regs, fi->edata); break;
+        case X86_EXC_CP:  do_entry_CP(regs); break;
+
+        case X86_EXC_DE:
+        case X86_EXC_OF:
+        case X86_EXC_BR:
+        case X86_EXC_NP:
+        case X86_EXC_SS:
+        case X86_EXC_MF:
+        case X86_EXC_AC:
+        case X86_EXC_XM:
+            do_trap(regs);
+            break;
 
+        default:
+            goto fatal;
+        }
+        break;
+
+    default:
+        goto fatal;
+    }
+
+    return;
+
+ fatal:
     fatal_trap(regs, false);
 }
 
diff --git a/xen/arch/x86/x86_64/entry-fred.S b/xen/arch/x86/x86_64/entry-fred.S
index 3c3320df22cb..a1ff9a4a9747 100644
--- a/xen/arch/x86/x86_64/entry-fred.S
+++ b/xen/arch/x86/x86_64/entry-fred.S
@@ -15,9 +15,20 @@ FUNC(entry_FRED_R3, 4096)
         mov     %rsp, %rdi
         call    entry_from_pv
 
+#ifdef CONFIG_PV
+        GET_STACK_END(14)
+        movq    STACK_CPUINFO_FIELD(current_vcpu)(%r14), %rbx
+
+        jmp     test_all_events
+#else
+        BUG     /* Not Reached */
+#endif
+END(entry_FRED_R3)
+
+FUNC(eretu_exit_to_guest)
         POP_GPRS
         eretu
-END(entry_FRED_R3)
+END(eretu_exit_to_guest)
 
         /* The Ring0 entrypoint is at Ring3 + 0x100. */
         .org entry_FRED_R3 + 0x100, 0xcc
diff --git a/xen/arch/x86/x86_64/entry.S b/xen/arch/x86/x86_64/entry.S
index ca446c6ff0ce..0692163faa44 100644
--- a/xen/arch/x86/x86_64/entry.S
+++ b/xen/arch/x86/x86_64/entry.S
@@ -63,7 +63,7 @@ UNLIKELY_END(syscall_no_callback)
         /* Conditionally clear DF */
         and   %esi, UREGS_eflags(%rsp)
 /* %rbx: struct vcpu */
-test_all_events:
+LABEL(test_all_events, 0)
         ASSERT_NOT_IN_ATOMIC
         cli                             # tests must not race interrupts
 /*test_softirqs:*/
@@ -152,6 +152,8 @@ END(switch_to_kernel)
 FUNC_LOCAL(restore_all_guest)
         ASSERT_INTERRUPTS_DISABLED
 
+        ALTERNATIVE "", "jmp eretu_exit_to_guest", X86_FEATURE_XEN_FRED
+
         /* Stash guest SPEC_CTRL value while we can read struct vcpu. */
         mov VCPU_arch_msrs(%rbx), %rdx
         mov VCPUMSR_spec_ctrl_raw(%rdx), %r15d
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Oct 03 22:56:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Oct 2025 22:56:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1137055.1473512 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4ohH-0006Ra-1d; Fri, 03 Oct 2025 22:56:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1137055.1473512; Fri, 03 Oct 2025 22:56:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4ohG-0006RL-QW; Fri, 03 Oct 2025 22:56:18 +0000
Received: by outflank-mailman (input) for mailman id 1137055;
 Fri, 03 Oct 2025 22:56:17 +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
 <SRS0=WVFT=4M=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v4ofA-0004mK-9q
 for xen-devel@lists.xenproject.org; Fri, 03 Oct 2025 22:54:08 +0000
Received: from mail-wr1-x444.google.com (mail-wr1-x444.google.com
 [2a00:1450:4864:20::444])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dbe96831-a0ab-11f0-9809-7dc792cee155;
 Sat, 04 Oct 2025 00:54:03 +0200 (CEST)
Received: by mail-wr1-x444.google.com with SMTP id
 ffacd0b85a97d-3ee12332f3dso2347181f8f.2
 for <xen-devel@lists.xenproject.org>; Fri, 03 Oct 2025 15:54:03 -0700 (PDT)
Received: from localhost.localdomain (host-92-22-57-86.as13285.net.
 [92.22.57.86]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4255d8a6bbesm9616571f8f.12.2025.10.03.15.54.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 03 Oct 2025 15:54:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dbe96831-a0ab-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1759532043; x=1760136843; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Ce/veHiNQH7XIBxxQhrirY27AHnw8PAuWqqvFIesB+M=;
        b=TCXAKjJdbAKRpAxsJO4jVDsR3ArX7CKm4agt94bkEGihsvo0SOnI6xLulQ+BV0ropC
         /nkR1z4k4Nw5wnyKv2aucmnZbp/h+8ocq+NXp5YJzlRrOVG5uG/xjGO2/OahJq1lAFJl
         eyOLxqrAf2YB1HogTJouXBdUOaWNqMTJukGfs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759532043; x=1760136843;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Ce/veHiNQH7XIBxxQhrirY27AHnw8PAuWqqvFIesB+M=;
        b=BMNFLT7ddqN7ry2Wpel4/5hsi+YF6Wq6YmIyrEO3xGPQs30ZdzTSrCN2vgWHGlWI9W
         ec8ykLdnZUjm1Z+CjNgI3L/4lrVcsbeLjiMcE+FtimP2lu+SGx+aO1VtMZaHcBhUTPgI
         /FcyW0lj+vIzrFIIhejLu03mVNrQuQNS7kRcO7i4mMV2QSNNyOn5G8uFr+nDUgkwCxJ7
         bL/CCebewUxklNSoFBC4g21KurTCSJpyCtKzZz182DZr9RfCSY+YKgd+xdEh/R8F4rsa
         4elA6XNzA8AoEt5IbhC5y2QRzgVUCP9uTL0aAks1D5mgFXIvFYfI3qq/ilFOhLAkJOMq
         8sww==
X-Gm-Message-State: AOJu0Yw/s27Mo6M991hzusThTdWtPD/0uqJQpwXGpQD9mh8WA8DhPez8
	mooKfKIJJg2chvCqfS6yd/rr+r6qN02Wg6MYA3IwdRbby2etf93RQtuePN7jwPUbceTiOn4r9eO
	hXq6tQMw2fHzB
X-Gm-Gg: ASbGncsl7p8/vBT7fVQfc4dJp8B/5hxUNQroM9yyKc5ZeHRE9ZBti0ioXUqg7ZWOMu2
	sRX8VbYhnwKkLJK5guhDG8giour2DFUvbaSu+5uEixKRDmSWse4IicHgpqn58lT6E1RqcNdJBOr
	MumA0sm00lJvZFQEiBBkY0pmq9CCreGi2ddOnKMa75Glf3jAGKQIJ9RqFVrYNR6BhmNMJRisaQV
	n3YPOJlrs2uy+kFgWDRm6CeYUv3+nIb9SNI2sDzQF7tHOPeysZLx/w4jcbkZuBTeK/JsMWjnyPP
	d6QrRP+tGOklCTPLSDEzqX6ASHqw1ORgp3/U5lD/MM9FyOwqMaVyZ6P1Yme80cmI/wu5+LUJliS
	dqtRhhzWOtTJDIAnhLl7lrChYYH27yyGfjpoF1bb3/BcIEr0imaGEQAhzCSMj+ogJg5q4NG5/iq
	B6/vqX7xLI/usM4zzSvnaPGM4C+JCHWaw=
X-Google-Smtp-Source: AGHT+IFnm/X8LPCGnPd/A+pzm7HYTAVEUtlYINF/Zo5nS6xrAQpb2V3Ra5GfuNY8K39DQsv+h/QpcA==
X-Received: by 2002:a05:6000:2086:b0:3ea:63d:44c6 with SMTP id ffacd0b85a97d-42567194b16mr2975580f8f.35.1759532042908;
        Fri, 03 Oct 2025 15:54:02 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v3 18/22] x86/pv: Adjust GS handling for FRED mode
Date: Fri,  3 Oct 2025 23:53:30 +0100
Message-Id: <20251003225334.2123667-19-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
References: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

When FRED is active, hardware automatically swaps GS when changing privilege,
and the SWAPGS instruction is disallowed.

For native OSes using GS as the thread local pointer this is a massive
improvement on the pre-FRED architecture, but under Xen it makes handling PV
guests more complicated.  Specifically, it means that GS_BASE and GS_SHADOW
are the opposite way around in FRED mode, as opposed to IDT mode.

This leads to the following changes:

  * In load_segments(), we have to load both GSes.  Account for this in the
    SWAP() condition and avoid the path with SWAGS.

  * In save_segments(), we need to read GS_SHADOW rather than GS_BASE.

  * In toggle_guest_mode(), we need to emulate SWAPGS.

  * In do_set_segment_base(), merge the SEGBASE_GS_{USER,KERNEL} cases and
    take FRED into account when choosing which base to update.

    SEGBASE_GS_USER_SEL was already an LKGS invocation (decades before FRED)
    so under FRED needs to be just a MOV %gs.  Simply skip the SWAPGSes.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>

v3:
 * Rename things

v2:
 * New

I think this functions, but it's not ideal.  The conditions are asymmetric and
awkward.
---
 xen/arch/x86/domain.c             | 22 +++++++++++++++++-----
 xen/arch/x86/pv/domain.c          | 22 ++++++++++++++++++++--
 xen/arch/x86/pv/misc-hypercalls.c | 16 ++++++++++------
 3 files changed, 47 insertions(+), 13 deletions(-)

diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
index 8089ff929bf7..ce08f91be3af 100644
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -1819,9 +1819,10 @@ static void load_segments(struct vcpu *n)
 
         /*
          * Figure out which way around gsb/gss want to be.  gsb needs to be
-         * the active context, and gss needs to be the inactive context.
+         * the active context, and gss needs to be the inactive context,
+         * unless we're in FRED mode where they're reversed.
          */
-        if ( !(n->arch.flags & TF_kernel_mode) )
+        if ( !(n->arch.flags & TF_kernel_mode) ^ opt_fred )
             SWAP(gsb, gss);
 
         if ( using_svm() && (n->arch.pv.fs | n->arch.pv.gs) <= 3 )
@@ -1842,7 +1843,9 @@ static void load_segments(struct vcpu *n)
 
     if ( !fs_gs_done && !compat )
     {
-        if ( read_cr4() & X86_CR4_FSGSBASE )
+        unsigned long cr4 = read_cr4();
+
+        if ( !(cr4 & X86_CR4_FRED) && (cr4 & X86_CR4_FSGSBASE) )
         {
             __wrgsbase(gss);
             __wrfsbase(n->arch.pv.fs_base);
@@ -1959,6 +1962,9 @@ static void load_segments(struct vcpu *n)
  * Guests however cannot use SWAPGS, so there is no mechanism to modify the
  * inactive GS base behind Xen's back.  Therefore, Xen's copy of the inactive
  * GS base is still accurate, and doesn't need reading back from hardware.
+ *
+ * Under FRED, hardware automatically swaps GS for us, so SHADOW_GS is the
+ * active GS from the guest's point of view.
  */
 static void save_segments(struct vcpu *v)
 {
@@ -1974,12 +1980,18 @@ static void save_segments(struct vcpu *v)
         if ( read_cr4() & X86_CR4_FSGSBASE )
         {
             fs_base = __rdfsbase();
-            gs_base = __rdgsbase();
+            if ( opt_fred )
+                gs_base = rdmsr(MSR_SHADOW_GS_BASE);
+            else
+                gs_base = __rdgsbase();
         }
         else
         {
             fs_base = rdmsr(MSR_FS_BASE);
-            gs_base = rdmsr(MSR_GS_BASE);
+            if ( opt_fred )
+                gs_base = rdmsr(MSR_SHADOW_GS_BASE);
+            else
+                gs_base = rdmsr(MSR_GS_BASE);
         }
 
         v->arch.pv.fs_base = fs_base;
diff --git a/xen/arch/x86/pv/domain.c b/xen/arch/x86/pv/domain.c
index 9c4785c187dd..369af444c29b 100644
--- a/xen/arch/x86/pv/domain.c
+++ b/xen/arch/x86/pv/domain.c
@@ -14,9 +14,10 @@
 #include <asm/cpufeature.h>
 #include <asm/fsgsbase.h>
 #include <asm/invpcid.h>
-#include <asm/spec_ctrl.h>
 #include <asm/pv/domain.h>
 #include <asm/shadow.h>
+#include <asm/spec_ctrl.h>
+#include <asm/traps.h>
 
 #ifdef CONFIG_PV32
 int8_t __read_mostly opt_pv32 = -1;
@@ -480,11 +481,28 @@ void toggle_guest_mode(struct vcpu *v)
      * subsequent context switch won't bother re-reading it.
      */
     gs_base = read_gs_base();
+
+    /*
+     * In FRED mode, not only are the two GSes the other way around (i.e. we
+     * want to read GS_SHADOW here), the SWAPGS instruction is disallowed so
+     * we have to emulate it.
+     */
+    if ( opt_fred )
+    {
+        unsigned long gs_shadow = rdmsr(MSR_SHADOW_GS_BASE);
+
+        wrmsrns(MSR_SHADOW_GS_BASE, gs_base);
+        write_gs_base(gs_shadow);
+
+        gs_base = gs_shadow;
+    }
+    else
+        asm volatile ( "swapgs" );
+
     if ( v->arch.flags & TF_kernel_mode )
         v->arch.pv.gs_base_kernel = gs_base;
     else
         v->arch.pv.gs_base_user = gs_base;
-    asm volatile ( "swapgs" );
 
     _toggle_guest_pt(v);
 
diff --git a/xen/arch/x86/pv/misc-hypercalls.c b/xen/arch/x86/pv/misc-hypercalls.c
index 4c2abeb4add8..2c9cf50638db 100644
--- a/xen/arch/x86/pv/misc-hypercalls.c
+++ b/xen/arch/x86/pv/misc-hypercalls.c
@@ -11,6 +11,7 @@
 
 #include <asm/debugreg.h>
 #include <asm/fsgsbase.h>
+#include <asm/traps.h>
 
 long do_set_debugreg(int reg, unsigned long value)
 {
@@ -192,11 +193,12 @@ long do_set_segment_base(unsigned int which, unsigned long base)
 
         case SEGBASE_GS_USER:
             v->arch.pv.gs_base_user = base;
-            write_gs_shadow(base);
-            break;
-
+            fallthrough;
         case SEGBASE_GS_KERNEL:
-            write_gs_base(base);
+            if ( (which == SEGBASE_GS_KERNEL) ^ opt_fred )
+                write_gs_base(base);
+            else
+                write_gs_shadow(base);
             break;
         }
         break;
@@ -209,7 +211,8 @@ long do_set_segment_base(unsigned int which, unsigned long base)
          * We wish to update the user %gs from the GDT/LDT.  Currently, the
          * guest kernel's GS_BASE is in context.
          */
-        asm volatile ( "swapgs" );
+        if ( !opt_fred )
+            asm volatile ( "swapgs" );
 
         if ( sel > 3 )
             /* Fix up RPL for non-NUL selectors. */
@@ -247,7 +250,8 @@ long do_set_segment_base(unsigned int which, unsigned long base)
         /* Update the cache of the inactive base, as read from the GDT/LDT. */
         v->arch.pv.gs_base_user = read_gs_base();
 
-        asm volatile ( safe_swapgs );
+        if ( !opt_fred )
+            asm volatile ( safe_swapgs );
         break;
     }
 
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Oct 03 22:56:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Oct 2025 22:56:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1137091.1473522 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4ohO-0007F4-ED; Fri, 03 Oct 2025 22:56:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1137091.1473522; Fri, 03 Oct 2025 22:56:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4ohO-0007Dx-7w; Fri, 03 Oct 2025 22:56:26 +0000
Received: by outflank-mailman (input) for mailman id 1137091;
 Fri, 03 Oct 2025 22:56: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
 <SRS0=WVFT=4M=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v4ofB-0004mK-A8
 for xen-devel@lists.xenproject.org; Fri, 03 Oct 2025 22:54:09 +0000
Received: from mail-wm1-x341.google.com (mail-wm1-x341.google.com
 [2a00:1450:4864:20::341])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dd247d1e-a0ab-11f0-9809-7dc792cee155;
 Sat, 04 Oct 2025 00:54:06 +0200 (CEST)
Received: by mail-wm1-x341.google.com with SMTP id
 5b1f17b1804b1-45b4d89217aso17314265e9.2
 for <xen-devel@lists.xenproject.org>; Fri, 03 Oct 2025 15:54:06 -0700 (PDT)
Received: from localhost.localdomain (host-92-22-57-86.as13285.net.
 [92.22.57.86]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4255d8a6bbesm9616571f8f.12.2025.10.03.15.54.04
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 03 Oct 2025 15:54:04 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dd247d1e-a0ab-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1759532045; x=1760136845; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=WAM/JhGgwRbXnxpkX9BmZCueQhFCGHIiDKu4L8Kc5NI=;
        b=l+ocZeIZ7vHcWu6WaT7MfDWYXWo42Ht1hVndHlnC17zavjX+u7XhIevnEb6Ced6xLN
         KkBKPn6P4m34+8EikLU7FY9QdACP1T7xNTRXQkpx2C+SyqPwXKp5Yoo2WbkbkrZY/2au
         aD626tyTuShJHxRhVYZYW078kPCzGGKsfKgqg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759532045; x=1760136845;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=WAM/JhGgwRbXnxpkX9BmZCueQhFCGHIiDKu4L8Kc5NI=;
        b=WIBkLixK8g6awlNH+PtqplhMobx/YM5FyJ2vp2LilMZlj0rniFG9UxZvj5wqyCkUDg
         p7e2+KwVUfjzb4WP7/A2VjL7g3oCqMxfBk6F+8pJfPw0W9E0f9nvTjZZ6SDmM/xNzYMm
         Of5UGjdpBBkZp+l1mUDxa462nrjB63F+/R8zrSf3hMYiF//YjYwKK4kWxZ9BCNV5jeAX
         q7bGQq2sb/VTOBKPK5FZD6mWnxpOsF8xz0Gt/FU5gChkK85V/9IR0q0rMnpeDjaX+5Y/
         mDCuKfOkhhia3JKYYFRt06BaB/GhMMMK2TXK7UG/nq+Nnph/ohpSf+77MpO/BY4QRpGw
         btQQ==
X-Gm-Message-State: AOJu0Yx4L1bTvyFlQLq8ETKVF7P9pLCFRCpK+qkopguUz0CTIG3dO6a3
	njABXmDdw876RWJUnmLkI7uU0JOWRlkQQ6RRD0+GCX2IEUaCGVad556FZjEre/fk7R2VBGDIjp7
	X9sOK4E8rBbnJ
X-Gm-Gg: ASbGncs4goLPk59ySaGFnsukY33H7VGvymHO+bj48+Eo377Fw2mR9fJjIEaOAtmDJvF
	lDEcSgvyvB8nYJld2xtiymAubQR9Gs/OKg3Z2hbjgQn69fufUdhwko4dx4Sx4rJBrtQNy8dxkgK
	hiSyPtIY2LdfGri0ek3d8oPYo6dmU+lfDu6E6CIv6fALlcDRV12a+iybdGtS8VUWrq8tOLkgjjL
	4pm7Z5M4hkYPpvOAIjcln5KRgX971zYe0AuNBX8bs5MjTuOxUbIFwBQWcVXk0CfjQU79QZWgQj3
	PcfKpwZ2+0+usf1hTJtQDhzFbGmkVAV9QiB3Sg/jTOdP1Pm+/j3aQBGFFsBJIKIa8OTNmeuM1fL
	AvETTyEv4vMjnrvzilffgNXv/G8WXDBWN+L5P4HHmH99SIQMkb/T9okkLGqayKMJmvRsIlOYzoR
	/COCt3rQkVwQNBOOJcXKp3
X-Google-Smtp-Source: AGHT+IHf/5Lk7C3mfMNu6HKxbtLJZy158+oGM/lvWpJaZ1zxx5/FO9MKr26tOoQHviQmduexjGe1xg==
X-Received: by 2002:a5d:64e7:0:b0:3ff:d5c5:6b01 with SMTP id ffacd0b85a97d-42567135191mr2675741f8f.19.1759532045068;
        Fri, 03 Oct 2025 15:54:05 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v3 20/22] x86/pv: ERETU error handling
Date: Fri,  3 Oct 2025 23:53:32 +0100
Message-Id: <20251003225334.2123667-21-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
References: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

ERETU can fault for guest reasons, and like IRET needs special handling to
forward the error into the guest.

As this is largely written in C, take the opportunity to better classify the
sources of error, and in particilar, not forward errors that are actually
Xen's fault into the guest, opting for a domain crash instead.

Because ERETU does not enable NMIs if it faults, a corner case exists if an
NMI was taken while in guest context, and the ERETU back out faults.  Recovery
must involve an ERETS with the interrupted context's NMI flag.

See the comments for full details.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>

v2:
 * New
---
 xen/arch/x86/traps.c             | 115 +++++++++++++++++++++++++++++++
 xen/arch/x86/x86_64/entry-fred.S |  13 ++++
 2 files changed, 128 insertions(+)

diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index 3f7db11c247b..955cff32d75f 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -2345,6 +2345,113 @@ void asmlinkage entry_from_pv(struct cpu_user_regs *regs)
     fatal_trap(regs, false);
 }
 
+void nocall eretu_error_dom_crash(void);
+
+/*
+ * Classify an event at the ERETU instruction, and handle if possible.
+ * Returns @true if handled, @false if the event should continue down the
+ * normal handlers.
+ */
+static bool handle_eretu_event(struct cpu_user_regs *regs)
+{
+    unsigned long recover;
+
+    /*
+     * WARNING: The GPRs in gregs overlaps with regs.  Only gregs->error_code
+     *          and later are legitimate to access.
+     */
+    struct cpu_user_regs *gregs =
+        _p(regs->rsp - offsetof(struct cpu_user_regs, error_code));
+
+    /*
+     * The asynchronous or fatal events (INTR, NMI, #MC, #DF) have been dealt
+     * with, meaning we only have syncrhonous ones to consider.  Anything
+     * which isn't a hardware exception wants handling normally.
+     */
+    if ( regs->fred_ss.type != X86_ET_HW_EXC )
+        return false;
+
+    /*
+     * Guests are permitted to write non-present GDT/LDT entries.  Therefore
+     * #NP[sel] (%cs) and #SS[sel] (%ss) must be handled as guest errors.  The
+     * only other source of #SS is for a bad %ss-relative memory access in
+     * Xen, and if the stack is that bad, we'll have escalated to #DF.
+     *
+     * #PF can happen from ERETU accessing the GDT/LDT.  Xen may translate
+     * these into #GP for the guest, so must be handled as guest errors.  In
+     * theory we can get #PF for a bad instruction fetch or bad stack access,
+     * but either of these will be fatal and not end up here.
+     */
+    switch ( regs->fred_ss.vector )
+    {
+    case X86_EXC_GP:
+        /*
+         * #GP[0] can occur because of a NULL %cs or %ss (which are a guest
+         * error), but some #GP[0]'s are errors in Xen (ERETU at SL != 0), or
+         * errors of Xen handling guest state (bad metadata).  These magic
+         * numbers came from the FRED Spec; they check that ERETU is trying to
+         * return to Ring 3, and that reserved or inapplicable bits are 0.
+         */
+        if ( regs->error_code == 0 && (gregs->cs & ~3) && (gregs->ss & ~3) &&
+             (regs->fred_cs.sl != 0 ||
+              (gregs->csx    & 0xffffffffffff0003UL) != 3 ||
+              (gregs->rflags & 0xffffffffffc2b02aUL) != 2 ||
+              (gregs->ssx    &         0xfff80003UL) != 3) )
+        {
+            recover = (unsigned long)eretu_error_dom_crash;
+
+            if ( regs->fred_cs.sl )
+                gprintk(XENLOG_ERR, "ERETU at SL %u\n", regs->fred_cs.sl);
+            else
+                gprintk(XENLOG_ERR, "Bad return state: csx %#lx, rflags %#lx, ssx %#x\n",
+                        gregs->csx, gregs->rflags, (unsigned int)gregs->ssx);
+            break;
+        }
+        fallthrough;
+    case X86_EXC_NP:
+    case X86_EXC_SS:
+    case X86_EXC_PF:
+        recover = (unsigned long)entry_FRED_R3;
+        break;
+
+        /*
+         * Handle everything else normally.  #BP and #DB would be debugging
+         * activities in Xen.  In theory we can get #UD if CR4.FRED gets
+         * cleared, but in practice if that were the case we wouldn't be here
+         * handling the result.
+         */
+    default:
+        return false;
+    }
+
+    this_cpu(last_extable_addr) = regs->rip;
+
+    /*
+     * Everything else is recoverable, one way or another.
+     *
+     * If an NMI was taken in guest context and the ERETU faulted, NMIs will
+     * still be blocked.  Therefore we copy the interrupted frame's NMI status
+     * into our own, and must ERETS as part of recovery.
+     */
+    regs->fred_ss.nmi = gregs->fred_ss.nmi;
+
+    /*
+     * Next, copy the exception information from the current frame back onto
+     * the interrupted frame, preserving the interrupted frame's %cs and %ss.
+     */
+    *cpu_regs_fred_info(regs) = *cpu_regs_fred_info(gregs);
+    gregs->ssx = (regs->ssx & ~0xffff) | gregs->ss;
+    gregs->csx = (regs->csx & ~0xffff) | gregs->cs;
+    gregs->error_code   = regs->error_code;
+    gregs->entry_vector = regs->entry_vector;
+
+    fixup_exception_return(regs, recover, 0);
+
+    return true;
+}
+
+void nocall eretu(void);
+
 void asmlinkage entry_from_xen(struct cpu_user_regs *regs)
 {
     struct fred_info *fi = cpu_regs_fred_info(regs);
@@ -2383,6 +2490,14 @@ void asmlinkage entry_from_xen(struct cpu_user_regs *regs)
     if ( regs->eflags & X86_EFLAGS_IF )
         local_irq_enable();
 
+    /*
+     * An event taken at the ERETU instruction may be because of guest state
+     * and in that case will need special handling.
+     */
+    if ( unlikely(regs->rip == (unsigned long)eretu) &&
+         handle_eretu_event(regs) )
+        return;
+
     switch ( type )
     {
     case X86_ET_HW_EXC:
diff --git a/xen/arch/x86/x86_64/entry-fred.S b/xen/arch/x86/x86_64/entry-fred.S
index a1ff9a4a9747..2fa57beb930c 100644
--- a/xen/arch/x86/x86_64/entry-fred.S
+++ b/xen/arch/x86/x86_64/entry-fred.S
@@ -27,9 +27,22 @@ END(entry_FRED_R3)
 
 FUNC(eretu_exit_to_guest)
         POP_GPRS
+
+        /*
+         * Exceptions here are handled by redirecting either to
+         * entry_FRED_R3() (for an error to be passed to the guest), or to
+         * eretu_error_dom_crash() (for a Xen error handling guest state).
+         */
+LABEL(eretu, 0)
         eretu
 END(eretu_exit_to_guest)
 
+FUNC(eretu_error_dom_crash)
+        PUSH_AND_CLEAR_GPRS
+        sti
+        call    asm_domain_crash_synchronous  /* Does not return */
+END(eretu_error_dom_crash)
+
         /* The Ring0 entrypoint is at Ring3 + 0x100. */
         .org entry_FRED_R3 + 0x100, 0xcc
 
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Sat Oct 04 00:12:18 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 04 Oct 2025 00:12:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1137170.1473531 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4psa-0001Jp-O6; Sat, 04 Oct 2025 00:12:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1137170.1473531; Sat, 04 Oct 2025 00:12:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4psa-0001Ji-Kc; Sat, 04 Oct 2025 00:12:04 +0000
Received: by outflank-mailman (input) for mailman id 1137170;
 Sat, 04 Oct 2025 00:12:03 +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
 <SRS0=nOMw=4N=gmail.com=demiobenour@srs-se1.protection.inumbo.net>)
 id 1v4psY-0001Jc-SC
 for xen-devel@lists.xenproject.org; Sat, 04 Oct 2025 00:12:03 +0000
Received: from mail-yw1-x1135.google.com (mail-yw1-x1135.google.com
 [2607:f8b0:4864:20::1135])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bfa0d112-a0b6-11f0-9d14-b5c5bf9af7f9;
 Sat, 04 Oct 2025 02:12:01 +0200 (CEST)
Received: by mail-yw1-x1135.google.com with SMTP id
 00721157ae682-71d5fe46572so39818077b3.1
 for <xen-devel@lists.xenproject.org>; Fri, 03 Oct 2025 17:12:01 -0700 (PDT)
Received: from [10.138.34.110]
 (h96-60-249-169.cncrtn.broadband.dynamic.tds.net. [96.60.249.169])
 by smtp.gmail.com with ESMTPSA id
 00721157ae682-77f81e3bf58sm22424327b3.58.2025.10.03.17.11.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 03 Oct 2025 17:11:59 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bfa0d112-a0b6-11f0-9d14-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1759536720; x=1760141520; darn=lists.xenproject.org;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=gDMNou3YU4mY3NvENKciXzq0Q/gBiopuddgWQvvYINk=;
        b=cvHAves2V8C7TgLSRHXDkSNyHdQI6qDbgMcydFHg17SjI6GZRHyHSCKi2nTxfncSsl
         2Cs1JQevIhIEgZHrpeLUccgQFf1bm1KO3e4Z5SeU8zLTw01ZGJt8sOg47MVqUAPOdAo1
         KpjB0A7JCy6PlH+PWOFbY1ALV2kufoE8HFzyJjj+69hIDJmQm4k2SRI5YUZtJnLQwtIs
         8WYutxovXBcn2p2MsC6n73zxOBcxa4ysKdDvFtCQ5+IdLjLgEBWcaUiWNJRV+i5FPkR0
         JmBt0kDiBJ4xJloEyXvUo+Q4AdTHZsQPwOQpzyaPaRb+Klu+dDZNxACXr+FqHDwBX9HV
         TQXw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759536720; x=1760141520;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=gDMNou3YU4mY3NvENKciXzq0Q/gBiopuddgWQvvYINk=;
        b=vA5NGBJMDYUqxeWJvfDWzDRaFRxkadm+qyo9VPAUimCNFouZPEX0B7mICy3Qim2NGR
         WV0sBhlyuuTnPM+DBhtFJwyov1fyB1Q9H7mfYmwzjhlqk3WaYHCvknHir26ASFPEe8SB
         3RwV833Zp9Kvd/o6r7zz/Bp+Zs69XhkYZgsl+AVwrIUdgN2wW5ilVtiW+vKykbWER41J
         KmqhDuC6ZT4iiXbmjsx8ypxItKrlGBS5NjaeQ4FEq2GvL3Yrfd2INHVMmjHyoFBbQ7wk
         0ZZFF3+MVY68C7pbeM97DeodrTdbHrLh2MMXXpyAJDilqRD2B00VDpngFZOl+3pzNYl4
         9nYg==
X-Forwarded-Encrypted: i=1; AJvYcCXJK1rORskPAV7MjgviqsTFzyl7dSoXoHK/ZgaPiuD9kXkc8qw6Qp6XO4cn77+I8qHTDsGHGrphdyo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzmDrqJY7/s49u0mCaKugcDumxdwbE4fZI9XwD0RhN4/G6+/2Tg
	rlpKRv0Y19oTe4f3pWk/bNoWU01A/I93x6R5aL7P3HYtrGrsYzWVkxlw
X-Gm-Gg: ASbGncv5/BGA9+NnsELiSvgPFd563w1o1600EbcdUCqb/FgpjwJjJTEYVoaQwOf0USO
	7Ld2hX6ZI0N5b31UksdjKd53ignwdql0KTQrYGvMmJqcqRb2R3TbilCiMIdqlMdKdUTt/7x2DA0
	1w4OJSv+kD2b7oswJRw+uQRlk9jpfm6ej8p9S8zvEBoFTNYci6AEe7lnAzDf+5X7/FsbQBJtBqv
	LUw5rAyzA8V58vuBrmY+hXg7qggTuofMhktO0mByw49j/iz8T76mc+v1JMddbuIdl1+1GGZ5Pqc
	piA4mlK8RNvD6UoeSyfSq4KBpJrjr5AAuC5d4C/BpfYhjdOyVHHqT0ZpoH5E/PEqxVLKt4rSIzX
	qD6t92y+2Q+rx+WrEWOd9DA81byJj9FQHJ/0L6LTUEaOmJ5wFKSWn2hjmSRodWFAb3Ep915r1p2
	Vsm3PYXmlSNSy554wt5ZZvskvstIi3zcEOaTi8MCZJhxGAr4pNMrUGKBtMmYAAChdMEr72EQ==
X-Google-Smtp-Source: AGHT+IHDINXuPn93t6NHNJj9EJzEIOYa6T1aeQSFSreC5uu1a9RdVAWTJCzrDhbEfGvuV93ogmYdCQ==
X-Received: by 2002:a05:690c:fca:b0:731:1bc7:782d with SMTP id 00721157ae682-77f94b6b414mr65413707b3.18.1759536720128;
        Fri, 03 Oct 2025 17:12:00 -0700 (PDT)
Message-ID: <753f726e-baa8-44ab-92ed-df3cf8e89db1@gmail.com>
Date: Fri, 3 Oct 2025 20:11:55 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 02/22] x86/msr: Change wrmsr() to take a single
 parameter
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
 <20251003225334.2123667-3-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Demi Marie Obenour <demiobenour@gmail.com>
Autocrypt: addr=demiobenour@gmail.com; keydata=
 xsFNBFp+A0oBEADffj6anl9/BHhUSxGTICeVl2tob7hPDdhHNgPR4C8xlYt5q49yB+l2nipd
 aq+4Gk6FZfqC825TKl7eRpUjMriwle4r3R0ydSIGcy4M6eb0IcxmuPYfbWpr/si88QKgyGSV
 Z7GeNW1UnzTdhYHuFlk8dBSmB1fzhEYEk0RcJqg4AKoq6/3/UorR+FaSuVwT7rqzGrTlscnT
 DlPWgRzrQ3jssesI7sZLm82E3pJSgaUoCdCOlL7MMPCJwI8JpPlBedRpe9tfVyfu3euTPLPx
 wcV3L/cfWPGSL4PofBtB8NUU6QwYiQ9Hzx4xOyn67zW73/G0Q2vPPRst8LBDqlxLjbtx/WLR
 6h3nBc3eyuZ+q62HS1pJ5EvUT1vjyJ1ySrqtUXWQ4XlZyoEFUfpJxJoN0A9HCxmHGVckzTRl
 5FMWo8TCniHynNXsBtDQbabt7aNEOaAJdE7to0AH3T/Bvwzcp0ZJtBk0EM6YeMLtotUut7h2
 Bkg1b//r6bTBswMBXVJ5H44Qf0+eKeUg7whSC9qpYOzzrm7+0r9F5u3qF8ZTx55TJc2g656C
 9a1P1MYVysLvkLvS4H+crmxA/i08Tc1h+x9RRvqba4lSzZ6/Tmt60DPM5Sc4R0nSm9BBff0N
 m0bSNRS8InXdO1Aq3362QKX2NOwcL5YaStwODNyZUqF7izjK4QARAQABzTxEZW1pIE1hcmll
 IE9iZW5vdXIgKGxvdmVyIG9mIGNvZGluZykgPGRlbWlvYmVub3VyQGdtYWlsLmNvbT7CwXgE
 EwECACIFAlp+A0oCGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJELKItV//nCLBhr8Q
 AK/xrb4wyi71xII2hkFBpT59ObLN+32FQT7R3lbZRjVFjc6yMUjOb1H/hJVxx+yo5gsSj5LS
 9AwggioUSrcUKldfA/PKKai2mzTlUDxTcF3vKx6iMXKA6AqwAw4B57ZEJoMM6egm57TV19kz
 PMc879NV2nc6+elaKl+/kbVeD3qvBuEwsTe2Do3HAAdrfUG/j9erwIk6gha/Hp9yZlCnPTX+
 VK+xifQqt8RtMqS5R/S8z0msJMI/ajNU03kFjOpqrYziv6OZLJ5cuKb3bZU5aoaRQRDzkFIR
 6aqtFLTohTo20QywXwRa39uFaOT/0YMpNyel0kdOszFOykTEGI2u+kja35g9TkH90kkBTG+a
 EWttIht0Hy6YFmwjcAxisSakBuHnHuMSOiyRQLu43ej2+mDWgItLZ48Mu0C3IG1seeQDjEYP
 tqvyZ6bGkf2Vj+L6wLoLLIhRZxQOedqArIk/Sb2SzQYuxN44IDRt+3ZcDqsPppoKcxSyd1Ny
 2tpvjYJXlfKmOYLhTWs8nwlAlSHX/c/jz/ywwf7eSvGknToo1Y0VpRtoxMaKW1nvH0OeCSVJ
 itfRP7YbiRVc2aNqWPCSgtqHAuVraBRbAFLKh9d2rKFB3BmynTUpc1BQLJP8+D5oNyb8Ts4x
 Xd3iV/uD8JLGJfYZIR7oGWFLP4uZ3tkneDfYzsFNBFp+A0oBEAC9ynZI9LU+uJkMeEJeJyQ/
 8VFkCJQPQZEsIGzOTlPnwvVna0AS86n2Z+rK7R/usYs5iJCZ55/JISWd8xD57ue0eB47bcJv
 VqGlObI2DEG8TwaW0O0duRhDgzMEL4t1KdRAepIESBEA/iPpI4gfUbVEIEQuqdqQyO4GAe+M
 kD0Hy5JH/0qgFmbaSegNTdQg5iqYjRZ3ttiswalql1/iSyv1WYeC1OAs+2BLOAT2NEggSiVO
 txEfgewsQtCWi8H1SoirakIfo45Hz0tk/Ad9ZWh2PvOGt97Ka85o4TLJxgJJqGEnqcFUZnJJ
 riwoaRIS8N2C8/nEM53jb1sH0gYddMU3QxY7dYNLIUrRKQeNkF30dK7V6JRH7pleRlf+wQcN
 fRAIUrNlatj9TxwivQrKnC9aIFFHEy/0mAgtrQShcMRmMgVlRoOA5B8RTulRLCmkafvwuhs6
 dCxN0GNAORIVVFxjx9Vn7OqYPgwiofZ6SbEl0hgPyWBQvE85klFLZLoj7p+joDY1XNQztmfA
 rnJ9x+YV4igjWImINAZSlmEcYtd+xy3Li/8oeYDAqrsnrOjb+WvGhCykJk4urBog2LNtcyCj
 kTs7F+WeXGUo0NDhbd3Z6AyFfqeF7uJ3D5hlpX2nI9no/ugPrrTVoVZAgrrnNz0iZG2DVx46
 x913pVKHl5mlYQARAQABwsFfBBgBAgAJBQJafgNKAhsMAAoJELKItV//nCLBwNIP/AiIHE8b
 oIqReFQyaMzxq6lE4YZCZNj65B/nkDOvodSiwfwjjVVE2V3iEzxMHbgyTCGA67+Bo/d5aQGj
 gn0TPtsGzelyQHipaUzEyrsceUGWYoKXYyVWKEfyh0cDfnd9diAm3VeNqchtcMpoehETH8fr
 RHnJdBcjf112PzQSdKC6kqU0Q196c4Vp5HDOQfNiDnTf7gZSj0BraHOByy9LEDCLhQiCmr+2
 E0rW4tBtDAn2HkT9uf32ZGqJCn1O+2uVfFhGu6vPE5qkqrbSE8TG+03H8ecU2q50zgHWPdHM
 OBvy3EhzfAh2VmOSTcRK+tSUe/u3wdLRDPwv/DTzGI36Kgky9MsDC5gpIwNbOJP2G/q1wT1o
 Gkw4IXfWv2ufWiXqJ+k7HEi2N1sree7Dy9KBCqb+ca1vFhYPDJfhP75I/VnzHVssZ/rYZ9+5
 1yDoUABoNdJNSGUYl+Yh9Pw9pE3Kt4EFzUlFZWbE4xKL/NPno+z4J9aWemLLszcYz/u3XnbO
 vUSQHSrmfOzX3cV4yfmjM5lewgSstoxGyTx2M8enslgdXhPthZlDnTnOT+C+OTsh8+m5tos8
 HQjaPM01MKBiAqdPgksm1wu2DrrwUi6ChRVTUBcj6+/9IJ81H2P2gJk3Ls3AVIxIffLoY34E
 +MYSfkEjBz0E8CLOcAw7JIwAaeBT
In-Reply-To: <20251003225334.2123667-3-andrew.cooper3@citrix.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------gpJMwcgBI6i5BNzcvbYQVm50"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------gpJMwcgBI6i5BNzcvbYQVm50
Content-Type: multipart/mixed; boundary="------------OWbsGXA7JUj9X3NMPYhOqZD4";
 protected-headers="v1"
From: Demi Marie Obenour <demiobenour@gmail.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
Message-ID: <753f726e-baa8-44ab-92ed-df3cf8e89db1@gmail.com>
Subject: Re: [PATCH v3 02/22] x86/msr: Change wrmsr() to take a single
 parameter
References: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
 <20251003225334.2123667-3-andrew.cooper3@citrix.com>
In-Reply-To: <20251003225334.2123667-3-andrew.cooper3@citrix.com>

--------------OWbsGXA7JUj9X3NMPYhOqZD4
Content-Type: multipart/mixed; boundary="------------e0EMJUM0jZZ2fClrue7wQcv9"

--------------e0EMJUM0jZZ2fClrue7wQcv9
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On 10/3/25 18:53, Andrew Cooper wrote:
> Mirroring the cleanup to rdmsr(), do the same to wrmsr().  It now has t=
he same
> API as wrmsrl(), but we'll want to drop that wrapper in due course.
>=20
> It's telling that almost all remaining users pass in 0.  Most are conve=
rted
> directly to WRMSRNS, but a few are not.
>=20
> MSR_VIRT_SPEC_CTRL is unconditionally intercepted is orders of magnitud=
e more

"is unconditionally intercepted is" is this a typo?

> expensive than just serialising.  In disable_lapic_nmi_watchdog(), the =
P4 case
> won't run on hardware which has anything more than plain WRMSR.
>=20
> For CTR_WRITE() in op_model_athlon.c there is a logical change in behav=
iour,
> but it's fixing a bug.  Peformance counters typically get written to -(=
count)
> as they generate an interrupt on overflow.  The performance counters ev=
en in
> the K8 were 48 bits wide, and this wrmsr() not being a wrmsrl() appears=
 to
> have been an oversight in commit b5103d692aa7 ("x86 oprofile: use
> rdmsrl/wrmsrl") which converted all other users, and appears to be the =
last
> time there was an attempt to unify the MSR APIs.
>=20
> No practical change.
>=20
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Acked-by: Jan Beulich <jbeulich@suse.com>
> ---
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
>=20
> v3:
>  * Swap to wrmsrns() in setup_k7_watchdog()
>  * Reinstate correct bracketing in op_model_athlon.c's CTR_WRITE(), dro=
p
>    useless do{}while().
> ---
>  xen/arch/x86/cpu/amd.c                  |  2 +-
>  xen/arch/x86/hvm/vmx/vmcs.c             |  2 +-
>  xen/arch/x86/include/asm/msr.h          | 20 ++++++++++----------
>  xen/arch/x86/nmi.c                      | 18 +++++++++---------
>  xen/arch/x86/oprofile/op_model_athlon.c |  2 +-
>  5 files changed, 22 insertions(+), 22 deletions(-)
>=20
> diff --git a/xen/arch/x86/cpu/amd.c b/xen/arch/x86/cpu/amd.c
> index 43481daa8e26..9b02e1ba675c 100644
> --- a/xen/arch/x86/cpu/amd.c
> +++ b/xen/arch/x86/cpu/amd.c
> @@ -934,7 +934,7 @@ void amd_set_legacy_ssbd(bool enable)
>  		return;
> =20
>  	if (cpu_has_virt_ssbd)
> -		wrmsr(MSR_VIRT_SPEC_CTRL, enable ? SPEC_CTRL_SSBD : 0, 0);
> +		wrmsr(MSR_VIRT_SPEC_CTRL, enable ? SPEC_CTRL_SSBD : 0);
>  	else if (amd_legacy_ssbd)
>  		core_set_legacy_ssbd(enable);
>  	else
> diff --git a/xen/arch/x86/hvm/vmx/vmcs.c b/xen/arch/x86/hvm/vmx/vmcs.c
> index b639818b6ea6..cd5ac8a5f0e3 100644
> --- a/xen/arch/x86/hvm/vmx/vmcs.c
> +++ b/xen/arch/x86/hvm/vmx/vmcs.c
> @@ -754,7 +754,7 @@ static int _vmx_cpu_up(bool bsp)
>          eax |=3D IA32_FEATURE_CONTROL_ENABLE_VMXON_OUTSIDE_SMX;
>          if ( test_bit(X86_FEATURE_SMX, &boot_cpu_data.x86_capability) =
)
>              eax |=3D IA32_FEATURE_CONTROL_ENABLE_VMXON_INSIDE_SMX;
> -        wrmsr(MSR_IA32_FEATURE_CONTROL, eax, 0);
> +        wrmsrns(MSR_IA32_FEATURE_CONTROL, eax);
>      }
> =20
>      if ( (rc =3D vmx_init_vmcs_config(bsp)) !=3D 0 )
> diff --git a/xen/arch/x86/include/asm/msr.h b/xen/arch/x86/include/asm/=
msr.h
> index 188a50f9cea4..941a7612f4ba 100644
> --- a/xen/arch/x86/include/asm/msr.h
> +++ b/xen/arch/x86/include/asm/msr.h
> @@ -15,13 +15,17 @@
>   *   uint64_t foo =3D rdmsr(MSR_BAR);
>   *   wrmsrns(MSR_BAR, foo);
>   *
> + * and, if architectural serialisaition is necessary, or there are oth=
er
> + * reasons that WRMSRNS is inapplicable, then:
> + *
> + *   wrmsr(MSR_BAR, foo);
> + *
>   * In addition, *_safe() wrappers exist to cope gracefully with a #GP.=

>   *
>   *
>   * All legacy forms are to be phased out:
>   *
>   *  rdmsrl(MSR_FOO, val);
> - *  wrmsr(MSR_FOO, lo, hi);
>   *  wrmsrl(MSR_FOO, val);
>   */
> =20
> @@ -43,17 +47,13 @@ static always_inline uint64_t rdmsr(unsigned int ms=
r)
>         val =3D a__ | ((u64)b__<<32); \
>  } while(0)
> =20
> -#define wrmsr(msr,val1,val2) \
> -     __asm__ __volatile__("wrmsr" \
> -			  : /* no outputs */ \
> -			  : "c" (msr), "a" (val1), "d" (val2))
> -
> -static inline void wrmsrl(unsigned int msr, uint64_t val)
> +static inline void wrmsr(unsigned int msr, uint64_t val)
>  {
> -        uint32_t lo =3D val, hi =3D val >> 32;
> +    uint32_t lo =3D val, hi =3D val >> 32;
> =20
> -        wrmsr(msr, lo, hi);
> +    asm volatile ( "wrmsr" :: "a" (lo), "d" (hi), "c" (msr) );
>  }
> +#define wrmsrl(msr, val) wrmsr(msr, val)
> =20
>  /* Non-serialising WRMSR, when available.  Falls back to a serialising=
 WRMSR. */
>  static inline void wrmsrns(uint32_t msr, uint64_t val)
> @@ -150,7 +150,7 @@ static inline void wrmsr_tsc_aux(uint32_t val)
> =20
>      if ( *this_tsc_aux !=3D val )
>      {
> -        wrmsr(MSR_TSC_AUX, val, 0);
> +        wrmsrns(MSR_TSC_AUX, val);
>          *this_tsc_aux =3D val;
>      }
>  }
> diff --git a/xen/arch/x86/nmi.c b/xen/arch/x86/nmi.c
> index 9793fa23168d..a0c9194ff032 100644
> --- a/xen/arch/x86/nmi.c
> +++ b/xen/arch/x86/nmi.c
> @@ -218,16 +218,16 @@ void disable_lapic_nmi_watchdog(void)
>          return;
>      switch (boot_cpu_data.x86_vendor) {
>      case X86_VENDOR_AMD:
> -        wrmsr(MSR_K7_EVNTSEL0, 0, 0);
> +        wrmsrns(MSR_K7_EVNTSEL0, 0);
>          break;
>      case X86_VENDOR_INTEL:
>          switch (boot_cpu_data.x86) {
>          case 6:
> -            wrmsr(MSR_P6_EVNTSEL(0), 0, 0);
> +            wrmsrns(MSR_P6_EVNTSEL(0), 0);
>              break;
>          case 15:
> -            wrmsr(MSR_P4_IQ_CCCR0, 0, 0);
> -            wrmsr(MSR_P4_CRU_ESCR0, 0, 0);
> +            wrmsr(MSR_P4_IQ_CCCR0, 0);
> +            wrmsr(MSR_P4_CRU_ESCR0, 0);
>              break;
>          }
>          break;
> @@ -282,7 +282,7 @@ static void clear_msr_range(unsigned int base, unsi=
gned int n)
>      unsigned int i;
> =20
>      for (i =3D 0; i < n; i++)
> -        wrmsr(base+i, 0, 0);
> +        wrmsrns(base + i, 0);
>  }
> =20
>  static inline void write_watchdog_counter(const char *descr)
> @@ -308,11 +308,11 @@ static void setup_k7_watchdog(void)
>          | K7_EVNTSEL_USR
>          | K7_NMI_EVENT;
> =20
> -    wrmsr(MSR_K7_EVNTSEL0, evntsel, 0);
> +    wrmsrns(MSR_K7_EVNTSEL0, evntsel);
>      write_watchdog_counter("K7_PERFCTR0");
>      apic_write(APIC_LVTPC, APIC_DM_NMI);
>      evntsel |=3D K7_EVNTSEL_ENABLE;
> -    wrmsr(MSR_K7_EVNTSEL0, evntsel, 0);
> +    wrmsrns(MSR_K7_EVNTSEL0, evntsel);
>  }
> =20
>  static void setup_p6_watchdog(unsigned counter)
> @@ -338,11 +338,11 @@ static void setup_p6_watchdog(unsigned counter)
>          | P6_EVNTSEL_USR
>          | counter;
> =20
> -    wrmsr(MSR_P6_EVNTSEL(0), evntsel, 0);
> +    wrmsrns(MSR_P6_EVNTSEL(0), evntsel);
>      write_watchdog_counter("P6_PERFCTR0");
>      apic_write(APIC_LVTPC, APIC_DM_NMI);
>      evntsel |=3D P6_EVNTSEL0_ENABLE;
> -    wrmsr(MSR_P6_EVNTSEL(0), evntsel, 0);
> +    wrmsrns(MSR_P6_EVNTSEL(0), evntsel);
>  }
> =20
>  static void setup_p4_watchdog(void)
> diff --git a/xen/arch/x86/oprofile/op_model_athlon.c b/xen/arch/x86/opr=
ofile/op_model_athlon.c
> index bf897a4b6328..4c016624a69b 100644
> --- a/xen/arch/x86/oprofile/op_model_athlon.c
> +++ b/xen/arch/x86/oprofile/op_model_athlon.c
> @@ -34,7 +34,7 @@
>  #define MAX_COUNTERS FAM15H_NUM_COUNTERS
> =20
>  #define CTR_READ(msr_content,msrs,c) do {rdmsrl(msrs->counters[(c)].ad=
dr, (msr_content));} while (0)
> -#define CTR_WRITE(l,msrs,c) do {wrmsr(msrs->counters[(c)].addr, -(unsi=
gned int)(l), -1);} while (0)
> +#define CTR_WRITE(l,msrs,c) wrmsr(msrs->counters[(c)].addr, -(l))
>  #define CTR_OVERFLOWED(n) (!((n) & (1ULL<<31)))
> =20
>  #define CTRL_READ(msr_content,msrs,c) do {rdmsrl(msrs->controls[(c)].a=
ddr, (msr_content));} while (0)


--=20
Sincerely,
Demi Marie Obenour (she/her/hers)
--------------e0EMJUM0jZZ2fClrue7wQcv9
Content-Type: application/pgp-keys; name="OpenPGP_0xB288B55FFF9C22C1.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB288B55FFF9C22C1.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsFNBFp+A0oBEADffj6anl9/BHhUSxGTICeVl2tob7hPDdhHNgPR4C8xlYt5q49y
B+l2nipdaq+4Gk6FZfqC825TKl7eRpUjMriwle4r3R0ydSIGcy4M6eb0IcxmuPYf
bWpr/si88QKgyGSVZ7GeNW1UnzTdhYHuFlk8dBSmB1fzhEYEk0RcJqg4AKoq6/3/
UorR+FaSuVwT7rqzGrTlscnTDlPWgRzrQ3jssesI7sZLm82E3pJSgaUoCdCOlL7M
MPCJwI8JpPlBedRpe9tfVyfu3euTPLPxwcV3L/cfWPGSL4PofBtB8NUU6QwYiQ9H
zx4xOyn67zW73/G0Q2vPPRst8LBDqlxLjbtx/WLR6h3nBc3eyuZ+q62HS1pJ5EvU
T1vjyJ1ySrqtUXWQ4XlZyoEFUfpJxJoN0A9HCxmHGVckzTRl5FMWo8TCniHynNXs
BtDQbabt7aNEOaAJdE7to0AH3T/Bvwzcp0ZJtBk0EM6YeMLtotUut7h2Bkg1b//r
6bTBswMBXVJ5H44Qf0+eKeUg7whSC9qpYOzzrm7+0r9F5u3qF8ZTx55TJc2g656C
9a1P1MYVysLvkLvS4H+crmxA/i08Tc1h+x9RRvqba4lSzZ6/Tmt60DPM5Sc4R0nS
m9BBff0Nm0bSNRS8InXdO1Aq3362QKX2NOwcL5YaStwODNyZUqF7izjK4QARAQAB
zTxEZW1pIE9iZW5vdXIgKElUTCBFbWFpbCBLZXkpIDxhdGhlbmFAaW52aXNpYmxl
dGhpbmdzbGFiLmNvbT7CwY4EEwEIADgWIQR2h02fEza6IlkHHHGyiLVf/5wiwQUC
X6YJvQIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgAAKCRCyiLVf/5wiwWRhD/0Y
R+YYC5Kduv/2LBgQJIygMsFiRHbR4+tWXuTFqgrxxFSlMktZ6gQrQCWe38WnOXkB
oY6n/5lSJdfnuGd2UagZ/9dkaGMUkqt+5WshLFly4BnP7pSsWReKgMP7etRTwn3S
zk1OwFx2lzY1EnnconPLfPBc6rWG2moA6l0WX+3WNR1B1ndqpl2hPSjT2jUCBWDV
rGOUSX7r5f1WgtBeNYnEXPBCUUM51pFGESmfHIXQrqFDA7nBNiIVFDJTmQzuEqIy
Jl67pKNgooij5mKzRhFKHfjLRAH4mmWZlB9UjDStAfFBAoDFHwd1HL5VQCNQdqEc
/9lZDApqWuCPadZN+pGouqLysesIYsNxUhJ7dtWOWHl0vs7/3qkWmWun/2uOJMQh
ra2u8nA9g91FbOobWqjrDd6x3ZJoGQf4zLqjmn/P514gb697788e573WN/MpQ5XI
Fl7aM2d6/GJiq6LC9T2gSUW4rbPBiqOCeiUx7Kd/sVm41p9TOA7fEG4bYddCfDsN
xaQJH6VRK3NOuBUGeL+iQEVF5Xs6Yp+U+jwvv2M5Lel3EqAYo5xXTx4ls0xaxDCu
fudcAh8CMMqx3fguSb7Mi31WlnZpk0fDuWQVNKyDP7lYpwc4nCCGNKCj622ZSocH
AcQmX28L8pJdLYacv9pU3jPy4fHcQYvmTavTqowGnM08RGVtaSBNYXJpZSBPYmVu
b3VyIChsb3ZlciBvZiBjb2RpbmcpIDxkZW1pb2Jlbm91ckBnbWFpbC5jb20+wsF4
BBMBAgAiBQJafgNKAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRCyiLVf
/5wiwYa/EACv8a2+MMou9cSCNoZBQaU+fTmyzft9hUE+0d5W2UY1RY3OsjFIzm9R
/4SVccfsqOYLEo+S0vQMIIIqFEq3FCpXXwPzyimotps05VA8U3Bd7yseojFygOgK
sAMOAee2RCaDDOnoJue01dfZMzzHPO/TVdp3OvnpWipfv5G1Xg96rwbhMLE3tg6N
xwAHa31Bv4/Xq8CJOoIWvx6fcmZQpz01/lSvsYn0KrfEbTKkuUf0vM9JrCTCP2oz
VNN5BYzqaq2M4r+jmSyeXLim922VOWqGkUEQ85BSEemqrRS06IU6NtEMsF8EWt/b
hWjk/9GDKTcnpdJHTrMxTspExBiNrvpI2t+YPU5B/dJJAUxvmhFrbSIbdB8umBZs
I3AMYrEmpAbh5x7jEjoskUC7uN3o9vpg1oCLS2ePDLtAtyBtbHnkA4xGD7ar8mem
xpH9lY/i+sC6CyyIUWcUDnnagKyJP0m9ks0GLsTeOCA0bft2XA6rD6aaCnMUsndT
ctrab42CV5XypjmC4U1rPJ8JQJUh1/3P48/8sMH+3krxpJ06KNWNFaUbaMTGiltZ
7x9DngklSYrX0T+2G4kVXNmjaljwkoLahwLla2gUWwBSyofXdqyhQdwZsp01KXNQ
UCyT/Pg+aDcm/E7OMV3d4lf7g/CSxiX2GSEe6BlhSz+Lmd7ZJ3g32M1ARGVtaSBN
YXJpZSBPYmVub3VyIChJVEwgRW1haWwgS2V5KSA8ZGVtaUBpbnZpc2libGV0aGlu
Z3NsYWIuY29tPsLBjgQTAQgAOBYhBHaHTZ8TNroiWQcccbKItV//nCLBBQJgOEV+
AhsDBQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJELKItV//nCLBKwoP/1WSnFdv
SAD0g7fD0WlF+oi7ISFT7oqJnchFLOwVHK4Jg0e4hGn1ekWsF3Ha5tFLh4V/7UUu
obYJpTfBAA2CckspYBqLtKGjFxcaqjjpO1I2W/jeNELVtSYuCOZICjdNGw2Hl9yH
KRZiBkqc9u8lQcHDZKq4LIpVJj6ZQV/nxttDX90ax2No1nLLQXFbr5wb465LAPpU
lXwunYDij7xJGye+VUASQh9datye6orZYuJvNo8Tr3mAQxxkfR46LzWgxFCPEAZJ
5P56Nc0IMHdJZj0Uc9+1jxERhOGppp5jlLgYGK7faGB/jTV6LaRQ4Ad+xiqokDWp
mUOZsmA+bMbtPfYjDZBz5mlyHcIRKIFpE1l3Y8F7PhJuzzMUKkJi90CYakCV4x/a
Zs4pzk5E96c2VQx01RIEJ7fzHF7lwFdtfTS4YsLtAbQFsKayqwkGcVv2B1AHeqdo
TMX+cgDvjd1ZganGlWA8Sv9RkNSMchn1hMuTwERTyFTr2dKPnQdA1F480+jUap41
ClXgn227WkCIMrNhQGNyJsnwyzi5wS8rBVRQ3BOTMyvGM07j3axUOYaejEpg7wKi
wTPZGLGH1sz5GljD/916v5+v2xLbOo5606j9dWf5/tAhbPuqrQgWv41wuKDi+dDD
EKkODF7DHes8No+QcHTDyETMn1RYm7t0RKR4zsFNBFp+A0oBEAC9ynZI9LU+uJkM
eEJeJyQ/8VFkCJQPQZEsIGzOTlPnwvVna0AS86n2Z+rK7R/usYs5iJCZ55/JISWd
8xD57ue0eB47bcJvVqGlObI2DEG8TwaW0O0duRhDgzMEL4t1KdRAepIESBEA/iPp
I4gfUbVEIEQuqdqQyO4GAe+MkD0Hy5JH/0qgFmbaSegNTdQg5iqYjRZ3ttiswalq
l1/iSyv1WYeC1OAs+2BLOAT2NEggSiVOtxEfgewsQtCWi8H1SoirakIfo45Hz0tk
/Ad9ZWh2PvOGt97Ka85o4TLJxgJJqGEnqcFUZnJJriwoaRIS8N2C8/nEM53jb1sH
0gYddMU3QxY7dYNLIUrRKQeNkF30dK7V6JRH7pleRlf+wQcNfRAIUrNlatj9Txwi
vQrKnC9aIFFHEy/0mAgtrQShcMRmMgVlRoOA5B8RTulRLCmkafvwuhs6dCxN0GNA
ORIVVFxjx9Vn7OqYPgwiofZ6SbEl0hgPyWBQvE85klFLZLoj7p+joDY1XNQztmfA
rnJ9x+YV4igjWImINAZSlmEcYtd+xy3Li/8oeYDAqrsnrOjb+WvGhCykJk4urBog
2LNtcyCjkTs7F+WeXGUo0NDhbd3Z6AyFfqeF7uJ3D5hlpX2nI9no/ugPrrTVoVZA
grrnNz0iZG2DVx46x913pVKHl5mlYQARAQABwsFfBBgBAgAJBQJafgNKAhsMAAoJ
ELKItV//nCLBwNIP/AiIHE8boIqReFQyaMzxq6lE4YZCZNj65B/nkDOvodSiwfwj
jVVE2V3iEzxMHbgyTCGA67+Bo/d5aQGjgn0TPtsGzelyQHipaUzEyrsceUGWYoKX
YyVWKEfyh0cDfnd9diAm3VeNqchtcMpoehETH8frRHnJdBcjf112PzQSdKC6kqU0
Q196c4Vp5HDOQfNiDnTf7gZSj0BraHOByy9LEDCLhQiCmr+2E0rW4tBtDAn2HkT9
uf32ZGqJCn1O+2uVfFhGu6vPE5qkqrbSE8TG+03H8ecU2q50zgHWPdHMOBvy3Ehz
fAh2VmOSTcRK+tSUe/u3wdLRDPwv/DTzGI36Kgky9MsDC5gpIwNbOJP2G/q1wT1o
Gkw4IXfWv2ufWiXqJ+k7HEi2N1sree7Dy9KBCqb+ca1vFhYPDJfhP75I/VnzHVss
Z/rYZ9+51yDoUABoNdJNSGUYl+Yh9Pw9pE3Kt4EFzUlFZWbE4xKL/NPno+z4J9aW
emLLszcYz/u3XnbOvUSQHSrmfOzX3cV4yfmjM5lewgSstoxGyTx2M8enslgdXhPt
hZlDnTnOT+C+OTsh8+m5tos8HQjaPM01MKBiAqdPgksm1wu2DrrwUi6ChRVTUBcj
6+/9IJ81H2P2gJk3Ls3AVIxIffLoY34E+MYSfkEjBz0E8CLOcAw7JIwAaeBTzsFN
BGbyLVgBEACqClxh50hmBepTSVlan6EBq3OAoxhrAhWZYEwN78k+ENhK68KhqC5R
IsHzlL7QHW1gmfVBQZ63GnWiraM6wOJqFTL4ZWvRslga9u28FJ5XyK860mZLgYhK
9BzoUk4s+dat9jVUbq6LpQ1Ot5I9vrdzo2p1jtQ8h9WCIiFxSYy8s8pZ3hHh5T64
GIj1m/kY7lG3VIdUgoNiREGf/iOMjUFjwwE9ZoJ26j9p7p1U+TkKeF6wgswEB1T3
J8KCAtvmRtqJDq558IU5jhg5fgN+xHB8cgvUWulgK9FIF9oFxcuxtaf/juhHWKMO
RtL0bHfNdXoBdpUDZE+mLBUAxF6KSsRrvx6AQyJs7VjgXJDtQVWvH0PUmTrEswgb
49nNU+dLLZQAZagxqnZ9Dp5l6GqaGZCHERJcLmdY/EmMzSf5YazJ6c0vO8rdW27M
kn73qcWAplQn5mOXaqbfzWkAUPyUXppuRHfrjxTDz3GyJJVOeMmMrTxH4uCaGpOX
Z8tN6829J1roGw4oKDRUQsaBAeEDqizXMPRc+6U9vI5FXzbAsb+8lKW65G7JWHym
YPOGUt2hK4DdTA1PmVo0DxH00eWWeKxqvmGyX+Dhcg+5e191rPsMRGsDlH6KihI6
+3JIuc0y6ngdjcp6aalbuvPIGFrCRx3tnRtNc7He6cBWQoH9RPwluwARAQABwsOs
BBgBCgAgFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmbyLVgCGwICQAkQsoi1X/+c
IsHBdCAEGQEKAB0WIQSilC2pUlbVp66j3+yzNoc6synyUwUCZvItWAAKCRCzNoc6
synyU85gD/0T1QDtPhovkGwoqv4jUbEMMvpeYQf+oWgm/TjWPeLwdjl7AtY0G9Ml
ZoyGniYkoHi37Gnn/ShLT3B5vtyI58ap2+SSa8SnGftdAKRLiWFWCiAEklm9FRk8
N3hwxhmSFF1KR/AIDS4g+HIsZn7YEMubBSgLlZZ9zHl4O4vwuXlREBEW97iL/FSt
VownU2V39t7PtFvGZNk+DJH7eLO3jmNRYB0PL4JOyyda3NH/J92iwrFmjFWWmmWb
/Xz8l9DIs+Z59pRCVTTwbBEZhcUc7rVMCcIYL+q1WxBG2e6lMn15OQJ5WfiE6E0I
sGirAEDnXWx92JNGx5l+mMpdpsWhBZ5iGTtttZesibNkQfd48/eCgFi4cxJUC4PT
UQwfD9AMgzwSTGJrkI5XGy+XqxwOjL8UA0iIrtTpMh49zw46uV6kwFQCgkf32jZM
OLwLTNSzclbnA7GRd8tKwezQ/XqeK3dal2n+cOr+o+Eka7yGmGWNUqFbIe8cjj9T
JeF3mgOCmZOwMI+wIcQYRSf+e5VTMO6TNWH5BI3vqeHSt7HkYuPlHT0pGum88d4a
pWqhulH4rUhEMtirX1hYx8Q4HlUOQqLtxzmwOYWkhl1C+yPObAvUDNiHCLf9w28n
uihgEkzHt9J4VKYulyJM9fe3ENcyU6rpXD7iANQqcr87ogKXFxknZ97uEACvSucc
RbnnAgRqZ7GDzgoBerJ2zrmhLkeREZ08iz1zze1JgyW3HEwdr2UbyAuqvSADCSUU
GN0vtQHsPzWl8onRc7lOPqPDF8OO+UfN9NAfA4wl3QyChD1GXl9rwKQOkbvdlYFV
UFx9u86LNi4ssTmU8p9NtHIGpz1SYMVYNoYy9NU7EVqypGMguDCL7gJt6GUmA0sw
p+YCroXiwL2BJ7RwRqTpgQuFL1gShkA17D5jK4mDPEetq1d8kz9rQYvAR/sTKBsR
ImC3xSfn8zpWoNTTB6lnwyP5Ng1bu6esS7+SpYprFTe7ZqGZF6xhvBPf1Ldi9UAm
U2xPN1/eeWxEa2kusidmFKPmN8lcT4miiAvwGxEnY7Oww9CgZlUB+LP4dl5VPjEt
sFeAhrgxLdpVTjPRRwTd9VQF3/XYl83j5wySIQKIPXgT3sG3ngAhDhC8I8GpM36r
8WJJ3x2yVzyJUbBPO0GBhWE2xPNIfhxVoU4cGGhpFqz7dPKSTRDGq++MrFgKKGpI
ZwT3CPTSSKc7ySndEXWkOYArDIdtyxdE1p5/c3aoz4utzUU7NDHQ+vVIwlnZSMiZ
jek2IJP3SZ+COOIHCVxpUaZ4lnzWT4eDqABhMLpIzw6NmGfg+kLBJhouqz81WITr
EtJuZYM5blWncBOJCoWMnBEcTEo/viU3GgcVRw=3D=3D
=3Dx94R
-----END PGP PUBLIC KEY BLOCK-----

--------------e0EMJUM0jZZ2fClrue7wQcv9--

--------------OWbsGXA7JUj9X3NMPYhOqZD4--

--------------gpJMwcgBI6i5BNzcvbYQVm50
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEopQtqVJW1aeuo9/sszaHOrMp8lMFAmjgZkwACgkQszaHOrMp
8lPzIRAAovkptIwxqfvHPxYaIut7GzqONnaFlPhlJuRbIkodbMrQKmdEDgdfExwl
4GeUsfbhCorXSbemF3WUVh8CqaR6lAs0CM9VO6mzyYFDKmdsmji2lzQVnTQzNyPs
9dooUuVmagLiLSu878wHDkR/F1xxP4jHakxLVIOkR4ifbjsR1X/BkMz1+nL98AVl
IIVwzqU0Zq55PrSdPX4zubZdzHcNWvU6MemVtg+B4MTSRj02gJV2ENCM0MoY2i8M
oTm2aSqlXQF+zVh8+nn2b1Jrx9Arsdnbxz7QPRM+FMSwyPpTU1gt/jqLL7SZQ2BX
VtedZfmJScLs18lkirq2ZL5xbnzVoyN8AXVAR0kd7DH0QGXHdNGBEZT7cHyKGCf7
uT5x71uCKpYxbdmasCtRutN1gNzN6cOdoZxAUXCyoIC/NRjCS79Sb7wclVu0G6xy
O4b3Odu1IKVtiV6r9T2hFbWHBcb47s+WVnylSYybdR28y8SteBbXZJkBu6ousQSL
lrd9huLlOsGnyN0VzslvJyhYlZHen/XSximoguvBi4a1FsWRpvuLwAL+/BrHJLiu
nqhpw7zTn9PKktUnQzBAnqB1gspOXp/ObUHdPNkyopap66eoUH1mvcKU7wFft0wQ
o7l2U4Zr/+HO9lxJY9Y/mLv27b9HCNKFqZ8Hi4n7U9NIJVe40pY=
=uiBl
-----END PGP SIGNATURE-----

--------------gpJMwcgBI6i5BNzcvbYQVm50--


From xen-devel-bounces@lists.xenproject.org Sat Oct 04 00:13:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 04 Oct 2025 00:13:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1137182.1473541 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4pu3-0001tV-40; Sat, 04 Oct 2025 00:13:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1137182.1473541; Sat, 04 Oct 2025 00:13:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4pu3-0001tO-1M; Sat, 04 Oct 2025 00:13:35 +0000
Received: by outflank-mailman (input) for mailman id 1137182;
 Sat, 04 Oct 2025 00:13:34 +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
 <SRS0=nOMw=4N=gmail.com=demiobenour@srs-se1.protection.inumbo.net>)
 id 1v4pu2-0001cy-Er
 for xen-devel@lists.xenproject.org; Sat, 04 Oct 2025 00:13:34 +0000
Received: from mail-yw1-x112c.google.com (mail-yw1-x112c.google.com
 [2607:f8b0:4864:20::112c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f5f594e3-a0b6-11f0-9809-7dc792cee155;
 Sat, 04 Oct 2025 02:13:32 +0200 (CEST)
Received: by mail-yw1-x112c.google.com with SMTP id
 00721157ae682-71d60501806so32495807b3.2
 for <xen-devel@lists.xenproject.org>; Fri, 03 Oct 2025 17:13:32 -0700 (PDT)
Received: from [10.138.34.110]
 (h96-60-249-169.cncrtn.broadband.dynamic.tds.net. [96.60.249.169])
 by smtp.gmail.com with ESMTPSA id
 00721157ae682-77f81c349acsm22250087b3.17.2025.10.03.17.13.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 03 Oct 2025 17:13:30 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f5f594e3-a0b6-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1759536811; x=1760141611; darn=lists.xenproject.org;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=H5Q6TkieBhNip5okosZP1YyVL/RSptuGmUV4yTtmVTM=;
        b=JqbyvKjzdSSVdPfvMf2cxSiAxttQJ1abflj7pGT4wPXvw+LxRrxLJDmt8CfNJoIxuf
         WIu2VPJiuLLQ6frC171GlieadKXSC63A5giDTmfxtH0QczfM0b3ODF0WGx7VEZGwDcAd
         nksp6Oa2Xga4aOD9x4G2NQoxr4Xn9X109BhvFHNH74H7jtAY012R5sfpUa5Li/RQSA5W
         xi014pGPxpXA1XiJQzZTQ7O1vyDYXTI24Aq27GBb6ccaYxwtv8WUZUxNknMgAajw+qVe
         4xeHSYC92WphzA3dBqUao6gyfCJze5k9Q9JmR/DG3uHzBGm832yk5HF6tIFzcHqOtBY6
         GT0w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759536811; x=1760141611;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=H5Q6TkieBhNip5okosZP1YyVL/RSptuGmUV4yTtmVTM=;
        b=ixEw8HjWjkn6ZRK7+6Yr7KpRdxJCdpYsPazUR3pR6QN/BIhwHezorfeRR1FvgA7PKG
         vPEMTFhiY8CAcFt5/y6mAJkmdvs5lGJhflfHtFp4+uYvTgYKiej+kcR97vtytoKZfjfy
         onx6UhKyfdEc5CzkWhprITHMuH0SDxrBs5KpYI2nQ+p8ZKtn8qmBmnCzFBkeK6lcQWl+
         JeoD70DZAAhEUuCbhriFyRua5jr+WAxwTd+5EIUTgRyeSJZD7McpYlCzkeeBGCYTsynm
         qgIWEgtN67POW9w5AOUsZjjDu6VvY/mfqtE6f+huA80RcjHDcgQXgqsQ5jy8Vyti5rQn
         PbpQ==
X-Forwarded-Encrypted: i=1; AJvYcCWq3MIog8rxhPxRwnarPR2aCdNfSSbfTPjt61TmoxQlAFhorIYD4xWpSm21NUM8GFh/pL3dtnlw4oI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxX0sgSEyJkjBnv0VjzdRzIqiYtxWKiODnkOFHYlm/HL3aphVwF
	0x6Ur9kDPds80po1nKbNQAPln8Qro6ua1zIbJ+Ibs7QElbYofSGWpCvO
X-Gm-Gg: ASbGncuIUyYeXokXb1hQQaOi+twk1lytSE4pY3hZDUA4HgOqO1dtONJbE2aqK3KxIOU
	/v7/j8ixSlNFVMP+A9d5BrdnAG9lf0eERU6waEPZWAxUNe3ljXsG9vVa3LtO2wPdGnFGEaxqml3
	Z/Z+Wv7fnHHQUsfGATToStK+d5s4nfaj7PF6Xi82fAaXrv295C5jqxp/XNzJiDB7v7asuHvbu9+
	i1wAkwNrto95QJZbgifcGljt30feXPA42PuGAo+y6L7dspnFL/RyACoj2+K6WfaR92Mza46ULPh
	s5P4dQ6MGyCvFG0e+AGGoBu/phxJF/b2f/b/BiOAxl5vMGrhnMNh1moLP24+YUgQBLjLu4WqJx7
	KZVWA8gipxa5pxOgxglYshAHi6F5hVpMT6qdvK4/4Qfzhjtu/sY6SLB+QE7wxT7j8XWK3V3htYP
	gwOSdnlYQILsVG0JYnM4NuRhSttyaq01/dm2kW2XmbdgC+N+cdl1gRMuNe5byuuBxJYuJ1Jw==
X-Google-Smtp-Source: AGHT+IHcxykmZLPSmi4SCHpEM9LL/1BfTxDoU8F9vPRq994Fja7Dj8h4vMRBVzQAHqVntYqrk3a9WA==
X-Received: by 2002:a05:690c:387:b0:772:3578:2eba with SMTP id 00721157ae682-77f942a25b9mr66519407b3.0.1759536811427;
        Fri, 03 Oct 2025 17:13:31 -0700 (PDT)
Message-ID: <e64f2529-9e39-47a4-949a-eacb07a2bb06@gmail.com>
Date: Fri, 3 Oct 2025 20:13:26 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 05/22] x86/fsgsbase: Improve code generation in
 read_registers()
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Jan Beulich <JBeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
 <20251003225334.2123667-6-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Demi Marie Obenour <demiobenour@gmail.com>
Autocrypt: addr=demiobenour@gmail.com; keydata=
 xsFNBFp+A0oBEADffj6anl9/BHhUSxGTICeVl2tob7hPDdhHNgPR4C8xlYt5q49yB+l2nipd
 aq+4Gk6FZfqC825TKl7eRpUjMriwle4r3R0ydSIGcy4M6eb0IcxmuPYfbWpr/si88QKgyGSV
 Z7GeNW1UnzTdhYHuFlk8dBSmB1fzhEYEk0RcJqg4AKoq6/3/UorR+FaSuVwT7rqzGrTlscnT
 DlPWgRzrQ3jssesI7sZLm82E3pJSgaUoCdCOlL7MMPCJwI8JpPlBedRpe9tfVyfu3euTPLPx
 wcV3L/cfWPGSL4PofBtB8NUU6QwYiQ9Hzx4xOyn67zW73/G0Q2vPPRst8LBDqlxLjbtx/WLR
 6h3nBc3eyuZ+q62HS1pJ5EvUT1vjyJ1ySrqtUXWQ4XlZyoEFUfpJxJoN0A9HCxmHGVckzTRl
 5FMWo8TCniHynNXsBtDQbabt7aNEOaAJdE7to0AH3T/Bvwzcp0ZJtBk0EM6YeMLtotUut7h2
 Bkg1b//r6bTBswMBXVJ5H44Qf0+eKeUg7whSC9qpYOzzrm7+0r9F5u3qF8ZTx55TJc2g656C
 9a1P1MYVysLvkLvS4H+crmxA/i08Tc1h+x9RRvqba4lSzZ6/Tmt60DPM5Sc4R0nSm9BBff0N
 m0bSNRS8InXdO1Aq3362QKX2NOwcL5YaStwODNyZUqF7izjK4QARAQABzTxEZW1pIE1hcmll
 IE9iZW5vdXIgKGxvdmVyIG9mIGNvZGluZykgPGRlbWlvYmVub3VyQGdtYWlsLmNvbT7CwXgE
 EwECACIFAlp+A0oCGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJELKItV//nCLBhr8Q
 AK/xrb4wyi71xII2hkFBpT59ObLN+32FQT7R3lbZRjVFjc6yMUjOb1H/hJVxx+yo5gsSj5LS
 9AwggioUSrcUKldfA/PKKai2mzTlUDxTcF3vKx6iMXKA6AqwAw4B57ZEJoMM6egm57TV19kz
 PMc879NV2nc6+elaKl+/kbVeD3qvBuEwsTe2Do3HAAdrfUG/j9erwIk6gha/Hp9yZlCnPTX+
 VK+xifQqt8RtMqS5R/S8z0msJMI/ajNU03kFjOpqrYziv6OZLJ5cuKb3bZU5aoaRQRDzkFIR
 6aqtFLTohTo20QywXwRa39uFaOT/0YMpNyel0kdOszFOykTEGI2u+kja35g9TkH90kkBTG+a
 EWttIht0Hy6YFmwjcAxisSakBuHnHuMSOiyRQLu43ej2+mDWgItLZ48Mu0C3IG1seeQDjEYP
 tqvyZ6bGkf2Vj+L6wLoLLIhRZxQOedqArIk/Sb2SzQYuxN44IDRt+3ZcDqsPppoKcxSyd1Ny
 2tpvjYJXlfKmOYLhTWs8nwlAlSHX/c/jz/ywwf7eSvGknToo1Y0VpRtoxMaKW1nvH0OeCSVJ
 itfRP7YbiRVc2aNqWPCSgtqHAuVraBRbAFLKh9d2rKFB3BmynTUpc1BQLJP8+D5oNyb8Ts4x
 Xd3iV/uD8JLGJfYZIR7oGWFLP4uZ3tkneDfYzsFNBFp+A0oBEAC9ynZI9LU+uJkMeEJeJyQ/
 8VFkCJQPQZEsIGzOTlPnwvVna0AS86n2Z+rK7R/usYs5iJCZ55/JISWd8xD57ue0eB47bcJv
 VqGlObI2DEG8TwaW0O0duRhDgzMEL4t1KdRAepIESBEA/iPpI4gfUbVEIEQuqdqQyO4GAe+M
 kD0Hy5JH/0qgFmbaSegNTdQg5iqYjRZ3ttiswalql1/iSyv1WYeC1OAs+2BLOAT2NEggSiVO
 txEfgewsQtCWi8H1SoirakIfo45Hz0tk/Ad9ZWh2PvOGt97Ka85o4TLJxgJJqGEnqcFUZnJJ
 riwoaRIS8N2C8/nEM53jb1sH0gYddMU3QxY7dYNLIUrRKQeNkF30dK7V6JRH7pleRlf+wQcN
 fRAIUrNlatj9TxwivQrKnC9aIFFHEy/0mAgtrQShcMRmMgVlRoOA5B8RTulRLCmkafvwuhs6
 dCxN0GNAORIVVFxjx9Vn7OqYPgwiofZ6SbEl0hgPyWBQvE85klFLZLoj7p+joDY1XNQztmfA
 rnJ9x+YV4igjWImINAZSlmEcYtd+xy3Li/8oeYDAqrsnrOjb+WvGhCykJk4urBog2LNtcyCj
 kTs7F+WeXGUo0NDhbd3Z6AyFfqeF7uJ3D5hlpX2nI9no/ugPrrTVoVZAgrrnNz0iZG2DVx46
 x913pVKHl5mlYQARAQABwsFfBBgBAgAJBQJafgNKAhsMAAoJELKItV//nCLBwNIP/AiIHE8b
 oIqReFQyaMzxq6lE4YZCZNj65B/nkDOvodSiwfwjjVVE2V3iEzxMHbgyTCGA67+Bo/d5aQGj
 gn0TPtsGzelyQHipaUzEyrsceUGWYoKXYyVWKEfyh0cDfnd9diAm3VeNqchtcMpoehETH8fr
 RHnJdBcjf112PzQSdKC6kqU0Q196c4Vp5HDOQfNiDnTf7gZSj0BraHOByy9LEDCLhQiCmr+2
 E0rW4tBtDAn2HkT9uf32ZGqJCn1O+2uVfFhGu6vPE5qkqrbSE8TG+03H8ecU2q50zgHWPdHM
 OBvy3EhzfAh2VmOSTcRK+tSUe/u3wdLRDPwv/DTzGI36Kgky9MsDC5gpIwNbOJP2G/q1wT1o
 Gkw4IXfWv2ufWiXqJ+k7HEi2N1sree7Dy9KBCqb+ca1vFhYPDJfhP75I/VnzHVssZ/rYZ9+5
 1yDoUABoNdJNSGUYl+Yh9Pw9pE3Kt4EFzUlFZWbE4xKL/NPno+z4J9aWemLLszcYz/u3XnbO
 vUSQHSrmfOzX3cV4yfmjM5lewgSstoxGyTx2M8enslgdXhPthZlDnTnOT+C+OTsh8+m5tos8
 HQjaPM01MKBiAqdPgksm1wu2DrrwUi6ChRVTUBcj6+/9IJ81H2P2gJk3Ls3AVIxIffLoY34E
 +MYSfkEjBz0E8CLOcAw7JIwAaeBT
In-Reply-To: <20251003225334.2123667-6-andrew.cooper3@citrix.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------ZaLukMVjNT5cy681J27VyYk6"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------ZaLukMVjNT5cy681J27VyYk6
Content-Type: multipart/mixed; boundary="------------TqHwS85xSqfHM8FYb6Ni7Juw";
 protected-headers="v1"
From: Demi Marie Obenour <demiobenour@gmail.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Jan Beulich <JBeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
Message-ID: <e64f2529-9e39-47a4-949a-eacb07a2bb06@gmail.com>
Subject: Re: [PATCH v3 05/22] x86/fsgsbase: Improve code generation in
 read_registers()
References: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
 <20251003225334.2123667-6-andrew.cooper3@citrix.com>
In-Reply-To: <20251003225334.2123667-6-andrew.cooper3@citrix.com>

--------------TqHwS85xSqfHM8FYb6Ni7Juw
Content-Type: multipart/mixed; boundary="------------Q6qGdN0mH0cwLmvoAkBX7nor"

--------------Q6qGdN0mH0cwLmvoAkBX7nor
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On 10/3/25 18:53, Andrew Cooper wrote:
> It turns out that using the higher level helpers adjacent like this lea=
ds to
> terrible code generation.  Due to -fno-strict-alising, the store into s=
tate->
> invalidates the read_cr4() address calculation (which is really cpu_inf=
o->cr4
> under the hood), meaning that it can't be hoisted.

It would be nice if compilers could warn when they
could not optimize because of something like this.
--=20
Sincerely,
Demi Marie Obenour (she/her/hers)
--------------Q6qGdN0mH0cwLmvoAkBX7nor
Content-Type: application/pgp-keys; name="OpenPGP_0xB288B55FFF9C22C1.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB288B55FFF9C22C1.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsFNBFp+A0oBEADffj6anl9/BHhUSxGTICeVl2tob7hPDdhHNgPR4C8xlYt5q49y
B+l2nipdaq+4Gk6FZfqC825TKl7eRpUjMriwle4r3R0ydSIGcy4M6eb0IcxmuPYf
bWpr/si88QKgyGSVZ7GeNW1UnzTdhYHuFlk8dBSmB1fzhEYEk0RcJqg4AKoq6/3/
UorR+FaSuVwT7rqzGrTlscnTDlPWgRzrQ3jssesI7sZLm82E3pJSgaUoCdCOlL7M
MPCJwI8JpPlBedRpe9tfVyfu3euTPLPxwcV3L/cfWPGSL4PofBtB8NUU6QwYiQ9H
zx4xOyn67zW73/G0Q2vPPRst8LBDqlxLjbtx/WLR6h3nBc3eyuZ+q62HS1pJ5EvU
T1vjyJ1ySrqtUXWQ4XlZyoEFUfpJxJoN0A9HCxmHGVckzTRl5FMWo8TCniHynNXs
BtDQbabt7aNEOaAJdE7to0AH3T/Bvwzcp0ZJtBk0EM6YeMLtotUut7h2Bkg1b//r
6bTBswMBXVJ5H44Qf0+eKeUg7whSC9qpYOzzrm7+0r9F5u3qF8ZTx55TJc2g656C
9a1P1MYVysLvkLvS4H+crmxA/i08Tc1h+x9RRvqba4lSzZ6/Tmt60DPM5Sc4R0nS
m9BBff0Nm0bSNRS8InXdO1Aq3362QKX2NOwcL5YaStwODNyZUqF7izjK4QARAQAB
zTxEZW1pIE9iZW5vdXIgKElUTCBFbWFpbCBLZXkpIDxhdGhlbmFAaW52aXNpYmxl
dGhpbmdzbGFiLmNvbT7CwY4EEwEIADgWIQR2h02fEza6IlkHHHGyiLVf/5wiwQUC
X6YJvQIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgAAKCRCyiLVf/5wiwWRhD/0Y
R+YYC5Kduv/2LBgQJIygMsFiRHbR4+tWXuTFqgrxxFSlMktZ6gQrQCWe38WnOXkB
oY6n/5lSJdfnuGd2UagZ/9dkaGMUkqt+5WshLFly4BnP7pSsWReKgMP7etRTwn3S
zk1OwFx2lzY1EnnconPLfPBc6rWG2moA6l0WX+3WNR1B1ndqpl2hPSjT2jUCBWDV
rGOUSX7r5f1WgtBeNYnEXPBCUUM51pFGESmfHIXQrqFDA7nBNiIVFDJTmQzuEqIy
Jl67pKNgooij5mKzRhFKHfjLRAH4mmWZlB9UjDStAfFBAoDFHwd1HL5VQCNQdqEc
/9lZDApqWuCPadZN+pGouqLysesIYsNxUhJ7dtWOWHl0vs7/3qkWmWun/2uOJMQh
ra2u8nA9g91FbOobWqjrDd6x3ZJoGQf4zLqjmn/P514gb697788e573WN/MpQ5XI
Fl7aM2d6/GJiq6LC9T2gSUW4rbPBiqOCeiUx7Kd/sVm41p9TOA7fEG4bYddCfDsN
xaQJH6VRK3NOuBUGeL+iQEVF5Xs6Yp+U+jwvv2M5Lel3EqAYo5xXTx4ls0xaxDCu
fudcAh8CMMqx3fguSb7Mi31WlnZpk0fDuWQVNKyDP7lYpwc4nCCGNKCj622ZSocH
AcQmX28L8pJdLYacv9pU3jPy4fHcQYvmTavTqowGnM08RGVtaSBNYXJpZSBPYmVu
b3VyIChsb3ZlciBvZiBjb2RpbmcpIDxkZW1pb2Jlbm91ckBnbWFpbC5jb20+wsF4
BBMBAgAiBQJafgNKAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRCyiLVf
/5wiwYa/EACv8a2+MMou9cSCNoZBQaU+fTmyzft9hUE+0d5W2UY1RY3OsjFIzm9R
/4SVccfsqOYLEo+S0vQMIIIqFEq3FCpXXwPzyimotps05VA8U3Bd7yseojFygOgK
sAMOAee2RCaDDOnoJue01dfZMzzHPO/TVdp3OvnpWipfv5G1Xg96rwbhMLE3tg6N
xwAHa31Bv4/Xq8CJOoIWvx6fcmZQpz01/lSvsYn0KrfEbTKkuUf0vM9JrCTCP2oz
VNN5BYzqaq2M4r+jmSyeXLim922VOWqGkUEQ85BSEemqrRS06IU6NtEMsF8EWt/b
hWjk/9GDKTcnpdJHTrMxTspExBiNrvpI2t+YPU5B/dJJAUxvmhFrbSIbdB8umBZs
I3AMYrEmpAbh5x7jEjoskUC7uN3o9vpg1oCLS2ePDLtAtyBtbHnkA4xGD7ar8mem
xpH9lY/i+sC6CyyIUWcUDnnagKyJP0m9ks0GLsTeOCA0bft2XA6rD6aaCnMUsndT
ctrab42CV5XypjmC4U1rPJ8JQJUh1/3P48/8sMH+3krxpJ06KNWNFaUbaMTGiltZ
7x9DngklSYrX0T+2G4kVXNmjaljwkoLahwLla2gUWwBSyofXdqyhQdwZsp01KXNQ
UCyT/Pg+aDcm/E7OMV3d4lf7g/CSxiX2GSEe6BlhSz+Lmd7ZJ3g32M1ARGVtaSBN
YXJpZSBPYmVub3VyIChJVEwgRW1haWwgS2V5KSA8ZGVtaUBpbnZpc2libGV0aGlu
Z3NsYWIuY29tPsLBjgQTAQgAOBYhBHaHTZ8TNroiWQcccbKItV//nCLBBQJgOEV+
AhsDBQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJELKItV//nCLBKwoP/1WSnFdv
SAD0g7fD0WlF+oi7ISFT7oqJnchFLOwVHK4Jg0e4hGn1ekWsF3Ha5tFLh4V/7UUu
obYJpTfBAA2CckspYBqLtKGjFxcaqjjpO1I2W/jeNELVtSYuCOZICjdNGw2Hl9yH
KRZiBkqc9u8lQcHDZKq4LIpVJj6ZQV/nxttDX90ax2No1nLLQXFbr5wb465LAPpU
lXwunYDij7xJGye+VUASQh9datye6orZYuJvNo8Tr3mAQxxkfR46LzWgxFCPEAZJ
5P56Nc0IMHdJZj0Uc9+1jxERhOGppp5jlLgYGK7faGB/jTV6LaRQ4Ad+xiqokDWp
mUOZsmA+bMbtPfYjDZBz5mlyHcIRKIFpE1l3Y8F7PhJuzzMUKkJi90CYakCV4x/a
Zs4pzk5E96c2VQx01RIEJ7fzHF7lwFdtfTS4YsLtAbQFsKayqwkGcVv2B1AHeqdo
TMX+cgDvjd1ZganGlWA8Sv9RkNSMchn1hMuTwERTyFTr2dKPnQdA1F480+jUap41
ClXgn227WkCIMrNhQGNyJsnwyzi5wS8rBVRQ3BOTMyvGM07j3axUOYaejEpg7wKi
wTPZGLGH1sz5GljD/916v5+v2xLbOo5606j9dWf5/tAhbPuqrQgWv41wuKDi+dDD
EKkODF7DHes8No+QcHTDyETMn1RYm7t0RKR4zsFNBFp+A0oBEAC9ynZI9LU+uJkM
eEJeJyQ/8VFkCJQPQZEsIGzOTlPnwvVna0AS86n2Z+rK7R/usYs5iJCZ55/JISWd
8xD57ue0eB47bcJvVqGlObI2DEG8TwaW0O0duRhDgzMEL4t1KdRAepIESBEA/iPp
I4gfUbVEIEQuqdqQyO4GAe+MkD0Hy5JH/0qgFmbaSegNTdQg5iqYjRZ3ttiswalq
l1/iSyv1WYeC1OAs+2BLOAT2NEggSiVOtxEfgewsQtCWi8H1SoirakIfo45Hz0tk
/Ad9ZWh2PvOGt97Ka85o4TLJxgJJqGEnqcFUZnJJriwoaRIS8N2C8/nEM53jb1sH
0gYddMU3QxY7dYNLIUrRKQeNkF30dK7V6JRH7pleRlf+wQcNfRAIUrNlatj9Txwi
vQrKnC9aIFFHEy/0mAgtrQShcMRmMgVlRoOA5B8RTulRLCmkafvwuhs6dCxN0GNA
ORIVVFxjx9Vn7OqYPgwiofZ6SbEl0hgPyWBQvE85klFLZLoj7p+joDY1XNQztmfA
rnJ9x+YV4igjWImINAZSlmEcYtd+xy3Li/8oeYDAqrsnrOjb+WvGhCykJk4urBog
2LNtcyCjkTs7F+WeXGUo0NDhbd3Z6AyFfqeF7uJ3D5hlpX2nI9no/ugPrrTVoVZA
grrnNz0iZG2DVx46x913pVKHl5mlYQARAQABwsFfBBgBAgAJBQJafgNKAhsMAAoJ
ELKItV//nCLBwNIP/AiIHE8boIqReFQyaMzxq6lE4YZCZNj65B/nkDOvodSiwfwj
jVVE2V3iEzxMHbgyTCGA67+Bo/d5aQGjgn0TPtsGzelyQHipaUzEyrsceUGWYoKX
YyVWKEfyh0cDfnd9diAm3VeNqchtcMpoehETH8frRHnJdBcjf112PzQSdKC6kqU0
Q196c4Vp5HDOQfNiDnTf7gZSj0BraHOByy9LEDCLhQiCmr+2E0rW4tBtDAn2HkT9
uf32ZGqJCn1O+2uVfFhGu6vPE5qkqrbSE8TG+03H8ecU2q50zgHWPdHMOBvy3Ehz
fAh2VmOSTcRK+tSUe/u3wdLRDPwv/DTzGI36Kgky9MsDC5gpIwNbOJP2G/q1wT1o
Gkw4IXfWv2ufWiXqJ+k7HEi2N1sree7Dy9KBCqb+ca1vFhYPDJfhP75I/VnzHVss
Z/rYZ9+51yDoUABoNdJNSGUYl+Yh9Pw9pE3Kt4EFzUlFZWbE4xKL/NPno+z4J9aW
emLLszcYz/u3XnbOvUSQHSrmfOzX3cV4yfmjM5lewgSstoxGyTx2M8enslgdXhPt
hZlDnTnOT+C+OTsh8+m5tos8HQjaPM01MKBiAqdPgksm1wu2DrrwUi6ChRVTUBcj
6+/9IJ81H2P2gJk3Ls3AVIxIffLoY34E+MYSfkEjBz0E8CLOcAw7JIwAaeBTzsFN
BGbyLVgBEACqClxh50hmBepTSVlan6EBq3OAoxhrAhWZYEwN78k+ENhK68KhqC5R
IsHzlL7QHW1gmfVBQZ63GnWiraM6wOJqFTL4ZWvRslga9u28FJ5XyK860mZLgYhK
9BzoUk4s+dat9jVUbq6LpQ1Ot5I9vrdzo2p1jtQ8h9WCIiFxSYy8s8pZ3hHh5T64
GIj1m/kY7lG3VIdUgoNiREGf/iOMjUFjwwE9ZoJ26j9p7p1U+TkKeF6wgswEB1T3
J8KCAtvmRtqJDq558IU5jhg5fgN+xHB8cgvUWulgK9FIF9oFxcuxtaf/juhHWKMO
RtL0bHfNdXoBdpUDZE+mLBUAxF6KSsRrvx6AQyJs7VjgXJDtQVWvH0PUmTrEswgb
49nNU+dLLZQAZagxqnZ9Dp5l6GqaGZCHERJcLmdY/EmMzSf5YazJ6c0vO8rdW27M
kn73qcWAplQn5mOXaqbfzWkAUPyUXppuRHfrjxTDz3GyJJVOeMmMrTxH4uCaGpOX
Z8tN6829J1roGw4oKDRUQsaBAeEDqizXMPRc+6U9vI5FXzbAsb+8lKW65G7JWHym
YPOGUt2hK4DdTA1PmVo0DxH00eWWeKxqvmGyX+Dhcg+5e191rPsMRGsDlH6KihI6
+3JIuc0y6ngdjcp6aalbuvPIGFrCRx3tnRtNc7He6cBWQoH9RPwluwARAQABwsOs
BBgBCgAgFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmbyLVgCGwICQAkQsoi1X/+c
IsHBdCAEGQEKAB0WIQSilC2pUlbVp66j3+yzNoc6synyUwUCZvItWAAKCRCzNoc6
synyU85gD/0T1QDtPhovkGwoqv4jUbEMMvpeYQf+oWgm/TjWPeLwdjl7AtY0G9Ml
ZoyGniYkoHi37Gnn/ShLT3B5vtyI58ap2+SSa8SnGftdAKRLiWFWCiAEklm9FRk8
N3hwxhmSFF1KR/AIDS4g+HIsZn7YEMubBSgLlZZ9zHl4O4vwuXlREBEW97iL/FSt
VownU2V39t7PtFvGZNk+DJH7eLO3jmNRYB0PL4JOyyda3NH/J92iwrFmjFWWmmWb
/Xz8l9DIs+Z59pRCVTTwbBEZhcUc7rVMCcIYL+q1WxBG2e6lMn15OQJ5WfiE6E0I
sGirAEDnXWx92JNGx5l+mMpdpsWhBZ5iGTtttZesibNkQfd48/eCgFi4cxJUC4PT
UQwfD9AMgzwSTGJrkI5XGy+XqxwOjL8UA0iIrtTpMh49zw46uV6kwFQCgkf32jZM
OLwLTNSzclbnA7GRd8tKwezQ/XqeK3dal2n+cOr+o+Eka7yGmGWNUqFbIe8cjj9T
JeF3mgOCmZOwMI+wIcQYRSf+e5VTMO6TNWH5BI3vqeHSt7HkYuPlHT0pGum88d4a
pWqhulH4rUhEMtirX1hYx8Q4HlUOQqLtxzmwOYWkhl1C+yPObAvUDNiHCLf9w28n
uihgEkzHt9J4VKYulyJM9fe3ENcyU6rpXD7iANQqcr87ogKXFxknZ97uEACvSucc
RbnnAgRqZ7GDzgoBerJ2zrmhLkeREZ08iz1zze1JgyW3HEwdr2UbyAuqvSADCSUU
GN0vtQHsPzWl8onRc7lOPqPDF8OO+UfN9NAfA4wl3QyChD1GXl9rwKQOkbvdlYFV
UFx9u86LNi4ssTmU8p9NtHIGpz1SYMVYNoYy9NU7EVqypGMguDCL7gJt6GUmA0sw
p+YCroXiwL2BJ7RwRqTpgQuFL1gShkA17D5jK4mDPEetq1d8kz9rQYvAR/sTKBsR
ImC3xSfn8zpWoNTTB6lnwyP5Ng1bu6esS7+SpYprFTe7ZqGZF6xhvBPf1Ldi9UAm
U2xPN1/eeWxEa2kusidmFKPmN8lcT4miiAvwGxEnY7Oww9CgZlUB+LP4dl5VPjEt
sFeAhrgxLdpVTjPRRwTd9VQF3/XYl83j5wySIQKIPXgT3sG3ngAhDhC8I8GpM36r
8WJJ3x2yVzyJUbBPO0GBhWE2xPNIfhxVoU4cGGhpFqz7dPKSTRDGq++MrFgKKGpI
ZwT3CPTSSKc7ySndEXWkOYArDIdtyxdE1p5/c3aoz4utzUU7NDHQ+vVIwlnZSMiZ
jek2IJP3SZ+COOIHCVxpUaZ4lnzWT4eDqABhMLpIzw6NmGfg+kLBJhouqz81WITr
EtJuZYM5blWncBOJCoWMnBEcTEo/viU3GgcVRw=3D=3D
=3Dx94R
-----END PGP PUBLIC KEY BLOCK-----

--------------Q6qGdN0mH0cwLmvoAkBX7nor--

--------------TqHwS85xSqfHM8FYb6Ni7Juw--

--------------ZaLukMVjNT5cy681J27VyYk6
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEopQtqVJW1aeuo9/sszaHOrMp8lMFAmjgZqcACgkQszaHOrMp
8lPCLg//QYud/gtDx3LNp45fvuyZYc5I/8GhQ8789qhfEnHNxdkupExo+BDKzRQW
wpgOOs3o4Rys//mRpUD8N+kS1ZuuEQ+1yFNUmmkL2UGVQER4QK4DxQdxpINL6rjG
+j2VT6PUWpFmdyjf7TX/PC6TK+MZEe+sQHVbELw7t0IfNsaGIzl2mhMCJYUJuNV4
86W+1KzZ0bpMfdavXF6Hhg3MdpeR8xXOhFoyp5DTHV5fkg7UuNdFm7Bi7OJaXSF3
jrN8jdFmhgCiuZzQk1qH7xKfTqVUjA9eMF1DXlN7J1yVHl+2wtWaIhk5BEiIBYCd
VJ/8tuAWG5VFRt9TAkBItzkKZRvApDhy4lWTAI416X6oo01ej1rWrc3TAB1M3gq+
j8kMc1wDnYZMXUFD/zpi1W2PPKxmjUJrLjKpNmo/0GII6wJsNZ2q6oVGWoe3VjED
D/v83+jIrfr6RjKMxG9diGI4Xu6OY9BwaFWajszQRqyC9TuBXNfgrDGHBjSndOwV
59OM3v6SyAfwtOaEQiL8G4o1qpqE7D25xjdQihBgVKNUSccO2Mz/uZssK5big6kL
LprDoNjmTJ0rlGoCjuhxluFSR5WZNv9w7/Q63Lm4y57sLnDv5UF03bgQLZ8cWqLX
66cfUPGEHRhlxixTGlSG3mWOXGAP0IqTGl+IHStKe3XdlO1UVnU=
=nsQ2
-----END PGP SIGNATURE-----

--------------ZaLukMVjNT5cy681J27VyYk6--


From xen-devel-bounces@lists.xenproject.org Sat Oct 04 00:14:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 04 Oct 2025 00:14:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1137190.1473551 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4pua-0002NO-Cc; Sat, 04 Oct 2025 00:14:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1137190.1473551; Sat, 04 Oct 2025 00:14:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4pua-0002NH-9H; Sat, 04 Oct 2025 00:14:08 +0000
Received: by outflank-mailman (input) for mailman id 1137190;
 Sat, 04 Oct 2025 00:14:07 +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
 <SRS0=ZMDu=4N=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v4puZ-0002Az-H8
 for xen-devel@lists.xenproject.org; Sat, 04 Oct 2025 00:14:07 +0000
Received: from mail-wr1-x42f.google.com (mail-wr1-x42f.google.com
 [2a00:1450:4864:20::42f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0aa52da6-a0b7-11f0-9d14-b5c5bf9af7f9;
 Sat, 04 Oct 2025 02:14:06 +0200 (CEST)
Received: by mail-wr1-x42f.google.com with SMTP id
 ffacd0b85a97d-3ee13baf2e1so1846620f8f.3
 for <xen-devel@lists.xenproject.org>; Fri, 03 Oct 2025 17:14:06 -0700 (PDT)
Received: from [192.168.1.183] (host-92-22-57-86.as13285.net. [92.22.57.86])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4255d8abf0bsm9767363f8f.17.2025.10.03.17.14.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 03 Oct 2025 17:14:05 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0aa52da6-a0b7-11f0-9d14-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1759536846; x=1760141646; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=+szExrSazi5rx3Z4qSH5w6eplcDuAouOOMxCHFN5cnQ=;
        b=Nbv+pMPornJkbAnSgCpKaCgHxH+W+64ANIY60dQlh+I0BIufH12HSGx0/mVMrmmkkI
         xbTAmN+Hvb+V0yaQm0HU+zefNkcC8rmjnTeitv8IJtrzf7/h+Mga/UvfLItwVT3ny5Iv
         KZ8e2+jV1pbi2JLu7RgmtwKvoXc9kJNup3hXw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759536846; x=1760141646;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=+szExrSazi5rx3Z4qSH5w6eplcDuAouOOMxCHFN5cnQ=;
        b=nRqjkwL6VZiVia/vuAPT3DN5qLP9Xl7ssu+9cQT/pyrs6Sz3L45cq5XRMUNEr0/qWh
         dHEhA+h3R2nHMRryPdOTvHj/GNUSywxiNtSbiab/2DYjsCYUQQvjlX4BT2RYlsMBxJ57
         jFya7yFyGyIJGliGG/AHS5y8m4KWwodUS0dJuAlO0Dt0asC7MFjbCgenLx5FM/lc1f20
         nvzDyu9+TBDul9Hqcc+ixBYeEkkxnJdUn2qyX2oDFNvlkzBrJeUl4SaMWDHqLpdwm/HQ
         GpFbR4THvIWWfTkAZ97eKYL6pgNyWCPGp2wUhPb3nK8MRLcXaLXdlO97Ymo0ru5L0iHD
         NesA==
X-Forwarded-Encrypted: i=1; AJvYcCVIZnqP91Bx7Owv3+3lPY5Nc8weTDDDbt3+mAyk/dMsOdAODo6Pg5bzL89g+6HigtBGPEv7gUb+bFc=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxtge4rWUvQyJicN4n10DNJxQVUsp8b7p5eHqY4v9uW4Dyi2/UK
	/5vhF2VVlhy1PNrFAJynkxfuJeovOXkyVI4pGR1za1popg27XqugIY9L8R+fHh8rj6I=
X-Gm-Gg: ASbGncuM994h5v3/95/C+QABJztnTiqrFHI2iDvMyAvcqvwSVya0ml8Veaw+fnHw+GG
	PDWa4nNhXuG9CwnjytJV023y1btHgWQjkKJYGnCns1BVJXJ7mYQS3u04aDGJ9vOFZYN3+l+xYyw
	lAKwn1KHRPLHdeuOagLrv9hkEax8UoKmvPaxkMh/Wdq0m2MPUZU/yUisyaxl+ks8B6j6dnRIupz
	tkRaBDA9NWT3VYiv8dJJzKxJwSrmm3Vzys1pK+389G1q47u9Nu9h03MGGquHVaUgnXg9hKbIG13
	AaciYkegk+1aZrdgio04d9WO8deau7IZmi5Gg+zw/MbNXDR/oDy521Oh4RK/u7NeMOzsj//0f6l
	OB96s2OOqkgKyexvR3/f9OOfirU6piTGqcr29x4P+/aW6tI3f42yPi27lBeq1cfA346FW3p+wI/
	nsQ5y80nNom1hVfKtEV9djA1L2RIIkSNOVNA==
X-Google-Smtp-Source: AGHT+IE9xM+DjmIPHAHhwjDxoOTE12Qcr/H7INdQdE1eX1rc6ADmtIlZHiolNRZhrYsTdmmzcaYSrg==
X-Received: by 2002:a05:6000:2dc5:b0:3e7:6418:247b with SMTP id ffacd0b85a97d-4256713a13fmr3093697f8f.10.1759536846194;
        Fri, 03 Oct 2025 17:14:06 -0700 (PDT)
Message-ID: <deedfb23-496f-41aa-818f-f8d648b50648@citrix.com>
Date: Sat, 4 Oct 2025 01:14:04 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 02/22] x86/msr: Change wrmsr() to take a single
 parameter
To: Demi Marie Obenour <demiobenour@gmail.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
 <20251003225334.2123667-3-andrew.cooper3@citrix.com>
 <753f726e-baa8-44ab-92ed-df3cf8e89db1@gmail.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <753f726e-baa8-44ab-92ed-df3cf8e89db1@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 04/10/2025 1:11 am, Demi Marie Obenour wrote:
> On 10/3/25 18:53, Andrew Cooper wrote:
>> Mirroring the cleanup to rdmsr(), do the same to wrmsr().  It now has the same
>> API as wrmsrl(), but we'll want to drop that wrapper in due course.
>>
>> It's telling that almost all remaining users pass in 0.  Most are converted
>> directly to WRMSRNS, but a few are not.
>>
>> MSR_VIRT_SPEC_CTRL is unconditionally intercepted is orders of magnitude more
> "is unconditionally intercepted is" is this a typo?

There should be an 'and' in there.Â  Fixed locally.

~Andrew

>> expensive than just serialising.  In disable_lapic_nmi_watchdog(), the P4 case
>> won't run on hardware which has anything more than plain WRMSR.
>>



From xen-devel-bounces@lists.xenproject.org Sat Oct 04 03:30:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 04 Oct 2025 03:30:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1137230.1473561 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4sy4-0000Jj-JH; Sat, 04 Oct 2025 03:29:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1137230.1473561; Sat, 04 Oct 2025 03:29:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4sy4-0000Jc-G2; Sat, 04 Oct 2025 03:29:56 +0000
Received: by outflank-mailman (input) for mailman id 1137230;
 Sat, 04 Oct 2025 03:29: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
 <SRS0=q86o=4N=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1v4sy2-0000JW-Or
 for xen-devel@lists.xenproject.org; Sat, 04 Oct 2025 03:29:55 +0000
Received: from SJ2PR03CU001.outbound.protection.outlook.com
 (mail-westusazlp170120002.outbound.protection.outlook.com
 [2a01:111:f403:c001::2])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6301783e-a0d2-11f0-9d15-b5c5bf9af7f9;
 Sat, 04 Oct 2025 05:29:52 +0200 (CEST)
Received: from MN2PR12CA0005.namprd12.prod.outlook.com (2603:10b6:208:a8::18)
 by BL3PR12MB6380.namprd12.prod.outlook.com (2603:10b6:208:38d::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9160.18; Sat, 4 Oct
 2025 03:29:42 +0000
Received: from BN1PEPF0000468C.namprd05.prod.outlook.com
 (2603:10b6:208:a8:cafe::aa) by MN2PR12CA0005.outlook.office365.com
 (2603:10b6:208:a8::18) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9182.16 via Frontend Transport; Sat,
 4 Oct 2025 03:29:42 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 BN1PEPF0000468C.mail.protection.outlook.com (10.167.243.137) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9182.15 via Frontend Transport; Sat, 4 Oct 2025 03:29:41 +0000
Received: from satlexmb08.amd.com (10.181.42.217) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Fri, 3 Oct
 2025 20:29:41 -0700
Received: from [172.21.123.104] (10.180.168.240) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.17 via Frontend
 Transport; Fri, 3 Oct 2025 20:29:41 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6301783e-a0d2-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=i33zKxQwn33BsmFVbZVRsdPcwe4sCP9bsyOXXk3GSaOyiON9Xd98TIpJ9bexTyqYzRcnwHE81lE4P8840HJON/iYTsHOPgOP5Z5vxDDghrLprGhUT8Ldi1/uBu2A89yilXk1HI/nxQoobyvWxG47VSlgsdQKH48Dg9QDzEVZWBn+5odpx3ES8JZQB3LI8ZWv42FBfV+/NzAMi6f1zILfCIxNuJ9JoglK2ks0wtuwztzOjWRe1XYDiI/ysnpDX/Mqtdn97XeNMzNL7asPM0J+q9Dx7J0yep4eyGBPRH8roNjv/LIOPln/rs/LiO/3TVVJ1WHVFvDUtQMEWoRQvKosrQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8R1YFRXigT95lPv8yoX+NsZsTTWqclC+QUC8jHW5fdE=;
 b=kltMcIpiEjqW+VQqiKiud1MIlZohYnwUqBbyofz8R4Ce1q/uvOF3Zzlx/CtoVCC7eOMw6n3rRbUQklRakTFSrhnOAIczxVAzA0tz7AtFJf8oVsGC1ctWiXBnxnua+ZSFiyGDRar6zQSxUMmkhUERrWYu7efqWc9ZtR0Lm7AS3Ui1ozOfhl8bqY1bZTuZkes9o1+p3bWk8z/+Sk5pRKofxQ+c6MJyYlHEGVWf1wQhcA0prq/nw53D9NTsGs7KE/LGnW4vHgCK2wXLNKgW1NSOAidiYAh7NvGoNmBkw6BePxDyGv9+JJmX2XfG2ZLpD6xIS+SiDcXEftCNBR6Iglvlrg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=citrix.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8R1YFRXigT95lPv8yoX+NsZsTTWqclC+QUC8jHW5fdE=;
 b=Vx9+ORlcW+3DZL+y28Xjdc2vMiFidONOTsIy8M8A+ZeTC/PMoPS2xIdCY1u/Ggqkes5qk8Y2UNv/GhfdV+ufxNmivvxUiuJfH4cAjZP8m0k72DilBVBVbE8TEbN2hjhqyMhIuM1zCtBdjhik9BYUMVHvJmAsMAE9kpxIw8P5xrY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
Message-ID: <2d1737a7-58e3-48e3-ac16-1bda3947c929@amd.com>
Date: Fri, 3 Oct 2025 23:29:40 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21] vpci/msix: improve handling of bogus MSI-X
 capabilities
To: Roger Pau Monne <roger.pau@citrix.com>, <xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Oleksii Kurochko
	<oleksii.kurochko@gmail.com>
References: <20250929084149.70560-1-roger.pau@citrix.com>
Content-Language: en-US
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <20250929084149.70560-1-roger.pau@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF0000468C:EE_|BL3PR12MB6380:EE_
X-MS-Office365-Filtering-Correlation-Id: f0f5bf36-4ccc-49e8-c5ea-08de02f641a0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|36860700013|1800799024|30052699003|376014|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?QTBjREhPMi9VVk1wZjEwUGN0SEFjS2FMQi9pWk5LTVVhMGNEVnUyS05yL3Zw?=
 =?utf-8?B?dkx4R2tua0JEck01REdNV0h4clIzMThOaStzOUlCank0Uy9hZ2ZRWTBNWkox?=
 =?utf-8?B?Z2lSYWFqMWxQY0dheStIb3VjMDdkaFhPZzNCemR0bjNSM2lrNCtVQ3JkazZw?=
 =?utf-8?B?QnFlbmI1WFVYN2lwOWhONTJ3WkxFbU1mVXVwUVpFV0g5N3FqRWZkNUhTS0V3?=
 =?utf-8?B?RzZsb2N5Mmx4bjB3UVJZNjhic2JGN3RQTkhTOWVwMWYvV085K2N5bXdyV3Ez?=
 =?utf-8?B?dWFwTU1PMmVBMUNvTUxnbEdBeld1cU5QRGFVTGlMQ0hsQ3EwRW5qM21lVHpo?=
 =?utf-8?B?Nm5GUjFHR2VzNlN4Wm10LzVPZjY3d084cHA5Y212WGdOV3d1dk5QLzN1UEIw?=
 =?utf-8?B?dVd5bm5jMEdrSHFKZDNmbWRDQm9wcit0bGhWdVZlRTVqS0hVVkd6Q0M1N1F6?=
 =?utf-8?B?YUFMclNVUkxCbkVxVjhWUHk1RVhDbW01b0tkUDgvbXZId2RQNWNNQjJMYkdW?=
 =?utf-8?B?NGNuby9GRmErcVV5c2lIeHM1cDZTYjFoMDdHbVp4cnZacjREbjZRbHlYZUNR?=
 =?utf-8?B?QzhvUXFaVzlSUHhlbjB0MXg1RnFRZ0VnTlRJYTFDMTFVT3hmbWJUeUFsZGE1?=
 =?utf-8?B?d0NXeHgyNFRzbTBMUzdQWVlSLzVTWmZYUXFIcUNDMVFxbEdVakFUUHBUSW1h?=
 =?utf-8?B?b05RdVEyVitLbTdGQTFTbFJ4cFpaa0hIVjNnYS96ekxEWklzRTBMYTlmS0c0?=
 =?utf-8?B?WHlyMVh5MnhwQWF5Q0tvN2twdVRJQW44L1dTaHNCbU9JTDV4aW5VQ2VLUTVh?=
 =?utf-8?B?VUdNSHU2RFBLZDJJc21Ga256UUdzUllzRGJ0a3pSSnRaaXh0V3VEajExdGdh?=
 =?utf-8?B?a1VzZFlBM0E2T0ltV3hZOWJ6NEpteE03RDNqYU5BMTRBaUlhVDdPUXBtZjNF?=
 =?utf-8?B?RU9YWmJyNVdlNDNIclBjeDVjZmVFZ1JEd1paUCtyd0hTQ1VZUURwVmVOT05P?=
 =?utf-8?B?eGhOK1VweG9KeXE0MWxPTnBKbFNicE12NjM1cjVrSHFpUTBIaUpqeWp2bmRH?=
 =?utf-8?B?VEJtTWpUODVBRXAyZUZyc0VIUWNRM2liczNEMlYxY1hxTUFTdzEwWi9HZ09R?=
 =?utf-8?B?SzJsVGhqSFgxLzBUWDEyVEVIUkRLWGQzeHhqb0U0NzkxVFZ1cHJsbmw5QWpT?=
 =?utf-8?B?dHBYUFlnMWtNcWNvVHNkNHlPcmk3aThoTTBxYmJLaE1ubXZpNmJSaE52R2V5?=
 =?utf-8?B?WkZaL1o3VXdQbG9MV2pENTIxTUJ2d2pjZWZMdXJlRmk3aVhLRktVL0tFWlFN?=
 =?utf-8?B?aDFFeHJIRVNzS2VlcVBJYVl2SHJQSVpqQnRzbHFEemRSUTcycmpxcHhESFMv?=
 =?utf-8?B?a0U0dXI2OFRUWGZ0QWNGN0diWXdJVFFHOTVqUURjQ1RnbDRDMFlORzBtU0E3?=
 =?utf-8?B?Wkd1Sy9PTWpVUUo3YzVyM1ZYMnI4N3ZPNVBtQlcxZTZMV0cyWEJXRXp3Y09H?=
 =?utf-8?B?WnZMNzc4Y2JGdSs1MUxscGRnbmNtMFhGeXp1NHNmSitqNS9kMko2eFExUVFH?=
 =?utf-8?B?UDJMTi93WGVsUURFMGl5Y3VuMG5LZGpQRVhSR3lXVVZVaUdBVWxkSThMMmpP?=
 =?utf-8?B?NzlianNRbDFXcDlQcXZpVzY3akJ0WU1IekRTTTNla3QvOUNXdlhZWTM1UE9S?=
 =?utf-8?B?VlJKY3dQUm1NYXZsUDRxU0lQbWVnMmljUzZCb1B3K2ppNXRLRjNiRjNwMS9U?=
 =?utf-8?B?VmNqV2J1K0oyK2VMY3FMeXEzQm1DUmRnZVV0alVzRStudzd3cDRmSWhPSUNj?=
 =?utf-8?B?YW1GdnBTamxjTkc4TC96dEVleHVFWXpsUmFZZUNaeWRYNXV2b3dCbVpKWUcx?=
 =?utf-8?B?czdoa1hTSUt0VGJ2YjFrM2Z4NHlPa1NpVm1nbktyQjlQS1ZLWFI5QmFHVjJx?=
 =?utf-8?B?Z1RLY0hsQzY3MWxneXFuSHZLSU84Zmx1NDlYNSsvNmVsc1RidEF3bGNGODdX?=
 =?utf-8?B?S2VQYU81RFdWenJpQk5VNHVjeHMreWRSdUUycnhWYkpYemtPNndORUs0WVg2?=
 =?utf-8?B?c3EzL3Ezb3pMWkNzc0hoVGs3VGZFRzRRWHdXaXUxY3U4SEpFSmhLWVVwc0lX?=
 =?utf-8?Q?aTgU=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(36860700013)(1800799024)(30052699003)(376014)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Oct 2025 03:29:41.9011
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f0f5bf36-4ccc-49e8-c5ea-08de02f641a0
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN1PEPF0000468C.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR12MB6380

On 9/29/25 04:41, Roger Pau Monne wrote:
> I've had the luck to come across a PCI card that exposes a MSI-X capability
> where the BIR of the vector and PBA tables points at a BAR that has 0 size.
> 
> This doesn't play nice with the code in vpci_make_msix_hole(), as it would
> still use the address of such empty BAR (0) and attempt to crave a hole in

s/crave/carve/

> the p2m.  This leads to errors like the one below being reported by Xen:
> 
> d0v0 0000:22:00.0: existing mapping (mfn: 181c4300 type: 0) at 0 clobbers MSIX MMIO area
> 
> And the device left unable to enable memory decoding due to the failure
> reported by vpci_make_msix_hole().
> 
> Introduce checking in init_msix() to ensure the BARs containing the MSI-X
> tables are usable.  This requires checking that the BIR points to a
> non-empty BAR, and the offset and size of the MSI-X tables can fit in the
> target BAR.
> 
> This fixes booting PVH dom0 on Supermicro AS -2126HS-TN severs with AMD
> EPYC 9965 processors.  The broken device is:
> 
> 22:00.0 SATA controller: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] (rev 93)
> 
> There are multiple of those integrated controllers in the system, all
> broken in the same way.
> 
> Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
> ---
> Cc: Stewart Hildebrand <stewart.hildebrand@amd.com>
> Cc: Jan Beulich <jbeulich@suse.com>
> Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> 
> While not strictly a bugfix, I consider this a worthy improvement so that
> PVH dom0 has a chance to boot on hardware that exposes such broken MSI-X
> capabilities.  Hence I think this change should be considered for inclusion
> into 4.21.  There a risk of regressing on hardware that was already working
> with PVH, but given enough testing that should be minimal.
> ---
>  xen/drivers/vpci/msix.c | 50 ++++++++++++++++++++++++++++++++++++-----
>  1 file changed, 45 insertions(+), 5 deletions(-)
> 
> diff --git a/xen/drivers/vpci/msix.c b/xen/drivers/vpci/msix.c
> index 54a5070733aa..8458955d5bbb 100644
> --- a/xen/drivers/vpci/msix.c
> +++ b/xen/drivers/vpci/msix.c
> @@ -675,6 +675,51 @@ static int cf_check init_msix(struct pci_dev *pdev)
>      if ( !msix )
>          return -ENOMEM;
>  
> +    msix->tables[VPCI_MSIX_TABLE] =
> +        pci_conf_read32(pdev->sbdf, msix_table_offset_reg(msix_offset));
> +    msix->tables[VPCI_MSIX_PBA] =
> +        pci_conf_read32(pdev->sbdf, msix_pba_offset_reg(msix_offset));
> +
> +    /* Check that the provided BAR is valid. */
> +    for ( i = 0; i < ARRAY_SIZE(msix->tables); i++ )
> +    {
> +        const char *name = (i == VPCI_MSIX_TABLE) ? "vector" : "PBA";
> +        const struct vpci_bar *bars = pdev->vpci->header.bars;
> +        unsigned int bir = msix->tables[i] & PCI_MSIX_BIRMASK;
> +        unsigned int type;
> +        unsigned int offset = msix->tables[i] & ~PCI_MSIX_BIRMASK;
> +        unsigned int size =
> +            (i == VPCI_MSIX_TABLE) ? max_entries * PCI_MSIX_ENTRY_SIZE
> +                                   : ROUNDUP(DIV_ROUND_UP(max_entries, 8), 8);
> +
> +        if ( bir >= ARRAY_SIZE(pdev->vpci->header.bars) )

This assumes a type 0 header. For type 1 headers, bir values 2 and up are
also reserved.

> +        {
> +            printk(XENLOG_ERR "%pp: MSI-X %s table with out of range BIR %u\n",
> +                   &pdev->sbdf, name, bir);

Nit: placing the cleanup label at the end of the function and using 'rc' would
make it more amenable to future uses.

> + invalid:
> +            xfree(msix);
> +            return -ENODEV;
> +

Extraneous newline.

> +        }
> +
> +        type = bars[bir].type;
> +        if ( type != VPCI_BAR_MEM32 && type != VPCI_BAR_MEM64_LO )
> +        {
> +            printk(XENLOG_ERR
> +                   "%pp: MSI-X %s table at invalid BAR%u with type %u\n",
> +                   &pdev->sbdf, name, bir, type);
> +            goto invalid;
> +        }
> +
> +        if ( (uint64_t)offset + size > bars[bir].size )
> +        {
> +            printk(XENLOG_ERR
> +                   "%pp: MSI-X %s table offset %#x size %#x outside of BAR%u size %#lx\n",
> +                   &pdev->sbdf, name, offset, size, bir, bars[bir].size);
> +            goto invalid;
> +        }
> +    }
> +
>      rc = vpci_add_register(pdev->vpci, control_read, control_write,
>                             msix_control_reg(msix_offset), 2, msix);
>      if ( rc )
> @@ -686,11 +731,6 @@ static int cf_check init_msix(struct pci_dev *pdev)
>      msix->max_entries = max_entries;
>      msix->pdev = pdev;
>  
> -    msix->tables[VPCI_MSIX_TABLE] =
> -        pci_conf_read32(pdev->sbdf, msix_table_offset_reg(msix_offset));
> -    msix->tables[VPCI_MSIX_PBA] =
> -        pci_conf_read32(pdev->sbdf, msix_pba_offset_reg(msix_offset));
> -
>      for ( i = 0; i < max_entries; i++)
>      {
>          msix->entries[i].masked = true;



From xen-devel-bounces@lists.xenproject.org Sat Oct 04 06:50:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 04 Oct 2025 06:50:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1137262.1473571 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4w6F-0007L3-Th; Sat, 04 Oct 2025 06:50:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1137262.1473571; Sat, 04 Oct 2025 06:50:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v4w6F-0007Kw-Q1; Sat, 04 Oct 2025 06:50:35 +0000
Received: by outflank-mailman (input) for mailman id 1137262;
 Sat, 04 Oct 2025 06:50:34 +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
 <SRS0=Uhzs=4N=csgroup.eu=christophe.leroy@srs-se1.protection.inumbo.net>)
 id 1v4w6E-0007Kq-SO
 for xen-devel@lists.xenproject.org; Sat, 04 Oct 2025 06:50:34 +0000
Received: from pegase2.c-s.fr (pegase2.c-s.fr [93.17.235.10])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 6c3884fc-a0ee-11f0-9809-7dc792cee155;
 Sat, 04 Oct 2025 08:50:32 +0200 (CEST)
Received: from localhost (mailhub4.si.c-s.fr [172.26.127.67])
 by localhost (Postfix) with ESMTP id 4cdwNt1QHbz9sS7;
 Sat,  4 Oct 2025 08:19:42 +0200 (CEST)
Received: from pegase2.c-s.fr ([172.26.127.65])
 by localhost (pegase2.c-s.fr [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id b_idirMR5ok8; Sat,  4 Oct 2025 08:19:42 +0200 (CEST)
Received: from messagerie.si.c-s.fr (messagerie.si.c-s.fr [192.168.25.192])
 by pegase2.c-s.fr (Postfix) with ESMTP id 4cdwNt0Pvmz9sRy;
 Sat,  4 Oct 2025 08:19:42 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by messagerie.si.c-s.fr (Postfix) with ESMTP id E8E218B768;
 Sat,  4 Oct 2025 08:19:41 +0200 (CEST)
Received: from messagerie.si.c-s.fr ([127.0.0.1])
 by localhost (messagerie.si.c-s.fr [127.0.0.1]) (amavisd-new, port 10023)
 with ESMTP id FGXi2r7cLeL7; Sat,  4 Oct 2025 08:19:41 +0200 (CEST)
Received: from [192.168.235.99] (unknown [192.168.235.99])
 by messagerie.si.c-s.fr (Postfix) with ESMTP id A40F08B766;
 Sat,  4 Oct 2025 08:19:40 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6c3884fc-a0ee-11f0-9809-7dc792cee155
X-Virus-Scanned: amavisd-new at c-s.fr
X-Virus-Scanned: amavisd-new at c-s.fr
Message-ID: <909c5ab3-b3d3-4b5b-bc64-8b30c220ac92@csgroup.eu>
Date: Sat, 4 Oct 2025 08:19:40 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 4/9] powerpc: Convert to physical address DMA mapping
To: Jason Gunthorpe <jgg@nvidia.com>, Leon Romanovsky <leon@kernel.org>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>,
 Leon Romanovsky <leonro@nvidia.com>, Andreas Larsson <andreas@gaisler.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 "David S. Miller" <davem@davemloft.net>, Geoff Levand <geoff@infradead.org>,
 Helge Deller <deller@gmx.de>, Ingo Molnar <mingo@redhat.com>,
 iommu@lists.linux.dev,
 "James E.J. Bottomley" <James.Bottomley@hansenpartnership.com>,
 Jason Wang <jasowang@redhat.com>, Juergen Gross <jgross@suse.com>,
 linux-alpha@vger.kernel.org, linux-kernel@vger.kernel.org,
 linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org,
 linuxppc-dev@lists.ozlabs.org, Madhavan Srinivasan <maddy@linux.ibm.com>,
 Matt Turner <mattst88@gmail.com>, Michael Ellerman <mpe@ellerman.id.au>,
 "Michael S. Tsirkin" <mst@redhat.com>,
 Richard Henderson <richard.henderson@linaro.org>,
 sparclinux@vger.kernel.org, Stefano Stabellini <sstabellini@kernel.org>,
 Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
 Thomas Gleixner <tglx@linutronix.de>, virtualization@lists.linux.dev,
 x86@kernel.org, xen-devel@lists.xenproject.org,
 Magnus Lindholm <linmag7@gmail.com>
References: <cover.1759071169.git.leon@kernel.org>
 <f2b69a0ac2308cc8fd8635dceac951670d41cea2.1759071169.git.leon@kernel.org>
 <20251003163505.GI3360665@nvidia.com>
From: Christophe Leroy <christophe.leroy@csgroup.eu>
Content-Language: fr-FR
In-Reply-To: <20251003163505.GI3360665@nvidia.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



Le 03/10/2025 Ã  18:35, Jason Gunthorpe a Ã©critÂ :
> On Sun, Sep 28, 2025 at 06:02:24PM +0300, Leon Romanovsky wrote:
>> From: Leon Romanovsky <leonro@nvidia.com>
>>
>> Adapt PowerPC DMA to use physical addresses in order to prepare code
>> to removal .map_page and .unmap_page.
>>
>> Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
>> ---
>>   arch/powerpc/include/asm/iommu.h         |  8 +++---
>>   arch/powerpc/kernel/dma-iommu.c          | 22 +++++++---------
>>   arch/powerpc/kernel/iommu.c              | 14 +++++-----
>>   arch/powerpc/platforms/ps3/system-bus.c  | 33 ++++++++++++++----------
>>   arch/powerpc/platforms/pseries/ibmebus.c | 15 ++++++-----
>>   arch/powerpc/platforms/pseries/vio.c     | 21 ++++++++-------
>>   6 files changed, 60 insertions(+), 53 deletions(-)
> 
> I think this is good enough for PPC anything more looks quite hard

Can you tell what you have in mind ? What more would be interesting to 
do but looks hard ? Maybe it can be a follow-up change ?

Christophe

> 
> Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
> 
> Jason
> 



From xen-devel-bounces@lists.xenproject.org Sat Oct 04 20:02:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 04 Oct 2025 20:02:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1137389.1473581 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v58SR-0001nH-7g; Sat, 04 Oct 2025 20:02:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1137389.1473581; Sat, 04 Oct 2025 20:02:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v58SR-0001nA-4R; Sat, 04 Oct 2025 20:02:19 +0000
Received: by outflank-mailman (input) for mailman id 1137389;
 Sat, 04 Oct 2025 20:02:17 +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 <SRS0=1h6N=4N=nvidia.com=jgg@srs-se1.protection.inumbo.net>)
 id 1v58SP-0001n4-LR
 for xen-devel@lists.xenproject.org; Sat, 04 Oct 2025 20:02:17 +0000
Received: from SJ2PR03CU001.outbound.protection.outlook.com
 (mail-westusazlp170120002.outbound.protection.outlook.com
 [2a01:111:f403:c001::2])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 04df34f4-a15d-11f0-9809-7dc792cee155;
 Sat, 04 Oct 2025 22:02:14 +0200 (CEST)
Received: from PH7PR12MB5757.namprd12.prod.outlook.com (2603:10b6:510:1d0::13)
 by PH8PR12MB6964.namprd12.prod.outlook.com (2603:10b6:510:1bf::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.20; Sat, 4 Oct
 2025 20:02:06 +0000
Received: from PH7PR12MB5757.namprd12.prod.outlook.com
 ([fe80::f012:300c:6bf4:7632]) by PH7PR12MB5757.namprd12.prod.outlook.com
 ([fe80::f012:300c:6bf4:7632%2]) with mapi id 15.20.9182.015; Sat, 4 Oct 2025
 20:02:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 04df34f4-a15d-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=LhyKacLjUMDthF3K2Mi/orOdbBLNqjB7CKeHsCsMDIvTu/PZnfNPEOGWzpwb8enzuV5YPVS5JGFEYjMn5/NXyjJtEMVyDoIU5LC0dbk7E25qiSFpe7xHlclMVHo2DFAdh+7W/l5v/SrrwtCCFNLoI+KBv3NT5ZmWrO8aE+j9/Wdw/qhERMN2QceSgCIuv9O78wyvoXKsngSTTHODGD6Vtexzpdi3DaUODw2oh2bHtXIRtYKx98BhV7IDttLOm2uqeFFF3RNM/0x6Vrir7PTHiPy8ERGwtRqr48pG/XylqaRCzPM38VMs5EYbVbUHs/lU7aYcGenrfDm7WzeZeBM/8A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4ggoiRJiz2Tz/RE7CqNPZ9LXqpWAZN17aMszM2aHEb4=;
 b=MYVqB6xnUEl1ZpJbUO5LQX1ibif6TJEpOtxd536WJY2mn6+6tXJ9Wu7V8pxEXO+4GTDE5h/zbrGmyNpfgga6oBUEQHwllO+/0DN7Vjup/gTyvghv1cm8obDn0LiVL0bCzQ2n44xjx2vQOtP2fbCZyAX7+A2cyT7/kaaVZhNgkRK/AOtVqbDlvMT7Ah5uV9MvG61RFpSjlkgevHT4FI+yxrQML2CSJod+1rjI611QMq2MZMD5Qq0qx1rqaKmLANbpnyKsOiPWQmNnbPUFobM13IHYADGfGmLdt7yC/vdebP0nwK7TDT5aOSXOk2Lzp7h4ikOplFkqdADe62yfF7F1hA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com;
 dkim=pass header.d=nvidia.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;
 s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4ggoiRJiz2Tz/RE7CqNPZ9LXqpWAZN17aMszM2aHEb4=;
 b=DTJUp8zCi4kNEi0XzYC7PTJ67pqYffvYJyOE7e/GlAwlRERNWV4zBctem7JYDq0OcSGzA48GU0oKKYBW6luTq41Yub08qbnqvh/kC4BKTXbnw94iQKYbDbFqo0kwuCkKKoeuZgwjrzRQ6qU3ApPlJM8HhOVVGDrwlON0rNZNeo8+aKRGmg3xwsGrsGQeGbk3gOEJTHzjPoVkcfQvg6KKkT/OJ5GfbD4lLH1Oy0zwgHekzLBjLH2sEyprc+7ahV6Lzfbt19LOB8o8dWZ0LUaSt6SAn24UzNHW9b/h08ON7/Ggas+8kcZbjz30i8C48iBnWm9eara5sWOKsWdMO5gINw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=nvidia.com;
Date: Sat, 4 Oct 2025 17:02:04 -0300
From: Jason Gunthorpe <jgg@nvidia.com>
To: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: Leon Romanovsky <leon@kernel.org>,
	Marek Szyprowski <m.szyprowski@samsung.com>,
	Leon Romanovsky <leonro@nvidia.com>,
	Andreas Larsson <andreas@gaisler.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"David S. Miller" <davem@davemloft.net>,
	Geoff Levand <geoff@infradead.org>, Helge Deller <deller@gmx.de>,
	Ingo Molnar <mingo@redhat.com>, iommu@lists.linux.dev,
	"James E.J. Bottomley" <James.Bottomley@hansenpartnership.com>,
	Jason Wang <jasowang@redhat.com>, Juergen Gross <jgross@suse.com>,
	linux-alpha@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Matt Turner <mattst88@gmail.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	sparclinux@vger.kernel.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Thomas Gleixner <tglx@linutronix.de>,
	virtualization@lists.linux.dev, x86@kernel.org,
	xen-devel@lists.xenproject.org, Magnus Lindholm <linmag7@gmail.com>
Subject: Re: [PATCH v1 4/9] powerpc: Convert to physical address DMA mapping
Message-ID: <20251004200204.GK3360665@nvidia.com>
References: <cover.1759071169.git.leon@kernel.org>
 <f2b69a0ac2308cc8fd8635dceac951670d41cea2.1759071169.git.leon@kernel.org>
 <20251003163505.GI3360665@nvidia.com>
 <909c5ab3-b3d3-4b5b-bc64-8b30c220ac92@csgroup.eu>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <909c5ab3-b3d3-4b5b-bc64-8b30c220ac92@csgroup.eu>
X-ClientProxiedBy: BN9PR03CA0044.namprd03.prod.outlook.com
 (2603:10b6:408:fb::19) To PH7PR12MB5757.namprd12.prod.outlook.com
 (2603:10b6:510:1d0::13)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH7PR12MB5757:EE_|PH8PR12MB6964:EE_
X-MS-Office365-Filtering-Correlation-Id: f8ff58a9-652b-4bc7-f3fc-08de0380e4b2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|7416014|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?SG5HdVlQalBObFJFMmlOV2cxbVZlVk5SNHFEWWp2QUlEQ3pUZUxzbmQvMXZ6?=
 =?utf-8?B?bVNnT2JuZkYwYnlVbERQMkxTSEMxVDdvb3pmVFdvbG1VN0ExWUp4cmFyVXBx?=
 =?utf-8?B?SjczL3VIUEREcXd2aHZPVGlDUVA5OHh2SlBNRkF5d2JPRXU3WVBPYkJ1WklF?=
 =?utf-8?B?Wm8rWTJSRzMrODZpck1qR3l3QjB2dVE1U3JTelFoa3kzd3ErZDcrZmNsWGFu?=
 =?utf-8?B?cmVzWTFZTVhMbjlHMFZCL0Z6WDNUU1dWdUhIa2FZRDA2KzdDZE1sZDIwZStr?=
 =?utf-8?B?dkozZ1Y4L0drWkp0T1Z2cTJ3eWFhenkvNjFIV0lGYmRCVVZwbjhzcUxycnFt?=
 =?utf-8?B?L0VNZDFVMlB1QmVVRWNNd2gxRk9wbkxUbytHUkpoQmZUVzIvbm5iczdsTEo3?=
 =?utf-8?B?SUtVc05IS3U0QVNkT3JYNnc4blFQR3Fyb3FWdHVSUmJrYWZQVEdXbUdsc3NJ?=
 =?utf-8?B?eWltMU8vRS9ncGtzNGdpM3k2VzJZZnptYXVFTENUSm44bStaSWg0OWZMVHlW?=
 =?utf-8?B?dDY0V3BJSUl0VjJOUHZrc013QlRpZlBJUGhhbzNIM3ZwOVNEaytHT1F1YnNG?=
 =?utf-8?B?OEUyN2lUbXRWbUU2WlBDQ2RMS1VieG9tNDFFNGM5QU9ld3lINXEwd2xwVEM3?=
 =?utf-8?B?TjdXRXRuYXQ1NnJYVWN5dFBUYkg2ZFlPUVIvM3RrYmFSS0RHallweW5ibjFY?=
 =?utf-8?B?QUNFQXVJakgvd3NIbFpJV3ZseEt1RmtyN29GZC83anhEVXdrL3A2M2ZWRXBp?=
 =?utf-8?B?ZWQzdUtzWHJZK0J4cHdGUitpWXNVVGd0ejNQeDRPSXNlOGN4aFR3S0VVSi9i?=
 =?utf-8?B?SFV4clY1eDBtU0o4Znc2cXk1Si9qNHpsRzhPRXE1akpPNUU3K1dqb0NiNWtY?=
 =?utf-8?B?SzVMekdYZEZYWEFXUzhtSHM0dDFMeUZjRlVLdzQzS0hLM0tJeWtjeUc3Y2ti?=
 =?utf-8?B?VjEzNTFtNEZSZU1zK2VkY01EUmVnam9wTnhYd3hvZ1BwTGN2MVhFcndBTi92?=
 =?utf-8?B?NWE5dzRMRUJMTHI4MkJ4MzFJcFBCM2NDWWo5bWg4NHJPQ2pja3ZvcFgyWG9s?=
 =?utf-8?B?UWFkcDVrd3JFMEZIL2NLM0tkeUZJT281RGNzRW5zVG9sbjZWRUNLUHcwY1g0?=
 =?utf-8?B?bC9IRmovNHpqcnBJUllHTnlOcHFSaFU3aDEraStWeEZuaDc5TjBQZVZlQXFY?=
 =?utf-8?B?SDlJdXFrK2ZURkQ5RFl1SXZpS2dKamVrazVGN00wc20yTno2SUFTTDJGT3ll?=
 =?utf-8?B?bERacnNKb1pxZGhDcXAzek1BY2lqQkoxWFRzY09HV1RFVnFCRENKVGkzQ0hx?=
 =?utf-8?B?dTN0ai9Xcmd3djFRVmptQ0NCTjJJUU9CSWJZUDJtaTJWNlkvdU5LNXcyd3VT?=
 =?utf-8?B?RWkvVGQxbWh1UUJTd0RwcWd5dFNENU9sSis4LzlhcXo0Vk1jS1RhU3kyWkVN?=
 =?utf-8?B?dUtkU2NKbzB4cktJWWlRc2lKTlhKbk9XZHZjd2tTczZVWWhPa25SN0VNT0Ux?=
 =?utf-8?B?RHlTYTF6ckhreUFOT2FiUGEzR2x3OGdDa2RlYWM1QVl3d0JtQmhQMERRaUJq?=
 =?utf-8?B?NndyYzJscXl0ZDBCYjZUTWhKWEtPUUFHSERKNTlkbGtKaWoybFlablg2OG04?=
 =?utf-8?B?WUhaRFEvb0tQWHpwK1hod043RWs2TlcwcEgwaVl2dGo3MzBYbzF6V2lmTkFM?=
 =?utf-8?B?WjUrN3V3M1d0QjRNUkJiay94OXNCWTdheEZ6dHpnaUg5bThCb1g0eHhGb1dN?=
 =?utf-8?B?bjFaSW4yb0UwQ1RhZFMxblFxVVMyQlQ3WFBkNmUvdE01K25JQnlQN1ZmeE9p?=
 =?utf-8?B?VnpwRVJJTml1RFlNZHY5TnptRHRDVWFOZDB5NlJuT1pqQzhOT3VuekRZVFRn?=
 =?utf-8?B?ODF6dFVXNzdhTkVyZGQzN1d6OFdMbHhUMkJrTlVrYnhyam9QYjJ0d1Bhdy9z?=
 =?utf-8?Q?axQ4JuA5qDTmgdw215ssRBzg/EhPp5Yx?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH7PR12MB5757.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(7416014)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SFNtT3d1M3ZHa0JOK0VHYUY4ZGlYMDA5TFRxclZsQUozMGQxdmtGMk54L3Fk?=
 =?utf-8?B?RUZPTE1ZTDlKSjJrUG1kTUs5eTlXREZuNGFTd1k3V1FVTVAvM1BXdmR6Y0Q5?=
 =?utf-8?B?eWxLMVZtNVpWTUpDUC9oMk13YTN6bjhqOTFWV0JuWmNkU0V4MU9pdHYwZy9W?=
 =?utf-8?B?SDRTWUZZQ1RJUUY2aXJaZmxNS1dOTnJ3VTcxaWFZNWNkaVc2bUZROTM2NjRk?=
 =?utf-8?B?MDFITmJUWDE2MEhCL2lQRmkveUg5N3l6Y2x3MmNEd013cklBZ0Q4VzZvTDVm?=
 =?utf-8?B?U3dYMUorMFlMc21HYmxROVVHRk5UY2lac2lWWWM0ejN5R1Q1VHZjZWNnNGt6?=
 =?utf-8?B?YUVuR2NVWlBPM0pTZzQxN09SUGx3TEx0aEFHSjJndXRHRlBXTk1za3d4VlNZ?=
 =?utf-8?B?SENxOXlsR0lnd2Z3UnY0NXFmVGlPMVE0ekZoS1Z3MTJiNkNUNmUzWkpHSkxT?=
 =?utf-8?B?MTV0K3NoRnVhdytJK3hkRGRNZzRyd3RnNTJwejdWb3BwVDdwdGZiZ0htbm9F?=
 =?utf-8?B?TTUvanNYMDBtSGRST0JoZktvdG55VHFTZnJZaTQ2VkJTbkh3RUg5U0IyNzRI?=
 =?utf-8?B?TTIrVFdrMytkS0E2amcyRGdvcUhtTEc2NWlDMldoRzZjbTVvL1lQRjQvc2xK?=
 =?utf-8?B?cE5TNXlmbnY5VFJRRm8vYXZNY1E0U3VMTUdyaXZKNk9NWkxBQ1IwdWp4K1o0?=
 =?utf-8?B?UlArZ2Q2VCtkQ3RYVU82c1dERDAvMWhyZmY0MnpFVVRhcnpHTEFGRWVsN3NU?=
 =?utf-8?B?WHVnZEpjU3RVV0ZacHpoL25NLzMxbVgxUGV5R3h5T1BTWE0zRGdDclE4MWp0?=
 =?utf-8?B?a0lhWkNFb0FzbDNjVmNMRmhKZXpYdXp5eGRXRFQwcWFmZlYrTW1YbEY5TGJT?=
 =?utf-8?B?U0ExcDFEVERzZXdpdVVUVXRob1ZNTTF5aTFYU01rdXZZL0txMU9nVHVDSGtY?=
 =?utf-8?B?dkVOcjI1dXFEVzRVRkJ3SXgySVlUbVVRaWowQkNIdHNTRnpWbHJIZGpOYzlw?=
 =?utf-8?B?c1l3U1AxalNtNnVkSjVtRUhCZW83M0M4enl3VUw2TnZBWHMvdTRCQmZpYlAr?=
 =?utf-8?B?YW9seTVLazNKQm9HUCs0UGM3L3RVTlExTVpmWVMvUnVpdHJqcGFVdGxXR2lL?=
 =?utf-8?B?THY2SUJZekg3QUVwdDZZZzBaOXRtZUJoZTJXeFVFY2xsWE96UnZMU3ZkMndl?=
 =?utf-8?B?dERVUlRhMThMbTI5VE1iOHJVbktrODRaRkFkRFB2Z2N0dXdsdmVSKzJZeldF?=
 =?utf-8?B?TVhZbTBwZWYwa2FscW1XVGJicHJWL2krZStxdENYTzllMHdKVjdRcE9OV0Zz?=
 =?utf-8?B?bG8wNUhQOXZ4VDFoSllMaU4vV09icHZTN2kzN0Q5TlpxckJSdWlGUVhydXJH?=
 =?utf-8?B?MGMwWVJMNUtETFE5SkRQWG9NaVA3aGhuc0hqeGRoZmlLc1Mra2N5SEdrL0pO?=
 =?utf-8?B?YTh4ZG1HK01aYU5zaVZqREpoRlBqWnYycXYrQXp0SmtWbkZOTEtIakpnRkZZ?=
 =?utf-8?B?QW1WcGRCOFVIcktNTndBN2QwWWk4UC9ERDZQd1ZlTk5xMzVMZElyOEVvb3NF?=
 =?utf-8?B?SFNyZ0IyOWMxQkM5V25iVGs4YktXVnhCTU1SWlZGWksrdDlNSVdaSS92MGVW?=
 =?utf-8?B?RVN1Q2VpekhwR1l1WE5Wa0FxZGdjZzRlZUFSVlF5YTFDSEFZR3pmdUtabnIx?=
 =?utf-8?B?MlVFRkltSDBPTnIxNzU1Sm1YMG5qRHAzRERXTnJVV0xCaW43M2lDUStlMWhh?=
 =?utf-8?B?NjRKZlJ2REszaVVuK2lrSUh3Nkc1emlwdHdHNzBDa3ZzSHRDNFNPbE1tbWRx?=
 =?utf-8?B?Y2xVWlFncTFOWVNwNlNZeGw0SEdyNjhXUFVTMVlEa2xVM3lNaXd3cC84cmxp?=
 =?utf-8?B?SFJmcUQzS3d4Y2pvMWVjdEljcVJ1L1NWZ2pJR0IrZUJ0SlVGUmkwUmRlMVhl?=
 =?utf-8?B?MW8waHd6eDhpd3RkSnBNUmYyN1d2MmJBN1ErNmk0L2JOajZqeXZMRGdvcWgy?=
 =?utf-8?B?NTlpZ0Y2N0lHS0syOHc1SGdhOFVPeUlhL1BxUVJqSS9kUGpIWDVZSDlKNzVz?=
 =?utf-8?B?eklIUWw4ZmUxREJtNHMxa25QT2RQdG5INlFrL0lxUk1JbTI2VGtUNkwydzR2?=
 =?utf-8?Q?/aic=3D?=
X-OriginatorOrg: Nvidia.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f8ff58a9-652b-4bc7-f3fc-08de0380e4b2
X-MS-Exchange-CrossTenant-AuthSource: PH7PR12MB5757.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Oct 2025 20:02:06.2816
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: m4DvlEEQGlFkItrYRHh+eDfG5D1shdY/8IeIWNMDV7kkRWGSL+gF2kjnPJ6DwELC
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB6964

On Sat, Oct 04, 2025 at 08:19:40AM +0200, Christophe Leroy wrote:
> 
> 
> Le 03/10/2025 Ã  18:35, Jason Gunthorpe a Ã©critÂ :
> > On Sun, Sep 28, 2025 at 06:02:24PM +0300, Leon Romanovsky wrote:
> > > From: Leon Romanovsky <leonro@nvidia.com>
> > > 
> > > Adapt PowerPC DMA to use physical addresses in order to prepare code
> > > to removal .map_page and .unmap_page.
> > > 
> > > Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
> > > ---
> > >   arch/powerpc/include/asm/iommu.h         |  8 +++---
> > >   arch/powerpc/kernel/dma-iommu.c          | 22 +++++++---------
> > >   arch/powerpc/kernel/iommu.c              | 14 +++++-----
> > >   arch/powerpc/platforms/ps3/system-bus.c  | 33 ++++++++++++++----------
> > >   arch/powerpc/platforms/pseries/ibmebus.c | 15 ++++++-----
> > >   arch/powerpc/platforms/pseries/vio.c     | 21 ++++++++-------
> > >   6 files changed, 60 insertions(+), 53 deletions(-)
> > 
> > I think this is good enough for PPC anything more looks quite hard
> 
> Can you tell what you have in mind ? What more would be interesting to do
> but looks hard ? Maybe it can be a follow-up change ?

The phys_addr_t should be pushed down through the ops function pointer
and only the implementations that need the vaddr should call
virt_to_phys()

Ie try to avoid doing phys -> virt -> phys as it is not efficient.

Jason


From xen-devel-bounces@lists.xenproject.org Sun Oct 05 09:19:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 05 Oct 2025 09:19:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1137551.1473591 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5KtH-0005dW-Pf; Sun, 05 Oct 2025 09:18:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1137551.1473591; Sun, 05 Oct 2025 09:18:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5KtH-0005dP-Mg; Sun, 05 Oct 2025 09:18:51 +0000
Received: by outflank-mailman (input) for mailman id 1137551;
 Sun, 05 Oct 2025 09:18:51 +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 <SRS0=IXf/=4O=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1v5KtG-0005dJ-U3
 for xen-devel@lists.xenproject.org; Sun, 05 Oct 2025 09:18:50 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4d35909f-a1cc-11f0-9d15-b5c5bf9af7f9;
 Sun, 05 Oct 2025 11:18:49 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 795A921D61;
 Sun,  5 Oct 2025 09:18:48 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 4448313A39;
 Sun,  5 Oct 2025 09:18:48 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id SONBD/g34mjcewAAD6G6ig
 (envelope-from <jgross@suse.com>); Sun, 05 Oct 2025 09:18:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4d35909f-a1cc-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1759655928; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:  content-transfer-encoding:content-transfer-encoding;
	bh=+AiHD+yuxp0p/FZBZl4MKBM0GEgTQxDyMDQgOxsgIMA=;
	b=H+f1egBW2XSbcAQF6oE9eyGpuEd9KvASLzEqdn0BcQlhK2667pHPhIKT4nx5kA2aVE7NRV
	zzO3uBXJqxzzyfpnjZ7aW6Jb8oc4Day+Ws/A7y4TlVCCnWH3fHh//fpWurya0J6LfP7m4s
	AqHyMGb4CWKssIomoTwxQcuCjWiVtDk=
Authentication-Results: smtp-out1.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=H+f1egBW
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1759655928; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:  content-transfer-encoding:content-transfer-encoding;
	bh=+AiHD+yuxp0p/FZBZl4MKBM0GEgTQxDyMDQgOxsgIMA=;
	b=H+f1egBW2XSbcAQF6oE9eyGpuEd9KvASLzEqdn0BcQlhK2667pHPhIKT4nx5kA2aVE7NRV
	zzO3uBXJqxzzyfpnjZ7aW6Jb8oc4Day+Ws/A7y4TlVCCnWH3fHh//fpWurya0J6LfP7m4s
	AqHyMGb4CWKssIomoTwxQcuCjWiVtDk=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Jason Andryuk <jason.andryuk@amd.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Luca Fancellu <luca.fancellu@arm.com>
Subject: [PATCH] libs/guest: don't use unsigned long as type for PFNs
Date: Sun,  5 Oct 2025 11:18:45 +0200
Message-ID: <20251005091845.3725-1-jgross@suse.com>
X-Mailer: git-send-email 2.51.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spamd-Result: default: False [-1.51 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	SUSPICIOUS_RECIPS(1.50)[];
	MID_CONTAINS_FROM(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	R_MISSING_CHARSET(0.50)[];
	R_DKIM_ALLOW(-0.20)[suse.com:s=susede1];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	MX_GOOD(-0.01)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:mid,suse.com:dkim,suse.com:email];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	ARC_NA(0.00)[];
	MIME_TRACE(0.00)[0:+];
	FUZZY_RATELIMITED(0.00)[rspamd.com];
	TO_DN_SOME(0.00)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FROM_HAS_DN(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	TAGGED_RCPT(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	DKIM_TRACE(0.00)[suse.com:+];
	FREEMAIL_CC(0.00)[suse.com,vates.tech,amd.com,gmail.com,arm.com];
	RCVD_TLS_ALL(0.00)[];
	RCPT_COUNT_FIVE(0.00)[6];
	FREEMAIL_ENVRCPT(0.00)[gmail.com]
X-Spam-Flag: NO
X-Spam-Level: 
X-Rspamd-Queue-Id: 795A921D61
X-Rspamd-Server: rspamd2.dmz-prg2.suse.org
X-Rspamd-Action: no action
X-Spam-Score: -1.51

Declarations of xc_dom_console_init() and
xc_dom_console_set_disconnected() in libxenguest.h don't match their
implementation in the library.

Use xen_pfn_t for PFNs in the library to fix that.

Fixes: b6fc307b0b00 ("libs/guest: Set console as disconnected on resume")
Fixes: 971b7d5ecbcd ("libs/guest: Set console page to disconnected")
Reported-by: Luca Fancellu <luca.fancellu@arm.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/libs/guest/xg_dom_boot.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/tools/libs/guest/xg_dom_boot.c b/tools/libs/guest/xg_dom_boot.c
index f51b6a78c8..beeb4a7255 100644
--- a/tools/libs/guest/xg_dom_boot.c
+++ b/tools/libs/guest/xg_dom_boot.c
@@ -430,7 +430,7 @@ int xc_dom_gnttab_init(struct xc_dom_image *dom)
 
 static int dom_console_init(xc_interface *xch,
                             uint32_t domid,
-                            unsigned long dst_pfn,
+                            xen_pfn_t dst_pfn,
                             bool clear)
 {
     const size_t size = PAGE_SIZE;
@@ -451,14 +451,14 @@ static int dom_console_init(xc_interface *xch,
 
 int xc_dom_console_init(xc_interface *xch,
                         uint32_t domid,
-                        unsigned long dst_pfn)
+                        xen_pfn_t dst_pfn)
 {
     return dom_console_init(xch, domid, dst_pfn, true);
 }
 
 int xc_dom_console_set_disconnected(xc_interface *xch,
                                     uint32_t domid,
-                                    unsigned long dst_pfn)
+                                    xen_pfn_t dst_pfn)
 {
     return dom_console_init(xch, domid, dst_pfn, false);
 }
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Sun Oct 05 11:04:37 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 05 Oct 2025 11:04:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1137588.1473601 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5MXS-0001OX-4t; Sun, 05 Oct 2025 11:04:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1137588.1473601; Sun, 05 Oct 2025 11:04:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5MXS-0001OQ-1N; Sun, 05 Oct 2025 11:04:26 +0000
Received: by outflank-mailman (input) for mailman id 1137588;
 Sun, 05 Oct 2025 11:04: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
 <SRS0=dr0i=4O=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v5MXR-0001OK-3L
 for xen-devel@lists.xenproject.org; Sun, 05 Oct 2025 11:04:25 +0000
Received: from mail-wr1-x42c.google.com (mail-wr1-x42c.google.com
 [2a00:1450:4864:20::42c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0c5625a6-a1db-11f0-9809-7dc792cee155;
 Sun, 05 Oct 2025 13:04:22 +0200 (CEST)
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-3ecde0be34eso2565129f8f.1
 for <xen-devel@lists.xenproject.org>; Sun, 05 Oct 2025 04:04:22 -0700 (PDT)
Received: from [192.168.1.183] (host-92-22-57-86.as13285.net. [92.22.57.86])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4255d8f017esm16408913f8f.47.2025.10.05.04.04.21
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sun, 05 Oct 2025 04:04:21 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0c5625a6-a1db-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1759662262; x=1760267062; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=fYCEMSjHOTLgoFEpibhiw4BWGlHfLgPbNWAgu1n2jjw=;
        b=F1iSeGV6GavJyQIS+T8Iu83hvnXbSGrodeekdP1P48H5lNtzgcPWL7j5BhS3ubegrY
         fCcZ0T3Fi5a0nYoRZWFCkhdgROcVdOrnU5Br7TIY7a5iP65I16dEAA88Yd4rL9s9gYPw
         iNzeQA+txegZB9eH8jeg0H0N8oQb3HUbCjTxo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759662262; x=1760267062;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=fYCEMSjHOTLgoFEpibhiw4BWGlHfLgPbNWAgu1n2jjw=;
        b=CUGcq7HCfOownrD9jUKAKq6yXiOdu5u6m0fDgHUc6uQlQELvcU5LIhFuBskb0U68Ge
         dcOMR2Z7QvByWpEDA1V9ZHXybbHJtzYJF2hrBuqbH0V9O7jJYr1Se1mJNIaK/45Raypp
         +UCVQinxpEjRVG8n7RzR/d7WMGeqpWv3vi2XODQdGwkAwmIYVUkrhXU3yMeKgjPPsx4z
         UD8SzxYllTrCsiD7fxh9DrWwKMQ3miOx6w2rjYXh93c9pD+H1H6aN8H1uXFocjbtMK5L
         6BQfVogItyeYGrAMyoLqLNp1StYDzrP6oORjOp9JWs6fE7yU0egqyygsDaElLYjRPuwx
         DtXQ==
X-Forwarded-Encrypted: i=1; AJvYcCWKb+l1jP8OIhlMsYGIixRylglnKuFSRfTmrSIGw0TY8W1m3+6WMjZySKtSHWHMnlyviaDJob53hPY=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw9DQQN3UUBWckUg8Fgxk65X/kfMVan3DT4OES53nI3tsFg67jy
	ztcoDWlrrU7Zwp+cjM4G4FE6zHt9SrO4sOLJBYpR/l0d1ed/oFPUm1a2UcLY2b6fY0U=
X-Gm-Gg: ASbGncvzvGo4ztSh9kM0b6wBLJP1nwk+7507hTEbHm+2PUecyqSkRoKxMZXmnze+gYF
	epyR8KpFbDcGw3twImJKbqGC6kA56zV1Sq9irbzLTjDLEYJITXaqZeiJtFNlCaQEo4Y3hngBHzE
	prYa65BPf2DlG74CAK76/DrETortERqKUrtNk9mFV/S0Gu7BEMLWWtUST5PcNmYsjJDD0QIs7pm
	xQpqXktQZ/TpPo2EaE01djWagJ+FbbQYhAh2F0jTwZ8aKeCwbcqRlUIMsuFkQIbTCpzq7JyL4q8
	c1n7Y29qx9F28r6WN6blzivLVXcTqFlWXpHR/vztWIQIns9Agv9HJGNSHRh8Uv4me/0xJxVr3aY
	Mo+iPumr4O7YHQgNE7/FCXghXE/XlKMVt1tmoQNLHmBXMudGz644RaRLizTXeN90u8QRqaow+CW
	lKteKXKBn5WV1KQz3ehgaBIFI=
X-Google-Smtp-Source: AGHT+IFGJvgg9b8K6cXmfkz50e0hbFIpYJAJSpAUw6LA2fV1y+2cjYeOk9iPuwDF6xnPaxIbrtvRGQ==
X-Received: by 2002:a5d:5f83:0:b0:3ec:d9a8:3700 with SMTP id ffacd0b85a97d-42566c4b928mr6089724f8f.23.1759662262082;
        Sun, 05 Oct 2025 04:04:22 -0700 (PDT)
Message-ID: <9c5c6748-84c4-4be3-859c-929b3ded5afd@citrix.com>
Date: Sun, 5 Oct 2025 12:04:20 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] libs/guest: don't use unsigned long as type for PFNs
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Jason Andryuk <jason.andryuk@amd.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Luca Fancellu <luca.fancellu@arm.com>
References: <20251005091845.3725-1-jgross@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20251005091845.3725-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 05/10/2025 10:18 am, Juergen Gross wrote:
> Declarations of xc_dom_console_init() and
> xc_dom_console_set_disconnected() in libxenguest.h don't match their
> implementation in the library.

"Under arm32, xen_pfn_t is a uint64_t and wider than unsigned long."

>
> Use xen_pfn_t for PFNs in the library to fix that.
>
> Fixes: b6fc307b0b00 ("libs/guest: Set console as disconnected on resume")
> Fixes: 971b7d5ecbcd ("libs/guest: Set console page to disconnected")
> Reported-by: Luca Fancellu <luca.fancellu@arm.com>
> Signed-off-by: Juergen Gross <jgross@suse.com>

For this patch, Reveiwed-by: Andrew Cooper <andrew.cooper3@citrix.com>

However, another bug in these patches is the use of pfn.Â  gfn is the
correct term to be using.

~Andrew


From xen-devel-bounces@lists.xenproject.org Sun Oct 05 13:23:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 05 Oct 2025 13:23:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1137623.1473610 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5Ohk-0000Oi-JE; Sun, 05 Oct 2025 13:23:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1137623.1473610; Sun, 05 Oct 2025 13:23:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5Ohk-0000Ob-Fu; Sun, 05 Oct 2025 13:23:12 +0000
Received: by outflank-mailman (input) for mailman id 1137623;
 Sun, 05 Oct 2025 13:23:11 +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 <SRS0=ewCA=4O=kernel.org=leon@srs-se1.protection.inumbo.net>)
 id 1v5Ohj-0000OV-HA
 for xen-devel@lists.xenproject.org; Sun, 05 Oct 2025 13:23:11 +0000
Received: from tor.source.kernel.org (tor.source.kernel.org [172.105.4.254])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6e504889-a1ee-11f0-9809-7dc792cee155;
 Sun, 05 Oct 2025 15:23:08 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by tor.source.kernel.org (Postfix) with ESMTP id 7859B6013A;
 Sun,  5 Oct 2025 13:23:06 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0842BC4CEF4;
 Sun,  5 Oct 2025 13:23:05 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6e504889-a1ee-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1759670585;
	bh=6+uRFKM+xw8rM4uHQwSSsX/I531L8PAvk6zEHoLHg8M=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=eQI8MBWMG4tLc46rpbyggEqPm4RA0GD3UaTk7eYqkbWnOP1BLMQA8Bd0FFRadaCjl
	 rAIwUkukGk1MYrK6xzB125V9hLaAp82BATfNmpxYK900245SXx6HbOfKm5BRC0dbrv
	 5QIWkPRwZti2En9ftBy6nIGiRtg+huCzDNWJ5bjY2f8oES07rhnV70hSDpOBxrTa9X
	 YnSL7jBydSFF3hFNjyz3N+OAncXZLI72rMKNLj2nG6j611VESyMRDTNgD+W7pQflQI
	 0zasEU6xrBWNYwhvzi4ZbeidMKDY3niw7/pdc6/NWMpg9zZU2H3pgYKg6oaItVMxpH
	 /iMYZdttll/xg==
Date: Sun, 5 Oct 2025 16:22:59 +0300
From: Leon Romanovsky <leon@kernel.org>
To: Jason Gunthorpe <jgg@nvidia.com>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>,
	Andreas Larsson <andreas@gaisler.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"David S. Miller" <davem@davemloft.net>,
	Geoff Levand <geoff@infradead.org>, Helge Deller <deller@gmx.de>,
	Ingo Molnar <mingo@redhat.com>, iommu@lists.linux.dev,
	"James E.J. Bottomley" <James.Bottomley@hansenpartnership.com>,
	Jason Wang <jasowang@redhat.com>, Juergen Gross <jgross@suse.com>,
	linux-alpha@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Matt Turner <mattst88@gmail.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	sparclinux@vger.kernel.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Thomas Gleixner <tglx@linutronix.de>,
	virtualization@lists.linux.dev, x86@kernel.org,
	xen-devel@lists.xenproject.org, Magnus Lindholm <linmag7@gmail.com>
Subject: Re: [PATCH v1 3/9] parisc: Convert DMA map_page to map_phys interface
Message-ID: <20251005132259.GA21221@unreal>
References: <cover.1759071169.git.leon@kernel.org>
 <333ec4dabec16d3d913a93780bc6e7ddb5240fcf.1759071169.git.leon@kernel.org>
 <20251003150144.GC3360665@nvidia.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20251003150144.GC3360665@nvidia.com>

On Fri, Oct 03, 2025 at 12:01:44PM -0300, Jason Gunthorpe wrote:
> On Sun, Sep 28, 2025 at 06:02:23PM +0300, Leon Romanovsky wrote:
> > +ccio_map_phys(struct device *dev, phys_addr_t phys, size_t size,
> > +	      enum dma_data_direction direction, unsigned long attrs)
> >  {
> > -	return ccio_map_single(dev, page_address(page) + offset, size,
> > -			direction);
> > +	if (attrs & DMA_ATTR_MMIO)
> > +		return DMA_MAPPING_ERROR;
> > +
> > +	return ccio_map_single(dev, phys_to_virt(phys), size, direction);
> 
> This doesn't actually use the virt at all:
> 
> 	offset = ((unsigned long) addr) & ~IOVP_MASK;
> 	if((size % L1_CACHE_BYTES) || ((unsigned long)addr % L1_CACHE_BYTES))
> 		ccio_io_pdir_entry(pdir_start, KERNEL_SPACE, (unsigned long)addr, hint);
> 
> And ccio_io_pdir_entry():
> 	pa = lpa(vba);
> 
> Is a special instruction that uses virt but AI tells me that special
> LPA instruction is returning phys. Not sure if that is a different
> value than virt_to_phys()..
> 
> IDK, I'm not feeling brave enough to drop the LPA but maybe include
> this note in the commit message.
> 
It looks like I was chosen as a volunteer to do so. WDYT?

diff --git a/drivers/parisc/ccio-dma.c b/drivers/parisc/ccio-dma.c
index b00f6fc49063..4d73e67fbd54 100644
--- a/drivers/parisc/ccio-dma.c
+++ b/drivers/parisc/ccio-dma.c
@@ -517,10 +517,10 @@ static u32 hint_lookup[] = {
  * ccio_io_pdir_entry - Initialize an I/O Pdir.
  * @pdir_ptr: A pointer into I/O Pdir.
  * @sid: The Space Identifier.
- * @vba: The virtual address.
+ * @pba: The physical address.
  * @hints: The DMA Hint.
  *
- * Given a virtual address (vba, arg2) and space id, (sid, arg1),
+ * Given a physical address (pba, arg2) and space id, (sid, arg1),
  * load the I/O PDIR entry pointed to by pdir_ptr (arg0). Each IO Pdir
  * entry consists of 8 bytes as shown below (MSB == bit 0):
  *
@@ -543,7 +543,7 @@ static u32 hint_lookup[] = {
  * index are bits 12:19 of the value returned by LCI.
  */
 static void
-ccio_io_pdir_entry(__le64 *pdir_ptr, space_t sid, unsigned long vba,
+ccio_io_pdir_entry(__le64 *pdir_ptr, space_t sid, phys_addr_t pba,
                   unsigned long hints)
 {
        register unsigned long pa;
@@ -557,7 +557,7 @@ ccio_io_pdir_entry(__le64 *pdir_ptr, space_t sid, unsigned long vba,
        ** "hints" parm includes the VALID bit!
        ** "dep" clobbers the physical address offset bits as well.
        */
-       pa = lpa(vba);
+       pa = pba;
        asm volatile("depw  %1,31,12,%0" : "+r" (pa) : "r" (hints));
        ((u32 *)pdir_ptr)[1] = (u32) pa;

@@ -582,7 +582,7 @@ ccio_io_pdir_entry(__le64 *pdir_ptr, space_t sid, unsigned long vba,
        ** Grab virtual index [0:11]
        ** Deposit virt_idx bits into I/O PDIR word
        */
-       asm volatile ("lci %%r0(%1), %0" : "=r" (ci) : "r" (vba));
+       asm volatile ("lci %%r0(%1), %0" : "=r" (ci) : "r" (pba));
        asm volatile ("extru %1,19,12,%0" : "+r" (ci) : "r" (ci));
        asm volatile ("depw  %1,15,12,%0" : "+r" (pa) : "r" (ci));

@@ -704,14 +704,14 @@ ccio_dma_supported(struct device *dev, u64 mask)
 /**
  * ccio_map_single - Map an address range into the IOMMU.
  * @dev: The PCI device.
- * @addr: The start address of the DMA region.
+ * @addr: The physical address of the DMA region.
  * @size: The length of the DMA region.
  * @direction: The direction of the DMA transaction (to/from device).
  *
  * This function implements the pci_map_single function.
  */
 static dma_addr_t 
-ccio_map_single(struct device *dev, void *addr, size_t size,
+ccio_map_single(struct device *dev, phys_addr_t addr, size_t size,
                enum dma_data_direction direction)
 {
        int idx;
@@ -730,7 +730,7 @@ ccio_map_single(struct device *dev, void *addr, size_t size,
        BUG_ON(size <= 0);
 
        /* save offset bits */
-       offset = ((unsigned long) addr) & ~IOVP_MASK;
+       offset = offset_in_page(addr);
 
        /* round up to nearest IOVP_SIZE */
        size = ALIGN(size + offset, IOVP_SIZE);
@@ -746,15 +746,15 @@ ccio_map_single(struct device *dev, void *addr, size_t size,
 
        pdir_start = &(ioc->pdir_base[idx]);
 
-       DBG_RUN("%s() %px -> %#lx size: %zu\n",
-               __func__, addr, (long)(iovp | offset), size);
+       DBG_RUN("%s() %pa -> %#lx size: %zu\n",
+               __func__, &addr, (long)(iovp | offset), size);
 
        /* If not cacheline aligned, force SAFE_DMA on the whole mess */
-       if((size % L1_CACHE_BYTES) || ((unsigned long)addr % L1_CACHE_BYTES))
+       if((size % L1_CACHE_BYTES) || (addr % L1_CACHE_BYTES))
                hint |= HINT_SAFE_DMA;
 
        while(size > 0) {
-               ccio_io_pdir_entry(pdir_start, KERNEL_SPACE, (unsigned long)addr, hint);
+               ccio_io_pdir_entry(pdir_start, KERNEL_SPACE, addr, hint);
 
                DBG_RUN(" pdir %p %08x%08x\n",
                        pdir_start,
@@ -779,7 +779,7 @@ ccio_map_phys(struct device *dev, phys_addr_t phys, size_t size,
        if (unlikely(attrs & DMA_ATTR_MMIO))
                return DMA_MAPPING_ERROR;
 
-       return ccio_map_single(dev, phys_to_virt(phys), size, direction);
+       return ccio_map_single(dev, phys, size, direction);
 }
 
 
@@ -854,7 +854,8 @@ ccio_alloc(struct device *dev, size_t size, dma_addr_t *dma_handle, gfp_t flag,
 
        if (ret) {
                memset(ret, 0, size);
-               *dma_handle = ccio_map_single(dev, ret, size, DMA_BIDIRECTIONAL);
+               *dma_handle = ccio_map_single(dev, virt_to_phys(ret), size,
+                                             DMA_BIDIRECTIONAL);
        }
 
        return ret;
@@ -921,7 +922,7 @@ ccio_map_sg(struct device *dev, struct scatterlist *sglist, int nents,
        /* Fast path single entry scatterlists. */
        if (nents == 1) {
                sg_dma_address(sglist) = ccio_map_single(dev,
-                               sg_virt(sglist), sglist->length,
+                               sg_phys(sglist), sglist->length,
                                direction);
                sg_dma_len(sglist) = sglist->length;
                return 1;

> 
> Jason
> 


From xen-devel-bounces@lists.xenproject.org Sun Oct 05 14:23:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 05 Oct 2025 14:23:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1137648.1473620 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5Pdg-0007n3-PF; Sun, 05 Oct 2025 14:23:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1137648.1473620; Sun, 05 Oct 2025 14:23:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5Pdg-0007mw-MU; Sun, 05 Oct 2025 14:23:04 +0000
Received: by outflank-mailman (input) for mailman id 1137648;
 Sun, 05 Oct 2025 14:23:02 +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
 <SRS0=unmS=4O=hansenpartnership.com=James.Bottomley@srs-se1.protection.inumbo.net>)
 id 1v5Pde-0007mX-5d
 for xen-devel@lists.xenproject.org; Sun, 05 Oct 2025 14:23:02 +0000
Received: from lamorak.hansenpartnership.com (lamorak.hansenpartnership.com
 [198.37.111.173]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c9e89a5e-a1f6-11f0-9809-7dc792cee155;
 Sun, 05 Oct 2025 16:22:58 +0200 (CEST)
Received: from lingrow.int.hansenpartnership.com (unknown
 [IPv6:2601:5c4:4302:c21::a774])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange x25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
 (No client certificate requested)
 by lamorak.hansenpartnership.com (Postfix) with ESMTPSA id 33EB71C0014;
 Sun, 05 Oct 2025 10:22:55 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c9e89a5e-a1f6-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
	d=hansenpartnership.com; s=20151216; t=1759674176;
	bh=h8/0VfnLYGz2U7csWzqwHZseTDljgEdp48luuBTRQD0=;
	h=Message-ID:Subject:From:To:Date:In-Reply-To:References:From;
	b=dCWCKQasDDmqK86YFHFQ06W4cUGxZdmuJQrtlZTwnNAcPEgK5AX1S/RG1yah/ME4B
	 4ebSHYdCfn1lQa6cKNMnNG7E7Uhi4QcETyWOUnWc05NIdbLWDBSKArRXntDtwJ5mol
	 DZoaJC/udVyI3wt1O8PjwADf3RJ8EaBAdgp2DZZM=
Message-ID: <abe81a02173f0520145e15127da0b3d3f2ff244b.camel@HansenPartnership.com>
Subject: Re: [PATCH v1 3/9] parisc: Convert DMA map_page to map_phys
 interface
From: James Bottomley <James.Bottomley@HansenPartnership.com>
To: Jason Gunthorpe <jgg@nvidia.com>, Leon Romanovsky <leon@kernel.org>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>, Leon Romanovsky
 <leonro@nvidia.com>, Andreas Larsson <andreas@gaisler.com>, Borislav Petkov
 <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>, "David S.
 Miller" <davem@davemloft.net>, Geoff Levand <geoff@infradead.org>, Helge
 Deller <deller@gmx.de>, Ingo Molnar <mingo@redhat.com>,
 iommu@lists.linux.dev, Jason Wang <jasowang@redhat.com>, Juergen Gross
 <jgross@suse.com>, linux-alpha@vger.kernel.org, 
 linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, 
 linux-parisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, Madhavan
 Srinivasan <maddy@linux.ibm.com>, Matt Turner <mattst88@gmail.com>, Michael
 Ellerman <mpe@ellerman.id.au>, "Michael S. Tsirkin" <mst@redhat.com>,
 Richard Henderson <richard.henderson@linaro.org>,
 sparclinux@vger.kernel.org, Stefano Stabellini <sstabellini@kernel.org>,
 Thomas Bogendoerfer <tsbogend@alpha.franken.de>,  Thomas Gleixner
 <tglx@linutronix.de>, virtualization@lists.linux.dev, x86@kernel.org, 
 xen-devel@lists.xenproject.org, Magnus Lindholm <linmag7@gmail.com>
Date: Sun, 05 Oct 2025 10:22:54 -0400
In-Reply-To: <20251003150144.GC3360665@nvidia.com>
References: <cover.1759071169.git.leon@kernel.org>
	 <333ec4dabec16d3d913a93780bc6e7ddb5240fcf.1759071169.git.leon@kernel.org>
	 <20251003150144.GC3360665@nvidia.com>
Autocrypt: addr=James.Bottomley@HansenPartnership.com;
 prefer-encrypt=mutual;
 keydata=mQENBE58FlABCADPM714lRLxGmba4JFjkocqpj1/6/Cx+IXezcS22azZetzCXDpm2MfNElecY3qkFjfnoffQiw5rrOO0/oRSATOh8+2fmJ6el7naRbDuh+i8lVESfdlkoqX57H5R8h/UTIp6gn1mpNlxjQv6QSZbl551zQ1nmkSVRbA5TbEp4br5GZeJ58esmYDCBwxuFTsSsdzbOBNthLcudWpJZHURfMc0ew24By1nldL9F37AktNcCipKpC2U0NtGlJjYPNSVXrCd1izxKmO7te7BLP+7B4DNj1VRnaf8X9+VIApCi/l4Kdx+ZR3aLTqSuNsIMmXUJ3T8JRl+ag7kby/KBp+0OpotABEBAAG0N0phbWVzIEJvdHRvbWxleSA8SmFtZXMuQm90dG9tbGV5QEhhbnNlblBhcnRuZXJzaGlwLmNvbT6JAVgEEwEIAEICGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAhkBFiEE1WBuc8i0YnG+rZrfgUrkfCFIVNYFAmBLmY0FCRs1hL0ACgkQgUrkfCFIVNaEiQgAg18F4G7PGWQ68xqnIrccke7Reh5thjUz6kQIii6Dh64BDW6/UvXn20UxK2uSs/0TBLO81k1mV4c6rNE+H8b7IEjieGR9frBsp/+Q01JpToJfzzMUY7ZTDV1IXQZ+AY9L7vRzyimnJHx0Ba4JTlAyHB+Ly5i4Ab2+uZcnNfBXquWrG3oPWz+qPK88LJLya5Jxse1m1QT6R/isDuPivBzntLOooxPk+Cwf5sFAAJND+idTAzWzslexr9j7rtQ1UW6FjO4CvK9yVNz7dgG6FvEZl6J/HOr1rivtGgpCZTBzKNF8jg034n49zGfKkkzWLuXbPUOp3/oGfsKv8pnEu1c2GbQpSmFtZXMgQm90dG9tbGV5IDxqZWpiQGxpbnV4LnZuZXQuaWJtLmNvbT6JAVYEEwEIAEACGwMHCwkIBwMCAQYVC
	AIJCgsEFgIDAQIeAQIXgBYhBNVgbnPItGJxvq2a34FK5HwhSFTWBQJgS5mXBQkbNYS9AAoJEIFK5HwhSFTWEYEH/1YZpV+1uCI2MVz0wTRlnO/3OW/xnyigrw+K4cuO7MToo0tHJb/qL9CBJ2ddG6q+GTnF5kqUe87t7M7rSrIcAkIZMbJmtIbKk0j5EstyYqlE1HzvpmssGpg/8uJBBuWbU35af1ubKCjUs1+974mYXkfLmS0a6h+cG7atVLmyClIc2frd3o0zHF9+E7BaB+HQzT4lheQAXv9KI+63ksnbBpcZnS44t6mi1lzUE65+Am1z+1KJurF2Qbj4AkICzJjJa0bXa9DmFunjPhLbCU160LppaG3OksxuNOTkGCo/tEotDOotZNBYejWaXN2nr9WrH5hDfQ5zLayfKMtLSd33T9u0IUphbWVzIEJvdHRvbWxleSA8amVqYkBrZXJuZWwub3JnPokBVQQTAQgAPwIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AWIQTVYG5zyLRicb6tmt+BSuR8IUhU1gUCYEuZmAUJGzWEvQAKCRCBSuR8IUhU1gacCAC+QZN+RQd+FOoh5g884HQm8S07ON0/2EMiaXBiL6KQb5yP3w2PKEhug3+uPzugftUfgPEw6emRucrFFpwguhriGhB3pgWJIrTD4JUevrBgjEGOztJpbD73bLLyitSiPQZ6OFVOqIGhdqlc3n0qoNQ45n/w3LMVj6yP43SfBQeQGEdq4yHQxXPs0XQCbmr6Nf2p8mNsIKRYf90fCDmABH1lfZxoGJH/frQOBCJ9bMRNCNy+aFtjd5m8ka5M7gcDvM7TAsKhD5O5qFs4aJHGajF4gCGoWmXZGrISQvrNl9kWUhgsvoPqb2OTTeAQVRuV8C4FQamxzE3MRNH25j6s/qujtCRKYW1lcyBCb3R0b21sZXkgPGplamJAbGludXguaWJtLmNvbT6JAVQEEwEIAD
	4CGwMFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AWIQTVYG5zyLRicb6tmt+BSuR8IUhU1gUCYEuZmQUJGzWEvQAKCRCBSuR8IUhU1kyHB/9VIOkf8RapONUdZ+7FgEpDgESE/y3coDeeb8jrtJyeefWCA0sWU8GSc9KMcMoSUetUreB+fukeVTe/f2NcJ87Bkq5jUEWff4qsbqf5PPM+wlD873StFc6mP8koy8bb7QcH3asH9fDFXUz7Oz5ubI0sE8+qD+Pdlk5qmLY5IiZ4D98V239nrKIhDymcuL7VztyWfdFSnbVXmumIpi79Ox536P2aMe3/v+1jAsFQOIjThMo/2xmLkQiyacB2veMcBzBkcair5WC7SBgrz2YsMCbC37X7crDWmCI3xEuwRAeDNpmxhVCb7jEvigNfRWQ4TYQADdC4KsilPfuW8Edk/8tPtCVKYW1lcyBCb3R0b21sZXkgPEpCb3R0b21sZXlAT2Rpbi5jb20+iQEfBDABAgAJBQJXI+B0Ah0gAAoJEIFK5HwhSFTWzkwH+gOg1UG/oB2lc0DF3lAJPloSIDBW38D3rezXTUiJtAhenWrH2Cl/ejznjdTukxOcuR1bV8zxR9Zs9jhUin2tgCCxIbrdvFIoYilMMRKcue1q0IYQHaqjd7ko8BHn9UysuX8qltJFar0BOClIlH95gdKWJbK46mw7bsXeD66N9IhAsOMJt6mSJmUdIOMuKy4dD4X3adegKMmoTRvHOndZQClTZHiYt5ECRPO534Lb/gyKAKQkFiwirsgx11ZSx3zGlw28brco6ohSLMBylna/Pbbn5hII86cjrCXWtQ4mE0Y6ofeFjpmMdfSRUxy6LHYd3fxVq9PoAJTv7vQ6bLTDFNa0KkphbWVzIEJvdHRvbWxleSA8SkJvdHRvbWxleUBQYXJhbGxlbHMuY29tPokBHwQwAQIACQUCVyPgjAIdIAAKCRCBSuR8IUhU1tXiB/9D9OOU8qB
	CZPxkxB6ofp0j0pbZppRe6iCJ+btWBhSURz25DQzQNu5GVBRQt1Us6v3PPGU1cEWi5WL935nw+1hXPIVB3x8hElvdCO2aU61bMcpFd138AFHMHJ+emboKHblnhuY5+L1OlA1QmPw6wQooCor1h113lZiBZGrPFxjRYbWYVQmVaM6zhkiGgIkzQw/g9v57nAzYuBhFjnVHgmmu6/B0N8z6xD5sSPCZSjYSS38UG9w189S8HVr4eg54jReIEvLPRaxqVEnsoKmLisryyaw3EpqZcYAWoX0Am+58CXq3j5OvrCvbyqQIWFElba3Ka/oT7CnTdo/SUL/jPNobtCxKYW1lcyBCb3R0b21sZXkgPGplamJAaGFuc2VucGFydG5lcnNoaXAuY29tPokBVwQTAQgAQRYhBNVgbnPItGJxvq2a34FK5HwhSFTWBQJjg2eQAhsDBQkbNYS9BQsJCAcCAiICBhUKCQgLAgQWAgMBAh4HAheAAAoJEIFK5HwhSFTWbtAH/087y9vzXYAHMPbjd8etB/I3OEFKteFacXBRBRDKXI9ZqK5F/xvd1fuehwQWl2Y/sivD4cSAP0iM/rFOwv9GLyrr82pD/GV/+1iXt9kjlLY36/1U2qoyAczY+jsS72aZjWwcO7Og8IYTaRzlqif9Zpfj7Q0Q1e9SAefMlakI6dcZTSlZWaaXCefdPBCc7BZ0SFY4kIg0iqKaagdgQomwW61nJZ+woljMjgv3HKOkiJ+rcB/n+/moryd8RnDhNmvYASheazYvUwaF/aMj5rIb/0w5p6IbFax+wGF5RmH2U5NeUlhIkTodUF/P7g/cJf4HCL+RA1KU/xS9o8zrAOeut2+4UgRaZ7bmEwgqhkjOPQMBBwIDBH4GsIgL0yQij5S5ISDZmlR7qDQPcWUxMVx6zVPsAoITdjKFjaDmUATkS+l5zmiCrUBcJ6MBavPiYQ4kqn4/xwaJAbMEGAEIACYCGwIWIQTVYG5zyLRi
	cb6tmt+BSuR8IUhU1gUCZag0LwUJDwLkSQCBdiAEGRMIAB0WIQTnYEDbdso9F2cI+arnQslM7pishQUCWme25gAKCRDnQslM7pishdi9AQDyOvLYOBkylBqiTlJrMnGCCsWgGZwPpKq3e3s7JQ/xBAEAlx29pPY5z0RLyIDUsjf9mtkSNTaeaQ6TIjDrFa+8XH8JEIFK5HwhSFTWkasH/j7LL9WH9dRfwfTwuMMj1/KGzjU/4KFIu4uKxDaevKpGS7sDx4F56mafCdGD8u4+ri6bJr/3mmuzIdyger0vJdRlTrnpX3ONXvR57p1JHgCljehE1ZB0RCzIk0vKhdt8+CDBQWfKbbKBTmzA7wR68raMQb2D7nQ9d0KXXbtr7Hag29yj92aUAZ/sFoe9RhDOcRUptdYyPKU1JHgJyc0Z7HwNjRSJ4lKJSKP+Px0/XxT3gV3LaDLtHuHa2IujLEAKcPzTr5DOV+xsgA3iSwTYI6H5aEe+ZRv/rA4sdjqRiVpo2d044aCUFUNQ3PiIHPAZR3KK5O64m6+BJMDXBvgSsMy4VgRaZ7clEggqhkjOPQMBBwIDBMfuMuE+PECbOoYjkD0Teno7TDbcgxJNgPV7Y2lQbNBnexMLOEY6/xJzRi1Xm/o9mOyZ+VIj8h4G5V/eWSntNkwDAQgHiQE8BBgBCAAmAhsMFiEE1WBuc8i0YnG+rZrfgUrkfCFIVNYFAmWoNBwFCQ8C4/cACgkQgUrkfCFIVNZs4AgAnIjU1QEPLdpotiy3X01sKUO+hvcT3/Cd6g55sJyKJ5/U0o3f8fdSn6MWPhi1m62zbAxcLJFiTZ3OWNCZAMEvwHrXFb684Ey6yImQ9gm2dG2nVuCzr1+9gIaMSBeZ+4kUJqhdWSJjrNLQG38GbnBuYOJUD+x6oJ2AT10/mQfBVZ3qWDQXr/je2TSf0OIXaWyG6meG5yTqOEv0eaTH22yBb1nbodoZkmlMMb56jzRGZuorhFE06
	N0Eb0kiGz5cCIrHZoH10dHWoa7/Z+AzfL0caOKjcmsnUPcmcrqmWzJTEibLA81z15GBCrldfQVt+dF7Us2kc0hKUgaWeI8Gv4CzwLkCDQRUdhaZARAApeF9gbNSBBudW8xeMQIiB/CZwK4VOEP7nGHZn3UsWemsvE9lvjbFzbqcIkbUp2V6ExM5tyEgzio2BavLe1ZJGHVaKkL3cKLABoYi/yBLEnogPFzzYfK2fdipm2G+GhLaqfDxtAQ7cqXeo1TCsZLSvjD+kLVV1TvKlaHS8tUCh2oUyR7fTbv6WHi5H8DLyR0Pnbt9E9/Gcs1j11JX+MWJ7jset2FVDsB5U1LM70AjhXiDiQCtNJzKaqKdMei8zazWS50iMKKeo4m/adWBjG/8ld3fQ7/Hcj6Opkh8xPaCnmgDZovYGavw4Am2tjRqE6G6rPQpS0we5I6lSsKNBP/2FhLmI9fnsBnZC1l1NrASRSX1BK0xf4LYB2Ww3fYQmbbApAUBbWZ/1aQoc2ECKbSK9iW0gfZ8rDggfMw8nzpmEEExl0hU6wtJLymyDV+QGoPx5KwYK/6qAUNJQInUYz8z2ERM/HOI09Zu3jiauFBDtouSIraX/2DDvTf7Lfe1+ihARFSlp64kEMAsjKutNBK2u5oj4H7hQ7zD+BvWLHxMgysOtYYtwggweOrM/k3RndsZ/z3nsGqF0ggct1VLuH2eznDksI+KkZ3Bg0WihQyJ7Z9omgaQAyRDFct+jnJsv2Iza+xIvPei+fpbGNAyFvj0e+TsZoQGcC34/ipGwze651UAEQEAAYkBHwQoAQIACQUCVT6BaAIdAwAKCRCBSuR8IUhU1p5QCAC7pgjOM17Hxwqz9mlGELilYqjzNPUoZt5xslcTFGxj/QWNzu0K8gEQPePnc5dTfumzWL077nxhdKYtoqwm2C6fOmXiJBZx6khBfRqctUvN2DlOB6dFf5I+1QT9TRBvceGzw01E4Gi0xjWKAB6OII
	MAdnPcDVFzaXJdlAAJdjfg/lyJtAyxifflG8NnXJ3elwGqoBso84XBNWWzbc5VKmatzhYLOvXtfzDhu4mNPv/z7S1HTtRguI0NlH5RVBzSvfzybin9hysE3/+r3C0HJ2xiOHzucNAmG03aztzZYDMTbKQW4bQqeD5MJxT68vBYu8MtzfIe41lSLpb/qlwq1qg0iQElBBgBAgAPBQJUdhaZAhsMBQkA7U4AAAoJEIFK5HwhSFTW3YgH/AyJL2rlCvGrkLcas94ND9Pmn0cUlVrPl7wVGcIV+6I4nrw6u49TyqNMmsYam2YpjervJGgbvIbMzoHFCREi6R9XyUsw5w7GCRoWegw2blZYi5A52xe500+/RruG//MKfOtVUotu3N+u7FcXaYAg9gbYeGNZCV70vI+cnFgq0AEJRdjidzfCWVKPjafTo7jHeFxX7Q22kUfWOkMzzhoDbFg0jPhVYNiEXpNyXCwirzvKA7bvFwZPlRkbfihaiXDE7QKIUtQ10i5kw4C9rqDKwx8F0PaWDRF9gGaKd7/IJGHJaac/OcSJ36zxgkNgLsVX5GUroJ2GaZcR7W9Vppj5H+C4UgRkuRyTEwgqhkjOPQMBBwIDBOySomnsW2SkApXv1zUBaD38dFEj0LQeDEMdSE7bm1fnrdjAYt0f/CtbUUiDaPodQk2qeHzOP6wA/2K6rrjwNIWJAT0EGAEIACcDGyAEFiEE1WBuc8i0YnG+rZrfgUrkfCFIVNYFAmWoM/gFCQSxfmUACgkQgUrkfCFIVNZhTgf/VQxtQ5rgu2aoXh2KOH6naGzPKDkYDJ/K7XCJAq3nJYEpYN8G+F8mL/ql0hrihAsHfjmoDOlt+INa3AcG3v0jDZIMEzmcjAlu7g5NcXS3kntcMHgw3dCgE9eYDaKGipUCubdXvBaZWU6AUlTldaB8FE6u7It7+UO+IW4/L+KpLYKs8V5POInu2rqahlm7vgxY5iv4Txz4EvCW2e4dAlG
	8mT2Eh9SkH+YVOmaKsajgZgrBxA7fWmGoxXswEVxJIFj3vW7yNc0C5HaUdYa5iGOMs4kg2ht4s7yy7NRQuh7BifWjo6BQ6k4S1H+6axZucxhSV1L6zN9d+lr3Xo/vy1unzA==
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.3 
MIME-Version: 1.0

On Fri, 2025-10-03 at 12:01 -0300, Jason Gunthorpe wrote:
> On Sun, Sep 28, 2025 at 06:02:23PM +0300, Leon Romanovsky wrote:
> > +ccio_map_phys(struct device *dev, phys_addr_t phys, size_t size,
> > +	=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 enum dma_data_direction direction, uns=
igned long
> > attrs)
> > =C2=A0{
> > -	return ccio_map_single(dev, page_address(page) + offset,
> > size,
> > -			direction);
> > +	if (attrs & DMA_ATTR_MMIO)
> > +		return DMA_MAPPING_ERROR;
> > +
> > +	return ccio_map_single(dev, phys_to_virt(phys), size,
> > direction);
>=20
> This doesn't actually use the virt at all:
>=20
> 	offset =3D ((unsigned long) addr) & ~IOVP_MASK;
> 	if((size % L1_CACHE_BYTES) || ((unsigned long)addr %
> L1_CACHE_BYTES))
> 		ccio_io_pdir_entry(pdir_start, KERNEL_SPACE,
> (unsigned long)addr, hint);

Actually, it does: it has to; parisc caches are VIPT.  The iommu needs
to know both the physical address and the virtual tag (also called the
coherence index) to instruct the CPU to flush its cache.  The sole use
of the vba is in ccio_io_pdir_entry() which programs the IOMMU page
table.  The coherence index is pretty small because the largest VIPT
cache stride parisc has is 4MB and obviously the lower 12 bits (page
offset) are the same for both physical and virtual, so it's only the 10
bits between 4k and 4M that the iommu needs (the entry is 12 bits
because architecturally there were chips with a 16M stride planned for
but never produced).

>=20
> And ccio_io_pdir_entry():
> 	pa =3D lpa(vba);
>=20
> Is a special instruction that uses virt but AI tells me that special
> LPA instruction is returning phys. Not sure if that is a different
> value than virt_to_phys()..

That's right, so if you want to pass both phys and virt addresses to
the function, this could be dropped.

Regards,

James



From xen-devel-bounces@lists.xenproject.org Sun Oct 05 14:29:35 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 05 Oct 2025 14:29:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1137660.1473631 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5Pjq-0008OG-E5; Sun, 05 Oct 2025 14:29:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1137660.1473631; Sun, 05 Oct 2025 14:29:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5Pjq-0008O9-Ab; Sun, 05 Oct 2025 14:29:26 +0000
Received: by outflank-mailman (input) for mailman id 1137660;
 Sun, 05 Oct 2025 14:29:24 +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
 <SRS0=unmS=4O=hansenpartnership.com=James.Bottomley@srs-se1.protection.inumbo.net>)
 id 1v5Pjo-0008O3-BR
 for xen-devel@lists.xenproject.org; Sun, 05 Oct 2025 14:29:24 +0000
Received: from lamorak.hansenpartnership.com (lamorak.hansenpartnership.com
 [198.37.111.173]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id af1253ae-a1f7-11f0-9809-7dc792cee155;
 Sun, 05 Oct 2025 16:29:22 +0200 (CEST)
Received: from lingrow.int.hansenpartnership.com (unknown
 [IPv6:2601:5c4:4302:c21::a774])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange x25519) (No client certificate requested)
 by lamorak.hansenpartnership.com (Postfix) with ESMTPSA id A7B691C0096;
 Sun, 05 Oct 2025 10:29:19 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: af1253ae-a1f7-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
	d=hansenpartnership.com; s=20151216; t=1759674560;
	bh=hrsv2YDzWLNG7Ngtd7/6UjmmDS9vVj1AT8usgE7qgQI=;
	h=Message-ID:Subject:From:To:Date:In-Reply-To:References:From;
	b=Xjfl0yNWvNlgfTU8/EAtoWEJVM/U3ViTlMzofQd5PTmLzm6zW9WheCJfZQBWMf/Sx
	 PS4SvfONhUji+BpjFDo64XZP9T6ZIhKXhywCfLN/UQS3ZvwBWm/hIyqdey/rZSYGFE
	 L93/5IM0KbGEcCMPzv6xPzkYlBejcfGaIgzTmGwQ=
Message-ID: <ce05d6629571eba0a2f0a104fb5584021806addc.camel@HansenPartnership.com>
Subject: Re: [PATCH v1 3/9] parisc: Convert DMA map_page to map_phys
 interface
From: James Bottomley <James.Bottomley@HansenPartnership.com>
To: John David Anglin <dave.anglin@bell.net>, Jason Gunthorpe
 <jgg@nvidia.com>,  Leon Romanovsky <leon@kernel.org>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>, Leon Romanovsky
 <leonro@nvidia.com>, Andreas Larsson <andreas@gaisler.com>, Borislav Petkov
 <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>, "David S.
 Miller" <davem@davemloft.net>, Geoff Levand <geoff@infradead.org>, Helge
 Deller <deller@gmx.de>, Ingo Molnar <mingo@redhat.com>,
 iommu@lists.linux.dev, Jason Wang <jasowang@redhat.com>, Juergen Gross
 <jgross@suse.com>, linux-alpha@vger.kernel.org, 
 linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, 
 linux-parisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, Madhavan
 Srinivasan <maddy@linux.ibm.com>, Matt Turner <mattst88@gmail.com>, Michael
 Ellerman <mpe@ellerman.id.au>, "Michael S. Tsirkin" <mst@redhat.com>,
 Richard Henderson <richard.henderson@linaro.org>,
 sparclinux@vger.kernel.org, Stefano Stabellini <sstabellini@kernel.org>,
 Thomas Bogendoerfer <tsbogend@alpha.franken.de>,  Thomas Gleixner
 <tglx@linutronix.de>, virtualization@lists.linux.dev, x86@kernel.org, 
 xen-devel@lists.xenproject.org, Magnus Lindholm <linmag7@gmail.com>
Date: Sun, 05 Oct 2025 10:29:19 -0400
In-Reply-To: <610b10bc-1aa2-4fad-a40b-be5fcfa04430@bell.net>
References: <cover.1759071169.git.leon@kernel.org>
	 <333ec4dabec16d3d913a93780bc6e7ddb5240fcf.1759071169.git.leon@kernel.org>
	 <20251003150144.GC3360665@nvidia.com>
	 <610b10bc-1aa2-4fad-a40b-be5fcfa04430@bell.net>
Autocrypt: addr=James.Bottomley@HansenPartnership.com;
 prefer-encrypt=mutual;
 keydata=mQENBE58FlABCADPM714lRLxGmba4JFjkocqpj1/6/Cx+IXezcS22azZetzCXDpm2MfNElecY3qkFjfnoffQiw5rrOO0/oRSATOh8+2fmJ6el7naRbDuh+i8lVESfdlkoqX57H5R8h/UTIp6gn1mpNlxjQv6QSZbl551zQ1nmkSVRbA5TbEp4br5GZeJ58esmYDCBwxuFTsSsdzbOBNthLcudWpJZHURfMc0ew24By1nldL9F37AktNcCipKpC2U0NtGlJjYPNSVXrCd1izxKmO7te7BLP+7B4DNj1VRnaf8X9+VIApCi/l4Kdx+ZR3aLTqSuNsIMmXUJ3T8JRl+ag7kby/KBp+0OpotABEBAAG0N0phbWVzIEJvdHRvbWxleSA8SmFtZXMuQm90dG9tbGV5QEhhbnNlblBhcnRuZXJzaGlwLmNvbT6JAVgEEwEIAEICGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAhkBFiEE1WBuc8i0YnG+rZrfgUrkfCFIVNYFAmBLmY0FCRs1hL0ACgkQgUrkfCFIVNaEiQgAg18F4G7PGWQ68xqnIrccke7Reh5thjUz6kQIii6Dh64BDW6/UvXn20UxK2uSs/0TBLO81k1mV4c6rNE+H8b7IEjieGR9frBsp/+Q01JpToJfzzMUY7ZTDV1IXQZ+AY9L7vRzyimnJHx0Ba4JTlAyHB+Ly5i4Ab2+uZcnNfBXquWrG3oPWz+qPK88LJLya5Jxse1m1QT6R/isDuPivBzntLOooxPk+Cwf5sFAAJND+idTAzWzslexr9j7rtQ1UW6FjO4CvK9yVNz7dgG6FvEZl6J/HOr1rivtGgpCZTBzKNF8jg034n49zGfKkkzWLuXbPUOp3/oGfsKv8pnEu1c2GbQpSmFtZXMgQm90dG9tbGV5IDxqZWpiQGxpbnV4LnZuZXQuaWJtLmNvbT6JAVYEEwEIAEACGwMHCwkIBwMCAQYVC
	AIJCgsEFgIDAQIeAQIXgBYhBNVgbnPItGJxvq2a34FK5HwhSFTWBQJgS5mXBQkbNYS9AAoJEIFK5HwhSFTWEYEH/1YZpV+1uCI2MVz0wTRlnO/3OW/xnyigrw+K4cuO7MToo0tHJb/qL9CBJ2ddG6q+GTnF5kqUe87t7M7rSrIcAkIZMbJmtIbKk0j5EstyYqlE1HzvpmssGpg/8uJBBuWbU35af1ubKCjUs1+974mYXkfLmS0a6h+cG7atVLmyClIc2frd3o0zHF9+E7BaB+HQzT4lheQAXv9KI+63ksnbBpcZnS44t6mi1lzUE65+Am1z+1KJurF2Qbj4AkICzJjJa0bXa9DmFunjPhLbCU160LppaG3OksxuNOTkGCo/tEotDOotZNBYejWaXN2nr9WrH5hDfQ5zLayfKMtLSd33T9u0IUphbWVzIEJvdHRvbWxleSA8amVqYkBrZXJuZWwub3JnPokBVQQTAQgAPwIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AWIQTVYG5zyLRicb6tmt+BSuR8IUhU1gUCYEuZmAUJGzWEvQAKCRCBSuR8IUhU1gacCAC+QZN+RQd+FOoh5g884HQm8S07ON0/2EMiaXBiL6KQb5yP3w2PKEhug3+uPzugftUfgPEw6emRucrFFpwguhriGhB3pgWJIrTD4JUevrBgjEGOztJpbD73bLLyitSiPQZ6OFVOqIGhdqlc3n0qoNQ45n/w3LMVj6yP43SfBQeQGEdq4yHQxXPs0XQCbmr6Nf2p8mNsIKRYf90fCDmABH1lfZxoGJH/frQOBCJ9bMRNCNy+aFtjd5m8ka5M7gcDvM7TAsKhD5O5qFs4aJHGajF4gCGoWmXZGrISQvrNl9kWUhgsvoPqb2OTTeAQVRuV8C4FQamxzE3MRNH25j6s/qujtCRKYW1lcyBCb3R0b21sZXkgPGplamJAbGludXguaWJtLmNvbT6JAVQEEwEIAD
	4CGwMFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AWIQTVYG5zyLRicb6tmt+BSuR8IUhU1gUCYEuZmQUJGzWEvQAKCRCBSuR8IUhU1kyHB/9VIOkf8RapONUdZ+7FgEpDgESE/y3coDeeb8jrtJyeefWCA0sWU8GSc9KMcMoSUetUreB+fukeVTe/f2NcJ87Bkq5jUEWff4qsbqf5PPM+wlD873StFc6mP8koy8bb7QcH3asH9fDFXUz7Oz5ubI0sE8+qD+Pdlk5qmLY5IiZ4D98V239nrKIhDymcuL7VztyWfdFSnbVXmumIpi79Ox536P2aMe3/v+1jAsFQOIjThMo/2xmLkQiyacB2veMcBzBkcair5WC7SBgrz2YsMCbC37X7crDWmCI3xEuwRAeDNpmxhVCb7jEvigNfRWQ4TYQADdC4KsilPfuW8Edk/8tPtCVKYW1lcyBCb3R0b21sZXkgPEpCb3R0b21sZXlAT2Rpbi5jb20+iQEfBDABAgAJBQJXI+B0Ah0gAAoJEIFK5HwhSFTWzkwH+gOg1UG/oB2lc0DF3lAJPloSIDBW38D3rezXTUiJtAhenWrH2Cl/ejznjdTukxOcuR1bV8zxR9Zs9jhUin2tgCCxIbrdvFIoYilMMRKcue1q0IYQHaqjd7ko8BHn9UysuX8qltJFar0BOClIlH95gdKWJbK46mw7bsXeD66N9IhAsOMJt6mSJmUdIOMuKy4dD4X3adegKMmoTRvHOndZQClTZHiYt5ECRPO534Lb/gyKAKQkFiwirsgx11ZSx3zGlw28brco6ohSLMBylna/Pbbn5hII86cjrCXWtQ4mE0Y6ofeFjpmMdfSRUxy6LHYd3fxVq9PoAJTv7vQ6bLTDFNa0KkphbWVzIEJvdHRvbWxleSA8SkJvdHRvbWxleUBQYXJhbGxlbHMuY29tPokBHwQwAQIACQUCVyPgjAIdIAAKCRCBSuR8IUhU1tXiB/9D9OOU8qB
	CZPxkxB6ofp0j0pbZppRe6iCJ+btWBhSURz25DQzQNu5GVBRQt1Us6v3PPGU1cEWi5WL935nw+1hXPIVB3x8hElvdCO2aU61bMcpFd138AFHMHJ+emboKHblnhuY5+L1OlA1QmPw6wQooCor1h113lZiBZGrPFxjRYbWYVQmVaM6zhkiGgIkzQw/g9v57nAzYuBhFjnVHgmmu6/B0N8z6xD5sSPCZSjYSS38UG9w189S8HVr4eg54jReIEvLPRaxqVEnsoKmLisryyaw3EpqZcYAWoX0Am+58CXq3j5OvrCvbyqQIWFElba3Ka/oT7CnTdo/SUL/jPNobtCxKYW1lcyBCb3R0b21sZXkgPGplamJAaGFuc2VucGFydG5lcnNoaXAuY29tPokBVwQTAQgAQRYhBNVgbnPItGJxvq2a34FK5HwhSFTWBQJjg2eQAhsDBQkbNYS9BQsJCAcCAiICBhUKCQgLAgQWAgMBAh4HAheAAAoJEIFK5HwhSFTWbtAH/087y9vzXYAHMPbjd8etB/I3OEFKteFacXBRBRDKXI9ZqK5F/xvd1fuehwQWl2Y/sivD4cSAP0iM/rFOwv9GLyrr82pD/GV/+1iXt9kjlLY36/1U2qoyAczY+jsS72aZjWwcO7Og8IYTaRzlqif9Zpfj7Q0Q1e9SAefMlakI6dcZTSlZWaaXCefdPBCc7BZ0SFY4kIg0iqKaagdgQomwW61nJZ+woljMjgv3HKOkiJ+rcB/n+/moryd8RnDhNmvYASheazYvUwaF/aMj5rIb/0w5p6IbFax+wGF5RmH2U5NeUlhIkTodUF/P7g/cJf4HCL+RA1KU/xS9o8zrAOeut2+4UgRaZ7bmEwgqhkjOPQMBBwIDBH4GsIgL0yQij5S5ISDZmlR7qDQPcWUxMVx6zVPsAoITdjKFjaDmUATkS+l5zmiCrUBcJ6MBavPiYQ4kqn4/xwaJAbMEGAEIACYCGwIWIQTVYG5zyLRi
	cb6tmt+BSuR8IUhU1gUCZag0LwUJDwLkSQCBdiAEGRMIAB0WIQTnYEDbdso9F2cI+arnQslM7pishQUCWme25gAKCRDnQslM7pishdi9AQDyOvLYOBkylBqiTlJrMnGCCsWgGZwPpKq3e3s7JQ/xBAEAlx29pPY5z0RLyIDUsjf9mtkSNTaeaQ6TIjDrFa+8XH8JEIFK5HwhSFTWkasH/j7LL9WH9dRfwfTwuMMj1/KGzjU/4KFIu4uKxDaevKpGS7sDx4F56mafCdGD8u4+ri6bJr/3mmuzIdyger0vJdRlTrnpX3ONXvR57p1JHgCljehE1ZB0RCzIk0vKhdt8+CDBQWfKbbKBTmzA7wR68raMQb2D7nQ9d0KXXbtr7Hag29yj92aUAZ/sFoe9RhDOcRUptdYyPKU1JHgJyc0Z7HwNjRSJ4lKJSKP+Px0/XxT3gV3LaDLtHuHa2IujLEAKcPzTr5DOV+xsgA3iSwTYI6H5aEe+ZRv/rA4sdjqRiVpo2d044aCUFUNQ3PiIHPAZR3KK5O64m6+BJMDXBvgSsMy4VgRaZ7clEggqhkjOPQMBBwIDBMfuMuE+PECbOoYjkD0Teno7TDbcgxJNgPV7Y2lQbNBnexMLOEY6/xJzRi1Xm/o9mOyZ+VIj8h4G5V/eWSntNkwDAQgHiQE8BBgBCAAmAhsMFiEE1WBuc8i0YnG+rZrfgUrkfCFIVNYFAmWoNBwFCQ8C4/cACgkQgUrkfCFIVNZs4AgAnIjU1QEPLdpotiy3X01sKUO+hvcT3/Cd6g55sJyKJ5/U0o3f8fdSn6MWPhi1m62zbAxcLJFiTZ3OWNCZAMEvwHrXFb684Ey6yImQ9gm2dG2nVuCzr1+9gIaMSBeZ+4kUJqhdWSJjrNLQG38GbnBuYOJUD+x6oJ2AT10/mQfBVZ3qWDQXr/je2TSf0OIXaWyG6meG5yTqOEv0eaTH22yBb1nbodoZkmlMMb56jzRGZuorhFE06
	N0Eb0kiGz5cCIrHZoH10dHWoa7/Z+AzfL0caOKjcmsnUPcmcrqmWzJTEibLA81z15GBCrldfQVt+dF7Us2kc0hKUgaWeI8Gv4CzwLkCDQRUdhaZARAApeF9gbNSBBudW8xeMQIiB/CZwK4VOEP7nGHZn3UsWemsvE9lvjbFzbqcIkbUp2V6ExM5tyEgzio2BavLe1ZJGHVaKkL3cKLABoYi/yBLEnogPFzzYfK2fdipm2G+GhLaqfDxtAQ7cqXeo1TCsZLSvjD+kLVV1TvKlaHS8tUCh2oUyR7fTbv6WHi5H8DLyR0Pnbt9E9/Gcs1j11JX+MWJ7jset2FVDsB5U1LM70AjhXiDiQCtNJzKaqKdMei8zazWS50iMKKeo4m/adWBjG/8ld3fQ7/Hcj6Opkh8xPaCnmgDZovYGavw4Am2tjRqE6G6rPQpS0we5I6lSsKNBP/2FhLmI9fnsBnZC1l1NrASRSX1BK0xf4LYB2Ww3fYQmbbApAUBbWZ/1aQoc2ECKbSK9iW0gfZ8rDggfMw8nzpmEEExl0hU6wtJLymyDV+QGoPx5KwYK/6qAUNJQInUYz8z2ERM/HOI09Zu3jiauFBDtouSIraX/2DDvTf7Lfe1+ihARFSlp64kEMAsjKutNBK2u5oj4H7hQ7zD+BvWLHxMgysOtYYtwggweOrM/k3RndsZ/z3nsGqF0ggct1VLuH2eznDksI+KkZ3Bg0WihQyJ7Z9omgaQAyRDFct+jnJsv2Iza+xIvPei+fpbGNAyFvj0e+TsZoQGcC34/ipGwze651UAEQEAAYkBHwQoAQIACQUCVT6BaAIdAwAKCRCBSuR8IUhU1p5QCAC7pgjOM17Hxwqz9mlGELilYqjzNPUoZt5xslcTFGxj/QWNzu0K8gEQPePnc5dTfumzWL077nxhdKYtoqwm2C6fOmXiJBZx6khBfRqctUvN2DlOB6dFf5I+1QT9TRBvceGzw01E4Gi0xjWKAB6OII
	MAdnPcDVFzaXJdlAAJdjfg/lyJtAyxifflG8NnXJ3elwGqoBso84XBNWWzbc5VKmatzhYLOvXtfzDhu4mNPv/z7S1HTtRguI0NlH5RVBzSvfzybin9hysE3/+r3C0HJ2xiOHzucNAmG03aztzZYDMTbKQW4bQqeD5MJxT68vBYu8MtzfIe41lSLpb/qlwq1qg0iQElBBgBAgAPBQJUdhaZAhsMBQkA7U4AAAoJEIFK5HwhSFTW3YgH/AyJL2rlCvGrkLcas94ND9Pmn0cUlVrPl7wVGcIV+6I4nrw6u49TyqNMmsYam2YpjervJGgbvIbMzoHFCREi6R9XyUsw5w7GCRoWegw2blZYi5A52xe500+/RruG//MKfOtVUotu3N+u7FcXaYAg9gbYeGNZCV70vI+cnFgq0AEJRdjidzfCWVKPjafTo7jHeFxX7Q22kUfWOkMzzhoDbFg0jPhVYNiEXpNyXCwirzvKA7bvFwZPlRkbfihaiXDE7QKIUtQ10i5kw4C9rqDKwx8F0PaWDRF9gGaKd7/IJGHJaac/OcSJ36zxgkNgLsVX5GUroJ2GaZcR7W9Vppj5H+C4UgRkuRyTEwgqhkjOPQMBBwIDBOySomnsW2SkApXv1zUBaD38dFEj0LQeDEMdSE7bm1fnrdjAYt0f/CtbUUiDaPodQk2qeHzOP6wA/2K6rrjwNIWJAT0EGAEIACcDGyAEFiEE1WBuc8i0YnG+rZrfgUrkfCFIVNYFAmWoM/gFCQSxfmUACgkQgUrkfCFIVNZhTgf/VQxtQ5rgu2aoXh2KOH6naGzPKDkYDJ/K7XCJAq3nJYEpYN8G+F8mL/ql0hrihAsHfjmoDOlt+INa3AcG3v0jDZIMEzmcjAlu7g5NcXS3kntcMHgw3dCgE9eYDaKGipUCubdXvBaZWU6AUlTldaB8FE6u7It7+UO+IW4/L+KpLYKs8V5POInu2rqahlm7vgxY5iv4Txz4EvCW2e4dAlG
	8mT2Eh9SkH+YVOmaKsajgZgrBxA7fWmGoxXswEVxJIFj3vW7yNc0C5HaUdYa5iGOMs4kg2ht4s7yy7NRQuh7BifWjo6BQ6k4S1H+6axZucxhSV1L6zN9d+lr3Xo/vy1unzA==
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.3 
MIME-Version: 1.0

On Fri, 2025-10-03 at 13:18 -0400, John David Anglin wrote:
> On 2025-10-03 11:01 a.m., Jason Gunthorpe wrote:
> > This doesn't actually use the virt at all:
> >=20
> > 	offset =3D ((unsigned long) addr) & ~IOVP_MASK;
> > 	if((size % L1_CACHE_BYTES) || ((unsigned long)addr %
> > L1_CACHE_BYTES))
> > 		ccio_io_pdir_entry(pdir_start, KERNEL_SPACE,
> > (unsigned long)addr, hint);
> >=20
> > And ccio_io_pdir_entry():
> > 	pa =3D lpa(vba);
> >=20
> > Is a special instruction that uses virt but AI tells me that
> > special LPA instruction is returning phys. Not sure if that is a
> > different value than virt_to_phys()..
>=20
> ccio_io_pdir_entry currently only supports KERNEL_SPACE.

Actually there's a bit more nuance to it than that.  Obviously DMA has
to support user pages otherwise I/O wouldn't work.  The way it does  is
that all physical pages are mapped in the kernel and we try to make
sure all user mappings are on cache stride (4MB) boundaries so the
coherence index of the kernel virtual address and the user virtual
address are the same, so we can solely use the kernel virtual address
to calculate the coherence index for the IOMMU.  If that's not true, we
flush the user virtual address range in gup and the kernel virtual
address range before sending the I/O completion.

Regards,

James




From xen-devel-bounces@lists.xenproject.org Sun Oct 05 17:39:32 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 05 Oct 2025 17:39:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1137696.1473641 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5Sha-0005GU-TW; Sun, 05 Oct 2025 17:39:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1137696.1473641; Sun, 05 Oct 2025 17:39:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5Sha-0005GN-Pt; Sun, 05 Oct 2025 17:39:18 +0000
Received: by outflank-mailman (input) for mailman id 1137696;
 Sun, 05 Oct 2025 17:39:17 +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
 <SRS0=AseM=4O=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1v5ShZ-0005GH-GG
 for xen-devel@lists.xenproject.org; Sun, 05 Oct 2025 17:39:17 +0000
Received: from MRWPR03CU001.outbound.protection.outlook.com
 (mail-francesouthazlp170110003.outbound.protection.outlook.com
 [2a01:111:f403:c207::3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 36196d94-a212-11f0-9d15-b5c5bf9af7f9;
 Sun, 05 Oct 2025 19:39:15 +0200 (CEST)
Received: from AM0PR03CA0033.eurprd03.prod.outlook.com (2603:10a6:208:14::46)
 by PAWPR08MB10994.eurprd08.prod.outlook.com (2603:10a6:102:469::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.20; Sun, 5 Oct
 2025 17:39:07 +0000
Received: from AMS0EPF000001A9.eurprd05.prod.outlook.com
 (2603:10a6:208:14:cafe::45) by AM0PR03CA0033.outlook.office365.com
 (2603:10a6:208:14::46) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9182.20 via Frontend Transport; Sun,
 5 Oct 2025 17:39:09 +0000
Received: from outbound-uk1.az.dlp.m.darktrace.com (4.158.2.129) by
 AMS0EPF000001A9.mail.protection.outlook.com (10.167.16.149) with Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9203.9
 via Frontend Transport; Sun, 5 Oct 2025 17:39:06 +0000
Received: from DU2PR08MB7272.eurprd08.prod.outlook.com (2603:10a6:10:2d7::16)
 by AM8PR08MB6546.eurprd08.prod.outlook.com (2603:10a6:20b:355::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.18; Sun, 5 Oct
 2025 17:38:28 +0000
Received: from DU2PR08MB7272.eurprd08.prod.outlook.com
 ([fe80::ab1e:55db:9d8:afbc]) by DU2PR08MB7272.eurprd08.prod.outlook.com
 ([fe80::ab1e:55db:9d8:afbc%5]) with mapi id 15.20.9182.017; Sun, 5 Oct 2025
 17:38:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 36196d94-a212-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=aliOr0Pc9zsKfINPdm7WKpBTjB+6KoIlHmo0lRr3uuKWIu4nLXOGv+NVpyducDU5d5qNQyAC+JGeoPYpu58wUNX44ZBfo1xySnwX2X950V24fNWg4o2nV0j9dkeu81KfRX1PIr20z5rceG+AgUGiN/O81CxdErO98T8RrNp1ta67WFHZ710SXR3NEi/B/5/8HqnVDPI+UvdV09wburhO5XvRNJgxtnraET2KGFL+loX44GQcqITm1a+2qmKFbXXjgpzNLE7/I3BXVjw9ut/4pUUziNLbai0I6Q/CtBHsNJ+sEE5AEsFekBcWc+DSOcGy4+slTNcDqX5x/tRSzwCAcA==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3yXcvQrDmEbzbteC/XtariP88OVnZu0UZSMXpAcc0CQ=;
 b=NxbKM3mTb02vcB2+leLgBdpKjLT4Zn127HI87G9RyoS2oJmnnzIba57Tjbn1UV2br2ZDx7maG10jUNha6pkImL6HxYs0AL/RqEjGGKbuJfzifPE0lSLw+FbgDKQzKtHlHh+Xt9LVXgtlZPUJxI8DVPNVutgMroxoc1JingGsD4nRt/VKxbRv8OqYEZnRDaDSdcnNdtcU4pz+H+T3j114my6nZlJoNUbLl4exKLo7SuadQzbyFUFSL+8GWz78/A6ucm35ED8ZStp3DO201jSNAqRayk24FPLhfxwztrEkJV6HJkez13jFKjT0rvrtjk+/0tWTWIXgFYXt/z4quF9SGA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 4.158.2.129) smtp.rcpttodomain=suse.com smtp.mailfrom=arm.com; dmarc=pass
 (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass
 (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1
 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3yXcvQrDmEbzbteC/XtariP88OVnZu0UZSMXpAcc0CQ=;
 b=WTanWgMj+0vT0Z+OOB2EDFshWZD1XUHl6+aPlGi94lxyZGEpDpLxgaIRzMTClgNAQ4iXnb8kcboVAHyb2tf+EiN0eo76QJdGNeMysDl0z9YqspjX/FtClFIebD+Dx4ifrpQM59lsmcyfzZV/6MCNaTbwdLouP0NfIWA4ZAhRVew=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 4.158.2.129)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=arm.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 4.158.2.129 as permitted sender) receiver=protection.outlook.com;
 client-ip=4.158.2.129; helo=outbound-uk1.az.dlp.m.darktrace.com; pr=C
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=fcy7WfcjCSgSHjz4zfTBYOnfwD8s3k0f9t5a24er04UtMob0bczCsyZkyS2oWWwtMY5dO1E9mxta3oQ8g/OACkwf35bJq6TBYPu7Dab6UFS3XC/khQtc8xyhKy02627hlQPYBG+yYGbIzBRWafiqUcBzB3NJ5Y0glOqykrLFWZtdHeImHyCKm3Yo281muPX/vFX3eMKPJV9qyJV4UuCeGlWpzuFeG57qE36GZdVkc7A1bL4Eh1rPd9zrBZLzuIfoXcR9MWcA6GMLW9LEmcDI5QSppMHC6FdPOEv4occSP3JETJUiHqd2OQCoJ/+I4EDUEfIdfyvJNIiiw45538NcuA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3yXcvQrDmEbzbteC/XtariP88OVnZu0UZSMXpAcc0CQ=;
 b=SRT+WSrz/qLlfi9/vP2NzLMGWDKtkbQKZwBgx0UIjBNP4NUk0gJwwTIB3FCf2MMCnpP5zkMuhqKL0ZTUq6vcwyfyowtL3y26W05X2Wy1ZONwwtM0XAfYw/a0fhcrkWZgqhqyxp6UMAa2c296jPke3UqOPkiuiKQ/RYsxdMnr4HW1LTS0ywfC9Yc58q+IttoD9w56DS29Mz7uZo41E27JuiGfcyRIjn0THx4PXX4zsbOCdLT25M38l+L7SDgJRrxZYpLKsUYWgKpz4wsi2V5v5dBIu7K/xQQpeDAd+A61pyjNOQJh6v1B0FbP2XoGiFgP8mm8JyCpKRf8jjlu6Xec7w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3yXcvQrDmEbzbteC/XtariP88OVnZu0UZSMXpAcc0CQ=;
 b=WTanWgMj+0vT0Z+OOB2EDFshWZD1XUHl6+aPlGi94lxyZGEpDpLxgaIRzMTClgNAQ4iXnb8kcboVAHyb2tf+EiN0eo76QJdGNeMysDl0z9YqspjX/FtClFIebD+Dx4ifrpQM59lsmcyfzZV/6MCNaTbwdLouP0NfIWA4ZAhRVew=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Juergen Gross <jgross@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Anthony
 PERARD <anthony.perard@vates.tech>, Jason Andryuk <jason.andryuk@amd.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH] libs/guest: don't use unsigned long as type for PFNs
Thread-Topic: [PATCH] libs/guest: don't use unsigned long as type for PFNs
Thread-Index: AQHcNdkTMbnaztptskylYrL8jhUvD7Sz0eCA
Date: Sun, 5 Oct 2025 17:38:28 +0000
Message-ID: <5331F776-FA04-47C6-BEE6-0BF04306A605@arm.com>
References: <20251005091845.3725-1-jgross@suse.com>
In-Reply-To: <20251005091845.3725-1-jgross@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3826.700.81)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DU2PR08MB7272:EE_|AM8PR08MB6546:EE_|AMS0EPF000001A9:EE_|PAWPR08MB10994:EE_
X-MS-Office365-Filtering-Correlation-Id: a4264fc3-87af-4e5e-f4c2-08de04361519
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted:
 BCL:0;ARA:13230040|376014|1800799024|366016|38070700021;
X-Microsoft-Antispam-Message-Info-Original:
 =?utf-8?B?c1YvNUYxT01yMnlhbi9venpUS200L3FhOHZJZm5BU1lXWGNtUEJYdktEZFZL?=
 =?utf-8?B?T1ppQlJaMFAvZW5QZy9YZ0hIRzQzdlRvRjNESXg1dUl2cS9LVlhkUlh2eVcz?=
 =?utf-8?B?U1VzSFFQa0MxWlhjc2tsbGNGZ1Fub21pVGJCKzR5by9zdW8zcUxzVzFlOUM2?=
 =?utf-8?B?dXQ5dUxjbUdQNFl3cmd2d3d5OFd1cGZaUEcvSDhCVUhPSHBlS1pPZEVWbzNx?=
 =?utf-8?B?QUkrbXFSYm00SVFHTVhFVlphK2crbVVNdTluQVB2SHZ6SDg2M3VsWisrdENt?=
 =?utf-8?B?U1l6SVVXNWFoSURjTkZhSDc4NzR5U1VhbmN5TnllM3Q2NTdVZW14WTNHTGZx?=
 =?utf-8?B?YnR0NThhQVVUV2hHaWxaNU95WDN5ajhWNGdEMzlwN0thaXJRY3BGQTJJNEtZ?=
 =?utf-8?B?TXk3ZHIrcFpTVE82OVBSSWRPdFFHRTh5MzA1aDRkbk5MQjBBeVd2ajJLQ0hP?=
 =?utf-8?B?TzhQUW9idjFwV0cxZzYxR29aMVY2dlhMYXorRjRWaVF3YlV5M0g1OWlieHBJ?=
 =?utf-8?B?TDFRdXovWlUzVXBPKyt2VjlNQXh2bU96cTFwL0k2NDJtcEFLcFhnM2ZpNFBn?=
 =?utf-8?B?Yy9uNEZwYWk0MDlQYWdtMGVMQlU3SXJOdWVpeE9ST1hTa0lUWWh0Wkk5RmRT?=
 =?utf-8?B?UHNYak5aMnRrdmFaYzBMMXdLd0gzcGYzL2tCa2M1b2JwZytsSlE2NkdZVUlw?=
 =?utf-8?B?NG05OTBkZW9mVnlLTk9KV05sWHlmbURjREpkdWV2SlZGdm8zUHRqNDZMdzhX?=
 =?utf-8?B?OWhnejVvRUNOaVgrNkFiL3FVZmYxOUIyMERHTjNjTDRlUm13T1VKR3V2NE1I?=
 =?utf-8?B?Q2xKUXFXbnZCblZOaitwUmZBdnZzWm5kbmFFTEJuS0NWMVlYQ2I0aUl2Vlk0?=
 =?utf-8?B?YTFkdkRjbWZ2Y3JBYmdUaUpEM1dtb0xZNUNjWXRSaHZCRmdxcm5ONUpMbENt?=
 =?utf-8?B?cG83bWhBcGhnUXRYa2IvdG9WQTRkTjhMc2x5UjFrT01ab0xoQldmaDRMMSt5?=
 =?utf-8?B?RVc4MkhLcm9OZVdUMDdtMnpib0d4NnBieC9hNm1XWUNxakF0cUhFLzBjbjQr?=
 =?utf-8?B?TFA3bjZkUEV4czFwRENzSDJaV1JUU21rbVY5QnozKzlFMVorWFVwMHE2N0c5?=
 =?utf-8?B?a0lKR1ZRY01mV3ZLL21MMjRPS0VleGFHdENaL2NIVE0wcUFGSElOcko3ZEsv?=
 =?utf-8?B?ckcwOVlOTEdTWTEzQVUyK1c0b2ZkNFJLUUxUOU1lbUNZeGE4Vk9UYVkxOGhE?=
 =?utf-8?B?UTdYQ25GTkJrUUFXR05jaE83cGhUOFRWNk9EbEJRQ1VnTm1QdmlFcmVRTitv?=
 =?utf-8?B?YmJ5VitnTHdjcjZzMGluRGpVOTZkWEhVYm43eThRaVdvMzNkN05MNzZYSlpr?=
 =?utf-8?B?TzdTYTFwZkVFdEcvaUFnL3VIVnBOekhYSXM4NG5KeVdqWWtvUWtjNXhQUTl1?=
 =?utf-8?B?dm10QW05SVBIOGdGeGhOYVo4d3YyeTkwckozUUNIRGsxRzZ2eitvZ1lkdm52?=
 =?utf-8?B?UUFEVUx4VmtxTm5GRUErWHBKNG1qbWduNnhiK2JhZlRZaFVJdWtWeTZWdTJy?=
 =?utf-8?B?c1dqeThNcGNOQmM3VWpYeXhLMkVnVGt0NDJZalRULzQwSjViWUNyV1E4c3R3?=
 =?utf-8?B?Z2RaQU5Hc3hXamdNcGVZdEhuVENHNDJYUDZCU0d1Z29kaFBJZDBhNXQ3YWNk?=
 =?utf-8?B?dTJvbjBnYm9CeE0xNFp1bmtzVHFFR3lVWmJ6ZXQzaHRLQnh4bkdtVXlKV2Zo?=
 =?utf-8?B?VWNGUUh1UnRGcjRyNlFWZ0FyU3hUZnNodGpFMmhkc251T2I1VEtzMkVVM3FP?=
 =?utf-8?B?V0g3OWdoTEhMRmRsUGVJdTdjVlh4dUhONTFCN3drUTJlS2pjendUOXZtNExJ?=
 =?utf-8?B?RTcrSm5pWGRkYUxKWFBmeHQzOXRtRnQ1UmR3QWg4ZGpzdzBaY09zeDFFcDEw?=
 =?utf-8?B?Q3hYaUJTOUd1QjE4ZjgzS01OS2lWSnhMV1l3YllIc1BGKzgrR2pSdVQxR3JS?=
 =?utf-8?B?bDdGeUtnVy9BNm9VU2FaQ040WWlEaE5renhLZ1RiU2VFSk1RQ0IwUkpBVEVq?=
 =?utf-8?Q?9bfLBz?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR08MB7272.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(38070700021);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <59BF651612C91D46908055BDEE0F56B3@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB6546
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AMS0EPF000001A9.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	5ecc79cf-88cc-497e-683b-08de0435fe6d
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|14060799003|36860700013|35042699022|82310400026|1800799024|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?QkcvZy90OEQrYTBScmJUOENYcUNBMFdWZHU2VG9vdXBZdUQ5SjFjWVBrUHBS?=
 =?utf-8?B?YmJ3YUR6UTlGK1pmOWdtVzgwcDlNWFdBQTVmL3NNclJlSjhFYVVGNDlUUFJO?=
 =?utf-8?B?T0dtd3A1TitCUG1FWitGOVR5YmQyeE5uQndVbkNneCtXM2pFZjJwS2FKVTJx?=
 =?utf-8?B?Wmw5VzRidTVoenE3bTJBWDcyN1psMVpqYU1SZklKUVpKT0NEYnJjSFRMOXB0?=
 =?utf-8?B?ekR0RmVRY2k4bDhreGpuYkZWYUk1eXJncnBOdzVsRXorYmtJTDVmSGJPbmVV?=
 =?utf-8?B?MlFHVUxrWlBlSzlsL1R2OXBVdUM2ZzIyY2VVaUtCbkVaSStxNTdrL0NWRDhY?=
 =?utf-8?B?S0NYTDI5VGpPWDJVTXlnNzZPYkVCRGk3SHJCRS9La1pKQWg2bWlOUVozaXdX?=
 =?utf-8?B?RkwvV0FYRkRNWGZ0TFg5QWtjeUVqaDFRL2dINmdsbGM1VE81SS9nWnNrZWlt?=
 =?utf-8?B?ZFh0bUMrMzZiemtQelg2T2FONWlVMXBMUi9aSTRXVENZbTg4SWRHb2ZRNlZ4?=
 =?utf-8?B?RWMrbUlqZHVXRkh2eFlLQ0ZiSlk3b3dwKzBOaXA1NHQvKzJXWXBYdHJRSTl6?=
 =?utf-8?B?cGJWUjA5b1V6cldsc1pDZXVueUcyT2hKazNZcEtmc2FoWm5NNzlFRkljWXFI?=
 =?utf-8?B?VWkydzk1ZlNPUnhCcnhydnIySElBNkoxVVVvQXBDTEpOSytaOHJqYURvazBK?=
 =?utf-8?B?MlB0dnB6Rzd0VGNEbVhUTGVYV3AvcmpYMTJXN1lIa1pVdGZjV05HOTVVOU9s?=
 =?utf-8?B?NmZ3S01PV2l4OXV0RWZ5d2JVOG1wMStUdkk0ZEVqd3QzLzRIR2U1SjhBb2F3?=
 =?utf-8?B?MjhxcDF3cmwxSnNkMFJrakx3c1ZaRkwrN1k2YkVPWGJUdTF2MHZRWis1REtI?=
 =?utf-8?B?QkhPaURvVUEwNHphK1h3M2UycEpKRGtzQlBXaDJzL0Q2K3d3Q3hxSG92VWtS?=
 =?utf-8?B?L1VZbzdUaUxjeHMzSnpDeW1lclZUdENybVBCdkNybm1xSmF4Q3VlaGQ1Vk8z?=
 =?utf-8?B?N2dtaFBhRCtVRFVITFg3dFNwc2x5dXBtSHRWWnY3QmtNME0zZDZzQU5TOVBx?=
 =?utf-8?B?MWdLUkpiM1V6SFFvd0QyT3hjdVBmM2pWalVSZjc1dnRjMXVweGtTWUJJSWtN?=
 =?utf-8?B?aDUvUWhobnZyRHQ4MGNrQUxKZkwzTUdHVDZ0NExETnk1eVhZYk11c0dLeXVR?=
 =?utf-8?B?ZjVuS1BjVmpUeC90TFJQR0oxelBZUVVWb2NHbTUxN3QrTE5yRnEraFg2ai9I?=
 =?utf-8?B?YkhSaUltc3JXb0M0SzhBM3Z2SlZaVGlZLzZSNFBEUVVtS2d2OTBZb2FZNmJn?=
 =?utf-8?B?aE1hbUhERjZwZ0FQdUNHZlFJSXdVam81TUNvVFk5QlpTV1RJcGlWRWpuQ0U3?=
 =?utf-8?B?enk1eXBzaFBzQlByQVgyMXJncXk1UUxkWko2eWUvSnZwU1gxUndLWGs3K2dY?=
 =?utf-8?B?SGExaDVxTnJJSlAxZVV0cVBoZWN2Ym5NY050TDZja3NoU0tzNTFsUmlwV2lW?=
 =?utf-8?B?K3liamZPY2xhbEtyMFBiYVpIbnNDQ2lpYzhQVE5jZE1aMW5nRmJDdGlWVjFY?=
 =?utf-8?B?czVHaTh6RkdYMG9ScnhHdFQ5ekJGY2pNNzV6L3lROUo2Uk50L3U1bnltYlRW?=
 =?utf-8?B?OWYrV0FOb095bzZ3TGk1OTNWL0pFdzlDVWRBKzZsNFl3STRwc1kyc0p6dkxS?=
 =?utf-8?B?Y3lNWEpTak9zWGdCZHJsWkZNTDVSWTFSRWVLUE1YRDAzb0N2QTQwUnNEaDNt?=
 =?utf-8?B?dUhueXhkcWVBVTZvYUhmWEwxV2JJL1BrMlI0bnJSa0hFdGVsQ1E0MGhZQTRW?=
 =?utf-8?B?TmVUNzUwWHh1T2w1WmRydzh5Z2x0NzRNbkRGTXpLeXA3ZXNxUmlwQkwzdGdX?=
 =?utf-8?B?aldMUDg4NE1ubVVhTkl6TENDZ1ZCQUZRQ1g2YzlJRTFIbEtVTys1cUczU0xy?=
 =?utf-8?B?NUJza0VOZ004TG9xaXFRNUYzNVI0WjMxUE5VRk5ld2pNUWhoaG13b29CVW8r?=
 =?utf-8?B?cWo4RGhkelg5UTFFZGtVOGtsVUFtVWcrRjI4M0dScElOenZ4bWs3QU5KRWxB?=
 =?utf-8?B?bHBIZXB1UEQvbzdPb1BkWno3WnZ3bU5KUktkajJreVZvYmdFa3BTNHA3SXg3?=
 =?utf-8?Q?hENg=3D?=
X-Forefront-Antispam-Report:
	CIP:4.158.2.129;CTRY:GB;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:outbound-uk1.az.dlp.m.darktrace.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(14060799003)(36860700013)(35042699022)(82310400026)(1800799024)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Oct 2025 17:39:06.0995
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a4264fc3-87af-4e5e-f4c2-08de04361519
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[4.158.2.129];Helo=[outbound-uk1.az.dlp.m.darktrace.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AMS0EPF000001A9.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB10994

SGkgSnVyZ2VuLA0KDQo+IE9uIDUgT2N0IDIwMjUsIGF0IDEwOjE4LCBKdWVyZ2VuIEdyb3NzIDxq
Z3Jvc3NAc3VzZS5jb20+IHdyb3RlOg0KPiANCj4gRGVjbGFyYXRpb25zIG9mIHhjX2RvbV9jb25z
b2xlX2luaXQoKSBhbmQNCj4geGNfZG9tX2NvbnNvbGVfc2V0X2Rpc2Nvbm5lY3RlZCgpIGluIGxp
Ynhlbmd1ZXN0LmggZG9uJ3QgbWF0Y2ggdGhlaXINCj4gaW1wbGVtZW50YXRpb24gaW4gdGhlIGxp
YnJhcnkuDQo+IA0KPiBVc2UgeGVuX3Bmbl90IGZvciBQRk5zIGluIHRoZSBsaWJyYXJ5IHRvIGZp
eCB0aGF0Lg0KPiANCj4gRml4ZXM6IGI2ZmMzMDdiMGIwMCAoImxpYnMvZ3Vlc3Q6IFNldCBjb25z
b2xlIGFzIGRpc2Nvbm5lY3RlZCBvbiByZXN1bWUiKQ0KPiBGaXhlczogOTcxYjdkNWVjYmNkICgi
bGlicy9ndWVzdDogU2V0IGNvbnNvbGUgcGFnZSB0byBkaXNjb25uZWN0ZWQiKQ0KPiBSZXBvcnRl
ZC1ieTogTHVjYSBGYW5jZWxsdSA8bHVjYS5mYW5jZWxsdUBhcm0uY29tPg0KPiBTaWduZWQtb2Zm
LWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+DQoNClRoYW5rcyBmb3IgdGhlIHF1
aWNrIHBhdGNoLCBJ4oCZdmUgYnVpbHQgdGhlIGFybTMyIGNvbmZpZ3VyYXRpb24gYW5kIHRoaXMg
c29sdmVzIHRoZSBjb21waWxhdGlvbiBpc3N1ZS4NCg0KVGVzdGVkLWJ5OiBMdWNhIEZhbmNlbGx1
IDxsdWNhLmZhbmNlbGx1QGFybS5jb20gPG1haWx0bzpsdWNhLmZhbmNlbGx1QGFybS5jb20+Pg0K
DQpDaGVlcnMsDQpMdWNhDQoNCg0K


From xen-devel-bounces@lists.xenproject.org Sun Oct 05 23:32:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 05 Oct 2025 23:32:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1137760.1473650 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5YCg-0002dx-Md; Sun, 05 Oct 2025 23:31:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1137760.1473650; Sun, 05 Oct 2025 23:31:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5YCg-0002dq-Ji; Sun, 05 Oct 2025 23:31:46 +0000
Received: by outflank-mailman (input) for mailman id 1137760;
 Sun, 05 Oct 2025 23:31:45 +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 <SRS0=uaw7=4O=nvidia.com=jgg@srs-se1.protection.inumbo.net>)
 id 1v5YCf-0002dk-Ig
 for xen-devel@lists.xenproject.org; Sun, 05 Oct 2025 23:31:45 +0000
Received: from BL0PR03CU003.outbound.protection.outlook.com
 (mail-eastusazlp170120007.outbound.protection.outlook.com
 [2a01:111:f403:c101::7])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 72fef14a-a243-11f0-9d15-b5c5bf9af7f9;
 Mon, 06 Oct 2025 01:31:43 +0200 (CEST)
Received: from PH7PR12MB5757.namprd12.prod.outlook.com (2603:10b6:510:1d0::13)
 by MN2PR12MB4190.namprd12.prod.outlook.com (2603:10b6:208:1dd::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.16; Sun, 5 Oct
 2025 23:31:35 +0000
Received: from PH7PR12MB5757.namprd12.prod.outlook.com
 ([fe80::f012:300c:6bf4:7632]) by PH7PR12MB5757.namprd12.prod.outlook.com
 ([fe80::f012:300c:6bf4:7632%2]) with mapi id 15.20.9182.017; Sun, 5 Oct 2025
 23:31:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 72fef14a-a243-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=btyAggyeWvns5xtWH/OLtTgUi1ZJ5fOxc/5KIU5v0oxBdgtCBLYmkr2/OlFujkBellNdY8UxzcIeTdksK5MPCpyXG/Xa66EzE+hOOb+RYeKnDBSemOJPaubij+RvvWVfp1BcNJzRrIv0BvQoEGb9mN+NEnWDalWbJWm01QQvQ0IJbdcHwcbY1xJgjJAzzxiUn9QAyMDiy6MBegzro1+HCGKb54hzxdr35GyZI5DOfjOOeFdDQ+G6+IMLo5smgsOI4e1DjUvete/FuN5FW51/NuiS8SOz/xLb957ZqcutQHtqzKCqHgEs3H8iX1hMhrSp1PZZiiwisCBiewrPyjyLDA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=D3VfeQCUMUsmMpFfPOO4y2t7ySTZjeGBUMDQ/ZIED6Q=;
 b=UhxCXNLWQoRq/7sszZhKicDoYJR+m8EhWMDZUJsD+mYuYEhpAwN5SfUZdAi2uGBSSw0Pt/F2XN221/BLOhpjc2Oivmdk4M3KtyEbaYYHz5uiSrQsO+x1sCB1FVxt0YEKwdt8gMnqBJ7Hlz8MsYbtKqwgu0LBGD+udNb1Pi3jt2zkJ1+DPfdkEu7P6I1SXxregyWxg2eYAGLugmUEqKnxL9OpPyawIAaEO1A8FlrByhWaj8w/5tBenSiNI1vVEu+yeQEX6i6gJO9aiYx8Lh38ye2eM6I07UAjOJ9YUej6Z/e102dnI0WGGjLOxVE4uNcF0KahPhTxryElAOvM2dk/SA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com;
 dkim=pass header.d=nvidia.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;
 s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=D3VfeQCUMUsmMpFfPOO4y2t7ySTZjeGBUMDQ/ZIED6Q=;
 b=LHPrPKOVugldV3CsBIIowMzOUt/IuOo4D5Hy4V+TzivSl9hYyNheHEcyaTd31TsQJF46HcJvhLQydcUtAea8d10NDIQY42TyAgX2s0ib9j/AIAyCrw4wDSs2ICW/rAhoFTIHvd3Cyn3+FtyazGd0kkHPmnI5qRReIsgLHt7seiRDWvoVtFdJFnLyG0td1voZow7sotmXmAXV3ANcCMKkjOJTygTLt6vye9r8bcyPBbNXe4uO4FX8Twe7ATdB9HixyNysVAsTuSdNbdaRLE0bmMDUBhaKGQaymKBlAJxLVfbCAWx+RGMKoVy1LW5MDeBMZTcluFFVIG6NOJfbXrdwig==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=nvidia.com;
Date: Sun, 5 Oct 2025 20:31:33 -0300
From: Jason Gunthorpe <jgg@nvidia.com>
To: Leon Romanovsky <leon@kernel.org>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>,
	Andreas Larsson <andreas@gaisler.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"David S. Miller" <davem@davemloft.net>,
	Geoff Levand <geoff@infradead.org>, Helge Deller <deller@gmx.de>,
	Ingo Molnar <mingo@redhat.com>, iommu@lists.linux.dev,
	"James E.J. Bottomley" <James.Bottomley@hansenpartnership.com>,
	Jason Wang <jasowang@redhat.com>, Juergen Gross <jgross@suse.com>,
	linux-alpha@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Matt Turner <mattst88@gmail.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	sparclinux@vger.kernel.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Thomas Gleixner <tglx@linutronix.de>,
	virtualization@lists.linux.dev, x86@kernel.org,
	xen-devel@lists.xenproject.org, Magnus Lindholm <linmag7@gmail.com>
Subject: Re: [PATCH v1 3/9] parisc: Convert DMA map_page to map_phys interface
Message-ID: <20251005233133.GL3360665@nvidia.com>
References: <cover.1759071169.git.leon@kernel.org>
 <333ec4dabec16d3d913a93780bc6e7ddb5240fcf.1759071169.git.leon@kernel.org>
 <20251003150144.GC3360665@nvidia.com>
 <20251005132259.GA21221@unreal>
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20251005132259.GA21221@unreal>
X-ClientProxiedBy: BN9PR03CA0110.namprd03.prod.outlook.com
 (2603:10b6:408:fd::25) To PH7PR12MB5757.namprd12.prod.outlook.com
 (2603:10b6:510:1d0::13)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH7PR12MB5757:EE_|MN2PR12MB4190:EE_
X-MS-Office365-Filtering-Correlation-Id: af03c48f-c699-47b9-ada5-08de04675295
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|7416014|376014|366016;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?+kHDCf2iitGPITE6yErE4/xfQVQOWnpyGjRHbIrpSBfWSlVQsiL3UIr6ae5O?=
 =?us-ascii?Q?4d9wWPmVeIndJ9TmEZD8gOsC6CwJ9Kr2V98w+WUMbjFF+/kH3VkvVF2yeBxE?=
 =?us-ascii?Q?GoBNao3y26MMjvG5cMlTT6FtDhm9NZnTXDPjij0BHkhjygNJd56jEAvE3Y8d?=
 =?us-ascii?Q?zS8spchMBEFgAb3cMwqfau1CGlN7DxjrbczDvuoxiE9GanpHm8N3H8nAcZdV?=
 =?us-ascii?Q?l7sG4F6AoCw4syE24IrKu/1LImTCFvV4+UvQKmIqOfmlBQbZYsGYW6/mvm15?=
 =?us-ascii?Q?Vz7UwvWnx1pU/HUh6yzpJ0M3IGPz2mYZ99dyu23hzq2vldWv/MJx022Ja527?=
 =?us-ascii?Q?VtHqKi8Od7YKo2oeO92JddJ/fQkBEf440Mm3Q76YiYvzPgWBLsCHdGBYfbRq?=
 =?us-ascii?Q?guMpoiuAuXFsXfKfLPKKBEiINx1nT6eKEODVE4V7JJWgVytl2X6gX4dZFpmM?=
 =?us-ascii?Q?TrAq75GOo9Jp3tNpDGW+wGQ60rAaHbF28MiAZGzrfcnAbHQYdxPecl1E79aa?=
 =?us-ascii?Q?BMsnMYP+cJwVETXYs8IIX3L+gauWjq6bqghWwBAYox31LE2CbhVikzVovBOd?=
 =?us-ascii?Q?EwHwwF5mHkK+RJPBp0t4uSOV0s9EwJJf8nXJcEkKA1LWHcgqxanvrKqBeyu9?=
 =?us-ascii?Q?69GCg9puOCO8qOfTNBzFtBkKZz98APggL7KnOgpdFYYcYqJCwSWg3421XTTQ?=
 =?us-ascii?Q?2LZAKBZXvNalfJ6+HZoJ4XwBK/sFqGdIT1qHiLiFHHAYfH8pBLEeuOSvL32E?=
 =?us-ascii?Q?drnEdyagYVc6d+ZytFvf0+9N/X6dQOPw9ey7dkByAT4KxEUQ6OdU/sfTFo5h?=
 =?us-ascii?Q?ycuXm46OXSLyp3bRKBFhTdJbQjLdD/sFKp/EOtafIH4g2arEXBczireY8WfR?=
 =?us-ascii?Q?WuK32402eL5xnBFnpBslcYuubsWF+V6t0uzuCqf21HyrXZJ8iDzPJ5jebl7q?=
 =?us-ascii?Q?gRLKaVcXEHjaAkGmhANBRFIqcrFs48/9pCUDiINPb0WloravAX/5XN/YjL/h?=
 =?us-ascii?Q?y+omkkzKGU7Qsw405Q+H7nN8QWkwkeeLHcsA8NPCQyjRphgDiK124JmeU552?=
 =?us-ascii?Q?AHeVVryzFcjIdYlmW8h2jo4JFGAd47gh6wtmAKelC/ifsnhRq9kuYIUzKsDz?=
 =?us-ascii?Q?BXyBEmFrk4z/JSpHYAdbWC7FuR5rfDwAmseg67hbiL0YRyP4YRQcdg7ihUl9?=
 =?us-ascii?Q?qjc5LTOkcmiLX/SAb5kwH4Su1GpYqQt3jesKzRsCxwpV5uriaECzg3C9rQ1S?=
 =?us-ascii?Q?Xuo8l5mHvVF9TUEMPVFozuzIoVLLLVfGK94+i818rLOIFCDZc8aDPxvl1Xrx?=
 =?us-ascii?Q?bfD6vTxyhlewQbpB0XEzQgRSSLCmwDeXeTeyH4Fj5tFz5O4rQpyb0bPXH9c6?=
 =?us-ascii?Q?ey03Yjh1Fp0vy8GNKlSDST9iZJgECGG5dL1gIR7y/s4mcOLEDO8Nt1XIk7Xe?=
 =?us-ascii?Q?5lEa9/dRwinMoHHmPCQNJMdcbCj4ETte?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH7PR12MB5757.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(7416014)(376014)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?F/GHjGCqffUgrE0EKTIMZKLnIBeyxCoqQT5UV/dC5RuJMYLNh//aG1+OACBj?=
 =?us-ascii?Q?056G56v2i+lu8kpP1pesRt4a9xrXy87X15lpaPrslDMczPuuO5qXmBrv1R8U?=
 =?us-ascii?Q?RMSXjOfA4P6K8gthADq7sBaq62heSM0lqO9J5nm1Yu8rSvNndlqymW5QzBGf?=
 =?us-ascii?Q?DLi6RQfTEyEZAn5Ag4pOPelufdEV/gEgI7Hi+d91s1nVtJxY0QKe02qNOJhE?=
 =?us-ascii?Q?Us2EUsQGitH5zLDS7U8t3jKnXOvs7G7WhcYPw0N0b9k2R7l2J55yvJQdU7GB?=
 =?us-ascii?Q?+p/uE2g6fc9F6wEU9iQuK2yB63QWywOhWtAQpnhoydWO08SFBYmnaG/lhXpq?=
 =?us-ascii?Q?OI/jFUpAbft1A3TyQye8VcY9B0PvyIPQpAMTZx2zxd4XvAneuAeVohlKtB0+?=
 =?us-ascii?Q?8Ob3DOko6kMYL9NkuFYRrNVEpzRghTFjG7/jO42TjgeFk5mokKTwaiVNxOxg?=
 =?us-ascii?Q?DrjM1du/WcCpCmlhc2vNq64xbs3xJfTBu52PF3wg5bg4vhv879PbnCutw9DZ?=
 =?us-ascii?Q?Ib3ivKwgWkj/h5QJh7OSBQpZva05WwrnvBsfDUIGpKqG+eFDd5J4RD1Qzo8R?=
 =?us-ascii?Q?1sCz7yCRaKqQjPy2h9uwuU/KaxuwNf47djmPf5VZglAob9qrOBzUwAsoFX+u?=
 =?us-ascii?Q?6YIuLBpak6q/pz6fAD+HWkbUyjTd3La9XL4ld7dz0CdepdU64vQUNVv2TkvQ?=
 =?us-ascii?Q?/Yt63aZ86rvyIibDKyngGMGZEEZ8EDnv7mL6X8FxEi5Cv049WtlY8MmipAUE?=
 =?us-ascii?Q?zbH0HroeikAIbUVvw5A2WaiWGJXiWTSIyL1bxdDALHKo77ltwxJpt1pi0QdK?=
 =?us-ascii?Q?s5SRP1UApS1UNhcUSx+fpV9kgJBuQt/YLtiMk7yScUXX5DMB0wVdzwqnYgPz?=
 =?us-ascii?Q?RpqYd/faDpEJ46+0cunSZOGRgw/DAt0/gAT+TcG8lFV50lqNTC01j8VR2YvF?=
 =?us-ascii?Q?WX8Vdn/pdXDN6ADzHnRZQYVUTehOBWbB1f/hJBSsXYJepJrUbixYjIMdyDYi?=
 =?us-ascii?Q?cdd9pGcuuLvYVpD69yu+XF58gjk2k3xGigz9i3o8scvz0BAuVu8JpaIRcguB?=
 =?us-ascii?Q?bQ+GUtjhnV2ku93Dtzzo4O0BxTFYZLwAaRtxD0AeNhymQ8PGosRAQr6dgeoW?=
 =?us-ascii?Q?8CVkQUDOH07nHuM0l8uE2tczG+eSsJooc6s+mIWCfVYPd65vBfDlN4zCQ2K4?=
 =?us-ascii?Q?HN6M/GFO4KiE8FDzu+qM56DuDcZIiqxpPeewGenLXf5J7vXAozASwzCwwk7o?=
 =?us-ascii?Q?Tg6MafOiTVinU7n56QYwb/x6NWdgP1p4+J303ZMu2pTjkkSaY4LUAp/YXPWl?=
 =?us-ascii?Q?JHTvqU/mu3E0bGYQ2VQCm0bNKGtDpN0E4ieVv6zUfacl58B9Hk2/z2Genjo8?=
 =?us-ascii?Q?QuE95BZF7YOtpZff2g+st3e3olAhujOIXEca3ASD3QKH3JQDdQixYsZr3cUw?=
 =?us-ascii?Q?dCvgYuKNUBoYR2d1iYb0Mr3sjLF0QybY4No9JN+TPFdVP/hPpY2dQlP1wI6I?=
 =?us-ascii?Q?+CtJCEkp4CkGMXtKsMbLXOOxGu/IjEQYs8G8T8i/Kz3f1k1cutXF3+Et/NAN?=
 =?us-ascii?Q?m0Aw+s0+LOdH43TQlTE=3D?=
X-OriginatorOrg: Nvidia.com
X-MS-Exchange-CrossTenant-Network-Message-Id: af03c48f-c699-47b9-ada5-08de04675295
X-MS-Exchange-CrossTenant-AuthSource: PH7PR12MB5757.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Oct 2025 23:31:34.8422
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: mi6mlMyoDyIEp8h5YorBbJ89sb8bIsaYMbnBLXKRmFw1RzU3ebao7AFERFt6Fvch
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4190

On Sun, Oct 05, 2025 at 04:22:59PM +0300, Leon Romanovsky wrote:
> @@ -582,7 +582,7 @@ ccio_io_pdir_entry(__le64 *pdir_ptr, space_t sid, unsigned long vba,
>         ** Grab virtual index [0:11]
>         ** Deposit virt_idx bits into I/O PDIR word
>         */
> -       asm volatile ("lci %%r0(%1), %0" : "=r" (ci) : "r" (vba));
> +       asm volatile ("lci %%r0(%1), %0" : "=r" (ci) : "r" (pba));

Don't know how I missed this, but this is the virtual address for the
cache invalidate James mentioned

So the optimal is to drop the lpa() and to use phys_to_virt() to get
vba for this instruction.

Jason


From xen-devel-bounces@lists.xenproject.org Mon Oct 06 04:04:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Oct 2025 04:04:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1137807.1473661 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5cSY-0007xa-3p; Mon, 06 Oct 2025 04:04:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1137807.1473661; Mon, 06 Oct 2025 04:04:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5cSX-0007xS-V9; Mon, 06 Oct 2025 04:04:25 +0000
Received: by outflank-mailman (input) for mailman id 1137807;
 Mon, 06 Oct 2025 04:04:24 +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 <SRS0=/hmW=4P=kernel.org=leon@srs-se1.protection.inumbo.net>)
 id 1v5cSW-0007xM-K6
 for xen-devel@lists.xenproject.org; Mon, 06 Oct 2025 04:04:24 +0000
Received: from tor.source.kernel.org (tor.source.kernel.org [172.105.4.254])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 85197f6a-a269-11f0-9809-7dc792cee155;
 Mon, 06 Oct 2025 06:04:14 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by tor.source.kernel.org (Postfix) with ESMTP id BA4606036E;
 Mon,  6 Oct 2025 04:04:12 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 939FAC4CEF5;
 Mon,  6 Oct 2025 04:04:11 +0000 (UTC)
Received: from phl-compute-12.internal (phl-compute-12.internal [10.202.2.52])
 by mailfauth.phl.internal (Postfix) with ESMTP id 6D24EF40066;
 Mon,  6 Oct 2025 00:04:10 -0400 (EDT)
Received: from phl-imap-08 ([10.202.2.84])
 by phl-compute-12.internal (MEProxy); Mon, 06 Oct 2025 00:04:10 -0400
Received: by mailuser.phl.internal (Postfix, from userid 501)
 id 14BDB2CE0072; Mon,  6 Oct 2025 00:04:10 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 85197f6a-a269-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1759723452;
	bh=84injLzOLRzdmbDYcF7g7essdb0dt9odOMPRFgL8OhA=;
	h=Date:From:To:Cc:In-Reply-To:References:Subject:From;
	b=dx6gZOcRbqZU+4kUH56naw+qthiBcZkT1qtIonANRtUnPXGgZSzKl9WgCt0SFdIhm
	 UbVwoHC4Vs5XWd+JXXmA7hVHDHHcljPxzABSrPU51Ilo+qPPKD4b50iM60t7KVVjsb
	 SMzmXH2mA9VXny2uTwbYaN5+nstbvZoog7xyFS4WtMcvFaxYJ3i1X4/aK2vr9AVBnQ
	 f0YfFDMNeIIwcHvnhWFJp9a2t2UhTULfUIaQQ+5l6+IR5madltMoqZysTSG0SPagkr
	 ukbTi0OjnBiX86Vpr47x0xqWuIEElCfBCKo/rFvEhZv8rGQQRLNt3XkZDanjZzNwxN
	 maoDHGG6tUMAQ==
X-ME-Sender: <xms:uj_jaP_ofC9a_l28ntKx_gy42AQmYCP8lb4C2SR10mCLtk9SsRoVMA>
    <xme:uj_jaGgiJzpY8OBGdAHO0Sug4_6m8jP9b99pQfrT4W6TnMBKVOLM7R8GEtxUIBrad
    -kpFskrRXUFhspIfBqdrOdo09KkfLKr2F4CPRVd9JM75FUTPegu8VYE>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdeggdelieehgecutefuodetggdotefrod
    ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpuffrtefokffrpgfnqfghnecuuegr
    ihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjug
    hrpefoggffhffvvefkjghfufgtgfesthejredtredttdenucfhrhhomhepfdfnvghonhcu
    tfhomhgrnhhovhhskhihfdcuoehlvghonheskhgvrhhnvghlrdhorhhgqeenucggtffrrg
    htthgvrhhnpeejvefflefgledvgfevvdetleehhfdvffehgeffkeevleeiveefjeetieel
    ueeuvdenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpe
    hlvghonhdomhgvshhmthhprghuthhhphgvrhhsohhnrghlihhthidquddvfedtheefleek
    gedqvdejjeeljeejvdekqdhlvghonheppehkvghrnhgvlhdrohhrgheslhgvohhnrdhnuh
    dpnhgspghrtghpthhtohepfedupdhmohguvgepshhmthhpohhuthdprhgtphhtthhopegs
    phesrghlihgvnhekrdguvgdprhgtphhtthhopehtshgsohhgvghnugesrghlphhhrgdrfh
    hrrghnkhgvnhdruggvpdhrtghpthhtohepuggrvhgvmhesuggrvhgvmhhlohhfthdrnhgv
    thdprhgtphhtthhopehmphgvsegvlhhlvghrmhgrnhdrihgurdgruhdprhgtphhtthhope
    grnhgurhgvrghssehgrghishhlvghrrdgtohhmpdhrtghpthhtoheplhhinhhmrghgjees
    ghhmrghilhdrtghomhdprhgtphhtthhopehmrghtthhsthekkeesghhmrghilhdrtghomh
    dprhgtphhtthhopeguvghllhgvrhesghhmgidruggvpdhrtghpthhtohepjhgrmhgvshdr
    sghothhtohhmlhgvhieshhgrnhhsvghnphgrrhhtnhgvrhhshhhiphdrtghomh
X-ME-Proxy: <xmx:uj_jaLVfDv-gcu_8eG8KMmCcu_lqD-hKSTkIpQVlhGsqYjX-BjSkAg>
    <xmx:uj_jaB0W371EPdKaI_VHwQcrPhlDBdzMVGXgBoeat-lOPO7F0-eoBA>
    <xmx:uj_jaEj5JbL-yJ3t6Tejadmxf5_fK5DIiQgEqWTLJ9rYb1M0S8qU4w>
    <xmx:uj_jaJIeYEGT-skfES59I8zK2h3dLuh_CCWKnOpBJzKNKgbBNwzpFQ>
    <xmx:uj_jaFVMUbmcoU_NyQKMtnVnad6DjfKDRYBqvXnd_1VVAyrxFpX1Mb4b>
Feedback-ID: i927946fb:Fastmail
X-Mailer: MessagingEngine.com Webmail Interface
MIME-Version: 1.0
X-ThreadId: AYer2uYmcW7k
Date: Mon, 06 Oct 2025 07:03:49 +0300
From: "Leon Romanovsky" <leon@kernel.org>
To: "Jason Gunthorpe" <jgg@nvidia.com>
Cc: "Marek Szyprowski" <m.szyprowski@samsung.com>,
 "Andreas Larsson" <andreas@gaisler.com>,
 "Borislav Petkov" <bp@alien8.de>,
 "Dave Hansen" <dave.hansen@linux.intel.com>,
 "David Miller" <davem@davemloft.net>,
 "Geoff Levand" <geoff@infradead.org>, "Helge Deller" <deller@gmx.de>,
 "Ingo Molnar" <mingo@redhat.com>, iommu@lists.linux.dev,
 "James E.J. Bottomley" <James.Bottomley@hansenpartnership.com>,
 "Jason Wang" <jasowang@redhat.com>, "Juergen Gross" <jgross@suse.com>,
 linux-alpha@vger.kernel.org, linux-kernel@vger.kernel.org,
 linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org,
 linuxppc-dev@lists.ozlabs.org,
 "Madhavan Srinivasan" <maddy@linux.ibm.com>,
 "Matt Turner" <mattst88@gmail.com>,
 "Michael Ellerman" <mpe@ellerman.id.au>,
 "Michael S. Tsirkin" <mst@redhat.com>,
 "Richard Henderson" <richard.henderson@linaro.org>,
 sparclinux@vger.kernel.org,
 "Stefano Stabellini" <sstabellini@kernel.org>,
 "Thomas Bogendoerfer" <tsbogend@alpha.franken.de>,
 "Thomas Gleixner" <tglx@linutronix.de>, virtualization@lists.linux.dev,
 x86@kernel.org, xen-devel@lists.xenproject.org,
 "Magnus Lindholm" <linmag7@gmail.com>
Message-Id: <d8c1e548-ebc5-4a07-8bf5-d98e9f2e6587@app.fastmail.com>
In-Reply-To: <20251005233133.GL3360665@nvidia.com>
References: <cover.1759071169.git.leon@kernel.org>
 <333ec4dabec16d3d913a93780bc6e7ddb5240fcf.1759071169.git.leon@kernel.org>
 <20251003150144.GC3360665@nvidia.com> <20251005132259.GA21221@unreal>
 <20251005233133.GL3360665@nvidia.com>
Subject: Re: [PATCH v1 3/9] parisc: Convert DMA map_page to map_phys interface
Content-Type: text/plain
Content-Transfer-Encoding: 7bit



On Mon, Oct 6, 2025, at 02:31, Jason Gunthorpe wrote:
> On Sun, Oct 05, 2025 at 04:22:59PM +0300, Leon Romanovsky wrote:
>> @@ -582,7 +582,7 @@ ccio_io_pdir_entry(__le64 *pdir_ptr, space_t sid, unsigned long vba,
>>         ** Grab virtual index [0:11]
>>         ** Deposit virt_idx bits into I/O PDIR word
>>         */
>> -       asm volatile ("lci %%r0(%1), %0" : "=r" (ci) : "r" (vba));
>> +       asm volatile ("lci %%r0(%1), %0" : "=r" (ci) : "r" (pba));
>
> Don't know how I missed this, but this is the virtual address for the
> cache invalidate James mentioned
>
> So the optimal is to drop the lpa() and to use phys_to_virt() to get
> vba for this instruction.

The optimal is to keep parisc arch code as I did in v1 and don't change it too much.

>
> Jason


From xen-devel-bounces@lists.xenproject.org Mon Oct 06 05:59:57 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Oct 2025 05:59:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1137832.1473671 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5eGA-00041R-9D; Mon, 06 Oct 2025 05:59:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1137832.1473671; Mon, 06 Oct 2025 05:59:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5eGA-00041K-6G; Mon, 06 Oct 2025 05:59:46 +0000
Received: by outflank-mailman (input) for mailman id 1137832;
 Mon, 06 Oct 2025 05:59:45 +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 <SRS0=kU4J=4P=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1v5eG9-00041C-5l
 for xen-devel@lists.xenproject.org; Mon, 06 Oct 2025 05:59:45 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a7692bd1-a279-11f0-9d15-b5c5bf9af7f9;
 Mon, 06 Oct 2025 07:59:43 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 97A6F336CB;
 Mon,  6 Oct 2025 05:59:42 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 6011E13700;
 Mon,  6 Oct 2025 05:59:42 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id WDjuFc5a42j9AgAAD6G6ig
 (envelope-from <jgross@suse.com>); Mon, 06 Oct 2025 05:59:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a7692bd1-a279-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1759730382; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:  content-transfer-encoding:content-transfer-encoding;
	bh=lMMx06A22MtFuMC+zl4zErRh88MKU5WGuhzSRKp3WEk=;
	b=BoB2Vv+qJruFXJDdYvUzB7CKNILGNt+WTatUg7bZ0MURSxPEK/jfPWtdmrwvOl7sdlfMBd
	GlCK8W9ZyP2fDPcwN5nOJbvmg/fI5WIpelqUl8I6kkwQND0fKR6ok/tjWnaVt0vSI1pVze
	EiMy9wM64FPewICGT1RlRDrYEQjNVd4=
Authentication-Results: smtp-out1.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1759730382; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:  content-transfer-encoding:content-transfer-encoding;
	bh=lMMx06A22MtFuMC+zl4zErRh88MKU5WGuhzSRKp3WEk=;
	b=BoB2Vv+qJruFXJDdYvUzB7CKNILGNt+WTatUg7bZ0MURSxPEK/jfPWtdmrwvOl7sdlfMBd
	GlCK8W9ZyP2fDPcwN5nOJbvmg/fI5WIpelqUl8I6kkwQND0fKR6ok/tjWnaVt0vSI1pVze
	EiMy9wM64FPewICGT1RlRDrYEQjNVd4=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Jason Andryuk <jason.andryuk@amd.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Luca Fancellu <luca.fancellu@arm.com>
Subject: [PATCH v2] libs/guest: don't use unsigned long as type for PFNs
Date: Mon,  6 Oct 2025 07:59:39 +0200
Message-ID: <20251006055939.27286-1-jgross@suse.com>
X-Mailer: git-send-email 2.51.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Level: 
X-Spamd-Result: default: False [-1.30 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	SUSPICIOUS_RECIPS(1.50)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MID_CONTAINS_FROM(1.00)[];
	R_MISSING_CHARSET(0.50)[];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email,suse.com:mid,arm.com:email];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	FUZZY_RATELIMITED(0.00)[rspamd.com];
	ARC_NA(0.00)[];
	TO_DN_SOME(0.00)[];
	MIME_TRACE(0.00)[0:+];
	TAGGED_RCPT(0.00)[];
	FREEMAIL_CC(0.00)[suse.com,vates.tech,amd.com,gmail.com,arm.com];
	RCVD_TLS_ALL(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	RCPT_COUNT_FIVE(0.00)[6];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FREEMAIL_ENVRCPT(0.00)[gmail.com]
X-Spam-Flag: NO
X-Spam-Score: -1.30

Declarations of xc_dom_console_init() and
xc_dom_console_set_disconnected() in libxenguest.h don't match their
implementation in the library.

Under arm32, xen_pfn_t is a uint64_t and wider than unsigned long.

Use xen_pfn_t for GFNs in the library to fix that. At the same time
change the parameter name of the implementation to console_gfn,
matching the interface declaration in the header and reality (it is
a GFN, not a PFN).

Fixes: b6fc307b0b00 ("libs/guest: Set console as disconnected on resume")
Fixes: 971b7d5ecbcd ("libs/guest: Set console page to disconnected")
Reported-by: Luca Fancellu <luca.fancellu@arm.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- switch parameter name as well (Andrew Cooper)
---
 tools/libs/guest/xg_dom_boot.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/tools/libs/guest/xg_dom_boot.c b/tools/libs/guest/xg_dom_boot.c
index f51b6a78c8..420222cf37 100644
--- a/tools/libs/guest/xg_dom_boot.c
+++ b/tools/libs/guest/xg_dom_boot.c
@@ -430,12 +430,12 @@ int xc_dom_gnttab_init(struct xc_dom_image *dom)
 
 static int dom_console_init(xc_interface *xch,
                             uint32_t domid,
-                            unsigned long dst_pfn,
+                            xen_pfn_t console_gfn,
                             bool clear)
 {
     const size_t size = PAGE_SIZE;
     struct xencons_interface *xencons = xc_map_foreign_range(
-        xch, domid, size, PROT_WRITE, dst_pfn);
+        xch, domid, size, PROT_WRITE, console_gfn);
 
     if ( xencons == NULL )
         return -1;
@@ -445,22 +445,22 @@ static int dom_console_init(xc_interface *xch,
     xencons->connection = XENCONSOLE_DISCONNECTED;
 
     munmap(xencons, size);
-    xc_domain_cacheflush(xch, domid, dst_pfn, 1);
+    xc_domain_cacheflush(xch, domid, console_gfn, 1);
     return 0;
 }
 
 int xc_dom_console_init(xc_interface *xch,
                         uint32_t domid,
-                        unsigned long dst_pfn)
+                        xen_pfn_t console_gfn)
 {
-    return dom_console_init(xch, domid, dst_pfn, true);
+    return dom_console_init(xch, domid, console_gfn, true);
 }
 
 int xc_dom_console_set_disconnected(xc_interface *xch,
                                     uint32_t domid,
-                                    unsigned long dst_pfn)
+                                    xen_pfn_t console_gfn)
 {
-    return dom_console_init(xch, domid, dst_pfn, false);
+    return dom_console_init(xch, domid, console_gfn, false);
 }
 
 /*
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Mon Oct 06 07:20:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Oct 2025 07:20:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1137852.1473681 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5fWG-0005yl-Pl; Mon, 06 Oct 2025 07:20:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1137852.1473681; Mon, 06 Oct 2025 07:20:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5fWG-0005ye-N2; Mon, 06 Oct 2025 07:20:28 +0000
Received: by outflank-mailman (input) for mailman id 1137852;
 Mon, 06 Oct 2025 07:20:27 +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
 <SRS0=zDhh=4P=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1v5fWF-0005yY-7x
 for xen-devel@lists.xenproject.org; Mon, 06 Oct 2025 07:20:27 +0000
Received: from DB3PR0202CU003.outbound.protection.outlook.com
 (mail-northeuropeazlp170100001.outbound.protection.outlook.com
 [2a01:111:f403:c200::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ea797a02-a284-11f0-9809-7dc792cee155;
 Mon, 06 Oct 2025 09:20:20 +0200 (CEST)
Received: from AM0PR07CA0004.eurprd07.prod.outlook.com (2603:10a6:208:ac::17)
 by AS2PR08MB9740.eurprd08.prod.outlook.com (2603:10a6:20b:604::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.20; Mon, 6 Oct
 2025 07:20:12 +0000
Received: from AMS1EPF0000004E.eurprd04.prod.outlook.com
 (2603:10a6:208:ac:cafe::96) by AM0PR07CA0004.outlook.office365.com
 (2603:10a6:208:ac::17) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9203.9 via Frontend Transport; Mon, 6
 Oct 2025 07:20:14 +0000
Received: from outbound-uk1.az.dlp.m.darktrace.com (4.158.2.129) by
 AMS1EPF0000004E.mail.protection.outlook.com (10.167.16.139) with Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9203.9
 via Frontend Transport; Mon, 6 Oct 2025 07:20:11 +0000
Received: from DU2PR08MB7272.eurprd08.prod.outlook.com (2603:10a6:10:2d7::16)
 by FRZPR08MB10951.eurprd08.prod.outlook.com (2603:10a6:d10:136::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.20; Mon, 6 Oct
 2025 07:19:35 +0000
Received: from DU2PR08MB7272.eurprd08.prod.outlook.com
 ([fe80::ab1e:55db:9d8:afbc]) by DU2PR08MB7272.eurprd08.prod.outlook.com
 ([fe80::ab1e:55db:9d8:afbc%5]) with mapi id 15.20.9182.017; Mon, 6 Oct 2025
 07:19:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ea797a02-a284-11f0-9809-7dc792cee155
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=RDpvyTSlufsaV86qV9JwykHoQcG0MSlWzvCBebpw1tyPeKcEPLMC1ZlBwdrEhRmoL3+0ejpv24OVGMhA5ZW0OnQglYJJAVBwVBkg8luBCbRvPONgzMKqiL+Hy2vbQk+BUkYDGecoSVgiobNut1BVBGX24r33S9qmAlV+8vFkCKIHKh1MyMopIygqdU2NwJbT3FAhri9gcjxF/VSOAERlxPwloLC6dfscbRyz8HI2SbM6s61t3uR+IrqktDhJzepmvRAivNTX2spST7QUUp/LrVz+eaF0Kx7Kjg+fitXi3z1KYnrp4nP2MIbaeUoRtRxSMfYg3MiCn362uh5vVhZjBQ==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=l0ND/d7eQYFHw6AQoAkVccHtBQUytZ1ujf/jgUpuCXM=;
 b=dmOKGxBevPgztBemJY/lR+abpgkG4lN2CJFWDcHI//KWItcXHZK5RYGu8/ZiYeg8x6Nobq/N04vfFc+J0ElTMOd6rulk62yKfIa5ushEWsIqTTSLJo3wdqa3sHW+nhW296+oV05vEtpqsRMRDF4umLL8GWQQmEUXwHPEejwESUMYCv+3ET5g+oja1ewXT4RuSaxiwTdMV/1JqEACC8/UdKtYyhJ0n9mD5mbH4Uwa31Js+0uCW7MSMabHaxVVKomFrOSeXOeQ2Ug7Q4y6c6A/21iUuP5sw9BRwyK0q/sod6w1HpPTH2wsY26RU2mYryDlP5g9qKZfFDZrqCwmQsTXxQ==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 4.158.2.129) smtp.rcpttodomain=suse.com smtp.mailfrom=arm.com; dmarc=pass
 (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass
 (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1
 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=l0ND/d7eQYFHw6AQoAkVccHtBQUytZ1ujf/jgUpuCXM=;
 b=Q5yObx8flEjQ+4q0h5gsaddNI3KuI6Uol90RFhG1Crq9AXVAIUCm8AcBMbMnKbDxQJ3ekY9v0ZokOpmg1TY8sVuZ74XH0Qbffhb0RVADTcaxG8mOFeWkay+co3dB+31Qi+ufOy8xvOcooWfrPjocIUPXX/bAZs/TsL0b2g1wI8o=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 4.158.2.129)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=arm.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 4.158.2.129 as permitted sender) receiver=protection.outlook.com;
 client-ip=4.158.2.129; helo=outbound-uk1.az.dlp.m.darktrace.com; pr=C
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=TOTLx1vqQOBAHaMf6poLSQsZT0ACj/3azLlTbXdIzVYUK4w9oZZwQy8lgSabPVVZFq5WpB1ezwLtzAGWgqDL88o3P+5XobfYqJixGbBals8V3FCous6aL+ynACriciu1x8Vc9MR2i2dQX0xmB6zXvdK4614YR+7J4gbKQeZO6Pt3Ky/IO1lQH9xpr5IKGJ5udqDOsgoGfG/UHLoZ9WtuSQIWKLLpw1cHvMmYvdnV6Oih/P4qpIjkhdWUDbbjuUIBLoJDe5GQWEwDdQLyEgA60Tk2WLG/H66gOEKAUW4O33NMSK3Aze5Lu7L1mtIf2MSlbUV5+0LVLhocSd4tds+9+w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=l0ND/d7eQYFHw6AQoAkVccHtBQUytZ1ujf/jgUpuCXM=;
 b=WUaMzeKgtR9BStT3lOsxKSTU+6ELmLJIHOJUGm70aqxEl/xlT55lIv0ypCHMfcKRgwwtlY5Fbv0AbXfipQMXWhqeXclWAInFNABRfMae4I5pT/qe5QAoYPugSy+RNbDqIZ9MXhIBUfZzQGxkiog+Sd0Xwcpu73q0+3J3WhGaVb/VZD97y1xEqCUgq8NIABmbLP8MTmP1embuSxMbNPCR9qIjI/ofwo/cSYDXKPQ2wXiJV7mqDIrLynsb3ahs5alk3Na15s4iH/ZGgyg99hchSsSO6ro9bAOETA8brKzRydizjeAUHCHMqVDZ0RMPP/niESuPd/dNJG1PIOCt0+1LDg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=l0ND/d7eQYFHw6AQoAkVccHtBQUytZ1ujf/jgUpuCXM=;
 b=Q5yObx8flEjQ+4q0h5gsaddNI3KuI6Uol90RFhG1Crq9AXVAIUCm8AcBMbMnKbDxQJ3ekY9v0ZokOpmg1TY8sVuZ74XH0Qbffhb0RVADTcaxG8mOFeWkay+co3dB+31Qi+ufOy8xvOcooWfrPjocIUPXX/bAZs/TsL0b2g1wI8o=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Juergen Gross <jgross@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Anthony
 PERARD <anthony.perard@vates.tech>, Jason Andryuk <jason.andryuk@amd.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH v2] libs/guest: don't use unsigned long as type for PFNs
Thread-Topic: [PATCH v2] libs/guest: don't use unsigned long as type for PFNs
Thread-Index: AQHcNoZt7mla/rsydU2n7oA1r/gbYLS0tfGA
Date: Mon, 6 Oct 2025 07:19:35 +0000
Message-ID: <B5C488DF-BFE9-47D2-A385-5B52A89B1ED3@arm.com>
References: <20251006055939.27286-1-jgross@suse.com>
In-Reply-To: <20251006055939.27286-1-jgross@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3826.700.81)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DU2PR08MB7272:EE_|FRZPR08MB10951:EE_|AMS1EPF0000004E:EE_|AS2PR08MB9740:EE_
X-MS-Office365-Filtering-Correlation-Id: b0ad04d2-dc4f-4ade-a453-08de04a8c9bb
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted:
 BCL:0;ARA:13230040|1800799024|366016|376014|38070700021;
X-Microsoft-Antispam-Message-Info-Original:
 =?us-ascii?Q?5FDE6LmgBgJAqBO+hriF8/+5+9/ikShvcKMGH5x4agLs5jlYEcYV/inh4hBp?=
 =?us-ascii?Q?ZB9J4T6/BW5gblOKCSn0fiXlOWpY3NFyO1XYcwOynCnTgRTCTFbvnYn/v2yS?=
 =?us-ascii?Q?FPHNTsjSvd7+Q+T/UJR+3Cu4i7MLiYfyivTxtUbrdQ1/6cegOJwtG+dNcscS?=
 =?us-ascii?Q?lRCSBXhQnN+tmf704bsrLBCrBQfHJIjAq1aVDb9Gm+LtEVb0bqp1+IIK7rz+?=
 =?us-ascii?Q?oBg4lV6TNN+Pt4Y68k5++xdxjR5qvR2TTHsEzuC0cC4SZvNKDAnZdaIBqB9X?=
 =?us-ascii?Q?L5mVKssP7rHHQFqhzx8t9xgWrVHUbvct6sTXXkGze85zxPHzaJBCBsy15Am2?=
 =?us-ascii?Q?g+ah9jJLesaTbNcjZcjU0THy8xfxiGmhmig5FLXrrYbYz3pFwni1AmXbyPE/?=
 =?us-ascii?Q?HEKDokj5jb/nJLU0jLc6ikXYVZWCW3K2/KrOL2nRlAi+vl8r0614KINl8V+x?=
 =?us-ascii?Q?9A/4CtqgCB3FyjgLfnmT9diVEheVr+tRx6+kl8UdPcwfKtxNZozOGV1jIyuP?=
 =?us-ascii?Q?7toxq0IdtgH2NYKmy3aLcMvmwcz+WhNLFojRLLSHg4G7M/osSVeYrNSynSZO?=
 =?us-ascii?Q?lml6YEJcHHKIod1pVoftEAn8nptBhT2OcvqpTkT91yHrrT1CoCfMO9WMOx+O?=
 =?us-ascii?Q?evxmx9kAyGaCZAkZgWnGcpWFxf6TtSeRAuoTdSznjhnvedccKrjNk++LsLgv?=
 =?us-ascii?Q?3jLbn6sUwwTt6sH564OHcxVtI0i5lsGcgmKYOuqKxWC1VYBrCp5MppbT6xyE?=
 =?us-ascii?Q?RPAuaLbgCl1wnPJsS/k9ukj92w7dqji7mLkP76jiJdTbtLt6xHArWOkk6Dmn?=
 =?us-ascii?Q?iAZKuidh1XsaoRWc3xK4bH2+qpXBHAVio0oc/LhurZT+okecy6hG9E1/Fo4i?=
 =?us-ascii?Q?g/65L8ZFhuwU8yyD4/71usPJ55Cd9Da105xEi4SNYSrSd0GhczCbOyeBMzSN?=
 =?us-ascii?Q?q5ykugpgwZsgcKoWBNDCHz+TiPwTxHpayzwknUYE/7aKO11xuKhsm9ifAvWo?=
 =?us-ascii?Q?Xnm46s4sjBoYeo8voEXhRrVQya8sXxNHaZZKveuY7AP/3E0VKfLCUn88LAAh?=
 =?us-ascii?Q?IA+x3DJZs+X1KOk4nhZ+jYkG/KtK9GbJEDFa7rUwKRPatcJU50BMb8xCi6fn?=
 =?us-ascii?Q?omFHqIrZ4qeVlWZ3hhra0L6Jf2eq12O1W/b0kPI6ZpKtQyqGxgUL3fcIHuHh?=
 =?us-ascii?Q?d/444Y+qwls6Z50wCy8akfe4i7PCE0pBxzZ7WOgjgqK3pGU47YRayCubBaWx?=
 =?us-ascii?Q?nc7SnihImeTnEK4TeBhHLCyZ1sL+VTlVx40hBUHSwQ/WQx55i7B+8kBwSnbk?=
 =?us-ascii?Q?w3kyT2fStIkM2tplEMG5V+0I84kOKt5XydLRz/HD7oHoErknlg6xXU+SFhXk?=
 =?us-ascii?Q?tj6TPJbCKvrzu2YdwLN61dHASy8kcc3YFvj2I+O33T+rc56S/i1tNQ1lt1nf?=
 =?us-ascii?Q?64CkChe8QBNogZnO5/ZPE4e74+SQo4zwfB/5cnnA++U1oSB9SstIvniZuKP2?=
 =?us-ascii?Q?zi1Q7r92okpW4RI149JYQtYKTEaM99W4b4rL?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR08MB7272.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(38070700021);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <1C59FBA4A20DFF44A7553391F711BF6A@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: FRZPR08MB10951
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AMS1EPF0000004E.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	442953a2-a2aa-4cc8-255f-08de04a8b408
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|36860700013|376014|35042699022|82310400026|14060799003|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?W6vybqenNR4yYnd5OakJ+rWB9wFASrcZXBaZ15/hg6dd9hMBDh4FGbBnahoT?=
 =?us-ascii?Q?jgN3f/oxykrNX2GGqp024Rzk6tUKGLY8O+rTRWJF3YP2WCsWnQ+ePqzB/aPV?=
 =?us-ascii?Q?8Lt3Lj70gHQSw7XgzxWfET5sx3PzLOwj/Ro9OJM3Pi6X5OkNRQcpXtChyzzu?=
 =?us-ascii?Q?3d/N6wZMnVrL/eiKnMEy4M8r/a51yMAIUPtvoMQdcQ/KMZQRCRQoFqV9JJpl?=
 =?us-ascii?Q?9jRBmQ/3kI8AStyGlJlBSkusXY+RPqT0Kh6jjnsVq3uwzgElc66Che3AKZMm?=
 =?us-ascii?Q?Lna3RMgdVWUu+WVuT3t8f5rbMSizl8Fm2L2QvXaxtjS5/E89+L1u6R4FzPh6?=
 =?us-ascii?Q?NY9BFTcVy5kYEt7dsfJAayxBO1TFwPBiZTWiNd/tnLysT1wveeGjbOQ9Whqz?=
 =?us-ascii?Q?k7eUh4P94lMi1/qKs5cQDOgwROHoiko1//7QaoTI4jmXv0SBkCbt0z2Udm1E?=
 =?us-ascii?Q?eQPCwPZEXxDm4VmppHtCfcq9GovOrtcRztL1z3hE8/ToN9zn7//DzDFva0KC?=
 =?us-ascii?Q?xCEefWMT2HJDWpZUyFLrEJy+hifZmqJ4IbG4gSTDJd6WNLxCy8e+LEfyrmq5?=
 =?us-ascii?Q?qLst9b1TymPi23PFyBkiuhhdmHP/OlvOxXfYtM6bcxiCBGpGrBcyBD1dwLxn?=
 =?us-ascii?Q?DKWGzK7aF1h9PPob4Xm+3BpRXempwRGliBIBZFo5zYsRUsB3TO5wh5FzD0R/?=
 =?us-ascii?Q?kIKUAQoPqKpsbCTv09yuA/ijSdlZe8sCkS70I9rRPOyYBQbSSxihEkiVU1m0?=
 =?us-ascii?Q?/jANcpQjpgp5QwLeSMsmGjWg8vLeh1j568P2fMtdUNVlCcq8/CRGMcBB9fry?=
 =?us-ascii?Q?GdMJ0amxG4VFjgDPhSPe0iuTe8qmm8pJiWV6IaCL/XV8OQmqVcakCl+i/9vN?=
 =?us-ascii?Q?dnVugGzQgULaOKMfJfrnc+k2cWIUWgycfmajc9LwW4fBfkV5qSwVGM2JJPaZ?=
 =?us-ascii?Q?zobvSsLCJRYrwcgNP7OwTgzTDkRBwkHzmXWMdMJPOsGONBLd968qlA3+fX+C?=
 =?us-ascii?Q?EtlZ5Ei/xCxMZpXhOkzwISQbJMhEEAgY7XIDa8QVu+Z7kSF2a9wunahCsPai?=
 =?us-ascii?Q?Fo8pbPdUpgcvAapMvMsGVcKRpBB7N/xeVymC2SrBtw+Bv6yDsZJg3iV8rmq+?=
 =?us-ascii?Q?uyAoyqbiZuyU/JMeY9i0hAeXba5wLs4po9mTsxZfRcGnnPZMNo/gnIokG92z?=
 =?us-ascii?Q?48C0N2Cvpupu/HWebrHUK4SqbBbp/qfYFWPVhTUKh1SzpOe0P0RhR1PhpsBd?=
 =?us-ascii?Q?XtAY13YJYm06tJqrNAXI9yopf5+2b0cyMPb/InkwGvX4c7tlv+601oKTyBw8?=
 =?us-ascii?Q?AwIfARO/hdvOAo/beeb0uGHz7iz4jhicKz1/zoKXBoMeRAcYFnRTXBAbGJCb?=
 =?us-ascii?Q?0vG0t5Fxw4yxTv/16Kat8fSuA7oC/KaD5iPabS6Ivh10e35jK5SS3C7h9Khf?=
 =?us-ascii?Q?21fJAxiN3A/uuaE/hyHsx/CA0pqzXapeCxpdfkA7zN7E8Ik14B3zx4k7G2i7?=
 =?us-ascii?Q?ihLgkfkZMIddVd2QS9bZJdGwgTOYsnZUOfJB34u2aoGPSVup6gZB3RxD81ZB?=
 =?us-ascii?Q?UuoytYFvnNPzRuSUQ60=3D?=
X-Forefront-Antispam-Report:
	CIP:4.158.2.129;CTRY:GB;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:outbound-uk1.az.dlp.m.darktrace.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700013)(376014)(35042699022)(82310400026)(14060799003)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Oct 2025 07:20:11.7809
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b0ad04d2-dc4f-4ade-a453-08de04a8c9bb
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[4.158.2.129];Helo=[outbound-uk1.az.dlp.m.darktrace.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AMS1EPF0000004E.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB9740

Hi Juergen,

> On 6 Oct 2025, at 06:59, Juergen Gross <jgross@suse.com> wrote:
>=20
> Declarations of xc_dom_console_init() and
> xc_dom_console_set_disconnected() in libxenguest.h don't match their
> implementation in the library.
>=20
> Under arm32, xen_pfn_t is a uint64_t and wider than unsigned long.
>=20
> Use xen_pfn_t for GFNs in the library to fix that. At the same time
> change the parameter name of the implementation to console_gfn,
> matching the interface declaration in the header and reality (it is
> a GFN, not a PFN).
>=20
> Fixes: b6fc307b0b00 ("libs/guest: Set console as disconnected on resume")
> Fixes: 971b7d5ecbcd ("libs/guest: Set console page to disconnected")
> Reported-by: Luca Fancellu <luca.fancellu@arm.com>
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
> V2:
> - switch parameter name as well (Andrew Cooper)
> ---

Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
Tested-by: Luca Fancellu <luca.fancellu@arm.com>

Cheers,
Luca


From xen-devel-bounces@lists.xenproject.org Mon Oct 06 07:46:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Oct 2025 07:46:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1137864.1473701 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5fvL-0000XE-1n; Mon, 06 Oct 2025 07:46:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1137864.1473701; Mon, 06 Oct 2025 07:46:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5fvK-0000X7-Uz; Mon, 06 Oct 2025 07:46:22 +0000
Received: by outflank-mailman (input) for mailman id 1137864;
 Mon, 06 Oct 2025 07:46:20 +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 <SRS0=kU4J=4P=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1v5fvI-0000J4-Lg
 for xen-devel@lists.xenproject.org; Mon, 06 Oct 2025 07:46:20 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8719af3c-a288-11f0-9d15-b5c5bf9af7f9;
 Mon, 06 Oct 2025 09:46:11 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 4F1981F452;
 Mon,  6 Oct 2025 07:46:10 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 6771D13A7E;
 Mon,  6 Oct 2025 07:46:08 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id wfJlF8Bz42gsHgAAD6G6ig
 (envelope-from <jgross@suse.com>); Mon, 06 Oct 2025 07:46:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8719af3c-a288-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1759736770; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:  content-transfer-encoding:content-transfer-encoding;
	bh=0hUCpLGWp10kneCygo8M4Tl5eBzBlmAWyZmdzLPFfuE=;
	b=S0bMZECPjoWBe+J7lp1BWDzt1QqEtQGjyg5lRVpr3Pu2juRaTRrUYlCop3JnR7QupyR+N/
	HiQiduYLji7b1fhzocWWJ480xAzIy+ynq/QFBv+yldrV1+Qx/kDnUyRGcq8r0K6f32lBnU
	SRVJl4Xq3xPVKKjRwuT7RNeYZjty6Kc=
Authentication-Results: smtp-out2.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=S0bMZECP
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1759736770; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:  content-transfer-encoding:content-transfer-encoding;
	bh=0hUCpLGWp10kneCygo8M4Tl5eBzBlmAWyZmdzLPFfuE=;
	b=S0bMZECPjoWBe+J7lp1BWDzt1QqEtQGjyg5lRVpr3Pu2juRaTRrUYlCop3JnR7QupyR+N/
	HiQiduYLji7b1fhzocWWJ480xAzIy+ynq/QFBv+yldrV1+Qx/kDnUyRGcq8r0K6f32lBnU
	SRVJl4Xq3xPVKKjRwuT7RNeYZjty6Kc=
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org,
	x86@kernel.org,
	linux-hyperv@vger.kernel.org,
	virtualization@lists.linux.dev,
	loongarch@lists.linux.dev,
	linuxppc-dev@lists.ozlabs.org,
	linux-riscv@lists.infradead.org,
	kvm@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Andy Lutomirski <luto@kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	"K. Y. Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>,
	Dexuan Cui <decui@microsoft.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Will Deacon <will@kernel.org>,
	Boqun Feng <boqun.feng@gmail.com>,
	Waiman Long <longman@redhat.com>,
	Jiri Kosina <jikos@kernel.org>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	Pawan Gupta <pawan.kumar.gupta@linux.intel.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	xen-devel@lists.xenproject.org,
	Ajay Kaher <ajay.kaher@broadcom.com>,
	Alexey Makhalov <alexey.makhalov@broadcom.com>,
	Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>,
	Russell King <linux@armlinux.org.uk>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Huacai Chen <chenhuacai@kernel.org>,
	WANG Xuerui <kernel@xen0n.name>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Paul Walmsley <pjw@kernel.org>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Alexandre Ghiti <alex@ghiti.fr>,
	Juri Lelli <juri.lelli@redhat.com>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	Dietmar Eggemann <dietmar.eggemann@arm.com>,
	Steven Rostedt <rostedt@goodmis.org>,
	Ben Segall <bsegall@google.com>,
	Mel Gorman <mgorman@suse.de>,
	Valentin Schneider <vschneid@redhat.com>,
	linux-arm-kernel@lists.infradead.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Oleg Nesterov <oleg@redhat.com>
Subject: [PATCH v3 00/21] paravirt: cleanup and reorg
Date: Mon,  6 Oct 2025 09:45:45 +0200
Message-ID: <20251006074606.1266-1-jgross@suse.com>
X-Mailer: git-send-email 2.51.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spamd-Result: default: False [-1.51 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	SUSPICIOUS_RECIPS(1.50)[];
	MID_CONTAINS_FROM(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	R_MISSING_CHARSET(0.50)[];
	R_DKIM_ALLOW(-0.20)[suse.com:s=susede1];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	MX_GOOD(-0.01)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FUZZY_RATELIMITED(0.00)[rspamd.com];
	TO_DN_SOME(0.00)[];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	MIME_TRACE(0.00)[0:+];
	ARC_NA(0.00)[];
	FREEMAIL_CC(0.00)[suse.com,kernel.org,linutronix.de,redhat.com,alien8.de,linux.intel.com,zytor.com,microsoft.com,infradead.org,gmail.com,oracle.com,lists.xenproject.org,broadcom.com,armlinux.org.uk,arm.com,xen0n.name,linux.ibm.com,ellerman.id.au,csgroup.eu,dabbelt.com,eecs.berkeley.edu,ghiti.fr,linaro.org,goodmis.org,google.com,suse.de,lists.infradead.org,epam.com];
	DKIM_TRACE(0.00)[suse.com:+];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_SOME(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	RCPT_COUNT_GT_50(0.00)[57];
	RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received];
	R_RATELIMIT(0.00)[to_ip_from(RLkdkdrsxe9hqhhs5ask8616i6)];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,imap1.dmz-prg2.suse.org:rdns,suse.com:mid,suse.com:dkim];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	TAGGED_RCPT(0.00)[];
	FREEMAIL_ENVRCPT(0.00)[gmail.com]
X-Spam-Flag: NO
X-Spam-Level: 
X-Rspamd-Queue-Id: 4F1981F452
X-Rspamd-Server: rspamd2.dmz-prg2.suse.org
X-Rspamd-Action: no action
X-Spam-Score: -1.51

Some cleanups and reorg of paravirt code and headers:

- The first 2 patches should be not controversial at all, as they
  remove just some no longer needed #include and struct forward
  declarations.

- The 3rd patch is removing CONFIG_PARAVIRT_DEBUG, which IMO has
  no real value, as it just changes a crash to a BUG() (the stack
  trace will basically be the same). As the maintainer of the main
  paravirt user (Xen) I have never seen this crash/BUG() to happen.

- The 4th patch is just a movement of code.

- I don't know for what reason asm/paravirt_api_clock.h was added,
  as all archs supporting it do it exactly in the same way. Patch
  5 is removing it.

- Patches 6-14 are streamlining the paravirt clock interfaces by
  using a common implementation across architectures where possible
  and by moving the related code into common sched code, as this is
  where it should live.

- Patches 15-20 are more like RFC material preparing the paravirt
  infrastructure to support multiple pv_ops function arrays.
  As a prerequisite for that it makes life in objtool much easier
  with dropping the Xen static initializers of the pv_ops sub-
  structures, which is done in patches 15-17.
  Patches 18-20 are doing the real preparations for multiple pv_ops
  arrays and using those arrays in multiple headers.

- Patch 21 is an example how the new scheme can look like using the
  PV-spinlocks.

Changes in V2:
- new patches 13-18 and 20
- complete rework of patch 21

Changes in V3:
- fixed 2 issues detected by kernel test robot

Juergen Gross (21):
  x86/paravirt: Remove not needed includes of paravirt.h
  x86/paravirt: Remove some unneeded struct declarations
  x86/paravirt: Remove PARAVIRT_DEBUG config option
  x86/paravirt: Move thunk macros to paravirt_types.h
  paravirt: Remove asm/paravirt_api_clock.h
  sched: Move clock related paravirt code to kernel/sched
  arm/paravirt: Use common code for paravirt_steal_clock()
  arm64/paravirt: Use common code for paravirt_steal_clock()
  loongarch/paravirt: Use common code for paravirt_steal_clock()
  riscv/paravirt: Use common code for paravirt_steal_clock()
  x86/paravirt: Use common code for paravirt_steal_clock()
  x86/paravirt: Move paravirt_sched_clock() related code into tsc.c
  x86/paravirt: Introduce new paravirt-base.h header
  x86/paravirt: Move pv_native_*() prototypes to paravirt.c
  x86/xen: Drop xen_irq_ops
  x86/xen: Drop xen_cpu_ops
  x86/xen: Drop xen_mmu_ops
  objtool: Allow multiple pv_ops arrays
  x86/paravirt: Allow pv-calls outside paravirt.h
  x86/paravirt: Specify pv_ops array in paravirt macros
  x86/pvlocks: Move paravirt spinlock functions into own header

 arch/Kconfig                                  |   3 +
 arch/arm/Kconfig                              |   1 +
 arch/arm/include/asm/paravirt.h               |  22 --
 arch/arm/include/asm/paravirt_api_clock.h     |   1 -
 arch/arm/kernel/Makefile                      |   1 -
 arch/arm/kernel/paravirt.c                    |  23 --
 arch/arm64/Kconfig                            |   1 +
 arch/arm64/include/asm/paravirt.h             |  14 -
 arch/arm64/include/asm/paravirt_api_clock.h   |   1 -
 arch/arm64/kernel/paravirt.c                  |  11 +-
 arch/loongarch/Kconfig                        |   1 +
 arch/loongarch/include/asm/paravirt.h         |  13 -
 .../include/asm/paravirt_api_clock.h          |   1 -
 arch/loongarch/kernel/paravirt.c              |  10 +-
 arch/powerpc/include/asm/paravirt.h           |   3 -
 arch/powerpc/include/asm/paravirt_api_clock.h |   2 -
 arch/powerpc/platforms/pseries/setup.c        |   4 +-
 arch/riscv/Kconfig                            |   1 +
 arch/riscv/include/asm/paravirt.h             |  14 -
 arch/riscv/include/asm/paravirt_api_clock.h   |   1 -
 arch/riscv/kernel/paravirt.c                  |  11 +-
 arch/x86/Kconfig                              |   8 +-
 arch/x86/entry/entry_64.S                     |   1 -
 arch/x86/entry/vsyscall/vsyscall_64.c         |   1 -
 arch/x86/hyperv/hv_spinlock.c                 |  11 +-
 arch/x86/include/asm/apic.h                   |   4 -
 arch/x86/include/asm/highmem.h                |   1 -
 arch/x86/include/asm/mshyperv.h               |   1 -
 arch/x86/include/asm/paravirt-base.h          |  29 ++
 arch/x86/include/asm/paravirt-spinlock.h      | 146 ++++++++
 arch/x86/include/asm/paravirt.h               | 331 +++++-------------
 arch/x86/include/asm/paravirt_api_clock.h     |   1 -
 arch/x86/include/asm/paravirt_types.h         | 269 +++++++-------
 arch/x86/include/asm/pgtable_32.h             |   1 -
 arch/x86/include/asm/ptrace.h                 |   2 +-
 arch/x86/include/asm/qspinlock.h              |  89 +----
 arch/x86/include/asm/spinlock.h               |   1 -
 arch/x86/include/asm/timer.h                  |   1 +
 arch/x86/include/asm/tlbflush.h               |   4 -
 arch/x86/kernel/Makefile                      |   2 +-
 arch/x86/kernel/apm_32.c                      |   1 -
 arch/x86/kernel/callthunks.c                  |   1 -
 arch/x86/kernel/cpu/bugs.c                    |   1 -
 arch/x86/kernel/cpu/vmware.c                  |   1 +
 arch/x86/kernel/kvm.c                         |  11 +-
 arch/x86/kernel/kvmclock.c                    |   1 +
 arch/x86/kernel/paravirt-spinlocks.c          |  26 +-
 arch/x86/kernel/paravirt.c                    |  42 +--
 arch/x86/kernel/tsc.c                         |  10 +-
 arch/x86/kernel/vsmp_64.c                     |   1 -
 arch/x86/kernel/x86_init.c                    |   1 -
 arch/x86/lib/cache-smp.c                      |   1 -
 arch/x86/mm/init.c                            |   1 -
 arch/x86/xen/enlighten_pv.c                   |  82 ++---
 arch/x86/xen/irq.c                            |  20 +-
 arch/x86/xen/mmu_pv.c                         | 100 ++----
 arch/x86/xen/spinlock.c                       |  11 +-
 arch/x86/xen/time.c                           |   2 +
 drivers/clocksource/hyperv_timer.c            |   2 +
 drivers/xen/time.c                            |   2 +-
 include/linux/sched/cputime.h                 |  18 +
 kernel/sched/core.c                           |   5 +
 kernel/sched/cputime.c                        |  13 +
 kernel/sched/sched.h                          |   3 +-
 tools/objtool/arch/x86/decode.c               |   8 +-
 tools/objtool/check.c                         |  78 ++++-
 tools/objtool/include/objtool/check.h         |   2 +
 67 files changed, 659 insertions(+), 827 deletions(-)
 delete mode 100644 arch/arm/include/asm/paravirt.h
 delete mode 100644 arch/arm/include/asm/paravirt_api_clock.h
 delete mode 100644 arch/arm/kernel/paravirt.c
 delete mode 100644 arch/arm64/include/asm/paravirt_api_clock.h
 delete mode 100644 arch/loongarch/include/asm/paravirt_api_clock.h
 delete mode 100644 arch/powerpc/include/asm/paravirt_api_clock.h
 delete mode 100644 arch/riscv/include/asm/paravirt_api_clock.h
 create mode 100644 arch/x86/include/asm/paravirt-base.h
 create mode 100644 arch/x86/include/asm/paravirt-spinlock.h
 delete mode 100644 arch/x86/include/asm/paravirt_api_clock.h

-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Mon Oct 06 07:46:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Oct 2025 07:46:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1137863.1473692 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5fvI-0000JI-Pz; Mon, 06 Oct 2025 07:46:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1137863.1473692; Mon, 06 Oct 2025 07:46:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5fvI-0000JB-Ko; Mon, 06 Oct 2025 07:46:20 +0000
Received: by outflank-mailman (input) for mailman id 1137863;
 Mon, 06 Oct 2025 07:46:19 +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 <SRS0=kU4J=4P=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1v5fvH-0000J4-Lh
 for xen-devel@lists.xenproject.org; Mon, 06 Oct 2025 07:46:19 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8a82e2db-a288-11f0-9d15-b5c5bf9af7f9;
 Mon, 06 Oct 2025 09:46:17 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id A8FD1336CB;
 Mon,  6 Oct 2025 07:46:16 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id C407413A7E;
 Mon,  6 Oct 2025 07:46:15 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id C5vmLcdz42g3HgAAD6G6ig
 (envelope-from <jgross@suse.com>); Mon, 06 Oct 2025 07:46:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8a82e2db-a288-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1759736776; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=FNUSuF2NTfkBBhb8MInYhXDO2IAfm9m9AusVw13OjYU=;
	b=JtGsB7Sq1yJftJo0QsHIt0yiiDnoTi9gHfJjRJjtCQdHzxD+8zFWkTgk6wZO2DWFgpAjPd
	YP/5xr9B7Vzztu5qK83qbugmYDONl/2943+Kqd5cOOwe0ujalZRP1Sv14ayaXuqgK9p7Ly
	RrBD76ICE0RMFL6NscpthHesaX6Mxac=
Authentication-Results: smtp-out1.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1759736776; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=FNUSuF2NTfkBBhb8MInYhXDO2IAfm9m9AusVw13OjYU=;
	b=JtGsB7Sq1yJftJo0QsHIt0yiiDnoTi9gHfJjRJjtCQdHzxD+8zFWkTgk6wZO2DWFgpAjPd
	YP/5xr9B7Vzztu5qK83qbugmYDONl/2943+Kqd5cOOwe0ujalZRP1Sv14ayaXuqgK9p7Ly
	RrBD76ICE0RMFL6NscpthHesaX6Mxac=
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org,
	x86@kernel.org,
	linux-hyperv@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Andy Lutomirski <luto@kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	"K. Y. Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>,
	Dexuan Cui <decui@microsoft.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Will Deacon <will@kernel.org>,
	Boqun Feng <boqun.feng@gmail.com>,
	Waiman Long <longman@redhat.com>,
	Jiri Kosina <jikos@kernel.org>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	Pawan Gupta <pawan.kumar.gupta@linux.intel.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	xen-devel@lists.xenproject.org
Subject: [PATCH v3 01/21] x86/paravirt: Remove not needed includes of paravirt.h
Date: Mon,  6 Oct 2025 09:45:46 +0200
Message-ID: <20251006074606.1266-2-jgross@suse.com>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251006074606.1266-1-jgross@suse.com>
References: <20251006074606.1266-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Level: 
X-Spamd-Result: default: False [-1.30 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	SUSPICIOUS_RECIPS(1.50)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MID_CONTAINS_FROM(1.00)[];
	R_MISSING_CHARSET(0.50)[];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	RCVD_COUNT_TWO(0.00)[2];
	ARC_NA(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	FUZZY_RATELIMITED(0.00)[rspamd.com];
	FREEMAIL_CC(0.00)[suse.com,kernel.org,linutronix.de,redhat.com,alien8.de,linux.intel.com,zytor.com,microsoft.com,infradead.org,gmail.com,oracle.com,lists.xenproject.org];
	RCPT_COUNT_TWELVE(0.00)[23];
	MIME_TRACE(0.00)[0:+];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	TAGGED_RCPT(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[infradead.org:email,suse.com:email,suse.com:mid,imap1.dmz-prg2.suse.org:helo];
	URIBL_BLOCKED(0.00)[infradead.org:email,imap1.dmz-prg2.suse.org:helo];
	FROM_HAS_DN(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FROM_EQ_ENVFROM(0.00)[];
	TO_DN_SOME(0.00)[];
	FREEMAIL_ENVRCPT(0.00)[gmail.com]
X-Spam-Flag: NO
X-Spam-Score: -1.30

In some places asm/paravirt.h is included without really being needed.

Remove the related #include statements.

Signed-off-by: Juergen Gross <jgross@suse.com>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
---
V3:
- reinstate the include in mmu_context.h (kernel test robot)
---
 arch/x86/entry/entry_64.S             | 1 -
 arch/x86/entry/vsyscall/vsyscall_64.c | 1 -
 arch/x86/hyperv/hv_spinlock.c         | 1 -
 arch/x86/include/asm/apic.h           | 4 ----
 arch/x86/include/asm/highmem.h        | 1 -
 arch/x86/include/asm/mshyperv.h       | 1 -
 arch/x86/include/asm/pgtable_32.h     | 1 -
 arch/x86/include/asm/spinlock.h       | 1 -
 arch/x86/include/asm/tlbflush.h       | 4 ----
 arch/x86/kernel/apm_32.c              | 1 -
 arch/x86/kernel/callthunks.c          | 1 -
 arch/x86/kernel/cpu/bugs.c            | 1 -
 arch/x86/kernel/vsmp_64.c             | 1 -
 arch/x86/kernel/x86_init.c            | 1 -
 arch/x86/lib/cache-smp.c              | 1 -
 arch/x86/mm/init.c                    | 1 -
 arch/x86/xen/spinlock.c               | 1 -
 17 files changed, 23 deletions(-)

diff --git a/arch/x86/entry/entry_64.S b/arch/x86/entry/entry_64.S
index ed04a968cc7d..7a82305405af 100644
--- a/arch/x86/entry/entry_64.S
+++ b/arch/x86/entry/entry_64.S
@@ -30,7 +30,6 @@
 #include <asm/hw_irq.h>
 #include <asm/page_types.h>
 #include <asm/irqflags.h>
-#include <asm/paravirt.h>
 #include <asm/percpu.h>
 #include <asm/asm.h>
 #include <asm/smap.h>
diff --git a/arch/x86/entry/vsyscall/vsyscall_64.c b/arch/x86/entry/vsyscall/vsyscall_64.c
index 6e6c0a740837..4bd1e271bb22 100644
--- a/arch/x86/entry/vsyscall/vsyscall_64.c
+++ b/arch/x86/entry/vsyscall/vsyscall_64.c
@@ -37,7 +37,6 @@
 #include <asm/unistd.h>
 #include <asm/fixmap.h>
 #include <asm/traps.h>
-#include <asm/paravirt.h>
 
 #define CREATE_TRACE_POINTS
 #include "vsyscall_trace.h"
diff --git a/arch/x86/hyperv/hv_spinlock.c b/arch/x86/hyperv/hv_spinlock.c
index 81b006601370..2a3c2afb0154 100644
--- a/arch/x86/hyperv/hv_spinlock.c
+++ b/arch/x86/hyperv/hv_spinlock.c
@@ -13,7 +13,6 @@
 #include <linux/spinlock.h>
 
 #include <asm/mshyperv.h>
-#include <asm/paravirt.h>
 #include <asm/apic.h>
 #include <asm/msr.h>
 
diff --git a/arch/x86/include/asm/apic.h b/arch/x86/include/asm/apic.h
index a26e66d66444..9cd493d467d4 100644
--- a/arch/x86/include/asm/apic.h
+++ b/arch/x86/include/asm/apic.h
@@ -90,10 +90,6 @@ static inline bool apic_from_smp_config(void)
 /*
  * Basic functions accessing APICs.
  */
-#ifdef CONFIG_PARAVIRT
-#include <asm/paravirt.h>
-#endif
-
 static inline void native_apic_mem_write(u32 reg, u32 v)
 {
 	volatile u32 *addr = (volatile u32 *)(APIC_BASE + reg);
diff --git a/arch/x86/include/asm/highmem.h b/arch/x86/include/asm/highmem.h
index 585bdadba47d..decfaaf52326 100644
--- a/arch/x86/include/asm/highmem.h
+++ b/arch/x86/include/asm/highmem.h
@@ -24,7 +24,6 @@
 #include <linux/interrupt.h>
 #include <linux/threads.h>
 #include <asm/tlbflush.h>
-#include <asm/paravirt.h>
 #include <asm/fixmap.h>
 #include <asm/pgtable_areas.h>
 
diff --git a/arch/x86/include/asm/mshyperv.h b/arch/x86/include/asm/mshyperv.h
index abc4659f5809..a9ab46fcb6a1 100644
--- a/arch/x86/include/asm/mshyperv.h
+++ b/arch/x86/include/asm/mshyperv.h
@@ -7,7 +7,6 @@
 #include <linux/msi.h>
 #include <linux/io.h>
 #include <asm/nospec-branch.h>
-#include <asm/paravirt.h>
 #include <asm/msr.h>
 #include <hyperv/hvhdk.h>
 
diff --git a/arch/x86/include/asm/pgtable_32.h b/arch/x86/include/asm/pgtable_32.h
index b612cc57a4d3..acea0cfa2460 100644
--- a/arch/x86/include/asm/pgtable_32.h
+++ b/arch/x86/include/asm/pgtable_32.h
@@ -16,7 +16,6 @@
 #ifndef __ASSEMBLER__
 #include <asm/processor.h>
 #include <linux/threads.h>
-#include <asm/paravirt.h>
 
 #include <linux/bitops.h>
 #include <linux/list.h>
diff --git a/arch/x86/include/asm/spinlock.h b/arch/x86/include/asm/spinlock.h
index 5b6bc7016c22..934632b78d09 100644
--- a/arch/x86/include/asm/spinlock.h
+++ b/arch/x86/include/asm/spinlock.h
@@ -7,7 +7,6 @@
 #include <asm/page.h>
 #include <asm/processor.h>
 #include <linux/compiler.h>
-#include <asm/paravirt.h>
 #include <asm/bitops.h>
 
 /*
diff --git a/arch/x86/include/asm/tlbflush.h b/arch/x86/include/asm/tlbflush.h
index 00daedfefc1b..238a6b807da5 100644
--- a/arch/x86/include/asm/tlbflush.h
+++ b/arch/x86/include/asm/tlbflush.h
@@ -300,10 +300,6 @@ static inline void mm_clear_asid_transition(struct mm_struct *mm) { }
 static inline bool mm_in_asid_transition(struct mm_struct *mm) { return false; }
 #endif /* CONFIG_BROADCAST_TLB_FLUSH */
 
-#ifdef CONFIG_PARAVIRT
-#include <asm/paravirt.h>
-#endif
-
 #define flush_tlb_mm(mm)						\
 		flush_tlb_mm_range(mm, 0UL, TLB_FLUSH_ALL, 0UL, true)
 
diff --git a/arch/x86/kernel/apm_32.c b/arch/x86/kernel/apm_32.c
index b37ab1095707..3175d7c134e9 100644
--- a/arch/x86/kernel/apm_32.c
+++ b/arch/x86/kernel/apm_32.c
@@ -229,7 +229,6 @@
 #include <linux/uaccess.h>
 #include <asm/desc.h>
 #include <asm/olpc.h>
-#include <asm/paravirt.h>
 #include <asm/reboot.h>
 #include <asm/nospec-branch.h>
 #include <asm/ibt.h>
diff --git a/arch/x86/kernel/callthunks.c b/arch/x86/kernel/callthunks.c
index a951333c5995..e37728f70322 100644
--- a/arch/x86/kernel/callthunks.c
+++ b/arch/x86/kernel/callthunks.c
@@ -15,7 +15,6 @@
 #include <asm/insn.h>
 #include <asm/kexec.h>
 #include <asm/nospec-branch.h>
-#include <asm/paravirt.h>
 #include <asm/sections.h>
 #include <asm/switch_to.h>
 #include <asm/sync_core.h>
diff --git a/arch/x86/kernel/cpu/bugs.c b/arch/x86/kernel/cpu/bugs.c
index 6a526ae1fe99..1f0d67f97788 100644
--- a/arch/x86/kernel/cpu/bugs.c
+++ b/arch/x86/kernel/cpu/bugs.c
@@ -25,7 +25,6 @@
 #include <asm/fpu/api.h>
 #include <asm/msr.h>
 #include <asm/vmx.h>
-#include <asm/paravirt.h>
 #include <asm/cpu_device_id.h>
 #include <asm/e820/api.h>
 #include <asm/hypervisor.h>
diff --git a/arch/x86/kernel/vsmp_64.c b/arch/x86/kernel/vsmp_64.c
index 73511332bb67..25625e3fc183 100644
--- a/arch/x86/kernel/vsmp_64.c
+++ b/arch/x86/kernel/vsmp_64.c
@@ -18,7 +18,6 @@
 #include <asm/apic.h>
 #include <asm/pci-direct.h>
 #include <asm/io.h>
-#include <asm/paravirt.h>
 #include <asm/setup.h>
 
 #define TOPOLOGY_REGISTER_OFFSET 0x10
diff --git a/arch/x86/kernel/x86_init.c b/arch/x86/kernel/x86_init.c
index 0a2bbd674a6d..02ca90378bf9 100644
--- a/arch/x86/kernel/x86_init.c
+++ b/arch/x86/kernel/x86_init.c
@@ -12,7 +12,6 @@
 
 #include <asm/acpi.h>
 #include <asm/bios_ebda.h>
-#include <asm/paravirt.h>
 #include <asm/pci_x86.h>
 #include <asm/mpspec.h>
 #include <asm/setup.h>
diff --git a/arch/x86/lib/cache-smp.c b/arch/x86/lib/cache-smp.c
index c5c60d07308c..ae5a5dfd33c7 100644
--- a/arch/x86/lib/cache-smp.c
+++ b/arch/x86/lib/cache-smp.c
@@ -1,5 +1,4 @@
 // SPDX-License-Identifier: GPL-2.0
-#include <asm/paravirt.h>
 #include <linux/smp.h>
 #include <linux/export.h>
 
diff --git a/arch/x86/mm/init.c b/arch/x86/mm/init.c
index 8bf6ad4b9400..76537d40493c 100644
--- a/arch/x86/mm/init.c
+++ b/arch/x86/mm/init.c
@@ -27,7 +27,6 @@
 #include <asm/pti.h>
 #include <asm/text-patching.h>
 #include <asm/memtype.h>
-#include <asm/paravirt.h>
 #include <asm/mmu_context.h>
 
 /*
diff --git a/arch/x86/xen/spinlock.c b/arch/x86/xen/spinlock.c
index 8e4efe0fb6f9..fe56646d6919 100644
--- a/arch/x86/xen/spinlock.c
+++ b/arch/x86/xen/spinlock.c
@@ -8,7 +8,6 @@
 #include <linux/slab.h>
 #include <linux/atomic.h>
 
-#include <asm/paravirt.h>
 #include <asm/qspinlock.h>
 
 #include <xen/events.h>
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Mon Oct 06 07:46:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Oct 2025 07:46:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1137879.1473711 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5fvr-0001F0-CB; Mon, 06 Oct 2025 07:46:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1137879.1473711; Mon, 06 Oct 2025 07:46:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5fvr-0001Et-7E; Mon, 06 Oct 2025 07:46:55 +0000
Received: by outflank-mailman (input) for mailman id 1137879;
 Mon, 06 Oct 2025 07:46:53 +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 <SRS0=kU4J=4P=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1v5fvp-0000sR-PT
 for xen-devel@lists.xenproject.org; Mon, 06 Oct 2025 07:46:53 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9cd2b448-a288-11f0-9809-7dc792cee155;
 Mon, 06 Oct 2025 09:46:48 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id A513F1F7A2;
 Mon,  6 Oct 2025 07:46:47 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 5250713A7E;
 Mon,  6 Oct 2025 07:46:46 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id Z1Z+EuZz42hiHgAAD6G6ig
 (envelope-from <jgross@suse.com>); Mon, 06 Oct 2025 07:46:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9cd2b448-a288-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1759736807; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=vuMbGOZHbjFM1EjWVRl73WicPb3STU67URmRlfgVTms=;
	b=J8/VKSxK69VSCnyC6Ir+fxHI7Blo8Sr0oenDb3WXss04fOIgot4gdsWwrtpQjCl4Kt8EIV
	GXlM4ckaaoXMn032BJdqrwAJtJTp4PnS/Ouug9Keqyo+HpngHVAbM8M1lBfd8N9Ou8Ne94
	b5U2UTy0Iwiyf/N8YfcbSjO1WKBiKbI=
Authentication-Results: smtp-out2.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1759736807; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=vuMbGOZHbjFM1EjWVRl73WicPb3STU67URmRlfgVTms=;
	b=J8/VKSxK69VSCnyC6Ir+fxHI7Blo8Sr0oenDb3WXss04fOIgot4gdsWwrtpQjCl4Kt8EIV
	GXlM4ckaaoXMn032BJdqrwAJtJTp4PnS/Ouug9Keqyo+HpngHVAbM8M1lBfd8N9Ou8Ne94
	b5U2UTy0Iwiyf/N8YfcbSjO1WKBiKbI=
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org,
	x86@kernel.org,
	virtualization@lists.linux.dev,
	loongarch@lists.linux.dev,
	linuxppc-dev@lists.ozlabs.org,
	linux-riscv@lists.infradead.org,
	kvm@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Ajay Kaher <ajay.kaher@broadcom.com>,
	Alexey Makhalov <alexey.makhalov@broadcom.com>,
	Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>,
	Russell King <linux@armlinux.org.uk>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,
	Huacai Chen <chenhuacai@kernel.org>,
	WANG Xuerui <kernel@xen0n.name>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Paul Walmsley <pjw@kernel.org>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Alexandre Ghiti <alex@ghiti.fr>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Juri Lelli <juri.lelli@redhat.com>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	Dietmar Eggemann <dietmar.eggemann@arm.com>,
	Steven Rostedt <rostedt@goodmis.org>,
	Ben Segall <bsegall@google.com>,
	Mel Gorman <mgorman@suse.de>,
	Valentin Schneider <vschneid@redhat.com>,
	linux-arm-kernel@lists.infradead.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH v3 06/21] sched: Move clock related paravirt code to kernel/sched
Date: Mon,  6 Oct 2025 09:45:51 +0200
Message-ID: <20251006074606.1266-7-jgross@suse.com>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251006074606.1266-1-jgross@suse.com>
References: <20251006074606.1266-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spamd-Result: default: False [-2.80 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	MID_CONTAINS_FROM(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	R_MISSING_CHARSET(0.50)[];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	ARC_NA(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	RCPT_COUNT_TWELVE(0.00)[43];
	MIME_TRACE(0.00)[0:+];
	FUZZY_RATELIMITED(0.00)[rspamd.com];
	RCVD_TLS_ALL(0.00)[];
	TO_DN_SOME(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	FREEMAIL_CC(0.00)[suse.com,broadcom.com,armlinux.org.uk,arm.com,kernel.org,xen0n.name,linux.ibm.com,ellerman.id.au,gmail.com,csgroup.eu,dabbelt.com,eecs.berkeley.edu,ghiti.fr,linutronix.de,redhat.com,alien8.de,linux.intel.com,zytor.com,epam.com,infradead.org,linaro.org,goodmis.org,google.com,suse.de,lists.infradead.org,lists.xenproject.org];
	RCVD_COUNT_TWO(0.00)[2];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:mid,suse.com:email,infradead.org:email,imap1.dmz-prg2.suse.org:helo];
	R_RATELIMIT(0.00)[to_ip_from(RLfdszjqhz8kzzb9uwpzdm8png)];
	FREEMAIL_ENVRCPT(0.00)[gmail.com]
X-Spam-Flag: NO
X-Spam-Level: 
X-Spam-Score: -2.80

Paravirt clock related functions are available in multiple archs.

In order to share the common parts, move the common static keys
to kernel/sched/ and remove them from the arch specific files.

Make a common paravirt_steal_clock() implementation available in
kernel/sched/cputime.c, guarding it with a new config option
CONFIG_HAVE_PV_STEAL_CLOCK_GEN, which can be selected by an arch
in case it wants to use that common variant.

Signed-off-by: Juergen Gross <jgross@suse.com>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
---
 arch/Kconfig                           |  3 +++
 arch/arm/include/asm/paravirt.h        |  4 ----
 arch/arm/kernel/paravirt.c             |  3 ---
 arch/arm64/include/asm/paravirt.h      |  4 ----
 arch/arm64/kernel/paravirt.c           |  4 +---
 arch/loongarch/include/asm/paravirt.h  |  3 ---
 arch/loongarch/kernel/paravirt.c       |  3 +--
 arch/powerpc/include/asm/paravirt.h    |  3 ---
 arch/powerpc/platforms/pseries/setup.c |  4 +---
 arch/riscv/include/asm/paravirt.h      |  4 ----
 arch/riscv/kernel/paravirt.c           |  4 +---
 arch/x86/include/asm/paravirt.h        |  4 ----
 arch/x86/kernel/cpu/vmware.c           |  1 +
 arch/x86/kernel/kvm.c                  |  1 +
 arch/x86/kernel/paravirt.c             |  3 ---
 drivers/xen/time.c                     |  1 +
 include/linux/sched/cputime.h          | 18 ++++++++++++++++++
 kernel/sched/core.c                    |  5 +++++
 kernel/sched/cputime.c                 | 13 +++++++++++++
 kernel/sched/sched.h                   |  2 +-
 20 files changed, 47 insertions(+), 40 deletions(-)

diff --git a/arch/Kconfig b/arch/Kconfig
index ebe08b9186ad..f310ac346fa4 100644
--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -1051,6 +1051,9 @@ config HAVE_IRQ_TIME_ACCOUNTING
 	  Archs need to ensure they use a high enough resolution clock to
 	  support irq time accounting and then call enable_sched_clock_irqtime().
 
+config HAVE_PV_STEAL_CLOCK_GEN
+	bool
+
 config HAVE_MOVE_PUD
 	bool
 	help
diff --git a/arch/arm/include/asm/paravirt.h b/arch/arm/include/asm/paravirt.h
index 95d5b0d625cd..69da4bdcf856 100644
--- a/arch/arm/include/asm/paravirt.h
+++ b/arch/arm/include/asm/paravirt.h
@@ -5,10 +5,6 @@
 #ifdef CONFIG_PARAVIRT
 #include <linux/static_call_types.h>
 
-struct static_key;
-extern struct static_key paravirt_steal_enabled;
-extern struct static_key paravirt_steal_rq_enabled;
-
 u64 dummy_steal_clock(int cpu);
 
 DECLARE_STATIC_CALL(pv_steal_clock, dummy_steal_clock);
diff --git a/arch/arm/kernel/paravirt.c b/arch/arm/kernel/paravirt.c
index 7dd9806369fb..3895a5578852 100644
--- a/arch/arm/kernel/paravirt.c
+++ b/arch/arm/kernel/paravirt.c
@@ -12,9 +12,6 @@
 #include <linux/static_call.h>
 #include <asm/paravirt.h>
 
-struct static_key paravirt_steal_enabled;
-struct static_key paravirt_steal_rq_enabled;
-
 static u64 native_steal_clock(int cpu)
 {
 	return 0;
diff --git a/arch/arm64/include/asm/paravirt.h b/arch/arm64/include/asm/paravirt.h
index 9aa193e0e8f2..c9f7590baacb 100644
--- a/arch/arm64/include/asm/paravirt.h
+++ b/arch/arm64/include/asm/paravirt.h
@@ -5,10 +5,6 @@
 #ifdef CONFIG_PARAVIRT
 #include <linux/static_call_types.h>
 
-struct static_key;
-extern struct static_key paravirt_steal_enabled;
-extern struct static_key paravirt_steal_rq_enabled;
-
 u64 dummy_steal_clock(int cpu);
 
 DECLARE_STATIC_CALL(pv_steal_clock, dummy_steal_clock);
diff --git a/arch/arm64/kernel/paravirt.c b/arch/arm64/kernel/paravirt.c
index aa718d6a9274..943b60ce12f4 100644
--- a/arch/arm64/kernel/paravirt.c
+++ b/arch/arm64/kernel/paravirt.c
@@ -19,14 +19,12 @@
 #include <linux/slab.h>
 #include <linux/types.h>
 #include <linux/static_call.h>
+#include <linux/sched/cputime.h>
 
 #include <asm/paravirt.h>
 #include <asm/pvclock-abi.h>
 #include <asm/smp_plat.h>
 
-struct static_key paravirt_steal_enabled;
-struct static_key paravirt_steal_rq_enabled;
-
 static u64 native_steal_clock(int cpu)
 {
 	return 0;
diff --git a/arch/loongarch/include/asm/paravirt.h b/arch/loongarch/include/asm/paravirt.h
index 3f4323603e6a..d219ea0d98ac 100644
--- a/arch/loongarch/include/asm/paravirt.h
+++ b/arch/loongarch/include/asm/paravirt.h
@@ -5,9 +5,6 @@
 #ifdef CONFIG_PARAVIRT
 
 #include <linux/static_call_types.h>
-struct static_key;
-extern struct static_key paravirt_steal_enabled;
-extern struct static_key paravirt_steal_rq_enabled;
 
 u64 dummy_steal_clock(int cpu);
 DECLARE_STATIC_CALL(pv_steal_clock, dummy_steal_clock);
diff --git a/arch/loongarch/kernel/paravirt.c b/arch/loongarch/kernel/paravirt.c
index b1b51f920b23..8caaa94fed1a 100644
--- a/arch/loongarch/kernel/paravirt.c
+++ b/arch/loongarch/kernel/paravirt.c
@@ -6,11 +6,10 @@
 #include <linux/kvm_para.h>
 #include <linux/reboot.h>
 #include <linux/static_call.h>
+#include <linux/sched/cputime.h>
 #include <asm/paravirt.h>
 
 static int has_steal_clock;
-struct static_key paravirt_steal_enabled;
-struct static_key paravirt_steal_rq_enabled;
 static DEFINE_PER_CPU(struct kvm_steal_time, steal_time) __aligned(64);
 DEFINE_STATIC_KEY_FALSE(virt_spin_lock_key);
 
diff --git a/arch/powerpc/include/asm/paravirt.h b/arch/powerpc/include/asm/paravirt.h
index b78b82d66057..92343a23ad15 100644
--- a/arch/powerpc/include/asm/paravirt.h
+++ b/arch/powerpc/include/asm/paravirt.h
@@ -23,9 +23,6 @@ static inline bool is_shared_processor(void)
 }
 
 #ifdef CONFIG_PARAVIRT_TIME_ACCOUNTING
-extern struct static_key paravirt_steal_enabled;
-extern struct static_key paravirt_steal_rq_enabled;
-
 u64 pseries_paravirt_steal_clock(int cpu);
 
 static inline u64 paravirt_steal_clock(int cpu)
diff --git a/arch/powerpc/platforms/pseries/setup.c b/arch/powerpc/platforms/pseries/setup.c
index b10a25325238..50b26ed8432d 100644
--- a/arch/powerpc/platforms/pseries/setup.c
+++ b/arch/powerpc/platforms/pseries/setup.c
@@ -42,6 +42,7 @@
 #include <linux/memblock.h>
 #include <linux/swiotlb.h>
 #include <linux/seq_buf.h>
+#include <linux/sched/cputime.h>
 
 #include <asm/mmu.h>
 #include <asm/processor.h>
@@ -83,9 +84,6 @@ DEFINE_STATIC_KEY_FALSE(shared_processor);
 EXPORT_SYMBOL(shared_processor);
 
 #ifdef CONFIG_PARAVIRT_TIME_ACCOUNTING
-struct static_key paravirt_steal_enabled;
-struct static_key paravirt_steal_rq_enabled;
-
 static bool steal_acc = true;
 static int __init parse_no_stealacc(char *arg)
 {
diff --git a/arch/riscv/include/asm/paravirt.h b/arch/riscv/include/asm/paravirt.h
index c0abde70fc2c..17e5e39c72c0 100644
--- a/arch/riscv/include/asm/paravirt.h
+++ b/arch/riscv/include/asm/paravirt.h
@@ -5,10 +5,6 @@
 #ifdef CONFIG_PARAVIRT
 #include <linux/static_call_types.h>
 
-struct static_key;
-extern struct static_key paravirt_steal_enabled;
-extern struct static_key paravirt_steal_rq_enabled;
-
 u64 dummy_steal_clock(int cpu);
 
 DECLARE_STATIC_CALL(pv_steal_clock, dummy_steal_clock);
diff --git a/arch/riscv/kernel/paravirt.c b/arch/riscv/kernel/paravirt.c
index fa6b0339a65d..d3c334f16172 100644
--- a/arch/riscv/kernel/paravirt.c
+++ b/arch/riscv/kernel/paravirt.c
@@ -16,15 +16,13 @@
 #include <linux/printk.h>
 #include <linux/static_call.h>
 #include <linux/types.h>
+#include <linux/sched/cputime.h>
 
 #include <asm/barrier.h>
 #include <asm/page.h>
 #include <asm/paravirt.h>
 #include <asm/sbi.h>
 
-struct static_key paravirt_steal_enabled;
-struct static_key paravirt_steal_rq_enabled;
-
 static u64 native_steal_clock(int cpu)
 {
 	return 0;
diff --git a/arch/x86/include/asm/paravirt.h b/arch/x86/include/asm/paravirt.h
index 1344d2fb2b86..0ef797ea8440 100644
--- a/arch/x86/include/asm/paravirt.h
+++ b/arch/x86/include/asm/paravirt.h
@@ -30,10 +30,6 @@ static __always_inline u64 paravirt_sched_clock(void)
 	return static_call(pv_sched_clock)();
 }
 
-struct static_key;
-extern struct static_key paravirt_steal_enabled;
-extern struct static_key paravirt_steal_rq_enabled;
-
 __visible void __native_queued_spin_unlock(struct qspinlock *lock);
 bool pv_is_native_spin_unlock(void);
 __visible bool __native_vcpu_is_preempted(long cpu);
diff --git a/arch/x86/kernel/cpu/vmware.c b/arch/x86/kernel/cpu/vmware.c
index cb3f900c46fc..a3e6936839b1 100644
--- a/arch/x86/kernel/cpu/vmware.c
+++ b/arch/x86/kernel/cpu/vmware.c
@@ -29,6 +29,7 @@
 #include <linux/efi.h>
 #include <linux/reboot.h>
 #include <linux/static_call.h>
+#include <linux/sched/cputime.h>
 #include <asm/div64.h>
 #include <asm/x86_init.h>
 #include <asm/hypervisor.h>
diff --git a/arch/x86/kernel/kvm.c b/arch/x86/kernel/kvm.c
index b67d7c59dca0..d54fd2bc0402 100644
--- a/arch/x86/kernel/kvm.c
+++ b/arch/x86/kernel/kvm.c
@@ -29,6 +29,7 @@
 #include <linux/syscore_ops.h>
 #include <linux/cc_platform.h>
 #include <linux/efi.h>
+#include <linux/sched/cputime.h>
 #include <asm/timer.h>
 #include <asm/cpu.h>
 #include <asm/traps.h>
diff --git a/arch/x86/kernel/paravirt.c b/arch/x86/kernel/paravirt.c
index ab3e172dcc69..a3ba4747be1c 100644
--- a/arch/x86/kernel/paravirt.c
+++ b/arch/x86/kernel/paravirt.c
@@ -60,9 +60,6 @@ void __init native_pv_lock_init(void)
 		static_branch_enable(&virt_spin_lock_key);
 }
 
-struct static_key paravirt_steal_enabled;
-struct static_key paravirt_steal_rq_enabled;
-
 static u64 native_steal_clock(int cpu)
 {
 	return 0;
diff --git a/drivers/xen/time.c b/drivers/xen/time.c
index 5683383d2305..d360ded2ef39 100644
--- a/drivers/xen/time.c
+++ b/drivers/xen/time.c
@@ -8,6 +8,7 @@
 #include <linux/gfp.h>
 #include <linux/slab.h>
 #include <linux/static_call.h>
+#include <linux/sched/cputime.h>
 
 #include <asm/paravirt.h>
 #include <asm/xen/hypervisor.h>
diff --git a/include/linux/sched/cputime.h b/include/linux/sched/cputime.h
index 5f8fd5b24a2e..e90efaf6d26e 100644
--- a/include/linux/sched/cputime.h
+++ b/include/linux/sched/cputime.h
@@ -2,6 +2,7 @@
 #ifndef _LINUX_SCHED_CPUTIME_H
 #define _LINUX_SCHED_CPUTIME_H
 
+#include <linux/static_call_types.h>
 #include <linux/sched/signal.h>
 
 /*
@@ -180,4 +181,21 @@ static inline void prev_cputime_init(struct prev_cputime *prev)
 extern unsigned long long
 task_sched_runtime(struct task_struct *task);
 
+#ifdef CONFIG_PARAVIRT
+struct static_key;
+extern struct static_key paravirt_steal_enabled;
+extern struct static_key paravirt_steal_rq_enabled;
+
+#ifdef CONFIG_HAVE_PV_STEAL_CLOCK_GEN
+u64 dummy_steal_clock(int cpu);
+
+DECLARE_STATIC_CALL(pv_steal_clock, dummy_steal_clock);
+
+static inline u64 paravirt_steal_clock(int cpu)
+{
+	return static_call(pv_steal_clock)(cpu);
+}
+#endif
+#endif
+
 #endif /* _LINUX_SCHED_CPUTIME_H */
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 198d2dd45f59..06a9a20820d4 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -769,6 +769,11 @@ struct rq *task_rq_lock(struct task_struct *p, struct rq_flags *rf)
  * RQ-clock updating methods:
  */
 
+/* Use CONFIG_PARAVIRT as this will avoid more #ifdef in arch code. */
+#ifdef CONFIG_PARAVIRT
+struct static_key paravirt_steal_rq_enabled;
+#endif
+
 static void update_rq_clock_task(struct rq *rq, s64 delta)
 {
 /*
diff --git a/kernel/sched/cputime.c b/kernel/sched/cputime.c
index 7097de2c8cda..ed8f71e08047 100644
--- a/kernel/sched/cputime.c
+++ b/kernel/sched/cputime.c
@@ -251,6 +251,19 @@ void __account_forceidle_time(struct task_struct *p, u64 delta)
  * ticks are not redelivered later. Due to that, this function may on
  * occasion account more time than the calling functions think elapsed.
  */
+#ifdef CONFIG_PARAVIRT
+struct static_key paravirt_steal_enabled;
+
+#ifdef CONFIG_HAVE_PV_STEAL_CLOCK_GEN
+static u64 native_steal_clock(int cpu)
+{
+	return 0;
+}
+
+DEFINE_STATIC_CALL(pv_steal_clock, native_steal_clock);
+#endif
+#endif
+
 static __always_inline u64 steal_account_process_time(u64 maxtime)
 {
 #ifdef CONFIG_PARAVIRT
diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h
index 0d0fa13cab5c..72fd9268008e 100644
--- a/kernel/sched/sched.h
+++ b/kernel/sched/sched.h
@@ -82,7 +82,7 @@ struct rt_rq;
 struct sched_group;
 struct cpuidle_state;
 
-#ifdef CONFIG_PARAVIRT
+#if defined(CONFIG_PARAVIRT) && !defined(CONFIG_HAVE_PV_STEAL_CLOCK_GEN)
 # include <asm/paravirt.h>
 #endif
 
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Mon Oct 06 07:46:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Oct 2025 07:46:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1137883.1473722 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5fvu-0001Vy-Nc; Mon, 06 Oct 2025 07:46:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1137883.1473722; Mon, 06 Oct 2025 07:46:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5fvu-0001Vr-Ik; Mon, 06 Oct 2025 07:46:58 +0000
Received: by outflank-mailman (input) for mailman id 1137883;
 Mon, 06 Oct 2025 07:46:57 +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 <SRS0=kU4J=4P=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1v5fvt-0000sR-S3
 for xen-devel@lists.xenproject.org; Mon, 06 Oct 2025 07:46:57 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a1be1cde-a288-11f0-9809-7dc792cee155;
 Mon, 06 Oct 2025 09:46:56 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 8EC7F1F452;
 Mon,  6 Oct 2025 07:46:53 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 1F45A13A7E;
 Mon,  6 Oct 2025 07:46:53 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id TanxBe1z42hnHgAAD6G6ig
 (envelope-from <jgross@suse.com>); Mon, 06 Oct 2025 07:46:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a1be1cde-a288-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1759736813; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=oj+q7e4wJ8KHifBxZWmsDCnOFxDHhXGK3TRIXIaeHY8=;
	b=OWCb5EOTmwm9yuRsMZNPEKYyXZcM6O3kSsjxXjhjRqHEOPUUOHtv8VZYGmn9BsqJdGAmsg
	NgOTrl4WI2llQcTa0jkvitiBZzhIi9tfSdQz0BQOzwJ8WT9JqzoMdaRL6gmH9CcvPn/Z0q
	a/VSczJ7lhYaMm7ECciguZzXO83Yr1U=
Authentication-Results: smtp-out2.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=OWCb5EOT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1759736813; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=oj+q7e4wJ8KHifBxZWmsDCnOFxDHhXGK3TRIXIaeHY8=;
	b=OWCb5EOTmwm9yuRsMZNPEKYyXZcM6O3kSsjxXjhjRqHEOPUUOHtv8VZYGmn9BsqJdGAmsg
	NgOTrl4WI2llQcTa0jkvitiBZzhIi9tfSdQz0BQOzwJ8WT9JqzoMdaRL6gmH9CcvPn/Z0q
	a/VSczJ7lhYaMm7ECciguZzXO83Yr1U=
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org,
	virtualization@lists.linux.dev,
	x86@kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Russell King <linux@armlinux.org.uk>,
	Ajay Kaher <ajay.kaher@broadcom.com>,
	Alexey Makhalov <alexey.makhalov@broadcom.com>,
	Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	linux-arm-kernel@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	"Peter Zijlstra (Intel)" <peterz@infradead.org>
Subject: [PATCH v3 07/21] arm/paravirt: Use common code for paravirt_steal_clock()
Date: Mon,  6 Oct 2025 09:45:52 +0200
Message-ID: <20251006074606.1266-8-jgross@suse.com>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251006074606.1266-1-jgross@suse.com>
References: <20251006074606.1266-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Level: 
X-Spam-Flag: NO
X-Rspamd-Queue-Id: 8EC7F1F452
X-Rspamd-Action: no action
X-Rspamd-Server: rspamd1.dmz-prg2.suse.org
X-Spamd-Result: default: False [-3.01 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	MID_CONTAINS_FROM(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	R_MISSING_CHARSET(0.50)[];
	R_DKIM_ALLOW(-0.20)[suse.com:s=susede1];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	MX_GOOD(-0.01)[];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	FUZZY_RATELIMITED(0.00)[rspamd.com];
	ARC_NA(0.00)[];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	MIME_TRACE(0.00)[0:+];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	RCPT_COUNT_TWELVE(0.00)[13];
	RCVD_COUNT_TWO(0.00)[2];
	URIBL_BLOCKED(0.00)[infradead.org:email,imap1.dmz-prg2.suse.org:rdns,imap1.dmz-prg2.suse.org:helo,citrix.com:email,suse.com:dkim,suse.com:mid,suse.com:email];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received];
	FROM_EQ_ENVFROM(0.00)[];
	DKIM_TRACE(0.00)[suse.com:+];
	FROM_HAS_DN(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	TO_DN_SOME(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[infradead.org:email,imap1.dmz-prg2.suse.org:rdns,imap1.dmz-prg2.suse.org:helo,citrix.com:email,suse.com:dkim,suse.com:mid,suse.com:email]
X-Spam-Score: -3.01

Remove the arch specific variant of paravirt_steal_clock() and use
the common one instead.

This allows to remove paravirt.c and paravirt.h from arch/arm.

Until all archs supporting Xen have been switched to the common code
of paravirt_steal_clock(), drivers/xen/time.c needs to include
asm/paravirt.h for those archs, while this is not necessary for arm
any longer.

Signed-off-by: Juergen Gross <jgross@suse.com>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
---
 arch/arm/Kconfig                |  1 +
 arch/arm/include/asm/paravirt.h | 18 ------------------
 arch/arm/kernel/Makefile        |  1 -
 arch/arm/kernel/paravirt.c      | 20 --------------------
 drivers/xen/time.c              |  2 ++
 5 files changed, 3 insertions(+), 39 deletions(-)
 delete mode 100644 arch/arm/include/asm/paravirt.h
 delete mode 100644 arch/arm/kernel/paravirt.c

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 2a124c92e4f6..39ab0860bfbc 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -1319,6 +1319,7 @@ config UACCESS_WITH_MEMCPY
 
 config PARAVIRT
 	bool "Enable paravirtualization code"
+	select HAVE_PV_STEAL_CLOCK_GEN
 	help
 	  This changes the kernel so it can modify itself when it is run
 	  under a hypervisor, potentially improving performance significantly
diff --git a/arch/arm/include/asm/paravirt.h b/arch/arm/include/asm/paravirt.h
deleted file mode 100644
index 69da4bdcf856..000000000000
--- a/arch/arm/include/asm/paravirt.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-#ifndef _ASM_ARM_PARAVIRT_H
-#define _ASM_ARM_PARAVIRT_H
-
-#ifdef CONFIG_PARAVIRT
-#include <linux/static_call_types.h>
-
-u64 dummy_steal_clock(int cpu);
-
-DECLARE_STATIC_CALL(pv_steal_clock, dummy_steal_clock);
-
-static inline u64 paravirt_steal_clock(int cpu)
-{
-	return static_call(pv_steal_clock)(cpu);
-}
-#endif
-
-#endif
diff --git a/arch/arm/kernel/Makefile b/arch/arm/kernel/Makefile
index afc9de7ef9a1..b36cf0cfd4a7 100644
--- a/arch/arm/kernel/Makefile
+++ b/arch/arm/kernel/Makefile
@@ -83,7 +83,6 @@ AFLAGS_iwmmxt.o			:= -Wa,-mcpu=iwmmxt
 obj-$(CONFIG_ARM_CPU_TOPOLOGY)  += topology.o
 obj-$(CONFIG_VDSO)		+= vdso.o
 obj-$(CONFIG_EFI)		+= efi.o
-obj-$(CONFIG_PARAVIRT)	+= paravirt.o
 
 obj-y			+= head$(MMUEXT).o
 obj-$(CONFIG_DEBUG_LL)	+= debug.o
diff --git a/arch/arm/kernel/paravirt.c b/arch/arm/kernel/paravirt.c
deleted file mode 100644
index 3895a5578852..000000000000
--- a/arch/arm/kernel/paravirt.c
+++ /dev/null
@@ -1,20 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-only
-/*
- *
- * Copyright (C) 2013 Citrix Systems
- *
- * Author: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
- */
-
-#include <linux/export.h>
-#include <linux/jump_label.h>
-#include <linux/types.h>
-#include <linux/static_call.h>
-#include <asm/paravirt.h>
-
-static u64 native_steal_clock(int cpu)
-{
-	return 0;
-}
-
-DEFINE_STATIC_CALL(pv_steal_clock, native_steal_clock);
diff --git a/drivers/xen/time.c b/drivers/xen/time.c
index d360ded2ef39..53b12f5ac465 100644
--- a/drivers/xen/time.c
+++ b/drivers/xen/time.c
@@ -10,7 +10,9 @@
 #include <linux/static_call.h>
 #include <linux/sched/cputime.h>
 
+#ifndef CONFIG_HAVE_PV_STEAL_CLOCK_GEN
 #include <asm/paravirt.h>
+#endif
 #include <asm/xen/hypervisor.h>
 #include <asm/xen/hypercall.h>
 
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Mon Oct 06 07:56:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Oct 2025 07:56:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1137910.1473735 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5g4p-0003d0-JO; Mon, 06 Oct 2025 07:56:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1137910.1473735; Mon, 06 Oct 2025 07:56:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5g4p-0003cA-Fg; Mon, 06 Oct 2025 07:56:11 +0000
Received: by outflank-mailman (input) for mailman id 1137910;
 Mon, 06 Oct 2025 07:56:10 +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 <SRS0=kU4J=4P=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1v5fwc-0000J4-0U
 for xen-devel@lists.xenproject.org; Mon, 06 Oct 2025 07:47:42 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bcb1f5af-a288-11f0-9d15-b5c5bf9af7f9;
 Mon, 06 Oct 2025 09:47:41 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 3353A336CB;
 Mon,  6 Oct 2025 07:47:41 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id BDF1913A7E;
 Mon,  6 Oct 2025 07:47:40 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id v6vfKxx042iuHgAAD6G6ig
 (envelope-from <jgross@suse.com>); Mon, 06 Oct 2025 07:47:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bcb1f5af-a288-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1759736861; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=Q+lJl3JITVnZ5PvoaijHvwhkZFrh8LSJFU4Q15RV3Uk=;
	b=Krt6Sl8LhmPm5LkSxK8hqI/EN9rfY6cBrSO40Ndi9ngd2i1GKt5FWDAOED/pIZJ0ua5mxU
	pkpPKGFH9WS8vdrhb1LwsPTh2FTGs0LL6S//lq4+rUmgN6is5P+jRClreZQS4myGlu9omD
	QVbEWNxqk25gg4qTBlU2H3s9+Xpko1k=
Authentication-Results: smtp-out1.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1759736861; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=Q+lJl3JITVnZ5PvoaijHvwhkZFrh8LSJFU4Q15RV3Uk=;
	b=Krt6Sl8LhmPm5LkSxK8hqI/EN9rfY6cBrSO40Ndi9ngd2i1GKt5FWDAOED/pIZJ0ua5mxU
	pkpPKGFH9WS8vdrhb1LwsPTh2FTGs0LL6S//lq4+rUmgN6is5P+jRClreZQS4myGlu9omD
	QVbEWNxqk25gg4qTBlU2H3s9+Xpko1k=
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org,
	x86@kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	xen-devel@lists.xenproject.org
Subject: [PATCH v3 15/21] x86/xen: Drop xen_irq_ops
Date: Mon,  6 Oct 2025 09:46:00 +0200
Message-ID: <20251006074606.1266-16-jgross@suse.com>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251006074606.1266-1-jgross@suse.com>
References: <20251006074606.1266-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Level: 
X-Spamd-Result: default: False [-2.80 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MID_CONTAINS_FROM(1.00)[];
	R_MISSING_CHARSET(0.50)[];
	NEURAL_HAM_SHORT(-0.20)[-0.999];
	MIME_GOOD(-0.10)[text/plain];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FROM_HAS_DN(0.00)[];
	ARC_NA(0.00)[];
	MIME_TRACE(0.00)[0:+];
	TO_DN_SOME(0.00)[];
	RCPT_COUNT_TWELVE(0.00)[12];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email,suse.com:mid,imap1.dmz-prg2.suse.org:helo];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	FUZZY_RATELIMITED(0.00)[rspamd.com];
	URIBL_BLOCKED(0.00)[suse.com:email,suse.com:mid,imap1.dmz-prg2.suse.org:helo];
	R_RATELIMIT(0.00)[to_ip_from(RLfdszjqhz8kzzb9uwpzdm8png)];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	RCVD_TLS_ALL(0.00)[]
X-Spam-Flag: NO
X-Spam-Score: -2.80

Instead of having a pre-filled array xen_irq_ops for Xen PV paravirt
functions, drop the array and assign each element individually.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- new patch
---
 arch/x86/xen/irq.c    | 20 +++++++-------------
 tools/objtool/check.c |  1 -
 2 files changed, 7 insertions(+), 14 deletions(-)

diff --git a/arch/x86/xen/irq.c b/arch/x86/xen/irq.c
index 39982f955cfe..d8678c3d3971 100644
--- a/arch/x86/xen/irq.c
+++ b/arch/x86/xen/irq.c
@@ -40,20 +40,14 @@ static void xen_halt(void)
 		xen_safe_halt();
 }
 
-static const typeof(pv_ops) xen_irq_ops __initconst = {
-	.irq = {
-		/* Initial interrupt flag handling only called while interrupts off. */
-		.save_fl = __PV_IS_CALLEE_SAVE(paravirt_ret0),
-		.irq_disable = __PV_IS_CALLEE_SAVE(paravirt_nop),
-		.irq_enable = __PV_IS_CALLEE_SAVE(BUG_func),
-
-		.safe_halt = xen_safe_halt,
-		.halt = xen_halt,
-	},
-};
-
 void __init xen_init_irq_ops(void)
 {
-	pv_ops.irq = xen_irq_ops.irq;
+	/* Initial interrupt flag handling only called while interrupts off. */
+	pv_ops.irq.save_fl = __PV_IS_CALLEE_SAVE(paravirt_ret0);
+	pv_ops.irq.irq_disable = __PV_IS_CALLEE_SAVE(paravirt_nop);
+	pv_ops.irq.irq_enable = __PV_IS_CALLEE_SAVE(BUG_func);
+	pv_ops.irq.safe_halt = xen_safe_halt;
+	pv_ops.irq.halt = xen_halt;
+
 	x86_init.irqs.intr_init = xen_init_IRQ;
 }
diff --git a/tools/objtool/check.c b/tools/objtool/check.c
index a72059fcbc83..d66eb37ff294 100644
--- a/tools/objtool/check.c
+++ b/tools/objtool/check.c
@@ -593,7 +593,6 @@ static int init_pv_ops(struct objtool_file *file)
 	static const char *pv_ops_tables[] = {
 		"pv_ops",
 		"xen_cpu_ops",
-		"xen_irq_ops",
 		"xen_mmu_ops",
 		NULL,
 	};
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Mon Oct 06 07:56:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Oct 2025 07:56:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1137908.1473731 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5g4p-0003a9-CB; Mon, 06 Oct 2025 07:56:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1137908.1473731; Mon, 06 Oct 2025 07:56:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5g4p-0003a2-94; Mon, 06 Oct 2025 07:56:11 +0000
Received: by outflank-mailman (input) for mailman id 1137908;
 Mon, 06 Oct 2025 07:56:10 +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 <SRS0=kU4J=4P=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1v5fxC-0000J4-3j
 for xen-devel@lists.xenproject.org; Mon, 06 Oct 2025 07:48:18 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d1e221d4-a288-11f0-9d15-b5c5bf9af7f9;
 Mon, 06 Oct 2025 09:48:17 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id B3D56336EF;
 Mon,  6 Oct 2025 07:48:16 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id E5D9613A7E;
 Mon,  6 Oct 2025 07:48:15 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id Zux3Nj9042jVHgAAD6G6ig
 (envelope-from <jgross@suse.com>); Mon, 06 Oct 2025 07:48:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d1e221d4-a288-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1759736896; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=T0c04Jlc2P7bj0wPLklEw9CjtwTNDKTIGSbBD+J/9mY=;
	b=RCizrom4TfJCbWb/vpFokxdPpBDEnyGk03HeymKSviJEe1CxtF6CzsE+YlZRmtYxsBexLY
	osiS47qU9SQttP+9OOBBwbi1Ob5itxo9PMyPKti1B+aw2pyDlzH7TL3Gee/JX6jx/Mh2jc
	88T3TjllHG99xJsvy6o3CGpnIWzRPOg=
Authentication-Results: smtp-out1.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1759736896; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=T0c04Jlc2P7bj0wPLklEw9CjtwTNDKTIGSbBD+J/9mY=;
	b=RCizrom4TfJCbWb/vpFokxdPpBDEnyGk03HeymKSviJEe1CxtF6CzsE+YlZRmtYxsBexLY
	osiS47qU9SQttP+9OOBBwbi1Ob5itxo9PMyPKti1B+aw2pyDlzH7TL3Gee/JX6jx/Mh2jc
	88T3TjllHG99xJsvy6o3CGpnIWzRPOg=
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org,
	x86@kernel.org,
	linux-hyperv@vger.kernel.org,
	virtualization@lists.linux.dev,
	kvm@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	"K. Y. Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>,
	Dexuan Cui <decui@microsoft.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Ajay Kaher <ajay.kaher@broadcom.com>,
	Alexey Makhalov <alexey.makhalov@broadcom.com>,
	Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	xen-devel@lists.xenproject.org
Subject: [PATCH v3 21/21] x86/pvlocks: Move paravirt spinlock functions into own header
Date: Mon,  6 Oct 2025 09:46:06 +0200
Message-ID: <20251006074606.1266-22-jgross@suse.com>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251006074606.1266-1-jgross@suse.com>
References: <20251006074606.1266-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spamd-Result: default: False [-2.80 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	MID_CONTAINS_FROM(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	R_MISSING_CHARSET(0.50)[];
	NEURAL_HAM_SHORT(-0.20)[-0.999];
	MIME_GOOD(-0.10)[text/plain];
	FUZZY_RATELIMITED(0.00)[rspamd.com];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	RCPT_COUNT_TWELVE(0.00)[24];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	MIME_TRACE(0.00)[0:+];
	ARC_NA(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	R_RATELIMIT(0.00)[to_ip_from(RLfdszjqhz8kzzb9uwpzdm8png)];
	FROM_HAS_DN(0.00)[];
	TO_DN_SOME(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,suse.com:mid,suse.com:email]
X-Spam-Flag: NO
X-Spam-Level: 
X-Spam-Score: -2.80

Instead of having the pv spinlock function definitions in paravirt.h,
move them into the new header paravirt-spinlock.h.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- use new header instead of qspinlock.h
- use dedicated pv_ops_lock array
- move more paravirt related lock code
V3:
- hide native_pv_lock_init() with CONFIG_SMP (kernel test robot)
---
 arch/x86/hyperv/hv_spinlock.c            |  10 +-
 arch/x86/include/asm/paravirt-spinlock.h | 146 +++++++++++++++++++++++
 arch/x86/include/asm/paravirt.h          |  61 ----------
 arch/x86/include/asm/paravirt_types.h    |  17 ---
 arch/x86/include/asm/qspinlock.h         |  89 ++------------
 arch/x86/kernel/Makefile                 |   2 +-
 arch/x86/kernel/kvm.c                    |  10 +-
 arch/x86/kernel/paravirt-spinlocks.c     |  26 +++-
 arch/x86/kernel/paravirt.c               |  21 ----
 arch/x86/xen/spinlock.c                  |  10 +-
 tools/objtool/check.c                    |   1 +
 11 files changed, 194 insertions(+), 199 deletions(-)
 create mode 100644 arch/x86/include/asm/paravirt-spinlock.h

diff --git a/arch/x86/hyperv/hv_spinlock.c b/arch/x86/hyperv/hv_spinlock.c
index 2a3c2afb0154..210b494e4de0 100644
--- a/arch/x86/hyperv/hv_spinlock.c
+++ b/arch/x86/hyperv/hv_spinlock.c
@@ -78,11 +78,11 @@ void __init hv_init_spinlocks(void)
 	pr_info("PV spinlocks enabled\n");
 
 	__pv_init_lock_hash();
-	pv_ops.lock.queued_spin_lock_slowpath = __pv_queued_spin_lock_slowpath;
-	pv_ops.lock.queued_spin_unlock = PV_CALLEE_SAVE(__pv_queued_spin_unlock);
-	pv_ops.lock.wait = hv_qlock_wait;
-	pv_ops.lock.kick = hv_qlock_kick;
-	pv_ops.lock.vcpu_is_preempted = PV_CALLEE_SAVE(hv_vcpu_is_preempted);
+	pv_ops_lock.queued_spin_lock_slowpath = __pv_queued_spin_lock_slowpath;
+	pv_ops_lock.queued_spin_unlock = PV_CALLEE_SAVE(__pv_queued_spin_unlock);
+	pv_ops_lock.wait = hv_qlock_wait;
+	pv_ops_lock.kick = hv_qlock_kick;
+	pv_ops_lock.vcpu_is_preempted = PV_CALLEE_SAVE(hv_vcpu_is_preempted);
 }
 
 static __init int hv_parse_nopvspin(char *arg)
diff --git a/arch/x86/include/asm/paravirt-spinlock.h b/arch/x86/include/asm/paravirt-spinlock.h
new file mode 100644
index 000000000000..ed3ed343903d
--- /dev/null
+++ b/arch/x86/include/asm/paravirt-spinlock.h
@@ -0,0 +1,146 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef _ASM_X86_PARAVIRT_SPINLOCK_H
+#define _ASM_X86_PARAVIRT_SPINLOCK_H
+
+#include <asm/paravirt_types.h>
+
+#ifdef CONFIG_SMP
+#include <asm/spinlock_types.h>
+#endif
+
+struct qspinlock;
+
+struct pv_lock_ops {
+	void (*queued_spin_lock_slowpath)(struct qspinlock *lock, u32 val);
+	struct paravirt_callee_save queued_spin_unlock;
+
+	void (*wait)(u8 *ptr, u8 val);
+	void (*kick)(int cpu);
+
+	struct paravirt_callee_save vcpu_is_preempted;
+} __no_randomize_layout;
+
+extern struct pv_lock_ops pv_ops_lock;
+
+#ifdef CONFIG_PARAVIRT_SPINLOCKS
+void __init paravirt_set_cap(void);
+extern void native_queued_spin_lock_slowpath(struct qspinlock *lock, u32 val);
+extern void __pv_init_lock_hash(void);
+extern void __pv_queued_spin_lock_slowpath(struct qspinlock *lock, u32 val);
+extern void __raw_callee_save___pv_queued_spin_unlock(struct qspinlock *lock);
+extern bool nopvspin;
+
+static __always_inline void pv_queued_spin_lock_slowpath(struct qspinlock *lock,
+							 u32 val)
+{
+	PVOP_VCALL2(pv_ops_lock, queued_spin_lock_slowpath, lock, val);
+}
+
+static __always_inline void pv_queued_spin_unlock(struct qspinlock *lock)
+{
+	PVOP_ALT_VCALLEE1(pv_ops_lock, queued_spin_unlock, lock,
+			  "movb $0, (%%" _ASM_ARG1 ");",
+			  ALT_NOT(X86_FEATURE_PVUNLOCK));
+}
+
+static __always_inline bool pv_vcpu_is_preempted(long cpu)
+{
+	return PVOP_ALT_CALLEE1(bool, pv_ops_lock, vcpu_is_preempted, cpu,
+				"xor %%" _ASM_AX ", %%" _ASM_AX ";",
+				ALT_NOT(X86_FEATURE_VCPUPREEMPT));
+}
+
+#define queued_spin_unlock queued_spin_unlock
+/**
+ * queued_spin_unlock - release a queued spinlock
+ * @lock : Pointer to queued spinlock structure
+ *
+ * A smp_store_release() on the least-significant byte.
+ */
+static inline void native_queued_spin_unlock(struct qspinlock *lock)
+{
+	smp_store_release(&lock->locked, 0);
+}
+
+static inline void queued_spin_lock_slowpath(struct qspinlock *lock, u32 val)
+{
+	pv_queued_spin_lock_slowpath(lock, val);
+}
+
+static inline void queued_spin_unlock(struct qspinlock *lock)
+{
+	kcsan_release();
+	pv_queued_spin_unlock(lock);
+}
+
+#define vcpu_is_preempted vcpu_is_preempted
+static inline bool vcpu_is_preempted(long cpu)
+{
+	return pv_vcpu_is_preempted(cpu);
+}
+
+static __always_inline void pv_wait(u8 *ptr, u8 val)
+{
+	PVOP_VCALL2(pv_ops_lock, wait, ptr, val);
+}
+
+static __always_inline void pv_kick(int cpu)
+{
+	PVOP_VCALL1(pv_ops_lock, kick, cpu);
+}
+
+void __raw_callee_save___native_queued_spin_unlock(struct qspinlock *lock);
+bool __raw_callee_save___native_vcpu_is_preempted(long cpu);
+#endif /* CONFIG_PARAVIRT_SPINLOCKS */
+
+void __init native_pv_lock_init(void);
+__visible void __native_queued_spin_unlock(struct qspinlock *lock);
+bool pv_is_native_spin_unlock(void);
+__visible bool __native_vcpu_is_preempted(long cpu);
+bool pv_is_native_vcpu_is_preempted(void);
+
+/*
+ * virt_spin_lock_key - disables by default the virt_spin_lock() hijack.
+ *
+ * Native (and PV wanting native due to vCPU pinning) should keep this key
+ * disabled. Native does not touch the key.
+ *
+ * When in a guest then native_pv_lock_init() enables the key first and
+ * KVM/XEN might conditionally disable it later in the boot process again.
+ */
+DECLARE_STATIC_KEY_FALSE(virt_spin_lock_key);
+
+/*
+ * Shortcut for the queued_spin_lock_slowpath() function that allows
+ * virt to hijack it.
+ *
+ * Returns:
+ *   true - lock has been negotiated, all done;
+ *   false - queued_spin_lock_slowpath() will do its thing.
+ */
+#define virt_spin_lock virt_spin_lock
+static inline bool virt_spin_lock(struct qspinlock *lock)
+{
+	int val;
+
+	if (!static_branch_likely(&virt_spin_lock_key))
+		return false;
+
+	/*
+	 * On hypervisors without PARAVIRT_SPINLOCKS support we fall
+	 * back to a Test-and-Set spinlock, because fair locks have
+	 * horrible lock 'holder' preemption issues.
+	 */
+
+ __retry:
+	val = atomic_read(&lock->val);
+
+	if (val || !atomic_try_cmpxchg(&lock->val, &val, _Q_LOCKED_VAL)) {
+		cpu_relax();
+		goto __retry;
+	}
+
+	return true;
+}
+
+#endif /* _ASM_X86_PARAVIRT_SPINLOCK_H */
diff --git a/arch/x86/include/asm/paravirt.h b/arch/x86/include/asm/paravirt.h
index ec274d13bae0..b21072af731d 100644
--- a/arch/x86/include/asm/paravirt.h
+++ b/arch/x86/include/asm/paravirt.h
@@ -19,15 +19,6 @@
 #include <linux/cpumask.h>
 #include <asm/frame.h>
 
-__visible void __native_queued_spin_unlock(struct qspinlock *lock);
-bool pv_is_native_spin_unlock(void);
-__visible bool __native_vcpu_is_preempted(long cpu);
-bool pv_is_native_vcpu_is_preempted(void);
-
-#ifdef CONFIG_PARAVIRT_SPINLOCKS
-void __init paravirt_set_cap(void);
-#endif
-
 /* The paravirtualized I/O functions */
 static inline void slow_down_io(void)
 {
@@ -522,46 +513,7 @@ static inline void __set_fixmap(unsigned /* enum fixed_addresses */ idx,
 {
 	pv_ops.mmu.set_fixmap(idx, phys, flags);
 }
-#endif
-
-#if defined(CONFIG_SMP) && defined(CONFIG_PARAVIRT_SPINLOCKS)
-
-static __always_inline void pv_queued_spin_lock_slowpath(struct qspinlock *lock,
-							u32 val)
-{
-	PVOP_VCALL2(pv_ops, lock.queued_spin_lock_slowpath, lock, val);
-}
-
-static __always_inline void pv_queued_spin_unlock(struct qspinlock *lock)
-{
-	PVOP_ALT_VCALLEE1(pv_ops, lock.queued_spin_unlock, lock,
-			  "movb $0, (%%" _ASM_ARG1 ");",
-			  ALT_NOT(X86_FEATURE_PVUNLOCK));
-}
-
-static __always_inline void pv_wait(u8 *ptr, u8 val)
-{
-	PVOP_VCALL2(pv_ops, lock.wait, ptr, val);
-}
-
-static __always_inline void pv_kick(int cpu)
-{
-	PVOP_VCALL1(pv_ops, lock.kick, cpu);
-}
-
-static __always_inline bool pv_vcpu_is_preempted(long cpu)
-{
-	return PVOP_ALT_CALLEE1(bool, pv_ops, lock.vcpu_is_preempted, cpu,
-				"xor %%" _ASM_AX ", %%" _ASM_AX ";",
-				ALT_NOT(X86_FEATURE_VCPUPREEMPT));
-}
 
-void __raw_callee_save___native_queued_spin_unlock(struct qspinlock *lock);
-bool __raw_callee_save___native_vcpu_is_preempted(long cpu);
-
-#endif /* SMP && PARAVIRT_SPINLOCKS */
-
-#ifdef CONFIG_PARAVIRT_XXL
 static __always_inline unsigned long arch_local_save_flags(void)
 {
 	return PVOP_ALT_CALLEE0(unsigned long, pv_ops, irq.save_fl, "pushf; pop %%rax;",
@@ -588,8 +540,6 @@ static __always_inline unsigned long arch_local_irq_save(void)
 }
 #endif
 
-void native_pv_lock_init(void) __init;
-
 #else  /* __ASSEMBLER__ */
 
 #ifdef CONFIG_X86_64
@@ -613,12 +563,6 @@ void native_pv_lock_init(void) __init;
 #endif /* __ASSEMBLER__ */
 #else  /* CONFIG_PARAVIRT */
 # define default_banner x86_init_noop
-
-#ifndef __ASSEMBLER__
-static inline void native_pv_lock_init(void)
-{
-}
-#endif
 #endif /* !CONFIG_PARAVIRT */
 
 #ifndef __ASSEMBLER__
@@ -634,10 +578,5 @@ static inline void paravirt_arch_exit_mmap(struct mm_struct *mm)
 }
 #endif
 
-#ifndef CONFIG_PARAVIRT_SPINLOCKS
-static inline void paravirt_set_cap(void)
-{
-}
-#endif
 #endif /* __ASSEMBLER__ */
 #endif /* _ASM_X86_PARAVIRT_H */
diff --git a/arch/x86/include/asm/paravirt_types.h b/arch/x86/include/asm/paravirt_types.h
index 01a485f1a7f1..e2b487d35d14 100644
--- a/arch/x86/include/asm/paravirt_types.h
+++ b/arch/x86/include/asm/paravirt_types.h
@@ -184,22 +184,6 @@ struct pv_mmu_ops {
 #endif
 } __no_randomize_layout;
 
-#ifdef CONFIG_SMP
-#include <asm/spinlock_types.h>
-#endif
-
-struct qspinlock;
-
-struct pv_lock_ops {
-	void (*queued_spin_lock_slowpath)(struct qspinlock *lock, u32 val);
-	struct paravirt_callee_save queued_spin_unlock;
-
-	void (*wait)(u8 *ptr, u8 val);
-	void (*kick)(int cpu);
-
-	struct paravirt_callee_save vcpu_is_preempted;
-} __no_randomize_layout;
-
 /* This contains all the paravirt structures: we get a convenient
  * number for each function using the offset which we use to indicate
  * what to patch. */
@@ -207,7 +191,6 @@ struct paravirt_patch_template {
 	struct pv_cpu_ops	cpu;
 	struct pv_irq_ops	irq;
 	struct pv_mmu_ops	mmu;
-	struct pv_lock_ops	lock;
 } __no_randomize_layout;
 
 extern struct paravirt_patch_template pv_ops;
diff --git a/arch/x86/include/asm/qspinlock.h b/arch/x86/include/asm/qspinlock.h
index 68da67df304d..a2668bdf4c84 100644
--- a/arch/x86/include/asm/qspinlock.h
+++ b/arch/x86/include/asm/qspinlock.h
@@ -7,6 +7,9 @@
 #include <asm-generic/qspinlock_types.h>
 #include <asm/paravirt.h>
 #include <asm/rmwcc.h>
+#ifdef CONFIG_PARAVIRT
+#include <asm/paravirt-spinlock.h>
+#endif
 
 #define _Q_PENDING_LOOPS	(1 << 9)
 
@@ -27,89 +30,13 @@ static __always_inline u32 queued_fetch_set_pending_acquire(struct qspinlock *lo
 	return val;
 }
 
-#ifdef CONFIG_PARAVIRT_SPINLOCKS
-extern void native_queued_spin_lock_slowpath(struct qspinlock *lock, u32 val);
-extern void __pv_init_lock_hash(void);
-extern void __pv_queued_spin_lock_slowpath(struct qspinlock *lock, u32 val);
-extern void __raw_callee_save___pv_queued_spin_unlock(struct qspinlock *lock);
-extern bool nopvspin;
-
-#define	queued_spin_unlock queued_spin_unlock
-/**
- * queued_spin_unlock - release a queued spinlock
- * @lock : Pointer to queued spinlock structure
- *
- * A smp_store_release() on the least-significant byte.
- */
-static inline void native_queued_spin_unlock(struct qspinlock *lock)
-{
-	smp_store_release(&lock->locked, 0);
-}
-
-static inline void queued_spin_lock_slowpath(struct qspinlock *lock, u32 val)
-{
-	pv_queued_spin_lock_slowpath(lock, val);
-}
-
-static inline void queued_spin_unlock(struct qspinlock *lock)
-{
-	kcsan_release();
-	pv_queued_spin_unlock(lock);
-}
-
-#define vcpu_is_preempted vcpu_is_preempted
-static inline bool vcpu_is_preempted(long cpu)
-{
-	return pv_vcpu_is_preempted(cpu);
-}
+#ifndef CONFIG_PARAVIRT_SPINLOCKS
+static inline void paravirt_set_cap(void) { }
 #endif
 
-#ifdef CONFIG_PARAVIRT
-/*
- * virt_spin_lock_key - disables by default the virt_spin_lock() hijack.
- *
- * Native (and PV wanting native due to vCPU pinning) should keep this key
- * disabled. Native does not touch the key.
- *
- * When in a guest then native_pv_lock_init() enables the key first and
- * KVM/XEN might conditionally disable it later in the boot process again.
- */
-DECLARE_STATIC_KEY_FALSE(virt_spin_lock_key);
-
-/*
- * Shortcut for the queued_spin_lock_slowpath() function that allows
- * virt to hijack it.
- *
- * Returns:
- *   true - lock has been negotiated, all done;
- *   false - queued_spin_lock_slowpath() will do its thing.
- */
-#define virt_spin_lock virt_spin_lock
-static inline bool virt_spin_lock(struct qspinlock *lock)
-{
-	int val;
-
-	if (!static_branch_likely(&virt_spin_lock_key))
-		return false;
-
-	/*
-	 * On hypervisors without PARAVIRT_SPINLOCKS support we fall
-	 * back to a Test-and-Set spinlock, because fair locks have
-	 * horrible lock 'holder' preemption issues.
-	 */
-
- __retry:
-	val = atomic_read(&lock->val);
-
-	if (val || !atomic_try_cmpxchg(&lock->val, &val, _Q_LOCKED_VAL)) {
-		cpu_relax();
-		goto __retry;
-	}
-
-	return true;
-}
-
-#endif /* CONFIG_PARAVIRT */
+#ifndef CONFIG_PARAVIRT
+static inline void native_pv_lock_init(void) { }
+#endif
 
 #include <asm-generic/qspinlock.h>
 
diff --git a/arch/x86/kernel/Makefile b/arch/x86/kernel/Makefile
index bc184dd38d99..e9aeeeafad17 100644
--- a/arch/x86/kernel/Makefile
+++ b/arch/x86/kernel/Makefile
@@ -126,7 +126,7 @@ obj-$(CONFIG_DEBUG_NMI_SELFTEST) += nmi_selftest.o
 
 obj-$(CONFIG_KVM_GUEST)		+= kvm.o kvmclock.o
 obj-$(CONFIG_PARAVIRT)		+= paravirt.o
-obj-$(CONFIG_PARAVIRT_SPINLOCKS)+= paravirt-spinlocks.o
+obj-$(CONFIG_PARAVIRT)		+= paravirt-spinlocks.o
 obj-$(CONFIG_PARAVIRT_CLOCK)	+= pvclock.o
 obj-$(CONFIG_X86_PMEM_LEGACY_DEVICE) += pmem.o
 
diff --git a/arch/x86/kernel/kvm.c b/arch/x86/kernel/kvm.c
index d54fd2bc0402..47426538b579 100644
--- a/arch/x86/kernel/kvm.c
+++ b/arch/x86/kernel/kvm.c
@@ -824,7 +824,7 @@ static void __init kvm_guest_init(void)
 		has_steal_clock = 1;
 		static_call_update(pv_steal_clock, kvm_steal_clock);
 
-		pv_ops.lock.vcpu_is_preempted =
+		pv_ops_lock.vcpu_is_preempted =
 			PV_CALLEE_SAVE(__kvm_vcpu_is_preempted);
 	}
 
@@ -1121,11 +1121,11 @@ void __init kvm_spinlock_init(void)
 	pr_info("PV spinlocks enabled\n");
 
 	__pv_init_lock_hash();
-	pv_ops.lock.queued_spin_lock_slowpath = __pv_queued_spin_lock_slowpath;
-	pv_ops.lock.queued_spin_unlock =
+	pv_ops_lock.queued_spin_lock_slowpath = __pv_queued_spin_lock_slowpath;
+	pv_ops_lock.queued_spin_unlock =
 		PV_CALLEE_SAVE(__pv_queued_spin_unlock);
-	pv_ops.lock.wait = kvm_wait;
-	pv_ops.lock.kick = kvm_kick_cpu;
+	pv_ops_lock.wait = kvm_wait;
+	pv_ops_lock.kick = kvm_kick_cpu;
 
 	/*
 	 * When PV spinlock is enabled which is preferred over
diff --git a/arch/x86/kernel/paravirt-spinlocks.c b/arch/x86/kernel/paravirt-spinlocks.c
index 9e1ea99ad9df..95452444868f 100644
--- a/arch/x86/kernel/paravirt-spinlocks.c
+++ b/arch/x86/kernel/paravirt-spinlocks.c
@@ -3,12 +3,22 @@
  * Split spinlock implementation out into its own file, so it can be
  * compiled in a FTRACE-compatible way.
  */
+#include <linux/static_call.h>
 #include <linux/spinlock.h>
 #include <linux/export.h>
 #include <linux/jump_label.h>
 
-#include <asm/paravirt.h>
+DEFINE_STATIC_KEY_FALSE(virt_spin_lock_key);
 
+#ifdef CONFIG_SMP
+void __init native_pv_lock_init(void)
+{
+	if (boot_cpu_has(X86_FEATURE_HYPERVISOR))
+		static_branch_enable(&virt_spin_lock_key);
+}
+#endif
+
+#ifdef CONFIG_PARAVIRT_SPINLOCKS
 __visible void __native_queued_spin_unlock(struct qspinlock *lock)
 {
 	native_queued_spin_unlock(lock);
@@ -17,7 +27,7 @@ PV_CALLEE_SAVE_REGS_THUNK(__native_queued_spin_unlock);
 
 bool pv_is_native_spin_unlock(void)
 {
-	return pv_ops.lock.queued_spin_unlock.func ==
+	return pv_ops_lock.queued_spin_unlock.func ==
 		__raw_callee_save___native_queued_spin_unlock;
 }
 
@@ -29,7 +39,7 @@ PV_CALLEE_SAVE_REGS_THUNK(__native_vcpu_is_preempted);
 
 bool pv_is_native_vcpu_is_preempted(void)
 {
-	return pv_ops.lock.vcpu_is_preempted.func ==
+	return pv_ops_lock.vcpu_is_preempted.func ==
 		__raw_callee_save___native_vcpu_is_preempted;
 }
 
@@ -41,3 +51,13 @@ void __init paravirt_set_cap(void)
 	if (!pv_is_native_vcpu_is_preempted())
 		setup_force_cpu_cap(X86_FEATURE_VCPUPREEMPT);
 }
+
+struct pv_lock_ops pv_ops_lock = {
+	.queued_spin_lock_slowpath	= native_queued_spin_lock_slowpath,
+	.queued_spin_unlock		= PV_CALLEE_SAVE(__native_queued_spin_unlock),
+	.wait				= paravirt_nop,
+	.kick				= paravirt_nop,
+	.vcpu_is_preempted		= PV_CALLEE_SAVE(__native_vcpu_is_preempted),
+};
+EXPORT_SYMBOL(pv_ops_lock);
+#endif
diff --git a/arch/x86/kernel/paravirt.c b/arch/x86/kernel/paravirt.c
index 5dfbd3f55792..a6ed52cae003 100644
--- a/arch/x86/kernel/paravirt.c
+++ b/arch/x86/kernel/paravirt.c
@@ -57,14 +57,6 @@ DEFINE_ASM_FUNC(pv_native_irq_enable, "sti", .noinstr.text);
 DEFINE_ASM_FUNC(pv_native_read_cr2, "mov %cr2, %rax", .noinstr.text);
 #endif
 
-DEFINE_STATIC_KEY_FALSE(virt_spin_lock_key);
-
-void __init native_pv_lock_init(void)
-{
-	if (boot_cpu_has(X86_FEATURE_HYPERVISOR))
-		static_branch_enable(&virt_spin_lock_key);
-}
-
 static noinstr void pv_native_safe_halt(void)
 {
 	native_safe_halt();
@@ -221,19 +213,6 @@ struct paravirt_patch_template pv_ops = {
 
 	.mmu.set_fixmap		= native_set_fixmap,
 #endif /* CONFIG_PARAVIRT_XXL */
-
-#if defined(CONFIG_PARAVIRT_SPINLOCKS)
-	/* Lock ops. */
-#ifdef CONFIG_SMP
-	.lock.queued_spin_lock_slowpath	= native_queued_spin_lock_slowpath,
-	.lock.queued_spin_unlock	=
-				PV_CALLEE_SAVE(__native_queued_spin_unlock),
-	.lock.wait			= paravirt_nop,
-	.lock.kick			= paravirt_nop,
-	.lock.vcpu_is_preempted		=
-				PV_CALLEE_SAVE(__native_vcpu_is_preempted),
-#endif /* SMP */
-#endif
 };
 
 #ifdef CONFIG_PARAVIRT_XXL
diff --git a/arch/x86/xen/spinlock.c b/arch/x86/xen/spinlock.c
index fe56646d6919..83ac24ead289 100644
--- a/arch/x86/xen/spinlock.c
+++ b/arch/x86/xen/spinlock.c
@@ -134,10 +134,10 @@ void __init xen_init_spinlocks(void)
 	printk(KERN_DEBUG "xen: PV spinlocks enabled\n");
 
 	__pv_init_lock_hash();
-	pv_ops.lock.queued_spin_lock_slowpath = __pv_queued_spin_lock_slowpath;
-	pv_ops.lock.queued_spin_unlock =
+	pv_ops_lock.queued_spin_lock_slowpath = __pv_queued_spin_lock_slowpath;
+	pv_ops_lock.queued_spin_unlock =
 		PV_CALLEE_SAVE(__pv_queued_spin_unlock);
-	pv_ops.lock.wait = xen_qlock_wait;
-	pv_ops.lock.kick = xen_qlock_kick;
-	pv_ops.lock.vcpu_is_preempted = PV_CALLEE_SAVE(xen_vcpu_stolen);
+	pv_ops_lock.wait = xen_qlock_wait;
+	pv_ops_lock.kick = xen_qlock_kick;
+	pv_ops_lock.vcpu_is_preempted = PV_CALLEE_SAVE(xen_vcpu_stolen);
 }
diff --git a/tools/objtool/check.c b/tools/objtool/check.c
index 1675c16c3793..663fa5f281bd 100644
--- a/tools/objtool/check.c
+++ b/tools/objtool/check.c
@@ -549,6 +549,7 @@ static struct {
 	int idx_off;
 } pv_ops_tables[] = {
 	{ .name = "pv_ops", },
+	{ .name = "pv_ops_lock", },
 	{ .name = NULL, .idx_off = -1 }
 };
 
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Mon Oct 06 07:56:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Oct 2025 07:56:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1137913.1473751 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5g4y-0004BW-0R; Mon, 06 Oct 2025 07:56:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1137913.1473751; Mon, 06 Oct 2025 07:56:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5g4x-0004BP-Tz; Mon, 06 Oct 2025 07:56:19 +0000
Received: by outflank-mailman (input) for mailman id 1137913;
 Mon, 06 Oct 2025 07:56:18 +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 <SRS0=kU4J=4P=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1v5fwn-0000J4-Qe
 for xen-devel@lists.xenproject.org; Mon, 06 Oct 2025 07:47:53 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c3afc22e-a288-11f0-9d15-b5c5bf9af7f9;
 Mon, 06 Oct 2025 09:47:53 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id E0BBA1F789;
 Mon,  6 Oct 2025 07:47:52 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 7B31013A7E;
 Mon,  6 Oct 2025 07:47:52 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id GwqBHCh042i6HgAAD6G6ig
 (envelope-from <jgross@suse.com>); Mon, 06 Oct 2025 07:47:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c3afc22e-a288-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1759736872; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=8D2Ip9zKf+rwkE/itGYhpzZbDiv28YhmlJL38GD5X2o=;
	b=JjbP5y+hnPx4a5gWixM95oKg7rWHdi+hbnN119BCYYw6QhKnwkE238vxXgesFkNzIzmwTe
	EZ7COrOkoQldCZVxqNOFG9PVXxD9olzFu/Z3kiEVr3umfSK5nzshss4DtKDGZxSUPDGnlm
	CWg9bnUm5PKNDJ8YaU8b14kEmunQbQ8=
Authentication-Results: smtp-out2.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=JjbP5y+h
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1759736872; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=8D2Ip9zKf+rwkE/itGYhpzZbDiv28YhmlJL38GD5X2o=;
	b=JjbP5y+hnPx4a5gWixM95oKg7rWHdi+hbnN119BCYYw6QhKnwkE238vxXgesFkNzIzmwTe
	EZ7COrOkoQldCZVxqNOFG9PVXxD9olzFu/Z3kiEVr3umfSK5nzshss4DtKDGZxSUPDGnlm
	CWg9bnUm5PKNDJ8YaU8b14kEmunQbQ8=
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org,
	x86@kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	xen-devel@lists.xenproject.org
Subject: [PATCH v3 17/21] x86/xen: Drop xen_mmu_ops
Date: Mon,  6 Oct 2025 09:46:02 +0200
Message-ID: <20251006074606.1266-18-jgross@suse.com>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251006074606.1266-1-jgross@suse.com>
References: <20251006074606.1266-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Level: 
X-Spam-Flag: NO
X-Rspamd-Queue-Id: E0BBA1F789
X-Rspamd-Action: no action
X-Rspamd-Server: rspamd1.dmz-prg2.suse.org
X-Spamd-Result: default: False [-3.01 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	MID_CONTAINS_FROM(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	R_MISSING_CHARSET(0.50)[];
	R_DKIM_ALLOW(-0.20)[suse.com:s=susede1];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	MX_GOOD(-0.01)[];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	FUZZY_RATELIMITED(0.00)[rspamd.com];
	ARC_NA(0.00)[];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	MIME_TRACE(0.00)[0:+];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	RCPT_COUNT_TWELVE(0.00)[12];
	RCVD_COUNT_TWO(0.00)[2];
	URIBL_BLOCKED(0.00)[imap1.dmz-prg2.suse.org:rdns,imap1.dmz-prg2.suse.org:helo,suse.com:dkim,suse.com:mid,suse.com:email];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	R_RATELIMIT(0.00)[to_ip_from(RLkdkdrsxe9hqhhs5ask8616i6)];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	DKIM_TRACE(0.00)[suse.com:+];
	FROM_HAS_DN(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	TO_DN_SOME(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:rdns,imap1.dmz-prg2.suse.org:helo,suse.com:dkim,suse.com:mid,suse.com:email]
X-Spam-Score: -3.01

Instead of having a pre-filled array xen_mmu_ops for Xen PV paravirt
functions, drop the array and assign each element individually.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- new patch
---
 arch/x86/xen/mmu_pv.c | 100 ++++++++++++++++--------------------------
 tools/objtool/check.c |   1 -
 2 files changed, 38 insertions(+), 63 deletions(-)

diff --git a/arch/x86/xen/mmu_pv.c b/arch/x86/xen/mmu_pv.c
index 2a4a8deaf612..9fa00c4a8858 100644
--- a/arch/x86/xen/mmu_pv.c
+++ b/arch/x86/xen/mmu_pv.c
@@ -2175,73 +2175,49 @@ static void xen_leave_lazy_mmu(void)
 	preempt_enable();
 }
 
-static const typeof(pv_ops) xen_mmu_ops __initconst = {
-	.mmu = {
-		.read_cr2 = __PV_IS_CALLEE_SAVE(xen_read_cr2),
-		.write_cr2 = xen_write_cr2,
-
-		.read_cr3 = xen_read_cr3,
-		.write_cr3 = xen_write_cr3_init,
-
-		.flush_tlb_user = xen_flush_tlb,
-		.flush_tlb_kernel = xen_flush_tlb,
-		.flush_tlb_one_user = xen_flush_tlb_one_user,
-		.flush_tlb_multi = xen_flush_tlb_multi,
-
-		.pgd_alloc = xen_pgd_alloc,
-		.pgd_free = xen_pgd_free,
-
-		.alloc_pte = xen_alloc_pte_init,
-		.release_pte = xen_release_pte_init,
-		.alloc_pmd = xen_alloc_pmd_init,
-		.release_pmd = xen_release_pmd_init,
-
-		.set_pte = xen_set_pte_init,
-		.set_pmd = xen_set_pmd_hyper,
-
-		.ptep_modify_prot_start = xen_ptep_modify_prot_start,
-		.ptep_modify_prot_commit = xen_ptep_modify_prot_commit,
-
-		.pte_val = PV_CALLEE_SAVE(xen_pte_val),
-		.pgd_val = PV_CALLEE_SAVE(xen_pgd_val),
-
-		.make_pte = PV_CALLEE_SAVE(xen_make_pte_init),
-		.make_pgd = PV_CALLEE_SAVE(xen_make_pgd),
-
-		.set_pud = xen_set_pud_hyper,
-
-		.make_pmd = PV_CALLEE_SAVE(xen_make_pmd),
-		.pmd_val = PV_CALLEE_SAVE(xen_pmd_val),
-
-		.pud_val = PV_CALLEE_SAVE(xen_pud_val),
-		.make_pud = PV_CALLEE_SAVE(xen_make_pud),
-		.set_p4d = xen_set_p4d_hyper,
-
-		.alloc_pud = xen_alloc_pmd_init,
-		.release_pud = xen_release_pmd_init,
-
-		.p4d_val = PV_CALLEE_SAVE(xen_p4d_val),
-		.make_p4d = PV_CALLEE_SAVE(xen_make_p4d),
-
-		.enter_mmap = xen_enter_mmap,
-		.exit_mmap = xen_exit_mmap,
-
-		.lazy_mode = {
-			.enter = xen_enter_lazy_mmu,
-			.leave = xen_leave_lazy_mmu,
-			.flush = xen_flush_lazy_mmu,
-		},
-
-		.set_fixmap = xen_set_fixmap,
-	},
-};
-
 void __init xen_init_mmu_ops(void)
 {
 	x86_init.paging.pagetable_init = xen_pagetable_init;
 	x86_init.hyper.init_after_bootmem = xen_after_bootmem;
 
-	pv_ops.mmu = xen_mmu_ops.mmu;
+	pv_ops.mmu.read_cr2 = __PV_IS_CALLEE_SAVE(xen_read_cr2);
+	pv_ops.mmu.write_cr2 = xen_write_cr2;
+	pv_ops.mmu.read_cr3 = xen_read_cr3;
+	pv_ops.mmu.write_cr3 = xen_write_cr3_init;
+	pv_ops.mmu.flush_tlb_user = xen_flush_tlb;
+	pv_ops.mmu.flush_tlb_kernel = xen_flush_tlb;
+	pv_ops.mmu.flush_tlb_one_user = xen_flush_tlb_one_user;
+	pv_ops.mmu.flush_tlb_multi = xen_flush_tlb_multi;
+	pv_ops.mmu.pgd_alloc = xen_pgd_alloc;
+	pv_ops.mmu.pgd_free = xen_pgd_free;
+	pv_ops.mmu.alloc_pte = xen_alloc_pte_init;
+	pv_ops.mmu.release_pte = xen_release_pte_init;
+	pv_ops.mmu.alloc_pmd = xen_alloc_pmd_init;
+	pv_ops.mmu.release_pmd = xen_release_pmd_init;
+	pv_ops.mmu.set_pte = xen_set_pte_init;
+	pv_ops.mmu.set_pmd = xen_set_pmd_hyper;
+	pv_ops.mmu.ptep_modify_prot_start = xen_ptep_modify_prot_start;
+	pv_ops.mmu.ptep_modify_prot_commit = xen_ptep_modify_prot_commit;
+	pv_ops.mmu.pte_val = PV_CALLEE_SAVE(xen_pte_val);
+	pv_ops.mmu.pgd_val = PV_CALLEE_SAVE(xen_pgd_val);
+	pv_ops.mmu.make_pte = PV_CALLEE_SAVE(xen_make_pte_init);
+	pv_ops.mmu.make_pgd = PV_CALLEE_SAVE(xen_make_pgd);
+	pv_ops.mmu.set_pud = xen_set_pud_hyper;
+	pv_ops.mmu.make_pmd = PV_CALLEE_SAVE(xen_make_pmd);
+	pv_ops.mmu.pmd_val = PV_CALLEE_SAVE(xen_pmd_val);
+	pv_ops.mmu.pud_val = PV_CALLEE_SAVE(xen_pud_val);
+	pv_ops.mmu.make_pud = PV_CALLEE_SAVE(xen_make_pud);
+	pv_ops.mmu.set_p4d = xen_set_p4d_hyper;
+	pv_ops.mmu.alloc_pud = xen_alloc_pmd_init;
+	pv_ops.mmu.release_pud = xen_release_pmd_init;
+	pv_ops.mmu.p4d_val = PV_CALLEE_SAVE(xen_p4d_val);
+	pv_ops.mmu.make_p4d = PV_CALLEE_SAVE(xen_make_p4d);
+	pv_ops.mmu.enter_mmap = xen_enter_mmap;
+	pv_ops.mmu.exit_mmap = xen_exit_mmap;
+	pv_ops.mmu.lazy_mode.enter = xen_enter_lazy_mmu;
+	pv_ops.mmu.lazy_mode.leave = xen_leave_lazy_mmu;
+	pv_ops.mmu.lazy_mode.flush = xen_flush_lazy_mmu;
+	pv_ops.mmu.set_fixmap = xen_set_fixmap;
 
 	memset(dummy_mapping, 0xff, PAGE_SIZE);
 }
diff --git a/tools/objtool/check.c b/tools/objtool/check.c
index 3d8a5ffb0fee..8793b73d50d2 100644
--- a/tools/objtool/check.c
+++ b/tools/objtool/check.c
@@ -592,7 +592,6 @@ static int init_pv_ops(struct objtool_file *file)
 {
 	static const char *pv_ops_tables[] = {
 		"pv_ops",
-		"xen_mmu_ops",
 		NULL,
 	};
 	const char *pv_ops;
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Mon Oct 06 07:56:28 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Oct 2025 07:56:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1137920.1473761 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5g56-0004hC-7m; Mon, 06 Oct 2025 07:56:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1137920.1473761; Mon, 06 Oct 2025 07:56:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5g56-0004h3-4Y; Mon, 06 Oct 2025 07:56:28 +0000
Received: by outflank-mailman (input) for mailman id 1137920;
 Mon, 06 Oct 2025 07:56:26 +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 <SRS0=kU4J=4P=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1v5fwi-0000J4-3T
 for xen-devel@lists.xenproject.org; Mon, 06 Oct 2025 07:47:48 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de
 [2a07:de40:b251:101:10:150:64:2])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c0329f95-a288-11f0-9d15-b5c5bf9af7f9;
 Mon, 06 Oct 2025 09:47:47 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 164AF1F452;
 Mon,  6 Oct 2025 07:47:47 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id A308913A7E;
 Mon,  6 Oct 2025 07:47:46 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id vQgPJiJ042i2HgAAD6G6ig
 (envelope-from <jgross@suse.com>); Mon, 06 Oct 2025 07:47:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c0329f95-a288-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1759736867; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=khFUei9zGttp3ubr1DRkpJBkISV+KPtxkI+g0B1J/iU=;
	b=WeTR9cDouII4QaEVBNqfSl51u+0oMClEC2kzx9/U9r25byIui5glqGqHKy7Bx4wn78ASdd
	HdL0vV13+tkp+MOrm1h0gitTUeNyZnxm72wzisrSZ99+G+Xlhotf7EIfCcCIuqLLjvGIjR
	0xUy8XSlWXMFa3tznzyYCwkzqxLsWm8=
Authentication-Results: smtp-out2.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1759736867; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=khFUei9zGttp3ubr1DRkpJBkISV+KPtxkI+g0B1J/iU=;
	b=WeTR9cDouII4QaEVBNqfSl51u+0oMClEC2kzx9/U9r25byIui5glqGqHKy7Bx4wn78ASdd
	HdL0vV13+tkp+MOrm1h0gitTUeNyZnxm72wzisrSZ99+G+Xlhotf7EIfCcCIuqLLjvGIjR
	0xUy8XSlWXMFa3tznzyYCwkzqxLsWm8=
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org,
	x86@kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	xen-devel@lists.xenproject.org
Subject: [PATCH v3 16/21] x86/xen: Drop xen_cpu_ops
Date: Mon,  6 Oct 2025 09:46:01 +0200
Message-ID: <20251006074606.1266-17-jgross@suse.com>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251006074606.1266-1-jgross@suse.com>
References: <20251006074606.1266-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Level: 
X-Spamd-Result: default: False [-2.80 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	MID_CONTAINS_FROM(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	R_MISSING_CHARSET(0.50)[];
	NEURAL_HAM_SHORT(-0.20)[-0.999];
	MIME_GOOD(-0.10)[text/plain];
	RCVD_COUNT_TWO(0.00)[2];
	FUZZY_RATELIMITED(0.00)[rspamd.com];
	ARC_NA(0.00)[];
	MIME_TRACE(0.00)[0:+];
	RCPT_COUNT_TWELVE(0.00)[12];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	URIBL_BLOCKED(0.00)[suse.com:email,suse.com:mid,imap1.dmz-prg2.suse.org:helo];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FROM_HAS_DN(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	R_RATELIMIT(0.00)[to_ip_from(RLfdszjqhz8kzzb9uwpzdm8png)];
	TO_DN_SOME(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email,suse.com:mid,imap1.dmz-prg2.suse.org:helo]
X-Spam-Flag: NO
X-Spam-Score: -2.80

Instead of having a pre-filled array xen_cpu_ops for Xen PV paravirt
functions, drop the array and assign each element individually.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- new patch
---
 arch/x86/xen/enlighten_pv.c | 82 +++++++++++++++----------------------
 tools/objtool/check.c       |  1 -
 2 files changed, 33 insertions(+), 50 deletions(-)

diff --git a/arch/x86/xen/enlighten_pv.c b/arch/x86/xen/enlighten_pv.c
index 4806cc28d7ca..65df3a0d9cf3 100644
--- a/arch/x86/xen/enlighten_pv.c
+++ b/arch/x86/xen/enlighten_pv.c
@@ -1212,54 +1212,6 @@ static const struct pv_info xen_info __initconst = {
 	.name = "Xen",
 };
 
-static const typeof(pv_ops) xen_cpu_ops __initconst = {
-	.cpu = {
-		.cpuid = xen_cpuid,
-
-		.set_debugreg = xen_set_debugreg,
-		.get_debugreg = xen_get_debugreg,
-
-		.read_cr0 = xen_read_cr0,
-		.write_cr0 = xen_write_cr0,
-
-		.write_cr4 = xen_write_cr4,
-
-		.read_msr = xen_read_msr,
-		.write_msr = xen_write_msr,
-
-		.read_msr_safe = xen_read_msr_safe,
-		.write_msr_safe = xen_write_msr_safe,
-
-		.read_pmc = xen_read_pmc,
-
-		.load_tr_desc = paravirt_nop,
-		.set_ldt = xen_set_ldt,
-		.load_gdt = xen_load_gdt,
-		.load_idt = xen_load_idt,
-		.load_tls = xen_load_tls,
-		.load_gs_index = xen_load_gs_index,
-
-		.alloc_ldt = xen_alloc_ldt,
-		.free_ldt = xen_free_ldt,
-
-		.store_tr = xen_store_tr,
-
-		.write_ldt_entry = xen_write_ldt_entry,
-		.write_gdt_entry = xen_write_gdt_entry,
-		.write_idt_entry = xen_write_idt_entry,
-		.load_sp0 = xen_load_sp0,
-
-#ifdef CONFIG_X86_IOPL_IOPERM
-		.invalidate_io_bitmap = xen_invalidate_io_bitmap,
-		.update_io_bitmap = xen_update_io_bitmap,
-#endif
-		.io_delay = xen_io_delay,
-
-		.start_context_switch = xen_start_context_switch,
-		.end_context_switch = xen_end_context_switch,
-	},
-};
-
 static void xen_restart(char *msg)
 {
 	xen_reboot(SHUTDOWN_reboot);
@@ -1411,7 +1363,39 @@ asmlinkage __visible void __init xen_start_kernel(struct start_info *si)
 
 	/* Install Xen paravirt ops */
 	pv_info = xen_info;
-	pv_ops.cpu = xen_cpu_ops.cpu;
+
+	pv_ops.cpu.cpuid = xen_cpuid;
+	pv_ops.cpu.set_debugreg = xen_set_debugreg;
+	pv_ops.cpu.get_debugreg = xen_get_debugreg;
+	pv_ops.cpu.read_cr0 = xen_read_cr0;
+	pv_ops.cpu.write_cr0 = xen_write_cr0;
+	pv_ops.cpu.write_cr4 = xen_write_cr4;
+	pv_ops.cpu.read_msr = xen_read_msr;
+	pv_ops.cpu.write_msr = xen_write_msr;
+	pv_ops.cpu.read_msr_safe = xen_read_msr_safe;
+	pv_ops.cpu.write_msr_safe = xen_write_msr_safe;
+	pv_ops.cpu.read_pmc = xen_read_pmc;
+	pv_ops.cpu.load_tr_desc = paravirt_nop;
+	pv_ops.cpu.set_ldt = xen_set_ldt;
+	pv_ops.cpu.load_gdt = xen_load_gdt;
+	pv_ops.cpu.load_idt = xen_load_idt;
+	pv_ops.cpu.load_tls = xen_load_tls;
+	pv_ops.cpu.load_gs_index = xen_load_gs_index;
+	pv_ops.cpu.alloc_ldt = xen_alloc_ldt;
+	pv_ops.cpu.free_ldt = xen_free_ldt;
+	pv_ops.cpu.store_tr = xen_store_tr;
+	pv_ops.cpu.write_ldt_entry = xen_write_ldt_entry;
+	pv_ops.cpu.write_gdt_entry = xen_write_gdt_entry;
+	pv_ops.cpu.write_idt_entry = xen_write_idt_entry;
+	pv_ops.cpu.load_sp0 = xen_load_sp0;
+#ifdef CONFIG_X86_IOPL_IOPERM
+	pv_ops.cpu.invalidate_io_bitmap = xen_invalidate_io_bitmap;
+	pv_ops.cpu.update_io_bitmap = xen_update_io_bitmap;
+#endif
+	pv_ops.cpu.io_delay = xen_io_delay;
+	pv_ops.cpu.start_context_switch = xen_start_context_switch;
+	pv_ops.cpu.end_context_switch = xen_end_context_switch;
+
 	xen_init_irq_ops();
 
 	/*
diff --git a/tools/objtool/check.c b/tools/objtool/check.c
index d66eb37ff294..3d8a5ffb0fee 100644
--- a/tools/objtool/check.c
+++ b/tools/objtool/check.c
@@ -592,7 +592,6 @@ static int init_pv_ops(struct objtool_file *file)
 {
 	static const char *pv_ops_tables[] = {
 		"pv_ops",
-		"xen_cpu_ops",
 		"xen_mmu_ops",
 		NULL,
 	};
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Mon Oct 06 07:56:31 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Oct 2025 07:56:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1137932.1473770 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5g59-00054z-FO; Mon, 06 Oct 2025 07:56:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1137932.1473770; Mon, 06 Oct 2025 07:56:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5g59-00054o-C8; Mon, 06 Oct 2025 07:56:31 +0000
Received: by outflank-mailman (input) for mailman id 1137932;
 Mon, 06 Oct 2025 07:56:30 +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 <SRS0=kU4J=4P=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1v5fwE-0000J4-8T
 for xen-devel@lists.xenproject.org; Mon, 06 Oct 2025 07:47:18 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ae82e8c0-a288-11f0-9d15-b5c5bf9af7f9;
 Mon, 06 Oct 2025 09:47:17 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 65F5622501;
 Mon,  6 Oct 2025 07:47:17 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id BB7A513A7E;
 Mon,  6 Oct 2025 07:47:16 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id +NmgKwR042h/HgAAD6G6ig
 (envelope-from <jgross@suse.com>); Mon, 06 Oct 2025 07:47:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ae82e8c0-a288-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1759736837; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=hHoWMHxjEYxWzXFzwEz4w5llPIGc7b3TxNii6+61XYg=;
	b=uFnCMbWOTg9okFEV34oW2f3xlMbUYlpZ/oJTX8/Pj7JL8ruBbm28iuXcTv+cSOU6TCGmg6
	C2mzX+Ee0TOqknmCf/f7BpqR4ekxMdakngZfA2C36xhspiCDhjc9do4baNyik3Y4Lnm//z
	RCYjTzuNvd9QK6v//pwysQ2rAH9/M/k=
Authentication-Results: smtp-out1.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1759736837; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=hHoWMHxjEYxWzXFzwEz4w5llPIGc7b3TxNii6+61XYg=;
	b=uFnCMbWOTg9okFEV34oW2f3xlMbUYlpZ/oJTX8/Pj7JL8ruBbm28iuXcTv+cSOU6TCGmg6
	C2mzX+Ee0TOqknmCf/f7BpqR4ekxMdakngZfA2C36xhspiCDhjc9do4baNyik3Y4Lnm//z
	RCYjTzuNvd9QK6v//pwysQ2rAH9/M/k=
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org,
	x86@kernel.org,
	virtualization@lists.linux.dev
Cc: Juergen Gross <jgross@suse.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Ajay Kaher <ajay.kaher@broadcom.com>,
	Alexey Makhalov <alexey.makhalov@broadcom.com>,
	Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	xen-devel@lists.xenproject.org,
	"Peter Zijlstra (Intel)" <peterz@infradead.org>
Subject: [PATCH v3 11/21] x86/paravirt: Use common code for paravirt_steal_clock()
Date: Mon,  6 Oct 2025 09:45:56 +0200
Message-ID: <20251006074606.1266-12-jgross@suse.com>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251006074606.1266-1-jgross@suse.com>
References: <20251006074606.1266-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spamd-Result: default: False [-2.80 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MID_CONTAINS_FROM(1.00)[];
	R_MISSING_CHARSET(0.50)[];
	NEURAL_HAM_SHORT(-0.20)[-0.999];
	MIME_GOOD(-0.10)[text/plain];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FROM_HAS_DN(0.00)[];
	ARC_NA(0.00)[];
	MIME_TRACE(0.00)[0:+];
	TO_DN_SOME(0.00)[];
	RCPT_COUNT_TWELVE(0.00)[17];
	DBL_BLOCKED_OPENRESOLVER(0.00)[infradead.org:email,suse.com:mid,suse.com:email,imap1.dmz-prg2.suse.org:helo];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	FUZZY_RATELIMITED(0.00)[rspamd.com];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	R_RATELIMIT(0.00)[to_ip_from(RLfdszjqhz8kzzb9uwpzdm8png)];
	RCVD_TLS_ALL(0.00)[]
X-Spam-Flag: NO
X-Spam-Level: 
X-Spam-Score: -2.80

Remove the arch specific variant of paravirt_steal_clock() and use
the common one instead.

With all archs supporting Xen now having been switched to the common
variant, including paravirt.h can be dropped from drivers/xen/time.c.

Signed-off-by: Juergen Gross <jgross@suse.com>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
---
 arch/x86/Kconfig                | 1 +
 arch/x86/include/asm/paravirt.h | 7 -------
 arch/x86/kernel/paravirt.c      | 6 ------
 arch/x86/xen/time.c             | 1 +
 drivers/xen/time.c              | 3 ---
 5 files changed, 2 insertions(+), 16 deletions(-)

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 451c3adffacb..f134cfff090b 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -799,6 +799,7 @@ if HYPERVISOR_GUEST
 config PARAVIRT
 	bool "Enable paravirtualization code"
 	depends on HAVE_STATIC_CALL
+	select HAVE_PV_STEAL_CLOCK_GEN
 	help
 	  This changes the kernel so it can modify itself when it is run
 	  under a hypervisor, potentially improving performance significantly
diff --git a/arch/x86/include/asm/paravirt.h b/arch/x86/include/asm/paravirt.h
index 0ef797ea8440..766a7cee3d64 100644
--- a/arch/x86/include/asm/paravirt.h
+++ b/arch/x86/include/asm/paravirt.h
@@ -17,10 +17,8 @@
 #include <linux/static_call_types.h>
 #include <asm/frame.h>
 
-u64 dummy_steal_clock(int cpu);
 u64 dummy_sched_clock(void);
 
-DECLARE_STATIC_CALL(pv_steal_clock, dummy_steal_clock);
 DECLARE_STATIC_CALL(pv_sched_clock, dummy_sched_clock);
 
 void paravirt_set_sched_clock(u64 (*func)(void));
@@ -35,11 +33,6 @@ bool pv_is_native_spin_unlock(void);
 __visible bool __native_vcpu_is_preempted(long cpu);
 bool pv_is_native_vcpu_is_preempted(void);
 
-static inline u64 paravirt_steal_clock(int cpu)
-{
-	return static_call(pv_steal_clock)(cpu);
-}
-
 #ifdef CONFIG_PARAVIRT_SPINLOCKS
 void __init paravirt_set_cap(void);
 #endif
diff --git a/arch/x86/kernel/paravirt.c b/arch/x86/kernel/paravirt.c
index a3ba4747be1c..42991d471bf3 100644
--- a/arch/x86/kernel/paravirt.c
+++ b/arch/x86/kernel/paravirt.c
@@ -60,12 +60,6 @@ void __init native_pv_lock_init(void)
 		static_branch_enable(&virt_spin_lock_key);
 }
 
-static u64 native_steal_clock(int cpu)
-{
-	return 0;
-}
-
-DEFINE_STATIC_CALL(pv_steal_clock, native_steal_clock);
 DEFINE_STATIC_CALL(pv_sched_clock, native_sched_clock);
 
 void paravirt_set_sched_clock(u64 (*func)(void))
diff --git a/arch/x86/xen/time.c b/arch/x86/xen/time.c
index 96521b1874ac..e4754b2fa900 100644
--- a/arch/x86/xen/time.c
+++ b/arch/x86/xen/time.c
@@ -16,6 +16,7 @@
 #include <linux/slab.h>
 #include <linux/pvclock_gtod.h>
 #include <linux/timekeeper_internal.h>
+#include <linux/sched/cputime.h>
 
 #include <asm/pvclock.h>
 #include <asm/xen/hypervisor.h>
diff --git a/drivers/xen/time.c b/drivers/xen/time.c
index 53b12f5ac465..0b18d8a5a2dd 100644
--- a/drivers/xen/time.c
+++ b/drivers/xen/time.c
@@ -10,9 +10,6 @@
 #include <linux/static_call.h>
 #include <linux/sched/cputime.h>
 
-#ifndef CONFIG_HAVE_PV_STEAL_CLOCK_GEN
-#include <asm/paravirt.h>
-#endif
 #include <asm/xen/hypervisor.h>
 #include <asm/xen/hypercall.h>
 
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Mon Oct 06 07:56:32 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Oct 2025 07:56:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1137934.1473777 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5g59-0005BC-Ts; Mon, 06 Oct 2025 07:56:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1137934.1473777; Mon, 06 Oct 2025 07:56:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5g59-00059x-Pb; Mon, 06 Oct 2025 07:56:31 +0000
Received: by outflank-mailman (input) for mailman id 1137934;
 Mon, 06 Oct 2025 07:56:30 +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 <SRS0=kU4J=4P=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1v5fwN-0000sR-CV
 for xen-devel@lists.xenproject.org; Mon, 06 Oct 2025 07:47:27 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b2353c60-a288-11f0-9809-7dc792cee155;
 Mon, 06 Oct 2025 09:47:23 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 8B8731F80D;
 Mon,  6 Oct 2025 07:47:23 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id CE4B513A7E;
 Mon,  6 Oct 2025 07:47:22 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id eMCKMAp042iHHgAAD6G6ig
 (envelope-from <jgross@suse.com>); Mon, 06 Oct 2025 07:47:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b2353c60-a288-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1759736843; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=gztxpq9DX+nPOLwjlXTO5zTcC6KXOoTlESO5Ptm2kQY=;
	b=uAWjDbov57SfsgvL9XuUkGg3UngmXjlrvDwEbKxyZ3m2gY84LRj+RQoBf4tOK+Jmq4QiJr
	IJxKk1AXIs4eCwe1v1Vi4pYRq+hv5BF2OxjsTnOM4QudY7KcnmjHlqcWyeCgA/VzzsSV7l
	83YvdxHWN/R/12B2WcAecixZ0Cntyo0=
Authentication-Results: smtp-out2.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=uAWjDbov
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1759736843; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=gztxpq9DX+nPOLwjlXTO5zTcC6KXOoTlESO5Ptm2kQY=;
	b=uAWjDbov57SfsgvL9XuUkGg3UngmXjlrvDwEbKxyZ3m2gY84LRj+RQoBf4tOK+Jmq4QiJr
	IJxKk1AXIs4eCwe1v1Vi4pYRq+hv5BF2OxjsTnOM4QudY7KcnmjHlqcWyeCgA/VzzsSV7l
	83YvdxHWN/R/12B2WcAecixZ0Cntyo0=
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org,
	x86@kernel.org,
	virtualization@lists.linux.dev,
	kvm@vger.kernel.org,
	linux-hyperv@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Ajay Kaher <ajay.kaher@broadcom.com>,
	Alexey Makhalov <alexey.makhalov@broadcom.com>,
	Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	"K. Y. Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>,
	Dexuan Cui <decui@microsoft.com>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	xen-devel@lists.xenproject.org,
	"Peter Zijlstra (Intel)" <peterz@infradead.org>
Subject: [PATCH v3 12/21] x86/paravirt: Move paravirt_sched_clock() related code into tsc.c
Date: Mon,  6 Oct 2025 09:45:57 +0200
Message-ID: <20251006074606.1266-13-jgross@suse.com>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251006074606.1266-1-jgross@suse.com>
References: <20251006074606.1266-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Level: 
X-Spam-Flag: NO
X-Rspamd-Queue-Id: 8B8731F80D
X-Rspamd-Action: no action
X-Rspamd-Server: rspamd1.dmz-prg2.suse.org
X-Spamd-Result: default: False [-3.01 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	MID_CONTAINS_FROM(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	R_MISSING_CHARSET(0.50)[];
	R_DKIM_ALLOW(-0.20)[suse.com:s=susede1];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	MX_GOOD(-0.01)[];
	FUZZY_RATELIMITED(0.00)[rspamd.com];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	ARC_NA(0.00)[];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	MIME_TRACE(0.00)[0:+];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	RCPT_COUNT_TWELVE(0.00)[24];
	RCVD_COUNT_TWO(0.00)[2];
	URIBL_BLOCKED(0.00)[imap1.dmz-prg2.suse.org:rdns,imap1.dmz-prg2.suse.org:helo,suse.com:dkim,suse.com:mid,suse.com:email,infradead.org:email];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	R_RATELIMIT(0.00)[to_ip_from(RLkdkdrsxe9hqhhs5ask8616i6)];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	DKIM_TRACE(0.00)[suse.com:+];
	FROM_HAS_DN(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	TO_DN_SOME(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:rdns,imap1.dmz-prg2.suse.org:helo,infradead.org:email,suse.com:dkim,suse.com:mid,suse.com:email]
X-Spam-Score: -3.01

The only user of paravirt_sched_clock() is in tsc.c, so move the code
from paravirt.c and paravirt.h to tsc.c.

Signed-off-by: Juergen Gross <jgross@suse.com>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
---
 arch/x86/include/asm/paravirt.h    | 12 ------------
 arch/x86/include/asm/timer.h       |  1 +
 arch/x86/kernel/kvmclock.c         |  1 +
 arch/x86/kernel/paravirt.c         |  7 -------
 arch/x86/kernel/tsc.c              | 10 +++++++++-
 arch/x86/xen/time.c                |  1 +
 drivers/clocksource/hyperv_timer.c |  2 ++
 7 files changed, 14 insertions(+), 20 deletions(-)

diff --git a/arch/x86/include/asm/paravirt.h b/arch/x86/include/asm/paravirt.h
index 766a7cee3d64..b69e75a5c872 100644
--- a/arch/x86/include/asm/paravirt.h
+++ b/arch/x86/include/asm/paravirt.h
@@ -14,20 +14,8 @@
 #ifndef __ASSEMBLER__
 #include <linux/types.h>
 #include <linux/cpumask.h>
-#include <linux/static_call_types.h>
 #include <asm/frame.h>
 
-u64 dummy_sched_clock(void);
-
-DECLARE_STATIC_CALL(pv_sched_clock, dummy_sched_clock);
-
-void paravirt_set_sched_clock(u64 (*func)(void));
-
-static __always_inline u64 paravirt_sched_clock(void)
-{
-	return static_call(pv_sched_clock)();
-}
-
 __visible void __native_queued_spin_unlock(struct qspinlock *lock);
 bool pv_is_native_spin_unlock(void);
 __visible bool __native_vcpu_is_preempted(long cpu);
diff --git a/arch/x86/include/asm/timer.h b/arch/x86/include/asm/timer.h
index 23baf8c9b34c..fda18bcb19b4 100644
--- a/arch/x86/include/asm/timer.h
+++ b/arch/x86/include/asm/timer.h
@@ -12,6 +12,7 @@ extern void recalibrate_cpu_khz(void);
 extern int no_timer_check;
 
 extern bool using_native_sched_clock(void);
+void paravirt_set_sched_clock(u64 (*func)(void));
 
 /*
  * We use the full linear equation: f(x) = a + b*x, in order to allow
diff --git a/arch/x86/kernel/kvmclock.c b/arch/x86/kernel/kvmclock.c
index ca0a49eeac4a..b5991d53fc0e 100644
--- a/arch/x86/kernel/kvmclock.c
+++ b/arch/x86/kernel/kvmclock.c
@@ -19,6 +19,7 @@
 #include <linux/cc_platform.h>
 
 #include <asm/hypervisor.h>
+#include <asm/timer.h>
 #include <asm/x86_init.h>
 #include <asm/kvmclock.h>
 
diff --git a/arch/x86/kernel/paravirt.c b/arch/x86/kernel/paravirt.c
index 42991d471bf3..4e37db8073f9 100644
--- a/arch/x86/kernel/paravirt.c
+++ b/arch/x86/kernel/paravirt.c
@@ -60,13 +60,6 @@ void __init native_pv_lock_init(void)
 		static_branch_enable(&virt_spin_lock_key);
 }
 
-DEFINE_STATIC_CALL(pv_sched_clock, native_sched_clock);
-
-void paravirt_set_sched_clock(u64 (*func)(void))
-{
-	static_call_update(pv_sched_clock, func);
-}
-
 static noinstr void pv_native_safe_halt(void)
 {
 	native_safe_halt();
diff --git a/arch/x86/kernel/tsc.c b/arch/x86/kernel/tsc.c
index 87e749106dda..554b54783a04 100644
--- a/arch/x86/kernel/tsc.c
+++ b/arch/x86/kernel/tsc.c
@@ -266,19 +266,27 @@ u64 native_sched_clock_from_tsc(u64 tsc)
 /* We need to define a real function for sched_clock, to override the
    weak default version */
 #ifdef CONFIG_PARAVIRT
+DEFINE_STATIC_CALL(pv_sched_clock, native_sched_clock);
+
 noinstr u64 sched_clock_noinstr(void)
 {
-	return paravirt_sched_clock();
+	return static_call(pv_sched_clock)();
 }
 
 bool using_native_sched_clock(void)
 {
 	return static_call_query(pv_sched_clock) == native_sched_clock;
 }
+
+void paravirt_set_sched_clock(u64 (*func)(void))
+{
+	static_call_update(pv_sched_clock, func);
+}
 #else
 u64 sched_clock_noinstr(void) __attribute__((alias("native_sched_clock")));
 
 bool using_native_sched_clock(void) { return true; }
+void paravirt_set_sched_clock(u64 (*func)(void)) { }
 #endif
 
 notrace u64 sched_clock(void)
diff --git a/arch/x86/xen/time.c b/arch/x86/xen/time.c
index e4754b2fa900..6f9f665bb7ae 100644
--- a/arch/x86/xen/time.c
+++ b/arch/x86/xen/time.c
@@ -19,6 +19,7 @@
 #include <linux/sched/cputime.h>
 
 #include <asm/pvclock.h>
+#include <asm/timer.h>
 #include <asm/xen/hypervisor.h>
 #include <asm/xen/hypercall.h>
 #include <asm/xen/cpuid.h>
diff --git a/drivers/clocksource/hyperv_timer.c b/drivers/clocksource/hyperv_timer.c
index 2edc13ca184e..6397a7ba4a98 100644
--- a/drivers/clocksource/hyperv_timer.c
+++ b/drivers/clocksource/hyperv_timer.c
@@ -535,6 +535,8 @@ static __always_inline void hv_setup_sched_clock(void *sched_clock)
 	sched_clock_register(sched_clock, 64, NSEC_PER_SEC);
 }
 #elif defined CONFIG_PARAVIRT
+#include <asm/timer.h>
+
 static __always_inline void hv_setup_sched_clock(void *sched_clock)
 {
 	/* We're on x86/x64 *and* using PV ops */
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Mon Oct 06 08:21:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Oct 2025 08:21:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1137990.1473791 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5gTC-0002zd-VU; Mon, 06 Oct 2025 08:21:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1137990.1473791; Mon, 06 Oct 2025 08:21:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5gTC-0002zW-SZ; Mon, 06 Oct 2025 08:21:22 +0000
Received: by outflank-mailman (input) for mailman id 1137990;
 Mon, 06 Oct 2025 08:21:21 +0000
Received: from [94.247.172.50] (helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3dSL=4P=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v5gTB-0002z7-12
 for xen-devel@lists.xenproject.org; Mon, 06 Oct 2025 08:21:21 +0000
Received: from CY3PR05CU001.outbound.protection.outlook.com
 (mail-westcentralusazlp170130007.outbound.protection.outlook.com
 [2a01:111:f403:c112::7])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 61d4de61-a28d-11f0-9809-7dc792cee155;
 Mon, 06 Oct 2025 10:20:57 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by PH0PR03MB5829.namprd03.prod.outlook.com (2603:10b6:510:35::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.20; Mon, 6 Oct
 2025 08:20:50 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9182.017; Mon, 6 Oct 2025
 08:20:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 61d4de61-a28d-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=QHPjvY/jpTdajeGPGPbjzE69PZkwhaLDsIrxH/3MjMW865pXs50rNlADUVwwXQWUAVN7lITazu9tblgKHGXNjLqR9oY4K5PcQJRvqaiEL+yUTwASP1UC6GUSpF2W6yG9sF/i9rzhmrenApJeIET9XQLmC+nOBqItdYkgx9IuqG2Kx/u65MgxzKyh907rBxiM0sltgfuc+olyk8jO0O5Nch7mZJ5fYypSEhj1XzLIgBq9o7nDCteQrZTFAvQfcefxIUsMm9rIA0nT6cMomvy7dZhIPe0cj0SfnOaTXJYVxCpSKK8zCA+5o/aT8b9Xn7SO7A++iYk4UE26AcTXtuWjCw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HfrRewX2ZDUGv1nUjrpUqpxE8LQwco3eS0bA6FGwP8M=;
 b=wzrHfEDZe1aJmV5/AkQlLfUiQru3/DOh+7iwq31tVcv50UZ4oLixQzmZK/twVnPdAU3f/dqPWiGV6Ik8EYbbCIIk0S9McNBet04k73y/s7H01g11eUtgo12oYKSWDtb0h9IgHvHJ1vZfYXOSRAVWl/7jFa/iwEHLvFLm46ym8NXdOXfCNC1BTpR5Hd4AgW7F15X5eTrhpVSh9u9tN8S1OY0nR/Y3xkWaZqm/t89htrYMKnY8XFVZe1ENEbwe+UOG4bTW67FoEmdvakPU2rwGNxbkWuod1E32RZb628jGPMPWNL7piUiNWGNk9mQ3mKte3YktvogGH3Gh37NYzuttYw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HfrRewX2ZDUGv1nUjrpUqpxE8LQwco3eS0bA6FGwP8M=;
 b=onlj88HB6yLPfJNj/7qB/cno6ZOyOaYNOgXysCOnqopQTqJz1AzEgz3936gGwcaJ/vtfVJnx/K/uR+ZWeMlp1f8cZaibIJmUdqCRL2pvCmISudujglZurOtnZpXyrHE+SJjMelMeFbVFRb5Nz11oZ8FrL7fpU8Y1z+xPjcS15dE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Mon, 6 Oct 2025 10:20:41 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Stewart Hildebrand <stewart.hildebrand@amd.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.21] vpci/msix: improve handling of bogus MSI-X
 capabilities
Message-ID: <aON72Sq6ZJ6y95DI@Mac.lan>
References: <20250929084149.70560-1-roger.pau@citrix.com>
 <2d1737a7-58e3-48e3-ac16-1bda3947c929@amd.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <2d1737a7-58e3-48e3-ac16-1bda3947c929@amd.com>
X-ClientProxiedBy: MA2P292CA0018.ESPP292.PROD.OUTLOOK.COM (2603:10a6:250::8)
 To DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|PH0PR03MB5829:EE_
X-MS-Office365-Filtering-Correlation-Id: e9cfec42-f631-479b-2e9d-08de04b13f27
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?dlBLWC9RdFhPUnFCT0loTE9XSmF3aXdwZkwwalBkUVhhWnpHam1WME0zdGZD?=
 =?utf-8?B?VFFwTGpCYTdGMHNsKzR3WlhBZ2U1azRMYkNVMjI1NHp2bDBOMDduejhPc01P?=
 =?utf-8?B?TGozaFl5M1hGYTFiM3BhL2RhRjhDKzZPNWczY1lIeGp6N25zQmhiMDJ5WUJM?=
 =?utf-8?B?cHNRUS9EVGRWKzY4UG5neWZFQnEvOXB1S1ZlUVAyV05WU2l0c1VKK3p5c3BD?=
 =?utf-8?B?bEFoVlFGZXd2MzlyUGFMRVJ3RDQwNU5FdjZjMUdlRlpsREJ3a3hBMGw4TVdw?=
 =?utf-8?B?ZnN5VFBVTWdsbmF2cGU1MWJZVWEvTmFKY2NZYzlqbFdHaE1hNGZFa25RVWxt?=
 =?utf-8?B?ME9XTFJ6MlFlZGcxM3RseHlwVno4dGR1M2tLNjBmUnprMVljaFVFNnovUmlI?=
 =?utf-8?B?T1o3cWJxY0szQmlaaGppRzBpdmlOeWhmUE95K1U0ZHdlMk5HMGJpajBVVytX?=
 =?utf-8?B?SVNPM1NESTBHS2twZWo2dlVWN2NXRnIwQVJsK3dvTXRVcnptNUQybVp0elp2?=
 =?utf-8?B?d3Rac3czLzVPUXI3akRyYmZmc1hKbXp0NnNhRC9Vcmh5MFpmVGpFS3NWME1l?=
 =?utf-8?B?b0ZzdlNkTTlFbkdOVTFHMXV5Mi9oSHgvVXpYZGFJamIwSm5pZ0tsVGxhbjBz?=
 =?utf-8?B?ejFPdHhOeHdEOVlhSlhHL0RsNEFNTCtyb084b2FmcVU4MlJDY3RGYVlPUUlK?=
 =?utf-8?B?eHRHcUFMdW43MWlLNkJRMFBCOWhZd1dUZ2E4RFd5alpFU2tJdGp2d01uY1hJ?=
 =?utf-8?B?Y3dkRjFBNEwvRGhiVVM2dEtSanN0aWpZNU00cXJBODNLbmxwYTcvbVNPa0to?=
 =?utf-8?B?eWR1Y1E0bTJjUUJQOEhmMlJRK1JaM2lJc3VTcDBsekdIQmJYSFduWlZpeXJs?=
 =?utf-8?B?ZTVFTkxNVWlRbWFvd0FmUnpHaUJZWHJKeEdyYzBVQ2g5OXo1Njd1KzRJbDBM?=
 =?utf-8?B?b0FvWTFkTmFpL0VYaXZJdkdxQlpjYmRVTHd2VkJjQWhWZm13YXlnd2tGcUw3?=
 =?utf-8?B?VkpkdDd3QlBoK3l2MGFWcmc0cnQyTHRiWE4rQVYra2tnc2FwLzhaMVIxc1ZX?=
 =?utf-8?B?M1hKT1h5Rll6QUsxZk1KVGw1em5JeDVXK0RHaGpUUUdudDBzKzF0REpLY0x1?=
 =?utf-8?B?QUIwa0pFbVFBNlBBMHJqTnZoWXlUV0RtZEFzLzVSc3UxeTg5TVBNYld5Y2VT?=
 =?utf-8?B?WndLckt0Z1FCbG9BZjRWMTlFQm1VREN4SzcrL25vSTBvRmxrenRHNWRWRDdN?=
 =?utf-8?B?MHc1SExjZTBxUWE5UjZsSnhHUlBhRW83b3Eza1F0bi80d2o3YkhpTHRkaW9i?=
 =?utf-8?B?dzQwdks2cnhNMEk2R3pQeU43Tlp5UDJwVkU5T2d5VEt5WUxyajVNKzQ2OWdH?=
 =?utf-8?B?ckVrLzc5NUJWN1p6ME9rSi8zYnlZSlVZOERHM0NpM2F6T2FacEcvV0FqVFdy?=
 =?utf-8?B?YkwyeEZ1UzhaN3V2dVoxOHZGMXN0dmFYTjVqUUJWMWppU1ZJTUd1aFFTSm1l?=
 =?utf-8?B?Q0pVM0RrUHZIR0FReE9QeVltYzhvWDNJc3h0angvK0RDWFFDWCtVQ29xRzZB?=
 =?utf-8?B?am9xZjRVNWlUcVdYQmdNSzRiN1RtT2JDK2xta1h2WCtkVlN2Y2x3cWZWQUtE?=
 =?utf-8?B?V2wvYStKSmlEMXVuQjgwbU5KUE4wVjZUM21GOGxLQWI5TWNsUlVIS3F1eTE3?=
 =?utf-8?B?YXd0bElST3Y1YnJrRExYTHdMNDhPK0owa2plcGNrUWF5RXZyUXdPK2ExS3Bj?=
 =?utf-8?B?cGE4ZnpyQytyQWtWcDJrcTFTc2l3NDBIWFpzNUtjUlc4Y1dQTWtuTWpJR2ZQ?=
 =?utf-8?B?TnQxY1c5M213MHVEQ2cvVlo5WW9WTTFxZlE4b1o4djMyRFpMM2Z2elZGVlhs?=
 =?utf-8?B?cXlEUTRiekNMdXY3ZG5aUFZNb2svWDU2aDBka1dRYkxnMSt3eVBNVVlONXc3?=
 =?utf-8?Q?SHypEr7rke2Gr8TTfK+EeFzYooUTHkfN?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aUN4aUpBczd2YmlZa2JkWjEreU0zSXYwV29xdXAwbzhacUh0WkgxTmlEL2ts?=
 =?utf-8?B?MWRFYjZadGxZdkNSM05qaWlCMzRGMTJqampRY0pDM1pjV1R0Q1QzbnAvZDE0?=
 =?utf-8?B?bWR5c0k3KzRkUUFpT3ZVRHU0WUdrOXFTRnBLU2oyNGtHOU1SaFNYV0lMRGYx?=
 =?utf-8?B?aDVNbStidXdFR3NIVEMyRlh3Kzd2S2hYM2t4SFVtcWZDWUdwanViRkcrSkZL?=
 =?utf-8?B?U1hyZ2k0SlgyNTN0UnpoclFBd3h4TFUxSERoOGFWbWg0blduNm9CSU1lK1Rm?=
 =?utf-8?B?NEtCaTZ4bEExRnNYdHpGbUd0anVZemdwdHl5MysvMEExYjRmelMrbWdKblo3?=
 =?utf-8?B?OFhid0Q3SEorQzBuVVhHWkN6WThnWTVZSGFUeWk4a243bGNaZysySnBUOHdE?=
 =?utf-8?B?aUVDU1FUUUlhQ01zL0VOb1hNNVIvWWJZQzlSNzJNN0JqY0N1djQ2REZiOGp2?=
 =?utf-8?B?Z2I5Zk5sR1kySkVrRkJ0dWNjT1VyaUlnRXc0QXIxMk5FS2MwdGVneHozZmpP?=
 =?utf-8?B?WXVjNkJIL29zcWYrNDdyMGhZMUpYUVRObkZVbUljL0FXU3BiY0d2anlXeFJo?=
 =?utf-8?B?R2N3Z093THIyWkNUS1M4emw2QTRkaDlwU1pLa2lDY3p2MGxEWHM4UHhtVk9j?=
 =?utf-8?B?Q1N5aTJWSGJTaFJ0d0x4YUxwYjdVQXRORXVlYStoQmRJOFpvdzE4ZWVHUGV3?=
 =?utf-8?B?K28raHgwQU0rL1BXZVRxcUE4eWhJWWF0KzZsNXNOclZ3U1g3Njhub1J5YjZu?=
 =?utf-8?B?QU02cXVmc2JmWkdTUkN6TmplUFJBT2hwazluR2hGK0FBVERTYm9WdzBFT1Ft?=
 =?utf-8?B?ZldTaDJjRlNBNG9aaUpLLzZISlJHZGs3ZC9mcGE1MytkNkkreThpSXZJQzRl?=
 =?utf-8?B?WFppSHV3NVhaWlZPaFlYclJTdjB3bkRCaURMUTFOY05pdDV0ZXV5dGlrUVF5?=
 =?utf-8?B?QVFYZTdWL0FPMFF3UXRrZUV4alJ6a0pCNThtaE1RN0tlcUM4czBVenEzNEt1?=
 =?utf-8?B?cTNVZzNyYTBxVFRRR0l0dUtLVTMzWTk1WGxROC9JQ2hUVkN2YzRuNUhTYlhQ?=
 =?utf-8?B?dlIyVkFZZVJ4bFRFa2kyZUN5YVU0WFdROUd6NzE2aldDakM0Ly9NRWRCbXZV?=
 =?utf-8?B?STRuWnJxWWVSRHFKTURQYWY2aUVUcnpDbkVSY1dCTG1nUGJySFZBdUJSUUFm?=
 =?utf-8?B?NkdHZ2VDdDNrUEo4TEpWSzFHSlN4SXQzZXhmU2tBUDg5SVRaMHpXb0N0T3U1?=
 =?utf-8?B?dHNlNnlGaytOTWFMWjl5MDlyU01RMnhPOFN6VHJpTSt0VU1jMGFxMDJRcUJT?=
 =?utf-8?B?OVFxUkpzSW93clRLTFZvalY0NHU3MW4vNHlCa3UzNVBRVnV1WU40bXVaNk1s?=
 =?utf-8?B?Z3BaNmZPTXRoWDlxOGVlcnNBUGFVV2hJTXdKVld0azNyYXQzc0s0L3BkYUxu?=
 =?utf-8?B?Q1NCS2lBekJ6S3hVTUJzajVhT2pNUVd0MURjVEIxbFZ6cXozYnhxbmRCUG9T?=
 =?utf-8?B?TzdyVFZjUk5nNWE2QlpuM0poL1dnbWlLWDZCQ09TaXdzZStrcWI2alZYVHVH?=
 =?utf-8?B?RlFJUVJJR2pPd21DZ0pLenA0RDNEclhYZjcrckFQZGhMbFlSVWVsNGxzVHZM?=
 =?utf-8?B?RDJmbkplaExEa0YyTnRGQmxVTGx5WWcweXBvV281clJBWEhVSzJKdE5kTXJF?=
 =?utf-8?B?b3h0UjB5NXo1SUVoSHN6TGRMMUUvRFlveDVTLytqbmlOV3dNRUJoOWJSYk9I?=
 =?utf-8?B?c0Jrc0lPeDBOSkJZMTQ5NDAyOTliY3plTC9VT0RHblc1WlJPVTVjT0JkYjlR?=
 =?utf-8?B?aDBHQUhFSG1Jb0EvbTFaaGkzT1FNUUp3OXMvV2Y0UmQwMWxHdjNldE1oa09C?=
 =?utf-8?B?WEhiT1p1ajl2MEtUSkQxS2R3ZUppRkFzVE5nZnVJb1lSOWRwcXNlUHEveWZQ?=
 =?utf-8?B?emdWby91WWJNTDQvbTQ2WFI1NzA0akpta0w2VUJPeGpXMWYyQm80ZXB6cVlV?=
 =?utf-8?B?MnZNSExsZVNoc1lBY0srOGVqWVpRZndoYzVTOElKSitCU04wa2JTbEdoYlBY?=
 =?utf-8?B?VDliS2tyZDBGMUlwcXgwcWtYL3o0Yis3NmNJWWdyS3RrLzczRE1RN0laMUtv?=
 =?utf-8?Q?TB9yQcND4ixRL31CFbWkAx6IB?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e9cfec42-f631-479b-2e9d-08de04b13f27
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Oct 2025 08:20:50.3020
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: a3o/EzXLMcal5Hhfc8Djr8l37xRmvBdgg22OLGZA1Z9hGTxzO8IHUYsyG3UpQh2o5nLPK9WOI7TzNbGKrjM7/A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB5829

On Fri, Oct 03, 2025 at 11:29:40PM -0400, Stewart Hildebrand wrote:
> On 9/29/25 04:41, Roger Pau Monne wrote:
> > I've had the luck to come across a PCI card that exposes a MSI-X capability
> > where the BIR of the vector and PBA tables points at a BAR that has 0 size.
> > 
> > This doesn't play nice with the code in vpci_make_msix_hole(), as it would
> > still use the address of such empty BAR (0) and attempt to crave a hole in
> 
> s/crave/carve/
> 
> > the p2m.  This leads to errors like the one below being reported by Xen:
> > 
> > d0v0 0000:22:00.0: existing mapping (mfn: 181c4300 type: 0) at 0 clobbers MSIX MMIO area
> > 
> > And the device left unable to enable memory decoding due to the failure
> > reported by vpci_make_msix_hole().
> > 
> > Introduce checking in init_msix() to ensure the BARs containing the MSI-X
> > tables are usable.  This requires checking that the BIR points to a
> > non-empty BAR, and the offset and size of the MSI-X tables can fit in the
> > target BAR.
> > 
> > This fixes booting PVH dom0 on Supermicro AS -2126HS-TN severs with AMD
> > EPYC 9965 processors.  The broken device is:
> > 
> > 22:00.0 SATA controller: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] (rev 93)
> > 
> > There are multiple of those integrated controllers in the system, all
> > broken in the same way.
> > 
> > Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
> > ---
> > Cc: Stewart Hildebrand <stewart.hildebrand@amd.com>
> > Cc: Jan Beulich <jbeulich@suse.com>
> > Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> > 
> > While not strictly a bugfix, I consider this a worthy improvement so that
> > PVH dom0 has a chance to boot on hardware that exposes such broken MSI-X
> > capabilities.  Hence I think this change should be considered for inclusion
> > into 4.21.  There a risk of regressing on hardware that was already working
> > with PVH, but given enough testing that should be minimal.
> > ---
> >  xen/drivers/vpci/msix.c | 50 ++++++++++++++++++++++++++++++++++++-----
> >  1 file changed, 45 insertions(+), 5 deletions(-)
> > 
> > diff --git a/xen/drivers/vpci/msix.c b/xen/drivers/vpci/msix.c
> > index 54a5070733aa..8458955d5bbb 100644
> > --- a/xen/drivers/vpci/msix.c
> > +++ b/xen/drivers/vpci/msix.c
> > @@ -675,6 +675,51 @@ static int cf_check init_msix(struct pci_dev *pdev)
> >      if ( !msix )
> >          return -ENOMEM;
> >  
> > +    msix->tables[VPCI_MSIX_TABLE] =
> > +        pci_conf_read32(pdev->sbdf, msix_table_offset_reg(msix_offset));
> > +    msix->tables[VPCI_MSIX_PBA] =
> > +        pci_conf_read32(pdev->sbdf, msix_pba_offset_reg(msix_offset));
> > +
> > +    /* Check that the provided BAR is valid. */
> > +    for ( i = 0; i < ARRAY_SIZE(msix->tables); i++ )
> > +    {
> > +        const char *name = (i == VPCI_MSIX_TABLE) ? "vector" : "PBA";
> > +        const struct vpci_bar *bars = pdev->vpci->header.bars;
> > +        unsigned int bir = msix->tables[i] & PCI_MSIX_BIRMASK;
> > +        unsigned int type;
> > +        unsigned int offset = msix->tables[i] & ~PCI_MSIX_BIRMASK;
> > +        unsigned int size =
> > +            (i == VPCI_MSIX_TABLE) ? max_entries * PCI_MSIX_ENTRY_SIZE
> > +                                   : ROUNDUP(DIV_ROUND_UP(max_entries, 8), 8);
> > +
> > +        if ( bir >= ARRAY_SIZE(pdev->vpci->header.bars) )
> 
> This assumes a type 0 header. For type 1 headers, bir values 2 and up are
> also reserved.

Right, but those BARs will be set as VPCI_BAR_EMPTY for type 1 headers.
The check here is to avoid doing an out of bounds array access, the
check for validity of the pointed BAR is done below.

> 
> > +        {
> > +            printk(XENLOG_ERR "%pp: MSI-X %s table with out of range BIR %u\n",
> > +                   &pdev->sbdf, name, bir);
> 
> Nit: placing the cleanup label at the end of the function and using 'rc' would
> make it more amenable to future uses.

The issue with that is that we then end up with a structure like:

    return vpci_make_msix_hole();

 error:
    xfree();
    return rc;

Which I don't like much because of the double usage of return (it's a
taste issue TBH).

My motivation for using a goto is that they are conceptually the same
error path, but we provide different log messages to aid in debugging
the issue.  Otherwise all checks will be done in a single condition.

Let me know how strong you feel about the usage of a label here vs one
at the tail of the function.

> 
> > + invalid:
> > +            xfree(msix);
> > +            return -ENODEV;
> > +
> 
> Extraneous newline.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Oct 06 09:26:50 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Oct 2025 09:26:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138011.1473801 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5hUD-0002o3-Br; Mon, 06 Oct 2025 09:26:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138011.1473801; Mon, 06 Oct 2025 09:26:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5hUD-0002nw-7x; Mon, 06 Oct 2025 09:26:29 +0000
Received: by outflank-mailman (input) for mailman id 1138011;
 Mon, 06 Oct 2025 09:26:27 +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
 <SRS0=ozxN=4P=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1v5hUB-0002nq-SC
 for xen-devel@lists.xenproject.org; Mon, 06 Oct 2025 09:26:27 +0000
Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com
 [2a00:1450:4864:20::636])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 885c5118-a296-11f0-9d15-b5c5bf9af7f9;
 Mon, 06 Oct 2025 11:26:26 +0200 (CEST)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-afcb7322da8so999837566b.0
 for <xen-devel@lists.xenproject.org>; Mon, 06 Oct 2025 02:26:26 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-146-38.play-internet.pl.
 [109.243.146.38]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-b4865a83e3dsm1087913466b.29.2025.10.06.02.26.25
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 06 Oct 2025 02:26:25 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 885c5118-a296-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1759742786; x=1760347586; darn=lists.xenproject.org;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=IJgcDdyGVvTFjWv0iuE6KatfeyOjg0CB6EtsxCvVEyg=;
        b=nRPC/TUfIUEBXqb3cMBffgIiDS+m9ClEvYZwtydnWNLGYENO4jhMcy4kkBmk0S694X
         Y9edI7icvSzR171QEZiUNDg54QO0SI8LNcAufWJFTyl5FhX0wEiJ0+2wbGU6eQH89MFq
         lke3hfonx5M91OW517hjputRlEaf6MV82mW4jzCcu7pTmJgHyCf/4gMqifKPFaiyzCef
         dDdSLlV8EL1ThgoB5W+iOuThV+xnne2GSpvRKJtkEk/nM6G+0xbCU8XwrqKehnDvYMxx
         hypyJG1k1NWFg2WotlNlbHWvqDo2l4K426CVL0RWZkQs8BsLSLFbFw1Y6k0jlY/sd/fT
         y2gA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759742786; x=1760347586;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=IJgcDdyGVvTFjWv0iuE6KatfeyOjg0CB6EtsxCvVEyg=;
        b=ND/jbwmMwIq6DJsF6U0a7KjV0M6hdYbAPVtHy3KuZCft1NmuFSydKlOC5vfscxJHCW
         mNeaIGhXAWAVRspXuOXxIHweC9xJoEau1pgNxDrHUL8dcBI2/V41SjZPcWmMn8kFlnb9
         xonLIfurafjeqjmNE5GA5OavemW23Zhp5O6bcoi4Gc3fOxU1dnjxQC+F7t+OlzOpmf35
         27Wuspbbt78wEekQGCyB8ui7N8jF+6udeoshpv4/QyH/9/YP1MePpt6+nGPzgO6kaZ1q
         B1iVCKlvRAiYW6IxCZmSXNXd0hNrjLvaHkbYdrIjeMTMAqVgkbD7uqq5Z1Dr9bb25xys
         nVMg==
X-Forwarded-Encrypted: i=1; AJvYcCUYZwyVldTsu/uP+LgT18llkJZv8Kjg+Bo+ZhSlbg31/sCidvNMYnda+7u1lfbl3r9sxGbiCmKRtdI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyqIM8gGf11BEAdeHqAqnTKvmmvhqNob3/3I0xog2PnucLoR8fY
	TJpmZSN3OtDvwAePs+cjNZvT/w2hpjqlpzv/y+Z5jKqZT9b/R0uoGGlY
X-Gm-Gg: ASbGncue5iFLa96ynBiqHIeoOpjGUHYBc6VpHXY/e2eKsXDhS/RXckPWNHAXsQlK20i
	WtcgaVCwpwk+PZ9MwM3kNi+EHcc3IIZKJDiQmWUwFf2h+ai6DC5IH91p5dko5l/d1on69FY59aO
	js3nHllEU70GmvwuXGdPaWfM/pQ37zNc+W2gGCx3TrZIbY1bRJi1PkfViYcLJ7Cf7otaBPBcbIh
	JTt1LDcTXwgDA77yr/WNuNNteSswkeFXMK1fnMeWe3c6cGbFO1NTDFJ+p6A97kZk/LY65o4kNm2
	9WbyWCqP3CKy+i7PGQLXs3NLXETHweyzlpA5YBjXZn+CCExcE3mHm22OsoL5DGWAi1SU45nLnDf
	2XZs4eRRtzZCATdbWiDFl5x/iJfcI6qMbTSdj0ITa2Psh1gCgYTDOkTOOIv3yrp0f97p93Um4Y6
	bjOAtTIZrnRixOl4biGRcVYc+o1BQ=
X-Google-Smtp-Source: AGHT+IGKa81DCOXLrASW4mqOJyGlVHRbZETH0IiikjenfFXHsixMezB+2OWvxxd4paGo69VshH3n1Q==
X-Received: by 2002:a17:907:3e13:b0:b33:a2ef:c7 with SMTP id a640c23a62f3a-b49c42769bcmr1478770766b.55.1759742785739;
        Mon, 06 Oct 2025 02:26:25 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------bg97jX0oY39QB76TPzt0lRjh"
Message-ID: <832a15bd-bc54-49b1-991e-3240702a4a35@gmail.com>
Date: Mon, 6 Oct 2025 11:26:24 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] libs/guest: don't use unsigned long as type for PFNs
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Jason Andryuk <jason.andryuk@amd.com>, Luca Fancellu <luca.fancellu@arm.com>
References: <20251006055939.27286-1-jgross@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20251006055939.27286-1-jgross@suse.com>

This is a multi-part message in MIME format.
--------------bg97jX0oY39QB76TPzt0lRjh
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit


On 10/6/25 7:59 AM, Juergen Gross wrote:
> Declarations of xc_dom_console_init() and
> xc_dom_console_set_disconnected() in libxenguest.h don't match their
> implementation in the library.
>
> Under arm32, xen_pfn_t is a uint64_t and wider than unsigned long.
>
> Use xen_pfn_t for GFNs in the library to fix that. At the same time
> change the parameter name of the implementation to console_gfn,
> matching the interface declaration in the header and reality (it is
> a GFN, not a PFN).
>
> Fixes: b6fc307b0b00 ("libs/guest: Set console as disconnected on resume")
> Fixes: 971b7d5ecbcd ("libs/guest: Set console page to disconnected")
> Reported-by: Luca Fancellu<luca.fancellu@arm.com>
> Signed-off-by: Juergen Gross<jgross@suse.com>

Release-Acked-By: Oleksii Kurochko<oleksii.kurochko@gmail.com>

Thanks.

~ Oleksii

> ---
> V2:
> - switch parameter name as well (Andrew Cooper)
> ---
>   tools/libs/guest/xg_dom_boot.c | 14 +++++++-------
>   1 file changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/tools/libs/guest/xg_dom_boot.c b/tools/libs/guest/xg_dom_boot.c
> index f51b6a78c8..420222cf37 100644
> --- a/tools/libs/guest/xg_dom_boot.c
> +++ b/tools/libs/guest/xg_dom_boot.c
> @@ -430,12 +430,12 @@ int xc_dom_gnttab_init(struct xc_dom_image *dom)
>   
>   static int dom_console_init(xc_interface *xch,
>                               uint32_t domid,
> -                            unsigned long dst_pfn,
> +                            xen_pfn_t console_gfn,
>                               bool clear)
>   {
>       const size_t size = PAGE_SIZE;
>       struct xencons_interface *xencons = xc_map_foreign_range(
> -        xch, domid, size, PROT_WRITE, dst_pfn);
> +        xch, domid, size, PROT_WRITE, console_gfn);
>   
>       if ( xencons == NULL )
>           return -1;
> @@ -445,22 +445,22 @@ static int dom_console_init(xc_interface *xch,
>       xencons->connection = XENCONSOLE_DISCONNECTED;
>   
>       munmap(xencons, size);
> -    xc_domain_cacheflush(xch, domid, dst_pfn, 1);
> +    xc_domain_cacheflush(xch, domid, console_gfn, 1);
>       return 0;
>   }
>   
>   int xc_dom_console_init(xc_interface *xch,
>                           uint32_t domid,
> -                        unsigned long dst_pfn)
> +                        xen_pfn_t console_gfn)
>   {
> -    return dom_console_init(xch, domid, dst_pfn, true);
> +    return dom_console_init(xch, domid, console_gfn, true);
>   }
>   
>   int xc_dom_console_set_disconnected(xc_interface *xch,
>                                       uint32_t domid,
> -                                    unsigned long dst_pfn)
> +                                    xen_pfn_t console_gfn)
>   {
> -    return dom_console_init(xch, domid, dst_pfn, false);
> +    return dom_console_init(xch, domid, console_gfn, false);
>   }
>   
>   /*
--------------bg97jX0oY39QB76TPzt0lRjh
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 10/6/25 7:59 AM, Juergen Gross
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:20251006055939.27286-1-jgross@suse.com">
      <pre wrap="" class="moz-quote-pre">Declarations of xc_dom_console_init() and
xc_dom_console_set_disconnected() in libxenguest.h don't match their
implementation in the library.

Under arm32, xen_pfn_t is a uint64_t and wider than unsigned long.

Use xen_pfn_t for GFNs in the library to fix that. At the same time
change the parameter name of the implementation to console_gfn,
matching the interface declaration in the header and reality (it is
a GFN, not a PFN).

Fixes: b6fc307b0b00 ("libs/guest: Set console as disconnected on resume")
Fixes: 971b7d5ecbcd ("libs/guest: Set console page to disconnected")
Reported-by: Luca Fancellu <a class="moz-txt-link-rfc2396E" href="mailto:luca.fancellu@arm.com">&lt;luca.fancellu@arm.com&gt;</a>
Signed-off-by: Juergen Gross <a class="moz-txt-link-rfc2396E" href="mailto:jgross@suse.com">&lt;jgross@suse.com&gt;</a></pre>
    </blockquote>
    <br>
    <pre>Release-Acked-By: Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a>

Thanks.

~ Oleksii

</pre>
    <blockquote type="cite"
      cite="mid:20251006055939.27286-1-jgross@suse.com">
      <pre wrap="" class="moz-quote-pre">
---
V2:
- switch parameter name as well (Andrew Cooper)
---
 tools/libs/guest/xg_dom_boot.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/tools/libs/guest/xg_dom_boot.c b/tools/libs/guest/xg_dom_boot.c
index f51b6a78c8..420222cf37 100644
--- a/tools/libs/guest/xg_dom_boot.c
+++ b/tools/libs/guest/xg_dom_boot.c
@@ -430,12 +430,12 @@ int xc_dom_gnttab_init(struct xc_dom_image *dom)
 
 static int dom_console_init(xc_interface *xch,
                             uint32_t domid,
-                            unsigned long dst_pfn,
+                            xen_pfn_t console_gfn,
                             bool clear)
 {
     const size_t size = PAGE_SIZE;
     struct xencons_interface *xencons = xc_map_foreign_range(
-        xch, domid, size, PROT_WRITE, dst_pfn);
+        xch, domid, size, PROT_WRITE, console_gfn);
 
     if ( xencons == NULL )
         return -1;
@@ -445,22 +445,22 @@ static int dom_console_init(xc_interface *xch,
     xencons-&gt;connection = XENCONSOLE_DISCONNECTED;
 
     munmap(xencons, size);
-    xc_domain_cacheflush(xch, domid, dst_pfn, 1);
+    xc_domain_cacheflush(xch, domid, console_gfn, 1);
     return 0;
 }
 
 int xc_dom_console_init(xc_interface *xch,
                         uint32_t domid,
-                        unsigned long dst_pfn)
+                        xen_pfn_t console_gfn)
 {
-    return dom_console_init(xch, domid, dst_pfn, true);
+    return dom_console_init(xch, domid, console_gfn, true);
 }
 
 int xc_dom_console_set_disconnected(xc_interface *xch,
                                     uint32_t domid,
-                                    unsigned long dst_pfn)
+                                    xen_pfn_t console_gfn)
 {
-    return dom_console_init(xch, domid, dst_pfn, false);
+    return dom_console_init(xch, domid, console_gfn, false);
 }
 
 /*
</pre>
    </blockquote>
  </body>
</html>

--------------bg97jX0oY39QB76TPzt0lRjh--


From xen-devel-bounces@lists.xenproject.org Mon Oct 06 10:28:32 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Oct 2025 10:28:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138040.1473820 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5iSF-00025w-Q2; Mon, 06 Oct 2025 10:28:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138040.1473820; Mon, 06 Oct 2025 10:28:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5iSF-00025p-Mv; Mon, 06 Oct 2025 10:28:31 +0000
Received: by outflank-mailman (input) for mailman id 1138040;
 Mon, 06 Oct 2025 10:28:31 +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
 <SRS0=hel7=4P=amd.com=Alejandro.GarciaVallejo@srs-se1.protection.inumbo.net>)
 id 1v5iSF-0001qe-4j
 for xen-devel@lists.xenproject.org; Mon, 06 Oct 2025 10:28:31 +0000
Received: from BL2PR02CU003.outbound.protection.outlook.com
 (mail-eastusazlp17011000f.outbound.protection.outlook.com
 [2a01:111:f403:c100::f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 335bf249-a29f-11f0-9d15-b5c5bf9af7f9;
 Mon, 06 Oct 2025 12:28:30 +0200 (CEST)
Received: from SJ0PR03CA0047.namprd03.prod.outlook.com (2603:10b6:a03:33e::22)
 by SA5PPFE3F7EF2AE.namprd12.prod.outlook.com
 (2603:10b6:80f:fc04::8e6) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9137.19; Mon, 6 Oct
 2025 10:28:20 +0000
Received: from MWH0EPF000971E4.namprd02.prod.outlook.com
 (2603:10b6:a03:33e:cafe::e5) by SJ0PR03CA0047.outlook.office365.com
 (2603:10b6:a03:33e::22) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9182.20 via Frontend Transport; Mon,
 6 Oct 2025 10:28:13 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 MWH0EPF000971E4.mail.protection.outlook.com (10.167.243.72) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9203.9 via Frontend Transport; Mon, 6 Oct 2025 10:28:18 +0000
Received: from xcbagarciav01.xilinx.com (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Mon, 6 Oct
 2025 03:28:17 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 335bf249-a29f-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Yvv71YbjrflPt61bq808CArG9Za1bW8/8dXChAHkzUJX92OFcxFY6u/79QFuOBBAfO1nOXgjIN169C4F8n9IktRC0e705qvGM66qId3rHSHnZY/X/Tyq2QW7s9ys+CUN2+PQSXS7MkIZ7+3n2k5tU0UKJj1iwCwjEocqyj94S8rKfd9lOOSQ4Tt3/GbP7bTN8paTkQl8dULpP7KFU9KxigrVEJoMtXBAupM69jomTyfffZMFbAowKRzgQ6EhPK5huXn5TTuGLv8WpbYX1rYW1kRAaa2WMVoMcKTp0OjOetXtho3uNsjBTMsPQhh4KCG9ni05WuhlAcyv/pFqmJ1F1w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XsMXiiGH9rBLvTUq/4/suDkB8nbjPOIgBDGiIXrKsHk=;
 b=p9UKVgyqkaa0n5S0/CXrGRFAl2IUmq4wmR8St4I7/siXXcaR1JeN9x8UJCIMUFiaWEy/G6hJNhQ7SCBnkjrL/6TwwS9CPUPDVaq1d+IJSwTDkcSp8edzJg8LZCX3YhnNyhUAjkz30XSygfRKzxsTTPPReJ//oeCsJmkuf22jMdIWAxHzko+ygBC9ND/Ohbrn73HYHthY2JjF9LNbm6AP1MAdtfnSFZclu2xsDsNVLiVNK07MQoCr0sLjJ4ESllZMwQw85ywOLAVm6coEcJCkUr4GcTG5bPZEeZ6xtrqE186ayjc79c1FyOdj6Ic4G1M1YRQFf3SYPU40WVB4KWljXA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XsMXiiGH9rBLvTUq/4/suDkB8nbjPOIgBDGiIXrKsHk=;
 b=kT4ZJdM/FnBmYfvZ4l4i9hCoDxCoFZyPOoJ5QLK44z6Mler7oQHSMRtCrb4klcx+fYJPWTvbNvsCNq8917Ubg/mj5omt6r1g2geIXSeSbypqOIA5No7pL4+v2UMFAeiPnjOcGdVbwi8pANUMyt8wEeGLuQo2fBEgjpwBGgWlauo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Alejandro Vallejo <alejandro.garciavallejo@amd.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Roger Pau Monne <roger.pau@citrix.com>
Subject: [XTF PATCH v3 3/3] x86: Poison hypercall page with `int3` rather than `ret`
Date: Mon, 6 Oct 2025 12:25:58 +0200
Message-ID: <20251006102743.3907-4-alejandro.garciavallejo@amd.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20251006102743.3907-1-alejandro.garciavallejo@amd.com>
References: <20251006102743.3907-1-alejandro.garciavallejo@amd.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MWH0EPF000971E4:EE_|SA5PPFE3F7EF2AE:EE_
X-MS-Office365-Filtering-Correlation-Id: a0212e3d-5bfa-4b0c-1871-08de04c31159
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|376014|1800799024|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?VXJsM1M5YlcvNTlYazBIdzJKUEFqY0xyOHMzTk9TWGpQbzRrZS9UQ2VzNHRD?=
 =?utf-8?B?ZUFwQ2tzS2pFMU1HVDZDNGdVUE1oSVUzdGVUaGZ5cStSblVJSlNiS2k1SWla?=
 =?utf-8?B?WFpoRTY5c2ZOUWJLU2tpRVFCb2lKUEtXMlFFZmMzUEtwME9MZzFOS0ZyeDRq?=
 =?utf-8?B?cmxhS29XZmVsdWY4L2VYOWF5UTRKbTZjTno2MDZYUmtZZVNuWWw3Q0RMQTlY?=
 =?utf-8?B?RHhzSjBqSEw2Y3U5TXdNT2g1aThOZWxxZGU5RWtTdFMyZnExQndCQWhxSUsr?=
 =?utf-8?B?b1NFL2x1ejlMU2hDZjhoYVljbVB3Y0MreFJVZlFsbjdQMElaa2VDa25JdUp1?=
 =?utf-8?B?NWREdlpEWG5sT1Q4S3J6Zm4xQURTT2lTb29GZldhVnRReTBwc1hPdlFRaVpt?=
 =?utf-8?B?ZWl6L2hXSzRQVmxOM1AvQjFrZDBpNEUxeE5GcCtrUGxRdXg1NW9Td3NBVXVv?=
 =?utf-8?B?SU03TzQzLzZDY05DTEhubTdUMjBPVlZ0eXZwbFl5Njh2Wm14TWVCZ3U2c2lw?=
 =?utf-8?B?bFdZclBaTmEweDFYVGpiT2xzUkN6WEpXclhUT293REIwanEwZElPYVgvQmow?=
 =?utf-8?B?Mi9jZTRreTkwM1R4OFhuTXZjQjFpV1dJbkZ3UkNMcGd1aUJ5ckhKRFR1aEZ1?=
 =?utf-8?B?RXI2WjhScjU2d0VIYk91VWpZOCs5T3JmdktsRHNHTzFWeHowN0tzTEc5WC9y?=
 =?utf-8?B?VHlrNURSV2IvUjFhclo0QitnNFpBRkdxOWhwUFNmWUZRdlRyV1JydGxFbit4?=
 =?utf-8?B?T3diYis1eXVpS0YvTmpBZ3AwVU1BZE1yUXZPSWlpNEo3VDhFbnU0Z2VtWDlr?=
 =?utf-8?B?Y3RqZGhTOE5ROW5tN2RHT1pydGlPeUpaU0ZqaDhSOHhWbmZST1FORUxxT1Bj?=
 =?utf-8?B?OGFyQXZ3aGxlUmxZTmU2MzZkK3hBc09RcndMUmY1allUVm4rVHVMbmtRc3B1?=
 =?utf-8?B?SVdydTJXUlViQXlPelhYaHpYbWdET2ZSWXp1TXIvcitWckFPM052UERWblFv?=
 =?utf-8?B?LzVhZ1N0NVh2dVNGZUxSV1RJWk0vdG1aMnU2U2VjK2QvY0xlOXhUMzlIVFJy?=
 =?utf-8?B?R2p6YlM1T1FRZHlEN1ZTVTJNYW8zUzQwUUJUUmxRT2E4SFp2MG1zZ1ZxR0FT?=
 =?utf-8?B?c2p6QTByTFpRdTZ2VTY3QitpdUZVYlhndVQ5cS9JMmgvQ2ZrT3VITEhjbVFh?=
 =?utf-8?B?L0hyOFhaLzlmZlFNbFI5SUJYbnJRUWh3VVlvaVBwaUZNdngxZkhJSUQ1OWRI?=
 =?utf-8?B?NmtlNHBTT0E3Z3JUd2ZudTg2K3YxWGJxNGVhVEk1c3NVeVN1VWZvdCtZSERV?=
 =?utf-8?B?RXplQ3pSZVRJUSs4a2dJUXN1MHNHZGJsN0JreG9Ya1pTNHpNUVlISDRoajcw?=
 =?utf-8?B?d0V6QnhvQ2YvdEVuRzdHc0k1NFMrZWxmZDg2ZmE2V0FoZDBsNXhucHdXcTYr?=
 =?utf-8?B?Mk43UVRVZkNxS1hNQVR0Ujk3dEpTU2FmMU1FUXhSL1FQb3ZBTlBRZXpsckc1?=
 =?utf-8?B?b1BDRWltVVM2MVh0MWpnb2FZWmwyWk1wSEkxc05nQk91cmYvVUdialVlVjdr?=
 =?utf-8?B?TklXRklVelpnejdFOXBOK1ZEZkh1MzJlSjBySjhITXZONzdnZ1dtZEt2SnZ2?=
 =?utf-8?B?SUZLYkREQ3pVSlJVNHBVTTlOcERlZFdZU09nY0JoWStzekZXQ2pVMVJodzJQ?=
 =?utf-8?B?bHB3ZnQ5Z3VOcmdRVVJPdXF3R3lBTWwrem1NK1VOSlF3VDhLRXdsWlp0QXBm?=
 =?utf-8?B?S1F0MzNudEhncllQVTVWemFmbTRHN044WStUZkYwVS9ha3N2TkJkaU1QVjdH?=
 =?utf-8?B?aFNORjZnUFVZeTVycWN3TW9tTU1VR0R4eVJMQmhNaXJiUEhWVzUyK3F2MzNp?=
 =?utf-8?B?Z0JlOUxKWUw5UktRQW12Mys2QmlNTXlEVFkxeDgxWnZWbHhEc0NZaUtyaU5P?=
 =?utf-8?B?Tkc0K2Vwc1o0RE5JWm9ORGx4cmltenVvQWFndm5EUlFjbDZoR201dXlxTEJr?=
 =?utf-8?B?dEhZb0hGdHJQUFVnVlMwcTJ3ZlYySW90MU5SVjIwUy9WZXM3WVNrcFZ2R2Zt?=
 =?utf-8?B?SVgrei9Vd3F4YW95Y3d4TlROaW5pYkdRdVI3Ti8rdXVXanY4R2t5VEFERUx2?=
 =?utf-8?Q?ipJE=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(376014)(1800799024)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Oct 2025 10:28:18.8052
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a0212e3d-5bfa-4b0c-1871-08de04c31159
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	MWH0EPF000971E4.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA5PPFE3F7EF2AE

Making a hypercall with the hypercall page absent should not
have a happy ending. At best it's just weird, but at worst it might
allow an otherwise failing test to pass.

Suggested-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
Signed-off-by: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
---
`./xtf-runner -a` passes

v3:
  * New patch based on Roger's suggestion
---
 arch/x86/hypercall_page.S | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/hypercall_page.S b/arch/x86/hypercall_page.S
index cc6ddc2..de0a991 100644
--- a/arch/x86/hypercall_page.S
+++ b/arch/x86/hypercall_page.S
@@ -6,8 +6,8 @@
         .p2align PAGE_SHIFT
 
 GLOBAL(hypercall_page)
-         /* Poisoned with `ret` for safety before hypercalls are set up. */
-        .fill PAGE_SIZE, 1, 0xc3
+         /* Poisoned with `int3` so a stray hypercall is patently clear */
+        .fill PAGE_SIZE, 1, 0xcc
         .type hypercall_page, STT_OBJECT
         .size hypercall_page, PAGE_SIZE
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Mon Oct 06 10:28:32 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Oct 2025 10:28:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138039.1473811 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5iS6-0001qr-JS; Mon, 06 Oct 2025 10:28:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138039.1473811; Mon, 06 Oct 2025 10:28:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5iS6-0001qk-G6; Mon, 06 Oct 2025 10:28:22 +0000
Received: by outflank-mailman (input) for mailman id 1138039;
 Mon, 06 Oct 2025 10:28:20 +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
 <SRS0=hel7=4P=amd.com=Alejandro.GarciaVallejo@srs-se1.protection.inumbo.net>)
 id 1v5iS4-0001qe-Ll
 for xen-devel@lists.xenproject.org; Mon, 06 Oct 2025 10:28:20 +0000
Received: from DM5PR21CU001.outbound.protection.outlook.com
 (mail-centralusazlp170110009.outbound.protection.outlook.com
 [2a01:111:f403:c111::9])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2d438150-a29f-11f0-9d15-b5c5bf9af7f9;
 Mon, 06 Oct 2025 12:28:19 +0200 (CEST)
Received: from SJ0PR03CA0001.namprd03.prod.outlook.com (2603:10b6:a03:33a::6)
 by CY8PR12MB7097.namprd12.prod.outlook.com (2603:10b6:930:51::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9137.14; Mon, 6 Oct
 2025 10:28:13 +0000
Received: from MWH0EPF000971E6.namprd02.prod.outlook.com
 (2603:10b6:a03:33a:cafe::79) by SJ0PR03CA0001.outlook.office365.com
 (2603:10b6:a03:33a::6) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9182.20 via Frontend Transport; Mon,
 6 Oct 2025 10:28:12 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 MWH0EPF000971E6.mail.protection.outlook.com (10.167.243.74) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9203.9 via Frontend Transport; Mon, 6 Oct 2025 10:28:11 +0000
Received: from xcbagarciav01.xilinx.com (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Mon, 6 Oct
 2025 03:28:10 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2d438150-a29f-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=TZ5Cz2qcfPPn3KyPO+4YgWckrWtfphKGyOsEf8/WYnDeLa/MtFgyMHq5bdHkHTZvwNRFaNVXt84Ttm1E1+kdQZmF4datHwLn3O8JfYJQyKbHD2J9dmQVxiktHmi7jsmhz2gGVnV8u/VF4hBD0RFRCABxjRSlAmC2+kwt5GsR+jxDwMxf9FQeF/AbBol7xlD62DqhQzC9URfaD3RQsUpgC62uLTceTWVIGYIKzWmI65GKqWN0zzur8ZUz+jZiBRcdX8+JvgWuxXEF+ZKbTCFhMyz4/72W8wFlIfLppi7hlJEDNtZhDw3MR4ieIhlQKku38XBKL2kuQ9oeTjkP6zlV1w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Dr/SpR25R6LxwnFP2DHlTHWA9mjTBX2dtfDdenGL0XA=;
 b=a1EeXMr3/SwYJEn5OIKPo6OhYGKZ8TR6yF4t1LTda+vkuakFlWqVixNFTh6Poy9/g8Ojjr2GANNPjGPS/4R74Bmert5OBeqdyZxqiAOGhAN2TaZPVdHq5hJFx3BuWQWZpTXiEsFi9FtAnwUfVG4JegFQlT8B3i86AxebbQcuXJqjEnecf+rSMQC07aArQxntvqFPra3pC/P7VmFrZRGBunnNVH+Xoeb+QmgI0abmapqMz85nEzS5jL83kYTBq+QJTUABy77S5q84W5sYtb3ztRdc7BzPiQ6ZAh5mebDtkofPrVEb3F3+f9O/RHE2CRSVKE3zkxsoID1mD56zxwCGdA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Dr/SpR25R6LxwnFP2DHlTHWA9mjTBX2dtfDdenGL0XA=;
 b=kPkBWmz9WY4dbPe7d4O8zALxI8MFgnP+8Y2pvP3nG7zF9eWKsZbxjfQRHw7h+QvzJsTVBjGtmId3sqvk9MNcCFRDC3wyjzsrNypbb7wJI2NVNpRNOdGRqhqzndWRYnuOaxR0IixRe3RDDZ0hILJwiiS1fkId+qHL86aSG3jW2mY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Alejandro Vallejo <alejandro.garciavallejo@amd.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Roger Pau Monne <roger.pau@citrix.com>
Subject: [XTF PATCH v3 0/3] Remove Xen as a hard requirement to run XTF
Date: Mon, 6 Oct 2025 12:25:55 +0200
Message-ID: <20251006102743.3907-1-alejandro.garciavallejo@amd.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MWH0EPF000971E6:EE_|CY8PR12MB7097:EE_
X-MS-Office365-Filtering-Correlation-Id: 6f58ee25-56c5-4f5a-f0ba-08de04c30d07
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|36860700013|82310400026|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?dUtiRFkvYVF1MzVxV3lGMGtBbG0wdlp3cnlLUHZSUDg4c2FaSHVqbWFMSVBl?=
 =?utf-8?B?NXpOSHAwaWtlMCs4OTlEVHNKN2ZFME42OWFOakNNKzZLalpUelhOOGxYVFBr?=
 =?utf-8?B?Ny9tOVcxWjNjM2d2S2FGODh5SmxubW95MTZudmFVYVh0TXBiRFBiR0pVQjAw?=
 =?utf-8?B?SHpkMEwreVFxejM1SEVoWS82eXFBdWJ3MERNaHh1SDVFRi9ka0R1NE80MkRV?=
 =?utf-8?B?aUpGWEN4dGhuSHcvcU9uS2V1RURoczdmeXJlaXYwdm9RVHVGNEZzNHRSM2RX?=
 =?utf-8?B?S3YzYVFyR2ZaWTNZVVplWDNSUDNMZFBLeC9oSmVvNjNQVTgzS0crbVJqMmdD?=
 =?utf-8?B?MDdaQk5DalpMK0poM3JMWEdlakVwUUJuMzNadUpxN2NzTmFyeFVoRlYybGhB?=
 =?utf-8?B?UDIyeWh3dnd4N2dROW5qZVNIdUdwbUtGZXRmUVIwZDNZNld1YUtCWWRxVHJX?=
 =?utf-8?B?UDRRenlQQkU4d09GREU5eGFXZ1NlWk9rNjVMeSsrRVhOTHQrcXUyNDhlUitW?=
 =?utf-8?B?aTFaN2F5U2FKamNNSXdaajBBTTY3cVE5MmNmQzA2M2JBZndidVBodlBkRVNQ?=
 =?utf-8?B?QUhyTDFLN1UwSTg5ZXNPUUtvU1d4S2xuTXRmS3pnQTZHMWNEQ0dOTFdNL0tT?=
 =?utf-8?B?WFUwcWIyNEoxZnJ3cnNlU3A1SUhDTzJQdkhaNW9SSjEybHcvdWMvSGoyNURt?=
 =?utf-8?B?Y25UVWRobmE0ZUE3aE9ISXhqWS93MmJNdllSWnROM3hQRjY2b0xIdC8zTDFI?=
 =?utf-8?B?ZXVhalRQc3MzTjk4ZEhSdU1zdUZKdWo0QWJIMHkwNUZENE01V083NGh0MUpL?=
 =?utf-8?B?UjZvcEpyc085NU9pV2xYNXJYbEhkR0JYVjROeGhFbTFZYnlQbkVSZGdhdTZ6?=
 =?utf-8?B?ZDQrczBRcWtzenpWd2Rpb2s0eWZheW1yKzlwS0tCeUFLY3NMKzczcnNBMWVX?=
 =?utf-8?B?Wkp1eFJFRytuWnQ0VU4wSWVxYnlSQjFOczYxaERMTVlJRmE2N25GN0xyTWNi?=
 =?utf-8?B?MGN3ZXRTMTM5TlJqTS9KQVdKdHhqZDlwYmxqcUxCdENpSy9QZkNTejlUc2M1?=
 =?utf-8?B?Qy9kUy9jOC9uUXVTaW81Q0dzd2tiQm84V1ZmNGQ4aFV5Sk5oRW1YZWQxbDFx?=
 =?utf-8?B?WEZwREpqSjN0RytzbkVzNUFlT0RMYVpZWllacS9HS3UySmdJNHNTRXRzdHNo?=
 =?utf-8?B?UmQySVBwejE3RWdqV1lkYnVyV1duKzZDVCtEUktEWW0vN3ZJcFR6Z1RIbG12?=
 =?utf-8?B?elFwUUQ0alB4RDNhT3V4T3lhUGt3K1owVUxJbGtqWFpzU1BDNTJuTTAvanNM?=
 =?utf-8?B?VEd4elNLQXlTZlFOcGdPTldjREJzYzhUeFBvMjVSV0ZENXNPcTJNZldDeE0y?=
 =?utf-8?B?QkRNYjYrYW1YNHhuS2tyK3c2UnNtbmFnRjg4NVh3WGY4Yjg3eDJtaCtxZlJN?=
 =?utf-8?B?K2hYcjNoa2c2eDdzNFI0blNwNCtucUExR1lNTEhOZ0NqSGx5RGlXb1FUOFRK?=
 =?utf-8?B?Rmc2cytyY1lNNE9iczB5N3Y3enZaVDZnNkREc2hkTjZnSlcwbExDTUpEeVJv?=
 =?utf-8?B?bWtQdjdtT3FmeVZtNld0ZW1QT2VWMURWa09sbm16cU52WEhOQkdYWUtkUjU4?=
 =?utf-8?B?dUlCYmdmVVZVenNFdndkdXBwbXFFYmNkQXFNN0c2Rk95T2MxMnphWkt4YnZq?=
 =?utf-8?B?dkNoVElkYTBoazQ4L0ZRVGVMK25DbW0zZGt6YXlQTGpKbDBuTGxOR0h6K1lP?=
 =?utf-8?B?UmpOc3Z3dHRHUUw1blh4K0RRa3Z2TVRCdHY0OG9QcitMcXFLZFBkV0xoSUR1?=
 =?utf-8?B?Skw1NEo5R1EyVTM1TDRiblhuSGtzcGFPS1ZUVDBjeG5hOGxEYU9ramtSZVpS?=
 =?utf-8?B?bUQ4SjBWNHlYdkhoSUsySy81MGlYazZ3RGdzVzhISi9hQTVZNkk0d2lzcjFV?=
 =?utf-8?B?cHJTSkZJUnM5V2JFVUtxZnRqVWxaRDRGbmJzdnJSaXhyVXhwV1hRYXZTakJr?=
 =?utf-8?B?OWR4L3cydk5OclVEaWxaY0xTZFdnZ2VheDYreVFrKzRDYno3aCtPT0JtZ0ll?=
 =?utf-8?B?dGVtVEh0cDREVmRKamY5MkJyR3VUWkpBYlhqdGpYR2hwdmVOUk1tRXg2YnJ1?=
 =?utf-8?Q?Zwr4=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700013)(82310400026)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Oct 2025 10:28:11.6161
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6f58ee25-56c5-4f5a-f0ba-08de04c30d07
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	MWH0EPF000971E6.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB7097

Hi,

This version includes gating access to the hypercall page on shutdown through
a new `cpu_has_xen` global boolean. I also implemented Rogers' suggestion to
poison the hypercall page with `int3` (opcode 0xcc).

Cheers,
Alejandro

Alejandro Vallejo (3):
  x86: Remove Xen as a hard requirement to run XTF.
  x86: Allow exiting QEMU in TCG/QEMU
  x86: Poison hypercall page with `int3` rather than `ret`

 arch/x86/hypercall_page.S     |  4 +--
 arch/x86/include/arch/cpuid.h |  2 ++
 arch/x86/setup.c              | 55 +++++++++++++++++++++++++----------
 arch/x86/traps.c              | 15 ++++++++++
 common/lib.c                  |  2 +-
 common/report.c               |  8 +++--
 include/xtf/framework.h       |  3 ++
 7 files changed, 68 insertions(+), 21 deletions(-)


base-commit: 453490df6f65fb503a39b1bddf0093441eece9ae
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Mon Oct 06 10:28:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Oct 2025 10:28:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138042.1473831 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5iSI-0002LV-11; Mon, 06 Oct 2025 10:28:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138042.1473831; Mon, 06 Oct 2025 10:28:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5iSH-0002LO-U2; Mon, 06 Oct 2025 10:28:33 +0000
Received: by outflank-mailman (input) for mailman id 1138042;
 Mon, 06 Oct 2025 10:28:33 +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
 <SRS0=hel7=4P=amd.com=Alejandro.GarciaVallejo@srs-se1.protection.inumbo.net>)
 id 1v5iSH-00025a-0a
 for xen-devel@lists.xenproject.org; Mon, 06 Oct 2025 10:28:33 +0000
Received: from PH8PR06CU001.outbound.protection.outlook.com
 (mail-westus3azlp170120001.outbound.protection.outlook.com
 [2a01:111:f403:c107::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3054a3ff-a29f-11f0-9809-7dc792cee155;
 Mon, 06 Oct 2025 12:28:25 +0200 (CEST)
Received: from SJ0PR03CA0029.namprd03.prod.outlook.com (2603:10b6:a03:33a::34)
 by SA0PR12MB4446.namprd12.prod.outlook.com (2603:10b6:806:71::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.20; Mon, 6 Oct
 2025 10:28:17 +0000
Received: from MWH0EPF000971E6.namprd02.prod.outlook.com
 (2603:10b6:a03:33a:cafe::8f) by SJ0PR03CA0029.outlook.office365.com
 (2603:10b6:a03:33a::34) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9182.20 via Frontend Transport; Mon,
 6 Oct 2025 10:28:17 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 MWH0EPF000971E6.mail.protection.outlook.com (10.167.243.74) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9203.9 via Frontend Transport; Mon, 6 Oct 2025 10:28:16 +0000
Received: from xcbagarciav01.xilinx.com (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Mon, 6 Oct
 2025 03:28:15 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3054a3ff-a29f-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=l7RU2Xez19v92gri4TwOsOVgGOwThejfxJzqT+cDi7zsowC4/ITSLWXDN1+uKQ7m2LJF+mrWsKdi/ZigxVoppSvJ3kQ1ywMvBfZ1rwJNSOBKw8hZM0smvJAEQaAmxRnwA1vKnpntJp6PHeCT1EUHq+nQEAmmhHnthbWuN5v+WF9y+M8m8umCm80hN3jroijg+PkVMltcHotPf9B9YKmXLZSlalJVR31ALOPY/92Ae4HbrYtRwoeeCf41mPt9k1lx/y4iaJKZIFTd4a11vzTx6NxeAeaDz300ijaxH34XCnrQWiJsn3VQ4b0M81KB5Sjh7C+fZFqvAVgSAXUUcD107Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fLCpUEK0V9qedPMxM85zA4whQVIbTmvcxPg6YTqoMRQ=;
 b=JrJuTxFdsV8AnoiGk1EmD+fCsJW3NhHYxfne2c6kjRsA6NR8ZNWRKa4fEMzf6lOIEw4jgadn9wTrP6sfCjPyEMb3fAWIotpGz+SBTkXE+/gTi+JdCoFTDnn+rfDDubb+PBTH/dKfSbJrp1694MjGSjfGiYka/KTilZRCVB6LBT9eD7+2pRmhRKocve+pvrqiLpeZsr2EoPbRfh28LQgtKGDvkA5NSiXeOjZS7hgoZS/n+zMqk9OZpxUDBiNORgm25Xb84JSY15Clofu3pKSbgOMxzQN4CKQcAf6yZyJThI3PyrmuwCVmhLlVb2kag2p89dT02PpsL8CucgxXCKKyag==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fLCpUEK0V9qedPMxM85zA4whQVIbTmvcxPg6YTqoMRQ=;
 b=qbEWhTj0lMn8ijX8b1anO+PVmb3bsNRgVzuqIArjAuKO9YIDlmzmUWZ2ufmfoOVqouexpYQcv8BamNbl1+vDXTGadddP+S9TT2v4+G+Hbqz2a9QFktkyxcJM/jxKulejVAkJ612Xn1CP38Ac3JrzUjDSDh9foYESG7SscaX/034=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Alejandro Vallejo <alejandro.garciavallejo@amd.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Roger Pau Monne <roger.pau@citrix.com>
Subject: [XTF PATCH v3 1/3] x86: Remove Xen as a hard requirement to run XTF.
Date: Mon, 6 Oct 2025 12:25:56 +0200
Message-ID: <20251006102743.3907-2-alejandro.garciavallejo@amd.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20251006102743.3907-1-alejandro.garciavallejo@amd.com>
References: <20251006102743.3907-1-alejandro.garciavallejo@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MWH0EPF000971E6:EE_|SA0PR12MB4446:EE_
X-MS-Office365-Filtering-Correlation-Id: ede5ef36-146c-4e2c-378a-08de04c3102a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|82310400026|1800799024|376014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?d/e9+S8y8YLomlTBMo3qG8Pg49daU/DIo/BrMXF86TZW0/Yl6aS++9u33QZi?=
 =?us-ascii?Q?lz/F3YmQGDUwMPVbu2jpX2m1Z0aFNnp6tU+pPPIaPFOhnhZWMTt92foexzSN?=
 =?us-ascii?Q?O308M/DTF0qZoyJ5BjM6L0OdITp7/oG1E5rrGHBW463CdD1+5dVsmVLEI0sz?=
 =?us-ascii?Q?Bif7Lf9s0ByTLPkKYzTRffraKoJxWXPGy2FgoYc+xVoGEQT8eSOrgXJWahuc?=
 =?us-ascii?Q?ZNw5KbRvw5tW/I1Ecb2RPJ0J0+ey3uq8rVzWNc1VQ0dA+kDqtfSHuqt2v3Br?=
 =?us-ascii?Q?1AHUWAsKSdUaEVkKQeJqJq6wddebEggcV0+1kzzl2oX2WTMJmMHd7TF2SwSe?=
 =?us-ascii?Q?90BHivIH57Jv730ZiQ+ka4Kcu6RZ2k2KXLy9/05GpnUjKFwFrMtoAw7OU8nZ?=
 =?us-ascii?Q?cZH6qbqftYo+So3TANf4cOEgMx2s4wzD/GaUG+xe+hZ+HJWT3Qx3UDF1Ar8Q?=
 =?us-ascii?Q?5evkJeolBSzH3d2iPfzOAHZ9aATA6nfHqz1i322gPyq9IL5ceh9+7P/dYw6q?=
 =?us-ascii?Q?NGWypnRp/dDOA6Syac/EhEVfoc8u1leKJRrHCM8RpleY/f4A0VEYo4jDpuZX?=
 =?us-ascii?Q?lsLoPPwDnLecRvtqWqsiHQKnxj+nSlF/ZbexRFTUlYCAgK8xJfuaMqwGDXZO?=
 =?us-ascii?Q?GqIR/qfzb0GHbYLdIbHkmtlWbT4UiWAF9ywDObVR+ERU7ZOXg93uormLX+hV?=
 =?us-ascii?Q?E6IWNNg2XDBVUTja6oPuQhKsex8SZtMPZN/+bPy2mrcVYvOGeSt/apxJQNt4?=
 =?us-ascii?Q?eMwY3hN2kNN9FUVXNfvRWqDIJ/cqpOkGwY44zAMB5Aayh396RDfrtNtvRRta?=
 =?us-ascii?Q?ORIY8DkX+XrIk1L2JFTXjN0EOkdtPtV50G8yEiPYDQ6hiwk08+3jQ3lpDXj8?=
 =?us-ascii?Q?AA78A1lHZUcmXYZDvO8t8eYEveziFK4EJ2Pd9hbVs0crWF8VZaiL2YkSBMCR?=
 =?us-ascii?Q?MFzOjF1hodcy+2aVZjiG1ETbCbUU+jMQghXbnDE1H3qQFYx4GAbV6aAYprDR?=
 =?us-ascii?Q?Wv+VECw+VHtJc4nCwxqbjGJTg5hUtKKjhSJ0JhoofGSVxf1ArKz+MliOGVOE?=
 =?us-ascii?Q?w4abEBjAfJXC3hHPiKatNx5nhSra8uZZpmszJTksRpyI7jPl+THicBjK02Rg?=
 =?us-ascii?Q?Jebz+rMuI35n/reCtEpRw+j1wAHM422mpwm2mVoqd0WT1gCsfuJIV6wmdIMn?=
 =?us-ascii?Q?LywFrxf6tXfFJHBoRXlBozmB7Dx57YxJ012+fNMsULvdCyXB9M384jNJKGKn?=
 =?us-ascii?Q?viNDkfG1bk3SjEtho7e54diMlxtv5lPvIUGtJrxQ480nS4ImfzRIt8HHdORc?=
 =?us-ascii?Q?sfEoObxxnjb77feXC8D1m4IoOOqIkixgrFbz/R8R7UiUC3h02n6ILs4sDoUA?=
 =?us-ascii?Q?43L8+OzkwBmhOjE29V/1gMHC3bW/H8A1bzF8g+ewXWG5cwkk07LLBisK4UBh?=
 =?us-ascii?Q?sjmJrbxGu75RMzOpimCZIyBXbZFPrUZIfOWLeHt+RhW86etZpJZV3ETtBGHR?=
 =?us-ascii?Q?R9knYUqqmPgamaxydBFrI1nlTbOrwBffbT+Y1GTk1d/7YDZv0LVlKSfmzmi1?=
 =?us-ascii?Q?vs8BtMQIPvccDsA9v74=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(82310400026)(1800799024)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Oct 2025 10:28:16.8193
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ede5ef36-146c-4e2c-378a-08de04c3102a
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	MWH0EPF000971E6.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR12MB4446

If Xen isn't detected on CPUID, then:

 * Skip setting up Xenbus/PV-console/shared_info/hypercalls/qemu-debug.
 * Register COM1 as an output callback.
 * Attempt a QEMU exit via the ISA debug exit device

This patch enables running XTF on QEMU-TCG/KVM out of the box. And a
minor tweaks to set up baud rate make it work on real hardware too.

Signed-off-by: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
---
v3:
  * Introduce cpu_has_xen. To be used in next patch to skip issuing a
    hypercall when Xen ain't there.
---
 arch/x86/include/arch/cpuid.h |  2 ++
 arch/x86/setup.c              | 55 +++++++++++++++++++++++++----------
 2 files changed, 42 insertions(+), 15 deletions(-)

diff --git a/arch/x86/include/arch/cpuid.h b/arch/x86/include/arch/cpuid.h
index 364b0b4..518aaf2 100644
--- a/arch/x86/include/arch/cpuid.h
+++ b/arch/x86/include/arch/cpuid.h
@@ -101,6 +101,8 @@ static inline bool cpu_has(unsigned int feature)
 
 #define cpu_has_rtm_always_abort cpu_has(X86_FEATURE_RTM_ALWAYS_ABORT)
 
+extern bool cpu_has_xen;
+
 #endif /* XTF_X86_CPUID_H */
 
 /*
diff --git a/arch/x86/setup.c b/arch/x86/setup.c
index ba6f9c3..929d8aa 100644
--- a/arch/x86/setup.c
+++ b/arch/x86/setup.c
@@ -26,6 +26,7 @@ enum x86_vendor x86_vendor;
 unsigned int max_leaf, max_extd_leaf;
 unsigned int x86_family, x86_model, x86_stepping;
 unsigned int maxphysaddr, maxvirtaddr;
+bool cpu_has_xen = IS_DEFINED(CONFIG_PV);
 
 const char environment_description[] = ENVIRONMENT_DESCRIPTION;
 
@@ -102,12 +103,13 @@ static void collect_cpuid(cpuid_count_fn_t cpuid_fn)
  * Find the Xen CPUID leaves.  They may be at 0x4000_0000, or at 0x4000_0100
  * if Xen is e.g. providing a viridian interface to the guest too.
  */
-static unsigned int find_xen_leaves(void)
+static unsigned int find_xen_leaves(bool assert_found)
 {
+#define XEN_LEAVES_NOT_FOUND (-1U)
     static unsigned int leaves;
 
     if ( leaves )
-        return leaves;
+        goto out;
 
     for ( unsigned int l = XEN_CPUID_FIRST_LEAF;
           l < XEN_CPUID_FIRST_LEAF + 0x10000; l += 0x100 )
@@ -122,11 +124,19 @@ static unsigned int find_xen_leaves(void)
              ((eax - l) >= 2) )
         {
             leaves = l;
+            cpu_has_xen = true;
+
             return l;
         }
     }
 
-    panic("Unable to locate Xen CPUID leaves\n");
+    leaves = XEN_LEAVES_NOT_FOUND;
+
+out:
+    if ( assert_found && (leaves == XEN_LEAVES_NOT_FOUND) )
+        panic("Unable to locate Xen CPUID leaves\n");
+
+    return leaves;
 }
 
 /*
@@ -140,7 +150,7 @@ static void init_hypercalls(void)
     if ( IS_DEFINED(CONFIG_HVM) )
     {
         uint32_t eax, ebx, ecx, edx;
-        unsigned int base = find_xen_leaves();
+        unsigned int base = find_xen_leaves(true);
 
         cpuid(base + 2, &eax, &ebx, &ecx, &edx);
         wrmsr(ebx, _u(hypercall_page));
@@ -248,6 +258,11 @@ static void qemu_console_write(const char *buf, size_t len)
     rep_outsb(buf, len, 0x12);
 }
 
+static void com1_console_write(const char *buf, size_t len)
+{
+    rep_outsb(buf, len, 0x3f8);
+}
+
 static void xen_console_write(const char *buf, size_t len)
 {
     hypercall_console_write(buf, len);
@@ -255,10 +270,17 @@ static void xen_console_write(const char *buf, size_t len)
 
 void arch_setup(void)
 {
-    if ( IS_DEFINED(CONFIG_HVM) && !pvh_start_info )
-        register_console_callback(qemu_console_write);
+    find_xen_leaves(IS_DEFINED(CONFIG_PV));
+
+    if ( cpu_has_xen )
+    {
+        if ( IS_DEFINED(CONFIG_HVM) && !pvh_start_info )
+            register_console_callback(qemu_console_write);
 
-    register_console_callback(xen_console_write);
+        register_console_callback(xen_console_write);
+    }
+    else
+        register_console_callback(com1_console_write);
 
     collect_cpuid(IS_DEFINED(CONFIG_PV) ? pv_cpuid_count : cpuid_count);
 
@@ -266,15 +288,18 @@ void arch_setup(void)
 
     arch_init_traps();
 
-    init_hypercalls();
-
-    if ( !is_initdomain() )
+    if ( cpu_has_xen )
     {
-        setup_pv_console();
-        setup_xenbus();
-    }
+        init_hypercalls();
 
-    map_shared_info();
+        if ( !is_initdomain() )
+        {
+            setup_pv_console();
+            setup_xenbus();
+        }
+
+        map_shared_info();
+    }
 }
 
 int arch_get_domid(void)
@@ -282,7 +307,7 @@ int arch_get_domid(void)
     if ( IS_DEFINED(CONFIG_HVM) )
     {
         uint32_t eax, ebx, ecx, edx;
-        unsigned int base = find_xen_leaves();
+        unsigned int base = find_xen_leaves(true);
 
         cpuid_count(base + 4, 0, &eax, &ebx, &ecx, &edx);
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Mon Oct 06 10:28:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Oct 2025 10:28:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138043.1473835 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5iSI-0002OK-8r; Mon, 06 Oct 2025 10:28:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138043.1473835; Mon, 06 Oct 2025 10:28:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5iSI-0002MW-4Z; Mon, 06 Oct 2025 10:28:34 +0000
Received: by outflank-mailman (input) for mailman id 1138043;
 Mon, 06 Oct 2025 10:28:33 +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
 <SRS0=hel7=4P=amd.com=Alejandro.GarciaVallejo@srs-se1.protection.inumbo.net>)
 id 1v5iSH-00025a-7T
 for xen-devel@lists.xenproject.org; Mon, 06 Oct 2025 10:28:33 +0000
Received: from CY7PR03CU001.outbound.protection.outlook.com
 (mail-westcentralusazlp170100005.outbound.protection.outlook.com
 [2a01:111:f403:c112::5])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 33543ef6-a29f-11f0-9809-7dc792cee155;
 Mon, 06 Oct 2025 12:28:29 +0200 (CEST)
Received: from SJ0PR03CA0001.namprd03.prod.outlook.com (2603:10b6:a03:33a::6)
 by CY8PR12MB7434.namprd12.prod.outlook.com (2603:10b6:930:52::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.20; Mon, 6 Oct
 2025 10:28:19 +0000
Received: from MWH0EPF000971E6.namprd02.prod.outlook.com
 (2603:10b6:a03:33a:cafe::25) by SJ0PR03CA0001.outlook.office365.com
 (2603:10b6:a03:33a::6) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9182.20 via Frontend Transport; Mon,
 6 Oct 2025 10:28:18 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 MWH0EPF000971E6.mail.protection.outlook.com (10.167.243.74) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9203.9 via Frontend Transport; Mon, 6 Oct 2025 10:28:18 +0000
Received: from xcbagarciav01.xilinx.com (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Mon, 6 Oct
 2025 03:28:16 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 33543ef6-a29f-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=lmqMdHAebE65e2OZo9Mp0GK4Wp8qf63mIsVuXqvigxjnHsGOdKo9Xyqf+H0zgk4KPvGfGCRVZGCTH2vNBf55su9Yl66fCmfqHrHr+ttmn33RH/iarXFoACyVAtGbtf5BsUAijf5RWJWLMeuhS5tjYfdYevlIjCXC6ZSU6PLSbQDBtUMPeQN+bJcuedomh4nOfJXkqr97xpVGp+taIevXD3ytwRWLF7DAIZ9qkNF1xCmvTcIXtxCCOnhHn51Dvp3IInjqxOsKinJrc5Y2W4jPbiikGaECNoPxb+jttnaLvB3m+qPzFnTrzpjbNcbvlFTj7+0se4o7XaBAKxLi8h8puw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DSMzU7bE9Ybv33ngMzEle9ovbrOIGUbmOQRWhev2j/E=;
 b=W24zH/ouXqpeCu1L2X1YyWtXZFnsnq2i5T7v6EyidsPXNUVkNgx6lT3kKU9ogKFn8hqDyvuY3nE+pSKPkBY1hLqYASmrxSNiqrqLw6uEVyddb4BJX7XVDC+fVqyCmY5KUUTf6hXYZjhuwa/n3q59RKdNcsxZD4gQt496cpdlB9pZ1IKiaLfbEDAMj/jQpmYbDqJpPX+lJoDoTN2nEkR/GZecj9Ixg1UVccDvR6+/Gvlu5MscsHPP56MORoDc4d0o/xGZIjjU2qFB6LqoLAdWmj0vmpOT2bkPV/6sHKZWuNgIeodKnS0R77wmSRxps7CUt6fPvj6+GyilHEao+HRQCg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DSMzU7bE9Ybv33ngMzEle9ovbrOIGUbmOQRWhev2j/E=;
 b=zPuky1Ry+OIwhDk/sKkdtt0xsUXZq6LVoafqB2m1luYQ9JQehhXlNGXM/DK4eXNaU64Kb2Yc8t+mIlgOLxLkdvP8mNCJ4zjLNAaSeisuKL2wkRHrwv/Sc3HOT4crmkPgUdlqRv3oOEIWn3kgK4cteW8bjSV5Wkd8Jjw5+qqwBls=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Alejandro Vallejo <alejandro.garciavallejo@amd.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Roger Pau Monne <roger.pau@citrix.com>
Subject: [XTF PATCH v3 2/3] x86: Allow exiting QEMU in TCG/QEMU
Date: Mon, 6 Oct 2025 12:25:57 +0200
Message-ID: <20251006102743.3907-3-alejandro.garciavallejo@amd.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20251006102743.3907-1-alejandro.garciavallejo@amd.com>
References: <20251006102743.3907-1-alejandro.garciavallejo@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MWH0EPF000971E6:EE_|CY8PR12MB7434:EE_
X-MS-Office365-Filtering-Correlation-Id: 5cf96bea-961d-4947-ce96-08de04c3112b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|1800799024|36860700013|376014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?lPVSfregYQdKMjoxBTBXZcFvwxBfjxFiaP1yhXu2wdes/1YRUswAwo71mG15?=
 =?us-ascii?Q?FVtPKXEbxDUTKnDgYEkfF4DEIEeI++ADH+MmNmjkSxBSTm09OXAELYA6dceY?=
 =?us-ascii?Q?mHEvqYppMWYML3BOvMtts1VMR1tekpPYCJW4pwx9m/p5Y06JUho2dBG6thP5?=
 =?us-ascii?Q?pn2OiNB9wd5Zl82lG2WAw8ThOqvdcgU0AlcKQOilK0n3UeshFciSLSWPuEJG?=
 =?us-ascii?Q?v2sj6JEli35/KVH70+XfSSHWJB+L1KeRTVVCUREiURllMlEVzCCrocGJPQoJ?=
 =?us-ascii?Q?Xzqk8qbV11D5I/Wg3qAG/zHPgv2gTgVK/y3XVlAlwKLREPtwfyVI8gcnHy8+?=
 =?us-ascii?Q?cSgVh0b8XuiQURhDkxIQYI1sDWSCLlDBTn5bu3ZN2xGkqpsrcMeZs//3ADmF?=
 =?us-ascii?Q?EiR7m6NmBQzRsyZzIAYoG5/xT51JiUjotjNhaYg09ObzUlCsscnXSC453eMh?=
 =?us-ascii?Q?OjoXuVFbL+wZT/ppncr0k3oGEFsP47/PLwweNgpsa8JM47GWK3u9xWtrXVmp?=
 =?us-ascii?Q?pDjbIu4cic62YISbPHo/hHsG/cyv3cVBN119S0svFQ6LSvEQ7ljLLWGGvqcs?=
 =?us-ascii?Q?GpEyd6RSDYLAuEVw2dWm5eFAWfp5CAl7WsI0zd1B5cNjDCUbjYPpSgTp3s+E?=
 =?us-ascii?Q?uT97ROty1KOcIl98NrtGa/pSZm89TijOlKDQqjIwbBbxlEOwoqQBaNKpyxrC?=
 =?us-ascii?Q?8MhENpF0oZw8kcb9wJokejbBmzUpe27EjudR1bTsJPXEHhzJjdS9wu8ff7IS?=
 =?us-ascii?Q?eBP38EADxPM+78c+6hCmZ7qQk0cz+tpPbLwbF/OgL0Z27UvYySH5m3usEiDT?=
 =?us-ascii?Q?lcuaxPjGc9og/2M3RsiCggy7X54TOX9AhTnisnKNkntcdUKQNjHxyoaN1jLS?=
 =?us-ascii?Q?2zafjPmuyYxNoEU9MCN6sVJOCI5Iwz5yxePRtt75FeD1TQ7CX66EYrPPI6A7?=
 =?us-ascii?Q?29uwh9hGmosCIf7zexWZhjJxn3Lx1ncnWJZISDX7Mi0zS1Y7eIDqLWONKqoO?=
 =?us-ascii?Q?pj8XI3WAsKmiLgktvTUY359a0jf+zIsZ+2XDNhPW++b4CYokqRpT6D0WHrAj?=
 =?us-ascii?Q?5dnZ56s9d1Q31QcZFds61W3/BDBBDJ+HFtNGFlMPQqWvIGCBTVmX2VTd14Kq?=
 =?us-ascii?Q?KZpBTuU/E7/WKrgfXDkcCblcaAlFVUFKrOrMc4RJa5JntWN1KmaaHTCaH6cu?=
 =?us-ascii?Q?3CRIc3+C86BpuGC/mU2T5IuTgoB2KdLD5prq8qq6+psCJil/CfxnZF2LEPOf?=
 =?us-ascii?Q?ZYx5+rd+5dXGVThz6haTYGYTeAYZS+JRKK1MQ7dJ9pIAoFKePdyIMTJLKQe6?=
 =?us-ascii?Q?wsNg1K4GlQJ5PDsNx4w5/m5fRqNnQp5TnZadRxFbsvZHVtql7Dr7yuhZa4uH?=
 =?us-ascii?Q?X3j4SXIE4hWKOt2+srXDAOVuFptUPaob9av2TjRj2hb2OU1Cx7u1rnBpnsZC?=
 =?us-ascii?Q?kQvl3DejQe0Wa2ConBuETIh7tV+5cijPK6o+5cXm01YrvLexkWny6ZYn2sb7?=
 =?us-ascii?Q?30KPbD4DWBe/PEyFsdWomhsJW32w2S/97lSZs9Xs149J+eUMO3l7iI0No/lT?=
 =?us-ascii?Q?5ct9M/dGhy8PQWqSkLI=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(36860700013)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Oct 2025 10:28:18.5067
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5cf96bea-961d-4947-ce96-08de04c3112b
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	MWH0EPF000971E6.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB7434

If QEMU has a debug isa-debug-exit device, we can simply write to it
to exit rather than spinning after a failed hypercall.

There's nothing to signal its existence, so it's a best-effort write
after a shutdown attempt via hypercall.

Signed-off-by: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
---
v3:
  * Moved arch_shutdown() from HVM/PV folders to arch/x86/traps.c
    There's nothing terribly specific about it.
  * Gated calling hypercall_shutdown() on cpu_has_xen being set
---
 arch/x86/traps.c        | 15 +++++++++++++++
 common/lib.c            |  2 +-
 common/report.c         |  8 +++++---
 include/xtf/framework.h |  3 +++
 4 files changed, 24 insertions(+), 4 deletions(-)

diff --git a/arch/x86/traps.c b/arch/x86/traps.c
index 1f82752..b530719 100644
--- a/arch/x86/traps.c
+++ b/arch/x86/traps.c
@@ -80,6 +80,21 @@ void __weak do_evtchn(struct cpu_regs *regs)
     panic("Unhandled evtchn upcall\n");
 }
 
+void arch_shutdown(unsigned int reason)
+{
+    if ( cpu_has_xen )
+        hypercall_shutdown(reason);
+
+    /*
+     * Not running under Xen. Attempt exit via the QEMU ISA debug exit device on
+     * its default port.
+     *
+     * QEMU's rc is (reason << 1) | 1, if "-device isa-debug-exit" is set.
+     */
+    if ( IS_DEFINED(CONFIG_HVM) )
+        outb(reason, 0x501);
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/common/lib.c b/common/lib.c
index 7f1813f..f4de22e 100644
--- a/common/lib.c
+++ b/common/lib.c
@@ -25,7 +25,7 @@ void __noreturn panic(const char *fmt, ...)
 
     printk("******************************\n");
 
-    hypercall_shutdown(SHUTDOWN_crash);
+    arch_shutdown(SHUTDOWN_crash);
     arch_crash_hard();
 }
 
diff --git a/common/report.c b/common/report.c
index ffdf098..158876e 100644
--- a/common/report.c
+++ b/common/report.c
@@ -1,6 +1,8 @@
+#include <xtf/framework.h>
 #include <xtf/lib.h>
 #include <xtf/report.h>
-#include <xtf/hypercall.h>
+
+#include <xen/sched.h>
 
 enum test_status {
     STATUS_RUNNING, /**< Test not yet completed.       */
@@ -124,8 +126,8 @@ bool xtf_status_reported(void)
 void xtf_exit(void)
 {
     xtf_report_status();
-    hypercall_shutdown(SHUTDOWN_poweroff);
-    panic("xtf_exit(): hypercall_shutdown(SHUTDOWN_poweroff) returned\n");
+    arch_shutdown(SHUTDOWN_poweroff);
+    panic("xtf_exit(): arch_shutdown(SHUTDOWN_poweroff) returned\n");
 }
 
 /*
diff --git a/include/xtf/framework.h b/include/xtf/framework.h
index 95de195..e852882 100644
--- a/include/xtf/framework.h
+++ b/include/xtf/framework.h
@@ -16,6 +16,9 @@ void arch_setup(void);
 /* Set up test-specific configuration. */
 void test_setup(void);
 
+/* Stop the machine. See SHUTDOWN_poweroff et al for reasons */
+void arch_shutdown(unsigned int reason);
+
 /*
  * In the case that normal shutdown actions have failed, contain execution as
  * best as possible.
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Mon Oct 06 10:46:41 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Oct 2025 10:46:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138083.1473851 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5ijj-0006KC-Vb; Mon, 06 Oct 2025 10:46:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138083.1473851; Mon, 06 Oct 2025 10:46:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5ijj-0006K5-Ss; Mon, 06 Oct 2025 10:46:35 +0000
Received: by outflank-mailman (input) for mailman id 1138083;
 Mon, 06 Oct 2025 10:46:35 +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
 <SRS0=hel7=4P=amd.com=Alejandro.GarciaVallejo@srs-se1.protection.inumbo.net>)
 id 1v5ijj-0006Io-8w
 for xen-devel@lists.xenproject.org; Mon, 06 Oct 2025 10:46:35 +0000
Received: from SN4PR2101CU001.outbound.protection.outlook.com
 (mail-southcentralusazlp170120001.outbound.protection.outlook.com
 [2a01:111:f403:c10d::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b9022ef8-a2a1-11f0-9d15-b5c5bf9af7f9;
 Mon, 06 Oct 2025 12:46:33 +0200 (CEST)
Received: from CH2PR16CA0028.namprd16.prod.outlook.com (2603:10b6:610:50::38)
 by DM4PR12MB7717.namprd12.prod.outlook.com (2603:10b6:8:103::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.20; Mon, 6 Oct
 2025 10:46:26 +0000
Received: from CH3PEPF0000000D.namprd04.prod.outlook.com
 (2603:10b6:610:50:cafe::91) by CH2PR16CA0028.outlook.office365.com
 (2603:10b6:610:50::38) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9182.20 via Frontend Transport; Mon,
 6 Oct 2025 10:46:26 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 CH3PEPF0000000D.mail.protection.outlook.com (10.167.244.43) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9203.9 via Frontend Transport; Mon, 6 Oct 2025 10:46:25 +0000
Received: from xcbagarciav01.xilinx.com (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Mon, 6 Oct
 2025 03:46:24 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b9022ef8-a2a1-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=rloARH8sU+T7ylqrM1BMw0zJhZdBM55oyAQLUcHThR5bVwWKsY026g+8GcGD5wzGiTuL33y5WArw8UdHx+hd1M64zobc7T0FgZTZ12VVPQJEh4k+Uq1Cra3x2kPpYpTgMvFFWKdPdiqL3dYHPWmxvwqurn4axSBrwDDzCCX6+2zl2/JxE0uMYJ6ZBxGBlSa1GU5yMYjPTtEpDHP5sr61OU9Il/c8jO84FczGAQIyxCjE2pBprHiBZYq1yBLF6zg2srW50YhL37wK+g3pA5qw+r3Aw4Z5njyQMOeQiM5Ni+xnZ7Kj5w9ASbdNim0WKvzZJvtGeNIV1nzGs+nVY1J6aQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3IcmOquuMdT2tsa4Dun9crV41S9EzCt6xvNtoPns56s=;
 b=FJILVGHh7F2yB64rE8Ps7QXxCNkVdRvy+773EEimozDC8/036Ak/wIf10dWL6ZJyLdpDj3xgqVZahFEaBokK/O8thHjr0t+y9urV4W2AH69BdxXCIOWFFtJiAfwSFOKpHp4U+lRApMLchZJGcswMiszM51iskAMc6FYcall7LyHevWtdAbFoYYtONNgpWRGXqr4pIYucSTlZujqXdkMW2b609DYoPfbmgJvfYD55aE+A0vJNFv3MOxQSc/NRrCkcuEhADu+GAyMLlA4Tx4XLPb4WQXBAmwYT6ZVkk1DjExxLBocwBPAtS9/hwP0en1H9XlUUiAxz8/uxcizvaY/8Kw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3IcmOquuMdT2tsa4Dun9crV41S9EzCt6xvNtoPns56s=;
 b=s+YJwx/Knbu4j0OdKOHK1ySWLBzsOTqhWDq1DF//ComLdPEDU9g1TCOhBBivMdpInKHln4ryXLrCD+O2xy2ZSKnv6h9p6CKFwbi8O0CHCtwXsHQexx3pYsUtXP9I0vFLLP7pBnAL32KoOTHEJjpDHDKOmaECvdqRCjk9fs9lHPQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Alejandro Vallejo <alejandro.garciavallejo@amd.com>, Jan Beulich
	<jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH] x86: Add missing forward declaration and include to hvm/svm/vmcb.h
Date: Mon, 6 Oct 2025 12:46:07 +0200
Message-ID: <20251006104608.12149-1-alejandro.garciavallejo@amd.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH3PEPF0000000D:EE_|DM4PR12MB7717:EE_
X-MS-Office365-Filtering-Correlation-Id: 0dae01b4-217d-4c30-853b-08de04c59949
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|1800799024|82310400026|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?Fyyrs2oFBFv/GK7dh1dKm7L9JqNVPIiuA7nUm9R+QPnXsH9vNLI/4e6X2a+k?=
 =?us-ascii?Q?zVWRlBOJvhZWC/daywvetRTxqpFMlJlVb810tYRRXFjXVH0MwfXBbkxnaXGC?=
 =?us-ascii?Q?vTt8cb1XrBFdmbqAt3o5EuBNzWoicb4XK+5LUCFYMt6YvZeMeQE7x3IYyMLJ?=
 =?us-ascii?Q?BLnMP2q+hzLxJTWY4YzDD2zHljn3TUhxQ4wo8Rid2Ozi78j1zXZQlSBmzwMI?=
 =?us-ascii?Q?Pi99iIRNaRfTh+ntXmEQUQlB6Ka40Mspfj8v2Y5m0Iq6i3ncHeskdjKrikPq?=
 =?us-ascii?Q?2F7rAI64A3iNp/+5u0GwUMJx1XhNphwocjaEW0NK/k7gpuLuJcNcoMLjuBar?=
 =?us-ascii?Q?MkPR0egOj4NU7QPbFEjq0XUVtSTHcYVgM+wMF8PbLRCp1jPrMn5FdNRkMtwc?=
 =?us-ascii?Q?vtELtsSclhxhy2MVkrK3xC8ebdjvpJNWULC8vaKKFP/Kx9UedCHriUO5osBN?=
 =?us-ascii?Q?+WPXfGaQjf+8d3tgI1/z3NF+AsCsTZNPKKqaZbWDbiSkVjffyVt8HR+5ZgeK?=
 =?us-ascii?Q?EVKpXPDDEdlJFb3gcKidbl7Ur7noAhStKFwmKILGv2fVTKEFUVGM3ktsnKlh?=
 =?us-ascii?Q?DesWfFauA7dMkWx+tQZ948plnoMT1ydnoKOTNruInKJcipkiYioAB3t2ANAz?=
 =?us-ascii?Q?9lCKxOUvZDFcdxC3bdEVNVF8Rf9wJBl2fShmEqg3DWSJEMZZP8JfkwBXUUXf?=
 =?us-ascii?Q?3YANGr6JJwTTMz1/EFNRTkBkoOdsFOluw/nfOmVp+JLl70TwICHPPAmTHU+o?=
 =?us-ascii?Q?LhPM1YxoQptv+iPcQ4L1xbKPUZVyFXsQvm9q0mZ6GBpwLNvtoxdrJpFakAuG?=
 =?us-ascii?Q?FUqk3Pb6sNnN7n3CmwYqOjrXZuMUWD2ScKLFwgdG2can3leUfqsw1SU7sdpF?=
 =?us-ascii?Q?xQXOJJHOGx5/gwu2s6uEC9K99ubhvgj8v3YsHfZCbgMe306B7lh9yjLivIe0?=
 =?us-ascii?Q?7EMgTgMoowxYTe8lj+QYrXCgOe7HHJU/66Hm3VBpNTGrBJ9iXd5ugujeTUeh?=
 =?us-ascii?Q?g76v3iZ3fUsLxY+VD/hq/zajctHowznYeb6rXk5Q9AOK6sh+7uktgdxVAQpS?=
 =?us-ascii?Q?zln++spgWh0dj0XMQgrGJv/QmZcel/Ql2e2yV77yFMTDMzmKu1+tk50IDIwC?=
 =?us-ascii?Q?IJFZO9XYhdOjufGoqbdfVhRaLHB98p3f2Z6Ksjej+OrIt6n1cgw5Hq0bT+lk?=
 =?us-ascii?Q?WbAq+2ocztZoI2VsLl5U8k9lPmcjL9EfAN9glME5Q32GQ0s0ke+LlZGKPDsV?=
 =?us-ascii?Q?ERgRtOdExBoMxBOJdbdMKSi7FXHpeMliTEZKm4Y4dpewAaH3c309k5Ro3XRd?=
 =?us-ascii?Q?izJkUX+cyarNpCSzpWp1boJvMG4H6iX/hhNDHIyrpyqHFV3z5lyHxZ27b3MC?=
 =?us-ascii?Q?YVEnjUybaHN5svm5lbn/Neh+dXebh4oHSOEFTuNZDPAH8vLVrjIVC475iUm2?=
 =?us-ascii?Q?qQ+9FzAI9ZaDcHj05eevYKOEVWKNXlpKg0PfRK9wvdh3GdfidEZ6OY9Cn18H?=
 =?us-ascii?Q?yGYnzjpoFhT8VbynMT3LULbl8qDDUq3nSQp1gwqUgcsSP4lorGRN3qdVHUSE?=
 =?us-ascii?Q?Eu/hgo9uFs1jeCJzrbU=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(1800799024)(82310400026)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Oct 2025 10:46:25.9440
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0dae01b4-217d-4c30-853b-08de04c59949
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CH3PEPF0000000D.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB7717

"struct segment_register" requires a prior inclusion of x86_emulate.h,
and it's missing a forward declaration of "struct vcpu" too.

Sort these out so the header can be included by itself.

Not a functional change.

Signed-off-by: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
---
This dependency already exists today. I'm just making it explicit.

"segment_register" is weird. It naturally belongs in vmcb.h, but the
emulator makes use of it and must be compilable outside of Xen.

I don't like having vmcb.h depending on the emulator header, but I see
no way of breaking that dependency without breaking the emulator unit
tests.
---
 xen/arch/x86/include/asm/hvm/svm/vmcb.h | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/xen/arch/x86/include/asm/hvm/svm/vmcb.h b/xen/arch/x86/include/asm/hvm/svm/vmcb.h
index 28f715e376..7c599a1c39 100644
--- a/xen/arch/x86/include/asm/hvm/svm/vmcb.h
+++ b/xen/arch/x86/include/asm/hvm/svm/vmcb.h
@@ -10,6 +10,10 @@
 
 #include <xen/types.h>
 
+#include <asm/x86_emulate.h> /* for "struct segment_register" */
+
+struct vcpu;
+
 /* general 1 intercepts */
 enum GenericIntercept1bits
 {

base-commit: b6fc307b0b00314d4e4460fcf8be2cd9e4ff8652
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Mon Oct 06 11:04:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Oct 2025 11:04:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138094.1473861 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5j10-0000g1-G1; Mon, 06 Oct 2025 11:04:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138094.1473861; Mon, 06 Oct 2025 11:04:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5j10-0000fu-Ci; Mon, 06 Oct 2025 11:04:26 +0000
Received: by outflank-mailman (input) for mailman id 1138094;
 Mon, 06 Oct 2025 11:04:25 +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
 <SRS0=iNYA=4P=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v5j0z-0000fo-L1
 for xen-devel@lists.xenproject.org; Mon, 06 Oct 2025 11:04:25 +0000
Received: from mail-wm1-x341.google.com (mail-wm1-x341.google.com
 [2a00:1450:4864:20::341])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 37be06a3-a2a4-11f0-9d15-b5c5bf9af7f9;
 Mon, 06 Oct 2025 13:04:24 +0200 (CEST)
Received: by mail-wm1-x341.google.com with SMTP id
 5b1f17b1804b1-46e2c3b6d4cso38444625e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 06 Oct 2025 04:04:24 -0700 (PDT)
Received: from [192.168.1.183] (host-92-22-57-86.as13285.net. [92.22.57.86])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-46e5b576badsm147640845e9.0.2025.10.06.04.04.22
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 06 Oct 2025 04:04:23 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 37be06a3-a2a4-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1759748664; x=1760353464; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=JG5TEP47cMTZhSnafkYKf9RJ51a0V63zBeKJ9b7lnG4=;
        b=tDadyNP4f9IsuLNR/uzWa2fL0TMtwRSmo16Lgh27CliWqQJMINlxQCZlwLV2oQ1/EM
         ZPwDB1HxruP8nV0UFeVPos83BZDrCQc7ELSb8TJVyNwSbX+kQKspp1telqtRWiQimno+
         8AgxgyaauL4nMaBDcSQkfhO44jJ4KNNVcTdiE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759748664; x=1760353464;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=JG5TEP47cMTZhSnafkYKf9RJ51a0V63zBeKJ9b7lnG4=;
        b=C44PVUHgiX5/jP4XBVNizBKRC8yrxl3Y9NbBEIEoffoiyy+mh2pgCpb8YvCZrTMy2q
         LGPVdFTdYdjNWFdmpNN3sMrNbDhsULKkGWcq7a8q30Eo/l8WCXVDDAlq9R25a92+1Y5q
         hEFE8yunAg+j6WIV9SqXyLs3dH2br99X88cfskLrBWkaJ5wA9KI2XZAXDBwroN91z5Go
         N33gLk3qW+O+Rzr8EVMCOjH436VyINzDP4xIr4D1fT32n+WRn0KDfUR8/Vz2/Sg9vI+C
         GTV6O2YuOPdA8J29CpCbjmgQwckNEG6Ha4HoNnybInkOvJHYSuQyqljq29Vi5EhTrHLX
         mnqw==
X-Forwarded-Encrypted: i=1; AJvYcCW3LNAsboCc7BNKQA7o0g0evDkmYbovRi+ZDMORb8orsraR3gO4ikls4ImaDnsLIljsCWEGTSSCoNA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwTDBWp22fKBiB5cR6M+Y516ArCBdTkjyrvmWuMS11HrWAEKbKX
	t1syoeYybvDHKK+Ip4Sfi5ueKGZWSAI8sV5h8QgrV/b5E94GaGcjM29sQFvwnARV5ug=
X-Gm-Gg: ASbGncs8YbAntBInEjkETLN4eA6TFkEpc4Q7TTjz9Dm23bZzIw//FXJufUaVkxNZwOs
	me56w8AN6dhwIOzQ7FiqjDyQ+LORQNHGhAYK7accpAHBpaYyXQwTlwFX5jqquJohXG6iqLOLliG
	38mT/0IkTDrQKEqN9Fj7WNU5PCFiyJ9hUbvtNOUBKHC/kkWAFLKuTxe++llERVY3UXzR9hciIVq
	NOzM9TT8xwa3dzSUFZb+bM14MfWUlv8zzDH5NSSk2VVa+L2N1BPT5CtWZFGtsuvctqPW7dAqoa4
	2ZH2oOD/wBiaUAXXETr60Q9e/To0UDFnAmTKpHS4jM0uEZgRwa+WxrTlkMHJYiZTmMJH1rQ1Qqd
	jSaBGvaEWV0UIdClyUNc7oqajUM68oYUezn6SPAgc0NwZjb4HiMS2krYkvw4TN6+Xx5X3oXFpFX
	4mdP+QqUUwNtdp
X-Google-Smtp-Source: AGHT+IHUoXUWr9AbQ1fmd8XPAQKEKSVq7jR+hnfsMZ3xAokwyPI6mbipWC6fYl4uA7VLfNfGJQlHNw==
X-Received: by 2002:a05:6000:659:20b0:425:75a0:36e2 with SMTP id ffacd0b85a97d-42575a03755mr2752306f8f.7.1759748663648;
        Mon, 06 Oct 2025 04:04:23 -0700 (PDT)
Message-ID: <588656ba-dabf-42f2-941f-6cc017961271@citrix.com>
Date: Mon, 6 Oct 2025 12:04:22 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86: Add missing forward declaration and include to
 hvm/svm/vmcb.h
To: Alejandro Vallejo <alejandro.garciavallejo@amd.com>,
 xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <20251006104608.12149-1-alejandro.garciavallejo@amd.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20251006104608.12149-1-alejandro.garciavallejo@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 06/10/2025 11:46 am, Alejandro Vallejo wrote:
> "struct segment_register" requires a prior inclusion of x86_emulate.h,
> and it's missing a forward declaration of "struct vcpu" too.
>
> Sort these out so the header can be included by itself.
>
> Not a functional change.
>
> Signed-off-by: Alejandro Vallejo <alejandro.garciavallejo@amd.com>

I have a pending series for 4.22 which does substantially more
rearranging of this file and others.Â  See
https://xenbits.xen.org/gitweb/?p=people/andrewcoop/xen.git;a=shortlog;h=refs/heads/xen-svm-hdrs

I'd found the need for struct vcpu, but not for segment_register.Â  How
did you find it?

> ---
> This dependency already exists today. I'm just making it explicit.
>
> "segment_register" is weird. It naturally belongs in vmcb.h, but the
> emulator makes use of it and must be compilable outside of Xen.
>
> I don't like having vmcb.h depending on the emulator header, but I see
> no way of breaking that dependency without breaking the emulator unit
> tests.

Pulling it into a new header is fine.Â  The emulator can include anything
(free-enough standing) in arch/x86/include/asm/

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Oct 06 11:28:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Oct 2025 11:28:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138109.1473871 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5jOM-0003i2-DZ; Mon, 06 Oct 2025 11:28:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138109.1473871; Mon, 06 Oct 2025 11:28:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5jOM-0003hv-9z; Mon, 06 Oct 2025 11:28:34 +0000
Received: by outflank-mailman (input) for mailman id 1138109;
 Mon, 06 Oct 2025 11:28:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1v5jOK-0003hp-KT
 for xen-devel@lists.xenproject.org; Mon, 06 Oct 2025 11:28:32 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <julien@xen.org>) id 1v5jOJ-00BmRu-1W;
 Mon, 06 Oct 2025 11:28:31 +0000
Received: from [2a02:8012:3a1:0:9161:fb0:fcdd:7172]
 by xenbits.xenproject.org with esmtpsa (TLS1.3) tls
 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96)
 (envelope-from <julien@xen.org>) id 1v5jOJ-005miM-1o;
 Mon, 06 Oct 2025 11:28:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=sEWTnY6dDxmOdfsd9kUnUee2zj+Uu2FTYX6+5Nnz4VI=; b=LtnMff3ED+g/S8dM5eqaJh9znv
	CkJd7JrlEIlnxDfsb+0RsCzLucdjRDn6jssBcO7z/S5JjhX11AIVWaB7SBuhkjH3J5PZZIXkyzKG6
	3EZLvzZF1NsSZ7XrmE5jzJTlzJkyEWa5ejb21QdILukvvMsi7BMIIvCZUWgLB+Kdd2dw=;
Message-ID: <22b118f4-febc-4134-8049-ae258c7571a6@xen.org>
Date: Mon, 6 Oct 2025 12:28:29 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/arm: XEN_DOMCTL_get_address_size hypercall support
Content-Language: en-GB
To: Demi Marie Obenour <demiobenour@gmail.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Milan Djokic <milan_djokic@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 alejandro.garciavallejo@amd.com
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <39511522aae7dab5766ef2ebfed1d13abec8610e.1759324344.git.milan_djokic@epam.com>
 <bf042eea-ed2d-431e-b1f0-7be0c09194ef@citrix.com>
 <967b62ca-8aed-4abf-8fa5-30769f46a5ff@gmail.com>
 <55d156c9-5a05-4cb7-9b29-93adaaede5d0@xen.org>
 <b77c44c3-b348-423d-b197-c719db6ec386@gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <b77c44c3-b348-423d-b197-c719db6ec386@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Demi,

On 03/10/2025 17:03, Demi Marie Obenour wrote:
> On 10/3/25 06:14, Julien Grall wrote:
>> Hi Demi,
>>
>> On 02/10/2025 19:27, Demi Marie Obenour wrote:
>>> On 10/2/25 06:10, Andrew Cooper wrote:
>>>> On 01/10/2025 9:01 pm, Milan Djokic wrote:
>>>>> Signed-off-by: Milan Djokic <milan_djokic@epam.com>
>>>>>
>>>>> ---
>>>>> XEN_DOMCTL_get_address_size hypercall is not implemented for arm (only for x86)
>>>>> It would be useful to have this hypercall supported for arm64, in order to get
>>>>> current guest addressing mode and also to verify that XEN_DOMCTL_set_address_size
>>>>> performs switch to target addressing mode (instead of relying on its returned error code only).
>>>>
>>>> Please don't copy this misfeature of x86 PV guests into ARM.
>>>>
>>>> Letting domains be of variable bitness after domain create leads to a
>>>> whole lot of bugs, many security relevant.
>>>>
>>>> 32bit vs 64bit should be an input to domain_create(), not something that
>>>> is edited after the domain has been constructed.
>>>
>>> Does this mean that Xen guests cannot support multiarch?
>>
>> I can't speak for x86. But for Arm, the endianess of EL1 (OS) is fixed
>> when the vCPU is booting. You could in theory have a domain with a mix
>> of 64-bit and 32-bit vCPUs. But that's not supported by Xen (all vCPUs
>> should have the same bitness) and also I am not aware of any mainstream
>> OS able to deal with multiple bitness. Most likely, you will need to run
>> two OSes and create your custom OS.
>>
>> Also, I believe XEN_DOMCTL_get_address_size would not be suitable for
>> such setup.
> 
> I meant multiarch in userspace.  Running a 32-bit kernel makes no sense.

I think some people may disagree :). We are in process of adding support 
for 32-bit MPU in Xen.

> If that is something Arm OSs just don't support that's fine too.

HCR_EL2.RW is only forcing 64-bit in EL1 (kernel mode). It is still 
possible to run 32-bit applicate in userland as long as the process 
supports it.

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Mon Oct 06 11:30:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Oct 2025 11:30:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138119.1473880 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5jPr-000598-MW; Mon, 06 Oct 2025 11:30:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138119.1473880; Mon, 06 Oct 2025 11:30:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5jPr-000591-Jf; Mon, 06 Oct 2025 11:30:07 +0000
Received: by outflank-mailman (input) for mailman id 1138119;
 Mon, 06 Oct 2025 11:30:06 +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
 <SRS0=hel7=4P=amd.com=Alejandro.GarciaVallejo@srs-se1.protection.inumbo.net>)
 id 1v5jPp-0004C7-Pp
 for xen-devel@lists.xenproject.org; Mon, 06 Oct 2025 11:30:05 +0000
Received: from PH8PR06CU001.outbound.protection.outlook.com
 (mail-westus3azlp170120001.outbound.protection.outlook.com
 [2a01:111:f403:c107::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ca811624-a2a7-11f0-9809-7dc792cee155;
 Mon, 06 Oct 2025 13:30:00 +0200 (CEST)
Received: from BN1PR10CA0016.namprd10.prod.outlook.com (2603:10b6:408:e0::21)
 by BN7PPF5D27497F1.namprd12.prod.outlook.com
 (2603:10b6:40f:fc02::6d1) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9160.10; Mon, 6 Oct
 2025 11:29:51 +0000
Received: from BL6PEPF00020E64.namprd04.prod.outlook.com
 (2603:10b6:408:e0:cafe::71) by BN1PR10CA0016.outlook.office365.com
 (2603:10b6:408:e0::21) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9182.20 via Frontend Transport; Mon,
 6 Oct 2025 11:29:51 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 BL6PEPF00020E64.mail.protection.outlook.com (10.167.249.25) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9203.9 via Frontend Transport; Mon, 6 Oct 2025 11:29:51 +0000
Received: from localhost (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Mon, 6 Oct
 2025 04:29:50 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ca811624-a2a7-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=x54I1ZAhRTO0GFHXL6N4QXvOXeq+OoJ9PgXA8i5OfswsLnp5sRnfHNRer0QODB6NiXfCC+gd7HyRpIEGj7R3CJZgnDJ6nBWbpFXTO3m5PrH0bMuuuFlgMIN50NbwIPlboqGQuq20QgSniYUWDZGrv6LrIrJJNSIwArYzmLLgGoxLkiu84mGf51U0AP3u3bt6Qt46pVat0uDhLfpey5zCWuOeFcEOJv+hlYnx95SFpzrIug7F4oj7MBdZpSjqMyTdgNw8w4740a6RhBB3MBR0lBt6UJ38wpqFoJhVm/TeToguElBzIViBehDPGN5x+XcgApw6/2ioj75ScbOdkshutA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=l8SPXQIfqorhJ4I3lcB3mQLCmYorHd5RZYtwTE4aoEE=;
 b=QlTTu0jW03yA5XRQ12LvhmpS5xW2Hq8BEfI8htNL1mVhKKoDsc5jzc8NR9tmmvvtdG4cI76DbnHT1Yaxs/pOkrG4x1iFmQqRBd6eLrt03yfJqdFjcBT2Q3KgTur+eGKeFzPyyjCovssnhLwgQT4Z9abuO7i/kdjtaRTPV+z54LTVirrs+O90c9NPWFAZErDAwKgOY/3+pCMDwyX6XqKhTFW4p9XzIkGEk1ECPMFUB54dA4ZeYOUR1yvzHt+gAhebC4UhDoGo6OOK0H9vqM+nca/vLU/8c4fxyCxVnRNQd5Rlb/MXF88CQuXl49Ydu1PpPzlJP/Y2tc8fQKBRwP/HQQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=citrix.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=l8SPXQIfqorhJ4I3lcB3mQLCmYorHd5RZYtwTE4aoEE=;
 b=OJes5Joa96gDnGl5EDJxQgsLcIsMZnNrFYbRlYfBt/+wBHmE+fnzWxQmxtUdgmpm96F26mP1M8O+ULgvU53z+bpNzy3Ov7XjAqCexHyKOeP/tBCG1eZQkaqPydeMoah/fzwC9cd/Zzjdlpu5LM4P0S7bkgDORium3FMCf2XcEy8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="UTF-8"
Date: Mon, 6 Oct 2025 13:29:49 +0200
Message-ID: <DDB7DOIV02H0.3P4Y4VQVY1HWZ@amd.com>
CC: Jan Beulich <jbeulich@suse.com>, =?utf-8?q?Roger_Pau_Monn=C3=A9?=
	<roger.pau@citrix.com>
Subject: Re: [PATCH] x86: Add missing forward declaration and include to
 hvm/svm/vmcb.h
From: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
	<xen-devel@lists.xenproject.org>
X-Mailer: aerc 0.20.1
References: <20251006104608.12149-1-alejandro.garciavallejo@amd.com>
 <588656ba-dabf-42f2-941f-6cc017961271@citrix.com>
In-Reply-To: <588656ba-dabf-42f2-941f-6cc017961271@citrix.com>
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL6PEPF00020E64:EE_|BN7PPF5D27497F1:EE_
X-MS-Office365-Filtering-Correlation-Id: bbbfc79c-88ef-4741-a84e-08de04cbaa56
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|30052699003|82310400026|376014|1800799024|13003099007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?VlBBdnhZVmU3TEN3ZDB3NjE0WnVJbDNIZjNhcmZWa0d5bHVOQjhHenpEWjVD?=
 =?utf-8?B?RGtuQlVRbXo4NS8rS1hPMExlWitoT1lUZmM5NDlnTWZUb1ZkcGxlTVN2WTFY?=
 =?utf-8?B?OUo3Wnoxb0NSRmFLWVpZNVhtSzVrRnNmSXNjMXl0ZERoN01JZFNCWTJ5SHpK?=
 =?utf-8?B?UUxZazNmRytNTDdFMUhuVmZjSDdad3dTN3VlT2pRcG1neTM2NDNJSVBBWkgz?=
 =?utf-8?B?SEZOVmsrYUlweFpPSk9sR1F3eXRpVlZVd09LV1d2NCtJVFFzM1IxSDY4L3JH?=
 =?utf-8?B?cDJ6M2tsQXZ2WmNJdmdkd2wrNGExTVBQSndLaytLL2tnWUNpZ1RhMWljbUhx?=
 =?utf-8?B?UUZUcGRVWGZnbDNsck9FdVVpRVo4OFM1QWZpTmlkanh1WC9RRHA3NVlEWERF?=
 =?utf-8?B?TWF1UHdvZ3hPSTlubGZzQ1djN0xjMVBkQm9Gb0hoZTdXT3NlaUpITlRPZjJy?=
 =?utf-8?B?MHNFYmVGeHFJKzNjSUNuZng0bG1mUjFxQ3QwOVZob1JneGVTdmNVWHVYcldO?=
 =?utf-8?B?RTJIdEIxamo1cmt4YjFQNE5UL2pWVFkvdTVXMW1DMjNDeG90N0ZpSm9POWw1?=
 =?utf-8?B?STB6b254UVNNWnFVSnI1SXp6cUdlK3htYWxpazZNVXpFdDlCd0VvS0lVMnUw?=
 =?utf-8?B?Y3BkSjNNM3RHS01iSTA2cFRmVk5scFNJR2tsVEpBYjJBSzczQlU2d21pRm1J?=
 =?utf-8?B?WEs3c1NpTU9JdXdLaU1NdUd5YW1sSUY1SDRCQWZoVk10V2MvU1hRcHBuaHZk?=
 =?utf-8?B?TFZCNzJtS3lTTFFSMUpIOGw2QTNtbG03Ujk5alhrakFpalI3cGttelFVZ2t1?=
 =?utf-8?B?MC9YQzBITWhCUzU5WkdWNHdxalJVOXhYRHNhWGovRzJhQkVZOEsxVGtNVlNi?=
 =?utf-8?B?Qyt0S1Fodm5TZzFTeFBvR0UwNnVESW5vRWRTUDFkQ1hoUWZ5UkNKbFhVdDVv?=
 =?utf-8?B?RVpFZ05sSEZ2MmxDLzM2cU5EYjBwYWxjSWRlKzJjRStDTi9Fd09VWlpwVW0r?=
 =?utf-8?B?eFl3bjFBanJMdm1mOURUaDE1MFFpdWlnWHNtUmp5RzQvL3JySjhlcnJmVVNo?=
 =?utf-8?B?UkNYQk05Y0FqVFhKT2dTMDBnbmg5UTU4Ri9ZbkRqMTVBQlNKRy9hVXNPRjRr?=
 =?utf-8?B?c0VZaXl2SURNZXpITnF5SkZubkVNZnorM2FaWmlORjJQQ1dPQnJWQ2ZZTHNT?=
 =?utf-8?B?aW5pQ0RLYmhZdG1pbHVSMUUvZTlDeTFuN1d1QVhoVGlneGNEYmpidzBkRnVV?=
 =?utf-8?B?Ny96NWhKeW52UlhnR3UzNW1RNElMNGVBTU9Gb25raUhrcjFubXIxVWFMNTNk?=
 =?utf-8?B?c2F5MU9TUkJjN1VpNitPbEVOWUxyNWpja2YxbGp6UVhaeDJVOVJXd21xOURG?=
 =?utf-8?B?aVN3MzJRU25XcDk3SnloYU1tQm9BbjlaaWNQcXNDaDAvNzUyMnNzMWNJNkRs?=
 =?utf-8?B?aHVYc0RqbVRJcTlKSjJMbVErT0d5blAxUkJxY2FHVE1qenJsQ0JZWXd2WUZm?=
 =?utf-8?B?WVF6WTBJMmlnaFJ0WDNTRXIrbUdRNzV1dWdtQ0VYZktkRW8rNEg3SG5MSFAx?=
 =?utf-8?B?N3I5blVrcSt0aXlkV0VmRWRmY3ExeXg1Wm1NSSszbjVVbmtXNFozekRWM3p4?=
 =?utf-8?B?b1VhZG1ldGdSMk0wMFNhazdMell5ZXV3UmxzSFFrb0I2WXhJLzk0Q2IxaVhz?=
 =?utf-8?B?SWRLazFpeWRpRWh1VEpPTnh3MTRsN2U3RnE2UW5JSFFWenR0cERMd1BEVGRl?=
 =?utf-8?B?b2h4STVEZ0ZydWg0QlVLVmpyMm5keGhiUC9wS2NIQXpWc2d0WHhGcThqTGxN?=
 =?utf-8?B?T1ZXNlI4YllHQm1VMTBVMVpleWF6UjBzRUhIbWRZdXc1M2RUZjNDVVlkaHMy?=
 =?utf-8?B?SmF1a1V0aVBnZU1KRXJFdUNyaHFUdjhnNGJGQk9ySTJsRGZldmNkWTd5Lzkv?=
 =?utf-8?B?SE03RkhnV0w1RTA3ZzdXbm9MVlFuSDhaWGVzeDFxcUIvRkszWGw5ZFVGMHJT?=
 =?utf-8?B?ZUdsUEg2YzJsNysvTER4OHl4WjNabEl4SDFUYm85bkxTemtTRlN2d00yR3BR?=
 =?utf-8?Q?ovjNH0?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(30052699003)(82310400026)(376014)(1800799024)(13003099007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Oct 2025 11:29:51.5327
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: bbbfc79c-88ef-4741-a84e-08de04cbaa56
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL6PEPF00020E64.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7PPF5D27497F1

On Mon Oct 6, 2025 at 1:04 PM CEST, Andrew Cooper wrote:
> On 06/10/2025 11:46 am, Alejandro Vallejo wrote:
>> "struct segment_register" requires a prior inclusion of x86_emulate.h,
>> and it's missing a forward declaration of "struct vcpu" too.
>>
>> Sort these out so the header can be included by itself.
>>
>> Not a functional change.
>>
>> Signed-off-by: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
>
> I have a pending series for 4.22 which does substantially more
> rearranging of this file and others.=C2=A0 See
> https://xenbits.xen.org/gitweb/?p=3Dpeople/andrewcoop/xen.git;a=3Dshortlo=
g;h=3Drefs/heads/xen-svm-hdrs
>
> I'd found the need for struct vcpu, but not for segment_register.=C2=A0 H=
ow
> did you find it?

By chance. I happened to include it in a file at a position where the
x86_emulate.h header hadn't been included.

>
>> ---
>> This dependency already exists today. I'm just making it explicit.
>>
>> "segment_register" is weird. It naturally belongs in vmcb.h, but the
>> emulator makes use of it and must be compilable outside of Xen.
>>
>> I don't like having vmcb.h depending on the emulator header, but I see
>> no way of breaking that dependency without breaking the emulator unit
>> tests.
>
> Pulling it into a new header is fine.=C2=A0 The emulator can include anyt=
hing
> (free-enough standing) in arch/x86/include/asm/

I thought it didn't, if so I'm at a loss at to why segment_register is wher=
e
it is.

Be that as it may, your series conflicts with this patch and it makes no se=
nse
to keep both around (when none of them are going in for until 4.22).

Will you be including a fix for the segment register in your series also? I=
f so,
I'll just drop this one.

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Mon Oct 06 13:09:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Oct 2025 13:09:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138154.1473899 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5kxu-00079N-Ic; Mon, 06 Oct 2025 13:09:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138154.1473899; Mon, 06 Oct 2025 13:09:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5kxu-00079G-Fx; Mon, 06 Oct 2025 13:09:22 +0000
Received: by outflank-mailman (input) for mailman id 1138154;
 Mon, 06 Oct 2025 13:09:21 +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
 <SRS0=iNYA=4P=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v5kxt-00079A-5h
 for xen-devel@lists.xenproject.org; Mon, 06 Oct 2025 13:09:21 +0000
Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com
 [2a00:1450:4864:20::333])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ab748ef1-a2b5-11f0-9d15-b5c5bf9af7f9;
 Mon, 06 Oct 2025 15:09:20 +0200 (CEST)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-46e3a50bc0fso40583355e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 06 Oct 2025 06:09:19 -0700 (PDT)
Received: from [192.168.1.183] (host-92-22-57-86.as13285.net. [92.22.57.86])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-46e7234e5fdsm159422415e9.6.2025.10.06.06.09.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 06 Oct 2025 06:09:18 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ab748ef1-a2b5-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1759756159; x=1760360959; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=3Myze3ejqhouVasY7+E/yCm5I4+/d50YTlT5cwdoeb8=;
        b=Mo2iJON4eBNmNQbdAGTyDRKVRudrflYjOaVOmPBLr16HR9WqX/aD11dzTMJ4Gkl0kp
         k+Avd6G1rfdtIyZhMm0OfKpLKSlSPFPFr9u94Hm5xxqxbJiSJ9n4esPztjTv0pLBWiSK
         tupIyCF32YOqaS96AfpQXrGb/G6Q3/XhuLygg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759756159; x=1760360959;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=3Myze3ejqhouVasY7+E/yCm5I4+/d50YTlT5cwdoeb8=;
        b=rhCq/CdBE37wHkf2usQ5qkqW1yh4IxCTKFlMPeJbZZ5KMuADoW7TicL5p/gsGxOrsW
         ntR2TiPWH+DB3gHqxS2IlTewdMrHGCQ+x/qvC651XO/d4WaiHGUHrHbL8LL9CZUDkii/
         5eTSsn/1rf0DU8w7PaTDhLtIb8z4ObjSVbV8n4VXDgl+Z9e/x83llwkMXI/ZW0PiWkWn
         IZw/G/4H9LQVlJk7S1dGnXtaD7G2etRVD/2LMlqRsps2okZ1mNmY67VofQLnWIi+VG4I
         tZlad6dngPNv70/ERFeRzQQNXU6RxZMkFEeP1XnuIMhIwqNuDrke9BYHJg/Zxsq/iqA8
         fogA==
X-Forwarded-Encrypted: i=1; AJvYcCV1x4qnabl1+H+q8a5tBUxB2C6C51swUgD6R6Up1U3uR6b2O4BCHWM1FJbEHDZxxQFtmPpTQIivqGY=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yyh1LhcBqAnhf65GpWUVolXgJPa5J5RikSbPTZ0CCIXr+ZYPhMb
	zMKBGA/6HqzB7Gkz3nLKv2X/Pn/Nyo+sFZSDw0K6K/hzQlHSrQ8eY3dD/SgH13qQolY=
X-Gm-Gg: ASbGncsrVoAU00WCjPN6zWeckbcyjscxRN1z2nzReJe4cv4PgQXhxP+sYoXCddtDAr3
	EPPp2wIR+H0WozbDbEPSQeeu0oE3/rnBurgeRNZU165L4ufZkgF5FALq4WA1ogYDHWrMZCZJjo0
	KGl3xGVXoI7zo719s0TdljjdVfbZZN+E7OoqDV3p40JzJn8MrOxtiRx12hLW4hgFTZJEMQaH+zo
	Q3OJeMOaes3tesnHU0vri4i8hvDQ/XMZ7LfiAY/WTq9KseNDKypEpmIxDbVvImeXOc1H2ImL/pI
	jEgoI0O25jk1Ls1I33cUvUD7GtEyW0MiubReyMA6hO2pwYx7S7zoLgvlVncgueuvQQJkvsBK1gN
	0cYqRaJhpOeqA6ejdNvZp3UqKZ0kmiQGNskJDYt5o3q4oL85xO2KGhX95OiqteMlBCWZVIWNDaU
	T9yfZGY2JYqYnR
X-Google-Smtp-Source: AGHT+IHxTFA2PsgBFxLa9SDqGvPQlGM5djO2J6b7504IACAt6oUSQp9Rdq9fmDvxlmWOJsgtkUa1WA==
X-Received: by 2002:a05:600c:138d:b0:46e:506b:20c5 with SMTP id 5b1f17b1804b1-46e7114425amr73476425e9.26.1759756159208;
        Mon, 06 Oct 2025 06:09:19 -0700 (PDT)
Message-ID: <cc4c4e18-e242-46a6-a176-4d65c7b0527a@citrix.com>
Date: Mon, 6 Oct 2025 14:09:17 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86: Add missing forward declaration and include to
 hvm/svm/vmcb.h
To: Alejandro Vallejo <alejandro.garciavallejo@amd.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <20251006104608.12149-1-alejandro.garciavallejo@amd.com>
 <588656ba-dabf-42f2-941f-6cc017961271@citrix.com>
 <DDB7DOIV02H0.3P4Y4VQVY1HWZ@amd.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <DDB7DOIV02H0.3P4Y4VQVY1HWZ@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 06/10/2025 12:29 pm, Alejandro Vallejo wrote:
> On Mon Oct 6, 2025 at 1:04 PM CEST, Andrew Cooper wrote:
>> On 06/10/2025 11:46 am, Alejandro Vallejo wrote:
>>> ---
>>> This dependency already exists today. I'm just making it explicit.
>>>
>>> "segment_register" is weird. It naturally belongs in vmcb.h, but the
>>> emulator makes use of it and must be compilable outside of Xen.
>>>
>>> I don't like having vmcb.h depending on the emulator header, but I see
>>> no way of breaking that dependency without breaking the emulator unit
>>> tests.
>> Pulling it into a new header is fine.Â  The emulator can include anything
>> (free-enough standing) in arch/x86/include/asm/
> I thought it didn't, if so I'm at a loss at to why segment_register is where
> it is.

Well - it's needed by the emulator as well as SVM.

>
> Be that as it may, your series conflicts with this patch and it makes no sense
> to keep both around (when none of them are going in for until 4.22).
>
> Will you be including a fix for the segment register in your series also? If so,
> I'll just drop this one.

I've folded the extra include into my first patch.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Oct 06 13:14:44 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Oct 2025 13:14:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138161.1473908 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5l33-0000DF-3o; Mon, 06 Oct 2025 13:14:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138161.1473908; Mon, 06 Oct 2025 13:14:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5l33-0000D8-18; Mon, 06 Oct 2025 13:14:41 +0000
Received: by outflank-mailman (input) for mailman id 1138161;
 Mon, 06 Oct 2025 13:14:39 +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
 <SRS0=rD3D=4P=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1v5l31-0000Cv-Ey
 for xen-devel@lists.xenproject.org; Mon, 06 Oct 2025 13:14:39 +0000
Received: from BN1PR04CU002.outbound.protection.outlook.com
 (mail-eastus2azlp170100001.outbound.protection.outlook.com
 [2a01:111:f403:c110::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 65f121fd-a2b6-11f0-9809-7dc792cee155;
 Mon, 06 Oct 2025 15:14:33 +0200 (CEST)
Received: from CH0PR03CA0065.namprd03.prod.outlook.com (2603:10b6:610:cc::10)
 by SN7PR12MB8170.namprd12.prod.outlook.com (2603:10b6:806:32c::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.20; Mon, 6 Oct
 2025 13:14:23 +0000
Received: from CH1PEPF0000AD7C.namprd04.prod.outlook.com
 (2603:10b6:610:cc:cafe::8d) by CH0PR03CA0065.outlook.office365.com
 (2603:10b6:610:cc::10) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9182.20 via Frontend Transport; Mon,
 6 Oct 2025 13:14:23 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 CH1PEPF0000AD7C.mail.protection.outlook.com (10.167.244.84) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9203.9 via Frontend Transport; Mon, 6 Oct 2025 13:14:22 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.2.2562.17; Mon, 6 Oct
 2025 06:14:22 -0700
Received: from satlexmb08.amd.com (10.181.42.217) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 6 Oct
 2025 08:14:22 -0500
Received: from [172.21.123.104] (10.180.168.240) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.17 via Frontend
 Transport; Mon, 6 Oct 2025 06:14:21 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 65f121fd-a2b6-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=lctfbT/THmEeTNg5ZIvTYlSXNAVk8oloS/aljWLbSFS/f+MAj1CkzIal5ZheG6TWMul4QwRnfTDzmWe1VxtpCemfB25ENCQQ0OAohTU4wx2EuL+q/CDdRBNCOxRXTdMZlEWMKJBZEohPdgVsPGhTZRaDQVYewCg4V28taleVP4ImMW8XP7h6ysWvieROWGvK40HT9OWpzZE/uk7tgodOBpbaqqWWG2a9wGzi+JIaKVqyUvresY7WaAKlG/5m3j8NcByZVIrIgv/q61OZ4vQ9mASl3XUcVP1bpKHl/rt702Ov01cfKvJ8R0Dsmwh9HBGtHdsfsQldd/uJw0naHXSe6w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fc2ewYII0WBcwFTXVGQReO2lXcHYiCZTyY+eCgE1hBk=;
 b=Sapnxk8wf9e0TGI90qrpQ+sVFNVZbAbkB0Y56dgpSumURG0n0gMZUEAfmwTgHMK/rLwhsOZwL2HtJ+IX5rn43nYx1m9aOdgGlFqhyfuLBjsE3f8kLczgUfieRDd1p1Zm6xDQjFMzXfFov5mYJCFI2g4cUhLfJB7/zIavGvGPaUootyOB3zyVzPTOkpOJZq+pgoV5rEagF2BgehQG+Sm3zhLkQK/64Jjp0l27AiMp1i9kQs9GEXGiiNP8LnFvcwIjh9oxZOCaHjmY6p1mawi8J6lM+7Q0la6VYbZVB5X+pfSXTEYifect01f2L0X4YyMd2hF6SWQ/tb8Ps+UklBBHPw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=citrix.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fc2ewYII0WBcwFTXVGQReO2lXcHYiCZTyY+eCgE1hBk=;
 b=Z3G+wlGDj9iS7nm+TDvhTZGbaWU/xVbJa9YphgwIS1kyAzIZG73ZTU0Zdj7rKhXBKTkJPZGs48411WHU6tzq4YmNgU6tyPXEyWPNxMs0s8/e/1zEfbNGtnnUtHw1RAfzNFIyTNx8G8RE8+Hj6/l6FolC1xfv5T0fOe/z7GK61pM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
Message-ID: <d4091083-2f2f-463c-a1df-4fde890fac3b@amd.com>
Date: Mon, 6 Oct 2025 09:14:21 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21] vpci/msix: improve handling of bogus MSI-X
 capabilities
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
CC: <xen-devel@lists.xenproject.org>, Jan Beulich <jbeulich@suse.com>,
	"Oleksii Kurochko" <oleksii.kurochko@gmail.com>
References: <20250929084149.70560-1-roger.pau@citrix.com>
 <2d1737a7-58e3-48e3-ac16-1bda3947c929@amd.com> <aON72Sq6ZJ6y95DI@Mac.lan>
Content-Language: en-US
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <aON72Sq6ZJ6y95DI@Mac.lan>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
Received-SPF: None (SATLEXMB04.amd.com: stewart.hildebrand@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH1PEPF0000AD7C:EE_|SN7PR12MB8170:EE_
X-MS-Office365-Filtering-Correlation-Id: a61f66cd-02c1-4458-0e55-08de04da4466
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|82310400026|30052699003|376014|1800799024|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?TUlsYkkrd05hNGZ5VzFPSU10Y3FuV0JOc0Z2V3Z3V2lxSlM4d1JKcy9KNHE4?=
 =?utf-8?B?WjJiZDNEY09yNEk1VDczS0YwL3ZGSXdIeVNHV2FKeDJKN0VPUVljZGpuY3Qy?=
 =?utf-8?B?V0tqL3ZEYjlZYmFXalpOeVlJVXA1TTVFaU9YWDFVUm4rTHZieEV0TEJRTE1R?=
 =?utf-8?B?b0dWVkdudE5HRGgxa1ByRldQSnRzUmp1aUZocFhVc0dxNUhYbDZFaENlTlln?=
 =?utf-8?B?UVZlRlJKbS9EeExhakVBNFl2TTB2Y2paQU9VclRhUHRjc3NQekhmRldLQURN?=
 =?utf-8?B?Y3FGV1FnTVZZd1I3MFRpTDVFclJLUWtRTDdlbHhZTFdjSmY3SW1JVDU5RFRx?=
 =?utf-8?B?cit0OXliWG92V3NKd0ZrUVAxazFGditYdmFXTmxndzdvdEJEN2QxUzFFUnMz?=
 =?utf-8?B?ZUFMNVBqZUR0TnkxbTRac2pnWjhvNXk0WFlBZ2V1TUN2aHZjckhPQ0I3Qmdw?=
 =?utf-8?B?TmZENUtYbWJHelVsSzRjcEt1Qmc1Y0VUdVZ2SmsreG81MFB1dk5Lc0t1VDcw?=
 =?utf-8?B?STlBeWFadzlXTFJsRnFURUlzS0tyNFdHRWlJNzdZRTJlOVFxUWZKYjNERkk4?=
 =?utf-8?B?eFgwSlBtNkZtanVWNFNDY1F6b0dnWm5VTU9rQ3VLTWpBQlZDem01RU5qVVR5?=
 =?utf-8?B?RkYxM0NuR04vL0M3a2NiK1hCeTkxWlVNb1F3ZXIxck05bnQxTkFXQzcwajhn?=
 =?utf-8?B?M2s2a1FjTmFOQ0l2WUNwdFFKVlV4UDdIZUYxTFMxSXREQ2M3YXY5WTVUQk9Q?=
 =?utf-8?B?Zm9EK2VKYkpCQkVYRHhGdzdXWExiWUR4NnVHM1hBSTNHK003TER0SGJSZmx6?=
 =?utf-8?B?RE5oU2xnM2tpS3gwVTA3cWFTWThoclZvV1laeDV0M0ZDWEg0a0hEWWNvNjk1?=
 =?utf-8?B?a3BpMFgyeThYQi9yZWswVWh0Yks4QlNXc0taOWN4Uk95Q2FCK21CWHgvMDU0?=
 =?utf-8?B?andNUjZNK2I4ZnlYaGtXSHNRckhzSVk4OFFyNlBEWWpXaENXMkxaWnJqemFo?=
 =?utf-8?B?ajVNbmYveHh6NGcwYUc5THJXUlk0ZGhsQUFJRDBCZUcrM05tUllUZmVyUGN1?=
 =?utf-8?B?dExjMExzRVV5RHJyUmd6STU0QVlkcGFNNlJkREMxejFNNWdmUVZFTWFjN2Rp?=
 =?utf-8?B?UlF5S3VzYXlDaGV6WXF1S2k5dVNnTkR1djM4TitONGFhdHAxQ2NHcnFsS3Vw?=
 =?utf-8?B?OEpVSFlncVdwY2xVRVZxQndhVzVnS1A3bGpMdWl3ekZndThTZTdGZlhMTVk0?=
 =?utf-8?B?Y1JPSW1OM1QwZWsyY2ZjRkphMDhNOWd3aytjYjBTV09abDJ1V2hpSzBNNGw4?=
 =?utf-8?B?VDROOXppblMzbWg2ZVVNaUxXd0pWWWFhYWVrdnZoRm85SHhZSW1CajBZL3pR?=
 =?utf-8?B?OU1ZS2J6VktCWS9vQ3BvbUlzb1M1SkxmMGs1S2o3NFR4REp0ZW5RRFUxQ2pX?=
 =?utf-8?B?Z1QrbkhMUU1NMzBGOXlaZzEyazdlSVNLdHdGWWVHZ1k2aTVCNWFtZUxIREZM?=
 =?utf-8?B?Unk2RDRZZ1BJbFZUT3o1LzhtTmVWRlIwaW5lamV6c09sUzkvbDcwNmhJa0Fq?=
 =?utf-8?B?MjBYM1N5MzFDYTQvY2tqeHpoZC9CT1BKWHJJK3BxMGw3b3lQd25oazg4T0NR?=
 =?utf-8?B?VjVEKzJIaWxyRndiZHJxZUtBSGJaVHBMODM1MTBTbVBxUjRKT1Aza2dvYndt?=
 =?utf-8?B?UnNXWmN1Ym0yQmh1Um53RWphRlNuWjJYUHhMWFF3azlYeVZVbkZtNWE3bEcz?=
 =?utf-8?B?RWpweVMvdFZhcC9SUDlHK29OZzlFcDE3Z0lvTjJMOC9aWERjbHVDdXdpR3pj?=
 =?utf-8?B?KzhRZTM3MjhKOC9YS1BnWUg5MnE5NnhENTNUcmoxQTYrREIzZ3cydlhSb3ZZ?=
 =?utf-8?B?bThCbVRETE9mRjhIcU1MMTdKbDhPbU9HU1FCbDVYdjRIY084bytkWitQbVQ5?=
 =?utf-8?B?NHF6NEtIVEhEZ0VMTGxObnB5Vk5lUUE3c2tVT01FVlAreGlFNVZ5NXBSRTIv?=
 =?utf-8?B?TWlxMVpLamFnTlJURU5SdDZlQVVTSjlYQzZJQTJJR1FEcmszcGJZM2NxUzZN?=
 =?utf-8?B?R0llVUxSN0JiOFNxMFBlUU9BS2N1aUxoeWU1Mkp5R0Q4OHlKT0ZpcVhCalI0?=
 =?utf-8?Q?uE7E=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(82310400026)(30052699003)(376014)(1800799024)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Oct 2025 13:14:22.9574
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a61f66cd-02c1-4458-0e55-08de04da4466
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CH1PEPF0000AD7C.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB8170

On 10/6/25 04:20, Roger Pau MonnÃ© wrote:
> On Fri, Oct 03, 2025 at 11:29:40PM -0400, Stewart Hildebrand wrote:
>> On 9/29/25 04:41, Roger Pau Monne wrote:
>>> I've had the luck to come across a PCI card that exposes a MSI-X capability
>>> where the BIR of the vector and PBA tables points at a BAR that has 0 size.
>>>
>>> This doesn't play nice with the code in vpci_make_msix_hole(), as it would
>>> still use the address of such empty BAR (0) and attempt to crave a hole in
>>
>> s/crave/carve/
>>
>>> the p2m.  This leads to errors like the one below being reported by Xen:
>>>
>>> d0v0 0000:22:00.0: existing mapping (mfn: 181c4300 type: 0) at 0 clobbers MSIX MMIO area
>>>
>>> And the device left unable to enable memory decoding due to the failure
>>> reported by vpci_make_msix_hole().
>>>
>>> Introduce checking in init_msix() to ensure the BARs containing the MSI-X
>>> tables are usable.  This requires checking that the BIR points to a
>>> non-empty BAR, and the offset and size of the MSI-X tables can fit in the
>>> target BAR.
>>>
>>> This fixes booting PVH dom0 on Supermicro AS -2126HS-TN severs with AMD
>>> EPYC 9965 processors.  The broken device is:
>>>
>>> 22:00.0 SATA controller: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] (rev 93)
>>>
>>> There are multiple of those integrated controllers in the system, all
>>> broken in the same way.
>>>
>>> Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
>>> ---
>>> Cc: Stewart Hildebrand <stewart.hildebrand@amd.com>
>>> Cc: Jan Beulich <jbeulich@suse.com>
>>> Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>>>
>>> While not strictly a bugfix, I consider this a worthy improvement so that
>>> PVH dom0 has a chance to boot on hardware that exposes such broken MSI-X
>>> capabilities.  Hence I think this change should be considered for inclusion
>>> into 4.21.  There a risk of regressing on hardware that was already working
>>> with PVH, but given enough testing that should be minimal.
>>> ---
>>>  xen/drivers/vpci/msix.c | 50 ++++++++++++++++++++++++++++++++++++-----
>>>  1 file changed, 45 insertions(+), 5 deletions(-)
>>>
>>> diff --git a/xen/drivers/vpci/msix.c b/xen/drivers/vpci/msix.c
>>> index 54a5070733aa..8458955d5bbb 100644
>>> --- a/xen/drivers/vpci/msix.c
>>> +++ b/xen/drivers/vpci/msix.c
>>> @@ -675,6 +675,51 @@ static int cf_check init_msix(struct pci_dev *pdev)
>>>      if ( !msix )
>>>          return -ENOMEM;
>>>  
>>> +    msix->tables[VPCI_MSIX_TABLE] =
>>> +        pci_conf_read32(pdev->sbdf, msix_table_offset_reg(msix_offset));
>>> +    msix->tables[VPCI_MSIX_PBA] =
>>> +        pci_conf_read32(pdev->sbdf, msix_pba_offset_reg(msix_offset));
>>> +
>>> +    /* Check that the provided BAR is valid. */
>>> +    for ( i = 0; i < ARRAY_SIZE(msix->tables); i++ )
>>> +    {
>>> +        const char *name = (i == VPCI_MSIX_TABLE) ? "vector" : "PBA";
>>> +        const struct vpci_bar *bars = pdev->vpci->header.bars;
>>> +        unsigned int bir = msix->tables[i] & PCI_MSIX_BIRMASK;
>>> +        unsigned int type;
>>> +        unsigned int offset = msix->tables[i] & ~PCI_MSIX_BIRMASK;
>>> +        unsigned int size =
>>> +            (i == VPCI_MSIX_TABLE) ? max_entries * PCI_MSIX_ENTRY_SIZE
>>> +                                   : ROUNDUP(DIV_ROUND_UP(max_entries, 8), 8);
>>> +
>>> +        if ( bir >= ARRAY_SIZE(pdev->vpci->header.bars) )
>>
>> This assumes a type 0 header. For type 1 headers, bir values 2 and up are
>> also reserved.
> 
> Right, but those BARs will be set as VPCI_BAR_EMPTY for type 1 headers.
> The check here is to avoid doing an out of bounds array access, the
> check for validity of the pointed BAR is done below.

OK, makes sense.

>>
>>> +        {
>>> +            printk(XENLOG_ERR "%pp: MSI-X %s table with out of range BIR %u\n",
>>> +                   &pdev->sbdf, name, bir);
>>
>> Nit: placing the cleanup label at the end of the function and using 'rc' would
>> make it more amenable to future uses.
> 
> The issue with that is that we then end up with a structure like:
> 
>     return vpci_make_msix_hole();
> 
>  error:
>     xfree();
>     return rc;
> 
> Which I don't like much because of the double usage of return (it's a
> taste issue TBH).
> 
> My motivation for using a goto is that they are conceptually the same
> error path, but we provide different log messages to aid in debugging
> the issue.  Otherwise all checks will be done in a single condition.
> 
> Let me know how strong you feel about the usage of a label here vs one
> at the tail of the function.

Not very strongly, hence the Nit: prefix.

>>
>>> + invalid:
>>> +            xfree(msix);
>>> +            return -ENODEV;
>>> +
>>
>> Extraneous newline.
> 
> Thanks, Roger.

Overall the patch looks good to me. With the commit message typo fixed, and the
newline removed:

Reviewed-by: Stewart Hildebrand <stewart.hildebrand@amd.com>

Lastly, I don't have a strong opinion on Alejandro's suggested prefix, so my R-b
stands with or without that.


From xen-devel-bounces@lists.xenproject.org Mon Oct 06 13:17:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Oct 2025 13:17:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138173.1473918 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5l6A-0000qa-I4; Mon, 06 Oct 2025 13:17:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138173.1473918; Mon, 06 Oct 2025 13:17:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5l6A-0000qT-FN; Mon, 06 Oct 2025 13:17:54 +0000
Received: by outflank-mailman (input) for mailman id 1138173;
 Mon, 06 Oct 2025 13:17:53 +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
 <SRS0=yrnp=4P=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1v5l69-0000qL-Oj
 for xen-devel@lists.xenproject.org; Mon, 06 Oct 2025 13:17:53 +0000
Received: from PH0PR06CU001.outbound.protection.outlook.com
 (mail-westus3azlp170110003.outbound.protection.outlook.com
 [2a01:111:f403:c107::3])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id db82c574-a2b6-11f0-9809-7dc792cee155;
 Mon, 06 Oct 2025 15:17:51 +0200 (CEST)
Received: from BY3PR03CA0007.namprd03.prod.outlook.com (2603:10b6:a03:39a::12)
 by DS0PR12MB8561.namprd12.prod.outlook.com (2603:10b6:8:166::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.20; Mon, 6 Oct
 2025 13:17:40 +0000
Received: from SJ5PEPF000001ED.namprd05.prod.outlook.com
 (2603:10b6:a03:39a:cafe::83) by BY3PR03CA0007.outlook.office365.com
 (2603:10b6:a03:39a::12) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9182.19 via Frontend Transport; Mon,
 6 Oct 2025 13:17:39 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 SJ5PEPF000001ED.mail.protection.outlook.com (10.167.242.201) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9203.9 via Frontend Transport; Mon, 6 Oct 2025 13:17:39 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.2.2562.17; Mon, 6 Oct
 2025 06:17:38 -0700
Received: from satlexmb07.amd.com (10.181.42.216) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 6 Oct
 2025 08:17:37 -0500
Received: from [192.168.178.136] (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.17 via Frontend
 Transport; Mon, 6 Oct 2025 06:17:37 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: db82c574-a2b6-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=N47i8OyY1tomglRJgAPSFtfDXoHRmH0qyMpoa5e99EJ9+azQI8tHvjCbXKVNT9Vt44bS9QWmp2i2BNnVRJQOQ37uZi/b4/KpqSxV+CEsq/HXrX34j/1ZZ1QxMPgds8rnukNuvncqKDh2o1G2vCV86y3D2sX6RME22KlDpQMMIqcUVicBDlbqC0YsQ+JPMRCDQfS9T3VSH0ZbH6zqSIsdTza62zrvJfv15SC376IvrwV+9DzGCrfxXf4/trfsObM1lSGo94caluqSJ6Fv68mq9Z328j23ZsSSROi5ftVsJksjDMDhKd8LTMEU749q0mc6XuGTzDLPpnBwdi1wOQVSCw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dJI+YTyaL4sD/ZNSkyggb7h+UOYpwjUzZLn5u4d72WQ=;
 b=SBeTIEe4emhtcW3b91vf00afMykKoACfiDtdWEpcufpaVi75uh6hUDl7ygviKVLg5Nczp+wc5+6YpXSdDpLci3dQbPdcsA1m/7kPBON4beWRmmH8hxbeqj7eGYKqxlB6iXpp1UnGCvDw2Mp1g2sBPEuiD8zaKeQu888hF7TYytsVxA0oUKgta2WBeqRE14rz9HLqsDwSAjG/BkkKhYc0TG2+RR/CKuOi9l5GtMqedC1C6pqLRb+4n2v5FGosqaC53yeY6a0Q2BhdZ/BLvQ7Xm8ksPVSO8JaTLDmE87HMcYxMgCszO2A7WjVCyB3zJygCYsiB+NFgauR6scuQLUjuVg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dJI+YTyaL4sD/ZNSkyggb7h+UOYpwjUzZLn5u4d72WQ=;
 b=rsOMfQiz3k2QmcAQQEn32Tzjx0aXnRK+9VLN6OHg9hUy8uJ6dTnGzcgbDXrXWpE8EroD8YhwlaBlGwyazDGwYL8JcrEmhi0ETRSm0AV5tKbZMtbCXMTiUYHezn7MC7Fn6vJlxT0E6wBQImFU/LkdeXneWVKdiKx9tmInzmqSp44=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
Message-ID: <356f0e42-40c8-4320-936d-4e94eb512202@amd.com>
Date: Mon, 6 Oct 2025 09:17:36 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] libs/guest: don't use unsigned long as type for PFNs
To: Juergen Gross <jgross@suse.com>, <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@vates.tech>, Oleksii Kurochko
	<oleksii.kurochko@gmail.com>, Luca Fancellu <luca.fancellu@arm.com>
References: <20251006055939.27286-1-jgross@suse.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <20251006055939.27286-1-jgross@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB04.amd.com: jason.andryuk@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ5PEPF000001ED:EE_|DS0PR12MB8561:EE_
X-MS-Office365-Filtering-Correlation-Id: c9a35071-5d8f-4df5-dbab-08de04dab9a0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|1800799024|36860700013|376014|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?dFlBWkd4cHlET2lUWjU1TEZLQlkrSHEwTG8xWmRyd3VNWGl3UnhxWEk0M2RB?=
 =?utf-8?B?ZFc2bkVOWUdaSkR5aDEva0lqVEdnR2lZNEZYTkJiQjVOZCtPeHdmSXI5T0Zj?=
 =?utf-8?B?R2thL1NxUFBqK3hoSU9vZjg4OEZPak5qd0MwNmVBVmlsWGxYODA1U2VmTzdL?=
 =?utf-8?B?c2hlaWU5RXAvbHBuellzdHExNzVCZ2t1STc3TjhjaHFKVDQxdVNSaGI1UVlD?=
 =?utf-8?B?eXJFZU15WGc3Y2RvejkvN2ZrYmlSYlFzY3BKYzRERXdkdkVFWkpCaHRYT0o2?=
 =?utf-8?B?QXFhTVd0aEloV2ZMY0FkV3ZSdTJQUUsvdFNYeC9UUC9mQ1BPcHBFbWxPTjdY?=
 =?utf-8?B?aFdENUc1eldCb1dZSEVZUExrTjJIU0p1K3k5aUgxNWNpcWdLVW82OC91R3dU?=
 =?utf-8?B?VU1CQnczS3pLTTcycUxHUTdCTElUZ2ZKOWtEMmNWWGowVU0zN0p2U2tWcSs1?=
 =?utf-8?B?ZWk0bzdVNlZ1ZE9ldzFwSUNQajY2VFZTeDVBUWEvTUtEN0RDaTMrd0d5Wk4x?=
 =?utf-8?B?anFxcjdYQVNQR2YxVDI4U3Uyb05leEdFb00vMHBIK3lhbFF0WGYxNVJ1NDRj?=
 =?utf-8?B?QUJHa1pjRVpMbWRxclU3TVVId1RZYXFIU0pFcTNJUkVyaElRYXZTK2YvMnNP?=
 =?utf-8?B?N1dLdEpBN0p5T1VvNU1oMlBncVJBbUpmdTFpOVFQYnFLblJiWXBZNnBpeTVq?=
 =?utf-8?B?VHJwdjVHMzl3UUhlaGdsVE5kR3R1MHh2Zk9zb3ZVMk93NkVnVEZQV21GSHBj?=
 =?utf-8?B?NVZ6a0VhUk9MUlBnRkhTbEltcmlsRm5FUVVqNDRyMFRKblIxOWpXWnkxa2pW?=
 =?utf-8?B?YzRuOHdTSkJ6OEY4VzUxbnMvbU5heE5BbXV6MENWUnEyZmFwVUdBVGJmWEFm?=
 =?utf-8?B?TGxSZDdOdUlBeTloRFpsNG5kaCtpaWlneVIzQjZucEZzelV6Tjl0a0RxalFW?=
 =?utf-8?B?a2FtY0Rya1ZZZUxNZXllTnRVdlh2OXh2RFdYMHZtNXo0Wk1UeGd2R3p4UkRG?=
 =?utf-8?B?dTZVc0N2VmVrM25UVVJRY0xUQXZabW5UTEdJQVNvaW1PQ3Y2MjVncTZHU0NB?=
 =?utf-8?B?VWdtTjJLWU8rYmhTZVNNaUxDTVdvcHI4dkFZV3l4Q0pmM21GZmZtaXN2Z1hu?=
 =?utf-8?B?ZGlhSERCTGdyendtT2VaZ2NjWXhCbVV4THRpcGlwZ2M1THUwM2FxRU5WUFNa?=
 =?utf-8?B?aVpaS3pyS09NWEdYaGlTSllpTXd0NU03WithWGIwemRRUStiYThGRE5BZ2NR?=
 =?utf-8?B?eEVQNnBDM1kyQ0ZNQUVVdUVxWElWZis4M09zWGo1Z3hqZUN0dGhEdkZFR0Ns?=
 =?utf-8?B?VTFlckppVisxYmxlYjlIY0tLV29BdVlzZEtwU1pzRmtRWDE1Y3pFc3JyWUpm?=
 =?utf-8?B?TGhFV1NvQXNvN2ZVekdjcWpURDN6ZURJL0VZalYzN1ZKSHAvSjYxaStLZ1JQ?=
 =?utf-8?B?UW41dzVrVDRMWE00K091dEFIRGIzN1hoV2Y1Y0VWRytoL0x5eUJ2bUJhNCtI?=
 =?utf-8?B?RkhKMXI1WFcwVzNmaW91SDhwWXN0aEhkZmRVWHUyWXB3c0dJTDltNXBhU0gz?=
 =?utf-8?B?TjdKdHhXRklsd2t2ZklZaFR1OTZ6bnZIcHcrK3RvQ0VRSnFpNHZFYXN2VEpj?=
 =?utf-8?B?TjZQY2V3UWlTcUpyazZLM2pQUk0yeVEyVG90M2YzNzZIdGlmeEZqRjAwUEVJ?=
 =?utf-8?B?ZnA0WlNaL1NWcXJobVM2TG9rd0tTQlBCMldJVGVPdHhqTXdnN0EyT1hoZ28y?=
 =?utf-8?B?ODFZR0svcEJ6NVI2MFZGZER3MUtvS1RhYzU5NSt4VTZiK05JOTVKTEtscmVu?=
 =?utf-8?B?OHIxU1RNQ2VmK09CMDhqYUtEOHljampFbjFHS2lCMVlGWHF0b2xHY3BxNTJP?=
 =?utf-8?B?VVJmMHVjZUNHZFBvM2RXWFRNM2ZSYlBJNVB5cXdjQ3phNWhlZjVzeUd2TmtC?=
 =?utf-8?B?MUt4Q3JTK3ZQMzVYRUhBVktCYS9hVHdvcmZKLzhBR2lRbTE3aTJMNkQ2VE9J?=
 =?utf-8?B?c05qSnZDMWRPWVdIdkY0ZERtYUcxelB6V1JTQ0gwelpWQU9lRDZnRUhsREhP?=
 =?utf-8?B?Rnd1NzFQemV5NmdKUE1tYVljZUwvVndqcjBVMFYwMVlVUDgzelp0THhETzE0?=
 =?utf-8?Q?8IRs=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(36860700013)(376014)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Oct 2025 13:17:39.5562
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c9a35071-5d8f-4df5-dbab-08de04dab9a0
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ5PEPF000001ED.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB8561

On 2025-10-06 01:59, Juergen Gross wrote:
> Declarations of xc_dom_console_init() and
> xc_dom_console_set_disconnected() in libxenguest.h don't match their
> implementation in the library.
> 
> Under arm32, xen_pfn_t is a uint64_t and wider than unsigned long.
> 
> Use xen_pfn_t for GFNs in the library to fix that. At the same time
> change the parameter name of the implementation to console_gfn,
> matching the interface declaration in the header and reality (it is
> a GFN, not a PFN).
> 
> Fixes: b6fc307b0b00 ("libs/guest: Set console as disconnected on resume")
> Fixes: 971b7d5ecbcd ("libs/guest: Set console page to disconnected")
> Reported-by: Luca Fancellu <luca.fancellu@arm.com>
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
> V2:
> - switch parameter name as well (Andrew Cooper)

Thanks for doing this.  I ran the original series through CI, but didn't 
know that omits an arm32 toolstack build.

I see it's already in the tree, but here's an after-the-fact:

Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>

Thanks again,
Jason


From xen-devel-bounces@lists.xenproject.org Mon Oct 06 13:40:51 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Oct 2025 13:40:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138204.1473960 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5lSH-0004zA-Q5; Mon, 06 Oct 2025 13:40:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138204.1473960; Mon, 06 Oct 2025 13:40:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5lSH-0004z3-NP; Mon, 06 Oct 2025 13:40:45 +0000
Received: by outflank-mailman (input) for mailman id 1138204;
 Mon, 06 Oct 2025 13:40:44 +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
 <SRS0=hel7=4P=amd.com=Alejandro.GarciaVallejo@srs-se1.protection.inumbo.net>)
 id 1v5lSG-0004yx-Do
 for xen-devel@lists.xenproject.org; Mon, 06 Oct 2025 13:40:44 +0000
Received: from PH7PR06CU001.outbound.protection.outlook.com
 (mail-westus3azlp170100009.outbound.protection.outlook.com
 [2a01:111:f403:c107::9])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0cdbff30-a2ba-11f0-9d15-b5c5bf9af7f9;
 Mon, 06 Oct 2025 15:40:42 +0200 (CEST)
Received: from SJ0PR03CA0154.namprd03.prod.outlook.com (2603:10b6:a03:338::9)
 by BL1PR12MB5969.namprd12.prod.outlook.com (2603:10b6:208:398::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.16; Mon, 6 Oct
 2025 13:40:32 +0000
Received: from SJ1PEPF000023CF.namprd02.prod.outlook.com
 (2603:10b6:a03:338:cafe::de) by SJ0PR03CA0154.outlook.office365.com
 (2603:10b6:a03:338::9) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9182.20 via Frontend Transport; Mon,
 6 Oct 2025 13:40:31 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 SJ1PEPF000023CF.mail.protection.outlook.com (10.167.244.11) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9203.9 via Frontend Transport; Mon, 6 Oct 2025 13:40:31 +0000
Received: from localhost (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Mon, 6 Oct
 2025 06:40:30 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0cdbff30-a2ba-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=flKvJk+iP2XYbel/OYoxMkBzhhZk6r1JOdOOxJgQZHjKBIV8//84wJkODNilIKmFdOk5d2TzfoUiD+bEdxKcDUr7sUylhkYnwp1Xww781OTfIwf1eFQWk61Oemhr4dbPb9aHwEfWLN4hyGKUDX7O2YJ7k4PRoesVaTP7GNSXmRGJdc8gS9wq3n4Id8ivrkwtGh/WOGcoVVF/5FNp4YWf84ATlwgjR6GkuW7IzS07SsmKkUPhJT46l/Gbj9DHzIv0gmxPgc19QudUeMOenLDngsBhbhrFECB8r+xASCwZepLiQTgpT8/B4GsR8vXseDBoVYEGHMJs/+d4GyqvVZFLTg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WH4wumm8VOAqyXhODEDDbRFRTTUPS1bG1vk/VfEPiTU=;
 b=PQ2kgEwmaf1BNP0ZfmexQO3J3Yl5H+PXJbu074t/oLS+W55xC8tppCbpE2BHG8imJoCMvTgNFeRTkkXmo7ERkegplxgqPlRkP5blpbUl0uq9a5Qo/6r2SIh5/NqdjkevY40H/SkM3VCzLpmFvVY3hvbO2k8baNSnmaKRa2v0DuRhcT4fDFqxvajD5R6k7J9QRPEUrKpNo/a7e/Y4X/rsR8bBhYxNLsvioohYg52MWsXTTKc+tJ9at7qt/nUKdzSSBWCjcnsddN5oR/cJjvApna/KsVpUjHEOEBUqVrh37zo/gLXwb2rqFQhg0U5CrcJKCcAMhLVsGSSkkHFklb/PYA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WH4wumm8VOAqyXhODEDDbRFRTTUPS1bG1vk/VfEPiTU=;
 b=jkHN16NiOFDojlvzp6g7eJnx9OmxBao9xJYgY1sm4BlIaWjiNE8Ho04CB5BPSS8XMWEePoKLD+fahqaxMbVEs7oPRUuPo5hH7CZk/++di+Zp7sMsUVvfSXgEn/EVeZ2UcX8V74jyYPU5hDhn4z+ih+0MJl0fh0C0yDmcBP9d+Os=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="UTF-8"
Date: Mon, 6 Oct 2025 15:40:28 +0200
Message-ID: <DDBA5Q0Y4TRG.312ER64SBMO4Z@amd.com>
From: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
To: Alejandro Vallejo <alejandro.garciavallejo@amd.com>,
	<xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Roger Pau Monne
	<roger.pau@citrix.com>
Subject: Re: [XTF PATCH v3 2/3] x86: Allow exiting QEMU in TCG/QEMU
X-Mailer: aerc 0.20.1
References: <20251006102743.3907-1-alejandro.garciavallejo@amd.com>
 <20251006102743.3907-3-alejandro.garciavallejo@amd.com>
In-Reply-To: <20251006102743.3907-3-alejandro.garciavallejo@amd.com>
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ1PEPF000023CF:EE_|BL1PR12MB5969:EE_
X-MS-Office365-Filtering-Correlation-Id: ecc6ec06-ef6c-4016-3d9a-08de04ddeb3a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|36860700013|82310400026|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?S1BITjhrQlFHOW81UXFZMU44RXYzZjc5aktLRnR5TmRNRnU3VG54RUVIb3BJ?=
 =?utf-8?B?MDhSVzQrdWFnQjdlNCs5WndQRzgzb1FnRVlPOFFTTENOLzQ2cE94cEFqeWh4?=
 =?utf-8?B?VUsxRGE3RnE2TFQxQm1jQjhnQUxtd0c2ajZ1QWhZQzlIVjVFTFdIbjYrK2Vs?=
 =?utf-8?B?bGd1b3pWMlVnZXEvelh2MGl2c0dDSGZHR3MzeFBVTldlY0gvbUszdmVwUERZ?=
 =?utf-8?B?c0NUbWh5TnlYYzgvU3BBNnhrSVI0T3lCdHJhOXVqRUtubFJyRlZDZjZWQkMv?=
 =?utf-8?B?SDRiRXA2aHkyL1E0SzV5bThDYlVtVFUvVytMQXZORWVkL2N0RnUzVHZBM0gx?=
 =?utf-8?B?dXYrUlZ0ZGdyS1lTakR5blZEVk9nbXcwR3ZXejlxdnB0aGRoT0tjdFVQZ0dm?=
 =?utf-8?B?OXQyaTM1amhzZmRVNXJYZ0RxZ080cHdvVWJydjd3bzd6MHo2dXZRdUw1MDZG?=
 =?utf-8?B?dmtxOGlUbVdwTUo0YTQ1TWRVampxWTZMM3c5dXV1UzluSytmc3BNTGNoTldC?=
 =?utf-8?B?SW5Kc1dHd2lTSWowYmtWWHFQVXloUGJwenlqK2IwQUZnUFIrOXlZcy8xa2Ez?=
 =?utf-8?B?eHRPQjdFdnREYkpEVFF4WUZyY2x5VEowVzJBZWN6QkM1OGUwZXMwMTNXd3Nv?=
 =?utf-8?B?NmVNM21wQnJYUlJLa0tQOGVOcVVuVDBUajZlZEpiNWhZNTl4TlFXZWtGVldI?=
 =?utf-8?B?V3VTWitoUVkwQ083TmlLWGxJVmNtZDhZemFoK0hwRHJtRHRLZ29qdkM0Risw?=
 =?utf-8?B?aGJicGh3NVhpMDluZlErK0xlT3pEeXRUbjIrRFFGY0RTUmlHci9tUEh4L0pP?=
 =?utf-8?B?SGdhTVNpUDdqRlRGQ25TaWRQbzNDM3BQTU4vTXZka1ZsendvMUZQeXVHUHg1?=
 =?utf-8?B?NUpGbWJkenVLSitPUWhPMTNCVHJONGpDWjV2LzBwS0FDRURiOG05WWErVUFz?=
 =?utf-8?B?M2QwUmc2NnE1dU8xVzJhV05CZ2ZLUEJBWTM5Q3J5eFNKRUhqeWFvL3UwdHdR?=
 =?utf-8?B?WmRSNEU5R01Bd0lKOEhtbExodyt5cnBvbTM2VUNvUDZvQ3VaaFYrQmp0L1l0?=
 =?utf-8?B?UTZiZ0t4RCtwMVdQUkdTT3B2Nll4NWMrOU1YbSswS2VWYS9KUnVJSTdxZC8y?=
 =?utf-8?B?bFlMMUhTQUdNcEcxVHkrL2RsZUdOTzVpMkVxbHo3Uy8ydmRNemNjTHRZVklh?=
 =?utf-8?B?Zk5KaUh0U2JLQVdLZElEakFYY2F2VFNUZlpkYWx1Y0pTM1A3MmhVRm9KTHVr?=
 =?utf-8?B?WFhla2dzNUY2ZHVGMGpDOGNsaHJDYjFNWk5ydWNDbUpSSnFMbm1VSjJNcFRo?=
 =?utf-8?B?dnFJQTJQRzFVeitPeUF2bnhtekU4MzlXRkVNdWFad2hGUnRiQTV4S1pxQ1JI?=
 =?utf-8?B?M0QwMUMxaHllWEF5M0RLSzk3WkhsK2p2VmQ1S0xFMmI0UGEyWFduNGRGYnpa?=
 =?utf-8?B?TktsTE11c0xsMFBEYjE3NXF6bXpvVkdjM0VpcXcxM2hhb0owclY4ZzdGWm01?=
 =?utf-8?B?bFdrVVB4WDBjWWpnQTNCaXdLSWNwby9mQmpQUnkzUGpWc01jOTVnaTNOVTVL?=
 =?utf-8?B?N3ZWcXpNalJZRVhSUGg0aG92U2d0SEJzSmhyd1ZNeG9Ha09XekIxVVdoTm5S?=
 =?utf-8?B?MlVtc081ckk2RnJJUzVWWGRRdG53by9WeHJoVWRJTXZFc1h4T2gzT21Sa3FQ?=
 =?utf-8?B?YnZTMkoyTE5HVVJQN0xqWGJOWC9GeG1JcHU0cHZsUWZOSXE5akpVTlV6bUxD?=
 =?utf-8?B?aGlINlIwMHlhU00xbFVZYTRteTBYSDFURUY0UTlybTZRS3BMbmNPY2xtbkhx?=
 =?utf-8?B?YlpFSmg0enkrTzMzMkxXTVFVM1YvK0ZmK1BmM0tBQ2MxZWlYSE9lc1R3V3RG?=
 =?utf-8?B?YjBzZnR3RFRTQXJsSG4wZXI4aDVkYkJ6TjRka0FvcUlLNnBhQkd4ZFZRUG1K?=
 =?utf-8?B?ZG9QOHFhWXdiNFF1R0EvYWhyNXJWY0NFbWZBWlR3NDVIUFJKR3gxUXhQZ1h5?=
 =?utf-8?B?b1dNNCtqU1ViMmJTNHpKMXpKMmpxSEFva1o4MWRxMkRDd2hES3Q0YWlqU0hM?=
 =?utf-8?B?eVR3TnFRUklBWW82QUxOUC9rMUJ3WFJlMEZ1NmU2QzdDb25pVDNqM1dYVkE2?=
 =?utf-8?Q?3gMw=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(36860700013)(82310400026)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Oct 2025 13:40:31.2589
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ecc6ec06-ef6c-4016-3d9a-08de04ddeb3a
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ1PEPF000023CF.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5969

On Mon Oct 6, 2025 at 12:25 PM CEST, Alejandro Vallejo wrote:
> If QEMU has a debug isa-debug-exit device, we can simply write to it
> to exit rather than spinning after a failed hypercall.
>
> There's nothing to signal its existence, so it's a best-effort write
> after a shutdown attempt via hypercall.
>
> Signed-off-by: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
> ---
> v3:
>   * Moved arch_shutdown() from HVM/PV folders to arch/x86/traps.c
>     There's nothing terribly specific about it.
>   * Gated calling hypercall_shutdown() on cpu_has_xen being set
> ---
>  arch/x86/traps.c        | 15 +++++++++++++++
>  common/lib.c            |  2 +-
>  common/report.c         |  8 +++++---
>  include/xtf/framework.h |  3 +++
>  4 files changed, 24 insertions(+), 4 deletions(-)
>
> diff --git a/arch/x86/traps.c b/arch/x86/traps.c
> index 1f82752..b530719 100644
> --- a/arch/x86/traps.c
> +++ b/arch/x86/traps.c
> @@ -80,6 +80,21 @@ void __weak do_evtchn(struct cpu_regs *regs)
>      panic("Unhandled evtchn upcall\n");
>  }

Bah. Missing "#include <xtf/hypercall.h>"

Otherwise works as intended.

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Mon Oct 06 13:44:02 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Oct 2025 13:44:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138214.1473970 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5lVS-0005XM-78; Mon, 06 Oct 2025 13:44:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138214.1473970; Mon, 06 Oct 2025 13:44:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5lVS-0005XF-4B; Mon, 06 Oct 2025 13:44:02 +0000
Received: by outflank-mailman (input) for mailman id 1138214;
 Mon, 06 Oct 2025 13:44:00 +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
 <SRS0=hel7=4P=amd.com=Alejandro.GarciaVallejo@srs-se1.protection.inumbo.net>)
 id 1v5lVQ-0005X9-3C
 for xen-devel@lists.xenproject.org; Mon, 06 Oct 2025 13:44:00 +0000
Received: from MW6PR02CU001.outbound.protection.outlook.com
 (mail-westus2azlp170120002.outbound.protection.outlook.com
 [2a01:111:f403:c007::2])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 81d94ea2-a2ba-11f0-9d15-b5c5bf9af7f9;
 Mon, 06 Oct 2025 15:43:58 +0200 (CEST)
Received: from MW4PR04CA0110.namprd04.prod.outlook.com (2603:10b6:303:83::25)
 by MN0PR12MB5835.namprd12.prod.outlook.com (2603:10b6:208:37a::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.20; Mon, 6 Oct
 2025 13:43:45 +0000
Received: from SJ1PEPF000023CC.namprd02.prod.outlook.com
 (2603:10b6:303:83:cafe::cd) by MW4PR04CA0110.outlook.office365.com
 (2603:10b6:303:83::25) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9182.20 via Frontend Transport; Mon,
 6 Oct 2025 13:43:44 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 SJ1PEPF000023CC.mail.protection.outlook.com (10.167.244.6) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9182.15 via Frontend Transport; Mon, 6 Oct 2025 13:43:44 +0000
Received: from localhost (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Mon, 6 Oct
 2025 06:43:42 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 81d94ea2-a2ba-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=XOqyPIujB+To52aByxasRmFG7OmGFLeasaFmDdRYDq2MRzj0jzPIH4gsBYvv7uCCPCEZLJitV+kPGrVyPY5ewtPx8vRRfBMFOHHhvVEqAlkXe623CRqXtAelvyD5EZflMc498h5OvWPguZx6soZ2m2vkeZuG6T2JM4RP6uAs0TXhty34hFoaPo7OnlVY9VIoaJoc5BnJMgIr/iJ6sYM6atq+S1Ym8P2tqZ5+lo8kX7iqW0kDXpXkGkvhI+PCBcxKM9z8QeCwM/ozwdFQ/tPXAFEiq+ZkI7iNl0rHmMhNKJR5vdH0aLxEaOFPYfUNm2SV3nGOxD+PcsrChvSmFsW49g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sm3AHVNzPhBzgSsS/8lHiFefr28bb43KQhcCezuVZhU=;
 b=guvY9CBX8Qbbc9KWvWH40YI3CUifWyRTAiRkuK0o6em28wVPzCkWwlsVqSIP+bJWupyhY0+snmn2eWKRhAghtLD4gnbfWxMunT0seT0Xg8dgrxF2q514G7gnazUKdY7X+yzQmljjXSRFdan1u3DZQ0YEq1ok57AyOJGvX68PCsFPLKfaGuDVqAvKV/FfcStmSuP0/wfukzmG40sEZY5vsPVuyrfakfA9sWLiKbVdpU7cd3B8aPv7yVz0m3xmYL4dFza9SPQtSBQ4CJoRJgrUBMJXTV3cjOQplRuYDFu7znM3OE7tZl6wchaIbPUOcIuUIqtNevquDLMwicCR79YD0w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=citrix.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=sm3AHVNzPhBzgSsS/8lHiFefr28bb43KQhcCezuVZhU=;
 b=3zoB0D4JZwj199Z2HIjnu1zgmW9JUw1+JpbZdOK3pFP2XRdn0ygOSQPBMY5z2q4PDFL8DtbbiDDGcSpAxRpmzb4mFzWR/i5o4saKtimJFaXZ7bZpA1lGbQWlFvS5ubu/mSHPsy7FiFJwc34NBVsL2zVX+Ot/ft1e0OidpfusXbQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="UTF-8"
Date: Mon, 6 Oct 2025 15:43:41 +0200
Message-ID: <DDBA86O3QEZA.UN09CPMA1L1D@amd.com>
CC: Jan Beulich <jbeulich@suse.com>, =?utf-8?q?Roger_Pau_Monn=C3=A9?=
	<roger.pau@citrix.com>
Subject: Re: [PATCH] x86: Add missing forward declaration and include to
 hvm/svm/vmcb.h
From: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
	<xen-devel@lists.xenproject.org>
X-Mailer: aerc 0.20.1
References: <20251006104608.12149-1-alejandro.garciavallejo@amd.com>
 <588656ba-dabf-42f2-941f-6cc017961271@citrix.com>
 <DDB7DOIV02H0.3P4Y4VQVY1HWZ@amd.com>
 <cc4c4e18-e242-46a6-a176-4d65c7b0527a@citrix.com>
In-Reply-To: <cc4c4e18-e242-46a6-a176-4d65c7b0527a@citrix.com>
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ1PEPF000023CC:EE_|MN0PR12MB5835:EE_
X-MS-Office365-Filtering-Correlation-Id: dbcc40e5-9142-4e7d-7a89-08de04de5e51
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|1800799024|376014|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?U1FMS2Zia0E3WEZIcGEwRWNEeTB3OTEzWm5DcjRNREZnenN4Ri9JS2U0ZkRW?=
 =?utf-8?B?eUNHSEVEeWMydEs4MFNnbW5VNUdPb1FqTzFqNVdxM0QxR1FFVDIwYTVKSzBq?=
 =?utf-8?B?eTNqUXJvRDFPVDQwdGRFcUdiWGdWN2NqeG8rbXNQZEc0dzI5NGZQdm45Z2FZ?=
 =?utf-8?B?czVZcURGSTNjeWkxK1IyVjh0am9Ta2REMnRyTFJCZW9hR0VnZkZrNmEwOWQ2?=
 =?utf-8?B?WTFuT0JhRjlSZVljSVNBTEd5ZFk2cXN2dGszMGxTd2QyTW1lci8wb3ozYStL?=
 =?utf-8?B?WjFKOG1YNnl3RXF6aitPYkhSdWdvVTNyTTRmYUxIRXR3TU05NkdwTjdRZ3o0?=
 =?utf-8?B?eU5sVTJwRmVFeUxnQ0RXaHVOK2RUdWZTVHphVWxkR2VpSnpCVFdCVUI0UEpC?=
 =?utf-8?B?TjQyS21pWXBDb1dtc0Q0TTIxQzIra0lxWVQxWDlQOENabjB4OC9BcXZjVXBL?=
 =?utf-8?B?RTZrRks0TURTWnZtRy85VHJrQ0RHU3FjcTZ1OWFMOXVuRlkzODY0S0hKSkN5?=
 =?utf-8?B?WWl4amlqVndGYW5rTlhwc2RjYkNSQ1RMa20zZUcwOVg5ODkvbGJLUmdkZmRj?=
 =?utf-8?B?WXY4VUNlQVJkOXlKaWxtUkFDenRVWGNjWW0zcHovUExRQWVMa3BVRlVkc1p4?=
 =?utf-8?B?YXBMR0F1RHh1OS9wNVUxRy9HTHM5OUFHKzltTmtNUndIRk9SekN0UXlCK1Ja?=
 =?utf-8?B?K014NmI0cElXa2JSU01IbnpYaEEyWUNrMEM1cFJaOEcxN3lJV0FIajNDTUl5?=
 =?utf-8?B?WDNRWjBPL2drQkw3VEtyT0VzaWZuZlROK2NkZm53cDg1Mks2Q3VUM1FhbDRt?=
 =?utf-8?B?d0N4NW85am1Dbm1mQzhJelFqWHp2ZDJTNk5hak01ZUFEdE10Szh3czI1TkV3?=
 =?utf-8?B?QzdlSjBnN3l4Mmp3UnpzdGhGL2h1UlJHYXF0c0RxRjJNT0l2RHUyWC90azFk?=
 =?utf-8?B?K2ZWRzJwTVNnMi9DODFZNE1yRHRwMzZmQkZZbFVlanlSU24vc2JhODBVcnZJ?=
 =?utf-8?B?eHVIeGZzK3pzUkdyaW9reE82QnNJVkdEMFJjbk1qcVEweXk2Y2JJN3p6UTE0?=
 =?utf-8?B?bzhuWGhlekI2Z1I4T1VsSXVYeis3T3ZjcXNsaTFDUlpHUmZOTFRDUDJ3bTBC?=
 =?utf-8?B?Vnd6YkN6R1RDUjNBZXNiSyt3UjFqWUJBRlpqNk9ITTlKSElscitPT2RNQTNx?=
 =?utf-8?B?dDAyWWd1WDFzdUlPeFFvdE9WMWxZQ00zTERkK09pN1ZNc3grdzBTblBYZTBp?=
 =?utf-8?B?dXA2a1BzNGw4aDh5M3pzMTgwVWp1eFNqdFJTR1Y4L05LRkR1T1Y1TFZ3eTNw?=
 =?utf-8?B?OUNZM1YvVEVhSmY4UDF2bzJoUXBUZldMWVFKMmJTTURHNk45cGNzSi9wWkps?=
 =?utf-8?B?Q09ZRFltVEQvTG82NWxtaFZmbXd0aU0zeGl4UXVkaUNaSEJZQU1vT29pYk91?=
 =?utf-8?B?UU5UNk5ScFN5NkVtUWVSKyt3N2VxdFdzbXRNTnc1cHNlWTNadHNveEJ6VGVK?=
 =?utf-8?B?elNaWjJjbE83R2tNN3JndUVobHp3NUZvd1lNT1VJaUQ4eU5mYXZKRE85Q1Vm?=
 =?utf-8?B?enJ5cncxNGY1b0d4MU1HdlFTN1Z0Ykw5NEs3ckEwY2tzRXh2K2FPbWVzRGFS?=
 =?utf-8?B?aDZTQXJ0WkFjNzMzb0htYzJYK3JQdUNqb1l2U1MrbDI1Y29zZFJNZWJjMkh4?=
 =?utf-8?B?Y3ZPWjl3MTVkNWF6SG1RVHdEOEhraGpoNG1KZm5BYWVoN3M3TXdpeTgzeTlW?=
 =?utf-8?B?b2tYczk3cjVZYlpUTkdFQmF4OVhPWDNyNU9EV0F0ejV5ME1SR1FoTWtlMHRS?=
 =?utf-8?B?MVNSQ20vL2hYbEYvRXJyVGRWbk9uQlphTlNMVjRWdHlFNnlJZjF2ZStvYTU0?=
 =?utf-8?B?U2dPMjl4SkFVR3hZSURIR1doaG1ZSWMwUUpTSlQ1aC9yRFNTTXRtSmY4VG9E?=
 =?utf-8?B?WXdtYmh4RXBuTW5hY3dDczRDYzFLcXNsVmlQOFVHM2VpNTRDUGJBT1FnUlpt?=
 =?utf-8?B?MmFFSVkvcEJFTXFDd2xsWUtNQ090REtmY1pFeUI4SlpZYmN5TlVkQjFrdDhs?=
 =?utf-8?B?SVc0aE9OcFJVRkw4U1RmNmVTQzJoelU5aGo4cTAzc2JLN2dXNUhpZ3p1S2FU?=
 =?utf-8?Q?5jx8=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(376014)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Oct 2025 13:43:44.3499
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: dbcc40e5-9142-4e7d-7a89-08de04de5e51
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ1PEPF000023CC.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB5835

On Mon Oct 6, 2025 at 3:09 PM CEST, Andrew Cooper wrote:
> On 06/10/2025 12:29 pm, Alejandro Vallejo wrote:
>> On Mon Oct 6, 2025 at 1:04 PM CEST, Andrew Cooper wrote:
>>> On 06/10/2025 11:46 am, Alejandro Vallejo wrote:
>>>> ---
>>>> This dependency already exists today. I'm just making it explicit.
>>>>
>>>> "segment_register" is weird. It naturally belongs in vmcb.h, but the
>>>> emulator makes use of it and must be compilable outside of Xen.
>>>>
>>>> I don't like having vmcb.h depending on the emulator header, but I see
>>>> no way of breaking that dependency without breaking the emulator unit
>>>> tests.
>>> Pulling it into a new header is fine.=C2=A0 The emulator can include an=
ything
>>> (free-enough standing) in arch/x86/include/asm/
>> I thought it didn't, if so I'm at a loss at to why segment_register is w=
here
>> it is.
>
> Well - it's needed by the emulator as well as SVM.

I meant that it's an SVM-specific description of segments, which is then
conveniently reused on the emulator. It's a bit shocking for an SVM struct =
to
be described by the emulator.

I'd have expected the dependency to go the other way around, if it were pos=
sible
to have it that way.

>
>>
>> Be that as it may, your series conflicts with this patch and it makes no=
 sense
>> to keep both around (when none of them are going in for until 4.22).
>>
>> Will you be including a fix for the segment register in your series also=
? If so,
>> I'll just drop this one.
>
> I've folded the extra include into my first patch.

Ta.

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Mon Oct 06 13:56:17 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Oct 2025 13:56:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138229.1473981 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5lhD-0007Cf-9b; Mon, 06 Oct 2025 13:56:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138229.1473981; Mon, 06 Oct 2025 13:56:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5lhD-0007CY-6A; Mon, 06 Oct 2025 13:56:11 +0000
Received: by outflank-mailman (input) for mailman id 1138229;
 Mon, 06 Oct 2025 13:56:10 +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
 <SRS0=hel7=4P=amd.com=Alejandro.GarciaVallejo@srs-se1.protection.inumbo.net>)
 id 1v5lhC-0007CN-AT
 for xen-devel@lists.xenproject.org; Mon, 06 Oct 2025 13:56:10 +0000
Received: from SA9PR02CU001.outbound.protection.outlook.com
 (mail-southcentralusazlp170130001.outbound.protection.outlook.com
 [2a01:111:f403:c10c::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 343cdb88-a2bc-11f0-9d15-b5c5bf9af7f9;
 Mon, 06 Oct 2025 15:56:07 +0200 (CEST)
Received: from MW4PR04CA0062.namprd04.prod.outlook.com (2603:10b6:303:6b::7)
 by CH3PR12MB7689.namprd12.prod.outlook.com (2603:10b6:610:14d::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.18; Mon, 6 Oct
 2025 13:55:57 +0000
Received: from SJ1PEPF000023D1.namprd02.prod.outlook.com
 (2603:10b6:303:6b:cafe::9f) by MW4PR04CA0062.outlook.office365.com
 (2603:10b6:303:6b::7) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9182.20 via Frontend Transport; Mon,
 6 Oct 2025 13:55:57 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 SJ1PEPF000023D1.mail.protection.outlook.com (10.167.244.7) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9182.15 via Frontend Transport; Mon, 6 Oct 2025 13:55:57 +0000
Received: from localhost (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Mon, 6 Oct
 2025 06:55:55 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 343cdb88-a2bc-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=OmklaY8xU/sOqilV9XwDCG8M1t5dywBc3N/FcaRpUfADc1hj8pW/9S4o75/Zw8k0Q1m/0gdU6aTrETl5eQrwd4RWMlOCDE6wOsp4dv0sihjMMskyXKvLBmvdYdvlRNxHyir+BbC7wlAcd/Z8QzpFvSkb+wQGC2FZmxMS6H9OeRpjN0SHEI6d0TOrG/TZN3uB62CGmJOqKC/pzy5y1YF1828lrXOi8LV76u2Xctuncq5afkkk65HseMMhx7QAhfTbQgo39AkTVHfFciY9qqySts4Mwayg0ccKbWwgWh5XQ5kkopd8zdMPcT5rTa/IOCyY/nQddcfryylmF8dHN6SVmg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dSpxngmid82N1+Q7DvU9+LBUUBFrnEtHp23hcckNy0I=;
 b=g/mnWpGX4JTMwMgNCMh/ybyDWx01zngXUtUprG/wda8SRvncE9nxlLzTs6IQaexeBjbrswI/qFygNYUqlIlZjxTT5tFPzQd3fBYDJKybq42rvRsbkTmcdaf237Dodv6A9mHsPMClM4MtrxhbAeeoGTG0EinlmbvHffGw3NfxqasI9in3M5Z8Qj3c9P2GfobOWIccdEpI5sWzzWxwg/iesCXI1EQlM4dor6YYYC/9F8nEzOCA2ADl7cmeySE0WJEHxaZeFMqELzcTx0gAn2YkcUOH5798aDA+X/qC/V2tVmW3UMRIVnJPcyd1+4T3TPM8nb5xKmOHuMfEE3ojAq9xdQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=citrix.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dSpxngmid82N1+Q7DvU9+LBUUBFrnEtHp23hcckNy0I=;
 b=T6u2gCvm9rNrmBLo/yT/ZSU1JWd8+J8Cg5ttoHq4bPWjR7C/7r+3wrl6LwUdbzBgWBh8boOVcGcjTb+912yvUS3Gy2Xy2sgKVLq/be8wmbb10mTXx93KD4zuBBR9RlQqbXNajYk5uCZDZWlU0aaDwsbxKC2t/SNzwrYgHQfB8jA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="UTF-8"
Date: Mon, 6 Oct 2025 15:55:54 +0200
Message-ID: <DDBAHJDFXN5L.2U4TFNVR6NLZ@amd.com>
CC: <xen-devel@lists.xenproject.org>, Stewart Hildebrand
	<stewart.hildebrand@amd.com>, Jan Beulich <jbeulich@suse.com>, "Oleksii
 Kurochko" <oleksii.kurochko@gmail.com>, Xen-devel
	<xen-devel-bounces@lists.xenproject.org>
Subject: Re: [PATCH for-4.21] vpci/msix: improve handling of bogus MSI-X
 capabilities
From: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
To: =?utf-8?q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
X-Mailer: aerc 0.20.1
References: <20250929084149.70560-1-roger.pau@citrix.com>
 <DD60R7HDKJ23.1BYEORZH67NOS@amd.com> <aNvTwrcHsja65ndP@Mac.lan>
In-Reply-To: <aNvTwrcHsja65ndP@Mac.lan>
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ1PEPF000023D1:EE_|CH3PR12MB7689:EE_
X-MS-Office365-Filtering-Correlation-Id: 7fb0761f-ee63-43ff-1cf5-08de04e0132f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|376014|82310400026|1800799024|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?cFBNRXI3ZE1ET0hIRUdOZU1pTkI1NFpMRUlRZVBJVFZheGF2dCsvTGZYdEh6?=
 =?utf-8?B?VTFBWVBRcnAyTGIyUjBNb1ppc0lDVC9GRXdnT2dyRG9LTkw4R3R2eE5GQnYw?=
 =?utf-8?B?WTM3MnhaemJwTmk2blgveGRxMVRwby9OMjFQNldIRFZwM1hsaWdrR2ZwenU0?=
 =?utf-8?B?a1VHMi85VVlQbnlhSFZyUit3VS9yOElsUnZNM1BtQWRkTTAybTVpSTlhK0hL?=
 =?utf-8?B?ZXV5L2RuaWFoYW5lVnhZVnAvTXMzTFJQSjh2V2xpUkUxemE2ZGJSeHpKQnF0?=
 =?utf-8?B?cnF2aG1HMmZia1llTnA2UU5HTmxGSWNFM2xoanJDYmR0TElVN1BxWTRuaWF1?=
 =?utf-8?B?eDZ1ZzBJYlVnK0dqdDVaYk5ZT3B6RVdOZ3B6NmhHaUlhMkthZjZ5dVBQRDJE?=
 =?utf-8?B?K0hUTDE3dnd0WUlVNk14aXNTZERVbmFxRGxLZ2luT013Uk9IelRGV0xFd2sr?=
 =?utf-8?B?dS9lZHM2dWJMLy9qakZYaFdhL0lueDNRN2hPVi9OR2RORTlZbWIvNFg4Skhs?=
 =?utf-8?B?ZnE3TjZQZXV3MnVuKytocjdXL0xRNkgxUm1uOUJqSWZ0NFVra0YzU1JacTdG?=
 =?utf-8?B?cjB4NXlpaVRIMmI2WnRydTN2d1R4M3FaNjkyL3pQSzFSZlJvMGY3cU5sOGpV?=
 =?utf-8?B?SXlhbUR5SllMbUpGUnh6VW9CN3RHSEl0K0JXMjBMM09tbEtubUpZelFJc2xv?=
 =?utf-8?B?VmJwV2RSNGxDZjI0OXhBdlAzQ25Fc1AxV254RWJRcXlxeW1LWUl0ZlRwWlMv?=
 =?utf-8?B?eDVNTGt1cmdqZlJRM3hWQi9FTDZ1eFZyRmx2QllTZDEvOXhvUUlCMGJpN3Nx?=
 =?utf-8?B?NzlEelVMR0Y4QmlmQ1lDVDRqcUJkd1FrUzFRMlZveFJ5MzR0RmR0NjNLQ3BR?=
 =?utf-8?B?eEZYckVLNnAzWWI2bTRkYXhNRlZ1OUE2NDg4TkhMV3Z4ZE1sUHpEQlREU0tQ?=
 =?utf-8?B?NEYzOHl3QTlzMnY0b1hOMUlPL3lkL1dEQ1F0NllFS3NYQkVSdWV3L29ZUHkr?=
 =?utf-8?B?MnJiaDlkZFFxREEva25Nc2ZUTTFEUDZCOUZKNzVLZC9JL01LVkh4OW1hYlNq?=
 =?utf-8?B?dTl4NjNHTHFqM2Z1QmFDWHJjbDJkNlBwNFlTZ212VWx2NWNjc0FWSjg5Ulh5?=
 =?utf-8?B?VUVJRFdWdEhvYnVkN0RSdUZrdS9SOW9JK3pzVERheWM2SkIzOWRPRTlBVVM2?=
 =?utf-8?B?RHBWYjQyM0pHOTh1YTQ4dVFFM0IyNEtNTlJ0QkJsdUN2MENVd01PMjRFeEhq?=
 =?utf-8?B?Smhzd2RqZEY1cHRJUWVpK0R3clljdmF1dE42dHEvT3JpQTk2cFhFYjE4eWxn?=
 =?utf-8?B?RVJDZjlUNk1EOVltbU1UeFhGdnpWbVJZYVJObWpMME5zampCZkZCSk9ndU94?=
 =?utf-8?B?WFphdFNTY0lWRDFWUVJENHJVUE1mMzZQZlBZeW5TOGZuWDRWUEIzUWFyaENs?=
 =?utf-8?B?OER2enRSZHZSVEovRGxrYWFicmFUUVpqdS8rZll2clJrK2FpeW40Q1BLQmJX?=
 =?utf-8?B?SGFUaktZY1NuUTIvSzhTTm9HSkdnM3lRUW43N0lxN2xteDV5WGR0dmtkTGh4?=
 =?utf-8?B?Y2F6elE4UnlHNUpnT3JKR05sUUJENjdKL1ZXQjJxejdNVEljb0hQcTk3TTRL?=
 =?utf-8?B?R01FQmFDamhHQVpJSDJmbFRFNnhwS29KcHl4WjlTSEYzRzBJdW1TNnY1KzU0?=
 =?utf-8?B?Y1FHZzZZLzUxd0Uwd2ZXMUZ5b1VOUlhTeUd0eTdsbUNQbHV0NlJtQVBUWGdn?=
 =?utf-8?B?M3BIcERXZ0p3dXhicUQ3UmRVaGt6b3ZNVUcyaWtWZWk5N0s5Um9JYTMrZUdG?=
 =?utf-8?B?YnpRTGNFNTNrNjM3Q0p6UGRqdEFIMEZjTlVhcllSd0JpZ1NIYTlEdENLM1Y3?=
 =?utf-8?B?TkFsR1d3L0g5cENjSGtpaTl5TGw4VkVjalB6dmlKbjhNWmdWVjdGbW1EZ21u?=
 =?utf-8?B?enUvWThPdlBNMXlnSVo2SEQyT01TNkpUaXJCTzQrMW1xL3hQa0FXU2F1c2Fz?=
 =?utf-8?B?NldHS3F3M2lrYmtYaFRRNEpEamhESzRyZHpDZTBCMFJNMy96MUthTUlaZFZD?=
 =?utf-8?B?aSs4MkRkczlGRklDc3BTU0VqTnVZT3p6c3NNZ2VuOFNDNS9SdDQ4VU83ZzB6?=
 =?utf-8?Q?LMoI=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(376014)(82310400026)(1800799024)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Oct 2025 13:55:57.2896
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7fb0761f-ee63-43ff-1cf5-08de04e0132f
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ1PEPF000023D1.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB7689

On Tue Sep 30, 2025 at 2:57 PM CEST, Roger Pau Monn=C3=A9 wrote:
> On Tue, Sep 30, 2025 at 11:15:01AM +0200, Alejandro Vallejo wrote:
>> On Mon Sep 29, 2025 at 10:41 AM CEST, Roger Pau Monne wrote:
>> > I've had the luck to come across a PCI card that exposes a MSI-X capab=
ility
>> > where the BIR of the vector and PBA tables points at a BAR that has 0 =
size.
>> >
>> > This doesn't play nice with the code in vpci_make_msix_hole(), as it w=
ould
>> > still use the address of such empty BAR (0) and attempt to crave a hol=
e in
>> > the p2m.  This leads to errors like the one below being reported by Xe=
n:
>> >
>> > d0v0 0000:22:00.0: existing mapping (mfn: 181c4300 type: 0) at 0 clobb=
ers MSIX MMIO area
>> >
>> > And the device left unable to enable memory decoding due to the failur=
e
>> > reported by vpci_make_msix_hole().
>> >
>> > Introduce checking in init_msix() to ensure the BARs containing the MS=
I-X
>> > tables are usable.  This requires checking that the BIR points to a
>> > non-empty BAR, and the offset and size of the MSI-X tables can fit in =
the
>> > target BAR.
>> >
>> > This fixes booting PVH dom0 on Supermicro AS -2126HS-TN severs with AM=
D
>> > EPYC 9965 processors.  The broken device is:
>> >
>> > 22:00.0 SATA controller: Advanced Micro Devices, Inc. [AMD] FCH SATA C=
ontroller [AHCI mode] (rev 93)
>> >
>> > There are multiple of those integrated controllers in the system, all
>> > broken in the same way.
>> >
>> > Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
>> > ---
>> > Cc: Stewart Hildebrand <stewart.hildebrand@amd.com>
>> > Cc: Jan Beulich <jbeulich@suse.com>
>> > Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>> >
>> > While not strictly a bugfix, I consider this a worthy improvement so t=
hat
>> > PVH dom0 has a chance to boot on hardware that exposes such broken MSI=
-X
>> > capabilities.  Hence I think this change should be considered for incl=
usion
>> > into 4.21.  There a risk of regressing on hardware that was already wo=
rking
>> > with PVH, but given enough testing that should be minimal.
>> > ---
>> >  xen/drivers/vpci/msix.c | 50 ++++++++++++++++++++++++++++++++++++----=
-
>> >  1 file changed, 45 insertions(+), 5 deletions(-)
>> >
>> > diff --git a/xen/drivers/vpci/msix.c b/xen/drivers/vpci/msix.c
>> > index 54a5070733aa..8458955d5bbb 100644
>> > --- a/xen/drivers/vpci/msix.c
>> > +++ b/xen/drivers/vpci/msix.c
>> > @@ -675,6 +675,51 @@ static int cf_check init_msix(struct pci_dev *pde=
v)
>> >      if ( !msix )
>> >          return -ENOMEM;
>> > =20
>> > +    msix->tables[VPCI_MSIX_TABLE] =3D
>> > +        pci_conf_read32(pdev->sbdf, msix_table_offset_reg(msix_offset=
));
>> > +    msix->tables[VPCI_MSIX_PBA] =3D
>> > +        pci_conf_read32(pdev->sbdf, msix_pba_offset_reg(msix_offset))=
;
>> > +
>> > +    /* Check that the provided BAR is valid. */
>> > +    for ( i =3D 0; i < ARRAY_SIZE(msix->tables); i++ )
>> > +    {
>> > +        const char *name =3D (i =3D=3D VPCI_MSIX_TABLE) ? "vector" : =
"PBA";
>> > +        const struct vpci_bar *bars =3D pdev->vpci->header.bars;
>> > +        unsigned int bir =3D msix->tables[i] & PCI_MSIX_BIRMASK;
>> > +        unsigned int type;
>> > +        unsigned int offset =3D msix->tables[i] & ~PCI_MSIX_BIRMASK;
>> > +        unsigned int size =3D
>> > +            (i =3D=3D VPCI_MSIX_TABLE) ? max_entries * PCI_MSIX_ENTRY=
_SIZE
>> > +                                   : ROUNDUP(DIV_ROUND_UP(max_entries=
, 8), 8);
>> > +
>> > +        if ( bir >=3D ARRAY_SIZE(pdev->vpci->header.bars) )
>> > +        {
>> > +            printk(XENLOG_ERR "%pp: MSI-X %s table with out of range =
BIR %u\n",
>> > +                   &pdev->sbdf, name, bir);
>>=20
>> Would it be worth adding something here such that a device vendor testin=
g their
>> hardware under Xen can trivially grep for device bugs?
>>=20
>> Something akin to "[Firmware bug]" on Linux, like "[Device bug]" or some=
 such.
>>=20
>> It would also let anyone not very knowledgeable about PCI know that a de=
vice
>> they own is being unreasonable. Same below in the other XENLOG_ERR messa=
ges.
>
> We could add indeed.  I don't think we haven't done so in the past.
> If we go that route I would suggest that I add a:
>
> #define DEVICE_BUG_PREFIX "[Device bug] "
>
> in lib.h or similar, to make sure we use the same prefix uniformly.
> TBH

That works. As would DEV_BUG_PREFIX, XENLOG_DEV_BUG or even just DEV_BUG.

LGTM in any form or shape that makes it patently clear the admin is running
on buggy hardware.

> I think vendors care little about the output of Xen, as long as it boots.

They might care more once they realise they can "grep" lines of interest. T=
hat's
what happened on Linux, after all.

Also, it's not just for vendors. Users and developers alike might be intere=
sted
in using these message as a "taint" to know when they bought known-bad hard=
ware.

Maybe to avoid buying it twice.

>
> The downside of this is that it makes those messages longer, which
> will require more time to print if using a slow UART.

Only the reporting of known bugs. Which isn't a high throughput operation.

Hopefully.

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Mon Oct 06 14:13:48 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Oct 2025 14:13:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138246.1473991 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5ly4-0001gs-ON; Mon, 06 Oct 2025 14:13:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138246.1473991; Mon, 06 Oct 2025 14:13:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5ly4-0001gl-Lg; Mon, 06 Oct 2025 14:13:36 +0000
Received: by outflank-mailman (input) for mailman id 1138246;
 Mon, 06 Oct 2025 14:13: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
 <SRS0=yrnp=4P=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1v5ly4-0001gf-0y
 for xen-devel@lists.xenproject.org; Mon, 06 Oct 2025 14:13:36 +0000
Received: from SA9PR02CU001.outbound.protection.outlook.com
 (mail-southcentralusazlp170130001.outbound.protection.outlook.com
 [2a01:111:f403:c10c::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a1d4e7a0-a2be-11f0-9809-7dc792cee155;
 Mon, 06 Oct 2025 16:13:32 +0200 (CEST)
Received: from SJ0PR03CA0146.namprd03.prod.outlook.com (2603:10b6:a03:33c::31)
 by LV8PR12MB9417.namprd12.prod.outlook.com (2603:10b6:408:204::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.20; Mon, 6 Oct
 2025 14:13:14 +0000
Received: from CO1PEPF000075EE.namprd03.prod.outlook.com
 (2603:10b6:a03:33c:cafe::51) by SJ0PR03CA0146.outlook.office365.com
 (2603:10b6:a03:33c::31) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9182.20 via Frontend Transport; Mon,
 6 Oct 2025 14:13:14 +0000
Received: from satlexmb08.amd.com (165.204.84.17) by
 CO1PEPF000075EE.mail.protection.outlook.com (10.167.249.37) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9203.9 via Frontend Transport; Mon, 6 Oct 2025 14:13:13 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.2.2562.17; Mon, 6 Oct
 2025 07:13:09 -0700
Received: from satlexmb07.amd.com (10.181.42.216) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 6 Oct
 2025 09:13:08 -0500
Received: from [192.168.178.136] (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.17 via Frontend
 Transport; Mon, 6 Oct 2025 07:13:07 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a1d4e7a0-a2be-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=HbLv54ywg4vBOJJhlsAgZhq2BFRtX+R/loA7enCWEpPRMLSy2ebK7BmOXj09l0xvRCBVkVMPJujk+a77X6SL3x7J52V9z8lD1Z68sKtwWkYWbUKWPmQWRCoHvQ7qB0Wmwv1phE/oPfSwxv+o4R3Fv4K1grKOe5vSyyXxdkBtoB5YswBUw0rnVkStOn8JcbzgAoLyjBhOxCVZ/QgOpeqq2TKYlVTo88teJZw5hW/jLT/8L7TU53uP+2IGSY8yjAUAtrNtw+eLszF5j3HlkurrW6DBxbThQ/Qxzn+/mrxnvSICQNPlgj3e9Q1hllZWgVvADKrsLO7Hq5Bs1MUudc469w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yQZaRbV5oxdi5NqUtW2e1R0sJduk0jq+XGnBnyT0yYo=;
 b=a6WirTrwpuG99MhEmTRNMo6V0dr2HfKYfBFo/6LgYzsN/9PUN+L09Kyr3+XWuRWjHHiv/qZy9+mYNrCF19scVcKAroXrivHHD7LouoaPVW+HbVEUkvIevyMR83f4sw1VH65Y0PTwurzCODeYR5jQsgOjNuc5uDGUoRMSwa9lXVbSMLVGnIj3EDuodVhxjyPhGmpCPaLMyM2Rt6E1nlfsrqA6Wpv9quH4h+ut8fJF9gpPuRzEe6zCW7g3dBtLJJxnZb/NVqVuLfe3MrRvVPyJ5adWl+o7Zgq0jSrDzVpLHpNgpdLp2ftt84a0laNDlD5ygRb6l+AnCvTxzQVEN47RPg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yQZaRbV5oxdi5NqUtW2e1R0sJduk0jq+XGnBnyT0yYo=;
 b=X0x8FhUvnDb+TppRqFZcPtfDfOIBPhVVOY+ZrVRqPhi34taiROZROHk6nanTay/AZk1KlbZELPDFCU2iuiwjTEEWl7DfkcmqRGahm0Z3G8ClVEvZ7Wf/bEqmcHoHJsFwgQu6N7t/CRuYtvjDvkwlIA0c8k27FcMdWV94KnZ2PoA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C
Message-ID: <64126e22-5aac-4c31-8421-d8fa605e7a5e@amd.com>
Date: Mon, 6 Oct 2025 10:13:06 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Jason Andryuk <jason.andryuk@amd.com>
Subject: Re: [PATCH] tools: init-dom0less: Replace err() with more informative
 messages
To: "Orzel, Michal" <michal.orzel@amd.com>, Alejandro Vallejo
	<alejandro.garciavallejo@amd.com>, <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@vates.tech>, Xen-devel
	<xen-devel-bounces@lists.xenproject.org>
References: <20251001075149.31545-1-michal.orzel@amd.com>
 <DD6WJ6AVBQRV.154QDILMV3EW2@amd.com>
 <a54d9baf-839c-43a6-836b-4ea9decd172d@amd.com>
Content-Language: en-US
In-Reply-To: <a54d9baf-839c-43a6-836b-4ea9decd172d@amd.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000075EE:EE_|LV8PR12MB9417:EE_
X-MS-Office365-Filtering-Correlation-Id: 6c847790-cd88-46b2-eb76-08de04e27ce0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|36860700013|376014|82310400026|13003099007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?QWRRKys4a0N3V0xGNGlaS2xjeEdQLzRXSXAzU2JjSmFvTHhwZGVBcm4zN0xK?=
 =?utf-8?B?clMxek5YaTJGQUxnT2pFdmJnMlJsdUtOWXlTWmZucTZEK3c3bjBYNkcrNGZC?=
 =?utf-8?B?T2NNZXNFekIvYmJZaGg5aHUxOFBaUlRzTXpXYU5FK1VFWkFuTjRpdWNSdExD?=
 =?utf-8?B?cFpDMXRNNENlcVUxM0hHYlV3L28zVnV5djBUNGVkOEhaQkMwT3FBeC83VXB0?=
 =?utf-8?B?dENxVWxQcEZSLzUxMUYrdXpNcCtSVzZaTUpuVlNSSVo3WDZsUkZxRmdtdFF1?=
 =?utf-8?B?MzdORzFJNTBGbjYwN2RHYjhsNkl4KzNQTkhHMzB6dVNmU0ZPSDg0MUQ1QUor?=
 =?utf-8?B?cnc0ZDFaZzBpRmpleUwyQXJkbk5rTFZOcXk1U2hValRjbnpjK1o3Rk16Y3FU?=
 =?utf-8?B?VldrcEVybEl2Z3RQblZOL0NicGtNWFBpRHBNbTY1WlBQeDdmYTYrcHEzMXVZ?=
 =?utf-8?B?Qm10TDB1QzZUckpldFlGK2R2emdnMjcvNGEwdGVFYnhMSWNYMUUrQm1hTDVJ?=
 =?utf-8?B?aXFJZktnV3RNUGJQNUNPbW1Bekk5RzdpSHFzMmg3Z3FvakNjT2x5M2l1Mllt?=
 =?utf-8?B?ak82UE5FWDAybFp2bnFnbDdaS3QvYkFXb2UydWdVL0dyRzg1TWRpTm5Fcmhi?=
 =?utf-8?B?M0toSStrMnpOUUdYMGVTalVHeDJjVFFEOWNrbC8xQ2VaTzFpRlA2ajFzNmhG?=
 =?utf-8?B?L2pRTm10R0w1enROV200RXFBQWpKMnJCSklDMTUvMzg2ckZGZndnUkRYRjV6?=
 =?utf-8?B?REdyZUVUVUIyS3pUZ01acUY1eVJNVFlJb0ZybFVaOXhlNmF0MUxDRXZWTExP?=
 =?utf-8?B?UEFidkkrNFRyS0MzbzNVTkVGSncveW5OWUVJTnZ0ZlZSZzY4MTFuMmNiNWEy?=
 =?utf-8?B?TXp4MW9YUmNNNzVjQjdWSWR6L3ZrZGJ4MVV5aEU1azA1V1dDdTRmbW9IcHNL?=
 =?utf-8?B?TnB3OFlBYkNLSWZBN1ZaVjhuMmxwN0tHbmRDVnhHT054VEdoVnA1RVliWXpr?=
 =?utf-8?B?ckhtR2p2YnAzMEdhb2srU3BvR1JLV1ZydFEzWHlzUUVaL0xSUFQvS0Uza2RX?=
 =?utf-8?B?TUNBaGxjczROTjVVT2NNNUtoT2E3WDVzbjVqcEFGSktydlRUVWdxWVpUVjVZ?=
 =?utf-8?B?c3liR1FJSGRpejB5ZExTNU5icEozTHhBYVo0STRFVFVwWTU0c1JZcFhNWmph?=
 =?utf-8?B?OHVNMlNRdzRqeGltMXM5ZmdGQXE3b1dDM3h3cDAwanpFYVlkeGVGMHVaSzR5?=
 =?utf-8?B?TzZiTkcvdUFVZzAvRjU4WWdtQlFuVFRVSHp5cFFWSEpmQmVrZFFkYnZjdXZD?=
 =?utf-8?B?cUp3RnRQVnhTbjhjc01Qd2M3NlZOUWdkRXBuUU5LYVVFeis3QWtvb21jL3Y5?=
 =?utf-8?B?NkRLUk91VVlFWmtsWUlZUDJidmZjdXJzK3RKTUMvaXJUZVhueGZUMEJZdEZV?=
 =?utf-8?B?MThpRGVndkdaaEt6eEJpZHlneXRIcjVsSnhLZDZmc2tNSWN6ZFRtb1JxQURz?=
 =?utf-8?B?aGNjZ2VENGIwOHd3SWRJN0drdmhyb2UvaktZUzNIOHlsMlF2Tk1malliaTRz?=
 =?utf-8?B?elBNOEJOeTZ5Y3MzZEpRd3liU3hsNmRaakR2TlBudk9lMHpDeXJyYXQxOC93?=
 =?utf-8?B?cjF6WXhTL2NEV0ViZDhRWUZ2enN6Y3FsUmUxWitxcTFJa1cwMlZMMm8zL3Nq?=
 =?utf-8?B?aE9EU2dhc1dtOXFDYXMvTG1mY0IzbDgvMmFDSDNmOUpkNmx5Y29URGtQdjUv?=
 =?utf-8?B?STJwc0JXdU1IZ1VWT2tGcVB4djIyZHM4cTBiWDhxWnVnUVJENTFPTEhhYUNm?=
 =?utf-8?B?VmZ0VTcycVBpejBIL0hLb01KNFR3WkhDRU1tcjF2bHVaWTFjc1hQY1Vyd3JI?=
 =?utf-8?B?UEk0WEc2anlCeEh6S085V2I2SUJmMXhMQjlYcTdkc29XQVlDa0p4aTdQNUVD?=
 =?utf-8?B?YTYzams1MGtmZTFOVlVQanFKKzFaTWxoQ01pQlF6dmoyRm5yTjUySUhYSGxX?=
 =?utf-8?B?dHUzQy9mWHBrNXczKzB5ZmkrWlg1TlIrUG5rTnFUeXJsMFExZFBRMXpqOEtW?=
 =?utf-8?B?UGlKR3VyWUZteWtFR2ZDQzY4UnU1cjE1QWcxUFJ1cE9rTjNTaWlBVXErUm9u?=
 =?utf-8?Q?/7kU=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700013)(376014)(82310400026)(13003099007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Oct 2025 14:13:13.6082
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6c847790-cd88-46b2-eb76-08de04e27ce0
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1PEPF000075EE.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR12MB9417

On 2025-10-01 07:24, Orzel, Michal wrote:
> 
> 
> On 01/10/2025 12:09, Alejandro Vallejo wrote:
>> On Wed Oct 1, 2025 at 9:51 AM CEST, Michal Orzel wrote:
>>> Current use of err() has the following issues:
>>> - without setting errno, on error it results in printing e.g.:
>>>   "init-dom0less: writing to xenstore: Success"
>>>   This is very misleading and difficult to deduct that there was a
>>>   failure.
>>> - does not propagate error codes to the caller.
>>> - skips "init_domain failed" message by exiting early.

Maybe add another bullet:
  - The early exit prevents setting up any remaining domains.

That was my main motivation in my attempt at this change: 
https://lore.kernel.org/xen-devel/20250826210847.126015-7-jason.andryuk@amd.com/.

Your re-written error messages are better though.

>>>
>>> Replace err() with more informative messages propagating rc when
>>> possible.
>>
>> Sounds good to me. Only suggestion I'd make is to also print relevant arguments
>> where needed, like...
>>
>>>
>>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
>>> ---
>>>   tools/helpers/init-dom0less.c | 25 +++++++++++++++++--------
>>>   1 file changed, 17 insertions(+), 8 deletions(-)
>>>
>>> diff --git a/tools/helpers/init-dom0less.c b/tools/helpers/init-dom0less.c
>>> index a182dce56353..3dd2d74886eb 100644
>>> --- a/tools/helpers/init-dom0less.c
>>> +++ b/tools/helpers/init-dom0less.c

>>> +    }
>>>   
>>>       rc = xs_introduce_domain(xsh, info->domid, xenstore_pfn, xenstore_evtchn);
>>> -    if (!rc)
>>> -        err(1, "xs_introduce_domain");
>>> +    if (!rc) {
>>> +        printf("Failed to introduce a domain\n");
>>> +        return 1;
>>
>> nit: Maybe -EBUSY so it's -errno like the others?
> There are other places in this script where we return 1.

It's a mix of error as 1 or -errno, but at least success == 0 is consistent.

The xs_* functions set errno, so maybe here it would be good to return 
-errno.  I think moving toward -errno, which is more informative, would 
be an improvement.

Thanks,
Jason


From xen-devel-bounces@lists.xenproject.org Mon Oct 06 14:26:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Oct 2025 14:26:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138275.1474033 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5mAP-0003eK-72; Mon, 06 Oct 2025 14:26:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138275.1474033; Mon, 06 Oct 2025 14:26:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5mAP-0003eD-3L; Mon, 06 Oct 2025 14:26:21 +0000
Received: by outflank-mailman (input) for mailman id 1138275;
 Mon, 06 Oct 2025 14:26:19 +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
 <SRS0=yrnp=4P=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1v5mAN-0003dr-Fw
 for xen-devel@lists.xenproject.org; Mon, 06 Oct 2025 14:26:19 +0000
Received: from SN4PR2101CU001.outbound.protection.outlook.com
 (mail-southcentralusazlp170120001.outbound.protection.outlook.com
 [2a01:111:f403:c10d::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6665909f-a2c0-11f0-9d15-b5c5bf9af7f9;
 Mon, 06 Oct 2025 16:26:09 +0200 (CEST)
Received: from BL6PEPF0001640D.NAMP222.PROD.OUTLOOK.COM
 (2603:10b6:22e:400:0:1004:0:14) by SA1PR12MB8987.namprd12.prod.outlook.com
 (2603:10b6:806:386::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.18; Mon, 6 Oct
 2025 14:25:58 +0000
Received: from BL6PEPF00022571.namprd02.prod.outlook.com
 (2a01:111:f403:f903::2) by BL6PEPF0001640D.outlook.office365.com
 (2603:1036:903:4::a) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9182.20 via Frontend Transport; Mon,
 6 Oct 2025 14:25:58 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 BL6PEPF00022571.mail.protection.outlook.com (10.167.249.39) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9203.9 via Frontend Transport; Mon, 6 Oct 2025 14:25:57 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.2.2562.17; Mon, 6 Oct
 2025 07:25:57 -0700
Received: from satlexmb08.amd.com (10.181.42.217) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 6 Oct
 2025 09:25:57 -0500
Received: from [192.168.178.136] (10.180.168.240) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.17 via Frontend
 Transport; Mon, 6 Oct 2025 07:25:57 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6665909f-a2c0-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=GjYNjODit6wOHPRDQ/m6hSlcD6LNaQ0YyITmcdviQdltXWapgVUZd9vTPhz9sTHe7TeoTfir9fb/tTLyZ3mDZ9yJvZelJgGtzSK15BAjwQD4l7gOiv8sUKksG/NCKW4nEFsUQK5KrzyJRtEaFgePbyGY1+5eIGSTDF2lEDmD1f28+YriH7mQpgRu7e+8B9C9oa9y0ekbdw+KKoOspm43S+gPY1ZprCIEkkboZtCfa17ONJQg0Wxi5DW4fYa9+2FfeP2Mq7zWVXSsR+3/cFeaZyEATPYB9uTfVMGQ8qlcDTUx1CuPOXg9Wg3+RREVPiw4o11ke20O0001d+ITO39Gbg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UXNi2F3lBh6QEsfG+e1WaJ6FUAT3iTE/YtO3Tw9GQMg=;
 b=yU0xjHXYSAkDb/SabGERPAjhgen6J/JCC2TDSeTYtRLoEPyqJDuKb0dxdBGlzAxKf8WzGLBuwIXcf1gv5LdB8nlw6PHUGZZsXBYpdyNiOOPIcLWVmFRT/z69iFdPXR3uqQXgH3Dgav6Ebz2UTigJhj4vanyW1QfAeYeOxYpSyarw+m3LFKRlPBXYryN4jEXWNG73ZLHkcCX5NK6nlZF27+PcaDvGLpT9lgI0oPasPbHQj3+xGOlUtWR8l8Qk2bmp509ftW1mteErOmDtHIA4LXBj8ta6AiP8aXwv72ZJGfeiDXw02lNbZhj7hFgsPnhqB0j+5TNn/7SiKR/4awdJiw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=vates.tech smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UXNi2F3lBh6QEsfG+e1WaJ6FUAT3iTE/YtO3Tw9GQMg=;
 b=V0rhydR5uHYCM2ApOsFaFlr3UR85TC08GI/LJICKmXeS8NMr2t5TNLlgMrRNeiM68RSRdoPsgncy8YfB213QKr9AaQtgGabhJaTaMVJgAkj7hax9zlTCjUHe7ShvSAuxmszs00CSBSPKRBS8RF4HK1PoKeRL8QCpkTD3fP6MA74=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
Message-ID: <45fbc094-f90a-415d-abd8-8e1404251530@amd.com>
Date: Mon, 6 Oct 2025 10:25:53 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Jason Andryuk <jason.andryuk@amd.com>
Subject: Re: domU suspend issue - freeze processes failed - Linux 6.16
To: Yann Sionneau <yann.sionneau@vates.tech>, <xen-devel@lists.xenproject.org>
References: <aKiBJeqsYx_4Top5@mail-itl> <aKiBwEsogK420kwo@mail-itl>
 <05e9628d-83e5-4feb-881d-5854b72bd560@suse.com> <aKi6Foj-Lx_n0L6l@mail-itl>
 <aNEgTgis2JeyQ4HA@mail-itl> <8f6b8f08-ca62-467b-a6be-4d33208e5393@epam.com>
 <aNPyW5a7BHni-SuI@mail-itl> <32097dc9-761f-4319-9fa8-6bcb15c06a82@vates.tech>
Content-Language: en-US
In-Reply-To: <32097dc9-761f-4319-9fa8-6bcb15c06a82@vates.tech>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL6PEPF00022571:EE_|SA1PR12MB8987:EE_
X-MS-Office365-Filtering-Correlation-Id: 3fa296f5-d390-455c-ff1c-08de04e44467
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|1800799024|36860700013|376014|13003099007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?dld4OE1HRDI0OUJXZWZFNWlZRjJXdEhMN3NCQzNXK3BveEFEMTk3S1FOcldi?=
 =?utf-8?B?T1dEWGFVcTlWeGJ5VGhFNytCdXlneERzaUlHRDZURTl4OUwwQXNKc1Z2akFW?=
 =?utf-8?B?eDlqaUxyMlFBUVRCLzFNeTNrSGFGTGJ0N29FUHNDSDlLeG9MdWFUbUt6VmFR?=
 =?utf-8?B?YWJmOVhrS3JJc3c4V2lCdjF3WXpwT1ROWVBHbVRuNTBlSVA2S2J6QU9YZnFL?=
 =?utf-8?B?TDMyK29MS25tbjFxQXJuMFBONXNSM25kRndyN1FtMTRMUzFKYmJQYkg4eGZX?=
 =?utf-8?B?WXEzVFk0VjhxRkJKZDhmMjlmS2U4SW9pLzd2YzJnL3plSkpwUVo3cVhycGE4?=
 =?utf-8?B?NW1sV2Q5RWV0a3BEdHdQYlFEci94YlpOQjh6LzhHK2JTRGtYMUxzMWRSUEgr?=
 =?utf-8?B?OWpRcnpUaFhtS0JGdVMzQkcxL21leHBvMldldkxtNFhacFpIQy9PM09DRmhk?=
 =?utf-8?B?TEkvZnpYUGRzeUwyWGR0eXpXbWMvQkxtL1pwM3A5SXpjd2RLcGRUVHZIRWZ1?=
 =?utf-8?B?dkVMbDRGTUFyKytPSGY3NnJoWExnK01id3lMVHJ5ODJpZXpyUkdoazdwT2hR?=
 =?utf-8?B?cGN3K3FtZlhDZm5ablgrZER2MkpHUDNINkljTjJxQ0RoaE5BTmhhMGVqL0FH?=
 =?utf-8?B?YVhJbnFlNk5HcGVKcmhPSEdHVmErVjhybWRBVDJZaHF1U0xheENhUy9qRm45?=
 =?utf-8?B?OE5sRldTalVhTzB0NUJlY0tRSkhTUjhhTm5kSHQ3NkNqUVc2bWVvWDNDcHFz?=
 =?utf-8?B?L3VaY0pwTTIwdCtabkkzR0hNd3NQVUZ0Yncvak5mVzdKYkxuekNCOEN0eWJK?=
 =?utf-8?B?eU5JL1NzVXdLL2M4ZXVuaHpWZGJsUHVuUmh3ZHIvdUliUmM3YjVIVXBQYTdT?=
 =?utf-8?B?eURMQlBJS21hMHljdlBrb1dockZUYWxad0hhOHh4RDlKajRhZ2FTVGdsL1Rv?=
 =?utf-8?B?UGovaWdiMmduRXUwbmlQcXFyT2ZPS0JoSFo2UEcxL3RGMHkrVUZ1QlB2T0c2?=
 =?utf-8?B?c3VuOWNRVVNtOWNSbHpDVk0wVFFuMFNPTlJLMGJ5dGkxc0t2ZnJBYzYzbUxG?=
 =?utf-8?B?WVc0TGNxL25veDJhZUk5VTBxQTB4cWY3dU5jOXZjdWVZQ2k0K0tqcVU4Zzc1?=
 =?utf-8?B?a2lrZ0lucEZnb2ZYTGZLaHcrcEUxNFJ5SENEd25UWGUrRnhJRW1OVk1nMFh2?=
 =?utf-8?B?NDV2ZmE5V211b092ZzZrNUJJSDM5V3JRS2VGeGhxelFwTGxIbUlUdmNwd3pT?=
 =?utf-8?B?VmRlZm1tODVDZkU1b3BOOUdjVDUycWdKTWNIR0lncTBXdUswZVdwUy9kcVVC?=
 =?utf-8?B?R3hkTFFPQ1dVYkxGeW9oY2dMNUxkeU9CRm0yc3VKQ0tWL0R1ZDNTYVd3aFJM?=
 =?utf-8?B?eGlzdjV2UW5xcjNvR3dXNHpRTlNDRy9XNUo2NzVrV0xHWllKWTRnd0lpYUpp?=
 =?utf-8?B?aUU1Q3JaQXBscDlHa2dTdXpJVVM1dWhSZ1VWMnJwakM2YjkwQWhSbk5kZk1E?=
 =?utf-8?B?Y0hxUEJaTjZnVGxFZTB6ZUdBVVZnSnRyWjdqcEt6UUpkd2ZMTGdlQzNWaVZx?=
 =?utf-8?B?aTEzWWtvd2VKOFZLTXozU2tSV0ZwREVoQ2FaNzMxbjlkMWQ3Ulh5SlJpU3Bu?=
 =?utf-8?B?RGU4dkNuUVMrNitIQmt0bDVjUVZrbXZLUE9EV001eXl2ZWUrMHRnSXlpenoy?=
 =?utf-8?B?N2NQVmJkZjBuSkpFRWVWMjBGUEloLzh1Rk5LRlJiMU95K3pJdUNvdmVzb2VC?=
 =?utf-8?B?aUE2V2NFOXdBMUpXTzIyaGVtWVVVa1pHZDdBRWEya3BzWWhMOTBWVjBhRlB4?=
 =?utf-8?B?RFFUa1VqQVNqYWxvUm5ENWFxNUFkNkJ4NHpETnlCb2d0M0FGUWxYZ0ZURmF6?=
 =?utf-8?B?MEs1ZDR2Rk9XaU9oRXNKaVluUkdyd2diSStiY1ViZ3g1aW9BdFNoNHk5OWhV?=
 =?utf-8?B?aWVoSWErY25HejU0QzBhUzJxUmhvTEt5ZDFNa2VsdXlwRGlTVHhiWFBmQ2ZM?=
 =?utf-8?B?UCtXVHJadXFuSHVnTlZxUlpRSnM1RXhSN3l6SmFHRWlvYXZGZ1RiV2VLR1Ew?=
 =?utf-8?B?N3JYQmVITk1BQWtsdzhNV2cxR0lPelcxVjNUUVB4cEFLTHZ1VnJPcUMwZURC?=
 =?utf-8?Q?rRqZxocc9r/TUwsj5XMS2QzbH?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(36860700013)(376014)(13003099007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Oct 2025 14:25:57.9478
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3fa296f5-d390-455c-ff1c-08de04e44467
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL6PEPF00022571.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB8987

On 2025-09-24 10:28, Yann Sionneau wrote:
> On 9/24/25 15:30, Marek Marczykowski-GÃ³recki wrote:
>> On Wed, Sep 24, 2025 at 01:17:15PM +0300, Grygorii Strashko wrote:
>>>
>>>
>>> On 22.09.25 13:09, Marek Marczykowski-GÃ³recki wrote:
>>>> On Fri, Aug 22, 2025 at 08:42:30PM +0200, Marek Marczykowski-GÃ³recki wrote:
>>>>> On Fri, Aug 22, 2025 at 05:27:20PM +0200, JÃ¼rgen GroÃŸ wrote:
>>>>>> On 22.08.25 16:42, Marek Marczykowski-GÃ³recki wrote:
>>>>>>> On Fri, Aug 22, 2025 at 04:39:33PM +0200, Marek Marczykowski-GÃ³recki wrote:
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> When suspending domU I get the following issue:
>>>>>>>>
>>>>>>>>         Freezing user space processes
>>>>>>>>         Freezing user space processes failed after 20.004 seconds (1 tasks refusing to freeze, wq_busy=0):
>>>>>>>>         task:xl              state:D stack:0     pid:466   tgid:466   ppid:1      task_flags:0x400040 flags:0x00004006
>>>>>>>>         Call Trace:
>>>>>>>>          <TASK>
>>>>>>>>          __schedule+0x2f3/0x780
>>>>>>>>          schedule+0x27/0x80
>>>>>>>>          schedule_preempt_disabled+0x15/0x30
>>>>>>>>          __mutex_lock.constprop.0+0x49f/0x880
>>>>>>>>          unregister_xenbus_watch+0x216/0x230
>>>>>>>>          xenbus_write_watch+0xb9/0x220
>>>>>>>>          xenbus_file_write+0x131/0x1b0
>>>>>>>>          vfs_writev+0x26c/0x3d0
>>>>>>>>          ? do_writev+0xeb/0x110
>>>>>>>>          do_writev+0xeb/0x110
>>>>>>>>          do_syscall_64+0x84/0x2c0
>>>>>>>>          ? do_syscall_64+0x200/0x2c0
>>>>>>>>          ? generic_handle_irq+0x3f/0x60
>>>>>>>>          ? syscall_exit_work+0x108/0x140
>>>>>>>>          ? do_syscall_64+0x200/0x2c0
>>>>>>>>          ? __irq_exit_rcu+0x4c/0xe0
>>>>>>>>          entry_SYSCALL_64_after_hwframe+0x76/0x7e
>>>>>>>>         RIP: 0033:0x79b618138642
>>>>>>>>         RSP: 002b:00007fff9a192fc8 EFLAGS: 00000246 ORIG_RAX: 0000000000000014
>>>>>>>>         RAX: ffffffffffffffda RBX: 00000000024fd490 RCX: 000079b618138642
>>>>>>>>         RDX: 0000000000000003 RSI: 00007fff9a193120 RDI: 0000000000000014
>>>>>>>>         RBP: 00007fff9a193000 R08: 0000000000000000 R09: 0000000000000000
>>>>>>>>         R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000014
>>>>>>>>         R13: 00007fff9a193120 R14: 0000000000000003 R15: 0000000000000000
>>>>>>>>          </TASK>
>>>>>>>>         OOM killer enabled.
>>>>>>>>         Restarting tasks: Starting
>>>>>>>>         Restarting tasks: Done
>>>>>>>>         xen:manage: do_suspend: freeze processes failed -16
>>>>>>>>
>>>>>>>> The process in question is `xl devd` daemon. It's a domU serving a
>>>>>>>> xenvif backend.
>>>>>>>>
>>>>>>>> I noticed it on 6.16.1, but looking at earlier test logs I see it with
>>>>>>>> 6.16-rc6 already (but interestingly, not 6.16-rc2 yet? feels weird given
>>>>>>>> seemingly no relevant changes between rc2 and rc6).
>>>>>>>
>>>>>>> I forgot to include link for (a little) more details:
>>>>>>> https://github.com/QubesOS/qubes-linux-kernel/pull/1157
>>>>>>>
>>>>>>> Especially, there is another call trace with panic_on_warn enabled -
>>>>>>> slightly different, but looks related.
>>>>>>>
>>>>>>
>>>>>> I'm pretty sure the PV variant for suspending is just wrong: it is calling
>>>>>> dpm_suspend_start() from do_suspend() without taking the required
>>>>>> system_transition_mutex, resulting in the WARN() in pm_restrict_gfp_mask().
>>>>>>
>>>>>> It might be as easy as just adding the mutex() call to do_suspend(), but I'm
>>>>>> really not sure that will be a proper fix.
>>>>>
>>>>> Hm, this might explain the second call trace, but not the freeze failure
>>>>> quoted here above, I think?
>>>>
>>>> While the patch I sent appears to fix this particular issue, it made me
>>>> wonder: is there any fundamental reason why do_suspend() is not using
>>>> pm_suspend() and register Xen-specific actions via platform_suspend_ops
>>>> (and maybe syscore_ops)? From a brief look at the code, it should
>>>> theoretically be possible, and should avoid issues like this.
>>>>
>>>> I tried to do a quick&dirty attempt at that[1], and it failed (panic). I
>>>> surely made several mistakes there (and also left a ton of todo
>>>> comments). But before spending any more time at that, I'd like to ask
>>>> if this is a viable option at all.
>>>
>>> I think it might, but be careful with this, because there are two "System Low power" paths in Linux
>>> 1) Suspend2RAM and Co
>>> 2) Hybernation
>>>
>>> While "Suspend2RAM and Co" path is relatively straight forward and expected to be always
>>> started through pm_suspend(). In general, it's expected to happen
>>>    - from sysfs (User space)
>>>    - from autosuspend (wakelocks).
>>>
>>> the "hibernation" path is more complicated:(
>>> - Genuine Linux hybernation hibernate()/hibernate_quiet_exec()
>>
>> IIUC hibernation is very different as it puts Linux in charge of dumping
>> all the state to the disk. In case of Xen, the primary use case for
>> suspend is preparing VM for Xen toolstack serializing its state to disk
>> (or migrating to another host).
>> Additionally, VM suspend may be used as preparation for host suspend
>> (this is what I actually do here). This is especially relevant if the VM
>> has some PCI passthrough - to properly suspend (and resume) devices
>> across host suspend.
>>
>>> I'm not sure what path Xen originally implemented :( It seems like "suspend2RAM",
>>> but, at the same time "hybernation" specific staff is used, like PMSG_FREEZE/PMSG_THAW/PMSG_RESTORE.
>>> As result, Linux suspend/hybernation code moves forward while Xen stays behind and unsync.
>>
>> Yeah, I think it's supposed to be suspend2RAM. TBH the
>> PMSG_FREEZE/PMSG_THAW/PMSG_RESTORE confuses me too and Qubes OS has a
>> patch[2] to switch it to PMSG_SUSPEND/PMSG_RESUME.
>>
>>> So it sounds reasonable to avoid custom implementation, but may be not easy :(
>>>
>>> Suspending Xen features can be split between suspend stages, but
>>> not sure if platform_suspend_ops can be used.
>>>
>>> Generic suspend stages list
>>> - freeze
>>> - prepare
>>> - suspend
>>> - suspend_late
>>> - suspend_noirq (SPIs disabled, except wakeups)
>>>     [most of Xen specific staff has to be suspended at this point]
>>> - disable_secondary_cpus
>>> - arch disable IRQ (from this point no IRQs allowed, no timers, no scheduling)
>>> - syscore_suspend
>>>     [rest here]
>>> - platform->enter() (suspended)
>>>
>>> You can't just overwrite platform_suspend_ops, because ARM64 is expected to enter
>>> suspend through PSCI FW interface:
>>> drivers/firmware/psci/psci.c
>>>    static const struct platform_suspend_ops psci_suspend_ops = {
>>
>> Does this apply to a VM on ARM64 too? At least on x86, the VM is
>> supposed to make a hypercall to tell Xen it suspended (the hypercall
>> will return only on resume).
>>
>>> As an option, some Xen components could be converted to use syscore_ops (but not xenstore),
>>> and some might need to use DD(dev_pm_ops).
>>>
>>>>
>>>> [1] https://github.com/marmarek/linux/commit/47cfdb991c85566c9c333570511e67bf477a5da6
>>>
>>> -- 
>>> Best regards,
>>> -grygorii
>>>
>>
>> [2] https://github.com/QubesOS/qubes-linux-kernel/blob/main/xen-pm-use-suspend.patch
>>
> 
> On my setup I get a weird behavior when trying to suspend (s2idle) a
> Linux guest.
> Doing echo freeze > /sys/power/state in the guest seems to "freeze" the
> guest for good, I could not unfreeze it afterward.
> VCPU goes to 100% according to XenOrchestra
> xl list shows state "r" but xl console blocks forever
> xl shutdown would block for some time and then print:
> Shutting down domain 721
> ?ibxl: error: libxl_domain.c:848:pvcontrol_cb: guest didn't acknowledge
> control request: -9
> shutdown failed (rc=-9)
> 
> Do you think it's related to your current issue?

idle=halt on the Linux command line addresses the 100% CPU usage.  Or 
alternatively C2 needs to be implemented for guest vcpus.  I forget 
preceisely, but I think the 100% CPU is because there are no C-states 
available and Linux/cpuidle won't use halt by default.

To wake up, you need a wake up source.  The ACPI buttons presses will do 
that:
xl trigger $dom power
xl trigger $dom sleep

However, I think without changes, domU s2idle/S3 will detach all its PV 
devices.  Naturally they don't get reconnected on resume.  You can hack 
around that to skip the detach.

Actually, maybe we just need:
--- i/drivers/xen/xenbus/xenbus_probe_frontend.c
+++ w/drivers/xen/xenbus/xenbus_probe_frontend.c
@@ -148,8 +148,6 @@ static void xenbus_frontend_dev_shutdown(struct 
device *_dev)
  }

  static const struct dev_pm_ops xenbus_pm_ops = {
-       .suspend        = xenbus_dev_suspend,
-       .resume         = xenbus_frontend_dev_resume,
         .freeze         = xenbus_dev_suspend,
         .thaw           = xenbus_dev_cancel,
-       .restore        = xenbus_dev_resume,
+       .restore        = xenbus_frontend_dev_resume,
  };

b3e96c0c7562 ("xen: use freeze/restore/thaw PM events for 
suspend/resume/chkpt") changed from PMSG_SUSPEND/PMSG_RESUME to 
PMSG_FREEZE/PMSG_THAW/PMSG_RESTORE, but the suspend/resume callbacks 
remained.  But freeze and suspend being identical doesn't seem correct.

This would leave xl save/restore/migrate using the hibernate 
freeze/thaw/resume.  S3/s2idle would no touch the PV devices, so they 
would still be present on resume.  Maybe there are cases I am not 
thinking of though.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Mon Oct 06 14:29:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Oct 2025 14:29:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138287.1474043 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5mDM-0004Gc-Np; Mon, 06 Oct 2025 14:29:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138287.1474043; Mon, 06 Oct 2025 14:29:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5mDM-0004GV-LK; Mon, 06 Oct 2025 14:29:24 +0000
Received: by outflank-mailman (input) for mailman id 1138287;
 Mon, 06 Oct 2025 14:29:23 +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
 <SRS0=iNYA=4P=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v5mDL-0004GP-Ql
 for xen-devel@lists.xenproject.org; Mon, 06 Oct 2025 14:29:23 +0000
Received: from mail-wr1-x42d.google.com (mail-wr1-x42d.google.com
 [2a00:1450:4864:20::42d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d4827d1a-a2c0-11f0-9809-7dc792cee155;
 Mon, 06 Oct 2025 16:29:13 +0200 (CEST)
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-3ece0e4c5faso3702596f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 06 Oct 2025 07:29:13 -0700 (PDT)
Received: from [192.168.1.183] (host-92-22-57-86.as13285.net. [92.22.57.86])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4255d8a6c54sm21470709f8f.11.2025.10.06.07.29.11
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 06 Oct 2025 07:29:12 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d4827d1a-a2c0-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1759760953; x=1760365753; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Q5BuG5qr3Dy9LA2982vFPtLM0vF9QheugXOd7noRIJM=;
        b=BAWNv4kwQCLUcwccm7BHutHgEy9orgxmCLIM1CFsrWWrBSQb39+Xoj+Fp/+htuGB78
         r4q/PFBbwIjs27wr+nsPwNy+Z7ReAl9HyTyD7FpQtseay59SE75nHfMypjs+bt0pGU7M
         EWh7HPV8yzsbjh//bCUCYwq3Mwvfb4SPgB7xE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759760953; x=1760365753;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Q5BuG5qr3Dy9LA2982vFPtLM0vF9QheugXOd7noRIJM=;
        b=DH0hfidxew10TOP91Fr8ew+5UHem2VewHwCJM/RUpRFgmnejJMbvw8vY3zHfYC9JtP
         KTYUplMo7mtgkvnCgwYVE7SvqWgbmuphrelqNrFMJa9fQQSx90cM6aoy9iJBpLTHskOz
         92/AxqTSRrIaScx53ZuPA0M8HWzgHmhl8DEh66X1P90aNWrUUDhkJh8GSkH285J+GVGM
         Ca9ZS8JwCdDpU7f5+a3ipiu/Ckaved+NUHcrFboB2vzVU32g2wqmIV2fDdzF38nqq3vz
         Pdby6RBy//UN7GnhUr8gpg8PXs4wUXf2RUmfpTCwwHNdUXIXRg8Tm0FOPcsTrboEBBoP
         Fl9A==
X-Gm-Message-State: AOJu0YwPlsW2KCakq0rgxaxSGvaK+b5jNuweU3vsstB4+C9nAk4f1IF9
	OTkV5n2maVbyGKnQsVnzkSTbC3Sx2YCvybiYq36nsfobNRuMR/VsIAy9ZgXnvckVMt4=
X-Gm-Gg: ASbGncuRIppfFBPnqytON/aSNHLhnOzY1spj5kaGgq6SFaUAFBoIFQqJFVx/Wb9zdju
	R5XuenrM+VLgrVvyFPpNgIRs5qr+bcphERrXSBcym2M2BnPxgW065oZAAWPBFLSvJJ8gVJscrCt
	9LQBMxnmuxEMxJhjtWbvoONp+h8NiukGgHn9Z6O70cV1KoWfUx09aj2xdjx44V2elu3prWnLtyD
	lulTXOZBDUM79kT9EfTzMy8uoA6pEQSUVSutmFNeW7ECWQApuhhA3RVnqeCBVEa+9gB2o5STbUu
	cb1h7KurxrpmVz/csfDlpx6z3tJnTttzFpCyVXwbGamZ7g9gwRHvyX1Fi6pXxzZjZ41YnjzKJpy
	QbAamDxROTBP6ePAHAKXyQP9fnxUaZDxoYcpLeWmp6cS6cKh06sR7h+fycZ1T3IZICv04ByAi5S
	ovl4UEPWiI/p8zZZgG8txCze4=
X-Google-Smtp-Source: AGHT+IHjwIsP7DzQUFHlmSXHh7eKGUcE6mP19X3fAWyjrnmGAM6pGQT7OLc9lak0bDhyhFm5v13+Aw==
X-Received: by 2002:a05:6000:2dc9:b0:3ec:dbcc:8104 with SMTP id ffacd0b85a97d-425671aa874mr8900433f8f.36.1759760952572;
        Mon, 06 Oct 2025 07:29:12 -0700 (PDT)
Message-ID: <7bb14669-f8c2-47d5-a3ba-048c0e45458e@citrix.com>
Date: Mon, 6 Oct 2025 15:29:11 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21] vpci/msix: improve handling of bogus MSI-X
 capabilities
To: Alejandro Vallejo <alejandro.garciavallejo@amd.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org,
 Stewart Hildebrand <stewart.hildebrand@amd.com>,
 Jan Beulich <jbeulich@suse.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Xen-devel <xen-devel-bounces@lists.xenproject.org>
References: <20250929084149.70560-1-roger.pau@citrix.com>
 <DD60R7HDKJ23.1BYEORZH67NOS@amd.com> <aNvTwrcHsja65ndP@Mac.lan>
 <DDBAHJDFXN5L.2U4TFNVR6NLZ@amd.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <DDBAHJDFXN5L.2U4TFNVR6NLZ@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 06/10/2025 2:55 pm, Alejandro Vallejo wrote:
> On Tue Sep 30, 2025 at 2:57 PM CEST, Roger Pau MonnÃ© wrote:
>> On Tue, Sep 30, 2025 at 11:15:01AM +0200, Alejandro Vallejo wrote:
>>> On Mon Sep 29, 2025 at 10:41 AM CEST, Roger Pau Monne wrote:
>>>> I've had the luck to come across a PCI card that exposes a MSI-X capability
>>>> where the BIR of the vector and PBA tables points at a BAR that has 0 size.
>>>>
>>>> This doesn't play nice with the code in vpci_make_msix_hole(), as it would
>>>> still use the address of such empty BAR (0) and attempt to crave a hole in
>>>> the p2m.  This leads to errors like the one below being reported by Xen:
>>>>
>>>> d0v0 0000:22:00.0: existing mapping (mfn: 181c4300 type: 0) at 0 clobbers MSIX MMIO area
>>>>
>>>> And the device left unable to enable memory decoding due to the failure
>>>> reported by vpci_make_msix_hole().
>>>>
>>>> Introduce checking in init_msix() to ensure the BARs containing the MSI-X
>>>> tables are usable.  This requires checking that the BIR points to a
>>>> non-empty BAR, and the offset and size of the MSI-X tables can fit in the
>>>> target BAR.
>>>>
>>>> This fixes booting PVH dom0 on Supermicro AS -2126HS-TN severs with AMD
>>>> EPYC 9965 processors.  The broken device is:
>>>>
>>>> 22:00.0 SATA controller: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] (rev 93)
>>>>
>>>> There are multiple of those integrated controllers in the system, all
>>>> broken in the same way.
>>>>
>>>> Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
>>>> ---
>>>> Cc: Stewart Hildebrand <stewart.hildebrand@amd.com>
>>>> Cc: Jan Beulich <jbeulich@suse.com>
>>>> Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>>>>
>>>> While not strictly a bugfix, I consider this a worthy improvement so that
>>>> PVH dom0 has a chance to boot on hardware that exposes such broken MSI-X
>>>> capabilities.  Hence I think this change should be considered for inclusion
>>>> into 4.21.  There a risk of regressing on hardware that was already working
>>>> with PVH, but given enough testing that should be minimal.
>>>> ---
>>>>  xen/drivers/vpci/msix.c | 50 ++++++++++++++++++++++++++++++++++++-----
>>>>  1 file changed, 45 insertions(+), 5 deletions(-)
>>>>
>>>> diff --git a/xen/drivers/vpci/msix.c b/xen/drivers/vpci/msix.c
>>>> index 54a5070733aa..8458955d5bbb 100644
>>>> --- a/xen/drivers/vpci/msix.c
>>>> +++ b/xen/drivers/vpci/msix.c
>>>> @@ -675,6 +675,51 @@ static int cf_check init_msix(struct pci_dev *pdev)
>>>>      if ( !msix )
>>>>          return -ENOMEM;
>>>>  
>>>> +    msix->tables[VPCI_MSIX_TABLE] =
>>>> +        pci_conf_read32(pdev->sbdf, msix_table_offset_reg(msix_offset));
>>>> +    msix->tables[VPCI_MSIX_PBA] =
>>>> +        pci_conf_read32(pdev->sbdf, msix_pba_offset_reg(msix_offset));
>>>> +
>>>> +    /* Check that the provided BAR is valid. */
>>>> +    for ( i = 0; i < ARRAY_SIZE(msix->tables); i++ )
>>>> +    {
>>>> +        const char *name = (i == VPCI_MSIX_TABLE) ? "vector" : "PBA";
>>>> +        const struct vpci_bar *bars = pdev->vpci->header.bars;
>>>> +        unsigned int bir = msix->tables[i] & PCI_MSIX_BIRMASK;
>>>> +        unsigned int type;
>>>> +        unsigned int offset = msix->tables[i] & ~PCI_MSIX_BIRMASK;
>>>> +        unsigned int size =
>>>> +            (i == VPCI_MSIX_TABLE) ? max_entries * PCI_MSIX_ENTRY_SIZE
>>>> +                                   : ROUNDUP(DIV_ROUND_UP(max_entries, 8), 8);
>>>> +
>>>> +        if ( bir >= ARRAY_SIZE(pdev->vpci->header.bars) )
>>>> +        {
>>>> +            printk(XENLOG_ERR "%pp: MSI-X %s table with out of range BIR %u\n",
>>>> +                   &pdev->sbdf, name, bir);
>>> Would it be worth adding something here such that a device vendor testing their
>>> hardware under Xen can trivially grep for device bugs?
>>>
>>> Something akin to "[Firmware bug]" on Linux, like "[Device bug]" or some such.
>>>
>>> It would also let anyone not very knowledgeable about PCI know that a device
>>> they own is being unreasonable. Same below in the other XENLOG_ERR messages.
>> We could add indeed.  I don't think we haven't done so in the past.
>> If we go that route I would suggest that I add a:
>>
>> #define DEVICE_BUG_PREFIX "[Device bug] "
>>
>> in lib.h or similar, to make sure we use the same prefix uniformly.
>> TBH

We have several FIRMWARE BUG's in Xen already, and several more that
ought to move to this pattern.

Given that Linux has definitely been booted on this hardware, we should
match whichever prefix they use for messages about this.

What's unclear is whether AMD can even fix this with a firmware update.Â 
I would have expected that the PCIe hardblock would have prevented
making this mistake, but clearly not...

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Oct 06 16:49:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Oct 2025 16:49:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138322.1474053 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5oP8-0003Xg-6Z; Mon, 06 Oct 2025 16:49:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138322.1474053; Mon, 06 Oct 2025 16:49:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5oP8-0003XZ-3J; Mon, 06 Oct 2025 16:49:42 +0000
Received: by outflank-mailman (input) for mailman id 1138322;
 Mon, 06 Oct 2025 16:49:40 +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
 <SRS0=Z5//=4P=citrix.com=ross.lagerwall@srs-se1.protection.inumbo.net>)
 id 1v5oP6-0003XT-Gx
 for xen-devel@lists.xenproject.org; Mon, 06 Oct 2025 16:49:40 +0000
Received: from BL2PR02CU003.outbound.protection.outlook.com
 (mail-eastusazlp17011000f.outbound.protection.outlook.com
 [2a01:111:f403:c100::f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6fa6608c-a2d4-11f0-9809-7dc792cee155;
 Mon, 06 Oct 2025 18:49:34 +0200 (CEST)
Received: from DM6PR03MB4764.namprd03.prod.outlook.com (2603:10b6:5:183::31)
 by CH0PR03MB6081.namprd03.prod.outlook.com (2603:10b6:610:b8::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.20; Mon, 6 Oct
 2025 16:49:24 +0000
Received: from DM6PR03MB4764.namprd03.prod.outlook.com
 ([fe80::4f33:d9f5:18a2:28c7]) by DM6PR03MB4764.namprd03.prod.outlook.com
 ([fe80::4f33:d9f5:18a2:28c7%6]) with mapi id 15.20.9182.017; Mon, 6 Oct 2025
 16:49:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6fa6608c-a2d4-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=r1ZD7spzRtbuGa13+Is93HuXnlHLWzWpexXz8QhOFP4JEk0Ukgdc8xgaAt8WXIinBXCXIav/nkHds+MfT2XRYeBnVPgFloy1zu0oCRIr2Jprhm7NnEjL0LoBKZFE8U9Tubq7oVndH5T00G5lOm7I9VQEcWwidyKgyZLVZoSflQHBQ/cbhahRj6d0Fq2Fbc1sufuhbteoS94dMY1do+FMc391Wk3ATlAMRQctYidi7zCrHQrC63X/guH7XbpUhf9iBOpT2tg3Snrh1nIJW2pVl858vLqStQOFpMd9h18Vdh2gdYjzvB+dBh3eSyGehogtZYxVK2L397AK0fp3US8Nnw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=opz2DbRieaX88FQ8Gine2ZvtwrOd5y6GoTMO+PrJMjQ=;
 b=d2w9K6Op1cYei0179e5azrnZ9u1KIY+1EeKT/LG2lJMr2++Ywqgun+8dPWLRUPxl+f/QMHebB+oIc/zwP2LsFpZNbJVp3/u2uoTfuoQRbgaHyvvk5+yf6DMg9bMEOGFEo5CAOeBR2USTgPd2VIDn4Ja0xfGq2CJ71Iq/PUnUsVqfGPirWgDjnaLX+woUPQsUKPKCn3oFg5Nz4odb6WUhmUzJWA4/P4SNdQLSel1Qx+hh++akAzyf/MwwQuPALmJdHwNolyI8AzFRwHOb5fy1qEtA9MXGhIbfI1zVqerDuH2epNLBtpobxbMfXmbQZ8zyzv1c4abtyEEYusgn+3u70A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=opz2DbRieaX88FQ8Gine2ZvtwrOd5y6GoTMO+PrJMjQ=;
 b=Qtn4YrG3YOcXQrdkXf/anhhMt6BGdibEF5TqqisU8Ei0PZC69GXDP3IgetTjKl1rt10CZEmgqkPKlSNBwIB/a2PE4zEDyPhSVQ7Aa8QwbeGVmde202k3agBAgXxqdGzVGsNZJAs6nk6jVWMRlz+vc8d935bhFBENgRj7cbtEQ2o=
From: Ross Lagerwall <ross.lagerwall@citrix.com>
To: Frediano Ziglio <frediano.ziglio@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, Andrew Cooper
	<andrew.cooper@citrix.com>, Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [PATCH livepatch-build-tools] Treat constant sections as string
 sections
Thread-Topic: [PATCH livepatch-build-tools] Treat constant sections as string
 sections
Thread-Index: AQHcKIHp2PGJPzbswE2t8zYH/4MtebS1bcFS
Date: Mon, 6 Oct 2025 16:49:23 +0000
Message-ID:
 <DM6PR03MB4764D72D07BF22EA0B911A24F0E3A@DM6PR03MB4764.namprd03.prod.outlook.com>
References: <20250918095203.19421-1-frediano.ziglio@citrix.com>
In-Reply-To: <20250918095203.19421-1-frediano.ziglio@citrix.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DM6PR03MB4764:EE_|CH0PR03MB6081:EE_
x-ms-office365-filtering-correlation-id: ff937a8b-9933-4e95-c828-08de04f84d8c
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|376014|1800799024|366016|38070700021|7053199007;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?qk2JxwfGToPF8kw+GW4oqxJN3JANOOkzt4Svlsx+7Wpe/u+pCG8s+LRIwb?=
 =?iso-8859-1?Q?r3B24xVAzQlSU1spQCelLCm2i35Sbxvxi7sEX0TobEym5uGK+wkweT3TgO?=
 =?iso-8859-1?Q?Enj4R9KPL+hneCc48bxavN9Fke9oExMfwpyBKXzEUf5CJmme1yrrPcT2fp?=
 =?iso-8859-1?Q?aadlLlwHULXtj52hn8hk/f76llqThMz25Qx9YvhxSoOzf78zogifirlIZW?=
 =?iso-8859-1?Q?4hp3w/wPdnoZc/jG5mLFEjjXUPQm5ZPzky8gKrhL47acdIBF0kGGT3EZ+z?=
 =?iso-8859-1?Q?ZictubuvJD2kweKr8rDtvxGsQgz8GkzIkhwJ78hrkSPGd+vvmd8RKy3fl+?=
 =?iso-8859-1?Q?RCJkCAEHD8RbmJj2tID7tpDdx+hCruXjM8TygvQDEGndWBA7MYtxTHXDlL?=
 =?iso-8859-1?Q?YfouNRziBuNpJo4hSSJLdHPWmkwHZF43D1jIUhYVKIQH/nNDTx79VEBMoU?=
 =?iso-8859-1?Q?MAa7tIxQCaa6qfU4kRFo6Ef44n/8rUWRcTeW9HmwC6pmcGx8r3Vd7mNV8g?=
 =?iso-8859-1?Q?oRP9uWLv8mndEO0MA0LsjwAQjKJG2TlXi/F/hg71mVEZnkaDY6fi5xTSIw?=
 =?iso-8859-1?Q?ohV4LYbhHvTkclfbSNyeBztePWRl5YaILmSiCWNcIakP40RjiUXcyTcm/C?=
 =?iso-8859-1?Q?c8ZVZS0goYDCba8jXWKEyrvdrSHSglYD2WPsLB+Cuume4zu9y3CARDA3aD?=
 =?iso-8859-1?Q?CIw2klDRSC7CM+KYRunqmzlTXBd0sEPcytbtDns49WP4MBB55nXVVYPZZw?=
 =?iso-8859-1?Q?yq0M6sMIsXJKbqWnMEgFmMFwFJHJNiIMB+3/ldr7I1SNT8TONhp+Fma5TK?=
 =?iso-8859-1?Q?qef7IHc8LMwFtz0WqMMwVqHhbSQHbOBjdblQ0R5yPskgJKy6q43pEvIYuC?=
 =?iso-8859-1?Q?ENouv1wqwpl+YjmkDS861eX8xK15PzxMQ4dOfLgVatqcLUjDOPHa4G8QW+?=
 =?iso-8859-1?Q?PaF3DpZzPhkOV826APdpJOFwOOnbbAYH5PAax2yjgdPrNtbLPEdiMlj5X4?=
 =?iso-8859-1?Q?tYMLSzTaTjIhfsrzqI2Be3uJ93chLOM8wzQmpYhX0MlIuZqS3dnqi8ywzB?=
 =?iso-8859-1?Q?VrKlnOCvJoEogBAglme1Tep8Nkx9bwRIlPjk4DnpRqwFWhZzWpfX3U1suK?=
 =?iso-8859-1?Q?eomPnR76piVzy76vqpzU1480YfJmOgSDVi5Ry2jXufWjYwbUHFdQNukBFI?=
 =?iso-8859-1?Q?vWuOUuZeM3J7J9yMfZ14Vaxy1EqBAviHoVq+Le8Snvj1ToItU5VBDrDwvP?=
 =?iso-8859-1?Q?rnMAL4h3QGsGcOE9bn+7EwMVytfP6lZ0rzr2IjnDQAwt3ptvBobxACw4L5?=
 =?iso-8859-1?Q?PEW0zOx0oCz8dWFVXvvKtmwIvKy2126yDHmJirZ58k+YYSTb8azFdeqIGg?=
 =?iso-8859-1?Q?g3Y6zwkeZkN366JPSRBA8EKagmCmEL01rcoK0PDhqrx4xO/jhPmFBtb+Lh?=
 =?iso-8859-1?Q?SfxwzPlr3F62T+bVS4vsGZO8w7QQklXFI0xOmXwSdQwDsxsN7M2KoNr/sC?=
 =?iso-8859-1?Q?RYBQf0tw8neWorywYillF6swd3tjn6Vrs+B4BSEiBW6hVfRU2sI77HPo/N?=
 =?iso-8859-1?Q?wMioYthtITIbmr4Np9K0JaMZ2j8f?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB4764.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(38070700021)(7053199007);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?jC5IR4Ex57vIjYgaWlNVjfcAFUnQn2ZZbDAypzmptGSN8uLu/E+anLYCf+?=
 =?iso-8859-1?Q?UruMmYLArLzF/AdoulyDX8o2bnteQgCvyUWKN3CE+JD3Q+SE68uIN0hirz?=
 =?iso-8859-1?Q?rVwpX3fXzS5oK5BqfOi/GT9sB7bLZPNP53zqVdT24AygTMltaZzeYxI82P?=
 =?iso-8859-1?Q?ZmO8XUSXj0eBwpvRUbLn/Qjw1zhf9aEs7d4h28Mp4Z4AbqTVS1cZ/Q++Yj?=
 =?iso-8859-1?Q?S+sNOa4NE15Rizeg++jpw1ItUPg9JcoiQAgtR0Ao0T8tOSVLA8JzMKHllP?=
 =?iso-8859-1?Q?idLKUtYe1osu4nwPVl6kwKpw2wUrAlBCuBQMeBtrfxWmJvDq7lft2C6bUL?=
 =?iso-8859-1?Q?BByEw8XIC7Ih4R182o/1CHDxtQY5N6hAj4cnoEL4dIalk6b3djpqsgevVu?=
 =?iso-8859-1?Q?95qKSH0yc4MWfF4nxoXnNe9hkFPpwPhJj0CXcfsGR1Znk2hPcYVQ1KRr1k?=
 =?iso-8859-1?Q?EXGq64nSzAog7Fv9RsYe25YhM8ZPi6QmBF5SP4Me0k1E2wB1wzICB42Jk4?=
 =?iso-8859-1?Q?Fi0TvHcEs0ohPZFOs1pDFQFsGCu20qfGEowlLfdcozU/s9BJPuNrxAWH8U?=
 =?iso-8859-1?Q?Nwo35HCJdF/kkSIXbulD1yvnlXUtygKhU3q/CqSHct8MpG/fnwKfOKVGfu?=
 =?iso-8859-1?Q?l293u+2bWr7u5EjX9SMtsFfBG5W9lQ1MrKeLkirdlAFSCj34D9TJWTrG+1?=
 =?iso-8859-1?Q?cg0ZROZdu1tfLqR4oZBr3RAsfIb0i7XVGqfTRsmVSZBPxpINTuYxBeTCRm?=
 =?iso-8859-1?Q?yEGtbqVEeBxd46XeCdEX/xcxwePI2T81rR3JZIHMxSFv2ELevB41RJsb6T?=
 =?iso-8859-1?Q?0n/i+lD57Tt7B9PQ99yzB1F0SyP6FSF+NDHCeXQoWKULkQkO4P185e0nFE?=
 =?iso-8859-1?Q?frC7fVu2e8GSXNnC63ZitAQSlfOHwEzVTPr+Q0uTvhxk6hbfLO3N2Gz8vy?=
 =?iso-8859-1?Q?OtaAoLpVTzDqGE8Hj/7KDRcm7Jd6vWYK30JGzd/x8s108+ZL1wyFt+SrSL?=
 =?iso-8859-1?Q?awXFT7Dvf/D7/z4lulqbtZJzWO+uTMtg7xR24zKUijKqKzs/op9qqH96hU?=
 =?iso-8859-1?Q?bNE0Wo3UC0DS5RYGUiVr3fN244wYUX9OYeiHJ8Zdx9MTBCZo/yKSdeib8R?=
 =?iso-8859-1?Q?Dz/sNWVxiDp0ONDEQP01Gxl/F4hJRuIGHhD7D1P5txFKyimeOd8LtJFIvT?=
 =?iso-8859-1?Q?8RLo/zsr0/msU1MtlROSXYwrtDoJYGjElbC1tE7UIGSDt0hldVMTRD8Bwp?=
 =?iso-8859-1?Q?wpWyHgr/SxNm+dWZHYgfHPIy1t3g35RVBRQ2NMKu0cKLqwuSKjfypRC8+i?=
 =?iso-8859-1?Q?SfG7tp/vhoXzbWZ2668gQILolsb+ir/8qoq0NmN760m0D7fozoMKh+EJEc?=
 =?iso-8859-1?Q?yeeooKS8kt/Bx8THWhQ9NdRQ6Ps6UoTobaeabpvwmMjvydT2O7ftK0rbIc?=
 =?iso-8859-1?Q?Hgwrrxw1Ws9MFuGR2vmLvbbcIt9BRvn+rapkr3yD72GPUDqllmauPWmzCu?=
 =?iso-8859-1?Q?yDCMbBjuaMzZzQaFEnl9kCQLwavko7n406xVSkxCsCczdqMKhXj0P+ySHO?=
 =?iso-8859-1?Q?0P0PRE3hM4yxUQ9Bn2by/wYKTaQ4PqfV1INVn2xSe9jpeu/R/9Nq/GxiFF?=
 =?iso-8859-1?Q?l+H2YoP+9A+kQfqR5XnToaYUKZoJYF5lYB?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB4764.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ff937a8b-9933-4e95-c828-08de04f84d8c
X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Oct 2025 16:49:23.2640
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: Ayj9hO+uAOZJxFJfPaai/l7xGEo++4DHBq0OScWyTD+0p6MeEMd42SB4JIT9DyxQvqoYmbwuXigS6I20nWF8sPxFD1zwTfNHYN/j5vxV3pQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR03MB6081

<div class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFo=
nt, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; c=
olor: rgb(0, 0, 0);">&gt; From:&nbsp;Frediano Ziglio&nbsp;</div><div class=
=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFont, Aptos_=
MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(=
0, 0, 0);">&gt; Sent:&nbsp;Thursday, September 18, 2025 10:51 AM</div><div =
class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFont, A=
ptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color:=
 rgb(0, 0, 0);">&gt; To:&nbsp;xen-devel@lists.xenproject.org&nbsp;</div><di=
v class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFont,=
 Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; colo=
r: rgb(0, 0, 0);">&gt; Cc:&nbsp;Frediano Ziglio ; Ross Lagerwall ; Konrad R=
zeszutek Wilk ; Andrew Cooper ; Roger Pau Monne&nbsp;</div><div class=3D"el=
ementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFont=
Service, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, =
0);">&gt; Subject:&nbsp;[PATCH livepatch-build-tools] Treat constant sectio=
ns as string sections</div><div class=3D"elementToProof" style=3D"font-fami=
ly: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, san=
s-serif; font-size: 12pt; color: rgb(0, 0, 0);">&gt; &nbsp;</div><div class=
=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFont, Aptos_=
MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(=
0, 0, 0);">&gt; Newer compiler can put some constant strings inside constan=
t</div><div class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_Emb=
eddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: =
12pt; color: rgb(0, 0, 0);">&gt; sections (.rodata.cstXX) instead of string=
 sections (.rodata.str1.XX).</div><div class=3D"elementToProof" style=3D"fo=
nt-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helveti=
ca, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">&gt; This causes the=
 produced live patch to not apply when such</div><div class=3D"elementToPro=
of" style=3D"font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, C=
alibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">&gt; =
strings are produced.</div><div class=3D"elementToProof" style=3D"font-fami=
ly: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, san=
s-serif; font-size: 12pt; color: rgb(0, 0, 0);">&gt; So treat the constant =
sections as string ones.</div><div class=3D"elementToProof" style=3D"font-f=
amily: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, =
sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"><br></div><div class=3D"=
elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFo=
ntService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0=
, 0);">Are you sure it was a string and not something else? As far as I can=
</div><div class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_Embe=
ddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 1=
2pt; color: rgb(0, 0, 0);">tell GCC chooses the section in categorize_decl_=
for_section() which</div><div class=3D"elementToProof" style=3D"font-family=
: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-=
serif; font-size: 12pt; color: rgb(0, 0, 0);">doesn't appear to ever put co=
nstant strings in .rodata.cst.</div><div class=3D"elementToProof" style=3D"=
font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helve=
tica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"><br></div><div cla=
ss=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFont, Apto=
s_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rg=
b(0, 0, 0);">In any case if we have a reference to a constant in .rodata.cs=
t then the</div><div class=3D"elementToProof" style=3D"font-family: Aptos, =
Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; fo=
nt-size: 12pt; color: rgb(0, 0, 0);">section _does_ need to be included in =
its entirety, though it makes me</div><div class=3D"elementToProof" style=
=3D"font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, H=
elvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">wonder if is_r=
odata_str_section is the best place for this check.</div><div class=3D"elem=
entToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontSe=
rvice, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0)=
;"><br></div><div class=3D"elementToProof" style=3D"font-family: Aptos, Apt=
os_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-=
size: 12pt; color: rgb(0, 0, 0);">&gt;&nbsp;</div><div class=3D"elementToPr=
oof" style=3D"font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, =
Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">&gt;=
 Signed-off-by: Frediano Ziglio&nbsp;</div><div class=3D"elementToProof" st=
yle=3D"font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri=
, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">&gt; ---</d=
iv><div class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_Embedde=
dFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt=
; color: rgb(0, 0, 0);">&gt; &nbsp;create-diff-object.c | 6 ++++++</div><di=
v class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFont,=
 Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; colo=
r: rgb(0, 0, 0);">&gt; &nbsp;1 file changed, 6 insertions(+)</div><div clas=
s=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFont, Aptos=
_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb=
(0, 0, 0);">&gt;&nbsp;</div><div class=3D"elementToProof" style=3D"font-fam=
ily: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sa=
ns-serif; font-size: 12pt; color: rgb(0, 0, 0);">&gt; diff --git a/create-d=
iff-object.c b/create-diff-object.c</div><div class=3D"elementToProof" styl=
e=3D"font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, =
Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">&gt; index 7e=
6138b..7acaf88 100644</div><div class=3D"elementToProof" style=3D"font-fami=
ly: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, san=
s-serif; font-size: 12pt; color: rgb(0, 0, 0);">&gt; --- a/create-diff-obje=
ct.c</div><div class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_=
EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-siz=
e: 12pt; color: rgb(0, 0, 0);">&gt; +++ b/create-diff-object.c</div><div cl=
ass=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFont, Apt=
os_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: r=
gb(0, 0, 0);">&gt; @@ -1446,11 +1446,16 @@ static bool is_rodata_str_sectio=
n(const char *name)</div><div class=3D"elementToProof" style=3D"font-family=
: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-=
serif; font-size: 12pt; color: rgb(0, 0, 0);"><br></div><div class=3D"eleme=
ntToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontSer=
vice, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);=
">Can you update the comment at the top of this function?</div><div class=
=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFont, Aptos_=
MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(=
0, 0, 0);"><br></div><div class=3D"elementToProof" style=3D"font-family: Ap=
tos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-seri=
f; font-size: 12pt; color: rgb(0, 0, 0);">&gt; &nbsp;{</div><div class=3D"e=
lementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFon=
tService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0,=
 0);">&gt; &nbsp;#define GCC_5_SECTION_NAME ".rodata.str1."</div><div class=
=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFont, Aptos_=
MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(=
0, 0, 0);">&gt; &nbsp;#define GCC_6_SECTION_NAME ".str1."</div><div class=
=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFont, Aptos_=
MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(=
0, 0, 0);">&gt; +#define GCC_CSTR ".rodata.cst"</div><div class=3D"elementT=
oProof" style=3D"font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontServic=
e, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"><=
br></div><div class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_E=
mbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0);">What does CSTR stand for? May call it GCC_CON=
STANT_SECTION_NAME instead?</div><div class=3D"elementToProof" style=3D"fon=
t-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetic=
a, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"><br></div><div class=
=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFont, Aptos_=
MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(=
0, 0, 0);">Ross</div>=


From xen-devel-bounces@lists.xenproject.org Mon Oct 06 18:56:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Oct 2025 18:56:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138346.1474063 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5qNO-0001C2-RQ; Mon, 06 Oct 2025 18:56:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138346.1474063; Mon, 06 Oct 2025 18:56:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5qNO-0001Bv-OO; Mon, 06 Oct 2025 18:56:02 +0000
Received: by outflank-mailman (input) for mailman id 1138346;
 Mon, 06 Oct 2025 18:56:01 +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
 <SRS0=iLxi=4P=infradead.org=peterz@srs-se1.protection.inumbo.net>)
 id 1v5qNM-0001Bp-5h
 for xen-devel@lists.xenproject.org; Mon, 06 Oct 2025 18:56:01 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 17f26b88-a2e6-11f0-9d15-b5c5bf9af7f9;
 Mon, 06 Oct 2025 20:55:59 +0200 (CEST)
Received: from 77-249-17-252.cable.dynamic.v4.ziggo.nl ([77.249.17.252]
 helo=noisy.programming.kicks-ass.net)
 by casper.infradead.org with esmtpsa (Exim 4.98.2 #2 (Red Hat Linux))
 id 1v5qNE-0000000032U-1idK; Mon, 06 Oct 2025 18:55:53 +0000
Received: by noisy.programming.kicks-ass.net (Postfix, from userid 1000)
 id 32E9B300212; Mon, 06 Oct 2025 20:55:53 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 17f26b88-a2e6-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version:
	References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=xJnkiQBZCdwaEp7zJFwkvtRIj+U9D3ctR20ZvgQtseA=; b=aNxeQASXnfJQhH8Kt1lDapgDuO
	/nLSwzuTyZczIZWbUw/GxPxulgAKifQX/YTBEcF2PpOgcA8zbdM08XCyICg5Re1UfO7w5ymPFmCP/
	n0FD5aka8eHWY/311/pPH43sSouBte46ZOQhJDA9CGOoKAfdLpb0KN/hMATIZTM7hF0vIg3yh5fiC
	dmLK6nRTRIyNI8e2gDDqXJobztx0Cz/g9DAUtnoQOElCjZWtE3G/d7m5AT6x9NpwKOYCYg+9GzCnm
	zm+BqJMijhENmoaaVUDk57dfyPtAOpGy6Bad3brAnuT3oj2wNt8IE/OKUAQ23YxGAQWrJVAi1AaTk
	ikxHoFow==;
Date: Mon, 6 Oct 2025 20:55:53 +0200
From: Peter Zijlstra <peterz@infradead.org>
To: Juergen Gross <jgross@suse.com>
Cc: linux-kernel@vger.kernel.org, x86@kernel.org,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 15/21] x86/xen: Drop xen_irq_ops
Message-ID: <20251006185553.GY3245006@noisy.programming.kicks-ass.net>
References: <20251006074606.1266-1-jgross@suse.com>
 <20251006074606.1266-16-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20251006074606.1266-16-jgross@suse.com>

On Mon, Oct 06, 2025 at 09:46:00AM +0200, Juergen Gross wrote:
> Instead of having a pre-filled array xen_irq_ops for Xen PV paravirt
> functions, drop the array and assign each element individually.

Same comment for the next few patches; this changelog is a little light
on *why*. I mean, I don't mind the change, but supposedly we should
justify things at least a little, right? :-)

> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
> V2:
> - new patch
> ---
>  arch/x86/xen/irq.c    | 20 +++++++-------------
>  tools/objtool/check.c |  1 -
>  2 files changed, 7 insertions(+), 14 deletions(-)
> 
> diff --git a/arch/x86/xen/irq.c b/arch/x86/xen/irq.c
> index 39982f955cfe..d8678c3d3971 100644
> --- a/arch/x86/xen/irq.c
> +++ b/arch/x86/xen/irq.c
> @@ -40,20 +40,14 @@ static void xen_halt(void)
>  		xen_safe_halt();
>  }
>  
> -static const typeof(pv_ops) xen_irq_ops __initconst = {
> -	.irq = {
> -		/* Initial interrupt flag handling only called while interrupts off. */
> -		.save_fl = __PV_IS_CALLEE_SAVE(paravirt_ret0),
> -		.irq_disable = __PV_IS_CALLEE_SAVE(paravirt_nop),
> -		.irq_enable = __PV_IS_CALLEE_SAVE(BUG_func),
> -
> -		.safe_halt = xen_safe_halt,
> -		.halt = xen_halt,
> -	},
> -};
> -
>  void __init xen_init_irq_ops(void)
>  {
> -	pv_ops.irq = xen_irq_ops.irq;
> +	/* Initial interrupt flag handling only called while interrupts off. */
> +	pv_ops.irq.save_fl = __PV_IS_CALLEE_SAVE(paravirt_ret0);
> +	pv_ops.irq.irq_disable = __PV_IS_CALLEE_SAVE(paravirt_nop);
> +	pv_ops.irq.irq_enable = __PV_IS_CALLEE_SAVE(BUG_func);
> +	pv_ops.irq.safe_halt = xen_safe_halt;
> +	pv_ops.irq.halt = xen_halt;
> +
>  	x86_init.irqs.intr_init = xen_init_IRQ;
>  }
> diff --git a/tools/objtool/check.c b/tools/objtool/check.c
> index a72059fcbc83..d66eb37ff294 100644
> --- a/tools/objtool/check.c
> +++ b/tools/objtool/check.c
> @@ -593,7 +593,6 @@ static int init_pv_ops(struct objtool_file *file)
>  	static const char *pv_ops_tables[] = {
>  		"pv_ops",
>  		"xen_cpu_ops",
> -		"xen_irq_ops",
>  		"xen_mmu_ops",
>  		NULL,
>  	};
> -- 
> 2.51.0
> 


From xen-devel-bounces@lists.xenproject.org Mon Oct 06 19:08:37 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Oct 2025 19:08:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138357.1474084 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5qZX-00033e-5u; Mon, 06 Oct 2025 19:08:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138357.1474084; Mon, 06 Oct 2025 19:08:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5qZX-00033W-1L; Mon, 06 Oct 2025 19:08:35 +0000
Received: by outflank-mailman (input) for mailman id 1138357;
 Mon, 06 Oct 2025 19:08:34 +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
 <SRS0=3dSL=4P=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v5qZW-0002pt-2v
 for xen-devel@lists.xenproject.org; Mon, 06 Oct 2025 19:08:34 +0000
Received: from SN4PR2101CU001.outbound.protection.outlook.com
 (mail-southcentralusazlp170120001.outbound.protection.outlook.com
 [2a01:111:f403:c10d::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d9ac1cbb-a2e7-11f0-9809-7dc792cee155;
 Mon, 06 Oct 2025 21:08:32 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by SJ2PR03MB7070.namprd03.prod.outlook.com (2603:10b6:a03:4fb::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.20; Mon, 6 Oct
 2025 19:08:20 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9182.017; Mon, 6 Oct 2025
 19:08:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d9ac1cbb-a2e7-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=QzEncMpAeY7/uRfwJpWQJeqWLQ+EAoLjSLEE9o+duHZYcsKYYLq/ghdOUGlL/nDLdEDt4oBGIpN0MnGYggNRkLkj99DFfhrW9dnzugB7g7GhFBFAu5nttWxotPZCe9sZcm7L5UiEIHky+IvhBc5QoH7ik58xSJswog+Fe6T2aISjXfV5nFBRH6ps6qJtXdqdjPOFv4PxipPyCMxcaF6ku1UELrMAS4s18+at+2x1f8CEJ4YuvOvST/sVbOA0ADibypraQtr43HY9/cDmIzlb4DBmaoXIAPNhmaE2eGD1fxCgV9KT9fOtJ1V6JPvPke5S8Ma1oSBPAy5ruxC9n8TKIQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2vFcN2QMxwcipk+6OB83Wi6U3RmXFjgvYWFVZpPtwg0=;
 b=p3w7TJnQJ3BTcaJ7cVk+K+cfGe+qgXWoldGx54yD218lq668mw5XFkao5tfp1e0Exx3XuCzDO6M+ZHfzpGFojZBb/7dbShSp7gMWi45efRPr9mQmhOVd2Q/MWKd8HCvzYDRb+gdGlBGpdlpol6t5joDSneJrMh9jEyYlpnGZFlU5Cne04/rq3uwINBO7Vx4CRsC7uy7qCeRHyurVTlPq+uTOHH82acRGtTfS52/jt4QR/Yf+2+cg0uoULbhIzbZEyb5H7r9XQmM2d/JwIcx8mIKl01FbtgNNnJ4daZHl8O62TwWK6u2SCmGhfSM/obbDyBmd+HzJj7IidcNfH49TCw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2vFcN2QMxwcipk+6OB83Wi6U3RmXFjgvYWFVZpPtwg0=;
 b=NO4et2qJAWaEx3MlnugufwXbsl3hKWlI0UAhK0NDHz3vS4zaws41BepvacwyQKSU9WWW0Gf9K86IiI+qpiazRQ0ZxEGfr4xgp0rEAHFHI1idxfzXiI0v2PHBLoyuwamOVbNhxPGiaFYFl6u4oS2uiZ5+aTQtlLOe/4J3SKDMDnI=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: oleksii.kurochko@gmail.com,
	Roger Pau Monne <roger.pau@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH for-4.21 1/2] cirrus-ci: install libinotify for FreeBSD
Date: Mon,  6 Oct 2025 21:07:56 +0200
Message-ID: <20251006190757.72757-2-roger.pau@citrix.com>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251006190757.72757-1-roger.pau@citrix.com>
References: <20251006190757.72757-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: BN9PR03CA0039.namprd03.prod.outlook.com
 (2603:10b6:408:fb::14) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|SJ2PR03MB7070:EE_
X-MS-Office365-Filtering-Correlation-Id: f4ca0026-88d8-4193-e3a3-08de050bb672
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?L3l0T2ovMTZ3TkllY1loM0VvL3hyZDhzc3YzNVgyVFlWbFEzL2VCd3FFZzdU?=
 =?utf-8?B?UmhJU2tGc2ZUOVp3WHJYTlhOdUYzSm5JZEs4Ykc0SC9lTjR4Q3pHVjNjdVRU?=
 =?utf-8?B?dmNWMllEU3dtNjk5SDFtcTJ1YWhYOTF2K1djRXdTc2FHRk9lbjhXb1ZnUWtS?=
 =?utf-8?B?dGRMbHgvbCs5aERNQVF4b2FMd0c3RC9tRm5iN0ZlNTRoYlVaWkFjcVFNZWNG?=
 =?utf-8?B?QWk4ZDRSMktDb3pINjFxOU4wOUhuK3dVbFN4akVoa0h0U1ZxVW1YSk5uYllL?=
 =?utf-8?B?eGREN1pqSGxjciswL0RjRWpwR3VFZGEwMlMxeTVXdnBQUmFuYnZsUDFsMkUv?=
 =?utf-8?B?a0FJWU5TOHVvd0NYYmJFd2hzMmVjaVg0NzhLY1RXZUQyc25kRUFTcGVja0Ev?=
 =?utf-8?B?bzlpYzI5a1V0TFZZWmtYTmVlRjVtZ0czK1NxWlpMSE1yR1dRUWxiZTI5NWdN?=
 =?utf-8?B?ajJCMU5rd1lTaXQ4dmI2SU5TbTA5VUZUbFIwTm1ZUDN2UFJTRTJPRUl1aXBN?=
 =?utf-8?B?NzhMU3RiSlpwV2I1TkJlSko5a1BCQVlQR2w2Z3NaRUk1YlAyWm4vZnBkVURM?=
 =?utf-8?B?Yk12N3l0K1hRWktPR1NqWUh4TGljY2V3V2VCMmlXbnQ1dXpYcG1PbkFwNGov?=
 =?utf-8?B?YUhCeHc4cHRaNm44czJ3OWxnTkJINUVOdi9IbGZWOWprMlo0eVc2MjA4aDli?=
 =?utf-8?B?RnJNTWF5SWkxNEd3U3d1NWdwQlBZLzVvYmQ4TkpYSEVZeTh3TlpUTnlSK0xQ?=
 =?utf-8?B?OXFOM214bHA2dzNZekxrSkV6WEtjck1yTjNrSjJKVFZvdzkxMFRBTVF6WkpU?=
 =?utf-8?B?eWM3bzVxc3M1UFhoVUdYYm9icGE0bmhhRVdYSFNLZUZ4UEpuZWduN3Y3V3VV?=
 =?utf-8?B?azdITmdKTG94QUpyTjJkRzBMMDdMc2V3RmcwWmRkdWVqcXBJWWsrWlJnWnJm?=
 =?utf-8?B?YzhQRG5pRHFzcGFNb0ZKNEozbEVJTEsyMzNjYzFUczdpUTBaZFVZQWRqQUUz?=
 =?utf-8?B?WlA0VXhXTGJkMTVLNXZVVWtBRld5eEpoQTZjQkxQczI5VmVzWnJ1RU5NWTU2?=
 =?utf-8?B?TkRpRThEYjZxYVQrWTM1dkVmR0luaThnUXU4ZkRXSkhSNDU2d01LSWFiOEND?=
 =?utf-8?B?N0p3S3hPWlRKNkJVSnMwSC84VFp2bWphbmFFckRLWmRjYkRkRktKUDZaTURZ?=
 =?utf-8?B?dTdxUFFObTRwbFhQYzh6dGRzSlJ6V2p6MkpwOXNvTG5YQ0ZXSVpZU2VtSEVO?=
 =?utf-8?B?TTdvRDl3QVpTQnoyZmIxdVlXbHoxY2tMZ3pGL0ZpTXNMVGtpK3JtVGVLSWdV?=
 =?utf-8?B?V1F0TEpxd0NHWnY3ZXRjblZDYjJ5cEtKRFFLb0gyNEhHTS9aWnMzb09kdVc4?=
 =?utf-8?B?YkRTM2cvTmw2WWJFTXlwaSsyNGF5NjVDOG1tbWM1a3llaHg1dnFtRnljUFhR?=
 =?utf-8?B?dE9aN2Y2aVU5MUdHRGhvNWk2bjJOK0pFZ2pkaW1QMXpWZDdzdXpZUlJaV0x4?=
 =?utf-8?B?SDFLQ29ybUw2SlprczYwY3JFcVFHRWFqSmFMQkVSTlZFbXA3LzJoanlLK0tx?=
 =?utf-8?B?azRyanJ0YVI1VHdjUDV5UFk5WjVVOUJ6U0hXc083WTZNMm01KzNOL25Vb3Zt?=
 =?utf-8?B?K2R1ckZ5NWZ5VWVqZWNCN2huTlVINEY4Mjc2U0UwV0kza0VKWkFDd24yanlG?=
 =?utf-8?B?Rzc3ZVk4SWFvdDNjNXBjOTZLSGtsbk9BZERiTG5GRFVKSWtYeTlRZWtrK0ZP?=
 =?utf-8?B?azgxbzFXY3Vac1ZicWdlZHNJOGV3UlloUFhBNkRKUHN4alpqLzFIR280a3FM?=
 =?utf-8?B?Q1Q5ZGdFYVdleVhKSjlWUWN3c1pDeEVWNjBqendOeG9rdGU5T2pGbzB1ZVV0?=
 =?utf-8?B?MUlkWkRmRklNRkRZdnNWc0RmMXNhd1M3MmF1Yi9pUW12b3gxeS9ZRy83b2gr?=
 =?utf-8?Q?kXHnDZ7I8NBNuQNq5Dn8XRkuFyMZkMHt?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eERUVWEyOUE0R0FBTk96VGdwVHl6OWprY1BtZ0dNTFVaRE84SFJBY2E3R2dN?=
 =?utf-8?B?Rk13SmNabHZJL0twU0hhOE93S0tWQkRFNTlIRXR1TkY0RVVtSlJyR3JlaVNi?=
 =?utf-8?B?Q29qdjdIc24xeHV2c1F1WndxT3VGNEZsNGUzSk9sZXlWOFZiMUtMNStVaDVy?=
 =?utf-8?B?Vm1KaG9jNWpFeWNRcWRJTzVIVnhsMHVWRWxxU3V6azBMckp6SG4zNFQ2ZUs0?=
 =?utf-8?B?SFJVTFZhNUNqYVFhRkp1Sis1Wk9FU0QrWDhwaytUQVZGNzhJbVIxajZ2RkYr?=
 =?utf-8?B?QnhqNUlHNTVjb1dEaGNwYi9GNTFGSy94TFVkTHRjbk82eXRYRjU1ZjU2YjY2?=
 =?utf-8?B?dXJHalUwSGR4VlBmMEh6SVJqbnVDQnVIa3NWVzhCQU14aVBCcmZrM1h4L1R3?=
 =?utf-8?B?amxKZjNCaERhQlYyQnlLY1IxZjc3UU5uQ3NaQ0hlRFhHN3BBY2dHYUZaUXc3?=
 =?utf-8?B?Vk5kU0xoclJGVzJHZk1rV2daajdLVWczR1pBTGxGRGN6aHBzOUZIZWdmSWVr?=
 =?utf-8?B?ZzNKbHZQcWNnRCthSnl3V3BiZ1h2citFdStHVDNYc2ttTEc1QVNWVHhna2RB?=
 =?utf-8?B?MmptVmZWbXVuMUpzQnh2ZkJCaTh2bjRmQ3lYYXhHQ2lWSzFhaUJ0QVNneUJ3?=
 =?utf-8?B?TmpWNGh2UCtBTU5IQkoxUmJDV1FmcnRIcXdCTldvcmdiVzVmaWRPaml6VEZL?=
 =?utf-8?B?enU4K3Q0cGdJUHhKdGNGWDk0L1RzS2czVHM5RlVPN0RUbERldWRlSjQ1ZmRi?=
 =?utf-8?B?UGpCVGNWRlA2czN0TDhoRjRMTHhhYmRaTFp1TEFNTHRHZGdjbGR5SFE3QUhR?=
 =?utf-8?B?SndkN0t6VG9iSUs2VEhwbFJXaWtFOEFXaVpHTFp2c3BYQlFzMWxGUHc1RkRN?=
 =?utf-8?B?Zm1KRzFvNGM5MjY2ZjVBR0NnSE9Ubk83RFFYK01oRDlZWFd6THQ1RFRoMU9K?=
 =?utf-8?B?ZnpjRXU3amJvVnJHSCtnMTJPR2EyU2J0M3ZLUjFPQVd2V0QvY3ZvaldONlpS?=
 =?utf-8?B?UktmZndTMzVJc05SeEdvVGNrQXV5d1drL3NyL3FRaUVicDArb0tBd3pLblVk?=
 =?utf-8?B?c1p4U2U5TGZndDZwZUFXVC9VeDFxS3pzUkUrMlhKK0RqSFlsTCt1dVpST3Vx?=
 =?utf-8?B?QU9ZblFOeWcrRkRVanBpOGt3VFVmaHh2ZVQ0Y3VDN2hkcG1TWnVCTDVyN1NQ?=
 =?utf-8?B?RVNtUEFBZGticUxZTWsrUGNZWFBFcVYrUUFObHRBa05KNTNEcUtKZkhtTDdO?=
 =?utf-8?B?YjY4VDhkVlRDYTYxMnFUQjBaTFJoUnN0RDAwcGdac3JmR3ROYk50TjRuOGRt?=
 =?utf-8?B?d3p2aG9QWGozZTJFQ0xyREdmdWlCWExGT3lYME4vdk52WnQ2UDA5VXhGMG5l?=
 =?utf-8?B?VTk0YnRHRldIQ0VRcy9iSkZTeFpwWjFjMFVlVHdPWnY2ZExmNW5ZSlBYSXpH?=
 =?utf-8?B?Uld5SXJGd0lJVmw1azdnZHhpVnVzNitOdXlINy94bk9wTWRFdFp2cmVrbDF2?=
 =?utf-8?B?VkZKMGgwM2NIVWUyUXkzRmRzWnk2RUJTeWx5Sk9SdmlhRjdHcEM4K3U3MHRD?=
 =?utf-8?B?UjF1aGF1bmk3aFphREF5aWdNSWpzQ0FlMmZWT01tbHlLRFlKRmNlR09ZVnVu?=
 =?utf-8?B?OUIzaDh0aC9yc2sxZjUwU29RTldFZ1o5WlJrUzlwUk9YbDFqZXVoMmFQd1E1?=
 =?utf-8?B?TVV2U08raEM1YjNSakxweVZTZnptQllXbEFLbElIM3pGZ0hTU21aZ2dzS1Jm?=
 =?utf-8?B?MEZNRzdQanBiZWRMcUtCeWVYSU1obXJjVCtZZ0YwcHNGQ2VJYmpnbGRkSjZB?=
 =?utf-8?B?cXZSVUh3UjNTTTZVNnBQRWkzekVGYStGZm5DVENTakZaZXZ0VXdBemxid0pa?=
 =?utf-8?B?UFFnUHB5QVE5UXQvZ0hXL2JseWNnM012VnpOV3d4c1B0eVQxbmc0UFJNY0Np?=
 =?utf-8?B?VCt3ZDZScnRIVzBweHgrc0NjL1hybXlwcEJFOGUyK1M3QjZ6UVpZRzRwVzM4?=
 =?utf-8?B?YTJiMVQwd3VRaEJZY3RHSnBoZVNEeGpGUk40WHR3ckZsdHY5SnhUNWlhMnBt?=
 =?utf-8?B?TFp3UUFnNVFqNnBHUTlYanJwOFVjRXkzZzhhYTdmZElrb00rT0dxMmR4b09Y?=
 =?utf-8?Q?wkzTboWwGFVV1dt6zavDnPCHQ?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f4ca0026-88d8-4193-e3a3-08de050bb672
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Oct 2025 19:08:20.0766
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: o2uo65YndNDkGa828DgiZTrfebI0fW4qTDrAs9KvFBRoufs0h3pfpIbh7kSgv+I0molZuLzBrgMmmTdO4NBhEQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR03MB7070

FreeBSD QEMU build requires libinotify, otherwise the build fails with:

./qemu-xen-dir-remote/meson.build:2535:15: ERROR: C shared or static library 'inotify' not found

Install the package and add the /usr/local include and libs paths
explicitly as QEMU configure options.

Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
---
 .cirrus.yml | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/.cirrus.yml b/.cirrus.yml
index f295c8cb0a02..55dc9b39092a 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -11,6 +11,8 @@ freebsd_template: &FREEBSD_ENV
   environment:
     APPEND_LIB: /usr/local/lib
     APPEND_INCLUDES: /usr/local/include
+    CONFIG_QEMUU_EXTRA_ARGS: --extra-ldflags=-L${APPEND_LIB}
+                             --extra-cflags=-I${APPEND_INCLUDES}
     CIRRUS_CLONE_DEPTH: 1
     CIRRUS_LOG_TIMESTAMP: true
 
@@ -51,11 +53,12 @@ task:
   install_script: pkg install -y seabios gmake ninja bash
                                  pkgconf bison perl5
                                  yajl lzo2 pixman argp-standalone
-                                 libxml2 glib git python3
+                                 libxml2 glib git python3 libinotify
 
   configure_script:
     - cc --version
     - ./configure --with-system-seabios=/usr/local/share/seabios/bios.bin
+                  --with-extra-qemuu-configure-args="--extra-ldflags=-L${APPEND_LIB} --extra-cflags=-I${APPEND_INCLUDES}"
     - gmake -j`sysctl -n hw.ncpu` -C xen clang=y defconfig
 
   << : *FREEBSD_CONFIGURE_ARTIFACTS
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Mon Oct 06 19:08:37 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Oct 2025 19:08:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138358.1474093 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5qZZ-0003It-B5; Mon, 06 Oct 2025 19:08:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138358.1474093; Mon, 06 Oct 2025 19:08:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5qZZ-0003Ig-8F; Mon, 06 Oct 2025 19:08:37 +0000
Received: by outflank-mailman (input) for mailman id 1138358;
 Mon, 06 Oct 2025 19:08:35 +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
 <SRS0=3dSL=4P=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v5qZX-0002pt-RK
 for xen-devel@lists.xenproject.org; Mon, 06 Oct 2025 19:08:35 +0000
Received: from SN4PR2101CU001.outbound.protection.outlook.com
 (mail-southcentralusazlp170120001.outbound.protection.outlook.com
 [2a01:111:f403:c10d::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dad82864-a2e7-11f0-9809-7dc792cee155;
 Mon, 06 Oct 2025 21:08:34 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by SJ2PR03MB7070.namprd03.prod.outlook.com (2603:10b6:a03:4fb::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.20; Mon, 6 Oct
 2025 19:08:25 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9182.017; Mon, 6 Oct 2025
 19:08:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dad82864-a2e7-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=n4aaGix1zCd14Es06TwT7RoV3XKJap9UKK1vqW79qYA3Wbq3WSkw5kdF0wYDNjMJdsIUdjuDUcsrElstWNVIYXpXrvgAVL0uVFLQh3ybfyP8BKB3aBknRBOIpOUAoop8aphikZ6tQm3dye+us7AQ+Jr0MtpvuT7xfBAgvRL9Oe4xNaT4JL241ribGL+GjP9Rg8QSRIsK6QNQPRvUvkcELBx/U6JS4Xu/tQAVfhZwXuFpP3N5RSuU0PwMHJ5sq7ogabBz9pfqPU5kGqPgkfn0d+mp2oMLAhO5yPQwtIWXKi43WgENHMEMy5kbh08Pv/EaKLhqcaWsr8vvqXHc7aYLLQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SQlhLvI05eusQyov7t6MTC9/969C3skpTIWEwSomhGo=;
 b=OekP+tHPIgpPl0BjjdlwGUKpLnuHGsOPkvSVo1fFPMBbtpDJevLM1W4DsiuDSSn4pdwkkEUTQsrtjhKMikr/ffjU9sFeneyk/F7Yd6RBTHt0HkmO4YoVOPTCFbFfrSvf1HHjsX/NE+f3++BODtbJNaQHnidNoEaHDZy3yzD9PVyddUlstQpBd2bkg+awvbvpZ0UG/YjBSpb0qvVXZ0nn+HMhLRsIxoQvj5fNlrroIcy8nmkgSuTA3J9GAYiQHG1w7YM7UdsA5oN8youlC7d3+m1pEnxD8dP61D/vEM7GvhppoNZ+b7gQAohpMAIK+a4LAaXT/YmYvLYjfJ778WwUwA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SQlhLvI05eusQyov7t6MTC9/969C3skpTIWEwSomhGo=;
 b=wgJBVGXq18gmhya4VONKn5Wogi/ZS5lsYrmjKmh2pIxV9ysOEDI7Dgs2Oju5OC70baepKfRGYOijCe/rgLvYy6Gn/PUy5o2rcfAcKDtskVZaVkMir8aMa0FEM03SnsR5awIrsoDZFl+SvV+oVTIbj8aHmThPa1Oz1ZC8cdJjohM=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: oleksii.kurochko@gmail.com,
	Roger Pau Monne <roger.pau@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH for-4.21 2/2] cirrus-ci: fix bashism in the test_script code
Date: Mon,  6 Oct 2025 21:07:57 +0200
Message-ID: <20251006190757.72757-3-roger.pau@citrix.com>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251006190757.72757-1-roger.pau@citrix.com>
References: <20251006190757.72757-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: BN8PR04CA0037.namprd04.prod.outlook.com
 (2603:10b6:408:d4::11) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|SJ2PR03MB7070:EE_
X-MS-Office365-Filtering-Correlation-Id: 05b92de9-ca2e-4e6e-385b-08de050bb996
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?RUlXQnRUc1FJSDljOVo4Vi9zWGQ3dzFKV0EreVpvS0pOQWUya3VHaWEydVV0?=
 =?utf-8?B?aEdsZXFPZTk2YlF2YmtwdTB1NXVDdFkwcU5PdlVOMEhYZjFDUHJ3V2hyYUhw?=
 =?utf-8?B?bG1DejE0bXRFSE8yRlFBRG9CWjdjbnpkS1ZYZVZCZFoxU0ZvMVh5djBDZmdM?=
 =?utf-8?B?aXNwaXgwQ3c0cGduWFdCa3dJWlc3am11eC9oblIrVUVlUzVzM0Q0MUtDSFA3?=
 =?utf-8?B?NUlkY1c3aWhKNEVFZTFwVUk3UlpYdWFsL1NkNVFad2IrOHBxVDZKODdXeVF0?=
 =?utf-8?B?bXNJZHBHckhrQm5SN0FXTm0vcHM1N3FDQjhINkZQM2VWbENvZTEvUGNMdXo0?=
 =?utf-8?B?UUNJQkNUcDg5VUlaMGVmK1FrMzBKb1dxNlZsQ0RmeWllM3NKelJXbnVHMEZx?=
 =?utf-8?B?MndwYms5ODkyajFIdUVzOXh5c3pwWHdVOHp1NVdOQk9zR3dpbHVrbjIvVmJL?=
 =?utf-8?B?K2ltbXZUZjlkZjc3MzA4TEFySWtIQk5LK25maXNyZ2Y3ajJYeXc4S1Z3dnVH?=
 =?utf-8?B?dDAwZnd5bFV5NXFpV2hGWHNMZXNkT01MbE9iK0U3dlBOWFdlSnprbmpYVXVv?=
 =?utf-8?B?cmhBRDliZzVUdzFDWnQyWFhmd09KMjQ3aldJZWtod2JqbEdGT0phSTRRdTY1?=
 =?utf-8?B?UjNTNjNLdmZVVWNhcG5MN3oxYlZ6Q1JBNkVjYmZjZFBTTDE4N3ZvUys1RVhM?=
 =?utf-8?B?RTgwZWVjQ3pmMXFGNHdLdkNTNTJJM2FxeERvNEZCWVJmeTg4dEV5REsxZGl4?=
 =?utf-8?B?VUg3Y3ZtR1BNc2YwQU10Zmhocyt3MHFlTDNINHNpcVVGUVJJeFBhQ2d6cFdB?=
 =?utf-8?B?cENzTEdFeHk3WUZlT1YvcU1SeGRtYXZQcS9HZXVRb2l5SmROZFFBSnVMcVRx?=
 =?utf-8?B?ZkJJMkl6MnZmOVdja2tHM1g4TFg2N1RGRmova3hxblUzeko1aGMvOTJuZjc4?=
 =?utf-8?B?ZHdSWWlzL2xHWjZ2eVJNRlMyMnQxUkc1ZGhtT2laZ1VyemNDeEppZUhnaHE2?=
 =?utf-8?B?SDduaFF5dm9YMkVBMzN5S2ttQmRGUGFyMEFqWmJPMDB1RWNsVzdWWVpmL21V?=
 =?utf-8?B?TDFha1Q4ektueTltREhYQjk3TXJlWjZGSjl5SEJsMmV2c3ZnNXJvZ0VVY0R0?=
 =?utf-8?B?MDBEd05ROGptWmVzN09xSmZKNVV1cmhUaFpBeUNCSVRQU2xUcExJV284MjVa?=
 =?utf-8?B?S201NE5aV25KanlpRWtOK2hEZWczSlZQamJHengvdVFmTmUrYUZxd1RKQUpE?=
 =?utf-8?B?SWc2eFJ6ZmRQVFNYam1ta2ltekpvS2oyK1JOQ2Y3SDJUOG9QL2dCblNVeURL?=
 =?utf-8?B?aSsvNUVSdHFMckN3NUVVdnRyQTFNOVduSFVCeGljaXlwVWJyNDFWQmdUaHBM?=
 =?utf-8?B?ZEM3NE9FTVVaaXVkai9wWHFTQ1BPK0NOSFUxaWF6dk1mdXNtL21VNFV1SCtQ?=
 =?utf-8?B?WkhOR3JLTDBtbmZ2SlFOQnNIZDdlNXVMa1RNdHc4U2NibnMzeEFKd1pVUGlD?=
 =?utf-8?B?bmZjbTRrRldvNmMvMklqQ1hlS2RVWEkwclF4ckMrWDkzZnpaSUFpOVZIZEEr?=
 =?utf-8?B?Z2FrRGNyNjdYNlI5WEtJL1MyZWNnOW9YK05SdDY5eTF6Z0hNL2JrNDVpeUJk?=
 =?utf-8?B?dVl5dlJBdE5ZNmxZbGVKbmN3TkVZRmZNd245Z21mNHRoZVFETTVWTEQ2SFpj?=
 =?utf-8?B?WUhUNTRMNlkxd1VaWldvK01HdW9NQ0dVbGZ6M0NyOS9DSGxZQVpsYTRESlhI?=
 =?utf-8?B?R3dudWlhVm1PS2JBcUNiWGJ4Rk53RXlmSDNYWFdHV1BQMTRrNENGUHpQV2FE?=
 =?utf-8?B?UEV1NlhkUTF4U1Naay9RWllVWGFXbklpV0U4OEFTYnhuelc0cVFNMVdISmNP?=
 =?utf-8?B?ODdyb293YlVmN0NDVmRNUEhIZktyNHpZS2dRRTlWRFdKSUpaY2hVY3g2M1pN?=
 =?utf-8?Q?MAleLg4NDui5cz02KzZXyl176WgMRn56?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TWZYS2QxenhxakpQOU1GemdXTDBsaDQzTkR6UVBTVmNQUkxndS9nTGx1K2Nx?=
 =?utf-8?B?MzFrc3RXUE9SQStFUDNXMGw3VDYzalJOQVNKNDMyRjY0TUlkaGpPR0VPT2pu?=
 =?utf-8?B?dnZqMEMvOVExdkVUd2J5ZmhJYVFWc01wMEFVVzhrKzVLaUQxa042cWZoNlZ4?=
 =?utf-8?B?c1MrR1RNMUE1dDBZbkxCamlIeGpoWUpPcVg3dkhpSkM2eDZ4VHVMZ2VTL3Vq?=
 =?utf-8?B?TEJSUWFKTUppWTlFWTFZTG42ODBuc0tjNFpQSWdMdGJISXdreFFpQkI1d1c3?=
 =?utf-8?B?Q2RERW5KZzNEbkVIZXROL0NwRHplNVl2U0Y2cUZoKzh0RjNGYWltUnN4WGFQ?=
 =?utf-8?B?TUx5SFVTRGtubE5idTJ5OXRUS1dpOHh4UWFzaHhzdnNGUVpJRWZHMzdEZFQ5?=
 =?utf-8?B?dnhvMnZTdCtnWTZycmExTTUzV2ZITnZHRFp4ekl4TitSVTMyeVNXTDNqb0pp?=
 =?utf-8?B?dVdoczdWM0xIaDF5ckVhUDVlS0wvejQwRDNocExyamN6L1EzQTR6Y2xicEF6?=
 =?utf-8?B?aGtycEo5dVFudU9VTXg5UXpKTE1TcnlEZXhtZEp5VW1XY2MyZ0t2bzlISGNO?=
 =?utf-8?B?Y282SmIxQW1oaFM2UXZUVm5qT0pmakJ3S1RxU0IzUi91VkhUWmNNRU5hOUsz?=
 =?utf-8?B?V0hpdk0yQXYwSUtFQzhYcmdOYUNHN1d5bEVRRkFDRFFWbzNEMVphM25vL1RV?=
 =?utf-8?B?VktyUFZHbVhpZXByVTViWjlKdXROaDRCamhRTGJsWjY3NjBiS09nK1lacXdX?=
 =?utf-8?B?UStTd0NNQ1pINU1hNHlvU01URENtQlpGRkhxT1JuczI4TnBtZ2YwTjRCdjFX?=
 =?utf-8?B?MGhxTDZQNEZ3WDhhWEZiME81Y0hpUjZYQ1BkRllDa2hNakNWcUhoa1lHYzFG?=
 =?utf-8?B?VWxoOWVjQXNTSnZyMDIxSUNobGtTMkxPd1lDS3lVSVVabHZvek1ZVWRRVTNY?=
 =?utf-8?B?S01RYlJ0b2NEUHV3a2U2a0xtWG5CdVdWeE9GR0dqVVp6azdmWFlyQldBeDMx?=
 =?utf-8?B?V0Y2YnlyUjZ6NGFmODJOdUVtanNmb2pNMGd0d2Q4eE8weVBid3JGdjk3ajcw?=
 =?utf-8?B?bGNmNE9XemlBZytVYUZGRzNzcGJmd3Fla0ZJWkJhTkRhTlkrOUMrTW13OVFn?=
 =?utf-8?B?UEhPVDdpeDlySHBlYkgwYnh1WFJ4RVVVMnFZanR5K1VJV0NVbW5SN01pMDFr?=
 =?utf-8?B?aldmN01QcE5wQld2c2kwaXV4V3JjbXZmMHN4aWpBcVg4dkg2SFpJSTVyR2JE?=
 =?utf-8?B?QVJZSVcxc3h0ZllKRERXTHVzMTVKUWZ1L1JEZ29oZVpPZTRYK3FWNUNZTy96?=
 =?utf-8?B?TFNzTi9sWWZHWWNiUm10OTBQa0tNYnc0cE10NDZNallMeWNDSDVIU2xIclND?=
 =?utf-8?B?RlE2dEJGUHhnQ3Nxdko5bCtOTWVEWFNKNkF3OXBjQWd6VkY4NVhNRlJPOVpo?=
 =?utf-8?B?N1lyanVtQTdqa0RnSkk0YTVmWHVTZTFKUVdoa0NQSGVlQmlWbklQdldRNGdl?=
 =?utf-8?B?eUlGNFVSbU5kclJ0d3IzVnlVdm1uNHcwNUEwaU8xbHdBOWdWQVBSOUY1aXBV?=
 =?utf-8?B?UlJIaWpybTB0c2Myd1JJZGJZOVE3MzJaODBsWjh6NnpFbmNyS1Y2QW12dHNy?=
 =?utf-8?B?RHF5K3pueHVXKzN4N1ZoVk0rQ0plWWtNQnFDeHg4VTQyMWlUYm1qbHkyTHNK?=
 =?utf-8?B?L2M5MGxnSHQ5ZW4xS0FWNHU3b2lSNjI1RFdUaTJvRVhnQkVKNkR5ZUExeEJl?=
 =?utf-8?B?RlNvN29IZ0QvSk90SVNXS1Yyd1pVYk9jMEJLVFBJSnptemQrdElyVU1ueFpY?=
 =?utf-8?B?SlE3TWd4enFjbVl4Y25qM0FsRVhaa0plV3pIeTBlZCtXckNOcGpucmsvZzhm?=
 =?utf-8?B?U21tWTgreFZIbEhiODBTRFo1RVJOeGJITll4bzZxVlY4ak5sTjdkcmNwMG5C?=
 =?utf-8?B?UGoxVXh5QXFPdHNuZUREWTdaMStHelE1ODZNMTFTcmt0eHdaL1F2WVRkWXBQ?=
 =?utf-8?B?RE45clVrSFRDVmZEcWpaMk1jWWthbWJXR1Nkc2hsbjRrbEZPWHVVRStSSG1v?=
 =?utf-8?B?a0hXcUJEMEd0RVJ6cjZ1ZC9XOExKSllOSGlSMTlFR0p5dWFWUHhhYWVxR0Nh?=
 =?utf-8?Q?eWOtx+ily3CWvqo85PuBTje6U?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 05b92de9-ca2e-4e6e-385b-08de050bb996
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Oct 2025 19:08:25.3366
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: hfBG0qYRvg/j1l/Iff6tIN1DQYoRpG7AS+eCJr6P/q0zQfPMbzf4AlXuHTh08MXpY27mRi9xmzUoIjyeykKnZQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR03MB7070

The default shell in FreeBSD is plain sh, which doesn't support the usage
of the '|&' operator:

./automation/scripts/console.exp |& sed 's/\r\+$//'
/tmp/scripts34c427adc6599db29cb91221a0939d85.sh: 16: Syntax error: "&" unexpected

Fix this by using a redirection of stderr into stdout, and then a pipe.

Fixes: a406195c15dd ("automation: call expect script with redirected standard error")
Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
---
 .cirrus.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.cirrus.yml b/.cirrus.yml
index 55dc9b39092a..2fa1deeeafc1 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -169,7 +169,7 @@ task:
     export TEST_LOG="serial-${FREEBSD_BUILD}-${XTF_ARCH}.txt"
     export PASSED="Test result: SUCCESS"
     export TEST_TIMEOUT=120
-    ./automation/scripts/console.exp |& sed 's/\r\+$//'
+    ./automation/scripts/console.exp 2>&1 | sed 's/\r\+$//'
 
   always:
     serial_artifacts:
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Mon Oct 06 19:08:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Oct 2025 19:08:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138356.1474073 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5qZV-0002q6-UM; Mon, 06 Oct 2025 19:08:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138356.1474073; Mon, 06 Oct 2025 19:08:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5qZV-0002pz-Rg; Mon, 06 Oct 2025 19:08:33 +0000
Received: by outflank-mailman (input) for mailman id 1138356;
 Mon, 06 Oct 2025 19:08:33 +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
 <SRS0=3dSL=4P=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v5qZV-0002pt-9R
 for xen-devel@lists.xenproject.org; Mon, 06 Oct 2025 19:08:33 +0000
Received: from SN4PR2101CU001.outbound.protection.outlook.com
 (mail-southcentralusazlp170120001.outbound.protection.outlook.com
 [2a01:111:f403:c10d::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d5c5710d-a2e7-11f0-9809-7dc792cee155;
 Mon, 06 Oct 2025 21:08:26 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by SJ2PR03MB7070.namprd03.prod.outlook.com (2603:10b6:a03:4fb::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.20; Mon, 6 Oct
 2025 19:08:17 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9182.017; Mon, 6 Oct 2025
 19:08:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d5c5710d-a2e7-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=TcE3OLn2/4rFfUuScVYulUb1v8loiSukIhKABICNtBOjRn87iKFNzDVadYr5GEqS/hdpiZW++ZdiXa6AAEgGqp74d8IUPEkpYbPn3hOVNGc25qNK/20eVZ13ul3K/sC6Hr7I2/1dRHyUJD6+GaOGzin51UOTiMSmsgZ0yjg9anxYT9jVSu41zhh7xnd4lkZdiAURXpbiKfPzFGWu7PcVNZiMtQVNV8dpqrZ2h3xZkiZgEbFcg4mek5qtzPXYCDWis7v7ORjaMOeuNZx3HKiLNTWpXNgCUbFFo3mzB5rjykKPs4HbPTgr/tyBI5CTdjATBZqA/9MMqmBOKWzNzrglgg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XBssSJSuIoi0JTMy4fL78fFCL45+RV9ZVwWU2DmxDBs=;
 b=FImssuqxMOpi5/4tHZZpJF18tT6+fmUhUk2z00RMnzQ8I51oRnJi75+tFqHhWoNHq7SHmYEECmpwcoF5XEVJfvpqKrYtguBGJG0tdNzg/Q3c7Qc8XMttPjGoBvmI/9LOK5RGoyIg2zOj0+nKad52Ik9N4vySjQdDK96k7ktj8b/B/ZzCNNoXmKb7tRKVVRWj8LSIt9stRiff3SVsrIlgewg5c8LRzmLzcLS3ADwpiIozrrmxgTU4MQB8MStUR6TAO+56XJ7QuFOkpqWw9in4zyTB+Ukh4a6KdNwkrbY7A3b89BsoiiIRrgWsn2QJ9XfQlv2neuTjdCRhmtxnSEa9xg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XBssSJSuIoi0JTMy4fL78fFCL45+RV9ZVwWU2DmxDBs=;
 b=TA9lh03MzDSF4fNXVnMruEDNOf2BCrZ/3cSNgz9QQIM6WG484O7UNW6OJeehvfvLeJg6vSS1EfCc+JtKj8F+e6Ct7DxvEvzT1HeId9PwP96QJuRzQekDX1oaUuG9vS36HkoZ73cYNFmEVbIuwzOHm1X9j9zYRTxSq5h7TXtTsM0=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: oleksii.kurochko@gmail.com,
	Roger Pau Monne <roger.pau@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH for-4.21 0/2] cirrus-ci: get testing working again
Date: Mon,  6 Oct 2025 21:07:55 +0200
Message-ID: <20251006190757.72757-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.51.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: BN9PR03CA0962.namprd03.prod.outlook.com
 (2603:10b6:408:109::7) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|SJ2PR03MB7070:EE_
X-MS-Office365-Filtering-Correlation-Id: d916d9af-2c8b-47d4-4eb8-08de050bb49e
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?OXdNWlRaNXM0YUIwblRpS1BDbnJjcUtmMXBmbXd5QjZHQzVESzhlSVBzT1Jn?=
 =?utf-8?B?Qm5SR1RMUHVFVmE3R0ovTXNHMm5lV2VMYkhnL0F5RzRQZjNuc0UrUUZuWHpM?=
 =?utf-8?B?N2RhNGFOeGZQK1l3b0I4K0xNWEdjQzZvMm1QM2o3TmxYQjIrenJCWlpOUGc4?=
 =?utf-8?B?UVUwS1ZVT0s2bzVKeDZub2hheEJ3K2ZCNVl1d1kwK0w0NU1UL2M3cFV0VnZL?=
 =?utf-8?B?LytWMHpQWTFyTnNIL0F5UVhxRnRrZU5DajNacG9WLzA3VUIxcDBBWmxiK3RJ?=
 =?utf-8?B?eTY5elgraStzOHYwVlRNalE4aWhtbm9vdlQ1WUpDZkNvVVJVdUlxN0NzS0Ja?=
 =?utf-8?B?TE1Kd3ROeFVQYzdmbXRTVlNQdzBVcUJWTkx3UXZvTzlZYkxnR01zaHdJbkFZ?=
 =?utf-8?B?UjZOekN0a1AvMmhTTVBVaHFiRmdMRjZtVlRjQ3JwL0crKzdxQUV0aEl1ajNr?=
 =?utf-8?B?cENhZDVzY3BnVk1pcUJhVG5iSE5FRnlQSFhnVDV6VEpBdTlmYjEzRDU0ZmF4?=
 =?utf-8?B?S1RkVWs5WmJIQmpncUdzWFNXdFpPdzV4SHIwUFNIdXFuTXdFTzVsemhpRGRw?=
 =?utf-8?B?K0g3UTZKa3RLUUFPS2UxY2lERWIySUJuZEJ1QlFtVC9LeU93ZHA5L3BEeU1Y?=
 =?utf-8?B?bXVMNEhNWWk2TjZ1S250OXpyUmRXRTBKb0RUZ3Q3ZDROR2dCUDJtMXpESzAr?=
 =?utf-8?B?ZC8zQjVNdExPYlNybmNmN1lTMUFSZjZURGt6MWNKcUJmeThOY21XTTNpbkth?=
 =?utf-8?B?MWZYaW91blcyM3BRMXZDVWRMbHpqWjBob2JicXJzbEJmeEl6eW4zck1JYXV4?=
 =?utf-8?B?dXRJa0xTeDVwVWxhUnovdlQvNktJWHJZdU5yY3d6M3JjbmFpZUJXWFVPSHU3?=
 =?utf-8?B?dlloREZCTnRmbndpVE9ycFdxbkhUU3V5WlVhVEtoY1dPOWpWT1hsYWVXOW56?=
 =?utf-8?B?VzJDMnJQckNLRk5kL2dmOXRzNXBQajR2SnA0clJrUU1VVHpEQ3lRYi9LTFMz?=
 =?utf-8?B?RUE5Mk9XdGVoK0NkVXl1R1p3b1ZxTkN6MDNVTUpUMkdyQkhXcGVMTWk0N2lW?=
 =?utf-8?B?MEhMUmpnU05RNUVUWUxGNVYwOHRZblN0MFR3U25xalhqTGJyYWZvS1dab0RM?=
 =?utf-8?B?MVJYSENHOU9mTkR4UjRFM3h1TG9uSXlEUUxHUW50QTNFOUh6ZU9MeDZIQ0d5?=
 =?utf-8?B?UHByamRSMjlpMFRMcFZVZDc1TXA0ZXVzN0psbnB1WFFwRDU4NUJ5dGVFRWtT?=
 =?utf-8?B?dTFMMndTYkVhOFh6dUtrNHVyVllRcTFnY2lMTGo0ZkRUOUhIQ1lZK0gydk0x?=
 =?utf-8?B?aUdNbml3cmFoRExZbXJBblNsN2E2NjA4SWE2V1hTWkMvWU4xbnQxM0YyQnhl?=
 =?utf-8?B?QWtObWhCR0hGUFFaR2o2YVEwTzNXdkRYY0I5NEIvd2tEcUh6MndwSG1WWVhO?=
 =?utf-8?B?dDVzU2ZsQ0VOZ0pIYmJEZXQvUzEwMzdIdEFMbmFIRVVtRTlMdVp0ZUpqWGpR?=
 =?utf-8?B?TFhnY0d6aDhMd0hyRmxUQVUvRnhJMmtSYjQ4MldHbm0zOHZGWHFUQWRwZnFo?=
 =?utf-8?B?S1d5N3dWWmVsQSs0ZHVrWEZsKytLQTE1YW94TE5hZnhmYVpRN05XZzhlenJN?=
 =?utf-8?B?dWtVeklXZGtzbnphdVZmNktGVWtjTlhTWEp5a3dzUWxoTkxacDg4Z1dNL25K?=
 =?utf-8?B?WHNxQ0pyMXhNUEozNmUwd0ZyWHFZRDZDd3dOWXBhRmQrOUllZ2VUM2dqSnla?=
 =?utf-8?B?VUlYaHNqMHI3WHVXOFBrR21adGRadTZkVHJMc2JtNUdwMGljeU51eUpQMjBZ?=
 =?utf-8?B?MnAvVFV2ZHlHVi9RWEJuOVp3b0g3UzdHYkdLQ3MrdjFxN25jeVNlbWtVTU1U?=
 =?utf-8?B?NUsydFJlWHM5S29lMThCbTBadzBPZTRNVERkSytWSDNpaHc9PQ==?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MUhsZjFtV2k0bm5PYzVFMXMycmdHditHUUNhanUyQmxtdm1RMEkxdWNvUjF6?=
 =?utf-8?B?OTZsTDNRT2I5RlBDaXdKZGFhajN1TWpCZHFBWFRJbC9jSm92REhnUk9YM2NN?=
 =?utf-8?B?cjR4eHA5KzI3bmR0OThEM2pTbDJIamRsZVpnMjJuSlRNam0wVitldUpRMXNv?=
 =?utf-8?B?M3FSRlBrVmtYL1RnenVSR1RoeEswRGtadEN6dTB0WEFqWmlraC9ybHVkbTVF?=
 =?utf-8?B?R0IyZDJBRWR4Q1VabHd3dTdHS3loMWh3KzNDUVZld0p2MTFLUzhRUjdXdURw?=
 =?utf-8?B?Z2pVTmYvRWlBcWM1WnpoOHBEcFFpdURWTnRDVkNtK2Q4anBNbkZyMkZyMTVV?=
 =?utf-8?B?VU5XVW5VY2ViNkFWRnpOUGQvQTFvRk1LRmU0ZEY0cXNxM0JtTlhWMUxiQlRa?=
 =?utf-8?B?OTVqUUVZVVFJNVZSTnJ2MDZGSUxuS21sQW53S08ydGIveVhwT1dyYlovVURM?=
 =?utf-8?B?VjNBbFpQUmhydlZ5YkJObTFJczlaVkRJVlBtaHlSbTlhTk5rT1VKSXVqK2tW?=
 =?utf-8?B?aWNKMjdINCs0ZlBlQ21pL256SDdvR0JZckNFTkIxZUVPdVJqQmY3NjhBOWlY?=
 =?utf-8?B?YTlRMWNBVG1zY3FDeXE5dGZBbjA2L0RSdlphRUtrNEFocEZrY0s4ekUvUDVR?=
 =?utf-8?B?bnIzSU5BSXl5SGFxcGhMOGc2bzlybkZyVExPYzhXY1BoYUxJRjJLTW41SWlo?=
 =?utf-8?B?QVBtUEFWVHZWNnpaL1Q0RlZpcGdnQ2l4U1lpcUJ3MEZWVmhPb3hsUklBdkVh?=
 =?utf-8?B?d2dhM3dlZlZsNHRnYzN5SUN4MDREdGxEL1NSNElyQ0JvT1NIU2NzWGdwTDNr?=
 =?utf-8?B?aEpFc1o5ZnhRL0UvKzlpUS8wMGM1MktUdjVxeE5ZUzNKMGV3S1Y5Qm8xK2hO?=
 =?utf-8?B?dlFCRkgyaElnYTR6eGJsZnM1NjdEZ05yRXNIS3Bid3k1VG1YRDRpZFBpZ05C?=
 =?utf-8?B?WWRzSWZPRlJEajhyR1VsVmtwV3BUbC9hUTl6QUVIMTRtMUpUVm9tYzhEbFFJ?=
 =?utf-8?B?Ti9Hc0U2ckl5ZkNqTU80UER3YlByUUdpQTQvYjcyTXEybUprNkkrL2w2M1or?=
 =?utf-8?B?RU1RQ2E2eWc0RzhTNDBGeWFVOUd5RVpjNi94aEs5UThZVUprMnJGalRxSWdu?=
 =?utf-8?B?SUxGWmlubFpUSmdySVVwOS8zblA4WXBrcDNCeGd5YUZNQkI2R1l5N0ZMU1M1?=
 =?utf-8?B?UTlBZFFrNEZNaXh3UTAvTnFPTXZtcEowZGVjRTI4WEtNUmVFS3Vhcjk2N05B?=
 =?utf-8?B?ZS83VnRjNkhhT010bWxlUmZPcGd1dXhuOC9EWHJuRmJ0ejIySmFXcVBCUk5T?=
 =?utf-8?B?SkVWdlFVV0crTE1WYlBpMjEzUU9aVlliWTEyVEg0eCtPOHlHUU1oLzE4aUd3?=
 =?utf-8?B?aWhiMXZZOFNKTTNOWTVxQkRTYU9TVHBpQTFsRzBqTDF1VVo3SGIxOWpZYTNP?=
 =?utf-8?B?eFJOS0FwbW1SaVNnTXNOalpTQUR0ZjRFRi9mNlM0OHZPczIvbXg4SGVhVkw1?=
 =?utf-8?B?RXJEN3orWFhrQmszMTByWGVwL0V6YUZQZk0wMW5mQnhNMUtiMXJxODI4MnQv?=
 =?utf-8?B?dll4MkxTQk8xeWxEZjRZcXlBMnZoK0tBMjQ4TXhiSTFUQmxGL3N4TWFyVXNj?=
 =?utf-8?B?Y1AxM0VMb1Z3N2ZYenVubENFNUxUWTdadmJKbHp5K2JIUTNROFlLTjVaNkQ5?=
 =?utf-8?B?Q0pXaUJYOUlrTXlzOE5IRERPbmxpU2toZnptdk5UYStwUk1nb05nQVVyUCtC?=
 =?utf-8?B?VTV5S1lZaGZsV3MrckdETUY1RWpBSlNPeWNJbE4vWW1uMXIycTkrcGRab0dr?=
 =?utf-8?B?NGNNaGI4a3Y1NTdkemE1SjV2bzUrV2VZcEdIZy9aYm8xN0JubHA5S3BtNEFZ?=
 =?utf-8?B?bVQ0QWUrTTR4dFdCS3k0N0hidEg1RlZKZzBRZHhGM2lJZHlCS0QvMGZXQUlD?=
 =?utf-8?B?emRuWDVjWHY2Y2F2TGg0Tm1sbjc0T3pEclBBVHYzVDR0K05nYU9VR2gyRVFv?=
 =?utf-8?B?OUtrYXRNZ2F5UWtaY3NGUm9FRUpXdllGMWNhUVRNak1EaldmZGFuNzlKNVlN?=
 =?utf-8?B?QzliQ2NsTW9SUzlEbm1naUdiQVVNSFJCT1JLcm5jWGh5UlM4R2NsWjJCaEUz?=
 =?utf-8?Q?JUiezrcTcyzyLb5ENCbPx0i+l?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d916d9af-2c8b-47d4-4eb8-08de050bb49e
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Oct 2025 19:08:16.8728
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: F6GMaDri4gYs8rkeQNq2RYqbc+K3WXeVvJ21I+GSWnhiH+xaOigtel7SsiSKbMrInLQLP/iHvdln1yqvv74gcg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR03MB7070

Hello,

The following series fixes Cirrus-CI testing so it's fully working again:

https://cirrus-ci.com/build/5486825222963200

I request a release-ack to get those committed (once reviewed).  The
risk is very low, since they only modify Cirrus-CI code, so Gitlab-CI is
not changed at all.

Roger Pau Monne (2):
  cirrus-ci: install libinotify for FreeBSD
  cirrus-ci: fix bashism in the test_script code

 .cirrus.yml | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Mon Oct 06 19:15:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Oct 2025 19:15:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138388.1474104 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5qgQ-0005Rj-6B; Mon, 06 Oct 2025 19:15:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138388.1474104; Mon, 06 Oct 2025 19:15:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5qgQ-0005Rc-1v; Mon, 06 Oct 2025 19:15:42 +0000
Received: by outflank-mailman (input) for mailman id 1138388;
 Mon, 06 Oct 2025 19:15:40 +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
 <SRS0=iNYA=4P=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v5qgO-0005RW-DP
 for xen-devel@lists.xenproject.org; Mon, 06 Oct 2025 19:15:40 +0000
Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com
 [2a00:1450:4864:20::333])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d796633c-a2e8-11f0-9809-7dc792cee155;
 Mon, 06 Oct 2025 21:15:38 +0200 (CEST)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-46e52279279so35851005e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 06 Oct 2025 12:15:38 -0700 (PDT)
Received: from [192.168.1.183] (host-92-22-57-86.as13285.net. [92.22.57.86])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-46e619b8343sm272008455e9.2.2025.10.06.12.15.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 06 Oct 2025 12:15:37 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d796633c-a2e8-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1759778138; x=1760382938; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=7BMck18dPJN2ugednENxj2gmtTIzkXlkwy4arTW3SXg=;
        b=sdE2GKexPotPCgZsCxCnCTFEDB8PY527g9jm0TCw4PpL6QVYjkkzOj6giECDoI1cb4
         VYZKOuPmDfl/q+TA7OQOdwQWgeubeeSNFQFaCrPQy9PvxNnGra0pFp8qIqhm2kAOOI0n
         QX83db8M33c/aI8tW3ak+3eOurc/NBTbD0hp8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759778138; x=1760382938;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=7BMck18dPJN2ugednENxj2gmtTIzkXlkwy4arTW3SXg=;
        b=qIjLMtNYogR7PffJgYkGl5x6NbqaD6D8/WgU1pYJwD+0wJDe4IPqIKREzlJ+o0OUwN
         3YtUncZVL06Xxo5wCD7FEkr/F/AW6kZvGGg8EwmzN9HNmfGE3/DBkny6but89E/C5KWV
         N/u7g9U+Cz4qnlPJWZOG69cenBc+1I9DQdCaGu1mPisXeiF+Ug7yTvj06IqH/LYOiwZr
         aPCHHLwkGXn/5NThhAuD4YwwE80PV4LvgJaiQ1VVdm9DAdQ4Fi0Oiom2CwKCl8xellGe
         I7xqlMCGrg1GEkaGveYQI7P7sf5RzxO9YwpRXaIL0cg3NgWthtU9L7YBBa/LuTcedXJY
         mZLQ==
X-Forwarded-Encrypted: i=1; AJvYcCV2qQ7BlTHlSBrPbLcEFFJ7jggYrJVF8sRITfVyoJITi5LuAJ/GXuNwO/9/+bg56CSXYQIBLqFBfTI=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx886sOGVQXJlaJWi0LRAG7tj0gGvWNS0P1snNcAFjDSkYQhqJm
	RSBV9HCMXEhwIbePPTvBZOg5p7svlgEFiMwJ+9FC1fL7nQFVM6idKxjRmQS8zwOdO+U=
X-Gm-Gg: ASbGncutMn2XqglFEZhu9R8psR/LEpeES8NqcFMABetP3UsSspYkPoX4FIAUBY5ddaY
	C6Dr3Zr0Tn89IgodpsKKJ/Rg2JAuCP21lOEIYgNJmccgO6dzPgoAzIEZcFm6E5bAMcQ7LnF3laS
	mOc2VaZACINRnG1cWLomPLW0Qj7AX6eGuLINgSmkaobalGFccCgiGCXMR8rIoiXKEWtPXQfrIDf
	ZYOKYdVmEE1/FCbfo9C+cV+K3lHWMVmPXcl8zB2vsR/zpqbN+SAx1NchLxN71yiwiuUHbOQFoZS
	rh9qQ73zHt2n66nFo9TDFJ4VsPmxWVJUcDZY13xJh3HyKMUVtkFU3e6ib5TrV9QO7urKaES+XHE
	IZTRXV54XpmmdbA5nKaPMIPPmKc9WXxbzoiRwsZzCwFnrlkAQH62DIKXVatDRyQYZnp4fNhyQgZ
	WmdepAKlW75SvT9VRGyVFTPLA=
X-Google-Smtp-Source: AGHT+IHjWGpYxXxiOaKE6vMtTAz8YjTGbQbHIKm9kCDnnCYpGIZ9PjL6fxeRni7FOu+JKrqcKFmtWw==
X-Received: by 2002:a05:600c:6094:b0:46e:39e1:fc3c with SMTP id 5b1f17b1804b1-46e710fff73mr102994665e9.5.1759778137634;
        Mon, 06 Oct 2025 12:15:37 -0700 (PDT)
Message-ID: <258f5150-59b5-4371-b18b-26ed33ffd0fa@citrix.com>
Date: Mon, 6 Oct 2025 20:15:36 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21 1/2] cirrus-ci: install libinotify for FreeBSD
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: oleksii.kurochko@gmail.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <20251006190757.72757-1-roger.pau@citrix.com>
 <20251006190757.72757-2-roger.pau@citrix.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20251006190757.72757-2-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 06/10/2025 8:07 pm, Roger Pau Monne wrote:
> FreeBSD QEMU build requires libinotify, otherwise the build fails with:
>
> ./qemu-xen-dir-remote/meson.build:2535:15: ERROR: C shared or static library 'inotify' not found
>
> Install the package and add the /usr/local include and libs paths
> explicitly as QEMU configure options.
>
> Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

> ---
>  .cirrus.yml | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/.cirrus.yml b/.cirrus.yml
> index f295c8cb0a02..55dc9b39092a 100644
> --- a/.cirrus.yml
> +++ b/.cirrus.yml
> @@ -11,6 +11,8 @@ freebsd_template: &FREEBSD_ENV
>    environment:
>      APPEND_LIB: /usr/local/lib
>      APPEND_INCLUDES: /usr/local/include
> +    CONFIG_QEMUU_EXTRA_ARGS: --extra-ldflags=-L${APPEND_LIB}
> +                             --extra-cflags=-I${APPEND_INCLUDES}
>      CIRRUS_CLONE_DEPTH: 1
>      CIRRUS_LOG_TIMESTAMP: true
>  
> @@ -51,11 +53,12 @@ task:
>    install_script: pkg install -y seabios gmake ninja bash
>                                   pkgconf bison perl5
>                                   yajl lzo2 pixman argp-standalone
> -                                 libxml2 glib git python3
> +                                 libxml2 glib git python3 libinotify

I presume this is good on FreeBSD 13 and later ?

>  
>    configure_script:
>      - cc --version
>      - ./configure --with-system-seabios=/usr/local/share/seabios/bios.bin
> +                  --with-extra-qemuu-configure-args="--extra-ldflags=-L${APPEND_LIB} --extra-cflags=-I${APPEND_INCLUDES}"
>      - gmake -j`sysctl -n hw.ncpu` -C xen clang=y defconfig
>  
>    << : *FREEBSD_CONFIGURE_ARTIFACTS

Do we really need both the ENV variable and the --configure parts?

I could believe we need both, but that also feels like something we
ought to fix.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Oct 06 19:18:10 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Oct 2025 19:18:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138401.1474113 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5qin-00067S-Go; Mon, 06 Oct 2025 19:18:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138401.1474113; Mon, 06 Oct 2025 19:18:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5qin-00067L-DO; Mon, 06 Oct 2025 19:18:09 +0000
Received: by outflank-mailman (input) for mailman id 1138401;
 Mon, 06 Oct 2025 19:18:07 +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
 <SRS0=iNYA=4P=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v5qil-00067E-EL
 for xen-devel@lists.xenproject.org; Mon, 06 Oct 2025 19:18:07 +0000
Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com
 [2a00:1450:4864:20::32a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2ff99857-a2e9-11f0-9d15-b5c5bf9af7f9;
 Mon, 06 Oct 2025 21:18:06 +0200 (CEST)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-46e2c3b6d4cso43561175e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 06 Oct 2025 12:18:06 -0700 (PDT)
Received: from [192.168.1.183] (host-92-22-57-86.as13285.net. [92.22.57.86])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-46e619c396esm267838705e9.8.2025.10.06.12.18.05
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 06 Oct 2025 12:18:05 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2ff99857-a2e9-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1759778286; x=1760383086; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=8btNnX20vjg+LKdQCPqANK5RWG8t7FQDAXuBlbTyXGk=;
        b=mwbhcHiX7+jK9auqLrkJeiVNTyIyin812Fn34E06vpKNOvYra1OUgs9ZrC7YbGkNa7
         VBaCLAwqTPbEugqqGw37WdsoX9U2CotaIcwyJg9HgIyaY6+6M8LbPY91gvw8ppcWCoRq
         9JegOkhQRQn8/uXdWTPWATcHaE+0BB9u8xe1k=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759778286; x=1760383086;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=8btNnX20vjg+LKdQCPqANK5RWG8t7FQDAXuBlbTyXGk=;
        b=q6MQ0KRC3Cf97q6maK9ibeF24Rw2rfD1NCq7Nh1ps01QyEhWDknpwwFWhn4d4iyCUh
         o0mfNwk47BgJSI91JNNYKztWdSqx4J5n+BrNSaSASbugD3vr/IHPuFJ9mJ0M8sgc8J/d
         m/RqxMEpHBsm9FNKPaRUJiaeaJHAHL8O9IEPqG8HSzgzD1X2gf3O7cP7l/YlppVjte6f
         TfYq1f78aSQTuAfc/7SDK0ZQCKGvikawmuKlFeyFKlYR8thwXEEwvNVzoMaRkC3EicJW
         In8/3iWQXUYxBaGGs1JoucTjeUEz80scCfTgEgECEgKJ6eMvmuxD0tbei1ADebqCgXPh
         IiCQ==
X-Forwarded-Encrypted: i=1; AJvYcCUC8laBwfBgXDw0M/SRnXaplmLt6nxxQyyXNvMLTSIcMXRuNKnP+pLzx5zotYEC4NClhhVsuedSWKU=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxsd4ya6n9n3eTby4JjmBS7ZS0OA2lWvMfGjaGcDHNOy6kdusPv
	8RjY7g+z7FqLeOPvZ0mFEBSGCiWb8p6x9fHQBPQF01Jn7CbI2joihUrpvu/WRdEtgFU=
X-Gm-Gg: ASbGnctS7PwIU07hr042i6AbziEwFeBlA1cB8/FPbiSnTe1FVH6Fme+7+hUqt3tnbuN
	XFYWOXz1xeNr3+N6vDp5XpAYcrJt3k21daX/+ymQnAPH0L0fO02V7gLjTunLOVNsGNgK0kJq5+S
	A0nVZrOEU5cX3DqwHMwUnvxPGkytSBl1JVWHTJDdgtTBcCH3ljC6Xx0rUrroYkyN/b8F5IT6S/E
	UGbZaxFS4zNSAB09Nk8n3zubdSQ2P0jEQC5yznqoKPDRf6q6F3NlGF71D47I+0TJ8G9iHDYj6ak
	57k/FtAXRH9405/Gh+TxVZhrQkMFNfw3dL2dLTDds2a4t3mB6O2TjAdNSXattIILgNgnVOhHHy/
	a7g8Lf9lnblASElxgiS6WKsVpzHvbAAXoJ/mZn3en6taeSqoJYzsungY82vb82FiJw1PxML12dJ
	t+lcnQ5MR/ZDUwJuZ3y3bHmmQ=
X-Google-Smtp-Source: AGHT+IFVngXmOJ0PaDYeaOQRInIg1sOtkYHgAs0BKeDnAo8Q0eu8vgxk2GffX3sG+J/Ex7myjOY0xA==
X-Received: by 2002:a05:600c:64c7:b0:46e:42fa:ffce with SMTP id 5b1f17b1804b1-46fa2d3b26emr2361365e9.2.1759778286019;
        Mon, 06 Oct 2025 12:18:06 -0700 (PDT)
Message-ID: <edbad73d-c525-41b3-8ee9-ae8458a7bd32@citrix.com>
Date: Mon, 6 Oct 2025 20:18:04 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21 2/2] cirrus-ci: fix bashism in the test_script
 code
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: oleksii.kurochko@gmail.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <20251006190757.72757-1-roger.pau@citrix.com>
 <20251006190757.72757-3-roger.pau@citrix.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20251006190757.72757-3-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 06/10/2025 8:07 pm, Roger Pau Monne wrote:
> The default shell in FreeBSD is plain sh, which doesn't support the usage
> of the '|&' operator:
>
> ./automation/scripts/console.exp |& sed 's/\r\+$//'
> /tmp/scripts34c427adc6599db29cb91221a0939d85.sh: 16: Syntax error: "&" unexpected
>
> Fix this by using a redirection of stderr into stdout, and then a pipe.
>
> Fixes: a406195c15dd ("automation: call expect script with redirected standard error")
> Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

It's sad that this slipped in because the CirrusCI runs were reliably
broken by the libinotify issue.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Oct 06 19:33:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Oct 2025 19:33:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138411.1474123 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5qxR-0000OU-O5; Mon, 06 Oct 2025 19:33:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138411.1474123; Mon, 06 Oct 2025 19:33:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5qxR-0000ON-KU; Mon, 06 Oct 2025 19:33:17 +0000
Received: by outflank-mailman (input) for mailman id 1138411;
 Mon, 06 Oct 2025 19:33: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
 <SRS0=3dSL=4P=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v5qxP-0000OC-Hi
 for xen-devel@lists.xenproject.org; Mon, 06 Oct 2025 19:33:15 +0000
Received: from BL2PR02CU003.outbound.protection.outlook.com
 (mail-eastusazlp17011000f.outbound.protection.outlook.com
 [2a01:111:f403:c100::f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4c3beb2b-a2eb-11f0-9809-7dc792cee155;
 Mon, 06 Oct 2025 21:33:13 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by BLAPR03MB5539.namprd03.prod.outlook.com (2603:10b6:208:29a::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.20; Mon, 6 Oct
 2025 19:33:06 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9182.017; Mon, 6 Oct 2025
 19:33:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4c3beb2b-a2eb-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=j4M17cW/77dGz9vhjuzXz3/2iHFyfd8NAzvVVvi8ci3ryDJc3XG9B6lN0pImRcD+w2eGmK0cg5bCtauJFrNZBdKklyPgXARYlZdlDTbUNjJZ+r65YppNsmYnOigeNnsl7rcZNfJ6chuVAyuyPV8xotGny6RuwFAQPMotEZ2IShHtNMVP2PQe2R5VSJz4Z2yw9ky9E5zKiA53vVEmDw/DIZ+9Cpeji6jL2eNlbpWHdTSDR1Mrnq48PZ7U8bLUcy0js2S8Io1XMTTSxgkm8WdINhFTtqxlMDkKCK2yvt2K/ijF+NzIkmVxOunEkPGDFKr6b+NYRXV6n4bQrCLSneULqA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wApexrYwoN8U4BPygY8yHCXIi4IIane9YEs90KmBZkQ=;
 b=WCAhnO2KGGE38ChBjhbVMdzl+/7RSC6QJZc9KIjoaLcAF2ggetMUL5A9ChP6fKE3fdq272dlw14Hc2qK1oNdoI+RrO+a/QJiOBKB9fFZQBQ3ogCuR4UnXNSV7HeZ+j1w1l9K1lh7H1pbS6AY6rsMcRySbEHVsPhT1lYdb60PHV30NaFeGFgGKfIlSlN1hxKu14d6w/LTuAcqLBOMBJh0JOfL/jCO1GkX/+McZYqcBNkSowwttwRtCx6JDzMiVoMisUVySnTNbRXZHb7WmV2AZO8tdG2V6K9ZoIzEMj/BuBGPG8cqdP/luuRAN/7n7MVEdzoZRLHHrUpcoBWW3tUYMg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wApexrYwoN8U4BPygY8yHCXIi4IIane9YEs90KmBZkQ=;
 b=AO8ydnMZ+GpcdIffVvPx0um/Fy1h4ko3G0ey0Xw0pOCdXmNUMlWmfAE9HwEWfugnV1lcjUZHhLZyTWGfGyoLRp4xu97EeMvjhzmfwhbt3xrQtnLtwS2fP6XMPrZSaSzj8jTKj/bxB6PSJNuPAeDwK6yYKrf5pQRri6G+0UuyaYk=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Mon, 6 Oct 2025 21:33:01 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org, oleksii.kurochko@gmail.com,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH for-4.21 1/2] cirrus-ci: install libinotify for FreeBSD
Message-ID: <aOQZbaFDLUQxS5NK@Mac.lan>
References: <20251006190757.72757-1-roger.pau@citrix.com>
 <20251006190757.72757-2-roger.pau@citrix.com>
 <258f5150-59b5-4371-b18b-26ed33ffd0fa@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <258f5150-59b5-4371-b18b-26ed33ffd0fa@citrix.com>
X-ClientProxiedBy: MA2P292CA0007.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:1::11) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|BLAPR03MB5539:EE_
X-MS-Office365-Filtering-Correlation-Id: bb29233b-cb0c-485a-8f75-08de050f2c16
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?V2ViK1NGVXJjWHNWYnhiR3pZRVNxaGdJQUwwc1ZPWnlRTld3M2doRzhFdW9v?=
 =?utf-8?B?Wms3Ylp1bFowWVFOMGFZb1lzSnZqbDl2Wk10VmY0TG5XOXV5bVllSFk5RXFY?=
 =?utf-8?B?Wk12bkswNHEzTWlXQ05kamhpS3NxQXlXbFlROUZLWHpPYlIrMExYUmdLZFFn?=
 =?utf-8?B?elpURVNOdzRHd1dBWm9CVEFVUEV6SjhsaXdUa1drTkxpYk1reWt1STJPZGV3?=
 =?utf-8?B?MnVFUXViK2R1WGFiRHNjNkpLUUJIY0w3OFBYcndEb1EvLzNrWEFJN1NLZ0xs?=
 =?utf-8?B?a0xuYno4V1lVbUd6QVhUeEV5V2xRb0NBVFdVTVlLcFQ1dTJOczJVVXpHclpq?=
 =?utf-8?B?eWRsaG9SczdtZURBcWIvZWVSUWVYc241MGwyNTRsSFJQd0tobWp2dkVNNFo0?=
 =?utf-8?B?S3l4c2h2c1pTTEM5WVFnRi9PSVBkNGNVdjhSUjBmRllCSnpIUEJlbzFEYnpr?=
 =?utf-8?B?aCtNNTJ3cW9sYmxLeTYwckRrejJQNTJTam9qSTRQZTBLZjgxaGtaY2Z1Qkxp?=
 =?utf-8?B?dFREWDE2VlhmWmhnTXB5YlRYQlZZKzFPdWRrMFRkNzBqSGZKTXNMbHZvUy91?=
 =?utf-8?B?Y2lBQ2RkOElHTlNTaFNmaCtGaWNiY1JFZEV5NUhaeDZCVVk4azB1U0V4KzJR?=
 =?utf-8?B?cWRuZXhkbEtseXkyV2IxdEplamY5MDllT2ZnZW1QMGdwMkdzOVpHNlRxc1Na?=
 =?utf-8?B?Wm9Dd3Jtcm5vc3pkemRXZy9DeUwwMU5weWlSVlpNb09aVnlTcGpIYmd2SGpQ?=
 =?utf-8?B?V2MvK1IxQ3R2WjhPYUhiT2hzMWw3MGlpQzNtbG5mUWtKZ09WM3dCUEJCTFU2?=
 =?utf-8?B?OHlMd3o3anVTNTVHVHFnQUk3NlB3eC80cWJpNWwwc1pRanRKazBZYXZJOXpr?=
 =?utf-8?B?cFlkMGxEbUZJaStmMHA4OEpaS3EwNVl4WTEzaGhsc2JBRGt0eWdETnRFMVZX?=
 =?utf-8?B?WFk0c0VXaUY4RXZ4QU5qR29xSndSUUxCOXMycXZUQ2ptbysxMHBzRHNCZXMx?=
 =?utf-8?B?SHVKWTlXT0wrN1YvNHNiWExhd3RoNGs1RXROMUNFdGZUdHAzKzJTQTUraGF4?=
 =?utf-8?B?K2dtN0U2b1ZSV2pNUVMwQUxpNFpFNmh0Q04yMTNJMjZ4c0lFTnBsbnRWdHdj?=
 =?utf-8?B?TzRZOVBaSEFwL0hRcXIzbzUzQW83bmJGUGpRRGNBZkMraDd4bldXOW04ZU03?=
 =?utf-8?B?WStFVzJoUGdCQkwyUzJXYTZ3dnFVOHBKMzViOEZkSmZiOW9Zc0xmaFBYeWVQ?=
 =?utf-8?B?K3NxUnBZc3k1a0c2QWlnVk9pSkV0RW1WRXJla1JkZ0V6MEltUkVqQThQRndG?=
 =?utf-8?B?RjhEN2xlTE5MaW1QdzdnN0tTbDNZRHRsVmpTS1hFMDZ1SjdLY2RLdVorcm1D?=
 =?utf-8?B?Rm5YWnRpdFdOZlZobk1QTUtqYTZJcDErNnprRVpXTHF2TUkvazE3UTJoZmtn?=
 =?utf-8?B?QUtiOXQyNGM5Z3AzdXg3V3RxcFA0OFVudk9iY01LNWZkNUtkdDk0V05TV2dO?=
 =?utf-8?B?YzhTSG53cWFsSGlTc0JVMHBrMUxjTURkV0IydEp4Q2dMdGREclExbkwreE1v?=
 =?utf-8?B?VXp1MVZpeXpTUVRHUGhqc1VZMjNzRnc3dkJzaXRGVDNyWWZiSmJCb05ES3NO?=
 =?utf-8?B?TldwSk9QaUxFVThyWWpEejd5RnJEQ1NpN0JnWU4yd3Nha0ZhUVpZU2d3NFFm?=
 =?utf-8?B?MkZzMWFWc3ByMWx3cEppRzBZRktLOW92TW1FL281clR0ankybE0xMDBxSHUv?=
 =?utf-8?B?RmRXQitKVXhzZmFHZ240cTJFbmJ0ZFpPVDNyc3BRcVZCdnNWMUdhNzB6L1ZV?=
 =?utf-8?B?U1NDUXdST1dnQzNwakVBOUZSa2diQTFySXIyQ3B0NXJJOFFPNXdmNFFaZ203?=
 =?utf-8?B?ZzBaTC9rdmpGN1ZnVnVIWVZ0U0VMQ25DdnkvcDhVaUFqVkJ3bUhzYjRweXNx?=
 =?utf-8?Q?RlttDG11gjKQXw75crC0kJ/cSLaQbg41?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NldJR0cvSzdxbHo5RWJUcDFtVGlJa0xYb3YxZnIyaitvemtzQUVMbk1Sempi?=
 =?utf-8?B?UjZEMCtxV09ncGdaeEloQ01SN3E2dDR0YUgydlNPeXpVRWhhMmNDLzRLdDEr?=
 =?utf-8?B?VEZnRFRYNWVmVllIdGx2MWgwS2VMWk1pNTlhUWhLZlQ0djNRYmtZR1pyREFK?=
 =?utf-8?B?M2pqM0pkNUxvSDBwT1B1d1dJL1JFQm9kZkhMMlUzUjIxODFGYmtvbDVTMHVk?=
 =?utf-8?B?MGJPOXQ5R0pCS0IxdElaOFErbEZsRFJPUldnRXV2N1hVUlBUNTNIbFZ3RkhS?=
 =?utf-8?B?UU5hNWorRk9uNGZxcFRzUStiWWZpdWQyTlAxVjZFeFpnbmVnclRUMWJqOEhR?=
 =?utf-8?B?bjFOeDlrRmp5eXo1OW04b01haHhNdDhCdEhaMmF3QXdkNEdDdGxQN1k0N09j?=
 =?utf-8?B?bDV6RG9LUUxGMUxaMW44b1JFWndOV20zd2Q3czVUR0s0dDE3VVQ4QmN6QUox?=
 =?utf-8?B?RU1qWjk4NGVuSkNQY3lNYXJDTEdXTVhnTmR0UFpNMzNZS1JpYjFaOHFqVXJJ?=
 =?utf-8?B?N2d4NENwWFpuZkM5WkpYZS93Sjhack5Qbld5dHJDOG01bVduWDZlbEEwMDVX?=
 =?utf-8?B?Nm1kK3hGdlllOFU0c3I1OXRmM2FKclVnTzVsZjhZUkZQOUpTTnZ3QldXeHZx?=
 =?utf-8?B?Wi93VlBoRldJY1duWmEwNnphVW1Ia0k5N3Yvd0tDSDZwcDNEV1RGMndNb2Fx?=
 =?utf-8?B?aE9KYU1sdUxpZnowUFp3WlNJazVtMWdMeGZ2bUxzM2NVMjBMNVhJNG94SXMy?=
 =?utf-8?B?SnNkakUxQ0lKSG0vazNYbHltYnYycHU5cG8zb2hVOFVHSGpJYStpaFRBRU5Q?=
 =?utf-8?B?ZExxWk9IZ0dzVDJBSExyNThidFlZa0t0OUZ0aDdSU01EeloyRm1pZUt0ZHJN?=
 =?utf-8?B?TXMwZmpPa2R3QmtyT2RIbkdpNDU3WHBWOFk2YUFTVWljZlM4alRZWUNRVkxp?=
 =?utf-8?B?UTRVNmZ1QlBoY1FDZ2RTcmJuQVp0V253T1Nwa051Vjk0ek5VZlBKWm8vK2h2?=
 =?utf-8?B?a3l2TG5pdi8xUi83NnhNNkJrN0pWMkJZYzllR3NTZnRYVVRYbSthYkVkcDMx?=
 =?utf-8?B?R2dZeFR3YWFsY0FSR1djU2xyZnlXVS9HaHRoQi9wVHRqZmg1WGxKeEtGcGR6?=
 =?utf-8?B?S1ZURkZuNDNMR0RSbm5JeTNqcTkxM0FTUU93WWR0TXVZVFJnUmVRZ2lkaHlk?=
 =?utf-8?B?RmVnS081b1k1YVRiZ0xvMUlkbkpxZitkWGdmNmQ0TWNUcjhQb1gyQ0VXdFRz?=
 =?utf-8?B?c2lvU1Q1MUU1VHJuSENXVlJlNHJlbE5yZUovRWpibFZQdDVJVEFqMWJ4c1Uv?=
 =?utf-8?B?U0YxMTVpeXFkVWJEVjFWVkhPWVFsZi9TQXdqNzN0bTJaVGtobGdMQXBuNkx1?=
 =?utf-8?B?QThPSjFrSzYwZkJ4Z2pzS3RnaXZsaGlsVFV6YmNWUGhvNWFHdDVWS041YzZG?=
 =?utf-8?B?eXF2MG9wTG4zeCtFSSt4Q1IyemlaN2p6SVBaWXZqaXU5Q2Q5NlZZSDhTUnlu?=
 =?utf-8?B?RzBic0VKMnhZanZhRWhPa1ZOMWtkeDcrbm9Lamo3ZjRWY2ZHbnV5SU9WZnlo?=
 =?utf-8?B?WXVMU0hGRzhtbmFHdXFKSlZoMW13Q0tWcEhjUmRCeGdndThwa2p4ZXpiMHZ5?=
 =?utf-8?B?cGZjVC9WcEJkMDVIczdybkhGVGNDdWdlZDVvTXNhY2xKaDFnMWxJWE9oMTYz?=
 =?utf-8?B?TUpneTRaa2hwemRCcHN2UHlPelBVNFpNNUFZb2w2dlNaRjNLN284bGJzSndl?=
 =?utf-8?B?UC8vbEZleitmOGdVZ1VkTTZtcVBFa1l1S0ZCWVRkVTgrOER0Y3l5NzlmVGZM?=
 =?utf-8?B?N0ZGVEI3ZFdoUjRUaVVVMzFlU3k1VzFCY1BZVklzT1JmSlJLNW1pRk9hcVdI?=
 =?utf-8?B?bFlWMzAxQVpTY1hKQVJrVzhpSXpjWnNmMWJoYmgrcHZEcTBNRzNUNFZtdTJS?=
 =?utf-8?B?Y1owTEVsc2l3TkZXTDh4MVFzSWQ2Y2pjOE1ibUFjRTRLd1J6OE5UalZPNjFl?=
 =?utf-8?B?WUFBV3RlT1g3SW5OcEUvZDZMbGZDQUVyeE1yRzFPZmlsM0lmLzVva3Z3TmpD?=
 =?utf-8?B?ZmRXTWtVaWMvQk5DN0ZtMzU5WXEwUEZkUTFhQ3kvNWpDRVU4dHpMQTJSNms4?=
 =?utf-8?Q?zjaIU03ow8Nec4ZDks6i5wl9A?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bb29233b-cb0c-485a-8f75-08de050f2c16
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Oct 2025 19:33:05.7435
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: YxPPDKRp/Clw6PGr+PmVpIDpl6CiX6CxF3G6o2WEOql/mv56v3b0i3b4iKyQ7tTGF2VUEc4cAKeqhG2iP63QrA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR03MB5539

On Mon, Oct 06, 2025 at 08:15:36PM +0100, Andrew Cooper wrote:
> On 06/10/2025 8:07 pm, Roger Pau Monne wrote:
> > FreeBSD QEMU build requires libinotify, otherwise the build fails with:
> >
> > ./qemu-xen-dir-remote/meson.build:2535:15: ERROR: C shared or static library 'inotify' not found
> >
> > Install the package and add the /usr/local include and libs paths
> > explicitly as QEMU configure options.
> >
> > Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
> 
> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
> 
> > ---
> >  .cirrus.yml | 5 ++++-
> >  1 file changed, 4 insertions(+), 1 deletion(-)
> >
> > diff --git a/.cirrus.yml b/.cirrus.yml
> > index f295c8cb0a02..55dc9b39092a 100644
> > --- a/.cirrus.yml
> > +++ b/.cirrus.yml
> > @@ -11,6 +11,8 @@ freebsd_template: &FREEBSD_ENV
> >    environment:
> >      APPEND_LIB: /usr/local/lib
> >      APPEND_INCLUDES: /usr/local/include
> > +    CONFIG_QEMUU_EXTRA_ARGS: --extra-ldflags=-L${APPEND_LIB}
> > +                             --extra-cflags=-I${APPEND_INCLUDES}
> >      CIRRUS_CLONE_DEPTH: 1
> >      CIRRUS_LOG_TIMESTAMP: true
> >  
> > @@ -51,11 +53,12 @@ task:
> >    install_script: pkg install -y seabios gmake ninja bash
> >                                   pkgconf bison perl5
> >                                   yajl lzo2 pixman argp-standalone
> > -                                 libxml2 glib git python3
> > +                                 libxml2 glib git python3 libinotify
> 
> I presume this is good on FreeBSD 13 and later ?

The ports makefile doesn't limit libinotify to specific FreeBSD
releases, but given 13.5 is the oldest supported version I would think
so.

> >  
> >    configure_script:
> >      - cc --version
> >      - ./configure --with-system-seabios=/usr/local/share/seabios/bios.bin
> > +                  --with-extra-qemuu-configure-args="--extra-ldflags=-L${APPEND_LIB} --extra-cflags=-I${APPEND_INCLUDES}"
> >      - gmake -j`sysctl -n hw.ncpu` -C xen clang=y defconfig
> >  
> >    << : *FREEBSD_CONFIGURE_ARTIFACTS
> 
> Do we really need both the ENV variable and the --configure parts?

Bah, no, the ENV was my first attempt, which doesn't work, and then I
forgot to clean it up.  That chunk above needs to disappear.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Oct 06 20:08:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Oct 2025 20:08:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138430.1474153 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5rVq-0005JI-SZ; Mon, 06 Oct 2025 20:08:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138430.1474153; Mon, 06 Oct 2025 20:08:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5rVq-0005JB-PT; Mon, 06 Oct 2025 20:08:50 +0000
Received: by outflank-mailman (input) for mailman id 1138430;
 Mon, 06 Oct 2025 20:08:49 +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
 <SRS0=iNYA=4P=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v5rVp-0005Hv-Iy
 for xen-devel@lists.xenproject.org; Mon, 06 Oct 2025 20:08:49 +0000
Received: from mail-wr1-x443.google.com (mail-wr1-x443.google.com
 [2a00:1450:4864:20::443])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 43c66648-a2f0-11f0-9809-7dc792cee155;
 Mon, 06 Oct 2025 22:08:46 +0200 (CEST)
Received: by mail-wr1-x443.google.com with SMTP id
 ffacd0b85a97d-3ee1221ceaaso4051466f8f.3
 for <xen-devel@lists.xenproject.org>; Mon, 06 Oct 2025 13:08:46 -0700 (PDT)
Received: from localhost.localdomain (host-92-22-57-86.as13285.net.
 [92.22.57.86]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4255d8efffasm22218896f8f.41.2025.10.06.13.08.44
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 06 Oct 2025 13:08:44 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 43c66648-a2f0-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1759781325; x=1760386125; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=5YUIJM3OnJnWMQNMcybvkmuLsNfp6PC1VLAjmY9gl9s=;
        b=KCDfms/uq0xDRkMrYODw1Df6df8cYGHr3kI/FaW2xDJsZotG7Mxr08wa5qSe8wKY9n
         ZSlZlp2b+TCwZtaUp1qlw+PqGGS7ynqLcAFO/UTF2DLtH2Ou7y88wMhKyGZM2SpgPQ9N
         CuclIaxMLYx8wLYINuR3z2kfETOWNptxWebQ4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759781325; x=1760386125;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=5YUIJM3OnJnWMQNMcybvkmuLsNfp6PC1VLAjmY9gl9s=;
        b=VL70AaO7hadKBRhT93mXznzYZlQgxwQzIm6q8i8wc38J2ryYkVEA3nQ1R3JaMFqJN0
         l40NpBHeEz7LgvKXdGfP0RqukuViSCL2e0gqdfZc9qZjKhlSAg6AZ/0b4hw6XDM+x+1k
         E1N91E6/+O9bJLJwSlOqK2oZM52AN6JR4K3PGzKhidvYV+dw9BAg9tJk7rgmSqjRMtGh
         QVQidBdVfD9r1mkPjkqxB1c4PmSKH+plLHQKmw1XBv/flEYNnJdr7P8S38iY88z2HnjL
         uclzb9U6+LRlgxBWNKyFM0hW93xjty7H+eGuU4KL7fg0kYaiiUnZav2NG5+ca/Y+jd+N
         ecZA==
X-Gm-Message-State: AOJu0YwDEak3DZn4SiwC5ICCtKDMn1vYpU+4DcCdOrbI+NmEDF/P9Y7+
	8+GCxbNgIAJUqZkRVh16025DiEsPYZr1AH2bUYdHS63MoWAHFke0fatKJMKGzmmnlWldZ5lHQmJ
	mw0Re/azHyHaN
X-Gm-Gg: ASbGncu7xDJpiAbhzOHOMAoP6G9krtL/YaIw5YpuoqcPXEnrAMxxfsfjkujLI5rlOrk
	Ph0uibizc2rlfJtBY0aaGMWEhrRXcWA3XGGDHTTfwEzEzO/OTMDzXTeurntli8VbS86UxESv79k
	Pb8ljvl5Sbh7Nqq+9h3rgOZDqYa2fN9yfbehaMERXnu61czzdNwvqQC44zZXy7s36irqLtm67Ph
	GX//hT43BFhcq58vKyMXgd8qpPx2tJzu8n4+qV+xv1gitNSczw5bu75KYABO1LpK+veNO12h5j8
	igkxWOwSuCKWTxQ973fR+ns4KSBKC21OSZxWzZ3vNd+j6AtD82O/TN8FQOIuf490Mgo6sdUXD7j
	l+hz11XFIQ58+1kLJd+MEeHIm+bvMhg8CQccS6HvbuKRLcI7s4Ey/itbzxf4iHK0VMPsFThpQGf
	Uuohz/1CD3fkHgk3HZj1IA
X-Google-Smtp-Source: AGHT+IGln3vnWeqzZ0xvpw8PQGn2kOV/XkE36gjbGzsooZzHTkAwymPjVfXVe2JngeU3qVUc+O1AkA==
X-Received: by 2002:a05:6000:3105:b0:3f9:1571:fdea with SMTP id ffacd0b85a97d-425671b28b5mr9858025f8f.44.1759781325326;
        Mon, 06 Oct 2025 13:08:45 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH 2/2] Update Xen version to 4.21.0-rc1
Date: Mon,  6 Oct 2025 21:08:40 +0100
Message-Id: <20251006200840.2171113-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20251006200840.2171113-1-andrew.cooper3@citrix.com>
References: <20251006200840.2171113-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
CC: Anthony PERARD <anthony.perard@vates.tech>
CC: Michal Orzel <michal.orzel@amd.com>
CC: Jan Beulich <jbeulich@suse.com>
CC: Julien Grall <julien@xen.org>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
---
 README       | 10 +++++-----
 SUPPORT.md   |  2 +-
 xen/Makefile |  2 +-
 3 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/README b/README
index 9329f30e1366..eaee78bd7375 100644
--- a/README
+++ b/README
@@ -1,9 +1,9 @@
 ############################################################
-__  __                                _        _     _
-\ \/ /___ _ __        _   _ _ __  ___| |_ __ _| |__ | | ___
- \  // _ \ '_ \ _____| | | | '_ \/ __| __/ _` | '_ \| |/ _ \
- /  \  __/ | | |_____| |_| | | | \__ \ || (_| | |_) | |  __/
-/_/\_\___|_| |_|      \__,_|_| |_|___/\__\__,_|_.__/|_|\___|
+ __  __            _  _    ____  _
+ \ \/ /___ _ __   | || |  |___ \/ |   _ __ ___
+  \  // _ \ '_ \  | || |_   __) | |__| '__/ __|
+  /  \  __/ | | | |__   _| / __/| |__| | | (__
+ /_/\_\___|_| |_|    |_|(_)_____|_|  |_|  \___|
 
 ############################################################
 
diff --git a/SUPPORT.md b/SUPPORT.md
index eb44ee85fd12..491f9ecd1bbb 100644
--- a/SUPPORT.md
+++ b/SUPPORT.md
@@ -9,7 +9,7 @@ for the definitions of the support status levels etc.
 
 # Release Support
 
-    Xen-Version: 4.21-unstable
+    Xen-Version: 4.21-rc
     Initial-Release: n/a
     Supported-Until: TBD
     Security-Support-Until: Unreleased - not yet security-supported
diff --git a/xen/Makefile b/xen/Makefile
index 49da79e10fb4..ba8c7147a2f6 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -6,7 +6,7 @@ this-makefile := $(call lastword,$(MAKEFILE_LIST))
 # All other places this is stored (eg. compile.h) should be autogenerated.
 export XEN_VERSION       = 4
 export XEN_SUBVERSION    = 21
-export XEN_EXTRAVERSION ?= -unstable$(XEN_VENDORVERSION)
+export XEN_EXTRAVERSION ?= .0-rc1$(XEN_VENDORVERSION)
 export XEN_FULLVERSION   = $(XEN_VERSION).$(XEN_SUBVERSION)$(XEN_EXTRAVERSION)
 -include xen-version
 
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Oct 06 20:08:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Oct 2025 20:08:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138429.1474138 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5rVm-0004u0-NQ; Mon, 06 Oct 2025 20:08:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138429.1474138; Mon, 06 Oct 2025 20:08:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5rVm-0004sq-HQ; Mon, 06 Oct 2025 20:08:46 +0000
Received: by outflank-mailman (input) for mailman id 1138429;
 Mon, 06 Oct 2025 20:08:45 +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
 <SRS0=iNYA=4P=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v5rVl-0004qo-Ln
 for xen-devel@lists.xenproject.org; Mon, 06 Oct 2025 20:08:45 +0000
Received: from mail-wr1-x441.google.com (mail-wr1-x441.google.com
 [2a00:1450:4864:20::441])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 42fa3d8b-a2f0-11f0-9d15-b5c5bf9af7f9;
 Mon, 06 Oct 2025 22:08:44 +0200 (CEST)
Received: by mail-wr1-x441.google.com with SMTP id
 ffacd0b85a97d-3f44000626bso3423424f8f.3
 for <xen-devel@lists.xenproject.org>; Mon, 06 Oct 2025 13:08:44 -0700 (PDT)
Received: from localhost.localdomain (host-92-22-57-86.as13285.net.
 [92.22.57.86]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4255d8efffasm22218896f8f.41.2025.10.06.13.08.43
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 06 Oct 2025 13:08:43 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 42fa3d8b-a2f0-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1759781324; x=1760386124; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=/d253A9c3RLUx/fPC095ikzcsQqT4bAkrEIwMa1K25M=;
        b=i8KBFIHdpnnGCrbukgkFEE6M5KRRHBa6519ePZLG349GB5aIq5rcXjCGpxuE5JJH9E
         H/4Dv/dXryX3l2UJkG0pQ4xxLABMmHR8rVYqEt7ONvJaeFn579nerTUp1P0DhuCCv2cm
         UPurKogJsJqvgD5uoaOlxAS2znovJGi1TFxSI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759781324; x=1760386124;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=/d253A9c3RLUx/fPC095ikzcsQqT4bAkrEIwMa1K25M=;
        b=WEe/U+9H2Fd0UUKkKy9vmOuhroXS710Pd/BSbJmNAuZdQC7wbXciuyrjgl8zSFhGvO
         BGoYhyHPxtmNRhA9LL1ThqDNu1RaJHq8aB4m+WrQYid44jDtbIMlaWx8MIohGfa9UvK2
         YGIqM571VhcJKspTAb3zEqULPKNy2hQ+pj2f4EXhv83J9CfluVs1C1IoH3ZrvuKt0UDd
         uxbQxhgB7eKOareom5U1nQQKs2Tz6BPQnSnuqs42BIkySDdMkeptPUhYnP74GlynAlFj
         JTKqIwu0XtKg0+svC02dAOCTZm8QJfumoXy64JIvgLnDeMv3hRbDRvfQzma4MuUkgVY2
         xR1g==
X-Gm-Message-State: AOJu0YzVy8UeWewGophRu3ww5OL8OYL67pIbiWSVyWRPg4ziUsDORt/A
	fygtg/5k4AO3xq6jcU29I3ZMrY7tcHfZrkXqS4kxLN49LHKB4RHAc5eZrp+T537IcdN6kZE4KYF
	MZ3MM72l7Nchn
X-Gm-Gg: ASbGncsc2xk0zKVBIPqNmV1O99p6JaQfiCH656u8e2YnJdtU1QHDnISLyRYHVRI7sVz
	mH+eP3Zcl15fleNAkVvOel8IzEYt2cHqJ23jjoe0zeeq/tmy804hR1eRe0UBLzQBo74ZttD8q31
	AZh6lWor8Fq1JCauKj4zTnggWmsKwpgwvFO7S7NFjCaxTsehE287SdwZa98gEs7/y5PnkxlmG2Z
	k8sEcHOJ58iZAm3kIeZZGtfDo7RbQKxGT0dyvrzr6+aYVyoUNQVzLW5iSdNiySY5bhZ2t+E5o3+
	cl5LcQRM+jNO02OukRwJNi6pztAYib1Fxx3fMgju0JyIgR1H5C+pEhno4+41Jns3BhVdPb/gs6j
	F8Ln0yWceVRoU1PJmnAZyxpCN/6qdqHppYICyHrVerra7rg8P7WEKnzlMGVJnLwAvVokGWm95/s
	wNB7ORuGPOpSBvAaMotior
X-Google-Smtp-Source: AGHT+IEnuT+yhPiUt/hmTBDvuvCw6j+knUYZm5TIY5Wusou6g0CcLzqf7xJrqtMLVMoHdOO59p6hcw==
X-Received: by 2002:a05:6000:310d:b0:3ec:db87:e88f with SMTP id ffacd0b85a97d-425671c1edamr8348160f8f.58.1759781324107;
        Mon, 06 Oct 2025 13:08:44 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH 1/2] Config.mk: Pin QEMU_UPSTREAM_REVISION
Date: Mon,  6 Oct 2025 21:08:39 +0100
Message-Id: <20251006200840.2171113-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20251006200840.2171113-1-andrew.cooper3@citrix.com>
References: <20251006200840.2171113-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
CC: Anthony PERARD <anthony.perard@vates.tech>
CC: Michal Orzel <michal.orzel@amd.com>
CC: Jan Beulich <jbeulich@suse.com>
CC: Julien Grall <julien@xen.org>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
---
 Config.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Config.mk b/Config.mk
index 7edbab8efe89..89c7524a3ec8 100644
--- a/Config.mk
+++ b/Config.mk
@@ -205,7 +205,7 @@ OVMF_UPSTREAM_URL ?= https://xenbits.xen.org/git-http/ovmf.git
 OVMF_UPSTREAM_REVISION ?= ba91d0292e593df8528b66f99c1b0b14fadc8e16
 
 QEMU_UPSTREAM_URL ?= https://xenbits.xen.org/git-http/qemu-xen.git
-QEMU_UPSTREAM_REVISION ?= master
+QEMU_UPSTREAM_REVISION ?= e064f42c80be6f6ff8c12dcb2a663bdf70f965f6
 
 MINIOS_UPSTREAM_URL ?= https://xenbits.xen.org/git-http/mini-os.git
 MINIOS_UPSTREAM_REVISION ?= 6732fd42d8eb8d0af9f5eb54aca17f4c250213a8
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Oct 06 20:08:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Oct 2025 20:08:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138428.1474133 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5rVm-0004r6-Dh; Mon, 06 Oct 2025 20:08:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138428.1474133; Mon, 06 Oct 2025 20:08:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v5rVm-0004qz-Az; Mon, 06 Oct 2025 20:08:46 +0000
Received: by outflank-mailman (input) for mailman id 1138428;
 Mon, 06 Oct 2025 20:08:45 +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
 <SRS0=iNYA=4P=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v5rVl-0004qo-32
 for xen-devel@lists.xenproject.org; Mon, 06 Oct 2025 20:08:45 +0000
Received: from mail-wr1-x442.google.com (mail-wr1-x442.google.com
 [2a00:1450:4864:20::442])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 426e80f1-a2f0-11f0-9d15-b5c5bf9af7f9;
 Mon, 06 Oct 2025 22:08:44 +0200 (CEST)
Received: by mail-wr1-x442.google.com with SMTP id
 ffacd0b85a97d-421851bca51so3592651f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 06 Oct 2025 13:08:44 -0700 (PDT)
Received: from localhost.localdomain (host-92-22-57-86.as13285.net.
 [92.22.57.86]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4255d8efffasm22218896f8f.41.2025.10.06.13.08.42
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 06 Oct 2025 13:08:42 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 426e80f1-a2f0-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1759781323; x=1760386123; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=lmdLZLTzz1CBbgfHGUEdA8ipycTUpVjlqm249FqRXEs=;
        b=F/DLrX+pNCKyGtfo7uH6K1NrKAWXHRkuW+rI4KM3phOIeSo8EWG63pBk/DEWzXg+SH
         evbn34kIu7N3W5kIglnvLVic/fmtKEaFu9sJzJlVVs/6xI8ESUhgoxzWJSkKEWR1JXlt
         dNA4GbD0F9YqgZh8B1pWYWVQylkf6z14lAMds=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759781323; x=1760386123;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=lmdLZLTzz1CBbgfHGUEdA8ipycTUpVjlqm249FqRXEs=;
        b=qjRA2pbkfwnbe/KObcA5dufoYn4iX2jHbHUIwioRoo1YDfTQSGp8l6Ko1z7zmnnh2o
         icwO5Xt/L+o8S/sS2NfXCg8nDOeS7v4R9SpWS4zntssSwluFxquiCXoR2DoyxE7aRpOS
         O2za97MNV1IZQNDcXtXyoFiKJbSTDDkhGtqNcJcv2ibF4k4MVGSiuNoTSOjcY/795PQl
         JZ1kia6ol3d94ak26T/STS40Bef7dqrzao//WZ6k008NIjNjt3UPGXfLWpidasyVfpLi
         uq3bQ6FkvGWxyjwDdzHOfnPWyJljRLxEBOIcpohiCYcL4Yqa+89Uv4t7YFOtzxUOumCL
         4pgQ==
X-Gm-Message-State: AOJu0YzWaupFE7cybE8mEwgnNsCFwDYUzmAYdVIuUnl76bf7KQoSldwX
	b1hhjffw207BWN7OiGHn+hpG1Sc2Jv9/2zHtSIbUatIWlCli2eef9hbP9Yd4EW+ey1m+HcADGkz
	tHWpbUBMMHvrK
X-Gm-Gg: ASbGncs8XqE+KJ5FNqWfvl9uKONdh1q/gP5PkI46BJWa+oPXJ/0QgBASkdF3tlfkOrm
	enZDwf47/lVzSHOvVpTI8wfPuMy9/jD6TEE4imJ0+k79gpH7hRaCqmCQboYA91YIYiNxRIeEzZC
	h+ZG9Bp9kOCUZI4d/CXKkcQJT36oTesnS8Gdp5/QTIo+j/XgwW3clq06srk4BiKhQgbneMquPF8
	nKlvlb8HbExJ7F4sru/pOTvnp0WSpb8o3mSGs4v27IweZeCMruzZ0Bj4TRxv5ghK1hS/E4yM3ba
	zSdU97tu2LI3rm+FxKTLi4Zw8pM0q7hKHnkpwJkMJzmVYYm2SRIZkHsszDBKdV+bI8+YWgY8bnK
	GJSBh4Umgr1DKy4/qu0oEG1w2xAdpg8hTh/vAMX7GDbtLZ9PlbUIZtEzXqIk/S36/Gelll2uRcG
	sQCSUoDXQdcV48bKbH/81m
X-Google-Smtp-Source: AGHT+IEa9FU0cNdyBG98GeFTdEqPOZOn2Z+97ND5tfU3/q+SrFqRwdP7thQRLqy+5T7AMpI8XvzavA==
X-Received: by 2002:a05:6000:25c4:b0:3d0:b3cc:c1ff with SMTP id ffacd0b85a97d-425671a9b59mr9934634f8f.39.1759781323084;
        Mon, 06 Oct 2025 13:08:43 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH for-4.21 0/2] Prepare RC1
Date: Mon,  6 Oct 2025 21:08:38 +0100
Message-Id: <20251006200840.2171113-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Andrew Cooper (2):
  Config.mk: Pin QEMU_UPSTREAM_REVISION
  Update Xen version to 4.21.0-rc1

 Config.mk    |  2 +-
 README       | 10 +++++-----
 SUPPORT.md   |  2 +-
 xen/Makefile |  2 +-
 4 files changed, 8 insertions(+), 8 deletions(-)


base-commit: acaecf31ea1d566a20b5ee9c0f1f3cb4ee0ec9c2
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Oct 07 06:27:28 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Oct 2025 06:27:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138484.1474163 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v61AC-0006Rc-7E; Tue, 07 Oct 2025 06:27:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138484.1474163; Tue, 07 Oct 2025 06:27:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v61AC-0006RT-2C; Tue, 07 Oct 2025 06:27:08 +0000
Received: by outflank-mailman (input) for mailman id 1138484;
 Tue, 07 Oct 2025 06:27:07 +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
 <SRS0=VgTy=4Q=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1v61AA-0006RN-Sj
 for xen-devel@lists.xenproject.org; Tue, 07 Oct 2025 06:27:07 +0000
Received: from CY7PR03CU001.outbound.protection.outlook.com
 (mail-westcentralusazlp170100005.outbound.protection.outlook.com
 [2a01:111:f403:c112::5])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a3bc7e69-a346-11f0-9d15-b5c5bf9af7f9;
 Tue, 07 Oct 2025 08:27:05 +0200 (CEST)
Received: from CYXPR03CA0016.namprd03.prod.outlook.com (2603:10b6:930:d0::24)
 by CH1PPF93AB4E694.namprd12.prod.outlook.com
 (2603:10b6:61f:fc00::61b) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9160.18; Tue, 7 Oct
 2025 06:27:00 +0000
Received: from CY4PEPF0000E9DC.namprd05.prod.outlook.com
 (2603:10b6:930:d0:cafe::2) by CYXPR03CA0016.outlook.office365.com
 (2603:10b6:930:d0::24) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9182.20 via Frontend Transport; Tue,
 7 Oct 2025 06:27:00 +0000
Received: from satlexmb08.amd.com (165.204.84.17) by
 CY4PEPF0000E9DC.mail.protection.outlook.com (10.167.241.75) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9203.9 via Frontend Transport; Tue, 7 Oct 2025 06:26:59 +0000
Received: from satlexmb10.amd.com (10.181.42.219) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Mon, 6 Oct
 2025 23:26:59 -0700
Received: from satlexmb08.amd.com (10.181.42.217) by satlexmb10.amd.com
 (10.181.42.219) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Mon, 6 Oct
 2025 23:26:58 -0700
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 satlexmb08.amd.com (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.17
 via Frontend Transport; Mon, 6 Oct 2025 23:26:58 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a3bc7e69-a346-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=EZ1jf76uurDDt8tFckextIuwavlfEHaNlurhO1yHq4V1NCLYJEvTgdUxWfJ7Rbhv7WVa6kt238gmmepVkTnlYepbFNO3YvsMyc5Rlls96840zAdF9o3XmBsphGsPoDr9cITLigxCYnZSLl40vt9lSCaeysc4C+yE5h+woIY8RxST1SHqkMohB+MCCd4Nd2u4+zgZmpIJQhPZfRQolpsKP1fN3/0eyTChDiOJ0zatQIeEtUMCoWd4st6+07marwTYkaTbcdNLpGE/HvAKzqJscua5Qj70B0h5wWMt5przHnSmam6MaM3yVNgWTeUr4Zx7wX2OsZAVVGJO3VKvOwRPog==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=U4AaFdG4/kMukRfASgsxXz6Ikhpktcw485E5ohsxIVk=;
 b=yC7ho9sjOSrb1HCEnhBWk4NZ3bG+kYN07X9vq459+BVXkPf1IVGrAROCC6Gs2+Ski4gCntYvOldRE00wbKRT1MQjD5P5bwOAHE/gbTbDg29RHggkI0Z/QZ1aM1Z40pMyQx4zZQYQu7fg3Gev9Dk0mjwVJieqq3O9K90J4swCy0reXqSZMttXaWGn2/r6LGyzCXko/NutWjWNvi2xbQT9Qz1bo9TMPiagDwM9CPtsJFLY+KlEQ5IKNCTdPyK1JAgwx16ZuHmHx1AEZQsoYnkCZHaD+RBCWMmlwehj9MjrdVSEQ/6wFP5VG8I8b/TfLo3mqJE4PuZkmCfyAlY9/cCjBg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=U4AaFdG4/kMukRfASgsxXz6Ikhpktcw485E5ohsxIVk=;
 b=Totyr4GAgM6UcEaasYiQawUexYm+cd70NZ8RJTrvzJ9SSPiR5+WCAekVx1cBL8C16vsJRfAUixFk45h7Yts//ebW/hJA6I/NtjgPr0+JPK+LgbICPaxSxmgM1KGjgTI4EGdgPOdOr0/taOZ+ZEMSfUeg2QYano/DMepj1G9RSH8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C
From: Michal Orzel <michal.orzel@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.com>, Anthony PERARD
	<anthony.perard@vates.tech>
Subject: [PATCH v2] tools: init-dom0less: Replace err() with more informative messages
Date: Tue, 7 Oct 2025 08:26:55 +0200
Message-ID: <20251007062656.4254-1-michal.orzel@amd.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000E9DC:EE_|CH1PPF93AB4E694:EE_
X-MS-Office365-Filtering-Correlation-Id: 128ca40b-fdc8-4c91-0b40-08de056a8570
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|1800799024|376014|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?rxFyjYqeeAU3n7ZdBgwly5+phH+a2YpnbEo3iafv6hfV4qhQlpJ3U5pZTUVw?=
 =?us-ascii?Q?QEe4Yy7STyyb++u8khklYE35OEMHPJFTZl860weRz1eM0aWqGodD0OXK1T1J?=
 =?us-ascii?Q?2ELPlCjy5ed/lDpgXVO3PS37bg2d7Balhdb79IP4ziZ0wuxpNbSaIcd8Brlq?=
 =?us-ascii?Q?HtZDd1ib545ACsZkiHRq+6xjiTVfz1dqGI13qIcoP3aWDiq8WzscbuLG0+lb?=
 =?us-ascii?Q?HTgLRtKBgvbp/ZSmGDdrlyhf3kGWsgCiZRfowR6awfj/mwvqGJ4MawxXRvdF?=
 =?us-ascii?Q?G3HK0yHDSnDCyMXD5XZPdpYDuzjbV4dpw9buDYJku/rqlt1Fa5dDbd28jyHs?=
 =?us-ascii?Q?RFI9KxkJ9t48envbNQ+ZyEwR//KvFjyLtI0EQtTmlSG5b2JEML4QKBNsz+Z3?=
 =?us-ascii?Q?CROtu15dlYmh9HXlfHChuLbwRvF3PSCnbsr60tPxQJUfsoBItUI7dPPC3pNP?=
 =?us-ascii?Q?WFwHAfT/oD1UUMflGkAnrV8y3ZY6Isp3yFoNuViRKYIPK6Ms8y4yjF9qvmZ1?=
 =?us-ascii?Q?usCSkTNjp2GZBOhIQjhFZaXuAnerjCX6mdZs55n2nKbPShrcfCkoNWgCUFwI?=
 =?us-ascii?Q?i+QP5qpWqlgtiZTMQuRw5cIq5ph/uP9HoFEhosGXZ0s6f+Y4HWPEWYyt2bq9?=
 =?us-ascii?Q?n7mJgfn9zwS7WLOrXd+o6X/g58x0uUcPk5TVh1CyBbdmdk/zI78tmhAx2arQ?=
 =?us-ascii?Q?G41u8h+Vnk0HECefQYmKcIQNoDAh+I+j1I8itZhMXXo0VSm/cI9LgNZZdAer?=
 =?us-ascii?Q?Ia89n+HZykE5b842Rj7jhJWo9oEIankiHEoj9g16eo1YDk0pjQnpgDtqiCWU?=
 =?us-ascii?Q?APX+Uz1AFTYq1miIFKDnlB8yfaKXehoTLJ+42vBiYGEY3mgsh3eam7EI5TIt?=
 =?us-ascii?Q?F67lS6rhsxwYpbKNiasY0ON0qfjPu9qcNzv0og4kUhKA39qRGNbO2ck2CM3h?=
 =?us-ascii?Q?SY9RcQtaPe8Qg3shAq/T14VB9IZ4jbc9JU0TGW7B6h41E/eVIrJ6AwWHzBiq?=
 =?us-ascii?Q?f5tfl5UVLp4s3E+N4qGWPvkhwJpEq0gXWctNP4sjRBQvarNbkRU+hqGNFbel?=
 =?us-ascii?Q?6Ya1vrCiGA0IFXE/9vD5KYPbbq0Bxt8LwGTLZF8dd5mlnGPX3V6+/y7H4VIz?=
 =?us-ascii?Q?NnVVx2xTu+e+0BYGsA8M0CsePE50JZI0ETWhghl4HYf3xcQAhwowKfpXlsW0?=
 =?us-ascii?Q?ILJ4U9p+ZEVxXjJkWwdE7IAhWl9IklWQ77zZSYJh9O5dud8qO3YJcGJDtrZW?=
 =?us-ascii?Q?DxNzrnsbmRTI6Khf1qLgcOyP491foTQ1ZhZtkavZQMbKUX35xBcx2m0+DfZL?=
 =?us-ascii?Q?/wIvHzqgutRJylJDYa0musq5eVEPnmEkTZuXdXXMl029C8tu1hLUO9qmY8l1?=
 =?us-ascii?Q?OjRGac378xo452w8+vKnWlk2CQJjpRF2n1//LY7BjJS1LeOgT7lWTrv57ww+?=
 =?us-ascii?Q?4hU8PNPEuUIi4uvswG33jBfTlyGxnvBpcIa5ZNL/YEH92pDZ4Y9DuVqTfPnC?=
 =?us-ascii?Q?/vsvJw1f3fKFjG0BxrSfiKmYGMFVydxDferXp3Y+foDNdcOsOhPzKJdy2WPM?=
 =?us-ascii?Q?/gGSU8D8Kv3TloUsBk8=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(376014)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Oct 2025 06:26:59.5699
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 128ca40b-fdc8-4c91-0b40-08de056a8570
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CY4PEPF0000E9DC.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH1PPF93AB4E694

Current use of err() has the following issues:
- without setting errno, on error it results in printing e.g.:
 "init-dom0less: writing to xenstore: Success"
 This is very misleading and difficult to deduct that there was a
 failure.
- does not propagate error codes to the caller.
- skips "init_domain failed" message by exiting early.
- early exit prevents setting up any remaining domains.

Replace err() with more informative messages propagating rc when
possible.

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
Changes in v2:
 - return -errno instead of 1 for xs_introduce_domain
 - add another bullet point in commit msg
---
 tools/helpers/init-dom0less.c | 25 +++++++++++++++++--------
 1 file changed, 17 insertions(+), 8 deletions(-)

diff --git a/tools/helpers/init-dom0less.c b/tools/helpers/init-dom0less.c
index a182dce56353..851bbfff15aa 100644
--- a/tools/helpers/init-dom0less.c
+++ b/tools/helpers/init-dom0less.c
@@ -288,24 +288,33 @@ static int init_domain(struct xs_handle *xsh,
 
         rc = xc_dom_gnttab_seed(xch, info->domid, true,
                                 (xen_pfn_t)-1, xenstore_pfn, 0, 0);
-        if (rc)
-               err(1, "xc_dom_gnttab_seed");
+        if (rc) {
+            printf("Failed to seed gnttab entries\n");
+            return rc;
+        }
     }
 
     libxl_uuid_generate(&uuid);
     xc_domain_sethandle(xch, info->domid, libxl_uuid_bytearray(&uuid));
 
     rc = gen_stub_json_config(info->domid, &uuid);
-    if (rc)
-        err(1, "gen_stub_json_config");
+    if (rc) {
+        printf("Failed to create stub json config\n");
+        return rc;
+    }
 
     rc = create_xenstore(xsh, info, uuid, xenstore_pfn, xenstore_evtchn);
-    if (rc)
-        err(1, "writing to xenstore");
+    if (rc) {
+        printf("Failed to write to xenstore\n");
+        return rc;
+    }
 
     rc = xs_introduce_domain(xsh, info->domid, xenstore_pfn, xenstore_evtchn);
-    if (!rc)
-        err(1, "xs_introduce_domain");
+    if (!rc) {
+        printf("Failed to introduce a domain\n");
+        return -errno;
+    }
+
     return 0;
 }
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Tue Oct 07 06:55:17 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Oct 2025 06:55:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138495.1474173 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v61bL-0001lq-9D; Tue, 07 Oct 2025 06:55:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138495.1474173; Tue, 07 Oct 2025 06:55:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v61bL-0001lj-5n; Tue, 07 Oct 2025 06:55:11 +0000
Received: by outflank-mailman (input) for mailman id 1138495;
 Tue, 07 Oct 2025 06:55:10 +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
 <SRS0=HvEU=4Q=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v61bJ-0001ld-VS
 for xen-devel@lists.xenproject.org; Tue, 07 Oct 2025 06:55:10 +0000
Received: from BN1PR04CU002.outbound.protection.outlook.com
 (mail-eastus2azlp170100001.outbound.protection.outlook.com
 [2a01:111:f403:c110::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8ccdbb17-a34a-11f0-9809-7dc792cee155;
 Tue, 07 Oct 2025 08:55:04 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by DS0PR03MB7289.namprd03.prod.outlook.com (2603:10b6:8:120::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.20; Tue, 7 Oct
 2025 06:54:56 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9182.017; Tue, 7 Oct 2025
 06:54:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8ccdbb17-a34a-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=i58FI5bWjHFhruG9fJmHjXib2Q7vrvA40x8qAMe2NKrwjAO8FnZzWI//GkEHUgJ8yfUj1n3qOVMSs9s4tye0lr9qHwKcIAxB/73WS5d5Md4Fmw9jSsE0ihx4nlKuyYZwx+VwTSm+orSn7ss9IzyfEvNYlJy4MXRBZhqsyQbjJblKfF07fjmAUR8gokzX+sWb8wYgXXgewxTuRBGoCZLPktr/T4HL+2sgvHFUiNv+Lg0f2HBTK1JqsABTDbTFjA4n6bNwiABVrnJHCJK64hSiMjV2jvYjO/nIGyx1NvYF4lez2XBu0WSeM49hy4JGbO2ZQHObJR/YdcCFG8ebsbUJuw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=J6lduNxCGa+K6AvXUwITJ+IlBFencZYAk2Offe9aVy4=;
 b=IW8w7uxQ1VbGMRps7Ps2y01Pa07733uloDlzx4jHlI2TSfVMT/TnR6DUqTE+sbqanbMQl2Li2I1NanKFeTrqQsulneWj7DWG6sWqOsp+A13psSA+dA9TTmZeyHoVyceD3mC7m6RpEwoKdGZPlX8GCKqWy/ImePZAaLaddKceUxR8XizcAA/VT0YpoIUPqTO9JMp/1NidW7RgM4zhik33QAngm7fBLBoktOJj2zmKtEyTci4Tt7PHFiQH7xD/6uT1TP8sntKEzl6dIL94JE8U+igp4vllKYB/h+hi95gYLnzPflMXduy9o3im+w/brKlhyKDVNUhYpSmR1cPifxh0Qw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=J6lduNxCGa+K6AvXUwITJ+IlBFencZYAk2Offe9aVy4=;
 b=KstbefS66ybxK8MILsz3C8q20K3dEzxRY5ScRxj4ga1CI+996Jq4dy7GwkDDXVfb66VlvFn5i00zBF+stzFtId5RvE1zCjvxRkexzI4EF0VgvrUVyuMPubehgU/LIDTqL4mQifnOkQsG1IefGCgDfkdOdjTw3Au5PXDx+7SBZwc=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 7 Oct 2025 08:54:51 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH 2/2] Update Xen version to 4.21.0-rc1
Message-ID: <aOS5O2h767J1QPxs@Mac.lan>
References: <20251006200840.2171113-1-andrew.cooper3@citrix.com>
 <20251006200840.2171113-3-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20251006200840.2171113-3-andrew.cooper3@citrix.com>
X-ClientProxiedBy: MA3P292CA0015.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:2c::11) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|DS0PR03MB7289:EE_
X-MS-Office365-Filtering-Correlation-Id: 46f26f16-0006-42e0-5940-08de056e6c6a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?WVdwRTh1Y3NNODRLYW9adHo5TGlHaGxxblVxOURBaVlYRHMwZFVnblJwWHhP?=
 =?utf-8?B?RlBLYm42M2owQ0JyVVNPUEdrd3Y3Skw5MkpndXQ2VHp1cmRqbXN3cDNaVmlq?=
 =?utf-8?B?MkQrRG8zdjVrSGNOUmFicXFmclJFdUdDdVoxenFxMU5YcDBBM3hLNk5GWnY3?=
 =?utf-8?B?a2dwLzZidEZoWGI5RHJsMFV2VlIxUy9PamtNSXZWZERsVXNPNi9aajYrZGxr?=
 =?utf-8?B?eW0wK0krMjM0bUliVFlWOXkxQ00vajhvbjc4L3A3aTA4RjJnWVUwdm04Q05J?=
 =?utf-8?B?OWZ2aDBLcXh1Qkl0YVhnRFRqWURlODdnU0lCYWQ5NkxqUkhmS3U5b3Q5dVJR?=
 =?utf-8?B?SUFXd1IvZDAvZmI5Z0R6cS92SlE0SG9WT2s1UjdKeDdYT2hxbzEyd0o1OFVG?=
 =?utf-8?B?YStMdnlKSmoyYTAybC9ZMGNob1pLbm9xSjZReGtzRlFBRVJmZ2FzdjZYclFY?=
 =?utf-8?B?cVFtbjgyeUxDRUVNQkFtQnI3Y2lvYUtybGNmd1N4S3RNU1RuTnV5QmtDTDRw?=
 =?utf-8?B?T0J5K1pQeEx4KzdpYVMwV3MrS3YxL2NFcU12MU41RjZqTmhwWjlxZ1A4NzRY?=
 =?utf-8?B?MHFoSElzd1FyQVp2MnNYR2ZlVWg2VExFSnJPcEpYdGh4azZXbDljQ3hxRTdv?=
 =?utf-8?B?T0NVSktLeUJWVHFXSGdqRVdpMExMZ3lqSHY5UG5oc0U0RE9hOEVQVUxnSmZp?=
 =?utf-8?B?WUdmbFlTMm9idnJ4MWE4ZGhVY2dUdTkwcWkyMmNJVUg2QVB5Y0t1NWtSOHdI?=
 =?utf-8?B?UGx4eGJYdHVXSnRiL2pkc0RIOWg5V3lsY3FlcmVXTHlSNlVORWZSeEY1ZGlo?=
 =?utf-8?B?cWVCbFA0R1l0Rk5iQUhVQk5OTmg3YjliNWw1VUVJQ1VCYkxQWHhKM0RTWG9E?=
 =?utf-8?B?UUV6U2lhVXdBMWN6dFdFUmJ5dGduald1UlJQRWE3VytndElYZjJvODlTczNL?=
 =?utf-8?B?Y0Z2bXdya3pzRXlUbTJjc21VRDBYSlRZTGhoOEJrTEV1VEFQVWprdldxUFhv?=
 =?utf-8?B?ZVJ1VTlWZHpOVmNIUWRZK2hicjhxMGkzNDNQSS85QTBYRXZ4eE9YUkpjTlZM?=
 =?utf-8?B?eXFRMW14eGJxcFYzbFRBQjdKdEowMXNxd2V3eXdZV3h2YU5GNE1uTGZ1ZHdo?=
 =?utf-8?B?STluZktSUXpNWExjSnlnUitUdkdveFBscENYNm96OFQ0dlJHR1IzcGx5dlM4?=
 =?utf-8?B?Rm5senlBQXdldEhIY2ZudlZLZWNMdFZsb2lXT1RTd2tEcjJsWndBOFV6WDVX?=
 =?utf-8?B?cFZvTS9KQndIWWp4WjZ0ZUhZVkZzeDlrcFJyT2VOV2lRRS9veVJNQkovb3FC?=
 =?utf-8?B?aW9jZHE3ZjV2MlhIU0VCVGlGK05mNU1LOGh6dmg2M1BvVGw4M2dKOU12Z050?=
 =?utf-8?B?cUl1Q0lMUG0zSis1bk9WYjNSK1IwMzBZdllpQkVsZWJSa25jL1FjWm1nSEdJ?=
 =?utf-8?B?dVBCc2FuNUd6RndTK3NCRlY4YUNjTnJ6TGRIQzRCTGwzYnJsUHJLbU9va0x3?=
 =?utf-8?B?bVBETXVKRlA0YnhrMHB6RkxMeDk4SHBnTENrdEJnSGsyZEgrd1NOdFg5aFhy?=
 =?utf-8?B?TDh3OG1SY3oxQlVKMTRXSVQ4RGxJSjRROVFyR3NtRHRzSUUzZVpDT2ZqL01t?=
 =?utf-8?B?WHZKOGpoa3ZSMzlRT01RSlZVQ2ZtRFROYmxORzlWWUdiS2JiM2dyR3VUMVpG?=
 =?utf-8?B?Rkp6RDltR0xrdGIwVThyN1JEaTQwczI1QWFMQk9mNlBrekFtNW9RTk43ODcr?=
 =?utf-8?B?Y3B0VjhXOUNRQVp6Q2F1NXZqYTlQMUdjLzRDVXh2amNyT3hReU1jWm5Ta0tD?=
 =?utf-8?B?Snl3VUxCcUlYVXJaa0ttWCtDT0N6ak9aQ1BoNVB2NnZJdi9YeFUwOXZOMFkz?=
 =?utf-8?B?VXRzL1VleXdSOWNXTHVFU05Rak9pQzB6MjhCZnJ6aFpkV24rNUtseThwYlZ5?=
 =?utf-8?Q?DvYA+M2yj99KWb4y8gtVo491PT+LMsEo?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MjhQUjdsd0dJSXNxWElEK2NRcnE2ZlhPVVpEbkFsMStMN0pLYnpqT3k4Yll6?=
 =?utf-8?B?OEhzcW92emcwRDNuZloyUFBPaHNYM3JlOVF0MGJ2ZEhyZncyZnhBaEJ5UkF5?=
 =?utf-8?B?d1pyWldhY2RxNFVPb1dHSG44aVRCVDJIWTM5M2k2R1Jzd21mcWMrZ2g2N29o?=
 =?utf-8?B?b29YM2x3VHF0Q1Y3am1oZ08vZTBzNTNodjB6RjJYYkpVZnNXeTBGNFlJUWc0?=
 =?utf-8?B?Q0M3OXBGVVQrU2U5YVlKdlJ6aGVwRVJaRGJYRUJFekZYdXlIY01pZzAwdXRo?=
 =?utf-8?B?YjJtMGczY2RzaW9MMDQ1YWFpVEM3OTgrVjNiWGZuT3dsUmxmTklhbjlqaVIz?=
 =?utf-8?B?UjdxUExvd3VPN0lGeEpqaEttVC8yOVpYOHEyOER4cllNQzV3T2VYa0FnTnZE?=
 =?utf-8?B?WWhpWG5obXJ2NGNRYkZLb0V0d1RTSm1GM3BOWWVEV3N1dlNDOVVadmNvVy9X?=
 =?utf-8?B?U2Y4MVh4cnFPV1BuNktjQVdzQnZyWGY1QlFPL2ZsckVRSmVNZjVkcjJvOGZs?=
 =?utf-8?B?L2o1SlpxNlJvcFVNbG1UK1gyRFN6dTdWU0p4L1lwODFDbExrL2JhSXVZQ3J4?=
 =?utf-8?B?dTdTbUlBQXpUdEcyVUk5L3NMQ29BaFZrYi8rMkRvL1VPcUdVR2NpYkFkdFFx?=
 =?utf-8?B?VEhEL2tTRVBjcDk3aEFnYW5EL3hHc1FiWnMrOHUwT2V5ekRnWkh0S05rcEs2?=
 =?utf-8?B?OVZEcXhxcjZpVmlaQTZOSUY4R3psa3NMdzV6QlBHa09DVVVUZmJCaFR0aFRQ?=
 =?utf-8?B?YzZibkNvWC9lMWFscHdYbXQ3ekwyWnpRWW1iRUp1cWlKdEk1SlB6c3FKVHdr?=
 =?utf-8?B?VXRSMGFKaXVQYzg0NUx3UzBEVTc2NUtjTjJZTTNTeEd6UHBtbHQ4NU9CcjZt?=
 =?utf-8?B?KzNQWjlaWmh3eWhWZjlWVUE4SUlPZjBjYWNWdkNRYW5HQVBnNTF1bGREU3dC?=
 =?utf-8?B?OFdMSFRGSzJGSG53N2VNY0FocFpnQXB1QlBtUlYxNWFXTU1CVHNFa0MvYzZU?=
 =?utf-8?B?UVBiWExSVjljUTYzQzFmQXJHNS9GdFJPRHpKYWIzd1FrNzJCV1lNRXRSNFlB?=
 =?utf-8?B?MkljT1pNTWdhTkYrWm4zNG9BK0Q0bE03TUo1dzRqNDQzUjJsWUljUlJ0K0Vp?=
 =?utf-8?B?cnJzT2pMUTh1WUlsaU5oTDFKQXhnd2RMaVpONmpqNmF5MWMzTVhVaHQ2MUk5?=
 =?utf-8?B?TlJ6THNUTEQrdjg0OUQwMzQ2cDhPaE9BZ0g4L29zNTMzaHl4SW84bmVieW5M?=
 =?utf-8?B?Ykg0SW9YVU4wa3VVZXZNSjVWMEs5d0ltR2pMRE14OUEzQm92NnFvcDZxWkNh?=
 =?utf-8?B?K29NNEhNWk9PbW1IRzJEaElzNzdCS2NhcEJ0WFc0cGRRWDk5bVhaZncxUGYz?=
 =?utf-8?B?emMxaTJNNU50dWtEc0w3bmZkcnVsdTVlc1VTS29sVS9pWTRxMlRmbFJaS0NM?=
 =?utf-8?B?eGtJWE9ka1JaRUVCczhFU1MvVlQzUWw4emJGNFNSbVZBV0JzcDJ2a3BZUDVi?=
 =?utf-8?B?NURNMEJjUVFuQ2UrNUJNaEtuekxpS2pVZWR2c2hVMS9tMW9ZRTV2UjRTblFs?=
 =?utf-8?B?SVA0L0w1ZDFSUFdTNS9hTkZMYmp5aSttSThqTmw5NFRWZlRHTnlDeC93Vm9p?=
 =?utf-8?B?V3VueWxHOWtxRWtyWDFKY2tjTm5GdHNPUUZUWHg4cTRSNWN1THkxaHN6MGd1?=
 =?utf-8?B?NURDZ1o4Z2c5U0Z4VnNycXBVZXVXMStwenM3cjdiZVozU1BOTWJ1SjhaTVZ0?=
 =?utf-8?B?Q1BMdVMwOTJtd1VPazk5Z2NUbUxqMnNQODgrSmJqZUZJY3g0SDBPSkRIenZE?=
 =?utf-8?B?cUdWOU1ZRm45VEZ0Ym00d2NQYUY5STcrd2VtWUtCZWVnQ1MvcDNqQk1tVkZk?=
 =?utf-8?B?Tm9RWVowRWwyQVQzU2Rmdk9pZTVOSDU2MC9SZWxwcEJhQmFHTWtFTVJmOTZT?=
 =?utf-8?B?dDVqclpYaXloekFCRWtJRjhOclNLeFZPSGtrTEJYWlo0YzA4QVAxTTV1ZGNZ?=
 =?utf-8?B?b1ovZndvOFFhc0VLclVMUzN2QVRaQ1hXMHAwMGpMcmR0VXZJRngrRmorUFJB?=
 =?utf-8?B?cWZJVmR3NXZ6OWswT3ozeGtPSDNlY2NnTmlQdkpsTDc4Ulhrdmsva2tsVmJp?=
 =?utf-8?Q?cqDCzV7xHFmGhtJH9OnuKQZ1c?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 46f26f16-0006-42e0-5940-08de056e6c6a
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Oct 2025 06:54:56.6057
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: +Awn+sdD9jf6xcMTkCj4xDSuMUhqwT8jdw+3NQkwavHSinVK+9N524U5xkzI9OeQPsTd1Ph0nfI2zTekWsI9tg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR03MB7289

On Mon, Oct 06, 2025 at 09:08:40PM +0100, Andrew Cooper wrote:
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> CC: Anthony PERARD <anthony.perard@vates.tech>
> CC: Michal Orzel <michal.orzel@amd.com>
> CC: Jan Beulich <jbeulich@suse.com>
> CC: Julien Grall <julien@xen.org>
> CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
> CC: Stefano Stabellini <sstabellini@kernel.org>
> ---
>  README       | 10 +++++-----
>  SUPPORT.md   |  2 +-
>  xen/Makefile |  2 +-
>  3 files changed, 7 insertions(+), 7 deletions(-)
> 
> diff --git a/README b/README
> index 9329f30e1366..eaee78bd7375 100644
> --- a/README
> +++ b/README
> @@ -1,9 +1,9 @@
>  ############################################################
> -__  __                                _        _     _
> -\ \/ /___ _ __        _   _ _ __  ___| |_ __ _| |__ | | ___
> - \  // _ \ '_ \ _____| | | | '_ \/ __| __/ _` | '_ \| |/ _ \
> - /  \  __/ | | |_____| |_| | | | \__ \ || (_| | |_) | |  __/
> -/_/\_\___|_| |_|      \__,_|_| |_|___/\__\__,_|_.__/|_|\___|
> + __  __            _  _    ____  _
> + \ \/ /___ _ __   | || |  |___ \/ |   _ __ ___
> +  \  // _ \ '_ \  | || |_   __) | |__| '__/ __|
> +  /  \  __/ | | | |__   _| / __/| |__| | | (__
> + /_/\_\___|_| |_|    |_|(_)_____|_|  |_|  \___|
>  
>  ############################################################
>  
> diff --git a/SUPPORT.md b/SUPPORT.md
> index eb44ee85fd12..491f9ecd1bbb 100644
> --- a/SUPPORT.md
> +++ b/SUPPORT.md
> @@ -9,7 +9,7 @@ for the definitions of the support status levels etc.
>  
>  # Release Support
>  
> -    Xen-Version: 4.21-unstable
> +    Xen-Version: 4.21-rc
>      Initial-Release: n/a
>      Supported-Until: TBD
>      Security-Support-Until: Unreleased - not yet security-supported
> diff --git a/xen/Makefile b/xen/Makefile
> index 49da79e10fb4..ba8c7147a2f6 100644
> --- a/xen/Makefile
> +++ b/xen/Makefile
> @@ -6,7 +6,7 @@ this-makefile := $(call lastword,$(MAKEFILE_LIST))
>  # All other places this is stored (eg. compile.h) should be autogenerated.
>  export XEN_VERSION       = 4
>  export XEN_SUBVERSION    = 21
> -export XEN_EXTRAVERSION ?= -unstable$(XEN_VENDORVERSION)
> +export XEN_EXTRAVERSION ?= .0-rc1$(XEN_VENDORVERSION)

In previous switches to start cutting RC's we didn't add the 1 to the
XEN_EXTRAVERSION, see 19730dbb3fd8078743d5196bd7fc32f3765557ad for
example.  If we do add the rc number we need to remember to bump it
each time and RC is released.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Oct 07 06:56:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Oct 2025 06:56:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138509.1474183 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v61cY-0002NR-Ld; Tue, 07 Oct 2025 06:56:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138509.1474183; Tue, 07 Oct 2025 06:56:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v61cY-0002NK-J5; Tue, 07 Oct 2025 06:56:26 +0000
Received: by outflank-mailman (input) for mailman id 1138509;
 Tue, 07 Oct 2025 06:56:25 +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
 <SRS0=HvEU=4Q=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v61cW-0002GM-Vx
 for xen-devel@lists.xenproject.org; Tue, 07 Oct 2025 06:56:24 +0000
Received: from SN4PR2101CU001.outbound.protection.outlook.com
 (mail-southcentralusazlp170120001.outbound.protection.outlook.com
 [2a01:111:f403:c10d::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bc9f2517-a34a-11f0-9d15-b5c5bf9af7f9;
 Tue, 07 Oct 2025 08:56:24 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by DS0PR03MB7289.namprd03.prod.outlook.com (2603:10b6:8:120::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.20; Tue, 7 Oct
 2025 06:56:17 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9182.017; Tue, 7 Oct 2025
 06:56:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bc9f2517-a34a-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=oQxleXvQEOtNDRlxZNUMfqE3qLJ7bEvQGeh5RfmMsDxAhmLZvNrpCBM0q/CMQtKFUi/l+uFz5BX3pahu905nNHEj2qGNiuyGgQLZDsQfJXjhxtiAGSRMcONJrJ6NqggTidxKq6Zi8ar1yMakDx0cQkVo/Y2iwCZvjzRMdYPzYIYoLdCItL58dA2DKNnrgo9r5rBUq7gZTYWKaE3cfvPRiNYT0ZwQBZg5IqNBwVrgwJqtffIZtmz3pNbcR8Eg0mRXblBttTBYtZixLBDgN2gV9fwUjKNXv8KnAPZHO1vnOVBv7wM061pyo+2YigS0XckAnG+U1esmryzIDbvwqyKLJQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=g38lOrSsynXdt5VV1ic1sfZxsGVVdagKyB2WirZRrdc=;
 b=JIZ+8j25zGZOSLvcy/alwJy7uuFFOO1N5RJQU+zEhYgB4FPgyTgFRB1ayJfvHco26JiR+eDzZZSw5fTvFfuW7/cUudyVeu2qHfmX3DmkR37bvgd1/gTdjbMy31LhllIBtP0GJH/b5Yu2KHyVrBNywwOtLYit8NBvg3W+7a1MIPDZz398wvOimzqVlVBXnSmKvo/FV8ZB5o0RVK+t7JAlFVvF2enJqpAx6GVabSRGqYVYa1ZgAKzd/4klP7g85UovxUxxwUf6SC0Z/pqsJnciXDygk0a1RCfv1YLH7NM6pX51Qenm2WfWNoxnpPUIHj30t9OqvSaxrk8XI+idgeeCNA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=g38lOrSsynXdt5VV1ic1sfZxsGVVdagKyB2WirZRrdc=;
 b=g4QtlprinlzqndWlqeSz/SurnurkTINcOR2p5kUT9Ap5MMP9sMAs1EADvv5oDfxY5gFjZtn9CmBPYU6gyhyf3YRUcXYgTrPk1WKAbRkhB5C5hdstvX1GTiNvW8T1L/JBoBvdZ3mnJpeEIc0UDLPW6/GNuPZy+jdsjbhqfU27/bk=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 7 Oct 2025 08:56:14 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH for-4.21 0/2] Prepare RC1
Message-ID: <aOS5jqRK34eDKs2f@Mac.lan>
References: <20251006200840.2171113-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20251006200840.2171113-1-andrew.cooper3@citrix.com>
X-ClientProxiedBy: MA4P292CA0010.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:2d::13) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|DS0PR03MB7289:EE_
X-MS-Office365-Filtering-Correlation-Id: 74e238e0-2349-4082-5561-08de056e9d46
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?SnBlOFErRmx6M09BdTRBUTFzUjExUTY3U0l4eGtXWUFUakRiQlFZNksrbmJu?=
 =?utf-8?B?NVd3cElEQlZPRWo0andic1prU2t3b0xqTzJxSWp4MExiVER5WGdZbit0Lzdj?=
 =?utf-8?B?RktRWGRNMmQ3ZUE4dHlRTWtDaU0va1hObVJJL1c4YU1pY29IcDRibzBrMEZk?=
 =?utf-8?B?eUVYVFplNFJyR1crUnpSeTVHSWk3TWpZVGRMVHRMV0tsYlF6bk0rTjRxaGVm?=
 =?utf-8?B?Z0duOE9DVW5BcjVOTno1MTFNUmcrUkd2MnRVZG1qRXBuU3FTTWpQMWpDUjFP?=
 =?utf-8?B?Ym9ZOVJsOTl5blVNRERwL21BV3FVZ0k0MVd4WnR4RUhJcXlsSVNNYmtGRGNT?=
 =?utf-8?B?c0R1dXFsaHhjLzhBMWpJdlBLMW1YZDJzL1VxQWxRdWh1cFVxQU0xeUdVKytG?=
 =?utf-8?B?MEFzblhDZHdwbTU0cHhIUkpCTFFSQWJzKzVwdjdUUHU3NjJGdmhRd1NLKzFW?=
 =?utf-8?B?SjJkcHNBdlh6VGJkZThPUU1VUlJjR0tEVEx1eFVsNDd5VXdIeGhNenpqc1FF?=
 =?utf-8?B?dWVubUt2OEg2SDJGT3l0THp3TlJIVUV0ZWpqZlUrd1F3UzZBb3llcWJtV2F0?=
 =?utf-8?B?NTM2aEp1Q1VJcmkzcUdaeGVCZ00renhXUkRLZHNqYzArbEZEQU5zNFdLOWwx?=
 =?utf-8?B?VDBPTGQ5bjA1M1pESG5HVTRDTk5aNnk3TG8xUU1zY2QxQks0U0U4a0xES2lY?=
 =?utf-8?B?cGQ1NUJRS0NDY09KeWp2eCtQNmtMZXRwWUlLazhHNlBOcFNHRnBQZFh3VUtE?=
 =?utf-8?B?Z2hFVzV1SzJzRUF3NmVzT0RBcTNkNmd2ZXlQU0FWV3IrekZkNzFyOGs4cC9x?=
 =?utf-8?B?OEZEQkN5OTYzUlhWbnFmUHQxWmU0bWQwNHRaMnNWeGpWMU5ncFpDQlJ5N2pH?=
 =?utf-8?B?WHRjRHAzLzFZeSt4WFhDQnowR3hTYzkyOWtWS2RNZ1FqeVVhY2V4SUR6VmNB?=
 =?utf-8?B?Q09oVndBcXQ3ZVN3SUJpU3pvOGFXNVNxRUo1dGRlNENoODFWR09XV2FLR21R?=
 =?utf-8?B?OGpUK1NWbmdpQ2hDcStCdTJESXBiclpnRGRhb2k3TzNMeHpqR0NtUFRGNTdM?=
 =?utf-8?B?RU05YTU3L084d0g1cVFNMXQwd1pKbUFPc2J4QlVnM1lEZHk4T3VNWG15azBR?=
 =?utf-8?B?NWRzcXFHSVFMcFRQL1dmaVpQbVJXSkZ4UERkWjVmS0dVdWYzRWZnUkJLQ3Ur?=
 =?utf-8?B?N21LYXZCN01Sa1FYWURvd3JCc3F0SFJNejdpUlN3ZHVPd0wzSG5BR1lKaVJz?=
 =?utf-8?B?ejNqOWpqejVCY1V2RlhuelFYMU5KMzNhK1NPTjhMaE83RG8vRjdNaWllL2Zj?=
 =?utf-8?B?MytJQ3dXUlE5bHU2M1MwWmRuZlkzU2FZNHYveW1ZV3U5WnRaeWJZY2RxNzJI?=
 =?utf-8?B?SkQ1Tzl2MlowbW16NzlyZkU5SmY4MWNVUHlYbWl2bncxbDhTZWNWUDc5Mmov?=
 =?utf-8?B?bC9Kb3ByNGNLUzM5MTNvOS8xUGZlNHRkcVlBTzhIclk1ZlJDVVBhWERIaTJu?=
 =?utf-8?B?WFc0ZEp2cFVwVUwrQkQ2RWR0dGNkeGhTM2pyL3JaUVo3QlVWTlRad2l6WWE2?=
 =?utf-8?B?ZzJFdEJmTmw4NFBRKzZxbFFTSU5XQjAzM1JDelhnSFRyQVk1alFkNnd4alNy?=
 =?utf-8?B?aGpiWVBmd3BVblkxMWpzNFYwZHVCK0JpQktjTFVTbklRejRvdmNpUzFFU1Mw?=
 =?utf-8?B?eUhiUGdLZ0tkWGo1WktNak5ZK2VXKzdQcHQzbGdxTzhpSmZ5L3VZeFB6SFlr?=
 =?utf-8?B?VnloRy9zOCt0L21FM2tJY3JGOGg5YmZVWTB0VGdBN2V4Zy9FYW9lYlYwUFRa?=
 =?utf-8?B?bmhzQk94U2NLeXJjc1RHcHFTOGplQWpsdGJjNXVBKzNvUk1PQk80MmxiL3Jh?=
 =?utf-8?B?ckRVQ3BDN2pmb1V3YnBsRmRlRm5ldG5aSjBBaVVRTHJuTkhzZC80SkJGSTVp?=
 =?utf-8?Q?BaNK9fI3PKRkkYrUg2hwpXaJl2XITfE2?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NEo1UTdYNTNQUC84SnJ0NmhqTi9qU0Njc2hPUlhyMHQ3Qml2cTJvaHVBSVM4?=
 =?utf-8?B?VHg3QW1jemw1SUtYWnhPMUpCRkJTd0RWb1lDTWtBTFVDTE1Da0U5WjdtQ0tj?=
 =?utf-8?B?RHpDbzRJanUxVHJXWWtpUlNiVlVWb0dxNFJudXlTNGY4bEVqVUt4TGNtQ2VE?=
 =?utf-8?B?d3FiRVRWei96TXlpTFo0blNWakEvZ0JrZEUzTXFOUXg1c0ExR2hOS2lkblF4?=
 =?utf-8?B?K1hrUlpGRFd3aU5zd3NjZ0ZaRi9OcGlweUM1bzhDUU95QVNYbXR6eEdmUWg3?=
 =?utf-8?B?SDdwYkJsV3dvdm9DY0tMOUZFUU9nWkdzZjVabzk3WHlFYzhIZFZsU0xmS2kv?=
 =?utf-8?B?MmdCczJ6aGtyMGF2cDNGdmJrQkkwUmhyd05IeTNmQjM2MkNhZ3RUVFFaZ2kv?=
 =?utf-8?B?NUh5c3JZUVc4UDZnZ1E2UUROZW8vdm5NQVFlbFRwY3JHYjA4Umw1b0xISUNX?=
 =?utf-8?B?aHZRekM4YytqbHA5Z0VLL1RWSEdqVnNVSVBJdGpGZHFsc2RkNmtUZjJPRW11?=
 =?utf-8?B?RVNQVC84UGxTNHM5LzJndy9pWEZwSE40NkJsbThPVWU4ZDcwT21qSkVLL043?=
 =?utf-8?B?R1FjWXFObHZkOEV3cHVEVGNIbFB5Q09leGFWb01BNGtPdFpoUWdKRG1BRDY5?=
 =?utf-8?B?eXk2aDloYnVtdWl0eXUxbmZrUHYzZWpjK3dRcTJpeDVPMmNqQzVtTFRHL1BR?=
 =?utf-8?B?RnlGYzZ0dmJNWE8rN1Y3R3UxZEdSU0M3MjRERHFSSnVGOU14ZWx2Z3djZG9U?=
 =?utf-8?B?ZitsMHZjdUJUUTZ4T29DTk9BVzUxVHJXT1luTERaV00vZ3FRLzRieWxLRTJo?=
 =?utf-8?B?NlVXWklacm14cXN1ZTkyNThPL2lRWWF0dHlRTjI0VkE1d3BaZEZlQWEwcnor?=
 =?utf-8?B?TGE2WDFsc3M4SHNWb3k0dmVIUnU2L3VwNXhPQVFkbFcxcnAyTnNjWGhKbEk4?=
 =?utf-8?B?WW9FOGZWNllVaVluY2VWTTlZMUxnYldGRzcrV1o0WnV2WVUvOU83OCtnVTN2?=
 =?utf-8?B?bG8zRTJJQzU5akxXMWtpN3dEQ3RGY2prYlI5YnhheEY0UDhNQzNyNHVndkQ3?=
 =?utf-8?B?aXdmZ2QySmJmUWRDdEJ1M3ZuUmdONGdKTEQyT3YzVENPMllTbjVBS1ZGZ3F4?=
 =?utf-8?B?Zkx3YXpCVjM5dGliRmMrTTFaUFVqSHVpRHFCbUtKdG5oNzQyelp2UUsxcUFF?=
 =?utf-8?B?S2plMktmU0hBQVBkbm1KTFBFcTl2Vmc1OVdkUDQ5cWdYaG9WK2lLNU1xV2hk?=
 =?utf-8?B?N2VkTmEwcmdoTW9PNEkvYUx4T1RlYkpyQU15MER5OUhKQTQ1MjdNeG9YQVVJ?=
 =?utf-8?B?QzYxVnlGTmxJcElSNUJyTGN3L04ydFEvTDIxbnlXek9aYXBjWGUxSUtXQWV3?=
 =?utf-8?B?THRmNGhQWDBsWC8vRlhsTnBiaXBOaGNzZVZSamh5ekNYZEJ2MVJmT3YyWXJt?=
 =?utf-8?B?M0FtY3NGVHczTWZXMGdSaUlGbXc3ZXh2eWhGTkVMWVd4UjZoUHJvb0s2UEpr?=
 =?utf-8?B?M0VZSDJlN2VaMDIreFVadDAzZ0RPK2VWUy9RUFZIV0NxWmJKUXV6WjNWaXJF?=
 =?utf-8?B?T1I1WGt1MFZLVy9TanFkMWJXcVpnUnNQNmFJU1Q1aytXUEFzOTU1cWU1MkZY?=
 =?utf-8?B?OGszYklQbU5iS3VyK3pGUlU3Y1hsRUQyK1lxdVZ5SWorRENmc3RCYU5mdlZF?=
 =?utf-8?B?bUQ4QUo1WFg1Z3FGSm1NZ2dmTVFrSGdndUhvMTZkWEQ1QitzTlNkYnNlc0lv?=
 =?utf-8?B?MEs2b0Z4bGtic0pQdEM5aUJwT2tFcHVqUm04ZHRzczNFNGorakIvT3J2L21X?=
 =?utf-8?B?VU0zaHJrbURUZ0Q3OFV4NXNoOUw2THIrTG5wMmczL1MyMlFUK0NyR2lXS3JP?=
 =?utf-8?B?ZWc3TURSNmtnVDFQckN2ZlZTdGZSR1VtMnh4REZkVE5wRldBZHFhOXJGZ1hi?=
 =?utf-8?B?dGJlYzIybkdsNHNaeE5ya0VwMWdpWG1IelVWd0ZNRkxTMWZKSHV0ZjlpZ1RN?=
 =?utf-8?B?TmdRTUxybExtOVI5YmRDdnp3VGc1Y0V5VXRoWkVoRzZtYTZvWWJqdDY4aUVl?=
 =?utf-8?B?MkFSS2FtblBtWnYwM2p4RSt6eG5DamxkcHVkSnlHWWtSSmV3N3hqRGRSYkJ2?=
 =?utf-8?Q?Dwz0NEK0yIZpGDTQceOPl2J7Z?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 74e238e0-2349-4082-5561-08de056e9d46
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Oct 2025 06:56:17.7629
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: QsigdA2quD3uZUKYjS8PXKpoUFLI/sju9dtdkxpljKQYNxSRAqSghCYgvBjL1Yh2n6/rNZs9o52xUmnjyVNBow==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR03MB7289

On Mon, Oct 06, 2025 at 09:08:38PM +0100, Andrew Cooper wrote:
> Andrew Cooper (2):
>   Config.mk: Pin QEMU_UPSTREAM_REVISION
>   Update Xen version to 4.21.0-rc1

Acked-by: Roger Pau MonnÃ© <roger.pau@citrix.com>

I've got one comment in patch 2, as it has a slight difference from
the previous switch to RC versioning.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Oct 07 07:01:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Oct 2025 07:01:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138517.1474192 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v61hT-0003xI-7C; Tue, 07 Oct 2025 07:01:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138517.1474192; Tue, 07 Oct 2025 07:01:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v61hT-0003xB-4P; Tue, 07 Oct 2025 07:01:31 +0000
Received: by outflank-mailman (input) for mailman id 1138517;
 Tue, 07 Oct 2025 07:01:29 +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
 <SRS0=HvEU=4Q=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v61hR-0003wm-QS
 for xen-devel@lists.xenproject.org; Tue, 07 Oct 2025 07:01:29 +0000
Received: from BN1PR04CU002.outbound.protection.outlook.com
 (mail-eastus2azlp170100001.outbound.protection.outlook.com
 [2a01:111:f403:c110::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7299e6c3-a34b-11f0-9d15-b5c5bf9af7f9;
 Tue, 07 Oct 2025 09:01:29 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by DS0PR03MB8224.namprd03.prod.outlook.com (2603:10b6:8:28c::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.20; Tue, 7 Oct
 2025 07:01:26 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9182.017; Tue, 7 Oct 2025
 07:01:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7299e6c3-a34b-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=llYacBjHwPDPvm1EfKlzShAJCNaRW8GYribK2HeBfSiAKAar8XiOKiAdi8pQ8jCESNLGnEflt4uGOPr2UNInc6RakIo/kJvX3etCYquZb4TNakO9IiC2Xr7zeWr1p3Yomu+ozb2Oak9IcN8f97sjhiWLSlTykXPgEW+i6kb9Y9lct6q/VPF3Eo62z8sda+Db4XUWjzbWqzm10f8ZQ9VeIk6UM3u5TH1SKSJgfMRTwVX3lWvoJkwu3BVJlEwJkNy2nheMeIDxCU+UW9cijg6SYTcR9x71RcS8lXh6G8HcxNXaCssxoyvtxSo5+VtfqMvkMtR5KimevRjwey5V1/sW8A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9VPOS52+/hQoS1plax3j1DB4curtD8jBJtoEMUqqbNM=;
 b=eocizlyLdRTXcDiLUqxVQVQK9z3Vw9z2IHGzgvNChkZH47W1jc3v0xEdwJUFKnpfmc3+hQICXmYUJ5HzuUIlJPOCWNL3jxARZgRVUdndBHWxxLvSW2UbdigeK5PTzhmpShWHkEhyMJEplOkFK20c9T+amQk1TQTXJqXo0sD0CrfQXH4QuCDxiczPMneIa7gAQqCvHcfv98xZhw6pSyVwn/ONT18eTKYFqGYXXw4r1/IkjdZxdJvUR6ws4lPCZgY7hCwo2ME2dpvDuPGNVAhKwtewBPAs6dWnGBhRaxyrL6pMwmbqK1gHeJqCGmKBK97P/brR17R2jZGv12gKakC93A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9VPOS52+/hQoS1plax3j1DB4curtD8jBJtoEMUqqbNM=;
 b=adr8qqDCBZzwmX2fIl+u40b1+t/Mdru28h2ldAzXlxwmyJfRy2PnMkZRrgvFHcP7BIkSwFZsU41C7ayWrslwCFJlg0/Pwy3CGZEYBrA258zSN9pxhwIE4N5pzPvRkpToEY5JvvQMhzepjwPH0oB+C6ZkKH/LiFFDTOzAwcSL1c4=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: oleksii.kurochko@gmail.com,
	Roger Pau Monne <roger.pau@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH for-4.21 v2 0/3] cirrus-ci: get testing working again
Date: Tue,  7 Oct 2025 09:00:53 +0200
Message-ID: <20251007070056.83423-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.51.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: PR0P264CA0165.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:1b::33) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|DS0PR03MB8224:EE_
X-MS-Office365-Filtering-Correlation-Id: fa02c504-3cea-4a7e-b642-08de056f5530
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?SWpWeDVaR3ZRYUxqRWsrRWxaeDN0MFFyQlJoTUJyaktmVmRGdGxIUnFzVkxm?=
 =?utf-8?B?dkxIdnkrQ0h3c3ZKWHdyRWs2L2F2dGpsa25XRXpqWmR0eGlqUk45K21VN2cw?=
 =?utf-8?B?VjkybE1nd2d6QUtBNWt2RGV1cFY3ejFJQ0dHS1JiS1JkSFcvTTAycSszQjBr?=
 =?utf-8?B?ZkNsa256aEhPNEpFcnJLYjdYd2Z0NXBnc2hBQnNyZVY3QU5aWktYcngxcnhC?=
 =?utf-8?B?K0N5RXpMZGZ3WGJwWWxoTTZ4Mi9KWThsY0c1UExjWitFSVFKY1BsK3hSUlFL?=
 =?utf-8?B?MDV1TTBWNzFOSWRYSkFpQ1hnOEhvM05ldUFEWlhFcDJVWEdlZE5taTh3Ulcw?=
 =?utf-8?B?VG1OdVJOYnE1ZENFUEhUbVl0R1doNTk0RlYzL0FoTmxTVldRTEVsMk1KUHZ1?=
 =?utf-8?B?L2RqS2YwSExJclNKbisycnlhdmtQVXFhQUt5SHZmaTI3TkVtalBPREdLaUVM?=
 =?utf-8?B?NnBUelM2cEYyY2w1MytTVVF4M0tnVWQrbEdxclA3L1VQRmJERml2cVBHNThj?=
 =?utf-8?B?YTdQYWo3VzhNcDB0Z21UR3dnQVkwZzY4Q2EyL0RHazEvN3d5aGJCNXQ5R2o3?=
 =?utf-8?B?aVo2TlRBcFUwaXlqaGw1b1BLT1U5U1VtUDJwR2hKR21sMTBwT0R4Z3VBZXVw?=
 =?utf-8?B?TlBucVMyWWpvSEVzMDd3Q0JsK1d1UVYzTjY5Y25mSEhzOXc4RExkUnh5WWV6?=
 =?utf-8?B?eG5RdW9ZWjRZVS9PUjZwRUpmd2FqcXh3UzBpS1FoN01BN2VrSm5HYWFIZHY0?=
 =?utf-8?B?STdtRlR0Q2JldXNYbkRoK2dOcmFyVVR6Z1hIK2JsdzlGZFdCNDh6Y0RJQzFp?=
 =?utf-8?B?RlgyL2l0RnFwaWFyamxBT1o2Ym9NbUdsWXF1VWgxaVdjdDd3cWFiQzUrZWZw?=
 =?utf-8?B?M05WV2FMZlpJRXdnc1BIcE95L1pVVlRjZXhZUlVRYVpXTlRuTDczSDAwdVlR?=
 =?utf-8?B?S2FURDNtTW9JaTZacjFDbWoxS1V2VGRndWlPQ0gyVEN0NU1BN0luS2pDb3Ji?=
 =?utf-8?B?WWJEdUFFYjAxbmNhYXZjTlQyUWJkYVN2RmVZdE9EUmxlU0hSWnZFSlIyVCtK?=
 =?utf-8?B?V0l3UVRXY0p6cUoyS0c2K3IxU0dmUWJsUlZKUXZEUU1OQTR5ZmFCZzVnOVJK?=
 =?utf-8?B?dEQwMTdEUXppR3RSOW50NERnWUg3bjlwWUpIR0YzNStRRFRXZWVpQjN5bEFx?=
 =?utf-8?B?TDFvUkJhOU5UeTlTMzNDK2xzNFhsOGNMNUJKR2ZibTV0VFZBR29JZkFQeGdi?=
 =?utf-8?B?K0hMb1dUazVMamkyTVdESjlXU0h2OUVKNVlXQmk1U1FjVFJxTHg1ZzBQRE1u?=
 =?utf-8?B?bUxiRDNvcjFnYmIrNkRsanVnVnBpelZCTnNpZlZDUzhWMGFlTE5TbnNQNVI0?=
 =?utf-8?B?S0poQ29WQ2ZnbjJscVJicmFCTWI0UVlUcWVtbk1RTlpjaEJsd29BUFk5L2hI?=
 =?utf-8?B?WTA2THN3NHVyR1kvMjJmL29aZW9CRFlaWkNLY0ZaVlQwYXdBbkRvdG1LbS80?=
 =?utf-8?B?RENmK0U2Z2pScEE5R3FESU1qaWFCb0J1cVdLNEVCS3BxSWJhNEtpamJlNFNC?=
 =?utf-8?B?YzFHYkhybisybUZLT0hvZEJ5eWh1cS83T2lhMUkwQXN5SStEN245R1g1MVJT?=
 =?utf-8?B?VnNod25QeDljQTFNQlhKTWt2QTJtcElKN2M3SFFHUGVtQVE3SHIxc0NoaTA5?=
 =?utf-8?B?TjUyNlpXU0tUSHdmaXpMem51T0kwZVZJb25DaWVKenlQTmkydUc0TDlDUWVG?=
 =?utf-8?B?cTNJOHNYdHYrdEJvZ0dNMmNLdHh1NXhISUZQOTlENHI5ZUp3MzFad0xaOTZF?=
 =?utf-8?B?ZHg1SFpWMWpaL3Rwb1VqKy9LeXc1czhYaTQxeTJmMFlja0NaU1Mrd1VoM0pz?=
 =?utf-8?B?Wmw3ODRNSXZSVXFmWmM4UUp1OTdnZzl0cGNlTGc3RnBpSWRvNmVMTXpVWGpI?=
 =?utf-8?Q?3Nl6ukzyppZWMtfnqR8+rCwqI6YlLHLr?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?b0xLVDV3U01IeXBwNGQ0S2Q4SlJ6M3J6MEpMZm9TQXgyZ0J3bExWT1pXRE1K?=
 =?utf-8?B?cFpnL0JmLy9JdHQwMXBNQjVrZlVRZzVjZmhyNXdtVWlvVkpKK1p0NUxNcm9m?=
 =?utf-8?B?T1RZeGUwM25XZC9kWGVEenRaaUNHZWQ0MWVNZ0R5Z25pQmNWQy9GcUtYK3J2?=
 =?utf-8?B?OHl0ai9WNmpRbW55akIzbVpLdis3eU9hTWxBMmdrZDVPeEQ0bStDQ0RLVWlK?=
 =?utf-8?B?SWJ4KytLeHZDWDhkRmxycStSMDY2UnFqWnVFNG1hczdTR05NSXN6VUpBdVVr?=
 =?utf-8?B?TDhUSyt2ZC96KzZ4L3hicW9GbCtCZzNZbWxDYnNJR2RyQlQ5Y25zZzBET1Qr?=
 =?utf-8?B?SU55WFh5V08wRFVOSlEzcEJxU3J6a1VTa29lQVdWM3ZYVWVnTDZtUS9kbzVy?=
 =?utf-8?B?Rkg5WlV6OVYrNUMwbWRHakFsN1V1dUZGRFdwMWFvRTcvZXB5dWNvYVZmeVRU?=
 =?utf-8?B?STcvM3NQZ0lOdEwxRTlkN3ljeGlJZ3hoMDBNWWpKTnpTRzltMDZEQ0w1SzlY?=
 =?utf-8?B?c015ZVFwR3IyUHVZZDFXaVF3aStkQVQ0N29KMjMzQ0pwYVRLcFd2TWRxbGQw?=
 =?utf-8?B?aVMwcjcwVlZhNDhsYVJRWXJncThlN0VoNlFGL3kyOVlBak9XU0d0eEs0cTZ3?=
 =?utf-8?B?K05PNzRRSTlSYzBicmpaNXZvUzcycWxEQnFpWk5XNHg1bDdPQUZnbDFWK2pZ?=
 =?utf-8?B?cGEzZU9qZWVJemFIQ1hhcFRmMmZSRnU2VVdUcGhxTW1CZ3NyN2xHSm5SejFK?=
 =?utf-8?B?RUdrWWZKSmwwdTZzUXFZbnZINTd3SndWRUVMSDB4Z1IranhaQWU4LzlmRUJn?=
 =?utf-8?B?Q29xdW10K013WDdOUDdqZDdyVXRtVnc5TE5uTENhL2lDR1dnYVJOMXJTT2x5?=
 =?utf-8?B?UEgrSWVHTXRMWDZsYm9Ccnh2YjFlSHB3Vy9CbW1GQ01aRWpQRGw2S3pUTWVt?=
 =?utf-8?B?bXJjeWN5MTE3MXJISjZaVkh6aDRxT3k3QzdacXRVMlpUblFabU9YSWU5ZEdL?=
 =?utf-8?B?dHVEZXVBeUJZdEdtc2lUUEhGRzhnQlVEVzl1cG82bU9abXJDMzJsWWUwMExV?=
 =?utf-8?B?Y2VpVkRUdURVMEpPZEpydkt2aExUSGJrc21aMWRna2ZhOEhKRW0zWkN0b0pI?=
 =?utf-8?B?Nmx6dncwbU4vTlFaWE5VQ0ZxNklYZjhMOFJtWFh5MlNFeTRWOFRFcm4vbW8x?=
 =?utf-8?B?TzI0STZQLzZqd2ppU3FmVXUycG5kNGxvSnlVQ2FIRUtHYlV1YUozU0JMMllQ?=
 =?utf-8?B?NkZGaW9WOWxrRzlQVkMrd084L0txaVQ3TDFCRXFvRmNJR2hHaDVUZ0c2alAz?=
 =?utf-8?B?ZDVSdVRuVG5JOWNrZzVrQnFCSE9BQmRxaVBxdmVoem9ZWTlGMGYwMU1hSXJS?=
 =?utf-8?B?cHpsaHpyZk83a0JRVlhZK0paZGxpdFdpK3kzRXZkNGZUOGVLNEtscUVoU050?=
 =?utf-8?B?a1BFb0FZdGI0TjV2SFdOUE10S0h4ZG5mUzVLT3FSQVExNW82ajNlWFRlU3Qw?=
 =?utf-8?B?Tm5ZdU43OG5CMlVjZjRybnlKcksvVFlScVZUbVR3bXc3UXRPMjV6R2tRMWJh?=
 =?utf-8?B?ZkE4RXNJS1FhTGc0QkRwS04vL3MzZnlQS0Q5Y0tlbmFSRWtHQU9vMnExUGk2?=
 =?utf-8?B?dDloZWE4L0RKOFJ3c25SN1g4c0t3ZEV1ZzF1a09JeUxKdGdDWXdvRmpJNzVV?=
 =?utf-8?B?TmVKc3NKOUc4NXRWaWszak5iQk13OWJhZXpSUGxBakF3RFh4TlVoMjZ2d3h3?=
 =?utf-8?B?QThqK3p6MzVWbDZGK1E5c3k3d0NYR2VlNXcxMmxSUExpNU1CUkZoMlJKQklt?=
 =?utf-8?B?VU1VdTFkV3dKVGZ2RUhzc2NQT0hVUU1sejBwVFdYNjBZMlhBVFA1QkVzQ3Y2?=
 =?utf-8?B?czNLV25zaloxM3pSNGlzUmYzKzJxZDdVWHZnTmpzUkU1VHA4K1hzSmx5cjR4?=
 =?utf-8?B?ekt3eldEdGUwRTRCQTVKdkM5Nkh3MVFBQ3p4MDM3RU9Pc0RjQ1QvZlgyTS81?=
 =?utf-8?B?YU9pV1dQOVRlQVErcFdWaDI0cHpLSVI2VVNrUlphMXNMM0Q5YlQxc1ZaUnRz?=
 =?utf-8?B?VVVST0Q4NXI5dXBWV3ZVSlJsYmlGUmczN1B6bkdUaE1wZGpXMzhtWmtHcFBa?=
 =?utf-8?Q?X7gaLxKxl0vZyHHHylAmkllBE?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fa02c504-3cea-4a7e-b642-08de056f5530
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Oct 2025 07:01:26.5080
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Mk2ZBMguKeqoQRANxDYzhMRIMWMmyf3u1UywibUD6HSZGlLER5jjmFtHFDgXsYGcsxzoQ46mQzXIVoOEuToAFg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR03MB8224

Hello,

The following series fixes Cirrus-CI testing so it's fully working
again.  I request a release-ack to get those committed (once reviewed).
The risk is very low, since they only modify Cirrus-CI code, so
Gitlab-CI is not changed at all.

Roger Pau Monne (3):
  cirrus-ci: install libinotify for FreeBSD
  cirrus-ci: fix bashism in the test_script code
  cirrus-ci: bump FreeBSD version

 .cirrus.yml | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Tue Oct 07 07:01:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Oct 2025 07:01:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138518.1474203 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v61ha-0004Cc-Ds; Tue, 07 Oct 2025 07:01:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138518.1474203; Tue, 07 Oct 2025 07:01:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v61ha-0004CT-Au; Tue, 07 Oct 2025 07:01:38 +0000
Received: by outflank-mailman (input) for mailman id 1138518;
 Tue, 07 Oct 2025 07:01: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
 <SRS0=HvEU=4Q=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v61hY-0004Br-K2
 for xen-devel@lists.xenproject.org; Tue, 07 Oct 2025 07:01:36 +0000
Received: from CO1PR03CU002.outbound.protection.outlook.com
 (mail-westus2azlp170100005.outbound.protection.outlook.com
 [2a01:111:f403:c005::5])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 74b41f11-a34b-11f0-9809-7dc792cee155;
 Tue, 07 Oct 2025 09:01:34 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by DS0PR03MB8224.namprd03.prod.outlook.com (2603:10b6:8:28c::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.20; Tue, 7 Oct
 2025 07:01:30 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9182.017; Tue, 7 Oct 2025
 07:01:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 74b41f11-a34b-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=tEGHs4ycVFKQdXwPHs7zDc7wcnEoJ5Jft2XZsZOxzG7Ew18jViWNiV7tUguxpG5cCI1aaMb6f8VcEdDuAndyI/N2RaKM13hp52TvXHffLqEVHB4p1TnwZ7nj7qHpvPEbpfMlw2UiUO98nwMxS7W1G0H4fW78WkXM1wBZjHmgSXyQllEYiHePvV5XZYkOwy4xdHWVqsO/a3HPat4LxNVoQ2eG0YsWJ7BUOOv+b3T0w3q3HuCISwoaFH9ofdrnH+c/ao++JEYUyaZokvnYj6m1MgDNRofoVD52K0ml0Ojg3CgBuIfLeWdqIcBQcIYou2SP5WJHOEqBsF08TaV3MXufgA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=W3bA8lUzNj8r1eo81eLbcNDAh2zqjwbhhkzCMfAeoKI=;
 b=Dsg+eirUq5GWIIVtLtmtJeHWRfYBv11KNd2QIdU8yNKfYc20jnlXumn2afyp0AjHVSuBUcbFOXJzfdWgf4EwRXRVUtlmdpIL+zYZ346qfsIPOcnDWJtFxW+YtURYA3829hZh6q6QVN/HV9iYfXhyWLfuyce8XWsnkmjCacJ9XyZ4cVTTWWuaZx3KLICGLu8YS1ajglFp7Bz1w9Z5xUxyV4W4kFGcmzUCx0vpaulonNU5nfvDgWjK4gFMV5GHm1bdH9/hsd3MB8lUvvbGxYQhj1m9RaGKhqcPMKeZjtnm3upsQFzq7hYb/ykhyqzpuXH1hYJlOUdperaarp7m+faoQQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=W3bA8lUzNj8r1eo81eLbcNDAh2zqjwbhhkzCMfAeoKI=;
 b=FMnHX4ISbSDpAYWY7KfsrptNtU3PD1tI3ihw2+YbcqGmGT5GJty18+uXi+wlzYPC1wFkJZImD56R1Zv+PjkypG14xFGvqiKpQaHNYlZS73ULF+FJJHxAtJSvTIL5ttwA1O7P8v5ke8+PD1USVZNlZ7ZxemiybImdZK/laNhzzEo=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: oleksii.kurochko@gmail.com,
	Roger Pau Monne <roger.pau@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH for-4.21 v2 1/3] cirrus-ci: install libinotify for FreeBSD
Date: Tue,  7 Oct 2025 09:00:54 +0200
Message-ID: <20251007070056.83423-2-roger.pau@citrix.com>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251007070056.83423-1-roger.pau@citrix.com>
References: <20251007070056.83423-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: PR3P189CA0012.EURP189.PROD.OUTLOOK.COM
 (2603:10a6:102:52::17) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|DS0PR03MB8224:EE_
X-MS-Office365-Filtering-Correlation-Id: 09c271d8-2c3e-49fc-30db-08de056f5797
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?REE3UmN2Y3ROL2hUZEFaUmwwTzlLdWFtK2swV2pycm5UZ290VG5tTFZMelhY?=
 =?utf-8?B?KzE3L3lQc2hOald4UTRIalV1K3ZSYUJ2VUlzM0E4Q2E0eDBWSkNtY3J3YndP?=
 =?utf-8?B?MGV3T2ozdGtVaVlYYkJxVENKN2RyZkpwSFBxc09PenUvRXEwV2xESCtTbDc0?=
 =?utf-8?B?bkpHbXpZb3l3MzZMQy9WSnBvZ0tyNGV4OUdTbDFuMk11UTdpK2ZCeEMwTEJx?=
 =?utf-8?B?aWFkM09nSUNYeGV6QnFJUGlZZUl4QzF4Z2FENDZST1FSampOZUFQZnJXYkty?=
 =?utf-8?B?WFN3NjhtMGtzVUttYkNJaGcvdEtPcXR3YW1qWWJrVCtFbitJbUw5ckFhdnBC?=
 =?utf-8?B?SG8ydTF2SzgxZnBoTmEvbVQ2SDAwVGt2eWNsU3BsaHVUSVUybUZib1pBOVQ3?=
 =?utf-8?B?RVhrQThvSVZaNGNoa0N1Sm5hMExiNXd4TnVGdk9DVmZoTlIrK1R5RVVnaFEv?=
 =?utf-8?B?Y0psV1lIK3U5QkgycGhLaE9uTEFqMUowd1l5Mmdid0lSRFF0V1BTcW5QUXlo?=
 =?utf-8?B?Rm5NanVnODJLMFBERTQ4OE1qOWpyV1h5NVBTQU0vMFBabG5WYmRJdjFSK3h6?=
 =?utf-8?B?WmNjREpZTHNvbmF0T0ZicEM0MElFVUZxdGswQXdTdTg5TUx1K1RNOGFERzNK?=
 =?utf-8?B?SS9pWUYydkRJMWt1OU9wVWpCU0Z0dGNqZ2xWNEpXUVR3U0hCTUphd1c2cmF1?=
 =?utf-8?B?NVNLRFRiZkt5cDZKd0VVblgvSC9udkFwcFVrc0NJZ2hsQnhWb21WVWcxUmV4?=
 =?utf-8?B?ZHZiRTArVmUyT0hhN1VCYWlzbDhvWVkvVWpzd2x2TTZZZ1UvWUR2dGVzcSsr?=
 =?utf-8?B?SWYzYkUwOWhpYlEzUHVRUnB6RXZhL1haMFJ6ZGhyWktUeHlGYUhjdm1teUJK?=
 =?utf-8?B?Z3RtZy83Skp2TVUyK2oyUDhpZ1IwMFJtTWlobDRwakVVSHNHTzJtUFdCeXMr?=
 =?utf-8?B?QThLSTJFR3dEMzc5MFgwVmQzalpLVkRQOWZ2M2haOGNQTFgwOGhyOU1zUllx?=
 =?utf-8?B?bXNyd3NuYTJUT0JiODFhNEFFK05jdjZndThRZXUrdHZxVTlqM0VyQnVGQ1dq?=
 =?utf-8?B?cjJyekJhWTFCbGFVeVkwOU9hYU9pd3R2VGdTa2wyT1J6UnFqUHVmZFZGeTVB?=
 =?utf-8?B?S1hTd1JudjNWL3VxalRyQmYwdzZnaTR1aTk1L3pvUnhKRWNhZ1RxNjRZcEVa?=
 =?utf-8?B?QVdVU1pkL29lN2lFUU56VGNRSkVleXpkdWJmMUdkelhsa0dFTEJ4MGlxcTN4?=
 =?utf-8?B?T0xsWG9xUnVoeDBKVm81ZnNDN2lCQWhVbno2bFE1aUhFOGdtK255WVhnbjlz?=
 =?utf-8?B?QlMzS2MvcVpHS1lpRUM2KzRvZW1uZ3VoRGxGazZETjRRVDRUbkV6eENoek9T?=
 =?utf-8?B?ZDNwd0EzZHE4a2NieGJCclNBRDRvdWI2UkJhdXVGekN2Mmxia2lQQmJRV0lG?=
 =?utf-8?B?eUVNR0picmozblBvb2c2MU14YVZxQnQ1SUFaQWJvS2kydlN1SUJiU05ycC9D?=
 =?utf-8?B?c3JUQlJ1VEVEMFNzZDBmaGxOVE4zNGZHRllGVGNNSjFzdXJ6NHUxbTFHYXZU?=
 =?utf-8?B?c0t0MzRVS1YxejBFaythcHdDVkMrT3YvVVl2aTcxdytWWXViQW1SZ2toWGdE?=
 =?utf-8?B?MGM1UWMyU3ZEdFZUS3hGcVVHRWxHOFRMTDVkeHlWSUNRcGNNYVFTcDBZSjYv?=
 =?utf-8?B?MnZ5cEN6bjV5ZjFmNHlDVnIva084cmxwNmpjRWdvYkg3YUNmcjJEa0U2dklm?=
 =?utf-8?B?NG1sTmdQODZSNHRsaHBmcjVDbHZKWTR2bjNacGVoVGZHL3krdUp3MzRQL2Mw?=
 =?utf-8?B?dEk5SEtPT0pVSkt4Y2I4a3JRcGtnNnBWTkJPWEpFRFUvQ1dxT0hMRHcwbmFz?=
 =?utf-8?B?YitrRkFKYnNnTnpmMVI3U2E1cE1lQUlhMnNzdzZ3V0g4Uzl3cU8vL29Hbm1E?=
 =?utf-8?Q?K4sKw3iOVL2XN7XP9xv7/CaE/al2tJqi?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?amsrYkkyR2Q4aDQxZHhPK09CdUxxc3dWYVlmRzFwMjdENWJGcm10dkJNTm5X?=
 =?utf-8?B?Uy9CK0xaWE5uTThEYUhlVFhKQTg2ejhDR0JBVzhucFNYZ0R6SS91NkI3RTFl?=
 =?utf-8?B?Uks1UzZaMTdnZHZEUnRTenlObGNWYVJEWHllRS9JUzV2U3d0WFNxRS90Y2JB?=
 =?utf-8?B?TmNZWmVBd0pEbzRRSDFjVzA2MnlEQ3ROaENPNEpyU0dPSnNvbGFWb1NvSjlF?=
 =?utf-8?B?d1hKOEhiUjNEeU5KdXFRajdzQy9yS2RDUkhrVDg4L0dhYkFOcnFOUnNqeTM3?=
 =?utf-8?B?R1JtcEtVNHE0WlJmR3UrSnprK2lQcXBxRnFqNkRHUlVYSktVMTdZb3NCR2w0?=
 =?utf-8?B?djA2RS9kNUxrdHZNSFJDU0VtbXhFdWZ4WE5pZG9EK1lBYUFjcVozNGo2cFRk?=
 =?utf-8?B?eStNUnl1N0RXS25WZ3p0Wkppc254cWtZZno5eUhMUGVnUDZPb05NMFlERStH?=
 =?utf-8?B?Rmdub200aGJ0dll6VE9CRmNNU1o4UnJ6dSt1VVpNQWYrWFpuZW1PV0xtKzVr?=
 =?utf-8?B?eTVDaHVYYVNYTDk5bG5rK3lLdCtyS0xzMkFRRERpZ2V5c2E1ek44bEdKSzA5?=
 =?utf-8?B?V1d0RzBXUzlqa3J3V0lEUmU5Z3JRVkZhK2c2NmdSakh4U0E3dzltSEtsVjEr?=
 =?utf-8?B?UFlhdExLWmtGR015RVlsR202cnc2UTdSek0rbE5qZDRKb0FNNjJ2ZzNYQkV1?=
 =?utf-8?B?YTlwOG5TZmlsZ0ZBMkRaQ1k4NldXVXNjYU8xOExNR1VRZzJCVy8ydFRCL0RG?=
 =?utf-8?B?YTRLUkd2TDc4QTJabTlxbGtEbS9HZkNhZ0lmajV4LzUyVVdHb013MHIrU0tE?=
 =?utf-8?B?Wk5IbElkSGFCcXhkM1M3cE1YVHorcmxQRWRnMGRFSndqSGpvUTRYU2pYbDNz?=
 =?utf-8?B?VE1ER3AvWmI4OHpoOXRKZWlIbVo0OWdBb0grZXNZWG1QSGdrYXl2SXhLR3Qv?=
 =?utf-8?B?QjF2NFlXOGFTZWF2aytNQlNVTkV6bjQ1UytiSjdkVktQdXljU2NyOHRLbXRh?=
 =?utf-8?B?K21LRnVwTEc0ck5laGlYdWhZYkNyZmRXRzAraytKUy84eU1xMnlWV0R0Mm1G?=
 =?utf-8?B?S3Q4aHlEVmN4emdBQ1pvcVQrWkduQVVGU2l6aDJBYWhsRHRuY2ZmUWZZQTV0?=
 =?utf-8?B?Nzd4L05Cclg1UTVGZ0IxYnB4OHFoVCtxV0NxcmpCNTB6c01ucENPUUx1QlQx?=
 =?utf-8?B?QUNWTzErMnc4K2FySGh5Tm95ZjFzZCtiYXE4QjUxOFBUTWMrSlBoZjhudXJC?=
 =?utf-8?B?YU53dDFlbVZQSHVFMXpwNk5qY0gxNG1rbHpIMEh3bjkyODlNRUVxbktrYlZL?=
 =?utf-8?B?Smx4NityNm9oaGZFOXYwdi9hUi9HZkxrY01GSk0wMjNKSnF6MVl1c3N0azFK?=
 =?utf-8?B?MFVQU0ExQVdFbHVyZjFsSllKUk1IS2xiMWRETFl4dDZJNTZkU0Q0NFhCZlNO?=
 =?utf-8?B?dUdKUWlaNEdnSURJZTZ0TXpyZjVwL2FocmM5MmQxSWluaHZTYkhnMktwemha?=
 =?utf-8?B?ZFFBNWNDNVdvR2VaaEpsS2RuOHNOZlhFNlR3SStteG5CQTNpUXVXMUhsLzdJ?=
 =?utf-8?B?Mmc0OGlEVFFFLy9YeXNxNUE3Wko1MTdNMzVVS29DMzlDaFBPejM5aEhTcjRU?=
 =?utf-8?B?ZG5OazRBVzN0ekptdDFXNEFlNWIxUXBKRGZnc210cEFvaU5QQTF4NUhpd1po?=
 =?utf-8?B?ZlE5V2huNVRheXh3Z1QrdFhXbThqOXg0R3kxRC9qQmxDSjRkY2NqeC9ieTh5?=
 =?utf-8?B?SjhvRzRCa3g4ZFZqcGhpOVJYWXJScEtHQjQ0U211WDRvbkRNTHRuMCtsWUc0?=
 =?utf-8?B?dTI5V1V1K0pwK29vaXFSeVZML01nV0ZZMXdhR21pdkJsaEZFS2hKZ2xoK1Fr?=
 =?utf-8?B?NU9XVEpjMGQyU2tPdUZYVFo2dlIvL0lwSkJZVXFVZVNTWXFtSTBPcXhCMU5y?=
 =?utf-8?B?QU9GOEg2Vkh1SjBSdVVMVFYvd1Y1eUI2TFRTdnlRNWNEZW1IQmh1RnVpbmZ1?=
 =?utf-8?B?WTJ6MVZqcGlUbnZKcFZRanY2Ui9LbThUNEVVd3JzRHpINzBJS05XZUJOQkZW?=
 =?utf-8?B?dVVTWVhJZjYzUkorbWtUSWpFK0lXREtBb1EybDFOa2h0RGozeUFPcThUQjJV?=
 =?utf-8?Q?a1Iu7o9k3fDVcvxgKow67Bhak?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 09c271d8-2c3e-49fc-30db-08de056f5797
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Oct 2025 07:01:30.5482
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: FJsJaH7GhFSdPzx9cgwnvZH9lTd/5Y3G5r9k900UQ5fpswXrRCb55iGovi0fJs49kgJ0gq5bxePRsM6U790iiQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR03MB8224

FreeBSD QEMU build requires libinotify, otherwise the build fails with:

./qemu-xen-dir-remote/meson.build:2535:15: ERROR: C shared or static library 'inotify' not found

Install the package and add the /usr/local include and libs paths
explicitly as QEMU configure options.

Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 .cirrus.yml | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/.cirrus.yml b/.cirrus.yml
index f295c8cb0a02..10d8371ccc38 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -51,11 +51,12 @@ task:
   install_script: pkg install -y seabios gmake ninja bash
                                  pkgconf bison perl5
                                  yajl lzo2 pixman argp-standalone
-                                 libxml2 glib git python3
+                                 libxml2 glib git python3 libinotify
 
   configure_script:
     - cc --version
     - ./configure --with-system-seabios=/usr/local/share/seabios/bios.bin
+                  --with-extra-qemuu-configure-args="--extra-ldflags=-L${APPEND_LIB} --extra-cflags=-I${APPEND_INCLUDES}"
     - gmake -j`sysctl -n hw.ncpu` -C xen clang=y defconfig
 
   << : *FREEBSD_CONFIGURE_ARTIFACTS
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Tue Oct 07 07:01:41 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Oct 2025 07:01:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138519.1474213 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v61hd-0004T4-Ne; Tue, 07 Oct 2025 07:01:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138519.1474213; Tue, 07 Oct 2025 07:01:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v61hd-0004Sx-Jz; Tue, 07 Oct 2025 07:01:41 +0000
Received: by outflank-mailman (input) for mailman id 1138519;
 Tue, 07 Oct 2025 07:01:40 +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
 <SRS0=HvEU=4Q=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v61hc-0004Br-UW
 for xen-devel@lists.xenproject.org; Tue, 07 Oct 2025 07:01:40 +0000
Received: from BYAPR05CU005.outbound.protection.outlook.com
 (mail-westusazlp170100001.outbound.protection.outlook.com
 [2a01:111:f403:c000::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 77f899a9-a34b-11f0-9809-7dc792cee155;
 Tue, 07 Oct 2025 09:01:39 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by DS0PR03MB8224.namprd03.prod.outlook.com (2603:10b6:8:28c::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.20; Tue, 7 Oct
 2025 07:01:36 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9182.017; Tue, 7 Oct 2025
 07:01:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 77f899a9-a34b-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=JnB3cpuaLGAZO40oiAGqjyyOFML6BWr3tkG71M3byMRDKeumaPF8pwkIxdSm6AcOPmgDeN+J/16SI30nlmhhg2+JZh8xcPga0C3/9iMzvmQN+Vw3QpNxm76G9marBbieIIPhiGmTUJ11vkMyCQMxmEIBUD1POjwoGmkf3Lj+E7VDvLiK+TCg0n8uiFtLj/2dc9npaHocpkCV3o1BnQB8GgKGVVdQpBW+sauRoincSkhLuV6BDmsZ8LCjaYYN7teVDPlRnVbVxBSkFs3eYscVUDRcTueZefLQLrpQqj3Nau/FfGhQ57fa1wmdUURh3Q1DQfMRvmAnRuR0tk4V22ArfQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5rt/WxD6Gdd7rLdutxff+o1yeRD3SJzgEDdXFlgHJEU=;
 b=gId9IfyTmPfUboDkC8zHdvesSopOqztdU3wEMH5WO6szdav0kQmlJOMuLFMKeVoGhVnVc5Teu0RxCiD8EoF6yoW4e+Hx3Wv07eJyptcB2TbJHCPxZYunGjHg9bsLykIbZXqMUoiqP9L0jCYE2AYpIm0gh4IcEai8j8GtIxJBIpbuPzfC0wHmzM41GHzYFHTlw70ZiA3psKJBwoixm4TH9QL3nSgEZoWt+hLrw0R6rswuppHMC0dcoQ1FahkHb17G46z3ix4eS09iT/ykBvA5B5r67v6qfA+Y0tObt1ins+dCB6Vw6hQRN2e+4JKRqwEzk7BW8E01IIS0DvJKaM1ZkQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5rt/WxD6Gdd7rLdutxff+o1yeRD3SJzgEDdXFlgHJEU=;
 b=MI96JZgHEmgQX4YvNWEfe4d9AHAjQJXjn/wlnSEzqTeVz/oyJ0v2u7O3eNhAY4/TlQQh1JcCEUtNfqvCV7MtAKfS9Ng0z+kDRBGgx5E6ch9Hdl01QIDSpEwjGJf39hIOeMKruJppA2JKP/r62RrjZCEPMQL1c0lbm7L+p1m0MR4=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: oleksii.kurochko@gmail.com,
	Roger Pau Monne <roger.pau@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH for-4.21 v2 2/3] cirrus-ci: fix bashism in the test_script code
Date: Tue,  7 Oct 2025 09:00:55 +0200
Message-ID: <20251007070056.83423-3-roger.pau@citrix.com>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251007070056.83423-1-roger.pau@citrix.com>
References: <20251007070056.83423-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: PR3P189CA0078.EURP189.PROD.OUTLOOK.COM
 (2603:10a6:102:b4::23) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|DS0PR03MB8224:EE_
X-MS-Office365-Filtering-Correlation-Id: 0931f642-4090-437d-681d-08de056f5ae2
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?ODRmNXRITGY1TEZjRGpUV1k0dm1JUHZqbEVMNTVxdnkyWTNaTFgrOFc0VzN4?=
 =?utf-8?B?WVhKa1VzUVFRdnAvNjdIOEtST25xdWJvSGJBN0R0RTdmUmJ3aUVLa1hFOTht?=
 =?utf-8?B?aFhEUnI4U1lYV1g3T2o1dGdiZ2dKTVBhdnhjMktjS1pyNlphS2hCckZCcDZ0?=
 =?utf-8?B?bFlPdDd2dnY0RitRa3ZOVS9lbXZnZlVIOVgzMXM5dFJNMDM1dGtyVEVLZ0Jx?=
 =?utf-8?B?emZNWnBUQ0IvbGtKaEpUSGM3WkdRbFBWTEpSbDhzNS9MTzFjQ0VNYlRWdkxQ?=
 =?utf-8?B?NitrMkZKUTkySjJLUEp4bmVyczgwS3NxYUUvM21vSjRTVytad3RjOEhMV3lI?=
 =?utf-8?B?ODRHMWRGOW1Mc3hlaTk5MTdTaFNwbjR5dEIwSmIydjFCSnBKZFdEQ0FFWlJ5?=
 =?utf-8?B?eWVXSW9RL2FuYkxKZm9MbVhzVzl3b3BPMVFacFl0cEh4WE9PWENqL2llQ0F3?=
 =?utf-8?B?WEpKMkQwRWFMTk1mcFpZTXBIclVlZ0xZaUpZeWd4WWVOcU5UTGJZYWVkRUwx?=
 =?utf-8?B?RUlpRzU5UWZackpJYXV6R01VR2owSnZ3Rk9GV2JCK1c2M091dVRRMktrRElv?=
 =?utf-8?B?UU8wbU5PeHVzc2FtNElzNzhXeU45ei9rbnZ6Rm9tUHB0UGpaekV6blhpMCt6?=
 =?utf-8?B?TlZVZisrRkpPdHFVbTdLWnBrZ3BZck40TFNKYUc3aU0xZXcweDBlMEliQitE?=
 =?utf-8?B?WmovVlYvOFErNnlhZHNGMG5rbGFHVVNueVg4emcyNHh6bmhIVFpHNWRGeHlz?=
 =?utf-8?B?UU14MjE1eDViRlV3WjRFVFB0ZU9EWlNubXVQZ3lqdDh5bi96ZStPcFpoMmxv?=
 =?utf-8?B?ZXpUQUZQc3dWZlVRY1Z3cHE1NURuYjlCNVhyNG9IVlRmS0xiUUdkMUs1aFlF?=
 =?utf-8?B?K1hjVUVXa0VVOUxlYjhqYUtEL09DVUpiTlRkRldadzlwWlhBclZzTkVXbXhw?=
 =?utf-8?B?Zlc3RHVSM3N1NlU1WGFOU2JkUzZrTWdKTkN1RDdrc3hQNlpCOEU5ZS9aU1BP?=
 =?utf-8?B?bThTbkJvM2dvcVpwTTBta01QNnBJbnlsQUtMSXpGR2o1aG5yZW5odDV5eWlj?=
 =?utf-8?B?RGEvc3RySy9ueld0QzEwRjhoUElYOUlsZ0xibk0rT0VDeGFkU3lDaWlCam8y?=
 =?utf-8?B?Mm5nTUhjMnFwNUdWNC9HL2xIY0VBekJDY0ZTTmU2cXJ0a1pjRGdJRnplU0sy?=
 =?utf-8?B?L3B1YWZrL3Bncy9yTmh1UUkxVWxMVFZwZVdGYWxFVkVhSW0za0RqQ0NIaVBP?=
 =?utf-8?B?T3YxWnluY25EcWU1MWRZd1Q1QkdtYUx6UW9xalZUclZBU3NPWmxmc2NLS1lh?=
 =?utf-8?B?U3pxRE9EK0QxUTAwL05MOEpQT002eS8xTGJNSEU2Z0oyMHZSVkNEbWNsSTlO?=
 =?utf-8?B?TEJ2dENTVVlRZFAwN1hINlhmUWVkYWZyaGlwSjNjUEd4c3lkdS81VVNZYklD?=
 =?utf-8?B?dDQzOGtVcFE1OHZEelRNQnU1eHFLOGVmVVVyTUtoZHVZVmxDWUJxeWxSSHlW?=
 =?utf-8?B?SFBMdlFRcVpWRTd5TDNTRnkvbWtVaHN6OTNkdThqbmFLcW96SGhNWXFjY0VH?=
 =?utf-8?B?MGR1Q0ZFaUFOM1V6Mk5lbHBUem1HZjZPdXZySEU0N3ZOKzYrU005cDE2ZU9w?=
 =?utf-8?B?TWx5SGlHeGpGejBIdC9nY1N6bVhJcVJaY1Bnc09YVlRCNWVNTnVMam9HTFpP?=
 =?utf-8?B?R2hVZnM4cnhDQThsRXc4THNCY0xQSGhiK1hoN3RyZERhL2RpYUdKTkxBeXVu?=
 =?utf-8?B?c2VkYW9sQUFGRjF1RUFkVVZCYTlkaEtqeXh4dkhRUFR4VG1LeUUwOVVNaTg2?=
 =?utf-8?B?Zk15R3ZoSEVXNmZvZ3VhSzR6NnhJNWFlNktmd00wdXpxMDZ3a05SUXhYM2FS?=
 =?utf-8?B?RWNGZGYvZEV5cnhwdVo0dTBjQXYwbVcxNEhGRnJNMEMzOFZ2NFc5V2tKUTJM?=
 =?utf-8?Q?V9OCqiWiLAj+k4MhYsBgjY1KFbxCs7YR?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VElMelFqRThUdjZwN3Jaclh5K3lxZlBkQ1g3dGZFaHBmaW1GcUZTNWR2S3lP?=
 =?utf-8?B?b3Zob0ZSNGxTcXlzSkNoNVlNd0NtSzRwYlNlVVNqR1FHRWxuR0syczJyWTl6?=
 =?utf-8?B?Y283K1FVUXpQNm5wT2hUQ2ppblhHekxtVjBMVHFkNTdjU3V5UkEzK3NvRW01?=
 =?utf-8?B?T1ljMFViT0FOZ3NOTUJyVUJPSTFRd0lzOEdnWDZKM1p3d00rWEwrcUEyNGhs?=
 =?utf-8?B?OEFIbStkUE9zMTd5SVBsOVNla2VXNis0bTR1cW12TmxnOUdqQ0E0M2lBODhu?=
 =?utf-8?B?VGcwTjlIT2MzbjZxdWEyUEk0LzZIbSt5Ym9mUzBqbWUxdDBRS1g0N3N0MGs0?=
 =?utf-8?B?RmpEMlpxUmtMQVkrM1NMTjg1Z2cwaGg2amJwdkgyN2V4M3ZBV0dMa0hIZGJs?=
 =?utf-8?B?enh6Ny9JOWkyWWw2NTVhQUwwaGpSYTMzRkJHRFJkSTQ5ejNNS0EvQzMvKzNB?=
 =?utf-8?B?YjE5b3RpTXJ2YzkrZlBqQ2xVYk9WUXBZeCtZdW1mL3Z3MTFPYTIxL0lvQm40?=
 =?utf-8?B?VXY2QVJ6ck80US9pR3JaeVpsSStRWDFOazBMUDIvMTFlVFRQbDVFS29mS203?=
 =?utf-8?B?V3IxRlZsOEVHNGU3TGNpeHR6NXpja2t6cUpvUzNMazhYaitZZHgxeGhQUi9H?=
 =?utf-8?B?NVhIM3JKTVo1MmkrVnB3MmJTblJUMDU5aDlORDZOMGh0L3BvVVRHWFVYMWVN?=
 =?utf-8?B?RUNXNlRLVkFrQWUxa0c0a1Jld3FTR2RiTFI5aDBXMXZyc1VUaEFYYitwNTkx?=
 =?utf-8?B?MnV5SXFnZzVKUUhxQmpHTThIK1JnRkhQcnhOcm9qaWg3SkRjOStNZGlneCtE?=
 =?utf-8?B?WG5FSGRlUlo5d1VOMW9YUWsvTisrTVdZTmJQbnI0UkkyWTJGVVhBbytrcmVn?=
 =?utf-8?B?WHZwVk1zcW1CVDQxVXJEb24xRDZYZ0FBWGkzdVNqTHRVS1lYaDNQNzJDRXRX?=
 =?utf-8?B?dW9oVzl1ODB5TWdmLzB4STRtOER0YzZsK21GWm5sL2dNMEpIM21LK0sycmtD?=
 =?utf-8?B?WkFPemprNE5YZnp6a3NKcVRpMGRFMmtvWjNSbHRPeU0rUDlFUHFkR3doRzZm?=
 =?utf-8?B?ZG5wNTd0d3cxeld3Uk9sM2pYazZWVzlxUTY0Sml0enlhQ1N6bHBOTnNWM3Qv?=
 =?utf-8?B?RGxEQm5vOHlPMmxUT1g2ZWl2TEpTS21hakJmOXJRQi93MXowYUVuaFhVWjR2?=
 =?utf-8?B?ZmtwZWdTdU1qN1lKZmZnNUhpWlVxSFJWTDUyOXFoQVQvM3ZSUElFWlZnSTYw?=
 =?utf-8?B?NVovY3lCWTFYRjhBTmExS1V5VEtZQTV2SXZaQk9hY092bUNydWpQbEZ2TnlV?=
 =?utf-8?B?amt2dW9vYVlhOHlaS0UzR0RXY096OWJJMTlZOU9RbkZ6ZDVpUjUzUnA2bk9P?=
 =?utf-8?B?dGhqb2kxalpOemVmbkRsN2JYWHY3NU5CTGkvb1dvbGJXUVdqcmdXTWJMYzRS?=
 =?utf-8?B?YzIwRXZBWERmVkxoYlViTmFQTm1YMTBPVWNRbHUxeEx5L0cxclJNRm1iU1Y2?=
 =?utf-8?B?Nk9LNXh0K1RaQy9ndHkwQXlFUFlXYmtQbFhEU09HeHlEVkdBRW9KK2RxTmM5?=
 =?utf-8?B?aVlqTUlrbCtvU2FyRUVnenRWUTFtRUtxQzhQUExaZDRkQ01HeVVrTVExaDdK?=
 =?utf-8?B?RkVOd09pdytDOWpHZkpQbnBYMzNqQzNqOWZEdWh2WU9UeWYySjZEK2J1R056?=
 =?utf-8?B?TEk1cnZmTjEzQkhOQUN2bGxSM2VDdUNScEJYUFZMb1JqWmZYcG9WSm9ENDlB?=
 =?utf-8?B?dXdpQVo4V0pxK1VnaHU4U0lhc0IrUTdSTDlYNjVFQVJPUmVINUt2SGFnYXls?=
 =?utf-8?B?bk05R1VqYTZIZVptNWM1S0JRa21xZEtaNkcxR2lPN2tFUm44YnNjNTl6ajk5?=
 =?utf-8?B?K2hURnBTWkNDVVVpTXJtQ0ZRTCtoeFZZWmFDNTdFeDZBSVhBVWVlUjgrRmxQ?=
 =?utf-8?B?OHBkR1Jia1FyTEVkTllOYisvcnpSNEtqVEtkSk5CTnhKc0ZVQnZZSXJuZ0Mx?=
 =?utf-8?B?b0FEd1lmd3hncHdGWUhtN2xOUlNmaTFXOWRlN0VxTHFlUWlURnMvU3Q1ZEFo?=
 =?utf-8?B?N05mRGE4Mzk2VHQ1K2lPZkRncjVGOGhTR3dzeVdQUmFBU3cvcndpWC8ySHJn?=
 =?utf-8?Q?QrObxT+9plHUcuOsqAdUBgFIW?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0931f642-4090-437d-681d-08de056f5ae2
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Oct 2025 07:01:36.1068
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Q8tmqUoMhGHbMPLkFNLYd8U5jp7lf7XsO943OCOhW13SczxcwJsNxtF+YHbhIZHsVSIDVLy6sw0e8ofSqzq5OA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR03MB8224

The default shell in FreeBSD is plain sh, which doesn't support the usage
of the '|&' operator:

./automation/scripts/console.exp |& sed 's/\r\+$//'
/tmp/scripts34c427adc6599db29cb91221a0939d85.sh: 16: Syntax error: "&" unexpected

Fix this by using a redirection of stderr into stdout, and then a pipe.

Fixes: a406195c15dd ("automation: call expect script with redirected standard error")
Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 .cirrus.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.cirrus.yml b/.cirrus.yml
index 10d8371ccc38..30108892b751 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -167,7 +167,7 @@ task:
     export TEST_LOG="serial-${FREEBSD_BUILD}-${XTF_ARCH}.txt"
     export PASSED="Test result: SUCCESS"
     export TEST_TIMEOUT=120
-    ./automation/scripts/console.exp |& sed 's/\r\+$//'
+    ./automation/scripts/console.exp 2>&1 | sed 's/\r\+$//'
 
   always:
     serial_artifacts:
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Tue Oct 07 07:01:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Oct 2025 07:01:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138520.1474223 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v61hg-0004jv-Vx; Tue, 07 Oct 2025 07:01:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138520.1474223; Tue, 07 Oct 2025 07:01:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v61hg-0004jk-SJ; Tue, 07 Oct 2025 07:01:44 +0000
Received: by outflank-mailman (input) for mailman id 1138520;
 Tue, 07 Oct 2025 07:01:44 +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
 <SRS0=HvEU=4Q=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v61hf-0003wm-VS
 for xen-devel@lists.xenproject.org; Tue, 07 Oct 2025 07:01:43 +0000
Received: from PH8PR06CU001.outbound.protection.outlook.com
 (mail-westus3azlp170120001.outbound.protection.outlook.com
 [2a01:111:f403:c107::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7aa6c4cd-a34b-11f0-9d15-b5c5bf9af7f9;
 Tue, 07 Oct 2025 09:01:43 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by DS0PR03MB8224.namprd03.prod.outlook.com (2603:10b6:8:28c::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.20; Tue, 7 Oct
 2025 07:01:40 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9182.017; Tue, 7 Oct 2025
 07:01:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7aa6c4cd-a34b-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=VMhfGwN/7RUKsBIVSCmhNS+BKAgpff9cIWiGlSV8aNLsfVRJMnJsnsimFFqjjG4cRmNLfBdB/PqBVEITJXo0rfiTOAif5C8TP8MdJ8MSDyu+W5Dlc2eQ+lyjR3H0JgEVmHD6dUfZl35ytL50uHwgYZRSILbG9iFo5ZLE9ckh64d/lvYORiN8NZ6/MrnFGAo67X5nS3a5oNOg2eJCX6zj5S3lHBRsR3mv9nOFvfuYlHw0efhJBcVC2LOp7tPF3X0/I5duUP6vccnsCtb3UEGsZGIHIFpWwzx2xd6SuddT7ESQ7JuQ3eEEUDsKbNLdGvOsyrzJaDgs4osqp4hpxFbzhQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JQqnAeZ7dYF5Jd6lum83qWIWjAO069J3ZPgresUmxAI=;
 b=y9zOmr46bfXuE9gZlqgDxW6RvC5MnVnSdlYjH2jmCEhYbSh5YJN4iPl8ZgbrUwmiAxUSTkWPPxQ/6zgJ88cITb81SaOjmelETsEul9c/NN97IkFrCTVxZbMqDsY8LLn0Eank/y5KSSSXqZVLwC2S+IaBl7W/XfziPty36hJFxX7lz1P+b1al0rziET/y37Hobx91ZJMUPRkavtVu6MHBsn0G9qeKdOrcpNequ7J6YBdOEjDQ44kWFVuzOxClaT34uheXAzCyBtVgUE/fDvK94cVHHZigkZBbp3SD+gw7IiTpouin8fk7IQ79hCsQ0zwXL3UIm9BmsjtQfNUQpklq0A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JQqnAeZ7dYF5Jd6lum83qWIWjAO069J3ZPgresUmxAI=;
 b=B8H7BRXFdO11XHKdqNMK8nfRw65YdgO1kTuZ/X/4g2qo6xkN+1AeqI+dXw/JQgE+LCc+WjPk6QILjbj5JJra6mvFwEyu6D5t0ciTYbR034ofnRp9HCfK2ixerdp+T9NP9Iu66eR9LcmGqA4MYllPR9lW3u58AjTzmm3crQiBE9Q=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: oleksii.kurochko@gmail.com,
	Roger Pau Monne <roger.pau@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH for-4.21 v2 3/3] cirrus-ci: bump FreeBSD version
Date: Tue,  7 Oct 2025 09:00:56 +0200
Message-ID: <20251007070056.83423-4-roger.pau@citrix.com>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251007070056.83423-1-roger.pau@citrix.com>
References: <20251007070056.83423-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: PA7P264CA0424.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:102:37d::24) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|DS0PR03MB8224:EE_
X-MS-Office365-Filtering-Correlation-Id: d4214920-dea5-41a1-cb21-08de056f5daa
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?RU5FWDJmMVhUSUpVMmxYNTZ4NU9Cc0k0aVBLTWhGMkVRR2VHRU12UjljR25Q?=
 =?utf-8?B?cVo4bU9VZ2Y0NE1Gb0RHWFA1QXdQbFVMOEpvSythRlI5TmNkQnZOM0RjVzhE?=
 =?utf-8?B?YlBGQmdsSFVUcWVCRDBxdWVOZFg0Z29wcnZrVVVMQ1dOcnp4UlJPVnNPNnQv?=
 =?utf-8?B?M29TdG9KZnlCdkd0RWZLSG9hQUl1Ym0rSmIyc0M4cURYZkJiTXZVMURvYTN5?=
 =?utf-8?B?Zk8xc1o2K00vQ0JuUXlZWjkxQ3RYcytkZURFMWpVQ1JCemNJdUFFYzNURlJ4?=
 =?utf-8?B?U0VvNS9WZ0NEb2s3a25nTTQxZjYyU0FqQXFtdWVrZnVMRnpYNG5DYTR2a1VK?=
 =?utf-8?B?aWFCQ2gzc2ErQ2gvSnNqemRraWhCUG9aRjlTdDRTZmhZVXNlY3dPN0REU1lV?=
 =?utf-8?B?eTFrYmhpQzFwYURXSUU2dTc5QnFiZ2hTSXJ3MFhlbENrdzYxZ1ZkazJrcWJE?=
 =?utf-8?B?a3lneUxOWkMxdUNCM01vRHhoL3d2RUl0ZnRac2d1VlM2SWFUUG5xVlJ2b3Z0?=
 =?utf-8?B?bGxJeWdrSWU1VytEZ24xeGRZOEFjRVJSSkp6cDhBVUJNcW85a3V3d1dHaG9i?=
 =?utf-8?B?Z3RuN2FHSDlZWkVpTnNhSFRNMDgyd3NQRzA3U3RTVTBVY2orMnhFdENSTmhp?=
 =?utf-8?B?dGd3T1JBSE9wWDlpSHEyYnlRYW1jVUU0ODJ2VXBSTWxaVUovUU0xVi9LVnFE?=
 =?utf-8?B?Z2NTcjNHM2E1S3lRb1BJZTlxOUhCTDc3VlUrOGRoRFVQWG1aeWZBTVdXdDgx?=
 =?utf-8?B?QjdjZHdQRmRLNXlpemJwWFI1TU9BMXA1eUlzQ2ZNaVRBMU1YaCtyRTNPK3dS?=
 =?utf-8?B?TmVxNFczYWFyR1IzOVYvcVdLa1NYdWU1VTkyOWtUSEpEbmVqVVh0QlFSQ3Vn?=
 =?utf-8?B?dEZ6ODBEZTd4R09lYWRqV1JXRXM1STBSU0wvcXFRZHpFUW1LdHBwaHIvLzIx?=
 =?utf-8?B?Tldpa2R6WXNWK25yaXhPaGlxVjZXRHVUakR2bmNrL2dwWUZOU1NTSmlVVkpW?=
 =?utf-8?B?RGVTbmhiRk8rL01NOFZOcTJ1VWJ2U2xIblZJOU9ma0tMcTJxNExXVU5iWmNE?=
 =?utf-8?B?dXFZTlhCam1uVFVtU1E5emNDbithTytvc1FXQmxiVjhiRXFXUDMxNmw3RHU5?=
 =?utf-8?B?NG5VcHJQKzkvNTVYc2lDUVFNd0NOTzN6YlQrS0FDVWVKTW8relVpN29KTi8w?=
 =?utf-8?B?SGpTdzdzaGh6MzY1S1NmcSs1bU1CaUxRUy8vV1UwTmVrN05mNXUwQnBJVlRu?=
 =?utf-8?B?YnE2MHg2QzZqbUJiTmFJaXRFNCt4dERlWGxucWJ6M3YrVUJiQmp3YW9XWGw4?=
 =?utf-8?B?eUlZUVhGV1llMWNjU3dvWmFDVnFkYk5VQ0Q3a05wNnpwYUF3bmNvZml5eUtM?=
 =?utf-8?B?eitKOWpUS0JqSDc0RXFIQXRhMUUvclRLZDkyYm9QRUdHb01MVDlEQzhpUzZj?=
 =?utf-8?B?RDRhSUQ1Zk5JaVYwUGFuYjZHWFI0U3N2OHU4cWpGOFNOelRucXlnRWVydWxG?=
 =?utf-8?B?RXNneFpTdStCYVUyTjFrMVhQWmhsNnM4YVZEV28vOERpdmk1SW9LWWpTU0pn?=
 =?utf-8?B?UnpZM0RxN2hsbG5sNXJxcWcrN3lwZ1hPQTQwMk0zZWJ5ZnduelNVeGNScjVu?=
 =?utf-8?B?QzhXZW1RRE5MbnRuQWRTMFo5TjZ5VlhwK2xObmdFWmt3SU0wNDRUa2xrQzZL?=
 =?utf-8?B?TTFGRkFXb0JPbDNMQUpSa3U3SVRqcXcwMXQ0SkpKMEZRaVRyQlM5QzhTL2ZQ?=
 =?utf-8?B?eTBlN3lteGpJcUJaSUFaL3BRM1dwQmJSbjIzV05pTjNtYXdkdmpmakJWdjli?=
 =?utf-8?B?RCtMOVc3VVcxaURYQURsa0I3dXRrT3dPTUNid1kydERleTZJa01BTDJWaU9t?=
 =?utf-8?B?elRwYTc5QU5lZ05TU3FCK2FkSFpXZ2JXYytvZnNjT0FoQ2tCbjZyWU9CV1Bh?=
 =?utf-8?Q?lmW8XYIyoboHwbdOpZuZkbYzob+Wo+v8?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bm1vUXM3NDdhT3A4SVdoVlhtdjcrOGYrM2g3dzRUWEg4NEhwZU1mNVFYV2sw?=
 =?utf-8?B?K0Q3SEJUSEtPMkw5N1BOa1h4d1RLa1RQRTd0UlpIUUYvOCtKNG5tVWlrZis0?=
 =?utf-8?B?U1hOT1ROVlc1M2owVi9vQ1FFcVlOZ3d6Q0RQMzZzcHlnSkxpd21tNHJPUjlJ?=
 =?utf-8?B?R1R2N1VlUWhGUWFLYVloSnBjV3NxSTM3dUtyd0xuMlo2OWZWeDRJKzFlclBR?=
 =?utf-8?B?NzZkZ29rRHp4Nk1sNGdOTG0rSkg5RVVRaGQ1aW9hZmc4Q3BWR3k2dGJDTVZ2?=
 =?utf-8?B?aURqSnpHN05oNUllcGtMN1FRVitEdzUwa0NTOG5rbEhiMDNLSU5qZ3VzdUdE?=
 =?utf-8?B?a3lrM3RZNXZ1TWFieEEvZWdLQXhlUDhwczRyREJXc1FRYWdPTllLOXdRcFpX?=
 =?utf-8?B?T252WHpoRE9vc2YxNnVuVTR3VkxUeUxkWk1XVlZIaWhBOEpQckJYcWF3QWpV?=
 =?utf-8?B?SHR1WWoxUVZDaGFtUFBjdUUvVS9SMXJmbzBDSFlqZEM5bVZZTG9JSjBlcHc1?=
 =?utf-8?B?MVhrMS9ZSVdiKzBxeUJpcFRDK3g3KzZxMTUxakk5UEdFYk8vSWVxendDL1hH?=
 =?utf-8?B?cGp2MkllSGNOSnhoLyt1ekQwa2pvckdCOWRzd2hmZTlJRFFNL3FGT003eXJj?=
 =?utf-8?B?ejZQVE1iVHh1V2xrR1JTN2xud1BGYXJsR0hwdVhITDhBZlNmdFNsQi9NY0NM?=
 =?utf-8?B?TDRGZGg3eWtMU21HUnBsanlMQjhoSFVvQjA2NlU4em5JelgwVEdoMm9acnRx?=
 =?utf-8?B?c0V3Z2U2NW92aUI5d3VnVkU5aGUwR3JQVzA4aEkxb3dBTjdrdldWaG8vdk9L?=
 =?utf-8?B?Nzc3eXZoY20zcHRBQzVtQkgrdWIyTzlFK0hkZjdxMzFSVzZ1amJIVXNmM0U5?=
 =?utf-8?B?SDduNzQ1MnhCb1BTTFBDQnBUeVlYeTlhY2l5aDFXWjNXNjlwSEN2ZEFLOXI1?=
 =?utf-8?B?YVlEU2l0bklOdDhOb0ZqK1d2QXNlS291akdLSm1SdHBWSlg2R2lFcWZ0MDFs?=
 =?utf-8?B?SDBqcDZQS1BTZktNOWhwREszWk9WUE9XRTd2ZzZYU0wwRlZpOTBTSWhjYXZ4?=
 =?utf-8?B?V0VKejRWOUhDTVV1cjZrNlNFbzBHYUt1Y0ltMUpLVjZ5VFhYZUwzN0xrVmxU?=
 =?utf-8?B?WTZhY3d5OHgxekt5NEtGREtwYjltdkkvMnZUcGxkbFNma3VabVdTR0xHZ3hB?=
 =?utf-8?B?bXE0NXFqZEcrYmlvT3RpVVhDMHpGU2N3K3FpQlk2dk44UG1ZQmI5VkJ1cDEx?=
 =?utf-8?B?aHNqeFhJTEFxNGFHZXN2Zm5qbWRRSDE5eXhSa3hsb3BhYmpTUUFvMEMrYStG?=
 =?utf-8?B?N1VRQmpWMS9aSGtTRDduamg4cy9LdG1IalNsL3lIV2lpdHBRb3RmUUJiTTRt?=
 =?utf-8?B?c2lteWdYSE9DV0tlRVg0Vkl3b3lBOVY0MmFOejJvRDU1Nlp5NmxKY25HRWRh?=
 =?utf-8?B?MWpqTjgrTFNKUWNlTm1kZ0VCdTRDMnM5ajRrR0FZTyt0MlpJa0VwR1c1VVdX?=
 =?utf-8?B?MS96T2dLWUpzQ0d3UjF1dFJTQllMNHBZTlRHK3g1enFPU1JIUjhZZHpsampC?=
 =?utf-8?B?K3RMazFMTkNVaGZuYUVQNTVHTGlMM2lVSFJlRE1ldjFYaFhLUlBmS2h3YSt0?=
 =?utf-8?B?NXFMeHNxQnR2aitrejJGdG4zODhXY1R5OVg4OWFJbWl2aUQ4c0hGRlAvRUhS?=
 =?utf-8?B?bFhrKzVmRHgwNDV6a2NocExpSHlJdWdndXBxT2x1RC96RXJHN0hDTENxOXhM?=
 =?utf-8?B?UjA2QmlTRDNoSkVtQ254cjcxSDJNM1FabzVXMUtveFpuTjloS0tLa1M3TWk5?=
 =?utf-8?B?RkRaZ3k1dlVPVXg0U0NWQk5wcklrcEsybW1YVk4zZHpuMVltbjcxRDJKT3g2?=
 =?utf-8?B?RkJpV2ZkM055TndIbDNXd0ZMb3lDUGRMYncyZ2M0R2toeHVwWHh6dTVzakVJ?=
 =?utf-8?B?aFhORldJNG12STZKNzFIMjBzQzRmemZhczVwWHJXRHo5TFRCbGpabEdLeWFl?=
 =?utf-8?B?WWQ3aG9ZSnhaSE03UFBYTmpRem04bXB3MU5Cb2MvZ2lyUFB4TlUrSmNNRG1H?=
 =?utf-8?B?QzFQOVpKbnMvd0llMFNvTXNDZnJhYlZCNmU1M0RIUUdKV2dlRjJleHRhcExi?=
 =?utf-8?Q?BboqT7V/E4yPoFNVKOj+bX2d+?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d4214920-dea5-41a1-cb21-08de056f5daa
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Oct 2025 07:01:40.6738
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: cv5tDmGMY/aHHL46Uj6YMFfC6NUKs8XwiwOzCmP+OG3Q9+ERgk1uGgjCOJKMERyDaQdFAev0XpzznDKLmLXoCw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR03MB8224

Update to latest 14.3.

Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
---
 .cirrus.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.cirrus.yml b/.cirrus.yml
index 30108892b751..7df7ff552222 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -2,7 +2,7 @@
 freebsd_versions: &FREEBSD_VERSIONS
   env:
     FREEBSD_LEGACY:     freebsd-13-5
-    FREEBSD_PRODUCTION: freebsd-14-2
+    FREEBSD_PRODUCTION: freebsd-14-3
     FREEBSD_CURRENT:    freebsd-15-0-snap
 
 # Build jobs
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Tue Oct 07 07:16:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Oct 2025 07:16:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138561.1474232 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v61wI-0007gT-8A; Tue, 07 Oct 2025 07:16:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138561.1474232; Tue, 07 Oct 2025 07:16:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v61wI-0007gM-5W; Tue, 07 Oct 2025 07:16:50 +0000
Received: by outflank-mailman (input) for mailman id 1138561;
 Tue, 07 Oct 2025 07:16:48 +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
 <SRS0=HvEU=4Q=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v61wG-0007gB-Nd
 for xen-devel@lists.xenproject.org; Tue, 07 Oct 2025 07:16:48 +0000
Received: from SA9PR02CU001.outbound.protection.outlook.com
 (mail-southcentralusazlp170130001.outbound.protection.outlook.com
 [2a01:111:f403:c10c::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 93adf4fc-a34d-11f0-9809-7dc792cee155;
 Tue, 07 Oct 2025 09:16:43 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by BY5PR03MB5109.namprd03.prod.outlook.com (2603:10b6:a03:1eb::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.20; Tue, 7 Oct
 2025 07:16:36 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9182.017; Tue, 7 Oct 2025
 07:16:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 93adf4fc-a34d-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=H6syiERVYXl+MfdWBiKOCoOXrIvpUnAV5Mw2sSeDjz38/EdJKc6/E0EeDPh2rFNhflRcO/sB8W1Oyrr8LI1jvcYQ1zRfiGE06qFou9Izhxni2/aIoqR7URR8fyqLa+4bsoljCWwVcUucfotBBsMzy4fekNzTKtR7aTJ6Q3+AI5tn9WWBUr/R1wMKqauPrnLq5zNlFv6jZgUQEs1M0BVUlLwIzmcN7RyS+zwqrh/Tr6RAKVXnyl8sVQTnuOKVVfxCtkbiXKU/WtTXmqDEDj5BkyWph4rO0U/RUsWpuh3vbV1QpjvE/WHzcAJQWpjkGaFD/L5LCt4ilJ5HxiNNvtVvcg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=p/aOhYhsczh2SPcNmLu63CTZyXv4Gdv49lmN3F+z6WY=;
 b=jmn0p7M9SQm3Wy0yYsbGoxUdXmr/VA8QehVdab3l4uefWMA9xfQeA/pRPL6DhQYIroZ1hCEXa6k/ozbqLPGfXcL5qwu9PRP3yyE+u+f7oSgA4ioYPHNZabDMu/X5D5P+0caBTnCQ7v1B6UJmyAPj+tj0OVjrjfjUWPb3BFJFTl0e8aiJwb8Sp2uiU5sDWeWO9RwKAMToiojb12eLg16TN9x9J9c1UTpXkdXP4G7GfWrPrxxyFVUMcGhBda6yGUtruVVsq+DrxL9dBSdYn6NuwiAvlaZyFTviB8au/m5B/Uuvk36HNdNhGLwJzZ9+fzABFY4+uCGMAtxZSDqJtCVfsw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=p/aOhYhsczh2SPcNmLu63CTZyXv4Gdv49lmN3F+z6WY=;
 b=dU06f2XHQUl7HNKUWGppSv9RH9fvGlwtjEbGfTgdN73w2YI+leGHYSbotYCMcpINEsP7VNbxLH5zSik9D6UXIPIIuc21sSNvQDazEofzEyq+BwAMOTRpnksH0wY1Wb5AClHEgXXOoaVQUMdqY7V8ftsaQsSkarft2y/RyOpoc6Q=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 7 Oct 2025 09:16:31 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Alejandro Vallejo <alejandro.garciavallejo@amd.com>,
	xen-devel@lists.xenproject.org,
	Stewart Hildebrand <stewart.hildebrand@amd.com>,
	Jan Beulich <jbeulich@suse.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Xen-devel <xen-devel-bounces@lists.xenproject.org>
Subject: Re: [PATCH for-4.21] vpci/msix: improve handling of bogus MSI-X
 capabilities
Message-ID: <aOS-T-LcuFsmdCOs@Mac.lan>
References: <20250929084149.70560-1-roger.pau@citrix.com>
 <DD60R7HDKJ23.1BYEORZH67NOS@amd.com>
 <aNvTwrcHsja65ndP@Mac.lan>
 <DDBAHJDFXN5L.2U4TFNVR6NLZ@amd.com>
 <7bb14669-f8c2-47d5-a3ba-048c0e45458e@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <7bb14669-f8c2-47d5-a3ba-048c0e45458e@citrix.com>
X-ClientProxiedBy: MA3P292CA0013.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:2c::6) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|BY5PR03MB5109:EE_
X-MS-Office365-Filtering-Correlation-Id: 073df094-2d4f-4280-f0df-08de05717320
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?OUNhZStDY1ZYZC9VYnRKdjMrb1MrRzU1RlMwSFJ5L2M2WUQyQ3ltUHJvdWNF?=
 =?utf-8?B?NEIyNVlrdmtzaG9xb01DdnlWeG9tWHUyVVRhcCthVzgyT000R0plZnBMNFpH?=
 =?utf-8?B?T0Y3ZzFzU0oraEd0NVozaXNYbFZyRFVXa2lOM0xpYjRqRTVyM0hUQWpVKy9u?=
 =?utf-8?B?Uk5QSVc3VithWjJxMzZkczE2cDFkZjg1aWRTK1ZmWFZFbk9sMUlkZTNOWHFH?=
 =?utf-8?B?czBFTG1JcVNYYVdrOTRzVjlxRUJGZGFSNndoWHl1QjNDK1NLY1dTMzR1TjUy?=
 =?utf-8?B?TVNxNzcxMzJ5VTNEUXMvZUZpYmxCZ1BEaDhsTjhyRFhzc3Z1dGpyZlR6OEFO?=
 =?utf-8?B?cVlBdUhWMzA5M1U2cUVnaWtHUHFSS2ZrZU9rUW1zZi9MdW9mb2dobmY3Y3dT?=
 =?utf-8?B?TkY2NUh3Q3BpS2FUbG1UQnMxWEsvOXdYUUdnTnV1OGcvcy8xQkI1dXVrWHFN?=
 =?utf-8?B?QlVpZnJTb0xCWG1xQ0Fmcmp6ajIwVmlSVVVGRjVyMDNDeHowcFcxR2hrMTBG?=
 =?utf-8?B?bUpXUy8rOTREajgzNTI1dFE1TWZjamdNVDVmOFpqTnNLTkE2b1dtb3VEVVRK?=
 =?utf-8?B?SnllbWsxZUIwR1YzV1FnWm4xaFN5SEVqTElmK3pUWUowNm5QcmZRTjcwV2g3?=
 =?utf-8?B?WEF3MXU3U3RhbjZQTVRKSGx2MlVHUE5NOCtrdlpya1NpdVUwY2JDUWtEYzdi?=
 =?utf-8?B?ZkFKVXJvSFRqNXB6UDE4d0YwTXg2YWEwL2QxeE80d2x0OVk1OFV1TnQxbGM3?=
 =?utf-8?B?ZWgrR253SFR6bnhtV0ZMcE9FdVI1aCs3WCt4Q1VMcitHVkluSFR0bXhheFFj?=
 =?utf-8?B?M2djSFNmcXpWRUJqaVk3L1dJR2NDU3owT1M5Y01oSkc5WDZLNmx4Y3o1dUU5?=
 =?utf-8?B?ZG5DZm9od3F1a1VTaFAwMzZNWldhK0JPclJMdUJpN2hCa1YxdkthZHJLMDJr?=
 =?utf-8?B?THFCdmUyRy9rTTdENWIvV3FzVmZPWXJsR0ZCcXV5eXpqbElxZkVWN1RrSXRY?=
 =?utf-8?B?WXdlcXlUdTd1NDV2NmJrdzVVQzBMUVJTTE9JZVQ5ODNEVzNOTURJeFEvTk1s?=
 =?utf-8?B?czl4bGp3VmRMaVZzTEZPL3VtVlYwb0krcVlVdHkwaWhLbi9rTFYxcFhvMDVM?=
 =?utf-8?B?NGxFWVV5a2hqYm5zMnNnTlNiSFQyWFRDN1QwbzRBSGdLVHByTmhJQWlzYXFt?=
 =?utf-8?B?QU0wUGhiTDUrT3pkZjZlb2JTTGlVbjN6ZytLdXBZQWxaWW81dStJWWVJYmhl?=
 =?utf-8?B?TVBWL0lRYmR2L0xwVXJGQmdxUVVTVUtPZWlLZDdBbWdUOS81ZDRycUVsOTZU?=
 =?utf-8?B?K1ZGRk13Z3lJZlpsRng3c28zYmNOZGxkVkI2QTY0T1ZxL1NPak9qdW1wNWxU?=
 =?utf-8?B?eWFWaXQ4d216VElmRW0ra0RVVktRaVRaTUVYRnE5WXYyN3B1dW5OWlozUkww?=
 =?utf-8?B?emhzcCtYQUMzYU5ocExROXZ5MFpNQXJyblZTZG5Oem5PaXlXc0tFc05NSlRh?=
 =?utf-8?B?cFU4dWZWbUdRTnVnRWZoc04wK09JK3M0eUtQVitrZ2c0U1hTSENHblFLejhS?=
 =?utf-8?B?aWRRTnBOU1BWVC9XdVBMVXc0QkFGVjFQYXFxVDBsOW5Ca0JMbmgwK3pUc3BS?=
 =?utf-8?B?TXR4cktJVllHazNhV3lXZEo5UkZSWEEyZU1taTFYU1Joc1BoSEVxdXhsNGpl?=
 =?utf-8?B?cTVMQWJVM1VxZXlMUDNtWlpqNVJlbzlYNHh6TVEwbGtEVmJXQWV5ZnlFV2Vh?=
 =?utf-8?B?NWhaM0N2eXg2dHdaZC9GM2RZL2Q5bmorY3p4bGdzNlowbGRxQ0E3QWdDZU9h?=
 =?utf-8?B?NnMxQkNlS2VwdFdFb3p4UnFVNGhIQ2JSNjl2czdMSitsdGMwTUNWaTNtbUY1?=
 =?utf-8?B?RWFaMzA5WHg3dHNCallzc2diQkorTUJQa21MSHMzZHBNbU9VRkRJdElMclhX?=
 =?utf-8?Q?faZjfhLt9xFZZ5J70W47SUbtdXvDlPQh?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OHp0ZXk3Y1U4Q0NrbGU1MkVNOVhHcFE0ZHdwc1VEM0JIZWdaMnlCUGNmY1dk?=
 =?utf-8?B?QWN1ZjN6MC9oZHZyazhHaVVwUmlJT0FaR3VacWw5N1R4SW9XU241dWxzWStp?=
 =?utf-8?B?VlV3VDdYNUk1RXVCOFpqTld3dFBnL3krOXRWU2VsM1dXTnEwTDBFRmxJWmNU?=
 =?utf-8?B?eENHMDNxajBwTTl5eDlHMzk5RWpXcmlpYVR1dmpxV0w2L0lNVjRWUzUxMU9C?=
 =?utf-8?B?d3Z3Q0h6R3NZUkpxVXBZMGoxM0FERkJrNWloa0dLUFlSUDBlM0NKT1ZuYjkv?=
 =?utf-8?B?U1NkWGN1bjdyU1JHdEtwWHluRmFEVXpCYkJkaDNKU2paclkrT0VaMjByNDJC?=
 =?utf-8?B?aDI3b3V2RHdPKytNcmp5SkU5NVlqT2pFa3liVFp3Y2wzakF4K3hTckRKTXhq?=
 =?utf-8?B?R0ZxTEZOV1NHMGxZYkFjQloyREE4UGhCNERqUDNURnRYNG1JSi9RVSsvdERF?=
 =?utf-8?B?d3FjR2s5NUtmckJZajhRRHo1ZzVpanpGSzNUOVloOUVsRkMxQkhDb2MzRkZn?=
 =?utf-8?B?SFpYTHJ5T05rQ2JnaFh2aVY1TnVJajd2Tk1iVHY5YURSNnZWQzRZQlNwR3Rz?=
 =?utf-8?B?clVmQ0F5dnlLNkJFbW15Q0xsRE9YT3ozZ3NjQm9oMFBhYVhJT1dCK3JYNkk1?=
 =?utf-8?B?R240SGFDeVM2czcxZHJBQjRlM1J2RXFVYnpTSEhzUjlxMVpCSWl6T29ZR2lN?=
 =?utf-8?B?QmtDemd2dUZNeTZDcmZLanAyWXdhWGt3VWRTUUR2WDRKd0lvQ1JtMS95Y0ZU?=
 =?utf-8?B?ZWhndDVuVjZ4SXhteCtJMnFPTnJVam9IbUJCeUhjam5Pd2dJZVdnYkJQMGxQ?=
 =?utf-8?B?VldzOTVURFRuV0J3QXY0K1piTkJUUGo1Q3lsR3lwZWg0S1YyUTREM3U0YVoy?=
 =?utf-8?B?M1J6MTFJUStHQ0hyTk0wVXJlenU2N0dqWXhjcW5RenFjYWg1ZWNlVytjN0kv?=
 =?utf-8?B?TVNaeGdVQk9uVVVHcEJTWjQ3cmh5MVVWY0c4VFBZcEdjanpMNVdTWlF6czNw?=
 =?utf-8?B?Z3JIa29mN1R5WlZFZys0WWpBNnZJZ2drYVptWVpGTVNtNk5vbHBpRk81enJL?=
 =?utf-8?B?YW9PQXdIWmhTeHp0TitnemNkckx0REM5T256RnVVMmttejJUR3MxQUM2WFFm?=
 =?utf-8?B?dVZpUXp4UjMyZ0ZoaS9mcGdGeXZVQllmUXgzMi95YU1rZWlXZHhSeG5FTU9G?=
 =?utf-8?B?MFl4Yk5qdFZrQ2EzNmdKUWR1S3VaSFJSZy8rMEY3RTR0ckcvbXR5SlZFY3NK?=
 =?utf-8?B?cDVjcnRyajJnSmI3ZWRnd0EzbEVnTkJNSmNNN0JoMFZ1QlFPWEdURXlISlZE?=
 =?utf-8?B?Wk1lRUwzSEpVVUFTdzdnRGJFMkJpM3llTzZNYnZrWlo5V1V0T0ZMSWY3OXpl?=
 =?utf-8?B?M3hick9UaElieTlyRDA1ZXlLMzBaR1VjVVdQVG4yYmwwVlRCTnI5dUpiL01T?=
 =?utf-8?B?bTdQSndHQkpqVXdkV3AxN2ZPSVQ0SFNxY1FJdkd0cTRoMnVwNEFBcnZWM21z?=
 =?utf-8?B?eVRrOERPRG84WDlIdmhyK0NxejU5U0l1UDczVkhTQzZLWmg1ellyWGRIOTBH?=
 =?utf-8?B?dWRtQ2liNEVVQjVLTW9HZHEwWFRzYnh5TnpHODFpRlEranpHdWNNdTZUM0cv?=
 =?utf-8?B?QS90SnB5bmRITnJSVU9QaXFSRThuemlCbGNPdExNaUJGR2N3SWZBSGh3MjZs?=
 =?utf-8?B?SmNmZlozR2ViSlFyempadlNtWm5XdzlIN0UrR0VqT2RVQ1JHbDAzSFdORm1a?=
 =?utf-8?B?cmZLajhNc2pTN2k0VERXWjM5a2xvcmdxT3VxWkNrQ1o5OHNRT2hXYjI1ZWJQ?=
 =?utf-8?B?SXRiT0JqTGFSWkxxb3VCSDJySkhTaXdhVnIyc1BDa2taN3dqYnNrd3NaZWh1?=
 =?utf-8?B?RWdHRHlGSUJUZDZ1aVlBVEYwZ3loR3p3S0ZEMHFwMW9uRFhyUFlZWEFCeDJM?=
 =?utf-8?B?R3JMb095VEU0ZGkrT2JnVko0Y3FWclM3ZE52dEwvQ1NFZlJZOVUzeElOM25O?=
 =?utf-8?B?TDgvdVZjc1hvRHlYK0VmUlROaHpXQm5QNi9PZjF4NHZBbzVXT3VVOGZBdlNk?=
 =?utf-8?B?M0lUa0tSaHdPT05vcjZrZjgzK1VTYVpTTXZoZHUzVWJ6OExVRlgrbzdnbWhj?=
 =?utf-8?Q?/Vt8B+lcmPRdsYP08Go3iTqTx?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 073df094-2d4f-4280-f0df-08de05717320
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Oct 2025 07:16:36.2196
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: nL9LIRgvmW2727+/qumXmUASPRJMZDyOcHrhfnuc0tB9UtkzYbK/ni9BVd//4b6C2Q9sSq/7Qr7iWNzqqTeF0g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR03MB5109

On Mon, Oct 06, 2025 at 03:29:11PM +0100, Andrew Cooper wrote:
> On 06/10/2025 2:55 pm, Alejandro Vallejo wrote:
> > On Tue Sep 30, 2025 at 2:57 PM CEST, Roger Pau MonnÃ© wrote:
> >> On Tue, Sep 30, 2025 at 11:15:01AM +0200, Alejandro Vallejo wrote:
> >>> On Mon Sep 29, 2025 at 10:41 AM CEST, Roger Pau Monne wrote:
> >>>> I've had the luck to come across a PCI card that exposes a MSI-X capability
> >>>> where the BIR of the vector and PBA tables points at a BAR that has 0 size.
> >>>>
> >>>> This doesn't play nice with the code in vpci_make_msix_hole(), as it would
> >>>> still use the address of such empty BAR (0) and attempt to crave a hole in
> >>>> the p2m.  This leads to errors like the one below being reported by Xen:
> >>>>
> >>>> d0v0 0000:22:00.0: existing mapping (mfn: 181c4300 type: 0) at 0 clobbers MSIX MMIO area
> >>>>
> >>>> And the device left unable to enable memory decoding due to the failure
> >>>> reported by vpci_make_msix_hole().
> >>>>
> >>>> Introduce checking in init_msix() to ensure the BARs containing the MSI-X
> >>>> tables are usable.  This requires checking that the BIR points to a
> >>>> non-empty BAR, and the offset and size of the MSI-X tables can fit in the
> >>>> target BAR.
> >>>>
> >>>> This fixes booting PVH dom0 on Supermicro AS -2126HS-TN severs with AMD
> >>>> EPYC 9965 processors.  The broken device is:
> >>>>
> >>>> 22:00.0 SATA controller: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] (rev 93)
> >>>>
> >>>> There are multiple of those integrated controllers in the system, all
> >>>> broken in the same way.
> >>>>
> >>>> Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
> >>>> ---
> >>>> Cc: Stewart Hildebrand <stewart.hildebrand@amd.com>
> >>>> Cc: Jan Beulich <jbeulich@suse.com>
> >>>> Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> >>>>
> >>>> While not strictly a bugfix, I consider this a worthy improvement so that
> >>>> PVH dom0 has a chance to boot on hardware that exposes such broken MSI-X
> >>>> capabilities.  Hence I think this change should be considered for inclusion
> >>>> into 4.21.  There a risk of regressing on hardware that was already working
> >>>> with PVH, but given enough testing that should be minimal.
> >>>> ---
> >>>>  xen/drivers/vpci/msix.c | 50 ++++++++++++++++++++++++++++++++++++-----
> >>>>  1 file changed, 45 insertions(+), 5 deletions(-)
> >>>>
> >>>> diff --git a/xen/drivers/vpci/msix.c b/xen/drivers/vpci/msix.c
> >>>> index 54a5070733aa..8458955d5bbb 100644
> >>>> --- a/xen/drivers/vpci/msix.c
> >>>> +++ b/xen/drivers/vpci/msix.c
> >>>> @@ -675,6 +675,51 @@ static int cf_check init_msix(struct pci_dev *pdev)
> >>>>      if ( !msix )
> >>>>          return -ENOMEM;
> >>>>  
> >>>> +    msix->tables[VPCI_MSIX_TABLE] =
> >>>> +        pci_conf_read32(pdev->sbdf, msix_table_offset_reg(msix_offset));
> >>>> +    msix->tables[VPCI_MSIX_PBA] =
> >>>> +        pci_conf_read32(pdev->sbdf, msix_pba_offset_reg(msix_offset));
> >>>> +
> >>>> +    /* Check that the provided BAR is valid. */
> >>>> +    for ( i = 0; i < ARRAY_SIZE(msix->tables); i++ )
> >>>> +    {
> >>>> +        const char *name = (i == VPCI_MSIX_TABLE) ? "vector" : "PBA";
> >>>> +        const struct vpci_bar *bars = pdev->vpci->header.bars;
> >>>> +        unsigned int bir = msix->tables[i] & PCI_MSIX_BIRMASK;
> >>>> +        unsigned int type;
> >>>> +        unsigned int offset = msix->tables[i] & ~PCI_MSIX_BIRMASK;
> >>>> +        unsigned int size =
> >>>> +            (i == VPCI_MSIX_TABLE) ? max_entries * PCI_MSIX_ENTRY_SIZE
> >>>> +                                   : ROUNDUP(DIV_ROUND_UP(max_entries, 8), 8);
> >>>> +
> >>>> +        if ( bir >= ARRAY_SIZE(pdev->vpci->header.bars) )
> >>>> +        {
> >>>> +            printk(XENLOG_ERR "%pp: MSI-X %s table with out of range BIR %u\n",
> >>>> +                   &pdev->sbdf, name, bir);
> >>> Would it be worth adding something here such that a device vendor testing their
> >>> hardware under Xen can trivially grep for device bugs?
> >>>
> >>> Something akin to "[Firmware bug]" on Linux, like "[Device bug]" or some such.
> >>>
> >>> It would also let anyone not very knowledgeable about PCI know that a device
> >>> they own is being unreasonable. Same below in the other XENLOG_ERR messages.
> >> We could add indeed.  I don't think we haven't done so in the past.
> >> If we go that route I would suggest that I add a:
> >>
> >> #define DEVICE_BUG_PREFIX "[Device bug] "
> >>
> >> in lib.h or similar, to make sure we use the same prefix uniformly.
> >> TBH
> 
> We have several FIRMWARE BUG's in Xen already, and several more that
> ought to move to this pattern.
> 
> Given that Linux has definitely been booted on this hardware, we should
> match whichever prefix they use for messages about this.

I don't think Linux prints any message about this, it simply ignores
the capability.

We have another instance of having to support buggy devices in vPCI:
when a device places registers in the same 4K page as the MSI-X vector
or PBA tables.  In that case the offending device was an Intel
Wireless card.

I'm happy to use "[Device Bug]", will adjust the patch this afternoon.

> What's unclear is whether AMD can even fix this with a firmware update.Â 
> I would have expected that the PCIe hardblock would have prevented
> making this mistake, but clearly not...

I didn't want to point fingers :), I have no idea if it can be fixed
in firmware.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Oct 07 07:48:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Oct 2025 07:48:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138577.1474243 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v62QM-0003ew-Kh; Tue, 07 Oct 2025 07:47:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138577.1474243; Tue, 07 Oct 2025 07:47:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v62QM-0003ep-Gx; Tue, 07 Oct 2025 07:47:54 +0000
Received: by outflank-mailman (input) for mailman id 1138577;
 Tue, 07 Oct 2025 07:47:52 +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 <SRS0=xa6/=4Q=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1v62QK-0003eh-LW
 for xen-devel@lists.xenproject.org; Tue, 07 Oct 2025 07:47:52 +0000
Received: from mail-wr1-x42b.google.com (mail-wr1-x42b.google.com
 [2a00:1450:4864:20::42b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ecf2a1da-a351-11f0-9d15-b5c5bf9af7f9;
 Tue, 07 Oct 2025 09:47:51 +0200 (CEST)
Received: by mail-wr1-x42b.google.com with SMTP id
 ffacd0b85a97d-3ee1381b835so4987064f8f.1
 for <xen-devel@lists.xenproject.org>; Tue, 07 Oct 2025 00:47:51 -0700 (PDT)
Received: from ?IPV6:2003:e5:873f:400:7b4f:e512:a417:5a86?
 (p200300e5873f04007b4fe512a4175a86.dip0.t-ipconnect.de.
 [2003:e5:873f:400:7b4f:e512:a417:5a86])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4255d8f02a8sm24679373f8f.39.2025.10.07.00.47.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Oct 2025 00:47:50 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ecf2a1da-a351-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1759823271; x=1760428071; darn=lists.xenproject.org;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=k/p5ADZ2lv1Ra1rAUAPzE5QTwOBMFVb5bRE4x81ZObQ=;
        b=CcxhG/z8drO5m44Afph7enptYlve0yXCQuRGnzNQyBswsQed4gVXR/PzGv19W8WjRZ
         lXtgQbypu4OnKBzjHsg5wVyUgVOmabfjT6vZd5oC7yW/7HgY4LCbDA7lkzLMWBMx9TZz
         G3blKD7aY1e8F5lf6zTW6vQZT9eMbTDaw2lZ+IRAoUb1/MbwyzFEoAFfE9d0m1654VOu
         jkEszJkNp3+SiliC6QIA0EoHdXseTeTH2G61jyFMX4fuNt1AyDmP+7oUk68sG8ut7XpV
         DmHt1WQikGJlUQT6fpldabyfk+2l+Dja9hkpkUv9+JUFmmNPxEJQIx84sknwRBok0VZZ
         PCng==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759823271; x=1760428071;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=k/p5ADZ2lv1Ra1rAUAPzE5QTwOBMFVb5bRE4x81ZObQ=;
        b=ZupkGqAugMhGqRn43QOqU5CnXN2qV8arAl0q9aVj49yOnmZBi25qYnZRtil+FbzOL5
         H5APNmexGtldEtk3wVKj+BaD/wqdfBAPFMpjc/w92rMS7NhN5fG5m9s4ZVizhcx8rBM+
         AM65UdEox11XbIDyozLIp0h4lZwBnOx6+vqeq0XN0dN+gW8l6HRj/FLR7QrgrFgq4no2
         Y3cbDM3VOHpizSB3AqjSlOtRglOic8vMu5vY9Axe3fpONnZNXy4ExNyc64INhmp1kstP
         60WP3B7uuaaukW+SOwPPJDH4Tx0JqFOG7MIaAkLGOSS9c4iGM5HMCWgzQ1TCdoJe7ujM
         U2bQ==
X-Forwarded-Encrypted: i=1; AJvYcCUXrFSxT/SAOswzNlMQ0Rb+16i5jiNF76q+2vEFWxFYu5qdXNP/fQHxoYIuU0iF1BpYyxluW8ER2mM=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy4ILLYuMyDfBangnuUU0uLb+ofKM1sBkCFeJks+jnUauwMTMBc
	3pyCX9cLxLz5eqjuSYYbjUu+WcHl6tElHghPRIyWiOj50T+pxnJOiU0W3zRkAKQ2oO4=
X-Gm-Gg: ASbGncvYyHoKC+6UbPs4tvew6q0L7c+taN+s6Yd1iHkgit3mwTk/3sgA9zK7SXOtowi
	jlBmcf1TjnbgKNEh3vSQSXkmB7A8Bsn8AtL80UpUi9zdIxizyIO9xaKjJcWAXS1DQzpwCRnr4v3
	6S6mV7dF0U4cv060ReFk1y+wOPJTHdBJ+wkvoEIspuBOOi2IFtNU6X8NsD22/b/j8ZptLwpZdJF
	L4leTHaPo1PrH7kcn4ca1FC0n4fvVRUYZLrDwT1X6D6SHfhGya6LQyxlgrMcqsjOetQLz4B9bu8
	dOt3Vnyi7ywGeH19z3EBJ3Zit/Lty1IFD3mPLblcFXSKhI0Ci7Rmy45RSAcHk6/VVtv2jPkCRDL
	iNjZCfdKvtPK3N0A/NUzcr5eIz1UXv2O6a5ez/jCMkhQifq1A/SlS4jesTcqcoqvQ1RAZKusRhi
	QcfdbNyl67k8ucMrGQLWpOatXlZHZHtNXtJ0F5UBkHJiJj2lUkS12zmenMEt/eJM2GPfY7
X-Google-Smtp-Source: AGHT+IF7j7vgadOKluBSN0/KXTiMPvXegbfquXD7I/Hv3CcEjCs6Sc9oBKKDinDjZBC8ijVyIMq0Yg==
X-Received: by 2002:a05:6000:310d:b0:3eb:a237:a051 with SMTP id ffacd0b85a97d-425671c1ba2mr9319409f8f.58.1759823270615;
        Tue, 07 Oct 2025 00:47:50 -0700 (PDT)
Message-ID: <c8b3c9ea-8c6c-4ec2-b01f-df3f8f487a8c@suse.com>
Date: Tue, 7 Oct 2025 09:47:48 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 15/21] x86/xen: Drop xen_irq_ops
To: Peter Zijlstra <peterz@infradead.org>
Cc: linux-kernel@vger.kernel.org, x86@kernel.org,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 "H. Peter Anvin" <hpa@zytor.com>, Josh Poimboeuf <jpoimboe@kernel.org>,
 xen-devel@lists.xenproject.org
References: <20251006074606.1266-1-jgross@suse.com>
 <20251006074606.1266-16-jgross@suse.com>
 <20251006185553.GY3245006@noisy.programming.kicks-ass.net>
Content-Language: en-US
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <20251006185553.GY3245006@noisy.programming.kicks-ass.net>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------kV0mAlugWKvTu66dwLdSIAs6"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------kV0mAlugWKvTu66dwLdSIAs6
Content-Type: multipart/mixed; boundary="------------ZACIU0EGJTA0jVCHyCq5ivyT";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: linux-kernel@vger.kernel.org, x86@kernel.org,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 "H. Peter Anvin" <hpa@zytor.com>, Josh Poimboeuf <jpoimboe@kernel.org>,
 xen-devel@lists.xenproject.org
Message-ID: <c8b3c9ea-8c6c-4ec2-b01f-df3f8f487a8c@suse.com>
Subject: Re: [PATCH v3 15/21] x86/xen: Drop xen_irq_ops
References: <20251006074606.1266-1-jgross@suse.com>
 <20251006074606.1266-16-jgross@suse.com>
 <20251006185553.GY3245006@noisy.programming.kicks-ass.net>
In-Reply-To: <20251006185553.GY3245006@noisy.programming.kicks-ass.net>

--------------ZACIU0EGJTA0jVCHyCq5ivyT
Content-Type: multipart/mixed; boundary="------------XyJh0KFbIzewTUdUA9FxJ1fL"

--------------XyJh0KFbIzewTUdUA9FxJ1fL
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMDYuMTAuMjUgMjA6NTUsIFBldGVyIFppamxzdHJhIHdyb3RlOg0KPiBPbiBNb24sIE9j
dCAwNiwgMjAyNSBhdCAwOTo0NjowMEFNICswMjAwLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0K
Pj4gSW5zdGVhZCBvZiBoYXZpbmcgYSBwcmUtZmlsbGVkIGFycmF5IHhlbl9pcnFfb3BzIGZv
ciBYZW4gUFYgcGFyYXZpcnQNCj4+IGZ1bmN0aW9ucywgZHJvcCB0aGUgYXJyYXkgYW5kIGFz
c2lnbiBlYWNoIGVsZW1lbnQgaW5kaXZpZHVhbGx5Lg0KPiANCj4gU2FtZSBjb21tZW50IGZv
ciB0aGUgbmV4dCBmZXcgcGF0Y2hlczsgdGhpcyBjaGFuZ2Vsb2cgaXMgYSBsaXR0bGUgbGln
aHQNCj4gb24gKndoeSouIEkgbWVhbiwgSSBkb24ndCBtaW5kIHRoZSBjaGFuZ2UsIGJ1dCBz
dXBwb3NlZGx5IHdlIHNob3VsZA0KPiBqdXN0aWZ5IHRoaW5ncyBhdCBsZWFzdCBhIGxpdHRs
ZSwgcmlnaHQ/IDotKQ0KDQpXb3VsZCB5b3UgYmUgZmluZSB3aXRoIHRoZSBmb2xsb3dpbmcg
YWRkaXRpb246DQoNCiAgIFRoaXMgaXMgaW4gcHJlcGFyYXRpb24gb2YgcmVkdWNpbmcgdGhl
IHBhcmF2aXJ0IGluY2x1ZGUgaGVsbCBieQ0KICAgc3BsaXR0aW5nIHBhcmF2aXJ0LmggaW50
byBtdWx0aXBsZSBtb3JlIGZpbmUgZ3JhaW5lZCBoZWFkZXIgZmlsZXMsDQogICB3aGljaCB3
aWxsIGluIHR1cm4gcmVxdWlyZSB0byBzcGxpdCB1cCB0aGUgcHZfb3BzIHZlY3RvciBhcyB3
ZWxsLg0KICAgRHJvcHBpbmcgdGhlIHByZS1maWxsZWQgYXJyYXkgbWFrZXMgbGlmZSBlYXNp
ZXIgZm9yIG9ianRvb2wgdG8NCiAgIGRldGVjdCBtaXNzaW5nIGluaXRpYWxpemVycyBpbiBt
dWx0aXBsZSBwdl9vcHNfIGFycmF5cy4NCg0KDQpKdWVyZ2VuDQo=
--------------XyJh0KFbIzewTUdUA9FxJ1fL
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------XyJh0KFbIzewTUdUA9FxJ1fL--

--------------ZACIU0EGJTA0jVCHyCq5ivyT--

--------------kV0mAlugWKvTu66dwLdSIAs6
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmjkxaUFAwAAAAAACgkQsN6d1ii/Ey8E
Cwf9Gcgfd1x4B7+Mo8ZdGuhc8lobyDPfpsiiCxXV+e8HlqHCwlRpw7VCHX10o6HhZJ9pdozRxQLh
FADvUd1bszJv8JAcGdyHv3c7TrX0MPni1OrYMBP9qez7n4UP0UHoo0lnlEkiAWxvfA2jepD2ffRY
E1/0uyIf0HXFoYuchbP7msyGdX0vXdT7kQ7diYRzKK7v9SbMP3rEGnMgMs9MlCfz+PglDqtr6ugF
pcPZC7EBnvqy/BRIs0RU17uSl6n/Tk6B+bi/Ds7iQSbdgG6kp6AQiX00okJ6wVxkKbC5QYor3QsU
hF7Fw0gqJugqiYIPBs9lTnZcafQQZta9753tkHgJyw==
=FFyy
-----END PGP SIGNATURE-----

--------------kV0mAlugWKvTu66dwLdSIAs6--


From xen-devel-bounces@lists.xenproject.org Tue Oct 07 08:28:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Oct 2025 08:28:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138591.1474252 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v633v-0000nh-EA; Tue, 07 Oct 2025 08:28:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138591.1474252; Tue, 07 Oct 2025 08:28:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v633v-0000na-BP; Tue, 07 Oct 2025 08:28:47 +0000
Received: by outflank-mailman (input) for mailman id 1138591;
 Tue, 07 Oct 2025 08:28:46 +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
 <SRS0=sa46=4Q=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v633u-0000nU-9T
 for xen-devel@lists.xenproject.org; Tue, 07 Oct 2025 08:28:46 +0000
Received: from mail-wm1-x343.google.com (mail-wm1-x343.google.com
 [2a00:1450:4864:20::343])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9c352789-a357-11f0-9809-7dc792cee155;
 Tue, 07 Oct 2025 10:28:32 +0200 (CEST)
Received: by mail-wm1-x343.google.com with SMTP id
 5b1f17b1804b1-46e542196c7so38579105e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 07 Oct 2025 01:28:32 -0700 (PDT)
Received: from [192.168.1.183] (host-92-22-57-86.as13285.net. [92.22.57.86])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-46e61a0241bsm283868045e9.11.2025.10.07.01.28.31
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Oct 2025 01:28:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9c352789-a357-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1759825712; x=1760430512; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=ODhrzQLj25vh/uhcf/FdIY0GqzxijxAuYvmzOB+piUU=;
        b=kYs3br8rsAKTZ0sM+I3A48TzBCzjnjEHA78YS9KoujST+M+nONNjPsWL9TVKm1mDUh
         xqQVhtZX5bpvzMKaetAgVfn0vcpQQC1ZAv9oHF+Agjtp1CrBoQkAKxZgQLdRV7phgAK1
         xpj1OF2HGdOm4pK5TEthPjt0gz6AF7lYOM9eY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759825712; x=1760430512;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ODhrzQLj25vh/uhcf/FdIY0GqzxijxAuYvmzOB+piUU=;
        b=kOPti8GXdCxe+E1tRijzIxfdk4qf1ko7iBF3p3iytFbfbuzN/ai8WPHlfsj+mfv3IV
         BEsKTyAkoonDMPUC9sUJBbNP9VAwtlH1fJYCBHCjv5FNvc74jiGQhJpgUcBKaIbNqkta
         WpLzmpBHTVL56+SDAnOeXe3XmCscS/Gh2lEkD6Ys7R7nDmcERFR2yGwjzSgD2wH5kCRD
         noZrUGoZoEwoAMS/tBuJaMi85WFI7jeLjRrwDnVJ8RKcPsB+tdQNA2WBFs2reHSA90Ch
         dRF0ePpugBTSTtFhQBgryqKebY+ADY7TQbaIc+qYin1lZ3LerBmsHKU2xazIcQ0Dtd6t
         ma3g==
X-Gm-Message-State: AOJu0YxSw2QgozGTQjPMWgkAn/D5YkhMd5ge8+jIO8evhwsrzVKdeUx/
	AZxNS0hMQ1iapg+B1ksug8lIlzvUhubXaB1Bzl/IvqVqwiZSVr7tbI/OzjavZEhO6uY=
X-Gm-Gg: ASbGncvPtVT9nMgSArcUaJklCyVLoJr+AEXsrJVncA3BOk80qRn+YS1CZqTHEwvinMZ
	TNT/AzbgbjkhStaQFOV3pB4UhdXzD5v2Dsg6cNDXeF28rP3CmXWbRZ+xtwWSliOosjvKhBR9Gwr
	eOZMpy65YMDLpr6urIN8V29fY98o8uGXumciY2OxJ1ewZLM2FKSJfSGnUC7IjeZJ9Pdsi0Pr6DX
	ICflodxFGPpIBSeOBxCyUjDSUrvHqGMheycVi8kbQSPKI2bbngayw7mNtWUfp4kRbmjIXaZ7B8t
	Zq6jYo3DvwqI8V8ngWtSz6H/uMpbimYZg8rBk0noP8ohR2JpdS6Tz4hSEqQOl/AGoed4Lv6W2rR
	WRJX4iqYJzYGLHRrNGoB41PzuE5AiVv3GMrQwYFvf4FsQ6cDnIf5YNO68NfiAkjiYLiFps4QR5j
	DUM/Dl+MVicIQc
X-Google-Smtp-Source: AGHT+IFSWLSzCE8LO4nPxygffLIEnmu44uzzLupemstwbSlDOA1aXuWMcb6AabO2lLKwWzKtqEgA6w==
X-Received: by 2002:a05:600c:528d:b0:46e:6339:79c5 with SMTP id 5b1f17b1804b1-46fa298df05mr16801275e9.5.1759825712191;
        Tue, 07 Oct 2025 01:28:32 -0700 (PDT)
Message-ID: <dab0d59a-4a72-454d-aa3d-3bebe9caf146@citrix.com>
Date: Tue, 7 Oct 2025 09:28:31 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] Update Xen version to 4.21.0-rc1
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <20251006200840.2171113-1-andrew.cooper3@citrix.com>
 <20251006200840.2171113-3-andrew.cooper3@citrix.com>
 <aOS5O2h767J1QPxs@Mac.lan>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <aOS5O2h767J1QPxs@Mac.lan>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 07/10/2025 7:54 am, Roger Pau MonnÃ© wrote:
> On Mon, Oct 06, 2025 at 09:08:40PM +0100, Andrew Cooper wrote:
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> ---
>> CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>> CC: Anthony PERARD <anthony.perard@vates.tech>
>> CC: Michal Orzel <michal.orzel@amd.com>
>> CC: Jan Beulich <jbeulich@suse.com>
>> CC: Julien Grall <julien@xen.org>
>> CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
>> CC: Stefano Stabellini <sstabellini@kernel.org>
>> ---
>>  README       | 10 +++++-----
>>  SUPPORT.md   |  2 +-
>>  xen/Makefile |  2 +-
>>  3 files changed, 7 insertions(+), 7 deletions(-)
>>
>> diff --git a/README b/README
>> index 9329f30e1366..eaee78bd7375 100644
>> --- a/README
>> +++ b/README
>> @@ -1,9 +1,9 @@
>>  ############################################################
>> -__  __                                _        _     _
>> -\ \/ /___ _ __        _   _ _ __  ___| |_ __ _| |__ | | ___
>> - \  // _ \ '_ \ _____| | | | '_ \/ __| __/ _` | '_ \| |/ _ \
>> - /  \  __/ | | |_____| |_| | | | \__ \ || (_| | |_) | |  __/
>> -/_/\_\___|_| |_|      \__,_|_| |_|___/\__\__,_|_.__/|_|\___|
>> + __  __            _  _    ____  _
>> + \ \/ /___ _ __   | || |  |___ \/ |   _ __ ___
>> +  \  // _ \ '_ \  | || |_   __) | |__| '__/ __|
>> +  /  \  __/ | | | |__   _| / __/| |__| | | (__
>> + /_/\_\___|_| |_|    |_|(_)_____|_|  |_|  \___|
>>  
>>  ############################################################
>>  
>> diff --git a/SUPPORT.md b/SUPPORT.md
>> index eb44ee85fd12..491f9ecd1bbb 100644
>> --- a/SUPPORT.md
>> +++ b/SUPPORT.md
>> @@ -9,7 +9,7 @@ for the definitions of the support status levels etc.
>>  
>>  # Release Support
>>  
>> -    Xen-Version: 4.21-unstable
>> +    Xen-Version: 4.21-rc
>>      Initial-Release: n/a
>>      Supported-Until: TBD
>>      Security-Support-Until: Unreleased - not yet security-supported
>> diff --git a/xen/Makefile b/xen/Makefile
>> index 49da79e10fb4..ba8c7147a2f6 100644
>> --- a/xen/Makefile
>> +++ b/xen/Makefile
>> @@ -6,7 +6,7 @@ this-makefile := $(call lastword,$(MAKEFILE_LIST))
>>  # All other places this is stored (eg. compile.h) should be autogenerated.
>>  export XEN_VERSION       = 4
>>  export XEN_SUBVERSION    = 21
>> -export XEN_EXTRAVERSION ?= -unstable$(XEN_VENDORVERSION)
>> +export XEN_EXTRAVERSION ?= .0-rc1$(XEN_VENDORVERSION)
> In previous switches to start cutting RC's we didn't add the 1 to the
> XEN_EXTRAVERSION, see 19730dbb3fd8078743d5196bd7fc32f3765557ad for
> example.

Correct.Â  That was also buggy and complained about.

>   If we do add the rc number we need to remember to bump it
> each time and RC is released.

Last time we had truly buggy early rc tarballs, the middle ones were
bodged somewhat (incompletely, and not a straight git archive), and by
RC5 we had a commit with the correct XEN_EXTRAVERSION to make the
tarball correct.

See 4.20.0-rc5

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Oct 07 09:09:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Oct 2025 09:09:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138616.1474263 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v63hE-0005qj-EP; Tue, 07 Oct 2025 09:09:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138616.1474263; Tue, 07 Oct 2025 09:09:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v63hE-0005qc-AV; Tue, 07 Oct 2025 09:09:24 +0000
Received: by outflank-mailman (input) for mailman id 1138616;
 Tue, 07 Oct 2025 09:09:23 +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
 <SRS0=qVcl=4Q=amd.com=Alejandro.GarciaVallejo@srs-se1.protection.inumbo.net>)
 id 1v63hC-0005qP-Ue
 for xen-devel@lists.xenproject.org; Tue, 07 Oct 2025 09:09:23 +0000
Received: from BYAPR05CU005.outbound.protection.outlook.com
 (mail-westusazlp170100001.outbound.protection.outlook.com
 [2a01:111:f403:c000::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4eb3cf94-a35d-11f0-9d15-b5c5bf9af7f9;
 Tue, 07 Oct 2025 11:09:21 +0200 (CEST)
Received: from SA0PR11CA0205.namprd11.prod.outlook.com (2603:10b6:806:1bc::30)
 by LV8PR12MB9270.namprd12.prod.outlook.com (2603:10b6:408:205::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.20; Tue, 7 Oct
 2025 09:09:15 +0000
Received: from SA2PEPF00001508.namprd04.prod.outlook.com
 (2603:10b6:806:1bc:cafe::37) by SA0PR11CA0205.outlook.office365.com
 (2603:10b6:806:1bc::30) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9182.20 via Frontend Transport; Tue,
 7 Oct 2025 09:09:15 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 SA2PEPF00001508.mail.protection.outlook.com (10.167.242.40) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9203.9 via Frontend Transport; Tue, 7 Oct 2025 09:09:15 +0000
Received: from localhost (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Tue, 7 Oct
 2025 02:09:13 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4eb3cf94-a35d-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=vleI9z69FQKCXED9kn1KxSjKg1KUVrySUIjW7jzpEX2WqT4iEeUC3iOPPKdUou47fY1ciRBD9PkDm7rbnibVMBES3XMUaNzFAAeOaIyw1PA9qAKfBmStUQjigytnnce6zJOnRGPDknPpp3SH5PzZAZc1tr1cI478Ml/gQJ3l1/YvpNXY4zsNNzrlPVRO/K+YJrJ1OLW40u63/DbX8xJcDXMzkNxEvbhdV5b2/ZgRxtat9ETQgWAvuBMYAckDq4acbpJhluzjXR7n58tnC8m4NGDFn6Ab+uwXyRkBgM1+O0bbu1Q160U8NwUODSUJOvHRhBoIs291fZJZ4Fb74z9DRw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=y53R7dXIzSmchTXCzCHM+0ZEYQXLf4vm5J5ZVf/Pk0E=;
 b=DnD2q+5vYYwNZ5Madb4HihTKMSoN47sfSLyT5Rnj6jutkgae7ZgHCvKpcyLZAxJHLJHCawmmCLTfqcItdfr0xDKNifK02+WT+CnYf0pbgz43Un6HPiYiS8mss5M1FfxUp8ym3Cq9bxmsrCssf8Ka/w2/8zWvucEQA/v38aCTRpQUbn9+bKSpbrVCNfY0SKmeuj0xdhWseisYe20WPesdBZ93IbpHC68vbcmqjDyOX83Okt1zt0E4Q0JaF+/9cpVtUgmIDD2ydDdm/Tdm5YKOkZow3W5G/+LlnIBD6AAI8VDfbPHWemhjP18Ws1QxsRQX+DsBE4l0P9V9U3mk34N0kg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=citrix.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=y53R7dXIzSmchTXCzCHM+0ZEYQXLf4vm5J5ZVf/Pk0E=;
 b=QUF8M9BQBkvqWZAdWhlV39X2Ei2VW6/YQ+qmhztpbjrp/kmCp5tSJteLZC/ngSjQ824P6dDLAHyTjdLTFJ5RX4ruWtM6oAnat7av4YXMj9a43a+2XmbX4lTAbC10vmwBLJWuhOGPGfCtLosrFsJOu7yoYHGpWnAVKm0TVbIWPMM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="UTF-8"
Date: Tue, 7 Oct 2025 11:09:12 +0200
Message-ID: <DDBZ0KEAQ90J.2ZXI8B95H2RV7@amd.com>
To: =?utf-8?q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>
CC: <xen-devel@lists.xenproject.org>, Stewart Hildebrand
	<stewart.hildebrand@amd.com>, Jan Beulich <jbeulich@suse.com>, "Oleksii
 Kurochko" <oleksii.kurochko@gmail.com>, Xen-devel
	<xen-devel-bounces@lists.xenproject.org>
Subject: Re: [PATCH for-4.21] vpci/msix: improve handling of bogus MSI-X
 capabilities
From: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
X-Mailer: aerc 0.20.1
References: <20250929084149.70560-1-roger.pau@citrix.com>
 <DD60R7HDKJ23.1BYEORZH67NOS@amd.com> <aNvTwrcHsja65ndP@Mac.lan>
 <DDBAHJDFXN5L.2U4TFNVR6NLZ@amd.com>
 <7bb14669-f8c2-47d5-a3ba-048c0e45458e@citrix.com>
 <aOS-T-LcuFsmdCOs@Mac.lan>
In-Reply-To: <aOS-T-LcuFsmdCOs@Mac.lan>
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF00001508:EE_|LV8PR12MB9270:EE_
X-MS-Office365-Filtering-Correlation-Id: a600fa0c-08ba-4981-b164-08de05813075
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|1800799024|376014|30052699003|82310400026|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?bFpEcUt4OTVZN1lHTE5jOEJ4YW13OVhzZ3ZDTGc3VHZkU2hqYkVWcmdZY2lp?=
 =?utf-8?B?bEh6R2szYnYyTkNFeWhNT0hXcXp6QmhnektoMWxKVW15ejBRQURYc1l1Nk1J?=
 =?utf-8?B?b3JDdGltTklFZkxCelZGeno1Y255TlBaSjZQY3pRTEwyTUo3SVdhZ3lQWVh6?=
 =?utf-8?B?OGpxNUN2UTAzWldDZzFQVDR4YzdJQ2cyVUpZR09zTSt0TFpSRXhEQ1ZlejYz?=
 =?utf-8?B?TVREZC9qeFdady9lSWFNM1h4SmM0SU4zMTZWOW1CblhUZVdickdGSkdVWm93?=
 =?utf-8?B?SHlyR2d3K3FnNFdSRjRTTjBBaWxTeWx1cjRWTDRsQmhEUHFtRkhnYmQ0eGVS?=
 =?utf-8?B?NVg3ZTlLTkFaYzJnTERlMVJoSG5CdXUrTmxsdExVSmI1MmpGRHFvMXlneC81?=
 =?utf-8?B?cUY5dEZiR3h6aFFPL2ZSM0xhcU5NejhhUDRyc1JDUzNqMHM5K1labUZJd3Ry?=
 =?utf-8?B?eFpMWkNGZVBYYmEzdW5QRllCSnFTKys0c2xGQkRSa1hTZlg1ZGNrT1paRnRS?=
 =?utf-8?B?UHRTMjJmdW5GNWgyRWRFMU84b2tFRlRtaUhydEZCekVmbElBR2hoRytOQzZC?=
 =?utf-8?B?eldJQmFmRmhhalRaUjZ1MjZ1QWU0anI0eVZBVFN4MTZoVlZCNUpxcFA3ZzJr?=
 =?utf-8?B?S3N3bkpEdElOL1NidlFYdCtublkyQU1ZWHc3MUk4R3RQR2g1Tk1XMGV3Y1RR?=
 =?utf-8?B?UHF2Y3NGMFdTWFpoR1dxSEI3WUljUDNCYVQrTkpmR2RYaTZTWW1heEZnRlpk?=
 =?utf-8?B?VzVORE9UcUJYUlppT2JxS0lMQlRJWnVJRGVBUE5JZURGNzJWMkdNQnVmZUU0?=
 =?utf-8?B?NmRsQWpFQ1I1NGpjQ0ZYZjFTcGJ3OHEwNmV0U1NUNlVLZTVrWWtkS0MzUmRO?=
 =?utf-8?B?ZTZLZEVLQm9rTTRRRm9pSHcyTUZUVzVGL2sxaFhDdlZlZGh5c3BBdjV5cHdo?=
 =?utf-8?B?UU5Damk5N3NLdjREMHRBWjhTOHJJOXc2S1pidmdTbWtQdi9hTTVGajIyejdm?=
 =?utf-8?B?b1ByL3RQUHhmcFVjNm4vaEwzUzV3ZDZsbWFDSWhZZDd5cU1MQmFGZXpsWDVQ?=
 =?utf-8?B?QmpZWTBKaFF4VGNhYjY2VnBSZjJWdHRGbjFsNVJJWEdkNXFYa3FXWTR0SlJ2?=
 =?utf-8?B?NzBtZGNyYjNJNkpweWpUbFkxcG5zN3pEdEVheEpCd3EwU1lxNWNsZUErYUdX?=
 =?utf-8?B?N0E1UDc2OXlrdFNkNm9YRExiZnRUV3E2RjdxVHpldzBTaTZqY2FSUkpBaWNY?=
 =?utf-8?B?ZDdDdkhCNkw2Rm9oSXNXd0VselA0VGp4NUgrMEttZ0Qra21BSnFrRXpjRlh6?=
 =?utf-8?B?RU1OcEFGSFZxYXJmODcyZlRBZUJjbUUwMEZ4eTdtVXRhaVpRV0N2TURsWFdJ?=
 =?utf-8?B?eTlPYVB1K1lmZE9xWFBVWEhJT1JmbE5Qc3JXVXB1ZGgvOXU3VFkzRmdTbk1L?=
 =?utf-8?B?Znp6S1k3aDBPVDFhcU8vZG9Ldjl5b3ZicXBna082cUlzVmtWQTlPS3o1K0NF?=
 =?utf-8?B?Zk9OUE1xUG13NVpBeVJYSlVreVRKOFF2UWx5TU9mS2EvRTNtOFNuODZCN2Iw?=
 =?utf-8?B?aHVHTWczRjJVMWVHV3luczZKeXVueFMxU0s3SWZveXBZUWYxM0VFRFNGd3lI?=
 =?utf-8?B?MjFzS3hBemZvaTdpM0VaR2lNaytkckV6c1ZtZ25mQnJSQVpGRDZLRWVBYnQr?=
 =?utf-8?B?WWpPWkdtVlVsWjJJY0RKZDVuSmtRbUE0bkloeGVQSWYzMDdtRGdpOUFRNml2?=
 =?utf-8?B?b1hLKzlJbXlacHRrbVIvd1ZjRCt0aklpWDFjUktuTmRDY1FZMjVQWi83Q0JI?=
 =?utf-8?B?YkRRdFdQUHpITkhWSlF2VDA2NFlXOW5wYkhSY1FDYXZRQnhPMGNVZkRWZmdo?=
 =?utf-8?B?clVjRFlyME00VzdxZkh2U2NyemlJUjVHYW1LL29IMnhHSExUdUZNRjJoTjJY?=
 =?utf-8?B?cFhuNTJqT25hQmpPMS8xdkowUkJaM3F2R2QzNk4wQVdnN0Z2a2xnNkh6TWJt?=
 =?utf-8?B?bmNUU2R3VTBmN2NhWHlHekxiUnV2MEhFZlZjQjBzNUUrYXBla0gxMCtQWXBE?=
 =?utf-8?B?dEFvU1BIekI1ZXdFeFcrMi80RFBPemVIWFVha2UzelBoUHU4Y1l1YjlKU0Rn?=
 =?utf-8?Q?vomI=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(376014)(30052699003)(82310400026)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Oct 2025 09:09:15.4469
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a600fa0c-08ba-4981-b164-08de05813075
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SA2PEPF00001508.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR12MB9270

On Tue Oct 7, 2025 at 9:16 AM CEST, Roger Pau Monn=C3=A9 wrote:
> On Mon, Oct 06, 2025 at 03:29:11PM +0100, Andrew Cooper wrote:
>> On 06/10/2025 2:55 pm, Alejandro Vallejo wrote:
>> > On Tue Sep 30, 2025 at 2:57 PM CEST, Roger Pau Monn=C3=A9 wrote:
>> >> On Tue, Sep 30, 2025 at 11:15:01AM +0200, Alejandro Vallejo wrote:
>> >>> On Mon Sep 29, 2025 at 10:41 AM CEST, Roger Pau Monne wrote:
>> >>>> I've had the luck to come across a PCI card that exposes a MSI-X ca=
pability
>> >>>> where the BIR of the vector and PBA tables points at a BAR that has=
 0 size.
>> >>>>
>> >>>> This doesn't play nice with the code in vpci_make_msix_hole(), as i=
t would
>> >>>> still use the address of such empty BAR (0) and attempt to crave a =
hole in
>> >>>> the p2m.  This leads to errors like the one below being reported by=
 Xen:
>> >>>>
>> >>>> d0v0 0000:22:00.0: existing mapping (mfn: 181c4300 type: 0) at 0 cl=
obbers MSIX MMIO area
>> >>>>
>> >>>> And the device left unable to enable memory decoding due to the fai=
lure
>> >>>> reported by vpci_make_msix_hole().
>> >>>>
>> >>>> Introduce checking in init_msix() to ensure the BARs containing the=
 MSI-X
>> >>>> tables are usable.  This requires checking that the BIR points to a
>> >>>> non-empty BAR, and the offset and size of the MSI-X tables can fit =
in the
>> >>>> target BAR.
>> >>>>
>> >>>> This fixes booting PVH dom0 on Supermicro AS -2126HS-TN severs with=
 AMD
>> >>>> EPYC 9965 processors.  The broken device is:
>> >>>>
>> >>>> 22:00.0 SATA controller: Advanced Micro Devices, Inc. [AMD] FCH SAT=
A Controller [AHCI mode] (rev 93)
>> >>>>
>> >>>> There are multiple of those integrated controllers in the system, a=
ll
>> >>>> broken in the same way.
>> >>>>
>> >>>> Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
>> >>>> ---
>> >>>> Cc: Stewart Hildebrand <stewart.hildebrand@amd.com>
>> >>>> Cc: Jan Beulich <jbeulich@suse.com>
>> >>>> Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>> >>>>
>> >>>> While not strictly a bugfix, I consider this a worthy improvement s=
o that
>> >>>> PVH dom0 has a chance to boot on hardware that exposes such broken =
MSI-X
>> >>>> capabilities.  Hence I think this change should be considered for i=
nclusion
>> >>>> into 4.21.  There a risk of regressing on hardware that was already=
 working
>> >>>> with PVH, but given enough testing that should be minimal.
>> >>>> ---
>> >>>>  xen/drivers/vpci/msix.c | 50 ++++++++++++++++++++++++++++++++++++-=
----
>> >>>>  1 file changed, 45 insertions(+), 5 deletions(-)
>> >>>>
>> >>>> diff --git a/xen/drivers/vpci/msix.c b/xen/drivers/vpci/msix.c
>> >>>> index 54a5070733aa..8458955d5bbb 100644
>> >>>> --- a/xen/drivers/vpci/msix.c
>> >>>> +++ b/xen/drivers/vpci/msix.c
>> >>>> @@ -675,6 +675,51 @@ static int cf_check init_msix(struct pci_dev *=
pdev)
>> >>>>      if ( !msix )
>> >>>>          return -ENOMEM;
>> >>>> =20
>> >>>> +    msix->tables[VPCI_MSIX_TABLE] =3D
>> >>>> +        pci_conf_read32(pdev->sbdf, msix_table_offset_reg(msix_off=
set));
>> >>>> +    msix->tables[VPCI_MSIX_PBA] =3D
>> >>>> +        pci_conf_read32(pdev->sbdf, msix_pba_offset_reg(msix_offse=
t));
>> >>>> +
>> >>>> +    /* Check that the provided BAR is valid. */
>> >>>> +    for ( i =3D 0; i < ARRAY_SIZE(msix->tables); i++ )
>> >>>> +    {
>> >>>> +        const char *name =3D (i =3D=3D VPCI_MSIX_TABLE) ? "vector"=
 : "PBA";
>> >>>> +        const struct vpci_bar *bars =3D pdev->vpci->header.bars;
>> >>>> +        unsigned int bir =3D msix->tables[i] & PCI_MSIX_BIRMASK;
>> >>>> +        unsigned int type;
>> >>>> +        unsigned int offset =3D msix->tables[i] & ~PCI_MSIX_BIRMAS=
K;
>> >>>> +        unsigned int size =3D
>> >>>> +            (i =3D=3D VPCI_MSIX_TABLE) ? max_entries * PCI_MSIX_EN=
TRY_SIZE
>> >>>> +                                   : ROUNDUP(DIV_ROUND_UP(max_entr=
ies, 8), 8);
>> >>>> +
>> >>>> +        if ( bir >=3D ARRAY_SIZE(pdev->vpci->header.bars) )
>> >>>> +        {
>> >>>> +            printk(XENLOG_ERR "%pp: MSI-X %s table with out of ran=
ge BIR %u\n",
>> >>>> +                   &pdev->sbdf, name, bir);
>> >>> Would it be worth adding something here such that a device vendor te=
sting their
>> >>> hardware under Xen can trivially grep for device bugs?
>> >>>
>> >>> Something akin to "[Firmware bug]" on Linux, like "[Device bug]" or =
some such.
>> >>>
>> >>> It would also let anyone not very knowledgeable about PCI know that =
a device
>> >>> they own is being unreasonable. Same below in the other XENLOG_ERR m=
essages.
>> >> We could add indeed.  I don't think we haven't done so in the past.
>> >> If we go that route I would suggest that I add a:
>> >>
>> >> #define DEVICE_BUG_PREFIX "[Device bug] "
>> >>
>> >> in lib.h or similar, to make sure we use the same prefix uniformly.
>> >> TBH
>>=20
>> We have several FIRMWARE BUG's in Xen already, and several more that
>> ought to move to this pattern.
>>=20
>> Given that Linux has definitely been booted on this hardware, we should
>> match whichever prefix they use for messages about this.
>
> I don't think Linux prints any message about this, it simply ignores
> the capability.
>
> We have another instance of having to support buggy devices in vPCI:
> when a device places registers in the same 4K page as the MSI-X vector
> or PBA tables.  In that case the offending device was an Intel
> Wireless card.
>
> I'm happy to use "[Device Bug]", will adjust the patch this afternoon.
>

In Linux's printk.h

	/*
	 * FW_BUG
	 * Add this to a message where you are sure the firmware is buggy or behav=
es
	 * really stupid or out of spec. Be aware that the responsible BIOS develo=
per
	 * should be able to fix this issue or at least get a concrete idea of the
	 * problem by reading your message without the need of looking at the kern=
el
	 * code.
	 *
	 * Use it for definite and high priority BIOS bugs.
	 *
	 * FW_WARN
	 * Use it for not that clear (e.g. could the kernel messed up things alrea=
dy?)
	 * and medium priority BIOS bugs.
	 *
	 * FW_INFO
	 * Use this one if you want to tell the user or vendor about something
	 * suspicious, but generally harmless related to the firmware.
	 *
	 * Use it for information or very low priority BIOS bugs.
	 */
	#define FW_BUG		"[Firmware Bug]: "
	#define FW_WARN		"[Firmware Warn]: "
	#define FW_INFO		"[Firmware Info]: "

	/*
	 * HW_ERR
	 * Add this to a message for hardware errors, so that user can report
	 * it to hardware vendor instead of LKML or software vendor.
	 */
	#define HW_ERR		"[Hardware Error]: "

HW_ERR seems wired to MCEs and the like rather than everything covered by
quirks.c in Linux, but using [Hardware Error] might help grep scripts by
matching existing messages in Linux's dmesg.

Otherwise, "[Devive Bug]" works just as well.

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Tue Oct 07 09:12:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Oct 2025 09:12:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138631.1474273 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v63jz-0007OI-2i; Tue, 07 Oct 2025 09:12:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138631.1474273; Tue, 07 Oct 2025 09:12:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v63jy-0007OB-W3; Tue, 07 Oct 2025 09:12:14 +0000
Received: by outflank-mailman (input) for mailman id 1138631;
 Tue, 07 Oct 2025 09:12:13 +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
 <SRS0=qVcl=4Q=amd.com=Alejandro.GarciaVallejo@srs-se1.protection.inumbo.net>)
 id 1v63jx-0007Ny-9n
 for xen-devel@lists.xenproject.org; Tue, 07 Oct 2025 09:12:13 +0000
Received: from CO1PR03CU002.outbound.protection.outlook.com
 (mail-westus2azlp170100005.outbound.protection.outlook.com
 [2a01:111:f403:c005::5])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b2616926-a35d-11f0-9809-7dc792cee155;
 Tue, 07 Oct 2025 11:12:07 +0200 (CEST)
Received: from BYAPR05CA0002.namprd05.prod.outlook.com (2603:10b6:a03:c0::15)
 by DM3PR12MB9391.namprd12.prod.outlook.com (2603:10b6:0:3d::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.16; Tue, 7 Oct
 2025 09:12:01 +0000
Received: from CO1PEPF000044F4.namprd05.prod.outlook.com
 (2603:10b6:a03:c0:cafe::46) by BYAPR05CA0002.outlook.office365.com
 (2603:10b6:a03:c0::15) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9203.9 via Frontend Transport; Tue, 7
 Oct 2025 09:12:00 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 CO1PEPF000044F4.mail.protection.outlook.com (10.167.241.74) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9203.9 via Frontend Transport; Tue, 7 Oct 2025 09:11:59 +0000
Received: from localhost (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Tue, 7 Oct
 2025 02:11:58 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b2616926-a35d-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ciwAlPwn09IbnjO/PiQ4bNA2pzn7pYf1H0aM8Lov/GOehipfGgupsvTgPUu+5aTyg53GtDTSZJ46Zl8FmZWes1fv+nDWTEHyYMHrWJBfvdlC5RhHammHbLue/8t5sS8dyxEBoWsjzDPtV4qBXrENGxmb5Y8O2i/ZL1es9phwVHCU40h+gaEw42YVQtBXhgVk1t0kzzmg0U7mzwC96SrGtADVepcUVVQh14421bq0ZHpyAEFJUC69eVzS53JTH8vv2uUaIyuAnhdShsvvI6OgcpgmfungfsWvFwe0D88/wTWbDfge27L9k0rf/XhyEWUN/LOlUq/QIdn8HfAQ17xozA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=IRBbOsAQzRdP52mgci1MzF2yRKWRNEkie8mPHxmMbos=;
 b=VM7Xb0IzaHRGDqkG63vPErMTAtJQTRaZVHYBNEqIYliwhheFbh68xdy7LIPBYqClg9P0gtQGmWiSLCeS41vjbrkqVx0ui0InB7pH4Fhg3iECMTRtL4zQz6uuPDA0J7/UMcBSJFrty5DEu0JfMxTnASEWykbVg66qEDddDkbcYbR7KA2mrbJFU4V1r4v1xuPMznQVqkf3TDlRjPwW7TLn3omqwqai7DfWNEUxbo4+ymJIG2WvbpKcLWflSorr5dINesssbjzDP/3E72iIwsZWSGzmt2MT9VoyH2HcgwB/tOs2ZR3P7zyULwZmfsta7xUlnDhyXvEyoARPwJ3l97/7Bw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IRBbOsAQzRdP52mgci1MzF2yRKWRNEkie8mPHxmMbos=;
 b=oVeIvWv0S2F8L0N25OI3yaULkFG/pHtWeUDWfyFB3y0Q1SErYUXeGPkC+DgGKJkwYZnWHaFFSOPrAsVLEMfmtlqoEDeh2q1NZhP4F38lUZe1d7UXlZ9LpJlNtpphEFpVaFo3STojlM8XW68Jt9b5pfqeH1W8Gz8dSIa1pJ7GkTU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="UTF-8"
Date: Tue, 7 Oct 2025 11:11:56 +0200
Message-ID: <DDBZ2NZECIMD.200RAWMH4ON51@amd.com>
From: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
To: Michal Orzel <michal.orzel@amd.com>, <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@vates.tech>, Xen-devel
	<xen-devel-bounces@lists.xenproject.org>
Subject: Re: [PATCH v2] tools: init-dom0less: Replace err() with more
 informative messages
X-Mailer: aerc 0.20.1
References: <20251007062656.4254-1-michal.orzel@amd.com>
In-Reply-To: <20251007062656.4254-1-michal.orzel@amd.com>
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000044F4:EE_|DM3PR12MB9391:EE_
X-MS-Office365-Filtering-Correlation-Id: 233de156-463a-4ae4-61d7-08de0581925a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|1800799024|82310400026|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?Q1U5VU0wRWpJN0xMbGNLdVcvRUNHMy8vaUlIYm83SGtOUXNyMzdlQjNtd1JQ?=
 =?utf-8?B?TmdMclgvTGNsRE5sMTE4RmRWQWdLakxMWTl5MlVwR2JQSzhocnJMNUFPNllp?=
 =?utf-8?B?c2dJNzBWZ2tIdDg0VTRWdGVHa0V3SDl1dXpBZVpVRkhRVlcxTTJhZmtBeVY0?=
 =?utf-8?B?RDFHSVI1T2xkZEcxeHlHTTZLWHowYmsxN3JQZlJVa213enEwdERHcldKNUdF?=
 =?utf-8?B?ZEtrWWNYeHJxMlUrRDF4M3RHeHF4M28zbjBIVmZjZjdrZW1xMkxZS05lazEz?=
 =?utf-8?B?cVlYUGk4RVhJaEpRTDVMaXphQjlyNDFYRzhNTGhOSzRPTUZFY2xPN3NTdXM4?=
 =?utf-8?B?aWVGYmtDYTArYjlxRnRmTVhEeHlGcnJOa1UyV1JaY2J6MDJBS0tKdUplVWQ1?=
 =?utf-8?B?VjhhVzJBUGphYWZmdDFWV0dqNnVxaTNwQlVLQXRvc3dDa0F5clhCUktmRzE2?=
 =?utf-8?B?YnQvL3l5VnVZbTJscjJNbG1PQUgzQnhOQzhIYTVLME1vMy80U3Vxd2doa1Jr?=
 =?utf-8?B?UmZIbDhNR1RoYUd5d2NScnBIWmtCWnVoanVpN0tjek14WmZRdllqdzdKbjNq?=
 =?utf-8?B?YUlGb1ViSFg0a3JiV202TGNIb0NjZTJORC8wUkZIZFYyR1RqSnpCYlQveXZn?=
 =?utf-8?B?ZWhUS05tcWNFQ3JieFBLWVFER0NrV2tjOUpMdHF0RGJDMTF5V3FZbzRtUVh5?=
 =?utf-8?B?SHJJR0JQTGNXS1FiWnBiaDlzT3VBZjA2N0Jza0JCVHdKNjNUTzBFSmdqeXJz?=
 =?utf-8?B?L0JPTElQVVFWRHJqYWRsYXcxcVN5UlRxc1pQemhBandCaXVYc2JRRlpFMUZQ?=
 =?utf-8?B?QzEvWjN3d21sNDdBWEtuSE4vdUxpYnFNdUJ1RDYrUjd5SW0zWnBXZ0xtTGJx?=
 =?utf-8?B?NVZUcm54NDE5Q1pYUDlVSHBZTzJJaHhzQUhhbjd5b1JFSkRNUWsxOWQ5SDhx?=
 =?utf-8?B?Z3RMSE8zRW8rWFFCNXdYZ3ZTUWoxK1o1S1kxY1crSzJMbk1GV2kwMzQ5Q1BO?=
 =?utf-8?B?YU5oTE9uUzF0Zk4vbEVrcFZDRE5uam16QW9wdzZtVHBPNXRIZUhhVVFJK3JX?=
 =?utf-8?B?UERmMG95amx4K2FtalNCOTB5Ym5iR01YZ0ZlUFNrRnhRdDQ1YXhnRTBRRzEx?=
 =?utf-8?B?NlV6cHJJZ1FSOGIxbHJhWWdiT1dZcTBQZFk5eitPT0VxL0ZVRS9UOHRnZ3dN?=
 =?utf-8?B?SlZFMElEZTBkbyt1bWtmMUZxWlpCb05ubFl5bVgxU0lwWTdPSlFnaFBsT3h3?=
 =?utf-8?B?MGRhZ3BXcDVwU25ObERIZVhoZG0vNWhPUTdyMGdtanhxODlFL2poV2xmMjF5?=
 =?utf-8?B?Q0h6Q0ROQW1rVzgwSkNuYXZpUTBsREE4bWVZemZwRytXSGlkSVUzcDdNa05G?=
 =?utf-8?B?aEpvOGgreEE1QjJIbVJMN1NBbGhoUU9VbnNFUkRzVTYrVHBUZDlZOFliLzR0?=
 =?utf-8?B?Y2JxSkplNUtaamFCQWtOMjFQR0xkYWRYZmgyUkZhTHJFOHVsSlBPZlFicDZx?=
 =?utf-8?B?RWhwdnVENytOeWsydlE4R0ZvUGVQTjlKb0xaVzk4aGt2Z3lrblVkbnN2N1Mx?=
 =?utf-8?B?YnlKRHRSZjdRNUVmZHdsREdoZmlmb01OUHFWT09ORnhSd2FTaUQ0NUYraWQz?=
 =?utf-8?B?dURYQ05sUVZJY3d5dFRjQjl6RVliT25BdUwrY2c1UG8zM2haWE9KYk5sNVdo?=
 =?utf-8?B?RmNTVEEyS3F0b3psZnAvRHJVL2xWL3NSc0oydmJBaVk5QllnNkFVdVM5RkF4?=
 =?utf-8?B?T0hzRjc1MnhRWkhjTHBCWjdJeE5xN0lMZkZTYlNYeW0zc1czcW02TFJObVV1?=
 =?utf-8?B?NzJKZXI1cXVOZkFiNkpsQVA0bkYwVFZRV0I4dE5mQnhydXN2WXgvbEdzK2RW?=
 =?utf-8?B?UFpZS1dINHphMFlvbEd5ZTkrakF2QUZTYVZRYytBT1VPZUh1dFVVSUNscmxH?=
 =?utf-8?B?TjVrQWRiajF2WG1YK2MzS2d6cmRPVGczVEg4eGVJMk5FVjNUWkpEdkQ0UnBl?=
 =?utf-8?B?cFhhOWxxZ2NTL2F4dGJjMGhHK3JaVS82N1B6aXplUzA0b1poWXRHTUI3bVo2?=
 =?utf-8?B?UWRoNHFkWHNKWTZ1U1g3Vzd3ak5ZZUVieXFnRnM2Zk1qdS9DSzN0NXh3VnhN?=
 =?utf-8?Q?C6Aw=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(1800799024)(82310400026)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Oct 2025 09:11:59.6163
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 233de156-463a-4ae4-61d7-08de0581925a
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1PEPF000044F4.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM3PR12MB9391

On Tue Oct 7, 2025 at 8:26 AM CEST, Michal Orzel wrote:
> Current use of err() has the following issues:
> - without setting errno, on error it results in printing e.g.:
>  "init-dom0less: writing to xenstore: Success"
>  This is very misleading and difficult to deduct that there was a
>  failure.
> - does not propagate error codes to the caller.
> - skips "init_domain failed" message by exiting early.
> - early exit prevents setting up any remaining domains.
>
> Replace err() with more informative messages propagating rc when
> possible.
>
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>

  Reviewed-by: Alejandro Vallejo <alejandro.garciavallejo@amd.com>

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Tue Oct 07 10:22:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Oct 2025 10:22:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138645.1474287 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v64pI-0007BP-N5; Tue, 07 Oct 2025 10:21:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138645.1474287; Tue, 07 Oct 2025 10:21:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v64pI-0007BI-Im; Tue, 07 Oct 2025 10:21:48 +0000
Received: by outflank-mailman (input) for mailman id 1138645;
 Tue, 07 Oct 2025 10:21:46 +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
 <SRS0=uTop=4Q=infradead.org=peterz@srs-se1.protection.inumbo.net>)
 id 1v64pE-0007BC-4Z
 for xen-devel@lists.xenproject.org; Tue, 07 Oct 2025 10:21:46 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6672f1fa-a367-11f0-9809-7dc792cee155;
 Tue, 07 Oct 2025 12:21:38 +0200 (CEST)
Received: from 77-249-17-252.cable.dynamic.v4.ziggo.nl ([77.249.17.252]
 helo=noisy.programming.kicks-ass.net)
 by casper.infradead.org with esmtpsa (Exim 4.98.2 #2 (Red Hat Linux))
 id 1v64oe-0000000DixI-40cP; Tue, 07 Oct 2025 10:21:11 +0000
Received: by noisy.programming.kicks-ass.net (Postfix, from userid 1000)
 id 46331300220; Tue, 07 Oct 2025 12:21:06 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6672f1fa-a367-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Transfer-Encoding:
	Content-Type:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date:
	Sender:Reply-To:Content-ID:Content-Description;
	bh=vNHYGcYUWu+zhrNr0VX20BTV37QWlvHYYxUYXoY2euQ=; b=mmsCdRxUI345ERhSUGFHTcgxrE
	YEZ5pJyxwFjtu8mofBBVuNfLELkZEeDY4xtRnova6yDNGRfy3PO2f5ZJt5fhXS4EXa7H/I93ZnRxl
	KdZj8k432ZCmmibrZ4HzmNyYnT5X4GfZX/vtb+rZ7GADcumirEdb3pdbSje4L1lHZVs5E/qeUIqLH
	AlQpU9tMhCwAdFg/0IxUhhHWmj4JMO9Nr2RSXRAhMaUlTBX7VZ7GLsx9YDmR4rU2ImWVeBPoQI2h6
	E6s0OMqZklPR0pC/00tBhTg5qYvmR8s0GddYubu6n4+euFZcwYHTi1xydoKDDvkE0FiYfaeCxoHW3
	Ruy16Hqg==;
Date: Tue, 7 Oct 2025 12:21:06 +0200
From: Peter Zijlstra <peterz@infradead.org>
To: =?iso-8859-1?Q?J=FCrgen_Gro=DF?= <jgross@suse.com>
Cc: linux-kernel@vger.kernel.org, x86@kernel.org,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 15/21] x86/xen: Drop xen_irq_ops
Message-ID: <20251007102106.GE3245006@noisy.programming.kicks-ass.net>
References: <20251006074606.1266-1-jgross@suse.com>
 <20251006074606.1266-16-jgross@suse.com>
 <20251006185553.GY3245006@noisy.programming.kicks-ass.net>
 <c8b3c9ea-8c6c-4ec2-b01f-df3f8f487a8c@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
In-Reply-To: <c8b3c9ea-8c6c-4ec2-b01f-df3f8f487a8c@suse.com>

On Tue, Oct 07, 2025 at 09:47:48AM +0200, J=FCrgen Gro=DF wrote:
> On 06.10.25 20:55, Peter Zijlstra wrote:
> > On Mon, Oct 06, 2025 at 09:46:00AM +0200, Juergen Gross wrote:
> > > Instead of having a pre-filled array xen_irq_ops for Xen PV paravirt
> > > functions, drop the array and assign each element individually.
> >=20
> > Same comment for the next few patches; this changelog is a little light
> > on *why*. I mean, I don't mind the change, but supposedly we should
> > justify things at least a little, right? :-)
>=20
> Would you be fine with the following addition:
>=20
>   This is in preparation of reducing the paravirt include hell by
>   splitting paravirt.h into multiple more fine grained header files,
>   which will in turn require to split up the pv_ops vector as well.
>   Dropping the pre-filled array makes life easier for objtool to
>   detect missing initializers in multiple pv_ops_ arrays.

Yes, that'll do. The latter being the main reason in this case, right?



From xen-devel-bounces@lists.xenproject.org Tue Oct 07 10:29:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Oct 2025 10:29:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138654.1474296 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v64x5-0007oG-Ap; Tue, 07 Oct 2025 10:29:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138654.1474296; Tue, 07 Oct 2025 10:29:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v64x5-0007o9-8C; Tue, 07 Oct 2025 10:29:51 +0000
Received: by outflank-mailman (input) for mailman id 1138654;
 Tue, 07 Oct 2025 10:29:50 +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 <SRS0=xa6/=4Q=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1v64x4-0007o3-1b
 for xen-devel@lists.xenproject.org; Tue, 07 Oct 2025 10:29:50 +0000
Received: from mail-wm1-x334.google.com (mail-wm1-x334.google.com
 [2a00:1450:4864:20::334])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8d17c501-a368-11f0-9d15-b5c5bf9af7f9;
 Tue, 07 Oct 2025 12:29:48 +0200 (CEST)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-46e3a50bc0fso49334375e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 07 Oct 2025 03:29:48 -0700 (PDT)
Received: from ?IPV6:2003:e5:873f:400:7b4f:e512:a417:5a86?
 (p200300e5873f04007b4fe512a4175a86.dip0.t-ipconnect.de.
 [2003:e5:873f:400:7b4f:e512:a417:5a86])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-46fa57320easm9757245e9.0.2025.10.07.03.29.47
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Oct 2025 03:29:47 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8d17c501-a368-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1759832988; x=1760437788; darn=lists.xenproject.org;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=2eWusZcNpKtVq5dW80GDrMQQTVeegrdo963Cy6rWQoU=;
        b=RN2/XS642qoBCI1UvGHxPHL2bgMspFuIR0lVr5SP9JGJ7oGxtuHTFbLz0MOPFRaRam
         lGVExrHAd60bWWa4KFEwGh7SeJq8e9bQ43uszsmmGgkT5XJ/0Qokhq0hRhIpeRIiWa2F
         20Jm/LqQ6Kkkru+h5GeAGEEaF75CdFWWCFAztyagM1lFZtDbXf/v8T0QRQdZgItNhzV5
         NjOiz16fCoODPWowsmWQ7LLKFXChx8TYP0hnXKBcCnTFj3nFVgQmnVkVhN9yGn7/YEXX
         WZeHUUqD42B5IWuB6c9KRTzs1oow/PjNInXsrIg7qsXiryQZ46l/2swOWn6XKAVbsxFd
         Cv5Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759832988; x=1760437788;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=2eWusZcNpKtVq5dW80GDrMQQTVeegrdo963Cy6rWQoU=;
        b=gWRf5WslIfzuaQu19sK7r2rv1dMpsZt4rUO451dVs/VlK6a2Hv/xLbTGSjsrgZfE5D
         qUC7nrgGI8Foyj5xSyp5jzpd7QHn6MG3ChY16YmjrAsSIkEx8285TpJeLgN+SL8h739q
         cNTR65yCxcXembvilpAT50cAuu7FtsNu7wZe9uPmA27avGVXXx7U+YHXwWJb/dFhw66R
         5ufUoY5jJknL/9TZoZykMLfQnPcDtN/PeKjTs2A8yKeebkFWww1RppFx7baSYqMJqai2
         pgKiEG0F+juJPMKcEY/duZ30xVXeqTX16u+I6Y+jF8NiHf8h90V24rKQU0xj0RClYJEV
         3NXw==
X-Forwarded-Encrypted: i=1; AJvYcCX4pVMy950C3w7jBmU7Io/BXCiZu6PvBcMW9HS/4lk5giFoOM4WaZJ/V0xjb8j33J8BeM6qz1QJzaU=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy0CpkNfhFhX98oRh+w9rTv2RL4HfrMosYPPRd0n499K9gAMr8l
	qV/7YPy9bbdaWNrVl/j+R5J7B4UwabSNNKN86FLBtUMTB8EM1l6fodjea4k9ewZzEVo=
X-Gm-Gg: ASbGnctZuQFtWsjH7bkOhVYMSiXR2ptBCebpP8tTobKBW1Fisf2eFkvlIS/iHMqAftc
	kbFEvUr30u3C24UVBNPVa63IS2Su+mKIC5tYc4cu+3d/xu9Qvc5EuIrnLkWistEfbQ0OFsDRWJC
	S2OSP01b7wVKR6KdlnCzykiEJFpV1XZGbeoKvpx03M+PK6aeKOieIxCS0Y8TY1L1YC9mMhY2Mqz
	bX0hdLu45Wa94xstHcNniMgEL6FbsBsbAdLLMXiPOelGNzOxc4Ex53PtqStPXk9g598hPdK2m4q
	55twIMq1RZ7jJl6YtHyfXXWGgDh3j9cmBDtR3LGG4fulA7FKZmI+1/6EbRYK+m5nF+db1wThzEW
	EN4acARrDjddwSD/yMxJer0GE2AoHMxgoU43tmIq0HwgigD2+5EKwh8dmDKPsL/RyMMq8ftoKlx
	rpvxgD2sr9/iU1fM2nZG3N9nL1LCmaR/ljKlkpJI1IFpDwY/9cfjxNapGpQ5Ei0nkUgO1L
X-Google-Smtp-Source: AGHT+IFa2wmYvLfiKrxFBSn1h4B2BMRTb9cpqLeRxxPX1xSIeF3qD23om02py09WujSEWEu+IDw9Hw==
X-Received: by 2002:a05:600c:8718:b0:46e:45f7:34fc with SMTP id 5b1f17b1804b1-46e711447d0mr95661935e9.29.1759832988302;
        Tue, 07 Oct 2025 03:29:48 -0700 (PDT)
Message-ID: <471cefb9-538b-478c-89ec-53ee0e6308b1@suse.com>
Date: Tue, 7 Oct 2025 12:29:46 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 15/21] x86/xen: Drop xen_irq_ops
To: Peter Zijlstra <peterz@infradead.org>
Cc: linux-kernel@vger.kernel.org, x86@kernel.org,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 "H. Peter Anvin" <hpa@zytor.com>, Josh Poimboeuf <jpoimboe@kernel.org>,
 xen-devel@lists.xenproject.org
References: <20251006074606.1266-1-jgross@suse.com>
 <20251006074606.1266-16-jgross@suse.com>
 <20251006185553.GY3245006@noisy.programming.kicks-ass.net>
 <c8b3c9ea-8c6c-4ec2-b01f-df3f8f487a8c@suse.com>
 <20251007102106.GE3245006@noisy.programming.kicks-ass.net>
Content-Language: en-US
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <20251007102106.GE3245006@noisy.programming.kicks-ass.net>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------U1jBHiYTk2zlPK0TSvoBtxCg"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------U1jBHiYTk2zlPK0TSvoBtxCg
Content-Type: multipart/mixed; boundary="------------YTRlFEGN0io5KG2aajn7lFXI";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: linux-kernel@vger.kernel.org, x86@kernel.org,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 "H. Peter Anvin" <hpa@zytor.com>, Josh Poimboeuf <jpoimboe@kernel.org>,
 xen-devel@lists.xenproject.org
Message-ID: <471cefb9-538b-478c-89ec-53ee0e6308b1@suse.com>
Subject: Re: [PATCH v3 15/21] x86/xen: Drop xen_irq_ops
References: <20251006074606.1266-1-jgross@suse.com>
 <20251006074606.1266-16-jgross@suse.com>
 <20251006185553.GY3245006@noisy.programming.kicks-ass.net>
 <c8b3c9ea-8c6c-4ec2-b01f-df3f8f487a8c@suse.com>
 <20251007102106.GE3245006@noisy.programming.kicks-ass.net>
In-Reply-To: <20251007102106.GE3245006@noisy.programming.kicks-ass.net>

--------------YTRlFEGN0io5KG2aajn7lFXI
Content-Type: multipart/mixed; boundary="------------MyW1CCs8heR21w9nT0Sq8wSZ"

--------------MyW1CCs8heR21w9nT0Sq8wSZ
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMDcuMTAuMjUgMTI6MjEsIFBldGVyIFppamxzdHJhIHdyb3RlOg0KPiBPbiBUdWUsIE9j
dCAwNywgMjAyNSBhdCAwOTo0Nzo0OEFNICswMjAwLCBKw7xyZ2VuIEdyb8OfIHdyb3RlOg0K
Pj4gT24gMDYuMTAuMjUgMjA6NTUsIFBldGVyIFppamxzdHJhIHdyb3RlOg0KPj4+IE9uIE1v
biwgT2N0IDA2LCAyMDI1IGF0IDA5OjQ2OjAwQU0gKzAyMDAsIEp1ZXJnZW4gR3Jvc3Mgd3Jv
dGU6DQo+Pj4+IEluc3RlYWQgb2YgaGF2aW5nIGEgcHJlLWZpbGxlZCBhcnJheSB4ZW5faXJx
X29wcyBmb3IgWGVuIFBWIHBhcmF2aXJ0DQo+Pj4+IGZ1bmN0aW9ucywgZHJvcCB0aGUgYXJy
YXkgYW5kIGFzc2lnbiBlYWNoIGVsZW1lbnQgaW5kaXZpZHVhbGx5Lg0KPj4+DQo+Pj4gU2Ft
ZSBjb21tZW50IGZvciB0aGUgbmV4dCBmZXcgcGF0Y2hlczsgdGhpcyBjaGFuZ2Vsb2cgaXMg
YSBsaXR0bGUgbGlnaHQNCj4+PiBvbiAqd2h5Ki4gSSBtZWFuLCBJIGRvbid0IG1pbmQgdGhl
IGNoYW5nZSwgYnV0IHN1cHBvc2VkbHkgd2Ugc2hvdWxkDQo+Pj4ganVzdGlmeSB0aGluZ3Mg
YXQgbGVhc3QgYSBsaXR0bGUsIHJpZ2h0PyA6LSkNCj4+DQo+PiBXb3VsZCB5b3UgYmUgZmlu
ZSB3aXRoIHRoZSBmb2xsb3dpbmcgYWRkaXRpb246DQo+Pg0KPj4gICAgVGhpcyBpcyBpbiBw
cmVwYXJhdGlvbiBvZiByZWR1Y2luZyB0aGUgcGFyYXZpcnQgaW5jbHVkZSBoZWxsIGJ5DQo+
PiAgICBzcGxpdHRpbmcgcGFyYXZpcnQuaCBpbnRvIG11bHRpcGxlIG1vcmUgZmluZSBncmFp
bmVkIGhlYWRlciBmaWxlcywNCj4+ICAgIHdoaWNoIHdpbGwgaW4gdHVybiByZXF1aXJlIHRv
IHNwbGl0IHVwIHRoZSBwdl9vcHMgdmVjdG9yIGFzIHdlbGwuDQo+PiAgICBEcm9wcGluZyB0
aGUgcHJlLWZpbGxlZCBhcnJheSBtYWtlcyBsaWZlIGVhc2llciBmb3Igb2JqdG9vbCB0bw0K
Pj4gICAgZGV0ZWN0IG1pc3NpbmcgaW5pdGlhbGl6ZXJzIGluIG11bHRpcGxlIHB2X29wc18g
YXJyYXlzLg0KPiANCj4gWWVzLCB0aGF0J2xsIGRvLiBUaGUgbGF0dGVyIGJlaW5nIHRoZSBt
YWluIHJlYXNvbiBpbiB0aGlzIGNhc2UsIHJpZ2h0Pw0KWWVzLg0KDQoNCkp1ZXJnZW4NCg==

--------------MyW1CCs8heR21w9nT0Sq8wSZ
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------MyW1CCs8heR21w9nT0Sq8wSZ--

--------------YTRlFEGN0io5KG2aajn7lFXI--

--------------U1jBHiYTk2zlPK0TSvoBtxCg
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmjk65sFAwAAAAAACgkQsN6d1ii/Ey8h
kwf8DMv6TrAfRDqkPlGigKAPtzs+D+AMKXnwnufPoI9OHHcnbakkMxxuivzJhEuIapKEK5ZbSIZX
lq+044LMMvHd4md4tqEWxfCvbFbnMSMWaGbDhcQtEYpxCoKn0vf36a5uwiHGI5EZPOWoirWPAwkh
k+a749JwjiESx8Fe8qMwyBe1GQ5Rk98MyXuDz4F/0XhEMB/9Q5GMsNces73ZNGKc/YtfQtWzVcmp
l68PEO9NZMWsAfnk20gKvv9pZRAHnbFWrOXCh8yQsAtTCR1/8u0eE1CBw8MRG387UgITlayzN6wY
Bh9z2fEMyhPqwdpj7t5tt7H3Oijra5Cg8GhjS7Snww==
=9asZ
-----END PGP SIGNATURE-----

--------------U1jBHiYTk2zlPK0TSvoBtxCg--


From xen-devel-bounces@lists.xenproject.org Tue Oct 07 10:48:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Oct 2025 10:48:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138666.1474305 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v65FS-0002DU-O2; Tue, 07 Oct 2025 10:48:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138666.1474305; Tue, 07 Oct 2025 10:48:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v65FS-0002DN-Ka; Tue, 07 Oct 2025 10:48:50 +0000
Received: by outflank-mailman (input) for mailman id 1138666;
 Tue, 07 Oct 2025 10:48:48 +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
 <SRS0=1Adj=4Q=citrix.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1v65FQ-0002DD-Oo
 for xen-devel@lists.xenproject.org; Tue, 07 Oct 2025 10:48:48 +0000
Received: from SJ2PR03CU001.outbound.protection.outlook.com
 (mail-westusazlp170120002.outbound.protection.outlook.com
 [2a01:111:f403:c001::2])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 308e11e5-a36b-11f0-9809-7dc792cee155;
 Tue, 07 Oct 2025 12:48:43 +0200 (CEST)
Received: from CY4PR03MB3382.namprd03.prod.outlook.com (2603:10b6:910:53::36)
 by MN2PR03MB5118.namprd03.prod.outlook.com (2603:10b6:208:1af::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.20; Tue, 7 Oct
 2025 10:48:35 +0000
Received: from CY4PR03MB3382.namprd03.prod.outlook.com
 ([fe80::2947:e6d0:817c:58e8]) by CY4PR03MB3382.namprd03.prod.outlook.com
 ([fe80::2947:e6d0:817c:58e8%5]) with mapi id 15.20.9182.015; Tue, 7 Oct 2025
 10:48:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 308e11e5-a36b-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=jIGg9JnySpVSNHYabNN+8t9sVQ5WRy8RNXSUl3hYYeKB5c76OvpDtttdAjG48fL38BdhKk4FBqIsGJJejiO1UnmpPtzs6tL/jEu3cGDwWnUvx1X4PI61iojm58x6+jJu1i2KniqVzO76PuATkmSOzzu0tmaaDniGmeYTUPS+9urxg78D7K7T7bGdIp8QbUe8GDmOCLD1A4yLUdpWfd0hLBVFrZ9e1mWBvaWM7ceiRredXLZIhwNhGaBrRw6SstzX6ovdMHNSqq2sl1xaEb/83IFaCNeP4lpquVsWtPYvnWqo254fdKk4ty3TYKEQcReufpqroalaGMA8SGxOF+zS2w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XnKuMuS/DmbJZIpHQ4FbALKwQfdmb9XbkUo1fMOaMZY=;
 b=WXBSJh6ve+RnnMzQc1KyxUa6+7R5+ZpZP9OFTmv+4rtzVz7qrczF1IUnH/kfkBSOroYc1O/+2LUWjH7qtuqSucwcbpViHpju4TfClBROqqiXiTJdNWB+XBombDSgvAraVaKI9rPmiEcVPerJcKU7ppRdFVgdILXpcoK7Ef7vqWzTSZe2xXtmvf7lMZFr7s2j3zSw5//Hz+7JIswGFq9xlqLV7aRUwussAC3utgKsBSUGW1a1JuNQGM5VZe5t3hkdwlKwB5g+0oL/J+7RC7oyxYP1udefvq3U69xS0kNHmowAKfem6GZkr8KKHxuSV029jgmP3iHroeQpOuZlwtG7uQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XnKuMuS/DmbJZIpHQ4FbALKwQfdmb9XbkUo1fMOaMZY=;
 b=Kwxth8o680BvSGOCh7sbaOJH56AR8BShfnLAFqlOB4Qvfxbm2lPBUQZXNYhfQqcTePkX40z0dB8fW0u/vYNSGJ/hRykWD041hO8evHHB7kJYhpR8JYgAChiKAogHSceT/qJpB7HT88dZUG1wdMX1NEd4IPhHnztof7RIj3GizAU=
From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: Ross Lagerwall <ross.lagerwall@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, Andrew Cooper
	<andrew.cooper@citrix.com>, Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [PATCH livepatch-build-tools] Treat constant sections as string
 sections
Thread-Topic: [PATCH livepatch-build-tools] Treat constant sections as string
 sections
Thread-Index: AQHcKIHoyLH9KprocEqbpj5ziY/4lbS1cVKAgAEs5ek=
Date: Tue, 7 Oct 2025 10:48:34 +0000
Message-ID:
 <CY4PR03MB3382D76EDA23581DAE7C8A9F84E0A@CY4PR03MB3382.namprd03.prod.outlook.com>
References: <20250918095203.19421-1-frediano.ziglio@citrix.com>
 <DM6PR03MB4764D72D07BF22EA0B911A24F0E3A@DM6PR03MB4764.namprd03.prod.outlook.com>
In-Reply-To:
 <DM6PR03MB4764D72D07BF22EA0B911A24F0E3A@DM6PR03MB4764.namprd03.prod.outlook.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: CY4PR03MB3382:EE_|MN2PR03MB5118:EE_
x-ms-office365-filtering-correlation-id: bd90980c-afaa-4e85-1853-08de058f1096
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|366016|376014|1800799024|38070700021;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?qXOUNaD3qA7CItJbTJuJC4joYhXEcfp/Q701GN//dlYEKyfDmTGg7VqX39?=
 =?iso-8859-1?Q?qeGcX1vFEBPY1VKItidQuunqOBjtOX61Vrdp/Hp7+EurgCz4zVHjmrro/a?=
 =?iso-8859-1?Q?etdD7Y67tlr/6FRb9lgZY4qpR5OPr5Ht6WZ3JyBpcKmcFJAraTgaKdjsXK?=
 =?iso-8859-1?Q?pVhjErE3GljSl2PCKs3pVJROB6nNMSBIQpWIZYApaLIOboZ/uYKyEcGAO1?=
 =?iso-8859-1?Q?JrEibTWobhsZE8L3oK56s2i5E5xd6mFnfs5Q99Hu/NGC/3AQKT9970ivTQ?=
 =?iso-8859-1?Q?6WbNe40teMjTG84h6o9jVcYRE1L7uKZWD+th1oEobj3AhYR9oSZWi01vMS?=
 =?iso-8859-1?Q?ERW48iChTlzbhs1fsunvnl/TWmG6H3W91Fa6F6ZPk1px4sF514RgyGPtEE?=
 =?iso-8859-1?Q?yFfbzGGhOol5t596rUDPIf7hh0oLTUKD3aH35DlDXZbp3Tim7NJ9Trr2ig?=
 =?iso-8859-1?Q?CdlWsp+CYjZO/X7BBK49JLNmotHPA8JgsyvbW7LFwaR6y6O3bdHSVD6/Kc?=
 =?iso-8859-1?Q?c2KAvWpRkiqH+jyLUF1hzGnmD8LoNpdIzU5Ea7HDsBct+IzOVtSq2TGV+r?=
 =?iso-8859-1?Q?9U/UP34ThBW9cuWtqY0+Csmf1Ra3t9A8p2tBsfzCJaPLnEvKZWPG5HF9yi?=
 =?iso-8859-1?Q?LWLmSTGhBoyxWFvffS478+ujJ8tFJpofKmc1V22XZMCU05UXjWNsz/ULd8?=
 =?iso-8859-1?Q?PPl49JQL0tHuKXvhWnoroO1b7/eSL5+m/q1VtZ9/lXSBkEnLYA98Zxyz0o?=
 =?iso-8859-1?Q?9nvnqqyXi8CFhgl6fuQZyN6WhjOxfAckSwFPQdP4efRh8pZHJy8iaUY198?=
 =?iso-8859-1?Q?fsQ39aPeGUrfne0wt1rAW5GxEEVFkB3bwfQYMf4gW/NT14wwlCRKjc8KJE?=
 =?iso-8859-1?Q?G5ysT7EvDpNTpkXmEKCeAoDl085lgGZfgimZS4++cGoSl1faFQ3Waw+Hvk?=
 =?iso-8859-1?Q?ZgDWd7yCvjiPbFhfa7wnnmdVsNpvVIhUSKnPztXC8E2g3Mw6MekfxyXL5U?=
 =?iso-8859-1?Q?URZeasKWCQp7JsaA+/04JDyITafIqYwGmSUb6pOHqwH5mmtz2scGsSk504?=
 =?iso-8859-1?Q?KKnVGkbZ+BAddV7HWN2DznKowDG9G2Osar+G6XHi0FMjbn8r+nSlnAr/h7?=
 =?iso-8859-1?Q?9PyxsPXKhDMi9uajcr2KGYFHJi/cyWyCbYSh3tVDnU3we/D+KQEQZ2tyml?=
 =?iso-8859-1?Q?JKO33jhL2cKvLmO3WcoDxATPDkuUntTEzAnm5+gaydzlGDKdHwj5U6r6Fa?=
 =?iso-8859-1?Q?gp5PZaihk29cPkh2rNKACGPleQjnYlIPZ1VwaGNG0ophjyEFsOZ9URDPY7?=
 =?iso-8859-1?Q?3vTvtivOPp1SbOB8R79s5E5qGzuCsoAEib+AsAC+oZJMMsUTWdtbMkn5tY?=
 =?iso-8859-1?Q?5wYpwExX7opAYVb58Kln5Is1Knf9De1q2VMSwn8FrUTKZb59nY/xOf8ve+?=
 =?iso-8859-1?Q?CL1TnDjw3gLfWSWeRSawz0AFFWCUNrEUn4hOj2xcE2LErYRpGD7Bv9md96?=
 =?iso-8859-1?Q?ph4L6cXkbp14rrRZ66SUuuEg3HEmFOG+QQXywpm0Wt3h03Zmp/Uf2VYR0g?=
 =?iso-8859-1?Q?lWn9Y3hkl5Dg47oYG2dNPCYOXpPU?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY4PR03MB3382.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(38070700021);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?y6ErURFWZfTWxOWzAUqKuhq14RY0SqFDpODrKZ9a3QKp6Y8c/1rKYLF5Qx?=
 =?iso-8859-1?Q?d75DRGvxQjpPBj7aYJUAj01c6Q/+AWYt8D2cpogKYVPLBqTMR3VlkUkLsv?=
 =?iso-8859-1?Q?x+cARrNvcGtf9wbsvACPxTjB8zGHSGq0ZSTFcT2OAh08OS4lAEHzzCxheD?=
 =?iso-8859-1?Q?MxnC2uqmuFUFJiJBgS4AOflzbrQt9OupFV6A9rfHyt+Q4XWSH66FEcBFC8?=
 =?iso-8859-1?Q?y4n9auxuK564XGbpPVH5/yID5Iz8Qv8ocOm9Td5l/j4NOzCHOK54HwNpgK?=
 =?iso-8859-1?Q?UkGqa/zIvQZ42ECHG575i4IXrzEtjfUyDBIA+zytcyUUpE9by+jzLiguGZ?=
 =?iso-8859-1?Q?Yh6/tTedfWHVbtQbCi+LGi+Pw+4OQM7xEHbX58/eQUBVwD7bHIPpVKGiPU?=
 =?iso-8859-1?Q?otYTQcYpYFOuw75d84cJUvSHUQxYxaB/zH4+yjB9avtDftTLkFbc1zLg8z?=
 =?iso-8859-1?Q?VbgPZ7tT8SfLrKhBUa+4LOdeKnnjjZC9r35juWmJgN604g9znsxbY3giFQ?=
 =?iso-8859-1?Q?rW/0u+UthmA7lS8TSpQICBUmUUVCXl5yP49jKsltqseXKoDZOBQAl49Pps?=
 =?iso-8859-1?Q?DOMTRVQsopJoid47Rlcfsn9zBc5UMrGW2rhMrb+Z5L+fzyafO0vGgeui49?=
 =?iso-8859-1?Q?CH5oBk5XxR6iskHDwfZRznuI+x8iO8x17UT+IQqFUeG2QIFh5TcLvrGH6+?=
 =?iso-8859-1?Q?rtIkBBbesA0/V0UbIV8DL93OuY2zpXg9rnHC0fW2ZsSWiKDmifgbxK9mCv?=
 =?iso-8859-1?Q?s+3FlUsHFghKf34Jc3s6OXYVS0b2nbGKgPPh8cIEpcdXYCzy9ZI50SywHO?=
 =?iso-8859-1?Q?bAwY55bwnd8fYNWUBiWfQ7tJErzC10vODe9Tr0VX7BVCycFqGUHxuJjYXV?=
 =?iso-8859-1?Q?psxBjqprHrUxI/ak/0kUGqPt4LQxW8kJzim8dMkWziHHLiIKA2L7gFPj4D?=
 =?iso-8859-1?Q?/J5qeriWAEN8RQR2zRzQORDyfLdWcL+Nd0E7Cu0uYhVnsiR2oobUlfFzA8?=
 =?iso-8859-1?Q?Usuv4Ip6jmFAdzOUFMlrjysX53Z883Dt/f5b//fEuFHmce6bCvYmQ5qTES?=
 =?iso-8859-1?Q?eQMdV1r3a+KTBpUe55FqX/lJ3mcoPermAYfsN1ab/yY2OZbY+GfTVyDjTE?=
 =?iso-8859-1?Q?pk8kQEtqP21WilB3ILYo+E6cU3Wfyp9Dj/GTsbOGztFzR1m3N9nVXjW60F?=
 =?iso-8859-1?Q?+jNAyBwyWaPvgkRUiYC7GHpkECWSd2avoe64v5Ay0UPGxGPDcGHDr78DBK?=
 =?iso-8859-1?Q?MSqDRlspCSY38/4Lf8K+S5Zwt+SeGG1athfyTY7i0dXl/mk66HLONu5EtD?=
 =?iso-8859-1?Q?PQTAMSFa/7rVfpCZTNypVHIMsGQHXTH8R7rXCJM0xPfUsQJk1ymQ2jNG3o?=
 =?iso-8859-1?Q?ivSadP/KEvElWetfVkSryYsZ50f7SqQ4E7vh9kHztQnOu/fZkhIW+TDclD?=
 =?iso-8859-1?Q?laQrj21M9vZ5RSiJ66S/DsJ6gehQ+4KEgHQUJD8w3IDq8YuenlEcjE31bM?=
 =?iso-8859-1?Q?lq1uN5FGtQyjI5DkRLsAQXB8Puugv16qEZeSK2OWoGO6vLaF4ilfsngn2c?=
 =?iso-8859-1?Q?W3YlSGGXAflKwf4tUIXJO3Bqgg8IIBoE+q01DrVvRqcbvYztlGl+3mvBo0?=
 =?iso-8859-1?Q?cLxqqPg+/vDHYMgOq1qCq/j4VUJ0pBPWKU?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: CY4PR03MB3382.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bd90980c-afaa-4e85-1853-08de058f1096
X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Oct 2025 10:48:34.9770
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: s3yxD+vIgC7jALkXWokcM17IBlBfqlYGeefmKtboBwqsb4NWpkkrt9xPfyqKMdcmSAvhk503zeOBcYoHKKRgkl2lwoRyFw8wUmwpuVFxV6o=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR03MB5118

> > From: Frediano Ziglio =0A=
> > Sent: Thursday, September 18, 2025 10:51 AM=0A=
> > To: xen-devel@xxxxxxxxxxxxxxxxxxxx =0A=
> > Cc: Frediano Ziglio ; Ross Lagerwall ; Konrad Rzeszutek Wilk ; Andrew C=
ooper ; Roger Pau Monne =0A=
> > Subject: [PATCH livepatch-build-tools] Treat constant sections as strin=
g sections=0A=
> >  =0A=
> > Newer compiler can put some constant strings inside constant=0A=
> > sections (.rodata.cstXX) instead of string sections (.rodata.str1.XX).=
=0A=
> > This causes the produced live patch to not apply when such=0A=
> > strings are produced.=0A=
> > So treat the constant sections as string ones.=0A=
> =0A=
> =0A=
> Are you sure it was a string and not something else? As far as I can=0A=
> tell GCC chooses the section in categorize_decl_for_section() which=0A=
> doesn't appear to ever put constant strings in .rodata.cst.=0A=
>=0A=
=0A=
=0A=
In the specific case it was a "h" string (used for continuation).=0A=
 =0A=
> =0A=
> In any case if we have a reference to a constant in .rodata.cst then the=
=0A=
> section _does_ need to be included in its entirety, though it makes me=0A=
> wonder if is_rodata_str_section is the best place for this check.=0A=
> =0A=
> =0A=
> > =0A=
> > Signed-off-by: Frediano Ziglio =0A=
> > ---=0A=
> >  create-diff-object.c | 6 ++++++=0A=
> >  1 file changed, 6 insertions(+)=0A=
> > =0A=
> > diff --git a/create-diff-object.c b/create-diff-object.c=0A=
> > index 7e6138b..7acaf88 100644=0A=
> > --- a/create-diff-object.c=0A=
> > +++ b/create-diff-object.c=0A=
> > @@ -1446,11 +1446,16 @@ static bool is_rodata_str_section(const char *n=
ame)=0A=
> =0A=
> =0A=
> Can you update the comment at the top of this function?=0A=
> =0A=
=0A=
I'll do it.=0A=
=0A=
> =0A=
> >  {=0A=
> >  #define GCC_5_SECTION_NAME ".rodata.str1."=0A=
> >  #define GCC_6_SECTION_NAME ".str1."=0A=
> > +#define GCC_CSTR ".rodata.cst"=0A=
> =0A=
> =0A=
> What does CSTR stand for? May call it GCC_CONSTANT_SECTION_NAME instead?=
=0A=
> =0A=
=0A=
It makes sense, I'll change it.=0A=
=0A=
> =0A=
> Ross=0A=
=0A=
Frediano=0A=


From xen-devel-bounces@lists.xenproject.org Tue Oct 07 11:29:35 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Oct 2025 11:29:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138691.1474316 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v65se-0007Pg-RO; Tue, 07 Oct 2025 11:29:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138691.1474316; Tue, 07 Oct 2025 11:29:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v65se-0007PZ-OM; Tue, 07 Oct 2025 11:29:20 +0000
Received: by outflank-mailman (input) for mailman id 1138691;
 Tue, 07 Oct 2025 11:29:19 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1v65sd-0007PR-Gz
 for xen-devel@lists.xenproject.org; Tue, 07 Oct 2025 11:29:19 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <julien@xen.org>) id 1v65sd-00DS05-08;
 Tue, 07 Oct 2025 11:29:19 +0000
Received: from [2a02:8012:3a1:0:e89d:4c04:6995:ad43]
 by xenbits.xenproject.org with esmtpsa (TLS1.3) tls
 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96)
 (envelope-from <julien@xen.org>) id 1v65sd-008QHi-0P;
 Tue, 07 Oct 2025 11:29:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=wOIkZRCRajrtqml2X0sw1q0IG2Nn1vG2sjfMo2E+m9w=; b=ih3CndFZ64AgMPOcuRL3aU0b6z
	O29+yEOqPQnPpb7ixMllvlzmUy5PKoxb7URRkrJKuZTDZrIdDhZfsncpQVxjMGWtpA/xnUgHrkkos
	07HMWuHWukNhn9vx2YZ5xxHDsrQO9NZI9M8w8GkJnnSjrFPwzrMJ4zKoGkgw6enuNbf0=;
Message-ID: <a040885d-9669-4ea3-92a0-e405ac3cdbdf@xen.org>
Date: Tue, 7 Oct 2025 12:29:16 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/2] Config.mk: Pin QEMU_UPSTREAM_REVISION
Content-Language: en-GB
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20251006200840.2171113-1-andrew.cooper3@citrix.com>
 <20251006200840.2171113-2-andrew.cooper3@citrix.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20251006200840.2171113-2-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Andrew,

On 06/10/2025 21:08, Andrew Cooper wrote:
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Acked-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Tue Oct 07 11:35:28 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Oct 2025 11:35:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138700.1474325 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v65yV-0000Ve-BU; Tue, 07 Oct 2025 11:35:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138700.1474325; Tue, 07 Oct 2025 11:35:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v65yV-0000VX-85; Tue, 07 Oct 2025 11:35:23 +0000
Received: by outflank-mailman (input) for mailman id 1138700;
 Tue, 07 Oct 2025 11:35:21 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1v65yT-0000VR-SG
 for xen-devel@lists.xenproject.org; Tue, 07 Oct 2025 11:35:21 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <julien@xen.org>) id 1v65yT-00DS9Q-1b;
 Tue, 07 Oct 2025 11:35:21 +0000
Received: from [2a02:8012:3a1:0:e89d:4c04:6995:ad43]
 by xenbits.xenproject.org with esmtpsa (TLS1.3) tls
 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96)
 (envelope-from <julien@xen.org>) id 1v65yT-008Qox-1Z;
 Tue, 07 Oct 2025 11:35:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=KmrIabJMHnM18Osm5vA/k2kiC8sUWR6wVZskoIGGQKU=; b=f970tyATkcv3KX5+bM/90pDwQB
	7D/utx96nPjGtTJAMpufy7RjxAwdbyzPw5Iz7nHYzdtEluEosJc7tE4lOBop6TZOo5ayDpbU53X7b
	7O9nQR/mBfeAyNtvR1+CB+TumKviDSWRq1b0ARkztlithyIChdjmM894NXW38C+ID8vM=;
Message-ID: <242da3ca-f892-436a-96b5-2fb9187d0429@xen.org>
Date: Tue, 7 Oct 2025 12:35:19 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] Update Xen version to 4.21.0-rc1
Content-Language: en-GB
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20251006200840.2171113-1-andrew.cooper3@citrix.com>
 <20251006200840.2171113-3-andrew.cooper3@citrix.com>
 <aOS5O2h767J1QPxs@Mac.lan> <dab0d59a-4a72-454d-aa3d-3bebe9caf146@citrix.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <dab0d59a-4a72-454d-aa3d-3bebe9caf146@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Andrew,

On 07/10/2025 09:28, Andrew Cooper wrote:
> On 07/10/2025 7:54 am, Roger Pau MonnÃ© wrote:
>> On Mon, Oct 06, 2025 at 09:08:40PM +0100, Andrew Cooper wrote:
>>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>> ---
>>> CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>>> CC: Anthony PERARD <anthony.perard@vates.tech>
>>> CC: Michal Orzel <michal.orzel@amd.com>
>>> CC: Jan Beulich <jbeulich@suse.com>
>>> CC: Julien Grall <julien@xen.org>
>>> CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
>>> CC: Stefano Stabellini <sstabellini@kernel.org>
>>> ---
>>>   README       | 10 +++++-----
>>>   SUPPORT.md   |  2 +-
>>>   xen/Makefile |  2 +-
>>>   3 files changed, 7 insertions(+), 7 deletions(-)
>>>
>>> diff --git a/README b/README
>>> index 9329f30e1366..eaee78bd7375 100644
>>> --- a/README
>>> +++ b/README
>>> @@ -1,9 +1,9 @@
>>>   ############################################################
>>> -__  __                                _        _     _
>>> -\ \/ /___ _ __        _   _ _ __  ___| |_ __ _| |__ | | ___
>>> - \  // _ \ '_ \ _____| | | | '_ \/ __| __/ _` | '_ \| |/ _ \
>>> - /  \  __/ | | |_____| |_| | | | \__ \ || (_| | |_) | |  __/
>>> -/_/\_\___|_| |_|      \__,_|_| |_|___/\__\__,_|_.__/|_|\___|
>>> + __  __            _  _    ____  _
>>> + \ \/ /___ _ __   | || |  |___ \/ |   _ __ ___
>>> +  \  // _ \ '_ \  | || |_   __) | |__| '__/ __|
>>> +  /  \  __/ | | | |__   _| / __/| |__| | | (__
>>> + /_/\_\___|_| |_|    |_|(_)_____|_|  |_|  \___|
>>>   
>>>   ############################################################
>>>   
>>> diff --git a/SUPPORT.md b/SUPPORT.md
>>> index eb44ee85fd12..491f9ecd1bbb 100644
>>> --- a/SUPPORT.md
>>> +++ b/SUPPORT.md
>>> @@ -9,7 +9,7 @@ for the definitions of the support status levels etc.
>>>   
>>>   # Release Support
>>>   
>>> -    Xen-Version: 4.21-unstable
>>> +    Xen-Version: 4.21-rc
>>>       Initial-Release: n/a
>>>       Supported-Until: TBD
>>>       Security-Support-Until: Unreleased - not yet security-supported
>>> diff --git a/xen/Makefile b/xen/Makefile
>>> index 49da79e10fb4..ba8c7147a2f6 100644
>>> --- a/xen/Makefile
>>> +++ b/xen/Makefile
>>> @@ -6,7 +6,7 @@ this-makefile := $(call lastword,$(MAKEFILE_LIST))
>>>   # All other places this is stored (eg. compile.h) should be autogenerated.
>>>   export XEN_VERSION       = 4
>>>   export XEN_SUBVERSION    = 21
>>> -export XEN_EXTRAVERSION ?= -unstable$(XEN_VENDORVERSION)
>>> +export XEN_EXTRAVERSION ?= .0-rc1$(XEN_VENDORVERSION)
>> In previous switches to start cutting RC's we didn't add the 1 to the
>> XEN_EXTRAVERSION, see 19730dbb3fd8078743d5196bd7fc32f3765557ad for
>> example.
> 
> Correct.Â  That was also buggy and complained about.
> 
>>    If we do add the rc number we need to remember to bump it
>> each time and RC is released.
> 
> Last time we had truly buggy early rc tarballs, the middle ones were
> bodged somewhat (incompletely, and not a straight git archive), and by
> RC5 we had a commit with the correct XEN_EXTRAVERSION to make the
> tarball correct.

docs/process/release-technician-checklist.txt says:

#      `.0-rc$(XEN_VENDORVERSION)'       during freeze, first rc onwards 
(including staging, before branching)

I don't have any strong preference on whether we should also update it 
with the RC number. But the doc should at least be updated to reflect 
the decision. Can you send an update?

I think we also have a few updates to the checklist which would be good 
to merge as well. (one is from you).

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Tue Oct 07 12:19:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Oct 2025 12:19:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138717.1474336 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v66fM-0005i3-Eq; Tue, 07 Oct 2025 12:19:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138717.1474336; Tue, 07 Oct 2025 12:19:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v66fM-0005hw-BX; Tue, 07 Oct 2025 12:19:40 +0000
Received: by outflank-mailman (input) for mailman id 1138717;
 Tue, 07 Oct 2025 12:19:39 +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 <SRS0=F9pE=4Q=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v66fL-0005hq-84
 for xen-devel@lists.xenproject.org; Tue, 07 Oct 2025 12:19:39 +0000
Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com
 [2a00:1450:4864:20::636])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e463470d-a377-11f0-9d15-b5c5bf9af7f9;
 Tue, 07 Oct 2025 14:19:37 +0200 (CEST)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-b3e234fcd4bso1013873566b.3
 for <xen-devel@lists.xenproject.org>; Tue, 07 Oct 2025 05:19:37 -0700 (PDT)
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
 a640c23a62f3a-b4869c4e5d8sm1366770566b.82.2025.10.07.05.19.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Oct 2025 05:19:36 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e463470d-a377-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1759839577; x=1760444377; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=MyGCnyaH+rXkx1GnILXiMMd8m5H1XydXJJTx/sNuaU8=;
        b=eQcPtjOvMm64UO1vVTYmi3K474HeQ+oSrkzh9ic0sR/Y2Jx3IuCgmva+oAt0MBgStb
         sYBTz7qteaNBykKBxobeVBV8/wTTW6Gkpr+5uZ3J6PNf/lGbbr5SKoIWqq2K+AR1+3wm
         QqoAoP0xZ2guswGfz//w4dndiPaR43p25OkOzNz7mcTaoRVMQemu1/eyl14XQ1Z64rv5
         fJEhTrBswTml/BRQpHceCoRaB8r+SwavEKNbm89n/Mb61UVJyCAt/Q1WdGtVXV25r2Mq
         VcBVGylJULbKZ0YxAAL2pkHNm7oNsV1x6pBvwj2n5VBA1AzeAKpoPV5oIba1YKcYSFuF
         ETqQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759839577; x=1760444377;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=MyGCnyaH+rXkx1GnILXiMMd8m5H1XydXJJTx/sNuaU8=;
        b=coQ0ie53giX0d3XY1gULJe9d7Uy6fNKAuaozkKTbPvqNnq0DOLz+xfeRgW3Qk2ZsrB
         MNW5WT9fzBOTaLQgNAckJj5j2lT28kqLj86cQS1Wa62etFGi43f6tJp1AFACzhRbTcin
         yDMzpGVGVp46e3L7ZD4TQxeP71vlPcO7AaP67B7o715TYUQbKb3dOHybK/IbNymsFz/M
         rNOaRESnfSxg1NMYNeD7gk6xL2/TCHZqvT3hyYm78BCxqJyIepUtEpRxJKwuMgOhkoWm
         OXyySrRKDhG0/kl40QTsVg7USrFB0WcWbwizaa1sJqrXhHoomG/uG2yFLhFsRIL+70Nq
         tfvg==
X-Forwarded-Encrypted: i=1; AJvYcCXmK3bQokOVcw9eie3u+6rbUtjWi5kMGI7aXWxan+8lWGw1940yo57z6Ee1nhRwjNOK9HiI5Dip1TQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwzZReHHxBeTkflhiVBzIDOxevPVl8M1kMtbPEn9cxBOSYzzhLu
	zxtggrrq1i17JjYGzW62V9vAQ1ClqDORGaBcJ+YudzRDU4UxpGS9fEK6XmTamOTuHWR4G+sZ/9g
	YqWk=
X-Gm-Gg: ASbGncsHdm6Kl15JQ/Riyhl4uc4X9q3tLz8TNLY8SohSGTeEfAPII4GfyT7DTPK7U3Z
	cHMbnqHDjxMtaFhnkDCdmmMrnsyy9ckmI7kj+ddoWS4xHnCdKNiX89dll2A7hLPWQaBwymhEIJe
	hoPIIO+Dk5R0I7ewUShyXyihJlxPn1COm6IDD+d4lCarPZueRfz4FagNwKmSxpnXGM1IPws0ska
	0C+6QPXcZ1Ibhilm9yu2yiqeRQLi0NECdgiv9ShvLTgAqF6/jGRH/L4nPN0bA6wpEGl5dIi8XSF
	Ai3WaOHMDzbCKAkL/3C5GCP35CPjQSE2l/psV7ZkN1oYcJSwp721heenlcfjkQFTXB8aBky0RxU
	HDimfAvXKzwIjYLyDN0ZKClOuCF9ymdmh31PqTMjshaomk7tFLQYH5ooHkB9DlMcESuSEjR0pwy
	mUaP5tUYhE3BJVf/iGM3G54DCwIp+rCbI=
X-Google-Smtp-Source: AGHT+IGt6DVldt1Yl50skXeJqHcWpfGfcAUIdyJiA+VKBvhnMRQPHDmzzGGcIZRuAt0vahJaBAl0uA==
X-Received: by 2002:a17:907:25cb:b0:b49:b3ca:52b4 with SMTP id a640c23a62f3a-b49c1d60aefmr1897005966b.23.1759839577173;
        Tue, 07 Oct 2025 05:19:37 -0700 (PDT)
Message-ID: <16d3dc29-5028-417e-9c13-6f617276dbac@suse.com>
Date: Tue, 7 Oct 2025 14:19:45 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21 1/2] x86/AMD: avoid REP MOVSB for Zen3/4
To: Teddy Astie <teddy.astie@vates.tech>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>, xen-devel@lists.xenproject.org
References: <8ecbf8b7-91fe-4f9e-9542-7ec22b6a47bb@suse.com>
 <6bcaa5b7-4e34-40c9-85e6-48a0a5869b86@suse.com>
 <485889ed-2820-4bb3-b450-88553dbb719e@vates.tech>
 <446909d8-f446-42f0-a236-47d5d64ea908@suse.com>
 <6f211ab0-b671-4ea6-88e9-f5cf7fe27a63@vates.tech>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <6f211ab0-b671-4ea6-88e9-f5cf7fe27a63@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 30.09.2025 15:03, Teddy Astie wrote:
> Le 25/09/2025 Ã  15:02, Jan Beulich a Ã©critÂ :
>> On 25.09.2025 14:18, Teddy Astie wrote:
>>> Le 25/09/2025 Ã  12:48, Jan Beulich a Ã©critÂ :
>>>> Along with Zen2 (which doesn't expose ERMS), both families reportedly
>>>> suffer from sub-optimal aliasing detection when deciding whether REP MOVSB
>>>> can actually be carried out the accelerated way. Therefore we want to
>>>> avoid its use in the common case (memset(), copy_page_hot()).
>>>
>>> s/memset/memcpy (memset probably uses rep stosb which is not affected IIUC)
>>
>> Oops, yes.
>>
>>>> Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>>> ---
>>>> Question is whether merely avoiding REP MOVSB (but not REP MOVSQ) is going
>>>> to be good enough.
>>>
>>> This probably wants to be checked with benchmarks of rep movsb vs rep
>>> movsq+b (current non-ERMS algorithm). If the issue also occurs with rep
>>> movsq, it may be preferable to keep rep movsb even considering this issue.
>>
>> Why? Then REP MOVSB is 8 times slower than REP MOVSQ.
>>
> 
> It doesn't match my observations while quickly benching rep movsb vs rep 
> movsq+b (fallback) with varying alignments/sizes on Zen3/4 (Ryzen and EPYC).
> 
> It's very sensitive to size and aligment, but in many (but not all) 
> cases, rep movsb is significantly faster than rep movsq+b. The worst 
> cases (mentioned bug) are much slower in both cases, though rep movsq+b 
> tend to perform better in these cases.

Which is what the patch here is trying to address.

> So unfortunately it's not as simple as rep movsb being (almost) always 
> slower, especially with the varied copy sizes and aligments that does 
> grant_copy. That's what I would prefer having more data to have a better 
> picture.

Well, what I would have preferred is some actual written down description
of the aliasing issue. I'm unaware of such; the patch is solely based on
what Andrew has been telling me verbally (piecemeal). I've tried to reflect
this in how the description is written.

What you suggest would, aiui, entail more complicated decision logic in
the memcpy() implementation, which (at least for now) we'd like to avoid.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Oct 07 12:20:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Oct 2025 12:20:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138726.1474345 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v66gG-00078n-OJ; Tue, 07 Oct 2025 12:20:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138726.1474345; Tue, 07 Oct 2025 12:20:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v66gG-00078g-LL; Tue, 07 Oct 2025 12:20:36 +0000
Received: by outflank-mailman (input) for mailman id 1138726;
 Tue, 07 Oct 2025 12:20:34 +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
 <SRS0=JAy5=4Q=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1v66gE-000776-Py
 for xen-devel@lists.xenproject.org; Tue, 07 Oct 2025 12:20:34 +0000
Received: from SJ2PR03CU001.outbound.protection.outlook.com
 (mail-westusazlp170120002.outbound.protection.outlook.com
 [2a01:111:f403:c001::2])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 04f84766-a378-11f0-9d15-b5c5bf9af7f9;
 Tue, 07 Oct 2025 14:20:33 +0200 (CEST)
Received: from CH5P221CA0007.NAMP221.PROD.OUTLOOK.COM (2603:10b6:610:1f2::15)
 by DM4PR12MB7526.namprd12.prod.outlook.com (2603:10b6:8:112::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.20; Tue, 7 Oct
 2025 12:20:25 +0000
Received: from DS3PEPF000099DA.namprd04.prod.outlook.com
 (2603:10b6:610:1f2:cafe::7e) by CH5P221CA0007.outlook.office365.com
 (2603:10b6:610:1f2::15) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9182.20 via Frontend Transport; Tue,
 7 Oct 2025 12:20:25 +0000
Received: from satlexmb08.amd.com (165.204.84.17) by
 DS3PEPF000099DA.mail.protection.outlook.com (10.167.17.11) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9203.9 via Frontend Transport; Tue, 7 Oct 2025 12:20:25 +0000
Received: from satlexmb10.amd.com (10.181.42.219) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Tue, 7 Oct
 2025 05:20:24 -0700
Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb10.amd.com
 (10.181.42.219) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Tue, 7 Oct
 2025 05:20:24 -0700
Received: from [192.168.178.136] (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.17 via Frontend
 Transport; Tue, 7 Oct 2025 05:20:24 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 04f84766-a378-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=yJwjV/AZU5y3tQ+w6pVvu0wDSrxFkhzrgH1UOb496Zu3oI8BQ4657fsd0cVUJelD4sZ5UtUpfiS4fSJV0EI/j/LkgVo+a8rjoAi1mepEJNRJ98ALZNXgBsABr9Zkn32AvTgQx2qZfiXOrfvMW+TPxhBhDyT5GQHQBMaJ3WK3xMJaQUK/cKYgtNIYuphz/QWRrxuDr0ta+5C6feqzFtr/jwr2aytu943XEzqTQLbwOAVWKKbysvZfpPZ73zwRVjxNqCi34/YqFlN5cMg9/iPFEmu7iK4uIa7uFmojlPE2Slkb+gJWwnnkfYPBrJJN2g8YhZo91pK8Jn5qJwbTRjuRpg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kq/iAHI1Bxpklh5EIETLcC+sujxXJLQTOKNOuizR3lA=;
 b=p+5bfsbiwNLMTHNz0IXY0eG4yXNhIbiWfWGtwgNh6mREcz7VW743m7AxOPZtESMW4m0YkUN7AfeKTa9ROTP/m+qqqsWQRB3iM8k8jP0b5LjcleSCYidG9OlfjkmHXwLk4rjm21OzuCHVlpZzoJfX/AeKChRNuOQbnux2FCxPQ5uFvlYMGtDub372Ce7rR5Wh2ymrO4ic3SPGX4m/iWrzjI9Xqzqc3sIxNp2fLrhCmg/3MIlxGVGXjrR40PQyuWUrr9uNVP9/pXnH43HD5AsGVJd5apEt/nZTICaGEHPqaceKUUEowR1ll+wcFexYumkt9BlHyDDPrQYF4J3npZOsOw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kq/iAHI1Bxpklh5EIETLcC+sujxXJLQTOKNOuizR3lA=;
 b=mhV/PTVIwCIU1fwco3Q3Zg8mRbmfWFPWvatsSTzpsRoGo+WsSxS1rPyYvqskTbg4HBi0dhzI+zvwI68EAEgDyoMRwHqE2gQ9dVEi7DTDmgiRCqTuQ521wW6D+9C6vTXmYTHMbqx9QFzn/0IUXLQnvs8X8Ez6RAl7IxTbG4Ua0dc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C
Message-ID: <85fba38e-78ad-40ef-b8e2-91a8287e5b5c@amd.com>
Date: Tue, 7 Oct 2025 08:20:26 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] tools: init-dom0less: Replace err() with more
 informative messages
To: Michal Orzel <michal.orzel@amd.com>, <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@vates.tech>
References: <20251007062656.4254-1-michal.orzel@amd.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <20251007062656.4254-1-michal.orzel@amd.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS3PEPF000099DA:EE_|DM4PR12MB7526:EE_
X-MS-Office365-Filtering-Correlation-Id: 93dbb0ba-458a-4ce1-b205-08de059be4ff
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|1800799024|36860700013|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?UWFTMmg3c3VuL05ua0IyTHpIVTB0SFl0alFoZWsrMXA4bGs5bTFnTXFYRzlB?=
 =?utf-8?B?YWdmT2lHMHR6RkgwQ3lFS1A3Nm00N2lZOU5qc0c0eFBYVHJXZGxyajlQdm94?=
 =?utf-8?B?K0tEUC9WaFVuODF2RzJLQlp5MjMrTnlUSHRmeFNqRlhSZnB3VlYyK0IyZlZI?=
 =?utf-8?B?cTJ1ZTBnMDR5TjhwNkJzMEtIa3c0d1hoTU91Z28yTVRuNzVsNHUxOHhYelA3?=
 =?utf-8?B?d2xXejEzVUcwMVNqK2taUjVOQ2ZVY3hObGtxbzIzeWlNSklWYndOQTJJeXhF?=
 =?utf-8?B?QmNaOUpqZU5VZzFRb2Nxc3FKU3NCQXdhYkdrUFBMSVRXOXRoekMyVVNGWU84?=
 =?utf-8?B?ZzVUR0h4SXR6eFFhbFZMd2s0VWNYNm9hbm9HRzhPVVpIOVpSNWUxVXNkWWkv?=
 =?utf-8?B?MzhLQ0NPcS9JL3pCaU14bFg3R05uc3JjWFBnUk1iSGh6OWl1d2xlNVI3d0sv?=
 =?utf-8?B?c1dPVGprMVZqNUVoUU40bVlVVjZtcE9sbEw2VC9SOGIzU0R2aDNFS0p6aGR6?=
 =?utf-8?B?YlVSYzFjTlpMSEhMdmtQSUtLZFdjQjNYbC91Y0w4YnlZSis2dWlmU2lvSnZm?=
 =?utf-8?B?Yy9iMEpDL1FNMEk5bWg0YUR1bXBRNHhjREJSL20ycWQ4NW5wZnN2bkd2b2tY?=
 =?utf-8?B?MWR0dE1ydkozZW1KS2U0SmRydGcybktQV2ZCak5jU3VCU2ZDaGZBQjdxK3NN?=
 =?utf-8?B?a1BRajBxVSsvaU50aXNySnYyUGFHVUJvUUUxb3NWUXR2Uk05eEZnZW1KQW1a?=
 =?utf-8?B?bitMVGdKeHBvSVJnZW8zT0VnMFhHZUs1dHVQN2VybWtpWkd0d1hJN2ZNckpS?=
 =?utf-8?B?WEpIY2Z1T2d4SHZ6eE1UVWpsaUVlTDAzc2hDTGxVdDQ3L1hsVzR4RktjcE9R?=
 =?utf-8?B?WkRNa2pqRWhIZXlXNUZFUmlZRkc3azQweWUzNFZiRy9xQ0VHcFpQbnptZ3g5?=
 =?utf-8?B?Ym54V3c5ZTMvVlNOQXFONkRkU2Y2cmJuSmsyd1RTQy8zcXc1Y2F2YnNXQUw2?=
 =?utf-8?B?WDVjM0ZraEFCZ3NHK3BjaUlKOTBFa0lMUGNBbzRkWjc1UGdNdE5kWWdHSEx5?=
 =?utf-8?B?TTJEVUxGSE13MWQ4OVN2bStUeFBTVEpOMk5XVjFVT2FZMXh2dmQ5dDN6a0lM?=
 =?utf-8?B?RWg2ZVZBajA5U2dXMVZlNUk1NzhZNHZhYmNSSzRnT1cxQnErNGZOdnpIZzIy?=
 =?utf-8?B?QUpzQWpiYWhJbzJkT3hXYkRVUG93N3NDUWo2bWhMUlovK09zU0JVdG85QWs4?=
 =?utf-8?B?TEhxTDJaWEJDWldQOVgyeTI5Wm9SMDJ2a2syS3cyUDI2c3JWSmtDLy9RSlZa?=
 =?utf-8?B?UHhpU1BuMmM1c0ppNjYxQzFjNys1MjRRaVZaakJCT0pRSDhLY1MzQVVMaHlE?=
 =?utf-8?B?RDBTUHVLVGxqZWdZbVNxaGNucTZOSTFoQlZjcWxQd3QzeVVReFJaeUdyeWhn?=
 =?utf-8?B?MFJiVUZKQS85WUhqRHpXalIvL2RuZXo3ai9RNkZ5aFlvMW5wY2hwdFNMU010?=
 =?utf-8?B?SzMwQTl4T1V0aGNBYzlwUThJUlh0MFNCcWEyMi9peU1jRHJsZ1l2cmdrNG92?=
 =?utf-8?B?VFB3dzA2VytucEtYbVVUcjlORGlEN0U1S042d211cTY0U1FoZ3gxRTVkY0JF?=
 =?utf-8?B?bklnUDlzcU43RjlMMkR4UVdTRkpIcUplakhnZGREY0lHSjVtQS9SbGpNbTFR?=
 =?utf-8?B?emdFTzhRRGdRK3NxNnpCSGxSMm5oNGlDQlFCbEJKdHFhTDFiSHd5U0V1YytF?=
 =?utf-8?B?WXZEV1ZiNzA0YVZnM2hnVXpiOVFDc21Tdkd6Y0VlMjIzazVEcHEwZUxWWWZu?=
 =?utf-8?B?dVZsZXNoZTRUMEtkMW9MUFQxS05JeEhEUm9EVzZrM0dNSi83L1laR3dVdTUv?=
 =?utf-8?B?SE5jZ1BLNTdQbE16TWFhLzZacjJ1V2ZqYTM0YTk1UEZuUTc0ek50djRKQzRm?=
 =?utf-8?B?OW8wVnBFMEpwSld3M2RENDIrWW5FUTBZUHUrNGJ2VHpac0Izb0xQVDFGTmtk?=
 =?utf-8?B?b3NiRWlUYm85SnUzNXNzNi96WmQySGx4L28vTWZCZE14Wk1HbE4vNXdYZVlP?=
 =?utf-8?B?VXVPbjhYZ0N1R202WTh5dGY4a21XV0NXcjZoYS9rNEJEUnk1Qzd6OE41dXZ2?=
 =?utf-8?Q?6q9g=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(1800799024)(36860700013)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Oct 2025 12:20:25.2464
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 93dbb0ba-458a-4ce1-b205-08de059be4ff
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS3PEPF000099DA.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB7526

On 2025-10-07 02:26, Michal Orzel wrote:
> Current use of err() has the following issues:
> - without setting errno, on error it results in printing e.g.:
>   "init-dom0less: writing to xenstore: Success"
>   This is very misleading and difficult to deduct that there was a
>   failure.
> - does not propagate error codes to the caller.
> - skips "init_domain failed" message by exiting early.
> - early exit prevents setting up any remaining domains.
> 
> Replace err() with more informative messages propagating rc when
> possible.
> 
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>

Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>

Thanks,
Jason


From xen-devel-bounces@lists.xenproject.org Tue Oct 07 12:22:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Oct 2025 12:22:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138736.1474356 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v66hf-0007fZ-3z; Tue, 07 Oct 2025 12:22:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138736.1474356; Tue, 07 Oct 2025 12:22:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v66hf-0007fS-0G; Tue, 07 Oct 2025 12:22:03 +0000
Received: by outflank-mailman (input) for mailman id 1138736;
 Tue, 07 Oct 2025 12:22:00 +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 <SRS0=F9pE=4Q=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v66hc-0007fM-Tr
 for xen-devel@lists.xenproject.org; Tue, 07 Oct 2025 12:22:00 +0000
Received: from mail-ed1-x52f.google.com (mail-ed1-x52f.google.com
 [2a00:1450:4864:20::52f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 38633656-a378-11f0-9809-7dc792cee155;
 Tue, 07 Oct 2025 14:21:58 +0200 (CEST)
Received: by mail-ed1-x52f.google.com with SMTP id
 4fb4d7f45d1cf-63963066fb0so7824973a12.3
 for <xen-devel@lists.xenproject.org>; Tue, 07 Oct 2025 05:21:58 -0700 (PDT)
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
 4fb4d7f45d1cf-63781c46688sm12307893a12.22.2025.10.07.05.21.57
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Oct 2025 05:21:57 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 38633656-a378-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1759839718; x=1760444518; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=oE0b5Ni+AgqgirLdRaI+08rZqu+5uSZasCNd3jI3GJw=;
        b=e4GwGXPFKFt/8PYS5Zoih0Dp9LL7hXKVFy1mOmYb7D3xE0AZZoAdWHvZzv6IDs0ixK
         l4tD8YD6JtpStCyyfr9G0K3eRaCa3xV6enBPqutlUcbXmB0DkvTdZo6tGO8OKF2n9V8B
         oCBa8QN4bVv2efWIjxmA73DAKhbbu3Wj5yVpcz+jaLDYwH04h3JC5jU2Hs1HAzdZZn++
         DhfShgzjO4qR9B1QiM4oMf/aXuQADWkyyZAdbe4U8scbpJdhPvO850LWFMA5fM3fYLj6
         3M40ysp68Y8I03zPiWI8Z6GGMQcJlVHp+sNppegrb6NjewCDLU4f5in+N4uLtcjt0cny
         WsAQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759839718; x=1760444518;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=oE0b5Ni+AgqgirLdRaI+08rZqu+5uSZasCNd3jI3GJw=;
        b=IuqtEdFlChD4ds9ahmAP3TzXIGDrrT/20QKFG6+gar72vUteJr/Eg+56vb23D8jymw
         kcLGZeDZV6Cj7pCz3jxyu0m/G1+PGDksCJjj8doVwGoPTn8BGG8p+iJghvgf5rdUAZys
         oJy8iLFWhYR9nerwYSyDfISmehXVCGmdlP8Va65vW9L+jXa8ZbvYlI2cXbj+0cjujU3n
         jlbrnWNcKlA4nOFSVCdiBqRK8R+j3nt2PtrRnvmfnddbb+K/qYHvHYbGJAR47OkAzoL5
         MzdYniFKMoAiUMuOwQo9QalFkniDwOin+BEVoxLJ12k9rpVnaC1OalzoksVy5MRVY4O/
         wNpA==
X-Forwarded-Encrypted: i=1; AJvYcCUhXXk1Ul+Ebw55TV6XZeRgBCREZlk1ZghDQdFbM4MHCPc+XUWvczPm+dlSLm+TnfGfhRzqtYRutrc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxLcVEIgSm6GmWg5KbzzK1Caq8yL++8fEq2VM4EWVHhCJU2VI8c
	4lQGspskJ4DufmNPdF7Xy6iXSfBRrAC1dZSHxVcnX5tc6RDVHg+Kq/nZDdHy8l/TWQ==
X-Gm-Gg: ASbGncuCNWJqponPxT0lv6CeeM7SOtpesBALlPLsqpfPqaYStuqLVPHK/fJXMt2OzkX
	pd4i86uCYsGLu3P8wSeATJe64zzjPYflpiyr1NvdsmtH/e7t4PvOxfbNRLaEh/6FIDBs0IMTBeN
	yDavK9UK9rtuzK9Z9CYuN81mBdm9oFNyWyGyt8uflxOVpDmYFYtGukc77MnY/8kYmLwn4tT7PTN
	U0CQBeZMK/VdUrEQj+477BlG1fUKaiRkJRVH/AwEyrR/nQ7bsaAVwuwMU6ltYvGEqHeYWuIr7Ys
	gTpSye3IhWO7xTTWM8SOiNe93Tm6Jaqq760qzyVsjenLj3faBDni1mZXbuFEfdNlrIDBiKWfX7k
	w/ZLpeihLwrTV8nwmaRbO7QSkHG2d6qJn2ohljHo4pL1OXF1Una1+V/thfSOKi9j8EwOWjiFlXY
	4k5Bx9c7RY7SxyvjN/E0VK5USUDmP8d/w=
X-Google-Smtp-Source: AGHT+IGLRgOMwq0WQSFIw0XFDy7qMp7N15Q0CpbftpDs+9GfDDEgQv6IKDO2jSv3JNn/2cwF5WO2Uw==
X-Received: by 2002:a05:6402:50c8:b0:62f:26f8:fea0 with SMTP id 4fb4d7f45d1cf-63939c3d2d3mr16324411a12.33.1759839718150;
        Tue, 07 Oct 2025 05:21:58 -0700 (PDT)
Message-ID: <c9d04edf-4801-46c7-ae6d-8479ef985972@suse.com>
Date: Tue, 7 Oct 2025 14:22:06 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] x86: guard synthetic feature and bug enumerators
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <8ecbf8b7-91fe-4f9e-9542-7ec22b6a47bb@suse.com>
 <48dcc0e0-2772-49b9-9383-5bf69f922053@suse.com>
 <1439ec29-4319-43d0-b4ff-0eb5bfe9405b@amd.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <1439ec29-4319-43d0-b4ff-0eb5bfe9405b@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 30.09.2025 01:36, Jason Andryuk wrote:
> On 2025-09-25 06:48, Jan Beulich wrote:
>> --- a/xen/arch/x86/include/asm/spec_ctrl.h
>> +++ b/xen/arch/x86/include/asm/spec_ctrl.h
>> @@ -73,7 +73,7 @@ static always_inline void spec_ctrl_new_
>>   
>>       /* (ab)use alternative_input() to specify clobbers. */
>>       alternative_input("", "DO_OVERWRITE_RSB xu=%=", X86_BUG_IBPB_NO_RET,
>> -                      : "rax", "rcx");
>> +                      "i" (0) : "rax", "rcx");
> 
> "i" (0) is to work around the trailing comma in alternative_input() and 
> does nothing?

Yes. If more such "uses" appeared, we may want to introduce some kind of
abstraction.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Oct 07 12:39:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Oct 2025 12:39:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138746.1474366 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v66yN-0001BS-9x; Tue, 07 Oct 2025 12:39:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138746.1474366; Tue, 07 Oct 2025 12:39:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v66yN-0001BL-69; Tue, 07 Oct 2025 12:39:19 +0000
Received: by outflank-mailman (input) for mailman id 1138746;
 Tue, 07 Oct 2025 12:39:17 +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
 <SRS0=1Adj=4Q=citrix.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1v66yL-0001BF-90
 for xen-devel@lists.xenproject.org; Tue, 07 Oct 2025 12:39:17 +0000
Received: from PH8PR06CU001.outbound.protection.outlook.com
 (mail-westus3azlp170120001.outbound.protection.outlook.com
 [2a01:111:f403:c107::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9f17a956-a37a-11f0-9809-7dc792cee155;
 Tue, 07 Oct 2025 14:39:11 +0200 (CEST)
Received: from CY4PR03MB3382.namprd03.prod.outlook.com (2603:10b6:910:53::36)
 by IA3PR03MB8022.namprd03.prod.outlook.com (2603:10b6:208:508::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.20; Tue, 7 Oct
 2025 12:39:06 +0000
Received: from CY4PR03MB3382.namprd03.prod.outlook.com
 ([fe80::2947:e6d0:817c:58e8]) by CY4PR03MB3382.namprd03.prod.outlook.com
 ([fe80::2947:e6d0:817c:58e8%5]) with mapi id 15.20.9182.015; Tue, 7 Oct 2025
 12:39:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9f17a956-a37a-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=VkhQdx1M6ujOWxgBXptKreGT7k2Zy8FCF/uTXRz1pWrTcpaUKEOYzElWzcDKu3mpCxSLJbp3auhBDgHkTgEVNdZXBmXWaslSDF6JzCnkqhSTv58xZvf0n5mBqpkKMhZwUfoTFS9X8fOBsSAtR3wwkrI+cNextfY39V8SpjWGAvW0iR6wVuwU76sA1godqhoPgYAqyQdQD/gANJOE7zQujAHFUNB0qRPNcOIIOVHAFsTHnJcubQ1rtYBis3kaODT53WHT+OcRZwaVIclKBMMOlrcDiqA4WxoXOK5hJxeXGJSp7YDxiBQymClkQN3h4IVXmK3W/UvwvqVZbuJrMLbuaw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JzXBy9q2rZHz5Leac3PtUcTLC31gSKUmboThEqNAc7g=;
 b=afQQx5lmXXA6YQo2IlgRSgQzF+LM11oupjXn8IkpX+obV/nDFB4dPJTYUimLNsZwzOlPts45rzXrX9O2R8XxhHC14ZLFKh0qLTWi1J/Wu5ys3OV+sQUG78m8YqqGsPxOWP4Mm3BD4jSke5suJstVBT8XCj3/G5eQkybltApIk2qybkx9HVl35ihmLDQ+HINpjorG4RkU2plGQqTm5TrNLbTBhSQ6YZ5AvulmtlzrCPdHLjAbbljmROolr09VXgX9Hk4MeoT1lizzzly8jqydag/kXGDvlO3IH3Jqs+m4J3GRZxXIJ/LFiLtAzg30yZGmcpvv4QNyyS8W6jAHIRuCYQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JzXBy9q2rZHz5Leac3PtUcTLC31gSKUmboThEqNAc7g=;
 b=lTG2hIvgd8JbJ24vbfefka8BW0FjDX/3aT6gzQwR2iXLdkSjMh1jyPvQ7XjTBb+1QDE/oKWcoCiNBusf8pABCXdAHd5+yDys+j0j3LPOe8fKaFJ2+QNJJoITjQPQXMjQSv+S1KnPtv4ptgfKweDFyycibVdA0KigRY1Mlv1tNBE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Frediano Ziglio <frediano.ziglio@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@citrix.com>,
	"Ross Lagerwall" <ross.lagerwall@citrix.com>,
	"Konrad Rzeszutek Wilk" <konrad.wilk@oracle.com>,
	"Andrew Cooper" <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH livepatch-build-tools v2] Treat constant sections as string sections
Date: Tue,  7 Oct 2025 13:38:55 +0100
Message-ID: <20251007123859.23646-1-frediano.ziglio@citrix.com>
X-Mailer: git-send-email 2.51.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: LO4P123CA0388.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:18f::15) To CY4PR03MB3382.namprd03.prod.outlook.com
 (2603:10b6:910:53::36)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PR03MB3382:EE_|IA3PR03MB8022:EE_
X-MS-Office365-Filtering-Correlation-Id: 14e7950c-51a8-458b-a233-08de059e80fa
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?UQ/B1V2YEmQOSao9uWTXxeTslJaYI3baZu+uL+wOInvMnw7pPR0UCXnW7mH7?=
 =?us-ascii?Q?ObB/2RRzOFzOn8tPbNnDfBoctA65pAlh/9WLVZYhOOrUXJDVISHn1i5DWIJO?=
 =?us-ascii?Q?+q0LHvlVLYVOnotyJLGLJ2WGSvvHg0c7HvI1yeeWzsfi6BG5GN0KQWV+/kxC?=
 =?us-ascii?Q?1GNshRR7vIkI24mbFPfDb8yYlYeFyZBvj/qZcze3FcRwwvH2V/+CcYLdPmOy?=
 =?us-ascii?Q?U7erRSiRKLbbCRh9+B2oNyatnTX0l7BrEHwC0NB/At8Bx/SNZW1EeDDQJfK0?=
 =?us-ascii?Q?ghFWptgWZK8JW9sMa/7t8zRYfvbEoyyJZVi8a3vBiJqFq4/1kXub3P6+JI+p?=
 =?us-ascii?Q?7mLxAaWp9nKxM4/46A9wr7/VHaGvNtKXecAl0+rr0tRgMDJSZn/HA/l8D1My?=
 =?us-ascii?Q?F0Gg96o6G339nPnOtGIJwpRlGusijtwRpCg32uIPzriE6frSeW5KxwamJoXg?=
 =?us-ascii?Q?mdSKE/nJmiVaOdapoq/5rGEzDoT/ZF6PFq3YgMqM9rUlPF+9gMvgFBQstTD0?=
 =?us-ascii?Q?ALTS9AZTsBeZp6L5lNlr2wZAI8yzo27A2sB85WZ5RMPAfeyXPpevOBrY4ukt?=
 =?us-ascii?Q?BQF74Hnu6jT1yreWzyf6cuIp17rhDluEw96J4iN7uDTBorlEB4qI8DXdBNTz?=
 =?us-ascii?Q?kznTkvyhVduV/OEe+52vU75Fs/RzOfbkiFxVrz6VW57S8yJNAuGGA0KF0kbs?=
 =?us-ascii?Q?8Tk0zfe7+8O43PHKdUJtL2NOaM06eAjbgXVKQUWdyz8N3eiNFIOOmHSi34zx?=
 =?us-ascii?Q?XAZZyOsIUA0Zqeu2iDgrvCsG7zpF33rUMOEzzvrcytLPl3Zk/rcTrAAqbgWm?=
 =?us-ascii?Q?AgdB9+4hQAO/MniRQFoQdO2CbJCspIb2xHkb5LyNhHTfiJIn1PP4d1/BjaG/?=
 =?us-ascii?Q?Ro1G4MhXIwHBzu3yuVjPbfG2fFAngtYqz9UF0bWUL/v5qqqYKvQilAoLz2vi?=
 =?us-ascii?Q?mLg7645YWlkP8TFoSKqiRSiH9nglFjTRb8Kd7O5XmYQktzvk6fgvI5VsAi9Z?=
 =?us-ascii?Q?Gn3E7kjHZbMO0SzlJJH99jrh8aGJwnbKz2vm/HUIZspNiSpmCg7MEHS9EuiB?=
 =?us-ascii?Q?+BFE+MkkC67RYrHsIxyQq6lt9NWVvsCCCdESeSjNHJs6zyGUx9rqo0BKGuY6?=
 =?us-ascii?Q?pxB9NhnyxT4sbCivjoyGG4feGyFglP9ekql+ZxBRI0zaqiRVFtQjQad3g1PJ?=
 =?us-ascii?Q?K8z8evkG4D4l1XuJt1PZ6t9YHPYKXPvBSqNhZcdJ2lAh1KJXWWW5gNfpWMIR?=
 =?us-ascii?Q?ulQiGR8LP9/jfFwFQZHkd1czRVXnspV6JvLHIQYVWZG7BWJCVR2TT8neKuVC?=
 =?us-ascii?Q?psn+OzSgk/tExugXxXVQVSm5jHsrslnVeRIuky1Mmlo+VazqUJnCRl7DRp/g?=
 =?us-ascii?Q?8dNUSSocUeuE645BqD1won56Rtq3/PQCWSey+eKmp8VwCxjhhRfja+CYsoi3?=
 =?us-ascii?Q?8owttcULU5p7rXtcLEyTK/pWg8MoEvyn?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY4PR03MB3382.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?xfTF5dQbkUd/rJIHOQePkzda+e5mAiI0rmvQ2EQSaVNjBRMOwG1OX1EsADSv?=
 =?us-ascii?Q?dTIyMXwKeCnBYGl378V7utyrHylRmyrfORgeM5B7hHq7Ff19hOZN3bCIgaHg?=
 =?us-ascii?Q?a1IqfUHRB8mqCZFG/6a0fRFuJqcusIX5P9wmXf6IITP9F0ccXw6ErTwPQa6W?=
 =?us-ascii?Q?kZ5WMVJhP4Rqra8p4xdpZT/W/8EWkbhTCMnyPTRPa7gC9EXDgyzuYY09UWVo?=
 =?us-ascii?Q?2MtSmUgKbRvV4fZERKtC2pEjLq2UlQCMKReMGVDgbIQaN7sZAjCj8xizyHuZ?=
 =?us-ascii?Q?efMNHY74orurdtgXA9FMud0cYGyCnm1uJZT86jneNeDwizx86eY6KTv4oe3N?=
 =?us-ascii?Q?Vy8qEWhMyvJdQAqIEn5Fxs8WjcsUHdo70X3unx5nxb2Ru1s3fhS1pJ0qISgL?=
 =?us-ascii?Q?Dbya0h6rapvA7bK8uTRtK1mp4XMRa0BBIcZoSqWt2veoTh/0ci8FoaklPEDv?=
 =?us-ascii?Q?fVhrA/irqme2oeqDBzy+CjNbS1k3j8HJpe/rTpqeLVGRqciCJl+dcXPyxnCy?=
 =?us-ascii?Q?7SKYHy51R1rcpr0mfLc+y+AJ/v1uxU8KZKJ6Lsgexi4u+U0+nJMGuM4qOGxR?=
 =?us-ascii?Q?QEzKpj0F3C/JYvrHoSTVeJEBojSJ0LhvkW3I4dSlhjL+b5ia334W9zzf99D2?=
 =?us-ascii?Q?Bd16350XgCDlFGMxPuI9vv0sFMD+EAJwFZim0bVQbxLD5LP+vhFt/l9uL8QS?=
 =?us-ascii?Q?kX3AxOSuyijXUla2MGH4ryMAIV6ASvjn0hMg7Rc0hZ2WNFHDfrWmf7dCGFRt?=
 =?us-ascii?Q?MX57h34TsYNcAhJvc7Ge1OFYwcg2leoRdXi9ovddb6kW8zKIUPMDq8v64wEN?=
 =?us-ascii?Q?mib34gwnB8Y8A6mME4FalR3FsDwHSO2g/rv/vmOkQokcHq20ghGeuqhkuqBx?=
 =?us-ascii?Q?GgPc/42hgcz2Wdq+xEpd+eOMTOyOFrBjcQx4H07dSDzypNri28/aCnbqsy7w?=
 =?us-ascii?Q?TqI5VAMd0cGsv+OWL18mcHZz2/Gnt4kOMAhxLJM7YSoH0F/4LnMZ1D6c/BrX?=
 =?us-ascii?Q?jhPfU4tWbruPwZiQDJokvgVVNKIKzGdXx9qEVWmDUsfZzJTKL8U+diMczfEW?=
 =?us-ascii?Q?NjsWwYeD2aeZziS6ezLdtbV7QrBROPt9NdfZjxKGcKa3sIS8SMMZySL7zJTV?=
 =?us-ascii?Q?w7vjj+VqWPQvVZrGR6emyfJtCBh5S+HU38t57Tqe1KnTvPORpSIgwGHmz98W?=
 =?us-ascii?Q?0StgyT85KxwOr6I9AQpyGo0huLbik9EHTMxGnn38LM4br64W146WL6exsz62?=
 =?us-ascii?Q?KrBlyaFvWX+NyosSWhOdnNfn7cpGzFMwuuVmG+RNNJGxrHNK2CjrgeeWH5Bd?=
 =?us-ascii?Q?v8N99qhIOR8L/8q40u77WrjO2HLOFRJlepS9wokdklSOKSid230tHKJYIgGy?=
 =?us-ascii?Q?pJockdoouliS8DeEVOVr3s93Wr+ABZ0RyqcaK/vVDg2JK+dTidxrgtMUL/gZ?=
 =?us-ascii?Q?TWDD9Dw0zzVKNMGpg2O/kJY5JDTgvzLKf5qLluGqdnQBARrL6+kR7udHRAI/?=
 =?us-ascii?Q?FKHcbb4m2gV4AAosAtvXmkUUywgLF2eVBh2d72v2FTWCd3jYgYylioICmire?=
 =?us-ascii?Q?1itLuRx79+oc54C4zyv2MUyDDatf/TNmEpVLN5SyDSQFkdYMl86LH7SIBW06?=
 =?us-ascii?Q?rw=3D=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 14e7950c-51a8-458b-a233-08de059e80fa
X-MS-Exchange-CrossTenant-AuthSource: CY4PR03MB3382.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Oct 2025 12:39:06.3033
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: z03Z3MfPj/3+ppNq+l/aZNnZPnVwsa9YSYyUBm4HlpYQREk+fMpVHJm0gxjlq9PHsfuc2x7qYCl15Mjv7Sabocu/NQ5rrkC0sm4u24eQvvY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA3PR03MB8022

Newer compiler can put some constant strings inside constant
sections (.rodata.cstXX) instead of string sections (.rodata.str1.XX).
This causes the produced live patch to not apply when such
strings are produced.
So treat the constant sections as string ones.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
---
 create-diff-object.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/create-diff-object.c b/create-diff-object.c
index 7e6138b..8104017 100644
--- a/create-diff-object.c
+++ b/create-diff-object.c
@@ -1441,16 +1441,24 @@ static bool is_number(const char *s)
  * or .rodata.str1.[0-9]+ (older versions of GCC)
  * For the new format we only include the needed strings sections.
  * For the old format all string sections are always included.
+ * We also treat constant sections .rodata.cst[0-9]+ as string
+ * sections as newer compilers put some strings on them.
  */
 static bool is_rodata_str_section(const char *name)
 {
 #define GCC_5_SECTION_NAME ".rodata.str1."
 #define GCC_6_SECTION_NAME ".str1."
+#define GCC_CONSTANT_SECTION_NAME ".rodata.cst"
 	const char *s;
 
 	if (strncmp(name, ".rodata.", 8))
 		return false;
 
+	/* Check if name matches ".rodata.cst[0-9]+" */
+	if (!strncmp(name, GCC_CONSTANT_SECTION_NAME,
+		     strlen(GCC_CONSTANT_SECTION_NAME)))
+		return is_number(name + strlen(GCC_CONSTANT_SECTION_NAME));
+
 	/* Check if name matches ".rodata.str1.[0-9]+" */
 	if (!strncmp(name, GCC_5_SECTION_NAME, strlen(GCC_5_SECTION_NAME)))
 		return is_number(name + strlen(GCC_5_SECTION_NAME));
@@ -1462,6 +1470,7 @@ static bool is_rodata_str_section(const char *name)
 	return is_number(s + strlen(GCC_6_SECTION_NAME));
 #undef GCC_5_SECTION_NAME
 #undef GCC_6_SECTION_NAME
+#undef GCC_CONSTANT_SECTION_NAME
 }
 
 static void kpatch_include_standard_elements(struct kpatch_elf *kelf)
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Tue Oct 07 13:10:00 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Oct 2025 13:10:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138761.1474375 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v67Ry-0005IU-K5; Tue, 07 Oct 2025 13:09:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138761.1474375; Tue, 07 Oct 2025 13:09:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v67Ry-0005IN-HN; Tue, 07 Oct 2025 13:09:54 +0000
Received: by outflank-mailman (input) for mailman id 1138761;
 Tue, 07 Oct 2025 13:09:53 +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 <SRS0=F9pE=4Q=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v67Rx-0005IG-Ea
 for xen-devel@lists.xenproject.org; Tue, 07 Oct 2025 13:09:53 +0000
Received: from mail-ej1-x62e.google.com (mail-ej1-x62e.google.com
 [2a00:1450:4864:20::62e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e856faa1-a37e-11f0-9809-7dc792cee155;
 Tue, 07 Oct 2025 15:09:51 +0200 (CEST)
Received: by mail-ej1-x62e.google.com with SMTP id
 a640c23a62f3a-b3da3b34950so802732066b.3
 for <xen-devel@lists.xenproject.org>; Tue, 07 Oct 2025 06:09:50 -0700 (PDT)
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
 a640c23a62f3a-b4865e77427sm1418385366b.36.2025.10.07.06.09.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Oct 2025 06:09:49 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e856faa1-a37e-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1759842590; x=1760447390; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=3ftJmllaYyjfanSuNvIzs0yck2YaqXyq6e4LsoEKAzY=;
        b=MIv+Vdlro9gVJihGpw+ZRFp5NKChySaXs4rCwPDbEYHlxxHLO5KgIVv+4b6Dk0wOu7
         i8esVJdZqz8mOWO6lM5o9nUhvCZ0YyEld4pK4LBY4fsYyWaLPBtQUA0i5Mp8yxyZk8Ci
         +Ym6J+pYeA41MEZ4zrXZu1opcOv1e7qRF7FhMM8/kERDx4RvNUy0KREmTNUdX9nwkrKG
         Xj4EjUGgEDq0MvQ4w7hg1sq0EqLizp0BxonUc/ShXgMbsgKVH4hDDTY+O+x63Gl4sj7Z
         MJejWOHHZYI+D94yhPoYJ6coHgSSxhF6tvC6qkVyjWjGUkVotovRV7jCbKmtq+anRWef
         pnvg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759842590; x=1760447390;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=3ftJmllaYyjfanSuNvIzs0yck2YaqXyq6e4LsoEKAzY=;
        b=XBDPk3QnL/v9C+OUVbEao86SntD3mrhBaxCbGhmuAd+0CYWfj2VSFPmZoBEJ9/CFkS
         99YjlGfBuFmRmjgX5h6AcRnfEgf0keftZvtP9i3gnLTzeGml2+oGH/POvj1rm5LyxS+2
         lBHMXKVzaP3TcCFnXa92HgUk9EBdPfjceSjamZqSc6uF9tEeVgCQAYehGpIO8WU7RIF0
         Z4w2zVccQ+3isZzTVS2BoPAm4C25uSKkqpc+jYdUw9D5BTKuJd1lF4WTdhaAQjLVmoKX
         +q2Q7CrHfN8TSvP9+Rv4pJ2Mhp7TU4wdIgm64tSiVmZ9a7JjLAe9DNMy/VBmfKiAKSgD
         5o/Q==
X-Forwarded-Encrypted: i=1; AJvYcCVUPugCEpNRTxGAoxFTN0S1fFcfw7pVkCG89WZZGCVOndr4FL9Mz6LCVHcgSw2hpZBvwAQqPUdAD5Y=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxWXNOnKzDe3LyDFFl7AZJRpl+HIV1qEKYQOMg4Kkpf/JmdN9eE
	W4pFdqIRxmJDumlwj18e6Jz2tYMtiJkDF6yql1Az78o6PQirat/RDzpmQ5hGHd9uMA==
X-Gm-Gg: ASbGncuNW5Hk7syys/qUTgduqvpn4HE9aECrNe1hoG0Q9q/IL3J3c6tu+qvL76YTnKf
	U9v+Ddo1RSzj380FEfetK36A6m9ITYZoEd90dKXDBzE7yt84dt99ZNGZEMgDOv4vLDFnkRUXCsm
	CXG/TK4VDvj4P+Qz22MUga9pP4VcAXI9gr/iJ4cc12Mxd1Zf3fc56WRacEohTGrqaR0pANoQVol
	XHi3vqBDHMKaDhRsjdrVg4HqhmTSPT9CXoIrT/9WHvUK0Qy68OOlDniqSoC3sSCjFxE4J4jYhCQ
	RnulCPPEhr/HpQevIAvO70p03U1buVtZA/DX2qxmgglP7UcKUn4THZsQ6HSzDmEoWYQMjIpxmuK
	1vFkbj2Fu7bJnOpVp4d4GTlF6IWKwX1FOyYNzRJi4oznuFlp9fcwt+qiiRBony0P+9tvWM4WgFK
	2/HWw/O0GGK+JHWZ4CzbFsYd/LxJFboNo=
X-Google-Smtp-Source: AGHT+IEudusrr09UGIZsTokdUZrTZWCy1hPiLQ+ihGatC8tHOjgczbTz/vhcXOoN5BFXBTFdLSdYlg==
X-Received: by 2002:a17:907:3f9d:b0:b2b:3481:93c8 with SMTP id a640c23a62f3a-b49c08981c4mr2083987466b.19.1759842590218;
        Tue, 07 Oct 2025 06:09:50 -0700 (PDT)
Message-ID: <7fe4f483-ef3c-4954-9030-2c364673c9db@suse.com>
Date: Tue, 7 Oct 2025 15:09:57 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 12/18] xen/riscv: Implement p2m_pte_from_mfn() and
 support PBMT configuration
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <cover.1758145428.git.oleksii.kurochko@gmail.com>
 <4495c8103548447f9a11963574a4cb9e01090e7a.1758145428.git.oleksii.kurochko@gmail.com>
 <7b51f40d-7ac7-460a-891d-afe1d9ab8991@suse.com>
 <6902c46e-c805-43aa-8753-7b6dc09716ae@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <6902c46e-c805-43aa-8753-7b6dc09716ae@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 29.09.2025 15:30, Oleksii Kurochko wrote:
> 
> On 9/22/25 6:28 PM, Jan Beulich wrote:
>> On 17.09.2025 23:55, Oleksii Kurochko wrote:
>>> @@ -318,11 +331,87 @@ static inline void p2m_clean_pte(pte_t *p, bool clean_pte)
>>>       p2m_write_pte(p, pte, clean_pte);
>>>   }
>>>   
>>> -static pte_t p2m_pte_from_mfn(mfn_t mfn, p2m_type_t t)
>>> +static void p2m_set_permission(pte_t *e, p2m_type_t t)
>>>   {
>>> -    panic("%s: hasn't been implemented yet\n", __func__);
>>> +    e->pte &= ~PTE_ACCESS_MASK;
>>> +
>>> +    e->pte |= PTE_USER;
>>> +
>>> +    /*
>>> +     * Two schemes to manage the A and D bits are defined:
>>> +     *   â€¢ The Svade extension: when a virtual page is accessed and the A bit
>>> +     *     is clear, or is written and the D bit is clear, a page-fault
>>> +     *     exception is raised.
>>> +     *   â€¢ When the Svade extension is not implemented, the following scheme
>>> +     *     applies.
>>> +     *     When a virtual page is accessed and the A bit is clear, the PTE is
>>> +     *     updated to set the A bit. When the virtual page is written and the
>>> +     *     D bit is clear, the PTE is updated to set the D bit. When G-stage
>>> +     *     address translation is in use and is not Bare, the G-stage virtual
>>> +     *     pages may be accessed or written by implicit accesses to VS-level
>>> +     *     memory management data structures, such as page tables.
>>> +     * Thereby to avoid a page-fault in case of Svade is available, it is
>>> +     * necesssary to set A and D bits.
>>> +     */
>>> +    if ( riscv_isa_extension_available(NULL, RISCV_ISA_EXT_svade) )
>>> +        e->pte |= PTE_ACCESSED | PTE_DIRTY;
>> All of this depending on menvcfg.ADUE anyway, is this really needed? Isn't
>> machine mode software responsible for dealing with this kind of page faults
>> (just like the hypervisor is reponsible for dealing with ones resulting
>> from henvcfg.ADUE being clear)?
> 
> In general, I think you are right.
> 
> In this case, though, I just wanted to avoid unnecessary page faults for now.
> My understanding is that having such faults handled by the hypervisor can indeed
> be useful, for example to track which pages are being accessed. However, since we
> currently donâ€™t track page usage, handling these traps would only result in
> setting the A and D bits and then returning control to the guest.

Yet that still be be machine-mode software aiui. By always setting the bits we'd
undermine whatever purpose _they_ have enabled the extension for, wouldn't we?

> To avoid this overhead, I chose to set the bits up front.

Irrespective to the answer to the question above, if you mean to do so, I think
all of this needs explaining better in the comment.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Oct 07 13:14:51 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Oct 2025 13:14:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138778.1474386 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v67Wi-0006pQ-4T; Tue, 07 Oct 2025 13:14:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138778.1474386; Tue, 07 Oct 2025 13:14:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v67Wi-0006pJ-1t; Tue, 07 Oct 2025 13:14:48 +0000
Received: by outflank-mailman (input) for mailman id 1138778;
 Tue, 07 Oct 2025 13:14:46 +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 <SRS0=F9pE=4Q=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v67Wg-0006pD-Hg
 for xen-devel@lists.xenproject.org; Tue, 07 Oct 2025 13:14:46 +0000
Received: from mail-ed1-x533.google.com (mail-ed1-x533.google.com
 [2a00:1450:4864:20::533])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 97df86ad-a37f-11f0-9d15-b5c5bf9af7f9;
 Tue, 07 Oct 2025 15:14:45 +0200 (CEST)
Received: by mail-ed1-x533.google.com with SMTP id
 4fb4d7f45d1cf-62fca01f0d9so13368a12.3
 for <xen-devel@lists.xenproject.org>; Tue, 07 Oct 2025 06:14:45 -0700 (PDT)
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
 4fb4d7f45d1cf-63788110080sm12599755a12.34.2025.10.07.06.14.42
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Oct 2025 06:14:43 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 97df86ad-a37f-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1759842885; x=1760447685; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Wf4j2zj6I0qw4hINHm+PiTHsExFcolPo27zdm46bvJ8=;
        b=ZapVK9FmOuR/RIHY+xlBTqt5Yuu6TXJAv/m0h2tP0lBiC0HzubdqsucwtL6RBKu9Ky
         cKuaPj0nGIr6gnbs/2wzFNA8MYeJw/zH1bk8n4yO7rASGysQjxe/aBtCJt6Qvpmf6YJI
         1BCAagejQz4MsCy1deBxKPGOjvoErpAyx4NrAeAzQr8T00pvb4UGUxgL9/O/HjuUqLMo
         O07l+tIzja/Yv5I5Q1OT2I/aEPd56Cmj4SpR8JrZb+Jz28EJXUJM6iLYfH0RWCqFe2Zz
         2VxsllTQ+n9j051K2M4HUUETsKUioyNxdErHi3Yy7OhuAhc8VK8Daoc4nFq8Uc5c9EWF
         Eoag==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759842885; x=1760447685;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Wf4j2zj6I0qw4hINHm+PiTHsExFcolPo27zdm46bvJ8=;
        b=CKnuunDZSpnD8Q9uA/7/L09x+e8Dn8gADgyOqOQ/3L78MG3K8lOc2WSvKADJl1FupK
         TolUELXsgLgiZ3ggTZboirMd2b7b818bSbegHAVBhf7POrQnbPhMnv8CZnDGYsZQjYCG
         cWDu2QHAZv+lOWOt5J9UyD9HKXE7fhg/InYd00iCrvOUEYyYayMoQnrftvL9J4rdL/0K
         KgQIzWduZ5nTQZCJ2sBHiUb3MQvBFd6vcNyUB20DDHRUDWdbyr+Oei4O/TQf5a4j8GQz
         P385ryTwI5E1Zl+SVlGVsReZOwpKWbH7YAT1eQhLcFWxPPKY5i53F8qoWUrWcxy3v+GZ
         ibNw==
X-Forwarded-Encrypted: i=1; AJvYcCXx9LBKeNlOGndzGMAwEcIcgAE3+D4HOVsVfM4M6aPhYLqj4yB+xL9RC0118GE9fUDf+H5VFdG863k=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzJfepfMi7/Wx9Fd5Jt6GHoicrFAsMJCV0pXJXRNEsEMvA8jlRs
	nnLQjYCScud50ROZtE5Jb1jPvGGCvRLLtObbPEwdgp6UCnuPgQF+6Tr/atkUXkVgCQ==
X-Gm-Gg: ASbGncuMpLDQrprG6CZAHqUgM+bM2C4XG/esfr7ATSZAncoTKfN1jS79nnzqGo1xh25
	HNsDx36WD1n+Ii9pcqANWuZuZdL9ZJjSqW/VdsPnorZp9z/+2b+5Lm/OJvkPHV3iSb/Gj5o/ZY0
	KSOH6qhiC5vukLWbZde2KLCfAGeNzmRNnL7N5tVGhdil2ZAY1lEelfmBSegjNiJklf+3l4Skt0U
	T/xN6yxNCKoxkRDuD+9BSuZfLbu7lcG/kaVlZqavFE4pO773LFMN8s/rMvBjdWR7B/5uiAerZNT
	JFodb0dITZrF8Gu68FGOzC65Y2oA+/n117OlPcuEz6aaxezaJzT0kQ3y6MjF3g07nFB50QJDIfs
	iUZ/YEeo+Hoh83DrvGeSR7vijZ7nswl4xyZcuTB21j0zE3NpOUeAs1oiNzvJWMaO5775PTNbOCN
	EQwWzmLbDa4M1NsZqVjkdSVDdg8SDNlkY=
X-Google-Smtp-Source: AGHT+IHAIneMBlKRhDuiweCyQSlwb37bYtFEQ0XAorWoFWfXgUriEvJV5yNtZn+400fudHPxVleZ1g==
X-Received: by 2002:a05:6402:26d1:b0:633:7017:fcc1 with SMTP id 4fb4d7f45d1cf-639348de8f0mr17762107a12.14.1759842884696;
        Tue, 07 Oct 2025 06:14:44 -0700 (PDT)
Message-ID: <cd6f65cb-d2f7-48bd-81db-eb67b3c20d36@suse.com>
Date: Tue, 7 Oct 2025 15:14:50 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 17/18] xen/riscv: add support of page lookup by GFN
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <cover.1758145428.git.oleksii.kurochko@gmail.com>
 <5065d9f1552fd940cc19087d8e00a0fa3519e66c.1758145428.git.oleksii.kurochko@gmail.com>
 <854ff53f-5af0-43bf-83b0-8e1e1e0deefc@suse.com>
 <577daeb5-d43f-4172-9a3b-2062c01b8d45@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <577daeb5-d43f-4172-9a3b-2062c01b8d45@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 30.09.2025 17:37, Oleksii Kurochko wrote:
> On 9/22/25 10:46 PM, Jan Beulich wrote:
>> On 17.09.2025 23:55, Oleksii Kurochko wrote:
>>> +        if ( rc != P2M_TABLE_NORMAL )
>>> +            break;
>>> +    }
>>> +
>>> +    entry = table[offsets[level]];
>>> +
>>> +    if ( pte_is_valid(entry) )
>>> +    {
>>> +        if ( t )
>>> +            *t = p2m_get_type(entry);
>>> +
>>> +        mfn = pte_get_mfn(entry);
>>> +        /*
>>> +         * The entry may point to a superpage. Find the MFN associated
>>> +         * to the GFN.
>>> +         */
>>> +        mfn = mfn_add(mfn,
>>> +                      gfn_x(gfn) & (BIT(P2M_LEVEL_ORDER(level), UL) - 1));
>> May want to assert that the respective bits of "mfn" are actually clear
>> before this calculation.
> 
> ASSERT(!(mfn & (BIT(P2M_LEVEL_ORDER(level), UL) - 1)));
> Do you mean something like that?

Yes.

> I am not 100% sure that there is really need for that as page-fault exception
> is raised if the PA is insufficienlty aligned:
>   Any level of PTE may be a leaf PTE, so in addition to 4 KiB pages, Sv39 supports
>   2 MiB megapages and 1 GiB gigapages, each of which must be virtually and
>   physically aligned to a boundary equal to its size. A page-fault exception is
>   raised if the physical address is insufficiently aligned.

But that would be raised only when a page walk encounters such a PTE. You may
be altering a PTE here which never was involved in a page walk, though.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Oct 07 13:16:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Oct 2025 13:16:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138789.1474396 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v67YI-0007PI-Fy; Tue, 07 Oct 2025 13:16:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138789.1474396; Tue, 07 Oct 2025 13:16:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v67YI-0007PB-Be; Tue, 07 Oct 2025 13:16:26 +0000
Received: by outflank-mailman (input) for mailman id 1138789;
 Tue, 07 Oct 2025 13:16:24 +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
 <SRS0=QfFB=4Q=citrix.com=ross.lagerwall@srs-se1.protection.inumbo.net>)
 id 1v67YG-0007P5-Tf
 for xen-devel@lists.xenproject.org; Tue, 07 Oct 2025 13:16:24 +0000
Received: from CH5PR02CU005.outbound.protection.outlook.com
 (mail-northcentralusazlp170120005.outbound.protection.outlook.com
 [2a01:111:f403:c105::5])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d244852d-a37f-11f0-9d15-b5c5bf9af7f9;
 Tue, 07 Oct 2025 15:16:24 +0200 (CEST)
Received: from DM6PR03MB4764.namprd03.prod.outlook.com (2603:10b6:5:183::31)
 by DS0PR03MB8197.namprd03.prod.outlook.com (2603:10b6:8:28e::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.9; Tue, 7 Oct
 2025 13:16:20 +0000
Received: from DM6PR03MB4764.namprd03.prod.outlook.com
 ([fe80::4f33:d9f5:18a2:28c7]) by DM6PR03MB4764.namprd03.prod.outlook.com
 ([fe80::4f33:d9f5:18a2:28c7%6]) with mapi id 15.20.9182.017; Tue, 7 Oct 2025
 13:16:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d244852d-a37f-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Fv+oWDOH4z1pFt25XYtfZkxEnklaDdVYH+BJj4k0HfwoxP+McOBZR6oGU3WB71C3sD8nJ4MVsnzC2SXmPjBTRDC4eQUpYuPzfk/4sNKgnM+iRccy7pwUZJbnsc0fQsWPF18JD81zoUE7mUa48ViEzi0AHg49YCLKttHx56PgnHk9KNNX3Vubrrv5RdKV8JcF48kS+x6m/tg7utmWvDCa+x7p4fXziV2gBEqMTSy0iQ4q1M7/H4Wq3WxZRsYyg+UTaxgOOXsgv3j5KbmmKLvE5jcbVZyHh/ouwMtNop9H605Xvl5QMDA7owjBq5NVYRcIMXr8KHeZFxvtQLybV/O3Sg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8PLR+3TWsc9fljTZHgroPluxhaljhjk0EsKKP2YITn8=;
 b=Rfaxoc8AA1H/OkjkcQl5+g8NL6XQehPIxriha4hx+xmcIxqndtCTXGq5UOyLNFUEyzyzzKEETl74ibC1rNvqIPcn9ar7mA0f8h83bRXm70F/6GABUmhJjU/EsBbH7Al0JafxpjnF5wJUizb3RnKw639BbEGfiwr5iWsl3dDZg5B1csEroO19nZn1qDjFloFPjI6ih7YsZ3cEP7W3BGx9bAKbL4dMgtJzLdkMcHsoMsHaV566z6TFNRnfLLhYNYVRMwM4gtpcYhmHNsSPU2oFIDNbptoBVQRjKMlvI61PvsI37YxnPIqKxzModuzvqNEVN/uUiNUgLD5du1DNzBamnQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8PLR+3TWsc9fljTZHgroPluxhaljhjk0EsKKP2YITn8=;
 b=wr+eGtUeguQfFqjCzvvHt2s5n3aNEAD5arGwr4Ggdjjibm7/KlNv56a9eAmgfRQWK0pO4UAoC6kYv8ANKw2DOcLxhK778O2oHGAiclZskww7yYWaQ/Ao2zEcuBgQoZAEulsd+lavDd/2dRCuZmmbekbKeOI96QhITD9o9TfzS/g=
From: Ross Lagerwall <ross.lagerwall@citrix.com>
To: Frediano Ziglio <frediano.ziglio@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, Andrew Cooper
	<andrew.cooper@citrix.com>, Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [PATCH livepatch-build-tools v2] Treat constant sections as
 string sections
Thread-Topic: [PATCH livepatch-build-tools v2] Treat constant sections as
 string sections
Thread-Index: AQHcN4dg1tiDvez4R0CuSL7Y5RkS0LS2qaxL
Date: Tue, 7 Oct 2025 13:16:20 +0000
Message-ID:
 <DM6PR03MB476422E4A60464CAAE7E0953F0E0A@DM6PR03MB4764.namprd03.prod.outlook.com>
References: <20251007123859.23646-1-frediano.ziglio@citrix.com>
In-Reply-To: <20251007123859.23646-1-frediano.ziglio@citrix.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DM6PR03MB4764:EE_|DS0PR03MB8197:EE_
x-ms-office365-filtering-correlation-id: 14ce2dec-6eaa-4282-37e8-08de05a3b4d9
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|376014|1800799024|366016|38070700021;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?eP4FeHX3kKeJ7X81zDK7am3Ad/jlOS6Sxi+YRpe7WYllBSLT715e8sjAzj?=
 =?iso-8859-1?Q?TeksFunUFKSLzo4y6A99pUYBRz7SHfiFmCxL1zWMih3eZ1ykTW8hPqS9Ze?=
 =?iso-8859-1?Q?IYYV5QLUFAyXdAbxv8nFUYYUWMFW9tjEAZ6CiPzgEyYhbHB0JAoujHvRF+?=
 =?iso-8859-1?Q?wuPnHR4fxp5esRP0xWnp8YSi/SfB9wAsIAvMM1r2c0ckFn3gu5L5OFSrk9?=
 =?iso-8859-1?Q?tLkgGfpX7IW7UwLHQ2BD3YKZcOjBxbqsmRO267KRu0YaZv3oGD5fcR6Ov+?=
 =?iso-8859-1?Q?xIOLSGS8uCBQX/OrFuiFQ1dzIyTLA1zIppeHHLkkUeeorag6RXbRfxDsJs?=
 =?iso-8859-1?Q?JYvdHcu3qyZk/pUGlRLV34uO7mAv1lmd8yAuRAHE9KTbJvqfKLqxly13Vg?=
 =?iso-8859-1?Q?bV9Bk6MI3A/uzkbmoIv0uel9TWqgHbqTGUN4zeHeL1s6+IFsycNT/huJ1t?=
 =?iso-8859-1?Q?mOFzEhBw3T22qjLM8uWv+o9iAxSonRP071zbvKjzAbfbQhIlMNadKs4jZ0?=
 =?iso-8859-1?Q?Bv/hLIVl+SyV7G/CTBi1wK13JLO/z5ZiDfNgkywOHxRJ4GJoJJD5sDt0NO?=
 =?iso-8859-1?Q?GVxFa0JLg2GGRWUrqwfJ6UT3ayw65beTfAZYjdBoLJalZMx8PdaQfDHfYd?=
 =?iso-8859-1?Q?oMW8PqxV2oTAHH+mPDi36STDLrmfSK3Qn/JAp8+LVI3Rs3rkPqZlPvEbYF?=
 =?iso-8859-1?Q?E2eO8mk07sVqSl4OGfdMZ+VFU76LsaTxJMlJeC9VXFLrKtwd35GD7eZyUy?=
 =?iso-8859-1?Q?ogGsalrs30jIq7/7azdLpopB3SjS2YMYm3KO1Y4pS99RRCEgXN+21CYAhd?=
 =?iso-8859-1?Q?Y/xKC23JPlPrUjYv7IGrBYc4DRJJrrHwDBilCct7Hu8N6s+1rmxsiHNPxl?=
 =?iso-8859-1?Q?vnDzbS7tv9CSXPeOduPRVwKQWQJ6Bm3wpJy7CuWVUNowIiq0uwQcf7s1jj?=
 =?iso-8859-1?Q?OULMBBojQdGk8zOllpm2RojC31GNJEo+A3yptKdCKUVSmRYki9P9Q53uTd?=
 =?iso-8859-1?Q?n8DmkQt7R4Y9nYeDKTZphNfyv0D9B+WETqPZtP+O/bE2lU8WqI2uxfJa7+?=
 =?iso-8859-1?Q?7EWLBuulPuhF3zG0wc0B1sRedQT1gwVYMpAFhs19C8+zWEmgStY3ZXIWK0?=
 =?iso-8859-1?Q?QKbVwVKEa1hqmjHBaT7tHcVjWmRezJhB0REp7MwG3FfRlSk8w+bToU7QNP?=
 =?iso-8859-1?Q?rch4Vtfy/wTBVIB8YTKBDzoG/32pp3t4FqLAQwMm2rsSEzynyWmXqagXKk?=
 =?iso-8859-1?Q?0aSPS020aA3DAA0p9HwXi66YNp6GZOtHyXcNOYH5qxTWx7OeKQPFyp8P6R?=
 =?iso-8859-1?Q?33bV6KOT4RlvHr1lc0O5UDr8I4flpzIL5K9lGh8QdxyDQ1MygyMD1TDt55?=
 =?iso-8859-1?Q?7lU3cZJRYS4S40cO79hU9rBf5R/kH1JgNTgwZusoclZhlExLdynMWltm5D?=
 =?iso-8859-1?Q?+FqQSb46uHVATBPJqGYN8JHK+SU1vLC/gwBPenNNY4EJZPMaJM8iQlG35k?=
 =?iso-8859-1?Q?SC1wA5Jk44XfYJCYls/QX7oELJgGgX60q8Bk7vlASMXl4IOIAzfJRjNwjs?=
 =?iso-8859-1?Q?yhh8anZGD9LAKio8hYUrN2500wEP?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB4764.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(38070700021);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?YmjbalIBdklVvOv+usk+/01OIvuOy40ykUK5hORSDs5kiXxbENIuvsk0Iw?=
 =?iso-8859-1?Q?+UXE26/oPD9RL03KZxVEAFS7JMxyFEJGe1o9Nn6Rv4yXUHEO7yOBDDgbEi?=
 =?iso-8859-1?Q?q0Aq0jeIWqRImyEh+LwiX3/bsUMlWR5NXEP5MRY2MlG6f0WDo9Jre25Bo2?=
 =?iso-8859-1?Q?su0Du0BP7168AWTo3xGyIbJjtxQNHLeAI8SZIw7pRET+QP8eUqE3nTGMYC?=
 =?iso-8859-1?Q?yz+ole1Gr74t/RapG0HmhiOThtMC2HvJubOpczwX6Kh5dc4ilteaxE7Cuz?=
 =?iso-8859-1?Q?sugG4zUFCz/PECB6OTYEKFoodLgzlvG0Azr7S2yJ/DUr+k35covZ4T9APE?=
 =?iso-8859-1?Q?WTQNU3AcbaR3DUxAXG53OjTV9smuVHUvrKRkYkj8Ir71BaryRiZ8nQfi5l?=
 =?iso-8859-1?Q?2ekbEfUpMIntvpCVULFnxSB3ALJgq7NMBj6esajmOK6p7O7l9YhmCOuGIH?=
 =?iso-8859-1?Q?XPcWPjPQIzHgIx6MTH9CeU/cIBTibgF8H6SrueuCtXC9NWaIJCYtFSv36B?=
 =?iso-8859-1?Q?pWookPbVXPLPELrmN+ABtniT8L1cCVAGZXURDEnzvWe3pDyA5YaHmdR68X?=
 =?iso-8859-1?Q?hnPU8LFrojDQKQXMo05c8uXY+mqPoB4RtAFRxlM3rF6LeMVmyXeGgJHtq7?=
 =?iso-8859-1?Q?pydz8x5cNdOF4BGwcO+BxeTQZYRE57G0xbjpcSmJ8qYWk1plUYH420ePb9?=
 =?iso-8859-1?Q?mvGItkox2DITfgsvlfAGn6AXkFywmpSjKN92IoTd3gv5G33lbfdQFmug2Q?=
 =?iso-8859-1?Q?pIzw3OLzMUIwVymybSbskxqvkYnSnOXgriihiQrnvxweEE+Ymu+pq/U9x9?=
 =?iso-8859-1?Q?HdbLBmTi0oLzJDNoKMmNWnvBAr77KvIC9HZE77n83AcDJebZg2zmtFmt87?=
 =?iso-8859-1?Q?P8p+uXS0Kx3YmfyxH18S6VSIqn7azC73QaBnVWfIXn/+lWMFRVXnBcbeqT?=
 =?iso-8859-1?Q?FGFRKk3QmT2wMtVKn1PfO25QQzrAasQgZZVrxuxLmX5oH2kpPdpuXjJvLE?=
 =?iso-8859-1?Q?6KT95T32oQZ/nLYTWMvPwJPsiogjLToincvcCznNF3HFtKw0gfikzl9ghA?=
 =?iso-8859-1?Q?njJlPRvA7fKUuNBJg3yVKTzE3AdzPZX4Fdxumf6Aq2MeSfhXLlBVj4x5sf?=
 =?iso-8859-1?Q?UFOb15uNmbCuFu36HSvRpOJG4FqzIBhGi/ZatJnKy/daRAhdwIV+SUA0im?=
 =?iso-8859-1?Q?Dl3mUlE0EfOUn1zi+Crm2i4ON9gef5+/CqIY+13VbKrPlEqfyGxmlKtkYu?=
 =?iso-8859-1?Q?5bfTGydvugxevPJcBsN/bvcN7IPXo2sTBby/+Rr1ep9DutvmXkbhCEWu1G?=
 =?iso-8859-1?Q?Kl0SBnbYqgFu9Nk2ZgwWFXQJRpNEFhB7wItBo6tY9nA2tZqluFnqpsc6sh?=
 =?iso-8859-1?Q?uTH7DNSNA3xyMzxK0KEfwYjij2XAINiZEjO6Y8kwdQZDVkSPklNdx41NbX?=
 =?iso-8859-1?Q?M89tsbqZwB6wEGCljz3TEKDuo9Wptnx2aBd7OlY6dkkqOX1T3lmuQO3SIE?=
 =?iso-8859-1?Q?UGnO0em1At/gVxFoqoLRKWP89dC3LEh8AEU5gaUTRcD4cTikJwchbsqoCX?=
 =?iso-8859-1?Q?mh498lxzV3WEvKGFWF0KHP1O8pDOvJq08K31jBxZ1Sw/N9DXnSVzpr8fv2?=
 =?iso-8859-1?Q?XSAsar9ctJZXps2ORdyisTciaFDYplXwA/?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB4764.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 14ce2dec-6eaa-4282-37e8-08de05a3b4d9
X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Oct 2025 13:16:20.4543
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: h0xqNrIF5YbYR+FtLhZhJt2tykGStEGtCKEp1mfrjlVLfYjfYYUf0E/rEdP12UM+6hBmRfacI9g5HtdLCCPjA+taTTWdvC7kmr2QBFxaTM8=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR03MB8197

> Newer compiler can put some constant strings inside constant=0A=
> sections (.rodata.cstXX) instead of string sections (.rodata.str1.XX).=0A=
> This causes the produced live patch to not apply when such=0A=
> strings are produced.=0A=
> So treat the constant sections as string ones.=0A=
> =0A=
> Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>=0A=
=0A=
Reviewed-by: Ross Lagerwall <ross.lagerwall@citrix.com>=0A=
=0A=
Thanks,=0A=
Ross=


From xen-devel-bounces@lists.xenproject.org Tue Oct 07 13:24:31 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Oct 2025 13:24:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138798.1474405 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v67g3-0000Wd-5q; Tue, 07 Oct 2025 13:24:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138798.1474405; Tue, 07 Oct 2025 13:24:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v67g3-0000WW-3G; Tue, 07 Oct 2025 13:24:27 +0000
Received: by outflank-mailman (input) for mailman id 1138798;
 Tue, 07 Oct 2025 13:24: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
 <SRS0=jiYT=4Q=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1v67g1-0000WQ-KY
 for xen-devel@lists.xenproject.org; Tue, 07 Oct 2025 13:24:25 +0000
Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com
 [2a00:1450:4864:20::62f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f06f4c41-a380-11f0-9809-7dc792cee155;
 Tue, 07 Oct 2025 15:24:23 +0200 (CEST)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-b3e9d633b78so960427466b.1
 for <xen-devel@lists.xenproject.org>; Tue, 07 Oct 2025 06:24:23 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-146-38.play-internet.pl.
 [109.243.146.38]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-b4865e7c47fsm1400170466b.37.2025.10.07.06.24.21
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Oct 2025 06:24:22 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f06f4c41-a380-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1759843463; x=1760448263; darn=lists.xenproject.org;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Yuz8CIN0GvgIzF0Q2+x+b9HVjtseIzXwWUfY2+2KheM=;
        b=drNSdQPiQVl9tVC/M9Jg2r7SbX0RzOM3u4IvppajsrRqGP0JDtcWkpV+bPYnvg5APF
         pNAYvYWBVu8CAyTWeWNsB7NoZxeXSIZbu6EeiXWHFEc/6kc057fiZ/WKdZRrl94OLMaI
         BdjcJJlpTU3dcI95KFt4W5DOYoS4ELkqDmuRTDkxmC1Epw5ktCjCZMwFoE4SMulC8z2q
         pkMbgtUPo7TG3MIMD7V3E9jqHLuMWTr88VLPovf2mqf+rtsmNVE6NYyXYSYwTaob+W6w
         DBUNwIkotoT/udwK6YK4DmWX5X/uclH0JJb9AC+VIdchcuxGNWiHMfdt9rVR/yTmMYnl
         cHgg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759843463; x=1760448263;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=Yuz8CIN0GvgIzF0Q2+x+b9HVjtseIzXwWUfY2+2KheM=;
        b=eQkZSBJ7aLppLbFrcFhPE0+48GUfsvoQOiKKywlvppRMnirNl4JkDYZ2j4pdDd7aIw
         VwOAgHOvqQ+Jib/CKYjcktpgJ2Ba8sLhP7370EWX+SHWqKmh0/1qQD3ttSsbQb6/aJIE
         PLiNfd+CyRxLZBQrN8/RgXQP08BI8e/25/V6uLDxuJl9bUAoeCiem8a6jt3sqtEqhbOL
         3JGIT+9YY1Qn5cJ2UL7gLqAg8MSnaTiNIfuavJXLpWwrlX6SkHkXF39JFzJIqHVhfkHW
         qC3Ak8mZd961RuMIJYqE9McwgBsugQMQ1zm8KH1g7jO2gvgRJpkClBs0dl4dm426OOkv
         QaXg==
X-Forwarded-Encrypted: i=1; AJvYcCVw8v5hwBtx6RNWnn9fReSXMsIVon8lK2Sg99MhIXUzWPovVFgmgYnNx8Z0FIHbhxlejgpTt9CG3X8=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yyokt1n0E1Od9KzB53HEnk/A+5C/UlFVUH3rL8VlbHDRi/qsuhY
	4QNUXAFSSEIU3FXqqQMeZfdya4t1q2hom8gM1SoG9AIEz74l8CqjabFr
X-Gm-Gg: ASbGncuZGQ+NNJ28JgDmTs+Pc06AeFnJku6oB+0n4Az/zdgGfh9QXUxUNbQR6HGy96Z
	pI01RisPYVp79h37145iXwNLIiCEe2zWwSqH4g7o9DuqZM0exbhwgeJjdF9yMfZ3BDfEHKqhcYx
	DhilSX7bclQRyrSQDpB80OQdKMora5TmQhKFx6C8lgPe33OZweHZmk5VwV7uB28ps4mFGOV/+rU
	t8XFLbtjmWoUA2YBLqO4ldlVo4OFFw/gnxRgV3Sxo8m08ZD3L4WxpPJMQgVC+NrrgodAFPuAF/x
	ncL4KETvZ8khNvNoveldNiGz80lM5l4Sm4WhPlt2RE+wRuFdQApYgfBddZyBKBLj91jhPPygHgF
	arsKL86au4VMWrelsUJfLjQITD14cTWl/hnub/VuJeoqmXb0qmqL+vikWfNJIgWY9PiinwloaO6
	Rb9zbtyVTwH8TC1wTBFopI2HsDYgE=
X-Google-Smtp-Source: AGHT+IEsBqTZWJfpIv+5/UyV3gxe5XLUElJvl0W53iz2OIXzlgA9gF1wciZGOa+CI1+MEekDJKZJqw==
X-Received: by 2002:a17:906:ef03:b0:b40:bdc3:ca04 with SMTP id a640c23a62f3a-b4f3e1fb611mr569550566b.0.1759843462505;
        Tue, 07 Oct 2025 06:24:22 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------KgmRIvrdh9S4ZOYDJtUNxB0G"
Message-ID: <0f2541de-03f7-4032-8330-55d22e31ae95@gmail.com>
Date: Tue, 7 Oct 2025 15:24:21 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21 v2 0/3] cirrus-ci: get testing working again
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <20251007070056.83423-1-roger.pau@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20251007070056.83423-1-roger.pau@citrix.com>

This is a multi-part message in MIME format.
--------------KgmRIvrdh9S4ZOYDJtUNxB0G
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hello Roger,

On 10/7/25 9:00 AM, Roger Pau Monne wrote:
> Hello,
>
> The following series fixes Cirrus-CI testing so it's fully working
> again.  I request a release-ack to get those committed (once reviewed).
> The risk is very low, since they only modify Cirrus-CI code, so
> Gitlab-CI is not changed at all.

Release-Acked-By: Oleksii Kurochko<oleksii.kurochko@gmail.com>

Thanks.

~ Oleksii

>
> Roger Pau Monne (3):
>    cirrus-ci: install libinotify for FreeBSD
>    cirrus-ci: fix bashism in the test_script code
>    cirrus-ci: bump FreeBSD version
>
>   .cirrus.yml | 7 ++++---
>   1 file changed, 4 insertions(+), 3 deletions(-)

--------------KgmRIvrdh9S4ZOYDJtUNxB0G
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <pre>Hello Roger,</pre>
    <div class="moz-cite-prefix">On 10/7/25 9:00 AM, Roger Pau Monne
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:20251007070056.83423-1-roger.pau@citrix.com">
      <pre wrap="" class="moz-quote-pre">Hello,

The following series fixes Cirrus-CI testing so it's fully working
again.  I request a release-ack to get those committed (once reviewed).
The risk is very low, since they only modify Cirrus-CI code, so
Gitlab-CI is not changed at all.</pre>
    </blockquote>
    <pre>Release-Acked-By: Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a>

Thanks.

~ Oleksii</pre>
    <blockquote type="cite"
      cite="mid:20251007070056.83423-1-roger.pau@citrix.com">
      <pre wrap="" class="moz-quote-pre">

Roger Pau Monne (3):
  cirrus-ci: install libinotify for FreeBSD
  cirrus-ci: fix bashism in the test_script code
  cirrus-ci: bump FreeBSD version

 .cirrus.yml | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)
</pre>
    </blockquote>
    <br>
  </body>
</html>

--------------KgmRIvrdh9S4ZOYDJtUNxB0G--


From xen-devel-bounces@lists.xenproject.org Tue Oct 07 13:25:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Oct 2025 13:25:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138812.1474416 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v67hF-00015s-IQ; Tue, 07 Oct 2025 13:25:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138812.1474416; Tue, 07 Oct 2025 13:25:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v67hF-00015l-FQ; Tue, 07 Oct 2025 13:25:41 +0000
Received: by outflank-mailman (input) for mailman id 1138812;
 Tue, 07 Oct 2025 13:25:40 +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 <SRS0=F9pE=4Q=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v67hE-00015d-82
 for xen-devel@lists.xenproject.org; Tue, 07 Oct 2025 13:25:40 +0000
Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com
 [2a00:1450:4864:20::630])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1cc6f9a6-a381-11f0-9809-7dc792cee155;
 Tue, 07 Oct 2025 15:25:37 +0200 (CEST)
Received: by mail-ej1-x630.google.com with SMTP id
 a640c23a62f3a-b3d196b7eeeso946734666b.0
 for <xen-devel@lists.xenproject.org>; Tue, 07 Oct 2025 06:25:37 -0700 (PDT)
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
 a640c23a62f3a-b4869c4e5d8sm1380091066b.82.2025.10.07.06.25.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Oct 2025 06:25:36 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1cc6f9a6-a381-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1759843537; x=1760448337; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=2upZOfn+9XZKAVenT9IdSeeTsYpWOvhQECiAzLsOT9M=;
        b=BZJS906E0btZGu09SASWrkhgLW+INku72fSAufib1Jjsd5tqf54ns9I+KMAnhdTmRX
         u0pvkww+ljl2NbtqidvbBGlmXAmp9lKNCTanqmrtXeAp41j0kx1400PdNLkV1UMkwMhd
         ydIFaTPRETgx+0551AZkuDNi1gT5GmL/BSSwF80i5WGlCDfyYedELjjrvs+2kxJOkTX1
         6tgcJQWKz4uoQyPLyo7yA3q/0GkRqgSu7UXnZIWpGCH6jCsGxRBEUb0q+Bx3wexHxchL
         DZ8g+TiLjvOpFfSFb5Gig426iveBgEfmJohfU7pjEt7xTtYP4DsE/4UgykCzBaDFuL/6
         wb5w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759843537; x=1760448337;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=2upZOfn+9XZKAVenT9IdSeeTsYpWOvhQECiAzLsOT9M=;
        b=dNTQHmQIHHgHGuWgoauL5+bZYR1pct2RYs9LK3/kjx5eeU9XqtO8wV6IUhEIn7UT/7
         RfIqtXdO9yWwQBu3VxvESerBcJBWDDmnqq5GwTt5BQ0abr5P3TrtMKmX0rCX+grPCesY
         VWlvwd+pHiHMAeR+vvtnk+CbT9MV009rxo3bv3qYS+KpitBsTjGMJszvjdZH7i01S9u9
         Dx/uLPvUcrsXTKOis3yEN7JBs36mvx63fQ3oyZD1+u3YZkm4Ov0mx0TRd+NxEjfdH9/2
         r/cxJk6tOIWkT0m8OnBuImFpWX8n7Gkql7nzObz9udWkJkSgziVYvaji3zE3GvQHvapH
         LwUw==
X-Forwarded-Encrypted: i=1; AJvYcCWiU0QkVlTbY3O/qdNTRWJ/jbmhPNyIXkuUeoNbXJPihIqVl8Ckrs5PuWvlZBqIZKpVT5+Zc6wdFNs=@lists.xenproject.org
X-Gm-Message-State: AOJu0YweTmxDEEQM+0FE7Wc1gB+c/FCyh5sNeztRQHbcg0C0Q08+M6h5
	YEkpMgbvD3H0S8S5ZQ1gnKgwFWVuRaKI10Uba00VScrSKqRi1ZhcPuu7eJu6iTp6JQ==
X-Gm-Gg: ASbGnct6DIvdsSBNXw8SGe3DtW/Uv+61lnVy1EIosnpCfFrdpp4Y+gylKtbUggAxbmX
	wGvxndm57JzJJFD0FldMgjnyUnNCOs2v+GuLDy5aVB9Lnp6ernmHhOG5yYNqd8ycVdrW3btkpAf
	kKRCpUIHGFKlV7ZzPI2nHzD8qHWJ3SfLO4S6FutUGgSaN9QRN47pyfvlS7aVp/pyTOTDWD9ApVj
	FvubRjLfU4gL6xzrJq+jmVQDVRfJcsj5yho0fDBHiUO0xuB2aUkgkoDbGGTY200YSrb6Lh6Ss6J
	s2JTjFmhOsSpwa4KImglQf6dXorjT94rtVoUde5u3hTgIo11qA+/JupD0xpzYHCPDejBvfByEPz
	jZPp+xUvXOw+oFNBRyBfhk+IKytPuUwKAjHTOH60K27T+KfI5tLGTQaZEfVvWSX3VQQl7YDTf+9
	Z/ADGYZdHm7oW2ZpEQ6lZ9v4SYuyyK2jiolu7K0cRSFg==
X-Google-Smtp-Source: AGHT+IHkz1RvUm2Y6K/v29K/FR/HFKL74dkvrcxiGVF4//Vfbdn/x8ph2egRij8xKmR0sRa6QiHgxA==
X-Received: by 2002:a17:906:6a1f:b0:b3e:3d95:b9bb with SMTP id a640c23a62f3a-b49c3f77baemr2137944866b.60.1759843537205;
        Tue, 07 Oct 2025 06:25:37 -0700 (PDT)
Message-ID: <4232140b-e44a-4d8b-8178-b583a2f4fabc@suse.com>
Date: Tue, 7 Oct 2025 15:25:45 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 18/18] xen/riscv: introduce metadata table to store P2M
 type
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <cover.1758145428.git.oleksii.kurochko@gmail.com>
 <f1e346b228ea76eb5bd988e8aab0062cbea58c9d.1758145428.git.oleksii.kurochko@gmail.com>
 <4c2eb99b-3e88-4364-8c3f-7c70d4064ef4@suse.com>
 <5142b7c4-ab2e-4f73-a60d-3d23fe255ca7@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <5142b7c4-ab2e-4f73-a60d-3d23fe255ca7@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 01.10.2025 18:00, Oleksii Kurochko wrote:
> On 9/23/25 12:41 AM, Jan Beulich wrote:
>> On 17.09.2025 23:55, Oleksii Kurochko wrote:
>>
>>> +/*
>>> + * `pte` â€“ PTE entry for which the type `t` will be stored.
>>> + *
>>> + * If `t` is `p2m_ext_storage`, both `ctx` and `p2m` must be provided;
>>> + * otherwise, they may be NULL.
>>> + */
>>> +static void p2m_set_type(pte_t *pte, const p2m_type_t t,
>>> +                         struct p2m_pte_ctx *ctx,
>>> +                         struct p2m_domain *p2m)
>>>   {
>>> -    int rc = 0;
>>> +    /*
>>> +    * For the root page table (16 KB in size), we need to select the correct
>>> +    * metadata table, since allocations are 4 KB each. In total, there are
>>> +    * 4 tables of 4 KB each.
>>> +    * For none-root page table index of ->pt_page[] will be always 0 as
>>> +    * index won't be higher then 511. ASSERT() below verifies that.
>>> +    */
>>> +    struct page_info **md_pg =
>>> +        &ctx->pt_page[ctx->index / PAGETABLE_ENTRIES].v.md.metadata;
>>> +    pte_t *metadata = NULL;
>>> +
>>> +     /* Be sure that an index correspondent to page level is passed. */
>>> +    ASSERT(ctx->index <= P2M_PAGETABLE_ENTRIES(ctx->level));
>> Doesn't this need to be < ?
> 
> Yeah, it should be <.
> 
>>
>>> +    if ( !*md_pg && (t >= p2m_first_external) )
>>> +    {
>>> +        /*
>>> +         * Ensure that when `t` is stored outside the PTE bits
>>> +         * (i.e. `t == p2m_ext_storage` or higher),
>>> +         * both `ctx` and `p2m` are provided.
>>> +         */
>>> +        ASSERT(p2m && ctx);
>> Imo this would want to be checked whenever t > p2m_first_external, no
>> matter whether a metadata page was already allocated.
> 
> I think that|ctx| should be checked before this|if| condition, since it is
> used to obtain the proper metadata page.
> 
> The check for|p2m| can remain inside the|if| condition, as it is essentially
> only needed for allocating a metadata page.

That is, you want to allow callers to pass in NULL for the "p2m" parameter?
Isn't this going to be risky?

>>> -    if ( t > p2m_first_external )
>>> -        panic("unimplemeted\n");
>>> -    else
>>> +        if ( ctx->level <= P2M_SUPPORTED_LEVEL_MAPPING )
>>> +        {
>>> +            struct domain *d = p2m->domain;
>>> +
>>> +            *md_pg = p2m_alloc_table(p2m);
>>> +            if ( !*md_pg )
>>> +            {
>>> +                printk("%s: can't allocate extra memory for dom%d\n",
>>> +                        __func__, d->domain_id);
>>> +                domain_crash(d);
>>> +            }
>>> +        }
>>> +        else
>>> +            /*
>>> +             * It is not legal to set a type for an entry which shouldn't
>>> +             * be mapped.
>>> +             */
>>> +            ASSERT_UNREACHABLE();
>> Something not being legal doesn't mean it can't happen. Imo in this case
>> BUG_ON() (in place of the if() above) would be better.
>>
>>> +    }
>>> +
>>> +    if ( *md_pg )
>>> +        metadata = __map_domain_page(*md_pg);

Not this conditional assignment for ...

>>> +    if ( t < p2m_first_external )
>>> +    {
>>>           pte->pte |= MASK_INSR(t, P2M_TYPE_PTE_BITS_MASK);
>>>   
>>> -    return rc;
>>> +        if ( metadata )
>>> +            metadata[ctx->index].pte = p2m_invalid;
>>> +    }
>>> +    else
>>> +    {
>>> +        pte->pte |= MASK_INSR(p2m_ext_storage, P2M_TYPE_PTE_BITS_MASK);
>>> +
>>> +        metadata[ctx->index].pte = t;
>> Afaict metadata can still be NULL when you get here.
> 
> It shouldn't be, because when this line is executed, the metadata page already
> exists or was allocated at the start of p2m_set_type().

... this reply of yours. And the condition there can be false, in case you
took the domain_crash() path.

>>> @@ -812,13 +955,21 @@ static int p2m_set_entry(struct p2m_domain *p2m,
>>>       {
>>>           /* We need to split the original page. */
>>>           pte_t split_pte = *entry;
>>> +        struct page_info *tbl_pg = virt_to_page(table);
>> This isn't valid on a pointer obtained from map_domain_page().
> 
> Oh, sure â€” virt_to_page() and page_to_virt() should be used only for Xen
> heap addresses.
> 
> By the way, do we have any documentation, comments, or notes describing
> what should be allocated and from where?
> 
> Since map_domain_page() returns an address from the direct map region,
> should we instead use maddr_to_page(virt_to_maddr(table))?

How would that be any better? Even if right now you only build RISC-V code
with map_domain_page() having a trivial expansion, you will want to avoid
any assumptions along those lines. Or else you could avoid the use of that
abstraction altogether. It exists so when you need to support memory
amounts beyond what the directmap can cover, you can provide a suitable
implementation of the function and be done. You (or whoever else) in
particular shouldn't be required to go audit all the places where
map_domain_page() (and the pointers it returns) is (are) used.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Oct 07 13:26:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Oct 2025 13:26:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138821.1474426 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v67iS-0001pL-Sv; Tue, 07 Oct 2025 13:26:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138821.1474426; Tue, 07 Oct 2025 13:26:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v67iS-0001pE-PQ; Tue, 07 Oct 2025 13:26:56 +0000
Received: by outflank-mailman (input) for mailman id 1138821;
 Tue, 07 Oct 2025 13:26:56 +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
 <SRS0=jiYT=4Q=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1v67iS-0001Ys-Aw
 for xen-devel@lists.xenproject.org; Tue, 07 Oct 2025 13:26:56 +0000
Received: from mail-ed1-x532.google.com (mail-ed1-x532.google.com
 [2a00:1450:4864:20::532])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4b2e07e7-a381-11f0-9d15-b5c5bf9af7f9;
 Tue, 07 Oct 2025 15:26:55 +0200 (CEST)
Received: by mail-ed1-x532.google.com with SMTP id
 4fb4d7f45d1cf-6318855a83fso12872764a12.2
 for <xen-devel@lists.xenproject.org>; Tue, 07 Oct 2025 06:26:55 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-146-38.play-internet.pl.
 [109.243.146.38]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-b486a173a41sm1391211166b.87.2025.10.07.06.26.53
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Oct 2025 06:26:54 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4b2e07e7-a381-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1759843615; x=1760448415; darn=lists.xenproject.org;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=JKCubl4VmCe4Eh88cPSd8wW/t3R5vLLs+JMih2EID64=;
        b=QsxsJk/UGzO5u3bOYAkoUt0I1rqbeyL3BOrOqyJ2sRhrhMM168iPPqAtgm/PD5cKLz
         MtX2yT21l6BnRU2XZUwOU/58C9L7Ob1/bhjuweK5Mi06wA9hHU05bWoBE7I8JlPz+rKq
         r2XtfaZKlhGMZseNhZyMB+faXAzAu6BJT7c4DT9i1uqFCxG3rEu4CDLtdGSvmHL2WP4f
         SIYTpv1PPjpzlS8XZNJPoVgGiOuHcoLwWS4R+HsOAocjgdt5xGMQ7h2xOLEJSQ3jlgae
         IZsT1Da/TUd+EA428Hu/NTvKBLBPcs7ngOQMbFyfLnIF2+7CvSmhJbBHOSK96MTf94eP
         PGqg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759843615; x=1760448415;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=JKCubl4VmCe4Eh88cPSd8wW/t3R5vLLs+JMih2EID64=;
        b=WgWD4Nfc37J+0NaDQ++5mqaTt58QiCl7/P41l0jnxh3kp7JUdUP14UlgiGogfx3kEa
         j0DfncH/Ksn1uR8coiYdRjlZ+ryDlLjjHEJFDd2BdciLtHwGxhTNUlXG1BoLEzIT6LMW
         f6LL8/4JoNn6UeCuDvTTCZzLPBxTdbN0hDAY/NszpVwga9SdV38OTbelvImurERtNrC8
         JmnMRHknGN+321mbiYtKNGuT1UitlqgQ/KFtc7NIinmUw5wehWWeYVkM9d7r4fdrLEJu
         6/JLz7VNAjy85hNDuDh9p5KrbMSo9QHwTamk/LZm4Fv/GiEJISXMQNVB+O8ARWUN7QoZ
         MqoA==
X-Forwarded-Encrypted: i=1; AJvYcCXWW0jkxMpRT+mvUhXwVK4dsjviB0PnWBVdvDI7mvwiwjIxbRhURCw6aNYWqbP+zb+h91MNFmRNMvU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwdIbeEpfl0ZhyGMckRCizpF1970QGp7k3rubWqyfWRfQbtXRvF
	Mr0zjB/6jDOKVk03RB5aCClz+b55h9bTWMA0zgsLi8TNAZN72pKHRE0R
X-Gm-Gg: ASbGncsbT/imo6dp0H1nzcnPNP8JuY3upBjeKSh274gjisZUkVSCvpRJT3rpJvo40M+
	Vjcgd1hB8gKkNLjtJoy+nD0sK6kF3z/lbFiOgll29OiEPxYFvm9Q3RXpQoQ5Qw4CX2wZXy2LKiS
	M+3QECtZ+Q3ciSXr4LoPN+dPnUY4/g662JXWn2VsqeEmj2N+D0YOMZKG4lUyLVJJ0jeK2a39BRv
	PHvNd3Q36KBJ2CA6KklL4+Wcfj1+WGHL4aabArE7Xkl0fFJ+1V8U6dF34KBixEJ0BmA96vuNd93
	rCr4f+xmU0DksJVbz1gyKfGA6wLiwcV/wcn8r95T5ylI274EIyXt+4UpMY+IK+iGboBvRALzcU8
	7gnoJshDjD+8wMCTutOTLIneScm6IsseHGaqv2Me6/cr2FyXiibthw37/zCaaSNG1NUOtPkQSnQ
	pq0+uglch7tSeu7SV+2SRkEKHqG7c=
X-Google-Smtp-Source: AGHT+IFYOZCK3ES4t5GWNyYevvpzYYd8BjqJHgjZ37X+MgFWOFwdhZYtzzloWwMWmmeX8Wqb/JvD+g==
X-Received: by 2002:a17:907:a089:b0:b3c:200b:4364 with SMTP id a640c23a62f3a-b49c1f5ac7cmr2318917666b.27.1759843614479;
        Tue, 07 Oct 2025 06:26:54 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------AVnKoanhiOcZT1DFpKXCXdaC"
Message-ID: <91f7a719-8bac-4b8e-be6f-f04f55fa9cfc@gmail.com>
Date: Tue, 7 Oct 2025 15:26:53 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21 0/2] Prepare RC1
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>
References: <20251006200840.2171113-1-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20251006200840.2171113-1-andrew.cooper3@citrix.com>

This is a multi-part message in MIME format.
--------------AVnKoanhiOcZT1DFpKXCXdaC
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit


On 10/6/25 10:08 PM, Andrew Cooper wrote:
> Andrew Cooper (2):
>    Config.mk: Pin QEMU_UPSTREAM_REVISION
>    Update Xen version to 4.21.0-rc1
>
>   Config.mk    |  2 +-
>   README       | 10 +++++-----
>   SUPPORT.md   |  2 +-
>   xen/Makefile |  2 +-
>   4 files changed, 8 insertions(+), 8 deletions(-)
>
>
> base-commit: acaecf31ea1d566a20b5ee9c0f1f3cb4ee0ec9c2

Release-Acked-By: Oleksii Kurochko<oleksii.kurochko@gmail.com>

Thanks.

~ Oleksii

--------------AVnKoanhiOcZT1DFpKXCXdaC
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 10/6/25 10:08 PM, Andrew Cooper
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:20251006200840.2171113-1-andrew.cooper3@citrix.com">
      <pre wrap="" class="moz-quote-pre">Andrew Cooper (2):
  Config.mk: Pin QEMU_UPSTREAM_REVISION
  Update Xen version to 4.21.0-rc1

 Config.mk    |  2 +-
 README       | 10 +++++-----
 SUPPORT.md   |  2 +-
 xen/Makefile |  2 +-
 4 files changed, 8 insertions(+), 8 deletions(-)


base-commit: acaecf31ea1d566a20b5ee9c0f1f3cb4ee0ec9c2</pre>
    </blockquote>
    <pre>Release-Acked-By: Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a>

Thanks.

~ Oleksii</pre>
  </body>
</html>

--------------AVnKoanhiOcZT1DFpKXCXdaC--


From xen-devel-bounces@lists.xenproject.org Tue Oct 07 14:07:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Oct 2025 14:07:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138879.1474452 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v68LJ-0000B9-2D; Tue, 07 Oct 2025 14:07:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138879.1474452; Tue, 07 Oct 2025 14:07:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v68LI-0000B2-Vf; Tue, 07 Oct 2025 14:07:04 +0000
Received: by outflank-mailman (input) for mailman id 1138879;
 Tue, 07 Oct 2025 14:07:03 +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 <SRS0=F9pE=4Q=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v68LH-0000Aw-Ka
 for xen-devel@lists.xenproject.org; Tue, 07 Oct 2025 14:07:03 +0000
Received: from mail-ed1-x529.google.com (mail-ed1-x529.google.com
 [2a00:1450:4864:20::529])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e57b6d49-a386-11f0-9d15-b5c5bf9af7f9;
 Tue, 07 Oct 2025 16:07:02 +0200 (CEST)
Received: by mail-ed1-x529.google.com with SMTP id
 4fb4d7f45d1cf-63994113841so4482094a12.3
 for <xen-devel@lists.xenproject.org>; Tue, 07 Oct 2025 07:07:02 -0700 (PDT)
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
 4fb4d7f45d1cf-6378811236csm12462269a12.42.2025.10.07.07.07.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Oct 2025 07:07:00 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e57b6d49-a386-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1759846021; x=1760450821; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=y1Ds3gRIjeBvOd/L6KWpUh+yxYMEsiIVQ86nPMRa4z4=;
        b=Aqj7qXO05ebsByH1Hp28ZMpP+N0N/8z39vv7ym1JQ1ctW+D4PdCyLeu4m2fK4ccYC+
         EMcY0B2BWIsMublaLUUcPEdTls5rXuSma1M0+4j08aD+o/q9dEcfDV4QFTnYMNSTOF2R
         ACUuk1KSDvOa5EO5BU6A6msOlstizu2TMfIU0dvZkDz+vDriSegwDKsIGvp9e28DkQtb
         lTYqDffDzYHCCmrX2nL1/akdmgizNKAPe42H2UGs68x4oWCpHWLm6yLLtGKE/JhyDR9v
         5VLoYkmhBZc1tIKP016/jsE6N7Q7naX6FbE1ohOooAC+6gsF+P9aH7BvW+Z6TgCQgcB8
         93uw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759846021; x=1760450821;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=y1Ds3gRIjeBvOd/L6KWpUh+yxYMEsiIVQ86nPMRa4z4=;
        b=Sjc349QBoIcS2Ow527nW+8jlwdUcl+FUBwTjA/OwjlfKcIVD1B8pzX7GGgX1Tfis1a
         YWG0iMWcvIaJl3Y3MUZfuA/reg83udNQGGXU2MGUygeAixrNszjtAJAnFB94jBhQL9oD
         cc33/JhkXVCHcICyAU9FH4kjNVn2zH7pESWLcAHJiIETW/ME+ZWAMscbTn3uZ964/ItX
         QdQr9fN2O/ss5IFAz/RUXnGoJseaGAMSkIqH0iWQ4i4xia45RMPXa3znmjK6Bb0pkbUy
         CznEvYSwNAkXt+DTYEevQI0uu/ZSoYTPXGvbCOgpcZnEvSF7eDaRX5kdaKh/rAiPgHVA
         E8Fg==
X-Forwarded-Encrypted: i=1; AJvYcCVEuzlRD9J0lscxri3hCHGuMmVyvHZf6Z35TLHLYb8JiadZ5es/a0QD7aVvb8Qe8e/l+vvJDAssxvc=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz1cxcGXh2SVGI23Z5entTSeE5oq89AxDUHuRhPuAW38jbEEvZM
	+mVzGHimppAfbREZmqEkjVOdmeHSfn6viRMywAQi874LEM+I/3eXO09mp93tHmmLPA==
X-Gm-Gg: ASbGncu1oYNOnYV00Uf3e3kk3+AQ9i2Z1xCmtXFjj97HJol2iFe+n0JCKqI3/m+CELo
	3PwLQEtUemBwKxjZNyy3wgrRgUsOM3d/sXLMQUFFqEQtWPKm5QudzJ9PUcRtaOcM7TZsnJz38d5
	5fR0gzkjU8kt5hgDd2oo4oaw9RMIdn5GrNfSCcYYz7m6NYtJLtWHcwgS6gckbOeMhQXuI4kr9ci
	bBeRxEssvVpj7ogcbfOLspM8/202OnU8F7rk532TQJSEBoGrl8sCW1BzyRISq2zPZtlw27UZ8VU
	jcAV58o3t1pbnn/NbifCQNevOQD4Mq/e1pyVEFOGi4tBx3O+6EuJOJblN8mtGVjxPAgR4sgSML0
	4x3bwQ/+vn/PqkTs4g0jEsoV4fjO/6F87bHnVN1Cddtz/MVS2Gakz9YYD1F+5apvm6PeRMn29Fs
	duNTEWfPdrDoE279rZiinV8SocC4aHaig=
X-Google-Smtp-Source: AGHT+IGUwBNwInoEMOHYuBTFQEQY2lbKNvDFo7NW4rKBMFRQtE93GKFywtqGeVdBdodtefuTbG0Wgg==
X-Received: by 2002:a05:6402:3511:b0:637:dd64:55a with SMTP id 4fb4d7f45d1cf-639348cc425mr18549019a12.3.1759846021430;
        Tue, 07 Oct 2025 07:07:01 -0700 (PDT)
Message-ID: <8661ed8c-a2c1-41ea-bb3f-1ac2c24f5e29@suse.com>
Date: Tue, 7 Oct 2025 16:07:09 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] xen: Strip xen.efi by default
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>,
 Daniel Smith <dpsmith@apertussolutions.com>,
 "michal.zygowski@3mdeb.com" <michal.zygowski@3mdeb.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Frediano Ziglio <frediano.ziglio@cloud.com>, xen-devel@lists.xenproject.org
References: <20250612100705.21988-1-frediano.ziglio@cloud.com>
 <586a66e5-4b11-485e-955a-da5fc3183737@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <586a66e5-4b11-485e-955a-da5fc3183737@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 02.10.2025 15:05, Andrew Cooper wrote:
> On 12/06/2025 11:07 am, Frediano Ziglio wrote:
>> For xen.gz file we strip all symbols and have an additional
>> xen-syms file version with all symbols.
>> Make xen.efi more coherent stripping all symbols too.
>> xen.efi.elf can be used for debugging.
>>
>> Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
>> ---
>> Changes since v1:
>> - avoid leaving target if some command fails
> 
> CC-ing the EFI maintainers, as this is an EFI change.
> 
> At the recent QubesOS hackathon, MichaÅ‚ Å»ygowski (3mdeb) found that
> stripping Xen was the difference between the system booting and not.
> 
> With debugging symbols, xen.efi was ~32M and is placed above the 4G
> boundary by the EFI loader, hitting Xen's sanity check that it's below 4G.
> 
> Xen does still have a requirement to live below the 4G boundary.Â  At a
> minimum, idle_pg_table needs to be addressable with a 32bit %cr3, but I
> bet that isn't the only restriction we have.
> 
> So, either we find a way of telling the EFI loader (using PE+ headers
> only) that we require to be below 4G (I have no idea if this is
> possible), or we strip xen.efi by default.

In principle not setting the large-address-aware flag ought to have such
an effect, except that (a) I'm in doubt as to EFI loaders actually
looking at the flag and (b) having this flag clear in an image with an
image base address far beyond the 4Gb boundary is likely at least
contradictory.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Oct 07 14:12:13 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Oct 2025 14:12:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138888.1474462 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v68QD-0001qX-LW; Tue, 07 Oct 2025 14:12:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138888.1474462; Tue, 07 Oct 2025 14:12:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v68QD-0001qQ-Gq; Tue, 07 Oct 2025 14:12:09 +0000
Received: by outflank-mailman (input) for mailman id 1138888;
 Tue, 07 Oct 2025 14:12:08 +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 <SRS0=F9pE=4Q=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v68QC-0001qK-Hh
 for xen-devel@lists.xenproject.org; Tue, 07 Oct 2025 14:12:08 +0000
Received: from mail-ed1-x534.google.com (mail-ed1-x534.google.com
 [2a00:1450:4864:20::534])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9ac7774f-a387-11f0-9809-7dc792cee155;
 Tue, 07 Oct 2025 16:12:06 +0200 (CEST)
Received: by mail-ed1-x534.google.com with SMTP id
 4fb4d7f45d1cf-637dbabdb32so12555237a12.2
 for <xen-devel@lists.xenproject.org>; Tue, 07 Oct 2025 07:12:06 -0700 (PDT)
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
 4fb4d7f45d1cf-63788112bbdsm12451877a12.41.2025.10.07.07.12.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Oct 2025 07:12:05 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9ac7774f-a387-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1759846326; x=1760451126; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=1aGu/YyTImMy0zu4CheQpC6gs4fpmNm4dyjA0U4I9MQ=;
        b=cPROKpHlxSLUF51gfTcRN9rGE/w0eSC7shmv4A0AqqWTAxgkzJS3ugVXK9lNXDPlU6
         hqWYxfEipu3dO++yP/Xb6/P4YT8KAPHhag6X7+HNpuLcfgBztWmEXjhgAEvTXGBvqIro
         /25t8qhDYK/KUuL/8GS82GInzK4paTpCkC+KIXIR2CNUctInnFu7kbQbw281ff/dPI9f
         dDcQqPVdV0gmfMmYnw3bpQrb17PUhv+TemI56LxDbsbmOtCZUp5G0vIN75lX6zbtPwOv
         60Jgf4yLqrtdMVJYr0KhU90Y/qb07tonANTkEnFwN5R3uvYNmIMkl5bjApU8QMxb29Rm
         DSug==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759846326; x=1760451126;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=1aGu/YyTImMy0zu4CheQpC6gs4fpmNm4dyjA0U4I9MQ=;
        b=ADqyn4etFDwSCWx00eEtuao5f3qx3EmTeRhK5pUxtzulW24rOjuMUOuIb3FX9eZVpg
         nYC9+Wl6XXBpEbKMAvT7P5fdNFVp++DVbQDeHa0eUqzu+eI9YqcIa7S43Zu2TJQNMzQ1
         1RaQMxscjZkgywDPIaJkICBco9VcdIHTqGh3tLMgyCMyMpxHVaveQ5S019G2piKcwIfa
         4HaRA1Y9cIJ0O8l+zVj0/OgQxURltbL0IgSpQSNbxUoZOdwjGLwTwhlUs14yuiZlbjDV
         +Nf0t80m33FaXT1nShm7zuWDB5+JFm7BqXv2/Gsm5Xrn6rFbq6z0ugEUpQgADiAcHNKE
         LQdg==
X-Forwarded-Encrypted: i=1; AJvYcCUFnb5cjIHYpaECDQSlXls8U6u89QC7dFGBzyPABxgW1DmC8eejZ5tVIgqz45i/p/fGAX6yRU7p+OQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxN/XiDUUnlKfthCIj4zN33iE1k0Z+Tb9HfmKI/2PJZmNeERIat
	UuZIeBOzhX9/nKv15NL3KCp6v4BeaMXdumcjCAWMS0fy4g8DB4Bkl7RivxYhYzwEAQ==
X-Gm-Gg: ASbGncuhHnMuscAYqnr6/1a7bdDUhNo1chZaGj4vKglcbAM5ckLXwOxXyzYZVKdvb1w
	ui6bfvmPkGRBQys/6Pf3aPqM9RFYGh1IHXqLQQM9hRHsRS4IlKh1cbGfUfUJ35PaQ8tFfY0mHy9
	0DIUtjYrk/Z3Wn2L7hi0pDVYubY1PqnCcvX59b3YLreiNuR1yN5O8SjFfSMucqBGMJr09BYINlf
	nB2JNwPhcFdu7Qofnlpd43Y6s5IxvT+1B5NAVox2o3Ti+3F5PNyKCcVgnsSAXb8o3xAYdni+FOx
	vaptvqN/uvdfANrRNu7cov65hyf2HqgCaPAeWDLwyyjD4I2TIzvEteVkvJ/znjaUVSbdQhWsSL1
	tH6OFOuypMyss44rFM8o5zHUqHxl1oCRAmI6Ni+D2+QCqN10poVrftIjbJwKatmLKJHT2qgXxqG
	65khBDtlovcvFr7uDvzBftZZvW1ECmInc=
X-Google-Smtp-Source: AGHT+IHh1EpSOniBEroth34hyIywXVsEGL4kxnoaI0wFa28exWDyd3qbT5XRND2uXke7sjfir/KmgQ==
X-Received: by 2002:a05:6402:35c2:b0:634:5791:605f with SMTP id 4fb4d7f45d1cf-639346b7df4mr16453898a12.4.1759846325556;
        Tue, 07 Oct 2025 07:12:05 -0700 (PDT)
Message-ID: <1708c939-4b06-4d09-acb8-6965383d91f4@suse.com>
Date: Tue, 7 Oct 2025 16:12:13 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] xen: Strip xen.efi by default
To: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
 xen-devel@lists.xenproject.org, Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Daniel Smith <dpsmith@apertussolutions.com>,
 "michal.zygowski@3mdeb.com" <michal.zygowski@3mdeb.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <20250612100705.21988-1-frediano.ziglio@cloud.com>
 <586a66e5-4b11-485e-955a-da5fc3183737@citrix.com> <aN6H8dOlea2Um8y8@mail-itl>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <aN6H8dOlea2Um8y8@mail-itl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 02.10.2025 16:10, Marek Marczykowski-GÃ³recki wrote:
> On Thu, Oct 02, 2025 at 02:05:56PM +0100, Andrew Cooper wrote:
>> On 12/06/2025 11:07 am, Frediano Ziglio wrote:
>>> For xen.gz file we strip all symbols and have an additional
>>> xen-syms file version with all symbols.
>>> Make xen.efi more coherent stripping all symbols too.
>>> xen.efi.elf can be used for debugging.
>>>
>>> Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
> 
> Generally,
> Reviewed-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>

Just to double check: You offer this after having read (and discarded) my
comments on v1, which v2 left largely unaddressed? IOW I continue to
consider this a wrong move, and Andrew's remark towards "bootable vs not
bootable" isn't quite relevant, seeing that prior to this patch we already
had a way to strip the binary put onto the EFI partition (i.e. the one to
be used for actual booting).

Jan


From xen-devel-bounces@lists.xenproject.org Tue Oct 07 14:14:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Oct 2025 14:14:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138901.1474471 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v68S7-0002Vx-1u; Tue, 07 Oct 2025 14:14:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138901.1474471; Tue, 07 Oct 2025 14:14:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v68S6-0002Vq-VU; Tue, 07 Oct 2025 14:14:06 +0000
Received: by outflank-mailman (input) for mailman id 1138901;
 Tue, 07 Oct 2025 14:14:06 +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 <SRS0=F9pE=4Q=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v68S6-0002Vi-Br
 for xen-devel@lists.xenproject.org; Tue, 07 Oct 2025 14:14:06 +0000
Received: from mail-ed1-x52d.google.com (mail-ed1-x52d.google.com
 [2a00:1450:4864:20::52d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e0e081b6-a387-11f0-9809-7dc792cee155;
 Tue, 07 Oct 2025 16:14:04 +0200 (CEST)
Received: by mail-ed1-x52d.google.com with SMTP id
 4fb4d7f45d1cf-62fca216e4aso1441961a12.0
 for <xen-devel@lists.xenproject.org>; Tue, 07 Oct 2025 07:14:03 -0700 (PDT)
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
 4fb4d7f45d1cf-63788110530sm12672054a12.38.2025.10.07.07.14.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Oct 2025 07:14:02 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e0e081b6-a387-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1759846443; x=1760451243; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=5bkrGUAnE5bhZDPT0e0uGrQL4CthNNIXeH5BoN8gZhU=;
        b=gTWozEVn3DVMYx09fpGrwz2izJDYcn/fXDQ72ILBBoeh/3o5ysb8Fgx0FXHcCp9LJ4
         dcPLhmIOjE3spGAYAUV2Opg07lmzkbcWzlIaNiEjOneAlrbulLVkoUecDQjDYlRDlwMR
         BuAyP9yGzgfOvccvgquxspOs6/OcUwWozaHd5N9l4nxptrxWNopgb+cRM1g+RgmDF9EE
         zShG+Botxak8nlNa2DLT+pHvBbqQRLBony7uG/aNIuqfyp+ur5XbBs5hny+AxSg7PkAX
         Fr0l4YEyxFTGmoQ+dNTqFD5kq7YKM9pu4abNG8FKYNtghMZDRy3XqP1D9Um9JTAHNE0Y
         mSow==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759846443; x=1760451243;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=5bkrGUAnE5bhZDPT0e0uGrQL4CthNNIXeH5BoN8gZhU=;
        b=deADJ6cgevlAngYKiC9I0fTxNfYzTgp0Qyr1PA1VhW6Ci5qA3vRPu1c002Lh9q9sYL
         Wx9X6aP5M1Zx0vQB5hRBl4xzHzdiMVeS4hTTKXQK333jiXmtz7pMH0jj5tqlzBYXi5oK
         jZAP8kmfuMBbPR1EFweVeBUnFhWl5omb/zywGYYMFfxIsoV4ll8nXaS+DdScUH4mNxhR
         AD2rCdGdQ4/b11tP0ZjiLQRwd978m8GY8JPBsS43Fa6eH/D0iPdAz/P7hbIOaUppqJDD
         ExfQuUPCgcVIcJiBjd9IO4XRogGvGXs3udoksswgmLMW6xcu9l/fzSFYSo1DEkScuM1o
         EY3g==
X-Forwarded-Encrypted: i=1; AJvYcCUlKnRp6vLWjNBaimPLHDKPTvFF+WsWBbsxRxqXb1NIlRjWUl4EKEKfcjlE29pbhWQS7ippsMjBjEY=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy9nzurrxkwukDooBjvaeQr2r4YgX86EzwpqvoAhRKixMCcm20b
	qktv5qgRWJZ+3Z9nSiX6eHndinIkrjF4OVTVfIwVdGY8/SXcgLV4xBIf/SZrgywtzA==
X-Gm-Gg: ASbGnctn1olNcoO6K3KKMbzfZS0+x5jyk9b9oHm62V+vB4g/Y5uGNJM9QBywm2uJEIB
	0HtxmuC6aGRaKi+bE/IZ99t8EC0OfPUzjgEqZhC2oeNvsxLv97javosf1B0qQgo0E5zCUiT12D9
	t9t9+IY5+I4JoLtnrRCEgmwYoPUO9U8yq7ZbdqwcQ/XIGLfCrmTF4pdRvAsC0uFLq2AbYQCcJFg
	oz91V0JNd8HiiZgZtYLC/h555LMevHy5C/rRgA7Uv/MfHRDCaEnTSlQAEQGzUxRkZnnjm7bA3Z9
	Umkw+t7HX/rUOsJs0fUmh1mcVVUlVNn3OkDHjcXA6aKVxwnjqJrhEaD7QdvzLAWhTrZcF32LSXw
	hHjL/HiMYY059jsaBbW9xpopYFAB3jFTdvJBMuY4POTyspOeY0gkTssf8Df5na2ICnwI4baDVcg
	zcKDmMbcqwl3Vxn2sXe9OtH51v1NkBzRI=
X-Google-Smtp-Source: AGHT+IHWrzKBY8vgznVF68S3aQnzIUR3GGsTRJoLx9TZac4PWkRM3ckUVi0BvPqYfXzyaE6PsIJNow==
X-Received: by 2002:a05:6402:1e8a:b0:636:6e11:2fd1 with SMTP id 4fb4d7f45d1cf-639baf0c898mr4772093a12.4.1759846443313;
        Tue, 07 Oct 2025 07:14:03 -0700 (PDT)
Message-ID: <4dd83906-1985-4af4-8b61-980390fa31a0@suse.com>
Date: Tue, 7 Oct 2025 16:14:10 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] MAINTAINERS: Add myself as an AMD SVM & IOMMU reviewer
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20251002234311.10926-1-jason.andryuk@amd.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251002234311.10926-1-jason.andryuk@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 03.10.2025 01:42, Jason Andryuk wrote:
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -220,6 +220,23 @@ F:	xen/drivers/acpi/
>  F:	xen/include/acpi/
>  F:	tools/libacpi/
>  
> +AMD SVM
> +M:	Jan Beulich <jbeulich@suse.com>
> +M:	Andrew Cooper <andrew.cooper3@citrix.com>
> +M:	Roger Pau MonnÃ© <roger.pau@citrix.com>
> +R:	Jason Andryuk <jason.andryuk@amd.com>
> +S:	Supported
> +F:	xen/arch/x86/hvm/svm/
> +F:	xen/arch/x86/cpu/vpmu_amd.c
> +
> +AMD IOMMU
> +M:	Jan Beulich <jbeulich@suse.com>
> +M:	Andrew Cooper <andrew.cooper3@citrix.com>
> +M:	Roger Pau MonnÃ© <roger.pau@citrix.com>
> +R:	Jason Andryuk <jason.andryuk@amd.com>
> +S:	Supported
> +F:	xen/drivers/passthrough/amd/

Nit: These are the wrong way round, violating alphabetical sorting.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Oct 07 14:23:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Oct 2025 14:23:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138923.1474502 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v68b6-0004cY-2z; Tue, 07 Oct 2025 14:23:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138923.1474502; Tue, 07 Oct 2025 14:23:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v68b5-0004cR-Vp; Tue, 07 Oct 2025 14:23:23 +0000
Received: by outflank-mailman (input) for mailman id 1138923;
 Tue, 07 Oct 2025 14:23:23 +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
 <SRS0=BI6X=4Q=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1v68b5-0004cB-6r
 for xen-devel@lists.xenproject.org; Tue, 07 Oct 2025 14:23:23 +0000
Received: from fout-a7-smtp.messagingengine.com
 (fout-a7-smtp.messagingengine.com [103.168.172.150])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2ceadff6-a389-11f0-9d15-b5c5bf9af7f9;
 Tue, 07 Oct 2025 16:23:22 +0200 (CEST)
Received: from phl-compute-06.internal (phl-compute-06.internal [10.202.2.46])
 by mailfout.phl.internal (Postfix) with ESMTP id 60F53EC000B;
 Tue,  7 Oct 2025 10:23:20 -0400 (EDT)
Received: from phl-mailfrontend-01 ([10.202.2.162])
 by phl-compute-06.internal (MEProxy); Tue, 07 Oct 2025 10:23:20 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 7 Oct 2025 10:23:17 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2ceadff6-a389-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:content-type:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:subject:subject:to:to; s=fm2; t=1759847000;
	 x=1759933400; bh=TW0txoT92THJ3DxWFRItDbicDK8F7sbGOTApIccrsdc=; b=
	UCXmGP/pR/c9/DWaJoEi2kWQoh65EYYnSptNk/SrsHqe54rkkl/voJRHasnlKhly
	e2l3ECmiQ2pSV+UEO4OV3S/F3smNhd+65m/11ifkCjng9Go6ZxSJyCxDdHs5wB/l
	tnTQYLATSslRo+XGcyC+I6BcIdmEEhD472JUMnhHejL02+FWb0QhICRu8H3DUpmv
	mgO1oz8+T5dqSEBeEhbf0by+iYecAIK3nCv526tQNxeIjP5oxyLGmUsN5KNg5wYb
	wCMKy0b1jY1fPkXy1NRodaEqq99XoARVderQevRZFO6efH2WwnjFA9X6xvwQ74yc
	noxSbo5YdTwl+PglQNHq0g==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:content-type:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:subject:subject:to
	:to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=
	1759847000; x=1759933400; bh=TW0txoT92THJ3DxWFRItDbicDK8F7sbGOTA
	pIccrsdc=; b=ThxY/Akk1mdd63s+gdqUMbko8K5Y34dG/MfvgcJqs4rLawhTRTx
	S+4/sfLtuQNlflgzoL2DHy7A3F5C716qB//OXxTNSqMdZ3K2NdIxM7G0XNoeCerC
	v5MBfNJ9iaJ+Symp6AxuQssetElJrk+XtstisXBIB3N7qEvOo22qQkDyyHaL5+cE
	2cgaJALC5VdEAJct1rjlagN1ivZXlS0s13M8G3al/rBAMwCskbbFmJtDR4iU8oh8
	DwIQOGUJ9c9tNkduTSIpdZ9mMOSjBvqjsTyXzjxcN1UG1YktxgBGMeESCH/hsca0
	lCjUNgBbTFhiTk7g81wT4CAGtCwXQvGm2mQ==
X-ME-Sender: <xms:VyLlaNdMVXMgnQ9vi2gPXGO9GXAUksILViWIfBiYT94pX4egiwKyzg>
    <xme:VyLlaHBMwMNLV6AHTmIZdPmYKsSQH3ilpBBUT7lIyIB1D1RIz8HNbM0a14D8WXpDN
    jPb4IRBP4nTkGeKFjzFsZjVIeTvJGdcylTvVTkaNsqdSk3F>
X-ME-Received: <xmr:VyLlaB5lHn2QbF__JqX-7go66HDIhTIbtV_IO8c1OZKhnkJwm4USXS8t10Nd4Kfc0-MfWddPj_j_-eMa_sDCHNkkFs2IC8FdVK4>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdeggddutddtieegucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu
    rghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujf
    gurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgvkhcu
    ofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinhhvih
    hsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepgfduleet
    feevhfefheeiteeliefhjefhleduveetteekveettddvgeeuteefjedunecuvehluhhsth
    gvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghksehi
    nhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomhdpnhgspghrtghpthhtohepuddvpd
    hmohguvgepshhmthhpohhuthdprhgtphhtthhopehjsggvuhhlihgthhesshhushgvrdgt
    ohhmpdhrtghpthhtohepfhhrvgguihgrnhhordiiihhglhhiohestghlohhuugdrtghomh
    dprhgtphhtthhopeigvghnqdguvghvvghlsehlihhsthhsrdigvghnphhrohhjvggtthdr
    ohhrghdprhgtphhtthhopegrnhhthhhonhihrdhpvghrrghrugesvhgrthgvshdrthgvtg
    hhpdhrtghpthhtohepmhhitghhrghlrdhorhiivghlsegrmhgurdgtohhmpdhrtghpthht
    ohepjhhulhhivghnseigvghnrdhorhhgpdhrtghpthhtoheprhhoghgvrhdrphgruhestg
    hithhrihigrdgtohhmpdhrtghpthhtohepshhsthgrsggvlhhlihhniheskhgvrhhnvghl
    rdhorhhgpdhrtghpthhtohepughpshhmihhthhesrghpvghrthhushhsohhluhhtihhonh
    hsrdgtohhm
X-ME-Proxy: <xmx:VyLlaAc_IAOdfJzjgIraCitxRpEo7DbOaY1GxgLgOTG4Bvnpz9ckrw>
    <xmx:VyLlaHu2WcC-BpQJObOCu45epO0NpY_tk7_AN9Lfh-iO64To4eZnAg>
    <xmx:VyLlaAkGiI7zt58qhEq_g4McH4SBpdi1BKUzEwy7pjBQEp7f8u5C9Q>
    <xmx:VyLlaKS1Ow0-W4qG6UCnnb6O9QWWtGU0w6LMC3bmNiZIljToyYxHGA>
    <xmx:WCLlaNh8888X6AsTEP39OXtLTVnC6AoYw4Oed4_1XWN9VsiTXLH7-I86>
Feedback-ID: i1568416f:Fastmail
Date: Tue, 7 Oct 2025 16:23:15 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	xen-devel@lists.xenproject.org,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Daniel Smith <dpsmith@apertussolutions.com>,
	"michal.zygowski@3mdeb.com" <michal.zygowski@3mdeb.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v2] xen: Strip xen.efi by default
Message-ID: <aOUiU86LtvsVFukW@mail-itl>
References: <20250612100705.21988-1-frediano.ziglio@cloud.com>
 <586a66e5-4b11-485e-955a-da5fc3183737@citrix.com>
 <aN6H8dOlea2Um8y8@mail-itl>
 <1708c939-4b06-4d09-acb8-6965383d91f4@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="YzRCS1DOCly72NWx"
Content-Disposition: inline
In-Reply-To: <1708c939-4b06-4d09-acb8-6965383d91f4@suse.com>


--YzRCS1DOCly72NWx
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 7 Oct 2025 16:23:15 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	xen-devel@lists.xenproject.org,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Daniel Smith <dpsmith@apertussolutions.com>,
	"michal.zygowski@3mdeb.com" <michal.zygowski@3mdeb.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v2] xen: Strip xen.efi by default

On Tue, Oct 07, 2025 at 04:12:13PM +0200, Jan Beulich wrote:
> On 02.10.2025 16:10, Marek Marczykowski-G=C3=B3recki wrote:
> > On Thu, Oct 02, 2025 at 02:05:56PM +0100, Andrew Cooper wrote:
> >> On 12/06/2025 11:07 am, Frediano Ziglio wrote:
> >>> For xen.gz file we strip all symbols and have an additional
> >>> xen-syms file version with all symbols.
> >>> Make xen.efi more coherent stripping all symbols too.
> >>> xen.efi.elf can be used for debugging.
> >>>
> >>> Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
> >=20
> > Generally,
> > Reviewed-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingsl=
ab.com>
>=20
> Just to double check: You offer this after having read (and discarded) my
> comments on v1, which v2 left largely unaddressed?=20

You mean the one about objcopy result used for debugging? I didn't see
that before, since I wasn't in cc on v1...=20

Anyway, are you aware of some specific objcopy issue. Or in other words:
would xen.efi.elf _currently_ be broken (as in - unusable for
debugging/disassembly)? If not, then I take that relevant part of your
objection is mostly about inconsistent naming (xen.gz -> xen-syms, vs
xen.efi -> xen.efi.elf). Would xen-syms.efi.elf be better?

> IOW I continue to
> consider this a wrong move, and Andrew's remark towards "bootable vs not
> bootable" isn't quite relevant, seeing that prior to this patch we already
> had a way to strip the binary put onto the EFI partition (i.e. the one to
> be used for actual booting).

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--YzRCS1DOCly72NWx
Content-Type: application/pgp-signature; name=signature.asc

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmjlIlMACgkQ24/THMrX
1ywYJAf+P/4hhKVznSsxZXXLP5F6jetLxgSEGnULOFY+1YnYbf/QxsD7qVBFD+Rg
HFKw+U20PLSbPj/QlBvz5ur+N2tWT1kO/DPOUTb69QYjDeI0FtpFLUnk6LHCgspr
/0Bq2c19aJmeHY+tzvWXUiy3wfpRGsuLVSAFfud5v5dwLYoZbrfZaA660zUCzDYa
DBKiWlG61zj5hzWI5K0lczS9BMZdIVRBu2MeelOtpjZ2hwgOtbfmtXok0F4lsGH4
igWeZ/DKpFuL4hegc6mktIV9fhe0lfrhr7yOo9gGyzUgCqTS0eC+JzBVXCbJDkUU
GbW1sbiKeVJHuc56KEzBawPyOXYzmQ==
=0rv0
-----END PGP SIGNATURE-----

--YzRCS1DOCly72NWx--


From xen-devel-bounces@lists.xenproject.org Tue Oct 07 14:34:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Oct 2025 14:34:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138935.1474512 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v68m7-0006YJ-23; Tue, 07 Oct 2025 14:34:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138935.1474512; Tue, 07 Oct 2025 14:34:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v68m6-0006YC-VG; Tue, 07 Oct 2025 14:34:46 +0000
Received: by outflank-mailman (input) for mailman id 1138935;
 Tue, 07 Oct 2025 14:34:45 +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 <SRS0=F9pE=4Q=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v68m5-0006Y4-M2
 for xen-devel@lists.xenproject.org; Tue, 07 Oct 2025 14:34:45 +0000
Received: from mail-ed1-x52d.google.com (mail-ed1-x52d.google.com
 [2a00:1450:4864:20::52d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c45be293-a38a-11f0-9d15-b5c5bf9af7f9;
 Tue, 07 Oct 2025 16:34:44 +0200 (CEST)
Received: by mail-ed1-x52d.google.com with SMTP id
 4fb4d7f45d1cf-62fb48315ddso11223730a12.2
 for <xen-devel@lists.xenproject.org>; Tue, 07 Oct 2025 07:34:44 -0700 (PDT)
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
 a640c23a62f3a-b4fd7112dd8sm144886166b.30.2025.10.07.07.34.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Oct 2025 07:34:43 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c45be293-a38a-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1759847684; x=1760452484; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=YRUj0TBKzX2J3jkotI77AWt91ZVy9bJjzMsr0saeuwk=;
        b=TYxAMKPCuGjRMoN6BWGo8oylIeg57ltp22FdobAW/NGSZHlr8L3CM0L7Sypdpp5n12
         OruWODYRU63Vn/pbk7Vo2FYLWsvW8vj3KhvHuuZimN8a0CJAFuFv9YDXH94vAa3PLS7H
         hkm3VppSEYRddZ5zy4SVBkK5GhQ0ma9WMdjEtWdnCip+s+e+iDfm9DQIv0jCKypW8NM4
         Q14ge1rxQaTydlZNRIAhhoqDahCE8Gj8pcsujFif+0tGp9VlERn173Tuqp5sQOTfmEFq
         u13Rth2NOHCdTrCrlFBfCqh5PvFsI1PgAakH1fWJqDbb0AE9o0+4HBsefRcBsy48p3th
         1kFg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759847684; x=1760452484;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=YRUj0TBKzX2J3jkotI77AWt91ZVy9bJjzMsr0saeuwk=;
        b=MAEUPfkgiM+cTabKBr44X6J8KeepYCeGDU3UqyNgu052imTU5GNcVUH7fiUX33kIrr
         0mv2gYUG5UxcPYVovkNgqbqg98YBC7vTYkmpkTGpXM23WMSCk9LFrwJL3wi7TgVaVJhF
         0tUzr8IrX/q+gg10Ue9AU/SfFI7vIRQEUK/VLFDProF0BsjpDJXt9UmMdl6uOAeJRXhW
         P10HxvQSIDK+b/xamV9q0NjgcRRTMJFFFXtsNsaznvo+vH7cX35Gr01agbn3qAk6eeSo
         TF+U25S3m5MI+2hInHFw1XnTufNRi/NYscIdNZJa26wdvDym4S9y2eCUb35+Z+8TTYb7
         i1Rw==
X-Gm-Message-State: AOJu0YxFxTuqjW9uSEJuBJEhgprqhv9YEplStCYKTurk8XWFJuDMXpTc
	CLkweh09AmgNjdzZQHeNFkn6/FntDlm8NVK+JpgDO5JW7Kz6D8F7cXiMQDUc6az6Rg==
X-Gm-Gg: ASbGncud2qmGN3VXYTxZ703rpLFsSijXoPeq+zAnXT4LLEGMpnHMTSsp2Iu+MRL8zxK
	GnjC8ZquETm/MWLaXcPeU3vUAMGR/yF2CTFQipdbv28MsuuoIYJdwTXV7WKljY6AVahDgwTm8aQ
	j/XXiLWTX0qf16VpnEatV5wNnKWAJzEl1gPyXp60jgA9mlyQV65u6nej9Wjs+qDJg3sbU5dOFo+
	YmEHOOOXraC4aCVl7vLJ18fKkl/VXw8RjytDQkPCnfTfVGfvzUL80nE7ZF5jwzoyusN+p9HAusv
	Wj7l86WVtQ22n+l4mcjTdk5aKlUnf5dKi4kkUz9IvKCrONSNo/rieH9cOV4OrE8dWyliD6FZNFL
	e4IvYDh/WlRYoPOulGQVORpOBZKvY+lkRoHUgl8zSmwW4ayJ57nx7Hwm9RBSJLtdprWtZqAtPdT
	0MrYPABFC13JNFHkAEA9XRSDFU1AzL83c=
X-Google-Smtp-Source: AGHT+IHP8TFjRvDuBcw675Rhk7iC7voVFgfcouuF5Y9EBscXZdCcjS6ZVkXtMaFAxoPdDUptQFqPMg==
X-Received: by 2002:a17:907:1c90:b0:b41:1657:2b1d with SMTP id a640c23a62f3a-b49c3936312mr1940467766b.50.1759847683848;
        Tue, 07 Oct 2025 07:34:43 -0700 (PDT)
Message-ID: <50e77f5c-ec6a-4e90-a13e-66717dcc6a41@suse.com>
Date: Tue, 7 Oct 2025 16:34:51 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] Update Xen version to 4.21.0-rc1
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20251006200840.2171113-1-andrew.cooper3@citrix.com>
 <20251006200840.2171113-3-andrew.cooper3@citrix.com>
 <aOS5O2h767J1QPxs@Mac.lan> <dab0d59a-4a72-454d-aa3d-3bebe9caf146@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <dab0d59a-4a72-454d-aa3d-3bebe9caf146@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 07.10.2025 10:28, Andrew Cooper wrote:
> On 07/10/2025 7:54 am, Roger Pau MonnÃ© wrote:
>> On Mon, Oct 06, 2025 at 09:08:40PM +0100, Andrew Cooper wrote:
>>> --- a/xen/Makefile
>>> +++ b/xen/Makefile
>>> @@ -6,7 +6,7 @@ this-makefile := $(call lastword,$(MAKEFILE_LIST))
>>>  # All other places this is stored (eg. compile.h) should be autogenerated.
>>>  export XEN_VERSION       = 4
>>>  export XEN_SUBVERSION    = 21
>>> -export XEN_EXTRAVERSION ?= -unstable$(XEN_VENDORVERSION)
>>> +export XEN_EXTRAVERSION ?= .0-rc1$(XEN_VENDORVERSION)
>> In previous switches to start cutting RC's we didn't add the 1 to the
>> XEN_EXTRAVERSION, see 19730dbb3fd8078743d5196bd7fc32f3765557ad for
>> example.
> 
> Correct.Â  That was also buggy and complained about.
> 
>>   If we do add the rc number we need to remember to bump it
>> each time and RC is released.
> 
> Last time we had truly buggy early rc tarballs, the middle ones were
> bodged somewhat (incompletely, and not a straight git archive), and by
> RC5 we had a commit with the correct XEN_EXTRAVERSION to make the
> tarball correct.
> 
> See 4.20.0-rc5

Yet then the question still is whether it is perhaps the tarball making
which is what wants adjusting, to not use "$(MAKE) -C xen xenversion",
but rather go from, say, the tag in git.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Oct 07 14:46:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Oct 2025 14:46:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138945.1474522 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v68xD-0008KB-1A; Tue, 07 Oct 2025 14:46:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138945.1474522; Tue, 07 Oct 2025 14:46:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v68xC-0008K4-UX; Tue, 07 Oct 2025 14:46:14 +0000
Received: by outflank-mailman (input) for mailman id 1138945;
 Tue, 07 Oct 2025 14:46:13 +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 <SRS0=F9pE=4Q=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v68xB-0008Jw-3U
 for xen-devel@lists.xenproject.org; Tue, 07 Oct 2025 14:46:13 +0000
Received: from mail-ed1-x534.google.com (mail-ed1-x534.google.com
 [2a00:1450:4864:20::534])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5e0dcbe3-a38c-11f0-9d15-b5c5bf9af7f9;
 Tue, 07 Oct 2025 16:46:11 +0200 (CEST)
Received: by mail-ed1-x534.google.com with SMTP id
 4fb4d7f45d1cf-631787faf35so11578494a12.3
 for <xen-devel@lists.xenproject.org>; Tue, 07 Oct 2025 07:46:11 -0700 (PDT)
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
 4fb4d7f45d1cf-637881010ffsm12599149a12.27.2025.10.07.07.46.08
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Oct 2025 07:46:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5e0dcbe3-a38c-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1759848371; x=1760453171; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=SxWgx81tFcacAgqzc0X1Yi0yB6gXZFmdLSSn854w3Oo=;
        b=E1rTZ5+CU7A9PJVSC3oFOIsRM+/8msA8jBuRqrhplvfTT9F0Ii5m4qwheWPvuML836
         qHP3smV3PywU0nmncCoYfj3nBoRjmt/K/gbIUB/kmOxpBx2FuWxSthfczLggXEBDpykH
         0ny56R4Vn7tp6RVHZIvNZOweOjCIt7X1tdMKHHbRqbdNDhfMX6TNf9hmfk5oHQ5Xs6sU
         OmGYoFGrabrU2yCz1smJqNXvIE8TyW35yb6gwqjal+gMJ2GPhVrvhOidz+7FU+cs9Tpe
         6gsLA2AQVnkWKlouU50EOByX3jd/gzgHlrGnOyIPx7AoFCW6qZ6k/tjdwVtUvrJOG6wR
         jm4A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759848371; x=1760453171;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=SxWgx81tFcacAgqzc0X1Yi0yB6gXZFmdLSSn854w3Oo=;
        b=vv9cXu/UYQDE4X3kLnoEpIXiZrOo4r/ZMyethITeB8bufpEA1pmxj4bFOARLfXHOYl
         SHlWY1312yboQ/UlGhcTddOUnbfvAh4DKfZK0P8cGDCIDsWYeQ++AH8IinEcLis5/wGD
         fUPuWE0jyaFrTG2CSIQzCudF+IaWjnQ6JrRZCoTPZTSxyjt5qlmdB19XLnJ0d0l7MI5u
         jXZe+R4c8T3AhHlKKL6/RQhHnx/tmpeWusgSCLo+SjErNasUswudxwoKSipnJ2LaPSOy
         V65iRLS7ggAv4b7Qt75BVwOTKiamVAuFEOwQJHhm9D3oAxO2hDEopBjAJD3A4QA+ubdh
         WeTg==
X-Forwarded-Encrypted: i=1; AJvYcCUTnexVm89FSyynHPVVP6eSelsT500/kAZo7tdFf+6veNchUSMQ3knrYW2oGJ1p/SSjm/YicbS5m/I=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxXDKrFkOz7DMeBLI9jfcl81DjtPLuAO5qw0YOpN9AcOzxAUdIB
	wsxt1g4D/CbgA+1nYbOPF9IQED64soUe9cQzWm6bgquIHe/gvAErGzW5P/FL5Z6d4A==
X-Gm-Gg: ASbGncut+50Fh5bnpzEI1LseL3X7vniFGLFqMcLwEDIkcxsU7stt49N2lno9VfpEHiY
	B4UoeUIQ106LiD5U/74FE+UQ0QBamhC5AzKFoIA81n+GPcXr7z44k9oWjBbf1HUxtxd363WJPbH
	4Jf9+ny2gB2waWp5F5dqWIiEqBv0SKMXLtjh6GRO5HTTjjJ2M2Qaar4GXCPoR+tPNx7IiRHVgqE
	8cUsMUBPuKkhd5a9ZAATxhicmVMgDUvgTyrvDG7a3GqK6+AnGajkTuPuT3cy0VFEWPxw/CF6U/b
	rZXILjKi14dVejiKXSzshXvXnyp9bAkTLQwLzCYpEvPXZA9SiQZ9Qz7UalS90YfhZdxwM+Nn5nB
	GGVBqDBlHRdTVnzl5VDLkCWqVmbowAwIB0PzkL7tXTaiMR1+q/4X2LP+0oizsv9zNlI18FIY/Ha
	U5avoNSQKnp4xqneQwPDTUSIs5Z9k3tZboOZgb5xQCyQ==
X-Google-Smtp-Source: AGHT+IHezq6KC3hxBK7xO7XoSs4nudyVtMqP4T3mnZJa34tIam4PsqaLys1i/e/PtXYBkjgvWL7Izg==
X-Received: by 2002:a05:6402:786:b0:634:c4b4:e627 with SMTP id 4fb4d7f45d1cf-63939c26104mr13422677a12.29.1759848369666;
        Tue, 07 Oct 2025 07:46:09 -0700 (PDT)
Message-ID: <e3db4a71-336c-4039-a2fc-7997fadc81b3@suse.com>
Date: Tue, 7 Oct 2025 16:46:17 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] xen: Strip xen.efi by default
To: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
 xen-devel@lists.xenproject.org, Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Daniel Smith <dpsmith@apertussolutions.com>,
 "michal.zygowski@3mdeb.com" <michal.zygowski@3mdeb.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <20250612100705.21988-1-frediano.ziglio@cloud.com>
 <586a66e5-4b11-485e-955a-da5fc3183737@citrix.com> <aN6H8dOlea2Um8y8@mail-itl>
 <1708c939-4b06-4d09-acb8-6965383d91f4@suse.com> <aOUiU86LtvsVFukW@mail-itl>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <aOUiU86LtvsVFukW@mail-itl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 07.10.2025 16:23, Marek Marczykowski-GÃ³recki wrote:
> On Tue, Oct 07, 2025 at 04:12:13PM +0200, Jan Beulich wrote:
>> On 02.10.2025 16:10, Marek Marczykowski-GÃ³recki wrote:
>>> On Thu, Oct 02, 2025 at 02:05:56PM +0100, Andrew Cooper wrote:
>>>> On 12/06/2025 11:07 am, Frediano Ziglio wrote:
>>>>> For xen.gz file we strip all symbols and have an additional
>>>>> xen-syms file version with all symbols.
>>>>> Make xen.efi more coherent stripping all symbols too.
>>>>> xen.efi.elf can be used for debugging.
>>>>>
>>>>> Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
>>>
>>> Generally,
>>> Reviewed-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
>>
>> Just to double check: You offer this after having read (and discarded) my
>> comments on v1, which v2 left largely unaddressed? 
> 
> You mean the one about objcopy result used for debugging? I didn't see
> that before, since I wasn't in cc on v1... 
> 
> Anyway, are you aware of some specific objcopy issue. Or in other words:
> would xen.efi.elf _currently_ be broken (as in - unusable for
> debugging/disassembly)?

I can't tell. I've seen fair parts of the code in the course of addressing
various issues, and I would be very surprised if all of that was working
correctly.

> If not, then I take that relevant part of your
> objection is mostly about inconsistent naming (xen.gz -> xen-syms, vs
> xen.efi -> xen.efi.elf). Would xen-syms.efi.elf be better?

Plus the one asking to strip only debug info, but not the symbol table.
(And no, none of the suggested names look really nice to me.)

Plus the one indicating that the change better wouldn't be made in the
first place. As said, to deal with size issues we already have machinery
in place. Not very nice machinery, but it's apparently functioning.

For context, and to avoid the argument that GNU objcopy and strip are
built from the same source file: The objcopy invocation here is to alter
the format, whereas the strip invocation is merely to remove data without
changing the format. The weakness in binutils, to a fair part due to a
lack of routine testing, is with format conversions. (And yes, routine
testing, as nice as it would be to have such, doesn't fit very well with
how testing overall works, as commonly only the default format of a
particular target would be tested.)

Jan


From xen-devel-bounces@lists.xenproject.org Tue Oct 07 14:56:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Oct 2025 14:56:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138963.1474532 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v696t-0001uk-Ve; Tue, 07 Oct 2025 14:56:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138963.1474532; Tue, 07 Oct 2025 14:56:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v696t-0001ud-Sw; Tue, 07 Oct 2025 14:56:15 +0000
Received: by outflank-mailman (input) for mailman id 1138963;
 Tue, 07 Oct 2025 14:56: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 <SRS0=F9pE=4Q=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v696s-0001uX-OC
 for xen-devel@lists.xenproject.org; Tue, 07 Oct 2025 14:56:14 +0000
Received: from mail-ed1-x52e.google.com (mail-ed1-x52e.google.com
 [2a00:1450:4864:20::52e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c3e7adc6-a38d-11f0-9809-7dc792cee155;
 Tue, 07 Oct 2025 16:56:12 +0200 (CEST)
Received: by mail-ed1-x52e.google.com with SMTP id
 4fb4d7f45d1cf-62fca216e4aso1575962a12.0
 for <xen-devel@lists.xenproject.org>; Tue, 07 Oct 2025 07:56:12 -0700 (PDT)
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
 4fb4d7f45d1cf-63788111e1dsm12440054a12.40.2025.10.07.07.56.11
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Oct 2025 07:56:11 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c3e7adc6-a38d-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1759848972; x=1760453772; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=sxipmu1et9ScRqXhIPTG35ZU1uL07U23klRM39H128c=;
        b=CUhih7F5/kkviqL7Wb4RSJLqGbEBOniTqZBK9ApoV05gp2YC5o5BgSzFBBerqGSTk5
         7QxXMAYSu1giwf7V4VJ/xTBlRbEvHfGoy7+7wyAIkzzJw29n861VNgXHTR32FceCrRYY
         za4JB3pRyuJuzCJstMqReO2fDZbk8d0cVBiintyGyPSQw69KPyTC4c2jRaduzdkSIW3L
         mjWcJq8SfZJJDh35UWY8DWwWwQQ/IUxjYJ1y5kwxVA3Ni1pPssBWTWOSJyhfddgPHKvZ
         qcDuaEcs2KKCICcPIc+b+B1ZuUaXCT/EBMmnOQ6zFeavtNv6WFSobc6sdwDEU6W91evO
         XgeA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759848972; x=1760453772;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=sxipmu1et9ScRqXhIPTG35ZU1uL07U23klRM39H128c=;
        b=OPbe5LVcvq7UbWxJdChMguv9iAAg6a2/HsW7N9w/sd0DbaQheoDsiMHyLLZHaACcIM
         FID6xHyoGJP6nG2/2QWTem4d/AZ9asV6NE5NXaeSfFt1ItnxKsoYi3hkiPe5qVK0r9+L
         /OQwJ/i2uWsc+DDE2UzITxeM38h5wDPUkew+fbwnEhltIC4wAeh7aH/Eat11f3rUnYBO
         j2EpzXJ3dXyDas8mNdy6kCkUrVSUnNRyExI3Kw6z6xcnaS/+juCrsKjtY0l6uLKdRZH1
         K49teKrEMSvYO/cChSSdcrbpGdbx1MKMYomLWrabudrNBQ3T5QnVV/6mCJkGN0VWZu+W
         fP4A==
X-Gm-Message-State: AOJu0YwzxQjqqJdRECbvI5IGzhjDRDbD6xINHbjr95Oq/v+BdReUyCCz
	O6WSeiUbWOYKRk7NJVPiRGWXiZ8qMV8fX//oKalQS/2IwFyxH0tciZ+CryVEoOTuMA==
X-Gm-Gg: ASbGncv5uew0ca+x9UnDZHsTZxsvlFDdZ9OBch4vnfj3mXTtYydqUQ+n79XjlshwmRW
	gPznXACn8ik3zvETChI40GUmew0D2tkqV2OWZZwFtGFe6azTqIPCbpQUWMrx8RJZfFE3R2zpIY/
	TG0g3EuN4T5x6RjXYQiABkSRUXvDYLSHj4DttnruV++pIMkNdKHs/8os7XAgGBnUVtEA6GUl5xQ
	ZVwEYuZ74VWBt1RB7kZ0RIBto5CLn9dY8VLteqfv6YjRerYuM5XJSiSCs9yHp+PZmyVJ4LijSGL
	ac5Kkw3qY8y6sdG0dKux4ccs1qtutnx8OqSpNBy9DoK/P01c2nCySkx0X/LkSADD18eQydRITdT
	6eam2bekKCeFIjQVB8hBj7rAM0y4yLAShJWViu/lPpNOCnWd9xyo/H6n1W5rMtMBUiC5CfX0hXD
	UZX3EuM+idzHUvbN4KHdZnsndkRxBUBGE=
X-Google-Smtp-Source: AGHT+IGEPmoCXyVjGMOUyh4RJBJjVIZDcltlkqawVBhV5amVl63kf806eebglFtf9B6jJIrnbvehaA==
X-Received: by 2002:a05:6402:4402:b0:634:a23e:df26 with SMTP id 4fb4d7f45d1cf-639baf1c977mr5096709a12.6.1759848971578;
        Tue, 07 Oct 2025 07:56:11 -0700 (PDT)
Message-ID: <b5cdb1e8-0543-4025-b95a-eb57ac51caa8@suse.com>
Date: Tue, 7 Oct 2025 16:56:19 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21] vpci/msix: improve handling of bogus MSI-X
 capabilities
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Stewart Hildebrand <stewart.hildebrand@amd.com>
References: <20250929084149.70560-1-roger.pau@citrix.com>
 <2d1737a7-58e3-48e3-ac16-1bda3947c929@amd.com> <aON72Sq6ZJ6y95DI@Mac.lan>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <aON72Sq6ZJ6y95DI@Mac.lan>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 06.10.2025 10:20, Roger Pau MonnÃ© wrote:
> On Fri, Oct 03, 2025 at 11:29:40PM -0400, Stewart Hildebrand wrote:
>> On 9/29/25 04:41, Roger Pau Monne wrote:
>>> I've had the luck to come across a PCI card that exposes a MSI-X capability
>>> where the BIR of the vector and PBA tables points at a BAR that has 0 size.
>>>
>>> This doesn't play nice with the code in vpci_make_msix_hole(), as it would
>>> still use the address of such empty BAR (0) and attempt to crave a hole in
>>
>> s/crave/carve/
>>
>>> the p2m.  This leads to errors like the one below being reported by Xen:
>>>
>>> d0v0 0000:22:00.0: existing mapping (mfn: 181c4300 type: 0) at 0 clobbers MSIX MMIO area
>>>
>>> And the device left unable to enable memory decoding due to the failure
>>> reported by vpci_make_msix_hole().
>>>
>>> Introduce checking in init_msix() to ensure the BARs containing the MSI-X
>>> tables are usable.  This requires checking that the BIR points to a
>>> non-empty BAR, and the offset and size of the MSI-X tables can fit in the
>>> target BAR.
>>>
>>> This fixes booting PVH dom0 on Supermicro AS -2126HS-TN severs with AMD
>>> EPYC 9965 processors.  The broken device is:
>>>
>>> 22:00.0 SATA controller: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] (rev 93)
>>>
>>> There are multiple of those integrated controllers in the system, all
>>> broken in the same way.
>>>
>>> Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
>>> ---
>>> Cc: Stewart Hildebrand <stewart.hildebrand@amd.com>
>>> Cc: Jan Beulich <jbeulich@suse.com>
>>> Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>>>
>>> While not strictly a bugfix, I consider this a worthy improvement so that
>>> PVH dom0 has a chance to boot on hardware that exposes such broken MSI-X
>>> capabilities.  Hence I think this change should be considered for inclusion
>>> into 4.21.  There a risk of regressing on hardware that was already working
>>> with PVH, but given enough testing that should be minimal.
>>> ---
>>>  xen/drivers/vpci/msix.c | 50 ++++++++++++++++++++++++++++++++++++-----
>>>  1 file changed, 45 insertions(+), 5 deletions(-)
>>>
>>> diff --git a/xen/drivers/vpci/msix.c b/xen/drivers/vpci/msix.c
>>> index 54a5070733aa..8458955d5bbb 100644
>>> --- a/xen/drivers/vpci/msix.c
>>> +++ b/xen/drivers/vpci/msix.c
>>> @@ -675,6 +675,51 @@ static int cf_check init_msix(struct pci_dev *pdev)
>>>      if ( !msix )
>>>          return -ENOMEM;
>>>  
>>> +    msix->tables[VPCI_MSIX_TABLE] =
>>> +        pci_conf_read32(pdev->sbdf, msix_table_offset_reg(msix_offset));
>>> +    msix->tables[VPCI_MSIX_PBA] =
>>> +        pci_conf_read32(pdev->sbdf, msix_pba_offset_reg(msix_offset));
>>> +
>>> +    /* Check that the provided BAR is valid. */
>>> +    for ( i = 0; i < ARRAY_SIZE(msix->tables); i++ )
>>> +    {
>>> +        const char *name = (i == VPCI_MSIX_TABLE) ? "vector" : "PBA";
>>> +        const struct vpci_bar *bars = pdev->vpci->header.bars;
>>> +        unsigned int bir = msix->tables[i] & PCI_MSIX_BIRMASK;
>>> +        unsigned int type;
>>> +        unsigned int offset = msix->tables[i] & ~PCI_MSIX_BIRMASK;
>>> +        unsigned int size =
>>> +            (i == VPCI_MSIX_TABLE) ? max_entries * PCI_MSIX_ENTRY_SIZE
>>> +                                   : ROUNDUP(DIV_ROUND_UP(max_entries, 8), 8);
>>> +
>>> +        if ( bir >= ARRAY_SIZE(pdev->vpci->header.bars) )
>>
>> This assumes a type 0 header. For type 1 headers, bir values 2 and up are
>> also reserved.
> 
> Right, but those BARs will be set as VPCI_BAR_EMPTY for type 1 headers.
> The check here is to avoid doing an out of bounds array access, the
> check for validity of the pointed BAR is done below.
> 
>>
>>> +        {
>>> +            printk(XENLOG_ERR "%pp: MSI-X %s table with out of range BIR %u\n",
>>> +                   &pdev->sbdf, name, bir);
>>
>> Nit: placing the cleanup label at the end of the function and using 'rc' would
>> make it more amenable to future uses.
> 
> The issue with that is that we then end up with a structure like:
> 
>     return vpci_make_msix_hole();
> 
>  error:
>     xfree();
>     return rc;
> 
> Which I don't like much because of the double usage of return (it's a
> taste issue TBH).
> 
> My motivation for using a goto is that they are conceptually the same
> error path, but we provide different log messages to aid in debugging
> the issue.  Otherwise all checks will be done in a single condition.

I agree here, yet I'd like to point out that (iirc) Misra wants us to use
only forward goto-s (which imo is a mistake, but I don't expect they're
going to change their minds). So flipping where the label and goto are
may be desirable.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Oct 07 15:07:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Oct 2025 15:07:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138975.1474542 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v69HN-0003qs-ND; Tue, 07 Oct 2025 15:07:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138975.1474542; Tue, 07 Oct 2025 15:07:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v69HN-0003ql-Ka; Tue, 07 Oct 2025 15:07:05 +0000
Received: by outflank-mailman (input) for mailman id 1138975;
 Tue, 07 Oct 2025 15:07: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
 <SRS0=ixXp=4Q=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1v69HN-0003qf-0b
 for xen-devel@lists.xenproject.org; Tue, 07 Oct 2025 15:07:05 +0000
Received: from CO1PR03CU002.outbound.protection.outlook.com
 (mail-westus2azlp170100005.outbound.protection.outlook.com
 [2a01:111:f403:c005::5])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4723298a-a38f-11f0-9809-7dc792cee155;
 Tue, 07 Oct 2025 17:07:02 +0200 (CEST)
Received: from BL6PEPF0001641E.NAMP222.PROD.OUTLOOK.COM
 (2603:10b6:22e:400:0:1004:0:e) by CH3PR12MB9283.namprd12.prod.outlook.com
 (2603:10b6:610:1cd::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.9; Tue, 7 Oct
 2025 15:06:58 +0000
Received: from BL02EPF00021F6E.namprd02.prod.outlook.com
 (2a01:111:f403:f901::8) by BL6PEPF0001641E.outlook.office365.com
 (2603:1036:903:4::a) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9182.20 via Frontend Transport; Tue,
 7 Oct 2025 15:06:58 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 BL02EPF00021F6E.mail.protection.outlook.com (10.167.249.10) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9203.9 via Frontend Transport; Tue, 7 Oct 2025 15:06:58 +0000
Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Tue, 7 Oct
 2025 08:06:57 -0700
Received: from [172.21.123.104] (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.17 via Frontend
 Transport; Tue, 7 Oct 2025 08:06:56 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4723298a-a38f-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=NXXi70D4wqEKApsFnQC8ZTMSMgCmw9huwObfJ72i0jR372lm+CYJLbvfwgCtDSyS2gQLQ9wqQKgN0R4hkwk/j4t52oAUQU6khESoQtvHixn8B4fXAhPbWfpLDzbeG2NnMpn1ckg2bqxjTEnTJlkS/cFQCdlKmnKnaGxih7NGcwzm0ZMG+0mTGksFYNnl/jjAGCJ1hY3TB8uR9bqlyTEqrWXvZl0G5J26FeY71FlDFjqx+kEzLeQwqXsUa0iukXCGnRr3rL/4TqaYzMVv0k0CVPoc/fUvmvJDQjEowNttxABV43EqU+AGaIONw/DTJ8aFMozmUK6LrgURLMmv2tdh1g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/sXg70Q/UxkdV1eGcFwuz1yUz0L6lIA2PnZMvtSSfTk=;
 b=TOVaPcLfCbjcc5YENfzjz6+LD9GPWPbtleIM1IzO1jNYe86GuP+5lX/Sg/XqfuE1jMBLwEeLcNveiwmtPRm/RxiRM66WJy4rKjUwICLPR/9FXGwKO6UPn2GOocKh4O7fEosSUZxKujR6XancGZ5YP+hjkX68Rem/irgME5z2Q/0a/1BOlyO6xmKWedEDSshiaYQtM1kAqRi26jU8V2Wwjqk7b58KtevG2HgloCwyXsbyoWvpfbbNLP8vFteeOwM9M0n2uujFjg7I3irpC6WnLYMOmOZrcLBvEtv73jhH58yRKBPPLso3v3F33WI231TYsCKRHRCsL61fiyISzloc2A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/sXg70Q/UxkdV1eGcFwuz1yUz0L6lIA2PnZMvtSSfTk=;
 b=WcjIYUBeqRTwq6vG9ljJa98PxZCfzQz8wlLh7KLYoD6BfOblixwKa2fx+J5WINYc9N+yLvcpV0lc9EDPTwoWTOWYjhe/53uBGPzcZHSZDzCL1keMFXJcLw5Vh7Fiv6nvDjgotnVA8xjfTNI30NB0cMyTS0iyVxCspxXt3Q4WV/M=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
Message-ID: <b3ef3442-574e-41b2-9381-deba0f61dd60@amd.com>
Date: Tue, 7 Oct 2025 11:06:51 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21] vpci/msix: improve handling of bogus MSI-X
 capabilities
To: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
	<roger.pau@citrix.com>
CC: <xen-devel@lists.xenproject.org>, Oleksii Kurochko
	<oleksii.kurochko@gmail.com>
References: <20250929084149.70560-1-roger.pau@citrix.com>
 <2d1737a7-58e3-48e3-ac16-1bda3947c929@amd.com> <aON72Sq6ZJ6y95DI@Mac.lan>
 <b5cdb1e8-0543-4025-b95a-eb57ac51caa8@suse.com>
Content-Language: en-US
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <b5cdb1e8-0543-4025-b95a-eb57ac51caa8@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL02EPF00021F6E:EE_|CH3PR12MB9283:EE_
X-MS-Office365-Filtering-Correlation-Id: 7ba90796-4432-4985-357e-08de05b32923
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|376014|36860700013|1800799024|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?TVJ2SlNyV1BqUHRoelc1R2laYUI0cDZtVTZ5Y0laYUE5NmdoR2Vad29FM3cr?=
 =?utf-8?B?Vk50ejRJeFhLMjNHYzgwV2RwVk5IMFVtNzZOOEdTblF6emJIa1hWS0Z1WXJR?=
 =?utf-8?B?T01TWlR6bmtQZk1nQXdlaHRDSVRLb0c3UjVxZFE2Q3orN2NiZmVZT20ycGpV?=
 =?utf-8?B?RFdpdU81Zkl6SlNOaGUrQ093eksvYzJKL2M2dEMvak5CTmxML1RqK1RNRm9E?=
 =?utf-8?B?cGEzUlFoZDJtaEdVSDFvbEdGbmFhV1RCK2tTSUFlSVpJWFlZTHE2ckdWaTll?=
 =?utf-8?B?THpQeklCMGdDYmVNaC9Gc0p6cXV1aFN4YVdONG1FUlpDL2owdGVMWm1RWEtt?=
 =?utf-8?B?NUVvYnF4cjFaUWFncDBrYVJseHpNaVpCNlowSEYxdlVOR0dPUHpOYUZ1ek1M?=
 =?utf-8?B?SVRLWksrS2E2a2t6UndqczlpOXNlaFo1TW5WVDBvUWhBdTZQcjFoSU9GeTl3?=
 =?utf-8?B?N2tBSTgyNWE1RE93blhGZW92emx1ZnJhR2JTUEFUN3lPdXZVaTZZbVdSMHRL?=
 =?utf-8?B?YkdGbnFoWDdKeVJ1eGEzTTluajJpSDJibUpLSTl0cU1RRlhxeGR1VDFzaVcv?=
 =?utf-8?B?bTNGNXNYTlVEdlR6dFhRbVhXYWRUMEJvZWg5VXJXOUoxOUdzSWlIYm9ScEor?=
 =?utf-8?B?YlUzdVdnTGx5ZXUxcWpsYnErWXJlUlBad0VBRVJlODkzODU3VG4wNkNQcUkv?=
 =?utf-8?B?d012eENqTTl0bnlBTDZvV3RXWXA3RmYzZE02WVFDOUxKZGYyU3V2TzlyVzlw?=
 =?utf-8?B?VFVRTjhyeHRDbzMwa2hvMERTVjdtYkRWRm1XMjhvM2o4dDFzbUxpb25OR3p2?=
 =?utf-8?B?b3lsUVRoUkdVWDF3VThoeWNoWXc4a0tTYnlKS3ZyN2JqNlNNcmUwVzhIa0Mr?=
 =?utf-8?B?U0pmelRGUkptN3QxaG83eE4zQjAvNHhWUWloTVJoUm9aQ3BMQWp6dml4aWo0?=
 =?utf-8?B?VWFOWG9Ba3N4akhCZEg5cUhBNjdlYmZpS2lxQnlPVTdZUS9OV3V4bXZqanRw?=
 =?utf-8?B?T2JuYWRtNjcwOXB3dllTTHRUTUVMRnBHcWh4d0RiVm5sNEVSb3IrTDdrL0Mz?=
 =?utf-8?B?QjAzOVkzTEdrb1pzUUVaZjd1SVgveFVxOHd0YTAzMzhTV2UyelF6QlpCUFRD?=
 =?utf-8?B?QU9xSGxibjlzYWN3NU8xWW9rbEYySS9STkpNczhzZno5c2dnWTgvTi9rYXV2?=
 =?utf-8?B?YUhvd21DamViWlZvYzlUem1FWGs2a24ydkJIMmxHSXhsbjlrVHdqSDlObGhF?=
 =?utf-8?B?ZW52TmhtOVMvZEZUK0ZXdVh3Umt1L1Y5aTYrK0N3WWp1TlZHN3ZMemRyMklV?=
 =?utf-8?B?cGs5ZTBnZ1ZRamJUaVo1QXBpZDFJa0ZERlN6RFdFREhSN2Iyc0h1bDJQSWdv?=
 =?utf-8?B?N3BvTG43SDYvSGdsek5NZkhWcFFaSG9tYjRJWDdvRjNCTFlUdUxtMkFlbmZ3?=
 =?utf-8?B?RmdkUjN6aDhMRS9ZK3oyMkpBYzlzODJ3ekF3ZElCSGpFeEw1Q21OdEh3NHJk?=
 =?utf-8?B?c3orUWs3UmNTQ05VdEZ4UFZDdFhEbXJjZHcwalRXT3NDcTJ0SHBKVXBnMnlo?=
 =?utf-8?B?Nm5sRlRKOUZBM0k1Q1hqUVlZNG5HV21PdVlUWkxDK1NHa2lISnp1b3dFRHV5?=
 =?utf-8?B?RFBpand2RDVRTnJ5eHB1cjFPZ2h2MnNNcGZaUll5ZmU3ak5iOWJPb3JBWkRU?=
 =?utf-8?B?TnB0bFcvYjRWK2g1MEw0RXZYaWlCL2hjM3JBTFE0OWthczFVM3NwcnVGUlhG?=
 =?utf-8?B?SWlaMkRPZlZXUUVaWnU1cnc2THZMTktVbmY3UjdvNGV3R2JRWk82elJKU0dw?=
 =?utf-8?B?NkRNdzVhY0pUN2puNXdTR0FrSU50N0ltdFhmVDkxU3dqMEFIOEc5Um50TFFP?=
 =?utf-8?B?dVcrRWdyaVJpWWJDbU52K1hrUytQYklrVFlTUnUwc1dVVUNRa3BOZ2ZqMWV2?=
 =?utf-8?B?RjdQT01WaHBNb203cXJpTmVVQVB3eDRLTXNxLytnTHlYaVh2VEtGOHIzQk4r?=
 =?utf-8?B?UUtVRUFGZXlWSjJOUkNSaGFTRkVkMHFhTlZDUWRkQXd5M0NibzhZYVpnSDgw?=
 =?utf-8?B?MlBhUTVxRkJWbDd3dVl3SjZ2Y0FmNyszMUR1WU5UbFprK0dIejJ6TDMwcDVR?=
 =?utf-8?Q?0ezc=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(376014)(36860700013)(1800799024)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Oct 2025 15:06:58.0200
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7ba90796-4432-4985-357e-08de05b32923
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL02EPF00021F6E.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB9283

On 10/7/25 10:56, Jan Beulich wrote:
> On 06.10.2025 10:20, Roger Pau MonnÃ© wrote:
>> On Fri, Oct 03, 2025 at 11:29:40PM -0400, Stewart Hildebrand wrote:
>>> On 9/29/25 04:41, Roger Pau Monne wrote:
>>>> I've had the luck to come across a PCI card that exposes a MSI-X capability
>>>> where the BIR of the vector and PBA tables points at a BAR that has 0 size.
>>>>
>>>> This doesn't play nice with the code in vpci_make_msix_hole(), as it would
>>>> still use the address of such empty BAR (0) and attempt to crave a hole in
>>>
>>> s/crave/carve/
>>>
>>>> the p2m.  This leads to errors like the one below being reported by Xen:
>>>>
>>>> d0v0 0000:22:00.0: existing mapping (mfn: 181c4300 type: 0) at 0 clobbers MSIX MMIO area
>>>>
>>>> And the device left unable to enable memory decoding due to the failure
>>>> reported by vpci_make_msix_hole().
>>>>
>>>> Introduce checking in init_msix() to ensure the BARs containing the MSI-X
>>>> tables are usable.  This requires checking that the BIR points to a
>>>> non-empty BAR, and the offset and size of the MSI-X tables can fit in the
>>>> target BAR.
>>>>
>>>> This fixes booting PVH dom0 on Supermicro AS -2126HS-TN severs with AMD
>>>> EPYC 9965 processors.  The broken device is:
>>>>
>>>> 22:00.0 SATA controller: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] (rev 93)
>>>>
>>>> There are multiple of those integrated controllers in the system, all
>>>> broken in the same way.
>>>>
>>>> Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
>>>> ---
>>>> Cc: Stewart Hildebrand <stewart.hildebrand@amd.com>
>>>> Cc: Jan Beulich <jbeulich@suse.com>
>>>> Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>>>>
>>>> While not strictly a bugfix, I consider this a worthy improvement so that
>>>> PVH dom0 has a chance to boot on hardware that exposes such broken MSI-X
>>>> capabilities.  Hence I think this change should be considered for inclusion
>>>> into 4.21.  There a risk of regressing on hardware that was already working
>>>> with PVH, but given enough testing that should be minimal.
>>>> ---
>>>>  xen/drivers/vpci/msix.c | 50 ++++++++++++++++++++++++++++++++++++-----
>>>>  1 file changed, 45 insertions(+), 5 deletions(-)
>>>>
>>>> diff --git a/xen/drivers/vpci/msix.c b/xen/drivers/vpci/msix.c
>>>> index 54a5070733aa..8458955d5bbb 100644
>>>> --- a/xen/drivers/vpci/msix.c
>>>> +++ b/xen/drivers/vpci/msix.c
>>>> @@ -675,6 +675,51 @@ static int cf_check init_msix(struct pci_dev *pdev)
>>>>      if ( !msix )
>>>>          return -ENOMEM;
>>>>  
>>>> +    msix->tables[VPCI_MSIX_TABLE] =
>>>> +        pci_conf_read32(pdev->sbdf, msix_table_offset_reg(msix_offset));
>>>> +    msix->tables[VPCI_MSIX_PBA] =
>>>> +        pci_conf_read32(pdev->sbdf, msix_pba_offset_reg(msix_offset));
>>>> +
>>>> +    /* Check that the provided BAR is valid. */
>>>> +    for ( i = 0; i < ARRAY_SIZE(msix->tables); i++ )
>>>> +    {
>>>> +        const char *name = (i == VPCI_MSIX_TABLE) ? "vector" : "PBA";
>>>> +        const struct vpci_bar *bars = pdev->vpci->header.bars;
>>>> +        unsigned int bir = msix->tables[i] & PCI_MSIX_BIRMASK;
>>>> +        unsigned int type;
>>>> +        unsigned int offset = msix->tables[i] & ~PCI_MSIX_BIRMASK;
>>>> +        unsigned int size =
>>>> +            (i == VPCI_MSIX_TABLE) ? max_entries * PCI_MSIX_ENTRY_SIZE
>>>> +                                   : ROUNDUP(DIV_ROUND_UP(max_entries, 8), 8);
>>>> +
>>>> +        if ( bir >= ARRAY_SIZE(pdev->vpci->header.bars) )
>>>
>>> This assumes a type 0 header. For type 1 headers, bir values 2 and up are
>>> also reserved.
>>
>> Right, but those BARs will be set as VPCI_BAR_EMPTY for type 1 headers.
>> The check here is to avoid doing an out of bounds array access, the
>> check for validity of the pointed BAR is done below.
>>
>>>
>>>> +        {
>>>> +            printk(XENLOG_ERR "%pp: MSI-X %s table with out of range BIR %u\n",
>>>> +                   &pdev->sbdf, name, bir);
>>>
>>> Nit: placing the cleanup label at the end of the function and using 'rc' would
>>> make it more amenable to future uses.
>>
>> The issue with that is that we then end up with a structure like:
>>
>>     return vpci_make_msix_hole();
>>
>>  error:
>>     xfree();
>>     return rc;
>>
>> Which I don't like much because of the double usage of return (it's a
>> taste issue TBH).
>>
>> My motivation for using a goto is that they are conceptually the same
>> error path, but we provide different log messages to aid in debugging
>> the issue.  Otherwise all checks will be done in a single condition.
> 
> I agree here, yet I'd like to point out that (iirc) Misra wants us to use
> only forward goto-s (which imo is a mistake, but I don't expect they're
> going to change their minds). So flipping where the label and goto are
> may be desirable.

Aren't we planning to deviate rule 15.2? See [1]

[1] https://lore.kernel.org/xen-devel/7e2993c68fda95d1eda6fd136750fcba@bugseng.com/


From xen-devel-bounces@lists.xenproject.org Tue Oct 07 15:35:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Oct 2025 15:35:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1138992.1474552 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v69ij-0007wl-T5; Tue, 07 Oct 2025 15:35:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1138992.1474552; Tue, 07 Oct 2025 15:35:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v69ij-0007we-Py; Tue, 07 Oct 2025 15:35:21 +0000
Received: by outflank-mailman (input) for mailman id 1138992;
 Tue, 07 Oct 2025 15:35:21 +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 <SRS0=F9pE=4Q=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v69ij-0007wY-8h
 for xen-devel@lists.xenproject.org; Tue, 07 Oct 2025 15:35:21 +0000
Received: from mail-ej1-x631.google.com (mail-ej1-x631.google.com
 [2a00:1450:4864:20::631])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3a55ed52-a393-11f0-9809-7dc792cee155;
 Tue, 07 Oct 2025 17:35:18 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-b50645ecfbbso80181366b.1
 for <xen-devel@lists.xenproject.org>; Tue, 07 Oct 2025 08:35:18 -0700 (PDT)
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
 a640c23a62f3a-b4865a7ee4esm1407046066b.28.2025.10.07.08.35.17
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Oct 2025 08:35:17 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3a55ed52-a393-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1759851318; x=1760456118; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=i6GrCEmaiNm2zARysXA35YmhVTkBx+1kdZRk9bH5v0o=;
        b=SRpARsSI8PAhccl/2bIz/bHVUtGfc9jWTndHhpwR2SrZ5pIsg2+SJlailRjHfBvHR9
         B8kBx2bNo5RlXCr42wO/e6ZjwLtefBZBRVYM2TidvboH/WnA1XUGxD3MRha5jaVNgaM2
         Lk2c/fqy/Bq61ZYTHWMugTfAvjxnmmXLwoeTg04S523NhxJRwjfdprjFoeBKimT8cphT
         mDwalQ1QOVGWTTA9ZX+2bQdQVqtmSTlJFiG0CLwceq1bWUlvtra/wtSOvbXn9xpf2NnY
         WZoi+wVtsJjd5mwxX261v61xOFjYs/IZ+JFC2W7/ZprP+9rMO5QLMSAeESsiE1i7HEJc
         jT2g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759851318; x=1760456118;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=i6GrCEmaiNm2zARysXA35YmhVTkBx+1kdZRk9bH5v0o=;
        b=tWmamcbyc4EmizE/lZgnkCFC/Kh1GsVcIfnpS4T7IqzjljoO4nO37eZEHcvQ5NN13B
         YU389G7GgHHZ1IAjD4x43rglv8FDyts5ZXHvZBgsR3PlFlJboUaGosI+0fCOL99ysp3P
         GpAL8SspjuCvUYUb6kQx3BkDP8nHhyd5C67WUCgFV4BPxxKsjjCbg7KlCFqFgmY323MR
         rvRjfiunuAhnZ42QZLuHyjv+VwfmXiqtggQgMXU+OsknTiJWEwGJikHF5Xu7ciiFnSNA
         Ke9UlsSyTncXsXacab/Ur+tbxKtXis+mat3fMxQNn1YTJ42/Re/lQ3SWtpFobvm/e7M+
         FxWw==
X-Forwarded-Encrypted: i=1; AJvYcCXkGhLHYG/G2j+bzzBfBtH2qGOiI5QbWdhvyzWN3uvggqVGoNJEvnU08LPxVnb0bWN6a6lzE4AEMvg=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx4tJ8qwOwORMbthyf2eOgVxRwQxu/ZgxdQOdWvhf2vWdt6uF+F
	Jqakc6v/SqexL5iHKJ2UjiOqcuDlIpQvYH7jNek7qENHaBgJ5FmxwNp7lt5pV7QjOA==
X-Gm-Gg: ASbGnctCtrJWr6+ABtzCrMxJAwe4GUypdBhk3VruAbMM+jCRq1ngmixO/tredDrj0nG
	Csbb+CN2WtuTbe+VANAgIGU7z17keharT09Fgd0hN5fhiXBNynJbTxwOhcLMHwC2cZxxaNsB6q4
	A6Tz73VGOaAD3cY5wMFI3bEsvGVuNC5hIt7mhCkcHSkpRvis+riTmQz5c5nImq1Jh3KUf/A3KfE
	sW7T89cl28em7/UE9BYvnOzh0CL3EtJ8qtdtX6xEL+D+5dSTizb4Gks8vy558EPiZaG/SgDmxzm
	CUjbznkt5FKDt+vNsjv8kbA0stRiqWkFk5vSZhl0ZMB6XSKufVoGQtkw+IpM7toeqWMnNjx738G
	j2rSFoBJ0qozX6AxuebTRM9QZrAHANSAqqa+TsgeAbnF5+IdySBJ/HZ0PDTYXy6nM4au0nAoiWO
	Mg3V/OIrsVsoUVnM/dcMZu3loHn0p8KgA=
X-Google-Smtp-Source: AGHT+IGrpEPIiRGS93W+g7hMjeAgNj9Yk/XkE5Uehyu5cQ+gV9gH/hpLaCyzUzyncEJtodAZ0iuXmA==
X-Received: by 2002:a17:907:934d:b0:b32:8943:7884 with SMTP id a640c23a62f3a-b50abfd6a1fmr4088966b.45.1759851317695;
        Tue, 07 Oct 2025 08:35:17 -0700 (PDT)
Message-ID: <ad2818bd-bf36-46b9-89f3-ffa8b9dd364a@suse.com>
Date: Tue, 7 Oct 2025 17:35:25 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] x86/hvm: vlapic: fix RO bits emulation in LVTx regs
To: Grygorii Strashko <grygorii_strashko@epam.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Alejandro Vallejo <alejandro.garciavallejo@amd.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <20250930190550.1166875-1-grygorii_strashko@epam.com>
 <DD733UWP8JVK.SSX8U5ENELIE@amd.com>
 <3715a68a-dc35-42f4-99e2-e1a45ebd1b16@epam.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <3715a68a-dc35-42f4-99e2-e1a45ebd1b16@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 03.10.2025 16:04, Grygorii Strashko wrote:
> 
> 
> On 01.10.25 18:18, Alejandro Vallejo wrote:
>> On Tue Sep 30, 2025 at 9:05 PM CEST, Grygorii Strashko wrote:
>>> From: Grygorii Strashko <grygorii_strashko@epam.com>
>>>
>>> The LAPIC LVTx registers have two RO bits:
>>> - all: Delivery Status (DS) bit 12
>>> - LINT0/LINT1: Remote IRR Flag (RIR) bit 14.
>>>
>>> The Delivery Status (DS) is not emulated by Xen - there is no IRQ msg bus,
>>> and the IRQ is:
>>> - or accepted at destination and appears as pending
>>>    (vLAPIC Interrupt Request Register (IRR))
>>> - or get rejected immediately.
>>>
>>> The Remote IRR Flag (RIR) behavior emulation is not implemented for
>>> LINT0/LINT1 in Xen for now.
>>>
>>> The current vLAPIC implementations allows guest to write to these RO bits.
>>>
>>> The vLAPIC LVTx registers write happens in vlapic_reg_write() which expect
>>> to implement "Write ignore" access type for RO bits by applying masks from
>>> vlapic_lvt_mask[], but vlapic_lvt_mask[] contains incorrect masks which
>>> allows writing to RO fields.
>>>
>>> Hence it is definitely wrong to allow guest to write to LVTx regs RO bits,
>>> fix it by fixing LVTx registers masks in vlapic_lvt_mask[].
>>>
>>> In case of WRMSR (guest_wrmsr_x2apic()) access to LVTx registers, the SDM
>>> clearly defines access type for "Reserved" bits as RsvdZ (Non-zero writes
>>> to reserved bits should cause #GP exception), but contains no statements
>>> for RO bits except that they are not "Reserved". So, guest_wrmsr_x2apic()
>>> now uses different masks (than vlapic_reg_write()) for checking LVTx
>>> registers values for "Reserved" bit settings, which include RO bits and
>>> do not cause #GP exception.
>>>
>>> Fixes: d1bd157fbc9b ("Big merge the HVM full-virtualisation abstractions.")
>>> Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
>>> ---
>>> Changes in v2:
>>> - masks fixed in vlapic_lvt_mask[]
>>> - commit msg reworded
>>>
>>> v1: https://patchwork.kernel.org/project/xen-devel/patch/20250925195558.519568-1-grygorii_strashko@epam.com/
>>>   xen/arch/x86/hvm/vlapic.c | 14 ++++++++------
>>>   1 file changed, 8 insertions(+), 6 deletions(-)
>>>
>>> diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
>>> index 79697487ba90..2ecba8163f48 100644
>>> --- a/xen/arch/x86/hvm/vlapic.c
>>> +++ b/xen/arch/x86/hvm/vlapic.c
>>> @@ -44,15 +44,17 @@
>>>   static const unsigned int vlapic_lvt_mask[VLAPIC_LVT_NUM] =
>>>   {
>>>        /* LVTT */
>>> -     LVT_MASK | APIC_TIMER_MODE_MASK,
>>> +     (LVT_MASK | APIC_TIMER_MODE_MASK) & ~APIC_SEND_PENDING,
>>>        /* LVTTHMR */
>>> -     LVT_MASK | APIC_DM_MASK,
>>> +     (LVT_MASK | APIC_DM_MASK) & ~APIC_SEND_PENDING,
>>>        /* LVTPC */
>>> -     LVT_MASK | APIC_DM_MASK,
>>> -     /* LVT0-1 */
>>> -     LINT_MASK, LINT_MASK,
>>> +     (LVT_MASK | APIC_DM_MASK) & ~APIC_SEND_PENDING,
>>> +     /* LVT0 */
>>> +     LINT_MASK & ~(APIC_LVT_REMOTE_IRR | APIC_SEND_PENDING),
>>> +     /* LVT1 */
>>> +     LINT_MASK & ~(APIC_LVT_REMOTE_IRR | APIC_SEND_PENDING),
>>>        /* LVTERR */
>>> -     LVT_MASK
>>> +     LVT_MASK & ~APIC_SEND_PENDING,
>>>   };
>>
>> This is a bit messy. Why not have 2 masks? One for rsvdZ bits, and one
>> for RO?
>>
>> That ought to simplify the logic in both the MSR and MMIO cases.
>>
>> MMIO would do RAZ/WI on the OR of both, while the MSR interface would gate
>> #GP(0) on the mask for rsvd bits only and ensure all RO bits are preserved on
>> writes.
>>
>> Thoughts?
> 
> I've been thinking about the same and It can be done, np.
> I always trying to make "fix" with as small diff as possible
> considering back-porting.
> 
> How about "follow up" patch if there is an agreement to proceed this way on the Top level?

Doing it in two steps would be okay with me (I expected it to go that way
anyway), but then it would still be nice to limit churn some. Specifically,
taking LINT_MASK as example, can't we do

#define LINT_RO_MASK (LVT_RO_MASK | APIC_LVT_REMOTE_IRR)

#define LINT_WR_MASK \
    (LVT_WR_MASK | APIC_DM_MASK | APIC_INPUT_POLARITY | \
    APIC_LVT_LEVEL_TRIGGER)

#define LINT_MASK (LINT_WR_MASK | LINT_RO_MASK)

or some such, and then use *_WR_MASK in the table initializer?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Oct 07 15:42:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Oct 2025 15:42:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1139011.1474562 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v69pc-0001EV-Kn; Tue, 07 Oct 2025 15:42:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1139011.1474562; Tue, 07 Oct 2025 15:42:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v69pc-0001EO-HI; Tue, 07 Oct 2025 15:42:28 +0000
Received: by outflank-mailman (input) for mailman id 1139011;
 Tue, 07 Oct 2025 15:42:27 +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
 <SRS0=jiYT=4Q=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1v69pb-0001ED-Mu
 for xen-devel@lists.xenproject.org; Tue, 07 Oct 2025 15:42:27 +0000
Received: from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com
 [2a00:1450:4864:20::52c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 38b49c7a-a394-11f0-9809-7dc792cee155;
 Tue, 07 Oct 2025 17:42:25 +0200 (CEST)
Received: by mail-ed1-x52c.google.com with SMTP id
 4fb4d7f45d1cf-61cc281171cso402101a12.0
 for <xen-devel@lists.xenproject.org>; Tue, 07 Oct 2025 08:42:25 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-146-38.play-internet.pl.
 [109.243.146.38]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-6376b3b7225sm12414502a12.16.2025.10.07.08.42.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Oct 2025 08:42:23 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 38b49c7a-a394-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1759851744; x=1760456544; darn=lists.xenproject.org;
        h=subject:from:cc:to:content-language:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=BH2imbmcGG8YC2NKOOPrT40O2e/gZ8uDrdr2Rn9CXkM=;
        b=nn4Om902HuWQGCfuAfAQNdZpTqRfpjlZyC773+07N5qCUGBXgQT4ZKNtTRG3B1d4CT
         5saOQ8Apxz2C7Hg8q1coYSgs6QmQzhxpyonp02d9Oe8EdCd0OzrZi2KJrTrkpHf9gQCn
         xLxBVwlq4jniI+n4HpBkAZnRSWzYAeK0GoJ9XiPOk4C4ibEzfKZ1VZScxQfQsBUfgUsi
         0xGrOlUWIsL7tEwLglzr3FmS9NTg5crGimBL6ddQgT3xKEDsvNbeWFsy91vKJHjXjwye
         uOql6zTgx4KJvVFDBF6kzmaX1BK9pPacPZISRRLOIqZCpsQalWOlYRhegdno51r2YZKx
         ncaQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759851744; x=1760456544;
        h=subject:from:cc:to:content-language:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=BH2imbmcGG8YC2NKOOPrT40O2e/gZ8uDrdr2Rn9CXkM=;
        b=rFTrsmGu3mur0Mq2y5XoJlofVUWQgoD0vNiSY/mQdCQxZoPnL9qrBctdLXgTJKROu8
         9A9EeWJ+1oKvDTWjunZqy4vQzghUSk/4IHm604K0RukR4SjShDm0aPu/fzLmu2Sau+Km
         4NJFCp+gs1X4MoNLwz7+qe+f4BDt571ig0dx4xlHwTv5PcxeqHTDuPNQTWMpfO4EdMy4
         PxqT+yHCDH1rSiRDhmnmbgSe8MKeFh3hsBlSwFrLU+JI7QDF6s8atkCMyMsNeVFsxP68
         HI1IKb89gTa2ug3evS08zBQQDB/tZ03CIkE/tpxw7JYxQPG7wiSLgHsVgJY/TVacLwQ/
         dp3A==
X-Gm-Message-State: AOJu0Yz+FB3lUfP5pHThLqMHqgDqmSqOTwtwNCS+CfzzmVGe1yobPQQz
	buHbP8oDghSVAsGKO9an2nPwScMzCK7ozNhf9JUFV4DuSFlphr+LP+A8nyIuuA==
X-Gm-Gg: ASbGnctChQy+PEIXz/WiHKcIEY3VgqbJmSJZXVKuUsOqaJ1fYJJlibQA1wz8GIQ3kxW
	WSPyLcqY77VDS5AOwE7vxBvwOS5qn9wFg5Egg56TpTt4XNdJEVxtyh4v/e/YsymzFxVA6ySCSaT
	fUNeGNoufUPP4X662kY9TQPGhs+V1tI04ymRGMKCunA9lkbBfzzutxtdSiinvpZBpFEKfwwawho
	aNfoevGu8mYGY/hrB6VDRuK2R1E5scS7vvNuoynqAgPl0rEHwd5IcLhkTOpEJgCr4iVNHrWp6ne
	OP7/0mVSzA48IdTko2G/WePCpL+XUZ3nZXgnaYe7+nJcf6y7UBOGaLofGTaElWlWbE+IUUrgeQN
	anoLpjl/bqhXXUJNwRUcKjtKEG3LXy3dSOpYYtZvv0uOJd4gxPfptIQY+Avo2nk6ifzlAWwnAj8
	u+xfgyxJn86Ix6aZiNr84RG4BF9XiUxWn2JojW7w==
X-Google-Smtp-Source: AGHT+IEDaDZMmobSFrigZoj/bc51u0nCCT+Ufn/VGhQVVVYj8ZKnFuX5ewdQ4cVkyW+PjmJvfjOrGw==
X-Received: by 2002:a05:6402:1ec2:b0:62b:2f0:974f with SMTP id 4fb4d7f45d1cf-639348e4edfmr16712140a12.15.1759851743980;
        Tue, 07 Oct 2025 08:42:23 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------QET1v2u4oLBXWmKoMaFyupyG"
Message-ID: <1a7522f7-89e5-4d0d-9953-8fd4c6e86c16@gmail.com>
Date: Tue, 7 Oct 2025 17:42:23 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: xen-users@lists.xenproject.org, xen-announce@lists.xenproject.org,
 Community Manager <community.manager@xenproject.org>,
 "committers@xenproject.org" <committers@xenproject.org>
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [ANNOUNCEMENT] Xen 4.21.0-rc1 is tagged

This is a multi-part message in MIME format.
--------------QET1v2u4oLBXWmKoMaFyupyG
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hello everyone,

Xen 4.21 rc1 is tagged. You can check that out from xen.git: 
git://xenbits.xen.org/xen.git 4.21.0-rc1

For your convenience there is also a tarball and the signature at:
   https://downloads.xenproject.org/release/xen/4.21.0-rc1/xen-4.21.0-rc1.tar.gz

And the signature is at:
   https://downloads.xenproject.org/release/xen/4.21.0-rc1/xen-4.21.0-rc1.tar.gz.sig

Have a nice week!

~ Oleksii


--------------QET1v2u4oLBXWmKoMaFyupyG
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit

<!DOCTYPE html>
<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <pre id="b"
style="font-size: 13px; font-family: monospace; background: rgb(255, 255, 255); white-space: pre-wrap; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">Hello everyone,

<span class="q"
style="font-size: 13px; font-family: monospace; background: rgb(255, 255, 255);">Xen 4.21 rc1 is tagged. You can check that out from xen.git:
</span><span class="q"
style="font-size: 13px; font-family: monospace; background: rgb(255, 255, 255);">  git://xenbits.xen.org/xen.git 4.21.0-rc1</span>

For your convenience there is also a tarball and the signature at:
  <a class="moz-txt-link-freetext" href="https://downloads.xenproject.org/release/xen/4.21.0-rc1/xen-4.21.0-rc1.tar.gz">https://downloads.xenproject.org/release/xen/4.21.0-rc1/xen-4.21.0-rc1.tar.gz</a>

And the signature is at:
  <a class="moz-txt-link-freetext" href="https://downloads.xenproject.org/release/xen/4.21.0-rc1/xen-4.21.0-rc1.tar.gz.sig">https://downloads.xenproject.org/release/xen/4.21.0-rc1/xen-4.21.0-rc1.tar.gz.sig</a>

Have a nice week!

~ Oleksii</pre>
    <p><br>
    </p>
  </body>
</html>

--------------QET1v2u4oLBXWmKoMaFyupyG--


From xen-devel-bounces@lists.xenproject.org Tue Oct 07 15:47:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Oct 2025 15:47:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1139026.1474571 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v69uE-0001tF-7k; Tue, 07 Oct 2025 15:47:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1139026.1474571; Tue, 07 Oct 2025 15:47:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v69uE-0001t8-5E; Tue, 07 Oct 2025 15:47:14 +0000
Received: by outflank-mailman (input) for mailman id 1139026;
 Tue, 07 Oct 2025 15:47:12 +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 <SRS0=F9pE=4Q=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v69uC-0001sG-C1
 for xen-devel@lists.xenproject.org; Tue, 07 Oct 2025 15:47:12 +0000
Received: from mail-ej1-x62e.google.com (mail-ej1-x62e.google.com
 [2a00:1450:4864:20::62e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e1e01e37-a394-11f0-9809-7dc792cee155;
 Tue, 07 Oct 2025 17:47:09 +0200 (CEST)
Received: by mail-ej1-x62e.google.com with SMTP id
 a640c23a62f3a-b3d196b7eeeso977155466b.0
 for <xen-devel@lists.xenproject.org>; Tue, 07 Oct 2025 08:47:09 -0700 (PDT)
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
 a640c23a62f3a-b4865f7420asm1411107166b.43.2025.10.07.08.47.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Oct 2025 08:47:07 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e1e01e37-a394-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1759852028; x=1760456828; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=9ILmF6iCt2yGIewJIiJMYGHNCX34vnklwajHZKf50Tc=;
        b=HjPl5aYGmcS+83dvEOUwJjZ36uQi0HZ0dNEYylhko7OwT15tKmNPQBZJy5IG9iqtw9
         LDC0TcYHMS2cjMuAxcynWH/PB9lm5yKbTDVw2OsRFRjTub5VMegOdjaakYMQ3iu4/cS4
         1mBzUa8O/rmGRPIg5qgPXVgjDyVzdi3vfQu0amygoG/MCFfhnzuTHbCvm8JZSa0EiY+S
         acPpGrF5MyqZzVw13pBSxORro4NuWbkAj9UwbpTj8sZmzmvsp4/VLhM/I2nmzLvZTj7r
         WD7lz4Sgh4RW6krByfJF+gpPiG2NOp6e8a3QiQRpp2PM2IdxYfA0lnaVhcWUU3BINB5n
         g4uw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759852028; x=1760456828;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=9ILmF6iCt2yGIewJIiJMYGHNCX34vnklwajHZKf50Tc=;
        b=kXLktbbOzXi0sYdpdoeNDhKHeWS9PpRRAt1ll4dr3D8NRbSDSujaVR6IaJSu2AK7S2
         YcQyLfGuF0tWfeDCbHYmSe6Ps9irjNz6SXxyJHOtr6gnUkreJ5v7xc+l9CT2FT5SZnG9
         L63lpYPZJDWDhMiMS3/oZhPqPEs98zJcF7pRmAbQxLXGXIOg3z7iv9fbBdL/N+Xfwkuf
         HBdLaxdB0Jpp0B5Ohl+DYKObW97CYHRIBbeEfJ2PFbr+4q/Tlbz1k9VSeEPscEHtJzyl
         rv8+HyzJllgW273hj7Pzp1tp6xoUbvoM94oG47XdIkr9vzRPLaTLapKiHtZhIt3bebKZ
         /xKA==
X-Forwarded-Encrypted: i=1; AJvYcCXlqvFMxBMCY1edjOuOr94qj7LILqJSpi5HDkAQyP2OoztPoNdbVgedx2OopZh6SOvDv+2nMWsD1Vg=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw4UTepgaYrDgGMn08szzz1+BRp7+GrjRZQMqWkfTmuPehFP11s
	ChcW1sLXwKFa90TKJhkg6K1PZ015CfGpLK+XmU5zNMQmFb9p1qA4QVSnuWSy8aVswQ==
X-Gm-Gg: ASbGncu+svKoFJ8fgdEWuQW316+//dvKYurvplCka+8V7e2zwJ6NYv5EBLVDmifl6TC
	PkrUwOR4+jihJXE5nbUCqPplH29ujAmThPu4UCvFuAMmKmu8JX8h4TN7/77RGNgDw2oCjoQqyUL
	4v4x0HLLAIcLl5SBsnotBBvm3gRJ/WR+W6L61Luy/VARRbYLz5gAvjdsvMezc5mA0DaZcyeBnnu
	5rE38lngNK8lG6h0Z1pbV49kKcV9pxszcqV8fd+o1YwhQOdcmLX4i3rzMKFRCSsqJ1zBuIgmetJ
	RtzBf9MpviV4RZH2uDWnh8F9+g4hh/YUPv4i2SC89pVdU11yPOtWN1hFSKPlUiBU4WMSfYr0ZJN
	9qwTc0uRmwUH7Kdu8480+cucwyXw/1W/12sRnvXNi3yjTv1O3KvG4QVH0R4fy2z42XLt9LoMsYx
	V3Iyff7Jj7AZQhjtB4YehDWBQcIxFO7kM=
X-Google-Smtp-Source: AGHT+IF4x8oxYpcT7XUsKGM0cX7T2UUShscRXIzSrflMb4IIeiSRgNCI2ZUwdbBjjZR+mC+ORicFcw==
X-Received: by 2002:a17:906:c14c:b0:b49:96e4:183c with SMTP id a640c23a62f3a-b50a9a6cdebmr12706666b.9.1759852028314;
        Tue, 07 Oct 2025 08:47:08 -0700 (PDT)
Message-ID: <b165c6b5-e77b-4abf-905a-4e93f185e367@suse.com>
Date: Tue, 7 Oct 2025 17:47:16 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 01/22] x86/msr: Change rdmsr() to have normal API
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
 <20251003225334.2123667-2-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251003225334.2123667-2-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 04.10.2025 00:53, Andrew Cooper wrote:
> We want a consistent MSR API, and these want to be named rdmsr() and wrmsr(),
> but not with their current APIs.  The current rdmsr() flavours writing to
> their parameters by name makes code that reads like invalid C, and is
> unergonomic to use in lots of cases.
> 
> Change the API, and update the callers all in one go.  Where appropriate,
> update the write side to wrmsrns() as per the recommendation.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Tue Oct 07 15:49:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Oct 2025 15:49:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1139051.1474594 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v69wL-0002vB-QR; Tue, 07 Oct 2025 15:49:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1139051.1474594; Tue, 07 Oct 2025 15:49:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v69wL-0002v4-NO; Tue, 07 Oct 2025 15:49:25 +0000
Received: by outflank-mailman (input) for mailman id 1139051;
 Tue, 07 Oct 2025 15:49:23 +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 <SRS0=F9pE=4Q=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v69wJ-0002e4-Tz
 for xen-devel@lists.xenproject.org; Tue, 07 Oct 2025 15:49:23 +0000
Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com
 [2a00:1450:4864:20::629])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 314abe3b-a395-11f0-9809-7dc792cee155;
 Tue, 07 Oct 2025 17:49:22 +0200 (CEST)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-b3e9d633b78so2300966b.1
 for <xen-devel@lists.xenproject.org>; Tue, 07 Oct 2025 08:49:22 -0700 (PDT)
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
 4fb4d7f45d1cf-6376b3b8df3sm12630735a12.13.2025.10.07.08.49.20
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Oct 2025 08:49:21 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 314abe3b-a395-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1759852161; x=1760456961; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=+xO66qWGqrlwwD5gw3Jvm6OyWUkL3kIRAe9KICwBgco=;
        b=f4NmYFE9n/NMpDn7s5+zhm+OAFTCs/JZdFKPGx5IwbIKKwrFJO9QbDC8TLbYG77YTb
         GVfM9qb+BgQLg/JYlMNccKv3Qpk3UAwDQ5njwkrBs0to82deXeHK9BAT4JsiimzH4NmE
         eZWKNfQ0AJi4eQPTYb50Fl5yrtrb+u1puUVw0PzGbNLI1bpNSv7fpc1uvRloPQgcyIdS
         tjJdbrzgtMsuc2vNHbzrmTLZFuccFb4nY+90oTBHuq7b5fadYABn8mW4l+x+dyYPlXSf
         3c24WYLKIS+/Lo47k2vs506EqEop/2xWQwYvUA+CQ95ObAchgs1MwWXmVpn9dA5r6Lx8
         IeGQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759852161; x=1760456961;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=+xO66qWGqrlwwD5gw3Jvm6OyWUkL3kIRAe9KICwBgco=;
        b=nBK0p/l15PG40sG2RJojACAzO6FmWa1qZUb/2STrCcwEnvpi+w/lL343hoLhBXYPzv
         VIrGPQMWHG8ms/sQmC0UTHhzbSrRmVjhnE8Gp2YhsB+CNDf64Kklf1qwLOwAqmDnjPKu
         P7nY4T71I34UiZlJHzYKjp5DqItxYKwjwOcY5EnLlQhxTg3r6kLqJl0p6h3/j3dDC+5w
         4SqlJtamKSWfKUs7JsDRE+e3NAxZp292VIqGutTNKKzl7+HN1xGv/SbANXQqMFwVEKfr
         b4gIV26urXg7DrcP+e+GhuLxEvEcBvIkwi4uwOvpCFIUGuuMv6hniPDtRn2upPSrwMgX
         8sDw==
X-Forwarded-Encrypted: i=1; AJvYcCVZTOSQhzNIV6aRNX9V4LgsNqRA1dFK9fI4DBpL4QDb2buIzWgGHgyPvN0ihblELpUS1ha2l6ZoSzY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyNp4akcKcdvlji5+S4giufMSTqoRg0BAXd+zqEcIwsUHjHMLdg
	3GyVUWXOBBaGK4gBRV92AHkdHSRWdQudFFOO2rKl01zNiTpL/yXOrbHF2stLIb817fVFGL5GbyX
	hIaY=
X-Gm-Gg: ASbGncu98Vlkq53JcThoT32hGSiMxQbuCoCG+dELB1JrYzob450tI/fx/pNFy3j12fe
	zA4zcoxoVvNNdNEcI8r4GSTaAVK5NklDigO09GD6T046+1X0jaqraAhsztn8ID3dYD/IldaW2Re
	7mgcxQMKxE3tvEVkssFFxsZlLTiJGhQfPDck3oXmAn6AUq8pjuwlc0qtpLNNIZMY6zsX1+Fk9WM
	8zs0XX/f5j8V0RtWj+JbL2uOrU0Cfizg0av1TE1nmpVZLAQlsH/RQLWHz/lip2SHE/8qYYzw6lg
	Yc8OqNoWiNxB2B/3gOvL8PnybipWqmR1XaOZ/tBcuPpTdFf+gVjBvaFoZVER5gDxpjS6G6ZfkIJ
	Fovw3SD9ppczpI/YhZYtFjKFCpjWlLM+6fuNA8qZ3/VTYT8qCJZHAUOIafLfZhEZ/9MbLrQq8oL
	7dkmqUbE7u9mIrF0JFegkXeyVkm3t6aEI=
X-Google-Smtp-Source: AGHT+IFOPnxE+1v0qQzqQHSomvFKOkcj910tYm4sA/04BMj9xybXts+R+b60GI5wMPnAbvQGZQ+oVA==
X-Received: by 2002:a17:907:3889:b0:b2e:7614:d92d with SMTP id a640c23a62f3a-b4f3dae3a08mr508342566b.0.1759852161584;
        Tue, 07 Oct 2025 08:49:21 -0700 (PDT)
Message-ID: <b72d1e81-cca1-4d42-8ea0-d07780a80357@suse.com>
Date: Tue, 7 Oct 2025 17:49:29 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 03/22] x86/fsgsbase: Split out __{rd,wr}gs_shadow()
 helpers
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
 <20251003225334.2123667-4-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251003225334.2123667-4-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 04.10.2025 00:53, Andrew Cooper wrote:
> Right now they're inline in {read,write}_gs_shadow(), but we're going to need
> to use these elsewhere to support FRED.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Tue Oct 07 15:53:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Oct 2025 15:53:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1139067.1474605 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6A0E-0004b9-Bq; Tue, 07 Oct 2025 15:53:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1139067.1474605; Tue, 07 Oct 2025 15:53:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6A0E-0004b2-7v; Tue, 07 Oct 2025 15:53:26 +0000
Received: by outflank-mailman (input) for mailman id 1139067;
 Tue, 07 Oct 2025 15:53:25 +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 <SRS0=F9pE=4Q=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v6A0D-0004aw-Ms
 for xen-devel@lists.xenproject.org; Tue, 07 Oct 2025 15:53:25 +0000
Received: from mail-ed1-x534.google.com (mail-ed1-x534.google.com
 [2a00:1450:4864:20::534])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c1a44bd1-a395-11f0-9d15-b5c5bf9af7f9;
 Tue, 07 Oct 2025 17:53:24 +0200 (CEST)
Received: by mail-ed1-x534.google.com with SMTP id
 4fb4d7f45d1cf-62fa062a1abso12080234a12.2
 for <xen-devel@lists.xenproject.org>; Tue, 07 Oct 2025 08:53:24 -0700 (PDT)
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
 4fb4d7f45d1cf-6394ba637fasm10344571a12.33.2025.10.07.08.53.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Oct 2025 08:53:23 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c1a44bd1-a395-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1759852404; x=1760457204; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=UCfA5wS/TvNHHB5wDkVbVGdcN+krHhK+HT4MBZeVcMs=;
        b=A4ELA/SiQyzZUeew5yXBiMj5PElsto2nU3Sk7k5vXmQ9mDqaI7VY/9+HX3nDjzCR3s
         mXhFRZUz1fxZltQQnoT6aL47Uaxk8mgKUakrGoW86eS1aFTm2yPYgPCZENMOFxiXC4le
         Te4pTdZLyCe8Cz0Ep+GVGMoe7YJZvBwXC30C2FNoP9O78vRnSiwKIh5pjNsLX9lPpD6z
         5+mIB9rD3d6RluFLxzxqPOCBa+SwD+aWeNxuAe9ngEGWhaFiZDyVbwO/v7gH+SjLaN6Y
         dq7rcn2lD4JOaD2+axjecImH1/zGd2l9UubeHHzeVG+mbov8Tw0RqPWXvU0/t5Uct1qb
         cR0Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759852404; x=1760457204;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=UCfA5wS/TvNHHB5wDkVbVGdcN+krHhK+HT4MBZeVcMs=;
        b=xR2EqehEhEfEbWK8HyrpLmGrnnU9hwE5/YxPbm/4ahT50EElcmvrVHZhJilfWus3R0
         VSDPUQLmmfW8LMyZfQWrWWogPau7Y16U9EQcm51Z8d69N7pQTFt5ucUWSi813wfjUdUz
         dp67v9XCCXqv83vkyJZ+2JPvO4JCS8eSiAinCryYjxK9I07MTJburTl/13x57sk5PyVF
         kAkcBy17a+gYip+qwRR7BuuElnGNf9lHp8x3JWZTJ/tOs0JnTlZh8+1SUaSXOk6Jp1QQ
         Oaz4pjnoH+HNtJzppEdiZpNTx2EKGxsXznGrS6ehXFnnF9eqSJIwAvTThJp8BhMotuHX
         PtsA==
X-Forwarded-Encrypted: i=1; AJvYcCWgTAdzkHu0WOqdCRTOWyQ2BxRCPRRsqZiFfcMUP+0/dXstg9y/k40+ZnEPs+DBd6Bntw3vU4S7dJs=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwEDaqrPyVgGaBPl4ssf2mdtQTO+xNNXccC0+y+cuT+cXLY1x5t
	+Kwg51v9wmYQrI1uwJtxoI2sM0Xi0A4o2fNjwiRBk1q/R9jiJLeiPzcvBJb4A9U2Qw==
X-Gm-Gg: ASbGncuIBzOXnHfqZKtiPByH2Qldtb8z01xAKe+byx3wayqjzVNxrAuVYTZSwbiwoeS
	6hPyIOJxGAh7BzDyl0GqGErhvkR8rXnETmON0jy+kTq+gv2WHsNbnCNm6/0ITdKcuAqJ+lJDIPf
	sVE9fI9qCp5PodC7IM7Teav8G8Rcqox4QlPw2Xb7RL+Y8Q1xpB6WD49apC/gkVknTlXLgHwOU8M
	SePD4a0z8FIDTL8axnSxlLNebrx7ZlKUqqtKqVtvm8tEkpPwU0zdCW86ZIp5IKc3J7GYirBUyqb
	iFIbnRx7CI2ppy0PYA29KmKLPGknuTN7PjAVosocMC5zemAz+9CMAA2ifEr3vC8Rj3TO2do+P6n
	1ytotBtJvEoVTko72jB1Dd1Kqser+XugsPqX+DoPP8hkBbBQefCiM5BuJVAXF7owyEXmmBOEHeh
	Op6O0mVsNAObbY65YFAkoL7GKb2ypBSvQKt7XYXKJGog==
X-Google-Smtp-Source: AGHT+IFPlQtGyAQT5SrBRQI4XkJF9/CqlLRA+xtU2Jt/oMeez+jQ+P4APTmsIiaIXps4Phy6FYd1XA==
X-Received: by 2002:a05:6402:5190:b0:62f:c190:95cb with SMTP id 4fb4d7f45d1cf-63939c21c3amr18669633a12.19.1759852403791;
        Tue, 07 Oct 2025 08:53:23 -0700 (PDT)
Message-ID: <138f0c2d-8cd8-4a5b-9f5c-fa1e0890da4b@suse.com>
Date: Tue, 7 Oct 2025 17:53:31 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 04/22] x86/fsgsbase: Update fs/gs helpers to use
 wrmsrns()
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
 <20251003225334.2123667-5-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251003225334.2123667-5-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 04.10.2025 00:53, Andrew Cooper wrote:
> ... and rdmsr() while here.
> 
> Most of these accesses are in fastpaths and do not need serialising behaviour,
> but the write side is serialising on all Intel hardware as well as older AMD
> hardware.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Acked-by: Jan Beulich <jbeulich@suse.com>
in the interest of not blocking the tidying over ...

> --- a/xen/arch/x86/hvm/vmx/vmx.c
> +++ b/xen/arch/x86/hvm/vmx/vmx.c
> @@ -2737,8 +2737,8 @@ static uint64_t cf_check vmx_get_reg(struct vcpu *v, unsigned int reg)
>      case MSR_SHADOW_GS_BASE:
>          if ( v != curr )
>              return v->arch.hvm.vmx.shadow_gs;
> -        rdmsrl(MSR_SHADOW_GS_BASE, val);
> -        return val;
> +        else
> +            return rdmsr(MSR_SHADOW_GS_BASE);

... the addition of useless (and confusing, and possibly being Misra violations)
"else" here and elsewhere. If you were to drop them, feel free to "upgrade" to
R-b.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Oct 07 15:54:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Oct 2025 15:54:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1139078.1474613 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6A1a-000577-Kf; Tue, 07 Oct 2025 15:54:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1139078.1474613; Tue, 07 Oct 2025 15:54:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6A1a-000570-HY; Tue, 07 Oct 2025 15:54:50 +0000
Received: by outflank-mailman (input) for mailman id 1139078;
 Tue, 07 Oct 2025 15:54:50 +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 <SRS0=F9pE=4Q=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v6A1Z-000561-Uo
 for xen-devel@lists.xenproject.org; Tue, 07 Oct 2025 15:54:49 +0000
Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com
 [2a00:1450:4864:20::62c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f44496ce-a395-11f0-9d15-b5c5bf9af7f9;
 Tue, 07 Oct 2025 17:54:49 +0200 (CEST)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-b3b3a6f4dd4so1202170966b.0
 for <xen-devel@lists.xenproject.org>; Tue, 07 Oct 2025 08:54:49 -0700 (PDT)
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
 a640c23a62f3a-b4865e7e8b7sm1412709766b.40.2025.10.07.08.54.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Oct 2025 08:54:48 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f44496ce-a395-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1759852489; x=1760457289; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=E4lNXHU1tirSiTyZbFK+egYdQltVJSblJbKEtar6COc=;
        b=Bar/RIlBCcDqzIsl+YWXZaQeZQMyXsrf6Yoj2bFbdxBBPkCzoQg7cJ+7nNjx/yMKSM
         8KsylDRy3xZbJGvLIEWkevRF13hePjtc4ugzdtmspsDm+wpEB7jgpPAOH5nbPxT8J6BN
         NgdOafbgU/i+SDLhGikIFWL3eXTDNA4fdWVzXr2c07ACnJ+D0cJMsGFqHthZuEHXKnq9
         NPN7lXuCmdMW8dEWCl/VSkusMpsXMMiuOeBQr5tM39qFkGtLxDlUoN5aR6EDa33FRfs/
         J9mBIwEKvH8qOpdZ7QaMZcDJvLg+2BW7SZJptJscyGd+58cd3kbkjR0TtIeliDZJN2Jw
         4G/g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759852489; x=1760457289;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=E4lNXHU1tirSiTyZbFK+egYdQltVJSblJbKEtar6COc=;
        b=ZIVFL7cuj297AOa/bBvnh9yBB1Kkk0UFSIu8K0QKfjqXjPMxFADgDWsnpaEz3Q5ii9
         RXG1p/I4HQEExba9bFulRkrwxrbcd4x4sVc3qKjDT+kaWH2K7knLW1dVDKUvB0PWp8Aw
         F4kfuLKNZxmmhwna/tyfD1lgQr12CpvoyBUeuv1sq4jWyinme3hV2jSB9CrjXa9xmn+v
         NVJ4+0bD4pSAzS0IT9B8UprBz8xJ7wK+MBrUMjO78NBbazyUBkukFs9M8VEg8ifKxocw
         +t3NT6Dp6/jb0B5OSrg25YNPmP+xqe6+SqilroFz9gPzlH/CBau6O0CSug44SpqclzER
         02uA==
X-Forwarded-Encrypted: i=1; AJvYcCVSyBWhFPnRZg9ENgK2niRHY/2JPKBTNHvexBuJZP3VDEjBbespjEEg9wHcDmfjLX1ad8p5mqpHx8I=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwokUcddIvPXZSEO5f7k3HmPBofJnXypjD+snhifBI7Ks+K2X34
	WawCSy5XIzngb5j6eBs7a7QidTnQOMc+zHblDpSa+yYscwcqieWFHN0on74aG/OYWgzpZ5CmTgn
	FvuQ=
X-Gm-Gg: ASbGncv8kRwXmakWG8YfklhkGYmGcmxMMfu5kNJbHo0WE0ORCwv7yUWV6LrQ+ys2Vbo
	JucW5sl+48c4Ucbx7yiufNMmM/LcuNfkq8xGQJmT5dmTRxLKZLAClV/fE+482YWKkNWwpB18l2x
	hJUsdhdQEKd208D1kdTrVhDot6KzWVsPJikhntMBVRt0oUaoJaR/918bNNExBKmEGEWh/fGicrJ
	d2X8usguuSsvIxdVEq106TwM4c/jWjSOxSzfcb3g/cq0h9voaVaQHzI4dlTIUDSAoNfY9BNxLkB
	4Hg7m6LBzSCm1Zx2UParZd1Z3xBjKoJJdakEnfGg9xkArr/BWFi3axgiuPdO/hk3O4i/nS7nVgT
	4cdsQj2e5Wg2X3gw5WHm8mXvZvwWAwq3KcbsHxoIYkeIyZ8Yya6eVawmZwt0ANhYytsF99twMu0
	xCeMu4jJS1lfTKSI0M3OzOQoitygidSKocoiaQc6MzQw==
X-Google-Smtp-Source: AGHT+IFxkKZs7LXdrMIQvWMSfnukcWIg/pKqwBo5JZ6OhXpggunxyJUp72RW828Hz3eps7KVHQLXBQ==
X-Received: by 2002:a17:906:f5a6:b0:b3e:9818:30e0 with SMTP id a640c23a62f3a-b50ab08a127mr12385866b.29.1759852488782;
        Tue, 07 Oct 2025 08:54:48 -0700 (PDT)
Message-ID: <78d23acc-c70f-413a-afac-24d2016264ea@suse.com>
Date: Tue, 7 Oct 2025 17:54:57 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 05/22] x86/fsgsbase: Improve code generation in
 read_registers()
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
 <20251003225334.2123667-6-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251003225334.2123667-6-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 04.10.2025 00:53, Andrew Cooper wrote:
> It turns out that using the higher level helpers adjacent like this leads to
> terrible code generation.  Due to -fno-strict-alising, the store into state->
> invalidates the read_cr4() address calculation (which is really cpu_info->cr4
> under the hood), meaning that it can't be hoisted.
> 
> As a result we get "locate the top of stack block, get cr4, and see if
> FSGSBASE is set" repeated 3 times, and an unreasoanble number of basic blocks.
> 
> Hoist the calculation manually, which results in two basic blocks.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Acked-by: Jan Beulich <jbeulich@suse.com>
albeit preferably with ...

> --- a/xen/arch/x86/traps.c
> +++ b/xen/arch/x86/traps.c
> @@ -118,9 +118,18 @@ static void read_registers(struct extra_state *state)
>      state->cr3 = read_cr3();
>      state->cr4 = read_cr4();
>  
> -    state->fsb = read_fs_base();
> -    state->gsb = read_gs_base();
> -    state->gss = read_gs_shadow();
> +    if ( state->cr4 & X86_CR4_FSGSBASE )
> +    {
> +        state->fsb = __rdfsbase();
> +        state->gsb = __rdgsbase();
> +        state->gss = __rdgs_shadow();
> +    }
> +    else
> +    {
> +        state->fsb = rdmsr(MSR_FS_BASE);
> +        state->gsb = rdmsr(MSR_GS_BASE);
> +        state->gss = rdmsr(MSR_SHADOW_GS_BASE);
> +    }

... a brief comment added towards the deliberate open-coding.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Oct 07 15:57:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Oct 2025 15:57:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1139101.1474644 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6A3j-0005yg-9k; Tue, 07 Oct 2025 15:57:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1139101.1474644; Tue, 07 Oct 2025 15:57:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6A3j-0005yZ-6u; Tue, 07 Oct 2025 15:57:03 +0000
Received: by outflank-mailman (input) for mailman id 1139101;
 Tue, 07 Oct 2025 15:57:01 +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 <SRS0=F9pE=4Q=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v6A3h-0005yQ-Sg
 for xen-devel@lists.xenproject.org; Tue, 07 Oct 2025 15:57:01 +0000
Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com
 [2a00:1450:4864:20::629])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 42b86ff8-a396-11f0-9d15-b5c5bf9af7f9;
 Tue, 07 Oct 2025 17:57:01 +0200 (CEST)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-b3ee18913c0so1016552566b.3
 for <xen-devel@lists.xenproject.org>; Tue, 07 Oct 2025 08:57:00 -0700 (PDT)
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
 4fb4d7f45d1cf-637881010ffsm12716855a12.27.2025.10.07.08.56.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Oct 2025 08:56:59 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 42b86ff8-a396-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1759852620; x=1760457420; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=xmkb2AHJmzzxTq0PB3GuANi+LkSX0YobDWDYSs5f4TI=;
        b=Pc7k1SbTlwSaASAPuk387QXQfcv35mJAAOTkjs5tNd3iXCyHxuJaRjsNbZormS6GkC
         6C1SMvB9Pc+35SRxhIXxLS0e4Up/CVfzj7F0n3Tt8XKfyhf0Cn7UZddPDUBS1H/vomBg
         NVRUlZ/ETgcbOxGrD97YKNy7GDPTGk6lPR4l+3Er6HpqgyEQp5L/Yw9Y6In5F7qPBsck
         fufdcZ1xh6J/ggxvzPXK3y96buHvGs9udxMDpuG9o7cNjRT14RSV24DDqDBeb91och/l
         366SlBx0LyZpnfBCOGi5qCXvon6W00WKyLo+zHuT8NGwuYCIXwOH5zQXMFHhxB5t8fwF
         0jEw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759852620; x=1760457420;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=xmkb2AHJmzzxTq0PB3GuANi+LkSX0YobDWDYSs5f4TI=;
        b=cs5UMHwvhUVMs+HoqgZtlV4lNOvcMSC1NDET7Fb5yw2FtIy2MSMXI3CzpPndn1OU9c
         7Zh7SK2VeeJhtSSj5FUhIZYF9UReUirmrlWdx5IsGyNFOoLRG5KpJd65D5C4ZKn/xK15
         53pOv7xC6nAR/tBfDHeRbVBGztWpGzIim6KLKu9X8z2J3gSp8iTu120eD/3zF44qcMdR
         siukrQhVygHdAg3fcYRqv+k0OdnUeDSJPH2oC5cCUzVgZs3m3WGbCPCQUVj9sxm6eaab
         yld9FPKd6Spccb01dEH5q495MTvEOaSGqu2h5MJXr88n0ueWBIQTzpAhnt3KkeaokqLG
         cWUQ==
X-Forwarded-Encrypted: i=1; AJvYcCV49gTFnUDnXmlkc+r8Yv/yAJNhqCBoESJUMSyF6fh7uTLpMmnSO1V24+FHv5HRRDdTANPLYFxAAHU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyFNWAZP3yCqPy4KADTj4mnGqaqnbcQDwhMlndzQtz4aHDdLWFN
	wb+rqVVWujoI0enWwr5kwcle2WMrjgZB/pRK4TWJoNfHvHfgVpeOocl72qT5iCO0BSP4nzc0OXT
	Bw5E=
X-Gm-Gg: ASbGncuCNwMgm872Pvh3bHomrN8LPc8lxTO00cCK5av0bPK/TlZ7Vd6tFvbgq+SmdBH
	h4nZ7DBKMykFAKLxu8ACRjfD+9SRVv2c2JK/uDJ5CQTQfj9PuEl+QUlzhhaR3+2Zomj0Z7+qzPK
	+rnSNTYblIzeuPevX3iB2QEbV9b2aZ3asEjPtSIBHURTh0eiLJKplOT1mTsx9P40ZamPVo/yVPr
	Fs79olCIdQhAzvUCm2mOoDNqSxHGdlbbZGF7HYqdC0r9NibRommGB3wYIIt3RsCMEMS3ZIVFGri
	VkGsPNxGkTKKVedniE4SQ8hyG+ar9ne3r0yZ6FcbWkPsmjnnhtXqWwmZnutuYC0xXyqxK+pi+zI
	MeKt6/T+4n+qgcsiWlnDd9Y3rPjayxonDrKF+0AqHBdkIO0IxpAQvBCiB3sm3Cdh3NS/CkTxvXI
	oiJ0tqmj0gZKbS8PhRJ79WO9tsKtpnBws=
X-Google-Smtp-Source: AGHT+IEGRVVp7WAAN1uHYzLGM2mSQF6gs2NxoF0s3p9w1JC4Y9oHrMjUlIolnR5HXkpn0cqKsoqedQ==
X-Received: by 2002:a17:907:94c3:b0:b45:8370:eefd with SMTP id a640c23a62f3a-b50a9a6be43mr16781466b.5.1759852620130;
        Tue, 07 Oct 2025 08:57:00 -0700 (PDT)
Message-ID: <b7f428aa-dc5b-4d3a-89d6-4f8abb074105@suse.com>
Date: Tue, 7 Oct 2025 17:57:08 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 06/22] x86/boot: Use RSTORSSP to establish SSP
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
 <20251003225334.2123667-7-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251003225334.2123667-7-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 04.10.2025 00:53, Andrew Cooper wrote:
> Under FRED, SETSSBSY is disallowed, and we want to be setting up FRED prior to
> setting up shadow stacks.  As we still need Supervisor Tokens in IDT mode, we
> need mode-specific logic to establish SSP.
> 
> In FRED mode, write a Restore Token, RSTORSSP it, and discard the resulting
> Previous-SSP token.
> 
> No change outside of FRED mode.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Tue Oct 07 15:58:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Oct 2025 15:58:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1139111.1474654 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6A5E-0006ZL-Ji; Tue, 07 Oct 2025 15:58:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1139111.1474654; Tue, 07 Oct 2025 15:58:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6A5E-0006ZE-GK; Tue, 07 Oct 2025 15:58:36 +0000
Received: by outflank-mailman (input) for mailman id 1139111;
 Tue, 07 Oct 2025 15:58:34 +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 <SRS0=F9pE=4Q=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v6A5C-0006Yr-Rx
 for xen-devel@lists.xenproject.org; Tue, 07 Oct 2025 15:58:34 +0000
Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com
 [2a00:1450:4864:20::629])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 797e711b-a396-11f0-9809-7dc792cee155;
 Tue, 07 Oct 2025 17:58:32 +0200 (CEST)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-b3d80891c6cso1576266b.1
 for <xen-devel@lists.xenproject.org>; Tue, 07 Oct 2025 08:58:32 -0700 (PDT)
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
 a640c23a62f3a-b486a177c62sm1402099766b.91.2025.10.07.08.58.31
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Oct 2025 08:58:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 797e711b-a396-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1759852712; x=1760457512; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=BmmoY/YkVFQNLzbMzImKLD2GRD8bP6czsMMGveScBE8=;
        b=MER01rK+nBK5bbLWnQlFWALeomDUgPsCna2+0RI7dd3XOGQ0j9DOkiO6OG9qc0Gin1
         L/PjZXvu8ufpConLXUO4CNcy+bf7O+KnvGQ7Wg5WfaB5ZixX5r6+QMrcjMcTgVJwfRDK
         pJlFfKOaUbVSW2geVJuv6EqN/xFk7DwwH8Pb8qoScQr6YpSWR6UHHNqHfOGIDyQBoWhM
         zRHtFPCd9oerAs8QwJJL6P+Lm/Ay/lX70A5drACv4h1vamm+0orxS87k+q/fr3/y1lgM
         pZJZl9e8C4lr7w9Vgpkw6UWdmGUy0sN6iN9hD7UNmwk+PiwthArjmsfen6be+SK+pY4y
         bgug==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759852712; x=1760457512;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=BmmoY/YkVFQNLzbMzImKLD2GRD8bP6czsMMGveScBE8=;
        b=sgGJFiVFVyy3dtOC4SYvpurWhsylm/Fts6YlJSVnrbj2Qg5uAc0p+6dHnZlXdMXFUQ
         VokNno3GfA0RzIszYuSh2w7aRXvlqCpkjCB80BbdNIfBwwenrytJMWze0aFxQQZbEu5g
         NSviTkMZXYaD5kX5iQ8VerTTorY2eCHuZi31uu4yN4RHGAJJqaTVLHsM4tODKNFA53pA
         pr0qTou1BH1XkFyh2bSby5WJM059MwOPHTUoKRn+R6fYj9lkGmEdx8z64vPZszc/wRCf
         5a093YMz0m2dZP02md/cTBNkdRNQJwpGCX9RYh+VHMHP+V4K83JGoYJ6gg2sX/OHz+xJ
         z+Bg==
X-Forwarded-Encrypted: i=1; AJvYcCWjyMKI6PRzCVaA7lt+ETq6YddtRTqX121oVYjpNPsWXh3EBdi+N0KTNtxrJCM3ALUJIV3fZASc90I=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyQ4yQ6QF4a8IP4a8yRCWRUWcz0ii7zurHdXNk7RNMKvHywXJrU
	n4+hU4IxVL9FY0O9LhgmXYUyza26MTzo8NxqwlGPSo3lVWhvubLJ6NjKTdNoRVknrw==
X-Gm-Gg: ASbGncvOmrCos6HMcBpTLMA9KBaSSLMwuf0FH9p4KCHV5Pk/R0RLA7Wo10t/kuWRaaW
	mOdoX+E9KRxThizpw0DIsbT4NBM1QDFRELoMW4dgJsRGqSvZchf5UlY7Rcr8zFUU0qQ5V1qCDO2
	MEWyWo2aBHDLV2c59OrXS6qYaWcS0xiyuGcFlCJlo8fGpx3LUIs9upx7DTCbDJntXs7G3MQhdRX
	fazw20Xpt5U6ivZ8ZKfp+IgsOspG5ndiPinD7Z1XXkUu46ohATpD/HRFrs5NK8g2JAWxasENlco
	CWwYJci6xZhcHaQYCQYSe8LZnp4wIEZVrKosAkV7rYDTYMd5bMi3nQx2hx9kil3quRdz8V8N8Gy
	j4heuv5oLMHmz3Hex/6qjYyplfP+hAeOgXbcnO14tLF3/NwhjWSeyaDl+k6PCBIRiNioF0cayG7
	SDPK0quY+jvK39TUmDCtD9LaFeNOfv5KI=
X-Google-Smtp-Source: AGHT+IEfKO5m0SS0FtnW6/2HjHJnWzRHq7ZjbMSOYu786RyM4sfkw2B/BMRbQTL0kh+PQkLrjQD3mA==
X-Received: by 2002:a17:907:c717:b0:b4c:629b:aa67 with SMTP id a640c23a62f3a-b4f43730a1dmr482237866b.32.1759852712244;
        Tue, 07 Oct 2025 08:58:32 -0700 (PDT)
Message-ID: <e314d193-79f2-4d77-a2ed-1590375b4b96@suse.com>
Date: Tue, 7 Oct 2025 17:58:39 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 07/22] x86/traps: Alter switch_stack_and_jump() for
 FRED mode
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
 <20251003225334.2123667-8-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251003225334.2123667-8-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 04.10.2025 00:53, Andrew Cooper wrote:
> FRED and IDT differ by a Supervisor Token on the base of the shstk.  This
> means that switch_stack_and_jump() needs to discard one extra word when FRED
> is active.
> 
> Fix a typo in the parameter name, which should be shstk_base.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> ---
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
> 
> Leave as $%c.  Otherwise it doesn't assemble correctly presented with $$24568
> to parse as an instruction immediate.

I don't follow. Where would the 2nd $ come from if you write ...

> --- a/xen/arch/x86/include/asm/current.h
> +++ b/xen/arch/x86/include/asm/current.h
> @@ -154,7 +154,9 @@ unsigned long get_stack_dump_bottom (unsigned long sp);
>      "rdsspd %[ssp];"                                            \
>      "cmp $1, %[ssp];"                                           \
>      "je .L_shstk_done.%=;" /* CET not active?  Skip. */         \
> -    "mov $%c[skstk_base], %[val];"                              \
> +    ALTERNATIVE("mov $%c[shstk_base], %[val];",                 \
> +                "mov $%c[shstk_base] + 8, %[val];",             \
> +                X86_FEATURE_XEN_FRED)                           \

    ALTERNATIVE("mov %[shstk_base], %[val];",                   \
                "mov %[shstk_base] + 8, %[val];",               \
                X86_FEATURE_XEN_FRED)                           \

Jan


From xen-devel-bounces@lists.xenproject.org Tue Oct 07 16:14:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Oct 2025 16:14:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1139124.1474664 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6AKP-0001fy-Rc; Tue, 07 Oct 2025 16:14:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1139124.1474664; Tue, 07 Oct 2025 16:14:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6AKP-0001fr-Ou; Tue, 07 Oct 2025 16:14:17 +0000
Received: by outflank-mailman (input) for mailman id 1139124;
 Tue, 07 Oct 2025 16:14:17 +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
 <SRS0=HvEU=4Q=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v6AKO-0001fl-VR
 for xen-devel@lists.xenproject.org; Tue, 07 Oct 2025 16:14:17 +0000
Received: from CH5PR02CU005.outbound.protection.outlook.com
 (mail-northcentralusazlp170120005.outbound.protection.outlook.com
 [2a01:111:f403:c105::5])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id aa6940f7-a398-11f0-9809-7dc792cee155;
 Tue, 07 Oct 2025 18:14:14 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by SN7PR03MB7257.namprd03.prod.outlook.com (2603:10b6:806:2ee::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.20; Tue, 7 Oct
 2025 16:14:07 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9182.017; Tue, 7 Oct 2025
 16:14:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aa6940f7-a398-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=a5KRmGnYMZ5SKONNgLqdQSvBPP+rwcDqmL3TvwBgqJ1oSuC7k91CD7khjN6aB6GLjQEGM9qW8Z3CHoekQqAm4ftjqVeYtQRSwv1kx0qyo4vgkO2DT+MUl7HwCCzcuhugncYT2W51DOPrf/C3SDJB0mLj7VCnlKNrEzAUsaEBD/2CPFyRckm14ZJI8qVhUCMT517BqJCcaIWd44yXtOh8nOPvFjwr4V5lyhnnNEYwavqGT11T+A/MqMe7zdPCJxVwvZBEJZXHtyZ7Mi6rfOT6p1w+jNWzSoaEyLNTrnpz/lcF2UMdCQ4H6zj4djWh1Zm4Wtyh11BuHOMrm4Aw+Y8xkQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WX6jHJjig7bG+1fuwVpsgGEGH/ZQ4lFhJQVkL5kj/Zw=;
 b=vOg/o1TE/hg+MFNj96+oqc47Qt7/2s1zMmYPxhih9yc6GlnJRj7TvldlLiWtqrv2+q5toAIOCF2gk/MFh3dx+TPMsE9BBWm13MLtwsTc5UVRs8kw3GLGg9vgOiwvrA4463LfWZ+nXCIsmIKrevAHp2DjgGuBpSXhfCKaZ4L2lwG9Zy22Je0i+SkSlCSRuLHJjUfy3y6o4vzWvmUVdmg3PD4Brcvx7mW9zYq9I0DbevLPjcvIM88SU7QGUfVfQhQDRpGgBucN8feT9aQ/4ebmxH5pv+Bq5UGJQEEKzakWMWpUaB/68YLFJsHxaxoD6U7uI52cyss+hI39sZ9WvCflSQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WX6jHJjig7bG+1fuwVpsgGEGH/ZQ4lFhJQVkL5kj/Zw=;
 b=cfvRaGytmX3I7/1uDF5tIMM8R8o/oY+as+XGk9a6lQbOmOAwC4tXFh5vHpN4xtNl+tdZHOlHNaKSK+AUPn/5WQSegsQrmqm2WMvK21ID3OTmBFKe0vULabftompSHabDKrYz++z+2bDVdaiwlksgqkVsXZM6Ml+LwRSf0bN6uY4=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: oleksii.kurochko@gmail.com,
	Roger Pau Monne <roger.pau@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH for-4.21] cirrus-ci: add json-c for libxl dependency
Date: Tue,  7 Oct 2025 18:13:33 +0200
Message-ID: <20251007161333.89190-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.51.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MA3P292CA0001.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:2c::7) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|SN7PR03MB7257:EE_
X-MS-Office365-Filtering-Correlation-Id: be02a7e0-c3f7-4dc7-35af-08de05bc8944
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?NUtQR2RiVitMV2d6cENjYTN4eGROWngwQTFlalRHUFVmajEvYVB4d0xqV3hC?=
 =?utf-8?B?QVdjL3hyb2lqRmFGNW1oVlg1bGpwSEhLL1YwSXU1OWZlaGVkejIzRkU5WlJQ?=
 =?utf-8?B?UkVFbTJpYkhITEhrR0Y5NkEzb0UwTGNrRGdlbi9XMzNXUjhVWm5iL29Cd3g0?=
 =?utf-8?B?ZFlqaSttS1ZEc0ZBNzJidmZiSklhV1gxZHY3djIxa3lIT2ExMVE2ZkErZEZI?=
 =?utf-8?B?WFAyZUZTb010RWpNenJNTWtOQ1Z6aVIxTEpoQm5EQWVpbHRFbkVtSXBiUjBl?=
 =?utf-8?B?S1hRV0MvZzVHWWxuUnIvMC9LSCtrS0lnMXJ3bkx4YVNpc0hNSVNDbzExQ0hr?=
 =?utf-8?B?VFgrT25oZWZEUCt3NFlTd0Rqc0hXbjlLMDJXa0J2V2VpZjhneWJsTnVMVm13?=
 =?utf-8?B?Y2RtZnJ2aEdScXljNlRmNmNnY2Mwd2NmdDZSMEFPdGIzU0pEcEVGQy9pdk5H?=
 =?utf-8?B?clJjVXcwK1Vvb2ZBVUhHbDZ2VzZObDQxOWJoeWdZSDBGN2g0ZTJpQ1k5NUFz?=
 =?utf-8?B?cm80amVxT0c4eWlFd3pBekZIMFlIZkRvUVJKdnZmVTdBODd1QVVNdXZwdXlX?=
 =?utf-8?B?SVI5N0R5U0NXcVFqRU9vYytRdHBXeWhVbGdWbG1rU3NQcitMYlNwSzErM1N5?=
 =?utf-8?B?UENLalJwYVpBQllDcUg2c2NPM1RBZlhOL0c1YWoxNTRBZnZseEtoNmNRRlR5?=
 =?utf-8?B?TkNHTDZvdDNGQkFTZ3FWQmM0SVBwSy9pSnJSS2NYRXJ5czc4dHh1cWNKeXZK?=
 =?utf-8?B?T1pKTUNUTHNJM1VuSnlxRHRBaWp6QS9EL0VCRklGSW1ZUjdOSjg0bUlpYTUx?=
 =?utf-8?B?L0x2SFE2QVo4Nmk0SGZ4aGNNaUE2VU1qS1U1TTZGVU50amNONmQ0czg5bFl2?=
 =?utf-8?B?QVlScGt1ZkdWTjd3YjIvMnpENHhXQTd5VUluMUNObm9lS1k5akJLWnA1Rzlo?=
 =?utf-8?B?ZWZ5WXBqOEtnWHJHNXJmUlNkekhPRnlNbW9ScTRMQXYrRkxhMWQ5QjZhV3hV?=
 =?utf-8?B?WE84a0o0R3FFRjJpTHZ6aHh4OUQ0Zy90NWsveDlIUjlWSERZM3VuVEJGemcr?=
 =?utf-8?B?bmMyanBPYWV5d2h0alY2VnN5cVZ1NlBoRWFJL1o4WFVjd0Z0Tkx1YWhJTWY2?=
 =?utf-8?B?OGtFWjB4elF4YUI0N0N5TUFtUkdQNnhiMG5jNVZLMEw2QzhvUkNla2E2d2Mx?=
 =?utf-8?B?cnI1VGJ6YzV5WXJYRDRlcnVHUW5ZcXNYT3FwMTdOVWdPSkozdGs3VTZEZGU0?=
 =?utf-8?B?MW9UVCtUVEx3ekE0MmdoMXB5Q3NpM1FoeHlDUlZ6NHluU3llRUtQM0QrZU91?=
 =?utf-8?B?TW5XQnZiVytMU2JISDdGRGdncVhLdGFtV2FJTmVDMjRFWjVLdVE4d203LzQ2?=
 =?utf-8?B?VjR4MXVRRHRxZmpRYjA1aHNJaC9lWFJKUC9JOHRDOGhXUTBQMVRKMmMyQlBx?=
 =?utf-8?B?Z3Y2dDhjTjdkZkZsOWd0TzNERUlRZkNoTitMZnNSTGMvRHNFcGsrOVVQcm5v?=
 =?utf-8?B?YUZQSlFzU2ZKTFhFcUJlWnllODBCOXRwcWZpNGxDRWVlaU9MVEsyNnNzaVRi?=
 =?utf-8?B?OEVSdU9TWVdKeEp0b0FaaVZlaFdTWmtWM3RpUEdKZGUyYVVQSHU0bTlPSVRB?=
 =?utf-8?B?akZiN0s5RTZmc3J1Ri9nOG1HYWxRQ3J0N1NObDJFOCsvN3ZaeGFmVG5ESkdl?=
 =?utf-8?B?eExlTVA4Y2R4UG4vOU5uQXUxamlwdXN6NjVQY3NrY1Y0WVA4SzlUVFhVVm11?=
 =?utf-8?B?RVVkdVU5MmZIZ2xEVWYvVkFwdmlLN010Yk9TaUFiWE1Mc0lWQjFaNUx3YjZ2?=
 =?utf-8?B?RkVoekhsUTM1bUQ3c3JWcTkzc29QeDY3V05rNU9pOWtlZWt0dGlPenNsZVlW?=
 =?utf-8?B?OThKcFNLcldLSWZyWGFoUXd1d2VrTjgyOUdEeFhTVDEvVmc9PQ==?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UWNqcFhDbzhuSzhMVG5TbU5xNmhKZDlQcGpkZUtBQy8wdDBRTWgzVFVnb2R4?=
 =?utf-8?B?MjBvM0FabTlmRmdIckhMTkFLUVVSeXBGRy9lMmZmaitFTnNhVkdnNVBkY1lw?=
 =?utf-8?B?dGFKa3JrQ0hibmZPcEpEd3pOaGFzOXlEd3piWjIyYnpjb1FpV0NiL01RN3RG?=
 =?utf-8?B?SmJGZ2l3dGlOVTA4NGNTR3VwM044a1lWejNac29LeXRKTkdGa09NdnpSVUd5?=
 =?utf-8?B?aHcvS2RMcGhvTExmbHVxc2hIeWkwbzNJR0t2RHBFbUhvbVI4elNrMEt4Y0lU?=
 =?utf-8?B?RGtxL1RrWWRMSjdTM01Rc2dhUUZEL1BmZURxdUtNYnZNMklIa0tkc1JEbU1n?=
 =?utf-8?B?WGVEcXhJdmk2SE5VS2kvbmlEM2hIR1hBR3hTRVNzRlhBamw0RGtabXpBcWs1?=
 =?utf-8?B?UXRtQnQ3ZGlVMkdTQk01ZnRha0d5M1I2bVRINHFPTlExVlJOWHRFYmhiWnJ6?=
 =?utf-8?B?NVhBMUZjWWxRWUNpTG9DL0RRNkM3dmVpRjU0OFhEakhBVTBYem1Qa3gvenpV?=
 =?utf-8?B?T0syUWdkcTZ5aFl3TXBwQmZrN3c1cWFiTTJ2U1FBVWUwblUyU3dQWkZ2OXJ4?=
 =?utf-8?B?ZnNwTll4UTVXNjMvMWwyVGN0RmFldVpFMmhRQUNXMG1Qb2JRRG9LcThvM3Vy?=
 =?utf-8?B?eVZraWlVeElMRWpoU0l1UFJibzN1NW1wTWNZWDgvcUx4TUtUa2ZuaTVGSEM5?=
 =?utf-8?B?aDhBb20rVUd2YjVwRVZCNUVmK1ErY0d2L3AwRlJweVFHWEhQSHZEZVVHYkky?=
 =?utf-8?B?WEZmVnkzcjhuWGVBay9oWjliN3B1RlZVeDhOZjBOelh3ekRHWXBvczJqSWlH?=
 =?utf-8?B?Tnl5ZldGT1JuZmpuN3J6S3Z4akUzOEROS3B4MUVQQUcrMStVYWZLTlBwMUNZ?=
 =?utf-8?B?V3ZsS21OR252aHVXQWR1V3VqUllqdnp3OEZLbWtXYUh1RiszMzlTb29JZXJk?=
 =?utf-8?B?SFJNcG05Y0V6Y2hqKzVhSldhMUVqR1JKQUs0UlRxdTdMVjhUemRPOHNUR2tI?=
 =?utf-8?B?STA0WW8wVTRQU3M1aXp1U1dPdm54N1l2ZHJUcU56K3FRQnZIM3RKNVk5MVRo?=
 =?utf-8?B?M1owaXVBeUM2Q2RTNHRhVWRCenAyalBTbEFzQWkzVVoxVkxQU0I2Zk14RDVk?=
 =?utf-8?B?VjhQMVpwWGRsamFkSDNkMk9yNkl2TkdWc3I2czU1MVA2b1J0R21iTjJaeE1w?=
 =?utf-8?B?V05GRXROSUFSZEtyd0p1RWd5N2N6SWZXRktpSUxXV3p4RjNxNm1NTFBjRzVo?=
 =?utf-8?B?cVAvbkU2dU9wTG9xRFJNVmk5Z01CazRxQzN5blBwZks5UU9BMU9RYzRaZURq?=
 =?utf-8?B?YURHbkh3b1E4THc5UVdiOVVnZ1h6Ui9HbXMvM1VlZEZhYU5iM045V2Vmc1Rt?=
 =?utf-8?B?dVQySW1URlo4TEdoUXhDbFpnOEw5dGVIdnh6UEpockNJbkRqTGIya09FTUFm?=
 =?utf-8?B?eE5TQ014TDJmSXRWRlFiTGZmQUNXQXpOVFF4WkI0T3ZVTzZzNkFWR21XQmlR?=
 =?utf-8?B?YXBUalZoTFo3V2o4b0QrOXFiZG5nNWRUYS9FSVRPWUREWDdVaUJxSTl3cUJk?=
 =?utf-8?B?cVREYWtWVWN6ZVM1V3FFNG5nSm5KVHFHM0ZQVzF2TnJTalJ6MjVTaExtV2JS?=
 =?utf-8?B?c2FwUTBSZDVwL2laeVZCZTBXb2ttNHYxTGIyOXhxTlNDYnQ3Q2I5cFh0eGxE?=
 =?utf-8?B?ZExwVUVHVUdBSGxiR2hTeDZNZUdYNWpTRExUeUVCN09SMTE1aE1iL2t1NjdX?=
 =?utf-8?B?aEZyNkpOVzJpdGpLcUYxOGRIQ0wvVnhKclJEWm5wV2phdXFvbGxGVGxNaHJ1?=
 =?utf-8?B?K2NjY3o3N2F1ZHI0alBRSXNnRmlpd1I0Skh1Sm5NVjRQSEFIZmw1V2xQbXBx?=
 =?utf-8?B?MjFCeldwbndtbE9RTFFKWDlCSjJ3djZjbTAvdW1EejVma1lFai80aFdUUTRU?=
 =?utf-8?B?QkxjTmpTQjdxVFdTZXlqS3RyODVvbUcrNGVuYkl3YVdsYnFVU2NTanFwSlJF?=
 =?utf-8?B?YmRqSzUybjhYc1pxblpvRmZseU90S3FMSENwN3psNkhHNExhaFM2b2pEYUhp?=
 =?utf-8?B?OC8vcEt6dmNPaUoyVUhXZEQyc1BMdWVpYW1kRmR5aFZwMFhhdy9XY1laOWNl?=
 =?utf-8?Q?Zuw6ZMYH4mcV6p0ACIOT/CXdX?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: be02a7e0-c3f7-4dc7-35af-08de05bc8944
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Oct 2025 16:14:06.9834
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 349OABWLCw+Xx9rgYZZ8fNgNu40rJokSuMOgjJa2sTROP5Y26kMk8jmEtaXqlaOOB+cHN3N7uKrimmPF14/j+w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR03MB7257

Add json-c package for libxl usage.  At the same time drop YAJL.

Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
---
Would be nice to have for 4.21, so that we test with json-c instead of
YAJL.  I plan to switch the FreeBSD Xen port use json-c for 4.21.

All seems fine:

https://cirrus-ci.com/build/5366905441091584
---
 .cirrus.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.cirrus.yml b/.cirrus.yml
index 7df7ff552222..0de1012d8c60 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -50,7 +50,7 @@ task:
 
   install_script: pkg install -y seabios gmake ninja bash
                                  pkgconf bison perl5
-                                 yajl lzo2 pixman argp-standalone
+                                 json-c lzo2 pixman argp-standalone
                                  libxml2 glib git python3 libinotify
 
   configure_script:
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Tue Oct 07 17:07:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Oct 2025 17:07:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1139139.1474674 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6B9F-0008W3-K4; Tue, 07 Oct 2025 17:06:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1139139.1474674; Tue, 07 Oct 2025 17:06:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6B9F-0008Vw-HE; Tue, 07 Oct 2025 17:06:49 +0000
Received: by outflank-mailman (input) for mailman id 1139139;
 Tue, 07 Oct 2025 17:06:48 +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
 <SRS0=sa46=4Q=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v6B9E-0008Vq-Eq
 for xen-devel@lists.xenproject.org; Tue, 07 Oct 2025 17:06:48 +0000
Received: from mail-wr1-x442.google.com (mail-wr1-x442.google.com
 [2a00:1450:4864:20::442])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 01ee398b-a3a0-11f0-9d15-b5c5bf9af7f9;
 Tue, 07 Oct 2025 19:06:47 +0200 (CEST)
Received: by mail-wr1-x442.google.com with SMTP id
 ffacd0b85a97d-3f99ac9acc4so1177298f8f.3
 for <xen-devel@lists.xenproject.org>; Tue, 07 Oct 2025 10:06:47 -0700 (PDT)
Received: from [192.168.1.183] (host-92-22-57-86.as13285.net. [92.22.57.86])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4255d8efffasm26232491f8f.41.2025.10.07.10.06.45
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Oct 2025 10:06:46 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 01ee398b-a3a0-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1759856807; x=1760461607; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=jIVKaaOIkETWhsVZWFFuO59apGFrLg40zIPBjcm/ljE=;
        b=iQ5Z62Hm5hfbQjWgecJSgUJrJyTCMAJL5vLvKC/MYa9D4Mxr8CwIQFqjUa4NFFo4Gb
         dRWuSJWrsiBlBZklEzserG2zFGDPpqH0s4uVd1L3Wq+WfvhpZVaz9WqLW3AZvsZN3uPg
         m59RUkzkPZB2TJz1C9gQpygkA46vThOn18u/4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759856807; x=1760461607;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=jIVKaaOIkETWhsVZWFFuO59apGFrLg40zIPBjcm/ljE=;
        b=tOfF9Zc8+1CzqVwY+ZmooJi2bGcrFkhEfUt62wDEq5UIXDHarRtPUMVrsp64x8Rpa5
         EdLO5RgXbo4o94wiGi5n/Asb3bh9qfwIFnWWb8FgsgPqsmHMc4RJfiXZ8fRxuyPJvhEO
         Tk8JvPbAy1I9sjumXCNISgAo3ptXf4GWcGZ3GvP3GifrDQ2N9QpvesOZftwn2SXC5q4c
         LXxc3CfB5VdWaHRpOrzyHoqdkzAg45R5RpGp+f/1SOtkbU/6ko6CYVfHK5ECPhbfHzhd
         Qaj4yKVpDKQlm2j/AznI05zjtTiGTvSwpyJGQZvsH04aGrUgfwkNKVuQBTV1AT70NXMS
         c4ag==
X-Forwarded-Encrypted: i=1; AJvYcCWx8MRijDhwcMIo+dI0iLWa85gz//n0DO8ysemMqyDbv/EGXfrbPQjpZK4yVlF5aKJF/SeJNxem524=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy/xOlmK+R24F4U/LQL/K+sM8iQMEPjLwXkrYLlOGcrFMmT9iAy
	KilTI/Z4kn633nyKWnj355lWUa+wZ34przO6/NZP3pbQYgRGKQ4V+sDaphZ8u5hngaQ=
X-Gm-Gg: ASbGnctIKQSFc2cj/ImvAYuM/r5u1f0LiQaAZEs9AxqaYfL/nWa9FfSPxlIjaFnmeDy
	SN3j2Gyiju86BAkNhWIIcGsoawbB2EOGr9FDECt1otcAIAP8+AS6FYK/NBsIEQS/YA/VbTPF80y
	cwb/94vx3AN5qQdo68ebFIVObkchrP7PFQJP4TZs6aWAttA47r203XoW3ZS8P9/lI4dW8L2pYZH
	rtfRtkHY0xFkNazjzyb86iSZI+mWQAlwsT0bcguCJKUcJBNFrJ2YEU18uoO0JN2iWnb93NHhH55
	3HJqPSwRvEKn3wnqysqUuf3xH5e15ltjrSxWQwuQWDqK6zdaTu41CO7BJ3ehnQyip91V9DDaPqw
	hjCW7kxRvjE+c1aBaxIUW3XthcsS9JruQqbJMkJaWrG1cFJtk/XgFgd2CtvzNJy7msbMoCPy/ls
	XEmomzuNjjHKHu/jinaoY+BXY=
X-Google-Smtp-Source: AGHT+IHAVhgy8qwVxnmKKQakOnSpsu9+LWtGmEEWvfkpMd1GWPvJeLC1TFrAVNVg4WVailn0SarxcA==
X-Received: by 2002:a05:6000:2283:b0:3ff:17ac:a34b with SMTP id ffacd0b85a97d-4266e8db451mr32514f8f.42.1759856806560;
        Tue, 07 Oct 2025 10:06:46 -0700 (PDT)
Message-ID: <5f2e6f4e-cbc9-4705-8817-366790717164@citrix.com>
Date: Tue, 7 Oct 2025 18:06:45 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21] cirrus-ci: add json-c for libxl dependency
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: oleksii.kurochko@gmail.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <20251007161333.89190-1-roger.pau@citrix.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20251007161333.89190-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 07/10/2025 5:13 pm, Roger Pau Monne wrote:
> Add json-c package for libxl usage.  At the same time drop YAJL.
>
> Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
> ---
> Would be nice to have for 4.21, so that we test with json-c instead of
> YAJL.  I plan to switch the FreeBSD Xen port use json-c for 4.21.
>
> All seems fine:
>
> https://cirrus-ci.com/build/5366905441091584
> ---
>  .cirrus.yml | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/.cirrus.yml b/.cirrus.yml
> index 7df7ff552222..0de1012d8c60 100644
> --- a/.cirrus.yml
> +++ b/.cirrus.yml
> @@ -50,7 +50,7 @@ task:
>  
>    install_script: pkg install -y seabios gmake ninja bash
>                                   pkgconf bison perl5
> -                                 yajl lzo2 pixman argp-standalone
> +                                 json-c lzo2 pixman argp-standalone
>                                   libxml2 glib git python3 libinotify
>  
>    configure_script:


Comparing before and after, we've got:

- yajl: 2.1.0

- Number of packages to be installed: 27
+ Number of packages to be installed: 26

So, json-c seems to be in the base image, but even that points to it
being a more popular library and the right way for Xen to be moving.

Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>


From xen-devel-bounces@lists.xenproject.org Tue Oct 07 19:39:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Oct 2025 19:39:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1139185.1474686 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6DWJ-0000k9-QP; Tue, 07 Oct 2025 19:38:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1139185.1474686; Tue, 07 Oct 2025 19:38:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6DWJ-0000k2-Nk; Tue, 07 Oct 2025 19:38:47 +0000
Received: by outflank-mailman (input) for mailman id 1139185;
 Tue, 07 Oct 2025 19:38:46 +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
 <SRS0=JAy5=4Q=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1v6DWH-0000jw-Vi
 for xen-devel@lists.xenproject.org; Tue, 07 Oct 2025 19:38:46 +0000
Received: from CY3PR05CU001.outbound.protection.outlook.com
 (mail-westcentralusazlp170130007.outbound.protection.outlook.com
 [2a01:111:f403:c112::7])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3b59672a-a3b5-11f0-9d15-b5c5bf9af7f9;
 Tue, 07 Oct 2025 21:38:44 +0200 (CEST)
Received: from BYAPR01CA0054.prod.exchangelabs.com (2603:10b6:a03:94::31) by
 LV8PR12MB9262.namprd12.prod.outlook.com (2603:10b6:408:1e7::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.20; Tue, 7 Oct
 2025 19:38:38 +0000
Received: from CO1PEPF000042AD.namprd03.prod.outlook.com
 (2603:10b6:a03:94:cafe::d3) by BYAPR01CA0054.outlook.office365.com
 (2603:10b6:a03:94::31) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9182.20 via Frontend Transport; Tue,
 7 Oct 2025 19:37:56 +0000
Received: from satlexmb08.amd.com (165.204.84.17) by
 CO1PEPF000042AD.mail.protection.outlook.com (10.167.243.42) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9203.9 via Frontend Transport; Tue, 7 Oct 2025 19:38:37 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.2.2562.17; Tue, 7 Oct
 2025 12:38:36 -0700
Received: from satlexmb08.amd.com (10.181.42.217) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 7 Oct
 2025 14:38:35 -0500
Received: from [192.168.178.136] (10.180.168.240) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.17 via Frontend
 Transport; Tue, 7 Oct 2025 12:38:35 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3b59672a-a3b5-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=V/8Gq1h9dAecgf7HbCVwhRWGUtE6cwSxRFhruk7Qb+FbHYtnlcnivg3ao7uHSwvLeIyc+vOR/2SsGX9i2Ewm3Hk4HE9110YAb6oW/guHgSfcxJiAaJxHx9sAx+1Kgq2yos1UlYjDW8///Tefo3VP5XOu8m3xRC0SaMtwZahD2gPZ/Pnhj1IHa8kyPo25P/PaIfO6fmzOn4plNkw0QNh4lKM00hBUA62ZkT4XbxIWH0fVmrpJJhorcNNUOOu1YS/Mgo1nPx5qfOeyy4JYSI0O59i1UyzeLHmm84KkqXjHz3qTzpnzfCOj4xUw7ygGiKLFHAdOSrwGf5lKdF1/u3ZcbQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pjGkiM4NQhhkGV0pfxkfc085tHkjLE2xfA+8syp0u7E=;
 b=ZaC/MmOz0JCkBcML2BrGGYsa0LKCI4znM7V55vOOB0Q+weI66iXf8dfBrNrmSwxn1bsgiZoGe9Z3l+Qy+UmGaR3WXEdMLWd8ZOawzlFxHGFzeyGDuUErTKHKJOvAfTQOaMKiuUBKMMoqzWjRHCaaaKipz1d/2f4mRIBXk/kAxG3pnEzE5CzdB//K8A+q0j5WlJ5Iw4ccbiIg6uH4Ety54yLYFGLEDgyEUwSObzGdm286qbmlKqNCsoApEYgMLR/SAUeAoQEzD2aBPvlFUBLgRyHxzdVE71gvQ9m7dB0xbOJXTV35tY4uHLxZNkZj+tP2pRv80HAlIFyr3mN8XhAtPw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pjGkiM4NQhhkGV0pfxkfc085tHkjLE2xfA+8syp0u7E=;
 b=qhwhSKnSZpU5eGLkJvcbWi7FkQO4Ttu8jL6xrpaaEgMz+035Ahcp9y0QYsT8TzE+I4m9NhXj2T8H9dMDKAydOahqzCmYg80fn+Um3lZVmqH3u9xpT56HtP02ZnfcWYHQAqMcQ4eF+WPaEm1bRul2tQ3pCi1QHQWCKKt1+qroIVY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C
Message-ID: <057c91eb-c6c3-4e00-bf2f-6611181ebfd7@amd.com>
Date: Tue, 7 Oct 2025 15:38:32 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] x86: guard synthetic feature and bug enumerators
To: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <8ecbf8b7-91fe-4f9e-9542-7ec22b6a47bb@suse.com>
 <48dcc0e0-2772-49b9-9383-5bf69f922053@suse.com>
 <1439ec29-4319-43d0-b4ff-0eb5bfe9405b@amd.com>
 <c9d04edf-4801-46c7-ae6d-8479ef985972@suse.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <c9d04edf-4801-46c7-ae6d-8479ef985972@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB04.amd.com: jason.andryuk@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000042AD:EE_|LV8PR12MB9262:EE_
X-MS-Office365-Filtering-Correlation-Id: 0354197d-ea10-4f9e-6862-08de05d91ca6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|1800799024|36860700013|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?QlZOdkhqcnRDTCtxMXU5UDFhbG5MallBWFlqQ0JHdDY0aFBnM2kyd0hueUI5?=
 =?utf-8?B?K1RObUcvTnBYWFJvU0FNYzgvQ01hVldIUnFiRmwrUjhhRkxCYWdQZldtSGdZ?=
 =?utf-8?B?THUxMmc3UjN2bFlURUZqdTljYmE4VW1TTElieXU5cFFqd2NIQS9odHo2YXhJ?=
 =?utf-8?B?WkhpTE0rYlBjaDlHRW1tNzhQQ2ZDV2g4MkpwbFBDd05nQWMra3hadkNnSDhK?=
 =?utf-8?B?SG9TNWd1QzVYOWxMK2JuZVNjOHhMOGs3WWJRSjZJUmx1SXNXQkhwM2V5MENq?=
 =?utf-8?B?REVFMlZYMWVDZ0pEQTdqUk01bzAwTm5TOENlRDc2a3RoNUw3enZEekdiTEdy?=
 =?utf-8?B?RU9tT2dSaGdkTjdrUjJnSzBLQi9DNnJ3U2JKSWZYak1mclUyeVNiTGl1UTZq?=
 =?utf-8?B?QWV0dHRYN2tQaFl1U0hNeFdTdnRveWgvQ3FtWlgybHJKT09PWWxvNE9NVVRp?=
 =?utf-8?B?TFFuSkRJTjBnTlErc1htcTNoTjU0OUVIZVlkZ3RpNU5SY0EvNlRWa0dodlZY?=
 =?utf-8?B?VVM5TVJuNmhqNTZrNWg4N1htVTRDZUpia2cyU1pvSkl2aW1MWXYrNWFnc2Fj?=
 =?utf-8?B?YS9EYkxieE14RGxxeGtzUkhYY01TUWczSUdkMEpocnhKd3FrK0wxdDd4aWFa?=
 =?utf-8?B?d3RieGtTRkJGUktGRkp5T3NJaXNud2RKS1YrYko2UDZZZzd1WVVvN0hXMmxR?=
 =?utf-8?B?cGxKTjVkTk9ia2tQM3l3dFRvTGMwaWw4VmxoUWVWY1N0bkJCb3JLeUNaM3p5?=
 =?utf-8?B?VE0zdlRwNzlRQjBOTzlzcmhhSUxYM2JPUUxmbE0vbE1uS2pDZGRialhTNUZa?=
 =?utf-8?B?WG1sRTdzcVdaaGtPVG1UTFpSWGk2eXpiWFIyT1BnU0EzRS9MRTUrUE9BZHAw?=
 =?utf-8?B?bG9lOEdRc1ZvRkF3cWVtZ0VoM0o4TVVjdCs0ekFxWVlDV04yQnh1bndwVHR5?=
 =?utf-8?B?QUZCTE5WQzJZbUFNR21TVVhUYnRIbS9kM2ZSdFV5TU1oRGtwUXJ0VUtic1BQ?=
 =?utf-8?B?VnljNWdrLyt4dFpTVER3dUYzRTJabzRlN2RNNWVnL0Q5a3orTEN2aWFwZ0R6?=
 =?utf-8?B?aTBqdS9YY3JSSnVpMUdTR0h0Z3o2d3hhR2pCdFhKK01yNjlOQURGb0tRNWZ1?=
 =?utf-8?B?Y1gzTUxmbHpXNGFzZE5zZ21ld0pHeDJTZUtoamJMZWtlSmlHMzF2ZzBycENB?=
 =?utf-8?B?WTd2M2haR2NucWcrN2hZVjUwZ1Z0dW9UTkRlSFJYMW9hUkpFR0dpL2d4ZEdr?=
 =?utf-8?B?UHVkeFlCSG1pOWVscWdmNGQ5UGNnNTNheW5hUzJCSUk1VkloU2xYWWtqNmdr?=
 =?utf-8?B?Q1lrcnlmakRDb3ZxTHJCTEJLTkUvQ3p2Z0hzNGpDMjZLS1hwV284K2diK3V0?=
 =?utf-8?B?NTMrKzgxYjFyWkNFeEN4MGdqdDlRZWRaQ1VjLzB2QjRFTGJLVkNTcVFCRWEx?=
 =?utf-8?B?L3kyenN0VXlmeEo3NzZIc2E4RzlkbUNVdmJzbTc3dldoc3ljWVU5bzNXRE9N?=
 =?utf-8?B?ZU1nTVBLY1dIa0E2MUtLZk5EZ0JwRHVRUU44OHUxWVp4SVdsaStYZHg4bC83?=
 =?utf-8?B?NDd0RVROWkN3eHB6K1FzcjZ2V3BncytQd1FKemN5VXhyYURiMlBpVklIZDBV?=
 =?utf-8?B?NXc5R2c3WjJrR1NaV2NLTGRaWm9YN085blhGUmcwNDZxWHdvditXTnZYa2tN?=
 =?utf-8?B?ME9VcFJlSmFXaXVjcWw5aEc3ZHFkSThObWxnY3IvTERzVjlEMG5OKzYxQ0ll?=
 =?utf-8?B?K21sY0tKL0txTlBuR0dyd3Z3ODFIS3AwQ3FkbEgyRGFVeS9DQVNiY3duQkRP?=
 =?utf-8?B?b1oxeUcyNldKdlo3S2o3M3lYZzBEUG5OanVVemc0UUduRkEwd241VHRMVHUr?=
 =?utf-8?B?QW00TG9VeFdHejIxVWQ1Ymh2bEZLMmtWaTNxRzRCYlZQUTVVZlRpdkVWWmJr?=
 =?utf-8?B?bzBvL2ZYVE1aVU9LUGtjYUJaNW9nSGV1Q3FwUDdTN0JIS2VEb3k0eEZBazFQ?=
 =?utf-8?B?dnZ5Ky8wRHR4RFdtSnErR0Jzdkhta1ZUY1NJUDhnRXp0c0dtbHRLWTl2bEtU?=
 =?utf-8?B?cVppanhYaVU1NlNzYUR6a3hlZ0g2eUJpcjJ2R2NLakJ5dy9seXhJbVVKekhF?=
 =?utf-8?Q?URtA=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(36860700013)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Oct 2025 19:38:37.8556
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0354197d-ea10-4f9e-6862-08de05d91ca6
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1PEPF000042AD.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR12MB9262

On 2025-10-07 08:22, Jan Beulich wrote:
> On 30.09.2025 01:36, Jason Andryuk wrote:
>> On 2025-09-25 06:48, Jan Beulich wrote:
>>> --- a/xen/arch/x86/include/asm/spec_ctrl.h
>>> +++ b/xen/arch/x86/include/asm/spec_ctrl.h
>>> @@ -73,7 +73,7 @@ static always_inline void spec_ctrl_new_
>>>    
>>>        /* (ab)use alternative_input() to specify clobbers. */
>>>        alternative_input("", "DO_OVERWRITE_RSB xu=%=", X86_BUG_IBPB_NO_RET,
>>> -                      : "rax", "rcx");
>>> +                      "i" (0) : "rax", "rcx");
>>
>> "i" (0) is to work around the trailing comma in alternative_input() and
>> does nothing?
> 
> Yes. If more such "uses" appeared, we may want to introduce some kind of
> abstraction.

Thanks for confirming.

Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>

Though I also wondered if just #define X86_BUG_MAX/X86_SYNTH_MAX 
combined with a BUILD_BUG_ON might be good enough.  Your approach avoids 
the extra define but is more complicated.  Anyway, just a thought.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Tue Oct 07 20:40:02 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Oct 2025 20:40:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1139210.1474697 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6ETN-0007qv-5n; Tue, 07 Oct 2025 20:39:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1139210.1474697; Tue, 07 Oct 2025 20:39:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6ETN-0007qo-28; Tue, 07 Oct 2025 20:39:49 +0000
Received: by outflank-mailman (input) for mailman id 1139210;
 Tue, 07 Oct 2025 20:39:47 +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
 <SRS0=sa46=4Q=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v6ETL-0007qi-Rf
 for xen-devel@lists.xenproject.org; Tue, 07 Oct 2025 20:39:47 +0000
Received: from mail-wr1-x441.google.com (mail-wr1-x441.google.com
 [2a00:1450:4864:20::441])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id be19c0eb-a3bd-11f0-9809-7dc792cee155;
 Tue, 07 Oct 2025 22:39:38 +0200 (CEST)
Received: by mail-wr1-x441.google.com with SMTP id
 ffacd0b85a97d-3f0134ccc0cso4115172f8f.1
 for <xen-devel@lists.xenproject.org>; Tue, 07 Oct 2025 13:39:42 -0700 (PDT)
Received: from [192.168.1.183] (host-92-22-57-86.as13285.net. [92.22.57.86])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4255d8e9890sm27097369f8f.32.2025.10.07.13.39.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Oct 2025 13:39:40 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: be19c0eb-a3bd-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1759869582; x=1760474382; 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=/Huud3GPU2Wq8yzT/1e86lVba3MT7dsG5Da+CGdWMiE=;
        b=tYs14obOaeKKgO7Ce/6c2HXrKCyXc/Jrhd8adjocZDpfwnASPfAL5qdd42jDgNonbV
         suCbindR+eMxgCwP2FVEQgAPEw91p2MHAovrA7+rP0AelBfTxtUWcAeCHfvpVMCCby3/
         qO2t56i2mcN66r6dLWSd7S5hiuFbo/d7FawQo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759869582; x=1760474382;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=/Huud3GPU2Wq8yzT/1e86lVba3MT7dsG5Da+CGdWMiE=;
        b=mi7sSHRXtdj60NS7fyxu8024AvB1C1yAIfTGErP6svMTmYmh64+JGMmdXvlnJAKkvC
         gMG3YJQgrQzi2j0gtBDHLc8L95vad4cInGZFSxE/5G6e8WzbQpiGzAinpofWNlGb9Skz
         MKvJBSihSLUSwz+QqGuMASFzAZBG3369HcRHOYYsWRfZiihxsZgV5MMr2Ddpd1StNyVA
         MW0J16POGZLwrh64GlRHnDrTHKCabqS3aCCYGSozncm13rYpAUsIuZCVuLdIRD0kC6ui
         KTDM+IXQehyx3Yf3zIFxVuDNPT0kwfSlEgjDPnEiPNn4dT64RWc7u7KNGAMfXk70vzrQ
         ntGg==
X-Forwarded-Encrypted: i=1; AJvYcCXnKoKcP5NRD1P0s5Xku0UzaDG8DmbJz8zPPcvoWjkfG4V8AwY6DyP+8XVmcUqjYSTdHjyKlpRuIhw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzG56Zeqo864SePeKRZTYw9BGTdX2/T7PnO6XgrIzg8REiexbZ0
	RcgaWr1xxHyFnArQ3cOQ+IlKiEC+68/paCYicJPhpFsHspNRIH0oaXPB8pQhSMXFCfo=
X-Gm-Gg: ASbGnct5DXL9bXg1EMljAZ09UOJmuuUZdzqX3FuS6xKtW41SqpXiOu9aPjVu/XPvDKL
	D/MO/QBXdu374q2Q6/7lt2aOMk4Sb+omam9KvUX9EqLjOuWmV8LHhBBcwB9zQQIOGrieKQYuyqa
	I1Zz4CKhW4n+lxYJZVSB2p75DGFtt/ooJ5GJmpU+SMkW05JphoSUn6D+6NQDnmpW3TqKNixQaWI
	xF+bqCeFFLkOZ0thzRk6DphYxPA8eFo0bR6EaTG8IDQTKGp5XhmSsBpUyNL8djl5zHOt3Q6zYg7
	ubn50dt0seZ5i+kL6l18U6XEyG22eSVhmI59+bS7GLwz6siclNGtNZig4KU7ET+vLOkBMhHcDJE
	KzYS7I7K/QMc+rrgRRGi1lLMEc5QGgr+XP/wn0lzXN80cxK72a+FaqUBk0NvPgzgUi4p/2E61cB
	UdfuiqN00wblSO
X-Google-Smtp-Source: AGHT+IGutE7iomicuyKlMB+6CHz0qFuQ62pNYbkoD0y0SIhjP9jhe6W7n+5wVy7GYIhRNoAZKqO6wg==
X-Received: by 2002:a05:6000:2303:b0:425:7e40:1e02 with SMTP id ffacd0b85a97d-42666ac376dmr357967f8f.7.1759869581847;
        Tue, 07 Oct 2025 13:39:41 -0700 (PDT)
Message-ID: <dc2d0647-24b1-47f5-a249-1bfed0a05e3c@citrix.com>
Date: Tue, 7 Oct 2025 21:39:39 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Fork or replace dependency yajl?
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: =?UTF-8?Q?Christoph_Gr=C3=BCninger?= <foss@grueninger.de>,
 xen-devel@lists.xenproject.org
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Juergen Gross <jgross@suse.com>
References: <d49ad645-35dd-4bd2-b166-d1803b2d95ba@grueninger.de>
 <25afca10-18e7-445c-b914-98d767016d70@citrix.com>
 <5bef1a60-e608-4f9f-b658-a702e2306ebd@citrix.com>
Content-Language: en-GB
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <5bef1a60-e608-4f9f-b658-a702e2306ebd@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 08/08/2025 4:16 pm, Andrew Cooper wrote:
> On 03/08/2025 2:36 pm, Andrew Cooper wrote:
>> On 03/08/2025 9:52 am, Christoph GrÃ¼ninger wrote:
>>> Dear Xen developers,
>>>
>>> you are using the dependency yajl (yet another json library, [1]) to
>>> parse JSON files. The project seems abandoned with the last commit 10
>>> years ago, the last release over 11 years ago, and 75 open pull
>>> requests. Packaging yajl requires patches, e.g., to make it compatible
>>> with CMake 4.0.
>>> There are some forks but none has replaced the old one yet [2].
>>>
>>> I think there are three paths forward:
>>> 1. Xen could pick a prominent fork and use it as its main dependency.
>>> 2. Xen could create a fork of its own, hopefully attracting more
>>> people interested in an maintained successor of yajl.
>>> 3. Switch to a different JSON parser library that remained healthy.
>>>
>>> Sure, you could stick to option 4., do nothing an offload the burden
>>> to fix yajl to distribution packagers.
>>>
>>> Xen is an important project and its decision can create momentum that
>>> might lead other projects.
>>>
>>> [1] https://github.com/lloyd/yajl
>>> [2] https://github.com/lloyd/yajl/issues/252
>> CCing the libxl maintainers.
> To follow up here, please try
> https://lore.kernel.org/xen-devel/20250808145602.41716-1-anthony@xenproject.org/T/#u
> which should make libxl use json-c by preference.

Xen 4.21.0-rc1 was released today.Â  yajl is no longer a hard
dependency.Â  Xen will prefer json-c to yajl, if ./configure can find it.

Please test and feed back any issues you find.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Oct 07 23:50:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Oct 2025 23:50:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1139247.1474707 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6HRI-0003wU-96; Tue, 07 Oct 2025 23:49:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1139247.1474707; Tue, 07 Oct 2025 23:49:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6HRI-0003wN-63; Tue, 07 Oct 2025 23:49:52 +0000
Received: by outflank-mailman (input) for mailman id 1139247;
 Tue, 07 Oct 2025 23:49:50 +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
 <SRS0=JAy5=4Q=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1v6HRG-0003wG-Lq
 for xen-devel@lists.xenproject.org; Tue, 07 Oct 2025 23:49:50 +0000
Received: from CH5PR02CU005.outbound.protection.outlook.com
 (mail-northcentralusazlp170120005.outbound.protection.outlook.com
 [2a01:111:f403:c105::5])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4d441f42-a3d8-11f0-9809-7dc792cee155;
 Wed, 08 Oct 2025 01:49:45 +0200 (CEST)
Received: from BL1PR13CA0153.namprd13.prod.outlook.com (2603:10b6:208:2bd::8)
 by IA1PR12MB7736.namprd12.prod.outlook.com (2603:10b6:208:420::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.20; Tue, 7 Oct
 2025 23:49:40 +0000
Received: from BL02EPF00021F69.namprd02.prod.outlook.com
 (2603:10b6:208:2bd:cafe::28) by BL1PR13CA0153.outlook.office365.com
 (2603:10b6:208:2bd::8) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9203.9 via Frontend Transport; Tue, 7
 Oct 2025 23:49:40 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 BL02EPF00021F69.mail.protection.outlook.com (10.167.249.5) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9203.9 via Frontend Transport; Tue, 7 Oct 2025 23:49:39 +0000
Received: from Satlexmb09.amd.com (10.181.42.218) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Tue, 7 Oct
 2025 16:49:39 -0700
Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb09.amd.com
 (10.181.42.218) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Tue, 7 Oct
 2025 16:49:39 -0700
Received: from [172.28.217.164] (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.17 via Frontend
 Transport; Tue, 7 Oct 2025 16:49:38 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4d441f42-a3d8-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=mIlhuCIR1mko6ZBYbhp26yC4C9/9PXiwOaOs7S5pqHQaJ1b7EIWYp8VT1dfdPzp4X/CQ1sW2riv77zAmgScKGsL9ZDo1DCBO2FXntd2fSM/CsKGIZVquWfnKi8iApbhsyUiScsqPA8HOEESGBJs7I21HNc0bzIho83GPM9UleDe/gEvt2tqEBZmJHq1hXny385Rtv3EasW6B+PBA6Daow0vPOW2Tab5X6A8STriJn5pgvjp3qXGNBGzEagDJ2JiSnhQuswj4QV3Jx8F0f7XjjYwzvmk7BnLY0xVw4v+Ujc8Ga5PYbngefRFrswdhBBTDHG5m0UEWBMQ0Fll5k5LpVA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+9r1TmJ7JSW+PlCx3E+d0bVlybTUlJOq1XznLTOTB6s=;
 b=vX2YoFSmMdSNHPe6viCIScPddcnowtDCioaRtwcE3gWTCsCsjtvExnaXO95Z9jPVweuw3j9msmYsxX6H+Trk+h9OMDcq4OlnT4s7ivKBJS2IF6+Xuhf5GgwiTSKnLyf6fJMm2x8Gin2aLenRbhlij9WDQsPnV5DMW1v1IEGPQXTQMc3rk2AfnexVA4NLJ9ETRebbFa13zKnPLu+IcRwVhiUyJV7yy2yQEHr7wFg9eGsKpMueDoTEGY63VllqUZPjloipovYMSkVRx52z+aKxxLMOqL6+eILlnhZ8xclePliLBuZb3tCJeop4YzqqKJ/Q4cYIn43abR9yXNJu5/U2SA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+9r1TmJ7JSW+PlCx3E+d0bVlybTUlJOq1XznLTOTB6s=;
 b=ZEkzsP1zdAD3cMPAOUmOYNOjzL6LGfGgGzbFg31/BI/AFO5JY8YirsI/TiEfz3zPZTsTPe6kQy2M4NwTP/kFxYN/+i3JBg3Mzx+AkHC3NZbWhUISruNc6fC7bDfmhXyS5Q93mcC2rxYhwc9t4KqocUtwVgm61TBiVY6KireAc28=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
Message-ID: <33fe8bf6-e0b6-4508-a7d5-3f7ac9135e33@amd.com>
Date: Tue, 7 Oct 2025 19:49:37 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] MAINTAINERS: Add myself as an AMD SVM & IOMMU reviewer
To: Anthony PERARD <anthony@xenproject.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
	<roger.pau@citrix.com>
CC: <xen-devel@lists.xenproject.org>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>, "Julien
 Grall" <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <20251002234311.10926-1-jason.andryuk@amd.com>
 <aN-EuzQ2AZ1oMN0K@Mac.lan> <aN-VdWG3VUoDhSF5@l14>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <aN-VdWG3VUoDhSF5@l14>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL02EPF00021F69:EE_|IA1PR12MB7736:EE_
X-MS-Office365-Filtering-Correlation-Id: 70a1c690-6dd5-4d98-d4cc-08de05fc2e42
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|82310400026|36860700013|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?Risxanp0SEx1QTJzanpzTGplajUzdExJV3YxVU9ZSXJXYlRPQ01kRUJBeGhX?=
 =?utf-8?B?aU5XY0NvRWltRzd5NGp2RjduZFozcklvSHFhemMvS1NtSEtjS2dONVBMSHV0?=
 =?utf-8?B?ZlJDQm5PVUlFS0pVSU45ejBIMHBScWVHQ0VmSzJwb1YwL21XL242K1hjYSt1?=
 =?utf-8?B?dWN0MmxhUnVXQXhaaDkzekgrK3BhVGYvQzBjTlphVWhRTjVJajJyODA3OEht?=
 =?utf-8?B?bzNBVVRiV0xySm5aK3RLZWdrR1pVMGUraFZqMEJ4cW9vTUMrUnppWFpHZmFM?=
 =?utf-8?B?bG9FVDNSaTQ3U0JuWnNnSUFhODQ1U0FCa3p1T1poeTdwc2ZlOWx3bkdBTXlF?=
 =?utf-8?B?SHk2K0ZObkcvVldvUmh1azB5c3pjRmtvTzdoTlFOMW43K2k4Lzd5VGlnaW9M?=
 =?utf-8?B?UzdnZ2xIcWorSkU0TlBPbUZiU291TGxFUUVvWWVHYk1zM00wZ1Q3Z0xCNElS?=
 =?utf-8?B?S1dweHVPMlNtZDJKMEdMYkVPcmdGdXlWTDl5bFozL3ozaFpJVUcrME9DbmFU?=
 =?utf-8?B?RENrZDdzL25XSWtUdFFMVjBLMXJDWStqMEpEVjEvcmVaZURIbXFLZzhlbDdh?=
 =?utf-8?B?K3h0R3FRbFdUYU11d2JOdGNNSkVGNHJLRnQybnA2b2N3M1dCWlQrc0EzM2Q5?=
 =?utf-8?B?eklwRklWTEpuZklsYy9qZDJKaU9WRVR5NTgzRGdOY0F6T3dIOHlQSGs1Z3B6?=
 =?utf-8?B?R21nMlM3ZUlJNHJ4L2FYYksybFYvQlBpaGtQNDRIVlRmalc2QWtnSThxSmlm?=
 =?utf-8?B?aytJc2txSEJiS0xPaWtob3l6QXRzYWFqN21wQzQ0RTB5VFQxWE1GckFRYlZa?=
 =?utf-8?B?QkYzQ0MyUUczdU12SFgrV0hTbjZjajdjSlNUVFZFRUtkSE1Ua2dBMkpCbk45?=
 =?utf-8?B?ZUhVL2dFTGUram5zK09CanJLaHNtenU3VkJjZUtyMVZORTVsM3R3Q1pyTk56?=
 =?utf-8?B?YktDcGl5UGgyWUFQSHE3djZCY0RSRUZFZGJxT1JGWTh4Y1ZjYlBHazZQenNB?=
 =?utf-8?B?OTlOc1QyTkIvc2x6Wk5HcnVFTHFtWVk5bUN6VU9rODZHcmE0NERNa214QkND?=
 =?utf-8?B?enh3R2hoYWZmRkNIRzBmUjFlWDBXUENmRDdsRTkwMmhRY3lDSmJiTUJHL0lQ?=
 =?utf-8?B?dWpvK0pnOGNzU2MxRFdQQWsxVCtraytJSTIvMEFkRm9xalJZeFFUSkN1YnFv?=
 =?utf-8?B?ODVhM2FIM3V1UDJFM1oyN1lIS0JHR3BDckx6SlMvRi9xWDcvMVd2dFcwQ2lk?=
 =?utf-8?B?eUxpbS9xWXdYSW1TUzJSVFY5OW5wUXliSDY3UjVoeW03SVJQQ1lNUWhuNVNz?=
 =?utf-8?B?OEJrS2p1akZwZEdhZllqOGl2cE4zWGoyU1ZJTmMrTlR4K3RHU2JlQUhFMm15?=
 =?utf-8?B?bTlBbDlDTFllUGhweXF4dWRkS01aU2Z5akh0Uy92MGxLZnB2cU9BUkpnMjJT?=
 =?utf-8?B?UVNDYTZDQVFobjNIdlo2ZlllUGF2MWdoMVlibzdGNTlaUmJVVi9BT21XMlNG?=
 =?utf-8?B?YjFNZnZFY3J3K1NvM1Y5UEVTRlB1dTdJM0dJOUNyNXhyM0dNZWx1bi9sd3lB?=
 =?utf-8?B?QnB4L3lyWGFQckovWHAvWEVTUmI5NmI2dDNxSFp0RXN3MzY1WkI5dkd2QkU2?=
 =?utf-8?B?TEt4QzJIRTVHMXZNTUlYcDlHNmx6UDBkcTdkWURwM3dHdEpqcGsrUDNKeXF0?=
 =?utf-8?B?RnV2OFVTdHRYcHZWbzZ4OWJpNXBrd0d1VC9WVklPRWFYd2RzRE9uVkxIS1J5?=
 =?utf-8?B?OTlacW9CTExUOUo2dkdWRDhtMlo4ZXUwLzFWY2tWYVRuVnJaYWN6L2x6OEFl?=
 =?utf-8?B?OTNoTFF4aDI4Y29mK3VpeWUvalNNSHF3WElvM1lVTkdLZlZXVEU5RU5jaUJy?=
 =?utf-8?B?ZFVBWVh0ak1ZV2w2UUt2VzBJanZ2OXdkZG9FWHhhRjhocWF4R1dWdWgzYkVY?=
 =?utf-8?B?bThLY0FMYWtTZVBPbjhQRDBFWDZoeWxuSGxHMVIxRjBEUm1oeFIxaUNZNXg3?=
 =?utf-8?B?bGZwdERyeW1CNjR2UHdZcjJZZzZwQTcrRkgrNXZOYWRyU01QbW9GaVJMek1y?=
 =?utf-8?B?Q3hjRzYrL00yY3pkMTBKeGk3Zzd6L3IvREcvK2xQdWQyZ1NWc21XOGh6UkI2?=
 =?utf-8?Q?YTXU=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(82310400026)(36860700013)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Oct 2025 23:49:39.8772
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 70a1c690-6dd5-4d98-d4cc-08de05fc2e42
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL02EPF00021F69.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB7736

On 2025-10-03 05:20, Anthony PERARD wrote:
> On Fri, Oct 03, 2025 at 10:09:31AM +0200, Roger Pau MonnÃ© wrote:
>> On Thu, Oct 02, 2025 at 07:42:38PM -0400, Jason Andryuk wrote:
>>> @@ -601,7 +618,8 @@ M:	Roger Pau MonnÃ© <roger.pau@citrix.com>
>>>   S:	Supported
>>>   L:	xen-devel@lists.xenproject.org
>>>   F:	xen/arch/x86/
>>> -F:	xen/drivers/passthrough/amd/
>>> +X:	xen/arch/x86/hvm/svm/
>>> +X:	xen/arch/x86/cpu/vpmu_amd.c
>>
>> Would it be possible to not exclude the SVM related code here, and
>> avoid having to duplicate the x86 maintainers on the AMD entries?
>>
>> Or the parsing of the file doesn't deal with multiple entries possibly
>> covering the same files?
> 
> ./get_maintainer.pl can deal with a file been covered by multiple
> entries, there's multiple example of that already, (e.g. many subsection
> are also covered by TOOLSTACK).
> 
> The exclusion is likely unnecessary, and ./get_maintainer.pl will just
> get the information (email, ...) from every sections that a file match.
> But the duplication is necessary due to the "The meaning of nesting"
> described in the MAINTAINERS file.

Roger, are you okay with this approach?

I considered adding myself to the top level X86 entry but it covers so 
much.  I mainly care about one cpu vendor ;) and I'm not interested in 
PV or shadow.  So I went with adding myself to the specific subset.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Wed Oct 08 05:56:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Oct 2025 05:56:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1139303.1474717 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6NAC-0003B3-3e; Wed, 08 Oct 2025 05:56:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1139303.1474717; Wed, 08 Oct 2025 05:56:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6NAC-0003Aw-0a; Wed, 08 Oct 2025 05:56:36 +0000
Received: by outflank-mailman (input) for mailman id 1139303;
 Wed, 08 Oct 2025 05:56:34 +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 <SRS0=eGu8=4R=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v6NAA-0003Aq-Ij
 for xen-devel@lists.xenproject.org; Wed, 08 Oct 2025 05:56:34 +0000
Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com
 [2a00:1450:4864:20::62b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8814e48a-a40b-11f0-9809-7dc792cee155;
 Wed, 08 Oct 2025 07:56:28 +0200 (CEST)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-b48d8deaef9so1028330566b.2
 for <xen-devel@lists.xenproject.org>; Tue, 07 Oct 2025 22:56:28 -0700 (PDT)
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
 a640c23a62f3a-b4865a83482sm1573379366b.26.2025.10.07.22.56.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Oct 2025 22:56:27 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8814e48a-a40b-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1759902988; x=1760507788; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=PvXMiP7cnbM98dDqnm6ko0s7QPpIAuPOAO402v1bsRg=;
        b=KOY1ffIB94SyNWx0jrGnxnOtXoIK8LyP51PYq2d2sYuGBrif3ENM5xAwPTE+SKPzlG
         nzcDCRuQOfqQWPLdrf4zrqbG5J4JwcTeNZ/MFfM+EAI1gSIsZnxiDF0D/0r+5b1Txrsj
         vsh1b2Orychs4apzhp2fjtG8jzzISYELMN3FwLcJefeZSzt3Lj17IbDGcoWt3HrbzlBu
         S4yPII/zyx4BC/bct+uQ3M8++32fVqOSMjECzp/mBJv5b0wlP1B2K2rGwjZ4nBGnn9j1
         e6u3pTx0x9VfJN69ImO3kzeDiRNtu/Gf1qw7zmTkjomqpjFfvCdsLlOuFTsYMlzswvwX
         +NGg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759902988; x=1760507788;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=PvXMiP7cnbM98dDqnm6ko0s7QPpIAuPOAO402v1bsRg=;
        b=nYoQ6ygz8MnNnpqKZYo+sAiRCTvJilx468amCVopp4CHsbaTITYiv6qk17O50MvgAR
         p79EQ626pKxwcRRw9betgt2mAHKW1Idro9yCC48Ch3OfeRD0rxSQqAdZmIW1OBaBU/h4
         kc7avk6R3mEg+kgPb4u0H2xSZ9Lh0TO4ab2sFOQn4CPPmSk/4hWalYaq2XMzJPtcNSSs
         LlDbmc9f3QMXf2fC9QRdLX1atnum7Z4NgLtWC4lmFvbhKkIbZrhaH0ESGrlGNHSoHCsM
         VRWShfzjNJOileSjNAEMGsjZ0U0fSGoR88vtVrUvVjVt9z3HuZa/77h24PAv23sNo/GI
         okvA==
X-Forwarded-Encrypted: i=1; AJvYcCWTsX8gXWzGczMWl9S2TUeupE7oR87lSKYFHEtZH6tiIb/z5yjwkzaIe8sF6JbgwZ6yyUHAYiNBxbo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzCa3SmI/AMetlHjBONaA8hl5zsDDgNwQnlnIXHExh51wFbBdt5
	35NFOA4TiXAk3eWoXboVvErWfg1TdTrXaF9zIthU0oAODHi3n7mumFdvrtYevxDYvA==
X-Gm-Gg: ASbGnctCyTYScgwnUuhM10rUkO2ZGOD/IMNOF5fQy9e1bFvPnPfwcJAFNQWRFvrsg1P
	T3dnbf4iH3F2PR6ZdEi2bi6juIq0KiiWbd4vov8aE4/9FzJ8rXVAm2EQIoxI96aWmldh0McWhhr
	zSPWv6rt7YmZDmbqIW10MAOXJhvR3Gl5Q86v66enu62B4sKp3M5l9Gt/OdrrsfIh4KFnzenF7zc
	pzYtvrpkHQRNy9AtnH+7jYAyYjuK771+gFf0rm2HIuYek4V54MXAXkkj+hU0+u6erjYCUZNFW1S
	Ri91J0TzHYgp7ThO5Mqjd0RV9uFhfYLG5LGnDB3P+J/M+QsAkBwsyXZEu/LXZ3zOFwjyF3tAqJh
	nUsqJZvlOT7CGIdIitqsj5pV2ABN4vKl9dnlT4u3NacWvSn2SqSKHyJ18T3LhNigcW1Y7JsDFpq
	p2LJpj8sEY1OLbsLS14ckv0uSkkqfb9q+LFacgkGws+3eVpxN7Z9th
X-Google-Smtp-Source: AGHT+IE3zJmfEe/mrO4dRw/EOqq83YU0/2v8C1UFmSAy3iTy8qD4XsHXOSO59CnRNmwNje+OdTt3ng==
X-Received: by 2002:a17:907:72cf:b0:b04:61aa:6adc with SMTP id a640c23a62f3a-b50aa69e311mr221785466b.7.1759902987895;
        Tue, 07 Oct 2025 22:56:27 -0700 (PDT)
Message-ID: <b241871b-0b86-497b-afb5-86a0aa9813ce@suse.com>
Date: Wed, 8 Oct 2025 07:56:26 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] x86: guard synthetic feature and bug enumerators
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <8ecbf8b7-91fe-4f9e-9542-7ec22b6a47bb@suse.com>
 <48dcc0e0-2772-49b9-9383-5bf69f922053@suse.com>
 <1439ec29-4319-43d0-b4ff-0eb5bfe9405b@amd.com>
 <c9d04edf-4801-46c7-ae6d-8479ef985972@suse.com>
 <057c91eb-c6c3-4e00-bf2f-6611181ebfd7@amd.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <057c91eb-c6c3-4e00-bf2f-6611181ebfd7@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 07.10.2025 21:38, Jason Andryuk wrote:
> On 2025-10-07 08:22, Jan Beulich wrote:
>> On 30.09.2025 01:36, Jason Andryuk wrote:
>>> On 2025-09-25 06:48, Jan Beulich wrote:
>>>> --- a/xen/arch/x86/include/asm/spec_ctrl.h
>>>> +++ b/xen/arch/x86/include/asm/spec_ctrl.h
>>>> @@ -73,7 +73,7 @@ static always_inline void spec_ctrl_new_
>>>>    
>>>>        /* (ab)use alternative_input() to specify clobbers. */
>>>>        alternative_input("", "DO_OVERWRITE_RSB xu=%=", X86_BUG_IBPB_NO_RET,
>>>> -                      : "rax", "rcx");
>>>> +                      "i" (0) : "rax", "rcx");
>>>
>>> "i" (0) is to work around the trailing comma in alternative_input() and
>>> does nothing?
>>
>> Yes. If more such "uses" appeared, we may want to introduce some kind of
>> abstraction.
> 
> Thanks for confirming.
> 
> Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>

Thanks.

> Though I also wondered if just #define X86_BUG_MAX/X86_SYNTH_MAX 
> combined with a BUILD_BUG_ON might be good enough.  Your approach avoids 
> the extra define but is more complicated.  Anyway, just a thought.

How would that end up simplifying things? IOW what would the BUILD_BUG_ON()
look like that you're thinking about? After all X86_{SYNTH,BUG}_MAX aren't
meaningfully different from X86_NR_{SYNTH,BUG}.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Oct 08 07:19:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Oct 2025 07:19:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1139332.1474727 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6ORl-0004MF-MI; Wed, 08 Oct 2025 07:18:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1139332.1474727; Wed, 08 Oct 2025 07:18:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6ORl-0004M8-JO; Wed, 08 Oct 2025 07:18:49 +0000
Received: by outflank-mailman (input) for mailman id 1139332;
 Wed, 08 Oct 2025 07:18:47 +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
 <SRS0=YZBS=4R=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1v6ORj-0004M2-Ni
 for xen-devel@lists.xenproject.org; Wed, 08 Oct 2025 07:18:47 +0000
Received: from mail-ed1-x531.google.com (mail-ed1-x531.google.com
 [2a00:1450:4864:20::531])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 06eb1a70-a417-11f0-9809-7dc792cee155;
 Wed, 08 Oct 2025 09:18:45 +0200 (CEST)
Received: by mail-ed1-x531.google.com with SMTP id
 4fb4d7f45d1cf-62fb48315ddso12352296a12.2
 for <xen-devel@lists.xenproject.org>; Wed, 08 Oct 2025 00:18:45 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-146-38.play-internet.pl.
 [109.243.146.38]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-637714115bfsm13889691a12.20.2025.10.08.00.18.44
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 08 Oct 2025 00:18:44 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 06eb1a70-a417-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1759907925; x=1760512725; darn=lists.xenproject.org;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=9ghmY8yg7gtyjOiCSdgRk7DXFUH+yILt87lgLe3bD0c=;
        b=lg7h6y/5CyBi81KA6I9748D4+jU8+buxpi9Gd+0ySi4igckphAmr6SHJELE8iabBpV
         aVaDc+SknneCVIy68TAAz4YTMGq7Zotd9ZgIR2MfJl665Bo8FUFo8yrZXVLrUNMiod0v
         Ek0JM+wIfgoG4h2D0jidgM8NwnEOVxXMm+VsaaeDLb5RQBq9CO0U0GDh+zFSkK0R7/32
         1zD6nf3ALlHYrhnBm7bs5+9gId2eFnfz0gS2/6XbFvC+P16lMO7IyykHY/RpGo71kH/d
         58/2IYJwXuqMSwC03PfmVDTZveRcrshcL0YrmD+l5qou9Ye6DXwuJ5K9acWJoHr6L2hZ
         J1Gw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759907925; x=1760512725;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=9ghmY8yg7gtyjOiCSdgRk7DXFUH+yILt87lgLe3bD0c=;
        b=d8O5uqjtA7G8N+8HnXaQjt2V1/GxemLYcTZeqbw9lC1/ea9XVtrFb7/EMij0n6YKzZ
         hqMQpY3Gj3NyVwUWBQTjKh36kGCQjRrYhcAOx1zfJbMfaa0J6CCDXkuX35l3zGErRFyt
         8nSsHXT46vhIuIr/SQL00ZRWzId5PzTO1RKqqMhuMSUfdyVbILmiQ2x6RfbKP1TNl0Aj
         B2VflOLpT/OKgBadVqEFJDwUxBNBjqXoIaperqKvF4eSbOJUpGBK+Ltdi636itLunjbm
         OQOKJucDABCVEK/97phkGv8Y2VjDWdV3JVXcF/FP9Z52OORM5lDqsIx/X9mj9nRfDp/V
         OIxg==
X-Forwarded-Encrypted: i=1; AJvYcCVOCHcwiMNHY8E8jOyctgltq0jEuhUIw5NUv9OyEVG4J5+XNr62Stm/Vm+MEf/my3kFNleoqntMUPQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyzqZqPI01Fz/I7bPpKrRwpphbFfFiC49c1+untOhxaToki7dw3
	sA/+3KYh+9uZt9YAdzTkSA1yC//ZWny8c5NwrCmgzj+iRDI/Z7cX4qBM
X-Gm-Gg: ASbGnctE6EjvnS+m1HzoC9o00vMGildt1f2X4QlrzFkmuq7yWLUplSYaPnxV6hBsGTF
	zECzP2Tug/6f0uLwTKs1XGjAW84w3PPyIUjjfmc6NE6Fq3ekp8CqWhMqD/5TDl1e9DtGbGTObhM
	0NX6zydb5zS0bGG+Z+v9OwDPAF7qPT9CEUjwtQr9ANykPgGpEXism1BgtTXVjrsvA5RDTWp09eC
	rn9V//aifazv8JlFzITLNRnJRKUL2XjgolFwhVbU7cjzixnTerH5SNb9fBIWUhUgqEhkEBbAKoz
	JcMuR4wCy3Y2ukI5oSoNxQwRnMpYmrGHi/98o1opuAp9n9HzsqPAMMvEnSePL/umnk1Q0yV6dIB
	mEv8C0yXyvQmHPBWgn6GgIKvRfWqpXvWtpVpk93Sh5vlBIQhr+w/MO/kKMl9yV5c0qFuRpXSAOo
	FQH9jaZTX+NBQNnzLfnyxHj5QlQc8=
X-Google-Smtp-Source: AGHT+IHCLPb+KjkvsAp8GpJuDUgYHk16LWJQdsYnqK7NFGVJeNU7BzkaY3GLTIDEfpFV7flyXbjNXg==
X-Received: by 2002:a05:6402:2787:b0:639:e04d:b0f5 with SMTP id 4fb4d7f45d1cf-639e04db6f1mr785711a12.3.1759907924702;
        Wed, 08 Oct 2025 00:18:44 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------00Pi0ApkPu5bzC8WeIVLmkmS"
Message-ID: <ba076761-ce50-415c-a66c-9271b246943a@gmail.com>
Date: Wed, 8 Oct 2025 09:18:43 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21] cirrus-ci: add json-c for libxl dependency
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <20251007161333.89190-1-roger.pau@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20251007161333.89190-1-roger.pau@citrix.com>

This is a multi-part message in MIME format.
--------------00Pi0ApkPu5bzC8WeIVLmkmS
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit


On 10/7/25 6:13 PM, Roger Pau Monne wrote:
> Add json-c package for libxl usage.  At the same time drop YAJL.
>
> Signed-off-by: Roger Pau MonnÃ©<roger.pau@citrix.com>
> ---
> Would be nice to have for 4.21, so that we test with json-c instead of
> YAJL.  I plan to switch the FreeBSD Xen port use json-c for 4.21.

Release-Acked-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>

Thanks.

~ Oleksii

>
> All seems fine:
>
> https://cirrus-ci.com/build/5366905441091584
> ---
>   .cirrus.yml | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/.cirrus.yml b/.cirrus.yml
> index 7df7ff552222..0de1012d8c60 100644
> --- a/.cirrus.yml
> +++ b/.cirrus.yml
> @@ -50,7 +50,7 @@ task:
>   
>     install_script: pkg install -y seabios gmake ninja bash
>                                    pkgconf bison perl5
> -                                 yajl lzo2 pixman argp-standalone
> +                                 json-c lzo2 pixman argp-standalone
>                                    libxml2 glib git python3 libinotify
>   
>     configure_script:
--------------00Pi0ApkPu5bzC8WeIVLmkmS
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 10/7/25 6:13 PM, Roger Pau Monne
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:20251007161333.89190-1-roger.pau@citrix.com">
      <pre wrap="" class="moz-quote-pre">Add json-c package for libxl usage.  At the same time drop YAJL.

Signed-off-by: Roger Pau MonnÃ© <a class="moz-txt-link-rfc2396E" href="mailto:roger.pau@citrix.com">&lt;roger.pau@citrix.com&gt;</a>
---
Would be nice to have for 4.21, so that we test with json-c instead of
YAJL.  I plan to switch the FreeBSD Xen port use json-c for 4.21.</pre>
    </blockquote>
    <pre>Release-Acked-by: Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a>

Thanks.

~ Oleksii</pre>
    <blockquote type="cite"
      cite="mid:20251007161333.89190-1-roger.pau@citrix.com">
      <pre wrap="" class="moz-quote-pre">

All seems fine:

<a class="moz-txt-link-freetext" href="https://cirrus-ci.com/build/5366905441091584">https://cirrus-ci.com/build/5366905441091584</a>
---
 .cirrus.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.cirrus.yml b/.cirrus.yml
index 7df7ff552222..0de1012d8c60 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -50,7 +50,7 @@ task:
 
   install_script: pkg install -y seabios gmake ninja bash
                                  pkgconf bison perl5
-                                 yajl lzo2 pixman argp-standalone
+                                 json-c lzo2 pixman argp-standalone
                                  libxml2 glib git python3 libinotify
 
   configure_script:
</pre>
    </blockquote>
  </body>
</html>

--------------00Pi0ApkPu5bzC8WeIVLmkmS--


From xen-devel-bounces@lists.xenproject.org Wed Oct 08 07:23:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Oct 2025 07:23:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1139342.1474737 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6OWh-0005rk-6s; Wed, 08 Oct 2025 07:23:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1139342.1474737; Wed, 08 Oct 2025 07:23:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6OWh-0005rd-3M; Wed, 08 Oct 2025 07:23:55 +0000
Received: by outflank-mailman (input) for mailman id 1139342;
 Wed, 08 Oct 2025 07:23:53 +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
 <SRS0=tb2B=4R=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v6OWf-0005rX-Kg
 for xen-devel@lists.xenproject.org; Wed, 08 Oct 2025 07:23:53 +0000
Received: from BL2PR02CU003.outbound.protection.outlook.com
 (mail-eastusazlp17011000f.outbound.protection.outlook.com
 [2a01:111:f403:c100::f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bdc84c06-a417-11f0-9d15-b5c5bf9af7f9;
 Wed, 08 Oct 2025 09:23:52 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by DM8PR03MB6230.namprd03.prod.outlook.com (2603:10b6:8:3c::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.20; Wed, 8 Oct
 2025 07:23:45 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9203.007; Wed, 8 Oct 2025
 07:23:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bdc84c06-a417-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=On9N/Wf7YoU0gx/qyQmTd4H8aFyNsWTTreFWYaq5W7/gMg/Ab+HFLf1REuRA3LY2/HHGSri5CFGvCncro2Icl0E0XnEivskxCx3H7J2TaQagBB0yZ6RMzD83bD+ZYvtEGnj8V6d0miiLWvhiRByt6rIrOJFTiI7V0FY6z3CtodeDBy6aFxGiTc5djLAY5zNj03qoyRfifSKg78SDL9Mpw7QPoMNLGXWy+49BentyPiOBaDn3UMCD+Iw8jt/fXsLRq+oHWWm5pcYI7ZRl45D/7SldVzawCiH6uM4yI3uMnn/P8ycm7V26ka2eecwikkD1wmCp173AQjPlmI5jl+FhEg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0bJ6VGME2X1pZ3YqeVy1cb2BxBzpYBMiv86AsJg8Qrw=;
 b=kB9TafZeb0fe5DHgIPrKsj/ZfowjbYm6BLzLduETFv3lwEWnp6pHu1kodDJiv1UoC4+6QPflt42/7G/Wuiw9hDIz4nQbxVRhHayvbijZU9x84mei06K7cN4EqbdV7sBjhV5xfpZBQosbJePeVSEUtsenWbXt3BdWIi5mHOXa5TWJ/MuYbuRYs5zFrf2alq4H1nGHeWXdawK3+7A1a4M9ZfpKuB0+xEzBxlWtVT6diGVpvahN8B++2qFICGJsBVdV5phhYGVXwpJ1LR7mPBWylgNjOdHVeyqBP0u0u5lWKcpHYVKPl0LC3WudnK7ei6lNT+SuE+st0TTiRjAdM+hBKQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0bJ6VGME2X1pZ3YqeVy1cb2BxBzpYBMiv86AsJg8Qrw=;
 b=mD2b/iV9Ta7R0q0qYb1ZWPvyQhXuDN8KkA1BE2AVW2Gni+CRufac+iR/HzkPBf2SmT4Bre0wwkCtOZMZjPj7v2fkkQFFH4jX56znHdrxOFd9APdphrRUXHR5BExYpCPXDxMyjI03YB5j3/Rcpa6dsjSrQlEsflorR0sDL+dwPJk=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 8 Oct 2025 09:23:40 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: Anthony PERARD <anthony@xenproject.org>, xen-devel@lists.xenproject.org,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH] MAINTAINERS: Add myself as an AMD SVM & IOMMU reviewer
Message-ID: <aOYRfMrUZdg2qECz@Mac.lan>
References: <20251002234311.10926-1-jason.andryuk@amd.com>
 <aN-EuzQ2AZ1oMN0K@Mac.lan>
 <aN-VdWG3VUoDhSF5@l14>
 <33fe8bf6-e0b6-4508-a7d5-3f7ac9135e33@amd.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <33fe8bf6-e0b6-4508-a7d5-3f7ac9135e33@amd.com>
X-ClientProxiedBy: BN9PR03CA0167.namprd03.prod.outlook.com
 (2603:10b6:408:f4::22) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|DM8PR03MB6230:EE_
X-MS-Office365-Filtering-Correlation-Id: 7ecfccc0-8902-4d87-10c9-08de063b9d24
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|366016;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?cEowUFdxU1FhYVlTVTVyWW5oQjFJUHB1YlplUmloVldYQjFLaEpwMVBhdUhz?=
 =?utf-8?B?eURWTmVqYzczOVlWWUdVWDh6N3hJalpFSFdDWnMvbXpKODhCZjNGZmJFOUY4?=
 =?utf-8?B?MUxDS3hOZVRLdXY2blFVYnNHb2RnWnYyN2Z4UHZ2OFNCeU9pc0lvVjMxK1V0?=
 =?utf-8?B?aXN1NnkzeG9pZ1l5dzBBazdKdG01YlJxV1hiZGJwTDFWK3M1Z05xOXAzYzE3?=
 =?utf-8?B?L21VQ2lKV2x4T2EydWRlTDBGZk5nZ1BJYVJhTnE2VGFROGJWR0pHM05VOGxw?=
 =?utf-8?B?c3ZKeVcrNlFsZFJsSDlvUjN1ZW9BSmNZQjZkYy8vNzNvZkJCL3g2UTRCclpM?=
 =?utf-8?B?c0RKY3ZtV3J2SWRIS240bmtHRUI3dnQwblVsU2tlaFBxZUlzci90Zk9za3FR?=
 =?utf-8?B?V1hEZUxwZ01TTUc5UHgzdUU4NmNZdTQ2NWdCRWNhbHY0NEd0cnJSeTRaT2Uz?=
 =?utf-8?B?YVFzVDdLeE5PaTFueWVwN1hESkdxN0hneHpxMElRRytHVXEwNXRuTnlIUGd6?=
 =?utf-8?B?MXpDK3dCTWFmS2hUcStTbFEyWCtTSFo2ZXBMVDNoZm01M25Td21HaXJzY0dx?=
 =?utf-8?B?TzRKYkJ3OEFMU290NDJ0OER0NXFTOWg1VlgrcHJjMS9sNUNJUmFSeDFSV21V?=
 =?utf-8?B?aGs5TWFNeFVXS2pWTzhDSVVZTGpzL0dKZ3lHTEJ4eCt2Wmpzc3RtNytNbDZk?=
 =?utf-8?B?b2VLcFpRM1ZvTVVFWHZTeis1ektDSHlnR3RkcGo4QU1PaGdFV0E2S2ZuT1BP?=
 =?utf-8?B?dUR2RHcwYkRLb2FZWEJNK3NQdWRHVjVBNENsNlJ0SFh4MnUvZjYyWTgxeG01?=
 =?utf-8?B?NWE3YXJyU1JxU0Q2TWtXYWZhQkhJUEFnQXdkdWQ3Y2lwdmJjVHFCMUEvcEtl?=
 =?utf-8?B?a2NiM2pLcjljaW4yM1dJSHYyNmR4M20yRzJoOXhuMHY4SzlyaVhYRGljSFdS?=
 =?utf-8?B?UjFxSVE2ZUNVMkk0SHc2Ynl5K1FjRmp4SStTbEpTZ3QrK3ZZTWlxWjk2cDIx?=
 =?utf-8?B?L3J5Um5wWlVVdHVOZTROUU1PNlk4VEhFZHFScElrTDFWRWJVQ1BMcW1GZXBT?=
 =?utf-8?B?TnBxVTI0KzhWdzFVS3JJRFZMS0dzajZtVjNFZUF0ZGU2dE1TNlZMaml2REo3?=
 =?utf-8?B?NnRzbE5IMEhVbnY5UzJxNFVQZ0hUSlIxVHFiRHVQa29CM1Brb3RBTlM4cDV3?=
 =?utf-8?B?eVlNa2I5cmtKZHE1SkZBcWorcWcvcFB5c2p1K0ZZOU9EZVVaaTZoMHJhcWtD?=
 =?utf-8?B?dGxOWlQyUmd6OGorWlRXVkVrVDdRQktCZ1AyTFVjS09kUHVXeExib0thcGR4?=
 =?utf-8?B?bVU0NjJmQkxTQ3pVSGxBcGh1TGJ2R2ROOG1SMU1RWVhUOGxtQ3NoUmFneC9X?=
 =?utf-8?B?RzBMRTl1Y2VYWDBZSDEvYnpJK09Dcm9ZdWdFYXpJNzA5Z2RlbzJ3bGgzMVF2?=
 =?utf-8?B?WGpoVU5rc2J2RTQ2cDMrYzR2VEJpOHpvUW1SN2FHa0VSTFMxeG5PR2VrN0gw?=
 =?utf-8?B?dStPUmtvSll4d0VOdG9qVDFQc2pYODdFL05XWGd6TVFoOFNGa25QUUlKMDc2?=
 =?utf-8?B?aW9ZeUJsaStEZUNkdjRzaXAzSTZkV1RJdlp4YkQzenVDNnBMMG1NTXArL2Vq?=
 =?utf-8?B?N1JFbVVNUHVWNnBvYlFkSVlUelllQUxwek5WSkx3RmNzdzdGZjBkUExVTWx6?=
 =?utf-8?B?emtNYUxVVS9PR0xmK0ZJbDYwQ3I5S3Z4NWp2cEcwQnQ4VFI1U2NZYzJkczRa?=
 =?utf-8?B?bHBHU0V4UFdiTmZGaE1rNW1tc0dDZ29oWG5xZVh6TEkvS2w1ZHJFSUo0OWFH?=
 =?utf-8?B?Nnkzc0kweGorVnZuSGxiUjhKRnNvdFVrcUs0ZVRHcUdYaEJvdk10bTM0K09r?=
 =?utf-8?B?OWd6V2dpRUdQWnpaV2MvWFFOZ0Jaa0c5ek10eUNsMm85T2NsbVV6Y1hYUWtB?=
 =?utf-8?Q?3W6qddJsH+E8KUomtrgXQbkeHcOxnpej?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?US9CVmV0SThmZTlPYVZQeUdDT3Z4Kzd0ZkM0TzZsL2ZBaXA2eWtWeHdsSmZ0?=
 =?utf-8?B?aXM3dS9GNmJLWDVXY3NaVkZGSWFZekQ2Q29Ea2VUUE13UDNKQ0xmVHVZTGVv?=
 =?utf-8?B?QnRidG5FUTZJQlBJYndrNG5oNldhL3lLUG03V0RCVkh3QlVVYTVQTVdyQkg0?=
 =?utf-8?B?VUkvdm9aUVJpU1VEa2N4cWdxblVHbUVaeVBUMW1lMWNrUXlHclR0aGw3alBl?=
 =?utf-8?B?cG1LYzNVTjJIejI2Z25oN0pFK1B5Z0c4YkJESlp6b1BrYTJpaDZXbFY3RTht?=
 =?utf-8?B?Vkhkc09vZWlTTnN6UTJnQVlWeVZ5bjVzd0kvZzdFbjFRZ3N1QlpJQnRLSlZn?=
 =?utf-8?B?RXJuSGRYREZBNmhBUUtjVFoxcDNTYnV5WHM4VnBjcDhyNThySnEyb09EMGxX?=
 =?utf-8?B?b2dKMk1STFVpUnlNSkh6cFBIc0FMcXVOR1gyMS90Y2hQT3NmSFVaRVFjTitw?=
 =?utf-8?B?NHBRazVybGRRSjdqNnU4MURlZHdmMmI0anMzYnJrd2xPaHd0bjhES1BZR0lX?=
 =?utf-8?B?N3Q5UVI5K0ZyOXhKaFdYbWdoTnRnNFgxZWVaQjcxeXVaaXBRMW50QmdwRlhR?=
 =?utf-8?B?Si9VVktPZkV2MXR5dit2Q0kxZW1TU2NJUGhrWU4wOCtnMFB4bkNBM01WZlJK?=
 =?utf-8?B?TWJpaVFaSEtrUnpYMVBZSlc0S2V3ZVNRM0x6KzV5NlZjM2YyNGp0TG10aVRx?=
 =?utf-8?B?bHJJMlpTYVVBRi95bU55OXZGQjRQRjE3cUpjWjdDNGd3aHdMYTZkZ0RtbEFx?=
 =?utf-8?B?YzdsWlZDMEdHVW53OWszUmJyQ3A1a0p4b2p3cloramMvdXF2dHdWSGd3YWcx?=
 =?utf-8?B?ZWYwcHkxK0Nnb044Z1Eva0JnWnBhVEg2WndLeU5HTFN3dlVtL2poRGFobXpz?=
 =?utf-8?B?cU0rajViV2crV3dlZDJHVDhyK3dQUHVoL1ZaRkJNZjJUaGJkZlB1aVk3ckNM?=
 =?utf-8?B?M0VPNEloMk9ZMEZGb1k1eHpCU1M0alBKbC91V2lSOUtxTkI4ZS9JKythNzBL?=
 =?utf-8?B?REY0ZEp5VFlZa2hqSkd4S0ZsNE5FaDFZMGJ0a251Z3pCanYrbi9Yb04yWGM2?=
 =?utf-8?B?dzA2SmtLYVRycUlYd1pYZDc3Q2thK1JaenZ4UkVZSTdIY3FmZ0N3elBsYlA2?=
 =?utf-8?B?cGpDck1aUW5JQmNGWExoRG5lcmhFMjJ3NysrdXMwRXd3WjRHL3R4eWpnaDBm?=
 =?utf-8?B?cmRSYVAvNy8xWHpxNVlKdzJVMXBraHJyQkl3VjAza0pWQjA3UGI2cGpkNjlU?=
 =?utf-8?B?OThVREdFQ21jY2NwNjl6UWhCVTZOR2NZaXhqMUl1aWhHd0MxMGxBQzlzU045?=
 =?utf-8?B?SG1NK2RRZERZLzhzaGxPazI5Y1RTdHBFbVBDVjlqdkpadFl5c1orT0ppUlZ1?=
 =?utf-8?B?bUlyS3lkSFZpTmJKd1BXS3J3TUJONlhkMlEzUHBXcE55eXBlZWN5ZzZJdVpt?=
 =?utf-8?B?bkx3NUIyR3gybjk0Q1QxRDlqbWdzRjNxMTFSY3RaZlZtTjNmMnV3cHpzT08v?=
 =?utf-8?B?MXltUzc5bmtwbHBPOXA0eElaRWY4ZVJURUtXZEZ1aTNlZTNaeDNYeUtOOUhs?=
 =?utf-8?B?THM2dU1tdDNWVWZ5UVUxMUJ0bG90VzFkS3hjbEdKT2FIdEU0Sit4YmsvMk1N?=
 =?utf-8?B?SDI1RFRFVlk0R2hlQnNIVW9EaUdGUjZETzErTHhoQ04vM1FCM2dhanh3T3Vz?=
 =?utf-8?B?MFlPYllOYTZrTDlwYm5UZlpCODIwdGFhMWVlTzB4aG1ESmQrbzVaaFBhRmda?=
 =?utf-8?B?R1pOeGtzeno3TUIrLy94OExHamlGd3dhbGpoL1NjRDZIeFBEYTJVclBFeVRS?=
 =?utf-8?B?eDdpb3ZEWi9kOGRxTXlEY1o2R2tJNURyci9hTG5rNmFXTWNNcnJnbWZEZy9Q?=
 =?utf-8?B?Y1JtNHNPRHd6THBleFd5Vyt0QWNNeGJEUzhuMUpjb0hnRjllcGg5Uy9uVVhO?=
 =?utf-8?B?RDhoU1pTVGR6ekU1ZVQ5RXErQlR6UmZhVS80T1B0eGtJNVJpcDg5M1FEbGww?=
 =?utf-8?B?Qis3djVyS3BLK3ZSa2JCUXkvL2lieGVySzhlenNkc3BVTE9NVzBUSzExL1hj?=
 =?utf-8?B?bWlqTnpUM3pjN3VoYUpXVVBzYUY1OHpVOXQ3dWM1L2dpS3BaaU1lMThvM01J?=
 =?utf-8?Q?kbPdeQWxMfG6MG70x6nBAcdXO?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7ecfccc0-8902-4d87-10c9-08de063b9d24
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Oct 2025 07:23:45.4647
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: pnM6XiDp01+I2d9RRUcK8LEkvzqaiKz0TThaqZ7xkxYVyG8xEjuUaPr6e6STXIB+9Afo+icGMRJlEviT09o5vw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM8PR03MB6230

On Tue, Oct 07, 2025 at 07:49:37PM -0400, Jason Andryuk wrote:
> On 2025-10-03 05:20, Anthony PERARD wrote:
> > On Fri, Oct 03, 2025 at 10:09:31AM +0200, Roger Pau MonnÃ© wrote:
> > > On Thu, Oct 02, 2025 at 07:42:38PM -0400, Jason Andryuk wrote:
> > > > @@ -601,7 +618,8 @@ M:	Roger Pau MonnÃ© <roger.pau@citrix.com>
> > > >   S:	Supported
> > > >   L:	xen-devel@lists.xenproject.org
> > > >   F:	xen/arch/x86/
> > > > -F:	xen/drivers/passthrough/amd/
> > > > +X:	xen/arch/x86/hvm/svm/
> > > > +X:	xen/arch/x86/cpu/vpmu_amd.c
> > > 
> > > Would it be possible to not exclude the SVM related code here, and
> > > avoid having to duplicate the x86 maintainers on the AMD entries?
> > > 
> > > Or the parsing of the file doesn't deal with multiple entries possibly
> > > covering the same files?
> > 
> > ./get_maintainer.pl can deal with a file been covered by multiple
> > entries, there's multiple example of that already, (e.g. many subsection
> > are also covered by TOOLSTACK).
> > 
> > The exclusion is likely unnecessary, and ./get_maintainer.pl will just
> > get the information (email, ...) from every sections that a file match.
> > But the duplication is necessary due to the "The meaning of nesting"
> > described in the MAINTAINERS file.
> 
> Roger, are you okay with this approach?
> 
> I considered adding myself to the top level X86 entry but it covers so much.
> I mainly care about one cpu vendor ;) and I'm not interested in PV or
> shadow.  So I went with adding myself to the specific subset.

Indeed.  Jan reported a sorting issue, you can add my:

Acked-by: Roger Pau MonnÃ© <roger.pau@citrix.com>

To the correctly sorted patch.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Oct 08 07:29:18 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Oct 2025 07:29:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1139353.1474747 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6Obp-0006Wi-Ox; Wed, 08 Oct 2025 07:29:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1139353.1474747; Wed, 08 Oct 2025 07:29:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6Obp-0006Wb-L6; Wed, 08 Oct 2025 07:29:13 +0000
Received: by outflank-mailman (input) for mailman id 1139353;
 Wed, 08 Oct 2025 07:29:13 +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
 <SRS0=tb2B=4R=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v6Obp-0006WV-8h
 for xen-devel@lists.xenproject.org; Wed, 08 Oct 2025 07:29:13 +0000
Received: from CH5PR02CU005.outbound.protection.outlook.com
 (mail-northcentralusazlp170120005.outbound.protection.outlook.com
 [2a01:111:f403:c105::5])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7bf94eae-a418-11f0-9d15-b5c5bf9af7f9;
 Wed, 08 Oct 2025 09:29:12 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by DM8PR03MB6230.namprd03.prod.outlook.com (2603:10b6:8:3c::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.20; Wed, 8 Oct
 2025 07:29:08 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9203.007; Wed, 8 Oct 2025
 07:29:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7bf94eae-a418-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=a1XGDwrdGj6GuMW3x+dR4UpwOilgQzFkPq7xjPywFGOdAdU2vSnRTU5nh8PG1ODOxF1U9wmGacvlRiQ/wwrfZJlVHDxhmF+QdHmQC+y16Essm7QVkdwzFQ4aFKu81VTZgXJzJH8Y1pahgiCeo7lXip3yDsyTcECv2XrOrmzijs+ZNWYCJ1KHU1/UMZfer6hYnszR+ISV2Et3tOr1vm03ZdbgYnkDyZDQZqbvG9PP1UGYBNGr34hS6b2tJ9p5+ciKDs8ixe9oJSTNzu36+FL7bpOh0bDXfwj29ydx/GgsNVnqZj2NwuNYN8UTubXt52c+pJazredfNFnVXtqPMC6Wyg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wTOYEjl64LRlQYAvP9+I1/dWcT5YwcVafHk4fHRCjfE=;
 b=ZOf7XnLlebBV2nKLS6kF/bopO7RqopsmA7UY2JYu/vKRI5VRd2WEJxBiULpFUHQsYy3sIKMwlt5DEs2kKJQqQconT1vi0VXRBu2r03BrLiMDvirWu3Oj3AXOfe6bizte4X8HqgOx6N0nfCQjGMTOcdlPeaD5H1cJEh0oKY5p//8l+/RsErg23YsyRuKv+j0mKv6mRKuLgqeFFml2bJTNoV+UkPOyJPm5q9DtS5Wfp0TvHnHQpt9eNfnwUg69s9I78zdHXLEo33yOPQHIHQAfVCcFGlnbtVlvE3EPZ2x9Rky5RbsS1lc4NXyZm9C676J7Yr3Y8cAi0hsmK/fPX+5HVA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wTOYEjl64LRlQYAvP9+I1/dWcT5YwcVafHk4fHRCjfE=;
 b=htsXqTELhQPflGsRjYXEy5+7qLqQHTkmmt1lvK66yJ05vKiBFGn8BP/sKFOQKaX9D1GcweBnCJSXGtc2QPnO9FwSvAn5NCeeoHJE/mugpHHYDKE8Lwfa5nfbUw/+B7JlwK7pivFnKkhLNweQcRoN8C7UOVA2txcNpqTBbsQNZNM=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 8 Oct 2025 09:29:05 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org, oleksii.kurochko@gmail.com,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH for-4.21] cirrus-ci: add json-c for libxl dependency
Message-ID: <aOYSwTYt7-345Gcm@Mac.lan>
References: <20251007161333.89190-1-roger.pau@citrix.com>
 <5f2e6f4e-cbc9-4705-8817-366790717164@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <5f2e6f4e-cbc9-4705-8817-366790717164@citrix.com>
X-ClientProxiedBy: MA2P292CA0027.ESPP292.PROD.OUTLOOK.COM (2603:10a6:250::16)
 To DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|DM8PR03MB6230:EE_
X-MS-Office365-Filtering-Correlation-Id: 89be9622-1204-406b-74dc-08de063c5e7d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|366016;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?QUh4d25uNzliMVpObnRiMk1BTGR5OHY3eTEvSkl0by9kcCs4VFJVM21aY0Zl?=
 =?utf-8?B?Z3U5YVRVRW54YWtqa1Btc0RzRWJlY3Z1czhZRVBaZGhwRTUvRnVIYXl0NTc1?=
 =?utf-8?B?TTFBY3VYV2tTSlhOQm1qWFBHOFJxb0c4NGlFYUp1ZlgwNExqUHl5WEsrbkhp?=
 =?utf-8?B?dzMxTGVrSW1JQi92TVVyVFEyOXVjaHk4NnlYZEJJdkRhd2g1cUlmZktaVUhI?=
 =?utf-8?B?bWtaSU9IZDVIRGFJU3VGMTBqamxHRHVSSFFFKzFGb1U3ckZEd2E4dmNGVHBU?=
 =?utf-8?B?SUdpZnJweXV1S1pGLzdHWmw4MlMxSnFaMHpIc04rS25Kc2JuUHU5dEdkM09y?=
 =?utf-8?B?a2lMRHBKcjZJVEpOemtIZGJ3cDJTZjNTaE1BanJ0a1JKVHdrTi9jN2N2UFo1?=
 =?utf-8?B?c1dESldSQk96b3RlWm1FWEhHSjMyR3AvQmxiS3Z0YUVZMG9LMkEydmFhWEEw?=
 =?utf-8?B?YkVlVzBmZW9OWjdOeHgySE93MmxuWjVPSmdkT1FiK0pBR1d6VVdvZ2YvZWsx?=
 =?utf-8?B?S0p6QitkK216WE0ybXREcUpLWWdLa2hzMitUSTJXUXFhQ256dDF2WVM2ZkpU?=
 =?utf-8?B?WDJ4SEdIT3BhdG9IQ2tKcHNEbVdtUVlNZjFoS3R3WCszdVJ1US9wQmdVTjNQ?=
 =?utf-8?B?SXNGQUJVZkpaZDFPS045ZW1zK1Fzc0NYaFZUZjY0Ny8yVHZhRnMzL3Bnck1V?=
 =?utf-8?B?bVVHdGxocEhqRUpMMTBkSzZCemdubmFDWnNPQzhydHZrWXdZMEkyQnNud0xB?=
 =?utf-8?B?ZlR4MmJuWGx2VnNrV2ZiNjJ2b0FrTHBBemJpZnNycVdVR0xyaVowejJRTVQ1?=
 =?utf-8?B?L2tNQnRnVlJteWxHQkp2V0NOdFQ4cndpVnBsUW9VZWUzVnhpRFB5UlZBZ3dr?=
 =?utf-8?B?M1NXb2h3eHBUZlVLSnBzZUhFWmpYUTZlZ1hsRWxzRXZEZEt3eFlCbzlzSEVy?=
 =?utf-8?B?NjEvQm1zcUVSUTNqMnBXLzc1ZXIrYUlUaGp5TWhCSjI4WlFiMnJ2SUt6aGhv?=
 =?utf-8?B?QzZva0F5a1NtZVVkaERiNk92eFR3UjlzenNtWDZyeFpTd1d5dm93Y1lreG9Q?=
 =?utf-8?B?VWl0WUczcGREeUI0bXFjbXk4RWluRWFWR25hdTBmYmg4dkVZRTJSN0dUeWJN?=
 =?utf-8?B?WkUvL3pwYzRNbjJydHJrR3FlVmZnWDBGWWUyWU43VU5YWG9hYXRrdCtlcy9v?=
 =?utf-8?B?bFdZd2VVaEdaWTBadm9WY2h6dVl4ZC80akxoMEVPQ01qeFlHd3pVZHBhRjBr?=
 =?utf-8?B?bHNuTTBYcSt2S3pydVBtdGh5blBpWllISnhwMjlNS25vcC9pd1puY2hibFBJ?=
 =?utf-8?B?TFNpc0kyZ0NEam1HZUo0TTJaeXVTYURkaFJmbTRIQUJUM0M1MHF1b0gvMk1k?=
 =?utf-8?B?ZHdabkF5RWR6V2JPNlpCT2xzM0kyZG4yekk2M2VUQ3cxSFVRZ1NocnE2bWJP?=
 =?utf-8?B?dk9pS2xkQ2I3a2Fpa29HWTZZWlVjWWRhT1JqTm5xdUdtRGl1TXVaL1hvR0M0?=
 =?utf-8?B?ZWxiZmNQeUVFbW44cUpJaC9UcXlLTVVtc3JkN1ltUVZSTFpvMUpWaVJFTGpa?=
 =?utf-8?B?YXo1eDEwMm8yZlREcERpOHlKaTJ2NTgxRDNMd1MvaWNlaGZjT1VpRWQzQ28z?=
 =?utf-8?B?SER4NWh5bSsza0tVUGpLYVhsWEYxNHdVcW1nTUJSNTV5cmZkQjkrTTZRZ0Uw?=
 =?utf-8?B?T2NZNHZUbzFVTVNQaHRPVHQ3WndyTTA4aC8vVTFzczhFUm9MeDBkeDVXSWo2?=
 =?utf-8?B?TGxRYjlFaFJuOVBYbjNoM3RlUXJidG5zUnZ2SWEybjhzMVJJY1ZUdUhKdHow?=
 =?utf-8?B?TCtQVy9oWFdidGFoc3J1VUpCUjZiV25KMmpIVWNXRERyZHdGd0pZODh0ZGJt?=
 =?utf-8?B?YmpnTis0bUtSWlZUaXA4NUYxSWl4dmpJTXVrcVNZdWFIWmc9PQ==?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?M3l5U2hrN3puSGJSd2R1VzhnSmFNTUo3MWVUU3lGR0FoR25DYlZVTFIxeXFh?=
 =?utf-8?B?YkVURzBiSkI1L2svQitwSVM5REpGMXBHckR4a0ZaYWRKQTVnejdxcnhRQUVh?=
 =?utf-8?B?UGFOZTJUeUFCV0tuQWFFSDF4WFRsK1FlWnFEVjkxOTNnbkdMOGNOdzhEVmgw?=
 =?utf-8?B?S2VIRjNndEJpWGNENms3aFgvKzkxM0J1M24xcml6Vk1ad2k5OHdXaGVIMG1s?=
 =?utf-8?B?aGVHdEM0U3QxOEI0Y083OGtIRU1OWjV3VFlDSkhlelpvdGxIU0gycUZQejJk?=
 =?utf-8?B?RUpyU3dPbldzVlQzNUdlUDVnOEUrZ1VhM2pRU2ZMTnZUQUhhMFJxSndjWHEv?=
 =?utf-8?B?RkpDM2RTOGF5K1hwa0R4bWx5aWh5NE5wS2diV3BiczZaVWpIR0hFSGFYV2Ev?=
 =?utf-8?B?S1M0ckplTlYrWnl1aXYrSkdoRm85bDhxY2U4R1gzQlBmOUovU1cxZTB0b1kx?=
 =?utf-8?B?V2dRZStVR0VNckYxcDRuTE8rWUgyaEdGQ01mU3ZuVVh2SUFHTnNoOGVyOUhD?=
 =?utf-8?B?V1JzdzhXMjBzaERJa0dSOWp0WUVIRFpmK2lxRDB5ZnVwcVFuKy9CanBTMUJ4?=
 =?utf-8?B?T0FPcGFhT0xNWHBWcDNMU3RDWXpuZXJydEZEUXA4WkcvK0taVnJieVVNUlYy?=
 =?utf-8?B?WTM1N0drazlUT3JXb2puR1BtNkNzb0NWb2FKZmR4RUpjYmx3TUtrTjkvOWkr?=
 =?utf-8?B?ekxONHJ5akowanlKSGtIYXpVRzQ1Nit4Y1ZZdkFaNUk3SkNmV21Oczc5ejFK?=
 =?utf-8?B?MWhVTVFadllRSGdWMnlkWWlBNjgwMU1wWm1FeVZ0dmJaalA2ejBRVDFiYUho?=
 =?utf-8?B?R2xaWWs5SjRDVWRKNTFqNk96RklYTnRWVkVhemF1ajZHSjRjZlhFWDV5NTM0?=
 =?utf-8?B?VG9WZDJqZ3Bha0dQeTFCRVBjS2NsWVpqTEJPU1VIWERRSWoyNFhoVHl0ZmNS?=
 =?utf-8?B?bkRQT0FGM2NmcTVBK2MwWFA4MDU3WjhueGxUZlc2MFVrWHVEQ3Q1SU9rZm5W?=
 =?utf-8?B?TU5tNEg1cFNvL0xYbjh5TXBQT3lIN3hOK2E0QThiMTB1TGowQVR2TytpZjZV?=
 =?utf-8?B?SUJMV3VmbWhhVUcwQ0RCdytFK2E3ZEUzenNNMW44MENDWDZUK3l2ajNhTU5a?=
 =?utf-8?B?SjNoMU9yeVpVdWkyQ04wNnlld0FJVmc5dktaZm9CV29UR2x2NVp0ZURNVWFP?=
 =?utf-8?B?eGZNOURGSVBzUll1MXdIVTBIOXNpUlZnRGJaRXp0T3ZqUGJUSThDcUw4b0xW?=
 =?utf-8?B?c2s3YmxrNjk4MVYyZExwRDhQamhwM2pKaHVOdTNnR1BReWVjUlI0Uzd3WTJG?=
 =?utf-8?B?RnFlcTFJaEFvaXR1b2hFTFZpVklveC9hSXd1RjZCN0NNV21ORTBGcWpnbmly?=
 =?utf-8?B?VjRNZ2xacnpSdWpYVGxGZWxpc3BBUmdHRUw0WGJHQWNBbG5hRG9UNkFDKzU3?=
 =?utf-8?B?V3B6U0N1clQzYlFCUlc3c3hNRENtM21oR2taOUEwbFhIMkpML2pWcVM3aWtw?=
 =?utf-8?B?ZHpJemxSRWVab2xEelNFQ1kzR2J2bGplbGVuSmRqb09TU1JIdGZDU3JWNVZK?=
 =?utf-8?B?dHZSVGdGUFFvTGZkQ0RpS2gzcHIvekhGL0FtMm0yTHlFYlNHYU9TZjg5VHl2?=
 =?utf-8?B?T0VWSHp1Qk0vTUFSUVo1SkF5cEEyV3F1SWsvRGNFZVNnY1BHVjY2SFFCeG80?=
 =?utf-8?B?cUV1a2ZFWE9MbGsrZ3hROEhaT09SYXdzTFBkR25jUzEwcFl3SHdmdks5UVhX?=
 =?utf-8?B?Vm9VVmoxYTYyODFxRURjbHhwUmxDVUJXYVZWNXFUSFluQis1b0VHUU80ZDlV?=
 =?utf-8?B?bWhOaWIzNVBnRmRkcmRkbGFFT2ttTVM4THlDRDVWS0RpbHFtdjY5dnMyYXgz?=
 =?utf-8?B?UWlFYjFBQVJXS3ErY2hSTFo4RlozK2RPSklVVmhvVXJuM2NNT2YwQitHeGtI?=
 =?utf-8?B?cU4rc2tiRSt6RW51OTlQbW9BSkY0NktjZEcvcDRMaU9aWTg1bVFJVTlDNnFt?=
 =?utf-8?B?cTFCQkprOHVHYkowYTBqMGo5MzBiTUg2U2wwN0ZZSDZHQlNMbGMrOGxZb3VO?=
 =?utf-8?B?dURzRWhaZUprWlBWdFo5OFA5QU5EN1JqeDVTUnlvaE4yRktFZzhrS295ekdz?=
 =?utf-8?Q?pqqlaTPSQTY2/BMTR5+KMWuRt?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 89be9622-1204-406b-74dc-08de063c5e7d
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Oct 2025 07:29:08.9081
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: UbtM9SFZu4dYWuanG559xx6eeKxUhaCAnVPgT+97R1Z2hK/nxMlbr2gRFLdPa3f+T8OB7e8Jz4FaUP6CAd9JxQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM8PR03MB6230

On Tue, Oct 07, 2025 at 06:06:45PM +0100, Andrew Cooper wrote:
> On 07/10/2025 5:13 pm, Roger Pau Monne wrote:
> > Add json-c package for libxl usage.  At the same time drop YAJL.
> >
> > Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
> > ---
> > Would be nice to have for 4.21, so that we test with json-c instead of
> > YAJL.  I plan to switch the FreeBSD Xen port use json-c for 4.21.
> >
> > All seems fine:
> >
> > https://cirrus-ci.com/build/5366905441091584
> > ---
> >  .cirrus.yml | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/.cirrus.yml b/.cirrus.yml
> > index 7df7ff552222..0de1012d8c60 100644
> > --- a/.cirrus.yml
> > +++ b/.cirrus.yml
> > @@ -50,7 +50,7 @@ task:
> >  
> >    install_script: pkg install -y seabios gmake ninja bash
> >                                   pkgconf bison perl5
> > -                                 yajl lzo2 pixman argp-standalone
> > +                                 json-c lzo2 pixman argp-standalone
> >                                   libxml2 glib git python3 libinotify
> >  
> >    configure_script:
> 
> 
> Comparing before and after, we've got:
> 
> - yajl: 2.1.0
> 
> - Number of packages to be installed: 27
> + Number of packages to be installed: 26
> 
> So, json-c seems to be in the base image, but even that points to it
> being a more popular library and the right way for Xen to be moving.

My bet (I haven't checked) is that it's also used by the cloud init
scripts that are packed in gcloud images used by Cirrus-CI.  It's not
part of the base (non-cloud) images AFAICT.

> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Oct 08 08:50:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Oct 2025 08:50:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1139396.1474765 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6PsI-0000jR-LJ; Wed, 08 Oct 2025 08:50:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1139396.1474765; Wed, 08 Oct 2025 08:50:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6PsI-0000jK-I9; Wed, 08 Oct 2025 08:50:18 +0000
Received: by outflank-mailman (input) for mailman id 1139396;
 Wed, 08 Oct 2025 08:50:17 +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 <SRS0=eGu8=4R=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v6PsH-0000jE-N4
 for xen-devel@lists.xenproject.org; Wed, 08 Oct 2025 08:50:17 +0000
Received: from mail-ed1-x535.google.com (mail-ed1-x535.google.com
 [2a00:1450:4864:20::535])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cecf2655-a423-11f0-9809-7dc792cee155;
 Wed, 08 Oct 2025 10:50:15 +0200 (CEST)
Received: by mail-ed1-x535.google.com with SMTP id
 4fb4d7f45d1cf-637dbabdb32so14332132a12.2
 for <xen-devel@lists.xenproject.org>; Wed, 08 Oct 2025 01:50:15 -0700 (PDT)
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
 4fb4d7f45d1cf-637881010ffsm14294977a12.27.2025.10.08.01.50.13
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 08 Oct 2025 01:50:13 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cecf2655-a423-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1759913414; x=1760518214; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=1sUNXUcXtOQ9nn0J0+4DVsN7GTzPp19+7FogSNXhQ8A=;
        b=HWJEen+qWFT1X05OzY5DHHn+ClcySNY5JutN0ga3mcK5wyh1rgVgwZ2I86Gob/nt8g
         8CikKu61oh2Wmsqw6EaoK+f47fnlfo5TQMkuNlTzMs19vxqplw6MpyM4XbLXl6AopiTq
         iFCOrYx/VGFfpAm+p4WzO9SW07zyVG2okelrGwbDBepxGGdIwB46kkPLinjiWS7xIbmh
         7Hiel01yl/Cbie7+XPl67m9hKuM9hfWoXU30Nyv5mBc7sUl9mADA/Huvs29TYPmixsml
         YtxJP4druZpJAjWSBssTPez88/uIUizf/m8IFAuJ/ZLg3KMURZm5EO2dVdL/g6bT8ZKH
         HrAA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759913414; x=1760518214;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=1sUNXUcXtOQ9nn0J0+4DVsN7GTzPp19+7FogSNXhQ8A=;
        b=v+4M8tktawZlHXa6/6XkTbdK19RbdZ9Orr8jtNf1KM+8Qk1kOyPjXtDybwUMbwJGX+
         J7cG7PAH6tTp9SRlNpnOeCTJGoBD8qfwfBpQ4S6oOhhKLy8dANBBYtndhGAUCeWFwJ01
         TelYWljV8nm8kG5yvTSf7MVyrYc7uQS9lGVkSvXgSXVDlF7qhhtxHcLQRTejGweM2vfx
         CT+wzh2bjI3mzPqD4Avc+EdsVg099kYcAkdaTA2VKImNGm/lZhgY3v2jkyPw5NaLID3x
         D7vPrYXCFCYCNavZrpbKVhK4Syn3x5xvIas61u68NDdg/h2XmvQALdnXIfZkadxNtUzZ
         fBwg==
X-Forwarded-Encrypted: i=1; AJvYcCVCQETxCOygThybKKmrWEJ513WGnuOw5o6hHsK3kz6qnx6IGHr4R0jCPA/0AOuZH5dFfcBEeSrQXww=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxSIhWpRZPUOEY8Q7NaPyXXfhqBUHJP1h2pW6z6H6hBL/6+Grub
	2ygIaeUE/MrBOdsjBPkqtenrhz5xbmdx0ShF3oqeHXW2MgFxFaRRtPXzcglW5EXVPw==
X-Gm-Gg: ASbGnctP5N3u2pELyp9i9uViANrYc2/u08zMz3Fibx8xxPlecuH73tJ9zlqH1eetrce
	x+AvJKg4MyzEtf1vUCK6N3E99rQdYY1ulx+7qX/Dqg5uivhsnobsdlW9creUSfrlHdltVKya6IW
	ddQ3ADCQPjdqPKx+ACB9bo52V2wJWp51t2ljsn7pWc+g9+I4uPmF/FrezEP7LpVwQfRY5cGeMVx
	I9tpLuvjVFomqzdFXGxIScR8kfk+/WMyRupAUzl/rXOZFSlGCuDhWKLB8obRhG4o1/srxEZO1jP
	J8HFiDFCwNfDACs2qQPOd5FSvYNXR8zUkmX/FwVKmeq4lJVbXWsiitzJYQbMXsUwgbinp7CI3Bi
	4cBoIfNge2P2FwKBVlFz2xNG9Z07j6fo1BzQUqtWRlsu2BaeCkDILfkO+vi/2SZApd4dI2SDjAx
	DN0vRHEKrTtohLtneEKaGYQFCOKakcX8k=
X-Google-Smtp-Source: AGHT+IGQCEKmjLTU1gQzJKsQg19DxqtdEyGK5TqvJgwn1AP7KQO5CB0wUh1Vu73acKF9Ka2foetHRA==
X-Received: by 2002:a05:6402:1658:b0:639:5cc3:7a36 with SMTP id 4fb4d7f45d1cf-639d5c520bbmr1709714a12.25.1759913414399;
        Wed, 08 Oct 2025 01:50:14 -0700 (PDT)
Message-ID: <12cfd2a2-296a-4b1f-a831-ac2f3b6fe2b5@suse.com>
Date: Wed, 8 Oct 2025 10:50:12 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 12/22] x86/traps: Introduce FRED entrypoints
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
 <20251003225334.2123667-13-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251003225334.2123667-13-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 04.10.2025 00:53, Andrew Cooper wrote:
> Under FRED, there's one entrypoint from Ring 3, and one from Ring 0.
> 
> FRED gives us a good stack (even for SYSCALL/SYSENTER), and a unified event
> frame on the stack, meaing that all software needs to do is spill the GPRs
> with a line of PUSHes.  Introduce PUSH_AND_CLEAR_GPRS and POP_GPRS for this
> purpose.
> 
> Introduce entry_FRED_R0() which to a first appoximation is complete for all
> event handling within Xen.
> 
> entry_FRED_R0() needs deriving from entry_FRED_R3(), so introduce a basic
> handler.  There is more work required to make the return-to-guest path work
> under FRED.
> 
> Also introduce entry_from_{xen,pv}() to be the C level handlers.  By simply
> copying regs->fred_ss.vector into regs->entry_vector, we can reuse all the
> existing fault handlers.
> 
> Extend fatal_trap() to render the event type, including by name, when FRED is
> active.  This is slightly complicated, because X86_ET_OTHER must not use
> vector_name() or SYSCALL and SYSENTER get rendered as #BP and #DB.
> 
> This is sufficient to handle all interrupts and exceptions encountered during
> development, including plenty of Double Faults.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Wed Oct 08 08:54:17 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Oct 2025 08:54:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1139406.1474775 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6Pw9-0001IG-4i; Wed, 08 Oct 2025 08:54:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1139406.1474775; Wed, 08 Oct 2025 08:54:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6Pw9-0001I8-16; Wed, 08 Oct 2025 08:54:17 +0000
Received: by outflank-mailman (input) for mailman id 1139406;
 Wed, 08 Oct 2025 08:54: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 <SRS0=eGu8=4R=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v6Pw7-0001I2-Ck
 for xen-devel@lists.xenproject.org; Wed, 08 Oct 2025 08:54:15 +0000
Received: from mail-ed1-x531.google.com (mail-ed1-x531.google.com
 [2a00:1450:4864:20::531])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5ce493be-a424-11f0-9809-7dc792cee155;
 Wed, 08 Oct 2025 10:54:13 +0200 (CEST)
Received: by mail-ed1-x531.google.com with SMTP id
 4fb4d7f45d1cf-62fc89cd68bso15106829a12.0
 for <xen-devel@lists.xenproject.org>; Wed, 08 Oct 2025 01:54:13 -0700 (PDT)
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
 a640c23a62f3a-b48652a9bf1sm1590871266b.13.2025.10.08.01.54.12
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 08 Oct 2025 01:54:12 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5ce493be-a424-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1759913653; x=1760518453; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=tGUOWlooVM6ju6kF0MZQsxSBmAp5YoVHWUCm0BnJM34=;
        b=I1pi4+akaPjYxMciiaUu1KikQ4zeVc45Oa05n7NNPWFbDwWXaRFacuTFLfOgOm3g4z
         7mnX1qlHag6+0B2HKAbyjBEH0SpICeZrV/pGS5JjJ0MiGo/PryJyRk7Kktw6FRHZGD1a
         hFkEfSRhnM0+y4cOjm6i87I7RCwZ5OmJYIh5C1dbsyqN9pun4hIGJEwzbcyyxuArn0RF
         P1VToksRP6YdDJZST3J6unaSLHQ50iIoMNWVoCSLAzAdTNsXkQqY5jvR+XEjgckCkiGt
         Ook8tWV+nAmbhzDoJ5h4aN/kUTv6JAOR+bxWLzWTEcNv7SE3yAl6Zt7NrBbe9U2pbp4A
         ZMQA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759913653; x=1760518453;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=tGUOWlooVM6ju6kF0MZQsxSBmAp5YoVHWUCm0BnJM34=;
        b=isT5P3zs/Gy/jFQUrj/afPuBYSk2XARcfD4GuqbOWRUzzwPx3yohqUogrfHv6bic/7
         go+39OrcQVYAayTjrZf28oH0vuq7dqH5a1ml7lTf4xRj9kVzXqSHSfj/DbrCHqahrqtx
         dwjUDrfIZO6WT30lvAJ+JlvCmjJQ3Uf0KdTrY6gcWJfvzZMlP/VF879YdtI7ZAipsAQC
         CdC2OklUk3/iJp9b6eRwTkfN0NNAi7JtxsLW/Zgx5GZBiWP+jxryyMf1q1lsHFdjuPD4
         GZeau19xChAXzNWsK4dYhxC6gKF9VsoVhiQeJJp/q3kRfhio0KKKotpgB3K/wKAlUMCA
         QGbQ==
X-Forwarded-Encrypted: i=1; AJvYcCWpP7N2elaB/3vrHF9upjTnHafl2jzB2XWKAva3CJOYz+4r8nEyTKrINlniN1Y6+BpM+woEOa1UUOg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzdtrgjE6GArrBHU2AqIApDz46ruhYCYtvUO6dTB8oPUMEGjMit
	Vo9Fxa4pvl8Y7Q3AjSFrqIyzIvQTkAZJr7RtPwvGl1THj+bLmpokfjkR13Px7zzqig==
X-Gm-Gg: ASbGncsqPtsgeIJuwh5RWUWFTJHT8EsMl9Uq1BcuugugkECeBe9WHVAO+oDjipjGB+K
	CUBS1zgDA9DpJHSF2HLh0hbpRC1lZUTIDvVHuDWIofd2Gy1BwpxymnYNoGwVfBbHx2UBJU+p2KV
	TZTZEZzQv5upoX8/GHKmzJhtpFiSZ7lU1QkC9Qd9oKG4g79vztrGFiDpxnf9FPFmMgbpCdtYzYr
	XoadtsRq9yy5G6P887Hsl+EGJGEvQIXTm5vaG8kBkJcOaaMnTTYb6Sx1TKOE34XN0lsPuNo40cX
	wvU5qYs1cKaXDwKvSDsv8JEX3ibFY+14R+kpdbPOLhdD6FC028Inbr6MPVAtlKfcMAa/2l66LFP
	k9jj++ZejYEP7CCR9j1tUD04NEnkIXCXT1xDSqtvKItLZBTJamh0+qmnPFYB5UKhV6iDSN5nurX
	CDv055OzsgBdFJqGVgEVyUVyXBWACenkujefk4A9yM0g==
X-Google-Smtp-Source: AGHT+IGVrYjgMtlQ91x2itJB+rssp2avrEPVDKb8zPLsVTsmtANywrdR30F91s57nC3rWIK0V71TJw==
X-Received: by 2002:a17:907:7b9d:b0:b42:f820:b7c with SMTP id a640c23a62f3a-b50abab5c0bmr294564966b.41.1759913652893;
        Wed, 08 Oct 2025 01:54:12 -0700 (PDT)
Message-ID: <bcd01902-421d-48c2-94c7-a8c0db1a8b48@suse.com>
Date: Wed, 8 Oct 2025 10:54:12 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 13/22] x86/traps: Enable FRED when requested
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
 <20251003225334.2123667-14-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251003225334.2123667-14-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 04.10.2025 00:53, Andrew Cooper wrote:
> With the shadow stack and exception handling adjustements in place, we can now
> activate FRED when appropriate.  Note that opt_fred is still disabled by
> default.
> 
> Introduce init_fred() to set up all the MSRs relevant for FRED.  FRED uses
> MSR_STAR (entries from Ring3 only), and MSR_FRED_SSP_SL0 aliases MSR_PL0_SSP
> when CET-SS is active.  Otherwise, they're all new MSRs.
> 
> With init_fred() existing, load_system_tables() and legacy_syscall_init()
> should only be used when setting up IDT delivery.  Insert ASSERT()s to this
> effect, and adjust the various *_init() functions to make this property true.
> 
> Per the documentation, percpu_early_traps_init() is responsible for switching
> off the boot GDT, which needs doing even in FRED mode.
> 
> Finally, set CR4.FRED in traps_init()/percpu_early_traps_init().
> 
> Xen can now boot in FRED mode up until starting a PV guest, where it faults
> because IRET is not permitted to change privilege.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Wed Oct 08 09:47:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Oct 2025 09:47:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1139418.1474785 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6QlK-0007fN-TP; Wed, 08 Oct 2025 09:47:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1139418.1474785; Wed, 08 Oct 2025 09:47:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6QlK-0007fF-O9; Wed, 08 Oct 2025 09:47:10 +0000
Received: by outflank-mailman (input) for mailman id 1139418;
 Wed, 08 Oct 2025 09:47:09 +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 <SRS0=eGu8=4R=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v6QlJ-0007f9-JZ
 for xen-devel@lists.xenproject.org; Wed, 08 Oct 2025 09:47:09 +0000
Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com
 [2a00:1450:4864:20::630])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c11e4254-a42b-11f0-9d15-b5c5bf9af7f9;
 Wed, 08 Oct 2025 11:47:08 +0200 (CEST)
Received: by mail-ej1-x630.google.com with SMTP id
 a640c23a62f3a-afcb7ae6ed0so1194860966b.3
 for <xen-devel@lists.xenproject.org>; Wed, 08 Oct 2025 02:47:08 -0700 (PDT)
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
 a640c23a62f3a-b486a174a6dsm1621730566b.90.2025.10.08.02.47.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 08 Oct 2025 02:47:06 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c11e4254-a42b-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1759916827; x=1760521627; darn=lists.xenproject.org;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id:from:to:cc
         :subject:date:message-id:reply-to;
        bh=8R14+hIPaV9qvThetEOUX9zsCmgblhPeAQ+hTiFoQMo=;
        b=Wlfj8vhG4J2W0nv68o4GpSQckdIOfgFX5Ki36/78B48HS9OrUiATemqZAi8/dhiMJY
         hLcUJJ3RMMXepRPHPCShG8lNupe4Zs1dri+TkAHjUCTYCOjeNqGa4WhDHvWNrJog99dp
         huJKGtXp2MhWqG/7FYKn1vBtlGjsY8V7SBMCub6VObov01eTpdpoQrgb0IQCvFDtv7Fz
         8hPdFFKNd9Pjc0d0p1YdJQ58Ecrr7yUcZfKUjZG2vX1av3pYdzWM5xIVXAuDWGdD4+dQ
         HdBbmaI3QJgJs/WVn53gYnPrYjE2U5ozyjWzT1VDhvDEk4edVe64KWifhlOnZAJo9zBh
         BZIA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759916827; x=1760521627;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=8R14+hIPaV9qvThetEOUX9zsCmgblhPeAQ+hTiFoQMo=;
        b=HqzfITuL7XUJTl2AvoRJWxlIlYOctuyz1D1NMplFVNVlWpAxuJmknZ5kCJZ/1ygmIs
         hfn6jcO7pGitCM8ZnJvDdkx+ink+iN6clukZU4dc2oxearUD3ANnw+E3N8H9HIW3SgiW
         vzSRx2klJZbHaQ0+cICK85cnKS9awP3nCj0mFmKzsbO+0vs3uu0wA6cxnmWsfyJOlIlD
         44us+u7VEKa4Uhtpt+If7Lh0emTn2xAHDgmTF0Qcf5gE03A2DaNZhM1hLFLDKqT0owT5
         Eu1usU8dPQtcma3EJRmIOy2DbSBoIrGtbYrHd56kcmqnTOIzyto3t8u4U2PoWnSxu7xY
         LupA==
X-Gm-Message-State: AOJu0YxRkptU25kbqF+AaHOOHdZmbVE3F98j4Ou8IoV+v75IgkOjn5pV
	NecbkGFpyod4dIoFmHBVvJWXWgb+bKFszzrkAI9Bhw7i0o4wRr1HuZPCxSuf0dD5+EQL+d6Y5gw
	1v5g=
X-Gm-Gg: ASbGncuZFzjyMGXHTSdduP9kZECosYjgva8O5+HLs9RIRxh0pZ9CbIn85y+i1Hm0tCw
	K88aj7+DJeh07xXj5TncFH4nzARC+P/6KPLtTgcY3QlKamBwpfLgiINONnUgHPufYguQZnx5/WE
	YAVvJPE5MHxDAekRQTzhaAZhLLjTNXzJOmfL0icpaBZSLLF1IaS4enyZ0x2txT7nmuKDURzbrn/
	2ivpmLPWA2ZJQT3XqcT3y3bK6eYu+61abyUY8HWuz8WdEN5qQewBcwyry5FQwIS+YD1rJvKxA9r
	4h3304NrTbu/5YDt05hNEwQeGSGsqhMf4NtCWVM0wC4y7ca5xFYcaGPEobxLR2908s05bz5OVJN
	LzIbVWA0Gfik/R+jiHtPnGY/vyqYzLZ5QQyIQHro+DTz3KywoXLqKCIRFB2IigANq2u5RSDEXh0
	ZR0EVBUbqWAPTsU4z/Obe3T8zNC4ouUgg=
X-Google-Smtp-Source: AGHT+IFQnKJwELUHbHxcThMndDBljkERWF+t/+TbZHsYfoB/7bYTt/a5P35UDKnBAOy69+zrn9NxgQ==
X-Received: by 2002:a17:907:d1c:b0:b2d:d7ba:8e7b with SMTP id a640c23a62f3a-b50aaa9ea3dmr311288866b.23.1759916827452;
        Wed, 08 Oct 2025 02:47:07 -0700 (PDT)
Message-ID: <4d985a6f-59e2-45ea-bc3d-ecd2da032a17@suse.com>
Date: Wed, 8 Oct 2025 11:47:05 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH for-4.21] tools/tests: don't pass -E to sed
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
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Even the 2018 edition of The Open Group Base Specifications Issue 7 [1]
doesn't name -E as a standard option; only Issue 8 [2] does. As there's
nothing "extended" about the expression used, simply drop the -E.

[1] https://pubs.opengroup.org/onlinepubs/9699919799/
[2] https://pubs.opengroup.org/onlinepubs/9799919799/

Fixes: cb50e4033717 ("test/pdx: add PDX compression unit tests")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
In principle the -e could be dropped too, for being redundant.

Hitting the problem with an older sed pointed out another problem here as
well: The failed invocation left a 0-byte pdx.h, which upon re-invocation
of make was (obviously) deemed up-to-date, thus causing the build to fail
again (until the bad file was actually removed).

--- a/tools/tests/pdx/Makefile
+++ b/tools/tests/pdx/Makefile
@@ -35,7 +35,7 @@ uninstall:
 	$(RM) -- $(patsubst %,$(DESTDIR)$(LIBEXEC)/tests/%,$(TARGETS))
 
 pdx.h: $(XEN_ROOT)/xen/include/xen/pdx.h
-	sed -E -e '/^#[[:space:]]*include/d' <$< >$@
+	sed -e '/^#[[:space:]]*include/d' <$< >$@
 
 CFLAGS += -D__XEN_TOOLS__
 CFLAGS += $(APPEND_CFLAGS)


From xen-devel-bounces@lists.xenproject.org Wed Oct 08 11:21:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Oct 2025 11:21:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1139493.1474810 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6SE8-0003PS-K3; Wed, 08 Oct 2025 11:21:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1139493.1474810; Wed, 08 Oct 2025 11:21:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6SE8-0003PL-H7; Wed, 08 Oct 2025 11:21:00 +0000
Received: by outflank-mailman (input) for mailman id 1139493;
 Wed, 08 Oct 2025 11:20:59 +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
 <SRS0=tb2B=4R=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v6SE7-0003PF-8M
 for xen-devel@lists.xenproject.org; Wed, 08 Oct 2025 11:20:59 +0000
Received: from CY3PR05CU001.outbound.protection.outlook.com
 (mail-westcentralusazlp170130007.outbound.protection.outlook.com
 [2a01:111:f403:c112::7])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dc336337-a438-11f0-9d15-b5c5bf9af7f9;
 Wed, 08 Oct 2025 13:20:58 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by LV3PR03MB7753.namprd03.prod.outlook.com (2603:10b6:408:27e::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.9; Wed, 8 Oct
 2025 11:20:50 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9203.007; Wed, 8 Oct 2025
 11:20:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dc336337-a438-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=mMxAaQUSwXUxiu5F2VmmByTuAFIAOZ9zKQGK1jrA8xytihgyPUvkjSSUR7OVql6PON8is1dB69EkmLtasAnOVTwiAU883CJCSwrp/AguGba18vrA4ru6uKz89QvDPwFvKWez9S5lmTwaYngpEh4QxqxbBa/QD71ZePw9h5Tylqeg8bPU/Ts7PE3+OqL6Z2lO16w09Yr0/kOyxf2wUA6fo/K4fyFr4aHakol1fWi5Un3FQ54TiMh5rMat4gsulqVpb3mU7EPe/qLLJGWqrI1FCfGpkK+Z2vTM/QRGdnpXraGaTAGi8CHsbEqAPfubLe0PHfvb9MnhfPfBO/hzSNjy1g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WAwfEor0eeNDLD4xKHvx+T6kCTdocB4ZJ+8s3n3siJQ=;
 b=bwxFnKSSDU0ZCOgPp5qNexfRoWLudTLcXtrrBLRaI9WxzdxSAR/pOrgQ8+rNnjBIWiK/SkB0rvfkjK90VGhpBXA6EPLFDIrQfjMmvg57RXTG2PzExsNhTxT3Kqu/ldzFzoRdqTzjkfzQr9ErAsGuyfHNZiWYcdSxNEKaJSE/NrgG7VsaVM0RoRj9xIv8hW5Fc6wnbDVF7VZSOV1JnFxueGUfpu9DD5FIVfcBa87xFvK+vrRwEQ6W1G7YZUQtbOGHBD8T+05kaPdXUDwjriBNQNgx5pFwssTNdOACAadkQO55H9rT4MU/xCKziAh0+I7pJkSP2kZKqd3RTXFfBDefSg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WAwfEor0eeNDLD4xKHvx+T6kCTdocB4ZJ+8s3n3siJQ=;
 b=ZsuHZkxi2bA6WKAWt8z0rjZ1SaQrecJHFk5DNuukmxJTeYJjq+tsXj0kB8w6/6Re12wn/s1DWR4lnljpS0f/2scXqh/04fxXM+4YFXYIOYhRcxjXw7rX/1y7mPbcZszP3Y5lkJXNCTq/HSOOIfW5fHYKQuJ6hLTADdo0efrnFYU=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 8 Oct 2025 13:20:46 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jason Andryuk <jason.andryuk@amd.com>,
	Teddy Astie <teddy.astie@vates.tech>
Cc: Jan Beulich <jbeulich@suse.com>, xen-devel@lists.xenproject.org,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.21 1/2] x86/AMD: avoid REP MOVSB for Zen3/4
Message-ID: <aOZJDh9vwbcTwBIy@Mac.lan>
References: <8ecbf8b7-91fe-4f9e-9542-7ec22b6a47bb@suse.com>
 <6bcaa5b7-4e34-40c9-85e6-48a0a5869b86@suse.com>
 <485889ed-2820-4bb3-b450-88553dbb719e@vates.tech>
 <f42bb989-c9e5-43d5-82e2-9b6f95c008fa@amd.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <f42bb989-c9e5-43d5-82e2-9b6f95c008fa@amd.com>
X-ClientProxiedBy: MA2P292CA0027.ESPP292.PROD.OUTLOOK.COM (2603:10a6:250::16)
 To DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|LV3PR03MB7753:EE_
X-MS-Office365-Filtering-Correlation-Id: afc13708-b7a6-41dc-93ca-08de065cbc21
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|366016|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?cktLNHk3WGlEdEhLK3NqK3NpRWY3dXdWNHUyTzA5WlpvNEdpM2tyMEtBUXha?=
 =?utf-8?B?aTVuRGJZQVRDaDNZczN3LytYd0djK2duWTZlUHZuMC9XcFdudkV4RVJldHZO?=
 =?utf-8?B?QWxPMEt1WHhkeXFLU0t3WEJwUEFrZW1ZUmEvT0hOb0RBQU5qQXBRVFFIYitv?=
 =?utf-8?B?c0tjMzBXRUgrRmVidS8xZzFSRHVEWm9EVWtIQ0tEUDlrckpGRis2SHd0b0Zx?=
 =?utf-8?B?Nk51RlZ5djJzRHh0SVJDS08vUW4ydWUxMlB3azdleklJdXZMcE12YXF4eVNh?=
 =?utf-8?B?cXVBczFqYWhJWGx4dEZEWE84Q1hmeWloeHRKRjJHQUo1eWFhc1BqMUZ2MzNL?=
 =?utf-8?B?MnBKTkU0SXRmeXJFREIxOThNR0h0bTd0RWRjakJIMmkwL0YxSU43b2pyN2ZN?=
 =?utf-8?B?ZWtGQzVDTkhIYUwwSnJNTUJHNEZGdFlCT0kvb01yTDgwQW1uTm5tZzVmMjdo?=
 =?utf-8?B?YmJRWmhRN0s2TGloaFZGUFp5ajBUY283SmY2WVllRFZPRVFjR1hDdXEzajFW?=
 =?utf-8?B?eG9nMGMwYjZDUEFKVVBOaDVjSkQ2VmIvcndrTWx4SWFLdXZ1eXRlTXpnUXZn?=
 =?utf-8?B?Uk9HN2NMS29qbTE5SzIxN3dmUUVXb2NKMnFqdE9NOG5hRVhwdmlHV3pHQ2RK?=
 =?utf-8?B?ZTRZNXpYZFphR29jMEVzb1YyN0FoL0FDZ25vQzJrZDk3WEFRVjNIbGtTVUh4?=
 =?utf-8?B?RDBXUnlVYmVURFZlRTJnTEtyS3hlcWhyMkcxSjJUTnE5b2QxR0NHMFRhbERT?=
 =?utf-8?B?QVRmblpNOTZmdUZGdExIZlNSNjFFOEFuZHo0cFk2d1JTNTZqbklFYnF1MkMy?=
 =?utf-8?B?b2lkRUhGWnI5L1RXVEJ1SllSWkkwNyt6YUlFRHZyaGg3WDc0Nno5Z2gwYXo4?=
 =?utf-8?B?RmFLQWRWNDNJTTRrai9zKzAxRTcrMUUwRmRpK0RVN21yTTBqbjJ6Tmc0MzNx?=
 =?utf-8?B?YjNVeDlDZ1BCMFhZbjNGWVRMcGJML0pqR1Nwc2dFaDBhZG5pRkZCcGxRVWwy?=
 =?utf-8?B?cy83TkcwUlVrTm5QMFZWc3RyaFo3VjhmQlh4dEhyeWVJazFIU1JEOE5CdGNr?=
 =?utf-8?B?cjVrS2dndzBET2xVY2hIbmptVUlUQWkzWGRuK2d4ejVRcWYvYVAwY2RDTnVX?=
 =?utf-8?B?Q3JmcUVFM0wvZjAySjJTeTkycEM0bVNQUmh4YXpoRGpLSnJ1bnVrOGd1eFZa?=
 =?utf-8?B?RzVRaFFXYnVwWEgwU0VCNm5CQzBvMFlmbm8vWldEZ1cvMjEwTVJaY3J0Vzli?=
 =?utf-8?B?dEoza0o0L242c3ZSZXByQWxNYVpuc1FqMVpId0JtR1BEdXcralNxRS92cy84?=
 =?utf-8?B?cUlhNDdjZXFzenRhV0lHWGhFQS9DOCtldVRsQ2V0SXNWMDZ2dTlvNnBSNHAz?=
 =?utf-8?B?bXpqZnU2YllvcXRIem9tWVZhY2tJQS9YQjVITS9ScDQzMnlwUlNRZit3RVc3?=
 =?utf-8?B?enBnd1hkK0VZbUw0VUZWSm1pNUM3bzE4Wk5rNTRUY01qMDRRYXM5dFkrYkxy?=
 =?utf-8?B?SW5aSHNCOXFQOGRRcXkzc2tLc3Z0NDliWnV5ZVRodEtTTW9WZlplM2JzRXdB?=
 =?utf-8?B?eUM2ODhUUDdlcDJ1c29TaytlTVFMekFOOWwxQ09SZUs4Q0RxVGpqa2FMNGVJ?=
 =?utf-8?B?VXd0ZXBBSVEvbFNxeUFKUVNDcXJ1SEtWNzE1enpMWW9QVGk5UmE4dEF0bFBt?=
 =?utf-8?B?VUlVWkRTZ3FGVHlhazRESW1WUmpFbTMzaDIzR1UxSnhSWHNiK21GNlFCVm8r?=
 =?utf-8?B?ZEExRXJkTCtQSWY1WWNLTFdKcjVWODVtUHl0TnRGdGt1dkR4WHhBZnBxZnFI?=
 =?utf-8?B?SE5Qc3dpcXFCbS90YS9ad28vR1RXdFJkVHJzQzBzRTNWQ2JzS3MxczBRSGZz?=
 =?utf-8?B?cVJsd0cyRjZWakxlUE9haXFON00xSGhxdWZaY3RyTXQ2b1h6UG54MVQzWGRm?=
 =?utf-8?Q?W9A3MEM+S7FoOsgyRKgQVtX0A7zqw7VH?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WHdxSWttb0hDQlg5Rzl1VFhHTDdOR0FSeVd3NHNZaVRINHAvQlZLbVZvenBj?=
 =?utf-8?B?MU5zTzl5YnZNSU4wNWpWR0VCdE1scXBaTGxwd1ZiWlordzg2VjVRUnBzQkV1?=
 =?utf-8?B?ZXBwbG9UWnkxYU9ibzArTkZGR3llMEczL3g2cFd0cXVQdi8zS2xNWTd6QTN2?=
 =?utf-8?B?ek1UeFB6bis3b0g2Qk5xV3doUlJQcmJhaDFkU0I2R3lDeGswcjJwYngwVGEw?=
 =?utf-8?B?VXZQR0NKYjlFQlBDRm9zU25pVXhNZkZNVE9kS3NaQUlPNy90YVdnUlRtZU1U?=
 =?utf-8?B?R3NxS2luRHdNN2JVRUUwdTFaRHAxcG5NaHIzdUozTEFNTUpjdmVCcjZIZkk4?=
 =?utf-8?B?Wm11Mkl1aEovK24xTy9DVnhFR0E5RDArU0xnaFlzVUlJY0hXUnN5TlgwOTl2?=
 =?utf-8?B?Q3U5TUVaeEFqUjBpUUphMUt0MEVsbGpOVk9FNnlBTUxtTjBFOUpKaS8wZmJv?=
 =?utf-8?B?RkJ5NUJONEx6U3VwTlZVaWd4N3lxalFuUVo0bkVOZ01PQklzTklhMGdoUW5V?=
 =?utf-8?B?R2NQd3kybklxWTB4WEsrdzdnaC9kcVYzVitGYWFDMkdJK2VJOVVRakpTZEJl?=
 =?utf-8?B?N2JUV1BlRXNNRzFHRDNhUEJIQzBjbmJ2ZHJKQVRBQ2FIUjNYSTdIanZyVlll?=
 =?utf-8?B?WDA0SlBHdFFVMElFTE9LR1ptWldFQVltbnBMa0NZKzRneHVCcGp1aEVVTXFY?=
 =?utf-8?B?RlpVanRhckd4eTJkdVdtcUFpcklXcnBFWlI0VFlPc1JwbUVxUllEQWV0RnRW?=
 =?utf-8?B?QWI3L0xZOWJzODhmcHphcXBSSlFJMXN1L3JrYUtRMkYvbkNvVXZSZGZwbkdD?=
 =?utf-8?B?OUtBVTUvSGxaK1llalM0K1Rma2ZoMVdja0kzbzJKQmU2WGd5TDNzM0JLZmhN?=
 =?utf-8?B?Y1ZkWFViUXdpUHptVFppTjN3K3FzVi9UdzJjSEVTV2ViK0tUb24xOU5nU29w?=
 =?utf-8?B?SkpzeDRjOWhGc1ZoTzN0eXF5YVp6Vkg5bVBRUVlua0psd2Q5R0thMVNoU1Rv?=
 =?utf-8?B?ZUEwYkt4T1U5ZzVxeWN4ZlkvZ0sxb2gwWU85ZlBGOHNaNkV0ZTZtTWsrVUg5?=
 =?utf-8?B?T2xLcVN6bUh3a2dBOERtQVUvV1VmSWUyaC9tTnRhb3lYYmw3NFgwS0RMYXQ3?=
 =?utf-8?B?eHY5Z2JGbGVrakJvcUNaaFpZQUdTOHAySFRIcTZLUzNUNHk2UFlUeXM0cG5W?=
 =?utf-8?B?a1p6eHJubGd3UlZLSk5YaDh2VTVHRis3WlJhNStMUkVQWkphS25BbEpIV3Ey?=
 =?utf-8?B?UzRBSHNGcEY4K1FkdW5pcjZ0TTJDSDdQdm5SVkNGaFo0Wks5YmdVTHFxbGE2?=
 =?utf-8?B?WmxqR0hEckQ2WFVDMUdpSU4xTGs3MnlwQWlEbjFldTNpVldTelp1emJCR0dX?=
 =?utf-8?B?VGNlYmRjVjJJUHBpb1ZCUEs0MTg3b3BwcmlWZGR5UTlDamdrQmI4NEowNVJn?=
 =?utf-8?B?UFYxWldMeUFVYSttcVRDdmQzY1BkdVlPTzBnZDFFRmJIejMvTmlUSTJWWlla?=
 =?utf-8?B?NDgwdzh3SEVtbFpFVGNDL2FTZ1dlTUpwTjFrUU55QWZYcVNXOCtFYlBIQzZP?=
 =?utf-8?B?ZFBqdkVrUmFlbFJ1NE9ISmxYbzVJVVlpclBvWGVFWEdKK1RiQWk1dm1nbm92?=
 =?utf-8?B?eFc5RVZOUGJYa2pRRWd5Ujhsb2hiSlc3L2o5RndaQ29taysyTUpNN2FwSHpK?=
 =?utf-8?B?anFUTEJOYkpuUUZqSmdIblorVktvbzZVUE4zVXhOQm9qK040eldqOVBmYnY4?=
 =?utf-8?B?RXlVdDNFa2s4TlZyTnJabzJtbGtZck9ubHBiQW42UHdoTnRkTlFmUDdUaXUr?=
 =?utf-8?B?ZFdRUGhkSGdUVXdxTitUbit3aE9qWHVDb01Ua2xycGNXdzVHRm9rV0tOc25a?=
 =?utf-8?B?YUpVMG5TMTVIZEQzMmttOWhDWUdoL3dFanpxR1kydXk5UHVUMG5CVElEV3lp?=
 =?utf-8?B?eHBHSENxRUk0UTZsNk5EQXZIRGZlV1l2WXZmcHVzT21rdmdtMVBRY21acVF5?=
 =?utf-8?B?cXltNm4wbGhIN2RLMVl4K3RUUkducXVvVys5MEF0UEQrcklzbS9FZ1M0b0hZ?=
 =?utf-8?B?WUJ6RjJyaDE0aVVDYm9FYkJCd0d0TUlROGxIMDZqU1VCSWxOVTBXMWlBM2Vk?=
 =?utf-8?Q?zkJmwT7+YtEc8D4Az1MtOW+gb?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: afc13708-b7a6-41dc-93ca-08de065cbc21
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Oct 2025 11:20:50.1009
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: WhKCLMozzRhqDVLzx1vL1rg4X0jNL+4aCVsIYtzG6OM+VnFK+HBA1M1kZSyTOo05iXxsIkcr2bIY6zzfYxEqTw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV3PR03MB7753

On Mon, Sep 29, 2025 at 07:35:53PM -0400, Jason Andryuk wrote:
> On 2025-09-25 08:18, Teddy Astie wrote:
> > Le 25/09/2025 Ã  12:48, Jan Beulich a Ã©critÂ :
> > > Along with Zen2 (which doesn't expose ERMS), both families reportedly
> > > suffer from sub-optimal aliasing detection when deciding whether REP MOVSB
> > > can actually be carried out the accelerated way. Therefore we want to
> > > avoid its use in the common case (memset(), copy_page_hot()).
> > 
> > s/memset/memcpy (memset probably uses rep stosb which is not affected IIUC)
> > 
> > > 
> > > Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
> > > Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> With Teddy's suggested change:
> 
> Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>

Acked-by: Roger Pau MonnÃ© <roger.pau@citrix.com>

It would be nice to have some actual figures whether this makes any
difference though.  Teddy, I think Vates had been doing some testing
in this regard, do you think you could measure whether the patch makes
any noticeable difference in PV network traffic for example?  (as
that's a heavy user of grant copy).

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Oct 08 11:22:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Oct 2025 11:22:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1139508.1474821 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6SFw-00040B-40; Wed, 08 Oct 2025 11:22:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1139508.1474821; Wed, 08 Oct 2025 11:22:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6SFw-000404-05; Wed, 08 Oct 2025 11:22:52 +0000
Received: by outflank-mailman (input) for mailman id 1139508;
 Wed, 08 Oct 2025 11:22:50 +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
 <SRS0=eDDy=4R=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1v6SFu-0003zw-DQ
 for xen-devel@lists.xenproject.org; Wed, 08 Oct 2025 11:22:50 +0000
Received: from fout-b7-smtp.messagingengine.com
 (fout-b7-smtp.messagingengine.com [202.12.124.150])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1e352a5d-a439-11f0-9d15-b5c5bf9af7f9;
 Wed, 08 Oct 2025 13:22:48 +0200 (CEST)
Received: from phl-compute-09.internal (phl-compute-09.internal [10.202.2.49])
 by mailfout.stl.internal (Postfix) with ESMTP id 10E951D000F0;
 Wed,  8 Oct 2025 07:22:47 -0400 (EDT)
Received: from phl-mailfrontend-01 ([10.202.2.162])
 by phl-compute-09.internal (MEProxy); Wed, 08 Oct 2025 07:22:47 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 8 Oct 2025 07:22:45 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1e352a5d-a439-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:content-type:date
	:date:from:from:in-reply-to:message-id:mime-version:reply-to
	:subject:subject:to:to; s=fm2; t=1759922566; x=1760008966; bh=/c
	u2AmkFqeE42OtFNStfcQiDZvkP/s9/PGI1GxMLXv4=; b=UBteTneGYywlWzGKM0
	bTuTurvb+iPtY1ZK0RPYL1pdQ7hfLrHc1OCUnBzKU471zT3IW0oxM6RNNVgzTF4o
	CCLoCeFTj/O1nMQH4YGI47phYipi5JA2XMZ6vr7yjDPJwNJrlxiYXpMnT9o4jGup
	CKttjNUolWvfvmEs0hScbH6mWRDCNG2WcoXOA2W5IyGB1nD9c7Il3DJIAD0JHHYl
	mM+HyX8UPfpvC76cQDjX+t+gK63pQJm+d0OlnNfmCpOgQ3dqCY35EP0ZqJ+Q9gkE
	AtumDwAhB7Lxe5jDwPzGkWAxBOAlprbXMMnfMQivIrX+DyEKi5FZcdoRiybYf4qk
	NhgA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:content-type:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:message-id
	:mime-version:reply-to:subject:subject:to:to:x-me-proxy
	:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1759922566; x=
	1760008966; bh=/cu2AmkFqeE42OtFNStfcQiDZvkP/s9/PGI1GxMLXv4=; b=C
	MwJELz/W3UOea2xH8d+TO/rGo/kbgJ5vwZRGKYWgk1hyDmN+oIIycHb544hHL2pE
	GkzQ/mr2KEqGI6Q63mM9hqDSMsgAMnEZjmIvAvGJEL5MIms6f+EwQlItNzALUYum
	sHWP5U/OYBJLm64Fq84Hll1rq5MzfY5c/nYZDVqhcH01wMIVlce5CB2B1Ra/HLaN
	e/tFP4pQonrGQ4wD2pRTEGHK1MjsdH85XFseMJWXr8tP+Xox9RYYcRRjME/MrVSr
	+AE4L/pLsNsUbq4rIiQBiBQ/KYxwreanTeZTtf1igmUsIsvBXns1gb6RnDkjN4Ud
	yR1+TCDFnHAMp9bIP977g==
X-ME-Sender: <xms:hknmaEi69fr4KYEYt1U_n_DxckV7fveo-Y9arPvDdj2v_BAogaaiwg>
    <xme:hknmaDCg8KKWNfgDei-9zXLhI_gxwiYIencAEOe2B4kWhy-9Wibi7ML97GogjBZ2P
    n2oeXjrMcUJ4p6i7edv-8Q1YtFEulwVMXyhvSBh7Ean3Lpm>
X-ME-Received: <xmr:hknmaJtK6BCRMoPkSOxZ6kHa_2LBLBAs9HmY2Vp0DBCLLlz-tzLHgIIQosgsrw_Q_qYZ62C5YY7G6HH8LRPFZWcr1lvxPZwvf50>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdeggddutdefudeiucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu
    rghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujf
    gurhepfffhvfevuffkgggtugesghdtreertddtjeenucfhrhhomhepofgrrhgvkhcuofgr
    rhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinhhvihhsih
    gslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepudfggfeileeu
    ueektdfhffelvdfhjeeffeehueeikefhleduleejjeelgeejudffnecuvehluhhsthgvrh
    fuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghksehinhhv
    ihhsihgslhgvthhhihhnghhslhgrsgdrtghomhdpnhgspghrtghpthhtohepvddpmhhoug
    gvpehsmhhtphhouhhtpdhrtghpthhtohepgigvnhdquggvvhgvlheslhhishhtshdrgigv
    nhhprhhojhgvtghtrdhorhhgpdhrtghpthhtohepjhhgrhhoshhssehsuhhsvgdrtghomh
X-ME-Proxy: <xmx:hknmaAZPrT4JF3lbIQgmm1WAErF-MVb4MNGpRqUvbvqYbZrFv8whsA>
    <xmx:hknmaEWHGFxnGk1vaV_dN1Nr1ZPa8r54C0Wdy8oObHKCCgofP1IdeA>
    <xmx:hknmaM6BLWctt7lP7nIGNGR48VrXU1ELD5O7hkm6OCuTM2DVb-mrNQ>
    <xmx:hknmaHgLfPqhEpZPnihm8NuKz9mgPa_mBVbtYWY9f90KcnRfkc-irg>
    <xmx:hknmaITnfzgi0vUXRicFWrSR-a8u7R7lwJbk0dqo075p_TvL5Mgv3Oah>
Feedback-ID: i1568416f:Fastmail
Date: Wed, 8 Oct 2025 13:22:44 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel <xen-devel@lists.xenproject.org>
Cc: Juergen Gross <jgross@suse.com>
Subject: race condition when re-connecting vif after backend died
Message-ID: <aOZJhD6_F_ceHoCb@mail-itl>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="I/3cDkDYYNNpIlvP"
Content-Disposition: inline


--I/3cDkDYYNNpIlvP
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Wed, 8 Oct 2025 13:22:44 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel <xen-devel@lists.xenproject.org>
Cc: Juergen Gross <jgross@suse.com>
Subject: race condition when re-connecting vif after backend died

Hi,

I have the following scenario:
1. Start backend domain (call it netvm1)
2. Start frontend domain (call it vm1), with
vif=3D['backend=3Dnetvm2,mac=3D00:16:3e:5e:6c:00,script=3Dvif-route-qubes,i=
p=3D10.138.17.244']
3. Pause vm1 (not strictly required, but makes reproducing much easier)
5. Crash/shutdown/destroy netvm1
4. Start another backend domain (call it netvm2)
5. In quick succession:
   5.1. unpause vm1
   5.2. detach (or actually cleanup) vif from vm1 (connected to now dead
        netvm1)
   5.3. attach similar vif with backend=3Dnetvm2

Sometimes it ends up with eth0 being present in vm1, but its xenstore
state key is still XenbusStateInitializing. And the backend state is at
XenbusStateInitWait.
In step 5.2, normally libxl waits for the backend to transition to state
XenbusStateClosed, and IIUC backend waits for the frontend to do the
same too. But when the backend is gone, libxl seems to simply removes
frontend xenstore entries without any coordination with the frontend
domain itself.
What I suspect happens is that xenstore events generated at 5.2 are
getting handled by the frontend's kernel only after 5.3.  At this stage,
frontend sees device that was is XenbusStateConnected transitioning to
XenbusStateInitializing (not really expected by the frontend to somebody
else change its state key) and (I guess) doesn't notice device vanished
for a moment (xenbus_dev_changed() doesn't hit the !exists path). I
haven't verified it, but I guess it also doesn't notice backend path
change, so it's still watching the old one (gone at this point).

If my diagnosis is correct, what should be the solution here? Add
handling for XenbusStateUnknown in xen-netfrontc.c:netback_changed()? If
so, it should probably carefully cleanup the old device while not
touching xenstore entries (which belong to the new instance already) and
then re-initialize the device (xennet_connect()? call).
Or maybe it should be done in generic way in xenbus_probe.c, in
xenbus_dev_changed()? Not sure how exactly - maybe by checking if
backend path (or just backend-id?) changed? And then call both
device_unregister() (again, being careful to not change xenstore,
especially not set XenbusStateClosed) and then xenbus_probe_node()?

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--I/3cDkDYYNNpIlvP
Content-Type: application/pgp-signature; name=signature.asc

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmjmSYQACgkQ24/THMrX
1yywnQf+P9jmf46w20d371lWsS1Bm37HxcKEkjUMTV6YEZXjFH0vmK7DnrfXwQhT
Z9GwASlualC3SAq352wLsjRMxa6C8KRKtZOPZL2SRN9u5upzAuKKmtwsxCj4fN9/
GjxhMuCuzkzxI47fstBm1CrkT5Z94Le5JrddH7YQ2AdLSzKmL8Yuomw17pHf+sSk
vs3DWnluSUMmk/flfx+o2raV9zoNbULi9x/lI7MKTVtch4h9nhFZu5xUeClAE+pK
cDMBumM0+RMNyOV6fts9fuMMWkJc56jJLtk1RqFXsUu4Bh4YkmCJfB6PuAmV9T6H
7QGaftZEoxC7fripf5VZsfnwnvgQ/w==
=12ot
-----END PGP SIGNATURE-----

--I/3cDkDYYNNpIlvP--


From xen-devel-bounces@lists.xenproject.org Wed Oct 08 12:07:41 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Oct 2025 12:07:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1139542.1474831 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6SxD-0001Ei-LL; Wed, 08 Oct 2025 12:07:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1139542.1474831; Wed, 08 Oct 2025 12:07:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6SxD-0001Eb-IQ; Wed, 08 Oct 2025 12:07:35 +0000
Received: by outflank-mailman (input) for mailman id 1139542;
 Wed, 08 Oct 2025 12:07:33 +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 <SRS0=eGu8=4R=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v6SxB-0001EV-Sg
 for xen-devel@lists.xenproject.org; Wed, 08 Oct 2025 12:07:33 +0000
Received: from mail-ed1-x534.google.com (mail-ed1-x534.google.com
 [2a00:1450:4864:20::534])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5dff6b5c-a43f-11f0-9809-7dc792cee155;
 Wed, 08 Oct 2025 14:07:31 +0200 (CEST)
Received: by mail-ed1-x534.google.com with SMTP id
 4fb4d7f45d1cf-6394b4ff908so12151536a12.3
 for <xen-devel@lists.xenproject.org>; Wed, 08 Oct 2025 05:07:31 -0700 (PDT)
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
 4fb4d7f45d1cf-6378811236csm14530263a12.42.2025.10.08.05.07.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 08 Oct 2025 05:07:30 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5dff6b5c-a43f-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1759925251; x=1760530051; darn=lists.xenproject.org;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id:from:to:cc
         :subject:date:message-id:reply-to;
        bh=g7Ifth4+zrKdS40QdAI1wpWKZYdxVmm+a5pKskycY0Q=;
        b=KOkQDCHF/QtmRPpLB3p3GhRcL7hqglKHgIAc4Lvi8v4h2h/kV13rwBSH2A72qb3isu
         evZZdasLxOh8xUbjENNPWWfNCwmF2whrLDkYRuNiRjRAgRyCtw/Bf/yWCqJmqo4fJD0l
         08xBS97PFSytQi1w/C06ANbxgaQp7a52tYMJy1l5L7uBjljy90qRGudOn9KitJkLI2rj
         0ai+b1Timy1DgNsjAHpjtMMtuPh6zWYn0vqEsRhz8ttTjP0XNeu8oMqEKaqUZVvce98D
         1GTAR1IVFQ5f1NbzSPnn7D4Z0mIWHrcCOY/N1mYgKM/qW0XZKb31k1DCfoWFydfbTIQ+
         suzQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759925251; x=1760530051;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=g7Ifth4+zrKdS40QdAI1wpWKZYdxVmm+a5pKskycY0Q=;
        b=PpzyUgFzyLZJ1PTX0c/KDfofWYpc5L/26aG7NA0oHdX6TUrq9Erb+sSx0SYUJo22Hr
         JVhwFVjUbsYRBH+RNj1YCsGuziWOSIW8QC8ZlN7KDYBiyPchUxEoQl9p2LFzRqGe1w/p
         +4Fvf75tRCC2RrVW0RK/cELIoqNuEwJ8o7yxQ/mKW+0X2RP36l+1/25KWuPB7pOmA50d
         uYMNyXp4Ey+Kupzo2SfU1BvgK96qcbW/3ScsnotwMlaIU5aQZVRS7+u5zoRzaXM/8aBx
         NdKPEM8HocenhoZutW7NAKcHRFrlYa/gbYeZtsAq263szbHK58qSRI+aOd2ua62jxBRL
         xFpA==
X-Gm-Message-State: AOJu0Yw9tkM1fIFHBC3ePH9r6spto3XS0lWtxSpUVbW2mDgb5Hw3JEd/
	jypz1E7/3mh71VralLZUhkPEtXm1ApAXGtgjfb//g6c4QNYWwGps/J/0DaSIAxSrMNrI04Femld
	PUxo=
X-Gm-Gg: ASbGnct++tSoNaFUg4lb27iaMJZ+eTKj3j9DtMxFDLiWhH7lWIliKx+rGaKrS3e8qwJ
	cVsFUj/YEp9dvCYxQgebfUepWi49cck5zR1UOYDne6xgMV3Giu6aN6ApZhyZFbWU6y5WO58eMhF
	gk0rJpzCU37eA+o172qWe3ZOm7uMVu0DOlBZY8xYjKVi2rUiG7MKuA9oOm+cgOH8wu5wpxNZdW8
	O4FAuFSyeKvdyg1ONhNiCKP7ppbivghqVF796l1QStDapwKqEyYnd4X0UAm0B65zFEnyGA8HnJy
	uYzSdnxXUecvr5WVIA5+JZC7LYOjVNwpfARWSUHzQvj67w27628Y5rhO6UKs6zeEgvX/XpVcD1x
	CbtaFX21TdovuKIC5E+KVLYwlsrWyFAjbuNHEpNiCKqU/8fv2Ip4povE6QLvqGS2RzD2Ye6gcFD
	ZtawpV6M82qM2GNqkRdNV5l9bkm522EBI=
X-Google-Smtp-Source: AGHT+IGppk3PYTEa67Ozu7keRbsbjmgzhloby8HY3c+zTkhVN1HH5ARhE1BEeCE6NTU4028cfJDB8A==
X-Received: by 2002:aa7:dcca:0:b0:636:240f:9ece with SMTP id 4fb4d7f45d1cf-639d5c75d2amr2350835a12.34.1759925251119;
        Wed, 08 Oct 2025 05:07:31 -0700 (PDT)
Message-ID: <265d5053-af61-42cb-a3b9-ef60df39c21b@suse.com>
Date: Wed, 8 Oct 2025 14:07:29 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Andrew Cooper <amc96@srcf.net>, Oleksii Kurochko
 <oleksii.kurochko@gmail.com>, Grygorii Strashko <grygorii_strashko@epam.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH for-4.21??? 0/3] x86/vLAPIC: CMCI LVT handling
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
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

1: add indirection to LVT handling
2: drop VLAPIC_VERSION
3: properly support the CMCI LVT

Now having this coded up, I realize it may be too intrusive at this point of
the release cycle. Still I wanted to propose it ...

Jan


From xen-devel-bounces@lists.xenproject.org Wed Oct 08 12:08:32 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Oct 2025 12:08:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1139551.1474840 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6Sy7-0001ik-U7; Wed, 08 Oct 2025 12:08:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1139551.1474840; Wed, 08 Oct 2025 12:08:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6Sy7-0001id-RP; Wed, 08 Oct 2025 12:08:31 +0000
Received: by outflank-mailman (input) for mailman id 1139551;
 Wed, 08 Oct 2025 12:08:30 +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 <SRS0=eGu8=4R=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v6Sy6-0001EV-24
 for xen-devel@lists.xenproject.org; Wed, 08 Oct 2025 12:08:30 +0000
Received: from mail-ej1-x632.google.com (mail-ej1-x632.google.com
 [2a00:1450:4864:20::632])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7fc15333-a43f-11f0-9809-7dc792cee155;
 Wed, 08 Oct 2025 14:08:28 +0200 (CEST)
Received: by mail-ej1-x632.google.com with SMTP id
 a640c23a62f3a-b457d93c155so1272291466b.1
 for <xen-devel@lists.xenproject.org>; Wed, 08 Oct 2025 05:08:28 -0700 (PDT)
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
 a640c23a62f3a-b4865e77427sm1676137266b.36.2025.10.08.05.08.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 08 Oct 2025 05:08:27 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7fc15333-a43f-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1759925308; x=1760530108; 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=gZjlRJwLlrRPLiu1WIOHZJ9ycvL7/UqQ6qGKn5cCsGY=;
        b=Z2UpPqHSsvvUUsZutNi8vmsvducl6tmNXjibooAQX6ZHepSLAphyeIc0rga9cpj3ML
         WKige4O8IgORFlniTiNWnHGL2um1BJFjMmFcYf1i9rBOeI74J/p7sG2L+E270tBBAkzJ
         0A5TexrjhU57Oc/FKrVN5k/9Vz/J+qHyXvPkPPwDrMa6ppQ7N7Sr3hSIVWNIPAyQl9mk
         KEuACnWrkTaTawpwJ+V2e/0krL3tkktQZBhVyw4ZaX8HDHsQfOf6IxYUmrUH6wZ9R3/q
         4Vh1wfNWTQ3l1OaBnTPtNhKnTC6iiBbGk+ff1NSBnkJJBjmp3jZCvk7op/PW1539/oVs
         QVzg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759925308; x=1760530108;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=gZjlRJwLlrRPLiu1WIOHZJ9ycvL7/UqQ6qGKn5cCsGY=;
        b=qmcqII/9UJXZi+1Wi1/hJEWkLkfRF0hmhDERjEv96hEWqpb7bw/oHUv0L0A+FYpt7Z
         8uAmOJ3EoByJIPi0igvLWEm2MAYKFJC/pX1foEwdDWZVdnmACf0u+bFHccHJUHxcc71W
         gzPUdUVGRcZrya4YKQbeaxKP0cqNdzE1uspJHketUoKW4DXt9HvXavltOHX5gzM75IL9
         LBRAwbXkiMydbRIxdMNKj50Uk4zjYjotyQt8r2M83mJ7BLyPqpNi2MuIMxReFUTCkw2j
         5Dn2nzgBDyYISewCuPdEDqYAtP0YqcGSY7loIqXEVCtQ1/HJ6NxBelz/tEHrexhxikVa
         xVvg==
X-Gm-Message-State: AOJu0YzEF31xXX0Usw2+b30w5H6XRVG3HBJhKay4XVvLrWL0y9y0LwTI
	OCLy23wdxzcTTtc4dB3uwuj0Frph17uvI3X4aPNrHn+TjH6awk2pSuM2aGh2wpMnsKvNBZMdPWS
	zeoA=
X-Gm-Gg: ASbGncsmaj6yxM/YzBkBcq7hPUFQNYvkmDHcsPVOXKJDLux+JqA4lgfjMVGJltWhqps
	xszMc382UsYLPOLLe1I/CVCUZLNQTuULgHuQHZu5WOcU2hEkNzwsL6BFwoQ3emRLfYpEXAUy530
	VV5YG5bx+N4r3w6+VHE/jVG0xVeyfCA1L7FtckSwQpTmsKfWZfuDsNOujm5qNTDCIZ1eaYARTct
	8QK5k9ZOW4FkSgHk7J5U0fhgTPcw2jK9lQD2IwQ+r01iP3eHzx9w+WReI2ME0/PCg1ekSm6a6/9
	cefuaKX7kWwRAPeFNW7Po1nfE6etHjZmmShzsEksbdj5YxHuvoSJ30X0H7Ywz2DGK8XwTwW5TEX
	WS/LEJZ14XqD5bPRZUXf3iK8YeVLOtJpWtkdjT9vdWfc2HhtrMwLGAzBIdx9cnQTeukCoeWpCsg
	JjSy+H4iAtdieeJtC776X3ZeIetf6/I/3KVFBlaFKTXA==
X-Google-Smtp-Source: AGHT+IE4NQw1Jk4ost3GEY9bA/vFz/fclR1v3g3cH2l/PDpkpPu1ZHF6xt4f1f+tZk0kam7q6B5SVg==
X-Received: by 2002:a17:907:80a:b0:b48:6b19:e65c with SMTP id a640c23a62f3a-b50aba9d735mr342606566b.42.1759925307688;
        Wed, 08 Oct 2025 05:08:27 -0700 (PDT)
Message-ID: <dd6b46f8-76f7-46d3-b3be-083b58781f32@suse.com>
Date: Wed, 8 Oct 2025 14:08:26 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH for-4.21??? 1/3] x86/vLAPIC: add indirection to LVT handling
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Andrew Cooper <amc96@srcf.net>, Oleksii Kurochko
 <oleksii.kurochko@gmail.com>, Grygorii Strashko <grygorii_strashko@epam.com>
References: <265d5053-af61-42cb-a3b9-ef60df39c21b@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: <265d5053-af61-42cb-a3b9-ef60df39c21b@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

In preparation to add support for the CMCI LVT, which is discontiguous to
the other LVTs, add a level of indirection. Rename the prior
vlapic_lvt_mask[] while doing so (as subsequently a 2nd array will want
adding, for use by guest_wrmsr_x2apic()).

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
The new name (lvt_valid[]) reflects its present contents. When re-based on
top of "x86/hvm: vlapic: fix RO bits emulation in LVTx regs", the name
wants to change to lvt_writable[] (or the 2nd array be added right away,
with lvt_valid[] then used by guest_wrmsr_x2apic()). Alternatively the
order of patches may want changing.

--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -32,7 +32,16 @@
 #include <public/hvm/params.h>
 
 #define VLAPIC_VERSION                  0x00050014
-#define VLAPIC_LVT_NUM                  6
+#define LVT_BIAS(reg)                   (((reg) - APIC_LVTT) >> 4)
+
+#define LVTS \
+    LVT(LVTT), LVT(LVTTHMR), LVT(LVTPC), LVT(LVT0), LVT(LVT1), LVT(LVTERR),
+
+static const unsigned int lvt_reg[] = {
+#define LVT(which) APIC_ ## which
+    LVTS
+#undef LVT
+};
 
 #define LVT_MASK \
     (APIC_LVT_MASKED | APIC_SEND_PENDING | APIC_VECTOR_MASK)
@@ -41,20 +50,21 @@
     (LVT_MASK | APIC_DM_MASK | APIC_INPUT_POLARITY |\
     APIC_LVT_REMOTE_IRR | APIC_LVT_LEVEL_TRIGGER)
 
-static const unsigned int vlapic_lvt_mask[VLAPIC_LVT_NUM] =
+static const unsigned int lvt_valid[] =
 {
-     /* LVTT */
-     LVT_MASK | APIC_TIMER_MODE_MASK,
-     /* LVTTHMR */
-     LVT_MASK | APIC_DM_MASK,
-     /* LVTPC */
-     LVT_MASK | APIC_DM_MASK,
-     /* LVT0-1 */
-     LINT_MASK, LINT_MASK,
-     /* LVTERR */
-     LVT_MASK
+#define LVTT_VALID    (LVT_MASK | APIC_TIMER_MODE_MASK)
+#define LVTTHMR_VALID (LVT_MASK | APIC_DM_MASK)
+#define LVTPC_VALID   (LVT_MASK | APIC_DM_MASK)
+#define LVT0_VALID    LINT_MASK
+#define LVT1_VALID    LINT_MASK
+#define LVTERR_VALID  LVT_MASK
+#define LVT(which)    [LVT_BIAS(APIC_ ## which)] = which ## _VALID
+    LVTS
+#undef LVT
 };
 
+#undef LVTS
+
 #define vlapic_lvtt_period(vlapic)                              \
     ((vlapic_get_reg(vlapic, APIC_LVTT) & APIC_TIMER_MODE_MASK) \
      == APIC_TIMER_MODE_PERIODIC)
@@ -827,16 +837,16 @@ void vlapic_reg_write(struct vcpu *v, un
 
         if ( !(val & APIC_SPIV_APIC_ENABLED) )
         {
-            int i;
+            unsigned int i,
+                nr = GET_APIC_MAXLVT(vlapic_get_reg(vlapic, APIC_LVR)) + 1;
             uint32_t lvt_val;
 
             vlapic->hw.disabled |= VLAPIC_SW_DISABLED;
 
-            for ( i = 0; i < VLAPIC_LVT_NUM; i++ )
+            for ( i = 0; i < nr; i++ )
             {
-                lvt_val = vlapic_get_reg(vlapic, APIC_LVTT + 0x10 * i);
-                vlapic_set_reg(vlapic, APIC_LVTT + 0x10 * i,
-                               lvt_val | APIC_LVT_MASKED);
+                lvt_val = vlapic_get_reg(vlapic, lvt_reg[i]);
+                vlapic_set_reg(vlapic, lvt_reg[i], lvt_val | APIC_LVT_MASKED);
             }
         }
         else
@@ -878,7 +888,7 @@ void vlapic_reg_write(struct vcpu *v, un
     case APIC_LVTERR:       /* LVT Error Reg */
         if ( vlapic_sw_disabled(vlapic) )
             val |= APIC_LVT_MASKED;
-        val &= array_access_nospec(vlapic_lvt_mask, (reg - APIC_LVTT) >> 4);
+        val &= array_access_nospec(lvt_valid, LVT_BIAS(reg));
         vlapic_set_reg(vlapic, reg, val);
         if ( reg == APIC_LVT0 )
         {
@@ -1424,7 +1434,7 @@ bool is_vlapic_lvtpc_enabled(struct vlap
 /* Reset the VLAPIC back to its init state. */
 static void vlapic_do_init(struct vlapic *vlapic)
 {
-    int i;
+    unsigned int i, nr;
 
     if ( !has_vlapic(vlapic_vcpu(vlapic)->domain) )
         return;
@@ -1452,8 +1462,9 @@ static void vlapic_do_init(struct vlapic
 
     vlapic_set_reg(vlapic, APIC_DFR, 0xffffffffU);
 
-    for ( i = 0; i < VLAPIC_LVT_NUM; i++ )
-        vlapic_set_reg(vlapic, APIC_LVTT + 0x10 * i, APIC_LVT_MASKED);
+    nr = GET_APIC_MAXLVT(vlapic_get_reg(vlapic, APIC_LVR)) + 1;
+    for ( i = 0; i < nr; i++ )
+        vlapic_set_reg(vlapic, lvt_reg[i], APIC_LVT_MASKED);
 
     vlapic_set_reg(vlapic, APIC_SPIV, 0xff);
     vlapic->hw.disabled |= VLAPIC_SW_DISABLED;



From xen-devel-bounces@lists.xenproject.org Wed Oct 08 12:08:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Oct 2025 12:08:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1139557.1474850 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6SyU-00027J-5m; Wed, 08 Oct 2025 12:08:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1139557.1474850; Wed, 08 Oct 2025 12:08:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6SyU-00027C-2s; Wed, 08 Oct 2025 12:08:54 +0000
Received: by outflank-mailman (input) for mailman id 1139557;
 Wed, 08 Oct 2025 12:08:52 +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 <SRS0=eGu8=4R=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v6SyS-0001EV-2b
 for xen-devel@lists.xenproject.org; Wed, 08 Oct 2025 12:08:52 +0000
Received: from mail-ej1-x635.google.com (mail-ej1-x635.google.com
 [2a00:1450:4864:20::635])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8cfda1fc-a43f-11f0-9809-7dc792cee155;
 Wed, 08 Oct 2025 14:08:50 +0200 (CEST)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-b40f11a1027so1320798566b.2
 for <xen-devel@lists.xenproject.org>; Wed, 08 Oct 2025 05:08:50 -0700 (PDT)
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
 a640c23a62f3a-b4c7396b863sm920696866b.65.2025.10.08.05.08.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 08 Oct 2025 05:08:49 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8cfda1fc-a43f-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1759925330; x=1760530130; 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=MHZqV2u/Nz6QJJBHNe3slnvZ/gJbEJWr1JFuX4gdknI=;
        b=KAmcWY5XsxvHbdZcIUJWnCgsoUrGpL6uNCsE9ql0immVwEwHMLXIIdnp74qTbiprJP
         5nq2Zvmk/AgdOlTQlNOSpSaXCX1OKAn8pOJn46nNT4pIzNb5KWrZR9zzetWLkgoopygP
         8uKDIhEkwRuep18Bn1jzhzbucFUfL5MUrXq+SMIBpDobCgDQPVcM59onAz0THoYJtgav
         tW4zcCF5bpgHrzPjMD2Jr2JXrdLWphDaDaWpKKTpp7sQ7Mvu/xX7Y9PLceq3L72mPdwI
         DwxphQb3XNsZLGCjrc8cv+ZQraZhnc7DgYDNC9ExL3qgpCUhot13wN86Q1/61P2k1kIm
         8SVg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759925330; x=1760530130;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=MHZqV2u/Nz6QJJBHNe3slnvZ/gJbEJWr1JFuX4gdknI=;
        b=s5PZglEmI82HD5WUsOvFOHDJMLOB/1dwMuv/VW8E2DfCe0QD7xXOwGufIn3gVJy9TH
         yps4g4dm9DQ0JB9hTKB1+XaLtnFeFkU05hzmdIRxxOodywS4+odh1UAFKfRxaE4ryviS
         2CtYDSUlzUop/XFQfyNoKTMa6YWeNxex/CNPAnEDWHTBptMfN6tOmpA/zjw71q3MupZA
         UOS6Ok7UVIaYhaoq/5J0KKFGGqtpFEsSz02e21fNldXyNXp05UM65oxE5AzQY+jdvQ/o
         HRMibX8bzDJVXeYkGoVvr9bw05+PRe1D89JKDNcBzQFDFBThwj/v5gwX2N5uT6NspDDe
         YUDg==
X-Gm-Message-State: AOJu0YwKce0NV15y/lOJCzQyO6/hx32dHiiEfPk4YYMNGiVKY6Eo/oBB
	k+QbslIONEee/pgSUJDXwlCbHUaZwQiqHuaU9atfHy+J26OgjBgj3X+ORsAT2lHRgvvVE917io0
	ZwoU=
X-Gm-Gg: ASbGnctpiuedcRGqLNg//88wP4pvrPlQnc/uBCRutJvOOrMDndAOh+cyaM6AlTE/wbi
	paAgF+Onj8ODnTuLf1eWfkqbc8DCUHPDjVA/nwaBTGBjPEqd9f7NWCK5tvN4IPDYUck9uUMoDSe
	L6ZXvCJA5Iq82CdeDN15itvz/lVdncJH8F735+3SdzeRnVrFNHyMwbLueAXJ0X8k/aCRbCqcpN6
	zHXZY9W9B2zibJA01OBg3qFFYDfB0BDN3VrYTwZPCHGHXLsX7HJ9QJPtQtGtwaAdeMU9xF7/7Mr
	BkAGtmWMY87Z+xp1TnJwwotyPdNKdX39QRQDnN6r2lo0gdhXMryebA8ZFtR9G47Ww6dFk2j6qrd
	XsKJ4xKS3Q3r5D35wGW+GvkQEmSdOvC+gxUFD9CZySz2cx0m88OlPfQyzCr8TeLC+tu3wZ0C/54
	TC//mnCqIfWqgmdl45D1gMGO40tgzIrV2/92EJmsQr+A==
X-Google-Smtp-Source: AGHT+IFk+rfUs6b10Yz5R9xv/2mVnMbmLDb3xkOFaLESK5F0Scb6QGFAVLylQx9Sk2Hb9BKpdeLmKQ==
X-Received: by 2002:a17:907:3e94:b0:b4f:4c70:f61a with SMTP id a640c23a62f3a-b50abfd59a0mr415820066b.40.1759925329964;
        Wed, 08 Oct 2025 05:08:49 -0700 (PDT)
Message-ID: <feb47fa6-27a0-4cf7-8fc6-bf5f29f467c1@suse.com>
Date: Wed, 8 Oct 2025 14:08:48 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH for-4.21??? 2/3] x86/vLAPIC: drop VLAPIC_VERSION
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Andrew Cooper <amc96@srcf.net>, Oleksii Kurochko
 <oleksii.kurochko@gmail.com>, Grygorii Strashko <grygorii_strashko@epam.com>
References: <265d5053-af61-42cb-a3b9-ef60df39c21b@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: <265d5053-af61-42cb-a3b9-ef60df39c21b@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

In preparation of making the value somewhat dynamic drop the constant.
Replace its use in guest_wrmsr_x2apic() by actually fetching the LVR
value.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -31,7 +31,6 @@
 #include <public/hvm/ioreq.h>
 #include <public/hvm/params.h>
 
-#define VLAPIC_VERSION                  0x00050014
 #define LVT_BIAS(reg)                   (((reg) - APIC_LVTT) >> 4)
 
 #define LVTS \
@@ -1015,7 +1014,7 @@ int guest_wrmsr_x2apic(struct vcpu *v, u
     case APIC_SPIV:
         if ( val & ~(APIC_VECTOR_MASK | APIC_SPIV_APIC_ENABLED |
                      APIC_SPIV_FOCUS_DISABLED |
-                     (VLAPIC_VERSION & APIC_LVR_DIRECTED_EOI
+                     (vlapic_get_reg(vlapic, APIC_LVR) & APIC_LVR_DIRECTED_EOI
                       ? APIC_SPIV_DIRECTED_EOI : 0)) )
             return X86EMUL_EXCEPTION;
         break;
@@ -1439,7 +1438,7 @@ static void vlapic_do_init(struct vlapic
     if ( !has_vlapic(vlapic_vcpu(vlapic)->domain) )
         return;
 
-    vlapic_set_reg(vlapic, APIC_LVR, VLAPIC_VERSION);
+    vlapic_set_reg(vlapic, APIC_LVR, 0x00050014);
 
     for ( i = 0; i < 8; i++ )
     {



From xen-devel-bounces@lists.xenproject.org Wed Oct 08 12:09:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Oct 2025 12:09:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1139569.1474860 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6Syp-0002dz-CK; Wed, 08 Oct 2025 12:09:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1139569.1474860; Wed, 08 Oct 2025 12:09:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6Syp-0002dL-9h; Wed, 08 Oct 2025 12:09:15 +0000
Received: by outflank-mailman (input) for mailman id 1139569;
 Wed, 08 Oct 2025 12:09:13 +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 <SRS0=eGu8=4R=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v6Syn-0002bG-Ds
 for xen-devel@lists.xenproject.org; Wed, 08 Oct 2025 12:09:13 +0000
Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com
 [2a00:1450:4864:20::636])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 99a9cd10-a43f-11f0-9d15-b5c5bf9af7f9;
 Wed, 08 Oct 2025 14:09:11 +0200 (CEST)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-b00a9989633so197913466b.0
 for <xen-devel@lists.xenproject.org>; Wed, 08 Oct 2025 05:09:11 -0700 (PDT)
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
 a640c23a62f3a-b4865e77427sm1676283666b.36.2025.10.08.05.09.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 08 Oct 2025 05:09:10 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 99a9cd10-a43f-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1759925351; x=1760530151; 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=CQHd4wEwIxA8EYq1sK1nmKSywNrw8V/zyA8SKDYD/Wo=;
        b=YTU3PE16B/gcJdYuuK9z3GD37TRbfnh0L6w3ZbfD4xAGf6PE5yyzAHPLfpqGKeZVir
         MApJW8wg26hBtYX9R6Olwff6Je0J1vYJ/HnXbwd11pEEqGPnXngEW1bTypP1rpV4tXQu
         nJAC+6MUsD/zLHTvZlB0UK/jT+eoci1oV695sJQQY3tR1gG6u0lAEDh/6HFAJE1Y8LSI
         RgTGHulfpVYDegksEdFOTnj8uB1pTZZXExMQs3st9QiRCBywdYcWFRAb8SLQfDUWX6my
         297Z2vQY3N+yD7WnTvDiza2XTXBIffcNW2brZHNbH8xzmGAuT+3votZZsqReNEXk218U
         UeeA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759925351; x=1760530151;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=CQHd4wEwIxA8EYq1sK1nmKSywNrw8V/zyA8SKDYD/Wo=;
        b=ucRrJX54wXHmhUzyS4dnHtQBtk0tecW+8r7o9wfBQyH6sUZQxWbtHM9QusN0z86Pon
         tUf7Ch6v+YlN6eLq4TPG/+UoIqfAiZgTLo5/66UY3LBMNfevav+NW0F65rBICvPuJsdt
         YbekG/sEESYMsl4w0asxEmvg/AWtPrJxYfz7L3jg2i3uKxn6qtliBFQ93OVC9Z//Oedx
         2TVONwLNm6aNXmD+2Kr4mLA8PKPf7e0fnNRx7aLRDVKudTTKx5fZlBH9So7OeY3vGlhW
         kp0gLnDld0hqELtfZygCx3mA9XERHA651ZSO5aroa3IEc/qPVLGmhCx6FhDkDUEVwosq
         jWQg==
X-Gm-Message-State: AOJu0YwLI4PpF3ec4e6OUe7tdgx0Wvo36g4IHEux2aakkqqTPPX4S4ZI
	AAHYLX8XcqqVGhOaCoj2uZNYtNRuml+Dpq97AzglgfG+1Md1yJgSKU6Thdj3kIbJDFvZZ1dpOjQ
	ofW0=
X-Gm-Gg: ASbGnctvkzrmHnTFe+JFbB9nGnNR2RNuEgsIlga75wTNCyjPSPkylHQF596fks7rUmp
	0T43eD9FuqGGZEAwD1V59sGQeoFPodtybZhrJlJLfX2Xt1AJTa1ea2NGmemVbfJjiDsOPv2FFtI
	hbWXGXYpT3Y+NbBAN1Gk3ct5UFk7XjldfyHSsAt8viIks+wC4nSv3ENo8JrHBYR2gPRf0Z9Gb+9
	ruNtxnicc6LPKoC40HcOTr0Sh8NS+HFN8tT7f11M5mU/n30WcOXkdJNW/zY/TJbuZ6YA/9AvB9s
	hQ1CdVbsRzi1In+o2D2BxG4P2xHBaUKlCDv7IXqy9HM+xN1FG2repyEKC2CSN5KF1TPC8e0faOy
	vDxGv3jS4iB6SpDrcgaloDztIVTZu29A+HayiboeDIk4R+6yKbFytYPUjU9sKX+SDd8bW5oIcv3
	tIPAuO1x6y04F0Z6SaQTzvyYaIqA4iU3O6OETr6HI+LeQxhRB864AT
X-Google-Smtp-Source: AGHT+IG/VHcpXFHzeG3ksNVlQZOSZbHxOxDrGTGVv0cOatI8eGJa71rRnB4Ut3F74ldeiTGMSIXLyA==
X-Received: by 2002:a17:907:94c8:b0:b38:49a6:5839 with SMTP id a640c23a62f3a-b50bd050fe3mr387928266b.11.1759925351117;
        Wed, 08 Oct 2025 05:09:11 -0700 (PDT)
Message-ID: <61a05ec1-aca7-4c3f-be6f-1bb053b2cd00@suse.com>
Date: Wed, 8 Oct 2025 14:09:10 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH for-4.21??? 3/3] x86/vLAPIC: properly support the CMCI LVT
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Andrew Cooper <amc96@srcf.net>, Oleksii Kurochko
 <oleksii.kurochko@gmail.com>, Grygorii Strashko <grygorii_strashko@epam.com>
References: <265d5053-af61-42cb-a3b9-ef60df39c21b@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: <265d5053-af61-42cb-a3b9-ef60df39c21b@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Rather than unconditionally accepting reads and writes while discarding
the value written, make accesses properly conditional upon CMCI being
exposed via MCG_CAP, and arrange to actually retain the value written.
Also reflect the extra LVT in LVR.

Note that this doesn't change the status quo of us never delivering any
interrupt through this LVT.

Fixes: 70173dbb9948 ("x86/HVM: fix miscellaneous aspects of x2APIC emulation")
Fixes: 8d0a20587e4e ("x86/hvm: further restrict access to x2apic MSRs")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
The Fixes: tags are referencing where the explicit mentioning of APIC_CMCI
in what are now guest_{rd,wr}msr_x2apic() was introduced; the mis-handling
really pre-dates that, though.

In principle the later assignment to "nr" in vlapic_do_init() could now be
dropped again. I wasn't quite sure though whether that's a good idea.

--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -31,10 +31,13 @@
 #include <public/hvm/ioreq.h>
 #include <public/hvm/params.h>
 
-#define LVT_BIAS(reg)                   (((reg) - APIC_LVTT) >> 4)
+#include <../cpu/mcheck/x86_mca.h> /* MCG_CMCI_P */
+
+#define LVT_BIAS(reg)                   (((reg) - APIC_CMCI) >> 4)
 
 #define LVTS \
-    LVT(LVTT), LVT(LVTTHMR), LVT(LVTPC), LVT(LVT0), LVT(LVT1), LVT(LVTERR),
+    LVT(LVTT), LVT(LVTTHMR), LVT(LVTPC), LVT(LVT0), LVT(LVT1), LVT(LVTERR), \
+    LVT(CMCI),
 
 static const unsigned int lvt_reg[] = {
 #define LVT(which) APIC_ ## which
@@ -57,6 +60,7 @@ static const unsigned int lvt_valid[] =
 #define LVT0_VALID    LINT_MASK
 #define LVT1_VALID    LINT_MASK
 #define LVTERR_VALID  LVT_MASK
+#define CMCI_VALID    (LVT_MASK | APIC_DM_MASK)
 #define LVT(which)    [LVT_BIAS(APIC_ ## which)] = which ## _VALID
     LVTS
 #undef LVT
@@ -697,8 +701,17 @@ int guest_rdmsr_x2apic(const struct vcpu
         return X86EMUL_EXCEPTION;
 
     offset = reg << 4;
-    if ( offset == APIC_ICR )
+    switch ( offset )
+    {
+    case APIC_ICR:
         high = (uint64_t)vlapic_read_aligned(vlapic, APIC_ICR2) << 32;
+        break;
+
+    case APIC_CMCI:
+        if ( !(v->arch.vmce.mcg_cap & MCG_CMCI_P) )
+            return X86EMUL_EXCEPTION;
+        break;
+    }
 
     *val = high | vlapic_read_aligned(vlapic, offset);
 
@@ -868,6 +881,10 @@ void vlapic_reg_write(struct vcpu *v, un
         vlapic_set_reg(vlapic, APIC_ICR2, val & 0xff000000U);
         break;
 
+    case APIC_CMCI:         /* LVT CMCI */
+        if ( !(v->arch.vmce.mcg_cap & MCG_CMCI_P) )
+            break;
+        fallthrough;
     case APIC_LVTT:         /* LVT Timer Reg */
         if ( vlapic_lvtt_tdt(vlapic) !=
              ((val & APIC_TIMER_MODE_MASK) == APIC_TIMER_MODE_TSC_DEADLINE) )
@@ -1024,9 +1041,12 @@ int guest_wrmsr_x2apic(struct vcpu *v, u
             return X86EMUL_EXCEPTION;
         break;
 
+    case APIC_CMCI:
+        if ( !(v->arch.vmce.mcg_cap & MCG_CMCI_P) )
+            return X86EMUL_EXCEPTION;
+        fallthrough;
     case APIC_LVTTHMR:
     case APIC_LVTPC:
-    case APIC_CMCI:
         if ( val & ~(LVT_MASK | APIC_DM_MASK) )
             return X86EMUL_EXCEPTION;
         break;
@@ -1438,7 +1458,9 @@ static void vlapic_do_init(struct vlapic
     if ( !has_vlapic(vlapic_vcpu(vlapic)->domain) )
         return;
 
-    vlapic_set_reg(vlapic, APIC_LVR, 0x00050014);
+    nr = 6 + !!(vlapic_vcpu(vlapic)->arch.vmce.mcg_cap & MCG_CMCI_P);
+    vlapic_set_reg(vlapic, APIC_LVR,
+                   0x00000014 | MASK_INSR(nr - 1, APIC_LVR_MAXLVT_MASK));
 
     for ( i = 0; i < 8; i++ )
     {
--- a/xen/arch/x86/include/asm/apicdef.h
+++ b/xen/arch/x86/include/asm/apicdef.h
@@ -15,7 +15,10 @@
 #define			GET_xAPIC_ID(x)		(((x)>>24)&0xFFu)
 #define			SET_xAPIC_ID(x)		(((x)<<24))
 #define		APIC_LVR	0x30
-#define			APIC_LVR_MASK		0xFF00FF
+#define			APIC_LVR_VERSION_MASK	0xff
+#define			APIC_LVR_MAXLVT_MASK	0xff0000
+#define			APIC_LVR_MASK		(APIC_LVR_VERSION_MASK | \
+						 APIC_LVR_MAXLVT_MASK)
 #define			APIC_LVR_DIRECTED_EOI	(1 << 24)
 #define			GET_APIC_VERSION(x)	((x)&0xFF)
 #define			GET_APIC_MAXLVT(x)	(((x)>>16)&0xFF)



From xen-devel-bounces@lists.xenproject.org Wed Oct 08 12:28:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Oct 2025 12:28:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1139596.1474870 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6THe-0005rg-0C; Wed, 08 Oct 2025 12:28:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1139596.1474870; Wed, 08 Oct 2025 12:28:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6THd-0005rZ-TT; Wed, 08 Oct 2025 12:28:41 +0000
Received: by outflank-mailman (input) for mailman id 1139596;
 Wed, 08 Oct 2025 12:28:40 +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 <SRS0=eGu8=4R=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v6THc-0005rL-JR
 for xen-devel@lists.xenproject.org; Wed, 08 Oct 2025 12:28:40 +0000
Received: from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com
 [2a00:1450:4864:20::52c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 51918c58-a442-11f0-9d15-b5c5bf9af7f9;
 Wed, 08 Oct 2025 14:28:39 +0200 (CEST)
Received: by mail-ed1-x52c.google.com with SMTP id
 4fb4d7f45d1cf-631df7b2dffso2067778a12.1
 for <xen-devel@lists.xenproject.org>; Wed, 08 Oct 2025 05:28:39 -0700 (PDT)
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
 4fb4d7f45d1cf-6376b3b74f1sm14767076a12.12.2025.10.08.05.28.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 08 Oct 2025 05:28:38 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 51918c58-a442-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1759926519; x=1760531319; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=DyuxohSDEdGryirQA8VT3HQHz5aq5c7jJZEo8XS9Ic8=;
        b=AaDPTjhox2Qj101+dZjmXrpJcuozc0kkXg58Jhot1ulI6zgJKS6MSKigbiWwqpxSDm
         TI9Rex2qBpah4yku8QKEyiEI42KNpUr1JPwdsZfhujdUt4pHw08+J+ssW/ULp2Ldvt98
         aGXdFnSixCJxqJLApxpN0/WgPHQZ6p5EWV9GhcYfxqFiU2+p2lRUwexoai7PgsUd/L2m
         I5crUYEZnMTXL0xcZr0dJE1dw9JW2tSBvM1l1TYYPZm7EZTjo1heyUda5V8eBhY5EC64
         V8T9LzMz4jv6r/jreg5RHeS80seLvjpgiLsPTbA+hTgRyrddW3EEkfZrCNTfUPrP7CeH
         yXZQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759926519; x=1760531319;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=DyuxohSDEdGryirQA8VT3HQHz5aq5c7jJZEo8XS9Ic8=;
        b=pjR8BJOTFaUL8UvYSMZRllEZX6jHpsO2oDZXOA/PXIH8E36Notmj+df04SaxJqLihe
         HuPLVCuAMkGq9B2y474I2fJx/rn0cpsCol7Pj/ZXF2mO8KHk8qGBRK+MJ+UVxwWb/jZX
         KWncAoNDwnEoadUWu5WBYSYso2jWpChBBT2ScSw4dLD6WykvVIbvs7FunkCReSbhv4B3
         vVqKlZHCeA6VuoL9nooVNTuvJI7SksQSsOUASJ5L6zcc9OPJymlzltqjdsz70dWeke/C
         i8ms8PODaEAKnTxibZdNwTjzJV5+3x/Cw4aIt/vwQRMB99nPqQXFqtf9bvZUc3AX2Ar9
         6gXw==
X-Forwarded-Encrypted: i=1; AJvYcCWSJrDkO65JrccSMfVic0uqafwn2zHBvsuvHehygQSN9Y1GLn8zRwONjMX4kl+eUt3TLRjTnRwpQyI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxkROehK/A4T3Qy33sgXFVCaM/qVp1A3O3/KlUCIWQuH2firgnp
	zwcSu2NJsNPZFpGKrxEE4dKH4/Gf1pZeqI/jEogfueergWeUKI94wreHk24VYkcCaSMiUi2VMam
	K+Qk=
X-Gm-Gg: ASbGnct8zDeHQFt1jmPPC1YjumJZAOKTlQyWjz0diaJXSs8HB0SuFXI4+Wrk7UU+KBX
	jIYxlKPg3B0nHeBICIMvNVBuGMAWBrh4Z/P4TvHrHRvs+/WF21CGYHwhHuJRM2qL9zbgCuDKIM1
	+8+VlKy3gu/gsOYmhtqD/DEWKIHNRvxs77UKwnVccQDocxmvGFFtN7MMgIR9ynnwIDNTt2oEhuM
	/+eY6fo59R8wHk37GShOtBxy/3KjMU/kT40+iPmX8X7ot/zjox2tEKwqJM858LZPPXcX4qe0utc
	9VvnAEIAZxKKAyOqAklKkF+pGLkjgkU8PcHrcWzg34PGVEifNwoo9JKXG/0KjEXTRFPqbWA6D4T
	pG+O/1jWi4mdbLTfoL9eoi13VAsqollRDCfTQ4fzZogx/piSts/K2P6zGcTWiJEF59lyyhTLnn+
	2hxE/CV9OjfZud7I5657chZDQm4qF3e+K4JJ7vB/1yjg==
X-Google-Smtp-Source: AGHT+IGrSerCxQqjfWUgM9klnco078v6pITKbU4h3nVh1wBrmVmgGF3e8FMOiycnNGgxnb/UxiCuaw==
X-Received: by 2002:aa7:c850:0:b0:61c:b23f:417e with SMTP id 4fb4d7f45d1cf-639ba74c4f0mr5778170a12.2.1759926518677;
        Wed, 08 Oct 2025 05:28:38 -0700 (PDT)
Message-ID: <008cb741-26e2-4f28-9dd9-c88f9fbba743@suse.com>
Date: Wed, 8 Oct 2025 14:28:37 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 19/22] x86/pv: Guest exception handling in FRED mode
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
 <20251003225334.2123667-20-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251003225334.2123667-20-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 04.10.2025 00:53, Andrew Cooper wrote:
> Under FRED, entry_from_pv() handles everything.  To start with, implement
> exception handling in the same manner as entry_from_xen(), although we can
> unconditionally enable interrupts after the async/fatal events.
> 
> After entry_from_pv() returns, test_all_events() needs to run to perform
> exception and interrupt injection.  Split entry_FRED_R3() into two and
> introduce eretu_exit_to_guest() as the latter half, coming unilaterally from
> restore_all_guest().
> 
> For all of this, there is a slightly complicated relationship with CONFIG_PV.
> entry_FRED_R3() must exist irrespective of CONFIG_PV, because it's the
> entrypoint registered with hardware.  For simplicity, entry_from_pv() is
> always called, but it collapses into fatal_trap() in the !PV case.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>

Nevertheless ...

> --- a/xen/arch/x86/traps.c
> +++ b/xen/arch/x86/traps.c
> @@ -2266,9 +2266,82 @@ void asmlinkage check_ist_exit(const struct cpu_user_regs *regs, bool ist_exit)
>  
>  void asmlinkage entry_from_pv(struct cpu_user_regs *regs)
>  {
> +    struct fred_info *fi = cpu_regs_fred_info(regs);
> +    uint8_t type = regs->fred_ss.type;
> +    uint8_t vec = regs->fred_ss.vector;
> +
>      /* Copy fred_ss.vector into entry_vector as IDT delivery would have done. */
> -    regs->entry_vector = regs->fred_ss.vector;
> +    regs->entry_vector = vec;
> +
> +    if ( !IS_ENABLED(CONFIG_PV) )
> +        goto fatal;
> +
> +    /*
> +     * First, handle the asynchronous or fatal events.  These are either
> +     * unrelated to the interrupted context, or may not have valid context
> +     * recorded, and all have special rules on how/whether to re-enable IRQs.
> +     */
> +    switch ( type )
> +    {
> +    case X86_ET_EXT_INTR:
> +        return do_IRQ(regs);
> +
> +    case X86_ET_NMI:
> +        return do_nmi(regs);
> +
> +    case X86_ET_HW_EXC:
> +        switch ( vec )
> +        {
> +        case X86_EXC_DF: return do_double_fault(regs);
> +        case X86_EXC_MC: return do_machine_check(regs);
> +        }
> +        break;
> +    }
> +
> +    /*
> +     * With the asynchronous events handled, what remains are the synchronous
> +     * ones.  PV guest context always had interrupts enabled.
> +     */
> +    local_irq_enable();
> +
> +    switch ( type )
> +    {
> +    case X86_ET_HW_EXC:
> +    case X86_ET_PRIV_SW_EXC:
> +    case X86_ET_SW_EXC:
> +        switch ( vec )
> +        {
> +        case X86_EXC_PF:  handle_PF(regs, fi->edata); break;
> +        case X86_EXC_GP:  do_general_protection(regs); break;
> +        case X86_EXC_UD:  do_invalid_op(regs); break;
> +        case X86_EXC_NM:  do_device_not_available(regs); break;
> +        case X86_EXC_BP:  do_int3(regs); break;
> +        case X86_EXC_DB:  handle_DB(regs, fi->edata); break;
> +        case X86_EXC_CP:  do_entry_CP(regs); break;
> +
> +        case X86_EXC_DE:
> +        case X86_EXC_OF:
> +        case X86_EXC_BR:
> +        case X86_EXC_NP:
> +        case X86_EXC_SS:
> +        case X86_EXC_MF:
> +        case X86_EXC_AC:
> +        case X86_EXC_XM:
> +            do_trap(regs);
> +            break;
>  
> +        default:
> +            goto fatal;
> +        }
> +        break;
> +
> +    default:
> +        goto fatal;
> +    }
> +
> +    return;
> +
> + fatal:
>      fatal_trap(regs, false);
>  }

... I'm still somewhat bothered by this almost entirely duplicating the
other entry function, i.e. I continue to wonder if we wouldn't be better
off by eliminating that duplication (say by way of an always_inline
helper with a suitable extra parameter).

> --- a/xen/arch/x86/x86_64/entry.S
> +++ b/xen/arch/x86/x86_64/entry.S
> @@ -63,7 +63,7 @@ UNLIKELY_END(syscall_no_callback)
>          /* Conditionally clear DF */
>          and   %esi, UREGS_eflags(%rsp)
>  /* %rbx: struct vcpu */
> -test_all_events:
> +LABEL(test_all_events, 0)
>          ASSERT_NOT_IN_ATOMIC
>          cli                             # tests must not race interrupts
>  /*test_softirqs:*/
> @@ -152,6 +152,8 @@ END(switch_to_kernel)
>  FUNC_LOCAL(restore_all_guest)
>          ASSERT_INTERRUPTS_DISABLED
>  
> +        ALTERNATIVE "", "jmp eretu_exit_to_guest", X86_FEATURE_XEN_FRED
> +
>          /* Stash guest SPEC_CTRL value while we can read struct vcpu. */
>          mov VCPU_arch_msrs(%rbx), %rdx

I also continue to wonder if we wouldn't do a tiny bit better by using

        ALTERNATIVE "mov VCPU_arch_msrs(%rbx), %rdx", \
                    "jmp eretu_exit_to_guest", \
                    X86_FEATURE_XEN_FRED

Or by converting the few jumps to restore_all_guest to alternatives
(duplicating the ASSERT_INTERRUPTS_DISABLED there).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Oct 08 12:32:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Oct 2025 12:32:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1139610.1474881 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6TKx-0007O7-Fm; Wed, 08 Oct 2025 12:32:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1139610.1474881; Wed, 08 Oct 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 <xen-devel-bounces@lists.xenproject.org>)
	id 1v6TKx-0007O0-Cr; Wed, 08 Oct 2025 12:32:07 +0000
Received: by outflank-mailman (input) for mailman id 1139610;
 Wed, 08 Oct 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 <SRS0=SGyo=4R=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1v6TKv-0007Na-Nz
 for xen-devel@lists.xenproject.org; Wed, 08 Oct 2025 12:32:05 +0000
Received: from mail-ed1-x531.google.com (mail-ed1-x531.google.com
 [2a00:1450:4864:20::531])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cb73dd15-a442-11f0-9809-7dc792cee155;
 Wed, 08 Oct 2025 14:32:03 +0200 (CEST)
Received: by mail-ed1-x531.google.com with SMTP id
 4fb4d7f45d1cf-631787faf35so13330130a12.3
 for <xen-devel@lists.xenproject.org>; Wed, 08 Oct 2025 05:32:03 -0700 (PDT)
Received: from ?IPV6:2003:e5:873f:400:7b4f:e512:a417:5a86?
 (p200300e5873f04007b4fe512a4175a86.dip0.t-ipconnect.de.
 [2003:e5:873f:400:7b4f:e512:a417:5a86])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-b503c779df2sm315950266b.34.2025.10.08.05.32.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 08 Oct 2025 05:32:02 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cb73dd15-a442-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1759926723; x=1760531523; darn=lists.xenproject.org;
        h=in-reply-to:autocrypt:from:content-language:references:to:subject
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=OHzyZQwBPjGkjshEoi66t2uXNrPo+sDic2boGqNxpI0=;
        b=NLAJhFmjaA6y7KYbDKxBiXOBD9CGB4WzTh3riihkZ70sH3bKdS8ps3DzkHRhe97CGy
         liZ9dxsaoUi4+4gpBQmccMXTrHt3E0cgzeRMpspSDUiTh0cpIpdE19dcT6U5APAjI4Gy
         Vi5vJ0febfcA21sjag4dbZoQeDB1jDCTVy9OjaUURqn3AQpixiRFjNTn2aKTRKCksNIN
         lK8EQoYFm8px4sftaEzXGee0nkrMsRD2uugWwUq8fR3rOroodjR/Zxrg0RJZAtCaeK+n
         07J3GBSx1NAfmgjb1h7EZB2dPay70nXb6wPBw0+yKnvC+7SS0vVoj8IMDopETGSGcF54
         XdYQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759926723; x=1760531523;
        h=in-reply-to:autocrypt:from:content-language:references:to:subject
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=OHzyZQwBPjGkjshEoi66t2uXNrPo+sDic2boGqNxpI0=;
        b=Pj/iQC/i1eRmXVc/ZxGw/75zYsiE+HRZjF+A6wDPEETHetiWsCRlZ+AGANVZSZB1TQ
         ABsg2RlEdmFoKYi/IvjxBU4HPsG/EiAMByqMgYXD2rOWcn8ga/t63Vwjz+iOFeAuN8FA
         3UJH0mIY0dCeruT6pdBpHsSPcvhjR07ipiyUXF8Sx8RmHxmHZLOGD+tLGsWeFkTGI9Sq
         N24JhIGotjpb0bw86UbwDFCbsOwwEBLmtRI5jIMsA6e4nwtzNV6qIygO3agRgja7N7Y0
         /14SjvjiVr6+3V0v767lJnrH9OgZh7mdcOLNa2+M53DwK8VduPhVLGLEDVNl0qWFBlgV
         bwWw==
X-Forwarded-Encrypted: i=1; AJvYcCXH2T5HrVpxboR1tXMPbJiiX+fsn8ACO6DOqajsRXjYpGCUTGrHahfNfRgVEeHc1GcXkX/oAM1AiF4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyZG82f9NWWIBa0O74Ja9f0gqKcyUVQgjBoB0u4FSlKoR57nKhZ
	NdIMpFq4CwP9Foxr/La5XvWjRlFn0Vq/B5IVrZJ33XD87oN91W5LOvVXYpOQxoLnsEY=
X-Gm-Gg: ASbGnctQp9NCWbzT6rGCxD0kV6dmeQVx7X6MPW60Jwb9f6Gfp7wBYxeHovC+xKfOuPo
	4J6czWRWP+n8WHzxbV3P3lq6hIu4cF404rG/GSw2ascSEF0YukC+FiTA/Ise7riFB1HXVdxbfWb
	OF5M5Q8KFs/Zbzf6cgAPPDa5TnTAEEI5VNRym+yfvW8g0gyP6wGe8K2PMbRdR5mnLHcZFWEs7VV
	AzlnGFBwF+fiquzapqyHSXgFi2tJMhaF5wjKZv50AeRSNquWxIB1uy2TikI6W7y0sjNqI0R4kFu
	h1lcioR+H4FWC2iS4tgYgQWBt6IXbXblkvHza+lVXzAiX5Ort2p2r/HK0ABj+gCjd66ExxWmd08
	82Ja3noKXVSgCeA2/wM82CNEczHAustYj1TgYI3hmYVyDw0uLlk9Vj4GuG48KpCQV0nAcqDapx+
	ABN+Gr5t3R4mGcQrVcc+8jje8urjrGGM9zYg3hXM2aiSG5HDtPDuIYo4SIFn8q6eUpIU6beNnkZ
	usGhKA=
X-Google-Smtp-Source: AGHT+IFzbd0aUhzCswo+obqr2KQDTzPLbbyXRCDs0z9lrsgK0pf7fXU4mMhzx1Xgi57fmWKQRxXcxw==
X-Received: by 2002:a17:907:d06:b0:b2d:830a:8c09 with SMTP id a640c23a62f3a-b50ac6d0efamr322705166b.44.1759926723127;
        Wed, 08 Oct 2025 05:32:03 -0700 (PDT)
Message-ID: <66d8febb-568b-40db-bbe3-d8dfdc43444c@suse.com>
Date: Wed, 8 Oct 2025 14:32:02 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: race condition when re-connecting vif after backend died
To: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel <xen-devel@lists.xenproject.org>
References: <aOZJhD6_F_ceHoCb@mail-itl>
Content-Language: en-US
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <aOZJhD6_F_ceHoCb@mail-itl>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------0raJHIBNLI95hlpQrfrZ5cMZ"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------0raJHIBNLI95hlpQrfrZ5cMZ
Content-Type: multipart/mixed; boundary="------------TePLH8R9pcWrXcAG8gxA7Z1S";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel <xen-devel@lists.xenproject.org>
Message-ID: <66d8febb-568b-40db-bbe3-d8dfdc43444c@suse.com>
Subject: Re: race condition when re-connecting vif after backend died
References: <aOZJhD6_F_ceHoCb@mail-itl>
In-Reply-To: <aOZJhD6_F_ceHoCb@mail-itl>

--------------TePLH8R9pcWrXcAG8gxA7Z1S
Content-Type: multipart/mixed; boundary="------------qwrDkTY0MgEFLnJe3sqorziJ"

--------------qwrDkTY0MgEFLnJe3sqorziJ
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMDguMTAuMjUgMTM6MjIsIE1hcmVrIE1hcmN6eWtvd3NraS1Hw7NyZWNraSB3cm90ZToN
Cj4gSGksDQo+IA0KPiBJIGhhdmUgdGhlIGZvbGxvd2luZyBzY2VuYXJpbzoNCj4gMS4gU3Rh
cnQgYmFja2VuZCBkb21haW4gKGNhbGwgaXQgbmV0dm0xKQ0KPiAyLiBTdGFydCBmcm9udGVu
ZCBkb21haW4gKGNhbGwgaXQgdm0xKSwgd2l0aA0KPiB2aWY9WydiYWNrZW5kPW5ldHZtMixt
YWM9MDA6MTY6M2U6NWU6NmM6MDAsc2NyaXB0PXZpZi1yb3V0ZS1xdWJlcyxpcD0xMC4xMzgu
MTcuMjQ0J10NCj4gMy4gUGF1c2Ugdm0xIChub3Qgc3RyaWN0bHkgcmVxdWlyZWQsIGJ1dCBt
YWtlcyByZXByb2R1Y2luZyBtdWNoIGVhc2llcikNCj4gNS4gQ3Jhc2gvc2h1dGRvd24vZGVz
dHJveSBuZXR2bTENCj4gNC4gU3RhcnQgYW5vdGhlciBiYWNrZW5kIGRvbWFpbiAoY2FsbCBp
dCBuZXR2bTIpDQo+IDUuIEluIHF1aWNrIHN1Y2Nlc3Npb246DQo+ICAgICA1LjEuIHVucGF1
c2Ugdm0xDQo+ICAgICA1LjIuIGRldGFjaCAob3IgYWN0dWFsbHkgY2xlYW51cCkgdmlmIGZy
b20gdm0xIChjb25uZWN0ZWQgdG8gbm93IGRlYWQNCj4gICAgICAgICAgbmV0dm0xKQ0KPiAg
ICAgNS4zLiBhdHRhY2ggc2ltaWxhciB2aWYgd2l0aCBiYWNrZW5kPW5ldHZtMg0KPiANCj4g
U29tZXRpbWVzIGl0IGVuZHMgdXAgd2l0aCBldGgwIGJlaW5nIHByZXNlbnQgaW4gdm0xLCBi
dXQgaXRzIHhlbnN0b3JlDQo+IHN0YXRlIGtleSBpcyBzdGlsbCBYZW5idXNTdGF0ZUluaXRp
YWxpemluZy4gQW5kIHRoZSBiYWNrZW5kIHN0YXRlIGlzIGF0DQo+IFhlbmJ1c1N0YXRlSW5p
dFdhaXQuDQo+IEluIHN0ZXAgNS4yLCBub3JtYWxseSBsaWJ4bCB3YWl0cyBmb3IgdGhlIGJh
Y2tlbmQgdG8gdHJhbnNpdGlvbiB0byBzdGF0ZQ0KPiBYZW5idXNTdGF0ZUNsb3NlZCwgYW5k
IElJVUMgYmFja2VuZCB3YWl0cyBmb3IgdGhlIGZyb250ZW5kIHRvIGRvIHRoZQ0KPiBzYW1l
IHRvby4gQnV0IHdoZW4gdGhlIGJhY2tlbmQgaXMgZ29uZSwgbGlieGwgc2VlbXMgdG8gc2lt
cGx5IHJlbW92ZXMNCj4gZnJvbnRlbmQgeGVuc3RvcmUgZW50cmllcyB3aXRob3V0IGFueSBj
b29yZGluYXRpb24gd2l0aCB0aGUgZnJvbnRlbmQNCj4gZG9tYWluIGl0c2VsZi4NCj4gV2hh
dCBJIHN1c3BlY3QgaGFwcGVucyBpcyB0aGF0IHhlbnN0b3JlIGV2ZW50cyBnZW5lcmF0ZWQg
YXQgNS4yIGFyZQ0KPiBnZXR0aW5nIGhhbmRsZWQgYnkgdGhlIGZyb250ZW5kJ3Mga2VybmVs
IG9ubHkgYWZ0ZXIgNS4zLiAgQXQgdGhpcyBzdGFnZSwNCj4gZnJvbnRlbmQgc2VlcyBkZXZp
Y2UgdGhhdCB3YXMgaXMgWGVuYnVzU3RhdGVDb25uZWN0ZWQgdHJhbnNpdGlvbmluZyB0bw0K
PiBYZW5idXNTdGF0ZUluaXRpYWxpemluZyAobm90IHJlYWxseSBleHBlY3RlZCBieSB0aGUg
ZnJvbnRlbmQgdG8gc29tZWJvZHkNCj4gZWxzZSBjaGFuZ2UgaXRzIHN0YXRlIGtleSkgYW5k
IChJIGd1ZXNzKSBkb2Vzbid0IG5vdGljZSBkZXZpY2UgdmFuaXNoZWQNCj4gZm9yIGEgbW9t
ZW50ICh4ZW5idXNfZGV2X2NoYW5nZWQoKSBkb2Vzbid0IGhpdCB0aGUgIWV4aXN0cyBwYXRo
KS4gSQ0KPiBoYXZlbid0IHZlcmlmaWVkIGl0LCBidXQgSSBndWVzcyBpdCBhbHNvIGRvZXNu
J3Qgbm90aWNlIGJhY2tlbmQgcGF0aA0KPiBjaGFuZ2UsIHNvIGl0J3Mgc3RpbGwgd2F0Y2hp
bmcgdGhlIG9sZCBvbmUgKGdvbmUgYXQgdGhpcyBwb2ludCkuDQo+IA0KPiBJZiBteSBkaWFn
bm9zaXMgaXMgY29ycmVjdCwgd2hhdCBzaG91bGQgYmUgdGhlIHNvbHV0aW9uIGhlcmU/IEFk
ZA0KPiBoYW5kbGluZyBmb3IgWGVuYnVzU3RhdGVVbmtub3duIGluIHhlbi1uZXRmcm9udGMu
YzpuZXRiYWNrX2NoYW5nZWQoKT8gSWYNCj4gc28sIGl0IHNob3VsZCBwcm9iYWJseSBjYXJl
ZnVsbHkgY2xlYW51cCB0aGUgb2xkIGRldmljZSB3aGlsZSBub3QNCj4gdG91Y2hpbmcgeGVu
c3RvcmUgZW50cmllcyAod2hpY2ggYmVsb25nIHRvIHRoZSBuZXcgaW5zdGFuY2UgYWxyZWFk
eSkgYW5kDQo+IHRoZW4gcmUtaW5pdGlhbGl6ZSB0aGUgZGV2aWNlICh4ZW5uZXRfY29ubmVj
dCgpPyBjYWxsKS4NCj4gT3IgbWF5YmUgaXQgc2hvdWxkIGJlIGRvbmUgaW4gZ2VuZXJpYyB3
YXkgaW4geGVuYnVzX3Byb2JlLmMsIGluDQo+IHhlbmJ1c19kZXZfY2hhbmdlZCgpPyBOb3Qg
c3VyZSBob3cgZXhhY3RseSAtIG1heWJlIGJ5IGNoZWNraW5nIGlmDQo+IGJhY2tlbmQgcGF0
aCAob3IganVzdCBiYWNrZW5kLWlkPykgY2hhbmdlZD8gQW5kIHRoZW4gY2FsbCBib3RoDQo+
IGRldmljZV91bnJlZ2lzdGVyKCkgKGFnYWluLCBiZWluZyBjYXJlZnVsIHRvIG5vdCBjaGFu
Z2UgeGVuc3RvcmUsDQo+IGVzcGVjaWFsbHkgbm90IHNldCBYZW5idXNTdGF0ZUNsb3NlZCkg
YW5kIHRoZW4geGVuYnVzX3Byb2JlX25vZGUoKT8NCj4gDQoNCkkgdGhpbmsgd2UgbmVlZCB0
byBrbm93IHdoYXQgaXMgZ29pbmcgb24gaGVyZS4NCg0KQ2FuIHlvdSByZXBlYXQgdGhlIHRl
c3Qgd2l0aCBYZW5zdG9yZSB0cmFjaW5nIGVuYWJsZWQ/IEp1c3QgZG86DQoNCnhlbnN0b3Jl
LWNvbnRyb2wgbG9nZmlsZSAvdG1wL3hzLXRyYWNlDQoNCmJlZm9yZSBwb2ludCAzLiBpbiB5
b3VyIGxpc3QgYWJvdmUgYW5kIHRoZW4gcGVyZm9ybSBzdGVwcyAzLiAtIDUuMy4gYW5kDQp0
aGVuIHNlbmQgdGhlIGxvZ2ZpbGUuIFBsZWFzZSBtYWtlIHN1cmUgbm90IHRvIGhhdmUgYW55
IGFkZGl0aW9uYWwgYWN0aW9ucw0KY2F1c2luZyBYZW5zdG9yZSB0cmFmZmljIGluIGJldHdl
ZW4sIGFzIHRoaXMgd291bGQgbWFrZSBpdCBtdWNoIGhhcmRlciB0bw0KYW5hbHl6ZSB0aGUg
bG9nLg0KDQpJbiBjYXNlIHRoZSBwcm9ibGVtIGRvZXNuJ3QgYXBwZWFyLCBwbGVhc2UgZGVs
ZXRlIHRoZSBsb2dmaWxlIGJlZm9yZQ0Kc3RhcnRpbmcgYSBuZXcgYXR0ZW1wdCAoeGVuc3Rv
cmVkIGlzIGFwcGVuZGluZyBuZXcgdHJhY2UgZGF0YSB0byBhbg0KZXhpc3RpbmcgZmlsZSku
DQoNCg0KSnVlcmdlbg0K
--------------qwrDkTY0MgEFLnJe3sqorziJ
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------qwrDkTY0MgEFLnJe3sqorziJ--

--------------TePLH8R9pcWrXcAG8gxA7Z1S--

--------------0raJHIBNLI95hlpQrfrZ5cMZ
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmjmWcIFAwAAAAAACgkQsN6d1ii/Ey+9
AQf8C0Ux+/08hFuFL8j7ScykNTVfNbht85NqVqZpAUHGgrwO9ptvqVN7BTdPZ7409cWUKkVBJnfy
XuXEsadTNNaedyTCUITTaN0ZAFi5fs1PaxHKkMyvfjVL1RARPgmcz2rpgGKgrcsJO7gj6qK3Wwlr
LW8G1dPHBDV1zUwF0zr4rNz1aiwOpTOkvNDKaRsmJqZ2JLOiIg3fmICc+UYTynxAG8iwmJNF4Xm4
x/4J2+Eh+9Nr8oqFVdnLHbSDNMUSAb8XmgSEpuLOjviuxPxzf4d3O8HDBsc7gMLU0s5SLt1Oh/T1
+LWrHpzfFdZXUHZQBHK5o7oq4orqTN08TqF1M7Flcw==
=lsuO
-----END PGP SIGNATURE-----

--------------0raJHIBNLI95hlpQrfrZ5cMZ--


From xen-devel-bounces@lists.xenproject.org Wed Oct 08 12:36:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Oct 2025 12:36:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1139619.1474891 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6TOt-00082a-V7; Wed, 08 Oct 2025 12:36:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1139619.1474891; Wed, 08 Oct 2025 12:36:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6TOt-00082T-Rz; Wed, 08 Oct 2025 12:36:11 +0000
Received: by outflank-mailman (input) for mailman id 1139619;
 Wed, 08 Oct 2025 12:36:10 +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 <SRS0=eGu8=4R=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v6TOs-00082N-Kz
 for xen-devel@lists.xenproject.org; Wed, 08 Oct 2025 12:36:10 +0000
Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com
 [2a00:1450:4864:20::630])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5d5f72d9-a443-11f0-9809-7dc792cee155;
 Wed, 08 Oct 2025 14:36:08 +0200 (CEST)
Received: by mail-ej1-x630.google.com with SMTP id
 a640c23a62f3a-b48d8deaef9so1085758966b.2
 for <xen-devel@lists.xenproject.org>; Wed, 08 Oct 2025 05:36:08 -0700 (PDT)
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
 a640c23a62f3a-b4865a83f5fsm1658402566b.32.2025.10.08.05.36.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 08 Oct 2025 05:36:07 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5d5f72d9-a443-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1759926968; x=1760531768; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=LRRWQrMYekMqD+3dHObSVgebkxGGFXnh5hWmfrN5GRw=;
        b=dJ06An5V4ScV55amFDqI8wJx2mV68TJqTGWQKv4HCvu9DsH25yxW1TytWW7y0eKPH9
         ZEkiOvvPACoAYbuEp9cnidYCU/w1dr8SA22X97cxN0ZR6Mvvk50+wqE7BL+bMUhuLehI
         vwN13sazoPeiUp0BkxiTDC/5rv8ZsImDc4FPNPYGLP2lgqqyQKXBT+qGL0rNY+uRN08l
         sMiZiO7FMfA2oSAXmpqgTIXydMI+b3DlV2+1vXRqSZmvrCTkamcH3opseZdFY+XwhXIz
         aqtYAIJuJ0cAbUtXqDbKT8J61DQ7r0m0o5vjHM12iJ7Pb95rxlWDF/yjHoeYQdDXjKL0
         jorA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759926968; x=1760531768;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=LRRWQrMYekMqD+3dHObSVgebkxGGFXnh5hWmfrN5GRw=;
        b=JcIDJQeM8Mkhxt1rkR7tGw51i5hXnQGmPMQbJRtG2wPPGdAUI6NhkhgFFgHLCCdMzL
         87MZrpBJELUr2wzzCv1kSCzH74dSoWJUkRkJUC6N6ti2QOCQA8oDQx7x1WyFyrlJgqe2
         bDOjf67axnOj2K8ygQ9Pm9zQQPEglKn2NmzzxamOS+u59iizrm7iLzLwdrT5NteUhsT6
         PCBKcv1IP+7CzzPvMnGzilMxRClqqD2tNm2FK5oG0Q8VxVGhXxy2qUPXMHQaQ8tVxUFd
         12tieyhlerk+RZ4tnlIF6D3V4JKic1lQCayUQNaM7HVgTmF2N28+Gyiz/RiAo+YOgW3I
         8zWg==
X-Forwarded-Encrypted: i=1; AJvYcCWaPCVsNxr1c1hRBV/z4Ip+9R7YydINxFnJNnCAwktEaIrb9H0GXLVTfMmCAQ7g/CzOn5E4d5qQMCQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzOE9cnqKOBxMi/Su/unbqNJWvpPwcu8or8x3ztaZyBdoU10ZWq
	h+J+wY4K+hJMHvSkRUxg5yXYx+Xm+bFM3JIykHRBArvJYckfALEfkG0lAqv11ZqAQw==
X-Gm-Gg: ASbGncslFlx2v6neOI/YORbtDH285e76VNG5bjlMOse6hPj1EzrQ3NpzV7owgUE50Yj
	5dhLoEgyurjYAKXQMeYrwCgaYuWx2p8Bgy/20XqKL3+/E+ZbiYbNKWh7jzZHT9mNnFkn/YlEfZM
	DesWnmvYIJpTWN5Ae3mqOv9YwlLAJdcw3E2e3S9UemDKot3y6vuN+HVgdIw809MmK8C50BRrMGt
	5dnDVuPm8WdXBzepacFowrYkv53yD3ulczkPvcDLLSMbcUTBZxbF3mUh4DLr4xcfRAwzw8Yh8cq
	5WXzspiolZQ02oWSApgpXuivOxMCcpkObjQts7DUQzeUbOJYq0G/l7dVzfe0Qt4ZKoEIHXV5uoK
	v2+MRyC/Lm7tTPE5fzfp5gpzoCB8DaAFwl1mRks/rYhoRnT4KrW/Ri69ye4gusN9H0Sh8vbsTBv
	7SCRuI5yOmUZEjsrVg80T531RVUxC5QQXJzSxzqUKCyw==
X-Google-Smtp-Source: AGHT+IGrCLljanlWvMtSPEyEDp5lPNKBD/dWw+YVwwLAP84UpWR9b80YwD7b6NmYHLNYipEdCcBnCw==
X-Received: by 2002:a17:906:4fc3:b0:b41:12bf:e3aa with SMTP id a640c23a62f3a-b50aab9c91dmr361400466b.16.1759926967992;
        Wed, 08 Oct 2025 05:36:07 -0700 (PDT)
Message-ID: <03eae750-36ff-4c6e-a5ab-d231848b599f@suse.com>
Date: Wed, 8 Oct 2025 14:36:06 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 20/22] x86/pv: ERETU error handling
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
 <20251003225334.2123667-21-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251003225334.2123667-21-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 04.10.2025 00:53, Andrew Cooper wrote:
> ERETU can fault for guest reasons, and like IRET needs special handling to
> forward the error into the guest.
> 
> As this is largely written in C, take the opportunity to better classify the
> sources of error, and in particilar, not forward errors that are actually
> Xen's fault into the guest, opting for a domain crash instead.
> 
> Because ERETU does not enable NMIs if it faults, a corner case exists if an
> NMI was taken while in guest context, and the ERETU back out faults.  Recovery
> must involve an ERETS with the interrupted context's NMI flag.
> 
> See the comments for full details.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>
albeit ...

> --- a/xen/arch/x86/traps.c
> +++ b/xen/arch/x86/traps.c
> @@ -2345,6 +2345,113 @@ void asmlinkage entry_from_pv(struct cpu_user_regs *regs)
>      fatal_trap(regs, false);
>  }
>  
> +void nocall eretu_error_dom_crash(void);
> +
> +/*
> + * Classify an event at the ERETU instruction, and handle if possible.
> + * Returns @true if handled, @false if the event should continue down the
> + * normal handlers.
> + */
> +static bool handle_eretu_event(struct cpu_user_regs *regs)
> +{
> +    unsigned long recover;
> +
> +    /*
> +     * WARNING: The GPRs in gregs overlaps with regs.  Only gregs->error_code
> +     *          and later are legitimate to access.
> +     */
> +    struct cpu_user_regs *gregs =
> +        _p(regs->rsp - offsetof(struct cpu_user_regs, error_code));
> +
> +    /*
> +     * The asynchronous or fatal events (INTR, NMI, #MC, #DF) have been dealt
> +     * with, meaning we only have syncrhonous ones to consider.  Anything
> +     * which isn't a hardware exception wants handling normally.
> +     */
> +    if ( regs->fred_ss.type != X86_ET_HW_EXC )
> +        return false;
> +
> +    /*
> +     * Guests are permitted to write non-present GDT/LDT entries.  Therefore
> +     * #NP[sel] (%cs) and #SS[sel] (%ss) must be handled as guest errors.  The
> +     * only other source of #SS is for a bad %ss-relative memory access in
> +     * Xen, and if the stack is that bad, we'll have escalated to #DF.
> +     *
> +     * #PF can happen from ERETU accessing the GDT/LDT.  Xen may translate
> +     * these into #GP for the guest, so must be handled as guest errors.  In
> +     * theory we can get #PF for a bad instruction fetch or bad stack access,
> +     * but either of these will be fatal and not end up here.
> +     */
> +    switch ( regs->fred_ss.vector )
> +    {
> +    case X86_EXC_GP:
> +        /*
> +         * #GP[0] can occur because of a NULL %cs or %ss (which are a guest
> +         * error), but some #GP[0]'s are errors in Xen (ERETU at SL != 0), or
> +         * errors of Xen handling guest state (bad metadata).  These magic
> +         * numbers came from the FRED Spec; they check that ERETU is trying to
> +         * return to Ring 3, and that reserved or inapplicable bits are 0.
> +         */
> +        if ( regs->error_code == 0 && (gregs->cs & ~3) && (gregs->ss & ~3) &&
> +             (regs->fred_cs.sl != 0 ||
> +              (gregs->csx    & 0xffffffffffff0003UL) != 3 ||
> +              (gregs->rflags & 0xffffffffffc2b02aUL) != 2 ||
> +              (gregs->ssx    &         0xfff80003UL) != 3) )

... I continue to dislike these uses of literal numbers.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Oct 08 13:04:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Oct 2025 13:04:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1139641.1474909 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6Tqa-0004AU-7x; Wed, 08 Oct 2025 13:04:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1139641.1474909; Wed, 08 Oct 2025 13:04:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6Tqa-0004AN-5G; Wed, 08 Oct 2025 13:04:48 +0000
Received: by outflank-mailman (input) for mailman id 1139641;
 Wed, 08 Oct 2025 13:04:46 +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
 <SRS0=bWZK=4R=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v6TqY-0004AF-5x
 for xen-devel@lists.xenproject.org; Wed, 08 Oct 2025 13:04:46 +0000
Received: from mail-wm1-x342.google.com (mail-wm1-x342.google.com
 [2a00:1450:4864:20::342])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 59fead68-a447-11f0-9809-7dc792cee155;
 Wed, 08 Oct 2025 15:04:41 +0200 (CEST)
Received: by mail-wm1-x342.google.com with SMTP id
 5b1f17b1804b1-46e491a5b96so42091245e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 08 Oct 2025 06:04:40 -0700 (PDT)
Received: from [192.168.1.183] (host-92-22-57-86.as13285.net. [92.22.57.86])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4255d8f011bsm30390433f8f.46.2025.10.08.06.04.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 08 Oct 2025 06:04:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 59fead68-a447-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1759928680; x=1760533480; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=9pnjQV8/IKyJ19meyrA4ftenJqRkmyUX9Yqv/Bp8oOU=;
        b=gOFtkO0XjXfFzy4WAzrBzpXmYKLAuyoRoXqg1hn7tsX+iO+VyLXdPOHuogkO0sHBUY
         nrRhZnJWnUreXVtdAprmivzJ0CEU/NeiHVFegn7HvaHzeaiDZEPD/sOrZkpcQ/Zi3Ujj
         e3EImBD+MxNv9H2Ow8MZsypAUWQwvHr2cyTjI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759928680; x=1760533480;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=9pnjQV8/IKyJ19meyrA4ftenJqRkmyUX9Yqv/Bp8oOU=;
        b=TCzWBSTpzTfKTcy5dvTwnGhhvvXaByhTs7TQnVQ6zfoWIASs1H/tbYoXKH+dep8Uvq
         h5JUHnZysMoWr6s4AzPocOGYnfc5Rb9REM3qccrOjwL2ihNlyWUB02qOuT0j7w5WeIJO
         hbq+tmu4U7DmNyqfXSZ8DybQCupNedc0necy9GWqauB3OPMBmgLMbiXJ0I0ez/GqqbS3
         KO+E8LsSOzPlMSiDzYzmwldn26m3Is4jGbSgRKzCkvxDi009xVUkVqsPAgZj/GUAmOiw
         xKD+mq5s3OeRFNaZLYpp/8YMmEJ+s8bt72Tpc/ubiGzVZZlWd9vQcsEVAIt466bMzZXN
         euyA==
X-Forwarded-Encrypted: i=1; AJvYcCVOndXok1oXVbQ0tbFmy4750B8I5zXq9iIeTfhaoioflkco9yJEdSGwgJHBm02r3weCloAtESF+Z0c=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxbp7QTUfC/8cesBxs3YafkBuNz3sPGtVYbEtyy5UjGNbhsSss8
	R5TPQL7phMF0DlMiy+bvqru3TxiT1wW3viD1KZR/rIZetIGfQGELu1LEtpw3K8dIaI8=
X-Gm-Gg: ASbGncufvSzP54/MZlSLNasEH2Kk1nRXvsdXg6XcffHXTYF7cIF/flBTFBWSXIu4SIt
	eoEnj7sKfq2OtZtDvBI+FhIdA10NAjzQ9iEi0BJ5tI3H+sSZNTLdPM4v+xtpjeUhxU3z/pHD0Kr
	a3qo4rkBq5+Uy65EkwR+zW2ARkM2mpLr0zgkP/khDwbE4P6IUq2C8q3df+qhVT7hgiOvJeZqyLx
	bdopBgXJPB3vUljl9FJUbhhQLWdSsN0GuCaC63id4EQSvUDYfAXULwpui6xb6ymYe38HYXcXLVr
	7NkNQv/pTxZlhlG1k1y/3RmP745uMPpLsYYGtncPBGimvUjKnUio0Ad7VcTnqY+snpAnSZNWR6w
	9vvaix9T9ewHfCdWVygohiTApLOanfX9FNYkdiZjRWyCtI7BfnMY1YErgnE/njZ1WzMrpxro+xO
	HS7GLj/DJ6awlp
X-Google-Smtp-Source: AGHT+IFZy2zy1D307JjwVJvbXY2QoSBNXHFFNRrCw051AiLUA5dsLWef4M9xisOJmieIvodM++b9bg==
X-Received: by 2002:a05:600c:a41c:b0:46f:aac5:daf with SMTP id 5b1f17b1804b1-46faac50ea8mr13861305e9.35.1759928680250;
        Wed, 08 Oct 2025 06:04:40 -0700 (PDT)
Message-ID: <e8fa4e2e-d788-4dcc-b1b5-9a3e0a70ef49@citrix.com>
Date: Wed, 8 Oct 2025 14:04:38 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21??? 1/3] x86/vLAPIC: add indirection to LVT
 handling
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Grygorii Strashko <grygorii_strashko@epam.com>
References: <265d5053-af61-42cb-a3b9-ef60df39c21b@suse.com>
 <dd6b46f8-76f7-46d3-b3be-083b58781f32@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <dd6b46f8-76f7-46d3-b3be-083b58781f32@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 08/10/2025 1:08 pm, Jan Beulich wrote:
> In preparation to add support for the CMCI LVT, which is discontiguous to
> the other LVTs, add a level of indirection.

It's not the only extra LVT.

AMD have Extended LVTs, which are necessary if we want to get virt-PMU
working.

https://sandpile.org/x86/apic.htm is a recent addition which covers all
of this.

>  Rename the prior
> vlapic_lvt_mask[] while doing so (as subsequently a 2nd array will want
> adding, for use by guest_wrmsr_x2apic()).
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

I'm afraid this introduces a vulnerability.

APIC_LVR is a toolstack-provided value.Â  Nothing bounds checks the
MAX_LVT value in it AFAICT, and previously this did not matter (from a
security point of view at least) because the loop bounds were constant.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Oct 08 13:34:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Oct 2025 13:34:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1139660.1474918 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6UIm-000887-Dp; Wed, 08 Oct 2025 13:33:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1139660.1474918; Wed, 08 Oct 2025 13:33:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6UIm-000880-B9; Wed, 08 Oct 2025 13:33:56 +0000
Received: by outflank-mailman (input) for mailman id 1139660;
 Wed, 08 Oct 2025 13:33:55 +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
 <SRS0=bWZK=4R=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v6UIl-00087u-5D
 for xen-devel@lists.xenproject.org; Wed, 08 Oct 2025 13:33:55 +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 6e577c2c-a44b-11f0-9809-7dc792cee155;
 Wed, 08 Oct 2025 15:33:53 +0200 (CEST)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-46e6a689bd0so58038955e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 08 Oct 2025 06:33:53 -0700 (PDT)
Received: from [192.168.1.183] (host-92-22-57-86.as13285.net. [92.22.57.86])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-46fa9d6fb41sm37330325e9.17.2025.10.08.06.33.51
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 08 Oct 2025 06:33:51 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6e577c2c-a44b-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1759930432; x=1760535232; darn=lists.xenproject.org;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id:from:to:cc
         :subject:date:message-id:reply-to;
        bh=l2Kq0ecbrcDKxmZ86GMz8w/l5BGzueOC+AYBMCkW07s=;
        b=pwR6MIYR4kAlGMMJIseVMidHBJaq/YapwVumMeLnfMkqI6rQtCo1sF310kD+9uk53w
         bkvTDcw9xNdjUw9XDwBmwf1p8+yjzOSkhmQwWnWwAdq/AjYoI/Xct+cw1YBeyjxSzsqF
         zEuR1JaAfv+hN5P4zuCiEGKz95XjsBEkuPChE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759930432; x=1760535232;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=l2Kq0ecbrcDKxmZ86GMz8w/l5BGzueOC+AYBMCkW07s=;
        b=oaZvyKwAsqZzgzCueuiw1TTyBPoiP1q9g+xjQsFXrFpvVDnCFUjPbei5ZpL7bFverL
         fa5N+igECFp8KFcYFHbCF6GtyfID+/FLPsznTWtUbaipRhgUuU7BNVM+uEc9u6IQluEk
         V5EKbaQjyzLenFwTEDoXw6V+tmJj5g3A1fY3twj7CokVT68J8BKw5C1lMVcCMcfw2l70
         7KRskPw4v80DfzxooCXiUP/LnU6rxOGT8z3gZAcPpQRAKsIm330m7ln88MB8Pe5Bap4B
         DdzzDi+qiCikrvZbPjjk7SoAy2zDUbKhSB1oy1wJXdKLtq4R1g6kQDrFcqGjwtuZ+q8z
         sfpw==
X-Gm-Message-State: AOJu0YxhNv2WGCGntzrYvuSx58jAVnf5kRWjWkxGkl3EePlpkwDW+z7x
	YOwDatWgBIhtRUbU+DLcJXieldPw4wRac2tRCWjlFeL0bo9Mdr6iutxkpUsr0yFzZR2cn+625dy
	8G6H9V5pAMA==
X-Gm-Gg: ASbGncvLSvi2B55Ppyue4w4oGuVxXzVCKvE5NLalSySCelHqu328KkQuzjQB+6+J9KS
	0k74wArZWsE5vTL+Q15eUjojcIablQgOa7lD3Nn56/gP1KvveHcgv366ur7tooEVWFlWCaeefmw
	+EEWn02NJeTQdSyoqiTBojmKYexWgCpdoy6FBEIKbgy17GECVo36yv/uZosD8e6+OB+AmDufkin
	6JcedEVGb7q1vvKyN3cTj5knI6EH2wWTCh484a1vKJOJOCd8oEDpape0W8pXWTsI3q6Wg/P3Ldf
	hDll8ePVa9EKaR08fr4WO1I5FTX4pXewUkCu4/8/zyoDbGAdMDJ4ZA4Pnotjhiqt5Xj45x766Jc
	Tpvsv+QxlXUowAfc1t3HQj7ybU4aEiaxI53FS0HJ7hEvsPGQ9NlFsxNnELrZE/c+2/1owPPIKcJ
	8BPUg4nud2bItv
X-Google-Smtp-Source: AGHT+IFx1D1kSArHE9FUJm4IPCRI96naK0Hg0LmH2LGHIzfGkvhFz3Th0Epg2dTaKYYUi9UYocTzjA==
X-Received: by 2002:a05:6000:2003:b0:3eb:5e99:cbb9 with SMTP id ffacd0b85a97d-42666ac410emr2144250f8f.10.1759930432178;
        Wed, 08 Oct 2025 06:33:52 -0700 (PDT)
Message-ID: <e1627855-e7f4-4fe7-8079-68c3a0d488fb@citrix.com>
Date: Wed, 8 Oct 2025 14:33:51 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-GB
To: xen-devel <xen-devel@lists.xenproject.org>
Cc: Juergen Gross <jgross@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Linux xenfs vs privcmd
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Hello,

I'm doing a deployment of Xen on a remote system provisioned with Ubuntu
24.04, and I've found what I'm pretty sure is a bug.

In dom0, to start with:

user@host:~$ ls -la /dev/xen/
total 0
drwxr-xr-xÂ  2 root rootÂ Â Â Â  140 OctÂ  8 20:04 .
drwxr-xr-x 18 root rootÂ Â Â  4620 OctÂ  8 20:04 ..
crw-------Â  1 root root 10, 120 OctÂ  8 20:04 evtchn
crw-------Â  1 root root 10, 118 OctÂ  8 20:04 gntalloc
crw-------Â  1 root root 10, 119 OctÂ  8 20:04 gntdev
crw-------Â  1 root root 10, 124 OctÂ  8 20:04 xenbus
crw-------Â  1 root root 10, 123 OctÂ  8 20:04 xenbus_backend
user@host:~$ ls -la /proc/xen/
total 0
dr-xr-xr-xÂ Â  2 root root 0 OctÂ  8 20:04 .
dr-xr-xr-x 326 root root 0 OctÂ  8 20:04 ..

i.e. no /dev/xen/privcmd.

It turns out that mounting xenfs causes it to appear:

user@host:~$ sudo systemctl start proc-xen.mount
user@host:~$ ls -la /dev/xen/
total 0
drwxr-xr-xÂ  2 root rootÂ Â Â Â  180 OctÂ  8 20:05 .
drwxr-xr-x 18 root rootÂ Â Â  4620 OctÂ  8 20:04 ..
crw-------Â  1 root root 10, 120 OctÂ  8 20:04 evtchn
crw-------Â  1 root root 10, 118 OctÂ  8 20:04 gntalloc
crw-------Â  1 root root 10, 119 OctÂ  8 20:04 gntdev
crw-------Â  1 root root 10, 115 OctÂ  8 20:05 hypercall
crw-------Â  1 root root 10, 116 OctÂ  8 20:05 privcmd
crw-------Â  1 root root 10, 124 OctÂ  8 20:04 xenbus
crw-------Â  1 root root 10, 123 OctÂ  8 20:04 xenbus_backend
user@host:~$ ls -la /proc/xen/
total 0
drwxr-xr-xÂ Â  2 root root 0 OctÂ  8 20:05 .
dr-xr-xr-x 315 root root 0 OctÂ  8 20:04 ..
-r--r--r--Â Â  1 root root 0 OctÂ  8 20:05 capabilities
-rw-------Â Â  1 root root 0 OctÂ  8 20:05 privcmd
-rw-------Â Â  1 root root 0 OctÂ  8 20:05 xenbus
-r--------Â Â  1 root root 0 OctÂ  8 20:05 xensyms
-rw-------Â Â  1 root root 0 OctÂ  8 20:05 xsd_kva
-rw-------Â Â  1 root root 0 OctÂ  8 20:05 xsd_port

For good measure, I checked unmounting xenfs:

user@host:~$ sudo umount /proc/xen
user@host:~$ ls -la /dev/xen/
total 0
drwxr-xr-xÂ  2 root rootÂ Â Â Â  180 OctÂ  8 20:05 .
drwxr-xr-x 18 root rootÂ Â Â  4620 OctÂ  8 20:04 ..
crw-------Â  1 root root 10, 120 OctÂ  8 20:04 evtchn
crw-------Â  1 root root 10, 118 OctÂ  8 20:04 gntalloc
crw-------Â  1 root root 10, 119 OctÂ  8 20:04 gntdev
crw-------Â  1 root root 10, 115 OctÂ  8 20:05 hypercall
crw-------Â  1 root root 10, 116 OctÂ  8 20:05 privcmd
crw-------Â  1 root root 10, 124 OctÂ  8 20:04 xenbus
crw-------Â  1 root root 10, 123 OctÂ  8 20:04 xenbus_backend
user@host:~$ ls -la /proc/xen/
total 0
dr-xr-xr-xÂ Â  2 root root 0 OctÂ  8 20:04 .
dr-xr-xr-x 291 root root 0 OctÂ  8 20:04 ..

and /dev/xen/privcmd stayed.


Anyway - /dev/xen/privcmd (and /hypercall) shouldn't be tied to xenfs.Â 
They should be SIF_PRIVILEGED alone, should they not?

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Oct 08 13:45:50 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Oct 2025 13:45:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1139673.1474929 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6UUC-0001LH-EQ; Wed, 08 Oct 2025 13:45:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1139673.1474929; Wed, 08 Oct 2025 13:45:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6UUC-0001LA-At; Wed, 08 Oct 2025 13:45:44 +0000
Received: by outflank-mailman (input) for mailman id 1139673;
 Wed, 08 Oct 2025 13:45:43 +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 <SRS0=eGu8=4R=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v6UUB-0001L4-23
 for xen-devel@lists.xenproject.org; Wed, 08 Oct 2025 13:45:43 +0000
Received: from mail-ed1-x52d.google.com (mail-ed1-x52d.google.com
 [2a00:1450:4864:20::52d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 14b009d0-a44d-11f0-9d15-b5c5bf9af7f9;
 Wed, 08 Oct 2025 15:45:41 +0200 (CEST)
Received: by mail-ed1-x52d.google.com with SMTP id
 4fb4d7f45d1cf-634a3327ff7so2335030a12.1
 for <xen-devel@lists.xenproject.org>; Wed, 08 Oct 2025 06:45:41 -0700 (PDT)
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
 4fb4d7f45d1cf-639f30adc3asm44962a12.2.2025.10.08.06.45.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 08 Oct 2025 06:45:40 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 14b009d0-a44d-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1759931141; x=1760535941; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=e42lYW9mccSOzadWPdSxxl/dRGb78Sj1hzU62gKAwhk=;
        b=QOYb3c42ub2f4PXEjwu+f5XJhDbOQ3qXXxnBGHPlZ2EVoYJ4D/c1N/JkkQuTcbwqsj
         v4FeaXvn6I23K7ViCApGlgGT9PVkUFRPMKojpfGz1dXWwnuEbOgcnh8msfHq4NsDXwQg
         92YlZjt97Pi3k/ZNxwMwr1gPXuz+ILarsyLOZa5ILNFXdGX3xR7kOQjrqhz8441Vw+V1
         Ve0ZwscHbC5ojfJ2inHsLYEsztkfcx77R7AoFOTIVnCphrwn3zmDXRag9Anw7wKvq0SO
         lQCHV8xS45YJORMWZHBz9qSGwoeiYwBD3bDn79Hbr+TqzvynVigJ3jxbAtCxa6feokl0
         W1Ng==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759931141; x=1760535941;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=e42lYW9mccSOzadWPdSxxl/dRGb78Sj1hzU62gKAwhk=;
        b=nZdScakc9k3Kz7jtbpzJTf173dUZAVi/5oeHdt1WEVtMqzo/r13gi8lKrMXRTGyaeE
         yazw6SqGe2iCvBxHh86SAYB2JfQ+XAFDh7hQbBnWVXMMeTHlD3ta/ZuXRptuKuD7xBRm
         QOC09VnsjjffGNBWoiE7xQmwb6xKKReZg6ARQo8lJabA5nU+LJi8y/vuoEpEJeIZ3vzB
         WmteRcv7IniBDo5wkKszimJoPIzs4RDfE31n62jvo7afXzdEska1pHlmEYiALshTO63i
         SDhiCPimOqoJBeogIEQP0yVHt4eAOGXHhroZPNbdHqDXXxT/MTqzzltZyLeeBEP7aBzM
         cDrA==
X-Forwarded-Encrypted: i=1; AJvYcCV8G8t8uF18hyu+6JPZTs7CQL6YOpMsSW6Gu2/8/f39GaHp7lXlRuCP3PGRgxXc5j2BLMohYZW83+c=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzplvY/Ep7k71mGmaobfVinWVC8OqDkZ5aSHCpF941J6Lq/6ApR
	frUqLRwiblZnO6806QHELKTil82wwn8to3h2KajOF2xAcPTYx4BAcqWDpuhEWD4R4Q==
X-Gm-Gg: ASbGncsWCUsqgFNQh4h3JrsfPEybTgUlIeNs3FSPFdflGEKb2wzBKupkKR8NzOfJr5Z
	RugWtfX0cU69JIqqMBxhHoAqd93yKaaGIyYpvljp7PvS3tVy0WW+J6g6vlP+wLEP0vZgZgcbgrM
	zcxx0qS4fYYPTqyG5oTsxG/r/6XLNQrc4zfSVXSvqciZ6XP/q36YacQ/iOtb7V+7C7vjg5XPoQK
	uTK9MkWGRePSt1O+AXoA0F6ufU/uMpHCuGuflcL4uN4AIsKe2RTRDr2V2BMOgbevPjuJ6A/di2k
	EZ9/B5E19RqAYcQNOXslFwVo/42FPBZwLfK9GaCmdRV4Y0NNShgi5ak4d3RTPufDU0sqFwntoFg
	jhGQZCQll6zu3uDBkThX06gZwpwaemRrRUE4j3ub1AQNjqsyA90Y/4pweAdKq/6yMKObDXNmKgr
	TMvyv6xYnRtE3DkCu+sANRvDZfX40lpDOQV+A6M0J4tQ==
X-Google-Smtp-Source: AGHT+IHHf0IYCNuAAAOoLHfaT8yUafaDq1/tUKzyuoZicEf8OuMWPlXWnpDmtCU0GZw8mCTQvJeMPQ==
X-Received: by 2002:a05:6402:358a:b0:639:f254:beb9 with SMTP id 4fb4d7f45d1cf-639f254c819mr186370a12.10.1759931141049;
        Wed, 08 Oct 2025 06:45:41 -0700 (PDT)
Message-ID: <4d6f8c7b-f40f-43ea-a54e-74f1e31cf4b2@suse.com>
Date: Wed, 8 Oct 2025 15:45:39 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 21/22] x86/pv: System call handling in FRED mode
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
 <20251003225334.2123667-22-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251003225334.2123667-22-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 04.10.2025 00:53, Andrew Cooper wrote:
> Under FRED, entry_from_pv() handles everything, even system calls.  This means
> more of our logic is written in C now, rather than assembly.
> 
> In order to facilitate this, introduce pv_inject_callback(), which reuses
> struct trap_bounce infrastructure to inject the syscall/sysenter callbacks.
> This in turns requires some !PV compatibility for pv_inject_callback() and
> pv_hypercall() which can both be ASSERT_UNREACHABLE().
> 
> For each of INT $N, SYSCALL and SYSENTER, FRED gives us interrupted context
> which was previously lost.  As the guest can't see FRED, Xen has to lose state
> in the same way to maintain the prior behaviour.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Wed Oct 08 13:46:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Oct 2025 13:46:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1139683.1474940 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6UVI-0001rs-ON; Wed, 08 Oct 2025 13:46:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1139683.1474940; Wed, 08 Oct 2025 13:46:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6UVI-0001rl-KE; Wed, 08 Oct 2025 13:46:52 +0000
Received: by outflank-mailman (input) for mailman id 1139683;
 Wed, 08 Oct 2025 13:46:51 +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
 <SRS0=YZBS=4R=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1v6UVH-0001rd-Dw
 for xen-devel@lists.xenproject.org; Wed, 08 Oct 2025 13:46:51 +0000
Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com
 [2a00:1450:4864:20::62b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3dbb3b86-a44d-11f0-9d15-b5c5bf9af7f9;
 Wed, 08 Oct 2025 15:46:50 +0200 (CEST)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-b3b3a6f4dd4so1375711366b.0
 for <xen-devel@lists.xenproject.org>; Wed, 08 Oct 2025 06:46:50 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-146-38.play-internet.pl.
 [109.243.146.38]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-b4869b4e27dsm1649841566b.70.2025.10.08.06.46.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 08 Oct 2025 06:46:49 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3dbb3b86-a44d-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1759931210; x=1760536010; darn=lists.xenproject.org;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=0FJ8MmXM27Bgok/hxZ+tkRwn49Ne/D9ZzJMRWAyiP+8=;
        b=XY7f9sgnYHD+h/S2cR/a1YF5SjaKWEB15wQD6Not19DAMbr5VLq737HW7nVFEfV1Lz
         DU5QgnotESfbv2aO19q/8tg3yAOqddqBsJ9Za0mgNfTD63zkq97aNbu6o8gmq4u/T36t
         +pyfGQzcmJC/cYJpfMdNC7aSHCZBdzBLMthQU/rkjHaUmaAmKGuU9s4ARVRThEV0SmyB
         Eu42k5nJrLEqtsVHC0N9s8mLwpJZfyxwtZ+JVeJFeHfmEC4u70anvgoPEQRYBso9eXT2
         8V/FIeKmu68nZDfGBT8ka/+Thr4qZB6B37GLCwZswuuR9NLAq61K87nmBHJKFcErKfwl
         98ZQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759931210; x=1760536010;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=0FJ8MmXM27Bgok/hxZ+tkRwn49Ne/D9ZzJMRWAyiP+8=;
        b=ezhqXQWv25r5oSDcn669AILvyJYosd9vQNba7zwxiwh6+fKtg3qrL/q9oXFbRpEPLk
         pLGDaARTNGgab6j3nfJCakHjUC2P7Qr9TPUC65N8QTKylnEFkRV2+vRKoB3UUb0miNiz
         wIrVZocc7a8rY5LhcEZVloq6sg4/1bRRV+KOV4YNZ0XeWxrarOlMFiM3/RCSQxHL6Ntd
         fMrbGvqdFs7kDUkQdsq0KanejMpZbJ5KT/+wtQYB6hP4LKlUjPRwMGq37m3fk/cd3g+D
         Z42eIsYM8l3l998P+UoTWbwuVcQLLNeeajt/z76b6pqrWxWUEraLv4Y12fZocQrDrWjS
         fThw==
X-Forwarded-Encrypted: i=1; AJvYcCVcl3QftcPYWK+DLgQv2UAKM2iJLvY3UbsJFzEPhUsJT3k7mGqqLIIDiIeqFAzAOLMgXDTsYcCjyww=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxB9euEv6GjUpoq4xfDGVI/nzi63hoOlIWAyAeSN4ae6b2LmGL3
	opt0sUnosZI7vm87/zTSoK+UBdXcGPdAIM+EgS2XJA34W5rjQ6fbxI10
X-Gm-Gg: ASbGncug/J+QqMhTXfwqXBiAjUII8fPFoHjnWqqhoQtolGP/rKeII6eXUuO1zxX6pWe
	zT01lcnDZogbKolx9urboLPpv6VGxdqHKZE0VamMHAp9idfBKSY2CWsjkrMkRcU3eiTMuODELnO
	/mBCFWxeuMFiqJML38S0XTb2ykulyqqFTWcfTX2kDE2aUrcDwnMSoSjVmxqdJyR+5VA20hEre/l
	TpobwM4SfidgbeuBi5y63Ua4QMVCBH/9YSzPlgOLVx1mvtqD79ZB/49DiFSJI2AozQGgF3Eygje
	RdAR8EM5j1Vsnr/QSXApPdxf+lGfvkqwZyJvGQDbcH7cPASb3jB0+k32tLy6qf7/GvTMvoLei+R
	SRsZxHWdxXviYJzvhXLZbgdu5EehTSAEFokzhJgGElglUlWVqseAOQa+0+ZnZDUEjCS0eVEMlYv
	ZYiW/kEuQYlSveDtdprFqoQdy9OBQ=
X-Google-Smtp-Source: AGHT+IEOlOlp655AmDa5pVoM+o81Ckpq8Xzdk3nBriT/pxJswTH7fW6TmSG3fKdK+rT2LcqClR+nHg==
X-Received: by 2002:a17:907:9720:b0:b3e:b226:5bba with SMTP id a640c23a62f3a-b50aaa9c3f5mr364106366b.15.1759931209528;
        Wed, 08 Oct 2025 06:46:49 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------k84pq0GkXuh8o2w1NEl0PIp0"
Message-ID: <170f9a4a-49ca-4402-a63c-e6aea0fb106b@gmail.com>
Date: Wed, 8 Oct 2025 15:46:48 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21] tools/tests: don't pass -E to sed
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <4d985a6f-59e2-45ea-bc3d-ecd2da032a17@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <4d985a6f-59e2-45ea-bc3d-ecd2da032a17@suse.com>

This is a multi-part message in MIME format.
--------------k84pq0GkXuh8o2w1NEl0PIp0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit


On 10/8/25 11:47 AM, Jan Beulich wrote:
> Even the 2018 edition of The Open Group Base Specifications Issue 7 [1]
> doesn't name -E as a standard option; only Issue 8 [2] does. As there's
> nothing "extended" about the expression used, simply drop the -E.
>
> [1]https://pubs.opengroup.org/onlinepubs/9699919799/
> [2]https://pubs.opengroup.org/onlinepubs/9799919799/
>
> Fixes: cb50e4033717 ("test/pdx: add PDX compression unit tests")
> Signed-off-by: Jan Beulich<jbeulich@suse.com>

LGTM:
   Reviewed-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>
   Release-Acked-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>

Thanks.

~ Oleksii

> ---
> In principle the -e could be dropped too, for being redundant.
>
> Hitting the problem with an older sed pointed out another problem here as
> well: The failed invocation left a 0-byte pdx.h, which upon re-invocation
> of make was (obviously) deemed up-to-date, thus causing the build to fail
> again (until the bad file was actually removed).
>
> --- a/tools/tests/pdx/Makefile
> +++ b/tools/tests/pdx/Makefile
> @@ -35,7 +35,7 @@ uninstall:
>   	$(RM) -- $(patsubst %,$(DESTDIR)$(LIBEXEC)/tests/%,$(TARGETS))
>   
>   pdx.h: $(XEN_ROOT)/xen/include/xen/pdx.h
> -	sed -E -e '/^#[[:space:]]*include/d' <$< >$@
> +	sed -e '/^#[[:space:]]*include/d' <$< >$@
>   
>   CFLAGS += -D__XEN_TOOLS__
>   CFLAGS += $(APPEND_CFLAGS)
--------------k84pq0GkXuh8o2w1NEl0PIp0
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 10/8/25 11:47 AM, Jan Beulich wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:4d985a6f-59e2-45ea-bc3d-ecd2da032a17@suse.com">
      <pre wrap="" class="moz-quote-pre">Even the 2018 edition of The Open Group Base Specifications Issue 7 [1]
doesn't name -E as a standard option; only Issue 8 [2] does. As there's
nothing "extended" about the expression used, simply drop the -E.

[1] <a class="moz-txt-link-freetext" href="https://pubs.opengroup.org/onlinepubs/9699919799/">https://pubs.opengroup.org/onlinepubs/9699919799/</a>
[2] <a class="moz-txt-link-freetext" href="https://pubs.opengroup.org/onlinepubs/9799919799/">https://pubs.opengroup.org/onlinepubs/9799919799/</a>

Fixes: cb50e4033717 ("test/pdx: add PDX compression unit tests")
Signed-off-by: Jan Beulich <a class="moz-txt-link-rfc2396E" href="mailto:jbeulich@suse.com">&lt;jbeulich@suse.com&gt;</a></pre>
    </blockquote>
    <pre>LGTM:
  Reviewed-by: Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a>
  Release-Acked-by: Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a>

Thanks.

~ Oleksii</pre>
    <blockquote type="cite"
      cite="mid:4d985a6f-59e2-45ea-bc3d-ecd2da032a17@suse.com">
      <pre wrap="" class="moz-quote-pre">
---
In principle the -e could be dropped too, for being redundant.

Hitting the problem with an older sed pointed out another problem here as
well: The failed invocation left a 0-byte pdx.h, which upon re-invocation
of make was (obviously) deemed up-to-date, thus causing the build to fail
again (until the bad file was actually removed).

--- a/tools/tests/pdx/Makefile
+++ b/tools/tests/pdx/Makefile
@@ -35,7 +35,7 @@ uninstall:
 	$(RM) -- $(patsubst %,$(DESTDIR)$(LIBEXEC)/tests/%,$(TARGETS))
 
 pdx.h: $(XEN_ROOT)/xen/include/xen/pdx.h
-	sed -E -e '/^#[[:space:]]*include/d' &lt;$&lt; &gt;$@
+	sed -e '/^#[[:space:]]*include/d' &lt;$&lt; &gt;$@
 
 CFLAGS += -D__XEN_TOOLS__
 CFLAGS += $(APPEND_CFLAGS)
</pre>
    </blockquote>
  </body>
</html>

--------------k84pq0GkXuh8o2w1NEl0PIp0--


From xen-devel-bounces@lists.xenproject.org Wed Oct 08 13:50:32 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Oct 2025 13:50:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1139698.1474950 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6UYp-0003Ux-A3; Wed, 08 Oct 2025 13:50:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1139698.1474950; Wed, 08 Oct 2025 13:50:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6UYp-0003Uq-67; Wed, 08 Oct 2025 13:50:31 +0000
Received: by outflank-mailman (input) for mailman id 1139698;
 Wed, 08 Oct 2025 13:50:29 +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 <SRS0=eGu8=4R=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v6UYn-0003Uk-Iu
 for xen-devel@lists.xenproject.org; Wed, 08 Oct 2025 13:50:29 +0000
Received: from mail-ed1-x533.google.com (mail-ed1-x533.google.com
 [2a00:1450:4864:20::533])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bf9deba2-a44d-11f0-9d15-b5c5bf9af7f9;
 Wed, 08 Oct 2025 15:50:28 +0200 (CEST)
Received: by mail-ed1-x533.google.com with SMTP id
 4fb4d7f45d1cf-63963066fb0so864793a12.3
 for <xen-devel@lists.xenproject.org>; Wed, 08 Oct 2025 06:50:28 -0700 (PDT)
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
 a640c23a62f3a-b486970a786sm1720060266b.46.2025.10.08.06.50.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 08 Oct 2025 06:50:27 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bf9deba2-a44d-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1759931428; x=1760536228; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=TxbVZTEFl2L6cu2TWWmUm5qVISbtOH3h2nacdRtr2BU=;
        b=XpRtZrNU2uB6rGT+zX7AC0jvCE1Rb4PLR3aW34UPB5ZNMx+gBajX9X7e0837QZAYhl
         Y/kY7sTFo8aKmZ+l4+ptWCCpAcwbHAXMvdE+ZaltzTPiMAQ4lminj04aIDIP0TA+P7/F
         YOBLv6Z+MhMDcl6A7kQc6JUNynt9mqokrJiN4MLmrkGpAaCi7/JA4wJupWfZOmHVaiCR
         kQiJ4AazSiBh66MF+TeI70ke85gNl2JiyBAlTiw7N4iNtJDvvdRISFyjS1Awl4l7osPC
         jZwAS9HdlD6pIrjt/J+rEEa7Ugda24oDauOWwnIBnOzRBRF1gmI/rokrab+MmeSqyXB2
         VANQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759931428; x=1760536228;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=TxbVZTEFl2L6cu2TWWmUm5qVISbtOH3h2nacdRtr2BU=;
        b=gd1ZOURVdRkd9UZZ0OD+csF04aHGLlr+v863VdRI20WBump35E8VRjYjiyFLScMUEU
         aVcOa7Qcp2CAku5FK7u3G+Smgafk4p97TaQ7h0I60nXaWA2iLa/68MCLvl8lhHg0RDgg
         axvpZlUlQUQthfMWSq1HNHRgGTY+nraYKiq38OH/uhiDZI3daiaIpB5GgQmvq7cm8UZX
         vdAtlbXApHMsy5c4o751/qxaDScBEFK90hSmxpTfPzks7+PHOqPSKXHb3N/pKjF42o8u
         tBXDpUGMdg/U7WruuC4TBG78PeQ610uH5ewWTxTVrEv4dnsflHVnLkqxbkgXdghQuo4B
         XFEQ==
X-Forwarded-Encrypted: i=1; AJvYcCVc9PlZKadeaT7NvQvn/ITFUpF3EyCj+luieZK2FV1DmyxfLh71O/RW/hPvxQso/7qyDwHqzeOyvhk=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx4aCG+1eP+vz0ZqywSpMgAPOXcc9EQa5yMBMtqmk4ChXGrbdLm
	ZWoiDVI1wT8tNc8MiKdSAdyeW1WWrVKvYI4JIgXf2qBDievchBSrewb6WImIwNvYmxcFYS4q3Uk
	Bmy4=
X-Gm-Gg: ASbGncv7mRKocsahgEIzGOPcAms6PgFa0YWwDJuWfqjhHrNfxLk72zCeo7STb8Mssc6
	BU0tuDZThYtZ6ll2nM/HyCdZNynyrmllEJZZ4yE2R67Owtl1R44XiFDpXW7vRFipPzG+fEVqgKp
	m5VBCjcQ6ilZni4Qxe8UrPMuvyLhwooxq89w5FrWA+AdaJ5X9x6crP4v35yzlNZQQkjuUAXv6cB
	gumGBQl6D47NRTeUniCX9SOot+fvGka7U4dCBkLntseNrbEeBhCv5zr9nkjFXZ7FdrU4FHq1EZa
	c3qo/0y8xUE/sAnUE23kkLd/SQEkRZ7nC6ggTlcBqr1huAnN4CunZtMQM4hx475aibHxwIG7ZQ6
	WHrBhst7L8EVY6Io24/BsI0mxmUUuFZ6iq1hnGgjdyO9ge2sayGDlJmgNJb0C79sTrduCrmUUdT
	+ee2qaiP0tA2eYXEn2xOWz8Acla/VlDkM77OlB1cn5Fw==
X-Google-Smtp-Source: AGHT+IESUEFG2pUs76Y14tjfTsPc09Jl6HNAwDPQ3U1rwjc1UCqvgJSMCSmRKAUeFuiE1xVOd9KM6w==
X-Received: by 2002:a17:907:1c0c:b0:b24:6396:c643 with SMTP id a640c23a62f3a-b50aaa98194mr395797466b.23.1759931427767;
        Wed, 08 Oct 2025 06:50:27 -0700 (PDT)
Message-ID: <a3698cf9-c0c0-4bd5-85bb-bf8b982e55d0@suse.com>
Date: Wed, 8 Oct 2025 15:50:26 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 22/22] x86: Clamp reserved bits in eflags more
 aggressively
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
 <20251003225334.2123667-23-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251003225334.2123667-23-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 04.10.2025 00:53, Andrew Cooper wrote:
> ERETU, unlike IRET, requires the sticky-1 bit (bit 2) be set, and reserved
> bits to be clear.  Notably this means that dom0_construct() must set
> X86_EFLAGS_MBS it in order for a PV dom0 to start.

Nit: Seemingly stray "it".

> Xen has been overly lax with reserved bit handling.  Adjust
> arch_set_info_guest*() and hypercall_iret() which consume flags to clamp the
> reserved bits for all guest types.
> 
> This is a minor ABI change, but by the same argument as commit
> 9f892f84c279 ("x86/domctl: Stop using XLAT_cpu_user_regs()"), the reserved
> bits would get clamped naturally by hardware when the vCPU is run.
> 
> This allows PV guests to start when Xen is using FRED mode.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
> 
> v3:
>  * Rewrite the commit message.
> v2:
>  * New
> 
> The handling of VM is complicated.
> 
> It turns out that it's simply ignored by IRET in Long Mode (i.e. clearing it
> commit 0e47f92b0725 ("x86: force EFLAGS.IF on when exiting to PV guests")
> wasn't actually necessary) but ERETU does care.
> 
> But, it's unclear how to handle this in in arch_set_info().  We must preserve
> it for HVM guests (which can use vm86 mode).  PV32 has special handling but
> only in hypercall_iret(), not in arch_set_info().

And what's wrong with adding special handling? (Apart from this the patch looks
good to me.)

Jan


From xen-devel-bounces@lists.xenproject.org Wed Oct 08 13:51:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Oct 2025 13:51:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1139706.1474959 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6UZT-0003xF-Gw; Wed, 08 Oct 2025 13:51:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1139706.1474959; Wed, 08 Oct 2025 13:51:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6UZT-0003x6-Dl; Wed, 08 Oct 2025 13:51:11 +0000
Received: by outflank-mailman (input) for mailman id 1139706;
 Wed, 08 Oct 2025 13:51:10 +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
 <SRS0=bWZK=4R=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v6UZS-0003wM-0r
 for xen-devel@lists.xenproject.org; Wed, 08 Oct 2025 13:51:10 +0000
Received: from mail-wr1-x429.google.com (mail-wr1-x429.google.com
 [2a00:1450:4864:20::429])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d766d029-a44d-11f0-9809-7dc792cee155;
 Wed, 08 Oct 2025 15:51:08 +0200 (CEST)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-42557c5cedcso3783199f8f.0
 for <xen-devel@lists.xenproject.org>; Wed, 08 Oct 2025 06:51:08 -0700 (PDT)
Received: from [192.168.1.183] (host-92-22-57-86.as13285.net. [92.22.57.86])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4255d8a6c49sm30257978f8f.3.2025.10.08.06.51.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 08 Oct 2025 06:51:07 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d766d029-a44d-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1759931467; x=1760536267; darn=lists.xenproject.org;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id:from:to:cc
         :subject:date:message-id:reply-to;
        bh=4YB5qGXq/xuFxITrZOMOJ4YfVsgdc2LJPG3/gdY9qhk=;
        b=imzLm3hd/VvJA2mYetwWjupfh7CeCKEJZZQ1geQuyjUQ3ecvisDl0roTpgElua0Q1d
         jZay4dG01t6AP6G7INtEe5VDwpl7mZJvMzaWjnHowpHnbo8Yj8OYNbKKua2TiqVRCiAL
         RNHxDJH/uQHmOvMIpRuT3QNtcFDJWABVRu8g8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759931467; x=1760536267;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=4YB5qGXq/xuFxITrZOMOJ4YfVsgdc2LJPG3/gdY9qhk=;
        b=sEptOs47C+GPdpiOQ5GDut+qMCVq4vrYsxqRpG8K/2nqjdNYOIK3Zga+Ff0SJqCGQc
         M+Zno3yVV8pmpKBLV8XGObtANQR2KbwEUzowToUtnq63uJW72vsFrxl4PhlLlqqYPK1s
         dMc7hsgW2PKokBNKK79LvYCHtL6qBNDALxjwGb+buVBiAaacx5/JQuSgtCtc3cAFFbcf
         lhhRoe7yDBtEHdkKQ4d6F3M72J6Rw8RgAmDbZxIVwKRxAALBlmNTh0Z5zUvNUnbaH18n
         9mkXJNgYx7nGFrYd3n2RwWxLrtNydGSsbrYlQfs5K9t6mLcp2JdUEUIZp/99084LkzL5
         yj4A==
X-Gm-Message-State: AOJu0Yxfx1b8T85NNZ0ToyTSC4CHtZv++RWP5lERMtwv6VMgxc5RVSXt
	HHNxLwaq6l8YFqaiVNEM36YfFyTXHlJwoirlCvjsSNCGwpnWpyS6f+nhflIWbUoq6qYnSzohlkL
	COR12ACK4qw==
X-Gm-Gg: ASbGncvmrXnr2nsuUCb4onbGMAGzN+MRwFWPKnN2amUemfr0MubZk+8WBWS3tenpTFU
	A+wjYW2eW7/6026crTGpMZxfx3re96STFt/9pRaUh9AgyeljtgWWGXqe7xYQlohyqWqwjRnxp1V
	FjFqHoHjWE76NWGKW5vTzJtFbNhUqi4hgWDQCazhQ+msAIbHZ4aFgZQclD3ZQweUAaVWCWqTOq9
	/PXTj0+xPKs+An5AqXXNz3/klZjQtLI7ac06Oz+ujcne59rLW/h2ABWVXzYM85O+rZE2qQf1mza
	r2ecInZabOeYQXzAP6vI/LXAI2fiXgbL9deYHPHnRkcNVJDX0lfr2O/dCkqG50uOfDXbs0BYpkD
	enZDd1dVU0VgBuelTYU0cnVKqJbQKhFpcPBKyWsoloTLQFyUP2DAehBus/nY+AvVUz2iGQc+7IA
	yMdZY2uOwbLgWT
X-Google-Smtp-Source: AGHT+IGD3+A0qGBotLIY9PDsBKb4xctFQWN941pyjEVEyJFK5ejKGb9H60fUt4Xpd6FhDqGn1pPWEA==
X-Received: by 2002:a05:6000:2c0e:b0:3ec:de3c:c56 with SMTP id ffacd0b85a97d-42667177c79mr2294107f8f.16.1759931467471;
        Wed, 08 Oct 2025 06:51:07 -0700 (PDT)
Message-ID: <d2974179-0d3b-4bc7-a034-dd6f865e4ea1@citrix.com>
Date: Wed, 8 Oct 2025 14:51:06 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-GB
To: xen-devel <xen-devel@lists.xenproject.org>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Juergen Gross <jgross@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: ./configure default for systemd
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Hello,

(Related to my "Linux xenfs vs privcmd" email, if anyone was wondering
why I ended up playing with systemd manually)

It turns out that when you build on a systemd-enabled system, you still
need to explicitly --enable-systemd to get a working debball.

This is contrary to most other behaviours which are active by default if
the preconditions are met.Â  In this case there are no preconditions -
it's just a bunch of text files being processed and written out into the
proper directory structure.

I think we want to do something better by default here.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Oct 08 13:54:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Oct 2025 13:54:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1139722.1474969 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6Ucw-0004ZC-Um; Wed, 08 Oct 2025 13:54:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1139722.1474969; Wed, 08 Oct 2025 13:54:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6Ucw-0004Z5-Rf; Wed, 08 Oct 2025 13:54:46 +0000
Received: by outflank-mailman (input) for mailman id 1139722;
 Wed, 08 Oct 2025 13:54:45 +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 <SRS0=eGu8=4R=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v6Ucv-0004Yx-Mj
 for xen-devel@lists.xenproject.org; Wed, 08 Oct 2025 13:54:45 +0000
Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com
 [2a00:1450:4864:20::636])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 57b6316e-a44e-11f0-9809-7dc792cee155;
 Wed, 08 Oct 2025 15:54:43 +0200 (CEST)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-b3d5088259eso1098194266b.1
 for <xen-devel@lists.xenproject.org>; Wed, 08 Oct 2025 06:54:43 -0700 (PDT)
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
 a640c23a62f3a-b53bd62addbsm90176366b.4.2025.10.08.06.54.42
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 08 Oct 2025 06:54:42 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 57b6316e-a44e-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1759931683; x=1760536483; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=y3zhpDd9JB42w8UnTwlcel1LJbIxZwUeRRRKBqZnVgw=;
        b=Eodi5wdnvRTrdfpvRMdBJUc8mTcJni6ECeIXYMEFPlQtDZhSXoGAGp1K4/4IaH+65+
         Ar14ywSok6gdjfgMFzTk27j9lS97wPut2JRN0d8xQzvsvAwxBUOafRE3HTy/4v5ObskT
         pFrb1QgcNh468olucCfnDNkDAZIZL0pZKdAVzF8au3uXhA6UXJfWkY+SVRFW0FFVbmu9
         TqB8YheUpqvFpBUvrwz9luDGuyG0huP9PPU7Dtml7dTAr9CvBhb4m/4eqf3Urdd0kVmt
         IrMqCFuWRXMZ+JMQBi8zaOSiYPhXQCevFW3hUuCuFZmOHOF/+MCwgKZshXrixLGMLnR2
         O0rg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759931683; x=1760536483;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=y3zhpDd9JB42w8UnTwlcel1LJbIxZwUeRRRKBqZnVgw=;
        b=FIEATV0UZJzfCwo4VSTDTgd1YCHynNF4wG4eztQ9KqDbfe/+hM8LezrDPIm1mqUa6p
         j9vBiBABAlMXsTouJx5ZU7HfyEkM5FvJM/qjFbxKUDzcXQWZKDCSm2m4FMqQgShhHCfB
         EdxjnzDGu1+bky4hyHPcEO0/2V/k0G7BwKPc+jIOZrvxVtWzbByUX1pR1G2tU4Apkb4M
         e0yndF2Q/1cMrxseCU4n7rzO7AQe1acuwwFzIap5P3Rnas5rnn4l9+A1yCytzK1Hd4Yy
         kRmCIOuIy6E1BGnuzAjyU1s8Y9ErV1DqLiWxnC+aR3TLQ8nqDYpH8f4It3VWmpwvjKfx
         rMKA==
X-Forwarded-Encrypted: i=1; AJvYcCWUPkWgTBnK96gKA1f9SmzycGl8ikRLWWFxMw7tvYGfNDRhGEXJnTG03hNjH2J1OMYMpFJml4f38e4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzI/g2mAR3mIfZqfs/oa2d4kT6p2ycqGAVZoCQ5upuLVAPikumz
	sjYOJn0ylZ9ESWUAOpdDMSKQIWtJyX573CMgQEPQzGYRPaESFEOo/cxyGIEmeDFWww==
X-Gm-Gg: ASbGnctWE/QUnIs4nTurodrJgND2PGtfoVs7RnYGqfmu/UhDzhSBhKVH843G4JkDaa8
	3pCMjzP/qo5AuzEpeDQIVVC0ZTZAQR6LwBJ6ir15h1CMccU2wPNORslPb4gNMuOPxXER0DQy+1p
	Uk8ah5VorgYVKSlq+Cq17ffqSwee4jRm6F6uqDx9qFDkJo7zG5bwO4jnsgc2+bfQLDIKvGm1gtN
	h3UdByOkRBC2oFXP586Iena0XKZQUc4hBQ6cPfgt9LfGB145Ly5nINuTHM6tq1FCHqCEPLT83n9
	Sdjpx2xjziLoKG7qbPOMnR7YCUXPI8wgon43xgarb2vTNo/jYJbivYZHUrGHYh6qQZ9/oA6/n4/
	/pWuGWcFw3IT3PtjVfSUXad+GE+SDNjRiJCERU32nm4FacHnDKtngfapUtW3QVoN+W4LQZBUruw
	E7WU9iAH9SprF0vvntejMJoGdWBMAQGlQ=
X-Google-Smtp-Source: AGHT+IFMwW6NTQ/LN1aI0c/rTnM+s+H/t4XCJ6zm1dZjfrAb2JhYwucHZ1W/249l7N7kYpdmFUfcbA==
X-Received: by 2002:a17:907:608b:b0:b40:e2d5:ce28 with SMTP id a640c23a62f3a-b50ac6d2735mr421366166b.53.1759931682623;
        Wed, 08 Oct 2025 06:54:42 -0700 (PDT)
Message-ID: <4b7b99ea-00e0-4967-98a3-90e876e5cf3c@suse.com>
Date: Wed, 8 Oct 2025 15:54:41 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Linux xenfs vs privcmd
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Juergen Gross <jgross@suse.com>,
 xen-devel <xen-devel@lists.xenproject.org>
References: <e1627855-e7f4-4fe7-8079-68c3a0d488fb@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <e1627855-e7f4-4fe7-8079-68c3a0d488fb@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 08.10.2025 15:33, Andrew Cooper wrote:
> Hello,
> 
> I'm doing a deployment of Xen on a remote system provisioned with Ubuntu
> 24.04, and I've found what I'm pretty sure is a bug.
> 
> In dom0, to start with:
> 
> user@host:~$ ls -la /dev/xen/
> total 0
> drwxr-xr-xÂ  2 root rootÂ Â Â Â  140 OctÂ  8 20:04 .
> drwxr-xr-x 18 root rootÂ Â Â  4620 OctÂ  8 20:04 ..
> crw-------Â  1 root root 10, 120 OctÂ  8 20:04 evtchn
> crw-------Â  1 root root 10, 118 OctÂ  8 20:04 gntalloc
> crw-------Â  1 root root 10, 119 OctÂ  8 20:04 gntdev
> crw-------Â  1 root root 10, 124 OctÂ  8 20:04 xenbus
> crw-------Â  1 root root 10, 123 OctÂ  8 20:04 xenbus_backend
> user@host:~$ ls -la /proc/xen/
> total 0
> dr-xr-xr-xÂ Â  2 root root 0 OctÂ  8 20:04 .
> dr-xr-xr-x 326 root root 0 OctÂ  8 20:04 ..
> 
> i.e. no /dev/xen/privcmd.
> 
> It turns out that mounting xenfs causes it to appear:
> 
> user@host:~$ sudo systemctl start proc-xen.mount
> user@host:~$ ls -la /dev/xen/
> total 0
> drwxr-xr-xÂ  2 root rootÂ Â Â Â  180 OctÂ  8 20:05 .
> drwxr-xr-x 18 root rootÂ Â Â  4620 OctÂ  8 20:04 ..
> crw-------Â  1 root root 10, 120 OctÂ  8 20:04 evtchn
> crw-------Â  1 root root 10, 118 OctÂ  8 20:04 gntalloc
> crw-------Â  1 root root 10, 119 OctÂ  8 20:04 gntdev
> crw-------Â  1 root root 10, 115 OctÂ  8 20:05 hypercall
> crw-------Â  1 root root 10, 116 OctÂ  8 20:05 privcmd
> crw-------Â  1 root root 10, 124 OctÂ  8 20:04 xenbus
> crw-------Â  1 root root 10, 123 OctÂ  8 20:04 xenbus_backend
> user@host:~$ ls -la /proc/xen/
> total 0
> drwxr-xr-xÂ Â  2 root root 0 OctÂ  8 20:05 .
> dr-xr-xr-x 315 root root 0 OctÂ  8 20:04 ..
> -r--r--r--Â Â  1 root root 0 OctÂ  8 20:05 capabilities
> -rw-------Â Â  1 root root 0 OctÂ  8 20:05 privcmd
> -rw-------Â Â  1 root root 0 OctÂ  8 20:05 xenbus
> -r--------Â Â  1 root root 0 OctÂ  8 20:05 xensyms
> -rw-------Â Â  1 root root 0 OctÂ  8 20:05 xsd_kva
> -rw-------Â Â  1 root root 0 OctÂ  8 20:05 xsd_port
> 
> For good measure, I checked unmounting xenfs:
> 
> user@host:~$ sudo umount /proc/xen
> user@host:~$ ls -la /dev/xen/
> total 0
> drwxr-xr-xÂ  2 root rootÂ Â Â Â  180 OctÂ  8 20:05 .
> drwxr-xr-x 18 root rootÂ Â Â  4620 OctÂ  8 20:04 ..
> crw-------Â  1 root root 10, 120 OctÂ  8 20:04 evtchn
> crw-------Â  1 root root 10, 118 OctÂ  8 20:04 gntalloc
> crw-------Â  1 root root 10, 119 OctÂ  8 20:04 gntdev
> crw-------Â  1 root root 10, 115 OctÂ  8 20:05 hypercall
> crw-------Â  1 root root 10, 116 OctÂ  8 20:05 privcmd
> crw-------Â  1 root root 10, 124 OctÂ  8 20:04 xenbus
> crw-------Â  1 root root 10, 123 OctÂ  8 20:04 xenbus_backend
> user@host:~$ ls -la /proc/xen/
> total 0
> dr-xr-xr-xÂ Â  2 root root 0 OctÂ  8 20:04 .
> dr-xr-xr-x 291 root root 0 OctÂ  8 20:04 ..
> 
> and /dev/xen/privcmd stayed.
> 
> 
> Anyway - /dev/xen/privcmd (and /hypercall) shouldn't be tied to xenfs.Â 
> They should be SIF_PRIVILEGED alone, should they not?

Why would you want to restrict e.g. a Linux stubdom usermode from making
hypercalls? Aiui this would break e.g. qemu running there. (Whether the
tying to xenfs makes sense I can't really judge. Without that something
else would need to make the two entries appear.)

Jan


From xen-devel-bounces@lists.xenproject.org Wed Oct 08 14:01:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Oct 2025 14:01:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1139733.1474978 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6UjJ-0006Q4-J4; Wed, 08 Oct 2025 14:01:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1139733.1474978; Wed, 08 Oct 2025 14:01:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6UjJ-0006Px-Fx; Wed, 08 Oct 2025 14:01:21 +0000
Received: by outflank-mailman (input) for mailman id 1139733;
 Wed, 08 Oct 2025 14:01:20 +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
 <SRS0=bWZK=4R=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v6UjI-0006Pr-Qe
 for xen-devel@lists.xenproject.org; Wed, 08 Oct 2025 14:01:20 +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 43069139-a44f-11f0-9809-7dc792cee155;
 Wed, 08 Oct 2025 16:01:18 +0200 (CEST)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-46e6674caa5so5297285e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 08 Oct 2025 07:01:18 -0700 (PDT)
Received: from [192.168.1.183] (host-92-22-57-86.as13285.net. [92.22.57.86])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-46fa9d6fb41sm38449805e9.17.2025.10.08.07.01.16
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 08 Oct 2025 07:01:16 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 43069139-a44f-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1759932077; x=1760536877; 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=as7YynNUqYOKVsY68tcQnayHTPJ8Racq9v2i8OOoUrQ=;
        b=cWst1cKGs8r+OXL5sDvrgs8lOnmxhcAKaIM6hJKc/lUjNmRavCLkfyVGAwHfiup3Zq
         echkBGDofQHz2N1MpJr3qdOYmL50Lhmd6O04pt20cOmqZOaw1SNtVeVYL5oYdWeUDVIw
         JVxejcx9ZOPBiFW6qI79oypbTORmyXkdyDfKU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759932077; x=1760536877;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=as7YynNUqYOKVsY68tcQnayHTPJ8Racq9v2i8OOoUrQ=;
        b=ZrkEbbh/UgcTtHotAQw+ODPaya6ThFDCdclikUKiei1Rhubqhd3ts66rmxTr+y4jFv
         YNPvICLGvXDX+ncpYFI3o5iuClpcZmyuJwERreZlzgklDuRtTmO7W17zEasWw8qhz42h
         pt3Rnj9u2AL7cE8kmIVO8BC5QYFyZpFOivVs4JW+S72dKdhKj4owIAF9UtHeI7RlOOnl
         Di4sM58LkNiDwZ7szJokxitk/pqrjr87raHqXsgn3iAlDo2INj/zLTob2v1RS3O/HTcY
         YAZaBJ85U/zM0/Zq+4z6ilW4/52PvEZ/cAPX6tmINragCwmqj59YIvoiCGt6zeJGb1Yw
         d/eA==
X-Gm-Message-State: AOJu0Yw0B23ESZE3YPia9Epgdzxw/Z5ZJk17xjWZE0iRj616jUzyA0sb
	H6+Gy7E/yTfiTaeoLeY2GLvDMI4FWphb+QSNMVxLRDOlMvwyaK49rD5ZLUKprI0QfN6UKSjMo1M
	XAwvOW2H/3w==
X-Gm-Gg: ASbGnctty5E6aUeJUoN68z98fSHadw87+FVMPX7Z7vD5YWQ/1BxdcJAArOb5ajPmcQa
	EJC9oLAGxN9WPUa8sgTVx3sDANfDnId5B7ZKsorBH+nBPnW68a8IBTb0mA1Y0J+wt1lnzEdRnve
	JlTCqhm2TuTkiGySXUUdHQQ6Y3O4vHqNJtuBtLYUXSDW1Qtfm8DqCqFx2i06pDEhRDV/Zg00gBG
	3upx0HZ9dTc/cfjLqfHWF4vkC6itdWIRBiUGTXMWjU7y2gskQcz4QV0xYVdFj5VYk+hm7+P93SD
	YK5hvMTJnqfGRdlUt/Ihv+kMZO5t5eHQBFxj3a2DPiSF9Lya0+QFijXp2bmEmGMW8D20AKvjh8q
	WFmvfuoFj3ozCQH3ysG1rD40rbT0jeb8FDvjUxYNfYQY/B1xCOfdQGsBUUzsdo7mBUaTjbaHIZ3
	1xv0X9yR1LecrK
X-Google-Smtp-Source: AGHT+IFFfI3Fv2xNGRS9TOlZyEy4/dR0zNmF+2Av+v1J1ez045Ru1WnGrfpog4lMl1JPSfXW8eaG+Q==
X-Received: by 2002:a05:600c:b96:b0:46e:59bd:f7e2 with SMTP id 5b1f17b1804b1-46fa9ebe245mr29483645e9.11.1759932077269;
        Wed, 08 Oct 2025 07:01:17 -0700 (PDT)
Message-ID: <402547a4-5a0c-4966-b7ec-4d5a6b2cd0cc@citrix.com>
Date: Wed, 8 Oct 2025 15:01:16 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: More configure [was: ./configure default for systemd]
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: xen-devel <xen-devel@lists.xenproject.org>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Juergen Gross <jgross@suse.com>
References: <d2974179-0d3b-4bc7-a034-dd6f865e4ea1@citrix.com>
Content-Language: en-GB
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <d2974179-0d3b-4bc7-a034-dd6f865e4ea1@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 08/10/2025 2:51 pm, Andrew Cooper wrote:
> Hello,
>
> (Related to my "Linux xenfs vs privcmd" email, if anyone was wondering
> why I ended up playing with systemd manually)
>
> It turns out that when you build on a systemd-enabled system, you still
> need to explicitly --enable-systemd to get a working debball.
>
> This is contrary to most other behaviours which are active by default if
> the preconditions are met.Â  In this case there are no preconditions -
> it's just a bunch of text files being processed and written out into the
> proper directory structure.
>
> I think we want to do something better by default here.

Actually there's more wonky stuff here.

Despite using --prefix=/usr, I've ended up with the Ocaml and Python
content being put in /usr/local/lib rather than /usr/lib/.Â  I think this
means we've got a logical error deriving the other values.

We're still producing:

/usr/include/xenstore-compat
/usr/include/xenstore-compat/xs.h
/usr/include/xenstore-compat/xs_lib.h
/usr/include/xs.h
/usr/include/xs_lib.h

which are long overdue being deleted.Â  I'll trim them when 4.22 opens.

The contents of /etc/xen are dubious to say the least:

/etc/xen
/etc/xen/auto
/etc/xen/cpupool
/etc/xen/oxenstored.conf
/etc/xen/README
/etc/xen/scripts
/etc/xen/scripts/block
/etc/xen/scripts/block-common.sh
/etc/xen/scripts/block-drbd-probe
/etc/xen/scripts/block-dummy
/etc/xen/scripts/block-enbd
/etc/xen/scripts/block-iscsi
/etc/xen/scripts/block-nbd
/etc/xen/scripts/block-tap
/etc/xen/scripts/colo-proxy-setup
/etc/xen/scripts/external-device-migrate
/etc/xen/scripts/hotplugpath.sh
/etc/xen/scripts/launch-xenstore
/etc/xen/scripts/locking.sh
/etc/xen/scripts/logging.sh
/etc/xen/scripts/vif-bridge
/etc/xen/scripts/vif-common.sh
/etc/xen/scripts/vif-nat
/etc/xen/scripts/vif-openvswitch
/etc/xen/scripts/vif-route
/etc/xen/scripts/vif-setup
/etc/xen/scripts/vscsi
/etc/xen/scripts/xen-hotplug-common.sh
/etc/xen/scripts/xen-network-common.sh
/etc/xen/scripts/xen-script-common.sh
/etc/xen/xl.conf
/etc/xen/xlexample.hvm
/etc/xen/xlexample.pvhlinux
/etc/xen/xlexample.pvlinux

The mix of file extensions notwithstanding, they ought to be in
/usr/lib/xen/ not in /etc, I think?

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Oct 08 14:03:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Oct 2025 14:03:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1139746.1474989 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6UlR-00071V-1A; Wed, 08 Oct 2025 14:03:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1139746.1474989; Wed, 08 Oct 2025 14:03:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6UlQ-00071O-U8; Wed, 08 Oct 2025 14:03:32 +0000
Received: by outflank-mailman (input) for mailman id 1139746;
 Wed, 08 Oct 2025 14:03: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
 <SRS0=bWZK=4R=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v6UlQ-00071I-0C
 for xen-devel@lists.xenproject.org; Wed, 08 Oct 2025 14:03:32 +0000
Received: from mail-wr1-x431.google.com (mail-wr1-x431.google.com
 [2a00:1450:4864:20::431])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 91784e37-a44f-11f0-9809-7dc792cee155;
 Wed, 08 Oct 2025 16:03:30 +0200 (CEST)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-3ee15b5435bso4483660f8f.0
 for <xen-devel@lists.xenproject.org>; Wed, 08 Oct 2025 07:03:30 -0700 (PDT)
Received: from [192.168.1.183] (host-92-22-57-86.as13285.net. [92.22.57.86])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4255d8f02a8sm30566543f8f.39.2025.10.08.07.03.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 08 Oct 2025 07:03:28 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 91784e37-a44f-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1759932209; x=1760537009; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=DrTfcgZxCw8+8NdrkWCXD9IbD+w5mehnaRSGVjQ1DzY=;
        b=O0DhEhHeFNR5O0iThCvkn5vqqd+/0+m7UMtllMCl7J7Q1Dc9w+sl+5ShM5GhdAf3wh
         gSaFOffh7f+A0/UomfREkSMtaKu5Hn0mxoTnTXWwB2hiCdRg7PlrDtnguojCF0HUQikd
         ijQcj7wqaZikbkovqL9T50/4xgDoeYuxzZfk4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759932209; x=1760537009;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=DrTfcgZxCw8+8NdrkWCXD9IbD+w5mehnaRSGVjQ1DzY=;
        b=xUoO+OUMm6r9v55F3O7q389WPchT5jOGSw8/108rKCQ/mG3DM+a+NQZOFz97Qay4sf
         ZzH4pBJLaQowz58PnPQnJu1+4Wvtn/7elCFpace8gMhEncgGkRSHJ56bi3OPiUicH9Tc
         cCDoWq+heAKDJFeFFsUi9RPq+f4wqbigQ5o6bPxYTdkz6GCCeJ1n6v9jwKb1b9CIETLB
         8GD9+QRlCz90aQWbiel2uc93/M40c1NkXtMmiwyFrNhGyuGURIU9VLXn3gp6DKr/4U0E
         G2tL3Lv9Bfuy2RzAg2OPFIrLhVvXBSFjTFY76GXrBpyo4KRNl2pqTbnscV/B43Hh1Ftq
         4HQw==
X-Forwarded-Encrypted: i=1; AJvYcCV7unIuBdUbnK4pRxiMsg5JmXqSWaZ47gu3O+njEtF2zufs2cALlcJMAbSgI4If3pUpQWnw2YtXfg8=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx290zizNaD0woS82gIGCeSUOcvdPP03dUuUyuGbHUn6XdQ3mGt
	nvk7ocsb0Gr6g26nbRmG6/ExlCp/fnYcUyAhs6pZjV9NB1KtU9nJkvlfafDsYpIk/iw=
X-Gm-Gg: ASbGncvicecXlCYD4UDjNAOAFkmM6I92PWRIFeNmSuMZvTIMgEN2iSArpzXafFabjZ4
	DQeSdkppRli5Hlfmbkwb9LS6Hx8fWLL7giLzNkRMmn7V2LS2977Bmez6Hr5n2u2Qy83KbQNRHsI
	+eH2ccyk83LJv6V//+IxlRijTU2sFf6bJPzJGz9Z/w3IpQpG/EZdXtvEykPsGzJg+CmeCBgzoL4
	j+LXB5nMZ8PXAr+K+bMMwNcjgvgbdxLJi/sla+0gegqBB1odNUv800cRl4RcaiCpCBAkGGQkra5
	Ia0MXIrWjoTuf6rJ6VfkAgpmb9g0beH8vSoaXsL+vC7IgPOvv219oAZdJfo0BtaXcyteIxvKUZ0
	c/SaABJOFM8S9Nl2CzVp3BpqfodhAzr2sviur34Db5JlLSLhDwLAjjNvOXChApuKNDdOINm72/9
	lxwCZa9a2rDO8R
X-Google-Smtp-Source: AGHT+IH1ZBroHwuzYpfZHXSIg6UpB6w2m+/lrFHVu/p/seanAGTgdiftbsAVS029gS1RsflXXQ061Q==
X-Received: by 2002:a05:6000:2f83:b0:3e4:f194:2886 with SMTP id ffacd0b85a97d-426670835d8mr2109827f8f.19.1759932209275;
        Wed, 08 Oct 2025 07:03:29 -0700 (PDT)
Message-ID: <eaefcbe9-5527-46e2-b8ef-0fd9b8474231@citrix.com>
Date: Wed, 8 Oct 2025 15:03:27 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Linux xenfs vs privcmd
To: Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Juergen Gross <jgross@suse.com>,
 xen-devel <xen-devel@lists.xenproject.org>
References: <e1627855-e7f4-4fe7-8079-68c3a0d488fb@citrix.com>
 <4b7b99ea-00e0-4967-98a3-90e876e5cf3c@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <4b7b99ea-00e0-4967-98a3-90e876e5cf3c@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 08/10/2025 2:54 pm, Jan Beulich wrote:
> On 08.10.2025 15:33, Andrew Cooper wrote:
>> Hello,
>>
>> I'm doing a deployment of Xen on a remote system provisioned with Ubuntu
>> 24.04, and I've found what I'm pretty sure is a bug.
>>
>> In dom0, to start with:
>>
>> user@host:~$ ls -la /dev/xen/
>> total 0
>> drwxr-xr-xÂ  2 root rootÂ Â Â Â  140 OctÂ  8 20:04 .
>> drwxr-xr-x 18 root rootÂ Â Â  4620 OctÂ  8 20:04 ..
>> crw-------Â  1 root root 10, 120 OctÂ  8 20:04 evtchn
>> crw-------Â  1 root root 10, 118 OctÂ  8 20:04 gntalloc
>> crw-------Â  1 root root 10, 119 OctÂ  8 20:04 gntdev
>> crw-------Â  1 root root 10, 124 OctÂ  8 20:04 xenbus
>> crw-------Â  1 root root 10, 123 OctÂ  8 20:04 xenbus_backend
>> user@host:~$ ls -la /proc/xen/
>> total 0
>> dr-xr-xr-xÂ Â  2 root root 0 OctÂ  8 20:04 .
>> dr-xr-xr-x 326 root root 0 OctÂ  8 20:04 ..
>>
>> i.e. no /dev/xen/privcmd.
>>
>> It turns out that mounting xenfs causes it to appear:
>>
>> user@host:~$ sudo systemctl start proc-xen.mount
>> user@host:~$ ls -la /dev/xen/
>> total 0
>> drwxr-xr-xÂ  2 root rootÂ Â Â Â  180 OctÂ  8 20:05 .
>> drwxr-xr-x 18 root rootÂ Â Â  4620 OctÂ  8 20:04 ..
>> crw-------Â  1 root root 10, 120 OctÂ  8 20:04 evtchn
>> crw-------Â  1 root root 10, 118 OctÂ  8 20:04 gntalloc
>> crw-------Â  1 root root 10, 119 OctÂ  8 20:04 gntdev
>> crw-------Â  1 root root 10, 115 OctÂ  8 20:05 hypercall
>> crw-------Â  1 root root 10, 116 OctÂ  8 20:05 privcmd
>> crw-------Â  1 root root 10, 124 OctÂ  8 20:04 xenbus
>> crw-------Â  1 root root 10, 123 OctÂ  8 20:04 xenbus_backend
>> user@host:~$ ls -la /proc/xen/
>> total 0
>> drwxr-xr-xÂ Â  2 root root 0 OctÂ  8 20:05 .
>> dr-xr-xr-x 315 root root 0 OctÂ  8 20:04 ..
>> -r--r--r--Â Â  1 root root 0 OctÂ  8 20:05 capabilities
>> -rw-------Â Â  1 root root 0 OctÂ  8 20:05 privcmd
>> -rw-------Â Â  1 root root 0 OctÂ  8 20:05 xenbus
>> -r--------Â Â  1 root root 0 OctÂ  8 20:05 xensyms
>> -rw-------Â Â  1 root root 0 OctÂ  8 20:05 xsd_kva
>> -rw-------Â Â  1 root root 0 OctÂ  8 20:05 xsd_port
>>
>> For good measure, I checked unmounting xenfs:
>>
>> user@host:~$ sudo umount /proc/xen
>> user@host:~$ ls -la /dev/xen/
>> total 0
>> drwxr-xr-xÂ  2 root rootÂ Â Â Â  180 OctÂ  8 20:05 .
>> drwxr-xr-x 18 root rootÂ Â Â  4620 OctÂ  8 20:04 ..
>> crw-------Â  1 root root 10, 120 OctÂ  8 20:04 evtchn
>> crw-------Â  1 root root 10, 118 OctÂ  8 20:04 gntalloc
>> crw-------Â  1 root root 10, 119 OctÂ  8 20:04 gntdev
>> crw-------Â  1 root root 10, 115 OctÂ  8 20:05 hypercall
>> crw-------Â  1 root root 10, 116 OctÂ  8 20:05 privcmd
>> crw-------Â  1 root root 10, 124 OctÂ  8 20:04 xenbus
>> crw-------Â  1 root root 10, 123 OctÂ  8 20:04 xenbus_backend
>> user@host:~$ ls -la /proc/xen/
>> total 0
>> dr-xr-xr-xÂ Â  2 root root 0 OctÂ  8 20:04 .
>> dr-xr-xr-x 291 root root 0 OctÂ  8 20:04 ..
>>
>> and /dev/xen/privcmd stayed.
>>
>>
>> Anyway - /dev/xen/privcmd (and /hypercall) shouldn't be tied to xenfs.Â 
>> They should be SIF_PRIVILEGED alone, should they not?
> Why would you want to restrict e.g. a Linux stubdom usermode from making
> hypercalls? Aiui this would break e.g. qemu running there. (Whether the
> tying to xenfs makes sense I can't really judge. Without that something
> else would need to make the two entries appear.)

Hmm, good point about Linux HVM stubdom.

It's no secret that I've been wanting to kill xenfs for several years
now.Â  It's one best examples of the wrong tool for the job that's still
around and causing bugs in the Xen ecosystem.

Either way, what I'm trying to say is that the contents of /dev/xen/
should be unrelated to xenfs.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Oct 08 14:05:17 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Oct 2025 14:05:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1139756.1474999 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6Un6-0007Z3-CN; Wed, 08 Oct 2025 14:05:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1139756.1474999; Wed, 08 Oct 2025 14:05:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6Un6-0007Yw-8T; Wed, 08 Oct 2025 14:05:16 +0000
Received: by outflank-mailman (input) for mailman id 1139756;
 Wed, 08 Oct 2025 14:05: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
 <SRS0=eDDy=4R=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1v6Un3-0007Ym-QV
 for xen-devel@lists.xenproject.org; Wed, 08 Oct 2025 14:05:14 +0000
Received: from fhigh-b1-smtp.messagingengine.com
 (fhigh-b1-smtp.messagingengine.com [202.12.124.152])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c8ad3e9d-a44f-11f0-9809-7dc792cee155;
 Wed, 08 Oct 2025 16:05:03 +0200 (CEST)
Received: from phl-compute-05.internal (phl-compute-05.internal [10.202.2.45])
 by mailfhigh.stl.internal (Postfix) with ESMTP id E01367A0166;
 Wed,  8 Oct 2025 10:05:01 -0400 (EDT)
Received: from phl-mailfrontend-02 ([10.202.2.163])
 by phl-compute-05.internal (MEProxy); Wed, 08 Oct 2025 10:05:01 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 8 Oct 2025 10:05:00 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c8ad3e9d-a44f-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:content-type:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:subject:subject:to:to; s=fm2; t=1759932301;
	 x=1760018701; bh=duhhLnSZIfcURtMxQjmfefbH8wlw1hDlCd7HUIOI5nQ=; b=
	BXTq2lJJdJbQVztsFAPkrQugHW8UW1c9PcC00dUyCjERcA5spgsGKp+KPpcd/oAG
	BDbo1ZW8haVkUuTjBb4//Q1RqSUvVoJ+p8vxtVh1iltEmPDoTrZt2sqJlBjCl8P8
	2i+KhKkCJtxUDv7ZNwcrGZ92knpCiKa7IPaNZAPU/tpU03OoUZEgF0XMdYmbMKgg
	M2P0SuE0P2saxBx36FqbUzLnHPHj93sG0UwwvfL6pVIk/q0g/rv93/zjwU3K2GGu
	SprKevTOC336+zYL92SNsl7Kv07n57X+KDT7jJLh2P2ZIP7Tq3cmQ2O+/9TG7L5R
	TvcPNRdSEpA3+l/G8mG5JA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:content-type:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:subject:subject:to
	:to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=
	1759932301; x=1760018701; bh=duhhLnSZIfcURtMxQjmfefbH8wlw1hDlCd7
	HUIOI5nQ=; b=aLTgkjuvXIrFp2hWHDvS2xk9Qj7vPPF8xA8RIH2rpsClD2U0u6X
	mr/3yF27SKMa1FkbitwXwFZMxSBIPc0Ro5P9ydLT/kLudX6xcIommbEzuS0hzleO
	xICDN0AgLOBAkRSyVhTXIttUvdlToqskQicTBhP4eVHkdgLCFmPhlFRX/U0foBXs
	qIFb4VbfGL4Lsjbgt3TqxT8WLEGwaWSrtTGXy4dhTlZFfY7VhbLCmTRI/aUA+o9g
	XB0vxcK2mxrdAtwabriQtMyl5vq58sYzBTt/fiI853nb2n05JZCPUmnWxpVo8Vgj
	RcUqK0eKa6MFR8efPd1ugZB+qoFjEikF4Kg==
X-ME-Sender: <xms:jW_maDe39cSEu1bpfAi-8s-wLx0ZpZXhoL3XszKG94z584V86UYlGA>
    <xme:jW_maPMLghDf77l09bLlsOEP_rjqY0JDTkowRpKmhepve3ackbEI9WCYrDiktxzuA
    tmLFLO_tD-qoT-W0587wtVGEDbyhDO5sIcjaFDzuARWPtvgRQ>
X-ME-Received: <xmr:jW_maKJeaNCVVrOe9Ol3LR67vF51zN5hqhKIr3THFUsaCN1nkCT7rLyrQ6-iRJJzJUUbSZuAUJj1SLg3J8DmjbZyLKTOLTbg9oo>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdeggddutdefgeelucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu
    rghilhhouhhtmecufedttdenucenucfjughrpeffhffvvefukfhfgggtuggjsehgtderre
    dttdejnecuhfhrohhmpeforghrvghkucforghrtgiihihkohifshhkihdqifpkrhgvtghk
    ihcuoehmrghrmhgrrhgvkhesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmqe
    enucggtffrrghtthgvrhhnpefgudelteefvefhfeehieetleeihfejhfeludevteetkeev
    tedtvdegueetfeejudenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrih
    hlfhhrohhmpehmrghrmhgrrhgvkhesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgt
    ohhmpdhnsggprhgtphhtthhopedvpdhmohguvgepshhmthhpohhuthdprhgtphhtthhope
    hjghhrohhsshesshhushgvrdgtohhmpdhrtghpthhtohepgigvnhdquggvvhgvlheslhhi
    shhtshdrgigvnhhprhhojhgvtghtrdhorhhg
X-ME-Proxy: <xmx:jW_maAEgqGIp0IOR6WYLYdJlMKEaybXR4NncgSekp32G7zG3vqNUxA>
    <xmx:jW_maCQECVcXSxov1UU5IbdKKsCMQFxs4YXpu4aTlPRxFcU5qoSWEg>
    <xmx:jW_maMEGV8-eInfEuDYA_LHSC3ot4Bo7RsyAWn03QAu0jX7Y9PwHKg>
    <xmx:jW_maO_4n-vOHIt22dEMWME7cIz9SgMFWOg1qLUSkD724HEQV0M6uA>
    <xmx:jW_maFvkifhLo2hH_JcMTvB9XK6UCMfRcZUqmINFK2CCnxtwF_bgk_Jf>
Feedback-ID: i1568416f:Fastmail
Date: Wed, 8 Oct 2025 16:04:58 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: =?utf-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: race condition when re-connecting vif after backend died
Message-ID: <aOZvivyZ9YhVWDLN@mail-itl>
References: <aOZJhD6_F_ceHoCb@mail-itl>
 <66d8febb-568b-40db-bbe3-d8dfdc43444c@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="O0+I/Fh3QEEUb0gp"
Content-Disposition: inline
In-Reply-To: <66d8febb-568b-40db-bbe3-d8dfdc43444c@suse.com>


--O0+I/Fh3QEEUb0gp
Content-Type: multipart/mixed; protected-headers=v1;
	boundary="EOffPDlDNkDEvIRD"
Content-Disposition: inline
Date: Wed, 8 Oct 2025 16:04:58 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: =?utf-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: race condition when re-connecting vif after backend died


--EOffPDlDNkDEvIRD
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Wed, Oct 08, 2025 at 02:32:02PM +0200, J=C3=BCrgen Gro=C3=9F wrote:
> On 08.10.25 13:22, Marek Marczykowski-G=C3=B3recki wrote:
> > Hi,
> >=20
> > I have the following scenario:
> > 1. Start backend domain (call it netvm1)
> > 2. Start frontend domain (call it vm1), with
> > vif=3D['backend=3Dnetvm2,mac=3D00:16:3e:5e:6c:00,script=3Dvif-route-qub=
es,ip=3D10.138.17.244']
> > 3. Pause vm1 (not strictly required, but makes reproducing much easier)
> > 5. Crash/shutdown/destroy netvm1
> > 4. Start another backend domain (call it netvm2)
> > 5. In quick succession:
> >     5.1. unpause vm1
> >     5.2. detach (or actually cleanup) vif from vm1 (connected to now de=
ad
> >          netvm1)
> >     5.3. attach similar vif with backend=3Dnetvm2

The way it's above, it tricky to reproduce (1/20 or even less often).
But if I move unpause after 5.3, then it's happening reliably. I hope
it's not too different scenario...

> > Sometimes it ends up with eth0 being present in vm1, but its xenstore
> > state key is still XenbusStateInitializing. And the backend state is at
> > XenbusStateInitWait.
> > In step 5.2, normally libxl waits for the backend to transition to state
> > XenbusStateClosed, and IIUC backend waits for the frontend to do the
> > same too. But when the backend is gone, libxl seems to simply removes
> > frontend xenstore entries without any coordination with the frontend
> > domain itself.
> > What I suspect happens is that xenstore events generated at 5.2 are
> > getting handled by the frontend's kernel only after 5.3.  At this stage,
> > frontend sees device that was is XenbusStateConnected transitioning to
> > XenbusStateInitializing (not really expected by the frontend to somebody
> > else change its state key) and (I guess) doesn't notice device vanished
> > for a moment (xenbus_dev_changed() doesn't hit the !exists path). I
> > haven't verified it, but I guess it also doesn't notice backend path
> > change, so it's still watching the old one (gone at this point).
> >=20
> > If my diagnosis is correct, what should be the solution here? Add
> > handling for XenbusStateUnknown in xen-netfrontc.c:netback_changed()? If
> > so, it should probably carefully cleanup the old device while not
> > touching xenstore entries (which belong to the new instance already) and
> > then re-initialize the device (xennet_connect()? call).
> > Or maybe it should be done in generic way in xenbus_probe.c, in
> > xenbus_dev_changed()? Not sure how exactly - maybe by checking if
> > backend path (or just backend-id?) changed? And then call both
> > device_unregister() (again, being careful to not change xenstore,
> > especially not set XenbusStateClosed) and then xenbus_probe_node()?
> >=20
>=20
> I think we need to know what is going on here.
>=20
> Can you repeat the test with Xenstore tracing enabled? Just do:
>=20
> xenstore-control logfile /tmp/xs-trace
>=20
> before point 3. in your list above and then perform steps 3. - 5.3. and
> then send the logfile. Please make sure not to have any additional actions
> causing Xenstore traffic in between, as this would make it much harder to
> analyze the log.

I can't completely avoid other xenstore activity, but I tried to reduce
it as much as possible...

I'm attaching reproduction script, its output, and xenstore traces. Note
I split xenstore trace into two parts, hopefully making it easier to
analyze.

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--EOffPDlDNkDEvIRD
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment; filename=network-reproduce

#!/bin/sh

set -xe

time=$(date -Iseconds)

echo "Time: $time"

qvm-check test-netvm1 || qvm-create -l red --prop provides_network=true --prop netvm= test-netvm1
qvm-check test-netvm2 || qvm-create -l red --prop provides_network=true --prop netvm= test-netvm2
qvm-check vm1 || qvm-create -l red --prop netvm=test-netvm1 vm1

qvm-kill test-netvm1 test-netvm2 vm1
qvm-prefs vm1 netvm test-netvm1

qvm-start test-netvm1
qvm-start test-netvm2
qvm-start vm1

ip=$(qvm-prefs vm1 ip)
pingip=$(qvm-prefs test-netvm2 ip)
mac=$(qvm-prefs vm1 mac)

qvm-pause vm1
xenstore-control logfile /var/tmp/xs-trace-$time
sudo sh -e -c "
xl destroy test-netvm1
xl network-detach vm1 0
xl network-attach vm1 backend=test-netvm2 mac=$mac ip=$ip script=vif-route-qubes
xenstore-control logfile /var/tmp/xs-trace-$time-unpause
xl unpause vm1
"

# test if it works
qrexec-client -d vm1 "user:ping -c 3 $pingip"

xenstore-control logfile /dev/null

xenstore-ls -fp /local/domain/$(xl domid vm1)/device/vif

--EOffPDlDNkDEvIRD
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment; filename=output.txt

++ date -Iseconds
+ time=2025-10-08T09:57:31-04:00
+ echo 'Time: 2025-10-08T09:57:31-04:00'
Time: 2025-10-08T09:57:31-04:00
+ qvm-check test-netvm1
qvm-check: test-netvm1: exists
+ qvm-check test-netvm2
qvm-check: test-netvm2: exists
+ qvm-check vm1
qvm-check: vm1: exists
+ qvm-kill test-netvm1 test-netvm2 vm1
+ qvm-prefs vm1 netvm test-netvm1
+ qvm-start test-netvm1
+ qvm-start test-netvm2
+ qvm-start vm1
++ qvm-prefs vm1 ip
+ ip=10.137.0.19
++ qvm-prefs test-netvm2 ip
+ pingip=10.137.0.18
++ qvm-prefs vm1 mac
+ mac=00:16:3e:5e:6c:00
+ qvm-pause vm1
+ xenstore-control logfile /var/tmp/xs-trace-2025-10-08T09:57:31-04:00
OK
+ sudo sh -e -c '
xl destroy test-netvm1
xl network-detach vm1 0
xl network-attach vm1 backend=test-netvm2 mac=00:16:3e:5e:6c:00 ip=10.137.0.19 script=vif-route-qubes
xenstore-control logfile /var/tmp/xs-trace-2025-10-08T09:57:31-04:00-unpause
xl unpause vm1
'
libxl: info: libxl_device.c:1110:libxl__initiate_device_generic_remove: backend /local/domain/436/backend/vif/438/0 already removed, cleanup frontend only
OK
+ qrexec-client -d vm1 'user:ping -c 3 10.137.0.18'
PING 10.137.0.18 (10.137.0.18) 56(84) bytes of data.

--- 10.137.0.18 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2068ms



--EOffPDlDNkDEvIRD
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="xs-trace-2025-10-08T09:57:31-04:00"


***
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 CONTROL (OK )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 CONTROL (OK )
obj: DESTROY connection 0x2039ca10
obj: CREATE connection 0x2039ca10
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/0/name )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 READ (Domain-0)
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 READ (Domain-0)
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/1/name )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 READ (sys-net)
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 READ (sys-net)
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/2/name )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 READ (sys-net-dm)
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 READ (sys-net-dm)
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/3/name )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 READ (sys-usb)
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 READ (sys-usb)
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/4/name )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 READ (sys-usb-dm)
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 READ (sys-usb-dm)
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/5/name )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 READ (sys-firewall)
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 READ (sys-firewall)
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/6/name )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 READ (sys-whonix)
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 READ (sys-whonix)
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/436/name )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 READ (test-netvm1)
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 READ (test-netvm1)
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/436/name )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 READ (test-netvm1)
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 READ (test-netvm1)
io: IN 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (436 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/436 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/436 )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/436/image/device-model-domid )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (0 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/0 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/0 )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/0/backend/pci/436/0/num_devs )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/libxl/436/type )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 READ (pvh)
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 READ (pvh)
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/436/image/device-model-pid )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/436/image/device-model-domid )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (436 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/436 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/436 )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/436/target )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (/libxl/436/device )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (vbd console )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (vbd console )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (/libxl/436/device/vbd )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (51712 51728 51744 51760 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (51712 51728 51744 51760 )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/libxl/436/device/vbd/51712/backend )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/0/backend/vbd/436/51712)
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/0/backend/vbd/436/51712)
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/libxl/436/device/vbd/51712/backend )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/0/backend/vbd/436/51712)
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/0/backend/vbd/436/51712)
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (domid )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 READ (0)
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 READ (0)
io: IN 0x2039ca10 (d0) 20251008 09:58:36 TRANSACTION_START ( )
obj: CREATE transaction 0x2025f6c0
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 TRANSACTION_START (1 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 TRANSACTION_START (1 )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (436 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/436 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/436 )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 RM (/local/domain/436/device/vbd/51712 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 RM (OK )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 RM (OK )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/436/device/vbd )
io: OUT 0x2039ca10 (d0) 20251008 09:58:36 READ ()
io: IN 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (/local/domain/436/device/vbd )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (51728 51744 51760 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (51728 51744 51760 )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/0/backend/vbd/436/51712/state )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 READ (4)
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 READ (4)
io: IN 0x2039ca10 (d0) 20251008 09:58:36 WRITE (/local/domain/0/backend/vbd/436/51712/online 0)
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 WRITE (OK )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 WRITE (OK )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 WRITE (/local/domain/0/backend/vbd/436/51712/state 5)
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 WRITE (OK )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 WRITE (OK )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 TRANSACTION_END (T )
obj: DESTROY transaction 0x2025f6c0
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 WATCH_EVENT (/local/domain/436/device/vbd/51712/state FFFF888004555820 )
io: OUT 0x20344f80 (d436) 20251008 09:58:36 WATCH_EVENT (device/vbd/51712 FFFFFFFF8231CB00 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 TRANSACTION_END (OK )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 READ (/local/domain/436/device/vbd/51712/state )
io: OUT(START) 0x200f1ee0 (d0) 20251008 09:58:36 WATCH_EVENT (backend/vbd/436/51712/state FFFFFFFF8231C840 )
io: OUT 0x20344f80 (d436) 20251008 09:58:36 WATCH_EVENT (/local/domain/0/backend/vbd/436/51712/state FFFF888003B52420 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 TRANSACTION_END (OK )
io: OUT(END) 0x200f1ee0 (d0) 20251008 09:58:36 WATCH_EVENT (backend/vbd/436/51712/state FFFFFFFF8231C840 )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 WATCH_EVENT (backend/vbd/436/51712/online FFFFFFFF8231C840 )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 WATCH (/local/domain/0/backend/vbd/436/51712/state 3/0 )
obj: CREATE watch 0x2028c290
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 UNWATCH (/local/domain/436/device/vbd/51712/state FFFF888004555820 )
obj: DESTROY watch 0x202722a0
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 UNWATCH (OK )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 WATCH (OK )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 UNWATCH (backend/vbd/436/51712/physical-device FFFF88817A9987F0 )
obj: DESTROY watch 0x202619b0
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 UNWATCH (OK )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 WATCH (OK )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 WATCH_EVENT (/local/domain/0/backend/vbd/436/51712/state 3/0 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 WATCH_EVENT (/local/domain/0/backend/vbd/436/51712/state 3/0 )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/libxl/436/device/vbd/51728/backend )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/0/backend/vbd/436/51728)
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/0/backend/vbd/436/51728)
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/libxl/436/device/vbd/51728/backend )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/0/backend/vbd/436/51728)
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/0/backend/vbd/436/51728)
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (domid )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 READ (0)
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 READ (0)
io: IN 0x2039ca10 (d0) 20251008 09:58:36 TRANSACTION_START ( )
obj: CREATE transaction 0x203c8cc0
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 TRANSACTION_START (2 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 TRANSACTION_START (2 )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 READ (backend/vbd/436/51712/state )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 READ (5)
io: IN 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (436 )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 TRANSACTION_START ( )
obj: CREATE transaction 0x20225f30
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 TRANSACTION_START (7153 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/436 )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 READ (backend/vbd/436/51712/state )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 READ (5)
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/436 )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 WRITE (backend/vbd/436/51712/state 6)
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 WRITE (OK )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 RM (/local/domain/436/device/vbd/51728 )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 TRANSACTION_END (T )
obj: DESTROY transaction 0x20225f30
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 WATCH_EVENT (backend/vbd/436/51712/state FFFFFFFF8231C840 )
io: OUT 0x20344f80 (d436) 20251008 09:58:36 WATCH_EVENT (/local/domain/0/backend/vbd/436/51712/state FFFF888003B52420 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 RM (OK )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 TRANSACTION_END (OK )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 RM (OK )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 DIRECTORY (backend/vbd/436/51712/state )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 DIRECTORY ()
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 WATCH_EVENT (/local/domain/0/backend/vbd/436/51712/state 3/0 )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 READ (backend/vbd/436/51712/state )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 READ (6)
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/436/device/vbd )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 WATCH_EVENT (/local/domain/0/backend/vbd/436/51712/state 3/0 )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 DIRECTORY (backend/vbd/436/51712/online )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 DIRECTORY ()
io: OUT 0x2039ca10 (d0) 20251008 09:58:36 READ ()
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 READ (backend/vbd/436/51712/state )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 READ (6)
io: IN 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (/local/domain/436/device/vbd )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 DIRECTORY (backend/vbd/436/51712/state )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 DIRECTORY ()
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (51744 51760 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (51744 51760 )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 READ (backend/vbd/436/51712/state )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 READ (6)
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/0/backend/vbd/436/51728/state )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 READ (4)
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 READ (4)
io: IN 0x2039ca10 (d0) 20251008 09:58:36 WRITE (/local/domain/0/backend/vbd/436/51728/online 0)
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 WRITE (OK )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 WRITE (OK )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 WRITE (/local/domain/0/backend/vbd/436/51728/state 5)
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 WRITE (OK )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 WRITE (OK )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 TRANSACTION_END (T )
obj: DESTROY transaction 0x203c8cc0
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 WATCH_EVENT (/local/domain/436/device/vbd/51728/state FFFF888004557820 )
io: OUT 0x20344f80 (d436) 20251008 09:58:36 WATCH_EVENT (device/vbd/51728 FFFFFFFF8231CB00 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 TRANSACTION_END (OK )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 READ (/local/domain/436/device/vbd/51728/state )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 WATCH_EVENT (backend/vbd/436/51728/state FFFFFFFF8231C840 )
io: OUT 0x20344f80 (d436) 20251008 09:58:36 WATCH_EVENT (/local/domain/0/backend/vbd/436/51728/state FFFF888003B51020 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 TRANSACTION_END (OK )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 WATCH_EVENT (backend/vbd/436/51728/online FFFFFFFF8231C840 )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 WATCH (/local/domain/0/backend/vbd/436/51728/state 2/1 )
obj: CREATE watch 0x203278d0
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 WATCH (OK )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 UNWATCH (/local/domain/436/device/vbd/51728/state FFFF888004557820 )
obj: DESTROY watch 0x2022f920
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 UNWATCH (OK )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 WATCH (OK )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 UNWATCH (backend/vbd/436/51728/physical-device FFFF88817A998670 )
obj: DESTROY watch 0x20281db0
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 UNWATCH (OK )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/libxl/436/device/vbd/51744/backend )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 WATCH_EVENT (/local/domain/0/backend/vbd/436/51728/state 2/1 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 WATCH_EVENT (/local/domain/0/backend/vbd/436/51728/state 2/1 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/0/backend/vbd/436/51744)
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/0/backend/vbd/436/51744)
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/libxl/436/device/vbd/51744/backend )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/0/backend/vbd/436/51744)
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/0/backend/vbd/436/51744)
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (domid )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 READ (0)
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 READ (0)
io: IN 0x2039ca10 (d0) 20251008 09:58:36 TRANSACTION_START ( )
obj: CREATE transaction 0x202a2af0
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 TRANSACTION_START (3 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 TRANSACTION_START (3 )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (436 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/436 )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 READ (backend/vbd/436/51728/state )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 READ (5)
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/436 )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 TRANSACTION_START ( )
obj: CREATE transaction 0x2039fa30
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 TRANSACTION_START (7154 )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 RM (/local/domain/436/device/vbd/51744 )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 READ (backend/vbd/436/51728/state )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 READ (5)
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 RM (OK )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 RM (OK )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/436/device/vbd )
io: OUT 0x2039ca10 (d0) 20251008 09:58:36 READ ()
io: IN 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (/local/domain/436/device/vbd )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (51760 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (51760 )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 WRITE (backend/vbd/436/51728/state 6)
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 WRITE (OK )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/0/backend/vbd/436/51744/state )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 TRANSACTION_END (T )
obj: DESTROY transaction 0x2039fa30
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 WATCH_EVENT (backend/vbd/436/51728/state FFFFFFFF8231C840 )
io: OUT 0x20344f80 (d436) 20251008 09:58:36 WATCH_EVENT (/local/domain/0/backend/vbd/436/51728/state FFFF888003B51020 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 READ (4)
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 TRANSACTION_END (OK )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 READ (4)
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 DIRECTORY (backend/vbd/436/51728/state )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 DIRECTORY ()
io: IN 0x2039ca10 (d0) 20251008 09:58:36 WRITE (/local/domain/0/backend/vbd/436/51744/online 0)
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 WATCH_EVENT (/local/domain/0/backend/vbd/436/51728/state 2/1 )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 READ (backend/vbd/436/51728/state )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 READ (6)
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 WATCH_EVENT (/local/domain/0/backend/vbd/436/51728/state 2/1 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 WRITE (OK )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 WRITE (OK )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 DIRECTORY (backend/vbd/436/51728/online )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 DIRECTORY ()
io: IN 0x2039ca10 (d0) 20251008 09:58:36 WRITE (/local/domain/0/backend/vbd/436/51744/state 5)
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 READ (backend/vbd/436/51728/state )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 READ (6)
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 WRITE (OK )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 DIRECTORY (backend/vbd/436/51728/state )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 DIRECTORY ()
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 WRITE (OK )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 READ (backend/vbd/436/51728/state )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 READ (6)
io: IN 0x2039ca10 (d0) 20251008 09:58:36 TRANSACTION_END (T )
obj: DESTROY transaction 0x202a2af0
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 WATCH_EVENT (/local/domain/436/device/vbd/51744/state FFFF888004557020 )
io: OUT 0x20344f80 (d436) 20251008 09:58:36 WATCH_EVENT (device/vbd/51744 FFFFFFFF8231CB00 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 TRANSACTION_END (OK )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 READ (/local/domain/436/device/vbd/51744/state )
io: OUT(START) 0x200f1ee0 (d0) 20251008 09:58:36 WATCH_EVENT (backend/vbd/436/51744/state FFFFFFFF8231C840 )
io: OUT 0x20344f80 (d436) 20251008 09:58:36 WATCH_EVENT (/local/domain/0/backend/vbd/436/51744/state FFFF888003B53020 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 TRANSACTION_END (OK )
io: OUT(END) 0x200f1ee0 (d0) 20251008 09:58:36 WATCH_EVENT (backend/vbd/436/51744/state FFFFFFFF8231C840 )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 WATCH (/local/domain/0/backend/vbd/436/51744/state 1/2 )
obj: CREATE watch 0x20294cf0
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 WATCH_EVENT (backend/vbd/436/51744/online FFFFFFFF8231C840 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 WATCH (OK )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 WATCH (OK )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 UNWATCH (/local/domain/436/device/vbd/51744/state FFFF888004557020 )
obj: DESTROY watch 0x202699e0
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 UNWATCH (OK )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/libxl/436/device/vbd/51760/backend )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 WATCH_EVENT (/local/domain/0/backend/vbd/436/51744/state 1/2 )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 UNWATCH (backend/vbd/436/51744/physical-device FFFF88817A998C70 )
obj: DESTROY watch 0x20278dc0
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 UNWATCH (OK )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 WATCH_EVENT (/local/domain/0/backend/vbd/436/51744/state 1/2 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/0/backend/vbd/436/51760)
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/0/backend/vbd/436/51760)
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/libxl/436/device/vbd/51760/backend )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/0/backend/vbd/436/51760)
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/0/backend/vbd/436/51760)
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (domid )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 READ (0)
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 READ (0)
io: IN 0x2039ca10 (d0) 20251008 09:58:36 TRANSACTION_START ( )
obj: CREATE transaction 0x20326b10
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 READ (backend/vbd/436/51744/state )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 READ (5)
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 TRANSACTION_START (4 )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 TRANSACTION_START ( )
obj: CREATE transaction 0x203971c0
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 TRANSACTION_START (7155 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 TRANSACTION_START (4 )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 READ (backend/vbd/436/51744/state )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 READ (5)
io: IN 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (436 )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 WRITE (backend/vbd/436/51744/state 6)
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 WRITE (OK )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/436 )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 TRANSACTION_END (T )
obj: DESTROY transaction 0x203971c0
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 WATCH_EVENT (backend/vbd/436/51744/state FFFFFFFF8231C840 )
io: OUT 0x20344f80 (d436) 20251008 09:58:36 WATCH_EVENT (/local/domain/0/backend/vbd/436/51744/state FFFF888003B53020 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/436 )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 TRANSACTION_END (OK )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 RM (/local/domain/436/device/vbd/51760 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 WATCH_EVENT (/local/domain/0/backend/vbd/436/51744/state 1/2 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 WATCH_EVENT (/local/domain/0/backend/vbd/436/51744/state 1/2 )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 DIRECTORY (backend/vbd/436/51744/state )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 DIRECTORY ()
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 RM (OK )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 READ (backend/vbd/436/51744/state )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 READ (6)
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 RM (OK )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 DIRECTORY (backend/vbd/436/51744/online )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 DIRECTORY ()
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/436/device/vbd )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 READ (backend/vbd/436/51744/state )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 READ (6)
io: OUT 0x2039ca10 (d0) 20251008 09:58:36 READ ()
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 DIRECTORY (backend/vbd/436/51744/state )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 DIRECTORY ()
io: IN 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (/local/domain/436/device/vbd )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 READ (backend/vbd/436/51744/state )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 READ (6)
io: OUT 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY ()
io: IN 0x2039ca10 (d0) 20251008 09:58:36 RM (/local/domain/436/device/vbd )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 RM (OK )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 RM (OK )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/436/device )
io: OUT 0x2039ca10 (d0) 20251008 09:58:36 READ ()
io: IN 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (/local/domain/436/device )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (suspend )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (suspend )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/0/backend/vbd/436/51760/state )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 READ (4)
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 READ (4)
io: IN 0x2039ca10 (d0) 20251008 09:58:36 WRITE (/local/domain/0/backend/vbd/436/51760/online 0)
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 WRITE (OK )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 WRITE (OK )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 WRITE (/local/domain/0/backend/vbd/436/51760/state 5)
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 WRITE (OK )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 WRITE (OK )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 TRANSACTION_END (T )
obj: DESTROY transaction 0x20326b10
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 WATCH_EVENT (/local/domain/436/device/vbd/51760/state FFFF888004556820 )
io: OUT(START) 0x20344f80 (d436) 20251008 09:58:36 WATCH_EVENT (device/vbd/51760 FFFFFFFF8231CB00 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 TRANSACTION_END (OK )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 READ (/local/domain/436/device/vbd/51760/state )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 WATCH_EVENT (backend/vbd/436/51760/state FFFFFFFF8231C840 )
io: OUT(END) 0x20344f80 (d436) 20251008 09:58:36 WATCH_EVENT (device/vbd/51760 FFFFFFFF8231CB00 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 TRANSACTION_END (OK )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 WATCH_EVENT (backend/vbd/436/51760/online FFFFFFFF8231C840 )
io: OUT 0x20344f80 (d436) 20251008 09:58:36 WATCH_EVENT (device/vbd FFFFFFFF8231CB00 )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 WATCH (/local/domain/0/backend/vbd/436/51760/state 0/3 )
obj: CREATE watch 0x202faaf0
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT 0x20344f80 (d436) 20251008 09:58:36 WATCH_EVENT (/local/domain/0/backend/vbd/436/51760/state FFFF888003B52820 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 WATCH (OK )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 UNWATCH (/local/domain/436/device/vbd/51760/state FFFF888004556820 )
obj: DESTROY watch 0x2038cab0
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 UNWATCH (OK )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 WATCH (OK )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 UNWATCH (backend/vbd/436/51760/physical-device FFFF88817A998190 )
obj: DESTROY watch 0x203088b0
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 UNWATCH (OK )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (/libxl/436/device/console )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 WATCH_EVENT (/local/domain/0/backend/vbd/436/51760/state 0/3 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 WATCH_EVENT (/local/domain/0/backend/vbd/436/51760/state 0/3 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (0 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (0 )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/libxl/436/device/console/0/backend )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/0/backend/console/436/0)
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/0/backend/console/436/0)
io: IN 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (0 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/0 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/0 )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 READ (backend/vbd/436/51760/state )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 READ (5)
io: IN 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (436 )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 TRANSACTION_START ( )
obj: CREATE transaction 0x2032ab70
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 TRANSACTION_START (7156 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/436 )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 READ (backend/vbd/436/51760/state )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 READ (5)
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/436 )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 WRITE (backend/vbd/436/51760/state 6)
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 WRITE (OK )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (domid )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 TRANSACTION_END (T )
obj: DESTROY transaction 0x2032ab70
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 WATCH_EVENT (backend/vbd/436/51760/state FFFFFFFF8231C840 )
io: OUT 0x20344f80 (d436) 20251008 09:58:36 WATCH_EVENT (/local/domain/0/backend/vbd/436/51760/state FFFF888003B52820 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 READ (0)
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 TRANSACTION_END (OK )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 READ (0)
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 DIRECTORY (backend/vbd/436/51760/state )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 DIRECTORY ()
io: IN 0x2039ca10 (d0) 20251008 09:58:36 TRANSACTION_START ( )
obj: CREATE transaction 0x202e6fb0
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 WATCH_EVENT (/local/domain/0/backend/vbd/436/51760/state 0/3 )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 READ (backend/vbd/436/51760/state )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 READ (6)
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 WATCH_EVENT (/local/domain/0/backend/vbd/436/51760/state 0/3 )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 DIRECTORY (backend/vbd/436/51760/online )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 DIRECTORY ()
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 TRANSACTION_START (5 )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 READ (backend/vbd/436/51760/state )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 READ (6)
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 TRANSACTION_START (5 )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 DIRECTORY (backend/vbd/436/51760/state )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 DIRECTORY ()
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 READ (backend/vbd/436/51760/state )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 READ (6)
io: IN 0x2039ca10 (d0) 20251008 09:58:36 RM (/local/domain/436/console )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 RM (OK )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 RM (OK )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/436 )
io: OUT 0x2039ca10 (d0) 20251008 09:58:36 READ ()
io: IN 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (/local/domain/436 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (vm name cpu memory device control data error drivers feature attr domid store backend )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (vm name cpu memory device control data error drivers feature attr domid store backend )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 RM (/libxl/436/device/console/0 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 RM (OK )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 RM (OK )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/libxl/436/device/console )
io: OUT 0x2039ca10 (d0) 20251008 09:58:36 READ ()
io: IN 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (/libxl/436/device/console )
io: OUT 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY ()
io: IN 0x2039ca10 (d0) 20251008 09:58:36 RM (/libxl/436/device/console )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 RM (OK )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 RM (OK )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/libxl/436/device )
io: OUT 0x2039ca10 (d0) 20251008 09:58:36 READ ()
io: IN 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (/libxl/436/device )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (vbd )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (vbd )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 RM (/local/domain/0/backend/console/436/0 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 RM (OK )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 RM (OK )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/0/backend/console/436 )
io: OUT 0x2039ca10 (d0) 20251008 09:58:36 READ ()
io: IN 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (/local/domain/0/backend/console/436 )
io: OUT 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY ()
io: IN 0x2039ca10 (d0) 20251008 09:58:36 RM (/local/domain/0/backend/console/436 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 RM (OK )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 RM (OK )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/0/backend/console )
io: OUT 0x2039ca10 (d0) 20251008 09:58:36 READ ()
io: IN 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (/local/domain/0/backend/console )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (1 2 3 4 5 6 437 438 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (1 2 3 4 5 6 437 438 )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 TRANSACTION_END (T )
obj: DESTROY transaction 0x202e6fb0
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 WATCH_EVENT (backend/console/436/0 FFFFFFFF8231C840 )
io: OUT(START) 0x200f6090 (d0) 20251008 09:58:36 WATCH_EVENT (/local/domain/436/console dom436 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 TRANSACTION_END (OK )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 DIRECTORY (backend/console/436/0 )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 WATCH_EVENT (backend/console/436 FFFFFFFF8231C840 )
io: OUT(END) 0x200f6090 (d0) 20251008 09:58:36 WATCH_EVENT (/local/domain/436/console dom436 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 TRANSACTION_END (OK )
io: OUT(START) 0x200f1ee0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x200f6090 (d0) 20251008 09:58:36 READ (/local/domain/436/console/ring-ref )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/0/backend/vbd/436/51712/state )
io: OUT(END) 0x200f1ee0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x200f6090 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 READ (6)
io: OUT(END) 0x200f6090 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 READ (6)
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 DIRECTORY (backend/console/436 )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 UNWATCH (/local/domain/0/backend/vbd/436/51712/state 3/0 )
obj: DESTROY watch 0x2028c290
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 UNWATCH (OK )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 UNWATCH (OK )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (0 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/0 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/0 )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (domid )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 READ (0)
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 READ (0)
io: IN 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (0 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/0 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/0 )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/0/backend/vbd/436/51712/script )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 READ (/etc/xen/scripts/qubes-block)
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 READ (/etc/xen/scripts/qubes-block)
io: IN 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (0 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/0 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/0 )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/0/backend/vbd/436/51728/state )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 READ (6)
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 READ (6)
io: IN 0x2039ca10 (d0) 20251008 09:58:36 UNWATCH (/local/domain/0/backend/vbd/436/51728/state 2/1 )
obj: DESTROY watch 0x203278d0
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 UNWATCH (OK )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 UNWATCH (OK )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (0 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/0 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/0 )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (domid )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 READ (0)
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 READ (0)
io: IN 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (0 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/0 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/0 )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/0/backend/vbd/436/51728/script )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 READ (/etc/xen/scripts/qubes-block)
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 READ (/etc/xen/scripts/qubes-block)
io: IN 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (0 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/0 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/0 )
obj: CREATE connection 0x203ce480
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/0/backend/vbd/436/51744/state )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 READ (6)
io: IN 0x203ce480 (d0) 20251008 09:58:36 READ (backend/vbd/436/51712/physical-device )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 READ (6)
io: OUT(START) 0x203ce480 (d0) 20251008 09:58:36 READ (fd:3c)
io: OUT(END) 0x203ce480 (d0) 20251008 09:58:36 READ (fd:3c)
io: IN 0x203ce480 (d0) 20251008 09:58:36 RM (backend/vbd/436/51712/physical-device )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 WATCH_EVENT (backend/vbd/436/51712/physical-device FFFFFFFF8231C840 )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 UNWATCH (/local/domain/0/backend/vbd/436/51744/state 1/2 )
obj: DESTROY watch 0x20294cf0
io: OUT(START) 0x203ce480 (d0) 20251008 09:58:36 RM (OK )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 UNWATCH (OK )
io: OUT(END) 0x203ce480 (d0) 20251008 09:58:36 RM (OK )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 UNWATCH (OK )
io: IN 0x203ce480 (d0) 20251008 09:58:36 READ (backend/vbd/436/51712/diskseq )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (0 )
io: OUT(START) 0x203ce480 (d0) 20251008 09:58:36 READ (a3c)
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/0 )
io: OUT(END) 0x203ce480 (d0) 20251008 09:58:36 READ (a3c)
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/0 )
io: IN 0x203ce480 (d0) 20251008 09:58:36 RM (backend/vbd/436/51712/diskseq )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 DIRECTORY (backend/vbd/436/51712/physical-device )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 WATCH_EVENT (backend/vbd/436/51712/diskseq FFFFFFFF8231C840 )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (domid )
io: OUT(START) 0x203ce480 (d0) 20251008 09:58:36 RM (OK )
obj: CREATE connection 0x2039b520
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 READ (0)
io: OUT(END) 0x203ce480 (d0) 20251008 09:58:36 RM (OK )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 READ (0)
obj: DESTROY connection 0x203ce480
io: IN 0x2039b520 (d0) 20251008 09:58:36 READ (backend/vbd/436/51728/physical-device )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 DIRECTORY (backend/vbd/436/51712/diskseq )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x2039b520 (d0) 20251008 09:58:36 READ (fd:3f)
io: OUT(END) 0x2039b520 (d0) 20251008 09:58:36 READ (fd:3f)
io: IN 0x2039b520 (d0) 20251008 09:58:36 RM (backend/vbd/436/51728/physical-device )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 WATCH_EVENT (backend/vbd/436/51728/physical-device FFFFFFFF8231C840 )
io: OUT(START) 0x2039b520 (d0) 20251008 09:58:36 RM (OK )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 DIRECTORY (backend/vbd/436/51728/physical-device )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x2039b520 (d0) 20251008 09:58:36 RM (OK )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (0 )
io: IN 0x2039b520 (d0) 20251008 09:58:36 READ (backend/vbd/436/51728/diskseq )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/0 )
io: OUT(START) 0x2039b520 (d0) 20251008 09:58:36 READ (a3e)
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/0 )
io: OUT(END) 0x2039b520 (d0) 20251008 09:58:36 READ (a3e)
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/0/backend/vbd/436/51744/script )
io: IN 0x2039b520 (d0) 20251008 09:58:36 RM (backend/vbd/436/51728/diskseq )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 WATCH_EVENT (backend/vbd/436/51728/diskseq FFFFFFFF8231C840 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 READ (/etc/xen/scripts/qubes-block)
io: OUT(START) 0x2039b520 (d0) 20251008 09:58:36 RM (OK )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 DIRECTORY (backend/vbd/436/51728/diskseq )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 READ (/etc/xen/scripts/qubes-block)
io: OUT(END) 0x2039b520 (d0) 20251008 09:58:36 RM (OK )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (0 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/0 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/0 )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/0/backend/vbd/436/51760/state )
obj: DESTROY connection 0x2039b520
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 READ (6)
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 READ (6)
io: IN 0x2039ca10 (d0) 20251008 09:58:36 UNWATCH (/local/domain/0/backend/vbd/436/51760/state 0/3 )
obj: DESTROY watch 0x202faaf0
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 UNWATCH (OK )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 UNWATCH (OK )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (0 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/0 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/0 )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (domid )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 READ (0)
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 READ (0)
obj: CREATE connection 0x201ff0b0
io: IN 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (0 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/0 )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (backend/vbd/436/51744/physical-device )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/0 )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 READ (fd:3e)
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/0/backend/vbd/436/51760/script )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 READ (fd:3e)
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 READ (/etc/xen/scripts/qubes-block)
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 RM (backend/vbd/436/51744/physical-device )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 WATCH_EVENT (backend/vbd/436/51744/physical-device FFFFFFFF8231C840 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 READ (/etc/xen/scripts/qubes-block)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 RM (OK )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (0 )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 RM (OK )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/0 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/0 )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (backend/vbd/436/51744/diskseq )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 DIRECTORY (backend/vbd/436/51744/physical-device )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 READ (a3d)
io: IN 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (0 )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 READ (a3d)
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/0 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/0 )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 RM (backend/vbd/436/51744/diskseq )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 WATCH_EVENT (backend/vbd/436/51744/diskseq FFFFFFFF8231C840 )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 RM (OK )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 DIRECTORY (backend/vbd/436/51744/diskseq )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 RM (OK )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (0 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/0 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/0 )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (domid )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 READ (0)
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 READ (0)
io: IN 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (0 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/0 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/0 )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (436 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/436 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/436 )
obj: DESTROY connection 0x201ff0b0
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (domid )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 READ (0)
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 READ (0)
obj: CREATE connection 0x201ff0b0
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (backend/vbd/436/51760/physical-device )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 READ (7:6)
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 READ (7:6)
io: IN 0x2039ca10 (d0) 20251008 09:58:36 TRANSACTION_START ( )
obj: CREATE transaction 0x20216970
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 TRANSACTION_START (6 )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 RM (backend/vbd/436/51760/physical-device )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 WATCH_EVENT (backend/vbd/436/51760/physical-device FFFFFFFF8231C840 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 TRANSACTION_START (6 )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 RM (OK )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 DIRECTORY (backend/vbd/436/51760/physical-device )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 RM (OK )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 RM (/local/domain/436/device/vbd/51712 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (backend/vbd/436/51760/diskseq )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 READ (a3f)
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 READ (a3f)
io: IN 0x2039ca10 (d0) 20251008 09:58:36 RM (/libxl/436/device/vbd/51712 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 RM (OK )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 RM (backend/vbd/436/51760/diskseq )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 WATCH_EVENT (backend/vbd/436/51760/diskseq FFFFFFFF8231C840 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 RM (OK )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 RM (OK )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 DIRECTORY (backend/vbd/436/51760/diskseq )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/libxl/436/device/vbd )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 RM (OK )
io: OUT 0x2039ca10 (d0) 20251008 09:58:36 READ ()
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (backend/vbd/436/51760/physical-device-path )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 READ (/dev/loop6)
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 READ (/dev/loop6)
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (backend/vbd/436/51760/params )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 READ (/var/lib/qubes/vm-kernels/6.12.47-1.fc41/modules.img)
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 READ (/var/lib/qubes/vm-kernels/6.12.47-1.fc41/modules.img)
obj: DESTROY connection 0x201ff0b0
io: IN 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (/libxl/436/device/vbd )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (51728 51744 51760 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (51728 51744 51760 )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 RM (/local/domain/0/backend/vbd/436/51712 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 RM (OK )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 RM (OK )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/0/backend/vbd/436 )
io: OUT 0x2039ca10 (d0) 20251008 09:58:36 READ ()
io: IN 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (/local/domain/0/backend/vbd/436 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (51728 51744 51760 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (51728 51744 51760 )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 TRANSACTION_END (T )
obj: DESTROY transaction 0x20216970
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 WATCH_EVENT (backend/vbd/436/51712 FFFFFFFF8231C840 )
io: OUT 0x20344f80 (d436) 20251008 09:58:36 WATCH_EVENT (/local/domain/0/backend/vbd/436/51712/state FFFF888003B52420 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 TRANSACTION_END (OK )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 DIRECTORY (backend/vbd/436/51712 )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 TRANSACTION_END (OK )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (0 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/0 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/0 )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (0 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/0 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/0 )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (domid )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 READ (0)
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 READ (0)
io: IN 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (0 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/0 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/0 )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (436 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/436 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/436 )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (domid )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 READ (0)
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 READ (0)
io: IN 0x2039ca10 (d0) 20251008 09:58:36 TRANSACTION_START ( )
obj: CREATE transaction 0x2023beb0
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 TRANSACTION_START (7 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 TRANSACTION_START (7 )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 RM (/local/domain/436/device/vbd/51728 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 RM (/libxl/436/device/vbd/51728 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 RM (OK )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 RM (OK )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/libxl/436/device/vbd )
io: OUT 0x2039ca10 (d0) 20251008 09:58:36 READ ()
io: IN 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (/libxl/436/device/vbd )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (51744 51760 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (51744 51760 )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 RM (/local/domain/0/backend/vbd/436/51728 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 RM (OK )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 RM (OK )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/0/backend/vbd/436 )
io: OUT 0x2039ca10 (d0) 20251008 09:58:36 READ ()
io: IN 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (/local/domain/0/backend/vbd/436 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (51744 51760 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (51744 51760 )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 TRANSACTION_END (T )
obj: DESTROY transaction 0x2023beb0
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 WATCH_EVENT (backend/vbd/436/51728 FFFFFFFF8231C840 )
io: OUT 0x20344f80 (d436) 20251008 09:58:36 WATCH_EVENT (/local/domain/0/backend/vbd/436/51728/state FFFF888003B51020 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 TRANSACTION_END (OK )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 DIRECTORY (backend/vbd/436/51728 )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 TRANSACTION_END (OK )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (0 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/0 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/0 )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (0 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/0 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/0 )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (domid )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 READ (0)
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 READ (0)
io: IN 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (0 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/0 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/0 )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (436 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/436 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/436 )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (domid )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 READ (0)
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 READ (0)
io: IN 0x2039ca10 (d0) 20251008 09:58:36 TRANSACTION_START ( )
obj: CREATE transaction 0x2039f330
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 TRANSACTION_START (8 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 TRANSACTION_START (8 )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 RM (/local/domain/436/device/vbd/51744 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 RM (/libxl/436/device/vbd/51744 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 RM (OK )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 RM (OK )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/libxl/436/device/vbd )
io: OUT 0x2039ca10 (d0) 20251008 09:58:36 READ ()
io: IN 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (/libxl/436/device/vbd )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (51760 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (51760 )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 RM (/local/domain/0/backend/vbd/436/51744 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 RM (OK )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 RM (OK )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/0/backend/vbd/436 )
io: OUT 0x2039ca10 (d0) 20251008 09:58:36 READ ()
io: IN 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (/local/domain/0/backend/vbd/436 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (51760 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (51760 )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 TRANSACTION_END (T )
obj: DESTROY transaction 0x2039f330
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 WATCH_EVENT (backend/vbd/436/51744 FFFFFFFF8231C840 )
io: OUT(START) 0x20344f80 (d436) 20251008 09:58:36 WATCH_EVENT (/local/domain/0/backend/vbd/436/51744/state FFFF888003B53020 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 TRANSACTION_END (OK )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 DIRECTORY (backend/vbd/436/51744 )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 TRANSACTION_END (OK )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (0 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/0 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/0 )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (0 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/0 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/0 )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (domid )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 READ (0)
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 READ (0)
io: IN 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (0 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/0 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/0 )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (436 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/436 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/436 )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (domid )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 READ (0)
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 READ (0)
io: IN 0x2039ca10 (d0) 20251008 09:58:36 TRANSACTION_START ( )
obj: CREATE transaction 0x20345ee0
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 TRANSACTION_START (9 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 TRANSACTION_START (9 )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 RM (/local/domain/436/device/vbd/51760 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 RM (/libxl/436/device/vbd/51760 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 RM (OK )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 RM (OK )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/libxl/436/device/vbd )
io: OUT 0x2039ca10 (d0) 20251008 09:58:36 READ ()
io: IN 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (/libxl/436/device/vbd )
io: OUT 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY ()
io: IN 0x2039ca10 (d0) 20251008 09:58:36 RM (/libxl/436/device/vbd )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 RM (OK )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 RM (OK )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/libxl/436/device )
io: OUT 0x2039ca10 (d0) 20251008 09:58:36 READ ()
io: IN 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (/libxl/436/device )
io: OUT 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY ()
io: IN 0x2039ca10 (d0) 20251008 09:58:36 RM (/libxl/436/device )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 RM (OK )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 RM (OK )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/libxl/436 )
io: OUT 0x2039ca10 (d0) 20251008 09:58:36 READ ()
io: IN 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (/libxl/436 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (type dm-version )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (type dm-version )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 RM (/local/domain/0/backend/vbd/436/51760 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 RM (OK )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 RM (OK )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/0/backend/vbd/436 )
io: OUT 0x2039ca10 (d0) 20251008 09:58:36 READ ()
io: IN 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (/local/domain/0/backend/vbd/436 )
io: OUT 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY ()
io: IN 0x2039ca10 (d0) 20251008 09:58:36 RM (/local/domain/0/backend/vbd/436 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 RM (OK )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 RM (OK )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/0/backend/vbd )
io: OUT 0x2039ca10 (d0) 20251008 09:58:36 READ ()
io: IN 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (/local/domain/0/backend/vbd )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (1 2 3 4 5 6 437 438 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 DIRECTORY (1 2 3 4 5 6 437 438 )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 TRANSACTION_END (T )
obj: DESTROY transaction 0x20345ee0
io: OUT(START) 0x200f1ee0 (d0) 20251008 09:58:36 WATCH_EVENT (backend/vbd/436/51760 FFFFFFFF8231C840 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 TRANSACTION_END (OK )
io: OUT(END) 0x200f1ee0 (d0) 20251008 09:58:36 WATCH_EVENT (backend/vbd/436/51760 FFFFFFFF8231C840 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 TRANSACTION_END (OK )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 DIRECTORY (backend/vbd/436/51760 )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 WATCH_EVENT (backend/vbd/436 FFFFFFFF8231C840 )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (436 )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/436 )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 DIRECTORY (backend/vbd/436 )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/436 )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 READ (/local/domain/436/vm )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 READ (/vm/97e08059-cbe7-4118-a72b-b51840cdf1e1)
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 READ (/vm/97e08059-cbe7-4118-a72b-b51840cdf1e1)
io: IN 0x2039ca10 (d0) 20251008 09:58:36 RM (/vm/97e08059-cbe7-4118-a72b-b51840cdf1e1 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 RM (OK )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 RM (OK )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 RM (/local/domain/436 )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 WATCH_EVENT (/local/domain/436/memory/meminfo 128009995958608 )
io: OUT 0x202d8590 (d438) 20251008 09:58:36 WATCH_EVENT (/local/domain/436/backend/vif/438/0/state FFFF888006BAB820 )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 RM (OK )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 WATCH_EVENT (/local/domain/436/memory/meminfo 128009995958608 )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 RM (OK )
io: IN 0x200f61b0 (d0) 20251008 09:58:36 READ (/local/domain/436/memory/meminfo )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 RM (/libxl/436 )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 RM (OK )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 RM (OK )
io: IN 0x2039ca10 (d0) 20251008 09:58:36 RM (/local/domain/436/hvmloader )
io: OUT(START) 0x2039ca10 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x2039ca10 (d0) 20251008 09:58:36 ERROR (ENOENT )
obj: DESTROY watch 0x2034af20
obj: DESTROY watch 0x20336c50
obj: DESTROY watch 0x2039df30
obj: DESTROY watch 0x202f4980
obj: DESTROY watch 0x20299450
obj: DESTROY watch 0x20278530
obj: DESTROY watch 0x2036e540
obj: DESTROY watch 0x2036fa00
obj: DESTROY watch 0x201c0120
obj: DESTROY watch 0x2031d180
obj: DESTROY watch 0x20323a30
obj: DESTROY watch 0x20346470
obj: DESTROY watch 0x20214ad0
obj: DESTROY watch 0x2022c090
obj: DESTROY connection 0x20344f80
orphaned node /local/domain/438/device/vif/0/mtu deleted
io: OUT 0x202d8590 (d438) 20251008 09:58:36 WATCH_EVENT (device/vif/0/mtu FFFFFFFF8231CB00 )
io: OUT(START) 0x200f6090 (d0) 20251008 09:58:36 WATCH_EVENT (@releaseDomain domlist )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 WATCH_EVENT (@releaseDomain 128009996322448 )
io: OUT(START) 0x200f7270 (d0) 20251008 09:58:36 WATCH_EVENT (@releaseDomain 3/0 )
io: OUT(START) 0x20163150 (d0) 20251008 09:58:36 WATCH_EVENT (@releaseDomain release )
io: OUT(START) 0x201688d0 (d0) 20251008 09:58:36 WATCH_EVENT (@releaseDomain release )
io: OUT(START) 0x20202010 (d0) 20251008 09:58:36 WATCH_EVENT (@releaseDomain release )
io: OUT(START) 0x20204440 (d0) 20251008 09:58:36 WATCH_EVENT (@releaseDomain release )
io: OUT(START) 0x2015c6d0 (d0) 20251008 09:58:36 WATCH_EVENT (@releaseDomain release )
io: OUT(START) 0x2015c860 (d0) 20251008 09:58:36 WATCH_EVENT (@releaseDomain release )
io: OUT(START) 0x2023cba0 (d0) 20251008 09:58:36 WATCH_EVENT (@releaseDomain release )
io: OUT(START) 0x20293f50 (d0) 20251008 09:58:36 WATCH_EVENT (@releaseDomain release )
obj: DESTROY connection 0x2039ca10
io: OUT(END) 0x200f6090 (d0) 20251008 09:58:36 WATCH_EVENT (@releaseDomain domlist )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 WATCH_EVENT (@releaseDomain 128009996322448 )
io: OUT(END) 0x200f7270 (d0) 20251008 09:58:36 WATCH_EVENT (@releaseDomain 3/0 )
io: OUT(END) 0x20163150 (d0) 20251008 09:58:36 WATCH_EVENT (@releaseDomain release )
io: OUT(END) 0x201688d0 (d0) 20251008 09:58:36 WATCH_EVENT (@releaseDomain release )
io: OUT(END) 0x20202010 (d0) 20251008 09:58:36 WATCH_EVENT (@releaseDomain release )
io: OUT(END) 0x20204440 (d0) 20251008 09:58:36 WATCH_EVENT (@releaseDomain release )
io: OUT(END) 0x2015c6d0 (d0) 20251008 09:58:36 WATCH_EVENT (@releaseDomain release )
io: OUT(END) 0x2015c860 (d0) 20251008 09:58:36 WATCH_EVENT (@releaseDomain release )
io: OUT(END) 0x2023cba0 (d0) 20251008 09:58:36 WATCH_EVENT (@releaseDomain release )
io: OUT(END) 0x20293f50 (d0) 20251008 09:58:36 WATCH_EVENT (@releaseDomain release )
io: IN 0x200f61b0 (d0) 20251008 09:58:36 DIRECTORY (/local/domain )
io: IN 0x20163150 (d0) 20251008 09:58:36 READ (/local/domain/1/data/vchan/0/4713/event-channel )
io: IN 0x20202010 (d0) 20251008 09:58:36 READ (/local/domain/3/data/vchan/0/4713/event-channel )
io: IN 0x2015c6d0 (d0) 20251008 09:58:36 READ (/local/domain/6/data/vchan/0/4713/event-channel )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 DIRECTORY (0 1 2 3 4 5 6 8 7 13 19 22 33 38 53 58 73 82 94 99 105 106 107 114 121 122 143 156 171 186 214 229 256 257 261 267 268 273 275 276 308 310 316 324 346 356 362 366 390 409 413 437 438 )
io: OUT(START) 0x20163150 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x20202010 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x2015c6d0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 DIRECTORY (0 1 2 3 4 5 6 8 7 13 19 22 33 38 53 58 73 82 94 99 105 106 107 114 121 122 143 156 171 186 214 229 256 257 261 267 268 273 275 276 308 310 316 324 346 356 362 366 390 409 413 437 438 )
io: OUT(END) 0x20163150 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x20202010 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x2015c6d0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x20293f50 (d0) 20251008 09:58:36 READ (/local/domain/438/data/vchan/0/4714/event-channel )
obj: CREATE connection 0x201ff0b0
io: IN 0x200f61b0 (d0) 20251008 09:58:36 READ (/local/domain/0/domid )
io: IN 0x201688d0 (d0) 20251008 09:58:36 READ (/local/domain/1/data/vchan/0/4714/event-channel )
io: IN 0x20204440 (d0) 20251008 09:58:36 READ (/local/domain/3/data/vchan/0/4714/event-channel )
io: OUT(START) 0x20293f50 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 READ (0)
io: OUT(START) 0x201688d0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x20204440 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x2015c860 (d0) 20251008 09:58:36 READ (/local/domain/6/data/vchan/0/4714/event-channel )
io: OUT(END) 0x20293f50 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/local/domain/0/name )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 READ (0)
io: OUT(END) 0x201688d0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x20204440 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x2015c860 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x2023cba0 (d0) 20251008 09:58:36 READ (/local/domain/438/data/vchan/0/4713/event-channel )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 READ (Domain-0)
io: IN 0x200f61b0 (d0) 20251008 09:58:36 READ (/local/domain/1/domid )
io: OUT(END) 0x2015c860 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x2023cba0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 READ (Domain-0)
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 READ (1)
io: OUT(END) 0x2023cba0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 READ (1)
io: IN 0x200f6090 (d0) 20251008 09:58:36 UNWATCH (/local/domain/436/console dom436 )
obj: DESTROY watch 0x202e3e40
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/local/domain/1/name )
io: OUT(START) 0x200f6090 (d0) 20251008 09:58:36 UNWATCH (OK )
io: IN 0x200f61b0 (d0) 20251008 09:58:36 READ (/local/domain/2/domid )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 READ (sys-net)
io: OUT(END) 0x200f6090 (d0) 20251008 09:58:36 UNWATCH (OK )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 READ (2)
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 READ (sys-net)
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 READ (2)
io: IN 0x200f61b0 (d0) 20251008 09:58:36 READ (/local/domain/3/domid )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/local/domain/2/name )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 READ (3)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 READ (sys-net-dm)
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 READ (3)
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 READ (sys-net-dm)
io: IN 0x200f61b0 (d0) 20251008 09:58:36 READ (/local/domain/4/domid )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/local/domain/3/name )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 READ (4)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 READ (sys-usb)
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 READ (4)
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 READ (sys-usb)
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/local/domain/4/name )
io: IN 0x200f61b0 (d0) 20251008 09:58:36 READ (/local/domain/5/domid )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 READ (sys-usb-dm)
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 READ (5)
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 READ (sys-usb-dm)
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 READ (5)
io: IN 0x200f61b0 (d0) 20251008 09:58:36 READ (/local/domain/6/domid )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 READ (6)
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 READ (6)
io: IN 0x200f61b0 (d0) 20251008 09:58:36 READ (/local/domain/8/domid )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/local/domain/5/name )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 READ (sys-firewall)
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 READ (sys-firewall)
io: IN 0x200f61b0 (d0) 20251008 09:58:36 READ (/local/domain/7/domid )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/local/domain/6/name )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 READ (sys-whonix)
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 READ (sys-whonix)
io: IN 0x200f61b0 (d0) 20251008 09:58:36 READ (/local/domain/13/domid )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/local/domain/436/name )
io: IN 0x200f61b0 (d0) 20251008 09:58:36 READ (/local/domain/19/domid )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x200f61b0 (d0) 20251008 09:58:36 READ (/local/domain/22/domid )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x200f61b0 (d0) 20251008 09:58:36 READ (/local/domain/33/domid )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/local/domain/437/name )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 READ (test-netvm2)
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 READ (test-netvm2)
io: IN 0x200f61b0 (d0) 20251008 09:58:36 READ (/local/domain/38/domid )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/local/domain/438/name )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 READ (vm1)
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 READ (vm1)
io: IN 0x200f61b0 (d0) 20251008 09:58:36 READ (/local/domain/53/domid )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/local/domain/438/name )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 READ (vm1)
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 READ (vm1)
io: IN 0x200f61b0 (d0) 20251008 09:58:36 READ (/local/domain/58/domid )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0 )
io: OUT 0x201ff0b0 (d0) 20251008 09:58:36 READ ()
io: IN 0x200f61b0 (d0) 20251008 09:58:36 READ (/local/domain/73/domid )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x200f61b0 (d0) 20251008 09:58:36 READ (/local/domain/82/domid )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x200f61b0 (d0) 20251008 09:58:36 READ (/local/domain/94/domid )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/handle )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 READ (0)
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 READ (0)
io: IN 0x200f61b0 (d0) 20251008 09:58:36 READ (/local/domain/99/domid )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x200f61b0 (d0) 20251008 09:58:36 READ (/local/domain/105/domid )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/backend )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 READ (/local/domain/436/backend/vif/438/0)
obj: CREATE connection 0x20193940
io: IN 0x200f61b0 (d0) 20251008 09:58:36 READ (/local/domain/106/domid )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 READ (/local/domain/436/backend/vif/438/0)
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x20193940 (d0) 20251008 09:58:36 WATCH (domid domid )
obj: CREATE watch 0x202a1ae0
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x20193940 (d0) 20251008 09:58:36 WATCH (OK )
io: IN 0x200f61b0 (d0) 20251008 09:58:36 READ (/local/domain/107/domid )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/mtu )
io: OUT(END) 0x20193940 (d0) 20251008 09:58:36 WATCH (OK )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x20193940 (d0) 20251008 09:58:36 WATCH_EVENT (domid domid )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x20193940 (d0) 20251008 09:58:36 WATCH_EVENT (domid domid )
io: IN 0x200f61b0 (d0) 20251008 09:58:36 READ (/local/domain/114/domid )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/mac )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 READ (00:16:3e:5e:6c:00)
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 READ (00:16:3e:5e:6c:00)
io: IN 0x200f61b0 (d0) 20251008 09:58:36 READ (/local/domain/121/domid )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/ip )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 READ (10.137.0.19)
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 READ (10.137.0.19)
io: IN 0x200f61b0 (d0) 20251008 09:58:36 READ (/local/domain/122/domid )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/bridge )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 READ (xenbr0)
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 READ (xenbr0)
io: IN 0x200f61b0 (d0) 20251008 09:58:36 READ (/local/domain/143/domid )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/script )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 READ (/etc/xen/scripts/vif-route-qubes)
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 READ (/etc/xen/scripts/vif-route-qubes)
io: IN 0x20193940 (d0) 20251008 09:58:36 WATCH (@releaseDomain release )
obj: CREATE watch 0x20323a30
io: IN 0x200f61b0 (d0) 20251008 09:58:36 READ (/local/domain/156/domid )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/vlan )
io: OUT(START) 0x20193940 (d0) 20251008 09:58:36 WATCH (OK )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x20193940 (d0) 20251008 09:58:36 WATCH (OK )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x20193940 (d0) 20251008 09:58:36 WATCH_EVENT (@releaseDomain release )
io: IN 0x200f61b0 (d0) 20251008 09:58:36 READ (/local/domain/171/domid )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/forwarddev )
io: OUT(END) 0x20193940 (d0) 20251008 09:58:36 WATCH_EVENT (@releaseDomain release )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x20193940 (d0) 20251008 09:58:36 READ (domid )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x20193940 (d0) 20251008 09:58:36 READ (0)
io: IN 0x200f61b0 (d0) 20251008 09:58:36 READ (/local/domain/186/domid )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/colo_sock_mirror_id )
io: OUT(END) 0x20193940 (d0) 20251008 09:58:36 READ (0)
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x20193940 (d0) 20251008 09:58:36 WATCH (/local/domain/436/data/vchan/0/512/event-channel /local/domain/436/data/vchan/0/512/event-channel )
obj: CREATE watch 0x2022a0b0
io: IN 0x200f61b0 (d0) 20251008 09:58:36 READ (/local/domain/214/domid )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/colo_sock_mirror_ip )
io: OUT(START) 0x20193940 (d0) 20251008 09:58:36 WATCH (OK )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x20193940 (d0) 20251008 09:58:36 WATCH (OK )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x20193940 (d0) 20251008 09:58:36 WATCH_EVENT (/local/domain/436/data/vchan/0/512/event-channel /local/domain/436/data/vchan/0/512/event-channel )
io: IN 0x200f61b0 (d0) 20251008 09:58:36 READ (/local/domain/229/domid )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/colo_sock_mirror_port )
io: OUT(END) 0x20193940 (d0) 20251008 09:58:36 WATCH_EVENT (/local/domain/436/data/vchan/0/512/event-channel /local/domain/436/data/vchan/0/512/event-channel )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x20193940 (d0) 20251008 09:58:36 READ (/local/domain/436/data/vchan/0/512/event-channel )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x20193940 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x200f61b0 (d0) 20251008 09:58:36 READ (/local/domain/256/domid )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/colo_sock_compare_pri_in_id )
io: OUT(END) 0x20193940 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x200f61b0 (d0) 20251008 09:58:36 READ (/local/domain/257/domid )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/colo_sock_compare_pri_in_ip )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x200f61b0 (d0) 20251008 09:58:36 READ (/local/domain/261/domid )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/colo_sock_compare_pri_in_port )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x200f61b0 (d0) 20251008 09:58:36 READ (/local/domain/267/domid )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/colo_sock_compare_sec_in_id )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
obj: DESTROY watch 0x202a1ae0
obj: DESTROY watch 0x20323a30
obj: DESTROY watch 0x2022a0b0
obj: DESTROY connection 0x20193940
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x200f61b0 (d0) 20251008 09:58:36 READ (/local/domain/268/domid )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/colo_sock_compare_sec_in_ip )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x200f61b0 (d0) 20251008 09:58:36 READ (/local/domain/273/domid )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/colo_sock_compare_sec_in_port )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x200f61b0 (d0) 20251008 09:58:36 READ (/local/domain/275/domid )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/colo_sock_compare_notify_id )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x200f61b0 (d0) 20251008 09:58:36 READ (/local/domain/276/domid )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/colo_sock_compare_notify_ip )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x200f61b0 (d0) 20251008 09:58:36 READ (/local/domain/308/domid )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/colo_sock_compare_notify_port )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x200f61b0 (d0) 20251008 09:58:36 READ (/local/domain/310/domid )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/colo_sock_redirector0_id )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x200f61b0 (d0) 20251008 09:58:36 READ (/local/domain/316/domid )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/colo_sock_redirector0_ip )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x200f61b0 (d0) 20251008 09:58:36 READ (/local/domain/324/domid )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/colo_sock_redirector0_port )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x200f61b0 (d0) 20251008 09:58:36 READ (/local/domain/346/domid )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/colo_sock_redirector1_id )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x200f61b0 (d0) 20251008 09:58:36 READ (/local/domain/356/domid )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/colo_sock_redirector1_ip )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x200f61b0 (d0) 20251008 09:58:36 READ (/local/domain/362/domid )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/colo_sock_redirector1_port )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x200f61b0 (d0) 20251008 09:58:36 READ (/local/domain/366/domid )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/colo_sock_redirector2_id )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x200f61b0 (d0) 20251008 09:58:36 READ (/local/domain/390/domid )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/colo_sock_redirector2_ip )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x200f61b0 (d0) 20251008 09:58:36 READ (/local/domain/409/domid )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/colo_sock_redirector2_port )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x200f61b0 (d0) 20251008 09:58:36 READ (/local/domain/413/domid )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/colo_filter_mirror_queue )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x200f61b0 (d0) 20251008 09:58:36 READ (/local/domain/437/domid )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/colo_filter_mirror_outdev )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 READ (437)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 READ (437)
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x200f61b0 (d0) 20251008 09:58:36 READ (/local/domain/438/domid )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/colo_filter_redirector0_queue )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 READ (438)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 READ (438)
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x200f61b0 (d0) 20251008 09:58:36 UNWATCH (/local/domain/436/memory/meminfo 128009995958608 )
obj: DESTROY watch 0x202e5740
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/colo_filter_redirector0_indev )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:36 UNWATCH (OK )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:36 UNWATCH (OK )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:36 READ (/local/domain/0/memory/hotplug-max )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/colo_filter_redirector0_outdev )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:36 READ (/local/domain/0/memory/static-max )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/colo_filter_redirector1_queue )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:36 READ (4194304)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:36 READ (4194304)
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:36 READ (/local/domain/1/memory/hotplug-max )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/colo_filter_redirector1_indev )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:36 READ (/local/domain/1/memory/static-max )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/colo_filter_redirector1_outdev )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:36 READ (307200)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:36 READ (307200)
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:36 READ (/local/domain/2/memory/hotplug-max )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/colo_compare_pri_in )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:36 READ (/local/domain/2/memory/static-max )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/colo_compare_sec_in )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:36 READ (147456)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:36 READ (147456)
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:36 READ (/local/domain/3/memory/hotplug-max )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/colo_compare_out )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:36 READ (/local/domain/3/memory/static-max )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/colo_compare_notify_dev )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:36 READ (307200)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:36 READ (307200)
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:36 READ (/local/domain/4/memory/hotplug-max )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/colo_sock_sec_redirector0_id )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:36 READ (/local/domain/4/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:36 READ (147456)
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/colo_sock_sec_redirector0_ip )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:36 READ (147456)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:36 READ (/local/domain/5/memory/hotplug-max )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:36 READ (4096000)
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/colo_sock_sec_redirector0_port )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:36 READ (4096000)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:36 READ (/local/domain/5/memory/static-max )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:36 READ (767539)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:36 READ (767539)
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/colo_sock_sec_redirector1_id )
io: IN 0x200f62d0 (d0) 20251008 09:58:36 READ (/local/domain/6/memory/hotplug-max )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:36 READ (4096000)
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:36 READ (4096000)
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/colo_sock_sec_redirector1_ip )
io: IN 0x200f62d0 (d0) 20251008 09:58:36 READ (/local/domain/6/memory/static-max )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:36 READ (916430)
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:36 READ (916430)
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/colo_sock_sec_redirector1_port )
io: IN 0x200f62d0 (d0) 20251008 09:58:36 READ (/local/domain/437/memory/hotplug-max )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:36 READ (4096000)
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:36 READ (4096000)
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/colo_filter_sec_redirector0_queue )
io: IN 0x200f62d0 (d0) 20251008 09:58:36 READ (/local/domain/437/memory/static-max )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:36 READ (753552)
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:36 READ (753552)
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/colo_filter_sec_redirector0_indev )
io: IN 0x200f62d0 (d0) 20251008 09:58:36 READ (/local/domain/438/memory/hotplug-max )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:36 READ (4096000)
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:36 READ (4096000)
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/colo_filter_sec_redirector0_outdev )
io: IN 0x200f62d0 (d0) 20251008 09:58:36 READ (/local/domain/438/memory/static-max )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:36 READ (502346)
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:36 READ (502346)
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/colo_filter_sec_redirector1_queue )
io: IN 0x200f62d0 (d0) 20251008 09:58:36 WRITE (/local/domain/0/memory/target 3895666)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 WATCH_EVENT (memory/target FFFFFFFF8231D1A0 )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:36 WRITE (OK )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x200f1ee0 (d0) 20251008 09:58:36 READ (memory/target )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:36 READ (3895666)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:36 WRITE (OK )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/colo_filter_sec_redirector1_indev )
io: IN 0x200f62d0 (d0) 20251008 09:58:36 WRITE (/local/domain/5/memory/target 844806)
io: OUT 0x2011b160 (d5) 20251008 09:58:36 WATCH_EVENT (memory/target FFFFFFFF8231D1A0 )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:36 WRITE (OK )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:36 WRITE (OK )
io: IN 0x2011b160 (d5) 20251008 09:58:36 READ (memory/target )
io: OUT 0x2011b160 (d5) 20251008 09:58:36 READ (844806)
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/colo_filter_sec_redirector1_outdev )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:36 WRITE (/local/domain/5/memory/static-max 861190)
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/colo_filter_sec_rewriter0_queue )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:36 WRITE (OK )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:36 WRITE (OK )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/colo_checkpoint_host )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/colo_checkpoint_port )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/type )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 READ (vif)
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 READ (vif)
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif/0/backend )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 READ (/local/domain/436/backend/vif/438/0)
io: IN 0x200f62d0 (d0) 20251008 09:58:36 WRITE (/local/domain/6/memory/target 1011864)
io: OUT 0x20128070 (d6) 20251008 09:58:36 WATCH_EVENT (memory/target FFFFFFFF8231D1A0 )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 READ (/local/domain/436/backend/vif/438/0)
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:36 WRITE (OK )
io: IN 0x20128070 (d6) 20251008 09:58:36 READ (memory/target )
io: OUT 0x20128070 (d6) 20251008 09:58:36 READ (1011864)
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (domid )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:36 WRITE (OK )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 READ (0)
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 READ (0)
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 TRANSACTION_START ( )
obj: CREATE transaction 0x20288160
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 TRANSACTION_START (1 )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 TRANSACTION_START (1 )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/local/domain/436/backend/vif/438/0/state )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 TRANSACTION_END (F )
obj: DESTROY transaction 0x20288160
io: IN 0x200f62d0 (d0) 20251008 09:58:36 WRITE (/local/domain/6/memory/static-max 1028248)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 TRANSACTION_END (OK )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:36 WRITE (OK )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 TRANSACTION_END (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:36 WRITE (OK )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (436 )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/436 )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/436 )
io: IN 0x200f62d0 (d0) 20251008 09:58:36 WRITE (/local/domain/437/memory/target 829113)
io: OUT 0x202cc990 (d437) 20251008 09:58:36 WATCH_EVENT (memory/target FFFFFFFF8231D1A0 )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:36 WRITE (OK )
io: IN 0x202cc990 (d437) 20251008 09:58:36 READ (memory/target )
io: OUT 0x202cc990 (d437) 20251008 09:58:36 READ (829113)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:36 WRITE (OK )
io: IN 0x200f62d0 (d0) 20251008 09:58:36 WRITE (/local/domain/437/memory/static-max 845497)
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:36 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:36 WRITE (OK )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (438 )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/438 )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 GET_DOMAIN_PATH (/local/domain/438 )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (domid )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 READ (0)
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 READ (0)
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 TRANSACTION_START ( )
obj: CREATE transaction 0x20220670
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 TRANSACTION_START (2 )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 TRANSACTION_START (2 )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 RM (/local/domain/438/device/vif/0 )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 RM (OK )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 RM (OK )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/local/domain/438/device/vif )
io: OUT 0x201ff0b0 (d0) 20251008 09:58:36 READ ()
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 DIRECTORY (/local/domain/438/device/vif )
io: OUT 0x201ff0b0 (d0) 20251008 09:58:36 DIRECTORY ()
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 RM (/local/domain/438/device/vif )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 RM (OK )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 RM (OK )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/local/domain/438/device )
io: OUT 0x201ff0b0 (d0) 20251008 09:58:36 READ ()
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 DIRECTORY (/local/domain/438/device )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 DIRECTORY (suspend vbd )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 DIRECTORY (suspend vbd )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 RM (/libxl/438/device/vif/0 )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 RM (OK )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 RM (OK )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device/vif )
io: OUT 0x201ff0b0 (d0) 20251008 09:58:36 READ ()
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 DIRECTORY (/libxl/438/device/vif )
io: OUT 0x201ff0b0 (d0) 20251008 09:58:36 DIRECTORY ()
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 RM (/libxl/438/device/vif )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 RM (OK )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 RM (OK )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/libxl/438/device )
io: OUT 0x201ff0b0 (d0) 20251008 09:58:36 READ ()
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 DIRECTORY (/libxl/438/device )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 DIRECTORY (vbd console )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 DIRECTORY (vbd console )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 RM (/local/domain/436/backend/vif/438/0 )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 TRANSACTION_END (T )
obj: DESTROY transaction 0x20220670
io: OUT 0x202d8590 (d438) 20251008 09:58:36 WATCH_EVENT (device/vif/0 FFFFFFFF8231CB00 )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 TRANSACTION_END (OK )
io: OUT 0x202d8590 (d438) 20251008 09:58:36 WATCH_EVENT (device/vif FFFFFFFF8231CB00 )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 TRANSACTION_END (OK )
obj: DESTROY connection 0x201ff0b0
obj: CREATE connection 0x201ff0b0
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/local/domain/0/name )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 READ (Domain-0)
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 READ (Domain-0)
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/local/domain/1/name )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 READ (sys-net)
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 READ (sys-net)
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/local/domain/2/name )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 READ (sys-net-dm)
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 READ (sys-net-dm)
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/local/domain/3/name )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 READ (sys-usb)
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 READ (sys-usb)
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/local/domain/4/name )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 READ (sys-usb-dm)
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 READ (sys-usb-dm)
io: IN 0x200f62d0 (d0) 20251008 09:58:36 READ (/local/domain/0/memory/hotplug-max )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/local/domain/5/name )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 READ (sys-firewall)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 READ (sys-firewall)
io: IN 0x200f62d0 (d0) 20251008 09:58:36 READ (/local/domain/0/memory/static-max )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/local/domain/6/name )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:36 READ (4194304)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 READ (sys-whonix)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:36 READ (4194304)
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 READ (sys-whonix)
io: IN 0x200f62d0 (d0) 20251008 09:58:36 READ (/local/domain/1/memory/hotplug-max )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/local/domain/436/name )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:36 READ (/local/domain/1/memory/static-max )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/local/domain/437/name )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:36 READ (307200)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 READ (test-netvm2)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:36 READ (307200)
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 READ (test-netvm2)
io: IN 0x200f62d0 (d0) 20251008 09:58:36 READ (/local/domain/2/memory/hotplug-max )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/local/domain/438/name )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 READ (vm1)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 READ (vm1)
io: IN 0x200f62d0 (d0) 20251008 09:58:36 READ (/local/domain/2/memory/static-max )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/local/domain/438/name )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:36 READ (147456)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 READ (vm1)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:36 READ (147456)
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 READ (vm1)
io: IN 0x200f62d0 (d0) 20251008 09:58:36 READ (/local/domain/3/memory/hotplug-max )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/local/domain/0/name )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 READ (Domain-0)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 READ (Domain-0)
io: IN 0x200f62d0 (d0) 20251008 09:58:36 READ (/local/domain/3/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:36 READ (307200)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:36 READ (307200)
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/local/domain/1/name )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 READ (sys-net)
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 READ (sys-net)
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/local/domain/2/name )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 READ (sys-net-dm)
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 READ (sys-net-dm)
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/local/domain/3/name )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:36 READ (sys-usb)
io: IN 0x200f62d0 (d0) 20251008 09:58:36 READ (/local/domain/4/memory/hotplug-max )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:36 READ (sys-usb)
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:36 ERROR (ENOENT )
io: IN 0x201ff0b0 (d0) 20251008 09:58:36 READ (/local/domain/4/name )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 READ (sys-usb-dm)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/4/memory/static-max )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 READ (sys-usb-dm)
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (147456)
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 READ (/local/domain/5/name )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (147456)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 READ (sys-firewall)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/5/memory/hotplug-max )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 READ (sys-firewall)
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 READ (/local/domain/6/name )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 READ (sys-whonix)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/5/memory/static-max )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 READ (sys-whonix)
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (861190)
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 READ (/local/domain/436/name )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (861190)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/6/memory/hotplug-max )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 READ (/local/domain/437/name )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 READ (test-netvm2)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/6/memory/static-max )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 READ (test-netvm2)
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (1028248)
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 READ (/libxl/438/type )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (1028248)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 READ (pvh)
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 READ (pvh)
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 DIRECTORY (/libxl/438/device/vif )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/437/memory/hotplug-max )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 READ (/local/domain/438/image/device-model-pid )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/437/memory/static-max )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 READ (/local/domain/438/image/device-model-domid )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (845497)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (845497)
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/438/memory/hotplug-max )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 READ (domid )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 READ (0)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 READ (0)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/438/memory/static-max )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 TRANSACTION_START ( )
obj: CREATE transaction 0x20303600
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (502346)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 TRANSACTION_START (1 )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (502346)
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 TRANSACTION_START (1 )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 READ (/libxl/438/device/vif/0 )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 GET_DOMAIN_PATH (438 )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 GET_DOMAIN_PATH (/local/domain/438 )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 GET_DOMAIN_PATH (/local/domain/438 )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 GET_DOMAIN_PATH (437 )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 GET_DOMAIN_PATH (/local/domain/437 )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 GET_DOMAIN_PATH (/local/domain/437 )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 RM (/libxl/438/device/vif/0 )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (/libxl/438/device/vif/0/frontend /local/domain/438/device/vif/0)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (/libxl/438/device/vif/0/backend /local/domain/437/backend/vif/438/0)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 RM (/local/domain/438/device/vif/0 )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 MKDIR (/local/domain/438/device/vif/0 )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 MKDIR (OK )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 MKDIR (OK )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 SET_PERMS (/local/domain/438/device/vif/0 n438 r437 )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 SET_PERMS (OK )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 SET_PERMS (OK )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (/local/domain/438/device/vif/0/backend /local/domain/437/backend/vif/438/0)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (/local/domain/438/device/vif/0/backend-id 437)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 SET_PERMS (/local/domain/438/device/vif/0/backend-id n438 r437 )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 SET_PERMS (OK )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 SET_PERMS (OK )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (/local/domain/438/device/vif/0/state 1)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 SET_PERMS (/local/domain/438/device/vif/0/state n438 r437 )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 SET_PERMS (OK )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 SET_PERMS (OK )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (/local/domain/438/device/vif/0/handle 0)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 SET_PERMS (/local/domain/438/device/vif/0/handle n438 r437 )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 SET_PERMS (OK )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 SET_PERMS (OK )
io: IN 0x200f7390 (d0) 20251008 09:58:37 WRITE (memory/meminfo 1460520)
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (/local/domain/438/device/vif/0/mac 00:16:3e:5e:6c:00)
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:37 WATCH_EVENT (/local/domain/0/memory/meminfo 128009996322768 )
io: OUT(START) 0x200f7390 (d0) 20251008 09:58:37 WRITE (OK )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:37 WATCH_EVENT (/local/domain/0/memory/meminfo 128009996322768 )
io: OUT(END) 0x200f7390 (d0) 20251008 09:58:37 WRITE (OK )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 SET_PERMS (/local/domain/438/device/vif/0/mac n438 r437 )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 SET_PERMS (OK )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 SET_PERMS (OK )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (/local/domain/438/device/vif/0/trusted 1)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 SET_PERMS (/local/domain/438/device/vif/0/trusted n438 r437 )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 SET_PERMS (OK )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 SET_PERMS (OK )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (/local/domain/438/device/vif/0/mtu 1500)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 SET_PERMS (/local/domain/438/device/vif/0/mtu n437 r438 )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 SET_PERMS (OK )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 SET_PERMS (OK )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 RM (/local/domain/437/backend/vif/438/0 )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 MKDIR (/local/domain/437/backend/vif/438/0 )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 MKDIR (OK )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 MKDIR (OK )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 SET_PERMS (/local/domain/437/backend/vif/438/0 n437 r438 )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 SET_PERMS (OK )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 SET_PERMS (OK )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (/local/domain/437/backend/vif/438/0/frontend /local/domain/438/device/vif/0)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (/local/domain/437/backend/vif/438/0/frontend-id 438)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (/local/domain/437/backend/vif/438/0/online 1)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (/local/domain/437/backend/vif/438/0/state 1)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (/local/domain/437/backend/vif/438/0/script /etc/xen/scripts/vif-route-qubes)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (/local/domain/437/backend/vif/438/0/mac 00:16:3e:5e:6c:00)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (/local/domain/437/backend/vif/438/0/ip 10.137.0.19)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (/local/domain/437/backend/vif/438/0/bridge xenbr0)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (/local/domain/437/backend/vif/438/0/handle 0)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (/local/domain/437/backend/vif/438/0/type vif)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (/local/domain/437/backend/vif/438/0/hotplug-status )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (/libxl/438/device/vif/0/frontend-id 438)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (/libxl/438/device/vif/0/online 1)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (/libxl/438/device/vif/0/state 1)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (/libxl/438/device/vif/0/script /etc/xen/scripts/vif-route-qubes)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/0/memory/hotplug-max )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (/libxl/438/device/vif/0/mac 00:16:3e:5e:6c:00)
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/0/memory/static-max )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (/libxl/438/device/vif/0/ip 10.137.0.19)
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (4194304)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (4194304)
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (/libxl/438/device/vif/0/bridge xenbr0)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/1/memory/hotplug-max )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (/libxl/438/device/vif/0/handle 0)
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/1/memory/static-max )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (/libxl/438/device/vif/0/type vif)
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (307200)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (307200)
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/2/memory/hotplug-max )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (/libxl/438/device/vif/0/hotplug-status )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 WRITE (OK )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 TRANSACTION_END (T )
obj: DESTROY transaction 0x20303600
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/2/memory/static-max )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (backend/vif/438/0 FFFFFFFF8231C840 )
io: OUT(START) 0x202d8590 (d438) 20251008 09:58:37 WATCH_EVENT (device/vif/0 FFFFFFFF8231CB00 )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 TRANSACTION_END (OK )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (147456)
io: IN 0x202cc990 (d437) 20251008 09:58:37 DIRECTORY (backend/vif/438/0 )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (/local/domain/437/backend/vif/438/0 FFFF888005F3EA30 )
io: OUT(END) 0x202d8590 (d438) 20251008 09:58:37 WATCH_EVENT (device/vif/0 FFFFFFFF8231CB00 )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 TRANSACTION_END (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (147456)
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (backend/vif/438/0/frontend FFFFFFFF8231C840 )
io: OUT 0x202d8590 (d438) 20251008 09:58:37 WATCH_EVENT (device/vif/0/backend FFFFFFFF8231CB00 )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/3/memory/hotplug-max )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (/local/domain/437/backend/vif/438/0/frontend FFFF888005F3EA30 )
io: OUT 0x202d8590 (d438) 20251008 09:58:37 WATCH_EVENT (device/vif/0/backend-id FFFFFFFF8231CB00 )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 GET_DOMAIN_PATH (437 )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (backend/vif/438/0/frontend-id FFFFFFFF8231C840 )
io: OUT 0x202d8590 (d438) 20251008 09:58:37 WATCH_EVENT (device/vif/0/state FFFFFFFF8231CB00 )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 GET_DOMAIN_PATH (/local/domain/437 )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: OUT(START) 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (/local/domain/437/backend/vif/438/0/frontend-id FFFF888005F3EA30 )
io: OUT 0x202d8590 (d438) 20251008 09:58:37 WATCH_EVENT (device/vif/0/handle FFFFFFFF8231CB00 )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 GET_DOMAIN_PATH (/local/domain/437 )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/3/memory/static-max )
io: OUT(END) 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (/local/domain/437/backend/vif/438/0/frontend-id FFFF888005F3EA30 )
io: OUT 0x202d8590 (d438) 20251008 09:58:37 WATCH_EVENT (device/vif/0/mac FFFFFFFF8231CB00 )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 WATCH (/local/domain/437/backend/vif/438/0/state 3/0 )
obj: CREATE watch 0x202764e0
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (307200)
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (backend/vif/438/0/online FFFFFFFF8231C840 )
io: OUT 0x202d8590 (d438) 20251008 09:58:37 WATCH_EVENT (device/vif/0/trusted FFFFFFFF8231CB00 )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 WATCH (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (307200)
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (/local/domain/437/backend/vif/438/0/online FFFF888005F3EA30 )
io: OUT 0x202d8590 (d438) 20251008 09:58:37 WATCH_EVENT (device/vif/0/mtu FFFFFFFF8231CB00 )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 WATCH (OK )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/4/memory/hotplug-max )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (backend/vif/438/0/state FFFFFFFF8231C840 )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 WATCH_EVENT (/local/domain/437/backend/vif/438/0/state 3/0 )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (/local/domain/437/backend/vif/438/0/state FFFF888005F3EA30 )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 WATCH_EVENT (/local/domain/437/backend/vif/438/0/state 3/0 )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (backend/vif/438/0/script FFFFFFFF8231C840 )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/4/memory/static-max )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (/local/domain/437/backend/vif/438/0/script FFFF888005F3EA30 )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (147456)
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (backend/vif/438/0/mac FFFFFFFF8231C840 )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (147456)
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (/local/domain/437/backend/vif/438/0/mac FFFF888005F3EA30 )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 READ (/local/domain/437/backend/vif/438/0/state )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/5/memory/hotplug-max )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (backend/vif/438/0/ip FFFFFFFF8231C840 )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 READ (1)
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (/local/domain/437/backend/vif/438/0/ip FFFF888005F3EA30 )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 READ (1)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (backend/vif/438/0/bridge FFFFFFFF8231C840 )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/5/memory/static-max )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (/local/domain/437/backend/vif/438/0/bridge FFFF888005F3EA30 )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (861190)
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (backend/vif/438/0/handle FFFFFFFF8231C840 )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (861190)
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (/local/domain/437/backend/vif/438/0/handle FFFF888005F3EA30 )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/6/memory/hotplug-max )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (backend/vif/438/0/type FFFFFFFF8231C840 )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: OUT(START) 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (/local/domain/437/backend/vif/438/0/type FFFF888005F3EA30 )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: OUT(END) 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (/local/domain/437/backend/vif/438/0/type FFFF888005F3EA30 )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/6/memory/static-max )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (backend/vif/438/0/hotplug-status FFFFFFFF8231C840 )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (1028248)
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (/local/domain/437/backend/vif/438/0/hotplug-status FFFF888005F3EA30 )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (1028248)
io: OUT 0x202cc990 (d437) 20251008 09:58:37 DIRECTORY (frontend frontend-id online state script mac ip bridge handle type hotplug-status )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/437/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/437/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (845497)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (845497)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/438/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/438/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (502346)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (502346)
io: IN 0x202cc990 (d437) 20251008 09:58:37 READ (backend/vif/438/0/state )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 READ (1)
io: IN 0x202cc990 (d437) 20251008 09:58:37 READ (backend/vif/438/0/frontend-id )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 READ (438)
io: IN 0x202cc990 (d437) 20251008 09:58:37 READ (backend/vif/438/0/frontend )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 READ (/local/domain/438/device/vif/0)
io: IN 0x202cc990 (d437) 20251008 09:58:37 DIRECTORY (/local/domain/438/device/vif/0 )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 DIRECTORY (backend backend-id state handle mac trusted mtu )
io: IN 0x202cc990 (d437) 20251008 09:58:37 READ (backend/vif/438/0/frontend-id )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 READ (438)
io: IN 0x202cc990 (d437) 20251008 09:58:37 READ (backend/vif/438/0/frontend )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 READ (/local/domain/438/device/vif/0)
io: IN 0x202cc990 (d437) 20251008 09:58:37 DIRECTORY (/local/domain/438/device/vif/0 )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 DIRECTORY (backend backend-id state handle mac trusted mtu )
io: IN 0x202cc990 (d437) 20251008 09:58:37 TRANSACTION_START ( )
obj: CREATE transaction 0x2038cab0
io: OUT 0x202cc990 (d437) 20251008 09:58:37 TRANSACTION_START (30 )
io: IN 0x202cc990 (d437) 20251008 09:58:37 WRITE (backend/vif/438/0/feature-sg 1)
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WRITE (OK )
io: IN 0x202cc990 (d437) 20251008 09:58:37 WRITE (backend/vif/438/0/feature-gso-tcpv4 1)
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WRITE (OK )
io: IN 0x202cc990 (d437) 20251008 09:58:37 WRITE (backend/vif/438/0/feature-gso-tcpv6 1)
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WRITE (OK )
io: IN 0x202cc990 (d437) 20251008 09:58:37 WRITE (backend/vif/438/0/feature-ipv6-csum-offload 1)
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WRITE (OK )
io: IN 0x202cc990 (d437) 20251008 09:58:37 WRITE (backend/vif/438/0/feature-rx-copy 1)
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WRITE (OK )
io: IN 0x202cc990 (d437) 20251008 09:58:37 WRITE (backend/vif/438/0/feature-xdp-headroom 1)
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WRITE (OK )
io: IN 0x202cc990 (d437) 20251008 09:58:37 WRITE (backend/vif/438/0/feature-rx-flip 0)
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WRITE (OK )
io: IN 0x202cc990 (d437) 20251008 09:58:37 WRITE (backend/vif/438/0/feature-multicast-control 1)
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WRITE (OK )
io: IN 0x202cc990 (d437) 20251008 09:58:37 WRITE (backend/vif/438/0/feature-dynamic-multicast-control 1)
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WRITE (OK )
io: IN 0x202cc990 (d437) 20251008 09:58:37 TRANSACTION_END (T )
obj: DESTROY transaction 0x2038cab0
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (backend/vif/438/0/feature-sg FFFFFFFF8231C840 )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (/local/domain/437/backend/vif/438/0/feature-sg FFFF888005F3EA30 )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (backend/vif/438/0/feature-gso-tcpv4 FFFFFFFF8231C840 )
io: OUT(START) 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (/local/domain/437/backend/vif/438/0/feature-gso-tcpv4 FFFF888005F3EA30 )
io: OUT(END) 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (/local/domain/437/backend/vif/438/0/feature-gso-tcpv4 FFFF888005F3EA30 )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (backend/vif/438/0/feature-gso-tcpv6 FFFFFFFF8231C840 )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (/local/domain/437/backend/vif/438/0/feature-gso-tcpv6 FFFF888005F3EA30 )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (backend/vif/438/0/feature-ipv6-csum-offload FFFFFFFF8231C840 )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (/local/domain/437/backend/vif/438/0/feature-ipv6-csum-offload FFFF888005F3EA30 )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (backend/vif/438/0/feature-rx-copy FFFFFFFF8231C840 )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (/local/domain/437/backend/vif/438/0/feature-rx-copy FFFF888005F3EA30 )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (backend/vif/438/0/feature-xdp-headroom FFFFFFFF8231C840 )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (/local/domain/437/backend/vif/438/0/feature-xdp-headroom FFFF888005F3EA30 )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (backend/vif/438/0/feature-rx-flip FFFFFFFF8231C840 )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (/local/domain/437/backend/vif/438/0/feature-rx-flip FFFF888005F3EA30 )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (backend/vif/438/0/feature-multicast-control FFFFFFFF8231C840 )
io: IN 0x200f7390 (d0) 20251008 09:58:37 WRITE (memory/meminfo 1619720)
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (/local/domain/437/backend/vif/438/0/feature-multicast-control FFFF888005F3EA30 )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:37 WATCH_EVENT (/local/domain/0/memory/meminfo 128009996322768 )
io: OUT(START) 0x200f7390 (d0) 20251008 09:58:37 WRITE (OK )
io: OUT(START) 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (backend/vif/438/0/feature-dynamic-multicast-control FFFFFFFF8231C840 )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:37 WATCH_EVENT (/local/domain/0/memory/meminfo 128009996322768 )
io: OUT(END) 0x200f7390 (d0) 20251008 09:58:37 WRITE (OK )
io: OUT(END) 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (backend/vif/438/0/feature-dynamic-multicast-control FFFFFFFF8231C840 )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (/local/domain/437/backend/vif/438/0/feature-dynamic-multicast-control FFFF888005F3EA30 )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 TRANSACTION_END (OK )
io: IN 0x202cc990 (d437) 20251008 09:58:37 WRITE (backend/vif/438/0/feature-split-event-channels 1)
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (backend/vif/438/0/feature-split-event-channels FFFFFFFF8231C840 )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (/local/domain/437/backend/vif/438/0/feature-split-event-channels FFFF888005F3EA30 )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WRITE (OK )
io: IN 0x202cc990 (d437) 20251008 09:58:37 WRITE (backend/vif/438/0/multi-queue-max-queues 2)
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (backend/vif/438/0/multi-queue-max-queues FFFFFFFF8231C840 )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (/local/domain/437/backend/vif/438/0/multi-queue-max-queues FFFF888005F3EA30 )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WRITE (OK )
io: IN 0x202cc990 (d437) 20251008 09:58:37 WRITE (backend/vif/438/0/feature-ctrl-ring 1)
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (backend/vif/438/0/feature-ctrl-ring FFFFFFFF8231C840 )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (/local/domain/437/backend/vif/438/0/feature-ctrl-ring FFFF888005F3EA30 )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WRITE (OK )
io: IN 0x202cc990 (d437) 20251008 09:58:37 TRANSACTION_START ( )
obj: CREATE transaction 0x202c1fe0
io: OUT 0x202cc990 (d437) 20251008 09:58:37 TRANSACTION_START (31 )
io: IN 0x202cc990 (d437) 20251008 09:58:37 READ (backend/vif/438/0/state )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 READ (1)
io: IN 0x202cc990 (d437) 20251008 09:58:37 WRITE (backend/vif/438/0/state 2)
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WRITE (OK )
io: IN 0x202cc990 (d437) 20251008 09:58:37 TRANSACTION_END (T )
obj: DESTROY transaction 0x202c1fe0
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (backend/vif/438/0/state FFFFFFFF8231C840 )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (/local/domain/437/backend/vif/438/0/state FFFF888005F3EA30 )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 WATCH_EVENT (/local/domain/437/backend/vif/438/0/state 3/0 )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 TRANSACTION_END (OK )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 WATCH_EVENT (/local/domain/437/backend/vif/438/0/state 3/0 )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 READ (/local/domain/437/backend/vif/438/0/state )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 READ (2)
io: IN 0x202cc990 (d437) 20251008 09:58:37 READ (backend/vif/438/0/script )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 READ (/etc/xen/scripts/vif-route-qubes)
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 READ (2)
io: IN 0x202cc990 (d437) 20251008 09:58:37 READ (backend/vif/438/0/handle )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 READ (0)
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 UNWATCH (/local/domain/437/backend/vif/438/0/state 3/0 )
obj: DESTROY watch 0x202764e0
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 UNWATCH (OK )
obj: CREATE connection 0x202b3e50
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 UNWATCH (OK )
io: IN 0x202cc990 (d437) 20251008 09:58:37 WATCH (/local/domain/438/device/vif/0/state FFFF8880049FFC20 )
obj: CREATE watch 0x2034c470
io: OUT(START) 0x202cc990 (d437) 20251008 09:58:37 WATCH (OK )
io: IN 0x202b3e50 (d0) 20251008 09:58:37 WATCH (domid domid )
obj: CREATE watch 0x202c2860
io: OUT(END) 0x202cc990 (d437) 20251008 09:58:37 WATCH (OK )
io: OUT(START) 0x202b3e50 (d0) 20251008 09:58:37 WATCH (OK )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (/local/domain/438/device/vif/0/state FFFF8880049FFC20 )
io: OUT(END) 0x202b3e50 (d0) 20251008 09:58:37 WATCH (OK )
io: OUT(START) 0x202b3e50 (d0) 20251008 09:58:37 WATCH_EVENT (domid domid )
io: OUT(END) 0x202b3e50 (d0) 20251008 09:58:37 WATCH_EVENT (domid domid )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 GET_DOMAIN_PATH (437 )
io: IN 0x202b3e50 (d0) 20251008 09:58:37 WATCH (@releaseDomain release )
obj: CREATE watch 0x202b56e0
io: IN 0x202cc990 (d437) 20251008 09:58:37 DIRECTORY (backend/vif/438/0/frontend )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 DIRECTORY ()
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 GET_DOMAIN_PATH (/local/domain/437 )
io: OUT(START) 0x202b3e50 (d0) 20251008 09:58:37 WATCH (OK )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 GET_DOMAIN_PATH (/local/domain/437 )
io: OUT(END) 0x202b3e50 (d0) 20251008 09:58:37 WATCH (OK )
io: IN 0x202b3e50 (d0) 20251008 09:58:37 READ (domid )
io: OUT(START) 0x202b3e50 (d0) 20251008 09:58:37 WATCH_EVENT (@releaseDomain release )
io: OUT(END) 0x202b3e50 (d0) 20251008 09:58:37 WATCH_EVENT (@releaseDomain release )
io: OUT(START) 0x202b3e50 (d0) 20251008 09:58:37 READ (0)
io: OUT(END) 0x202b3e50 (d0) 20251008 09:58:37 READ (0)
io: IN 0x202b3e50 (d0) 20251008 09:58:37 WATCH (/local/domain/436/data/vchan/0/6000/event-channel /local/domain/436/data/vchan/0/6000/event-channel )
obj: CREATE watch 0x20329190
io: IN 0x202cc990 (d437) 20251008 09:58:37 DIRECTORY (backend/vif/438/0/frontend-id )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 DIRECTORY ()
io: OUT(START) 0x202b3e50 (d0) 20251008 09:58:37 WATCH (OK )
io: OUT(END) 0x202b3e50 (d0) 20251008 09:58:37 WATCH (OK )
io: IN 0x202b3e50 (d0) 20251008 09:58:37 READ (/local/domain/436/data/vchan/0/6000/event-channel )
io: OUT(START) 0x202b3e50 (d0) 20251008 09:58:37 WATCH_EVENT (/local/domain/436/data/vchan/0/6000/event-channel /local/domain/436/data/vchan/0/6000/event-channel )
io: OUT(END) 0x202b3e50 (d0) 20251008 09:58:37 WATCH_EVENT (/local/domain/436/data/vchan/0/6000/event-channel /local/domain/436/data/vchan/0/6000/event-channel )
io: OUT(START) 0x202b3e50 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: IN 0x202cc990 (d437) 20251008 09:58:37 DIRECTORY (backend/vif/438/0/online )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 DIRECTORY ()
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 READ (domid )
io: OUT(END) 0x202b3e50 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 READ (0)
obj: DESTROY watch 0x202c2860
obj: DESTROY watch 0x202b56e0
obj: DESTROY watch 0x20329190
obj: DESTROY connection 0x202b3e50
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 READ (0)
obj: DESTROY connection 0x201ff0b0
io: IN 0x202cc990 (d437) 20251008 09:58:37 DIRECTORY (backend/vif/438/0/state )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 DIRECTORY ()
io: IN 0x202cc990 (d437) 20251008 09:58:37 READ (/local/domain/437/backend/vif/438/0/state )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 READ (2)
io: IN 0x202cc990 (d437) 20251008 09:58:37 DIRECTORY (backend/vif/438/0/script )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 DIRECTORY ()
io: IN 0x202cc990 (d437) 20251008 09:58:37 READ (/local/domain/437/backend/vif/438/0/online )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 READ (1)
io: IN 0x202cc990 (d437) 20251008 09:58:37 DIRECTORY (backend/vif/438/0/mac )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 DIRECTORY ()
io: IN 0x202cc990 (d437) 20251008 09:58:37 GET_DOMAIN_PATH (437 )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 GET_DOMAIN_PATH (/local/domain/437 )
io: IN 0x202cc990 (d437) 20251008 09:58:37 DIRECTORY (backend/vif/438/0/ip )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 DIRECTORY ()
obj: CREATE connection 0x201ff0b0
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 CONTROL (logfile /var/tmp/xs-trace-2025-10-08T09:57:31-04:00-unpause )

--EOffPDlDNkDEvIRD
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="xs-trace-2025-10-08T09:57:31-04:00-unpause"


***
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 CONTROL (OK )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 CONTROL (OK )
obj: DESTROY connection 0x201ff0b0
io: IN 0x202cc990 (d437) 20251008 09:58:37 DIRECTORY (backend/vif/438/0/bridge )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 DIRECTORY ()
io: IN 0x202cc990 (d437) 20251008 09:58:37 GET_DOMAIN_PATH (437 )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 GET_DOMAIN_PATH (/local/domain/437 )
io: IN 0x202cc990 (d437) 20251008 09:58:37 DIRECTORY (backend/vif/438/0/handle )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 DIRECTORY ()
io: IN 0x202cc990 (d437) 20251008 09:58:37 DIRECTORY (backend/vif/438/0/type )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 DIRECTORY ()
io: IN 0x202cc990 (d437) 20251008 09:58:37 WATCH (/local/domain/437/backend/vif/438/0/state FFFF888005F3E670 )
obj: CREATE watch 0x203731c0
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WATCH (OK )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (/local/domain/437/backend/vif/438/0/state FFFF888005F3E670 )
io: IN 0x202cc990 (d437) 20251008 09:58:37 DIRECTORY (backend/vif/438/0/hotplug-status )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 DIRECTORY ()
io: IN 0x202cc990 (d437) 20251008 09:58:37 DIRECTORY (backend/vif/438/0/feature-sg )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 DIRECTORY ()
io: IN 0x202cc990 (d437) 20251008 09:58:37 READ (/local/domain/437/backend/vif/438/0/state )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 READ (2)
io: IN 0x202cc990 (d437) 20251008 09:58:37 DIRECTORY (backend/vif/438/0/feature-gso-tcpv4 )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 DIRECTORY ()
io: IN 0x202cc990 (d437) 20251008 09:58:37 READ (/local/domain/437/backend/vif/438/0/online )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 READ (1)
io: IN 0x202cc990 (d437) 20251008 09:58:37 DIRECTORY (backend/vif/438/0/feature-gso-tcpv6 )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 DIRECTORY ()
io: IN 0x202cc990 (d437) 20251008 09:58:37 DIRECTORY (backend/vif/438/0/feature-ipv6-csum-offload )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 DIRECTORY ()
io: IN 0x202cc990 (d437) 20251008 09:58:37 DIRECTORY (backend/vif/438/0/feature-rx-copy )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 DIRECTORY ()
io: IN 0x202cc990 (d437) 20251008 09:58:37 DIRECTORY (backend/vif/438/0/feature-xdp-headroom )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 DIRECTORY ()
io: IN 0x202cc990 (d437) 20251008 09:58:37 DIRECTORY (backend/vif/438/0/feature-rx-flip )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 DIRECTORY ()
io: IN 0x202cc990 (d437) 20251008 09:58:37 DIRECTORY (backend/vif/438/0/feature-multicast-control )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 DIRECTORY ()
obj: CREATE connection 0x201ff0b0
io: IN 0x202cc990 (d437) 20251008 09:58:37 DIRECTORY (backend/vif/438/0/feature-dynamic-multicast-control )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 DIRECTORY ()
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/0/memory/hotplug-max )
io: IN 0x202cc990 (d437) 20251008 09:58:37 DIRECTORY (backend/vif/438/0/feature-split-event-channels )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 DIRECTORY ()
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 READ (/local/domain/0/name )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 READ (Domain-0)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 READ (Domain-0)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/0/memory/static-max )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 READ (/local/domain/1/name )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (4194304)
io: IN 0x202cc990 (d437) 20251008 09:58:37 DIRECTORY (backend/vif/438/0/multi-queue-max-queues )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 DIRECTORY ()
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 READ (sys-net)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (4194304)
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 READ (sys-net)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/1/memory/hotplug-max )
io: IN 0x202cc990 (d437) 20251008 09:58:37 DIRECTORY (backend/vif/438/0/feature-ctrl-ring )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 DIRECTORY ()
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 READ (/local/domain/2/name )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: IN 0x202cc990 (d437) 20251008 09:58:37 DIRECTORY (backend/vif/438/0/state )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 DIRECTORY ()
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 READ (sys-net-dm)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 READ (sys-net-dm)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/1/memory/static-max )
io: IN 0x202cc990 (d437) 20251008 09:58:37 READ (/local/domain/438/device/vif/0/state )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 READ (1)
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 READ (/local/domain/3/name )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (307200)
io: IN 0x202cc990 (d437) 20251008 09:58:37 READ (/local/domain/437/backend/vif/438/0/state )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 READ (2)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 READ (sys-usb)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (307200)
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 READ (sys-usb)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/2/memory/hotplug-max )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 READ (/local/domain/4/name )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: IN 0x202cc990 (d437) 20251008 09:58:37 READ (/local/domain/437/backend/vif/438/0/online )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 READ (1)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 READ (sys-usb-dm)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 READ (sys-usb-dm)
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 READ (/local/domain/5/name )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 READ (sys-firewall)
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 READ (sys-firewall)
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 READ (/local/domain/6/name )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/2/memory/static-max )
io: IN 0x202cc990 (d437) 20251008 09:58:37 READ (/local/domain/437/backend/vif/438/0/state )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 READ (2)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 READ (sys-whonix)
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (147456)
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 READ (sys-whonix)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (147456)
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 READ (/local/domain/436/name )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/3/memory/hotplug-max )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 READ (/local/domain/437/name )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/3/memory/static-max )
io: IN 0x202cc990 (d437) 20251008 09:58:37 UNWATCH (/local/domain/437/backend/vif/438/0/state FFFF888005F3E670 )
obj: DESTROY watch 0x203731c0
io: OUT 0x202cc990 (d437) 20251008 09:58:37 UNWATCH (OK )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 READ (test-netvm2)
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (307200)
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 READ (test-netvm2)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (307200)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/4/memory/hotplug-max )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 READ (/local/domain/438/name )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 READ (vm1)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 READ (vm1)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/4/memory/static-max )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 READ (/local/domain/438/name )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (147456)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 READ (vm1)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (147456)
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 READ (vm1)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/5/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 READ (/libxl/438/type )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 READ (pvh)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/5/memory/static-max )
io: IN 0x202cc990 (d437) 20251008 09:58:37 GET_DOMAIN_PATH (437 )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 GET_DOMAIN_PATH (/local/domain/437 )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 READ (pvh)
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (861190)
obj: DESTROY connection 0x201ff0b0
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (861190)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/6/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/6/memory/static-max )
io: IN 0x202cc990 (d437) 20251008 09:58:37 READ (domid )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 READ (437)
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (1028248)
io: IN 0x202d8590 (d438) 20251008 09:58:37 READ (/local/domain/436/backend/vif/438/0/state )
io: OUT 0x202d8590 (d438) 20251008 09:58:37 ERROR (EACCES )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (1028248)
io: IN 0x202cc990 (d437) 20251008 09:58:37 GET_DOMAIN_PATH (438 )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 GET_DOMAIN_PATH (/local/domain/438 )
io: IN 0x202d8590 (d438) 20251008 09:58:37 DIRECTORY (device/vif/0/mtu )
io: OUT 0x202d8590 (d438) 20251008 09:58:37 DIRECTORY ()
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/437/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/437/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (845497)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (845497)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/438/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/438/memory/static-max )
io: IN 0x202cc990 (d437) 20251008 09:58:37 READ (/local/domain/438/image/device-model-domid )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 ERROR (EACCES )
io: IN 0x202d8590 (d438) 20251008 09:58:37 DIRECTORY (device/vif/0 )
io: OUT 0x202d8590 (d438) 20251008 09:58:37 DIRECTORY (backend backend-id state handle mac trusted mtu )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (502346)
io: IN 0x202d8590 (d438) 20251008 09:58:37 DIRECTORY (device/vif/0 )
io: OUT 0x202d8590 (d438) 20251008 09:58:37 DIRECTORY (backend backend-id state handle mac trusted mtu )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (502346)
io: IN 0x202cc990 (d437) 20251008 09:58:37 GET_DOMAIN_PATH (437 )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 GET_DOMAIN_PATH (/local/domain/437 )
io: IN 0x202d8590 (d438) 20251008 09:58:37 DIRECTORY (device/vif/0/backend )
io: OUT 0x202d8590 (d438) 20251008 09:58:37 DIRECTORY ()
io: IN 0x200f62d0 (d0) 20251008 09:58:37 WRITE (/local/domain/438/memory/target 547256)
io: IN 0x202d8590 (d438) 20251008 09:58:37 DIRECTORY (device/vif/0/backend-id )
io: OUT 0x202d8590 (d438) 20251008 09:58:37 WATCH_EVENT (memory/target FFFFFFFF8231D1A0 )
obj: CREATE connection 0x201ff0b0
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 WRITE (OK )
io: IN 0x202cc990 (d437) 20251008 09:58:37 READ (/local/domain/437/backend/vif/438/0/script )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 READ (/etc/xen/scripts/vif-route-qubes)
io: OUT 0x202d8590 (d438) 20251008 09:58:37 DIRECTORY ()
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 WRITE (OK )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 WATCH (domid domid )
obj: CREATE watch 0x202bd410
io: IN 0x200f62d0 (d0) 20251008 09:58:37 WRITE (/local/domain/438/memory/static-max 563640)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 WATCH (OK )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 WRITE (OK )
io: IN 0x202cc990 (d437) 20251008 09:58:37 GET_DOMAIN_PATH (437 )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 GET_DOMAIN_PATH (/local/domain/437 )
io: IN 0x202d8590 (d438) 20251008 09:58:37 DIRECTORY (device/vif/0/state )
io: OUT 0x202d8590 (d438) 20251008 09:58:37 DIRECTORY ()
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 WATCH (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 WRITE (OK )
io: IN 0x202cc990 (d437) 20251008 09:58:37 READ (/local/domain/437/backend/vif/438/0/type )
io: OUT(START) 0x202cc990 (d437) 20251008 09:58:37 READ (vif)
io: IN 0x202d8590 (d438) 20251008 09:58:37 READ (domid )
io: OUT 0x202d8590 (d438) 20251008 09:58:37 READ (438)
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 WATCH_EVENT (domid domid )
obj: CREATE connection 0x202b3e50
io: IN 0x200f61b0 (d0) 20251008 09:58:37 READ (/local/domain/0/memory/meminfo )
io: OUT(END) 0x202cc990 (d437) 20251008 09:58:37 READ (vif)
io: IN 0x202d8590 (d438) 20251008 09:58:37 DIRECTORY (device/vif/0/handle )
io: OUT 0x202d8590 (d438) 20251008 09:58:37 DIRECTORY ()
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 WATCH_EVENT (domid domid )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:37 READ (1619720)
io: IN 0x202d8590 (d438) 20251008 09:58:37 TRANSACTION_START ( )
obj: CREATE transaction 0x202093c0
io: OUT 0x202d8590 (d438) 20251008 09:58:37 TRANSACTION_START (23 )
io: IN 0x202b3e50 (d0) 20251008 09:58:37 READ (domid )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:37 READ (1619720)
io: OUT(START) 0x202b3e50 (d0) 20251008 09:58:37 READ (0)
io: OUT(END) 0x202b3e50 (d0) 20251008 09:58:37 READ (0)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/0/memory/hotplug-max )
io: IN 0x202cc990 (d437) 20251008 09:58:37 GET_DOMAIN_PATH (437 )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 GET_DOMAIN_PATH (/local/domain/437 )
io: IN 0x202d8590 (d438) 20251008 09:58:37 DIRECTORY (device/vif/0/mac )
io: OUT 0x202d8590 (d438) 20251008 09:58:37 DIRECTORY ()
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 WATCH (@releaseDomain release )
obj: CREATE watch 0x202c2860
io: IN 0x202b3e50 (d0) 20251008 09:58:37 TRANSACTION_START ( )
obj: CREATE transaction 0x20210be0
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: IN 0x202d8590 (d438) 20251008 09:58:37 WRITE (data/vchan/0/513/ring-ref 2331)
io: OUT 0x202d8590 (d438) 20251008 09:58:37 WRITE (OK )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 WATCH (OK )
io: OUT(START) 0x202b3e50 (d0) 20251008 09:58:37 TRANSACTION_START (1 )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: IN 0x202cc990 (d437) 20251008 09:58:37 READ (/local/domain/437/backend/vif/438/0/gatewaydev )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 ERROR (ENOENT )
io: IN 0x202d8590 (d438) 20251008 09:58:37 WATCH (domid FFFF888008E817F0 )
obj: CREATE watch 0x202764e0
io: OUT 0x202d8590 (d438) 20251008 09:58:37 WATCH (OK )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 WATCH (OK )
io: OUT(END) 0x202b3e50 (d0) 20251008 09:58:37 TRANSACTION_START (1 )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/0/memory/static-max )
io: IN 0x202cc990 (d437) 20251008 09:58:37 GET_DOMAIN_PATH (437 )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 GET_DOMAIN_PATH (/local/domain/437 )
io: IN 0x202d8590 (d438) 20251008 09:58:37 DIRECTORY (device/vif/0/trusted )
io: OUT 0x202d8590 (d438) 20251008 09:58:37 WATCH_EVENT (domid FFFF888008E817F0 )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 READ (domid )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 WATCH_EVENT (@releaseDomain release )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (4194304)
io: IN 0x202cc990 (d437) 20251008 09:58:37 READ (/local/domain/437/backend/vif/438/0/type )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 READ (vif)
io: IN 0x202d8590 (d438) 20251008 09:58:37 SET_PERMS (data/vchan/0/513/ring-ref n438 r0 )
io: OUT 0x202d8590 (d438) 20251008 09:58:37 DIRECTORY ()
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 WATCH_EVENT (@releaseDomain release )
io: IN 0x202b3e50 (d0) 20251008 09:58:37 WRITE (data/vchan/438/515/ring-ref 364)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (4194304)
io: IN 0x202d8590 (d438) 20251008 09:58:37 WATCH (@releaseDomain FFFF888008E81610 )
obj: CREATE watch 0x20244540
io: OUT 0x202d8590 (d438) 20251008 09:58:37 SET_PERMS (OK )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 READ (0)
io: OUT(START) 0x202b3e50 (d0) 20251008 09:58:37 WRITE (OK )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/1/memory/hotplug-max )
io: IN 0x202d8590 (d438) 20251008 09:58:37 DIRECTORY (device/vif/0/mtu )
io: OUT 0x202d8590 (d438) 20251008 09:58:37 WATCH (OK )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 READ (0)
io: OUT(END) 0x202b3e50 (d0) 20251008 09:58:37 WRITE (OK )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: IN 0x202d8590 (d438) 20251008 09:58:37 WRITE (data/vchan/0/513/event-channel 28)
io: OUT 0x202d8590 (d438) 20251008 09:58:37 WATCH_EVENT (@releaseDomain FFFF888008E81610 )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 WATCH (/local/domain/438/data/vchan/0/513/event-channel /local/domain/438/data/vchan/0/513/event-channel )
obj: CREATE watch 0x203466b0
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: OUT 0x202d8590 (d438) 20251008 09:58:37 DIRECTORY ()
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 WATCH (OK )
io: OUT 0x202d8590 (d438) 20251008 09:58:37 WRITE (OK )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 WATCH (OK )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 WATCH_EVENT (/local/domain/438/data/vchan/0/513/event-channel /local/domain/438/data/vchan/0/513/event-channel )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/1/memory/static-max )
io: IN 0x202d8590 (d438) 20251008 09:58:37 READ (memory/target )
io: OUT 0x202d8590 (d438) 20251008 09:58:37 READ (547256)
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 READ (/local/domain/438/data/vchan/0/513/event-channel )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 WATCH_EVENT (/local/domain/438/data/vchan/0/513/event-channel /local/domain/438/data/vchan/0/513/event-channel )
io: IN 0x202b3e50 (d0) 20251008 09:58:37 SET_PERMS (data/vchan/438/515/ring-ref n0 r438 )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (307200)
io: IN 0x202d8590 (d438) 20251008 09:58:37 SET_PERMS (data/vchan/0/513/event-channel n438 r0 )
io: OUT 0x202d8590 (d438) 20251008 09:58:37 SET_PERMS (OK )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: OUT(START) 0x202b3e50 (d0) 20251008 09:58:37 SET_PERMS (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (307200)
io: IN 0x202d8590 (d438) 20251008 09:58:37 READ (domid )
io: OUT 0x202d8590 (d438) 20251008 09:58:37 READ (438)
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: OUT(END) 0x202b3e50 (d0) 20251008 09:58:37 SET_PERMS (OK )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/2/memory/hotplug-max )
io: IN 0x202d8590 (d438) 20251008 09:58:37 TRANSACTION_END (T )
obj: DESTROY transaction 0x202093c0
io: OUT(START) 0x202d8590 (d438) 20251008 09:58:37 TRANSACTION_END (OK )
io: IN 0x201ff0b0 (d0) 20251008 09:58:37 READ (/local/domain/438/data/vchan/0/513/event-channel )
io: IN 0x202b3e50 (d0) 20251008 09:58:37 WRITE (data/vchan/438/515/event-channel 108)
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: IN 0x202d8590 (d438) 20251008 09:58:37 WATCH (/local/domain/0/data/vchan/438/515/event-channel FFFF888008E810D0 )
obj: CREATE watch 0x2039ca10
io: OUT(END) 0x202d8590 (d438) 20251008 09:58:37 TRANSACTION_END (OK )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 WATCH_EVENT (/local/domain/438/data/vchan/0/513/event-channel /local/domain/438/data/vchan/0/513/event-channel )
io: OUT(START) 0x202b3e50 (d0) 20251008 09:58:37 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: OUT 0x202d8590 (d438) 20251008 09:58:37 WATCH (OK )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 WATCH_EVENT (/local/domain/438/data/vchan/0/513/event-channel /local/domain/438/data/vchan/0/513/event-channel )
io: OUT(END) 0x202b3e50 (d0) 20251008 09:58:37 WRITE (OK )
io: OUT 0x202d8590 (d438) 20251008 09:58:37 WATCH_EVENT (/local/domain/0/data/vchan/438/515/event-channel FFFF888008E810D0 )
io: OUT(START) 0x201ff0b0 (d0) 20251008 09:58:37 READ (28)
io: IN 0x202b3e50 (d0) 20251008 09:58:37 SET_PERMS (data/vchan/438/515/event-channel n0 r438 )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/2/memory/static-max )
io: IN 0x202d8590 (d438) 20251008 09:58:37 READ (/local/domain/0/data/vchan/438/515/event-channel )
io: OUT 0x202d8590 (d438) 20251008 09:58:37 ERROR (EACCES )
io: OUT(END) 0x201ff0b0 (d0) 20251008 09:58:37 READ (28)
io: OUT(START) 0x202b3e50 (d0) 20251008 09:58:37 SET_PERMS (OK )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (147456)
io: OUT(END) 0x202b3e50 (d0) 20251008 09:58:37 SET_PERMS (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (147456)
io: IN 0x202b3e50 (d0) 20251008 09:58:37 TRANSACTION_END (T )
obj: DESTROY transaction 0x20210be0
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/3/memory/hotplug-max )
io: OUT 0x202d8590 (d438) 20251008 09:58:37 WATCH_EVENT (/local/domain/0/data/vchan/438/515/event-channel FFFF888008E810D0 )
io: OUT(START) 0x202b3e50 (d0) 20251008 09:58:37 TRANSACTION_END (OK )
obj: CREATE connection 0x20193940
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
obj: DESTROY watch 0x202bd410
obj: DESTROY watch 0x202c2860
obj: DESTROY watch 0x203466b0
obj: DESTROY connection 0x201ff0b0
io: OUT(END) 0x202b3e50 (d0) 20251008 09:58:37 TRANSACTION_END (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
obj: DESTROY connection 0x202b3e50
io: IN 0x20193940 (d0) 20251008 09:58:37 READ (/local/domain/438/data/vchan/0/513/ring-ref )
io: OUT(START) 0x20193940 (d0) 20251008 09:58:37 READ (2331)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/3/memory/static-max )
io: IN 0x202d8590 (d438) 20251008 09:58:37 READ (/local/domain/0/data/vchan/438/515/event-channel )
io: OUT 0x202d8590 (d438) 20251008 09:58:37 READ (108)
io: OUT(END) 0x20193940 (d0) 20251008 09:58:37 READ (2331)
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (307200)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (307200)
io: IN 0x20193940 (d0) 20251008 09:58:37 READ (/local/domain/438/data/vchan/0/513/event-channel )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/4/memory/hotplug-max )
io: OUT(START) 0x20193940 (d0) 20251008 09:58:37 READ (28)
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: OUT(END) 0x20193940 (d0) 20251008 09:58:37 READ (28)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/4/memory/static-max )
obj: DESTROY connection 0x20193940
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (147456)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (147456)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/5/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/5/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (861190)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (861190)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/6/memory/hotplug-max )
io: IN 0x202d8590 (d438) 20251008 09:58:37 TRANSACTION_START ( )
obj: CREATE transaction 0x20230a10
io: OUT 0x202d8590 (d438) 20251008 09:58:37 TRANSACTION_START (24 )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: IN 0x202d8590 (d438) 20251008 09:58:37 READ (/local/domain/0/data/vchan/438/515/ring-ref )
io: OUT 0x202d8590 (d438) 20251008 09:58:37 READ (364)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/6/memory/static-max )
io: IN 0x202d8590 (d438) 20251008 09:58:37 UNWATCH (/local/domain/0/data/vchan/438/515/event-channel FFFF888008E810D0 )
obj: DESTROY watch 0x2039ca10
io: OUT 0x202d8590 (d438) 20251008 09:58:37 UNWATCH (OK )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (1028248)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (1028248)
io: IN 0x202d8590 (d438) 20251008 09:58:37 RM (data/vchan/0/513 )
io: OUT 0x202d8590 (d438) 20251008 09:58:37 RM (OK )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/437/memory/hotplug-max )
io: IN 0x202d8590 (d438) 20251008 09:58:37 READ (/local/domain/0/data/vchan/438/515/event-channel )
io: OUT 0x202d8590 (d438) 20251008 09:58:37 READ (108)
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: IN 0x202d8590 (d438) 20251008 09:58:37 UNWATCH (@releaseDomain FFFF888008E81610 )
obj: DESTROY watch 0x20244540
io: OUT 0x202d8590 (d438) 20251008 09:58:37 UNWATCH (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/437/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (845497)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (845497)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/438/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: IN 0x202d8590 (d438) 20251008 09:58:37 DIRECTORY (data/vchan/0 )
io: OUT 0x202d8590 (d438) 20251008 09:58:37 DIRECTORY ()
io: IN 0x202d8590 (d438) 20251008 09:58:37 UNWATCH (domid FFFF888008E817F0 )
obj: DESTROY watch 0x202764e0
io: OUT 0x202d8590 (d438) 20251008 09:58:37 UNWATCH (OK )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/438/memory/static-max )
obj: CREATE connection 0x20193940
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (563640)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (563640)
io: IN 0x20193940 (d0) 20251008 09:58:37 TRANSACTION_START ( )
obj: CREATE transaction 0x202296b0
io: IN 0x200f62d0 (d0) 20251008 09:58:37 WRITE (/local/domain/5/memory/target 792469)
io: OUT 0x2011b160 (d5) 20251008 09:58:37 WATCH_EVENT (memory/target FFFFFFFF8231D1A0 )
io: IN 0x202d8590 (d438) 20251008 09:58:37 RM (data/vchan/0 )
io: OUT 0x202d8590 (d438) 20251008 09:58:37 RM (OK )
io: OUT(START) 0x20193940 (d0) 20251008 09:58:37 TRANSACTION_START (1 )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 WRITE (OK )
io: OUT(END) 0x20193940 (d0) 20251008 09:58:37 TRANSACTION_START (1 )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 WRITE (OK )
io: IN 0x20193940 (d0) 20251008 09:58:37 RM (data/vchan/438/515 )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 WRITE (/local/domain/5/memory/static-max 808853)
io: IN 0x2011b160 (d5) 20251008 09:58:37 READ (memory/target )
io: OUT 0x2011b160 (d5) 20251008 09:58:37 READ (792469)
io: OUT(START) 0x20193940 (d0) 20251008 09:58:37 RM (OK )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 WRITE (OK )
io: OUT(END) 0x20193940 (d0) 20251008 09:58:37 RM (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 WRITE (OK )
io: IN 0x20193940 (d0) 20251008 09:58:37 DIRECTORY (data/vchan/438 )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 WRITE (/local/domain/6/memory/target 949374)
io: OUT 0x20128070 (d6) 20251008 09:58:37 WATCH_EVENT (memory/target FFFFFFFF8231D1A0 )
io: OUT 0x20193940 (d0) 20251008 09:58:37 DIRECTORY ()
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 WRITE (OK )
io: IN 0x20193940 (d0) 20251008 09:58:37 RM (data/vchan/438 )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 WRITE (OK )
io: IN 0x20128070 (d6) 20251008 09:58:37 READ (memory/target )
io: OUT 0x20128070 (d6) 20251008 09:58:37 READ (949374)
io: IN 0x202d8590 (d438) 20251008 09:58:37 TRANSACTION_END (T )
obj: DESTROY transaction 0x20230a10
io: OUT 0x202d8590 (d438) 20251008 09:58:37 TRANSACTION_END (OK )
io: OUT(START) 0x20193940 (d0) 20251008 09:58:37 RM (OK )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 WRITE (/local/domain/6/memory/static-max 965758)
io: OUT(END) 0x20193940 (d0) 20251008 09:58:37 RM (OK )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 WRITE (OK )
io: IN 0x20193940 (d0) 20251008 09:58:37 TRANSACTION_END (T )
obj: DESTROY transaction 0x202296b0
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 WRITE (OK )
io: OUT(START) 0x20193940 (d0) 20251008 09:58:37 TRANSACTION_END (OK )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 WRITE (/local/domain/437/memory/target 777730)
io: OUT 0x202cc990 (d437) 20251008 09:58:37 WATCH_EVENT (memory/target FFFFFFFF8231D1A0 )
io: OUT(END) 0x20193940 (d0) 20251008 09:58:37 TRANSACTION_END (OK )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 WRITE (OK )
io: IN 0x202cc990 (d437) 20251008 09:58:37 READ (memory/target )
io: OUT 0x202cc990 (d437) 20251008 09:58:37 READ (777730)
obj: DESTROY connection 0x20193940
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 WRITE (OK )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 WRITE (/local/domain/437/memory/static-max 794114)
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 WRITE (OK )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 WRITE (/local/domain/438/memory/target 513002)
io: OUT 0x202d8590 (d438) 20251008 09:58:37 WATCH_EVENT (memory/target FFFFFFFF8231D1A0 )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 WRITE (OK )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 WRITE (/local/domain/438/memory/static-max 529386)
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 WRITE (OK )
io: IN 0x202d8590 (d438) 20251008 09:58:37 READ (memory/target )
io: OUT 0x202d8590 (d438) 20251008 09:58:37 READ (513002)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/0/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/0/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (4194304)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (4194304)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/1/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/1/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (307200)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (307200)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/2/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/2/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (147456)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (147456)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/3/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/3/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (307200)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (307200)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/4/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/4/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (147456)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (147456)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/5/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/5/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (808853)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (808853)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/6/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/6/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (965758)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (965758)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/437/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/437/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (794114)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (794114)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/438/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/438/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (529386)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (529386)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/0/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/0/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (4194304)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (4194304)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/1/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/1/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (307200)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (307200)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/2/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/2/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (147456)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (147456)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/3/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/3/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (307200)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (307200)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/4/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/4/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (147456)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (147456)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/5/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/5/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (808853)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (808853)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/6/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/6/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (965758)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (965758)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/437/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/437/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (794114)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (794114)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/438/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/438/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (529386)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (529386)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 WRITE (/local/domain/0/memory/target 4093419)
io: OUT 0x200f1ee0 (d0) 20251008 09:58:37 WATCH_EVENT (memory/target FFFFFFFF8231D1A0 )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 WRITE (OK )
io: IN 0x200f1ee0 (d0) 20251008 09:58:37 READ (memory/target )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:37 READ (4093419)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 WRITE (OK )
io: IN 0x200f61b0 (d0) 20251008 09:58:37 READ (/local/domain/0/memory/meminfo )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:37 READ (1619720)
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:37 READ (1619720)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/0/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/0/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (4194304)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (4194304)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/1/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/1/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (307200)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (307200)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/2/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/2/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (147456)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (147456)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/3/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/3/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (307200)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (307200)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/4/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/4/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (147456)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (147456)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/5/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/5/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (808853)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (808853)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/6/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/6/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (965758)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (965758)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/437/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/437/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (794114)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (794114)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/438/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/438/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (529386)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (529386)
io: IN 0x200f7390 (d0) 20251008 09:58:37 WRITE (memory/meminfo 1692856)
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:37 WATCH_EVENT (/local/domain/0/memory/meminfo 128009996322768 )
io: OUT(START) 0x200f7390 (d0) 20251008 09:58:37 WRITE (OK )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:37 WATCH_EVENT (/local/domain/0/memory/meminfo 128009996322768 )
io: OUT(END) 0x200f7390 (d0) 20251008 09:58:37 WRITE (OK )
io: IN 0x200f61b0 (d0) 20251008 09:58:37 READ (/local/domain/0/memory/meminfo )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:37 READ (1692856)
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:37 READ (1692856)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/0/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/0/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (4194304)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (4194304)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/1/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/1/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (307200)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (307200)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/2/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/2/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (147456)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (147456)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/3/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/3/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (307200)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (307200)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/4/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/4/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (147456)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (147456)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/5/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/5/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (808853)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (808853)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/6/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/6/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (965758)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (965758)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/437/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/437/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (794114)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (794114)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/438/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:37 READ (/local/domain/438/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:37 READ (529386)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:37 READ (529386)
io: IN 0x200f62d0 (d0) 20251008 09:58:38 READ (/local/domain/0/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:38 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:38 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:38 READ (/local/domain/0/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:38 READ (4194304)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:38 READ (4194304)
io: IN 0x200f62d0 (d0) 20251008 09:58:38 READ (/local/domain/1/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:38 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:38 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:38 READ (/local/domain/1/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:38 READ (307200)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:38 READ (307200)
io: IN 0x200f62d0 (d0) 20251008 09:58:38 READ (/local/domain/2/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:38 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:38 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:38 READ (/local/domain/2/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:38 READ (147456)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:38 READ (147456)
io: IN 0x200f62d0 (d0) 20251008 09:58:38 READ (/local/domain/3/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:38 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:38 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:38 READ (/local/domain/3/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:38 READ (307200)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:38 READ (307200)
io: IN 0x200f62d0 (d0) 20251008 09:58:38 READ (/local/domain/4/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:38 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:38 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:38 READ (/local/domain/4/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:38 READ (147456)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:38 READ (147456)
io: IN 0x200f62d0 (d0) 20251008 09:58:38 READ (/local/domain/5/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:38 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:38 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:38 READ (/local/domain/5/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:38 READ (808853)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:38 READ (808853)
io: IN 0x200f62d0 (d0) 20251008 09:58:38 READ (/local/domain/6/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:38 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:38 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:38 READ (/local/domain/6/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:38 READ (965758)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:38 READ (965758)
io: IN 0x200f62d0 (d0) 20251008 09:58:38 READ (/local/domain/437/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:38 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:38 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:38 READ (/local/domain/437/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:38 READ (794114)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:38 READ (794114)
io: IN 0x200f62d0 (d0) 20251008 09:58:38 READ (/local/domain/438/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:38 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:38 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:38 READ (/local/domain/438/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:38 READ (529386)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:38 READ (529386)
io: IN 0x200f62d0 (d0) 20251008 09:58:38 WRITE (/local/domain/5/memory/target 770020)
io: OUT 0x2011b160 (d5) 20251008 09:58:38 WATCH_EVENT (memory/target FFFFFFFF8231D1A0 )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:38 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:38 WRITE (OK )
io: IN 0x200f62d0 (d0) 20251008 09:58:38 WRITE (/local/domain/5/memory/static-max 786404)
io: IN 0x2011b160 (d5) 20251008 09:58:38 READ (memory/target )
io: OUT 0x2011b160 (d5) 20251008 09:58:38 READ (770020)
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:38 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:38 WRITE (OK )
io: IN 0x200f62d0 (d0) 20251008 09:58:38 WRITE (/local/domain/6/memory/target 922571)
io: OUT 0x20128070 (d6) 20251008 09:58:38 WATCH_EVENT (memory/target FFFFFFFF8231D1A0 )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:38 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:38 WRITE (OK )
io: IN 0x200f62d0 (d0) 20251008 09:58:38 WRITE (/local/domain/6/memory/static-max 938955)
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:38 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:38 WRITE (OK )
io: IN 0x20128070 (d6) 20251008 09:58:38 READ (memory/target )
io: OUT 0x20128070 (d6) 20251008 09:58:38 READ (922571)
io: IN 0x200f62d0 (d0) 20251008 09:58:38 WRITE (/local/domain/437/memory/target 755690)
io: OUT 0x202cc990 (d437) 20251008 09:58:38 WATCH_EVENT (memory/target FFFFFFFF8231D1A0 )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:38 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:38 WRITE (OK )
io: IN 0x200f62d0 (d0) 20251008 09:58:38 WRITE (/local/domain/437/memory/static-max 772074)
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:38 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:38 WRITE (OK )
io: IN 0x200f62d0 (d0) 20251008 09:58:38 WRITE (/local/domain/438/memory/target 498309)
io: OUT 0x202d8590 (d438) 20251008 09:58:38 WATCH_EVENT (memory/target FFFFFFFF8231D1A0 )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:38 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:38 WRITE (OK )
io: IN 0x200f62d0 (d0) 20251008 09:58:38 WRITE (/local/domain/438/memory/static-max 514693)
io: IN 0x202cc990 (d437) 20251008 09:58:38 READ (memory/target )
io: OUT 0x202cc990 (d437) 20251008 09:58:38 READ (755690)
io: IN 0x202d8590 (d438) 20251008 09:58:38 READ (memory/target )
io: OUT 0x202d8590 (d438) 20251008 09:58:38 READ (498309)
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:38 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:38 WRITE (OK )
io: IN 0x200f62d0 (d0) 20251008 09:58:38 WRITE (/local/domain/0/memory/target 4134581)
io: OUT 0x200f1ee0 (d0) 20251008 09:58:38 WATCH_EVENT (memory/target FFFFFFFF8231D1A0 )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:38 WRITE (OK )
io: IN 0x200f1ee0 (d0) 20251008 09:58:38 READ (memory/target )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:38 READ (4134581)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:38 WRITE (OK )
io: IN 0x202cc990 (d437) 20251008 09:58:38 READ (backend/vif/438/0/vifname )
io: OUT 0x202cc990 (d437) 20251008 09:58:38 ERROR (ENOENT )
io: IN 0x202cc990 (d437) 20251008 09:58:38 READ (backend/vif/438/0/ip )
io: OUT 0x202cc990 (d437) 20251008 09:58:38 READ (10.137.0.19)
io: IN 0x202d8590 (d438) 20251008 09:58:39 READ (domid )
io: OUT 0x202d8590 (d438) 20251008 09:58:39 READ (438)
io: IN 0x202d8590 (d438) 20251008 09:58:39 TRANSACTION_START ( )
obj: CREATE transaction 0x2021fc60
io: OUT 0x202d8590 (d438) 20251008 09:58:39 TRANSACTION_START (25 )
io: IN 0x202d8590 (d438) 20251008 09:58:39 WRITE (data/vchan/0/4713/ring-ref 2364)
io: OUT 0x202d8590 (d438) 20251008 09:58:39 WRITE (OK )
io: IN 0x202d8590 (d438) 20251008 09:58:39 SET_PERMS (data/vchan/0/4713/ring-ref n438 r0 )
io: OUT 0x202d8590 (d438) 20251008 09:58:39 SET_PERMS (OK )
io: IN 0x202d8590 (d438) 20251008 09:58:39 WRITE (data/vchan/0/4713/event-channel 31)
io: OUT 0x202d8590 (d438) 20251008 09:58:39 WRITE (OK )
io: IN 0x202d8590 (d438) 20251008 09:58:39 SET_PERMS (data/vchan/0/4713/event-channel n438 r0 )
io: OUT 0x202d8590 (d438) 20251008 09:58:39 SET_PERMS (OK )
io: IN 0x202d8590 (d438) 20251008 09:58:39 TRANSACTION_END (T )
obj: DESTROY transaction 0x2021fc60
io: OUT 0x202d8590 (d438) 20251008 09:58:39 TRANSACTION_END (OK )
io: OUT(START) 0x2023cba0 (d0) 20251008 09:58:39 WATCH_EVENT (/local/domain/438/data/vchan/0/4713/event-channel /local/domain/438/data/vchan/0/4713/event-channel )
io: OUT(END) 0x2023cba0 (d0) 20251008 09:58:39 WATCH_EVENT (/local/domain/438/data/vchan/0/4713/event-channel /local/domain/438/data/vchan/0/4713/event-channel )
io: IN 0x202d8590 (d438) 20251008 09:58:39 READ (domid )
io: OUT 0x202d8590 (d438) 20251008 09:58:39 READ (438)
io: IN 0x2023cba0 (d0) 20251008 09:58:39 READ (/local/domain/438/data/vchan/0/4713/event-channel )
io: OUT(START) 0x2023cba0 (d0) 20251008 09:58:39 READ (31)
io: OUT(END) 0x2023cba0 (d0) 20251008 09:58:39 READ (31)
io: IN 0x202d8590 (d438) 20251008 09:58:39 TRANSACTION_START ( )
obj: CREATE transaction 0x2023c300
io: OUT 0x202d8590 (d438) 20251008 09:58:39 TRANSACTION_START (26 )
obj: DESTROY watch 0x203964b0
obj: DESTROY watch 0x2030f1a0
obj: DESTROY watch 0x202fea90
obj: DESTROY connection 0x2023cba0
obj: CREATE connection 0x20193940
io: IN 0x202d8590 (d438) 20251008 09:58:39 WRITE (data/vchan/0/4714/ring-ref 2381)
io: OUT 0x202d8590 (d438) 20251008 09:58:39 WRITE (OK )
io: IN 0x20193940 (d0) 20251008 09:58:39 READ (/local/domain/438/data/vchan/0/4713/ring-ref )
io: OUT(START) 0x20193940 (d0) 20251008 09:58:39 READ (2364)
io: IN 0x202d8590 (d438) 20251008 09:58:39 SET_PERMS (data/vchan/0/4714/ring-ref n438 r0 )
io: OUT 0x202d8590 (d438) 20251008 09:58:39 SET_PERMS (OK )
io: OUT(END) 0x20193940 (d0) 20251008 09:58:39 READ (2364)
io: IN 0x202d8590 (d438) 20251008 09:58:39 WRITE (data/vchan/0/4714/event-channel 32)
io: OUT 0x202d8590 (d438) 20251008 09:58:39 WRITE (OK )
io: IN 0x20193940 (d0) 20251008 09:58:39 READ (/local/domain/438/data/vchan/0/4713/event-channel )
io: IN 0x202d8590 (d438) 20251008 09:58:39 SET_PERMS (data/vchan/0/4714/event-channel n438 r0 )
io: OUT 0x202d8590 (d438) 20251008 09:58:39 SET_PERMS (OK )
io: OUT(START) 0x20193940 (d0) 20251008 09:58:39 READ (31)
io: OUT(END) 0x20193940 (d0) 20251008 09:58:39 READ (31)
io: IN 0x202d8590 (d438) 20251008 09:58:39 TRANSACTION_END (T )
obj: DESTROY transaction 0x2023c300
io: OUT 0x202d8590 (d438) 20251008 09:58:39 TRANSACTION_END (OK )
io: OUT(START) 0x20293f50 (d0) 20251008 09:58:39 WATCH_EVENT (/local/domain/438/data/vchan/0/4714/event-channel /local/domain/438/data/vchan/0/4714/event-channel )
io: OUT(END) 0x20293f50 (d0) 20251008 09:58:39 WATCH_EVENT (/local/domain/438/data/vchan/0/4714/event-channel /local/domain/438/data/vchan/0/4714/event-channel )
io: IN 0x20293f50 (d0) 20251008 09:58:39 READ (/local/domain/438/data/vchan/0/4714/event-channel )
obj: DESTROY connection 0x20193940
io: OUT(START) 0x20293f50 (d0) 20251008 09:58:39 READ (32)
io: OUT(END) 0x20293f50 (d0) 20251008 09:58:39 READ (32)
obj: CREATE connection 0x20193940
obj: DESTROY watch 0x20200740
obj: DESTROY watch 0x20236540
obj: DESTROY watch 0x203463c0
obj: DESTROY connection 0x20293f50
io: IN 0x20193940 (d0) 20251008 09:58:39 READ (/local/domain/438/data/vchan/0/4714/ring-ref )
io: IN 0x202d8590 (d438) 20251008 09:58:39 TRANSACTION_START ( )
obj: CREATE transaction 0x2029e190
io: OUT 0x202d8590 (d438) 20251008 09:58:39 TRANSACTION_START (27 )
io: OUT(START) 0x20193940 (d0) 20251008 09:58:39 READ (2381)
io: IN 0x202d8590 (d438) 20251008 09:58:39 RM (data/vchan/0/4713 )
io: OUT 0x202d8590 (d438) 20251008 09:58:39 RM (OK )
io: OUT(END) 0x20193940 (d0) 20251008 09:58:39 READ (2381)
io: IN 0x20193940 (d0) 20251008 09:58:39 READ (/local/domain/438/data/vchan/0/4714/event-channel )
io: OUT(START) 0x20193940 (d0) 20251008 09:58:39 READ (32)
io: OUT(END) 0x20193940 (d0) 20251008 09:58:39 READ (32)
io: IN 0x202d8590 (d438) 20251008 09:58:39 DIRECTORY (data/vchan/0 )
io: OUT 0x202d8590 (d438) 20251008 09:58:39 DIRECTORY (4714 )
obj: DESTROY connection 0x20193940
io: IN 0x202d8590 (d438) 20251008 09:58:39 TRANSACTION_END (T )
obj: DESTROY transaction 0x2029e190
io: OUT 0x202d8590 (d438) 20251008 09:58:39 TRANSACTION_END (OK )
io: IN 0x202d8590 (d438) 20251008 09:58:39 TRANSACTION_START ( )
obj: CREATE transaction 0x2029e190
io: OUT 0x202d8590 (d438) 20251008 09:58:39 TRANSACTION_START (28 )
io: IN 0x202cc990 (d437) 20251008 09:58:39 READ (backend/vif/438/0/mac )
io: OUT 0x202cc990 (d437) 20251008 09:58:39 READ (00:16:3e:5e:6c:00)
io: IN 0x202d8590 (d438) 20251008 09:58:39 RM (data/vchan/0/4714 )
io: OUT 0x202d8590 (d438) 20251008 09:58:39 RM (OK )
io: IN 0x202d8590 (d438) 20251008 09:58:39 DIRECTORY (data/vchan/0 )
io: OUT 0x202d8590 (d438) 20251008 09:58:39 DIRECTORY ()
io: IN 0x202d8590 (d438) 20251008 09:58:39 RM (data/vchan/0 )
io: OUT 0x202d8590 (d438) 20251008 09:58:39 RM (OK )
io: IN 0x202d8590 (d438) 20251008 09:58:39 TRANSACTION_END (T )
obj: DESTROY transaction 0x2029e190
io: OUT 0x202d8590 (d438) 20251008 09:58:39 TRANSACTION_END (OK )
io: IN 0x202d8590 (d438) 20251008 09:58:39 WRITE (memory/meminfo 273280)
io: OUT 0x202d8590 (d438) 20251008 09:58:39 WRITE (OK )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:39 WATCH_EVENT (/local/domain/438/memory/meminfo 128009995958512 )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:39 WATCH_EVENT (/local/domain/438/memory/meminfo 128009995958512 )
io: IN 0x200f61b0 (d0) 20251008 09:58:39 READ (/local/domain/438/memory/meminfo )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:39 READ (273280)
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:39 READ (273280)
io: IN 0x200f62d0 (d0) 20251008 09:58:39 READ (/local/domain/0/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:39 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:39 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:39 READ (/local/domain/0/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:39 READ (4194304)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:39 READ (4194304)
io: IN 0x200f62d0 (d0) 20251008 09:58:39 READ (/local/domain/1/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:39 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:39 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:39 READ (/local/domain/1/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:39 READ (307200)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:39 READ (307200)
io: IN 0x200f62d0 (d0) 20251008 09:58:39 READ (/local/domain/2/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:39 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:39 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:39 READ (/local/domain/2/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:39 READ (147456)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:39 READ (147456)
io: IN 0x200f62d0 (d0) 20251008 09:58:39 READ (/local/domain/3/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:39 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:39 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:39 READ (/local/domain/3/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:39 READ (307200)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:39 READ (307200)
io: IN 0x200f62d0 (d0) 20251008 09:58:39 READ (/local/domain/4/memory/hotplug-max )
io: IN 0x202cc990 (d437) 20251008 09:58:39 READ (backend/vif/438/0/type )
io: OUT 0x202cc990 (d437) 20251008 09:58:39 READ (vif)
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:39 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:39 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:39 READ (/local/domain/4/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:39 READ (147456)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:39 READ (147456)
io: IN 0x200f62d0 (d0) 20251008 09:58:39 READ (/local/domain/5/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:39 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:39 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:39 READ (/local/domain/5/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:39 READ (786404)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:39 READ (786404)
io: IN 0x200f62d0 (d0) 20251008 09:58:39 READ (/local/domain/6/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:39 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:39 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:39 READ (/local/domain/6/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:39 READ (938955)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:39 READ (938955)
io: IN 0x202cc990 (d437) 20251008 09:58:39 WRITE (backend/vif/438/0/hotplug-status connected)
io: OUT 0x202cc990 (d437) 20251008 09:58:39 WATCH_EVENT (backend/vif/438/0/hotplug-status FFFFFFFF8231C840 )
io: IN 0x200f62d0 (d0) 20251008 09:58:39 READ (/local/domain/437/memory/hotplug-max )
io: IN 0x202cc990 (d437) 20251008 09:58:39 DIRECTORY (backend/vif/438/0/hotplug-status )
io: OUT 0x202cc990 (d437) 20251008 09:58:39 WATCH_EVENT (/local/domain/437/backend/vif/438/0/hotplug-status FFFF888005F3EA30 )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:39 READ (4096000)
io: OUT 0x202cc990 (d437) 20251008 09:58:39 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:39 READ (4096000)
io: IN 0x202cc990 (d437) 20251008 09:58:39 GET_DOMAIN_PATH (437 )
io: OUT 0x202cc990 (d437) 20251008 09:58:39 DIRECTORY ()
io: IN 0x200f62d0 (d0) 20251008 09:58:39 READ (/local/domain/437/memory/static-max )
io: OUT 0x202cc990 (d437) 20251008 09:58:39 GET_DOMAIN_PATH (/local/domain/437 )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:39 READ (772074)
io: IN 0x202cc990 (d437) 20251008 09:58:39 GET_DOMAIN_PATH (437 )
io: OUT 0x202cc990 (d437) 20251008 09:58:39 GET_DOMAIN_PATH (/local/domain/437 )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:39 READ (772074)
io: IN 0x202cc990 (d437) 20251008 09:58:39 READ (domid )
io: OUT 0x202cc990 (d437) 20251008 09:58:39 READ (437)
io: IN 0x200f62d0 (d0) 20251008 09:58:39 READ (/local/domain/438/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:39 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:39 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:39 READ (/local/domain/438/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:39 READ (514693)
io: IN 0x202cc990 (d437) 20251008 09:58:39 GET_DOMAIN_PATH (438 )
io: OUT 0x202cc990 (d437) 20251008 09:58:39 GET_DOMAIN_PATH (/local/domain/438 )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:39 READ (514693)
io: IN 0x202cc990 (d437) 20251008 09:58:39 READ (/local/domain/438/image/device-model-domid )
io: OUT 0x202cc990 (d437) 20251008 09:58:39 ERROR (EACCES )
io: IN 0x202cc990 (d437) 20251008 09:58:39 GET_DOMAIN_PATH (437 )
io: OUT 0x202cc990 (d437) 20251008 09:58:39 GET_DOMAIN_PATH (/local/domain/437 )
io: IN 0x202cc990 (d437) 20251008 09:58:39 READ (/local/domain/437/backend/vif/438/0/script )
io: OUT 0x202cc990 (d437) 20251008 09:58:39 READ (/etc/xen/scripts/vif-route-qubes)
io: IN 0x202cc990 (d437) 20251008 09:58:39 GET_DOMAIN_PATH (437 )
io: OUT 0x202cc990 (d437) 20251008 09:58:39 GET_DOMAIN_PATH (/local/domain/437 )
io: IN 0x202cc990 (d437) 20251008 09:58:39 READ (/local/domain/437/backend/vif/438/0/type )
io: OUT 0x202cc990 (d437) 20251008 09:58:39 READ (vif)
io: IN 0x202cc990 (d437) 20251008 09:58:39 GET_DOMAIN_PATH (437 )
io: OUT 0x202cc990 (d437) 20251008 09:58:39 GET_DOMAIN_PATH (/local/domain/437 )
io: IN 0x200f7390 (d0) 20251008 09:58:40 WRITE (memory/meminfo 1656744)
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:40 WATCH_EVENT (/local/domain/0/memory/meminfo 128009996322768 )
io: OUT(START) 0x200f7390 (d0) 20251008 09:58:40 WRITE (OK )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:40 WATCH_EVENT (/local/domain/0/memory/meminfo 128009996322768 )
io: OUT(END) 0x200f7390 (d0) 20251008 09:58:40 WRITE (OK )
io: IN 0x200f61b0 (d0) 20251008 09:58:40 READ (/local/domain/0/memory/meminfo )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:40 READ (1656744)
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:40 READ (1656744)
io: IN 0x200f62d0 (d0) 20251008 09:58:40 READ (/local/domain/0/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:40 READ (/local/domain/0/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 READ (4194304)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 READ (4194304)
io: IN 0x200f62d0 (d0) 20251008 09:58:40 READ (/local/domain/1/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:40 READ (/local/domain/1/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 READ (307200)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 READ (307200)
io: IN 0x200f62d0 (d0) 20251008 09:58:40 READ (/local/domain/2/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:40 READ (/local/domain/2/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 READ (147456)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 READ (147456)
io: IN 0x200f62d0 (d0) 20251008 09:58:40 READ (/local/domain/3/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:40 READ (/local/domain/3/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 READ (307200)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 READ (307200)
io: IN 0x200f62d0 (d0) 20251008 09:58:40 READ (/local/domain/4/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:40 READ (/local/domain/4/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 READ (147456)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 READ (147456)
io: IN 0x200f62d0 (d0) 20251008 09:58:40 READ (/local/domain/5/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:40 READ (/local/domain/5/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 READ (786404)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 READ (786404)
io: IN 0x200f62d0 (d0) 20251008 09:58:40 READ (/local/domain/6/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:40 READ (/local/domain/6/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 READ (938955)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 READ (938955)
io: IN 0x200f62d0 (d0) 20251008 09:58:40 READ (/local/domain/437/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:40 READ (/local/domain/437/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 READ (772074)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 READ (772074)
io: IN 0x200f62d0 (d0) 20251008 09:58:40 READ (/local/domain/438/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:40 READ (/local/domain/438/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 READ (514693)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 READ (514693)
io: IN 0x200f62d0 (d0) 20251008 09:58:40 WRITE (/local/domain/0/memory/target 4094789)
io: OUT 0x200f1ee0 (d0) 20251008 09:58:40 WATCH_EVENT (memory/target FFFFFFFF8231D1A0 )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 WRITE (OK )
io: IN 0x200f1ee0 (d0) 20251008 09:58:40 READ (memory/target )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:40 READ (4094789)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 WRITE (OK )
io: IN 0x200f62d0 (d0) 20251008 09:58:40 WRITE (/local/domain/5/memory/target 777134)
io: OUT 0x2011b160 (d5) 20251008 09:58:40 WATCH_EVENT (memory/target FFFFFFFF8231D1A0 )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 WRITE (OK )
io: IN 0x2011b160 (d5) 20251008 09:58:40 READ (memory/target )
io: OUT 0x2011b160 (d5) 20251008 09:58:40 READ (777134)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 WRITE (OK )
io: IN 0x200f62d0 (d0) 20251008 09:58:40 WRITE (/local/domain/5/memory/static-max 793518)
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 WRITE (OK )
io: IN 0x200f62d0 (d0) 20251008 09:58:40 WRITE (/local/domain/6/memory/target 931064)
io: OUT 0x20128070 (d6) 20251008 09:58:40 WATCH_EVENT (memory/target FFFFFFFF8231D1A0 )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 WRITE (OK )
io: IN 0x20128070 (d6) 20251008 09:58:40 READ (memory/target )
io: OUT 0x20128070 (d6) 20251008 09:58:40 READ (931064)
io: IN 0x200f62d0 (d0) 20251008 09:58:40 WRITE (/local/domain/6/memory/static-max 947448)
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 WRITE (OK )
io: IN 0x200f62d0 (d0) 20251008 09:58:40 WRITE (/local/domain/437/memory/target 762673)
io: OUT 0x202cc990 (d437) 20251008 09:58:40 WATCH_EVENT (memory/target FFFFFFFF8231D1A0 )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 WRITE (OK )
io: IN 0x202cc990 (d437) 20251008 09:58:40 READ (memory/target )
io: OUT 0x202cc990 (d437) 20251008 09:58:40 READ (762673)
io: IN 0x200f62d0 (d0) 20251008 09:58:40 WRITE (/local/domain/437/memory/static-max 779057)
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 WRITE (OK )
io: IN 0x200f7390 (d0) 20251008 09:58:40 WRITE (memory/meminfo 1616876)
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:40 WATCH_EVENT (/local/domain/0/memory/meminfo 128009996322768 )
io: OUT(START) 0x200f7390 (d0) 20251008 09:58:40 WRITE (OK )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:40 WATCH_EVENT (/local/domain/0/memory/meminfo 128009996322768 )
io: OUT(END) 0x200f7390 (d0) 20251008 09:58:40 WRITE (OK )
io: IN 0x200f62d0 (d0) 20251008 09:58:40 READ (/local/domain/0/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:40 READ (/local/domain/0/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 READ (4194304)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 READ (4194304)
io: IN 0x200f62d0 (d0) 20251008 09:58:40 READ (/local/domain/1/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:40 READ (/local/domain/1/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 READ (307200)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 READ (307200)
io: IN 0x200f62d0 (d0) 20251008 09:58:40 READ (/local/domain/2/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:40 READ (/local/domain/2/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 READ (147456)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 READ (147456)
io: IN 0x200f62d0 (d0) 20251008 09:58:40 READ (/local/domain/3/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:40 READ (/local/domain/3/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 READ (307200)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 READ (307200)
io: IN 0x200f62d0 (d0) 20251008 09:58:40 READ (/local/domain/4/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:40 READ (/local/domain/4/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 READ (147456)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 READ (147456)
io: IN 0x200f62d0 (d0) 20251008 09:58:40 READ (/local/domain/5/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:40 READ (/local/domain/5/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 READ (793518)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 READ (793518)
io: IN 0x200f62d0 (d0) 20251008 09:58:40 READ (/local/domain/6/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:40 READ (/local/domain/6/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 READ (947448)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 READ (947448)
io: IN 0x200f62d0 (d0) 20251008 09:58:40 READ (/local/domain/437/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:40 READ (/local/domain/437/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 READ (779057)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 READ (779057)
io: IN 0x200f62d0 (d0) 20251008 09:58:40 READ (/local/domain/438/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:40 READ (/local/domain/438/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 READ (514693)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 READ (514693)
io: IN 0x200f62d0 (d0) 20251008 09:58:40 WRITE (/local/domain/438/memory/target 568875)
io: OUT(START) 0x202d8590 (d438) 20251008 09:58:40 WATCH_EVENT (memory/target FFFFFFFF8231D1A0 )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 WRITE (OK )
io: OUT(END) 0x202d8590 (d438) 20251008 09:58:40 WATCH_EVENT (memory/target FFFFFFFF8231D1A0 )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 WRITE (OK )
io: IN 0x202d8590 (d438) 20251008 09:58:40 READ (memory/target )
io: OUT 0x202d8590 (d438) 20251008 09:58:40 READ (568875)
io: IN 0x200f62d0 (d0) 20251008 09:58:40 WRITE (/local/domain/438/memory/static-max 585259)
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 WRITE (OK )
io: IN 0x200f61b0 (d0) 20251008 09:58:40 READ (/local/domain/0/memory/meminfo )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:40 READ (1616876)
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:40 READ (1616876)
io: IN 0x200f62d0 (d0) 20251008 09:58:40 READ (/local/domain/0/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:40 READ (/local/domain/0/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 READ (4194304)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 READ (4194304)
io: IN 0x200f62d0 (d0) 20251008 09:58:40 READ (/local/domain/1/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:40 READ (/local/domain/1/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 READ (307200)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 READ (307200)
io: IN 0x200f62d0 (d0) 20251008 09:58:40 READ (/local/domain/2/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:40 READ (/local/domain/2/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 READ (147456)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 READ (147456)
io: IN 0x200f62d0 (d0) 20251008 09:58:40 READ (/local/domain/3/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:40 READ (/local/domain/3/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 READ (307200)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 READ (307200)
io: IN 0x200f62d0 (d0) 20251008 09:58:40 READ (/local/domain/4/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:40 READ (/local/domain/4/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 READ (147456)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 READ (147456)
io: IN 0x200f62d0 (d0) 20251008 09:58:40 READ (/local/domain/5/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:40 READ (/local/domain/5/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 READ (793518)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 READ (793518)
io: IN 0x200f62d0 (d0) 20251008 09:58:40 READ (/local/domain/6/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:40 READ (/local/domain/6/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 READ (947448)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 READ (947448)
io: IN 0x200f62d0 (d0) 20251008 09:58:40 READ (/local/domain/437/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:40 READ (/local/domain/437/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 READ (779057)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 READ (779057)
io: IN 0x200f62d0 (d0) 20251008 09:58:40 READ (/local/domain/438/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:40 READ (/local/domain/438/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:40 READ (585259)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:40 READ (585259)
obj: CREATE connection 0x20293f50
io: IN 0x20293f50 (d0) 20251008 09:58:41 RM (data/vchan/436/111 )
io: OUT(START) 0x20293f50 (d0) 20251008 09:58:41 ERROR (ENOENT )
io: OUT(END) 0x20293f50 (d0) 20251008 09:58:41 ERROR (ENOENT )
obj: CREATE connection 0x202b3e50
obj: DESTROY connection 0x20293f50
io: IN 0x202b3e50 (d0) 20251008 09:58:41 READ (domid )
io: OUT(START) 0x202b3e50 (d0) 20251008 09:58:41 READ (0)
io: OUT(END) 0x202b3e50 (d0) 20251008 09:58:41 READ (0)
io: IN 0x202b3e50 (d0) 20251008 09:58:41 TRANSACTION_START ( )
obj: CREATE transaction 0x2025a940
io: OUT(START) 0x202b3e50 (d0) 20251008 09:58:41 TRANSACTION_START (1 )
io: OUT(END) 0x202b3e50 (d0) 20251008 09:58:41 TRANSACTION_START (1 )
io: IN 0x202b3e50 (d0) 20251008 09:58:41 WRITE (data/vchan/436/111/ring-ref 103)
io: OUT(START) 0x202b3e50 (d0) 20251008 09:58:41 WRITE (OK )
io: OUT(END) 0x202b3e50 (d0) 20251008 09:58:41 WRITE (OK )
io: IN 0x202b3e50 (d0) 20251008 09:58:41 SET_PERMS (data/vchan/436/111/ring-ref n0 r436 )
io: OUT(START) 0x202b3e50 (d0) 20251008 09:58:41 SET_PERMS (OK )
io: OUT(END) 0x202b3e50 (d0) 20251008 09:58:41 SET_PERMS (OK )
io: IN 0x202b3e50 (d0) 20251008 09:58:41 WRITE (data/vchan/436/111/event-channel 115)
io: OUT(START) 0x202b3e50 (d0) 20251008 09:58:41 WRITE (OK )
io: OUT(END) 0x202b3e50 (d0) 20251008 09:58:41 WRITE (OK )
io: IN 0x202b3e50 (d0) 20251008 09:58:41 SET_PERMS (data/vchan/436/111/event-channel n0 r436 )
io: OUT(START) 0x202b3e50 (d0) 20251008 09:58:41 SET_PERMS (OK )
io: OUT(END) 0x202b3e50 (d0) 20251008 09:58:41 SET_PERMS (OK )
io: IN 0x202b3e50 (d0) 20251008 09:58:41 TRANSACTION_END (T )
obj: DESTROY transaction 0x2025a940
io: OUT(START) 0x202b3e50 (d0) 20251008 09:58:41 TRANSACTION_END (OK )
io: OUT(END) 0x202b3e50 (d0) 20251008 09:58:41 TRANSACTION_END (OK )
obj: DESTROY connection 0x202b3e50
obj: CREATE connection 0x202b3e50
io: IN 0x202b3e50 (d0) 20251008 09:58:41 RM (data/vchan/438/514 )
io: OUT(START) 0x202b3e50 (d0) 20251008 09:58:41 ERROR (ENOENT )
io: OUT(END) 0x202b3e50 (d0) 20251008 09:58:41 ERROR (ENOENT )
obj: DESTROY connection 0x202b3e50
io: IN 0x202d8590 (d438) 20251008 09:58:42 WRITE (memory/meminfo 304420)
io: OUT 0x202d8590 (d438) 20251008 09:58:42 WRITE (OK )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:42 WATCH_EVENT (/local/domain/438/memory/meminfo 128009995958512 )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:42 WATCH_EVENT (/local/domain/438/memory/meminfo 128009995958512 )
io: IN 0x200f61b0 (d0) 20251008 09:58:42 READ (/local/domain/438/memory/meminfo )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:42 READ (304420)
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:42 READ (304420)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/0/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/0/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (4194304)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (4194304)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/1/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/1/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (307200)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (307200)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/2/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/2/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (147456)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (147456)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/3/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/3/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (307200)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (307200)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/4/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/4/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (147456)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (147456)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/5/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/5/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (793518)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (793518)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/6/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/6/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (947448)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (947448)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/437/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/437/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (779057)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (779057)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/438/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/438/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (585259)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (585259)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 WRITE (/local/domain/0/memory/target 4020093)
io: OUT 0x200f1ee0 (d0) 20251008 09:58:42 WATCH_EVENT (memory/target FFFFFFFF8231D1A0 )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 WRITE (OK )
io: IN 0x200f62d0 (d0) 20251008 09:58:42 WRITE (/local/domain/5/memory/target 779240)
io: OUT 0x2011b160 (d5) 20251008 09:58:42 WATCH_EVENT (memory/target FFFFFFFF8231D1A0 )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 WRITE (OK )
io: IN 0x200f1ee0 (d0) 20251008 09:58:42 READ (memory/target )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:42 READ (4020093)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 WRITE (/local/domain/5/memory/static-max 795624)
io: IN 0x2011b160 (d5) 20251008 09:58:42 READ (memory/target )
io: OUT 0x2011b160 (d5) 20251008 09:58:42 READ (779240)
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 WRITE (OK )
io: IN 0x200f62d0 (d0) 20251008 09:58:42 WRITE (/local/domain/6/memory/target 933579)
io: OUT 0x20128070 (d6) 20251008 09:58:42 WATCH_EVENT (memory/target FFFFFFFF8231D1A0 )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 WRITE (OK )
io: IN 0x20128070 (d6) 20251008 09:58:42 READ (memory/target )
io: OUT 0x20128070 (d6) 20251008 09:58:42 READ (933579)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 WRITE (OK )
io: IN 0x200f62d0 (d0) 20251008 09:58:42 WRITE (/local/domain/6/memory/static-max 949963)
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 WRITE (OK )
io: IN 0x200f62d0 (d0) 20251008 09:58:42 WRITE (/local/domain/437/memory/target 764741)
io: OUT 0x202cc990 (d437) 20251008 09:58:42 WATCH_EVENT (memory/target FFFFFFFF8231D1A0 )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 WRITE (OK )
io: IN 0x200f62d0 (d0) 20251008 09:58:42 WRITE (/local/domain/437/memory/static-max 781125)
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 WRITE (OK )
io: IN 0x202cc990 (d437) 20251008 09:58:42 READ (memory/target )
io: OUT 0x202cc990 (d437) 20251008 09:58:42 READ (764741)
io: IN 0x200f7390 (d0) 20251008 09:58:42 WRITE (memory/meminfo 1536712)
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:42 WATCH_EVENT (/local/domain/0/memory/meminfo 128009996322768 )
io: OUT(START) 0x200f7390 (d0) 20251008 09:58:42 WRITE (OK )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:42 WATCH_EVENT (/local/domain/0/memory/meminfo 128009996322768 )
io: OUT(END) 0x200f7390 (d0) 20251008 09:58:42 WRITE (OK )
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/0/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/0/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (4194304)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (4194304)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/1/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/1/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (307200)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (307200)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/2/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/2/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (147456)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (147456)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/3/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/3/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (307200)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (307200)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/4/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/4/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (147456)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (147456)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/5/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/5/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (795624)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (795624)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/6/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/6/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (949963)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (949963)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/437/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/437/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (781125)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (781125)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/438/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/438/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (585259)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (585259)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 WRITE (/local/domain/438/memory/target 637295)
io: OUT 0x202d8590 (d438) 20251008 09:58:42 WATCH_EVENT (memory/target FFFFFFFF8231D1A0 )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 WRITE (OK )
io: IN 0x202d8590 (d438) 20251008 09:58:42 READ (memory/target )
io: OUT 0x202d8590 (d438) 20251008 09:58:42 READ (637295)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 WRITE (/local/domain/438/memory/static-max 653679)
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 WRITE (OK )
io: IN 0x200f61b0 (d0) 20251008 09:58:42 READ (/local/domain/0/memory/meminfo )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:42 READ (1536712)
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:42 READ (1536712)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/0/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/0/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (4194304)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (4194304)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/1/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/1/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (307200)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (307200)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/2/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/2/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (147456)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (147456)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/3/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/3/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (307200)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (307200)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/4/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/4/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (147456)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (147456)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/5/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/5/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (795624)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (795624)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/6/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/6/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (949963)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (949963)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/437/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/437/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (781125)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (781125)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/438/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/438/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (653679)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (653679)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 WRITE (/local/domain/0/memory/target 3939874)
io: OUT 0x200f1ee0 (d0) 20251008 09:58:42 WATCH_EVENT (memory/target FFFFFFFF8231D1A0 )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 WRITE (OK )
io: IN 0x200f1ee0 (d0) 20251008 09:58:42 READ (memory/target )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:42 READ (3939874)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 WRITE (/local/domain/5/memory/target 798164)
io: OUT 0x2011b160 (d5) 20251008 09:58:42 WATCH_EVENT (memory/target FFFFFFFF8231D1A0 )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 WRITE (OK )
io: IN 0x200f62d0 (d0) 20251008 09:58:42 WRITE (/local/domain/5/memory/static-max 814548)
io: IN 0x2011b160 (d5) 20251008 09:58:42 READ (memory/target )
io: OUT 0x2011b160 (d5) 20251008 09:58:42 READ (798164)
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 WRITE (OK )
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/0/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/0/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (4194304)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (4194304)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/1/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/1/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (307200)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (307200)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/2/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/2/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (147456)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (147456)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/3/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/3/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (307200)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (307200)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/4/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/4/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (147456)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (147456)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/5/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/5/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (814548)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (814548)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/6/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/6/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (949963)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (949963)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/437/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/437/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (781125)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (781125)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/438/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/438/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (653679)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (653679)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 WRITE (/local/domain/6/memory/target 956174)
io: OUT 0x20128070 (d6) 20251008 09:58:42 WATCH_EVENT (memory/target FFFFFFFF8231D1A0 )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 WRITE (OK )
io: IN 0x200f62d0 (d0) 20251008 09:58:42 WRITE (/local/domain/6/memory/static-max 972558)
io: IN 0x20128070 (d6) 20251008 09:58:42 READ (memory/target )
io: OUT 0x20128070 (d6) 20251008 09:58:42 READ (956174)
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 WRITE (OK )
io: IN 0x200f62d0 (d0) 20251008 09:58:42 WRITE (/local/domain/437/memory/target 783321)
io: OUT(START) 0x202cc990 (d437) 20251008 09:58:42 WATCH_EVENT (memory/target FFFFFFFF8231D1A0 )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 WRITE (OK )
io: OUT(END) 0x202cc990 (d437) 20251008 09:58:42 WATCH_EVENT (memory/target FFFFFFFF8231D1A0 )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 WRITE (OK )
io: IN 0x200f62d0 (d0) 20251008 09:58:42 WRITE (/local/domain/437/memory/static-max 799705)
io: IN 0x202cc990 (d437) 20251008 09:58:42 READ (memory/target )
io: OUT 0x202cc990 (d437) 20251008 09:58:42 READ (783321)
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 WRITE (OK )
io: IN 0x200f62d0 (d0) 20251008 09:58:42 WRITE (/local/domain/438/memory/target 652843)
io: OUT 0x202d8590 (d438) 20251008 09:58:42 WATCH_EVENT (memory/target FFFFFFFF8231D1A0 )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 WRITE (OK )
io: IN 0x200f62d0 (d0) 20251008 09:58:42 WRITE (/local/domain/438/memory/static-max 669227)
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 WRITE (OK )
io: IN 0x202d8590 (d438) 20251008 09:58:42 READ (memory/target )
io: OUT 0x202d8590 (d438) 20251008 09:58:42 READ (652843)
io: IN 0x200f7390 (d0) 20251008 09:58:42 WRITE (memory/meminfo 1504360)
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:42 WATCH_EVENT (/local/domain/0/memory/meminfo 128009996322768 )
io: OUT(START) 0x200f7390 (d0) 20251008 09:58:42 WRITE (OK )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:42 WATCH_EVENT (/local/domain/0/memory/meminfo 128009996322768 )
io: OUT(END) 0x200f7390 (d0) 20251008 09:58:42 WRITE (OK )
io: IN 0x200f61b0 (d0) 20251008 09:58:42 READ (/local/domain/0/memory/meminfo )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:42 READ (1504360)
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:42 READ (1504360)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/0/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/0/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (4194304)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (4194304)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/1/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/1/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (307200)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (307200)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/2/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/2/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (147456)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (147456)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/3/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/3/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (307200)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (307200)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/4/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/4/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (147456)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (147456)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/5/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/5/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (814548)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (814548)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/6/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/6/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (972558)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (972558)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/437/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/437/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (799705)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (799705)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/438/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:42 READ (/local/domain/438/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:42 READ (669227)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:42 READ (669227)
io: IN 0x202d8590 (d438) 20251008 09:58:43 WRITE (memory/meminfo 337344)
io: OUT 0x202d8590 (d438) 20251008 09:58:43 WRITE (OK )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:43 WATCH_EVENT (/local/domain/438/memory/meminfo 128009995958512 )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:43 WATCH_EVENT (/local/domain/438/memory/meminfo 128009995958512 )
io: IN 0x200f61b0 (d0) 20251008 09:58:43 READ (/local/domain/438/memory/meminfo )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:43 READ (337344)
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:43 READ (337344)
io: IN 0x200f62d0 (d0) 20251008 09:58:43 READ (/local/domain/0/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:43 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:43 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:43 READ (/local/domain/0/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:43 READ (4194304)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:43 READ (4194304)
io: IN 0x200f62d0 (d0) 20251008 09:58:43 READ (/local/domain/1/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:43 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:43 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:43 READ (/local/domain/1/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:43 READ (307200)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:43 READ (307200)
io: IN 0x200f62d0 (d0) 20251008 09:58:43 READ (/local/domain/2/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:43 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:43 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:43 READ (/local/domain/2/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:43 READ (147456)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:43 READ (147456)
io: IN 0x200f62d0 (d0) 20251008 09:58:43 READ (/local/domain/3/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:43 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:43 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:43 READ (/local/domain/3/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:43 READ (307200)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:43 READ (307200)
io: IN 0x200f62d0 (d0) 20251008 09:58:43 READ (/local/domain/4/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:43 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:43 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:43 READ (/local/domain/4/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:43 READ (147456)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:43 READ (147456)
io: IN 0x200f62d0 (d0) 20251008 09:58:43 READ (/local/domain/5/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:43 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:43 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:43 READ (/local/domain/5/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:43 READ (814548)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:43 READ (814548)
io: IN 0x200f62d0 (d0) 20251008 09:58:43 READ (/local/domain/6/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:43 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:43 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:43 READ (/local/domain/6/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:43 READ (972558)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:43 READ (972558)
io: IN 0x200f62d0 (d0) 20251008 09:58:43 READ (/local/domain/437/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:43 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:43 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:43 READ (/local/domain/437/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:43 READ (799705)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:43 READ (799705)
io: IN 0x200f62d0 (d0) 20251008 09:58:43 READ (/local/domain/438/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:43 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:43 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:43 READ (/local/domain/438/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:43 READ (669227)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:43 READ (669227)
io: IN 0x200f62d0 (d0) 20251008 09:58:43 WRITE (/local/domain/0/memory/target 3870520)
io: OUT 0x200f1ee0 (d0) 20251008 09:58:43 WATCH_EVENT (memory/target FFFFFFFF8231D1A0 )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:43 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:43 WRITE (OK )
io: IN 0x200f1ee0 (d0) 20251008 09:58:43 READ (memory/target )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:43 READ (3870520)
io: IN 0x200f62d0 (d0) 20251008 09:58:43 WRITE (/local/domain/5/memory/target 798535)
io: OUT 0x2011b160 (d5) 20251008 09:58:43 WATCH_EVENT (memory/target FFFFFFFF8231D1A0 )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:43 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:43 WRITE (OK )
io: IN 0x2011b160 (d5) 20251008 09:58:43 READ (memory/target )
io: OUT 0x2011b160 (d5) 20251008 09:58:43 READ (798535)
io: IN 0x200f62d0 (d0) 20251008 09:58:43 WRITE (/local/domain/5/memory/static-max 814919)
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:43 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:43 WRITE (OK )
io: IN 0x200f62d0 (d0) 20251008 09:58:43 WRITE (/local/domain/6/memory/target 956617)
io: OUT 0x20128070 (d6) 20251008 09:58:43 WATCH_EVENT (memory/target FFFFFFFF8231D1A0 )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:43 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:43 WRITE (OK )
io: IN 0x200f62d0 (d0) 20251008 09:58:43 WRITE (/local/domain/6/memory/static-max 973001)
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:43 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:43 WRITE (OK )
io: IN 0x20128070 (d6) 20251008 09:58:43 READ (memory/target )
io: OUT 0x20128070 (d6) 20251008 09:58:43 READ (956617)
io: IN 0x200f62d0 (d0) 20251008 09:58:43 WRITE (/local/domain/437/memory/target 783685)
io: OUT 0x202cc990 (d437) 20251008 09:58:43 WATCH_EVENT (memory/target FFFFFFFF8231D1A0 )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:43 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:43 WRITE (OK )
io: IN 0x200f62d0 (d0) 20251008 09:58:44 WRITE (/local/domain/437/memory/static-max 800069)
io: IN 0x202cc990 (d437) 20251008 09:58:44 READ (memory/target )
io: OUT 0x202cc990 (d437) 20251008 09:58:44 READ (783685)
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 WRITE (OK )
io: IN 0x200f7390 (d0) 20251008 09:58:44 WRITE (memory/meminfo 1431244)
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:44 WATCH_EVENT (/local/domain/0/memory/meminfo 128009996322768 )
io: OUT(START) 0x200f7390 (d0) 20251008 09:58:44 WRITE (OK )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:44 WATCH_EVENT (/local/domain/0/memory/meminfo 128009996322768 )
io: OUT(END) 0x200f7390 (d0) 20251008 09:58:44 WRITE (OK )
io: IN 0x200f62d0 (d0) 20251008 09:58:44 READ (/local/domain/0/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:44 READ (/local/domain/0/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 READ (4194304)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 READ (4194304)
io: IN 0x200f62d0 (d0) 20251008 09:58:44 READ (/local/domain/1/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:44 READ (/local/domain/1/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 READ (307200)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 READ (307200)
io: IN 0x200f62d0 (d0) 20251008 09:58:44 READ (/local/domain/2/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:44 READ (/local/domain/2/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 READ (147456)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 READ (147456)
io: IN 0x200f62d0 (d0) 20251008 09:58:44 READ (/local/domain/3/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:44 READ (/local/domain/3/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 READ (307200)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 READ (307200)
io: IN 0x200f62d0 (d0) 20251008 09:58:44 READ (/local/domain/4/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:44 READ (/local/domain/4/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 READ (147456)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 READ (147456)
io: IN 0x200f62d0 (d0) 20251008 09:58:44 READ (/local/domain/5/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:44 READ (/local/domain/5/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 READ (814919)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 READ (814919)
io: IN 0x200f62d0 (d0) 20251008 09:58:44 READ (/local/domain/6/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:44 READ (/local/domain/6/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 READ (973001)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 READ (973001)
io: IN 0x200f62d0 (d0) 20251008 09:58:44 READ (/local/domain/437/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:44 READ (/local/domain/437/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 READ (800069)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 READ (800069)
io: IN 0x200f62d0 (d0) 20251008 09:58:44 READ (/local/domain/438/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:44 READ (/local/domain/438/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 READ (669227)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 READ (669227)
io: IN 0x200f62d0 (d0) 20251008 09:58:44 WRITE (/local/domain/438/memory/target 725560)
io: OUT 0x202d8590 (d438) 20251008 09:58:44 WATCH_EVENT (memory/target FFFFFFFF8231D1A0 )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 WRITE (OK )
io: IN 0x202d8590 (d438) 20251008 09:58:44 READ (memory/target )
io: OUT 0x202d8590 (d438) 20251008 09:58:44 READ (725560)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 WRITE (OK )
io: IN 0x200f62d0 (d0) 20251008 09:58:44 WRITE (/local/domain/438/memory/static-max 741944)
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 WRITE (OK )
io: IN 0x200f61b0 (d0) 20251008 09:58:44 READ (/local/domain/0/memory/meminfo )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:44 READ (1431244)
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:44 READ (1431244)
io: IN 0x200f62d0 (d0) 20251008 09:58:44 READ (/local/domain/0/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:44 READ (/local/domain/0/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 READ (4194304)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 READ (4194304)
io: IN 0x200f62d0 (d0) 20251008 09:58:44 READ (/local/domain/1/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:44 READ (/local/domain/1/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 READ (307200)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 READ (307200)
io: IN 0x200f62d0 (d0) 20251008 09:58:44 READ (/local/domain/2/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:44 READ (/local/domain/2/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 READ (147456)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 READ (147456)
io: IN 0x200f62d0 (d0) 20251008 09:58:44 READ (/local/domain/3/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:44 READ (/local/domain/3/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 READ (307200)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 READ (307200)
io: IN 0x200f62d0 (d0) 20251008 09:58:44 READ (/local/domain/4/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:44 READ (/local/domain/4/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 READ (147456)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 READ (147456)
io: IN 0x200f62d0 (d0) 20251008 09:58:44 READ (/local/domain/5/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:44 READ (/local/domain/5/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 READ (814919)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 READ (814919)
io: IN 0x200f62d0 (d0) 20251008 09:58:44 READ (/local/domain/6/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:44 READ (/local/domain/6/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 READ (973001)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 READ (973001)
io: IN 0x200f62d0 (d0) 20251008 09:58:44 READ (/local/domain/437/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:44 READ (/local/domain/437/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 READ (800069)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 READ (800069)
io: IN 0x200f62d0 (d0) 20251008 09:58:44 READ (/local/domain/438/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:44 READ (/local/domain/438/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 READ (741944)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 READ (741944)
io: IN 0x200f62d0 (d0) 20251008 09:58:44 WRITE (/local/domain/0/memory/target 3793707)
io: OUT 0x200f1ee0 (d0) 20251008 09:58:44 WATCH_EVENT (memory/target FFFFFFFF8231D1A0 )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 WRITE (OK )
io: IN 0x200f62d0 (d0) 20251008 09:58:44 WRITE (/local/domain/5/memory/target 816905)
io: OUT 0x2011b160 (d5) 20251008 09:58:44 WATCH_EVENT (memory/target FFFFFFFF8231D1A0 )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 WRITE (OK )
io: IN 0x200f1ee0 (d0) 20251008 09:58:44 READ (memory/target )
io: OUT 0x200f1ee0 (d0) 20251008 09:58:44 READ (3793707)
io: IN 0x200f62d0 (d0) 20251008 09:58:44 WRITE (/local/domain/5/memory/static-max 833289)
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 WRITE (OK )
io: IN 0x2011b160 (d5) 20251008 09:58:44 READ (memory/target )
io: OUT 0x2011b160 (d5) 20251008 09:58:44 READ (816905)
io: IN 0x200f62d0 (d0) 20251008 09:58:44 READ (/local/domain/0/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:44 READ (/local/domain/0/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 READ (4194304)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 READ (4194304)
io: IN 0x200f62d0 (d0) 20251008 09:58:44 READ (/local/domain/1/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:44 READ (/local/domain/1/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 READ (307200)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 READ (307200)
io: IN 0x200f62d0 (d0) 20251008 09:58:44 READ (/local/domain/2/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:44 READ (/local/domain/2/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 READ (147456)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 READ (147456)
io: IN 0x200f62d0 (d0) 20251008 09:58:44 READ (/local/domain/3/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:44 READ (/local/domain/3/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 READ (307200)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 READ (307200)
io: IN 0x200f62d0 (d0) 20251008 09:58:44 READ (/local/domain/4/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:44 READ (/local/domain/4/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 READ (147456)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 READ (147456)
io: IN 0x200f62d0 (d0) 20251008 09:58:44 READ (/local/domain/5/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:44 READ (/local/domain/5/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 READ (833289)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 READ (833289)
io: IN 0x200f62d0 (d0) 20251008 09:58:44 READ (/local/domain/6/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:44 READ (/local/domain/6/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 READ (973001)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 READ (973001)
io: IN 0x200f62d0 (d0) 20251008 09:58:44 READ (/local/domain/437/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:44 READ (/local/domain/437/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 READ (800069)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 READ (800069)
io: IN 0x200f62d0 (d0) 20251008 09:58:44 READ (/local/domain/438/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:44 READ (/local/domain/438/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 READ (741944)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 READ (741944)
io: IN 0x200f62d0 (d0) 20251008 09:58:44 WRITE (/local/domain/6/memory/target 978551)
io: OUT 0x20128070 (d6) 20251008 09:58:44 WATCH_EVENT (memory/target FFFFFFFF8231D1A0 )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 WRITE (OK )
io: IN 0x200f62d0 (d0) 20251008 09:58:44 WRITE (/local/domain/6/memory/static-max 994935)
io: IN 0x20128070 (d6) 20251008 09:58:44 READ (memory/target )
io: OUT 0x20128070 (d6) 20251008 09:58:44 READ (978551)
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 WRITE (OK )
io: IN 0x200f62d0 (d0) 20251008 09:58:44 WRITE (/local/domain/437/memory/target 801721)
io: OUT 0x202cc990 (d437) 20251008 09:58:44 WATCH_EVENT (memory/target FFFFFFFF8231D1A0 )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 WRITE (OK )
io: IN 0x200f62d0 (d0) 20251008 09:58:44 WRITE (/local/domain/437/memory/static-max 818105)
io: IN 0x202cc990 (d437) 20251008 09:58:44 READ (memory/target )
io: OUT 0x202cc990 (d437) 20251008 09:58:44 READ (801721)
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 WRITE (OK )
io: IN 0x200f62d0 (d0) 20251008 09:58:44 WRITE (/local/domain/438/memory/target 742285)
io: OUT 0x202d8590 (d438) 20251008 09:58:44 WATCH_EVENT (memory/target FFFFFFFF8231D1A0 )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 WRITE (OK )
io: IN 0x200f62d0 (d0) 20251008 09:58:44 WRITE (/local/domain/438/memory/static-max 758669)
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:44 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:44 WRITE (OK )
io: IN 0x202d8590 (d438) 20251008 09:58:44 READ (memory/target )
io: OUT 0x202d8590 (d438) 20251008 09:58:44 READ (742285)
io: IN 0x202d8590 (d438) 20251008 09:58:44 READ (domid )
io: OUT 0x202d8590 (d438) 20251008 09:58:44 READ (438)
io: IN 0x202d8590 (d438) 20251008 09:58:44 TRANSACTION_START ( )
obj: CREATE transaction 0x202e2660
io: OUT 0x202d8590 (d438) 20251008 09:58:44 TRANSACTION_START (29 )
io: IN 0x202d8590 (d438) 20251008 09:58:44 WRITE (data/vchan/0/514/ring-ref 2659)
io: OUT 0x202d8590 (d438) 20251008 09:58:44 WRITE (OK )
io: IN 0x202d8590 (d438) 20251008 09:58:44 SET_PERMS (data/vchan/0/514/ring-ref n438 r0 )
io: OUT 0x202d8590 (d438) 20251008 09:58:44 SET_PERMS (OK )
obj: CREATE connection 0x202b3e50
io: IN 0x202b3e50 (d0) 20251008 09:58:44 WATCH (domid domid )
obj: CREATE watch 0x2031f760
io: OUT(START) 0x202b3e50 (d0) 20251008 09:58:44 WATCH (OK )
io: OUT(END) 0x202b3e50 (d0) 20251008 09:58:44 WATCH (OK )
io: OUT(START) 0x202b3e50 (d0) 20251008 09:58:44 WATCH_EVENT (domid domid )
io: OUT(END) 0x202b3e50 (d0) 20251008 09:58:44 WATCH_EVENT (domid domid )
io: IN 0x202b3e50 (d0) 20251008 09:58:44 WATCH (@releaseDomain release )
obj: CREATE watch 0x20244540
io: OUT(START) 0x202b3e50 (d0) 20251008 09:58:44 WATCH (OK )
io: OUT(END) 0x202b3e50 (d0) 20251008 09:58:44 WATCH (OK )
io: IN 0x202b3e50 (d0) 20251008 09:58:44 READ (domid )
io: OUT(START) 0x202b3e50 (d0) 20251008 09:58:44 WATCH_EVENT (@releaseDomain release )
io: OUT(END) 0x202b3e50 (d0) 20251008 09:58:44 WATCH_EVENT (@releaseDomain release )
io: OUT(START) 0x202b3e50 (d0) 20251008 09:58:44 READ (0)
io: OUT(END) 0x202b3e50 (d0) 20251008 09:58:44 READ (0)
io: IN 0x202b3e50 (d0) 20251008 09:58:44 WATCH (/local/domain/438/data/vchan/0/514/event-channel /local/domain/438/data/vchan/0/514/event-channel )
obj: CREATE watch 0x203135b0
io: OUT(START) 0x202b3e50 (d0) 20251008 09:58:44 WATCH (OK )
io: OUT(END) 0x202b3e50 (d0) 20251008 09:58:44 WATCH (OK )
io: OUT(START) 0x202b3e50 (d0) 20251008 09:58:44 WATCH_EVENT (/local/domain/438/data/vchan/0/514/event-channel /local/domain/438/data/vchan/0/514/event-channel )
io: IN 0x202d8590 (d438) 20251008 09:58:44 WRITE (data/vchan/0/514/event-channel 29)
io: OUT 0x202d8590 (d438) 20251008 09:58:44 WRITE (OK )
io: OUT(END) 0x202b3e50 (d0) 20251008 09:58:44 WATCH_EVENT (/local/domain/438/data/vchan/0/514/event-channel /local/domain/438/data/vchan/0/514/event-channel )
io: IN 0x202d8590 (d438) 20251008 09:58:44 SET_PERMS (data/vchan/0/514/event-channel n438 r0 )
io: OUT 0x202d8590 (d438) 20251008 09:58:44 SET_PERMS (OK )
io: IN 0x202b3e50 (d0) 20251008 09:58:44 READ (/local/domain/438/data/vchan/0/514/event-channel )
io: OUT(START) 0x202b3e50 (d0) 20251008 09:58:44 ERROR (ENOENT )
io: OUT(END) 0x202b3e50 (d0) 20251008 09:58:44 ERROR (ENOENT )
io: IN 0x202b3e50 (d0) 20251008 09:58:44 READ (/local/domain/438/data/vchan/0/514/event-channel )
io: OUT(START) 0x202b3e50 (d0) 20251008 09:58:44 ERROR (ENOENT )
io: OUT(END) 0x202b3e50 (d0) 20251008 09:58:44 ERROR (ENOENT )
io: IN 0x202d8590 (d438) 20251008 09:58:44 TRANSACTION_END (T )
obj: DESTROY transaction 0x202e2660
io: OUT 0x202d8590 (d438) 20251008 09:58:44 TRANSACTION_END (OK )
io: OUT(START) 0x202b3e50 (d0) 20251008 09:58:44 WATCH_EVENT (/local/domain/438/data/vchan/0/514/event-channel /local/domain/438/data/vchan/0/514/event-channel )
io: OUT(END) 0x202b3e50 (d0) 20251008 09:58:44 WATCH_EVENT (/local/domain/438/data/vchan/0/514/event-channel /local/domain/438/data/vchan/0/514/event-channel )
io: IN 0x202b3e50 (d0) 20251008 09:58:44 READ (/local/domain/438/data/vchan/0/514/event-channel )
io: OUT(START) 0x202b3e50 (d0) 20251008 09:58:44 READ (29)
io: OUT(END) 0x202b3e50 (d0) 20251008 09:58:44 READ (29)
obj: CREATE connection 0x20293f50
obj: DESTROY watch 0x2031f760
obj: DESTROY watch 0x20244540
obj: DESTROY watch 0x203135b0
obj: DESTROY connection 0x202b3e50
io: IN 0x20293f50 (d0) 20251008 09:58:44 READ (/local/domain/438/data/vchan/0/514/ring-ref )
io: OUT(START) 0x20293f50 (d0) 20251008 09:58:44 READ (2659)
io: OUT(END) 0x20293f50 (d0) 20251008 09:58:44 READ (2659)
io: IN 0x20293f50 (d0) 20251008 09:58:44 READ (/local/domain/438/data/vchan/0/514/event-channel )
io: OUT(START) 0x20293f50 (d0) 20251008 09:58:44 READ (29)
io: OUT(END) 0x20293f50 (d0) 20251008 09:58:44 READ (29)
obj: DESTROY connection 0x20293f50
io: IN 0x202d8590 (d438) 20251008 09:58:44 TRANSACTION_START ( )
obj: CREATE transaction 0x2032ed00
io: OUT 0x202d8590 (d438) 20251008 09:58:44 TRANSACTION_START (30 )
io: IN 0x202d8590 (d438) 20251008 09:58:44 RM (data/vchan/0/514 )
io: OUT 0x202d8590 (d438) 20251008 09:58:44 RM (OK )
io: IN 0x202d8590 (d438) 20251008 09:58:44 DIRECTORY (data/vchan/0 )
io: OUT 0x202d8590 (d438) 20251008 09:58:44 DIRECTORY ()
io: IN 0x202d8590 (d438) 20251008 09:58:44 RM (data/vchan/0 )
io: OUT 0x202d8590 (d438) 20251008 09:58:44 RM (OK )
io: IN 0x202d8590 (d438) 20251008 09:58:44 TRANSACTION_END (T )
obj: DESTROY transaction 0x2032ed00
io: OUT 0x202d8590 (d438) 20251008 09:58:44 TRANSACTION_END (OK )
io: IN 0x200f7390 (d0) 20251008 09:58:48 WRITE (memory/meminfo 1398148)
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:48 WATCH_EVENT (/local/domain/0/memory/meminfo 128009996322768 )
io: OUT(START) 0x200f7390 (d0) 20251008 09:58:48 WRITE (OK )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:48 WATCH_EVENT (/local/domain/0/memory/meminfo 128009996322768 )
io: OUT(END) 0x200f7390 (d0) 20251008 09:58:48 WRITE (OK )
io: IN 0x200f61b0 (d0) 20251008 09:58:48 READ (/local/domain/0/memory/meminfo )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:58:48 READ (1398148)
io: OUT(END) 0x200f61b0 (d0) 20251008 09:58:48 READ (1398148)
io: IN 0x200f62d0 (d0) 20251008 09:58:48 READ (/local/domain/0/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:48 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:48 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:48 READ (/local/domain/0/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:48 READ (4194304)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:48 READ (4194304)
io: IN 0x200f62d0 (d0) 20251008 09:58:48 READ (/local/domain/1/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:48 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:48 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:48 READ (/local/domain/1/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:48 READ (307200)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:48 READ (307200)
io: IN 0x200f62d0 (d0) 20251008 09:58:48 READ (/local/domain/2/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:48 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:48 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:48 READ (/local/domain/2/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:48 READ (147456)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:48 READ (147456)
io: IN 0x200f62d0 (d0) 20251008 09:58:48 READ (/local/domain/3/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:48 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:48 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:48 READ (/local/domain/3/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:48 READ (307200)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:48 READ (307200)
io: IN 0x200f62d0 (d0) 20251008 09:58:48 READ (/local/domain/4/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:48 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:48 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:58:48 READ (/local/domain/4/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:48 READ (147456)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:48 READ (147456)
io: IN 0x200f62d0 (d0) 20251008 09:58:48 READ (/local/domain/5/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:48 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:48 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:48 READ (/local/domain/5/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:48 READ (833289)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:48 READ (833289)
io: IN 0x200f62d0 (d0) 20251008 09:58:48 READ (/local/domain/6/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:48 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:48 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:48 READ (/local/domain/6/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:48 READ (994935)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:48 READ (994935)
io: IN 0x200f62d0 (d0) 20251008 09:58:48 READ (/local/domain/437/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:48 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:48 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:48 READ (/local/domain/437/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:48 READ (818105)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:48 READ (818105)
io: IN 0x200f62d0 (d0) 20251008 09:58:48 READ (/local/domain/438/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:48 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:48 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:58:48 READ (/local/domain/438/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:58:48 READ (758669)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:58:48 READ (758669)
obj: CREATE connection 0x20293f50
io: IN 0x20293f50 (d0) 20251008 09:58:51 RM (data/vchan/438/515 )
io: OUT(START) 0x20293f50 (d0) 20251008 09:58:51 ERROR (ENOENT )
io: OUT(END) 0x20293f50 (d0) 20251008 09:58:51 ERROR (ENOENT )
obj: DESTROY connection 0x20293f50
io: IN 0x202cc990 (d437) 20251008 09:59:00 WRITE (memory/meminfo 333512)
io: OUT 0x202cc990 (d437) 20251008 09:59:00 WRITE (OK )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:59:00 WATCH_EVENT (/local/domain/437/memory/meminfo 128009995958416 )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:59:00 WATCH_EVENT (/local/domain/437/memory/meminfo 128009995958416 )
io: IN 0x200f61b0 (d0) 20251008 09:59:00 READ (/local/domain/437/memory/meminfo )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:59:00 READ (333512)
io: OUT(END) 0x200f61b0 (d0) 20251008 09:59:00 READ (333512)
io: IN 0x200f62d0 (d0) 20251008 09:59:00 READ (/local/domain/0/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:00 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:00 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:59:00 READ (/local/domain/0/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:00 READ (4194304)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:00 READ (4194304)
io: IN 0x200f62d0 (d0) 20251008 09:59:00 READ (/local/domain/1/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:00 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:00 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:59:00 READ (/local/domain/1/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:00 READ (307200)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:00 READ (307200)
io: IN 0x200f62d0 (d0) 20251008 09:59:00 READ (/local/domain/2/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:00 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:00 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:59:00 READ (/local/domain/2/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:00 READ (147456)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:00 READ (147456)
io: IN 0x200f62d0 (d0) 20251008 09:59:00 READ (/local/domain/3/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:00 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:00 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:59:00 READ (/local/domain/3/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:00 READ (307200)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:00 READ (307200)
io: IN 0x200f62d0 (d0) 20251008 09:59:00 READ (/local/domain/4/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:00 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:00 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:59:00 READ (/local/domain/4/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:00 READ (147456)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:00 READ (147456)
io: IN 0x200f62d0 (d0) 20251008 09:59:00 READ (/local/domain/5/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:00 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:00 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:59:00 READ (/local/domain/5/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:00 READ (833289)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:00 READ (833289)
io: IN 0x200f62d0 (d0) 20251008 09:59:00 READ (/local/domain/6/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:00 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:00 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:59:00 READ (/local/domain/6/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:00 READ (994935)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:00 READ (994935)
io: IN 0x200f62d0 (d0) 20251008 09:59:00 READ (/local/domain/437/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:00 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:00 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:59:00 READ (/local/domain/437/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:00 READ (818105)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:00 READ (818105)
io: IN 0x200f62d0 (d0) 20251008 09:59:00 READ (/local/domain/438/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:00 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:00 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:59:00 READ (/local/domain/438/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:00 READ (758669)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:00 READ (758669)
io: IN 0x200f7390 (d0) 20251008 09:59:09 WRITE (memory/meminfo 1368024)
io: OUT(START) 0x200f61b0 (d0) 20251008 09:59:09 WATCH_EVENT (/local/domain/0/memory/meminfo 128009996322768 )
io: OUT(START) 0x200f7390 (d0) 20251008 09:59:09 WRITE (OK )
io: OUT(END) 0x200f61b0 (d0) 20251008 09:59:09 WATCH_EVENT (/local/domain/0/memory/meminfo 128009996322768 )
io: OUT(END) 0x200f7390 (d0) 20251008 09:59:09 WRITE (OK )
io: IN 0x200f61b0 (d0) 20251008 09:59:09 READ (/local/domain/0/memory/meminfo )
io: OUT(START) 0x200f61b0 (d0) 20251008 09:59:09 READ (1368024)
io: OUT(END) 0x200f61b0 (d0) 20251008 09:59:09 READ (1368024)
io: IN 0x200f62d0 (d0) 20251008 09:59:09 READ (/local/domain/0/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:09 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:09 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:59:09 READ (/local/domain/0/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:09 READ (4194304)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:09 READ (4194304)
io: IN 0x200f62d0 (d0) 20251008 09:59:09 READ (/local/domain/1/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:09 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:09 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:59:09 READ (/local/domain/1/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:09 READ (307200)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:09 READ (307200)
io: IN 0x200f62d0 (d0) 20251008 09:59:09 READ (/local/domain/2/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:09 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:09 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:59:09 READ (/local/domain/2/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:09 READ (147456)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:09 READ (147456)
io: IN 0x200f62d0 (d0) 20251008 09:59:09 READ (/local/domain/3/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:09 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:09 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:59:09 READ (/local/domain/3/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:09 READ (307200)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:09 READ (307200)
io: IN 0x200f62d0 (d0) 20251008 09:59:09 READ (/local/domain/4/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:09 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:09 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:59:09 READ (/local/domain/4/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:09 READ (147456)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:09 READ (147456)
io: IN 0x200f62d0 (d0) 20251008 09:59:09 READ (/local/domain/5/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:09 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:09 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:59:09 READ (/local/domain/5/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:09 READ (833289)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:09 READ (833289)
io: IN 0x200f62d0 (d0) 20251008 09:59:09 READ (/local/domain/6/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:09 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:09 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:59:09 READ (/local/domain/6/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:09 READ (994935)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:09 READ (994935)
io: IN 0x200f62d0 (d0) 20251008 09:59:09 READ (/local/domain/437/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:09 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:09 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:59:09 READ (/local/domain/437/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:09 READ (818105)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:09 READ (818105)
io: IN 0x200f62d0 (d0) 20251008 09:59:09 READ (/local/domain/438/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:09 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:09 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:59:09 READ (/local/domain/438/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:09 READ (758669)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:09 READ (758669)
io: IN 0x200f62d0 (d0) 20251008 09:59:09 WRITE (/local/domain/0/memory/target 3762759)
io: OUT 0x200f1ee0 (d0) 20251008 09:59:09 WATCH_EVENT (memory/target FFFFFFFF8231D1A0 )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:09 WRITE (OK )
io: IN 0x200f1ee0 (d0) 20251008 09:59:09 READ (memory/target )
io: OUT 0x200f1ee0 (d0) 20251008 09:59:09 READ (3762759)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:09 WRITE (OK )
io: IN 0x200f62d0 (d0) 20251008 09:59:09 WRITE (/local/domain/437/memory/target 756413)
io: OUT 0x202cc990 (d437) 20251008 09:59:09 WATCH_EVENT (memory/target FFFFFFFF8231D1A0 )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:09 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:09 WRITE (OK )
io: IN 0x202cc990 (d437) 20251008 09:59:09 READ (memory/target )
io: OUT 0x202cc990 (d437) 20251008 09:59:09 READ (756413)
io: IN 0x200f62d0 (d0) 20251008 09:59:09 WRITE (/local/domain/437/memory/static-max 772797)
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:09 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:09 WRITE (OK )
io: IN 0x200f62d0 (d0) 20251008 09:59:09 WRITE (/local/domain/5/memory/target 842175)
io: OUT(START) 0x2011b160 (d5) 20251008 09:59:09 WATCH_EVENT (memory/target FFFFFFFF8231D1A0 )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:09 WRITE (OK )
io: OUT(END) 0x2011b160 (d5) 20251008 09:59:09 WATCH_EVENT (memory/target FFFFFFFF8231D1A0 )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:09 WRITE (OK )
io: IN 0x2011b160 (d5) 20251008 09:59:09 READ (memory/target )
io: OUT 0x2011b160 (d5) 20251008 09:59:09 READ (842175)
io: IN 0x200f62d0 (d0) 20251008 09:59:09 WRITE (/local/domain/5/memory/static-max 858559)
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:09 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:09 WRITE (OK )
io: IN 0x200f62d0 (d0) 20251008 09:59:09 READ (/local/domain/0/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:09 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:09 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:59:09 READ (/local/domain/0/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:09 READ (4194304)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:09 READ (4194304)
io: IN 0x200f62d0 (d0) 20251008 09:59:09 READ (/local/domain/1/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:09 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:09 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:59:09 READ (/local/domain/1/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:09 READ (307200)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:09 READ (307200)
io: IN 0x200f62d0 (d0) 20251008 09:59:09 READ (/local/domain/2/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:09 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:09 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:59:09 READ (/local/domain/2/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:09 READ (147456)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:09 READ (147456)
io: IN 0x200f62d0 (d0) 20251008 09:59:09 READ (/local/domain/3/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:09 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:09 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:59:09 READ (/local/domain/3/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:09 READ (307200)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:09 READ (307200)
io: IN 0x200f62d0 (d0) 20251008 09:59:09 READ (/local/domain/4/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:09 ERROR (ENOENT )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:09 ERROR (ENOENT )
io: IN 0x200f62d0 (d0) 20251008 09:59:09 READ (/local/domain/4/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:09 READ (147456)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:09 READ (147456)
io: IN 0x200f62d0 (d0) 20251008 09:59:09 READ (/local/domain/5/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:09 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:09 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:59:09 READ (/local/domain/5/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:09 READ (858559)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:09 READ (858559)
io: IN 0x200f62d0 (d0) 20251008 09:59:09 READ (/local/domain/6/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:09 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:09 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:59:09 READ (/local/domain/6/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:09 READ (994935)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:09 READ (994935)
io: IN 0x200f62d0 (d0) 20251008 09:59:09 READ (/local/domain/437/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:09 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:09 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:59:09 READ (/local/domain/437/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:09 READ (772797)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:09 READ (772797)
io: IN 0x200f62d0 (d0) 20251008 09:59:09 READ (/local/domain/438/memory/hotplug-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:09 READ (4096000)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:09 READ (4096000)
io: IN 0x200f62d0 (d0) 20251008 09:59:09 READ (/local/domain/438/memory/static-max )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:09 READ (758669)
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:09 READ (758669)
io: IN 0x200f62d0 (d0) 20251008 09:59:09 WRITE (/local/domain/6/memory/target 1008723)
io: OUT 0x20128070 (d6) 20251008 09:59:09 WATCH_EVENT (memory/target FFFFFFFF8231D1A0 )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:09 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:09 WRITE (OK )
io: IN 0x20128070 (d6) 20251008 09:59:09 READ (memory/target )
io: OUT 0x20128070 (d6) 20251008 09:59:09 READ (1008723)
io: IN 0x200f62d0 (d0) 20251008 09:59:09 WRITE (/local/domain/6/memory/static-max 1025107)
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:09 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:09 WRITE (OK )
io: IN 0x200f62d0 (d0) 20251008 09:59:09 WRITE (/local/domain/438/memory/target 765292)
io: OUT 0x202d8590 (d438) 20251008 09:59:09 WATCH_EVENT (memory/target FFFFFFFF8231D1A0 )
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:09 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:09 WRITE (OK )
io: IN 0x200f62d0 (d0) 20251008 09:59:09 WRITE (/local/domain/438/memory/static-max 781676)
io: IN 0x202d8590 (d438) 20251008 09:59:09 READ (memory/target )
io: OUT 0x202d8590 (d438) 20251008 09:59:09 READ (765292)
io: OUT(START) 0x200f62d0 (d0) 20251008 09:59:09 WRITE (OK )
io: OUT(END) 0x200f62d0 (d0) 20251008 09:59:09 WRITE (OK )

--EOffPDlDNkDEvIRD--

--O0+I/Fh3QEEUb0gp
Content-Type: application/pgp-signature; name=signature.asc

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmjmb4oACgkQ24/THMrX
1yzNaQgAiRCaAxrKBmwH00zST7qkjaHPb16fUJYA3ynjYJAumL05968hO1pI8kD2
TXsVcPNrFJMzUxqnac6yA8bc5rsOYXtzxupFSDATu1VWUDvMHhSX0hQV3uyWKJP9
G4jktJJbNXJT7dzJgtH427mUoHCcs/RLH9UIp7q4zaLQjCKJ/ljAi5E0GxRsUqca
LHaPJ+lBzeliL/LQgFZYMy8crZ7p3bE7M+A3bG3C4XYWOCpG9hRnIaG8UTbl4Hy4
Ucz4I/Vw691Qe/zGt7acb3qiIOj7lhCRkZn35Tpqz2BbMbBZUl8C16C195Sfoe1p
u/YF15uwDWq0mvVtLcu07d0K6VcNLg==
=Mb33
-----END PGP SIGNATURE-----

--O0+I/Fh3QEEUb0gp--


From xen-devel-bounces@lists.xenproject.org Wed Oct 08 14:05:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Oct 2025 14:05:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1139762.1475009 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6Una-0007yr-Tt; Wed, 08 Oct 2025 14:05:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1139762.1475009; Wed, 08 Oct 2025 14:05:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6Una-0007yk-PY; Wed, 08 Oct 2025 14:05:46 +0000
Received: by outflank-mailman (input) for mailman id 1139762;
 Wed, 08 Oct 2025 14:05:46 +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 <SRS0=eGu8=4R=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v6Una-0007Ym-AH
 for xen-devel@lists.xenproject.org; Wed, 08 Oct 2025 14:05:46 +0000
Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com
 [2a00:1450:4864:20::536])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dfd919da-a44f-11f0-9809-7dc792cee155;
 Wed, 08 Oct 2025 16:05:41 +0200 (CEST)
Received: by mail-ed1-x536.google.com with SMTP id
 4fb4d7f45d1cf-6394b4ff908so12402833a12.3
 for <xen-devel@lists.xenproject.org>; Wed, 08 Oct 2025 07:05:41 -0700 (PDT)
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
 4fb4d7f45d1cf-639f30ad48csm82376a12.4.2025.10.08.07.05.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 08 Oct 2025 07:05:40 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dfd919da-a44f-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1759932341; x=1760537141; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=5QaEVUNAD9UR6biYxNxxTVOTuaCnccgxtmxKkYgrgac=;
        b=WJPeBwTh0S47UOiTmBM4v5nBAk1PlAqBsqAiJTvrD/BPBcXHItOZgJkE15MzxGAHvB
         D0g4SQlhQDoDX366/jpmThyON9kfuye/8ytA6Ii4sl2sUDG3s9zmjy1NH3hHPL5WccUP
         EnUevm0xm39r+HxyjBGFDB9ttBb7OWyiLmYIQT5AxG56vTFEXeLIRP96p62b2Br90Rlb
         LZkb8TiBqf/q74mlgtIWVPKw8Zcgtr/PNIuaZ1uNwP/2aTLTLS2QRAhLRrqPqdUbnRa3
         0JQ2BDvlJh8a8bxU4LJhF18jWxLsbTSjxDqdtQiSYY44eXM2UJhPFhcIugXOuy/QlGDI
         jLmQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759932341; x=1760537141;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=5QaEVUNAD9UR6biYxNxxTVOTuaCnccgxtmxKkYgrgac=;
        b=HTovZgEqS0jChaf14lk0x429+jtQbAHVs6Jk3LgTYnmGY6/8vz/qTmqAV5DZQfXPy4
         Du4HQ4zw9LpWP6pXzzn4JYLBgUw+bofN9Agn9zXK7AFlMoZlONvCX5xOH0az1aE6DHdc
         bg2xKV7Ex3DF9NTmjVZlZZjwq76btlYp4VhPfKmcDw8LspeXNzf1vJBwALCIYsqzonOb
         g8SdlfOLIjweqN0F82n8V+aHyVB4yZqc5a0sv/4JfbZZD36AveDki1QpDmIMWwZGf4tB
         z5WAxZasBWTmTYaMWsw382au/2cNIzra6pPoCOZe60F/3DyHaeoO5z9FMQMJBYAwN1ge
         5Ydg==
X-Forwarded-Encrypted: i=1; AJvYcCXDS43kw/O38v3vvAvvIz1FRc+CvZsUBNWPjcl94exa1JhS4YIKRENuGLS5SWH60owStx3TXSz1pJ0=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy6T12r3lCPoiOKO9ohoujHEvlzhRKOvH4iAVK1v+B/lcVHWDfo
	mOwjfabcPxcFmjNnycOnMbia/h9YXQ6bshPybEnVGX/2PF1Kdnu89aQ2G2FlYE97Ig==
X-Gm-Gg: ASbGncuK8WKkRILodSiM42hW5/cYq6aRoBYBG1npXRKxZFe3Ykew0KK5a/ny0vjx+x5
	zttVJOgBhnuGOh/WMxZshH2qhlKjOgVXSOFT6D4N05+tWYL2gblYfJqMHBG/wp87nZmUzduSmGq
	xmWMT6LHt1mwGpQzBu+jm3Mr7J++l+dU0G2J7uos5AGD8D8PotW2JmVI1VSor5napjA5Gkv0nvG
	5M7+th14A/7izHYf/e8YhbjxxX5b52f+pkFE4llYT04SD6VLJzgIl2HqZEZhN2Y6R/YTYt+l6dW
	Mn/NvVIz5H4c2ZQfWEb5WCVFa0sdkh7lcVy8qy3oaLY34fBkcj6Cm8UVHjCbw5NG7amBvYK/wb+
	XCE1Zy6XKzMmXZ78nyiDw32tzncpvsM1rzXzL+yEaMOlLyvsy0OtpvGxk5Nnu/PX6IM0wncftYY
	NzJpu2O3CGLLp4ug8B/03ebR0KtmNHnn8=
X-Google-Smtp-Source: AGHT+IH0HSpq9tg294+quSfHy5oIslkkxYOeixY6D0E+GkG5c8hA0lnyqfdIVySjkdYZsqurrsq7wA==
X-Received: by 2002:a05:6402:1e96:b0:62f:a3ae:ff0d with SMTP id 4fb4d7f45d1cf-639d5b8f206mr3207025a12.14.1759932340877;
        Wed, 08 Oct 2025 07:05:40 -0700 (PDT)
Message-ID: <f92139ba-b944-495f-8057-07271f3f7b17@suse.com>
Date: Wed, 8 Oct 2025 16:05:39 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21??? 1/3] x86/vLAPIC: add indirection to LVT
 handling
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Grygorii Strashko <grygorii_strashko@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <265d5053-af61-42cb-a3b9-ef60df39c21b@suse.com>
 <dd6b46f8-76f7-46d3-b3be-083b58781f32@suse.com>
 <e8fa4e2e-d788-4dcc-b1b5-9a3e0a70ef49@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <e8fa4e2e-d788-4dcc-b1b5-9a3e0a70ef49@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 08.10.2025 15:04, Andrew Cooper wrote:
> On 08/10/2025 1:08 pm, Jan Beulich wrote:
>> In preparation to add support for the CMCI LVT, which is discontiguous to
>> the other LVTs, add a level of indirection.
> 
> It's not the only extra LVT.
> 
> AMD have Extended LVTs, which are necessary if we want to get virt-PMU
> working.
> 
> https://sandpile.org/x86/apic.htm is a recent addition which covers all
> of this.

Hmm, yes, but these will need taking care of separately anyway.

>>  Rename the prior
>> vlapic_lvt_mask[] while doing so (as subsequently a 2nd array will want
>> adding, for use by guest_wrmsr_x2apic()).
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> I'm afraid this introduces a vulnerability.
> 
> APIC_LVR is a toolstack-provided value.Â  Nothing bounds checks the
> MAX_LVT value in it AFAICT, and previously this did not matter (from a
> security point of view at least) because the loop bounds were constant.

Oh, right, I should have thought of that. As you don't suggest anything,
I'm going to simply add a check that the incoming value matches the one
that's there already. There will still be a quirk due to MCG_CAP and
APIC registers being loaded separately, with no defined ordering between
them. Within our current infrastructure I don't really see how to deal
with this kind of inter-dependency.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Oct 08 14:08:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Oct 2025 14:08:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1139780.1475019 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6UqY-0000KV-AP; Wed, 08 Oct 2025 14:08:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1139780.1475019; Wed, 08 Oct 2025 14:08:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6UqY-0000KO-6c; Wed, 08 Oct 2025 14:08:50 +0000
Received: by outflank-mailman (input) for mailman id 1139780;
 Wed, 08 Oct 2025 14:08:48 +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 <SRS0=SGyo=4R=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1v6UqW-0000KI-LN
 for xen-devel@lists.xenproject.org; Wed, 08 Oct 2025 14:08:48 +0000
Received: from mail-ed1-x535.google.com (mail-ed1-x535.google.com
 [2a00:1450:4864:20::535])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4e23fbc4-a450-11f0-9809-7dc792cee155;
 Wed, 08 Oct 2025 16:08:46 +0200 (CEST)
Received: by mail-ed1-x535.google.com with SMTP id
 4fb4d7f45d1cf-637e9f9f9fbso12334605a12.0
 for <xen-devel@lists.xenproject.org>; Wed, 08 Oct 2025 07:08:46 -0700 (PDT)
Received: from ?IPV6:2003:e5:873f:400:7b4f:e512:a417:5a86?
 (p200300e5873f04007b4fe512a4175a86.dip0.t-ipconnect.de.
 [2003:e5:873f:400:7b4f:e512:a417:5a86])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-639f30e7da1sm78950a12.16.2025.10.08.07.08.44
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 08 Oct 2025 07:08:45 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4e23fbc4-a450-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1759932526; x=1760537326; darn=lists.xenproject.org;
        h=in-reply-to:autocrypt:from:content-language:references:to:subject
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=yWvWQrKKpot6iE/eadltXDcyyds7YjMhlewuO3No6G0=;
        b=gSadUq7tIHKl6nvtcPPVIRMzc99k5KKcQirXR3o5As/NfKU+RmPQBtcsgDpfL6AXrX
         plTJMbtt0tFXQPEpLXR3GbAewb02FmlymRjC3wCOXwBNiBX4ClzESBPVJsN5btUqas9a
         Nk6/auSbJLzC9g5Ny6Fmen3xFhKcC1JVxAtFfvG5Wp4a2xP8EA8ITfyl/0Ik0sfCbHIm
         Ooq9uGfn3LQGa9/lEGJbPvyte6GGuvQJZEFnw1JC3LsWZ9wnHrg00x4FtGjjSxjSgSZF
         SBDXrNRtkft7QbW18VAjFhIwNYXQxpeIwa8ZI6MYXZYtisWe65jc5jIHdD1LqjMfP6ei
         Qfbg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759932526; x=1760537326;
        h=in-reply-to:autocrypt:from:content-language:references:to:subject
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=yWvWQrKKpot6iE/eadltXDcyyds7YjMhlewuO3No6G0=;
        b=Iv1jGYhon5Tw/yd8+fO/n3QWI5v1+nlcLh9txkEap2JEdJk68Cv0CkFSdN1Z/IruZZ
         Pzf1VMG69JEU2Wb83a30h1KwDmmf0y+EKEV2WRNCskuU8cl/iiGe5bJXcewO0wVLD/nJ
         o+iUwchetsNKW6+97XyiiqGdFpRAwjYjx6K1CGiHf9clgjLm8fVQ3Q5+n0LGrCQl5Nt0
         TJYSlZ84S70bpz0EkRFJ0e1usEjij2QeCnpssobn6pHIvyQvaiw7bmqVFtdtt793zvXT
         Y+T6YZSlf6rU4lqLS/vbzD8VnDKPkR2jJHd9VhKBIMuJHsJxWhWQl6IikLBVqf8xy3o9
         M7BQ==
X-Forwarded-Encrypted: i=1; AJvYcCXeMbJT5abw/+sn0cx8WtQOr4WItXSfhGcuVtuVmuXtELc846XINSwpAuC/Ih8RrnyFC25wlVQ2SUw=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzzw4WnJE38vnyhYqEIbG8IKwZivYKPVcZ7S0lr2RCVKeRc7w7V
	p984ixDX3cIoqNwjZ3kNba1pk8tea8FTUggOkQrGbH6/Eoed7Vk0aK3lMgg5kASOWxQ=
X-Gm-Gg: ASbGnctoZbVmQ90gEBBJxRZ4pMBg3rJTPir531s/Bz94n4UcSYhgEC3KT433rFNcva3
	T2xI8nXTo9RYQoISLaXyOxxZvs6HA5l9o102JSVwIjKtaiZikahPUG2qwu28Hzp6WWUUBSHiXvF
	kxPFJSj5jBEav8+LhU3LToRk7j1Nd5hMfnCJyO4VBzX4bu4pMQZNQilaiamOCSwWbQdGfqEAUGg
	+0xSDNgg3ffbVEozgBXK0Zwc9TNtGNlvQUw+uqWOhbkd/81GF7QfK8OId/KH2LDbDTZuZn8lLFZ
	N/2fQTuNDKREAyCEBr7c/dHX1+f9HC3pEWNhiJfnib8I73frg2q4TKG2TmH95CqgQzyFRKHIzvy
	hC4FLXl6tX4SjX3yPBFiXE0npLoGyUTNZVnXzLLWdFoDf98jCdKJCElozhezY4cmaLHJnl35S2N
	QA5Y8jHz2IJJyxayWpz0JSHC51djHio4079GwJoh9I2eXgHhOjYHnxAW0Dqp0pphn8Pt5NRMB7n
	70ZgqUg5O7TfWeJEw==
X-Google-Smtp-Source: AGHT+IFKog8nipetC1GsWGIhYWOnNvJm+COO5pokpV3/+8w04/m1O2pfpH3LKvMbD09YIMl51U3mrQ==
X-Received: by 2002:aa7:c9d4:0:b0:637:e94a:fb56 with SMTP id 4fb4d7f45d1cf-639d5c71065mr2593188a12.35.1759932525291;
        Wed, 08 Oct 2025 07:08:45 -0700 (PDT)
Message-ID: <af7a1b15-ddfb-4dd9-8a5a-31e5dd2d2952@suse.com>
Date: Wed, 8 Oct 2025 16:08:44 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Linux xenfs vs privcmd
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 xen-devel <xen-devel@lists.xenproject.org>
References: <e1627855-e7f4-4fe7-8079-68c3a0d488fb@citrix.com>
Content-Language: en-US
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <e1627855-e7f4-4fe7-8079-68c3a0d488fb@citrix.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------cCIFxDNkTn0ZfvhK7G2s1wP2"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------cCIFxDNkTn0ZfvhK7G2s1wP2
Content-Type: multipart/mixed; boundary="------------8L07pcQX91xV3PB039xycZ3W";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 xen-devel <xen-devel@lists.xenproject.org>
Message-ID: <af7a1b15-ddfb-4dd9-8a5a-31e5dd2d2952@suse.com>
Subject: Re: Linux xenfs vs privcmd
References: <e1627855-e7f4-4fe7-8079-68c3a0d488fb@citrix.com>
In-Reply-To: <e1627855-e7f4-4fe7-8079-68c3a0d488fb@citrix.com>

--------------8L07pcQX91xV3PB039xycZ3W
Content-Type: multipart/mixed; boundary="------------SfMm9xmWOwlj07uTyIot8eAJ"

--------------SfMm9xmWOwlj07uTyIot8eAJ
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMDguMTAuMjUgMTU6MzMsIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+IEhlbGxvLA0KPiAN
Cj4gSSdtIGRvaW5nIGEgZGVwbG95bWVudCBvZiBYZW4gb24gYSByZW1vdGUgc3lzdGVtIHBy
b3Zpc2lvbmVkIHdpdGggVWJ1bnR1DQo+IDI0LjA0LCBhbmQgSSd2ZSBmb3VuZCB3aGF0IEkn
bSBwcmV0dHkgc3VyZSBpcyBhIGJ1Zy4NCj4gDQo+IEluIGRvbTAsIHRvIHN0YXJ0IHdpdGg6
DQo+IA0KPiB1c2VyQGhvc3Q6fiQgbHMgLWxhIC9kZXYveGVuLw0KPiB0b3RhbCAwDQo+IGRy
d3hyLXhyLXjCoCAyIHJvb3Qgcm9vdMKgwqDCoMKgIDE0MCBPY3TCoCA4IDIwOjA0IC4NCj4g
ZHJ3eHIteHIteCAxOCByb290IHJvb3TCoMKgwqAgNDYyMCBPY3TCoCA4IDIwOjA0IC4uDQo+
IGNydy0tLS0tLS3CoCAxIHJvb3Qgcm9vdCAxMCwgMTIwIE9jdMKgIDggMjA6MDQgZXZ0Y2hu
DQo+IGNydy0tLS0tLS3CoCAxIHJvb3Qgcm9vdCAxMCwgMTE4IE9jdMKgIDggMjA6MDQgZ250
YWxsb2MNCj4gY3J3LS0tLS0tLcKgIDEgcm9vdCByb290IDEwLCAxMTkgT2N0wqAgOCAyMDow
NCBnbnRkZXYNCj4gY3J3LS0tLS0tLcKgIDEgcm9vdCByb290IDEwLCAxMjQgT2N0wqAgOCAy
MDowNCB4ZW5idXMNCj4gY3J3LS0tLS0tLcKgIDEgcm9vdCByb290IDEwLCAxMjMgT2N0wqAg
OCAyMDowNCB4ZW5idXNfYmFja2VuZA0KPiB1c2VyQGhvc3Q6fiQgbHMgLWxhIC9wcm9jL3hl
bi8NCj4gdG90YWwgMA0KPiBkci14ci14ci14wqDCoCAyIHJvb3Qgcm9vdCAwIE9jdMKgIDgg
MjA6MDQgLg0KPiBkci14ci14ci14IDMyNiByb290IHJvb3QgMCBPY3TCoCA4IDIwOjA0IC4u
DQo+IA0KPiBpLmUuIG5vIC9kZXYveGVuL3ByaXZjbWQuDQo+IA0KPiBJdCB0dXJucyBvdXQg
dGhhdCBtb3VudGluZyB4ZW5mcyBjYXVzZXMgaXQgdG8gYXBwZWFyOg0KPiANCj4gdXNlckBo
b3N0On4kIHN1ZG8gc3lzdGVtY3RsIHN0YXJ0IHByb2MteGVuLm1vdW50DQo+IHVzZXJAaG9z
dDp+JCBscyAtbGEgL2Rldi94ZW4vDQo+IHRvdGFsIDANCj4gZHJ3eHIteHIteMKgIDIgcm9v
dCByb290wqDCoMKgwqAgMTgwIE9jdMKgIDggMjA6MDUgLg0KPiBkcnd4ci14ci14IDE4IHJv
b3Qgcm9vdMKgwqDCoCA0NjIwIE9jdMKgIDggMjA6MDQgLi4NCj4gY3J3LS0tLS0tLcKgIDEg
cm9vdCByb290IDEwLCAxMjAgT2N0wqAgOCAyMDowNCBldnRjaG4NCj4gY3J3LS0tLS0tLcKg
IDEgcm9vdCByb290IDEwLCAxMTggT2N0wqAgOCAyMDowNCBnbnRhbGxvYw0KPiBjcnctLS0t
LS0twqAgMSByb290IHJvb3QgMTAsIDExOSBPY3TCoCA4IDIwOjA0IGdudGRldg0KPiBjcnct
LS0tLS0twqAgMSByb290IHJvb3QgMTAsIDExNSBPY3TCoCA4IDIwOjA1IGh5cGVyY2FsbA0K
PiBjcnctLS0tLS0twqAgMSByb290IHJvb3QgMTAsIDExNiBPY3TCoCA4IDIwOjA1IHByaXZj
bWQNCj4gY3J3LS0tLS0tLcKgIDEgcm9vdCByb290IDEwLCAxMjQgT2N0wqAgOCAyMDowNCB4
ZW5idXMNCj4gY3J3LS0tLS0tLcKgIDEgcm9vdCByb290IDEwLCAxMjMgT2N0wqAgOCAyMDow
NCB4ZW5idXNfYmFja2VuZA0KPiB1c2VyQGhvc3Q6fiQgbHMgLWxhIC9wcm9jL3hlbi8NCj4g
dG90YWwgMA0KPiBkcnd4ci14ci14wqDCoCAyIHJvb3Qgcm9vdCAwIE9jdMKgIDggMjA6MDUg
Lg0KPiBkci14ci14ci14IDMxNSByb290IHJvb3QgMCBPY3TCoCA4IDIwOjA0IC4uDQo+IC1y
LS1yLS1yLS3CoMKgIDEgcm9vdCByb290IDAgT2N0wqAgOCAyMDowNSBjYXBhYmlsaXRpZXMN
Cj4gLXJ3LS0tLS0tLcKgwqAgMSByb290IHJvb3QgMCBPY3TCoCA4IDIwOjA1IHByaXZjbWQN
Cj4gLXJ3LS0tLS0tLcKgwqAgMSByb290IHJvb3QgMCBPY3TCoCA4IDIwOjA1IHhlbmJ1cw0K
PiAtci0tLS0tLS0twqDCoCAxIHJvb3Qgcm9vdCAwIE9jdMKgIDggMjA6MDUgeGVuc3ltcw0K
PiAtcnctLS0tLS0twqDCoCAxIHJvb3Qgcm9vdCAwIE9jdMKgIDggMjA6MDUgeHNkX2t2YQ0K
PiAtcnctLS0tLS0twqDCoCAxIHJvb3Qgcm9vdCAwIE9jdMKgIDggMjA6MDUgeHNkX3BvcnQN
Cj4gDQo+IEZvciBnb29kIG1lYXN1cmUsIEkgY2hlY2tlZCB1bm1vdW50aW5nIHhlbmZzOg0K
PiANCj4gdXNlckBob3N0On4kIHN1ZG8gdW1vdW50IC9wcm9jL3hlbg0KPiB1c2VyQGhvc3Q6
fiQgbHMgLWxhIC9kZXYveGVuLw0KPiB0b3RhbCAwDQo+IGRyd3hyLXhyLXjCoCAyIHJvb3Qg
cm9vdMKgwqDCoMKgIDE4MCBPY3TCoCA4IDIwOjA1IC4NCj4gZHJ3eHIteHIteCAxOCByb290
IHJvb3TCoMKgwqAgNDYyMCBPY3TCoCA4IDIwOjA0IC4uDQo+IGNydy0tLS0tLS3CoCAxIHJv
b3Qgcm9vdCAxMCwgMTIwIE9jdMKgIDggMjA6MDQgZXZ0Y2huDQo+IGNydy0tLS0tLS3CoCAx
IHJvb3Qgcm9vdCAxMCwgMTE4IE9jdMKgIDggMjA6MDQgZ250YWxsb2MNCj4gY3J3LS0tLS0t
LcKgIDEgcm9vdCByb290IDEwLCAxMTkgT2N0wqAgOCAyMDowNCBnbnRkZXYNCj4gY3J3LS0t
LS0tLcKgIDEgcm9vdCByb290IDEwLCAxMTUgT2N0wqAgOCAyMDowNSBoeXBlcmNhbGwNCj4g
Y3J3LS0tLS0tLcKgIDEgcm9vdCByb290IDEwLCAxMTYgT2N0wqAgOCAyMDowNSBwcml2Y21k
DQo+IGNydy0tLS0tLS3CoCAxIHJvb3Qgcm9vdCAxMCwgMTI0IE9jdMKgIDggMjA6MDQgeGVu
YnVzDQo+IGNydy0tLS0tLS3CoCAxIHJvb3Qgcm9vdCAxMCwgMTIzIE9jdMKgIDggMjA6MDQg
eGVuYnVzX2JhY2tlbmQNCj4gdXNlckBob3N0On4kIGxzIC1sYSAvcHJvYy94ZW4vDQo+IHRv
dGFsIDANCj4gZHIteHIteHIteMKgwqAgMiByb290IHJvb3QgMCBPY3TCoCA4IDIwOjA0IC4N
Cj4gZHIteHIteHIteCAyOTEgcm9vdCByb290IDAgT2N0wqAgOCAyMDowNCAuLg0KPiANCj4g
YW5kIC9kZXYveGVuL3ByaXZjbWQgc3RheWVkLg0KPiANCj4gDQo+IEFueXdheSAtIC9kZXYv
eGVuL3ByaXZjbWQgKGFuZCAvaHlwZXJjYWxsKSBzaG91bGRuJ3QgYmUgdGllZCB0byB4ZW5m
cy4NCj4gVGhleSBzaG91bGQgYmUgU0lGX1BSSVZJTEVHRUQgYWxvbmUsIHNob3VsZCB0aGV5
IG5vdD8NCg0KSSBkb24ndCB0aGluayB0aGV5IHNob3VsZCBiZSB0aWVkIHRvIFNJRl9QUklW
SUxFR0VELCBhcyBkZXZpY2UgbW9kZWwgb3BzDQphcmUgaGFuZGxlZCB2aWEgdGhlIHByaXZj
bWQgZHJpdmVyLCB0b28uDQoNClRCSCBJIGhhdmUgbm8gaWRlYSB3aHkgdGhlcmUgaXMgYSBk
aXJlY3QgY29ubmVjdGlvbiB0byB4ZW5mcy4NCg0KRGlkIHlvdSB0cnkgdG8gbW9kcHJvYmUg
cHJpdmNtZCB3aXRob3V0IG1vdW50aW5nIHhlbmZzPyBJIGd1ZXNzIHRoZQ0KY29ubmVjdGlv
biBpcyB0aGF0IHRoZSBjYXBhYmlsaXRpZXMgaW4gL3Byb2MveGVuL2NhcGFiaWxpdGllcyBh
cmUgdGVzdGVkIHRvDQpjb250YWluICJjb250cm9sX2QiLCByZXN1bHRpbmcgaW4gdGhlIHBy
aXZjbWQgZHJpdmVyIHRvIGJlIGxvYWRlZC4NCg0KDQpKdWVyZ2VuDQo=
--------------SfMm9xmWOwlj07uTyIot8eAJ
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------SfMm9xmWOwlj07uTyIot8eAJ--

--------------8L07pcQX91xV3PB039xycZ3W--

--------------cCIFxDNkTn0ZfvhK7G2s1wP2
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmjmcGwFAwAAAAAACgkQsN6d1ii/Ey80
RQf+O5AHiKH98K1+FFB6rxGQxbB8S18dSMdHBK/i6S95TfPgmgvipbWenOKzF0WQfyoIs3AAw+j+
H4c7NnCZf60IuZBK42kvWWZNu6Svle5JIzX2ORX6QNzOe2wPB6lyYDsjfbmGcw9QjUvs9KUZs4gQ
UUVkHLswFPRkhJy+SF/QqO0A2Tt8mKQNbHUSErxEYyCKB/01axWNWVvvhHPr4ZwNYEcGG1yC8lO/
LQe89YCXf3cHKdsqPYaXeozGoGuyu0I3N2XcG0oKzn2EJ5w/qtLQFVrctWVri3usfdbMmovllSTa
wUkFH1iZfgILWAZYrG139ywoAnjRNUdDSQ+54atZ6g==
=qSGw
-----END PGP SIGNATURE-----

--------------cCIFxDNkTn0ZfvhK7G2s1wP2--


From xen-devel-bounces@lists.xenproject.org Wed Oct 08 14:22:48 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Oct 2025 14:22:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1139795.1475029 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6V40-0003TD-D3; Wed, 08 Oct 2025 14:22:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1139795.1475029; Wed, 08 Oct 2025 14:22:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6V40-0003T6-AG; Wed, 08 Oct 2025 14:22:44 +0000
Received: by outflank-mailman (input) for mailman id 1139795;
 Wed, 08 Oct 2025 14:22:43 +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 <SRS0=eGu8=4R=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v6V3z-0003T0-IG
 for xen-devel@lists.xenproject.org; Wed, 08 Oct 2025 14:22:43 +0000
Received: from mail-ed1-x52e.google.com (mail-ed1-x52e.google.com
 [2a00:1450:4864:20::52e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3f5c6f82-a452-11f0-9809-7dc792cee155;
 Wed, 08 Oct 2025 16:22:41 +0200 (CEST)
Received: by mail-ed1-x52e.google.com with SMTP id
 4fb4d7f45d1cf-6399706fd3cso6509768a12.2
 for <xen-devel@lists.xenproject.org>; Wed, 08 Oct 2025 07:22:40 -0700 (PDT)
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
 4fb4d7f45d1cf-639f4109046sm71123a12.44.2025.10.08.07.22.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 08 Oct 2025 07:22:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3f5c6f82-a452-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1759933360; x=1760538160; 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=okl9eWLacisYcY17Z21lkbNIx/NgzQgsC5anypX0D3M=;
        b=DyiWw1C5Kc/AVwBw5+Udc4dP/sjJq1Y8QEUP7nTH7KtZlAISebutJLiJ6GzEB2J3ni
         dtx6amBtEpdovPwjpZgZpD7roWOnrwnpxKJnqrBRR2KJAK8FZh0xjKSK/QfyEXOzpEuK
         WJktO4mX/A2UXBYWU7kuRb5HSjby5i5cIOFGeYvXWAA83tPn5vqjog1ywpo1v1897Prv
         d2dr/Kh6Sok/JajlodquWWljTLHHXJ4lGm0fLVSfM3NqgKDWZNtJRiiQZetvDUm3ZUgu
         dDEoqgebjAxstBFaIr5rVJIklIjtZs0TwFBRp6eMlX0ihkA2AVQabT3r32dkPE7V3uzv
         Gitw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759933360; x=1760538160;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=okl9eWLacisYcY17Z21lkbNIx/NgzQgsC5anypX0D3M=;
        b=tt/C76kvFIRgxAXA/Cnv+0uCcs1rCNrrpdi+1txGw56y1FeC4G1IDbZkdyakypS6iu
         FtaMvX895BQAmdJcbJC4FweAkByCb3sa43EZxP+X46F5lYd21WCHImZVCznaU7yCAxcp
         KfAj+rsNN+n8Z3oUpBRRwbDDTizeJNc624s09oh//QFawxC23XivgLk7wMFaZ08ngDUJ
         9MvM9kNCTWOOlYtNYOjGJ+XMUVVXo31xcuzU/1zMjkNqudr3Ze+Buw17P2Nez6VMI7NH
         wAsoJ+l5CcSreg3dXM/1KyXnA53gbPFE5+KsN8QETeC6LAECCnlMfclEVS5ZzjQQVX64
         pmSg==
X-Forwarded-Encrypted: i=1; AJvYcCUDENuxqeusWpRks3LEC3orzNal6Uztm0os5XAGI9x8zsqglgg7YynSnmnjD7UGk32FtxJFavBNzZ8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyAA3ZfhCgJmf4j17SmSySjlFKhdEh+rn459hrfhWjOvAYnyJdV
	KWlMhxo+QMGNaZlSDeg+lXrbWxtDR4NC+LHpnuMoC3kE/wr2cheKfB5kthcNjkEkTg==
X-Gm-Gg: ASbGncsNTAQmjZs7Ke5QbqT1A0JH5ZMPMSnYu6Vv6z7RbtEewKidagJyXtkXv1ubsXo
	SqFkk33EcOGTwffWMwAiU1m4noxww9ZWhXrZqljJx5Llfd06j5C/iGAytjBWVzhFUY4mlKNKb62
	GS3Ro48P/oedfZKfq4UVyqE8zvwbtF3EBGBDUhPTBAiNTOxlPjnySiCoOKOO/ustQoOlxyqQnto
	4mubqD3ldhVevzdYRWRtOjMh/QFZqkmk4nCBavWRDx6NPNA60ERYZo1Fd5jCNzmwbAmQ6rKGish
	kj5K748QXxR4ub4ADOmNHodhBVSP/xzbzDKqIiWiMNPTztTLdzmYRu5QmyUbZkGjQI8p8TMeePn
	wPbwnTcDEr4V8BCklSUkW9VT/QRUnv5TAupsp1wR4VJOCJzPscNkphLxSkOji7JQ6+yWr7tV6hU
	n5qmhsUP0FnG8WcihCzqNqXi1e7MrC9OH8AHS5vywUavKDUCkp3DGY
X-Google-Smtp-Source: AGHT+IHOef2gKWdo4NVnqdvmY3bf3ewSE8su/oQAei+J3aYoPpQ2PxRLZASalcvndeNdBMXpZCcMig==
X-Received: by 2002:a05:6402:26c9:b0:639:dab5:d605 with SMTP id 4fb4d7f45d1cf-639dab5db04mr3026535a12.27.1759933360112;
        Wed, 08 Oct 2025 07:22:40 -0700 (PDT)
Message-ID: <bb45b249-ecfb-40e3-9196-f7c7fb3e2f7a@suse.com>
Date: Wed, 8 Oct 2025 16:22:39 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21??? 1/3] x86/vLAPIC: add indirection to LVT
 handling
From: Jan Beulich <jbeulich@suse.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Grygorii Strashko <grygorii_strashko@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <265d5053-af61-42cb-a3b9-ef60df39c21b@suse.com>
 <dd6b46f8-76f7-46d3-b3be-083b58781f32@suse.com>
 <e8fa4e2e-d788-4dcc-b1b5-9a3e0a70ef49@citrix.com>
 <f92139ba-b944-495f-8057-07271f3f7b17@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: <f92139ba-b944-495f-8057-07271f3f7b17@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 08.10.2025 16:05, Jan Beulich wrote:
> On 08.10.2025 15:04, Andrew Cooper wrote:
>> I'm afraid this introduces a vulnerability.
>>
>> APIC_LVR is a toolstack-provided value.Â  Nothing bounds checks the
>> MAX_LVT value in it AFAICT, and previously this did not matter (from a
>> security point of view at least) because the loop bounds were constant.
> 
> Oh, right, I should have thought of that. As you don't suggest anything,
> I'm going to simply add a check that the incoming value matches the one
> that's there already.

Actually - no, that won't fly. We just need to bounds-check MAXLVT.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Oct 08 14:31:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Oct 2025 14:31:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1139818.1475040 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6VCB-0005I6-Ad; Wed, 08 Oct 2025 14:31:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1139818.1475040; Wed, 08 Oct 2025 14:31:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6VCB-0005Hz-6s; Wed, 08 Oct 2025 14:31:11 +0000
Received: by outflank-mailman (input) for mailman id 1139818;
 Wed, 08 Oct 2025 14:31:09 +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
 <SRS0=tb2B=4R=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v6VC9-0005Ht-Cl
 for xen-devel@lists.xenproject.org; Wed, 08 Oct 2025 14:31:09 +0000
Received: from CH4PR04CU002.outbound.protection.outlook.com
 (mail-northcentralusazlp170130007.outbound.protection.outlook.com
 [2a01:111:f403:c105::7])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6a68d49d-a453-11f0-9809-7dc792cee155;
 Wed, 08 Oct 2025 16:31:04 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by PH0PR03MB5847.namprd03.prod.outlook.com (2603:10b6:510:35::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.20; Wed, 8 Oct
 2025 14:30:59 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9203.007; Wed, 8 Oct 2025
 14:30:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6a68d49d-a453-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=tO1906pJCLJCHlwjXwGpVSayICCX4rtYqmbNIBaBMincS3poOf8XoTqrjFtGfKNOXGQf54qtaTRT+j4xwNfZ3gfRvYZPwJFLpQvIdlih6Zp91eaXWsyK+DFGDgmCZ3zNPsGjrhznyBjMDs2UIS7FT+OxK1LLwxFyd4Cv7HQXmq8iMkNzO1G3Fd2TOg9yIeguHOJq2VOXZX6bsZi02+Q/3A1MVPW9r5H8JG2zD9h9E5Wal5ahSebVVHb1EQqghmgXkHrk211aDkA+mcXuuDRr5kLbsv66YEPguABRAU4kEKcHQDYQ23RCVDDW/Q+Y5/0FoqcWxpKA39mTyU9fG0LQ2A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=b0T/49iL4XtKUCsUuioCjoDjicGoXpBpKyIYChh0SVs=;
 b=heUSgDrYMDuRgV+7l7GtNaOMSXYYZCkwN6T683S3Cm3sWdTDA8Kr+IIk8/ZuoJQ73qdOb3L3/vUIbUs17BsIpl17LdvL3qnokoz+fdFJZd4dfflhykWdOrO2mme5UKo9PKK00HrbyMGlswTuqESY2sEOHJBBA2qN3sBUwqbflVT9/jpe8X1ySKleXu8VUlkanGfRb50gCG2mEoSYS758+qZgUFu5J/Q157+Jtbdc0nAG/5alSgnGZ+XLi9cvaKcpxYH0oE00Pc5C7Hb+VhY6sE0EpqzbupY3V8awT5wbw6R6cEn3DLXHL5DryFG9+7sllccDp/hN4CxYXON9SAMkHw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=b0T/49iL4XtKUCsUuioCjoDjicGoXpBpKyIYChh0SVs=;
 b=qAGL4iEtGS9U6DyX6if9dl2zb8LH6ouy5hX7rAc1ihhh3WXcHS1KmQrgqhMuxkuHdVjFQ/GeBb+E/FbNew6AwqFON3ttaziykWcQrEo27NIC0Kwyf0RolLVVnCFhtNjMLk8fE2fER1xKQ0a7C9lBgaF/5D+IlSlbJwNSe8F7mVE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 8 Oct 2025 16:30:54 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.21] tools/tests: don't pass -E to sed
Message-ID: <aOZ1nneO_4-KvvVK@Mac.lan>
References: <4d985a6f-59e2-45ea-bc3d-ecd2da032a17@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <4d985a6f-59e2-45ea-bc3d-ecd2da032a17@suse.com>
X-ClientProxiedBy: BN9PR03CA0886.namprd03.prod.outlook.com
 (2603:10b6:408:13c::21) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|PH0PR03MB5847:EE_
X-MS-Office365-Filtering-Correlation-Id: 1a1f978b-e9ed-40eb-d890-08de06774be8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?QUtjUmZ3U2piNjl5eUVjYlZ3aXQvcnRsY0RTVGwwS2t0dlhXRkUwdFl4dnA0?=
 =?utf-8?B?cHpIdzFRRVpVU01xRFBaVm56cmRnVEswdTdHOGlJTlROdW9HY0Y2S1FxV0NI?=
 =?utf-8?B?NlZRZ1prVDQ5eEFvQVNmQXBtNTR3WmorSzg3T1QxbEw4OE80bGZJZXB4ZG1Y?=
 =?utf-8?B?RUdhMytseXZoRm5qaXBnYWFSYzdKd2pnMlZmeFdjTitGbWVwQlRoUkl4UXl2?=
 =?utf-8?B?MmFsZFhKeVp6bzBNc29jSFNVWlBVd00ra3lXbWdyWUNVQnJvS3BtbkEzOHFL?=
 =?utf-8?B?c1NnY0RmT2JRMWJsWUwzOW5ydmNkZTVTS1hHejQ2ekZsNENxZ0ZYUytlY2Qz?=
 =?utf-8?B?dUgxbVRUQUUvZ1Z5N2pHb0crMWhJb0k5T0hqUTB6bWxRYmxYUEUyNmJrVFhz?=
 =?utf-8?B?VkZRYW8xQ1NiK1FQWlF3MVdHQ1Q5UkY0dCtIUzZ2R0xpVmdHNXlsQmVzWWtT?=
 =?utf-8?B?K3hWTGcvMG5mUFdiT1FXVkk3MHFhZUtLUjhLeEx4WFlYMnM5VVNjMVJxUm9K?=
 =?utf-8?B?Mm5LZzdRMWt4ZUNVcUhid1JUaHNEQkhIajZONnozRWRFd1FJSEVCbVNRSVpj?=
 =?utf-8?B?bEJPRUpmaURraXlVT0NJZHk3QldUMEVLVC9wKzVTOFR0TnhOUHkzQTBrT1dT?=
 =?utf-8?B?dFhtOWd0NjFYMGdpeE81RElLdld2SkQycTl2NisrWXJqZTJFTXhqOTkwbFRJ?=
 =?utf-8?B?RWxWS01Sc01EdU41QjBwcjZkN1g3SFdRcTdFNU9IckxZUTRVR1lod2JOQ2l3?=
 =?utf-8?B?L0N5VGRpVzgxMGE0VnRBeWJ6bmphR0ZFai8yYXEzcGU2WndrVmVNOUFLdHY1?=
 =?utf-8?B?ajk0b2JndjE1RFVCc3pVUEorTTR5Z2lHU09pZ1hXV0ZQYVowS2lTNXFHUUUy?=
 =?utf-8?B?c3FreUVYZExmdGllQjlPem5HRGtURE1SUWVlT2NHZzZwY1FUaWhpZDc2eUE4?=
 =?utf-8?B?My8xQkloRmJlTW9HZzdNVTZwUHBqaWMrVWUwSU1QcUgvTFhhNXFncThkendv?=
 =?utf-8?B?ODhjRWl6anRSdnFlMEVhNWJPOWdvWUdtUk1qUnF5OXJTUmcwcUpmdUY0UjF6?=
 =?utf-8?B?UnBNaVBZZ28zbm95RFBpRXhCczhCdE10N2N5SlE3V0tMYkpHSnlCS3ZRaEJ2?=
 =?utf-8?B?dENxOUl6NnJUL2xxaTF0NlBTYjY0aHpjVUEzd3BMVGtQQ0hmekdhSkcxOFBF?=
 =?utf-8?B?amJSdzA4RGNxL253eUQ1U0hBQkFGMG9oRXFqK0QvaHRKT0puTWl4azZoaEd5?=
 =?utf-8?B?Q1J0WDJiRWY2SnhSSGp3YjRoS3pPMCtwU0RuM2ZDU2JFekY0ZlMwaVFpOE5E?=
 =?utf-8?B?T3U3VW5Wais1SFg4UHNLRTR0R1BkWE1GaWZLb21PRWIvbmppZU5id0JCVmJV?=
 =?utf-8?B?WFBmR2NOanlzSTVhOGRTMlMrdjVSdk5CeTlCbWhRd2huRXY1SWVVMG9kNjVt?=
 =?utf-8?B?ckh5a3BFeGxsazIzaWplTXhWZzBjSzRNUk43ZmZuenVEeUtoQjlxbmlrR3Qv?=
 =?utf-8?B?S0dITEZ6Qm1LZnVuL29rQ3FYMGFzaU1qTXB1T3FlMnllRU8vcllnbHJaalBK?=
 =?utf-8?B?VDdMdk9iWnJGY0FRTjFZNExYdytPL2lvb2pWMEtyZyt3WGZ3YUJzVUVoQjdP?=
 =?utf-8?B?cWppUFozM3BtNmlIRmtQc21iWmEwNEhGOU45R2xaZFR5QUdXUm5MM2hZOUhF?=
 =?utf-8?B?dmh0VUJGcGNUSVU1U0RVZW55SW14MERPRVhBVVBlTUtwVzlkdXg4TjVsSTFT?=
 =?utf-8?B?OGYxWkxUZ053U2FvT1FMWmRuTGE5UVdkWXY0eDREcDdOMVVvUzVzQ0xMcGF4?=
 =?utf-8?B?NmFYQXArbUZ0dERvWk5WN0NxUWNmcHEvaGxjK1pxUERzQnNXZWtTSVRrbDRV?=
 =?utf-8?B?ZHgvUzh3dEphNlBLdklML3F6WkhlaEg1eDMyVUQwTTJCWnc9PQ==?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TEdiQnFKT3pKWnBvOXhZd1ZOSnFjMWkvK0lsUStDd3h4b2FFNVp4VHZTQm8r?=
 =?utf-8?B?N3VlRVRrcWNIRTRwM3E0WGRkNDU1Q2FuYUhGZTNjZzRNWHBWU0FQVmxwNHFi?=
 =?utf-8?B?MWlnYkJEOFVsUGJ4VDhudTY4bDAyL1lPMUVTWFlrdVNNd3dRV1kzaUxPblAy?=
 =?utf-8?B?NlRuZ0hCbDZrT3NjREdtVEZEaGkrYUhTQkduVU9PNVR3TDl6VlRtdFp4TXBL?=
 =?utf-8?B?L25SdllxaldXc0IydnBtOG1vU08xK3RPdy9UYW01Y2F4WjMxRXNnNmVqcG5i?=
 =?utf-8?B?MzRUT2ZvSDBnMWwyZGZRWGY2RjNKc3JhbHloY0tHTjNpMjVIbndYVTlrbDhu?=
 =?utf-8?B?K2hrR0VxSXV4MXNCMDA4dDdqbHNpVjRtL2RuQ0hBVHVXVzJ4MkU0QUlPM0xZ?=
 =?utf-8?B?TXZsVzF0bm92VHFoVWh2dXh4MVVGZnJXUTRHMGppTCthUEY4WXYxTkxERUQ3?=
 =?utf-8?B?cFVvYnA4MloveS9rSWpGVE5nSnRQVUdwK0VVMFRzbk1KblI3Z1FqaE9DaWRk?=
 =?utf-8?B?ajRCVE5VK1luV2IyVFhBaXlHUCtXNUJneFhlbnl5SUdpcWNQclF5NG9nZXhN?=
 =?utf-8?B?R01Xb3RyOXpWMVlSU2tJS0pUM3Mwc3IwQS9sSlo1U3RkSTFrMVFKUURhNjRJ?=
 =?utf-8?B?SjdkVGJQZU1lbG5XcEJhQnVJRHZLbHVTZG5Yek1pM2hrT2FmZHFzQ0VpNjVi?=
 =?utf-8?B?RFZiS2lRQ2poakcraGtxanNJSGIyb2pDNVNmODdsOHliNnBnNTh4RVBzRWRZ?=
 =?utf-8?B?dEhyeDlaZGJ2Tlkzc0FXeHEzUTRPQTRCa29pVDdyNmIrQlErREZjRWIrK2s5?=
 =?utf-8?B?bDF5NjhISm0zQ0xXYmtTZXNGbDlBS1RqQ2JHOVU0Z2wvS0lrN3laVThtRXJF?=
 =?utf-8?B?Sk4wT0YzbUFpSXZiRllDY0lLM3E0QitXeXZ0SG1WWkdzNWR2d2dwRGUwaXFj?=
 =?utf-8?B?U09nMnh4UkU0WVl5azN6Rlk1VlBmNWJ1MEx3TnZYdm4vZW5lS2svc3BGcWFq?=
 =?utf-8?B?UlY1VzV5Y25rNnYrMVBLSmdVN2txMkI0MExFb05QMllFV2E2WEMydE8xY0RV?=
 =?utf-8?B?OUJXWVQ1SlVUaEhGZ3NSL29haXBCQkttVmVvMnpzTWVqQ2Vhc3ovL1dwbUpn?=
 =?utf-8?B?Vk95Ym9WK3ZjN0h6eXZUQlVhbDhPQ2ZJZ2JqOHBTR3dmZmtGN0VmSzFBb3NS?=
 =?utf-8?B?YVYzQmNBcnZMUXVJelhGMVpxbm1NV1VIUzZzKzdFWHY3aERSaG1Bc1JnbmpF?=
 =?utf-8?B?enhWK3A5S3JOTVl3L1diZ3RsRm5oT2FFMzV5bENHZGRGKzh2ODdadnF1L3ZT?=
 =?utf-8?B?ZHd5cnp0MnFYY1ZqVVB6K3hxNkErcUxVa01rN2lRUWwvMGp1MXd4a0NpblJ4?=
 =?utf-8?B?N0k5M0xQZklRR1BVNnpWM2hoM2dvYWx6WWY2WmppMEZxcVFwbkVyclZ4MEw5?=
 =?utf-8?B?bG5SY2JCMGZkWDB6MVhFbzF0THR5cnFYZUg0U3A3bnFOVm15VjhVQjVZem5L?=
 =?utf-8?B?S3lHcnE3VHFOZnlZb0ZMRGxJV2RhVFN4VTY5ZE1GQUVsTEZBd2thZ0EyR3Z1?=
 =?utf-8?B?cU96d2R5L0g2ZzgvOUxPSm9WTjdwaDdkcVNaKzBCMllldzQyRm1Ba1Via040?=
 =?utf-8?B?Q3VwdWRBY3VVUkZRZlFJbi9Yb0lhNDJENDQxcXY4QzVOeXZWYlR6VU1SeHBM?=
 =?utf-8?B?OTRTcmxQT0JxK2NLdHpoNkFjSkw0b291d0VhUWVlS2UwWkQ1THEvSldQUFVH?=
 =?utf-8?B?MjNnQldycFNHOW9WSFRCdkhKcDFCcUJtdkUrZ1pKWHRGSzg3ODN3cHBuZjVv?=
 =?utf-8?B?TWlIektyMlNHU2tCZ3RMZlhubWlpbG1QZUErbXU1RHJuOXkxd2ltRjRZUkRE?=
 =?utf-8?B?L1U1b0l3M2U1NTRXME5uK3ZWOVB1Ym96M05POXp3d25oWmM1cVhackpBVXRU?=
 =?utf-8?B?cjRiL3NidG1IbGpYUzdISTA5R1hzMVJyOHNscEUxZk1xTVlUUUNDaFZUelRX?=
 =?utf-8?B?bXNKZGgzK2xzSHV6bHhlVjhlaHlUNmZiS2hkSENqbDU4S0U5bVNqV2toWW9G?=
 =?utf-8?B?NG94N1BQczJmNWxOcGE4ZDFzM25HeUorNktZbXpid1JhOUJDRUNsS0s1MUVS?=
 =?utf-8?Q?gtof34+oPe7Q8rKiaYphqCyL3?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1a1f978b-e9ed-40eb-d890-08de06774be8
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Oct 2025 14:30:58.0058
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 2U2vPKjvdu+2gvU9ZbBYqV8Smtn85oMnueK/IYOr8i+Dk8I/TR05szErf/X4FO/CROqgMCeIRIzJbumTXKKRfw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB5847

On Wed, Oct 08, 2025 at 11:47:05AM +0200, Jan Beulich wrote:
> Even the 2018 edition of The Open Group Base Specifications Issue 7 [1]
> doesn't name -E as a standard option; only Issue 8 [2] does. As there's
> nothing "extended" about the expression used, simply drop the -E.
> 
> [1] https://pubs.opengroup.org/onlinepubs/9699919799/
> [2] https://pubs.opengroup.org/onlinepubs/9799919799/
> 
> Fixes: cb50e4033717 ("test/pdx: add PDX compression unit tests")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Roger Pau MonnÃ© <roger.pau@citrix.com>

I think the -E was carried over from a previous expression, that was
indeed extended.

> ---
> In principle the -e could be dropped too, for being redundant.
> 
> Hitting the problem with an older sed pointed out another problem here as
> well: The failed invocation left a 0-byte pdx.h, which upon re-invocation
> of make was (obviously) deemed up-to-date, thus causing the build to fail
> again (until the bad file was actually removed).

Hm, we could do something like:

sed -e '/^#[[:space:]]*include/d' <$< >$@ || $(RM) $@

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Oct 08 14:41:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Oct 2025 14:41:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1139828.1475049 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6VLp-00078C-6X; Wed, 08 Oct 2025 14:41:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1139828.1475049; Wed, 08 Oct 2025 14:41:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6VLp-000785-3Q; Wed, 08 Oct 2025 14:41:09 +0000
Received: by outflank-mailman (input) for mailman id 1139828;
 Wed, 08 Oct 2025 14:41:07 +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
 <SRS0=bWZK=4R=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v6VLn-00077z-Rx
 for xen-devel@lists.xenproject.org; Wed, 08 Oct 2025 14:41:07 +0000
Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com
 [2a00:1450:4864:20::32b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d1efc3e7-a454-11f0-9809-7dc792cee155;
 Wed, 08 Oct 2025 16:41:05 +0200 (CEST)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-46e6a689bd0so58589955e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 08 Oct 2025 07:41:05 -0700 (PDT)
Received: from [192.168.1.183] (host-92-22-57-86.as13285.net. [92.22.57.86])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-46fa9c07a83sm45134455e9.6.2025.10.08.07.41.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 08 Oct 2025 07:41:04 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d1efc3e7-a454-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1759934465; x=1760539265; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=HZVp7ACU99LamnB5LXLHsbzeB7bF3mcAoDiI0sNj7IQ=;
        b=kRl2fFIeqvx0ChUgLPOhIf4x3M2btxF+fuE6lt1EEK4ygpj1kmR7AVaMqda8W5ewoL
         hzwL19AqdxkKfWd1EGrVZuZ1BJH+u/gmUBtDy9jH5joL9lxZBF6TqGuq4L5BFixHxzp5
         C0Mr+BMnlWIJvKwXePWCfl2CWLikqKicagndk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759934465; x=1760539265;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=HZVp7ACU99LamnB5LXLHsbzeB7bF3mcAoDiI0sNj7IQ=;
        b=L3/UwAc+U+4UAvH63erWMA+v1jJ7QtVeOwcwfYRpP9GCZJQe1sfRymnpFm5jo3UMO7
         Pr1r11NacjWgZWwM2oufxqSwqD2vPduybvQieu/0kJ9Pcvn6Lc1veMKBvFbTKABt14Xm
         Cc2XEsrhKlklHAHCijHQp38T29sKD3ufLSNzqWlFacFyjV2BxFnq/q3j9zukrl8GGKzb
         RG9B8AdNG0SG093Od18dmIitXeK4shaBIwpfK5Gkqd2n51DzGhGwt2m9X0gvbeOBpY/a
         oCBNwGdy1muqteDWaG73SGc1OLfmP6I4tp7mQPPibha++pbhFnu4NGQZ002nj4dM69j/
         qceQ==
X-Forwarded-Encrypted: i=1; AJvYcCWuZMwDJWXuwMKh8cjJqbT+creRwayJS2jZWtk22cwU+uHB5LPi1Sj9vXxg5P+TeHtrMuiUhuqB2Tk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwN290EN42WXIvOmqTM1HeMLbfUzu5nJXjfEoqaOJiYF6sIOg2e
	sYLagnxjbBpxu6gb6JThyy2X3vUo+DYRtF1J4LUZlFtJEt6CO7LfsRhqdlGJ3IeclAc=
X-Gm-Gg: ASbGncuz4MKdiN1Bz+G3hbbMjgsrDY/k3mTx9TvJpR+4lDme2b8+EQd85u+d8S6JRCe
	qxb2RLll4qZVBzZ3kakZMTXPL5VFuFj3m3SgM+dAMJ/U36CpzRqfinaYDwV7/LmSMpF4G3TxvEE
	GsjW0c0DKunoW3Inu4fjQI//NbyxbEKx932fqHvVdlhzOkpt6vjyC2NN1Xu2NVhRpIYoKKC5xDP
	KQZwL3FckNvTden0Cd0j7vbMS57FlSSDgYqa3M5pnXTcpoS9qow5EQ+0+uT1B7rBV1eh2lf2M/8
	jbOF+sLhiVVfx/gp30kCVaQKkErUcPXXlkbYsegVoCLBDHgH9fPnLEDZmoLQEuZZbOjnxyETKd1
	8caXo4GNlezFV8TbiNmllayiMCMKTGYEIc56HwI9Xl6ztTTtpsSka/OEFvV2C7eUbswb2DjBplO
	AXAqArsaAlFuIX
X-Google-Smtp-Source: AGHT+IGOoiXgFg+ombrdNHbJGnF/RN2ldAACioB6TNjWuV/9d/iv0tOA0+NQZqwabHQbJbLm6M7s5Q==
X-Received: by 2002:a05:600c:4750:b0:45f:28d2:bd38 with SMTP id 5b1f17b1804b1-46fa9af3095mr27932845e9.18.1759934464932;
        Wed, 08 Oct 2025 07:41:04 -0700 (PDT)
Message-ID: <6c9b2e4c-bf13-4f26-baab-13be9947c377@citrix.com>
Date: Wed, 8 Oct 2025 15:41:03 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Linux xenfs vs privcmd
To: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 xen-devel <xen-devel@lists.xenproject.org>
References: <e1627855-e7f4-4fe7-8079-68c3a0d488fb@citrix.com>
 <af7a1b15-ddfb-4dd9-8a5a-31e5dd2d2952@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <af7a1b15-ddfb-4dd9-8a5a-31e5dd2d2952@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 08/10/2025 3:08 pm, JÃ¼rgen GroÃŸ wrote:
> On 08.10.25 15:33, Andrew Cooper wrote:
>> Anyway - /dev/xen/privcmd (and /hypercall) shouldn't be tied to xenfs.
>> They should be SIF_PRIVILEGED alone, should they not?
>
> I don't think they should be tied to SIF_PRIVILEGED, as device model ops
> are handled via the privcmd driver, too.
>
> TBH I have no idea why there is a direct connection to xenfs.
>
> Did you try to modprobe privcmd without mounting xenfs? I guess the
> connection is that the capabilities in /proc/xen/capabilities are
> tested to
> contain "control_d", resulting in the privcmd driver to be loaded.

modprobe xen_privcmd in isolation does cause /dev/xen/privcmd to appear.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Oct 08 14:41:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Oct 2025 14:41:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1139832.1475059 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6VM7-0007Rp-Dx; Wed, 08 Oct 2025 14:41:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1139832.1475059; Wed, 08 Oct 2025 14:41:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6VM7-0007Ri-Ap; Wed, 08 Oct 2025 14:41:27 +0000
Received: by outflank-mailman (input) for mailman id 1139832;
 Wed, 08 Oct 2025 14:41:27 +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
 <SRS0=tb2B=4R=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v6VM6-0007Og-S3
 for xen-devel@lists.xenproject.org; Wed, 08 Oct 2025 14:41:26 +0000
Received: from DM1PR04CU001.outbound.protection.outlook.com
 (mail-centralusazlp170100005.outbound.protection.outlook.com
 [2a01:111:f403:c111::5])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ddbb947f-a454-11f0-9d15-b5c5bf9af7f9;
 Wed, 08 Oct 2025 16:41:26 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by BY5PR03MB5169.namprd03.prod.outlook.com (2603:10b6:a03:219::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.9; Wed, 8 Oct
 2025 14:41:17 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9203.007; Wed, 8 Oct 2025
 14:41:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ddbb947f-a454-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=vzepo3xFE3CmsRz20Roz6LClLbYR2uln63G9oq1BSfts9YrLkdqZd58dlNwjY/Hxa7thRVaGAXo7gjwmQd/irMiVHVEDIlRY0U4x+QpyTe4JG4VZkYJH6x4MEH2YrNvrkTtbIB/36jajyIi/gD8tLNzeW/v2YXGrTyhnw1ztR8I8pczD+e1D1XjQ72zceAbQFuYJvsoJ824yNA3j8mf+mH9L5NZPJ3K32A8uIWQvxvur7PKXur3wvA/Ln0FWMZEikjSJCnOxdmstYrPxWzQqSgbHZJOb7TN8UizahTOaq+t1kFq5lRn8YzdSZHIg0QQOxa8u56FsM5lPya7HB4jSWg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Xohly5CWNWainmTL8adCfTDxe2GHXPt+BRmH/FDh7gs=;
 b=x9ozAGlAp+WcHjdqNkbPCb1HkB1l/O8xMcgt/FWm/t3LQSy1NNIbGmNgbLzpVwESMKtzV0ZegbXxDwdLpRvpIXwdb6szJWQBGkuPlK/U/sxvmvbTENdzK1V5CuF/rfBzuf/lByYXkjpkI8X/mpE/H9bVo68nNFbHRTo1pf7A5ttn6aj1n8wrd3i1E1MfJolc1nqdsMt1wGnt07MGVSK4wyz0ELXOR3ZzWOy12zHNDPWUM2PycDpAIl6xSO9vh1NiyPMYe6CXW1ezdMa7cGyy3GpFaEspaFk1yayGSxeDY8IlKxifbktpKBOpm/l3QrhM7pa6p78X3/MvAf7+vfmqpw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Xohly5CWNWainmTL8adCfTDxe2GHXPt+BRmH/FDh7gs=;
 b=TNSyxhP8e+GP+GFONJMDdSX8WA+4xPpqblcCRbWH2cG5bSrH8A9uewMoTTTHIO36oTezW9zWqp8hcmlib1CXO5uHlyUnVv6DD/Tdu1CKwQu9GzqOlYR4zTFlqBAXJME5N4FIIWlodiUVDjlAL2r1gnNNrDmfneeIQxkJOoR3zzs=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: oleksii.kurochko@gmail.com,
	Roger Pau Monne <roger.pau@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Stewart Hildebrand <stewart.hildebrand@amd.com>
Subject: [PATCH for-4.21 v2] vpci/msix: improve handling of bogus MSI-X capabilities
Date: Wed,  8 Oct 2025 16:39:23 +0200
Message-ID: <20251008143923.2557-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.51.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: PA7P264CA0187.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:102:376::19) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|BY5PR03MB5169:EE_
X-MS-Office365-Filtering-Correlation-Id: 09559e48-1015-4d0a-1227-08de0678bcf0
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?bHdkaUswTlNSQ0NKdnpHMzZWMzJnVGZ6VDlUQ0tEdlVQVlkweFRPZnlVdk5n?=
 =?utf-8?B?amNIQnJxVVRvRWd1WjBIVzNZcXdpY1M0OHBnZ3pMd3Nnamd5QkN0SHd5aVRB?=
 =?utf-8?B?T2ZTOWNCL3pzVzViaGcyT3hSSmp1a3o0S3FCQm4ydzd4RDY4enVlVVFqZ3Bx?=
 =?utf-8?B?SS9yNnYxVy9tMTJrUlhQY2J0Y2UyZU1uMitUS2gxZzRCVnZwWUZHRCt1RUZO?=
 =?utf-8?B?amNHcjVWajloMFFQOVlRZ05yNGRBZXJvTG5razNBVllHTFBFVWJtQnhIUjFw?=
 =?utf-8?B?VUJ6SkpIdUR2YXlrd2NnVm93eC9vdXpLcU13eHJJbjFlS05yZGM0cEhJQU9V?=
 =?utf-8?B?VmFFSHhtVWVIMS85ejQxRmhneTRvVEcza3hoM245RlU3SkhUS3E2MTZtMGRy?=
 =?utf-8?B?dzYyWkRyc3NYb004RUVkKzZwMUt4N0ZIaWVjNXVzck9qdGlxRDh5ZE5hL2do?=
 =?utf-8?B?Z2lKdzNkSFRVVGlVTkxBdU9DV2RJU3hBMnp4bncyS1k2dHJaOHVHaDdIUWhF?=
 =?utf-8?B?YmxCWlVxSkFzS0tGR2VqaHY3ME5XbnB0OU11UDByRlN6MUVTblhrU3ByZXhC?=
 =?utf-8?B?UExhVnRRa0RBakdRakdjTEREb1NubmxlM0VRY29aTFJTUklITWg0SE1ob3FN?=
 =?utf-8?B?U1JwQkZmb2ZHclBjRTdIWGxlV2xnY2dqRkdSTXFsT1JnNmJMdnFYczdoN0FV?=
 =?utf-8?B?REtQc0xXUVM3Y2FKdG1hKzRMUWY2bHZXdklCMkVpVGNZeWpEZE03cmV3NVBL?=
 =?utf-8?B?WVQ1SGUzTmZtSEJXbXB4NHZKR29tbVZmZWxaUUVqbS93SXR4SnVTakM4YWN0?=
 =?utf-8?B?aVBBMVZ1WktFdHBncnAvSmcxc0ZTMm5rQ2FQT1AweTYzZ0kxZDdVUzhOMThn?=
 =?utf-8?B?VFc1TDZ3blhMdDZ3ZjhjVDVyTmpyRXpvMFFOaWdpcUxWc2pXUWZRcG1qdjBX?=
 =?utf-8?B?bnR2aUR5cFl2M3JRWEFzZ1ZnQVBJM2xGRDRVUlNtTXJGV1NLazlxbUVJK25W?=
 =?utf-8?B?RXVHR2pYYU0wbkhYZmVnZThsbWRSdkRieFdPNUZIY1lEdVNTdk9pTDNSazl4?=
 =?utf-8?B?MEllTU9lTGtBaDg5NE55WHVxUUZZdkVhSDJ2RVBuQk9qM055ZXNLSVh6N1g5?=
 =?utf-8?B?ZisxQlVxbWRWeGZucXM1cWRFSzNVQ1FSWTNENm9aOGlZWkplSmNBYllHdFZ0?=
 =?utf-8?B?VVZVOWxubjMreGZaT1hlenpLZ0poUWVzbzlRTlh3Y3hkWjFMUzNxekRsNkM3?=
 =?utf-8?B?cm1DcVhYMDc0QXlzM2NRTmZQTmY4SmVQR2ROTlpVeWU1Q0Y2V3l5ZXRqRjBq?=
 =?utf-8?B?WmZiMUVMK2dKR3NOTXFrOGoxZHZtQU9WTVFqZjRqQ1RXMmRKb25HcGpCZ2U1?=
 =?utf-8?B?K3phM3Fmcll2S2xJZVdNdm9LOStRanhmQXNaZjNQU0djSVRMVUExVERhVE1n?=
 =?utf-8?B?bUtQcjVEREcwSG5TbC80S0FGZFhkQTliNnlEWnNQTlNKSUs2NmVZVFlaVUxv?=
 =?utf-8?B?OGxNYjJ1LzZTekpjTWZORnhRRlBqam9FVEJKWW9VbVAybmNvaGhlQ3R2am8r?=
 =?utf-8?B?SENLQzROTGx5QWZON21SL01jcjAxTVB4N1Rtekp4UDNrM2Vya3U5cmMramFU?=
 =?utf-8?B?OTNqZkR2NHc3ckxGa1R6ZzcyYk1DVzF6MkVWSDhuZDQzVG8vTk1mMTNyWHQw?=
 =?utf-8?B?a29LdkxKLzJnS3ZBVzdEWTdmZWZhRXN4eUxkbEVFR0tDV0Z1cG9Qck50cFpw?=
 =?utf-8?B?VkxvTzZnTUlZa2pZcHhhSDlOV2VHV2x3TUtnV0VDYlIwUmxpZGQxNFcxaW4z?=
 =?utf-8?B?S3d4eWV4dGpsK1Z1ckF6eWpXYUxsTGFTUTViL0hMNE9EUjZSUTlNTDRPM0gv?=
 =?utf-8?B?ZGhMYjNIdVdHY3BLZkhVbTdDRjU4d3BUWUtEQzlpWEc4TFpIUE45WUNWWExR?=
 =?utf-8?Q?dlnllH4tGDR6TRgS66URiBvNcDF5Mg3R?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?N0picW5SOVI2b2VtdjR5WTBiV3NXY3ptNHBlTmM0bFFSQlkzRDVGalNZb09i?=
 =?utf-8?B?L2JTY01RRjhoekJmMlNqVTMwZlcwaXpUWSsxNFlJKzVCbWZndWIxMGVGVTdO?=
 =?utf-8?B?S1EzNE1IdGFQTmpiZUptTHNmKzFQOEhteGYzU0NEOEVqYjBNME5ISnhoN1p2?=
 =?utf-8?B?dURjY0dmYjlUTUt3dGNkcG5xa3c1d3J5MHlqS0QwMWVBblRFYzhWUEN2OW16?=
 =?utf-8?B?Zm5iNlNWS3I5K041ZklQYWIwOFkyVGlsTE4rZjdaTlU0TUEvQ0JPM2lwemlo?=
 =?utf-8?B?d21uZVUvbURndGRvOGhKYUJXNEFYZ055QXRleVNla2tieS9DMDc5RWlCOFVW?=
 =?utf-8?B?L1lqNHZGYTJWK3V5WSthM204NGxSSnF0U1YyclRIdUkvR1F0NVEyMW55NWxT?=
 =?utf-8?B?clpaQTM0NDhPMXdubm82YUNpSm5HN3dhUWYzZ3c3ZXord1hlYW9XbUdEcEkz?=
 =?utf-8?B?OG54OG14K2JDbktrNlNtOWJkNVBqUElkaUV0a3RxRDRoZFp2RU9KTU1kdXVY?=
 =?utf-8?B?VWpYL2FzK2V6UUxWT0ovYlEvdUxEQ3l6U1Y5Q0FrYXpTaGtOTlBvaTBucW9B?=
 =?utf-8?B?M01NTXIySHpPRlRaZENsUW5SZ2lsUS94YlJ2dlBHSzBOek1WSmtQL2lueTZj?=
 =?utf-8?B?bzJ6S2lFMTYwYkRIcktTY3dHelpFUCtDdWI0RVo3bFBKdm13MGpuR1p6MkhM?=
 =?utf-8?B?R3d6TG9pdkM5YlFtdmMvUExYTlBmaHJuSlNPaUxLQTZYTlZOUEJKMVI2T2FF?=
 =?utf-8?B?ZUE4L1JqWGVoNDc3cW5JNC9qbE9RRWtKSS9laWpoVktuUFZ5ZHpzQXl0MWFi?=
 =?utf-8?B?WUV3WXJVKzMvalA4OUx4RmVxNUM4WHlEdzVlR1NkUHB1cC9HRjFIQzhpQ0dZ?=
 =?utf-8?B?emd1S003L3RqbVljS01IeVMyMmdTa2tqOCt6V3RZWDk2WGZ1M0x2TW5haU00?=
 =?utf-8?B?Ny9GaUVhRkpzUE5KaGVxQ1p5TVIvZjdVYk9KNloyNCs1UGhuaUVBSHptMFZN?=
 =?utf-8?B?T25wdGticmZQVDNZMVRQOHoyT2xDOWl6UEw2WEk4Rm1BUnF2Qmt3aXNkOEEw?=
 =?utf-8?B?cVgyby91K0xraHRFalNsUjlsdm5YM1BaRkp5VVEzNTJyN1VQN0p6WU0xL051?=
 =?utf-8?B?RVJUTFVxUzFvQzVJeFloRHVwY0ZwNzBnMVgrWm5Na094RmJlcVowa3p1VGFZ?=
 =?utf-8?B?YkkvT3Z2OU9QK1NlZXZYaWMyVFhQNmU5QTRaZTY4N3RDRVFCL0xMNExxV2dE?=
 =?utf-8?B?Si9DRzBFK0orRzBzc1I2WHFpNHU0Z0hSNU9PdStwRWVYTWNmekxnSDBYNlIz?=
 =?utf-8?B?MzMrdWZ5TXZOOG15TzdhTGx5NGh2WlJnV1NpUlFlQnU5a29JR2FQRmZ2c20v?=
 =?utf-8?B?RUtaTWV5Y0pRYXB0dmE0YlNyQnllREpuV2lJVUhQZ1g3ek0zbm1scDlpVUJn?=
 =?utf-8?B?bGlNaE5NNFhBa25VNmpKYzhxSytqVzZMc3F0ZUMzM1NRdHNabjhJVzNuQ2RT?=
 =?utf-8?B?c05yVzRPMWN1NGtQa2RCRTh4b1RYMVlIVXhlcUtpaGtCVytsYUpTZ0hjWWIz?=
 =?utf-8?B?YU1nQUNEdThUWlNXTHA5M3dlZ3puM0hRWDN1YldOSXlGSUljTnNaTTVoZnNi?=
 =?utf-8?B?ODArb21sc0c3TU0zeUYxSXZLZ2k0K3J4amx3Z0ZKQSszNEtIMjVOVTlHSmEz?=
 =?utf-8?B?NzB1SjJpRDd5ZkRpdVhUbjhXVzkrWnlZeHRNbXF1RTRXU0pVcUVKczkvY21s?=
 =?utf-8?B?QnkwN1B5ZjV0aUcremtqcjVOeVhtUm93SEZGVitxZE1UK1N4U2FJZWJVY3U0?=
 =?utf-8?B?blM2dG4zTDZqYkJLbUpBUENkM016Vmk5STVQRkc4L2VOd2kwdHovUndkdVBv?=
 =?utf-8?B?L1BhWTJrQU0wK2NVN0M3YWg3dGxPaDB4VE15V21reFByOWZrTXpJdnFEckpI?=
 =?utf-8?B?MWxyNENZc21RWThidjVZaVl2a0FVTEFhK1E0Y3RGS1BhUkRiSkhIS1lvbmFI?=
 =?utf-8?B?V01sU2dTV0tBTVYvTHBQK0plK1h6ZEJ0RXEzUjZ6cFZVNzJ5NkFDVUU0Ympi?=
 =?utf-8?B?Q2J4VlphSzljd05WekUzVVdGb29sK1ZISjJPeWZUZTFhMStNVGxwYnhuZUlZ?=
 =?utf-8?Q?LedczMDokqOdWTPGl7uGZ2plg?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 09559e48-1015-4d0a-1227-08de0678bcf0
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Oct 2025 14:41:17.2064
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 5BCmVmVUcpqcsZQpVoc+R946V/tHWtCs8DoRZRhzKzlqEhSOGdFb15DomE2opXnRaBXyyagUwpJJh8lYODhMDQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR03MB5169

I've had the luck to come across a PCI card that exposes a MSI-X capability
where the BIR of the vector and PBA tables points at a BAR that has 0 size.

This doesn't play nice with the code in vpci_make_msix_hole(), as it would
still use the address of such empty BAR (0) and attempt to carve a hole in
the p2m.  This leads to errors like the one below being reported by Xen:

d0v0 0000:22:00.0: existing mapping (mfn: 181c4300 type: 0) at 0 clobbers MSIX MMIO area

And the device left unable to enable memory decoding due to the failure
reported by vpci_make_msix_hole().

Introduce checking in init_msix() to ensure the BARs containing the MSI-X
tables are usable.  This requires checking that the BIR points to a
non-empty BAR, and the offset and size of the MSI-X tables can fit in the
target BAR.

This fixes booting PVH dom0 on Supermicro AS -2126HS-TN severs with AMD
EPYC 9965 processors.  The broken device is:

22:00.0 SATA controller: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] (rev 93)

There are multiple of those integrated controllers in the system, all
broken in the same way.

Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
Released-Acked-By: Oleksii Kurochko<oleksii.kurochko@gmail.com>
---
Cc: Stewart Hildebrand <stewart.hildebrand@amd.com>
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes since v1:
 - Introduce a DEVICE BUG prefix.
 - Remove extra newline.
 - Fix typo in commit message.
---
 xen/drivers/vpci/msix.c | 50 ++++++++++++++++++++++++++++++++++++-----
 xen/include/xen/lib.h   |  3 +++
 2 files changed, 48 insertions(+), 5 deletions(-)

diff --git a/xen/drivers/vpci/msix.c b/xen/drivers/vpci/msix.c
index 54a5070733aa..4ddcefbcb274 100644
--- a/xen/drivers/vpci/msix.c
+++ b/xen/drivers/vpci/msix.c
@@ -675,6 +675,51 @@ static int cf_check init_msix(struct pci_dev *pdev)
     if ( !msix )
         return -ENOMEM;
 
+    msix->tables[VPCI_MSIX_TABLE] =
+        pci_conf_read32(pdev->sbdf, msix_table_offset_reg(msix_offset));
+    msix->tables[VPCI_MSIX_PBA] =
+        pci_conf_read32(pdev->sbdf, msix_pba_offset_reg(msix_offset));
+
+    /* Check that the provided BAR is valid. */
+    for ( i = 0; i < ARRAY_SIZE(msix->tables); i++ )
+    {
+        const char *name = (i == VPCI_MSIX_TABLE) ? "vector" : "PBA";
+        const struct vpci_bar *bars = pdev->vpci->header.bars;
+        unsigned int bir = msix->tables[i] & PCI_MSIX_BIRMASK;
+        unsigned int type;
+        unsigned int offset = msix->tables[i] & ~PCI_MSIX_BIRMASK;
+        unsigned int size =
+            (i == VPCI_MSIX_TABLE) ? max_entries * PCI_MSIX_ENTRY_SIZE
+                                   : ROUNDUP(DIV_ROUND_UP(max_entries, 8), 8);
+
+        if ( bir >= ARRAY_SIZE(pdev->vpci->header.bars) )
+        {
+            printk(XENLOG_ERR DEV_BUG_PREFIX
+                   "%pp: MSI-X %s table with out of range BIR %u\n",
+                   &pdev->sbdf, name, bir);
+ invalid:
+            xfree(msix);
+            return -ENODEV;
+        }
+
+        type = bars[bir].type;
+        if ( type != VPCI_BAR_MEM32 && type != VPCI_BAR_MEM64_LO )
+        {
+            printk(XENLOG_ERR DEV_BUG_PREFIX
+                   "%pp: MSI-X %s table at invalid BAR%u with type %u\n",
+                   &pdev->sbdf, name, bir, type);
+            goto invalid;
+        }
+
+        if ( (uint64_t)offset + size > bars[bir].size )
+        {
+            printk(XENLOG_ERR DEV_BUG_PREFIX
+                   "%pp: MSI-X %s table offset %#x size %#x outside of BAR%u size %#lx\n",
+                   &pdev->sbdf, name, offset, size, bir, bars[bir].size);
+            goto invalid;
+        }
+    }
+
     rc = vpci_add_register(pdev->vpci, control_read, control_write,
                            msix_control_reg(msix_offset), 2, msix);
     if ( rc )
@@ -686,11 +731,6 @@ static int cf_check init_msix(struct pci_dev *pdev)
     msix->max_entries = max_entries;
     msix->pdev = pdev;
 
-    msix->tables[VPCI_MSIX_TABLE] =
-        pci_conf_read32(pdev->sbdf, msix_table_offset_reg(msix_offset));
-    msix->tables[VPCI_MSIX_PBA] =
-        pci_conf_read32(pdev->sbdf, msix_pba_offset_reg(msix_offset));
-
     for ( i = 0; i < max_entries; i++)
     {
         msix->entries[i].masked = true;
diff --git a/xen/include/xen/lib.h b/xen/include/xen/lib.h
index c434dd5f16e4..c4ac4823920f 100644
--- a/xen/include/xen/lib.h
+++ b/xen/include/xen/lib.h
@@ -60,6 +60,9 @@ static inline void
 debugtrace_printk(const char *fmt, ...) {}
 #endif
 
+/* Common log prefixes for platform related issues. */
+#define DEV_BUG_PREFIX "DEVICE BUG: "
+
 extern void printk(const char *fmt, ...)
     __attribute__ ((format (printf, 1, 2), cold));
 void vprintk(const char *fmt, va_list args)
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 08 14:42:18 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Oct 2025 14:42:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1139850.1475069 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6VMv-0008BC-Pm; Wed, 08 Oct 2025 14:42:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1139850.1475069; Wed, 08 Oct 2025 14:42:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6VMv-0008B5-N4; Wed, 08 Oct 2025 14:42:17 +0000
Received: by outflank-mailman (input) for mailman id 1139850;
 Wed, 08 Oct 2025 14:42:17 +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 <SRS0=eGu8=4R=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v6VMv-00080W-3N
 for xen-devel@lists.xenproject.org; Wed, 08 Oct 2025 14:42:17 +0000
Received: from mail-ed1-x531.google.com (mail-ed1-x531.google.com
 [2a00:1450:4864:20::531])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fb7a9f56-a454-11f0-9809-7dc792cee155;
 Wed, 08 Oct 2025 16:42:15 +0200 (CEST)
Received: by mail-ed1-x531.google.com with SMTP id
 4fb4d7f45d1cf-62fc0b7bf62so11466421a12.2
 for <xen-devel@lists.xenproject.org>; Wed, 08 Oct 2025 07:42:15 -0700 (PDT)
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
 a640c23a62f3a-b48652a9bf1sm1662469266b.13.2025.10.08.07.42.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 08 Oct 2025 07:42:14 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fb7a9f56-a454-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1759934535; x=1760539335; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Luy1ueRU0RKrMIoXZiGIyGL/fb+hOgSgtgWOZjuo1Cw=;
        b=Yw5wwF5HrZeuOgAhry0K6plNnh8WTZq3H2wCRdUQbMAdPqoZzGsfXuTPxlOxE/cLHT
         HmaedSF6nuoBoVhgl84XF7DVPYYFe1Cvl8dTj5iPBFd9OkQ8pcPnSGT9LcW9G2lw7RzT
         UkiR1mY6NXNY9ZNDuO2hN6W6eLrV43QjhO4dDSdZ0G/hzyH9incmqu1xkOsfLeO0iKr7
         vQ67q/KhNESKPf4oeeubi3PjjUZuf8QupNPc157VOL3lE46jeMAsODwD80/iKxuTKOOQ
         ibb74fVX0Dl2LZeEBomk6vibHeufaJIRbHGzxFUrwoK617KemUPjwdWlow6aUW58Pl47
         Ypww==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759934535; x=1760539335;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Luy1ueRU0RKrMIoXZiGIyGL/fb+hOgSgtgWOZjuo1Cw=;
        b=TEvApIpWUmX3VyKlU+UdWAm16/2dolsV6z4wbpia/jKrmTAEejs/gHCbN8/dHy/NoD
         In1DITW7DuTBcp/WT0RIg4ZZ7kO080bQ+40PL0HMBpn1k3ph3X/xXaw8+02zn6BUAuhN
         9DibWrJTvZRhnKmr1r9ucGG8gnQtH33Gl2lTqpE5p11f3157WYWOlvmCm3oaeENVCjOB
         VR9pKjb6IUYcT4gQTyJ0ulKwOyc2+q6EcJqY27K9/or9402GNc0bcJnv7e5nNN3riTmz
         aSL7Is9a/9AGb4fpuDB3VAMtSLBnTW51cBKO+T8d9HcpofJoIXSe1FuKiSWFyyqM8o4j
         dgQQ==
X-Gm-Message-State: AOJu0YzEOtmii1kNsCVJ5fRimHGh+uudrJo2lbESTMdHIXij8cw/X9V2
	eoa/uvRPQzx+n41AJs/Liu6P4z5P65GIJMcBeFStfJtao3LgOKpXF4ezI8W+57pEAA==
X-Gm-Gg: ASbGncs7bZEIOjuoB+ROzPbjGjiYbht0ba9F+oaA2ZWXqL3voECj5eQa5I8i4NTcQCM
	jlBUx1oVA3W6iBJUCPAlQL798xoISS9zSH/sstYBZ2klc7VRl+SDdB/1HVY6tO5jRn0DyfJdrbz
	lVsliyk/xgejydpZ7xfNeCDzhsbld0LudaGMN1RfRqN4ybCmD29bB+6ZXwBFglgVV16S78SHs9p
	QMQf76JvMk0v5sK9HZeu+dRbeFUB5uucMb+tVJxnmdanAJ7uG3wC1pDZVfLU4UZAFE0tjWNE4ZT
	wFbsBDmGPIgfjUa9Mi7BX7U3Fgq8yCsRi+lbFBI2yKqvm6FdAdpkjvvuJ5gAhjlgv/aBhH7aYh5
	Y0xIcJzmxyLjdWD32j0QNuN5+7iu1pOQaCp1WJxCiX0vfGSI4zF8iEEoK1aAoYK7pTJKKFMxrWW
	B7bdW/YYRM4hXO4Bi+M4uNRYxeeoRQecmjlhpEo+LipQ==
X-Google-Smtp-Source: AGHT+IEpCb7+wu04RYJ7iSRu+bkvRgb0sDxumd0fBZaIi+QIiQbcYLAQ23epi+XL/Xpox/icWRhmNQ==
X-Received: by 2002:a17:907:c05:b0:b3e:fe8f:764 with SMTP id a640c23a62f3a-b50ac0cc05fmr428444366b.32.1759934534659;
        Wed, 08 Oct 2025 07:42:14 -0700 (PDT)
Message-ID: <dd1f9a5f-fc45-4ffe-b541-6f250b74dfb6@suse.com>
Date: Wed, 8 Oct 2025 16:42:13 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21] tools/tests: don't pass -E to sed
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <4d985a6f-59e2-45ea-bc3d-ecd2da032a17@suse.com>
 <aOZ1nneO_4-KvvVK@Mac.lan>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <aOZ1nneO_4-KvvVK@Mac.lan>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 08.10.2025 16:30, Roger Pau MonnÃ© wrote:
> On Wed, Oct 08, 2025 at 11:47:05AM +0200, Jan Beulich wrote:
>> Even the 2018 edition of The Open Group Base Specifications Issue 7 [1]
>> doesn't name -E as a standard option; only Issue 8 [2] does. As there's
>> nothing "extended" about the expression used, simply drop the -E.
>>
>> [1] https://pubs.opengroup.org/onlinepubs/9699919799/
>> [2] https://pubs.opengroup.org/onlinepubs/9799919799/
>>
>> Fixes: cb50e4033717 ("test/pdx: add PDX compression unit tests")
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Reviewed-by: Roger Pau MonnÃ© <roger.pau@citrix.com>

Thanks.

>> ---
>> In principle the -e could be dropped too, for being redundant.
>>
>> Hitting the problem with an older sed pointed out another problem here as
>> well: The failed invocation left a 0-byte pdx.h, which upon re-invocation
>> of make was (obviously) deemed up-to-date, thus causing the build to fail
>> again (until the bad file was actually removed).
> 
> Hm, we could do something like:
> 
> sed -e '/^#[[:space:]]*include/d' <$< >$@ || $(RM) $@

As is that would hide failure of the sed invocation from make. I was first
thinking to sed into a temporary file, to then rename that file. But this
won't cover the more general case of the issue either. Meanwhile I think
that the Makefile itself should become a dependency of the of the target
header. That way, if the sed expression changes, the file will be rebuilt.
(Of course this still builds on an assumption, specifically that any
failure here would be dealt with by an adjustment to the rule. So possibly
we need a combination of both.)

Jan


From xen-devel-bounces@lists.xenproject.org Wed Oct 08 14:49:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Oct 2025 14:49:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1139867.1475079 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6VTj-0000fR-Fu; Wed, 08 Oct 2025 14:49:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1139867.1475079; Wed, 08 Oct 2025 14:49:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6VTj-0000fK-Cv; Wed, 08 Oct 2025 14:49:19 +0000
Received: by outflank-mailman (input) for mailman id 1139867;
 Wed, 08 Oct 2025 14:49:18 +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 <SRS0=SGyo=4R=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1v6VTi-0000fE-4K
 for xen-devel@lists.xenproject.org; Wed, 08 Oct 2025 14:49:18 +0000
Received: from mail-ed1-x533.google.com (mail-ed1-x533.google.com
 [2a00:1450:4864:20::533])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f65ad848-a455-11f0-9809-7dc792cee155;
 Wed, 08 Oct 2025 16:49:16 +0200 (CEST)
Received: by mail-ed1-x533.google.com with SMTP id
 4fb4d7f45d1cf-6399328ff1fso6433418a12.0
 for <xen-devel@lists.xenproject.org>; Wed, 08 Oct 2025 07:49:16 -0700 (PDT)
Received: from ?IPV6:2003:e5:873f:400:7b4f:e512:a417:5a86?
 (p200300e5873f04007b4fe512a4175a86.dip0.t-ipconnect.de.
 [2003:e5:873f:400:7b4f:e512:a417:5a86])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-b486a174a6dsm1681497366b.90.2025.10.08.07.49.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 08 Oct 2025 07:49:15 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f65ad848-a455-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1759934956; x=1760539756; darn=lists.xenproject.org;
        h=in-reply-to:autocrypt:from:content-language:references:to:subject
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=vH6/tvu+6W8riJ92ieHJi2kIwh05Px8FGw25JuPlHt8=;
        b=CVw5XDMq2lTwTNkVy/ItxrcSRAum8HtPTo2bmfix8+jMAUL4P9ugPKkzZMvhPkgLQW
         nFNyzRRF6z/7R8HlBuod6AM7yV7WBQ7NoU/oZh0MmXBzfXuPbdCofpzTTqwzDRdAaFKq
         qSQkQg8Nm+xJyrx/6ufJOy8/M672APnrbDAbpyAYS/9vZtSUar9mpq29XlAFbAqCU7z+
         sNT2oEQMXYxcT8/bTsNm4+ZmX6ylHhJjv8K0YPrVOlZ+rbNnCr/2/ZHDSX90HKWriZNW
         FdCUdqFeollQbUKjRCRWfkaOQ6xivU/d6EGxObg+kJctBJa6FUUQzYZLU61s+lgjsjXk
         WoVg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759934956; x=1760539756;
        h=in-reply-to:autocrypt:from:content-language:references:to:subject
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=vH6/tvu+6W8riJ92ieHJi2kIwh05Px8FGw25JuPlHt8=;
        b=qelt2Ko7vZnN0+Fev52hQkXd163ETYPKRZjvlvft9HFWL9IqNsezdnk9v4qhTDvuK1
         Jo2MOKRHqqi+k+7JxmJOcqejT5MPZERL8LecQ2mOkyHoM6Mp7h2Cyus/qbDaI8041GPH
         HtMo0is0hrvyT4GXa1STui2HN08RoujzaUn+mDmoMANklwhtXg4fmLzww72O6uy2kaYH
         DvijohaKlF9q+08xemOjUFHUfDP43j06afCvu6Vxyxj463LzbTduo/4ANgkXiwKE3Vmu
         s+ubnFCLmSap3qtIukqSKO1tcGHxXJ34jEIejJEQH89CYUs7yOuzP63EM2QR8HT3Zp+K
         ZNeg==
X-Forwarded-Encrypted: i=1; AJvYcCWHnIWEB5ajEAsuHtdFusjAvq4UOv7vcToLfu426eLsX87SIURUec7rGPT5nKb0yzLeprEpNLC3Nao=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzz2jrMyja03CmNfaT29mCN+E8RDT8pQXQ45q1FS/HyQ/JEcGHP
	oj28Qlzy1oT1qoyz5Oi76MXYi8RgZ667CiJo52SrjFjrCyGDffPn0J6vIboqRueeyE+Iuxabeio
	JxPhd7vg=
X-Gm-Gg: ASbGncu+i1s3diW6ouF0ViWiyo+eyu3vaQnTvBKScGgdlwpvFoWwBEOpL4xUmHG2ife
	nwjEaUfMnX+3ELLS0nTl94Tav6ipXtc7lc2/tJtfNwQ2ViQKMwXFXsCkdYPwJnnwHgtLESR4YR4
	OTZfT+Y5uxUdPq8d63paUqovDtCezFZSFejwYpfm+aE8LiKV2R0wDIR/XoLgeiWtiFEEJ5gSZno
	P9sC+I+EVb8AAsXLoV4uZZrIImnHtrAaIHSQHBl4LucYfeQlSnNaGQVwoMLbQAgeAQ8vyekbVcF
	PSZCKjdSNx60DBwQMn1hpGw/oxpUl1apCknrWWNTlROyJK1t1QBKQYeAJEqzZyelf4BwRGGbnq0
	lh+J9kFGDfmE6qUfohsFlpSZDtLdR76aoYF/Zypd2KFkV5vcjutAxCIDYyLyxkaWBP5E7yaKnTW
	3TsctcUSA6ULFLOzJ9BncB0c8b5RKBdbwzxaW3P6YYyZXCgziqMmYgX/OUt1tKhr22dzCrwwD4q
	5wBSxI=
X-Google-Smtp-Source: AGHT+IGyXmMrSRANJRLLalw6Z8pmR7lxXLAbIfbiFi9GAXF+7z4Y8zrFtR93+krnpBNm40n9+10U3A==
X-Received: by 2002:a17:907:3fa2:b0:b45:a6e6:97b4 with SMTP id a640c23a62f3a-b50ac7eab77mr440206266b.50.1759934955514;
        Wed, 08 Oct 2025 07:49:15 -0700 (PDT)
Message-ID: <1d64ee8e-bb00-46b0-b404-3639dd22a177@suse.com>
Date: Wed, 8 Oct 2025 16:49:14 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Linux xenfs vs privcmd
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 xen-devel <xen-devel@lists.xenproject.org>
References: <e1627855-e7f4-4fe7-8079-68c3a0d488fb@citrix.com>
 <af7a1b15-ddfb-4dd9-8a5a-31e5dd2d2952@suse.com>
 <6c9b2e4c-bf13-4f26-baab-13be9947c377@citrix.com>
Content-Language: en-US
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <6c9b2e4c-bf13-4f26-baab-13be9947c377@citrix.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------V60sOjzSS0UvH0OXS2ByVzxG"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------V60sOjzSS0UvH0OXS2ByVzxG
Content-Type: multipart/mixed; boundary="------------620GXPJYtwQ3pRNIYnE9rY4s";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 xen-devel <xen-devel@lists.xenproject.org>
Message-ID: <1d64ee8e-bb00-46b0-b404-3639dd22a177@suse.com>
Subject: Re: Linux xenfs vs privcmd
References: <e1627855-e7f4-4fe7-8079-68c3a0d488fb@citrix.com>
 <af7a1b15-ddfb-4dd9-8a5a-31e5dd2d2952@suse.com>
 <6c9b2e4c-bf13-4f26-baab-13be9947c377@citrix.com>
In-Reply-To: <6c9b2e4c-bf13-4f26-baab-13be9947c377@citrix.com>

--------------620GXPJYtwQ3pRNIYnE9rY4s
Content-Type: multipart/mixed; boundary="------------GTupObQ6aKJfsZHDNA7j4tR1"

--------------GTupObQ6aKJfsZHDNA7j4tR1
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMDguMTAuMjUgMTY6NDEsIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+IE9uIDA4LzEwLzIw
MjUgMzowOCBwbSwgSsO8cmdlbiBHcm/DnyB3cm90ZToNCj4+IE9uIDA4LjEwLjI1IDE1OjMz
LCBBbmRyZXcgQ29vcGVyIHdyb3RlOg0KPj4+IEFueXdheSAtIC9kZXYveGVuL3ByaXZjbWQg
KGFuZCAvaHlwZXJjYWxsKSBzaG91bGRuJ3QgYmUgdGllZCB0byB4ZW5mcy4NCj4+PiBUaGV5
IHNob3VsZCBiZSBTSUZfUFJJVklMRUdFRCBhbG9uZSwgc2hvdWxkIHRoZXkgbm90Pw0KPj4N
Cj4+IEkgZG9uJ3QgdGhpbmsgdGhleSBzaG91bGQgYmUgdGllZCB0byBTSUZfUFJJVklMRUdF
RCwgYXMgZGV2aWNlIG1vZGVsIG9wcw0KPj4gYXJlIGhhbmRsZWQgdmlhIHRoZSBwcml2Y21k
IGRyaXZlciwgdG9vLg0KPj4NCj4+IFRCSCBJIGhhdmUgbm8gaWRlYSB3aHkgdGhlcmUgaXMg
YSBkaXJlY3QgY29ubmVjdGlvbiB0byB4ZW5mcy4NCj4+DQo+PiBEaWQgeW91IHRyeSB0byBt
b2Rwcm9iZSBwcml2Y21kIHdpdGhvdXQgbW91bnRpbmcgeGVuZnM/IEkgZ3Vlc3MgdGhlDQo+
PiBjb25uZWN0aW9uIGlzIHRoYXQgdGhlIGNhcGFiaWxpdGllcyBpbiAvcHJvYy94ZW4vY2Fw
YWJpbGl0aWVzIGFyZQ0KPj4gdGVzdGVkIHRvDQo+PiBjb250YWluICJjb250cm9sX2QiLCBy
ZXN1bHRpbmcgaW4gdGhlIHByaXZjbWQgZHJpdmVyIHRvIGJlIGxvYWRlZC4NCj4gDQo+IG1v
ZHByb2JlIHhlbl9wcml2Y21kIGluIGlzb2xhdGlvbiBkb2VzIGNhdXNlIC9kZXYveGVuL3By
aXZjbWQgdG8gYXBwZWFyLg0KDQpZZXMsIEkgZXhwZWN0ZWQgdGhhdC4NCg0KU28gZm9yIHJl
bW92aW5nIHhlbmZzIHRoZXJlIG5lZWRzIHRvIGJlIGEgd2F5IHRvIGZpbmQgb3V0IHRoYXQg
dGhlIHN5c3RlbQ0KaXMgYSBYZW4gZG9tMC4gVGhlIGVhc2llc3Qgd2F5IHdvdWxkIGJlIHRv
IGxvb2sgaW50byAvc3lzL2h5cGVydmlzb3IvdHlwZQ0KdG8gY29udGFpbiAieGVuIiBhbmQg
dGhlbiAvc3lzL2h5cGVydmlzb3Ivc3RhcnRfZmxhZ3MvcHJpdmlsZWdlZCB0byBjb250YWlu
DQoiMSIuDQoNCg0KSnVlcmdlbg0K
--------------GTupObQ6aKJfsZHDNA7j4tR1
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------GTupObQ6aKJfsZHDNA7j4tR1--

--------------620GXPJYtwQ3pRNIYnE9rY4s--

--------------V60sOjzSS0UvH0OXS2ByVzxG
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmjmeeoFAwAAAAAACgkQsN6d1ii/Ey9k
DQf9GPp5+eHacw2I5Hzxln+soZRg/57M1JOAhh0/D2dKv583I43eGxT3TxYwqUHW5GuQKLovDHYV
tvni7rGPQO3sPiIvFfB7YNqfYPad+ccNoASvH8CXJb3yUX9S+SrzbfzNWOGNaOzo/7mTyrx6C8HO
FquSpQP/1zoxUZsb/y+DYnwYbmV3frWGZjlWdOk4Ia/fcZpq41rsciEUBjfB1zW0ooM7U9e/sQAH
V0ZspSSVjnJEKGbAmFTCK1O0uZQHADZL1k+yzYobt74TsbPhsEWSe6Gml+o2qwb2PIRHF0lR0lCa
fx15g+XXjxYa4NiLojfGPK+oYl/77uB5iRe3HUT5Lg==
=3gIm
-----END PGP SIGNATURE-----

--------------V60sOjzSS0UvH0OXS2ByVzxG--


From xen-devel-bounces@lists.xenproject.org Wed Oct 08 15:00:00 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Oct 2025 15:00:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1139882.1475089 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6Vdz-0002V1-EV; Wed, 08 Oct 2025 14:59:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1139882.1475089; Wed, 08 Oct 2025 14:59:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6Vdz-0002Uu-BM; Wed, 08 Oct 2025 14:59:55 +0000
Received: by outflank-mailman (input) for mailman id 1139882;
 Wed, 08 Oct 2025 14:59:53 +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
 <SRS0=tb2B=4R=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v6Vdx-0002Un-K5
 for xen-devel@lists.xenproject.org; Wed, 08 Oct 2025 14:59:53 +0000
Received: from CO1PR03CU002.outbound.protection.outlook.com
 (mail-westus2azlp170100005.outbound.protection.outlook.com
 [2a01:111:f403:c005::5])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 70ee6e19-a457-11f0-9809-7dc792cee155;
 Wed, 08 Oct 2025 16:59:51 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by SA1PR03MB7123.namprd03.prod.outlook.com (2603:10b6:806:330::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.20; Wed, 8 Oct
 2025 14:59:43 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9203.007; Wed, 8 Oct 2025
 14:59:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 70ee6e19-a457-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=sLwhzoopvR5/BRXfhj6fpHZqKc0lCq386dxcVsi7H+FzoJGgV6dBHMpERl+NyRamzWQUzMzjIK7Gg6tpCY/l1k6Ot3tAOZ6H6SrZZpoAlCfH2n+zcqunnkt7ovQ5DcyOIDJnQBdUWK7YARW4yJBI5/7dB9ZWqLfJauqqjKLtS3KJY7phdiwkYSFDKuEMoyQtt/EOai3g0th+4DdxtuWObcnHm8glBlgLxUsmL+lCVij1mgnv9/2/xckFP8lh/O3hg08kEaIz/di1RfVH/xl0VKL6cCeibHFmDe2XERnHaxA1T121lLDw3Ju/7iigump3EB78TQqOteHCoX/l1aWogQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SdrZEuNbT5FGOF2ASae5QkYCjvrjXbRZKa8qWbCWAVw=;
 b=JEd+RgaeTsGQmWPwPvpV89JHLBLIyhID4Gpcv8d66GV5IgewhByJz1Gi2BRLBEVTuWM7s0Io6eQRrTKfP6JWhgjK/X/sFXkL/ffm3kbePEU9JiOSu6HHDvEKpJdhpif39h3v03y9SjYNAi8jwNOC3wXrb9yGgumaw3/ZMjJlaA8AapgNEe4+i/e/9ipSYOCmqHfzT/XtdLb+2RrwTuO7R/2FkYpfLhUfje9P9/qQ9flqlFqSPSnmkW/xx5I5rUTulsG8DV7mmX1S/1Z7JtOoaGlmtJvKBK09lFXiIAbL/oJkQz0uec3EUAXWHvVD7ieJGtmnR9MDZD2P55kpNoS2/A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SdrZEuNbT5FGOF2ASae5QkYCjvrjXbRZKa8qWbCWAVw=;
 b=gZFbZeGu7fUD7RU/VpILGYcP6F9CQHxXkbVIt3gQN4fJoBcxFI3Lxdq1qLt+5bxbreheytFNEyYJY2XliUzyZTwCbfkOiBVMwff0kxzTCNVrpLSHXQNDWCVeUTezepEWFvKBZdd/EFPoo9jHZWqGHVTfg/M1GLDFWVXKNMBcU6Q=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 8 Oct 2025 16:59:39 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: oleksii.kurochko@gmail.com, Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Stewart Hildebrand <stewart.hildebrand@amd.com>
Subject: Re: [PATCH for-4.21 v2] vpci/msix: improve handling of bogus MSI-X
 capabilities
Message-ID: <aOZ8W_--kyn6Kjol@Mac.lan>
References: <20251008143923.2557-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20251008143923.2557-1-roger.pau@citrix.com>
X-ClientProxiedBy: PR1P264CA0127.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:102:2ce::13) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|SA1PR03MB7123:EE_
X-MS-Office365-Filtering-Correlation-Id: c4a0674c-918f-4f91-6837-08de067b5021
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?QVorQk9Cc01KMFFSNWJuaStnUU9DRXhydlhiSHZ2ZnhkalBYRFRsWE56U1dz?=
 =?utf-8?B?anIyc2lrSytKSkJUVlV0SXhYNWYxaVhvWlBLaHdYWXgwdURuRmd5MmZNREZw?=
 =?utf-8?B?U2RIcituTmtvYmhvUGZsRDFidWw3Vm9hTkhoL2dXdE9VQktDSlNSSGVaWVg5?=
 =?utf-8?B?S2krSGM0RVU3cUhEUHd4SVlSTGFzK1c1MitBVkZJSUtLZmtPR1A4a2NjK3dG?=
 =?utf-8?B?eGsxQndFdW42N1NhZmV4Z2FxWHRCMjlFQ1Bjb1lXenZpeHN2YnBXVVJKVmZt?=
 =?utf-8?B?WU1mTEpQOEEvamcwMk5xZmtmQ3QzZG9YaVJzNkVvUnB4bFJGcDdXbFV5K2Zi?=
 =?utf-8?B?WENIS0g0YkdTZ1dJZEFIdXM4YjNEd2h2TTB4ajc1ekIwN2tONG1IS0ZpMlM0?=
 =?utf-8?B?S0IvUndKTG1UeGF3Q3NXODQ2bWVmbmNlSTdBZ2Zqd1A3MUlOTGQwc2t2OTUy?=
 =?utf-8?B?Q2hCQ3Zyc1AxWC9vRURKcXJ5OUw3bk9xZzFnRnIrWExnUm5NbkZlR2hqbTZk?=
 =?utf-8?B?cDQ2ZnpGbXJnbUVFV2hnZlpoN3RLekVHOG9zL0I1VUdOU2lLUFhSTHFLVEhM?=
 =?utf-8?B?ZjA4aGR3ZHZhczhrNm5Kb3JZQTBmRFlVSmNCVjFzZGhqN0t4T0VyZUtKOE9z?=
 =?utf-8?B?RmpZblc0VTN3ZU1jQjhURE9lZ2o1NzQwQ2dlZmFEWFlaQjZnZFMxWEwzVkZu?=
 =?utf-8?B?NVl1b01mdWFCUG9mU1ZkdVVJem9aeUxPdlJmeEhsTE43VTFQWWdlWlZLa0c3?=
 =?utf-8?B?S1dlSU1iVTFEeElockNQdmp1UXBualZOamlhc2hrUDJLaU40UlpLQ2Y2QUV6?=
 =?utf-8?B?cjJaN1VYQWVMM2daUmJMbHZCSkw3NStic1ViSzFMSkltL1hFNWRvMzBWQVBt?=
 =?utf-8?B?R3lzREFjRHBkbDZORHZhbGQ5RVc2eHo5bFc2cVRGVC9XWVcwUERKMDd5WkpJ?=
 =?utf-8?B?WXBJUGJHRUZoc1F6TnlMVzBBVDR1WGI2TERKS1k0enBIQzAxNFJqZ01vaTRy?=
 =?utf-8?B?NXZkK05jbjR4dlJyek40b2hKNmZyc1ArSGI1aDNYMDNqeWZWTmtGR0pCOFc3?=
 =?utf-8?B?YUZ1SGVwU0RnR3RJWFRDK3VYVnNjK3hBY2NqOXQySDNuU1Q4ektvbjg4QVlS?=
 =?utf-8?B?V2JrTUhnUVBmTWpZV05ZY3FqSXgyVGgvQjNzQVJCL2UvdXF4cjg1SkNSdS9p?=
 =?utf-8?B?YkI2Wm1sZlM2d041Y20wSVd5bHpoZjk3elRRNzRNaktzMWF4cjJwUG0vdS9Y?=
 =?utf-8?B?WUZubm5vWEkrV0Njc3c5TS9WbEoxMVRwRHptd3NteDFQOVA2cVBGV2Z3UVJv?=
 =?utf-8?B?VDJaL2k5ZGZKd0kwYis1Szk5QmFpdkhzcWt1ZGI5WWM3M2VjSC9ZNGpBY09h?=
 =?utf-8?B?NEV4eU5QL1hTeXl2dGhGWEVuMndiRlZOcWlKeFZQWlJCU2hldnY0cDJaemNH?=
 =?utf-8?B?TFozbjQ2OVk1d21UQkpBSjJsdTc4VlcxUzJFUk02Y1pHakNWUWgrQnFIZmxr?=
 =?utf-8?B?NVZlZVkyaVZTall2bGFxbEJyaVdrcE51YXJsbHZrelhWNEpQNk5kR0FYNEhx?=
 =?utf-8?B?eTlnaVdBZkR1RXVQejBGRGt5Q3R6bTlCbng3NFViKy9XVDh6UmNWWFlNeEo0?=
 =?utf-8?B?d2hTNnZYNFA1OHZteUhwRzJ3Uml1ZStWM2VKRzFNcFpXaGxWMUZlOUppTzJa?=
 =?utf-8?B?T3pIYjgxRWh1dk9tUDd0disrak9ZM3dPaU8xdmxrTWlhQm1kMXF4eGVDNzNh?=
 =?utf-8?B?RTNVQ0VhbU5tVmxxK3c5TXR3UllKS2ZLRmlvSlRVRTFmYkJoR25BdzZOaVlD?=
 =?utf-8?B?RzYvVDd6RzVWTSs4WDU5SW8yMjJjOGlhYklRZUFTL1BQNkMreGdQOElvbkJj?=
 =?utf-8?B?Rk1HeW9jQ1lKWDJkNS9aa0lpQ1JjVVdVMnNHMDJsTFhFVW1QWmJNaXhiNWYw?=
 =?utf-8?Q?zKgfGqkygMGpMYL/G6oTNB3klBWLrLh0?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bjg4QWpsWXlyLzJldjB5QlVDcnZEYVFyVmF4Y0RkZmZLWHdJbDFOWTJoSXpP?=
 =?utf-8?B?T2NLZ0J1QzYzMjg0Y2cvTWxvMXFhMktlemtNSHJsdXNySTZIUEJuV2xNUjI5?=
 =?utf-8?B?Wjdqc215L2hEK2tXWUptTW50L0czS21UV1N3TzdFeEVYQzFmLzd3bUVXUENt?=
 =?utf-8?B?eGxpa1dkaFRaQytPTHpEMXl6b1hLQnZsMkdMOGxlYkIvQ2R1bHF5eFZMRVBZ?=
 =?utf-8?B?Tm1NR1F6NGFyb1hFemhZbWUxNFRXQktaNUhEZXFnZy8xQkdFMlZWWmh4SUw2?=
 =?utf-8?B?a041WHByWE1CTThXcU5tQVAyTzdhWXM1eitQdVhlNWs2ZTFkMHhkbmhvOGZF?=
 =?utf-8?B?SHEzVFFtOWdSQ2luUnFYczA5SEhYM3lEekE2ODZUR3c4UHkwVXh1RFptSnlv?=
 =?utf-8?B?UmpWa3BOeVdkUk9BUWp1MW01end6KzBXa0xtSWtJcWE1RGhiSUtFejRtRStq?=
 =?utf-8?B?ZjA2S2d4Tk1QUGVXZHJ2WlkzMHlSSER6UXgrQng4SkJSSkpkQWY5eHQ4OXBi?=
 =?utf-8?B?S21laStEeEl0aVFCM0RXUG0zOWN4TkpOZFpDQlcwem5oUkJsVGl2MXFtQzNB?=
 =?utf-8?B?Z0FNRUp4Y1RLNFdHNWl1eDZJSzg5Y3g2MU81cWtqZXpKK3U5MFJHV3BoRlVm?=
 =?utf-8?B?a1h5QWxQK2RYVU9xVDEzV09mZjRNWC9NajhDdFZ1Wkx1aTAydGtESjBVMCtL?=
 =?utf-8?B?ZTVDdEdLdUdpcDdzTWNESTRCTXI3aW13VnQ4NEh0ak9JSGxLMCtMNzlSa09N?=
 =?utf-8?B?aWlzalo1YUx5MTVYRUZxVEJhVlhQTDZNalpLUkJxNzErVCszT0RwVmN4RUVM?=
 =?utf-8?B?c2FjRFc5Y0EyS3RYa0tvNjYvdEtaZTFkejJFVHBVM3NsSy9kTXJTdG5ORGZx?=
 =?utf-8?B?b1pZYUVLb3J2NjJjTjU5WHRka2gvUktLTkFuTXJNeU45RlNjVFc5MkdkUGV3?=
 =?utf-8?B?WHlpdDBodzF6VDBpaDFHQ25ISy9uR1FjcGpSSktXQ1VXVnlqdzRCOGdHbkYv?=
 =?utf-8?B?S281L1NwTjFXZmhQR0F6TUxzWC83Y0xRa0Y3emRLUVJYbFZybWlkcmxNbEp6?=
 =?utf-8?B?WEtKUGN6OEZ3SFdmbEFHZldSV1ZJUUFLTGJNZUFycnNpcHFnQVlFaklRMFJy?=
 =?utf-8?B?ek8zYm9Oc2wwYzdkbTNiUmZEOW5yL0t2QnhyYVNEYlF0WFRHUlJQOWE2UEZJ?=
 =?utf-8?B?b0VHUi92MVBSeE83U2h5bTBYRTdwR3V0RVJ5ZDdzRVlFSEgwSlIyOWdOL3lk?=
 =?utf-8?B?UFcvenExOGI4amxaOVVIeVVXT2RKRHJzaE8wWWhLVnBiM29LdWJqMU4xdW9K?=
 =?utf-8?B?N2JKbXFKQ1VPUVd0RUx5NDFjaitIUTF1U3ppNVkxOXZtS2pyL0pvbDg3ckYv?=
 =?utf-8?B?MVZ6ZU04WkI4NWpKeWZqN09Xc2hma2NnOUNUTkI2WjZIaVBCUlQzdCtOQ0dl?=
 =?utf-8?B?ODJiQUc0b0FrYTRFVmVxbitLcmhTQWdqWldrSFV2NFlIM01HS3U4R3dYRmQz?=
 =?utf-8?B?cHVKUTlsays4MFY4dklsLzE1ZFhOekNySnFEbXExKytZa2lxOXhLbkpmL292?=
 =?utf-8?B?emRUQlREdFFUNnorOW1NT3UvNHFrUWR5LzYxRVA5WXUxT3MvUjVhMCtEUWYx?=
 =?utf-8?B?WS81NXcyUkhLeWtlZkU5RUpwZEpnQ2lCUlVzSVZBZXZJN1g4R3hpL0pqVTFa?=
 =?utf-8?B?cGIveGd0Tm4rUVBXWG9RZEpjek1rbEhTamNsdzMvTWRLTGVyUU8xdzZwbnVO?=
 =?utf-8?B?UzZlNEZNL3ZkdzlTQVJtMlp0VmYrR2JhMEl6RDlpVkc2WXpGZlZEQ0Yra1Yz?=
 =?utf-8?B?RXEraGdsem1xc2NyMTh4YzlZNElyQVFXMFovNHZnaWk1TjlzWFNyT2EvL3JJ?=
 =?utf-8?B?bGxyMUkwSDVLT01TT2U4STFWU0dyVE9ycDlrckV6NDZqaHZtTDhKYkNCb0lk?=
 =?utf-8?B?MkhPQUtvMDltR2l1LzJzOXBkRlB1Q2UvQlJwdGJzNVJyQXF1dGY1WlpianBl?=
 =?utf-8?B?RFlJSjRIVktLdVFMWTNCcDc5Wk0rWUN3dnJXR2liVHRMaENvZzdLQjlnL1RG?=
 =?utf-8?B?VjJSbldkcFJqNGhQUDd5c2FCQ1ZhSUt1WjNZQitNWGtncUwxdjk5RkozWU1Q?=
 =?utf-8?Q?zxjAYlDL4+Hv5yRcT3ge7pg7i?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c4a0674c-918f-4f91-6837-08de067b5021
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Oct 2025 14:59:43.0998
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: xpudZ3NuDORrSg0kSMt2GbeVZr1qoJK3CAkz2Dl8k4vYpxGPkopxuaEsJp0rFsx/Deq6S74F0hRQCeXZTem8vA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR03MB7123

On Wed, Oct 08, 2025 at 04:39:23PM +0200, Roger Pau Monne wrote:
> I've had the luck to come across a PCI card that exposes a MSI-X capability
> where the BIR of the vector and PBA tables points at a BAR that has 0 size.
> 
> This doesn't play nice with the code in vpci_make_msix_hole(), as it would
> still use the address of such empty BAR (0) and attempt to carve a hole in
> the p2m.  This leads to errors like the one below being reported by Xen:
> 
> d0v0 0000:22:00.0: existing mapping (mfn: 181c4300 type: 0) at 0 clobbers MSIX MMIO area
> 
> And the device left unable to enable memory decoding due to the failure
> reported by vpci_make_msix_hole().
> 
> Introduce checking in init_msix() to ensure the BARs containing the MSI-X
> tables are usable.  This requires checking that the BIR points to a
> non-empty BAR, and the offset and size of the MSI-X tables can fit in the
> target BAR.
> 
> This fixes booting PVH dom0 on Supermicro AS -2126HS-TN severs with AMD
> EPYC 9965 processors.  The broken device is:
> 
> 22:00.0 SATA controller: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] (rev 93)
> 
> There are multiple of those integrated controllers in the system, all
> broken in the same way.
> 
> Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
> Released-Acked-By: Oleksii Kurochko<oleksii.kurochko@gmail.com>
> ---
> Cc: Stewart Hildebrand <stewart.hildebrand@amd.com>
> Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
> Changes since v1:
>  - Introduce a DEVICE BUG prefix.
>  - Remove extra newline.
>  - Fix typo in commit message.
> ---
>  xen/drivers/vpci/msix.c | 50 ++++++++++++++++++++++++++++++++++++-----
>  xen/include/xen/lib.h   |  3 +++
>  2 files changed, 48 insertions(+), 5 deletions(-)
> 
> diff --git a/xen/drivers/vpci/msix.c b/xen/drivers/vpci/msix.c
> index 54a5070733aa..4ddcefbcb274 100644
> --- a/xen/drivers/vpci/msix.c
> +++ b/xen/drivers/vpci/msix.c
> @@ -675,6 +675,51 @@ static int cf_check init_msix(struct pci_dev *pdev)
>      if ( !msix )
>          return -ENOMEM;
>  
> +    msix->tables[VPCI_MSIX_TABLE] =
> +        pci_conf_read32(pdev->sbdf, msix_table_offset_reg(msix_offset));
> +    msix->tables[VPCI_MSIX_PBA] =
> +        pci_conf_read32(pdev->sbdf, msix_pba_offset_reg(msix_offset));
> +
> +    /* Check that the provided BAR is valid. */

I had the following local change that I forgot to update the patch
with before sending:

/* Check that the referenced BAR(s) regions are valid. */

I think this is a better wording.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Oct 08 15:07:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Oct 2025 15:07:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1139905.1475115 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6VlY-0004rs-M1; Wed, 08 Oct 2025 15:07:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1139905.1475115; Wed, 08 Oct 2025 15:07:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6VlY-0004rk-Ij; Wed, 08 Oct 2025 15:07:44 +0000
Received: by outflank-mailman (input) for mailman id 1139905;
 Wed, 08 Oct 2025 15:07:43 +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
 <SRS0=tb2B=4R=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v6VlX-0004hW-JK
 for xen-devel@lists.xenproject.org; Wed, 08 Oct 2025 15:07:43 +0000
Received: from SN4PR2101CU001.outbound.protection.outlook.com
 (mail-southcentralusazlp170120001.outbound.protection.outlook.com
 [2a01:111:f403:c10d::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 88a34cad-a458-11f0-9809-7dc792cee155;
 Wed, 08 Oct 2025 17:07:41 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by PH0PR03MB5815.namprd03.prod.outlook.com (2603:10b6:510:37::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.20; Wed, 8 Oct
 2025 15:07:33 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9203.007; Wed, 8 Oct 2025
 15:07:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 88a34cad-a458-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=JRe7zWSCEMwR0Off78Ih5pXEITYaWKYkhBOgmo03VQiVefzzIJxYHKyFmX1cYuuI99iVPqNQnzU3Fb3/ooTyoHWT6Ojvh2uASgJ8/5BQ8R74jbEfVcCS0Y67miZW1QB0tM9Vm7teohq+7bQdkYZMoeyViXw2b70uwWXivxE4fs3RKC3cn2Sgr9MwwKwOPCTDD1kaw2aBDtkNsxxjZK386Wisrf0OSMjyhWtGroKFT1YVYNtFJ7OuYZp43f1qHlXoIzQEREKAwwfVAFDUB3PlgXCOL83/jKxkK6QLqUVVadmRw7MAOySXZ5Du1nQ13tVZUx4Lej/6+Uv2D63xsuXVIw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YtOeElyIR5YUcsuNXZICGlpmkQ6AjNzAVIH2oXN3xzo=;
 b=j8r8h0ryIwST5k3JFpBxFh10N0tQs/N0XynwU8W+m1jzgcCEXkt8ZsmaTsZC0KYxMjeZX9BBk4l+uVw5pzi/c83r9J+lWcNJ/BJl8/y/CNIc6nn+4GEiWuV3pVathaeq7CTY5LOfKG+ZECCyl4Vncu6Yy0WzYEH4Ap7u7MD0GwKIxw3JQje6kWcS/RZH5oJOKioX+zHr/gBhY+N7fxlGD4CedNJovrk/SxOT8pUzPIWtT8Gi+4Mbq4Sd0bpgrHvNi3gKZN605psy0alX1dYIq9WwRqVRZFdiMaZknwye/u/a2FH64K81/tzA+mopmPzaZ4FXHDbSV9UCEVAoswX86A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=YtOeElyIR5YUcsuNXZICGlpmkQ6AjNzAVIH2oXN3xzo=;
 b=EIt8HaiTudA9Eq2Qsdo6Zus6LQC3aOmO6A60410kATFsHjdxMzxEYaK9VW4AdxTM/w0AmwBUxUUR8aVq/nm2WMfEoT1kA4CZx+Yx/roJxb40DwsnBSi+BA88WXJ4pbqXX5HSSBCSfsmjJtFlDse0YMAuEFbhA7HhgZOdG/EWQJs=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 8 Oct 2025 17:07:29 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.21] tools/tests: don't pass -E to sed
Message-ID: <aOZ-MY8jP6R1I9Uf@Mac.lan>
References: <4d985a6f-59e2-45ea-bc3d-ecd2da032a17@suse.com>
 <aOZ1nneO_4-KvvVK@Mac.lan>
 <dd1f9a5f-fc45-4ffe-b541-6f250b74dfb6@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <dd1f9a5f-fc45-4ffe-b541-6f250b74dfb6@suse.com>
X-ClientProxiedBy: MA2P292CA0018.ESPP292.PROD.OUTLOOK.COM (2603:10a6:250::8)
 To DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|PH0PR03MB5815:EE_
X-MS-Office365-Filtering-Correlation-Id: 416f85a1-3009-4e4c-1f20-08de067c6870
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?TTBrN1A2NURIeFYyRFBlakNLaTlPcDF0cWpGTlZMZ2ZweDR5d010T1pVWDVT?=
 =?utf-8?B?KzhXeVdLcDlJWE9KRWxvcDAveCtXcXFtdzJXWnJHL0VoMHlzbzdFbURFZlVz?=
 =?utf-8?B?Wll6WW53NnY1bTNQQlpSa1dJSmhVZ1FkS254MkJzMHBRTlgrQVR2aTdVcGFN?=
 =?utf-8?B?SUFKY2U2aHVCZVMwVWZaTGpQSUFRQW9ocXVyZ1h2MXJqL3laQzZhV2Nxd0tm?=
 =?utf-8?B?ZUtPRzFQajVMNWRRMXF1UVdFT21HTlJwL2o2WXF6R3k3Ymx1UWlxTkdyc0Ra?=
 =?utf-8?B?aHBzVnVpUHpJR2svRStsWG92U2E3L0NZVGZGbzZvQ2dIZjFtbU50ZXJmOFNo?=
 =?utf-8?B?eWJwS01JZU9lUmpEYVBhVktEUnhjT05OWGtnU3crdy9nQk15YmVXNHRYK3Z2?=
 =?utf-8?B?d0dCQWRSd0RXTVJVZ0RkS2FaS3ZvY2k3b2tMN2U1WUNicmgvSFdkYWpkRldh?=
 =?utf-8?B?RkltWkpFSHNsTUpXSEZVV2FQVlBCUUhmODNPNk4wY1lSdFliMldEd0RNSG9j?=
 =?utf-8?B?YWxWa0RzMDNEV05HQm8wNWtiOTQ0a2F5MVlsUnNMUnE0dlVlRmQyZUxVUDBE?=
 =?utf-8?B?eS9JNGpXS3RSTW1NaFBjcHFodGlSZEdrTVg0VFk1NllwRExiYzk2d003ODhW?=
 =?utf-8?B?SFZaTkZyenBGN3JVbVV1R0JIZUxaN3JNWjI3aEVmRWVPMmVySHhadDJUTFdQ?=
 =?utf-8?B?T1lBNjNneUw3Y3NMMlBBMys4SFBIN3VxOWNOa0llUWJ1QklmN3JEMU8yTWdv?=
 =?utf-8?B?eDlOT01GV2toK3pHYkM1TVNncmVVN2dvenR3Q2JETlB1S1NuTm9nY2hCaktv?=
 =?utf-8?B?MWpVNDI4Y0QxMCthbHRUMlE5ZEZ0cXFmVnU2Q24vYVQ5TENrZ3NhUTl4YlFP?=
 =?utf-8?B?elAzaEZiMmZBRnR1SE9SSDBrcTJzTTJ3OUpnWkFxanFLS01QUWRYMWw0MUdL?=
 =?utf-8?B?aEtNOTRzK3IxcFlBYlVSOWNjWkgzU3BzaE8zRWFsa1RUR3ZtdlIrYTZLRVVZ?=
 =?utf-8?B?ZHpCamVPdTk5eXV2bDFESDQwZy8wTFhDOHZhbjlxRDhad2ZVYzE5alpIS1J5?=
 =?utf-8?B?OThCSjRhTE1FQzZ0K2VQc3hBL0hJTHRrdC9qZkdZbmZQdWl1SkYraEZLZnJM?=
 =?utf-8?B?V05lYXF3YXdFNUduMTIvRTROUUpRQm84MnVXeHVJQU1CTEsxTEVmUXF0MUJq?=
 =?utf-8?B?cnJWUW1tM3lTaHpBUHNwaTVkU0dWVktFaVhVQWNzUVU1UVMrYUZVQllKS2dn?=
 =?utf-8?B?R205T25TNGxDS2dGNEptUFE0S3N0R040MlRucFNkcEpXaVA3QUlmejNIa0Fl?=
 =?utf-8?B?V0VQTDAxeWJLYjlubTdZN09lUkd3L2o4REF0WnJwVXFqT29JM1lTN3hZVkla?=
 =?utf-8?B?d1VtR0plU1ppTExmWEplS0hnelFDc1E1MHg4ejRhT2ZSSDZ6ajR4RkNua0NL?=
 =?utf-8?B?N0Jmd2FTTTRadUdUKzIyODFVa0lESzRsYTA2MnF6bGsxNjQ1WjhlcXZNaTVN?=
 =?utf-8?B?dFZHQkRDS25wb2pUNWpTbHN0S3EwSXdycFFMR2RNY2czWmQ3YjR1MkcyT3p2?=
 =?utf-8?B?UHp2SUJYWFhuRTM3aVlXYVlRa1o5K1YxeXdsN2pJRHIzZnNJTjhXdCtWOWR5?=
 =?utf-8?B?TUN4dlIwdFdMU1NVcFlvaUlWd1FkMS9oaGh4VUV5b0xJdEpCYnA1UUorSWhP?=
 =?utf-8?B?dU5QOE00Y0hqZFNCRXRFMTNPV2k0cXJUbDUxaElmYXZLVTlZTEYrVVJuOVNp?=
 =?utf-8?B?WlNqODF3bEdxandVVUZ0UGZ0ZmZ5Z1J6YkFqd1htRnltY0dqNFkyZ2ViOUxX?=
 =?utf-8?B?YXJCL29CRUZGM1FYN0p1ME9KQktGVGg5SVRjYlo4YUNQWWJhdnZUNG9tQ0Nu?=
 =?utf-8?B?M3BFb3NWeDMxWndXZW9taEZibEZSL0tJc1g2SjBucHEvRWc9PQ==?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cmJwSVVON0FpYkVZS050MkllVjlaaUhDNmdTZDFZaHdBalRYTmtJa0x0YUJW?=
 =?utf-8?B?SmpPKzZvYkpQUCsvVGVweW5YZCtiNG94N3hZa21kaFloZGNmUlFJSm9TK0xi?=
 =?utf-8?B?ZlhGeXkwelJPZ3BtYXhJY2ZBMDU0YXVKTGJudVkxeTZUMGo3aXZVRXQreG1T?=
 =?utf-8?B?WE1rei9NOUVoSGRScWkvMUk0UHZrYTczcy83NWNTaWxuTUVWeFVRMmVUcFVP?=
 =?utf-8?B?dTZ0bzRIb0pXc2hjUXRJbDRzZlpteWNYbFZXTG9uZVVFV0VvcmdkMGxyRkJm?=
 =?utf-8?B?UkVNWlJLWXBaRmwrNE1VcGo3cjJ5SzlaZnJ5aXJQa2NQb3dFSVVBZlhNN2ZS?=
 =?utf-8?B?TkZaeGdTczZBeEd6dG41YWxDN0N4MWsra09sdU9aZXFSczRjZUpjaU9iQTBs?=
 =?utf-8?B?ZHkrbWNkY2tJcFFPc09XL3V2RGpXWk1ObDJnSUEvMGxtaVdtN3FPVG45UHQ0?=
 =?utf-8?B?bmZtOTUvNG5RZEdwWW5qZDMrMng3dkJSR3h2ZmhjODRVZ0MxWG5LMXBFb3BH?=
 =?utf-8?B?Y0orbW1KbHZDa2VpNzNmK2JRd0Z0M0d4aXNjNGxQM3VTR3kydVBWeXJnK3Ju?=
 =?utf-8?B?NU5yTU8vaEJQb0VCcG05VFZvVkc4dTZIcmJKVXlWMHE1TEd4cnFGbE9sMDZn?=
 =?utf-8?B?Tm9wcEwrUC9jTUZYTlhYeDhtVjhua1RHWTB2Qy9RYjBoUUtJTmhkQWJaMG51?=
 =?utf-8?B?MG1OdTBXZEtCQmtkU2RhakRCRWZsYVpQVHRqeFlBSTc3Ky9RWFp0TUN2NTV5?=
 =?utf-8?B?ZHpSQlV3SHJZNVVCTENQTWVXOXQ5SG9lMXd4Rm5WNVVIRWN5cmdpNzFSd1hI?=
 =?utf-8?B?Z0hmc013cnpLVHRaY2ZwNUFsYk1VVHRJL0c3VlJyQUlYeXJzWXl4eUw3L1RG?=
 =?utf-8?B?VHd3cDd0L2V1TlVCNzFDODg0b0pmbDVRL01PdUlydk16QS84aHJRWHVjUkF4?=
 =?utf-8?B?djBGOWtWb3dsVU1uM0FyejNnUG9GVlBwb245U0lHUjEza3RuaGxuYUpXZWJS?=
 =?utf-8?B?MWkzZnNqdW1HdldEay9sdVVKK1hrN0xEc0FHZlNnejlNUENvSU10WHd2RlNz?=
 =?utf-8?B?dlpCcEJENzBIdGlTeEN3YUgxT3pOSnNtNVk1c0RFZmtWRitCZEp0ekY1TFdO?=
 =?utf-8?B?TlI4UG14clRaVWxEQjhIRzExblk0RGgzYlhNeVUwdW9BNE9HSE1OdUNzOGZ2?=
 =?utf-8?B?MEtrcUpuc0kzbHpjbDJQTEZSYlBESEN2ajN3QStKSnFzb1MwWWdqbDZpR0gz?=
 =?utf-8?B?QXE0OS9tQnRlKzdMNVVlU2ZtZk1VL3V5NEhPZkhSaU5JQzZmYmJmaU0zeUZB?=
 =?utf-8?B?YS9wQ0JBQ0hIeWlRQWtkcW1DNmhBZFlJcGhNZlR2eXYwV1Ard0xUaGM5Qkk4?=
 =?utf-8?B?ay90Q1VrL0h5YlJ1QTR1cWFmUDMzVTh5ekxLTDdPTi83QWZ0QUd3Q1FtMnk1?=
 =?utf-8?B?QmlSVk15WmIrWWxVLysyUWYyZWkyak1RWlFWRk9jUk55RDY3U0RaOFl4cFp4?=
 =?utf-8?B?NmtYbCtQbDVRa3ZCYWFLNmRIY2k1UDBodE5CcnNjeFBLMnRudmFaRktWY3FV?=
 =?utf-8?B?YXA5OWtCMWlJdEZOOGFIaGdlLzJTQ2cvNkxXcERsSFRGMm03OCtSN29rTFE4?=
 =?utf-8?B?eGNTcE1JaDhGRWJ1TlBad1BWODM1YVVJR3k3ME1Xc3lzTHJjdy9ldEFiMy92?=
 =?utf-8?B?K2FpVm1aaXBZNE9CQm9ZRWNjUzIyWUlZT1l1WFRIczhJSS9tQzJyejJWWjRv?=
 =?utf-8?B?cGdKd1RuaWN0dEJRNmVZQzZkT1lMK2lEZjRTQnh2NldjOXR4QUdMaWd6MUFU?=
 =?utf-8?B?U1lmSU5iTFJYandTUHQyNHpWSjZXaVRHczRadkVELzNySGZWeHRmUHJRUTRG?=
 =?utf-8?B?K0MydzFYR0VxckVnOG1oS0RVclNtTmJRUXlFWWpYYzVBYkd1NUN1YndzeWo5?=
 =?utf-8?B?SXkzNVVCWlJCczJnUE9WNEVOWERlQ2xnTGNBVEpteTN5UnZrTk50Y1Q1c1Yx?=
 =?utf-8?B?WkgyTVJ3SllieHU3aEdaclZDMU9Sck9yUGhaMngyb2lacVFrR21vaERHS0hW?=
 =?utf-8?B?U1FoNCtOY1JQT2tOdWphTUw4c1g1UG5MQ0lIYzNWVWxLTmhMRzFkU25zbWNx?=
 =?utf-8?Q?9zTVzPBwPZNZCqem/FfyZCdKZ?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 416f85a1-3009-4e4c-1f20-08de067c6870
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Oct 2025 15:07:33.3185
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /+AF3VE6TQ2YMOk/UVRphgDiBvQXoMgil9KH5VGz0OcSsAw3+lyvUPb2PGIFuAAxXZEmgBYFS/w74EqGih3Pgg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB5815

On Wed, Oct 08, 2025 at 04:42:13PM +0200, Jan Beulich wrote:
> On 08.10.2025 16:30, Roger Pau MonnÃ© wrote:
> > On Wed, Oct 08, 2025 at 11:47:05AM +0200, Jan Beulich wrote:
> >> Even the 2018 edition of The Open Group Base Specifications Issue 7 [1]
> >> doesn't name -E as a standard option; only Issue 8 [2] does. As there's
> >> nothing "extended" about the expression used, simply drop the -E.
> >>
> >> [1] https://pubs.opengroup.org/onlinepubs/9699919799/
> >> [2] https://pubs.opengroup.org/onlinepubs/9799919799/
> >>
> >> Fixes: cb50e4033717 ("test/pdx: add PDX compression unit tests")
> >> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> > 
> > Reviewed-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
> 
> Thanks.
> 
> >> ---
> >> In principle the -e could be dropped too, for being redundant.
> >>
> >> Hitting the problem with an older sed pointed out another problem here as
> >> well: The failed invocation left a 0-byte pdx.h, which upon re-invocation
> >> of make was (obviously) deemed up-to-date, thus causing the build to fail
> >> again (until the bad file was actually removed).
> > 
> > Hm, we could do something like:
> > 
> > sed -e '/^#[[:space:]]*include/d' <$< >$@ || $(RM) $@
> 
> As is that would hide failure of the sed invocation from make. I was first
> thinking to sed into a temporary file, to then rename that file. But this
> won't cover the more general case of the issue either.

Well, it would work if the sed into temporary file is a FORCE target,
and then the move to the final file is only done if there are
differences?

> Meanwhile I think
> that the Makefile itself should become a dependency of the of the target
> header. That way, if the sed expression changes, the file will be rebuilt.
> (Of course this still builds on an assumption, specifically that any
> failure here would be dealt with by an adjustment to the rule. So possibly
> we need a combination of both.)

It feels weird to me that a Makefile depends on itself, but yes, it
might solve the issue you pointed out in a simpler way.  Doesn't
makefile consider all make generated targets as obsolete if the
makefile itself changes?  The pdx.h generation is a clear example
here, but the same could apply to runes used to build object files?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Oct 08 15:36:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Oct 2025 15:36:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1139943.1475124 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6WDS-0000uy-Sg; Wed, 08 Oct 2025 15:36:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1139943.1475124; Wed, 08 Oct 2025 15:36:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6WDS-0000ur-PN; Wed, 08 Oct 2025 15:36:34 +0000
Received: by outflank-mailman (input) for mailman id 1139943;
 Wed, 08 Oct 2025 15:36:33 +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 <SRS0=eGu8=4R=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v6WDR-0000ul-CR
 for xen-devel@lists.xenproject.org; Wed, 08 Oct 2025 15:36:33 +0000
Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com
 [2a00:1450:4864:20::630])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 90926fa7-a45c-11f0-9d15-b5c5bf9af7f9;
 Wed, 08 Oct 2025 17:36:31 +0200 (CEST)
Received: by mail-ej1-x630.google.com with SMTP id
 a640c23a62f3a-b3e7cc84b82so1316779266b.0
 for <xen-devel@lists.xenproject.org>; Wed, 08 Oct 2025 08:36:31 -0700 (PDT)
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
 4fb4d7f45d1cf-639f30ceaaasm253067a12.10.2025.10.08.08.36.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 08 Oct 2025 08:36:30 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 90926fa7-a45c-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1759937791; x=1760542591; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=JA1EhhERvokDdE+jUmbn5V/7w40H0FPAGo6FtVmfcSI=;
        b=cxFMkEwVvm3LV3ZRSYR/Ad893Q7+hRNmtMOjbK3vI9/M19L9yFvHUyjbtWT6uoKsq+
         G9K3gNU6vrmSx8sY3GcnpcWEN8C2vH2Pwm2d8ceqGavE9gDlpOFaeMUpzgfGg4fNgNss
         YHrbVRyc0mjG4V2GdM3Y/VlTyXUebf7KC8CxP7n858cimiE6nuPK5RHedj1loqEiiI9Q
         dObVLXvkQZyEkd70DzP4Rb6+/ygWEEMU5FKrcFxHvCC67ABkcvMl5UmD5lQgCmpaY5zl
         fWKSKIrBfFxDjCk+dT2WgdngvJwRjIL/LJZL0kCGQ+WmYiuK1hNvsvKvX/EFPsrcFM+0
         YzEw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759937791; x=1760542591;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=JA1EhhERvokDdE+jUmbn5V/7w40H0FPAGo6FtVmfcSI=;
        b=iwwbqdUehhZxEzFKH4wQwrWaArJw06rdfyCV2ZSAQRANGr1xPnup3JVJ+gLcXtrz4J
         1hFCBFJKZTWXR42NJet+u2+Rm1cecr1wArl77WM+03BNABlnyRdjpQaD+TGaBpqTEExB
         mRgz1FmAU6+4knL0X5taSC7dcDoD9CE1jc+Llrxcc85iQo+Foj1lU/Ct8/A0y/nhn5Ps
         peR8WEirBk7bi1rvvDy4AHXYksoRN+/385gnfk8TWzCD71FEntE8s11TPCl0vRH57Tzd
         WFxpKLSKf+XglBdpAzK7aC8DcYfrYGr5ln88YdACtpY92EwtQF+M67SAhPHoT4fdHCT5
         UU0g==
X-Gm-Message-State: AOJu0YzkoQK11zG22Zu/vgxQGfCvndAmZ09S7XNJnE3s2C22RoSJ5m5p
	pg/d6y9zBkirbth4eZ/aR77xhOXcDtiiUswabP3yWTRUX40+9HahJi/8Fz8Ya9qxBw==
X-Gm-Gg: ASbGncuHZ81Dgep89fG5bm04majv852a4eO4QWAJz/+O6KNuU+5lyZRs1KcEoPXJ1Hl
	4OJ6nmdzK+vpZC1SNhoSpXmFVTTVO3NM0kVpSrJQ5HUgTbhnqtZ7fOo2VvKm5t2/J2E8xUUzikO
	sUi2K02r2CXTYOThxuuWq/nr4+B/ZN9AGirxLazFjp9SK2ld6VNx7Dlb+iN6P620Y32vYtlCHjv
	5+NhYXycJ5t0a/NRSWozRQyn2R4ett2Dsh5dhU0tTlZb9IkOE465OZU9ZYjHmKTC5gcoaKt5hac
	QYWagJJME7HddRzPNFOcYW5cHnfurmKAtpMbYNx8d4Iz3qs1hGcrK4WVtu5xK+w6KUXW/ahyyy/
	vAraPVl1Eui1GM+fu+fVNzEOk9ly4ESOZCdmGIdsZRmKysfS+WTeT3yJqbSapqQZuxdMh5nxBiA
	wofpMPQ+5Qkjf4Hi/VTo2xvauy6q+ln9+Jn8Q+oOscYg==
X-Google-Smtp-Source: AGHT+IGBn/d5Mi1h5Rii3tGqDQ5UDFq6NDE9OpMm+/pTqzuJhEbAClWa0/XWFGgJCEelM6YyGXJqmA==
X-Received: by 2002:a17:907:7fa7:b0:b3d:c3ee:406b with SMTP id a640c23a62f3a-b50aca012dbmr401336266b.61.1759937791159;
        Wed, 08 Oct 2025 08:36:31 -0700 (PDT)
Message-ID: <9b2ad27a-ffaf-46fc-890f-b5d94ff6a08a@suse.com>
Date: Wed, 8 Oct 2025 17:36:30 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21] tools/tests: don't pass -E to sed
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <4d985a6f-59e2-45ea-bc3d-ecd2da032a17@suse.com>
 <aOZ1nneO_4-KvvVK@Mac.lan> <dd1f9a5f-fc45-4ffe-b541-6f250b74dfb6@suse.com>
 <aOZ-MY8jP6R1I9Uf@Mac.lan>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <aOZ-MY8jP6R1I9Uf@Mac.lan>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 08.10.2025 17:07, Roger Pau MonnÃ© wrote:
> On Wed, Oct 08, 2025 at 04:42:13PM +0200, Jan Beulich wrote:
>> On 08.10.2025 16:30, Roger Pau MonnÃ© wrote:
>>> On Wed, Oct 08, 2025 at 11:47:05AM +0200, Jan Beulich wrote:
>>>> Even the 2018 edition of The Open Group Base Specifications Issue 7 [1]
>>>> doesn't name -E as a standard option; only Issue 8 [2] does. As there's
>>>> nothing "extended" about the expression used, simply drop the -E.
>>>>
>>>> [1] https://pubs.opengroup.org/onlinepubs/9699919799/
>>>> [2] https://pubs.opengroup.org/onlinepubs/9799919799/
>>>>
>>>> Fixes: cb50e4033717 ("test/pdx: add PDX compression unit tests")
>>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>>
>>> Reviewed-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
>>
>> Thanks.
>>
>>>> ---
>>>> In principle the -e could be dropped too, for being redundant.
>>>>
>>>> Hitting the problem with an older sed pointed out another problem here as
>>>> well: The failed invocation left a 0-byte pdx.h, which upon re-invocation
>>>> of make was (obviously) deemed up-to-date, thus causing the build to fail
>>>> again (until the bad file was actually removed).
>>>
>>> Hm, we could do something like:
>>>
>>> sed -e '/^#[[:space:]]*include/d' <$< >$@ || $(RM) $@
>>
>> As is that would hide failure of the sed invocation from make. I was first
>> thinking to sed into a temporary file, to then rename that file. But this
>> won't cover the more general case of the issue either.
> 
> Well, it would work if the sed into temporary file is a FORCE target,
> and then the move to the final file is only done if there are
> differences?

Yes, splitting like this ought to do.

>> Meanwhile I think
>> that the Makefile itself should become a dependency of the of the target
>> header. That way, if the sed expression changes, the file will be rebuilt.
>> (Of course this still builds on an assumption, specifically that any
>> failure here would be dealt with by an adjustment to the rule. So possibly
>> we need a combination of both.)
> 
> It feels weird to me that a Makefile depends on itself, but yes, it
> might solve the issue you pointed out in a simpler way.  Doesn't
> makefile consider all make generated targets as obsolete if the
> makefile itself changes?

I don't think so, no. What it feels a little as if you may be thinking of
is that if a Makefile itself is a target, make will re-invoke itself once
it was updated.

>  The pdx.h generation is a clear example
> here, but the same could apply to runes used to build object files?

Well, yes. That's why we have the .*.cmd files in the hypervisor build
system. That's less coarse than using the full Makefile-s as dependencies.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Oct 08 15:53:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Oct 2025 15:53:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1139955.1475135 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6WTl-0003fU-6P; Wed, 08 Oct 2025 15:53:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1139955.1475135; Wed, 08 Oct 2025 15:53:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6WTl-0003fN-2u; Wed, 08 Oct 2025 15:53:25 +0000
Received: by outflank-mailman (input) for mailman id 1139955;
 Wed, 08 Oct 2025 15:53:23 +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 <SRS0=eGu8=4R=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v6WTj-0003fE-8q
 for xen-devel@lists.xenproject.org; Wed, 08 Oct 2025 15:53:23 +0000
Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com
 [2a00:1450:4864:20::62b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id eaa10ece-a45e-11f0-9d15-b5c5bf9af7f9;
 Wed, 08 Oct 2025 17:53:22 +0200 (CEST)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-b4736e043f9so28378566b.0
 for <xen-devel@lists.xenproject.org>; Wed, 08 Oct 2025 08:53:22 -0700 (PDT)
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
 a640c23a62f3a-b48652a9ff0sm1683399766b.5.2025.10.08.08.53.20
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 08 Oct 2025 08:53:21 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eaa10ece-a45e-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1759938801; x=1760543601; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=WjihOiG01b3doXNVia7/ldfLICaj1ok9ctXzdnsvNeM=;
        b=f3A4Rj1W9366/EDdg/21VKkDCjopGif53qXGbrNoN4kQSUWen2JCZGpkNkei9map/G
         KQjB/BmE6VWHCwUlpbUfmc99X1Z3LZ10NVKcKxRFtX/31cs9BLQjP4hOPhX7J6wN2pUg
         GGCMoMJ7YGlyEEzZ1zhW5+DaEPDeZsQ6nCqBZArxKInNDZy9C8nIIyH4oAtLU3RXmOCi
         ok6xf/lZOgri97c1mU5G/2g++Z2+n3dktcrU7fhV68dA3t+Uf81skna3zvPS7gK3A9xd
         44i213KaGwuWpd0JNlNy7bYydYooAAB3G/y+JR666gJY+vF7xl/1MIJpO1DhSl5PFss6
         ihqA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759938801; x=1760543601;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=WjihOiG01b3doXNVia7/ldfLICaj1ok9ctXzdnsvNeM=;
        b=daouXlD//YCxtCxoqWqk7Qfsn+VZsDtNcCztN1ghdyffqfQSAOf9CTMj3t+9LRQgb/
         FD+iP3FdbMhs1UoeyO2n8oxMn4lmZUTZC6DWdcdPxBHgTNgRrdxdVQlW9WmR+ZcKZrwU
         ncvSNlrohtcbTpV8ITg1Tx5Fe5YDF/nU37VQV+LYNWvtv/DCD+TPNXuyHgI3+04tXW5B
         tG4vUTo1AJ2GdPg8x697xWjOl3sOc+WXwq7KWj0JIMegRRaIRcxaPGB6MlOcNTeb5yMm
         U0sM6O4VGoXvw8JNkOsE9K5O/Rus5eSR/rM2LwG8n8gXa0tsmaG4ZyROLihnNVR4jNnq
         n1qg==
X-Forwarded-Encrypted: i=1; AJvYcCXnp5OnCi4D5XSMC+PuxGsHSPIuHDWgeeTBIDPLOZlnLcn3nuruX7ZJgSkMuOSIxL74Nm1zu6UXjpg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyaYNdMJ1SW6J5sYyuxbccM/TD2rSIWYNUIO9u+XDsOdsfqMIhC
	DJVD755CRSRbtJFLP4CBvNhcnSTqFPyqfpaw17nYFAT++rs9KIOCSLmWkd8FB1yRSw==
X-Gm-Gg: ASbGncvPkTU16F4eCfXwBSJM1kcy7msM6yX8SVwitQ1k05xsdFdJ04PLjH4c5bZi3my
	+LlQ7VpxVWNZjzhFOZ6GBovM1EDyf0L8SwbMuDuLTyQTfEAQjGgcvxapxj+nyjfpyQGzZW1mSuR
	hq9khxbPAzLiuwaV15Hc4Cw8+X3ILBCS5YPRRFVeSVIBLlLrG1VnOGna3iRn9T2FgIa/mFVWkyA
	kHTxw48KAz1tzTv1zjQyuXiADeYxpLw6+gG6KaW7ZsOU9lXVQhlrlRqow1OaEL0c5LDid6CvLN4
	LOL05a/hEuecBGF3DC+66hBpadwEuC2B2nmxgkqrnanpNV0eKP+KZhyino+sesRlT0QaWa4Wc1b
	tGa095JjuoLnJmA3oEd+798tg/QRUyL6CWLI7kJjoX93scGvs46eflpxupk2fH20a2agjQ3RhxT
	ojDeYeE8uIDfA1U8nJHA3mLuFtc5nyXoDdetQU3j48BA==
X-Google-Smtp-Source: AGHT+IG+vDGCwBnyrjzJExqH+z/bNb+4jjwXW6gVEhCgPLTHUyZS8dJFLEnPNkGomu2MN5KOc+7VNQ==
X-Received: by 2002:a17:907:971b:b0:afe:d590:b6af with SMTP id a640c23a62f3a-b50aaa96bb0mr492183366b.20.1759938801301;
        Wed, 08 Oct 2025 08:53:21 -0700 (PDT)
Message-ID: <bc7f343b-b5cb-4276-a7fe-a9b599046cc3@suse.com>
Date: Wed, 8 Oct 2025 17:53:20 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN][PATCH] x86/hvm: revise "cpu_has_vmx" usage for
 !CONFIG_INTEL_VMX case
To: Grygorii Strashko <grygorii_strashko@epam.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Alejandro Vallejo <alejandro.garciavallejo@amd.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20250924101417.229108-1-grygorii_strashko@epam.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20250924101417.229108-1-grygorii_strashko@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 24.09.2025 12:14, Grygorii Strashko wrote:
> From: Grygorii Strashko <grygorii_strashko@epam.com>
> 
> Since commit b99227347230 ("x86: Fix AMD_SVM and INTEL_VMX dependency") the
> HVM Intel VT-x support can be disabled, but it still keeps VMX
> code partially built-in. Particularly in HVM code there are two places:
> 
> 1) hvm/dom0_build.c
>  dom0_construct_pvh()->pvh_populate_p2m()
>     ...
>     if ( cpu_has_vmx && paging_mode_hap(d) && !vmx_unrestricted_guest(v) )
>     {
>         ...
>         [unreachable for !cpu_has_vmx case]
>         rc = pvh_setup_vmx_realmode_helpers(d);
> 
> pvh_setup_vmx_realmode_helpers() allocates memory and configures
>  HVM_PARAM_VM86_TSS_SIZED
>  HVM_PARAM_IDENT_PT
> 
> 2) hvm/hvm.c
>  hvm_set_param()
>     ...
>     case HVM_PARAM_IDENT_PT:
> 
>         if ( !paging_mode_hap(d) || !cpu_has_vmx )
>         {
>             d->arch.hvm.params[index] = value;
>             break;
>         }
>         [unreachable for !cpu_has_vmx case]
>         ...
> 
> Hence HVM_PARAM_IDENT_PT/HVM_PARAM_VM86_TSS_SIZED are used only by VMX code
> above code become unreachable in !cpu_has_vmx case and can be optimazed
> when !CONFIG_INTEL_VMX.
> 
> Replace "cpu_has_vmx" with using_vmx() to account !CONFIG_INTEL_VMX and allow
> compiler DCE to optimize code.
> 
> Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Wed Oct 08 16:04:41 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Oct 2025 16:04:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1139978.1475145 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6Wea-0005zD-5G; Wed, 08 Oct 2025 16:04:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1139978.1475145; Wed, 08 Oct 2025 16:04:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6Wea-0005z6-1J; Wed, 08 Oct 2025 16:04:36 +0000
Received: by outflank-mailman (input) for mailman id 1139978;
 Wed, 08 Oct 2025 16:04:35 +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 <SRS0=eGu8=4R=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v6WeZ-0005z0-88
 for xen-devel@lists.xenproject.org; Wed, 08 Oct 2025 16:04:35 +0000
Received: from mail-wr1-x431.google.com (mail-wr1-x431.google.com
 [2a00:1450:4864:20::431])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7a24de92-a460-11f0-9d15-b5c5bf9af7f9;
 Wed, 08 Oct 2025 18:04:32 +0200 (CEST)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-421b93ee372so49388f8f.2
 for <xen-devel@lists.xenproject.org>; Wed, 08 Oct 2025 09:04:32 -0700 (PDT)
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
 a640c23a62f3a-b48652ad839sm1685547766b.1.2025.10.08.09.04.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 08 Oct 2025 09:04:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7a24de92-a460-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1759939472; x=1760544272; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=MR+IwM0TNK+OJaN/TxLDLmqN4bJqeT8TJo4rcx3EOyQ=;
        b=JdgIb1fjmFBCJl3Ax+AEG6c1TjFmlLHo6ZvrQ69OeVbkLhNuPquNF4sSVml99eLF75
         Caabkex8T5Ys4rHrC3mdF1YeQa2ohsxWpz9FTZLERXGKWhOjJPEj8xTGEkWcaigy7I9g
         GfISQXKHYBRxl23+ys27ZRcstIBtoUdEEGPD2zsCk08AFAZNWi8fV6v/xU2eBo7YMtOl
         Uj3CZNs7O9BjmfnTINhCtR2kxAWn7K20xVfIfbwQPs51HdJaJfxDKO6JQRjFrVdLFene
         TSWqraKLBmB2FxDGeOj47zbvJMjs83lR/OCxgsyZO/D/F2sjg3uRCxXXtHjv2w/bybcJ
         iJ2A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759939472; x=1760544272;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=MR+IwM0TNK+OJaN/TxLDLmqN4bJqeT8TJo4rcx3EOyQ=;
        b=d2DzClJFiZp7dVbqRLzZ7SIO0wZoaja3yJHNASiJmiYYRi+ZYD35VvynDaQ7SWKUK9
         /FDxYuYMof+pGpBtmcLujgVju8g3IrOOBZ8CFBF5KF2eVEvI/k3k0VGERNOx7vRHUJzv
         MlJdInmwQdoAsaxu+0iwz3KGZON1QcvfSZKIX+wPpkmo3zaUf1ps54eN1dQyTvM5OWrG
         qP9m/ighKwkUKsv9BwDcdsC5N3vdscv8Lvi/coQDJBPXYGuyI8hcwTJhNKBfci0fSdz2
         7CcrflDLFy9UuP8ZrXpwiyo2FfZB1jTmB8Ap2+JnqyO78FOM2G41ZL+WaC6zl+zwxCEm
         AXgw==
X-Forwarded-Encrypted: i=1; AJvYcCV4X7FImm8uB0eN07wrzDJQaWOlvIbIWlu/EsiJ7UrGKKb9OnMs/huQTufTIo9ZbOE78Dgr03CRyDY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzHB+X1ZYkp6ePctgntf2eDIzWcC7NE9wemJSAgQYgUGClNBAqO
	C6IfHRI+OaW80mjlZzXMXL4baeuEO0auv1H6E6LuOVCn5iY1+jzGiF01YZlfYm3oBw==
X-Gm-Gg: ASbGncuWDNQJsLGIYh1GmCb0uw/ZXJ75SQ22N/gaAYRDCEIK/m+e4ufWvPgJv2Pk3Ud
	IC0YHhmHVNyeT7c5uyMC79rdT4A6GvEKxRKdPqYJ8CmBuBOaxCZfO9lUQe+Y6+KE8STl0Y1EXAr
	FLlRfAdK9BhJaM7neA0ohSSwphW6lGxCumAbhejEr38kervZl5di6fFkrKC0xTpsHdZrG75ck8L
	WHgKCHWATYJddISFIL4cIpimJTyT7sJENLBhW662ajiNdcM03dwUBzVCEB4Ya7BmrdSxN06cwDg
	RGMhl8wl32ch3SR2p4ZUWUKKnh6s9EFvsGIcwc7kkjnjbtdq6ngRgu8echyTi6LykzAbPXGUkiu
	/+Uh5t+Wl8Gd1KMD033Njmlrvuf1ybaMEYztXrC4iXpeY90teQZxqflLNiz8cgws04WD3XyMKtb
	qx5SAAIoTz4KCBeZRmL9mwXCQZU6fw63s10Eyv2p6iWQ==
X-Google-Smtp-Source: AGHT+IElZJNS9XNJiITX3lgrOT/8bCHSHKApfcH8iEZ0vzeYdA86JW2vLRMwC/P9Wlz7WPO5MZlkGw==
X-Received: by 2002:a5d:5d03:0:b0:3d1:6d7a:ab24 with SMTP id ffacd0b85a97d-42667177c28mr2828438f8f.17.1759939471584;
        Wed, 08 Oct 2025 09:04:31 -0700 (PDT)
Message-ID: <3e4e4bc5-aa47-4357-9327-df2a9b9c9a1b@suse.com>
Date: Wed, 8 Oct 2025 18:04:30 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5] x86: make Viridian support optional
To: Grygorii Strashko <grygorii_strashko@epam.com>
Cc: Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Paul Durrant <paul@xen.org>,
 Alejandro Vallejo <alejandro.garciavallejo@amd.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20250930125215.1087214-1-grygorii_strashko@epam.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20250930125215.1087214-1-grygorii_strashko@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 30.09.2025 14:52, Grygorii Strashko wrote:
> --- a/xen/arch/x86/hvm/Kconfig
> +++ b/xen/arch/x86/hvm/Kconfig
> @@ -62,6 +62,16 @@ config ALTP2M
>  
>  	  If unsure, stay with defaults.
>  
> +config VIRIDIAN
> +	bool "Hyper-V enlightenments for guests" if EXPERT
> +	default y
> +	help
> +	  Support optimizations for Hyper-V guests such as faster hypercalls,
> +	  efficient timer and interrupt handling, and enhanced paravirtualized
> +	  I/O. This is to improve performance and compatibility of Windows VMs.

What is "paravirtualized I/O" about in this context?

> --- a/xen/arch/x86/hvm/hvm.c
> +++ b/xen/arch/x86/hvm/hvm.c
> @@ -701,9 +701,12 @@ int hvm_domain_initialise(struct domain *d,
>      if ( hvm_tsc_scaling_supported )
>          d->arch.hvm.tsc_scaling_ratio = hvm_default_tsc_scaling_ratio;
>  
> -    rc = viridian_domain_init(d);
> -    if ( rc )
> -        goto fail2;
> +    if ( is_viridian_domain(d) )
> +    {
> +        rc = viridian_domain_init(d);
> +        if ( rc )
> +            goto fail2;
> +    }

While this looks okay to me, ...

> @@ -739,7 +742,8 @@ void hvm_domain_relinquish_resources(struct domain *d)
>      if ( hvm_funcs.nhvm_domain_relinquish_resources )
>          alternative_vcall(hvm_funcs.nhvm_domain_relinquish_resources, d);
>  
> -    viridian_domain_deinit(d);
> +    if ( is_viridian_domain(d) )
> +        viridian_domain_deinit(d);

... I wonder if viridian_{domain,vcpu}_deinit() better wouldn't be tolerant
to be called anyway, thus avoiding the need for conditionals here and below
(and perhaps being a little more robust overall). Thoughts?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Oct 08 16:06:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Oct 2025 16:06:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1139992.1475155 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6WgK-0006hJ-OR; Wed, 08 Oct 2025 16:06:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1139992.1475155; Wed, 08 Oct 2025 16:06:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6WgK-0006hC-LJ; Wed, 08 Oct 2025 16:06:24 +0000
Received: by outflank-mailman (input) for mailman id 1139992;
 Wed, 08 Oct 2025 16:06:23 +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 <SRS0=eGu8=4R=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v6WgI-0006h4-UZ
 for xen-devel@lists.xenproject.org; Wed, 08 Oct 2025 16:06:22 +0000
Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com
 [2a00:1450:4864:20::630])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bb978f39-a460-11f0-9d15-b5c5bf9af7f9;
 Wed, 08 Oct 2025 18:06:22 +0200 (CEST)
Received: by mail-ej1-x630.google.com with SMTP id
 a640c23a62f3a-b41870fef44so1489575766b.3
 for <xen-devel@lists.xenproject.org>; Wed, 08 Oct 2025 09:06:22 -0700 (PDT)
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
 a640c23a62f3a-b48652ade6esm1632305066b.18.2025.10.08.09.06.20
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 08 Oct 2025 09:06:21 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bb978f39-a460-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1759939581; x=1760544381; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=3X3GNsYuEt5SpapBddjvclxzYNOZ0wAYDKfIl86e9aI=;
        b=gyyC6hEnrZeV0rJvsnPG7GbdFtYeRkF+jXP8CWwiDzdE8by9N7NMTStW4B/AW9+IFh
         nSKWiQOrPJybtnhHlOPW1a2EFAkjav2WjYHYqRDRcUeqzNwYCSZG93PDhmPxxmMNPiPH
         hLoVRePmgpAlcVGANYbU+tQuGMWsHmUY6ZRfTaMjTo8FFiyP2wewTGOGl104RxpNYRXA
         Kv536aUJE7tS8i8u0Y4UXpwmYv/oEvR1yViboVG2GKb8iw0H56OpKADx+RyBe6hn5E43
         FVipBXM0nNCulbF5emDL/1/DD1wLu0NfuetI4YewUPlbVk4NI5fLNMUcj2SQMrZfeyAQ
         aVqA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759939581; x=1760544381;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=3X3GNsYuEt5SpapBddjvclxzYNOZ0wAYDKfIl86e9aI=;
        b=pc8CKi0kSCotj8mFq1KaFd27emrVS8E7D85PHIRuKBxeQ3cDNuAb+ER3CG2lePrD6i
         ZazdOjkZ87XrSnfTnxEks9yxbtjh3BNsojmYVeSnv4SqeSHqB534RrWuGHKaudfxQ4DO
         ITcdJHii2rd2PY32TPbhjWkYUMteKczc5W9ZHhPQhRQz61cYu8N/Tf+O+/Olgququd27
         cq4cd7oMMg9pjetK1uCxKurLLEBFykmWqh4VcJ92KHPDDl3ZGVuyi0liofnITxTAXkni
         Piji31bvdrjx4mlgpTpilwen/pUnkos+KKLi5wEKyNd5KcsP+WiZvAKv5hNOZPx3i5RQ
         44yw==
X-Gm-Message-State: AOJu0YwR7+ECzKxF9l2TutJ6irwXahCb7D322Fxaw/Q4wtzf+KRAdZWB
	Wle8a07Iu6FW3fC9l5W4e53HVYkBDQ9iy0mxFMaZPm8l6cpJVHBy4MKD5u7S6opg6Q==
X-Gm-Gg: ASbGncuTppPdW42NE98n+dbUJaZQ4gGf4Fbvl/fGSOq0qI43TUDw4+zNZTpqvh0hG4O
	/+Mt7C3tIq5gWVPpes8PjHLSM04KeefUzlA6tnjXF5OXqESGSCbSoeYXMDJZr0LY4GrmoXTgG95
	8AzKTADsrcK+OtIgzTGyuBfbCuZlr2dNbh85W7mfsV/fAebICsS+XJgctHTLdMg4wnHy43yRF4V
	Vzk3oKXHQJON5jyfwsBu3qWVcpXI2ZLI+o9eg9fZWxl+CNCRu7GRTp1hIXRC7SHN2/k0WSPayXj
	SGL+7y1jwmkB6QRLag624TOXiCG6HpMDQcJ1CKJS3J6Cr1TtRA6Ss6EcP7olJfNS3MOA5shfMs5
	BIT207k8YSljSmM0bWv4EfGaxOCSIIe7h1ISw91H0IGMB44eaNU+5zLRRdPKR91fEnIah8CWa2P
	YZ13NagePjTnh7wGURknAVOt8bW4nQqT0=
X-Google-Smtp-Source: AGHT+IEkoojJsrzQGT6aLoZGR3tF6k4+W1exvfQH+J/5zoM9lyE9jSpfyLLj3mTlbzSo6x65yai3qw==
X-Received: by 2002:a17:906:f599:b0:b18:63b8:c508 with SMTP id a640c23a62f3a-b50ac5d079cmr392183066b.44.1759939581392;
        Wed, 08 Oct 2025 09:06:21 -0700 (PDT)
Message-ID: <7c403caf-192a-413b-9b17-d8e02c066727@suse.com>
Date: Wed, 8 Oct 2025 18:06:20 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21 1/2] x86/AMD: avoid REP MOVSB for Zen3/4
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: xen-devel@lists.xenproject.org, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Jason Andryuk <jason.andryuk@amd.com>,
 Teddy Astie <teddy.astie@vates.tech>
References: <8ecbf8b7-91fe-4f9e-9542-7ec22b6a47bb@suse.com>
 <6bcaa5b7-4e34-40c9-85e6-48a0a5869b86@suse.com>
 <485889ed-2820-4bb3-b450-88553dbb719e@vates.tech>
 <f42bb989-c9e5-43d5-82e2-9b6f95c008fa@amd.com> <aOZJDh9vwbcTwBIy@Mac.lan>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <aOZJDh9vwbcTwBIy@Mac.lan>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 08.10.2025 13:20, Roger Pau MonnÃ© wrote:
> On Mon, Sep 29, 2025 at 07:35:53PM -0400, Jason Andryuk wrote:
>> On 2025-09-25 08:18, Teddy Astie wrote:
>>> Le 25/09/2025 Ã  12:48, Jan Beulich a Ã©critÂ :
>>>> Along with Zen2 (which doesn't expose ERMS), both families reportedly
>>>> suffer from sub-optimal aliasing detection when deciding whether REP MOVSB
>>>> can actually be carried out the accelerated way. Therefore we want to
>>>> avoid its use in the common case (memset(), copy_page_hot()).
>>>
>>> s/memset/memcpy (memset probably uses rep stosb which is not affected IIUC)
>>>
>>>>
>>>> Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>
>> With Teddy's suggested change:
>>
>> Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
> 
> Acked-by: Roger Pau MonnÃ© <roger.pau@citrix.com>

May I ask for a release-ack here, seeing that it alters behavior that went in
close before the freeze?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Oct 08 16:23:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Oct 2025 16:23:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1140003.1475164 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6Wwc-00016c-2w; Wed, 08 Oct 2025 16:23:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1140003.1475164; Wed, 08 Oct 2025 16:23:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6Wwc-00016V-0D; Wed, 08 Oct 2025 16:23:14 +0000
Received: by outflank-mailman (input) for mailman id 1140003;
 Wed, 08 Oct 2025 16:23:12 +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
 <SRS0=tb2B=4R=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v6WwZ-00016P-Uc
 for xen-devel@lists.xenproject.org; Wed, 08 Oct 2025 16:23:12 +0000
Received: from DM5PR21CU001.outbound.protection.outlook.com
 (mail-centralusazlp170110009.outbound.protection.outlook.com
 [2a01:111:f403:c111::9])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 140a0668-a463-11f0-9d15-b5c5bf9af7f9;
 Wed, 08 Oct 2025 18:23:10 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by BLAPR03MB5412.namprd03.prod.outlook.com (2603:10b6:208:291::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.9; Wed, 8 Oct
 2025 16:23:07 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9203.007; Wed, 8 Oct 2025
 16:23:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 140a0668-a463-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=uMePLhKzS8/m2z+RLbt9DrLYBf+ENO3klH/Kb7QglO5l3dekByl2FBSBgOhgtYdIQYwk9jeqFG1Y703CVDLbD/MYqtIIj6nXM+H7v8Awl4kmThyz2aMkIXD5b21iyOPiRwxoCozRuVxHyv+wg9qNriT/7RMauuCGnquQTPxyh/HAcfniS+YuDEy/rIrua5tDqVnbLv7Jo+wih3NOha27HJujO/vVaNDelUjwVsJNrsBHd4xItzhMRBtKidD0iGoTemTFt9g2rY+X4i96qDoWOtDILW8z9IB1AnkUiBOUNqT5f5jcQ1bUeI2EOi5opD08mDXHGwCJ8jZMz2wKRY6h0Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KlPKlSN0Fj/ppB78sd5/kxjKKC0lLI+T8NZZLmiIVwg=;
 b=U0gbUMbGVYO+kmCkDkKViwV0bKzUs+f/s6OPpySnAFzqTjjzJTPbbiMj+CxK3fVwE7n1zIgllGl5rcHJzpVmzXo00ahrieDQQgwUbNB+oSmjRmAZRgAwFJnjQuiHGz8HCHG9/pxEIjA6tXTUua5nFmkrTCJjHitzA4FNMoDBcvCKCIT+m7hisOhCaDBD42+8EGpAKicH3F3NHMnT6BlxKiR0zz6C5tpRy1C5JkKonSg13jrQ0lOl5myyhPdGTwKHYgyyFVnzYSE7e1LVQ9K6F0bMZ59XgL/mCR4c6igwlLoluB80ES8am7rX3JUOGYS0JfV/iT/44EtXsMgp2LZ+Ww==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KlPKlSN0Fj/ppB78sd5/kxjKKC0lLI+T8NZZLmiIVwg=;
 b=jyOIJDc9C/Swgyxzb3655RsdIiffDVxwto2lTOd9wZh1w747QxJldzPvAPGrXdgM8kldhbOg3QZwdsJHP31kIJTVnLsKFveoGTf0yT/jWYmFyjYM7fLVqDtt4cSKHljmII6K8qLQn4zyGkouDks3r/8rnt1HN8X/Qdi9Fn0xdeM=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 8 Oct 2025 18:23:03 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Andrew Cooper <amc96@srcf.net>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Grygorii Strashko <grygorii_strashko@epam.com>
Subject: Re: [PATCH for-4.21??? 2/3] x86/vLAPIC: drop VLAPIC_VERSION
Message-ID: <aOaP54CZw8lgLLUv@Mac.lan>
References: <265d5053-af61-42cb-a3b9-ef60df39c21b@suse.com>
 <feb47fa6-27a0-4cf7-8fc6-bf5f29f467c1@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <feb47fa6-27a0-4cf7-8fc6-bf5f29f467c1@suse.com>
X-ClientProxiedBy: BN9PR03CA0125.namprd03.prod.outlook.com
 (2603:10b6:408:fe::10) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|BLAPR03MB5412:EE_
X-MS-Office365-Filtering-Correlation-Id: d0bca6c3-e5fd-460d-3b17-08de0686f675
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?MFY3anA0WGxzZU5sR29MaURIRnRMc2p4dnY1dXlZKzJpM2Irb0ppSzM0dlk1?=
 =?utf-8?B?NXJzZnZSeVRwNzJYQUI0WG5vS0M3ODR3MytQampMRGcwL21Jcmo2SGd6UHB4?=
 =?utf-8?B?VjFyNWdTRXVLQUR2Nkh4SG9EN015VFk0VEdvczMya3l0dCt1N0F5QUE1cmlI?=
 =?utf-8?B?UjQvY2VYZ0pwdEp2NVRha2xSZ2FHci9GTWxaajhiWHFRaThoUXpXTnZ0S01I?=
 =?utf-8?B?STBLR1J6dGtXMXk2NjRyRElWdmVJSVZBUUFLTTZRZHpyUGNTdTQwcTFRcURF?=
 =?utf-8?B?aG1vV0ZoR3F1aTRSRDZObEZnYW5tM3hpYzkvbEZBN0JhdlppVjFlUEpBRWR4?=
 =?utf-8?B?UjZPU0NLOTFaOUtDRmloUEVDSUhzTXJvL2cyNERvT0lUZ1FPWE1Cckgxakc3?=
 =?utf-8?B?bnlmZ2dOeUFrd2pmZVNvdjB0QmkxV2hLZElFRjM2S3l3UVV0SndzTXE1aTk4?=
 =?utf-8?B?OENodmpHd2hNR3hzQlJTS2U3R0I1TnR4T1lqeUhhY3ZVKzViQiswcHdINmZu?=
 =?utf-8?B?VmFLbFlsb3N2cWhwQXdUK2RZejlDY3VlYldGcUNVanFEV2JwZTRZVWhZbUpI?=
 =?utf-8?B?dGh0YVFVOHFyR1djbTV5RFdnbFJ4TFBiRHRudFdXU1I5Vm1KVlRaRU1ibUIw?=
 =?utf-8?B?UEZMUjdKdzlSTm14NS85c0ZJQjJVb05seCtValk5YUZ5R1ZjalJBeDJRbmll?=
 =?utf-8?B?UW54UFlLTzRhRTFPL0R2MzZWNFd2UW41Um1RaGttRlBrdVdQYUJQc2FFSWZQ?=
 =?utf-8?B?SHFIV1licFc1NFRBenhHUldaMVYvclRaK2xGaUtLTzM5YmJMcktSblBWeW1Z?=
 =?utf-8?B?NDVvMmF4S0lhc21NUnFyVVdvSkZRb2NnY01Gdmszc21IK1c3VlJKZXlpS1Yr?=
 =?utf-8?B?Y2UwQWluMHNycTd3bnNBRFRYMXpXOTgzSXlPWGxWT204UWRUeTVpZGl4Umhh?=
 =?utf-8?B?VWtBSTMrYzVVRnlUbmZ2cnRLUXNubVJlM0x1Zkp3VW90b0dCcE4vV21BenFF?=
 =?utf-8?B?YldhdXY3UHpaM01ZWkJ6RzZMbFJvZDFsVHpBdjA5M1QrTFhqMFFYM1Y4SWpn?=
 =?utf-8?B?eURHMXgvVFgwMis5RDV6bmJUZTNzZUJYYk1OMk0zcSt3SHp2WEdWdlBhSzJF?=
 =?utf-8?B?bXlYQXRmZE1aaFA3UlJKSzZBUUtHZFJUQmQwY0ZrMWIxT2plOUc0Q093NjhX?=
 =?utf-8?B?djdvc3p0bzJIRFBHYUNRYjR5ZHNiYjJ1cW1iWFhjUzBKM3RuR01ibHF0S2FV?=
 =?utf-8?B?UGdjM21PZ1V6MTdibGVORVgrV3d3VFEwNmhvb1l4elBOaDhzS1NrUG4yRWdT?=
 =?utf-8?B?cjI0Z2NtdkRYZWxMaHB5RDhpNVcwb0xpR0RHUTlrMjRvUXRlUWtGR2poaWNz?=
 =?utf-8?B?K2dXMlc4MjY4akRkUlR4UjlpWXhXa3h6cEljZmlWbFEwVkhKWE0xSmpHK1hB?=
 =?utf-8?B?bU91K0RUU2NYdFhjdHdMM1V3Z3NWSjh2ZVh4dXNVUVlqUGd6cC9rT214NG1h?=
 =?utf-8?B?cnFQN29CeG83dUJOWUR4QWVCN1NyTkc1VzhHeWlRNlgybkRnKzdzRmdjM1Uz?=
 =?utf-8?B?S3NWRVdTNDd1U3Q0TGtkZzZ1dWZaWFI3dDNmQ05NdWY3dGhya0xobDA4RkdG?=
 =?utf-8?B?dkxxSVF6T1BqWXQySDNlaDI0TTBzYU1EaWZWKy9DaEtQeHR6RzFPTHhUMksx?=
 =?utf-8?B?a0s4amdKNlAxcTVkQXcrWkhiYUE2ZzZZR1VSNWQyZ2JsTVk1enZzVjBrOXZY?=
 =?utf-8?B?b1UxSDhlYUxWTklVd1pFblVkbmc1dWlRTy94Y1NHVDh6b2lOTHhnWFhIaFYv?=
 =?utf-8?B?b2M5SE5YeXJHRnJBVlR6c1dsODlXNWRTMkJQMk5McTRMUXVnczlYQlNsd2hh?=
 =?utf-8?B?dkp1RHg2NUJOcThUVEZQbGEyOFA2bEhURVQ1cE0yeDc3UnBZcUJUNGxRMVhC?=
 =?utf-8?Q?Vi260b5bU9FNsQCBM9fJLShsRerI6sTr?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aEFkQkZrdm9wRXNxR2JLa09XV0ZaeUl6L1RDV202OFA0K3JpR3lJNXVLSWhm?=
 =?utf-8?B?MWdFMG04MDJUSDI0QjFIMHp1Q3lqSVYyanV4MDlzNERCUXRnNjI1TVZVUjE3?=
 =?utf-8?B?ekRDUWdJZkdRcHEvUk9rMHZEUG53NEpDb3BYUmJlUlVDRmdDSnN1dVl3SDhw?=
 =?utf-8?B?N0ZSak5LSnRmbkJJNUJTdU1tQmpEaGVhM013T3Rxb2VGSUVsZlNtMWFJUE9D?=
 =?utf-8?B?bEZjcnZDSUN1YSs4Z2liOGtUOEl5SG1wRVI1WFJwWlVWNHVvOEZXTTMxVjF4?=
 =?utf-8?B?Y1NNTjdpazZhbUplZDIyNjZaYlc5Q2Z6L0VpaDRmcHAxRDhMZmRFOGpYWUVW?=
 =?utf-8?B?bTJwakZNUmRPWW9QVnJZTkpuL1ZEZXppVEZsR3lrb1VVeG00SXJIUHlKeTJN?=
 =?utf-8?B?ZEx4V0pPMVcrd3VuMjhTbTd3TG8rMlA0Tkd6YlBuSlFGN0xtbXJOOS9CYTE5?=
 =?utf-8?B?ZGhuY2YyenkrZ2hPK3ZHbWYyZCtDMXRMS2NBNkJaQ0ZVdENjN05RdXhHUmUw?=
 =?utf-8?B?ck5pelBXWkV4Skx4S1loZXQ0SnNJTCtKN2d0eU5udzhWQXFxOUFaZnZlSzl5?=
 =?utf-8?B?ejNOcHJMU2NOakpvNjM1ZkpjaHFVWCs1b0lMMEF4TTZvLzZZaFhDdHJmV25S?=
 =?utf-8?B?K1hHTFI1VjVaSnhwbWU2NzdnZ1hiUHV4czdacXhlVG9QZjlXVng1ZTE1RGdI?=
 =?utf-8?B?SkVhZkhPR0hONWVzZEdlN0tlekcvZndhdHFNWEExTTRZNENHWUc3b1p2Vjdt?=
 =?utf-8?B?bFZ1SUhvS1NxQ3FzVFNyVU1hRU5vcm1pRDNCZUtVSTNFdUNPMU12eUpBNlJx?=
 =?utf-8?B?ZlFraitQaWVZRWduU2N6d1l5dWNIcDBzaXh5NzU4VittWURMTUxxcTZ6Q2dj?=
 =?utf-8?B?Nk5tamFKR0ltK0FiUTltbnV1cWxpU2drN2dXNHVJMDYwWXduYVNCUGFJeTNp?=
 =?utf-8?B?aVdSbktSQW5XZVpWTzhPTjdsY1AvMjdtWllWZVFmTWQ4enowSkJvUlFCZ2RM?=
 =?utf-8?B?dnFOcVBBVkFIMk44c2VlaTN6eXQxZC85ZjhGS2phOEIvSFlWajZIc0tpenI5?=
 =?utf-8?B?Zml3NjNaSkRwT2FHQ1hLS25CTGRRMStENVAxVzFZQ2d1a3JLaUQxVXdCUlYr?=
 =?utf-8?B?bnpQVnRjMHFCd2Y5Y2tsclR2WTA1bjM0STFsU2FFMXNFRGE0NGtDU3VodnQv?=
 =?utf-8?B?RnRGQUVtd3ZTcWZDMUQ4bmRXSmx5bkNnZTFpdGxBNFpuRU92dURhTE03Q2hE?=
 =?utf-8?B?cmt5L2VpOGNsNkY0YmlOeXJNeU1JQlJ2ekZaL2FFb0FHYSszcWJSa3RORVFZ?=
 =?utf-8?B?YjRJYTRGbkJBcnI2WUxJUTNMTFB2Nnl5M2YvRGdUczdMR0xxTEYzamZFdWRp?=
 =?utf-8?B?aWphSzgrd2Q4NHl5d1dscytrMDd1RG15WEZiR1NWS3RVVzRxbmRGZGhxSzUz?=
 =?utf-8?B?WUxpczgwc0dLRGE0NXp3bzdDTHBKTHQ4OU8vaUpXZG1VOEZoRi81Mm9tR1JD?=
 =?utf-8?B?b3FqMnVwRHZscXV1bFRWMU1wdm53djdCT0pnTjNEOU1qdjJNZUNCL0dZVjd2?=
 =?utf-8?B?ZVlOYVh6NzVzc1oram8vaVJxMENtNHI2QXMrUHVGOU50cy83bG5acGczK05q?=
 =?utf-8?B?dXpScUkzU1hWNlpSekpNWkVBNVNGVGZEaVA1VE5DQ1BRakh6TTk1ZjA0RXBw?=
 =?utf-8?B?aXR4K055WDlzRXoyNHNJVENKSy83OC90UXYrSGZkRlQ4SDl1b2dtWWZ5aEJj?=
 =?utf-8?B?NExEY3FxVnJTNmV1Q3FWN2d3bll6Z1BmYkdtdWRxQmliVFVDR25PYTZxMjBz?=
 =?utf-8?B?Z0tLbFNONW00WkJodXBFYkpUUkdXZE0yaklYL3g3K2dnaUtqR2NvTVhyYVV5?=
 =?utf-8?B?L2VYbm1oOUVuRzBWcC9aVzMyNjRlRVRZaEs3anVXNUpyRVp5MGVsRHF4dzZu?=
 =?utf-8?B?OFphNDlxRGxVNFNRT1FUOTlSS1BKWU9PSTh6czV5UDlXSXJCN3ROWXJLMzhV?=
 =?utf-8?B?eFdKQnZJSWtnOEcrWG4vQkxMZ3hrT0ViUlhhd2JXbExiMFlVb2h1S0NDcUcr?=
 =?utf-8?B?U21nWDg3WUdjdmljTk1MZWtPa2s5Tkp2YWtEbEp1NkFOVThzbnVEMFoyMDlS?=
 =?utf-8?Q?yss6UyiFvbyFqDUqVyewY6qty?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d0bca6c3-e5fd-460d-3b17-08de0686f675
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Oct 2025 16:23:07.0066
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /BQaY97KEHwcZbZkosMTA0WWze4WmPEuLHR6HH9nMbJmTjaNbPqDvtsWWaWTmM0FUAH9IGDxMck6Wj9LdmkkeQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR03MB5412

On Wed, Oct 08, 2025 at 02:08:48PM +0200, Jan Beulich wrote:
> In preparation of making the value somewhat dynamic drop the constant.
> Replace its use in guest_wrmsr_x2apic() by actually fetching the LVR
> value.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> --- a/xen/arch/x86/hvm/vlapic.c
> +++ b/xen/arch/x86/hvm/vlapic.c
> @@ -31,7 +31,6 @@
>  #include <public/hvm/ioreq.h>
>  #include <public/hvm/params.h>
>  
> -#define VLAPIC_VERSION                  0x00050014
>  #define LVT_BIAS(reg)                   (((reg) - APIC_LVTT) >> 4)
>  
>  #define LVTS \
> @@ -1015,7 +1014,7 @@ int guest_wrmsr_x2apic(struct vcpu *v, u
>      case APIC_SPIV:
>          if ( val & ~(APIC_VECTOR_MASK | APIC_SPIV_APIC_ENABLED |
>                       APIC_SPIV_FOCUS_DISABLED |
> -                     (VLAPIC_VERSION & APIC_LVR_DIRECTED_EOI
> +                     (vlapic_get_reg(vlapic, APIC_LVR) & APIC_LVR_DIRECTED_EOI
>                        ? APIC_SPIV_DIRECTED_EOI : 0)) )
>              return X86EMUL_EXCEPTION;
>          break;
> @@ -1439,7 +1438,7 @@ static void vlapic_do_init(struct vlapic
>      if ( !has_vlapic(vlapic_vcpu(vlapic)->domain) )
>          return;
>  
> -    vlapic_set_reg(vlapic, APIC_LVR, VLAPIC_VERSION);
> +    vlapic_set_reg(vlapic, APIC_LVR, 0x00050014);

(Maybe I'm getting ahead of patch 3, as I haven't looked yet)

Don't we want to use some kind of macros to build this in a more
friendly way?

We could have a pair of SET_APIC_{VERSION,MAXLVT}()?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Oct 08 16:33:48 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Oct 2025 16:33:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1140028.1475175 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6X6l-0002sp-19; Wed, 08 Oct 2025 16:33:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1140028.1475175; Wed, 08 Oct 2025 16:33:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6X6k-0002si-Tc; Wed, 08 Oct 2025 16:33:42 +0000
Received: by outflank-mailman (input) for mailman id 1140028;
 Wed, 08 Oct 2025 16:33:41 +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
 <SRS0=bWZK=4R=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v6X6j-0002sc-HI
 for xen-devel@lists.xenproject.org; Wed, 08 Oct 2025 16:33:41 +0000
Received: from mail-wm1-x331.google.com (mail-wm1-x331.google.com
 [2a00:1450:4864:20::331])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8c192e01-a464-11f0-9d15-b5c5bf9af7f9;
 Wed, 08 Oct 2025 18:33:40 +0200 (CEST)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-46e6ba26c50so299505e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 08 Oct 2025 09:33:40 -0700 (PDT)
Received: from [192.168.1.183] (host-92-22-57-86.as13285.net. [92.22.57.86])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-46fa9d629casm44138415e9.16.2025.10.08.09.33.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 08 Oct 2025 09:33:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8c192e01-a464-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1759941220; x=1760546020; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=wRrCqVyNOCiwPP6JhS7zw4dh+mPbjWq9FIFN50b9b/I=;
        b=HnIeg0q5dHIfuopGXigoynXnca2iXMeeF9omWft20XDlbaz0sECwDU1GzbvM03Wjph
         79N21YarvQtyYI0+y9oXwci/+xX8mDZjkQO2kP2k2aMXUPclUoVXfiGqr4FJXTannsZ7
         7GTO5kdx0J8LZDpfEk3NqD9HPG7JQe/3SFpZI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759941220; x=1760546020;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=wRrCqVyNOCiwPP6JhS7zw4dh+mPbjWq9FIFN50b9b/I=;
        b=pPRqLu9YqTlVINayDglGufiXcNAO2C5AN3/CoKJfQvVKayuFzkCIolev+CiLUlho5U
         YZx8Jc6Ynworo3V50+RdF/HtQVLwtNm0j44/+C+2GV7iYTl2gH3kvqjuEUcPUt38Kx37
         qZD4muzetS9PXo6tmCvCsGkFlUGD2S9w+3qoJzmDlNB5iJTBgt81ZQAEgFscgpuAtlB4
         Ap9VgJvzsdFFabXtz3/xZ6ubWswoAmK+OvaC0K239o/52GdWSyTVvXXu4lXexWGwsQ88
         EWJodBfmuZ2P13rT2DPWRGOfF5k2UBZm6sTBgxL1CdPoVof2mnhLfv4Ii4eFFT+sJ0Z9
         K+kg==
X-Forwarded-Encrypted: i=1; AJvYcCUOO6fg4SooNx7enSMNcjhkwT01/eBxcxtrBLz9cOkcfBdqmsxF+Xv2MOK/00qBm/ntoiUyKVIhk0A=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyK9NIvih4vqSH1w2BshkU2Jp9SKEY3xpCKJpcN9WdtwIg3zT1K
	IzDvY2JBc6ZzyfWoR2op22rel7ZMnij58Yn/T+Jai5HxQ/NYmQsc6eWKlyZjqTLF3Co=
X-Gm-Gg: ASbGncvvvCQV6b3plcrp0CVmGvc4cVIgBoFaFLohZVPC4qyd9t+o9v5eefjxMD/RKJv
	NdzgCY7pkhtFiOFp3wBoo62gcBySjA4244whfpqgyfPlR7yZTuAe8/9Eqa6a/8LaYoJs1qElLig
	fQpwdnuv1wytQ/trgjugsu7o74IVJLX8G10fAhdumKRRaNnQsOHReN98Fckc9TcrbTK1N0eOQly
	hZ8ZWfxsD+gZf8QLQH+8jTdm2m2aX7G5DYYdJtjdCAcL43j4tAzphc+Q99bBnHRXRXsyrSA49W8
	J81j3EOOm+hWAsuiSBA9JdbbKsi3IzffDZ9iG8YZ45gNrum3nUDQr6FDQMmpVIZrMxezfsJtVlb
	OOOUUIRoqY1biFlvVJ2si1LeYKXqJ0z7mWf3ZexYdQaBmnHxTY7Bn0OS0IQXpLbC7lLpK9ljAHJ
	n79HDefPl4GMfv
X-Google-Smtp-Source: AGHT+IGxych0weBh7e5DcsDTRd/mUcx9/o+R86Wsar0hllzPeZUPtTAqnIl3MR/QN2xuOyInVCCq1Q==
X-Received: by 2002:a05:600c:4e47:b0:46e:42fa:ffce with SMTP id 5b1f17b1804b1-46fa9a863c4mr29839705e9.2.1759941219710;
        Wed, 08 Oct 2025 09:33:39 -0700 (PDT)
Message-ID: <f35a2153-a7f7-4d52-bffb-f2e0232a0b73@citrix.com>
Date: Wed, 8 Oct 2025 17:33:38 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21 1/2] x86/AMD: avoid REP MOVSB for Zen3/4
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <8ecbf8b7-91fe-4f9e-9542-7ec22b6a47bb@suse.com>
 <6bcaa5b7-4e34-40c9-85e6-48a0a5869b86@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <6bcaa5b7-4e34-40c9-85e6-48a0a5869b86@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 25/09/2025 11:46 am, Jan Beulich wrote:
> Along with Zen2 (which doesn't expose ERMS), both families reportedly
> suffer from sub-optimal aliasing detection when deciding whether REP MOVSB
> can actually be carried out the accelerated way. Therefore we want to
> avoid its use in the common case (memset(), copy_page_hot()).
>
> Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> Question is whether merely avoiding REP MOVSB (but not REP MOVSQ) is going
> to be good enough.

In the problem case, MOVSQ is 8 times less bad than MOVSB, but they're
both slower than alternative algorithms.

>
> --- a/xen/arch/x86/copy_page.S
> +++ b/xen/arch/x86/copy_page.S
> @@ -57,6 +57,6 @@ END(copy_page_cold)
>          .endm
>  
>  FUNC(copy_page_hot)
> -        ALTERNATIVE copy_page_movsq, copy_page_movsb, X86_FEATURE_ERMS
> +        ALTERNATIVE copy_page_movsq, copy_page_movsb, X86_FEATURE_XEN_REP_MOVSB
>          RET
>  END(copy_page_hot)

Hmm.

Overall I think this patch is an improvement.

But, for any copy_page variants, we know both pointers are 4k aligned,
so will not tickle the problem case.

This does mess with the naming of the synthetic feature.

> --- a/xen/arch/x86/cpu/amd.c
> +++ b/xen/arch/x86/cpu/amd.c
> @@ -1386,6 +1386,10 @@ static void cf_check init_amd(struct cpu
>  
>  	check_syscfg_dram_mod_en();
>  
> +	if (c == &boot_cpu_data && cpu_has(c, X86_FEATURE_ERMS)
> +	    && c->family != 0x19 /* Zen3/4 */)

Even if this is Linux style, && on the previous line please.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Oct 08 17:19:28 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Oct 2025 17:19:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1140047.1475185 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6Xop-0008PI-8i; Wed, 08 Oct 2025 17:19:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1140047.1475185; Wed, 08 Oct 2025 17:19:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6Xop-0008PB-5a; Wed, 08 Oct 2025 17:19:15 +0000
Received: by outflank-mailman (input) for mailman id 1140047;
 Wed, 08 Oct 2025 17:19: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
 <SRS0=bWZK=4R=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v6Xoo-0008P5-4O
 for xen-devel@lists.xenproject.org; Wed, 08 Oct 2025 17:19:14 +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 e623d809-a46a-11f0-9809-7dc792cee155;
 Wed, 08 Oct 2025 19:19:08 +0200 (CEST)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-46e34bd8eb2so818685e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 08 Oct 2025 10:19:08 -0700 (PDT)
Received: from [192.168.1.183] (host-92-22-57-86.as13285.net. [92.22.57.86])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-46fa9d629casm45568795e9.16.2025.10.08.10.19.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 08 Oct 2025 10:19:07 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e623d809-a46a-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1759943948; x=1760548748; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=psfUalVjLmrN7/wDADGiuZIc1BcO2TT8Xit5LXUDiYY=;
        b=BvW/Ngr9Lmfc6eIgI9XMMUBVE4gmi2i+F/Aa2mIFPmiokQ6O4E5qS9fDdnrG8FVxHk
         rmoo5tiGi+6/n0dQeIRJxPybJ4zuPCjr8wu05Qyx86eRKti3ZozbRhmV1cokkz9VwRxp
         PD0AakdetMUOSORxZkXbN8MJZ1vQDFEPYi07M=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759943948; x=1760548748;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=psfUalVjLmrN7/wDADGiuZIc1BcO2TT8Xit5LXUDiYY=;
        b=QcPZlbEptlGTgcU3DVGPrBOZ7czc1XAS/YqJRzeia+opXnzMVf8SJqtNZAkogJyWNw
         vLZq2Bf/pmckNDS3ugBFq7Fq5hdKa//ufAvBmsDH1V49gAF0EHqftQRz7/9F/uHaOzdA
         FmWndOY1j/pZu3Bc64WCAmdD/x5lLXbiYXu5Bh/errdhCunP+Tj9bSk+wJ+1w6r0mz45
         jObVLoXkKdnnkj/vEHvQql73rrySjctM/MyRL2rrh2hn94WK/RenI3dgw4i26yzInUxM
         +xBekrim6tdFVVT3bqDN6434+HyZWQDUNKa4CixNugdkAzF1RN5IJ5k5/tleB9iDLN82
         b2Lw==
X-Forwarded-Encrypted: i=1; AJvYcCXLSw7RKHZaYO1365tBQEJ+UjNKgrXBrO6OLh/reFnPLDSnt/kYRtUJi/frvNfIbwhxA+OR07rVXnM=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywy0OOg5uy15lrtEkqGkiOL9w3py/gI/BXqfLdwj0QwgxifVMJ8
	cNh88KPow9+gqrDML0efr3xm+G/f/OLDQU6h/8LPS9QDum0GcDwe5k9NgJuQltLUDFw=
X-Gm-Gg: ASbGnct1ERTIsp3wqKclsrnvVURalHBEiZDXdh1MHMgDWkB+OI+GTU9Rr44GlqbvElF
	UYABsSIuDeSsSh7HHqUMG4N2zZOd5SjEYDF7qoeuBYNcbGc9S3Pam0iEn7p4pmdTKryI685VnAj
	o1ipJ2k+4jiAszoSLtEkPer1I2aLWqGQm8mgTOsqbFjQi3nBwESa8dP1AFVyt3T/9KGqbfQuaWJ
	P9uXdRV3lDMhlaNK3/mh+fumqlEWoQhQeCnRnnj3Xef/yAbeFpSoLeu1cKaTw2COJdL73oTcOfF
	mKeli984U9ZXc1UXpwHqhOloqBzwKeMVuy7JWHe8DdbeZuQrvnIwSPkSP+xbW0ikmZw62unS42+
	9PZUeDet/qs5FUO8UlqCc4liGmeyR+McVVJ403r8NSf1qr0WDD4c2ntWGft2Lrj3HAdQ03Nb8Kb
	qPV9IfCgRlgqMI7YLos/eujPk=
X-Google-Smtp-Source: AGHT+IFl4kaavExmj68os6UCsAZb/YQx751W1gq1WtdEa4UT/LK+ZS1Gu5Jo820346/zJN4QWpfm5g==
X-Received: by 2002:a05:600c:810a:b0:46e:4937:dd1b with SMTP id 5b1f17b1804b1-46fa9af873emr30110835e9.17.1759943947791;
        Wed, 08 Oct 2025 10:19:07 -0700 (PDT)
Message-ID: <3601abf2-c556-4126-9e42-1c08803e2613@citrix.com>
Date: Wed, 8 Oct 2025 18:19:06 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] x86: guard synthetic feature and bug enumerators
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <8ecbf8b7-91fe-4f9e-9542-7ec22b6a47bb@suse.com>
 <48dcc0e0-2772-49b9-9383-5bf69f922053@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <48dcc0e0-2772-49b9-9383-5bf69f922053@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 25/09/2025 11:48 am, Jan Beulich wrote:
> While adding new enumerators one may overlook the (rare) need to bump
> X86_NR_{SYNTH,BUG}. Guard against that happening by adding respective
> checking. The use of BUILD_BUG_ON_ZERO(), however, entails a number of
> other changes, as the expansion may not appear in the assembly produced.
> Furthermore inputs to file-scope asm() are only supported in gcc15 (or
> newer).
>
> No difference in generated code (debug info, however, grows quite a bit).
>
> An implication from the changes is that users of the alternatives patching
> macros may not use unnamed asm() input operands anymore, as the "injected"
> new operands would break numbering expectations.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>
> --- a/xen/arch/x86/include/asm/alternative.h
> +++ b/xen/arch/x86/include/asm/alternative.h
> @@ -70,12 +70,12 @@ extern void alternative_instructions(voi
>                      alt_repl_len(n2)) "-" alt_orig_len)
>  
>  #define ALTINSTR_ENTRY(feature, num)                                    \
> -        " .if (" STR(feature & ~ALT_FLAG_NOT) ") >= " STR(NCAPINTS * 32) "\n" \
> +        " .if (%c" #feature " & " STR(~ALT_FLAG_NOT) ") >= " STR(NCAPINTS * 32) "\n" \
>          " .error \"alternative feature outside of featureset range\"\n" \
>          " .endif\n"                                                     \
>          " .long .LXEN%=_orig_s - .\n"             /* label           */ \
>          " .long " alt_repl_s(num)" - .\n"         /* new instruction */ \
> -        " .word " STR(feature) "\n"               /* feature bit     */ \
> +        " .word %c" #feature "\n"                 /* feature bit     */ \
>          " .byte " alt_orig_len "\n"               /* source len      */ \
>          " .byte " alt_repl_len(num) "\n"          /* replacement len */ \
>          " .byte " alt_pad_len "\n"                /* padding len     */ \
> @@ -127,14 +127,14 @@ extern void alternative_instructions(voi
>   */
>  #define alternative(oldinstr, newinstr, feature)                        \
>      asm_inline volatile (                                               \
> -        ALTERNATIVE(oldinstr, newinstr, feature)                        \
> -        ::: "memory" )
> +        ALTERNATIVE(oldinstr, newinstr, [feat])                         \
> +        :: [feat] "i" (feature) : "memory" )

I don't understand.Â  How is this related to putting the guard in place?


> --- a/xen/arch/x86/include/asm/cpufeatureset.h
> +++ b/xen/arch/x86/include/asm/cpufeatureset.h
> @@ -12,8 +12,13 @@ enum {
>  };
>  #undef XEN_CPUFEATURE
>  
> +#if __GNUC__ >= 15
> +#define XEN_CPUFEATURE(name, value) asm (".equ X86_FEATURE_" #name ", %c0" \
> +                                         :: "i" (X86_FEATURE_##name));
> +#else
>  #define XEN_CPUFEATURE(name, value) asm (".equ X86_FEATURE_" #name ", " \
>                                           __stringify(value));
> +#endif

Again - why are we making a no-op change for the sake of it?

>  #include <public/arch-x86/cpufeatureset.h>
>  #include <asm/cpufeatures.h>
>  
> --- a/xen/arch/x86/include/asm/pdx.h
> +++ b/xen/arch/x86/include/asm/pdx.h
> @@ -13,9 +13,9 @@
>      asm_inline goto (                               \
>          ALTERNATIVE(                                \
>              "",                                     \
> -            "jmp %l0",                              \
> -            ALT_NOT(X86_FEATURE_PDX_COMPRESSION))   \
> -        : : : : label )
> +            "jmp %l1",                              \
> +            [feat])                                 \
> +        : : [feat] "i" (ALT_NOT(X86_FEATURE_PDX_COMPRESSION)) : : label )

Not a bug in this change, but the pre-existing use of positional labels
is something I was expecting not to introduce at all seeing as we
started cleanly with named labels.

The jmp wants to be:

Â  "jmp %l" #label

to cope with the fact it's a macro parameter too.

>  
>  static inline unsigned long pfn_to_pdx(unsigned long pfn)
>  {
> --- a/xen/arch/x86/include/asm/spec_ctrl.h
> +++ b/xen/arch/x86/include/asm/spec_ctrl.h
> @@ -73,7 +73,7 @@ static always_inline void spec_ctrl_new_
>  
>      /* (ab)use alternative_input() to specify clobbers. */
>      alternative_input("", "DO_OVERWRITE_RSB xu=%=", X86_BUG_IBPB_NO_RET,
> -                      : "rax", "rcx");
> +                      "i" (0) : "rax", "rcx");
>  }

As the comment says, this is already an abuse of the macro for a purpose
it wasn't intended for.

Now requiring an extra "nop" parameter to get the abuse to compile is
too far.Â  It can turn into a plain ALTERNATIVE(), and then both disappear.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Oct 08 17:38:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Oct 2025 17:38:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1140067.1475194 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6Y7U-0002r7-Sr; Wed, 08 Oct 2025 17:38:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1140067.1475194; Wed, 08 Oct 2025 17:38:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6Y7U-0002r0-QG; Wed, 08 Oct 2025 17:38:32 +0000
Received: by outflank-mailman (input) for mailman id 1140067;
 Wed, 08 Oct 2025 17:38:31 +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
 <SRS0=dI6S=4R=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1v6Y7T-0002qu-5D
 for xen-devel@lists.xenproject.org; Wed, 08 Oct 2025 17:38:31 +0000
Received: from SJ2PR03CU001.outbound.protection.outlook.com
 (mail-westusazlp170120002.outbound.protection.outlook.com
 [2a01:111:f403:c001::2])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9943c7af-a46d-11f0-9d15-b5c5bf9af7f9;
 Wed, 08 Oct 2025 19:38:29 +0200 (CEST)
Received: from MN0PR02CA0012.namprd02.prod.outlook.com (2603:10b6:208:530::9)
 by IA1PR12MB7614.namprd12.prod.outlook.com (2603:10b6:208:429::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.16; Wed, 8 Oct
 2025 17:38:17 +0000
Received: from BN1PEPF00005FFE.namprd05.prod.outlook.com
 (2603:10b6:208:530:cafe::31) by MN0PR02CA0012.outlook.office365.com
 (2603:10b6:208:530::9) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9203.9 via Frontend Transport; Wed, 8
 Oct 2025 17:38:17 +0000
Received: from satlexmb08.amd.com (165.204.84.17) by
 BN1PEPF00005FFE.mail.protection.outlook.com (10.167.243.230) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9203.9 via Frontend Transport; Wed, 8 Oct 2025 17:38:17 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.2.2562.17; Wed, 8 Oct
 2025 10:38:17 -0700
Received: from satlexmb08.amd.com (10.181.42.217) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 8 Oct
 2025 12:38:17 -0500
Received: from [172.21.123.104] (10.180.168.240) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.17 via Frontend
 Transport; Wed, 8 Oct 2025 10:38:16 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9943c7af-a46d-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=d/X9hKVD9PsNlGtxMyfYo0Y/1rqukMpPAXkuJdxEawI9Ly/JPh8mIOWsEEyD/PC652pYyb98gNiQyoDQxKjz3vnv9DAppryIg/g9ptKT5DuAy5i37XtGnqAs4Lbw4uEvtXAd83xkuiAq4gMIsZ85ZwAbDdEZrGZduowXG1Zod91ZMpJX188gv0Ywm1abEaMbT429CWv9HNGjXmR0XW9QBgHVXc97I3n9h0rizXYztClM7fB6zPnlZWm4iWno4fNnz6qWBg7aZelP9MYuWnPjaTXKpb51mQp7c7nUPWWNdnZvbCIJhrWgDWBEXSELVieUP0pABqCpoluYFlqSnJ4WZA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=i+FQ2B8zhQgtkrrEXGAbcT0mPmJGcgoviLwpAuQlNaI=;
 b=yo0feGpO0/0S6I904gzI2RxzAkk0JtD7UBFFX64NSAyDcXLvewTwGmiKtY3Y5dHD+mBYn26IVoMPxM0V5AwGnMigjp5/tF4zq0wYonV2OxePbnnHa+7I4MXlq788Om8S9l5PFSHwpcalRUeI5nwj8Hf0ef9uPuWDtAV6aouzCasmQwaGubHGbgq0fbooMgwEt0yfAyXCytZm+pL/zj3+TT+WhUpLC8JiAh/ZHDKBD/uP7I2s5JmxOGGyPa/NnjeIWPFrA1P62LF4Z2Tiq5QAscvDcC58AVfdYCQOZ+6VLX97txnSxIR9KKf3FEtk8whN3thD9soReYzlz54PAJK72w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=citrix.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=i+FQ2B8zhQgtkrrEXGAbcT0mPmJGcgoviLwpAuQlNaI=;
 b=vDZNr4UOK322Vv6ez7Y77H1afMprCdFZ2hxgJ8FgtwFsjeVc0n871shCxjXBWxTYKP7qHDbP8Br2frvBoWzayjP/VevXUUfryWA2yTkBKPeRziy3oVZ6xael1AeR+aPxYcqYKqX/5BzzuFQPVWmuZHXZj2VQobUJThYgWCzJ7Gk=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C
Message-ID: <7754ab37-4faa-476e-98e1-0417afca1e70@amd.com>
Date: Wed, 8 Oct 2025 09:17:30 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21 v2] vpci/msix: improve handling of bogus MSI-X
 capabilities
To: Roger Pau Monne <roger.pau@citrix.com>, <xen-devel@lists.xenproject.org>
CC: <oleksii.kurochko@gmail.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>, Michal Orzel
	<michal.orzel@amd.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>
References: <20251008143923.2557-1-roger.pau@citrix.com>
Content-Language: en-US
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <20251008143923.2557-1-roger.pau@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF00005FFE:EE_|IA1PR12MB7614:EE_
X-MS-Office365-Filtering-Correlation-Id: d7d26b78-0dde-416d-96fb-08de06917785
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|1800799024|36860700013|82310400026|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?N3lrK2c5QnpzY1JlM2g4ODBUM0dOQ21kSDZIdnJZaDlGbTgwbit0TGlycElJ?=
 =?utf-8?B?TitjQmttQUJqVGNGNUVYSjM0RDcxeDR4MXhkSDdiMFpkZXB3SS9jOWpwVXZV?=
 =?utf-8?B?eUtLYXdTRi82bjNlUnpDblU1d0lkcmU4OVc0akpqMHJlWVJKczR2ZHZYeGpM?=
 =?utf-8?B?L0l3S3IyYXlGeXgxbFhoYTM3bk8rRkNMYkJiejRIMEVRQUw4dzhqT0lzTThn?=
 =?utf-8?B?dHdWbWw0Qk5Zd0t1RVZVTUVVZEY5V3Y5UkUzOEZCa08zU25TTmtUR2svTFpx?=
 =?utf-8?B?S0p5RDAxVHdueU9DQ0NEQUxRU1dZZ1hjQytTRU5JSkVya3lQc3U1aCtsblNZ?=
 =?utf-8?B?MjZSY1pDQkNLN3hVeUtuU3BqTnFKMVFaSkpPWERFR2d0bkgrY05HNm9XMTEw?=
 =?utf-8?B?ZnFzUG5JaTdqZm1wWDdDdVdkMDRURjNaSUVVMkhtQlpIWFpRRTBmRmZpL1Bp?=
 =?utf-8?B?em5vY0pjM3ZBcE1pSkw2bTdLbzlBeHFYQm1aOWNoMWF6Um9NaURvbTlYSHBr?=
 =?utf-8?B?dWozN0RVVmcrbEl3R0FoUGZGTDNuTFBBaTN6NW05QkFseUkxMG1XOGh0Nnl3?=
 =?utf-8?B?OEdxSFd2R1NsV2UvZkNuSC9CbDdHZHlVd3hKaktjNW9oRmV5eC9MRVFKazNG?=
 =?utf-8?B?LzFGclBsSGJZSXdzR1FTTmQ2WWZxQ2Ezd3F4bTE5OUtaWHJsWEhqdExCc2JK?=
 =?utf-8?B?K0VHOGVKamNpbDhsYkN5UDM0UTU5aGROQURWMitXMXBLRmRmMDZuM0NkaTZk?=
 =?utf-8?B?VWI3KzhrT0lBaitoRnYweGhFQTg5SEFrZ0o1SDd0VXdVckpJSWJ6SU5CeVJ0?=
 =?utf-8?B?VThnaHcyMmJFZk9GRW12R24yaFBFbWsrN3lvOUo4NklmRzNob1NYNDc4aTZy?=
 =?utf-8?B?dDhQb1IwMjRRNzEvKzZZbVJUMksydjJqd1ZyZ09tMWdsUnZHckxQZW4rYjlw?=
 =?utf-8?B?SStyNkxoT2Y3aC9EL3J4MzI1NHlocWJOc2I4YnBFOGNGeW1rbnl1dktWclRj?=
 =?utf-8?B?N2tUc25BRFZxQWpGa3Q1VzhWQ09KaWZYR2lhRUp3cEFER1lqdmhRNWQ1VmVn?=
 =?utf-8?B?b094alVVajNyMWxNbVc0QlBjYmVwbWR3bVM2bzFvWHdNNW0wVmQyTTFPVXpo?=
 =?utf-8?B?NjdjV2ZkaEFaSXhINGNETUN0NVYrallzOEEzUHFhOWgyUnRmdmxCd09abzdr?=
 =?utf-8?B?N2JrdWprYlVsUmpNUWR3WW00aCtmZUV3VWxKOS85M2U1ZVhpYi9oY3lkL1Qx?=
 =?utf-8?B?NURaci9CQ1RGTnRYektBekxmVjR4eUwwOVR1bkVza1hLUm5MK2J0Y2VkbUpO?=
 =?utf-8?B?b2xnVUhFTU55QXBJbXJ4QzFYTUlnMERhejVOWUwyV2t2N0pkQkl1N3MzNFkx?=
 =?utf-8?B?dy9mbkx6WlJvZGVFM3Zod280eTU0a09LRWhWUlBoOVVINjlydVZRNlpyK01H?=
 =?utf-8?B?NzlrUm5YNHcyYkpCeGZEcmRTN0xERWVQSEtrTmFqQXVnK1ozVHVnTkxwNk9Z?=
 =?utf-8?B?bC83NDR6eWF4WWRQU041VVdBN1d3ODVycUJRNlpmV1FkS2pQa2t6bWZYMXlH?=
 =?utf-8?B?VWJFVWtYWURMQXIxWkd1aHk0WC96S0NNcmdEKy9tZkNPNWZiU1FjUHBnY25Q?=
 =?utf-8?B?aUlNQ3JXM2ZremEwM2ZzcjJKZ3dVeS9OVjI4REs4RkJhZFlaSC9GbkRpWURa?=
 =?utf-8?B?OTRadHl4WEdLbVUzblQ4UXdLaG41eWVmem1BdkpzVVlEVkp4S1Vzb1hBa1d0?=
 =?utf-8?B?UURVQ0JCUGVrcVhJNGd0NFN2S3MzWlFLRDY3cjBQR0N5M0h5UWJrRWIrWmR3?=
 =?utf-8?B?TnIra2NSMitIM3VSd09vVFBHZFYwN0M4c1VXTFoxR2xzVGRBWndqMjVBZmhS?=
 =?utf-8?B?ZHJoazB5RERmL2ZYVWUvWWtrV091eVFUK0hSb1lNRHNJZytxQW93M2tIZ05u?=
 =?utf-8?B?OHR5S0U2aUVBdG5ub3NOdWhZY1hFSXRoQWJib0sxWVNQRmt0akpoT3lScGoz?=
 =?utf-8?B?aUpyV09WaGhUVEU4eC9oTlhLYW81djNnamdpVlJldFRQblROQ0dpMWE3clNx?=
 =?utf-8?B?V3ZCdW1iUXN6c2pDcHgvaytOdWRhV1d5cEtGa3ZmY1h4a3dIYVdRN0wxMjd1?=
 =?utf-8?Q?muBE=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(1800799024)(36860700013)(82310400026)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Oct 2025 17:38:17.8039
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d7d26b78-0dde-416d-96fb-08de06917785
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN1PEPF00005FFE.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB7614

On 10/8/25 10:39, Roger Pau Monne wrote:
> I've had the luck to come across a PCI card that exposes a MSI-X capability
> where the BIR of the vector and PBA tables points at a BAR that has 0 size.
> 
> This doesn't play nice with the code in vpci_make_msix_hole(), as it would
> still use the address of such empty BAR (0) and attempt to carve a hole in
> the p2m.  This leads to errors like the one below being reported by Xen:
> 
> d0v0 0000:22:00.0: existing mapping (mfn: 181c4300 type: 0) at 0 clobbers MSIX MMIO area
> 
> And the device left unable to enable memory decoding due to the failure
> reported by vpci_make_msix_hole().
> 
> Introduce checking in init_msix() to ensure the BARs containing the MSI-X
> tables are usable.  This requires checking that the BIR points to a
> non-empty BAR, and the offset and size of the MSI-X tables can fit in the
> target BAR.
> 
> This fixes booting PVH dom0 on Supermicro AS -2126HS-TN severs with AMD
> EPYC 9965 processors.  The broken device is:
> 
> 22:00.0 SATA controller: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] (rev 93)
> 
> There are multiple of those integrated controllers in the system, all
> broken in the same way.
> 
> Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
> Released-Acked-By: Oleksii Kurochko<oleksii.kurochko@gmail.com>
> ---
> Cc: Stewart Hildebrand <stewart.hildebrand@amd.com>
> Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
> Changes since v1:
>  - Introduce a DEVICE BUG prefix.
>  - Remove extra newline.
>  - Fix typo in commit message.
> ---
>  xen/drivers/vpci/msix.c | 50 ++++++++++++++++++++++++++++++++++++-----
>  xen/include/xen/lib.h   |  3 +++
>  2 files changed, 48 insertions(+), 5 deletions(-)
> 
> diff --git a/xen/drivers/vpci/msix.c b/xen/drivers/vpci/msix.c
> index 54a5070733aa..4ddcefbcb274 100644
> --- a/xen/drivers/vpci/msix.c
> +++ b/xen/drivers/vpci/msix.c

Do we need to #include <xen/lib.h>?

> @@ -675,6 +675,51 @@ static int cf_check init_msix(struct pci_dev *pdev)
>      if ( !msix )
>          return -ENOMEM;
>  
> +    msix->tables[VPCI_MSIX_TABLE] =
> +        pci_conf_read32(pdev->sbdf, msix_table_offset_reg(msix_offset));
> +    msix->tables[VPCI_MSIX_PBA] =
> +        pci_conf_read32(pdev->sbdf, msix_pba_offset_reg(msix_offset));
> +
> +    /* Check that the provided BAR is valid. */
> +    for ( i = 0; i < ARRAY_SIZE(msix->tables); i++ )
> +    {
> +        const char *name = (i == VPCI_MSIX_TABLE) ? "vector" : "PBA";
> +        const struct vpci_bar *bars = pdev->vpci->header.bars;
> +        unsigned int bir = msix->tables[i] & PCI_MSIX_BIRMASK;
> +        unsigned int type;
> +        unsigned int offset = msix->tables[i] & ~PCI_MSIX_BIRMASK;
> +        unsigned int size =
> +            (i == VPCI_MSIX_TABLE) ? max_entries * PCI_MSIX_ENTRY_SIZE
> +                                   : ROUNDUP(DIV_ROUND_UP(max_entries, 8), 8);
> +
> +        if ( bir >= ARRAY_SIZE(pdev->vpci->header.bars) )
> +        {
> +            printk(XENLOG_ERR DEV_BUG_PREFIX
> +                   "%pp: MSI-X %s table with out of range BIR %u\n",
> +                   &pdev->sbdf, name, bir);
> + invalid:
> +            xfree(msix);
> +            return -ENODEV;
> +        }
> +
> +        type = bars[bir].type;
> +        if ( type != VPCI_BAR_MEM32 && type != VPCI_BAR_MEM64_LO )
> +        {
> +            printk(XENLOG_ERR DEV_BUG_PREFIX
> +                   "%pp: MSI-X %s table at invalid BAR%u with type %u\n",
> +                   &pdev->sbdf, name, bir, type);
> +            goto invalid;
> +        }
> +
> +        if ( (uint64_t)offset + size > bars[bir].size )
> +        {
> +            printk(XENLOG_ERR DEV_BUG_PREFIX
> +                   "%pp: MSI-X %s table offset %#x size %#x outside of BAR%u size %#lx\n",
> +                   &pdev->sbdf, name, offset, size, bir, bars[bir].size);
> +            goto invalid;
> +        }
> +    }
> +
>      rc = vpci_add_register(pdev->vpci, control_read, control_write,
>                             msix_control_reg(msix_offset), 2, msix);
>      if ( rc )
> @@ -686,11 +731,6 @@ static int cf_check init_msix(struct pci_dev *pdev)
>      msix->max_entries = max_entries;
>      msix->pdev = pdev;
>  
> -    msix->tables[VPCI_MSIX_TABLE] =
> -        pci_conf_read32(pdev->sbdf, msix_table_offset_reg(msix_offset));
> -    msix->tables[VPCI_MSIX_PBA] =
> -        pci_conf_read32(pdev->sbdf, msix_pba_offset_reg(msix_offset));
> -
>      for ( i = 0; i < max_entries; i++)
>      {
>          msix->entries[i].masked = true;
> diff --git a/xen/include/xen/lib.h b/xen/include/xen/lib.h
> index c434dd5f16e4..c4ac4823920f 100644
> --- a/xen/include/xen/lib.h
> +++ b/xen/include/xen/lib.h
> @@ -60,6 +60,9 @@ static inline void
>  debugtrace_printk(const char *fmt, ...) {}
>  #endif
>  
> +/* Common log prefixes for platform related issues. */
> +#define DEV_BUG_PREFIX "DEVICE BUG: "
> +
>  extern void printk(const char *fmt, ...)
>      __attribute__ ((format (printf, 1, 2), cold));
>  void vprintk(const char *fmt, va_list args)



From xen-devel-bounces@lists.xenproject.org Thu Oct 09 07:21:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Oct 2025 07:21:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1140299.1475220 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6kxS-000504-3C; Thu, 09 Oct 2025 07:21:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1140299.1475220; Thu, 09 Oct 2025 07:21:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6kxS-0004zx-0V; Thu, 09 Oct 2025 07:21:02 +0000
Received: by outflank-mailman (input) for mailman id 1140299;
 Thu, 09 Oct 2025 07:21:00 +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
 <SRS0=tDLD=4S=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1v6kxQ-0004zb-2G
 for xen-devel@lists.xenproject.org; Thu, 09 Oct 2025 07:21:00 +0000
Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com
 [2a00:1450:4864:20::629])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8083191a-a4e0-11f0-9d15-b5c5bf9af7f9;
 Thu, 09 Oct 2025 09:20:58 +0200 (CEST)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-b457d93c155so92919166b.1
 for <xen-devel@lists.xenproject.org>; Thu, 09 Oct 2025 00:20:58 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-146-38.play-internet.pl.
 [109.243.146.38]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-b4869c4f93esm1851477866b.83.2025.10.09.00.20.56
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 09 Oct 2025 00:20:57 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8083191a-a4e0-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1759994458; x=1760599258; darn=lists.xenproject.org;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=dRhPB+SBv+gVf3IoqV9gY0z8jXaR6voQ7qNuqH58cJQ=;
        b=ZElhXaTUBug8gy0PYzZoBvM6umwj3VDB4PAiyd9v7qw3GlUDhYGF5Jl0zkjV4qrOEr
         CO7/eBNp+gBVW/ji1ite8jQ5B5whwWdIySnYTDeInzqpW/IEGtlpWLpRfHRis42rMNkE
         WNWJtP3RSlhHfYR+iOCpu0sOSBV+O3ggHGJk1ta4nVog08O7sY3b30jEC+11kO7XcSCJ
         tGG5MmqOLJO3VSGw8haWPIKGoOmxqcy9LaM6Zkv6zf1Zq5fGHZizUUt/oJ0i2UkTQ391
         Lu2Hr/JDJpbrFHx+vpRu562WLmtmU0SNgxrrs3IFVOoPCKtQlODgpFcSNsY+Zp1tGFbu
         RxFQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759994458; x=1760599258;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=dRhPB+SBv+gVf3IoqV9gY0z8jXaR6voQ7qNuqH58cJQ=;
        b=Gc5OW8kOjTLguMEL3lHeXA9GaldN81Ep+hxIM2byVp6eAPW63i4o9q2d1hQIGAUG8w
         M3ZzFsaL8hWt4/92ZTaxvxxYpOjj2DqeLttbp6JDDjDxv3wfPqmfLzBbsygYQyFtJEVT
         s6jA187h9v8px5JNdaSsaU8XTjQqZbPAIHDTHxYyTUaJfG1iwavOVMj89tWs69l1l6PF
         EeBRwoW0c45140rIHa0bKEtRtmlazhGtGHX1IODwY4HMouACEUhfjsAmstZrzJEVMKUA
         dDfpeutYayPHxjF3A7Me44hoNHL0QyLm+OiX5w9UyHG26Lcu6pdJr5MFS7DLx2Y6cJzk
         UhMA==
X-Gm-Message-State: AOJu0YytLL4CcQRwCGKxCYBphppBXn2sKpL+oKY2NIQtTqlzDLFbFl1Y
	1Ab9PMWm/gmYxWFWzHdminBn7EO++7K47/sK0nohj+j7dJQZ+JW17GJA
X-Gm-Gg: ASbGncvwYG7mTZc+8tBzOUnUbVh9x0C10FxwEmiRSJEB8ardKALvw1P19BE31O5ltdF
	y20UsLb/Sf2CaGkQiNfx9aIW/+NNO2PzU6uqbmhtHLSu1t/7JjirSE8ppLB00jpqqroiSgEg0Nk
	erJfacc8uM6Bg9vrCWwthhEPPPdDQpHq7NeAdjAdTezW1sD2XJtp6sTvZHHggHDrqJ5e/dzhxLg
	X7AIZsZjcvDLs5g45HqGV9+XvSGnVHMtPCA0/+bpOPrUb3orY4zbjwgPfKlLJBCseoKcLAACx1X
	qxk6dMZUc9gQzWyQ3QPKgH/3gMmxbMaVdQJKeJzD2oPM9M7YCAR1CNuEjx5XYCmd+D685H/sZEj
	cmqONckqFIg0fmAPXUrwqv0ATfbpmy7r06NkgMQCB12fpEjgM8M1f+sLkQZ5IphtTkc9un/CorD
	sLvw4op038CJ6mDddArLOq+AeEN8G2UR+rqtHdGw==
X-Google-Smtp-Source: AGHT+IGkzVao23veRHXKB1kn9GyD/R4JNbCJ3h7Kv1N4zc8e6hdilu0zsLKlIUNU7Fi2SD0uPHRqrg==
X-Received: by 2002:a17:907:7e82:b0:b45:66f6:6a21 with SMTP id a640c23a62f3a-b50abfcd081mr706116866b.46.1759994457674;
        Thu, 09 Oct 2025 00:20:57 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------9O0KnNKyInfmwlzblJbKGynO"
Message-ID: <ecdbcf8e-16b2-476f-b586-e022fdfda560@gmail.com>
Date: Thu, 9 Oct 2025 09:20:56 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21 1/2] x86/AMD: avoid REP MOVSB for Zen3/4
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Jason Andryuk <jason.andryuk@amd.com>,
 Teddy Astie <teddy.astie@vates.tech>
References: <8ecbf8b7-91fe-4f9e-9542-7ec22b6a47bb@suse.com>
 <6bcaa5b7-4e34-40c9-85e6-48a0a5869b86@suse.com>
 <485889ed-2820-4bb3-b450-88553dbb719e@vates.tech>
 <f42bb989-c9e5-43d5-82e2-9b6f95c008fa@amd.com> <aOZJDh9vwbcTwBIy@Mac.lan>
 <7c403caf-192a-413b-9b17-d8e02c066727@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <7c403caf-192a-413b-9b17-d8e02c066727@suse.com>

This is a multi-part message in MIME format.
--------------9O0KnNKyInfmwlzblJbKGynO
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit


On 10/8/25 6:06 PM, Jan Beulich wrote:
> On 08.10.2025 13:20, Roger Pau MonnÃ© wrote:
>> On Mon, Sep 29, 2025 at 07:35:53PM -0400, Jason Andryuk wrote:
>>> On 2025-09-25 08:18, Teddy Astie wrote:
>>>> Le 25/09/2025 Ã  12:48, Jan Beulich a Ã©critÂ :
>>>>> Along with Zen2 (which doesn't expose ERMS), both families reportedly
>>>>> suffer from sub-optimal aliasing detection when deciding whether REP MOVSB
>>>>> can actually be carried out the accelerated way. Therefore we want to
>>>>> avoid its use in the common case (memset(), copy_page_hot()).
>>>> s/memset/memcpy (memset probably uses rep stosb which is not affected IIUC)
>>>>
>>>>> Reported-by: Andrew Cooper<andrew.cooper3@citrix.com>
>>>>> Signed-off-by: Jan Beulich<jbeulich@suse.com>
>>> With Teddy's suggested change:
>>>
>>> Reviewed-by: Jason Andryuk<jason.andryuk@amd.com>
>> Acked-by: Roger Pau MonnÃ©<roger.pau@citrix.com>
> May I ask for a release-ack here, seeing that it alters behavior that went in
> close before the freeze?

Release-Acked-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>

~ Oleksii

--------------9O0KnNKyInfmwlzblJbKGynO
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 10/8/25 6:06 PM, Jan Beulich wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:7c403caf-192a-413b-9b17-d8e02c066727@suse.com">
      <pre wrap="" class="moz-quote-pre">On 08.10.2025 13:20, Roger Pau MonnÃ© wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">On Mon, Sep 29, 2025 at 07:35:53PM -0400, Jason Andryuk wrote:
</pre>
        <blockquote type="cite">
          <pre wrap="" class="moz-quote-pre">On 2025-09-25 08:18, Teddy Astie wrote:
</pre>
          <blockquote type="cite">
            <pre wrap="" class="moz-quote-pre">Le 25/09/2025 Ã  12:48, Jan Beulich a Ã©critÂ :
</pre>
            <blockquote type="cite">
              <pre wrap="" class="moz-quote-pre">Along with Zen2 (which doesn't expose ERMS), both families reportedly
suffer from sub-optimal aliasing detection when deciding whether REP MOVSB
can actually be carried out the accelerated way. Therefore we want to
avoid its use in the common case (memset(), copy_page_hot()).
</pre>
            </blockquote>
            <pre wrap="" class="moz-quote-pre">
s/memset/memcpy (memset probably uses rep stosb which is not affected IIUC)

</pre>
            <blockquote type="cite">
              <pre wrap="" class="moz-quote-pre">
Reported-by: Andrew Cooper <a class="moz-txt-link-rfc2396E" href="mailto:andrew.cooper3@citrix.com">&lt;andrew.cooper3@citrix.com&gt;</a>
Signed-off-by: Jan Beulich <a class="moz-txt-link-rfc2396E" href="mailto:jbeulich@suse.com">&lt;jbeulich@suse.com&gt;</a>
</pre>
            </blockquote>
          </blockquote>
          <pre wrap="" class="moz-quote-pre">
With Teddy's suggested change:

Reviewed-by: Jason Andryuk <a class="moz-txt-link-rfc2396E" href="mailto:jason.andryuk@amd.com">&lt;jason.andryuk@amd.com&gt;</a>
</pre>
        </blockquote>
        <pre wrap="" class="moz-quote-pre">
Acked-by: Roger Pau MonnÃ© <a class="moz-txt-link-rfc2396E" href="mailto:roger.pau@citrix.com">&lt;roger.pau@citrix.com&gt;</a>
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
May I ask for a release-ack here, seeing that it alters behavior that went in
close before the freeze?</pre>
    </blockquote>
    <pre>Release-Acked-by: Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a>

~ Oleksii</pre>
  </body>
</html>

--------------9O0KnNKyInfmwlzblJbKGynO--


From xen-devel-bounces@lists.xenproject.org Thu Oct 09 07:21:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Oct 2025 07:21:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1140307.1475231 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6ky6-0005SA-BG; Thu, 09 Oct 2025 07:21:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1140307.1475231; Thu, 09 Oct 2025 07:21:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6ky6-0005S3-88; Thu, 09 Oct 2025 07:21:42 +0000
Received: by outflank-mailman (input) for mailman id 1140307;
 Thu, 09 Oct 2025 07:21:40 +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 <SRS0=I7dU=4S=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v6ky4-0005Gd-CU
 for xen-devel@lists.xenproject.org; Thu, 09 Oct 2025 07:21:40 +0000
Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com
 [2a00:1450:4864:20::536])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 95e9cee2-a4e0-11f0-9809-7dc792cee155;
 Thu, 09 Oct 2025 09:21:34 +0200 (CEST)
Received: by mail-ed1-x536.google.com with SMTP id
 4fb4d7f45d1cf-634b774f135so912823a12.2
 for <xen-devel@lists.xenproject.org>; Thu, 09 Oct 2025 00:21:34 -0700 (PDT)
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
 4fb4d7f45d1cf-639f3d03662sm1704899a12.29.2025.10.09.00.21.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 09 Oct 2025 00:21:33 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 95e9cee2-a4e0-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1759994494; x=1760599294; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=6plADGUh2WROebleK/tkWwO3jXZhRsEWIgYlQ6am2vY=;
        b=Ch+K7H+5n8vCbQV9zVYzC4zq32GyhWEzyh9/XRxPy0nr423Hl56sWbET/bCyZb22DE
         tGbdwurYYMjxT4YfgKWzykfqKS9Q+qQDg9uA/T5dmpsphj1va/YoNJZqgGN+xLIGcXuL
         ynDYM1ryOofiGUAn8i1cCb//74u+rOtw110NoikeqmzJIK8yK56lO21LpFdVn2ZuySst
         UkrZAdkBXRyT0pHCepXw4ineKSYp2m/VLSjEr4Ff+hUqP8jO3MNjkcA9LOJXe8P18cix
         fYhSUWEV8lfi34QNncJOIcMVqORow/nwfA0O5UzJh8/G/Bi+EqvxpePjzynLcX0hlOMP
         tFuw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759994494; x=1760599294;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=6plADGUh2WROebleK/tkWwO3jXZhRsEWIgYlQ6am2vY=;
        b=PisTXJz7PwDkI2FfX3FfEuJASuKgoSJE38O8bwkNRNducDHaN3XUQ5IXc4mwRh5o5o
         CRFpM7TOfGCyF0Qq01KrZ/CuoCbyJaIa+5jtFAHnTckM+HzUc50JAA9NbYHvLbTT1od+
         IHon8uI7Ttt2KqvT9QtjmMoE5C17NUjsbU1Yt7gEV+Lep9FY/vWIddfTn3eMX7Rimw6U
         ixVVx+j8/32abI5CmAgQAK6KyXrwvMvBZ/sHscE9v7T99SKos+zkIGu7XrHcCCnKErwo
         MsU8q8nmnGlWPihV8eOLe+BveYiAsWL1alSVBBilSzbAiSst6uiwEW3gCULA5b+T/tRy
         h20w==
X-Gm-Message-State: AOJu0YxfR0glLAj0JqiNiVzVYSpuVIpaTRIXujc7fUkF0pHiApuckHxt
	SUjKmUSA/fcMOZvrVGHsbNYzAbt3mDZUt16UUJvf0QIdlU8UD8Tpcrw9ruhyczE4bw==
X-Gm-Gg: ASbGncuA2pWGTRUxogs438XARlE2Y/a/qEVv4Bnc1HT8YHR5UDh4bXQRXNMyRPNAkKZ
	e/QJyUjesOA8iYb4QK+JQNr1mv8QFWRcHFwrCS0VgaYuU+E9MrDnVeXXlXYPJum1K2g1+7rcmNv
	+0yUxGeHVq3e2TjmnYuq2Rs7BRjICF/VLta76kz0v1y7WrM7Mj2SPNoYsg+/NoyLCc+h4MsgJQN
	CgcIcaJU5+RcVJoRtUNbB/CD+NDyU9PFryzDmL2hqM44GPgKNIKRB5O5PB6p8URzcc3NWt6FYkQ
	ycagzUFdUVBU07tq4lS/AZVfEPZhTYY6yntH3QhDYkMqP3IvrJu9wFv+jhjFhJUn8xRTNVq+NLW
	ZEP1s2V86eQkWwEvrI1gs8RbZfa6m3CZU9zVVkh89ruZyZtNIaGyezWtj+tTSrpXZLDbbt9pGjY
	/b4ozf14xAKNGSOumjQbHAYlt05bNAQdQ=
X-Google-Smtp-Source: AGHT+IE+wlzApnrMXErS2R0UELMoLhpzFfnDfRGCXzCzN0CRfoKyPRWjQ8DPtZajrb//KKYWfbOH0g==
X-Received: by 2002:aa7:df92:0:b0:637:d2d6:dddd with SMTP id 4fb4d7f45d1cf-639d5c6f393mr4125454a12.36.1759994493866;
        Thu, 09 Oct 2025 00:21:33 -0700 (PDT)
Message-ID: <4523206c-7e0f-4197-acaf-4a1a08dad929@suse.com>
Date: Thu, 9 Oct 2025 09:21:32 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21??? 2/3] x86/vLAPIC: drop VLAPIC_VERSION
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Andrew Cooper <amc96@srcf.net>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Grygorii Strashko <grygorii_strashko@epam.com>
References: <265d5053-af61-42cb-a3b9-ef60df39c21b@suse.com>
 <feb47fa6-27a0-4cf7-8fc6-bf5f29f467c1@suse.com> <aOaP54CZw8lgLLUv@Mac.lan>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <aOaP54CZw8lgLLUv@Mac.lan>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 08.10.2025 18:23, Roger Pau MonnÃ© wrote:
> On Wed, Oct 08, 2025 at 02:08:48PM +0200, Jan Beulich wrote:
>> @@ -1439,7 +1438,7 @@ static void vlapic_do_init(struct vlapic
>>      if ( !has_vlapic(vlapic_vcpu(vlapic)->domain) )
>>          return;
>>  
>> -    vlapic_set_reg(vlapic, APIC_LVR, VLAPIC_VERSION);
>> +    vlapic_set_reg(vlapic, APIC_LVR, 0x00050014);
> 
> (Maybe I'm getting ahead of patch 3, as I haven't looked yet)
> 
> Don't we want to use some kind of macros to build this in a more
> friendly way?
> 
> We could have a pair of SET_APIC_{VERSION,MAXLVT}()?

With what patch 3 does to apicdef.h, I was rather wondering whether to simply
use two MASK_INSR() here (patch 3 already uses one right now).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 09 07:24:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Oct 2025 07:24:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1140323.1475241 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6l0Y-00067k-S6; Thu, 09 Oct 2025 07:24:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1140323.1475241; Thu, 09 Oct 2025 07:24:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6l0Y-00067d-PE; Thu, 09 Oct 2025 07:24:14 +0000
Received: by outflank-mailman (input) for mailman id 1140323;
 Thu, 09 Oct 2025 07:24:13 +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
 <SRS0=i0mQ=4S=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v6l0X-00067V-8G
 for xen-devel@lists.xenproject.org; Thu, 09 Oct 2025 07:24:13 +0000
Received: from BYAPR05CU005.outbound.protection.outlook.com
 (mail-westusazlp170100001.outbound.protection.outlook.com
 [2a01:111:f403:c000::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ec37787c-a4e0-11f0-9809-7dc792cee155;
 Thu, 09 Oct 2025 09:24:00 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by DS7PR03MB5397.namprd03.prod.outlook.com (2603:10b6:5:2c0::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.10; Thu, 9 Oct
 2025 07:23:53 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9203.009; Thu, 9 Oct 2025
 07:23:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ec37787c-a4e0-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ofV+5tQNAQgOuToML/y3Mf4vc7DDrxQtWG9hE8uzGsEKpJA/A8ixVFnYRifufVFZQzl+RXiMjKX+290V4zMbL8CUaVGPTOOu4ZoWhODb55kXpIAB2pz/eI48tC5KFKA/oF1j3xrLYqy7317EIWoUyWGzuayhYHGU0HF1uAPvHi/EXfds/7m+p3Gq6WH4Dr+hfhbZc6aVThSFqQQ1J5jLBYA5RohnNO7f3Cb5dlvYPkoWbAScS6Io64dWOcrffeuO5JFTVJGx9lE0U8fjACtP5+HI65i+MpXoJMZMAHrqdEujmrOAWcMLEYw6xw0xHA9d3ek6WOq41ssvGxhH16NURg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=diFD8va6CdLQp1aJYVLWwokx+QRU1WW65/Wyon+6pEs=;
 b=cT1ybvphtq2s+L3Pi5jT8PEG03veZZG1GklkPgh6djcsLlW78QlFd2LiEeZlXA9ksXv3Wn27LGqdP9omz1aw15d+9HKLaky1CRg94h9GDvbchQbAifSwon4cCPERqVHSXY7D92EeUDDYPoQK7COL4huhMGoFNOyJ3ZFMGVJkpxqB7YuL4AZJt9wWloPQBBFXdcu5lzbYEKwygGQ+FaHBtRu5tHzE//vtqZ30+kKHOR2t0r/slrPunXq5WzSPvoZGzTfasHuJhGyfL9IP2QhGCI0Lv9+8YqfzKVcOA1Gj5M5gIe5a8jAJbDQ1TLjLn4LZf+HL6vyIGU8U2dquT4/1zg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=diFD8va6CdLQp1aJYVLWwokx+QRU1WW65/Wyon+6pEs=;
 b=RZW3nc+Li/m2zuV4Vgl3BO0aGBh1jPLTuz2sqy1xV4XDe+P8ADTncnp1svXk+V3WWtL9Olb/7Ic00i56WXIugEmV+OCS7fC1hTTqSNjJKiVZ32igwIn2SYQdC1ZfZ28BZKR1dBiLqAVW6rS4KrbfbzgVEXTwt4wAdBuZZNh/yys=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 9 Oct 2025 09:23:48 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Stewart Hildebrand <stewart.hildebrand@amd.com>
Cc: xen-devel@lists.xenproject.org, oleksii.kurochko@gmail.com,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH for-4.21 v2] vpci/msix: improve handling of bogus MSI-X
 capabilities
Message-ID: <aOdjBLaK1Tg2I51E@Mac.lan>
References: <20251008143923.2557-1-roger.pau@citrix.com>
 <7754ab37-4faa-476e-98e1-0417afca1e70@amd.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <7754ab37-4faa-476e-98e1-0417afca1e70@amd.com>
X-ClientProxiedBy: BN9P220CA0016.NAMP220.PROD.OUTLOOK.COM
 (2603:10b6:408:13e::21) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|DS7PR03MB5397:EE_
X-MS-Office365-Filtering-Correlation-Id: 19133768-445a-4254-66be-08de0704ccac
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?ejNjRnVtUU5vc0NJdGorYjRPUFd5Q1BLWmFrVXN2dTNhOFNYeEFSMnAydmE1?=
 =?utf-8?B?NDByWGNncCs0R0RuODUxZ1hlK1RtZXVqNGpLcmhnMHhtUDNHc3loNTBCdXFo?=
 =?utf-8?B?K2MyQmxlcS93RE5vU2FoZmgzbUlmVEVsNm9HbnlWbDl4akMvWlFOZ1V0bjdy?=
 =?utf-8?B?bi8vZlB2M29UdU90UUp3WTR0OUlNdVQwUG9GblFhVkFvM3A4ejNUQlRGcDRo?=
 =?utf-8?B?VE93emtwQ3Q0aERnOVVlQ0VROW5Kd09xMmZEZkJhcjNTT1EvTG1SQS9HcDUv?=
 =?utf-8?B?TDErdE56QmxNL3A0aDRyeU1LWXZkUW9nTEx5b1NkdEdRaWozVHJ1MEtqaTV3?=
 =?utf-8?B?a29nZ090d2dEOVhONmFZQ0UyMmFDSmZ5VzBRYnpXRkJKRWxTZzZEalpXZXVZ?=
 =?utf-8?B?Y2FtMzl2d2JTM0szVXRtR29jM05HK0UwY0dpUjV0VlByaitDK1VBTlFsKy92?=
 =?utf-8?B?N1ZrcjgxMkp3V283a2ErdXV0UWFnUWtpV0gxd0hUbXZ2WndZQ2Z0c3lKZjlP?=
 =?utf-8?B?Zmxpa0p5QzBLTldBNkdhUWpKTU4wbEMrc0VVdVN3OEh0UzVKV1NlU0pKTktv?=
 =?utf-8?B?NWJZS2QzRkp1djlGVG1oVkFVWC9WZmhMb0pqdkdJMlMrZms4WVN6N0pTN3Ex?=
 =?utf-8?B?bCtVMWtmMFFHRFlGN1IwZTVZSlk5dk9PeXBrVzQ4aytmZVcxK1lBak9KUDBQ?=
 =?utf-8?B?T05ZOEdRb1RJd0lIaTkvNjd3emtuRjArTXVRbXpLNHMvS1NoKzBabXBOcTdw?=
 =?utf-8?B?SzJxdDFIVzlVMzdBMDFDckpIOTJXcytLY1VpeDJVbUwxYmdnUSt1d2xLS2Q3?=
 =?utf-8?B?WkRTUW5GeHp6YnYrZUpXS2VJL25rZXF0eHBGbE4rdk1kVG0xYzkrRHdhcTI3?=
 =?utf-8?B?d2pHc3Y0cWZxbjNxM1lIai9zejBoTTZESVAzd0lIZjQxQ05waTJ2WFBXQitk?=
 =?utf-8?B?NGtXdmxCa2FodXFac3czMSthTEFNTmJkRjdRZnlGdnZLMFJJWm9uYnhvdzN6?=
 =?utf-8?B?Z1ZEcXYwOFRCUHhCMkhiQThYWnFWaFRVdXJYQ0Z2RUJqOGMrMTRnSGp5Q01o?=
 =?utf-8?B?RlgxeDJDakhmWmFLektwNlQ0c3JkNXVKVHJsRkdrbjNWSjNmUWxER1I2akl6?=
 =?utf-8?B?OU96VUJqR1BVcVByQWRsem9sVXlKOG96T3NFM0hjcUtqMkx5NmlDSnR6dTE4?=
 =?utf-8?B?MkdWS1RGS3JTMEpvbW4zVStZWFZkUWtrWFJqNkkxaVdBWGYxcFI5L1E4WHBm?=
 =?utf-8?B?UFRoRjJaUTNHMUhSN0FyZFNxeTc0d0kwTnZVRTdSYUI4eWI1RElhcG1UNC9y?=
 =?utf-8?B?UWlLKytRbDdaaEZSZ2RyU2U3WWN5S3RPbDY0QWU3K1pad3dFM0dRQVVZblg4?=
 =?utf-8?B?WForZXlzVStzL1EyUDdIQlVpMGdldWVxV2hybmpKOEFwb25tdGVSOGV2YjE3?=
 =?utf-8?B?QzdSWGl2aUQ1elBBemZZT3RNdG84dTdPNUlybWJoaUZ1WE5oL2syOWVKRldh?=
 =?utf-8?B?b2xEUC9mcjVwVk9BcUhyZ2IzeU84YmZQajFreGwzQjNhbk1SRVpWOFZsRjls?=
 =?utf-8?B?aWE3Y1liMkdEd1I0QlNpN0w2eC9XeEY5d0hSdTZxSUhsdmwzbFc3ZWYwUk1U?=
 =?utf-8?B?U1NvdXpibEtDYzR2REVYdk1VeXJmaENjR2c2eXZXT1htTGxvbDlpSjdkNjM1?=
 =?utf-8?B?eHdHRDVCUUY3NlkvQ1FHY3Jld2ZPbERwVEIwY3pCSlIyNCs2ZTRCenlZZnN2?=
 =?utf-8?B?elIvekt0YjJRRW5MZ0xRcUd1dVk5RC9KTHUrSGJSOXVJMG5sZ093bXoyc2RP?=
 =?utf-8?B?UGh1K2hBdmV6THlxcm9RR2dFdXl4VlRaeXNSblJCQ1JmT3NpQXVtekJUcnN5?=
 =?utf-8?B?Tko5aHh0VjY4NXFBSy9sdWFKdlQxckY5a0F2RXZDaWlYWWE2cGs2NkJHREZO?=
 =?utf-8?Q?PngzbltPO46tupIfI/jYdR+ogR6xF13/?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cEh1ZGJGVnRxcWRhU1B5c0ZTdDdaaUpTZ05XODlkdm00VzVlKzdyOGtXb1pC?=
 =?utf-8?B?VlliVmVGeFFLSEN5Vk5ERDZmV1JuaDdkQ2tlWFBaZWJsUVAvVE96eVkvSmRm?=
 =?utf-8?B?ekN0MzFMQXRjNnJjc2NiQmtybjdOVnl3dXJvZVI0eWpVOUl5TWRkc2RJRzla?=
 =?utf-8?B?TWlWd1FnV1dUZWNwak5LVDZmamEvdGdQMGRzQ2JEMVd3RUdRNlFaQ0QzdlZC?=
 =?utf-8?B?Vm5Bdmd2NDdFcWdBY3BYcmw3WGFOQ0laRktPSDltSUNqWk1MalpvWExmR1BN?=
 =?utf-8?B?T3M3dDVkWFQxVnlRSVpON2ZmcXdOb3oycDd4RWtKYnFWRStlZ2w4ajlTSFQ4?=
 =?utf-8?B?QkhRczBpZnFDN1RZN01qbTV0MzQyenNNSGxHWGhvUEhOeUM0UTRrdkxVaDZN?=
 =?utf-8?B?djlPbDhpNWlKUzE5UXFqVUhTNy9YT3NQL3hielJxWHI1ZVA2VnpZZUNKOFh5?=
 =?utf-8?B?TWV0VER0UUpPVXMzQ2NuZElXMFRiK1ZuYnpRWEs5R0xDUHhsdldMVnhFQkg0?=
 =?utf-8?B?Wm1PRC9DYnl6eWMxRmt1L0JIL3h5cWpyejgwVURQamp6bkltVUNNaERrVFk3?=
 =?utf-8?B?M1FpajluMUYyaGw0OURxcHQyMnVDbm9hNitKY0RiR0NWZFAyYmNUM1MrR1BF?=
 =?utf-8?B?akJWVDcwdFVHUjJaNEtmT1p5ODBneVVzOHl3THA3bkRIQlZ2S1hiWnRYQmFi?=
 =?utf-8?B?UlNaR0NDbHo0K2VXZFNDOTJRSzQ5YkVHL1lId0FHOElKR3d0Yk1WY0srOUhK?=
 =?utf-8?B?UlhoZlQ2bEIzcFBRSldqM1hGeE1UK0x0UUtCR2tIVjFDUUVGNnBGZUR5MnhO?=
 =?utf-8?B?czRSb3Q4V2xYdzlWRkZSbjdLOThmcmo4Z3dKQlFHNEVSZ1hXK051NG1iazFa?=
 =?utf-8?B?RnkveU0wYkp6UUoxZE4yRmt6VThEVlE4YWxUb0hUNGtlZ2hlMkdjRld4RkZj?=
 =?utf-8?B?MjI0STJzSWhSMndXSkE0THNpL1FETTVZMkI2WjhiZFkyOW9uVjB3NkZteTZ6?=
 =?utf-8?B?L1VUWkdIK3c2NGEyKzViUWN1OE02R3ZrU3ovcnZQM2hFNnNtMkM1VXlNNUcz?=
 =?utf-8?B?VVZKOW1QVGRaQmJzaEVLeEQ0U0plOWo3WTdQRmFmeHJWWGR2L3c3a3puTVFl?=
 =?utf-8?B?dWs0SGZ0dUlDektvLzRPRmJkTXFhbHM4c3lRenhxWklRSjhkTzBucjBwN1Nv?=
 =?utf-8?B?UUd1NjF4NHNmdE4vUmI3VVRwL0ljbVNSM0xWRHorR29CWW14NGd1S1ZhYitL?=
 =?utf-8?B?OURrUzB3amFDYWUxT2M1QkZkeCsrQS9oZVkxWEhKbklNV2NuU2hJd0JBelE1?=
 =?utf-8?B?dmljWC91Zi9mQjY5QmYxSTNwR1NLaGFVL0lqbU1UZ08rZk9pSVFIT0g4MkJW?=
 =?utf-8?B?dlRCeTMwSjlvbnhwRzM1RWs0ZVZBY3dRbFpZZy90ZzBMQStyekdhaER5aXIv?=
 =?utf-8?B?Ky9YY3pqU1dYVUVMOURSRE9XcHY0MkVBdG40TWxXOExocmV3K0tsMUpKZjlE?=
 =?utf-8?B?NzdEU09OQWZhRk5EYkQ1VWU4bkZjRzhMSVNtVnV0NjlMWmFyZ1JRWDBGQ3pY?=
 =?utf-8?B?VTIrSUd4YTdodVhjQ2JwVlFNd2hidlVXZUo3eldUT3M3Vy83cHluNHdyMk0r?=
 =?utf-8?B?Z2pDK0JIeHREdUtnbUYzYkRmalU5ZDd5c0J2WW5yY1hCbnhrMzdhMGF6OFAy?=
 =?utf-8?B?L09VdzU0bjlVbUY3ZXQwbHROVWhBUG5USjZjdlhsTHBPVmcvYmVraXlzZUpR?=
 =?utf-8?B?bU9zSmtwUUcxcVdtMjZ1Rk85T1NxM2ZjV1dyZ08zWVZuRnJXeEFROTVNcDdi?=
 =?utf-8?B?VS9tV0J0Vk82NFloQk9XR3hHZFBOcWJ3VThEWWpMck4wN0tSeFZYb2o0RE9v?=
 =?utf-8?B?QThsZGFpcUZBN0JMTkVZcVAxY2RpSVliQ1NEWjlOd2FXZFc1Rmp6U29JTTJF?=
 =?utf-8?B?YnJxWG9QQzVLN1BKV0xZN3ExVCtpL3JNdzVxM1YvRlI3a0ZMKzJEaVYrcWlv?=
 =?utf-8?B?MDdvVUpsRnN3QWF5ZEtmdWNKVFdiVU9GVE5ydU9KbENsSDZYQUc1VmlqTy85?=
 =?utf-8?B?bTBqNnkwdllpM0QrNXJwaTBnZDFuT21RMkRFT3JkR2czSWhKdFQ1KzFraDVF?=
 =?utf-8?Q?LXCPkIm0W54H0zgVeVZckJe5h?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 19133768-445a-4254-66be-08de0704ccac
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Oct 2025 07:23:53.1756
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 0i0zJ2KkQSlpHvcjhvv1y4Kw525ZXBqCpNQnH8NGxr1LGWJYPBa1Ia5fhNCUucIDYy1N+HS+v4dRbMcMWzLPfA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR03MB5397

On Wed, Oct 08, 2025 at 09:17:30AM -0400, Stewart Hildebrand wrote:
> On 10/8/25 10:39, Roger Pau Monne wrote:
> > I've had the luck to come across a PCI card that exposes a MSI-X capability
> > where the BIR of the vector and PBA tables points at a BAR that has 0 size.
> > 
> > This doesn't play nice with the code in vpci_make_msix_hole(), as it would
> > still use the address of such empty BAR (0) and attempt to carve a hole in
> > the p2m.  This leads to errors like the one below being reported by Xen:
> > 
> > d0v0 0000:22:00.0: existing mapping (mfn: 181c4300 type: 0) at 0 clobbers MSIX MMIO area
> > 
> > And the device left unable to enable memory decoding due to the failure
> > reported by vpci_make_msix_hole().
> > 
> > Introduce checking in init_msix() to ensure the BARs containing the MSI-X
> > tables are usable.  This requires checking that the BIR points to a
> > non-empty BAR, and the offset and size of the MSI-X tables can fit in the
> > target BAR.
> > 
> > This fixes booting PVH dom0 on Supermicro AS -2126HS-TN severs with AMD
> > EPYC 9965 processors.  The broken device is:
> > 
> > 22:00.0 SATA controller: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] (rev 93)
> > 
> > There are multiple of those integrated controllers in the system, all
> > broken in the same way.
> > 
> > Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
> > Released-Acked-By: Oleksii Kurochko<oleksii.kurochko@gmail.com>
> > ---
> > Cc: Stewart Hildebrand <stewart.hildebrand@amd.com>
> > Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> > ---
> > Changes since v1:
> >  - Introduce a DEVICE BUG prefix.
> >  - Remove extra newline.
> >  - Fix typo in commit message.
> > ---
> >  xen/drivers/vpci/msix.c | 50 ++++++++++++++++++++++++++++++++++++-----
> >  xen/include/xen/lib.h   |  3 +++
> >  2 files changed, 48 insertions(+), 5 deletions(-)
> > 
> > diff --git a/xen/drivers/vpci/msix.c b/xen/drivers/vpci/msix.c
> > index 54a5070733aa..4ddcefbcb274 100644
> > --- a/xen/drivers/vpci/msix.c
> > +++ b/xen/drivers/vpci/msix.c
> 
> Do we need to #include <xen/lib.h>?

Can do, it's the same header that has the declarations for the printk
functions that we already use in msix.c, so if it wasn't indirectly
included the file won't build already.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Oct 09 07:27:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Oct 2025 07:27:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1140335.1475250 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6l3W-0006rv-99; Thu, 09 Oct 2025 07:27:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1140335.1475250; Thu, 09 Oct 2025 07:27:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6l3W-0006ro-5y; Thu, 09 Oct 2025 07:27:18 +0000
Received: by outflank-mailman (input) for mailman id 1140335;
 Thu, 09 Oct 2025 07:27:17 +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 <SRS0=I7dU=4S=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v6l3U-0006pg-W4
 for xen-devel@lists.xenproject.org; Thu, 09 Oct 2025 07:27:16 +0000
Received: from mail-ed1-x52a.google.com (mail-ed1-x52a.google.com
 [2a00:1450:4864:20::52a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 611bd8e6-a4e1-11f0-9809-7dc792cee155;
 Thu, 09 Oct 2025 09:27:15 +0200 (CEST)
Received: by mail-ed1-x52a.google.com with SMTP id
 4fb4d7f45d1cf-639102bba31so1160251a12.2
 for <xen-devel@lists.xenproject.org>; Thu, 09 Oct 2025 00:27:15 -0700 (PDT)
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
 4fb4d7f45d1cf-639f4109046sm1733483a12.44.2025.10.09.00.27.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 09 Oct 2025 00:27:14 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 611bd8e6-a4e1-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1759994835; x=1760599635; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=J1SMvY42099/y0YZyGh2OdTCy85Qkgsn475WQMbtqas=;
        b=SUvutOYrhONr8nJ/kU9/c7r2vu0g8mdITCZFWX8D9SMmEgAaN5IqqDodOVL9PpKov4
         HkvcXdcmgFWZF/gqmhLNP/OHreBQHDZPJTVMoDBqapQqKWVtFBD40PsrLVbVwlGs3EFq
         btXXfR+KTpRZZd2E7ywk+3lUMqM1vTmKeDWcH/Hr9X4TFJJau1xcIQ9nsqW5Tew7uY1o
         axFStYBdEzAlWepiqVT00OhvJvQlcCL4QTfiAm3HrvQkIOr7FertIhq6GWeCzcR6i/yv
         bqhns7XsuF/mE7HhzSbEzAcYZo35r1hkBYP9CrXn+B0GLcN0ja+pDbgfCo5Mqxr2J8bQ
         qSNA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759994835; x=1760599635;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=J1SMvY42099/y0YZyGh2OdTCy85Qkgsn475WQMbtqas=;
        b=Zs0ct2QYQ7j6SOJn5VO81LI//Hp+pEzLwKuTEqR3G48AOim3ovcgHy1K57FpE6aUT0
         W+Vy/ikG7QcZjpC4fuAd8P+rI2GtfJVVRgBlrDMG93QqfNF8dP1OFIhhoEIzIVdAOzIM
         3CvB21+aFMTn96b63HcZz8LZ2117MDoW1pVS/UTc9mdLcMFaUkSREO9bIizeUPDe8gU+
         juHO2s+4uwBVVmUWS0x99/oE1FpX6MfEl9+Jozt/PuyxfHcoxROsmx5rohD1qhChpqKg
         apPiYxf5E7IgpwfbM+o4Lk2spBb3+ODEx4rN6r026qreqhLJ3vCwsWoE4ZUd8sVQEEz1
         NfXQ==
X-Forwarded-Encrypted: i=1; AJvYcCW8q5QaP7jd4rWaDF/suKyzqN7IG42gFp9iksZiOB1tghduNY4HC9dYN/jaZ6rfN6XwnHjyIK/lNYA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxKxKcg/+Ur4HAYa00+FjAv72vFeOyuJnePQMKcowUWTV5rdDYW
	CBJdlYuKxF+cP/K+6EdfKZ5el4yKB0a2ZpPognGNqgWRCEPHw6BcjQCMckkCSFx1pjZ2Zs8L9e3
	gYkU=
X-Gm-Gg: ASbGncs0r3bLZS22V+YRdj4PFhZtHsm3bmFaMAdf+Tl1BPmJaz07Wc4iIqYS7sKcRRZ
	RE3GByx6IiGWl+fkBjHcUzFEyupJNTdEMIwKkDpybLGKAMMuACHqI3/dexHrLCZbrVm7cJzvML8
	+hG/cQe8lcNv0N5sTmjl0zc4Hp5LQ9rgStncuDOiZMCQarM62tyBSNk2C+qa+CkubOp3c0GIXBm
	l3TnWivWpfBt8haBqANSokG/5nxPMnZpI6Jv0YIG9C/tN03l+1vkxviKOm7avZxyU0gGm5qmet5
	eytNw9PtfheSDQ21p5QfG0c9FCt3bMISB6aTuRyFcNitX4m26qD63Mh6EhQZACGzva3VHfleAmz
	TiFm1UlWtk7zh5lxNs/1c2hARvpbnSkrlzXHAwIvu632MzhNbDQfE1QmAVOymDpeashsNdxpp9Y
	99TUncozia1lk2PZzh6xfqNlhuGw7+KZr6H3q/ZS5TKQ==
X-Google-Smtp-Source: AGHT+IFrGSqUM19oN9BbWX+X1OLID+3qzhS0nLTeV/IUqDE19E6TpJNMzuNjTH5nk1bOWTE9ey9swQ==
X-Received: by 2002:a05:6402:35ce:b0:637:ef27:c659 with SMTP id 4fb4d7f45d1cf-639d5b57917mr5423587a12.4.1759994834768;
        Thu, 09 Oct 2025 00:27:14 -0700 (PDT)
Message-ID: <6e02a475-4c80-4d4c-a247-0166591e3696@suse.com>
Date: Thu, 9 Oct 2025 09:27:13 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21 1/2] x86/AMD: avoid REP MOVSB for Zen3/4
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <8ecbf8b7-91fe-4f9e-9542-7ec22b6a47bb@suse.com>
 <6bcaa5b7-4e34-40c9-85e6-48a0a5869b86@suse.com>
 <f35a2153-a7f7-4d52-bffb-f2e0232a0b73@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <f35a2153-a7f7-4d52-bffb-f2e0232a0b73@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 08.10.2025 18:33, Andrew Cooper wrote:
> On 25/09/2025 11:46 am, Jan Beulich wrote:
>> --- a/xen/arch/x86/copy_page.S
>> +++ b/xen/arch/x86/copy_page.S
>> @@ -57,6 +57,6 @@ END(copy_page_cold)
>>          .endm
>>  
>>  FUNC(copy_page_hot)
>> -        ALTERNATIVE copy_page_movsq, copy_page_movsb, X86_FEATURE_ERMS
>> +        ALTERNATIVE copy_page_movsq, copy_page_movsb, X86_FEATURE_XEN_REP_MOVSB
>>          RET
>>  END(copy_page_hot)
> 
> Hmm.
> 
> Overall I think this patch is an improvement.
> 
> But, for any copy_page variants, we know both pointers are 4k aligned,
> so will not tickle the problem case.

Then I fear I still haven't understood the bad "may overlap" condition.
I thought that with the low 12 bits all identical in a page-copy, this
case would _specifically_ trigger the bad behavior.

> This does mess with the naming of the synthetic feature.

Short of better naming suggestions, I would keep it as is.

>> --- a/xen/arch/x86/cpu/amd.c
>> +++ b/xen/arch/x86/cpu/amd.c
>> @@ -1386,6 +1386,10 @@ static void cf_check init_amd(struct cpu
>>  
>>  	check_syscfg_dram_mod_en();
>>  
>> +	if (c == &boot_cpu_data && cpu_has(c, X86_FEATURE_ERMS)
>> +	    && c->family != 0x19 /* Zen3/4 */)
> 
> Even if this is Linux style, && on the previous line please.

No, precisely because it is Linux style. If and when we change the file
to Xen style (which probably we should), such operators would move.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 09 07:45:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Oct 2025 07:45:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1140351.1475261 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6lLJ-0001GC-Pi; Thu, 09 Oct 2025 07:45:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1140351.1475261; Thu, 09 Oct 2025 07:45:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6lLJ-0001G5-Mq; Thu, 09 Oct 2025 07:45:41 +0000
Received: by outflank-mailman (input) for mailman id 1140351;
 Thu, 09 Oct 2025 07:45:40 +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 <SRS0=I7dU=4S=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v6lLI-0001Fz-E8
 for xen-devel@lists.xenproject.org; Thu, 09 Oct 2025 07:45:40 +0000
Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com
 [2a00:1450:4864:20::32b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f2d46f7c-a4e3-11f0-9d15-b5c5bf9af7f9;
 Thu, 09 Oct 2025 09:45:38 +0200 (CEST)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-46e3cdc1a6aso5000935e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 09 Oct 2025 00:45:38 -0700 (PDT)
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-46faf111a15sm33656575e9.7.2025.10.09.00.45.37
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 09 Oct 2025 00:45:37 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f2d46f7c-a4e3-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1759995938; x=1760600738; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=L2N+/TIqHBj42hNIBMLZRF7/eORmxb3TeXjzn3TTWA0=;
        b=fRC8wPgv7yvKHE/9Y0KdjUwWOomnayiAoSl1H9cLJUhUKtul6ECNbyVqYQgaHok0Fn
         p88MJlMqr0Ok4pLlL5NHinh04glIFvxTgSyguFJujt8PbuzafWvtk8c8VMG8v2Dcx/WF
         JaaPNrgqdwJOq7IMdPhTDGV8Qgj25LfpNmJIQbPvbX2adRDxxQgxUMXRuPLuFpmVEYf4
         GJlsGXQREstd6OeQRmEchnFx/UH2Atpq4tQ5RX6Yrx9eC9mb35hF+YwBj/Wd40ublGz5
         XeGf0prAcykx/g8BgATzGHPDnUHsZGly7JtHU0r9s3tX1OWEFksC2l3t+N6JqvrLNxK7
         DOkw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759995938; x=1760600738;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=L2N+/TIqHBj42hNIBMLZRF7/eORmxb3TeXjzn3TTWA0=;
        b=pwr/irlOYBA+TIa8k710OydM7kpCCWRr+qTF7LjCoBCYEQPrpqzkcr4S9vn8Je9uW9
         UdZRl4qJY9h8p9TPHMK5NJOboS15N+T90N+SlyO1rOzB6pEQuSuAYZh9ynZ0KTFStsUx
         FiatWTjX3IK3W0QN7T3MDoluXHGLjwyUw9c4qqShNlVCPYRuVSPJS4Az3mG4TCnO96J4
         YcLO+NHKscfpAUqZg5Jzxlm68mvT72aNRjiikPizGHGJbHZnnTKdt8yVW91H7Nfcc8z0
         V2yFASe3WtyDCEZf1mGWRgDrLyGJXh0ojX23OpdoBuQEBFluCoIWa85BcRIcQlga2Bua
         1VAQ==
X-Forwarded-Encrypted: i=1; AJvYcCV/beXo9v1HsRdTuW+UyKw5EA/kbI3l5yBKEeFAy/dGsJOSIG5qOOaZ/AQJyKPkjRGOjWqMBxRL8Yo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzZGZgn9RDNfCX2XNvvPVwtrTRMbO/+T/rXG3TBZQW5ddZdxI2E
	noSnapgj6x9IPnvN1NpHg8MtfCG6zktSEgsypKOwE7VUUAqltWfjfcPiFrOkt4WdYg==
X-Gm-Gg: ASbGncsZ5LvSYNOVuSuwQH9OsRL1cGpTP52nPH+eET6vBRcclURaRRpYsF6FMA/SsDk
	v8wiokZGg8kQfOXVzhHcRy32/4jgW+41zfUSvnSsUvJbAFKbnX1cMhJRHtzNb4EkEHlqN1Yqu5f
	ebVM4AhnSakRiCdOrr5O+TQNtvtQG5nwDFuQQBFj9sZv86N9aeyiK1r+vZTKuJpqLSkhYoa95li
	Dk3yAxciMLf2FZexZhkvSso3z8VLhmcaEXif1X0TQJZYwJBd7WuC1So9tarw6MQr7+MtoXfJwBI
	GIShqIjRYGUjf5/k+eYEQ7wcyUU6ylfdHIjiCDZqiBju0mQPfggahBJXMnSt31RtxzoLL6KJUml
	IqRDaN26qaqPuzM4iLJjEuX3cJUgqgsf7rOacmMaaq4qg/lZFwLfZ/VGeujk+JyvQF9RgDwUdEb
	3lDzKTtPDc7z9KtqJ/oLQE9FVbD4/PGX1BAV4LMKHEGg==
X-Google-Smtp-Source: AGHT+IEyl3zqL3ML9iFoSZ4JEcp3q5zv8GjlN5U0EriFXDOkpRQFIiktcJTmJw1o8njVXb29V8WZew==
X-Received: by 2002:a05:600c:4ed4:b0:46d:1a9b:6d35 with SMTP id 5b1f17b1804b1-46fa9ec7718mr51707375e9.14.1759995938137;
        Thu, 09 Oct 2025 00:45:38 -0700 (PDT)
Message-ID: <60f4c0b0-de20-40ce-bf61-e8ec6fa54460@suse.com>
Date: Thu, 9 Oct 2025 09:45:37 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] x86: guard synthetic feature and bug enumerators
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <8ecbf8b7-91fe-4f9e-9542-7ec22b6a47bb@suse.com>
 <48dcc0e0-2772-49b9-9383-5bf69f922053@suse.com>
 <3601abf2-c556-4126-9e42-1c08803e2613@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <3601abf2-c556-4126-9e42-1c08803e2613@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 08.10.2025 19:19, Andrew Cooper wrote:
> On 25/09/2025 11:48 am, Jan Beulich wrote:
>> --- a/xen/arch/x86/include/asm/alternative.h
>> +++ b/xen/arch/x86/include/asm/alternative.h
>> @@ -70,12 +70,12 @@ extern void alternative_instructions(voi
>>                      alt_repl_len(n2)) "-" alt_orig_len)
>>  
>>  #define ALTINSTR_ENTRY(feature, num)                                    \
>> -        " .if (" STR(feature & ~ALT_FLAG_NOT) ") >= " STR(NCAPINTS * 32) "\n" \
>> +        " .if (%c" #feature " & " STR(~ALT_FLAG_NOT) ") >= " STR(NCAPINTS * 32) "\n" \
>>          " .error \"alternative feature outside of featureset range\"\n" \
>>          " .endif\n"                                                     \
>>          " .long .LXEN%=_orig_s - .\n"             /* label           */ \
>>          " .long " alt_repl_s(num)" - .\n"         /* new instruction */ \
>> -        " .word " STR(feature) "\n"               /* feature bit     */ \
>> +        " .word %c" #feature "\n"                 /* feature bit     */ \
>>          " .byte " alt_orig_len "\n"               /* source len      */ \
>>          " .byte " alt_repl_len(num) "\n"          /* replacement len */ \
>>          " .byte " alt_pad_len "\n"                /* padding len     */ \
>> @@ -127,14 +127,14 @@ extern void alternative_instructions(voi
>>   */
>>  #define alternative(oldinstr, newinstr, feature)                        \
>>      asm_inline volatile (                                               \
>> -        ALTERNATIVE(oldinstr, newinstr, feature)                        \
>> -        ::: "memory" )
>> +        ALTERNATIVE(oldinstr, newinstr, [feat])                         \
>> +        :: [feat] "i" (feature) : "memory" )
> 
> I don't understand.Â  How is this related to putting the guard in place?

The change here is needed to fit the change to ALTINSTR_ENTRY() above. That
change in turn is needed because

#define X86_SYNTH(x) (FSCAPINTS * 32 + (x) + X86_CHECK_FEAT_NR(x, SYNTH))

with

#define X86_CHECK_FEAT_NR(x, n) BUILD_BUG_ON_ZERO((x) / 32 >= X86_NR_ ## n)

now needs to be evaluated by the compiler. If we used stringification as
before, the assembler would get to see BUILD_BUG_ON_ZERO().

>> --- a/xen/arch/x86/include/asm/cpufeatureset.h
>> +++ b/xen/arch/x86/include/asm/cpufeatureset.h
>> @@ -12,8 +12,13 @@ enum {
>>  };
>>  #undef XEN_CPUFEATURE
>>  
>> +#if __GNUC__ >= 15
>> +#define XEN_CPUFEATURE(name, value) asm (".equ X86_FEATURE_" #name ", %c0" \
>> +                                         :: "i" (X86_FEATURE_##name));
>> +#else
>>  #define XEN_CPUFEATURE(name, value) asm (".equ X86_FEATURE_" #name ", " \
>>                                           __stringify(value));
>> +#endif
> 
> Again - why are we making a no-op change for the sake of it?

See above.

>> --- a/xen/arch/x86/include/asm/pdx.h
>> +++ b/xen/arch/x86/include/asm/pdx.h
>> @@ -13,9 +13,9 @@
>>      asm_inline goto (                               \
>>          ALTERNATIVE(                                \
>>              "",                                     \
>> -            "jmp %l0",                              \
>> -            ALT_NOT(X86_FEATURE_PDX_COMPRESSION))   \
>> -        : : : : label )
>> +            "jmp %l1",                              \
>> +            [feat])                                 \
>> +        : : [feat] "i" (ALT_NOT(X86_FEATURE_PDX_COMPRESSION)) : : label )
> 
> Not a bug in this change, but the pre-existing use of positional labels
> is something I was expecting not to introduce at all seeing as we
> started cleanly with named labels.
> 
> The jmp wants to be:
> 
> Â  "jmp %l" #label
> 
> to cope with the fact it's a macro parameter too.

Unrelated change? I can of course do the adjustment in a separate prereq
patch, but then it would have been nice if you had commented along these
lines before that code actually had gone in.

That said, isn't it at least bad practice to not expose the label use to
the compiler? To avoid using positional operands, shouldn't we rather
name the operand, and then use "jmp %l[whatever_the_name]"? That's a
change I could see as being justified to do right here, rather than in a
separate patch.

>> --- a/xen/arch/x86/include/asm/spec_ctrl.h
>> +++ b/xen/arch/x86/include/asm/spec_ctrl.h
>> @@ -73,7 +73,7 @@ static always_inline void spec_ctrl_new_
>>  
>>      /* (ab)use alternative_input() to specify clobbers. */
>>      alternative_input("", "DO_OVERWRITE_RSB xu=%=", X86_BUG_IBPB_NO_RET,
>> -                      : "rax", "rcx");
>> +                      "i" (0) : "rax", "rcx");
>>  }
> 
> As the comment says, this is already an abuse of the macro for a purpose
> it wasn't intended for.
> 
> Now requiring an extra "nop" parameter to get the abuse to compile is
> too far.Â  It can turn into a plain ALTERNATIVE(), and then both disappear.

Except that, for the reasons explained further up, I'd rather not see new
explicit uses of ALTERNATIVE() appear. In the end it's not clear which
one is the lesser evil. Maybe we should gain alternative_clobber()?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 09 07:52:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Oct 2025 07:52:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1140367.1475270 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6lRL-0002zn-Gh; Thu, 09 Oct 2025 07:51:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1140367.1475270; Thu, 09 Oct 2025 07:51:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6lRL-0002zg-E9; Thu, 09 Oct 2025 07:51:55 +0000
Received: by outflank-mailman (input) for mailman id 1140367;
 Thu, 09 Oct 2025 07:51:53 +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 <SRS0=I7dU=4S=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v6lRJ-0002za-P4
 for xen-devel@lists.xenproject.org; Thu, 09 Oct 2025 07:51:53 +0000
Received: from mail-wr1-x433.google.com (mail-wr1-x433.google.com
 [2a00:1450:4864:20::433])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d0dd1ee0-a4e4-11f0-9809-7dc792cee155;
 Thu, 09 Oct 2025 09:51:51 +0200 (CEST)
Received: by mail-wr1-x433.google.com with SMTP id
 ffacd0b85a97d-3ecde0be34eso925283f8f.1
 for <xen-devel@lists.xenproject.org>; Thu, 09 Oct 2025 00:51:51 -0700 (PDT)
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-46faf4210d2sm32549975e9.1.2025.10.09.00.51.50
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 09 Oct 2025 00:51:50 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d0dd1ee0-a4e4-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1759996311; x=1760601111; 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=9lsah7bqeRTmWwDQipjs94/f6hLwWES6iK98Kkrh3HE=;
        b=J0WTimt19f4sF40/7ba2T547uCoyVoJIwKtujUIKUapNkuLehhU2ztiJek93RmaW+r
         VBSiffW+CGoOxteKGWb0YHUxunHVaXA0twMFPjQy4mDEw2uHv3yOTgIl0jsp3Vy0UJca
         Xzk4BXtIkd/QabYBPtAtQ/KG4sSFwGhB4N66jtc6rJVDrcO3mRRRNKtYMTzwsvaN2Fxm
         XAL2bMR5rP0JBwmjOgeBtcD2JwMXKu4xCxQpXtcR0yZSupuu5bBAfAmhnGJCFS4nFgvW
         dL0cNF6GpkhtZ+NYIwmtupfxWuQw9REtnf5R7yILCrvzI7TOOTQjEokRc9Y6HkcOzzoP
         9eAA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759996311; x=1760601111;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=9lsah7bqeRTmWwDQipjs94/f6hLwWES6iK98Kkrh3HE=;
        b=xUjRANAkONdWluDWBBgKj0geGcCNhXYW9YBpsuGGmDv5L9oogL3ixiUvg+GYOQiBP/
         6oSbeY8c9B3yiKp+UTvroNfdHJ9+leQPDqREV5yyheKOjRbk2TdYha/SnjOaYJuXT2rQ
         HTc4T9mFCi08NGJoGAEguH2dAWDo9OMx/TquBrEer1PCtyZFtjopMDWb8BZYmxRJx/ve
         Z7ynHDJeE3yHM4h6qelbMDXcrDaWBvPSZ/FeOsWv5k7nbE0eAHB0c3/IH/WcGg3z6ZUA
         zK4hA8K2bMQ7AkDS8tWEyhLySCdXHHooiD3cwMmsVPq+0Vz8aInE/UdbNRcUXlFsp4yh
         oFTQ==
X-Forwarded-Encrypted: i=1; AJvYcCVTep7Nz84yEHBqCS8y1PEaoJtBYd9jrv1paW6itGEQiJ/t9zAKERCqrsjWH59HM4cHNdlRz1e+X04=@lists.xenproject.org
X-Gm-Message-State: AOJu0YywS2xQkoQUpz8hQGEV3k9UlN1xXjkStsJZdD99sCdXLxJXJF89
	iJTgw8LCAjhH0aY3/yjFaBXUlJQp4doHeLn8idDAPxsDweLhPjljZbKnA/AwvRH55g==
X-Gm-Gg: ASbGncvcFWJqkqrgRsN0+Es2X7xICY0BHqWvr6aJMAlvPth1CiojI6/6D6fVQYbrul5
	+XsdAHATQNRhaly6dqGG3LR7uPfTct22w75C1z5ZG1BC9A5wC7MBrTQf4jKf97owlNw+P3rRsgl
	kWyrylq/7/u0Lpf6KiHQXzqRdIKcGl2TMtlqrib+Poi8kOcrCdY5We01fnh01J62wuTkjgo3aJP
	bjDBCJS9hUV9PZhHpMfOTzvikF6G+xHjKlqbQOAzvdwfzPIn4RLVKg/60sgrs8r/Up+6QRd4tvd
	1ipQF4ClUcL81i+0oU+LMztcjgRnmSmzCFoQxTxRDmRXE36/a5bpOF3pqdweodSz/B03pup248i
	P1seCDpmY0mo3FVA9xwG6HHyAKeMzF8DoEqeoD+ltl81dpGOJEToZrdtSeHHHoGXWWww0p/fP8b
	Vr2dY8ZkkSbKn1oSqTIW+Ut4YOfESO9MMBsOD/20Uwww==
X-Google-Smtp-Source: AGHT+IEkuK6REC0Y6s/V+z8l0IsrVwLnEOjUQNPcDm2BFeZeIdzPfm9VPA1AbNAEZT51Jk9sTN59Ow==
X-Received: by 2002:a05:6000:40c8:b0:410:f600:c35e with SMTP id ffacd0b85a97d-425829b0561mr5974079f8f.8.1759996310720;
        Thu, 09 Oct 2025 00:51:50 -0700 (PDT)
Message-ID: <b3a2701c-5954-4bde-a4a3-859d9a7a40e3@suse.com>
Date: Thu, 9 Oct 2025 09:51:49 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] x86: guard synthetic feature and bug enumerators
From: Jan Beulich <jbeulich@suse.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <8ecbf8b7-91fe-4f9e-9542-7ec22b6a47bb@suse.com>
 <48dcc0e0-2772-49b9-9383-5bf69f922053@suse.com>
 <3601abf2-c556-4126-9e42-1c08803e2613@citrix.com>
 <60f4c0b0-de20-40ce-bf61-e8ec6fa54460@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: <60f4c0b0-de20-40ce-bf61-e8ec6fa54460@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 09.10.2025 09:45, Jan Beulich wrote:
> On 08.10.2025 19:19, Andrew Cooper wrote:
>> On 25/09/2025 11:48 am, Jan Beulich wrote:
>>> --- a/xen/arch/x86/include/asm/pdx.h
>>> +++ b/xen/arch/x86/include/asm/pdx.h
>>> @@ -13,9 +13,9 @@
>>>      asm_inline goto (                               \
>>>          ALTERNATIVE(                                \
>>>              "",                                     \
>>> -            "jmp %l0",                              \
>>> -            ALT_NOT(X86_FEATURE_PDX_COMPRESSION))   \
>>> -        : : : : label )
>>> +            "jmp %l1",                              \
>>> +            [feat])                                 \
>>> +        : : [feat] "i" (ALT_NOT(X86_FEATURE_PDX_COMPRESSION)) : : label )
>>
>> Not a bug in this change, but the pre-existing use of positional labels
>> is something I was expecting not to introduce at all seeing as we
>> started cleanly with named labels.
>>
>> The jmp wants to be:
>>
>> Â  "jmp %l" #label
>>
>> to cope with the fact it's a macro parameter too.
> 
> Unrelated change? I can of course do the adjustment in a separate prereq
> patch, but then it would have been nice if you had commented along these
> lines before that code actually had gone in.
> 
> That said, isn't it at least bad practice to not expose the label use to
> the compiler? To avoid using positional operands, shouldn't we rather
> name the operand, and then use "jmp %l[whatever_the_name]"? That's a
> change I could see as being justified to do right here, rather than in a
> separate patch.

Hmm, no, labels can't be named; they are their own names. I.e. what I think
we want here is "jmp %l[" #label "]".

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 09 08:51:00 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Oct 2025 08:51:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1140390.1475280 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6mMJ-0002eQ-Rp; Thu, 09 Oct 2025 08:50:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1140390.1475280; Thu, 09 Oct 2025 08:50:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6mMJ-0002eJ-Oz; Thu, 09 Oct 2025 08:50:47 +0000
Received: by outflank-mailman (input) for mailman id 1140390;
 Thu, 09 Oct 2025 08:50:47 +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 <SRS0=I7dU=4S=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v6mMI-0002e9-VW
 for xen-devel@lists.xenproject.org; Thu, 09 Oct 2025 08:50:46 +0000
Received: from mail-wr1-x431.google.com (mail-wr1-x431.google.com
 [2a00:1450:4864:20::431])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0af182ef-a4ed-11f0-9809-7dc792cee155;
 Thu, 09 Oct 2025 10:50:44 +0200 (CEST)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-42421b1514fso344419f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 09 Oct 2025 01:50:44 -0700 (PDT)
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-4255d8e9890sm33950654f8f.32.2025.10.09.01.50.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 09 Oct 2025 01:50:43 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0af182ef-a4ed-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1759999844; x=1760604644; darn=lists.xenproject.org;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id:from:to:cc
         :subject:date:message-id:reply-to;
        bh=fcC/mELzdbZN5dcKOHgzDUC1hdbIHnIT3gt/r9UxGkM=;
        b=Uyz8dEbGh95l6anT0Dw8fUgH2HPOQzDu5lw0YzQa7nh4omd+2BuS3nVl1UDKVPZRNd
         ZqUC9tbAaxz6Ez5jjqOvu7n7CnoceXSo04YsuId/dLhGLGwADy2eUjz2O8wBiPPhSK3Y
         YhIS7bZlu7N4bpYokLngev9zhj0EVj8+mzzDRIpLVSa+hJ/avZmybd5gZhGtaer3PcUu
         WdbrrGen9V8QbM1aA5VpGmbDxnENIO61Az3LHAFp2gra8OX0B6wLm4AS8vjX5bCMznI5
         7bc5Ww10Iu/L08B6c/ZyPe79h+DUHJfWN9449nEFrMXOLBMXr8ay67BVpmv7nqy5zQGQ
         LaMQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759999844; x=1760604644;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=fcC/mELzdbZN5dcKOHgzDUC1hdbIHnIT3gt/r9UxGkM=;
        b=Sqs/v7c22JYSoGMTrecqX53hrCP2UOlxHNVQ2pzhP1/TX6Kdlk0FJNncmKxG+sFVlz
         +f8yfFsjW62xTh7VzWNX6r8rXa6NeSyD/bgB10U2mMsRuWb7U+SD4j7hR1Z+AshKCAO6
         SszHXGog72pC5Gp8+QqwbyXNMXiRw6NipLz3B+i+Wk1NDal2g3vL7UJ0mQGogFbR9VMO
         CAlBtfhtmqUQk5m0soxSvhE7XbR7Q21Yq8bnR+G8r6nZsLGYOklj5ovENzqaTKEqoxZD
         jMWnR2Wo5SV3APHm4loFTjwQ55OkKo12GteDgclfXhXW+ggqgDNM5vXpPLXT+Ywx1BAz
         negw==
X-Gm-Message-State: AOJu0YyVZ40ldWnLVVrrZz4n0fXzHQmQFa/NLVQ+d0YOwiHUCIP5H2qd
	W8yDwRev3fITdF2vjj4xLOt19oqZyzlOpLMmBe0nYyJ0sFB2J0PNg0vDJGg/5uqy1mFzzOSToLL
	3j9A=
X-Gm-Gg: ASbGncuIiAbjgj7DWf8ryap2c9vWETVfQ2YK5imwOVgnwVAJb6ddG84MpKo1vo1gUcp
	husJObBGmbhtiXIxTQD5V0O6apx5bsDrExjCvffvxC2Ijv8SlXzvfuLAUswTrY6iX68xVzISVu6
	PzEqd0JEKYPmusfqvp1TEbw/aCTKMafVP6S9l0A7IkvogjTxOyFt8iPTUekledQJG8lXnnT0/o1
	guPACqq56/gXnqK8wx1Mchrx6q+f8UF0UmYNqk4342Mk0IV8CN0k1roTs8ea9NYaM7tvMzuGOYq
	ypBliitjktbvmEoRX55JCnioU6PiPsKeJSm+Xz6Nz3I0x5g6Jqkz5PR78rDBNtYLVev4j5Jkwb+
	V4beV4h/BaiFFnLwBvlBb1pWgXWJmeHbSknS7MVc9UdMboMTACrMix6ba6gDQBOvu6druerKo/I
	RCSEmgC4a4y8Te+vrK0yfFF2rsryoa5KVUoKF92T51YQ==
X-Google-Smtp-Source: AGHT+IHR37Rm77jNSf7FYLimYLBjwmrw68aoni/TFbQOXzY4zkWWZ1xJlZF7dTp8sauuarddtPiOpw==
X-Received: by 2002:a05:6000:288c:b0:40f:288e:996f with SMTP id ffacd0b85a97d-4266e8db40bmr3819637f8f.63.1759999844194;
        Thu, 09 Oct 2025 01:50:44 -0700 (PDT)
Message-ID: <2622f83a-e67b-479c-8027-5578eb066ff3@suse.com>
Date: Thu, 9 Oct 2025 10:50:42 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Jason Andryuk <jason.andryuk@amd.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86/HWP: adjust feature_hdc's section annotation
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
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The variable can be cleared (set to false) by a non-init function's error
path (hwp_init_msrs()).

Fixes: 99c4570f8209 ("cpufreq: Add Hardware P-State (HWP) driver")
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/acpi/cpufreq/hwp.c
+++ b/xen/arch/x86/acpi/cpufreq/hwp.c
@@ -21,7 +21,7 @@ static bool __ro_after_init hwp_in_use;
 static bool __ro_after_init feature_hwp_notification;
 static bool __ro_after_init feature_hwp_activity_window;
 
-static bool __ro_after_init feature_hdc;
+static bool __read_mostly feature_hdc;
 
 static bool __ro_after_init opt_cpufreq_hdc = true;
 


From xen-devel-bounces@lists.xenproject.org Thu Oct 09 09:07:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Oct 2025 09:07:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1140400.1475291 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6mcG-0004Rw-85; Thu, 09 Oct 2025 09:07:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1140400.1475291; Thu, 09 Oct 2025 09:07:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6mcG-0004Rp-4B; Thu, 09 Oct 2025 09:07:16 +0000
Received: by outflank-mailman (input) for mailman id 1140400;
 Thu, 09 Oct 2025 09:07: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
 <SRS0=qWMT=4S=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v6mcE-0004Rj-Ls
 for xen-devel@lists.xenproject.org; Thu, 09 Oct 2025 09:07:14 +0000
Received: from mail-wm1-x336.google.com (mail-wm1-x336.google.com
 [2a00:1450:4864:20::336])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 55d69f14-a4ef-11f0-9809-7dc792cee155;
 Thu, 09 Oct 2025 11:07:09 +0200 (CEST)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-46e384dfde0so6895615e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 09 Oct 2025 02:07:09 -0700 (PDT)
Received: from [192.168.1.183] (host-92-22-57-86.as13285.net. [92.22.57.86])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4255d8ab960sm33700183f8f.13.2025.10.09.02.07.08
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 09 Oct 2025 02:07:08 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 55d69f14-a4ef-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1760000829; x=1760605629; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=hAoYU24Y1fDkqkt4KWQmVPkorqzH1CjsVc/KScbissI=;
        b=KsMkVuKz390YZJd+fTP0Yflj2BgkE+9FyssJYP9rB5kfNEVL34Vu80PAyvGRxjbvuk
         iwpT5lGAjHt0wHpfVFDLCrjqnlfY4cOCL6YUTecC/27wIkg8iEcd4TU+806T/9iF5g8R
         r1IBLXfOegrILZvG0Y/10+MUCs41Mc5kMXLSc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760000829; x=1760605629;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=hAoYU24Y1fDkqkt4KWQmVPkorqzH1CjsVc/KScbissI=;
        b=vIFtypfu8wXJ/zaDSkWBoxoOYgBflP5h1AhakcPCaJjENyDGxxPmIQjRopdVD6OS2n
         gO6GOPMO/uky2picvX2LRrQHZ8xLhp3+bYy8buWEc5btATts5KctQtk2Qd/9VGsu1tK5
         Dmow7Z4oBSAgClkgAj+GIGphvXjkAWCEEYzS+Z/cMZmgaEnMghZh6t9p5gig3yZ3PmR7
         s0GoJQiuqUql8zAO7wgkUBco8VIcvFwHqBGeNnFn6/Q1OEIYy9+WeJOr65kHNKIQJhQ7
         ez2kxmlFvdIFFoYJ0QWhuwVP/3zPzlfB8xBH0KxNXGBcy1wLqF7n70+2D25uFkBwadLY
         Jqew==
X-Forwarded-Encrypted: i=1; AJvYcCVfgTyZpGBdDtXUVuqFTivKSd3EtJQLNutai2Ziev8UywkaMQ0sZVr35oesH3lQ6KxKGpKK5r8J8fo=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxi1JKy1zfMSsrNbk/yAtDDmzEbPu1ApnbiubAuSDSQ9qGURGk3
	7ZTkvAR9x69QyirambWHT4e6vIjJmMJrTF3kgDZlDUX3mb5WeP3MMXZUCZRT6nWCQIg=
X-Gm-Gg: ASbGncvkHeb+20MAzXXiNvBsD7ikyem74cwz6PerD57tGveizexWcXIYCYUCbHqi9V6
	dG9JBhKJ9NlIpntXjJBQHz4hfEYwS3odPK5SDfiCdMmRZIi6wM4fVv6ifhiIuGHJSxCzKn+nIOR
	VnGyx4Nqij20SAsSz0CLLxYUw8OiOH17DQd1mNnKBJbOjzhSPgMcogtEN14cOqDwEusOfMeckYt
	qAMUERhswdBX6bNLxXm0+tLGLMMK4F7nI13VvaPytJHioBNEZh+thGNW76AB/OM9njkiPOTwTQp
	DYpvxgIB4yFcOolN2Epg703G5ude91jweTDOLfMpmuFjFsqfpjbnGBZgNVg2AtJYDbEdLbbV0CO
	VQl5ltwQ/qdj3Wi2RmQ66scyYIRKdmgKjmdfO+OZNDIRAi41yb4XkH8qYJ8i7/M9FEnkCUc+4VD
	GjQ261N+0wcAP8
X-Google-Smtp-Source: AGHT+IEgYXEBvxXwufIq/kspEBoBWsWnGKsiCU7Hu3jc4wP9VgZ4velhqlLDTxk3atqynvfa1Nkdig==
X-Received: by 2002:a05:6000:18a9:b0:425:8bf9:d365 with SMTP id ffacd0b85a97d-4266726d560mr4733676f8f.22.1760000828730;
        Thu, 09 Oct 2025 02:07:08 -0700 (PDT)
Message-ID: <d445b2c2-0278-4ade-a14b-178a0ee0f5c5@citrix.com>
Date: Thu, 9 Oct 2025 10:07:07 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/HWP: adjust feature_hdc's section annotation
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Jason Andryuk <jason.andryuk@amd.com>
References: <2622f83a-e67b-479c-8027-5578eb066ff3@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <2622f83a-e67b-479c-8027-5578eb066ff3@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 09/10/2025 9:50 am, Jan Beulich wrote:
> The variable can be cleared (set to false) by a non-init function's error
> path (hwp_init_msrs()).
>
> Fixes: 99c4570f8209 ("cpufreq: Add Hardware P-State (HWP) driver")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

For 4.21, surely?

>
> --- a/xen/arch/x86/acpi/cpufreq/hwp.c
> +++ b/xen/arch/x86/acpi/cpufreq/hwp.c
> @@ -21,7 +21,7 @@ static bool __ro_after_init hwp_in_use;
>  static bool __ro_after_init feature_hwp_notification;
>  static bool __ro_after_init feature_hwp_activity_window;
>  
> -static bool __ro_after_init feature_hdc;
> +static bool __read_mostly feature_hdc;
>  
>  static bool __ro_after_init opt_cpufreq_hdc = true;
>  
>



From xen-devel-bounces@lists.xenproject.org Thu Oct 09 09:09:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Oct 2025 09:09:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1140409.1475302 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6meb-0004yR-KS; Thu, 09 Oct 2025 09:09:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1140409.1475302; Thu, 09 Oct 2025 09:09:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6meb-0004yK-Fp; Thu, 09 Oct 2025 09:09:41 +0000
Received: by outflank-mailman (input) for mailman id 1140409;
 Thu, 09 Oct 2025 09:09:40 +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 <SRS0=I7dU=4S=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v6mea-0004yE-AF
 for xen-devel@lists.xenproject.org; Thu, 09 Oct 2025 09:09:40 +0000
Received: from mail-wm1-x331.google.com (mail-wm1-x331.google.com
 [2a00:1450:4864:20::331])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ae9e581d-a4ef-11f0-9809-7dc792cee155;
 Thu, 09 Oct 2025 11:09:38 +0200 (CEST)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-46e491a5b96so3671775e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 09 Oct 2025 02:09:38 -0700 (PDT)
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-46faf16abf6sm37954945e9.12.2025.10.09.02.09.37
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 09 Oct 2025 02:09:37 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ae9e581d-a4ef-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760000978; x=1760605778; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=v9/Zkcqv2SvE5SKy83+xhxQFybJY5yxsugWKCnkpDC4=;
        b=ErldNZEx3s3+8qTacZdqnyK4sydinXW3jz1Ks2JVmIsZCC2MhdM0MJaAMtON8ZRKFM
         QN81Hod+vmBH5SMJ/UL29uo5uJKs1GKRlshyx+gwPxsPeiZ+t+6zFDNBh9BlGT9wvpPz
         cgx7mrt7c2yFXwAbyeq69CnitObFkiF17Fgp+Oeu3jhSqLO3HUKYTIngZL7x0v4apkLA
         n6XFAj8Qcy/AfL05aeh6QzZ9oj+TEo5VrWCX0RY7U3jsWLYW+nHckbnhk/fkdPB0JZ01
         a/xX9aq1fCdA/STzJ8cWMFdrEHYLyjBHHBLNxxVs7AveOLlhr5zYQkiFQ3GeYIWbV4dP
         9KZQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760000978; x=1760605778;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=v9/Zkcqv2SvE5SKy83+xhxQFybJY5yxsugWKCnkpDC4=;
        b=ZOVM6sjBECRezQ2EDbfSh88n1b2dIwB6/ttCkWrUjSkQrVfBJr4Z6b8SJZ3wir1IoS
         QRu3K5WfN+wUrZygP0Oy6EnlJmeZ2R7vO5shIZGbzrIwiHXA+Ij0NVFDystY4BEWHTsu
         pcxAVyMa1/t1krJGLv+3Qo5Ts2bqOaQAQwEQ81E3SgWg+AVwvXX+j2eHz9/ZwUxWvWXO
         hSuDJGHt98ajsnL1f5Gsin0esx/USwYJP67v/9RQda8RUbpX/9WXYn0BVUV4zkY1CDc6
         2uro0+m23aSP79yN7acffNtCzORBmPZKoNCHltJ6qkX48qfOolZhF6luBWsNJKGHsUxM
         pm2Q==
X-Forwarded-Encrypted: i=1; AJvYcCUT1SkwcdJ9pNf/JVn1m/rpUbv1CUha7R9KH/OMeG9qmmy1538eUuWs6jibWt/1tNGYVTIrmXzRg3k=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzEeuer9f4ODmnlWABktRtAdDeowwEUhr4Y5bvLR1YLrCKQc/OX
	IwjhZhOsbuWkEKKU5pYeQrpCL+NmuHic+lytKPaClyQbTnmPMC7WdO58az4XAirjMw==
X-Gm-Gg: ASbGnct8LuIeIjLNI3pXSJk+znbuOyeqXeMPVJWkpaOnlx2JrLV2oAILLMyktO67TNQ
	j7PR/J21blvTAHdGuPjZc/61mZ6l9AQv3TI6H7tZ4YqMqkC2+8DrIzSXPI0i5fM7+pgkIUuX+xV
	WCLN7S7/T91e1u2RNDQM8ldnj+9jc4WRs2ONHJC87TPoL3LrED1pCAaxF25+bbJKBTnDKXiQ175
	UglINpkPEMHiDIapTibzautQVG1q053LZVPLNt08qeAYobwbXebUNLKMii+qEmYBVZbdz3wi93R
	/hMMSO76w5Out3yZEtDFkuiKTiKMjqAcqz65jzoylvmldw9gshS7YOXREwrmpD3sKZu5pG5I9XR
	INFBSd2CX81+blkHF9vK3U31IWKOzfRqjVU4cfRTHtva/Ln6dvzGYnADDdRX8TzaWQKcLFKnB4q
	sjjqscCwRzux+2aExF6aXbB4Apoqy4t7O3GJSzenEkqw==
X-Google-Smtp-Source: AGHT+IHF3ZQb2bQOuvjhiQhVQZPGq4lzKHVk0V+awRKj4i5hejxVV0cs7n8NVVScpGr81uV6g05IfA==
X-Received: by 2002:a05:600c:1e8c:b0:468:7a5a:1494 with SMTP id 5b1f17b1804b1-46fa9a8ef84mr49947505e9.1.1760000977684;
        Thu, 09 Oct 2025 02:09:37 -0700 (PDT)
Message-ID: <6c4c89d5-cb17-4655-9c45-25cda9c4c6bb@suse.com>
Date: Thu, 9 Oct 2025 11:09:36 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21] x86/HWP: adjust feature_hdc's section annotation
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Jason Andryuk <jason.andryuk@amd.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <2622f83a-e67b-479c-8027-5578eb066ff3@suse.com>
 <d445b2c2-0278-4ade-a14b-178a0ee0f5c5@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <d445b2c2-0278-4ade-a14b-178a0ee0f5c5@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 09.10.2025 11:07, Andrew Cooper wrote:
> On 09/10/2025 9:50 am, Jan Beulich wrote:
>> The variable can be cleared (set to false) by a non-init function's error
>> path (hwp_init_msrs()).
>>
>> Fixes: 99c4570f8209 ("cpufreq: Add Hardware P-State (HWP) driver")
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
> 
> For 4.21, surely?

Definitely, forgot to tag it accordingly, but Cc-ed Oleksii be this reason.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 09 09:21:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Oct 2025 09:21:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1140423.1475311 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6mqK-0007ha-NH; Thu, 09 Oct 2025 09:21:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1140423.1475311; Thu, 09 Oct 2025 09:21:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6mqK-0007hS-KZ; Thu, 09 Oct 2025 09:21:48 +0000
Received: by outflank-mailman (input) for mailman id 1140423;
 Thu, 09 Oct 2025 09:21:47 +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
 <SRS0=tDLD=4S=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1v6mqJ-0007hM-Nw
 for xen-devel@lists.xenproject.org; Thu, 09 Oct 2025 09:21:47 +0000
Received: from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com
 [2a00:1450:4864:20::52c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5b0ae581-a4f1-11f0-9809-7dc792cee155;
 Thu, 09 Oct 2025 11:21:37 +0200 (CEST)
Received: by mail-ed1-x52c.google.com with SMTP id
 4fb4d7f45d1cf-636de696e18so1450450a12.3
 for <xen-devel@lists.xenproject.org>; Thu, 09 Oct 2025 02:21:37 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-146-38.play-internet.pl.
 [109.243.146.38]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-b4865a83f6csm1896851266b.31.2025.10.09.02.21.35
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 09 Oct 2025 02:21:35 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5b0ae581-a4f1-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760001696; x=1760606496; darn=lists.xenproject.org;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Ff4dO5G2nnGSM4lPvVgeqpIYqHJNKvnaYz1OSG26nII=;
        b=UBWLmyLQUv6yyu27faRfUZaM1WU3F34DmA8RaD1aeukSiwJV3OH+3LP79ykk/wOWOL
         JsciH/Pt5AceErulN6BW9f4nMkXg0zCXgTwD17ls6p7aYUG74sSKfYh9AVsTF2wun9V2
         ZSFVnecCG7kUf8nZnNS6ChgHO1FmGbHSmFo4kjqmbD5PiV4qlJIxgSjHQyNlIyfjo2D2
         rNtH3GYAAwv8riS3ojSM+ej9YXK63wK9NQxYa8ftlttD3MBtcFfkPRKie09LtyEBOlK7
         Rvipi++9Xod1Ub0u2sLXE8EIo7Fzr0F8/sELX1eo9LMkgUmWuyNpn0kAjz1hCuUvuZ1G
         nt+Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760001696; x=1760606496;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=Ff4dO5G2nnGSM4lPvVgeqpIYqHJNKvnaYz1OSG26nII=;
        b=BBnhvrqVG2ZxoAV48RoT+xhABdaiphZf02iq/ZOKGet5I4smbGrnuzBY47BJmKgI8a
         OHTFndxODEOboMt7AZiwRtVAm1n7YTUIhqmjLszDjMf3AqbmHNj86ch6BbxP8FUfvPyS
         7O/Xb2jppQiUi0f7M2ZgOhWo5MpT42pxu3e+iUgeAjyzI5GgfQf2Hg8SksUk3vEF8ZhA
         AbC0avK0GJFNsv8P0Xrn975bxi5zEOqXZRq0Kzpd3M+dfZGZd6fqArt6EqIsdeZlHI3T
         DvBmP70HmjTANSmAPLVO4xZIpnI8TDeRxJhTXrFs2tauJ6O0Ip2L7OrtXx7xsvkVcpNk
         2Dhg==
X-Forwarded-Encrypted: i=1; AJvYcCXVT6FqW964mdwfITixz7PC2kD23D1q8d9/Z2WB0+9KoWe653ozJoRM3QjwLASDmTkSQsbNbbU6v9Y=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwIJJKMFV5IKgUCyv2BXhiU/s5O+5vE9/IqSFm4CrotPf+sOBPf
	EPk98g/h2SDS6Eo60+ZH9NlwWAscO341PB3GK51Un52Zv/7PcJY5Ra4q
X-Gm-Gg: ASbGncsVzdM3ZrvMILzwhvtZs03SpdfOMYZZtwWgD6OwxMcy3FtsTCQpUQo/qjFltUQ
	fZlMoO5Cgqgr2tKVt3bbrJmTFomkjufcc5G3lxpPtxPDbqZ0v6dTGABQxjUnoPjkUhu/CVFtES9
	1NScZc4m3LOBbfrNwOWHpzSrYCwWc83lqIk2L2LxSdr2tYW9tv4S4Kj6ZXB/eDKCjZkwEPr2K5w
	Q+OHhR3n3+I93fDHQRNgUmsaQlBuQ1AY/UQLXwTKo/6xiBzlHrtmrcTDaQX16BiDs1jpMhk6/qD
	KWYt/i0H/ktQWtjsopN1Wlyk9Vrd+BrkDxjRWO43/l6rAkNYDEq3XfqwzJz57dEklc15S/6Qgu9
	rDi735EHszsQMYNg9eZQGspNQv3oVwjgH29GZR8MQLH17eD3nKVtAhErqeBuHIpSBFWb6PS1xMv
	Xy0/dSsrtEX3G9gkCjI7Uvh12jMFk=
X-Google-Smtp-Source: AGHT+IHA86AaObrRcz0ydT3b4uAB9zl9B3JJJICm+SF/RNxFbEVuE9NEpD1C8pEJwa3tdcKEiImKsQ==
X-Received: by 2002:a17:907:3daa:b0:b46:31be:e8f0 with SMTP id a640c23a62f3a-b50a9c5b3c8mr816696766b.3.1760001696163;
        Thu, 09 Oct 2025 02:21:36 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------moUjmcIwiTyaV3D0Z4WEk0Dw"
Message-ID: <08f2b98c-928e-44eb-96ee-f8566330aed5@gmail.com>
Date: Thu, 9 Oct 2025 11:21:34 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 12/18] xen/riscv: Implement p2m_pte_from_mfn() and
 support PBMT configuration
To: Jan Beulich <jbeulich@suse.com>
Cc: Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <cover.1758145428.git.oleksii.kurochko@gmail.com>
 <4495c8103548447f9a11963574a4cb9e01090e7a.1758145428.git.oleksii.kurochko@gmail.com>
 <7b51f40d-7ac7-460a-891d-afe1d9ab8991@suse.com>
 <6902c46e-c805-43aa-8753-7b6dc09716ae@gmail.com>
 <7fe4f483-ef3c-4954-9030-2c364673c9db@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <7fe4f483-ef3c-4954-9030-2c364673c9db@suse.com>

This is a multi-part message in MIME format.
--------------moUjmcIwiTyaV3D0Z4WEk0Dw
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit


On 10/7/25 3:09 PM, Jan Beulich wrote:
> On 29.09.2025 15:30, Oleksii Kurochko wrote:
>> On 9/22/25 6:28 PM, Jan Beulich wrote:
>>> On 17.09.2025 23:55, Oleksii Kurochko wrote:
>>>> @@ -318,11 +331,87 @@ static inline void p2m_clean_pte(pte_t *p, bool clean_pte)
>>>>        p2m_write_pte(p, pte, clean_pte);
>>>>    }
>>>>    
>>>> -static pte_t p2m_pte_from_mfn(mfn_t mfn, p2m_type_t t)
>>>> +static void p2m_set_permission(pte_t *e, p2m_type_t t)
>>>>    {
>>>> -    panic("%s: hasn't been implemented yet\n", __func__);
>>>> +    e->pte &= ~PTE_ACCESS_MASK;
>>>> +
>>>> +    e->pte |= PTE_USER;
>>>> +
>>>> +    /*
>>>> +     * Two schemes to manage the A and D bits are defined:
>>>> +     *   â€¢ The Svade extension: when a virtual page is accessed and the A bit
>>>> +     *     is clear, or is written and the D bit is clear, a page-fault
>>>> +     *     exception is raised.
>>>> +     *   â€¢ When the Svade extension is not implemented, the following scheme
>>>> +     *     applies.
>>>> +     *     When a virtual page is accessed and the A bit is clear, the PTE is
>>>> +     *     updated to set the A bit. When the virtual page is written and the
>>>> +     *     D bit is clear, the PTE is updated to set the D bit. When G-stage
>>>> +     *     address translation is in use and is not Bare, the G-stage virtual
>>>> +     *     pages may be accessed or written by implicit accesses to VS-level
>>>> +     *     memory management data structures, such as page tables.
>>>> +     * Thereby to avoid a page-fault in case of Svade is available, it is
>>>> +     * necesssary to set A and D bits.
>>>> +     */
>>>> +    if ( riscv_isa_extension_available(NULL, RISCV_ISA_EXT_svade) )
>>>> +        e->pte |= PTE_ACCESSED | PTE_DIRTY;
>>> All of this depending on menvcfg.ADUE anyway, is this really needed? Isn't
>>> machine mode software responsible for dealing with this kind of page faults
>>> (just like the hypervisor is reponsible for dealing with ones resulting
>>> from henvcfg.ADUE being clear)?
>> In general, I think you are right.
>>
>> In this case, though, I just wanted to avoid unnecessary page faults for now.
>> My understanding is that having such faults handled by the hypervisor can indeed
>> be useful, for example to track which pages are being accessed. However, since we
>> currently donâ€™t track page usage, handling these traps would only result in
>> setting the A and D bits and then returning control to the guest.
> Yet that still be be machine-mode software aiui. By always setting the bits we'd
> undermine whatever purpose _they_ have enabled the extension for, wouldn't we?

Itâ€™s a good point, and from an architectural perspective, itâ€™s possible that
machine-mode software might want to handle page faults.
However, looking at OpenSBI, it delegates (otherwise all traps/interrupts by
default are going to machine-mode) page faults [1] to lower modes, and I expect
that other machine-mode software does the same (but of course there is no such
guarantee).

Therefore, considering that OpenSBI delegates page faults to lower modes and
does not set the A and D bits for p2m (guest) PTEs, this will result in a page
fault being handled by the hypervisor. As a result, we donâ€™t affect the behavior
of machine-mode software at all.

If we want to avoid depending on how OpenSBI or other machine-mode software is
implemented, we might instead want to have our own page fault handler in Xen,
and then set the A and D bits within this handler.
Do you think it would be better to do in this way from the start? If yes, then
we also want drop setting of A and D bits for Xen's PTEs [3] to allow M-mode to
handle S/HS-mode page faults.

Interestingly, OpenSBI doesnâ€™t allow hypervisor mode to decide whether to
support Svade or not [2]. By doing so, we canâ€™t set|henvcfg.adue = 1| to disable
it as menvcfg.adue=0 has more power, which is not very flexible.

[1]https://github.com/riscv-software-src/opensbi/blob/master/lib/sbi/sbi_hart.c#L209
[2]https://github.com/riscv-software-src/opensbi/blob/master/lib/sbi/sbi_hart.c#L168
[3]https://gitlab.com/xen-project/xen/-/blob/staging/xen/arch/riscv/pt.c?ref_type=heads#L343

>> To avoid this overhead, I chose to set the bits up front.
> Irrespective to the answer to the question above, if you mean to do so, I think
> all of this needs explaining better in the comment.

Sure, I will add the comment if the current one approach of setting A and D bits
will be chosen.

~ Oleksii

--------------moUjmcIwiTyaV3D0Z4WEk0Dw
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 10/7/25 3:09 PM, Jan Beulich wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:7fe4f483-ef3c-4954-9030-2c364673c9db@suse.com">
      <pre wrap="" class="moz-quote-pre">On 29.09.2025 15:30, Oleksii Kurochko wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">
On 9/22/25 6:28 PM, Jan Beulich wrote:
</pre>
        <blockquote type="cite">
          <pre wrap="" class="moz-quote-pre">On 17.09.2025 23:55, Oleksii Kurochko wrote:
</pre>
          <blockquote type="cite">
            <pre wrap="" class="moz-quote-pre">@@ -318,11 +331,87 @@ static inline void p2m_clean_pte(pte_t *p, bool clean_pte)
      p2m_write_pte(p, pte, clean_pte);
  }
  
-static pte_t p2m_pte_from_mfn(mfn_t mfn, p2m_type_t t)
+static void p2m_set_permission(pte_t *e, p2m_type_t t)
  {
-    panic("%s: hasn't been implemented yet\n", __func__);
+    e-&gt;pte &amp;= ~PTE_ACCESS_MASK;
+
+    e-&gt;pte |= PTE_USER;
+
+    /*
+     * Two schemes to manage the A and D bits are defined:
+     *   â€¢ The Svade extension: when a virtual page is accessed and the A bit
+     *     is clear, or is written and the D bit is clear, a page-fault
+     *     exception is raised.
+     *   â€¢ When the Svade extension is not implemented, the following scheme
+     *     applies.
+     *     When a virtual page is accessed and the A bit is clear, the PTE is
+     *     updated to set the A bit. When the virtual page is written and the
+     *     D bit is clear, the PTE is updated to set the D bit. When G-stage
+     *     address translation is in use and is not Bare, the G-stage virtual
+     *     pages may be accessed or written by implicit accesses to VS-level
+     *     memory management data structures, such as page tables.
+     * Thereby to avoid a page-fault in case of Svade is available, it is
+     * necesssary to set A and D bits.
+     */
+    if ( riscv_isa_extension_available(NULL, RISCV_ISA_EXT_svade) )
+        e-&gt;pte |= PTE_ACCESSED | PTE_DIRTY;
</pre>
          </blockquote>
          <pre wrap="" class="moz-quote-pre">All of this depending on menvcfg.ADUE anyway, is this really needed? Isn't
machine mode software responsible for dealing with this kind of page faults
(just like the hypervisor is reponsible for dealing with ones resulting
from henvcfg.ADUE being clear)?
</pre>
        </blockquote>
        <pre wrap="" class="moz-quote-pre">
In general, I think you are right.

In this case, though, I just wanted to avoid unnecessary page faults for now.
My understanding is that having such faults handled by the hypervisor can indeed
be useful, for example to track which pages are being accessed. However, since we
currently donâ€™t track page usage, handling these traps would only result in
setting the A and D bits and then returning control to the guest.
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
Yet that still be be machine-mode software aiui. By always setting the bits we'd
undermine whatever purpose _they_ have enabled the extension for, wouldn't we?</pre>
    </blockquote>
    <pre data-start="177" data-end="444">Itâ€™s a good point, and from an architectural perspective, itâ€™s possible that
machine-mode software might want to handle page faults.
However, looking at OpenSBI, it delegates (otherwise all traps/interrupts by
default are going to machine-mode) page faults [1] to lower modes, and I expect
that other machine-mode software does the same (but of course there is no such
guarantee).</pre>
    <pre data-start="446" data-end="717">Therefore, considering that OpenSBI delegates page faults to lower modes and
does not set the A and D bits for p2m (guest) PTEs, this will result in a page
fault being handled by the hypervisor. As a result, we donâ€™t affect the behavior
of machine-mode software at all.</pre>
    <pre data-start="719" data-end="928">If we want to avoid depending on how OpenSBI or other machine-mode software is
implemented, we might instead want to have our own page fault handler in Xen,
and then set the A and D bits within this handler.
Do you think it would be better to do in this way from the start? If yes, then
we also want drop setting of A and D bits for Xen's PTEs [3] to allow M-mode to
handle S/HS-mode page faults.</pre>
    <pre data-start="930" data-end="1119">Interestingly, OpenSBI doesnâ€™t allow hypervisor mode to decide whether to
support Svade or not [2]. By doing so, we canâ€™t set <code
    data-start="1056" data-end="1074">henvcfg.adue = 1</code> to disable
it as menvcfg.adue=0 has more power, which is not very flexible.

[1] <a class="moz-txt-link-freetext" href="https://github.com/riscv-software-src/opensbi/blob/master/lib/sbi/sbi_hart.c#L209">https://github.com/riscv-software-src/opensbi/blob/master/lib/sbi/sbi_hart.c#L209</a>
[2] <a class="moz-txt-link-freetext" href="https://github.com/riscv-software-src/opensbi/blob/master/lib/sbi/sbi_hart.c#L168">https://github.com/riscv-software-src/opensbi/blob/master/lib/sbi/sbi_hart.c#L168</a>
[3] <a class="moz-txt-link-freetext" href="https://gitlab.com/xen-project/xen/-/blob/staging/xen/arch/riscv/pt.c?ref_type=heads#L343">https://gitlab.com/xen-project/xen/-/blob/staging/xen/arch/riscv/pt.c?ref_type=heads#L343</a>

</pre>
    <blockquote type="cite"
      cite="mid:7fe4f483-ef3c-4954-9030-2c364673c9db@suse.com">
      <pre wrap="" class="moz-quote-pre">
</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">To avoid this overhead, I chose to set the bits up front.
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
Irrespective to the answer to the question above, if you mean to do so, I think
all of this needs explaining better in the comment.</pre>
    </blockquote>
    <pre>Sure, I will add the comment if the current one approach of setting A and D bits
will be chosen.

~ Oleksii</pre>
  </body>
</html>

--------------moUjmcIwiTyaV3D0Z4WEk0Dw--


From xen-devel-bounces@lists.xenproject.org Thu Oct 09 11:34:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Oct 2025 11:34:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1140469.1475337 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6ouc-0006Fx-NQ; Thu, 09 Oct 2025 11:34:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1140469.1475337; Thu, 09 Oct 2025 11:34:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6ouc-0006Fq-JR; Thu, 09 Oct 2025 11:34:22 +0000
Received: by outflank-mailman (input) for mailman id 1140469;
 Thu, 09 Oct 2025 11:34:21 +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
 <SRS0=tDLD=4S=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1v6oua-0006Fk-UX
 for xen-devel@lists.xenproject.org; Thu, 09 Oct 2025 11:34:21 +0000
Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com
 [2a00:1450:4864:20::630])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e470885a-a503-11f0-9809-7dc792cee155;
 Thu, 09 Oct 2025 13:34:18 +0200 (CEST)
Received: by mail-ej1-x630.google.com with SMTP id
 a640c23a62f3a-b3b3a6f4dd4so155429666b.0
 for <xen-devel@lists.xenproject.org>; Thu, 09 Oct 2025 04:34:18 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-146-38.play-internet.pl.
 [109.243.146.38]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-b5000eddfd9sm595835466b.0.2025.10.09.04.34.16
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 09 Oct 2025 04:34:17 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e470885a-a503-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760009658; x=1760614458; darn=lists.xenproject.org;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=MGuzEHFiOxBpaLR/eGzw9doCnnrqxK9+ztgOGieGKYw=;
        b=nCRKYDdJdyFxGAvLR6u0cgyp17u44ICDbTe+He4EWTE5M4z1tpVPNEQzSow9oHQ8J5
         LVJp+EIvvJWBqp6WtXyPCflSdNt+GSYVvER/arR/7k6oQT71IGZlzAF9meecLX2fdNtV
         FEFaJEwvPwl22d3UtW2fXJVyJ/PXTOv0SPF9XL9QKQ0mNjTojNUBS/rhI9tmT44yBgr9
         hUSoMXpxKqmPXo39KGC5PfbNu5ATZFzn1qo1iW+xMSFyS43JWjvTaCgRWB3SYGrLKEKt
         H027YThJrCCSmFKnuLZBNgxAlavQ6QhDZaRIuiDMfZ/uNAac0Yb1kR6rp4BxD5J6+CPu
         0OhQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760009658; x=1760614458;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=MGuzEHFiOxBpaLR/eGzw9doCnnrqxK9+ztgOGieGKYw=;
        b=DnYFp/p6ihfb/FNxTPJDfl1h23/WgnQ3S2B2HAgKjDEp6+WJz1QTbvtnSSw8aDSnW8
         bFki8MIgfo5Ak1VTwfIFJnip5jHEK+d2ELHrIozpkepQ7dzERQ5oB6qrwPL1V6lIlcst
         G/HZ65zaj3WtOI4xYfpWPmH2BS3A4UO2DEAlJ2fwdlRATIpBhZPTxknAAdNQvQiWeOpj
         fTgDH63/1qBbqSKYYcakyh+L8OjmKkq9I2q6BnbqwzA95qgHEZSKISUxTgtpeeWf1D0O
         PeuJx72wXSdJjE1abOOEKc8wDZQYG7FORSq4sYnZjahAfY/tomjz8Ui+/vwaNUsq5C80
         Aweg==
X-Forwarded-Encrypted: i=1; AJvYcCXjqUc5tXMhqQKJY0C3AQk7GcIKJzSuGMWYEMrmaOxzUT3HuRyQQ9/XNj9LgNslpZ/u6JjZcY2QGpE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwqZg8tKyurWLUL+mUbeCkWOYSBQvna2id23J+FUbdOQBCnDygm
	9nECHjBDbNSGU/TYVWcugXcQkn9/WGZxbSece5gpY6LKrIkkyS9sSpHM
X-Gm-Gg: ASbGncvJhNZ2rl6UWfUNx4Eg2DQX0TayjdHkJ0/7bMCcOvhT1SWO05JtZKdPqMzHk2i
	85Ug2kTDff6300mf/zSnCGrDrE2hjxAHUlojQMKeBym+ajWcpWAMk3Cphcls4oY37LzAWgBFI/6
	xkgDAIhYzY4OWWCukno4pJVJoGOJQnNg4hkk6iH0WNV0DMPkGfynivsePFIHpDAD6MdDQa3uAVu
	cDYakmBBNhpQrHBKhPktntHJ8YdjsfVNaOQbIsZ53cnNfS24NGWfIA/AJZg1FA43BecPtVYM0Qj
	6LUbfSPA2Y4oOLgJ5oXQVR3brlkiaew8JGJw/JBg/6i8AxEm7HoodHCTy+OnPaGOscfvnF7E5L0
	2YxoadTjLNJEL4+evVDISykHnD8Tgw9QwExQLTKdHQ6Ldhe2trBStBeAZ4VxGEbPxVvWUzCi7Sb
	69AIuGl3O7L/QJeH/N5vLW0uz8lvg=
X-Google-Smtp-Source: AGHT+IGfCbtdYMO7eW0IOyI92dKyXtjfR2bsMwpsdFjgJuuEHJlR8Bxxu/W92MD+KaDV94GsVKbB1w==
X-Received: by 2002:a17:906:f5a6:b0:b3e:9818:30e0 with SMTP id a640c23a62f3a-b50ab08a127mr695765966b.29.1760009657725;
        Thu, 09 Oct 2025 04:34:17 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------sI9YeNqJomGP1PcPi2P5NIbo"
Message-ID: <e875ffa9-28c5-4733-b079-babad3734a9c@gmail.com>
Date: Thu, 9 Oct 2025 13:34:16 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 18/18] xen/riscv: introduce metadata table to store P2M
 type
To: Jan Beulich <jbeulich@suse.com>
Cc: Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <cover.1758145428.git.oleksii.kurochko@gmail.com>
 <f1e346b228ea76eb5bd988e8aab0062cbea58c9d.1758145428.git.oleksii.kurochko@gmail.com>
 <4c2eb99b-3e88-4364-8c3f-7c70d4064ef4@suse.com>
 <5142b7c4-ab2e-4f73-a60d-3d23fe255ca7@gmail.com>
 <4232140b-e44a-4d8b-8178-b583a2f4fabc@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <4232140b-e44a-4d8b-8178-b583a2f4fabc@suse.com>

This is a multi-part message in MIME format.
--------------sI9YeNqJomGP1PcPi2P5NIbo
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit


On 10/7/25 3:25 PM, Jan Beulich wrote:
> On 01.10.2025 18:00, Oleksii Kurochko wrote:
>> On 9/23/25 12:41 AM, Jan Beulich wrote:
>>> On 17.09.2025 23:55, Oleksii Kurochko wrote:
>>>
>>>> +/*
>>>> + * `pte` â€“ PTE entry for which the type `t` will be stored.
>>>> + *
>>>> + * If `t` is `p2m_ext_storage`, both `ctx` and `p2m` must be provided;
>>>> + * otherwise, they may be NULL.
>>>> + */
>>>> +static void p2m_set_type(pte_t *pte, const p2m_type_t t,
>>>> +                         struct p2m_pte_ctx *ctx,
>>>> +                         struct p2m_domain *p2m)
>>>>    {
>>>> -    int rc = 0;
>>>> +    /*
>>>> +    * For the root page table (16 KB in size), we need to select the correct
>>>> +    * metadata table, since allocations are 4 KB each. In total, there are
>>>> +    * 4 tables of 4 KB each.
>>>> +    * For none-root page table index of ->pt_page[] will be always 0 as
>>>> +    * index won't be higher then 511. ASSERT() below verifies that.
>>>> +    */
>>>> +    struct page_info **md_pg =
>>>> +        &ctx->pt_page[ctx->index / PAGETABLE_ENTRIES].v.md.metadata;
>>>> +    pte_t *metadata = NULL;
>>>> +
>>>> +     /* Be sure that an index correspondent to page level is passed. */
>>>> +    ASSERT(ctx->index <= P2M_PAGETABLE_ENTRIES(ctx->level));
>>> Doesn't this need to be < ?
>> Yeah, it should be <.
>>
>>>> +    if ( !*md_pg && (t >= p2m_first_external) )
>>>> +    {
>>>> +        /*
>>>> +         * Ensure that when `t` is stored outside the PTE bits
>>>> +         * (i.e. `t == p2m_ext_storage` or higher),
>>>> +         * both `ctx` and `p2m` are provided.
>>>> +         */
>>>> +        ASSERT(p2m && ctx);
>>> Imo this would want to be checked whenever t > p2m_first_external, no
>>> matter whether a metadata page was already allocated.
>> I think that|ctx| should be checked before this|if| condition, since it is
>> used to obtain the proper metadata page.
>>
>> The check for|p2m| can remain inside the|if| condition, as it is essentially
>> only needed for allocating a metadata page.
> That is, you want to allow callers to pass in NULL for the "p2m" parameter?
> Isn't this going to be risky?

With the current implementation it is not risky and initially I thought that p2m
could be passed NULL for the types which are used for types stored within PTE
as for that type p2m argument isn't really needed.
But just to be sure that something won't be broker in future changes let move
ASSERT(p2m) at the top of the function.

>
>>>> -    if ( t > p2m_first_external )
>>>> -        panic("unimplemeted\n");
>>>> -    else
>>>> +        if ( ctx->level <= P2M_SUPPORTED_LEVEL_MAPPING )
>>>> +        {
>>>> +            struct domain *d = p2m->domain;
>>>> +
>>>> +            *md_pg = p2m_alloc_table(p2m);
>>>> +            if ( !*md_pg )
>>>> +            {
>>>> +                printk("%s: can't allocate extra memory for dom%d\n",
>>>> +                        __func__, d->domain_id);
>>>> +                domain_crash(d);
>>>> +            }
>>>> +        }
>>>> +        else
>>>> +            /*
>>>> +             * It is not legal to set a type for an entry which shouldn't
>>>> +             * be mapped.
>>>> +             */
>>>> +            ASSERT_UNREACHABLE();
>>> Something not being legal doesn't mean it can't happen. Imo in this case
>>> BUG_ON() (in place of the if() above) would be better.
>>>
>>>> +    }
>>>> +
>>>> +    if ( *md_pg )
>>>> +        metadata = __map_domain_page(*md_pg);
> Not this conditional assignment for ...
>
>>>> +    if ( t < p2m_first_external )
>>>> +    {
>>>>            pte->pte |= MASK_INSR(t, P2M_TYPE_PTE_BITS_MASK);
>>>>    
>>>> -    return rc;
>>>> +        if ( metadata )
>>>> +            metadata[ctx->index].pte = p2m_invalid;
>>>> +    }
>>>> +    else
>>>> +    {
>>>> +        pte->pte |= MASK_INSR(p2m_ext_storage, P2M_TYPE_PTE_BITS_MASK);
>>>> +
>>>> +        metadata[ctx->index].pte = t;
>>> Afaict metadata can still be NULL when you get here.
>> It shouldn't be, because when this line is executed, the metadata page already
>> exists or was allocated at the start of p2m_set_type().
> ... this reply of yours. And the condition there can be false, in case you
> took the domain_crash() path.

Oh, right, for some reason, I thought we didnâ€™t return from|domain_crash()|.
Iâ€™m curious whether calling|domain_crash()| might break something, as some useful
data could be freed and negatively affect the internals of|map_regions_p2mt()|.

It might make more sense to use|panic()| here instead.
Do you have any thoughts or suggestions on this?

>
>>>> @@ -812,13 +955,21 @@ static int p2m_set_entry(struct p2m_domain *p2m,
>>>>        {
>>>>            /* We need to split the original page. */
>>>>            pte_t split_pte = *entry;
>>>> +        struct page_info *tbl_pg = virt_to_page(table);
>>> This isn't valid on a pointer obtained from map_domain_page().
>> Oh, sure â€” virt_to_page() and page_to_virt() should be used only for Xen
>> heap addresses.
>>
>> By the way, do we have any documentation, comments, or notes describing
>> what should be allocated and from where?
>>
>> Since map_domain_page() returns an address from the direct map region,
>> should we instead use maddr_to_page(virt_to_maddr(table))?
> How would that be any better? Even if right now you only build RISC-V code
> with map_domain_page() having a trivial expansion, you will want to avoid
> any assumptions along those lines. Or else you could avoid the use of that
> abstraction altogether. It exists so when you need to support memory
> amounts beyond what the directmap can cover, you can provide a suitable
> implementation of the function and be done. You (or whoever else) in
> particular shouldn't be required to go audit all the places where
> map_domain_page() (and the pointers it returns) is (are) used.

Then|domain_page_map_to_mfn()| is the appropriate function to use, and to
get a page,|mfn_to_page(domain_page_map_to_mfn(virt)) should be called.|

Thanks.

~ Oleksii

--------------sI9YeNqJomGP1PcPi2P5NIbo
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 10/7/25 3:25 PM, Jan Beulich wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:4232140b-e44a-4d8b-8178-b583a2f4fabc@suse.com">
      <pre wrap="" class="moz-quote-pre">On 01.10.2025 18:00, Oleksii Kurochko wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">On 9/23/25 12:41 AM, Jan Beulich wrote:
</pre>
        <blockquote type="cite">
          <pre wrap="" class="moz-quote-pre">On 17.09.2025 23:55, Oleksii Kurochko wrote:

</pre>
          <blockquote type="cite">
            <pre wrap="" class="moz-quote-pre">+/*
+ * `pte` â€“ PTE entry for which the type `t` will be stored.
+ *
+ * If `t` is `p2m_ext_storage`, both `ctx` and `p2m` must be provided;
+ * otherwise, they may be NULL.
+ */
+static void p2m_set_type(pte_t *pte, const p2m_type_t t,
+                         struct p2m_pte_ctx *ctx,
+                         struct p2m_domain *p2m)
  {
-    int rc = 0;
+    /*
+    * For the root page table (16 KB in size), we need to select the correct
+    * metadata table, since allocations are 4 KB each. In total, there are
+    * 4 tables of 4 KB each.
+    * For none-root page table index of -&gt;pt_page[] will be always 0 as
+    * index won't be higher then 511. ASSERT() below verifies that.
+    */
+    struct page_info **md_pg =
+        &amp;ctx-&gt;pt_page[ctx-&gt;index / PAGETABLE_ENTRIES].v.md.metadata;
+    pte_t *metadata = NULL;
+
+     /* Be sure that an index correspondent to page level is passed. */
+    ASSERT(ctx-&gt;index &lt;= P2M_PAGETABLE_ENTRIES(ctx-&gt;level));
</pre>
          </blockquote>
          <pre wrap="" class="moz-quote-pre">Doesn't this need to be &lt; ?
</pre>
        </blockquote>
        <pre wrap="" class="moz-quote-pre">
Yeah, it should be &lt;.

</pre>
        <blockquote type="cite">
          <pre wrap="" class="moz-quote-pre">
</pre>
          <blockquote type="cite">
            <pre wrap="" class="moz-quote-pre">+    if ( !*md_pg &amp;&amp; (t &gt;= p2m_first_external) )
+    {
+        /*
+         * Ensure that when `t` is stored outside the PTE bits
+         * (i.e. `t == p2m_ext_storage` or higher),
+         * both `ctx` and `p2m` are provided.
+         */
+        ASSERT(p2m &amp;&amp; ctx);
</pre>
          </blockquote>
          <pre wrap="" class="moz-quote-pre">Imo this would want to be checked whenever t &gt; p2m_first_external, no
matter whether a metadata page was already allocated.
</pre>
        </blockquote>
        <pre wrap="" class="moz-quote-pre">
I think that|ctx| should be checked before this|if| condition, since it is
used to obtain the proper metadata page.

The check for|p2m| can remain inside the|if| condition, as it is essentially
only needed for allocating a metadata page.
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
That is, you want to allow callers to pass in NULL for the "p2m" parameter?
Isn't this going to be risky?</pre>
    </blockquote>
    <pre>With the current implementation it is not risky and initially I thought that p2m
could be passed NULL for the types which are used for types stored within PTE
as for that type p2m argument isn't really needed.
But just to be sure that something won't be broker in future changes let move
ASSERT(p2m) at the top of the function.

</pre>
    <blockquote type="cite"
      cite="mid:4232140b-e44a-4d8b-8178-b583a2f4fabc@suse.com">
      <pre wrap="" class="moz-quote-pre">

</pre>
      <blockquote type="cite">
        <blockquote type="cite">
          <blockquote type="cite">
            <pre wrap="" class="moz-quote-pre">-    if ( t &gt; p2m_first_external )
-        panic("unimplemeted\n");
-    else
+        if ( ctx-&gt;level &lt;= P2M_SUPPORTED_LEVEL_MAPPING )
+        {
+            struct domain *d = p2m-&gt;domain;
+
+            *md_pg = p2m_alloc_table(p2m);
+            if ( !*md_pg )
+            {
+                printk("%s: can't allocate extra memory for dom%d\n",
+                        __func__, d-&gt;domain_id);
+                domain_crash(d);
+            }
+        }
+        else
+            /*
+             * It is not legal to set a type for an entry which shouldn't
+             * be mapped.
+             */
+            ASSERT_UNREACHABLE();
</pre>
          </blockquote>
          <pre wrap="" class="moz-quote-pre">Something not being legal doesn't mean it can't happen. Imo in this case
BUG_ON() (in place of the if() above) would be better.

</pre>
          <blockquote type="cite">
            <pre wrap="" class="moz-quote-pre">+    }
+
+    if ( *md_pg )
+        metadata = __map_domain_page(*md_pg);
</pre>
          </blockquote>
        </blockquote>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
Not this conditional assignment for ...

</pre>
      <blockquote type="cite">
        <blockquote type="cite">
          <blockquote type="cite">
            <pre wrap="" class="moz-quote-pre">+    if ( t &lt; p2m_first_external )
+    {
          pte-&gt;pte |= MASK_INSR(t, P2M_TYPE_PTE_BITS_MASK);
  
-    return rc;
+        if ( metadata )
+            metadata[ctx-&gt;index].pte = p2m_invalid;
+    }
+    else
+    {
+        pte-&gt;pte |= MASK_INSR(p2m_ext_storage, P2M_TYPE_PTE_BITS_MASK);
+
+        metadata[ctx-&gt;index].pte = t;
</pre>
          </blockquote>
          <pre wrap="" class="moz-quote-pre">Afaict metadata can still be NULL when you get here.
</pre>
        </blockquote>
        <pre wrap="" class="moz-quote-pre">
It shouldn't be, because when this line is executed, the metadata page already
exists or was allocated at the start of p2m_set_type().
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
... this reply of yours. And the condition there can be false, in case you
took the domain_crash() path.</pre>
    </blockquote>
    <pre>Oh, right, for some reason, I thought we didnâ€™t return from <code
    data-start="148" data-end="164">domain_crash()</code>.
Iâ€™m curious whether calling <code data-start="194" data-end="210">domain_crash()</code> might break something, as some useful
data could be freed and negatively affect the internals of <code
    data-start="308" data-end="328">map_regions_p2mt()</code>.

It might make more sense to use <code data-start="324" data-end="333">panic()</code> here instead.
Do you have any thoughts or suggestions on this?

</pre>
    <blockquote type="cite"
      cite="mid:4232140b-e44a-4d8b-8178-b583a2f4fabc@suse.com">
      <pre wrap="" class="moz-quote-pre">

</pre>
      <blockquote type="cite">
        <blockquote type="cite">
          <blockquote type="cite">
            <pre wrap="" class="moz-quote-pre">@@ -812,13 +955,21 @@ static int p2m_set_entry(struct p2m_domain *p2m,
      {
          /* We need to split the original page. */
          pte_t split_pte = *entry;
+        struct page_info *tbl_pg = virt_to_page(table);
</pre>
          </blockquote>
          <pre wrap="" class="moz-quote-pre">This isn't valid on a pointer obtained from map_domain_page().
</pre>
        </blockquote>
        <pre wrap="" class="moz-quote-pre">
Oh, sure â€” virt_to_page() and page_to_virt() should be used only for Xen
heap addresses.

By the way, do we have any documentation, comments, or notes describing
what should be allocated and from where?

Since map_domain_page() returns an address from the direct map region,
should we instead use maddr_to_page(virt_to_maddr(table))?
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
How would that be any better? Even if right now you only build RISC-V code
with map_domain_page() having a trivial expansion, you will want to avoid
any assumptions along those lines. Or else you could avoid the use of that
abstraction altogether. It exists so when you need to support memory
amounts beyond what the directmap can cover, you can provide a suitable
implementation of the function and be done. You (or whoever else) in
particular shouldn't be required to go audit all the places where
map_domain_page() (and the pointers it returns) is (are) used.</pre>
    </blockquote>
    <pre>Then <code data-start="101" data-end="127">domain_page_map_to_mfn()</code> is the appropriate function to use, and to
get a page, <code data-start="187" data-end="230" data-is-only-node="">mfn_to_page(domain_page_map_to_mfn(virt)) should be called.</code>

Thanks.

~ Oleksii</pre>
  </body>
</html>

--------------sI9YeNqJomGP1PcPi2P5NIbo--


From xen-devel-bounces@lists.xenproject.org Thu Oct 09 11:36:35 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Oct 2025 11:36:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1140482.1475346 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6owk-0006rd-6D; Thu, 09 Oct 2025 11:36:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1140482.1475346; Thu, 09 Oct 2025 11:36:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6owk-0006rW-3c; Thu, 09 Oct 2025 11:36:34 +0000
Received: by outflank-mailman (input) for mailman id 1140482;
 Thu, 09 Oct 2025 11:36:33 +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
 <SRS0=m3kf=4S=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1v6owi-0006rQ-U0
 for xen-devel@lists.xenproject.org; Thu, 09 Oct 2025 11:36:33 +0000
Received: from fhigh-b6-smtp.messagingengine.com
 (fhigh-b6-smtp.messagingengine.com [202.12.124.157])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2eea188e-a504-11f0-9809-7dc792cee155;
 Thu, 09 Oct 2025 13:36:24 +0200 (CEST)
Received: from phl-compute-01.internal (phl-compute-01.internal [10.202.2.41])
 by mailfhigh.stl.internal (Postfix) with ESMTP id A35077A00B0;
 Thu,  9 Oct 2025 07:36:22 -0400 (EDT)
Received: from phl-mailfrontend-02 ([10.202.2.163])
 by phl-compute-01.internal (MEProxy); Thu, 09 Oct 2025 07:36:22 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 9 Oct 2025 07:36:20 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2eea188e-a504-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:content-type:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:subject:subject:to:to; s=fm2; t=1760009782;
	 x=1760096182; bh=UWCjOBEeRQr4DYqLYqToTkWlK1iPJtkXJVOAtu+bAKE=; b=
	iSiQRObsFMQfjRIQsnAhmktkwi1p1BQm42njj5rT1TwgiIRWdpEKWhGhzgWfAS4j
	S8qVJiPumTcZtIOU/YGLLn3ab9U8v3yTgDI9PUDPPyeCDHilVfA44AfoxIbXXKqp
	7Z4QGUZ7MOm0fq1277Y7x5dI5CiEEhcQFfDUMNKKcQVQjgtamOMEh4mwMV1IaxGm
	BG8//o51QDCC0gyQ/ONUK0BEWjHp9IXLmpiHPyiFdVbpUPu0ZuNqmaNrbv75Czh4
	14XNUB3+X8e3kustN+BdFhIsKjF427N0jwCdWd7zWsT2Ed6aLlKU8NwabL9qaxn0
	tEZ5xCeP77kSL8ME/qLa3g==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:content-type:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:subject:subject:to
	:to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=
	1760009782; x=1760096182; bh=UWCjOBEeRQr4DYqLYqToTkWlK1iPJtkXJVO
	Atu+bAKE=; b=raQs1yQSCZ57LMAu2e9uXg8Bsn4UnlMobSWBnQnv0Tx5/03EyMT
	EZ3yGNlsC0N1Qix5aE5IZ/77Q3/HDqphobQ4zjLL6KfFGndtLhJWNXesLDS+ldVz
	WPnjjSEupefkF9I45X1F6HFbPEY69Cw/PdJmcTF0oEhUJ+QgXrDBsWEfpfznB7x6
	Xd3E2oj3PiKaTGRsSpez09cxqtjaNIkqDJH9nEnJ8PtV9bbELEmX08ENjUA2yW22
	P5Uzmdziqc0skVb+9tI0QxdPR5bMpIYiOrYOWltSNdL919PI7Ui6hzKpQ99ZprjY
	XZ8R22D/J4qiiKlzqw6dKpbAwfWd/FIhPPQ==
X-ME-Sender: <xms:NZ7naPLnFoB2JTAl3jtF4IdrmdXmmAskvGAWVttrguJZKp47lxsm2A>
    <xme:NZ7naO-YbYrlFkwJC33V5fYxRsUBIWlh4iHsHWECT8mW1TFaySjqOE0XRXdVdEjXy
    njpoRcAyUnyiRmvrPL8J22_pc-tQsVOLEEE35rFFckq-yO7Bg>
X-ME-Received: <xmr:NZ7naDERtm46uzneHUT_vVxyrUqLozgK4oioZUQE6OEgPLj7CriJWwxpKFr-77czIzulXbAkG5jEGjRGVZOL9fH0HudkZLaatqI>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdeggddutdeitdejucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu
    rghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujf
    gurhepfffhvfevuffkfhggtggujgesghdtroertddtjeenucfhrhhomhepofgrrhgvkhcu
    ofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinhhvih
    hsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepheekuddt
    teduhedvkefgvddukeevffekjedttefgteehgeduledtfeefieevjedvnecuffhomhgrih
    hnpegvfhhirdhithenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhl
    fhhrohhmpehmrghrmhgrrhgvkhesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtoh
    hmpdhnsggprhgtphhtthhopeduvddpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohep
    jhgsvghulhhitghhsehsuhhsvgdrtghomhdprhgtphhtthhopehfrhgvughirghnohdrii
    highhlihhosegtlhhouhgurdgtohhmpdhrtghpthhtohepgigvnhdquggvvhgvlheslhhi
    shhtshdrgigvnhhprhhojhgvtghtrdhorhhgpdhrtghpthhtoheprghnthhhohhnhidrph
    gvrhgrrhgusehvrghtvghsrdhtvggthhdprhgtphhtthhopehmihgthhgrlhdrohhriigv
    lhesrghmugdrtghomhdprhgtphhtthhopehjuhhlihgvnhesgigvnhdrohhrghdprhgtph
    htthhopehrohhgvghrrdhprghusegtihhtrhhigidrtghomhdprhgtphhtthhopehsshht
    rggsvghllhhinhhisehkvghrnhgvlhdrohhrghdprhgtphhtthhopeguphhsmhhithhhse
    grphgvrhhtuhhsshholhhuthhiohhnshdrtghomh
X-ME-Proxy: <xmx:NZ7naB6V0UBGyB29_bzDGBcc68xAMZ6hZkzr8deHjbQ391_77RNr1A>
    <xmx:NZ7naEYIaKc56tbcsMTxZj7Xbh3lwBw_BF3-t0V_1sSL5ht7KMjZ_g>
    <xmx:NZ7naHg7QT51TZigpTV8stnQxTrcpU87CReO5B-qHcIpLVrlIQVm1A>
    <xmx:NZ7naOcvbcmotzB6AwN1cJ2Zu5tve3q3lBkLV89CYmxzE_OTpvPm2Q>
    <xmx:Np7naM5FXwInudrx86UhFAETMvnqfGZqhP27y80C51Y7EwxNvb44EOje>
Feedback-ID: i1568416f:Fastmail
Date: Thu, 9 Oct 2025 13:36:18 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	xen-devel@lists.xenproject.org,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Daniel Smith <dpsmith@apertussolutions.com>,
	"michal.zygowski@3mdeb.com" <michal.zygowski@3mdeb.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v2] xen: Strip xen.efi by default
Message-ID: <aOeeMtiJEhdEiadg@mail-itl>
References: <20250612100705.21988-1-frediano.ziglio@cloud.com>
 <586a66e5-4b11-485e-955a-da5fc3183737@citrix.com>
 <aN6H8dOlea2Um8y8@mail-itl>
 <1708c939-4b06-4d09-acb8-6965383d91f4@suse.com>
 <aOUiU86LtvsVFukW@mail-itl>
 <e3db4a71-336c-4039-a2fc-7997fadc81b3@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="UJw6lDv7/WYuVVcM"
Content-Disposition: inline
In-Reply-To: <e3db4a71-336c-4039-a2fc-7997fadc81b3@suse.com>


--UJw6lDv7/WYuVVcM
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Thu, 9 Oct 2025 13:36:18 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	xen-devel@lists.xenproject.org,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Daniel Smith <dpsmith@apertussolutions.com>,
	"michal.zygowski@3mdeb.com" <michal.zygowski@3mdeb.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v2] xen: Strip xen.efi by default

On Tue, Oct 07, 2025 at 04:46:17PM +0200, Jan Beulich wrote:
> On 07.10.2025 16:23, Marek Marczykowski-G=C3=B3recki wrote:
> > On Tue, Oct 07, 2025 at 04:12:13PM +0200, Jan Beulich wrote:
> >> On 02.10.2025 16:10, Marek Marczykowski-G=C3=B3recki wrote:
> >>> On Thu, Oct 02, 2025 at 02:05:56PM +0100, Andrew Cooper wrote:
> >>>> On 12/06/2025 11:07 am, Frediano Ziglio wrote:
> >>>>> For xen.gz file we strip all symbols and have an additional
> >>>>> xen-syms file version with all symbols.
> >>>>> Make xen.efi more coherent stripping all symbols too.
> >>>>> xen.efi.elf can be used for debugging.
> >>>>>
> >>>>> Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
> >>>
> >>> Generally,
> >>> Reviewed-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblething=
slab.com>
> >>
> >> Just to double check: You offer this after having read (and discarded)=
 my
> >> comments on v1, which v2 left largely unaddressed?=20
> >=20
> > You mean the one about objcopy result used for debugging? I didn't see
> > that before, since I wasn't in cc on v1...=20
> >=20
> > Anyway, are you aware of some specific objcopy issue. Or in other words:
> > would xen.efi.elf _currently_ be broken (as in - unusable for
> > debugging/disassembly)?
>=20
> I can't tell. I've seen fair parts of the code in the course of addressing
> various issues, and I would be very surprised if all of that was working
> correctly.
>=20
> > If not, then I take that relevant part of your
> > objection is mostly about inconsistent naming (xen.gz -> xen-syms, vs
> > xen.efi -> xen.efi.elf). Would xen-syms.efi.elf be better?
>=20
> Plus the one asking to strip only debug info, but not the symbol table.
> (And no, none of the suggested names look really nice to me.)
>=20
> Plus the one indicating that the change better wouldn't be made in the
> first place. As said, to deal with size issues we already have machinery
> in place. Not very nice machinery, but it's apparently functioning.

I'm of the opinion that defaults matter. Just having ability to build a
binary that works on more systems is not sufficient, if you'd need to
spend a day (or more...) on debugging obscure error message to figure
out which hidden option to use to get there. And while one could argue
that CONFIG_DEBUG=3Dy builds are only for people familiar with details to
deal with such issues, IMO just CONFIG_DEBUG_INFO=3Dy shouldn't need
arcane knowledge to get it working... And since that's a common option
to enable in distribution packages, person hitting the issue might not
even be the one doing the build (and thus controlling the build
options).

As for the details how to get there, I'm more flexible. Based on earlier
comments, it seems that (not stripped) xen.efi isn't very useful for
debugging directly, an ELF version of it is. So IMO it makes sense to
have the debug binary already converted. But if you say you have use for
xen.efi with all debug info too, I'm okay with keeping it too, maybe as
xen-syms.efi. It's a bit of more space (to have both efi and elf version
with debug info), but since it doesn't apply to the installed version,
only the one kept in the build directory, not a big issue IMO.

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--UJw6lDv7/WYuVVcM
Content-Type: application/pgp-signature; name=signature.asc

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmjnnjIACgkQ24/THMrX
1yy+cwf/fwXZE4tucpW+aJaaX5QQJZEMBtkoXB6VesFejjM4gAM0r5U/xLSICfj8
lzdJwkaojH9JUaxBGBr3fQr1uRl8uZWZO5q7fsjRws3tBSMNisSXqi2Q3jYNWGYN
YpaPp31EL4PFsPNsVj368RcIE+8BUEG0+INQoMHC8zm4C+ma8cROtuFs6RFtE9H2
novKCV69bwTkwlhNO0owRbgFyb5r2zpSfX7VWSFNnh/ub97IvihzDnrjL/TdY4cg
vpbjQSL5fH7PioZqpxMyjoy0xbwdSiQNpkGu5yKlCrtMzlJXxtdniTy4Fva8qB8V
wqjgT/PIb1FiU39HjnLA3MGPtXXEyQ==
=1AFs
-----END PGP SIGNATURE-----

--UJw6lDv7/WYuVVcM--


From xen-devel-bounces@lists.xenproject.org Thu Oct 09 11:43:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Oct 2025 11:43:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1140492.1475357 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6p2x-0008Tt-Qz; Thu, 09 Oct 2025 11:42:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1140492.1475357; Thu, 09 Oct 2025 11:42:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6p2x-0008Tm-OM; Thu, 09 Oct 2025 11:42:59 +0000
Received: by outflank-mailman (input) for mailman id 1140492;
 Thu, 09 Oct 2025 11:42:58 +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
 <SRS0=VZ0Z=4S=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1v6p2w-0008Tb-E7
 for xen-devel@lists.xenproject.org; Thu, 09 Oct 2025 11:42:58 +0000
Received: from DUZPR83CU001.outbound.protection.outlook.com
 (mail-northeuropeazlp170120005.outbound.protection.outlook.com
 [2a01:111:f403:c200::5])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 16f1c59c-a505-11f0-9809-7dc792cee155;
 Thu, 09 Oct 2025 13:42:53 +0200 (CEST)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by AS4PR03MB8722.eurprd03.prod.outlook.com (2603:10a6:20b:58d::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.9; Thu, 9 Oct
 2025 11:42:50 +0000
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593]) by AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593%3]) with mapi id 15.20.9203.007; Thu, 9 Oct 2025
 11:42:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 16f1c59c-a505-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=axYUKkAomB7XY7EH6Yw74Rf9x0ghRVsCF0ist365b9odOrCqzDZ7uRZXMe73J6q4YjU5DihXz+jvrbxNjyWQwUhMvlK46MSpVKSnszvp/3c2/ur2sML0fcO+QCu/9SWCZk1zKZHhvsHPxmRbiBJnMWoBJKmg5ZtgnfROB9dCjP0sCqzIJsBCkKTWT0/bEeu2IDPfMwwI8L6T3o+JHKna8l88E9jcvtt2YIYwClP4n5FqvVLsYK/wZkljF/uMMVfSHBOCjlQem8CqaZcfYya6eqBysFck73x68Pi+hBzLij57POcgMZPE6xUcZ+dCERkBoA+G4SU/vBtN5rSua8nM+A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=iUvgBglGeeyR9NbGi5nY79T2XXUeGYL1phu0//2Hv6k=;
 b=MRvrBL7qlz5ZZXFcnkMMbBiC7Lp2qH9Fwd/un6hNi05IbiCRbgh9vOdPpMwWug5GVqOvCVdd0kIFo86WP2i4NOdzCJDjqtQMFXEeoEGurcz+y+LmVtP9zxS63BrTmdSS0E9hfMGBiGHJDdHV1hORymyk1h1zZxz5erw4Q10PC4OcVhua4qs5hYDAYGQSjT+C/cS5nXKt6X6W8YYoxL/U5RWEwjICYMBBql/GR+ko8SiPLhtN6RnZ8Kb4sabpyiVtCiLmGtOvej79zbp/E49GeyBQ2GpMVVPnw6KHI0i75s83/KyLnigCkU2c8hkG2f2gkY6LgHskUrHE3ZTzy+i2dQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=iUvgBglGeeyR9NbGi5nY79T2XXUeGYL1phu0//2Hv6k=;
 b=fx0ZNospNRiR+ex61ZlfeY8HcktwqtDNonzXb3T5gZvPe+PmzWpanaAIqrBeyhE3mW0I0VD6AuNZe6Jmgx3PsUAXHORaOUfG00bXEKgGtzzxgy5bvDoomcreASlk+ZBLSavc000bDWWXfztyRLm1RFSZDhY8C8vA2wk3950uUatzCsUnFnsRi8b3qEyzh8uMLCkncySx+N/toI5LmERvLsvOxHpZi47yNJqc06nNjW9Cxx8TmQazcjS/A73n2JAZlygz6zLZakj4u4WHZAXw/s7M/xXjs6zjReAabN9DMAzQa3iGVlUv1Wpgmb1pbyeEYBhlfH7p7umnH/cR5Xc6Xw==
From: Grygorii Strashko <grygorii_strashko@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Grygorii Strashko <grygorii_strashko@epam.com>, Jan Beulich
	<jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	=?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>, Alejandro Vallejo
	<alejandro.garciavallejo@amd.com>, Jason Andryuk <jason.andryuk@amd.com>
Subject: [XEN][PATCH] x86: hvm: vlapic: rework WR/rsvdz masks for LVTx regs
Thread-Topic: [XEN][PATCH] x86: hvm: vlapic: rework WR/rsvdz masks for LVTx
 regs
Thread-Index: AQHcORHXhYFVkRUALkuaMd5pXZySsA==
Date: Thu, 9 Oct 2025 11:42:50 +0000
Message-ID: <20251009114249.1964387-1-grygorii_strashko@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AS2PR03MB8907:EE_|AS4PR03MB8722:EE_
x-ms-office365-filtering-correlation-id: 8cc56a83-fd2d-4ce9-7136-08de0728f9c6
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|376014|1800799024|366016|38070700021;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?ZfLyEGWBuiZbcgk5wYpjqtzV8G36WGrd4MnIuqT+wm0qYbdwh4mU4VPmNp?=
 =?iso-8859-1?Q?D6ApXubwUb7RUOTlPlzPvT5qGnsPnRtIpaqPUJtzeL497SlWE7cWZTK7ZX?=
 =?iso-8859-1?Q?OI7b4NWytXMRLUjS14cLP/AdRV9EF1bLxVkveo9uMi2m1UVREu83sWrCf5?=
 =?iso-8859-1?Q?ZC9ZHsd8v5Yh/oWUa4PEA6YWBPxI/oi1WJP6hcKpSkZgcbVgN9lRu3DIlp?=
 =?iso-8859-1?Q?Ms6hcci+QoXiwqrGa+4bRa+z6QWx2E9gwEBozEo/tujrLeBmIqV/sN5odC?=
 =?iso-8859-1?Q?dbUAZDyoG/md+eA3+rotgkr0FKmHK3TpW2X0M8kW0A4mO0Liieg8JmsoVh?=
 =?iso-8859-1?Q?BMfa+ge2EtO1IudRoC+iJIBWlvsxGZcTz6kAIyfFBTisjBaYDFfW5u4h4T?=
 =?iso-8859-1?Q?Ccn8Y2N9I/oIEl5SIPMmEVlZCdobWjFojpvq77TevNpMKm6ChJZxd2cuOx?=
 =?iso-8859-1?Q?uGrvE5h+ks44Zz6L5lFBkfrDesZAYuN7VC04Zq5GXlJO72T870atkDhHvV?=
 =?iso-8859-1?Q?YMRkDKwAZ7JlmhDa1UOoaleOqsx4xOntbmKJdwHZTxnYPTnZ2zD1zMBsIj?=
 =?iso-8859-1?Q?Mj1vwaODRU9j8cZz+4fcD9FTSkDZepbbRrvzN+lhUbSwnjDyYN8lgtE1JI?=
 =?iso-8859-1?Q?821467slsHIeooZuUef+PP56YAwnMoyakMOT4SfwcmxraynDmTds3hf0Oe?=
 =?iso-8859-1?Q?X6effx0o74SDsjRzfa0XHkeyckvch67migfD6OHtjrtjkxMZfYHdzMjok7?=
 =?iso-8859-1?Q?BjMmOC6fRVLmsMXEYDdR+RAkpQYTTkfpCWC/s2+A690e5jpoIIG+b9lpK0?=
 =?iso-8859-1?Q?PcIzu1w+MFElS7KSUl0xNJzPw7cZv6vPpvKQmB7IuOMivgHG/DF+mN7N4A?=
 =?iso-8859-1?Q?8Vj8fYUm8v0O8nQiDdqPs6Waba7nPYmYDwcPa7ImS8n4PBcU6hx+H7OT3D?=
 =?iso-8859-1?Q?gId/8UBpm8vYtAKmW1TCmWAStlnJoZCC7YCz9vfUCdHTNLz8c5eVV4gtoL?=
 =?iso-8859-1?Q?xGTIPEnBa1gNb2+lbtAcgbe1yd2MIxE/74SQAzfLjyiv/UnSaNvl91Hao0?=
 =?iso-8859-1?Q?jzf1y3yE42BuBa7qQGyBDO48afzis+xreilNVh2wKxsgofkVh6H38cbC75?=
 =?iso-8859-1?Q?duuvqKCHIJiLA3Y1PwEMR48L3Q7TxoBgF+W7a/LqHNU5W+3vGd8lD8GWXF?=
 =?iso-8859-1?Q?/sxjOwBAbqr6l5Im/I2Fp6ysKKoadwUMuGcrfyMQZHLf5QMktmpKmSPnea?=
 =?iso-8859-1?Q?RE1a27Ic+QkBmMw0DlaujBC4jXxX0AlmVefdBOJMDeLwdNDik1INv0slkx?=
 =?iso-8859-1?Q?UIjnbFshPenAyKKTqyC7pT+Fo9DWejBhQVaM9jtS+26q1sHh6a835rItdu?=
 =?iso-8859-1?Q?y/2YgUVy7dKJYpxwlwdP3d5380hiZkY7X/+e8unphzupgeb9v7lj46PIWN?=
 =?iso-8859-1?Q?isI2UvC6qgc/TURwl2cUsn96WtHdOEka9qcAg7q/np8qlv46e2aPt7S7rR?=
 =?iso-8859-1?Q?6vLcOju7ATA4ZNcmxqOZVJXB3riqYIBI/QQubyZrdtcjmD+w0Sz5mMUNf4?=
 =?iso-8859-1?Q?DrTR3asz/unH/tMbDSojrCeTemE6?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS2PR03MB8907.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(38070700021);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?mLwTZTy9+HiinCFh8r34INUEwMzz44R8Ip8Pt6EtdIPKHLDDlSzsMz15V7?=
 =?iso-8859-1?Q?q92ZUwAAWnEGMNlCrWGjU19Tqr8gNwdv2g/dHVABkkJkdk5bHzWwjokOUU?=
 =?iso-8859-1?Q?WINv7D8rrN/zpufjBXJzX/fUpGbzPsMGmqUMeZYnc1rUyytBbolIPjLVap?=
 =?iso-8859-1?Q?1EZpB99/i3jZDNHtVBG+cdNvRCvN45BS7S/ayZifbQqPl/xOK54oP29n/Y?=
 =?iso-8859-1?Q?sNc30Wjap7TXwDe3XBL3ckczky2dw6QNwucF/fNuGYiyUrtkM62Z81079P?=
 =?iso-8859-1?Q?KLyEX2bGscqM94Xm2D/a3L4B5jOPmGbxTLgB3gyzK7gUuQITf/OeISKb7J?=
 =?iso-8859-1?Q?16TIN+Mp0D1IpwDVRbVS/5PGOtodnerqIwU1Mb5BQgwUXopgwM+57U9gyc?=
 =?iso-8859-1?Q?n0lOR3Pcb3hoSEMgDRe9pmSj1eQR3ZayNhBYGQnDtsmmrpgIEBCy/Gxu5A?=
 =?iso-8859-1?Q?R35STcag1IK+0/x+JM8Ax2VeM0KJaAca5IsfCG9UATYeKzV3R2NIcEBW5b?=
 =?iso-8859-1?Q?GaDO+/frwcc8BboFMg2d75kntSC2oTtFcJmnlFIm96nIBXM+zmhLocqgmY?=
 =?iso-8859-1?Q?pcjgYhgpUKHxDcABJbqO8ob0ZnfQXGj55AwRkX3mYFyEPPp0nYZmVzAmRl?=
 =?iso-8859-1?Q?qn1fiyA9L6mev06huHuFPkXuV6o0ajTiKMjiSQA7qhtQcGWE+pRzOfsD9r?=
 =?iso-8859-1?Q?0cQjJo9STmWFWnwC691Fx+XapuufDGf7UsFAOO12f7qJ/VRr4soSMaL/aK?=
 =?iso-8859-1?Q?uOI7PBSKVYj0u6fzW+xCyAu2ZpRJls9y0Gg2f8R5PlGUraiOHwtMWw9xM2?=
 =?iso-8859-1?Q?qmbHFe/+vveV5lEKoz0ByO2b1JbXln4O196zjuWq4QGVctHhCcEV4r10Fl?=
 =?iso-8859-1?Q?+2Xq0e7fObkI5irznuW1yhBHga+L8EBgSwbTMZGezRmKnUNCwukSwzzj3l?=
 =?iso-8859-1?Q?a3apYqJPIHGWWehsdgDbHG5/23rtUdEkeZKEXGXO+O7Sqhi2YdihfGEfoV?=
 =?iso-8859-1?Q?M+RJCxrAMNI3MOocjiUD6SVikSwwWCAk1gcEa230JJhF8X/OpvdCWEKgBE?=
 =?iso-8859-1?Q?MMwVfg1TuHW4H7WrqRIkBc7eIvmzWbhgdQNRsXB5jfHL1+XMVQM+KMwCq5?=
 =?iso-8859-1?Q?g/89V/yo7vx1jjkVmIcYRUgM36rMDGbsrChytuqC0Lzh0CUB6zqlgEaw+V?=
 =?iso-8859-1?Q?5HyVgdpa8JXS4cBcycP5dZNXUB1U02kVB2fuj2mnST1xj6ejOyY8XUZnOY?=
 =?iso-8859-1?Q?fNSXsiT2nz2t4CFms1XIJwi4sRqomGS2os0jDiIs4GVAG5DlkEi5qTZmZe?=
 =?iso-8859-1?Q?SD4HnNZvYATyc7IVIywAmnFNaobqXugm4VoMSS5a4Ty9vhidT2109uqUBi?=
 =?iso-8859-1?Q?/284TdTuwkpi4gy9MBf6q4NOaLuJ5lzX/YuR6JjSKjozQk6fQ3e+aifbQo?=
 =?iso-8859-1?Q?91tXT/rMZa79KOojNCDp+C8SGiS0QYN5SVtUK6WgCxiXLgyuCwuhkdECEd?=
 =?iso-8859-1?Q?b8bWhCBjtRV+GqTeqDFEKOr9SBkORLqEGsBtiY92p6j0RXtv6fBeuAuFv2?=
 =?iso-8859-1?Q?T2Wuo88VTv7p0ZtGQYAvqSDzSnOdhklxR/fH9IWCraToUVGL34LkAmLirW?=
 =?iso-8859-1?Q?O6kStMJ7Md732jQoqHs8TluVFd20ncok5W4PrdLKdIbNvXMqc1FqI/1Q?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8cc56a83-fd2d-4ce9-7136-08de0728f9c6
X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Oct 2025 11:42:50.3322
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: B2YYanJMCRSxHAv0G6T4MZ4LyRGWRdghUtcTsSjFqS4cO4CxfiJyT/2DOiKaVmIFL+ueSQ1Ik0kdsHJp+XtR3jRqC/BRFIXaC1ZOTxYde1Y=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR03MB8722

From: Grygorii Strashko <grygorii_strashko@epam.com>

Rework LVTx registers masks usage in MMIO/WRMSR write emulation code:

- do LVTx masks renaming and rearranging to x_WR_MASK/x_RO_MASK

- rename "vlapic_lvt_mask[]" to "lvt_wr_masks[]" to indicate they define
writable LVTx regs bits

- add lvt_rsvdz_masks[] and use it in guest_wrmsr_x2apic() for "Reserved"
bits checking (RsvdZ, Non-zero writes to reserved bits should cause #GP
exception)

- add LVT_REG_IDX() macro to avoid open coding calculation of LVTx regs
indexes for lvt_wr_masks[]/lvt_rsvdz_masks[] in many places

Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
---
Hi

Patch created according to discussion [1] and based on [1].

I've seen patches from Jan [2] a bit late, so sending
it as is for now.

[1] https://patchwork.kernel.org/project/xen-devel/patch/20250930190550.116=
6875-1-grygorii_strashko@epam.com/
[2] https://patchwork.kernel.org/project/xen-devel/cover/265d5053-af61-42cb=
-a3b9-ef60df39c21b@suse.com/

 xen/arch/x86/hvm/vlapic.c | 75 ++++++++++++++++++++++-----------------
 1 file changed, 42 insertions(+), 33 deletions(-)

diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
index 2ecba8163f48..1a00b224e033 100644
--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -34,27 +34,44 @@
 #define VLAPIC_VERSION                  0x00050014
 #define VLAPIC_LVT_NUM                  6
=20
-#define LVT_MASK \
-    (APIC_LVT_MASKED | APIC_SEND_PENDING | APIC_VECTOR_MASK)
-
-#define LINT_MASK   \
-    (LVT_MASK | APIC_DM_MASK | APIC_INPUT_POLARITY |\
-    APIC_LVT_REMOTE_IRR | APIC_LVT_LEVEL_TRIGGER)
+#define LVT_REG_IDX(reg) (((reg) - APIC_LVTT) >> 4)
+
+#define LVT_WR_MASK (APIC_LVT_MASKED | APIC_VECTOR_MASK)
+#define LVT_RO_MASK (APIC_SEND_PENDING)
+
+#define LINT_RW_MASK                                                      =
     \
+    (LVT_WR_MASK | APIC_DM_MASK | APIC_INPUT_POLARITY | APIC_LVT_LEVEL_TRI=
GGER)
+#define LINT_RO_MASK (LVT_RO_MASK | APIC_LVT_REMOTE_IRR)
+
+static const unsigned int lvt_wr_masks[VLAPIC_LVT_NUM] =3D {
+    /* LVTT */
+    LVT_WR_MASK | APIC_TIMER_MODE_MASK,
+    /* LVTTHMR */
+    LVT_WR_MASK | APIC_DM_MASK,
+    /* LVTPC */
+    LVT_WR_MASK | APIC_DM_MASK,
+    /* LVT0 */
+    LINT_RW_MASK,
+    /* LVT1 */
+    LINT_RW_MASK,
+    /* LVTERR */
+    LVT_WR_MASK,
+};
=20
-static const unsigned int vlapic_lvt_mask[VLAPIC_LVT_NUM] =3D
-{
-     /* LVTT */
-     (LVT_MASK | APIC_TIMER_MODE_MASK) & ~APIC_SEND_PENDING,
-     /* LVTTHMR */
-     (LVT_MASK | APIC_DM_MASK) & ~APIC_SEND_PENDING,
-     /* LVTPC */
-     (LVT_MASK | APIC_DM_MASK) & ~APIC_SEND_PENDING,
-     /* LVT0 */
-     LINT_MASK & ~(APIC_LVT_REMOTE_IRR | APIC_SEND_PENDING),
-     /* LVT1 */
-     LINT_MASK & ~(APIC_LVT_REMOTE_IRR | APIC_SEND_PENDING),
-     /* LVTERR */
-     LVT_MASK & ~APIC_SEND_PENDING,
+/* LVTx reserved (rsvdZ) bits masks */
+static const unsigned int lvt_rsvdz_masks[VLAPIC_LVT_NUM] =3D {
+    /* LVTT */
+    ~(LVT_WR_MASK | APIC_TIMER_MODE_MASK | LVT_RO_MASK),
+    /* LVTTHMR */
+    ~(LVT_WR_MASK | APIC_DM_MASK | LVT_RO_MASK),
+    /* LVTPC */
+    ~(LVT_WR_MASK | APIC_DM_MASK | LVT_RO_MASK),
+    /* LVT0 */
+    ~(LINT_RW_MASK | LINT_RO_MASK),
+    /* LVT1 */
+    ~(LINT_RW_MASK | LINT_RO_MASK),
+    /* LVTERR */
+    ~(LVT_WR_MASK | LVT_RO_MASK),
 };
=20
 #define vlapic_lvtt_period(vlapic)                              \
@@ -881,7 +898,7 @@ void vlapic_reg_write(struct vcpu *v, unsigned int reg,=
 uint32_t val)
     case APIC_LVTERR:       /* LVT Error Reg */
         if ( vlapic_sw_disabled(vlapic) )
             val |=3D APIC_LVT_MASKED;
-        val &=3D array_access_nospec(vlapic_lvt_mask, (reg - APIC_LVTT) >>=
 4);
+        val &=3D array_access_nospec(lvt_wr_masks, LVT_REG_IDX(reg));
         vlapic_set_reg(vlapic, reg, val);
         if ( reg =3D=3D APIC_LVT0 )
         {
@@ -1013,26 +1030,18 @@ int guest_wrmsr_x2apic(struct vcpu *v, uint32_t msr=
, uint64_t val)
             return X86EMUL_EXCEPTION;
         break;
=20
-    case APIC_LVTT:
-        if ( val & ~(LVT_MASK | APIC_TIMER_MODE_MASK) )
+    case APIC_CMCI:
+        if ( val & ~(LVT_WR_MASK | LVT_RO_MASK | APIC_DM_MASK) )
             return X86EMUL_EXCEPTION;
         break;
=20
+    case APIC_LVTT:
     case APIC_LVTTHMR:
     case APIC_LVTPC:
-    case APIC_CMCI:
-        if ( val & ~(LVT_MASK | APIC_DM_MASK) )
-            return X86EMUL_EXCEPTION;
-        break;
-
     case APIC_LVT0:
     case APIC_LVT1:
-        if ( val & ~LINT_MASK )
-            return X86EMUL_EXCEPTION;
-        break;
-
     case APIC_LVTERR:
-        if ( val & ~LVT_MASK )
+        if ( val & lvt_rsvdz_masks[LVT_REG_IDX(offset)] )
             return X86EMUL_EXCEPTION;
         break;
=20
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Thu Oct 09 11:48:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Oct 2025 11:48:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1140501.1475367 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6p7w-0000mk-Dk; Thu, 09 Oct 2025 11:48:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1140501.1475367; Thu, 09 Oct 2025 11:48:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6p7w-0000mc-9F; Thu, 09 Oct 2025 11:48:08 +0000
Received: by outflank-mailman (input) for mailman id 1140501;
 Thu, 09 Oct 2025 11:48:07 +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 <SRS0=I7dU=4S=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v6p7v-0000mU-FB
 for xen-devel@lists.xenproject.org; Thu, 09 Oct 2025 11:48:07 +0000
Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com
 [2a00:1450:4864:20::329])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d00369af-a505-11f0-9809-7dc792cee155;
 Thu, 09 Oct 2025 13:48:03 +0200 (CEST)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-46e42fa08e4so8746165e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 09 Oct 2025 04:48:03 -0700 (PDT)
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-46faf183b6dsm43674855e9.17.2025.10.09.04.48.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 09 Oct 2025 04:48:02 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d00369af-a505-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760010483; x=1760615283; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=LFt9bnF6a5MWzpdPvVGbuwaQt/figOKrt6eplTNjfBM=;
        b=QpawV9pdSvOW7oCIu/56rJVRDsJwAQgLLNORwLRwO8m+fSK0kLzwJC0M+hmhHFqf9L
         kJOsabP91Ov8SqHk1pu91hJ7uz/0pqcFW56Z9jIuyNWOkqGk+iyCQ702v0ykSOzLZuTU
         3DqzlSKV+JCmQZAG47+MsVCdrLLbqbgbJkS3CfdsD16hD2XwaFgMerQFTsHmh6C050No
         fGCkW7Z0KBRqIQMhCnWw4HRC6Wbhhii5wPSv8wUi71CWgXYefrgJOTbcsdENixuco/nk
         7H1fmfrrZEaeRTFvSYv4+a58IT4UD9MUojyVLCANeiNbvejnelG5/licsv92s9a9zzCx
         /MRQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760010483; x=1760615283;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=LFt9bnF6a5MWzpdPvVGbuwaQt/figOKrt6eplTNjfBM=;
        b=Iqj0qOiSqu1PJ9dDZ4X3mcxNh1vL9+oiiCtsrsu5FWZU0jqFeLGTVJiI4srZgQc6IP
         ZC/SFDoW/TptN1kObzrEAy9KSJQtNBaC03KUm/nRk3k2613OYLbATgDIiGz2q+NbSm2y
         Cr3PD49OLsWnjTg584Th9hWar7YBSim8k9Njwbf7Najl9cUniHNepuWI/C17CyJZCjbc
         TlcEf3W6OGEtUno7DzIfemDHKaK6CaiTVk4laMgVJpqmLBsOIfMk/g7K3KftWrUVmRpl
         /muVSa/wZ3oxtX3iDuvQPm3oOthygZuLaXK+3sFILUskmFQ66IShIIpNtG9U60IUh261
         dC/w==
X-Forwarded-Encrypted: i=1; AJvYcCUp22OHimAsntVBfoTYPRgoHubwyhGyzHiGU94/DvwTo6F7PgzwrvGWnHYgyGhOX7LrNhLzuUxUJVc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzaYoIPICDsYUUtMbBp9K22q1mEC84+9K67hu1AvErApqdjyWdj
	fDRWiexQhfLDzJnWqVjudlNrWiIDPpW5AFV7kkScC7YFRB6o41YQbdVErvHRU7u1TA==
X-Gm-Gg: ASbGncuolFjqfRPAuLVTkwPn1mbAf8eSmB/2zzu+WkxPumd1LU5OpUMtGwPJR/rawJv
	vg9dPGfKUph5R/HBbrZkJbdNVhOBI3Zhurv1/AGTZsesWH26eRO82U5SnCc9C0RsRWolnxg3FIB
	i3SPk2EMa+lKVQXdRWsqMkFZYHFcVcP2dpobzhU9Jbf6FVoTEClmpkQStSsuMal/Jpo6lcSrtEs
	UDC5Znh9FQS3FvDLGyKtVX1T7pGFiXUNCyAcvow9DYNS7phM6KSHtrQQ0rrK6QEJPuuZqm6sW61
	xbPgIjGcafigBpwwEQSvSgXI51b6e8seDyKOCy2MGx5QzUKPTXlmo0WUK4JqdGTClKiYOtkI+Os
	lzb3cVtVEXGmU52hU3iBxJj3PczW0TIUv3gdrG0Dtdb9ISmwLYoYigvjAYLNewgS8GchXURq4MF
	c/v5r3eMWFyq6V69+713Wf097Twl8OALebhTgzXJB3Nw==
X-Google-Smtp-Source: AGHT+IEM/SzNUrWRfi0VtMigiZzmg11lrRy6Z3tHd6BweNtxluF2DUy5u/3ukW1d73gFLkCtCNabQQ==
X-Received: by 2002:a05:600c:1d12:b0:468:9798:2043 with SMTP id 5b1f17b1804b1-46fa9b05607mr51034045e9.26.1760010482686;
        Thu, 09 Oct 2025 04:48:02 -0700 (PDT)
Message-ID: <bc4df23e-58b2-4cba-b25f-e8ba2da222eb@suse.com>
Date: Thu, 9 Oct 2025 13:48:01 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] xen: Strip xen.efi by default
To: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
 xen-devel@lists.xenproject.org, Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Daniel Smith <dpsmith@apertussolutions.com>,
 "michal.zygowski@3mdeb.com" <michal.zygowski@3mdeb.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <20250612100705.21988-1-frediano.ziglio@cloud.com>
 <586a66e5-4b11-485e-955a-da5fc3183737@citrix.com> <aN6H8dOlea2Um8y8@mail-itl>
 <1708c939-4b06-4d09-acb8-6965383d91f4@suse.com> <aOUiU86LtvsVFukW@mail-itl>
 <e3db4a71-336c-4039-a2fc-7997fadc81b3@suse.com> <aOeeMtiJEhdEiadg@mail-itl>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <aOeeMtiJEhdEiadg@mail-itl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 09.10.2025 13:36, Marek Marczykowski-GÃ³recki wrote:
> On Tue, Oct 07, 2025 at 04:46:17PM +0200, Jan Beulich wrote:
>> On 07.10.2025 16:23, Marek Marczykowski-GÃ³recki wrote:
>>> On Tue, Oct 07, 2025 at 04:12:13PM +0200, Jan Beulich wrote:
>>>> On 02.10.2025 16:10, Marek Marczykowski-GÃ³recki wrote:
>>>>> On Thu, Oct 02, 2025 at 02:05:56PM +0100, Andrew Cooper wrote:
>>>>>> On 12/06/2025 11:07 am, Frediano Ziglio wrote:
>>>>>>> For xen.gz file we strip all symbols and have an additional
>>>>>>> xen-syms file version with all symbols.
>>>>>>> Make xen.efi more coherent stripping all symbols too.
>>>>>>> xen.efi.elf can be used for debugging.
>>>>>>>
>>>>>>> Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
>>>>>
>>>>> Generally,
>>>>> Reviewed-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
>>>>
>>>> Just to double check: You offer this after having read (and discarded) my
>>>> comments on v1, which v2 left largely unaddressed? 
>>>
>>> You mean the one about objcopy result used for debugging? I didn't see
>>> that before, since I wasn't in cc on v1... 
>>>
>>> Anyway, are you aware of some specific objcopy issue. Or in other words:
>>> would xen.efi.elf _currently_ be broken (as in - unusable for
>>> debugging/disassembly)?
>>
>> I can't tell. I've seen fair parts of the code in the course of addressing
>> various issues, and I would be very surprised if all of that was working
>> correctly.
>>
>>> If not, then I take that relevant part of your
>>> objection is mostly about inconsistent naming (xen.gz -> xen-syms, vs
>>> xen.efi -> xen.efi.elf). Would xen-syms.efi.elf be better?
>>
>> Plus the one asking to strip only debug info, but not the symbol table.
>> (And no, none of the suggested names look really nice to me.)
>>
>> Plus the one indicating that the change better wouldn't be made in the
>> first place. As said, to deal with size issues we already have machinery
>> in place. Not very nice machinery, but it's apparently functioning.
> 
> I'm of the opinion that defaults matter. Just having ability to build a
> binary that works on more systems is not sufficient, if you'd need to
> spend a day (or more...) on debugging obscure error message to figure
> out which hidden option to use to get there. And while one could argue
> that CONFIG_DEBUG=y builds are only for people familiar with details to
> deal with such issues, IMO just CONFIG_DEBUG_INFO=y shouldn't need
> arcane knowledge to get it working... And since that's a common option
> to enable in distribution packages, person hitting the issue might not
> even be the one doing the build (and thus controlling the build
> options).
> 
> As for the details how to get there, I'm more flexible. Based on earlier
> comments, it seems that (not stripped) xen.efi isn't very useful for
> debugging directly, an ELF version of it is. So IMO it makes sense to
> have the debug binary already converted. But if you say you have use for
> xen.efi with all debug info too, I'm okay with keeping it too, maybe as
> xen-syms.efi. It's a bit of more space (to have both efi and elf version
> with debug info), but since it doesn't apply to the installed version,
> only the one kept in the build directory, not a big issue IMO.

Hmm, yes, having xen-syms.efi (unstripped) plus xen.efi (with debug info
stripped but symbol table retained, including file symbols) might indeed
be a reasonable approach. (And then no xen-syms.efi at all when we pass
--strip-debug to the linker anyway. For this to result in somewhat
manageable Makefile logic, we may need to first split the linking rule
into multiple steps, as iirc has been the plan for quite some time.)

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 09 12:01:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Oct 2025 12:01:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1140526.1475377 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6pLC-0003o1-RI; Thu, 09 Oct 2025 12:01:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1140526.1475377; Thu, 09 Oct 2025 12:01:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6pLC-0003nu-Oj; Thu, 09 Oct 2025 12:01:50 +0000
Received: by outflank-mailman (input) for mailman id 1140526;
 Thu, 09 Oct 2025 12:01:49 +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 <SRS0=I7dU=4S=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v6pLB-0003if-Aa
 for xen-devel@lists.xenproject.org; Thu, 09 Oct 2025 12:01:49 +0000
Received: from mail-wr1-x42c.google.com (mail-wr1-x42c.google.com
 [2a00:1450:4864:20::42c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bba59c7c-a507-11f0-9d15-b5c5bf9af7f9;
 Thu, 09 Oct 2025 14:01:48 +0200 (CEST)
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-3f0308469a4so577373f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 09 Oct 2025 05:01:48 -0700 (PDT)
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-46fa9d6fb41sm80752225e9.17.2025.10.09.05.01.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 09 Oct 2025 05:01:47 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bba59c7c-a507-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760011307; x=1760616107; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=La8FiX+CY8bsMqSR9+VGygD6K2rBY98SILCfVOTJvQE=;
        b=ZlvFgz30WMlr0hY3aqQotbOnQKius5EhMYczP1M4Wn7RMFBHDOe/vuZUNo/f9918Hk
         6XpRurRAhbGL96uGrqVWkavJSvyFyvYxPCVrSZLcvYZ9nuNCr7KzaTG5b9XthGhMOEt2
         P37mqfuCCW9cPmOWohqsF/l/LAzc4Y8jRzdnLbbMqrpcA/2b+ouV4MU4LP9Vz18YQW8s
         qUbg2w+R8rZRTE1kCg1DCg45DQpAfiu3pzy9NrjqU6sHVk4V5apUBvzAX6xOEYrplCO5
         dOcoWJQoTUTkpi4k72YOOZMinnriEjUt65z34093hZAPtsJzzj7dryv9fuyEedIaQF+z
         rWMA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760011307; x=1760616107;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=La8FiX+CY8bsMqSR9+VGygD6K2rBY98SILCfVOTJvQE=;
        b=Wpvn8e+WE7IoSEPpOgWNhAZcXU9wFjjt1eTI66TC3vvwpxEmoIVkjAd1yq34qlmkmo
         4e8tRnx9dV1vNKNYU42ws7bv78YfB2zNGQsli0hPATiNl7GKLhgBQMjloAiFUVOwdA+/
         1+tKmRMhbIk9dclXZyY1KParCKnfuD2f5keTVnus7hvEzlc0B86rs2lfEd69iy2FCNNn
         8X7ZFKdQWfJJX2BbDIeOFBvX/L67g4bvr+zCiPoIjjjn8oDcuXX+TAFsp3oUlXZMSSzH
         jysXnauuhwj45GKQ5oCc1ojXhk5eCtvKS1x9FO9ybnrmr+MDYFZ8EDLVIf3o6JEsN/aI
         2ZvQ==
X-Forwarded-Encrypted: i=1; AJvYcCUtuQj8BHe9JesgLgPUj24lLsHWCT3lX77c97CoY6scbuM1hwBgu/fiR9qNu9thPr0WZuuFmX323ok=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyAshJeFQdY4SsRLOq+oyht3zVKAwT9Fb5u4cJzbh/RU7Fyv2mf
	bVbDxn1bkEn7D+dJgoQxSWc4s4gaSJ5Bfmx9HqWSIFrQHsdBEPgZfpoAzln9ici5CQ==
X-Gm-Gg: ASbGncvLuaD8jo9OuL2wN38gn+dnabfagXDbTWvKFQYpF7doM3p7NZV1mIVmHwwqWO3
	1viWmXi8WjMqFnXS+0zDhSBPZst1Lygg9WNk2Cb8oos7hiWkPnygbCjN5VhD6p0BWuViu5MQgq6
	CyZXAtaQYg5VD6ewQ8Lx0yqB4m4CiuytAs5YuJeLd+03s7F33ExXFoW4neN5rddYolsU3BX75OZ
	J93TQIvBak/1oi8KKOl0ZYgrVvPcN6/mYB0IysTBdE34EzsUUyI/xS6sVZSZ8kzP2AuKKgniWTH
	0MGerQTOkx0sVsvFMZ6+WINmHJbmcipdOoqvg8Y0KFFKdwJFHrpRfr5lA8lBpbD9J3t4ClNr4qo
	iU6xNZpNfslu4vtn8A7qQRelqqIYtmTbLzvJ4BKuSIQh1nhVcA10omh42CNz3tm1qM5s5WOeKOa
	OzF8u3ncRi4QWy/krTV79L6WOmeLA7vhAYCsKYBNpbYw==
X-Google-Smtp-Source: AGHT+IE5VqTcv+MJyqao0z/KfPXChaZHz/xk9gRkpv6hqsFkvTu2K/FrvAvfinIeGP8u/8Zzq09D+g==
X-Received: by 2002:a05:6000:2c0e:b0:3df:c5e3:55fe with SMTP id ffacd0b85a97d-4266e7dff05mr4736090f8f.29.1760011307518;
        Thu, 09 Oct 2025 05:01:47 -0700 (PDT)
Message-ID: <693b0730-b541-4d24-a83e-64f9b09705c1@suse.com>
Date: Thu, 9 Oct 2025 14:01:46 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN][PATCH] x86: hvm: vlapic: rework WR/rsvdz masks for LVTx
 regs
To: Grygorii Strashko <grygorii_strashko@epam.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Alejandro Vallejo <alejandro.garciavallejo@amd.com>,
 Jason Andryuk <jason.andryuk@amd.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20251009114249.1964387-1-grygorii_strashko@epam.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251009114249.1964387-1-grygorii_strashko@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 09.10.2025 13:42, Grygorii Strashko wrote:
> From: Grygorii Strashko <grygorii_strashko@epam.com>
> 
> Rework LVTx registers masks usage in MMIO/WRMSR write emulation code:
> 
> - do LVTx masks renaming and rearranging to x_WR_MASK/x_RO_MASK
> 
> - rename "vlapic_lvt_mask[]" to "lvt_wr_masks[]" to indicate they define
> writable LVTx regs bits
> 
> - add lvt_rsvdz_masks[] and use it in guest_wrmsr_x2apic() for "Reserved"
> bits checking (RsvdZ, Non-zero writes to reserved bits should cause #GP
> exception)

Didn't we agree that this may better be done in two steps?

> - add LVT_REG_IDX() macro to avoid open coding calculation of LVTx regs
> indexes for lvt_wr_masks[]/lvt_rsvdz_masks[] in many places
> 
> Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
> ---
> Hi
> 
> Patch created according to discussion [1] and based on [1].
> 
> I've seen patches from Jan [2] a bit late, so sending
> it as is for now.

Just wanted to ask, not the least because I'm increasingly of the opinion
that putting your fix on top of that series might end up being better.
For example, the special treatment of APIC_CMCI then shouldn't be needed
anymore.

> @@ -881,7 +898,7 @@ void vlapic_reg_write(struct vcpu *v, unsigned int reg, uint32_t val)
>      case APIC_LVTERR:       /* LVT Error Reg */
>          if ( vlapic_sw_disabled(vlapic) )
>              val |= APIC_LVT_MASKED;
> -        val &= array_access_nospec(vlapic_lvt_mask, (reg - APIC_LVTT) >> 4);
> +        val &= array_access_nospec(lvt_wr_masks, LVT_REG_IDX(reg));

Just like it's here, ...

> @@ -1013,26 +1030,18 @@ int guest_wrmsr_x2apic(struct vcpu *v, uint32_t msr, uint64_t val)
>              return X86EMUL_EXCEPTION;
>          break;
>  
> -    case APIC_LVTT:
> -        if ( val & ~(LVT_MASK | APIC_TIMER_MODE_MASK) )
> +    case APIC_CMCI:
> +        if ( val & ~(LVT_WR_MASK | LVT_RO_MASK | APIC_DM_MASK) )
>              return X86EMUL_EXCEPTION;
>          break;
>  
> +    case APIC_LVTT:
>      case APIC_LVTTHMR:
>      case APIC_LVTPC:
> -    case APIC_CMCI:
> -        if ( val & ~(LVT_MASK | APIC_DM_MASK) )
> -            return X86EMUL_EXCEPTION;
> -        break;
> -
>      case APIC_LVT0:
>      case APIC_LVT1:
> -        if ( val & ~LINT_MASK )
> -            return X86EMUL_EXCEPTION;
> -        break;
> -
>      case APIC_LVTERR:
> -        if ( val & ~LVT_MASK )
> +        if ( val & lvt_rsvdz_masks[LVT_REG_IDX(offset)] )

... array_access_nospec() also needs using here.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 09 12:06:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Oct 2025 12:06:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1140537.1475387 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6pPg-0004X3-9n; Thu, 09 Oct 2025 12:06:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1140537.1475387; Thu, 09 Oct 2025 12:06:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6pPg-0004Ww-6s; Thu, 09 Oct 2025 12:06:28 +0000
Received: by outflank-mailman (input) for mailman id 1140537;
 Thu, 09 Oct 2025 12:06:27 +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 <SRS0=I7dU=4S=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v6pPf-0004Wq-29
 for xen-devel@lists.xenproject.org; Thu, 09 Oct 2025 12:06:27 +0000
Received: from mail-wm1-x334.google.com (mail-wm1-x334.google.com
 [2a00:1450:4864:20::334])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5eb45ea2-a508-11f0-9809-7dc792cee155;
 Thu, 09 Oct 2025 14:06:21 +0200 (CEST)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-46e2c3b6d4cso6160385e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 09 Oct 2025 05:06:21 -0700 (PDT)
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-4255d8abe49sm34918261f8f.21.2025.10.09.05.06.20
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 09 Oct 2025 05:06:20 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5eb45ea2-a508-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760011581; x=1760616381; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=yq8+oZ8sCpaPnU7ewuf6krsrOkpu1Vs7QMFLUjRalKE=;
        b=OqKT5fzFUda3zD/pcfnCX82jSVsKJSr448ZS7EgeScqHUgUgtcojtAmtJrz/uIzqB4
         KBbPOO/CKCCLZW9VFVAxQiqeIS3YKiNPU8ysuwZ4vCfwD35zR9SsYUBSGmngNwP3TJqE
         vm+77uTfSMQj1ZcEVzNIUoYiCK25BlNsSiZ7inOAY4ZrOrfZrY0qCbkOSHL2ltmrFYQb
         qjPbimQtRlMcQeNupGomCSN5i4OzGSXXSrM6sjJ0y5/preRdMMm1buGNosAbmV1Cow+/
         2A58JwLlJ1zGYQyJMKJrM8d5TGiER9t6VMxgDTbV+4IxTkR5hHm3S7t2VG2MUJqBwrRh
         iY1w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760011581; x=1760616381;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=yq8+oZ8sCpaPnU7ewuf6krsrOkpu1Vs7QMFLUjRalKE=;
        b=K462jQYdpKomNA7GRBUteH2LyzxZHR/r5fwEqUJDv9kmXaOwcOFeZyMXpAqO6nxuW3
         5YZ0ZMlTx1f07cilp/Ti8adz3R8N9dpL8V+kaxoWV5taknq7595d1L50FCTgAUzSGe94
         2HT++K3RkWN+5Dh8cuAfEhO6uCHax8GlIzZ8+j9yqG9odvlD994F3RNHNGg+PftWcZaq
         KL9rQaEcAKugVFopUgxarKXQoq46JV00HEJFMM7iPO6LSNYA6Bg1uND7rPQW17qYUI6k
         M/nM0QAtwj8hr9VYY4zXUFfbfdh2FNaglKB4NA9gUfXjb25xx9HxSQ51WvNNFLCkSYuj
         9t1g==
X-Forwarded-Encrypted: i=1; AJvYcCXxkCFyxxn6oCI4VhD96H0BxcsMlfAROFGzEOcz4ZGFZo+dySGM/8voYsxhZgEXYhkQsZYT1JvJtgI=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy7Rq1HmsBMTCbHJpsMt++f2xGSi0Rtad9hP8b+pTrsY4sKlACi
	Brm+J4Kv4Z3a9TzXnDzOlcYHQiu1pWLoASKZPSZNPFK7+EXQBsrQPvu9RAmPzGg7mA==
X-Gm-Gg: ASbGncuh+7ACaiq2MaUD0pBtLFPasoF83gz/nLlQ8Z1VlrcoltOzM/EkKgJ5LFRETXC
	OxFPxEjB8f0rrfPc5cTMow4J/6WBZtdlPF7COxFEBbd9jgvI6EoQc051m4YWv+SbDnqSJOZHpU3
	hXacUm1k+t7XGhKOnsuwt96DzopySDqxhx94phSPh4WpG+X8GLPrUEf+ia6n9qycqVf1TVXh3Hw
	x+MSp3GNmmmoSR/hy5UeAcU/XLZCDIidIIlENvV528epITB7lMZ/tHTpXDhztjlSWxvT+6Uy8F1
	nNzFmW6n1nGnICxlYkPN6KKf1hutmkqSjBk/CscPJFDBY3jR6iBuAX9AzvVJhNnwEa6zOUT3n+6
	BE4T4gH1/GWLxskaxrB9s7tFpmIEmo2ewe25yGTw/VwUaBLAdGtYxBvq+aik3hZmm98CeKfBzsR
	CiRZ4R7N1xDujo24Fwk6Plm4hcx1S1yAfh43H2RROCxw==
X-Google-Smtp-Source: AGHT+IHECNvjmo7jkwIKG5p4/kCfX3LRmeEuYC184HERGcJWIKJPy5J008k+qHX4RNHG3nWmgeIOkg==
X-Received: by 2002:a05:600c:4687:b0:45d:e5ff:e38c with SMTP id 5b1f17b1804b1-46fa9b02000mr48641675e9.32.1760011581093;
        Thu, 09 Oct 2025 05:06:21 -0700 (PDT)
Message-ID: <4b873422-a8be-4afe-b973-020690b0ff8e@suse.com>
Date: Thu, 9 Oct 2025 14:06:19 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 12/18] xen/riscv: Implement p2m_pte_from_mfn() and
 support PBMT configuration
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <cover.1758145428.git.oleksii.kurochko@gmail.com>
 <4495c8103548447f9a11963574a4cb9e01090e7a.1758145428.git.oleksii.kurochko@gmail.com>
 <7b51f40d-7ac7-460a-891d-afe1d9ab8991@suse.com>
 <6902c46e-c805-43aa-8753-7b6dc09716ae@gmail.com>
 <7fe4f483-ef3c-4954-9030-2c364673c9db@suse.com>
 <08f2b98c-928e-44eb-96ee-f8566330aed5@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <08f2b98c-928e-44eb-96ee-f8566330aed5@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 09.10.2025 11:21, Oleksii Kurochko wrote:
> 
> On 10/7/25 3:09 PM, Jan Beulich wrote:
>> On 29.09.2025 15:30, Oleksii Kurochko wrote:
>>> On 9/22/25 6:28 PM, Jan Beulich wrote:
>>>> On 17.09.2025 23:55, Oleksii Kurochko wrote:
>>>>> @@ -318,11 +331,87 @@ static inline void p2m_clean_pte(pte_t *p, bool clean_pte)
>>>>>        p2m_write_pte(p, pte, clean_pte);
>>>>>    }
>>>>>    
>>>>> -static pte_t p2m_pte_from_mfn(mfn_t mfn, p2m_type_t t)
>>>>> +static void p2m_set_permission(pte_t *e, p2m_type_t t)
>>>>>    {
>>>>> -    panic("%s: hasn't been implemented yet\n", __func__);
>>>>> +    e->pte &= ~PTE_ACCESS_MASK;
>>>>> +
>>>>> +    e->pte |= PTE_USER;
>>>>> +
>>>>> +    /*
>>>>> +     * Two schemes to manage the A and D bits are defined:
>>>>> +     *   â€¢ The Svade extension: when a virtual page is accessed and the A bit
>>>>> +     *     is clear, or is written and the D bit is clear, a page-fault
>>>>> +     *     exception is raised.
>>>>> +     *   â€¢ When the Svade extension is not implemented, the following scheme
>>>>> +     *     applies.
>>>>> +     *     When a virtual page is accessed and the A bit is clear, the PTE is
>>>>> +     *     updated to set the A bit. When the virtual page is written and the
>>>>> +     *     D bit is clear, the PTE is updated to set the D bit. When G-stage
>>>>> +     *     address translation is in use and is not Bare, the G-stage virtual
>>>>> +     *     pages may be accessed or written by implicit accesses to VS-level
>>>>> +     *     memory management data structures, such as page tables.
>>>>> +     * Thereby to avoid a page-fault in case of Svade is available, it is
>>>>> +     * necesssary to set A and D bits.
>>>>> +     */
>>>>> +    if ( riscv_isa_extension_available(NULL, RISCV_ISA_EXT_svade) )
>>>>> +        e->pte |= PTE_ACCESSED | PTE_DIRTY;
>>>> All of this depending on menvcfg.ADUE anyway, is this really needed? Isn't
>>>> machine mode software responsible for dealing with this kind of page faults
>>>> (just like the hypervisor is reponsible for dealing with ones resulting
>>>> from henvcfg.ADUE being clear)?
>>> In general, I think you are right.
>>>
>>> In this case, though, I just wanted to avoid unnecessary page faults for now.
>>> My understanding is that having such faults handled by the hypervisor can indeed
>>> be useful, for example to track which pages are being accessed. However, since we
>>> currently donâ€™t track page usage, handling these traps would only result in
>>> setting the A and D bits and then returning control to the guest.
>> Yet that still be be machine-mode software aiui. By always setting the bits we'd
>> undermine whatever purpose _they_ have enabled the extension for, wouldn't we?
> 
> Itâ€™s a good point, and from an architectural perspective, itâ€™s possible that
> machine-mode software might want to handle page faults.
> However, looking at OpenSBI, it delegates (otherwise all traps/interrupts by
> default are going to machine-mode) page faults [1] to lower modes, and I expect
> that other machine-mode software does the same (but of course there is no such
> guarantee).
> 
> Therefore, considering that OpenSBI delegates page faults to lower modes and
> does not set the A and D bits for p2m (guest) PTEs, this will result in a page
> fault being handled by the hypervisor. As a result, we donâ€™t affect the behavior
> of machine-mode software at all.
> 
> If we want to avoid depending on how OpenSBI or other machine-mode software is
> implemented, we might instead want to have our own page fault handler in Xen,
> and then set the A and D bits within this handler.

Won't Xen need its own page fault handler anyway?

> Do you think it would be better to do in this way from the start? If yes, then
> we also want drop setting of A and D bits for Xen's PTEs [3] to allow M-mode to
> handle S/HS-mode page faults.

What I don't really understand is what the intended use of that extension is.
Surely every entity should be responsible for its own A/D bits, with lower
layers coming into play only when certain things need e.g. emulating. This
lack of understanding on my part extends to ...

> Interestingly, OpenSBI doesnâ€™t allow hypervisor mode to decide whether to
> support Svade or not [2]. By doing so, we canâ€™t set|henvcfg.adue = 1| to disable
> it as menvcfg.adue=0 has more power, which is not very flexible.

... this point, which I was also wondering about before.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 09 12:10:13 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Oct 2025 12:10:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1140546.1475396 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6pTE-00063i-Ne; Thu, 09 Oct 2025 12:10:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1140546.1475396; Thu, 09 Oct 2025 12:10:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6pTE-00063b-L2; Thu, 09 Oct 2025 12:10:08 +0000
Received: by outflank-mailman (input) for mailman id 1140546;
 Thu, 09 Oct 2025 12:10:07 +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 <SRS0=I7dU=4S=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v6pTD-0005xr-4C
 for xen-devel@lists.xenproject.org; Thu, 09 Oct 2025 12:10:07 +0000
Received: from mail-wm1-x334.google.com (mail-wm1-x334.google.com
 [2a00:1450:4864:20::334])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e471c28f-a508-11f0-9d15-b5c5bf9af7f9;
 Thu, 09 Oct 2025 14:10:06 +0200 (CEST)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-46e4ad36541so9843335e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 09 Oct 2025 05:10:06 -0700 (PDT)
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-46fa9d4caa4sm82405685e9.12.2025.10.09.05.10.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 09 Oct 2025 05:10:05 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e471c28f-a508-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760011805; x=1760616605; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=BTyPoVhOlecL5F0GEeDUlRjaCSfL2lX6QJCafF7dvLA=;
        b=GCMP6xNGhyGpX8+vS8rgCc9PePM9alu87n7zs6WCriNLfHqqp2y7eQnL5zinhKdtEp
         DLqdANyMEaSXtznJJThPMbMWOF7oTDEv5b6SbdRQVjbeq7OibckFqsQrZCgLMTd1bDZE
         N1zEAEAJZsfB7lAsVgqNnceB0R+qCoSrcMjsF0N1hb3OVHfCt24LI16HauBaGLf9nj/D
         iFNJWN+atqzaqrycocY7DHerUXcF4SoZZhVtkieYLblqVoVSKYSH0RD/SnmJ/+iKYIk4
         V7nIHsnnae/FJyDNfljtUiXDSuCG7eV0YVUMH0dGgHAC/yUyAJgwE3e85i/hy6Q6uIvH
         5XNg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760011805; x=1760616605;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=BTyPoVhOlecL5F0GEeDUlRjaCSfL2lX6QJCafF7dvLA=;
        b=m80Ll0R6Hm0t4eSnCeTkT9QFBIo/daznQQYc+pNOse/zLyLDEMkBlE2h57LMc8QddV
         N0+1+fCsZFgUPgx8k73AIYjxtf4q77SS1PHzfUODbMd7r/mi30xQacJ3FuLeHoY3GtYG
         bWwZ8DfgqbQeRyaPCTYhobDY3EF6cCQ0BMH7yYuB22EpU2q0U4wsEGG4jvsGGcafhL3V
         2U07ryf3OBh0r1tNAfTRCHFld4CZlrIq84HHzjZQucwjw7U1hLy6lyEsuUDmqWyPgrtA
         1To5GWHAyl6vE95Vyrzoo+hu0IPht5NICbr23+xpVP4PjroJooJoGf+cY9gKJXgoRjku
         HA8A==
X-Forwarded-Encrypted: i=1; AJvYcCVRG6C7wpAslngXnK4Lsw6KYh1bP1nnCaD/YtBhX26zWXlMCRtkH4w28aqROCb7DQmfDWec3KvqIUE=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy70StceArzwHSbIr3h2NMdOGRG9mT+rQs7+SdZavo87vJD0P43
	pa9/Pn89fPVlN9rmx3hNzaYollP5rI/qZT4ypLnLfyNw//pWw1iMmXbw+fQ62hghWA==
X-Gm-Gg: ASbGncvZ7aXvF/8ihPAu3rPqB4ugMWigvsjnssd+bi4/Gn9uK0gpDz6igW/k6lISaXE
	00SeAMqgH+QoKCCOk/ndupzZJXSAAR+XZXIlidYUq+4Y2Q9EEpREdFQfEnJG6N6dxkz5RiaBJjo
	GKJ+5/Z5dNIzjK1rGX3OxcKN9XO1+IXi4M4P3lH8aULFZ3158pVDigAA2cUDNBlUEcXDUPIwQS6
	Y3tTRg1cEExMkxMPzmeANp2bVrLLJ4vn5HzFSkH25d/cAA8+LKxQxm/N7LaWT96PZEuG0y68EgX
	QVocwBowvi0G0d6QmLmfEMPsALftRbGErNz2IqsVc2+YzPDsA/y/VdPTNvd2wyhFAcTFR0NhclI
	9fOXraZPZmu6w3QUNDVQGDp7z5z1FlUeJeTQi+X8UT1I7Da4Y/n2kYkir/C8N0W6wUla37gsAVg
	deVjB7SzfmQ5XFDzM1t+d1FCxCuS2lSRs=
X-Google-Smtp-Source: AGHT+IH0bc3ZiBvMxkow6bsZZGu2FSKqFT0EfFlWgViqdSQtcoBqu8kVQnN8ipRNMhJRXOcPkEFH2A==
X-Received: by 2002:a05:600c:8206:b0:46c:d476:52f3 with SMTP id 5b1f17b1804b1-46fa9b021abmr49935745e9.26.1760011805485;
        Thu, 09 Oct 2025 05:10:05 -0700 (PDT)
Message-ID: <fb6debfa-cdc2-491c-a488-6a4bf64ca7ad@suse.com>
Date: Thu, 9 Oct 2025 14:10:04 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 18/18] xen/riscv: introduce metadata table to store P2M
 type
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <cover.1758145428.git.oleksii.kurochko@gmail.com>
 <f1e346b228ea76eb5bd988e8aab0062cbea58c9d.1758145428.git.oleksii.kurochko@gmail.com>
 <4c2eb99b-3e88-4364-8c3f-7c70d4064ef4@suse.com>
 <5142b7c4-ab2e-4f73-a60d-3d23fe255ca7@gmail.com>
 <4232140b-e44a-4d8b-8178-b583a2f4fabc@suse.com>
 <e875ffa9-28c5-4733-b079-babad3734a9c@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <e875ffa9-28c5-4733-b079-babad3734a9c@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 09.10.2025 13:34, Oleksii Kurochko wrote:
> On 10/7/25 3:25 PM, Jan Beulich wrote:
>> On 01.10.2025 18:00, Oleksii Kurochko wrote:
>>> On 9/23/25 12:41 AM, Jan Beulich wrote:
>>>> On 17.09.2025 23:55, Oleksii Kurochko wrote:
>>>>> +    if ( *md_pg )
>>>>> +        metadata = __map_domain_page(*md_pg);
>> Not this conditional assignment for ...
>>
>>>>> +    if ( t < p2m_first_external )
>>>>> +    {
>>>>>            pte->pte |= MASK_INSR(t, P2M_TYPE_PTE_BITS_MASK);
>>>>>    
>>>>> -    return rc;
>>>>> +        if ( metadata )
>>>>> +            metadata[ctx->index].pte = p2m_invalid;
>>>>> +    }
>>>>> +    else
>>>>> +    {
>>>>> +        pte->pte |= MASK_INSR(p2m_ext_storage, P2M_TYPE_PTE_BITS_MASK);
>>>>> +
>>>>> +        metadata[ctx->index].pte = t;
>>>> Afaict metadata can still be NULL when you get here.
>>> It shouldn't be, because when this line is executed, the metadata page already
>>> exists or was allocated at the start of p2m_set_type().
>> ... this reply of yours. And the condition there can be false, in case you
>> took the domain_crash() path.
> 
> Oh, right, for some reason, I thought we didnâ€™t return from|domain_crash()|.
> Iâ€™m curious whether calling|domain_crash()| might break something, as some useful
> data could be freed and negatively affect the internals of|map_regions_p2mt()|.
> 
> It might make more sense to use|panic()| here instead.
> Do you have any thoughts or suggestions on this?

domain_crash() is generally preferable over crashing the system as a whole.
I don't follow what negative effects you're alluding to. Did you look at
what domain_crash() does? It doesn't start tearing down the domain, that'll
still need invoking from the toolstack. A crashed domain will stay around
with all its resources allocated.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 09 12:14:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Oct 2025 12:14:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1140555.1475407 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6pX0-0006bz-7n; Thu, 09 Oct 2025 12:14:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1140555.1475407; Thu, 09 Oct 2025 12:14:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6pX0-0006bs-46; Thu, 09 Oct 2025 12:14:02 +0000
Received: by outflank-mailman (input) for mailman id 1140555;
 Thu, 09 Oct 2025 12:14:01 +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
 <SRS0=zQ7T=4S=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1v6pWz-0006bm-7D
 for xen-devel@lists.xenproject.org; Thu, 09 Oct 2025 12:14:01 +0000
Received: from BL0PR03CU003.outbound.protection.outlook.com
 (mail-eastusazlp170120007.outbound.protection.outlook.com
 [2a01:111:f403:c101::7])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6f17a33f-a509-11f0-9d15-b5c5bf9af7f9;
 Thu, 09 Oct 2025 14:13:59 +0200 (CEST)
Received: from BN0PR03CA0006.namprd03.prod.outlook.com (2603:10b6:408:e6::11)
 by DS5PPFD22966BE3.namprd12.prod.outlook.com (2603:10b6:f:fc00::662)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9115.22; Thu, 9 Oct
 2025 12:13:52 +0000
Received: from BN1PEPF00006000.namprd05.prod.outlook.com
 (2603:10b6:408:e6:cafe::2c) by BN0PR03CA0006.outlook.office365.com
 (2603:10b6:408:e6::11) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9203.10 via Frontend Transport; Thu,
 9 Oct 2025 12:13:52 +0000
Received: from satlexmb08.amd.com (165.204.84.17) by
 BN1PEPF00006000.mail.protection.outlook.com (10.167.243.232) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9203.9 via Frontend Transport; Thu, 9 Oct 2025 12:13:52 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.2.2562.17; Thu, 9 Oct
 2025 05:13:52 -0700
Received: from satlexmb08.amd.com (10.181.42.217) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 9 Oct
 2025 07:13:52 -0500
Received: from [172.28.217.164] (10.180.168.240) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.17 via Frontend
 Transport; Thu, 9 Oct 2025 05:13:51 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6f17a33f-a509-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=HWFdJ9gxZliZvkgMrFHOL80O3yFxxvfdlUgm0s7TuC1es8Zf4jPLEGUKp3PKYrLcnPtmYmQT2K13VQ5sDBSB1jwMhGCuFG+0KF84cavm6xPIZToA7FEI/B5YdjOkbFJT52f01ySVI4L6tha9lZqswTmTG+PhNkJSNPWD5ilY19MOhGa0ay5miy5cA5xHbVCwLN5cOIm9Qi7sYR9JVzlVUDWf/S4U703ZdaIH4JkjPuWOFgP1ouJDZRM+rQu/3P785w+xco3g4wUdAJSKhexm4XrPcz2cszCk6wK1S7gqg6ZYN89ixTtvQwAq2ioG8cwXbERNn1tsO1l5Xc72cEN5lQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XJWsT22i94cKOd7BaW2wMPl8H4DTMQ1Dwbe5Kv3NEZ4=;
 b=nFfUetdL8A3w+ItuIQY8AwUBa//n4sJH2HFXmCQ7xLWjfhzm0ZvjpHIMIbNoV22g0e0tniI8+1+VSJC6NTnG5l0RgbjP1a8finLYZa10yg3hgfp+JwOoYw/mnA3rv/OOtFtrxZp4BlShXr2h6f0KX3qffP9zbYfw/sMEEQdoxY8GnqpIP96XruN27esBagNvOznJ1ilcxRAP83tLabjrAHRF/jD2+eF+A+RYN0r/tG08F9ub8eOxsomlXjhPsiUIHQ6QCDirPghrrG0cAgb7vXjck6K2wAADWvZ/i/Jqz5+A0r30UEiIfy55HlU4OkO+9CNYKBsCHXSvy5GAehbYMw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XJWsT22i94cKOd7BaW2wMPl8H4DTMQ1Dwbe5Kv3NEZ4=;
 b=WQcLaMF5LiCnRwgzrcsPw1dUS7hSN8e4/grODp17nJSnAq3EHNsayUbMIFWhLI2oJLrDc9VXrmmtFuWUx/5HMvZbhSdSSG7DhEAu60A7O1zuv9NH0xtn4eKUr1tf/BaZpw7F6YZVPHJ5HxmBwJ8jpc0ru1R5wgVDVOYj5iPmjps=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C
Message-ID: <a7dde876-0faa-451d-8815-9567bf7da466@amd.com>
Date: Thu, 9 Oct 2025 03:39:47 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21] x86/HWP: adjust feature_hdc's section annotation
To: Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
CC: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, Oleksii Kurochko
	<oleksii.kurochko@gmail.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
References: <2622f83a-e67b-479c-8027-5578eb066ff3@suse.com>
 <d445b2c2-0278-4ade-a14b-178a0ee0f5c5@citrix.com>
 <6c4c89d5-cb17-4655-9c45-25cda9c4c6bb@suse.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <6c4c89d5-cb17-4655-9c45-25cda9c4c6bb@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB05.amd.com: jason.andryuk@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF00006000:EE_|DS5PPFD22966BE3:EE_
X-MS-Office365-Filtering-Correlation-Id: cbd5ed2c-c9d2-4890-e8b9-08de072d4fc7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|1800799024|82310400026|36860700013|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?VGk0cHJnQVM5S05MdmZUUEpxcHJGL3RNeU5YNHplQ3VpOUFqaEE4NTkrL2pD?=
 =?utf-8?B?anlWeEpUeFBER1BNWkVCMEpSMWkvM25NSmNkcmpBeUlRTlI2VXlXQTYzQnQ2?=
 =?utf-8?B?UWxHemJPdUE3a1VJS3JwVjNuVVhQQlowaVJaclFUZmxGQ0dGWmNIVXVBRWNG?=
 =?utf-8?B?dTJUSS9MOGNPTDM2M2JQbTF0R2VYMWhza1VlaW1BSGlCYU5xenRwYjNtZ3Jy?=
 =?utf-8?B?RDFrdkVJVkRJUnA3Q3FBZW8ya015cFVvSTRIRWpWcTdBR0xWWWRwYUdBVmh0?=
 =?utf-8?B?Q0tOUWdlWjkxcHFYWmlWNU9Jb1pZS0hnVVE0cFpEQXAzckp5Z2NQL1ZjTnFa?=
 =?utf-8?B?alIvY1EzTWc5dDRaMmlZOXZaWSt2RDdkRmxvTjhjZlliUC9LM2NUOU12eHdV?=
 =?utf-8?B?QUZEeGtyNGZPOWxiNmIxaVNWNjVBQVBGbXh4RUtXTmN3WXY0Qkp0dmVSMUlP?=
 =?utf-8?B?OEppOWxkeHhoUkc0TVN6SUg4Sk41aEQyYnIrTUxQblVBZDZqR0Jhb3lxZ3BR?=
 =?utf-8?B?UElaWWRkOENSRnNEYjlPczBFbUh6elh1VGNjaGg2bmltUW9Xb0dsMWp3d2RB?=
 =?utf-8?B?cC9FcDNNbWpaMXhRemRxdHFuZjZhV0xSREpYK3ZkQmtGMHBPK3hpWk52ZXRC?=
 =?utf-8?B?SEJnVGdvZmVIV2lIWWZ0M3JLZWNiTWQ3WEMzdTA5U1RRNFlJVzlJQ0dydFFP?=
 =?utf-8?B?LzlJSnp1WTBsQjVNL3BqTjN4OWJKbGwvS1JnOVUyU2hvVzhhWnlQMk1KcWw0?=
 =?utf-8?B?ZmhML3FKN1NqNHdwSVFGL1VEZXRhQW9sbEdicExMeVVvdmI0UU81NDRBNDhJ?=
 =?utf-8?B?UUhYMlhWT29pVytFUGpmdjlZbzZsbE9zT00vRjF4MXE4U1BhajRUNm1XSkVK?=
 =?utf-8?B?RFpUWGxWZ1NkYVZVU0x3N3Z4cit6SEVJVG5DZkk5b3NxZG02bnpjQlJRbVlz?=
 =?utf-8?B?Ym1acFNWL1BxSEJyY0oyTjlNSWpkR2ZjQlYyMW1RZkQvekEvemxpdWFseFZj?=
 =?utf-8?B?Um01Y2xKcDVjcTNKenJKajl6Y3UvMXhIR0wvVnJYZENNbTV6ZitGcDU5VG45?=
 =?utf-8?B?TVdnaEg0TGRYM0tpZDJ3WnNRelZvNitIUWdVYmprRk83NjNZMzlyNFhqU1VG?=
 =?utf-8?B?TW81bjZvL1Ezbkh1ZmQ2WUl6dWZoeEtBcnZWRm16RXMwOURRWGtLZGcyYnV5?=
 =?utf-8?B?N2Y5QU84MzVacjN1ZVFTKzJMQTlZaG1kVHVsT3doUS9tQWMyQmFWSllUWWNy?=
 =?utf-8?B?amJaVzVmOGdXcWpmVE9aVDdHc09mTWFkcWE5enA3L2FYU1B0bnFwYWZTaUho?=
 =?utf-8?B?anhQaHlKbUJZdGMzUGk5d2w0azloSi9zcVUrbmphTEs0MEhMUFZsc3RIMHVW?=
 =?utf-8?B?TXZiaGt2cDA4eUtpVyt6bXgzczMrdEZlZmI2bko5eDZ6ekZXTjRwSllJdWM4?=
 =?utf-8?B?QkNXbW9CVHJlYWhtSDc2NWw3Y0h2L1JnNGUwdnVYTkFBNys4Z1FmZm9WcWNv?=
 =?utf-8?B?Tm1pY3IrakhZM292aTMzQXQ4UURzaS9EQUorY256a2F5L3JKZjJENnAyN2gx?=
 =?utf-8?B?ZEZBSjhtVG9NZGNnS2MzV2FLeUlmdWU4dXErRFFlWlRDc3RSK05OdU1LRlFG?=
 =?utf-8?B?T2lvczhGbGtlS2Fnd0FaTzMzckhvQmIwMGhTL1BwL3B3WjgwV2k3NDNyZ282?=
 =?utf-8?B?R0ZsSmFpOE5yY0VuMW03ZVkyaUQ5a2RUaGFhTDU4L2plOG9zVUhsb3JuM1Nn?=
 =?utf-8?B?UElMQ3VqSUJKcVN4U2NteHN2SGNFNWpnRjNEWFdIdEZyWFhwc0pyNDRGTkQr?=
 =?utf-8?B?NTg2MDNEOTRpZmhBUjJLN2Q0aGx1cXpJK25aaGp3VmdVM05zWm9mVCtXUzhl?=
 =?utf-8?B?dVNOOGlUdllDYUFCRWpkTnF1cURicEFtTERPVW9aSDJ0cDFwV1VpNXVaUmRm?=
 =?utf-8?B?RVNmaEFjSDhkb29iUnFFL3kzN0xiWGtUQmc3eDVwVXBRUnZMYXoxVzdMdGpr?=
 =?utf-8?B?WjZWTFlBMng5cVpvZVVmOGxUMllqN2lJWUJpR3VRUTl1KzIzRm5VZDdTelBl?=
 =?utf-8?B?c1phbUFBVmRHT25YY3JrVHdSYXpFUEpwM0p0UG1nRzBJaTNMczViSVBKM2FJ?=
 =?utf-8?Q?xX9c=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(1800799024)(82310400026)(36860700013)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Oct 2025 12:13:52.6079
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: cbd5ed2c-c9d2-4890-e8b9-08de072d4fc7
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN1PEPF00006000.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS5PPFD22966BE3

On 2025-10-09 05:09, Jan Beulich wrote:
> On 09.10.2025 11:07, Andrew Cooper wrote:
>> On 09/10/2025 9:50 am, Jan Beulich wrote:
>>> The variable can be cleared (set to false) by a non-init function's error
>>> path (hwp_init_msrs()).
>>>
>>> Fixes: 99c4570f8209 ("cpufreq: Add Hardware P-State (HWP) driver")
>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>
>> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>
>> For 4.21, surely?
> 
> Definitely, forgot to tag it accordingly, but Cc-ed Oleksii be this reason.

Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>

Thanks,
Jason


From xen-devel-bounces@lists.xenproject.org Thu Oct 09 12:14:13 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Oct 2025 12:14:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1140556.1475417 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6pXB-0006u1-Iq; Thu, 09 Oct 2025 12:14:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1140556.1475417; Thu, 09 Oct 2025 12:14:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6pXB-0006tu-G6; Thu, 09 Oct 2025 12:14:13 +0000
Received: by outflank-mailman (input) for mailman id 1140556;
 Thu, 09 Oct 2025 12:14:12 +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
 <SRS0=zQ7T=4S=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1v6pXA-0006bm-Je
 for xen-devel@lists.xenproject.org; Thu, 09 Oct 2025 12:14:12 +0000
Received: from CY3PR05CU001.outbound.protection.outlook.com
 (mail-westcentralusazlp170130007.outbound.protection.outlook.com
 [2a01:111:f403:c112::7])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 76661473-a509-11f0-9d15-b5c5bf9af7f9;
 Thu, 09 Oct 2025 14:14:12 +0200 (CEST)
Received: from MN2PR11CA0012.namprd11.prod.outlook.com (2603:10b6:208:23b::17)
 by PH0PR12MB8031.namprd12.prod.outlook.com (2603:10b6:510:28e::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.9; Thu, 9 Oct
 2025 12:14:08 +0000
Received: from BN1PEPF00005FFC.namprd05.prod.outlook.com
 (2603:10b6:208:23b:cafe::63) by MN2PR11CA0012.outlook.office365.com
 (2603:10b6:208:23b::17) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9203.10 via Frontend Transport; Thu,
 9 Oct 2025 12:14:07 +0000
Received: from satlexmb08.amd.com (165.204.84.17) by
 BN1PEPF00005FFC.mail.protection.outlook.com (10.167.243.228) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9203.9 via Frontend Transport; Thu, 9 Oct 2025 12:14:07 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.2.2562.17; Thu, 9 Oct
 2025 05:14:06 -0700
Received: from satlexmb08.amd.com (10.181.42.217) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 9 Oct
 2025 07:14:06 -0500
Received: from fedora.mshome.net (10.180.168.240) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.17 via Frontend
 Transport; Thu, 9 Oct 2025 05:14:05 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 76661473-a509-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=dGG6Fc1sVoYwmqUaNP45YlprB0P8YzgTcxzqNokFiE4XXAvi3LIzWLNU1Y/GZX/ZjzZCh+dnMQiqVRl9wx8WQcvlPFn0nsSJYsCVCzqd0ST7I5POaZoNGje/5IqdPqdvKXovR9QvzeAxPDETY8eYV96IkGRFGYSQciGGZeLpWbP0DD98352Mf5yzr+pcjbFbB2ZQRnesE36fX3fMLhrQ9T1F/WQVo8ryudgTQWnyRwEV1UlIMunasjlJ83dZLwzmXKT3ch5qeTMHjMSwq3AlkekhxY4/tIxNnh3ot9Fi5/cTtVp2B6tts1Q49cIPWKoFUrW+k0oOmIvMoMr3P064cw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sxYjME8O6SksfkkDnzpm+6F/u6iqKZeg+GHZLWETZzc=;
 b=CGhlFJLi1Xkv1GV8dP6+L4szEFlNBniZdh59cnE+daygXThGOYN07o2f2SlV5Aj+fSyUxJPlhH+DJdMq+9HGVuRrUNIgko0HmiijFZ/mCmo17qe71j/AihcSQHt+X1aBxLEI/4oiiluITT/v5ZXJh6hfe1X47FwxduNHUhS2nh3v43wWfYx2Pq34Ppj1zF7P1kHhx+ZyDUfhRE0Ra7tQadTxPOUrah9OX9MJ8Vx7xdLsIZq1/8iAthvgMFPaAwaWJoGHgyCe3wGfwaLO8hr4TgTmbmEFnFG8jVizCVD33c1AS3vBsm+HimBnHrggveb9XW7ZAf18fzI930fIOf+1OQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=sxYjME8O6SksfkkDnzpm+6F/u6iqKZeg+GHZLWETZzc=;
 b=ntUPokmcsSphWYUYgt1LvoFu+0qsZiJ11Eg+5zxxC362XzxqAdjRPRprWt8TJiEKg3U0XI3XQ/UcRy3osjR36al0wILfF6DEwowJyPNGqqSlHfVlZqZP54FwEZb79XU55qx/1COBtC+SjvRoLf39Q89gQj99lMAGnQKHByND1eQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jason Andryuk <jason.andryuk@amd.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>, "Julien
 Grall" <julien@xen.org>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v2] MAINTAINERS: Add myself as an AMD SVM & IOMMU reviewer
Date: Wed, 8 Oct 2025 16:11:05 -0400
Message-ID: <20251008201106.36204-1-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.51.0
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF00005FFC:EE_|PH0PR12MB8031:EE_
X-MS-Office365-Filtering-Correlation-Id: 367260eb-4f31-4a43-4d97-08de072d589c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|376014|82310400026|1800799024|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?aWlIL2dxVE9abVM0a0k3Zy9IeGsweDIxQkIzQ2FOSWJCbkNndUhzaXhYbXNQ?=
 =?utf-8?B?a2NibTh5ZXl4bmhCNDhyMUpWaGJrd3JIRWlpWXhRT3JMd3JpcmRBanJPeXJp?=
 =?utf-8?B?T3VLSlo1OFU2VE9Qd2ttNU9RU1ZKUWpEQ2RKWW1JbzZ0WnFTaGZZOFU0ZWUx?=
 =?utf-8?B?eXFtc2FKRDRncGpTZmo3blp2Unpxclg1ZXNId1ZsWUl2VG1IVUF4aWRXU1o0?=
 =?utf-8?B?YUx6d213SzhBRVZZejNTS3c4alN6ZWhiME1aL0tOWDZudUowd1lFUnV4dlhk?=
 =?utf-8?B?SmZmaURKanRpbzIwYUFRVERzL09QdDVJenc0eXVLQkd2MUw0SmszNjB1c0Vu?=
 =?utf-8?B?N3lLeFJnTlNwa2ZOam1Nb0wzV3VLR1lTV2dJaFRLOFpQaER1T2hqbXRFU1px?=
 =?utf-8?B?L0lhWVEwcmp3VjVjblJ6bmJtcW80ZjY4OUF0N1ZkL2psdXNaOVFOZG9POWVH?=
 =?utf-8?B?aTBJSUFFOGNQemRoejhNWFZpY2RZYkdGS1p4WGk1VStTMUZBdkRRQzdhMThT?=
 =?utf-8?B?MmtERHNUYUdacGRPb2RSaUR0OVBqQ2l1OGMwd3BYWDcvL3ZJZTlTbG9LaDZL?=
 =?utf-8?B?VVYwUlRnRHpKcDhCbXhINDhFQ0JPT0R4MllkS3FkK1N4SERQbnNOZkJSREVU?=
 =?utf-8?B?VHI3bFovMGlxWXRmd0puUWpYRHRkSWJ0VDVNMms2dkY5dEUwQWQwSG9uYnNj?=
 =?utf-8?B?YVVIc0NSazB0Wm1lNzlVcHI4bXRIWll5VkxNZ1pqTWlVcjg2Qm9URTRYRlFs?=
 =?utf-8?B?eG51bDB0VFhDODZsQzU1UzZZN1hTbForRW10MTVVVEZBVlVDVHRxb0czeURo?=
 =?utf-8?B?QWRzVmhuZTRlKzhvbEF4ZTZSbGE0dXVVbCtEZDZLbEhGU21kRncrcVhncXQ5?=
 =?utf-8?B?Ylp2TVZ4T1R0UmMzQWFMdThXRjFXcjZGS0lWMUZTZ1hpZlkxdmpZTVA1TE9v?=
 =?utf-8?B?eVlIU21nNy9QeXp6Y2dYRzVFRGIwOVRqanRyM2dETXNUWkM0V0hLZlFHemNy?=
 =?utf-8?B?SEROdHVhRDBmMUhtN0FhdTdXN2d2ZEQ5VU9yU0RrdGYxcWhGWnF4dUZLaXF3?=
 =?utf-8?B?K3huTFNScVRaZndsaEhjTXQycmhhM0ZjSS9Zd1pySDJ1dEYyOWM5ZW1QRHR6?=
 =?utf-8?B?OSs1NkxRY1F1MzlrQzU2b3ZsMzdRamYxdHp4dEpQeUlQU3M0cWl0cGx1Mlo4?=
 =?utf-8?B?SGMyN1VydVJwdkxmZ1JzTzFyY3dmNVczQktFVmJURDY3eVVXTnV3OU5uRXR3?=
 =?utf-8?B?YW5ENzJ6T3cySU4wczdRT2xYRzZaN2FoSzN0N0VtMTAzWlRmRzNGSEptTGVy?=
 =?utf-8?B?YWhBMzRPcHFmTnJXWWhPTzBKT0FCcnl6eE5KeTg3a2lpbWpIR1M2cnFvdTRa?=
 =?utf-8?B?TWtYbGRRdHkreURpYnZHOHFWUmhHOXQ2R24wOFBnWkNyOUYzck9HWStJSitp?=
 =?utf-8?B?b1JVb3NIZmVneWRmc0RPb0tMeENmNGMyYUEyaVZSWHhCb0orNitVQ2h1TWNO?=
 =?utf-8?B?aHJoNEE3aDFZYTlHRmhSSTA2ZkVRWXpBVXRhdmpWV1lsbnd5emZ5MmhwVStt?=
 =?utf-8?B?RmJvNkc3ZFNlUnhicDlwMkpJbjRWOFRjbmFqWUI3QkV5VENQb252OHYxMElr?=
 =?utf-8?B?Y3g4MndERjhCc1ZmVGxFcTFINkpidWY0M09rbEl5cnRoaStBaVZILy85UzBD?=
 =?utf-8?B?QmxXeFdndVFaVVFVTXJKMzJqbU95aGRmQ1RKOUR5QmVKS0tYYlgzTXR2RGQ0?=
 =?utf-8?B?SUFvd1luM2xvTWFDMTJMR2N5dURqS0V2ajVwbnZCaTBnK0oxSEtaNTlFZ0Rn?=
 =?utf-8?B?RXo1bU9XeDlRMHJEZWRDN3VTdVdWdm8zTGE5YkZxWW0yeEtHeU1XVlF6Ly96?=
 =?utf-8?B?dXlMYmlMQ2wvc2FqTmtJOTlLWWFGUzRrMHFadG1vVGswd25vUDcvOFlBSklW?=
 =?utf-8?B?ZUtvdXZtN1Jjb3IyVW1TOU54Nm1PdDBTUk9OelQxbnp0elQzNGFvYUxMVnNI?=
 =?utf-8?B?Tmx2Uk1ZeW9ZSHN0b0FsbjVkM1VaQ3ZvaDk0TnhQUnN0LzU5Ly9jUUozKzBH?=
 =?utf-8?B?L3pBSUNISjRWbEZPdCs2RnptdXRlcU12NndNb1Flc3dUczdTR2J6YTNGRytW?=
 =?utf-8?Q?wRZo=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(376014)(82310400026)(1800799024)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Oct 2025 12:14:07.4326
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 367260eb-4f31-4a43-4d97-08de072d589c
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN1PEPF00005FFC.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB8031

Split out AMD SVM and AMD IOMMU, and add myself as a reviewer.  Jan,
Andrew and Roger are set as maintainers as they were for the X86 entry.

Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
Acked-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
---
v2:
Alphabetize entries
Add Roger's A-b
---
 MAINTAINERS | 20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 793561f63f..bc134ef9ec 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -220,6 +220,23 @@ F:	xen/drivers/acpi/
 F:	xen/include/acpi/
 F:	tools/libacpi/
 
+AMD IOMMU
+M:	Jan Beulich <jbeulich@suse.com>
+M:	Andrew Cooper <andrew.cooper3@citrix.com>
+M:	Roger Pau MonnÃ© <roger.pau@citrix.com>
+R:	Jason Andryuk <jason.andryuk@amd.com>
+S:	Supported
+F:	xen/drivers/passthrough/amd/
+
+AMD SVM
+M:	Jan Beulich <jbeulich@suse.com>
+M:	Andrew Cooper <andrew.cooper3@citrix.com>
+M:	Roger Pau MonnÃ© <roger.pau@citrix.com>
+R:	Jason Andryuk <jason.andryuk@amd.com>
+S:	Supported
+F:	xen/arch/x86/hvm/svm/
+F:	xen/arch/x86/cpu/vpmu_amd.c
+
 ARGO
 M:	Christopher Clark <christopher.w.clark@gmail.com>
 R:	Daniel P. Smith <dpsmith@apertussolutions.com>
@@ -601,7 +618,8 @@ M:	Roger Pau MonnÃ© <roger.pau@citrix.com>
 S:	Supported
 L:	xen-devel@lists.xenproject.org
 F:	xen/arch/x86/
-F:	xen/drivers/passthrough/amd/
+X:	xen/arch/x86/hvm/svm/
+X:	xen/arch/x86/cpu/vpmu_amd.c
 F:	xen/drivers/passthrough/vtd/
 F:	xen/include/public/arch-x86/
 F:	xen/include/xen/lib/x86/
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Thu Oct 09 12:36:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Oct 2025 12:36:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1140585.1475428 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6psx-000259-BB; Thu, 09 Oct 2025 12:36:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1140585.1475428; Thu, 09 Oct 2025 12:36:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6psx-000252-6E; Thu, 09 Oct 2025 12:36:43 +0000
Received: by outflank-mailman (input) for mailman id 1140585;
 Thu, 09 Oct 2025 12:36:41 +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 <SRS0=I7dU=4S=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v6psv-00024w-HK
 for xen-devel@lists.xenproject.org; Thu, 09 Oct 2025 12:36:41 +0000
Received: from mail-wm1-x331.google.com (mail-wm1-x331.google.com
 [2a00:1450:4864:20::331])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9a9e0abb-a50c-11f0-9d15-b5c5bf9af7f9;
 Thu, 09 Oct 2025 14:36:40 +0200 (CEST)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-46e2c3b6d4cso6406855e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 09 Oct 2025 05:36:40 -0700 (PDT)
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-46faf105648sm46490645e9.2.2025.10.09.05.36.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 09 Oct 2025 05:36:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9a9e0abb-a50c-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760013400; x=1760618200; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=MmXB6mapz29wo1ttiS30gTWIB5c9u0EFJH7vM7zwpsA=;
        b=J2BBMzXYIaCyU9TsTVgMskHUWhoYTMrxA9Z6J+xapTEqEC8cLBn1YKbhy+XW+wVBq2
         F5bmhQRKi6jPPX6CHsLoN9MDe1CPC0bowUkDWOG9gVNdVPVGH9IgzFIC5Fog+Lms+Q7k
         aMrnyq9sxkODZCg/wu+tFUVFj22UKmqVIoCgoKnXs1vn3cS5DuXMh4wPDyJDSGVrtmno
         LEH3N0/VlBdx7Z+iL/nn9igI4m82JTZQnFyHLIlxaRZVQU22maWnFRquRfx51g2/6c6/
         PYxccYZPtVtKDLKuqvpo4FwDmE4dADBBDrtAaJ8V1o/FRIqdDLujjzwwe8Yplbw8tFJs
         /bXA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760013400; x=1760618200;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=MmXB6mapz29wo1ttiS30gTWIB5c9u0EFJH7vM7zwpsA=;
        b=kHvsZCId+5DMAZlsH2oUB22yIeAUndmMeaTm+NzIKlp7QfMbeIOXC8Nu5eEYF+cLxT
         KGOTNvsW/IWac8ipueTN0SBe05SQkKA420IAmkQu2uRX9B8ggn4KuVNsCdaZFdJsdMd2
         hEhP8dc//UTaigwgjU3QZQR+89m8fQpnnTiKwQntdty0nbAbY2otsf8MIRzttJ39n5il
         7hsvXjxr8pvFLfPNa8QsKl+Ywk2YLpOhP/DeZRTbP7gFesQgM6BnY0eN1R6EDJsDZYgf
         b3t8V6Akb4gwaw0jYeROO1gl8ItsfXFga4gGjXFHMftKWGk4UoMsCWK+DyO474cxlbKX
         PL1A==
X-Forwarded-Encrypted: i=1; AJvYcCWMToJyfFLZS8hqs6R7DRT1Vcb5Q0R0lv/LRgDFR1s/IOgsWjgtJKsR1hZTT1rPd4R9w4kWdB8yPtM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxXsNt4ALxQVYDjhs1jA7OFbR0Z5cHgu0SE2wxCh2xrx3TgbEdE
	NUKetHZfNB9Yb1zNUgheC+h1oOa/y/RPTEHJpSheVNrr4SEZk0T3QjsN96SSfyXN+g==
X-Gm-Gg: ASbGnctXoWfc7/B9bSa2Qb42Tjwng18U+8Wlkl+7y9eqgJ4nSuXcyoXW5BvyMy035js
	+WXvQSNfEa9h73ddY/QrjjlcAUonElg7VMAfMud4Gz+B2fhvn3hWvxxRN9TcQx6CeEwvaAqXqHw
	ofIOD4Yonx42MF2WRbJZPy/qZ9OitHgAFpDvJjKdLEioHvJM3zzS0uk3W3MUhvL2Ae1vILORu1n
	yRP9F+jdBCX7ywXviUTRQ0RwKXjKj7Bww04XpwYVTl/HSHLc5AwLgF0WdvWKzY3P4K86sEfu7mn
	oc75XDGxgznW6I/9QgFZ+4XTwl260BXo58zGiQSOpaCgHq5lNkX+WuohyjOY6MdFvgA3efx3LUl
	9tQ+vBm78Gcn1aJONTYkRCCcsF3zR4nR1kgILOnVfv0aXZIItxxuNd2Qh3qieHLaiAyVvUnWbPq
	RytAC0JnaDL7+AQDmmS+DwkRg1WCBSGfs=
X-Google-Smtp-Source: AGHT+IFCcchPVBFv582m3PLp/RPRBY4cGpeQAGKDot6rqkzYyVobI7v/OK+g9gHhiuqa/nTumzXmoQ==
X-Received: by 2002:a05:600c:a401:b0:46f:b43a:aef3 with SMTP id 5b1f17b1804b1-46fb43aaf75mr958765e9.39.1760013399630;
        Thu, 09 Oct 2025 05:36:39 -0700 (PDT)
Message-ID: <cf852476-8a51-4623-b4aa-d9fc42622b1c@suse.com>
Date: Thu, 9 Oct 2025 14:36:38 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] MAINTAINERS: Add myself as an AMD SVM & IOMMU reviewer
To: Jason Andryuk <jason.andryuk@amd.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20251008201106.36204-1-jason.andryuk@amd.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251008201106.36204-1-jason.andryuk@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 08.10.2025 22:11, Jason Andryuk wrote:
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -220,6 +220,23 @@ F:	xen/drivers/acpi/
>  F:	xen/include/acpi/
>  F:	tools/libacpi/
>  
> +AMD IOMMU
> +M:	Jan Beulich <jbeulich@suse.com>
> +M:	Andrew Cooper <andrew.cooper3@citrix.com>
> +M:	Roger Pau MonnÃ© <roger.pau@citrix.com>
> +R:	Jason Andryuk <jason.andryuk@amd.com>
> +S:	Supported
> +F:	xen/drivers/passthrough/amd/
> +
> +AMD SVM
> +M:	Jan Beulich <jbeulich@suse.com>
> +M:	Andrew Cooper <andrew.cooper3@citrix.com>
> +M:	Roger Pau MonnÃ© <roger.pau@citrix.com>
> +R:	Jason Andryuk <jason.andryuk@amd.com>
> +S:	Supported
> +F:	xen/arch/x86/hvm/svm/
> +F:	xen/arch/x86/cpu/vpmu_amd.c

What about xen/arch/x86/include/asm/hvm/svm/ ? It didn't need specific
mentioning on the X86 entry, but it would now. Also F: entries generally
want sorting alphabetically as well.

> @@ -601,7 +618,8 @@ M:	Roger Pau MonnÃ© <roger.pau@citrix.com>
>  S:	Supported
>  L:	xen-devel@lists.xenproject.org
>  F:	xen/arch/x86/
> -F:	xen/drivers/passthrough/amd/
> +X:	xen/arch/x86/hvm/svm/
> +X:	xen/arch/x86/cpu/vpmu_amd.c

Didn't the v1 discussion result in there being no need for these X:
entries?

As long as there's agreement, I'd be happy to make adjustments while
committing. Oleksii - I take it that ./MAINTAINERS changes can still go
in pretty freely?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 09 12:48:37 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Oct 2025 12:48:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1140597.1475436 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6q4O-0003yO-9D; Thu, 09 Oct 2025 12:48:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1140597.1475436; Thu, 09 Oct 2025 12:48:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6q4O-0003yH-6F; Thu, 09 Oct 2025 12:48:32 +0000
Received: by outflank-mailman (input) for mailman id 1140597;
 Thu, 09 Oct 2025 12:48:30 +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
 <SRS0=0LuT=4S=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1v6q4M-0003yB-K0
 for xen-devel@lists.xenproject.org; Thu, 09 Oct 2025 12:48:30 +0000
Received: from MW6PR02CU001.outbound.protection.outlook.com
 (mail-westus2azlp170120002.outbound.protection.outlook.com
 [2a01:111:f403:c007::2])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3d1f0ce9-a50e-11f0-9809-7dc792cee155;
 Thu, 09 Oct 2025 14:48:23 +0200 (CEST)
Received: from BN0PR04CA0128.namprd04.prod.outlook.com (2603:10b6:408:ed::13)
 by BY5PR12MB4067.namprd12.prod.outlook.com (2603:10b6:a03:212::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.10; Thu, 9 Oct
 2025 12:48:16 +0000
Received: from BL6PEPF0002256F.namprd02.prod.outlook.com
 (2603:10b6:408:ed:cafe::70) by BN0PR04CA0128.outlook.office365.com
 (2603:10b6:408:ed::13) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9203.9 via Frontend Transport; Thu, 9
 Oct 2025 12:48:15 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 BL6PEPF0002256F.mail.protection.outlook.com (10.167.249.37) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9203.9 via Frontend Transport; Thu, 9 Oct 2025 12:48:15 +0000
Received: from Satlexmb09.amd.com (10.181.42.218) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Thu, 9 Oct
 2025 05:48:15 -0700
Received: from satlexmb08.amd.com (10.181.42.217) by satlexmb09.amd.com
 (10.181.42.218) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Thu, 9 Oct
 2025 05:48:15 -0700
Received: from [172.21.123.104] (10.180.168.240) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.17 via Frontend
 Transport; Thu, 9 Oct 2025 05:48:14 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3d1f0ce9-a50e-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=bEux8iESMUagMutPC98FQgZT35lqDXLPw5kYe7Vto8kg/HcxqcSATBCzs9KZKGEthSmjO2lowYNY+VzbpFs6FuScLcV9Lvz0PrMPJehaREw9i48WLL3KPVSm1I3zw3o1FcwRwyvKgNsAvmSeH0c4Kdv1glOFqpUdCbjmGSBBSyJFJDmzKNpmWXOLQql7Y6FMj3crjjWWe37/O7hpyCNijigCPUUh9PkM95Hghd9Dk5DTPS9wSKb1kR5L3+j/uHDpjiJGfBHNfJltApXXrZJynscPg+3fxjSTW3EphO4d/1pxjGDC0LAHVETpVr2pH+ms14/HubFkARMssxXZwGdN3g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=o5dS+75ICDFn+HBf0KBDjBiKDWpK1DoCQK2xHFnZ+jE=;
 b=xPmiSBsEbEHy59YWFGVOt/kDgHt8AkU53BXR9mHY+imddq2+qNWwBqS+SvU8/KGhhIBFWIJgKzEGxy6O2vSgXGzUS4yDyMEMqX8APv7zqRLTUSdgQbfU4VAH7HyPGv7Gvi0t5RH0wqBN1iqdpz8VuedJcjZuLyQAJ0hFZRkocTjeA8UsU8rOiFuk5cC9wwpJrZsawscKpOcP/bjnimN9y1nZKyedyGTIj5/xtZ4qK7TYGjtd8tX9tj0wDqJ+1usuBi0SHm5TJQkVZxkgUoabxuBRUSbNZOqiaQtzMmaoPt+K6VbdktLszmNwlUntOIvpq3AqqV9ZAZkZh4X2qcmrMg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=citrix.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=o5dS+75ICDFn+HBf0KBDjBiKDWpK1DoCQK2xHFnZ+jE=;
 b=gJ5kwbJLqiGQB7miW6O0l2bB4C+HwIVM7/VLO504W3MtbWnw5469ehe5AHyhmqXE6Wwlm7yRRf8Bg70Fel3E9KvdlNW6uo7Fmdz8E4Y+Ool1baU59eHxWVmarGefOIILvr5sCcP1AXTEAnuP53hLd16zLbmps+1rBRdFXV+RoHQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
Message-ID: <31cbe58b-370c-45ba-bafd-9994f58ba84c@amd.com>
Date: Thu, 9 Oct 2025 08:48:13 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21 v2] vpci/msix: improve handling of bogus MSI-X
 capabilities
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
CC: <xen-devel@lists.xenproject.org>, <oleksii.kurochko@gmail.com>, "Andrew
 Cooper" <andrew.cooper3@citrix.com>, Anthony PERARD
	<anthony.perard@vates.tech>, Michal Orzel <michal.orzel@amd.com>, "Julien
 Grall" <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <20251008143923.2557-1-roger.pau@citrix.com>
 <7754ab37-4faa-476e-98e1-0417afca1e70@amd.com> <aOdjBLaK1Tg2I51E@Mac.lan>
Content-Language: en-US
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <aOdjBLaK1Tg2I51E@Mac.lan>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL6PEPF0002256F:EE_|BY5PR12MB4067:EE_
X-MS-Office365-Filtering-Correlation-Id: 465b2050-4fb6-4bb5-05f2-08de07321da6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|82310400026|1800799024|36860700013|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?ZjZQWHpNaHZUcWUzNmU0TlFydHVCanZlT09rR1JReVAzcE9TN3Q0Y256NndF?=
 =?utf-8?B?MlgyVk1Ld2RIcEl1cU5QREVQc2JTQmJpZ1l2U1FEMTA1WnpjV2ZxTllIbDFr?=
 =?utf-8?B?d0VZQzM0ei8yaEpYTStyZTNJSTFuNGt4UXRMcjNHcmxYZjJqUXJTL3o4NUFM?=
 =?utf-8?B?ZFc3U2o2UXBoTWxOZ3pUdzFteUlPTmp0OEsySDlOMklxaFplNyswbHI1a1JI?=
 =?utf-8?B?b3NwOUsyRHNVUnNsNnRUYjQ0Y3hUeTUvVkhLblI5MXFBUnNSbDM2c2hxQWo2?=
 =?utf-8?B?dHZZYzAwRlEyN1hQcWFHY1dTTkIwTHpUMVQ3RllvQ1VwZUdvZGZWcTVPVUJE?=
 =?utf-8?B?SU9wakpUNXR5UnhXRUZ1b1hpQTZnVFU3TmZweXZyZll5QURQZDlHUHRDdU5Z?=
 =?utf-8?B?TTFVaFJ0VmU2WGwvOXQwdFFFaTFVdUI0Ykw1U05qRXFidUVzR2lhSHpLOVlZ?=
 =?utf-8?B?T3cxMlN2blFpYTJqdWtOZUl0UGZ5OEVWV2MwcThVaG5xNVQvekhoeCsrdEw4?=
 =?utf-8?B?SUtVOGJxZmxHVUs3RFFVQnRrYmNwUkR4R3Rlc25raDd1aldSaHg3czVtZGl1?=
 =?utf-8?B?TENLcHdEamJIbHIvSUxKSXd4SzdjdVI0dFFsT3BEcXFrMGRtTmh4S0FFWnJv?=
 =?utf-8?B?SXQwdEs2K2hJZEtVZ20yUEt4NzV4NGtUYUNRNjlpYU01dEVnTHdQdSt2M08z?=
 =?utf-8?B?bjBZUGRPQ0JvY2p0eWRYaE1TZDhQWWpCK1hLb0hEUWhQWnNSZlYyalRNY0Na?=
 =?utf-8?B?QmZTUVdUeWM5b3E3TTQ0V2xjdktlN3NiY0dWc3ZCYWhUTTZlZlNWTzlLN1Rh?=
 =?utf-8?B?QTN6bkNRQ2JSN3VSYVNxUFNyN1ZPZnZJNHpwZVRXc3pYTFJaSTVYWlA2Q2h5?=
 =?utf-8?B?SzgyaHBuaXNNQ2UyWVBabDQyVmY3d2QxQW5xczliam0rWjhGWUpyWjUvdkNQ?=
 =?utf-8?B?TjFyNWcvdXl5Y3RlRVNScXdEMzI0Nm04M28rY0tKTlRkb1ZxREFoYnBSWmJJ?=
 =?utf-8?B?cGFCRG4vNC95S0NnUUNPTFlkOXRaRHR5N3hUeEdVWmlPRnJlaDR4ZVA2NDZH?=
 =?utf-8?B?WFpuNEFyaUtBWWNhNjl0TG9uTVo5TU5rSm1VL1dmVndORUhoWjhmdU5jOVBS?=
 =?utf-8?B?d1c5ZFJ1aUpDTlpiaEQ2bXFPajVxaG4vS1o4RnFUN1MyMXZDWHRCNWErWE1Z?=
 =?utf-8?B?L0ZPSkNCUmcyUGpKOHdDY0NHdW9mazhUQ2JnNVVEa0tYK1VvOFlNb0M2TlNt?=
 =?utf-8?B?dzRTbitIR0k0dld5bWpKRUFDWUFnK3MvRXVnM2RleU5QVUQ2bVU2SWs1OFRo?=
 =?utf-8?B?Y3RMM25xbW83dktLZjl0OHNCWGovQldqenlTM0xTSHpDZjZzeUlXZzFsY3hk?=
 =?utf-8?B?Zkd0S0p5ZVMzanQxclRVckJOdHQ1OUVUeWtxeldjN0VkTXRLR2RwcHhYWnVk?=
 =?utf-8?B?RXpaU21SN3FQd2hhVW1ZL1hzYldlTHFncEhMYUpHN0lzOVAwL1RLV0xkUlky?=
 =?utf-8?B?V1NXWXFUT09wOHVwc2dqOW5RUm1IcnIrM0V6V290SmRiVTNFaHdvUG5oU0RM?=
 =?utf-8?B?UU9hS2R2T2V4Vk9Gby9CcDFnZVU5aHQxK0pBbW1OZm1iZWUrSElFd2lFODJz?=
 =?utf-8?B?cnRIVzdXaVBFdGhEQWtpRkQ5d0VGQ0xienhkVW5OVTl5bTlSZTlWUGIxS2wx?=
 =?utf-8?B?R1dZQkpjUjBWYXNPWndCdlRVYnZFNTB0UFlib05VWkliRHNXaThvcHZDVGM1?=
 =?utf-8?B?WXFZeHVwOXVYZldMK1graVA3TmxjWXhFenlLSU1XeU1FQnczT09WdmpVRFJI?=
 =?utf-8?B?NWE0WXhOaUk2MUU1dG9JWFVZYTVtTFl2bmxwZGYyTkN6aTFjOUlacDc5eEhz?=
 =?utf-8?B?TGxoKzhIUXRpN0hRMGJFSDNMc1Y3cU5CaU1obzhvTjV2LzlETDdNNVp1aWg0?=
 =?utf-8?B?dVp1NVJSZE5jQnY3V1d1UU1hYnFqcWZ1aVVSYmpVSnE4bEwzQXJCZWVkVGg3?=
 =?utf-8?B?M3VuZWZoNU12YnJJSG9PZkVWbDJ3cmM3cy83YjUybko0NjJSQjJQaWpzaDB0?=
 =?utf-8?B?U0tLWVpnQkpoSzRocVhNWTV5TFBlbkRORWxnRFFwTENRNzBQY3RoZVJtanVS?=
 =?utf-8?Q?Qc0Q=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(82310400026)(1800799024)(36860700013)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Oct 2025 12:48:15.9915
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 465b2050-4fb6-4bb5-05f2-08de07321da6
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL6PEPF0002256F.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4067

On 10/9/25 03:23, Roger Pau MonnÃ© wrote:
> On Wed, Oct 08, 2025 at 09:17:30AM -0400, Stewart Hildebrand wrote:
>> On 10/8/25 10:39, Roger Pau Monne wrote:
>>> I've had the luck to come across a PCI card that exposes a MSI-X capability
>>> where the BIR of the vector and PBA tables points at a BAR that has 0 size.
>>>
>>> This doesn't play nice with the code in vpci_make_msix_hole(), as it would
>>> still use the address of such empty BAR (0) and attempt to carve a hole in
>>> the p2m.  This leads to errors like the one below being reported by Xen:
>>>
>>> d0v0 0000:22:00.0: existing mapping (mfn: 181c4300 type: 0) at 0 clobbers MSIX MMIO area
>>>
>>> And the device left unable to enable memory decoding due to the failure
>>> reported by vpci_make_msix_hole().
>>>
>>> Introduce checking in init_msix() to ensure the BARs containing the MSI-X
>>> tables are usable.  This requires checking that the BIR points to a
>>> non-empty BAR, and the offset and size of the MSI-X tables can fit in the
>>> target BAR.
>>>
>>> This fixes booting PVH dom0 on Supermicro AS -2126HS-TN severs with AMD

s/severs/servers/

>>> EPYC 9965 processors.  The broken device is:
>>>
>>> 22:00.0 SATA controller: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] (rev 93)
>>>
>>> There are multiple of those integrated controllers in the system, all
>>> broken in the same way.
>>>
>>> Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
>>> Released-Acked-By: Oleksii Kurochko<oleksii.kurochko@gmail.com>
>>> ---
>>> Cc: Stewart Hildebrand <stewart.hildebrand@amd.com>
>>> Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>>> ---
>>> Changes since v1:
>>>  - Introduce a DEVICE BUG prefix.
>>>  - Remove extra newline.
>>>  - Fix typo in commit message.
>>> ---
>>>  xen/drivers/vpci/msix.c | 50 ++++++++++++++++++++++++++++++++++++-----
>>>  xen/include/xen/lib.h   |  3 +++
>>>  2 files changed, 48 insertions(+), 5 deletions(-)
>>>
>>> diff --git a/xen/drivers/vpci/msix.c b/xen/drivers/vpci/msix.c
>>> index 54a5070733aa..4ddcefbcb274 100644
>>> --- a/xen/drivers/vpci/msix.c
>>> +++ b/xen/drivers/vpci/msix.c
>>
>> Do we need to #include <xen/lib.h>?
> 
> Can do,

With that adjusted:
Reviewed-by: Stewart Hildebrand <stewart.hildebrand@amd.com>

> it's the same header that has the declarations for the printk
> functions that we already use in msix.c, so if it wasn't indirectly
> included the file won't build already.
> 
> Thanks, Roger.



From xen-devel-bounces@lists.xenproject.org Thu Oct 09 12:49:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Oct 2025 12:49:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1140610.1475446 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6q5O-0004Wf-NM; Thu, 09 Oct 2025 12:49:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1140610.1475446; Thu, 09 Oct 2025 12:49:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6q5O-0004WY-KS; Thu, 09 Oct 2025 12:49:34 +0000
Received: by outflank-mailman (input) for mailman id 1140610;
 Thu, 09 Oct 2025 12:49:33 +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
 <SRS0=0LuT=4S=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1v6q5N-0003yB-QH
 for xen-devel@lists.xenproject.org; Thu, 09 Oct 2025 12:49:33 +0000
Received: from CY7PR03CU001.outbound.protection.outlook.com
 (mail-westcentralusazlp170100005.outbound.protection.outlook.com
 [2a01:111:f403:c112::5])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 65e8fa88-a50e-11f0-9809-7dc792cee155;
 Thu, 09 Oct 2025 14:49:31 +0200 (CEST)
Received: from SJ0PR13CA0007.namprd13.prod.outlook.com (2603:10b6:a03:2c0::12)
 by SA1PR12MB7366.namprd12.prod.outlook.com (2603:10b6:806:2b3::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.10; Thu, 9 Oct
 2025 12:49:22 +0000
Received: from MWH0EPF000A6730.namprd04.prod.outlook.com
 (2603:10b6:a03:2c0:cafe::bd) by SJ0PR13CA0007.outlook.office365.com
 (2603:10b6:a03:2c0::12) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9228.6 via Frontend Transport; Thu, 9
 Oct 2025 12:49:22 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 MWH0EPF000A6730.mail.protection.outlook.com (10.167.249.22) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9203.9 via Frontend Transport; Thu, 9 Oct 2025 12:49:22 +0000
Received: from satlexmb08.amd.com (10.181.42.217) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Thu, 9 Oct
 2025 05:49:20 -0700
Received: from [172.21.123.104] (10.180.168.240) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.17 via Frontend
 Transport; Thu, 9 Oct 2025 05:49:19 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 65e8fa88-a50e-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=dQxEwEfCLF4Jc7zNj/CobdqW7sLui09MnJz23oE8drd3tCwTjuM9x53sleGlib/lMuaV0Zs0FtXeQyFS1BAOKGdGAHc+I8pe4NyjgZd2L51i6RVCLTMQ5i3EX40+uo8SvkEacoDFkoTLfpLAp9A7tuhXRnO5ffxFFFhrHy8UyjEuJw+QiUfWg1OIJ7wbA/1UVxP4oWU/DidHYdnVnpHG7aBcyTo1N+rKQ7kcAxgZ6omFS/hnCrxJGgKR7uZt18cgFWgFmZwLuNsk4fj5EshW7NbL2Y8kQeT1l8+M537nAmHxg0AbtbG24XaTLmBGMiDffe2uT54Mk3ek/5VcKNb3XA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GCDQz/nZi4FqCCRkMciMEWCbUxjOW2X4vWOR12UcSyw=;
 b=Vn1nxjhVftb9QypMjHIe4rhAAZSQR4W8JnusD0FwnH8Y3fe8i3QzRaCz6r7KoPl5t4jcdwm3pxIH09xRvSDEd2fYkxRKnOWq+FNjF2iiS194qRCuLyzcvABACiCfo/G5f8auk29jdKn7sGIewFyjGl9/fMpwWpkSS4NsBOL5drtbLvDMv5uPaJal36o1Kwciec6+m1g3LmAKkpwipB63OK38D7TdNoRm7CRR4Ahl5M8XiT7lASPb4lgjHxk0Zi8PZWgVuBN9wuN6qxpXltrlU5TmG8rpinwcqqKT4i2ZqyZA8o4c04ueoqF6mtdDoWlsYt2Wv33o2qNq7BUzhHUSBQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=citrix.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GCDQz/nZi4FqCCRkMciMEWCbUxjOW2X4vWOR12UcSyw=;
 b=VxNh0umB7n7gZ+0+2KVhsG4SXkXSlqMU631lSk3POmCALEPFA+t8a5yFWrEZ906618XW2m6xeHTjCHZBh2Y9aCsUHZpn3Ad62NZAIz+ex2ZyTnkh6jlR4eBIKKdGY9GgJgsdWRdg3YmRsZeUIvPP6/Wl5BaAp2zFrP3/qtcd+CM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
Message-ID: <c8aedea2-7708-48c0-9cf4-e5f05501d9e3@amd.com>
Date: Thu, 9 Oct 2025 08:49:19 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21 v2] vpci/msix: improve handling of bogus MSI-X
 capabilities
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
	<xen-devel@lists.xenproject.org>
CC: <oleksii.kurochko@gmail.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>, Michal Orzel
	<michal.orzel@amd.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>
References: <20251008143923.2557-1-roger.pau@citrix.com>
 <aOZ8W_--kyn6Kjol@Mac.lan>
Content-Language: en-US
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <aOZ8W_--kyn6Kjol@Mac.lan>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MWH0EPF000A6730:EE_|SA1PR12MB7366:EE_
X-MS-Office365-Filtering-Correlation-Id: e65c0a2c-38cf-4691-4f46-08de0732451f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|82310400026|36860700013|1800799024|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?N1h0NnFmQmdlRXQ2OUZiL29qNHl5SjBENG8rd2dRRkxsYW5hUzAyMWIxbGMr?=
 =?utf-8?B?dVlNalVBUWxpampJT0UrbWlWSTZVUGhLYXI1TnJSN1ozbWJUbHU2MGVyQXdH?=
 =?utf-8?B?U2l1SGFwYkxHNlhEZHFWa05YK0lLcHlrS0VFSEx4UTVXN1Vhc0o0VkhUaVBF?=
 =?utf-8?B?QUJPMlZ2d1h4aWxBSUNJSkpGSHhXY3UzM0w3L3JmRnAvT3ExdGNHZEpUenhy?=
 =?utf-8?B?K0FubWlWRHE0cUN2S2Q1YlJ3ZWRybDFnTkwvMGNuUW8vS29vTVREVkJ2RWVE?=
 =?utf-8?B?UmMwOWJlMVY2TVdIbGlEYTVTRUZBN2gwMTFYNnNTTDVyNWFRY1ZTZWtFNEVS?=
 =?utf-8?B?eEZ3M3FnU1VBM0drUXY3MGV1Q1Vjd05NYmN5RVlDNnllcHhhWjRxT01nVzdv?=
 =?utf-8?B?aHJKbEtJMVM0dkhPbktYcUs4dFZGOEh6TG8yNStQSlBwNlJKRklCWU5ONnp5?=
 =?utf-8?B?a2o4Unl1cG9VbDI4K0FoMjkweU4wdTkzZGd2RnRqMmJWSXZxRTF1cjBmeis3?=
 =?utf-8?B?SGFtZGJvZmNMQ0thUUZMZW9lL3g1VFM3M1F0TmUzbEF2UW41R2JLemIrZDlV?=
 =?utf-8?B?SW5nbEUvODJNYUNzR3RJc29kdWZQbXEzSCtzYUJYeVRGU1dhS05KdlF5aWxJ?=
 =?utf-8?B?T0pLeGVOZUZFb1A4UDNXWEJNeHZjVFUzUzBWcVdZcnB6a1pXWnhaZGhnZ0dH?=
 =?utf-8?B?elFsZndLTTQrZVgvajV1S0RYTmptNjk4YWdEcUd0clpOQ1FNSjRKVkJQYlUy?=
 =?utf-8?B?YzhxclN2V2lXZEdmVm1tKzk0dld2dFlFWHJ4S1NBaXduSzVnNnJ5NmpUMDl2?=
 =?utf-8?B?N1M4a1RaTFdFTVpjeXNSQWk4alNWbGk5djd4UlcvdlVTV2MvWEkvak1mZ0Qr?=
 =?utf-8?B?ZWtZYmtaZ2xZTXZ6c2R2dFNWOVREWGJpd2s0VnVFMHBjcXBCRzBxN1oydFBL?=
 =?utf-8?B?aXZVaTVrVXRyRm94dkVzaTc4Ti9VSU10R1BvL210eHBOTm8veWQyQzhTZTlz?=
 =?utf-8?B?dGQzSTVuZW1ycTFCSko0U1pCL1RWajNxemdxRmJuRVlvOUhIZ2NhRW92NVJF?=
 =?utf-8?B?MFFGS1JLYkpOL1UyZnRVWU5iZ0pGVkJNWm15NjFDdmR2LzhOdUx5OXFMYU9z?=
 =?utf-8?B?MUlLQ2l3S3ZqZ3hVdFRkWlhhQS96YktvcStmaURIRW5TbHF0YllVR2dDMHo4?=
 =?utf-8?B?WUFMNkt3RTVVL2pPdXhDNzJtM2UrYjRMU1RjcGRnZmZvWk4rdTA5MGtPL214?=
 =?utf-8?B?SytycGhCQzlQME1QN3ZvUWRhalhzTlc4cHFmWDAvNXJSLzQxT2JSeDg4QVVh?=
 =?utf-8?B?U2JLM1BZaUNaWHRTNis3OU02QWYzYm5xZkI0bTBtU1drRTA3V2p3VmNnQzFL?=
 =?utf-8?B?c0xIZ1NNdzNGN3BFMTVrMnN5ekQzSXJRRERadGZiNXNyUmxWdW5RQWdsNUtU?=
 =?utf-8?B?cS96NC9zSStoQkR0OW0xbTE2ZUtOTjlISG9RZnFCMFhEMTE3OUFtcS8wQ0F0?=
 =?utf-8?B?ZHdZR1pSTDdNZzFZZ0hoaVlYYnVIOVFrSTl4Z1RxdWxoaDJVa3R6L3BQUXZC?=
 =?utf-8?B?K2VxZWJqdjV1TW95cjJsT2pYajhzL1cwTlc2bGFsbmJIRnRQdmdhUlpXRWxZ?=
 =?utf-8?B?d2IyWE1jcXhHSzRtTDJhOHRJNWk5cjdNTi9uamZyODA4djFFUXk0YmxBMlo0?=
 =?utf-8?B?TVBkVDB4OE00Q2poRGt3UDNPanlTcXhhSTl5eEM0QmhrODhWY3lPa0VuYUNj?=
 =?utf-8?B?Z3dyeFFyWXNSSHVEMzBGaitmUnZMQzNLODlHOURSUVBOUXNmc1R0ZHJHWnh5?=
 =?utf-8?B?NlMxMnBYdTlvN0tPUDVCY1hvZ3U2cFU2aUdBVDJMamhFTVJ0TWRRWE1tcWNZ?=
 =?utf-8?B?ODR1T1ZtN29wSlBNbllwekhzcjU5ck16VFh4VTlBZUVhWW9lcFhhaTVPUWVB?=
 =?utf-8?B?VTBHTjZtVVQ5LzF4dWJQUEtaeG1HU3JXcEVWSWI3RThpNmhwRHFjZCtyazcz?=
 =?utf-8?B?bCs3ZFBlMW1GQXA5d2ZzbzB1OUVsNldQWElRTndKcllVcjZzYVJsdFBjZVpt?=
 =?utf-8?B?eGsrT01CNUJJZlRWNDNaLzlndUdiZ00zN3RPWFJKQVNDSXRISmxNZDNLa1Np?=
 =?utf-8?Q?4TA0=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(82310400026)(36860700013)(1800799024)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Oct 2025 12:49:22.1271
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e65c0a2c-38cf-4691-4f46-08de0732451f
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	MWH0EPF000A6730.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB7366

On 10/8/25 10:59, Roger Pau MonnÃ© wrote:
> On Wed, Oct 08, 2025 at 04:39:23PM +0200, Roger Pau Monne wrote:
>> I've had the luck to come across a PCI card that exposes a MSI-X capability
>> where the BIR of the vector and PBA tables points at a BAR that has 0 size.
>>
>> This doesn't play nice with the code in vpci_make_msix_hole(), as it would
>> still use the address of such empty BAR (0) and attempt to carve a hole in
>> the p2m.  This leads to errors like the one below being reported by Xen:
>>
>> d0v0 0000:22:00.0: existing mapping (mfn: 181c4300 type: 0) at 0 clobbers MSIX MMIO area
>>
>> And the device left unable to enable memory decoding due to the failure
>> reported by vpci_make_msix_hole().
>>
>> Introduce checking in init_msix() to ensure the BARs containing the MSI-X
>> tables are usable.  This requires checking that the BIR points to a
>> non-empty BAR, and the offset and size of the MSI-X tables can fit in the
>> target BAR.
>>
>> This fixes booting PVH dom0 on Supermicro AS -2126HS-TN severs with AMD
>> EPYC 9965 processors.  The broken device is:
>>
>> 22:00.0 SATA controller: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] (rev 93)
>>
>> There are multiple of those integrated controllers in the system, all
>> broken in the same way.
>>
>> Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
>> Released-Acked-By: Oleksii Kurochko<oleksii.kurochko@gmail.com>
>> ---
>> Cc: Stewart Hildebrand <stewart.hildebrand@amd.com>
>> Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>> ---
>> Changes since v1:
>>  - Introduce a DEVICE BUG prefix.
>>  - Remove extra newline.
>>  - Fix typo in commit message.
>> ---
>>  xen/drivers/vpci/msix.c | 50 ++++++++++++++++++++++++++++++++++++-----
>>  xen/include/xen/lib.h   |  3 +++
>>  2 files changed, 48 insertions(+), 5 deletions(-)
>>
>> diff --git a/xen/drivers/vpci/msix.c b/xen/drivers/vpci/msix.c
>> index 54a5070733aa..4ddcefbcb274 100644
>> --- a/xen/drivers/vpci/msix.c
>> +++ b/xen/drivers/vpci/msix.c
>> @@ -675,6 +675,51 @@ static int cf_check init_msix(struct pci_dev *pdev)
>>      if ( !msix )
>>          return -ENOMEM;
>>  
>> +    msix->tables[VPCI_MSIX_TABLE] =
>> +        pci_conf_read32(pdev->sbdf, msix_table_offset_reg(msix_offset));
>> +    msix->tables[VPCI_MSIX_PBA] =
>> +        pci_conf_read32(pdev->sbdf, msix_pba_offset_reg(msix_offset));
>> +
>> +    /* Check that the provided BAR is valid. */
> 
> I had the following local change that I forgot to update the patch
> with before sending:
> 
> /* Check that the referenced BAR(s) regions are valid. */
> 
> I think this is a better wording.

+1


From xen-devel-bounces@lists.xenproject.org Thu Oct 09 12:53:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Oct 2025 12:53:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1140626.1475456 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6q9K-000643-6u; Thu, 09 Oct 2025 12:53:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1140626.1475456; Thu, 09 Oct 2025 12:53:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6q9K-00063w-3z; Thu, 09 Oct 2025 12:53:38 +0000
Received: by outflank-mailman (input) for mailman id 1140626;
 Thu, 09 Oct 2025 12:53:37 +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
 <SRS0=zQ7T=4S=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1v6q9J-00063q-D6
 for xen-devel@lists.xenproject.org; Thu, 09 Oct 2025 12:53:37 +0000
Received: from CY7PR03CU001.outbound.protection.outlook.com
 (mail-westcentralusazlp170100005.outbound.protection.outlook.com
 [2a01:111:f403:c112::5])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f6f67120-a50e-11f0-9809-7dc792cee155;
 Thu, 09 Oct 2025 14:53:35 +0200 (CEST)
Received: from BY3PR03CA0021.namprd03.prod.outlook.com (2603:10b6:a03:39a::26)
 by LV3PR12MB9143.namprd12.prod.outlook.com (2603:10b6:408:19e::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.10; Thu, 9 Oct
 2025 12:53:31 +0000
Received: from MWH0EPF000A6732.namprd04.prod.outlook.com
 (2603:10b6:a03:39a:cafe::8d) by BY3PR03CA0021.outlook.office365.com
 (2603:10b6:a03:39a::26) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9203.9 via Frontend Transport; Thu, 9
 Oct 2025 12:53:30 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 MWH0EPF000A6732.mail.protection.outlook.com (10.167.249.24) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9203.9 via Frontend Transport; Thu, 9 Oct 2025 12:53:30 +0000
Received: from satlexmb08.amd.com (10.181.42.217) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Thu, 9 Oct
 2025 05:53:29 -0700
Received: from [172.28.217.164] (10.180.168.240) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.17 via Frontend
 Transport; Thu, 9 Oct 2025 05:53:28 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f6f67120-a50e-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=CE8r3R8NoOUNlU/ozII1zIhMyrh0h1ChG96nCRRIUKhZqRaOPkCptb4lhFkWXoVz+ETdpF1yvlnojNi2xTLTCEwEvExbvtILOhXO1KlU2stOclksLPMBKZCZehrs5MoLayt55R/jPa6mJ+wcIbgG82kNOXxQg+gkl7JMKE02ce0reS85JGJpIsTfO0YhagkELBNHCfafR2beCAloVf569n13KZ9awnE/hVasyCt2PI0Jgf/rVukvWpA1yrpF5O6k56aaE70dgpSe7qYNlcwym7uGE/4o1jPnCr1fNrlLPBpu5WrFX6s1yyeR3thoTZKQR/u3EH9QIzrJUgibN0LGZA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Y4xIl5OdSlkig+e6ZpoL8aGvzZkMHBQ0pJ1JXmPemjQ=;
 b=EeEkQXUyz7gsEhR+0vmwz19mc1IHdF3a0eNP7oggTZjsueSFoRYKUNINvOGNC03RdA/2xXP+hFSO+q5OHt8UOi3sMXj+NEJ5OMU/LDKtpgzyIN0vZiyNf6bG4MrW6pz+Z/Urgy/UihY4XpA1MYpx/fTXWqinj7XGotq8vScfdeBXFgZRXl8BMsssddmYLM1Iql0rc4HLgcLmpd5bf9jMseVmmnmtozZa/uJRwcY8exwrl6IPVKAW10yEiBR4A42CZIbFCmm64lb14qJxONrIRPOlZIUGD6GzByMu4gjBJdWcvrsJq9j4si4SZ1MGQoU+kyVg8xwqHVsYiOgrfkMBEA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Y4xIl5OdSlkig+e6ZpoL8aGvzZkMHBQ0pJ1JXmPemjQ=;
 b=nZScX4RWGoU24xy3GBBKZYGcUZn4vFsm7zD9l/88yvJJUHLnNcjs+VAF6kpwVTUXJWlz8hXn8vuBW3uribBAJJBUsdGKUjqvtMfOsGAOJOmx9tmLjF9UnJ4OJg67DvpXqKF8/xBD9DYsoyhcS6g0KEB/JA8NoUdQ5QTpTTZ+OH8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
Message-ID: <0923545c-ea7d-4b57-af37-351ede01d5e4@amd.com>
Date: Thu, 9 Oct 2025 04:19:19 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] MAINTAINERS: Add myself as an AMD SVM & IOMMU reviewer
To: Jan Beulich <jbeulich@suse.com>, Oleksii Kurochko
	<oleksii.kurochko@gmail.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Anthony PERARD
	<anthony.perard@vates.tech>, Michal Orzel <michal.orzel@amd.com>, "Julien
 Grall" <julien@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
	<roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
	<xen-devel@lists.xenproject.org>
References: <20251008201106.36204-1-jason.andryuk@amd.com>
 <cf852476-8a51-4623-b4aa-d9fc42622b1c@suse.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <cf852476-8a51-4623-b4aa-d9fc42622b1c@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MWH0EPF000A6732:EE_|LV3PR12MB9143:EE_
X-MS-Office365-Filtering-Correlation-Id: fd470e05-14d4-4d1c-366e-08de0732d90b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|376014|1800799024|36860700013|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?QzFCVGhsbit0aWZBUjd0VlIxeHZVZlZKUnRKWGczYlN0QTB5VTE4aGRLZHkx?=
 =?utf-8?B?c2tMZGxsYkFWMW0rVXdybFpub29ZelFOY1NjUjlxNGZsZHpYNlRhRmZhTnRK?=
 =?utf-8?B?WENpR3BUZCsrYWtDVFBpcWJtVFJxa0tyNmF3cmZ1YXM1V0tMQWR0S2VNN3Q1?=
 =?utf-8?B?a3pFSlVKSElVcGdaOVliTnQ2Y2RvQVF5WkFtbTQ1QzByL053RGlHYXdWVC9N?=
 =?utf-8?B?cUF0MnpQY0ZFWlJMQmExMDYyYm84V2JXVm9kanVVeGZOaTJHNjlDQnExc2xQ?=
 =?utf-8?B?T0NvcGZOaDdqSGNZQnB1OHcrdXN3NFV6QTJDaG5rT0ZEbVVjMFlsbTZUQ0N6?=
 =?utf-8?B?aE9CS3I5Sy9pTlo1ZVRUNnRkYlorSDEzT0dtcnFsVjZ2QWdFSTJiVWh6dmFy?=
 =?utf-8?B?ME9nemE0UUFPaldjZDdyRWJod3gzOHVoaTUyYUpIRnc2cDkvYWZLbzY1ekNL?=
 =?utf-8?B?VE1Cd09mUC9HZDZEOFhBVDVHdll6Qm9uRnhhaWV2Q2JNbjI2VFR0S3FUTG1Q?=
 =?utf-8?B?bUMvWEVJbzVITW5FeG1UMTdZbzVDTndkekhSbjJiTlQ0VEMwQ2FaWWRUZVVH?=
 =?utf-8?B?VlJQMnAvWVcvUlBhdzZWZmh4bnk2a2NzcUpnVStlSE1GUVdoTVY4WE80VS80?=
 =?utf-8?B?K3JyUVM5TUluYWdEdzdEalB2cysvWFFBbUpWQk83MjgxZjlQVmF0ZXVqbDJU?=
 =?utf-8?B?U2RtQ1hKZ0hSNlFpd2d5Mlp4bU9oeFBESXFEUEtXL01UV0Q2MFpsZnA2TXBY?=
 =?utf-8?B?ZFcvcWd1SzgzMm1lRmdEN0poeU9SRWFIS3JkLzVKd3Mzb2NQVm8wdC91Z0gr?=
 =?utf-8?B?Y2d0L0hrc3VUQldKWk1QbkZhWTZjZmxqSmgydWJoQUNDcTQ1LzhLNFdxT29k?=
 =?utf-8?B?VjFhb0lmeWRUclRWbk9NcHNTNHpYVjNLMmd5dnZsb0dpcWlMRlVyOTZxdDJP?=
 =?utf-8?B?bDRhTTZuUzJjV2pxQjdwUjNCV01OdllPZWJEZStEd1FWc3JDMi9mR1ZkbytM?=
 =?utf-8?B?UWFqNXJvaXUrRk1ycGFtTEVSY2N3d2ZEbjkweGtkOHd4OEZtNWhHZ3pXNEpE?=
 =?utf-8?B?T2xpL1BwY3NQd0I2UUhBUTVUZHNmbWNPR1BXeWdGQVhhYmtpSVNhV0srenZ3?=
 =?utf-8?B?TS9XOXg4ZytOY0ZySmNiT0sxTXdhL1dCa0dXZ2x0QVFCS3pyY3BqN1RMOFlC?=
 =?utf-8?B?YVEydmFtWXpIWkxSMThiRzliMkdDd0VlSWJvRXZUV0Mzd3pYajJIN0dMUHpF?=
 =?utf-8?B?c1hHSTNkbkwxNk5xNkRtbDhkR1JHMnU1SS8rN1BzRnNjOTFac0RONW1aQ05l?=
 =?utf-8?B?bmpWaVc0RDlKMTFDWCs2Z0dsSWZNT2xHcjh2bnNUOWVLUG1GWEJ1MVJka3Ar?=
 =?utf-8?B?aisyRnVUci9mdVpJa3locHdxOWxDYmJxTDIwdnAwMUk0cUp0b3N3SDNzcDNp?=
 =?utf-8?B?aEFPd2F0K1hsTXI3U2FvalFYRVNmWEdGK2Z0bFdSL1VDWEw5ZTI2ZllCUWdR?=
 =?utf-8?B?eElwTUhwN2U1ZW0rVG4vcXFiaWpWOXdaZkN5bnNPQml6VzJURzlsUmZvNkRE?=
 =?utf-8?B?TitvYWVNT1B0MEE3Wmt6ZDZSYktkNjRSRHA2UGZud3ZETm1xU1FIbEwyOUwy?=
 =?utf-8?B?UDltbnBtYXJjMjZPN3BRQUswTWs0VjVOM0JZYytrMVpaQUJVWFFiVU9MU0h0?=
 =?utf-8?B?V0RhZVREL2RqVlRqSnlsemVQZDd6VU9odFRrTXRxeCsrVUhvbE1NNE1IRFJh?=
 =?utf-8?B?NUkwYlV6dU9HYVNRbkZXTGhMamVYd3hpTEVLWWtGNmZiVlVxREZuZDEycG9z?=
 =?utf-8?B?UkplNDBUK1pOanhJUG9vUnhVcHlQZ2dFQ0hRWmNiZlYyWU93MmN3N1ZObkt0?=
 =?utf-8?B?cS9uSllucC9jSUV0ckI3MS9tQWp3MGlZQ3dSRGs4N1ZqZHNuVTJYdHJzOFFt?=
 =?utf-8?B?VUhXNi9zQmFHR3RSa2IwZjZ1T0ZRN2xGeTFWTmRlY0h1UTJOVVBhNHhMd1gr?=
 =?utf-8?B?VVVtQm42SkxVdmtHaDhXOWY2cURObUV3TjYvYTJpRkJFdTI2Q0RMalFaR0xO?=
 =?utf-8?B?aitnRVlZd05zSHpJSlR6ZUViblhMajFKVXBzcHEzVXhndjlHblhXeGduSmFO?=
 =?utf-8?Q?2SCw=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(376014)(1800799024)(36860700013)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Oct 2025 12:53:30.3001
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: fd470e05-14d4-4d1c-366e-08de0732d90b
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	MWH0EPF000A6732.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV3PR12MB9143

On 2025-10-09 08:36, Jan Beulich wrote:
> On 08.10.2025 22:11, Jason Andryuk wrote:
>> --- a/MAINTAINERS
>> +++ b/MAINTAINERS
>> @@ -220,6 +220,23 @@ F:	xen/drivers/acpi/
>>   F:	xen/include/acpi/
>>   F:	tools/libacpi/
>>   
>> +AMD IOMMU
>> +M:	Jan Beulich <jbeulich@suse.com>
>> +M:	Andrew Cooper <andrew.cooper3@citrix.com>
>> +M:	Roger Pau MonnÃ© <roger.pau@citrix.com>
>> +R:	Jason Andryuk <jason.andryuk@amd.com>
>> +S:	Supported
>> +F:	xen/drivers/passthrough/amd/
>> +
>> +AMD SVM
>> +M:	Jan Beulich <jbeulich@suse.com>
>> +M:	Andrew Cooper <andrew.cooper3@citrix.com>
>> +M:	Roger Pau MonnÃ© <roger.pau@citrix.com>
>> +R:	Jason Andryuk <jason.andryuk@amd.com>
>> +S:	Supported
>> +F:	xen/arch/x86/hvm/svm/
>> +F:	xen/arch/x86/cpu/vpmu_amd.c
> 
> What about xen/arch/x86/include/asm/hvm/svm/ ? It didn't need specific
> mentioning on the X86 entry, but it would now. Also F: entries generally
> want sorting alphabetically as well.

Yes, that all sounds good.  I based this on a revert of 
8395f275ebd11b4cacb12da09911e7918ccc7518 and alphabetization was 
incorrect there.  Sorry about that.

>> @@ -601,7 +618,8 @@ M:	Roger Pau MonnÃ© <roger.pau@citrix.com>
>>   S:	Supported
>>   L:	xen-devel@lists.xenproject.org
>>   F:	xen/arch/x86/
>> -F:	xen/drivers/passthrough/amd/
>> +X:	xen/arch/x86/hvm/svm/
>> +X:	xen/arch/x86/cpu/vpmu_amd.c
> 
> Didn't the v1 discussion result in there being no need for these X:
> entries?

I thought Anthony said they should be split out for proper nesting:

 >The exclusion is likely unnecessary, and ./get_maintainer.pl will just
 >get the information (email, ...) from every sections that a file match.
 >But the duplication is necessary due to the "The meaning of nesting"
 >described in the MAINTAINERS file.

I took the second sentence to mean they should remain.

> As long as there's agreement, I'd be happy to make adjustments while
> committing. Oleksii - I take it that ./MAINTAINERS changes can still go
> in pretty freely?

Thanks,
Jason


From xen-devel-bounces@lists.xenproject.org Thu Oct 09 13:58:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Oct 2025 13:58:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1140646.1475467 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6rAL-0005Wr-Jy; Thu, 09 Oct 2025 13:58:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1140646.1475467; Thu, 09 Oct 2025 13:58:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6rAL-0005Wk-Ge; Thu, 09 Oct 2025 13:58:45 +0000
Received: by outflank-mailman (input) for mailman id 1140646;
 Thu, 09 Oct 2025 13:58:44 +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
 <SRS0=tDLD=4S=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1v6rAK-0005We-BV
 for xen-devel@lists.xenproject.org; Thu, 09 Oct 2025 13:58:44 +0000
Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com
 [2a00:1450:4864:20::62b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 10670a49-a518-11f0-9809-7dc792cee155;
 Thu, 09 Oct 2025 15:58:42 +0200 (CEST)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-b3dbf11fa9eso167495666b.0
 for <xen-devel@lists.xenproject.org>; Thu, 09 Oct 2025 06:58:42 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-146-38.play-internet.pl.
 [109.243.146.38]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-b4c7396b863sm1179671866b.65.2025.10.09.06.58.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 09 Oct 2025 06:58:41 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 10670a49-a518-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760018322; x=1760623122; darn=lists.xenproject.org;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=dhhawq/U58NrrthBnVjhi9Ol7gOE/DlKlkAr0eqZ7+g=;
        b=OaKyu4bFZ+dH2YLaNSSdn5fA9rtSC685+p1TiXcvZK7MiGRY/fSoXTfr4PoJmOoVn8
         WXcHkmVLu1Tlq8kZwKAHdHUFkcQJPvIJxRRQ3dtehq9o9vx8m39Pp+YfBVb4Bz1T4uUS
         jwaNrV/HvgKxBrAZAONKCjDGiB8Ps/wY7gfo6gr6ZUrkfg+7P4xfePLcw/T3tN3YteRL
         ehzjDau97sgz6piS5M7OYyKhGPQaod7AzsNfYpDXdJQLchT6bLjGQm/Z2GF4AMW7SHcm
         SuhFeOoDi3Usy075vEoTgocwtgCJEAUpYMCBcMzK17V8Zl2r7gpbokjcTnKUT2lgIZLr
         caSQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760018322; x=1760623122;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=dhhawq/U58NrrthBnVjhi9Ol7gOE/DlKlkAr0eqZ7+g=;
        b=kwRSAkRaH/lIxvgQN6CtkCBOFxuq02/wC8IS+dPu5Md3wFggfBkBVH4sDTrled8/uT
         pvPBGv5TC7Q+HBz+xR4erM9nQTwDb39hoyrjelRJ+TjoWEgxq/CI4TM4hgUUHyZ8/+Qe
         KX53R2rCxlyEgmsQCvq8e6/j8ANVo+szUh/iOZFkmyDIWwCD3KDQ7XztuEztuuXjdJP7
         m+Hu8UpSDmd5SAl2vCS7WLID58z0dVfB3U8wWcIqKjx/9FOI3GQ24VeadgwyOuIJiUjn
         gDvaXocWPWmtqRiQzJPa7sMRP2JvLwLR0EMP2hq1+RcqSAaFrfCL2KANNhc0X/Q2yGAI
         ntXw==
X-Forwarded-Encrypted: i=1; AJvYcCUnrlvCwXIkeIv1p54FtUailSUBc9futXf/iSsT7jFfAO5FKXoCYL4PjOSnONsO6ZS6klyAbRg/gww=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxvcrFuFDmHj/CGj/itUsLkNCtl78r9Wxb7LWi3FjO3jAtsw8BB
	2jyTtbZ3fZVGlZwlFNDJXNmDdzDTNGi1bgyXJ+jKROrZk6OxJoObkw8k
X-Gm-Gg: ASbGncswLPFlmK7GixeRJ+xYceJP4sBQO3kI63Okxs7laDxDVnYqisnyr56A0z4qWxd
	4bNXGZNteBxZeYmRb/GdlXdXdDmHANUHWoEHQyqun4RRYfPvXLtIUVqEZJYO4sLsy6nv1T46xqx
	MpEqa45YRi5TmV/kybnTONbYYSdb+av+/BPwC8lQx8/13NQt7dw52yuY2UYVh6/d13xXYAAtG8Q
	BAOoKcEpljHafKEVqTH147PBgbOQhjXui2VPxjf7el2I25FGoi0C8xFiHNdyPqGe2/h4NDp3FAn
	7YPORNfnRkX2wC8RO3UmD42m6mW4VJzTPwbIgQdDhKeHccL/g1WLY09aIVA1kokTXHRuPXyYl16
	IenF0MJQ8yiMTslyrkv9CSfgb6/7gKZwGogc6DMvkPQ5l8CtTxQH06PnKIEenVF/lw4IZ8BqIo4
	/yhpLzAgJzVqwki6oMBqDD9cN4New=
X-Google-Smtp-Source: AGHT+IH6hvYAhI+GCOS1nHHHIYMZZKZ6n7UtOUjHp8pMehkNtq0YSbohwZEpUhFKU8kFIfUn9veQ9Q==
X-Received: by 2002:a17:907:2d0d:b0:b4e:f7cc:72f1 with SMTP id a640c23a62f3a-b50aaba1161mr827704666b.22.1760018321451;
        Thu, 09 Oct 2025 06:58:41 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------DOpWkZ2vHPb63xZSlZh3qcDl"
Message-ID: <0830134a-ff0f-4183-877a-b4733b45156b@gmail.com>
Date: Thu, 9 Oct 2025 15:58:40 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21??? 0/3] x86/vLAPIC: CMCI LVT handling
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Andrew Cooper <amc96@srcf.net>,
 Grygorii Strashko <grygorii_strashko@epam.com>
References: <265d5053-af61-42cb-a3b9-ef60df39c21b@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <265d5053-af61-42cb-a3b9-ef60df39c21b@suse.com>

This is a multi-part message in MIME format.
--------------DOpWkZ2vHPb63xZSlZh3qcDl
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit


On 10/8/25 2:07 PM, Jan Beulich wrote:
> 1: add indirection to LVT handling
> 2: drop VLAPIC_VERSION
> 3: properly support the CMCI LVT
>
> Now having this coded up, I realize it may be too intrusive at this point of
> the release cycle. Still I wanted to propose it ...

IIUC (not being an x86 expert, please take that into account),
Xen advertises CMCI support but doesnâ€™t emulate it properly, which means
the guest stops noticing corrected errors. This could result in lost error
reports or potential guest kernel warnings, right?
Would that lead to inconsistencies in the MCE subsystem?

Iâ€™m not entirely sure this issue is critical, as the related Linux
configurations can be disabled, or MCE can be turned off using|mce=off|.
At the very least, CMCI can be disabled with|mce=no_cmci|. So, unless there are
other objections, I think this can be deferred until 4.22.

Thanks.

~ Oleksii

--------------DOpWkZ2vHPb63xZSlZh3qcDl
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 10/8/25 2:07 PM, Jan Beulich wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:265d5053-af61-42cb-a3b9-ef60df39c21b@suse.com">
      <pre wrap="" class="moz-quote-pre">1: add indirection to LVT handling
2: drop VLAPIC_VERSION
3: properly support the CMCI LVT

Now having this coded up, I realize it may be too intrusive at this point of
the release cycle. Still I wanted to propose it ...</pre>
    </blockquote>
    <pre data-start="162" data-end="425">IIUC (not being an x86 expert, please take that into account),
Xen advertises CMCI support but doesnâ€™t emulate it properly, which means
the guest stops noticing corrected errors. This could result in lost error
reports or potential guest kernel warnings, right?
Would that lead to inconsistencies in the MCE subsystem?</pre>
    <pre data-start="427" data-end="709">Iâ€™m not entirely sure this issue is critical, as the related Linux
configurations can be disabled, or MCE can be turned off using <code
    data-start="557" data-end="566">mce=off</code>.
At the very least, CMCI can be disabled with <code data-start="613"
    data-end="626">mce=no_cmci</code>. So, unless there are
other objections, I think this can be deferred until 4.22.

Thanks.

~ Oleksii</pre>
    <pre></pre>
  </body>
</html>

--------------DOpWkZ2vHPb63xZSlZh3qcDl--


From xen-devel-bounces@lists.xenproject.org Thu Oct 09 14:00:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Oct 2025 14:00:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1140659.1475478 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6rBe-00070c-3A; Thu, 09 Oct 2025 14:00:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1140659.1475478; Thu, 09 Oct 2025 14:00:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6rBd-00070V-Ur; Thu, 09 Oct 2025 14:00:05 +0000
Received: by outflank-mailman (input) for mailman id 1140659;
 Thu, 09 Oct 2025 14:00:04 +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
 <SRS0=tDLD=4S=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1v6rBc-0005oZ-0p
 for xen-devel@lists.xenproject.org; Thu, 09 Oct 2025 14:00:04 +0000
Received: from mail-ej1-x631.google.com (mail-ej1-x631.google.com
 [2a00:1450:4864:20::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 409a7fcc-a518-11f0-9d15-b5c5bf9af7f9;
 Thu, 09 Oct 2025 16:00:03 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-b3d80891c6cso320750066b.1
 for <xen-devel@lists.xenproject.org>; Thu, 09 Oct 2025 07:00:03 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-146-38.play-internet.pl.
 [109.243.146.38]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-b4865986505sm1898045466b.23.2025.10.09.07.00.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 09 Oct 2025 07:00:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 409a7fcc-a518-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760018402; x=1760623202; darn=lists.xenproject.org;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=iqXRl8ajdoyUJsMvtxEY4U1LRu69Irgxd49xr/SgGDg=;
        b=DGLym2mNl+W6CnRP2YcjDOLZamGEPhoHX/Sl5F846w9EjdUC/i1Dthxm3wZY8GKFAR
         1RREBmA8tq1efXM3LUgIyZxz2/dCQTgjNp62Ewp21e/fMAGIbKxYQpEMVl/SirUVWeRX
         Jyu3NXtlJXDt6szcZacaEyon/BL7IqgVnhdJGlEfa5URwNscC+X5JCDB6LmQnrzcOqRF
         ga/dG/G0ABm8Sn1Hm7BPFIsVwX/SHl44l2s9rijXxCSmXorUcGht0SCY8bw3CQ7Dyiin
         pB3kTbajWu0Gm7shL5N+69RoDS0w1VqeWSq+R2vcmVlJKEDpoz4YVKZBfZjYa76T93xk
         QPVQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760018402; x=1760623202;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=iqXRl8ajdoyUJsMvtxEY4U1LRu69Irgxd49xr/SgGDg=;
        b=giX/3JqHv6TexefD7rpK+h44HMqA9rf7oL4xeDPNvuZY25U0kafE0gih9C60NKmwF6
         mYWZ/+AIkBljux5S+md9hy1E1QS9dV+LE1sqKMm9+yGX3HPNTqQJ3iUn2+9Va5AA07ID
         5eUwMsK+iOqFmajSgBfBydVW0SiPWzDECmc3zDsj4o/7hjbp2OFoc34WQo+i/KhVy87D
         SBkJzLCZyWAGzjR/sTWJG5lUcO4xSbiLVARfVvCOCgTOEVG+Um47jrfYRUu2rptZj34j
         6UCaO+9WNWfSBSz5sq6ViJllMQSObHw1EZmliYwoG3oTw8gj6sPjPWvpQ1d5UN7u+2sf
         X/Tg==
X-Forwarded-Encrypted: i=1; AJvYcCWJqpMHS18uB4Bqsu95HIDSNZPRJKM8XI8AwGs4FSV2THxfer8cKkUO+VD/fk9aRKE7lQTOL7Bq30E=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy4QVsXxYNAfPXVX2W2DdYyUkiqN6/PlOzQEs9g2+NdMilHqLMa
	DJwzlXyFvOwE2ibbk9swfrpxi75tC+XAU/xv0GzD1BbqOjUdneq1WQyF
X-Gm-Gg: ASbGncv9b6I0vR0JBscPh4NW6m7Gp7D0sUap8qWFuE7hg4VIc2fGc7epgoIER3j0UJF
	b87+GlNK3Fdud0XXEem4neHFi8Pmno/Js45AiC/q4v//iVCEqHZhdWESyQvwYbIur5Hgjd1UHWn
	mmWOYMAsay3kxhhMExC+XMhNKmR1AwpIS4k1/xUePt3r/T02/FzAlmJG9F8hM+G/H/peg6jyDXG
	v1dmNUbNz78F7dkMA+4k4sOhRkyDzNaSU4igq+/ays31wNJz16fpXscACPTi7dP/4wI+Hyjxw/v
	0ue5jYnwf1yE1GySdT0hYlqWQVXvLreQb55Wjb9w5Ss7JGI5mz9muHtGZ95QtIH1uoE3EZs9T6K
	/Qv/gwkoMz3/S/WJrLwRe51hzLmrLU2qaI4UhZ/7gIjBO/qqlA4fLIlye1mNGBD6PaTBYt8e9ky
	zh6lBlktwN7NASjXga0uXfjqwqbahQuy8Kp7ieAw==
X-Google-Smtp-Source: AGHT+IFih7tbX96iXT+Fji5pg/Oqxez1jfYdbYjjix5S1j7LXYWtxa52LIDg67A81h81GJDZ3PtxRQ==
X-Received: by 2002:a17:907:c717:b0:b4c:629b:aa67 with SMTP id a640c23a62f3a-b4f43730a1dmr1334206266b.32.1760018402153;
        Thu, 09 Oct 2025 07:00:02 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------ZMbevqEJtjr5BLSog1KVbjja"
Message-ID: <c4f7c833-3bc7-4eb7-8120-80652b263894@gmail.com>
Date: Thu, 9 Oct 2025 16:00:00 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] MAINTAINERS: Add myself as an AMD SVM & IOMMU reviewer
To: Jan Beulich <jbeulich@suse.com>, Jason Andryuk <jason.andryuk@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20251008201106.36204-1-jason.andryuk@amd.com>
 <cf852476-8a51-4623-b4aa-d9fc42622b1c@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <cf852476-8a51-4623-b4aa-d9fc42622b1c@suse.com>

This is a multi-part message in MIME format.
--------------ZMbevqEJtjr5BLSog1KVbjja
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit


On 10/9/25 2:36 PM, Jan Beulich wrote:
> On 08.10.2025 22:11, Jason Andryuk wrote:
>> --- a/MAINTAINERS
>> +++ b/MAINTAINERS
>> @@ -220,6 +220,23 @@ F:	xen/drivers/acpi/
>>   F:	xen/include/acpi/
>>   F:	tools/libacpi/
>>   
>> +AMD IOMMU
>> +M:	Jan Beulich<jbeulich@suse.com>
>> +M:	Andrew Cooper<andrew.cooper3@citrix.com>
>> +M:	Roger Pau MonnÃ©<roger.pau@citrix.com>
>> +R:	Jason Andryuk<jason.andryuk@amd.com>
>> +S:	Supported
>> +F:	xen/drivers/passthrough/amd/
>> +
>> +AMD SVM
>> +M:	Jan Beulich<jbeulich@suse.com>
>> +M:	Andrew Cooper<andrew.cooper3@citrix.com>
>> +M:	Roger Pau MonnÃ©<roger.pau@citrix.com>
>> +R:	Jason Andryuk<jason.andryuk@amd.com>
>> +S:	Supported
>> +F:	xen/arch/x86/hvm/svm/
>> +F:	xen/arch/x86/cpu/vpmu_amd.c
> What about xen/arch/x86/include/asm/hvm/svm/ ? It didn't need specific
> mentioning on the X86 entry, but it would now. Also F: entries generally
> want sorting alphabetically as well.
>
>> @@ -601,7 +618,8 @@ M:	Roger Pau MonnÃ©<roger.pau@citrix.com>
>>   S:	Supported
>>   L:	xen-devel@lists.xenproject.org
>>   F:	xen/arch/x86/
>> -F:	xen/drivers/passthrough/amd/
>> +X:	xen/arch/x86/hvm/svm/
>> +X:	xen/arch/x86/cpu/vpmu_amd.c
> Didn't the v1 discussion result in there being no need for these X:
> entries?
>
> As long as there's agreement, I'd be happy to make adjustments while
> committing. Oleksii - I take it that ./MAINTAINERS changes can still go
> in pretty freely?

Yes, you are right. Feel free to commit such changes without R-Acked-by.

~ Oleksii

--------------ZMbevqEJtjr5BLSog1KVbjja
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 10/9/25 2:36 PM, Jan Beulich wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:cf852476-8a51-4623-b4aa-d9fc42622b1c@suse.com">
      <pre wrap="" class="moz-quote-pre">On 08.10.2025 22:11, Jason Andryuk wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -220,6 +220,23 @@ F:	xen/drivers/acpi/
 F:	xen/include/acpi/
 F:	tools/libacpi/
 
+AMD IOMMU
+M:	Jan Beulich <a class="moz-txt-link-rfc2396E" href="mailto:jbeulich@suse.com">&lt;jbeulich@suse.com&gt;</a>
+M:	Andrew Cooper <a class="moz-txt-link-rfc2396E" href="mailto:andrew.cooper3@citrix.com">&lt;andrew.cooper3@citrix.com&gt;</a>
+M:	Roger Pau MonnÃ© <a class="moz-txt-link-rfc2396E" href="mailto:roger.pau@citrix.com">&lt;roger.pau@citrix.com&gt;</a>
+R:	Jason Andryuk <a class="moz-txt-link-rfc2396E" href="mailto:jason.andryuk@amd.com">&lt;jason.andryuk@amd.com&gt;</a>
+S:	Supported
+F:	xen/drivers/passthrough/amd/
+
+AMD SVM
+M:	Jan Beulich <a class="moz-txt-link-rfc2396E" href="mailto:jbeulich@suse.com">&lt;jbeulich@suse.com&gt;</a>
+M:	Andrew Cooper <a class="moz-txt-link-rfc2396E" href="mailto:andrew.cooper3@citrix.com">&lt;andrew.cooper3@citrix.com&gt;</a>
+M:	Roger Pau MonnÃ© <a class="moz-txt-link-rfc2396E" href="mailto:roger.pau@citrix.com">&lt;roger.pau@citrix.com&gt;</a>
+R:	Jason Andryuk <a class="moz-txt-link-rfc2396E" href="mailto:jason.andryuk@amd.com">&lt;jason.andryuk@amd.com&gt;</a>
+S:	Supported
+F:	xen/arch/x86/hvm/svm/
+F:	xen/arch/x86/cpu/vpmu_amd.c
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
What about xen/arch/x86/include/asm/hvm/svm/ ? It didn't need specific
mentioning on the X86 entry, but it would now. Also F: entries generally
want sorting alphabetically as well.

</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">@@ -601,7 +618,8 @@ M:	Roger Pau MonnÃ© <a class="moz-txt-link-rfc2396E" href="mailto:roger.pau@citrix.com">&lt;roger.pau@citrix.com&gt;</a>
 S:	Supported
 L:	<a class="moz-txt-link-abbreviated" href="mailto:xen-devel@lists.xenproject.org">xen-devel@lists.xenproject.org</a>
 F:	xen/arch/x86/
-F:	xen/drivers/passthrough/amd/
+X:	xen/arch/x86/hvm/svm/
+X:	xen/arch/x86/cpu/vpmu_amd.c
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
Didn't the v1 discussion result in there being no need for these X:
entries?

As long as there's agreement, I'd be happy to make adjustments while
committing. Oleksii - I take it that ./MAINTAINERS changes can still go
in pretty freely?</pre>
    </blockquote>
    <pre>Yes, you are right. Feel free to commit such changes without R-Acked-by.

~ Oleksii</pre>
  </body>
</html>

--------------ZMbevqEJtjr5BLSog1KVbjja--


From xen-devel-bounces@lists.xenproject.org Thu Oct 09 14:46:52 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Oct 2025 14:46:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1140686.1475487 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6ruo-0003tj-6n; Thu, 09 Oct 2025 14:46:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1140686.1475487; Thu, 09 Oct 2025 14:46:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6ruo-0003tc-3q; Thu, 09 Oct 2025 14:46:46 +0000
Received: by outflank-mailman (input) for mailman id 1140686;
 Thu, 09 Oct 2025 14:46:44 +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 <SRS0=I7dU=4S=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v6rum-0003tW-HJ
 for xen-devel@lists.xenproject.org; Thu, 09 Oct 2025 14:46:44 +0000
Received: from mail-wr1-x436.google.com (mail-wr1-x436.google.com
 [2a00:1450:4864:20::436])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c2a29b27-a51e-11f0-9d15-b5c5bf9af7f9;
 Thu, 09 Oct 2025 16:46:38 +0200 (CEST)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-42420c7de22so528817f8f.1
 for <xen-devel@lists.xenproject.org>; Thu, 09 Oct 2025 07:46:38 -0700 (PDT)
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-4255d8f0392sm35603391f8f.42.2025.10.09.07.46.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 09 Oct 2025 07:46:37 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c2a29b27-a51e-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760021197; x=1760625997; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=86vCcZ0cub0piXT9v6NJ6O7PLKdPN4Uz6TO+S8WmTHM=;
        b=NaU47DcRTJy2CG1fOXEuI1n42OHxP5GpI/Q85ZcHYE2S5bweQrsYPyYyIghgZJZvjC
         HWxaDXU0o3YTwRAwvpCHRqxry7k1rm5zsPDU+eHseVXckUjMN3scsiSSeXIgI6FV0CO+
         l1FVBEErkQNabauY7MCzfKnX/O4v0BLSI7I9pnTtk0yaQJ+8oINmGNIxDUfQ88KgHBKq
         /C5QfZVpY0fVdbXXlIk6gXhgrJyoJe+nxmHG+BugdFHp4cu2cGWdhtiHNGg3De+oBgAC
         AuhNVRSEhYcaGnf7Og8ksSt6c5W3z+sK+3fPBGMLRKHlGWb2Xyaen9Cw2tZv/tEH9OcQ
         mDhA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760021198; x=1760625998;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=86vCcZ0cub0piXT9v6NJ6O7PLKdPN4Uz6TO+S8WmTHM=;
        b=vn7sWvf0V4QoCOE9G1+2s45n694+3MUc0hnt4xiCxsXlsobv5D02HvotIUsC0j1ZDi
         wYBwsLIkP6ahbHMBtNn8E4swA/cqvVO61lwpM3yGHsWaIf5rnGkfK5IdvBUWzuaLF7Nx
         rOGXs96Jo2O/VgGp1EJG/ELzaadzGqCJZcHikuFggcPmtl/i91FE828dhPc+EnwXaUrw
         yH1Q8Da9I76pA51Ap8fbrASv73eEJv+GLkpptZGusja7A0TMhYNDAImMAECYAZJhFaFg
         Go9x8tjwbA5d6u7i5jTiVMhhPJb7Be6f3WwGtKiMrOCnVuqg+gG9dvxGNvdrzQP5Nu3e
         6AEQ==
X-Forwarded-Encrypted: i=1; AJvYcCXfKkRskaVDqTMJMHj80xd/voZ9Da6+FL984CJC/GshcKTOvnE4XlyfLs5Dcbi2T6tAnQxTxfy9FoQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwyTIdNaU6uUftdGup7xfu4e3rDwoSZLGmGYr4weYl9IzJfER0U
	5IEoMEBRnilh1NSMyG+wT5A3tt7osaJ20mbbTxPvxApf5IbQdRwP0DmBqelg6MHpcw==
X-Gm-Gg: ASbGncv034uGOyWji4hTBlPIXN7EFqJ3hb0JMvyaOqDOKtE/XZ8tDzUNSw11IfPweoP
	GUelqNLlF/13oPNr2axpa00D3j0TFqlXSVLyeRKZiZZaOsKkCwuRum36GjhtCy3uY+5tJ8oUqtE
	CRelogacaD8EfQ6YPkgMIrnTH4pIfLGIcCht9X5UbZwqEnrD916W0pgQpERGYABXOJfBIN0+b2q
	YKYU0ZWB56AJrRfGoRHhduSxEyuubK+zP48DNfUF17s7v3xudyR9JwYqd4PyJLO57a14FkUyiDb
	0MliYNZbbmuGIbmKqNkp6Kv2zgTqfhUKJDoaI9wB3escved4GITbh5rVciX1Wap7Td96EmEw8PH
	ObBAVkhCFGozNNOdWd063cJZUGucVnKa5/FRHxiZNnhr0DupJLXyOq4XThwhfZvoetnl2MKZGFm
	YB/idUBodJMlyVJ6pkH6FghBOJZWY/MtQ=
X-Google-Smtp-Source: AGHT+IEj5+crxItN/hK9WVfFBS9EOBI5hb+HTKh/GHDzJUOB0nVg1/K3agB1dV75FOLcRxGLAvF+Zg==
X-Received: by 2002:a05:6000:1a85:b0:3f3:c137:680e with SMTP id ffacd0b85a97d-4266e8e0825mr5022043f8f.43.1760021197571;
        Thu, 09 Oct 2025 07:46:37 -0700 (PDT)
Message-ID: <0d678d1a-3c0d-4d83-949d-b840738cc353@suse.com>
Date: Thu, 9 Oct 2025 16:46:36 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] MAINTAINERS: Add myself as an AMD SVM & IOMMU reviewer
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <20251008201106.36204-1-jason.andryuk@amd.com>
 <cf852476-8a51-4623-b4aa-d9fc42622b1c@suse.com>
 <0923545c-ea7d-4b57-af37-351ede01d5e4@amd.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <0923545c-ea7d-4b57-af37-351ede01d5e4@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 09.10.2025 10:19, Jason Andryuk wrote:
> On 2025-10-09 08:36, Jan Beulich wrote:
>> On 08.10.2025 22:11, Jason Andryuk wrote:
>>> --- a/MAINTAINERS
>>> +++ b/MAINTAINERS
>>> @@ -220,6 +220,23 @@ F:	xen/drivers/acpi/
>>>   F:	xen/include/acpi/
>>>   F:	tools/libacpi/
>>>   
>>> +AMD IOMMU
>>> +M:	Jan Beulich <jbeulich@suse.com>
>>> +M:	Andrew Cooper <andrew.cooper3@citrix.com>
>>> +M:	Roger Pau MonnÃ© <roger.pau@citrix.com>
>>> +R:	Jason Andryuk <jason.andryuk@amd.com>
>>> +S:	Supported
>>> +F:	xen/drivers/passthrough/amd/
>>> +
>>> +AMD SVM
>>> +M:	Jan Beulich <jbeulich@suse.com>
>>> +M:	Andrew Cooper <andrew.cooper3@citrix.com>
>>> +M:	Roger Pau MonnÃ© <roger.pau@citrix.com>
>>> +R:	Jason Andryuk <jason.andryuk@amd.com>
>>> +S:	Supported
>>> +F:	xen/arch/x86/hvm/svm/
>>> +F:	xen/arch/x86/cpu/vpmu_amd.c
>>
>> What about xen/arch/x86/include/asm/hvm/svm/ ? It didn't need specific
>> mentioning on the X86 entry, but it would now. Also F: entries generally
>> want sorting alphabetically as well.
> 
> Yes, that all sounds good.  I based this on a revert of 
> 8395f275ebd11b4cacb12da09911e7918ccc7518 and alphabetization was 
> incorrect there.  Sorry about that.
> 
>>> @@ -601,7 +618,8 @@ M:	Roger Pau MonnÃ© <roger.pau@citrix.com>
>>>   S:	Supported
>>>   L:	xen-devel@lists.xenproject.org
>>>   F:	xen/arch/x86/
>>> -F:	xen/drivers/passthrough/amd/
>>> +X:	xen/arch/x86/hvm/svm/
>>> +X:	xen/arch/x86/cpu/vpmu_amd.c
>>
>> Didn't the v1 discussion result in there being no need for these X:
>> entries?
> 
> I thought Anthony said they should be split out for proper nesting:
> 
>  >The exclusion is likely unnecessary, and ./get_maintainer.pl will just
>  >get the information (email, ...) from every sections that a file match.
>  >But the duplication is necessary due to the "The meaning of nesting"
>  >described in the MAINTAINERS file.
> 
> I took the second sentence to mean they should remain.

But the 2nd sentence was about duplication (i.e. splitting), not
exclusion.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 09 14:55:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Oct 2025 14:55:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1140700.1475497 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6s35-0005Ud-Se; Thu, 09 Oct 2025 14:55:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1140700.1475497; Thu, 09 Oct 2025 14:55:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6s35-0005UW-Q1; Thu, 09 Oct 2025 14:55:19 +0000
Received: by outflank-mailman (input) for mailman id 1140700;
 Thu, 09 Oct 2025 14:55:18 +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
 <SRS0=VZ0Z=4S=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1v6s34-0005UL-FW
 for xen-devel@lists.xenproject.org; Thu, 09 Oct 2025 14:55:18 +0000
Received: from AM0PR02CU008.outbound.protection.outlook.com
 (mail-westeuropeazlp170130006.outbound.protection.outlook.com
 [2a01:111:f403:c201::6])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f83e76ea-a51f-11f0-9d15-b5c5bf9af7f9;
 Thu, 09 Oct 2025 16:55:17 +0200 (CEST)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by DU0PR03MB8440.eurprd03.prod.outlook.com (2603:10a6:10:3b4::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.9; Thu, 9 Oct
 2025 14:55:13 +0000
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593]) by AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593%3]) with mapi id 15.20.9203.007; Thu, 9 Oct 2025
 14:55:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f83e76ea-a51f-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=H/7vyEME3YlbSnUE1ddzIscc0DM8IScuv9/G0eMt31NB/F5TDhqDh4ZfjnGtgyjkjPJ7FhONiJrj6WZhHJamDETFF0MP2GGmrviKHeD+lw5KT9+wcn8j2RrMW1h9ttWx/m0c02Pe5Vzx+Xf+wRwq2NcihgjtSPaHyxuSc+13R3lqA2cvLKqoquG94/hHbBWtx+xxlP3gh6Mf1hgUbhz83TPc0SQ7DSMKz6LsmMCYagwwbOwLYTEM0C1gLbWPuo9brw/SX1tU7Uir2jf22L42MDjOp4if7Gdb8ZA2DwZ7s9qENBA5WjIc5AZPEJG3OFxbml9IpdxKXhuWgy8+FsuI1A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=FoRRyf0zVWWasqZQ08H7PUBwiesnlWet7TQlo9f5Lb8=;
 b=tV+244KQUxsLR24dhYzW44MdeAA7Ib2WSTSRqT35laaxpr28JF2YbNYMjXJ9hvlp0wDWqOdA3EM31C6UDyQlG56s1/+ezO/96MZAu/booI7iRJ+5dUbo2KFYasAoU7J2U3AYbnjzyROCpX5y+ExTucI1e8rX0lBaumkdRIy5pcdSgyWXHK8pe1pm6mrTtf9eoYbkBVs1UmWKl58KVMI1FfjMcCcQRM+DMKm2HblEHsEP5WwuxIc0WuGW/uRftulAFHBgacqqWl55ONYMl6WU/jDh+rC8axpHl6FIrukHKYCM/yVcVxAjCgpLxuBZc/HIO0hggoLAFO+fRhtlQi8iTg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=FoRRyf0zVWWasqZQ08H7PUBwiesnlWet7TQlo9f5Lb8=;
 b=LmpKSloYl7ZwfeyRT1BMC2WZhXCSh2PQhSgK9JgTC2DtJ6YcWwrmZtK31M5Y7xB3d3q8NwS+JuW+xA+flHkbCychc7JhsrfMbSGFCIQqFtpHwAIggIVzohP36dEMXciJWvt+LaB4Z67gbHskHT91y89mt4/pofm5Tl7QG7YHrkG4uyKsgJQRIQAU+A0qi+ak6kDDRoXW3harv/pm6gi7uquFkD31yJ+cUdSxSYIpD9wYLQyAYQAbRiW5wDWGU8MKX1Svrb39mYwdYsG1c1BKYhhN3IlAOzG+9CAJQ/1iVxTnBw7Uhc7OidDTALdokkUUCuS007uapCqEAOYfE1ZmQA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <a80dc58d-a6b7-4de4-be1e-7c2fa03b17aa@epam.com>
Date: Thu, 9 Oct 2025 17:55:12 +0300
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] x86/hvm: vlapic: fix RO bits emulation in LVTx regs
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Alejandro Vallejo <alejandro.garciavallejo@amd.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20250930190550.1166875-1-grygorii_strashko@epam.com>
 <DD733UWP8JVK.SSX8U5ENELIE@amd.com>
 <3715a68a-dc35-42f4-99e2-e1a45ebd1b16@epam.com>
 <ad2818bd-bf36-46b9-89f3-ffa8b9dd364a@suse.com>
Content-Language: en-US
From: Grygorii Strashko <grygorii_strashko@epam.com>
In-Reply-To: <ad2818bd-bf36-46b9-89f3-ffa8b9dd364a@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
X-ClientProxiedBy: FR5P281CA0025.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:f1::20) To AS2PR03MB8907.eurprd03.prod.outlook.com
 (2603:10a6:20b:5e4::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS2PR03MB8907:EE_|DU0PR03MB8440:EE_
X-MS-Office365-Filtering-Correlation-Id: 2800493b-29a5-4b25-e91c-08de0743d9e9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?UTJEK1VvN21PdnFjaVJhclIyOEZOcUFJS3hYME5VSG5uSXZ2TzZHR1VBSlZZ?=
 =?utf-8?B?U3N6eW5SQXFPU0tSWkZsVGxzY2NIT202TXlLc3hGZElpeUdneUpoWnNKZHJN?=
 =?utf-8?B?cGZUQ0luekNRNUtjdEJMSi8rSEQ1N0sxQ3ZjQStvOWt2OG5jd0lyTDRpWVo5?=
 =?utf-8?B?aHU4V2tpN2V3N2tObm1idVpwV1ZUbitxb3ZOazZoUDVSMlBNamtXMXNMLzVn?=
 =?utf-8?B?WDlSNVZobnpyN2g3SUIxR252RHFxZURPaGhVbFFwUjJQZm15MlNJd0xRSWFx?=
 =?utf-8?B?QTYvTC9rOWFaVUk1VjBtQkxpdWNQODZ1UFo0aEZsV3Jwc0xBVDZCMkZ1Nmkz?=
 =?utf-8?B?NXVjK1NwYUlWRzlQRXRFNWZuRUZnOTR6ZGdrbE1uVSs4M1ozVmZFZlg2S0pm?=
 =?utf-8?B?SGc5TG10cUtsZGtZKzI0eEVlRHdFditnN1ZHNG4zOTBha0hiUlByc1JGTnEz?=
 =?utf-8?B?TGNhWUY0dm5QSEk5dk5pclRkZnU1ZXcrdlJDZnZzUmFHMFNZQ1Z0anBnb0Y4?=
 =?utf-8?B?dCsxSk10bkx1TFhlc3VIbGExeDVyWUQzMmpFZlhESnVRTmpYVW9QWmhLU2VY?=
 =?utf-8?B?YlJjejQ2K2ZwY0lRUjcvRzhVUUg1eE9OSkhzZ0M1WFRBaEdVc2hDMWRmWklI?=
 =?utf-8?B?cHd3OE1ra09nQ2poTTE3T0RidFZtMFd6cFEwSm0vZmkwMGxnd3dIVjdTSHdh?=
 =?utf-8?B?VWlrWmloOXlyY3JYMzZnY09EZEZPY1lMN2FVWkUrT2h4S2VQRWpoUm8zcmhD?=
 =?utf-8?B?MXFDQW5ONzBlMTBYZWlGT1hUdFBvdnY0VVhOZjZlTGdNTXI0NTlMRlRQNHVZ?=
 =?utf-8?B?S0tTUTVDMFBMaHdIOEJsOWpqSnR4OUh5OThKOXgrcFFUNWlpV1BBTEV6dHI5?=
 =?utf-8?B?b240UFhIOXp6NlV1anB3TlFGV3VzbGZaT0M3eXV1VDdOSFZBU0Z3bEExajRE?=
 =?utf-8?B?TEY2dDNpbWl0RUtZL1grZGNPWGRVbXJsVmVRSHhQd0lGem5VSXYycitlT1NQ?=
 =?utf-8?B?eGRTQ1ZBRGpFRy9ycWc5b210V1VSYkVINWlFUXRIZEk0QndXVTBFTTQ5RDFa?=
 =?utf-8?B?clc4eVNpbWdnS25DUnVyaHJOV09qdEwzaFNiK0xFNnJFeVBtOGxoOWtLRzJw?=
 =?utf-8?B?NVBnK0hjbWp1TVd5WCtKcUdXUi9uWGdRVlorTTE5T3luYXJrRnVFVUNlUllL?=
 =?utf-8?B?eTBNb201eVhUbER6d1BTZmVYeGd0MXVTOEtZSmxMT3VEVW9RU3FOY1NHL3gv?=
 =?utf-8?B?VzJ5QXo1b0tudXdmTkV3aGdESExJV3Q1aUxKSXBwRG9ldFVtL3pXcFdjYVJQ?=
 =?utf-8?B?S1craDBicnJEaktZZjJJOG4rRG03Ky93R0lKK28zZUF2WXN6VzlUdVJWMnNG?=
 =?utf-8?B?LzRtemF6OENxMzQzZXJTYzY5Qm1NMVhpVCtxYTdzcDJtQkRucURQTlZwSUU2?=
 =?utf-8?B?YnRlczhmRmZyejNrYXlFL2p2MkFKOGZ2RHg2dnQzWjVFaDRKSzNHeG9iOVhl?=
 =?utf-8?B?dzdaSDRuZi9nYllFN2ZtOTNqcm0vV3JMTGhoeXVuM1RWNVd0amQ2N2VNcG5q?=
 =?utf-8?B?ZUs2NUZpdTdrZUh3OG41Q05neGdFZGhSMWpxT2R4Z0hMdEpqMkxCMFRCSHB6?=
 =?utf-8?B?S2I1ZW5hcjJ4NGZCb1ZmT0dSZXhLcHBZMzdnRUh2d2l0R05MSGh5amZIcEFo?=
 =?utf-8?B?RjhLYXJ6SlpVN1ZWTjM0R1dWRzJYWU5WSmU2OG1MTXNMb2hMYWlhcVJjY3Ur?=
 =?utf-8?B?UVlWazZDT0hEd3lTZXVBUmw1aStpQjB4cWkrTDVlRmxWdDh6MmRITFBIZWo0?=
 =?utf-8?B?WnFINUNUK0R0ME5oNmE2Y1lHRkxnM2NQS2Y3SDA2eWdYdkh3WXpPRDhuRGVK?=
 =?utf-8?B?dWl2bW9yQUpqeUE4QlpCNU9NQk0rOCtlM1N3ZWR4RGVaeXdhbzhLRU5admIy?=
 =?utf-8?B?WWt4N213STlKQ010elhpdGtQc1VId0hnMHlFZUVVK2JNYkNObEtWWkdVS0VI?=
 =?utf-8?B?RXFXekx5QnBnPT0=?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS2PR03MB8907.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?enFyTWt5cVFNYXEwcDBTWE9vbi9qZFhXUm54V3ZQRDJ2SHJSWS9UNlJQcW5O?=
 =?utf-8?B?VGp3dFZOdlp2b2NEWm5ELzZiSW5FS1JGNjREZUhjanh3VjdKQmFwVU5ieUc5?=
 =?utf-8?B?RXBkTHZncEZEM1dxeWEreDQ3QkRoZm1vRnU3VXFaTEpreGw3a2dGNDF6V1Zi?=
 =?utf-8?B?ck12UmFMTlh3Qlo4MFRHV08rczZQTDRML0lBbml3Q3IvTE1DUG4vQW9pMTIy?=
 =?utf-8?B?Yi9wVjFGV3FFemxqYnE2aHFrQjVmQzBjT2J6bGdueWNLdzRuVFp4NXJCVGFI?=
 =?utf-8?B?cnpLdW5FYmdEQllqUFFDdWFZaDRxNkl1WWVIZmlGMTlNZ0VYZXlDVHBENnVZ?=
 =?utf-8?B?NitTMjFzQ3hlN1Z5ZzNHSkZhMkMxdXBvaUNOQ1ByaXNBWHRuby9mb1RQWElE?=
 =?utf-8?B?MDd5M3dUT2JuckhKM2V6SEVRKzBiNjVoeVVrK1prU2ZVRGNhcVBUbVlUTkpp?=
 =?utf-8?B?dVpJckQxdHBvLzdaVmJwekQ2clNTdkttV3VocUMyTHEyM0tzTmNDNlEzbkJS?=
 =?utf-8?B?ME1DakNvL3RCaUNKenVHbC8ybzduRlN6OTliakx0Qy9oMVFBaW9SMkFjV3JH?=
 =?utf-8?B?QjBJM3FYWEMxT0IxU2d2ZFVxZjZpQklNY0NuMkNwK0pQRjRyL2VaczdBMHFs?=
 =?utf-8?B?Q0VwRnNJUXVUU0hlV2Qrd29VSnhPWXFmU1QyemNxYUJXT21ia1h6Rmd2Nmw2?=
 =?utf-8?B?WDhDa3pPMVFLL1FMN1ZZRnlHbEhLc2QrYytmM0F6YmZUWGJEWmlpY3dkMEZZ?=
 =?utf-8?B?ZkVsVUdKMkVoVTdaZDdEbkdtUlZEejlQVGlubXArSFc4QXpTQ1hEY29vVGww?=
 =?utf-8?B?dmlRYzdkZUZTVFQ5Q2E4YmVHTmlmT2lFU1RpTW96MDBuejJ5d3hYRU8yaytE?=
 =?utf-8?B?QkFyajkzME9JRnZHaWlvT2FmMjRWdkpZazBsNzhxUVZxcGdJMXdkdFc0YW93?=
 =?utf-8?B?ekFNZ2Fqd2RWdGFHRUJFQTNpdjZOenhMQndNNzBGWXRlMll1ZTZwRGZzTVgw?=
 =?utf-8?B?QU9sYzB1dkF4OFFnUnVEYjRoSTErM1BhZFI4enZYTVN1TURmenQ4NmxtODNt?=
 =?utf-8?B?OGhRb1BieXd4eUpBZEwvL3hSbWpBNk1WRFFvTmU1Nmw2dVdqTWl4amJ3MEo2?=
 =?utf-8?B?VDNhdCtvTE9oMWExd2NwdzJFZjZKVks0OVdFb3B2ZGVJNnJZMERJRU0zK0VC?=
 =?utf-8?B?VEVWa1ZhN2ZnUE9XYVVFbElkMElBVjQvSzRuU25WcmpQQkI2cHVQT3V6Zjdh?=
 =?utf-8?B?ajN3Q2c4Q0l4SHhkdWtCdi9xbnVFY09JTVNidkYvd08vV3pFS1VTUklHeFRK?=
 =?utf-8?B?ejJiUk1PcThqQmFWSWVNWit2dVArL2JQbEgxeDZkUnVneGdTSk84Ky9BeWJH?=
 =?utf-8?B?WmZaUk5mMzZ3dkkyT1pMNWdWbHBJNXVQTStzeWNDY1RkVlhSMVhjSGFqREYw?=
 =?utf-8?B?bEpzUi9aKzRMa2h3M2FmTkFiMHY2TzgyMDIxak1IMkF6dEs0VG13VlQzQ0pP?=
 =?utf-8?B?aE1jV0hmTktyOXVCbUhZZ0ZRc2IxWnZnRVFWQVZHWWU5YTljaDhudzBSZkk3?=
 =?utf-8?B?UGZzS1RtMDgwN3k1UHpFK2RBQVgvM3g3Z2dtMnFqeUhUaU9rbmhldVR4UE9s?=
 =?utf-8?B?cEpoZWluck9XZ25lYjhFOWFmbFNHTVFFcWlLNk8raWI0U1gweFF0SFlCTGtT?=
 =?utf-8?B?TUU2ci9PWVRWa0tXTTBDeExxaHh1aE1VUUd2MzNKWkZ0U2VzbmRYbXVhdElQ?=
 =?utf-8?B?U1FTdldnUEZOdDhTaE13bFVZRWVFY1c5SDFYVVI3SjNnSXp3eXlvSFZPMzBF?=
 =?utf-8?B?RHFDa0I5c2Q5bzFFZXJMRlV5UHNRSmlpR2JYdkd2S00zeStoQnhlYmNOdHVZ?=
 =?utf-8?B?VG5rME1yRmRjRkl6RUNaOFhJbWNuRmt3SkxMblVPb0NJb0hCcVQ4NTFTQkpL?=
 =?utf-8?B?SE02RE9QRjc0MTdvZmtKR2FNeS9ZMEhKN2Rsa1FQeHp1ZlFma3o0cjNMZm1Y?=
 =?utf-8?B?VU9Fc0RIcUE1NC9QL3RBenNzSEExcW1qN1JEZ3NyMDZXOHBFTkxtekNhbjNp?=
 =?utf-8?B?YnRoZCthVk9yelVSaGZVcGJBV094d05qN3FyM3hxYXFBNmpkL0pKRzlPZVBB?=
 =?utf-8?B?akJUZmFUZ0EzTlU5VUFXb2JvMjdDT1RXWjBUaklQZ01rYnp0NHVtZldLWWdC?=
 =?utf-8?B?YkE9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2800493b-29a5-4b25-e91c-08de0743d9e9
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Oct 2025 14:55:13.5499
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: tzfSziwEzWOxL2flYqehZezUwIjXtx8yI+cXkwx5QfprW+qveZ96bak7RSVygDuUhMeEmhQeq4M7qZP9fo4CjGvjj3FRKnwtR5tZDyWSzLc=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR03MB8440

Hi Jan,

Thanks for your comments and support.

On 07.10.25 18:35, Jan Beulich wrote:
> On 03.10.2025 16:04, Grygorii Strashko wrote:
>>
>>
>> On 01.10.25 18:18, Alejandro Vallejo wrote:
>>> On Tue Sep 30, 2025 at 9:05 PM CEST, Grygorii Strashko wrote:
>>>> From: Grygorii Strashko <grygorii_strashko@epam.com>
>>>>
>>>> The LAPIC LVTx registers have two RO bits:
>>>> - all: Delivery Status (DS) bit 12
>>>> - LINT0/LINT1: Remote IRR Flag (RIR) bit 14.
>>>>
>>>> The Delivery Status (DS) is not emulated by Xen - there is no IRQ msg bus,
>>>> and the IRQ is:
>>>> - or accepted at destination and appears as pending
>>>>     (vLAPIC Interrupt Request Register (IRR))
>>>> - or get rejected immediately.
>>>>
>>>> The Remote IRR Flag (RIR) behavior emulation is not implemented for
>>>> LINT0/LINT1 in Xen for now.
>>>>
>>>> The current vLAPIC implementations allows guest to write to these RO bits.
>>>>
>>>> The vLAPIC LVTx registers write happens in vlapic_reg_write() which expect
>>>> to implement "Write ignore" access type for RO bits by applying masks from
>>>> vlapic_lvt_mask[], but vlapic_lvt_mask[] contains incorrect masks which
>>>> allows writing to RO fields.
>>>>
>>>> Hence it is definitely wrong to allow guest to write to LVTx regs RO bits,
>>>> fix it by fixing LVTx registers masks in vlapic_lvt_mask[].
>>>>
>>>> In case of WRMSR (guest_wrmsr_x2apic()) access to LVTx registers, the SDM
>>>> clearly defines access type for "Reserved" bits as RsvdZ (Non-zero writes
>>>> to reserved bits should cause #GP exception), but contains no statements
>>>> for RO bits except that they are not "Reserved". So, guest_wrmsr_x2apic()
>>>> now uses different masks (than vlapic_reg_write()) for checking LVTx
>>>> registers values for "Reserved" bit settings, which include RO bits and
>>>> do not cause #GP exception.
>>>>
>>>> Fixes: d1bd157fbc9b ("Big merge the HVM full-virtualisation abstractions.")
>>>> Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
>>>> ---
>>>> Changes in v2:
>>>> - masks fixed in vlapic_lvt_mask[]
>>>> - commit msg reworded
>>>>
>>>> v1: https://patchwork.kernel.org/project/xen-devel/patch/20250925195558.519568-1-grygorii_strashko@epam.com/
>>>>    xen/arch/x86/hvm/vlapic.c | 14 ++++++++------
>>>>    1 file changed, 8 insertions(+), 6 deletions(-)
>>>>
>>>> diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
>>>> index 79697487ba90..2ecba8163f48 100644
>>>> --- a/xen/arch/x86/hvm/vlapic.c
>>>> +++ b/xen/arch/x86/hvm/vlapic.c
>>>> @@ -44,15 +44,17 @@
>>>>    static const unsigned int vlapic_lvt_mask[VLAPIC_LVT_NUM] =
>>>>    {
>>>>         /* LVTT */
>>>> -     LVT_MASK | APIC_TIMER_MODE_MASK,
>>>> +     (LVT_MASK | APIC_TIMER_MODE_MASK) & ~APIC_SEND_PENDING,
>>>>         /* LVTTHMR */
>>>> -     LVT_MASK | APIC_DM_MASK,
>>>> +     (LVT_MASK | APIC_DM_MASK) & ~APIC_SEND_PENDING,
>>>>         /* LVTPC */
>>>> -     LVT_MASK | APIC_DM_MASK,
>>>> -     /* LVT0-1 */
>>>> -     LINT_MASK, LINT_MASK,
>>>> +     (LVT_MASK | APIC_DM_MASK) & ~APIC_SEND_PENDING,
>>>> +     /* LVT0 */
>>>> +     LINT_MASK & ~(APIC_LVT_REMOTE_IRR | APIC_SEND_PENDING),
>>>> +     /* LVT1 */
>>>> +     LINT_MASK & ~(APIC_LVT_REMOTE_IRR | APIC_SEND_PENDING),
>>>>         /* LVTERR */
>>>> -     LVT_MASK
>>>> +     LVT_MASK & ~APIC_SEND_PENDING,
>>>>    };
>>>
>>> This is a bit messy. Why not have 2 masks? One for rsvdZ bits, and one
>>> for RO?
>>>
>>> That ought to simplify the logic in both the MSR and MMIO cases.
>>>
>>> MMIO would do RAZ/WI on the OR of both, while the MSR interface would gate
>>> #GP(0) on the mask for rsvd bits only and ensure all RO bits are preserved on
>>> writes.
>>>
>>> Thoughts?
>>
>> I've been thinking about the same and It can be done, np.
>> I always trying to make "fix" with as small diff as possible
>> considering back-porting.
>>
>> How about "follow up" patch if there is an agreement to proceed this way on the Top level?
> 
> Doing it in two steps would be okay with me (I expected it to go that way
> anyway), but then it would still be nice to limit churn some. Specifically,
> taking LINT_MASK as example, can't we do
> 
> #define LINT_RO_MASK (LVT_RO_MASK | APIC_LVT_REMOTE_IRR)
> 
> #define LINT_WR_MASK \
>      (LVT_WR_MASK | APIC_DM_MASK | APIC_INPUT_POLARITY | \
>      APIC_LVT_LEVEL_TRIGGER)
> 
> #define LINT_MASK (LINT_WR_MASK | LINT_RO_MASK)
> 
> or some such, and then use *_WR_MASK in the table initializer?

Huh. I seems lost a bit, so it's time for ask for more clarifications.

I was under impression (seems wrong) that this patch is ok in general, but
more improvements need to be done while here [1].
My situation is simple - I have a broken safety test with obvious reason "RO bits are writable".
And for me fixing a bug (in most simple and fast way) is a high priority.
Then whatever optimization/improvements/refactoring (while have time slot).

So, what need to be done to get the bug fixed and fix merged? (preferably in 4.21)

Should i update this patch and port here "do LVTx masks renaming and rearranging to x_WR_MASK/x_RO_MASK" part from [1]?

Will it be enough?


[1] https://patchwork.kernel.org/project/xen-devel/patch/20251009114249.1964387-1-grygorii_strashko@epam.com/

-- 
Best regards,
-grygorii



From xen-devel-bounces@lists.xenproject.org Thu Oct 09 14:56:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Oct 2025 14:56:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1140713.1475507 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6s4K-00067d-9E; Thu, 09 Oct 2025 14:56:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1140713.1475507; Thu, 09 Oct 2025 14:56:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6s4K-00067W-6Z; Thu, 09 Oct 2025 14:56:36 +0000
Received: by outflank-mailman (input) for mailman id 1140713;
 Thu, 09 Oct 2025 14:56:35 +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
 <SRS0=VZ0Z=4S=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1v6s4J-0005zC-2x
 for xen-devel@lists.xenproject.org; Thu, 09 Oct 2025 14:56:35 +0000
Received: from DUZPR83CU001.outbound.protection.outlook.com
 (mail-northeuropeazlp170120005.outbound.protection.outlook.com
 [2a01:111:f403:c200::5])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 22dcf6f3-a520-11f0-9809-7dc792cee155;
 Thu, 09 Oct 2025 16:56:30 +0200 (CEST)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by DU0PR03MB8440.eurprd03.prod.outlook.com (2603:10a6:10:3b4::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.9; Thu, 9 Oct
 2025 14:56:27 +0000
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593]) by AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593%3]) with mapi id 15.20.9203.007; Thu, 9 Oct 2025
 14:56:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 22dcf6f3-a520-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=opIrjFUex09v9zfxcSN04vuUB9d8MPUW061fvIvPiPEHP+StXUPhD/we1Kc2X9PXbPmailud+OPVKUBd2FYepeUVAJ7Z+BtVCN3dvexehNgq5IoLjjY7FcH6P+r0yBxRBV/stD6SkihARWIKdkQJmY4W4VVYNnepYfLjAIwB02h1OXjWDP5TjiuU4Zi5IYW8gejmT/IEwf+5a/NnkheA5bVEl/+u7ClnJUneVbteMZSfF1fvxG9tOfWeku7lCEQlLRDOm2Ijk/qvAkT1i6iSDxDIUF5mM1KNdgLso9auqt+Lu2i44+QjwdG8MPGtbxikypT35VDYMVRiwyKR/9Qaig==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LuyaZy+M9hBq5wFHtOTud4H+Bh5LYps+XVSmUeiMmUc=;
 b=YDADQF61m2gQwybw1AYosekFgHsUkHRrO1v0/FSCX7AS4M41gHAdOSK/4jNte33sEhgDwTzIeneNDf5V/82XmWWrkVlS1AEVUq6boA6pWSOYOeX5wfJ/6p56mjwKL9Ij8K1XHKYERgQiNrvkyioGOjqcUPPeB50RiwcekuhFuYNksF0z9q7LIFwX8lNc8E82Stexda/o6w/+30Ju6zFi3qo7jhlGfW9gBFr2SONPyeUd89cDctaqk2w/E4iyUmhzrlldO1uJc3/WvxGsAhcZ0b8gb6pBZMMlIa2z5uuDpl2f8x5fqplHc0WP2VhX4qE4yDFTOLXgVfwDBnzOPFehYQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LuyaZy+M9hBq5wFHtOTud4H+Bh5LYps+XVSmUeiMmUc=;
 b=fmJV2cK3IYO5OKiqPe4aCu6AEII5c0QACskBLRgRV2Dt4QFzNBKcUSuBQ/nLtircfetuFKCTZWYb10ZQg7qHg4DzXcq2aoUfVdR22UE/hfZEaUTWaW0kNhV9RdgFVcqYgejMRqWjPnGMfuhk9tqvR5PccuOugwcOy7ZNWl1zvNxZIeGn5Unr/NKVSDXhnJ1a/TCXwnu5p4TgeX7CHFk5RSfeC7F8RuL9GrS4q7btPKgWnq1aGrK1RIFed3ZMvptNqRdoCF9YHCCdtAb887+n9mdkSslXUZLhSZNWDlbQDbzGDCk2/U+lV6zrzPD3JBLftuCmF4Ep23EqZctcKbvNQw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <6a3494af-96a7-4092-a8fe-39aee85fc983@epam.com>
Date: Thu, 9 Oct 2025 17:56:26 +0300
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21??? 1/3] x86/vLAPIC: add indirection to LVT
 handling
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Andrew Cooper <amc96@srcf.net>, Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <265d5053-af61-42cb-a3b9-ef60df39c21b@suse.com>
 <dd6b46f8-76f7-46d3-b3be-083b58781f32@suse.com>
Content-Language: en-US
From: Grygorii Strashko <grygorii_strashko@epam.com>
In-Reply-To: <dd6b46f8-76f7-46d3-b3be-083b58781f32@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR5P281CA0025.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:f1::20) To AS2PR03MB8907.eurprd03.prod.outlook.com
 (2603:10a6:20b:5e4::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS2PR03MB8907:EE_|DU0PR03MB8440:EE_
X-MS-Office365-Filtering-Correlation-Id: 29b577fb-37d9-45f4-fc27-08de074405e8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?cWprank1Vnc5cFM1aDh1V3d2OXhBK1VOblJSRzJ5THZzbnM1Y2RzbG1FRkhq?=
 =?utf-8?B?YWJ5N2Z4dDdpVmlYQzc1VkxScWExQUpsb2NZYmNOR3VjRDMzTUFBVlV5VDk4?=
 =?utf-8?B?SVJFT0QybTUxdGJlNUY5MXVvdGJZN3dEWXYvWk05V1lpYkJNbkE3RlJYeXZ2?=
 =?utf-8?B?bndPeTRqc1J3bFlMdFFsYWN2eEViL2VhTzhmWVlpNG9LcmpCVlJjemdKZ2tQ?=
 =?utf-8?B?aFdxWXRDWXNOWXowNWwveXlZSUNvS09YZEp2aHl6K2w2c0J3Um1IS051U1hD?=
 =?utf-8?B?MnRqQXZsdndadHEreXJRYWxQTjR0ZmEydGxvbmc4dGtwWXRIaUtxTkN4ZWMz?=
 =?utf-8?B?bGpXOWI5TU9uNUpOTUhYWnZhckVPY0dOQ3VXeG5iWksrK0NOR09sNk83N0hn?=
 =?utf-8?B?WGFvWW5GSWFsZElEb1hKK3ViQlIzRjlNb3hWMkRaVWlDYzVhampXUUtTYnM5?=
 =?utf-8?B?K0syQTAxOXBONnFIcm9SM1BGMFR2ZTJ4VjF3VStpc2lCVDU3THVtQXBTbjFa?=
 =?utf-8?B?dUVKanUyMHg1R1RCR1cwZmFibVdjOE9UOE16NTJ3RGFzNC95OFF0S2doYlNF?=
 =?utf-8?B?NkRvblkzUDd1aUNNM2JROG4vK1hMSFN2a1p4UFlkV0tqNUw0NURQb0FtM1pC?=
 =?utf-8?B?SVVqeDRPaGRsZUZWNjFrSUpYYTlkQnQ3UmZPNnF0L2NHZW9OZ1BTdkE4NjlP?=
 =?utf-8?B?NU5iZ0NwTm5uYlNlamFWUHUyczNJZXhrUk5vQ0tkNDNQMlhUcW1tM2lqY0gy?=
 =?utf-8?B?cTd3MDhVSHd4bXNIVTJKSWJGMituVTNOZm44SlEvaVpSbGN1YzhrSnJUZE9S?=
 =?utf-8?B?QWlFN0VGcTZZeFMrT1RVMjhFSmNWdi9QTzZVTlNNTjRrWWwzOG1Balg4Rndz?=
 =?utf-8?B?QktNYXZWUUZRdkR2cTZQVnlZOFlNeTBHYm54SGl2V1MveWtsdFJJTlFDQVZM?=
 =?utf-8?B?YWhmL29FaTlEanc3YWNnNVY1eUpQSGFXeHpIaWZZWjhVdlZTVm9DZnBiZzdD?=
 =?utf-8?B?WTQ4a3NmbVpCK3ZNS09vWGl0cnM3V3pFd3QzZmJQL2hxYWpzVXdJdTQxUjVz?=
 =?utf-8?B?cm8zUTREZEhHOGl4b2lhckxTR01pTWFJU0UzektXNk4vcG1CRWxhcVZDUjB4?=
 =?utf-8?B?QnVoeUdFSkJQU09PMFJyRkdscWI3Uk4xUDFnUWlaakRPclRlUDhGN1pvSG9n?=
 =?utf-8?B?ZlMvUHIyWmZQeVYvR05yVWJEdnBhY0VCSUt0SHM2Z3dVQmJYUUlWUHNSekZL?=
 =?utf-8?B?d2ZDLzIzaXB1MmwzK05seEhLSW9mQ1J4Tk1PbXg3c0pNa1VhZXZXNjRhZ2N4?=
 =?utf-8?B?ODY3a2lEMVcwUTk3N3dyOWpjbG9BTTFSN1VLdFVWNzdsckVaMXhzZkF5MGpO?=
 =?utf-8?B?YklGRk93aUhWaSt2MzRneEthWS9WQllPYnhMckloVUxGUWJOYVFMSGVUMEpX?=
 =?utf-8?B?YTVGbkYweWxOTHVpMTU1L09JU0pMbmhPOUQyamxlNUkxYmlyMVJoVGYxTitS?=
 =?utf-8?B?bWJzemxHL1NpMTI5dDFuYUtHaFVNVGEvVEdxaE9FQVh2dW1mK2FROU1wRXNt?=
 =?utf-8?B?MXo3S0R4eFA4UmQ1Z1hhRlVFTEk4ZmFRVlBoeE42QWtrbFAzek5TSUN5S2xt?=
 =?utf-8?B?VnVvN0tubml6Rnh4MkdmS25LQituQnVVMVNUWHBhZ0NsWDJ4NWo5clJ6dU1O?=
 =?utf-8?B?WUUzMVFzK1lzNFE3aGVybHlTMlI1VC9sZlQ0Um9rc1dNQjBJSExDZVh5dFNt?=
 =?utf-8?B?SVJ4YkV6NUtacjdsK3hWS05LdC9nOGtrWE9CNkwvS0ZnUHhQWFBBdWViY2dj?=
 =?utf-8?B?bW9Id1plaHRGTTdaVHhsenVsT0I4SkNzYitLcWllZWs2K3ZFRENlb2xrK1M1?=
 =?utf-8?B?c0E5TjYrRUtBR1JkZlRnYjk5L0hDcDIvaW1WSVNRYkF1RDJZVmVzTjY2RTQ1?=
 =?utf-8?Q?GaGp/FyoMQeDd2i00xtKTqg2R7olS6yq?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS2PR03MB8907.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(7053199007);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UFMxVUMzcW1xTFcvOGVqdUJpSlpmWUZFMXhRS0xFbHNsM3FKZWZ0OVVsMHNn?=
 =?utf-8?B?ZFJaWWhHRDZBVDhJVzh3Rk5rSkxYTytHd3BVbHlUK3JISnllbmVYejhzQmFZ?=
 =?utf-8?B?Y1l5d0poOHlrQzNkUS8rWCtKcS9aNGVkMy92MTkrcGdWV1hMS0ZNVkNtMnJz?=
 =?utf-8?B?M3A3RDFRcjZ6dWxZYVFtS1dZUEZBV2c0M1V3eURydkRCNy9PTzBETjl4aUpk?=
 =?utf-8?B?WXhWeUlEUm9OcVFaRFlhYWd4VjU5dmxMUUJ1Tm9PMFpjc3ZBU1h5WDRoQlpt?=
 =?utf-8?B?RGJrNWRBb0F6Y2o2OWZFakpLRUxxTG51RG5RV2dLK1Z6QkFheERsblM0MzNN?=
 =?utf-8?B?aW5XclQySVJ2NjNMU3NVdlNkVVhPbUQzTVZnQ25qbmZqNmpTR2loRGxJeVA3?=
 =?utf-8?B?NFVmYUZKL2dqU1k1WUE1THNSNXlSYzVWdnJVdVBNV01qZUczRmR4dGQ4T3gz?=
 =?utf-8?B?SE1CTW9PQXIwbzJqU0VzWXhwYnhvdlo0VE10Ump5WWZKRUJXeVdVSnUwdnlO?=
 =?utf-8?B?VnIxZUJIeEdGV2dMRDdUcXdXQ1g2cnhuazlZRVJiK2NWY2pJaUkvQWZGTlJ5?=
 =?utf-8?B?VWdONC9mZjkzd3lCb1dJbnh3NjZSS2VLMmRDbFFWUGJFNU43NWQyTFpQRHVr?=
 =?utf-8?B?SHErWWNYWlJXVzNiZzNQQXIwdnh6eCtNUXRZZ1FoS0hLUnFqeU9YTzdxMlJJ?=
 =?utf-8?B?dTBwNTU5eXpGSTFxTG1xZTNsQjJzWXNzdkJ3OEs1SnM1ditzd0lSdzl6cEs2?=
 =?utf-8?B?VHo5bDNpcnlrOHFJYzFtNTVrMjhweUEzVHErMlFIY3E0Zm5CQmlub3NZeWo0?=
 =?utf-8?B?UThISmZFaG5lYlNUZURHMDM0Zi81bE1TdnBLV2hGbGgwWWVTK0dXOWNmWHo0?=
 =?utf-8?B?Z0k0T1lpTHZpU01xZlhpb3FaZGMvSXp3b0p1SGI4azdYRlBQbnQ4UlpBTysy?=
 =?utf-8?B?ZHZ5NE9NVERWUWJXY29Mbm8rL0JSTXZqTTBzTWdGY3pCQ2RZM2RkRCs2dVpn?=
 =?utf-8?B?S0plR1ludzQ3eU1TNi9zWEF4cTdNYTdUWUJiY0hBaGlBUVlYOU5lWjdKMTds?=
 =?utf-8?B?SGw2WThieDNoS2xvVDV2T1FYUEhnenRUTUliMzNFTWxuRWdvQjFMQVBMR05l?=
 =?utf-8?B?b24vSHp0eFVBcXJFOW80ZEhadjdEU29QejFqQ0Y2WGdieE05WWt1Z0M3V0tw?=
 =?utf-8?B?cG9xUlVTZHBiMENNVzJFUm9LZHBzRXdrU1V5OXhPQkxud0pQMGEwUkhTajgw?=
 =?utf-8?B?bVl1TkNuRDB5YmtjWkhkcFc4SWZlbE00K0VEK1pqYWd0Sk5BejdiWXNtdTJM?=
 =?utf-8?B?aEVqa1dNdEpvTmVRUGNENWNQWGJCdXBkUjVaQVFxZGlCVmp5TGVhOGtmbU1U?=
 =?utf-8?B?VGpWbmNHM2Y4ZFNvYUpWb1k1WjVMekw0eGo3ZEFINjFMRGJDSk1iMjNXZFZi?=
 =?utf-8?B?YmdzN3NzSjZhRXpDMG9PZ0ErcC9hZHU1WS84aUNIRy85Y0RHNUVJcDVjckd4?=
 =?utf-8?B?Q3pTY3RCR3VBQlNzV0RVUmFkMDVLWm9SM0hJVjNKdURzdDUySUNJTUZTaEta?=
 =?utf-8?B?WUp0RFdkajBzUEVYZE5raFBKTk9YSmFCMzhoY2lOeHg4VGN4b1daNzBkZUFq?=
 =?utf-8?B?NU5vRmVaa1p2b2d1Yk01VVhZWE40YWEzb3dOQXRPSkFyUTMyRk1IbW9vNHJR?=
 =?utf-8?B?NEM0b1l5MGNIWjlUYTYweWx2Qnp6WUQrdnAxb0IzSVFrcEk0L2xyQk5kRVhm?=
 =?utf-8?B?cTVJRFZNaWpSTmVxVEdXcmcxbnNBcktJZGZPRFp1ZXJTYkc2RDJZOGJSSHIy?=
 =?utf-8?B?QW1ySkVydVoyamtKaHhET2xwaFNGUnZjTllNNE5maXNqYUJrZjA1ZElGUWhR?=
 =?utf-8?B?ZGtqQ3l4UVdONE56bE1mWXkyUkU5REt3eWRoeHQ0YWpEOVFJSmpKNjNXWTRB?=
 =?utf-8?B?Y1lyMWFYU1RuY0pnR0loOXlrTmRCVHFRRHEzejFUSFJLYjlNSlg5bTdpam8v?=
 =?utf-8?B?cnkzOE1Cc2Q5dXE0djI2QXBRRkgrai9rSGFVY211RDMvSFhFeWtHQS9FNkFw?=
 =?utf-8?B?bG44RlNhb3crN0JFd0tLejU1MFJOUkowWDNEUVJwU0cwWmxPbi91WmpNK3JE?=
 =?utf-8?B?K2t3d3NVbm5BaXhRSVUyY1BzaXZwN200UVBrMlAycVpZOW54RFNtTm5zNUdx?=
 =?utf-8?B?MHc9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 29b577fb-37d9-45f4-fc27-08de074405e8
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Oct 2025 14:56:27.2650
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: O8UogbTmygZ0ulgzl+nDHSQEyZ2RgP7/ee7pCmNmE+z9GR9PtH5iUECU2Pk+bvIoUMt5LbksFwocen9/5yneh1vVfaTkUvsbcMa97qqBg8g=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR03MB8440

Hi Jan,

On 08.10.25 15:08, Jan Beulich wrote:
> In preparation to add support for the CMCI LVT, which is discontiguous to
> the other LVTs, add a level of indirection. Rename the prior
> vlapic_lvt_mask[] while doing so (as subsequently a 2nd array will want
> adding, for use by guest_wrmsr_x2apic()).
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> The new name (lvt_valid[]) reflects its present contents. When re-based on
> top of "x86/hvm: vlapic: fix RO bits emulation in LVTx regs", the name
> wants to change to lvt_writable[] (or the 2nd array be added right away,
> with lvt_valid[] then used by guest_wrmsr_x2apic()). Alternatively the
> order of patches may want changing.
> 
> --- a/xen/arch/x86/hvm/vlapic.c
> +++ b/xen/arch/x86/hvm/vlapic.c
> @@ -32,7 +32,16 @@
>   #include <public/hvm/params.h>
>   
>   #define VLAPIC_VERSION                  0x00050014
> -#define VLAPIC_LVT_NUM                  6
> +#define LVT_BIAS(reg)                   (((reg) - APIC_LVTT) >> 4)

LVT_REG_IDX is more meaningful.

> +
> +#define LVTS \
> +    LVT(LVTT), LVT(LVTTHMR), LVT(LVTPC), LVT(LVT0), LVT(LVT1), LVT(LVTERR),
> +
> +static const unsigned int lvt_reg[] = {

this is going to be used by vlapic_get_reg()/vlapic_set_reg()
which both accept "uint32_t reg", so wouldn't it be reasonable
to use "uint32_t" here too.

> +#define LVT(which) APIC_ ## which
> +    LVTS
> +#undef LVT
> +};
>   
>   #define LVT_MASK \
>       (APIC_LVT_MASKED | APIC_SEND_PENDING | APIC_VECTOR_MASK)
> @@ -41,20 +50,21 @@
>       (LVT_MASK | APIC_DM_MASK | APIC_INPUT_POLARITY |\
>       APIC_LVT_REMOTE_IRR | APIC_LVT_LEVEL_TRIGGER)
>   
> -static const unsigned int vlapic_lvt_mask[VLAPIC_LVT_NUM] =
> +static const unsigned int lvt_valid[] =
>   {
> -     /* LVTT */
> -     LVT_MASK | APIC_TIMER_MODE_MASK,
> -     /* LVTTHMR */
> -     LVT_MASK | APIC_DM_MASK,
> -     /* LVTPC */
> -     LVT_MASK | APIC_DM_MASK,
> -     /* LVT0-1 */
> -     LINT_MASK, LINT_MASK,
> -     /* LVTERR */
> -     LVT_MASK
> +#define LVTT_VALID    (LVT_MASK | APIC_TIMER_MODE_MASK)
> +#define LVTTHMR_VALID (LVT_MASK | APIC_DM_MASK)
> +#define LVTPC_VALID   (LVT_MASK | APIC_DM_MASK)
> +#define LVT0_VALID    LINT_MASK
> +#define LVT1_VALID    LINT_MASK
> +#define LVTERR_VALID  LVT_MASK
> +#define LVT(which)    [LVT_BIAS(APIC_ ## which)] = which ## _VALID
> +    LVTS
> +#undef LVT
>   };
>   
> +#undef LVTS
> +

I know people have different coding style/approaches...
But using self expanding macro-magic in this particular case is over-kill
- it breaks grep (grep APIC_LVTT will not give all occurrences)
- it complicates code analyzes and readability
    - What is array size?
    - Which array elements actually initialized?
    - what is the actual element's values?
- in this particular case - no benefits in terms of code lines.

It might be reasonable if there would be few dozen of regs (or more),
but there are only 6(7) and HW spec is old and stable.

So could there just be:
static const unsigned int lvt_reg[] = {
  APIC_LVTT,
  APIC_LVTTHMR
  ...

and

static const unsigned int lvt_valid[] = {
  [LVT_REG_IDX(APIC_LVTT)] = (LVT_MASK | APIC_TIMER_MODE_MASK),
  [LVT_REG_IDX(APIC_LVTTHMR)] = (LVT_MASK | APIC_DM_MASK),
  ..

Just fast look at above code gives all info without need to parse all
these recursive macro.

>   #define vlapic_lvtt_period(vlapic)                              \
>       ((vlapic_get_reg(vlapic, APIC_LVTT) & APIC_TIMER_MODE_MASK) \
>        == APIC_TIMER_MODE_PERIODIC)
> @@ -827,16 +837,16 @@ void vlapic_reg_write(struct vcpu *v, un
>   
>           if ( !(val & APIC_SPIV_APIC_ENABLED) )
>           {
> -            int i;
> +            unsigned int i,

uint32_t?

> +                nr = GET_APIC_MAXLVT(vlapic_get_reg(vlapic, APIC_LVR)) + 1;

This deserves wrapper (may be static inline)
Defining multiple vars on the same line makes code less readable as for me.

>               uint32_t lvt_val;
>   
>               vlapic->hw.disabled |= VLAPIC_SW_DISABLED;
>   
> -            for ( i = 0; i < VLAPIC_LVT_NUM; i++ )
> +            for ( i = 0; i < nr; i++ )
>               {
> -                lvt_val = vlapic_get_reg(vlapic, APIC_LVTT + 0x10 * i);
> -                vlapic_set_reg(vlapic, APIC_LVTT + 0x10 * i,
> -                               lvt_val | APIC_LVT_MASKED);
> +                lvt_val = vlapic_get_reg(vlapic, lvt_reg[i]);
> +                vlapic_set_reg(vlapic, lvt_reg[i], lvt_val | APIC_LVT_MASKED);
>               }
>           }
>           else
> @@ -878,7 +888,7 @@ void vlapic_reg_write(struct vcpu *v, un
>       case APIC_LVTERR:       /* LVT Error Reg */
>           if ( vlapic_sw_disabled(vlapic) )
>               val |= APIC_LVT_MASKED;
> -        val &= array_access_nospec(vlapic_lvt_mask, (reg - APIC_LVTT) >> 4);
> +        val &= array_access_nospec(lvt_valid, LVT_BIAS(reg));
>           vlapic_set_reg(vlapic, reg, val);
>           if ( reg == APIC_LVT0 )
>           {
> @@ -1424,7 +1434,7 @@ bool is_vlapic_lvtpc_enabled(struct vlap
>   /* Reset the VLAPIC back to its init state. */
>   static void vlapic_do_init(struct vlapic *vlapic)
>   {
> -    int i;
> +    unsigned int i, nr;

uint32_t?

>   
>       if ( !has_vlapic(vlapic_vcpu(vlapic)->domain) )
>           return;
> @@ -1452,8 +1462,9 @@ static void vlapic_do_init(struct vlapic
>   
>       vlapic_set_reg(vlapic, APIC_DFR, 0xffffffffU);
>   
> -    for ( i = 0; i < VLAPIC_LVT_NUM; i++ )
> -        vlapic_set_reg(vlapic, APIC_LVTT + 0x10 * i, APIC_LVT_MASKED);
> +    nr = GET_APIC_MAXLVT(vlapic_get_reg(vlapic, APIC_LVR)) + 1;
> +    for ( i = 0; i < nr; i++ )
> +        vlapic_set_reg(vlapic, lvt_reg[i], APIC_LVT_MASKED);
>   
>       vlapic_set_reg(vlapic, APIC_SPIV, 0xff);
>       vlapic->hw.disabled |= VLAPIC_SW_DISABLED;
> 

-- 
Best regards,
-grygorii



From xen-devel-bounces@lists.xenproject.org Thu Oct 09 15:09:13 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Oct 2025 15:09:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1140727.1475518 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6sGO-0007uO-Ah; Thu, 09 Oct 2025 15:09:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1140727.1475518; Thu, 09 Oct 2025 15:09:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6sGO-0007uH-6p; Thu, 09 Oct 2025 15:09:04 +0000
Received: by outflank-mailman (input) for mailman id 1140727;
 Thu, 09 Oct 2025 15:09:03 +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
 <SRS0=VZ0Z=4S=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1v6sGM-0007uB-Tu
 for xen-devel@lists.xenproject.org; Thu, 09 Oct 2025 15:09:03 +0000
Received: from DU2PR03CU002.outbound.protection.outlook.com
 (mail-northeuropeazlp170110003.outbound.protection.outlook.com
 [2a01:111:f403:c200::3])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e11a34c7-a521-11f0-9809-7dc792cee155;
 Thu, 09 Oct 2025 17:08:57 +0200 (CEST)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by AM7PR03MB6264.eurprd03.prod.outlook.com (2603:10a6:20b:13d::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.10; Thu, 9 Oct
 2025 15:08:54 +0000
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593]) by AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593%3]) with mapi id 15.20.9203.007; Thu, 9 Oct 2025
 15:08:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e11a34c7-a521-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=lwXgqWwmlTo+90fCUr2BpyBvC6nZqUM8k5SyPsXsX92rRCZnf6dT62PBCJADmAn71PGVcQ5SHUWbWLfYtfDPfV9RmPEV09s76p+Ep9c1pVxMHkqyVpZ60hBxohj/iZK69eklVoVO7Yldpaze8yX0+MNTgZQ9SxGOtY4vDHVk/IiQ+P9JVmmvTyyW9otJxZWSMGl2RT7ZLh2qZad35VgmtrxHI63esWUwAyHOMvdRPu/R1gS0NR+0OLANTN6CzFQP9iLUVuuDH70/BnvkiwyR4XqxuOK5fU6PbIuyYqkvp6cct3RzaaMihIEpjeSu9LOInAYcG8Aul7U11n0y/9RkhQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=A+ZnWhBnPhoaERxLlSoey1UrdzaQnPrdVH0KYsdMm2w=;
 b=tk11aFrlag+/BLqTMKN9FV+rCM+dTmsiCqWNcEq6kP6MD24YlXAHPdPqn8vqF4LpE9iRn3KDwnQJObL3ZB0Jj3eL/bVvPFV8rDWQsnF6CwS/XOdH3dVZgXiEDC/PvHYf7RrhKFs7iHQ4j/BsWHifkqhF5rtAUKFLyZaMtsZU42wJ6XVTGf1vY8VDSaoExtbc6sAPw0rhJWuTtlQatkqIeqOxowJbv0Kpw251T3hve5M1U579WGZqrqZWpA8K+bnpfM9EIa1S2nalwPZrN4Y+g9De3nn9CqPrqv53VCAa2zm5bYNIk3ugPZwzZtIUezEqq23oNPWPPb4DHN3DuEA7PA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=A+ZnWhBnPhoaERxLlSoey1UrdzaQnPrdVH0KYsdMm2w=;
 b=ndXSUL0UL9rZcpPTppPp+RqCClRg5Rq+J4mrb/wyEtDVaZDqBf2JLL5K1EkhsQEReuyS8uQ0/ZS8SnaYHiXGiOMe896e3UvbxE/Qmc8ZbdGK4XcOp7w6C3NWskbPJac40P1UazFR4Oa3wHHT89e2UguoaPklzqw9s1nfyuY3Em7gFX2noBwfMw5lAlPdW3Z55F+6l1JZiQxrVBhm6Ww/klRfzc8qrw9QBenUe5YdEsHaUJcdMDOc6B8andMU/HHX/86Do4LC0TxHeRUDQHdvk7qL1DAohnurHujo8krFQnAiS2eRgkkzjIyjyf680HJbqv7pIxo9e0Ec50NeNLDhAw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <4477b803-4941-4032-be83-85cc126ceacb@epam.com>
Date: Thu, 9 Oct 2025 18:08:53 +0300
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21??? 3/3] x86/vLAPIC: properly support the CMCI LVT
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Andrew Cooper <amc96@srcf.net>, Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <265d5053-af61-42cb-a3b9-ef60df39c21b@suse.com>
 <61a05ec1-aca7-4c3f-be6f-1bb053b2cd00@suse.com>
Content-Language: en-US
From: Grygorii Strashko <grygorii_strashko@epam.com>
In-Reply-To: <61a05ec1-aca7-4c3f-be6f-1bb053b2cd00@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0041.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:c7::11) To AS2PR03MB8907.eurprd03.prod.outlook.com
 (2603:10a6:20b:5e4::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS2PR03MB8907:EE_|AM7PR03MB6264:EE_
X-MS-Office365-Filtering-Correlation-Id: ff663ce3-5a0f-44f3-47a8-08de0745c34d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?MmdBU1NwaE9jYXloM1FlUkVrQmY5WmkrQ3NaU1RhWGNlSEpWTDdERjZoWUlT?=
 =?utf-8?B?blYwWWZhL1pkNXZTay9wSzhuaHlHSnVvVWZwelgrMGlsbnJMd29lK1JuRlRX?=
 =?utf-8?B?WmxDL2ZsMGU3cG9OTGhHZFQ4TnFaNU1xdkgrZ1dVWTh4ZU9XVFY3dUFqemZV?=
 =?utf-8?B?K1RCbEZIdk10ZVAzVjBWSHEwQVZYVW1STXNQRnVSZ0RmMGxlL1VwRWJ1aTVM?=
 =?utf-8?B?bldpNTUzQnJNUTRZQU9aNFkxVGVITHdvOTJXRDRhZ1Q2SVBrSVZFZGJNa2Q5?=
 =?utf-8?B?bmRFUklqSmJFYXVyUE9MTVdTNXFYZm84KzI1U3d1Z2lNTlRKYnpWODlDektU?=
 =?utf-8?B?UE90cVdxbnNSV0pIbEpEdXNwbVBxc0tXM3d4UkYzbmM3ZHoyVlBCbnZkdGxR?=
 =?utf-8?B?cnZwMzFvNHVSaDBMMGhNeUorMzhLZk1HK0Y4OUdoOHAvZ05UdVhTU2JxQUI3?=
 =?utf-8?B?SmZNaEJ1Q3FlbFc1dnhUSFBZT1E4Q3VHeFVXeGwzejlhWmk1cmRLdkJQc010?=
 =?utf-8?B?dlliUEJOMW9LeU0zT3R4M21qMkhXMUVPTWdmSSt6aGxzSHd0aVZmUVM5UC9H?=
 =?utf-8?B?RUdsSHdpOGpmMzkzUUhjblF6ZEJUd1QvNEdHcWRBTEZjV05qbkJpNURzV1dG?=
 =?utf-8?B?SDNHOEtWTzhUdHRYSEdFZElkQWsxYXl6KzZoYkU3WWtvV0lmOW5Xbk5lSFBv?=
 =?utf-8?B?ZUhHT3pEcWxnc1FXNkNOZmZUYXR0SXJ4YWVZUFBGUXhyd2dZcXduNGZ3bnNV?=
 =?utf-8?B?d1pvNlNheGNvQ2IrV2MwNlphWFNXUWRrcXY0RVFDVE5xNW9wbnlmTm42SVdS?=
 =?utf-8?B?OURIYm5SUU9kRHQrZHhmcWF2Q0VqWWpua0h3cWF0c1JGNXFiZS95SDV1ckdJ?=
 =?utf-8?B?R3JpRkgvZ2lxOGU4bFpKN2hMU2FTYUk3VEczVVF2cFpLQmM3N015aWF1WEZT?=
 =?utf-8?B?MWsxODJDY1lZTzdyZUtIZE9zTmRCNmkvWkhGOXJzNjQ3aWR4eXRWRDBEVnpL?=
 =?utf-8?B?UTV6dzZqcXZuZUJXbnNtVjI1S1lRb3YzWDUvQmtVM0E5VWtkaml2MUhaLzdh?=
 =?utf-8?B?UGxPTEovdy91dVJRRUNKUis1QitFS25SOFBTOHJuM093VjIxWGRVbk52NjB5?=
 =?utf-8?B?NUxmYW1sbWZNUWZES0N4cEZyTzBITVlab1dybGRBUU5BOVdLVGhaQTh4bnhJ?=
 =?utf-8?B?MUx4NE1xRkJUR3F5UUhPWDVORjUyYTdCQzgvaWVWZGRXZU9iVnhHQldrdzVF?=
 =?utf-8?B?SWQ2T3hXMDBlUVBGWDVDU3JIdjczUWFxVTIwTzhPVzhQeDB0YVRXYjNwWjEz?=
 =?utf-8?B?Z1ZYc2lRL2t6Tjh2RkpqdUJyd2NFdms5WmtzNEV1UVU4WlAwbUdqU2pRWGt2?=
 =?utf-8?B?RG10cUVuYTI3Y21NeDhKaFVLOWpZMmwwQjJJenI5N2VMZ3lLeVloRk55TUk0?=
 =?utf-8?B?Ujl6WGRNS2YwNHZBZUgyZzdsQk5IeXdCV0V4U3lZTFFCN3paZVcrRW95aHJk?=
 =?utf-8?B?L1pmdEtzb2lOQ0FuSEt1YW5qdGtiQWRTRWpNK2JaWGR2WHN6NGdtSE5EcHRn?=
 =?utf-8?B?SXBiNG9PUjJ2ajNFQ1VUaGcwdzlNQk9EVVdLbTMzb1o2S1dvMWdQOEJFRFB2?=
 =?utf-8?B?SUlmVkk5a3k0blU1MGRTa3hvWDU2MTZhOVM1eEh4VWcrWUlILzVtTXpvSEEv?=
 =?utf-8?B?N3lXb2pxa1Vsb3hXZlhMSmdjcWNsYzlrVllHQUt4NlFhQzBxYzVNYlA2RU1U?=
 =?utf-8?B?dnJWVHBPY1duVmpQOTJMcWN5ajNhcVdLNkpYamNDYXlOeHBEYlIzdjFrOWYv?=
 =?utf-8?B?MnJudGVUYTVlcUlLK1o2UjFGVkZWV2c5THlyRTFDdnQ2emJFQlJZS2xQUU55?=
 =?utf-8?B?YjlpMC9rcVhxNDNPeDVIWU1XQWtJc2sweE5Pci94ZmdVdHMwVnVaeHBucmMv?=
 =?utf-8?Q?bxamJ1dqd5W6dUipbyp+Qmnc+UkPUF+Q?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS2PR03MB8907.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(7053199007);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Y1dQT3VjN09xZThLZWtsRnNnUkJRdVRkU2toTXpVWVc5Z2hJTUR4ZE5iUFNi?=
 =?utf-8?B?YU1oeGJpemdRalJZeitETnhFYUQzZkpzVHNQU203Wml2d2xtU3FaYmt6K1NT?=
 =?utf-8?B?T1NXUzI5R1prZWdYVWNkZFBNQ0pvWngyYXNHWkZHL0czSFA1RTlNakZ2aWxy?=
 =?utf-8?B?UU12d2UvRy9OYWNZMURrUzUzQW9VL1VRdG1ueEl6dUNib2pXY3I4VHBYY1I3?=
 =?utf-8?B?T0xXR2h0MVFWV0I0S243UXNvNkk3OUtJTVBnbjJBWk5DRGxrc1JDWnJRS2hR?=
 =?utf-8?B?dFcwaWlZcnkzdUhneDd5Qk9LdXlZTTV3T3d2SHJtRnA3aXQyTVR5UHYzRUxD?=
 =?utf-8?B?WlBSR1pNM0M0YjFJcGtjYW8wVDJGMUh4ZnB6UkRUNFJaMTdHM0NnYzZ1a3hG?=
 =?utf-8?B?cllQWC9yMExQOXppMDYzejhJYjZVZHY1Q3JXbVczTHNrSjgrMkhrMzN1bktE?=
 =?utf-8?B?VGpteVVrZ3kxTHVwMzN4K0F3ejBpdUY2b1JLd2Yxay9aa2JtenJHS3pHT1pN?=
 =?utf-8?B?M3ZTVy8zZEtKalVFbW0vYmdYeTk5OGFLeTZEMStkYjIwWHpUL2V1SkJ1Nit1?=
 =?utf-8?B?VTBsQTd1WG5vWS91UzQ0UEtaZlpuL1R3U1pBbndXWkZpODF1eFV6Q04yTzN1?=
 =?utf-8?B?YXd1eGhwOGNaRFJENXBPTlNja2hiSnNZM29oSGx4ZU1tdm5GcU1ZZm0vZmFK?=
 =?utf-8?B?S3ZsRng1SVN6Y0FBME1QcTgzZ3YzWlVHNk96K3UxR29YSk41SVNSVXdFdkxF?=
 =?utf-8?B?SU5UY3UzSGhlTjVNZ2lBemIxY0x4OVNTMkFxQWNndEVtMVFyczQzOG0xVU4v?=
 =?utf-8?B?NkhHYUg3ckpLL0F2NlcwRTlNdUJJbG5NZVcwdWk3bzV6TGxYWWtIYmxGODdU?=
 =?utf-8?B?Y2I5Z1lQdFJsaWVWMzBETFlzcWxqWXgwOUo0WjRQdFRmaG85eHdNZ3ZaTTE3?=
 =?utf-8?B?V251Y3ErMTRWZHNNVlhHVVh2bU41QWM5TEVJaU96TUJoZ3l1bjN1VUhGd1Vo?=
 =?utf-8?B?UnYrVVFvbmRqdnFZWVZucDdBZUdiUGUzTXJXc2NOZXJ2YVRMcmt3S3pTMG5H?=
 =?utf-8?B?Z3NOeWpGb1IxTXBZOTIvTWFGVCtGd3Nhb0h0T2VNWVhIVEVDZTdaVk93dXdV?=
 =?utf-8?B?VnRJUWxnVTJYTE5ZQVgyNVF2Z003QnF4eE00UDdhQlIvWVZtdE9CMVhXY210?=
 =?utf-8?B?cURMbzBrMzl2cG5zSW1PaHJEVUVNOFN2QnZTU0EyVWtXWUt4Rk9FZkVKcXdC?=
 =?utf-8?B?c1RCVHYvN1pKbDhRbSt6TkFTK2s1UVRDaTFMU2tzSU5xZllhRVI5Nk1zU0cw?=
 =?utf-8?B?RmRYbUJpc3YyR3NtSFl6U1N1c0VNTmYxSmZvbjVWell1bUZoeDdWcDNxdy9t?=
 =?utf-8?B?RVhZTWEwSVh0d21LYTlpMjRRNEVBTmIwdXRvRkRHbFQzTUZtOUI0UHhKbnVa?=
 =?utf-8?B?T0hXV0swVVNzS1phYjhudnd2VWJDc0NIamVUL2w5V2Q2RGZ5VitIMCtBdm1r?=
 =?utf-8?B?cmdtMEpJVitJL3N6TXZ1cllLTFM5VTNlTi9vNVBVbVpnVHJxaUdaa2h5U01J?=
 =?utf-8?B?aEtuaEd1UnduMzU4bVNjVEJVdGlGZGtZcTd4VjFCZW4raEZEZUFkRW9kOTUx?=
 =?utf-8?B?NG1rUlpEbXN0cEJwZ3U1M3kyRmZ1Q3h1YlRKOXNxcjF1VjJvVTh3RE9lRHp3?=
 =?utf-8?B?NzR6eHpmTnpFUitpL0J4VmJLK21TL096QVZ0bUplNEFmVEdKWjZaRFB0S2Zh?=
 =?utf-8?B?N2JXT1hKb2xZVERWVzY3VFI2SFdWVSszUDhSWkV1WnpKak9oQ2xPcVd6ZFlM?=
 =?utf-8?B?eE8wcWJxUUFCeWZYK0F2dnNlUSt4dU1ja1Baa0IyMWxYMVA0dHpHWHlBNWVh?=
 =?utf-8?B?R21hb0xiZ2RldnZnNWI5Ym1uVGJNMXE0aE9qUXRSUTFKS3dLNGw0N05ZMXRs?=
 =?utf-8?B?b3lRL2pSQ1J5Ri9LV0FOTnZlYVJEM2grUnZTbzRzZUkvaUZHS0R0eERzclQ2?=
 =?utf-8?B?UEtneVN6WTZ3MWYwV2pENkNsSTVmUGh6U3lNZ1NNMTFhZDI3eCttNVdtRWRN?=
 =?utf-8?B?YjZ5bkFKNXZPd1YrMFhERnZmRWhLSW5QWTQ0NjJmeHY2b2JUOXR4UGNTV2k3?=
 =?utf-8?B?ZG1ORnVIazc0dmFMS2tsTkxkbVZYbzdYcGp5R3lxU1JQL1VPVGpGbDdDam9x?=
 =?utf-8?B?ZGc9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ff663ce3-5a0f-44f3-47a8-08de0745c34d
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Oct 2025 15:08:54.5017
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 19qvGu+bVBLxUg1XEdNlQyrjameiI/JMiAlkQG41AFcGHyPsk+JxnMFdVGbp38WL5BbvZIo7fPFQjuDu5kFDYDt2+8v0MQIhgr6kcUCvMFI=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR03MB6264

Hi Jan

On 08.10.25 15:09, Jan Beulich wrote:
> Rather than unconditionally accepting reads and writes while discarding
> the value written, make accesses properly conditional upon CMCI being
> exposed via MCG_CAP, and arrange to actually retain the value written.
> Also reflect the extra LVT in LVR.
> 
> Note that this doesn't change the status quo of us never delivering any
> interrupt through this LVT.
> 
> Fixes: 70173dbb9948 ("x86/HVM: fix miscellaneous aspects of x2APIC emulation")
> Fixes: 8d0a20587e4e ("x86/hvm: further restrict access to x2apic MSRs")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> The Fixes: tags are referencing where the explicit mentioning of APIC_CMCI
> in what are now guest_{rd,wr}msr_x2apic() was introduced; the mis-handling
> really pre-dates that, though.
> 
> In principle the later assignment to "nr" in vlapic_do_init() could now be
> dropped again. I wasn't quite sure though whether that's a good idea.
> 
> --- a/xen/arch/x86/hvm/vlapic.c
> +++ b/xen/arch/x86/hvm/vlapic.c
> @@ -31,10 +31,13 @@
>   #include <public/hvm/ioreq.h>
>   #include <public/hvm/params.h>
>   
> -#define LVT_BIAS(reg)                   (((reg) - APIC_LVTT) >> 4)
> +#include <../cpu/mcheck/x86_mca.h> /* MCG_CMCI_P */

This include... You probably do not like it also
It is dependency outside HVM code.

I've been thinking about something like vlapic->caps which can be filed before vlapic_init()
or passed as parameter, but seems x86 toolstack is considered to be able overwrite anything,
including v->arch.vmce.

Seems, no better options here.

> +
> +#define LVT_BIAS(reg)                   (((reg) - APIC_CMCI) >> 4)
>   
>   #define LVTS \
> -    LVT(LVTT), LVT(LVTTHMR), LVT(LVTPC), LVT(LVT0), LVT(LVT1), LVT(LVTERR),
> +    LVT(LVTT), LVT(LVTTHMR), LVT(LVTPC), LVT(LVT0), LVT(LVT1), LVT(LVTERR), \
> +    LVT(CMCI),
>   
>   static const unsigned int lvt_reg[] = {
>   #define LVT(which) APIC_ ## which
> @@ -57,6 +60,7 @@ static const unsigned int lvt_valid[] =
>   #define LVT0_VALID    LINT_MASK
>   #define LVT1_VALID    LINT_MASK
>   #define LVTERR_VALID  LVT_MASK
> +#define CMCI_VALID    (LVT_MASK | APIC_DM_MASK)
>   #define LVT(which)    [LVT_BIAS(APIC_ ## which)] = which ## _VALID
>       LVTS
>   #undef LVT
> @@ -697,8 +701,17 @@ int guest_rdmsr_x2apic(const struct vcpu
>           return X86EMUL_EXCEPTION;
>   
>       offset = reg << 4;
> -    if ( offset == APIC_ICR )
> +    switch ( offset )
> +    {
> +    case APIC_ICR:
>           high = (uint64_t)vlapic_read_aligned(vlapic, APIC_ICR2) << 32;
> +        break;
> +
> +    case APIC_CMCI:
> +        if ( !(v->arch.vmce.mcg_cap & MCG_CMCI_P) )

Could it be done using wrapper, like vmce_has_cmci()?
As this is Intel specific it's candidate to be opt-out eventually.

> +            return X86EMUL_EXCEPTION;
> +        break;
> +    }
>   
>       *val = high | vlapic_read_aligned(vlapic, offset);
>   
> @@ -868,6 +881,10 @@ void vlapic_reg_write(struct vcpu *v, un
>           vlapic_set_reg(vlapic, APIC_ICR2, val & 0xff000000U);
>           break;
>   
> +    case APIC_CMCI:         /* LVT CMCI */
> +        if ( !(v->arch.vmce.mcg_cap & MCG_CMCI_P) )
> +            break;
> +        fallthrough;
>       case APIC_LVTT:         /* LVT Timer Reg */
>           if ( vlapic_lvtt_tdt(vlapic) !=
>                ((val & APIC_TIMER_MODE_MASK) == APIC_TIMER_MODE_TSC_DEADLINE) )
> @@ -1024,9 +1041,12 @@ int guest_wrmsr_x2apic(struct vcpu *v, u
>               return X86EMUL_EXCEPTION;
>           break;
>   
> +    case APIC_CMCI:
> +        if ( !(v->arch.vmce.mcg_cap & MCG_CMCI_P) )
> +            return X86EMUL_EXCEPTION;
> +        fallthrough;
>       case APIC_LVTTHMR:
>       case APIC_LVTPC:
> -    case APIC_CMCI:
>           if ( val & ~(LVT_MASK | APIC_DM_MASK) )
>               return X86EMUL_EXCEPTION;
>           break;
> @@ -1438,7 +1458,9 @@ static void vlapic_do_init(struct vlapic
>       if ( !has_vlapic(vlapic_vcpu(vlapic)->domain) )
>           return;
>   
> -    vlapic_set_reg(vlapic, APIC_LVR, 0x00050014);
> +    nr = 6 + !!(vlapic_vcpu(vlapic)->arch.vmce.mcg_cap & MCG_CMCI_P);
> +    vlapic_set_reg(vlapic, APIC_LVR,
> +                   0x00000014 | MASK_INSR(nr - 1, APIC_LVR_MAXLVT_MASK));
>   
>       for ( i = 0; i < 8; i++ )
>       {
> --- a/xen/arch/x86/include/asm/apicdef.h
> +++ b/xen/arch/x86/include/asm/apicdef.h
> @@ -15,7 +15,10 @@
>   #define			GET_xAPIC_ID(x)		(((x)>>24)&0xFFu)
>   #define			SET_xAPIC_ID(x)		(((x)<<24))
>   #define		APIC_LVR	0x30
> -#define			APIC_LVR_MASK		0xFF00FF
> +#define			APIC_LVR_VERSION_MASK	0xff
> +#define			APIC_LVR_MAXLVT_MASK	0xff0000
> +#define			APIC_LVR_MASK		(APIC_LVR_VERSION_MASK | \
> +						 APIC_LVR_MAXLVT_MASK)
>   #define			APIC_LVR_DIRECTED_EOI	(1 << 24)
>   #define			GET_APIC_VERSION(x)	((x)&0xFF)
>   #define			GET_APIC_MAXLVT(x)	(((x)>>16)&0xFF)
> 

-- 
Best regards,
-grygorii



From xen-devel-bounces@lists.xenproject.org Thu Oct 09 15:21:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Oct 2025 15:21:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1140740.1475527 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6sSO-0002BH-Fi; Thu, 09 Oct 2025 15:21:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1140740.1475527; Thu, 09 Oct 2025 15:21:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6sSO-0002BA-CW; Thu, 09 Oct 2025 15:21:28 +0000
Received: by outflank-mailman (input) for mailman id 1140740;
 Thu, 09 Oct 2025 15:21:26 +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
 <SRS0=VZ0Z=4S=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1v6sSM-0002B4-JM
 for xen-devel@lists.xenproject.org; Thu, 09 Oct 2025 15:21:26 +0000
Received: from AM0PR83CU005.outbound.protection.outlook.com
 (mail-westeuropeazlp170100001.outbound.protection.outlook.com
 [2a01:111:f403:c201::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9e5c210c-a523-11f0-9d15-b5c5bf9af7f9;
 Thu, 09 Oct 2025 17:21:25 +0200 (CEST)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by DU0PR03MB9006.eurprd03.prod.outlook.com (2603:10a6:10:47c::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9160.18; Thu, 9 Oct
 2025 15:21:22 +0000
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593]) by AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593%3]) with mapi id 15.20.9203.007; Thu, 9 Oct 2025
 15:21:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9e5c210c-a523-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=FHiq5x/qavxRGiSJqHYMbxJBpV35ggnbR2gHBRA+YUaoRRdWqPRQVhPhtMDeTEAXFLWETzXt1Ayr7pzCetJXufsyQ+9Pxh/qXtSZKc+UsDuuvyFPHM7M4vcdG9Ec39OryWeqToFYc5Lt0iouukMyeT5xQKVzVxQfmFhj5SF5DMhQ9Nbx6w6I74ofqTQ/o0oI1cKZrCCgfsThna3lKdQbYIOKjfS+3HMkHkPjluPIdoE7yOFpq6UR9wWjoV3hgT21pj2wmMPcGsKXyEzWWe2Mui7WnTSsknPS5fyeEYip7DDMvd27AjnJmnP8PSFKlMBmral2MLL5EnL/fk2IOWbYJw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mdDy8jsC70QrUES5frGDpRuKUOU90x3l6nrHViWL/fU=;
 b=tmv/WgLobA9Kp6qSBPAG8VQAwafZcd8YuOs8jROgee8UqS7uNEjg0fBfPV1ETz1CsDfx+xlQIhRxV/UA2hkgwMH/wy0yCVA8ESiWjqMhuQ6EkUgL1ySW2JxUJsFqwu1+yMxEBaTt8mQvaB8NVyf3HpDrAUkKfUQ4gzx1L1Su3+2qtjmlzDkEEAs+bVs25vO0zPjulaIagvuVL6OCm6QvCNf2X2mPA8RgnDO+ZHkWDR/SjNC8ISfhPfN88SVQPNXUPmCUWAQID59ynfR3gIN3Qs8ShOFJwRIEqmWJj/k9vm3eEBY8Pv5Q2XW0o7HqjSUkOhwf/fiV6lLBEPOrJXI2CA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=mdDy8jsC70QrUES5frGDpRuKUOU90x3l6nrHViWL/fU=;
 b=kxFERzsDIprClir3Fpe8U4HMl0ToQa7mlEEBMRopZXzQ5DqGSLoJCxBrWC13hIjIjOuaAfFpwznj2wUCntiFCQUVwO8fCfXRPa5UDv9h8hPBpbfThtmPt/2lyWs12PN4ZJkDZFGduyyaF/Au1JRTL6oO6gTkApt5GMmgH3znRNLH4K8HTT8oA8+LV4rZfD2yOofoQ1UH+qtlucOh7/s2ArpnG8V/6UdpcPHNASPXUTII+/6I/bYlCGQbxDQFCrBgvkWzr2r6Bip8nGJAzP84HcPCCD9QNkN6ham5X8jf1N2s5uooidzfAiigDAYvPcKXsxwl8xq2DXd2lfLOSkTStQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <16727e5c-4a0e-4c2e-91c5-bccaaf9a3205@epam.com>
Date: Thu, 9 Oct 2025 18:21:21 +0300
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN][PATCH] x86: hvm: vlapic: rework WR/rsvdz masks for LVTx
 regs
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Alejandro Vallejo <alejandro.garciavallejo@amd.com>,
 Jason Andryuk <jason.andryuk@amd.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20251009114249.1964387-1-grygorii_strashko@epam.com>
 <693b0730-b541-4d24-a83e-64f9b09705c1@suse.com>
Content-Language: en-US
From: Grygorii Strashko <grygorii_strashko@epam.com>
In-Reply-To: <693b0730-b541-4d24-a83e-64f9b09705c1@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0166.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a0::9) To AS2PR03MB8907.eurprd03.prod.outlook.com
 (2603:10a6:20b:5e4::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS2PR03MB8907:EE_|DU0PR03MB9006:EE_
X-MS-Office365-Filtering-Correlation-Id: 8b775ed5-fe34-48dd-ba53-08de0747813f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?TXFsWm1BRE50SGdEYWt5K2tMNXBtZDdrM1hRVlkrSzV2WGVWSWw4V3dWa2Rw?=
 =?utf-8?B?NlFweFdsUTlqZ1QveTc1a3hRZVFZK2dTQnVQd3ByelNWampweU1WcHNNOGM0?=
 =?utf-8?B?V1dLaUcyT01hbzl2bCtoVzZXT3poenNsanozMmNnU2NPUTlCUkVtM0ZlYnNN?=
 =?utf-8?B?aW1JeU5WU0JtOUsrdjMwU1JWb1ZmY2NhNXBLZmRkWW5JcVAvOVEwZ0JjYjdq?=
 =?utf-8?B?cmNDNVlrcys1RXN2Y0tUK3czcitiMGNIaDhkRGQzd1Fxb1pxUkszZ0VYRUZM?=
 =?utf-8?B?WlV4ZXd5T1I4L3g2OTVMQ01aK25PNTJ4UlplNjF2UW5uUWsvUXVCVWJwWWhI?=
 =?utf-8?B?NGVYYVRiZUYxMm4xNDY4RXNrb0svT2RWWEVSMUxXbk5ZVkxGR29QaXlJTDRZ?=
 =?utf-8?B?cnVzNys4WC9tMWdlNUl5MDVIeUsvT2dnVDNpSTE0WHh4R2Jrd0habnBHbXpi?=
 =?utf-8?B?aDN0eHFpbWZGMXh3MWVSeTcxLzh0NWFXRGxqeTRJZjExUm8zbnhMMDZSUXJE?=
 =?utf-8?B?eFZRU2xPVlM5dWZOSlJyQVdDcU96WTZJY0JqVEMzN0RkdTdNQXRGbHVjbk1G?=
 =?utf-8?B?S3g2Rlloak40ZlJINzM4NFIrWEVPdFozRmovc0VIZXpzM2Y5MzZiUWJlTU9r?=
 =?utf-8?B?c0piK3dZNmJFMW9Ba1BkTjhiK2I5cUxIemphSGZWZkdML2Z2dmdrRkRyZXpv?=
 =?utf-8?B?Z21Vb0Fic2RTYlBXOXVwSjFKUXNuUHNXM0MrcWljWUEvMVhrQ2ZZTjlIcEV6?=
 =?utf-8?B?U1ZISzFuTTdWM2JLdUpTTTZFRDJqVksvTzRRVTlpemdTaVlLQkJ4M2dxWG1X?=
 =?utf-8?B?aDRFUzN3THBSbURhRm9QMkgzVTZDVGlKMjBubWp6TnFJVVNTeVBlOUlKZlpR?=
 =?utf-8?B?ejFXZFd0MUtKVzFjaXhqLzcvc1E3amJZVDFPLzVFQVdqYTFYZ0xtQ2hReVM1?=
 =?utf-8?B?SjBPRTIrVDlRN2R0MlBDZ2lub1NmL1lxTHNHZktDZFdiVnNnNHVja1BaUjNk?=
 =?utf-8?B?d2VWRjlOeTJFRzZxQ3FGR2Qrb1BIdUNUOUNmUEFBYUFhNUdSZWg4VUNNNGpr?=
 =?utf-8?B?K0cxM0s4WDBSckFqdWZGQ25ZbkdVNldacndjMW5zclRTdS9rSTFucGxaelJx?=
 =?utf-8?B?V0l0UU5wMGFneXB1cnlIazlFS1ZlTnREODZKeDhZUG5pcEhNWWFwMk1ISXps?=
 =?utf-8?B?V2k1MmtGaURZYko3SlcrM1pVQS9zbjNJMVhQVHA4eVh2RHlyZXlndklWaWsr?=
 =?utf-8?B?eUNEaGhSQnkrT2tpcGRVYmd5bSs1M2dibUZwajhYemhlZEk3ZHhXaFl5czNr?=
 =?utf-8?B?ZzBjVHd1TXdyU1JRRlhOODVTamZRcFMrdlFJd0JadjlHbnQwekRCYTN6S0Zt?=
 =?utf-8?B?RUxha0lQQlhLUUxSQStNWmJPcmlKeW00WWVMdGdOL2kwR0d3NHRJVE4zS1c2?=
 =?utf-8?B?MDBVOUh0ZWhJN3o4TWZBL0QzblhaWkJSVnVSTVVFeElGUzl0dUVaU081Q1ZM?=
 =?utf-8?B?Y2ZScHBDZ3RoY2pxV0grRllQeXFja2RDbUNJbnp1QUphOHF3UW80WGJ3UENw?=
 =?utf-8?B?WDB3Z1lDbXpPM0lsdTFIQW9XTU92emNra2lhdGRoQnRhTTVnNS9CNnF0dHpa?=
 =?utf-8?B?anNidmRRSzViSlNhZUpVQmQ3OC8vVTN5QWFyb0E1UEtjMlAvVy9EU2gra3VY?=
 =?utf-8?B?NWJxeHJVRGNBOTRPSVQ4ZUFLYTFNK1RBY29WQWVwcHN6dUp6SFl0ckFmSGR4?=
 =?utf-8?B?U2x1Q2o0TXhOUFlZSk1VU3kwTEp2SlZETE9FeENLdlgwc0JyY3lwUmpKclQ4?=
 =?utf-8?B?R1pKUXJKbXJoYjJWWGdUM2lSVFoxblFYUVlhUmpYVHFYNC9ySXFaNEJkSWlW?=
 =?utf-8?B?K2JhSUVtSXBZbm05K3U0VlV6WSs3clB1Q0FpaEVLYWY2cWEzTzRSMmkxQSs4?=
 =?utf-8?Q?m9wzpk9xzKCpLif+qcIStCge9gDs7QhM?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS2PR03MB8907.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?N2QzK1daaTN2VzVDZzcvbVZ1TVplYWRhaFM2aXEyVHllVWJMVlVkWEtvV05L?=
 =?utf-8?B?dXdRVFhIK1BUT0pKd0t3NkZibzV4LzhEdlF5NVhuc0JQMXJuR1h6aTNETE1S?=
 =?utf-8?B?aHBmRkxGTkt6WkY2VnpCTjdCNGswOVFzNUF4b3dWdnJZMTJiNXFjS21IMHRn?=
 =?utf-8?B?cFRMcXAyQ0hIM1hrVlB0QTJuQkIwNUdPaWpvek9kT0xlNnhNZFhkbERFTHIx?=
 =?utf-8?B?UUxCdVBCMUVzSWZyUjM1TGd3eU5uUEc1bDJOVVIyZW94SHVkNGpjZ2l4UTll?=
 =?utf-8?B?K0lQN0ZpbWMzMVROa1NIampBcTJiVWFlRnYxc0pZWWVuRHFCbUJmOE5wSkRs?=
 =?utf-8?B?b3N6YmxQVTR1QTZFZDFuKzR6U1IrWFpjQnExemlrcUNOOWhaekxzTGhicmt0?=
 =?utf-8?B?R3hLZ3pCbXU3dVkxMnBVRTA3SVB0ZjhTWmxNT1NDVHE0WjloK1FXVCsyVnha?=
 =?utf-8?B?ZDNEN0Z2Z2k3MFhwa0pKYkpaQlZERDc0aFFPTm04ZmtvdnROc3M5OWhYU1BC?=
 =?utf-8?B?Y1NrVjZCTGh5RTRnSjdkYU5IQ2lPc082OEkzQWk2aDZZS2pROEV3NERnYVR3?=
 =?utf-8?B?RmpIN0pSK3FYNzNGMk1kU1dQVFRtZ292NTY5czh0VnBhNnhOalg1Q25QMlNN?=
 =?utf-8?B?aG9rMTZ0ZG5LeUxja25hMDBQQ2I2TW5HVTBEaC95RmsyUXJBSm0wQVU0RGRu?=
 =?utf-8?B?dE1Dc1JxazM2czZoSGJ1RWF5aXZ6QnIrY09SY2g2d0lnVjBsTFR0OEd4Ykdq?=
 =?utf-8?B?VXEyZHNUdmVuaVVTSERiMGVTNjZkdTNPTVNrSndxa2o2Rm5jeFd4YnhyUE5z?=
 =?utf-8?B?ejAzSTZBS2YvUDR0Nm9mQ2svbzBmNS9GcXRPUGNBRlhZUjUvaHVseWoxVk5X?=
 =?utf-8?B?WUZienFwM05Wa25YZ1UzVEsrak4wUEpXRXB4clF4M05NUHB2MW1DaXpiY0xo?=
 =?utf-8?B?c0k5RTV1S3ZPWkJXSFpqSmY2YzB4M3FDQ2FLVTlKS2FrQkNjOEliUkVnYnEy?=
 =?utf-8?B?dnk1YmNCNUl0aXVvY2tjaDN6dlBjRUd6blRhb3pJVEIvR0VjV0IrRXNRZ0Jh?=
 =?utf-8?B?TktHbEZHeWQ4d3cxeE5UUzJ4blZnZEdHOW81TUIyOXFFcTdMa3F3UW00RmhZ?=
 =?utf-8?B?VlJBUDlqbU56MEp1OFE4TWw3Rm5VcEU3UHc1TzRYdTcyK2ZsNnNFSVphTEQw?=
 =?utf-8?B?eU1uUk5LU0V6MHJVc0xHQ0lTTW5QOFU0dnhHSHVuYWFIVzdSTUhkdHorN1ls?=
 =?utf-8?B?Tjl5dmdvY0ZKT1c4S3FiNDZ3R2tmVTRPQnQ4Z0NXaEZ0TWxZYzRwUDJFeFk4?=
 =?utf-8?B?ejAvbzNnbTl5eVJjQ1lkK3lEejNxL1A2NXd5NnlDU3cvMGtnNjJLYnlFWkt0?=
 =?utf-8?B?ZkZVTTBaRW9mK2dDdEpGUHRIOTEwOXlEVTMxWEhCQzc5K3VLK3Jaelk3Wm0r?=
 =?utf-8?B?QndTNDlSQldVRThQdTNJR3gzOGxkMVhrSFR3M1dsbmMwZkVpckRaeHMrWWJt?=
 =?utf-8?B?WlNlajM0L1luTU1DNnlYU3NYTFpQT2FBd3JmWlQ5SlJkRG56bmVsRUFQVXFF?=
 =?utf-8?B?N3puNVdpdzJWd09FNFBISU42TlN6WmJTNmhnZ1dxdWN2Q0lvS21Ga2dWaFRa?=
 =?utf-8?B?bi9QZGNROUt5bVBXNHVBRU1uZTFHVXJtUkZhaWZQN2ZQMWNhbXZYMmhyMmJS?=
 =?utf-8?B?cmZlbHVFK1NucklaZm5sUXF3U0ErQUMzaHBFRjlUSTg3anREUGVtSGdPd2p0?=
 =?utf-8?B?aTluZXBIQVdvOVNEQkhZZzJUb3Jack9nNk1mVUtMTWRDZFM1amxsN2xHTFZN?=
 =?utf-8?B?MW8wVXhrR1lYYUFIbThEUU9mT1FBSjR6czVvUHRjWG1xQmd3cWkwVlpFUHpU?=
 =?utf-8?B?bndPM3licnBLYzFidUJFdmJ2L05xZ0tCV0xTQnpoL3dURkZiam5jQk1sN3pp?=
 =?utf-8?B?Qk85MzRHRlM5RkxTSE1RbWc4aGR0SURLUnBiVWVtanF6cmZHM2V3YlJXVXhi?=
 =?utf-8?B?OXB2dEtxaDRPd3BmNUF4aUk3OEtyaEp0LytZZjU1S214TmxoZ0c4WER3b3o5?=
 =?utf-8?B?ZENUMDFYaWtTRkRtN3lMWjZrL3QreHNOMEVPakh3ZEFmRXgya1ZpY0VvcjJS?=
 =?utf-8?B?NTUvYlRiS0F0VEZidnZteEVuT09KcFdYWE56VVVRMG1yTzRrQmQ1Y010Ykdq?=
 =?utf-8?B?Wmc9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8b775ed5-fe34-48dd-ba53-08de0747813f
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Oct 2025 15:21:22.6686
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Ky3zY7gzqWtTBXjFR/Q44ZCHcUstu52v9Dr+SoZjjcydJsZZKEY6Mc8adOUF4t/SW10ppVxTeRqqA590BYTQPJumQx06Khzp1KP4KP0KWJU=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR03MB9006

Hi Jan,

On 09.10.25 15:01, Jan Beulich wrote:
> On 09.10.2025 13:42, Grygorii Strashko wrote:
>> From: Grygorii Strashko <grygorii_strashko@epam.com>
>>
>> Rework LVTx registers masks usage in MMIO/WRMSR write emulation code:
>>
>> - do LVTx masks renaming and rearranging to x_WR_MASK/x_RO_MASK
>>
>> - rename "vlapic_lvt_mask[]" to "lvt_wr_masks[]" to indicate they define
>> writable LVTx regs bits
>>
>> - add lvt_rsvdz_masks[] and use it in guest_wrmsr_x2apic() for "Reserved"
>> bits checking (RsvdZ, Non-zero writes to reserved bits should cause #GP
>> exception)
> 
> Didn't we agree that this may better be done in two steps?

Huh, sorry for misunderstanding.

> 
>> - add LVT_REG_IDX() macro to avoid open coding calculation of LVTx regs
>> indexes for lvt_wr_masks[]/lvt_rsvdz_masks[] in many places
>>
>> Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
>> ---
>> Hi
>>
>> Patch created according to discussion [1] and based on [1].
>>
>> I've seen patches from Jan [2] a bit late, so sending
>> it as is for now.
> 
> Just wanted to ask, not the least because I'm increasingly of the opinion
> that putting your fix on top of that series might end up being better.
> For example, the special treatment of APIC_CMCI then shouldn't be needed
> anymore.

not sure what to answer here

> 
>> @@ -881,7 +898,7 @@ void vlapic_reg_write(struct vcpu *v, unsigned int reg, uint32_t val)
>>       case APIC_LVTERR:       /* LVT Error Reg */
>>           if ( vlapic_sw_disabled(vlapic) )
>>               val |= APIC_LVT_MASKED;
>> -        val &= array_access_nospec(vlapic_lvt_mask, (reg - APIC_LVTT) >> 4);
>> +        val &= array_access_nospec(lvt_wr_masks, LVT_REG_IDX(reg));
> 
> Just like it's here, ...
> 
>> @@ -1013,26 +1030,18 @@ int guest_wrmsr_x2apic(struct vcpu *v, uint32_t msr, uint64_t val)
>>               return X86EMUL_EXCEPTION;
>>           break;
>>   
>> -    case APIC_LVTT:
>> -        if ( val & ~(LVT_MASK | APIC_TIMER_MODE_MASK) )
>> +    case APIC_CMCI:
>> +        if ( val & ~(LVT_WR_MASK | LVT_RO_MASK | APIC_DM_MASK) )
>>               return X86EMUL_EXCEPTION;
>>           break;
>>   
>> +    case APIC_LVTT:
>>       case APIC_LVTTHMR:
>>       case APIC_LVTPC:
>> -    case APIC_CMCI:
>> -        if ( val & ~(LVT_MASK | APIC_DM_MASK) )
>> -            return X86EMUL_EXCEPTION;
>> -        break;
>> -
>>       case APIC_LVT0:
>>       case APIC_LVT1:
>> -        if ( val & ~LINT_MASK )
>> -            return X86EMUL_EXCEPTION;
>> -        break;
>> -
>>       case APIC_LVTERR:
>> -        if ( val & ~LVT_MASK )
>> +        if ( val & lvt_rsvdz_masks[LVT_REG_IDX(offset)] )
> 
> ... array_access_nospec() also needs using here.

ok


-- 
Best regards,
-grygorii



From xen-devel-bounces@lists.xenproject.org Thu Oct 09 15:26:50 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Oct 2025 15:26:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1140750.1475538 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6sXU-0002pK-27; Thu, 09 Oct 2025 15:26:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1140750.1475538; Thu, 09 Oct 2025 15:26:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6sXT-0002pD-U8; Thu, 09 Oct 2025 15:26:43 +0000
Received: by outflank-mailman (input) for mailman id 1140750;
 Thu, 09 Oct 2025 15:26: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 <SRS0=I7dU=4S=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v6sXS-0002p7-0W
 for xen-devel@lists.xenproject.org; Thu, 09 Oct 2025 15:26:42 +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 58120120-a524-11f0-9809-7dc792cee155;
 Thu, 09 Oct 2025 17:26:36 +0200 (CEST)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-46e2e363118so9600295e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 09 Oct 2025 08:26:36 -0700 (PDT)
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-46fab3d7df4sm42302045e9.1.2025.10.09.08.26.35
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 09 Oct 2025 08:26:35 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 58120120-a524-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760023596; x=1760628396; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=mOAP6ryJ31nbEz97edctsHJI10QWJPQCklHySLgy7Yg=;
        b=cFjiOW41lK26cJULhsgMWAE2ucFfB9JOAN39H3pwZvDUiCVS7TRDt9DQ82xqY7OUdM
         zKZDmZ7BnGIRWetR/p42XZ6rSKNnVqUdVhuVcaES9XVoHK186HIIhvyarM8o4GYNmJMx
         VRq9QomyoUNGHXaJtQKmIXTXxyZb73rxDQA0hwV1pQMNutWTZl35q5hvjUx630JWmUWG
         U3TqS4SZPNEv/+NrTpYnvEK1BgszCBz8Q/bRN2ic0eP8PzSRZ1GTHj22nCdDjZm5IAGg
         oYNjzSZydG5JXfzkMbhN1kNu7fZSMaaRTz5kxv/vCfyZrLgRRpnOdCurHxagCMnWoNv9
         zQdg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760023596; x=1760628396;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=mOAP6ryJ31nbEz97edctsHJI10QWJPQCklHySLgy7Yg=;
        b=TAwSv6eo2MTNB7OQSY0rCLk1BB2G///5xSZp9yvOlYky3hriOTAJwbHHIOeC+vdIbE
         Ws4Ppl9M3IT5jhHNQVhJkReP0gB57pmw9Nk1Srbn/2dQ9uH3y5H5AOm4+8CND01yA29I
         gEmoHS1LhCirOofmHpZSl18fmrTLcRQf5DPqwtT8NJGbGxV6me5Y6hymm7RTB/yp2x3f
         EmmkwHJMMWduYdBuvLuDQ33b64m2r3obWQP+tZTHFmu/aRfWkILKQtxRYTjhwt8lVb8g
         T15lG00eEwYRW/qhKu1JboOfJwg/noGDX7LYTD0NorAdGX7YmjLbP5CqyjHhh5uZFaeN
         LrNw==
X-Forwarded-Encrypted: i=1; AJvYcCXOlBop+S4rySAcZEifVGe3mzyyKPSlna9MX2I3osAJGvlYKsfzCGgL4dLGMiA8Mo7+XEJ+DFeEbuA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwaupUT19PT+QEzDvIC0Ibh0pt6t8uSsLXH5F8QeczFZbhy7PvB
	AgWlBFiJhlLBP6SBF56KAFLjvUWdrPdfz/8FQmhgazgTqDi53WfUtkKk4peqjq2wlQ==
X-Gm-Gg: ASbGncuX1qATSPKx+kVNkwa8Dt0QpgzsM4i98SOMWTOy+WRSLLV/fxx98EzPIEs9qeI
	dksPoHNzmFf5AK/SaLj5Bt7hTOHH4Q8NEnO4G2Da6h+s84tOGXxlCmf5zKlj/NRK17NGT8DGA83
	nRgQL6yh7aEG5QfvN8u+g23b1x9NleVZTrFpZYOUl7Ps3+Xi4zsG5raaEqZKub1iRwFjEmfGH/N
	N3byQkQ/lq12fF4AZmzzFYVn5m+75hNArL9ESDzBGXFpwu5mTDQubmdpF0FJqybHK8jWYLApj6i
	1mj/ul1oj9aII+6kt1IhjQkdYVlxebE1Fk3S8WIXWqRxpt9U162jzFdKjTz6PSi/yP+C/Ew/cko
	qvc1rfhdKR+lvRSETpESv7fq3GROxNkmyZTIolq7DmfYYQBfZXdogeml4MWSBs6yqz7h6AF/A+z
	iIIwNzVSfuy/ZwCgBEra+mA5IHBpFR6i/DVoHQy51P3A==
X-Google-Smtp-Source: AGHT+IGsGQYGqorYODavoEjfJcpUe/uxohVNlG58G54wSUz1Kwdtg6GndUP2KXdJjGk1oXSl+QY+JA==
X-Received: by 2002:a05:600c:1552:b0:46e:1c16:7f42 with SMTP id 5b1f17b1804b1-46fa9a9659emr56804715e9.11.1760023595734;
        Thu, 09 Oct 2025 08:26:35 -0700 (PDT)
Message-ID: <8c9d8762-b39b-4696-bb6a-23fa05fdc393@suse.com>
Date: Thu, 9 Oct 2025 17:26:34 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] x86/hvm: vlapic: fix RO bits emulation in LVTx regs
To: Grygorii Strashko <grygorii_strashko@epam.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Alejandro Vallejo <alejandro.garciavallejo@amd.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20250930190550.1166875-1-grygorii_strashko@epam.com>
 <DD733UWP8JVK.SSX8U5ENELIE@amd.com>
 <3715a68a-dc35-42f4-99e2-e1a45ebd1b16@epam.com>
 <ad2818bd-bf36-46b9-89f3-ffa8b9dd364a@suse.com>
 <a80dc58d-a6b7-4de4-be1e-7c2fa03b17aa@epam.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <a80dc58d-a6b7-4de4-be1e-7c2fa03b17aa@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 09.10.2025 16:55, Grygorii Strashko wrote:
> Hi Jan,
> 
> Thanks for your comments and support.
> 
> On 07.10.25 18:35, Jan Beulich wrote:
>> On 03.10.2025 16:04, Grygorii Strashko wrote:
>>>
>>>
>>> On 01.10.25 18:18, Alejandro Vallejo wrote:
>>>> On Tue Sep 30, 2025 at 9:05 PM CEST, Grygorii Strashko wrote:
>>>>> From: Grygorii Strashko <grygorii_strashko@epam.com>
>>>>>
>>>>> The LAPIC LVTx registers have two RO bits:
>>>>> - all: Delivery Status (DS) bit 12
>>>>> - LINT0/LINT1: Remote IRR Flag (RIR) bit 14.
>>>>>
>>>>> The Delivery Status (DS) is not emulated by Xen - there is no IRQ msg bus,
>>>>> and the IRQ is:
>>>>> - or accepted at destination and appears as pending
>>>>>     (vLAPIC Interrupt Request Register (IRR))
>>>>> - or get rejected immediately.
>>>>>
>>>>> The Remote IRR Flag (RIR) behavior emulation is not implemented for
>>>>> LINT0/LINT1 in Xen for now.
>>>>>
>>>>> The current vLAPIC implementations allows guest to write to these RO bits.
>>>>>
>>>>> The vLAPIC LVTx registers write happens in vlapic_reg_write() which expect
>>>>> to implement "Write ignore" access type for RO bits by applying masks from
>>>>> vlapic_lvt_mask[], but vlapic_lvt_mask[] contains incorrect masks which
>>>>> allows writing to RO fields.
>>>>>
>>>>> Hence it is definitely wrong to allow guest to write to LVTx regs RO bits,
>>>>> fix it by fixing LVTx registers masks in vlapic_lvt_mask[].
>>>>>
>>>>> In case of WRMSR (guest_wrmsr_x2apic()) access to LVTx registers, the SDM
>>>>> clearly defines access type for "Reserved" bits as RsvdZ (Non-zero writes
>>>>> to reserved bits should cause #GP exception), but contains no statements
>>>>> for RO bits except that they are not "Reserved". So, guest_wrmsr_x2apic()
>>>>> now uses different masks (than vlapic_reg_write()) for checking LVTx
>>>>> registers values for "Reserved" bit settings, which include RO bits and
>>>>> do not cause #GP exception.
>>>>>
>>>>> Fixes: d1bd157fbc9b ("Big merge the HVM full-virtualisation abstractions.")
>>>>> Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
>>>>> ---
>>>>> Changes in v2:
>>>>> - masks fixed in vlapic_lvt_mask[]
>>>>> - commit msg reworded
>>>>>
>>>>> v1: https://patchwork.kernel.org/project/xen-devel/patch/20250925195558.519568-1-grygorii_strashko@epam.com/
>>>>>    xen/arch/x86/hvm/vlapic.c | 14 ++++++++------
>>>>>    1 file changed, 8 insertions(+), 6 deletions(-)
>>>>>
>>>>> diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
>>>>> index 79697487ba90..2ecba8163f48 100644
>>>>> --- a/xen/arch/x86/hvm/vlapic.c
>>>>> +++ b/xen/arch/x86/hvm/vlapic.c
>>>>> @@ -44,15 +44,17 @@
>>>>>    static const unsigned int vlapic_lvt_mask[VLAPIC_LVT_NUM] =
>>>>>    {
>>>>>         /* LVTT */
>>>>> -     LVT_MASK | APIC_TIMER_MODE_MASK,
>>>>> +     (LVT_MASK | APIC_TIMER_MODE_MASK) & ~APIC_SEND_PENDING,
>>>>>         /* LVTTHMR */
>>>>> -     LVT_MASK | APIC_DM_MASK,
>>>>> +     (LVT_MASK | APIC_DM_MASK) & ~APIC_SEND_PENDING,
>>>>>         /* LVTPC */
>>>>> -     LVT_MASK | APIC_DM_MASK,
>>>>> -     /* LVT0-1 */
>>>>> -     LINT_MASK, LINT_MASK,
>>>>> +     (LVT_MASK | APIC_DM_MASK) & ~APIC_SEND_PENDING,
>>>>> +     /* LVT0 */
>>>>> +     LINT_MASK & ~(APIC_LVT_REMOTE_IRR | APIC_SEND_PENDING),
>>>>> +     /* LVT1 */
>>>>> +     LINT_MASK & ~(APIC_LVT_REMOTE_IRR | APIC_SEND_PENDING),
>>>>>         /* LVTERR */
>>>>> -     LVT_MASK
>>>>> +     LVT_MASK & ~APIC_SEND_PENDING,
>>>>>    };
>>>>
>>>> This is a bit messy. Why not have 2 masks? One for rsvdZ bits, and one
>>>> for RO?
>>>>
>>>> That ought to simplify the logic in both the MSR and MMIO cases.
>>>>
>>>> MMIO would do RAZ/WI on the OR of both, while the MSR interface would gate
>>>> #GP(0) on the mask for rsvd bits only and ensure all RO bits are preserved on
>>>> writes.
>>>>
>>>> Thoughts?
>>>
>>> I've been thinking about the same and It can be done, np.
>>> I always trying to make "fix" with as small diff as possible
>>> considering back-porting.
>>>
>>> How about "follow up" patch if there is an agreement to proceed this way on the Top level?
>>
>> Doing it in two steps would be okay with me (I expected it to go that way
>> anyway), but then it would still be nice to limit churn some. Specifically,
>> taking LINT_MASK as example, can't we do
>>
>> #define LINT_RO_MASK (LVT_RO_MASK | APIC_LVT_REMOTE_IRR)
>>
>> #define LINT_WR_MASK \
>>      (LVT_WR_MASK | APIC_DM_MASK | APIC_INPUT_POLARITY | \
>>      APIC_LVT_LEVEL_TRIGGER)
>>
>> #define LINT_MASK (LINT_WR_MASK | LINT_RO_MASK)
>>
>> or some such, and then use *_WR_MASK in the table initializer?
> 
> Huh. I seems lost a bit, so it's time for ask for more clarifications.
> 
> I was under impression (seems wrong) that this patch is ok in general, but
> more improvements need to be done while here [1].
> My situation is simple - I have a broken safety test with obvious reason "RO bits are writable".
> And for me fixing a bug (in most simple and fast way) is a high priority.
> Then whatever optimization/improvements/refactoring (while have time slot).
> 
> So, what need to be done to get the bug fixed and fix merged? (preferably in 4.21)

I think what Oleksii said on my series likely applies to this fix too: Has
been around for a long time, and hence isn't really release critical.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 09 15:31:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Oct 2025 15:31:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1140760.1475547 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6scS-0004Kt-Ix; Thu, 09 Oct 2025 15:31:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1140760.1475547; Thu, 09 Oct 2025 15:31:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6scS-0004Km-Fp; Thu, 09 Oct 2025 15:31:52 +0000
Received: by outflank-mailman (input) for mailman id 1140760;
 Thu, 09 Oct 2025 15:31:51 +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 <SRS0=I7dU=4S=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v6scR-0004Kg-PA
 for xen-devel@lists.xenproject.org; Thu, 09 Oct 2025 15:31:51 +0000
Received: from mail-wr1-x434.google.com (mail-wr1-x434.google.com
 [2a00:1450:4864:20::434])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 130ed784-a525-11f0-9d15-b5c5bf9af7f9;
 Thu, 09 Oct 2025 17:31:50 +0200 (CEST)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-42568669606so831274f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 09 Oct 2025 08:31:50 -0700 (PDT)
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-4255d8ac750sm35749191f8f.24.2025.10.09.08.31.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 09 Oct 2025 08:31:49 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 130ed784-a525-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760023909; x=1760628709; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=io4dlExgNRKKTV/M/RdL6LIVsz0ciJwFiuOL0cGE/cs=;
        b=EWLejejZfzTOhksveGaf2SU+0jtigYIWkjzhypo1WnPaLfpaD9W1q5CtPZ2kl7aCZn
         KG+5VZdw3foipPb7v+xBZNrL36IzjOvdgO4RQfMf3+OVqSCrzayaOoaf9zZA/DJDq6Ax
         kMiSll9OXagWxE4mb7bZNvDpNESWi4/46T4VZ97ilDSPsUEgbij4QLwh6loEieOy9kc2
         rGjo4IJLWJQr8vR0kSHnMCOk0wrC8XFLB+HfpgzUvXdvCG3fVaFmZbYu19ybRkH+6OGq
         IaXjPi6xsmgVVNSffbxDDxsh75FXdXlrhHDIBiUmQoAhc6r89XmUPgZ/fDR/If5seBSE
         ixUQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760023909; x=1760628709;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=io4dlExgNRKKTV/M/RdL6LIVsz0ciJwFiuOL0cGE/cs=;
        b=hmUTW4Pzi4j21QizHYe2686jyOMGX4SW+FvCMUAgV+p+WqxvP7ewUMxatw2jOXD5AI
         VjFY197fjZecZHT/0C3DeRoCX9ddnitQZlVJL1q2dKcr9LuLN6vZrurKdeltjHyKSGFL
         fS/nqMqqQ2Np5Sb+6TJZw/6sitPKmbFPTYyF0+/eihxk3mKSNg5pszuESPQ94IBT2M+d
         yrnMFYZmHzOMwjDeKh7fQxWNZS8razZY0E6q8O0VWgrFI3g06iHDc+wHxjA7qGTWaley
         H9t9ybVMI+xc63pxhDOVvG8j+ZrpTqKIpD2SYZA3/S6SCztxAIwIdPtglEkBwWyuYLqP
         H9Aw==
X-Forwarded-Encrypted: i=1; AJvYcCXHjH1iQ+NUa3t8d4Uoz8LyhUoC4KuAlCOKVBUvLcK222F0uXrrZqXj/sjOR4ngScLqmRsNZm7Rjm8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxxUb7/4P4FvPSNzUx7j5gyyICLbMFNdWCd0mk+cxFN6DrPrCft
	vj2sM664mPoBn+RsGBs2YfRn7sc+DsRY75ZfwTZjYoY32JvIcRYe7IkW+ndeRDTRXw==
X-Gm-Gg: ASbGnctaufBpbSkEIxmZuaMdBBUwIpZ9vfVJJlt+Mrl9uTiWs4sR/aBC02VqYn3969b
	60naD+gfHeH8jwy8oo6gbWs+WBk9dXJnNuAqDqlVGOuhJAhzwhuU30Tw+IhAgExcJywVOEbjpIk
	hZKIbYKSsSlA6sJMm6ttrtv9mHD2PKK2Xe1st0etV/h2r4pb1WJs1IehlxvxmdZd8ycccD5p1jI
	OZbMmX/r2Etdk5rXKAgumrxXtTl0ORN2AtTa/pEXLa3U06SqJB1m2kuSf1Yt03PiDREoVNU8awh
	wNecHD/7/M8IbiXRAca74Q8eIH4jxEM7sSkAcR9ViGyxw9AVbfB6ccKQAEN8ZC4SSxkNHRt+C/t
	qJDnxmL/qE0Ouy7lbSl30Hl3/Yehjuqlak5YfecngAGodcJoMEvmCrKtkGXG58/ctxbU4bn452h
	fOIJrk3c+jZbRH0urq3v+XC8JgbYd0rws=
X-Google-Smtp-Source: AGHT+IHg5tRS5K7JFOrWcLruS7oaVdYSjpJx9bOFRVJgQY3CqymtocRKxZQ7H6JuNWM1/ESYcKqr3A==
X-Received: by 2002:a05:6000:230e:b0:425:76e3:81c5 with SMTP id ffacd0b85a97d-4266726c314mr5360276f8f.17.1760023909453;
        Thu, 09 Oct 2025 08:31:49 -0700 (PDT)
Message-ID: <f5ae9852-4fa8-4441-9ad9-491e1d1143b9@suse.com>
Date: Thu, 9 Oct 2025 17:31:48 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21??? 1/3] x86/vLAPIC: add indirection to LVT
 handling
To: Grygorii Strashko <grygorii_strashko@epam.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Andrew Cooper <amc96@srcf.net>, Oleksii Kurochko
 <oleksii.kurochko@gmail.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <265d5053-af61-42cb-a3b9-ef60df39c21b@suse.com>
 <dd6b46f8-76f7-46d3-b3be-083b58781f32@suse.com>
 <6a3494af-96a7-4092-a8fe-39aee85fc983@epam.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <6a3494af-96a7-4092-a8fe-39aee85fc983@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 09.10.2025 16:56, Grygorii Strashko wrote:
> On 08.10.25 15:08, Jan Beulich wrote:
>> --- a/xen/arch/x86/hvm/vlapic.c
>> +++ b/xen/arch/x86/hvm/vlapic.c
>> @@ -32,7 +32,16 @@
>>   #include <public/hvm/params.h>
>>   
>>   #define VLAPIC_VERSION                  0x00050014
>> -#define VLAPIC_LVT_NUM                  6
>> +#define LVT_BIAS(reg)                   (((reg) - APIC_LVTT) >> 4)
> 
> LVT_REG_IDX is more meaningful.

Not to me. I don't like LVT_BIAS() very much as a name, but if anything I'd
want to replace it by something clearly better (and unambiguous).

>> +
>> +#define LVTS \
>> +    LVT(LVTT), LVT(LVTTHMR), LVT(LVTPC), LVT(LVT0), LVT(LVT1), LVT(LVTERR),
>> +
>> +static const unsigned int lvt_reg[] = {
> 
> this is going to be used by vlapic_get_reg()/vlapic_set_reg()
> which both accept "uint32_t reg", so wouldn't it be reasonable
> to use "uint32_t" here too.

Possible, but against ./CODING_STYLE (applies to your other uint32_t remarks,
too).

>> @@ -41,20 +50,21 @@
>>       (LVT_MASK | APIC_DM_MASK | APIC_INPUT_POLARITY |\
>>       APIC_LVT_REMOTE_IRR | APIC_LVT_LEVEL_TRIGGER)
>>   
>> -static const unsigned int vlapic_lvt_mask[VLAPIC_LVT_NUM] =
>> +static const unsigned int lvt_valid[] =
>>   {
>> -     /* LVTT */
>> -     LVT_MASK | APIC_TIMER_MODE_MASK,
>> -     /* LVTTHMR */
>> -     LVT_MASK | APIC_DM_MASK,
>> -     /* LVTPC */
>> -     LVT_MASK | APIC_DM_MASK,
>> -     /* LVT0-1 */
>> -     LINT_MASK, LINT_MASK,
>> -     /* LVTERR */
>> -     LVT_MASK
>> +#define LVTT_VALID    (LVT_MASK | APIC_TIMER_MODE_MASK)
>> +#define LVTTHMR_VALID (LVT_MASK | APIC_DM_MASK)
>> +#define LVTPC_VALID   (LVT_MASK | APIC_DM_MASK)
>> +#define LVT0_VALID    LINT_MASK
>> +#define LVT1_VALID    LINT_MASK
>> +#define LVTERR_VALID  LVT_MASK
>> +#define LVT(which)    [LVT_BIAS(APIC_ ## which)] = which ## _VALID
>> +    LVTS
>> +#undef LVT
>>   };
>>   
>> +#undef LVTS
>> +
> 
> I know people have different coding style/approaches...
> But using self expanding macro-magic in this particular case is over-kill
> - it breaks grep (grep APIC_LVTT will not give all occurrences)
> - it complicates code analyzes and readability
>     - What is array size?
>     - Which array elements actually initialized?
>     - what is the actual element's values?
> - in this particular case - no benefits in terms of code lines.
> 
> It might be reasonable if there would be few dozen of regs (or more),
> but there are only 6(7) and HW spec is old and stable.
> 
> So could there just be:
> static const unsigned int lvt_reg[] = {
>   APIC_LVTT,
>   APIC_LVTTHMR
>   ...
> 
> and
> 
> static const unsigned int lvt_valid[] = {
>   [LVT_REG_IDX(APIC_LVTT)] = (LVT_MASK | APIC_TIMER_MODE_MASK),
>   [LVT_REG_IDX(APIC_LVTTHMR)] = (LVT_MASK | APIC_DM_MASK),
>   ..
> 
> Just fast look at above code gives all info without need to parse all
> these recursive macro.

And with no guarantee at all that the order of entries remains in sync
between all (two now, three later) uses.

>>   #define vlapic_lvtt_period(vlapic)                              \
>>       ((vlapic_get_reg(vlapic, APIC_LVTT) & APIC_TIMER_MODE_MASK) \
>>        == APIC_TIMER_MODE_PERIODIC)
>> @@ -827,16 +837,16 @@ void vlapic_reg_write(struct vcpu *v, un
>>   
>>           if ( !(val & APIC_SPIV_APIC_ENABLED) )
>>           {
>> -            int i;
>> +            unsigned int i,
> 
> uint32_t?
> 
>> +                nr = GET_APIC_MAXLVT(vlapic_get_reg(vlapic, APIC_LVR)) + 1;
> 
> This deserves wrapper (may be static inline)
> Defining multiple vars on the same line makes code less readable as for me.

I don't see multiple variables being defined on this line.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 09 15:37:31 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Oct 2025 15:37:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1140774.1475557 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6shr-000589-B3; Thu, 09 Oct 2025 15:37:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1140774.1475557; Thu, 09 Oct 2025 15:37:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6shr-000582-7x; Thu, 09 Oct 2025 15:37:27 +0000
Received: by outflank-mailman (input) for mailman id 1140774;
 Thu, 09 Oct 2025 15:37:25 +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 <SRS0=I7dU=4S=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v6shp-00057w-Rt
 for xen-devel@lists.xenproject.org; Thu, 09 Oct 2025 15:37:25 +0000
Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com
 [2a00:1450:4864:20::32e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id da475866-a525-11f0-9d15-b5c5bf9af7f9;
 Thu, 09 Oct 2025 17:37:24 +0200 (CEST)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-46e504975dbso7099635e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 09 Oct 2025 08:37:24 -0700 (PDT)
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-46fb49bdfd0sm732565e9.10.2025.10.09.08.37.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 09 Oct 2025 08:37:23 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: da475866-a525-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760024244; x=1760629044; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=sle44azmJmsJEk1pulNiFcMUpRaootCjeTnw5YSXt8w=;
        b=FgfLT+md/l+MC4+dFGAP/+L7qKpMdY3Zmq9CNWZG1SvfAq0ZewZR+kk0Cr/YX+9jYf
         SFrUXXLyd+geqb3X7HaI1VlsepB/Ic5uxjaqWcA4ovSMIRLpseT/WalUEDbqhtD4jQV0
         u3Grw9jMOuJLMp+UHLO++2TgS4lMcX42JhzwpHytsWj/ZyOpI+mstzE/xGPJgp7gVh/4
         3UYMOrca1kpLfsSPMgmQJ5qVPv5urWkwUGwF1X8HfMpT+YjBcPbciFZDYyAORPDnWoKK
         HVxWXOh2ETcDL26+4rPJ8S6Bc0suXK4J/llwLLQ5e4czpMTZy8ShBfTIwdIeGDzUaEXC
         lKqg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760024244; x=1760629044;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=sle44azmJmsJEk1pulNiFcMUpRaootCjeTnw5YSXt8w=;
        b=BII5SVv3hJydN1aJSoEzl5vJ+PcmVWIXuNzpyD7BtibTd/yTpZAG04H76Rkh9Kc12e
         S3M4azz0GpLCn1EeU+Zcaj5P6Lba0EdqGFFzFVmk5ox5a9C8Lfb3IK0oFf9JBMLatpFU
         z2vNmHc12Oq6bx3VVFp86Nz0IBVdH5VukewIQUtQHIYbbOvqk8COmL00CgOaeRfEXRbF
         CYlL3C5j7QrCY9bzq88E19T/+MUBCvGYU3i1ucZYFwucDlNmpMlWvyvQORkkTUwSTztp
         NAO2v4AYKgWftE7FIoaM9e9ekSek+uqx2PpVX6Q0fgOnH0vfbg1HVORcxhWMWwjlD9rK
         jAdw==
X-Forwarded-Encrypted: i=1; AJvYcCV2biGIyI3c67vihnUNdSZTuQGj/C4egwUThsg3Zr2mdb7h1QEk/fgjCL8AFjBIKRWSt9qrLVDzgqw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YztNHf2W12vLCCoR5KkXDskhHKg27KQEcdcurFjVy14m3mDGtO6
	NOH1NEptxbKW5WwG6ADk0+OidYAFgqXhAjz4aE2zVLMPB85TqkrZMlcO1sq7FJqRWQ==
X-Gm-Gg: ASbGncufZbQzG451yj9ZfafKMeV4FqknvnVkeayM+6YY+p0diBFQG0+zE57QjKJanvy
	Bqf4Z5htRVJUjcocnRmCVzkvEBlYJjgnx2qc6jZRM8oDJazW51Heu2oMJ+OtUtp/y8XhZsqRvFS
	78krVB9R24ujFMAZFsViSpzi4ZZJkL+RXJa5EqA2XA/wKsWiY8iAcqRSDMY9RBuoTe6TGH6TilV
	nxIWljM8bfIK7CK9KbSeu+hlKDPFFnEYtV8q2cXQaCBTpxlfJoiwVCmzue++SNrggoE5YD8bRYw
	8KgOzdHxta9TfjyuYL1GZSUJm16iwRQfKCcojcgjMelB7EGtc52TSrRcShQ3G+gQIao5e2d+Uqj
	qJ37kPoKGz0DTXgoPlVn+TCayusCgSFutzaUVTY44MuP8g+LXAhJrftAOCyJb8b0M737/TAr/TP
	xnkjAWiVDXpOSCoT6pe1SywvdFQXr5CG4=
X-Google-Smtp-Source: AGHT+IH6jYzabLdUWveIO3NOnAjYQWSWYOKh+H3lLnsVZXdfnDthl+7xlNX521eubtqGxqDMARsNvA==
X-Received: by 2002:a05:600d:416a:b0:46e:3f75:da49 with SMTP id 5b1f17b1804b1-46fa9b11794mr48907655e9.37.1760024243817;
        Thu, 09 Oct 2025 08:37:23 -0700 (PDT)
Message-ID: <8161d5b7-cc0e-41c3-8664-620988bc399e@suse.com>
Date: Thu, 9 Oct 2025 17:37:22 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21??? 3/3] x86/vLAPIC: properly support the CMCI LVT
To: Grygorii Strashko <grygorii_strashko@epam.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Andrew Cooper <amc96@srcf.net>, Oleksii Kurochko
 <oleksii.kurochko@gmail.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <265d5053-af61-42cb-a3b9-ef60df39c21b@suse.com>
 <61a05ec1-aca7-4c3f-be6f-1bb053b2cd00@suse.com>
 <4477b803-4941-4032-be83-85cc126ceacb@epam.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <4477b803-4941-4032-be83-85cc126ceacb@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 09.10.2025 17:08, Grygorii Strashko wrote:
> On 08.10.25 15:09, Jan Beulich wrote:
>> --- a/xen/arch/x86/hvm/vlapic.c
>> +++ b/xen/arch/x86/hvm/vlapic.c
>> @@ -31,10 +31,13 @@
>>   #include <public/hvm/ioreq.h>
>>   #include <public/hvm/params.h>
>>   
>> -#define LVT_BIAS(reg)                   (((reg) - APIC_LVTT) >> 4)
>> +#include <../cpu/mcheck/x86_mca.h> /* MCG_CMCI_P */
> 
> This include... You probably do not like it also
> It is dependency outside HVM code.
> 
> I've been thinking about something like vlapic->caps which can be filed before vlapic_init()
> or passed as parameter, but seems x86 toolstack is considered to be able overwrite anything,
> including v->arch.vmce.
> 
> Seems, no better options here.

Same here, hence why I used it despite not liking it.

>> @@ -697,8 +701,17 @@ int guest_rdmsr_x2apic(const struct vcpu
>>           return X86EMUL_EXCEPTION;
>>   
>>       offset = reg << 4;
>> -    if ( offset == APIC_ICR )
>> +    switch ( offset )
>> +    {
>> +    case APIC_ICR:
>>           high = (uint64_t)vlapic_read_aligned(vlapic, APIC_ICR2) << 32;
>> +        break;
>> +
>> +    case APIC_CMCI:
>> +        if ( !(v->arch.vmce.mcg_cap & MCG_CMCI_P) )
> 
> Could it be done using wrapper, like vmce_has_cmci()?
> As this is Intel specific it's candidate to be opt-out eventually.

Possible. I wanted to limit the churn, hence why I preferred not to introduce
a wrapper. Such an abstraction I wouldn't like to be a function taking a vCPU;
really this should be a domain property imo.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 09 16:17:18 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Oct 2025 16:17:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1140796.1475566 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6tKD-0002YI-4L; Thu, 09 Oct 2025 16:17:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1140796.1475566; Thu, 09 Oct 2025 16:17:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6tKD-0002YB-1g; Thu, 09 Oct 2025 16:17:05 +0000
Received: by outflank-mailman (input) for mailman id 1140796;
 Thu, 09 Oct 2025 16:17:04 +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
 <SRS0=VZ0Z=4S=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1v6tKC-0002Y5-17
 for xen-devel@lists.xenproject.org; Thu, 09 Oct 2025 16:17:04 +0000
Received: from DU2PR03CU002.outbound.protection.outlook.com
 (mail-northeuropeazlp170110003.outbound.protection.outlook.com
 [2a01:111:f403:c200::3])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6156eae8-a52b-11f0-9809-7dc792cee155;
 Thu, 09 Oct 2025 18:16:58 +0200 (CEST)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by AM9PR03MB7929.eurprd03.prod.outlook.com (2603:10a6:20b:438::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.10; Thu, 9 Oct
 2025 16:16:56 +0000
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593]) by AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593%3]) with mapi id 15.20.9203.007; Thu, 9 Oct 2025
 16:16:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6156eae8-a52b-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ezlv6yic8xQuHrVM+xMwKgKvhIehS1jLqm879UMZQuRDbeephd9NUspz8Gi1+fbjikugFt1r3r6gOL4PBB+hF8OQ0dZUKriWhGybX/ZgOvtV0jCSwbV+377FRsjVZh6wXKmO18fZQBGEp4kxuy4TVjFHA7Ki3fZ6xlBgtxtcHgoxg+8fBorotvvqaV7S/gERiEX79FSDz8KY3zthuNvc2PKo2LzqqhS1U5oc810jyunjLi49vY8x44Xj/hwy1xsf5eiy8JzFFJ1S9/ndKBO4InHtUFZRmiYE2C31pbB1BMtZyShqtLmWBKmwJrPhBGRFvwrqIEeGg5HN3aVRTGkUaw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hydw63ReTdg0aiMVp/2bSqcGoDRu8X0sidBBd6kBVrU=;
 b=RzATH1DyBojxCynEh3br3g3O1X5oRhpdWeQSGuM+vKmxPbQjdH54PFzcFGOOqxV57w6sz2aavKuwP/qhUxdE22N0qLgYzYhJ6MBGyP+nB7+bozAU70bBoPepCd0TOgZiWhvL8cwE16tUMErkEdOYDKCdc7fh69V+cYNpPd1FrqxPZyC8dpFf+XeIh7tXZc4InWO0OCIVqEnWTgWlZ+DR0BITYZAQeGnEw36voSBuktOMqfC4C5TIFo8XOm6IVyHeiwtYTOLP5ogcV7yIXrKaOpJ1XuW5lHM6XxllGOUokF34+OxqkXxwOWVG+qcfkzEYRG5HWzgDr9cAuCFlHBsNYg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hydw63ReTdg0aiMVp/2bSqcGoDRu8X0sidBBd6kBVrU=;
 b=KQTOsqmKxduHNKa348eB2NaGDnVTDLQ6SwTZDKBuRhDpPZdN74Unnn2GFCtOYOjEXkq1PhK3NbF9Q8ntQSs9pdvsjHe4q+MZtjOkFoWlurH9VNdWqpnjuoyj3HJWa3JthQZrQMZdZ3qJ2t7/hhvJTnUWy/34akG4FIdUYx1S1mZoG6+vPnRlWMzl/31noaF9tKjtTTgRADfPMIPAb8HXZJDmnSDB9jNL2IwOaiY22JFQAM6KJE2bXcDgT3OUql0XK6uL0ev3WjaG+q5Vsjk7YN0La9CeBIa4gvIL5YA7RweBVXeQ3AiACkmtCiO6biWza+twx81SjgtrA4epKn6X9w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <a35ca989-e199-4072-bf73-c9d135f7c2e7@epam.com>
Date: Thu, 9 Oct 2025 19:16:55 +0300
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21??? 1/3] x86/vLAPIC: add indirection to LVT
 handling
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Andrew Cooper <amc96@srcf.net>, Oleksii Kurochko
 <oleksii.kurochko@gmail.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <265d5053-af61-42cb-a3b9-ef60df39c21b@suse.com>
 <dd6b46f8-76f7-46d3-b3be-083b58781f32@suse.com>
 <6a3494af-96a7-4092-a8fe-39aee85fc983@epam.com>
 <f5ae9852-4fa8-4441-9ad9-491e1d1143b9@suse.com>
Content-Language: en-US
From: Grygorii Strashko <grygorii_strashko@epam.com>
In-Reply-To: <f5ae9852-4fa8-4441-9ad9-491e1d1143b9@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0091.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9b::10) To AS2PR03MB8907.eurprd03.prod.outlook.com
 (2603:10a6:20b:5e4::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS2PR03MB8907:EE_|AM9PR03MB7929:EE_
X-MS-Office365-Filtering-Correlation-Id: b5a97342-52e6-4a9d-641a-08de074f4439
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?VGcraTdCTll2WTJncWxFM1lEMC96QVJrVG9kMG11TFRUYytxMkhBTnZiWXNX?=
 =?utf-8?B?TkZiSGQzZjRKa3RDcXp5eExLYUI5R0xKbHpBL0xtOTNtMFJIZXo4bURHdENQ?=
 =?utf-8?B?SW10WEhFUkx5YjJsMWYrdzNuaHpuSjdaN1hpWDQyNk1Idml0dHhhM3ZTbVJw?=
 =?utf-8?B?Zk5GYWhsci8reFcyd3FLV1UxMUtldkJFQTVHYURXLzNKRG5VMThuUVdNLzA3?=
 =?utf-8?B?QzZHejMxZzNuNDR5TVZDamZQeUFVYjVxNFNYd0ltWnZRSmNwQWhQRHhmWEZ3?=
 =?utf-8?B?RXloQkF2bWtHbml5UkhXa0gzN05EQUxWTXhONnBrUnBWZ2JBcnBldmoxRjU0?=
 =?utf-8?B?M2UxL2J3R0dBZ1NvdXdMNXpYRUNoT1R2eXNWLzZWUTlJUjBJYTJ3Zi9jSnlx?=
 =?utf-8?B?NzdQQjdJSmozbFd6anc1dkVWVzlxMmVKbElJaVVpNjdxZjdKVkdWMmJtbUtq?=
 =?utf-8?B?U0JGNmJYNkYvcWZpSVBxdzJRcy9IeTk4QlBhWGNaZFlwaXBZWHdrQ2hub040?=
 =?utf-8?B?eG5UYmJTQlk5cmo3VkxMOTdJMDJiTlJhRnhVZndDSzFGQVBaT3JzQmVTb2VB?=
 =?utf-8?B?WkluNEhnNW5GZnVCeGh6T2xGU1F5MXV2RkRZZHIwZjduOHMzaDR6TmFwQ1hx?=
 =?utf-8?B?bHoyL050bnhqakJPWTM1WUplNzhvR3hhanVGNFdwUzM0a2xmRG1uMzhaVjhv?=
 =?utf-8?B?aitERjVWcXJDbFdJTDRBb2R5SjByanorUWlRZDdaZDZaUUo1V2s3clF6TVVV?=
 =?utf-8?B?RlJQdmRPYTdWcHluYm1KRDJVb1VEdjZYNUlvVWdTYXhGMnQ3eGNJcTNHVTRH?=
 =?utf-8?B?c2xZZElORzR6MW42Mm5ZUG14RjVWU0VFN3I1OWE2d0s0dXVWR0hKUmtxUFE4?=
 =?utf-8?B?SFJ3TVRud1czREs5RlpTMi9OU0FHLy9xQitoeWtvMWM5N3BaUmo5OXlveXMr?=
 =?utf-8?B?eVF2ZlZHejN1VnZma1FvaFp4Q1ZJTHFVcnZzK1JBaTZMQ2hyRmQrMktGQ3NS?=
 =?utf-8?B?dzBXQU15QWZEMkJuT1FiY1JKUDNEYnNwWVU2cDNRaHgwN1hWR28xRHI0S1My?=
 =?utf-8?B?ZU1NZXF1TWhuUEd3OFRoTnpKc0Fscy93NVlBVVR5QTJxR3F1dHRnTEs1RUJ5?=
 =?utf-8?B?aC9IcUdlREVZOWYvTWVzcjJxM1AyZHhNQUVnVFhaaHJuanQvSi81SnhBdFND?=
 =?utf-8?B?VmpUb3hacXRwd2pDQVljVnlJdDZzL0xqRVBNTU02WURrbXI4Z1V1OEkybEV6?=
 =?utf-8?B?cU9NN3BYanE1MWdSRisxQzU3aXpKdjh1ZlVobUlHOXcxMTFDd21yMVZZamR2?=
 =?utf-8?B?YVJtOHZWMnRqVFIwK29sTEUrZnpYWEpYNVdEV05hV29CQytQQ013UG1RcHM0?=
 =?utf-8?B?bS9UZFpOQkVDQndoSENjbWNJckVsdHN4T2REdUN2bkJGY3A5RXUrMXYwcGdm?=
 =?utf-8?B?aGdKWG9VbmZGSzFrUEdVUlRCSnlyUm90S1ppZWhiMXowWnBBOVhPNUV2eDhV?=
 =?utf-8?B?Nk1hYy8wOVRVemlMK3FZNkVzN2NwQXg3OVN1bnpNczJKODQ2MDdRZkhrY3RP?=
 =?utf-8?B?Rnk4eVFnRGk0QlVNUnVVT3dDRnBIekZWM0VlS2EzdTlWMTNyM3VPSHpvNm9J?=
 =?utf-8?B?dHJTS3FqSUdRRHY4VU9xSFV0eDNVWSszMnRpOFFwQmEzZTQ0Z3FJaVJlbFFj?=
 =?utf-8?B?dmorNkQ1OVhDUVNQbWdzUUs2RWlqcGNWamg3TzVQZERyYlNvbTJqRUJpejB3?=
 =?utf-8?B?S2VSZklLN0ZFbHdIOEF0Q2hMT0g0VjdwUTkvUzd3cUMwLzFkRHhocmgzYzlF?=
 =?utf-8?B?WUExWE10elFkQjdTQy9sTVptVXhuTk9mc294TEZVMkxJYlBDOHNick9SREE1?=
 =?utf-8?B?RW5aUHdkbmo5SldGbW5WVEJTYlhQM1lLaWgwcm5BYlFsUjY5OGdTMnMxS3Z6?=
 =?utf-8?Q?bfTRWdSe8BzW6IP6nmTWvzs9AgGCm0NR?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS2PR03MB8907.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RUw0SWhQVXRLd0xQZDhwdDhiZFFKa1B2ME5Malk4K2E4VlVoaDJOTjVFUlNJ?=
 =?utf-8?B?Sy9aSjdpc0lzM0Frc29xdHZsRmFFalQyWVJYT1pUVUdoR2MxQmRzVWJZWWF0?=
 =?utf-8?B?MFpGck0rRlFZUm1OOVhWTlViamxiQ2s1ZEZIQTdiNWZON2ptU1drek9KaXJS?=
 =?utf-8?B?Y2E1Z2xjZWFpdm93aWF6Z01HV0lZWFpiNmFEdFZWZ0ZiTzBKQUUzK1FycmdD?=
 =?utf-8?B?LzZHYXZlcjZOOTYyZ3JzazZLeURpK1E5RGtBMkd4TGkzWG1zNlFubHpJZ3ZC?=
 =?utf-8?B?L2NmRExUL242bmJyakpGT0F4eXhTQjNrRW1oMjRXT3lvdmdDM1dJK1ZvUmMv?=
 =?utf-8?B?KzlCUHFncGFQVWNrOUJFNGhaKzNHMHpXell6SjZNcEEwNEhUS2s0cjRQdGtF?=
 =?utf-8?B?d1ZXMWZrZzdta3Q4NUIrUC9LT0dUY3UyRXI5S29vTFR3YjJaSDVUbzhKY2V0?=
 =?utf-8?B?VHVwNlR4VWZZS3FtMjBvRVk5SndSRTN3ZDM2Tmd4VkNHZGJ6OHlQQUtQYlk0?=
 =?utf-8?B?NzRPNFRuRGRSdTNNTFRhYUg1UzZoMXpkVmNzY3Z0Z1lqa0diSW5RY0hFN0Zj?=
 =?utf-8?B?bFdnTVdyeTVmdTRETXZSUDRwVlVQUUhIUVRSeGxMeGZLalFRQkJwUFBPeTI1?=
 =?utf-8?B?MWdpd1gzVDNpQWUzeUJiZXZRZWdTdWdOUVVudDF1ZyswR3hrRmhoYmtmWWEw?=
 =?utf-8?B?bCthYTQwYmE2djBBcmM4dngyRXhrcnl6Tmw2K3hheTRNQVBQRVppNzhSWjIz?=
 =?utf-8?B?VUhMVHVXbkJHQ1FYVW42eG1HZVdWNjIrZGVJMk1rclpsQWJmdkNrbFlETmxJ?=
 =?utf-8?B?cFFQNjhBMmlRWHZNb3UrVndEeVp6TGxQdXpKdVBMWmQwbCsrSFMyRkxQaFJM?=
 =?utf-8?B?NDBPOHhac1h4Y1NkM20vQmR5WFRuTFV5bkVESXNFZ1U5SFBicjhOelJIMTZ1?=
 =?utf-8?B?MWlPMkUyU2ZBdTNvMVhyWlFGT3hmNGVlRWZZM3F4eWM5MndqODRvSzNwczR4?=
 =?utf-8?B?a3pzV0srRGtMMW1wcFFTYk1VcjQ1QThJVUVFVHg1azRLVFN5MW1OcGJXL1B3?=
 =?utf-8?B?RlhlZXpIQjF5aUZtaVg0dWdITGVqZzc4UkVzV2ZSUmdBOVRFbGc0Nlc4TlBI?=
 =?utf-8?B?OURMZHBTWTlheTRjaVpEZ2N2ZXo2elVac0NQWjJyMGpXaVJIRDZPSGtsdjZE?=
 =?utf-8?B?ZldqalBJdElqbDE0V1Q1ZDZBOEc1ZmNQdTJ2RkVlbmUzVjk5aUxpNmdtUWpk?=
 =?utf-8?B?cE1ZTUVJb2JiN1A0VUhwektpTy9DVTc1TFBrMzNrTU1XQlFMb21helFmNkww?=
 =?utf-8?B?YVpWUzJoWUc4Z2tFYXdDWFRuSWR0bStyQjh6RWhIaGFpcldsdHBLcDE1ZDNR?=
 =?utf-8?B?TU5xTXRiREpLSERIM083TU9sNGJJMGduUzk1Tm1DQm5mQkt2bytxdUdRY1dj?=
 =?utf-8?B?bUp5YnAwWlBpUkVGak9OdHpscGtyMmhvV1lrbXBIdUwrUzVZZVZlZHdkakJy?=
 =?utf-8?B?LytVV1JLOXhGdmRYMG9kS2lYSzlrbG91Nkx2dkkvTmY4SDZjREdPd0F1K0pB?=
 =?utf-8?B?TEpSellKa0Q3eDYwQS8rbUUvTzJJNmMvN2dpUzhuRkhobTNkdjhzMW9WbXZs?=
 =?utf-8?B?MXZtbjg5Y3RFbkk4TXBnYlZvYm1GTFlSYjNSWFNBTm9kRGZMelVaSmRMWGxN?=
 =?utf-8?B?RmJ4UFl6alltWTJ4bUtSeCtBVm9oUWFZaDBscDQzaDNJekZ6aWVicnRqNGYy?=
 =?utf-8?B?NHhRTVVSNDhaODh6NUErdGh3U3hYNnlaTTJhZjVCc09lczNhMXI0T0FmbCt4?=
 =?utf-8?B?eDZBZ2lnWlFVaVE2MGg0bnJwR0V6YU9zOFRYOXhyWHh2SkgzQVhnT0VONFRM?=
 =?utf-8?B?aThMbndkZVUwWDRHeGVIVk1abDJXTnM4TlRiTFpmWHRhaXJOMThrMWg1bFNO?=
 =?utf-8?B?SEQzZ3BwaitET2hrM3VkVmVXYjNNdXp6YmVCVlpxMUIxMXJrVW9JdzlpWW5X?=
 =?utf-8?B?VXJGMWFod2NMYlZiOHJjbnhMSUxCbnVDNmIrM0dPckVpdWwwNSs2eGJ5VXl6?=
 =?utf-8?B?M2tuWUpxOUc3OUlwZ1R0YlFldmhwaVp4aUtibHNRb0o1dnhxOXdkQkgyd3Bs?=
 =?utf-8?B?TW5tVnJ0bGx5aktLclBxRmVwMUJocFlDVTd1S3hidW9JZFJiVWQyZUQ1WXZ5?=
 =?utf-8?B?ZlE9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b5a97342-52e6-4a9d-641a-08de074f4439
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Oct 2025 16:16:56.3401
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: motA1icz225MgWDSAeoSxOctJeP/G4bhtv/9eRKaH/4LpKsf/XH1NLS5Gp+dvG4+ThdNg9s8KC30aEVmwcv9KExueNUk+7Dm3av1N9gVdUk=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR03MB7929



On 09.10.25 18:31, Jan Beulich wrote:
> On 09.10.2025 16:56, Grygorii Strashko wrote:
>> On 08.10.25 15:08, Jan Beulich wrote:
>>> --- a/xen/arch/x86/hvm/vlapic.c
>>> +++ b/xen/arch/x86/hvm/vlapic.c
>>> @@ -32,7 +32,16 @@
>>>    #include <public/hvm/params.h>
>>>    
>>>    #define VLAPIC_VERSION                  0x00050014
>>> -#define VLAPIC_LVT_NUM                  6
>>> +#define LVT_BIAS(reg)                   (((reg) - APIC_LVTT) >> 4)
>>
>> LVT_REG_IDX is more meaningful.
> 
> Not to me. I don't like LVT_BIAS() very much as a name, but if anything I'd
> want to replace it by something clearly better (and unambiguous).
> 
>>> +
>>> +#define LVTS \
>>> +    LVT(LVTT), LVT(LVTTHMR), LVT(LVTPC), LVT(LVT0), LVT(LVT1), LVT(LVTERR),
>>> +
>>> +static const unsigned int lvt_reg[] = {
>>
>> this is going to be used by vlapic_get_reg()/vlapic_set_reg()
>> which both accept "uint32_t reg", so wouldn't it be reasonable
>> to use "uint32_t" here too.
> 
> Possible, but against ./CODING_STYLE (applies to your other uint32_t remarks,
> too).
> 
>>> @@ -41,20 +50,21 @@
>>>        (LVT_MASK | APIC_DM_MASK | APIC_INPUT_POLARITY |\
>>>        APIC_LVT_REMOTE_IRR | APIC_LVT_LEVEL_TRIGGER)
>>>    
>>> -static const unsigned int vlapic_lvt_mask[VLAPIC_LVT_NUM] =
>>> +static const unsigned int lvt_valid[] =
>>>    {
>>> -     /* LVTT */
>>> -     LVT_MASK | APIC_TIMER_MODE_MASK,
>>> -     /* LVTTHMR */
>>> -     LVT_MASK | APIC_DM_MASK,
>>> -     /* LVTPC */
>>> -     LVT_MASK | APIC_DM_MASK,
>>> -     /* LVT0-1 */
>>> -     LINT_MASK, LINT_MASK,
>>> -     /* LVTERR */
>>> -     LVT_MASK
>>> +#define LVTT_VALID    (LVT_MASK | APIC_TIMER_MODE_MASK)
>>> +#define LVTTHMR_VALID (LVT_MASK | APIC_DM_MASK)
>>> +#define LVTPC_VALID   (LVT_MASK | APIC_DM_MASK)
>>> +#define LVT0_VALID    LINT_MASK
>>> +#define LVT1_VALID    LINT_MASK
>>> +#define LVTERR_VALID  LVT_MASK
>>> +#define LVT(which)    [LVT_BIAS(APIC_ ## which)] = which ## _VALID
>>> +    LVTS
>>> +#undef LVT
>>>    };
>>>    
>>> +#undef LVTS
>>> +
>>
>> I know people have different coding style/approaches...
>> But using self expanding macro-magic in this particular case is over-kill
>> - it breaks grep (grep APIC_LVTT will not give all occurrences)
>> - it complicates code analyzes and readability
>>      - What is array size?
>>      - Which array elements actually initialized?
>>      - what is the actual element's values?
>> - in this particular case - no benefits in terms of code lines.
>>
>> It might be reasonable if there would be few dozen of regs (or more),
>> but there are only 6(7) and HW spec is old and stable.
>>
>> So could there just be:
>> static const unsigned int lvt_reg[] = {
>>    APIC_LVTT,
>>    APIC_LVTTHMR
>>    ...
>>
>> and
>>
>> static const unsigned int lvt_valid[] = {
>>    [LVT_REG_IDX(APIC_LVTT)] = (LVT_MASK | APIC_TIMER_MODE_MASK),
>>    [LVT_REG_IDX(APIC_LVTTHMR)] = (LVT_MASK | APIC_DM_MASK),
>>    ..
>>
>> Just fast look at above code gives all info without need to parse all
>> these recursive macro.
> 
> And with no guarantee at all that the order of entries remains in sync
> between all (two now, three later) uses.

The order in lvt_x_masks[] arrays are guaranteed by "[x] = y,".

Comparing or syncing lvt_reg[] array with with lvt_x_masks[]
would not be exactly correct as they are used in a different way and
have different sizes (after patch 3).

if somebody decide to add AMD Extended LVTs which have offsets 500-530h
then lvt_x_masks[] will grow even more and will contain more unused wholes.

> 
>>>    #define vlapic_lvtt_period(vlapic)                              \
>>>        ((vlapic_get_reg(vlapic, APIC_LVTT) & APIC_TIMER_MODE_MASK) \
>>>         == APIC_TIMER_MODE_PERIODIC)
>>> @@ -827,16 +837,16 @@ void vlapic_reg_write(struct vcpu *v, un
>>>    
>>>            if ( !(val & APIC_SPIV_APIC_ENABLED) )
>>>            {
>>> -            int i;
>>> +            unsigned int i,
>>
>> uint32_t?
>>
>>> +                nr = GET_APIC_MAXLVT(vlapic_get_reg(vlapic, APIC_LVR)) + 1;
>>
>> This deserves wrapper (may be static inline)
>> Defining multiple vars on the same line makes code less readable as for me.
> 
> I don't see multiple variables being defined on this line.

     unsigned int i;
     unsigned int nr = GET_APIC_MAXLVT(vlapic_get_reg(vlapic, APIC_LVR)) + 1;


-- 
Best regards,
-grygorii



From xen-devel-bounces@lists.xenproject.org Thu Oct 09 16:34:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Oct 2025 16:34:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1140809.1475577 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6tae-0005HC-Hg; Thu, 09 Oct 2025 16:34:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1140809.1475577; Thu, 09 Oct 2025 16:34:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v6tae-0005H5-DR; Thu, 09 Oct 2025 16:34:04 +0000
Received: by outflank-mailman (input) for mailman id 1140809;
 Thu, 09 Oct 2025 16:34:03 +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
 <SRS0=VZ0Z=4S=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1v6tad-0005Gz-C0
 for xen-devel@lists.xenproject.org; Thu, 09 Oct 2025 16:34:03 +0000
Received: from DUZPR83CU001.outbound.protection.outlook.com
 (mail-northeuropeazlp170120005.outbound.protection.outlook.com
 [2a01:111:f403:c200::5])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c1a16493-a52d-11f0-9809-7dc792cee155;
 Thu, 09 Oct 2025 18:33:59 +0200 (CEST)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by PAXPR03MB8251.eurprd03.prod.outlook.com (2603:10a6:102:23d::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.10; Thu, 9 Oct
 2025 16:33:56 +0000
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593]) by AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593%3]) with mapi id 15.20.9203.007; Thu, 9 Oct 2025
 16:33:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c1a16493-a52d-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=d1XkAsj1ubDCdtfGjsjzWk02VMHrbOibNKJ0IYK0ivbKdenWiLxqszoWdGXlPT8RMotrbd7WP/3NvkYHuatwPYtlsFgZ5USagThnYoGE5pmEnbZvL4GExocPxfw/ByWJRTSB1tPVc8VFJChbEFa46F+W+8Pfck3d0nHwZ4tp4dJgUO3T7HghkemAYlYFqFKitYBqomvtCU/GUMcwA75ouYQoWr4BhwY8Div1pdtqS+FMoUs+hQez2zQNPmuoBjBD3YLdge+P3iq66LGW8r5FyJVLToQdsEOnWpG8kaWpOhT1CNCej39X2LwSHx69Hcij9PzTR27qVPsoMbIAjLyHlA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=H8hUAPdMt8LeEXvyjXzf+ru/B10BfoHbRgXUTt7HCbM=;
 b=exK6r8GNgYGXlUnXER4DmRcNrnjs7iyVYs94FtrnLPZGDlgSFj1Rd720BvPjzmP6xEBQ5AIEUlovyfhRriwpfAQLAMxRvCkKuoKf6jLfUZgpZeUf34O+qag84vHzUz9KeaywdmMWSEB7PPaxZZW8iTEdO6q3nAkpf4lZX7I2OeFWzCzvhXzSWe4n5ngpyAA78gFgB1Dt2MMdaTeC3Tv2cP+T1FXDnfoC+17ZukFtoTwx6EILoyIyPu/BwJwgnK0Y+VaLzCB+USAJJL/39ak/iv1jk5/+wwTcGTE7thQjGKUmtZj40iXpOOnBl4sGtzq4SnDI7ps5BufbAgH8MQ5OlA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=H8hUAPdMt8LeEXvyjXzf+ru/B10BfoHbRgXUTt7HCbM=;
 b=kgkNst5SBQjQsSYP0uCCg3NTOzmsrxq1S6uXOtKkfdXiALpYieb6IHSkiwabYI2xkmNDKj1MUEtGxi5L2P5J+M7S91e+FK+wnca6dFu96iQFDJSdGYMG6BhexI3F5XttvzB4CVdoPJ0ESAzNBJwRz6rDfUDw/Lfh2EKiS1FQIPTUtv7EE/WXaRGUsZtSldAaNZdDIrCvMn+aaGNQ4rQIWtiOE7gDV24Dks93TYRlaeeHPes4T/ldyAp8p5/D+VbIH9Usw2wf7DMOlCM57oyzjH3TssjlFNZdjmXgRedO2jRR8PaRxi6yop1692PTG6t/ClPuc5H3nHvDO7/vmSXArw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <cb76b42b-e686-4b70-a831-65ec69985a8a@epam.com>
Date: Thu, 9 Oct 2025 19:33:55 +0300
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5] x86: make Viridian support optional
To: Jan Beulich <jbeulich@suse.com>
Cc: Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Paul Durrant <paul@xen.org>,
 Alejandro Vallejo <alejandro.garciavallejo@amd.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20250930125215.1087214-1-grygorii_strashko@epam.com>
 <3e4e4bc5-aa47-4357-9327-df2a9b9c9a1b@suse.com>
Content-Language: en-US
From: Grygorii Strashko <grygorii_strashko@epam.com>
In-Reply-To: <3e4e4bc5-aa47-4357-9327-df2a9b9c9a1b@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0043.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::15) To AS2PR03MB8907.eurprd03.prod.outlook.com
 (2603:10a6:20b:5e4::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS2PR03MB8907:EE_|PAXPR03MB8251:EE_
X-MS-Office365-Filtering-Correlation-Id: 449b8e68-88d6-482c-be89-08de0751a474
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?aFhOMEJPU0lRLzlmc1dvOHJQZU5XSkpTQXVNbDYzaWQrbWdiU0tOMjYzTjV4?=
 =?utf-8?B?SFpLczc4eVdrN0lnZHdrcWZHNEN0SjIycG9IMjdWb29oaWIrYUlLWWZqdVIx?=
 =?utf-8?B?ZDdDRGV2bkJkTGN0Wko3dkljUmtPei9WOUcxUlA1cG1idldXMlVyUzRwMWZZ?=
 =?utf-8?B?ZXZRWEJEeURrdUJPVU1nWEhBWkRUdlozRWJtdWkxUDFWMTUvUDR1VEgwYlZK?=
 =?utf-8?B?Y3MxTjRkelBPTHprWUQ5WFlMVlM2S1pJcXpNSXE2aDI4cEFjdEtSQXJrZmRS?=
 =?utf-8?B?bkFRc2R1MGpOZEdxUEVFWFNoQ0FhV3c1cUNDTlM5WjJuMDh6VkJ6WEFjVnNI?=
 =?utf-8?B?UUZkVzJQSy81bEtMTUtKUThrZm0ydjJGMkd1RHJCKzZMbHpBM0xmY040cFFT?=
 =?utf-8?B?djJseUhDdVJIZko4Skl6U0h4NVZhVHlqb21vUk5uN0pmbmNBOHJ1MHFpQ08z?=
 =?utf-8?B?YmhPV0ptVjc0enl0RVdwMVFmRFFXclcwRWUxc1RkY2dRQ2VhTktFTzNVWm56?=
 =?utf-8?B?UGtEbG01ZS9EYTE3bTB6K1UwRnlER2NUeUpKYTdWTUJpdnc3bXZXWUkwSENG?=
 =?utf-8?B?cWxqOTJTM2owNCt4eGE5eW5SbGtxWDcyMFd1M0tpOEQwMnZ2OVFUdHM0NWoz?=
 =?utf-8?B?Q1dmMTduT1AwQ3Byb1hrenBscDdyeE5wVG9DeUwvbGhWdVhXeE1tVWQwT3Y0?=
 =?utf-8?B?bmNxZEowc2JLWURuK3F0SkEwNmNRbDdSVmJUYlF0N1RCYm5RdzEwVFJXcHBZ?=
 =?utf-8?B?VkxJdlBFOG14d2RYUUVLUmcrOTlnUTZJb0FMTkRSQURRa0ZkcmNNdkc1VTlV?=
 =?utf-8?B?ejV4OGQzRmZOWDRmQU1vZWo2b0xoVHVHS3psQU1rdFE3YjcrZjZLNk5HeFVO?=
 =?utf-8?B?dzRVOG1IWmhTN092YWFnUTJGVVdpWjk2bVhIaUV6ckRUSHRZeHEzM0FHeXNi?=
 =?utf-8?B?ODYyTzJRSFFGM1JNU1pXZHRhbHhQcTNjSitBL09Sd08razA4Z1c2NjBVVnc5?=
 =?utf-8?B?ckl1bXJxcThZU2IvM0FGck1oL0NDcy9VdzhnY0U5eVBzUDQydWx5cm1USWVy?=
 =?utf-8?B?Z1hEdForeUJhYlNHQzgvNnpRa3lzL0ZSRnBSS1UrTVlxTDJ1TnZoLzI5ZENF?=
 =?utf-8?B?bW1hcWRGSzJBaU5mZ1BoMlk2MWtxVUtHUGtHMG5OaVI4dnRYWDJaK3ZhR0Fy?=
 =?utf-8?B?NjNkdHhNYWlvSi9EbFMwY2J2NjB5Zzh6elVRNEVMMEczclZmUXZoS3pxNlNw?=
 =?utf-8?B?RXA2Mk9TY2YyaFZxTVFGRnpsc1lXM3JvZzJ5MzVKQXYvNWk2R3JHY1pSbklt?=
 =?utf-8?B?ZGt5cHdTcHNpb0d0L25ldGJTcUNkNjFpeEJodTZ4NXJPeXRZeU1BZHlGeEcw?=
 =?utf-8?B?dUdSNUFUNjRxdVJTK1VUQzRDQSszSXRWekt5MW1icEVNaEErWnMrbUlOWDdk?=
 =?utf-8?B?aWpvMnVHWU10d0Z3Rzdua256OWxHVS9MZFJwbitGZjAzd3NZeWF0TklPWFFx?=
 =?utf-8?B?RjVhUFR0U2xIS0J5ZnlDWDhOTitzcFZWdWE2VHBCdWhzWmJFNGN4V3RCeFJK?=
 =?utf-8?B?d0FZcUJFQjJtcVlOZlBnR0xvL2R3dWExcGw2L0lZcnRMc1h3TFlhOU0zWDlx?=
 =?utf-8?B?NENKVXF2ZGM0RkZ1N3NySjVYcy90TnlZVi96ckErUmN2b3VJZGZSREpDQmZt?=
 =?utf-8?B?bDdEeVUrdTh5dS84MmJJV2hPejd6akcvQ2RZNFl2YkVLS2IrZlk2UFVVUytO?=
 =?utf-8?B?WklSaE9pZUl4cE5aYmVPZEpNZlE1cFJlVjF6QTQ4Zi92bEhvWDRxakVROGNW?=
 =?utf-8?B?N1djVWdsZlgzZG9iVWR1MU5temNFZjl1NkV0Wm9zSzVRYmZOeXVOaTh5dnAw?=
 =?utf-8?B?NTEyaVZweDBOSHlkM2xpRk0rQkVET1VkSVJ0OW9qS2crTlE9PQ==?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS2PR03MB8907.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?b1FyZWltT2NzRE5weVRuRzNIYWhsM2VNK0JqK2dubW1HbHlaM0ZuK1NUVFpp?=
 =?utf-8?B?UkNHZW8xVWREZVYyQnhxMTVSQlVjTFQxRUtzZjVoajhGdU54aGRCU2ZVS2kw?=
 =?utf-8?B?d1ZOWlhmV2tWZGdZU0dGRHBic2N2RmUzZTBWZHcrYkxucUxTYkhtWVFUUUtp?=
 =?utf-8?B?Uk9wRWlVcVpJR0VTRGJqdldGK2YwcEFtMWNESzFQdUpML09FUG5ZZTVXTkxy?=
 =?utf-8?B?TzRXdFM3eDlocjBoSE9SKzNjSnJzZlNOL3c1ay9QSk01V3VHaTB5bEFwV3M5?=
 =?utf-8?B?eGJ5NnZGWmc0ZlZXMlR0ZVRrVEpwb1YxdUVyaDl6VXVJU3o1aG5KQmFGZm5C?=
 =?utf-8?B?TmlYUTZTeFZiS0xvZTd3aVRnd21kTTNoWGdZeks4dmk3U1UxNmRWS0Z2RCtl?=
 =?utf-8?B?Z1VLVUN3Z3R4UlRGMERvZ2owajFHRkFRUXdKbTdMck40ZW1Ya3Z6a1d3RzBV?=
 =?utf-8?B?aHptOW51Q0dMWHV1a2NkZ0o0OFFUUjgrNmE5akxNWUYzaFJ0VVp0aFlYRVpY?=
 =?utf-8?B?V3pCc2haMjRYUkR1am5LTXhwOTI3bnZlWmdyNldlZGswZWJJaTlIcmhSU2JB?=
 =?utf-8?B?bUhtTi9uRllLSklweFJIUnk2S2ptdThSL01DTXhjT3ltVUhGSlVmWGtkSmtY?=
 =?utf-8?B?L1NxQTliUHRLR2RYcXN6REhnbXE0UVl1ZHA2UmRLTE5jTG05YjRzWkxoQUJU?=
 =?utf-8?B?M3VnNXpZVkFBQnFmL2laM2hlQll2TE43Nno4Tzh2UDhkOWRlSzdtNnFJWGtV?=
 =?utf-8?B?N0U1Ty85WFpCc1daL3IySWF0dU55UjFtbGdDenhwUms1TkZnclArdndKVnRx?=
 =?utf-8?B?NEJoSi9yR1psejF2a2tLNFd5dmhVWXhHOVNaMlQxeis2U1AzV1BuQjk0R00w?=
 =?utf-8?B?OWRtUXRwb1Z1c2NEeFl1aG91aGwzbHRFdlJlZVpkRVdKRHIza0ZJcVRuN2JG?=
 =?utf-8?B?RnVPMjB1R0VCR1pTVFM5blVic3ROcFYwcllNVkZUN2x2T3ZuaFByM0pmUFdy?=
 =?utf-8?B?V0QrT1YrMDY4WFJsR1U1QVJsUzVuVVdtSkNDUjl0M3FVRHlIZ3g3bkJUVlBz?=
 =?utf-8?B?SjEveVFFYWZLN09sZHZRUFNrNlE3NlYwUlFJa3I3U2k2dEtvRUxVcm9wbjVM?=
 =?utf-8?B?QVpkamFTbldIYXBQa0VWbVVWL0lqMmFUY0pyeDh1Y09oMkhTN1Y5TzNCQUxC?=
 =?utf-8?B?aUJQMXpPZloyMkRTZ2Z3RVh3cWMydGYxcGgxbzZjZTIyci9VZm9YRmx2aXA0?=
 =?utf-8?B?K1pEU0pRTHJQYmkrSEh3cG1KT3AyMzNIYys4V2dON2UxSG9uUzBpbW5lb2R3?=
 =?utf-8?B?L2F5eVUxYVBpM2xkb014MUc4Q0xmSGh2MzMvTmREWmdHNW02RWZQZy9mRFdY?=
 =?utf-8?B?M0xCRHhtUDdjKy9CTFQyNWVJQlA4blRoS3h6SU1nNXNVSlczam9tOWl5UklK?=
 =?utf-8?B?am1tTHlKSW96dE1DN0dCUm85MUJWcE45Rk04NGhHMXM3VUJJMXlMVzZSaC9P?=
 =?utf-8?B?UzlJV0R3R1A0NE5RSjJPVFMxVTQzb3QvU3N4ckVyVzg0MkRFYlNoTnlvcXBp?=
 =?utf-8?B?Q3Q1TG9qWGhjczEwNDRha0k4cGZoS01TWWNYTjhyVVNnUkM3Q0NCR1ZYTTVZ?=
 =?utf-8?B?VXozZEhjK29oU0hxb2FGTWtDaHBKdStHOUNCVTJMb1pGSFQyNUdIY0lEZDBt?=
 =?utf-8?B?UW5ZbEJTT0FvUkZLTmhQb1J6aUxKOEFhRzZrVUtOZjUyaURFV0dtakxmZUR0?=
 =?utf-8?B?VHpTSTB1RXhJTHdvS2JaRTJMTXQ3VlMwQ0JISFc3VmRaMExqVWRmU0hkZ1Y3?=
 =?utf-8?B?eHVZdlIrbjdsWVlrWHBKTlRpYk1kLzl6TjNPVUpUd1p4djVDSWx3VVNsRjdD?=
 =?utf-8?B?MFg1MEI5MEFaRDhkL2FBZklJUG5MZHdEcjFPanc2WTArSFJETmpHK1ZwbDM3?=
 =?utf-8?B?alRQVVA2YVA1TUJNTEUydWlmVzZTb0ZlRGJwZHR0STFRVlMzU3FocTFUK01G?=
 =?utf-8?B?Wk1zS2hPUHZXNm5QdUJEYStUOENCalpGM09ENHlIeHk5UEc1VmJ3YTBiZmNp?=
 =?utf-8?B?UENGMHFHWUhmZzdwYmh0Y1lTbXF5cFJwNzZCMlViQjEzb1AxcENVUEVPc2xq?=
 =?utf-8?B?SDZWd1lNS1VaalpZZDVwWnpYSGsxZUV2enh1ZkxlVjA5aWhJRkdESnZ4N2Jq?=
 =?utf-8?B?QVE9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 449b8e68-88d6-482c-be89-08de0751a474
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Oct 2025 16:33:56.7420
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: vw8ntQv5Crj+YghNh/Rq6onDtc1K85TId/RoSetZh5z1OP4ZtKdJ2KtWaCidYDEC2zh2UO2u1OINte0M3Kseh20zs2gXX64VdmX7slvvLsA=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR03MB8251



On 08.10.25 19:04, Jan Beulich wrote:
> On 30.09.2025 14:52, Grygorii Strashko wrote:
>> --- a/xen/arch/x86/hvm/Kconfig
>> +++ b/xen/arch/x86/hvm/Kconfig
>> @@ -62,6 +62,16 @@ config ALTP2M
>>   
>>   	  If unsure, stay with defaults.
>>   
>> +config VIRIDIAN
>> +	bool "Hyper-V enlightenments for guests" if EXPERT
>> +	default y
>> +	help
>> +	  Support optimizations for Hyper-V guests such as faster hypercalls,
>> +	  efficient timer and interrupt handling, and enhanced paravirtualized
>> +	  I/O. This is to improve performance and compatibility of Windows VMs.
> 
> What is "paravirtualized I/O" about in this context?

It was phrased this way and agreed upon from the very beginning [1]

[1] https://patchwork.kernel.org/project/xen-devel/patch/20250317071919.3766976-1-Sergiy_Kibrik@epam.com/#26305207

> 
>> --- a/xen/arch/x86/hvm/hvm.c
>> +++ b/xen/arch/x86/hvm/hvm.c
>> @@ -701,9 +701,12 @@ int hvm_domain_initialise(struct domain *d,
>>       if ( hvm_tsc_scaling_supported )
>>           d->arch.hvm.tsc_scaling_ratio = hvm_default_tsc_scaling_ratio;
>>   
>> -    rc = viridian_domain_init(d);
>> -    if ( rc )
>> -        goto fail2;
>> +    if ( is_viridian_domain(d) )
>> +    {
>> +        rc = viridian_domain_init(d);
>> +        if ( rc )
>> +            goto fail2;
>> +    }
> 
> While this looks okay to me, ...
> 
>> @@ -739,7 +742,8 @@ void hvm_domain_relinquish_resources(struct domain *d)
>>       if ( hvm_funcs.nhvm_domain_relinquish_resources )
>>           alternative_vcall(hvm_funcs.nhvm_domain_relinquish_resources, d);
>>   
>> -    viridian_domain_deinit(d);
>> +    if ( is_viridian_domain(d) )
>> +        viridian_domain_deinit(d);
> 
> ... I wonder if viridian_{domain,vcpu}_deinit() better wouldn't be tolerant
> to be called anyway, thus avoiding the need for conditionals here and below
> (and perhaps being a little more robust overall). Thoughts?

I think There are no limits for perfection. But at some point - need to stop.

Hence Viridian code will be removed from build when !VIRIDIAN - changing above code will
require to add stubs for viridian_{domain,vcpu}_deinit().

FYI: Xen pipeline for this patch
https://gitlab.com/xen-project/people/dimaprkp4k/xen/-/pipelines/2090362213

-- 
Best regards,
-grygorii



From xen-devel-bounces@lists.xenproject.org Fri Oct 10 05:22:50 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Oct 2025 05:22:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1140947.1475587 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v75aM-0007Un-K1; Fri, 10 Oct 2025 05:22:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1140947.1475587; Fri, 10 Oct 2025 05:22:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v75aM-0007UY-EQ; Fri, 10 Oct 2025 05:22:34 +0000
Received: by outflank-mailman (input) for mailman id 1140947;
 Fri, 10 Oct 2025 05:22:33 +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 <SRS0=GA0H=4T=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v75aL-0007US-7Z
 for xen-devel@lists.xenproject.org; Fri, 10 Oct 2025 05:22:33 +0000
Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com
 [2a00:1450:4864:20::42e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1e644fef-a599-11f0-9809-7dc792cee155;
 Fri, 10 Oct 2025 07:22:30 +0200 (CEST)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-3f0ae439bc3so818547f8f.1
 for <xen-devel@lists.xenproject.org>; Thu, 09 Oct 2025 22:22:30 -0700 (PDT)
Received: from ?IPV6:2003:ca:b74b:a84d:5516:3900:45b8:340e?
 (p200300cab74ba84d5516390045b8340e.dip0.t-ipconnect.de.
 [2003:ca:b74b:a84d:5516:3900:45b8:340e])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-426ce5cfe69sm2352230f8f.32.2025.10.09.22.22.29
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 09 Oct 2025 22:22:29 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1e644fef-a599-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760073750; x=1760678550; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=V59PUIm9fMynxywSfaBMLtTyItWqyl02NOfiCCvnsUQ=;
        b=Bj3MaP7KQolZigU0kPUDmZ2cMAGyr2kBXTsgT1CXCmQ2jqG5D6on95AxxYRf1XWpWV
         2wM9mrVFR7slNLKWb/wyftmOA3yga6rkBn+V3+933c4IR7goAvXmHTZC+Cntm8rdUOr9
         Wx/w5g94ULpTicw6JxjRhojiX+2CqyDZUw8tb738kAoBcuxqLxnvrK8OtHUg8PAagXe8
         AiHe06nZHxpDmasxc+Rug5LMDFKFgDqSq3TYyKh0FuOrFF9hIct0bHobJs1nqwTT9p80
         b+SuXL+BAcfzJ7hyVjNKrY5eVJEOPPe5XNXfIwGN7dHJbj0+fCEDu6WPjL7NDR6s/HNO
         ADWg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760073750; x=1760678550;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=V59PUIm9fMynxywSfaBMLtTyItWqyl02NOfiCCvnsUQ=;
        b=AnFYnWcx1xUnEJxInCX20xxmZ30Ns8UQAxKr+ynv9/xK2G1lFdKVb4FPaBnjTQQtnN
         h1kMsyclDFj7EZHbNKpjxM2YqvPBUQgdhKdfbTbTilDxPQ5rXuh8BaW8rK8JcOVxm3I7
         sC1J5tFgyvX3xmLlB/vD8q+G2MGkXr2L43fXTI6p3HE4Ux9LIW5z2uuZJzWcccMFWx4C
         99EmmNdaubplTolRHI/qzw0S41EST4qnlzrpKaC72QjlFLqDVv/xaag8tyZbWxRmSq2I
         mgEXujGIMZhrDiVa3s/mTEmmJO+7pdT93aEw2i/fZNS0HP4VR0BJmnmTanjYZjfSoCkA
         OvUw==
X-Forwarded-Encrypted: i=1; AJvYcCWDb/ntn95OffwKT1a4HhNdchyvT8nC9owj1KVjhzBt98j0HP1/+24apooe6ao+4SZcXuewxnOGsC4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxDPHysMBamjLNLbwLk5XEHquRE3e0mkgfEYcZ/6CwuQGiIDfq1
	qFtEy9+5Z4wFUQSs4mtYq/rAt7deOLSfMOGfyb0clqpjj0JWqdDZXmoGsN2Dhmczjg==
X-Gm-Gg: ASbGncsW9hNjQwoKawaMcsvbJA7RhIRKqHTG/bPZqWqXFOnB5zH24kZoRCEQgYP23nP
	B5yrWnMOnT0oXfU+daHthkHuZkk/bkEKi05UtQocy3rLkf/jWGNFFx7+kEp+WA/bY0tXiJvJT8g
	2MqJf05oVdRYRu/YEsj2ZTU1kU03os7k+rrbLVkpm1YVCBzLhxn0R9sZoWgH6tr2+EgJGc5kp+c
	fB5b0ry/iNpL+OQKg/o71JKYRQr4wnpdAidZ0M62E5WCkT1yDJ71fwxqMWeY3ydyHSbCpAzbO9x
	gqvloavK+dqsQV96YUOcOwZpi9GNLcriXnKFn2kzS678Wz19FmMfYbAIijSNHTW41b6QZGOcIpO
	CwCncJmJ0L7brRKNm29A3Adg8qt7i1QTc11zcw/erHXFBxFvqzqsk6qqd7zoEz4qjqJj/Ft5S/n
	JVoAz/dXYSIQbMVt/J4coMr0/G4SDq1riA3asA7I5PCN63/Lx0ysDqzW3omJO8wWY6IiBu6IXVl
	2BQTgRzueGLqA==
X-Google-Smtp-Source: AGHT+IHXzTvQxO24/HulUxqKLDknNMWhAuJfape3kmtLevXo/nKMx54FqAkuCwKkaV7tirpDiOHh6Q==
X-Received: by 2002:a05:6000:40dc:b0:3ce:f0a5:d594 with SMTP id ffacd0b85a97d-42666ab297amr6346460f8f.13.1760073750262;
        Thu, 09 Oct 2025 22:22:30 -0700 (PDT)
Message-ID: <1c18a7ff-9cf0-42d9-9817-c64fd6b7688d@suse.com>
Date: Fri, 10 Oct 2025 07:22:27 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5] x86: make Viridian support optional
To: Grygorii Strashko <grygorii_strashko@epam.com>
Cc: Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Paul Durrant <paul@xen.org>,
 Alejandro Vallejo <alejandro.garciavallejo@amd.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20250930125215.1087214-1-grygorii_strashko@epam.com>
 <3e4e4bc5-aa47-4357-9327-df2a9b9c9a1b@suse.com>
 <cb76b42b-e686-4b70-a831-65ec69985a8a@epam.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <cb76b42b-e686-4b70-a831-65ec69985a8a@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 09.10.2025 18:33, Grygorii Strashko wrote:
> On 08.10.25 19:04, Jan Beulich wrote:
>> On 30.09.2025 14:52, Grygorii Strashko wrote:
>>> --- a/xen/arch/x86/hvm/Kconfig
>>> +++ b/xen/arch/x86/hvm/Kconfig
>>> @@ -62,6 +62,16 @@ config ALTP2M
>>> Â  Â Â Â Â Â Â Â  If unsure, stay with defaults.
>>> Â  +config VIRIDIAN
>>> +Â Â Â  bool "Hyper-V enlightenments for guests" if EXPERT
>>> +Â Â Â  default y
>>> +Â Â Â  help
>>> +Â Â Â Â Â  Support optimizations for Hyper-V guests such as faster hypercalls,
>>> +Â Â Â Â Â  efficient timer and interrupt handling, and enhanced paravirtualized
>>> +Â Â Â Â Â  I/O. This is to improve performance and compatibility of Windows VMs.
>>
>> What is "paravirtualized I/O" about in this context?
> 
> It was phrased this way and agreed upon from the very beginning [1]
> 
> [1] https://patchwork.kernel.org/project/xen-devel/patch/20250317071919.3766976-1-Sergiy_Kibrik@epam.com/#26305207

Hmm, I'm not sure I would call this "agreed upon". Plus this doesn't answer
my question.

>>> --- a/xen/arch/x86/hvm/hvm.c
>>> +++ b/xen/arch/x86/hvm/hvm.c
>>> @@ -701,9 +701,12 @@ int hvm_domain_initialise(struct domain *d,
>>> Â Â Â Â Â  if ( hvm_tsc_scaling_supported )
>>> Â Â Â Â Â Â Â Â Â  d->arch.hvm.tsc_scaling_ratio = hvm_default_tsc_scaling_ratio;
>>> Â  -Â Â Â  rc = viridian_domain_init(d);
>>> -Â Â Â  if ( rc )
>>> -Â Â Â Â Â Â Â  goto fail2;
>>> +Â Â Â  if ( is_viridian_domain(d) )
>>> +Â Â Â  {
>>> +Â Â Â Â Â Â Â  rc = viridian_domain_init(d);
>>> +Â Â Â Â Â Â Â  if ( rc )
>>> +Â Â Â Â Â Â Â Â Â Â Â  goto fail2;
>>> +Â Â Â  }
>>
>> While this looks okay to me, ...
>>
>>> @@ -739,7 +742,8 @@ void hvm_domain_relinquish_resources(struct domain *d)
>>> Â Â Â Â Â  if ( hvm_funcs.nhvm_domain_relinquish_resources )
>>> Â Â Â Â Â Â Â Â Â  alternative_vcall(hvm_funcs.nhvm_domain_relinquish_resources, d);
>>> Â  -Â Â Â  viridian_domain_deinit(d);
>>> +Â Â Â  if ( is_viridian_domain(d) )
>>> +Â Â Â Â Â Â Â  viridian_domain_deinit(d);
>>
>> ... I wonder if viridian_{domain,vcpu}_deinit() better wouldn't be tolerant
>> to be called anyway, thus avoiding the need for conditionals here and below
>> (and perhaps being a little more robust overall). Thoughts?
> 
> I think There are no limits for perfection. But at some point - need to stop.
> 
> Hence Viridian code will be removed from build when !VIRIDIAN - changing above code will
> require to add stubs for viridian_{domain,vcpu}_deinit().

Fair point.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Oct 10 05:32:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Oct 2025 05:32:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1140960.1475596 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v75jy-0000iU-Cu; Fri, 10 Oct 2025 05:32:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1140960.1475596; Fri, 10 Oct 2025 05:32:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v75jy-0000iN-AJ; Fri, 10 Oct 2025 05:32:30 +0000
Received: by outflank-mailman (input) for mailman id 1140960;
 Fri, 10 Oct 2025 05:32:28 +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 <SRS0=GA0H=4T=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v75jw-0000iH-Rt
 for xen-devel@lists.xenproject.org; Fri, 10 Oct 2025 05:32:28 +0000
Received: from mail-wr1-x432.google.com (mail-wr1-x432.google.com
 [2a00:1450:4864:20::432])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 81dbe9c1-a59a-11f0-9d15-b5c5bf9af7f9;
 Fri, 10 Oct 2025 07:32:27 +0200 (CEST)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-3f2cf786abeso1461952f8f.3
 for <xen-devel@lists.xenproject.org>; Thu, 09 Oct 2025 22:32:27 -0700 (PDT)
Received: from ?IPV6:2003:ca:b74b:a84d:5516:3900:45b8:340e?
 (p200300cab74ba84d5516390045b8340e.dip0.t-ipconnect.de.
 [2003:ca:b74b:a84d:5516:3900:45b8:340e])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-426ce5e0a03sm2298977f8f.37.2025.10.09.22.32.25
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 09 Oct 2025 22:32:26 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 81dbe9c1-a59a-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760074346; x=1760679146; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=yhBsvNpa2DehMZyFpLlWZXZfQZmOhiCse3L/IQd4yPU=;
        b=POLfhoATsiVXBYewILQ3mGIniA+DaDuTblXHTdv3yTbnGbPwrEweFM84AZDd1HB4Yy
         o/ptID14SbyqfT27D9WR6NMveoUaKADsLbcp762p/5kxaMy/5Pd5JHfA5Pf7LxnED/P0
         c3J//1SumzYpJU0Mak1Cfgt9OsU/DTPwbtFgNIXw+9A/HG7ZuEOxoNrXbFD18I2xOMS6
         hSO5DzdVdz7nuVNuISh4mby7O98WPr871Li/9Y3wvdeFEVoXggOcQY5hdSeUZPcdn9+M
         M8ebKOLILTx3tYJoQfFtj3z/ux6tAikAzPW3FCl0poeWQ/OOqLHJrVfw2F4SkWCT0kAD
         Z6hw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760074346; x=1760679146;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=yhBsvNpa2DehMZyFpLlWZXZfQZmOhiCse3L/IQd4yPU=;
        b=L9lB/qFWKBFMokGiInDXteEYc/Ot5oVeyQ/TLCQFGuvyjOHcuVSJiDO8pSwRUyXp+x
         acF0W1d7QVT5KOpqdDZN/YFfat9QEihJ+QRKCxU1W5x1J62Jq3hiVPFrJjjaufTAmwlF
         l7WJ+wSyzQL7qAyirz6X4SIFhvH6Q2iqmKcWj5qJVdCT8s/mKr6lSPLw2JJdZn48pMU2
         jOBdFviIruR1nooBo7RoqSoVmhqMoZ7uugUEi7E3Rn0Und8lew7NDDYzhU8kaMpAlOLl
         9asldSsQ/CAm36zm0LmTmkCfp2HJTPSZ6pXW1kWbDBdD3xDkNPDDo4gNPXqQxQlg8FME
         88nQ==
X-Forwarded-Encrypted: i=1; AJvYcCV5cUt69xeqI8H3tOR9CUfMYY3fl2jl19z8AaSD+opKpj76/DHt9P+/wGB5HbwX9rv+vYdRC+eeVOk=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz4gj06g+/A6kAHziFLzWxqjIvw/zZEBcZWCZiJp66VWITUyjB0
	W102ZAgt1HwoVUmuy9+puZWj+lU+XHhbMj1SVBgz6SJN5qvG/a7dZD77DfjIEzUqRQ==
X-Gm-Gg: ASbGncs19NSuXZ2mVsLeWQVQl15vhbHIlYDsgY4+bHvJVDOpYqzu1oc1mI0tFf8Plkd
	+pwXQhf8Ns7TSRZ4oWIOMZ9a10TUwrJSueBn/Ic/uUDQxbvyyJ1rM/4N3rU626U5m6C7gAMK9Sn
	8Z5V0sH7LqYrTaYw/SSnMCtQs63CbjeCa2hw52+pVYaeYYuUUaZ3QUBPHCaFKozsohs0DWvEYSC
	/7e0pAtUc+kVLCHHv66jzIqCyegLIn4ZPTXEnRY6viK3WKG7LOe8wDs30kQBbOFwojeNg1nyM98
	hxqHI39pGpMFSUGoBP0oJakMnGe9cLQAkPfIEUH1r3UQ7iyaCuisSTryLtHt6rzZoXgqRVNi+uV
	Oyaxe0pNhH7T/Q/65MKJsi2q9YF1aZuR/detsnNH+4V6osybHzWTbBWC54QxwaptApPZ1rzDLIJ
	R93TADZIMOecOWWrk7IOqbxwtp1y8pYZIgFp23+LbA83rQNlwERm4yNavEHGL1uAYP0WsUtT3CQ
	g8=
X-Google-Smtp-Source: AGHT+IHTfRr+z6wjsrMt+jpRSblrLM01SFm+puA4of9UmzhweZA+V0XYp7ttJre+KLdyejR6c6R6tA==
X-Received: by 2002:a05:6000:4308:b0:3ee:3dce:f672 with SMTP id ffacd0b85a97d-42666ac625emr5727195f8f.4.1760074346536;
        Thu, 09 Oct 2025 22:32:26 -0700 (PDT)
Message-ID: <afe1d9c5-f399-4b52-ad24-ec52aa755fbf@suse.com>
Date: Fri, 10 Oct 2025 07:32:24 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21??? 1/3] x86/vLAPIC: add indirection to LVT
 handling
To: Grygorii Strashko <grygorii_strashko@epam.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Andrew Cooper <amc96@srcf.net>, Oleksii Kurochko
 <oleksii.kurochko@gmail.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <265d5053-af61-42cb-a3b9-ef60df39c21b@suse.com>
 <dd6b46f8-76f7-46d3-b3be-083b58781f32@suse.com>
 <6a3494af-96a7-4092-a8fe-39aee85fc983@epam.com>
 <f5ae9852-4fa8-4441-9ad9-491e1d1143b9@suse.com>
 <a35ca989-e199-4072-bf73-c9d135f7c2e7@epam.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <a35ca989-e199-4072-bf73-c9d135f7c2e7@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 09.10.2025 18:16, Grygorii Strashko wrote:
> On 09.10.25 18:31, Jan Beulich wrote:
>> On 09.10.2025 16:56, Grygorii Strashko wrote:
>>> On 08.10.25 15:08, Jan Beulich wrote:
>>>> @@ -41,20 +50,21 @@
>>>> Â Â Â Â Â Â  (LVT_MASK | APIC_DM_MASK | APIC_INPUT_POLARITY |\
>>>> Â Â Â Â Â Â  APIC_LVT_REMOTE_IRR | APIC_LVT_LEVEL_TRIGGER)
>>>> Â Â  -static const unsigned int vlapic_lvt_mask[VLAPIC_LVT_NUM] =
>>>> +static const unsigned int lvt_valid[] =
>>>> Â Â  {
>>>> -Â Â Â Â  /* LVTT */
>>>> -Â Â Â Â  LVT_MASK | APIC_TIMER_MODE_MASK,
>>>> -Â Â Â Â  /* LVTTHMR */
>>>> -Â Â Â Â  LVT_MASK | APIC_DM_MASK,
>>>> -Â Â Â Â  /* LVTPC */
>>>> -Â Â Â Â  LVT_MASK | APIC_DM_MASK,
>>>> -Â Â Â Â  /* LVT0-1 */
>>>> -Â Â Â Â  LINT_MASK, LINT_MASK,
>>>> -Â Â Â Â  /* LVTERR */
>>>> -Â Â Â Â  LVT_MASK
>>>> +#define LVTT_VALIDÂ Â Â  (LVT_MASK | APIC_TIMER_MODE_MASK)
>>>> +#define LVTTHMR_VALID (LVT_MASK | APIC_DM_MASK)
>>>> +#define LVTPC_VALIDÂ Â  (LVT_MASK | APIC_DM_MASK)
>>>> +#define LVT0_VALIDÂ Â Â  LINT_MASK
>>>> +#define LVT1_VALIDÂ Â Â  LINT_MASK
>>>> +#define LVTERR_VALIDÂ  LVT_MASK
>>>> +#define LVT(which)Â Â Â  [LVT_BIAS(APIC_ ## which)] = which ## _VALID
>>>> +Â Â Â  LVTS
>>>> +#undef LVT
>>>> Â Â  };
>>>> Â Â  +#undef LVTS
>>>> +
>>>
>>> I know people have different coding style/approaches...
>>> But using self expanding macro-magic in this particular case is over-kill
>>> - it breaks grep (grep APIC_LVTT will not give all occurrences)
>>> - it complicates code analyzes and readability
>>> Â Â Â Â  - What is array size?
>>> Â Â Â Â  - Which array elements actually initialized?
>>> Â Â Â Â  - what is the actual element's values?
>>> - in this particular case - no benefits in terms of code lines.
>>>
>>> It might be reasonable if there would be few dozen of regs (or more),
>>> but there are only 6(7) and HW spec is old and stable.
>>>
>>> So could there just be:
>>> static const unsigned int lvt_reg[] = {
>>> Â Â  APIC_LVTT,
>>> Â Â  APIC_LVTTHMR
>>> Â Â  ...
>>>
>>> and
>>>
>>> static const unsigned int lvt_valid[] = {
>>> Â Â  [LVT_REG_IDX(APIC_LVTT)] = (LVT_MASK | APIC_TIMER_MODE_MASK),
>>> Â Â  [LVT_REG_IDX(APIC_LVTTHMR)] = (LVT_MASK | APIC_DM_MASK),
>>> Â Â  ..
>>>
>>> Just fast look at above code gives all info without need to parse all
>>> these recursive macro.
>>
>> And with no guarantee at all that the order of entries remains in sync
>> between all (two now, three later) uses.
> 
> The order in lvt_x_masks[] arrays are guaranteed by "[x] = y,".

Hmm, yes, sorry - not sure what I was thinking. What then remains is a
readability concern towards the longish lines you propose. I'll have to
think about it some more.

> Comparing or syncing lvt_reg[] array with with lvt_x_masks[]
> would not be exactly correct as they are used in a different way and
> have different sizes (after patch 3).
> 
> if somebody decide to add AMD Extended LVTs which have offsets 500-530h
> then lvt_x_masks[] will grow even more and will contain more unused wholes.

Yes, but (a) what do you do (of course a solution can be found, but
likely at the expense of adding yet another layer of indirection) and
(b) there are other (harder?) problems to be sorted for supporting
them.

>>>> Â Â  #define vlapic_lvtt_period(vlapic)Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  \
>>>> Â Â Â Â Â Â  ((vlapic_get_reg(vlapic, APIC_LVTT) & APIC_TIMER_MODE_MASK) \
>>>> Â Â Â Â Â Â Â  == APIC_TIMER_MODE_PERIODIC)
>>>> @@ -827,16 +837,16 @@ void vlapic_reg_write(struct vcpu *v, un
>>>> Â Â  Â Â Â Â Â Â Â Â Â Â  if ( !(val & APIC_SPIV_APIC_ENABLED) )
>>>> Â Â Â Â Â Â Â Â Â Â  {
>>>> -Â Â Â Â Â Â Â Â Â Â Â  int i;
>>>> +Â Â Â Â Â Â Â Â Â Â Â  unsigned int i,
>>>
>>> uint32_t?
>>>
>>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  nr = GET_APIC_MAXLVT(vlapic_get_reg(vlapic, APIC_LVR)) + 1;
>>>
>>> This deserves wrapper (may be static inline)
>>> Defining multiple vars on the same line makes code less readable as for me.
>>
>> I don't see multiple variables being defined on this line.
> 
> Â Â Â  unsigned int i;
> Â Â Â  unsigned int nr = GET_APIC_MAXLVT(vlapic_get_reg(vlapic, APIC_LVR)) + 1;

Hmm, I see now what you mean, but then my take is that your variant is
less readable (and too long a line afaict; once properly line-wrapped
it'll become more similar to what I had, I think).

Jan


From xen-devel-bounces@lists.xenproject.org Fri Oct 10 08:01:13 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Oct 2025 08:01:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1140998.1475607 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v783c-0001jX-Qz; Fri, 10 Oct 2025 08:00:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1140998.1475607; Fri, 10 Oct 2025 08:00:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v783c-0001jQ-Nr; Fri, 10 Oct 2025 08:00:56 +0000
Received: by outflank-mailman (input) for mailman id 1140998;
 Fri, 10 Oct 2025 08:00:55 +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
 <SRS0=93a2=4T=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1v783b-0001jK-6q
 for xen-devel@lists.xenproject.org; Fri, 10 Oct 2025 08:00:55 +0000
Received: from BN1PR04CU002.outbound.protection.outlook.com
 (mail-eastus2azlp170100001.outbound.protection.outlook.com
 [2a01:111:f403:c110::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3d6c39f5-a5af-11f0-9809-7dc792cee155;
 Fri, 10 Oct 2025 10:00:52 +0200 (CEST)
Received: from BL6PEPF00013DFC.NAMP222.PROD.OUTLOOK.COM
 (2603:10b6:22e:400:0:1001:0:21) by CH3PR12MB7763.namprd12.prod.outlook.com
 (2603:10b6:610:145::10) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.9; Fri, 10 Oct
 2025 08:00:47 +0000
Received: from MN1PEPF0000ECD4.namprd02.prod.outlook.com
 (2a01:111:f403:f902::3) by BL6PEPF00013DFC.outlook.office365.com
 (2603:1036:903:4::4) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9203.10 via Frontend Transport; Fri,
 10 Oct 2025 08:00:47 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 MN1PEPF0000ECD4.mail.protection.outlook.com (10.167.242.132) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9203.9 via Frontend Transport; Fri, 10 Oct 2025 08:00:46 +0000
Received: from cjq-desktop.amd.com (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Fri, 10 Oct
 2025 01:00:44 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3d6c39f5-a5af-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=KBH0aGdONFqZq2xeyGfG9SwRe822Y4MOEecIdym0B5RMn3aYD8PTvKzZfEP8dO4W5LVWRRm8O05Fr8bN4GE2hQVe1HKlrHrSc+/z1JJXhnYmRM8Ozr5c5psevTzIleqH27abQWme4HE2UITUaMO1kCmxj0mdLVg0mr6Qb4kyObaFYRxzWJaVix/dSI+iwoRswUKz/XSwrePQWZ6Do31UfolH6yEi5TIKTVa4CNi8Yx9C8fjoThO0qQ8Bek9fIXhmIRAcmI1PfjVvJHbZRJ1G3MF/zxr5nlvnhISMgCS2wNNJcW2uvWGWgTXuJatIiobU+TuA6AIx8es5voFTloDOLg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=I4X1/7P+8VcqxUR9Kb4zK033MtKsJ1/alb1zAlA3PB8=;
 b=uZMX3B0C6mfa/RvgmiAtOI3aRTekJwhC6m2iAi82Ls0/tuT3uM4gnQHIA9AVeaKm9Uut+DXMuHtSCIP+49OAxAMcrqjznMWdq14dnEbtq2N3OwwGhpmPQyqwTj+hY2j0q411dK+xhh1zdXLRsOzBde6hRN2S7hCEBJVoumJiXSYi0/ysKJR7Szd2Wv0qSGWX/tTO+r0okqMGV9jefT1LVJZQi470zrd1m2T5Yn/X307LRJujeue6VKxOLXsUF+IkIu/QNMioBI/oZXUuUThaAyTq1qdlAOVHWZzdyEptsVLwwxAM+fflumOJ+AagxTgiAiaW2PPDHL+jvvU8B4rqtg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=I4X1/7P+8VcqxUR9Kb4zK033MtKsJ1/alb1zAlA3PB8=;
 b=nrwdvg8ziSugw8OQLlTaP9AM+A5qOe3LBJXJisn9KYD3lDVb1OeAoMZ3jtWuH4gGX6S/gA1B7hgNn4iS9np07wYAE8PSaO2I9yuFOcaud7Ga/idHMF/N+tNR+nfgSW3XgAwAoA3IjdGT+gxYyEuVD12swnBx8AskqA1Gnfu9ebk=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Jiqian Chen <Jiqian.Chen@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Huang Rui <ray.huang@amd.com>, Jiqian Chen <Jiqian.Chen@amd.com>, "Anthony
 PERARD" <anthony.perard@vates.tech>, Juergen Gross <jgross@suse.com>,
	"Oleksii Kurochko" <oleksii.kurochko@gmail.com>
Subject: [PATCH 1/1] tools/libs/light: fix BAR memory address truncation
Date: Fri, 10 Oct 2025 16:00:29 +0800
Message-ID: <20251010080029.29328-1-Jiqian.Chen@amd.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MN1PEPF0000ECD4:EE_|CH3PR12MB7763:EE_
X-MS-Office365-Filtering-Correlation-Id: 41d247e4-2cf5-42c5-3e97-08de07d31ea7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|36860700013|82310400026|376014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?NYTYumR1jwongTuatuHMEZOzIdthHYWQHU4sudRDRffpcumOSozSSsKWwE/U?=
 =?us-ascii?Q?9wLHE6erqbjiFup1+PZr/WsIepLx+UfxKWFc871h+rMUA+LqMcicGU1oWYT8?=
 =?us-ascii?Q?CLD3gCqPjbn8TU1g9bldylG6+bk0nVfG/oOVzbPQO2iH+DpjmgilfDwuuBaH?=
 =?us-ascii?Q?YalBaAwOLU57phqcTVK7xqS0wGzuNs1USsPji6ZbOe8YDsimZ2L7djuQIVVG?=
 =?us-ascii?Q?Lxs15dEru1gyuQDQcVdBMCTKJUeo0z9JiKHCwLcM6sfvlfpfsHbeGlHcE37G?=
 =?us-ascii?Q?ODz33frGXfwRJWmwYxg/bwFKjOOQaBsjjVRWY3RiEb9NKWAT1t9Is5USUwlc?=
 =?us-ascii?Q?VThWgEndCgxGe4zX2K6DvhXyZOBfy2oBuUoiQGP2f+KrIyaH4NY8Tidiu+xx?=
 =?us-ascii?Q?Y4LSmx5mngwVZka+XD6loQDdxascrXjOmWNMHRqjzeTXuw2/pByCnn3/8cJ0?=
 =?us-ascii?Q?tfcpR2biBWrsHdiY5lAIUDsS2V/jWARnjWi5fpU/3WrDtSPcSOE8mSUXO8AT?=
 =?us-ascii?Q?74jdhFS81gJUYiBALIffi5JaKOwkaEyiyMz7CopfFRd7eps65VLoux+D2Z6j?=
 =?us-ascii?Q?/H7bHWg3YEdu1nLZiqdc+HbuNNQaRuIKULPeKWfu59BqPn6jQ0lnv9teNmZp?=
 =?us-ascii?Q?CwKBHs2hl9bxEslPHl+nZ5zzXHs1bbR8nRYL//LhZf8CwpkyecPJR7rckAlw?=
 =?us-ascii?Q?3Hyxpe6QcP86ez4Z70rWwv0NMqw5n7UWMPiMb3G3EcBeCKtG6cffnvfJQBBV?=
 =?us-ascii?Q?MuhJx/mc3mTAD4m9vxwCfjfW/JM5KY+xejCI+vIup2ac0nXNW0gjETs2X4Hb?=
 =?us-ascii?Q?FJxCKteCeKgKfKB88016cGUrM84ZYia6qjp370mt2XS/XeizI1VniWwIoom7?=
 =?us-ascii?Q?fGxKHUDRtKAnrw0lBLuUN7/42458QchSeR8H5KOO+590nww38n/BXek748S8?=
 =?us-ascii?Q?RWf13PQCA6oBida0QbgdR3vAg9PR4XN7dzd+kGvqqx8d0DhURCzyBu7xrC/t?=
 =?us-ascii?Q?31k9RAV0jI4igXtUmCWD/vgwUp0zVfGBdIMh6l6pLBe7k/KIhLGx6tTBHZj8?=
 =?us-ascii?Q?+V6DnxATKSyGY3LXPIaQOX07m7gSzgeFLIGpCrZWQ9TU4Y8Ob3ss4/YMiXhn?=
 =?us-ascii?Q?BSJNz9X0Z/kGN4HliiBl1gZxvakP/7yRB/zbzqwJXdfZMa37LYdluB2qcHv/?=
 =?us-ascii?Q?4JFNvzcJkbpN9Wmaq6RmATmi5T1OXYas+Ln654F5ptZ+VHYBlIlaD/flEfpA?=
 =?us-ascii?Q?YUI0Www6rm5pRtMCYl6LnEAOs+4yaWkDnIWVGKZWvRx/51Tdb9ElnS6ObnHP?=
 =?us-ascii?Q?ggoSz+o2YDVQXP6rkEjzrh0jzgyCplAUYbkWU4VRgEH6CFXV2xY7i9Jp9FnT?=
 =?us-ascii?Q?FZKsxj0F+oSltTln2SXOqlZ87KYfZUVdM94jMdpn19g65/jYGyLvvFAIxw2m?=
 =?us-ascii?Q?ABW2pux/I8KinszxS84FDrwGEu8NJGv0BHkEdjg1wPTxexQ3N1DPsIKyLihl?=
 =?us-ascii?Q?LV3/3cSN7k5vyCxhV3Q7ndM9cO/pC2kRrxYo4xsaiC2zB85ohlej2LGcVa01?=
 =?us-ascii?Q?ndqoCExJgIfWqsMKbOs=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700013)(82310400026)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Oct 2025 08:00:46.6483
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 41d247e4-2cf5-42c5-3e97-08de07d31ea7
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	MN1PEPF0000ECD4.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB7763

64-bit BAR memory address is truncated when removing a passthrough pci
device from guest since it uses "unsigned int".

So, change to use "unsigned long long" to fix this problem.

Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
---
cc: Anthony PERARD <anthony.perard@vates.tech>
cc: Juergen Gross <jgross@suse.com>
cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 tools/libs/light/libxl_pci.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/tools/libs/light/libxl_pci.c b/tools/libs/light/libxl_pci.c
index 2ea2caeb6624..88ffbbf08abe 100644
--- a/tools/libs/light/libxl_pci.c
+++ b/tools/libs/light/libxl_pci.c
@@ -2001,7 +2001,8 @@ static void pci_remove_detached(libxl__egc *egc,
 {
     STATE_AO_GC(prs->aodev->ao);
     libxl_ctx *ctx = libxl__gc_owner(gc);
-    unsigned int start = 0, end = 0, flags = 0, size = 0, irq = 0;
+    unsigned long long start = 0, end = 0, flags = 0, size = 0;
+    unsigned int irq = 0;
     int i, stubdomid = 0;
     const char *sysfs_path;
     FILE *f;
@@ -2031,7 +2032,7 @@ static void pci_remove_detached(libxl__egc *egc,
     }
 
     for (i = 0; i < PROC_PCI_NUM_RESOURCES; i++) {
-        if (fscanf(f, "0x%x 0x%x 0x%x\n", &start, &end, &flags) != 3)
+        if (fscanf(f, "0x%llx 0x%llx 0x%llx\n", &start, &end, &flags) != 3)
             continue;
         size = end - start + 1;
         if (start) {
@@ -2040,7 +2041,7 @@ static void pci_remove_detached(libxl__egc *egc,
                                                  size, 0);
                 if (rc < 0)
                     LOGED(ERROR, domid,
-                          "xc_domain_ioport_permission error 0x%x/0x%x",
+                          "xc_domain_ioport_permission error 0x%llx/0x%llx",
                           start,
                           size);
             } else {
@@ -2050,7 +2051,7 @@ static void pci_remove_detached(libxl__egc *egc,
                                                 0);
                 if (rc < 0)
                     LOGED(ERROR, domid,
-                          "xc_domain_iomem_permission error 0x%x/0x%x",
+                          "xc_domain_iomem_permission error 0x%llx/0x%llx",
                           start,
                           size);
             }
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Oct 10 08:19:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Oct 2025 08:19:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141021.1475617 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v78LK-0003eG-DG; Fri, 10 Oct 2025 08:19:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141021.1475617; Fri, 10 Oct 2025 08:19:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v78LK-0003e9-AR; Fri, 10 Oct 2025 08:19:14 +0000
Received: by outflank-mailman (input) for mailman id 1141021;
 Fri, 10 Oct 2025 08:19:13 +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 <SRS0=GA0H=4T=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v78LJ-0003e3-8b
 for xen-devel@lists.xenproject.org; Fri, 10 Oct 2025 08:19:13 +0000
Received: from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com
 [2a00:1450:4864:20::32c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cd0a29e5-a5b1-11f0-9d15-b5c5bf9af7f9;
 Fri, 10 Oct 2025 10:19:11 +0200 (CEST)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-46e2826d5c6so11456365e9.1
 for <xen-devel@lists.xenproject.org>; Fri, 10 Oct 2025 01:19:11 -0700 (PDT)
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-46fb482b9absm39128285e9.2.2025.10.10.01.19.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 10 Oct 2025 01:19:10 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cd0a29e5-a5b1-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760084351; x=1760689151; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=61k9FqBm2QIbYt/1eNTiPOZeVqhkkBonfFUAcQOoxhg=;
        b=FOXK/SLs7Y/ExwYVBtdp8deYLtDTeO2WdUWzUm/U2nJ2yzu3q9gr0goC448bElD3tu
         crZmHIY4M1Sf16a1EJ0ODQWlJNuemG8diM/ZxavbNrswt8bg4LxlomjEY+YB+4A4uScL
         35tU1/FwYrl8K815VdP2dEWzy2KKWzCXpt+6qOpbNsOk0/sbsLK7/eqmQeOQEthssBR+
         dnoCrTMcmH0/G/spk1ZTNalfgIod2dfjr6vkSfhcP0AJpavDhJtdoXWACHKB3BSqh0ZF
         JU8sQH74U6nm+LoSoyyEZiXsATYrlulADABvUu9jxwTxUSgJx7G54Fce1M9/hxs3AR5O
         Yj/A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760084351; x=1760689151;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=61k9FqBm2QIbYt/1eNTiPOZeVqhkkBonfFUAcQOoxhg=;
        b=IXMsOEgtRBSUzwHZC+xB4SSy18bsa9nRa9Drxx5ER1RDEvnTeitUhVYNvvpyTJ8NGp
         VfAvUaM7olSfrSJaOLhQpoy5dNIFd7KPNdFwext+3C+g6wQwg4c63C+i6GIduRVmrVFY
         pkqvZm6HDLEIWIVoAJz15c9bOeD9wSz+irrPp2Yhz0970do/RCJ/WWIXEvrnNniC0amP
         Pw74Bog1449KVum25OayxaJfcNAPb4+PFoG39vxyxrKxrZDzSt7LiKfvBuCH736bOTCC
         LdeG/XckaNy5XcVZBKGuGnzDwzusttx62AwFZ0V83AhR0octbsL65/h/CBTbcx6rrYgd
         3XCQ==
X-Forwarded-Encrypted: i=1; AJvYcCXwXOfHhHWY+lz+VfT7rkUgONaPeDxe7iL1AEmjIxbAc5J/nlIXnvWfbE4eJy/8jGHB5ZT1DGyhKFA=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yygij1UStAUYGOK2qY44XgRmME/8/oi+g5XnXV/xBRrESPQI3Cx
	s68uOJp+4eqtWopkf9H7glBXTcaeJZ4BPJbXLwURmxcdF9LajuJ2qXXuacEoQgrHAQ==
X-Gm-Gg: ASbGncttzSBPGpPsoMBOcTB+9XZ9KPL0uRxpdIhPfn7liUbP/gyxaWXu88gw4NpWgHz
	m66pWOI4N/P+0uO8cq8V8Xq2g8PtaSFzqi/G0HuWQtPsM/oWzrKnoN13KizRTggWOTpbhQ8/Dzg
	E2lH8ztx+QnFJwD1XaaXRluCW6VGBffhDovv6OXVtw4LsoxlLXxkvl48FcroCFKkcHLq3gfqh3S
	TzS09wfoGZAFxJ9w8GQNPVTUkQMOJcFdKjxu/WpxL1EpBOMWKd3/syBln2sFLqLLzb/q8UhOakd
	Yw6Pr8fZigtRBRYcXXgAjvynShoF7GOPOt1B20WMimSZLr8A8dumwkQo0kohCRVWNMM3kg4fWUA
	pyu/IQQT4hclwB8XN5JWp2ykeJgTbrAm8Brzk/DpD9Nf98SzdTvgdopPd44xGS4N2a60ijTRQsT
	p6U2z5Pgzb17plJsHwuZQkuGlbeOsH1RhV8t2UG3Ukzf6CrnI=
X-Google-Smtp-Source: AGHT+IHaHM7FeLXmhvinHiDawG+OuQ3lgV7ndGrUXyR6z4u9y7d1X7G3bBWhExu6NytEh5CNb7W8fw==
X-Received: by 2002:a05:600d:4301:b0:46f:aa8a:d2e7 with SMTP id 5b1f17b1804b1-46faa8ad4bamr45918615e9.4.1760084351233;
        Fri, 10 Oct 2025 01:19:11 -0700 (PDT)
Message-ID: <f7fd633b-486d-4b8e-969e-1e944bf62884@suse.com>
Date: Fri, 10 Oct 2025 10:19:09 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/1] tools/libs/light: fix BAR memory address truncation
To: Jiqian Chen <Jiqian.Chen@amd.com>
Cc: Huang Rui <ray.huang@amd.com>, Anthony PERARD
 <anthony.perard@vates.tech>, Juergen Gross <jgross@suse.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>, xen-devel@lists.xenproject.org
References: <20251010080029.29328-1-Jiqian.Chen@amd.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251010080029.29328-1-Jiqian.Chen@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 10.10.2025 10:00, Jiqian Chen wrote:
> 64-bit BAR memory address is truncated when removing a passthrough pci
> device from guest since it uses "unsigned int".

You talking of address truncation only here, ...

> --- a/tools/libs/light/libxl_pci.c
> +++ b/tools/libs/light/libxl_pci.c
> @@ -2001,7 +2001,8 @@ static void pci_remove_detached(libxl__egc *egc,
>  {
>      STATE_AO_GC(prs->aodev->ao);
>      libxl_ctx *ctx = libxl__gc_owner(gc);
> -    unsigned int start = 0, end = 0, flags = 0, size = 0, irq = 0;
> +    unsigned long long start = 0, end = 0, flags = 0, size = 0;
> +    unsigned int irq = 0;

... does "flags" really need widening, too?

> @@ -2031,7 +2032,7 @@ static void pci_remove_detached(libxl__egc *egc,
>      }
>  
>      for (i = 0; i < PROC_PCI_NUM_RESOURCES; i++) {
> -        if (fscanf(f, "0x%x 0x%x 0x%x\n", &start, &end, &flags) != 3)
> +        if (fscanf(f, "0x%llx 0x%llx 0x%llx\n", &start, &end, &flags) != 3)

While touching this, don't we want to drop the stray 0x in here? Their
presence causes bogus input like 0x0x0 to be accepted, afaict.

> @@ -2040,7 +2041,7 @@ static void pci_remove_detached(libxl__egc *egc,
>                                                   size, 0);
>                  if (rc < 0)
>                      LOGED(ERROR, domid,
> -                          "xc_domain_ioport_permission error 0x%x/0x%x",
> +                          "xc_domain_ioport_permission error 0x%llx/0x%llx",
>                            start,
>                            size);
>              } else {
> @@ -2050,7 +2051,7 @@ static void pci_remove_detached(libxl__egc *egc,
>                                                  0);
>                  if (rc < 0)
>                      LOGED(ERROR, domid,
> -                          "xc_domain_iomem_permission error 0x%x/0x%x",
> +                          "xc_domain_iomem_permission error 0x%llx/0x%llx",

In the hypervisor I would request use of %#llx here; not sure what the
toolstack's take on this is.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Oct 10 08:21:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Oct 2025 08:21:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141028.1475626 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v78NL-00056T-OH; Fri, 10 Oct 2025 08:21:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141028.1475626; Fri, 10 Oct 2025 08:21:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v78NL-00056M-Lg; Fri, 10 Oct 2025 08:21:19 +0000
Received: by outflank-mailman (input) for mailman id 1141028;
 Fri, 10 Oct 2025 08:21:17 +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 <SRS0=GA0H=4T=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v78NJ-00055s-Q6
 for xen-devel@lists.xenproject.org; Fri, 10 Oct 2025 08:21:17 +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 178822c6-a5b2-11f0-9d15-b5c5bf9af7f9;
 Fri, 10 Oct 2025 10:21:16 +0200 (CEST)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-46e4473d7f6so11355625e9.1
 for <xen-devel@lists.xenproject.org>; Fri, 10 Oct 2025 01:21:16 -0700 (PDT)
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-46fb489ac60sm35015485e9.16.2025.10.10.01.21.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 10 Oct 2025 01:21:16 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 178822c6-a5b2-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760084476; x=1760689276; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=rhjmOqIgu8aItGBfLYrD9RBPv3rXfAt1Nu0jPh8bEd0=;
        b=EMP1nyk8//MYpv0nTH3IW4h95Jua/iECr1Au9fQ7t4sGYdMrtE9NQKtuueDtOfBbS/
         gos7NfHtUG5A4DVwFhZHY2Rn3TjqAlASk7o+f+9gSHMtvriI9uUw9bj5u2axDtFesad7
         8KOriWnfyFZ1Y0Tz15NFvdb/SwycwiBVcP/pL2EP0kPtuKWiN/B6+LLTwb9WggehjF6x
         8B6xUeKv9dYzTDSX0Dwfz2SC6/SSWBNUI+Hm3cY1MB/4zW3HU5DntG6LMbioVzF08te8
         dKJ8Oqqi23UTTgWe+FVde4qoAVwh07d0KiffcfXzrbN59NL7UwNwl8D1lzxwmqi3cxNo
         2l8Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760084476; x=1760689276;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=rhjmOqIgu8aItGBfLYrD9RBPv3rXfAt1Nu0jPh8bEd0=;
        b=OA83HzGlh4whaBdhsKeG/Gi6T7k2Tzaap8qB7uoEcJTn871m27/3M2TQx6RrM61nk0
         HPrFIvIJPWb9YzetUBJlFPrWBd/Pv3QNVIJCMr7X3bEPoS0wixz4xqclpVbCrIehqblU
         TNyjqq38tSkbZfSEsBdx+NmWtg/927eN6thu5GEQ18yRXKqwXutGHfqziAutoGrZXh0C
         lLrRxNbrpL4qiAI9vZGqktLx1j9w353OGoniC8O7qg4X6IwUi7WW9KBm5b1Sd5o7X183
         upp8gTQkvm2Jf/iDHVopzCpKW3a+q+GFtTG8ZPPnXP5DBtFB0xZox0mUNcEVeE1Voa/B
         FMVA==
X-Forwarded-Encrypted: i=1; AJvYcCXuOfnDfm0LJa/djyteISzZ9SxebMeAG6rOlhotAo48MnqXdZFOA+59UotzAWLUxs+lp7GLF8TD57g=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwtvMR6xvzk5SgKo04oqo3jQK5fsonWRxn1Y+g0C0zg2kv173xA
	DyAxLyi/O1CyTeTtqL8FJvNgszVMzFlhjLpapkhOJyXFBJaPJvshxmKKxUGhNrbpqg==
X-Gm-Gg: ASbGncvXkm03ZfWEOIustW1+d6NKr8z1Cidbf74Z47RJdKHF1eyzTcB+XPkj7c8aLeX
	f5+4FgJdNrxeOKeQ1B+6ILTczOr7tB3b5Dhew0bQeLCRmxvszWkwy+VFepJxLsFBXID0RaqP1FR
	j38WCtPxjjaW+2w8UAkafirvn0pHBGaO91WRcfPKwwK6JmN23OP+UftDVSsx3HNreGDrTs5yb8Y
	muhw9q+C00F9BcnrlwWFSJKC6JmM0zn+EEK0ao3rYsz/aDMiKEzCCRjP7sVBW7sY6+i1x0/lgSu
	B7IKWo+MrR2hlb73MjRl43z1KE9tHMtGS7Rd59DgxiiaUBq/iw77Xp8gMIkJh81nAIAQmiv1r+N
	+r+qP8p2gG2/vtcs2SrWe0JUwb+Smos5oM6gSm4Dct2IQqLVq3je6cgTixKAuNhockgN0VeSRYA
	UQj8AyFSvXS5Rao/jFomuyT6ONfmSwf0BZs5F9
X-Google-Smtp-Source: AGHT+IFEFw2FgjIpIGvC9Wv/6UGmrCUJDpGT9KYtCPq2O7RweyQp1xIUeeMxKq2UP2J69KLhnbV1vw==
X-Received: by 2002:a05:600c:4688:b0:45c:b540:763d with SMTP id 5b1f17b1804b1-46fa9b18258mr75018035e9.33.1760084476254;
        Fri, 10 Oct 2025 01:21:16 -0700 (PDT)
Message-ID: <cca4f19e-c72c-496e-8a17-db413d837b21@suse.com>
Date: Fri, 10 Oct 2025 10:21:14 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/1] tools/libs/light: fix BAR memory address truncation
To: Jiqian Chen <Jiqian.Chen@amd.com>
Cc: Huang Rui <ray.huang@amd.com>, Anthony PERARD
 <anthony.perard@vates.tech>, Juergen Gross <jgross@suse.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>, xen-devel@lists.xenproject.org
References: <20251010080029.29328-1-Jiqian.Chen@amd.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251010080029.29328-1-Jiqian.Chen@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 10.10.2025 10:00, Jiqian Chen wrote:
> 64-bit BAR memory address is truncated when removing a passthrough pci
> device from guest since it uses "unsigned int".
> 
> So, change to use "unsigned long long" to fix this problem.
> 
> Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>

Oh, and - please add a Fixes: tag when addressing bugs.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Oct 10 08:29:57 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Oct 2025 08:29:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141037.1475637 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v78Vd-0005rH-Hk; Fri, 10 Oct 2025 08:29:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141037.1475637; Fri, 10 Oct 2025 08:29:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v78Vd-0005rA-EY; Fri, 10 Oct 2025 08:29:53 +0000
Received: by outflank-mailman (input) for mailman id 1141037;
 Fri, 10 Oct 2025 08:29:52 +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
 <SRS0=LP+B=4T=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1v78Vc-0005r4-MT
 for xen-devel@lists.xenproject.org; Fri, 10 Oct 2025 08:29:52 +0000
Received: from mail-ed1-x531.google.com (mail-ed1-x531.google.com
 [2a00:1450:4864:20::531])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 49fb3071-a5b3-11f0-9d15-b5c5bf9af7f9;
 Fri, 10 Oct 2025 10:29:50 +0200 (CEST)
Received: by mail-ed1-x531.google.com with SMTP id
 4fb4d7f45d1cf-62ecd3c21d3so2957578a12.0
 for <xen-devel@lists.xenproject.org>; Fri, 10 Oct 2025 01:29:51 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-146-38.play-internet.pl.
 [109.243.146.38]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-63a52b0f3aasm1736032a12.13.2025.10.10.01.29.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 10 Oct 2025 01:29:49 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 49fb3071-a5b3-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760084990; x=1760689790; darn=lists.xenproject.org;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=yHN8sEnwYmpaUMEmwrSUuRk+evBGnH06D8gKFSnXvII=;
        b=ZY023NeUWdCul06ebTsTFKxGkieZYxb6gJwwWzGFw9NMbeXfDRZWknFfmy3b5dBnIz
         NL3EREmtOtb6Zd3dKwjmIBm84YzSy/5AkqKTp2fOuWhrDWNDscLl9Q9uaF8oMQBVQGKc
         NOuK7J7io5kY3EzK2iZvTA6DLd5EJWWkgG1f4gdsaF7LEHvmwFVANaZE/c7YmPHUjZmn
         0DqWsFNo8yFpIfL+wKS+hTVkRYNduo6YpIMx4UCsFggUc+87goK/Vr7o2Mztmsig6BYg
         jfXYyk8YbZLuIwjCse2Ah2otsunzo98SsEKphepEUe4WBVK4v3jubXil0REzWWBG3dlq
         ++SA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760084990; x=1760689790;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=yHN8sEnwYmpaUMEmwrSUuRk+evBGnH06D8gKFSnXvII=;
        b=DzysSANQ3hQUgH2ylN/Nagn8aTGmpA6oewtAHNk75d6queINmltEhxqPUqKF5V0FvZ
         lq0dzMyin5r7V6waiLHEi2B5F+P3hKgqgZzHzffDSEZoRvTnwgG3aD/wO1Kc366UmxOg
         VbtcGdZ1wg4vzgHTD/t3dLNB8+Z7oZvwUByt9K2nh8NF0mfDVi1GmVU1Vx+xwB+lRr10
         XzZNhiVnXNZlvSJAD6dJTERMJ/rWwIhN0LQ57q4bXmuDq7kDG7LmSspEjUhtLmb2JAgr
         N5JaSp8ih90/TuaEfh+F0ZirfYNQurgtagPC+ttuMTvhruQ6eLBE89nqUGIu4nU49/Xx
         K2GQ==
X-Forwarded-Encrypted: i=1; AJvYcCW1HgfsnecX3u7SRxiMIxouZ/cFfBqvUcWHYm5Bdz9I48xEN8oEx7Y4TTnKf1/i9sBwJCqQRTzkGTY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxDzzFLKI/bDgNAPGqvcFDp2vF+nHe58eZgXEJql5Ctc8O4BbKI
	+7b96L4lDhw0K3peo9gM/0XvvlFm3r5FcKOnL9laJjOiP7ZRuMA2eqI9
X-Gm-Gg: ASbGncugzLXu2SOcoaUyn1kqkowiGmr0Binao63S4vGPmx+ido4uJYjGZOPu8ggvdpN
	zh1kjVpSdhbHgGxpYWN0UgYBUA6ftMeaq/EwyfMHhnXdyMt9m/oIFtX6RGeflBWiTLFmBpDUl/t
	vUqQo8dRcGS9lWomCRMSvlXWMe2xrKkZ8Ls0ekNyomu2NlGl1CkK5+WacvCuzjji1kB/MA5ZaLR
	Norzx8kmbRK2Nq7PvWY78k4Pg2LqMYvp5Uma1bsLx+fE839sZFAZLGVfVKTMLx2YyMYEewYtO33
	bqAYzqsKItCNopEuAmG7AE7vP+AzadaVAFP6q4lbmstMKPf5/twGTZ9TMAOlnPwgrYl6iH9KSqf
	AGCCIJQTXv0CiUdmbQp9RI/m6xtFod6gT2RiK79ac54grRzj00dVXPpjzjo1MTMxRIYrum+iWEx
	k2xs1IR6+GHaWf4ef+VatVog==
X-Google-Smtp-Source: AGHT+IFRflsMCPZsD8IOkwQT5OPySXYVJuq3kyRyLPKV7J+4Rr1fabVvgnsaRSQ9gqM7yxdZY/mlEA==
X-Received: by 2002:a05:6402:518c:b0:62f:67e0:55 with SMTP id 4fb4d7f45d1cf-639d5c371demr9604394a12.24.1760084990158;
        Fri, 10 Oct 2025 01:29:50 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------Cb0orVteTALmg07Z3wPX2tl0"
Message-ID: <45062a62-9076-4620-b316-6c8d093e4fbb@gmail.com>
Date: Fri, 10 Oct 2025 10:29:48 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 12/18] xen/riscv: Implement p2m_pte_from_mfn() and
 support PBMT configuration
To: Jan Beulich <jbeulich@suse.com>
Cc: Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <cover.1758145428.git.oleksii.kurochko@gmail.com>
 <4495c8103548447f9a11963574a4cb9e01090e7a.1758145428.git.oleksii.kurochko@gmail.com>
 <7b51f40d-7ac7-460a-891d-afe1d9ab8991@suse.com>
 <6902c46e-c805-43aa-8753-7b6dc09716ae@gmail.com>
 <7fe4f483-ef3c-4954-9030-2c364673c9db@suse.com>
 <08f2b98c-928e-44eb-96ee-f8566330aed5@gmail.com>
 <4b873422-a8be-4afe-b973-020690b0ff8e@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <4b873422-a8be-4afe-b973-020690b0ff8e@suse.com>

This is a multi-part message in MIME format.
--------------Cb0orVteTALmg07Z3wPX2tl0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit


On 10/9/25 2:06 PM, Jan Beulich wrote:
> On 09.10.2025 11:21, Oleksii Kurochko wrote:
>> On 10/7/25 3:09 PM, Jan Beulich wrote:
>>> On 29.09.2025 15:30, Oleksii Kurochko wrote:
>>>> On 9/22/25 6:28 PM, Jan Beulich wrote:
>>>>> On 17.09.2025 23:55, Oleksii Kurochko wrote:
>>>>>> @@ -318,11 +331,87 @@ static inline void p2m_clean_pte(pte_t *p, bool clean_pte)
>>>>>>         p2m_write_pte(p, pte, clean_pte);
>>>>>>     }
>>>>>>     
>>>>>> -static pte_t p2m_pte_from_mfn(mfn_t mfn, p2m_type_t t)
>>>>>> +static void p2m_set_permission(pte_t *e, p2m_type_t t)
>>>>>>     {
>>>>>> -    panic("%s: hasn't been implemented yet\n", __func__);
>>>>>> +    e->pte &= ~PTE_ACCESS_MASK;
>>>>>> +
>>>>>> +    e->pte |= PTE_USER;
>>>>>> +
>>>>>> +    /*
>>>>>> +     * Two schemes to manage the A and D bits are defined:
>>>>>> +     *   â€¢ The Svade extension: when a virtual page is accessed and the A bit
>>>>>> +     *     is clear, or is written and the D bit is clear, a page-fault
>>>>>> +     *     exception is raised.
>>>>>> +     *   â€¢ When the Svade extension is not implemented, the following scheme
>>>>>> +     *     applies.
>>>>>> +     *     When a virtual page is accessed and the A bit is clear, the PTE is
>>>>>> +     *     updated to set the A bit. When the virtual page is written and the
>>>>>> +     *     D bit is clear, the PTE is updated to set the D bit. When G-stage
>>>>>> +     *     address translation is in use and is not Bare, the G-stage virtual
>>>>>> +     *     pages may be accessed or written by implicit accesses to VS-level
>>>>>> +     *     memory management data structures, such as page tables.
>>>>>> +     * Thereby to avoid a page-fault in case of Svade is available, it is
>>>>>> +     * necesssary to set A and D bits.
>>>>>> +     */
>>>>>> +    if ( riscv_isa_extension_available(NULL, RISCV_ISA_EXT_svade) )
>>>>>> +        e->pte |= PTE_ACCESSED | PTE_DIRTY;
>>>>> All of this depending on menvcfg.ADUE anyway, is this really needed? Isn't
>>>>> machine mode software responsible for dealing with this kind of page faults
>>>>> (just like the hypervisor is reponsible for dealing with ones resulting
>>>>> from henvcfg.ADUE being clear)?
>>>> In general, I think you are right.
>>>>
>>>> In this case, though, I just wanted to avoid unnecessary page faults for now.
>>>> My understanding is that having such faults handled by the hypervisor can indeed
>>>> be useful, for example to track which pages are being accessed. However, since we
>>>> currently donâ€™t track page usage, handling these traps would only result in
>>>> setting the A and D bits and then returning control to the guest.
>>> Yet that still be be machine-mode software aiui. By always setting the bits we'd
>>> undermine whatever purpose _they_ have enabled the extension for, wouldn't we?
>> Itâ€™s a good point, and from an architectural perspective, itâ€™s possible that
>> machine-mode software might want to handle page faults.
>> However, looking at OpenSBI, it delegates (otherwise all traps/interrupts by
>> default are going to machine-mode) page faults [1] to lower modes, and I expect
>> that other machine-mode software does the same (but of course there is no such
>> guarantee).
>>
>> Therefore, considering that OpenSBI delegates page faults to lower modes and
>> does not set the A and D bits for p2m (guest) PTEs, this will result in a page
>> fault being handled by the hypervisor. As a result, we donâ€™t affect the behavior
>> of machine-mode software at all.
>>
>> If we want to avoid depending on how OpenSBI or other machine-mode software is
>> implemented, we might instead want to have our own page fault handler in Xen,
>> and then set the A and D bits within this handler.
> Won't Xen need its own page fault handler anyway?

Of course, it will.
I just meant that it wonâ€™t need it solely for the purpose of setting the A and
D bits.

Considering that Svade is mandatory for RVAxx profiles, and that at some point
we may want to implement certain optimizations (mentioned below), it would make
sense to handle the A/D bits in the page fault handler.
However, for now, for the sake of simplicity and given that none of the
optimizations mentioned below are currently implemented and OpenSBI delegates
page fault handling to hypervisor so OpenSBI isn't planning to deal with A/D
bits, I think we can set the A/D bits during PTE creation with a comment
explaining why itâ€™s done this way, as suggested before.
Later, when additional optimizations that rely on A/D bits are needed, we can
remove this initial setting and add proper A/D handling in the page fault
handler.

>
>> Do you think it would be better to do in this way from the start? If yes, then
>> we also want drop setting of A and D bits for Xen's PTEs [3] to allow M-mode to
>> handle S/HS-mode page faults.
> What I don't really understand is what the intended use of that extension is.

I think this is mainly for software-managed PTE A/D bit updates, which could be
useful for several use cases such as demand paging, cache flushing optimizations,
and memory access tracking.

Also, from a hardware perspective, itâ€™s probably simpler to let software manage
the PTE A/D bits (using the Svade extension) rather than implementing the
Svadu extension for hardware-managed updates.


~ Oleksii

> Surely every entity should be responsible for its own A/D bits, with lower
> layers coming into play only when certain things need e.g. emulating. This
> lack of understanding on my part extends to ...
>
>> Interestingly, OpenSBI doesnâ€™t allow hypervisor mode to decide whether to
>> support Svade or not [2]. By doing so, we canâ€™t set|henvcfg.adue = 1| to disable
>> it as menvcfg.adue=0 has more power, which is not very flexible.
> ... this point, which I was also wondering about before.
--------------Cb0orVteTALmg07Z3wPX2tl0
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 10/9/25 2:06 PM, Jan Beulich wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:4b873422-a8be-4afe-b973-020690b0ff8e@suse.com">
      <pre wrap="" class="moz-quote-pre">On 09.10.2025 11:21, Oleksii Kurochko wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">
On 10/7/25 3:09 PM, Jan Beulich wrote:
</pre>
        <blockquote type="cite">
          <pre wrap="" class="moz-quote-pre">On 29.09.2025 15:30, Oleksii Kurochko wrote:
</pre>
          <blockquote type="cite">
            <pre wrap="" class="moz-quote-pre">On 9/22/25 6:28 PM, Jan Beulich wrote:
</pre>
            <blockquote type="cite">
              <pre wrap="" class="moz-quote-pre">On 17.09.2025 23:55, Oleksii Kurochko wrote:
</pre>
              <blockquote type="cite">
                <pre wrap="" class="moz-quote-pre">@@ -318,11 +331,87 @@ static inline void p2m_clean_pte(pte_t *p, bool clean_pte)
       p2m_write_pte(p, pte, clean_pte);
   }
   
-static pte_t p2m_pte_from_mfn(mfn_t mfn, p2m_type_t t)
+static void p2m_set_permission(pte_t *e, p2m_type_t t)
   {
-    panic("%s: hasn't been implemented yet\n", __func__);
+    e-&gt;pte &amp;= ~PTE_ACCESS_MASK;
+
+    e-&gt;pte |= PTE_USER;
+
+    /*
+     * Two schemes to manage the A and D bits are defined:
+     *   â€¢ The Svade extension: when a virtual page is accessed and the A bit
+     *     is clear, or is written and the D bit is clear, a page-fault
+     *     exception is raised.
+     *   â€¢ When the Svade extension is not implemented, the following scheme
+     *     applies.
+     *     When a virtual page is accessed and the A bit is clear, the PTE is
+     *     updated to set the A bit. When the virtual page is written and the
+     *     D bit is clear, the PTE is updated to set the D bit. When G-stage
+     *     address translation is in use and is not Bare, the G-stage virtual
+     *     pages may be accessed or written by implicit accesses to VS-level
+     *     memory management data structures, such as page tables.
+     * Thereby to avoid a page-fault in case of Svade is available, it is
+     * necesssary to set A and D bits.
+     */
+    if ( riscv_isa_extension_available(NULL, RISCV_ISA_EXT_svade) )
+        e-&gt;pte |= PTE_ACCESSED | PTE_DIRTY;
</pre>
              </blockquote>
              <pre wrap="" class="moz-quote-pre">All of this depending on menvcfg.ADUE anyway, is this really needed? Isn't
machine mode software responsible for dealing with this kind of page faults
(just like the hypervisor is reponsible for dealing with ones resulting
from henvcfg.ADUE being clear)?
</pre>
            </blockquote>
            <pre wrap="" class="moz-quote-pre">In general, I think you are right.

In this case, though, I just wanted to avoid unnecessary page faults for now.
My understanding is that having such faults handled by the hypervisor can indeed
be useful, for example to track which pages are being accessed. However, since we
currently donâ€™t track page usage, handling these traps would only result in
setting the A and D bits and then returning control to the guest.
</pre>
          </blockquote>
          <pre wrap="" class="moz-quote-pre">Yet that still be be machine-mode software aiui. By always setting the bits we'd
undermine whatever purpose _they_ have enabled the extension for, wouldn't we?
</pre>
        </blockquote>
        <pre wrap="" class="moz-quote-pre">
Itâ€™s a good point, and from an architectural perspective, itâ€™s possible that
machine-mode software might want to handle page faults.
However, looking at OpenSBI, it delegates (otherwise all traps/interrupts by
default are going to machine-mode) page faults [1] to lower modes, and I expect
that other machine-mode software does the same (but of course there is no such
guarantee).

Therefore, considering that OpenSBI delegates page faults to lower modes and
does not set the A and D bits for p2m (guest) PTEs, this will result in a page
fault being handled by the hypervisor. As a result, we donâ€™t affect the behavior
of machine-mode software at all.

If we want to avoid depending on how OpenSBI or other machine-mode software is
implemented, we might instead want to have our own page fault handler in Xen,
and then set the A and D bits within this handler.
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
Won't Xen need its own page fault handler anyway?</pre>
    </blockquote>
    <pre>Of course, it will.
I just meant that it wonâ€™t need it solely for the purpose of setting the A and
D bits.

Considering that Svade is mandatory for RVAxx profiles, and that at some point
we may want to implement certain optimizations (mentioned below), it would make
sense to handle the A/D bits in the page fault handler.
However, for now, for the sake of simplicity and given that none of the
optimizations mentioned below are currently implemented and OpenSBI delegates
page fault handling to hypervisor so OpenSBI isn't planning to deal with A/D
bits, I think we can set the A/D bits during PTE creation with a comment
explaining why itâ€™s done this way, as suggested before.
Later, when additional optimizations that rely on A/D bits are needed, we can
remove this initial setting and add proper A/D handling in the page fault
handler.</pre>
    <pre>
</pre>
    <blockquote type="cite"
      cite="mid:4b873422-a8be-4afe-b973-020690b0ff8e@suse.com">
      <pre wrap="" class="moz-quote-pre">

</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">Do you think it would be better to do in this way from the start? If yes, then
we also want drop setting of A and D bits for Xen's PTEs [3] to allow M-mode to
handle S/HS-mode page faults.
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
What I don't really understand is what the intended use of that extension is.</pre>
    </blockquote>
    <pre>I think this is mainly for software-managed PTE A/D bit updates, which could be
useful for several use cases such as demand paging, cache flushing optimizations,
and memory access tracking.

Also, from a hardware perspective, itâ€™s probably simpler to let software manage
the PTE A/D bits (using the Svade extension) rather than implementing the
Svadu extension for hardware-managed updates.


~ Oleksii</pre>
    <blockquote type="cite"
      cite="mid:4b873422-a8be-4afe-b973-020690b0ff8e@suse.com">
      <pre wrap="" class="moz-quote-pre">
Surely every entity should be responsible for its own A/D bits, with lower
layers coming into play only when certain things need e.g. emulating. This
lack of understanding on my part extends to ...

</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">Interestingly, OpenSBI doesnâ€™t allow hypervisor mode to decide whether to
support Svade or not [2]. By doing so, we canâ€™t set|henvcfg.adue = 1| to disable
it as menvcfg.adue=0 has more power, which is not very flexible.
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
... this point, which I was also wondering about before.
</pre>
    </blockquote>
  </body>
</html>

--------------Cb0orVteTALmg07Z3wPX2tl0--


From xen-devel-bounces@lists.xenproject.org Fri Oct 10 08:42:35 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Oct 2025 08:42:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141050.1475647 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v78ho-00009C-MV; Fri, 10 Oct 2025 08:42:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141050.1475647; Fri, 10 Oct 2025 08:42:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v78ho-000095-Iv; Fri, 10 Oct 2025 08:42:28 +0000
Received: by outflank-mailman (input) for mailman id 1141050;
 Fri, 10 Oct 2025 08:42:27 +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
 <SRS0=LP+B=4T=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1v78hn-00008z-Qr
 for xen-devel@lists.xenproject.org; Fri, 10 Oct 2025 08:42:27 +0000
Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com
 [2a00:1450:4864:20::629])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0b9f26dd-a5b5-11f0-9809-7dc792cee155;
 Fri, 10 Oct 2025 10:42:25 +0200 (CEST)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-b00a9989633so250341966b.0
 for <xen-devel@lists.xenproject.org>; Fri, 10 Oct 2025 01:42:25 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-146-38.play-internet.pl.
 [109.243.146.38]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-b55d8c12a62sm180705966b.58.2025.10.10.01.42.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 10 Oct 2025 01:42:24 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0b9f26dd-a5b5-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760085745; x=1760690545; darn=lists.xenproject.org;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=NBK2HJaszjawCeXdIsnPH18eNfldQcmshXEmSq62Iec=;
        b=B4ll1LcQrEYVd8JbtZUs+0QZTmI8NXg8xVdtfg7Lvvjnp5LYaJydDBluehXxXZtAZ7
         BF3UhyIRTD9Pil5i3yb74obVx5nYu6yJ4DXngBc5bbsw3VBha0JKPUZd0oGzul+nBz7s
         uT38nNFvzzHDjk0gRwNWcqSuGIhnQus06fkGnUZ8S+1c+/geHhA5DoiVCVLmHb8L5+La
         lsVYSCWH+wvYPTPYkDbvuMYXBJXm6k8Xve4Znb6IwqlPGJbcOOW17RA/NTnRwMCalLC9
         uYbtKqHC9+we2SXge6yi3OHCQmqRncw60tzKuoKhDX3PkUWpC7LLlUSPfEG3VlQ6KV0J
         IzfQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760085745; x=1760690545;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=NBK2HJaszjawCeXdIsnPH18eNfldQcmshXEmSq62Iec=;
        b=JoSMWIY/ivUKJqj6Q9uRq43XOWv1ByDDih9V7xtWWJhQcEjq5KOmNEzlzr46kzAz3k
         Xoby4x64qVa+5BgUdIHCFZAFIuA1wIA8f0e2LEQL3M5ddmXKR75g2PEYCY1PRB1dzUee
         gAC7ciNWSClJLi+jLgPKOLfse346MMPD8VCYZrnAaSHy0x2kB2+LBWXYYheqv2VbxJRm
         af8ZZ9wW3GdJwn2N3ZVLOwfHpvyCdA1r4ARBnN67WM6nMewFrIEmwuQzVA1bWf4Kfxix
         1m/QQMeANJZoxAvqnCegN66ZazIcR/dKihDAPWk6zdlnC5ZWWI+RcmUoZFThYa5B0rhg
         tfGw==
X-Forwarded-Encrypted: i=1; AJvYcCVknfOELppLTnIAw2LS9ue5o6ctnNQaKJ/HiI4rL39/YOX7+POATasmzgDu/hbfvJVsWJrXMh7Y3bU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzQn1QarbPW30F97VCkbYARdROPp2e2qp+IzXc5OGLXHWj6ZCxG
	kawAvUB0F7Ab/JQ6XagJ7OwkE+Ne7d8GeVvlI9mBdUTRCb/sIjhauR4v
X-Gm-Gg: ASbGnctcmKzEnbD/Mjo4Fg63TUA1l4USBI2/unlQGyYZLf9qI028Oq2KtQSpkMmHPzg
	4mC7BbZUjiLEQNvz1NUNASoaJkzFlRxxNMWewdijYoPAeZSHdjFKG8iZlxfK333gd13CyCh1+3y
	K+0jLVQlyx8axfUch1ibG1bgfgO77qo2D3cQDL3nu6QELxYs3+IgQzbiPBWo2shJNWWf3RdABor
	T5G5afnwXmoMmOULW6m3UCK8sitCZxZiOXqQt9Z461Kg6hgnqX4SSNJgJ/x1fXdQ+vb+7+/hlgB
	h7d5q+smNNDH09VD8675RNi9wvWZsvXgvriYOp4R6AWdtau54hlEyNdexoxT/mYfbVUDdmn2u8h
	nQoHbm+gaNQ02LP377Il/SMoLkARrsk+uEFbU8YI9xjJrYZOKilFz+jPApGvJc9SBXwrFalO+lQ
	8ism+7SDZ8+wN+NHchANsSraSY+GPhe2Yi
X-Google-Smtp-Source: AGHT+IGChQoOeCYnpt9j7a1RS94hb0hC6bSODYyz8tBcjOZbNxpVy6H7SL41wMItlKVy17Zg5efGrQ==
X-Received: by 2002:a17:907:3f95:b0:b41:c602:c75d with SMTP id a640c23a62f3a-b50bf7f13d2mr1369328866b.31.1760085744296;
        Fri, 10 Oct 2025 01:42:24 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------U3ORGlMOPwXwOdCUdHQys1CG"
Message-ID: <a4c674cf-045d-4bf1-b66f-96b6be933bca@gmail.com>
Date: Fri, 10 Oct 2025 10:42:22 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 18/18] xen/riscv: introduce metadata table to store P2M
 type
To: Jan Beulich <jbeulich@suse.com>
Cc: Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <cover.1758145428.git.oleksii.kurochko@gmail.com>
 <f1e346b228ea76eb5bd988e8aab0062cbea58c9d.1758145428.git.oleksii.kurochko@gmail.com>
 <4c2eb99b-3e88-4364-8c3f-7c70d4064ef4@suse.com>
 <5142b7c4-ab2e-4f73-a60d-3d23fe255ca7@gmail.com>
 <4232140b-e44a-4d8b-8178-b583a2f4fabc@suse.com>
 <e875ffa9-28c5-4733-b079-babad3734a9c@gmail.com>
 <fb6debfa-cdc2-491c-a488-6a4bf64ca7ad@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <fb6debfa-cdc2-491c-a488-6a4bf64ca7ad@suse.com>

This is a multi-part message in MIME format.
--------------U3ORGlMOPwXwOdCUdHQys1CG
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit


On 10/9/25 2:10 PM, Jan Beulich wrote:
> On 09.10.2025 13:34, Oleksii Kurochko wrote:
>> On 10/7/25 3:25 PM, Jan Beulich wrote:
>>> On 01.10.2025 18:00, Oleksii Kurochko wrote:
>>>> On 9/23/25 12:41 AM, Jan Beulich wrote:
>>>>> On 17.09.2025 23:55, Oleksii Kurochko wrote:
>>>>>> +    if ( *md_pg )
>>>>>> +        metadata = __map_domain_page(*md_pg);
>>> Not this conditional assignment for ...
>>>
>>>>>> +    if ( t < p2m_first_external )
>>>>>> +    {
>>>>>>             pte->pte |= MASK_INSR(t, P2M_TYPE_PTE_BITS_MASK);
>>>>>>     
>>>>>> -    return rc;
>>>>>> +        if ( metadata )
>>>>>> +            metadata[ctx->index].pte = p2m_invalid;
>>>>>> +    }
>>>>>> +    else
>>>>>> +    {
>>>>>> +        pte->pte |= MASK_INSR(p2m_ext_storage, P2M_TYPE_PTE_BITS_MASK);
>>>>>> +
>>>>>> +        metadata[ctx->index].pte = t;
>>>>> Afaict metadata can still be NULL when you get here.
>>>> It shouldn't be, because when this line is executed, the metadata page already
>>>> exists or was allocated at the start of p2m_set_type().
>>> ... this reply of yours. And the condition there can be false, in case you
>>> took the domain_crash() path.
>> Oh, right, for some reason, I thought we didnâ€™t return from|domain_crash()|.
>> Iâ€™m curious whether calling|domain_crash()| might break something, as some useful
>> data could be freed and negatively affect the internals of|map_regions_p2mt()|.
>>
>> It might make more sense to use|panic()| here instead.
>> Do you have any thoughts or suggestions on this?
> domain_crash() is generally preferable over crashing the system as a whole.
> I don't follow what negative effects you're alluding to. Did you look at
> what domain_crash() does? It doesn't start tearing down the domain, that'll
> still need invoking from the toolstack. A crashed domain will stay around
> with all its resources allocated.

I was confused by|arch_domain_shutdown()|, which is called somewhere inside
|domain_crash()|, since the function name suggests that some resource cleanup
might happen there. Thereâ€™s also no comment explaining what
|arch_domain_shutdown()| is expected to do or not to do.

However, since itâ€™s an architecture-specific function, we can control its
behavior for a given architecture.

So, if it doesnâ€™t actually start tearing down the domain, I donâ€™t see any
other negative effects.

Anyway, if|domain_crash()| is called, Iâ€™m not really sure we need to set
PTE type afterward. We could simply add a|return;| right after the
|domain_crash()| call and so we won't have NULL pointer deference.

Thanks.

~ Oleksii

--------------U3ORGlMOPwXwOdCUdHQys1CG
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 10/9/25 2:10 PM, Jan Beulich wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:fb6debfa-cdc2-491c-a488-6a4bf64ca7ad@suse.com">
      <pre wrap="" class="moz-quote-pre">On 09.10.2025 13:34, Oleksii Kurochko wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">On 10/7/25 3:25 PM, Jan Beulich wrote:
</pre>
        <blockquote type="cite">
          <pre wrap="" class="moz-quote-pre">On 01.10.2025 18:00, Oleksii Kurochko wrote:
</pre>
          <blockquote type="cite">
            <pre wrap="" class="moz-quote-pre">On 9/23/25 12:41 AM, Jan Beulich wrote:
</pre>
            <blockquote type="cite">
              <pre wrap="" class="moz-quote-pre">On 17.09.2025 23:55, Oleksii Kurochko wrote:
</pre>
              <blockquote type="cite">
                <pre wrap="" class="moz-quote-pre">+    if ( *md_pg )
+        metadata = __map_domain_page(*md_pg);
</pre>
              </blockquote>
            </blockquote>
          </blockquote>
          <pre wrap="" class="moz-quote-pre">Not this conditional assignment for ...

</pre>
          <blockquote type="cite">
            <blockquote type="cite">
              <blockquote type="cite">
                <pre wrap="" class="moz-quote-pre">+    if ( t &lt; p2m_first_external )
+    {
           pte-&gt;pte |= MASK_INSR(t, P2M_TYPE_PTE_BITS_MASK);
   
-    return rc;
+        if ( metadata )
+            metadata[ctx-&gt;index].pte = p2m_invalid;
+    }
+    else
+    {
+        pte-&gt;pte |= MASK_INSR(p2m_ext_storage, P2M_TYPE_PTE_BITS_MASK);
+
+        metadata[ctx-&gt;index].pte = t;
</pre>
              </blockquote>
              <pre wrap="" class="moz-quote-pre">Afaict metadata can still be NULL when you get here.
</pre>
            </blockquote>
            <pre wrap="" class="moz-quote-pre">It shouldn't be, because when this line is executed, the metadata page already
exists or was allocated at the start of p2m_set_type().
</pre>
          </blockquote>
          <pre wrap="" class="moz-quote-pre">... this reply of yours. And the condition there can be false, in case you
took the domain_crash() path.
</pre>
        </blockquote>
        <pre wrap="" class="moz-quote-pre">
Oh, right, for some reason, I thought we didnâ€™t return from|domain_crash()|.
Iâ€™m curious whether calling|domain_crash()| might break something, as some useful
data could be freed and negatively affect the internals of|map_regions_p2mt()|.

It might make more sense to use|panic()| here instead.
Do you have any thoughts or suggestions on this?
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
domain_crash() is generally preferable over crashing the system as a whole.
I don't follow what negative effects you're alluding to. Did you look at
what domain_crash() does? It doesn't start tearing down the domain, that'll
still need invoking from the toolstack. A crashed domain will stay around
with all its resources allocated.</pre>
    </blockquote>
    <pre data-start="92" data-end="391">I was confused by <code
    data-start="136" data-end="160">arch_domain_shutdown()</code>, which is called somewhere inside
<code data-start="195" data-end="211">domain_crash()</code>, since the function name suggests that some resource cleanup
might happen there. Thereâ€™s also no comment explaining what
<code data-start="333" data-end="357">arch_domain_shutdown()</code> is expected to do or not to do.</pre>
    <pre data-start="393" data-end="503">However, since itâ€™s an architecture-specific function, we can control its
behavior for a given architecture.</pre>
    <pre data-start="505" data-end="605">So, if it doesnâ€™t actually start tearing down the domain, I donâ€™t see any
other negative effects.

Anyway, if <code data-start="99" data-end="115">domain_crash()</code> is called, Iâ€™m not really sure we need to set
PTE type afterward. We could simply add a <code data-start="208"
    data-end="217">return;</code> right after the
<code data-start="234" data-end="250" data-is-only-node="">domain_crash()</code> call and so we won't have NULL pointer deference.

Thanks.

~ Oleksii</pre>
  </body>
</html>

--------------U3ORGlMOPwXwOdCUdHQys1CG--


From xen-devel-bounces@lists.xenproject.org Fri Oct 10 09:03:13 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Oct 2025 09:03:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141065.1475657 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v791i-00032G-BG; Fri, 10 Oct 2025 09:03:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141065.1475657; Fri, 10 Oct 2025 09:03:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v791i-000329-8Y; Fri, 10 Oct 2025 09:03:02 +0000
Received: by outflank-mailman (input) for mailman id 1141065;
 Fri, 10 Oct 2025 09:03:01 +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 <SRS0=xlOq=4T=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1v791h-000323-Ax
 for xen-devel@lists.xenproject.org; Fri, 10 Oct 2025 09:03:01 +0000
Received: from mail-wr1-x42b.google.com (mail-wr1-x42b.google.com
 [2a00:1450:4864:20::42b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id eb782c94-a5b7-11f0-9d15-b5c5bf9af7f9;
 Fri, 10 Oct 2025 11:03:00 +0200 (CEST)
Received: by mail-wr1-x42b.google.com with SMTP id
 ffacd0b85a97d-3ee12807d97so509200f8f.0
 for <xen-devel@lists.xenproject.org>; Fri, 10 Oct 2025 02:02:59 -0700 (PDT)
Received: from ?IPV6:2003:e5:873f:400:7b4f:e512:a417:5a86?
 (p200300e5873f04007b4fe512a4175a86.dip0.t-ipconnect.de.
 [2003:e5:873f:400:7b4f:e512:a417:5a86])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-46fb482b9absm41336135e9.2.2025.10.10.02.02.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 10 Oct 2025 02:02:58 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eb782c94-a5b7-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760086979; x=1760691779; darn=lists.xenproject.org;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=yF6v3c2S5biMsqyfCnyMKzd7MeN9VSav5j87YefjOmg=;
        b=I2ywlBLM+WqLjoB4gNRzFtJ4VfT8lVODbdqoHZJGN40edx+zy98oaeaHrBnsV3B5AA
         JoN5ag+8ibwMHzp4JpX5a77CgrNG52XIicYjlfkpz6A7DaKNnDc8A225rxKDNhFC7SQa
         KLjad9059k7yIXILn0xZf+ZvE4hOLCP+BFZG/njBmrZBA4HJ6HbLTrCHmeqw8GFPWDnJ
         D2ZYUHKdjqg8biHFIRl1dKISiGyy4QQobC9YMJC7Z7fwBEt8txPI+ynoU1mO5yFRq3gv
         nhS6mRsHA6cRqBfuRiaKAtt3j+yQG6uryK3HvYov0NaHIkDrphn2MpLwQCouz/1CLVxx
         BX6g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760086979; x=1760691779;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=yF6v3c2S5biMsqyfCnyMKzd7MeN9VSav5j87YefjOmg=;
        b=TMiiJgWIh6w/TK3Oku3yvjctXQD8YLAyB8xtRVcHa5kwf9m7kftaQn7O3fHE8ypKjg
         VjGDOpbpv0aJX+scUnp7LDo7/435SWR382IjyOAOewvbnAFzt4Q/OzIjMA2tTzmzyDpG
         upKRdCYbtUx0n/96KD5ogNmtDQeoMMfxod8QIj/q/0cqm26rsfQ1vd23cpj5ghpS8+6M
         t1EOXnPkRNiQ8FSfdZPTBGBP3DZwLZ3+VOEunzcdGG8qhup4L0SvqQg8K/7gipxFByB+
         MFe13DWfdnaAtQerCNzREoM1h+O4WKTAtjqSeWE6YeeRN5byPadACf75diPIU8QcI9/t
         sufQ==
X-Forwarded-Encrypted: i=1; AJvYcCXfHgLywdbPFyy14WuplE2qW4zGKrxA3E2tGrnyxl/NhSoLhWwxHo5KWjJVk+Fj/HvrTjjSB3qamtM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzP7p7J+1TldluNQkmb8N3SgBNlEi72fHDUPSGDtqkIahI8U0Vv
	ZkQYvA1C72j+WT9eYGEzMMM1AegoVBjqxGrZm1LVoMkEauDnuLderxqCfTseeSjAOb6UjGzBzUY
	l7R5YQVg=
X-Gm-Gg: ASbGncup/ea8fHnBQ/muR7WfWW9asB4qfNQ8ZDJbbOPnUmpvkufv9Rl/aig2xUCsSsO
	k/Z8W5kFGGSHj/wzdb7JA5SVC/y5+cvIiQNuliFsLRYDyVKFulzGCKhpiz0NSUozlvpNVM04Nvs
	PkrX694WxI3oz2GkfYtxDMtSpP7r2VXwDdcNrf8KwR9np8IUQTzbqLFiBW3fmxFuglddf3EFdoF
	eBl5f/3Jxs7gJnYcLvrGKhDQgV9Bzlb4L0sl9PS7oGJ0uKUKAWQLDtSQsw845VBn9xFRC3pYTgX
	tM6mEMXfu+LCWVihuqGCSKmLHSHMCa6bt8sCyEY8EEPXzwdpqcj7Ycin60XABferI5Yrb128XEG
	wsh+jWTYpq1pTv6DFlkC/IKB0evO3x4SXFGb5UcjlhZQvV6q3ipEmk14rvbbXjUCBndHMsWur7d
	MfzHpLI7B5LfBhJbD4phW296ePYpFWochNeTunaJetAOdOQNKp372G2bTv4kqLz74nfRhjRGv7s
	A==
X-Google-Smtp-Source: AGHT+IGfSYeLJqf34+HbVtqi4NCUoyMlpHx/Bx77zyyEfFIWAkeVhLYggQugv2hP/jInaiNFXF8z4A==
X-Received: by 2002:a05:6000:1887:b0:3ec:e226:c580 with SMTP id ffacd0b85a97d-4267b339754mr7227602f8f.60.1760086979073;
        Fri, 10 Oct 2025 02:02:59 -0700 (PDT)
Message-ID: <5e48c480-cc26-4621-bc27-a6f251ed1cef@suse.com>
Date: Fri, 10 Oct 2025 11:02:57 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/1] tools/libs/light: fix BAR memory address truncation
To: Jan Beulich <jbeulich@suse.com>, Jiqian Chen <Jiqian.Chen@amd.com>
Cc: Huang Rui <ray.huang@amd.com>, Anthony PERARD
 <anthony.perard@vates.tech>, Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
References: <20251010080029.29328-1-Jiqian.Chen@amd.com>
 <f7fd633b-486d-4b8e-969e-1e944bf62884@suse.com>
Content-Language: en-US
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <f7fd633b-486d-4b8e-969e-1e944bf62884@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------x08QmTX9mjGeqvw4pey2yOrz"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------x08QmTX9mjGeqvw4pey2yOrz
Content-Type: multipart/mixed; boundary="------------pnOJsXrBfJk2unrD7AdvTVoK";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>, Jiqian Chen <Jiqian.Chen@amd.com>
Cc: Huang Rui <ray.huang@amd.com>, Anthony PERARD
 <anthony.perard@vates.tech>, Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
Message-ID: <5e48c480-cc26-4621-bc27-a6f251ed1cef@suse.com>
Subject: Re: [PATCH 1/1] tools/libs/light: fix BAR memory address truncation
References: <20251010080029.29328-1-Jiqian.Chen@amd.com>
 <f7fd633b-486d-4b8e-969e-1e944bf62884@suse.com>
In-Reply-To: <f7fd633b-486d-4b8e-969e-1e944bf62884@suse.com>
Autocrypt-Gossip: 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
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJ3BBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AAIQkQoDSui/t3IH4WIQQ+pJkfkcoLMCa4X6CgNK6L+3cgfgn7AJ9DmMd0SMJE
 ePbc7/m22D2v04iu7ACffXTdZQhNl557tJuDXZSBxDmW/tLOwU0EWTecRBAIAIK5OMKMU5R2
 Lk2bbjgX7vyQuCFFyKf9rC/4itNwhYWFSlKzVj3WJBDsoi2KvPm7AI+XB6NIkNAkshL5C0kd
 pcNd5Xo0jRR5/WE/bT7LyrJ0OJWS/qUit5eNNvsO+SxGAk28KRa1ieVLeZi9D03NL0+HIAtZ
 tecfqwgl3Y72UpLUyt+r7LQhcI/XR5IUUaD4C/chB4Vq2QkDKO7Q8+2HJOrFIjiVli4lU+Sf
 OBp64m//Y1xys++Z4ODoKh7tkh5DxiO3QBHG7bHK0CSQsJ6XUvPVYubAuy1XfSDzSeSBl//C
 v78Fclb+gi9GWidSTG/4hsEzd1fY5XwCZG/XJJY9M/sAAwUH/09Ar9W2U1Qm+DwZeP2ii3Ou
 14Z9VlVVPhcEmR/AFykL9dw/OV2O/7cdi52+l00reUu6Nd4Dl8s4f5n8b1YFzmkVVIyhwjvU
 jxtPyUgDOt6DRa+RaDlXZZmxQyWcMv2anAgYWGVszeB8Myzsw8y7xhBEVV1S+1KloCzw4V8Z
 DSJrcsZlyMDoiTb7FyqxwQnM0f6qHxWbmOOnbzJmBqpNpFuDcz/4xNsymJylm6oXiucHQBAP
 Xb/cE1YNHpuaH4SRhIxwQilCYEznWowQphNAbJtEKOmcocY7EbSt8VjXTzmYENkIfkrHRyXQ
 dUm5AoL51XZljkCqNwrADGkTvkwsWSvCSQQYEQIACQUCWTecRAIbDAAKCRCgNK6L+3cgfuef
 AJ9wlZQNQUp0KwEf8Tl37RmcxCL4bQCcC5alCSMzUBJ5DBIcR4BY+CyQFAs=

--------------pnOJsXrBfJk2unrD7AdvTVoK
Content-Type: multipart/mixed; boundary="------------mmFCkmT8wDUB2KKRM8IXn0Sm"

--------------mmFCkmT8wDUB2KKRM8IXn0Sm
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTAuMTAuMjUgMTA6MTksIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAxMC4xMC4yMDI1
IDEwOjAwLCBKaXFpYW4gQ2hlbiB3cm90ZToNCj4+IDY0LWJpdCBCQVIgbWVtb3J5IGFkZHJl
c3MgaXMgdHJ1bmNhdGVkIHdoZW4gcmVtb3ZpbmcgYSBwYXNzdGhyb3VnaCBwY2kNCj4+IGRl
dmljZSBmcm9tIGd1ZXN0IHNpbmNlIGl0IHVzZXMgInVuc2lnbmVkIGludCIuDQo+IA0KPiBZ
b3UgdGFsa2luZyBvZiBhZGRyZXNzIHRydW5jYXRpb24gb25seSBoZXJlLCAuLi4NCj4gDQo+
PiAtLS0gYS90b29scy9saWJzL2xpZ2h0L2xpYnhsX3BjaS5jDQo+PiArKysgYi90b29scy9s
aWJzL2xpZ2h0L2xpYnhsX3BjaS5jDQo+PiBAQCAtMjAwMSw3ICsyMDAxLDggQEAgc3RhdGlj
IHZvaWQgcGNpX3JlbW92ZV9kZXRhY2hlZChsaWJ4bF9fZWdjICplZ2MsDQo+PiAgIHsNCj4+
ICAgICAgIFNUQVRFX0FPX0dDKHBycy0+YW9kZXYtPmFvKTsNCj4+ICAgICAgIGxpYnhsX2N0
eCAqY3R4ID0gbGlieGxfX2djX293bmVyKGdjKTsNCj4+IC0gICAgdW5zaWduZWQgaW50IHN0
YXJ0ID0gMCwgZW5kID0gMCwgZmxhZ3MgPSAwLCBzaXplID0gMCwgaXJxID0gMDsNCj4+ICsg
ICAgdW5zaWduZWQgbG9uZyBsb25nIHN0YXJ0ID0gMCwgZW5kID0gMCwgZmxhZ3MgPSAwLCBz
aXplID0gMDsNCj4+ICsgICAgdW5zaWduZWQgaW50IGlycSA9IDA7DQo+IA0KPiAuLi4gZG9l
cyAiZmxhZ3MiIHJlYWxseSBuZWVkIHdpZGVuaW5nLCB0b28/DQoNCkF0IGxlYXN0IG9uIHRo
ZSBzeXN0ZW0gSSBsb29rZWQgdGhlIHZhbHVlIHdhcyBwcmludGVkIGFzIGEgNjQtYml0IG9u
ZToNCg0KIyBjYXQgL3N5cy9idXMvcGNpL2RldmljZXMvMDAwMDowMDowMC4wL3Jlc291cmNl
DQoweDAwMDAwMDAwMDAwMDAwMDAgMHgwMDAwMDAwMDAwMDAwMDAwIDB4MDAwMDAwMDAwMDAw
MDAwMA0KLi4uDQoNClNvIG5vdCB3aWRlbmluZyBmbGFncyB3b3VsZCByZWx5IG9uIFVCIHRv
IHByZXNlcnZlIHRoZSBldmFsdWF0ZWQgUENJX0JBUl9JTw0KZmxhZyBpbiBjYXNlIHRoZSBo
aWdoIDMyIGJpdHMgZG9uJ3QgY29udGFpbiAwLg0KDQo+IA0KPj4gQEAgLTIwMzEsNyArMjAz
Miw3IEBAIHN0YXRpYyB2b2lkIHBjaV9yZW1vdmVfZGV0YWNoZWQobGlieGxfX2VnYyAqZWdj
LA0KPj4gICAgICAgfQ0KPj4gICANCj4+ICAgICAgIGZvciAoaSA9IDA7IGkgPCBQUk9DX1BD
SV9OVU1fUkVTT1VSQ0VTOyBpKyspIHsNCj4+IC0gICAgICAgIGlmIChmc2NhbmYoZiwgIjB4
JXggMHgleCAweCV4XG4iLCAmc3RhcnQsICZlbmQsICZmbGFncykgIT0gMykNCj4+ICsgICAg
ICAgIGlmIChmc2NhbmYoZiwgIjB4JWxseCAweCVsbHggMHglbGx4XG4iLCAmc3RhcnQsICZl
bmQsICZmbGFncykgIT0gMykNCj4gDQo+IFdoaWxlIHRvdWNoaW5nIHRoaXMsIGRvbid0IHdl
IHdhbnQgdG8gZHJvcCB0aGUgc3RyYXkgMHggaW4gaGVyZT8gVGhlaXINCj4gcHJlc2VuY2Ug
Y2F1c2VzIGJvZ3VzIGlucHV0IGxpa2UgMHgweDAgdG8gYmUgYWNjZXB0ZWQsIGFmYWljdC4N
Cg0KSG1tLCBkbyB3ZSByZWFsbHkgZXhwZWN0IGEgc3lzZnMgZmlsZSB0byBwcm9kdWNlIGJv
Z3VzIG91dHB1dD8NCg0KV291bGRuJ3QgaXQgYmUgYmV0dGVyIHRvIGtlZXAgdGhlICIweCIg
aW4gb3JkZXIgdG8gZGV0ZWN0IGEgZGlmZmVyaW5nDQpvdXRwdXQgZm9ybWF0LCB3aGljaCBj
b3VsZCByZXN1bHQgaW4gc2lsZW50IG1pc2JlaGF2aW9yPw0KDQpJJ20gbm90IHJlYWxseSBm
ZWVsaW5nIHN0cm9uZyBoZXJlLCBhcyBib3RoIGNhc2VzIHNlZW0gaGlnaGx5IHVubGlrZWx5
Lg0KDQo+IA0KPj4gQEAgLTIwNDAsNyArMjA0MSw3IEBAIHN0YXRpYyB2b2lkIHBjaV9yZW1v
dmVfZGV0YWNoZWQobGlieGxfX2VnYyAqZWdjLA0KPj4gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZSwgMCk7DQo+PiAgICAgICAgICAg
ICAgICAgICBpZiAocmMgPCAwKQ0KPj4gICAgICAgICAgICAgICAgICAgICAgIExPR0VEKEVS
Uk9SLCBkb21pZCwNCj4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICJ4Y19kb21haW5f
aW9wb3J0X3Blcm1pc3Npb24gZXJyb3IgMHgleC8weCV4IiwNCj4+ICsgICAgICAgICAgICAg
ICAgICAgICAgICAgICJ4Y19kb21haW5faW9wb3J0X3Blcm1pc3Npb24gZXJyb3IgMHglbGx4
LzB4JWxseCIsDQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnQsDQo+PiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZSk7DQo+PiAgICAgICAgICAgICAgIH0g
ZWxzZSB7DQo+PiBAQCAtMjA1MCw3ICsyMDUxLDcgQEAgc3RhdGljIHZvaWQgcGNpX3JlbW92
ZV9kZXRhY2hlZChsaWJ4bF9fZWdjICplZ2MsDQo+PiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDApOw0KPj4gICAgICAgICAgICAgICAgICAg
aWYgKHJjIDwgMCkNCj4+ICAgICAgICAgICAgICAgICAgICAgICBMT0dFRChFUlJPUiwgZG9t
aWQsDQo+PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAieGNfZG9tYWluX2lvbWVtX3Bl
cm1pc3Npb24gZXJyb3IgMHgleC8weCV4IiwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ4Y19kb21haW5faW9tZW1fcGVybWlzc2lvbiBlcnJvciAweCVsbHgvMHglbGx4IiwN
Cj4gDQo+IEluIHRoZSBoeXBlcnZpc29yIEkgd291bGQgcmVxdWVzdCB1c2Ugb2YgJSNsbHgg
aGVyZTsgbm90IHN1cmUgd2hhdCB0aGUNCj4gdG9vbHN0YWNrJ3MgdGFrZSBvbiB0aGlzIGlz
Lg0KDQpJJ2QgZ28gYSBsaXR0bGUgYml0IGZ1cnRoZXIgYW5kIHJlcXVlc3QgdG8gdXNlIHVp
bnQ2NF90IGluc3RlYWQgb2YNCiJ1bnNpZ25lZCBsb25nIGxvbmciIGFuZCB0aGVuIHVzZSAi
IyJQUkl4NjQgZm9yIHRoZSBmb3JtYXQuDQoNCg0KSnVlcmdlbg0K
--------------mmFCkmT8wDUB2KKRM8IXn0Sm
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------mmFCkmT8wDUB2KKRM8IXn0Sm--

--------------pnOJsXrBfJk2unrD7AdvTVoK--

--------------x08QmTX9mjGeqvw4pey2yOrz
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmjoy8IFAwAAAAAACgkQsN6d1ii/Ey+k
Iwf/eRoqgiJJpfKjwO9q9L/Ow5H3Gxc0ofJ4y/CMTYpbGj9VumvpKnEhxmW26Mq/XUtAw1748Gb2
hMQcK/dFejz0q4d7IBbzqZ1NM+rBxANmF5oSGL41uRCPp/54KkSUw6HU1xRZpy31CcD8PU3aJdoU
q0kl+Bjkwf0sGjTKp5CHEcaBq/m+YlKTEH1KwmrmMpcsqfdKJhP7l8wo0EXw9Us0L/CniBeCGCuq
O4cO4lBIyB0fGB75jBKZli9Kf38LQbGeBfzjb9km5+fh2w10MtNaSlgwQkLf/CrhcGMCTno4CHvd
XLB1dGtH9Kv6bJY5DUp9b+V16R2PsTP14yQL2ExltA==
=r7RY
-----END PGP SIGNATURE-----

--------------x08QmTX9mjGeqvw4pey2yOrz--


From xen-devel-bounces@lists.xenproject.org Fri Oct 10 09:10:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Oct 2025 09:10:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141081.1475683 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v799H-0004ti-8i; Fri, 10 Oct 2025 09:10:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141081.1475683; Fri, 10 Oct 2025 09:10:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v799H-0004tb-5l; Fri, 10 Oct 2025 09:10:51 +0000
Received: by outflank-mailman (input) for mailman id 1141081;
 Fri, 10 Oct 2025 09:10:49 +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
 <SRS0=tEoC=4T=gmail.com=freddy77@srs-se1.protection.inumbo.net>)
 id 1v799F-0004tV-KT
 for xen-devel@lists.xenproject.org; Fri, 10 Oct 2025 09:10:49 +0000
Received: from mail-yx1-xb133.google.com (mail-yx1-xb133.google.com
 [2607:f8b0:4864:20::b133])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 01d8c7e7-a5b9-11f0-9809-7dc792cee155;
 Fri, 10 Oct 2025 11:10:47 +0200 (CEST)
Received: by mail-yx1-xb133.google.com with SMTP id
 956f58d0204a3-635401a8f5aso2153872d50.1
 for <xen-devel@lists.xenproject.org>; Fri, 10 Oct 2025 02:10:47 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 01d8c7e7-a5b9-11f0-9809-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760087446; x=1760692246; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=I3nRxT3OHljzrss5NC8JSQZQE+R7vCfFl9/8UGo8EvA=;
        b=Ww4G2cE8373w9iz+hD/+gu4aTCUv0JK5w0demKe5THcJdgrJzrY4LiSZwq3bZm20DH
         MinD0X8xBmII9y437dDzySR7B5ZI4NcYi8sYe/J4KZk333PiNFvvvCvisrGySI2j9WU5
         U+md0MA88CdY9PMA8yT9Wnp1kvYclv1BgzyYtEPqmo1m5Emyit/JU0eeO16AzuqxCJt5
         78z5VCFiUKGq2lqSXcNm/C6lrgZaHFPmLhTMyfjRgPfbzK/FGuaCttD2i9P8SKmFPfHq
         aMYEo9Mg1fHx0vqVyq7vhLglANhMKz5rYYcoKig9oq0DHTMTKrSactkCKBj0f2TjktTo
         cVYw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760087446; x=1760692246;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=I3nRxT3OHljzrss5NC8JSQZQE+R7vCfFl9/8UGo8EvA=;
        b=IP6fw8pVRW3x+LXFen292mhsRwUZUHPbCh+XvutSqOXC1cTZhQtUWrBmZ3xe2SSlqt
         VmH4NzlcXz05St5FWYllTxv+Yjgc0tuAgCaJSACN3+SuS1UMTmg4Zk0tM1PijuyiUuME
         JMIKYe68oheK7EmY5lKBxyvJTATeCmBq4aqNSmOXgT5yGeiNiQP/JD6BkGPLZWgVNU09
         igqB7fZXGkdLQhe0emKc0/EyhhrfXK8fWxgTHtIIgcKe+8LjAT1URX+VkGCsUDVnDG/w
         CxR1D9x1p2IyCiaj7LWK7Wxp6k7sqcOdBD0wI+NBC+SBYsK6Wp3sgfsx8+YsZbG+7Dmt
         ZZog==
X-Forwarded-Encrypted: i=1; AJvYcCWFRtgJ6JDxNLqort06LWaU/ZR7C1VffNepSNCc0M4qLszMj0EWl/CxSvK5lnzKUBb34H4fDMISQqo=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yyg4qdBbVxPQNS4oVLSrcSHNz7ZW+Is2bjFeIzBBTrUShO/UwCT
	1E7e7YrDku8Wshie8r2pWc35ABHz/e0VirgQPyn8MdVRQvPArkaxUinueBP8a6wCmIZy07Qvunt
	B0XE/XxRrWfXNcgTgqzi1RQkWQkofhCQ=
X-Gm-Gg: ASbGnct8DPD1G1aHY49hRm86Ek+6umectSGzZv/3M6x1DCG0gyT1wPv/uQsIpgDfPi3
	ejrYKiKumsOCTjk9s2H7b2sN1jImfBpWARkMwF9JtPKnMQic0QDPrTNexPzlnp4KGoo7eeqrudL
	+lsKObCkWac9SXlpcv12GTD+BD7PvfDjC17GMJAaHYlgtykn3SwFKvXz+eBNsv81hkoXzQfk/1X
	fgUO11+z2qEqag+dXZ7HQWuJ3Ye7f8IpbDl
X-Google-Smtp-Source: AGHT+IHlONdUxnKPMzR918fP5TCT6hUIXe21g6x+7aU+CsbYDUYtOl0z3OvUaeiwAsYrhNS3jtYrLUJ1Rc/RJ4DvR8Q=
X-Received: by 2002:a53:e00e:0:b0:633:acd8:cd70 with SMTP id
 956f58d0204a3-63ccb905443mr9326455d50.33.1760087446016; Fri, 10 Oct 2025
 02:10:46 -0700 (PDT)
MIME-Version: 1.0
References: <20250612100705.21988-1-frediano.ziglio@cloud.com>
 <586a66e5-4b11-485e-955a-da5fc3183737@citrix.com> <aN6H8dOlea2Um8y8@mail-itl>
 <1708c939-4b06-4d09-acb8-6965383d91f4@suse.com> <aOUiU86LtvsVFukW@mail-itl>
 <e3db4a71-336c-4039-a2fc-7997fadc81b3@suse.com> <aOeeMtiJEhdEiadg@mail-itl>
In-Reply-To: <aOeeMtiJEhdEiadg@mail-itl>
From: Frediano Ziglio <freddy77@gmail.com>
Date: Fri, 10 Oct 2025 10:10:34 +0100
X-Gm-Features: AS18NWDAr6_E95Oeb4uDw3N3sjkQylfaY3x3K7og0Cv4AsJHhfuxXRzmfnDuMZk
Message-ID: <CAHt6W4dDQOPZzBkD+rwYfJ6DzyWXM32NbGQwngoGrVuwyyXahg@mail.gmail.com>
Subject: Re: [PATCH v2] xen: Strip xen.efi by default
To: =?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>
Cc: Jan Beulich <jbeulich@suse.com>, Frediano Ziglio <frediano.ziglio@cloud.com>, 
	xen-devel@lists.xenproject.org, Anthony PERARD <anthony.perard@vates.tech>, 
	Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, Daniel Smith <dpsmith@apertussolutions.com>, 
	"michal.zygowski@3mdeb.com" <michal.zygowski@3mdeb.com>, Oleksii Kurochko <oleksii.kurochko@gmail.com>, 
	Andrew Cooper <andrew.cooper3@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Oct 9, 2025 at 12:56=E2=80=AFPM Marek Marczykowski-G=C3=B3recki
<marmarek@invisiblethingslab.com> wrote:
>
> On Tue, Oct 07, 2025 at 04:46:17PM +0200, Jan Beulich wrote:
> > On 07.10.2025 16:23, Marek Marczykowski-G=C3=B3recki wrote:
> > > On Tue, Oct 07, 2025 at 04:12:13PM +0200, Jan Beulich wrote:
> > >> On 02.10.2025 16:10, Marek Marczykowski-G=C3=B3recki wrote:
> > >>> On Thu, Oct 02, 2025 at 02:05:56PM +0100, Andrew Cooper wrote:
> > >>>> On 12/06/2025 11:07 am, Frediano Ziglio wrote:
> > >>>>> For xen.gz file we strip all symbols and have an additional
> > >>>>> xen-syms file version with all symbols.
> > >>>>> Make xen.efi more coherent stripping all symbols too.
> > >>>>> xen.efi.elf can be used for debugging.
> > >>>>>
> > >>>>> Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
> > >>>
> > >>> Generally,
> > >>> Reviewed-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethi=
ngslab.com>
> > >>
> > >> Just to double check: You offer this after having read (and discarde=
d) my
> > >> comments on v1, which v2 left largely unaddressed?
> > >
> > > You mean the one about objcopy result used for debugging? I didn't se=
e
> > > that before, since I wasn't in cc on v1...
> > >
> > > Anyway, are you aware of some specific objcopy issue. Or in other wor=
ds:
> > > would xen.efi.elf _currently_ be broken (as in - unusable for
> > > debugging/disassembly)?
> >
> > I can't tell. I've seen fair parts of the code in the course of address=
ing
> > various issues, and I would be very surprised if all of that was workin=
g
> > correctly.
> >

Yes, sorry about not replying to this part. At the time I was testing
the various usages we do with that file before replying. Beside
debugging we use it for automatic crash dump analysis and live
patching. Unfortunately live patching was not working for reasons not
bound to this change and it tooks a while to fix it. Once fixed live
patching all our use cases of the ELF-translated file are working
perfectly confirming that the file works correctly.

> > > If not, then I take that relevant part of your
> > > objection is mostly about inconsistent naming (xen.gz -> xen-syms, vs
> > > xen.efi -> xen.efi.elf). Would xen-syms.efi.elf be better?
> >
> > Plus the one asking to strip only debug info, but not the symbol table.
> > (And no, none of the suggested names look really nice to me.)
> >
> > Plus the one indicating that the change better wouldn't be made in the
> > first place. As said, to deal with size issues we already have machiner=
y
> > in place. Not very nice machinery, but it's apparently functioning.
>
> I'm of the opinion that defaults matter. Just having ability to build a
> binary that works on more systems is not sufficient, if you'd need to
> spend a day (or more...) on debugging obscure error message to figure
> out which hidden option to use to get there. And while one could argue
> that CONFIG_DEBUG=3Dy builds are only for people familiar with details to
> deal with such issues, IMO just CONFIG_DEBUG_INFO=3Dy shouldn't need
> arcane knowledge to get it working... And since that's a common option
> to enable in distribution packages, person hitting the issue might not
> even be the one doing the build (and thus controlling the build
> options).
>
> As for the details how to get there, I'm more flexible. Based on earlier
> comments, it seems that (not stripped) xen.efi isn't very useful for
> debugging directly, an ELF version of it is. So IMO it makes sense to
> have the debug binary already converted. But if you say you have use for
> xen.efi with all debug info too, I'm okay with keeping it too, maybe as
> xen-syms.efi. It's a bit of more space (to have both efi and elf version
> with debug info), but since it doesn't apply to the installed version,
> only the one kept in the build directory, not a big issue IMO.
>

Frediano


From xen-devel-bounces@lists.xenproject.org Fri Oct 10 09:22:00 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Oct 2025 09:22:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141094.1475717 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v79K2-00073G-UH; Fri, 10 Oct 2025 09:21:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141094.1475717; Fri, 10 Oct 2025 09:21:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v79K2-000739-RN; Fri, 10 Oct 2025 09:21:58 +0000
Received: by outflank-mailman (input) for mailman id 1141094;
 Fri, 10 Oct 2025 09:21:57 +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
 <SRS0=uR8D=4T=epam.com=Mykyta_Poturai@srs-se1.protection.inumbo.net>)
 id 1v79K1-0006bm-IJ
 for xen-devel@lists.xenproject.org; Fri, 10 Oct 2025 09:21:57 +0000
Received: from DB3PR0202CU003.outbound.protection.outlook.com
 (mail-northeuropeazlp170100001.outbound.protection.outlook.com
 [2a01:111:f403:c200::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 910af740-a5ba-11f0-9d15-b5c5bf9af7f9;
 Fri, 10 Oct 2025 11:21:56 +0200 (CEST)
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by DU2PR03MB10161.eurprd03.prod.outlook.com
 (2603:10a6:10:49a::5) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.9; Fri, 10 Oct
 2025 09:21:53 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::b8c6:f37a:987a:beb]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::b8c6:f37a:987a:beb%7]) with mapi id 15.20.9203.009; Fri, 10 Oct 2025
 09:21:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 910af740-a5ba-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=lY4MWScfae81zsxZz9Tpb+N5Sb+okoScGzo3tJYbgB7fwDiWgWOK/AQjopFzykROGwvaM7C0iUg55Dzhqhk0NRAdLnUQSUS7OIZG/TRprF3t0eirVBD9j9FOVGnGUxbQaVSX764xSQvjvXyyX/rjRcDOkzlJtHRDKDxSnbpbTDDt954cg7MoWdij3FO3Z7FJpXYe5f7tdz90hwFOJYHj4MbYq0oLIotSO8tYSQAu/zaEp8DSUj1ejBb9gY8elBDvImAQiH3S49N1JIvmXrqNiliXtZvrWx8fZRLk2cCb4WjbR/xXMHitS0JrhtRupju4rchDlEEakRxCH+D1a44bkQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zlXSCVZNOtMQP9ErfahZxj1Ps5OJW5O34DJ583T2U3A=;
 b=hK9sZP6gGXh+r5aZ1+QM+p9ToVz9QEpv1kU5Gm1R4gG1PufsKhelzyVA/oTcN8HvV4m9nShmvwTZaaLhe3ArVcgD8wI+Fh7mzrq1BlonODxyjZwOBq8zCe2N+cLziUmt+mOfbY6l4h5wFcdSqHbglLjdxW6tv5gH1mMWqwexQSRI56v1hqlU/A7Qzlc+f/8k8ibWjP5KMcQ47aoUy8t8pAkd0SdUfyvpjqX1VupzD/Fsaa/JysLU2n/B3/UG6sqraxEf+t45HML0zBYkn0LP6YfyShx0GrsGfj8pyhpO+WgutXcVJ3O/0BN69TT1Upt0e71HnHtGAmx59pjVhtOCeA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zlXSCVZNOtMQP9ErfahZxj1Ps5OJW5O34DJ583T2U3A=;
 b=UEWR6YGZQIHF5zbqsCXFeb/USOqCV4qGY/SQqleaFrNhyfdA4fZG7j6leRo8OUNWbzhzt1juh6iWi3EA682k9aFqJyaFZ4M3rdVMfdlssYFCD75ZNxxg1J2xhirtIw2QFOGrboJRGxtG9IfJEs0yu44hxWFEDf9xHUumIeO/TRWu6Uk5Qph0VssPd39wQf1/8r2AtFvSeuqqj5LTHEsjA/nKqonQ1UTKI0k9AIVgLhOa1Ywkmez0A8fQxU+D7H3aNSCSgYZPNUXhdBg0fabKR0sXxnfxEVzLmNhhRjuTSHFgTT0kdypQ6ylk3NdHvOEV6iziTdlbJCZfpWLZHtsUPw==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Mykyta Poturai <Mykyta_Poturai@epam.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3 2/5] arm/gic: Use static irqaction
Thread-Topic: [PATCH v3 2/5] arm/gic: Use static irqaction
Thread-Index: AQHcOcdQEP4hwhLsJ0CWMbVHN1hrFw==
Date: Fri, 10 Oct 2025 09:21:52 +0000
Message-ID:
 <7ebd435d510c88e2840ee991f8fd75f25ad66f75.1760083684.git.mykyta_poturai@epam.com>
References: <cover.1760083684.git.mykyta_poturai@epam.com>
In-Reply-To: <cover.1760083684.git.mykyta_poturai@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PAVPR03MB10102:EE_|DU2PR03MB10161:EE_
x-ms-office365-filtering-correlation-id: b96e2a30-07ac-4043-a2e0-08de07de7338
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|376014|1800799024|366016|38070700021;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?jgfAZ0Ffx2jznCylQtYzAvfN3tOV644YFj6zYOW9GjzfuzMTIdgDmV3HQn?=
 =?iso-8859-1?Q?x5PpRkIeE6DRpdM4SjyoFlHP4a2BvR4a4F+dDGk1mE+MBTtKAeAVEMEFAA?=
 =?iso-8859-1?Q?wwk/cCsIjuEysN0V15XwaEX984zIatxnZ642xjeOHSaXPoKNPT1QrJ3j6V?=
 =?iso-8859-1?Q?GdVJ7Kf8m2ZutD0AYHj0Ys/UTRiN3FETrMtm58yWM1ZE1CcYanutNYemMK?=
 =?iso-8859-1?Q?jrjpfdStBP9BbWgrZNoEm3/+RczRl08Cigo2apw/WvfSpdi0i4y226P+42?=
 =?iso-8859-1?Q?VVfu4xWBHOLipFygU7JFH96Se/ZmOLjJ6NrkhrDQt1pn5ErAsrWYhsI3h7?=
 =?iso-8859-1?Q?JRjvQjBRGE7l5DdPYEeE3CduxGzi1Edwd17SaUXhbTGsmj0hKtTO9zxmeN?=
 =?iso-8859-1?Q?tC92Vk+x6J1FeNk5T38iShq+caqfqCAFgMxdLClNMS4siiVrOvg09CaY1T?=
 =?iso-8859-1?Q?722YTpdnRmvskgxmmDjPREqZVPHOtMZrkBRZmdRH8qDM6LPFpvsKSDE85Y?=
 =?iso-8859-1?Q?mLWdGi0DsoInuUKRWrP5XqX9Ryt8jsprzXC/tvBKupLqoLGVlNCXdmJWYn?=
 =?iso-8859-1?Q?jW3babqBEbECL611CjdK9Yesqx6dqP9F0CiSJqM5bnDo79SvnWT2pl4/1l?=
 =?iso-8859-1?Q?QU+M9rew9cy9puNcEI20Eby1m5sp6371tYif/VEjTyGMfR4isQH5EDkxla?=
 =?iso-8859-1?Q?SLZMHq6ok5Cd9MvarFCjE+xDJIOsFA9uZmxkf4ANLX/Hup40pDXyElpRB8?=
 =?iso-8859-1?Q?+E4LnFc1ijm1j0CZW8M8oDWoBjZcc4DZBskMEeUnIz6yOI4hTyCRkeVoPA?=
 =?iso-8859-1?Q?DSRyg/R5m8zQL0bmmwziwiXOkdaDOs0fpcL/ApMwGVRT2I59LfbEGhpR0k?=
 =?iso-8859-1?Q?YMFaveUDRIBJUj4DFYQHNqhkeU6+Xi3vEATSGffMEsjz1GyPmCUCEI2fdp?=
 =?iso-8859-1?Q?h3PIF9fJpsOiMc59WJtUsWECCLZ0T9KG7nWKjd2fNI07nDkjZOQ9GwVZY7?=
 =?iso-8859-1?Q?bxWbsUmZoY1VlQUlnP8DXc9+ZhmnonIdBanPrS1Tvotc/iFUW49IGxaybe?=
 =?iso-8859-1?Q?XFrJn60IBb6vMIAKpXPRN7Q0XP3dT6aa55GoA6XtqR2gnhUdo7CNIPYieQ?=
 =?iso-8859-1?Q?gfdTENp1O4PXiYm4oaMxcmR3UkQ+RCTn+agUGBjR4DCwSUifFqjLtpFfKt?=
 =?iso-8859-1?Q?GDw8vnN1kpE6YKOTU7KX1vxeth/kBs4pCmtvI7LsGCxGfiZLVE7CBnKSEy?=
 =?iso-8859-1?Q?JbGdaKw3zskL5QRRpjiS0aBL2ArD8BO1b+ccyJw0mJbKgN8q/UjeHceJF5?=
 =?iso-8859-1?Q?4r7MyDrTdqQJUU+wCCJf/luqhBvtvgQ8GIwWqz+/2VB75cVglJRmmCrrLX?=
 =?iso-8859-1?Q?xBRZ8Y8yb+A3qhGQTnq4DkgShkqJWhLIF7b9pg1Z3h/l9of7Atcg0nz1tw?=
 =?iso-8859-1?Q?G2NC7ZL9fKLQOeb79rxn8W6D7mgnk65VBm0eXVX7otl//JxqTzdBM3VoXu?=
 =?iso-8859-1?Q?kavNA3PWgRU9rpofy2COPWW3cjwKiW1Z1WmOE1dL5fOvvFYoGQ7QSWJrep?=
 =?iso-8859-1?Q?Qzo+DpiEkwz8VGNO52Q1Zpy/98zN?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAVPR03MB10102.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(38070700021);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?jWv/D24tG0+e+M+9cuYIB9/yJ+pXEdD/zrtiT5oRexnz2DoCYZ+jFAvD5P?=
 =?iso-8859-1?Q?BtSWloNmowCI6/o8ETUn0On2wVEQXzNGbeAYL3Ei7N3WE4qNmTqzWTykJk?=
 =?iso-8859-1?Q?ITz3/lEwOiDQnP2UslgFOdrb9X9M059riT8EeoxVCKKYbZw3Cdjstaa7us?=
 =?iso-8859-1?Q?4A7xT+c+jPTagznjmvsbJ3DGIptFbXrVha4YpWHNeBVFbeh2mqvo3lSL+Z?=
 =?iso-8859-1?Q?FQTOsG/tYvEum9kYb31jVAFCKJ1Nw4lvKBqABkzuaW5n4BYV/RH+OA84n8?=
 =?iso-8859-1?Q?vOfqnD9fW9EmRdngPttDikyUail4si7jws2ypQ7///3GdNhFL36cM6URNQ?=
 =?iso-8859-1?Q?kU94KFfhoo7tGuyAjrMtZucGLEutCjnmE9y177kyF3xHA6ejxN3pI+ZfeP?=
 =?iso-8859-1?Q?K7RFrmlNvAyvJOzwgGjunFq5U/bG1TVjMXaPKgCnekPSfdEKORsczD1Jox?=
 =?iso-8859-1?Q?kvPdFf66L/oFtOb+FRHG1BD8sNL9pOTzUADRFltIiY9a1d3UPrBsYp0ng0?=
 =?iso-8859-1?Q?djhrm1mHhXzTzyu6qwqkdwfDflArXtrN1fWvmpSGGI088AHXeBgKt9l3cd?=
 =?iso-8859-1?Q?4uYUDbR13R2pKAB/+WTwAVoN3vKejSc7cY6SjcOpbdWdtoX0+c6pNpv17p?=
 =?iso-8859-1?Q?w2wzB5rPWOdblKx8E8mbwJL0kcGQoGpNm7pJs1W+8R6ktygwYVAnqK+Srs?=
 =?iso-8859-1?Q?e3wFbdfQtuhEgpHqmq0aslu373qDimAI91kRZfWpA/+Y8JHBJ0jG2AZQIt?=
 =?iso-8859-1?Q?FRGfA+ewHi700ADnDDcOQFCt18sQmSV0jAIO6IxWiSQUvOHBHCFlaatq72?=
 =?iso-8859-1?Q?YJ38NGhUAkvgiYNBBqtQq9OeyMl2VIobuPqHd8KMSEjYqUn0butIZuiqZ1?=
 =?iso-8859-1?Q?l/8XBNt7T6Vf1LCu/Hw4uyrNCJYGT+0NqR5zquL96yYRlTamjDgRveCtVy?=
 =?iso-8859-1?Q?AdyYDtPDDswS+PEIITF2kp9BFsCcyY4ZsOM4BCYO7kkMF5n8ngynOoBBAZ?=
 =?iso-8859-1?Q?zKdcEqcPK9u0oPjgSlPnYN390mh1K36/HsxZFbCN/CNzyGR+S21cjyIpZO?=
 =?iso-8859-1?Q?ZmcsmXTxOQKAsd3Z9LN+hgH9UcIZGTNnwb8ZTZcw6P76e/z1NsGGpMOQMO?=
 =?iso-8859-1?Q?6Ch6bf1SxulxT2+oafAHkmbagEMWl5YP0GjlTh0HanX3vEoV6CeoEgs4LL?=
 =?iso-8859-1?Q?vToeh7ykGBpWNvpCiy6tZICkX+3nE+c0rrmzC1QPjJuda6K2nUun3he5Kg?=
 =?iso-8859-1?Q?cfXJekDMDmDu0Gsrhi0qXMhtzo97CCHsbcrJycEBYWzrHshV9AwL3TQkqP?=
 =?iso-8859-1?Q?WZ5EoaCD3ILiJ4sqwj2xm5RP0rOQeyIiDpLyOwM3fb0ucxF8gAJ1GvOz+b?=
 =?iso-8859-1?Q?2lPkTNIeZR9ztC14G4PLevrbPAQKKdnAAppzzAmHu3GdVOXY3IzupPn3dS?=
 =?iso-8859-1?Q?aBAc+ebdtMBfOUxo3eq91f2rme16k3S6EgdBrU3YzDYK6mEKyC/mll1X+G?=
 =?iso-8859-1?Q?i74mpg9DaIux/nUsciTzUmCK95EiHILNAZwNOxftUBPp+CJJKLd91n+D1t?=
 =?iso-8859-1?Q?b9JO9wM+J2RWNzQZUw7w1F77uMBY1lRSFZfekl53TbtGwxia9fzCNozUds?=
 =?iso-8859-1?Q?RqNkMt3BJoBcMtYpr8+BATuAWuBcMYyLv6VrCh8EUOmHYwaotPRR2XHA?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PAVPR03MB10102.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b96e2a30-07ac-4043-a2e0-08de07de7338
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Oct 2025 09:21:52.1697
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: qDriBg293LrlDecHHfxhtmAI9JEMBUaCxbZKLpAxgoY0ruqef/sAMBwB6Z3yu4Q18ZYRlnKLHOmftMLcGjC4ng==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR03MB10161

When stopping a core cpu_gic_callback is called in non-alloc
context, which causes xfree in release_irq to fail an assert.

To fix this, switch to a statically allocated irqaction that does not
need to be freed in release_irq.

Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>

v2->v3:
* no changes

v1->v2:
* use percpu actions
---
 xen/arch/arm/gic.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c
index 260ee64cca..ed6853bb32 100644
--- a/xen/arch/arm/gic.c
+++ b/xen/arch/arm/gic.c
@@ -386,10 +386,17 @@ void gic_dump_info(struct vcpu *v)
     gic_hw_ops->dump_state(v);
 }
=20
+DEFINE_PER_CPU_READ_MOSTLY(struct irqaction, irq_maintenance);
+
 void init_maintenance_interrupt(void)
 {
-    request_irq(gic_hw_ops->info->maintenance_irq, 0, maintenance_interrup=
t,
-                "irq-maintenance", NULL);
+    struct irqaction *maintenance =3D &this_cpu(irq_maintenance);
+
+    maintenance->name =3D "irq-maintenance";
+    maintenance->handler =3D maintenance_interrupt;
+    maintenance->dev_id =3D NULL;
+    maintenance->free_on_release =3D 0;
+    setup_irq(gic_hw_ops->info->maintenance_irq, 0, maintenance);
 }
=20
 int gic_make_hwdom_dt_node(const struct domain *d,
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Oct 10 09:22:00 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Oct 2025 09:22:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141095.1475727 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v79K4-0007HX-7m; Fri, 10 Oct 2025 09:22:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141095.1475727; Fri, 10 Oct 2025 09:22:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v79K4-0007HG-2h; Fri, 10 Oct 2025 09:22:00 +0000
Received: by outflank-mailman (input) for mailman id 1141095;
 Fri, 10 Oct 2025 09:21:58 +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
 <SRS0=uR8D=4T=epam.com=Mykyta_Poturai@srs-se1.protection.inumbo.net>)
 id 1v79K2-0006bm-Id
 for xen-devel@lists.xenproject.org; Fri, 10 Oct 2025 09:21:58 +0000
Received: from DB3PR0202CU003.outbound.protection.outlook.com
 (mail-northeuropeazlp170100001.outbound.protection.outlook.com
 [2a01:111:f403:c200::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 91436454-a5ba-11f0-9d15-b5c5bf9af7f9;
 Fri, 10 Oct 2025 11:21:56 +0200 (CEST)
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by DU2PR03MB10161.eurprd03.prod.outlook.com
 (2603:10a6:10:49a::5) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.9; Fri, 10 Oct
 2025 09:21:53 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::b8c6:f37a:987a:beb]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::b8c6:f37a:987a:beb%7]) with mapi id 15.20.9203.009; Fri, 10 Oct 2025
 09:21:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 91436454-a5ba-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=QUZr/KkhrZErvd8G6tpqntmdU0n7NVIeowuMoyGxS3ymNY4gVELVPkTlVsr4vnamUCGnr2qugOFZh+vuFou0SnPup65uvmz0d79HGIZnnMcLYBdbJh0p8aj2M3WT9JtYmhdpS84oDugEP4FLla/rIpNqoSCcQs3b9fZFsHwm3azMPkCDGvnHWb8GMfHQ0bHVXInhUPu8PWbI4c2y1uCxOEajou2fFL1UeVh8w2X3Pwso0ssMcdHa+GuLfMWF+ar+oYpkhSsVjLY/wxPJ5IP5Q7Uoek//7k46GUdrnmBX7os+e2vzkcHNH7LGJcwC4gIfsQXe5Q+o2g6n6DH67++jJQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ap3AYvhm09sY85C0gCKMDjpM3lvCcFWVzPPdQn3ZnmY=;
 b=li5QIgJGB+lGHQSx12CLC2Qk8ZZOlRRTz+9XBW1IlPSSXyE8hsdIaX5HX8rwoOkmA/TYL2OLK7DM0mpxENYcDGA5wGoYvyKaC43oRo6HuCAO9aNC5RomdP8qVKFape2qT57CqsyiY4Gl834vGzLWHbSM2w+v+7OXobTs9CSuApDwYb81panENZ+Jz43xClMx1KWFvpdPJFH5zy5/Bsr8QRMpj8SV+ocL94cA4iYgQjxCvZo470gPYrrHmm3iaUKl7UXsus2Wg38uzTGnj/7MBUjaSIEstLF9VC/qjcKrWq8CBgU4qsJFeMblaw2hZSJm5G4FMBDNxsx9SYX61MYKqA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ap3AYvhm09sY85C0gCKMDjpM3lvCcFWVzPPdQn3ZnmY=;
 b=U3MsgYGSokYkKzCL2kiwtc5sskle/PRPteJwo48Mm/SNOvC2WBUHFF19W7TDsBLGs1dGvn3lvurvAc7RTXWXgmDoEwUfAscJXQtSt66xT8IerDIEDV1W9+RIxqXHceo6GHbFJhhu7fvDWc/sNeZowLGbH47JQikdoAX2PbWKXJGRaO02re31rESIXvnLHqW12XJPxEbqbmZDQyB1GWFFLTy7Ze4dCvL8tO+s+1knCwoiaQuWAqH1vtWTovayXRecrB8dIgpLJgjOzjZnsjTvfnqwDwD2TIpqciupbmo7xJVHvMuCTNdXHm/0z1cZUhFkqOgTShbHTkR9jjrWgCzQlw==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Mykyta Poturai <Mykyta_Poturai@epam.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>, "Daniel P. Smith"
	<dpsmith@apertussolutions.com>
Subject: [PATCH v3 3/5] arm/sysctl: Implement cpu hotplug ops
Thread-Topic: [PATCH v3 3/5] arm/sysctl: Implement cpu hotplug ops
Thread-Index: AQHcOcdQw+K7ttgNKka1vBPVCSBVHw==
Date: Fri, 10 Oct 2025 09:21:52 +0000
Message-ID:
 <bbd7ebd07d80ead78106c160e4368116dae1e548.1760083684.git.mykyta_poturai@epam.com>
References: <cover.1760083684.git.mykyta_poturai@epam.com>
In-Reply-To: <cover.1760083684.git.mykyta_poturai@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PAVPR03MB10102:EE_|DU2PR03MB10161:EE_
x-ms-office365-filtering-correlation-id: a0ced386-710c-4be7-9895-08de07de7371
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|376014|1800799024|366016|38070700021;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?NED1ohATTqPnz+VsJLcEhvv2/itS6cuXjaSHtNEbKxNQSVRR5qRoX6EEWg?=
 =?iso-8859-1?Q?BhG1BbhmXR3MqExu9nCNakmSk3z//5u1vqNKgsGNmgNcfPvu+lcVtLprYW?=
 =?iso-8859-1?Q?1AUdbsGCFTnpdDzY4S4c3nmzK8aApKsDMtqeO5RnIsihywmVKxtfhZ6jvo?=
 =?iso-8859-1?Q?Xv8Fw17kXjyXRR8FwnEgSaobk2LjQvq6yUA+/m8s4cm9gMIPtjSieexdxQ?=
 =?iso-8859-1?Q?hKTpW+ClMgNGYhDab+LcYtgpckEIgK2DmjIWIdgvNhBp7vsFif9Zt9JuBG?=
 =?iso-8859-1?Q?+Wp2mmv2dAEt5Q9N2/blkN2rX9UMU0Zd7QEtGEQQ1NqvMAd3q4y6apK4N5?=
 =?iso-8859-1?Q?IPOMiqjiSKpvp8Ukp2ZcKpNA2yuYHIiNfzXwvkM2OUbObznyZS4D89QvVd?=
 =?iso-8859-1?Q?IZ0d2epKWwKHrz7oehs46P0+TPGIBru2CJXqc16MdhB1QLNbyCFjQ66Pjg?=
 =?iso-8859-1?Q?0SCMlwOZw1lfEwi5QZxwAVRkn3cq2zT0BMmBCYzjcUz9BD+ifcye21+bGr?=
 =?iso-8859-1?Q?5XDTuMBZsiJttR9aqU2sTf/jBzhE/7P+OcbFaLUFkL7i/jHa0TGoD9Kq2K?=
 =?iso-8859-1?Q?ZgtYkh+vAXj9lqNGKYbaNicKQVcp1YBsWLvyZVueeass492D6gsAEQQb0Z?=
 =?iso-8859-1?Q?mdZOmm2nXuBFqDHH9Kz9Q4dB/NVcOoDjukzMS4MIwfeBsvz5PqKLmXoetu?=
 =?iso-8859-1?Q?sK8HQnoLLKV7PQa4YNySMMsJGzE82aUK4yctC4AB7PK5QeRKtfDKgXh3FU?=
 =?iso-8859-1?Q?VcbyGj4tWjicv16pPhTy1lzWgmekyMCLtj1A1e6NLzqleKYzf2Z+IRmefX?=
 =?iso-8859-1?Q?2lMjJMgo/Yl+RUCwR7WxUgr7JbHdsID6Gg7F2iRXJI0X4eCDx7AaM9mIu0?=
 =?iso-8859-1?Q?DGsOEVBo+/fmrSbZ1qeJZopa09JjPii+ORo7IhMYxfSzUiMgTZziGvUc8S?=
 =?iso-8859-1?Q?s1W7n1iy24ND1mPZEsE9ruKbKUpdEgY0O9tIDAEjdqoQb1ueEl+v4G+ekJ?=
 =?iso-8859-1?Q?DCIgQSubGnrvdm1zzNQRX2uiiFyZZ+rbjM20w2R1BHp2HX8kT+B4DsIiGF?=
 =?iso-8859-1?Q?LDRwI0Ub0RrJyQ8W/peb5odJBw2EQBlbPqFzulPIqkMi9vyqt+5u4XuxUG?=
 =?iso-8859-1?Q?nL5JIckcvHhAPAT6mq2PMXHv5D1W+AcfywNwJ/5UF07XSR6wR6YF4BybSo?=
 =?iso-8859-1?Q?/4M68TtmX51LonY2Ps0QrqQdA31HvfpEY1EA2Laj5RJfFdT7ku5On5DkW1?=
 =?iso-8859-1?Q?zXPrzJM4dWP+fmiBt8g80rhgN91e9SHC9HR8esCmnoUIjNoF5Cvc1LSdes?=
 =?iso-8859-1?Q?0KzsdbLkN8vs8PY18Hmp0zvUzcFC7BgxSNZjclKHZNna1RqXWbi8AgaLoN?=
 =?iso-8859-1?Q?mnDQtHrGM2Xpb5iXAvPN0JlS0p7fthkY0qWKOfM/Gn/o5BrInA5NBt5Sch?=
 =?iso-8859-1?Q?q8SJQi9LJuqEebxw3rWd02X/saiqNszrzBOcr+LfwU1yx6aYq9ZyYk98Gv?=
 =?iso-8859-1?Q?8HvWwNNWmeA6Ei+sWLLqfJslBwKLbB3tflUfLmHKQR0JYm+YY/xK2w1gbm?=
 =?iso-8859-1?Q?vTXftCoN5xeWbp/u1eImRk14q4m3?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAVPR03MB10102.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(38070700021);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?FcfGlU234aMxjeTXIT4tBTq1ZL3OMTwZIwnapCifyFvr9ttkl3ysz1Q5QJ?=
 =?iso-8859-1?Q?JkuxqGwpMajkwts1wJ0YA1CmM41hOCWyWxBfiFgymBmv1SOo2cX5It6soJ?=
 =?iso-8859-1?Q?v2dWnIVNtmjgSdngg8NNRI/sjBP9LWVxvASVFXwyQKRXjXMTtn9gz/onWD?=
 =?iso-8859-1?Q?xqClsAQ89BtibfDVk1GlUlJJdSnA4dnudhjiMJAKr5PSv2CwK/qvetoUvZ?=
 =?iso-8859-1?Q?NbDhgxDkjFV/lj2F3rB+1FRiuSIWwExXkWNRBrp2PZtTer9QD9YchAmGFa?=
 =?iso-8859-1?Q?KMhmq46VYoHq8erk0IQDzm6p60KEizm6UBzdMQpnQuikLG3rHcxRT/tj3i?=
 =?iso-8859-1?Q?EuFgGzmfHF/CFfoeyRKADtfaGbK0UUtmtxMtbkdrSHLkOgDPdJfNhmRjQo?=
 =?iso-8859-1?Q?kNJ2pwiK0UtkQlz3YNz2kJ664TPvxQA84D6dyUt5KBaUFoZw7QNx2kZ7Du?=
 =?iso-8859-1?Q?k6olRslHY6DJwlLXd+T1FIvvmUr154LqSY3eg6oe5NACkyFqk+eT40ccsr?=
 =?iso-8859-1?Q?zYjaye38P/Sc1GuiGWPrjAoZhGCQn3KklYdskCAzwpLACBSPtvJtOstbSW?=
 =?iso-8859-1?Q?Ml14vs5YgfcpQVKRMaKkauxmLKBY2GGIk08e7La0wF2Ig1vY1OMbi0cjlu?=
 =?iso-8859-1?Q?2s/po2eZPfSqwOg/6vUPPRKdbndYpje9IFQ/g73y6A20RWPUOvbz2NKeD6?=
 =?iso-8859-1?Q?1ihfSKSC6S7e2seVmUsU9FAwx24Abn3V/Dsj9pQySpgsJjRJL53C0o/Twu?=
 =?iso-8859-1?Q?U+YUXNQk5AqlO570g+kZKgZkKVbyiscBmNY4oY15az2XYq9dm/Hn+vKVM3?=
 =?iso-8859-1?Q?PkCJuqSngLEhRekiPIdmYuz89lTplgfLXxp+PF+dGNfg6ypweFvXoMlIvx?=
 =?iso-8859-1?Q?xBTyhuHCDdPKsYVHPYa6vF/xnpDscJsZ05wPoLJKzbVAc1dVlftIf2UoAE?=
 =?iso-8859-1?Q?1ZYdoHklKRkxH4+84BslvUWdgr1f4xJuQKBeHp6Co1ifqF6FJrCDHxes95?=
 =?iso-8859-1?Q?A6TI5YPyy4NePsYJYruHJF1Y++I5pVvQxZBySCORkJ4rsFy4mejBbD3dT+?=
 =?iso-8859-1?Q?6u4C0PYtTAxzlxE4lUvet4tEVJ3HvpOC7Yo3Ualm2hrYaQiEO63HRYP4IM?=
 =?iso-8859-1?Q?tgVE6kKgix+dfEkMRsePVxxMnK4NZ2a9eoLCHxQ231U20UkBrRuSCXgw/6?=
 =?iso-8859-1?Q?Z98NHi6PzdAE7XltqhCMdYKVrAmuODzrwZsoWGuECOfRe56los1ye92sXr?=
 =?iso-8859-1?Q?04MOQtSDQdg7wF7M8nkA6jJwsIwtTDGaWFpUNXroSdD5XGnq0/iniKg0yr?=
 =?iso-8859-1?Q?9mfPwfCQvFGdsf0S/8T8hVEwJL6/YBKjDXAN5pXFdrNURyTLoQLe8+cOyr?=
 =?iso-8859-1?Q?WprxYbsDBSQTudmWYZBWYYtWAoqrCl0i0SIESYOFX+dDmZg6WDSW948IXF?=
 =?iso-8859-1?Q?XcJgG6tkjsyurZiBQ7wAs9rARfHfTxsEtMAC6NIuCqkAjZucZAvjp2DMNR?=
 =?iso-8859-1?Q?Yl565dh19SIhX3R75ESKk5ICZSRafT7l1ivcG1YELkH9+O1VsvGQerPXoM?=
 =?iso-8859-1?Q?BwzoyF8fx3Hea7LIexcd9o197AfYxRelRKwHHDmKrKP9ycbdXg22vVf6jl?=
 =?iso-8859-1?Q?wMd32O3YT8esR9ABDwJkuwbL9D73JsU1GfrbRQ4h+fXgr+A736Gg/BOA?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PAVPR03MB10102.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a0ced386-710c-4be7-9895-08de07de7371
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Oct 2025 09:21:52.7830
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: Wob6mim3Zj4M/dW/6k1o6uerbFHr16OezCt6icFxMkSfKXkCQrNCCRiEzVHde4GlIyFWZPBU/By61PR2vVvXvA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR03MB10161

Implement XEN_SYSCTL_CPU_HOTPLUG_{ONLINE,OFFLINE} calls to allow for
enabling/disabling CPU cores in runtime.

Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>

v2->v3:
* no changes

v1->v2:
* remove SMT ops
* remove cpu =3D=3D 0 checks
* add XSM hooks
* only implement for 64bit Arm
---
 xen/arch/arm/sysctl.c | 45 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

diff --git a/xen/arch/arm/sysctl.c b/xen/arch/arm/sysctl.c
index 32cab4feff..fecd649db1 100644
--- a/xen/arch/arm/sysctl.c
+++ b/xen/arch/arm/sysctl.c
@@ -12,6 +12,8 @@
 #include <xen/dt-overlay.h>
 #include <xen/errno.h>
 #include <xen/hypercall.h>
+#include <xen/cpu.h>
+#include <xsm/xsm.h>
 #include <asm/arm64/sve.h>
 #include <public/sysctl.h>
=20
@@ -23,6 +25,42 @@ void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
                                        XEN_SYSCTL_PHYSCAP_ARM_SVE_MASK);
 }
=20
+#ifdef CONFIG_ARM_64
+static long cpu_up_helper(void *data)
+{
+    unsigned long cpu =3D (unsigned long) data;
+    return cpu_up(cpu);
+}
+
+static long cpu_down_helper(void *data)
+{
+    unsigned long cpu =3D (unsigned long) data;
+    return cpu_down(cpu);
+}
+
+static long cpu_hotplug_sysctl(struct xen_sysctl_cpu_hotplug *hotplug)
+{
+    int ret;
+
+    switch (hotplug->op) {
+        case XEN_SYSCTL_CPU_HOTPLUG_ONLINE:
+            ret =3D xsm_resource_plug_core(XSM_HOOK);
+            if ( ret )
+                return ret;
+            return continue_hypercall_on_cpu(0, cpu_up_helper, _p(hotplug-=
>cpu));
+
+        case XEN_SYSCTL_CPU_HOTPLUG_OFFLINE:
+            ret =3D xsm_resource_unplug_core(XSM_HOOK);
+            if ( ret )
+                return ret;
+            return continue_hypercall_on_cpu(0, cpu_down_helper, _p(hotplu=
g->cpu));
+
+        default:
+            return -EOPNOTSUPP;
+    }
+}
+#endif
+
 long arch_do_sysctl(struct xen_sysctl *sysctl,
                     XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
 {
@@ -34,6 +72,13 @@ long arch_do_sysctl(struct xen_sysctl *sysctl,
         ret =3D dt_overlay_sysctl(&sysctl->u.dt_overlay);
         break;
=20
+/* CPU Hotplug only implemented for 64-bit Arm */
+#ifdef CONFIG_ARM_64
+    case XEN_SYSCTL_cpu_hotplug:
+        ret =3D cpu_hotplug_sysctl(&sysctl->u.cpu_hotplug);
+        break;
+#endif
+
     default:
         ret =3D -ENOSYS;
         break;
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Oct 10 09:22:00 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Oct 2025 09:22:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141093.1475702 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v79K1-0006fD-Iz; Fri, 10 Oct 2025 09:21:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141093.1475702; Fri, 10 Oct 2025 09:21:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v79K1-0006eE-Dc; Fri, 10 Oct 2025 09:21:57 +0000
Received: by outflank-mailman (input) for mailman id 1141093;
 Fri, 10 Oct 2025 09:21:56 +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
 <SRS0=uR8D=4T=epam.com=Mykyta_Poturai@srs-se1.protection.inumbo.net>)
 id 1v79K0-0006bm-Sv
 for xen-devel@lists.xenproject.org; Fri, 10 Oct 2025 09:21:56 +0000
Received: from DB3PR0202CU003.outbound.protection.outlook.com
 (mail-northeuropeazlp170100001.outbound.protection.outlook.com
 [2a01:111:f403:c200::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 907aab78-a5ba-11f0-9d15-b5c5bf9af7f9;
 Fri, 10 Oct 2025 11:21:55 +0200 (CEST)
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by DU2PR03MB10161.eurprd03.prod.outlook.com
 (2603:10a6:10:49a::5) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.9; Fri, 10 Oct
 2025 09:21:52 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::b8c6:f37a:987a:beb]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::b8c6:f37a:987a:beb%7]) with mapi id 15.20.9203.009; Fri, 10 Oct 2025
 09:21:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 907aab78-a5ba-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=qiglB5F7WpdDlAIBQzlyDzWFdctryvHsrboYKbH+8y8KqGD01zVl7LgmN+BNLpHTQeoslVeuOAwKbPnE48lr7klhVoIJyZdNoxF5mA5wj1R7r7/kVa3VAJlllf9WnpwEvkegYz7jGk4XM0br0qc+OO7oNfc13IEpe9yEjUTOH9irXzOVyqmPCIJ+8YAKcyLzFO5CzmDia0XR0eO4RdpS0gN7CPucDh6KUfIzOgoeLKrCurbc3clJOFAXjtPsqpiXKFWWI348HeY2Hwa7UrtXMkTwnX+s+dg9q9MNXW0o9PMMzpfN+LmEhpUGZWb+5de+GLoXaJFKKhVtOHd5PdL0/A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WVJ5xFDRkoFtusd3udECwi8qMy9c7ssC45niNPa1qig=;
 b=NTZ3hOf8gTkEoqMY2zSQGavPy6F0tPUvOA2mEWRfdgvey1ZEpmNyW5TGzpQo4V5TF3uvGSafe4CbjT0wWuWbF+tlRvtC26P742PcKuYWNAAfYKY33c7l1WuEMp3jWoYoGorAraMmYQxqBAL8M+uxNKtPK+PWtYwzFf9Dk31/7WndjoxYa2La58jw/1juO+JdfWC5vQjvOT3rLp6s0wd6eZ48CWASp44b20w/9EWwPOeTrHYlnCrIOn5ZH3miivkzXA6wUj61OgTO7lozoN5ZFNQBG7LzN26QEIOHovzSK9A11deD8IREL0N35Xmnj/yWL13pSizhFWTt1gp7gDQMPw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WVJ5xFDRkoFtusd3udECwi8qMy9c7ssC45niNPa1qig=;
 b=Wk+vYuTfY+HqIyJxAY9hYDUdLLNPujRiFReRMoWokxxW8WFWOCHePsTcgKKllN3zZ8KpHVerVnmys7tKp1cOBqP5L/gFRIKU+xxb4gc0yelo8aOpjGncfODkh3pqNQ7tgBoJgDQRYkrpPl0TMvj4qwraAVg5uYhtZFHHkEjiL/kTXfivgZgwYpH3cRKnP8g/7rxZM+4mODW7JZEC8vm8XuYJPCQv4wsM+D+J2JIfezqkCxKZfSXvI+pQfij1QUGERQnBBXHhBLaKQZ4x0YdUd2HKrroxxgFQyzYdYMqft5iZEXsFMpQjYR3ZHTePiyjZ9ZVPeC5uWYaxAWbI8FWIvw==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Mykyta Poturai <Mykyta_Poturai@epam.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3 1/5] arm/time: Use static irqaction
Thread-Topic: [PATCH v3 1/5] arm/time: Use static irqaction
Thread-Index: AQHcOcdPA63dhQOrA0alziunhEWP9g==
Date: Fri, 10 Oct 2025 09:21:51 +0000
Message-ID:
 <af333b9ef3b79f4b0cfafb1f09da5b7bea04cfaa.1760083684.git.mykyta_poturai@epam.com>
References: <cover.1760083684.git.mykyta_poturai@epam.com>
In-Reply-To: <cover.1760083684.git.mykyta_poturai@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PAVPR03MB10102:EE_|DU2PR03MB10161:EE_
x-ms-office365-filtering-correlation-id: 44b5eb42-1df8-4e71-6ad8-08de07de72c4
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|376014|1800799024|366016|38070700021;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?jNPlxIgSG5/oXvwx/b/3vYzq5B2eensMecmCjFlTOhZkBjqRJCk7WgSMZK?=
 =?iso-8859-1?Q?+6q+PuxJiwyIYYJ80hcjVd+YlOFYUL2Tn5+D6bz6j5quaUWMBwCXS4gFO5?=
 =?iso-8859-1?Q?k7EdaBAstnQnwNe6IbVRstqv+RTkd8RxP3yjA3zOYOTzl6LDXwKPW32hD6?=
 =?iso-8859-1?Q?O4QzlOypGUzqlfJB/uZZ9KguuZkMIID9L/h/abEsYyqjO8otig8AVi46rv?=
 =?iso-8859-1?Q?XkKdqptQ2CaFzZ/t9ejtmnYxBFSIxc/68uxCcRTUj7IMGxFWWzqhKygxnm?=
 =?iso-8859-1?Q?T2rh+csyfWriRcScwQ+Vyp1haTZ1caKqLS2wY6i00UZhdeBPI3pIVHIt0f?=
 =?iso-8859-1?Q?iGou4iubqtDB7BZq3QaXI5tKzFmFktoLaJnQ50bktfuOwMt1OyJfQtfajP?=
 =?iso-8859-1?Q?RY+mMvmJ3YXsBGG60hZzRm4x6XQm207CKIzEspJgbNgSrFjO7o5moY9G8L?=
 =?iso-8859-1?Q?LDAU/F0TFqvjumsvXB7PpDhAvPqi6/5N3gr+VBb9j0Pzu/BjPBddkq+2wQ?=
 =?iso-8859-1?Q?aNjm++b/f1av2SdMvjkctZW3LIXGXk/yypXI+FCrQ29BNggj2GUKIbZqME?=
 =?iso-8859-1?Q?r83Z0LVWsqRXO2M1QySXq4Et26UgtjQL+rePgSlRhuDQg8iXq6iUDF5PxX?=
 =?iso-8859-1?Q?zZf22X7QV05++lKyqO2nH0VLgwjCTStQrcWMZour8vzI4+7I0TUb+fBl6O?=
 =?iso-8859-1?Q?fCujeMTv0keK4bWcs32ySOH4Ao0SePo1MiLEQb+D5hEOsQuhLM1gSyj4v7?=
 =?iso-8859-1?Q?ROz0Pb8I1lCuyxCfaSift9BYTVr2/6Ovk0t6wtwLXo6oDKE+BIE+FqADxC?=
 =?iso-8859-1?Q?cv0QqWKOkO55eaO8Hr4mv1sxIAIipgcZmT50D9mdu+svXXbyEXet3rEJXH?=
 =?iso-8859-1?Q?ujKb264ceK1QPIM5YJULWrMl9B526E2o+uoOhrsmbiN6/lyVv0WM3v0cR+?=
 =?iso-8859-1?Q?dUv+7xcb3xrFevAAO5K55IG7iJPMn0JNnW2rnGJs9FPeVkdbagezpQUpEO?=
 =?iso-8859-1?Q?scIDBHz1y3n3gi3Of43yMZuysVLILsBebt6PrHKggtHOuTYjreaHYm6uGz?=
 =?iso-8859-1?Q?qfAhhwBKyeetGlro2nN/YalFG9D5Sni35izllGxbQJMF0Af0nzXrC5PNvd?=
 =?iso-8859-1?Q?2WPtcCXruYwGdtrKdzfXcQmyHt+czL1FDkFSIUFGXLmAK8lcw4nlHzLY3e?=
 =?iso-8859-1?Q?Q0rFaGLr+9a/KpNKsRJMLoiqafvPAT1f9f2KkZBnstCHNzATydU3gZORmu?=
 =?iso-8859-1?Q?LQvG9bAGZac57/rqHcy72vUD326HBf9q9wdgNFC67UWdP1b5nnTAIpUZeS?=
 =?iso-8859-1?Q?6aIB5ft2K0UtOeevy/wSDYAl8XE9rWJiYfTN/mqEHY8MvQg+83vPaO6M5N?=
 =?iso-8859-1?Q?O6eFv9AwRXRTv6TvY4fZxVGUIc4GSC8w978FfQtBV+snWWWdJkJnV4H3WJ?=
 =?iso-8859-1?Q?BtASCygHsL4f3JEzIVq19SWycEUcOGWX/hP+4Cy2O2Y5VFqFDzbiEsfeHr?=
 =?iso-8859-1?Q?IUUJA9RkdCrEUZjnCvTdNwbDvdHXHjO0AZ2H9WaztvwdebNkzj0E9sZjuB?=
 =?iso-8859-1?Q?HQfgr3ZG6E8H8nU6Yoa6ReRo2soJ?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAVPR03MB10102.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(38070700021);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?63EAMebHi7uii8QweDASedg775ZT9b/MwLMqO6gZVipNDHaAOIuDUedrvx?=
 =?iso-8859-1?Q?hIkEZzUJ700A1DYAPEZ0KuRBooMHgmsiaG4AsdmYY6FegTPHwTFNeLJBnA?=
 =?iso-8859-1?Q?LgMl4X+TUWFtz2ZAK5syWfwgmF6gVxad7PEVncd7TXV2Pj+sdqtZUSjXF2?=
 =?iso-8859-1?Q?ZN1E2+5Emp+1A38uxAODfg+esueYHKL2CqRBnFZW6OPZ595PdCquFRVMoo?=
 =?iso-8859-1?Q?nftORjygXwH4ThwJmPnD+NNrko8WCTSGO+wnHqfM6mkinpp2BeLb7egD9R?=
 =?iso-8859-1?Q?EQ4JBh4gmrHT/anIKXFcgFCjzJFUy8jrZ+02e3vpF6VWMwbQAxQ/9S1++W?=
 =?iso-8859-1?Q?057sq8ABP8/XN7KKnYSFV5PsazgPnKHXBMr49ZGFFefLKDG46MxJzASaaJ?=
 =?iso-8859-1?Q?nVo7JFLosm0JKUioV4x/brO2R3XTJfNXWqo39pcR+BcOtwJkfADoKWiItQ?=
 =?iso-8859-1?Q?ixeB2cejyXOeQSPiaEcDZXuXVjYMtCoYgY7+/8ABUtofek/GrBjwJrRB0n?=
 =?iso-8859-1?Q?s9O2wNDEGYA5GuQSfS7GD+M6/Fn9mmBqkCYvyuuwxEDUeEJraeNfqkjb35?=
 =?iso-8859-1?Q?/mzuYvB3G40d5jrJP5SsU0GHwrRUH63aiH7c1v2H27JW/VhCOX88G1srfP?=
 =?iso-8859-1?Q?zxNaYey3Upo/W9Dok75AZZicgP/CrJoM7iQXZNb/5i+HKFHMNUMT71ltdK?=
 =?iso-8859-1?Q?ywzmAlrj1MtdazprAcA8sSLpZfDJZmQ+X345BH+f0SF2YapIkWEtKQphYl?=
 =?iso-8859-1?Q?0tTK/BPoCSX6fUYAEnVnkyeaW5QanyOmtWxtIQVpsPu8SYz4pVszVtCchp?=
 =?iso-8859-1?Q?AEBkMFBc7ODmOowr6FJjX61kCeVJvzoYNVyF75AIWnc0KUEA7DJ0UL0meW?=
 =?iso-8859-1?Q?0ukE0Jbte6y8E3p8mxdfN7t0tCEjHD/FVexD1KQfNiLEOy+2suE4oiWygT?=
 =?iso-8859-1?Q?w2MuvUGL+pJ37G3nEYOyPK7S8YfSVv/EotiANhr6C0+ncNUWPNH7LXgdMr?=
 =?iso-8859-1?Q?oClCZfmEHJ5vD2P2Nz/tMx6sZwrD016WC2YUY858OqbM7jhloTIO8Nwfcn?=
 =?iso-8859-1?Q?cS0DDvUYYeQKKrtjSdV0YrX70LKoNRPGufxEiwitP8xJvBW9r82DDIXjEM?=
 =?iso-8859-1?Q?/BdeDbEzcPIiD1PCR7DM8ekLDxUp6CqF9+q1+wyAYtyn2jLZfMtBhVx9Vb?=
 =?iso-8859-1?Q?+KqUJQMtQeB8lIAG52kfWRhZCKniVSsgI4RaZrgjAlGas4IM8WHoMcXIxn?=
 =?iso-8859-1?Q?1RemnVFk8e9Fc4sZs1yvwzuVs1kQCcT+1vo3zepm8CXtg9lPXKLQnEfQus?=
 =?iso-8859-1?Q?2V7jNMp/Kvg58x14u07kjBvm2pB4hkokPE293rHbqbNzLzkaPt6h4aN50w?=
 =?iso-8859-1?Q?3H63cMZePY0DyUqSpbG8hQK4P7d2GHv9tm8uFgWyXaxGt5JJTeT9n1qwoZ?=
 =?iso-8859-1?Q?YMwPseFhV8eppPHD7GxG7JAsd1Vr/nBSCYuaitYP7n1FcNMTW83/n4HjYx?=
 =?iso-8859-1?Q?Lxtrdd+PX1hGbBnfdQY/AHlb9mgKtrx3c2NOYCNd/acyxq2xITzbaf4UD4?=
 =?iso-8859-1?Q?1tZtOm2d+2N+mHCPb709Ox655W+sqSTfFBNQVU4/2gGGvL15qcwXUpqSxA?=
 =?iso-8859-1?Q?UzNFu2RuaZZZiheRxjQqoT+v9qpYgh3Lbwl/ZHCtjXMyoaFlJRXTQNPw?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PAVPR03MB10102.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 44b5eb42-1df8-4e71-6ad8-08de07de72c4
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Oct 2025 09:21:51.7493
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: Nh+AwQiY2b/e4skIPSZU67z1pZAb4AZwtvPREQwIH5TE6uQoGQFL8de3mVN2R717GlDUQlM6BBjZkUDDAsdRGw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR03MB10161

When stopping a core deinit_timer_interrupt is called in non-alloc
context, which causes xfree in release_irq to fail an assert.

To fix this, switch to a statically allocated irqaction that does not
need to be freed in release_irq.

Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>

v2->v3:
* no changes

v1->v2:
* Use percpu actions
---
 xen/arch/arm/time.c | 21 +++++++++++++++++----
 1 file changed, 17 insertions(+), 4 deletions(-)

diff --git a/xen/arch/arm/time.c b/xen/arch/arm/time.c
index e74d30d258..59349467de 100644
--- a/xen/arch/arm/time.c
+++ b/xen/arch/arm/time.c
@@ -303,9 +303,15 @@ static void check_timer_irq_cfg(unsigned int irq, cons=
t char *which)
            "WARNING: %s-timer IRQ%u is not level triggered.\n", which, irq=
);
 }
=20
+DEFINE_PER_CPU_READ_MOSTLY(struct irqaction, irq_hyp);
+DEFINE_PER_CPU_READ_MOSTLY(struct irqaction, irq_virt);
+
 /* Set up the timer interrupt on this CPU */
 void init_timer_interrupt(void)
 {
+    struct irqaction *hyp_action =3D &this_cpu(irq_hyp);
+    struct irqaction *virt_action =3D &this_cpu(irq_virt);
+
     /* Sensible defaults */
     WRITE_SYSREG64(0, CNTVOFF_EL2);     /* No VM-specific offset */
     /* Do not let the VMs program the physical timer, only read the physic=
al counter */
@@ -314,10 +320,17 @@ void init_timer_interrupt(void)
     WRITE_SYSREG(0, CNTHP_CTL_EL2);   /* Hypervisor's timer disabled */
     isb();
=20
-    request_irq(timer_irq[TIMER_HYP_PPI], 0, htimer_interrupt,
-                "hyptimer", NULL);
-    request_irq(timer_irq[TIMER_VIRT_PPI], 0, vtimer_interrupt,
-                   "virtimer", NULL);
+    hyp_action->name =3D "hyptimer";
+    hyp_action->handler =3D htimer_interrupt;
+    hyp_action->dev_id =3D NULL;
+    hyp_action->free_on_release =3D 0;
+    setup_irq(timer_irq[TIMER_HYP_PPI], 0, hyp_action);
+
+    virt_action->name =3D "virtimer";
+    virt_action->handler =3D vtimer_interrupt;
+    virt_action->dev_id =3D NULL;
+    virt_action->free_on_release =3D 0;
+    setup_irq(timer_irq[TIMER_VIRT_PPI], 0, virt_action);
=20
     check_timer_irq_cfg(timer_irq[TIMER_HYP_PPI], "hypervisor");
     check_timer_irq_cfg(timer_irq[TIMER_VIRT_PPI], "virtual");
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Oct 10 09:22:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Oct 2025 09:22:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141096.1475731 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v79K4-0007Kf-Hj; Fri, 10 Oct 2025 09:22:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141096.1475731; Fri, 10 Oct 2025 09:22:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v79K4-0007Jt-Cu; Fri, 10 Oct 2025 09:22:00 +0000
Received: by outflank-mailman (input) for mailman id 1141096;
 Fri, 10 Oct 2025 09:21:59 +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
 <SRS0=uR8D=4T=epam.com=Mykyta_Poturai@srs-se1.protection.inumbo.net>)
 id 1v79K3-0006bm-Ig
 for xen-devel@lists.xenproject.org; Fri, 10 Oct 2025 09:21:59 +0000
Received: from DB3PR0202CU003.outbound.protection.outlook.com
 (mail-northeuropeazlp170100001.outbound.protection.outlook.com
 [2a01:111:f403:c200::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 918025ef-a5ba-11f0-9d15-b5c5bf9af7f9;
 Fri, 10 Oct 2025 11:21:57 +0200 (CEST)
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by DU2PR03MB10161.eurprd03.prod.outlook.com
 (2603:10a6:10:49a::5) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.9; Fri, 10 Oct
 2025 09:21:53 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::b8c6:f37a:987a:beb]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::b8c6:f37a:987a:beb%7]) with mapi id 15.20.9203.009; Fri, 10 Oct 2025
 09:21:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 918025ef-a5ba-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=xbaXQVDC0I7CiTqYAsZE8+458CMyeo9cTJd+1vhGMdIU/vYasbiEnKVGiDwDBJjuAs7hD0idwMQbNacNJUBVQwDD/CJMb51MKfjsEPQAb5OveCOh8W156xI5e42brnprsZ/wq3BprqPCCkC9sbPw1qA5CM3+Ndt4gKKEgWQejzzCIHUnOrR2/+YNCr0/DOobshIZwuPpeVQFHlcZjpphEgdlOaC3eGhB5O0ZMMczIGekS7q8Q398yVdOOmH9PdnnGoy+ZNH7QfmwsegXtav21CrFFvqlmeNw7sg/+2bQ7iVS0S44mzNHESJEtOMkWKSOtUkO9yz294Lp7v//KxEeUg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=e9bNx7Ab/YiPLJtEhYi9gy233vDY+7+k7vYv5Kt1ySA=;
 b=GB9j027nUJ/VFqirS8wEBmZYaEU19lYmc3o1+lgb7vIu3NuHdqbamBIHUdtla94+duZgvTIYD0TA5BIFuYmqBvLehvUVyTJ/GNV44AoxRpGsk0lx/3QWDZR+mFl0c+OAt1eS86RWV7KYIsJY3M1KoqH3mwezOY3IGTMqsXgFR73w0lZK0aZ8TltjvVh9JeRUur35KtLCvmKOZg6u54Z4PczzOSY+QXc4BipGMMd7mh2xCmsaGfNurrZi4ZzERz4Qrrl2O9KSRqezRv/vc6umg/diNHAygtEUdcCDD/uZmNkPMqq4N1l0cAcH/PvvjWqEY/gsd0QOKr7O+dwUlxGaJQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=e9bNx7Ab/YiPLJtEhYi9gy233vDY+7+k7vYv5Kt1ySA=;
 b=pt5sH+oX99vupClVxSP/k8W1d3QUzWQPbHwQu3raYjPw5kIezScmjfnbdzOKwj9VZemCL4jwm35s6tjcfD5Tl7dJapx7pi6yMAQ6tHRjLt5Dx8t1Ay3I1FsRgQ7rqRNr3w2asEiaJslFL46TMCt/GtoJ1oHzD9OhaR50Aj24nNudJ+CBInCosIGs+ijvTCXuwzFlGjNS5pV+hVut4L8sh8zeFacR4zGVpkBCEr6PgIDmhDRUU8VDypo4iOvkamAi5QK8+sgaSInUw8Acq77zXJeHmYBOKCNUbexKaQUrimNK9CAKzPuDxoXT6MS1lA82K61nVezwuPU7JLz2wj3hSA==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Mykyta Poturai <Mykyta_Poturai@epam.com>, Anthony PERARD
	<anthony.perard@vates.tech>, Juergen Gross <jgross@suse.com>
Subject: [PATCH v3 4/5] tools: Allow building xen-hptool without
 CONFIG_MIGRATE
Thread-Topic: [PATCH v3 4/5] tools: Allow building xen-hptool without
 CONFIG_MIGRATE
Thread-Index: AQHcOcdQwzS1cOJYwkSZT3yaMp/Z0g==
Date: Fri, 10 Oct 2025 09:21:53 +0000
Message-ID:
 <e4f4107e54f737932904c76aa65d41d4453780df.1760083684.git.mykyta_poturai@epam.com>
References: <cover.1760083684.git.mykyta_poturai@epam.com>
In-Reply-To: <cover.1760083684.git.mykyta_poturai@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PAVPR03MB10102:EE_|DU2PR03MB10161:EE_
x-ms-office365-filtering-correlation-id: aac7e549-82ff-4d9c-5bfb-08de07de73a3
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|376014|1800799024|366016|38070700021;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?8rz12ZDW356Er306sUsbB25qNrZ9bsoW74rVs4Fzbs8+pJ8No57DkGxWUw?=
 =?iso-8859-1?Q?JEpMs7xHK0K3mRNoNrvVu7q68v96FSEr3ERo6cTviBs0m6zakB/GsDCxuY?=
 =?iso-8859-1?Q?/+ccCrAAlfwsj3sdnHlIyK3eRDypwG5yQ54cpsQykNbi2uRTe83HtV1WIx?=
 =?iso-8859-1?Q?hHG4zgBDWbeGYQyR3nsvc66kkGM2gfQWxFSzS9Tg0F6mHaTwgOePhNT+tE?=
 =?iso-8859-1?Q?2UyaODBb1g/poreSGs+idbUdnouW/+/c+YI/6fLv7kMe73iv8/mtRMFjOU?=
 =?iso-8859-1?Q?pq8sE10Sod2zAGanyFLUR18IwpDU9cx7roIBZ0KxNGkCRtAlOmBNGUmenj?=
 =?iso-8859-1?Q?BdNWS9hxIJEk/+LB5MJE9wYGFtcheNDUmmV7BH0IjjFqq7PVRTHvj7sDw4?=
 =?iso-8859-1?Q?qQTJICP1A+kmxP+1tUtR2bKoaYdEWMmafPWzKQXkRHz7uAa+fjo6ascbHI?=
 =?iso-8859-1?Q?BLLLqtIneGittZk7CO8QBtN41rQ7mYSAcMxQhCbl3nDBF+SJTLKe0u6lv5?=
 =?iso-8859-1?Q?5M3crrT80a1+jJG+hawlTz8NkMVv7gAaCQhJlU6Ekqs9qGhyAMopKnKkuD?=
 =?iso-8859-1?Q?aokYR+70LgSmWfpB519vUEmdFiUI5gjS3INbU4/OxCUT3wChOE1SZNiS5J?=
 =?iso-8859-1?Q?TWewfK3Y3f65RzSe1bJcO3IyWeCwbr4EhxCjZgaUaEOgfB0vhnN2iHw1c4?=
 =?iso-8859-1?Q?6sTooOywwPftHSzE8DJ9Ne6Zh330rsVzf+hfueJevNd0VFaWjs9SdNVepS?=
 =?iso-8859-1?Q?QkHZ591XEgdrvnnZBt1ejmu/OB15jEyqBf4t7ydkAhy9+tV2fqP0bp2dDd?=
 =?iso-8859-1?Q?AcpecZtpy67J+Je0BKMgGbrNdADz8OmP8gaaU3tK+JcdesDEPr4u2I1k0F?=
 =?iso-8859-1?Q?UoG3wiY7UIcfRI/3xZjyUh2vT8S8LTMapMiPe2gPKZeqtfvxd/HU+v0k6j?=
 =?iso-8859-1?Q?YsgEwQIc+OJrzNE6+Jn6zGUHddY1yNF0lHBWIOdKswxw6P/N/AMRcr6TuE?=
 =?iso-8859-1?Q?hERbV/opL6R5Qk5uyRilSSVQsWt4k9kWgo+dXjMpaBxxfxE238okqTGk+j?=
 =?iso-8859-1?Q?Piy04noc8yDCQuAGZDseoITEtfBqtPVqJt3bYO0RNvaIwNFD67CtHWeuHv?=
 =?iso-8859-1?Q?7cD/zoAW3WArs+4/PNjhAw0HBsVOEe4nTkQD08IfazK+3XD0DH69ALdjYa?=
 =?iso-8859-1?Q?7LJ1VEN0ovGQMKRHk2IOOmbqwO6AUmsoB1HGAsQDLwnVOIkdw6i2o3H0hZ?=
 =?iso-8859-1?Q?NZbevuzd9Rkzv+3MFyOUl9HpC9FknVVgEKWq48gfe+msvEpePmbHuK8vSI?=
 =?iso-8859-1?Q?J/jXNk+4b/LMV/aLGkq4hzFyiVZ+SYGh2I0Ms8d40ei6BhzDdpDQ4jSkJQ?=
 =?iso-8859-1?Q?k7ic6fT4wn9c1/uII1eq9yhBveQ3u2TdfhFyxO9pNoFeqx2qxRry34epYU?=
 =?iso-8859-1?Q?w3NwgR0NQcxQVT0NmAPBOUnPcbbKSfjZR0D3lrohvnwmqlmwA7zhMXe5M8?=
 =?iso-8859-1?Q?6j5x2qMwtSTLbnOhy+XY/WhxHxAKT/TJd9hzMkLTdTy6EZwsh0WoaYC8/3?=
 =?iso-8859-1?Q?toVuRFjQI3H0J44EJ5H77LCeZM3y?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAVPR03MB10102.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(38070700021);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?YExH6/BRPWRfS0ChK0poResVPiVBn2PQhvlX6lHENBYjOxAFndDWORqE7F?=
 =?iso-8859-1?Q?aYMhRpANLepinNP8KrVgeFE0rcJ6/oatY5Ed1swbgj/uqJ7MVBekj3s/w6?=
 =?iso-8859-1?Q?BMPOqBVVzfp+GeO9jnwcZQLEgqZR884iEcY1X/jlZyuLlYNNG5XL+zUIde?=
 =?iso-8859-1?Q?esgPdiK8ajTvc/t8n1vk2a3t3QdNloKZPnL2x9Y06iBU7ruAkYXdrEJGw8?=
 =?iso-8859-1?Q?md4NJSr6nGdlmHBDtBEn74TQZRs9wUMABupqXpGjG/q3WpymfDEE8ms26D?=
 =?iso-8859-1?Q?3vJzdH6NLk9Km4/dy7RMun1BJHRpvHMY8BcpHNrKBRgtQLrKTTmTPsH9ug?=
 =?iso-8859-1?Q?MAJA/7XrwBWj5fQ54iuBaMUq4yffWomIIgBUTqfTHj62Cm369VaPmUODEE?=
 =?iso-8859-1?Q?g9vzRkOvQKn5Qy3URDFb6kLbVeMDMuARLHPBYlmb0OS25Uk9GAqguGH6SG?=
 =?iso-8859-1?Q?FhYpL+n7u/vF0Q8Gz/Uu12qlGEXvoC88Xn/4jxwmuX0LT0F7xxEJqQzNYq?=
 =?iso-8859-1?Q?4/Ez6kdR3FYqMIEmVyDS7BEONBXmtt/iwsncr+Bk+6yTUBrW9EtajsFbXY?=
 =?iso-8859-1?Q?dMoCptdTHb/xVkfrd2F0yeY0YYFQd+Bk+SdQWhzc4h1mJCSFiHp6/X3fOe?=
 =?iso-8859-1?Q?galQV+/KxKkBz8o95T9nk9NOjvRIyF0BodNjhqfwCh7WyYsMs+8R2bcxoP?=
 =?iso-8859-1?Q?n6i3hE//YoB3qsNTuOkGSFIDvh04K/ghDFwZUVf8InkuNSYeR3MQ68TKjk?=
 =?iso-8859-1?Q?JV8yRlpXKKoduyfDjZ16tRG9bCyOJTcXBfCqi7Cg0JJcIBMxZh0pk9xmkD?=
 =?iso-8859-1?Q?TAVhTRAzJx4NfR1dNoP7s7T8psLnOV4Wyn4cRgMHcUv4PiGDHHgUujLsHB?=
 =?iso-8859-1?Q?EjbCPFFD9J7o+ydXgwfOig1I2i73dIfnI8/WdKN8os/l1FNzUbRrqdHxFx?=
 =?iso-8859-1?Q?Jlja4QUBSf8+vsyGpXJ1Yao1QZ0S89ALwivoneEq7g9iYOwmEGrDhjNb5X?=
 =?iso-8859-1?Q?6ILlcpsAg4qeAuewQdv9g4jtp1IMqEVl5QKE9jWYVQXgrnAyqfIjBGwUj0?=
 =?iso-8859-1?Q?Ram5Tsbl5dKE6XtmIqqLlqLup9xuv2t/NwRTjXpF05Jt/8peZkUqdiSRbH?=
 =?iso-8859-1?Q?07mTEz8KnhhUtQO8RUHX1grohv9Gx1ef0m1K8giFn4AcYHWgsNGdWV8rDQ?=
 =?iso-8859-1?Q?CCMNqv2vLhdpsRdSI0a8SXgAhnDf6xNGrCWXL9z5Ch9JQpZlYdp+8OvEOb?=
 =?iso-8859-1?Q?gsP3n66a2Z07UROzx29RJQUC0eq2gcpt/2bFVYUpaX/+vraoqt2e8W17NZ?=
 =?iso-8859-1?Q?KRNE1pecXAly2RalHaBdt9JtI+FgSs51an0l9x98WIcUpbQyaq4oqh+Cyk?=
 =?iso-8859-1?Q?4LAWoH6KopCg0PkbDQ2tCSy/QgZhz1CnFSmEZwF9FggcvW8coqAJV7zzTE?=
 =?iso-8859-1?Q?spDYW5X2TEaOFVFbhKtIevYdu0jzS7vVMOL1seBsUgTIaz2OsAFcxh0sbK?=
 =?iso-8859-1?Q?T3Ex1Vvg+MXmFq4SjF1XrFrLjHdEG9EJ6hRcDHkQq4gNNqZBZJoVXNF0o2?=
 =?iso-8859-1?Q?XbE9S+2eP6POOcZ6vYCy23d5J/DAoCc6fvu9+fk358DCHOFHgU9f9qN0N4?=
 =?iso-8859-1?Q?tr2Ddap6PhUM/Hj6j12BLhIeI/lJaYf0MvCvLHwov7cRx3+PEr4G21wA?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PAVPR03MB10102.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: aac7e549-82ff-4d9c-5bfb-08de07de73a3
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Oct 2025 09:21:53.3205
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: i19unZ+BOtOO8LuDReKaF6uMFzu5kGddyApExR2UysWPS59K0o7JyEKGAFJ8+GdlzgRWNoLjevjX4I2Ni+ew1A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR03MB10161

With CPU hotplug sysctls implemented on Arm it becomes useful to have a
tool for calling them. Introduce a new congifure option "hptool" to
allow building hptool separately from other migration tools, and enable
it by default.

Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>

v2->v3:
* no changes

v1->v2:
* switch to configure from legacy config
---
 config/Tools.mk.in               |  1 +
 tools/configure                  | 30 ++++++++++++++++++++++++++++++
 tools/configure.ac               |  1 +
 tools/libs/guest/Makefile.common |  4 ++++
 tools/misc/Makefile              |  2 +-
 5 files changed, 37 insertions(+), 1 deletion(-)
 mode change 100755 =3D> 100644 tools/configure

diff --git a/config/Tools.mk.in b/config/Tools.mk.in
index e47ac23d11..eb4855d93d 100644
--- a/config/Tools.mk.in
+++ b/config/Tools.mk.in
@@ -49,6 +49,7 @@ CONFIG_LIBNL        :=3D @libnl@
 CONFIG_GOLANG       :=3D @golang@
 CONFIG_PYGRUB       :=3D @pygrub@
 CONFIG_LIBFSIMAGE   :=3D @libfsimage@
+CONFIG_HPTOOL       :=3D @hptool@
=20
 CONFIG_SYSTEMD      :=3D @systemd@
 XEN_SYSTEMD_DIR     :=3D @SYSTEMD_DIR@
diff --git a/tools/configure b/tools/configure
old mode 100755
new mode 100644
index 5abd44e21e..5cf5381c0a
--- a/tools/configure
+++ b/tools/configure
@@ -728,6 +728,7 @@ LD86
 AS86
 ipxe
 LINUX_BACKEND_MODULES
+hptool
 pygrub
 golang
 seabios
@@ -834,6 +835,7 @@ enable_ovmf
 enable_seabios
 enable_golang
 enable_pygrub
+enable_hptool
 with_linux_backend_modules
 enable_ipxe
 with_system_ipxe
@@ -1519,6 +1521,7 @@ Optional Features:
   --disable-seabios       Disable SeaBIOS (default is ENABLED)
   --disable-golang        Disable Go tools (default is ENABLED)
   --disable-pygrub        Disable pygrub (default is ENABLED)
+  --disable-hptool        Disable hptool (default is ENABLED)
   --enable-ipxe           Enable in-tree IPXE, (DEFAULT is off, see also
                           --with-system-ipxe)
   --enable-rombios        Enable ROMBIOS, (DEFAULT is on if ipxe is enable=
d,
@@ -4807,6 +4810,33 @@ pygrub=3D$ax_cv_pygrub
=20
=20
=20
+# Check whether --enable-hptool was given.
+if test ${enable_hptool+y}
+then :
+  enableval=3D$enable_hptool;
+fi
+
+
+if test "x$enable_hptool" =3D "xno"
+then :
+
+    ax_cv_hptool=3D"n"
+
+elif test "x$enable_hptool" =3D "xyes"
+then :
+
+    ax_cv_hptool=3D"y"
+
+elif test -z $ax_cv_hptool
+then :
+
+    ax_cv_hptool=3D"y"
+
+fi
+hptool=3D$ax_cv_hptool
+
+
+
=20
 # Check whether --with-linux-backend-modules was given.
 if test ${with_linux_backend_modules+y}
diff --git a/tools/configure.ac b/tools/configure.ac
index dada1c3b15..3a0644ef89 100644
--- a/tools/configure.ac
+++ b/tools/configure.ac
@@ -90,6 +90,7 @@ AX_ARG_DEFAULT_DISABLE([ovmf], [Enable OVMF])
 AX_ARG_DEFAULT_ENABLE([seabios], [Disable SeaBIOS])
 AX_ARG_DEFAULT_ENABLE([golang], [Disable Go tools])
 AX_ARG_DEFAULT_ENABLE([pygrub], [Disable pygrub])
+AX_ARG_DEFAULT_ENABLE([hptool], [Disable hptool])
=20
 AC_ARG_WITH([linux-backend-modules],
     AS_HELP_STRING([--with-linux-backend-modules=3D"mod1 mod2"],
diff --git a/tools/libs/guest/Makefile.common b/tools/libs/guest/Makefile.c=
ommon
index a026a2f662..774b1d5392 100644
--- a/tools/libs/guest/Makefile.common
+++ b/tools/libs/guest/Makefile.common
@@ -25,6 +25,10 @@ OBJS-y       +=3D xg_core.o
 OBJS-$(CONFIG_X86) +=3D xg_core_x86.o
 OBJS-$(CONFIG_ARM) +=3D xg_core_arm.o
=20
+ifneq (,$(filter y,$(CONFIG_MIGRATE)$(CONFIG_HPTOOL)))
+OBJS-y +=3D xg_offline_page.o
+endif
+
 vpath %.c ../../../xen/common/libelf
=20
 LIBELF_OBJS +=3D libelf-tools.o libelf-loader.o
diff --git a/tools/misc/Makefile b/tools/misc/Makefile
index c26e544e83..f783f16ae6 100644
--- a/tools/misc/Makefile
+++ b/tools/misc/Makefile
@@ -16,7 +16,7 @@ INSTALL_BIN                    +=3D xencov_split
 INSTALL_BIN +=3D $(INSTALL_BIN-y)
=20
 # Everything to be installed in regular sbin/
-INSTALL_SBIN-$(CONFIG_MIGRATE) +=3D xen-hptool
+INSTALL_SBIN-$(CONFIG_HPTOOL)  +=3D xen-hptool
 INSTALL_SBIN-$(CONFIG_X86)     +=3D xen-hvmcrash
 INSTALL_SBIN-$(CONFIG_X86)     +=3D xen-hvmctx
 INSTALL_SBIN-$(CONFIG_X86)     +=3D xen-lowmemd
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Oct 10 09:22:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Oct 2025 09:22:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141092.1475697 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v79K1-0006c5-9b; Fri, 10 Oct 2025 09:21:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141092.1475697; Fri, 10 Oct 2025 09:21:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v79K1-0006by-6U; Fri, 10 Oct 2025 09:21:57 +0000
Received: by outflank-mailman (input) for mailman id 1141092;
 Fri, 10 Oct 2025 09:21:56 +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
 <SRS0=uR8D=4T=epam.com=Mykyta_Poturai@srs-se1.protection.inumbo.net>)
 id 1v79K0-0006bl-L7
 for xen-devel@lists.xenproject.org; Fri, 10 Oct 2025 09:21:56 +0000
Received: from DB3PR0202CU003.outbound.protection.outlook.com
 (mail-northeuropeazlp170100001.outbound.protection.outlook.com
 [2a01:111:f403:c200::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8fc08b82-a5ba-11f0-9809-7dc792cee155;
 Fri, 10 Oct 2025 11:21:54 +0200 (CEST)
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by DU0PR03MB8809.eurprd03.prod.outlook.com
 (2603:10a6:10:412::18) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.10; Fri, 10 Oct
 2025 09:21:51 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::b8c6:f37a:987a:beb]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::b8c6:f37a:987a:beb%7]) with mapi id 15.20.9203.009; Fri, 10 Oct 2025
 09:21:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8fc08b82-a5ba-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=op5ButVrSPdq9nSwPdVXgP+I91iapglpeoLw3zpG5Xl8H1l40roQeNTON63o6HmwkI+iZXMmNGnqufbRdJ5GgqEixeu1xOOkLE8MPVs18e4idfORTylK3Jau6knm6/re7OeIujpT4xGN1mgmrFOFSlSXF8Fz8vrp8TwfAqwrS8QnCdfJ1A8q8zPH8YtBXFIHQes3WUGkDk9cJqzyFBIpYNr7opPNInPwBngT/mN8hWxIoHMjC1vwhTZEDsengBGNHbpQRXZsOhdn0G6HEyyx+dEevhHbV9yFFXIWB31SNOFnNdicQMIPDCMaYVoi6uao4839xVyjTOssUXBXg911fA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CX0RumhJ9TGU3e9zxHggDBrHvYZsEQgDaBIj4LiJEEg=;
 b=lkHRzqo9jz613ovzb4Sz/0Gd1Rh4jhN/3N6FL+NpxGsi0AEIoNFtWNgApG/bQegfWpnnjIra/PQVG797aTDWtubE1J2xL1UYG/QPYq0iIFgaR5liu8p2/I+7tOmrozOQzWmJZZE8v2iCikpGKqzGd9wVy+ltipIa79ugG1u+sl7g9YsJrIfTX0Y+DrIcxgY6t5LF0gPZNJrDU9I1G02qDz9uQ0K/FfNOqztwUpzXroFr03QpWGZSPZmk1yHVnSeEv08hwVQ69V6kAArFi8HfmUSh33A4IKPsdTza1ENj4Fva4hJAcrcNbtdBgj6o3FWacA9VayH903x0g6sBJSeo3A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CX0RumhJ9TGU3e9zxHggDBrHvYZsEQgDaBIj4LiJEEg=;
 b=skgUPIh0PdjuyVUWqjOngoG/MUARdFJvIvNnA1IJ8cqQxc8jnPVMocYfVI7d0REurhwyWnRF5xQpLZpFvgrO5jIDKywqBXGmcU1O7G3xcmq8hxZJWb7S6xOUqr0QrQhpm2ZgIxqxzGL+jlIhTNMCiIXNahMpv5eS5oDzrGl1w6uFa+TcvQKnrMGzEiyJw/NFVAwFw9Nu6846BcQbsO6wgyO0LIwBPu8HbpBZ9MOeHQX7JkViET0RfZlLChv+QtJrJCBlGWEKvZORcdDYyy/cGR23oFjqATjzfJQndPKaCmdJ+vjaz2ijptZRPUPIr6hKkhiW6rohLUGfu3rirLKseg==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Mykyta Poturai <Mykyta_Poturai@epam.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>, "Daniel P. Smith"
	<dpsmith@apertussolutions.com>, Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>, =?iso-8859-1?Q?Roger_Pau_Monn=E9?=
	<roger.pau@citrix.com>
Subject: [PATCH v3 0/5] Implement CPU hotplug on Arm
Thread-Topic: [PATCH v3 0/5] Implement CPU hotplug on Arm
Thread-Index: AQHcOcdPI3ki3mxsgkWwwomwd2VOcg==
Date: Fri, 10 Oct 2025 09:21:50 +0000
Message-ID: <cover.1760083684.git.mykyta_poturai@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PAVPR03MB10102:EE_|DU0PR03MB8809:EE_
x-ms-office365-filtering-correlation-id: baa4d263-8de6-487d-db1d-08de07de71f8
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|366016|1800799024|7416014|376014|38070700021;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?P9XulmKX0tEVilA3Ib30q8J1+HUx1RCK5DBMkcMefSlcMZ/iv49NzswVIu?=
 =?iso-8859-1?Q?R3UwCKAE3A/VFv8K1y4v9DkHbatKiDDNkbjHhK1IfB6N/qgfjTX1WQAVr/?=
 =?iso-8859-1?Q?eme/xvMVRUoNugW5TzkuYR34qyeRhhxsw9cx7ecc3T7+LtuJsIEyYfpJqg?=
 =?iso-8859-1?Q?/gajKHPobvcOkLfIVkvP1GwUK+A+zO4xF1uqduHrRQK0wEuPKTCanAxRJZ?=
 =?iso-8859-1?Q?qY0jj+8YRl3XMd8PWwPZGvM7476oC/OWAVsYivjGRnp3eLnTz36dFZJ6Vs?=
 =?iso-8859-1?Q?uDMfauYZw7BAN7aa73Pl83ZDyUcqky7p6nIz5TzfR8Jss/sbKuZ/t4rC/M?=
 =?iso-8859-1?Q?M4Z6iVVuq6nSNdVwVuUsAebY4eToy1JJgSB0UU6AaypHjFZIlfyMgoQ2Qf?=
 =?iso-8859-1?Q?Vie8jn7c/BhYZl953sDc9WZ8N/2kXIHnQbWNSZguAP5VwceuEXAfoouI/W?=
 =?iso-8859-1?Q?xAW56kjO9DueI1nHJHpWEDsyHj5BrzCg56g0k80SS9V1byF+XzgoDIZrTs?=
 =?iso-8859-1?Q?i5WnT8VMeDx2qH04sX81Y73A+7pffqblnOApyUb2DQUHEH/datffDj0nqh?=
 =?iso-8859-1?Q?tqFujXBAtd1QdGyS+DeM7oC3yFx0PU67XNj06pCaFfkIl3awWZixfJ2vQD?=
 =?iso-8859-1?Q?SHj7f2X2YlCXe99ki5ta9fsrO7psJS0pziP0/WefQD4rQXu8DbHJp8zi14?=
 =?iso-8859-1?Q?NlbELOHPV1vT8Gwge5DnVDKubemx2gyZmoK8DSL3cN7pyWYbtDc9DUivgP?=
 =?iso-8859-1?Q?2Tq7pwkym0qjDeBzjVEReZ0F9L7bQ3DOBlC4eM4tJui7iLkIR95UaLWGIy?=
 =?iso-8859-1?Q?zFA8xHg/CFQPNju4qg1gqk4auLOq4+xLwxsbL1sQ2+Y0PiTRRUXF1t165Z?=
 =?iso-8859-1?Q?G0xpxL+xZWcBpHyuyHDOYgwZdqX7gVMuBppgSJ6Tfrh0vrywhqXxH1UWyF?=
 =?iso-8859-1?Q?UtxmnqzawD5bm27AbKXnAdWzQ/aJhiYIxY/vscphfIuC3vn0OvKeCDpUVc?=
 =?iso-8859-1?Q?lSBWEAM0bXg7vc/SflCtQLAB+PIm5AhSJNZ0nP3raut35C3fX2ykrLZ1wz?=
 =?iso-8859-1?Q?QF2CM8/VIcDM2f0pqMh7FozQUBfteNbMTZUivocnpp2kDNEq9xr931XmOg?=
 =?iso-8859-1?Q?AVe3vZvaD6cyP+yo+x285nYIa5lJ6eU+HOPeqMc1HFnGKDryDHnW4BA4YH?=
 =?iso-8859-1?Q?HB3kgPBLrbK7JNUK9jscABb1TwJLweeTWUA3C1eerBhk7ITRfeLNwImXTM?=
 =?iso-8859-1?Q?UgenlihEKLSONSlNhHBePanTH9InveJoMmEX/O7Xcju/aic/cTpcLmF5zQ?=
 =?iso-8859-1?Q?YZUxIQgp8QIBPQUpxTNsZxR7Ef+5YULWde02G9fB7AWr/E1DFUTLzcNcZh?=
 =?iso-8859-1?Q?5I/3MCB3bqaHOEKFPkgjeb4OHUF86LgukqAW6axfoe6Vb3QtRFr4KUh3fu?=
 =?iso-8859-1?Q?/9exxPpIafUysnDeHuHRvYkVwH9SRnJXSutueLgUNiO0QmI2DacyBVk+0Y?=
 =?iso-8859-1?Q?8sXwGixE6zWZP+/OivG6rFo3K9A+6Ua5M03lhkaHnS72DbqB0buYraoOeF?=
 =?iso-8859-1?Q?eyrwIbhnu2AiF7yiXoxXvL85omZO?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAVPR03MB10102.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(7416014)(376014)(38070700021);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?hFFWb1fPifmF2F4rJU9FqjKtk3wPU6CYOpXXjOyYcyLnkpyqyv9A7pJbL4?=
 =?iso-8859-1?Q?AsPYBrMjqlrDV7qJhtWwGDw8x9gcZFbpggwoY5WAVIuIKwhZamTMXyIAqQ?=
 =?iso-8859-1?Q?sFk6bnZBeWR/oTyinWQL64dYvL0iMn4yT+N6VfnOniWNVyK+W4IegvmD2i?=
 =?iso-8859-1?Q?j6p65G2coxNp9mcXZO2f0qqz/JEM7jh4pAtxb466+WbwAkriBgxp0EOI3e?=
 =?iso-8859-1?Q?ZuXeVOp0x9XspPcBUdCeZlvY7X+pqIMJh8n0DCAT3yVf2Rdyr+Q1+JmVEc?=
 =?iso-8859-1?Q?cTIsv2bF0gE7PCNyJPhtVVSvhiOIIhvE8Lmhvp3ofJ2tJ5n/ck+kRYbAgf?=
 =?iso-8859-1?Q?vvRahLR2LscG5GB9UGxK2grROyW0rl0+Q8645/PEGi8xHkEKkyZq7BXjzX?=
 =?iso-8859-1?Q?1RNfFw3jXf0MxEOXcGz0X7Av6F2LsfN2HAiVryD/6S94MjeycYUvpZBW/e?=
 =?iso-8859-1?Q?ueGenDVjmc/WvWY7FmKnsKdbl/XoHrUteWTi0D5W0JjCi64w2tGVyIUXts?=
 =?iso-8859-1?Q?b/HIkGTID703yzXsG7TC4lG3MU2Hqo7HBXJqC+kA5KgjRQdMEIWRRBabYI?=
 =?iso-8859-1?Q?3cw0WdM+oVq55dBrYOVAZunjjL65hEQeRAvWbx5rkwLamBcndUiYRSdQwF?=
 =?iso-8859-1?Q?wCElvOEeFZWZUTU4ig9SVGwkvR76iM988QKyKjHMHF18mZqRHQEo9fcV/z?=
 =?iso-8859-1?Q?ate/SXaS+bbg7DEVcIgvfsSE3bGZTsCmHNx+iFiABoygYbt8gFtT/5jRxg?=
 =?iso-8859-1?Q?zIkbGV3h0y/Y7qlTGmzmTGrp93LsBHlxvbj1VhQO6KSO79Dzywajk8NvyX?=
 =?iso-8859-1?Q?OREBVbR4WqwyFcRIa54cg/3fwIfiHokC4HTW64zoYG6VIjzpqKGdjO9L1w?=
 =?iso-8859-1?Q?Hnb6rlJgJ7UUoDeoEGiy5J0h7Nf6zvt09f/LJvC7H34xMdx/H6cgPZ108i?=
 =?iso-8859-1?Q?3E64O6IoHy93XbP5TXD+Ua/0PPghHVvyjBskpxc9DdItrDvnBWYWEGvvFR?=
 =?iso-8859-1?Q?FIowA66EhO6dEgM65OcNZuMHIYsUYjrTvzVtJ/Fz5Cd872vqdHi2VUYFna?=
 =?iso-8859-1?Q?tLAB6J9UpOMvb9SkHIKFqbN88DDl0OjG8AQS3pTFygnsBbJ8Pfbje+Z/64?=
 =?iso-8859-1?Q?VBf1bHiAy0tgU/+hbsY01QQQSS3N1p85NCo/OncOsyTMWquC0kCfLtWEvm?=
 =?iso-8859-1?Q?GhwIhMNPuiFXusCuoscOUVJ343XB5tSaoRcqa79UAiKDdPeebwL2uwVdjM?=
 =?iso-8859-1?Q?xwpzcFs2BWn6O3mXtNwf1hOp62Awvkh1oQnjn/obBx7hJ1OHjPFSj/mGYA?=
 =?iso-8859-1?Q?CHaJZDAZ4DXVO5dOMvV2Z1+sEkVzMnnnV/KqAVuyIDIec6kqpJeai3nSaP?=
 =?iso-8859-1?Q?2E7lz18N4cQlKVIVSx5pTHDoUCHzf2KKyd9T0Hc57ciNAeDLiNv1JI/9TE?=
 =?iso-8859-1?Q?oqwpa6Vsfm/LyWv2KrjDAuNI0GyJk/Ionv4sucoguecnQE4QA4G1qe9a37?=
 =?iso-8859-1?Q?ZnDNeRewsneT/W9rRmWfJcn5GioefZWEtUcCf0CHfIRefzt+31MazT0poJ?=
 =?iso-8859-1?Q?3i2g1kaR0+5BzBlQFKz0rXlqEYkvBHI53oD81jQxHFZ2UH0qORozCwhux+?=
 =?iso-8859-1?Q?ZMJvu+ljn7m0/pQOcr5Eezq+Tdxz1JI/AMb0eiU/hbYmyXdsIPj3LpGw?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PAVPR03MB10102.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: baa4d263-8de6-487d-db1d-08de07de71f8
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Oct 2025 09:21:50.9222
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: GfByjsrn3GeVPwHWw7QPhKXpoWQ3sNlf9bI8vfWyOZxoVv2RCCk0un/7mPKgmS2j+3/h9gNW9WSelihmhRsz2w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR03MB8809

This series implements support for CPU hotplug/unplug on Arm. To achieve th=
is,
several things need to be done:

1. XEN_SYSCTL_CPU_HOTPLUG_* calls implemented.
2. timer and GIC maintenance interrupts switched to static irqactions to re=
move
the need for freeing them during release_irq.
3. Enabled the build of xen-hptool on Arm.

Tested on QEMU.

v2->v3:
* add docs

v1->v2:
* see individual patches

Mykyta Poturai (5):
  arm/time: Use static irqaction
  arm/gic: Use static irqaction
  arm/sysctl: Implement cpu hotplug ops
  tools: Allow building xen-hptool without CONFIG_MIGRATE
  docs: Document CPU hotplug

 config/Tools.mk.in               |  1 +
 docs/misc/cpu-hotplug.txt        | 51 ++++++++++++++++++++++++++++++++
 tools/configure                  | 30 +++++++++++++++++++
 tools/configure.ac               |  1 +
 tools/libs/guest/Makefile.common |  4 +++
 tools/misc/Makefile              |  2 +-
 xen/arch/arm/gic.c               | 11 +++++--
 xen/arch/arm/sysctl.c            | 45 ++++++++++++++++++++++++++++
 xen/arch/arm/time.c              | 21 ++++++++++---
 9 files changed, 159 insertions(+), 7 deletions(-)
 create mode 100644 docs/misc/cpu-hotplug.txt
 mode change 100755 =3D> 100644 tools/configure

--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Oct 10 09:22:02 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Oct 2025 09:22:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141097.1475746 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v79K6-0007kv-1B; Fri, 10 Oct 2025 09:22:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141097.1475746; Fri, 10 Oct 2025 09:22:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v79K5-0007kF-TA; Fri, 10 Oct 2025 09:22:01 +0000
Received: by outflank-mailman (input) for mailman id 1141097;
 Fri, 10 Oct 2025 09:22:00 +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
 <SRS0=uR8D=4T=epam.com=Mykyta_Poturai@srs-se1.protection.inumbo.net>)
 id 1v79K4-0006bm-Ih
 for xen-devel@lists.xenproject.org; Fri, 10 Oct 2025 09:22:00 +0000
Received: from DB3PR0202CU003.outbound.protection.outlook.com
 (mail-northeuropeazlp170100001.outbound.protection.outlook.com
 [2a01:111:f403:c200::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 91c5adf8-a5ba-11f0-9d15-b5c5bf9af7f9;
 Fri, 10 Oct 2025 11:21:57 +0200 (CEST)
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by DU2PR03MB10161.eurprd03.prod.outlook.com
 (2603:10a6:10:49a::5) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.9; Fri, 10 Oct
 2025 09:21:55 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::b8c6:f37a:987a:beb]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::b8c6:f37a:987a:beb%7]) with mapi id 15.20.9203.009; Fri, 10 Oct 2025
 09:21:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 91c5adf8-a5ba-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=cClscKG151OiELPCUjtwjUlSQcoTg5QrOpoKjrtmoiKjSdbUbTGUDtXVSwC0m1EmEOvFI7yRFV7uldpPotCc+yHNRFmiuxE3SSvMGbHBLXiHXqeRNsaiCeHeFb2f6hFb8BOIuydOYeXPvAQZ5IFY+PSm07b/M/M2XpqzlHTAW5OVPt74rN+5I/eVOpHYCnCS2St/PnOc5KMHx/tfwRRIbsY3tLRfFfNJoON382dw4d1UoLZra1XkQ9ZTtmdFLK/I96U0CjGYZt7ah9WWM9xKfvYVpQFcLQrScIaLqRPA8H8tY/MxYr6v+D0yezuJ2xm54YcC0UvSqrut4SNqFrGG6g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=AToR280Ck6+ZL6TnH21R3RTZINBkxX3LZEidlj0YVUc=;
 b=cMo8L7/CACGRPtCzEd+JZJVhA3JZ6a8zy/i5N9MUsjM6uHCRumldIOniYMzzv3Zgd5/BvKUrg+Shq+aXf0Hq7XwTv1PVgt21pUSSWOiVLbUUQjD1B4iSgsHKAchxsbNil049M4XN0QfVKk3ueLWmtqK6QmPznFchrN9MvX95W7zXkKRO0ANWyrS+iqjKfMMeSm2hStubpU+BzCZfZNKMWN3UtM+8Eh6Z1SdaUreYSDJ4hFLETbQrnUSAYm14QnPFDprfsFOH3rbDmp8Ru0+YiY6Mv7can8B7FrrZmqAAUkmOH2Wih09LqwSZUWceV10+G/VFVs8LtH/9YD3i3R3SOg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=AToR280Ck6+ZL6TnH21R3RTZINBkxX3LZEidlj0YVUc=;
 b=nVhcnCnfvVLUjfWJmJc/QgpMzDVbfZGsau64pqKdks+FEd6TqUv3q1JctDFLiPwAYXiKS6dEnX8A2DU1rnzcdwy4emWAope1Rudloxo/r1KxoHxHAyfSpKkxHjW0sKikgPxV1bcDn7VCYaLIC3ZVi3iPCagr2pd0dfY3YxrtzgF80wckIUoSS55NOgxK7ROB+jVv/4XgIQgSH0C7ebdDbqp56iimnoQb4Im5BvZecJp7GXaRv9bh6HMP5g2CFmVaC3e6DVhDp9+ACE5rhHkl6p2UmUDishucjhQHTulfnNfzPJiALdVHU/JQtpgqc2yxH/jf9UkvfMKnqiV9mnvraQ==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Mykyta Poturai <Mykyta_Poturai@epam.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>, Julien
 Grall <julien@xen.org>, =?iso-8859-1?Q?Roger_Pau_Monn=E9?=
	<roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v3 5/5] docs: Document CPU hotplug
Thread-Topic: [PATCH v3 5/5] docs: Document CPU hotplug
Thread-Index: AQHcOcdRAbW7d3bUAUGKbidrnjC6RA==
Date: Fri, 10 Oct 2025 09:21:53 +0000
Message-ID:
 <a34437bfc6511f7442cb357c956ba4aa2ef4cf0d.1760083684.git.mykyta_poturai@epam.com>
References: <cover.1760083684.git.mykyta_poturai@epam.com>
In-Reply-To: <cover.1760083684.git.mykyta_poturai@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PAVPR03MB10102:EE_|DU2PR03MB10161:EE_
x-ms-office365-filtering-correlation-id: 0d0b4777-d0f1-4ae6-ce20-08de07de7475
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|376014|1800799024|366016|38070700021;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?YeNbn0JufEkLxJdVTqRFCcmDXE2u8Z7oCzepI19fkUWd51P3nP3QCh+K9P?=
 =?iso-8859-1?Q?pwM9FXNyHK3rENT3BRabTuiLCcfiWemxVbP/oTHwuonF0fZuJQTcoSIPaO?=
 =?iso-8859-1?Q?F6qTdODq414Z/eUydd83ILezjyPKN6SAyFtGLps1uFguYae7U9w7HPBV1g?=
 =?iso-8859-1?Q?L9zINMEs/JXhf08ONEk3QMoKrVojxo3+IYoSl1bLXCGNBBtGYGRP4T7AW5?=
 =?iso-8859-1?Q?k5lml41gao5uLtvE5X7ecWfz104gyvJSCbxT9omh/rrdIsVUjTQeoM26Hp?=
 =?iso-8859-1?Q?mqeksM6iQmpRjID20URC+6HDfh4KhRcDVOdFngxQ+PT2dTN25/dJcDHRkM?=
 =?iso-8859-1?Q?Ug6/QcXWNjVrHa3H+TAcII1sDaPBXocvN5EMwiY+pGhWQSUQfCAU4+krbF?=
 =?iso-8859-1?Q?uEGc63tbukbOOpxc30NHTY3erW5VNmPrCofdnUYan3LNo6xZ5bIEj+rIBp?=
 =?iso-8859-1?Q?RFt1hLNYt0tZ2fynmvlx2a4pIPc+3T3ERRy0KDswSnUyrQVnea6axSEdwU?=
 =?iso-8859-1?Q?cxsjnzG7+q3ozj8iKpWWxsTmi70VQMlJ9I0XJLMaN1wBV8M73DkdqnazUH?=
 =?iso-8859-1?Q?IRIRD6qd88pscWU+qdnjmNgRjQVyDqyf84S7GbtbDHcJeepf38TJCI8VWi?=
 =?iso-8859-1?Q?wsuDSlRBJGk4+XXEJ5lpA27p7SnPxjQ4dTKLfCbXwTGef/fYgjagBJVG3Y?=
 =?iso-8859-1?Q?gIBuzDgDMGN5PZWUYltu9F/Od+J06pDlZ8g6zqINXEUweSO5MDqx0vHb8V?=
 =?iso-8859-1?Q?tiFaGbcCIEZvyT5smR909ckTMcDeCHTG69SJ7x2SccsGdRW4oECAVenlh3?=
 =?iso-8859-1?Q?g1JZiQxDUNV1NW/CWZguQmDPobSHZ+5dSB3J56QoONZrVw0+SAyuSFBCSN?=
 =?iso-8859-1?Q?BZLT9pVt7z+ZpxEP+VL0RswypnsM7GP2suZ/6ZBHBkO+e1cdHNBgEpZv0U?=
 =?iso-8859-1?Q?OJ2debOBcU+llYWcbI0cyS2Qf8Q7TAkq+0TxOiOqNz4uSGBqALhJIvapJ8?=
 =?iso-8859-1?Q?lmshYa9raEsz5ppMX3FghQWGbYYn/LAoTZQ9rU5GHIgMXL0WWpsMwKfWSB?=
 =?iso-8859-1?Q?pCPvQmQvCKnurnfZXmPTDG2cIClsEmDUSkOLlVUk1tktKe3NwbSPslk9/p?=
 =?iso-8859-1?Q?dS++fa91viPHFKVc1qfgCqhGDLjvIT2rXTVtiDcSb5oX3Ewlduh9JLXLU8?=
 =?iso-8859-1?Q?RyglOA9DFu5Y18bEblWSLWWRMLVwirL5gPR3BZFkpSHxPmEQHCSpblRh3i?=
 =?iso-8859-1?Q?UvwqGV1Qe5XzyZll+VVyXyHDrrkSEr8jlvXuiHBvAa81dn3iEM5vmS1LCr?=
 =?iso-8859-1?Q?eUObAHAMhdri/LOa6tizoUP1FjqGHrsAKqM35+IONVcffFCa07EYrZWezg?=
 =?iso-8859-1?Q?JveSg7S8lPrQ9nwZxEgk/q+95S8KQc4QFF1ewCXIHJqNeAfGPT0ECFq5hN?=
 =?iso-8859-1?Q?Pd1aLoDvwgsOAZk7rZ7Cs7T0ZML6y7bDVTQUvk7GQYUsTHsIA2oQ5wpHO3?=
 =?iso-8859-1?Q?NeEoK2qbGIT2AWovKWlHDn9RcV/zJZoHcv88H8B5HzgAZ3YCymlljt6QH9?=
 =?iso-8859-1?Q?VCz/0rHJWtvJx8ns1CtMWa1zc24q?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAVPR03MB10102.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(38070700021);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?K273MIi/OHIW1s0nYMxGKeGILXx66H4iyg7BP7XbOJUMle1ZJG+RKNElo9?=
 =?iso-8859-1?Q?KhxEkBevmFRKwpGMR5TiW6RcqmgX9MN4ADc7GbM7r7xZWB6UphQSMwEbRf?=
 =?iso-8859-1?Q?+TLqATOnglDnQGMx7qVtTxdm98p/4J956EczT/17NS+EmpULoy0PioRSRT?=
 =?iso-8859-1?Q?PgVxw2piysqs922uQQLwqJXAbOHrYoEQj/oICTfsAKHshKMoxjtegoDYm0?=
 =?iso-8859-1?Q?bRXoZBtISd+uc7q+2L/9f9d7UMHO2pLVw8VJqrMtUq0KKOex9Mo1CrcilP?=
 =?iso-8859-1?Q?ivA9mMjc6OSoGDib6fuAgFsTFeuM1e6MHDkAkpitohIpqJqo6B5CoH0ezd?=
 =?iso-8859-1?Q?8GI44xm8yrKeDQFjfpJ4fBfPj7XDZJ08mEZjSH50ltvPVyZuwyWLSVBxCz?=
 =?iso-8859-1?Q?BzCKNE98m2MGLJr02VVANzg+w1ZQa2Nv3C+jk75vzZGWCX233b8KvFN6Sx?=
 =?iso-8859-1?Q?s5IwN+KVuXF+a0pX7xk/hnfht6VqlgiBScU5JiaCM0ubbc7OwVq8HJ5dWp?=
 =?iso-8859-1?Q?lhw4UqhtfgJWdnvGIQlSepwKenFw2Uqmhul7uwxO+4JtYaX2FieB/jW38b?=
 =?iso-8859-1?Q?yIfC1hG9dS9eji9S367r06B2glG1OXHiyF1oSq09/RqM719TLf2lqwSIgV?=
 =?iso-8859-1?Q?FdZHJVs37QmQviQZPXeceHO0P9e16u2hpV2iEIdZtFH4OWGI4ngAjapO6k?=
 =?iso-8859-1?Q?XuzJSErgi6aE7s/kzpofxzPTjvsTO7mtstLM1Kt6VZYqbZefMaOfZfZ5ki?=
 =?iso-8859-1?Q?ruZHfLAVPs385I2Lck0be0mK99GRnAyp/qytqQdmtWdEPo653Dvvgk/ifU?=
 =?iso-8859-1?Q?Mucyei/qvrUk72TJec0VbR1YThpp428iOkr7SAiGHxGsVUcZTuxTUe2+vR?=
 =?iso-8859-1?Q?yv010ihc9sNmZ9XXKhE/mVR4spTfSYi4JlAuqf6yElOeGogJvNFLt8TBeM?=
 =?iso-8859-1?Q?DH/bTkjHv75VgU9hPuOo9Y14/V5M56cE6R4VApqKHF5ThOAFWc5D8rkv3h?=
 =?iso-8859-1?Q?mMvNbx0GAGAEsXBTJv1apUMQLqf01KJmkr9QiNUrLNdQNhgWdTWHOirFIP?=
 =?iso-8859-1?Q?CR7uJDs1SNduMIA3L76USq1Np7W85SBMBjq22Qwd9Y2pLit41ZRWwrix2T?=
 =?iso-8859-1?Q?fbV0nVqdiN7slfbalxBy7m/NkuTKRNntpBTzQt4w6gulFF8YHjUSpQ0fQT?=
 =?iso-8859-1?Q?GbnV33B5etbImZZ8YtA3bONoJR3cqEkJKvXFw07OaUBiHV2l1pJeb3Mzzo?=
 =?iso-8859-1?Q?AhahK8e2INfSaxsAKWmbJMFjQrCpf85Em93bEJ6FOOmBNs9cCB9JPiTXrv?=
 =?iso-8859-1?Q?NlG5UFcMqZxLigaTJecoE2lXvLSG4/4YlQVLC44QfAuIYezEQPvgPlDKjS?=
 =?iso-8859-1?Q?0vlXyHuHYfJFMO6BHGXV98FsladK5WE/GnldmLH1RGSNn1KuqYhRb4UwxX?=
 =?iso-8859-1?Q?fBzIF6xkhXFqIIdR+XhbhUe1FJfTHvBnrpxQoORnXVHvGfCgHs4IGDvtXK?=
 =?iso-8859-1?Q?4GtA4ii1IqgFJLoBhfd4qmMihpbneQw/nHUn36vfH9zfeLh9oZYb4TRE1m?=
 =?iso-8859-1?Q?9SsYRonfVydeH76R5rN17cwvFxBiPWZAbQtVhpnIT3vcEnMJFfoVQNTyXU?=
 =?iso-8859-1?Q?hzNEbJIj2CnGEWckLCoKSX6+UYD8RfAoqvTle5U/vokIAETHC1fyivBA?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PAVPR03MB10102.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0d0b4777-d0f1-4ae6-ce20-08de07de7475
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Oct 2025 09:21:54.0127
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: sAXNlbfIDS467xFDgRECSJ7EHe6te+Spm0WsckI98HKv3smxRtVydfeGEr5Kym4iMHPLj++tbz18JG+Ro/s52A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR03MB10161

Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>

v2->v3:
* patch introduced
---
 docs/misc/cpu-hotplug.txt | 51 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)
 create mode 100644 docs/misc/cpu-hotplug.txt

diff --git a/docs/misc/cpu-hotplug.txt b/docs/misc/cpu-hotplug.txt
new file mode 100644
index 0000000000..f2b340d2ae
--- /dev/null
+++ b/docs/misc/cpu-hotplug.txt
@@ -0,0 +1,51 @@
+CPU Hotplug
+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
+
+CPU hotplug is a feature that allows pCPU cores to be added to or removed =
from a
+running system without requiring a reboot. It is supported on x86 and Arm6=
4
+architectures.
+
+Implementation Details
+----------------------
+
+CPU hotplug is implemented through the `XEN_SYSCTL_CPU_HOTPLUG_*` sysctl c=
alls.
+The specific calls are:
+
+- `XEN_SYSCTL_CPU_HOTPLUG_ONLINE`: Brings a pCPU online
+- `XEN_SYSCTL_CPU_HOTPLUG_OFFLINE`: Takes a pCPU offline
+- `XEN_SYSCTL_CPU_HOTPLUG_SMT_ENABLE`: Enables SMT threads (x86 only)
+- `XEN_SYSCTL_CPU_HOTPLUG_SMT_DISABLE`: Disables SMT threads (x86 only)
+
+All cores can be disabled, assuming hardware support, except for core 0. S=
ysctl
+calls are routed to core 0 before doing any actual up/down operations on o=
ther
+cores.
+
+Configuration
+-------------
+
+Sysctl handlers are enabled unconditionally on supported architectures. Bu=
ilding
+of the userspace tool "hptool" is controlled by the "hptool" flag in the
+configure script. It is enabled by default and can be disabled with
+--disable-hptool command line option.
+
+Usage
+-----
+
+Disable core:
+
+$ xen-hptool cpu-offline 2
+Prepare to offline CPU 2
+(XEN) Removing cpu 2 from runqueue 0
+CPU 2 offlined successfully
+
+Enable core:
+
+$ xen-hptool cpu-online 2
+Prepare to online CPU 2
+(XEN) Bringing up CPU2
+(XEN) GICv3: CPU2: Found redistributor in region 0 @00000a004005c000
+(XEN) CPU2: Guest atomics will try 1 times before pausing the domain
+(XEN) CPU 2 booted.
+(XEN) Adding cpu 2 to runqueue 0
+CPU 2 onlined successfully
+
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Oct 10 11:00:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Oct 2025 11:00:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141169.1475762 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v7ArT-000506-0b; Fri, 10 Oct 2025 11:00:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141169.1475762; Fri, 10 Oct 2025 11:00:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v7ArS-0004zz-Sh; Fri, 10 Oct 2025 11:00:34 +0000
Received: by outflank-mailman (input) for mailman id 1141169;
 Fri, 10 Oct 2025 11:00:33 +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 <SRS0=GA0H=4T=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v7ArR-0004zt-CB
 for xen-devel@lists.xenproject.org; Fri, 10 Oct 2025 11:00:33 +0000
Received: from mail-wr1-x434.google.com (mail-wr1-x434.google.com
 [2a00:1450:4864:20::434])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 56a500d5-a5c8-11f0-9d15-b5c5bf9af7f9;
 Fri, 10 Oct 2025 13:00:31 +0200 (CEST)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-42557c5cedcso1144629f8f.0
 for <xen-devel@lists.xenproject.org>; Fri, 10 Oct 2025 04:00:31 -0700 (PDT)
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-426ce57d447sm3685535f8f.9.2025.10.10.04.00.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 10 Oct 2025 04:00:30 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 56a500d5-a5c8-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760094031; x=1760698831; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=7V3HCKtMFFp/bXzj0XBMuNcCVpAqGXRLdDvCyr66Jz8=;
        b=HsNeAT9ROxWk9zCkU/kZFPqWOMp4qMLCLD3GvicMwhwydgIMkij6SMilJP3hw36mUo
         WWdOofu5rEAT3emnTJNO/vkNy4djC8BH1w/iTON/CiBTyTq3Pr7NlbcpCLj/KW+gXHYE
         bFXNuFeHPrD2babQbIjcSKEE+xcOCmdty37EQ828GBSHYl3Erg16M9UnfIYe22vnC6Tv
         nMIm//YlP2JmtTmoexzOmAq7XSxpGE4coNJbK0N6n/dGpm17kbVAub7kGaNIHt/5rBYw
         UQGm5UB6uedyKJU5lCzJR52SCBUu3CxZbhE4Xm3HHEOr+8coJejDUGQ0kUfhTYqFUIB2
         D6zg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760094031; x=1760698831;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=7V3HCKtMFFp/bXzj0XBMuNcCVpAqGXRLdDvCyr66Jz8=;
        b=PwrSdmPObKV7SEZHpjZIsJMf5Q/BGtLj30UpfeD83O8hg2p1f4+q5iOwucQuO1k5TO
         c4LoBrXy7RLG2zjcvBosOsuisarlC2S4l0uvRO99MSGEWcV+F9MMUTFERxE0xA7Nnr0p
         GvQm8duveGi/KxvQtcuGJzPhQRlfogd/WTqGsC4b3ylYPHqbsZjlNCJifXLycuJxdzLu
         M0yB7sDEUU3iusxGIiO4nKmVxV8fVAjQ8b7eUbVUABB/4GVgh9C684KL7a2LOG7Q9rRn
         7y6ryqIXDuzNY7X8IC9+dPWn24jf6ZF/RH0vEcuQanstZQgq5rq/jZFQBkLTLkhT8Dr+
         fRZA==
X-Forwarded-Encrypted: i=1; AJvYcCXjitSKAPRNrD21RlJ0NknRhWNjJRgSl1NM0BYQ7Et0Df+wKSpao0P1XPXOhztWMqQy37WUqoci0H4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YznLyV1W7xGxh8ULd02fMLxsdjWGJDqok79Hv51zjZD+jmYSaC2
	ySbwU/JBJPvmkoXCHg1R8hRI8WXMn1dXPqlZw+3Ysmpb6V+A1WSisXvgRaBBZxpj1Q==
X-Gm-Gg: ASbGnctC4s/wlj6vHZ8+1C8g3XyqTJEff5huNeVgVhEAvTpteIxPyFkVPSj3U6g/N0c
	TENn6vzw7h9TVyBTAvbPyt48cXUbYNtX6tiWQn03TuznqA2oYktEF6BzymEVtRkJuKBn5guSYnT
	r9SFInJJIpYbDCVAoWVmSe4pG+3g3HOePxJEUS5d5zLnuOyHjV/RGfHlVIWr9sN9aUXU59FDSgR
	bM/BNiQRtepMU+/MorzEW40Z3aWjgnPOYNonaq8Jrt5ginat11692QEv5SuSBssG0RBQ32GYbMn
	cJw/3Pq5rS09k/WVN48giNRDq8FBOp1RmMj5gNOfP9eF6i0bifPT8rd+O/ZFN7oxA5vQUO8nOfD
	VDfvwcZZkeXZ9U3xldidCMliUite7YcO7iOALV8SfCnAm35MW99Z6q+r4kg2ZpocEvHabxWgXgX
	SiNv1KpwakqsIXQtRFDnk041ZwYQ==
X-Google-Smtp-Source: AGHT+IEOLPNvQPRDgttAo8YR9+dgEVpTCla8JrPFv+DeHazhggps6vGngzvjL6Fh35Lb1Z+Nuu4fKQ==
X-Received: by 2002:a5d:5c8a:0:b0:415:7a6c:6a38 with SMTP id ffacd0b85a97d-4266e8e6ebemr6878314f8f.59.1760094030939;
        Fri, 10 Oct 2025 04:00:30 -0700 (PDT)
Message-ID: <3c6ccc37-371b-4457-8d55-8eeeb356c740@suse.com>
Date: Fri, 10 Oct 2025 13:00:29 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 18/18] xen/riscv: introduce metadata table to store P2M
 type
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <cover.1758145428.git.oleksii.kurochko@gmail.com>
 <f1e346b228ea76eb5bd988e8aab0062cbea58c9d.1758145428.git.oleksii.kurochko@gmail.com>
 <4c2eb99b-3e88-4364-8c3f-7c70d4064ef4@suse.com>
 <5142b7c4-ab2e-4f73-a60d-3d23fe255ca7@gmail.com>
 <4232140b-e44a-4d8b-8178-b583a2f4fabc@suse.com>
 <e875ffa9-28c5-4733-b079-babad3734a9c@gmail.com>
 <fb6debfa-cdc2-491c-a488-6a4bf64ca7ad@suse.com>
 <a4c674cf-045d-4bf1-b66f-96b6be933bca@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <a4c674cf-045d-4bf1-b66f-96b6be933bca@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 10.10.2025 10:42, Oleksii Kurochko wrote:
> Anyway, if|domain_crash()| is called, Iâ€™m not really sure we need to set
> PTE type afterward. We could simply add a|return;| right after the
> |domain_crash()| call and so we won't have NULL pointer deference.

That's indeed preferable, so long as it won't cause other issues in the
caller.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Oct 10 13:52:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Oct 2025 13:52:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141221.1475774 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v7DXk-00082G-5V; Fri, 10 Oct 2025 13:52:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141221.1475774; Fri, 10 Oct 2025 13:52:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v7DXk-000829-2p; Fri, 10 Oct 2025 13:52:24 +0000
Received: by outflank-mailman (input) for mailman id 1141221;
 Fri, 10 Oct 2025 13:52:23 +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
 <SRS0=1vPy=4T=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v7DXj-000823-9k
 for xen-devel@lists.xenproject.org; Fri, 10 Oct 2025 13:52:23 +0000
Received: from CY3PR05CU001.outbound.protection.outlook.com
 (mail-westcentralusazlp170130007.outbound.protection.outlook.com
 [2a01:111:f403:c112::7])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 579c92ee-a5e0-11f0-9d15-b5c5bf9af7f9;
 Fri, 10 Oct 2025 15:52:22 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by PH0PR03MB5944.namprd03.prod.outlook.com (2603:10b6:510:36::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.10; Fri, 10 Oct
 2025 13:52:17 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9203.009; Fri, 10 Oct 2025
 13:52:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 579c92ee-a5e0-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=kn5IP+DqaMXyfnMWEB5VmSJE0HTV9LxmatzAcwYtmBuUUKrAm4+nSdEIxu7IY3buqZBIHuYYLAv4yJ9tq8Jtp1na4yWde2OjkKgATeHqtgimhbvZ9sSDTo3+Z7mg98sSE/K1QkpQSx6FmXzxBUarjl1Xpdl3XExbegk78p1vRw5I9QFoTEmDF5QWmDMtagpcJfDSaGXfXttsnGHNq7CdD2qPCBmtCk3USIYSqUxjnspdiMhq6EWglwgV/oVoWaB/gD86sv651v9vML2xixdCwKvvh4QZfDA7EtFG6AkrwH9qqeHgocw5gr4fSHgON2K/hyrkM1J/LPxyKmwjrPMpvw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=iRsbWzZh6NWmanuGC6yLuMnE8VsKm8UEG2Uo5cuBanA=;
 b=XoXE2bYbE4AT5bsgB9CI/0rcBU6PtZv830rJYt+NuQGdBzfHnpGdlS4UYP7Nj+cyVLUNIgowvLKm01JqvQaXUnX6mgOULyFX7fSxp42DHZe+OF71cH79GFkMxy//VhSRTTyQWogkj1rdAHjPriqvEfoYMIW8uAoWS6N+mrJt+uEPdHvRoqZqPb7p9RoA3unhKFiwav2wHOFV3ahf4CeXqw+kZ0VkV8kkpI+QLjy8PP0bBroGNSO8X3JQo5HuvtXrjTwwuGW55PejEwKAqwfAKR9tykfCsXAgQU4AxhL2kS9S1yv5UbkEnBvdLkTuGvq6mTKfpUNYf4pXeLgJCsh9zA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=iRsbWzZh6NWmanuGC6yLuMnE8VsKm8UEG2Uo5cuBanA=;
 b=fTreqWyfS8HCBNH9qapqk7yQIt6y1BwGs4Xgnmn0B98oq1JBoXKtvU2kXfOlW3BzCSwAjf0Lvurg4YMEXwEJCLd6xcxy4GzGZR1rHIIn4xzZpKumNBqvP3lyjYUvYjiBOo57zsRdXmwWzuA+ahsk0VI4JTZc61Rn1HpUlMcw+kw=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Fri, 10 Oct 2025 15:52:11 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Andrew Cooper <amc96@srcf.net>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Grygorii Strashko <grygorii_strashko@epam.com>
Subject: Re: [PATCH for-4.21??? 2/3] x86/vLAPIC: drop VLAPIC_VERSION
Message-ID: <aOkPi7DIZtlDfSKO@Mac.lan>
References: <265d5053-af61-42cb-a3b9-ef60df39c21b@suse.com>
 <feb47fa6-27a0-4cf7-8fc6-bf5f29f467c1@suse.com>
 <aOaP54CZw8lgLLUv@Mac.lan>
 <4523206c-7e0f-4197-acaf-4a1a08dad929@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <4523206c-7e0f-4197-acaf-4a1a08dad929@suse.com>
X-ClientProxiedBy: PR1P264CA0146.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:102:346::11) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|PH0PR03MB5944:EE_
X-MS-Office365-Filtering-Correlation-Id: ccc07b25-5ece-4a23-bf2b-08de0804397e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?MkdvZVNmZCtIQmxHQ3dvZmZHUjhuQmo5d2FjV09ia2lkRkdkUGJ6Y1VwY3Qw?=
 =?utf-8?B?MFNMcGJ0bDZZMjdBZXZRd2RLa1o3U0lZNUorc3AzRFJiQ3Z4ekE4LzkrYUty?=
 =?utf-8?B?cllDcWpxWHJzWm9XVm9BcndPelc0cUdvUVFZTHhjeXErSmJYb2Q5RHBzZURx?=
 =?utf-8?B?aWxYV21DclRpeTArMXp3LzRQNDZWQXFkMDJLOERIYlZncmFpcFBOMFoyU0kv?=
 =?utf-8?B?VERFT0U2NjRaOUNYU0hDcysxc2ZqYnpKUnlEYUJQaS90U3VSYktmc0Y2NG5L?=
 =?utf-8?B?d05CRTJ6THBUbERHUWM2S1FPbHNXdTNWSG83ekhLMVNGdXgrRVNKbUpJTFpQ?=
 =?utf-8?B?VkdMVmdSc29UQ2JnMGlLb1lsVHdOa1lHbG1zYVN4b2ZYSjlydU5DZEFWM1Iw?=
 =?utf-8?B?RmdYcWhjMHVWZWFMMUJXeTQ3TEVuTFdwSlZuNjIvelNxbDdRVk1jTCtSWity?=
 =?utf-8?B?SzczYXFNSk1nR0hNUHpHL1BjZkNuSXBSYlNoczVBOCt1OHJrRVBCTFo3RStp?=
 =?utf-8?B?aUJ0Q2U5aHlWdm4vUkxDL0tMMUZLZmczR1VMRCt1VzNpSWF5WHNrK2p5dVFC?=
 =?utf-8?B?VTJLMFNyWldldk5RWk9kWElJaUc1NmF6cnJ4cGFib052NjZ2bjRUYUhCeFU0?=
 =?utf-8?B?ZngxVExQY1VIWCttWjNjSWoycWxXVUZ2eENrTEN1TVRZdVlKVWI4NzdLSjRF?=
 =?utf-8?B?TDJkRHVNdEMyY2hVK3hDamxhL2JsR09nN0kvYUtyYlNDVDYvbC9VTjk2L1NI?=
 =?utf-8?B?cEVKY3dzMmRIQklPMkhuYW93bWVVa09JTmJteWlqSmYwNjYwaEJPZllmWVlm?=
 =?utf-8?B?dG9sSW13MTZVdERDT2ZUNUl6ZlFucXFmL29OcWc5cDdkQUo2R3RBZmI2dlhJ?=
 =?utf-8?B?bzZwSmV0Yng4OWhxMUd5MWw4MzlGS0ZtWTQrSEtmRlFod3JOamFyVW8vclJB?=
 =?utf-8?B?VjFTTmlzQ3R3djlBdmZ4OVowN1VnVDQxWTVNYThzWGtTWEhJcm8rNWhEY2N5?=
 =?utf-8?B?YW1nTmVrNGlZbnhRanZZMm90d0E5T0dMd282eURkSENJTC95R3ZmbmJ4L1hN?=
 =?utf-8?B?bzNCaG5FZFNXM0RZdVNQcEQ3cG5yOTVtMEl5bXBaRkdYWVdRTVltbXN6bWJt?=
 =?utf-8?B?Tkc4SmxOeVFoSXJXWGJtTEdXa2wxK1ozNEVOcUJ1a0lEb3lhbFJzVUplbUVq?=
 =?utf-8?B?dlBCaXFwR0YrM0YxZjFBZlViejZaVUN2enFlWHBBVHJWOG5ZR0dQMGt3VlUz?=
 =?utf-8?B?dzlURzVFZ3hUM2FNNkRJU2dDNGlzMDRxY3VXOXZsVEIrcStYdDZpUEIyR2Yz?=
 =?utf-8?B?c1BHaEVlZHR1R0N5bE9NOFU3RWRHVURzZ3VDZW13RHJmaEZiUlZtZ3FQOW5H?=
 =?utf-8?B?MWQwSmdtR2xnUE8zTWEwWGpUSDZkTTVhM1RJQUxKR0ViN1pzSHowdjNUcHZU?=
 =?utf-8?B?T0lPWEluc21nMC8wNEN3eFF0QjRzQzZmNWJkTFJGSEgzTktWWFdzdHFiNXN1?=
 =?utf-8?B?T1NhUTBVbnlSTFo0aDJkRVNFdnpaNTNtTkdFMU1xeDJYUys4MmNSU2Q3OU0v?=
 =?utf-8?B?VThzMm93MWdLT3ZPT0xBWldoQnVDRVRmYmFaV2gxQkQzVU56NmVyemc1bTg2?=
 =?utf-8?B?YkVqS1dRRzliWUpOOFFhQUY3WGpxSEM0NGlXU3JocnBQRnJvTHRUVldINjZs?=
 =?utf-8?B?Mzl1WThYK0VHMUc4RHdEQm5XUjlqdmNGbDEzNExnTTcyajFPL0NXQUttbS8v?=
 =?utf-8?B?dlZsaVA4cExINExKU0Nac29WYVdEbFRHbDkyMEJUSDNudSs3MVVrWjJ3L3NJ?=
 =?utf-8?B?UE9zZXMvUXdyZ2Q2YmhHRlNyTDVJcEFRVm80SkZaUHZYaWNLaU1ic1FiSGpE?=
 =?utf-8?B?dkRpKzhSMWtGdWR4bnlUM1BKdDhmTmdQUWVQT0xhbFB0amhicjJHVTQ2VzhI?=
 =?utf-8?Q?0iCdEcCAypXFmKiD6NNn/NJzcgVhcvPN?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TEQyNVNOWjl5V1ZEUk1md1RFSzZBaW1oNHZpc2dYWGhQVzhEelg5bEV0SlA4?=
 =?utf-8?B?TmNNdW9NcjJ4Y0E3c0NsVFF0RDJPZG1PaTgwbEluWHByQmcyS2Q5ZnJLeTdp?=
 =?utf-8?B?RWx3cUNTSE9Wb2F6S3pJQm5ZelA1MnA1WG9CYTVFa3duLzBmKzYrUGpRMjJw?=
 =?utf-8?B?RjFOLzE3aENBV1IwdDd2UCtDMFpEY3p1bXRlelZEcStkSXpmVDlPeW1rcit5?=
 =?utf-8?B?ODBPK1dQUHMwQzZRZk05Y2k3VERkbENiOXFTNVYyZmNHNUpycTZuM0xKcGww?=
 =?utf-8?B?cGcxVW9TRWhET1F2MEp0blN2S0hCY2g0MDcwRWgwL1FVYkhOUnRJbU1KbzFs?=
 =?utf-8?B?cXBOSUlzZC9SWXVqSmgxQmU0aHNiSnREa2YvZGkxVWVsK3lmT3ZmMmtPckdn?=
 =?utf-8?B?Zkk3VzN4cnJ5WWhVdVF1M3dERGNHeXdENW1mclFZa2duYUpwY2I4OUw2MEIz?=
 =?utf-8?B?RmM5Y1RUS0dINW9RVW9NbldvclVWamtDcWxJcWd4YVhVN28wNWYvcHo3RXJz?=
 =?utf-8?B?Q0pacWh2Vnl5Q0xkMENnd0lrRXMyVFJPc0tFWlJxZzlpNGdLSms0T3BkWlVS?=
 =?utf-8?B?a29XeE5Za1FwYTJRMm0yQktLVzF5OVVhRW11ZFFjN0VqNVUvcWIvVEsxNjFW?=
 =?utf-8?B?QXA2aXc5ZmRLbzRwUFFieVZxaVlSMklRTGJsTTJYZWltZG0vaU0rOFY3Nks1?=
 =?utf-8?B?cUh3aFNSVE1SSHpmeThBeVdDS1g4d3lpem1OaTN6NEdjSWpYaXBsRnpFUlgx?=
 =?utf-8?B?dnFXY3NWZTNMTlo5L1JWMGpoOEFwNERWc2J2RzdXdHExTEhIYTVRNFEya1Ax?=
 =?utf-8?B?U0N2djhFbUpIcVJHcGNlczZqeHJYQjRYWmNzSFVtUzI0MXFjUzdwVFViMDVC?=
 =?utf-8?B?VklQVG01a3ErVkl2d1YvbnhHVnN0QTloSXVvdGhjNHJFRE51TG9VNHJZcjNP?=
 =?utf-8?B?RUxpcjVlR2R0NlgrMFV2RjlodXZMM0VKVTFQbXp1a05tMkcwY3gybzJ3cjVw?=
 =?utf-8?B?K3NMTUxSR2dGYmc2MmNoa21Kck5rRmdKaXNLN1BvcW5qRjZLWjljYllNU0NK?=
 =?utf-8?B?SXY2T0ZzdXpFRTdhdGhCbkRWckM1dEIwSWQxL2Z3QWs3eEhrelBROGNzYng3?=
 =?utf-8?B?bWJqZG12STJ0d2JmS3pnemY5anFZeUN1RUNHekI5ck5HRmpsS2ZsK0ViUUpZ?=
 =?utf-8?B?REJVVTFQdHVibHFUQmNZVm1qWHR3T05pWWc4WktReXdFTXhuYzNaSGZ4djdK?=
 =?utf-8?B?UStTY2N0RW1FRTYxWElkNDV3Zk5Nc2RVSDB0MHQ0QTNnZ3k3NlFXemN1dGZF?=
 =?utf-8?B?SlpDcTY4cm40U29yaE5rRzEzTmdQODlTcUtlVWc5aUtNc1VJcEpZbXdYSnlk?=
 =?utf-8?B?RXJPdStLVGdiK1JacWtlSW1iRWJsa1RJd2VwOG1tdVVzMlQzcGVneGI5cENZ?=
 =?utf-8?B?VWxpZmlhYkd6V2hDOUdQSkd5UTg0YmIvdUdEdDE0ZTZVQU0rM3VKWnVvOTh5?=
 =?utf-8?B?UTdZb2NLczhMN0RrQ092ZEZwdEZ3S2cvaFBBUUlGTE45V3p4dTl2enN1MWU2?=
 =?utf-8?B?ZVNsbk1QMHdwR1huaXRKQlNwcGkycHFtcVJHSXZsVk1xQzBLc09tWTVtMS9F?=
 =?utf-8?B?cXNxSG1SSVZFWjhyMFMrMFlzdjNaMkd2bnI2RzdkU0svckUxd250Nk85MVBJ?=
 =?utf-8?B?ampTWU1xN2gxejdIS1FMb3ZvS3dzTHVkMHZ2YUpEcTMvdXcrSUdYaXJmSGd5?=
 =?utf-8?B?d01jdTZJWi93YmxRTHpxNmpINXljdUNvcDlvN0hjazhhVjI0L0JVSG9iS0dq?=
 =?utf-8?B?TjhOWjhDZnp4TkhIZmlLdEhUTndMbGxHOG56cHhwZ0N1QnpTYjlJUHVVeklZ?=
 =?utf-8?B?Unp1aU9CMUpaK2tqclNKVS9SY3RNNHlScGR6dS90SDcxOXhGUVBlU3J4eGlM?=
 =?utf-8?B?MnkzaDAvNUh4bEZWMzVPRWQrSDFoTGd6K3J4NWJkRTdFcExDUitrV3lMSTJu?=
 =?utf-8?B?Ym80cm9UMmxHSVJIdFJQdkg4Nm1PSkhCVy8wOG91V2dCSHJtK25ZeG4rNnhG?=
 =?utf-8?B?dFRzSzNWTWJsTVI4UVR5aC9jTXJSM3pYdXFiQWtCb3Jyd2NybnREVkcrenc5?=
 =?utf-8?Q?q28UrLzW4xRTVG5i5kvsS2wdr?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ccc07b25-5ece-4a23-bf2b-08de0804397e
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Oct 2025 13:52:17.2387
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: zXv+RJK150K3MI4zE3ck0ZZYYWsTHNfWE6LrIqCcxTiXvzEjYWn3hlvRE6XcHVlM7lCZcL7zBii5twtx++wtyg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB5944

On Thu, Oct 09, 2025 at 09:21:32AM +0200, Jan Beulich wrote:
> On 08.10.2025 18:23, Roger Pau MonnÃ© wrote:
> > On Wed, Oct 08, 2025 at 02:08:48PM +0200, Jan Beulich wrote:
> >> @@ -1439,7 +1438,7 @@ static void vlapic_do_init(struct vlapic
> >>      if ( !has_vlapic(vlapic_vcpu(vlapic)->domain) )
> >>          return;
> >>  
> >> -    vlapic_set_reg(vlapic, APIC_LVR, VLAPIC_VERSION);
> >> +    vlapic_set_reg(vlapic, APIC_LVR, 0x00050014);
> > 
> > (Maybe I'm getting ahead of patch 3, as I haven't looked yet)
> > 
> > Don't we want to use some kind of macros to build this in a more
> > friendly way?
> > 
> > We could have a pair of SET_APIC_{VERSION,MAXLVT}()?
> 
> With what patch 3 does to apicdef.h, I was rather wondering whether to simply
> use two MASK_INSR() here (patch 3 already uses one right now).

That would be fine for me.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Oct 10 14:45:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Oct 2025 14:45:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141242.1475785 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v7EMf-0005w3-N1; Fri, 10 Oct 2025 14:45:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141242.1475785; Fri, 10 Oct 2025 14:45:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v7EMf-0005vw-Jq; Fri, 10 Oct 2025 14:45:01 +0000
Received: by outflank-mailman (input) for mailman id 1141242;
 Fri, 10 Oct 2025 14:45:01 +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
 <SRS0=1vPy=4T=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v7EMe-0005vq-Tz
 for xen-devel@lists.xenproject.org; Fri, 10 Oct 2025 14:45:01 +0000
Received: from SN4PR0501CU005.outbound.protection.outlook.com
 (mail-southcentralusazlp170110003.outbound.protection.outlook.com
 [2a01:111:f403:c10d::3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b19ba632-a5e7-11f0-9d15-b5c5bf9af7f9;
 Fri, 10 Oct 2025 16:44:59 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by BY5PR03MB5188.namprd03.prod.outlook.com (2603:10b6:a03:223::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.10; Fri, 10 Oct
 2025 14:44:56 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9203.009; Fri, 10 Oct 2025
 14:44:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b19ba632-a5e7-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=uh1Uevurx/DfOvB1CRrMnWCsDDYwHqydO9sf+qB9m/NSUs6g8OzjYmwsDPOerbG9k52m0gy6hFGIDdznif69IygKFrKjn5um7aj/HpgOXSiami66bfh1Xxbzoqxq7vglBy4PmNVAMR0Y6XnxSnqWlKhD+pzpcI85o6AjfkAgXhOO8FLIHkvYedyAjv5OpPYkoGcUTD3FUZwuU8Xeqg/MExwUWG7kKsulFwYXp4n9YnWNe5EoRpjnzGQayKXRMO7Uc8jOh3neRPOOqD1sUC4RPUKRzaQREUwq3AF9oPcBEWLwsnNh4DY1LRMLfSOZuGp2WBvLDTl6PhInbb7YNvVY5w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=BlsNofparXiPno3/HbsDsuEBgESytF5QsdPCEUANqfk=;
 b=UtEgpVdwd4HKBOORyGJ/Arm45ua/eQE8W21TCjrFMDWPq+3INQb67PiPN/9fWeR9iI5TsDWBgADGPjIBsLagdqVglaMdRwRvuMS0aoRW3cCdfCF7xYmmozPYiEwQvWIvK25zPRAPZ88VHRWWP1Uz8Eu69la+XlxdC67Tr/bUmNfj/+PE1lghFIogiWOTJVCcYcjIMi5ChwWYLQjyR49VKVlp6z31O+ufGsji3GmouWjuX39qdRK1dFROp0Cjn/XXPEEg4wBKtVyNKY1s1Cz1AIxnl7+OWRUWe3zkTfaXKCDVFEYHqIJnCSUcA5LnfX3Gykx5X84XQxmSzJxeDfjsCA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=BlsNofparXiPno3/HbsDsuEBgESytF5QsdPCEUANqfk=;
 b=YbiUF8VtGKM0nkMyWcx5M3FfP7YOOucXBJKLPk3vjPH8LGtwp831LcdxnpZbJNFEkC9a9UHA5xFxMDw7OEYMf2myDlEMXwQH2yPyRhMlKOAua21Yqa51boSRISWamUCACpx8rc/8ruUFIIUvOmcPwJ1s9mOcu/+DfXayQwR/8Cw=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Fri, 10 Oct 2025 16:44:52 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Andrew Cooper <amc96@srcf.net>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Grygorii Strashko <grygorii_strashko@epam.com>
Subject: Re: [PATCH for-4.21??? 1/3] x86/vLAPIC: add indirection to LVT
 handling
Message-ID: <aOkb5HKVejs6QO5Z@Mac.lan>
References: <265d5053-af61-42cb-a3b9-ef60df39c21b@suse.com>
 <dd6b46f8-76f7-46d3-b3be-083b58781f32@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <dd6b46f8-76f7-46d3-b3be-083b58781f32@suse.com>
X-ClientProxiedBy: MA2P292CA0012.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:1::19) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|BY5PR03MB5188:EE_
X-MS-Office365-Filtering-Correlation-Id: 2cf5645d-a8fd-4d56-dbe2-08de080b941e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?TnAyS1d6NXBNOWtZR0tKTWxFSEJyeVowTnpEMUN0bEpZTmM4dGladjgyZS9a?=
 =?utf-8?B?bVozTW9SL2RMV1IzZE1wR3lCRHhNS2VhZy9qV1JZRjFLT2NSMlV5R2ZtYjdH?=
 =?utf-8?B?QmtWUUcxaVIyaG0wZWx0MjRKTFFBNUw4UFhsNTkzWUpmM2lFbWUvSGpEckxo?=
 =?utf-8?B?ZktLV1I3M0Fxd0tJSDArNER2cHRYRE5PVmhkVWE3amF6ei9lNGs5OTRWN3Z2?=
 =?utf-8?B?TmFLdFBGZ3plYUZEVEFxRktXdFVOdUVycS82ODY3MCtFTzJsV3FUQmVva2hr?=
 =?utf-8?B?SmlPM3ZyN2dGcjk2Ym8xUnlheHd5MjVEeGVxZ2Q0Y0FqajhOU2VYZkZXV2xt?=
 =?utf-8?B?SWlwMDFINnZoNlNJbjZIbmFVNXBpOXNmWmNmMklHcUJERGlVd0k2dnNJc0ow?=
 =?utf-8?B?bXltdDc3dnhTOVZFVFpHamNjTCtObGZvS1pFcm5mTDlBUlR4NWQrblZzRmtV?=
 =?utf-8?B?T1R3YlByam5RMG9Od3FSUUw1Zyt1bVQwQW5iZzhOeWhIR2FsSkZNSEFubXZK?=
 =?utf-8?B?T3FoWndjQXRNRVUxQXI4eG9Qa3E1Mm9RZWtFaHorYllMNGtSWVhnS0w2a280?=
 =?utf-8?B?NmI1d1ZKL0lCeVp2NWJCcEZJZDEvV3Z0Z09rOWthR08zVnd4Vk9YZ2RGaWxs?=
 =?utf-8?B?RFBXQUxmSFpmTE1BcTZQUGwxamxWdktNcjFCQjBDejlKZUlCL0YwczhkQTZ0?=
 =?utf-8?B?MExERUMwNTlUMWxsZlRSYWxnRkU2Zlc4YStIN09lRGx0UlFYUWJNTnlMcUpF?=
 =?utf-8?B?ZDNjQU1sWU1GZ3RxK2g5MU1xTFV1ekdXclRWWU9jNWNxaXlQMEs0NkFXa3hy?=
 =?utf-8?B?MGx1R2tBRkNyRW9RSHZvQS9kZUdnVTJmRk9LQkJnZEhiUzhYMXozOXpVWmdz?=
 =?utf-8?B?bUVtajk2VTBDVStvN1g3RTNXSXIvMmVvc05TMFBRb3lBMEVmRHFaVTR6K3ZR?=
 =?utf-8?B?TWlGRlUzaHVCV291QzZGM3JrbjZVOStNR29Pa1gzcGxDaUpjY05TYXJKTEZt?=
 =?utf-8?B?V2x4Y0drRW5tZzdvMTcvb3ovdlJnVnpyUlFoUGV6QWlrT2dxWldpSmFZSnlp?=
 =?utf-8?B?bWM4ZW5nQzZsR0pSVytDMGhGengxd0RaREtCQUx3UjVhL2xOZGI3dlZkanc0?=
 =?utf-8?B?VHJOUDFldlVMZnBsQmtzN1BOTkQrT2NRSm5jaVhzVWxlRW5nYlN3dDNuWjds?=
 =?utf-8?B?MnpGcWJQQTVKMUdieS9mMVhDRUdiTHBUQnJhU1dhRXE4L3ZVNDZldTgwdTZm?=
 =?utf-8?B?WDlkUzFuS1QwYk1Bc2NxMDBacmRFL25OQkYwRnVxdm05SzZFVW12NVltYW1J?=
 =?utf-8?B?UFN6MXRPc3V6eHJidVJtdG9wd0cxaFVVTU42dmdzclpiVXJPNnRMelZiL1B5?=
 =?utf-8?B?VjFmOFZ0aWtKT2hCZnFmeU13ODVUVG1UU003SUpXdVZMTmZURlFpNkVTTCs4?=
 =?utf-8?B?MkVZdWQ3VzF1Wi80Z0FJSlZMeWlWNFhiTmludHFwWEtTNHZXTU52eG1oZ0JP?=
 =?utf-8?B?aHJ4bWlkS3FseTBQa1VpQnVLNUp4eEVPUkNGQnJUbnhRZStQSG9qTWo3b005?=
 =?utf-8?B?TDlXZmtqWmpWdG4zVW80NUpzbzZNbFJpVGVacS9zN1JlMUlKUjdzc250bFk5?=
 =?utf-8?B?T09VQ01mUTFMUDZGYXFiM1R3Q25iMEFzTGFCZlBpRkVGd0p3V21va283ZjNQ?=
 =?utf-8?B?UzBPUEtzaUUxMDQ2YWwvT3NxQzdDcHJ1MktzbkpnTVJSclZFbE5kdFJTODFw?=
 =?utf-8?B?RWJNQmJyNHo5cmNEbEsvL2FOcVEwQlBpWW1JL3k4WU9XVlFzbHpacXh1OGNR?=
 =?utf-8?B?anZVVDBLbWFjdmNUemtKNURzNHBaVk1lcTdjMDZucm9yc1BCRklVcURmb1A4?=
 =?utf-8?B?OXEwcVRxSXl5L2U0b3EvaDZmaW1PdE0xbUdkbXpvMDJtOE1kVWYzOGk0aUFk?=
 =?utf-8?Q?JCJPAron1a19NKQpCDR971xDxQIjK7LP?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aWdpVUdtWXJNZlNkWmE4TlVwVU5CMENzbCtZNEgvNjAyN0MrZTE2TmIxTnBF?=
 =?utf-8?B?QnRITU5sZXhBT2NHdXFIT3hsenFjcUwvbjVadWR1akxOMXdYd0xBaFBvOWpx?=
 =?utf-8?B?elVaSDVnMzJDcHFZMlc2N1VwWllSalU1aHZWQ1Z1RW5WVE1WRGZCRXl0d1Rj?=
 =?utf-8?B?RnBUQWwwU1pqdlo3MGxOVk13Ri9Mb21jR1RiY1dmZ1p5SkZWYUhrZWVjVXJi?=
 =?utf-8?B?UldBN3o2UG1TNXE0SHQ1L2tOTXRHdjlZWVh5djl2WWtqVmF6NjNXZTE0YWsx?=
 =?utf-8?B?WWlBaFFGWFRZRnZmTElTUDVGZnJpRFBEVHA0QXc4VDJlbzd6bEo0dE9MSmww?=
 =?utf-8?B?S3U1ZG5EYjNDMC96MGtVNm5LQmliRmwrSVIzL0EvZDNJd2ZoQ1NPY3JkYjdH?=
 =?utf-8?B?bDBSSWc5aFcyZWxsUVdyN3JsbEVIeEMwLzc5U2h6MHZLVWozS3UyNDJPMVdO?=
 =?utf-8?B?S0ZwcTZrbGEyNGZ0L3lyRTNuQjUxOWlxajJROS9OdkFLdHFxYVBId3FIRnlr?=
 =?utf-8?B?cWNYMzFqajVQcTM2M01FazA1OG04dnozNWk5cXkyM2ZmYjIzeVBkMDI2TUly?=
 =?utf-8?B?bGVRbUlWMGx4ZGM4WVU0c1hkTzVHNEdRZnBuUXNUVU5YTVhwMk1KWktuZzJq?=
 =?utf-8?B?aFBCRmFnNDBVZzR3WWhHMGZXVTFGVFdlaTJpdlN1bmZsT0xXQUl0OVZOSDAv?=
 =?utf-8?B?OG1KZTRKeE91bDFrc2JTNkJZVHdzL1BDcmtGQ2JzSUJBUkpyUjlmOVYxaWta?=
 =?utf-8?B?bDk1bnl0blZ3bHJTL0pCVzlnb29ZMkxqQlZneXowZUVkNDNGR2dBcmczTzdK?=
 =?utf-8?B?NVBVWVZCenRGdHhwOHZyWDMwbUhJYldXZCttYUdkSTJPbWN6NzlDaWNLeW5B?=
 =?utf-8?B?R1Y4QndEbVdmRy94akEwUng0enlISGVKZDhYdldxbVJ4R25MaVhqdGVmUWky?=
 =?utf-8?B?cGxCLzJLcmhrTWEwT0UweDUxeUsxTkIwdlpFMnNkK2dvUjBkQmwwTzBvQ1Rl?=
 =?utf-8?B?OXc2Um1iQUliTjlIRDhDMFpJOUI4czUzaWZ5OWNLTFpEbDhLdGxlMVUrUnl5?=
 =?utf-8?B?akdzaXlDOFViQ0EwaGx4RklUdExFb2VWVktUUEc5a1Y1M1dPbU5ETEZjako3?=
 =?utf-8?B?ZlJkemxkVC92U2tkcjFybkFmWEJ0ZjNMRDlXQ0YrMGdkQjZOeU9yM24vb04z?=
 =?utf-8?B?U0ZWQzJqc0NNZ0NYQmNIcEljeEhKYUJuRmgwZWJyWDFmbWJ6cjF5OElyUC9B?=
 =?utf-8?B?ZGxVeW56Qk1PV3BRWCs3Ukx6V1ZObWtBVTFCckk5eStqSi9rLzI5bnRpWWZr?=
 =?utf-8?B?cjJBcEs5emJDd1pkSEo5WmZxZERsR1BLVHVYSXNuRG4wNzIzeXI5VTVjUER3?=
 =?utf-8?B?dXV0Y1RONUVFNmh3L3NLNHFXOHkzTUd6KzAzQ3dsZmlwWTVRRmZpVVA2V2tC?=
 =?utf-8?B?VGhVNC9vYVhWSjFoY3l1ciszYWhPZ2JxSDRBZ24va05MSEdDblgwQ2F6UzZl?=
 =?utf-8?B?TytpNHUrcHJlV2Z1YkFubG12dmE3QjNKZmQyR1Z4ZnZJRi9nYmhFMUpUZjhY?=
 =?utf-8?B?cjlrU2x6NXRMQTZUNWxGQ0ZuYlkvYm5ta1AyQ3ljMFZCY1ZiS09qejdHMkJz?=
 =?utf-8?B?NWl3dmdKZ0x3Q0lZOU5pcFdqMVh0YmlRNytNRVE3azhiR1gvY2gvdHJNVkpa?=
 =?utf-8?B?M1I2Z2JsdUUyUW5LY21uVm12b1lmcStndkc3L1RhMUJ4ZlMxMU96UGh4TXV0?=
 =?utf-8?B?WUt6Skp2TGtFWFIraDZFelNGVFdvbE83YS9HdXlkWVROcEo5VFRVL25OWmp4?=
 =?utf-8?B?N1pmTzFRdzd6aE5PN2o3ZzZNMDhtWXllT2MyYStnZStjckg4dnZLS0Q1eTdM?=
 =?utf-8?B?N2NKNVc1ZTI1UGIwTVkyUXFLWlpnTHYxME4rY1E4clZ5TUpydldBa2N6c1lF?=
 =?utf-8?B?c3hrNTlvVHowQ1JXNUJoYXhZVHpMN1ZOdXFjUzlpQkpRaExKZnZaWFNoYXJ1?=
 =?utf-8?B?Z1ZuY3dpcURtM1RjM1ZYTEh3aWhSVHc3QjAxMU1wb0VCK1dNYkovYWlUcnBM?=
 =?utf-8?B?UWZiMmZDS3NEZ0U4NlJlMDRyWXJ2WnhQZHRDUEp2MHlOb0R4NzhFVVJKYy9P?=
 =?utf-8?Q?pB0ezdupJldVgACvwtPiFORlk?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2cf5645d-a8fd-4d56-dbe2-08de080b941e
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Oct 2025 14:44:55.9732
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: JyWKbQacJilm7UsDjeIFsD2LG7OPtfR7DHROS0GoGyaKXTM9XvMHhyPFqUhS0tu5yMJDvnMBzeEGGTLwhABUMQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR03MB5188

On Wed, Oct 08, 2025 at 02:08:26PM +0200, Jan Beulich wrote:
> In preparation to add support for the CMCI LVT, which is discontiguous to
> the other LVTs, add a level of indirection. Rename the prior
> vlapic_lvt_mask[] while doing so (as subsequently a 2nd array will want
> adding, for use by guest_wrmsr_x2apic()).
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> The new name (lvt_valid[]) reflects its present contents. When re-based on
> top of "x86/hvm: vlapic: fix RO bits emulation in LVTx regs", the name
> wants to change to lvt_writable[] (or the 2nd array be added right away,
> with lvt_valid[] then used by guest_wrmsr_x2apic()). Alternatively the
> order of patches may want changing.
> 
> --- a/xen/arch/x86/hvm/vlapic.c
> +++ b/xen/arch/x86/hvm/vlapic.c
> @@ -32,7 +32,16 @@
>  #include <public/hvm/params.h>
>  
>  #define VLAPIC_VERSION                  0x00050014
> -#define VLAPIC_LVT_NUM                  6
> +#define LVT_BIAS(reg)                   (((reg) - APIC_LVTT) >> 4)
> +
> +#define LVTS \
> +    LVT(LVTT), LVT(LVTTHMR), LVT(LVTPC), LVT(LVT0), LVT(LVT1), LVT(LVTERR),
> +
> +static const unsigned int lvt_reg[] = {
> +#define LVT(which) APIC_ ## which
> +    LVTS
> +#undef LVT
> +};
>  
>  #define LVT_MASK \
>      (APIC_LVT_MASKED | APIC_SEND_PENDING | APIC_VECTOR_MASK)
> @@ -41,20 +50,21 @@
>      (LVT_MASK | APIC_DM_MASK | APIC_INPUT_POLARITY |\
>      APIC_LVT_REMOTE_IRR | APIC_LVT_LEVEL_TRIGGER)
>  
> -static const unsigned int vlapic_lvt_mask[VLAPIC_LVT_NUM] =
> +static const unsigned int lvt_valid[] =
>  {
> -     /* LVTT */
> -     LVT_MASK | APIC_TIMER_MODE_MASK,
> -     /* LVTTHMR */
> -     LVT_MASK | APIC_DM_MASK,
> -     /* LVTPC */
> -     LVT_MASK | APIC_DM_MASK,
> -     /* LVT0-1 */
> -     LINT_MASK, LINT_MASK,
> -     /* LVTERR */
> -     LVT_MASK
> +#define LVTT_VALID    (LVT_MASK | APIC_TIMER_MODE_MASK)
> +#define LVTTHMR_VALID (LVT_MASK | APIC_DM_MASK)
> +#define LVTPC_VALID   (LVT_MASK | APIC_DM_MASK)
> +#define LVT0_VALID    LINT_MASK
> +#define LVT1_VALID    LINT_MASK
> +#define LVTERR_VALID  LVT_MASK
> +#define LVT(which)    [LVT_BIAS(APIC_ ## which)] = which ## _VALID
> +    LVTS
> +#undef LVT
>  };
>  
> +#undef LVTS

I've been thinking about this, as I agree with Grygorii here that the
construct seems to complex.  What about using something like:

static const unsigned int lvt_regs[] = {
    APIC_LVTT, APIC_LVTTHMR, APIC_LVTPC, APIC_LVT0, APIC_LVT1, APIC_LVTERR,
};

static unsigned int lvt_valid(unsigned int reg)
{
    switch ( reg )
    {
    case APIC_LVTT:
        return LVT_MASK | APIC_TIMER_MODE_MASK;

    case APIC_LVTTHMR:
    case APIC_LVTPC:
        return LVT_MASK | APIC_DM_MASK;

    case APIC_LVT0:
    case APIC_LVT1:
        return LINT_MASK;

    case APIC_LVTERR:
        return LVT_MASK;
    }

    ASSERT_UNREACHABLE();
    return 0;
}

That uses a function instead of a directly indexed array, so it's
going to be slower.  I think the compiler will possibly inline it,
plus the clarity is worth the cost.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Oct 10 15:28:37 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Oct 2025 15:28:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141253.1475795 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v7F2g-0002gW-Qg; Fri, 10 Oct 2025 15:28:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141253.1475795; Fri, 10 Oct 2025 15:28:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v7F2g-0002gP-NI; Fri, 10 Oct 2025 15:28:26 +0000
Received: by outflank-mailman (input) for mailman id 1141253;
 Fri, 10 Oct 2025 15:28:25 +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
 <SRS0=1vPy=4T=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v7F2f-0002gJ-KK
 for xen-devel@lists.xenproject.org; Fri, 10 Oct 2025 15:28:25 +0000
Received: from PH8PR06CU001.outbound.protection.outlook.com
 (mail-westus3azlp170120001.outbound.protection.outlook.com
 [2a01:111:f403:c107::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c1ae45c1-a5ed-11f0-9d15-b5c5bf9af7f9;
 Fri, 10 Oct 2025 17:28:23 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by MN2PR03MB5358.namprd03.prod.outlook.com (2603:10b6:208:1ea::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.10; Fri, 10 Oct
 2025 15:28:20 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9203.009; Fri, 10 Oct 2025
 15:28:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c1ae45c1-a5ed-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=jAhCLUSCBcwB9dGurkjZ13J+Sl/PTti7qJLK8PxQRl9cfTMWNQgwU8Eg5gRwTIOaeuJDeNz/9dJ51TbURLPWCJogLuweM35Y+a66UbbNLYPkwOQGvSMwh6mWnk8BOlv4fnwXQPY7TtcwtUdRwzyMEbx05+sYy7aTFvgAOFnfZDKIOXzBMyKH0sIlfnjqzY1kzjSULRtCeH71K4OXYqx9v1QNVdJBA1mqb3LCgZCLBWTzJBGaks4dg69721aG3gawWhUskw+gM3hQ9eSc/LURUynM8FPRiC6LGSHF+EDOrAeYXpDHrwfUCVjVNrWS2S9Xz0tRoEd73PSHfB45f7R4aA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Q+UdOyKUf753zj9Sp4iy1yJwvoCATUX+ffAq4+hFdGE=;
 b=t6WUw9GPWZkbLQHAJ3DPO0icS8i6Xr5AI5YCnAm4vW7N3q/j+sAR/n611uDI7sll2Enp+7Ba7uVk3Ft0bqxulSe/Qk1v2aSCIIU2Ocd7FzxQZwqKkWYpdNYBEobtOm4e3WL1MhObGgMD6i1ce3LF6VGqtA4oeSvzGru5TGs+RwP1H6hV5CA4zfnS47/sWJ6HJZWXdrg5/u+OpuBrCy4PjpmxfJSTPE3wAan44nk50VRIXUtER3oJqAH3J0uJSUx8CAwvzM3CLCzd3umc3Yk8pBV/wj6eclTtiLI8fftacgxFdXu3O5D5xqxKHcJNtCaEZ0Ntlgl6nXms+y8WXsL+Fg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Q+UdOyKUf753zj9Sp4iy1yJwvoCATUX+ffAq4+hFdGE=;
 b=F+aBuY6+wX3x9uCd4aSsulSOKfUFfg0DQaKSdYtSoKHW/7TbRFh3GkQ1tiGyWFiwZvXFZ3psVhwRPZ2xc9KSxUPN8HwCwgZJyMkEoWUUzn7oIcjBqDacUOfiOFCEul8Im4nsQubTq0D8aSoTPVFjINm3UGZI8vr/h02J/wDp3lM=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Fri, 10 Oct 2025 17:28:15 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Saman Dehghan <samaan.dehghan@gmail.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>
Subject: Re: [PATCH v2] Support LLVM raw profile versions 8, 9, and 10
Message-ID: <aOkmD59fmPu6l5Kw@Mac.lan>
References: <12f2f3bd9010422004c38c23f6758c87df8682a5.1757951300.git.samaan.dehghan@gmail.com>
 <3dc1fe6ee55d973a25a0441d0f6b41e00a58227b.1759355762.git.samaan.dehghan@gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <3dc1fe6ee55d973a25a0441d0f6b41e00a58227b.1759355762.git.samaan.dehghan@gmail.com>
X-ClientProxiedBy: MA3P292CA0002.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:2c::17) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|MN2PR03MB5358:EE_
X-MS-Office365-Filtering-Correlation-Id: 8e02080c-dca1-4631-e5cf-08de0811a419
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?cjVrREhDbDJMd2VhZWxvVmNiR2RDOElhMG55TzF6bGRwZGl2Njhrb1FqTHVm?=
 =?utf-8?B?alVLamdXNGZiZTQrT1g3SUJlZGJIUmdqbWltMEMycTEyank3dC9jdEk3VVY3?=
 =?utf-8?B?SEtjb1lZSjVIQm8xZ3YwbUsvQnRuS3BFZjVQTmh1Y3FHUmk3Yi9yZ3RueTBG?=
 =?utf-8?B?bUhjMVFKMHo2RjFaNjhWbXNCVEZFcjNxek9TSnNFVStWcWFKZ3JmYk10S096?=
 =?utf-8?B?ZFdDbU1LWDM0dkxHL0IwT0ZydHp6K0NVejRia09WamxSNDZPVThOWmtrTnIv?=
 =?utf-8?B?QTAyUFNReXBUQ3JnWUMrOWxrSlZJRmhyOFhrRW9RRWpValF2TEdhY0F4dGdJ?=
 =?utf-8?B?ZHhQQ1VCWDZUTnBPZUd5QXhkYTRGSnM3QnNkdGpYTmJjT0RjNnh0bEF5M2dI?=
 =?utf-8?B?WUM1K2NrTGZTNk5FelZ4QXRmUDV6ZnFiSEtOdnJlZHVDSGxIeDNNdGl0SWFL?=
 =?utf-8?B?M3h3OTAyS1lWakhZL1lPWVJDM0tncjVCdG8yc2R0V2RkRi80M3ArOWd4WURm?=
 =?utf-8?B?bXRFZUhrTHpXZzBrdUxiQzJsenB3RURwTk1MWnNrV082NDQyczVMVXJGdjRZ?=
 =?utf-8?B?WVBMTC82N1ljMzRFUTJzdGxxbE1aZUZ4TEw4QlNiTlg2NUpZaEh2VmRPSHNV?=
 =?utf-8?B?dkt3WU4yUU92eXhycjlHazQrY2VxMDFFOW5qUG03SGVCYWRpWDNHK0dLb0xk?=
 =?utf-8?B?SVdjOFZpS21sdlBDd2NuRmM4alFGKzN2bGZ5Q2w0YnlwdHhMZjZrTjdnMzNH?=
 =?utf-8?B?SnYvcFdvVE1WZ3dvVU90OEZpZHZCdHdvZkNRYVBQM2I1WmlSNDNiWkV2OTN6?=
 =?utf-8?B?aHd4YkVpNDhtakJ3WTRXbGZpOVhZUEdEVEswUTFWVDIvZzFDOGJFcGd3S3da?=
 =?utf-8?B?cm9ERnFNWHZSWTBTcjRGcTgzOHNFdFQ0cU42ekM4THRBb2F0QlA1VzdJcVFq?=
 =?utf-8?B?dkdDNXR1c3p5SzQxRWExU0NYU3FwOHQrQWNMd0tWVXZ4alo1My9WRkdKeDRR?=
 =?utf-8?B?dHNGRnczR1JWQStFMHlwZ2FHZkMreC82TVJVcDZhQ2lMRCsydU9sRnhyQ2Nn?=
 =?utf-8?B?RWdLUGZaU05ub0pKTEgxWU1oT3dSZi9VOCs0eXJ4ekkzUW1EU0hxcXRTQUs5?=
 =?utf-8?B?UkRBK2k1dnJZZm1oSjdDcmdzTVpKNUVHb2I4eVNwbVcrSmV3TGduR05QOXpF?=
 =?utf-8?B?SnNhNzRoWkx1c24vd3hvQmdNaFYzT2xNMHluL2h1dVluUTh4ajZTZTRPWmVi?=
 =?utf-8?B?Q1FSdHREc2FtMG9YYjlsb2U3OG44RkxCM2dTOU5FcVJ2cVhuYWxpYUFob0Zp?=
 =?utf-8?B?M1V4OGkzVHZpak8xNFA3VnFpdkNjYkZ5WEdsZlQweVRiZFViZXBjRFYrTXFi?=
 =?utf-8?B?Yzg1N0o1Y2U4cmpHeGV0ZFlPSGwvMysxVEZVK2VBamx1Y3lDTDdLSkdXRzQ3?=
 =?utf-8?B?OG5OTTJDVkpUb3dOK0R3cG44SVR0c2lLVWw3ZnZEMjV5NXg2b21QRjJobHQ4?=
 =?utf-8?B?SU9Cb3BzUjArYUlSMjcwNXp5c1U4c2h3T05oc3NLeVpXMDV3K2V5a3hnODZh?=
 =?utf-8?B?ajNoU3pqNElFNFYzbkJHMDB3ZW4vMTR3S3hMTDZ2ZjNtV0tWT2E1OXF4L3BR?=
 =?utf-8?B?WjdEMklNc2dQWTZtMW5Pd0hsdWVheTZSYnRTK2JBWFJzVkw3ckFDNTNLaXpF?=
 =?utf-8?B?bXZBeURPQitOMHBWTHZMaE9IL1RtM2tzdUpLSTQ5d0xuK3g2RG14VTF5UEdT?=
 =?utf-8?B?amZVSUNhb3NZRU1WWU5mZE94L2VGZGtIVldZUVI5QzNwS2JlMXBZZC9lN2xt?=
 =?utf-8?B?R2ZLcXB2NWxuLzBScjRRdXJYMlM1VFJjc0FUZm92VkczQmgwaG1UNERiRlVk?=
 =?utf-8?B?TkZ6NFZmYy9GZDNaYWwzSTJleEhwY2FNSEUrKzFMTWpUUTBFeFNkRzJSNjlH?=
 =?utf-8?Q?Mk1jQYbVayEX5n2Wbp8FXXJo0Bs60P8e?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dStwMGx5OW8rYjM1dGM4MmNZYXEvWUNyS3BaYTJSZjFTTFlkZGRUT0Vkc24z?=
 =?utf-8?B?cU5Tb3pYaFY5MWYxY2lycUR6YTdHTnJiT0JsNUZobjFyMy9sWXd5a204T1Nh?=
 =?utf-8?B?WnU5UXA3TUk5RU1rODJFZkZCVlZOazFOWCt3VzJMTzJaUStkZ2Eyc0pLR1lu?=
 =?utf-8?B?WDVaNUtiUElDN0xNTXlJcndhYzNNL1JHTHNJMGs4Z0xTaDZIR1hWckx2TGhM?=
 =?utf-8?B?ejBoNnROOEtWZVdaSE5CKzJKckUxaW1XdlFnK29uRUhaaGFIQVVSeUl2NHYr?=
 =?utf-8?B?NUdQeGVNVk5qdytUVWRQS0tVMFZRMFUxQms4YlJ6VjQwM2hrNVJIM0hCOUVK?=
 =?utf-8?B?OFFjOXZBalpKVExlRjFTdEVLbnRUcTh6d1JZNFk4YlV4KzNpdWVIRzU5dTFL?=
 =?utf-8?B?V2YrMU9sWlRhazNrR21TbXh3cThyTUFwTzNHV1draHZLc3FOeGZPQlBJNFc4?=
 =?utf-8?B?RytoUWUzYml6cVlwK01MWkZtVnZPZk5aMk42YUxiRUVBMm9ZeFVNazVqM2tw?=
 =?utf-8?B?dXdOZGk4SXdJcXFsZ0xRS1pGRjlNa2E0alphODB4VVJtVVNTaFJmejNrbmtn?=
 =?utf-8?B?a1BmR1VXWUg3bTBseGJFUk8xOUI3NGZJa01JUEJ0TVZKTTB5blkwZTBrVUFQ?=
 =?utf-8?B?UytmWXdTM2pmbDlMWUZrNjdsb1p6RkQrL2NMcm80MHF0UFYwbTFQYkJudmd0?=
 =?utf-8?B?bnRERWlqWTc2aGpLY1NWbFpMekZDMkd5VjY1Nk00NHNHWFZnQlFtNlluZEFi?=
 =?utf-8?B?SURIaDIyeHkzZnJRYUx0UUphbDdTT0w5aWprZGdkYWVjc3ArbWg3VjFCK09h?=
 =?utf-8?B?RExmc1lyOEZWbFV0bnc5SzBkQU1OYUEyVHh2ZXJsN0diNFZlR1hONFREck96?=
 =?utf-8?B?Ly9zOFJ2aUNBNlpCWjRqcEc1TytDZGRucDBPdExYQzVGT0pxU2F4MTAwMVVL?=
 =?utf-8?B?V0UyV3Zwd1JWc2R1UW9MbjRxMzBjb0wxaThRZFcvOExPM1NxbzhjcEQ5Z1J3?=
 =?utf-8?B?L3l0Mk40ajFGa3hkd1ZDV1ZCUlo1RnFIdE9VdlhKdUgrVTZHTUtmVXpqNjIv?=
 =?utf-8?B?SG9qbHN2WUlDTWo4WWlGSmQvcnFiWUNzTmxMSUo4TzROa2RsNTk1eEhaQ0ww?=
 =?utf-8?B?Y3U5NVZraTFiVmk1NXdlUHVzYWlpV3J3ZVN4TzNsdGNWVTBQZnlVeGNzVXRy?=
 =?utf-8?B?ZjJJeENQSXI2SnB5dFNvRXRiZ2ZpRlRHVkpJVlZPUGhEdFdIdzd2ZHJkQW1F?=
 =?utf-8?B?aWxldlcwSUtocks4N3ptNkNUYmV2RFdIcXh4MVpXWE9SOWVUV2hrb0RDajIr?=
 =?utf-8?B?WjFaODRvNnRoUktxU1JQa2lsN3lZZWZ6ZVdWYklXV0FWbFlsZE5KZ2NBdDRD?=
 =?utf-8?B?WTZOcjNlQXdDcXFlN0tEaEk3QlhrVjNiS09OVHlCYVpwV2w4dWIrcEswemJq?=
 =?utf-8?B?K1dhNjNDTU5LL29pZGpSbGZNaFhkZDk5NG1DbkI0MXIvRms5KzF1RkVVOTRy?=
 =?utf-8?B?TlY1dkpEbi9MRUMwUldrVm9aWWVjOUlabGhjY1ljVm5zTlJZWXp3dFBCSjVs?=
 =?utf-8?B?V3NuWUVKNUR5SXJJYUZvOWxQdkxJc3EyMm93OFpRT3lkMjNNOUtpUU5jVVcw?=
 =?utf-8?B?c1k0YW5MYXJLOHdRdVpwYThDNzYzSHkyaGhybFR5QWlHMzVjNnZaLzZjQ3dr?=
 =?utf-8?B?cStQMVkyOUgzeWdHL2QzRkN5TEt6TEUycXY2SzZBY0V4MTNQWGsySUtQLzNh?=
 =?utf-8?B?Q2tRMytZRFVRcEo1eEZlNVFaQlNPd0oyWk8xY09NMnkwb3ZxOWM2UndTVGZN?=
 =?utf-8?B?V0RFRThJVk05SUdCdmlhZjVpYU9mVW11bzBwb3NLZVVzeVJBZEc0cXJRNEJ1?=
 =?utf-8?B?QkhjQmFFSGhzcUpTcmJMTEdjbEtYL3gxdDN0OEd3bTM1TUZXbXc4V1Nra04z?=
 =?utf-8?B?YTdmZi9oYmg2MTlXOGo5MnFaNUtEMFBWSmxqL0NDcWczbzFRY3VvVjF3R2tJ?=
 =?utf-8?B?anlVNUxSTHRFSWhhSnRkNnJnbGdsbHJ6SnNTcUNFQUxOWlQwT24xRENpNTFx?=
 =?utf-8?B?alFpYTlCcGhWTTZHYUtXalZYOHlYUTBoZ29YRXc4Uk9ZbWxqeVQ5aXoyU1RU?=
 =?utf-8?Q?/DKZubd/LGuey1zVJZrWsmPSy?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8e02080c-dca1-4631-e5cf-08de0811a419
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Oct 2025 15:28:19.8666
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: WOZXwViAsz/k/MGjOtrV8T92HhfuSA9alXPUHRjfXYJF3ZyeOKJ9aPq28Rnd1VHQHCqtadqfXTQ7WE0CmRxBRQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR03MB5358

On Wed, Oct 01, 2025 at 05:09:52PM -0500, Saman Dehghan wrote:
> This change enables compatibility for measuring code coverage
> with Clang versions 14 through 20 by supporting their
> respective raw profile formats.
> 
> 1- Add support for LLVM raw profile versions 8, 9, and 10
> 2- Initialized llvm_profile_header for all versions based on llvm source code in 
>    `compiler-rt/include/profile/InstrProfData.inc` for each version.
> 3- We tested this patch for all clang versions from 14 through 20 on both ARM and X86 platform
> 
> Signed-off-by: Saman Dehghan <samaan.dehghan@gmail.com>
> ---
>  xen/common/coverage/llvm.c | 78 +++++++++++++++++++++++++++-----------
>  xen/include/xen/types.h    |  1 +
>  2 files changed, 57 insertions(+), 22 deletions(-)
> 
> diff --git a/xen/common/coverage/llvm.c b/xen/common/coverage/llvm.c
> index 517b2aa8c2..f92f10654c 100644
> --- a/xen/common/coverage/llvm.c
> +++ b/xen/common/coverage/llvm.c
> @@ -44,27 +44,55 @@
>      ((uint64_t)'f' << 16) | ((uint64_t)'R' << 8)  | ((uint64_t)129)
>  #endif
>  
> -#define LLVM_PROFILE_VERSION    4
> +#if __clang_major__ >= 19
> +#define LLVM_PROFILE_VERSION    10
> +#define LLVM_PROFILE_NUM_KINDS  3
> +#elif __clang_major__ == 18
> +#define LLVM_PROFILE_VERSION    9
>  #define LLVM_PROFILE_NUM_KINDS  2
> +#elif __clang_major__ >= 14
> +#define LLVM_PROFILE_VERSION    8
> +#define LLVM_PROFILE_NUM_KINDS  2
> +#else
> +#error "Unsupported Clang version"

No strong opinion, but it would be nice if we could support all
profiles from clang >= 11, as that's the minimum stated clang version.
Again I don't know how much work this will involve, so not going to
insist.

It would be extremely helpful if clang could provide a set of builtin
functions for freestanding environments to handle the performance data
in an opaque way:

https://github.com/llvm/llvm-project/issues/123034

At a minimum it would be good if the compiler exported a define
signaling the profiling version it's using, as we could then fail the
build nicely if coverage support is enabled against a version of clang
we don't support.  Right now anything >= 19 will assume to be using
profiling version 10, but that will go stale sooner or later.

> +#endif
>  
>  struct llvm_profile_data {
>      uint64_t name_ref;
>      uint64_t function_hash;
> -    void *counter;
> -    void *function;
> -    void *values;
> +    intptr_t *relative_counter;
> +#if __clang_major__ >= 18
> +    intptr_t *relative_bitmap;
> +#endif

I would prefer if this was done based on LLVM_PROFILE_VERSION rather
than __clang_major__ (same for the instances below).  The field are
related to the profile version implemented by the compiler, so it's
clearer if the check is against the profile version.

> +    intptr_t *function;
> +    intptr_t *values;
>      uint32_t nr_counters;
>      uint16_t nr_value_sites[LLVM_PROFILE_NUM_KINDS];
> +#if __clang_major__ >= 18
> +    uint32_t numbitmap_bytes;
> +#endif
>  };
>  
>  struct llvm_profile_header {
>      uint64_t magic;
>      uint64_t version;
> -    uint64_t data_size;
> -    uint64_t counters_size;
> +    uint64_t binary_ids_size;
> +    uint64_t num_data;
> +    uint64_t padding_bytes_before_counters;
> +    uint64_t num_counters;
> +    uint64_t padding_bytes_after_counters;
> +    uint64_t num_bitmap_bytes;
> +    uint64_t padding_bytes_after_bitmap_bytes;
>      uint64_t names_size;
> +#if __clang_major__ >= 18
>      uint64_t counters_delta;
> +    uint64_t bitmap_delta;
> +#endif
>      uint64_t names_delta;
> +#if __clang_major__ >= 19
> +    uint64_t num_vtables;
> +    uint64_t vnames_size;
> +#endif
>      uint64_t value_kind_last;
>  };
>  
> @@ -76,19 +104,20 @@ struct llvm_profile_header {
>   */
>  int __llvm_profile_runtime;
>  
> -extern const struct llvm_profile_data __start___llvm_prf_data[];
> -extern const struct llvm_profile_data __stop___llvm_prf_data[];
> -extern const char __start___llvm_prf_names[];
> -extern const char __stop___llvm_prf_names[];
> -extern uint64_t __start___llvm_prf_cnts[];
> -extern uint64_t __stop___llvm_prf_cnts[];
> +extern char __start___llvm_prf_data[];
> +extern char __stop___llvm_prf_data[];
> +extern char __start___llvm_prf_names[];
> +extern char __stop___llvm_prf_names[];
> +extern char __start___llvm_prf_cnts[];
> +extern char __stop___llvm_prf_cnts[];

What's the point of defining those uniformly as char instead of the
more accurate types used previously?

> +#define START_DATA      ((const char *)__start___llvm_prf_data)
> +#define END_DATA        ((const char *)__stop___llvm_prf_data)
> +#define START_NAMES     ((const char *)__start___llvm_prf_names)
> +#define END_NAMES       ((const char *)__stop___llvm_prf_names)
> +#define START_COUNTERS  ((char *)__start___llvm_prf_cnts)
> +#define END_COUNTERS    ((char *)__stop___llvm_prf_cnts)
>  
> -#define START_DATA      ((const void *)__start___llvm_prf_data)
> -#define END_DATA        ((const void *)__stop___llvm_prf_data)
> -#define START_NAMES     ((const void *)__start___llvm_prf_names)
> -#define END_NAMES       ((const void *)__stop___llvm_prf_names)
> -#define START_COUNTERS  ((void *)__start___llvm_prf_cnts)
> -#define END_COUNTERS    ((void *)__stop___llvm_prf_cnts)

Kind of similar question here, what's the benefit of using char *
instead of void *?

>  static void cf_check reset_counters(void)
>  {
> @@ -107,10 +136,15 @@ static int cf_check dump(
>      struct llvm_profile_header header = {
>          .magic = LLVM_PROFILE_MAGIC,
>          .version = LLVM_PROFILE_VERSION,
> -        .data_size = (END_DATA - START_DATA) / sizeof(struct llvm_profile_data),
> -        .counters_size = (END_COUNTERS - START_COUNTERS) / sizeof(uint64_t),
> -        .names_size = END_NAMES - START_NAMES,
> -        .counters_delta = (uintptr_t)START_COUNTERS,
> +        .binary_ids_size = 0,

We don't usually explicitly initialize fields to 0, as that's the
default already.

> +        .num_data = (((intptr_t)END_DATA + sizeof(struct llvm_profile_data) - 1)
> +                - (intptr_t)START_DATA) / sizeof(struct llvm_profile_data),
> +        .padding_bytes_before_counters = 0,
> +        .num_counters = (((intptr_t)END_COUNTERS + sizeof(uint64_t) - 1)
> +                - (intptr_t)START_COUNTERS) / sizeof(uint64_t),
> +        .padding_bytes_after_counters = 0,
> +        .names_size = (END_NAMES - START_NAMES) * sizeof(char),
> +        .counters_delta = (uintptr_t)START_COUNTERS - (uintptr_t)START_DATA,

The casting here seems not uniform.  Why is intptr_t used in some
instances while others use uintptr_t?

I also think you could just use void *, as Xen uses the GCC extension
that allows arithmetic on void pointers.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Sat Oct 11 00:31:10 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 11 Oct 2025 00:31:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141339.1475805 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v7NVf-0006mY-Oo; Sat, 11 Oct 2025 00:30:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141339.1475805; Sat, 11 Oct 2025 00:30:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v7NVf-0006mR-KY; Sat, 11 Oct 2025 00:30:55 +0000
Received: by outflank-mailman (input) for mailman id 1141339;
 Sat, 11 Oct 2025 00:30:54 +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
 <SRS0=BWuz=4U=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1v7NVe-0006mL-Pd
 for xen-devel@lists.xenproject.org; Sat, 11 Oct 2025 00:30:54 +0000
Received: from SA9PR02CU001.outbound.protection.outlook.com
 (mail-southcentralusazlp170130001.outbound.protection.outlook.com
 [2a01:111:f403:c10c::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8a33a7fe-a639-11f0-9d15-b5c5bf9af7f9;
 Sat, 11 Oct 2025 02:30:52 +0200 (CEST)
Received: from SJ0PR05CA0063.namprd05.prod.outlook.com (2603:10b6:a03:332::8)
 by BL3PR12MB6425.namprd12.prod.outlook.com (2603:10b6:208:3b4::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9182.20; Sat, 11 Oct
 2025 00:30:44 +0000
Received: from SJ1PEPF0000231C.namprd03.prod.outlook.com
 (2603:10b6:a03:332:cafe::3d) by SJ0PR05CA0063.outlook.office365.com
 (2603:10b6:a03:332::8) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9228.6 via Frontend Transport; Sat,
 11 Oct 2025 00:30:44 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 SJ1PEPF0000231C.mail.protection.outlook.com (10.167.242.233) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9228.7 via Frontend Transport; Sat, 11 Oct 2025 00:30:43 +0000
Received: from satlexmb10.amd.com (10.181.42.219) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Fri, 10 Oct
 2025 17:30:43 -0700
Received: from satlexmb08.amd.com (10.181.42.217) by satlexmb10.amd.com
 (10.181.42.219) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Fri, 10 Oct
 2025 17:30:42 -0700
Received: from [172.28.217.164] (10.180.168.240) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.17 via Frontend
 Transport; Fri, 10 Oct 2025 17:30:42 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8a33a7fe-a639-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ew0WLqiJdLAGZ2+urJojDChHEO/Ep3+1orDnJNJD74fmblnV+PiGeWtGOVLnLNzW+5pGEyc1tWqqMLLCABSbQ8vwk7Tz/5oaZP806Wkhdcj2K3SKe0ZinqaKOBXAyrQFphy2JoOMFF+OptbP/JQFdD1fam2TmwEtU3tb8SV+Zjpwm5eeo1C1/ro8+Svu8v/1clUIHWjooTWeLiE0TOjW+/YCsFJlY8xc4guRy5an4AnnNPCg29gKIFP1GHkprdzX3r5PZaQo30ILD04uFuZj2+4YK05LKzZvdcnSsnVtZ8utAXLcxMwLSFoSGpDViVp9aXgwSdSlwWAAjf0EQIEeUA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=uHPTNJkGoogf4KZ3qDka5bjf+WbdE69cYaeQ2wBDJYY=;
 b=MmrXGvWpUW8RiHI4Y2W4Kh3AprtAtjroww07tWLF7bLQ///+kNxSB1G8AQ2Y3dCube4P+Np1tB7h1W5bejYYlyK2+QGIbQYSuYfyaQ6jR4El0iLCFiZgAs6BNBfboOiSSlQcGp7FH98Ucm3iOGAYlsDJq14W4uLKMxKU46971W0LU/mtOCqhDlF+JGi9LVFmttxZ61r2oBeTnqxG+Gyg+F4BDjuDoywCmXjMbB0z7aYvIUd90ug1X0W1R3RtTuSK0oGU/N7n05AF3pNPrFN89SqXpbGC8MaDHcqoWn8M5mKip239ZJ1+nx+samXpsyQKi7tyasawh30q+vdDtGeQJg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=uHPTNJkGoogf4KZ3qDka5bjf+WbdE69cYaeQ2wBDJYY=;
 b=TWv2gFXkOXdg9BJKuRkQBjRXJ7DFQBZlAACYQ78r7IOZvNDcyYfprJlTJJCO8wgTBoBMsqKBfufbaMjAjguMYD6cIbW4E9Hh1DgGL6nSQ6fRZ4MKbQSJZNq/7i+feYrSEdBxNBgjt2Sq6M47bmNz/M3U2NoVAzyqtihRh2XvKxo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
Message-ID: <6a546de3-0e1d-4de2-b25c-acab646bc270@amd.com>
Date: Fri, 10 Oct 2025 20:30:42 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] x86: guard synthetic feature and bug enumerators
To: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <8ecbf8b7-91fe-4f9e-9542-7ec22b6a47bb@suse.com>
 <48dcc0e0-2772-49b9-9383-5bf69f922053@suse.com>
 <1439ec29-4319-43d0-b4ff-0eb5bfe9405b@amd.com>
 <c9d04edf-4801-46c7-ae6d-8479ef985972@suse.com>
 <057c91eb-c6c3-4e00-bf2f-6611181ebfd7@amd.com>
 <b241871b-0b86-497b-afb5-86a0aa9813ce@suse.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <b241871b-0b86-497b-afb5-86a0aa9813ce@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ1PEPF0000231C:EE_|BL3PR12MB6425:EE_
X-MS-Office365-Filtering-Correlation-Id: 96ff2941-03b2-45c6-89ba-08de085d6a34
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|376014|82310400026|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?UjVtSlBia2ZnQm9uVkV2a3h1R3RtWnNJOThlVVFDc29ObzhYTzdaYWV1MTdm?=
 =?utf-8?B?c0xZNXc5d29aMC9Eek1KQlcxYzRkdjNJc2QvTnBGT21WeGIyVVF6UkVra1hY?=
 =?utf-8?B?WDFGbVBLeElzSnhrYnp1NlRRV3k1bHhFTGVYWERCeVR4K3oxUlZwT3VDcmt6?=
 =?utf-8?B?aTM2eDZTTjFOTnJTbzA5WnZaRE9mMmhnWmNKNUgrTmpqeEFOQUlIYzFIUncy?=
 =?utf-8?B?Umg2S2loTytKYktYbUFrdUtsdHhoOTc2WllxRExFN0Q5MHViQWpmREV5Uitk?=
 =?utf-8?B?cnRpTmd5NVIzQUoxeGRtd041ZjE5WDBPWjJPQlNtVlp5VUNkYmJjb2dtV2dk?=
 =?utf-8?B?SWd5eXV2U21BZWlBZFozdDk5MjI1eDYxd3B2ZU5hNU1jVTlrMTFLdFhSNmJ3?=
 =?utf-8?B?SzVuS2lZQnpwVHZqdjY5T1JHaTEzWWFJUXBKVG1zaTdYZ1R6Q21jVEtnSm1D?=
 =?utf-8?B?OEdsRmdSMk5UdENiUFRUOWZHb2xmODRiL1lkOHgrWGtPVVhnK2JlcDVraWVn?=
 =?utf-8?B?T0lDUXpRM3hFZUtzd1JmaDAwR0J0NFV2dXlKNWdmUzBFMWxaSlM0M01aSmk3?=
 =?utf-8?B?UzB6L2hZMktuRXFmTWZOZ2Z5NFo0RTdJWDlaYW5BbjZuQTVZNTdESjhNL0NC?=
 =?utf-8?B?N1JGUlVwRVJsdG11QXMzRDVmREErVUFVd1J6SUZRNkJldDZoaXc1YVVwQTVW?=
 =?utf-8?B?S0pQaGFWbE1QWHZLRHY1ZmhNbTFQcFlZMHZtWjcrTXVjMkVPaVBNSmg4bHdn?=
 =?utf-8?B?eWVaamtoc0tXTTdXRXE3d09peVdMbEFtYnRmZE9rMDU0OUNTMm5hdGwzWTc5?=
 =?utf-8?B?bk41ejlCRU1QKzIvS0habThYbUhlcTRJL2xuVzEwa3ZhMWRxbndGbk0yZlk2?=
 =?utf-8?B?ejk0enRWUkx0RUk1N2VVbVdQKzBmR3VTc2lrMVlwcFB3ZXV3NXNVMFgrUkdI?=
 =?utf-8?B?dFlMeDhVR3NZYjNFMStJdktaUEg5bzJZazBSVjB0ci9xQVU1bE9UeDJTYlJl?=
 =?utf-8?B?YU9iVGEzQlR5MDBpVEFORlozTCtSK2dLbVZDSVgzTTBuY1MyR2RMU1A5eUtk?=
 =?utf-8?B?bEVnTjdhN0R6VEZZTkw4UitUVExYVm4yNm9VQ3BHVHNrajAra2Rld1JvUnZh?=
 =?utf-8?B?NVlicUlyZlgyY2hLYjh4dHNabHdIY2hPa3EzQVF1NVVML051bCtoS2RpM2xU?=
 =?utf-8?B?TitoNlpsOHNRbWNRVWRFZ1hvRDJNUVNOWW5YVjFyM2FDN0g0SHBBRFREYUVr?=
 =?utf-8?B?bDR0cDhSRUQzcDFleE9CSEN5dXlEMUpZOFVuOXBjM2pqRlcrMFlLMzM3UHR3?=
 =?utf-8?B?SFBHTUVyOU0yRjJ1cis5bVN0UWgvNEg4UElqVnhIQ3JjbGlMZzhSVHNDVU5Y?=
 =?utf-8?B?VVoranZNSEc1bU9TeGJOZ3VkeFdvVEoxclZCNmdmaEdFaU42V1puajRSQldX?=
 =?utf-8?B?RG1tTnNyMnVXSTV5d3BjN2RKS1pvNEN6M1FlbS81QjMxT1BwZDRjZEFwNDVR?=
 =?utf-8?B?WFY4K2oyRHV5WVNvQ1MxVWYrMGpsVVdWNTdXbklUTzVtcGhqUGQrdW9YbE1h?=
 =?utf-8?B?QTdRSFpLaU0wc0JITEo5WjRUNHZvZFFWdWhrbkhlQVhMM0J4U1FjS3JCN0hI?=
 =?utf-8?B?T1dGOEkyTk9rM295ZVhtR1ZENjllaG03OVJnZmErU3M3SkQ5dytCcDBOamFS?=
 =?utf-8?B?ek9qai84OTh6V3VYSmZYRFlHc0kzSmM0QVlmbWkySDFsaU5RRlZEUWJzYlp0?=
 =?utf-8?B?VFlGVXNiZHloaDNoamg4VmxtUzZSMEhNUzAvendkMTNrcmg0WkNGa2dFNmxk?=
 =?utf-8?B?UGdvaVJUSEdOdi9tdkVSYnZlSTQzclJWQ283SEUzVTYwdTM2V05zOVk0YS9M?=
 =?utf-8?B?Zy9zTFR6dzcyZFplYmVIU0hpVWI4OGE5dmkvVHpqR2tuUUdacjM3T3hWR2lC?=
 =?utf-8?B?c2NxdkNtRHg1blBDZmM2TkxtSHVGVC9HMi85QnlKWFc5eTg2M1l4cjlrdFJE?=
 =?utf-8?B?OGRXemFRK3dYbDBMbE1IdFIrdXdLVE1qMGx3MERhN2ZlMjkvMWZBQjJUb2Rq?=
 =?utf-8?B?akh1YVJiS2dsdlcxVExDeVE4SVlLSGFKTXl1YU5vSS9Wc2tMeUNNOTRIQlNU?=
 =?utf-8?Q?jFck=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(376014)(82310400026)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Oct 2025 00:30:43.8652
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 96ff2941-03b2-45c6-89ba-08de085d6a34
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ1PEPF0000231C.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR12MB6425

On 2025-10-08 01:56, Jan Beulich wrote:
> On 07.10.2025 21:38, Jason Andryuk wrote:
>> On 2025-10-07 08:22, Jan Beulich wrote:
>>> On 30.09.2025 01:36, Jason Andryuk wrote:
>>>> On 2025-09-25 06:48, Jan Beulich wrote:
>>>>> --- a/xen/arch/x86/include/asm/spec_ctrl.h
>>>>> +++ b/xen/arch/x86/include/asm/spec_ctrl.h
>>>>> @@ -73,7 +73,7 @@ static always_inline void spec_ctrl_new_
>>>>>     
>>>>>         /* (ab)use alternative_input() to specify clobbers. */
>>>>>         alternative_input("", "DO_OVERWRITE_RSB xu=%=", X86_BUG_IBPB_NO_RET,
>>>>> -                      : "rax", "rcx");
>>>>> +                      "i" (0) : "rax", "rcx");
>>>>
>>>> "i" (0) is to work around the trailing comma in alternative_input() and
>>>> does nothing?
>>>
>>> Yes. If more such "uses" appeared, we may want to introduce some kind of
>>> abstraction.
>>
>> Thanks for confirming.
>>
>> Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
> 
> Thanks.
> 
>> Though I also wondered if just #define X86_BUG_MAX/X86_SYNTH_MAX
>> combined with a BUILD_BUG_ON might be good enough.  Your approach avoids
>> the extra define but is more complicated.  Anyway, just a thought.
> 
> How would that end up simplifying things? IOW what would the BUILD_BUG_ON()
> look like that you're thinking about? After all X86_{SYNTH,BUG}_MAX aren't
> meaningfully different from X86_NR_{SYNTH,BUG}.

Originally, I was thinking something like
  XEN_CPUFEATURE(PDX_COMPRESSION,   X86_SYNTH(31)) /* PDX compression */
+#define X86_SYNTH_MAX 31 /* Bump when adding flags */

and:
BUILD_BUG_ON( ((X86_SYNTH_MAX / 32) + 1) > X86_NR_SYNTH )

Not automated, but adding a new flag should make it obvious 
X86_SYNTH_MAX should increase.

But as you point out the redundancy of X86_{SYNTH,BUG}_MAX and 
X86_NR_{SYNTH,BUG}.  But we could re-arrange to make X86_NR_{SYNTH,BUG} 
calculated from X86_{SYNTH,BUG}_MAX like below.

Again, it's not automated, but it should make it harder to miss 
increasing the value.

Regards,
Jason

diff --git i/xen/arch/x86/include/asm/cpufeatures.h 
w/xen/arch/x86/include/asm/cpufeatures.h
index 0a98676c16..724eb1599f 100644
--- i/xen/arch/x86/include/asm/cpufeatures.h
+++ w/xen/arch/x86/include/asm/cpufeatures.h
@@ -7,7 +7,6 @@
  #define FSCAPINTS FEATURESET_NR_ENTRIES

  /* Synthetic words follow the featureset words. */
-#define X86_NR_SYNTH 1
  #define X86_SYNTH(x) (FSCAPINTS * 32 + (x))

  /* Synthetic features */
@@ -43,9 +42,10 @@ XEN_CPUFEATURE(IBPB_ENTRY_PV,     X86_SYNTH(28)) /* 
MSR_PRED_CMD used by Xen for
  XEN_CPUFEATURE(IBPB_ENTRY_HVM,    X86_SYNTH(29)) /* MSR_PRED_CMD used 
by Xen for HVM */
  XEN_CPUFEATURE(USE_VMCALL,        X86_SYNTH(30)) /* Use VMCALL instead 
of VMMCALL */
  XEN_CPUFEATURE(PDX_COMPRESSION,   X86_SYNTH(31)) /* PDX compression */
+#define X86_SYNTH_MAX             31 /* Bump when adding new flags. */
+#define X86_NR_SYNTH              ((X86_SYNTH_MAX / 32) + 1)

  /* Bug words follow the synthetic words. */
-#define X86_NR_BUG 1
  #define X86_BUG(x) ((FSCAPINTS + X86_NR_SYNTH) * 32 + (x))

  #define X86_BUG_FPU_PTRS          X86_BUG( 0) /* (F)X{SAVE,RSTOR} 
doesn't save/restore FOP/FIP/FDP. */
@@ -62,6 +62,8 @@ XEN_CPUFEATURE(PDX_COMPRESSION,   X86_SYNTH(31)) /* 
PDX compression */
  #define X86_SPEC_BHB_TSX          X86_BUG(19) /* Use clear_bhb_tsx for 
BHI mitigation. */
  #define X86_SPEC_BHB_LOOPS        X86_BUG(20) /* Use clear_bhb_loops 
for BHI mitigation.*/
  #define X86_SPEC_BHB_LOOPS_LONG   X86_BUG(21) /* Upgrade 
clear_bhb_loops to the "long" sequence. */
+#define X86_BUX_MAX               21 /* Bump when adding new flags. */
+#define X86_NR_BUG                ((X86_BUG_MAX / 32) + 1)

  /* Total number of capability words, inc synth and bug words. */
  #define NCAPINTS (FSCAPINTS + X86_NR_SYNTH + X86_NR_BUG) /* N 32-bit 
words worth of info */



From xen-devel-bounces@lists.xenproject.org Sat Oct 11 06:45:18 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 11 Oct 2025 06:45:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141387.1475815 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v7TLm-0006SO-5a; Sat, 11 Oct 2025 06:45:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141387.1475815; Sat, 11 Oct 2025 06:45:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v7TLm-0006SH-27; Sat, 11 Oct 2025 06:45:06 +0000
Received: by outflank-mailman (input) for mailman id 1141387;
 Sat, 11 Oct 2025 06:45:04 +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
 <SRS0=1Aqd=4U=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1v7TLk-0006SB-G3
 for xen-devel@lists.xenproject.org; Sat, 11 Oct 2025 06:45:04 +0000
Received: from CH5PR02CU005.outbound.protection.outlook.com
 (mail-northcentralusazlp170120005.outbound.protection.outlook.com
 [2a01:111:f403:c105::5])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cf64b14d-a66d-11f0-9809-7dc792cee155;
 Sat, 11 Oct 2025 08:45:01 +0200 (CEST)
Received: from DM4PR12MB8451.namprd12.prod.outlook.com (2603:10b6:8:182::7) by
 DS0PR12MB6413.namprd12.prod.outlook.com (2603:10b6:8:ce::10) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9203.10; Sat, 11 Oct 2025 06:44:56 +0000
Received: from DM4PR12MB8451.namprd12.prod.outlook.com
 ([fe80::6d8e:2499:8a0a:7eb2]) by DM4PR12MB8451.namprd12.prod.outlook.com
 ([fe80::6d8e:2499:8a0a:7eb2%3]) with mapi id 15.20.9203.009; Sat, 11 Oct 2025
 06:44:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cf64b14d-a66d-11f0-9809-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=VZum0C5rBqQ1A2UE+JPI6ye8WJmlKzj0KBj1aSFiX5907Z17VsA8W30fniC8o9TYROjv2lqy8RdXdrXbzSWwGx4qPGhrYD7gf93WH3iziTGBguUTMuAjTM0awwC+OENzwMblGgBnCboGkOr7kmWuK9K8o+m2XQFWmEE3ume16kHj5uqXbhfgodInA2nt8hJbKTBxukuThJy9A6ZRvvhzn1qVc1MZ7ml1YNHywIWhdmT5KOTbECqdCNiVK1CJ251OfXbL/Q06hjCuWmL5S973fV+2cRCGNTSuiPK8NEqDEAoZeSQeAZfaxzNeT1JzxFTIpqbNml17XJcW3rD+HyiTiA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Afz391nsnA4VwQeebJ/eQISZMTKzPV8PBOyAXsjYIvo=;
 b=VZ6vQb9hKOz0beKh5VplQsIqgJYgfTwdQ2/qLW753d9WDmJj5YECaINVLCidantkO5vgAHXwvmbaFjV/XRaekdCTL1Py3qBvUjgDUS1ame0ZmtDUzthvDoY57LpL00wisFti9zkTV1tiZGRuz9Od8oSfagcgzqdjsYjN1mKJXcl1Mfm3AMNkq+yiUIr8SKaEVMZWxXz1shGB+C1t/p5v0JlMmPSZMeoNbXVA/hf/qluDFcl9N1a8yX3ghm8jW1D0Mun2nE9sWDTyLkvfhKwGFAaMyIdQSQjfrhe9HfLLsI8vqubHEiPZBE8Ah9HoTamIeSFY6pSVYBFZOMxK+LfriA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Afz391nsnA4VwQeebJ/eQISZMTKzPV8PBOyAXsjYIvo=;
 b=1M9EXGk81WWpDb6TTKwtG7q97xO2HBHWyvesaa299O6Bd0kN1h4+14XqVMWqwkpvBB6x24WtHKd+feSIUihONiNHBBuXTXxrcIgf3vqq80jW+mfpYO0q6FyjiJcyWCLcqSPF3hIEDaqPMvz8j8pNqLtfWYZ+QDuVpgaO4BQo1pI=
From: "Penny, Zheng" <penny.zheng@amd.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "Huang, Ray" <Ray.Huang@amd.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Anthony PERARD <anthony.perard@vates.tech>,
	"Orzel, Michal" <Michal.Orzel@amd.com>, Julien Grall <julien@xen.org>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>, Stefano
 Stabellini <sstabellini@kernel.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Tamas K Lengyel <tamas@tklengyel.com>, "Daniel P. Smith"
	<dpsmith@apertussolutions.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: RE: [PATCH v2 24/26] xen/domctl: wrap arch-specific domctl-op with
 CONFIG_MGMT_HYPERCALLS
Thread-Topic: [PATCH v2 24/26] xen/domctl: wrap arch-specific domctl-op with
 CONFIG_MGMT_HYPERCALLS
Thread-Index: AQHcIiYjKV/PcPIAQEuJ6TZ/Q8rQNrSN9F6AgC6RCYA=
Date: Sat, 11 Oct 2025 06:44:56 +0000
Message-ID:
 <DM4PR12MB845153811FA7748CA058EB9AE1ECA@DM4PR12MB8451.namprd12.prod.outlook.com>
References: <20250910073827.3622177-1-Penny.Zheng@amd.com>
 <20250910073827.3622177-25-Penny.Zheng@amd.com>
 <56024eb0-b30f-43fd-84b7-6070a1d79cf0@suse.com>
In-Reply-To: <56024eb0-b30f-43fd-84b7-6070a1d79cf0@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels:
 MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Enabled=True;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_SetDate=2025-10-11T06:44:33.0000000Z;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Name=Open
 Source;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_ContentBits=3;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Method=Privileged
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DM4PR12MB8451:EE_|DS0PR12MB6413:EE_
x-ms-office365-filtering-correlation-id: 27b6bc8b-9f23-4189-0351-08de0891b0fe
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|7416014|376014|1800799024|366016|38070700021;
x-microsoft-antispam-message-info:
 =?utf-8?B?dE1ZL2p1U0xGMFAyWlNKZXdXaS9EcjB1VVYyaWVKZ1dYcm5BNjRUdjI4Q1dy?=
 =?utf-8?B?NGluOTh1a3NHcmNMMTNxbE5BdDJxc0RlQnBiampKQTVHaUMyOEx6UlZER2Nk?=
 =?utf-8?B?cURmemI2N21NNHZWeE5ramFyamRrL0M2MUhKNWlHSXpOcGhPOWp2QUNGQTh5?=
 =?utf-8?B?dDlacHJKbnNIR2FLb1haZ3pveks3b1pleDJyam51MXdVV3M5WmlRNm5RdEdS?=
 =?utf-8?B?UEFxMlFVWEF6amZTNkJMMU9YejRaNmhPcGVHVDMwYUNnS1dzZEJCNFV3TWJD?=
 =?utf-8?B?VGZuUHVFcTBmYlF1T3NpRytzcGlSNzdYQzdkTW9ERTE3YW4xQUhBWVlMUnVC?=
 =?utf-8?B?OFJZMTF5emVrbTM3d05TQ1BodG05UzlObGVWY1lFMmdST3I4Z2U5RFB4YWww?=
 =?utf-8?B?ODRPUlNHMm1LeUwrbFhhOFpPTDMvQjRFRlAybmd0SXJKY2pkd1VkMFVHQWph?=
 =?utf-8?B?c2xhYkpvYVRSWi9RK3lZUWdMMHlUZ1RvSDNUZjdWbEZzazYzUnVINS8ra01T?=
 =?utf-8?B?S1dkZS9ZRllCaS83bk9aMU1WejhMeUkxQ0RsbGtBSE9FVTVZaHlzV3BzOVVl?=
 =?utf-8?B?bkg5SjNBdENlaGp5MCtuUHlpZ2N1UHpibHUzNGhmS0ZDTklORWRMUXdrWTI0?=
 =?utf-8?B?S3R6Ujd2c21aS2tIcVZpNUo4ajl5bGlseHB3bkhNV0RrMS9LeW8yUEhzQ3Vs?=
 =?utf-8?B?TzBPTmdiVEJDUU9CVWZsMUo4RVkrLzF0UllWcHFlQ1ROTTVjQzVCQ0FVRFRJ?=
 =?utf-8?B?c2NCcFExM0x0SW5vYW9VMGRrTVFDVDJzc1hZRFZTNnkxOVFnVmNIUWRxYnd3?=
 =?utf-8?B?Zk00d1k0ZE9uZlY2S0dwZzFmcXJKN3JCYUpUMm5jeHlkWnhsdW5IQ00xMytn?=
 =?utf-8?B?UTcxTG43YkVkMGpoNHR6NDIvTUcxeXdnRHBGSzRsM0RjRUx1YjFEeER0aFU5?=
 =?utf-8?B?dVZBbUFHVlhvK2R6bm9XVWVKMmI2ZkVoSlhOYlNHUmxGZmt6d2tHMWlnZDBq?=
 =?utf-8?B?c3ZEMndDajBGNUJkU0w2VVU1ekFsT0VNNmlnVVJmd2ZnbnRyTXhGWklVZ0l3?=
 =?utf-8?B?cnJhS3RGcDB4dFNENks3QkwydWNXcW5IUi80Mi83dVhWT0ZXR0ZTZi9TbnNh?=
 =?utf-8?B?REkzSEh3YnhnOUFzUFVaN2J2ZzRYeWpxR0QrOVVnQ2MrZFNhVm8yK0JERklq?=
 =?utf-8?B?R2dHeGVnS3ZaMzVJMXduaEE0SHdNejhWNnlIY3RJeE5zY3YzTDdReDNiaDdY?=
 =?utf-8?B?cXRsejljSjNQRFI0bG0raEd3UndSNWlKeHE4a3VHUmE3Q3dtckMyRFV3WVZE?=
 =?utf-8?B?MW1WV1VyTmY3Yzc2OWZOaTNGMEZmbUY5aElKSFhDRFczc1UrQk5kWm9UNFJt?=
 =?utf-8?B?a1JGaFNySDZ2bzkwQjVRbVlKRE5MTDBEYlJxMHROM0MrUTdZQWpSK0g0VzBk?=
 =?utf-8?B?L1NubzJTeEk2YWE0aEpNNDJKYTdMUDkrK3o5ZnV4a2w1N1hmcUdGeTUxeUNS?=
 =?utf-8?B?SEc4SmtKTy9UUk5OVE9ROHVuenRSVkZ3MDliVlBmZ0luenpTdkRXZkZqU0hu?=
 =?utf-8?B?YWF4T2pBRHhJdUp3dytWWG9zaThhNUNVRFJPa2VodmJNNHFqaDNNZnplZU5W?=
 =?utf-8?B?d1FtNnMzOE1wVnhVMStwR2lRVSs0RlBsYmVxL1hBTVRUS3EwYXp5MldmRUtY?=
 =?utf-8?B?YWNiUThwbGQwbUZoZE4zalBKWFVjbFFmNnczQ1pueUxKOXB5R3JLYzhGTEl3?=
 =?utf-8?B?NnE5RS93UmJDS3B0Z01HUDFid0Z1aWZnWVJSbXp6dkVhb1RkMlo1TkRRU1ZW?=
 =?utf-8?B?L1VDZExTR3liWmEwTXNlK1JVYms1YjBPTmRPOUVqY2RkUXFXMmY4YmQ1em4v?=
 =?utf-8?B?R2tKeWZhaDNsbU41RGo1SXAydVIrVStDU1hMUVh2S21kRnVRLzA3M0doeE9T?=
 =?utf-8?B?bWswS2NiNW1nYjRFTUFRcTFJcC9sOUpoNWYzaFlhd0FpWHQxeFg3OW12MTVk?=
 =?utf-8?B?eWc3aFpEUXNzbG1oM1NvZS9LWE9UYXVFY2lRekVqbFA3UHoxK3dUcEs0NHFO?=
 =?utf-8?Q?ZxQ41v?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR12MB8451.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(376014)(1800799024)(366016)(38070700021);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?K1BMeU05OHp6anFMYmp5VE9HMGtVQnJxMHR4WGNacFFielNCZzVVWXFCbzNl?=
 =?utf-8?B?S3hJd1BCN1VyUWdsYTkzYk1HNFc4Nk9CRTNrTDJ3SXBVc2tuZGpFVDVEb0JC?=
 =?utf-8?B?SjMwYUt1SzRHTWYvZ0swVnp2M1F0RUZ0K3ZBME9YYjduT1AwMUh0OWpZT2U0?=
 =?utf-8?B?OVlVaHFmcFBkWVFtaXVVVW9tbW1leFZvY1JsWldmbCtSeFhtcGQySzFwM21x?=
 =?utf-8?B?cTludmNuOWhLSEdYclZFMytDMkJoZGI0TGZ1ZFdCVmUwY3ppY0dMTlczWDZu?=
 =?utf-8?B?QVFaZTlCOWtad3lvS0hneldhNlR5T0thOVVZT1RyVjlFbHEzUjRBRXJSbDJu?=
 =?utf-8?B?UmEwN3NvR2JPQ0dyRGY2cUpqdS8yQUQwcG92VTROQ1BZTEhSbDBrYTJuS3Bs?=
 =?utf-8?B?YldZVHd0T0xhWVI0amZUalpXWnRkb3lHTDlPcGZTd0RvcGRBUkV0Mmp3OTdl?=
 =?utf-8?B?WC9qclJtTGpVNWdxOUp3aGE2bXdxMUtDMGpPTWxsTWovZ3ZaNStQbWg0aGw5?=
 =?utf-8?B?STREbGJYTVVBZnAyMk0zYjBWUGl0N3ZwcTdPMEJEc3J5QStnZlU4YjhZV29I?=
 =?utf-8?B?cVJuSERiVTMrNjV4S2x2bVBNR1ExN1Zyd3hVZUYxRDYzN3NhdVBmWEFlM3lU?=
 =?utf-8?B?citwT2tOenpFSHZEcUdodWtNRXIvd3RqY2svYlJSaDVHOXBGTDYxdGRtVFZv?=
 =?utf-8?B?c2ZHelhBVTJieUZUeHlIT2xCUjBQUk5PL2FpSHNKdnhnRnZKN2dacjdwU0tx?=
 =?utf-8?B?UTl2ZGQrbkpKWnBQVzdoeXlBbTFGSzNnUEhRejdqejJDelVxbzR6VXdmQzhZ?=
 =?utf-8?B?N05VWXBCcUNIMEtHRjFqdlhkQUE4OURRenE4dm1UNDIyUnpuM21NOVg0YWZ2?=
 =?utf-8?B?WjJDakZBV0I5dHpDNjVrazhnOHp5cW1Mb3ZrYS80ZURsY21sd2RHTDVPa3lB?=
 =?utf-8?B?NzRHUmRYcm5qRkhoMUU4bDR0d1h5M0szaW9VbVlpMHNVZy8wdUpyZEdFUFZ0?=
 =?utf-8?B?am11SHBWeUlrY1o5L0RVOURQeXZFNVlEbkE0bW5pT1VCcGF6Wks5T3A5RFh0?=
 =?utf-8?B?b2RVQlVnT2Vrc3pFSGZta0dZQU1oRTMyWU5FYktIZFM1c0kzQ2Y4N3NJWmpm?=
 =?utf-8?B?Si9Qb1F5QlltY2wzTjJzRmgwcUJIc1V1dE9GeW1IMWNXVDlzQmt2TUlKNXVV?=
 =?utf-8?B?eFkzZzBsd1RBNVZXM2JDcDcvR3VwTWl6aXpOeHZyZjNJSVhSTEJKdmFNcU05?=
 =?utf-8?B?Ykpzc0JkTlR5LzBVeHBleXVqem04RndpRTZmK2pmREk2aFJNblFGWEsvampk?=
 =?utf-8?B?UjEvemMxOFh3TlhoNitiU09EbkNyWEFBS3gxYU5Bb1NYNnlyb09OZHdQMWhk?=
 =?utf-8?B?UTlzRWtyWXlLSmpqR1NOa0d6UkhpM3lFelZLWjEzZ2d4aG5ONEpXTWYwL0Y5?=
 =?utf-8?B?M3gvYkZMOXFLVEtrTldUZzM2VWZpRTVsTmlpcmRlbXQyOW5QUm85R1NBZzEz?=
 =?utf-8?B?MHl6aTQ3UllLN1paTGt6QzdWU2tVeVFLSWt4cVY1VEFvdW8zUWdKM2ZxWlVV?=
 =?utf-8?B?cTd0anl5NkZLdXQ5eVZPaVErbnYvR2lYSDZOR3hNeTlJNVhUeVV2MzJQTGtv?=
 =?utf-8?B?YnZQVGZBRVNTOUpxTWp6a1JLU2ZBMWZHOW54bms1Tm1neW1oenpOSUs1RVlH?=
 =?utf-8?B?UGVTdDdFbXB3NHBhTWZZc0szWnpPN1dobWNCdy9FbHZ0c2NwVmFCaGUyVXBD?=
 =?utf-8?B?d2JFQnFLNldUdzRvUk8yY3o2bkZsOWl3eDl4MjFySS81QzBuRll3TFRnMmVD?=
 =?utf-8?B?djNac3RvMGMyUGwzVGwwWXF2dkYxZzhGUHdoZUQ1SktEM081RSsvNWljNy90?=
 =?utf-8?B?RmFZMWNvSDNBMHZYUk1MSHd2ZjgrOW5pcVJjN05YR0VtUmNlcGRHWEpPSlB3?=
 =?utf-8?B?TkFLb1VIQmtVNW1SMHhMSDYzZHVQL3dwT0s1TG1wQ0xybk9pc3dFbWR2MWRD?=
 =?utf-8?B?YytTd0JGZVBHeFBNODF2RUVYVlFYQWtHRkJ2WURUK0tyOFNkOWg2WG93UkIx?=
 =?utf-8?B?N1RiNWlPWTFvR3VraFY0czdiV3RCcmZKTFpNY3UweGx6Q3pqY1ZtSEx2Zm5U?=
 =?utf-8?Q?IiXE=3D?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM4PR12MB8451.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 27b6bc8b-9f23-4189-0351-08de0891b0fe
X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Oct 2025 06:44:56.5127
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: rcRTj7da5AL7ZtPtV0n2ZMX3oKE0HYoATtO36Mf1P5rTAbswSaJTe2LxcPOHtIzGCNmugkCsIUFjhH3vHGymgQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB6413

W1B1YmxpY10NCg0KSGksDQoNClNvcnJ5IGZvciB0aGUgbGF0ZSByZXBseS4gSnVzdCBjb21lIGJh
Y2sgZnJvbSBuYXRpb25hbCBob2xpZGF5Lg0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0t
DQo+IEZyb206IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gU2VudDogVGh1cnNk
YXksIFNlcHRlbWJlciAxMSwgMjAyNSA5OjAzIFBNDQo+IFRvOiBQZW5ueSwgWmhlbmcgPHBlbm55
LnpoZW5nQGFtZC5jb20+DQo+IENjOiBIdWFuZywgUmF5IDxSYXkuSHVhbmdAYW1kLmNvbT47IEFu
ZHJldyBDb29wZXINCj4gPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+OyBBbnRob255IFBFUkFS
RCA8YW50aG9ueS5wZXJhcmRAdmF0ZXMudGVjaD47DQo+IE9yemVsLCBNaWNoYWwgPE1pY2hhbC5P
cnplbEBhbWQuY29tPjsgSnVsaWVuIEdyYWxsIDxqdWxpZW5AeGVuLm9yZz47IFJvZ2VyDQo+IFBh
dSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPjsgU3RlZmFubyBTdGFiZWxsaW5pIDxzc3Rh
YmVsbGluaUBrZXJuZWwub3JnPjsNCj4gQmVydHJhbmQgTWFycXVpcyA8YmVydHJhbmQubWFycXVp
c0Bhcm0uY29tPjsgVm9sb2R5bXlyIEJhYmNodWsNCj4gPFZvbG9keW15cl9CYWJjaHVrQGVwYW0u
Y29tPjsgVGFtYXMgSyBMZW5neWVsIDx0YW1hc0B0a2xlbmd5ZWwuY29tPjsNCj4gRGFuaWVsIFAu
IFNtaXRoIDxkcHNtaXRoQGFwZXJ0dXNzb2x1dGlvbnMuY29tPjsgeGVuLQ0KPiBkZXZlbEBsaXN0
cy54ZW5wcm9qZWN0Lm9yZw0KPiBTdWJqZWN0OiBSZTogW1BBVENIIHYyIDI0LzI2XSB4ZW4vZG9t
Y3RsOiB3cmFwIGFyY2gtc3BlY2lmaWMgZG9tY3RsLW9wIHdpdGgNCj4gQ09ORklHX01HTVRfSFlQ
RVJDQUxMUw0KPg0KPiA+IC0tLSBhL3hlbi9saWIveDg2L01ha2VmaWxlDQo+ID4gKysrIGIveGVu
L2xpYi94ODYvTWFrZWZpbGUNCj4gPiBAQCAtMSwzICsxLDMgQEANCj4gPiAgb2JqLXkgKz0gY3B1
aWQubw0KPiA+ICBvYmoteSArPSBtc3Iubw0KPiA+IC1vYmoteSArPSBwb2xpY3kubw0KPiA+ICtv
YmotJChDT05GSUdfTUdNVF9IWVBFUkNBTExTKSArPSBwb2xpY3kubw0KPg0KPiBGYWlyIHBhcnRz
IG9mIGNwdWlkLmMgYWxzbyBiZWNvbWUgdW5yZWFjaGFibGUuIEFuZCBhbGwgb2YgbXNyLmMgYWZh
aWNzLg0KPg0KDQpJIGp1c3QgZm91bmQgdGhhdCB0aGUgZnVuY3Rpb25zIGRlZmluZWQgaGVyZSwg
YXMgaGVscGVycy9saWJyYXJpZXMsIGFyZSB1c2VkIGluIHRvb2xzL2xpYnMvZ3Vlc3QveGdfY3B1
aWRfeDg2LmMgdG9vLiBFbW1tLCB0byBtYWtlIGNvbXBpbGVyIGhhcHB5LCBJIHN0aWxsIG5lZWQg
dG8gcHJvdmlkZSBzdHVicyBmb3IgdGhlbSB3aGVuIE1HTVRfSFlQRVJDQUxMUz1uLiBPciBhbnkg
YmV0dGVyIHN1Z2dlc3Rpb24/DQoNCj4gSmFuDQo=


From xen-devel-bounces@lists.xenproject.org Sun Oct 12 22:20:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Oct 2025 22:20:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141653.1475825 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v84Pz-00012g-Hc; Sun, 12 Oct 2025 22:19:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141653.1475825; Sun, 12 Oct 2025 22:19:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v84Pz-00012Y-Cv; Sun, 12 Oct 2025 22:19:55 +0000
Received: by outflank-mailman (input) for mailman id 1141653;
 Sun, 12 Oct 2025 22:19: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 <SRS0=//GD=4V=gmail.com=w1benny@srs-se1.protection.inumbo.net>)
 id 1v84Py-00012S-S7
 for xen-devel@lists.xenproject.org; Sun, 12 Oct 2025 22:19:54 +0000
Received: from mail-wm1-x32d.google.com (mail-wm1-x32d.google.com
 [2a00:1450:4864:20::32d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 91c030d7-a7b9-11f0-9d15-b5c5bf9af7f9;
 Mon, 13 Oct 2025 00:19:53 +0200 (CEST)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-46f9d1b186dso3609335e9.3
 for <xen-devel@lists.xenproject.org>; Sun, 12 Oct 2025 15:19:50 -0700 (PDT)
Received: from lab.home
 (dynamic-2a00-1028-83a4-4bca-c0bb-96ff-feed-9d50.ipv6.o2.cz.
 [2a00:1028:83a4:4bca:c0bb:96ff:feed:9d50])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-46fb482b9absm174770605e9.2.2025.10.12.15.19.47
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 12 Oct 2025 15:19:48 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 91c030d7-a7b9-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760307590; x=1760912390; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=CsJNxUuSl4LuFWIkY3r/r8GkJM+W7X9q9hvMbyMhgl0=;
        b=clPa87PdqlMeWsiXliAh6ZdSknyyjyf9E4292WMceWWOmedtCy2qwiDVAxuFLFu3+y
         dBrhkVd1ossdVBNlhN+a/GGZioSQeHmd1tgnbMweTAT4t81u8RQKy1NrW8U7Vn+nkKu5
         7lg9sICw7D+kMVXBSwnE+/cr+0Nwps/utMucNa9cANxLlTTO2pDM1+EZq/T0J35zXHX9
         HYgYDU72c0tiAfKW3IMNFIyCfENq7h6oOCoKIMCp8wPynoWVTcLMaF/H/rd/5zt6DsfA
         Vx4kdTOluqxIeR/QQLlfv21NCK2KuUongG4K7QbbTY1jwKvbTczqw7WbSILWEuHpwJVQ
         CRUw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760307590; x=1760912390;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=CsJNxUuSl4LuFWIkY3r/r8GkJM+W7X9q9hvMbyMhgl0=;
        b=ffTlH2NrOlMrRacDKjVQWgjt85BGwu9t4VpZ+FrnbpcXohYvMoMMB1zrAhtjVVxrXb
         KM/dzkrE/SLh9uedRSir7vPujLK5UyzOvvjUzTTmE7Mg/p84MayYkC9AXtFqLFllhBd9
         yKipMKCokCXZ/ud8qpOVRtHymVCXp1gYoUuBXrBv7YRCgwkcjtXidH3fhiuzgJ9okrCS
         aMrD1ZdilV5jPjUyjfnsHQp7ZH0ts/OOENCJ1rKEW/JwlNBqGC+2hlvXuVUY/zhWoSFo
         TUqrCEuObvUwpvRy0WpJsglQ+YmhtGoPaYG5bWdZtU/sy5j/SE60hwDyKiIh7U+xfLND
         yU7g==
X-Gm-Message-State: AOJu0YySwoJVf8RfSCJA3+aM0Y0zBILTA6npyNCIdfgHRCja7W5b/Sqe
	z3r/CVOH4y3J03hsao9y4CfDyBTVCmIrUJVVmQpBP/hHddLuZzE6FLtX8tY4Ew==
X-Gm-Gg: ASbGncvVKiT7hVnl5IzKHzR04D6aeIt/i9YTHlSZ0HlR//n0d9UsAzshpmEwE6AWeZl
	Zvb0C42X0ohhoMt+OO43tkyHTyWQ664qLQZB6pY3wBTWmz1TmIHrl4IRE9W9EMRNg8psmAKgOoV
	bfZ7SNJWPxV0qtmf1uXeCiiH9GLrk8JLnIeJ/29Y75usSbh8cgU/Gs2QoI9KILdMeSg5rnm/pWI
	GkSqzcfnwSLT1NwNUPKKQukXdtK+hxCz7cbGoPNZfHmg8Zlwr5Tsq3tiY0XJy0Ay+HqAYTot1Pz
	1iwfJ2yymtJV14BVnJWbABDPg2Y/Qq0p1SPN3INe4DyDVhaX5foyR0Vab0+bEhoao4NnzPfLufv
	+0o58NaHhfwSpXM/WjcYGjnAscq4ceVqGdmHYtjxQI4DqGuS6smaR0+IUvmpKEPfzkI0BUXH+FF
	CpOV9Or31ZVKQ9by4ENmb51J/IGkEX7NopyLC4Kdgs6shQS6k2y1+PpZn5WN4uZnI=
X-Google-Smtp-Source: AGHT+IGrXBQhGMWxigmIVSzHFXo35rUtOp4ToRJ2k9lOMB15KsOtUEyrB3fZqG+p8UymsRbJf0YHqQ==
X-Received: by 2002:a05:600c:4510:b0:46e:4337:f68e with SMTP id 5b1f17b1804b1-46fa9af8523mr74251605e9.4.1760307589486;
        Sun, 12 Oct 2025 15:19:49 -0700 (PDT)
From: "=?UTF-8?q?Petr=20Bene=C5=A1?=" <w1benny@gmail.com>
X-Google-Original-From: =?UTF-8?q?Petr=20Bene=C5=A1?= <petr.benes@gendigital.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Petr=20Bene=C5=A1?= <w1benny@gmail.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	teddy.astie@vates.tech
Subject: [PATCH for-4.21] hvmloader: change constants to hex format in size checks
Date: Sun, 12 Oct 2025 22:19:40 +0000
Message-Id: <87399e2646ea89eeb0550bd08a408dbff5706540.1760307495.git.w1benny@gmail.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Petr BeneÅ¡ <w1benny@gmail.com>

Match the number format the specification gives.

No functional change.

Signed-off-by: Petr BeneÅ¡ <w1benny@gmail.com>
Suggested-By: <teddy.astie@vates.tech>
---
 tools/firmware/hvmloader/smbios.c | 32 +++++++++++++++----------------
 1 file changed, 16 insertions(+), 16 deletions(-)

diff --git a/tools/firmware/hvmloader/smbios.c b/tools/firmware/hvmloader/smbios.c
index 76c7090d16..33ac2eee1a 100644
--- a/tools/firmware/hvmloader/smbios.c
+++ b/tools/firmware/hvmloader/smbios.c
@@ -647,7 +647,7 @@ smbios_type_3_init(void *start)
      * which corresponds with the end of the "Security Status" field.
      */
 
-    BUILD_BUG_ON(endof_field(struct smbios_type_3, security_status) != 13);
+    BUILD_BUG_ON(endof_field(struct smbios_type_3, security_status) != 0x0d);
 
     next = smbios_pt_copy(start, 3, SMBIOS_HANDLE_TYPE3,
                           offsetof(struct smbios_type_3, security_status));
@@ -706,7 +706,7 @@ smbios_type_4_init(
     uint32_t eax, ebx, ecx, edx;
 
     /* Specification says Type 4 table has length of 23h for v2.3+. */
-    BUILD_BUG_ON(sizeof(*p) != 35);
+    BUILD_BUG_ON(sizeof(*p) != 0x23);
 
     memset(p, 0, sizeof(*p));
 
@@ -757,7 +757,7 @@ static void *
 smbios_type_7_init(void *start)
 {
     /* Specification says Type 7 table has length of 13h for v2.1+. */
-    BUILD_BUG_ON(sizeof(struct smbios_type_7) != 19);
+    BUILD_BUG_ON(sizeof(struct smbios_type_7) != 0x13);
 
     /* Only present when passed in. */
     return smbios_pt_copy(start, 7, SMBIOS_HANDLE_TYPE7,
@@ -769,7 +769,7 @@ static void *
 smbios_type_8_init(void *start)
 {
     /* Specification says Type 8 table has length of 09h. */
-    BUILD_BUG_ON(sizeof(struct smbios_type_8) != 9);
+    BUILD_BUG_ON(sizeof(struct smbios_type_8) != 0x09);
 
     /* Only present when passed in. */
     return smbios_pt_copy(start, 8, SMBIOS_HANDLE_TYPE8,
@@ -781,7 +781,7 @@ static void *
 smbios_type_9_init(void *start)
 {
     /* Specification says Type 9 table has length of 0Dh for v2.1-2.5. */
-    BUILD_BUG_ON(sizeof(struct smbios_type_9) != 13);
+    BUILD_BUG_ON(sizeof(struct smbios_type_9) != 0x0d);
 
     /* Only present when passed in. */
     return smbios_pt_copy(start, 9, SMBIOS_HANDLE_TYPE9,
@@ -799,7 +799,7 @@ smbios_type_11_init(void *start)
     int i;
 
     /* Specification says Type 11 table has length of 05h. */
-    BUILD_BUG_ON(sizeof(*p) != 5);
+    BUILD_BUG_ON(sizeof(*p) != 0x05);
     
     next = smbios_pt_copy(start, 11, SMBIOS_HANDLE_TYPE11, sizeof(*p));
     if ( next != start )
@@ -843,7 +843,7 @@ smbios_type_16_init(void *start, uint32_t memsize, int nr_mem_devs)
     struct smbios_type_16 *p = start;
 
     /* Specification says Type 16 table has length of 0Fh for v2.1-2.7. */
-    BUILD_BUG_ON(sizeof(*p) != 15);
+    BUILD_BUG_ON(sizeof(*p) != 0x0f);
 
     memset(p, 0, sizeof(*p));
 
@@ -871,7 +871,7 @@ smbios_type_17_init(void *start, uint32_t memory_size_mb, int instance)
     struct smbios_type_17 *p = start;
 
     /* Specification says Type 17 table has length of 1Bh for v2.3-2.6. */
-    BUILD_BUG_ON(sizeof(*p) != 27);
+    BUILD_BUG_ON(sizeof(*p) != 0x1b);
 
     memset(p, 0, sizeof(*p));
 
@@ -909,7 +909,7 @@ smbios_type_19_init(void *start, uint32_t memory_size_mb, int instance)
     struct smbios_type_19 *p = start;
 
     /* Specification says Type 19 table has length of 0Fh for v2.1-2.7. */
-    BUILD_BUG_ON(sizeof(*p) != 15);
+    BUILD_BUG_ON(sizeof(*p) != 0x0f);
 
     memset(p, 0, sizeof(*p));
 
@@ -934,7 +934,7 @@ smbios_type_20_init(void *start, uint32_t memory_size_mb, int instance)
     struct smbios_type_20 *p = start;
 
     /* Specification says Type 20 table has length of 13h for v2.1-2.7. */
-    BUILD_BUG_ON(sizeof(*p) != 19);
+    BUILD_BUG_ON(sizeof(*p) != 0x13);
 
     memset(p, 0, sizeof(*p));
 
@@ -966,7 +966,7 @@ smbios_type_22_init(void *start)
     void *next;
 
     /* Specification says Type 22 table has length of 1Ah. */
-    BUILD_BUG_ON(sizeof(*p) != 26);
+    BUILD_BUG_ON(sizeof(*p) != 0x1a);
 
     next = smbios_pt_copy(start, 22, SMBIOS_HANDLE_TYPE22, sizeof(*p));
     if ( next != start )
@@ -1030,7 +1030,7 @@ smbios_type_26_init(void *start)
      * Only present when passed in.
      */
 
-    BUILD_BUG_ON(endof_field(struct smbios_type_26, oem_defined) != 20);
+    BUILD_BUG_ON(endof_field(struct smbios_type_26, oem_defined) != 0x14);
 
     return smbios_pt_copy(start, 26, SMBIOS_HANDLE_TYPE26,
                           endof_field(struct smbios_type_26, oem_defined));
@@ -1047,7 +1047,7 @@ smbios_type_27_init(void *start)
      * Only present when passed in.
      */
 
-    BUILD_BUG_ON(endof_field(struct smbios_type_27, oem_defined) != 12);
+    BUILD_BUG_ON(endof_field(struct smbios_type_27, oem_defined) != 0x0c);
  
     return smbios_pt_copy(start, 27, SMBIOS_HANDLE_TYPE27,
                           endof_field(struct smbios_type_27, oem_defined));
@@ -1064,7 +1064,7 @@ smbios_type_28_init(void *start)
      * Only present when passed in.
      */
 
-    BUILD_BUG_ON(endof_field(struct smbios_type_28, oem_defined) != 20);
+    BUILD_BUG_ON(endof_field(struct smbios_type_28, oem_defined) != 0x14);
 
     return smbios_pt_copy(start, 28, SMBIOS_HANDLE_TYPE28,
                           endof_field(struct smbios_type_28, oem_defined));
@@ -1077,7 +1077,7 @@ smbios_type_32_init(void *start)
     struct smbios_type_32 *p = start;
 
     /* Specification says Type 32 table has length of at least 0Bh. */
-    BUILD_BUG_ON(sizeof(*p) != 11);
+    BUILD_BUG_ON(sizeof(*p) != 0x0b);
 
     memset(p, 0, sizeof(*p));
 
@@ -1103,7 +1103,7 @@ smbios_type_39_init(void *start)
      * Only present when passed in.
      */
 
-    BUILD_BUG_ON(endof_field(struct smbios_type_39, characteristics) != 16);
+    BUILD_BUG_ON(endof_field(struct smbios_type_39, characteristics) != 0x10);
 
     return smbios_pt_copy(start, 39, SMBIOS_HANDLE_TYPE39,
                           endof_field(struct smbios_type_39, characteristics));
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Sun Oct 12 22:29:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Oct 2025 22:29:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141662.1475835 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v84Yl-0002fg-9F; Sun, 12 Oct 2025 22:28:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141662.1475835; Sun, 12 Oct 2025 22:28:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v84Yl-0002fZ-5q; Sun, 12 Oct 2025 22:28:59 +0000
Received: by outflank-mailman (input) for mailman id 1141662;
 Sun, 12 Oct 2025 22:28:58 +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 <SRS0=//GD=4V=gmail.com=w1benny@srs-se1.protection.inumbo.net>)
 id 1v84Yj-0002fA-V4
 for xen-devel@lists.xenproject.org; Sun, 12 Oct 2025 22:28:57 +0000
Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com
 [2a00:1450:4864:20::333])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d7614481-a7ba-11f0-9d15-b5c5bf9af7f9;
 Mon, 13 Oct 2025 00:28:57 +0200 (CEST)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-46e509368caso6966055e9.1
 for <xen-devel@lists.xenproject.org>; Sun, 12 Oct 2025 15:28:57 -0700 (PDT)
Received: from lab.home
 (dynamic-2a00-1028-83a4-4bca-c0bb-96ff-feed-9d50.ipv6.o2.cz.
 [2a00:1028:83a4:4bca:c0bb:96ff:feed:9d50])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-426ce57d404sm15310798f8f.3.2025.10.12.15.28.55
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 12 Oct 2025 15:28:55 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d7614481-a7ba-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760308136; x=1760912936; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=VCGD0qltgfkdPVMxwYzFialyqTveUepsC02eDveo6Ek=;
        b=GBA2PBQZnYSGtRm+sgM+C9vrjxiD5ldUmLl5omk8aPEk5gV9GJz38Epcvhqs30pmh5
         62+pJUUQKcu+HS18/88HqEo7MTLno4kFgeXrmxSUKjbwfXEIMQeGctjP7LA4N3pKWxM0
         JqwYnzOpFBWYGqcONzt/z6ht9wI8OQhglUyaE0V+zw9BxMWumBt68HdaZA59wdYXmKkU
         D+hOZO1mk4aAUFOor7sAVQYqqqpE7aU3Me39H8EDgIR6Oq6Hu3XewDsQ86eVCrwt5Na2
         YFjvT0tQ4rL2IVjMO6IoZO0kk+Zb+Dt09t10jTFu8Al0QUVgoyKvAkFnSHH7GRd4pRPf
         WvoA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760308136; x=1760912936;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=VCGD0qltgfkdPVMxwYzFialyqTveUepsC02eDveo6Ek=;
        b=I3wHveZue3b7nd3rilcWzhvRoe/y/6xmisge5mK6Qd51t5VCpUhzv20OdC3ViRuQBX
         9mT9han/jRJIDrwXtFaMRtxTtTkByjwSJCCNIPp7I6zTaWvdipZAORQoaL/Be4IYVKxU
         Oko6EhyGKojGdbd4PrGc6mUexonU8c7GbQGHqDorOZOm/AAlMTbEGRT5AOSJtRqiYJxn
         2NFXdiqokibkbo1ioS5RD1kAQwc+ZoeBBG6W2JsSIum5z6V7U2wk9wSauGLHDxFBqDxV
         GRXe9sabqPwoWu8wXwuxtc8BRsmfmV4Vn4vWE4uKDdA6XxVvGgN/JNUnN2qkdeWCbRdW
         ra0Q==
X-Gm-Message-State: AOJu0YwGJypAdAgnq5gtyucjHHwibfE0jGVq5T45MJdyFo9FDzkiKI3K
	iCFSybc7MtMG0QMNGunjJmJVZrHQPUvIfDLlzYMSyFdYcK5+lQpOpmPzrXGD4Q==
X-Gm-Gg: ASbGnctzsrYfWSNNN+5X17F9/kuzbSa3zuGspzxf5IvuTDHjWD7g0PfPgXXsoO75TR2
	+3O5OundYwCfTLcHqMUj993/NwXhZxPfq0eHfTCFTLJziS4PgjouLjRThZnz+eEnF59raTx0R/y
	GIxAI1QRadg7zBlnr1qIzfMMUrpEt3nMERO2mRuOGoCOZ2SjAXrpdOcjFzMUjklwC0dRCs/C0KQ
	LlGDTc+QI0zECyTFVZWmLY5eb5NXuMLG003GgdzFtIOpQz6fuFrrBlJATHWT++ZK/Mf9KEVmtSR
	ztbuOvlJSD0gCUv51MpTVkUxTOYpiZD0BUNee+r6LFhDpyHt+YDO1HF2K5y98H5Kh0ue+sgibdr
	Z9Asy5aDyuwRtcDVV3yfUO3w4DdybREkyd4arUnS1zpAQJvstxeTxiSz8o60w1fNhMTGAN4m8C7
	FRkCw9sLIB636wYoqkoTBxwfiZ8LfsYDXEOEA/BxQHlA==
X-Google-Smtp-Source: AGHT+IGvHNZNsZC9og0iWm8Voa4/jr0yKRRzyAXovYs4b9Okuf31KEEHmIf4eHH/8iy25LXUtB/nRQ==
X-Received: by 2002:a05:6000:4387:b0:3fc:740f:ff65 with SMTP id ffacd0b85a97d-4266e8e092emr6371313f8f.6.1760308135805;
        Sun, 12 Oct 2025 15:28:55 -0700 (PDT)
From: "=?UTF-8?q?Petr=20Bene=C5=A1?=" <w1benny@gmail.com>
X-Google-Original-From: =?UTF-8?q?Petr=20Bene=C5=A1?= <petr.benes@gendigital.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Petr=20Bene=C5=A1?= <w1benny@gmail.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Community Manager <community.manager@xenproject.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [PATCH for-4.21] CHANGELOG.md: mention the introduction of configurable altp2m count
Date: Sun, 12 Oct 2025 22:28:52 +0000
Message-Id: <35ba6d10b77893edbacbaea872c1ca742c767af5.1760308066.git.w1benny@gmail.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Petr BeneÅ¡ <w1benny@gmail.com>

Signed-off-by: Petr BeneÅ¡ <w1benny@gmail.com>
---
 CHANGELOG.md | 1 +
 1 file changed, 1 insertion(+)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5c70bc0250..0cf9ad2d95 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -23,6 +23,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
    - Allow controlling the MTRR cache attribute of the Xen platform PCI device
      BAR for HVM guests, to improve performance of guests using it to map the
      grant table or foreign memory.
+   - Allow configuring the number of altp2m tables per domain via vm.cfg.
 
 ### Added
  - Introduce new PDX compression algorithm to cope with Intel Sierra Forest and
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Oct 13 05:24:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 05:24:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141645.1475845 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8B2l-0007uQ-TG; Mon, 13 Oct 2025 05:24:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141645.1475845; Mon, 13 Oct 2025 05:24:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8B2l-0007uI-Oa; Mon, 13 Oct 2025 05:24:23 +0000
Received: by outflank-mailman (input) for mailman id 1141645;
 Sun, 12 Oct 2025 19:56:27 +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
 <SRS0=LX1y=4V=linux.dev=thorsten.blum@srs-se1.protection.inumbo.net>)
 id 1v82B8-0002Ve-Nk
 for xen-devel@lists.xenproject.org; Sun, 12 Oct 2025 19:56:27 +0000
Received: from out-173.mta0.migadu.com (out-173.mta0.migadu.com
 [91.218.175.173]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7f5f7011-a7a5-11f0-980a-7dc792cee155;
 Sun, 12 Oct 2025 21:56:10 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7f5f7011-a7a5-11f0-980a-7dc792cee155
X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers.
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1;
	t=1760298968;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding;
	bh=nwPjdHOW4dMG1T40eFmU0S20/6YP0v1nsjLRSvlumqM=;
	b=lRmFaMe/r96b5PSFLPOJlOmLetbJZ5sVbbBssHGRKkAyQv/yvLbnRCzsuX14hXf4VIeW68
	injMi22daXCMaSkVYEwO0MpJJUwnNbVwLTQDBzwV21Xdf2XMKxxRg/EcnZHLjLplUFFD8B
	JHNxIzUMnUusoY1mx9gg9/NAtYYNfgw=
From: Thorsten Blum <thorsten.blum@linux.dev>
To: Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Jason Andryuk <jason.andryuk@amd.com>,
	"Dr. David Alan Gilbert" <linux@treblig.org>
Cc: linux-hardening@vger.kernel.org,
	Thorsten Blum <thorsten.blum@linux.dev>,
	xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH] drivers/xen/xenbus: Replace deprecated strcpy in xenbus_transaction_end
Date: Sun, 12 Oct 2025 21:55:09 +0200
Message-ID: <20251012195514.39003-2-thorsten.blum@linux.dev>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Migadu-Flow: FLOW_OUT

strcpy() is deprecated; use strscpy() instead. Fix the function comment
and use bool instead of int while we're at it.

Link: https://github.com/KSPP/linux/issues/88
Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
---
 drivers/xen/xenbus/xenbus_xs.c | 9 +++------
 include/xen/xenbus.h           | 2 +-
 2 files changed, 4 insertions(+), 7 deletions(-)

diff --git a/drivers/xen/xenbus/xenbus_xs.c b/drivers/xen/xenbus/xenbus_xs.c
index 528682bf0c7f..970302b3dcc6 100644
--- a/drivers/xen/xenbus/xenbus_xs.c
+++ b/drivers/xen/xenbus/xenbus_xs.c
@@ -546,16 +546,13 @@ int xenbus_transaction_start(struct xenbus_transaction *t)
 EXPORT_SYMBOL_GPL(xenbus_transaction_start);
 
 /* End a transaction.
- * If abandon is true, transaction is discarded instead of committed.
+ * If abort is true, transaction is discarded instead of committed.
  */
-int xenbus_transaction_end(struct xenbus_transaction t, int abort)
+int xenbus_transaction_end(struct xenbus_transaction t, bool abort)
 {
 	char abortstr[2];
 
-	if (abort)
-		strcpy(abortstr, "F");
-	else
-		strcpy(abortstr, "T");
+	strscpy(abortstr, abort ? "F" : "T");
 
 	return xs_error(xs_single(t, XS_TRANSACTION_END, abortstr, NULL));
 }
diff --git a/include/xen/xenbus.h b/include/xen/xenbus.h
index 7dab04cf4a36..c94caf852aea 100644
--- a/include/xen/xenbus.h
+++ b/include/xen/xenbus.h
@@ -158,7 +158,7 @@ int xenbus_exists(struct xenbus_transaction t,
 		  const char *dir, const char *node);
 int xenbus_rm(struct xenbus_transaction t, const char *dir, const char *node);
 int xenbus_transaction_start(struct xenbus_transaction *t);
-int xenbus_transaction_end(struct xenbus_transaction t, int abort);
+int xenbus_transaction_end(struct xenbus_transaction t, bool abort);
 
 /* Single read and scanf: returns -errno or num scanned if > 0. */
 __scanf(4, 5)
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Mon Oct 13 06:32:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 06:32:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141693.1475854 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8C60-0007nC-Lx; Mon, 13 Oct 2025 06:31:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141693.1475854; Mon, 13 Oct 2025 06:31:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8C60-0007n5-JD; Mon, 13 Oct 2025 06:31:48 +0000
Received: by outflank-mailman (input) for mailman id 1141693;
 Mon, 13 Oct 2025 06:31:48 +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 <SRS0=9ybd=4W=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v8C60-0007mz-6k
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 06:31:48 +0000
Received: from mail-wr1-x42c.google.com (mail-wr1-x42c.google.com
 [2a00:1450:4864:20::42c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4a724d8a-a7fe-11f0-9d15-b5c5bf9af7f9;
 Mon, 13 Oct 2025 08:31:46 +0200 (CEST)
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-3fc36b99e92so3366632f8f.0
 for <xen-devel@lists.xenproject.org>; Sun, 12 Oct 2025 23:31:46 -0700 (PDT)
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-426ce57cce5sm16865085f8f.1.2025.10.12.23.31.45
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sun, 12 Oct 2025 23:31:45 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4a724d8a-a7fe-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760337106; x=1760941906; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=ldHS2qkAha7NIT7RTC56XXjpQ7ycWHJ8R9Ve0GhNLhM=;
        b=DsMkdyL/w5pAww1u9O/k5nXuCqcwswng0thfwIX+SVa9bDkabhKjNYr8JuCGGxwbSW
         Ses1ZqTpWjK1rbQgd+D6HvTv16R1VgWwLSJtriqPO2rYGIhpoS1jc6m034yUOpXtVPEx
         F0dH5hzeulpUjVrwoRUhp+t2Hck7Qjp1jr8cAHCcYkTWsmng6fFn4PSJ+VTbP1hz78wE
         zdU+SopZZJDrqNu6JAjiZRN9sRi9xTX1ggAIUx9q5bxx43+IbOZMBwKvsn1ZmLBFLT9N
         V4VQyXLTtTI4ubaSaj3thPXk5rxaTWonkDqJhC9s+a+ryvZdHiA0DDNaU494BLFqQBDV
         e0rg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760337106; x=1760941906;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ldHS2qkAha7NIT7RTC56XXjpQ7ycWHJ8R9Ve0GhNLhM=;
        b=QuZjCGbwlKuoBu5+FPQjbJ2sXPKbyD09iEv1ixYyTVLMjRuNVtJKtbPiPkFa0gjT9N
         MLYeOi831bZmMYoCRyvuB60a80vN9gZktVYuTU14PNz049CCf1ZWZTeDLCaOZUupGaxY
         3kWTgLuRdwFH7D7LlHZAx22x2DdnqZ27AKnHLF19kBya21Fox7etYVsBPpTrs+VIHeMi
         uNu4kBeJKsXeU3EBiwlJ23n+KyQjKoO79dNtubZ23ciu9m+d2EO4tv2rySBIrvLzlLtr
         DIkq4OBN2orKXzURn3SotnDBbHgJ2rVrCAVyqzP/hhlUvbYlTkbd3vCP8Eq5J13dS4wT
         hVsg==
X-Gm-Message-State: AOJu0YxiHzaWsBL3Q+//S+8s5vze01YaxnUd+Dl101gYScQOfFMDV0S/
	hIId1NVy1kWVbjh1apfG+3o/pfN8NTuX7KgUkYQrRZLTAufJwnru/LYEKsY/3Dqm6A==
X-Gm-Gg: ASbGncvXck7cwEYQ9UPq4siNfY2cqrK2gXIxX8LGEwNN0LQjLFkumrtAI1WcA4PpPtp
	Fqd5pXnLbGk9bQUKIcPf3Iny9Nky+KM2Q8GG9xGCxs2xriW0l+C2ly9GYNwBJOQZPQGP40dt3Cp
	J9CZfWYomQv36uPSfVQInfqfp2h8iDrqHFgfZDxqLWbGghjSwZnY9IlDMqORSG5YThCHwtLFsx6
	DTkEjrmQCkbwjObhVvjK77YJvW0luIWFKruVHcSLY3lvQSeHcO8S3rFCfv/5fxcXbYqrCrZUoKI
	WpD0/rdSAyLkKaMAH0D9jkxUqGCj/x7Ztsk93tjmzr5sh2vkXKa8evLRBOTvyAB0w1OsPbX5Gh/
	rkkiu6CUj/6uZhLPtIJte/Qbgl+etriS45UdBAi3gA8f3PZ0EYdaDaqh9dN16JN4k92hZ8sQMW7
	WyDW8glBAlLgH15wu2qTzoJk5BrjDBjEggK3vf
X-Google-Smtp-Source: AGHT+IGTBNR2XlcXuNGtyZvv/5ktxBRmhDnzeQwswJfhzCVW3X7W0TwXO/Ua1CUd7mqWAsUS9MakeQ==
X-Received: by 2002:a05:6000:2406:b0:3e7:6424:1b47 with SMTP id ffacd0b85a97d-42666a9e1b1mr16597773f8f.6.1760337105647;
        Sun, 12 Oct 2025 23:31:45 -0700 (PDT)
Message-ID: <3b339baf-672d-4c3f-9a04-b18fe5181b71@suse.com>
Date: Mon, 13 Oct 2025 08:31:47 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21??? 1/3] x86/vLAPIC: add indirection to LVT
 handling
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Andrew Cooper <amc96@srcf.net>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Grygorii Strashko <grygorii_strashko@epam.com>
References: <265d5053-af61-42cb-a3b9-ef60df39c21b@suse.com>
 <dd6b46f8-76f7-46d3-b3be-083b58781f32@suse.com> <aOkb5HKVejs6QO5Z@Mac.lan>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <aOkb5HKVejs6QO5Z@Mac.lan>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 10.10.2025 16:44, Roger Pau MonnÃ© wrote:
> On Wed, Oct 08, 2025 at 02:08:26PM +0200, Jan Beulich wrote:
>> In preparation to add support for the CMCI LVT, which is discontiguous to
>> the other LVTs, add a level of indirection. Rename the prior
>> vlapic_lvt_mask[] while doing so (as subsequently a 2nd array will want
>> adding, for use by guest_wrmsr_x2apic()).
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> The new name (lvt_valid[]) reflects its present contents. When re-based on
>> top of "x86/hvm: vlapic: fix RO bits emulation in LVTx regs", the name
>> wants to change to lvt_writable[] (or the 2nd array be added right away,
>> with lvt_valid[] then used by guest_wrmsr_x2apic()). Alternatively the
>> order of patches may want changing.
>>
>> --- a/xen/arch/x86/hvm/vlapic.c
>> +++ b/xen/arch/x86/hvm/vlapic.c
>> @@ -32,7 +32,16 @@
>>  #include <public/hvm/params.h>
>>  
>>  #define VLAPIC_VERSION                  0x00050014
>> -#define VLAPIC_LVT_NUM                  6
>> +#define LVT_BIAS(reg)                   (((reg) - APIC_LVTT) >> 4)
>> +
>> +#define LVTS \
>> +    LVT(LVTT), LVT(LVTTHMR), LVT(LVTPC), LVT(LVT0), LVT(LVT1), LVT(LVTERR),
>> +
>> +static const unsigned int lvt_reg[] = {
>> +#define LVT(which) APIC_ ## which
>> +    LVTS
>> +#undef LVT
>> +};
>>  
>>  #define LVT_MASK \
>>      (APIC_LVT_MASKED | APIC_SEND_PENDING | APIC_VECTOR_MASK)
>> @@ -41,20 +50,21 @@
>>      (LVT_MASK | APIC_DM_MASK | APIC_INPUT_POLARITY |\
>>      APIC_LVT_REMOTE_IRR | APIC_LVT_LEVEL_TRIGGER)
>>  
>> -static const unsigned int vlapic_lvt_mask[VLAPIC_LVT_NUM] =
>> +static const unsigned int lvt_valid[] =
>>  {
>> -     /* LVTT */
>> -     LVT_MASK | APIC_TIMER_MODE_MASK,
>> -     /* LVTTHMR */
>> -     LVT_MASK | APIC_DM_MASK,
>> -     /* LVTPC */
>> -     LVT_MASK | APIC_DM_MASK,
>> -     /* LVT0-1 */
>> -     LINT_MASK, LINT_MASK,
>> -     /* LVTERR */
>> -     LVT_MASK
>> +#define LVTT_VALID    (LVT_MASK | APIC_TIMER_MODE_MASK)
>> +#define LVTTHMR_VALID (LVT_MASK | APIC_DM_MASK)
>> +#define LVTPC_VALID   (LVT_MASK | APIC_DM_MASK)
>> +#define LVT0_VALID    LINT_MASK
>> +#define LVT1_VALID    LINT_MASK
>> +#define LVTERR_VALID  LVT_MASK
>> +#define LVT(which)    [LVT_BIAS(APIC_ ## which)] = which ## _VALID
>> +    LVTS
>> +#undef LVT
>>  };
>>  
>> +#undef LVTS
> 
> I've been thinking about this, as I agree with Grygorii here that the
> construct seems to complex.  What about using something like:
> 
> static const unsigned int lvt_regs[] = {
>     APIC_LVTT, APIC_LVTTHMR, APIC_LVTPC, APIC_LVT0, APIC_LVT1, APIC_LVTERR,
> };
> 
> static unsigned int lvt_valid(unsigned int reg)
> {
>     switch ( reg )
>     {
>     case APIC_LVTT:
>         return LVT_MASK | APIC_TIMER_MODE_MASK;
> 
>     case APIC_LVTTHMR:
>     case APIC_LVTPC:
>         return LVT_MASK | APIC_DM_MASK;
> 
>     case APIC_LVT0:
>     case APIC_LVT1:
>         return LINT_MASK;
> 
>     case APIC_LVTERR:
>         return LVT_MASK;
>     }
> 
>     ASSERT_UNREACHABLE();
>     return 0;
> }
> 
> That uses a function instead of a directly indexed array, so it's
> going to be slower.  I think the compiler will possibly inline it,
> plus the clarity is worth the cost.

I don't agree; I see no clarity issue with the table approach. In fact I
view that one as more "clear". Instead of the above, if anything, I'd
be (somewhat reluctantly) willing to make the (currently follow-on)
change the other way around: Rather than switching guest_wrmsr_x2apic()
to a table-based approach as well, do away with the table-based approach
in vlapic_reg_write() by splitting the respective case blocks some more.
To limit redundancy, that may then involve the (imo undesirable) use of
"goto".

Jan


From xen-devel-bounces@lists.xenproject.org Mon Oct 13 06:39:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 06:39:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141706.1475865 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8CD4-0008Vg-G8; Mon, 13 Oct 2025 06:39:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141706.1475865; Mon, 13 Oct 2025 06:39:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8CD4-0008VZ-DN; Mon, 13 Oct 2025 06:39:06 +0000
Received: by outflank-mailman (input) for mailman id 1141706;
 Mon, 13 Oct 2025 06:39:04 +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 <SRS0=9ybd=4W=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v8CD2-0008VT-TR
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 06:39:04 +0000
Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com
 [2a00:1450:4864:20::329])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4cc501fa-a7ff-11f0-980a-7dc792cee155;
 Mon, 13 Oct 2025 08:38:59 +0200 (CEST)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-46e384dfde0so39126055e9.2
 for <xen-devel@lists.xenproject.org>; Sun, 12 Oct 2025 23:38:59 -0700 (PDT)
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-426ce5d0006sm16716231f8f.34.2025.10.12.23.38.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sun, 12 Oct 2025 23:38:58 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4cc501fa-a7ff-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760337539; x=1760942339; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=jd8+QyBTWjBwaHmrtZxdx4BkaQvMhuH7x7IlLdKsqtg=;
        b=PP0Etkke3XWS2V0FyQjx9hARaa2fUDOTR4qX9zKHpTU+E3e5dmCeY4YVdHgg7RS6WB
         OLwKlf8omQ5fZXm+jSSM5GDyWWXix46TISITbgmeEL8f+2TxBypjvrydqYteLAB7ThIG
         7K5ko1jIFMvWTiRFsu1VeawPiZVYlg4cFJNxWmVz517JR3Qf1rKlB9gHvt7z8wszeoR3
         wyxngsIG6kpyiGW/WOmbjAnTJI+bIJ9juCYID+o6AF97hXlzLjgAPOBH0+fdLjCn1RPV
         Z7cMJjC88uFB4QfBGwatua6mr5S6WXUxM5YIf1VJ1ekCadNVcFjNFmgkCdRDOcql93Mo
         uc5g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760337539; x=1760942339;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=jd8+QyBTWjBwaHmrtZxdx4BkaQvMhuH7x7IlLdKsqtg=;
        b=cnQwomVugwaM32vMcGDMuzVpKR+kcHsLcsyTJMG+atmGc/y4dwFOOOpfAZAyS6c5D0
         UWqCGWeQ3aMwCWsa0KsdHvB+UkZC5oTfZKm09xk1V6McyD74RjmHl+vq0wx3IOGeoFIX
         b1MSELS9Df6PWKu4gNMflS2/APhUFLRlx9RkL31k9X3tMEP8s8gsfFo1OrI7giUT9ojR
         KvplnxjbdBxCJDfnRw7c3tOZOvq3mTAi5uwHzczK/K5mOYHNE9YCcYatPAt/YNdrFZPS
         lSHzk90jXOBn6qC/8hSIEPBYl225A/Oyl/JXkwOyC0zUkBKs7+YxBs6JKPWRd+zhbG9z
         q6NQ==
X-Forwarded-Encrypted: i=1; AJvYcCXEYo06ahoRX0WtyDDLsHDryUbN/NGAUANZ8W1sNmllXy0J1LL2l+UC5vRvJdYpZDLa4B2EnjmL1G8=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx/RxVKRkc0rOaTpy6csd39VM8geE8b2P3iQIJaUf8vBPOKqRBN
	8x4VPk/rEEimRcFvd0MIwaE604gGLDg3fdtuWPj4U2aR3Mmxu+tVQf4ARoxO71hvNA==
X-Gm-Gg: ASbGncssHpQHvxEICMFN1XEu097YQtLKwkh/4cDlQMLptIgpYN0GToW6Os9gihgIhrb
	69Ic9o+iGa1KHh0A+DmCPqIQIlCpkQ2fMKsaLnKWdBbc76t84/kbuA0Hyap//N2a4DyxWpJQGDR
	b0m+rmMSRZ+941BM9NjkZTOSlvspphp8Ougif44DbsshwpxhA3HecvtwBRO6exOP5WGyb1/5Wpo
	98Q5If22j6TindNmxkrrwocv7R89DPpKR3P10b14sKUJGgsTB81uLmuH3iTJtpMC8pAXoY6SFF3
	Dh/bqaZKimD3izWLYBR/CN1aslD8HO0YvXuxZGCKaM8O7qiO/g/XttfPZAVNH6rtKVVdC8grqgT
	l8t0zbD1SLBwOT8yQl36hGK7X2w7vyGVJD6c+AA88qrZmN4pblr/ZQg52zMxw0xr4xxIJ7Ki90v
	iy0nLXoUORzEeDuV769kwCu86AT1rvYLImcNNqrCd1m/DfUmc=
X-Google-Smtp-Source: AGHT+IH5UcS5iKaaJ9CT2aDcDaXnunbohTGVuHI+KliL42QkWFolOhEWLZKKHXR+h6YUdVmAeuOQOA==
X-Received: by 2002:a05:600c:3d87:b0:45b:7d77:b592 with SMTP id 5b1f17b1804b1-46fa9a9ede8mr134667155e9.12.1760337538888;
        Sun, 12 Oct 2025 23:38:58 -0700 (PDT)
Message-ID: <ac8842df-5c31-4257-a75e-ad06defa1387@suse.com>
Date: Mon, 13 Oct 2025 08:39:01 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] x86: guard synthetic feature and bug enumerators
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <8ecbf8b7-91fe-4f9e-9542-7ec22b6a47bb@suse.com>
 <48dcc0e0-2772-49b9-9383-5bf69f922053@suse.com>
 <1439ec29-4319-43d0-b4ff-0eb5bfe9405b@amd.com>
 <c9d04edf-4801-46c7-ae6d-8479ef985972@suse.com>
 <057c91eb-c6c3-4e00-bf2f-6611181ebfd7@amd.com>
 <b241871b-0b86-497b-afb5-86a0aa9813ce@suse.com>
 <6a546de3-0e1d-4de2-b25c-acab646bc270@amd.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <6a546de3-0e1d-4de2-b25c-acab646bc270@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11.10.2025 02:30, Jason Andryuk wrote:
> On 2025-10-08 01:56, Jan Beulich wrote:
>> On 07.10.2025 21:38, Jason Andryuk wrote:
>>> On 2025-10-07 08:22, Jan Beulich wrote:
>>>> On 30.09.2025 01:36, Jason Andryuk wrote:
>>>>> On 2025-09-25 06:48, Jan Beulich wrote:
>>>>>> --- a/xen/arch/x86/include/asm/spec_ctrl.h
>>>>>> +++ b/xen/arch/x86/include/asm/spec_ctrl.h
>>>>>> @@ -73,7 +73,7 @@ static always_inline void spec_ctrl_new_
>>>>>>     
>>>>>>         /* (ab)use alternative_input() to specify clobbers. */
>>>>>>         alternative_input("", "DO_OVERWRITE_RSB xu=%=", X86_BUG_IBPB_NO_RET,
>>>>>> -                      : "rax", "rcx");
>>>>>> +                      "i" (0) : "rax", "rcx");
>>>>>
>>>>> "i" (0) is to work around the trailing comma in alternative_input() and
>>>>> does nothing?
>>>>
>>>> Yes. If more such "uses" appeared, we may want to introduce some kind of
>>>> abstraction.
>>>
>>> Thanks for confirming.
>>>
>>> Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
>>
>> Thanks.
>>
>>> Though I also wondered if just #define X86_BUG_MAX/X86_SYNTH_MAX
>>> combined with a BUILD_BUG_ON might be good enough.  Your approach avoids
>>> the extra define but is more complicated.  Anyway, just a thought.
>>
>> How would that end up simplifying things? IOW what would the BUILD_BUG_ON()
>> look like that you're thinking about? After all X86_{SYNTH,BUG}_MAX aren't
>> meaningfully different from X86_NR_{SYNTH,BUG}.
> 
> Originally, I was thinking something like
>   XEN_CPUFEATURE(PDX_COMPRESSION,   X86_SYNTH(31)) /* PDX compression */
> +#define X86_SYNTH_MAX 31 /* Bump when adding flags */

I don't really like this. Especially as presented is creates an ambiguity:
Would one need to increase the value upon any flag addition, or only upon
adding a new flag with a value divisible by 32. (From the patch fragment
you appended it's clear the latter is meant, but that's not clear here,
and when one learns to routinely ignore the comment, there's a risk of also
ignoring it when it shouldn't be ignored. Whereas if the bump was required
every time a new flag was added, I would dislike the unnecessary churn. In
the end - yes, there's a reason why I did things the way done, even if
there are other aspects to it which are (for the patch itself, but imo not
once it would have gone in) not overly nice.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Oct 13 06:41:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 06:41:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141713.1475875 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8CFD-0001XG-S2; Mon, 13 Oct 2025 06:41:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141713.1475875; Mon, 13 Oct 2025 06:41:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8CFD-0001X9-Os; Mon, 13 Oct 2025 06:41:19 +0000
Received: by outflank-mailman (input) for mailman id 1141713;
 Mon, 13 Oct 2025 06:41:18 +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 <SRS0=9ybd=4W=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v8CFB-0001X3-Vz
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 06:41:17 +0000
Received: from mail-wr1-x42d.google.com (mail-wr1-x42d.google.com
 [2a00:1450:4864:20::42d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9e9c7a90-a7ff-11f0-9d15-b5c5bf9af7f9;
 Mon, 13 Oct 2025 08:41:17 +0200 (CEST)
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-3ee15b5435bso2105457f8f.0
 for <xen-devel@lists.xenproject.org>; Sun, 12 Oct 2025 23:41:17 -0700 (PDT)
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-426ce583316sm16661720f8f.20.2025.10.12.23.41.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sun, 12 Oct 2025 23:41:16 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9e9c7a90-a7ff-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760337676; x=1760942476; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=SB5IJZRq0o5OML9RXJyOJf6IZB5Yjf9d2mYsoJO3os0=;
        b=PNCuP5xPk+5UHAVwjVy4UGhonv9+EegHPm7WbUW6ROThE0Iir6Rwzk58QbrJCGU4rO
         G3rCLZ0ZxYy90gqLseYCdFnxEmU0JaQar+6DwPRa8vvUMVuO0BjXMI3cy1q1bisNPfDs
         BqbM/ReeT5TC2hR0BS4g6tPj6q/zcHqeWglN2AJfPgp1WqGnjQ6AuRRNqg50a+VN8t4I
         ccT2/w8nCLtgCk0DQbgh5tyupXIFXGWEHJdUPgrIrV+qkqIVkBNAe34CwZ0l238K9YA2
         7je3zeQ3aGGnOaQOMtX6yWwaGEVZ3eEHJ/G1GO2xMNE2jnw36jKPVTsOXRPPRmfiK5Cr
         uJiQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760337676; x=1760942476;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=SB5IJZRq0o5OML9RXJyOJf6IZB5Yjf9d2mYsoJO3os0=;
        b=e2Vu5SZIpax+QTDfYQzu+34rVga8L0NEwRSHAdPg/CDZvekj7gRlQgqwjQ8r3FCR1W
         3t3xOU5cvYWO+lkGBcdjoXuT0e1w117IFzvbajQZog4e3FT408/ypG5/FYyM5JIQJbmB
         dnEZw4KEs+XGVxOM8Dz5UC5urFF9nB71pGNFmE0IxOIhUwJnpeCHiSTNiBwZMOyDwupv
         HkYArvXbSnOgbv5G9nkp1XHZxdV6r/XKIAhVa7z/mQ5SxSqCSdMWhGN+/Jwr0drewAU6
         CuLVhDaAnQjrLOb6TamrR9GiG/NF3IP+UPcge47vzdfZnl3HB67xzkYSVZwXq7V7auzT
         GY4g==
X-Forwarded-Encrypted: i=1; AJvYcCWNwxdG77G6ibN6JyZHQ9vjFma5YFhnSwDl3dvyht0hd8mrOXvtGg5icTIROjdULEVmvYQgGfdaWaU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzdxiWcmniVVByqYPpCgz0+/bNVPmik38oaeeZ6Ri3fP590VMZV
	YY8N31xqm/juF+6cvCvCiIEuf/pchCbj5JyyUIKjbjzwAFe6bO1IJX9+AwNq5MqxSQ==
X-Gm-Gg: ASbGncsNQW/ksu6vNWONhLU/24aYuRwxhyEgK6WTDVK8J5imA0dFYqZbjbbbq33zJ4K
	8XL0VsME5LwmgLNUyg+L7Qeq7xMcvfnVfY75Velh7IgDraqA5QIH3eGoPqqOf9/dLTDr0oUpnM/
	OJFNbNp1d6IM9DIonST2MAAhZecFYg2sWcb9efIwq1lq6bK03MpG0zQezKdWA0dl6ZxyTW4PaaN
	7ebi0mHiGyfi77mWihKlzNNRDMy5GljaFWvQgcro5E1ee8GAFrAjY9GVDBi0afFWgvRU6jlN4ql
	2wio4qodPO+WUgoedJSBGfUylg+FYKae6k0WR7vd+eN1cJPPvs2l0DR1HqbrdihdIBJ697cHd8b
	UJpM2pjOM0p2xbhA2U6ZzHWZ9iOLUcSRwd50+Ueri9oBY5GF218GfI69FOUhXTqKhbAw4VjYm6t
	qJ3VfCFi/j6L07IAFzpK2wkWicFjGdAnH2JVLR
X-Google-Smtp-Source: AGHT+IG5QO9Vk4ZEqwuc8v9ggbRK2KjJYTvZ4H3zvZNfPZy/oN9QDQa0BIxZodjD01MVLUbSaBIlkQ==
X-Received: by 2002:a05:6000:258a:b0:425:8bc2:9c4b with SMTP id ffacd0b85a97d-42666abb51amr10200735f8f.6.1760337676364;
        Sun, 12 Oct 2025 23:41:16 -0700 (PDT)
Message-ID: <fa709d35-8c7b-4c27-9bac-52a48f5b3fb3@suse.com>
Date: Mon, 13 Oct 2025 08:41:18 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 24/26] xen/domctl: wrap arch-specific domctl-op with
 CONFIG_MGMT_HYPERCALLS
To: "Penny, Zheng" <penny.zheng@amd.com>
Cc: "Huang, Ray" <Ray.Huang@amd.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 "Orzel, Michal" <Michal.Orzel@amd.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Tamas K Lengyel <tamas@tklengyel.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20250910073827.3622177-1-Penny.Zheng@amd.com>
 <20250910073827.3622177-25-Penny.Zheng@amd.com>
 <56024eb0-b30f-43fd-84b7-6070a1d79cf0@suse.com>
 <DM4PR12MB845153811FA7748CA058EB9AE1ECA@DM4PR12MB8451.namprd12.prod.outlook.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <DM4PR12MB845153811FA7748CA058EB9AE1ECA@DM4PR12MB8451.namprd12.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11.10.2025 08:44, Penny, Zheng wrote:
>> -----Original Message-----
>> From: Jan Beulich <jbeulich@suse.com>
>> Sent: Thursday, September 11, 2025 9:03 PM
>>
>>> --- a/xen/lib/x86/Makefile
>>> +++ b/xen/lib/x86/Makefile
>>> @@ -1,3 +1,3 @@
>>>  obj-y += cpuid.o
>>>  obj-y += msr.o
>>> -obj-y += policy.o
>>> +obj-$(CONFIG_MGMT_HYPERCALLS) += policy.o
>>
>> Fair parts of cpuid.c also become unreachable. And all of msr.c afaics.
>>
> 
> I just found that the functions defined here, as helpers/libraries, are used in tools/libs/guest/xg_cpuid_x86.c too. Emmm, to make compiler happy, I still need to provide stubs for them when MGMT_HYPERCALLS=n. Or any better suggestion?

How does the Makefile change here affect tools/libs/guest/? What would you
need stubs for there?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Oct 13 06:59:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 06:59:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141726.1475885 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8CWY-0003Sa-8d; Mon, 13 Oct 2025 06:59:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141726.1475885; Mon, 13 Oct 2025 06:59:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8CWY-0003ST-5y; Mon, 13 Oct 2025 06:59:14 +0000
Received: by outflank-mailman (input) for mailman id 1141726;
 Mon, 13 Oct 2025 06:59:13 +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 <SRS0=9ybd=4W=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v8CWX-0003SK-2C
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 06:59:13 +0000
Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com
 [2a00:1450:4864:20::32e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1e9a60c3-a802-11f0-980a-7dc792cee155;
 Mon, 13 Oct 2025 08:59:10 +0200 (CEST)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-46e3a50bc0fso28397935e9.3
 for <xen-devel@lists.xenproject.org>; Sun, 12 Oct 2025 23:59:10 -0700 (PDT)
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-46fab4e22d8sm118354975e9.5.2025.10.12.23.59.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sun, 12 Oct 2025 23:59:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1e9a60c3-a802-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760338750; x=1760943550; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=4ZpLoWSAxU2G8AVHL931DUMQsZx2voyuF6q/+oeSly4=;
        b=FwJxaiW4UPGS53GjgR+18v8ATJcnYtc5r2m+jNPnsEKu2hFn1fW/KKtfBHUyoch8/H
         xAzmztBIljozNY60eMwV+HxmGR70FI9iH97XlcrAh2GLV9N9ZGrN3uSCROwfbyzOb7eh
         jcq0f9iM/3laTcTwFdoP+XHjMA4z4YYD62GQboA7y9Z3w6wyTuF83eq3SpMlz17bnwlv
         nsyWt5dl4/QON5pcclTbdYou5jPMwj9qWM/e/r1E12OmH9r/W5nuoOYkF1zre8yUyCce
         IqRQucILkwb/P/TYCv38FGNS/NGZli2CzZA2h4N8F+97rjyt53rj4/B/qlLyiQmxnuH/
         mcyg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760338750; x=1760943550;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=4ZpLoWSAxU2G8AVHL931DUMQsZx2voyuF6q/+oeSly4=;
        b=Vfu2MIk9JsFTzInxphWbwMzAO8liiqHBNC7kYi4AeuISa2P8O4f+S8KFoE4tlvfRD7
         xyarOrk+hb+tb5cJKzLOs4B7jCNFPGsuln5oQ3KyHfADzNEz+7jO+B7GQK4J1HVsLNw2
         XHSEzvDVhONv5yf5KIc/MtkYDh0mD3/7y0GvPI6gd2jAMcbOcRQb+/ntxAnMQKaY/inh
         gocPNMBEV05lcI5tPEw+ooTPocMvMXN0ONuBpN9yWvuEt6MlGdlyAj0iF8gpMLfzcXSo
         FvCzdJR/8Z2vFQe1ABN/WapXtoKElTVXoIoNhsM+47eoXB2liK728JqXngkX8LcEpo0b
         F+8g==
X-Forwarded-Encrypted: i=1; AJvYcCUwJl6O1xCL41DrFI4vKbsTBrSyd7mimyeWvO5v4VuyvH9HeD1tfy+dlyGK5uRdd5iWka09T9b7hfU=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzs+GX7Sgp1wQiJOWEPNKM1xUJyk+9cwiaP9yl3D0lPSY2C26lm
	newTcvISi3Xasy1kMjrpow3CJ7M63Qz7hG1cUB4N9pZBkskLAul/RZ0ezuxQ6nOs5g==
X-Gm-Gg: ASbGncvOvARIc9H7ZuXb3OIr3bEB5/aUfqUQ1fauKxQbXcP9PYk9AtihlzO0WMiPyd+
	cWW7iQgJQSxmxeCpWYveLjYnO/wRQCEBO37twpwzaV6m5gon4lm3jqhcK4ONjhrCxvpezyeCpbP
	xxlT3EYciyEoAPD62z168hXF97VMeUa8kGJ7/rXVOkzYigge9lRT09Ko+otGSXQ2LK0dAFe+Hv9
	7g8T8kCEFFmAnzgcStJl12q7672HHnpRjlJWHKM50uyWUr44O2ljvfq3LFQuL3B+pmccPxPJLGp
	94IW60pMyb6I8GxyICoTvxpwaSR5fgp5SiGWP88Uh1ICWWrPMt+ODesOKMR9JUMkDme1SQimpIJ
	fOMed0mTKgM4+QWuIij51fexVcXeKhaaQr75JaM58b9q/d8ZgGeVUrPBq3VmOC3cX107cSDHGk4
	VY4pr0rm7tg0XQVvtVTydfdJJzIA==
X-Google-Smtp-Source: AGHT+IH5VvluhJwPowoICILvdjdM0MHl+DmVnGQ43MOA2t6u7NnLqzoJ6LIu68iyp4i8VDiHpwKChg==
X-Received: by 2002:a05:600c:5488:b0:46e:45f7:34fc with SMTP id 5b1f17b1804b1-46fa9b105ffmr133685265e9.29.1760338750080;
        Sun, 12 Oct 2025 23:59:10 -0700 (PDT)
Message-ID: <ebee3406-d515-4e29-9d7c-f54bdb143080@suse.com>
Date: Mon, 13 Oct 2025 08:59:11 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] drivers/xen/xenbus: Replace deprecated strcpy in
 xenbus_transaction_end
To: Thorsten Blum <thorsten.blum@linux.dev>
Cc: linux-hardening@vger.kernel.org, xen-devel@lists.xenproject.org,
 linux-kernel@vger.kernel.org, Juergen Gross <jgross@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Jason Andryuk <jason.andryuk@amd.com>,
 "Dr. David Alan Gilbert" <linux@treblig.org>
References: <20251012195514.39003-2-thorsten.blum@linux.dev>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251012195514.39003-2-thorsten.blum@linux.dev>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 12.10.2025 21:55, Thorsten Blum wrote:
> --- a/drivers/xen/xenbus/xenbus_xs.c
> +++ b/drivers/xen/xenbus/xenbus_xs.c
> @@ -546,16 +546,13 @@ int xenbus_transaction_start(struct xenbus_transaction *t)
>  EXPORT_SYMBOL_GPL(xenbus_transaction_start);
>  
>  /* End a transaction.
> - * If abandon is true, transaction is discarded instead of committed.
> + * If abort is true, transaction is discarded instead of committed.
>   */
> -int xenbus_transaction_end(struct xenbus_transaction t, int abort)
> +int xenbus_transaction_end(struct xenbus_transaction t, bool abort)
>  {
>  	char abortstr[2];
>  
> -	if (abort)
> -		strcpy(abortstr, "F");
> -	else
> -		strcpy(abortstr, "T");

While at least in principle a compiler might be able to transform this into
code not using any library function at all, ...

> +	strscpy(abortstr, abort ? "F" : "T");

... the use of a n on-standard function (without equivalent compiler builtin)
doesn't permit this. IOW why not simply switch to e.g.

    char abortstr[2] = { [0] = abort ? 'F' : 'T' };

Jan


From xen-devel-bounces@lists.xenproject.org Mon Oct 13 07:06:18 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 07:06:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141734.1475896 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8CdJ-00055Y-Vv; Mon, 13 Oct 2025 07:06:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141734.1475896; Mon, 13 Oct 2025 07:06:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8CdJ-00055R-RM; Mon, 13 Oct 2025 07:06:13 +0000
Received: by outflank-mailman (input) for mailman id 1141734;
 Mon, 13 Oct 2025 07:06:12 +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 <SRS0=9ybd=4W=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v8CdI-00055L-Lj
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 07:06:12 +0000
Received: from mail-wm1-x332.google.com (mail-wm1-x332.google.com
 [2a00:1450:4864:20::332])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 18e5a94a-a803-11f0-980a-7dc792cee155;
 Mon, 13 Oct 2025 09:06:10 +0200 (CEST)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-46e3a50bc0fso28458225e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 13 Oct 2025 00:06:10 -0700 (PDT)
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-46fb483bbb4sm167410785e9.5.2025.10.13.00.06.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 13 Oct 2025 00:06:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 18e5a94a-a803-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760339170; x=1760943970; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=n5CpMu8MBPXFMH0R/+yF4S4X3SIEO2DveB+t4J5aA0o=;
        b=NBjZTnDWNsYKi3hhK4J6HrhkGYTaahPCI/pcjrGqcKhG6EyxIVIrrcyMwozQoOK8+7
         oyg0/OgapcOG8Pfq11XEjazOZ/YiZRcWOhvODrW9P9biJhW8xtb/ftmEkiHkFQnt2GeY
         5aGJx8w/3WYpjJ7WBBRO2FOogBcX2aW33Ll+wjtdFJJfu67Dl8aTjusycIKh6Kbjt12N
         bt8GY745ncDhqoj1oVvktTAiij7A4689J5S/HjGzMmOqi0mAjBLukGkeW+9pttRb1xtG
         6rF2MB9z5xJqU0UOUnyYUMBU3NjLhpqoPSiIe/60/IX04IkRVz6pQGl1CWrLrVzoeSff
         7XCw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760339170; x=1760943970;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=n5CpMu8MBPXFMH0R/+yF4S4X3SIEO2DveB+t4J5aA0o=;
        b=QX7XqH5ZUFs1fTuRmE5Bs1+bQDBSnF1FNy3uTsePV4dV74KhEBYmPF0rWUD+AwnYDS
         odPwhQHjs+Ef4Unjj37z0s4PWuiaQU7kzBpT1O+TZHbb97uPfwUgDwIaJa57eo+5S6HW
         1pkQ0UGG0HFT1qKnHMg0TML2qc/UU8ohEg853w+J92BCFYqUUULEyU0OLs7WdmmXO504
         +ab5IblqaygVBU5vPTLoqN6AGTgQhzO1l9bcBKv0FNbgklWLRx3FDwOlbkpzNqd7+abb
         mStciN3NoYnxdAM+ul4JMGeL6d77sok0iEDieUyaS03jev8YYip5iI+z+XzOTZ4vR/QD
         EFvg==
X-Forwarded-Encrypted: i=1; AJvYcCXuQNkwqEQX1oNF/KvTE24KEGRKFUW3GIIvTThSU76u9KAzxiOOgYKRaxDXm93jwlN/I22j9CjC9VI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxGs50cvwnwmaiG9q+Bu4h9iDwz2ggzuWKZfFPvWUiuL4X8s0fK
	gYxlj0NB20OWPp/Z18i9NNoYjQOEaJ9EBg4V+IN9f5rx97/SL2JUsw1JB8I7CL7vXA==
X-Gm-Gg: ASbGncv9GKu5vEQI2ukInuAzvHwvh0CNxLJWSytRtM2zQFJm4C1VK/plLKmHY7CHru/
	IZZHwSLAVcYgB+wJZvGR+uxLAdyH3pYj4v6lTDtVZ4ikLedKJM2DD4uzQtch2hrz46K0vLYU5rd
	mOEgQZ+kbmnmWBMaECPI4MoDCeTRgEKvZi+u0IEQoO+OnxuMVPtXBmt1zUTLTUJS5EUn9aaLVJ/
	3LvMZb/iB4AP5ko/8EUcrE78DkrH/FAjiT7gkpNNiJkz8O2MRoLTBhjvynrBspAD7pZK/7rPw2c
	8sDuBaddDsuSBS8zrqSKtU7GCZTmLyDWGaEHHCWwOE3JJZIe0dVa2qc45c4nAC7zo7vjQePeipF
	uXWZn3tR+G2edPJr/MB2iVwh1Igjb64+ciDPewH05bHf/ug7XEqfBI7NRdSfPEjHZ9L0gCCDsG8
	zQ3PrYsUxhzD5W/cEiE8wRZXRs2A==
X-Google-Smtp-Source: AGHT+IFNxWYa34g87S5x8mIKpmZsm7YWOHqSqACBthEVUxXuKm2My/hwfQPV1FYmnIxmqOF0GsDmhQ==
X-Received: by 2002:a05:600c:5247:b0:46f:b340:75e7 with SMTP id 5b1f17b1804b1-46fb34075efmr99777255e9.8.1760339169950;
        Mon, 13 Oct 2025 00:06:09 -0700 (PDT)
Message-ID: <0f910175-3b79-4446-9abf-e0e45c799a0a@suse.com>
Date: Mon, 13 Oct 2025 09:06:11 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21] hvmloader: change constants to hex format in
 size checks
To: =?UTF-8?Q?Petr_Bene=C5=A1?= <w1benny@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>, teddy.astie@vates.tech,
 xen-devel@lists.xenproject.org
References: <87399e2646ea89eeb0550bd08a408dbff5706540.1760307495.git.w1benny@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <87399e2646ea89eeb0550bd08a408dbff5706540.1760307495.git.w1benny@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 13.10.2025 00:19, Petr BeneÅ¡ wrote:
> From: Petr BeneÅ¡ <w1benny@gmail.com>
> 
> Match the number format the specification gives.
> 
> No functional change.
> 
> Signed-off-by: Petr BeneÅ¡ <w1benny@gmail.com>
> Suggested-By: <teddy.astie@vates.tech>

Please have tags ordered chronologically, and please also add a proper name.
(Also, nit: -by, not -By.)

> --- a/tools/firmware/hvmloader/smbios.c
> +++ b/tools/firmware/hvmloader/smbios.c
> @@ -647,7 +647,7 @@ smbios_type_3_init(void *start)
>       * which corresponds with the end of the "Security Status" field.
>       */
>  
> -    BUILD_BUG_ON(endof_field(struct smbios_type_3, security_status) != 13);
> +    BUILD_BUG_ON(endof_field(struct smbios_type_3, security_status) != 0x0d);

As already indicated when these changes were being done within a bigger
patch, I don't see a real need for this. It's extra churn for almost no
gain. If someone else wants to ack this, I'm not going to stand in the way,
but I won't approve it.

Pretty certainly there's no justification at all for this to still go into
4.21.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Oct 13 07:18:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 07:18:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141746.1475906 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8CpM-0006xx-4W; Mon, 13 Oct 2025 07:18:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141746.1475906; Mon, 13 Oct 2025 07:18:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8CpL-0006xq-Vl; Mon, 13 Oct 2025 07:18:39 +0000
Received: by outflank-mailman (input) for mailman id 1141746;
 Mon, 13 Oct 2025 07:18:39 +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
 <SRS0=gL+L=4W=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1v8CpL-0006xk-2B
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 07:18:39 +0000
Received: from DM1PR04CU001.outbound.protection.outlook.com
 (mail-centralusazlp170100005.outbound.protection.outlook.com
 [2a01:111:f403:c111::5])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d563f57d-a804-11f0-9d15-b5c5bf9af7f9;
 Mon, 13 Oct 2025 09:18:37 +0200 (CEST)
Received: from DM4PR12MB8451.namprd12.prod.outlook.com (2603:10b6:8:182::7) by
 DS0PR12MB6392.namprd12.prod.outlook.com (2603:10b6:8:cc::22) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9203.12; Mon, 13 Oct 2025 07:18:32 +0000
Received: from DM4PR12MB8451.namprd12.prod.outlook.com
 ([fe80::6d8e:2499:8a0a:7eb2]) by DM4PR12MB8451.namprd12.prod.outlook.com
 ([fe80::6d8e:2499:8a0a:7eb2%3]) with mapi id 15.20.9203.009; Mon, 13 Oct 2025
 07:18:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d563f57d-a804-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=bx5THhAG/B4Wnd/Q0dM336yqxDa66CNJrhbMgwCNSepePBD3LrMqOY4iWxpT0DoXlLw3fTuBtyyMVE5lBVPqbNEn6CzFZ9+EzyIUBgQwXddeSpuMvay5y7gxY3QZxgIb1IsPaSe0UtikqwXHGu79y2ggQqHuWchXfW03vY+aUzeqhEfMm591s7gu7yAfimyarmAJtKIE/x+vd5vyte24RGgHfyoI2sAP8qF8vBZwRagtHbYjXVKE+5yyVIxTX/LM4sNoPsUR14Y0Z2cnKxjpSr70+fJartVenREmihlj/cTM3KCwuNplmhiSTYNy5/0cyVFN4Lf/m2rZZcVZjCF9qA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=x67xncueDdaEEto0kiXfl9pIIjowX4FydOBFE2Kh0mY=;
 b=Pqf2CMg1kwiGOGSUr9KlUcoCsRZNFiSlGTbD8Z3HENyguqJGu41RFO1oMmb9RgIl2lVS03bDwRuEOAawrhu5A9JYoWof+XHwKNurk02z69jxMhJvPEQum+KzDh8zyEZiVRcTE3cb2S1DANeKi5jHtbILE/vIWUOqZ3KdrbwSxv+no2ipz7z52tIPv8xxze5mR653rH6rUqINbpTUWk61cnXsIFG25jk9Q1ZN+IECjnW0+iOJoWi53F2+sSIC1DXmrpgplxmeQ+RMSGlWAM3MLomt54TynOuOwphUYlSgthyKQO81rcEweZCDfAMKGIHdQXJtIX3haNJegQ1OXO5ezA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=x67xncueDdaEEto0kiXfl9pIIjowX4FydOBFE2Kh0mY=;
 b=MbrXWhSpBrcbH1baqanCmQt1175h5ulWWJTwbwvUcZlNGz8OsqR87qPHDaJOgrKkDdKXJDlzfmpuJb4XvRw+HnURY4c+56mWpCK7RgysyRlBk1oABrg/cIAyNILLC+XmrV/mrgplWT/GMgDEDFobtLexS2Fxxw6Pdm8h1KtrtwM=
From: "Penny, Zheng" <penny.zheng@amd.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "Huang, Ray" <Ray.Huang@amd.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Anthony PERARD <anthony.perard@vates.tech>,
	"Orzel, Michal" <Michal.Orzel@amd.com>, Julien Grall <julien@xen.org>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>, Stefano
 Stabellini <sstabellini@kernel.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Tamas K Lengyel <tamas@tklengyel.com>, "Daniel P. Smith"
	<dpsmith@apertussolutions.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: RE: [PATCH v2 24/26] xen/domctl: wrap arch-specific domctl-op with
 CONFIG_MGMT_HYPERCALLS
Thread-Topic: [PATCH v2 24/26] xen/domctl: wrap arch-specific domctl-op with
 CONFIG_MGMT_HYPERCALLS
Thread-Index: AQHcIiYjKV/PcPIAQEuJ6TZ/Q8rQNrSN9F6AgC6RCYCAA08OAIAABX1Q
Date: Mon, 13 Oct 2025 07:18:31 +0000
Message-ID:
 <DM4PR12MB8451A7C97D812B25A553985DE1EAA@DM4PR12MB8451.namprd12.prod.outlook.com>
References: <20250910073827.3622177-1-Penny.Zheng@amd.com>
 <20250910073827.3622177-25-Penny.Zheng@amd.com>
 <56024eb0-b30f-43fd-84b7-6070a1d79cf0@suse.com>
 <DM4PR12MB845153811FA7748CA058EB9AE1ECA@DM4PR12MB8451.namprd12.prod.outlook.com>
 <fa709d35-8c7b-4c27-9bac-52a48f5b3fb3@suse.com>
In-Reply-To: <fa709d35-8c7b-4c27-9bac-52a48f5b3fb3@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels:
 MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Enabled=True;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_SetDate=2025-10-13T07:18:24.0000000Z;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Name=Open
 Source;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_ContentBits=3;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Method=Privileged
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DM4PR12MB8451:EE_|DS0PR12MB6392:EE_
x-ms-office365-filtering-correlation-id: b03eeb9b-5415-4e16-e23e-08de0a28b722
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|376014|7416014|366016|1800799024|38070700021;
x-microsoft-antispam-message-info:
 =?utf-8?B?aG1rN3RMTmVickF0ZkZJWVpJMS9odk1PTENaZ1JLR0k5UEQzb1doTHEzQ05H?=
 =?utf-8?B?SmRYTisvcnVCQlBBUFhGSTRXdlpCNmErc2hzY3MxRDBqU2czMDhKUWwwdSs2?=
 =?utf-8?B?ZEhOMldZcTJCeHVXL1NRQysvNVRlNTNka24zNjh3dkc3RFc0VFB5dVMvNHI1?=
 =?utf-8?B?NXNIeHZFWjJJa0Q3emFKTW93NkhqWC9VQnhFZFlLVUFRQk1heDFENkdRM2xP?=
 =?utf-8?B?aHBGcHhpdGtOaVNKVlRTVUtndHBacW5xNnBVQi82eVVxVWFmald3YjREdzA5?=
 =?utf-8?B?YWhiRUt3VkxzLzhaRzk4eEI1WGppeUMvendkd1Rmd01VcGdCWTRVa0Q0VGZM?=
 =?utf-8?B?Y1VyQ1pEcGdVdU9PYU11NXZsQXBONmJNZmhDT1BJOEYxQTRjQ1h1akVGVTRP?=
 =?utf-8?B?djA4cWRhbkxYWjBMeklzeFAxL2RSaVV0cFhiWldHa2tqRXJHVjhCakxNbDZu?=
 =?utf-8?B?ejh4T0hTWk9vVGF1ZWRRZS8rVEJRRzJzZ0NXSi85ajRnQ0tESVh1ckdJMmpR?=
 =?utf-8?B?VGR1SGJxUTJLS1FUN3BKVS83MDdZZzJRL25pWlg4MzZ5QjB1Y3hrRjhuQkw5?=
 =?utf-8?B?a2pROFpHTGlmWnV5M1lHRmR0aks2UVdBamhjT2k5QkdxSGJsRzg2Uzd5NE5W?=
 =?utf-8?B?S3pEZ0d4eTVtTlRMNVR5bmU0dmp3dVFVVStzdlNINUFMakJscUkrazlZQnFq?=
 =?utf-8?B?VEtwbnAyS0ZjQTlCa2JOZi9WbTNNay8yS3NUY0FGTVBXaERSa1AyTUVTMkUx?=
 =?utf-8?B?c3dlSzJTVS9XOTZ2UUpiaFkxVkNaeG1OUkxEMUhMeTBHM25DbTlpM3JJcTEw?=
 =?utf-8?B?bndXd1gzN3llQ3V2U0Y5STdsTXNucXFLc1lkOTFidzdRRllDbmpzZlg2K0py?=
 =?utf-8?B?NEtsVFB5R1hqSnREaUNxaWdaTHJCbEtnRWtsUHJsVU5GYkt2eFNGbytkUEIv?=
 =?utf-8?B?bEZET0NnZVM2ckJxdG9HM1BkQ2JFZHdoSFpWbTluT0I2aEdYQ2lPZ0hNcE1H?=
 =?utf-8?B?TXRnMG1aY2F2VXJmYzZHeFBCQmJhY3ErU1gzaXRGMEMyWStZYWRHWUxZU1F5?=
 =?utf-8?B?ay84cUMyRTh0ekFnSXdQS2ZHNkE3Y005TEhxbk9ycGtObUxMemVzZWFzdmlI?=
 =?utf-8?B?Ymxvc2Y0TDdOU2p4NVVEZy9wTE03c3J1d0QvR0NGdzhLWGFRT1oxd3lDQ1ZS?=
 =?utf-8?B?NURJbGhTQVU0TGxyLzdrVEJld25GbVhLOEdaczBmbktEK3dOQ01GMnZ2Yk1w?=
 =?utf-8?B?Vkp1cHA5aFJWVFJsOTg0Y2VuVGxpblJWNjhCWXh2Q3FnMXRhbGVvQW5KS1kv?=
 =?utf-8?B?WVBZL2dwdHJXbXJpa3hHY2tPbFZNbDZtMjJDaTRLZW0xdmxKbEpTZkJ4V0pK?=
 =?utf-8?B?S0xhZ3o1Nnh0QkFMOWoyWHhoYVRMRklCWXFTdE1JYzlJRGJMaXFmMWhaZ2pR?=
 =?utf-8?B?OGprdmFSSzhaajVJbURadnY3U3JuSjh2VklBZXNFZ1oyZ2Y3S3o2T1FPQkJD?=
 =?utf-8?B?SFpnN3lUUm14SGpVeVE4dkRQOFFEeFZxKzd6OGswMFdiTHBRemhPQk5mWU1p?=
 =?utf-8?B?SXJPMGhCVFVseHAxQXBVYytnVzVtRHpIaWgvMHlEcG9namlEYjFFMVAvdnVT?=
 =?utf-8?B?S2pKYmYwL0w1a25BY3pMcm9QVU55bkdoSS92cDF1MVhYNUF0Y291aW90ZWJR?=
 =?utf-8?B?bkZPLytFVExsaXVhU1hPeGNMcktvc09KclVlMSs5bExqWkRGUXdLbHlTY00x?=
 =?utf-8?B?RGFzSjZEUmhqaEd6WUxsb1FLMGFiNWFMbk05czhuYnlkQW5ZdVVPa1FjNEV0?=
 =?utf-8?B?QmhQTzRlNk45WGpFQldKb3FBWkZjSTF2NmlnODdWUzN0dzBuYXA5bGhTZzV1?=
 =?utf-8?B?aGJWNEE0dlZRc3dhZUdWTi9tRTNqbFJyZ0Vrbm9RdVYyRmd0aU9YS3lyS0R2?=
 =?utf-8?B?Z0lCMU13dFhRbk9ZVUNRb3pvUXhLUjRUY25kNjU4V2IrSlhxSCtMdHJTRHEw?=
 =?utf-8?B?a3RRVU9IR1IzT3RyYmpaVHB3d21lTzR4a2c1c3M5TTFxUzVhM2lSbGtudzc3?=
 =?utf-8?Q?76xxQ9?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR12MB8451.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(366016)(1800799024)(38070700021);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?YWNUOXhjYVZTeGR6RjdGaThpcEUrNFk1S0p0YVlxNEJxb0tyalN5WnFLYUxY?=
 =?utf-8?B?WXdSQlhNTlQ4YmFNaFU4SmZQZlc1NVIza1RzUmphbXpXOG4xbVdzM0pLamFs?=
 =?utf-8?B?ZGxVZklic1Fqd1VsUW5iaGVjUjNvZGNtVEtYTlpDaGQ2RmVZSk9tMUtOTU9P?=
 =?utf-8?B?Rk9pQkxtZjRoYXIxalI0eUp4aHlpVkVqSXR4ZzJoQjVudGUzc1RldlpEZFdF?=
 =?utf-8?B?MlhnNlprUXdLK3ovSCtEc2dmQThONnQ2UXc2UHU1dk1qNVFYVktSMitYS3k3?=
 =?utf-8?B?N09QWnNlc21aSzNCekdjcTB1dDZGTHhkaERnditBQTZBbkRlT25haHZ2cW1E?=
 =?utf-8?B?UnREL0thSVR2MnRYNndsVWpnN1NWd28vOGo1OUMrREtJS0crODFLTEtGakh2?=
 =?utf-8?B?YnQ5WFp3dEI5YmE3MW5obHBRYWNtbnZrdG1JZFRsbkZ3cUFOYUZkZVJyM252?=
 =?utf-8?B?U3owQ3h4TVJBWVZ2aDZHZjQzemdaMkpGRkNneGpkWENoTkU1UDNoVUlJRWl6?=
 =?utf-8?B?R1B1dkVVb1ppWVJscFg0TUJobUJ0SUtpMkZkNWliWGw2bkgyVWpxclljYU9n?=
 =?utf-8?B?b0MvQTNpZGlVMDZvbm1vQ2xLZ0dwazBPeW1PbExvU2FUUm01c3lIS1BSNWh3?=
 =?utf-8?B?S2J1TTNUK2sxSmhUV2tCR0ZYS2NIM0w0cUZFMEhONWdwWTd2TzR0V2lteEJJ?=
 =?utf-8?B?SWc5VUNkK08wbE5iOEttbEI0U1ZERmc2RTZxUFZnUW4zNExkRjd6Q1VWNkVv?=
 =?utf-8?B?NUVuQ0Q1L3E4dkRTR1FoNUM5c1NpMG15K0VtVUJ5eEdXUDRzZ1RIYmRpbVBU?=
 =?utf-8?B?Q0hIT205enIvdWFDUC9FaU84ek5tTDl2RHR5TzROTHczczRNZjVPa1Q1RDlM?=
 =?utf-8?B?eTJ1RVQrWXNKUWk2ZzFoQi9YRFpYSGFMdUdMZmh0azRqYW8xeG5lUGs4Y3U4?=
 =?utf-8?B?TnYxRWxWc0c0Y3FqZXRJVEZHYkV3N2dWcDliS0oyOTZaclhQa1lLeUdCOG9w?=
 =?utf-8?B?MkhJZkM1a1lqZ2RGZ1BIMUFPSlFqMDlqRFlvZGhuS0trY1IwZGZjaDU1TmxI?=
 =?utf-8?B?YW90TXA2V2h6UXA3Tm1ub2hXZkZiOXFYRDJTTDRiay9tRTB5cVY0RkgwODBK?=
 =?utf-8?B?cnBCTVZnU0hKZ2VEd2d0VFNlMVhncHFsV05FbUtPYTRyMXZ5Z2diRTdRRTdV?=
 =?utf-8?B?YnF5dlhkMk1KckQ1ZFoxeUl4VlRDd1I0aWlEZ1VCb3RYWjlBUmVaeXFMZUZo?=
 =?utf-8?B?RXNhTlNjdE56T2JWTUdTSjArRFRvTVN3dlJWK0plZ0EyY0ozVWpWTW9xU29l?=
 =?utf-8?B?c1ZZNk05dE8yMGdvNUt4dndGTTRZVS8zWnU3WWNkNk5SaXdJbVNHbm1GUWJG?=
 =?utf-8?B?akN5SDFUVnp0bk9VYnp6ZTdJTTlFeDY2bm1JejFvYTNoV0dtakZkYVUxbmV3?=
 =?utf-8?B?QmgxeVdiTWFYSlpEWTJsT29JU0dtdVZsRW9sVUFpTGJMNnNwSTAyaE1IZXM1?=
 =?utf-8?B?WjhpWHVsNUlCTlFQOCt0UytZZGlzWC9pU1MyN1NzdFRQdWVlYWdzdW1TakVC?=
 =?utf-8?B?MW0xNERiNHRpdTVlajUvWGhWbVRXaWc5T0NZNkdmWTFHWFNrR2ZvL2xNZjFu?=
 =?utf-8?B?eFdqMk9wNGxuOWpweTQrbStwWEJvYW5RU1plTjVLeTVhdXoyWG5IM3ZlOUhO?=
 =?utf-8?B?bENJQ2J6UXV3SEMwWURZTDVOLzRsTktNUDlBU2FKMWlsUis0UE9hSDNPSUM4?=
 =?utf-8?B?dHNpcEptRUxYdzNibWF1REZjRmtpOWRCdHF1em82QUdtL1FMZmx2cXJUNUh2?=
 =?utf-8?B?cjNPRUYxWHNkeGNkb2w4SGZZS3ltYnN4NVN4ZXpscE1oUm5lTHZJWEg2QWdK?=
 =?utf-8?B?eEN2QjQ0YUQ5ZVBWTFJsekVtc1p2WVk4VU1jRzhOZ3F3aUZqV0xMejFaaHhN?=
 =?utf-8?B?LzloOHRlaVNiR1V0czNzWkZHQjdwZHRwRXJPYi9zY3hPYVpTYzg2cFVxSTdp?=
 =?utf-8?B?NU1VSCtmL25FTjdPTEJUSmhYdnRMSWNuWnJtcnJ0UGthMG5aczZaZ0F0aDVw?=
 =?utf-8?B?alpkRUY2NGZMOERBcCs0QkhXKzJxMjFLUXJMeFFuV1ZQNklLUzJhV1VWa2JR?=
 =?utf-8?Q?utMA=3D?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM4PR12MB8451.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b03eeb9b-5415-4e16-e23e-08de0a28b722
X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Oct 2025 07:18:31.9941
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: Arz9zeoypMwkmlqQo8nfamslQv2rgzDm+t7aGIyqagzUitMo7Ink0mMGThDmhvlWmbnkdoG0PHBExEghD7QkFA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB6392

W1B1YmxpY10NCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBKYW4gQmV1
bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQo+IFNlbnQ6IE1vbmRheSwgT2N0b2JlciAxMywgMjAy
NSAyOjQxIFBNDQo+IFRvOiBQZW5ueSwgWmhlbmcgPHBlbm55LnpoZW5nQGFtZC5jb20+DQo+IENj
OiBIdWFuZywgUmF5IDxSYXkuSHVhbmdAYW1kLmNvbT47IEFuZHJldyBDb29wZXINCj4gPGFuZHJl
dy5jb29wZXIzQGNpdHJpeC5jb20+OyBBbnRob255IFBFUkFSRCA8YW50aG9ueS5wZXJhcmRAdmF0
ZXMudGVjaD47DQo+IE9yemVsLCBNaWNoYWwgPE1pY2hhbC5PcnplbEBhbWQuY29tPjsgSnVsaWVu
IEdyYWxsIDxqdWxpZW5AeGVuLm9yZz47IFJvZ2VyIFBhdQ0KPiBNb25uw6kgPHJvZ2VyLnBhdUBj
aXRyaXguY29tPjsgU3RlZmFubyBTdGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPjsN
Cj4gQmVydHJhbmQgTWFycXVpcyA8YmVydHJhbmQubWFycXVpc0Bhcm0uY29tPjsgVm9sb2R5bXly
IEJhYmNodWsNCj4gPFZvbG9keW15cl9CYWJjaHVrQGVwYW0uY29tPjsgVGFtYXMgSyBMZW5neWVs
IDx0YW1hc0B0a2xlbmd5ZWwuY29tPjsNCj4gRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRoQGFwZXJ0
dXNzb2x1dGlvbnMuY29tPjsgeGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnDQo+IFN1Ympl
Y3Q6IFJlOiBbUEFUQ0ggdjIgMjQvMjZdIHhlbi9kb21jdGw6IHdyYXAgYXJjaC1zcGVjaWZpYyBk
b21jdGwtb3Agd2l0aA0KPiBDT05GSUdfTUdNVF9IWVBFUkNBTExTDQo+DQo+IE9uIDExLjEwLjIw
MjUgMDg6NDQsIFBlbm55LCBaaGVuZyB3cm90ZToNCj4gPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdl
LS0tLS0NCj4gPj4gRnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KPiA+PiBT
ZW50OiBUaHVyc2RheSwgU2VwdGVtYmVyIDExLCAyMDI1IDk6MDMgUE0NCj4gPj4NCj4gPj4+IC0t
LSBhL3hlbi9saWIveDg2L01ha2VmaWxlDQo+ID4+PiArKysgYi94ZW4vbGliL3g4Ni9NYWtlZmls
ZQ0KPiA+Pj4gQEAgLTEsMyArMSwzIEBADQo+ID4+PiAgb2JqLXkgKz0gY3B1aWQubw0KPiA+Pj4g
IG9iai15ICs9IG1zci5vDQo+ID4+PiAtb2JqLXkgKz0gcG9saWN5Lm8NCj4gPj4+ICtvYmotJChD
T05GSUdfTUdNVF9IWVBFUkNBTExTKSArPSBwb2xpY3kubw0KPiA+Pg0KPiA+PiBGYWlyIHBhcnRz
IG9mIGNwdWlkLmMgYWxzbyBiZWNvbWUgdW5yZWFjaGFibGUuIEFuZCBhbGwgb2YgbXNyLmMgYWZh
aWNzLg0KPiA+Pg0KPiA+DQo+ID4gSSBqdXN0IGZvdW5kIHRoYXQgdGhlIGZ1bmN0aW9ucyBkZWZp
bmVkIGhlcmUsIGFzIGhlbHBlcnMvbGlicmFyaWVzLCBhcmUgdXNlZCBpbg0KPiB0b29scy9saWJz
L2d1ZXN0L3hnX2NwdWlkX3g4Ni5jIHRvby4gRW1tbSwgdG8gbWFrZSBjb21waWxlciBoYXBweSwg
SSBzdGlsbCBuZWVkIHRvDQo+IHByb3ZpZGUgc3R1YnMgZm9yIHRoZW0gd2hlbiBNR01UX0hZUEVS
Q0FMTFM9bi4gT3IgYW55IGJldHRlciBzdWdnZXN0aW9uPw0KPg0KPiBIb3cgZG9lcyB0aGUgTWFr
ZWZpbGUgY2hhbmdlIGhlcmUgYWZmZWN0IHRvb2xzL2xpYnMvZ3Vlc3QvPyBXaGF0IHdvdWxkIHlv
dSBuZWVkDQo+IHN0dWJzIGZvciB0aGVyZT8NCj4NCg0KTGlrZSBGdW5jdGlvbiB4Y19jcHVfcG9s
aWN5X2lzX2NvbXBhdGlibGUoKSBpbiB0b29scy9saWJzL2d1ZXN0L3hnX2NwdWlkX3g4Ni5jIGlz
IGFsc28gdXNpbmcgeDg2X2NwdV9wb2xpY2llc19hcmVfY29tcGF0aWJsZSgpIHRvIGRvIHRoZSBj
b21wYXJpc29uIGJldHdlZW4gaG9zdCBhbmQgZ3Vlc3QuIElmIG1ha2luZyB4ZW4vbGliL3g4Ni9w
bG9jeS5vIGd1YXJkZWQgYnkgTUdNVF9IWVBFUkNBTExTLCB3ZSB3aWxsIGhhdmUgInVuZGVmaW5l
ZCByZWZlcmVuY2UgIiBlcnJvci4gSW1vLCBpdCBpcyBub3Qgc3VpdGFibGUgdG8gZ3VhcmQgZmls
ZXMgdG9vbHMvbGlicy9ndWVzdC94Z19jcHVpZF94ODYubyB3aXRoIE1HTVRfSFlQRVJDQUxMUy4N
ClNvIGl0IHdlIHN0aWxsIHdhbnQgdG8gaGF2ZSB0aGUgTWFrZWZpbGUgY2hhbmdlIGhlcmUsIHdl
IG5lZWQgdG8gcHJvdmlkZSBzdHVicy4gT3Igd2UgcmVtb3ZlIHRoZSBNYWtlZmlsZSBjaGFuZ2Ug
aGVyZSwgYXMgdGhlIHJvbGUgb2YgdGhlc2UgZnVuY3Rpb25zIGlzIG1vcmUgb2YgdGhlIGxpYnJh
cnksDQoNCj4gSmFuDQo=


From xen-devel-bounces@lists.xenproject.org Mon Oct 13 07:37:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 07:37:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141754.1475915 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8D7A-0001Mb-H7; Mon, 13 Oct 2025 07:37:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141754.1475915; Mon, 13 Oct 2025 07:37:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8D7A-0001MU-Dx; Mon, 13 Oct 2025 07:37:04 +0000
Received: by outflank-mailman (input) for mailman id 1141754;
 Mon, 13 Oct 2025 07:37:02 +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 <SRS0=eGB2=4W=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1v8D78-0001MO-R5
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 07:37:02 +0000
Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com
 [2a00:1450:4864:20::62c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 67e13f79-a807-11f0-9d15-b5c5bf9af7f9;
 Mon, 13 Oct 2025 09:37:01 +0200 (CEST)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-b3e234fcd4bso651121466b.3
 for <xen-devel@lists.xenproject.org>; Mon, 13 Oct 2025 00:37:01 -0700 (PDT)
Received: from ?IPV6:2003:e5:873f:400:7b4f:e512:a417:5a86?
 (p200300e5873f04007b4fe512a4175a86.dip0.t-ipconnect.de.
 [2003:e5:873f:400:7b4f:e512:a417:5a86])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-b55d67d2ce9sm865840166b.35.2025.10.13.00.36.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 13 Oct 2025 00:36:59 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 67e13f79-a807-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760341020; x=1760945820; darn=lists.xenproject.org;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=1eBE7IOlVk7k6ixMkt6OHpjtlRnaC7ZAk00BA4td6rs=;
        b=S05TWWKwdVfU1+olZE5tRpGbKCh257d5RP2lxZmGpjV0taytkNkdpwAniC5NfDPqYa
         zWzSWuZAreAlmJ/NmFI6+XUjmxhgp1swUwJ7BQwis+TTdSlBV4R3+pxLC15+sFaMKuXZ
         I7YTdJquV8jwd/zlMh8QkUoNBz+LfIO51XINJgB1Ki6l41nBn85lJ96yWXsxU8Yni7SN
         Kz2AtkPJs8XY0WYZ1x0YaE8XwgmoVQXGkRXlf8JhmSw9UI1wXJeDZ+++SHr7EKAR0cB0
         5lWQnYrPj5KhuKIf1L4xz1D6rbe/VAZmbLaDIVx8fiv/P62wtM8eMwgDfozfbFObbmF0
         5O4w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760341020; x=1760945820;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=1eBE7IOlVk7k6ixMkt6OHpjtlRnaC7ZAk00BA4td6rs=;
        b=Kl9utmJFohhVGIy+4Iiqq5edacKALQ2gtnciocu0Jvk5MNXCEVK24Uinb/upc2bEl3
         SKbKrGyOyhdZ39gWJB4/e6FI7O3ZyD+0C16XEP/9xvtuAMM+AcKz2+LuDQrs/3cAELAM
         SN10rqmBy4eisqCI4qLrTXxFBsZw1wNtBI2phUCq2Vyw7BFcQYGiMeJK8OOmhFj7imgI
         DR6qcNODSo4Zv6qR2qdEcXZF+fg/c3camTr8zc2ZNJU8mPKCddtrw+fxOWBODHIWumaZ
         TJ3q45sS4jWURrSuMF6nadbx+imGF+eQuUIVcNIF7U/ZSSULvs2lSgmp1Oj8BSIM2tqA
         lpzQ==
X-Forwarded-Encrypted: i=1; AJvYcCUkCfE4zZqtoZQ4UUtWLyr0XDmedJuSpTDgsjtdehHJxJXlUm4A9i7V9BEZ4HH/bvQOpgJbpJMbL3U=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyiUZJ7/6GjLeKe6VGaTWahl7SIRT6h2escoi55Awgavfy1o3FB
	8ZafqIti+fuDfWiTlaNIS/lTaO9GL8TR+W55AUQmUa7eG9TL/hugwLmeh7XEKeWZ6Dk=
X-Gm-Gg: ASbGncuXor4860Xy5ug5dX4wg/FPbDPIPSCtuygtrt4mDLchIjbR6KD6lYtf0PjHi7f
	WVTwCd1DoollX5T7Y2FAoR+unNKo93xio9KHtP8/cC0J47KqSGuZeowJ+74ZCvkWiMUkIsISG5/
	mhxN66nlmiydoNPYr6WGc5L6Bg6EH3P/IEsYpT/KAtgxD6uAxdEeGb9mN2J5ZeZ45mx/a0o5Y9i
	mFsdtwadLZn73iO9LcxIDrkh5IUMaPWLBJNpRnzbRfQjsWCJ5oZvqc7fjCaojmrrx0fBfKzLS6I
	HvQzBs5l6TiBbozCY1xQbEVqAtWbIQy0wLDpXywO/Vpme3tTpXV0M9raPnK1euUPkTkLY7TyWef
	pZcipZKfildL0WVzz1iNhCShj5jlqJvAIzntUq4t9OghkmADQPh7TIu84KqoQFLoAimAeQaICtP
	LOGIBUWeVfjDh3Eoi2YXEUFHG9PUuIgCzfId5lFOfqaPLhZuGHYyL4oTZ+ytL/AaNHzd8w8HGE5
	g==
X-Google-Smtp-Source: AGHT+IFSlhtaUSR1I0MiSHcQJGgX4Q8gAsq6Bs0pChS5GOxfsL5T/zQr/8A34vTYQozYf+cC6OL00g==
X-Received: by 2002:a17:907:c04:b0:b46:8bad:6981 with SMTP id a640c23a62f3a-b50aab9d542mr2143903666b.20.1760341020182;
        Mon, 13 Oct 2025 00:37:00 -0700 (PDT)
Message-ID: <65bad926-22fc-41da-b9c4-5857a002b377@suse.com>
Date: Mon, 13 Oct 2025 09:36:58 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] drivers/xen/xenbus: Replace deprecated strcpy in
 xenbus_transaction_end
To: Jan Beulich <jbeulich@suse.com>, Thorsten Blum <thorsten.blum@linux.dev>
Cc: linux-hardening@vger.kernel.org, xen-devel@lists.xenproject.org,
 linux-kernel@vger.kernel.org, Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Jason Andryuk <jason.andryuk@amd.com>,
 "Dr. David Alan Gilbert" <linux@treblig.org>
References: <20251012195514.39003-2-thorsten.blum@linux.dev>
 <ebee3406-d515-4e29-9d7c-f54bdb143080@suse.com>
Content-Language: en-US
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <ebee3406-d515-4e29-9d7c-f54bdb143080@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------aL9FS5G5uuPKPbejLbRTuXvO"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------aL9FS5G5uuPKPbejLbRTuXvO
Content-Type: multipart/mixed; boundary="------------r6UTLeiNBc7xolqcB1fygly0";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>, Thorsten Blum <thorsten.blum@linux.dev>
Cc: linux-hardening@vger.kernel.org, xen-devel@lists.xenproject.org,
 linux-kernel@vger.kernel.org, Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Jason Andryuk <jason.andryuk@amd.com>,
 "Dr. David Alan Gilbert" <linux@treblig.org>
Message-ID: <65bad926-22fc-41da-b9c4-5857a002b377@suse.com>
Subject: Re: [PATCH] drivers/xen/xenbus: Replace deprecated strcpy in
 xenbus_transaction_end
References: <20251012195514.39003-2-thorsten.blum@linux.dev>
 <ebee3406-d515-4e29-9d7c-f54bdb143080@suse.com>
In-Reply-To: <ebee3406-d515-4e29-9d7c-f54bdb143080@suse.com>
Autocrypt-Gossip: 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
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJ3BBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AAIQkQoDSui/t3IH4WIQQ+pJkfkcoLMCa4X6CgNK6L+3cgfgn7AJ9DmMd0SMJE
 ePbc7/m22D2v04iu7ACffXTdZQhNl557tJuDXZSBxDmW/tLOwU0EWTecRBAIAIK5OMKMU5R2
 Lk2bbjgX7vyQuCFFyKf9rC/4itNwhYWFSlKzVj3WJBDsoi2KvPm7AI+XB6NIkNAkshL5C0kd
 pcNd5Xo0jRR5/WE/bT7LyrJ0OJWS/qUit5eNNvsO+SxGAk28KRa1ieVLeZi9D03NL0+HIAtZ
 tecfqwgl3Y72UpLUyt+r7LQhcI/XR5IUUaD4C/chB4Vq2QkDKO7Q8+2HJOrFIjiVli4lU+Sf
 OBp64m//Y1xys++Z4ODoKh7tkh5DxiO3QBHG7bHK0CSQsJ6XUvPVYubAuy1XfSDzSeSBl//C
 v78Fclb+gi9GWidSTG/4hsEzd1fY5XwCZG/XJJY9M/sAAwUH/09Ar9W2U1Qm+DwZeP2ii3Ou
 14Z9VlVVPhcEmR/AFykL9dw/OV2O/7cdi52+l00reUu6Nd4Dl8s4f5n8b1YFzmkVVIyhwjvU
 jxtPyUgDOt6DRa+RaDlXZZmxQyWcMv2anAgYWGVszeB8Myzsw8y7xhBEVV1S+1KloCzw4V8Z
 DSJrcsZlyMDoiTb7FyqxwQnM0f6qHxWbmOOnbzJmBqpNpFuDcz/4xNsymJylm6oXiucHQBAP
 Xb/cE1YNHpuaH4SRhIxwQilCYEznWowQphNAbJtEKOmcocY7EbSt8VjXTzmYENkIfkrHRyXQ
 dUm5AoL51XZljkCqNwrADGkTvkwsWSvCSQQYEQIACQUCWTecRAIbDAAKCRCgNK6L+3cgfuef
 AJ9wlZQNQUp0KwEf8Tl37RmcxCL4bQCcC5alCSMzUBJ5DBIcR4BY+CyQFAs=

--------------r6UTLeiNBc7xolqcB1fygly0
Content-Type: multipart/mixed; boundary="------------npIkIxiZMvZHSh2uiWTn909H"

--------------npIkIxiZMvZHSh2uiWTn909H
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTMuMTAuMjUgMDg6NTksIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAxMi4xMC4yMDI1
IDIxOjU1LCBUaG9yc3RlbiBCbHVtIHdyb3RlOg0KPj4gLS0tIGEvZHJpdmVycy94ZW4veGVu
YnVzL3hlbmJ1c194cy5jDQo+PiArKysgYi9kcml2ZXJzL3hlbi94ZW5idXMveGVuYnVzX3hz
LmMNCj4+IEBAIC01NDYsMTYgKzU0NiwxMyBAQCBpbnQgeGVuYnVzX3RyYW5zYWN0aW9uX3N0
YXJ0KHN0cnVjdCB4ZW5idXNfdHJhbnNhY3Rpb24gKnQpDQo+PiAgIEVYUE9SVF9TWU1CT0xf
R1BMKHhlbmJ1c190cmFuc2FjdGlvbl9zdGFydCk7DQo+PiAgIA0KPj4gICAvKiBFbmQgYSB0
cmFuc2FjdGlvbi4NCj4+IC0gKiBJZiBhYmFuZG9uIGlzIHRydWUsIHRyYW5zYWN0aW9uIGlz
IGRpc2NhcmRlZCBpbnN0ZWFkIG9mIGNvbW1pdHRlZC4NCj4+ICsgKiBJZiBhYm9ydCBpcyB0
cnVlLCB0cmFuc2FjdGlvbiBpcyBkaXNjYXJkZWQgaW5zdGVhZCBvZiBjb21taXR0ZWQuDQo+
PiAgICAqLw0KPj4gLWludCB4ZW5idXNfdHJhbnNhY3Rpb25fZW5kKHN0cnVjdCB4ZW5idXNf
dHJhbnNhY3Rpb24gdCwgaW50IGFib3J0KQ0KPj4gK2ludCB4ZW5idXNfdHJhbnNhY3Rpb25f
ZW5kKHN0cnVjdCB4ZW5idXNfdHJhbnNhY3Rpb24gdCwgYm9vbCBhYm9ydCkNCj4+ICAgew0K
Pj4gICAJY2hhciBhYm9ydHN0clsyXTsNCj4+ICAgDQo+PiAtCWlmIChhYm9ydCkNCj4+IC0J
CXN0cmNweShhYm9ydHN0ciwgIkYiKTsNCj4+IC0JZWxzZQ0KPj4gLQkJc3RyY3B5KGFib3J0
c3RyLCAiVCIpOw0KPiANCj4gV2hpbGUgYXQgbGVhc3QgaW4gcHJpbmNpcGxlIGEgY29tcGls
ZXIgbWlnaHQgYmUgYWJsZSB0byB0cmFuc2Zvcm0gdGhpcyBpbnRvDQo+IGNvZGUgbm90IHVz
aW5nIGFueSBsaWJyYXJ5IGZ1bmN0aW9uIGF0IGFsbCwgLi4uDQo+IA0KPj4gKwlzdHJzY3B5
KGFib3J0c3RyLCBhYm9ydCA/ICJGIiA6ICJUIik7DQo+IA0KPiAuLi4gdGhlIHVzZSBvZiBh
IG4gb24tc3RhbmRhcmQgZnVuY3Rpb24gKHdpdGhvdXQgZXF1aXZhbGVudCBjb21waWxlciBi
dWlsdGluKQ0KPiBkb2Vzbid0IHBlcm1pdCB0aGlzLiBJT1cgd2h5IG5vdCBzaW1wbHkgc3dp
dGNoIHRvIGUuZy4NCj4gDQo+ICAgICAgY2hhciBhYm9ydHN0clsyXSA9IHsgWzBdID0gYWJv
cnQgPyAnRicgOiAnVCcgfTsNCg0KSSB3b3VsZCBldmVuIGdvIGZ1cnRoZXIgYW5kIGRyb3Ag
YWJvcnRzdHJbXSBjb21wbGV0ZWx5Og0KDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy94ZW4veGVu
YnVzL3hlbmJ1c194cy5jIGIvZHJpdmVycy94ZW4veGVuYnVzL3hlbmJ1c194cy5jDQppbmRl
eCA1Mjg2ODJiZjBjN2YuLmM4OTFhZjcxNjVmNSAxMDA2NDQNCi0tLSBhL2RyaXZlcnMveGVu
L3hlbmJ1cy94ZW5idXNfeHMuYw0KKysrIGIvZHJpdmVycy94ZW4veGVuYnVzL3hlbmJ1c194
cy5jDQpAQCAtNTUwLDE0ICs1NTAsOCBAQCBFWFBPUlRfU1lNQk9MX0dQTCh4ZW5idXNfdHJh
bnNhY3Rpb25fc3RhcnQpOw0KICAgKi8NCiAgaW50IHhlbmJ1c190cmFuc2FjdGlvbl9lbmQo
c3RydWN0IHhlbmJ1c190cmFuc2FjdGlvbiB0LCBpbnQgYWJvcnQpDQogIHsNCi0gICAgICAg
Y2hhciBhYm9ydHN0clsyXTsNCi0NCi0gICAgICAgaWYgKGFib3J0KQ0KLSAgICAgICAgICAg
ICAgIHN0cmNweShhYm9ydHN0ciwgIkYiKTsNCi0gICAgICAgZWxzZQ0KLSAgICAgICAgICAg
ICAgIHN0cmNweShhYm9ydHN0ciwgIlQiKTsNCi0NCi0gICAgICAgcmV0dXJuIHhzX2Vycm9y
KHhzX3NpbmdsZSh0LCBYU19UUkFOU0FDVElPTl9FTkQsIGFib3J0c3RyLCBOVUxMKSk7DQor
ICAgICAgIHJldHVybiB4c19lcnJvcih4c19zaW5nbGUodCwgWFNfVFJBTlNBQ1RJT05fRU5E
LCBhYm9ydCA/ICJGIiA6ICJUIiwNCisgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpKTsN
CiAgfQ0KICBFWFBPUlRfU1lNQk9MX0dQTCh4ZW5idXNfdHJhbnNhY3Rpb25fZW5kKTsNCg0K
DQpKdWVyZ2VuDQo=
--------------npIkIxiZMvZHSh2uiWTn909H
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------npIkIxiZMvZHSh2uiWTn909H--

--------------r6UTLeiNBc7xolqcB1fygly0--

--------------aL9FS5G5uuPKPbejLbRTuXvO
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmjsrBsFAwAAAAAACgkQsN6d1ii/Ey98
agf/XDXA7OeiSGF3mjL8FYcZW2JSG5vEYtBx5FBrgkwjAnuDUq0aqv2dK0DEw+7blE0VZ7Z0nIQN
FmBasyqxbol92P8exK/zxV1SlvW+HS8OSP6AmM+siffknx8Bc9bkFYvDNIoS/Yn8xld14p0ANK7B
WmWOsqigTpu7iEM77PVNddt7p3rXOWdFNcLLM/63v2VqfbmDGLvIqL+v+49eYZ4VfimPyeFeWkU7
zNnTzD7LMrp/PLb5gpzjIOwreYZybyxPW6oNR37gqKw3J4OanoXNjasGHAkvybjYXclXAZwXlLek
8dXO71jOl+PFoZGjH+awJzbQHX591PDtZuCtKAHvCg==
=7920
-----END PGP SIGNATURE-----

--------------aL9FS5G5uuPKPbejLbRTuXvO--


From xen-devel-bounces@lists.xenproject.org Mon Oct 13 07:41:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 07:41:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141766.1475924 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8DB2-0002vt-3z; Mon, 13 Oct 2025 07:41:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141766.1475924; Mon, 13 Oct 2025 07:41:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8DB2-0002vm-1E; Mon, 13 Oct 2025 07:41:04 +0000
Received: by outflank-mailman (input) for mailman id 1141766;
 Mon, 13 Oct 2025 07:41:02 +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
 <SRS0=Hmnp=4W=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1v8DB0-0002vg-Q7
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 07:41:02 +0000
Received: from mail-ed1-x52e.google.com (mail-ed1-x52e.google.com
 [2a00:1450:4864:20::52e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f6beded6-a807-11f0-980a-7dc792cee155;
 Mon, 13 Oct 2025 09:41:00 +0200 (CEST)
Received: by mail-ed1-x52e.google.com with SMTP id
 4fb4d7f45d1cf-6394938e0ecso6307155a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 13 Oct 2025 00:41:00 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-146-38.play-internet.pl.
 [109.243.146.38]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-b55d8c12a62sm872447566b.58.2025.10.13.00.40.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 13 Oct 2025 00:40:59 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f6beded6-a807-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760341260; x=1760946060; darn=lists.xenproject.org;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=EcbCkbQ5cFzK2uc6XL+jUj4r+Ud7B6ptIdAC0X+jUJ8=;
        b=m4MQsSfNcb6l3GMQFyJcT0IxiuylMPJBmjxQ9PabHcgI5O74bkoZy9a4+8PMoxasIU
         H6v385Nfw5WaK04qsw+vG+OeM5lx7gopdYMirhCqcAUTn4ZjqtPBUVeNpqNgccCgqyC4
         DFCoq+njRPPrX6syD5gOvsyY2QoBKKTFhdsbAmCceG+Y5EAB7BMGsjZCi1mF0DnuGjDh
         ZklhxJ35fd4uLalvXFyxo7Bliz4WimUbn4RXsWShGYz5a65w/GLU5qklawiDF/WED+l5
         2igfb8Jxz1WxBloj216JMzFBIDF94iHqX7bGYwRbtck7o3ESiIigpGkZVFUbWyTYqbF1
         fCWg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760341260; x=1760946060;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=EcbCkbQ5cFzK2uc6XL+jUj4r+Ud7B6ptIdAC0X+jUJ8=;
        b=dwpCaaBuFSHaJ6arEwef+dLR7xZ0+Yta64+mmw124f3SnWEiX9xqTUb14vqPLdjv1T
         bQMvcdEkNvDYYf/lRCXLAEhaMC25J+YqvMvHDjPCr8UcbN5NHYCVK8OOHTQiAOZL+OrN
         rcqz32I6FUbIbHo1j/scrnG1Hz8N4F/X+FIkH6XbM8b8mix6TzFIou9x+XNjo9dh3Bou
         +BNNjOGPZuVpKm51dDDOdNq4g5xXWugwkVp1DJGofomLVc51bQ9YyZVqAEXzP3Nq2lVI
         eXteV8I0DSnSeua9REaxt+y6VCYNC4Zg9u/adpUvrXaOPuSMxWsBTM2hhZAvnNmVc83y
         bnLA==
X-Forwarded-Encrypted: i=1; AJvYcCVxoa/Qzy2oZ84SMaGgHAN4bxzQ4nmFM+8bzmp7CBytH1EdYAuF0UnLrhmtGBZz+VmDaaCaURENnqo=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx/NvNoRrnbLR5omCvdV38pkcDJK6VHVvExGNlesF2o3IHDmDd8
	wMqcsKHpXKbZDtMMoM1GnuBMxvEID4aktKom55eKv6Uucsnsu178jDK6
X-Gm-Gg: ASbGncvAmmB/ZFlGmQr49YgFl5+qaJNcNZm4v0EnkQTQCHa5s6BRpIAXS5RUCCtAsf+
	02NHCofAIuH/AI8ajkmj7IOXvC40p4opdIBpVODmyaNIjUdyNM6opz6Yq7U94aNQivxcqzakk9s
	0HzTJcNAhO8HTsrZUmMPV7h9GolfcRkOK6QCDyGmlG4UcrKQGzMPMXhlwGlkXdb6aRPq++00R/P
	U0N0tVmFnxk3EvVcz67lITYbDo2q43rdxpLVj28aDxCMbvn80iJtLoCGj6mUHWNlfVp/skzjGGj
	t6fh9Hu2ex7BinH0cCC3VRZEYLQlA7Mhco8i1ROaNY4mZqooRD0qIvHLTwDHJYY3YHv1DBi+/ua
	7Pmxkyvlr6R0/BL4n6I8NJ9FJ6S5/ctbrLMx3dzMNu74mtzURmrAHvICd2kFmHbU1QQkxepPirX
	k3kJ4l3c/e9pkvED/Nd5VwOsylkEeDb+d/
X-Google-Smtp-Source: AGHT+IHP9Z0Twj6Ux2MuclP4RUwdvGDeVMm1CPJRSariFeyrjxrZq2rTaUgVJBrlsM3rMAkB9pgS4Q==
X-Received: by 2002:a17:906:c14c:b0:b30:431d:27ed with SMTP id a640c23a62f3a-b50aab9c5afmr1973309466b.14.1760341260058;
        Mon, 13 Oct 2025 00:41:00 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------IoUQ7HUEchxapz7Dk06vUOPb"
Message-ID: <023e9bb5-85f7-4080-929d-8d3b07f89a24@gmail.com>
Date: Mon, 13 Oct 2025 09:40:59 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/1] tools/libs/light: fix BAR memory address truncation
To: Jiqian Chen <Jiqian.Chen@amd.com>, xen-devel@lists.xenproject.org
Cc: Huang Rui <ray.huang@amd.com>, Anthony PERARD
 <anthony.perard@vates.tech>, Juergen Gross <jgross@suse.com>
References: <20251010080029.29328-1-Jiqian.Chen@amd.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20251010080029.29328-1-Jiqian.Chen@amd.com>

This is a multi-part message in MIME format.
--------------IoUQ7HUEchxapz7Dk06vUOPb
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit


On 10/10/25 10:00 AM, Jiqian Chen wrote:
> 64-bit BAR memory address is truncated when removing a passthrough pci
> device from guest since it uses "unsigned int".
>
> So, change to use "unsigned long long" to fix this problem.
>
> Signed-off-by: Jiqian Chen<Jiqian.Chen@amd.com>
> ---
> cc: Anthony PERARD<anthony.perard@vates.tech>
> cc: Juergen Gross<jgross@suse.com>
> cc: Oleksii Kurochko<oleksii.kurochko@gmail.com>
> ---
>   tools/libs/light/libxl_pci.c | 9 +++++----
>   1 file changed, 5 insertions(+), 4 deletions(-)

With getting proper Ack(s) from maintainers, the patch could be considered
to be in 4.21:
  Release-Acked-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>

Thanks.

~ Oleksii

>
> diff --git a/tools/libs/light/libxl_pci.c b/tools/libs/light/libxl_pci.c
> index 2ea2caeb6624..88ffbbf08abe 100644
> --- a/tools/libs/light/libxl_pci.c
> +++ b/tools/libs/light/libxl_pci.c
> @@ -2001,7 +2001,8 @@ static void pci_remove_detached(libxl__egc *egc,
>   {
>       STATE_AO_GC(prs->aodev->ao);
>       libxl_ctx *ctx = libxl__gc_owner(gc);
> -    unsigned int start = 0, end = 0, flags = 0, size = 0, irq = 0;
> +    unsigned long long start = 0, end = 0, flags = 0, size = 0;
> +    unsigned int irq = 0;
>       int i, stubdomid = 0;
>       const char *sysfs_path;
>       FILE *f;
> @@ -2031,7 +2032,7 @@ static void pci_remove_detached(libxl__egc *egc,
>       }
>   
>       for (i = 0; i < PROC_PCI_NUM_RESOURCES; i++) {
> -        if (fscanf(f, "0x%x 0x%x 0x%x\n", &start, &end, &flags) != 3)
> +        if (fscanf(f, "0x%llx 0x%llx 0x%llx\n", &start, &end, &flags) != 3)
>               continue;
>           size = end - start + 1;
>           if (start) {
> @@ -2040,7 +2041,7 @@ static void pci_remove_detached(libxl__egc *egc,
>                                                    size, 0);
>                   if (rc < 0)
>                       LOGED(ERROR, domid,
> -                          "xc_domain_ioport_permission error 0x%x/0x%x",
> +                          "xc_domain_ioport_permission error 0x%llx/0x%llx",
>                             start,
>                             size);
>               } else {
> @@ -2050,7 +2051,7 @@ static void pci_remove_detached(libxl__egc *egc,
>                                                   0);
>                   if (rc < 0)
>                       LOGED(ERROR, domid,
> -                          "xc_domain_iomem_permission error 0x%x/0x%x",
> +                          "xc_domain_iomem_permission error 0x%llx/0x%llx",
>                             start,
>                             size);
>               }
--------------IoUQ7HUEchxapz7Dk06vUOPb
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 10/10/25 10:00 AM, Jiqian Chen
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:20251010080029.29328-1-Jiqian.Chen@amd.com">
      <pre wrap="" class="moz-quote-pre">64-bit BAR memory address is truncated when removing a passthrough pci
device from guest since it uses "unsigned int".

So, change to use "unsigned long long" to fix this problem.

Signed-off-by: Jiqian Chen <a class="moz-txt-link-rfc2396E" href="mailto:Jiqian.Chen@amd.com">&lt;Jiqian.Chen@amd.com&gt;</a>
---
cc: Anthony PERARD <a class="moz-txt-link-rfc2396E" href="mailto:anthony.perard@vates.tech">&lt;anthony.perard@vates.tech&gt;</a>
cc: Juergen Gross <a class="moz-txt-link-rfc2396E" href="mailto:jgross@suse.com">&lt;jgross@suse.com&gt;</a>
cc: Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a>
---
 tools/libs/light/libxl_pci.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)</pre>
    </blockquote>
    <pre>With getting proper Ack(s) from maintainers, the patch could be considered
to be in 4.21:
 Release-Acked-by: Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a>

Thanks.

~ Oleksii</pre>
    <blockquote type="cite"
      cite="mid:20251010080029.29328-1-Jiqian.Chen@amd.com">
      <pre wrap="" class="moz-quote-pre">

diff --git a/tools/libs/light/libxl_pci.c b/tools/libs/light/libxl_pci.c
index 2ea2caeb6624..88ffbbf08abe 100644
--- a/tools/libs/light/libxl_pci.c
+++ b/tools/libs/light/libxl_pci.c
@@ -2001,7 +2001,8 @@ static void pci_remove_detached(libxl__egc *egc,
 {
     STATE_AO_GC(prs-&gt;aodev-&gt;ao);
     libxl_ctx *ctx = libxl__gc_owner(gc);
-    unsigned int start = 0, end = 0, flags = 0, size = 0, irq = 0;
+    unsigned long long start = 0, end = 0, flags = 0, size = 0;
+    unsigned int irq = 0;
     int i, stubdomid = 0;
     const char *sysfs_path;
     FILE *f;
@@ -2031,7 +2032,7 @@ static void pci_remove_detached(libxl__egc *egc,
     }
 
     for (i = 0; i &lt; PROC_PCI_NUM_RESOURCES; i++) {
-        if (fscanf(f, "0x%x 0x%x 0x%x\n", &amp;start, &amp;end, &amp;flags) != 3)
+        if (fscanf(f, "0x%llx 0x%llx 0x%llx\n", &amp;start, &amp;end, &amp;flags) != 3)
             continue;
         size = end - start + 1;
         if (start) {
@@ -2040,7 +2041,7 @@ static void pci_remove_detached(libxl__egc *egc,
                                                  size, 0);
                 if (rc &lt; 0)
                     LOGED(ERROR, domid,
-                          "xc_domain_ioport_permission error 0x%x/0x%x",
+                          "xc_domain_ioport_permission error 0x%llx/0x%llx",
                           start,
                           size);
             } else {
@@ -2050,7 +2051,7 @@ static void pci_remove_detached(libxl__egc *egc,
                                                 0);
                 if (rc &lt; 0)
                     LOGED(ERROR, domid,
-                          "xc_domain_iomem_permission error 0x%x/0x%x",
+                          "xc_domain_iomem_permission error 0x%llx/0x%llx",
                           start,
                           size);
             }
</pre>
    </blockquote>
  </body>
</html>

--------------IoUQ7HUEchxapz7Dk06vUOPb--


From xen-devel-bounces@lists.xenproject.org Mon Oct 13 07:44:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 07:44:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141775.1475935 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8DDr-0003UH-Hk; Mon, 13 Oct 2025 07:43:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141775.1475935; Mon, 13 Oct 2025 07:43:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8DDr-0003UA-E5; Mon, 13 Oct 2025 07:43:59 +0000
Received: by outflank-mailman (input) for mailman id 1141775;
 Mon, 13 Oct 2025 07:43:58 +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
 <SRS0=Hmnp=4W=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1v8DDq-0003U4-1V
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 07:43:58 +0000
Received: from mail-ej1-x631.google.com (mail-ej1-x631.google.com
 [2a00:1450:4864:20::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5faf728d-a808-11f0-9d15-b5c5bf9af7f9;
 Mon, 13 Oct 2025 09:43:56 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-b3e234fcd4bso652355266b.3
 for <xen-devel@lists.xenproject.org>; Mon, 13 Oct 2025 00:43:56 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-146-38.play-internet.pl.
 [109.243.146.38]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-b55d65ccfe0sm859685766b.25.2025.10.13.00.43.55
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 13 Oct 2025 00:43:55 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5faf728d-a808-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760341436; x=1760946236; darn=lists.xenproject.org;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=vQsQGxb8aZfQQIujWFogBasr7WOTOj4wJ/pL+aUNnB0=;
        b=EavO/Hu3KsxBy6oW1x5DGwwWvDU9zTrqtLAAGN4jdzY9YuINK6dS/efxwebQ1fgY+V
         lWVfAZYsbns0lCXmnpo+sc1wwMH4IpoRzp+q1ljhMgvAFhR61da3108ot0d3siZxneHd
         nwjB8/PkxECY/r5SKMznKgfghz3UImxvmNytXmnTqn6pVUSm400xFpPNtACq0C4p+4Pl
         QCTW+gKMCRIj3wlC/A6lRmRbFo1RccplxPC/QxLmphNNf4RWUlnS99E9lVWorGS5BDNA
         XT7QYXmeiVaEy+TlDy/Py4iK+EWE9OWFSCAA1IIiJKOZKRABLTkrEyFGFPfHNrZWXZ97
         oWCQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760341436; x=1760946236;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=vQsQGxb8aZfQQIujWFogBasr7WOTOj4wJ/pL+aUNnB0=;
        b=qQ+mqgVR5kzlAHxTCYcxE0qiqE/pYirt6ZIxVE7ywMp5lJPugjBIvqxRu3TaOxibNF
         mMdxkAgTVcGVLsFOb3VYg6LCI8WpeYP5PanZLEqGWamnv77rtMgXeapjJ82jPspUTb39
         sRmir99m+fJiXydPIWQpakB/4yczjMzjYov1wSfDnxpZqvNoFR0l4gZY0LR8+WuPvgd8
         xMRNS61oBa+cE3XBvHZBZbN1m2YjKLc9Yze53RhMU03WPXSbNKSIEIV+BuRR+BtG3x5P
         DE6y4ZHdKKW7bM8+Gi0fYlJuNujHRdNUR2neoP4OuZnOCXVilleyFs73t3iL/5Hbw3SW
         RAIA==
X-Forwarded-Encrypted: i=1; AJvYcCX/ppt2arywcFRebA/VEwgGliX2jf41bscQdHzbxSQwj/Ff0G898izZx2HM3ipml4JuHCcoGQqNqU0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwitExTbtyZ1KnN7yvh5ibIl92oF125ZNHmn1XOBD3fzWhsIS75
	e2nTXvuKrq9/xaPnnIZWebDYTloTwR3xU+jOM/9XC/r/2FuZpo/ii53B
X-Gm-Gg: ASbGncvSJ84Vaf+kuuAxYNYSN/5H5w4xhLpJhi6xTEJSpGbQRZNHJzN4iX9t6n+e/cs
	Y32syi3eh8pS2E9smrNN/5350u4/5lm+Dz/X6UgxteqCm8lL2sD5vCN3cT3Nep8uLCVuoZk9Go/
	PT3L6rK512RqBHRM92VoX+2ig9SQoMg09bNtEslqbLbooMdWXBUTUSvv13LQx3RAffspcpxtAiI
	dnAlGD12Jmp9KBPR5LyYkmWHkhISUTXu0MtebMKQorta0eqmud+Ta2YJBRljFWAQc8tZgRIQEJa
	T7N5+ahd97DG/Fw5ep4CBpmcI1QKdelY66xbHShhI0KEvlDz831ulrtrVRu3yta6W81JBH3ZvPn
	RBSXTh7tf56PG+Mxq0wOQaCVTetPObhOFpmXQEYvEWc84BoOHsvEfXIz/JFXTTD/I+7rpnFKKlA
	kGKq3n80wzpLAjIt5K0t+Jzw==
X-Google-Smtp-Source: AGHT+IGO6mlBpUVikyFS9/TWI2Edr+GKv/1WXH6lc/4jkk1Bro4+D2MEjfo5QFygCeozNkr192r4eg==
X-Received: by 2002:a17:907:26c8:b0:b43:3dcf:b6c3 with SMTP id a640c23a62f3a-b50ac7ee211mr1931845566b.49.1760341436023;
        Mon, 13 Oct 2025 00:43:56 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------b8p8hcLJD5k03bxxeRLyg6Vi"
Message-ID: <2924ffc0-3d8f-4618-9070-f14d1ef2573d@gmail.com>
Date: Mon, 13 Oct 2025 09:43:54 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] x86/hvm: vlapic: fix RO bits emulation in LVTx regs
To: Jan Beulich <jbeulich@suse.com>,
 Grygorii Strashko <grygorii_strashko@epam.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Alejandro Vallejo <alejandro.garciavallejo@amd.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20250930190550.1166875-1-grygorii_strashko@epam.com>
 <DD733UWP8JVK.SSX8U5ENELIE@amd.com>
 <3715a68a-dc35-42f4-99e2-e1a45ebd1b16@epam.com>
 <ad2818bd-bf36-46b9-89f3-ffa8b9dd364a@suse.com>
 <a80dc58d-a6b7-4de4-be1e-7c2fa03b17aa@epam.com>
 <8c9d8762-b39b-4696-bb6a-23fa05fdc393@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <8c9d8762-b39b-4696-bb6a-23fa05fdc393@suse.com>

This is a multi-part message in MIME format.
--------------b8p8hcLJD5k03bxxeRLyg6Vi
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit


On 10/9/25 5:26 PM, Jan Beulich wrote:
> On 09.10.2025 16:55, Grygorii Strashko wrote:
>> Hi Jan,
>>
>> Thanks for your comments and support.
>>
>> On 07.10.25 18:35, Jan Beulich wrote:
>>> On 03.10.2025 16:04, Grygorii Strashko wrote:
>>>>
>>>> On 01.10.25 18:18, Alejandro Vallejo wrote:
>>>>> On Tue Sep 30, 2025 at 9:05 PM CEST, Grygorii Strashko wrote:
>>>>>> From: Grygorii Strashko<grygorii_strashko@epam.com>
>>>>>>
>>>>>> The LAPIC LVTx registers have two RO bits:
>>>>>> - all: Delivery Status (DS) bit 12
>>>>>> - LINT0/LINT1: Remote IRR Flag (RIR) bit 14.
>>>>>>
>>>>>> The Delivery Status (DS) is not emulated by Xen - there is no IRQ msg bus,
>>>>>> and the IRQ is:
>>>>>> - or accepted at destination and appears as pending
>>>>>>      (vLAPIC Interrupt Request Register (IRR))
>>>>>> - or get rejected immediately.
>>>>>>
>>>>>> The Remote IRR Flag (RIR) behavior emulation is not implemented for
>>>>>> LINT0/LINT1 in Xen for now.
>>>>>>
>>>>>> The current vLAPIC implementations allows guest to write to these RO bits.
>>>>>>
>>>>>> The vLAPIC LVTx registers write happens in vlapic_reg_write() which expect
>>>>>> to implement "Write ignore" access type for RO bits by applying masks from
>>>>>> vlapic_lvt_mask[], but vlapic_lvt_mask[] contains incorrect masks which
>>>>>> allows writing to RO fields.
>>>>>>
>>>>>> Hence it is definitely wrong to allow guest to write to LVTx regs RO bits,
>>>>>> fix it by fixing LVTx registers masks in vlapic_lvt_mask[].
>>>>>>
>>>>>> In case of WRMSR (guest_wrmsr_x2apic()) access to LVTx registers, the SDM
>>>>>> clearly defines access type for "Reserved" bits as RsvdZ (Non-zero writes
>>>>>> to reserved bits should cause #GP exception), but contains no statements
>>>>>> for RO bits except that they are not "Reserved". So, guest_wrmsr_x2apic()
>>>>>> now uses different masks (than vlapic_reg_write()) for checking LVTx
>>>>>> registers values for "Reserved" bit settings, which include RO bits and
>>>>>> do not cause #GP exception.
>>>>>>
>>>>>> Fixes: d1bd157fbc9b ("Big merge the HVM full-virtualisation abstractions.")
>>>>>> Signed-off-by: Grygorii Strashko<grygorii_strashko@epam.com>
>>>>>> ---
>>>>>> Changes in v2:
>>>>>> - masks fixed in vlapic_lvt_mask[]
>>>>>> - commit msg reworded
>>>>>>
>>>>>> v1:https://patchwork.kernel.org/project/xen-devel/patch/20250925195558.519568-1-grygorii_strashko@epam.com/
>>>>>>     xen/arch/x86/hvm/vlapic.c | 14 ++++++++------
>>>>>>     1 file changed, 8 insertions(+), 6 deletions(-)
>>>>>>
>>>>>> diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
>>>>>> index 79697487ba90..2ecba8163f48 100644
>>>>>> --- a/xen/arch/x86/hvm/vlapic.c
>>>>>> +++ b/xen/arch/x86/hvm/vlapic.c
>>>>>> @@ -44,15 +44,17 @@
>>>>>>     static const unsigned int vlapic_lvt_mask[VLAPIC_LVT_NUM] =
>>>>>>     {
>>>>>>          /* LVTT */
>>>>>> -     LVT_MASK | APIC_TIMER_MODE_MASK,
>>>>>> +     (LVT_MASK | APIC_TIMER_MODE_MASK) & ~APIC_SEND_PENDING,
>>>>>>          /* LVTTHMR */
>>>>>> -     LVT_MASK | APIC_DM_MASK,
>>>>>> +     (LVT_MASK | APIC_DM_MASK) & ~APIC_SEND_PENDING,
>>>>>>          /* LVTPC */
>>>>>> -     LVT_MASK | APIC_DM_MASK,
>>>>>> -     /* LVT0-1 */
>>>>>> -     LINT_MASK, LINT_MASK,
>>>>>> +     (LVT_MASK | APIC_DM_MASK) & ~APIC_SEND_PENDING,
>>>>>> +     /* LVT0 */
>>>>>> +     LINT_MASK & ~(APIC_LVT_REMOTE_IRR | APIC_SEND_PENDING),
>>>>>> +     /* LVT1 */
>>>>>> +     LINT_MASK & ~(APIC_LVT_REMOTE_IRR | APIC_SEND_PENDING),
>>>>>>          /* LVTERR */
>>>>>> -     LVT_MASK
>>>>>> +     LVT_MASK & ~APIC_SEND_PENDING,
>>>>>>     };
>>>>> This is a bit messy. Why not have 2 masks? One for rsvdZ bits, and one
>>>>> for RO?
>>>>>
>>>>> That ought to simplify the logic in both the MSR and MMIO cases.
>>>>>
>>>>> MMIO would do RAZ/WI on the OR of both, while the MSR interface would gate
>>>>> #GP(0) on the mask for rsvd bits only and ensure all RO bits are preserved on
>>>>> writes.
>>>>>
>>>>> Thoughts?
>>>> I've been thinking about the same and It can be done, np.
>>>> I always trying to make "fix" with as small diff as possible
>>>> considering back-porting.
>>>>
>>>> How about "follow up" patch if there is an agreement to proceed this way on the Top level?
>>> Doing it in two steps would be okay with me (I expected it to go that way
>>> anyway), but then it would still be nice to limit churn some. Specifically,
>>> taking LINT_MASK as example, can't we do
>>>
>>> #define LINT_RO_MASK (LVT_RO_MASK | APIC_LVT_REMOTE_IRR)
>>>
>>> #define LINT_WR_MASK \
>>>       (LVT_WR_MASK | APIC_DM_MASK | APIC_INPUT_POLARITY | \
>>>       APIC_LVT_LEVEL_TRIGGER)
>>>
>>> #define LINT_MASK (LINT_WR_MASK | LINT_RO_MASK)
>>>
>>> or some such, and then use *_WR_MASK in the table initializer?
>> Huh. I seems lost a bit, so it's time for ask for more clarifications.
>>
>> I was under impression (seems wrong) that this patch is ok in general, but
>> more improvements need to be done while here [1].
>> My situation is simple - I have a broken safety test with obvious reason "RO bits are writable".
>> And for me fixing a bug (in most simple and fast way) is a high priority.
>> Then whatever optimization/improvements/refactoring (while have time slot).
>>
>> So, what need to be done to get the bug fixed and fix merged? (preferably in 4.21)
> I think what Oleksii said on my series likely applies to this fix too: Has
> been around for a long time, and hence isn't really release critical.

Yes, your understanding is correct. IMO, this change can wait until 4.22.

~ Oleksii

--------------b8p8hcLJD5k03bxxeRLyg6Vi
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 10/9/25 5:26 PM, Jan Beulich wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:8c9d8762-b39b-4696-bb6a-23fa05fdc393@suse.com">
      <pre wrap="" class="moz-quote-pre">On 09.10.2025 16:55, Grygorii Strashko wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">Hi Jan,

Thanks for your comments and support.

On 07.10.25 18:35, Jan Beulich wrote:
</pre>
        <blockquote type="cite">
          <pre wrap="" class="moz-quote-pre">On 03.10.2025 16:04, Grygorii Strashko wrote:
</pre>
          <blockquote type="cite">
            <pre wrap="" class="moz-quote-pre">

On 01.10.25 18:18, Alejandro Vallejo wrote:
</pre>
            <blockquote type="cite">
              <pre wrap="" class="moz-quote-pre">On Tue Sep 30, 2025 at 9:05 PM CEST, Grygorii Strashko wrote:
</pre>
              <blockquote type="cite">
                <pre wrap="" class="moz-quote-pre">From: Grygorii Strashko <a class="moz-txt-link-rfc2396E" href="mailto:grygorii_strashko@epam.com">&lt;grygorii_strashko@epam.com&gt;</a>

The LAPIC LVTx registers have two RO bits:
- all: Delivery Status (DS) bit 12
- LINT0/LINT1: Remote IRR Flag (RIR) bit 14.

The Delivery Status (DS) is not emulated by Xen - there is no IRQ msg bus,
and the IRQ is:
- or accepted at destination and appears as pending
    (vLAPIC Interrupt Request Register (IRR))
- or get rejected immediately.

The Remote IRR Flag (RIR) behavior emulation is not implemented for
LINT0/LINT1 in Xen for now.

The current vLAPIC implementations allows guest to write to these RO bits.

The vLAPIC LVTx registers write happens in vlapic_reg_write() which expect
to implement "Write ignore" access type for RO bits by applying masks from
vlapic_lvt_mask[], but vlapic_lvt_mask[] contains incorrect masks which
allows writing to RO fields.

Hence it is definitely wrong to allow guest to write to LVTx regs RO bits,
fix it by fixing LVTx registers masks in vlapic_lvt_mask[].

In case of WRMSR (guest_wrmsr_x2apic()) access to LVTx registers, the SDM
clearly defines access type for "Reserved" bits as RsvdZ (Non-zero writes
to reserved bits should cause #GP exception), but contains no statements
for RO bits except that they are not "Reserved". So, guest_wrmsr_x2apic()
now uses different masks (than vlapic_reg_write()) for checking LVTx
registers values for "Reserved" bit settings, which include RO bits and
do not cause #GP exception.

Fixes: d1bd157fbc9b ("Big merge the HVM full-virtualisation abstractions.")
Signed-off-by: Grygorii Strashko <a class="moz-txt-link-rfc2396E" href="mailto:grygorii_strashko@epam.com">&lt;grygorii_strashko@epam.com&gt;</a>
---
Changes in v2:
- masks fixed in vlapic_lvt_mask[]
- commit msg reworded

v1: <a class="moz-txt-link-freetext" href="https://patchwork.kernel.org/project/xen-devel/patch/20250925195558.519568-1-grygorii_strashko@epam.com/">https://patchwork.kernel.org/project/xen-devel/patch/20250925195558.519568-1-grygorii_strashko@epam.com/</a>
   xen/arch/x86/hvm/vlapic.c | 14 ++++++++------
   1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
index 79697487ba90..2ecba8163f48 100644
--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -44,15 +44,17 @@
   static const unsigned int vlapic_lvt_mask[VLAPIC_LVT_NUM] =
   {
        /* LVTT */
-     LVT_MASK | APIC_TIMER_MODE_MASK,
+     (LVT_MASK | APIC_TIMER_MODE_MASK) &amp; ~APIC_SEND_PENDING,
        /* LVTTHMR */
-     LVT_MASK | APIC_DM_MASK,
+     (LVT_MASK | APIC_DM_MASK) &amp; ~APIC_SEND_PENDING,
        /* LVTPC */
-     LVT_MASK | APIC_DM_MASK,
-     /* LVT0-1 */
-     LINT_MASK, LINT_MASK,
+     (LVT_MASK | APIC_DM_MASK) &amp; ~APIC_SEND_PENDING,
+     /* LVT0 */
+     LINT_MASK &amp; ~(APIC_LVT_REMOTE_IRR | APIC_SEND_PENDING),
+     /* LVT1 */
+     LINT_MASK &amp; ~(APIC_LVT_REMOTE_IRR | APIC_SEND_PENDING),
        /* LVTERR */
-     LVT_MASK
+     LVT_MASK &amp; ~APIC_SEND_PENDING,
   };
</pre>
              </blockquote>
              <pre wrap="" class="moz-quote-pre">
This is a bit messy. Why not have 2 masks? One for rsvdZ bits, and one
for RO?

That ought to simplify the logic in both the MSR and MMIO cases.

MMIO would do RAZ/WI on the OR of both, while the MSR interface would gate
#GP(0) on the mask for rsvd bits only and ensure all RO bits are preserved on
writes.

Thoughts?
</pre>
            </blockquote>
            <pre wrap="" class="moz-quote-pre">
I've been thinking about the same and It can be done, np.
I always trying to make "fix" with as small diff as possible
considering back-porting.

How about "follow up" patch if there is an agreement to proceed this way on the Top level?
</pre>
          </blockquote>
          <pre wrap="" class="moz-quote-pre">
Doing it in two steps would be okay with me (I expected it to go that way
anyway), but then it would still be nice to limit churn some. Specifically,
taking LINT_MASK as example, can't we do

#define LINT_RO_MASK (LVT_RO_MASK | APIC_LVT_REMOTE_IRR)

#define LINT_WR_MASK \
     (LVT_WR_MASK | APIC_DM_MASK | APIC_INPUT_POLARITY | \
     APIC_LVT_LEVEL_TRIGGER)

#define LINT_MASK (LINT_WR_MASK | LINT_RO_MASK)

or some such, and then use *_WR_MASK in the table initializer?
</pre>
        </blockquote>
        <pre wrap="" class="moz-quote-pre">
Huh. I seems lost a bit, so it's time for ask for more clarifications.

I was under impression (seems wrong) that this patch is ok in general, but
more improvements need to be done while here [1].
My situation is simple - I have a broken safety test with obvious reason "RO bits are writable".
And for me fixing a bug (in most simple and fast way) is a high priority.
Then whatever optimization/improvements/refactoring (while have time slot).

So, what need to be done to get the bug fixed and fix merged? (preferably in 4.21)
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
I think what Oleksii said on my series likely applies to this fix too: Has
been around for a long time, and hence isn't really release critical.</pre>
    </blockquote>
    <pre>Yes, your understanding is correct. IMO, this change can wait until 4.22.

~ Oleksii</pre>
  </body>
</html>

--------------b8p8hcLJD5k03bxxeRLyg6Vi--


From xen-devel-bounces@lists.xenproject.org Mon Oct 13 07:45:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 07:45:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141783.1475945 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8DFP-0003zd-R9; Mon, 13 Oct 2025 07:45:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141783.1475945; Mon, 13 Oct 2025 07:45:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8DFP-0003zW-O5; Mon, 13 Oct 2025 07:45:35 +0000
Received: by outflank-mailman (input) for mailman id 1141783;
 Mon, 13 Oct 2025 07:45:35 +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
 <SRS0=Hmnp=4W=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1v8DFP-0003zQ-Bc
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 07:45:35 +0000
Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com
 [2a00:1450:4864:20::62a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 99d63e25-a808-11f0-9d15-b5c5bf9af7f9;
 Mon, 13 Oct 2025 09:45:34 +0200 (CEST)
Received: by mail-ej1-x62a.google.com with SMTP id
 a640c23a62f3a-b3b3a6f4dd4so705266966b.0
 for <xen-devel@lists.xenproject.org>; Mon, 13 Oct 2025 00:45:34 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-146-38.play-internet.pl.
 [109.243.146.38]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-b55d9a406d9sm871707166b.88.2025.10.13.00.45.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 13 Oct 2025 00:45:33 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 99d63e25-a808-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760341534; x=1760946334; darn=lists.xenproject.org;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=q1fKzjKM7WSoNjTjlSRHz8J4uj9fS79cXuGROvb2G34=;
        b=T1E3i8n+dTlgysYki95EdiNBv0JIlhhwCQ3erIg7WW2rpJ3RFcf4xdgGZKwTQujVPj
         NsZbpfU1Y8ozq9farisjzZQm2nkWvLTH4DZyFsO/FMtOcUWPVhHbg4vxU54Ezv9Q1Cj9
         MuezPnEW/McLeCdjtChNxfGlxbB9VRkXB3VNK792N4mXrPxRPjkwhfTixSgLsrVkVrk/
         gu+yQ9u66iCb+K4SY/6AghaVnq/Kp6xZyBRyvupCpRF27/eqYSnGz2BIh8Ycdhr/iCHb
         I1nPrlAsE5ra+BXazFVQ2AuI2slPeMzsI3bZ7dSKjzingGfE2CFmq5FsOONvQxUn7eaP
         ZGOA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760341534; x=1760946334;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=q1fKzjKM7WSoNjTjlSRHz8J4uj9fS79cXuGROvb2G34=;
        b=UK/JrPpApOAeuIg6pEf1suxiyh7/c/oHzGXOoWtxwt1BX7sILJNDqG3HDiZqrPZnPs
         ksGWgOW9AxiPzhshpLlR69lKQYG2LAivijmODbB02ANwdBcjODs1MlM+/4vRBZAC3m9S
         nJk1wSPUd3URsDqDrBfGS1dHuchvY9MTNnYW3M5xQLc2fKOxAuJXwwQcN7h+TWLLOmJl
         6OJPVAsMlJgHcK2SGZ/RdRkJaiTLO6tyCSSLmRXVN4JwtlWfCX3quFwyLjaE4K93/PO7
         bF27Sjs077s2dTdk2KdUYVMNVPNpQAIdTiLNWfWE7WSl64Gi1N2vfVG4rFEIfT3Egj5U
         oZrw==
X-Forwarded-Encrypted: i=1; AJvYcCVqDxEFqEpXvthXIDW25n2TkS7dXtgC2j0OHdwkPibgC07KzxpX4kVubbHl70HDYpsZfrB6DuluomQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwRejtXuyDMtF0/GCziVM1JPogYxP7vcbObFk++2TMIhF2Yc6D2
	5/8Jae26RsPfJMMlrvwNuA9LLQNMVEsqIcI5FV7RlUoJsgrL9qYdIaYG
X-Gm-Gg: ASbGncsboObaPG2R3Hnbj2vFHBJ8uQt8gM/klNlSOYTXEtEkkzG31uABn7727WKREJ2
	e7TmGhGbwUa/BD5lEHqB8AVfF4Alxd95DiFwNzKHdV/gKt//rnk8d+rNjo7WNOSFAH5m5Bw8ppp
	IPmmDzzaeRaAXBQkSMNvEb+k2fIrLKwnNqZj7pCnjw0dRzgWErJFgNEsEAFUiBbc5ECvvWHr4jT
	qsqJZZBLq6yqAMnKYem0QxcfUBqxeO72ZyHkbnhaSZ39TFiCcfqC1jfmMgfK7xl6XSA3iHFValB
	KOZcmzogxti0QydmW3tyLFC5fl6ILzm6+6cIwUu2XidjXG1qRpLxUYtyfjmCVvx7VGDKG7LM9PD
	SAwjW6lRRUIWvl27UGfRBg4Ih6PA0x6aLC+ZjHJKILKNyaui+PUSdtF9OJH8DITNTivxAxnQzU/
	noAQQDrriH/YwcDkO0NrA08kfNfuO21+7Y
X-Google-Smtp-Source: AGHT+IEa2hiMm8nd58krNQE0n+wAwAFSFwG3oxicaGjJO4rQBmrB7SOX6yKHWuIqc+G8Z0jiUteVsw==
X-Received: by 2002:a17:907:c09:b0:b3e:5f20:88ad with SMTP id a640c23a62f3a-b50ab0898e3mr2095646866b.28.1760341533744;
        Mon, 13 Oct 2025 00:45:33 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------m2ZTTSc0OJ1SkXZMoHMedkuc"
Message-ID: <eb08dede-481a-4e36-bb8d-2785c91f0b94@gmail.com>
Date: Mon, 13 Oct 2025 09:45:32 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/HWP: adjust feature_hdc's section annotation
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Jason Andryuk <jason.andryuk@amd.com>
References: <2622f83a-e67b-479c-8027-5578eb066ff3@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <2622f83a-e67b-479c-8027-5578eb066ff3@suse.com>

This is a multi-part message in MIME format.
--------------m2ZTTSc0OJ1SkXZMoHMedkuc
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit


On 10/9/25 10:50 AM, Jan Beulich wrote:
> The variable can be cleared (set to false) by a non-init function's error
> path (hwp_init_msrs()).
>
> Fixes: 99c4570f8209 ("cpufreq: Add Hardware P-State (HWP) driver")
> Signed-off-by: Jan Beulich<jbeulich@suse.com>

Release-Acked-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>

~ Oleksii

>
> --- a/xen/arch/x86/acpi/cpufreq/hwp.c
> +++ b/xen/arch/x86/acpi/cpufreq/hwp.c
> @@ -21,7 +21,7 @@ static bool __ro_after_init hwp_in_use;
>   static bool __ro_after_init feature_hwp_notification;
>   static bool __ro_after_init feature_hwp_activity_window;
>   
> -static bool __ro_after_init feature_hdc;
> +static bool __read_mostly feature_hdc;
>   
>   static bool __ro_after_init opt_cpufreq_hdc = true;
>   
--------------m2ZTTSc0OJ1SkXZMoHMedkuc
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 10/9/25 10:50 AM, Jan Beulich wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:2622f83a-e67b-479c-8027-5578eb066ff3@suse.com">
      <pre wrap="" class="moz-quote-pre">The variable can be cleared (set to false) by a non-init function's error
path (hwp_init_msrs()).

Fixes: 99c4570f8209 ("cpufreq: Add Hardware P-State (HWP) driver")
Signed-off-by: Jan Beulich <a class="moz-txt-link-rfc2396E" href="mailto:jbeulich@suse.com">&lt;jbeulich@suse.com&gt;</a></pre>
    </blockquote>
    <pre>Release-Acked-by: Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a>

~ Oleksii</pre>
    <blockquote type="cite"
      cite="mid:2622f83a-e67b-479c-8027-5578eb066ff3@suse.com">
      <pre wrap="" class="moz-quote-pre">

--- a/xen/arch/x86/acpi/cpufreq/hwp.c
+++ b/xen/arch/x86/acpi/cpufreq/hwp.c
@@ -21,7 +21,7 @@ static bool __ro_after_init hwp_in_use;
 static bool __ro_after_init feature_hwp_notification;
 static bool __ro_after_init feature_hwp_activity_window;
 
-static bool __ro_after_init feature_hdc;
+static bool __read_mostly feature_hdc;
 
 static bool __ro_after_init opt_cpufreq_hdc = true;
 
</pre>
    </blockquote>
  </body>
</html>

--------------m2ZTTSc0OJ1SkXZMoHMedkuc--


From xen-devel-bounces@lists.xenproject.org Mon Oct 13 07:46:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 07:46:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141790.1475954 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8DFp-0004Sd-84; Mon, 13 Oct 2025 07:46:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141790.1475954; Mon, 13 Oct 2025 07:46:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8DFp-0004SW-4w; Mon, 13 Oct 2025 07:46:01 +0000
Received: by outflank-mailman (input) for mailman id 1141790;
 Mon, 13 Oct 2025 07:46:00 +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
 <SRS0=w2iX=4W=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1v8DFo-0004SO-Cv
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 07:46:00 +0000
Received: from CO1PR03CU002.outbound.protection.outlook.com
 (mail-westus2azlp170100005.outbound.protection.outlook.com
 [2a01:111:f403:c005::5])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a61a470b-a808-11f0-980a-7dc792cee155;
 Mon, 13 Oct 2025 09:45:55 +0200 (CEST)
Received: from SJ0PR13CA0013.namprd13.prod.outlook.com (2603:10b6:a03:2c0::18)
 by BY5PR12MB4321.namprd12.prod.outlook.com (2603:10b6:a03:204::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.12; Mon, 13 Oct
 2025 07:45:49 +0000
Received: from SJ1PEPF00002314.namprd03.prod.outlook.com
 (2603:10b6:a03:2c0:cafe::b7) by SJ0PR13CA0013.outlook.office365.com
 (2603:10b6:a03:2c0::18) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9228.9 via Frontend Transport; Mon,
 13 Oct 2025 07:45:49 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 SJ1PEPF00002314.mail.protection.outlook.com (10.167.242.168) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9228.7 via Frontend Transport; Mon, 13 Oct 2025 07:45:48 +0000
Received: from cjq-desktop.amd.com (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Mon, 13 Oct
 2025 00:45:46 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a61a470b-a808-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=UofJTwzL74iEzfUvWcpiaJN+95B501sTmwFnWXrrrkQYXfJcDa3ktGqxWCdJd0rrsBsagLNcLzLiMm4dLHeVlrMNL4a6mQE6O0igO8Bz4+QdpvecqVpOld/64MdFGwx2/gDldTrPFBgrkpBM3pqGy/NL6tDwfi7T46DOEtukGh+G/LRPcRDeekcr2Nr2F3zihahJ1/X3tx1T7XQpUP4vMrITduGiJrpGsXzhFaXnhaf1P8VFNAHD1OvpjHr9UHMJsq3fRWLa2iRT6XmQ/NkV74NUAqFvO0ocNEym7X+zapWufCGZ3v6+suhSHD2Re188Ka+SdThBIYu3RljYybGS4A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QKkvZoHOBdDKlx71dnvWCdLS+ZSNf7woIcpOlU/GFLk=;
 b=vhPZheAuZjdEL9t+4OjJRS1iz0qCc2NBHUpE2q8lCazlbbc8/8hqzn+ytZ6tpFcOOctX7W4zqw4DY7qhfT7+Zi+RevOmu/jTibwAhRZ7OGLD+HQ2OuxKknUQar122yJZZVG7nC5Nm9VCEHPVMXwPkZgJl1aTUgCUicpkslPhFoCFHVrtufhLJHXiOHV2XWJCg45DjXkzEoh879uvO3cDyyj01QEUZyAYQ0pS5XjdHZCvVjkul3bGP/vfyY9Ms3NvPQLp4CRTLt3wBXYSpX+SPWMKxmQLAEvSiNi4bYh/txb+r0C7KLw9mm+aSF/LGDYPbjhhM9FkwD5RdlquE/0mYQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QKkvZoHOBdDKlx71dnvWCdLS+ZSNf7woIcpOlU/GFLk=;
 b=pZzgNCAPGKlF2YOO3b+ELCtwwDZXSFVsqP9Kyv5jfbbzkoAh+K9xnqL3XaBjK5D2OxZgs5ua5JjIcNO/e0fOB7UqdTJ9FJKwlXVT4IpGES+91a5qkqcgdA4tPJDfnDAvtiGochFOTGK9MNdunfeiVqU9tB/Dgk3mpxIExEs97Po=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Jiqian Chen <Jiqian.Chen@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Huang Rui <ray.huang@amd.com>, Jiqian Chen <Jiqian.Chen@amd.com>, "Oleksii
 Kurochko" <oleksii.kurochko@gmail.com>, Anthony PERARD
	<anthony.perard@vates.tech>, Juergen Gross <jgross@suse.com>
Subject: [PATCH v2 1/1] tools/libs/light: fix BAR memory address truncation
Date: Mon, 13 Oct 2025 15:45:33 +0800
Message-ID: <20251013074533.67478-1-Jiqian.Chen@amd.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ1PEPF00002314:EE_|BY5PR12MB4321:EE_
X-MS-Office365-Filtering-Correlation-Id: 3c5ad68b-ffbe-4505-6db0-08de0a2c86a8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|376014|1800799024|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?JOByrZyWAF43b7b6qIV9W78dq5JpByy1BZ3xdKGZbj85RikkGytrY0YjAs0J?=
 =?us-ascii?Q?3M8m5QEwCQaE48MlLaFXS7woOI9/usnKgodL9L4VFgaw4G6zUUgrhBHhyK3N?=
 =?us-ascii?Q?lmLAnTJlA45NGVfEUMWjLiIqedVpUKlwohvtXAPfQJ8tPcyj7gNg82UUXP4k?=
 =?us-ascii?Q?aLaIRhLh2ejZLAIVNjjKza6gtq/W7m2v0qlwf/QvSWDFZmMjQAGmy25hr4AL?=
 =?us-ascii?Q?A53NZ6+chiw6E0d0H2M6Z7N0pEbeM6qEdhNab8Fxq3BvTYe8vZsZObhQbMiw?=
 =?us-ascii?Q?SfzRn4cKakerc5yLSrD7K/hPvbK9tAcpKTIxDVEkTpe5QkOJDFYLV7iUjScV?=
 =?us-ascii?Q?xlXts2JxJLMtZ8xVVrPdyqVccJ+OUqlffph+y+nIKt7FUWMGETSwrw0q0UOG?=
 =?us-ascii?Q?s/DZCDFv90+wrGjkb7z2e/N/TxR51Wf1DgNlp+G2s1hrWApCLpIGK+176Trb?=
 =?us-ascii?Q?STIcRSvDVLgFv1zgo3VWeq79TN2U/1c72WQxeH/4DgGoJf1U7f5emjDmxRD2?=
 =?us-ascii?Q?FPr6ooGchFZjXwW9L+DmWnxZz31eMpAx4XpaskoT988BTHjZIA4sBgxHhH3I?=
 =?us-ascii?Q?paM554PutI3iYACBTJso1ow99a602i+bW3d2KbExCEBo9Vn6ym/WBQdToUQV?=
 =?us-ascii?Q?e7PKYaWywFGVAliPUYHGcw8pmTJpx4fjEsgZOSCYQl4os7tQG95FjRRMBTUH?=
 =?us-ascii?Q?KHeYX4dUvPNxSpY/2lGtOrU2BmXXbuxiPCqxex6x+BR+MuBi3jKmu/ojnD6T?=
 =?us-ascii?Q?yUtnWExoib0PseXoIEklWaXls2DThdcDv3q1P7x2ybJawP3JHVvMnCWy+yOB?=
 =?us-ascii?Q?0Oeak4beZn9nYscg+ZG4mUC1GywIZokXeQ8QyORsiUPUF0+MzzmT+CU4bSxr?=
 =?us-ascii?Q?XRhFQGPoPLl+W4iRfKKWV7gmYYy2e82urujO2N+8o8yy0pOUfKi2b+gQWReb?=
 =?us-ascii?Q?rF6kScP+lzvu+MQOkPqS7C/OTm9+TUbDI533DvOkL3O6Nr/8B3v1sAtdna0D?=
 =?us-ascii?Q?xIWrPBoAOk0hBvI8foox06GdlxGO9hrOGp8yOQsTq9McYYAHA1ZRmVVDE+Lk?=
 =?us-ascii?Q?sdyQ1p/TelvP0f0z29yepGtyH7nLGCq5oyhy/T2mMB5wYJ+FRdOSO83As+O5?=
 =?us-ascii?Q?ooIv04wHAM3T1jzsdy+bpdJHm4QlktcH446viahAhvj9e82Av5QkcKjPA1BA?=
 =?us-ascii?Q?Z2pl8DpX5w+IE0hzarG+n4ABo6AG/h8JS7Dp3Xzvg5Abnhvpke8XpsSa9IVg?=
 =?us-ascii?Q?YXKVJQTR0Hiy3/tKkuPxCyQBUmtJ/UcZA8ne0DOPpHcOdG0oznCL1Ekk8zOC?=
 =?us-ascii?Q?fNHtTI+t8ytlCQo+vdh4xxgZLecjBc+1e39yWss0WtZQFM4TGLHcXYGGoM0Z?=
 =?us-ascii?Q?Ff2Wgs1E5SPxew2WtrupL/7Lf3W7MBVbjK0KBeNUQEPHPOtluFDw4+UzMJtm?=
 =?us-ascii?Q?iw1I+hdi/nXxtXHhhMXQXjr/dYYVM7te4Lpb9AY40nLJekXsZsw6rOE5rjw1?=
 =?us-ascii?Q?mx0THXHICW+R0uROUppKH/vT8qr/SEd1oFPBLWPYywZco1Ta83j9ICQIjeoj?=
 =?us-ascii?Q?svYfcrMvgwZKG5kPyRc=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(376014)(1800799024)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2025 07:45:48.5870
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3c5ad68b-ffbe-4505-6db0-08de0a2c86a8
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ1PEPF00002314.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4321

64-bit BAR memory address is truncated when removing a passthrough
pci device from guest since it uses "unsigned int".

So, change to use 64-bit type to fix this problem.

Fixes: b0a1af61678b ("libxenlight: implement pci passthrough")
Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
Release-Acked-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
cc: Anthony PERARD <anthony.perard@vates.tech>
cc: Juergen Gross <jgross@suse.com>
---
v1->v2 changes:
* Change to use uint64_t instead of unsigned long long and change
  corresponding fscanf and LOGED parameters.
---
 tools/libs/light/libxl_pci.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/tools/libs/light/libxl_pci.c b/tools/libs/light/libxl_pci.c
index 2ea2caeb6624..ae416a162360 100644
--- a/tools/libs/light/libxl_pci.c
+++ b/tools/libs/light/libxl_pci.c
@@ -2001,7 +2001,8 @@ static void pci_remove_detached(libxl__egc *egc,
 {
     STATE_AO_GC(prs->aodev->ao);
     libxl_ctx *ctx = libxl__gc_owner(gc);
-    unsigned int start = 0, end = 0, flags = 0, size = 0, irq = 0;
+    uint64_t start = 0, end = 0, flags = 0, size = 0;
+    unsigned int irq = 0;
     int i, stubdomid = 0;
     const char *sysfs_path;
     FILE *f;
@@ -2031,7 +2032,7 @@ static void pci_remove_detached(libxl__egc *egc,
     }
 
     for (i = 0; i < PROC_PCI_NUM_RESOURCES; i++) {
-        if (fscanf(f, "0x%x 0x%x 0x%x\n", &start, &end, &flags) != 3)
+        if (fscanf(f, "0x%"SCNx64" 0x%"SCNx64" 0x%"SCNx64"\n", &start, &end, &flags) != 3)
             continue;
         size = end - start + 1;
         if (start) {
@@ -2040,7 +2041,7 @@ static void pci_remove_detached(libxl__egc *egc,
                                                  size, 0);
                 if (rc < 0)
                     LOGED(ERROR, domid,
-                          "xc_domain_ioport_permission error 0x%x/0x%x",
+                          "xc_domain_ioport_permission error %#"PRIx64"/%#"PRIx64,
                           start,
                           size);
             } else {
@@ -2050,7 +2051,7 @@ static void pci_remove_detached(libxl__egc *egc,
                                                 0);
                 if (rc < 0)
                     LOGED(ERROR, domid,
-                          "xc_domain_iomem_permission error 0x%x/0x%x",
+                          "xc_domain_ioport_permission error %#"PRIx64"/%#"PRIx64,
                           start,
                           size);
             }
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Oct 13 07:57:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 07:57:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141804.1475964 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8DQU-0006bu-3v; Mon, 13 Oct 2025 07:57:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141804.1475964; Mon, 13 Oct 2025 07:57:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8DQU-0006bn-1D; Mon, 13 Oct 2025 07:57:02 +0000
Received: by outflank-mailman (input) for mailman id 1141804;
 Mon, 13 Oct 2025 07:57:01 +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 <SRS0=eGB2=4W=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1v8DQT-0006bh-2y
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 07:57:01 +0000
Received: from mail-ed1-x532.google.com (mail-ed1-x532.google.com
 [2a00:1450:4864:20::532])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 319a8956-a80a-11f0-980a-7dc792cee155;
 Mon, 13 Oct 2025 09:56:58 +0200 (CEST)
Received: by mail-ed1-x532.google.com with SMTP id
 4fb4d7f45d1cf-63a0375d7b6so6888347a12.2
 for <xen-devel@lists.xenproject.org>; Mon, 13 Oct 2025 00:56:58 -0700 (PDT)
Received: from ?IPV6:2003:e5:873f:400:7b4f:e512:a417:5a86?
 (p200300e5873f04007b4fe512a4175a86.dip0.t-ipconnect.de.
 [2003:e5:873f:400:7b4f:e512:a417:5a86])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-b55d971ec69sm845406066b.85.2025.10.13.00.56.57
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 13 Oct 2025 00:56:57 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 319a8956-a80a-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760342218; x=1760947018; darn=lists.xenproject.org;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=t1oJTHkMIL7vbq3eQgyJOaqcLOW7sBeMG88248iy+Oo=;
        b=Hg9GXACzIKktlVxwafgEg1m0DxfWb/hpZCyTgOdyrDr1kRkb3XeYiMyLiOVNVn7fx7
         WO4rE5mS90QtaLEiqiuBDnlYTEzFlxFDa2HrFY5fcDcGe4+CsaRvrtj0xxSpP5yU+a6E
         VI446DB4ApLefGcXIs8YcKj9NQX9/FiT91McuSreLxF6fcwR71qFY+r54B4mhbsd3lN8
         mTaZ1n7ik8znbxxTp3Be5ddOBbQR2ND0GLUz+mmhmWQoJLb8byfmC7k9u3+/NSChP9g0
         2GmzLtb7IORKcTETPdZAuVDrtbjujHymOQ9yNEUvdOtjZK1P1op0R42m9fFSMQ3LotSh
         FMuQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760342218; x=1760947018;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=t1oJTHkMIL7vbq3eQgyJOaqcLOW7sBeMG88248iy+Oo=;
        b=ipZkpBGsrsIsF5H+pTc5lXQovQJQLhp30hnmLbOagEx8M+I7/bgaDRKer+Ywtls7cT
         QZhpfk5GaPiIy197xasehIAgPWlzGTGLNGYPROIIHTNVGn/F/kAXfXqPKWFeKbYsgkFT
         HoTnx8UQZSXJUcFlvsUT+WtHDOeUtd3gbUeXgM5UqSStXvNo7ju7cE3vChqYTMeu3joF
         va/ycgvlQpbXV/YPMbIRvR7Q/jHHuoB8k24u5RWDaRczLvdzlef3KS1LS3ZQ3/s2mKap
         lLme+slE7m3xxzsphEZlGFzr0kqNyQKijjNeB+FEJ5y0eC1iHU/sXqmzJzR/cifJvTc0
         xZDw==
X-Forwarded-Encrypted: i=1; AJvYcCVdV5QBnUFTsn2im91dtVqCut+qGKEuz/684PyjL6itCXbPIbc7M6HsSb4XibPcGbSNjPYK7AHL8d0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxmuTdnGzyCJsFsF1Y8+6TL5nU+ZLXbfdVjPvXz7ZVWMB/e9Qvb
	hD3SD4QUtInbc8TrgpPhecvqCv8iL2QvgrtXlT2gjCM/8hDIf1iIkCtuGBPwrmXyLOk=
X-Gm-Gg: ASbGncunnQIVl5GxH14qGhaQL+S98daNY7vn4GSnTjt+bcDQ19JBMCpwwr6GXOjQoHs
	8yXTJBmdsSRs1aqOBZrP8aqGY2vfWuVLr2+b5OYA/98BW5uFeBtiv5/QotXBKwiTSp26t/WryTt
	+JJXOU+eea8H5s3efY/+yaJKxY3RsndlkZO7ifhWfrvutQ1X7s6r8fVxaYlY+fMpew9ZvYh1ysu
	qxMp56qO1CQh/VQfxJYI5IF4/qYqXCJ6JYUEqOEjrhKuOdwiYcrypZbvebg/i4o0yT/wxibxV9d
	vj262HWz3hIkM2PxF0N1PLqFMBBF/uUC0wN5piIt0totddg3jj2zaaLCSR5Tu4PlQ7G5FXaugxW
	AK0YwzOY8p+9NKMomZqkEqpNQLt9nTHZ5IltM16cYKmMUjGPRwTcyDVtP+WReb52gDbwiY5AB+V
	KVkeee6U8FrpksxFDshRcekDLuM0TvBbq/BpB7hm/Y//wRcac5Pj+El7uHMtXYBhHqNfVQXD16G
	Q==
X-Google-Smtp-Source: AGHT+IHkDgV//eCHzuK1RkhUyBPwydYDLXy0mdcpfEBb5/5lf4f/bgTn5dAOsEHtCrMJsIWj/CR/VQ==
X-Received: by 2002:a17:907:1c15:b0:b40:e46e:3e0d with SMTP id a640c23a62f3a-b50abfd6af4mr2252809566b.46.1760342217840;
        Mon, 13 Oct 2025 00:56:57 -0700 (PDT)
Message-ID: <befe98a6-3712-4cd9-8a7b-c459f2e43138@suse.com>
Date: Mon, 13 Oct 2025 09:56:57 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/1] tools/libs/light: fix BAR memory address
 truncation
To: Jiqian Chen <Jiqian.Chen@amd.com>, xen-devel@lists.xenproject.org
Cc: Huang Rui <ray.huang@amd.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Anthony PERARD <anthony.perard@vates.tech>
References: <20251013074533.67478-1-Jiqian.Chen@amd.com>
Content-Language: en-US
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <20251013074533.67478-1-Jiqian.Chen@amd.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------mWnhtWZr3w0Hx5dEnbVuQk0A"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------mWnhtWZr3w0Hx5dEnbVuQk0A
Content-Type: multipart/mixed; boundary="------------N0ilWkw9qfSTU0HYIDuglhRH";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Jiqian Chen <Jiqian.Chen@amd.com>, xen-devel@lists.xenproject.org
Cc: Huang Rui <ray.huang@amd.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Anthony PERARD <anthony.perard@vates.tech>
Message-ID: <befe98a6-3712-4cd9-8a7b-c459f2e43138@suse.com>
Subject: Re: [PATCH v2 1/1] tools/libs/light: fix BAR memory address
 truncation
References: <20251013074533.67478-1-Jiqian.Chen@amd.com>
In-Reply-To: <20251013074533.67478-1-Jiqian.Chen@amd.com>

--------------N0ilWkw9qfSTU0HYIDuglhRH
Content-Type: multipart/mixed; boundary="------------mDBR2m0zTaYRZfeqQZGccH7K"

--------------mDBR2m0zTaYRZfeqQZGccH7K
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTMuMTAuMjUgMDk6NDUsIEppcWlhbiBDaGVuIHdyb3RlOg0KPiA2NC1iaXQgQkFSIG1l
bW9yeSBhZGRyZXNzIGlzIHRydW5jYXRlZCB3aGVuIHJlbW92aW5nIGEgcGFzc3Rocm91Z2gN
Cj4gcGNpIGRldmljZSBmcm9tIGd1ZXN0IHNpbmNlIGl0IHVzZXMgInVuc2lnbmVkIGludCIu
DQo+IA0KPiBTbywgY2hhbmdlIHRvIHVzZSA2NC1iaXQgdHlwZSB0byBmaXggdGhpcyBwcm9i
bGVtLg0KPiANCj4gRml4ZXM6IGIwYTFhZjYxNjc4YiAoImxpYnhlbmxpZ2h0OiBpbXBsZW1l
bnQgcGNpIHBhc3N0aHJvdWdoIikNCj4gU2lnbmVkLW9mZi1ieTogSmlxaWFuIENoZW4gPEpp
cWlhbi5DaGVuQGFtZC5jb20+DQo+IFJlbGVhc2UtQWNrZWQtYnk6IE9sZWtzaWkgS3Vyb2No
a28gPG9sZWtzaWkua3Vyb2Noa29AZ21haWwuY29tPg0KDQpSZXZpZXdlZC1ieTogSnVlcmdl
biBHcm9zcyA8amdyb3NzQHN1c2UuY29tPg0KDQoNCkp1ZXJnZW4NCg==
--------------mDBR2m0zTaYRZfeqQZGccH7K
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------mDBR2m0zTaYRZfeqQZGccH7K--

--------------N0ilWkw9qfSTU0HYIDuglhRH--

--------------mWnhtWZr3w0Hx5dEnbVuQk0A
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmjssMkFAwAAAAAACgkQsN6d1ii/Ey/s
UQf/TWfqWbon8qbLRyvh6RKcwBVJrEekT7ydexPo6DYrFIA889O4MXSuaSoaH5au73wFrDuZD09X
dvs/E2nocLmlc39bEzTfRnwLOi4FzC4QC8gK4XuWbKVq1Y/wjDE9aR2fXsza0ZZuIDZIbzLoqq1w
3TWH/t8Rv7izjp/r73g2h3+OdSpjYiK76sFHY1M/aA28HlPQK+9T17zBU3cwXpEngT7GUY2zMk//
3UGUjtYX8b2kTBctNgxyW0cyc5uzwtdjC5wk+R9ttKjom8ThyKJkFEyxHUyxf2V70pEIDGlCNLKO
sfPCGdXfAF50s6ZiKB5ToBMjisq3JO6d5XkQoE0dRQ==
=XvuH
-----END PGP SIGNATURE-----

--------------mWnhtWZr3w0Hx5dEnbVuQk0A--


From xen-devel-bounces@lists.xenproject.org Mon Oct 13 08:16:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 08:16:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141820.1475978 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8DjH-0001jT-QA; Mon, 13 Oct 2025 08:16:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141820.1475978; Mon, 13 Oct 2025 08:16:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8DjH-0001jM-ME; Mon, 13 Oct 2025 08:16:27 +0000
Received: by outflank-mailman (input) for mailman id 1141820;
 Mon, 13 Oct 2025 08:16:26 +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
 <SRS0=gL+L=4W=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1v8DjG-0001jG-6Q
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 08:16:26 +0000
Received: from DM5PR21CU001.outbound.protection.outlook.com
 (mail-centralusazlp170110009.outbound.protection.outlook.com
 [2a01:111:f403:c111::9])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e816a9a3-a80c-11f0-980a-7dc792cee155;
 Mon, 13 Oct 2025 10:16:23 +0200 (CEST)
Received: from DM4PR12MB8451.namprd12.prod.outlook.com (2603:10b6:8:182::7) by
 PH8PR12MB6940.namprd12.prod.outlook.com (2603:10b6:510:1bf::8) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9203.11; Mon, 13 Oct 2025 08:16:19 +0000
Received: from DM4PR12MB8451.namprd12.prod.outlook.com
 ([fe80::6d8e:2499:8a0a:7eb2]) by DM4PR12MB8451.namprd12.prod.outlook.com
 ([fe80::6d8e:2499:8a0a:7eb2%3]) with mapi id 15.20.9203.009; Mon, 13 Oct 2025
 08:16:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e816a9a3-a80c-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=RVOGnqq1WEfwNkIdXgHRO3QDxPTcSeTkoLiB/NZUMS8kg7Bbb6YsYehDyvAauF5Aa0Ecqv43+z/v2isFhPW/jAO105j+inn4DAPkfU0Jhyc2K0rIna8aq55aR0Ro0CpHsbhtzZVyrrrXQmM8fQIbi9X+qTg3qn58yR978SgowFY6SY73ZRTNXCcEfxnf8q3FJWWZkXrQ6T8EZuDFVYst1ASePB9G+L/J2AmNrHK7d6L17E6Rr20nbtaBUBerKSXTIqxDmVW/SKhfyfrpCRMYO2/dpw2A2h/BpFctbzLwhtxsTz8VUHPiBVCGC2c16T6555DXqwlDGKXgnwJTfcA32A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=h++AllElID1HxjF1HaUrAPJtMNOpcRaOVOLhUh9zV7Q=;
 b=VBfKB5WJAYp2n4VWx4quXeyIc25l2iV5/PhTJa9w24oLDgYdpf+GD9Ne/WIP3DKwP1L0LiGcbmO56CWnWem4dA6Kl5yuSQZVUMuHCsukx8vlWxc3HzPEeIkjwK9LwOesQjQiSvMwFsqKTBoK5o/qUBxjv8QsL3hTuXguFE75I4l2GXIXmwALeuKGf97N+4sKOO5EYiSAKe6p+NBWBsRCY5wVLIGq1T1tqw+mEDNsakulHvxchu7SAAvpX0ybLGlxwFSUK602TOU7CtDbDxVqwNXpDIeqD/9j9H860c7b9Gqdd8/c3blHNdl+bA12IvqMiLvIurTWNi49U4P39RiJ+A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=h++AllElID1HxjF1HaUrAPJtMNOpcRaOVOLhUh9zV7Q=;
 b=SzldPtDKxUa/yjzZ4l+5A8QGkB2i8212873kIQHLgumFSBVvxBDTE28hM4KILxw9AtQDNyKiP6fwbyAluMdzvfXJ8/+vpwh79Ll7mcKQroKQf+g0Jx/bn++OrWaoYEeJBQTi6kKVqRAvYPOhN94aAjTswNXcCSbwri00bHfws9k=
From: "Penny, Zheng" <penny.zheng@amd.com>
To: Jan Beulich <jbeulich@suse.com>, "Andryuk, Jason" <Jason.Andryuk@amd.com>
CC: "Huang, Ray" <Ray.Huang@amd.com>, Anthony PERARD
	<anthony.perard@vates.tech>, Andrew Cooper <andrew.cooper3@citrix.com>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: RE: [PATCH v10 7/8] xen/cpufreq: Adapt SET/GET_CPUFREQ_CPPC
 xen_sysctl_pm_op for amd-cppc driver
Thread-Topic: [PATCH v10 7/8] xen/cpufreq: Adapt SET/GET_CPUFREQ_CPPC
 xen_sysctl_pm_op for amd-cppc driver
Thread-Index: AQHcLEQGdopGfovwgUWGl4QJnXlfibSg55+AgAATNQCAAnMfgIAcZtaw
Date: Mon, 13 Oct 2025 08:16:18 +0000
Message-ID:
 <DM4PR12MB8451A861703C516E74518B26E1EAA@DM4PR12MB8451.namprd12.prod.outlook.com>
References: <20250923043826.3831957-1-Penny.Zheng@amd.com>
 <20250923043826.3831957-8-Penny.Zheng@amd.com>
 <5a2e887f-d6da-42e2-aff0-efe55b041749@suse.com>
 <1106c080-508b-4328-a636-900ca8377d2d@amd.com>
 <83116585-65ef-45fa-9358-586ae46753aa@suse.com>
In-Reply-To: <83116585-65ef-45fa-9358-586ae46753aa@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels:
 MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Enabled=True;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_SetDate=2025-10-13T08:16:12.0000000Z;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Name=Open
 Source;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_ContentBits=3;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Method=Privileged
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DM4PR12MB8451:EE_|PH8PR12MB6940:EE_
x-ms-office365-filtering-correlation-id: 37ccd564-becd-4ec4-60fb-08de0a30c960
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|376014|366016|1800799024|38070700021;
x-microsoft-antispam-message-info:
 =?utf-8?B?ZmZwRnovVEl4ektIbVc1NG1hMnQxbFk2ekpSWlVVMnhsTHlQUjB5UkU3YjZh?=
 =?utf-8?B?cEFURk9KQ3ZyYVdseWRWTjVRWEorVElrNDByYzZITVNOaDFMN3lUUXBHV1Mw?=
 =?utf-8?B?MHNkK2VPTWg3MTZjTnNVdzRBVE53NEJDQzhvTFNEMS9uQ1EzVUduWHFIeE05?=
 =?utf-8?B?UkFPU3Jhc2pmUlRLV3VGWW10d0NrUEFjdTFickFIYS9EOWo3M2ZsK2hVbzFC?=
 =?utf-8?B?NFdjaWQ5SDZZVkloQm1nR2FEYW9Mc3JJdEpsOEI5Q0MzRmpRVDdCYzNYaWVH?=
 =?utf-8?B?UnZQWXhsUjRaaWZFYktQQ3ZXTHJjQUJTQWdSWmlhdTJveDJlR01DUG15Z25W?=
 =?utf-8?B?Wlhtb1lYajdYVVhBTElBb1Bjc3pobkE4a1c3cE1ueFJNRi81YkxwUGJldTVU?=
 =?utf-8?B?YWJFem81STBweGgvNlZpeXRLck5aRzl5TW5odkdqVU95ZVRVU3I0NWxoQzRv?=
 =?utf-8?B?ZEdGRC9JRG1IZ1o2QXg5RU5uWkV3SDlkajVHOXYzSnFMMXcwb1lSV2E2RlU5?=
 =?utf-8?B?dXNwYlV3UkZQdjdMVTVXdzUyTng4UWIzL2xmODN3QkVmZktZdUJqUkpNejg1?=
 =?utf-8?B?N1h5OHdYQldzZHM5YUkySTYyd2ZoMTh5d2lTQXZwMXlMc1pZSmUzSVVQZzAy?=
 =?utf-8?B?a1JJQ0dnN2RWK0ViZnhQVXJhdTE5cmsxUmRPak5ibnU0QTVEYXRhN3BmZVYx?=
 =?utf-8?B?SjJJU3ZDeExZSitGd3dHOGFIWlZoeGlxb0ZPNURkbVBNai91bWVyOXViSndw?=
 =?utf-8?B?SjJ6eFBPK0FlclBDa0YzeGhGUWNWRXh6RFQwQUcxbzlCZnhBSm9ZUjZ4U2dx?=
 =?utf-8?B?OGVCSVptTkdXbE14S3ZyZTBSczRtZGRsRmJpY1Arc3VoU3dXLy9XOXFxNTlw?=
 =?utf-8?B?NVRMZUVJQnRGclA2VHBlMkFob2tPT08xUS93Qmk1NFJPc21pQ3h6cVdtVnNp?=
 =?utf-8?B?VFF3MlphQkVlVXJ5S3NmSUhTRCtKNHFtd0NlOElrZHhNdS9hbGx3NnlEMit6?=
 =?utf-8?B?M1lnOHo5cG9sYkkwdkIzR1owVC9lTWpNSGc3dU5iUm5GdFR2a09QTFdPSStF?=
 =?utf-8?B?VFNsLzRBRzdONk1zR3FnRzc5WFRvRXhkb21pejdlUGZtY2hFMnptN0xqT0tm?=
 =?utf-8?B?c2g4Uml3Ly9ZZ210M3FaVU5QMlY1SUFzSXFPa0lTeVJiUVFTNEdySFc1b283?=
 =?utf-8?B?UXRUejlxUEJMT1poQ1JySXdkRUZhcVphY1FNTUo3VElpMWVTdHFhYmNKbjI2?=
 =?utf-8?B?b2E2c0pZZVBOZ0xDc291TXBSSmFJR1dJakZnM042WlEwQ3dNYXBETVlPY0N0?=
 =?utf-8?B?OTA5N3NuYVZra1pST016dmJFOWkrSUFmc1B0THhFT3VVVFpsaWtsVUhlSTMz?=
 =?utf-8?B?ZDB0RFNTMVRxNm5IYmlETVYvM1BLa09vWEdId0ZWQ1R1YmV2MUhoZC94N0ZX?=
 =?utf-8?B?OVowcnZwWEZreU02UDdIL1BCcVlTSk1EZ1dFTEFsSjUrcStObFBVUHp3aTdw?=
 =?utf-8?B?YlpJd3BXS0xOckVNaTFqSnptZkcwVURJY3ZKbGo1Nkg2UjQ2VDN3VFRPRTVZ?=
 =?utf-8?B?emZxTmxiZi81SG9HRkRGQjNpWFpxM3NtVHlOdi9BZWh6L2M5WmRpWnVRVFZz?=
 =?utf-8?B?cnI0SHNueUpMaXlPbkZBRXBSdGN5VDFtdCtDMjRBVTdiY0h1bWRJZFBNUG1s?=
 =?utf-8?B?QWpWakN0RVlFQzJQNkw0QXAwYjVESExqRGZmdm1wZldmUWliWjBPSnJGTUl0?=
 =?utf-8?B?UGFRcEFoTjlPME4vUUtFbGdMSjhsNFZ6endsSUhvZHk5b2RBQjVTcnkyaHoz?=
 =?utf-8?B?aEh6NFB1YnhqTFpnZXVLdnl4WU80VStTeGhFYU9WT3Z2ampHSWdnVkgzNGcz?=
 =?utf-8?B?WXg1QVNxYzAxTyt6eU4rK0lKVG1qQ2h2VjR6TlhxZlJoUFZ0RnlFMEpBR0VP?=
 =?utf-8?B?VVJqSzZqNjczTVh2am1CMkFGSy9DdUZ1ZitUdUMvM2pmUngzSUxkUHBwYTVm?=
 =?utf-8?B?dEdGN0M2MWt3VFViZ1B2Mk1XR081Q1pobGEzMVNnZ0NhdFRsWkxraGRudmV6?=
 =?utf-8?Q?YLae7q?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR12MB8451.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(38070700021);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?RDNBZW1wb1dlbVZQUitaNTJjelFraG9uOU9lUVJXZG5yd2Exb0Q4blNRMkNE?=
 =?utf-8?B?N3VYbE93cytzTWJtZUxVeCtVWG9objZQZjRHQkRMQ2dyTHlNYTN0ZlAzS1NR?=
 =?utf-8?B?a3hVVzlzRnFYbTg1dW9DZG9uVGdxM1U0Q2tWRWY1T0RSNkp2VVlyUnhJYldk?=
 =?utf-8?B?TE53Tm5YZ1g0eTlxWGV6K3JwNmRNSG9kd2p1T25hd1pwa09iRm83b1hiU21i?=
 =?utf-8?B?THZyKzRsSzhoSHJZOE9yamJ2b3dQK3hudXdhamoveTQ4NXEybmxjZVJ6b1Qw?=
 =?utf-8?B?RktzT2czdUVjZEl2aHB3Mmc5SnR5a1UxR3NQNFEycXEzdElOK2dvL1IycE5v?=
 =?utf-8?B?TWdCNUlZbFFJL1RpZlBkbkFQbTZ2OWZ4NG1RNnBJVWJMN0xJOGRiOTlHNldZ?=
 =?utf-8?B?RDVQZEE3Zk1zbS9Xd2I5WWE4bHY1a1Q0d01SWGtZOHdRVEZmSzNvcGJkSURE?=
 =?utf-8?B?eHNGaEEwcjBzU0VjczJBeUdYbytMWXNQdXB0VWplQnJKZWoyUTd3RU8rdXA5?=
 =?utf-8?B?UzdKbFRKYUwxT0dnY2VxSTZVMDUrWDhOYUhlNEptRS9ieDhpc1RmZmJmdVdB?=
 =?utf-8?B?Y3dBczkzajZNeStqOXRkcm10bDQ4dmd6Qzd5d2I3ajRPNTNIbVlrMCt4THN2?=
 =?utf-8?B?SzBuaCtpVHdJNmdlSDZQVGpTTjIrUXQ3bUhNS2FWZXNhcnROQUdDZ3piRXpJ?=
 =?utf-8?B?SzdScEdER0drZGNyTVFWOFB1TjJ6NSt2cEdkOHdwWEdFTEduQkZXNUN3NE50?=
 =?utf-8?B?NjFhU0k4T1hIUEZRQml6Q1hFQ3Bwd1Z6aVJybUNhTHlSR2xxQU5CK2R4U1B0?=
 =?utf-8?B?ZWhWMHFwSjFBTWlqdG1nUDRiZFR5bnJkUTdNYUNibnpZRGVzUm9ES1VtVi9Q?=
 =?utf-8?B?T0Q5eXRkMWZJcWN6NjFGMGhTdzh2VTJabklibjBnWEI2d3R5MFNUT2NlK3Zz?=
 =?utf-8?B?bWlMaGU5TjRWcFh6bitqYVBUV1BZN2h2aWplaWpXdk5BYWFMUkJUUlROUVNV?=
 =?utf-8?B?eVh2U0Zkb0o2alZ3dTBXSDlZUDRZUnIxaEJ0RHFGbnl4MEl0T0NJeU9WMmJU?=
 =?utf-8?B?U1YwcDdlYXg5QTZ0TjYwWEI1UURjeUdVT1RhUkg5UGFaUmVySTF5Z2IzUmQz?=
 =?utf-8?B?OWVPd0ZTTU4rWHU4bFJraVVFTllPa3d2TEJqVFhKRmFiekJPU0tzOFZac01r?=
 =?utf-8?B?d0N2dE81UE01MXJ6YWF4bUs2UEE4VVduSTI0SU5qN1BPc0hwNUpRVW11amNj?=
 =?utf-8?B?aTJ1bG5uVW1IQlhaUW0wOVkvRnhVd2JSWWw3anNFS010QlFkenZ3dU1KMlEy?=
 =?utf-8?B?N3NVdlkvRW5jRWYzNXJ0TFNrWDBZeGljOUtkVDF5cjFpQkNPSm9weHN4UHhZ?=
 =?utf-8?B?NWFhSVZoZTgxR1BqelNkUTBCT3RoY3Y3a2NLdkNmMTNocktkaUhyM1JmaVlX?=
 =?utf-8?B?ekxaSTMranR3Q0dXVGtIREF3NkZSY3doa0xFYnlGTDgwc1duQWRBY1BoVE9B?=
 =?utf-8?B?bkUvWnlUcGNENVMyUWREc3UvcXhGMGYvOE03emU0ZzU2U2F0K1FLL3B0SjJw?=
 =?utf-8?B?anhHRmFielQ2MnJ3RmF0ejVPTGRNc1pISkRRalFkK0tBSjZPOGVOTkQ1TGxj?=
 =?utf-8?B?LzRmajRBVUtoWnA1RmVFWnJEMTN5dGNic2VHS214cXVRRFhaZDcvZTQ0SUFn?=
 =?utf-8?B?Vm9iS2V6WGozci9mSk55S3hxeHBTWlcvSFZoYU9PaWd3MXhEZkVRMzNZRDd4?=
 =?utf-8?B?MjRKa0F1ZFlRR1RJWDFqUDFtc1BzT2J4SHJKZklyM2lPL0w0NDdRQy8rVmFD?=
 =?utf-8?B?dEZHL3Z4dTZaa2hJNXV5NEo0K0RrVVU3dm41UWVpeVBNVU1BdHdDdVJZbFR4?=
 =?utf-8?B?bmFOTkk3OGhHOWtCRlVsMmV2bHQ5ZTJwNFRJb0U0WUlPSWRyZ2ZERFJFUEFU?=
 =?utf-8?B?UVFrVXJKUWpBcU1HZEpsZHBMTDVTdXhDZkVCTithTGdCZW9qdk9NclNzbUQy?=
 =?utf-8?B?aHVQUlpybW9VcHNNMWFFa3VCRVJBVjVWVmtQZHJHdmFIa01FaGk5WGZ6bHJt?=
 =?utf-8?B?eGF0cEJkcTd3ZFpOVXMwN213N094YVJFTVhyc2FQRnVUQTFIM2docGp5WEZ6?=
 =?utf-8?Q?JnO8=3D?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM4PR12MB8451.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 37ccd564-becd-4ec4-60fb-08de0a30c960
X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Oct 2025 08:16:18.6177
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 2+RqN4ak0M8RN/N0e9pntS2saPuxJhy5D+N6G+Jv5erWG/YLwcghkZfIpPGr5Z1ti3zR7acdXsZ/h3vL/hkAZw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB6940

W1B1YmxpY10NCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBKYW4gQmV1
bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQo+IFNlbnQ6IFRodXJzZGF5LCBTZXB0ZW1iZXIgMjUs
IDIwMjUgMjoxMiBQTQ0KPiBUbzogQW5kcnl1aywgSmFzb24gPEphc29uLkFuZHJ5dWtAYW1kLmNv
bT47IFBlbm55LCBaaGVuZw0KPiA8cGVubnkuemhlbmdAYW1kLmNvbT4NCj4gQ2M6IEh1YW5nLCBS
YXkgPFJheS5IdWFuZ0BhbWQuY29tPjsgQW50aG9ueSBQRVJBUkQNCj4gPGFudGhvbnkucGVyYXJk
QHZhdGVzLnRlY2g+OyBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPjsN
Cj4gUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+OyB4ZW4tZGV2ZWxAbGlz
dHMueGVucHJvamVjdC5vcmcNCj4gU3ViamVjdDogUmU6IFtQQVRDSCB2MTAgNy84XSB4ZW4vY3B1
ZnJlcTogQWRhcHQgU0VUL0dFVF9DUFVGUkVRX0NQUEMNCj4geGVuX3N5c2N0bF9wbV9vcCBmb3Ig
YW1kLWNwcGMgZHJpdmVyDQo+DQo+IE9uIDIzLjA5LjIwMjUgMTg6NDcsIEphc29uIEFuZHJ5dWsg
d3JvdGU6DQo+ID4gT24gMjAyNS0wOS0yMyAxMTozOCwgSmFuIEJldWxpY2ggd3JvdGU6DQo+ID4+
IE9uIDIzLjA5LjIwMjUgMDY6MzgsIFBlbm55IFpoZW5nIHdyb3RlOg0KPiA+Pj4gQEAgLTE1NCw2
ICsxNTYsMTcgQEAgc3RhdGljIGludCBnZXRfY3B1ZnJlcV9wYXJhKHN0cnVjdCB4ZW5fc3lzY3Rs
X3BtX29wDQo+ICpvcCkNCj4gPj4+ICAgICAgIGVsc2UNCj4gPj4+ICAgICAgICAgICBzdHJsY3B5
KG9wLT51LmdldF9wYXJhLnNjYWxpbmdfZHJpdmVyLCAiVW5rbm93biIsDQo+ID4+PiBDUFVGUkVR
X05BTUVfTEVOKTsNCj4gPj4+DQo+ID4+PiArICAgIC8qDQo+ID4+PiArICAgICAqIEluIENQUEMg
YWN0aXZlIG1vZGUsIHdlIGFyZSBib3Jyb3dpbmcgZ292ZXJub3IgZmllbGQgdG8gaW5kaWNhdGUN
Cj4gPj4+ICsgICAgICogcG9saWN5IGluZm8uDQo+ID4+PiArICAgICAqLw0KPiA+Pj4gKyAgICBp
ZiAoIHBvbGljeS0+Z292ZXJub3ItPm5hbWVbMF0gKQ0KPiA+Pg0KPiA+PiBhbWRfY3BwY19wcmVw
YXJlX3BvbGljeSgpIG1heSBsZWF2ZSAtPmdvdmVybm9yIHNldCB0byBOVUxMIGFmYWljcywgc28N
Cj4gPj4gSSB0aGluayB5b3UgbmVlZCB0byBhZGQgYSBOVUxMIGNoZWNrIGhlcmUgYWxvbmdzaWRl
IHdpdGggcHVsbGluZyB0aGlzDQo+ID4+IG91dCBvZiAuLi4NCj4gPj4NCj4gPj4+ICsgICAgICAg
IHN0cmxjcHkob3AtPnUuZ2V0X3BhcmEucy5zY2FsaW5nX2dvdmVybm9yLA0KPiA+Pj4gKyAgICAg
ICAgICAgICAgICBwb2xpY3ktPmdvdmVybm9yLT5uYW1lLCBDUFVGUkVRX05BTUVfTEVOKTsNCj4g
Pj4+ICsgICAgZWxzZQ0KPiA+Pj4gKyAgICAgICAgc3RybGNweShvcC0+dS5nZXRfcGFyYS5zLnNj
YWxpbmdfZ292ZXJub3IsICJVbmtub3duIiwNCj4gPj4+ICsgICAgICAgICAgICAgICAgQ1BVRlJF
UV9OQU1FX0xFTik7DQo+ID4+PiArDQo+ID4+PiAgICAgICBpZiAoICFjcHVmcmVxX2lzX2dvdmVy
bm9ybGVzcyhvcC0+Y3B1aWQpICkNCj4gPj4+ICAgICAgIHsNCj4gPj4NCj4gPj4gLi4uIHRoaXMg
Y29uZGl0aW9uYWwuDQo+ID4+DQo+ID4+IFRoZSBkZXNjcmlwdGlvbiBhbHNvIGNvbnRpbnVlcyB0
byBub3QgbWVudGlvbiB0aGUgZWZmZWN0IGZvciBIV1AuIEknbQ0KPiA+PiBhY3R1YWxseSBzb21l
d2hhdCBjb25mdXNlZCwgSSBzdXBwb3NlIChKYXNvbiwgcXVlc3Rpb24gbWFpbmx5IHRvIHlvdSk6
DQo+ID4+IEhXUCBmYWxscyBpbiB0aGUgZ292ZXJub3ItbGVzcyBjYXRlZ29yeSwgaWlyYy4gWWV0
IGl0IGRvZXNuJ3Qgc3VwcGx5DQo+ID4+IGEgLnNldHBvbGljeSBob29rLCBoZW5jZSBfX2NwdWZy
ZXFfc2V0X3BvbGljeSgpIGdvZXMgdGhyb3VnaCB0aGUNCj4gPj4gbm9ybWFsIGdvdmVybm9yIHNl
dHRpbmcgbG9naWMuIFdoYXQncyB0aGUgZGVhbCBoZXJlPyBUaGUgYW5zd2VyIG1heQ0KPiA+PiBh
ZmZlY3Qgd2hldGhlciBJJ2QgZGVlbSB0aGUgcHVsbGluZyBvdXQgb2YgdGhlIGNvbmRpdGlvbmFs
IGNvcnJlY3QNCj4gPj4gKG9yIGF0IGxlYXN0DQo+ID4+IGJlbmlnbikgaGVyZSBhcyB0byBIV1Au
DQo+ID4NCj4gPiBIaSwNCj4gPg0KPiA+IFdoZW4gSSB3cm90ZSBIV1AsIEkgZGlkbid0IHJlYWxp
emUgdXNpbmcgLnNldHBvbGljeSB3b3VsZCBieXBhc3MgdGhlDQo+ID4gZ292ZXJub3IgY29kZS4g
IEluc3RlYWQsIEkgaW1wbGVtZW50ZWQgdGhlIG5vLW9wIEhXUCBnb3Zlcm5vciwgc2luY2UgSQ0K
PiA+IHRob3VnaHQgSSBuZWVkZWQgc29tZXRoaW5nIGFzIGEgZ292ZXJub3IuDQo+ID4NCj4gPiBz
ZXRfaHdwX3BhcmEoKSBhY3R1YWxseSBjaGFuZ2VzIHRoZSBjb25maWd1cmF0aW9uLiAgSFdQIG9u
bHkNCj4gPiBpbXBsZW1lbnRzIHRoZSBlcXVpdmFsZW50IG9mIGFtZC1jcHBjLWVwcCBhdXRvbm9t
b3VzIChhY3RpdmUpIG1vZGUuDQo+ID4NCj4gPiBTbyBJIHRoaW5rIEhXUCBjb3VsZCBzd2l0Y2gg
dG8gLnNldHBvbGljeSBhbmQgZHJvcCBpdHMgZ292ZXJub3IuDQo+ID4NCj4gPiBCdXQgbG9va2lu
ZyBhdCB0aGlzIGh1bms6DQo+ID4NCj4gPiAgPiBAQCAtMzIxLDEwICszMjcsMTIgQEAgc3RhdGlj
IGludCBzZXRfY3B1ZnJlcV9jcHBjKHN0cnVjdCAgPg0KPiA+IHhlbl9zeXNjdGxfcG1fb3AgKm9w
KQ0KPiA+ICA+ICAgICAgaWYgKCAhcG9saWN5IHx8ICFwb2xpY3ktPmdvdmVybm9yICkNCj4gPg0K
PiA+IERvZXNuJ3QgdGhpcyAhcG9saWN5LT5nb3Zlcm5vciBwcmV2ZW50IGFtZC1jcHBjLWVwcCBm
cm9tIHNldHRpbmcNCj4gPiBwYXJhbWV0ZXJzPw0KPg0KPiBPbmx5IGlmIGFtZF9jcHBjX3ByZXBh
cmVfcG9saWN5KCkgdG9vayB0aGUgZGVmYXVsdCBjYXNlIHBhdGggb2YgaXRzIHN3aXRjaCgpLCBh
aXVpLg0KPiBQZW5ueT8NCj4NCg0KSG1tbSwgSSBzaGFsbCBhZG1pdCB0aGF0IEkgb21pdHRlZCB0
aGUgZGVmYXVsdCBjYXNlLg0KQWN0dWFsbHksIGluIGN1cnJlbnQgY29kZXMsIG5vIG1hdHRlciBp
dCBpcyBhbWQtY3BwYyBvciBhbWQtY3BwYy1lcHAsIG9yIGFueSBvdGhlciBjcHVmcmVxIGRyaXZl
cihleGNlcHQgaHdwKSwgaW4gaXRzIC5pbml0KCksIHdlIGhhdmU6DQpgYGANCnBvbGljeS0+Z292
ZXJub3IgPSBjcHVmcmVxX29wdF9nb3Zlcm5vciA/IDogQ1BVRlJFUV9ERUZBVUxUX0dPVkVSTk9S
Ow0KYGBgDQpTbyB3ZSBoYXZlIENQVUZSRVFfREVGQVVMVF9HT1ZFUk5PUiB3aGVuIG5vIHNwZWNp
ZmllZCBnb3Zlcm5vciBzZXQgdGhyb3VnaCBjbWZsaW5lLCBhbmQgaXQgaXMgb25kZW1hbmQuLi4g
QXMgbG9uZyBhcyAuaW5pdCgpIGlzIGV4ZWN1dGVkIHN1Y2Nlc3NmdWxseSwgd2Ugd2lsbCBuZXZl
ciBoYXZlIE5VTEwgZ292ZXJub3IgZmllbGQgcmlnaHQgbm93Lg0KDQo+IEphbg0KPg0KPiA+ICA+
ICAgICAgICAgIHJldHVybiAtRU5PRU5UOw0KPiA+ICA+DQo+ID4gID4gLSAgICBpZiAoICFod3Bf
YWN0aXZlKCkgKQ0KPiA+ICA+IC0gICAgICAgIHJldHVybiAtRU9QTk9UU1VQUDsNCj4gPiAgPiAr
ICAgIGlmICggaHdwX2FjdGl2ZSgpICkNCj4gPiAgPiArICAgICAgICByZXR1cm4gc2V0X2h3cF9w
YXJhKHBvbGljeSwgJm9wLT51LnNldF9jcHBjKTsNCj4gPiAgPiArICAgIGlmICggcHJvY2Vzc29y
X3BtaW5mb1tvcC0+Y3B1aWRdLT5pbml0ICYgWEVOX0NQUENfSU5JVCApDQo+ID4gID4gKyAgICAg
ICAgcmV0dXJuIGFtZF9jcHBjX3NldF9wYXJhKHBvbGljeSwgJm9wLT51LnNldF9jcHBjKTsNCj4g
PiAgPg0KPiA+ICA+IC0gICAgcmV0dXJuIHNldF9od3BfcGFyYShwb2xpY3ksICZvcC0+dS5zZXRf
Y3BwYyk7DQo+ID4gID4gKyAgICByZXR1cm4gLUVPUE5PVFNVUFA7DQo+ID4gID4gIH0NCj4gPg0K
PiA+IFNvIHRoZXJlIG1heSBiZSBvdGhlciBjaGVja3MgdGhhdCB3b3VsZCBuZWVkIGRyb3BwaW5n
IG9yIGFkanVzdGluZyB0bw0KPiA+IHN1cHBvcnQgSFdQIHdpdGhvdXQgYSBnb3Zlcm5vci4NCj4g
Pg0KPiA+IFRoYW5rcywNCj4gPiBKYXNvbg0KDQo=


From xen-devel-bounces@lists.xenproject.org Mon Oct 13 08:23:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 08:23:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141831.1475987 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8Dpa-0003Kx-F3; Mon, 13 Oct 2025 08:22:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141831.1475987; Mon, 13 Oct 2025 08:22:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8Dpa-0003Kq-CW; Mon, 13 Oct 2025 08:22:58 +0000
Received: by outflank-mailman (input) for mailman id 1141831;
 Mon, 13 Oct 2025 08:22:57 +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 <SRS0=9ybd=4W=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v8DpZ-0003Kk-QG
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 08:22:57 +0000
Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com
 [2a00:1450:4864:20::329])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d2406527-a80d-11f0-9d15-b5c5bf9af7f9;
 Mon, 13 Oct 2025 10:22:56 +0200 (CEST)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-46e491a5b96so20741085e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 13 Oct 2025 01:22:56 -0700 (PDT)
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-46fb489197dsm177963985e9.10.2025.10.13.01.22.55
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 13 Oct 2025 01:22:55 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d2406527-a80d-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760343776; x=1760948576; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=dEHYiQm5SufHmglUw98qam1ZxeS9M37DvQYw/3sx3ZI=;
        b=fk9/lL2bl4WiNVA3DgtvixdE8GqJ0dd5Q4JASkjqGXcHdzFovBPhHMww0AA6v5QeOE
         MoTm8zxc14q1FLrETYtL84co5KnpIr2PXGJ5dm+EQxZ31hHWdIHjzJ141bAbCSINta2k
         JpAhI5jIGwb5SOIvVfnVhfCYH7wHomJEXi3xhgNiy9Se/2wWl5QuJXnCGEbMx2WUlO1K
         T+4xYxvSIvbik2P+TDGXFoNAR45R7ol6pRnQ8qYTXrk8YXHjJdw8V6GZVIgSZPQeubIo
         Af0wJk9cXn8j5/fGJB6eBJmi72/X+9sWlFwPzIQRzDlLqITxcxARNu9HcSuuWVHSOaag
         Ik/A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760343776; x=1760948576;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=dEHYiQm5SufHmglUw98qam1ZxeS9M37DvQYw/3sx3ZI=;
        b=U893JtRqte7v3DrvH39PNo8C/04J73ciLkypivpRtmv2jN8Qi/PmUKiLMnEP9QA3Aa
         0DZZJazsx+5LzOAkIVNQXZIWMj+1do9SImjjYPdp6rmEMLfv3ve87nHNdtkm1dkreVQR
         Tf95Qvo82gDoVl58E0SmBlors3vOTeEnwaFyqQN9eKH5PkrEz6C8nKK7aVxdpm44vRBQ
         lXrzTlclmy8wWW8CTo8LpYejvlPLMkuSLcHKybD10fMl+q5Aue5Jm4b/AHnBUDD1mdqw
         mgW0qbjCsHoe4NEzySt7zMsGnIq/Mz6jXXvnnuWId9Fe7X/neJFa20uJqiPEDkj3Iqo1
         s4HA==
X-Forwarded-Encrypted: i=1; AJvYcCXjxCnnuzOL9sfhMApBI4liWwJadvs1IEqElA72pkvM+llxq4okHjzDQGfP9okqUHgnVPS2/AvGnF8=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywhoyd6uj/OvcBom0i4kN4i92m/zCYpP+6ALmFoCRybGxv1HpT3
	R/AJJ6ssC9s5vk4PPcjEpjwEKQSyOwR0wrzFJP8UXAHYI6GkIUQsC58vFWFSddkggA==
X-Gm-Gg: ASbGnctHWlC7nvYP6HxRLg9scsHowQ035I/ZqNIUQwnKp6KllueqnO6pWQ4LBrcUIud
	LBZwgLM6rsfu94UJIFjQnBCXV1hBPGWC6OZGwy4+lIIY3lWL/Q2cQdE1W3ycBE3H/pXRR5Cvjmu
	c4701IZonXoOvEX+EbtyLV2eBmJfPtMcrgthGusPOc/cfH9RfcocYE6YUu50AptJvKSnKuZ1v/c
	9TuJ//5JVfV/qZXeTNGSzAKRNFSzO0fBSrrT4ZHMDvCp+MoHHF58F+cfW0fRLazcSj144koUarv
	TOfMYiwWXEoJLxjp2eHFPGwvp5MRYp7JpsIgrNaKg/2u108sHIL0L9KODMiPFTXWmUJZncEedXE
	P4CzetzmjGR+OQFkjK4ayJtrnv4ejnTngvQZx950UYwFL073ndUnjgwlFgMeI+2cuU/fkaAXUue
	AW2DSajuP6nGEXF0W5N5S7L4bY5KxSq8NrxCFy
X-Google-Smtp-Source: AGHT+IHVl/cWr/IqalH/uVoeRFf3vc3mRN7QYao9WHRxI8lIT7f8+C/nPvoSQG6krLfu/alSF1z8Wg==
X-Received: by 2002:a05:600c:3e1a:b0:46e:1d8d:cfa2 with SMTP id 5b1f17b1804b1-46fa9af9842mr124450175e9.20.1760343775915;
        Mon, 13 Oct 2025 01:22:55 -0700 (PDT)
Message-ID: <13cbd826-540e-4352-8e0d-ae0c9fbd2faa@suse.com>
Date: Mon, 13 Oct 2025 10:22:57 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] drivers/xen/xenbus: Replace deprecated strcpy in
 xenbus_transaction_end
To: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Cc: linux-hardening@vger.kernel.org, xen-devel@lists.xenproject.org,
 linux-kernel@vger.kernel.org, Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Jason Andryuk <jason.andryuk@amd.com>,
 "Dr. David Alan Gilbert" <linux@treblig.org>,
 Thorsten Blum <thorsten.blum@linux.dev>
References: <20251012195514.39003-2-thorsten.blum@linux.dev>
 <ebee3406-d515-4e29-9d7c-f54bdb143080@suse.com>
 <65bad926-22fc-41da-b9c4-5857a002b377@suse.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <65bad926-22fc-41da-b9c4-5857a002b377@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 13.10.2025 09:36, JÃ¼rgen GroÃŸ wrote:
> On 13.10.25 08:59, Jan Beulich wrote:
>> On 12.10.2025 21:55, Thorsten Blum wrote:
>>> --- a/drivers/xen/xenbus/xenbus_xs.c
>>> +++ b/drivers/xen/xenbus/xenbus_xs.c
>>> @@ -546,16 +546,13 @@ int xenbus_transaction_start(struct xenbus_transaction *t)
>>>   EXPORT_SYMBOL_GPL(xenbus_transaction_start);
>>>   
>>>   /* End a transaction.
>>> - * If abandon is true, transaction is discarded instead of committed.
>>> + * If abort is true, transaction is discarded instead of committed.
>>>    */
>>> -int xenbus_transaction_end(struct xenbus_transaction t, int abort)
>>> +int xenbus_transaction_end(struct xenbus_transaction t, bool abort)
>>>   {
>>>   	char abortstr[2];
>>>   
>>> -	if (abort)
>>> -		strcpy(abortstr, "F");
>>> -	else
>>> -		strcpy(abortstr, "T");
>>
>> While at least in principle a compiler might be able to transform this into
>> code not using any library function at all, ...
>>
>>> +	strscpy(abortstr, abort ? "F" : "T");
>>
>> ... the use of a n on-standard function (without equivalent compiler builtin)
>> doesn't permit this. IOW why not simply switch to e.g.
>>
>>      char abortstr[2] = { [0] = abort ? 'F' : 'T' };
> 
> I would even go further and drop abortstr[] completely:
> 
> diff --git a/drivers/xen/xenbus/xenbus_xs.c b/drivers/xen/xenbus/xenbus_xs.c
> index 528682bf0c7f..c891af7165f5 100644
> --- a/drivers/xen/xenbus/xenbus_xs.c
> +++ b/drivers/xen/xenbus/xenbus_xs.c
> @@ -550,14 +550,8 @@ EXPORT_SYMBOL_GPL(xenbus_transaction_start);
>    */
>   int xenbus_transaction_end(struct xenbus_transaction t, int abort)
>   {
> -       char abortstr[2];
> -
> -       if (abort)
> -               strcpy(abortstr, "F");
> -       else
> -               strcpy(abortstr, "T");
> -
> -       return xs_error(xs_single(t, XS_TRANSACTION_END, abortstr, NULL));
> +       return xs_error(xs_single(t, XS_TRANSACTION_END, abort ? "F" : "T",
> +                       NULL));
>   }
>   EXPORT_SYMBOL_GPL(xenbus_transaction_end);

Hmm, which xs_single() indeed takes a const char *, it then casts away const-
ness before handing to xs_talkv().

Jan


From xen-devel-bounces@lists.xenproject.org Mon Oct 13 08:30:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 08:30:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141840.1475997 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8Dwj-00056E-5F; Mon, 13 Oct 2025 08:30:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141840.1475997; Mon, 13 Oct 2025 08:30:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8Dwj-000567-2f; Mon, 13 Oct 2025 08:30:21 +0000
Received: by outflank-mailman (input) for mailman id 1141840;
 Mon, 13 Oct 2025 08:30:20 +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 <SRS0=9ybd=4W=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v8Dwi-000561-52
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 08:30:20 +0000
Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com
 [2a00:1450:4864:20::32e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d5cf46b4-a80e-11f0-9d15-b5c5bf9af7f9;
 Mon, 13 Oct 2025 10:30:12 +0200 (CEST)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-46e2c3b6d4cso28514465e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 13 Oct 2025 01:30:12 -0700 (PDT)
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-46fb4982b30sm172715355e9.6.2025.10.13.01.30.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 13 Oct 2025 01:30:10 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d5cf46b4-a80e-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760344211; x=1760949011; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Pz6KC/Rn87+HnHxT5y8QCxEDmgy1wHJGbT9l6fnqoBE=;
        b=AnDD8Ngyv+TEOhfTzgjSjmgfCUUYi6P2fJlgX3Q8/12RpllnT87Uc/XbxpbNQFQkS+
         NARZRvGywW/gVRs8BCf0MS8LA4Ohwiumn93XlbjMQI4NLKe5uawQJroQ6Gn041ecoy3I
         JLB+dFiTM6hTCW4GmjwPsVr4BeYvJebDlZue9dD3YCzZJMPQx3IWPc9BrAVU/LZoMQMo
         6dJ2Um9yMLbeTvz+MfT9p1MHGhsh/XQ70Yj5MOHf4ZaTX6ln5Fn+9nNhltSjO/z9koIW
         1QW/49o1KxyfQgT/5g7Q8JSKkLZP2zcIcTyse8oLTNdQBJMzPkS24rYi3ofu68LZmOjE
         KRig==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760344211; x=1760949011;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Pz6KC/Rn87+HnHxT5y8QCxEDmgy1wHJGbT9l6fnqoBE=;
        b=cqJCtCnQGi+ZCuSg+X2/trJKAikKeqXb0lyvpTyY9Ike85rgdOkZWKT7EaeRwIlvt2
         8JfZh9gAPDiSrvrZ7xZITZ3XKb6Wmcd9da3MGSjGfGTg6c4LFZ3L42iPjtX8hQQzFWBb
         TojIBaRsigDtQWaGkhy6tDq3dDeOkJOdKZDvcdsbZFS2SsFvMivsU6ODkruUwhKlz8Cy
         cMXm6jlPkYWXMgoSPzuUaup2m3pTNBEMzUQWL6mnZsftxTEDxk2l0toPmtZhiQGGAAb9
         h8jRp5Zw43eqwEU/FiLXy0y9d1sRa3/MAFMx4PeV88JZKh53t0dshMosqLvI7KYBDlnE
         EBIg==
X-Forwarded-Encrypted: i=1; AJvYcCWscOKVWasZwkJQOMPA6WDUX3gBs4+eesjAIukj3syIiLMm72d+NpR6xZbY+ASpgCIo0lkrSfUa/a8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzKgX1k1wC0DTb38QFdpD/bxcjiqFtcsbYFSGdiI+QxCCWWbEAJ
	5OXaQjlApsFby1KCdNngEBkodgKS1LivP5ojBuAQVyfCWNDInrvPToKOTWVnGYcQCQ==
X-Gm-Gg: ASbGnctrrSeRUNTKVVZ1F05iB7J3oOynuQscFql+lnGtb1dYMV9QBx8fTSGtvWGLNoW
	J/TH6DZ4qhCbN8MmP5GRuZZm/BS7tKS8m8cusqxTmbBhoNiim5fl+SBwGwTYDMPiXIZ3GT9sOnh
	dZSnA5aeFH89hMEc6sZ0fYNx4NnAwJLYx+3EnVIZDFUPHw3IWqC4r4at/kcZ6JgIyxQo34Xhsus
	v06vnD7oKQRZ6lmsnrxYhvKdRHV4Z5HlsuEjddGr4FZV3X2bQ9/WtMgWh2cCnxtSMKeRdLp6iDT
	HhCP3OOrTr4O2YdHrjf94TUe7FrCng2w+HOFaSROaziads+51ot/zQz8zlvKTf1U7ZlnP8gtq2m
	Fvog1NcLtFQveVEA6r7TucI/tZzKj4cbRbBprWEbngj3+DURJ2n+CyeiKKru3yvVZvtkIxzRo5h
	YJRpufon7G3V510Prk6DIbKj9AYg==
X-Google-Smtp-Source: AGHT+IHMp1tHYdmVa5+RzD0QHKwTD3rZ9NI3nP/OP2ITz3ePdUSlVOk9lRAMdbro1EWxZk97a3fFsw==
X-Received: by 2002:a05:600c:1d11:b0:46e:3d50:360e with SMTP id 5b1f17b1804b1-46fa9aeff01mr144283685e9.18.1760344211206;
        Mon, 13 Oct 2025 01:30:11 -0700 (PDT)
Message-ID: <b24ca9a0-f388-4e02-b998-d0f9cbb9c5e1@suse.com>
Date: Mon, 13 Oct 2025 10:30:12 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 24/26] xen/domctl: wrap arch-specific domctl-op with
 CONFIG_MGMT_HYPERCALLS
To: "Penny, Zheng" <penny.zheng@amd.com>
Cc: "Huang, Ray" <Ray.Huang@amd.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 "Orzel, Michal" <Michal.Orzel@amd.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Tamas K Lengyel <tamas@tklengyel.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20250910073827.3622177-1-Penny.Zheng@amd.com>
 <20250910073827.3622177-25-Penny.Zheng@amd.com>
 <56024eb0-b30f-43fd-84b7-6070a1d79cf0@suse.com>
 <DM4PR12MB845153811FA7748CA058EB9AE1ECA@DM4PR12MB8451.namprd12.prod.outlook.com>
 <fa709d35-8c7b-4c27-9bac-52a48f5b3fb3@suse.com>
 <DM4PR12MB8451A7C97D812B25A553985DE1EAA@DM4PR12MB8451.namprd12.prod.outlook.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <DM4PR12MB8451A7C97D812B25A553985DE1EAA@DM4PR12MB8451.namprd12.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 13.10.2025 09:18, Penny, Zheng wrote:
>> -----Original Message-----
>> From: Jan Beulich <jbeulich@suse.com>
>> Sent: Monday, October 13, 2025 2:41 PM
>>
>> On 11.10.2025 08:44, Penny, Zheng wrote:
>>>> -----Original Message-----
>>>> From: Jan Beulich <jbeulich@suse.com>
>>>> Sent: Thursday, September 11, 2025 9:03 PM
>>>>
>>>>> --- a/xen/lib/x86/Makefile
>>>>> +++ b/xen/lib/x86/Makefile
>>>>> @@ -1,3 +1,3 @@
>>>>>  obj-y += cpuid.o
>>>>>  obj-y += msr.o
>>>>> -obj-y += policy.o
>>>>> +obj-$(CONFIG_MGMT_HYPERCALLS) += policy.o
>>>>
>>>> Fair parts of cpuid.c also become unreachable. And all of msr.c afaics.
>>>>
>>>
>>> I just found that the functions defined here, as helpers/libraries, are used in
>> tools/libs/guest/xg_cpuid_x86.c too. Emmm, to make compiler happy, I still need to
>> provide stubs for them when MGMT_HYPERCALLS=n. Or any better suggestion?
>>
>> How does the Makefile change here affect tools/libs/guest/? What would you need
>> stubs for there?
>>
> 
> Like Function xc_cpu_policy_is_compatible() in tools/libs/guest/xg_cpuid_x86.c is also using x86_cpu_policies_are_compatible() to do the comparison between host and guest. If making xen/lib/x86/plocy.o guarded by MGMT_HYPERCALLS, we will have "undefined reference " error. Imo, it is not suitable to guard files tools/libs/guest/xg_cpuid_x86.o with MGMT_HYPERCALLS.

Correct, but I still don't see what you're getting at. This Makefile is used in
the hypervisor build only. In tools/libs/guest/Makefile.common we have

ifeq ($(CONFIG_X86),y) # Add libx86 to the build
vpath %.c ../../../xen/lib/x86

OBJS-y                 += cpuid.o msr.o policy.o
endif

Jan


From xen-devel-bounces@lists.xenproject.org Mon Oct 13 08:35:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 08:35:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141848.1476007 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8E1H-0005fF-Mz; Mon, 13 Oct 2025 08:35:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141848.1476007; Mon, 13 Oct 2025 08:35:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8E1H-0005f8-KH; Mon, 13 Oct 2025 08:35:03 +0000
Received: by outflank-mailman (input) for mailman id 1141848;
 Mon, 13 Oct 2025 08:35:02 +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 <SRS0=9ybd=4W=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v8E1G-0005f2-Bt
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 08:35:02 +0000
Received: from mail-wm1-x332.google.com (mail-wm1-x332.google.com
 [2a00:1450:4864:20::332])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8199ebf3-a80f-11f0-980a-7dc792cee155;
 Mon, 13 Oct 2025 10:35:00 +0200 (CEST)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-46e42deffa8so36486865e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 13 Oct 2025 01:35:00 -0700 (PDT)
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-426ce5e82dfsm17090697f8f.52.2025.10.13.01.34.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 13 Oct 2025 01:34:58 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8199ebf3-a80f-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760344500; x=1760949300; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=hvBSzbyYaMCM8Cj3iMryWSag2v7oagGZde/OJHIgLbU=;
        b=QMc1eiOg/46XelAMGJB8PWS8VRvhZIMPXbil4RdZgLTIbu3hH2mWJa4yLBcZMN7K6o
         x0DQ6CSLjW2OoHbNMuTgPbz05JhPewfQ42x+UJeLlzhRAzyOXZNRlSEdhPfXEyf8yUR3
         l+3i8IxARTkFR5MxjjjW71YxpjHLd9NVIAuwVH/YP0YuqzLq9kte3mt8J9+l1dut28AF
         B8kEo+Lnlm/N6d82Y5se4r3/svkN3z670L5lBgta0E89RRZadM578nrXLHhx6pbSJrxO
         nz0lrCK67wMXvwEYlCSNvBNoA3y8bZzQxI+zGL8j8yjGhnMlxoVG441BkcHtDgahPhjO
         EYTg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760344500; x=1760949300;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=hvBSzbyYaMCM8Cj3iMryWSag2v7oagGZde/OJHIgLbU=;
        b=ddCNHPBFCGpDj3rKDxvie3bnpOWi/Ol8JNlC+o4hupBESU/WNZfYVmhu8gL2iuSEid
         6DFSh8AcMEDfwjlvXD9HT+3uYou1whLsk+rhyTZ/F2FHBnmMt3jgD2BIgMgNFvygpqgm
         3bxXvxAQWlLAcRXOWh6qpSrFrC0PQtyWQU1S7vyetq6onok1otrTzLR0+x1CwdljYtjx
         B7TkCwCXY2+jDLla5W2m3raF7LNDrFaQ66XptXayxr+nvw2ewPWBn9nRX0Mi7tS+sFHy
         pglj1rgdqIsMuZjfBsONfK/vdu+9clFFqc8SaM41iyRUUrtevgRD/gpOYe6G/rbmGJV8
         ciIw==
X-Forwarded-Encrypted: i=1; AJvYcCUvLdTqaH6HMijUHgXNXNYCGzOj04Y+g8lggbUzcCo/oQTUYSd2X+uQ0v65FwJOCEqvB7tKxquu6PM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzchHojnvGKosdvMWoeJitn/roZeo6XzgEfo86iF/Mj3iEDK09V
	aAq/0AzyBinxyc/usr35fLqljFlyToSIPm8mClqBcjQErPXO5/aR5ocoMpbh4DUPGg==
X-Gm-Gg: ASbGncuoYxlETS7PUtQVYRNVHb44aMW2IVD0Cm49/f68m6xfTvLi2f6DFECiZ24AQVY
	9I6x9rR88Sp9k9NM5PTEmeSPRaF9vlcCOCmcTQDOt0a6Ua8yjeyVJEtFpecCrBA6JWBvTkisHAv
	AhgL9cVvGOoIcULlW9rCd7jSMUxTZdltIvL6rqLZKbpG/GbPReNVGQoC94jbFSDhIl39P2Dr1dY
	74bFH3g1EM94k0nxF7OajQ8OkADF2p7gB1TMgc7VfvJc4OIrwcY3BUJJM2pZtxq59C639F9WyDy
	+yAoEFB4WlF0Crr9HsoN+UAHO6ne1GwW4C1UN+IxPHZC+gREtg7VIsD2heqNrodG9SccjoyHtLv
	zIUZ1rtFtE+WwMaGQvp1VQOnlaZD0VEIv47Hfmp3+XF7b2K0gLaMCH2qQ3KWcZQFLTkqrxjwQQB
	SrTrNgOX2Jo7KkNmZFTNTpmsDjgBUIAG5APt2nXA2xiThUyrU=
X-Google-Smtp-Source: AGHT+IG978MN9zjBGABmYc/fvRTCGBfJnv8dcFoPpdPa41VVg3bBIEr5pPVZnJUGH687BCVMNZB9cg==
X-Received: by 2002:a05:600c:8b5b:b0:46c:d6ed:2311 with SMTP id 5b1f17b1804b1-46fa9af2f4dmr140715625e9.19.1760344499602;
        Mon, 13 Oct 2025 01:34:59 -0700 (PDT)
Message-ID: <51d86c7b-51bd-4001-8af1-a52c76a20669@suse.com>
Date: Mon, 13 Oct 2025 10:35:01 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/1] tools/libs/light: fix BAR memory address
 truncation
To: Jiqian Chen <Jiqian.Chen@amd.com>
Cc: Huang Rui <ray.huang@amd.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Anthony PERARD <anthony.perard@vates.tech>, Juergen Gross <jgross@suse.com>,
 xen-devel@lists.xenproject.org
References: <20251013074533.67478-1-Jiqian.Chen@amd.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251013074533.67478-1-Jiqian.Chen@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 13.10.2025 09:45, Jiqian Chen wrote:
> @@ -2031,7 +2032,7 @@ static void pci_remove_detached(libxl__egc *egc,
>      }
>  
>      for (i = 0; i < PROC_PCI_NUM_RESOURCES; i++) {
> -        if (fscanf(f, "0x%x 0x%x 0x%x\n", &start, &end, &flags) != 3)
> +        if (fscanf(f, "0x%"SCNx64" 0x%"SCNx64" 0x%"SCNx64"\n", &start, &end, &flags) != 3)

This line has now grown too long, where it can easily be wrapped (unlike ...

> @@ -2040,7 +2041,7 @@ static void pci_remove_detached(libxl__egc *egc,
>                                                   size, 0);
>                  if (rc < 0)
>                      LOGED(ERROR, domid,
> -                          "xc_domain_ioport_permission error 0x%x/0x%x",
> +                          "xc_domain_ioport_permission error %#"PRIx64"/%#"PRIx64,

... here and ...

> @@ -2050,7 +2051,7 @@ static void pci_remove_detached(libxl__egc *egc,
>                                                  0);
>                  if (rc < 0)
>                      LOGED(ERROR, domid,
> -                          "xc_domain_iomem_permission error 0x%x/0x%x",
> +                          "xc_domain_ioport_permission error %#"PRIx64"/%#"PRIx64,

... here, where we prefer to keep the entire format string on a single line).
Can likely be addressed while committing.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Oct 13 08:38:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 08:38:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141857.1476018 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8E4r-0006Uv-3U; Mon, 13 Oct 2025 08:38:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141857.1476018; Mon, 13 Oct 2025 08:38:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8E4q-0006Uo-W9; Mon, 13 Oct 2025 08:38:44 +0000
Received: by outflank-mailman (input) for mailman id 1141857;
 Mon, 13 Oct 2025 08:38:43 +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
 <SRS0=w2iX=4W=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1v8E4p-0006Ui-4E
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 08:38:43 +0000
Received: from DM1PR04CU001.outbound.protection.outlook.com
 (mail-centralusazlp170100005.outbound.protection.outlook.com
 [2a01:111:f403:c111::5])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 057a47d0-a810-11f0-9d15-b5c5bf9af7f9;
 Mon, 13 Oct 2025 10:38:41 +0200 (CEST)
Received: from BL1PR12MB5849.namprd12.prod.outlook.com (2603:10b6:208:384::18)
 by PH0PR12MB8776.namprd12.prod.outlook.com (2603:10b6:510:26f::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.12; Mon, 13 Oct
 2025 08:38:36 +0000
Received: from BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::53da:e77e:261e:5a29]) by BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::53da:e77e:261e:5a29%6]) with mapi id 15.20.9203.009; Mon, 13 Oct 2025
 08:38:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 057a47d0-a810-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=jEl8S8vcXYx7Rb9XFqGvItU65kfyKyxGHx7xLq3M8zMg4lIbIcSZ6iPsNCpWFY/3W4O4+1E7RKzT0dt2ytL1rgAq2JsLie8nJFlE6xgdnXVogGHPVgba1WBY3TRB59r8ibL2EY16RbvDlpFTJqRRAlisHIAqA+WIBCe0UDipQ6+GQWP8pXNW/IinTVQheKaIq5iIlxzhatKC6Z8btXlEqv4/9aelH5tafmIN+KuDmrJGXnAUv6+nTEvP6Mu8dpjQhslVj50coK9i9yrU/aeabkTRseW0Iky47+oFvrUh2UG8FLoaYfaIrmjBOKr71CRkbhW2rFdL+hKqID7UaQR65A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YdqZ4j4VE/VBCmRYWbniGMMaL3JBfIPnc7SmqXk/2x0=;
 b=OVx3nzx+DvTSY5IPiwigg4CUURfZRRbcf37epRfwtr2lAAjhUsheKQqAlsVawWr5DRDabIAfJCcglNP4MSQCDNQcN4APjGdgbEhNaR8EJXjOETFoNWAOVC8uIPncv5E4kAgXU0whnaEsekcADSZtY8nK/M92PRaCBtet1LA+Uckrl9zWfv9MgcXrGKEfyGJQoxlviCbGSmzCT1rY6Obkx2pELO2sFwx/t3X8Ql9NLIijDegveMS3lYGE4Atza29BzG/r3P03Itw0fuqCwZ7EkDzsljNCT7YfayGOhvMiZD2+cPV978GoqoUEhALaXpZdXWMaxspt0WnzC5k6r/avrQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=YdqZ4j4VE/VBCmRYWbniGMMaL3JBfIPnc7SmqXk/2x0=;
 b=xzQHdAMyxTwDrU/+RacdromRqTnnnyLRV1soCHhDNXmwrhZR3dO4pQKfHKUCKdsTvx+xIndXqT+ZsrCNcxhxtHnNmUKn6m7krdhf4aqjRlNmsmBxfvzd0Yqofokn+l84yMgRL/yrn/EvBLz3gkIMtO6AO/TLvoMM66bkH4pmTJQ=
From: "Chen, Jiqian" <Jiqian.Chen@amd.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>, Anthony PERARD
	<anthony.perard@vates.tech>, Juergen Gross <jgross@suse.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, "Huang,
 Ray" <Ray.Huang@amd.com>, "Chen, Jiqian" <Jiqian.Chen@amd.com>
Subject: Re: [PATCH v2 1/1] tools/libs/light: fix BAR memory address
 truncation
Thread-Topic: [PATCH v2 1/1] tools/libs/light: fix BAR memory address
 truncation
Thread-Index: AQHcPBVojxVVZQBbcUyvi85wGyhb8bS/wFyAgACGnYA=
Date: Mon, 13 Oct 2025 08:38:36 +0000
Message-ID:
 <BL1PR12MB5849505741557C092A3FD1F6E7EAA@BL1PR12MB5849.namprd12.prod.outlook.com>
References: <20251013074533.67478-1-Jiqian.Chen@amd.com>
 <51d86c7b-51bd-4001-8af1-a52c76a20669@suse.com>
In-Reply-To: <51d86c7b-51bd-4001-8af1-a52c76a20669@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-imapappendstamp: BL1PR12MB5849.namprd12.prod.outlook.com
 (15.20.9203.007)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BL1PR12MB5849:EE_|PH0PR12MB8776:EE_
x-ms-office365-filtering-correlation-id: 02996eb9-ff44-498c-2081-08de0a33e6e8
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|376014|366016|1800799024|38070700021;
x-microsoft-antispam-message-info:
 =?utf-8?B?T1N2UFRBVXJPMjRtaEpmMVQ3Ly9iZ2R5STFGbGIyaVh5b3ZvQlczQk00WGtT?=
 =?utf-8?B?Rmk0S3F1RDdMbjNNVnQ3RFRucGdPdk13QVJjSmJVUDhBTVJtSURKc2c2TjJG?=
 =?utf-8?B?VjFmWDlpMXA1WDNCMWsvdk12NFcycWp5WS9yZ2lhREhkNm12WHU4enVjRldv?=
 =?utf-8?B?eTJIczJDaS9RUFZGbFZTNVh6M2tpOEVJTzRmbjRZVFpXUVBHMERFeFVWRHFX?=
 =?utf-8?B?N2ZyS2IrRk5EM2MyelFNaG9Ma2hZYlJheW15ajhJUG8yeDFrSloyMGYrdjE4?=
 =?utf-8?B?TFM0TTJMVG5jdlEwcytpWHRROUdRNThrVGVTUEw1OG5EWnVidkRUYjkzZzFq?=
 =?utf-8?B?N0hHbnk5T3cra3d3c2g3NHRLTDBJSHNhSkQvWW9qcHFtdXRLYVBzeGNoL1ZO?=
 =?utf-8?B?R2hHMGdFMEVXMXp5SjBxRnVEeGxaOERKV0pSTEREN0FCTFM0aWZkOWZwU3BI?=
 =?utf-8?B?aFg5V3Q3MkplaUhuNTh6MEVRTVVJclo2czdwSTI4VEtpOVZsa2ZVcEV1akFE?=
 =?utf-8?B?WitqMmZjTmRkT09sdXFFVS9VdktmZi9yck4zUGVqc2cwaW12akU4WHF5K2po?=
 =?utf-8?B?N2tuRC94MjVNUUlYYUJVL1ZuRjBVdVNnT05ZWHV0OTgxM2xvUnJRdytyUDVX?=
 =?utf-8?B?SnNoWlJva01HYmRuWFEzajVHNjZhZ0xDT29SRjY0eVhRbVBXOHA3M0NZS21p?=
 =?utf-8?B?SWdkbW5YSnhySDZvVTZBMXRPZHNQaFpKMXhYSVI5T0k5NHJPcFh6WUE2clJO?=
 =?utf-8?B?QUdtUCs1TDRiSnUwSUx6N252d2VuZC9kazZKUnVSTVFMZHRhVnN3YjU1REEv?=
 =?utf-8?B?M0ZyWnB6OVd1eEVBT0JpZUQvbFhyalFGSGZESkdQUksvazl4enNCSnoya0FM?=
 =?utf-8?B?Vzh6enJSZXh5YmVFZzB4bUpRSjRnM3JSMUFMYXU3a3ovdm5yVWpxOGM4a0Zz?=
 =?utf-8?B?aHk3aUFPSDg3b3BHeEd3emtzdWQzTTN6VXcrZzRYYUtDODFrQ1dVTGFpVzRS?=
 =?utf-8?B?VUJWNitEN3hieWR4NjRTa1FadWdJYkkvNi83VTRTMzZpNE93a0YzSXRmRFR3?=
 =?utf-8?B?QXBzRFdoWnJ0dnk4ZlNpT1labGcvVk1aUSt5RzJKYVNjdGJLdE5RNnpuUTJN?=
 =?utf-8?B?cEIvTDRXODJGajBFc3FxeExMZzRsUFlNSjJiRXJvRENhdnE0alhHKzNjOVM4?=
 =?utf-8?B?M2hDYm5BdURwUkhOT0ZEN1JYOXlSNnpDQXFocDVyQy9SUURxaUg2UFlWZCtH?=
 =?utf-8?B?VkhCdWdLdmUyTmNOMGRyUnR1UmRmd3E1TFAyd044dnZoUFdJekdVanBDdzNB?=
 =?utf-8?B?VnF5WmtHN1loS0pWaG5NYXhCUkZYWDJEQ2IwYWM4R1lXWUhhQWQvanhWUmc3?=
 =?utf-8?B?dzlOZUxMVWpkeUpWYmgvV2ZaeERZMHJNWHVjNjc3MHYvOFlqUStRTm15YXNF?=
 =?utf-8?B?ZFExOVJVYVFDNmcrTWhHVXNhbDQwZFRuME5WMmdCcFJoVFdFdGFsZHVZMXdV?=
 =?utf-8?B?dEIzazlKeEhkU29DTERRN3ZTeWpkTFRZZUZERTMxZFovWTZiOXpXWEdWQ2J0?=
 =?utf-8?B?T2F5cnFReHBhS2JYSjlJdFdkdDAyMnRXUkFWRzg5Q2pIeE0vcGZoN2dZbDN2?=
 =?utf-8?B?VSt1VG1DVXFrMHZ2M1QwWGhXR3QvVVEyQWUxelNRd2h5UFN3VWN2cE5RbDl1?=
 =?utf-8?B?Q3BBaTFBdS80b3BiWHVMeVdYcFJ3Q2x5ZkRzTUFQN0VwQWJSb2tDbmYxVEJs?=
 =?utf-8?B?S0xnb3pCMllmTjIvVjlyNGhyN3VhYXoxK3VXdXhxUXlsSkU3eDZXUzJOaVJv?=
 =?utf-8?B?bnNxaU1QMGFSa0M3bVhDYVhzZ1prL2szdFFiSHE3a2xIWElNdDJEZ0FpY2M0?=
 =?utf-8?B?Z1JPZVkzM1RjQ0JQcCtXVnhHY0lLdzFlTW1pazZmdFpJOWloZ3I0VnJyL1Mw?=
 =?utf-8?B?dlhwV3pXKzNCdGdWV0R6aHBXbGZqZFVsMHVMZXNhZ2EyRHp5ZTZLdkxkcDB6?=
 =?utf-8?B?SmFiN2hUM245TDFEVW1uT3JHSGNaMHBIWHIzVTkyOS96SWc0dTc2ZncxM1A3?=
 =?utf-8?Q?EusFrH?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL1PR12MB5849.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(38070700021);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?YlB2UVNRa0RvazkzVUpNUERhOG1kVDU5R0xhWFAzRTVjdkVkS0U2dEIzRFNF?=
 =?utf-8?B?NjRZRHNXZXNnclB3SjdHemcrMU5ycXFibTYvMFNkZ1BZVFNCek9LUmkxUVJI?=
 =?utf-8?B?eUFZZWthSHRldmZZbDVhNHZib1NIY2xGK2UyV3d1elFBcTkvOXBJd2pDOGY4?=
 =?utf-8?B?RGpReGtWdHBGcVlPY2V3cXRQUjlnODNTalJnY0FGdmV1ZEo0TWtJTDFoQWQw?=
 =?utf-8?B?NHBVRlFhSVJJSFlNdThNS2taWG5lWWlzdyt0WW5rQXNxT2ZtWUN6NS9kdnFV?=
 =?utf-8?B?NzMwVVQ3VnUzK0lUMVVkYjVzNXQ2UDZlcUhLcUVhc2VQV05TVmVPaVVEVUVq?=
 =?utf-8?B?ZStUSVhPTE9Kb0NlOVY0UGM0YUU1TU9zRU83Mlc1MThCajJKSkI0RURqQ3c2?=
 =?utf-8?B?SEg5Mm1jdW83Q3ZRYXNUbDFMN3hRUVpNMlplSHFodmFBSkhMUG0xRWNCTVFX?=
 =?utf-8?B?aTdpMFNVRzNnLzd0dXI2VG5QclMvaGNMdzJGcDdHa2RSSVkrWWhaNUdsNGJ2?=
 =?utf-8?B?clFjVDI1Z2szVnVQc2tFTGdwZHBVcGhSRWR0azN5S2hvTURVcnFnZ0FtZXcv?=
 =?utf-8?B?QUVObjFzN2E2ZE9hMkV4aVFheVg2S3NNaDl3Ym9uMzhXMEsxK3NvNVFjcVFF?=
 =?utf-8?B?M0lBY3k5NUp6Qmt0RnJaQTJ5NzNPYWU2QjhHQ3dvTHlpdXYzUXFvaC96NW9T?=
 =?utf-8?B?Z2czWlN0dkg2anlNOWNITkJGU2FGLzgyUUEycXgzZUFVcjJ4eHVFNURHVlhK?=
 =?utf-8?B?ZWpyUmlNNlRyVHhCeU44UTJqRjgvamx6WUdWVGNHUzdidVFtb3RWeSsrcXBw?=
 =?utf-8?B?VjVsUTZpbVliSWxoNUNpbzNFZ1BERE0wTUdjUG1QZnF1T1hYODlpMllpdWxH?=
 =?utf-8?B?R09BUzM0K0d5bzdyMmJjRE41cHhrUWIxMkpVRzFFOTZQcUdsZS90dkZuSnYw?=
 =?utf-8?B?WlBXNit5WHFmR0VWbDgwMFVWRkp6cWNiNXFKWEJYU1RpdlE4WTJXaDc2dG0w?=
 =?utf-8?B?TWtrNnl6QlZSVG9ieXlrTjF4NGljNUFVZWFXRjI5dm1FWmVtN2VYSjU5eUVZ?=
 =?utf-8?B?WEdFWUc2eXQveStpYzRZRFc4NUhJcnp4Um1zby9VazM1bitldnRKcjZGTHVY?=
 =?utf-8?B?ZUtLR3pzbkJNNTJHUnVlM1VUZ3JEWG1ZMTRKQW1TV3NnejJoSWVCdzdpeWV0?=
 =?utf-8?B?dWllSEN5bHhNaC9wNjRtNzRVL1NPRkxyM1NteTNJbVhHM095Q3lVTHE5WnQy?=
 =?utf-8?B?MWVLSThhd0pWZEJyem16QzVQbTJaV2tQeGltSC82YTlWbzZmN0cyUTFsaXBv?=
 =?utf-8?B?SGNyTURFYTdDdktGdVF6UTduVExSR3duUmQrenpKTHZFQjRMSnV4RXlFOEg5?=
 =?utf-8?B?cWRlYU9kaUJRbmh0dkF1dnlDMktBeXVmZnl1cVBEWkJjN1FWYU9kVkVMODJm?=
 =?utf-8?B?YVR5Y2o3M2ZVNW14STN2Ti96Vy9YcENCMFU1dkdwVTR4MWgyazBlejVHYUNP?=
 =?utf-8?B?emoxb2IxT3B2QTA4Zm5SWGVmVldYQ0dsK3ZXVmNzRXFHZWNmWmNRbUJTeURj?=
 =?utf-8?B?bmxiZG5LbmMvd2FQdXFMREt2Nk1aS2JlUGhBMTYzaG5xQWpQUnkwRDNiZHhi?=
 =?utf-8?B?T1A0KzAwak45emtOa0IrZ2FSektwbklNSGFiRHNsT3F1ZEl1azJNT3dZdFE5?=
 =?utf-8?B?Y04wR0hXc2V6VXRxVit5MzlCNFZiamZxcEw5THIyS3JiUGpvWXdBOVN3QTBp?=
 =?utf-8?B?SmpTQjFrY1ppNzNxYllRa1NTUHRMWThOQ3V1Z3RtMjZlWldPb1FkYUxCdTky?=
 =?utf-8?B?ejNacHF1TjhSVjFFZ3YyWjcranBzRWdjMVFxWExnaENhM2l2bnA4RUFaSTRw?=
 =?utf-8?B?eENqRFlrTDFyM0pzeTAvcFg2SE5ZaDR3RlRJK1lBOTIwWG9iM1pnckJ4dWlw?=
 =?utf-8?B?V0xrWHpXTTRsL2tTbGtWaU5tVDh3UDNvbERya2RrVjg5MXFQOUw5dkFZWW01?=
 =?utf-8?B?eFpPOHBxWnRzalh1cmxJdFc2dlEzd21LZGN2T3krSW1LS0NINGcxQllZUDhS?=
 =?utf-8?B?TVdGa1ptMHZnQWhIT0toYU4yeWZzczNnczA0NnpOSFR2SHB2c3JCbW9pT1Ey?=
 =?utf-8?Q?JkCk=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <A2FCEAAEC9CF824AB94749EB91C4627F@amdcloud.onmicrosoft.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BL1PR12MB5849.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 02996eb9-ff44-498c-2081-08de0a33e6e8
X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Oct 2025 08:38:36.6615
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: Xv5DiPePZNizKs2T+4gfYD1DUXbD+gqYL/KzFP4ZKaZ/3u67rj3A7+gz1iaPqahVZy9p3/VwNM7/pmMT8kZytA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB8776

T24gMjAyNS8xMC8xMyAxNjozNSwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IE9uIDEzLjEwLjIwMjUg
MDk6NDUsIEppcWlhbiBDaGVuIHdyb3RlOg0KPj4gQEAgLTIwMzEsNyArMjAzMiw3IEBAIHN0YXRp
YyB2b2lkIHBjaV9yZW1vdmVfZGV0YWNoZWQobGlieGxfX2VnYyAqZWdjLA0KPj4gICAgICB9DQo+
PiAgDQo+PiAgICAgIGZvciAoaSA9IDA7IGkgPCBQUk9DX1BDSV9OVU1fUkVTT1VSQ0VTOyBpKysp
IHsNCj4+IC0gICAgICAgIGlmIChmc2NhbmYoZiwgIjB4JXggMHgleCAweCV4XG4iLCAmc3RhcnQs
ICZlbmQsICZmbGFncykgIT0gMykNCj4+ICsgICAgICAgIGlmIChmc2NhbmYoZiwgIjB4JSJTQ054
NjQiIDB4JSJTQ054NjQiIDB4JSJTQ054NjQiXG4iLCAmc3RhcnQsICZlbmQsICZmbGFncykgIT0g
MykNCj4gDQo+IFRoaXMgbGluZSBoYXMgbm93IGdyb3duIHRvbyBsb25nLCB3aGVyZSBpdCBjYW4g
ZWFzaWx5IGJlIHdyYXBwZWQgKHVubGlrZSAuLi4NCj4gDQo+PiBAQCAtMjA0MCw3ICsyMDQxLDcg
QEAgc3RhdGljIHZvaWQgcGNpX3JlbW92ZV9kZXRhY2hlZChsaWJ4bF9fZWdjICplZ2MsDQo+PiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemUsIDAp
Ow0KPj4gICAgICAgICAgICAgICAgICBpZiAocmMgPCAwKQ0KPj4gICAgICAgICAgICAgICAgICAg
ICAgTE9HRUQoRVJST1IsIGRvbWlkLA0KPj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgInhj
X2RvbWFpbl9pb3BvcnRfcGVybWlzc2lvbiBlcnJvciAweCV4LzB4JXgiLA0KPj4gKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgInhjX2RvbWFpbl9pb3BvcnRfcGVybWlzc2lvbiBlcnJvciAlIyJQ
Ukl4NjQiLyUjIlBSSXg2NCwNCj4gDQo+IC4uLiBoZXJlIGFuZCAuLi4NCj4gDQo+PiBAQCAtMjA1
MCw3ICsyMDUxLDcgQEAgc3RhdGljIHZvaWQgcGNpX3JlbW92ZV9kZXRhY2hlZChsaWJ4bF9fZWdj
ICplZ2MsDQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgMCk7DQo+PiAgICAgICAgICAgICAgICAgIGlmIChyYyA8IDApDQo+PiAgICAgICAgICAgICAg
ICAgICAgICBMT0dFRChFUlJPUiwgZG9taWQsDQo+PiAtICAgICAgICAgICAgICAgICAgICAgICAg
ICAieGNfZG9tYWluX2lvbWVtX3Blcm1pc3Npb24gZXJyb3IgMHgleC8weCV4IiwNCj4+ICsgICAg
ICAgICAgICAgICAgICAgICAgICAgICJ4Y19kb21haW5faW9wb3J0X3Blcm1pc3Npb24gZXJyb3Ig
JSMiUFJJeDY0Ii8lIyJQUkl4NjQsDQo+IA0KPiAuLi4gaGVyZSwgd2hlcmUgd2UgcHJlZmVyIHRv
IGtlZXAgdGhlIGVudGlyZSBmb3JtYXQgc3RyaW5nIG9uIGEgc2luZ2xlIGxpbmUpLg0KPiBDYW4g
bGlrZWx5IGJlIGFkZHJlc3NlZCB3aGlsZSBjb21taXR0aW5nLg0KWWVzLCB0aGFua3MgZm9yIGhl
bHBpbmcgbWUgYWRkcmVzcyB0aGlzLg0KDQo+IA0KPiBKYW4NCg0KLS0gDQpCZXN0IHJlZ2FyZHMs
DQpKaXFpYW4gQ2hlbi4NCg0K


From xen-devel-bounces@lists.xenproject.org Mon Oct 13 09:24:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 09:24:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141872.1476036 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8En0-0004ke-IJ; Mon, 13 Oct 2025 09:24:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141872.1476036; Mon, 13 Oct 2025 09:24:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8En0-0004kX-Ez; Mon, 13 Oct 2025 09:24:22 +0000
Received: by outflank-mailman (input) for mailman id 1141872;
 Mon, 13 Oct 2025 09:24:21 +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 <SRS0=eGB2=4W=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1v8Emz-0004kP-HR
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 09:24:21 +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 642fed68-a816-11f0-980a-7dc792cee155;
 Mon, 13 Oct 2025 11:24:17 +0200 (CEST)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-46e37d10ed2so36036835e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 13 Oct 2025 02:24:17 -0700 (PDT)
Received: from ?IPV6:2003:e5:873f:400:7b4f:e512:a417:5a86?
 (p200300e5873f04007b4fe512a4175a86.dip0.t-ipconnect.de.
 [2003:e5:873f:400:7b4f:e512:a417:5a86])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-46fb49bdfd0sm176522245e9.10.2025.10.13.02.24.16
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 13 Oct 2025 02:24:16 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 642fed68-a816-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760347457; x=1760952257; darn=lists.xenproject.org;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=RDKO3CyqyzhvakuwAtJ5SoV+8aPiDDeg6AuS6/rUCE4=;
        b=HzIQoNf6dtbhgRxjT8B3T9JmGRYkLAO5ntOs4CehJ27nBrhXNIla2Bh61UwUOXcrae
         DqfyQjnzPryJDfkJOPrTc5820w2jKWWhFAqsJOpvRMx+boxrSkh27Vefpd2h+gcD1EpR
         ZPWF0XsE6Q+Ou2rv01n0eqetQ1cucc+4GpudUKsZGQhg50sye5NjhhK/yBZ70tsLpvkt
         je6jBof8CjLvN7r+pa3xMNVIHCh+DtXQuuQfMiBFN0KE4kvmEN4Zj4GtNjf/aJeVYV88
         Exdoz4L36yllUWphJzDGhEM8tlT14smGc4KrESpEwd5qwYrdpzIKO+LphGtWbmKfrr/J
         /yrQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760347457; x=1760952257;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=RDKO3CyqyzhvakuwAtJ5SoV+8aPiDDeg6AuS6/rUCE4=;
        b=xIaFrDYQXdTPHX//+BYuXvvdKa8LCul5csJTu+D5rDEc1ELYLw86cFzTifhnFuc7f1
         K33Tds+6xyWpGwa5m+vUuBvm4HCbl1uKAv2zmPoEGNOGCPvtKkp7lOIMYfyDyb2S5DDp
         Vr7sITe5zYeGyu4TII7aMJXl6BpGeBKIOqZMULPChxErtMO1okKiu06NuI3tE1Cnh7/8
         Sls98StGp3INg2n4vfs3jiS96ftrTI+iiu2bUC5H+eiT/L3gxwy6NpDh4B8a8lIErG/t
         aWpd8ngsr2wIOU82ZsrPspr0YaVhOLAfkpJ0gA1j1kgTpQxOgdcNpPm49FMo/HiCHfNB
         hqOw==
X-Forwarded-Encrypted: i=1; AJvYcCUd6i92pqdq7iv3vWG9B9Idm5KeYuJRt/G6jnqEwj0Kn806cIUTLDZX77Dt9amEFkbQuq9mJ1YmhaQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw0A0bfbclNvlUQYnEPT1+wMlKMMZm15oL2Fu7vQOWMeozil91k
	8tC92KaQiM9ZvREntIT1tZnFzzxXTd8CeGhC1bJ7hqlFyEwS1s16fvqIEn/KW5SqecU=
X-Gm-Gg: ASbGncsxwaUE1KzyjSQreQyO2K5lm3bnpdLKnbTclAbtqrXvC0mkIXKgOLytgaAYifM
	3zX1MQMEb2fafohLEJSQQGzxz1n6ivuRzCZnm1LVulxA+XG+UdpZro1+kXCXiA2bq/DvWkcqGIu
	Sk1dlqcRyRGTJkDDtjqE32DLYaBu28s/tFt+EJ9Os+x3rC2Qxm0CBEZi3HJ/+fLma+sJTSeGwWG
	WheX0Qy0GTsDomevnqgW8SYwwPP9FgsCev1IxfSQ2PYdDLpDcP0HbLyTW7PgJhir63WHZvGuA2e
	6D9dWSkL8+OpYXRFR6JQT5pLm3WqqbQH2HhdNAfzEZeqLdAADLDJcnsyWIR9bc0wJpzvHwv2dne
	5+Px5kxQtsPHd21ERugPFyqp58rTXL1OlY+/RTdXULkYJu0++nKkpTuAkDFPo2FigaEfMq98CvE
	DcuaEyNiWtdOhzkS0jqujq0ONpuExYGMB3WkGLP25zr8qDy7NtAucJxFVicybuPuA=
X-Google-Smtp-Source: AGHT+IE999RS83wgM/jkQhKuoMODNuQrc6RYGtNr/tj0Tz7qZq7NRTO5fQ3tcB/e6Xd8+p0qiAfDEA==
X-Received: by 2002:a05:600c:8b4c:b0:46f:b42e:ed86 with SMTP id 5b1f17b1804b1-46fb42eee22mr83730185e9.39.1760347456663;
        Mon, 13 Oct 2025 02:24:16 -0700 (PDT)
Message-ID: <2cce7bee-af02-4850-b1a8-b7f2cf3f1efb@suse.com>
Date: Mon, 13 Oct 2025 11:24:15 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] drivers/xen/xenbus: Replace deprecated strcpy in
 xenbus_transaction_end
To: Jan Beulich <jbeulich@suse.com>
Cc: linux-hardening@vger.kernel.org, xen-devel@lists.xenproject.org,
 linux-kernel@vger.kernel.org, Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Jason Andryuk <jason.andryuk@amd.com>,
 "Dr. David Alan Gilbert" <linux@treblig.org>,
 Thorsten Blum <thorsten.blum@linux.dev>
References: <20251012195514.39003-2-thorsten.blum@linux.dev>
 <ebee3406-d515-4e29-9d7c-f54bdb143080@suse.com>
 <65bad926-22fc-41da-b9c4-5857a002b377@suse.com>
 <13cbd826-540e-4352-8e0d-ae0c9fbd2faa@suse.com>
Content-Language: en-US
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <13cbd826-540e-4352-8e0d-ae0c9fbd2faa@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------VOS7NuzCrLtN1GiTjf9Y1UPB"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------VOS7NuzCrLtN1GiTjf9Y1UPB
Content-Type: multipart/mixed; boundary="------------5mlYFgxXSIL0gWIqUV1kH0Ax";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: linux-hardening@vger.kernel.org, xen-devel@lists.xenproject.org,
 linux-kernel@vger.kernel.org, Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Jason Andryuk <jason.andryuk@amd.com>,
 "Dr. David Alan Gilbert" <linux@treblig.org>,
 Thorsten Blum <thorsten.blum@linux.dev>
Message-ID: <2cce7bee-af02-4850-b1a8-b7f2cf3f1efb@suse.com>
Subject: Re: [PATCH] drivers/xen/xenbus: Replace deprecated strcpy in
 xenbus_transaction_end
References: <20251012195514.39003-2-thorsten.blum@linux.dev>
 <ebee3406-d515-4e29-9d7c-f54bdb143080@suse.com>
 <65bad926-22fc-41da-b9c4-5857a002b377@suse.com>
 <13cbd826-540e-4352-8e0d-ae0c9fbd2faa@suse.com>
In-Reply-To: <13cbd826-540e-4352-8e0d-ae0c9fbd2faa@suse.com>
Autocrypt-Gossip: 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
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJ3BBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AAIQkQoDSui/t3IH4WIQQ+pJkfkcoLMCa4X6CgNK6L+3cgfgn7AJ9DmMd0SMJE
 ePbc7/m22D2v04iu7ACffXTdZQhNl557tJuDXZSBxDmW/tLOwU0EWTecRBAIAIK5OMKMU5R2
 Lk2bbjgX7vyQuCFFyKf9rC/4itNwhYWFSlKzVj3WJBDsoi2KvPm7AI+XB6NIkNAkshL5C0kd
 pcNd5Xo0jRR5/WE/bT7LyrJ0OJWS/qUit5eNNvsO+SxGAk28KRa1ieVLeZi9D03NL0+HIAtZ
 tecfqwgl3Y72UpLUyt+r7LQhcI/XR5IUUaD4C/chB4Vq2QkDKO7Q8+2HJOrFIjiVli4lU+Sf
 OBp64m//Y1xys++Z4ODoKh7tkh5DxiO3QBHG7bHK0CSQsJ6XUvPVYubAuy1XfSDzSeSBl//C
 v78Fclb+gi9GWidSTG/4hsEzd1fY5XwCZG/XJJY9M/sAAwUH/09Ar9W2U1Qm+DwZeP2ii3Ou
 14Z9VlVVPhcEmR/AFykL9dw/OV2O/7cdi52+l00reUu6Nd4Dl8s4f5n8b1YFzmkVVIyhwjvU
 jxtPyUgDOt6DRa+RaDlXZZmxQyWcMv2anAgYWGVszeB8Myzsw8y7xhBEVV1S+1KloCzw4V8Z
 DSJrcsZlyMDoiTb7FyqxwQnM0f6qHxWbmOOnbzJmBqpNpFuDcz/4xNsymJylm6oXiucHQBAP
 Xb/cE1YNHpuaH4SRhIxwQilCYEznWowQphNAbJtEKOmcocY7EbSt8VjXTzmYENkIfkrHRyXQ
 dUm5AoL51XZljkCqNwrADGkTvkwsWSvCSQQYEQIACQUCWTecRAIbDAAKCRCgNK6L+3cgfuef
 AJ9wlZQNQUp0KwEf8Tl37RmcxCL4bQCcC5alCSMzUBJ5DBIcR4BY+CyQFAs=

--------------5mlYFgxXSIL0gWIqUV1kH0Ax
Content-Type: multipart/mixed; boundary="------------PFM0mkBhHcO1BbIdHg08Ek5p"

--------------PFM0mkBhHcO1BbIdHg08Ek5p
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTMuMTAuMjUgMTA6MjIsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAxMy4xMC4yMDI1
IDA5OjM2LCBKw7xyZ2VuIEdyb8OfIHdyb3RlOg0KPj4gT24gMTMuMTAuMjUgMDg6NTksIEph
biBCZXVsaWNoIHdyb3RlOg0KPj4+IE9uIDEyLjEwLjIwMjUgMjE6NTUsIFRob3JzdGVuIEJs
dW0gd3JvdGU6DQo+Pj4+IC0tLSBhL2RyaXZlcnMveGVuL3hlbmJ1cy94ZW5idXNfeHMuYw0K
Pj4+PiArKysgYi9kcml2ZXJzL3hlbi94ZW5idXMveGVuYnVzX3hzLmMNCj4+Pj4gQEAgLTU0
NiwxNiArNTQ2LDEzIEBAIGludCB4ZW5idXNfdHJhbnNhY3Rpb25fc3RhcnQoc3RydWN0IHhl
bmJ1c190cmFuc2FjdGlvbiAqdCkNCj4+Pj4gICAgRVhQT1JUX1NZTUJPTF9HUEwoeGVuYnVz
X3RyYW5zYWN0aW9uX3N0YXJ0KTsNCj4+Pj4gICAgDQo+Pj4+ICAgIC8qIEVuZCBhIHRyYW5z
YWN0aW9uLg0KPj4+PiAtICogSWYgYWJhbmRvbiBpcyB0cnVlLCB0cmFuc2FjdGlvbiBpcyBk
aXNjYXJkZWQgaW5zdGVhZCBvZiBjb21taXR0ZWQuDQo+Pj4+ICsgKiBJZiBhYm9ydCBpcyB0
cnVlLCB0cmFuc2FjdGlvbiBpcyBkaXNjYXJkZWQgaW5zdGVhZCBvZiBjb21taXR0ZWQuDQo+
Pj4+ICAgICAqLw0KPj4+PiAtaW50IHhlbmJ1c190cmFuc2FjdGlvbl9lbmQoc3RydWN0IHhl
bmJ1c190cmFuc2FjdGlvbiB0LCBpbnQgYWJvcnQpDQo+Pj4+ICtpbnQgeGVuYnVzX3RyYW5z
YWN0aW9uX2VuZChzdHJ1Y3QgeGVuYnVzX3RyYW5zYWN0aW9uIHQsIGJvb2wgYWJvcnQpDQo+
Pj4+ICAgIHsNCj4+Pj4gICAgCWNoYXIgYWJvcnRzdHJbMl07DQo+Pj4+ICAgIA0KPj4+PiAt
CWlmIChhYm9ydCkNCj4+Pj4gLQkJc3RyY3B5KGFib3J0c3RyLCAiRiIpOw0KPj4+PiAtCWVs
c2UNCj4+Pj4gLQkJc3RyY3B5KGFib3J0c3RyLCAiVCIpOw0KPj4+DQo+Pj4gV2hpbGUgYXQg
bGVhc3QgaW4gcHJpbmNpcGxlIGEgY29tcGlsZXIgbWlnaHQgYmUgYWJsZSB0byB0cmFuc2Zv
cm0gdGhpcyBpbnRvDQo+Pj4gY29kZSBub3QgdXNpbmcgYW55IGxpYnJhcnkgZnVuY3Rpb24g
YXQgYWxsLCAuLi4NCj4+Pg0KPj4+PiArCXN0cnNjcHkoYWJvcnRzdHIsIGFib3J0ID8gIkYi
IDogIlQiKTsNCj4+Pg0KPj4+IC4uLiB0aGUgdXNlIG9mIGEgbiBvbi1zdGFuZGFyZCBmdW5j
dGlvbiAod2l0aG91dCBlcXVpdmFsZW50IGNvbXBpbGVyIGJ1aWx0aW4pDQo+Pj4gZG9lc24n
dCBwZXJtaXQgdGhpcy4gSU9XIHdoeSBub3Qgc2ltcGx5IHN3aXRjaCB0byBlLmcuDQo+Pj4N
Cj4+PiAgICAgICBjaGFyIGFib3J0c3RyWzJdID0geyBbMF0gPSBhYm9ydCA/ICdGJyA6ICdU
JyB9Ow0KPj4NCj4+IEkgd291bGQgZXZlbiBnbyBmdXJ0aGVyIGFuZCBkcm9wIGFib3J0c3Ry
W10gY29tcGxldGVseToNCj4+DQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy94ZW4veGVuYnVz
L3hlbmJ1c194cy5jIGIvZHJpdmVycy94ZW4veGVuYnVzL3hlbmJ1c194cy5jDQo+PiBpbmRl
eCA1Mjg2ODJiZjBjN2YuLmM4OTFhZjcxNjVmNSAxMDA2NDQNCj4+IC0tLSBhL2RyaXZlcnMv
eGVuL3hlbmJ1cy94ZW5idXNfeHMuYw0KPj4gKysrIGIvZHJpdmVycy94ZW4veGVuYnVzL3hl
bmJ1c194cy5jDQo+PiBAQCAtNTUwLDE0ICs1NTAsOCBAQCBFWFBPUlRfU1lNQk9MX0dQTCh4
ZW5idXNfdHJhbnNhY3Rpb25fc3RhcnQpOw0KPj4gICAgICovDQo+PiAgICBpbnQgeGVuYnVz
X3RyYW5zYWN0aW9uX2VuZChzdHJ1Y3QgeGVuYnVzX3RyYW5zYWN0aW9uIHQsIGludCBhYm9y
dCkNCj4+ICAgIHsNCj4+IC0gICAgICAgY2hhciBhYm9ydHN0clsyXTsNCj4+IC0NCj4+IC0g
ICAgICAgaWYgKGFib3J0KQ0KPj4gLSAgICAgICAgICAgICAgIHN0cmNweShhYm9ydHN0ciwg
IkYiKTsNCj4+IC0gICAgICAgZWxzZQ0KPj4gLSAgICAgICAgICAgICAgIHN0cmNweShhYm9y
dHN0ciwgIlQiKTsNCj4+IC0NCj4+IC0gICAgICAgcmV0dXJuIHhzX2Vycm9yKHhzX3Npbmds
ZSh0LCBYU19UUkFOU0FDVElPTl9FTkQsIGFib3J0c3RyLCBOVUxMKSk7DQo+PiArICAgICAg
IHJldHVybiB4c19lcnJvcih4c19zaW5nbGUodCwgWFNfVFJBTlNBQ1RJT05fRU5ELCBhYm9y
dCA/ICJGIiA6ICJUIiwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpKTsNCj4+
ICAgIH0NCj4+ICAgIEVYUE9SVF9TWU1CT0xfR1BMKHhlbmJ1c190cmFuc2FjdGlvbl9lbmQp
Ow0KPiANCj4gSG1tLCB3aGljaCB4c19zaW5nbGUoKSBpbmRlZWQgdGFrZXMgYSBjb25zdCBj
aGFyICosIGl0IHRoZW4gY2FzdHMgYXdheSBjb25zdC0NCj4gbmVzcyBiZWZvcmUgaGFuZGlu
ZyB0byB4c190YWxrdigpLg0KDQpZZXMsIHRoZSBjYXN0IGlzIG5lZWRlZCBhcyB4c190YWxr
digpIGNhbiBoYW5kbGUgcmVhZHMgYW5kIHdyaXRlcy4gTm8gcHJvYmxlbSBpbg0KdGhpcyBj
YXNlLCBhcyB0aGUgc3RyaW5nIGlzIG9ubHkgcmVhZCBieSB4c190YWxrdigpICh3cml0ZSB0
eXBlIG9wZXJhdGlvbikuDQoNCg0KSnVlcmdlbg0K
--------------PFM0mkBhHcO1BbIdHg08Ek5p
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------PFM0mkBhHcO1BbIdHg08Ek5p--

--------------5mlYFgxXSIL0gWIqUV1kH0Ax--

--------------VOS7NuzCrLtN1GiTjf9Y1UPB
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmjsxT8FAwAAAAAACgkQsN6d1ii/Ey+y
/gf9GK6Lwa46fzJStSHQj8UzSzffMHs65l/p8SyVO4BOK0xkmcVilZOPmSh4fteTkbha5gbYvRkJ
n59yHIvJZyESdE8/E+hSbXF35xOj7KVE89G/95aJZfG8Ez0HaD4XAsfvX+K7tnkewjkmEaNTuvyI
N7kD/SVDs9P3xmt2b56KxLOWDZ+mBjsv3aQAGj/mbeeewlZhqhZPiKbSu0EVxI8KJqeelDvp6+kt
G0QYfDW6u2d8yGDSvW56tDFf/EynXOJ5P7Rk8j2x+lDXWsHGqkQg/l1xR0LeoTReOswojHcJrH4K
alJkUz1yhZAQWY41bBfECdnvZ4CFxMmoehCTeq3oQQ==
=icgx
-----END PGP SIGNATURE-----

--------------VOS7NuzCrLtN1GiTjf9Y1UPB--


From xen-devel-bounces@lists.xenproject.org Mon Oct 13 09:25:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 09:25:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141880.1476046 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8Eny-0005GM-Qh; Mon, 13 Oct 2025 09:25:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141880.1476046; Mon, 13 Oct 2025 09:25:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8Eny-0005GF-Nt; Mon, 13 Oct 2025 09:25:22 +0000
Received: by outflank-mailman (input) for mailman id 1141880;
 Mon, 13 Oct 2025 09:25:21 +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
 <SRS0=gL+L=4W=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1v8Enx-0005G2-0Y
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 09:25:21 +0000
Received: from CY3PR05CU001.outbound.protection.outlook.com
 (mail-westcentralusazlp170130007.outbound.protection.outlook.com
 [2a01:111:f403:c112::7])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 86732734-a816-11f0-980a-7dc792cee155;
 Mon, 13 Oct 2025 11:25:15 +0200 (CEST)
Received: from DM4PR12MB8451.namprd12.prod.outlook.com (2603:10b6:8:182::7) by
 CY8PR12MB7564.namprd12.prod.outlook.com (2603:10b6:930:97::8) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9203.12; Mon, 13 Oct 2025 09:25:11 +0000
Received: from DM4PR12MB8451.namprd12.prod.outlook.com
 ([fe80::6d8e:2499:8a0a:7eb2]) by DM4PR12MB8451.namprd12.prod.outlook.com
 ([fe80::6d8e:2499:8a0a:7eb2%3]) with mapi id 15.20.9203.009; Mon, 13 Oct 2025
 09:25:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 86732734-a816-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Uh7gA6qfJDWO37uRep2cpW7eVlaz6HbMNxr+iqs/ScaC+y50bOj1m+ZQlIbJBSflkqH61wh+zRjUNvWQrWh2uEnSmYvqu3qbH7IC3TGMfBRb3QxmiDIjYc9+hpW+vK7GB03aKdcerY/imt+IjRfP8GTAHu+7W5t09eSXrsJzcIuRihoLoNfSvSwTk7m4+MaxhH1Kq6Db12qtC/zGw3WnNNbHiKW20kFPgqRy6bfQWrjBs2E6bXWeP4Cd0qlpwJClemCaDZjE/K/jn+cO9nFWj4CZBPoXq8i0qF4JHsMPg5d3TH7lcb8R+KXe5ZP5IuDVo3IGBN6mDkZ4VeafVF0f9w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ntwKeyXM4XE6rPHPWuVjaMwwVqub8b9fVCuoN/Np8IE=;
 b=A/HCAbJQ2P5J7F5oqC5/o9/C69k+ZnepiM2XIhVe0yU0sUGbfZa84yWKXVNLmOsSf3LfnIf7D9QZSxns5S+VbjkyIZz3Pik1a7lVKNp5KtKaRv90+sdfPmyhArjMnIACHLKSXePCMOZwL5H2Yog5uGotnMEriwpHCkMc4/6u+N+fK7tZYGpCHFsv28aSOOgiVlnUlDUbN3760di3QzCPoSyXVzQOlpzaVnLEmfzd/4vw/HmWNtO+/y91AHeA644ZG4jNu994Juxx1Z806YuM0956uFbWw5v7Ta5uY5gsj6r/NbjLYdfbrcVul9QyZ9p7ZPBBPrZbNVpW8Ur/NXyC9w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ntwKeyXM4XE6rPHPWuVjaMwwVqub8b9fVCuoN/Np8IE=;
 b=x0xNULvC3uBWwwR/zN2o1If1KDR977DAnx+ZgX+bmxIJf0x/As2WYBP23woJqvStHLWbHsmSkKU6Xd2QUlM2UGAJ1FDPnM+vgBpaVEruggXn4p0P9hcymB/084unS03gbeok4ZHBmTYZryItDi/E9c740iqAjrWHzwZ+8ihw7zY=
From: "Penny, Zheng" <penny.zheng@amd.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "Huang, Ray" <Ray.Huang@amd.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Anthony PERARD <anthony.perard@vates.tech>,
	"Orzel, Michal" <Michal.Orzel@amd.com>, Julien Grall <julien@xen.org>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>, Stefano
 Stabellini <sstabellini@kernel.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Tamas K Lengyel <tamas@tklengyel.com>, "Daniel P. Smith"
	<dpsmith@apertussolutions.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: RE: [PATCH v2 24/26] xen/domctl: wrap arch-specific domctl-op with
 CONFIG_MGMT_HYPERCALLS
Thread-Topic: [PATCH v2 24/26] xen/domctl: wrap arch-specific domctl-op with
 CONFIG_MGMT_HYPERCALLS
Thread-Index:
 AQHcIiYjKV/PcPIAQEuJ6TZ/Q8rQNrSN9F6AgC6RCYCAA08OAIAABX1QgAAY8ACAAAaosA==
Date: Mon, 13 Oct 2025 09:25:11 +0000
Message-ID:
 <DM4PR12MB845126F036734F07A462AF54E1EAA@DM4PR12MB8451.namprd12.prod.outlook.com>
References: <20250910073827.3622177-1-Penny.Zheng@amd.com>
 <20250910073827.3622177-25-Penny.Zheng@amd.com>
 <56024eb0-b30f-43fd-84b7-6070a1d79cf0@suse.com>
 <DM4PR12MB845153811FA7748CA058EB9AE1ECA@DM4PR12MB8451.namprd12.prod.outlook.com>
 <fa709d35-8c7b-4c27-9bac-52a48f5b3fb3@suse.com>
 <DM4PR12MB8451A7C97D812B25A553985DE1EAA@DM4PR12MB8451.namprd12.prod.outlook.com>
 <b24ca9a0-f388-4e02-b998-d0f9cbb9c5e1@suse.com>
In-Reply-To: <b24ca9a0-f388-4e02-b998-d0f9cbb9c5e1@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels:
 MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Enabled=True;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_SetDate=2025-10-13T09:25:05.0000000Z;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Name=Open
 Source;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_ContentBits=3;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Method=Privileged
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DM4PR12MB8451:EE_|CY8PR12MB7564:EE_
x-ms-office365-filtering-correlation-id: 785d3c6d-f817-4878-2a4a-08de0a3a68e9
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|7416014|376014|366016|1800799024|38070700021;
x-microsoft-antispam-message-info:
 =?utf-8?B?d1B6bVJzUWdIaHpsZWQwSHJhZHpLR1pUaTM3SWhGSTVHWWdVQS8wMUlRSnRX?=
 =?utf-8?B?cjl3RmEza1F5K2JxcUtBRnVRbXpJdzVoL25vem1ZOFdNS3BFVzA0OTNkZnE2?=
 =?utf-8?B?di9FUWw3OWpyWTIxM1FGU3hzY1FraXMvT2gvUnJxcU82eDdTZmhoNEtsTHB5?=
 =?utf-8?B?QWFxUm1nL2ZKUndWV1NNVkdGSVVjT2RXT1kzaEZvbUFIVE9PODRsU1diQitu?=
 =?utf-8?B?UGJnS3dUWmRCcnhiQ09oWHdQNHVMVnNIaEg0RldNM2JNNHo5MzFMMXkvUDRO?=
 =?utf-8?B?QTdDZzBYeHFpSy9vRXhsUGd4Yjh5R0xoQ3NmTmxnOUZ2YTM4aW1NN21jK1dG?=
 =?utf-8?B?VU4yZ0NBa3pIVDJKeVordHdPNlJRZHZlb29PSmJaa2N1Tms5aEtJK1pMbjZL?=
 =?utf-8?B?cmtaWXhOK1RRa1pSWTgzQkJpNEQycVYyelpzdUd2KytKekt1ZE9QZGJOTFBO?=
 =?utf-8?B?VysvM2RtazJVdHV1TmdseS8yRkJFVjRQQ2t0QVZHSG9BZTdpNHMvb0xjSkxt?=
 =?utf-8?B?Y2gwV1pSSG9YbHFMQ3Bya0wxK1Z3NHAzYm0zb2ZheXFqdXVLR2E5SWxOZVJG?=
 =?utf-8?B?QzljVjJ5elplbVJkbXpjYnl5WWRSamcwQkxLL0tjV0pYYUQ5aUVZUHgzQnps?=
 =?utf-8?B?Z0tsbm4zRzdFM1ZvRFgvOVBFem54ekIyM3BVVnNwSGFKc2R2M1ZHZkhJbllZ?=
 =?utf-8?B?eXlqK0VCTjVuV0lEN2FtL3BBVjh0bWdTZ3haN2E5TUk1M2RNekc5Q0pmVkFl?=
 =?utf-8?B?bVE1ZitsaTl3dUw5RUtmRGtOQmNCYXp0UzVDWlVLRzIzYy8zTlByMVo1dmFw?=
 =?utf-8?B?ZkFKMlZQZUJSbVdJYTZ4M2c5MTFHaExaS2cwQVBxbXpHNWJXNXA4aHdwaTlR?=
 =?utf-8?B?d1lDd0xTV2NFMm1jdEhITE5VTVp6STlKOEp3S3lLQmxkSkNWR3hIQzduaEl2?=
 =?utf-8?B?V3lEZjkrTjZwb1hWMnQ4bVlRcEk0TlNjNEo4S2NxWjFGTnF3MWluc2NCamsr?=
 =?utf-8?B?NzIvcFNiTy94em96dWVhY3FyRkdXVkZsUjVPcEdIcmNJTkJzMFJvTjJRU2Y0?=
 =?utf-8?B?REh6Uk9nTVFkVEVtOGd2RmJIQ040WCtKKzlEdjhhNDdvWGRzditYVXhaalpx?=
 =?utf-8?B?dC9XOTZxK1h1eFF0Tm1KTWhuWER1Y1lXUWNzb0ROV2JhZTcvRDJBZ1R5TTRF?=
 =?utf-8?B?NW8wcTZpVWVjSHFIUHQrMjFkNk9kdFFpMjQ2TEVLYmJERmRBTnVlenY4S1JO?=
 =?utf-8?B?QzdrQlJyVWpXbVhEZ2tjV0ZPYlMvK1FqVk91SGRtejJPanNzeUpSYUQzQWpH?=
 =?utf-8?B?MmhJbkk0eGtmSGRTcUFoVVBuaUg0d0lyRnhFaE0vcjVlY0haWmQvYlY4VGhx?=
 =?utf-8?B?bnI0Uk1LZWExc3gvWG55Y1NVTVo2WXVubnBwY0RhS2JhYmxGQ3NGY2QvNW92?=
 =?utf-8?B?bWQ3bWdoRXNISXE2UmNCajkyUnI5TkhUeTQ5RmtlZGlIamVhQ3Y2VzZqWUp2?=
 =?utf-8?B?aHNERTh1SG9QTXU3VXpORmkzN09ia21kTnZ1Vkk4Q0hEUTlYNitpbFIwN0t6?=
 =?utf-8?B?ajBUd1I4RnAyUGFjZURpT0UyaVN1Wk9VUzhKODljbUY4TEVVM1NKVnJrM2lT?=
 =?utf-8?B?Y0FOYStUNCtGdzJHSFBzRjlLTVd0SndKN3RZbnJHYzR5M21NbCs3aHdiL3pO?=
 =?utf-8?B?WElZTTI4UXlObHFxdVlMSFMzdFFISWo5Yi9KNTFoeGUyb1NXaFlJem5RSloy?=
 =?utf-8?B?R2o2TzUvQU0vS2VGd0o0WnlvdldRdG8zRng3V1dtbGJnSDdWdmpnMzFMN0RI?=
 =?utf-8?B?czVFZUhGd2YxUEJOcmRjeUdwTEU5OCtzQ09vaVJIL05QSzFWTVoybGQxckt6?=
 =?utf-8?B?OFluQ3ZjTmtScWpoNm9Ta1dkSmx1TGpCWUdORzVydDBIRm5sbDAyaFEwU0RK?=
 =?utf-8?B?OVNNVWgyM2c0ZFNENG1LS3liYlpGblRXbHpEWGFhRyttY2Z3akJmTS90Mmlw?=
 =?utf-8?B?WTFiL25iSEF3aWRRVy9TU3lEUzFYUGRHWjVPK0RUQSt4ZWoyZnZJdUZhVFpk?=
 =?utf-8?Q?PgSLWs?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR12MB8451.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(376014)(366016)(1800799024)(38070700021);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?dGg1RWRYSFJaM21xbENkMmkxTFp5V1k4VEMzU1V4ZVBGbGNmVUpNQ3BnRFNE?=
 =?utf-8?B?ZzFNaUliZWlUMUVWWmV3dHZHN2hSYi80M1ZubU9SM0hKenVJUXBISGJIbWVs?=
 =?utf-8?B?YUt1UHl5QnVKTkxibUQ4RGU5Mm9icm9LNVE3NkREOFZaTy9xTGhnUG1FaHBk?=
 =?utf-8?B?TS9PVWpFdkdwcW1Xcm1Oc01SbUhSc1NOcDZiYVNrMnBQSVoyZGQvc014dFcx?=
 =?utf-8?B?eGRINmZFOW9UNitMQldnU0ltVCtVUVpEbGdBMyszcm91a2hoaTZQZWJ5dEdt?=
 =?utf-8?B?ZGNsczE5eG9YV0hrNFNhZFZiL2dOdlUxN29KRC94U25FTGQwY0xwNmtjY2ZZ?=
 =?utf-8?B?bFMrbHYzNTZJbzJUSWFiRHZEa2JaVjVsN2dlTHBTTEFQbVNwWEpUdWYvOWV4?=
 =?utf-8?B?a3o2SEsxQVc1cHo1QmI5encxclNwMnZZYkU2RnRnY29kdUNpMGdSNG1BZDlK?=
 =?utf-8?B?Vmc1SHBmaDhLeGROajdOMEZDZUFjY3FkVGI5TFNqTWpGd0puUDZhaWJJamZC?=
 =?utf-8?B?U25GOEpXVHNuM0d5V1NsVEYvRDdiaVZLOVNBOXRhMURYSHp4K0Z1RFlNUkJh?=
 =?utf-8?B?aEpOcU5uOVZUTmFRcWRRdVFLeDFMVDFIWURqTU94ZW55QVVtUXhHeGUxclND?=
 =?utf-8?B?NGJRL0RkL3VDcktRbEdNamkwZ21KVW9VZnF4L1hXY0kwTjEybEhDSEhubEVr?=
 =?utf-8?B?NXp6MmZvVE5oVlk1OVRvMXNXVWZKZzVMMSsyclFFZjcveVQwdkxtclIzMjhN?=
 =?utf-8?B?enlXRTUxOVZmdmk1TUljc3F4MG9EZmttZjZzVm5uT2Ftc0ROZDBEcXpzczRo?=
 =?utf-8?B?MVg5QVBSNzNSOEZCWk1aUXhKclliRXdQL3dYSDVZejZyMldmZ1dKTklQMU81?=
 =?utf-8?B?Q3lvSk9HbEg1UWd6c3dQK2szL0RzbGdwMThralQ1MG5ManRRSDdpQUtJV1gy?=
 =?utf-8?B?V3RpVHhHa2ZMaHF1RjNMSzJBdGJ6QmxpUVNUMy9tS1UzSnluYzl1dWFCNXlV?=
 =?utf-8?B?Wm9iT0FiK2lrNU1FdHlmeGNITUcyK1dXZjBzRnhid2ZYeHhuQ1Y4NjlZOEpG?=
 =?utf-8?B?UnF3RWprKzFnUVloOEw3dVNhWUZzaUNRUlFZU3Qva1U1L2F4M3NNVzRvbW41?=
 =?utf-8?B?aUJwSzYzdENuRm9vM0JkclNtZnBZNUlxV0MzWE1Nalp1K3M2bXdhRnpuVGVP?=
 =?utf-8?B?WHJFRWdZeGdhWTMyNnVoM3NQTC9oNUx2c2JkYnBaMHZxaWI2azhKeTh6Zkxn?=
 =?utf-8?B?clQ0a3ZYSFJiUjdRQldJaUh2cmg5VGZjdUNIcFFUdC9LV0lXd0VWVDdPWEpn?=
 =?utf-8?B?ejdWcmJrL0xRQzhFTkNaT2ZZSmlUbHFzTUhGMHR4SnJ1aHRyOWFhOE9sZ091?=
 =?utf-8?B?RXJOWUg1VTJrYkdSRTBjZVFscy9BL1pJN3JXQTAxMGIyT2JpZEkzWG5FcklD?=
 =?utf-8?B?RWJSNjh2MkNyT2dtNjN6M21vQ2xTM1JBRE52Y3p1QzNmaGc1blFrWC9BWTE1?=
 =?utf-8?B?NUhETVN3YmJ1dkFhamlRSU4zWU54Rkd5UkF2R09xU0pTeHBxT01qbU1VWnNQ?=
 =?utf-8?B?TUswUkN5bmIwOEVUamVaZjFyV0Y5aEl3dGRtVU40dU44Zmk4UU5ERzJtM0da?=
 =?utf-8?B?TFdZbnJYOXdrdUlJUm1QYWplK21QU28wRDZnbkhoN2hYVW1tMmM4bnUrcC9X?=
 =?utf-8?B?bnNtTnh2dUl5UGhIS21BampsVUVBWlN5MWpqT3MrejRkbmF3aUVVNmVVc1hq?=
 =?utf-8?B?YlJNK2g4azRGRUJhSFdieFhiKytEWVVaODkzWXdRaWxzTFNRY2dMQnpNR1lo?=
 =?utf-8?B?QnI1NExGek5nc3lBNDkzdmRkV0lPeWxSSHVYRTlpNW5DbGpOWU1EVnQ5cjE4?=
 =?utf-8?B?cW9BVFZDNkphZXFQaGhSVnZ5bXh0UlF2aDRCbHVwclhSVUcwZlZnenI3bTlp?=
 =?utf-8?B?dUJtWHdVM2lDK01qVnJ6Z1dTSDdqT0xEaXhEVHEwZklheDV1cXdyWHdQc1JQ?=
 =?utf-8?B?eXdVRlJDNXNrTktSTkxXbW1RRGNkaFdLZzh5NWU3aEZ6NXh3Ry9tZ3NkUGhK?=
 =?utf-8?B?cG5vQkhIeExWbC9IbHVGQlZ5K1hyT2tLTFJGSlV2bDVQRWtxNThJd2c1TWxS?=
 =?utf-8?Q?tPm4=3D?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM4PR12MB8451.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 785d3c6d-f817-4878-2a4a-08de0a3a68e9
X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Oct 2025 09:25:11.7300
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: M43elAH8q55s0xyqJX7ts7Pt/cKMTMMY75Ad3ceKkQkutdxdrwmkbEZASO4tHlqkIIkj1kz3hk07w8ZAv4Bs+A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB7564

W1B1YmxpY10NCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBKYW4gQmV1
bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQo+IFNlbnQ6IE1vbmRheSwgT2N0b2JlciAxMywgMjAy
NSA0OjMwIFBNDQo+IFRvOiBQZW5ueSwgWmhlbmcgPHBlbm55LnpoZW5nQGFtZC5jb20+DQo+IENj
OiBIdWFuZywgUmF5IDxSYXkuSHVhbmdAYW1kLmNvbT47IEFuZHJldyBDb29wZXINCj4gPGFuZHJl
dy5jb29wZXIzQGNpdHJpeC5jb20+OyBBbnRob255IFBFUkFSRCA8YW50aG9ueS5wZXJhcmRAdmF0
ZXMudGVjaD47DQo+IE9yemVsLCBNaWNoYWwgPE1pY2hhbC5PcnplbEBhbWQuY29tPjsgSnVsaWVu
IEdyYWxsIDxqdWxpZW5AeGVuLm9yZz47IFJvZ2VyIFBhdQ0KPiBNb25uw6kgPHJvZ2VyLnBhdUBj
aXRyaXguY29tPjsgU3RlZmFubyBTdGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPjsN
Cj4gQmVydHJhbmQgTWFycXVpcyA8YmVydHJhbmQubWFycXVpc0Bhcm0uY29tPjsgVm9sb2R5bXly
IEJhYmNodWsNCj4gPFZvbG9keW15cl9CYWJjaHVrQGVwYW0uY29tPjsgVGFtYXMgSyBMZW5neWVs
IDx0YW1hc0B0a2xlbmd5ZWwuY29tPjsNCj4gRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRoQGFwZXJ0
dXNzb2x1dGlvbnMuY29tPjsgeGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnDQo+IFN1Ympl
Y3Q6IFJlOiBbUEFUQ0ggdjIgMjQvMjZdIHhlbi9kb21jdGw6IHdyYXAgYXJjaC1zcGVjaWZpYyBk
b21jdGwtb3Agd2l0aA0KPiBDT05GSUdfTUdNVF9IWVBFUkNBTExTDQo+DQo+IE9uIDEzLjEwLjIw
MjUgMDk6MTgsIFBlbm55LCBaaGVuZyB3cm90ZToNCj4gPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdl
LS0tLS0NCj4gPj4gRnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KPiA+PiBT
ZW50OiBNb25kYXksIE9jdG9iZXIgMTMsIDIwMjUgMjo0MSBQTQ0KPiA+Pg0KPiA+PiBPbiAxMS4x
MC4yMDI1IDA4OjQ0LCBQZW5ueSwgWmhlbmcgd3JvdGU6DQo+ID4+Pj4gLS0tLS1PcmlnaW5hbCBN
ZXNzYWdlLS0tLS0NCj4gPj4+PiBGcm9tOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+
DQo+ID4+Pj4gU2VudDogVGh1cnNkYXksIFNlcHRlbWJlciAxMSwgMjAyNSA5OjAzIFBNDQo+ID4+
Pj4NCj4gPj4+Pj4gLS0tIGEveGVuL2xpYi94ODYvTWFrZWZpbGUNCj4gPj4+Pj4gKysrIGIveGVu
L2xpYi94ODYvTWFrZWZpbGUNCj4gPj4+Pj4gQEAgLTEsMyArMSwzIEBADQo+ID4+Pj4+ICBvYmot
eSArPSBjcHVpZC5vDQo+ID4+Pj4+ICBvYmoteSArPSBtc3Iubw0KPiA+Pj4+PiAtb2JqLXkgKz0g
cG9saWN5Lm8NCj4gPj4+Pj4gK29iai0kKENPTkZJR19NR01UX0hZUEVSQ0FMTFMpICs9IHBvbGlj
eS5vDQo+ID4+Pj4NCj4gPj4+PiBGYWlyIHBhcnRzIG9mIGNwdWlkLmMgYWxzbyBiZWNvbWUgdW5y
ZWFjaGFibGUuIEFuZCBhbGwgb2YgbXNyLmMgYWZhaWNzLg0KPiA+Pj4+DQo+ID4+Pg0KPiA+Pj4g
SSBqdXN0IGZvdW5kIHRoYXQgdGhlIGZ1bmN0aW9ucyBkZWZpbmVkIGhlcmUsIGFzIGhlbHBlcnMv
bGlicmFyaWVzLA0KPiA+Pj4gYXJlIHVzZWQgaW4NCj4gPj4gdG9vbHMvbGlicy9ndWVzdC94Z19j
cHVpZF94ODYuYyB0b28uIEVtbW0sIHRvIG1ha2UgY29tcGlsZXIgaGFwcHksIEkNCj4gPj4gc3Rp
bGwgbmVlZCB0byBwcm92aWRlIHN0dWJzIGZvciB0aGVtIHdoZW4gTUdNVF9IWVBFUkNBTExTPW4u
IE9yIGFueQ0KPiBiZXR0ZXIgc3VnZ2VzdGlvbj8NCj4gPj4NCj4gPj4gSG93IGRvZXMgdGhlIE1h
a2VmaWxlIGNoYW5nZSBoZXJlIGFmZmVjdCB0b29scy9saWJzL2d1ZXN0Lz8gV2hhdA0KPiA+PiB3
b3VsZCB5b3UgbmVlZCBzdHVicyBmb3IgdGhlcmU/DQo+ID4+DQo+ID4NCj4gPiBMaWtlIEZ1bmN0
aW9uIHhjX2NwdV9wb2xpY3lfaXNfY29tcGF0aWJsZSgpIGluIHRvb2xzL2xpYnMvZ3Vlc3QveGdf
Y3B1aWRfeDg2LmMNCj4gaXMgYWxzbyB1c2luZyB4ODZfY3B1X3BvbGljaWVzX2FyZV9jb21wYXRp
YmxlKCkgdG8gZG8gdGhlIGNvbXBhcmlzb24gYmV0d2Vlbg0KPiBob3N0IGFuZCBndWVzdC4gSWYg
bWFraW5nIHhlbi9saWIveDg2L3Bsb2N5Lm8gZ3VhcmRlZCBieSBNR01UX0hZUEVSQ0FMTFMsDQo+
IHdlIHdpbGwgaGF2ZSAidW5kZWZpbmVkIHJlZmVyZW5jZSAiIGVycm9yLiBJbW8sIGl0IGlzIG5v
dCBzdWl0YWJsZSB0byBndWFyZCBmaWxlcw0KPiB0b29scy9saWJzL2d1ZXN0L3hnX2NwdWlkX3g4
Ni5vIHdpdGggTUdNVF9IWVBFUkNBTExTLg0KPg0KPiBDb3JyZWN0LCBidXQgSSBzdGlsbCBkb24n
dCBzZWUgd2hhdCB5b3UncmUgZ2V0dGluZyBhdC4gVGhpcyBNYWtlZmlsZSBpcyB1c2VkIGluIHRo
ZQ0KPiBoeXBlcnZpc29yIGJ1aWxkIG9ubHkuIEluIHRvb2xzL2xpYnMvZ3Vlc3QvTWFrZWZpbGUu
Y29tbW9uIHdlIGhhdmUNCj4NCj4gaWZlcSAoJChDT05GSUdfWDg2KSx5KSAjIEFkZCBsaWJ4ODYg
dG8gdGhlIGJ1aWxkIHZwYXRoICUuYyAuLi8uLi8uLi94ZW4vbGliL3g4Ng0KPg0KPiBPQkpTLXkg
ICAgICAgICAgICAgICAgICs9IGNwdWlkLm8gbXNyLm8gcG9saWN5Lm8NCj4gZW5kaWYNCj4NCg0K
T2gsIHRydWUuLi4NClRoZXkgYXJlIHNlcGFyYXRlbHkgY29tcGlsZWQgd2l0aCBkaWZmZXJlbnQg
TWFrZWZpbGUuDQpJdCBpcyBmYWlyIHBhcnRzIG9mIGNwdWlkLmMoeDg2X2NwdWlkX2NvcHlfdG97
LGZyb219X2J1ZmZlcikgd2hpY2ggZ290ICJ1bmRlZmluZWQgcmVmZXJlbmNlIi4gTGV0cyBvbWl0
IHRoaXMgcGFydCBvZiBjaGFuZ2UuDQoNCj4gSmFuDQo=


From xen-devel-bounces@lists.xenproject.org Mon Oct 13 10:02:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 10:02:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141895.1476064 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8FNN-0002Ul-Jx; Mon, 13 Oct 2025 10:01:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141895.1476064; Mon, 13 Oct 2025 10:01:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8FNN-0002Ue-HE; Mon, 13 Oct 2025 10:01:57 +0000
Received: by outflank-mailman (input) for mailman id 1141895;
 Mon, 13 Oct 2025 10:01:56 +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
 <SRS0=bZn2=4W=amd.com=Alejandro.GarciaVallejo@srs-se1.protection.inumbo.net>)
 id 1v8FNL-0002UY-Sw
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 10:01:56 +0000
Received: from BL2PR02CU003.outbound.protection.outlook.com
 (mail-eastusazlp17011000f.outbound.protection.outlook.com
 [2a01:111:f403:c100::f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a4dea113-a81b-11f0-9d15-b5c5bf9af7f9;
 Mon, 13 Oct 2025 12:01:54 +0200 (CEST)
Received: from DM6PR05CA0065.namprd05.prod.outlook.com (2603:10b6:5:335::34)
 by DM6PR12MB4418.namprd12.prod.outlook.com (2603:10b6:5:28e::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.12; Mon, 13 Oct
 2025 10:01:51 +0000
Received: from DS2PEPF00003439.namprd02.prod.outlook.com
 (2603:10b6:5:335:cafe::d8) by DM6PR05CA0065.outlook.office365.com
 (2603:10b6:5:335::34) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9228.9 via Frontend Transport; Mon,
 13 Oct 2025 10:01:51 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 DS2PEPF00003439.mail.protection.outlook.com (10.167.18.36) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9228.7 via Frontend Transport; Mon, 13 Oct 2025 10:01:50 +0000
Received: from localhost (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Mon, 13 Oct
 2025 03:01:49 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a4dea113-a81b-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=T66c9W1oYpx9Dm2tQuKz7Qn9ZALzlaV72kXm+4rJHylIiOz9YJm3kJJj4VcvMxeDMc2LhhIUYx/2y+gmmNVirjPkNR6llr5/coasj0vIbUDz6U/2Q8e+LzJ+IMfpJSUTCzaA7LV0D0LN/JOAXadJyDkO3aHCY2WOl1uQOOrambLvaCpAixsUwBZt3o3YLo8FkVfSMxum56vo+kcw7Jvqg2gaRiD5bLcBGaX8JBO41MLKxI7q2SuG5PRJ88J4LqKcqZDVvbEk1NHAUQ2lh2QmryvTOCaswuA7qcwmKmo+CzU0dj7JsnLPbEENeWo2bxgxgkCic3QyBVxW5JTe6iTgbQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=L3jhUyJfOwN6ND0RRBlnNi1obIl5O3kgGaJYDVzjWWY=;
 b=S1PQARZ0oC9N2hVSaY6i6bi9pwaJcgNRgdDKBeGWCTaGPAtUSc5DQU4/nZQ9GNj2QqH/IaCDU4QTxY+mDd54L/+ySTAA29U2Jp7Me1pQ1M97UTYOFaIbApHFCMGLRMT7OaVOGP7BygvHsU2dt9al8FA2s4b9534j1OCBDdtFFotS5plPFev/o4XNUAaY9Wqhilh5wumD4Qd9pZCcgwQu4eBH1iSLADES7lfQyJaGykcY5YxWPoL+4B/noKTLFK4DGXZFw/TeHLKtflM0RWm5bA1exPJ49hEC407ZKpLHtvyMYAl4BYred0PvLzG2FWmTlm5O+25Vxk09D0p9SGhsTA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=L3jhUyJfOwN6ND0RRBlnNi1obIl5O3kgGaJYDVzjWWY=;
 b=nPrEqvgqwii1FX7Fm6LwfGuxfgY3VTFIVcOA+prxh0AbR/PZrTS2e4bRko5vGkGm9qZJpt3Tniw8WBBiNOyxeVFsBQ4zPiNqVdNXw2e8NWT9Q320W4SCIzh2qdpRgnIjmdnjNiJV/8GITo+NUZNWJ8Sv4hix/CIB61pIMuzyfCg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="UTF-8"
Date: Mon, 13 Oct 2025 12:01:48 +0200
Message-ID: <DDH3W3VM2ZDJ.PMFSGBWBTS0S@amd.com>
CC: Sergiy Kibrik <Sergiy_Kibrik@epam.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?utf-8?q?Roger_Pau_Monn=C3=A9?=
	<roger.pau@citrix.com>, Paul Durrant <paul@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v5] x86: make Viridian support optional
From: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
To: Jan Beulich <jbeulich@suse.com>, Grygorii Strashko
	<grygorii_strashko@epam.com>
X-Mailer: aerc 0.20.1
References: <20250930125215.1087214-1-grygorii_strashko@epam.com>
 <3e4e4bc5-aa47-4357-9327-df2a9b9c9a1b@suse.com>
In-Reply-To: <3e4e4bc5-aa47-4357-9327-df2a9b9c9a1b@suse.com>
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS2PEPF00003439:EE_|DM6PR12MB4418:EE_
X-MS-Office365-Filtering-Correlation-Id: 246091f4-df1e-4af9-13e3-08de0a3f87cf
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|376014|36860700013|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?S0tSd1pXVDNJRXg4cWxKWHpRKy94OE44OURCNGRhcVpCZndIS292WFE5UjBa?=
 =?utf-8?B?K3ZHVFZTa1MrdHh3NWx4MHNtWnowbGFldVJLL1VySWcyQTZud0dKb2hRcFVu?=
 =?utf-8?B?KzE0TlZHcVZFVVZSNWVVdmdhbDVvMGpaTE1tZ2h5cCtQR3dNOVB4WXBkVGFD?=
 =?utf-8?B?RzdGcUxmbFVicVI5QTRSUmFsNVh5OTIzQWVRL0cyRFBFWUd5eTNJekt0N0Za?=
 =?utf-8?B?dmpPMERTbXc2MTVyN200Ui83Q2dXNk12RGZqaWdqZTBZWSs4T0ozYTE0VU01?=
 =?utf-8?B?TWhMcXc0all4M2R0Sy8xSTY0QkJTY0xyUDVWM3Q5SENDRnNpeDEzMkliQTZR?=
 =?utf-8?B?b2kzOEc0ak5lbk1rSW5ZUGxUUG4rbW1vbWdHSGd4ZTZiNnV3elZ3aktIcHNL?=
 =?utf-8?B?NUdnb1NCVlpFOVdRbUxPM3REWGhRVGRNamk5MjExV0hyOFd6N00xVzBPMWZh?=
 =?utf-8?B?ZDMwem51dEQrMG5Fdm82QTh1Vit6cENzUVhoZ1pHSHZqb0tjNUZJRGdmejBn?=
 =?utf-8?B?RFQ0M3BtUzdzOWlzbkxxaFpZVTUraXdKNjBCbHR2SXRQVUdRazF6WjdVUWtS?=
 =?utf-8?B?b2JBTG9YdUNqQ1kyb3hCU2d6UC9IZGluZnhkenMyWDRJZExmNEp2R0JENFp4?=
 =?utf-8?B?UElGSEQzUlhhNWtKV3AxQ0kwMmJlWEJCTjhSWEMybmp3a3c3YVc5ZDVzN3B0?=
 =?utf-8?B?ZW0ydHlRbTRwbnlIUElsa3MwSU1uK0JPN3pCMWh5TTFZQitwdU93UE9RbUFh?=
 =?utf-8?B?M1hEdFNRRlBPZHhPd0I1TWN3OUhNOW0xVVpUQzFQNmFuRDBQSWFoNzA1d1Qr?=
 =?utf-8?B?cmFMc1BjQUtZbDhZYWRZdnp2TWo5MVNjVjFsSHN1eFBBNk5YRXlXSXJqcFBo?=
 =?utf-8?B?SkEySW40S2pzVUVXKzJaS0RMYkI2c1pHcEN0MjlTWjUvRHdvMGlBYmFweXlS?=
 =?utf-8?B?SkJ4S0pzQW5XSkJ3ODk2UkhBeW8yMGZRM3pDZFBINWk3WkVHdkFQdld3QzRu?=
 =?utf-8?B?anRXWit5OEVhcXVDcGt4UWQvajJYVkVzWm1TUUN2MFdockJHRFBKWm9JVHNW?=
 =?utf-8?B?Yng4azhGUms2dXdaaG5pd3Y5YnUwNm1ZSTEvaGJqbzNiQVJTdzBFbEE3NzVT?=
 =?utf-8?B?NUVoa09qNnRDK0dwVDcvZUxsUlFWV045SlVacFVoUVNlOXFUeGRCK3ZKQmVV?=
 =?utf-8?B?TmhVU0w1NVViQUZ3ckxrZGp2UmEyaHZ5ZktpZURiaGdoSTQ3UDlieko1RVFq?=
 =?utf-8?B?ZkJtcTlyVFBibVVnWGllcjBFMnZDcHovY05qZ0xJZjBxZ0MyV1duWVBpbGhC?=
 =?utf-8?B?RElCZUZzL2htYkR1K0t4c1pEMHdIY0drb1M1a0d6dHdQamFnbnF6L0tOOEc1?=
 =?utf-8?B?ejN3TXZjdjRLRTRvcC9kdE1lMzJXUlRiNHJlVmZFYjY1bHQvckN4R3cxY1R3?=
 =?utf-8?B?KzBTYm5vRW5HTHRXWUFmY1ovNHBlYk9IaXZJcWxwK2pIWXJWc21WaFlnMmxw?=
 =?utf-8?B?U0gwRjQyTTVEMC9KelBReHpuM0pURVh4UEllVjNIa1FTWmQ1QXZPcFhiclRv?=
 =?utf-8?B?aHFvTHJickRWWXppOE1nS29CZllUdmFXSkgrQXYzNGNtQ2tHbzVNWmp5NnNE?=
 =?utf-8?B?TW0zY1hkSVFhMityMWtwakkvZWVEUFJJL3FELyttaDdzandKaVpNY1Vzd2pK?=
 =?utf-8?B?RzlUWmJ0TW1oSXQ1MW9QanB6ekdkSzZEYUcyWHZwVEs1WXNLZnozdXRTNHA3?=
 =?utf-8?B?YkZVZi9HcWRaa3VjMTBTNmZRSWNLZXpIc05DTW4wV1poTmtnOW5jcTJ4Mmtm?=
 =?utf-8?B?UXFiM011TTJJeUtqeDk5TEsrWHcxbHpUZlNSUG9uRkJyZW9rYzdrQnVMN3Jy?=
 =?utf-8?B?U052VHNaVmI2eWxQZzlydy9Mbm42SGVzbDdPS1g0WlRKa0ZHSnc4NGF1Mklo?=
 =?utf-8?B?MmZoeldKVVdESHZkenA1WUFYdVR0SFBoNlgzaVFPK2ZRTGJORTVjUUNqanNv?=
 =?utf-8?B?WjZ5YzNRRm1GMzVBYllURXltTW9Kek42Vll6ak41b3FCcmxEUGtFZml3SUxN?=
 =?utf-8?B?ZjIzQXpvU1EzT2M5dmhMeCs2dHhhWUN4bU9SZFVqNGhWYkxTSUo0QWZnamRm?=
 =?utf-8?Q?9GqA=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(376014)(36860700013)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2025 10:01:50.9990
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 246091f4-df1e-4af9-13e3-08de0a3f87cf
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS2PEPF00003439.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4418

On Wed Oct 8, 2025 at 6:04 PM CEST, Jan Beulich wrote:
> On 30.09.2025 14:52, Grygorii Strashko wrote:
>> --- a/xen/arch/x86/hvm/Kconfig
>> +++ b/xen/arch/x86/hvm/Kconfig
>> @@ -62,6 +62,16 @@ config ALTP2M
>> =20
>>  	  If unsure, stay with defaults.
>> =20
>> +config VIRIDIAN
>> +	bool "Hyper-V enlightenments for guests" if EXPERT
>> +	default y
>> +	help
>> +	  Support optimizations for Hyper-V guests such as faster hypercalls,
>> +	  efficient timer and interrupt handling, and enhanced paravirtualized
>> +	  I/O. This is to improve performance and compatibility of Windows VMs=
.
>
> What is "paravirtualized I/O" about in this context?

Hypervisor-assisted IPIs, TLB flushes, etc. Or so I understood back when I =
said
that looked ok. I see there could be confusion with Xen PV device protocols=
,
but as far as the user of the help message is concerned it makes no differe=
nce.

One could even remove the examples and leave it as "... for Hyper-V guests.=
 This
is to...". They are truly inconsequential.

All that matters is that (modern) Windows won't run without it, and that it
provides some indeterminate hypervisor-provided assists to try to reduce so=
me
virtualization overheads.

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Mon Oct 13 10:16:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 10:16:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141905.1476090 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8Fbd-0004Yl-D9; Mon, 13 Oct 2025 10:16:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141905.1476090; Mon, 13 Oct 2025 10:16:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8Fbd-0004XQ-64; Mon, 13 Oct 2025 10:16:41 +0000
Received: by outflank-mailman (input) for mailman id 1141905;
 Mon, 13 Oct 2025 10:16:39 +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
 <SRS0=gL+L=4W=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1v8Fbb-0004Rd-Ps
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 10:16:39 +0000
Received: from CH4PR04CU002.outbound.protection.outlook.com
 (mail-northcentralusazlp170130007.outbound.protection.outlook.com
 [2a01:111:f403:c105::7])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b1905fcf-a81d-11f0-980a-7dc792cee155;
 Mon, 13 Oct 2025 12:16:34 +0200 (CEST)
Received: from BY3PR03CA0018.namprd03.prod.outlook.com (2603:10b6:a03:39a::23)
 by MN0PR12MB6222.namprd12.prod.outlook.com (2603:10b6:208:3c2::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.10; Mon, 13 Oct
 2025 10:16:28 +0000
Received: from SJ1PEPF00001CE5.namprd03.prod.outlook.com
 (2603:10b6:a03:39a:cafe::79) by BY3PR03CA0018.outlook.office365.com
 (2603:10b6:a03:39a::23) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9203.12 via Frontend Transport; Mon,
 13 Oct 2025 10:16:27 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 SJ1PEPF00001CE5.mail.protection.outlook.com (10.167.242.21) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9228.7 via Frontend Transport; Mon, 13 Oct 2025 10:16:26 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) by
 satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.2562.17; Mon, 13 Oct 2025 03:16:19 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b1905fcf-a81d-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=LB+Glpvaz8j/5LgT54CfEe1JoG5gOMO628yBGZCdk6BLG2kqioNvFZhm5Dh0b9d2U7vXarjOtwPTwwBf/YUxRq11TH5OGXX5GeRuQVgYiV/i01CSlVTaMnZ+6YmqNnaoF9mopIoMrnpCTxoRGnhkY2wNzz2ewpPWKKVr0/itwzO2/f9eoFfqTfdu8jRRt89ilThQt1zV/q2ZD9nOIrlcZ9kZrWd0b68zTEMs538b+KqwnvZZmQ3laAH6FzKW5/nHskMQuoRG7unqd61nAzVind5FZKvedCAbuDFXeU6dUhDB62ZDBptAudvDzGP5k3kkrctgjiRo5MMe8JIpW7lz4w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=S+5AW20V7RtR9dVUbX/WTQLNzCzr9zOZDFXOjm6Y8QI=;
 b=cmUTKGlOZsF7T2inoXN7RuYKlz4/S9HO3HjfIJGJJ9NPPCQnkq5GcD8Ftjdqp96u4Vycz+Gj2cByveX9KqOJJqW2JIm7PFoiYVDwI1i1C8gZdPnhMgap51RYjCARBqeGO8NNdC5XRAISRUtJeIuozTatPtNHQzOSGWv49e4ojmMAk5+cSV7qY99h1ZSsIp22Rp9ZX2APwahRC5l4t7W3wMQfBPkeggHuuW4RT+oYnQmSF8lGi3SLuTXA2LzQlRSF4jhQs0DtSbP4vgdSGe1JNC8sASGXVEFDed/cWvtRuVugChJPmWjAdPquQHWedtAjNc0Jvmc0vqDqB/ubU2iBIg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=S+5AW20V7RtR9dVUbX/WTQLNzCzr9zOZDFXOjm6Y8QI=;
 b=BbUhlI5RZl3z4i0AOYq2FPyJ3c5/DArnGbX07rUiENYI1DE0sRQ17PFm1l4ycXd3etpK476JIPoCv9ARkf/Yp/AJwABV7p0qBkYIsgxTBkPbYNdFryEnOyDwpLYXaoCHHZbbuvT30+bLpDusZ9EovBHBtZDPpqZW6K60H10gdXM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>, <xen-devel@dornerworks.com>
CC: <ray.huang@amd.com>, <oleksii.kurochko@gmail.com>, Penny Zheng
	<Penny.Zheng@amd.com>, Andrew Cooper <andrew.cooper3@citrix.com>, "Anthony
 PERARD" <anthony.perard@vates.tech>, Michal Orzel <michal.orzel@amd.com>,
	"Jan Beulich" <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Stewart Hildebrand
	<stewart.hildebrand@amd.com>, "Daniel P. Smith"
	<dpsmith@apertussolutions.com>, Dario Faggioli <dfaggioli@suse.com>, "Juergen
 Gross" <jgross@suse.com>, George Dunlap <gwd@xenproject.org>, Bertrand
 Marquis <bertrand.marquis@arm.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis <connojdavis@gmail.com>,
	"Nathan Studer" <nathan.studer@dornerworks.com>, Stewart Hildebrand
	<stewart@stew.dk>, Tamas K Lengyel <tamas@tklengyel.com>, Alexandru Isaila
	<aisaila@bitdefender.com>, Petre Pircalabu <ppircalabu@bitdefender.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>, Christopher Clark
	<christopher.w.clark@gmail.com>, Meng Xu <mengxu@cis.upenn.edu>, Rahul Singh
	<rahul.singh@arm.com>
Subject: [PATCH v3 00/28] Disable domctl-op via CONFIG_MGMT_HYPERCALLS
Date: Mon, 13 Oct 2025 18:15:12 +0800
Message-ID: <20251013101540.3502842-1-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ1PEPF00001CE5:EE_|MN0PR12MB6222:EE_
X-MS-Office365-Filtering-Correlation-Id: 7baa987b-d320-4805-33f9-08de0a4191b6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|36860700013|376014|7416014|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?+XkBkhC8sl13/gbCb9fx+rKpy80od3clX1q9B3fhr9FFaLd49jc2/uJ8fekk?=
 =?us-ascii?Q?jNE2OlzdG/9U4Am4AAih5ikHDlBc/7sPTnBsBmlU+78LIMeO9Lz/nccKad/s?=
 =?us-ascii?Q?VSSTGDSROoKC96GiMlYjTwNfTqJRgh73rBx3Hw2FOkApfR2gjylItUcS1ggJ?=
 =?us-ascii?Q?Cq0LyufXBkugUAIKXkWzNkDcx5KQgpsx/HA4jzHmYvEgCoAV/hmi2Al0WjOz?=
 =?us-ascii?Q?WTObKQX9WXGqBagI1ctAKsiLBq1blqmNeqT+zNlGbC/DGwxZ48rB5ceBzN3H?=
 =?us-ascii?Q?7fhd+D9+zZ6t7ipwUf+6Qaq+QDCV8o2kEK8eq3+0/mc2/uBmalIH+h6npsDR?=
 =?us-ascii?Q?YKRo8yp3iQYaeGd1GpW8S3/Q2IkyY5hr3jku645/bUKnMQWY0Fr2Olr7D3Sp?=
 =?us-ascii?Q?FZw2rMxAGDoxUidyKvE8Am9H2ExbpTSmGW6pxi/jCg/b7xDXG5t4a4jnuY4o?=
 =?us-ascii?Q?KfyufVx3n9JP/wHEgmf5dXFey3sKF6gaN1NCJWZT+81YdIUVpf3JfVP5gqS6?=
 =?us-ascii?Q?sZutSX7tYgG1dZJ6VYfvp3vzGMiYIS+YooBfZuUacw2B9+jSl1mry+sai13R?=
 =?us-ascii?Q?e+DcD166NrzhMtadyAPjAk333gLrEQ/v3UhbL54ZLeB1c9KeeFnlctxjGzMu?=
 =?us-ascii?Q?17umuzEleyjR99soiBVQbjuDt9GDyXHUJwzCyAG63d87Bf99nbBusbitrJCG?=
 =?us-ascii?Q?9KZLzdZYGLB7DwI09MbAYlq03KaOKGGYiJUWrmanTs3mTmkPp69wwU/QB9L5?=
 =?us-ascii?Q?wKlKUSDIiPOTewFODFXPjL5Lcy1v8I17l5esqhat6CrZGd20UFugN8BSGKW/?=
 =?us-ascii?Q?9/vLYzUgqJ1b5Puo+YqBSQOGV6/xuSsq7JS+9ThNJWJCbZONKrIZpCDXweXF?=
 =?us-ascii?Q?Q3VSuVcMZGvo2zZ+ImZKuqpLwl484fWEJ8hVzL1z1xFmQBi00cqkPT21/9oV?=
 =?us-ascii?Q?l/tdJfLoE8U1Qt03pbBDhI3oAPdOnNMquFe+iDKOOpin63zK7zLm/+JTVN/0?=
 =?us-ascii?Q?JSMgEKNWjSMjUbhYw64El6fd9a9Igo74m9TeXBOIpN48182+3cGsstZgptzg?=
 =?us-ascii?Q?m05ST+FXbqZGQd4Uo8n95Q3UoPMXQklX0MFEgoXiHmjuTxUvI53Jfuu2rphv?=
 =?us-ascii?Q?p/pRdzrMRjTbn/qTptcNQRufHhoPLdCvL1n1loeR6yayi/yd/VxghdTKBypO?=
 =?us-ascii?Q?BVFtbjGaCFMTcDbJ/NUOQbRDGMUMgDJoCIIK6f3Jg/unVZBiZ1rcdHMnNmsX?=
 =?us-ascii?Q?oy44ZQSaLwfHL5c6BG6mSyzLxm4h2qI8T+Jj0D3M4/Dtho4hGoktX6duoSuT?=
 =?us-ascii?Q?C0JBqFRQmIbP+IcECwO/r+GDRKiWmwTgbyiLjhUCu0bIIvmPnBLWw0gMC81w?=
 =?us-ascii?Q?YktFVixrwXFVa8Lp+LnDW+YXZgp1vE0bZeyCBd1w+9mr2fHRgWX2ZZ0Lv4s1?=
 =?us-ascii?Q?y+LTlKLuVln/B2OlOCwSMZ+7+4aqcJSt3NhUBprP2Djtq/NAlb1oI/Um3mzf?=
 =?us-ascii?Q?mO2b1u6WkMt+JAsWc6ruNshwTt8rwzy9y4dr0kbbsNh6FzezXYo8PsxekTAL?=
 =?us-ascii?Q?1gBluEmPqihrUXQxqUCt1OPmJ1CG2G8/qhOl6VmS?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(36860700013)(376014)(7416014)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2025 10:16:26.5727
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7baa987b-d320-4805-33f9-08de0a4191b6
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ1PEPF00001CE5.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB6222

It can be beneficial for some dom0less systems to further reduce Xen footprint
via disabling some hypercalls handling code, which may not to be used &
required in such systems.
We are introducing a new single Kconfig CONFIG_MGMT_HYPERCALLS to manage
such hypercalls.

We are trying to disable hypercalls in the following aspects:
- sysctl
- domctl
- hvm
- physdev
- platform
This patch serie is only focusing on domctl-op. Different aspects will be
covered in different patch serie.

Features, like VM event, or paging log-dirty support, which fully rely on
domctl-op, will be wrapped with CONFIG_MGMT_HYPERCALLS, to reduce Xen
footprint as much as possible.

It is derived from Stefano Stabellini's commit "xen: introduce kconfig options
to disable hypercalls"(
https://lore.kernel.org/xen-devel/20241219092917.3006174-1-Sergiy_Kibrik@epam.com)

Penny Zheng (28):
  xen/xsm: remove redundant xsm_iomem_mapping()
  xen/mem_sharing: wrap hvm_copy_context_and_params() with
    CONFIG_MEM_SHARING
  xen/altp2m: move p2m_set_suppress_ve_multi() forward
  xen/sched: remove vcpu_set_soft_affinity()
  xen/sysctl: replace CONFIG_SYSCTL with CONFIG_MGMT_DOMCTL
  xen/x86: move domctl.o out of PV_SHIM_EXCLUSIVE
  xen/domctl: make MGMT_HYPERCALLS transiently def_bool
  xen/vm_event: introduce vm_event_is_enabled()
  xen/vm_event: consolidate CONFIG_VM_EVENT
  xen/vm_event: make VM_EVENT depend on CONFIG_MGMT_HYPERCALLS
  xen/xsm: wrap xsm_vm_event_control() with CONFIG_VM_EVENT
  xen/domctl: wrap domain_pause_by_systemcontroller() with
    MGMT_HYPERCALLS
  xen/domctl: wrap domain_soft_reset() with CONFIG_MGMT_HYPERCALLS
  xen/domctl: wrap domain_resume() with CONFIG_MGMT_HYPERCALLS
  xen/domctl: wrap domain_kill() with CONFIG_MGMT_HYPERCALLS
  xen/domctl: wrap domain_set_node_affinity() with
    CONFIG_MGMT_HYPERCALLS
  xen/domctl: wrap vcpu_affinity_domctl() with CONFIG_MGMT_HYPERCALLS
  xen/domctl: wrap sched_adjust() with CONFIG_MGMT_HYPERCALLS
  xen/domctl: wrap xsm_irq_permission with CONFIG_MGMT_HYPERCALLS
  xen/domctl: wrap arch-specific domain_set_time_offset() with
    CONFIG_MGMT_HYPERCALLS
  xen/domctl: wrap xsm_set_target() with CONFIG_MGMT_HYPERCALLS
  xen/domctl: wrap iommu-related domctl op with CONFIG_MGMT_HYPERCALLS
  xen/domctl: wrap arch_{get,set}_paging_mempool_size() with
    CONFIG_MGMT_HYPERCALLS
  xen/domctl: make CONFIG_X86_PSR depend on CONFIG_MGMT_HYPERCALLS
  xen/domctl: avoid unreachable codes when both MGMT_HYPERCALLS and
    MEM_SHARING unset
  xen/domctl: wrap arch-specific domctl-op with CONFIG_MGMT_HYPERCALLS
  xen/domctl: make HVM_PARAM_IDENT_PT conditional upon
    CONFIG_MGMT_HYPERCALLS
  xen/domctl: wrap common/domctl.c with CONFIG_MGMT_HYPERCALLS

 xen/Kconfig.debug                           |   4 +-
 xen/arch/arm/Kconfig                        |   2 +-
 xen/arch/arm/Makefile                       |   4 +-
 xen/arch/arm/arm32/Makefile                 |   2 +-
 xen/arch/arm/arm64/Makefile                 |   2 +-
 xen/arch/arm/domain.c                       |   5 +
 xen/arch/arm/include/asm/tee/tee.h          |   2 +
 xen/arch/arm/mmu/p2m.c                      |   8 +
 xen/arch/arm/mpu/p2m.c                      |   2 +
 xen/arch/arm/tee/ffa.c                      |   4 +
 xen/arch/arm/tee/optee.c                    |   4 +
 xen/arch/arm/tee/tee.c                      |   2 +
 xen/arch/arm/time.c                         |   2 +
 xen/arch/ppc/stubs.c                        |   4 +
 xen/arch/riscv/stubs.c                      |  10 +-
 xen/arch/x86/Kconfig                        |   1 +
 xen/arch/x86/Makefile                       |   6 +-
 xen/arch/x86/configs/pvshim_defconfig       |   2 +-
 xen/arch/x86/domain.c                       |   4 +
 xen/arch/x86/emul-i8254.c                   |   2 +
 xen/arch/x86/hvm/Kconfig                    |   1 -
 xen/arch/x86/hvm/Makefile                   |   4 +-
 xen/arch/x86/hvm/emulate.c                  |  67 +++++----
 xen/arch/x86/hvm/hvm.c                      |  57 +++++++-
 xen/arch/x86/hvm/pmtimer.c                  |   2 +
 xen/arch/x86/hvm/save.c                     | 154 ++++++++++----------
 xen/arch/x86/hvm/svm/intr.c                 |   2 +-
 xen/arch/x86/hvm/svm/svm.c                  |  66 +++++----
 xen/arch/x86/hvm/vmx/intr.c                 |   2 +-
 xen/arch/x86/hvm/vmx/vmx.c                  |  80 ++++++----
 xen/arch/x86/include/asm/hvm/hvm.h          |  17 ++-
 xen/arch/x86/include/asm/mem_access.h       |   9 ++
 xen/arch/x86/include/asm/monitor.h          |   9 ++
 xen/arch/x86/include/asm/p2m.h              |   2 +-
 xen/arch/x86/include/asm/paging.h           |   2 +-
 xen/arch/x86/include/asm/vm_event.h         |   9 ++
 xen/arch/x86/mm/altp2m.c                    |  34 ++---
 xen/arch/x86/mm/mem_sharing.c               |   7 +
 xen/arch/x86/mm/p2m-pod.c                   |   2 +
 xen/arch/x86/mm/p2m.c                       |   2 +
 xen/arch/x86/mm/paging.c                    |   4 +
 xen/arch/x86/psr.c                          |  18 ---
 xen/arch/x86/time.c                         |   2 +
 xen/common/Kconfig                          |  32 ++--
 xen/common/Makefile                         |   7 +-
 xen/common/argo.c                           |   2 +
 xen/common/device-tree/device-tree.c        |   2 +
 xen/common/domain.c                         |  10 ++
 xen/common/domctl.c                         |   2 +-
 xen/common/grant_table.c                    |   2 +
 xen/common/page_alloc.c                     |   8 +-
 xen/common/perfc.c                          |   4 +-
 xen/common/sched/arinc653.c                 |  11 +-
 xen/common/sched/core.c                     |  18 +--
 xen/common/sched/cpupool.c                  |  16 +-
 xen/common/sched/credit.c                   |  10 +-
 xen/common/sched/credit2.c                  |  10 +-
 xen/common/sched/private.h                  |  10 +-
 xen/common/sched/rt.c                       |   4 +
 xen/common/spinlock.c                       |   4 +-
 xen/drivers/char/console.c                  |   4 +-
 xen/drivers/passthrough/amd/pci_amd_iommu.c |   8 +
 xen/drivers/passthrough/arm/ipmmu-vmsa.c    |   8 +
 xen/drivers/passthrough/arm/smmu-v3.c       |   4 +
 xen/drivers/passthrough/arm/smmu.c          |  10 ++
 xen/drivers/passthrough/device_tree.c       |   8 +
 xen/drivers/passthrough/iommu.c             |   2 +
 xen/drivers/passthrough/pci.c               |   6 +
 xen/drivers/passthrough/vtd/iommu.c         |   6 +
 xen/drivers/vpci/header.c                   |   2 +-
 xen/include/hypercall-defs.c                |  12 +-
 xen/include/xen/domain.h                    |   4 -
 xen/include/xen/mem_access.h                |  10 ++
 xen/include/xen/vm_event.h                  |   7 +
 xen/include/xsm/dummy.h                     |  33 +++--
 xen/include/xsm/xsm.h                       |  65 ++++-----
 xen/lib/x86/Makefile                        |   4 +-
 xen/xsm/dummy.c                             |  23 +--
 xen/xsm/flask/hooks.c                       |  58 ++++----
 79 files changed, 655 insertions(+), 395 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Oct 13 10:16:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 10:16:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141903.1476074 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8Fba-0004Hv-Rd; Mon, 13 Oct 2025 10:16:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141903.1476074; Mon, 13 Oct 2025 10:16:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8Fba-0004Ho-Ow; Mon, 13 Oct 2025 10:16:38 +0000
Received: by outflank-mailman (input) for mailman id 1141903;
 Mon, 13 Oct 2025 10:16: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
 <SRS0=gL+L=4W=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1v8FbZ-0004Hi-Gl
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 10:16:37 +0000
Received: from CY7PR03CU001.outbound.protection.outlook.com
 (mail-westcentralusazlp170100005.outbound.protection.outlook.com
 [2a01:111:f403:c112::5])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b3068268-a81d-11f0-9d15-b5c5bf9af7f9;
 Mon, 13 Oct 2025 12:16:36 +0200 (CEST)
Received: from BY3PR03CA0023.namprd03.prod.outlook.com (2603:10b6:a03:39a::28)
 by SN7PR12MB8435.namprd12.prod.outlook.com (2603:10b6:806:2e2::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.12; Mon, 13 Oct
 2025 10:16:32 +0000
Received: from SJ1PEPF00001CE5.namprd03.prod.outlook.com
 (2603:10b6:a03:39a:cafe::d) by BY3PR03CA0023.outlook.office365.com
 (2603:10b6:a03:39a::28) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9203.12 via Frontend Transport; Mon,
 13 Oct 2025 10:16:28 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 SJ1PEPF00001CE5.mail.protection.outlook.com (10.167.242.21) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9228.7 via Frontend Transport; Mon, 13 Oct 2025 10:16:31 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) by
 satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.2562.17; Mon, 13 Oct 2025 03:16:29 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b3068268-a81d-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=goW5LafdwwLn2vJ8osXK2s+u/E4xmHCCjaiEWTSv520tOpr90iiyYv45NB2NmICmiFxYE6+OFwqmXDO+imdBapGAPDOmMIVdHGxHKJwaHi2ChHhy5OkjwsUbJPQCLCnoHobJtVJ5sjA9OP8OgzrCQlKGFrSGMZCGW2RUj9vfqKlps2s86uobSYLe0Rs7vW004k3FgRq0OHN1oNTzJsnWtRt3To7KsVVkAvWVkkqq+/LqAhiyQALQM0H3Yv/yowrWYm1MHV+XJhNLrZ8SE+W+iuscfU+pNTOSX+CrdGbQXLi0hSoL6keQGRG6d7kkgqXNVm2UGgI8FuxcuC8ETQnMiQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0ThHgkV2N7lt0b2i77K3GS/QeYTjBGYYQ5FNTU6Fchk=;
 b=wWaR92eQ743XVockNSmvcsRFsfW046HM4KrOWaZZDm0gkbHOD8i7kocN2waXpwfd3G/5Ix9ustJkvgHL7cg/euCAfMDOsuG4xU+tVuB6Kc+FJwsnEMJXxxIIZx1z3psBJWoV5ZSsHv3ptB+ip22ADsJtU1AC6QJNRGOSQdDwRnBo6GnVkMggZ+OThOUnghw7DO0OyozBAYY2oiOHE3ftc1o5czguM57eosw8CJR3W5Qo1nSEqa4vSjQmdsdeDCC1pmQ3g815Cysa6OCDXczA5ekePJUKZebgMPrixNJMgm7wi+giqY3I86H84q1v2Rbqv8n3AkeuFZ+r1untmhAbWg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0ThHgkV2N7lt0b2i77K3GS/QeYTjBGYYQ5FNTU6Fchk=;
 b=gzi+fJvBLvH/X3Klea4psBHNHy5cM9aAOyM6hauOQ+7rBIb0513v5Dz2sibhTo8Ztu4900b+mK4+IgKRsWu/x0DUvtHubIYXvqqOpZKHu54R32FQ7jCABirlW3Qw+XxhuhfoJ73jKpBv9yXw6xPiHV9QmP7It0gOqX7BKDEGqGU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.com>, <oleksii.kurochko@gmail.com>, Penny Zheng
	<Penny.Zheng@amd.com>, Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>
Subject: [PATCH v3 02/28] xen/mem_sharing: wrap hvm_copy_context_and_params() with CONFIG_MEM_SHARING
Date: Mon, 13 Oct 2025 18:15:14 +0800
Message-ID: <20251013101540.3502842-3-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20251013101540.3502842-1-Penny.Zheng@amd.com>
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ1PEPF00001CE5:EE_|SN7PR12MB8435:EE_
X-MS-Office365-Filtering-Correlation-Id: d609d80a-7425-48f3-5474-08de0a4194bc
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|1800799024|82310400026|376014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?f4DhGQklEqBcFSvPqvJ4QNxfZsgMTFFoVNDGS4SLlbPOqcdcM1Ppf1hTy/DQ?=
 =?us-ascii?Q?X+t4eVPthNUD5m5jaLYVVbrrqtkt6GEyFAQMC52E+JM8V7vAmDYcCRH8UTbj?=
 =?us-ascii?Q?L5upfmhouA5WX9StFlzsOwn5vM+vLb4yViAJmPkO4xym0hZezXqOtcIMiaBp?=
 =?us-ascii?Q?EEyODWut0AW6vixDSQ/oW0esOTVn44u9N3SMuQ7RBXHfOy/uOwblR7f0is9V?=
 =?us-ascii?Q?mn1szuzcbOmREAC8rxkIFOAvhIPTFykhAqEgWqu3M6j0LaRpGv0yMmQtgF/m?=
 =?us-ascii?Q?mYHru9rvdRPvJMVGOl1RxzsWHcafmxbDzdcxwo2iiRAvI/xEU2PpcPE0ej6L?=
 =?us-ascii?Q?ltu9MI0asROFd49Nk2vJvTA65gqvV6IYkFox2iBVYiY++rs/ncJPIulTXDvI?=
 =?us-ascii?Q?6MjIrT7FDZk8e8iEcQHl82u5pmiT7vL+cIJeMENxPDEEoX+wK2G/3INegD5w?=
 =?us-ascii?Q?YS5fr8coyaAtUcew0cXDr6wW99SzmGL9BeYZepo1UKzVTYtUsj3QEQa5jRte?=
 =?us-ascii?Q?dxDJrsEjkQK1rMvzy8ZzT8phc+cs3e0claPkJ1KSdRmIVOg30lPQBoBkoE5z?=
 =?us-ascii?Q?BdrzptrypgbWipsG81fdu03vyTJ7+NFrwBUTzXn5PX9v2RhmZjK7UuXixcm7?=
 =?us-ascii?Q?NCHW9YBxijQ194As2T1fvU9sdN5iOIit7NB8lOtcFXbxX3BDSnDGancUKQez?=
 =?us-ascii?Q?IvzmRk3jpWzLsojcWHmlq2+01QSKAwnkD5k6vHiT7lXKfUg88G0xiJuhNm6U?=
 =?us-ascii?Q?v2Y9A2F5j1Qf8QohMViNdD83C7bP/IoJwV6A3eiPE6U4y1JFWwS2AkOauqqy?=
 =?us-ascii?Q?ssyGHFw2BkR15/pe8xKOjd0srFmXxFMs4RtRQ3a/YctaA61MyK+IW50qTbBY?=
 =?us-ascii?Q?3BDVLK2jiQYYbwsEI6MlH6tb2+O+P1c6ETZJdvJsgrOOo4EbMOZo22ITmoV5?=
 =?us-ascii?Q?OOTzNXrqYpgrBPYvEuFQQMzPCNfP+YUVP8TvJASpSg6Un2/S093FdZ6AJuEN?=
 =?us-ascii?Q?6KEw5O+LcdblaqSzTgDNCwkXCa6U7ze6umKHkT46hZNS7jr8KLCRauDu80Cl?=
 =?us-ascii?Q?BpS1KrDqvN++CPL/GVYuelH4aMMmZs2Dh/KNoHPeKkYm6oSRpgEsaX87vAvI?=
 =?us-ascii?Q?oq7PX3EHmJ5oM+fisbScXSSEykFuk9OljSP5rlJNdkMRgDQ6k/pj8pJ0pnxf?=
 =?us-ascii?Q?BhR/zWo8YhYBiz8Mh/ctMtcS0ICO5Dk2SAhpyyOimVVoDFWc3FuLVahZmCMG?=
 =?us-ascii?Q?MMvsq1FnNjFnZR1+kTrRRMRSaM1rWnuVQakuL/KDxhf0C3Ww21zEFnaBLxLY?=
 =?us-ascii?Q?o8FT1hNK8xLbpEiba2capPu0gZ3OMxHOGSN2/MoQCvh4tizO/iM6s1n8zl11?=
 =?us-ascii?Q?TdUDbPhztYFWiglxfw8Yk4Aq/tC7NGM7RfrOG52cAt3fVLdIhW8rfeUjRqv0?=
 =?us-ascii?Q?7rQmW7JVIOAE+Jsgt3/gKISulGJZF38E5maSbBXX+LsZU/bCvXN8FLez87WM?=
 =?us-ascii?Q?R53wBTt2NKAiyTe2Zo6XGTFgYUbrPgpVjTkkoaZ4U52qcnCxc7itMbbxWEGh?=
 =?us-ascii?Q?OWcKYGmt4SstMx60E3M=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(82310400026)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2025 10:16:31.6444
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d609d80a-7425-48f3-5474-08de0a4194bc
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ1PEPF00001CE5.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB8435

The only reference of hvm_copy_context_and_params() is in
arch/x86/mm/mem_sharing.c, so it shall be wrapped with CONFIG_MEM_SHARING.
Otherwise it will become unreachable when MEM_SHARING=n, and hence violating
Misra rule 2.1.

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
v2 -> v3:
- new commit
---
 xen/arch/x86/hvm/hvm.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 0c60faa39d..239cd992a4 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -5458,6 +5458,7 @@ void hvm_set_segment_register(struct vcpu *v, enum x86_segment seg,
     alternative_vcall(hvm_funcs.set_segment_register, v, seg, reg);
 }
 
+#ifdef CONFIG_MEM_SHARING
 int hvm_copy_context_and_params(struct domain *dst, struct domain *src)
 {
     struct hvm_domain_context c = { .size = hvm_save_size(src) };
@@ -5489,6 +5490,7 @@ int hvm_copy_context_and_params(struct domain *dst, struct domain *src)
 
     return rc;
 }
+#endif /* CONFIG_MEM_SHARING */
 
 /*
  * Local variables:
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Oct 13 10:16:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 10:16:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141904.1476084 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8Fbd-0004Vh-25; Mon, 13 Oct 2025 10:16:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141904.1476084; Mon, 13 Oct 2025 10:16:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8Fbc-0004Va-VL; Mon, 13 Oct 2025 10:16:40 +0000
Received: by outflank-mailman (input) for mailman id 1141904;
 Mon, 13 Oct 2025 10:16:39 +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
 <SRS0=gL+L=4W=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1v8Fbb-0004Hi-Ng
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 10:16:39 +0000
Received: from BYAPR05CU005.outbound.protection.outlook.com
 (mail-westusazlp170100001.outbound.protection.outlook.com
 [2a01:111:f403:c000::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b23a25f4-a81d-11f0-9d15-b5c5bf9af7f9;
 Mon, 13 Oct 2025 12:16:35 +0200 (CEST)
Received: from BY3PR03CA0020.namprd03.prod.outlook.com (2603:10b6:a03:39a::25)
 by SJ2PR12MB9239.namprd12.prod.outlook.com (2603:10b6:a03:55e::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.13; Mon, 13 Oct
 2025 10:16:30 +0000
Received: from SJ1PEPF00001CE5.namprd03.prod.outlook.com
 (2603:10b6:a03:39a:cafe::33) by BY3PR03CA0020.outlook.office365.com
 (2603:10b6:a03:39a::25) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9203.12 via Frontend Transport; Mon,
 13 Oct 2025 10:16:07 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 SJ1PEPF00001CE5.mail.protection.outlook.com (10.167.242.21) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9228.7 via Frontend Transport; Mon, 13 Oct 2025 10:16:30 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) by
 satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.2562.17; Mon, 13 Oct 2025 03:16:25 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b23a25f4-a81d-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=IMIZtyYhZpSlc8SA1Nl0WrBvhGE6bpDxAx/u6nhX9O/NT1tp53rjYY6dilZNQhCqv0yyeIVhk67nc2z+22YbcFsx+zr3DBfMG3jvqHnsxxTxppY4Guqhktk10V/wL+N/P6Rx5gfjHewdkiTD2j7/29o+Q7rg4c0/nDh2vbTPDzeOjHGzy1NMHDEvvEOSFwx9dmMZgH1cU363haQKtK6+G6L8RhtjB9SgpOgp08QIKtABKvWp+mgVvJ5CyEbDW7UoqjCcfYQos2WUEmrlxWfaFIXLOPhxI1h+it8OtO4K8+S/u1I3IXLNjRZlnR7xRBlt1kSrOdRadPU2t9suTpLbYw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ORH8EP+CphvCO9xfmoZ1RhH5ktFOjdvuVwnEn+eXJWw=;
 b=dNQQftBMOA7jc4wMtBjjO8BEW48iXXMXh8br3Mg8VCv0JyFlq3lMzXnuE+p/e4sGJuyhk4DZ10eOLSJ6jSKj8T+OGxRbmIdrwcs8tZz9WRhe4+3VE/l3urT4MHethJ62G7vdEhgR+vDlsCAfE45w49a9JTvzqEU28O92IF9IKXeIAsLyG3wyK0sZCVsRg2sxqq2rXA8HrxG3K/PGmAlyrttjZzimMz8YPq5Qh09ns9EprpkvP0JxxMLz6NxaN8enmYAN5UyLbkeUvbQNtWLGJZOPIemhdeUjqjBWgsklsMCQrUkC+5BcIn9iFTOpHjHW+7Zj70Tg9Vz1yV0Mo7cqtg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ORH8EP+CphvCO9xfmoZ1RhH5ktFOjdvuVwnEn+eXJWw=;
 b=TKj4FjCDahYzK5MoHLlq6485vuoHvz5Kk8n6lvIzL9N6nCmLvRj3QvxoAcsNS3+mT/g8djOc/+JoNpy824sosZV2h8/luLfuNzPaMvbif2kPFaUlitjjMmmS8Y32ZFotI7R1Y78QF2r0F0F5C2Ye46YwRv/yRI5mt+ZI5wCnoKc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.com>, <oleksii.kurochko@gmail.com>, Penny Zheng
	<Penny.Zheng@amd.com>, Andrew Cooper <andrew.cooper3@citrix.com>, "Anthony
 PERARD" <anthony.perard@vates.tech>, Michal Orzel <michal.orzel@amd.com>,
	"Jan Beulich" <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Stewart Hildebrand
	<stewart.hildebrand@amd.com>, "Daniel P. Smith"
	<dpsmith@apertussolutions.com>
Subject: [PATCH v3 01/28] xen/xsm: remove redundant xsm_iomem_mapping()
Date: Mon, 13 Oct 2025 18:15:13 +0800
Message-ID: <20251013101540.3502842-2-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20251013101540.3502842-1-Penny.Zheng@amd.com>
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ1PEPF00001CE5:EE_|SJ2PR12MB9239:EE_
X-MS-Office365-Filtering-Correlation-Id: f9debf36-eba8-4a48-78ef-08de0a419406
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|1800799024|376014|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?iIzMBOKieQ+lL3w1WTvRi5kuS4sZlqUvKLw376n2k67JeXdawZ1UWzmxfhtC?=
 =?us-ascii?Q?TH+ROCrKA4jBmbR0hgK4J4QU9Y2Z7YeEUQAK/yq9nDPySIc9gQ5bdUa5K+ku?=
 =?us-ascii?Q?jUbAPEIw+o7bZWjon/WfXZe7G4Ju2QGXlZZe752i/CK4CXQn5ADCintW9JbO?=
 =?us-ascii?Q?ZDgVJd5l98A3i76Of/R5V6SA0woaVFm0KBKTLMyT+24i1j+KdXQr5LkiA2JB?=
 =?us-ascii?Q?uQ1KlEHARb2PaPuacbEGTIgzZnRm4vx62kUZtopzhTKN79iLpt39pCqvVmh2?=
 =?us-ascii?Q?47bSMtf3yqkmYSTiCEgdRAmZYWPa67RMJeC33oRFwIkGSdZjf2UA+B4vkOjj?=
 =?us-ascii?Q?MBWzAG4xUZnV2x/B0TbhPH/npTY5Ka2s5suvk7986MHv+msZmLwBvc6I01kA?=
 =?us-ascii?Q?NTv8cUo9QcVweUvp27/TKXtz2rByF7CfJJ+WZmXKsXvK3OojbW1zLxFe9c8k?=
 =?us-ascii?Q?eJyvCBhzz/bsiHyPPMyXFqLfPZPCgzrZvnwAQtqnVP6yDl1eraS0AJjo7Zht?=
 =?us-ascii?Q?4DtvWTKNd/IMt+vykhMbqEvRT2e0u4mBAO0UCSEymuQonVWWlIO1QeNOKE0l?=
 =?us-ascii?Q?L609D2HYi7i9Nu89dEkIP5UnuT1H1fSdUBYlTod4kJEr0C8bRalPde7GLRxE?=
 =?us-ascii?Q?b7nLCaN8NrYXfJ/ZWdpiV4JhsqcJQnLnFnlEVy/myj6eQvsuJ+w/K5ndlLkB?=
 =?us-ascii?Q?aNzAqhrOq7kTRScvZ09/PMjuKQBrxocjdmpRw7D9dpdonJBW/WVU7N94e29Q?=
 =?us-ascii?Q?JcI9/QclqD9hbBK2/VyiyvG8XIffhP5H8RXZDWpH/Ggd6dVhWrVJY4KK5buD?=
 =?us-ascii?Q?fq8uKbJQxVMTAwnsgbPH4HIHd3C+Xr2Oo9suT1wjt0nhNdnjh/DBttF6TTZy?=
 =?us-ascii?Q?uOOIOQ5HOFITo6om4zZTtAzyzfxNAnY4QT7/p/z5KBnqet1VMvWTFYMVaNZo?=
 =?us-ascii?Q?y4Dy5FcJ4uwKH4lFjJXThru6MXPNNpbQT2L9YgdTHXIYuEhKeJHpogCu9Nex?=
 =?us-ascii?Q?jLsKsSCbArWsEZr4RaMdwFqTcX4gzE2H3T3+4GVjrH6pbk68Y+AOMJ4q4B4/?=
 =?us-ascii?Q?CghGCkvoJqP+BcYkUpgdQGxXV2m2soU6JX/bKdQRcU4nSi6M9v2oyk6gIGu9?=
 =?us-ascii?Q?RMslI76nFHt+7bNsHCYEu2Y8AMutqhqcWQQ96VZ2tJ598fjkQ6/zd+eTH9Xd?=
 =?us-ascii?Q?Ydp10TkjxFTn2QRTZqqJdM42N8cdQbXG3CsOAIUi6QvsiuINqzvauttQOsIe?=
 =?us-ascii?Q?Qzf93w7y+oFE5Ah4usrRfl0CCRlEsBTyP/OI6d0LmqTY6cCVMsuSbimr5e+a?=
 =?us-ascii?Q?y11oMpJ0ef3VcVUV1ubgxxS/BBYEoj/dNOAly1Q9q5DlGDmMW4KOjemykgYq?=
 =?us-ascii?Q?PL8BpjPmYnexkzWjagDkLzPjDMAQFsLlLuNAgHgT1WEPO+ROwafRzTw3dBua?=
 =?us-ascii?Q?E5b1kVEX570RgPC0NxRr1bXqbZZ82+6feMg80/EeDywhK+DYhRAKCCVQA4ya?=
 =?us-ascii?Q?Lx6euCUU7J+wCLQDxRS2rcEWga6izvcvKg8Ty7wpsMcEjqo4fU0AsdVJCUqw?=
 =?us-ascii?Q?MiadqvRSzI5XaScQnAk=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(376014)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2025 10:16:30.4529
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f9debf36-eba8-4a48-78ef-08de0a419406
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ1PEPF00001CE5.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB9239

Function xsm_iomem_mapping() seems redundant, and in flask policy, it just
directly calls xsm_iomem_permission().
Remove it and use xsm_iomem_permission() instead, with the benefit of a
cf_check disappearing too.

Suggested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
v2 -> v3:
- new commit
---
 xen/common/domctl.c       | 2 +-
 xen/drivers/vpci/header.c | 2 +-
 xen/include/xsm/dummy.h   | 7 -------
 xen/include/xsm/xsm.h     | 8 --------
 xen/xsm/dummy.c           | 1 -
 xen/xsm/flask/hooks.c     | 6 ------
 6 files changed, 2 insertions(+), 24 deletions(-)

diff --git a/xen/common/domctl.c b/xen/common/domctl.c
index 954d790226..71ebeff494 100644
--- a/xen/common/domctl.c
+++ b/xen/common/domctl.c
@@ -701,7 +701,7 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
              !iomem_access_permitted(d, mfn, mfn_end) )
             break;
 
-        ret = xsm_iomem_mapping(XSM_HOOK, d, mfn, mfn_end, add);
+        ret = xsm_iomem_permission(XSM_HOOK, d, mfn, mfn_end, add);
         if ( ret )
             break;
 
diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
index 469f497744..1ff6c63f4d 100644
--- a/xen/drivers/vpci/header.c
+++ b/xen/drivers/vpci/header.c
@@ -67,7 +67,7 @@ static int cf_check map_range(
             return -EPERM;
         }
 
-        rc = xsm_iomem_mapping(XSM_HOOK, map->d, map_mfn, m_end, map->map);
+        rc = xsm_iomem_permission(XSM_HOOK, map->d, map_mfn, m_end, map->map);
         if ( rc )
         {
             printk(XENLOG_G_WARNING
diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h
index 12792c3a43..5e29165763 100644
--- a/xen/include/xsm/dummy.h
+++ b/xen/include/xsm/dummy.h
@@ -570,13 +570,6 @@ static XSM_INLINE int cf_check xsm_iomem_permission(
     return xsm_default_action(action, current->domain, d);
 }
 
-static XSM_INLINE int cf_check xsm_iomem_mapping(
-    XSM_DEFAULT_ARG struct domain *d, uint64_t s, uint64_t e, uint8_t allow)
-{
-    XSM_ASSERT_ACTION(XSM_HOOK);
-    return xsm_default_action(action, current->domain, d);
-}
-
 static XSM_INLINE int cf_check xsm_pci_config_permission(
     XSM_DEFAULT_ARG struct domain *d, uint32_t machine_bdf, uint16_t start,
     uint16_t end, uint8_t access)
diff --git a/xen/include/xsm/xsm.h b/xen/include/xsm/xsm.h
index 9a23d2827c..34caad2f7e 100644
--- a/xen/include/xsm/xsm.h
+++ b/xen/include/xsm/xsm.h
@@ -116,8 +116,6 @@ struct xsm_ops {
     int (*irq_permission)(struct domain *d, int pirq, uint8_t allow);
     int (*iomem_permission)(struct domain *d, uint64_t s, uint64_t e,
                             uint8_t allow);
-    int (*iomem_mapping)(struct domain *d, uint64_t s, uint64_t e,
-                         uint8_t allow);
     int (*pci_config_permission)(struct domain *d, uint32_t machine_bdf,
                                  uint16_t start, uint16_t end, uint8_t access);
 
@@ -517,12 +515,6 @@ static inline int xsm_iomem_permission(
     return alternative_call(xsm_ops.iomem_permission, d, s, e, allow);
 }
 
-static inline int xsm_iomem_mapping(
-    xsm_default_t def, struct domain *d, uint64_t s, uint64_t e, uint8_t allow)
-{
-    return alternative_call(xsm_ops.iomem_mapping, d, s, e, allow);
-}
-
 static inline int xsm_pci_config_permission(
     xsm_default_t def, struct domain *d, uint32_t machine_bdf, uint16_t start,
     uint16_t end, uint8_t access)
diff --git a/xen/xsm/dummy.c b/xen/xsm/dummy.c
index 8b7e01b506..86daca3e89 100644
--- a/xen/xsm/dummy.c
+++ b/xen/xsm/dummy.c
@@ -75,7 +75,6 @@ static const struct xsm_ops __initconst_cf_clobber dummy_ops = {
     .unbind_pt_irq                 = xsm_unbind_pt_irq,
     .irq_permission                = xsm_irq_permission,
     .iomem_permission              = xsm_iomem_permission,
-    .iomem_mapping                 = xsm_iomem_mapping,
     .pci_config_permission         = xsm_pci_config_permission,
     .get_vnumainfo                 = xsm_get_vnumainfo,
 
diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c
index b0308e1b26..e98920dd52 100644
--- a/xen/xsm/flask/hooks.c
+++ b/xen/xsm/flask/hooks.c
@@ -1167,11 +1167,6 @@ static int cf_check flask_iomem_permission(
     return security_iterate_iomem_sids(start, end, _iomem_has_perm, &data);
 }
 
-static int cf_check flask_iomem_mapping(struct domain *d, uint64_t start, uint64_t end, uint8_t access)
-{
-    return flask_iomem_permission(d, start, end, access);
-}
-
 static int cf_check flask_pci_config_permission(
     struct domain *d, uint32_t machine_bdf, uint16_t start, uint16_t end,
     uint8_t access)
@@ -1945,7 +1940,6 @@ static const struct xsm_ops __initconst_cf_clobber flask_ops = {
     .unbind_pt_irq = flask_unbind_pt_irq,
     .irq_permission = flask_irq_permission,
     .iomem_permission = flask_iomem_permission,
-    .iomem_mapping = flask_iomem_mapping,
     .pci_config_permission = flask_pci_config_permission,
 
     .resource_plug_core = flask_resource_plug_core,
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Oct 13 10:16:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 10:16:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141906.1476097 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8Fbd-0004g3-Or; Mon, 13 Oct 2025 10:16:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141906.1476097; Mon, 13 Oct 2025 10:16:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8Fbd-0004ft-Ic; Mon, 13 Oct 2025 10:16:41 +0000
Received: by outflank-mailman (input) for mailman id 1141906;
 Mon, 13 Oct 2025 10:16:40 +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
 <SRS0=gL+L=4W=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1v8Fbb-0004Hi-Uy
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 10:16:39 +0000
Received: from SA9PR02CU001.outbound.protection.outlook.com
 (mail-southcentralusazlp170130001.outbound.protection.outlook.com
 [2a01:111:f403:c10c::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b46e54b7-a81d-11f0-9d15-b5c5bf9af7f9;
 Mon, 13 Oct 2025 12:16:39 +0200 (CEST)
Received: from BY3PR03CA0027.namprd03.prod.outlook.com (2603:10b6:a03:39a::32)
 by PH7PR12MB5880.namprd12.prod.outlook.com (2603:10b6:510:1d8::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.12; Mon, 13 Oct
 2025 10:16:33 +0000
Received: from SJ1PEPF00001CE5.namprd03.prod.outlook.com
 (2603:10b6:a03:39a:cafe::a9) by BY3PR03CA0027.outlook.office365.com
 (2603:10b6:a03:39a::32) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9203.12 via Frontend Transport; Mon,
 13 Oct 2025 10:16:07 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 SJ1PEPF00001CE5.mail.protection.outlook.com (10.167.242.21) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9228.7 via Frontend Transport; Mon, 13 Oct 2025 10:16:33 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) by
 satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.2562.17; Mon, 13 Oct 2025 03:16:31 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b46e54b7-a81d-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=DDNrXw4NO1ytbAkC1dKDJNq7Z5lDZhMsZb4JJrF4zLHspnacHRCa71jpv9rudCQ2rrE6DxYze2VJLzFDOwfqWaGD3lTGPJA5NxofVv315n0cJ5UVo6i/KA9sjQEJgSbQSzlSWiYxUksk5k2fkiYAKw/8111p8UCoDDuXU1CTlgm/3XFG1XXtshYeDvbwNFufreXTWtRZf/rTL8TWFAsPDqG2/3StqZMU6t1VqtYbUrJf0OEVeJnTTG4ny9eX+2YO8+Jo3uLZTPCTq0xS2kQ0VZkCYV3/u8OayroGdEn6Rbn/0BQfGdF/dUi3h66zZTHQw+k1/EguvMC2jAmp4TL1EA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Mql/dsfaYIKIOGvkNWnbjlJZEqTDwvDfgY4DWzwyQkk=;
 b=bsOrAtrTcDWg6rY9MHtfgy6ywgSVRymTPgNP/OArCd+4N8yvvsm6aHAx9qtSpWBFvTZIGs8Y9/aizgJ2akdfF2D7UOkq0xwEb7Qfy274RVmYCc5p1it7ZPVBNjTMBF+ZTKAkdpnewgSvcqs4+J8ANJowSMjOxnopYebMPUOM1HqjC0qfHC0KNFJog4zOHrVfd5GDmcXsKjm0oeUD4ajJPTKKEVFlL5vc2QZgV6cbo6PS8hctq2gkc8gBC9vrvUOz2GcnQb2zoYPjq/u5pFtsWb6JrfpYNKGN6dM8ur5Z2toze+obGtQ71NW5kVWnmK7KpoIr6Dd0k6wxzFMZ3x3pEA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Mql/dsfaYIKIOGvkNWnbjlJZEqTDwvDfgY4DWzwyQkk=;
 b=YR4R4i73HmiVVi2X7VG+gnILQWjQ+8VDT6sg/0lmGEfJnxE2YKoA83AKDhYJOPFrvXR6/842qe4tkPcRnMiocmC2kPF6nX2N6JOiyDvTx+dz42odoBQMAOTg2ICVNI1Oxxfn23HT9Ex98ChyqQyftS0FRI3YbxBC6R/riPF1+5w=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.com>, <oleksii.kurochko@gmail.com>, Penny Zheng
	<Penny.Zheng@amd.com>, Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>
Subject: [PATCH v3 03/28] xen/altp2m: move p2m_set_suppress_ve_multi() forward
Date: Mon, 13 Oct 2025 18:15:15 +0800
Message-ID: <20251013101540.3502842-4-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20251013101540.3502842-1-Penny.Zheng@amd.com>
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ1PEPF00001CE5:EE_|PH7PR12MB5880:EE_
X-MS-Office365-Filtering-Correlation-Id: f344523c-4356-4539-00d8-08de0a4195ed
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|82310400026|36860700013|376014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?MmnZaXGN6BIrBLc1W+uWh8WXswh2ZKdNphxnNXiiC/kHRmq4TCt2aX4YSmEV?=
 =?us-ascii?Q?E5b12xMHfYUGScOxYqzGj5bhb7GnUXEavCU4bQqK9zGokEoMYA3THBwhvAJs?=
 =?us-ascii?Q?O/2hMgB9LfU6+pApgpJ4OdF5sEmkGsCLkErWIEWVybW2ISXRCJ20JOhOnuDE?=
 =?us-ascii?Q?LDef51Qg5Z6KKRAfxdAsAta0wuYyfYYvlGteC1DEawjOXUHxSptZDu7GB67B?=
 =?us-ascii?Q?v6g8U4XHcPMXQ2UJtFVh4OvdILLfJbIosItoSn0LCbrU/+2ol4oLftEmo2LU?=
 =?us-ascii?Q?4WJfoA+5JvMhMonUf5dCaW8qu2B1/wGxKnrLUEoto9NADyShQVIg96AD3xHW?=
 =?us-ascii?Q?DhdUqY3IBAgGfl5t1Kteln3Hg0Byj34jnn+RQwcRHMQ6XiPyAZ5MM81PCnaB?=
 =?us-ascii?Q?oeGKhda4/89Ih4EyB3aZX+TT9FywHumH4bPndgW5oFhaZM+z5Zj4LF59rqdW?=
 =?us-ascii?Q?EUseAxIyDoCtIB/4em6UBeQAxY88XoZxV0yBzHEeB57X41uFSnF9sx3H/lRp?=
 =?us-ascii?Q?toWnVE6DaAQDLgWpCP1fzMWz1yUryRPtfgf7P1YKhDo1HWwfaXY0g0tlDDiz?=
 =?us-ascii?Q?Nwvd+h/zZ+cJCrcVURRaXkJG9z7uqUApiadkc0mkIlyotokywxyZnM98UDY/?=
 =?us-ascii?Q?g9jNnG5N4A4tLTRAgB/EcTsASzW6+hJhjL+yhgu1gYDuSImlUZsT6HjyoZ7A?=
 =?us-ascii?Q?UBgUxleTzkfhifVoodiw1LlmizmrlJMt3uucuOfao3LUR0T9mFnKTo8IPsqe?=
 =?us-ascii?Q?HnbvawkpceYffOznTmlbBhcQtwV+39nUykiTSHXmrsDsZlfpXi7rWgI/4fV6?=
 =?us-ascii?Q?0hUmmmUFhMfSwuSN/uBS2W40xYQuKOJcgNY/w62fcPNaB9dFdLHbAGmXzeD1?=
 =?us-ascii?Q?zCnmp04gwaa85Gs0WeRn2hnbSUIMfZmCGq3Lk2c0wLaRPt8r6MtcaWIDYrVO?=
 =?us-ascii?Q?b8sP1E3XUE5KTpy/XXAO9VLTGeGq4xfCgEeLq/5eRxk4rMDjKBzx3EjQcqsF?=
 =?us-ascii?Q?nG940HCDTCP3wjg5uV+HtdWNNlgdV8UEB3hck1ZijCZloU9WS8sQuT1tTAeA?=
 =?us-ascii?Q?y+UYKwK99ChzSzeOKtPjehkvUuAfZgAPBp4PyqJ0lK8QoQU5Pdk5cnaA6EAU?=
 =?us-ascii?Q?7yC+QMhPKu8vJdpLaVh4FRvMtN29OYGnBhWkiKMQH8gGLcOcQZZkjz8A+vxy?=
 =?us-ascii?Q?vYc6Pya1ZayAHFKt3uuaCPqP2hVmV8rAKGwmPG/0Kc2AtUwxaL6loiNMYZIB?=
 =?us-ascii?Q?s7AnQRM4MsOcwjb8G0UScsqh6tpMHmCwr5UOtW/Y0vFRqlwh8lWmrfjy3Ea1?=
 =?us-ascii?Q?YcImVs7sE6A/y7fJw1CHD8D2Pm6KWA0L1/EVNzAqN3U5dshAuiTgEJtPg0MW?=
 =?us-ascii?Q?/d/7DGuJVcYufAOwgVQ+9sZNkPExWGkmidQ+aFCB2NTkUTiCKxaH7QmSzYLu?=
 =?us-ascii?Q?MMctkM3EmNL/8KSWeTa5yqmjsgH9o81qaGHMHwdB5wKEFyTGkRPXrZ6cdt2A?=
 =?us-ascii?Q?6v6KgCJEPjFGR8+KfxFSJvxjvI9kdUlH1xeacL/saIB4k8R09Sh5k9B+qODd?=
 =?us-ascii?Q?/5U7ZciCIwVk7xNQA20=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(82310400026)(36860700013)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2025 10:16:33.6419
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f344523c-4356-4539-00d8-08de0a4195ed
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ1PEPF00001CE5.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB5880

The declaration of p2m_set_suppress_ve_multi() is in <asm/mem_access.h> and
hasn't been included on compiling altp2m.o when VM_EVENT=n, resulting in
undefined error.
To fix it, we could simply move p2m_set_suppress_ve_multi() forward.

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
v2 -> v3:
- new commit
---
 xen/arch/x86/mm/altp2m.c | 34 +++++++++++++++++-----------------
 1 file changed, 17 insertions(+), 17 deletions(-)

diff --git a/xen/arch/x86/mm/altp2m.c b/xen/arch/x86/mm/altp2m.c
index 0261360aae..962111fbb0 100644
--- a/xen/arch/x86/mm/altp2m.c
+++ b/xen/arch/x86/mm/altp2m.c
@@ -640,23 +640,6 @@ int p2m_altp2m_propagate_change(struct domain *d, gfn_t gfn,
     return ret;
 }
 
-/*
- * Set/clear the #VE suppress bit for a page.  Only available on VMX.
- */
-int p2m_set_suppress_ve(struct domain *d, gfn_t gfn, bool suppress_ve,
-                        unsigned int altp2m_idx)
-{
-    int rc;
-    struct xen_hvm_altp2m_suppress_ve_multi sve = {
-        altp2m_idx, suppress_ve, 0, 0, gfn_x(gfn), gfn_x(gfn), 0
-    };
-
-    if ( !(rc = p2m_set_suppress_ve_multi(d, &sve)) )
-        rc = sve.first_error;
-
-    return rc;
-}
-
 /*
  * Set/clear the #VE suppress bit for multiple pages.  Only available on VMX.
  */
@@ -725,6 +708,23 @@ int p2m_set_suppress_ve_multi(struct domain *d,
     return rc;
 }
 
+/*
+ * Set/clear the #VE suppress bit for a page.  Only available on VMX.
+ */
+int p2m_set_suppress_ve(struct domain *d, gfn_t gfn, bool suppress_ve,
+                        unsigned int altp2m_idx)
+{
+    int rc;
+    struct xen_hvm_altp2m_suppress_ve_multi sve = {
+        altp2m_idx, suppress_ve, 0, 0, gfn_x(gfn), gfn_x(gfn), 0
+    };
+
+    if ( !(rc = p2m_set_suppress_ve_multi(d, &sve)) )
+        rc = sve.first_error;
+
+    return rc;
+}
+
 int p2m_get_suppress_ve(struct domain *d, gfn_t gfn, bool *suppress_ve,
                         unsigned int altp2m_idx)
 {
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Oct 13 10:16:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 10:16:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141907.1476114 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8Fbh-0005G7-1O; Mon, 13 Oct 2025 10:16:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141907.1476114; Mon, 13 Oct 2025 10:16:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8Fbg-0005Fu-U9; Mon, 13 Oct 2025 10:16:44 +0000
Received: by outflank-mailman (input) for mailman id 1141907;
 Mon, 13 Oct 2025 10:16:43 +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
 <SRS0=gL+L=4W=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1v8Fbf-0004Hi-4S
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 10:16:43 +0000
Received: from SA9PR02CU001.outbound.protection.outlook.com
 (mail-southcentralusazlp170130001.outbound.protection.outlook.com
 [2a01:111:f403:c10c::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b6e5c306-a81d-11f0-9d15-b5c5bf9af7f9;
 Mon, 13 Oct 2025 12:16:42 +0200 (CEST)
Received: from MW2PR16CA0025.namprd16.prod.outlook.com (2603:10b6:907::38) by
 DS0PR12MB9725.namprd12.prod.outlook.com (2603:10b6:8:226::24) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9203.12; Mon, 13 Oct 2025 10:16:38 +0000
Received: from SJ1PEPF00001CE9.namprd03.prod.outlook.com
 (2603:10b6:907:0:cafe::db) by MW2PR16CA0025.outlook.office365.com
 (2603:10b6:907::38) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9203.12 via Frontend Transport; Mon,
 13 Oct 2025 10:16:36 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 SJ1PEPF00001CE9.mail.protection.outlook.com (10.167.242.25) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9228.7 via Frontend Transport; Mon, 13 Oct 2025 10:16:37 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) by
 satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.2562.17; Mon, 13 Oct 2025 03:16:33 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b6e5c306-a81d-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=r0b/THGj7JIVVp3pdxbqNFlY+oSeFNu3PiJaLahhhDPJIhKpaKmECsV54rtHUt8SlUpqn9aehqMtRIfNqQ4ds9vGGM58KZY0B0qA4AubD8DZTcG2jziIAONAWB3thu1G2U1QNiq+2CW+J8eheUxb+m4UT2gwAxYoq2yPP8IFoUKpZm5MoUPWajdm1BKanturIVNFU3b1ppZyJnkLvG2PuHd9RKn5dQfJyoBxMejX8y2Ik8MV4BIA0C5Wv8E0p8tLApRnYcSVuM///2K5m36omgTFj+qAod2/vZqQDrgrJW1nwf1M2TmV0GrSeaMpjgH2UO3iTAm+4vqjevDqAtauMw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4Z/pSsUa3YtE1f7FvQvi+IxLN38uxBzuO8S4No8CmOs=;
 b=iMBEYZSITPxh2CxLCCW3IzZOUujjXqhN3tfkO4tKMuEgH0pQ3CvVcIgkiATmCc+IV+YbAIk9iiSTycpIL8166tq+PxKuqikoc9CCuDtlJpwOILwDdoYRBE987QWJ6mZTWyMUg9YU3BO3ytBfq+Zfuocm/HwBX08RZU7ANbfHIFvnEHMbmqGxTQthJ25X0uJu0x15ktXHBCYhyX1eZt4/7hK+Rwfm12nGFLsKeKmttV6+nD7/3erk0oSIF3mLN+rTd5z1c63bEYyonq7MoMwXGmcp5IKLsbxuw89gf6wOa5zScjWwU1xr2JH1XrQQFOXhmMF0mT6OEOcVqK6GUlwqWQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4Z/pSsUa3YtE1f7FvQvi+IxLN38uxBzuO8S4No8CmOs=;
 b=itRDusZEUaUVSCVkXpbw4iO0ndHWGMZGg2LBHTJK7Y76kdjtyANycdTvKKjSOibnIwssDVG6MaIpTvqvwHyNW1evm40UvblmwxAbcMvz2lWAb3Ed+ROx9QCIOSFXGCQjRUu4JBSozz5KPXqB/yY+BW0mT2WKdWhhpMJG6U3mMPk=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.com>, <oleksii.kurochko@gmail.com>, Penny Zheng
	<Penny.Zheng@amd.com>, Dario Faggioli <dfaggioli@suse.com>, Juergen Gross
	<jgross@suse.com>, George Dunlap <gwd@xenproject.org>, Jan Beulich
	<jbeulich@suse.com>
Subject: [PATCH v3 04/28] xen/sched: remove vcpu_set_soft_affinity()
Date: Mon, 13 Oct 2025 18:15:16 +0800
Message-ID: <20251013101540.3502842-5-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20251013101540.3502842-1-Penny.Zheng@amd.com>
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ1PEPF00001CE9:EE_|DS0PR12MB9725:EE_
X-MS-Office365-Filtering-Correlation-Id: 0649f73b-7723-451e-dd15-08de0a419833
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|82310400026|36860700013|376014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?VIK1DfWcwLyhK1o1ptWoQ/4rpQQH2c780TySL03zXVKCtbwo9Kw1Nnsp/M4U?=
 =?us-ascii?Q?HPS4J203hYfUPrC7ZowD0hGHja9fOZbCXqKkbcYlP1jL8apq41aMega8cFRl?=
 =?us-ascii?Q?ipRbmc6CBBf8SC48Jy241KDup/FehN5CYdxzPIi6J6y5ap+WYqm/tDdsz0BQ?=
 =?us-ascii?Q?KUkKWFROkeTaHXOFfOcq6VNjVjoDLtZR2/2nrwOOfQUDhDWu8EyaxEAi0vf6?=
 =?us-ascii?Q?uPixZWJ8pKsh7bRz8M8dEEwYnN7Y8njW9xrdrq2rPUsMO38HAo/WtHejSugn?=
 =?us-ascii?Q?fKF2VGdI2F9PXXI9ma60bI6hKAJNR+m9TdWl963v1Ur0Mv/QoYl8y8UvJ5SX?=
 =?us-ascii?Q?PmXOD4vUwdKj19j1bnTqKikBu5xxcXkUV5Z//o7JKLUtp2DOe6rQNm6XWyer?=
 =?us-ascii?Q?7UywWwMbnVpFDU0Eelaah3QVGPkvWzAWkpIbAwWAyCfHWEglt0X3xD+6PUMx?=
 =?us-ascii?Q?Qas73aE3qwqE3MPXxSCOh9WIJhLmusyjQktGiEMX3Wuy/p5nND3le76DlSsI?=
 =?us-ascii?Q?3/FKfZf2rec4X04HnZEEdCbY540SzRoeiNPkI/NeeGwjHR/QPl6cSlGSQFmM?=
 =?us-ascii?Q?+I8y+40ZfrwyHDeht7Ypi8nMFnVYow/HDk8ok+JW0eB8P79Xz1+vGGk4JkeK?=
 =?us-ascii?Q?CdY/BBYIey02iZ8Tjvq8bJCk198fUgR6bzJTkirA+1t9hDq5+553V8J3xZFs?=
 =?us-ascii?Q?JVuUnfakmi2ROET9/O+vPuQwd3eoMyqBv+jlXTfR3lDbiJs4VpPRezDcA316?=
 =?us-ascii?Q?wiQRhAz8mNoU2V61X14nGPHqwiNQCzstGOawBdAZ6W/xXs/U3iCGsZBzRSDR?=
 =?us-ascii?Q?A+mbjwPOUDf9b/p8K72237aUlio7EdbpYUWv9gKoswg3snv7new5C4KhPYDP?=
 =?us-ascii?Q?SA8i9aYZ4I6cWcRhau0or9tcNkM+h6TczbzFiQziicx5oxAHnN5WQSJUWxit?=
 =?us-ascii?Q?+WuJqcmPiW73SNkck+YChHVQsrdw/dYx+Xq28vlu/DSGo8j5Q03mmXH6axr0?=
 =?us-ascii?Q?fjH04t3PkhK9Ex+Eg2prdOWnp6JI7iyjS8JeF0wP+GNd+hM7dkEJICW+uKLr?=
 =?us-ascii?Q?ESRZyIw0uoBXGu9kfsU3qa6shN1FKI5xUENvOK9ZqHlB6EBb9dlPISqu+Bk+?=
 =?us-ascii?Q?s7nZ0/5eeNSFHsxfSH6nMRvEVolC1NwxEAB+HJI5b9i5t/KBVhPndFltLRfD?=
 =?us-ascii?Q?kpZ7B9HRKD1Sr+T7WyhjDHMM6k7W5+cHmBYoa6vkaAjSF/OcHcc2aWY4LuEn?=
 =?us-ascii?Q?jIl8gvwlapHIgre3pubooz3KuovWM+hh3e9HgD4n939gfV7XL9qbZa5/rq18?=
 =?us-ascii?Q?OyigNEhhrTCZzgiQ0Oei62JS9C177ht6b+CmxOpeAeCbskdGWFFG0axj6ynH?=
 =?us-ascii?Q?g+ZHK4gZb8eitZFrYM8znmWejYWlauAPIJYGo7eoymKqGqbmJGgbfnOKA4uW?=
 =?us-ascii?Q?lcuIIHWyGlEnq4G6iOgSvHjHvQP0SJSfMRvHSoxVS9OYgrlqaoZj78H+FaUL?=
 =?us-ascii?Q?wrTYz5m0/a0Ay1eKuMIC+8jmmuKl8liYd5poleJXZ3O2b4JwqxvgIYmL39y4?=
 =?us-ascii?Q?iCnanWQwOkJt03gjhh4=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(82310400026)(36860700013)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2025 10:16:37.4538
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0649f73b-7723-451e-dd15-08de0a419833
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ1PEPF00001CE9.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB9725

Helper vcpu_set_soft_affinity() only has a single caller, so it is of little
value to keep it as a helper and could easily be expanded at the sole call
site.

Suggested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
v2 -> v3:
- new commit
---
 xen/common/sched/core.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
index 2ab4313517..ec2448cfa1 100644
--- a/xen/common/sched/core.c
+++ b/xen/common/sched/core.c
@@ -1402,11 +1402,6 @@ int vcpu_set_hard_affinity(struct vcpu *v, const cpumask_t *affinity)
     return vcpu_set_affinity(v, affinity, v->sched_unit->cpu_hard_affinity);
 }
 
-static int vcpu_set_soft_affinity(struct vcpu *v, const cpumask_t *affinity)
-{
-    return vcpu_set_affinity(v, affinity, v->sched_unit->cpu_soft_affinity);
-}
-
 /* Block the currently-executing domain until a pertinent event occurs. */
 void vcpu_block(void)
 {
@@ -1762,8 +1757,9 @@ int vcpu_affinity_domctl(struct domain *d, uint32_t cmd,
         {
             ret = xenctl_bitmap_to_bitmap(cpumask_bits(new_affinity),
                                           &vcpuaff->cpumap_soft, nr_cpu_ids);
-            if ( !ret)
-                ret = vcpu_set_soft_affinity(v, new_affinity);
+            if ( !ret )
+                ret = vcpu_set_affinity(v, new_affinity,
+                                        v->sched_unit->cpu_soft_affinity);
             if ( ret )
             {
                 /*
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Oct 13 10:16:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 10:16:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141908.1476124 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8Fbj-0005Z5-Hh; Mon, 13 Oct 2025 10:16:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141908.1476124; Mon, 13 Oct 2025 10:16:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8Fbj-0005Yt-CP; Mon, 13 Oct 2025 10:16:47 +0000
Received: by outflank-mailman (input) for mailman id 1141908;
 Mon, 13 Oct 2025 10:16:46 +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
 <SRS0=gL+L=4W=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1v8Fbi-0004Hi-8A
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 10:16:46 +0000
Received: from CY7PR03CU001.outbound.protection.outlook.com
 (mail-westcentralusazlp170100005.outbound.protection.outlook.com
 [2a01:111:f403:c112::5])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b79418a5-a81d-11f0-9d15-b5c5bf9af7f9;
 Mon, 13 Oct 2025 12:16:44 +0200 (CEST)
Received: from MW2PR16CA0034.namprd16.prod.outlook.com (2603:10b6:907::47) by
 DS2PR12MB9750.namprd12.prod.outlook.com (2603:10b6:8:2b0::12) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9203.12; Mon, 13 Oct 2025 10:16:42 +0000
Received: from SJ1PEPF00001CE9.namprd03.prod.outlook.com
 (2603:10b6:907:0:cafe::ba) by MW2PR16CA0034.outlook.office365.com
 (2603:10b6:907::47) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9203.12 via Frontend Transport; Mon,
 13 Oct 2025 10:16:41 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 SJ1PEPF00001CE9.mail.protection.outlook.com (10.167.242.25) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9228.7 via Frontend Transport; Mon, 13 Oct 2025 10:16:41 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) by
 satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.2562.17; Mon, 13 Oct 2025 03:16:35 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b79418a5-a81d-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=q+XdJlmzXIMXEbEDxF1xz9WSaOuKlQzG8ENIqq56LwD9FAobfgo7nAzb1AMIpAzr3vTgfgNPBd2otE/QOK9koPgYsNa8xm6z2jStZuT7PqEM9whfRSStdmzYmY/D4R5Htc7eIJpMywpVok1qHIvC++T9LfiV8PcUFn5tBhdRxzuHrlxohfrSvcF/0WaiRRDaLIzjmVsSyExsUh4oU+IA0d7zKBCckyIecXIt033+hyuc/a7M1VFYHQW0OJjCCU10XyMKDEZvktMYmbtOr6B5ll+RytRwQEhgNNnL0GEZ6HBTqPh8odDezIDblDgKsVEYcKosN2MpyA7quZiRJPHjQg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ruQtqou7kH+jdJupeFTSa5g3SUFadcT1HEwyYoD1qYw=;
 b=bDB85x4/f1zkghL1bpR0Y5oCoM/v0d2kkATRa08ylSz+Y+QVHjk98cjd5fnDSmENLl7zS28hGx8qspKD+OpAZ88vaXNBfVS57oDGoghgjy6AbP8YXQ3RDOelCsYqqzVQMRIPg+yeHfyooDPnoYDTlg70FxFHL2EW74RCccF4vmUYHmKK9FW+5Yg/dEyclScx7I/kbffjAbzgtgJUNU9Wg/nZKAR0boBrfpceNX3QP+9GnvIo4gOA2ud1cykrdxpJ2cTqrI6JnbWgZdwwmsWgXfh3nPFagbHBf1sBuwZbZh6VbTF/bDiqoRl/FNqe824T1LU4jOQwDR8ULFqyNmOtvw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ruQtqou7kH+jdJupeFTSa5g3SUFadcT1HEwyYoD1qYw=;
 b=VQYOjSMXejjCtvAOzvJc4VrySyiD7mtJEis70FQT9Gf/bQ52sI1SRCp6eT1h1BoWn+2Fq1T+SzC8dlR8AtIfr8inQZ89PyKuOOPIynn2LuMeiNOMAYHHlNUw/PJ+TiK2drvDBufsdd71BgpBKk0l2juazFyGv2Z7x9iesediVRU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>, <xen-devel@dornerworks.com>
CC: <ray.huang@amd.com>, <oleksii.kurochko@gmail.com>, Penny Zheng
	<Penny.Zheng@amd.com>, Andrew Cooper <andrew.cooper3@citrix.com>, "Anthony
 PERARD" <anthony.perard@vates.tech>, Michal Orzel <michal.orzel@amd.com>,
	"Jan Beulich" <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Alistair Francis <alistair.francis@wdc.com>, Bob Eshleman
	<bobbyeshleman@gmail.com>, Connor Davis <connojdavis@gmail.com>, "Nathan
 Studer" <nathan.studer@dornerworks.com>, Stewart Hildebrand
	<stewart@stew.dk>, Dario Faggioli <dfaggioli@suse.com>, Juergen Gross
	<jgross@suse.com>, "George Dunlap" <gwd@xenproject.org>, "Daniel P. Smith"
	<dpsmith@apertussolutions.com>
Subject: [PATCH v3 05/28] xen/sysctl: replace CONFIG_SYSCTL with CONFIG_MGMT_DOMCTL
Date: Mon, 13 Oct 2025 18:15:17 +0800
Message-ID: <20251013101540.3502842-6-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20251013101540.3502842-1-Penny.Zheng@amd.com>
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ1PEPF00001CE9:EE_|DS2PR12MB9750:EE_
X-MS-Office365-Filtering-Correlation-Id: efebc9b7-809c-4a92-927c-08de0a419ab0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|36860700013|376014|82310400026|7416014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?8qoW6b83oOPWpxZViJWliA0tq6PEOhfaoudg5LHf+4xEvICHn+jeL5AIeieu?=
 =?us-ascii?Q?fokS+ecyV9L0oJUdpDkfaKEzKWbTFPiBdiEGmwMRpjzB4NvM9S/hX2zMvA0e?=
 =?us-ascii?Q?G0eoWfmEEncgp5jyC40d8ku1bdBg2v14S44zxqJwEobBTH+9GRqraBW5YRSR?=
 =?us-ascii?Q?m21g9Lb+pKRIf9ChSvrX2/ozBloB7SHRXONyR0aKDMCSnOOw8IkQaweVp0ac?=
 =?us-ascii?Q?o8Ixa1nzRPHHhD3PO9R3cia5mu5v/1ipfUmrWG+EL1QfR8lct9Tj06HzaUYw?=
 =?us-ascii?Q?ZK7mQBvGWA5TB/jrl8xDPwxLeteWwL08z5aIzlG9ehkA6HAbdl+L30wUIIGE?=
 =?us-ascii?Q?p5Fx64pNlfct1+n7sI3692B/AdQQDYrcl6nJtA6EdMDxT6x/0xuA2P/vK4BA?=
 =?us-ascii?Q?4760/oh7lkIU2htVTt5HGZdGzmXsz0IUxqa877jnfqPyXhh8wxe/ACbWNPcC?=
 =?us-ascii?Q?Klin6iZKHTqJl3Dg5j5pIBKsQYJtMrxo7e1FSlZzlIecMTqFBDZ/kAnEpFfp?=
 =?us-ascii?Q?LjcZfkBgOVW/Pe6DTjOnjNm1pQ+FbGOk1AJxC5pXSsb7GBsu9TVptqQKyKcy?=
 =?us-ascii?Q?S6L2UOvpc4xu8mmeQUp/O41Fb1zymAGowwP50N/XWjv5+026LN3nHhDTMjic?=
 =?us-ascii?Q?Z92I5BT7kXmKvYcYd8f1Y1ooeEvaxa/uSMfcCkaSOFD85BSnHRvqcBVUR5cV?=
 =?us-ascii?Q?b6PL2HaXxyKvn9i1GSyNyPtduRA/FNJ8eJARUQBQ2grV7/ZnEj2nWrl+hRqD?=
 =?us-ascii?Q?TvrVXWBWQqN/UV+3ycVaTKZWOM19NR7ku+BuBHU02aub4Z+C64daUGP/is+n?=
 =?us-ascii?Q?5zsjqc7A9RQzxQlDojfq7qU04tTZpIr5fjLx8KEhkpoUUBJVNKixn4KBgS10?=
 =?us-ascii?Q?21C1PZo1ZSqoVejvh0G0QaDiGh3KyfTT0lP0VxhH7/o1jgFazQsSOQHS8JD6?=
 =?us-ascii?Q?lqkaU1/CZun0HiOII9gZdukOF3fWQts24S2LqrfGXJKTU2CQ4IB3ovT0to5J?=
 =?us-ascii?Q?obFWiiBLocyqDHXZMdwS6dQaLFiGd0s1Y8PuLifdqvlhCsFTyMBlxWj3XPoJ?=
 =?us-ascii?Q?i7lijjtMSpglMhBEUSh/VVu8EpimTBRGONTz7usCMxJFgYkbeZOtidLUlys8?=
 =?us-ascii?Q?3UOqGuyNYc0eoqBLQY3himQeNPnDgV/mGy6fWYEW9FN5htxFV3fvGRj1sdjp?=
 =?us-ascii?Q?tP/lAdj57seVcXDHeDEpScxV5w4Tyh4sx1c1R8AVOmrqnap8WvrLNeKs0y8b?=
 =?us-ascii?Q?KToWYnp9wMzj81dDG6+jgSOxM96ysxgJeod42elAvbGKjUgSwU7hPjU/TCkc?=
 =?us-ascii?Q?ZOBgDKsM+an0/EdebwU2fAm0e+4Cv7oO+4iqz1uHZPg+oHRodl5vdjSyfuuj?=
 =?us-ascii?Q?sYP3rK2F7LI55+Dyrmd1PjzjOcUeRN90iQZ+gjWTnfllrTawn85JHDlc9mab?=
 =?us-ascii?Q?lgBXQzAwhswzBYSRWBzYCwjugbllVM8hEiOXhOMbNU1DCIZpqkELFWTMxu5V?=
 =?us-ascii?Q?W3Iccbi8xmqA7/cwkpFFmX9WlBhNPuRaaInhiegQS+7wEKtAPA92Q2vBHjGu?=
 =?us-ascii?Q?+P/QpqFTqXvpKPGSqdc=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700013)(376014)(82310400026)(7416014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2025 10:16:41.6264
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: efebc9b7-809c-4a92-927c-08de0a419ab0
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ1PEPF00001CE9.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS2PR12MB9750

Rename all the CONFIG_SYSCTL into CONFIG_MGMT_HYPERCALLS to help provide a
single option to manage all unnecessary hypercalls, including
sysctl, domctl, etc, in dom0less system and PV shim mode, which could also
make it easier to support randconfigs.
While doing the replacement, we fix some bugs on xsm system:
- wrap the whole xsm function to avoid bringing unreachable codes when
MGMT_DOMCTL=n
- add missing wrapping in include/xsm/dummy.h

Suggested-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
v2 -> v3:
- wrap the whole xsm function
- add missing wrapping in include/xsm/dummy.h
- refine kconfig description
---
 xen/Kconfig.debug                     |  2 +-
 xen/arch/arm/Makefile                 |  2 +-
 xen/arch/riscv/stubs.c                |  4 ++--
 xen/arch/x86/Makefile                 |  2 +-
 xen/arch/x86/configs/pvshim_defconfig |  2 +-
 xen/arch/x86/psr.c                    | 26 +++++++++++++-------------
 xen/common/Kconfig                    | 20 ++++++++------------
 xen/common/Makefile                   |  2 +-
 xen/common/page_alloc.c               |  8 ++++----
 xen/common/perfc.c                    |  4 ++--
 xen/common/sched/arinc653.c           | 10 +++++-----
 xen/common/sched/core.c               |  6 +++---
 xen/common/sched/cpupool.c            | 16 ++++++++--------
 xen/common/sched/credit.c             |  6 +++---
 xen/common/sched/credit2.c            |  6 +++---
 xen/common/sched/private.h            |  4 ++--
 xen/common/spinlock.c                 |  4 ++--
 xen/drivers/char/console.c            |  4 ++--
 xen/include/hypercall-defs.c          |  4 ++--
 xen/include/xsm/dummy.h               |  6 ++++++
 xen/include/xsm/xsm.h                 | 24 +++++++++---------------
 xen/xsm/dummy.c                       |  6 +++---
 xen/xsm/flask/hooks.c                 | 22 +++++++++++-----------
 23 files changed, 93 insertions(+), 97 deletions(-)

diff --git a/xen/Kconfig.debug b/xen/Kconfig.debug
index d900d926c5..a69615cd63 100644
--- a/xen/Kconfig.debug
+++ b/xen/Kconfig.debug
@@ -37,7 +37,7 @@ config SELF_TESTS
 
 config COVERAGE
 	bool "Code coverage support"
-	depends on SYSCTL && !LIVEPATCH
+	depends on MGMT_HYPERCALLS && !LIVEPATCH
 	select SUPPRESS_DUPLICATE_SYMBOL_WARNINGS if !ENFORCE_UNIQUE_SYMBOLS
 	help
 	  Enable code coverage support.
diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 7e88ddd3d7..2aff1a1630 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -51,7 +51,7 @@ obj-y += setup.o
 obj-y += shutdown.o
 obj-y += smp.o
 obj-y += smpboot.o
-obj-$(CONFIG_SYSCTL) += sysctl.o
+obj-$(CONFIG_MGMT_HYPERCALLS) += sysctl.o
 obj-y += time.o
 obj-y += traps.o
 obj-y += vcpreg.o
diff --git a/xen/arch/riscv/stubs.c b/xen/arch/riscv/stubs.c
index 1a8c86cd8d..a74e56843c 100644
--- a/xen/arch/riscv/stubs.c
+++ b/xen/arch/riscv/stubs.c
@@ -282,7 +282,7 @@ unsigned long raw_copy_from_guest(void *to, const void __user *from,
     BUG_ON("unimplemented");
 }
 
-#ifdef CONFIG_SYSCTL
+#ifdef CONFIG_MGMT_HYPERCALLS
 /* sysctl.c */
 
 long arch_do_sysctl(struct xen_sysctl *sysctl,
@@ -295,7 +295,7 @@ void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
 {
     BUG_ON("unimplemented");
 }
-#endif /* CONFIG_SYSCTL */
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 /* p2m.c */
 
diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index 407571c510..d252154b05 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -66,7 +66,7 @@ obj-y += smpboot.o
 obj-y += spec_ctrl.o
 obj-y += srat.o
 obj-y += string.o
-obj-$(CONFIG_SYSCTL) += sysctl.o
+obj-$(CONFIG_MGMT_HYPERCALLS) += sysctl.o
 obj-y += time.o
 obj-y += traps-setup.o
 obj-y += traps.o
diff --git a/xen/arch/x86/configs/pvshim_defconfig b/xen/arch/x86/configs/pvshim_defconfig
index 24f4e4857d..d1db94df78 100644
--- a/xen/arch/x86/configs/pvshim_defconfig
+++ b/xen/arch/x86/configs/pvshim_defconfig
@@ -25,4 +25,4 @@ CONFIG_PDX_NONE=y
 # CONFIG_INTEL_IOMMU is not set
 # CONFIG_DEBUG is not set
 # CONFIG_GDBSX is not set
-# CONFIG_SYSCTL is not set
+# CONFIG_MGMT_HYPERCALLS is not set
diff --git a/xen/arch/x86/psr.c b/xen/arch/x86/psr.c
index cce7020868..80ce5804b4 100644
--- a/xen/arch/x86/psr.c
+++ b/xen/arch/x86/psr.c
@@ -135,7 +135,7 @@ static const struct feat_props {
      */
     enum psr_type alt_type;
 
-#ifdef CONFIG_SYSCTL
+#ifdef CONFIG_MGMT_HYPERCALLS
     /* get_feat_info is used to return feature HW info through sysctl. */
     bool (*get_feat_info)(const struct feat_node *feat,
                           uint32_t data[], unsigned int array_len);
@@ -422,7 +422,7 @@ static bool mba_init_feature(const struct cpuid_leaf *regs,
     return true;
 }
 
-#ifdef CONFIG_SYSCTL
+#ifdef CONFIG_MGMT_HYPERCALLS
 static bool cf_check cat_get_feat_info(
     const struct feat_node *feat, uint32_t data[], unsigned int array_len)
 {
@@ -435,7 +435,7 @@ static bool cf_check cat_get_feat_info(
 
     return true;
 }
-#endif /* CONFIG_SYSCTL */
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 /* L3 CAT props */
 static void cf_check l3_cat_write_msr(
@@ -448,14 +448,14 @@ static const struct feat_props l3_cat_props = {
     .cos_num = 1,
     .type[0] = PSR_TYPE_L3_CBM,
     .alt_type = PSR_TYPE_UNKNOWN,
-#ifdef CONFIG_SYSCTL
+#ifdef CONFIG_MGMT_HYPERCALLS
     .get_feat_info = cat_get_feat_info,
 #endif
     .write_msr = l3_cat_write_msr,
     .sanitize = cat_check_cbm,
 };
 
-#ifdef CONFIG_SYSCTL
+#ifdef CONFIG_MGMT_HYPERCALLS
 /* L3 CDP props */
 static bool cf_check l3_cdp_get_feat_info(
     const struct feat_node *feat, uint32_t data[], uint32_t array_len)
@@ -467,7 +467,7 @@ static bool cf_check l3_cdp_get_feat_info(
 
     return true;
 }
-#endif /* CONFIG_SYSCTL */
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 static void cf_check l3_cdp_write_msr(
     unsigned int cos, uint32_t val, enum psr_type type)
@@ -483,7 +483,7 @@ static const struct feat_props l3_cdp_props = {
     .type[0] = PSR_TYPE_L3_DATA,
     .type[1] = PSR_TYPE_L3_CODE,
     .alt_type = PSR_TYPE_L3_CBM,
-#ifdef CONFIG_SYSCTL
+#ifdef CONFIG_MGMT_HYPERCALLS
     .get_feat_info = l3_cdp_get_feat_info,
 #endif
     .write_msr = l3_cdp_write_msr,
@@ -501,14 +501,14 @@ static const struct feat_props l2_cat_props = {
     .cos_num = 1,
     .type[0] = PSR_TYPE_L2_CBM,
     .alt_type = PSR_TYPE_UNKNOWN,
-#ifdef CONFIG_SYSCTL
+#ifdef CONFIG_MGMT_HYPERCALLS
     .get_feat_info = cat_get_feat_info,
 #endif
     .write_msr = l2_cat_write_msr,
     .sanitize = cat_check_cbm,
 };
 
-#ifdef CONFIG_SYSCTL
+#ifdef CONFIG_MGMT_HYPERCALLS
 /* MBA props */
 static bool cf_check mba_get_feat_info(
     const struct feat_node *feat, uint32_t data[], unsigned int array_len)
@@ -523,7 +523,7 @@ static bool cf_check mba_get_feat_info(
 
     return true;
 }
-#endif /* CONFIG_SYSCTL */
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 static void cf_check mba_write_msr(
     unsigned int cos, uint32_t val, enum psr_type type)
@@ -561,7 +561,7 @@ static const struct feat_props mba_props = {
     .cos_num = 1,
     .type[0] = PSR_TYPE_MBA_THRTL,
     .alt_type = PSR_TYPE_UNKNOWN,
-#ifdef CONFIG_SYSCTL
+#ifdef CONFIG_MGMT_HYPERCALLS
     .get_feat_info = mba_get_feat_info,
 #endif
     .write_msr = mba_write_msr,
@@ -826,7 +826,7 @@ static struct psr_socket_info *get_socket_info(unsigned int socket)
     return socket_info + socket;
 }
 
-#ifdef CONFIG_SYSCTL
+#ifdef CONFIG_MGMT_HYPERCALLS
 int psr_get_info(unsigned int socket, enum psr_type type,
                  uint32_t data[], unsigned int array_len)
 {
@@ -858,7 +858,7 @@ int psr_get_info(unsigned int socket, enum psr_type type,
 
     return -EINVAL;
 }
-#endif /* CONFIG_SYSCTL */
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 int psr_get_val(struct domain *d, unsigned int socket,
                 uint32_t *val, enum psr_type type)
diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index 76f9ce705f..7bd8a04730 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -508,7 +508,7 @@ config CRYPTO
 config LIVEPATCH
 	bool "Live patching support"
 	default X86
-	depends on "$(XEN_HAS_BUILD_ID)" = "y" && SYSCTL && HAS_VMAP
+	depends on "$(XEN_HAS_BUILD_ID)" = "y" && MGMT_HYPERCALLS && HAS_VMAP
 	select CC_SPLIT_SECTIONS
 	help
 	  Allows a running Xen hypervisor to be dynamically patched using
@@ -600,7 +600,7 @@ config DTB_FILE
 config TRACEBUFFER
 	bool "Enable tracing infrastructure" if EXPERT
 	default y
-	depends on SYSCTL
+	depends on MGMT_HYPERCALLS
 	help
 	  Enable tracing infrastructure and pre-defined tracepoints within Xen.
 	  This will allow live information about Xen's execution and performance
@@ -648,21 +648,17 @@ config SYSTEM_SUSPEND
 
 	  If unsure, say N.
 
-menu "Supported hypercall interfaces"
-	visible if EXPERT
-
-config SYSCTL
-	bool "Enable sysctl hypercall"
+config MGMT_HYPERCALLS
+	bool "Enable privileged hypercalls for system management"
 	default y
 	help
 	  This option shall only be disabled on some dom0less systems, or
-	  PV shim on x86, to reduce Xen footprint.
-
-endmenu
+	  PV shim on x86, to reduce Xen footprint via managing unnessary
+	  hypercalls, like sysctl, etc.
 
 config PM_OP
 	bool "Enable Performance Management Operation"
-	depends on ACPI && HAS_CPUFREQ && SYSCTL
+	depends on ACPI && HAS_CPUFREQ && MGMT_HYPERCALLS
 	default y
 	help
 	  This option shall enable userspace performance management control
@@ -670,7 +666,7 @@ config PM_OP
 
 config PM_STATS
 	bool "Enable Performance Management Statistics"
-	depends on ACPI && HAS_CPUFREQ && SYSCTL
+	depends on ACPI && HAS_CPUFREQ && MGMT_HYPERCALLS
 	default y
 	help
 	  Enable collection of performance management statistics to aid in
diff --git a/xen/common/Makefile b/xen/common/Makefile
index 0c7d0f5d46..7c32fbd9f1 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -51,7 +51,7 @@ obj-y += spinlock.o
 obj-$(CONFIG_STACK_PROTECTOR) += stack-protector.o
 obj-y += stop_machine.o
 obj-y += symbols.o
-obj-$(CONFIG_SYSCTL) += sysctl.o
+obj-$(CONFIG_MGMT_HYPERCALLS) += sysctl.o
 obj-y += tasklet.o
 obj-y += time.o
 obj-y += timer.o
diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index 1f67b88a89..26615d1e97 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -602,7 +602,7 @@ out:
     return ret;
 }
 
-#ifdef CONFIG_SYSCTL
+#ifdef CONFIG_MGMT_HYPERCALLS
 void get_outstanding_claims(uint64_t *free_pages, uint64_t *outstanding_pages)
 {
     spin_lock(&heap_lock);
@@ -610,7 +610,7 @@ void get_outstanding_claims(uint64_t *free_pages, uint64_t *outstanding_pages)
     *free_pages = avail_heap_pages(MEMZONE_XEN + 1, NR_ZONES - 1, -1);
     spin_unlock(&heap_lock);
 }
-#endif /* CONFIG_SYSCTL */
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 static bool __read_mostly first_node_initialised;
 #ifndef CONFIG_SEPARATE_XENHEAP
@@ -1788,7 +1788,7 @@ int offline_page(mfn_t mfn, int broken, uint32_t *status)
     return 0;
 }
 
-#ifdef CONFIG_SYSCTL
+#ifdef CONFIG_MGMT_HYPERCALLS
 /*
  * Online the memory.
  *   The caller should make sure end_pfn <= max_page,
@@ -1873,7 +1873,7 @@ int query_page_offline(mfn_t mfn, uint32_t *status)
 
     return 0;
 }
-#endif /* CONFIG_SYSCTL */
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 /*
  * This function should only be called with valid pages from the same NUMA
diff --git a/xen/common/perfc.c b/xen/common/perfc.c
index 0f3b89af2c..97a94ef1fc 100644
--- a/xen/common/perfc.c
+++ b/xen/common/perfc.c
@@ -149,7 +149,7 @@ void cf_check perfc_reset(unsigned char key)
     }
 }
 
-#ifdef CONFIG_SYSCTL
+#ifdef CONFIG_MGMT_HYPERCALLS
 static struct xen_sysctl_perfc_desc perfc_d[NR_PERFCTRS];
 static xen_sysctl_perfc_val_t *perfc_vals;
 static unsigned int      perfc_nbr_vals;
@@ -266,7 +266,7 @@ int perfc_control(struct xen_sysctl_perfc_op *pc)
 
     return rc;
 }
-#endif /* CONFIG_SYSCTL */
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 /*
  * Local variables:
diff --git a/xen/common/sched/arinc653.c b/xen/common/sched/arinc653.c
index 8a4f4259d8..7d6c40d800 100644
--- a/xen/common/sched/arinc653.c
+++ b/xen/common/sched/arinc653.c
@@ -220,7 +220,7 @@ static void update_schedule_units(const struct scheduler *ops)
                       SCHED_PRIV(ops)->schedule[i].unit_id);
 }
 
-#ifdef CONFIG_SYSCTL
+#ifdef CONFIG_MGMT_HYPERCALLS
 /**
  * This function is called by the adjust_global scheduler hook to put
  * in place a new ARINC653 schedule.
@@ -335,7 +335,7 @@ arinc653_sched_get(
 
     return 0;
 }
-#endif /* CONFIG_SYSCTL */
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 /**************************************************************************
  * Scheduler callback functions                                           *
@@ -661,7 +661,7 @@ a653_switch_sched(struct scheduler *new_ops, unsigned int cpu,
     return &sr->_lock;
 }
 
-#ifdef CONFIG_SYSCTL
+#ifdef CONFIG_MGMT_HYPERCALLS
 /**
  * Xen scheduler callback function to perform a global (not domain-specific)
  * adjustment. It is used by the ARINC 653 scheduler to put in place a new
@@ -701,7 +701,7 @@ a653sched_adjust_global(const struct scheduler *ops,
 
     return rc;
 }
-#endif /* CONFIG_SYSCTL */
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 /**
  * This structure defines our scheduler for Xen.
@@ -736,7 +736,7 @@ static const struct scheduler sched_arinc653_def = {
     .switch_sched   = a653_switch_sched,
 
     .adjust         = NULL,
-#ifdef CONFIG_SYSCTL
+#ifdef CONFIG_MGMT_HYPERCALLS
     .adjust_global  = a653sched_adjust_global,
 #endif
 
diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
index ec2448cfa1..88150432c3 100644
--- a/xen/common/sched/core.c
+++ b/xen/common/sched/core.c
@@ -2064,7 +2064,7 @@ long do_set_timer_op(s_time_t timeout)
     return 0;
 }
 
-#ifdef CONFIG_SYSCTL
+#ifdef CONFIG_MGMT_HYPERCALLS
 /* scheduler_id - fetch ID of current scheduler */
 int scheduler_id(void)
 {
@@ -2107,7 +2107,7 @@ long sched_adjust(struct domain *d, struct xen_domctl_scheduler_op *op)
     return ret;
 }
 
-#ifdef CONFIG_SYSCTL
+#ifdef CONFIG_MGMT_HYPERCALLS
 long sched_adjust_global(struct xen_sysctl_scheduler_op *op)
 {
     struct cpupool *pool;
@@ -2136,7 +2136,7 @@ long sched_adjust_global(struct xen_sysctl_scheduler_op *op)
 
     return rc;
 }
-#endif /* CONFIG_SYSCTL */
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 static void vcpu_periodic_timer_work_locked(struct vcpu *v)
 {
diff --git a/xen/common/sched/cpupool.c b/xen/common/sched/cpupool.c
index f5459c2779..51ba3cb43d 100644
--- a/xen/common/sched/cpupool.c
+++ b/xen/common/sched/cpupool.c
@@ -241,12 +241,12 @@ struct cpupool *cpupool_get_by_id(unsigned int poolid)
     return __cpupool_get_by_id(poolid, true);
 }
 
-#ifdef CONFIG_SYSCTL
+#ifdef CONFIG_MGMT_HYPERCALLS
 static struct cpupool *cpupool_get_next_by_id(unsigned int poolid)
 {
     return __cpupool_get_by_id(poolid, false);
 }
-#endif /* CONFIG_SYSCTL */
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 void cpupool_put(struct cpupool *pool)
 {
@@ -354,7 +354,7 @@ static struct cpupool *cpupool_create(unsigned int poolid,
 
     return ERR_PTR(ret);
 }
-#ifdef CONFIG_SYSCTL
+#ifdef CONFIG_MGMT_HYPERCALLS
 /*
  * destroys the given cpupool
  * returns 0 on success, 1 else
@@ -382,7 +382,7 @@ static int cpupool_destroy(struct cpupool *c)
     debugtrace_printk("cpupool_destroy(pool=%u)\n", c->cpupool_id);
     return 0;
 }
-#endif /* CONFIG_SYSCTL */
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 /*
  * Move domain to another cpupool
@@ -572,7 +572,7 @@ static int cpupool_unassign_cpu_start(struct cpupool *c, unsigned int cpu)
     return ret;
 }
 
-#ifdef CONFIG_SYSCTL
+#ifdef CONFIG_MGMT_HYPERCALLS
 static long cf_check cpupool_unassign_cpu_helper(void *info)
 {
     struct cpupool *c = info;
@@ -638,7 +638,7 @@ static int cpupool_unassign_cpu(struct cpupool *c, unsigned int cpu)
     }
     return continue_hypercall_on_cpu(work_cpu, cpupool_unassign_cpu_helper, c);
 }
-#endif /* CONFIG_SYSCTL */
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 /*
  * add a new domain to a cpupool
@@ -816,7 +816,7 @@ static void cpupool_cpu_remove_forced(unsigned int cpu)
     rcu_read_unlock(&sched_res_rculock);
 }
 
-#ifdef CONFIG_SYSCTL
+#ifdef CONFIG_MGMT_HYPERCALLS
 /*
  * do cpupool related sysctl operations
  */
@@ -982,7 +982,7 @@ int cpupool_do_sysctl(struct xen_sysctl_cpupool_op *op)
 
     return ret;
 }
-#endif /* CONFIG_SYSCTL */
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 unsigned int cpupool_get_id(const struct domain *d)
 {
diff --git a/xen/common/sched/credit.c b/xen/common/sched/credit.c
index 6dcf6b2c8b..0cbec2a9c0 100644
--- a/xen/common/sched/credit.c
+++ b/xen/common/sched/credit.c
@@ -1256,7 +1256,7 @@ __csched_set_tslice(struct csched_private *prv, unsigned int timeslice_ms)
     prv->credit = prv->credits_per_tslice * prv->ncpus;
 }
 
-#ifdef CONFIG_SYSCTL
+#ifdef CONFIG_MGMT_HYPERCALLS
 static int cf_check
 csched_sys_cntl(const struct scheduler *ops,
                         struct xen_sysctl_scheduler_op *sc)
@@ -1299,7 +1299,7 @@ csched_sys_cntl(const struct scheduler *ops,
     out:
     return rc;
 }
-#endif /* CONFIG_SYSCTL */
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 static void *cf_check
 csched_alloc_domdata(const struct scheduler *ops, struct domain *dom)
@@ -2290,7 +2290,7 @@ static const struct scheduler sched_credit_def = {
 
     .adjust         = csched_dom_cntl,
     .adjust_affinity= csched_aff_cntl,
-#ifdef CONFIG_SYSCTL
+#ifdef CONFIG_MGMT_HYPERCALLS
     .adjust_global  = csched_sys_cntl,
 #endif
 
diff --git a/xen/common/sched/credit2.c b/xen/common/sched/credit2.c
index 75316d42b7..307e63ebd8 100644
--- a/xen/common/sched/credit2.c
+++ b/xen/common/sched/credit2.c
@@ -3131,7 +3131,7 @@ csched2_aff_cntl(const struct scheduler *ops, struct sched_unit *unit,
         __clear_bit(__CSFLAG_pinned, &svc->flags);
 }
 
-#ifdef CONFIG_SYSCTL
+#ifdef CONFIG_MGMT_HYPERCALLS
 static int cf_check csched2_sys_cntl(
     const struct scheduler *ops, struct xen_sysctl_scheduler_op *sc)
 {
@@ -3163,7 +3163,7 @@ static int cf_check csched2_sys_cntl(
 
     return 0;
 }
-#endif /* CONFIG_SYSCTL */
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 static void *cf_check
 csched2_alloc_domdata(const struct scheduler *ops, struct domain *dom)
@@ -4248,7 +4248,7 @@ static const struct scheduler sched_credit2_def = {
 
     .adjust         = csched2_dom_cntl,
     .adjust_affinity= csched2_aff_cntl,
-#ifdef CONFIG_SYSCTL
+#ifdef CONFIG_MGMT_HYPERCALLS
     .adjust_global  = csched2_sys_cntl,
 #endif
 
diff --git a/xen/common/sched/private.h b/xen/common/sched/private.h
index d6884550cd..b7ff67200b 100644
--- a/xen/common/sched/private.h
+++ b/xen/common/sched/private.h
@@ -356,7 +356,7 @@ struct scheduler {
                                     struct sched_unit *unit,
                                     const struct cpumask *hard,
                                     const struct cpumask *soft);
-#ifdef CONFIG_SYSCTL
+#ifdef CONFIG_MGMT_HYPERCALLS
     int          (*adjust_global)  (const struct scheduler *ops,
                                     struct xen_sysctl_scheduler_op *sc);
 #endif
@@ -512,7 +512,7 @@ static inline int sched_adjust_dom(const struct scheduler *s, struct domain *d,
     return s->adjust ? s->adjust(s, d, op) : 0;
 }
 
-#ifdef CONFIG_SYSCTL
+#ifdef CONFIG_MGMT_HYPERCALLS
 static inline int sched_adjust_cpupool(const struct scheduler *s,
                                        struct xen_sysctl_scheduler_op *op)
 {
diff --git a/xen/common/spinlock.c b/xen/common/spinlock.c
index 0389293b09..9d08159615 100644
--- a/xen/common/spinlock.c
+++ b/xen/common/spinlock.c
@@ -690,7 +690,7 @@ void cf_check spinlock_profile_reset(unsigned char key)
     spinlock_profile_iterate(spinlock_profile_reset_elem, NULL);
 }
 
-#ifdef CONFIG_SYSCTL
+#ifdef CONFIG_MGMT_HYPERCALLS
 typedef struct {
     struct xen_sysctl_lockprof_op *pc;
     int                      rc;
@@ -750,7 +750,7 @@ int spinlock_profile_control(struct xen_sysctl_lockprof_op *pc)
 
     return rc;
 }
-#endif /* CONFIG_SYSCTL */
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 void _lock_profile_register_struct(
     int32_t type, struct lock_profile_qhead *qhead, int32_t idx)
diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index 9bd5b4825d..c38b58d5fc 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -371,7 +371,7 @@ static void conring_puts(const char *str, size_t len)
         conringc = conringp - conring_size;
 }
 
-#ifdef CONFIG_SYSCTL
+#ifdef CONFIG_MGMT_HYPERCALLS
 long read_console_ring(struct xen_sysctl_readconsole *op)
 {
     XEN_GUEST_HANDLE_PARAM(char) str;
@@ -414,7 +414,7 @@ long read_console_ring(struct xen_sysctl_readconsole *op)
 
     return 0;
 }
-#endif /* CONFIG_SYSCTL */
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 
 /*
diff --git a/xen/include/hypercall-defs.c b/xen/include/hypercall-defs.c
index 8370b4b289..ab9fc6dcb8 100644
--- a/xen/include/hypercall-defs.c
+++ b/xen/include/hypercall-defs.c
@@ -194,7 +194,7 @@ kexec_op(unsigned long op, void *uarg)
 #ifdef CONFIG_IOREQ_SERVER
 dm_op(domid_t domid, unsigned int nr_bufs, xen_dm_op_buf_t *bufs)
 #endif
-#ifdef CONFIG_SYSCTL
+#ifdef CONFIG_MGMT_HYPERCALLS
 sysctl(xen_sysctl_t *u_sysctl)
 #endif
 #if defined(CONFIG_X86) && defined(CONFIG_PAGING)
@@ -277,7 +277,7 @@ physdev_op                         compat   do       hvm      hvm      do_arm
 #ifdef CONFIG_HVM
 hvm_op                             do       do       do       do       do
 #endif
-#ifdef CONFIG_SYSCTL
+#ifdef CONFIG_MGMT_HYPERCALLS
 sysctl                             do       do       do       do       do
 #endif
 #ifndef CONFIG_PV_SHIM_EXCLUSIVE
diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h
index 5e29165763..5206836582 100644
--- a/xen/include/xsm/dummy.h
+++ b/xen/include/xsm/dummy.h
@@ -148,11 +148,13 @@ static XSM_INLINE int cf_check xsm_domctl_scheduler_op(
     return xsm_default_action(action, current->domain, d);
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 static XSM_INLINE int cf_check xsm_sysctl_scheduler_op(XSM_DEFAULT_ARG int cmd)
 {
     XSM_ASSERT_ACTION(XSM_HOOK);
     return xsm_default_action(action, current->domain, NULL);
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 static XSM_INLINE int cf_check xsm_set_target(
     XSM_DEFAULT_ARG struct domain *d, struct domain *e)
@@ -180,6 +182,7 @@ static XSM_INLINE int cf_check xsm_domctl(
     }
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 static XSM_INLINE int cf_check xsm_sysctl(XSM_DEFAULT_ARG int cmd)
 {
     XSM_ASSERT_ACTION(XSM_PRIV);
@@ -191,6 +194,7 @@ static XSM_INLINE int cf_check xsm_readconsole(XSM_DEFAULT_ARG uint32_t clear)
     XSM_ASSERT_ACTION(XSM_HOOK);
     return xsm_default_action(action, current->domain, NULL);
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 static XSM_INLINE int cf_check xsm_alloc_security_domain(struct domain *d)
 {
@@ -485,11 +489,13 @@ static XSM_INLINE int cf_check xsm_resource_setup_misc(XSM_DEFAULT_VOID)
     return xsm_default_action(action, current->domain, NULL);
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 static XSM_INLINE int cf_check xsm_page_offline(XSM_DEFAULT_ARG uint32_t cmd)
 {
     XSM_ASSERT_ACTION(XSM_HOOK);
     return xsm_default_action(action, current->domain, NULL);
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 static XSM_INLINE int cf_check xsm_hypfs_op(XSM_DEFAULT_VOID)
 {
diff --git a/xen/include/xsm/xsm.h b/xen/include/xsm/xsm.h
index 34caad2f7e..0231a208ff 100644
--- a/xen/include/xsm/xsm.h
+++ b/xen/include/xsm/xsm.h
@@ -57,13 +57,15 @@ struct xsm_ops {
     int (*domain_create)(struct domain *d, uint32_t ssidref);
     int (*getdomaininfo)(struct domain *d);
     int (*domctl_scheduler_op)(struct domain *d, int op);
-#ifdef CONFIG_SYSCTL
+#ifdef CONFIG_MGMT_HYPERCALLS
     int (*sysctl_scheduler_op)(int op);
 #endif
     int (*set_target)(struct domain *d, struct domain *e);
     int (*domctl)(struct domain *d, unsigned int cmd, uint32_t ssidref);
+#ifdef CONFIG_MGMT_HYPERCALLS
     int (*sysctl)(int cmd);
     int (*readconsole)(uint32_t clear);
+#endif
 
     int (*evtchn_unbound)(struct domain *d, struct evtchn *chn, domid_t id2);
     int (*evtchn_interdomain)(struct domain *d1, struct evtchn *chn1,
@@ -138,7 +140,7 @@ struct xsm_ops {
     int (*resource_setup_gsi)(int gsi);
     int (*resource_setup_misc)(void);
 
-#ifdef CONFIG_SYSCTL
+#ifdef CONFIG_MGMT_HYPERCALLS
     int (*page_offline)(uint32_t cmd);
 #endif
     int (*hypfs_op)(void);
@@ -244,7 +246,7 @@ static inline int xsm_domctl_scheduler_op(
     return alternative_call(xsm_ops.domctl_scheduler_op, d, cmd);
 }
 
-#ifdef CONFIG_SYSCTL
+#ifdef CONFIG_MGMT_HYPERCALLS
 static inline int xsm_sysctl_scheduler_op(xsm_default_t def, int cmd)
 {
     return alternative_call(xsm_ops.sysctl_scheduler_op, cmd);
@@ -263,23 +265,17 @@ static inline int xsm_domctl(xsm_default_t def, struct domain *d,
     return alternative_call(xsm_ops.domctl, d, cmd, ssidref);
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 static inline int xsm_sysctl(xsm_default_t def, int cmd)
 {
-#ifdef CONFIG_SYSCTL
     return alternative_call(xsm_ops.sysctl, cmd);
-#else
-    return -EOPNOTSUPP;
-#endif
 }
 
 static inline int xsm_readconsole(xsm_default_t def, uint32_t clear)
 {
-#ifdef CONFIG_SYSCTL
     return alternative_call(xsm_ops.readconsole, clear);
-#else
-    return -EOPNOTSUPP;
-#endif
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 static inline int xsm_evtchn_unbound(
     xsm_default_t def, struct domain *d1, struct evtchn *chn, domid_t id2)
@@ -593,14 +589,12 @@ static inline int xsm_resource_setup_misc(xsm_default_t def)
     return alternative_call(xsm_ops.resource_setup_misc);
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 static inline int xsm_page_offline(xsm_default_t def, uint32_t cmd)
 {
-#ifdef CONFIG_SYSCTL
     return alternative_call(xsm_ops.page_offline, cmd);
-#else
-    return -EOPNOTSUPP;
-#endif
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 static inline int xsm_hypfs_op(xsm_default_t def)
 {
diff --git a/xen/xsm/dummy.c b/xen/xsm/dummy.c
index 86daca3e89..7892d36cc2 100644
--- a/xen/xsm/dummy.c
+++ b/xen/xsm/dummy.c
@@ -19,12 +19,12 @@ static const struct xsm_ops __initconst_cf_clobber dummy_ops = {
     .domain_create                 = xsm_domain_create,
     .getdomaininfo                 = xsm_getdomaininfo,
     .domctl_scheduler_op           = xsm_domctl_scheduler_op,
-#ifdef CONFIG_SYSCTL
+#ifdef CONFIG_MGMT_HYPERCALLS
     .sysctl_scheduler_op           = xsm_sysctl_scheduler_op,
 #endif
     .set_target                    = xsm_set_target,
     .domctl                        = xsm_domctl,
-#ifdef CONFIG_SYSCTL
+#ifdef CONFIG_MGMT_HYPERCALLS
     .sysctl                        = xsm_sysctl,
     .readconsole                   = xsm_readconsole,
 #endif
@@ -97,7 +97,7 @@ static const struct xsm_ops __initconst_cf_clobber dummy_ops = {
     .resource_setup_gsi            = xsm_resource_setup_gsi,
     .resource_setup_misc           = xsm_resource_setup_misc,
 
-#ifdef CONFIG_SYSCTL
+#ifdef CONFIG_MGMT_HYPERCALLS
     .page_offline                  = xsm_page_offline,
 #endif
     .hypfs_op                      = xsm_hypfs_op,
diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c
index e98920dd52..2eabf62e8c 100644
--- a/xen/xsm/flask/hooks.c
+++ b/xen/xsm/flask/hooks.c
@@ -626,7 +626,7 @@ static int cf_check flask_domctl_scheduler_op(struct domain *d, int op)
     }
 }
 
-#ifdef CONFIG_SYSCTL
+#ifdef CONFIG_MGMT_HYPERCALLS
 static int cf_check flask_sysctl_scheduler_op(int op)
 {
     switch ( op )
@@ -641,7 +641,7 @@ static int cf_check flask_sysctl_scheduler_op(int op)
         return avc_unknown_permission("sysctl_scheduler_op", op);
     }
 }
-#endif /* CONFIG_SYSCTL */
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 static int cf_check flask_set_target(struct domain *d, struct domain *t)
 {
@@ -858,7 +858,7 @@ static int cf_check flask_domctl(struct domain *d, unsigned int cmd,
     }
 }
 
-#ifdef CONFIG_SYSCTL
+#ifdef CONFIG_MGMT_HYPERCALLS
 static int cf_check flask_sysctl(int cmd)
 {
     switch ( cmd )
@@ -946,7 +946,7 @@ static int cf_check flask_readconsole(uint32_t clear)
 
     return domain_has_xen(current->domain, perms);
 }
-#endif /* CONFIG_SYSCTL */
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 static inline uint32_t resource_to_perm(uint8_t access)
 {
@@ -1203,12 +1203,12 @@ static int cf_check flask_resource_unplug_core(void)
     return avc_current_has_perm(SECINITSID_DOMXEN, SECCLASS_RESOURCE, RESOURCE__UNPLUG, NULL);
 }
 
-#ifdef CONFIG_SYSCTL
+#ifdef CONFIG_MGMT_HYPERCALLS
 static int flask_resource_use_core(void)
 {
     return avc_current_has_perm(SECINITSID_DOMXEN, SECCLASS_RESOURCE, RESOURCE__USE, NULL);
 }
-#endif /* CONFIG_SYSCTL */
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 static int cf_check flask_resource_plug_pci(uint32_t machine_bdf)
 {
@@ -1273,7 +1273,7 @@ static int cf_check flask_resource_setup_misc(void)
     return avc_current_has_perm(SECINITSID_XEN, SECCLASS_RESOURCE, RESOURCE__SETUP, NULL);
 }
 
-#ifdef CONFIG_SYSCTL
+#ifdef CONFIG_MGMT_HYPERCALLS
 static inline int cf_check flask_page_offline(uint32_t cmd)
 {
     switch ( cmd )
@@ -1288,7 +1288,7 @@ static inline int cf_check flask_page_offline(uint32_t cmd)
         return avc_unknown_permission("page_offline", cmd);
     }
 }
-#endif /* CONFIG_SYSCTL */
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 static inline int cf_check flask_hypfs_op(void)
 {
@@ -1884,12 +1884,12 @@ static const struct xsm_ops __initconst_cf_clobber flask_ops = {
     .domain_create = flask_domain_create,
     .getdomaininfo = flask_getdomaininfo,
     .domctl_scheduler_op = flask_domctl_scheduler_op,
-#ifdef CONFIG_SYSCTL
+#ifdef CONFIG_MGMT_HYPERCALLS
     .sysctl_scheduler_op = flask_sysctl_scheduler_op,
 #endif
     .set_target = flask_set_target,
     .domctl = flask_domctl,
-#ifdef CONFIG_SYSCTL
+#ifdef CONFIG_MGMT_HYPERCALLS
     .sysctl = flask_sysctl,
     .readconsole = flask_readconsole,
 #endif
@@ -1950,7 +1950,7 @@ static const struct xsm_ops __initconst_cf_clobber flask_ops = {
     .resource_setup_gsi = flask_resource_setup_gsi,
     .resource_setup_misc = flask_resource_setup_misc,
 
-#ifdef CONFIG_SYSCTL
+#ifdef CONFIG_MGMT_HYPERCALLS
     .page_offline = flask_page_offline,
 #endif
     .hypfs_op = flask_hypfs_op,
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Oct 13 10:16:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 10:16:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141918.1476134 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8Fbq-00065M-0C; Mon, 13 Oct 2025 10:16:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141918.1476134; Mon, 13 Oct 2025 10:16:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8Fbp-000652-Rn; Mon, 13 Oct 2025 10:16:53 +0000
Received: by outflank-mailman (input) for mailman id 1141918;
 Mon, 13 Oct 2025 10:16:53 +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
 <SRS0=gL+L=4W=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1v8Fbo-0004Rd-W3
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 10:16:52 +0000
Received: from DM5PR21CU001.outbound.protection.outlook.com
 (mail-centralusazlp170110009.outbound.protection.outlook.com
 [2a01:111:f403:c111::9])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bb3022ba-a81d-11f0-980a-7dc792cee155;
 Mon, 13 Oct 2025 12:16:51 +0200 (CEST)
Received: from MW2PR16CA0027.namprd16.prod.outlook.com (2603:10b6:907::40) by
 PH8PR12MB6843.namprd12.prod.outlook.com (2603:10b6:510:1ca::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.12; Mon, 13 Oct
 2025 10:16:44 +0000
Received: from SJ1PEPF00001CE9.namprd03.prod.outlook.com
 (2603:10b6:907:0:cafe::2c) by MW2PR16CA0027.outlook.office365.com
 (2603:10b6:907::40) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9203.13 via Frontend Transport; Mon,
 13 Oct 2025 10:16:44 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 SJ1PEPF00001CE9.mail.protection.outlook.com (10.167.242.25) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9228.7 via Frontend Transport; Mon, 13 Oct 2025 10:16:44 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) by
 satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.2562.17; Mon, 13 Oct 2025 03:16:41 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bb3022ba-a81d-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ikl+g1IZdmvo1HlMEOYmPeGTpKkEDqyPVZedsDq+XS731s3DCzQchQeyx8llQEXT5Lzk2Z3tCUTp/G7uMPiAjmQnvXZUUIsKnWBXlShRYwt+LlMVQfHpaQhqy0BsjXaMDGEKWkFl7RI297NoiLTWOhUpXCyaHjWe38jLNeJDqHoJU0bUKkswbs/ELrOdXRV/EHgfIyL6vktFmTAieVIKcv8LYZhzhR/uBpiws9y1/vq7hrGevWtVKUk4mNiszP8CD+4j37f7omLgOzl0iMnnKfLb2eJ5tqqCtd/BU8BjxNyb0NIEQoUktlBt9GBRua7xJZuiPwUS+Rribus6EUDaJw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5P/L3o/qbALqVZnDueKMxl6Lx0C5p6QQQNdXZZ30H50=;
 b=Wu50uw6I/pKa3bKbpHnZbZFUOQC9LU1u9UEytpPS8cKHy0yZUEjqYLIousWgFWrVXf/C4WKanG95auvutbSwVs+326KJ3BFjDjiReQWBGVPAlo7WWUxCFWPXZddwEQqAl4Kaw0z6l7d+l4JeOQGGD/gRSUveMQskOgz5A7XpV66hStV5Wx7gInh1dtshKq8vIUqtkj8rTS63VcbPH43rmARAJrRbAlBcKLnddVpLf9zsUYfFKhOtn4VoJ4Y9hbVnwgepQeJTx89gWayaLZ312YDhFVEtJBeYtNZvTDMghlbDQImnk+l9Gj8DZkk3UCHa+qJIkLGM4vzERE68t1+hVA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5P/L3o/qbALqVZnDueKMxl6Lx0C5p6QQQNdXZZ30H50=;
 b=MWF8B+Ua1brOn7WZzNHBEywkdz8QahUXC/2ZqscYUItFjEGstDVE0LteScd34MJT5zZyfW3wbELMuipK5ceM73TVwMi84uWmZpjdMnorxLgYaYFtYZB9kWHvsR419+KgGCWK88gMc076bjCs6wkTmDvt9IzyWf0REyO/oSawLL4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.com>, <oleksii.kurochko@gmail.com>, Penny Zheng
	<Penny.Zheng@amd.com>, Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Anthony PERARD <anthony.perard@vates.tech>, "Michal
 Orzel" <michal.orzel@amd.com>, Julien Grall <julien@xen.org>, "Stefano
 Stabellini" <sstabellini@kernel.org>
Subject: [PATCH v3 06/28] xen/x86: move domctl.o out of PV_SHIM_EXCLUSIVE
Date: Mon, 13 Oct 2025 18:15:18 +0800
Message-ID: <20251013101540.3502842-7-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20251013101540.3502842-1-Penny.Zheng@amd.com>
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ1PEPF00001CE9:EE_|PH8PR12MB6843:EE_
X-MS-Office365-Filtering-Correlation-Id: 771ce5bd-d6b4-4e1a-50c9-08de0a419c60
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|376014|82310400026|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?PUMShJGaUKD2QVijITuKFwLTK2pvDfBd08WX6O3ppSR/qiBEG5o3sRE9bVtq?=
 =?us-ascii?Q?uZFbb0MfHhmcC38ccLHocgxbQqBPX0TLHPT6WCFr5YPnv21H6T9ZnR3xUJH5?=
 =?us-ascii?Q?YPErHybnb2hbiQi5eE+utSAgiBwgT9iwXrYvqgGNn+nW/EuYzRVRmM6EB0AM?=
 =?us-ascii?Q?h8jfyMwkngGO+bJUCexyWlwybXrwziC6XVbB+2OcpSNB2SbZTbuiBBC4D6dd?=
 =?us-ascii?Q?Ccw7RmahD9sBgPy0+HAl8zVXQuUkIDGVgXUKjZjSZ7vd7xY0n2EpFdSYVWkx?=
 =?us-ascii?Q?IDo5VdbiQbd/eVW8yvdRXUF3wMNvtroGRfH5PGUZfx5GKWpbzEMMF/bjjniN?=
 =?us-ascii?Q?LhZk1I56QGHLrwsxDWLkUKi6GgSp1/Q/1C3eIQdJSwz4N/0WpdAkh+b/hJqb?=
 =?us-ascii?Q?ZRvj9FXkLR7NYWUWtRansoKfgzj9c90mXVX0TvKF2zZ0Lw4b/KD6VJJBaUWZ?=
 =?us-ascii?Q?2L9FSYeOKm2m9O4C28+8uZgXi174WZ1+Q4ZsLGzDtwhkGcwRve3XMpFy7q/I?=
 =?us-ascii?Q?h6HIqpx4/zEq8AJULkctBr7ENA2jwiAbduQBKwRzNz0yc151zvGTW7hUfj9X?=
 =?us-ascii?Q?biVjYi8U8vqTFz9fnIGcN+3wsLcOO57m+4kNQlcnFHzLXIm/CpnJq/0/sp6Y?=
 =?us-ascii?Q?M5M1Qtqos/eliGhhSqX2g04ujQnpqNIPYUK+Wpp39BubDVxDJ1f4oAEQo2CU?=
 =?us-ascii?Q?Ztu6dB9o3zkQxETLd6ZQTo8hFWPldShUK6b3nzBsWtZdKSAr8ap13Y+g61lE?=
 =?us-ascii?Q?iJBJdF6uFt4YJVlmJBJLCIyRpErKJ9vpPKivxamP+dnqsxGClkD2WOqhZc+3?=
 =?us-ascii?Q?vWMTBz9VHFkeAxHrkjqV21m9T6mqu6I0PlIpKSI3ORomslgZ3+dujIC35GCj?=
 =?us-ascii?Q?IzNAv8t4jcVwWapddtmf4jk7JvDjWbMlUgjV7IHVXPBA7/Uoze9ELWENAS8k?=
 =?us-ascii?Q?/3VlQqeZswwdp63L7+F/VhIkDcUVzI0nXtCCh9qLazJWK3/qJEREHoUa1RwM?=
 =?us-ascii?Q?yjLCnY4exDU3TbzgriqzykO2Xkfpf0radiGpRhilleCgy8wnAWWdJXXIwca0?=
 =?us-ascii?Q?xIl0PWwwE2FoQekiXsV7lD/y3ZBqQ/QEyiRvJp7INsXv7albPAk4FrAcAyWD?=
 =?us-ascii?Q?wyRIDDtrJpnDjaS4QQBp1VAHzD504TvyT/sykH14lguQqUv5YRkmDmoJGu4F?=
 =?us-ascii?Q?tI2zTPxNZsjFRVZfDQy4tCHhzaYmklGNc87Cx4+nIWbfky6WoWOxtDb1fz3E?=
 =?us-ascii?Q?41Q/j22cZ3maBg52/wjDnAuZR49kxxeuK6+Hz5g76n5bvEg7wERbauFZVakl?=
 =?us-ascii?Q?ivkPUsbfPXavrLyN6EVEB7Y3oPmrjAp5O2LG8eOCGx4MztSH2BG2LWw7Soc4?=
 =?us-ascii?Q?gYdugLzTfhIE1aKmoPqpMZKuM5qBI/U0KzuzwN8DCmxCrhfARlFwuYA4Y12p?=
 =?us-ascii?Q?VzZi5JfxVtKAM+A5zFfW22yBjTeAK1rmQidHrZUql13cqT95K/rfQpbILAG5?=
 =?us-ascii?Q?iqlvCA1YPjr6sT6ewIYC+M1YNOTNsx1GRsu530zKnf13Ghonh6ZQBfvGIIBw?=
 =?us-ascii?Q?x9FkayHM6SipxECa8As=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(376014)(82310400026)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2025 10:16:44.4558
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 771ce5bd-d6b4-4e1a-50c9-08de0a419c60
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ1PEPF00001CE9.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB6843

In order to fix CI error of a randconfig picking both PV_SHIM_EXCLUSIVE=y and
HVM=y results in hvm.c being built, but domctl.c not being built, which leaves
a few functions, like domctl_lock_acquire/release() undefined, causing linking
to fail.
To fix that, we intend to move domctl.o out of the PV_SHIM_EXCLUSIVE Makefile
/hypercall-defs section, with this adjustment, we also need to release
redundant vnuma_destroy() stub definition from PV_SHIM_EXCLUSIVE guardian,
to not break compilation
Above change will leave dead code in the shim binary temporarily and will be
fixed once domctl.o's building becomes dependent upon CONFIG_MGMT_HYPERCALLS.

Fixes: 568f806cba4c ("xen/x86: remove "depends on !PV_SHIM_EXCLUSIVE"")
Reported-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
v1 -> v2:
- remove paging_domctl hypercall-defs
---
 xen/arch/x86/Makefile        | 2 +-
 xen/common/Makefile          | 5 +----
 xen/include/hypercall-defs.c | 4 +---
 xen/include/xen/domain.h     | 4 ----
 4 files changed, 3 insertions(+), 12 deletions(-)

diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index d252154b05..0f91ffcb9d 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -28,6 +28,7 @@ obj-y += delay.o
 obj-y += desc.o
 obj-bin-y += dmi_scan.init.o
 obj-y += domain.o
+obj-y += domctl.o
 obj-bin-y += dom0_build.init.o
 obj-y += domain_page.o
 obj-y += e820.o
@@ -79,7 +80,6 @@ obj-y += vm_event.o
 obj-y += xstate.o
 
 ifneq ($(CONFIG_PV_SHIM_EXCLUSIVE),y)
-obj-y += domctl.o
 obj-y += platform_hypercall.o
 obj-$(CONFIG_COMPAT) += x86_64/platform_hypercall.o
 endif
diff --git a/xen/common/Makefile b/xen/common/Makefile
index 7c32fbd9f1..fdf826f218 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -11,6 +11,7 @@ obj-$(filter-out $(CONFIG_X86),$(CONFIG_ACPI)) += device.o
 obj-$(CONFIG_DEVICE_TREE_PARSE) += device-tree/
 obj-$(CONFIG_IOREQ_SERVER) += dm.o
 obj-y += domain.o
+obj-y += domctl.o
 obj-y += domid.o
 obj-y += event_2l.o
 obj-y += event_channel.o
@@ -70,10 +71,6 @@ obj-bin-$(CONFIG_X86) += $(foreach n,decompress bunzip2 unxz unlzma lzo unlzo un
 
 obj-$(CONFIG_COMPAT) += $(addprefix compat/,domain.o memory.o multicall.o xlat.o)
 
-ifneq ($(CONFIG_PV_SHIM_EXCLUSIVE),y)
-obj-y += domctl.o
-endif
-
 extra-y := symbols-dummy.o
 
 obj-$(CONFIG_COVERAGE) += coverage/
diff --git a/xen/include/hypercall-defs.c b/xen/include/hypercall-defs.c
index ab9fc6dcb8..cd2c801af6 100644
--- a/xen/include/hypercall-defs.c
+++ b/xen/include/hypercall-defs.c
@@ -200,8 +200,8 @@ sysctl(xen_sysctl_t *u_sysctl)
 #if defined(CONFIG_X86) && defined(CONFIG_PAGING)
 paging_domctl_cont(xen_domctl_t *u_domctl)
 #endif
-#ifndef CONFIG_PV_SHIM_EXCLUSIVE
 domctl(xen_domctl_t *u_domctl)
+#ifndef CONFIG_PV_SHIM_EXCLUSIVE
 platform_op(xen_platform_op_t *u_xenpf_op)
 #endif
 #ifdef CONFIG_HVM
@@ -280,9 +280,7 @@ hvm_op                             do       do       do       do       do
 #ifdef CONFIG_MGMT_HYPERCALLS
 sysctl                             do       do       do       do       do
 #endif
-#ifndef CONFIG_PV_SHIM_EXCLUSIVE
 domctl                             do       do       do       do       do
-#endif
 #ifdef CONFIG_KEXEC
 kexec_op                           compat   do       -        -        -
 #endif
diff --git a/xen/include/xen/domain.h b/xen/include/xen/domain.h
index 8aab05ae93..11d2505420 100644
--- a/xen/include/xen/domain.h
+++ b/xen/include/xen/domain.h
@@ -185,11 +185,7 @@ struct vnuma_info {
     struct xen_vmemrange *vmemrange;
 };
 
-#ifndef CONFIG_PV_SHIM_EXCLUSIVE
 void vnuma_destroy(struct vnuma_info *vnuma);
-#else
-static inline void vnuma_destroy(struct vnuma_info *vnuma) { ASSERT(!vnuma); }
-#endif
 
 extern bool vmtrace_available;
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Oct 13 10:16:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 10:16:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141919.1476139 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8Fbq-00069G-Ck; Mon, 13 Oct 2025 10:16:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141919.1476139; Mon, 13 Oct 2025 10:16:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8Fbq-00068g-5j; Mon, 13 Oct 2025 10:16:54 +0000
Received: by outflank-mailman (input) for mailman id 1141919;
 Mon, 13 Oct 2025 10:16:53 +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
 <SRS0=gL+L=4W=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1v8Fbp-0004Hi-2y
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 10:16:53 +0000
Received: from DM5PR21CU001.outbound.protection.outlook.com
 (mail-centralusazlp170110009.outbound.protection.outlook.com
 [2a01:111:f403:c111::9])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bc39b325-a81d-11f0-9d15-b5c5bf9af7f9;
 Mon, 13 Oct 2025 12:16:52 +0200 (CEST)
Received: from MW2PR16CA0033.namprd16.prod.outlook.com (2603:10b6:907::46) by
 BY5PR12MB4051.namprd12.prod.outlook.com (2603:10b6:a03:20c::7) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9203.12; Mon, 13 Oct 2025 10:16:47 +0000
Received: from SJ1PEPF00001CE9.namprd03.prod.outlook.com
 (2603:10b6:907:0:cafe::d0) by MW2PR16CA0033.outlook.office365.com
 (2603:10b6:907::46) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9203.13 via Frontend Transport; Mon,
 13 Oct 2025 10:16:47 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 SJ1PEPF00001CE9.mail.protection.outlook.com (10.167.242.25) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9228.7 via Frontend Transport; Mon, 13 Oct 2025 10:16:46 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) by
 satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.2562.17; Mon, 13 Oct 2025 03:16:44 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bc39b325-a81d-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=cMbftuS7zxQG6v4CJ0s1ljr+YaAANHFlPScEQyYiIeutmN/C9XUa2jIG2rBIDNv0QtKIFdAjQgmp3wOXvGKMqt4ZwUxM5Or2nM67CyuHOG1qhgxOoBBIPubHFTtBqjZLdylYZieuQfZVCtJLKtuP9LkxYb2IM4Bw0WoJz9xJq33KemExJ/cYFi7moPvi23rCEpeege/piVQ18vFKf2dcuNnpi3IwZ8D29lJjMJbzsykFQYBCvJb19tp7MiJlzjSL5nO3VOBeTmmgU6/nOzF+FCuLOoG3ve0I/9jGUE+x/p9M/H5c7Wt1XRGO7VwmloIMc4cdLdsEvZ/7ZI2os1JrIw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hMWhrUBqiBoALQdRloPk0tPwtfuVXQqmf7VPSSV0wkg=;
 b=w5nmqgKtg3auC3dqBlgW5DdlDiiT4T0vXEQTzLDCwthwjkRE+kkBiKHoK9WUS8pbZmgg1EHlMOg2NVPpU5AvoJXkeEShvP73v1Zwo/B7qp7NDRVjNAWblLJtOpr7o0e6vKsT+jvjsNTrWzntwrvj1W+1LO2AgA6SR7HBwqQ4KoSUlCuVxFkQqLo1CdvEUQAcJqsY5OpdPieizztX/pZJQqGGc2fpqCs/LSZJZZuipCeFi5kLd9yHr4y8c5IkHIa7veFL4wiSnWYqog9pCsxZUswy0pHq85LNIk4gEDzEdNDRsHAdVM/FFhaHBNAlrcVtJWRj0lYDmR2On5Q/kub+xw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hMWhrUBqiBoALQdRloPk0tPwtfuVXQqmf7VPSSV0wkg=;
 b=KEFrC3Lzkl7R+utPGnTEHjvrUS629sN7cmBPmyza8pnvdi7y0ASTIr3MgBh0WR/ARHu3kpYEC9uOe66zYWHImQ8OZzqKn3xxscCkPlqOi3UQsSU/rSadwzJG/5RI3p+0oMh3bwRuDVFukMw3WxprDBgL3oR2zrejQsjMXiE0pFA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.com>, <oleksii.kurochko@gmail.com>, Penny Zheng
	<Penny.Zheng@amd.com>, Andrew Cooper <andrew.cooper3@citrix.com>, "Anthony
 PERARD" <anthony.perard@vates.tech>, Michal Orzel <michal.orzel@amd.com>,
	"Jan Beulich" <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>
Subject: [PATCH v3 07/28] xen/domctl: make MGMT_HYPERCALLS transiently def_bool
Date: Mon, 13 Oct 2025 18:15:19 +0800
Message-ID: <20251013101540.3502842-8-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20251013101540.3502842-1-Penny.Zheng@amd.com>
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ1PEPF00001CE9:EE_|BY5PR12MB4051:EE_
X-MS-Office365-Filtering-Correlation-Id: eb6db390-0f0e-43f1-b532-08de0a419ddf
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|36860700013|376014|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?e56uZZuwz+7vfU2cdak5Hn5NTVq9yMyD38qWfLku8t/RMvkEG6im6sDja/2D?=
 =?us-ascii?Q?TVsgOP8FA4MNbpPDNaIGNd8ShandCYOJZLA4eEjjNRl/jQxDJviJac3LlZtK?=
 =?us-ascii?Q?OiRRyFRiV51z0AnMDdOqIRNMktgkdpol3fZ7wAwLl4jH1cf8sUI1OIC8CWVB?=
 =?us-ascii?Q?/28l9MstfSF/VwYhplagCAnInlo2IYhrcM+rRv+n5jMkD65/Ue8lHguR0Zwa?=
 =?us-ascii?Q?brynqFz0cOy2MrMnIxEdpECqcrzHmUmSM6vnisHaGytj7+rIAOGjgA7LGOBV?=
 =?us-ascii?Q?Ns2OonJq2JtvRakU84fK3b1pTv0eb6apv2ai/2M03pGu7ofrysBCvxCzmWZJ?=
 =?us-ascii?Q?B4juIhbQ3pEKHkHkQrwpkmOxW+TBGFV0ulOVAabThan46CwJzDGH6JHZiv3W?=
 =?us-ascii?Q?qdeSRgtXRP/7F6j+xH4arczi02TUqIuK6ZU9Vfv+h+zlCTSAH4yflquHrGTW?=
 =?us-ascii?Q?yv/yKM/ozOtwFmfMpUFyepYP7+QuapyqpRC2PHblVWXpOWLeuxKPqx+aIZ7g?=
 =?us-ascii?Q?IMzMlTR9W6WINh/m6gjom1zRk45CLrXPCICEpHVG72Hg7oieg6mJpEkjAdVB?=
 =?us-ascii?Q?CG6bpfGeO3thRj0yau1UBP/JhZC7gR6Su/hhNxwG8/N341CaLzQCB5qsM9tk?=
 =?us-ascii?Q?Oj9a377jCiImYJF7slIZXIwki4la5pePs4jiysh8TlapWBO29hftMIjDHqJ2?=
 =?us-ascii?Q?AaGEfOnbyEwYh8upAUtYVO5CKhoTkjvHSr9L+0IdUSbX/5nffXXKqMO4U1wz?=
 =?us-ascii?Q?mWcliZ8osMGX7aYbt8/4dH7mExqgzDdEReoCFpM/6TC5XCqvbXcERUun5KBy?=
 =?us-ascii?Q?Tngmn0ZvTXoRJmEGmY2bIigSc8KrPEZN9KaX3NzP68uBUDLcNkTXkaZn9PeC?=
 =?us-ascii?Q?htHOE19f2qxOQYYJenfskidZgBcVSdJurNSKwVno2EVrbcP0ezQs7fJI2A4h?=
 =?us-ascii?Q?W/F/bgR6i0/14nKd3irwGkmw8K/6KMeBbzP4B9Lt2YAeKWr8F7cSsxUHx1EU?=
 =?us-ascii?Q?PWVS/JPlGf2NynsKuzrzM31aKXGwH3bbchlnC4h2xvZ6bak6s12DuG2xOXaO?=
 =?us-ascii?Q?dJUWHZgCm2e0prSj//2RCQfJeqn0Z0C9J6jLMqA/iCDeJJ44C7h12ypnHeQp?=
 =?us-ascii?Q?UbvGH1uooe0KMA6GRoygQINyj0VCatZ4zvXEpNGvFz4sMJw93YyqW3lnhFRe?=
 =?us-ascii?Q?A7lZDnMih9TeZGHrwAemKlk6yyEKa55P/QOUbD5p1tVcWn4KMQv++5sLUT2n?=
 =?us-ascii?Q?LvaZ+hKm5S0I691SlMc8H7BkrNURvEXX0JrnahteYQBUXKb/1z5WWfN7xVdl?=
 =?us-ascii?Q?68rH+tstbHVt/gd1U5JwLPckMJM7ldQPpJKxSdU/9a79BXWe5PCCLbAbV6OD?=
 =?us-ascii?Q?0XJKon/4+U+5D/nll0AI6Ee3LYGZmu0I+99D2p0hH7PAYH1Wb/WUu+0ceyXA?=
 =?us-ascii?Q?0fNvTK2MkSv2XLk1LO1u7IJN7kKI4q5CH1sVr54h59GO3maQ757jMSMgWPSp?=
 =?us-ascii?Q?1x9/Vhc7zracp7DH8IB4puNGM1wMmm9Chy16DyB/SY0A9K0f/BZDQaGGQYwE?=
 =?us-ascii?Q?AFXy20Yzqej0Z2wP28I=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(36860700013)(376014)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2025 10:16:46.9683
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: eb6db390-0f0e-43f1-b532-08de0a419ddf
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ1PEPF00001CE9.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4051

In order to asist in reviewing/developing disabling domctl-op patch serie,
we will transiently make MGMT_HYPERCALLS def_bool. And it will become
optional at the last of domctl-op patch serie, where common/domctl.o's
building as a whole becomes dependent upon that setting.

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
v2 -> v3:
- new commit
---
 xen/common/Kconfig | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index 7bd8a04730..807b213e8b 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -649,8 +649,7 @@ config SYSTEM_SUSPEND
 	  If unsure, say N.
 
 config MGMT_HYPERCALLS
-	bool "Enable privileged hypercalls for system management"
-	default y
+	def_bool y
 	help
 	  This option shall only be disabled on some dom0less systems, or
 	  PV shim on x86, to reduce Xen footprint via managing unnessary
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Oct 13 10:17:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 10:17:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141934.1476154 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8Fc0-0007Kh-HC; Mon, 13 Oct 2025 10:17:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141934.1476154; Mon, 13 Oct 2025 10:17:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8Fc0-0007KS-E5; Mon, 13 Oct 2025 10:17:04 +0000
Received: by outflank-mailman (input) for mailman id 1141934;
 Mon, 13 Oct 2025 10:17:02 +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
 <SRS0=gL+L=4W=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1v8Fby-0004Rd-QU
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 10:17:02 +0000
Received: from SN4PR2101CU001.outbound.protection.outlook.com
 (mail-southcentralusazlp170120001.outbound.protection.outlook.com
 [2a01:111:f403:c10d::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c1f7ea93-a81d-11f0-980a-7dc792cee155;
 Mon, 13 Oct 2025 12:17:01 +0200 (CEST)
Received: from MW2PR16CA0003.namprd16.prod.outlook.com (2603:10b6:907::16) by
 DS5PPF8B1E59479.namprd12.prod.outlook.com (2603:10b6:f:fc00::659)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.12; Mon, 13 Oct
 2025 10:16:56 +0000
Received: from SJ1PEPF00001CE9.namprd03.prod.outlook.com
 (2603:10b6:907:0:cafe::58) by MW2PR16CA0003.outlook.office365.com
 (2603:10b6:907::16) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9203.13 via Frontend Transport; Mon,
 13 Oct 2025 10:17:02 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 SJ1PEPF00001CE9.mail.protection.outlook.com (10.167.242.25) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9228.7 via Frontend Transport; Mon, 13 Oct 2025 10:16:56 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) by
 satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.2562.17; Mon, 13 Oct 2025 03:16:53 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c1f7ea93-a81d-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=syhtezhz+MYqPc2zP9UHOyIKLY3GvUzEhUjGgTzmXroKHGXrQPOqhJWPzFEw5sjt5h/dy639CArpTfB8tAKvJh3DQD2u7dtUIJv2vRCWK3i5Dy5xrsLt+kGZf/5Paxt/0TtGpvgJ1dYMHwCTQAzHAEvzy4a7RHo6kZ9rjG8gPFzuZgpfZOfEo6H9aNHmrnYoBkNfpSz/ILFLyHnwGKGvqgfzJ020r+/C4AsjjggBVFl6bZfTx68HkPBOu15ItuE4Xx7vaHx+ETDD7hwF2oj6y8YRwb6UTiLCWILqUN8nhg/aAdevSdN3bD2zFwr8H4mws+OdtswCTQh5IZ89BGzMjg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gA17gzSkL2SavAaY06dZyoHocmEV+HABYkCyHwDzWdQ=;
 b=lcuXQ5zz+/uwlHKSLW03/ALZkPQjpAZTGdfWnCD1mGxtd1oVLHuPM+0mRi4K74aufcx3qF0DUMpfUk792w1OwrDAjzpgzy7yanDfbGZqVtkOvZCBco4ESqnvqxNwPcggS34Hk0vneroKs0ahQnZFLspfPeqv+9w5aq9LV3DKWdOFNI+XScEEap/Pn9M98Azp73qXsLijQJ58kJfBfa1FMxBS0oWYuAgR20amCUqq8TdsvpajjNLOYtIvbCwYhs4pOjwPIs6dCi40EdEVhV5gXZQl6H8QzEqucfBoz0tLj4yKvEOASM/wgcDl3bQ+cx0x8UXNhUmuQRP9GjJg5O/RQQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=gA17gzSkL2SavAaY06dZyoHocmEV+HABYkCyHwDzWdQ=;
 b=BaePd1BPifPkq3LsNOiZ8gF1/jeUVmyCnCrWcBultUebglHlerv4Tv3cR4RJ93c174D6iKe3V98YU+oFEcQR8eo8Izxe0NOl3MKpTX6Sq9zzPeKOg+PtVZHSbeKMOmMBLhpG7ruX69FgZylifsK0uvbsQToE2hLvO0ew6eaxhwk=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.com>, <oleksii.kurochko@gmail.com>, Penny Zheng
	<Penny.Zheng@amd.com>, Andrew Cooper <andrew.cooper3@citrix.com>, "Anthony
 PERARD" <anthony.perard@vates.tech>, Michal Orzel <michal.orzel@amd.com>,
	"Jan Beulich" <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>
Subject: [PATCH v3 10/28] xen/vm_event: make VM_EVENT depend on CONFIG_MGMT_HYPERCALLS
Date: Mon, 13 Oct 2025 18:15:22 +0800
Message-ID: <20251013101540.3502842-11-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20251013101540.3502842-1-Penny.Zheng@amd.com>
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ1PEPF00001CE9:EE_|DS5PPF8B1E59479:EE_
X-MS-Office365-Filtering-Correlation-Id: 8e0bd761-9ccb-46df-7530-08de0a41a35a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|36860700013|82310400026|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?t2MgLyke/KRNd+E5gObZgSiQo0a1rOklgIVfcCnzpXF2INNQW/B+HetOD/ne?=
 =?us-ascii?Q?Mm+MyfglwAbkqAIeQEAvDswRJ2b4XGXP6E/hkMNrseWZKUirsKmUmTbqR+70?=
 =?us-ascii?Q?WBjE53cRnpS1mAG6HdAiRuhF4mBpSgMRUMnHcO0zHDBQRlTsCopsSryfj+QE?=
 =?us-ascii?Q?wo7KRPyae9OJY4tnbk15Yuf6Yq28Gii3mWjTtftlIHDx5VD6oeU31KOsYcQ5?=
 =?us-ascii?Q?ooT6xvOLL9NvqXBo8ujGNUw3otXdF5NO7Z5qR1AYSJWm9CTi1c0nabdkLxll?=
 =?us-ascii?Q?sYomIfb7tI5HHfw2UDJHpt6rxl1/JwbzVyqUcmj6fcw/w05uxoYgCWj/Q2e/?=
 =?us-ascii?Q?oY2JJh2rK6SDZy7yG27+Suthr+DHjnUVd+e9Ks/56z+fzbFj73ALlsuxbxHT?=
 =?us-ascii?Q?dR+Br0arX6mdCnMYHz8zGnDXXtlfjWm8vtYXDSObUeHid9K/Lb+PwIhLqO+g?=
 =?us-ascii?Q?GjFsQCM78ipUSP1rI88seDUc/No1l5Zg7dZV7JsmsCMlY/qrGFdj13XD4kv5?=
 =?us-ascii?Q?OBF+F90qusQ0jwhB8Rdg1ak8h2qxWW43RxeSp74MyXENmxfjNWmZq7ePSONV?=
 =?us-ascii?Q?AUVtdOYEw1KILgyNWS4JErHpBdJ5QmNG3yZ0SXWdlq5ELY3pTQBuEEgwbvtF?=
 =?us-ascii?Q?KQ1wGEbgw7+1NFMTIVDdVWaFLackIyB+/SGNgb05FAMKXxuh/C6QdI0KHBOV?=
 =?us-ascii?Q?i3cGPQfc/mSw8lqAhRSE1u3cVLdSiB5HvwRTRWEohr6/1XrVK00B66uKsuqH?=
 =?us-ascii?Q?R8yhIl+74vYN8JW7CN22Ec9V7VMExePdZQQPv2gmnzEmi2YcrLdnPWDbJQNW?=
 =?us-ascii?Q?sti5ri8bqkbKemaDQbUauX3opVi2jIPFATNeSzJOwbFG8WJ8Oym08BidHUcX?=
 =?us-ascii?Q?07r9G+Ogcng60t1vvtt2isxdGCU9nAh1GEch1+TfKOdR90FXZmxAQC2xSkBC?=
 =?us-ascii?Q?l2UNm8SIJP3cyBajjlkeiLslgFECPppbsGRKu8kQvv8FVFVz1iq8eGBmxu47?=
 =?us-ascii?Q?NtMtzcIjJJyatm2mbft/ftPup8DQlJoH8a1x3m3FEDe/Dsuby2PXtUnBYVEL?=
 =?us-ascii?Q?rr/gDwXksZOHP/ksy1QjmEeq8CqqSKYA+y8zKG0x9ME5O/hh/sHhc9ppjWlB?=
 =?us-ascii?Q?oekA6GmrpheA1PEghLLJj8E+4ojUa2OvYOflv3A5MjUrKcz/TZd5Zvov/bHX?=
 =?us-ascii?Q?AGytG6dR5A6AtMH3ONOLcCKVLSp0G0cnoQntujc1cSMCCU183PKqd+NRc8kT?=
 =?us-ascii?Q?aR4Je+iegqoDSZVc2/A6Ugb4yotZIdF7MwAU0LiQb4uSGZL3NS82wyJVZQlY?=
 =?us-ascii?Q?cDn9bji1dHxwvbd3YtjpzG8zY27N0xCfng05oFYuPW/lsIryS4XTVEnSieic?=
 =?us-ascii?Q?vcrreysmZ3bD5pH7NJkTtjg837/CuUe77ByOBmldxHrhblZ+j229BI+4IFNz?=
 =?us-ascii?Q?3C8IS1B9OkzXH2VvgHlYpF7/lBEckiXjRoaOYnw6j0CFLwIvMXlnR+BLi7fR?=
 =?us-ascii?Q?ClQ8dYPcLgEhLTpfx1dgQq5URAfh0XVsV2NF1tnep1c4wKQqvp8V/yMfw1d7?=
 =?us-ascii?Q?eyBAPc/J9XmlBfZ+sd0=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(36860700013)(82310400026)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2025 10:16:56.1614
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8e0bd761-9ccb-46df-7530-08de0a41a35a
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ1PEPF00001CE9.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS5PPF8B1E59479

VM event could only be enabled/disabled via vm_event domctl-op, so
CONFIG_VM_EVENT shall depend on CONFIG_MGMT_HYPERCALLS

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
v1 -> v2:
- adapt to changes of "unify DOMCTL to MGMT_HYPERCALLS"
---
 xen/common/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index 95cbb451bf..309d262386 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -172,7 +172,7 @@ config LIBFDT
 
 config VM_EVENT
 	bool "Memory Access and VM events"
-	depends on HVM
+	depends on HVM && MGMT_HYPERCALLS
 	default X86
 	help
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Oct 13 10:24:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 10:24:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141963.1476164 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8FjK-0001ev-Eq; Mon, 13 Oct 2025 10:24:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141963.1476164; Mon, 13 Oct 2025 10:24:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8FjK-0001eo-Ao; Mon, 13 Oct 2025 10:24:38 +0000
Received: by outflank-mailman (input) for mailman id 1141963;
 Mon, 13 Oct 2025 10:24:37 +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 <SRS0=eGB2=4W=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1v8FjJ-0001ei-Ed
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 10:24:37 +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 ceded6c5-a81e-11f0-980a-7dc792cee155;
 Mon, 13 Oct 2025 12:24:32 +0200 (CEST)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-3f99ac9acc4so3411816f8f.3
 for <xen-devel@lists.xenproject.org>; Mon, 13 Oct 2025 03:24:32 -0700 (PDT)
Received: from ?IPV6:2003:e5:873f:400:7b4f:e512:a417:5a86?
 (p200300e5873f04007b4fe512a4175a86.dip0.t-ipconnect.de.
 [2003:e5:873f:400:7b4f:e512:a417:5a86])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-426ce57d3desm17721744f8f.7.2025.10.13.03.24.31
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 13 Oct 2025 03:24:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ceded6c5-a81e-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760351072; x=1760955872; darn=lists.xenproject.org;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=qr5ZArQKZCdmsZppJ075UA0dbtIu5h6r9+un4ipzQ+E=;
        b=BTJjVE6e5cmLI7P+KkA3H4oFPult4tGizOUHoBw1QflBdpS7elifCoSnT8HRE9P0c6
         VgTfCZwVGX2nVvH8Xz/uMB2J2HIGKAvlHH+3Dev/Isc9twVC3/87HX9IJ9zZFd3g0nBW
         /jyQkkmrzRrjGw2yhbTuXfLT84uYpd2JxbzQrazhpEOLpBkxiN23xdA1JI0ymuFEdMqz
         9TO4vJ0KreRttvnWckfg0Y/RiO2b+ILNQPqYw5+NBHwh+9Q/FCkeelYKgTolCcXf533v
         14Qs9cTTjFJFTFtz8UXUEUH5iiPBAJ7Ww5CyvpPpJt5tjL5DH2R36AxaSmgP2811ZjiT
         gRjg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760351072; x=1760955872;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=qr5ZArQKZCdmsZppJ075UA0dbtIu5h6r9+un4ipzQ+E=;
        b=afoWrmPp/Sd0x1rFej/EDr3LV46VA4rbhIVD4+8huSLqHgvnyfM1SRVuj4VzuMaup6
         pd8VTy8nDt1QZXF1ZJqixJAqEVqfwZx/GxNyoGkur4/ZPV7kkZE1geq7qAxUMik6W/oF
         lX82MxsRsnG6kcZwS4eMZ0ex4BhecUVUPGFzR/cod66VwaWopRA5UeaQoAo06lsMm5Dq
         BY8wsfdQHYCkkSj9QC5Wf1YSkxPTaj7qKkTy+Y8/bXPOxaQ06Xdcv2EtbWEEdKFaDhNT
         3q/KZVhMAG9mEXkRBklYl5o7WUX/sYRUMC7aTXOE5VitPhUuOImS5WsrDH46QbvOxIwW
         4ShQ==
X-Forwarded-Encrypted: i=1; AJvYcCUdsOIYO78aItzyTL2ubEbilzPiUFHk2CsN6xBjZsmkI9oHCkoZOUBUa6DRSixT/qjSLlf+AcYq3Co=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz8T8BYKzEXkM1QOefdm2H++HoPE6Xi6jrQLS/E/a1qhuvx3nps
	44Gc1BzHWz5RfQoBcaZnLecwy/lNJPeqFoW+UC/AflGBWScD5gaKN4CioFhV73V1F/k=
X-Gm-Gg: ASbGncvYKPhIsVgOJIxaCDlFRIW0cpYplvjdhKce59QJ7gmvg4APiGr1FGT7BEvaBQP
	jszSiuGzuH9CuPTJqEsj5pngJBXEGNxNXV3+J8s8lK8xlzfaiHcbpznVq/9Y+oUPvPbouUasmOZ
	XxnChdpb3qMF5Anf5kh5qX5+2+gE9BoZ9qn0kds/mrhKEp1og5CNaYFYjMpFxGEzkpuXd7x59YY
	agMN305t9LPBOlrjGEKuthxHEl1Uu+L+QVrO6B+7iyUuzgcVkdf62mZJvo85bv7yuzT+TUxeET7
	212JgsPNBUEf8Lch2vNFWA5lBxF5jAB7yS2p8BjkDfocK2IIGefyxZN+fOyLBjuHJSfEcr/FgRF
	xk4hqKmXBnzkYCRqv0gRIXJ1jnzoLckyLwaDBKVJiMSD96BUoU5/4I22Gw2sEWwC2A7pHzNRm8e
	1wOWOXPfT9e1eo5xVtBte+Q4arTjRSlUAtLO/ZGO2A2W4/ksdC9afVVAbtLYobeR4=
X-Google-Smtp-Source: AGHT+IFV6wsht263x79ElbvgimCoetm0deg3zI8CHkoAhWiDB7Ah41m3knm+5304GmReauBHqUdO1g==
X-Received: by 2002:a05:6000:4282:b0:40f:288e:9968 with SMTP id ffacd0b85a97d-4266e8dd0b0mr12303399f8f.51.1760351071621;
        Mon, 13 Oct 2025 03:24:31 -0700 (PDT)
Message-ID: <37e1fc47-54b2-423e-881b-6da802b91d56@suse.com>
Date: Mon, 13 Oct 2025 12:24:30 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 04/28] xen/sched: remove vcpu_set_soft_affinity()
To: Penny Zheng <Penny.Zheng@amd.com>, xen-devel@lists.xenproject.org
Cc: ray.huang@amd.com, oleksii.kurochko@gmail.com,
 Dario Faggioli <dfaggioli@suse.com>, George Dunlap <gwd@xenproject.org>,
 Jan Beulich <jbeulich@suse.com>
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
 <20251013101540.3502842-5-Penny.Zheng@amd.com>
Content-Language: en-US
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <20251013101540.3502842-5-Penny.Zheng@amd.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------l2yCtF4ilnqOFg01KBD9zXDi"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------l2yCtF4ilnqOFg01KBD9zXDi
Content-Type: multipart/mixed; boundary="------------8JHmm1gnj728m3sjjJJXWkN0";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Penny Zheng <Penny.Zheng@amd.com>, xen-devel@lists.xenproject.org
Cc: ray.huang@amd.com, oleksii.kurochko@gmail.com,
 Dario Faggioli <dfaggioli@suse.com>, George Dunlap <gwd@xenproject.org>,
 Jan Beulich <jbeulich@suse.com>
Message-ID: <37e1fc47-54b2-423e-881b-6da802b91d56@suse.com>
Subject: Re: [PATCH v3 04/28] xen/sched: remove vcpu_set_soft_affinity()
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
 <20251013101540.3502842-5-Penny.Zheng@amd.com>
In-Reply-To: <20251013101540.3502842-5-Penny.Zheng@amd.com>
Autocrypt-Gossip: 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
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJ3BBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AAIQkQoDSui/t3IH4WIQQ+pJkfkcoLMCa4X6CgNK6L+3cgfgn7AJ9DmMd0SMJE
 ePbc7/m22D2v04iu7ACffXTdZQhNl557tJuDXZSBxDmW/tLOwU0EWTecRBAIAIK5OMKMU5R2
 Lk2bbjgX7vyQuCFFyKf9rC/4itNwhYWFSlKzVj3WJBDsoi2KvPm7AI+XB6NIkNAkshL5C0kd
 pcNd5Xo0jRR5/WE/bT7LyrJ0OJWS/qUit5eNNvsO+SxGAk28KRa1ieVLeZi9D03NL0+HIAtZ
 tecfqwgl3Y72UpLUyt+r7LQhcI/XR5IUUaD4C/chB4Vq2QkDKO7Q8+2HJOrFIjiVli4lU+Sf
 OBp64m//Y1xys++Z4ODoKh7tkh5DxiO3QBHG7bHK0CSQsJ6XUvPVYubAuy1XfSDzSeSBl//C
 v78Fclb+gi9GWidSTG/4hsEzd1fY5XwCZG/XJJY9M/sAAwUH/09Ar9W2U1Qm+DwZeP2ii3Ou
 14Z9VlVVPhcEmR/AFykL9dw/OV2O/7cdi52+l00reUu6Nd4Dl8s4f5n8b1YFzmkVVIyhwjvU
 jxtPyUgDOt6DRa+RaDlXZZmxQyWcMv2anAgYWGVszeB8Myzsw8y7xhBEVV1S+1KloCzw4V8Z
 DSJrcsZlyMDoiTb7FyqxwQnM0f6qHxWbmOOnbzJmBqpNpFuDcz/4xNsymJylm6oXiucHQBAP
 Xb/cE1YNHpuaH4SRhIxwQilCYEznWowQphNAbJtEKOmcocY7EbSt8VjXTzmYENkIfkrHRyXQ
 dUm5AoL51XZljkCqNwrADGkTvkwsWSvCSQQYEQIACQUCWTecRAIbDAAKCRCgNK6L+3cgfuef
 AJ9wlZQNQUp0KwEf8Tl37RmcxCL4bQCcC5alCSMzUBJ5DBIcR4BY+CyQFAs=

--------------8JHmm1gnj728m3sjjJJXWkN0
Content-Type: multipart/mixed; boundary="------------ieLumi4DVVHyvh90It58Gr90"

--------------ieLumi4DVVHyvh90It58Gr90
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTMuMTAuMjUgMTI6MTUsIFBlbm55IFpoZW5nIHdyb3RlOg0KPiBIZWxwZXIgdmNwdV9z
ZXRfc29mdF9hZmZpbml0eSgpIG9ubHkgaGFzIGEgc2luZ2xlIGNhbGxlciwgc28gaXQgaXMg
b2YgbGl0dGxlDQo+IHZhbHVlIHRvIGtlZXAgaXQgYXMgYSBoZWxwZXIgYW5kIGNvdWxkIGVh
c2lseSBiZSBleHBhbmRlZCBhdCB0aGUgc29sZSBjYWxsDQo+IHNpdGUuDQo+IA0KPiBTdWdn
ZXN0ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gU2lnbmVkLW9m
Zi1ieTogUGVubnkgWmhlbmcgPFBlbm55LlpoZW5nQGFtZC5jb20+DQoNClJldmlld2VkLWJ5
OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+DQoNCg0KSnVlcmdlbg0K
--------------ieLumi4DVVHyvh90It58Gr90
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------ieLumi4DVVHyvh90It58Gr90--

--------------8JHmm1gnj728m3sjjJJXWkN0--

--------------l2yCtF4ilnqOFg01KBD9zXDi
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmjs014FAwAAAAAACgkQsN6d1ii/Ey87
Igf6A9jyZQ2JBmGlJaJTy3sGemkDXbppeaXg49VODM8xiu2AgN1Isin/TThiQDI+QFX4VdyQB/cl
f47DGKyqiUWsOaFpjig6OlYhz8hEmTu5/jkcagMS1Fmtx+/GGkCNvgUCGclVSB8vSp9kEbRyV0i/
BrKuVUT9pbWwkDvSoU6QvTrOHuo/CSBp80FPsYPVXIKuJmT9LOlCf22yZL3LvhvOxALXnoebf3Jf
jYbe7q5hJ/6lx8tvk4RapBKkcX0Wi5T9kkK16kF1U5BQcgvAqxn256w7n5P/b/PwpwGk2kG91Z3C
YNVwejY2qtkeh8pOWllyzi/EvTnWrb1yzHLF+e5KUA==
=Nf20
-----END PGP SIGNATURE-----

--------------l2yCtF4ilnqOFg01KBD9zXDi--


From xen-devel-bounces@lists.xenproject.org Mon Oct 13 10:26:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 10:26:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141973.1476174 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8Fl3-0002F8-O6; Mon, 13 Oct 2025 10:26:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141973.1476174; Mon, 13 Oct 2025 10:26:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8Fl3-0002F1-LO; Mon, 13 Oct 2025 10:26:25 +0000
Received: by outflank-mailman (input) for mailman id 1141973;
 Mon, 13 Oct 2025 10:26:24 +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
 <SRS0=gL+L=4W=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1v8Fc0-0004Rd-CT
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 10:17:04 +0000
Received: from BL2PR02CU003.outbound.protection.outlook.com
 (mail-eastusazlp17011000f.outbound.protection.outlook.com
 [2a01:111:f403:c100::f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c22dc77c-a81d-11f0-980a-7dc792cee155;
 Mon, 13 Oct 2025 12:17:02 +0200 (CEST)
Received: from MW2PR16CA0011.namprd16.prod.outlook.com (2603:10b6:907::24) by
 PH0PR12MB7094.namprd12.prod.outlook.com (2603:10b6:510:21d::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.13; Mon, 13 Oct
 2025 10:16:54 +0000
Received: from SJ1PEPF00001CE9.namprd03.prod.outlook.com
 (2603:10b6:907:0:cafe::d3) by MW2PR16CA0011.outlook.office365.com
 (2603:10b6:907::24) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9203.12 via Frontend Transport; Mon,
 13 Oct 2025 10:16:54 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 SJ1PEPF00001CE9.mail.protection.outlook.com (10.167.242.25) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9228.7 via Frontend Transport; Mon, 13 Oct 2025 10:16:54 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) by
 satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.2562.17; Mon, 13 Oct 2025 03:16:49 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c22dc77c-a81d-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=TMltJdnWZRRW/XtofYCBHyW5yf0AqBQWHpJSSR5f6izBlWMxvz4az59eky5RmxlaubTxSetMjtbSwT8IfByJF7XHK9Fk+1VqAhf3OjrlZOuceJAwGkAUrNASTp3s/CoxDNkBxI1mfhKuXE4FwkjOp3hIsdnCfNtl/GZckWUHNaOYmY3ZHXt6b7kz+bS3j6/KH3obcnx4jtatSbxL/8980PrPOi5BrOmlcwQ8oDLjzyo33w85K7AB2OehOOdrEikwLEXdKHGNP+jyxIW0ViCQ2XaRG3hxxI9YZ/VHWaxvbaUhymgEbECWrEROVDdt9++wI2jCYjRdBgqtxN7hSnbWhw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YPIM3VARJIsEgUCBHN9Euwao07xeck6Zq/ldW6g3xnQ=;
 b=qR/jg2NC9e09SNgeYZMjfhmAyE8bbGBwPnlhq9l8KHONBZNEv7fjWeRZzdyOYRWd7nsrU4EgvqAb7YjYzOHZD0cCMW9XkNvw7lTTmdCihiY5G7646Au5jlab798M2CMxImiqMuUmFb0yk/DGilwDMDHjKhY+/Yotznzewmql0BXNVDHqFJ9OC97fB9twpT8Uyhku7Vl/lQEC1iaMGkj8ECpm2r/wTlP0z8HYEnmUCE0I9jusO1yLs6K+5Rel19RIk0u+SGxZttPOATymzk9eUSvJQFGSkEz2/9z83krWEHsn+YG+tnYeJgL2nQGYOZn/MJ8U4eXkf9KfpStMSki/0w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=YPIM3VARJIsEgUCBHN9Euwao07xeck6Zq/ldW6g3xnQ=;
 b=D0XwXfzf+21RgJFKfHCducLm3H8G8iPMQml8YytLjAvJRECRKifERbH5Ka1xlVJsPY8ey20WFh1+SoQG3dUFa/sZfnAI5dWxA33r6MzRhuKH+FXGwVKxG9TrPqSCUWuspnz3PAj0OGhLpmoSxuM1dHYKRtWchbu2EEZlsAVddzs=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.com>, <oleksii.kurochko@gmail.com>, Penny Zheng
	<Penny.Zheng@amd.com>, Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Anthony PERARD <anthony.perard@vates.tech>, "Michal
 Orzel" <michal.orzel@amd.com>, Julien Grall <julien@xen.org>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Tamas K Lengyel <tamas@tklengyel.com>,
	Alexandru Isaila <aisaila@bitdefender.com>, Petre Pircalabu
	<ppircalabu@bitdefender.com>, "Daniel P. Smith"
	<dpsmith@apertussolutions.com>
Subject: [PATCH v3 09/28] xen/vm_event: consolidate CONFIG_VM_EVENT
Date: Mon, 13 Oct 2025 18:15:21 +0800
Message-ID: <20251013101540.3502842-10-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20251013101540.3502842-1-Penny.Zheng@amd.com>
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ1PEPF00001CE9:EE_|PH0PR12MB7094:EE_
X-MS-Office365-Filtering-Correlation-Id: b9cb030e-767b-49d0-7070-08de0a41a21a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|7416014|82310400026|1800799024|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?Uy1q1WI/ULA2H3XpKn/K0ATg5plf9UAOlXFa/5+50Xq35sKelzdCCL8eOzMb?=
 =?us-ascii?Q?9MaRnYyJAj7rVAnchZN8GYK+QWKT+cP65UWM/8f5hlBAEOkIudmvUyaCQPPC?=
 =?us-ascii?Q?p3qPKtEYgr8yElz/AONbT58Sz/lFAo6tKi59ko/nNvvXYQL4Ynvw+Tecsstp?=
 =?us-ascii?Q?9JBElKwZbELdie9fYOHyK3M5X2wb1/G9oCfFi9jSeBec0Vvk/FhgRGSvtpSV?=
 =?us-ascii?Q?tKGMs8+dM1gUIUKmOLG+VaPlEas7a+9fo1UbACFNl9cvbcGqFBssJNZVw6wh?=
 =?us-ascii?Q?oQ8+UaLR3qVh43Y0J4dKcKMH0kaw8tD+IjDjwsgLsK+Dswc/m4jer9uAifK3?=
 =?us-ascii?Q?ORsDv///19EtvMNAyo3od7o3RvXjf5yyyDElCn27vSZ+z5+WroPij3Y92G1p?=
 =?us-ascii?Q?iomYXEVJP9WeJh7YfS9+8jFhihsrWvfJzqmooLaE0Xu12Ntlu35CXjzCkXXD?=
 =?us-ascii?Q?O7wcuho7QfZrHs6PVLw891rSLkdIDy0p0H+6hwa3J63MrUvbZtKluatO+mjV?=
 =?us-ascii?Q?y3Rkju/2mSEpfKatXkoI43DjxDuiI1sv6xodYOMYS6q0coxUqEALSDEGvFLr?=
 =?us-ascii?Q?UnSuBdE9LBqgybwoarriSEjX1U6yYHC/JIU+TWmwcS5kMYUwQFNWPiqYl8q2?=
 =?us-ascii?Q?+MzbSNYqER3yddS1M3PmC+cFPsCjywGBD6BME0Flot8a1WY+NUBzh/g+LfUl?=
 =?us-ascii?Q?ZGpKo+J5KWlVyFKuxQegAY3IZmWbIG8skEW81h/dg8lx12xk+W2KvQfL/i+L?=
 =?us-ascii?Q?OAOKz/cKZDVylISf4xsOg7er3GXv2UUvvL/UtZhf24IRVul7qhhcylORqBd1?=
 =?us-ascii?Q?RdK11I3ZUqH4B+1j91UVuhPcVbXLET+xR2VFNfun6Xj+xDfoMmJD4B7NYoKI?=
 =?us-ascii?Q?Fb8/Te+2zPuPC8Sv5YzPCBXxEVrJXQACU1nhpJwT81hBGYKBSUGGYhYTKSC4?=
 =?us-ascii?Q?3UzWsrPoOxJ5T87E6bc4d9zMVDnTmVtasxySk3yCI4YfOVDjauoYVYNa6xjK?=
 =?us-ascii?Q?r+1TPq6mhoCAEwo71952NlUieOXOdeClyRnHzcee3xKSalOxUqM92aTKksL9?=
 =?us-ascii?Q?BnI1fLW7QGhK4hoeiMWlbYXinw8BJQKRpResRsddKlP196K3vAdPY+EGP5HJ?=
 =?us-ascii?Q?uEYfPeYffLS5ULCIPS9pRN2GNROWKqX4Y/RQAwbRcQP+ZZIFNaDQiGKdfJUt?=
 =?us-ascii?Q?dv71ECfOrbKz1wjJyHljodmJjHj9EODDC8zOKp3UvRtlT4U6zl2HAG+EN3ER?=
 =?us-ascii?Q?T/FcaRL0qYcHhFx4tHOzq9cBf8Wp85EHXqj2ma9agp421GzjvUZSmqS83rD4?=
 =?us-ascii?Q?zK9bN0bOmiU1g2Mt+1LD8U9P29QmIvDHQ6ixsH7opQH/HkaSZetrTPtkWSm4?=
 =?us-ascii?Q?Hpi3o4FjVFTt593mF6p29EHJESkZ248gke+RDN/W2wGhluM9ipN5G//s2NRf?=
 =?us-ascii?Q?5EU90/PAwxRN1CWveKLYrMQtcinvk0unXnh21MSqsr/dWoNUZtbU3j8h72/Q?=
 =?us-ascii?Q?EZMZbxNwVlrp9oVhZqZ6yDLAmy5iOWmsNlv9up+83Mbkb1/+jX1pLIQUptjh?=
 =?us-ascii?Q?4szQCBDK4uP8gA5ad4s=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(7416014)(82310400026)(1800799024)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2025 10:16:54.0649
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b9cb030e-767b-49d0-7070-08de0a41a21a
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ1PEPF00001CE9.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB7094

File hvm/vm_event.c and x86/vm_event.c are the extend to vm_event handling
routines, and its compilation shall be guarded by CONFIG_VM_EVENT too.
Futhermore, features about monitor_op and memory access are both based on
vm event subsystem, so monitor.o/mem_access.o shall be wrapped under
CONFIG_VM_EVENT.

Although CONFIG_VM_EVENT is right now forcibly enabled on x86 via
MEM_ACCESS_ALWAYS_ON, we could disable it through disabling
CONFIG_MGMT_HYPERCALLS later. So we remove MEM_ACCESS_ALWAYS_ON and
make VM_EVENT=y on default only on x86 to retain the same.

In consequence, a few switch-blocks need in-place stubs in do_altp2m_op()
to pass compilation when ALTP2M=y and VM_EVENT=n(, hence MEM_ACCESS=n), like
HVMOP_altp2m_set_mem_access, etc.
And the following functions still require stubs to pass compilation:
- vm_event_check_ring()
- p2m_mem_access_check()
- xenmem_access_to_p2m_access()

The following functions are developed on the basis of vm event framework, or
only invoked by vm_event.c/monitor.c/mem_access.c, so they all shall be
wrapped with CONFIG_VM_EVENT (otherwise they will become unreachable and
violate Misra rule 2.1 when VM_EVENT=n):
- hvm_toggle_singlestep
- hvm_fast_singlestep
- hvm_enable_msr_interception
  - hvm_function_table.enable_msr_interception
- hvm_has_set_descriptor_access_existing
  - hvm_function_table.set_descriptor_access_existing
- arch_monitor_domctl_op
- arch_monitor_allow_userspace
- arch_monitor_get_capabilities
- hvm_emulate_one_vm_event
- hvmemul_write{,cmpxchg,rep_ins,rep_outs,rep_movs,rep_stos,read_io,write_io}_discard

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
v1 -> v2:
- split out XSM changes
- remove unnecessary stubs
- move "struct p2m_domain" declaration ahead of the #ifdef
---
v2 -> v3:
- move .enable_msr_interception and .set_descriptor_access_exiting together
- with the introduction of "vm_event_is_enabled()", all hvm_monitor_xxx()
stubs are no longer needed
- change to use in-place stubs in do_altp2m_op()
- no need to add stub for monitor_traps(), __vm_event_claim_slot(),
vm_event_put_request() and vm_event_vcpu_pause()
- remove MEM_ACCESS_ALWAYS_ON
- return default p2m_access_rwx for xenmem_access_to_p2m_access() when
VM_EVENT=n
- add wrapping for hvm_emulate_one_vm_event/
hvmemul_write{,cmpxchg,rep_ins,rep_outs,rep_movs,rep_stos,read_io,write_io}_discard
---
 xen/arch/x86/Makefile                 |  2 +-
 xen/arch/x86/hvm/Kconfig              |  1 -
 xen/arch/x86/hvm/Makefile             |  4 +-
 xen/arch/x86/hvm/emulate.c            | 58 ++++++++++++++-------------
 xen/arch/x86/hvm/hvm.c                | 21 ++++++++++
 xen/arch/x86/hvm/svm/svm.c            |  8 +++-
 xen/arch/x86/hvm/vmx/vmx.c            | 10 +++++
 xen/arch/x86/include/asm/hvm/hvm.h    |  9 ++++-
 xen/arch/x86/include/asm/mem_access.h |  9 +++++
 xen/arch/x86/include/asm/monitor.h    |  9 +++++
 xen/common/Kconfig                    |  7 +---
 xen/include/xen/mem_access.h          | 10 +++++
 xen/include/xen/vm_event.h            |  7 ++++
 13 files changed, 116 insertions(+), 39 deletions(-)

diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index 0f91ffcb9d..615cd101b8 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -76,7 +76,7 @@ obj-y += usercopy.o
 obj-y += x86_emulate.o
 obj-$(CONFIG_TBOOT) += tboot.o
 obj-y += hpet.o
-obj-y += vm_event.o
+obj-$(CONFIG_VM_EVENT) += vm_event.o
 obj-y += xstate.o
 
 ifneq ($(CONFIG_PV_SHIM_EXCLUSIVE),y)
diff --git a/xen/arch/x86/hvm/Kconfig b/xen/arch/x86/hvm/Kconfig
index 5cb9f29042..e6b388dd0e 100644
--- a/xen/arch/x86/hvm/Kconfig
+++ b/xen/arch/x86/hvm/Kconfig
@@ -3,7 +3,6 @@ menuconfig HVM
 	default !PV_SHIM
 	select COMPAT
 	select IOREQ_SERVER
-	select MEM_ACCESS_ALWAYS_ON
 	help
 	  Interfaces to support HVM domains.  HVM domains require hardware
 	  virtualisation extensions (e.g. Intel VT-x, AMD SVM), but can boot
diff --git a/xen/arch/x86/hvm/Makefile b/xen/arch/x86/hvm/Makefile
index 6ec2c8f2db..952db00dd7 100644
--- a/xen/arch/x86/hvm/Makefile
+++ b/xen/arch/x86/hvm/Makefile
@@ -16,7 +16,7 @@ obj-y += io.o
 obj-y += ioreq.o
 obj-y += irq.o
 obj-y += mmio.o
-obj-y += monitor.o
+obj-$(CONFIG_VM_EVENT) += monitor.o
 obj-y += mtrr.o
 obj-y += nestedhvm.o
 obj-y += pmtimer.o
@@ -26,7 +26,7 @@ obj-y += save.o
 obj-y += stdvga.o
 obj-y += vioapic.o
 obj-y += vlapic.o
-obj-y += vm_event.o
+obj-$(CONFIG_VM_EVENT) += vm_event.o
 obj-y += vmsi.o
 obj-y += vpic.o
 obj-y += vpt.o
diff --git a/xen/arch/x86/hvm/emulate.c b/xen/arch/x86/hvm/emulate.c
index fe75b0516d..d56ef02baf 100644
--- a/xen/arch/x86/hvm/emulate.c
+++ b/xen/arch/x86/hvm/emulate.c
@@ -1615,6 +1615,7 @@ static int cf_check hvmemul_blk(
     return rc;
 }
 
+#ifdef CONFIG_VM_EVENT
 static int cf_check hvmemul_write_discard(
     enum x86_segment seg,
     unsigned long offset,
@@ -1717,6 +1718,7 @@ static int cf_check hvmemul_cache_op_discard(
 {
     return X86EMUL_OKAY;
 }
+#endif /* CONFIG_VM_EVENT */
 
 static int cf_check hvmemul_cmpxchg(
     enum x86_segment seg,
@@ -2750,33 +2752,6 @@ static const struct x86_emulate_ops hvm_emulate_ops = {
     .vmfunc        = hvmemul_vmfunc,
 };
 
-static const struct x86_emulate_ops hvm_emulate_ops_no_write = {
-    .read          = hvmemul_read,
-    .insn_fetch    = hvmemul_insn_fetch,
-    .write         = hvmemul_write_discard,
-    .cmpxchg       = hvmemul_cmpxchg_discard,
-    .rep_ins       = hvmemul_rep_ins_discard,
-    .rep_outs      = hvmemul_rep_outs_discard,
-    .rep_movs      = hvmemul_rep_movs_discard,
-    .rep_stos      = hvmemul_rep_stos_discard,
-    .read_segment  = hvmemul_read_segment,
-    .write_segment = hvmemul_write_segment,
-    .read_io       = hvmemul_read_io_discard,
-    .write_io      = hvmemul_write_io_discard,
-    .read_cr       = hvmemul_read_cr,
-    .write_cr      = hvmemul_write_cr,
-    .read_xcr      = hvmemul_read_xcr,
-    .write_xcr     = hvmemul_write_xcr,
-    .read_msr      = hvmemul_read_msr,
-    .write_msr     = hvmemul_write_msr_discard,
-    .cache_op      = hvmemul_cache_op_discard,
-    .tlb_op        = hvmemul_tlb_op,
-    .cpuid         = x86emul_cpuid,
-    .get_fpu       = hvmemul_get_fpu,
-    .put_fpu       = hvmemul_put_fpu,
-    .vmfunc        = hvmemul_vmfunc,
-};
-
 /*
  * Note that passing VIO_no_completion into this function serves as kind
  * of (but not fully) an "auto select completion" indicator.  When there's
@@ -2887,6 +2862,34 @@ int hvm_emulate_one(
     return _hvm_emulate_one(hvmemul_ctxt, &hvm_emulate_ops, completion);
 }
 
+#ifdef CONFIG_VM_EVENT
+static const struct x86_emulate_ops hvm_emulate_ops_no_write = {
+    .read          = hvmemul_read,
+    .insn_fetch    = hvmemul_insn_fetch,
+    .write         = hvmemul_write_discard,
+    .cmpxchg       = hvmemul_cmpxchg_discard,
+    .rep_ins       = hvmemul_rep_ins_discard,
+    .rep_outs      = hvmemul_rep_outs_discard,
+    .rep_movs      = hvmemul_rep_movs_discard,
+    .rep_stos      = hvmemul_rep_stos_discard,
+    .read_segment  = hvmemul_read_segment,
+    .write_segment = hvmemul_write_segment,
+    .read_io       = hvmemul_read_io_discard,
+    .write_io      = hvmemul_write_io_discard,
+    .read_cr       = hvmemul_read_cr,
+    .write_cr      = hvmemul_write_cr,
+    .read_xcr      = hvmemul_read_xcr,
+    .write_xcr     = hvmemul_write_xcr,
+    .read_msr      = hvmemul_read_msr,
+    .write_msr     = hvmemul_write_msr_discard,
+    .cache_op      = hvmemul_cache_op_discard,
+    .tlb_op        = hvmemul_tlb_op,
+    .cpuid         = x86emul_cpuid,
+    .get_fpu       = hvmemul_get_fpu,
+    .put_fpu       = hvmemul_put_fpu,
+    .vmfunc        = hvmemul_vmfunc,
+};
+
 void hvm_emulate_one_vm_event(enum emul_kind kind, unsigned int trapnr,
     unsigned int errcode)
 {
@@ -2949,6 +2952,7 @@ void hvm_emulate_one_vm_event(enum emul_kind kind, unsigned int trapnr,
 
     hvm_emulate_writeback(&ctx);
 }
+#endif /* CONFIG_VM_EVENT */
 
 void hvm_emulate_init_once(
     struct hvm_emulate_ctxt *hvmemul_ctxt,
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 48a293069b..e3dacc909b 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -50,6 +50,7 @@
 #include <asm/hvm/vm_event.h>
 #include <asm/hvm/vpt.h>
 #include <asm/i387.h>
+#include <asm/mem_access.h>
 #include <asm/mc146818rtc.h>
 #include <asm/mce.h>
 #include <asm/monitor.h>
@@ -4861,15 +4862,20 @@ static int do_altp2m_op(
         break;
 
     case HVMOP_altp2m_set_mem_access:
+#ifdef CONFIG_VM_EVENT
         if ( a.u.mem_access.pad )
             rc = -EINVAL;
         else
             rc = p2m_set_mem_access(d, _gfn(a.u.mem_access.gfn), 1, 0, 0,
                                     a.u.mem_access.access,
                                     a.u.mem_access.view);
+#else
+        rc = -EOPNOTSUPP;
+#endif
         break;
 
     case HVMOP_altp2m_set_mem_access_multi:
+#ifdef CONFIG_VM_EVENT
         if ( a.u.set_mem_access_multi.pad ||
              a.u.set_mem_access_multi.opaque > a.u.set_mem_access_multi.nr )
         {
@@ -4898,9 +4904,13 @@ static int do_altp2m_op(
                                        &a, u.set_mem_access_multi.opaque) )
                 rc = -EFAULT;
         }
+#else
+        rc = -EOPNOTSUPP;
+#endif
         break;
 
     case HVMOP_altp2m_get_mem_access:
+#ifdef CONFIG_VM_EVENT
         if ( a.u.mem_access.pad )
             rc = -EINVAL;
         else
@@ -4915,6 +4925,9 @@ static int do_altp2m_op(
                 rc = __copy_to_guest(arg, &a, 1) ? -EFAULT : 0;
             }
         }
+#else
+        rc = -EOPNOTSUPP;
+#endif
         break;
 
     case HVMOP_altp2m_change_gfn:
@@ -5030,6 +5043,7 @@ static int compat_altp2m_op(
     switch ( a.cmd )
     {
     case HVMOP_altp2m_set_mem_access_multi:
+#ifdef CONFIG_VM_EVENT
 #define XLAT_hvm_altp2m_set_mem_access_multi_HNDL_pfn_list(_d_, _s_); \
         guest_from_compat_handle((_d_)->pfn_list, (_s_)->pfn_list)
 #define XLAT_hvm_altp2m_set_mem_access_multi_HNDL_access_list(_d_, _s_); \
@@ -5038,6 +5052,7 @@ static int compat_altp2m_op(
                                              &a.u.set_mem_access_multi);
 #undef XLAT_hvm_altp2m_set_mem_access_multi_HNDL_pfn_list
 #undef XLAT_hvm_altp2m_set_mem_access_multi_HNDL_access_list
+#endif
         break;
 
     default:
@@ -5056,6 +5071,7 @@ static int compat_altp2m_op(
     switch ( a.cmd )
     {
     case HVMOP_altp2m_set_mem_access_multi:
+#ifdef CONFIG_VM_EVENT
         if ( rc == -ERESTART )
         {
             a.u.set_mem_access_multi.opaque =
@@ -5065,6 +5081,9 @@ static int compat_altp2m_op(
                                        &a, u.set_mem_access_multi.opaque) )
                 rc = -EFAULT;
         }
+#else
+        rc = -EOPNOTSUPP;
+#endif
         break;
 
     default:
@@ -5283,6 +5302,7 @@ int hvm_debug_op(struct vcpu *v, int32_t op)
     return rc;
 }
 
+#ifdef CONFIG_VM_EVENT
 void hvm_toggle_singlestep(struct vcpu *v)
 {
     ASSERT(atomic_read(&v->pause_count));
@@ -5292,6 +5312,7 @@ void hvm_toggle_singlestep(struct vcpu *v)
 
     v->arch.hvm.single_step = !v->arch.hvm.single_step;
 }
+#endif /* CONFIG_VM_EVENT */
 
 #ifdef CONFIG_ALTP2M
 void hvm_fast_singlestep(struct vcpu *v, uint16_t p2midx)
diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index 679ca3dacd..c8506c25c4 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -299,6 +299,7 @@ void svm_intercept_msr(struct vcpu *v, uint32_t msr, int flags)
         __clear_bit(msr * 2 + 1, msr_bit);
 }
 
+#ifdef CONFIG_VM_EVENT
 static void cf_check svm_enable_msr_interception(struct domain *d, uint32_t msr)
 {
     struct vcpu *v;
@@ -306,6 +307,7 @@ static void cf_check svm_enable_msr_interception(struct domain *d, uint32_t msr)
     for_each_vcpu ( d, v )
         svm_intercept_msr(v, msr, MSR_INTERCEPT_WRITE);
 }
+#endif /* CONFIG_VM_EVENT */
 
 static void svm_save_dr(struct vcpu *v)
 {
@@ -826,6 +828,7 @@ static void cf_check svm_set_rdtsc_exiting(struct vcpu *v, bool enable)
     vmcb_set_general2_intercepts(vmcb, general2_intercepts);
 }
 
+#ifdef CONFIG_VM_EVENT
 static void cf_check svm_set_descriptor_access_exiting(
     struct vcpu *v, bool enable)
 {
@@ -843,6 +846,7 @@ static void cf_check svm_set_descriptor_access_exiting(
 
     vmcb_set_general1_intercepts(vmcb, general1_intercepts);
 }
+#endif /* CONFIG_VM_EVENT */
 
 static unsigned int cf_check svm_get_insn_bytes(struct vcpu *v, uint8_t *buf)
 {
@@ -2457,9 +2461,11 @@ static struct hvm_function_table __initdata_cf_clobber svm_function_table = {
     .fpu_dirty_intercept  = svm_fpu_dirty_intercept,
     .msr_read_intercept   = svm_msr_read_intercept,
     .msr_write_intercept  = svm_msr_write_intercept,
+#ifdef CONFIG_VM_EVENT
     .enable_msr_interception = svm_enable_msr_interception,
-    .set_rdtsc_exiting    = svm_set_rdtsc_exiting,
     .set_descriptor_access_exiting = svm_set_descriptor_access_exiting,
+#endif
+    .set_rdtsc_exiting    = svm_set_rdtsc_exiting,
     .get_insn_bytes       = svm_get_insn_bytes,
 
     .nhvm_vcpu_initialise = nsvm_vcpu_initialise,
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index a40af1db66..1996e139a0 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -1520,6 +1520,7 @@ static void cf_check vmx_set_rdtsc_exiting(struct vcpu *v, bool enable)
     vmx_vmcs_exit(v);
 }
 
+#ifdef CONFIG_VM_EVENT
 static void cf_check vmx_set_descriptor_access_exiting(
     struct vcpu *v, bool enable)
 {
@@ -1534,6 +1535,7 @@ static void cf_check vmx_set_descriptor_access_exiting(
     vmx_update_secondary_exec_control(v);
     vmx_vmcs_exit(v);
 }
+#endif /* CONFIG_VM_EVENT */
 
 static void cf_check vmx_init_hypercall_page(void *p)
 {
@@ -2413,6 +2415,7 @@ static void cf_check vmx_handle_eoi(uint8_t vector, int isr)
         printk_once(XENLOG_WARNING "EOI for %02x but SVI=%02x\n", vector, old_svi);
 }
 
+#ifdef CONFIG_VM_EVENT
 static void cf_check vmx_enable_msr_interception(struct domain *d, uint32_t msr)
 {
     struct vcpu *v;
@@ -2420,6 +2423,7 @@ static void cf_check vmx_enable_msr_interception(struct domain *d, uint32_t msr)
     for_each_vcpu ( d, v )
         vmx_set_msr_intercept(v, msr, VMX_MSR_W);
 }
+#endif /* CONFIG_VM_EVENT */
 
 #ifdef CONFIG_ALTP2M
 
@@ -2871,7 +2875,9 @@ static struct hvm_function_table __initdata_cf_clobber vmx_function_table = {
     .nhvm_domain_relinquish_resources = nvmx_domain_relinquish_resources,
     .update_vlapic_mode = vmx_vlapic_msr_changed,
     .nhvm_hap_walk_L1_p2m = nvmx_hap_walk_L1_p2m,
+#ifdef CONFIG_VM_EVENT
     .enable_msr_interception = vmx_enable_msr_interception,
+#endif
 #ifdef CONFIG_ALTP2M
     .altp2m_vcpu_update_p2m = vmx_vcpu_update_eptp,
     .altp2m_vcpu_update_vmfunc_ve = vmx_vcpu_update_vmfunc_ve,
@@ -3079,9 +3085,11 @@ const struct hvm_function_table * __init start_vmx(void)
 
     vmx_function_table.caps.singlestep = cpu_has_monitor_trap_flag;
 
+#ifdef CONFIG_VM_EVENT
     if ( cpu_has_vmx_dt_exiting )
         vmx_function_table.set_descriptor_access_exiting =
             vmx_set_descriptor_access_exiting;
+#endif
 
     /*
      * Do not enable EPT when (!cpu_has_vmx_pat), to prevent security hole
@@ -3152,8 +3160,10 @@ void __init vmx_fill_funcs(void)
     if ( !cpu_has_xen_ibt )
         return;
 
+#ifdef CONFIG_VM_EVENT
     vmx_function_table.set_descriptor_access_exiting =
         vmx_set_descriptor_access_exiting;
+#endif
 
     vmx_function_table.update_eoi_exit_bitmap = vmx_update_eoi_exit_bitmap;
     vmx_function_table.process_isr            = vmx_process_isr;
diff --git a/xen/arch/x86/include/asm/hvm/hvm.h b/xen/arch/x86/include/asm/hvm/hvm.h
index f02183691e..473cf24b83 100644
--- a/xen/arch/x86/include/asm/hvm/hvm.h
+++ b/xen/arch/x86/include/asm/hvm/hvm.h
@@ -192,7 +192,10 @@ struct hvm_function_table {
     void (*handle_cd)(struct vcpu *v, unsigned long value);
     void (*set_info_guest)(struct vcpu *v);
     void (*set_rdtsc_exiting)(struct vcpu *v, bool enable);
+#ifdef CONFIG_VM_EVENT
     void (*set_descriptor_access_exiting)(struct vcpu *v, bool enable);
+    void (*enable_msr_interception)(struct domain *d, uint32_t msr);
+#endif
 
     /* Nested HVM */
     int (*nhvm_vcpu_initialise)(struct vcpu *v);
@@ -224,8 +227,6 @@ struct hvm_function_table {
                                 paddr_t *L1_gpa, unsigned int *page_order,
                                 uint8_t *p2m_acc, struct npfec npfec);
 
-    void (*enable_msr_interception)(struct domain *d, uint32_t msr);
-
 #ifdef CONFIG_ALTP2M
     /* Alternate p2m */
     void (*altp2m_vcpu_update_p2m)(struct vcpu *v);
@@ -433,10 +434,12 @@ static inline bool using_svm(void)
 
 #define hvm_long_mode_active(v) (!!((v)->arch.hvm.guest_efer & EFER_LMA))
 
+#ifdef CONFIG_VM_EVENT
 static inline bool hvm_has_set_descriptor_access_exiting(void)
 {
     return hvm_funcs.set_descriptor_access_exiting;
 }
+#endif
 
 static inline void hvm_domain_creation_finished(struct domain *d)
 {
@@ -679,10 +682,12 @@ static inline int nhvm_hap_walk_L1_p2m(
         v, L2_gpa, L1_gpa, page_order, p2m_acc, npfec);
 }
 
+#ifdef CONFIG_VM_EVENT
 static inline void hvm_enable_msr_interception(struct domain *d, uint32_t msr)
 {
     alternative_vcall(hvm_funcs.enable_msr_interception, d, msr);
 }
+#endif
 
 static inline bool hvm_is_singlestep_supported(void)
 {
diff --git a/xen/arch/x86/include/asm/mem_access.h b/xen/arch/x86/include/asm/mem_access.h
index 1a52a10322..c786116310 100644
--- a/xen/arch/x86/include/asm/mem_access.h
+++ b/xen/arch/x86/include/asm/mem_access.h
@@ -14,6 +14,7 @@
 #ifndef __ASM_X86_MEM_ACCESS_H__
 #define __ASM_X86_MEM_ACCESS_H__
 
+#ifdef CONFIG_VM_EVENT
 /*
  * Setup vm_event request based on the access (gla is -1ull if not available).
  * Handles the rw2rx conversion. Boolean return value indicates if event type
@@ -25,6 +26,14 @@
 bool p2m_mem_access_check(paddr_t gpa, unsigned long gla,
                           struct npfec npfec,
                           struct vm_event_st **req_ptr);
+#else
+static inline bool p2m_mem_access_check(paddr_t gpa, unsigned long gla,
+                                        struct npfec npfec,
+                                        struct vm_event_st **req_ptr)
+{
+    return false;
+}
+#endif /* CONFIG_VM_EVENT */
 
 /* Check for emulation and mark vcpu for skipping one instruction
  * upon rescheduling if required. */
diff --git a/xen/arch/x86/include/asm/monitor.h b/xen/arch/x86/include/asm/monitor.h
index 3c64d8258f..1cd169f8f0 100644
--- a/xen/arch/x86/include/asm/monitor.h
+++ b/xen/arch/x86/include/asm/monitor.h
@@ -32,6 +32,7 @@ struct monitor_msr_bitmap {
     DECLARE_BITMAP(high, 8192);
 };
 
+#ifdef COMFIG_VM_EVENT
 static inline
 void arch_monitor_allow_userspace(struct domain *d, bool allow_userspace)
 {
@@ -102,6 +103,7 @@ static inline uint32_t arch_monitor_get_capabilities(struct domain *d)
 
     return capabilities;
 }
+#endif /* CONFIG_VM_EVENT */
 
 int arch_monitor_domctl_event(struct domain *d,
                               struct xen_domctl_monitor_op *mop);
@@ -123,7 +125,14 @@ static inline void arch_monitor_cleanup_domain(struct domain *d) {}
 
 #endif
 
+#ifdef CONFIG_VM_EVENT
 bool monitored_msr(const struct domain *d, u32 msr);
+#else
+static inline bool monitored_msr(const struct domain *d, u32 msr)
+{
+    return false;
+}
+#endif
 bool monitored_msr_onchangeonly(const struct domain *d, u32 msr);
 
 #endif /* __ASM_X86_MONITOR_H__ */
diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index 807b213e8b..95cbb451bf 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -170,13 +170,10 @@ config HAS_VMAP
 config LIBFDT
 	bool
 
-config MEM_ACCESS_ALWAYS_ON
-	bool
-
 config VM_EVENT
-	def_bool MEM_ACCESS_ALWAYS_ON
-	prompt "Memory Access and VM events" if !MEM_ACCESS_ALWAYS_ON
+	bool "Memory Access and VM events"
 	depends on HVM
+	default X86
 	help
 
 	  Framework to configure memory access types for guests and receive
diff --git a/xen/include/xen/mem_access.h b/xen/include/xen/mem_access.h
index 4de651038d..7f2400ceed 100644
--- a/xen/include/xen/mem_access.h
+++ b/xen/include/xen/mem_access.h
@@ -74,9 +74,19 @@ typedef enum {
 } p2m_access_t;
 
 struct p2m_domain;
+#ifdef CONFIG_VM_EVENT
 bool xenmem_access_to_p2m_access(const struct p2m_domain *p2m,
                                  xenmem_access_t xaccess,
                                  p2m_access_t *paccess);
+#else
+static inline bool xenmem_access_to_p2m_access(const struct p2m_domain *p2m,
+                                               xenmem_access_t xaccess,
+                                               p2m_access_t *paccess)
+{
+    *paccess = p2m_access_rwx;
+    return true;
+}
+#endif
 
 /*
  * Set access type for a region of gfns.
diff --git a/xen/include/xen/vm_event.h b/xen/include/xen/vm_event.h
index 27d0c74216..1b76ce632e 100644
--- a/xen/include/xen/vm_event.h
+++ b/xen/include/xen/vm_event.h
@@ -51,7 +51,14 @@ struct vm_event_domain
 };
 
 /* Returns whether a ring has been set up */
+#ifdef CONFIG_VM_EVENT
 bool vm_event_check_ring(struct vm_event_domain *ved);
+#else
+static inline bool vm_event_check_ring(struct vm_event_domain *ved)
+{
+    return false;
+}
+#endif /* CONFIG_VM_EVENT */
 
 /* Returns 0 on success, -ENOSYS if there is no ring, -EBUSY if there is no
  * available space and the caller is a foreign domain. If the guest itself
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Oct 13 10:26:37 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 10:26:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141976.1476184 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8FlF-0002eS-4x; Mon, 13 Oct 2025 10:26:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141976.1476184; Mon, 13 Oct 2025 10:26:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8FlF-0002eL-18; Mon, 13 Oct 2025 10:26:37 +0000
Received: by outflank-mailman (input) for mailman id 1141976;
 Mon, 13 Oct 2025 10:26:35 +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
 <SRS0=gL+L=4W=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1v8FcZ-0004Hi-QD
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 10:17:39 +0000
Received: from SN4PR2101CU001.outbound.protection.outlook.com
 (mail-southcentralusazlp170120001.outbound.protection.outlook.com
 [2a01:111:f403:c10d::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d81ceb48-a81d-11f0-9d15-b5c5bf9af7f9;
 Mon, 13 Oct 2025 12:17:39 +0200 (CEST)
Received: from MN2PR02CA0007.namprd02.prod.outlook.com (2603:10b6:208:fc::20)
 by CH3PR12MB9121.namprd12.prod.outlook.com (2603:10b6:610:1a1::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.12; Mon, 13 Oct
 2025 10:17:34 +0000
Received: from BN2PEPF000055E1.namprd21.prod.outlook.com
 (2603:10b6:208:fc:cafe::9a) by MN2PR02CA0007.outlook.office365.com
 (2603:10b6:208:fc::20) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9203.13 via Frontend Transport; Mon,
 13 Oct 2025 10:17:33 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 BN2PEPF000055E1.mail.protection.outlook.com (10.167.245.11) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9253.0 via Frontend Transport; Mon, 13 Oct 2025 10:17:34 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) by
 satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.2562.17; Mon, 13 Oct 2025 03:17:31 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d81ceb48-a81d-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Qra4PECF7J1kRffALwPY6Q9aWiBOX80Y71UIIKG4ENz44hApS4L1u8xngIGvKSBLx3TlDP7/CFtStdDhZuQHMbY2Jfz0SdtRY1EeRS0hfVvLfrSGK0ZlGrl86IRUAZcAOzbxNbpGC5CperrxJhvA//OPtXseOr05oYY0+emTcBoX17MamcU7egqJ1NTpGPZcCy/U70ope7j1CwUfo5E/sOM6kZK2WfkBP/Elkm6ks4Z6eVIes9OnlWx91wUJKUKgPAEmnGJMwQEI/hsmJEsz7gC4HpadZiXXQQ2xxd8kUkC6WG1IJoifEGfHMVjUk6eazrN7/fxKxjqtFofAYY8Qcg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KWivIiaybYPw5jJB/DQbmVNl+SgpVQga3F7RYOvVWbg=;
 b=DunSHR+38ht+SXgBXQju8Pr4t2AiE2Zf7SRKWsEbuS/eZQFtNrZfWi8olCFppD4vs0I4FqeicbiOmfUGdUY/Kj1KMEGi9Rf5or4t96U0HY2/BbDvMtFbJP57Vh5kL6vuF30SjfcOIDonDA41GdCJgDqFu/nG6a5yP6A+KStoRqmHQOuZifmydPlj8HLNGC1orKUQJJCS6rvxWoJY7gmgkduSlWa5xbcLIfzQRviWGtLk7D0M/YpW4XjJNcrQVZjMn2xSAOUqGq0WXpOgpejFyl7xtZmhBI2jeFB1MOZEj3hNlLctKIYJKYIAhcI6SD6Jwg7++GrE6UW5D2PwrrGcMQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KWivIiaybYPw5jJB/DQbmVNl+SgpVQga3F7RYOvVWbg=;
 b=E8ZF0u3v/P7OzEfQC7omgLN3QhFg9MQ8hH7xQvzGLhH4R1r4hEWcTU9oeeQCg8AM0HtmZkpDtpW5rLTqpIwSvq3nS15PrV3x8VAm/FUGXeatSdzN2sC2+lZ/RYP3h0NzWrxA3bYE+iCPV0LGEV4+r48Jr4rq301HRb+HOn0whz4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.com>, <oleksii.kurochko@gmail.com>, Penny Zheng
	<Penny.Zheng@amd.com>, Stefano Stabellini <sstabellini@kernel.org>, "Julien
 Grall" <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, "Michal
 Orzel" <michal.orzel@amd.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>
Subject: [PATCH v3 23/28] xen/domctl: wrap arch_{get,set}_paging_mempool_size() with CONFIG_MGMT_HYPERCALLS
Date: Mon, 13 Oct 2025 18:15:35 +0800
Message-ID: <20251013101540.3502842-24-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20251013101540.3502842-1-Penny.Zheng@amd.com>
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN2PEPF000055E1:EE_|CH3PR12MB9121:EE_
X-MS-Office365-Filtering-Correlation-Id: 15caf971-32d5-4834-2b5a-08de0a41ba28
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|376014|36860700013|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?Zh79Puv5Y7mqZUKanV+yxNIIqLQ076u3YgTP1VFZP0/NMsjkzf8HkQFs3J95?=
 =?us-ascii?Q?idZRT2Rx5ooJ6sMxWDfdyz9NMsg5dHzlMH1lui3+Y7RqKJ+wnQuhVTgntbd+?=
 =?us-ascii?Q?WGEUmKwKMEHjPpjoIg2vvGKt2ar1F9Ug8r6ap2u+sWSqMCrr09VbH98Z0XF+?=
 =?us-ascii?Q?MPkhgd6/mmaOttyGesHJ+60QD2jTGbSOun8ztKwZupP64vPNyI1aVeaE7Peu?=
 =?us-ascii?Q?KFc3kGJV3bnYa/LEA1bS/WoeEgRvhHI0GLpAII8swaV87ygj5qVyZ/hlwwx0?=
 =?us-ascii?Q?Wm1h9WrPIU3LL6qS5l9czrzjfB0UDQatrMkc9A/g7ogE1AOHxsewBKG/sw72?=
 =?us-ascii?Q?kL72xRDoxLutgrQQlYZA8D1SmjTc87Q2bPpd2vZzQrb++DrDP+JVY86OGHsM?=
 =?us-ascii?Q?vBN3zruM0AAtDvzrlEcjeM7oAfbI+VX2Fqvw6CEC5rrwDPq7FndXyG+Dw867?=
 =?us-ascii?Q?6O6udQWeX7OQHom3EFrzJe5Ikr3gM+oyxjk0fmWFg6rldfBmc8mAgjP/7fF1?=
 =?us-ascii?Q?+F37BMMVGDX6wX0mmmdCVGcxBhoT9sY95dKeIbLwRT8j0HxNjGomFaXG+5Xc?=
 =?us-ascii?Q?3kcWgiIDAqdKpBsrHERGQCBP3t0SaccCjxXFrzOq6YAHJ0CDpgGrU/5J8Cse?=
 =?us-ascii?Q?QAVyCHIV/TDWgHlf2PA6lrRpKioofw6DnZ7zRHz0xzt0L1extPw258olIKSG?=
 =?us-ascii?Q?E636+5WaWi7ypZseNVPXRdJPAubovBjuoi3tpqUfbr+rsYBXZiP+O/ewNpTx?=
 =?us-ascii?Q?pwaEjhxGPJvJFny3ID4VXMYxzPSHij71KQfooR45KxlCMfOla1Vpi5dA4bhy?=
 =?us-ascii?Q?8qWWMwaNr3PQXgupTyUpZc8xjU7ScU1jkeKjNgJhVgEc9oUf2V35YeaBw4iU?=
 =?us-ascii?Q?8DLZuKHaja3sZCUG6SAinf0JF2baUtWeBVjI69/6RbO4AKKY2nFmUwd3avt7?=
 =?us-ascii?Q?hFkw3B9bYp+7qX2ag3Xhnn7bajegbBwUsQ8bo+9emZfXFxOWg2V2UCJlHC1p?=
 =?us-ascii?Q?FA0lm3QQIRzZw8uEcREVXI8L8dSymSwDgR1Bh69yCwNmE9g8jAsy0xJH+7JJ?=
 =?us-ascii?Q?M5EJXW1IGc6q7BJ6mt7nbqV6YGpUhTPJQ1S6XICqER09pyGP0qe20mre3/jo?=
 =?us-ascii?Q?CW39hdxcGP1/agYB/sZRKJWQKiL9pxDbAgHx+HrGLE5Hwk3tfHuUTItBI8Cy?=
 =?us-ascii?Q?hLc1E+MdZrkvxNWx/z7mhCeWgNSDv8lqB8W7RIznNVdqJGfhaVWQV+CNz/3T?=
 =?us-ascii?Q?Gk/fmXXjk54Xs4z0EFv9dAVnZYtuWUe8DuKblR45KsS5lITKT6h8Aib0Wz4R?=
 =?us-ascii?Q?MKszPbVAQ08Cz0+gBVNSZuYdpI3/gf90LgW5qZ35188pUOMa2II2GJXel/vK?=
 =?us-ascii?Q?RNijsjMd9AduSy3dg7w39RjkyTKr/y2kEFKh4psAoCB+8qJvFEAEpFpOzhNb?=
 =?us-ascii?Q?yYfaR5kWHzJ3PCnp97GzCDhkEF740RCyq8RZKYj5Bgc256UDX0t8V9/vBtxy?=
 =?us-ascii?Q?4mD2IPM2ma31TnvNIeNqkeYosUTlhtCVa884wB95U+F/ADrBBudEpOfzQCpP?=
 =?us-ascii?Q?cZ2enixAfElP7AmuWL4=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(376014)(36860700013)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2025 10:17:34.4762
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 15caf971-32d5-4834-2b5a-08de0a41ba28
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN2PEPF000055E1.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB9121

Arch-specific arch_{get,set}_paging_mempool_size() is responsible for
XEN_DOMCTL_{get,set}_paging_mempool_size domctl-op, and shall be wrapped
with CONFIG_MGMT_HYPERCALLS. Otherwise it will become unreachable codes when
MGMT_HYPERCALLS=n, and hence violating Misra 2.1.

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
Acked-by: Jan Beulich <jbeulich@suse.com> # x86
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
v1 -> v2:
- adapt to changes of "unify DOMCTL to MGMT_HYPERCALLS"
- wrap XEN_DOMCTL_{get,set}_paging_mempool_size-case transiently
---
v2 -> v3
- address "violating Misra rule 2.1" in commit message
- remove transient wrapping around XEN_DOMCTL_{get,set}_paging_mempool_size-case
---
 xen/arch/arm/mmu/p2m.c   | 4 ++++
 xen/arch/x86/mm/paging.c | 2 ++
 2 files changed, 6 insertions(+)

diff --git a/xen/arch/arm/mmu/p2m.c b/xen/arch/arm/mmu/p2m.c
index 30d6071e91..4caa5844e4 100644
--- a/xen/arch/arm/mmu/p2m.c
+++ b/xen/arch/arm/mmu/p2m.c
@@ -58,12 +58,14 @@ static void p2m_free_page(struct domain *d, struct page_info *pg)
     }
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 /* Return the size of the pool, in bytes. */
 int arch_get_paging_mempool_size(struct domain *d, uint64_t *size)
 {
     *size = (uint64_t)ACCESS_ONCE(d->arch.paging.p2m_total_pages) << PAGE_SHIFT;
     return 0;
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 /*
  * Set the pool of pages to the required number of pages.
@@ -122,6 +124,7 @@ int p2m_set_allocation(struct domain *d, unsigned long pages, bool *preempted)
     return 0;
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 int arch_set_paging_mempool_size(struct domain *d, uint64_t size)
 {
     unsigned long pages = size >> PAGE_SHIFT;
@@ -140,6 +143,7 @@ int arch_set_paging_mempool_size(struct domain *d, uint64_t size)
 
     return rc;
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 int p2m_teardown_allocation(struct domain *d)
 {
diff --git a/xen/arch/x86/mm/paging.c b/xen/arch/x86/mm/paging.c
index 116389d4e9..c6e3996093 100644
--- a/xen/arch/x86/mm/paging.c
+++ b/xen/arch/x86/mm/paging.c
@@ -949,6 +949,7 @@ int __init paging_set_allocation(struct domain *d, unsigned int pages,
 }
 #endif
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 int arch_get_paging_mempool_size(struct domain *d, uint64_t *size)
 {
     unsigned long pages;
@@ -991,6 +992,7 @@ int arch_set_paging_mempool_size(struct domain *d, uint64_t size)
 
     return preempted ? -ERESTART : rc;
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 /*
  * Local variables:
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Oct 13 10:26:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 10:26:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141981.1476194 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8FlK-000323-EQ; Mon, 13 Oct 2025 10:26:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141981.1476194; Mon, 13 Oct 2025 10:26:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8FlK-00031t-9C; Mon, 13 Oct 2025 10:26:42 +0000
Received: by outflank-mailman (input) for mailman id 1141981;
 Mon, 13 Oct 2025 10:26:40 +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
 <SRS0=gL+L=4W=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1v8Fck-0004Rd-Rn
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 10:17:50 +0000
Received: from CY7PR03CU001.outbound.protection.outlook.com
 (mail-westcentralusazlp170100005.outbound.protection.outlook.com
 [2a01:111:f403:c112::5])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id de160eba-a81d-11f0-980a-7dc792cee155;
 Mon, 13 Oct 2025 12:17:49 +0200 (CEST)
Received: from MN2PR11CA0024.namprd11.prod.outlook.com (2603:10b6:208:23b::29)
 by IA1PR12MB7495.namprd12.prod.outlook.com (2603:10b6:208:419::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.12; Mon, 13 Oct
 2025 10:17:45 +0000
Received: from BN2PEPF000055E0.namprd21.prod.outlook.com
 (2603:10b6:208:23b:cafe::d3) by MN2PR11CA0024.outlook.office365.com
 (2603:10b6:208:23b::29) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9203.12 via Frontend Transport; Mon,
 13 Oct 2025 10:17:42 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 BN2PEPF000055E0.mail.protection.outlook.com (10.167.245.10) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9253.0 via Frontend Transport; Mon, 13 Oct 2025 10:17:44 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) by
 satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.2562.17; Mon, 13 Oct 2025 03:17:42 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: de160eba-a81d-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=NZ0m0b7/D/JbRmHeWJboF5hPDt/lqGtRAJFEIxCSYWcDbEvE1xkWIqH3KegcZkTJlQ/nFzOp6om8qQCCcWf61TbjZ9hfqqnFLRAGbx9EF1VvqJhQI10EeTVjENRwPYkdWsiGrBkU16klUxYskZFyHQbVzX40rQ9XkMr7/OBPjdKVwbn8YuFdJ46/Agu1ARuYLjeRx9FtFz1+9qexfaql/c2UXfFDJUt0l+LD/LPASLwMn547J0riMZififgQHeGxH5EWKn89aS0mr5dZLPHEz8DSqhl42BOC6n1lsfoytRTe4Z+bfnuEdCttb1qRWYLrhMYPt6gFUksSIK+OzWp+bQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Q3Cmxthn8zKCI7zPLmf0c0nfCoguIWJcBZmYje0buDI=;
 b=R9Jjit4voB4/fCqRqmj+QMd3Vnd4D2DDqqnqiMtTX5vCRlBcHBKVcGhdJPiKM9/I9th21csTcwhz33a7qyWTQbgiwwBZoXjEuilsRg0aT68woqdqOx2PzXhfgylnmv9ZMVhDduCZL9ehbvKfgPADBBx6eJit/cyl9AH8FUL2jsOh5pUyQdndhKMIuoFu3VDUMz6cKRzZ0ezme594os3pIRRRpnV1RGT4JjYPmcI0R6jyAVVtl2zcyUnKRbIDIys4Jcr1ulWUFqlQwzeOFI6U6dFWQeIu/B3cFEMaq8+JuM80Os+lHZVcl8psb5l4Cfmotjop8WoSMpqQLpgNUTkGqw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Q3Cmxthn8zKCI7zPLmf0c0nfCoguIWJcBZmYje0buDI=;
 b=IdTqfm6/aJW18KY2B+qIlZxaWUXkuj0jQnyrwwqaHwyWajM5k3+PpkB1xjycndzG1tnVMeqAlzeysR5MzcfPfea31Pi/kLEh1IYVeI+Pdo/LsavfQP6IKSwOCwRWmv0sk7Uf6bsM+5i6EvhAi7wz86F7ozMn1mcY8GAM5AbLwEY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.com>, <oleksii.kurochko@gmail.com>, Penny Zheng
	<Penny.Zheng@amd.com>, Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>
Subject: [PATCH v3 27/28] xen/domctl: make HVM_PARAM_IDENT_PT conditional upon CONFIG_MGMT_HYPERCALLS
Date: Mon, 13 Oct 2025 18:15:39 +0800
Message-ID: <20251013101540.3502842-28-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20251013101540.3502842-1-Penny.Zheng@amd.com>
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN2PEPF000055E0:EE_|IA1PR12MB7495:EE_
X-MS-Office365-Filtering-Correlation-Id: 5f4911fd-f188-471f-5ffd-08de0a41c044
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|36860700013|376014|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?/ALbZrAfOY4509IcK/qZqfVKmKZtEm1OCHL2/ctDcsL7YA7jv1LJSrjNRhEQ?=
 =?us-ascii?Q?+vE9s64QOoAJMkmvCkHralusEgildP4i9SFsrwG0a9Uo5BnKJHnLgWIkI4Hi?=
 =?us-ascii?Q?7TePGcuZwc8liQ7a8fl1gTdr7mSwwSP3xRwNcGdd97s8KbyhbsXWrEhTLtUr?=
 =?us-ascii?Q?l6DVfDoCQTlJDx1H3mjOug3ATomDarBCUA8BuUgCkghdMfbqeezrz49HNx1E?=
 =?us-ascii?Q?B2sGTOiCb7h7vZAcUvtPmgPzwqCMUcEA6YNOdR9Xn3aD3aLfoBswzXkdgcAZ?=
 =?us-ascii?Q?t03cikj9NiryN6f+Q43U0PmjUU4kDzZHY/5TpJQNOpbi604Qbl9xZoV8JzWb?=
 =?us-ascii?Q?ZT6qvg6/h3B8H6ccGp6jpVA5fDTC1k8xTqmy70sslPXuNMfyItkEi78fLiAU?=
 =?us-ascii?Q?RxyDQDNQwDegXhapdOd3DqgyPnSSjkpBEB9ZzR6VzEqxBUStUXgNbH8wkO8q?=
 =?us-ascii?Q?5wkCnw5IAkA53mgnk2GDax3EPsWhR6ZrFXdS+G6Znb3Tc6uGjcRSVHI6l/Px?=
 =?us-ascii?Q?beqkOxP91Y2BubzM40b9EupofxuTfRiDna2Ok0Mts/XaKPMuC+Ed67gAz9yG?=
 =?us-ascii?Q?YxT7/sYpaWJ59iagcb4B4nQkDp3HWhy9UsYhApyXlepF25hh/edfvUqBUyDp?=
 =?us-ascii?Q?vzWEcLcFkG8b7TZQ5Xz0+0Jiefw1mr2ejbGubDJ1b+V76i8AwFY+tdc4Fx5S?=
 =?us-ascii?Q?PicgRETp1Mpos1CZqOVw5Ee/GYgTJv2Mu4Prybyd8MBFFFGIWGteeGMk+fX2?=
 =?us-ascii?Q?8Cyqux2XypZbB7zFkhTDfzC1gHiP5rOhqn2eFOUHASVTcs+rop9dfHmDqUa5?=
 =?us-ascii?Q?JIPTQ0CX4seTcPbeuuj9HDa0/WVCE8MBdryuLGUswKIMjMumW0kovM1nQFV7?=
 =?us-ascii?Q?D6HEWKj0AdIq+Vq9ccv/zjvtExzYLCkkPFgriwrXNfI5fWsg5FyyHemEpvu5?=
 =?us-ascii?Q?VJoVPQ63V5qnrPFnycdr/jmtd628amOQsxZ+rFe04LN0hL99wK7Elh0jg4TC?=
 =?us-ascii?Q?1B2Cm6QA+f4kTnqlh4mMMoVCmZvvGaTjFrCJisK6M2WReJaxpPlYQWvhKDrW?=
 =?us-ascii?Q?BM08+XgHvuNaOTLEH48+d7jPt9AjF7jDVM8xX2rORD266XYJxHflf0fqX95+?=
 =?us-ascii?Q?AYc16ymtEomcGiHeJSX8XumMY1czqsYyfihkT6EHd7WrX2HSLNcKxo62hESQ?=
 =?us-ascii?Q?MZV7ljCUTZpoRE7zny7cz55sACHasC4LqTH1OeBH9pUEfbtZ9Dp5w2PYpLto?=
 =?us-ascii?Q?sJaHTlcIznpQmadRccMYR7gUmyPx3hX7VxpaPEJ/8lWoBBvlO4hLj/gYWgx8?=
 =?us-ascii?Q?fVjkg7AzQqH/4AvTzDfe9DRvs8UiUHBJ4FuyXGjzB2CzzFlDliNwzUt/Hbk1?=
 =?us-ascii?Q?tzNF40FVrhb2ucJOcD9nJ6lzFxbmSSObCq9nrXhgyS5z2Nn8NaJ0FFmwOUpk?=
 =?us-ascii?Q?QGCstZLTBEpqLR/OpkBKDnxFm4du7Yqh5WfCyL8RERjbpSLsxm9DwgmzsBpP?=
 =?us-ascii?Q?HFmeBKcEcylpceZ5TD93DqhZz10k9c1aqk0uWwdT4mysF1XXxWBUtNs0OuNu?=
 =?us-ascii?Q?8qP6R+8AksINHZqSx2U=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700013)(376014)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2025 10:17:44.7623
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5f4911fd-f188-471f-5ffd-08de0a41c044
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN2PEPF000055E0.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB7495

Helper domctl_lock_{acquire,release} is domctl_lock, which HVM_PARAM_IDENT_PT
uses to ensure synchronization and hence being a toolstack-only operation.
So we shall make HVM_PARAM_IDENT_PT conditional upon CONFIG_MGMT_HYPERCALLS,
returning -EOPNOTSUPP when MGMT_HYPERCALLS=n.

Suggested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
v2 -> v3:
- new commit
---
 xen/arch/x86/hvm/hvm.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index e77b0c03ed..e7d630af95 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -4281,7 +4281,6 @@ static int hvm_allow_set_param(struct domain *d,
 static int hvm_set_param(struct domain *d, uint32_t index, uint64_t value)
 {
     struct domain *curr_d = current->domain;
-    struct vcpu *v;
     int rc;
 
     rc = hvm_allow_set_param(d, index, value);
@@ -4307,6 +4306,10 @@ static int hvm_set_param(struct domain *d, uint32_t index, uint64_t value)
             rc = -EINVAL;
         break;
     case HVM_PARAM_IDENT_PT:
+    {
+#ifdef CONFIG_MGMT_HYPERCALLS
+        struct vcpu *v;
+
         /*
          * Only actually required for VT-x lacking unrestricted_guest
          * capabilities.  Short circuit the pause if possible.
@@ -4334,7 +4337,11 @@ static int hvm_set_param(struct domain *d, uint32_t index, uint64_t value)
         domain_unpause(d);
 
         domctl_lock_release();
+#else
+        rc = -EOPNOTSUPP;
+#endif /* CONFIG_MGMT_HYPERCALLS */
         break;
+    }
     case HVM_PARAM_DM_DOMAIN:
         /* The only value this should ever be set to is DOMID_SELF */
         if ( value != DOMID_SELF )
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Oct 13 10:26:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 10:26:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141983.1476199 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8FlK-000349-P0; Mon, 13 Oct 2025 10:26:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141983.1476199; Mon, 13 Oct 2025 10:26:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8FlK-000330-Gs; Mon, 13 Oct 2025 10:26:42 +0000
Received: by outflank-mailman (input) for mailman id 1141983;
 Mon, 13 Oct 2025 10:26:41 +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
 <SRS0=gL+L=4W=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1v8Fcl-0004Rd-Rz
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 10:17:51 +0000
Received: from MW6PR02CU001.outbound.protection.outlook.com
 (mail-westus2azlp170120002.outbound.protection.outlook.com
 [2a01:111:f403:c007::2])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id de091408-a81d-11f0-980a-7dc792cee155;
 Mon, 13 Oct 2025 12:17:49 +0200 (CEST)
Received: from BN9PR03CA0380.namprd03.prod.outlook.com (2603:10b6:408:f7::25)
 by MN2PR12MB4472.namprd12.prod.outlook.com (2603:10b6:208:267::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.12; Mon, 13 Oct
 2025 10:17:42 +0000
Received: from BN2PEPF000055DD.namprd21.prod.outlook.com
 (2603:10b6:408:f7:cafe::eb) by BN9PR03CA0380.outlook.office365.com
 (2603:10b6:408:f7::25) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9203.11 via Frontend Transport; Mon,
 13 Oct 2025 10:17:42 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 BN2PEPF000055DD.mail.protection.outlook.com (10.167.245.7) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9253.0 via Frontend Transport; Mon, 13 Oct 2025 10:17:42 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) by
 satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.2562.17; Mon, 13 Oct 2025 03:17:38 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: de091408-a81d-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=drlACcDYHqi1UFOwfyvQ9P0sJVi4AI9eFak0u0RSucf2rdR8YnhDwArbE5eZRBeSIKzxrPvsnjBSGPHrLEfkCVGdIcQfLXhxktgunVooc7jHzatv49Q1twXMXY5tteKEEqKGeW1Jci0uzCJldAgCleOqKv9eto4ffrdNXKMCyjQAyeAbOmrbDSmjhbwa7bvMCpSKls9IVSHXlHxr2f/NwvOvFqIqye84Tl77/6OmsHj+QgS1hn6l4FNAhCZLl9s5dQkgiKLwJCmHGDA5Byf4sGV5pA+5gDe87PPZfmymCRKjV1FkDuqLPqyAE/FCfDyQN1NJ3H4No8HuFn4NYDF+UA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=oOD2QZuYbeZxYXpYaeJGTrtxe60QMMlvVBWgVwnci/0=;
 b=Gl9RhtkJbb61xY34VkNxHunajMikcYeGjeShf/HoAJiX9soW0OrqvrTGO7dnUdOJcQQEl5Vjd0Gy9U4F3NePgAGtyHQQJ5WFtp3gyWRFZlpx7kr8pyRoebaXs2Dmzi/ZzbOerQBWObcwPGL96T4kgV4P+tihPuPxao+QgUb7jmP5Que0go3f3NkcGTS5Ls/aaiV037I2dhbxG3Ex7UVz2TQi3cu1AN6+uOV2EFVMpJK8b2iIUENiGSCBM3MhVGfsuoh9RsroVtXfHJKi6wZN1gI+dJT4jF6feFfH2t4kIjXpmRzlEoWFVvaF2oOPIUDR4zjDAjfBYiJSclsqIHrpXg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=oOD2QZuYbeZxYXpYaeJGTrtxe60QMMlvVBWgVwnci/0=;
 b=WA5xj2vmVlFxMhY1J6NyGtYlmCVsj9+ncmpKdb9TWsa/1iejok1TbX3kf3802tcUdY2q8kUqRgDqaynaZEXrgbaY3PjXTILmFjoMeDPS6AZOIe61bwjb9SOB182hOnuddGUtybA/FBsE8JfczBFFA8/uZ/7OeDafPdvQcVYPMFk=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.com>, <oleksii.kurochko@gmail.com>, Penny Zheng
	<Penny.Zheng@amd.com>, Andrew Cooper <andrew.cooper3@citrix.com>, "Anthony
 PERARD" <anthony.perard@vates.tech>, Michal Orzel <michal.orzel@amd.com>,
	"Jan Beulich" <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Tamas K Lengyel <tamas@tklengyel.com>, "Daniel P. Smith"
	<dpsmith@apertussolutions.com>
Subject: [PATCH v3 26/28] xen/domctl: wrap arch-specific domctl-op with CONFIG_MGMT_HYPERCALLS
Date: Mon, 13 Oct 2025 18:15:38 +0800
Message-ID: <20251013101540.3502842-27-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20251013101540.3502842-1-Penny.Zheng@amd.com>
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN2PEPF000055DD:EE_|MN2PR12MB4472:EE_
X-MS-Office365-Filtering-Correlation-Id: 3abffff3-93f6-402b-6027-08de0a41bf22
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|7416014|82310400026|1800799024|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?mViaeCb62T6P1sC33NWRLZ0uOK1RszlHvqxYg25i+zB0fZrOv4a5+NCMrYLy?=
 =?us-ascii?Q?X40SRDVBUnt1pwqwII4kaPgiF1y7Fdn57M/m2ibs2fs4fYfXIC3jaS0X5i/b?=
 =?us-ascii?Q?Ux0QlQESC9duFu7PVAzJJoOyK5Cy+DMHuaA310FraoKX77s5EKpyJNEpAskw?=
 =?us-ascii?Q?qXPtADMiHuF9ZyoqIXDmGZV6lPwaModC7g25WkJ/eAV/v6GTAmx5LHsqH8ZO?=
 =?us-ascii?Q?/QT/7YH+0S1llkTYmf2KrceQZTYPu1LQOck7TXOQ5dfRpKG44KcOjAPlmvnS?=
 =?us-ascii?Q?u631immA412LjnPndiyeDP2modV4ZspP+wQUFL6H9mYOEpdU2xUl+nMbYpKD?=
 =?us-ascii?Q?JPt8KHjTK5zVNlbkF3ddQFBjMCsbghXfw3W5YrkjWBh96Q3DwSHZ3/+zEQUY?=
 =?us-ascii?Q?jiKguYqSv4Ptj0nmI1P3do5Lp/cpt+YhOoj+rMlNxznYBYegIhFudEU0T0Ak?=
 =?us-ascii?Q?pCgi1B0MMsvrojwqE/3PvO8c650QHQgoCuWJ2dDYTjVJ+VzyuA/u3gAhqIvb?=
 =?us-ascii?Q?AO5FEKxIN2PI0pdXqYUjpqFKLznSSpaL8NQkMtf+2hRpuBNx3fl/bRUz269j?=
 =?us-ascii?Q?bp1nteGLAVrRQ8OTrdYaqWiNnSXOXOihB3tlMK8E4VwCBVz01Clb9kaF+j3c?=
 =?us-ascii?Q?B/XTH8C6SaL5f1bniSKH+6OPi1SiWdzkGnh96QDmnkRCnd+oAF0HdqieDCge?=
 =?us-ascii?Q?o14Zki15WS3DOMez1D/Nh++PKFHeCXc+PqbpHzOxu86beK56kBMDIbwp0Jp2?=
 =?us-ascii?Q?2QI5mUDojyEub0zulzj/IvaZroDBD0azhhEqI7Hl996kf7wSX+UZDGtlPArh?=
 =?us-ascii?Q?1HO7pZvQ5HmeM3J45N971CQqaSJVEbQMVyubJSKJ0TXKex5xVempRAE+znAS?=
 =?us-ascii?Q?p/HnV1c+SaK5Gm9eZ8NerBwOgHJIELHBFCFMiOwyXvPzMO7A5LRbLgZZN069?=
 =?us-ascii?Q?kPeSjIHIGEE8afA+ys/VYh9Ynnk6o9gZsK6JPgl93gUbnb3jXJKnnzvEb569?=
 =?us-ascii?Q?OWmnWbI1Vy4YL20HkGfcayb7RcsL4pW79alGpXvhgUi8PqaX7VkbqmbX509K?=
 =?us-ascii?Q?5JP+WRDu1vLoPme7ROpAdafwLEF1D3vyg7wEAiS9SszJoPZ1GJXxPUR47W82?=
 =?us-ascii?Q?RFpEvGkaajcXcF0yPV8aL1qQdkTNQMLpDxH/duJK8Hi3mdrHUOBGZd4qphQb?=
 =?us-ascii?Q?+4RtAWefiFnx5SPuDHMzRW3ZFq9In0lC0nWQA61JN1UW5hOAEuVnfESULn/t?=
 =?us-ascii?Q?Spol3g003vU2zZfumSE2LO7UGqezDC2xzStplhm6xv75k+jHZfK5xbRA8aoi?=
 =?us-ascii?Q?zfdBaUTr4KOt3sXmASXW4wCM5C3x0iqUN+I6LJLQA7lc5FK1mOx3EIH3KVlx?=
 =?us-ascii?Q?5Q51hMQa+3BrvKy7EH126chre+whi3z9K8q6C9wNH4hseXaNtO3z0OFVppe6?=
 =?us-ascii?Q?QLB/oBWaF8YTUPXPli3yFf3fKb3mYkEUSusMoZ210mRdsU67mCdqD3tyHZP5?=
 =?us-ascii?Q?EuMV6ikAPh+OGYODSNlBnoqfZe2WbWJyA2VXyRoQJLB3cputbWH0OLjJ22yV?=
 =?us-ascii?Q?dfBxq6c4yezYYN+Wn6c=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(7416014)(82310400026)(1800799024)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2025 10:17:42.8606
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3abffff3-93f6-402b-6027-08de0a41bf22
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN2PEPF000055DD.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4472

Function arch_do_domctl() is responsible for arch-specific domctl-op,
and shall be wrapped with CONFIG_MGMT_HYPERCALLS
Tracking its calling chain and the following functions shall be wrapped with
CONFIG_MGMT_HYPERCALLS too. Otherwise they will all become unreachable when
MGMT_HYPERCALLS=n, and hence violating Misra Rule 2.1.
For x86:
- hvm_save_one
- hvm_acpi_power_button
- hvm_acpi_sleep_button
- hvm_debug_op
- mem_sharing_domctl
- make P2M_AUDIT depend on CONFIG_MGMT_HYPERCALLS
- make PG_log_dirty depend on CONFIG_MGMT_HYPERCALLS
- do_vmtrace_op
  - hvm_vmtrace_control
    - hvm_funcs.vmtrace_control
  - hvm_vmtrace_get_option
    - hvm_funcs.vmtrace_get_option
  - hvm_vmtrace_set_option
    - hvm_funcs.vmtrace_set_option
  - hvm_vmtrace_output_position
    - hvm_funcs.vmtrace_output_position
- paging_domctl_cont
- make policy.o/msr.o depend on CONFIG_MGMT_HYPERCALLS
For ARM:
- subarch_do_domctl
We put the guardian in Makefile for the arch-specific domctl.o compilation.

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
v1 -> v2:
- split out xsm parts
- adapt to changes of "unify DOMCTL to MGMT_HYPERCALLS"
- wrap default-case and arch_get_domain_info() transiently
---
v2 -> v3:
- add missing guardian in arm/Makefile
- cover RTIT_CTL{,STATUS}_MASK #define-s
- add missing guardian for .vmtrace_output_position
- guard the whole static inline function
- address "violating Misra rule 2.1" in commit message
- remove transient wrapping around default-case and arch_get_domain_info()
---
 xen/Kconfig.debug                  | 2 +-
 xen/arch/arm/Makefile              | 2 +-
 xen/arch/arm/arm32/Makefile        | 2 +-
 xen/arch/arm/arm64/Makefile        | 2 +-
 xen/arch/x86/Makefile              | 2 +-
 xen/arch/x86/hvm/hvm.c             | 2 ++
 xen/arch/x86/hvm/pmtimer.c         | 2 ++
 xen/arch/x86/hvm/vmx/vmx.c         | 4 ++++
 xen/arch/x86/include/asm/hvm/hvm.h | 4 ++++
 xen/arch/x86/include/asm/p2m.h     | 2 +-
 xen/arch/x86/include/asm/paging.h  | 2 +-
 xen/arch/x86/mm/mem_sharing.c      | 2 ++
 xen/include/hypercall-defs.c       | 4 ++--
 xen/lib/x86/Makefile               | 4 ++--
 14 files changed, 25 insertions(+), 11 deletions(-)

diff --git a/xen/Kconfig.debug b/xen/Kconfig.debug
index a69615cd63..0dd44d2b10 100644
--- a/xen/Kconfig.debug
+++ b/xen/Kconfig.debug
@@ -15,7 +15,7 @@ if DEBUG || EXPERT
 
 config GDBSX
 	bool "Guest debugging with gdbsx"
-	depends on X86
+	depends on X86 && MGMT_HYPERCALLS
 	default y
 	help
 	  If you want to enable support for debugging guests from dom0 via
diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 2aff1a1630..2f4593f5eb 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -20,7 +20,7 @@ obj-$(CONFIG_IOREQ_SERVER) += dm.o
 obj-$(CONFIG_DOM0LESS_BOOT) += dom0less-build.init.o
 obj-y += domain.o
 obj-y += domain_build.init.o
-obj-y += domctl.o
+obj-$(CONFIG_MGMT_HYPERCALLS) += domctl.o
 obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
 obj-y += efi/
 obj-y += gic.o
diff --git a/xen/arch/arm/arm32/Makefile b/xen/arch/arm/arm32/Makefile
index 531168f58a..f8cbf14211 100644
--- a/xen/arch/arm/arm32/Makefile
+++ b/xen/arch/arm/arm32/Makefile
@@ -4,7 +4,7 @@ obj-$(CONFIG_MPU) += mpu/
 
 obj-y += cache.o
 obj-$(CONFIG_EARLY_PRINTK) += debug.o
-obj-y += domctl.o
+obj-$(CONFIG_MGMT_HYPERCALLS) += domctl.o
 obj-y += domain.o
 obj-y += entry.o
 obj-y += head.o
diff --git a/xen/arch/arm/arm64/Makefile b/xen/arch/arm/arm64/Makefile
index 6491c5350b..6b77a15abe 100644
--- a/xen/arch/arm/arm64/Makefile
+++ b/xen/arch/arm/arm64/Makefile
@@ -6,7 +6,7 @@ obj-y += cache.o
 obj-y += cpufeature.o
 obj-$(CONFIG_HARDEN_BRANCH_PREDICTOR) += bpi.o
 obj-$(CONFIG_EARLY_PRINTK) += debug.o
-obj-y += domctl.o
+obj-$(CONFIG_MGMT_HYPERCALLS) += domctl.o
 obj-y += domain.o
 obj-y += entry.o
 obj-y += head.o
diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index 615cd101b8..7253ca32af 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -28,7 +28,7 @@ obj-y += delay.o
 obj-y += desc.o
 obj-bin-y += dmi_scan.init.o
 obj-y += domain.o
-obj-y += domctl.o
+obj-$(CONFIG_MGMT_HYPERCALLS) += domctl.o
 obj-bin-y += dom0_build.init.o
 obj-y += domain_page.o
 obj-y += e820.o
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index e3dacc909b..e77b0c03ed 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -5259,6 +5259,7 @@ long do_hvm_op(unsigned long op, XEN_GUEST_HANDLE_PARAM(void) arg)
     return rc;
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 int hvm_debug_op(struct vcpu *v, int32_t op)
 {
     int rc = 0;
@@ -5301,6 +5302,7 @@ int hvm_debug_op(struct vcpu *v, int32_t op)
 
     return rc;
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 #ifdef CONFIG_VM_EVENT
 void hvm_toggle_singlestep(struct vcpu *v)
diff --git a/xen/arch/x86/hvm/pmtimer.c b/xen/arch/x86/hvm/pmtimer.c
index 87a7a01c9f..f080f7561d 100644
--- a/xen/arch/x86/hvm/pmtimer.c
+++ b/xen/arch/x86/hvm/pmtimer.c
@@ -56,6 +56,7 @@ static void pmt_update_sci(PMTState *s)
         hvm_isa_irq_deassert(s->vcpu->domain, SCI_IRQ);
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 void hvm_acpi_power_button(struct domain *d)
 {
     PMTState *s = &d->arch.hvm.pl_time->vpmt;
@@ -81,6 +82,7 @@ void hvm_acpi_sleep_button(struct domain *d)
     pmt_update_sci(s);
     spin_unlock(&s->lock);
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 /* Set the correct value in the timer, accounting for time elapsed
  * since the last time we did that. */
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 4394990131..5c2e8a8d92 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -2568,6 +2568,7 @@ static bool cf_check vmx_get_pending_event(
     return true;
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 /*
  * We only let vmtrace agents see and modify a subset of bits in MSR_RTIT_CTL.
  * These all pertain to data-emitted into the trace buffer(s).  Must not
@@ -2700,6 +2701,7 @@ static int cf_check vmtrace_output_position(struct vcpu *v, uint64_t *pos)
     *pos = v->arch.msrs->rtit.output_offset;
     return v->arch.hvm.vmx.ipt_active;
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 #if defined(CONFIG_MGMT_HYPERCALLS) || defined(CONFIG_MEM_SHARING)
 static int cf_check vmtrace_reset(struct vcpu *v)
@@ -2886,10 +2888,12 @@ static struct hvm_function_table __initdata_cf_clobber vmx_function_table = {
     .altp2m_vcpu_emulate_ve = vmx_vcpu_emulate_ve,
     .altp2m_vcpu_emulate_vmfunc = vmx_vcpu_emulate_vmfunc,
 #endif
+#ifdef CONFIG_MGMT_HYPERCALLS
     .vmtrace_control = vmtrace_control,
     .vmtrace_output_position = vmtrace_output_position,
     .vmtrace_set_option = vmtrace_set_option,
     .vmtrace_get_option = vmtrace_get_option,
+#endif
 #if defined(CONFIG_MGMT_HYPERCALLS) || defined(CONFIG_MEM_SHARING)
     .vmtrace_reset = vmtrace_reset,
 #endif
diff --git a/xen/arch/x86/include/asm/hvm/hvm.h b/xen/arch/x86/include/asm/hvm/hvm.h
index 9d6cb42d48..a88c69e3ff 100644
--- a/xen/arch/x86/include/asm/hvm/hvm.h
+++ b/xen/arch/x86/include/asm/hvm/hvm.h
@@ -236,10 +236,12 @@ struct hvm_function_table {
 #endif
 
     /* vmtrace */
+#ifdef CONFIG_MGMT_HYPERCALLS
     int (*vmtrace_control)(struct vcpu *v, bool enable, bool reset);
     int (*vmtrace_output_position)(struct vcpu *v, uint64_t *pos);
     int (*vmtrace_set_option)(struct vcpu *v, uint64_t key, uint64_t value);
     int (*vmtrace_get_option)(struct vcpu *v, uint64_t key, uint64_t *value);
+#endif
 #if defined(CONFIG_MGMT_HYPERCALLS) || defined(CONFIG_MEM_SHARING)
     int (*vmtrace_reset)(struct vcpu *v);
 #endif
@@ -742,6 +744,7 @@ static inline bool altp2m_vcpu_emulate_ve(struct vcpu *v)
 bool altp2m_vcpu_emulate_ve(struct vcpu *v);
 #endif /* CONFIG_ALTP2M */
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 static inline int hvm_vmtrace_control(struct vcpu *v, bool enable, bool reset)
 {
     if ( hvm_funcs.vmtrace_control )
@@ -776,6 +779,7 @@ static inline int hvm_vmtrace_get_option(
 
     return -EOPNOTSUPP;
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 #if defined(CONFIG_MGMT_HYPERCALLS) || defined(CONFIG_MEM_SHARING)
 static inline int hvm_vmtrace_reset(struct vcpu *v)
diff --git a/xen/arch/x86/include/asm/p2m.h b/xen/arch/x86/include/asm/p2m.h
index 9016e88411..3574e2eecd 100644
--- a/xen/arch/x86/include/asm/p2m.h
+++ b/xen/arch/x86/include/asm/p2m.h
@@ -20,7 +20,7 @@
 #include <asm/page.h>    /* for pagetable_t */
 
 /* Debugging and auditing of the P2M code? */
-#if !defined(NDEBUG) && defined(CONFIG_HVM)
+#if !defined(NDEBUG) && defined(CONFIG_HVM) && defined(CONFIG_MGMT_HYPERCALLS)
 #define P2M_AUDIT     1
 #else
 #define P2M_AUDIT     0
diff --git a/xen/arch/x86/include/asm/paging.h b/xen/arch/x86/include/asm/paging.h
index 1b0694bb36..db3e5b8f31 100644
--- a/xen/arch/x86/include/asm/paging.h
+++ b/xen/arch/x86/include/asm/paging.h
@@ -55,7 +55,7 @@
 #define PG_translate   0
 #define PG_external    0
 #endif
-#ifdef CONFIG_PAGING
+#if defined(CONFIG_PAGING) && defined(CONFIG_MGMT_HYPERCALLS)
 /* Enable log dirty mode */
 #define PG_log_dirty   (XEN_DOMCTL_SHADOW_ENABLE_LOG_DIRTY << PG_mode_shift)
 #else
diff --git a/xen/arch/x86/mm/mem_sharing.c b/xen/arch/x86/mm/mem_sharing.c
index af7b7f2538..6113a271dc 100644
--- a/xen/arch/x86/mm/mem_sharing.c
+++ b/xen/arch/x86/mm/mem_sharing.c
@@ -2322,6 +2322,7 @@ out:
     return rc;
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 int mem_sharing_domctl(struct domain *d, struct xen_domctl_mem_sharing_op *mec)
 {
     int rc;
@@ -2339,6 +2340,7 @@ int mem_sharing_domctl(struct domain *d, struct xen_domctl_mem_sharing_op *mec)
 
     return rc;
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 void arch_dump_shared_mem_info(void)
 {
diff --git a/xen/include/hypercall-defs.c b/xen/include/hypercall-defs.c
index cd2c801af6..02d7b93e80 100644
--- a/xen/include/hypercall-defs.c
+++ b/xen/include/hypercall-defs.c
@@ -197,7 +197,7 @@ dm_op(domid_t domid, unsigned int nr_bufs, xen_dm_op_buf_t *bufs)
 #ifdef CONFIG_MGMT_HYPERCALLS
 sysctl(xen_sysctl_t *u_sysctl)
 #endif
-#if defined(CONFIG_X86) && defined(CONFIG_PAGING)
+#if defined(CONFIG_X86) && defined(CONFIG_PAGING) && defined(CONFIG_MGMT_HYPERCALLS)
 paging_domctl_cont(xen_domctl_t *u_domctl)
 #endif
 domctl(xen_domctl_t *u_domctl)
@@ -296,7 +296,7 @@ dm_op                              compat   do       compat   do       do
 hypfs_op                           do       do       do       do       do
 #endif
 mca                                do       do       -        -        -
-#if defined(CONFIG_X86) && defined(CONFIG_PAGING)
+#if defined(CONFIG_X86) && defined(CONFIG_PAGING) && defined(CONFIG_MGMT_HYPERCALLS)
 paging_domctl_cont                 do       do       do       do       -
 #endif
 
diff --git a/xen/lib/x86/Makefile b/xen/lib/x86/Makefile
index 780ea05db1..89fb4bba27 100644
--- a/xen/lib/x86/Makefile
+++ b/xen/lib/x86/Makefile
@@ -1,3 +1,3 @@
 obj-y += cpuid.o
-obj-y += msr.o
-obj-y += policy.o
+obj-$(CONFIG_MGMT_HYPERCALLS) += msr.o
+obj-$(CONFIG_MGMT_HYPERCALLS) += policy.o
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Oct 13 10:26:52 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 10:26:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141992.1476213 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8FlU-0003ul-2y; Mon, 13 Oct 2025 10:26:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141992.1476213; Mon, 13 Oct 2025 10:26:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8FlT-0003uX-WA; Mon, 13 Oct 2025 10:26:52 +0000
Received: by outflank-mailman (input) for mailman id 1141992;
 Mon, 13 Oct 2025 10:26:50 +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
 <SRS0=gL+L=4W=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1v8FcI-0004Rd-Bm
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 10:17:22 +0000
Received: from CO1PR03CU002.outbound.protection.outlook.com
 (mail-westus2azlp170100005.outbound.protection.outlook.com
 [2a01:111:f403:c005::5])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cd058701-a81d-11f0-980a-7dc792cee155;
 Mon, 13 Oct 2025 12:17:20 +0200 (CEST)
Received: from BN9PR03CA0497.namprd03.prod.outlook.com (2603:10b6:408:130::22)
 by MN0PR12MB6030.namprd12.prod.outlook.com (2603:10b6:208:3ce::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.12; Mon, 13 Oct
 2025 10:17:15 +0000
Received: from BN2PEPF000055DA.namprd21.prod.outlook.com
 (2603:10b6:408:130:cafe::59) by BN9PR03CA0497.outlook.office365.com
 (2603:10b6:408:130::22) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9203.12 via Frontend Transport; Mon,
 13 Oct 2025 10:17:15 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 BN2PEPF000055DA.mail.protection.outlook.com (10.167.245.4) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9253.0 via Frontend Transport; Mon, 13 Oct 2025 10:17:15 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) by
 satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.2562.17; Mon, 13 Oct 2025 03:17:12 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cd058701-a81d-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=GZQe3SLaQG7OaY6T70B+v0+5YAKkChcwfCp7j4IUKFiqw1EGeSztyboKXGKMaCQxTwFSnfMrkn9YBEIfaP8VxUnbnz9QNYKIcKFNxWhrPNt04cICAD5NmCK+Iehf2z1rmf99y9V01Hst1W798GLcHaLGDuEY8oCbVzyow+2keiE1LW9itARtf9oO8AYXc06SB5TZ6hLP+Y7Qs+tBM/iqaHIQ9ost2Htqag1sIiEuLeMU7MggZ18CkOQ98AqpfSJqaQpVyemhNUqegO7VrDxPm/bCJc6XFZ/+HOW6QX7SMiLTfHoaexO2WvsXP/dVb1TWAAOUfktFDcAbrLBBcs3BAw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mUzeX3m860DkQZELNQP1jPIoGOmjnl/TlRkAt13jUvE=;
 b=TxSyslhUD46GZCsnNvVTI2hD7guLrUwWol1O5yAQxPC89ROyfsnOfj8vx5sTFenutjcrW6lK4CFctZ3+SeipC+Pe3UiJ9No+NDiOlR9Tmi4DPBshz5lYS6mNyDjnTIqfbhuPKHaM1KK6Zt903MifeQ783V3tkZtGYyCFG4vcbq4TQOZjhtWKKnZ7PoMBrM1TPdqN62GD80muE55I8tNXEUpRhlnBoM/EKCwVTj4OT6vGjoL/0e3cJYYZK4iAk9xzx6Tb0OMPPQSh70SZtmejnj4mzOw2C26UsHKgdZy6PjEIw8rraXjUZkqotFnpVr/I/JyWVUenfrDe+yBTl1g5HA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=mUzeX3m860DkQZELNQP1jPIoGOmjnl/TlRkAt13jUvE=;
 b=WyOzJ3PE5hf9twomtVUhMU29tw1dn7cGIfB+XMXiKvXKLVJDJiQiChLJHOKPSzFG4qr5q1i/mAcPQGclp9MspgX2v32eS66SD367HLANKJGxeYCy3m3u4JvaKhulXsP2vlhU0hyJYoTYARf/klS6IrYLqP2rJCZWxOJXuuN0eak=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.com>, <oleksii.kurochko@gmail.com>, Penny Zheng
	<Penny.Zheng@amd.com>, Andrew Cooper <andrew.cooper3@citrix.com>, "Anthony
 PERARD" <anthony.perard@vates.tech>, Michal Orzel <michal.orzel@amd.com>,
	"Jan Beulich" <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>
Subject: [PATCH v3 16/28] xen/domctl: wrap domain_set_node_affinity() with CONFIG_MGMT_HYPERCALLS
Date: Mon, 13 Oct 2025 18:15:28 +0800
Message-ID: <20251013101540.3502842-17-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20251013101540.3502842-1-Penny.Zheng@amd.com>
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN2PEPF000055DA:EE_|MN0PR12MB6030:EE_
X-MS-Office365-Filtering-Correlation-Id: 739cd843-ed09-4ca9-400d-08de0a41aed5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|36860700013|82310400026|376014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?SPmNtJVEo5BGCNI5M8+6zrlC97ZUDxpZ2FaP4DQPcjc9riK90nMwR+q7vxvW?=
 =?us-ascii?Q?uiJCfo6WWXLZlbDRqKRNP28ojNAO/IId7gZUcZzzs+YTw6/PhJJ5FHboO980?=
 =?us-ascii?Q?xs5nOVmbCtcYy98mPduGyBlLXfKMDW3NJUKJuoM7z4p+eCJb/yUALh8Jumxx?=
 =?us-ascii?Q?nGakxaqFfcddGz6hbzx9/O7Znu04XvShwc3ubGcsjrIr9QWQ1sP5lyGVaikP?=
 =?us-ascii?Q?SeZZIunAES6efKxAa8LdiLxrKmVf4QV42UzRxS7Uk3NscY7oOkJ8xoE+Jsgi?=
 =?us-ascii?Q?F5To80PnXePaRJr/0O6JQ4plpeiyRlUfP0MzDFGSyUYyC+KJTHlEq+P51PS0?=
 =?us-ascii?Q?DksZgcNPCJxS08bfqT5j9Dh8c9CTKvf1FsSD/qNbAS+rKProCh7nkyno3N/M?=
 =?us-ascii?Q?C2MHWGBj1VHBJJU7amJx04qnCz/XJSUbUdk2s6gYqcqvHDRv7P7wl0j6lRtI?=
 =?us-ascii?Q?EXx2cduWwGAk97iR5ToFPrtoEVNWSMsjwb39yq+MGJAehEHwesApwRsbIL0t?=
 =?us-ascii?Q?YL92zvl+lynEjvH4eZ115Cy5dJzrdVLh18Fm8NTCY7iDZREm2uS7Sk8CzK+y?=
 =?us-ascii?Q?g6p5d77YOAzDnW9Kyn0K43V6ybWGBojoaOau7U5MTU75SMLDiV8+5e4xoxFf?=
 =?us-ascii?Q?MhQluH2xWot0Uu2PBtvD7///CHPm3+2ZpRnZtQQgvgAHIlk/7SD7gtviL/sx?=
 =?us-ascii?Q?lkr3pFVQ963XPhAKsM4G9rdoF8JDExrB87FmXtz5nR320XvfRanrZ7DXIwOY?=
 =?us-ascii?Q?97McZfUSxhJqUA4GXRrbIkhbkIVeE/eYT9Jv/x2SXztNbhQq/YEY9+jNgkPy?=
 =?us-ascii?Q?AI52DfZAXUUeoN3zNAPFkD6Qpwb5kD6ZFXi2bGMv5kREA6aWeDLNN5bvkCxW?=
 =?us-ascii?Q?Y0K/eufQUAIE+2jmtnc84fb3S8ULPjEKPgaDF9U0qOc0ntTWonIz4L7EYAPA?=
 =?us-ascii?Q?jgOH/UFvIIXH36QlfC8YrmAixFxSy8KN/2PwNv4vJIh0qCMVJzfGAcGE4bDp?=
 =?us-ascii?Q?lLKCm8gpOLmI8KK3H1RtlxA+bKRoAbFNv2BlUA539MO6S0SzZnNc7Wy5Ypr1?=
 =?us-ascii?Q?CjRFoHMv4cRhlgTO6RrmlUxpk5S/8Ik0E0xH/+Pgm69gmerXauuYsp2BoiWG?=
 =?us-ascii?Q?RkCdrL7pnh5s+SR2J1lSyCyshjdKJWnyt2x152tp+ZDx1P0rGpHzV81q4kow?=
 =?us-ascii?Q?1dURCPwf0q7GNQ9SPYwlsjUYBdt/srYo64M7F8FRMba/SiA584FtVWBL7lrf?=
 =?us-ascii?Q?lcxlXrEFck5o6SudXI40rcYxKttl6ZhcR80llUBsFXtJxCVvzA7QtCve10eo?=
 =?us-ascii?Q?xcqpb84Qa+fRPyZHai1bX+K7gnnEzHT/SOC1SgOlO/7RNxmtceGjYQnQy7O4?=
 =?us-ascii?Q?/UKvWyB0d7trXzfZpS9m2LKAZRjwkfAXyvbmDpdfOhi3r15EQPdZyX0VAkdj?=
 =?us-ascii?Q?bUkvf1P2Y3oq7IG586CGKJKopLFWrY02LRZ2WNkYxaGyUgcMi6JOKWmuj/Rt?=
 =?us-ascii?Q?GbFiUKgezX3Au8WuV8AkTLBH8QvZ62kvhvq6tXwcUSnsDssPJq09+3/+Mn+N?=
 =?us-ascii?Q?HMlzkuQOf/O5H7CuBEs=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700013)(82310400026)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2025 10:17:15.5131
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 739cd843-ed09-4ca9-400d-08de0a41aed5
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN2PEPF000055DA.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB6030

Function domain_set_node_affinity() is responsible for
XEN_DOMCTL_setnodeaffinity domctl-op, and shall be wrapped with
CONFIG_MGMT_HYPERCALLS. Otherwise it will become unreachable codes when
MGMT_HYPERCALLS=n, and hence violating Misra rule 2.1.

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
v1 -> v2:
- adapt to changes of "unify DOMCTL to MGMT_HYPERCALLS"
- wrap XEN_DOMCTL_setnodeaffinity-case and xenctl_bitmap_to_nodemask()
transiently
---
v2 -> v3:
- address "violating Misra rule 2.1" in commit message
- remove transient wrapping around XEN_DOMCTL_setnodeaffinity-case
---
 xen/common/domain.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/common/domain.c b/xen/common/domain.c
index 5d81ab3045..6778dc388c 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -1105,6 +1105,7 @@ void __init setup_system_domains(void)
 #endif
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 int domain_set_node_affinity(struct domain *d, const nodemask_t *affinity)
 {
     /* Being disjoint with the system is just wrong. */
@@ -1133,6 +1134,7 @@ out:
 
     return 0;
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 /* rcu_read_lock(&domlist_read_lock) must be held. */
 static struct domain *domid_to_domain(domid_t dom)
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Oct 13 10:26:52 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 10:26:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141995.1476218 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8FlU-000400-Es; Mon, 13 Oct 2025 10:26:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141995.1476218; Mon, 13 Oct 2025 10:26:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8FlU-0003z6-Ab; Mon, 13 Oct 2025 10:26:52 +0000
Received: by outflank-mailman (input) for mailman id 1141995;
 Mon, 13 Oct 2025 10:26:50 +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
 <SRS0=gL+L=4W=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1v8Fcm-0004Rd-Ry
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 10:17:52 +0000
Received: from CY7PR03CU001.outbound.protection.outlook.com
 (mail-westcentralusazlp170100005.outbound.protection.outlook.com
 [2a01:111:f403:c112::5])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id df28e40f-a81d-11f0-980a-7dc792cee155;
 Mon, 13 Oct 2025 12:17:51 +0200 (CEST)
Received: from MN2PR11CA0030.namprd11.prod.outlook.com (2603:10b6:208:23b::35)
 by DM4PR12MB6039.namprd12.prod.outlook.com (2603:10b6:8:aa::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.12; Mon, 13 Oct
 2025 10:17:48 +0000
Received: from BN2PEPF000055E0.namprd21.prod.outlook.com
 (2603:10b6:208:23b:cafe::f8) by MN2PR11CA0030.outlook.office365.com
 (2603:10b6:208:23b::35) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9203.13 via Frontend Transport; Mon,
 13 Oct 2025 10:17:45 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 BN2PEPF000055E0.mail.protection.outlook.com (10.167.245.10) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9253.0 via Frontend Transport; Mon, 13 Oct 2025 10:17:47 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) by
 satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.2562.17; Mon, 13 Oct 2025 03:17:44 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: df28e40f-a81d-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Jb0SN2xp7vNHSMh0x4rv7zCmYonyyWrGsBDD7HodkKKFlAOZ6eEbO4p83J5iLO/lGrQ36r5AuUnlxJrI0HUILXnUFBs/rhXklKbCG2SXbfdtZ0wdhXd5tgVj4Xzw5AljJUg60FRsLYKYmcLtvTSts6Byoai4EpdNOEkplnir3Lt8muasyBSqJKvZe/x2icJnJxE4G3b0S/T2tuR85XVTxUcdkugPzKmvqWpQbTSTn/uTMMpNLjPFJsMuVhv7tZ/TakAM1ob5mwateh3b5aVkb8WCgZfnkiiHhWdgHcA+Wg38rDcuwUhn6p1SnDd0+QoXMhwbRz5PCHv2UG+JnkngMw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=N2aSf4g6NxpM8zBIw6QU7YTARrV403WNSPl9azppxQs=;
 b=HqWfdoWR5A28I570WIqg1AlJ288IbF7iY8DG+1NlalKzG7/XK2VGbgr9hSYYnS8sMo+HyWCEKhvHjD3pvDtgp2py2XAS4lhvepuyhSxXXmfT0CEi/VK32uUdJSz1ItfGbB49q1dQtUxNIpxgd1LVrcqFIEc8YZs1EuNXUPUGZ23bKTDlHQ+l7GSouVFqwyhnMJxEBPx3a8yNNOyUEyKEjqRQ3LNRbv4yeApESFKoLEPTNRs17zizPvXvXCo/lsvwrnq3U6vljAf7KfzCYqaEwd3WwNGuFG7rY9zdKlM0MgkEqABGvN5KMsEpduNV1tSYh8utuPApSw6r+mFmMk5g6g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=N2aSf4g6NxpM8zBIw6QU7YTARrV403WNSPl9azppxQs=;
 b=HX+jtnvvtB5CPxFSFY4/6dQzeaK0/twO2m4DT39X2gjdHNnVmChsFyRAPdUxSHGeatbMCJleNlnUUa4e6i8ku8DKInefGAUijuEQU26r1794z76IYPf/9Agn+gfOpbop9cLQB99mshXdUxMTU5qGGGVtWQAQKDitvROjr2XDxuY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.com>, <oleksii.kurochko@gmail.com>, Penny Zheng
	<Penny.Zheng@amd.com>, Andrew Cooper <andrew.cooper3@citrix.com>, "Anthony
 PERARD" <anthony.perard@vates.tech>, Michal Orzel <michal.orzel@amd.com>,
	"Jan Beulich" <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>
Subject: [PATCH v3 28/28] xen/domctl: wrap common/domctl.c with CONFIG_MGMT_HYPERCALLS
Date: Mon, 13 Oct 2025 18:15:40 +0800
Message-ID: <20251013101540.3502842-29-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20251013101540.3502842-1-Penny.Zheng@amd.com>
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN2PEPF000055E0:EE_|DM4PR12MB6039:EE_
X-MS-Office365-Filtering-Correlation-Id: 3139284e-e966-4924-5fc7-08de0a41c210
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|82310400026|36860700013|376014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?0jd0Mpd9oed2JAo19u2Remo43wktyhwirzGMv19OF4W7oMx6YBP3176EblMH?=
 =?us-ascii?Q?X996wjD40CsFm1tU83KMr9iOgqtpYL+ptNcvV8V/3UGPQxqx/AZAaWpxpPR7?=
 =?us-ascii?Q?6a5LNDwOh5tDAm8ZF+f/6qcHvXvDgLsM7DECiHHg/7rQteYZ33rH0NEpNcWb?=
 =?us-ascii?Q?84MmLFPh6y7paoF7UVl0N1L6S3Ssq8gmtlqmIirgrJTZAoPICilivTMdcIMJ?=
 =?us-ascii?Q?UH4b8gJFOJ7l/958JESwzz8kKRKD0U2+1zZfwIsj1bMc1lAj1R5Yy/M/ukGl?=
 =?us-ascii?Q?6lRru4xtUgGODwHbHeTxehfL0xzsynXpLNAlWZ/S1yWT5Xv2XXVn1H/1uICF?=
 =?us-ascii?Q?2vam3VkEezh82ttqOhbYwpZNZhenEsEsgPJ4BJtVErNPO0sXzP6YCM+qNTVk?=
 =?us-ascii?Q?tM+iB3lhEFjPjaUUuFYPFYRRMw/Zc6/ZtWnIS95FZxzVqlnPaJir7DinuIkC?=
 =?us-ascii?Q?R/Md2iyo9qA04wiGVH8OjZDetLocfF40micH4cFRuc09EpAlh/a4bC9xBD3G?=
 =?us-ascii?Q?q/gBzXgSDv6a3WSbUdKfyufIHIUbxuwJdQoubmvgmfZxUEMivROMOHHzBhXY?=
 =?us-ascii?Q?OH4J2lLovI6b5WcambwRRD4ROB4XGExG9kCHO65kGCuIZA/rQe6QhiY+3AkS?=
 =?us-ascii?Q?kvB03iGYVSFFKpH+7T3Y4O12Eh+654piz+lWEYgaytIBW4iiT+dPIL7/NkUp?=
 =?us-ascii?Q?XOghzQ9c09+m+z6lTVuCn7l6pgRibaID05so6F2HY5b7eWgKI+QTPG6ptp78?=
 =?us-ascii?Q?QSMzYWH3FT+rdR+7xSD94owQiHWhxUU0RK/pTV8ee7fDByOJbtmnuzn+bfJX?=
 =?us-ascii?Q?XoRhEKFKPzzvJUZ2ccpb/UU/JVIH+trpqHjdaL2BEp0J/pMhRe85I81opq9a?=
 =?us-ascii?Q?7a7wTf3Ak8kHnDuvxohOcJjRtCuBeE2h1E2hje4W0JkBMzi45Cqc71yoADxQ?=
 =?us-ascii?Q?v8zymnfNiwjpmxpdzDUmP/at5gbRTBrI/xro6TjbG5i8b3RRrgeVKVPJp9Bw?=
 =?us-ascii?Q?ZYaYp57KD9aXd8MInjXDW/brOcI3GD4xexPCaGFRX/+z/+2J0PejJjmM/VTU?=
 =?us-ascii?Q?snQrWpqh97/LJzJeOwHGnlrb7qu/S5F3B6EqUKQp8EzMwdLgYgJOcgX6u5h6?=
 =?us-ascii?Q?Nfg9+C7nxoHhT08vi1NfRQBZS48H0sfRgUP3DjQaElJG+jlxu5tbG2yBmW10?=
 =?us-ascii?Q?cjn6I4CNHjZzWyOSP3qR5b9qhgSNSl1L2JkTHSbWY6MG3j4pZcTKhGsFHrPq?=
 =?us-ascii?Q?tnUmaNdYpKJ0RCpGuCBW2ZAKE8ZY5zDZ2yuiY36MHCYNTIWNWoiUj47Bz0Jh?=
 =?us-ascii?Q?qprNj69pvyNsJBpohxplDj7hrRyWfv46qrB3r+Aa6ymyYGTvwTR2HN7jBcJF?=
 =?us-ascii?Q?8JdhQuiMwKrmFPAfI9oO/O0q2VaUtzPKzHpW1FJlAn/WzL0iiyGQ1lntcEc/?=
 =?us-ascii?Q?jJkbpY7VaQn6BamoCLgT5Le4Hkp2/7DozaUesfit9kNqEJ80Zni/b9pNXBCe?=
 =?us-ascii?Q?aHE1Q7Au5DljWj+Zci2Z3J3HYIFtyOWLdSkMPst/ZzEHNYNu3cZfX9m7l+Qe?=
 =?us-ascii?Q?c0cuHAEM8uFiGMEJyNw=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(82310400026)(36860700013)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2025 10:17:47.7777
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3139284e-e966-4924-5fc7-08de0a41c210
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN2PEPF000055E0.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6039

Wrap domctl hypercall def and domctl.o with CONFIG_MGMT_HYPERCALLS.

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
v1 -> v2:
- remove stub in common/domctl.c
- combine the original commit of "xen/domctl: provide stub for
 domctl_lock_{acquire,release}"
- adapt to changes of "unify DOMCTL to MGMT_HYPERCALLS"
---
v2 -> v3:
- add pitfall warnning in Kconfig help
---
 xen/common/Kconfig           | 6 ++++--
 xen/common/Makefile          | 2 +-
 xen/include/hypercall-defs.c | 4 ++--
 3 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index 309d262386..efbe97c54a 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -646,11 +646,13 @@ config SYSTEM_SUSPEND
 	  If unsure, say N.
 
 config MGMT_HYPERCALLS
-	def_bool y
+	bool "Enable privileged hypercalls for system management"
 	help
 	  This option shall only be disabled on some dom0less systems, or
 	  PV shim on x86, to reduce Xen footprint via managing unnessary
-	  hypercalls, like sysctl, etc.
+	  hypercalls, like sysctl, domctl, etc.
+	  Be cautious to disable it, as users will face missing a few basic
+	  hypercalls like listdomains, getdomaininfo, etc.
 
 config PM_OP
 	bool "Enable Performance Management Operation"
diff --git a/xen/common/Makefile b/xen/common/Makefile
index fdf826f218..45c0bda000 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -11,7 +11,7 @@ obj-$(filter-out $(CONFIG_X86),$(CONFIG_ACPI)) += device.o
 obj-$(CONFIG_DEVICE_TREE_PARSE) += device-tree/
 obj-$(CONFIG_IOREQ_SERVER) += dm.o
 obj-y += domain.o
-obj-y += domctl.o
+obj-$(CONFIG_MGMT_HYPERCALLS) += domctl.o
 obj-y += domid.o
 obj-y += event_2l.o
 obj-y += event_channel.o
diff --git a/xen/include/hypercall-defs.c b/xen/include/hypercall-defs.c
index 02d7b93e80..c243edc460 100644
--- a/xen/include/hypercall-defs.c
+++ b/xen/include/hypercall-defs.c
@@ -196,11 +196,11 @@ dm_op(domid_t domid, unsigned int nr_bufs, xen_dm_op_buf_t *bufs)
 #endif
 #ifdef CONFIG_MGMT_HYPERCALLS
 sysctl(xen_sysctl_t *u_sysctl)
+domctl(xen_domctl_t *u_domctl)
 #endif
 #if defined(CONFIG_X86) && defined(CONFIG_PAGING) && defined(CONFIG_MGMT_HYPERCALLS)
 paging_domctl_cont(xen_domctl_t *u_domctl)
 #endif
-domctl(xen_domctl_t *u_domctl)
 #ifndef CONFIG_PV_SHIM_EXCLUSIVE
 platform_op(xen_platform_op_t *u_xenpf_op)
 #endif
@@ -279,8 +279,8 @@ hvm_op                             do       do       do       do       do
 #endif
 #ifdef CONFIG_MGMT_HYPERCALLS
 sysctl                             do       do       do       do       do
-#endif
 domctl                             do       do       do       do       do
+#endif
 #ifdef CONFIG_KEXEC
 kexec_op                           compat   do       -        -        -
 #endif
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Oct 13 10:26:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 10:26:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141997.1476226 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8FlV-00044z-1J; Mon, 13 Oct 2025 10:26:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141997.1476226; Mon, 13 Oct 2025 10:26:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8FlU-00043N-MZ; Mon, 13 Oct 2025 10:26:52 +0000
Received: by outflank-mailman (input) for mailman id 1141997;
 Mon, 13 Oct 2025 10:26:51 +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
 <SRS0=gL+L=4W=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1v8Fbz-0004Hi-TU
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 10:17:03 +0000
Received: from SN4PR0501CU005.outbound.protection.outlook.com
 (mail-southcentralusazlp170110003.outbound.protection.outlook.com
 [2a01:111:f403:c10d::3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c33dedf7-a81d-11f0-9d15-b5c5bf9af7f9;
 Mon, 13 Oct 2025 12:17:03 +0200 (CEST)
Received: from MN2PR13CA0009.namprd13.prod.outlook.com (2603:10b6:208:160::22)
 by IA1PR12MB7493.namprd12.prod.outlook.com (2603:10b6:208:41b::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.12; Mon, 13 Oct
 2025 10:16:58 +0000
Received: from BN2PEPF000055DD.namprd21.prod.outlook.com
 (2603:10b6:208:160:cafe::dc) by MN2PR13CA0009.outlook.office365.com
 (2603:10b6:208:160::22) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9228.9 via Frontend Transport; Mon,
 13 Oct 2025 10:16:58 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 BN2PEPF000055DD.mail.protection.outlook.com (10.167.245.7) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9253.0 via Frontend Transport; Mon, 13 Oct 2025 10:16:58 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) by
 satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.2562.17; Mon, 13 Oct 2025 03:16:56 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c33dedf7-a81d-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=n1+G9L21BsDED71kHHOHJ6TMZNGIt8fcxO1hgq5QXauAKmiAt6Hxxjwget8dOVKVSWwu/oWZd0FzGEUbn8n/8mJwOJo6y+RyBlcZWAA37uHhE9pSnm0HnNsssMnwIZzyPJqFg+n5vLAQw5XxS2UPuUXveDJa0rv2teIRUgMElMewqgkhI4Vk0VjNe3z7VfELPbMI3b+izKnZRv/ZgCicdtb486o5wUxOpIuAp3FnuRa7vM7kzr+Lzm9CowWm1sTGAf0SEmuJ1Ph01aAscQ/9aWC/FfZBGPN/C5escrM+8OjgYp/vV18Rnrumxp6r+ulBiJlaTQwdHYI34EiiRbeXrA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pdvPEZ2scCdoBxds5R/emB+qSdBN/E4FObfCg1uPq+4=;
 b=yu/2zUHVWzSWV3nR2htMKLJJbdkWKAXyiEVWVDNtcYyYWSstAQnVUTSlSsDEyLD1N54QdYQpcnVnwe+R/qhfiltoNY0BNhf0kyhMaaHqFWyN+q2vy8BsQc4bneTZBNtWzTRP7T9ZjRr70t2UrQzhZ/LNRLmDfhyeM9EIuYsdCKDnO1FvOXjcUAZtgg8PtYzzMJgMKYpBi53WHUiLBpoZlt8nyn9OEyRff0AsJA0ifs0xbJqXaQ91by3L9n+unHgK0giZnq7DiJLTC5iB22XEWfYBxVabiPqRUzx2OgGA5nuNNHuiZTLWeyDpO2xW8y4b8HFezDC1PDpqzH0hMzCVYg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pdvPEZ2scCdoBxds5R/emB+qSdBN/E4FObfCg1uPq+4=;
 b=g9Xk23llhwBENUsjorLucAxJcKvxAXU9K0qahMI261w0MZhPilx8YNvDvGCECAAtgLIxwF/sUQpc7njnfOdYQSqqnWAtp1hUcU+BC5MshXNUChNJYyAntFREui/d921bNLWLDYMrTFTMo0oelPkfbTxh9guAJ8bKH6xI6OTEXmE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.com>, <oleksii.kurochko@gmail.com>, Penny Zheng
	<Penny.Zheng@amd.com>, "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v3 11/28] xen/xsm: wrap xsm_vm_event_control() with CONFIG_VM_EVENT
Date: Mon, 13 Oct 2025 18:15:23 +0800
Message-ID: <20251013101540.3502842-12-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20251013101540.3502842-1-Penny.Zheng@amd.com>
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN2PEPF000055DD:EE_|IA1PR12MB7493:EE_
X-MS-Office365-Filtering-Correlation-Id: 4aa4eacc-63cb-4a6a-5707-08de0a41a495
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|1800799024|376014|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?tJJQJHMdvEn1jECnrs71ykXMIQq8L8zl+izYhNLg5U/XpNFkigwHRQ/81z26?=
 =?us-ascii?Q?kArGfD/N3UCWkmcUQ8es6WTyNfAEkDHkk0u6GE7q0FaLku5sekVP6KgUez/P?=
 =?us-ascii?Q?nYafjX/AvweP/V54XxBt7K+zqzsjsGgNWJS21iVsdyWSOYM/lYkUG/xTFZV4?=
 =?us-ascii?Q?vQxMigA8EnQ+/GLIGqxdb1SvnbXbSUUuKF266vWnp4yxe3nEHl3W89yXuMxc?=
 =?us-ascii?Q?J4j2FClN3+E0Os2f8SHx+97NxG8aTKTDmXPmNObReMMlzApQXu3+K126hX1I?=
 =?us-ascii?Q?gFGvUUX+YYFrOBUksxgmskDoApzj8ZQN/bqu7bv6m1NbsbtcQZNcJbtCN2H+?=
 =?us-ascii?Q?NIkTIr0pSGxflX4BegS9vKwXwAbD4vZMINRVaSvZvm4bQY2sRmXqLqhdb4Jz?=
 =?us-ascii?Q?+eOn7xtE6G9ty79iHDANI9OGH7+evn0vfkxiAt0ObE5n83gpBJ6S7x0Lp4Zt?=
 =?us-ascii?Q?mQuTH3LuoVDZUMONXzWi5Do8s6ZcH9jYZ6pq3XJ5ntfqALfDX+PXtUPmvSRW?=
 =?us-ascii?Q?6tY66CEjzioxnRYfv5jy8TPY1fk1/jP7zYaxtttfxDUE1nguaOE9Oc/PY302?=
 =?us-ascii?Q?+Yl17CxJxaWVlXWGHYUTXQChlNzpBjOHeNnfcpRU+wCy3lwaIi90NsX27mny?=
 =?us-ascii?Q?kHf2cU6JB766gYvmgebu3LMQS2F1TLqO95NENx6iZvwj5DGz7ro74EhdeANi?=
 =?us-ascii?Q?R2cBF4mTnNw7ZIp5wZIfOsFxeBM4bz/NqEAZYFOdgOoRu+YU0ZyJEDx0m6Pv?=
 =?us-ascii?Q?pZlZUBytjrnMUTNMsG93PEk1yikxp6uz9N4pGYQeOy8peKjBe8LYyjiMbHOw?=
 =?us-ascii?Q?R/F70Zgb9K/214VIDh+r8HwgtdbuhJy3jRLvg+Kfg7gpP4+ZEXzlA7C9QWYI?=
 =?us-ascii?Q?qZUfswWvrhFZ5Zm9RE8yrebUR+bmqlzgrtPm6LDI4qae+B/OGTLagYwZc7YD?=
 =?us-ascii?Q?SuPWoVJwgOr2RHkdV61xw/V68OQ6d+iZ4E2ydSdLJwK/p/GQwFOt5B8FJCzC?=
 =?us-ascii?Q?ZVsEq/kyzpaIKDqZBxmQ38yE9W6P3i5vMZeX1yuDzL9zNyxVO/iTaTPATg4H?=
 =?us-ascii?Q?bQ7AwDTmjGfkw0FJFML5D+J/M39I3stE+617Qx0y2WqRPWtH6YPa4sRLgxuG?=
 =?us-ascii?Q?/EI3VAfnR8gChbDol4vMdlXweJE3YFHhvflIHSVerJK+/yorP3iLchlIqygt?=
 =?us-ascii?Q?0ds/JDSM/JYqqS82AV7i96uPSf5RYHHIeZQxCvELAgbbO83iITGKayBmcK8W?=
 =?us-ascii?Q?qGzXBSiE4YGLkgaAZ6AbTAgl0TRA7Ve5TF4TdugMtuKNg7KPpvYWN7ROSFst?=
 =?us-ascii?Q?/7HAPJmUOyNyVG84pSf80tSfhWWwbzF7AjZb+X08FW2lOH1Q4kXqfRvuQB50?=
 =?us-ascii?Q?swntxXrsOvWHUQmOuswrdR2h45Qh/U0Th91QXFJqqK2hdt8wyPCSjxr2STDl?=
 =?us-ascii?Q?PPBkKMdpl8JAtFgq1PfNxxwXqq6zWh+xUhvm9JiAJBAwkR1tz0QdiulsxVj3?=
 =?us-ascii?Q?gWUS59bWnQrUY3GkM1jdJCmFMOrjnYsUqPF/uXF8I2t8EcoTgyBZqfdgp0sk?=
 =?us-ascii?Q?Z55x891/vRbSLyk0e9U=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(376014)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2025 10:16:58.3168
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4aa4eacc-63cb-4a6a-5707-08de0a41a495
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN2PEPF000055DD.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB7493

Function xsm_vm_event_control() is only invoked under CONFIG_VM_EVENT, so
it shall be wrapped with it, otherwiae it will become unreachable when
VM_EVENT=n and hence violating Misra rule 2.1.

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
v1 -> v2:
- new commit
---
v2 -> v3:
- address "violating Misra rule 2.1" in commit message
- add missing wrapping in include/xsm/dummy.h
---
 xen/include/xsm/dummy.h | 2 +-
 xen/include/xsm/xsm.h   | 4 ++--
 xen/xsm/dummy.c         | 2 +-
 xen/xsm/flask/hooks.c   | 4 ++--
 4 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h
index 5206836582..9b1d31b6ec 100644
--- a/xen/include/xsm/dummy.h
+++ b/xen/include/xsm/dummy.h
@@ -639,6 +639,7 @@ static XSM_INLINE int cf_check xsm_hvm_altp2mhvm_op(
     }
 }
 
+#ifdef CONFIG_VM_EVENT
 static XSM_INLINE int cf_check xsm_vm_event_control(
     XSM_DEFAULT_ARG struct domain *d, int mode, int op)
 {
@@ -646,7 +647,6 @@ static XSM_INLINE int cf_check xsm_vm_event_control(
     return xsm_default_action(action, current->domain, d);
 }
 
-#ifdef CONFIG_VM_EVENT
 static XSM_INLINE int cf_check xsm_mem_access(XSM_DEFAULT_ARG struct domain *d)
 {
     XSM_ASSERT_ACTION(XSM_DM_PRIV);
diff --git a/xen/include/xsm/xsm.h b/xen/include/xsm/xsm.h
index 0231a208ff..4c6e0dc0f9 100644
--- a/xen/include/xsm/xsm.h
+++ b/xen/include/xsm/xsm.h
@@ -155,9 +155,9 @@ struct xsm_ops {
     int (*hvm_altp2mhvm_op)(struct domain *d, uint64_t mode, uint32_t op);
     int (*get_vnumainfo)(struct domain *d);
 
+#ifdef CONFIG_VM_EVENT
     int (*vm_event_control)(struct domain *d, int mode, int op);
 
-#ifdef CONFIG_VM_EVENT
     int (*mem_access)(struct domain *d);
 #endif
 
@@ -635,13 +635,13 @@ static inline int xsm_get_vnumainfo(xsm_default_t def, struct domain *d)
     return alternative_call(xsm_ops.get_vnumainfo, d);
 }
 
+#ifdef CONFIG_VM_EVENT
 static inline int xsm_vm_event_control(
     xsm_default_t def, struct domain *d, int mode, int op)
 {
     return alternative_call(xsm_ops.vm_event_control, d, mode, op);
 }
 
-#ifdef CONFIG_VM_EVENT
 static inline int xsm_mem_access(xsm_default_t def, struct domain *d)
 {
     return alternative_call(xsm_ops.mem_access, d);
diff --git a/xen/xsm/dummy.c b/xen/xsm/dummy.c
index 7892d36cc2..dbe363f0de 100644
--- a/xen/xsm/dummy.c
+++ b/xen/xsm/dummy.c
@@ -114,9 +114,9 @@ static const struct xsm_ops __initconst_cf_clobber dummy_ops = {
     .remove_from_physmap           = xsm_remove_from_physmap,
     .map_gmfn_foreign              = xsm_map_gmfn_foreign,
 
+#ifdef CONFIG_VM_EVENT
     .vm_event_control              = xsm_vm_event_control,
 
-#ifdef CONFIG_VM_EVENT
     .mem_access                    = xsm_mem_access,
 #endif
 
diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c
index 2eabf62e8c..d0fd057db5 100644
--- a/xen/xsm/flask/hooks.c
+++ b/xen/xsm/flask/hooks.c
@@ -1360,12 +1360,12 @@ static int cf_check flask_hvm_altp2mhvm_op(struct domain *d, uint64_t mode, uint
     return current_has_perm(d, SECCLASS_HVM, HVM__ALTP2MHVM_OP);
 }
 
+#ifdef CONFIG_VM_EVENT
 static int cf_check flask_vm_event_control(struct domain *d, int mode, int op)
 {
     return current_has_perm(d, SECCLASS_DOMAIN2, DOMAIN2__VM_EVENT);
 }
 
-#ifdef CONFIG_VM_EVENT
 static int cf_check flask_mem_access(struct domain *d)
 {
     return current_has_perm(d, SECCLASS_DOMAIN2, DOMAIN2__MEM_ACCESS);
@@ -1961,9 +1961,9 @@ static const struct xsm_ops __initconst_cf_clobber flask_ops = {
     .do_xsm_op = do_flask_op,
     .get_vnumainfo = flask_get_vnumainfo,
 
+#ifdef CONFIG_VM_EVENT
     .vm_event_control = flask_vm_event_control,
 
-#ifdef CONFIG_VM_EVENT
     .mem_access = flask_mem_access,
 #endif
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Oct 13 10:26:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 10:26:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1141998.1476230 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8FlV-0004Dl-G3; Mon, 13 Oct 2025 10:26:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1141998.1476230; Mon, 13 Oct 2025 10:26:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8FlV-0004AZ-4h; Mon, 13 Oct 2025 10:26:53 +0000
Received: by outflank-mailman (input) for mailman id 1141998;
 Mon, 13 Oct 2025 10:26:51 +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
 <SRS0=gL+L=4W=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1v8FcT-0004Rd-Nc
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 10:17:33 +0000
Received: from DM5PR21CU001.outbound.protection.outlook.com
 (mail-centralusazlp170110009.outbound.protection.outlook.com
 [2a01:111:f403:c111::9])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d3fe1650-a81d-11f0-980a-7dc792cee155;
 Mon, 13 Oct 2025 12:17:32 +0200 (CEST)
Received: from BN9PR03CA0370.namprd03.prod.outlook.com (2603:10b6:408:f7::15)
 by CY8PR12MB7243.namprd12.prod.outlook.com (2603:10b6:930:58::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.12; Mon, 13 Oct
 2025 10:17:26 +0000
Received: from BN2PEPF000055DF.namprd21.prod.outlook.com
 (2603:10b6:408:f7:cafe::bc) by BN9PR03CA0370.outlook.office365.com
 (2603:10b6:408:f7::15) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9203.11 via Frontend Transport; Mon,
 13 Oct 2025 10:17:26 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 BN2PEPF000055DF.mail.protection.outlook.com (10.167.245.9) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9253.0 via Frontend Transport; Mon, 13 Oct 2025 10:17:26 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) by
 satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.2562.17; Mon, 13 Oct 2025 03:17:22 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d3fe1650-a81d-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=S+TmLhYvkUxrsb9HH6OioB5u3TU0zlCEisx0Ae8ECYzGBz9cPKpZw/QIgwthcPPdf0QpoC62B0mhaLuFhyi/r++IU1G/yB0vhT//EJQ97ASL3I1FenkjrFO61KvWU2lYMK1qaKQ+krrPH2+tSvb20pUH9+SkXzqLB83Q7dC9YAy1D/7mwdlFbmiM6ILQzp6yRNLhKxTCi3brApSbSGrKdnqv0DpGuo8srxBsPxuALHGjmJMQ20qTdMdr3e0zWN1R8rsxd0I1jOUuhtee68g+9ZC0/HS6YvKAAoJtNSNs09BdqaaihjwkbHN8Pv+yMffLXM54HxaZijelxeR4YOSy+Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YELLYuqS3beGRGCdrjmEPSo/sZ0bAJFVyR31X1lY/ik=;
 b=vohwMXFVMzL5e9LJjOYLmqV4bGqGi0GPSGi2AC6bGIJaTFUcFgjLzOCXNPlmpGtOPTXRgJvwkFrpuRGw5G0jQkc6w3iJ0WgNXvo2/dJYDgzENQAUICXaeu5d9JNMCAbuaM4YKwL8sPbLO5VBJhmYtihmbM5gKKQFKBzLXJ3+2zbvqRoIAh7bEge4GON18CX6qo6y9H2ql1tzhXXjpTEEMl3+tq4N9hBhMRvl8NTr5EvTxKcFCSXRufs4g4HmT4+ImV6cb7aVfyj8U2YXYpPTymp1kMKwrRSd2dWqkG/WssvzYQ/uB5KQo1xnEKN6ts8Ug0opU45Bs5qZ7LIb1wCyHw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=YELLYuqS3beGRGCdrjmEPSo/sZ0bAJFVyR31X1lY/ik=;
 b=3U4/OU6hVNWZktulCuyjRTkSCuognFVOO9YxGhbp119RLd09miqT+qUqSWl1ECYmqjEyMlAmq4Fu6ovmOlXgjG9GV6J3054gx66PC7bb0mpraD+K1wk9HPX1C7i88VouohTuk2lm/sfSduuyQ6I9YLVkPi+aNsArPiZ+wEy6XqU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.com>, <oleksii.kurochko@gmail.com>, Penny Zheng
	<Penny.Zheng@amd.com>, Stefano Stabellini <sstabellini@kernel.org>, "Julien
 Grall" <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, "Michal
 Orzel" <michal.orzel@amd.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis <connojdavis@gmail.com>,
	Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v3 20/28] xen/domctl: wrap arch-specific domain_set_time_offset() with CONFIG_MGMT_HYPERCALLS
Date: Mon, 13 Oct 2025 18:15:32 +0800
Message-ID: <20251013101540.3502842-21-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20251013101540.3502842-1-Penny.Zheng@amd.com>
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN2PEPF000055DF:EE_|CY8PR12MB7243:EE_
X-MS-Office365-Filtering-Correlation-Id: 888f4350-605c-4439-b2d4-08de0a41b540
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|7416014|376014|36860700013|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?H/Com2fQ96KKIm2r/l7fZKdWYyY9mvSOi2MFRT40MsnzfI4XoqpJVK526chs?=
 =?us-ascii?Q?Ae8GG5Ab/EucdwElYAApuJhR7NMmReK+SzfMqdGTxqb8/FehT6M9Yxerbf13?=
 =?us-ascii?Q?bNCZezS/Li3eIEPqefEcRoojAzCW03mSrm0czEIxFKzP2LyIwA6L7cwE+LoJ?=
 =?us-ascii?Q?szdmSn1sKyhR2bWRxglGtF/MWNnsBIPmWdDdKQbSohyrgnuESay89VNxkQBK?=
 =?us-ascii?Q?G4s967/6CCigDzIF3kiDElN+W/Rg4MUh0A9egHNU0AcJZSQmsslbv9tR4qtS?=
 =?us-ascii?Q?W4LEIh/Lj+kxlVUWV0TItOUKXCDOQBim4LxC2B7vmW71DeLTJl0ANJK+J/9I?=
 =?us-ascii?Q?paubkYmWsxEiJZOcPtYyQTXNarAdt/YGN3Hxu0AtGJT7B5pWR34bXWrEjdpf?=
 =?us-ascii?Q?T8fdHxtlhKZ8yLw8kK/WTyiXYMlHLw/ID+MbKBXxR1g7bS4iJk3EKvO8HOji?=
 =?us-ascii?Q?HvIGd9hbcgYazhFE86SMWZLOHcL4nIHeIiM31A1/dcCWieUg3nKSRsK3LvSv?=
 =?us-ascii?Q?FIx9Y2h9j9RkO5OSxUcaFju7krH0LzjJDUs04JFx/l4UBIXM3yRoe516sffI?=
 =?us-ascii?Q?wJ4l8dSfH9Uc9p0ToPAprRcySSzOAbLSUuZqC308k5IeyfyjVah+gtwdGKVQ?=
 =?us-ascii?Q?d2ldF/2dUejO3lorpW7NICjzY8TTw/gRKkvvS6i61dI9p/Bdr4NgDjkiedo0?=
 =?us-ascii?Q?oXyG37KhHRfO/JK3hdfbrF3HIaesyAuwoGfO9RGOXBZHmEQnxcUOYaa29p3w?=
 =?us-ascii?Q?ySXOCO1jGnciWoXkTO0sb28AjuX+nJen8M94V4p3Hck2xwI5zHSlduieeKvI?=
 =?us-ascii?Q?Qwb/l4dOl4H+d847ZVNhE99na1nmOa9dAOqKHmqdFumXzLnByPANfvH0cq1S?=
 =?us-ascii?Q?d56uFQOK62mUZ6/QXrbTvBW55sVDpRdmvv85ku41UgsTs5MoE4MM+PGv894X?=
 =?us-ascii?Q?AUp70UVSUnOeqwQsBFi8Cj3d3sjp7WhCUauj753MHhJR50M4fxSG2M8Li1CZ?=
 =?us-ascii?Q?paXrxZbZFhubmXH/hOEWdBnesrdp8yQdWRzhToz+KqMQLiSDzbZ6wkCfKpTh?=
 =?us-ascii?Q?inwCnfvIYH3AGU2A4WOc8LOMFZ7h02CmYsNKdYoN1TMFKGNTFbQHo4BmyAQQ?=
 =?us-ascii?Q?GnRSDoTN9A38b+XPEuuyMpqIDRZotH6Wnm4hmD7Mt1zqdWl/CL9g9nRLzCw1?=
 =?us-ascii?Q?RH3xlTwRQmv5bWSBhhycSfS2drv3LCp0VAUium3IkH2gcQH8sNnvpnTzeAPR?=
 =?us-ascii?Q?MMKOmfh5kKjGlQiJg9mnYcF8BVtwcmCFl/rGxJaA8BDZObh2zsxBy+S8+alB?=
 =?us-ascii?Q?qYrSZzQnM4rbCOMTD8aW88TFEuK2a9ov2A8uFNfU7SlJt9dEbID+Pp5jsD+V?=
 =?us-ascii?Q?6ET6vhIKRll3fulEN4AU2gW9XfMNNkt3LR/3RjoGVspxNUxcXbAhiO5WI2op?=
 =?us-ascii?Q?Lx3Jc9Q2nWcL0n6cjOwPOIlmT0upq++n+O5ob5bUbj5MbsN6GdUViMpgZZ6z?=
 =?us-ascii?Q?FbblQCqzu1zh8IK8mu0c0pDyu8s8m9vW/1GEK6LoE4IDPFXgkwApbUDNB+Pv?=
 =?us-ascii?Q?b6i8HkeRtVacNVjVrhM=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(7416014)(376014)(36860700013)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2025 10:17:26.2823
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 888f4350-605c-4439-b2d4-08de0a41b540
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN2PEPF000055DF.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB7243

Arch-specific domain_set_time_offset() is responisble for
XEN_DOMCTL_settimeoffset domctl-op, and shall be wrapped with
CONFIG_MGMT_HYPERCALLS. Otherwise it will become unreachable when
MGMT_HYPERCALLS=n, and hence violating Misra rule 2.1.

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Acked-by: Jan Beulich <jbeulich@suse.com> # x86
---
v1 -> v2:
- adapt to changes of "unify DOMCTL to MGMT_HYPERCALLS"
- wrap XEN_DOMCTL_settimeoffset-case transiently
---
v2 -> v3:
- add back stub wrapping for riscv
- address "violating Misra rule 2.1" in commit message
- remove transient wrapping around XEN_DOMCTL_settimeoffset-case
---
 xen/arch/arm/time.c    | 2 ++
 xen/arch/riscv/stubs.c | 2 ++
 xen/arch/x86/time.c    | 2 ++
 3 files changed, 6 insertions(+)

diff --git a/xen/arch/arm/time.c b/xen/arch/arm/time.c
index e74d30d258..dfed0b0ab8 100644
--- a/xen/arch/arm/time.c
+++ b/xen/arch/arm/time.c
@@ -365,12 +365,14 @@ void force_update_vcpu_system_time(struct vcpu *v)
     update_vcpu_system_time(v);
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 void domain_set_time_offset(struct domain *d, int64_t time_offset_seconds)
 {
     d->time_offset.seconds = time_offset_seconds;
     d->time_offset.set = true;
     /* XXX update guest visible wallclock time */
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 static int cpu_time_callback(struct notifier_block *nfb,
                              unsigned long action,
diff --git a/xen/arch/riscv/stubs.c b/xen/arch/riscv/stubs.c
index 3e4280dee1..be1cadc362 100644
--- a/xen/arch/riscv/stubs.c
+++ b/xen/arch/riscv/stubs.c
@@ -31,10 +31,12 @@ void send_timer_event(struct vcpu *v)
     BUG_ON("unimplemented");
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 void domain_set_time_offset(struct domain *d, int64_t time_offset_seconds)
 {
     BUG_ON("unimplemented");
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 /* domctl.c */
 
diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index 59129f419d..e7394ce8cf 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -1841,6 +1841,7 @@ static void update_domain_rtc(void)
     rcu_read_unlock(&domlist_read_lock);
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 void domain_set_time_offset(struct domain *d, int64_t time_offset_seconds)
 {
     d->time_offset.seconds = time_offset_seconds;
@@ -1849,6 +1850,7 @@ void domain_set_time_offset(struct domain *d, int64_t time_offset_seconds)
         rtc_update_clock(d);
     update_domain_wallclock_time(d);
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 int cpu_frequency_change(u64 freq)
 {
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Oct 13 10:26:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 10:26:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142000.1476241 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8FlW-0004TX-7H; Mon, 13 Oct 2025 10:26:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142000.1476241; Mon, 13 Oct 2025 10:26:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8FlV-0004QD-Uk; Mon, 13 Oct 2025 10:26:53 +0000
Received: by outflank-mailman (input) for mailman id 1142000;
 Mon, 13 Oct 2025 10:26:51 +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
 <SRS0=gL+L=4W=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1v8Fc7-0004Hi-TF
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 10:17:11 +0000
Received: from PH0PR06CU001.outbound.protection.outlook.com
 (mail-westus3azlp170110003.outbound.protection.outlook.com
 [2a01:111:f403:c107::3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c6644dca-a81d-11f0-9d15-b5c5bf9af7f9;
 Mon, 13 Oct 2025 12:17:09 +0200 (CEST)
Received: from BN9PR03CA0499.namprd03.prod.outlook.com (2603:10b6:408:130::24)
 by DM4PR12MB5721.namprd12.prod.outlook.com (2603:10b6:8:5c::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.12; Mon, 13 Oct
 2025 10:17:02 +0000
Received: from BN2PEPF000055DA.namprd21.prod.outlook.com
 (2603:10b6:408:130:cafe::41) by BN9PR03CA0499.outlook.office365.com
 (2603:10b6:408:130::24) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9203.12 via Frontend Transport; Mon,
 13 Oct 2025 10:17:02 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 BN2PEPF000055DA.mail.protection.outlook.com (10.167.245.4) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9253.0 via Frontend Transport; Mon, 13 Oct 2025 10:17:01 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) by
 satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.2562.17; Mon, 13 Oct 2025 03:16:58 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c6644dca-a81d-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Vd5LtCI4DsYdnZFZTS78mNPd4pPxKRMnHM+1EXJCB7uBXcxaOFmlo0rfi5LmcbBxPc2s02jRyxpF5jXXZ54xvy2mJ2W+OYpC+XewMXjRmw/d79jk4+KJNbTs2JKr8R0lMhCdJlPiBrIHGvCwBe6inQyKAw0PEBTQWjaqwaQYLKNTdBl5hIXw0aD8pvXw8jgCcIti5EwEIXekNxwr70ZZ7HzEokwIiRqhFAzpFe79U1ZfU4bMSAMiSwPnIUWbEInqWFF3nS2oeg9/KTd1ZgRwozq+aqtaRxD7TEfxeLOuoMY7W1lkiogWk3yf08MKq1OdWNtECIe8huczXPNZwLaRGA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OiVfy+8J6MhVdjDVcDOUDk8nZiMCRgJp1Xtsq49ycA0=;
 b=pIx3f6fa/GsIynN3++oOkc/k4rOZdgD0oY81DFFyxAvkDhGAFVZmU3CIEr66/N5/Ziy8YVFfE4FWpvc6nLuOpxeSCOZ7xh1mlVwLuH5P/mrGzq3I1YHdnOG+sUX6EimC7UR8L8rT11q1NKQuOCIofjiPeZEkRSP/CuCdMWvrBZeKZcpndlntnD4UMdPoGGjPc2avDSG8xmrbVzihEjPWBD/JzlGWItekOm2eN7AS5opOolXaz/TKsYCM/Itk7rmyFy4UBnS7TLcPc9vQOkVou06aQsDa8Cpp6Rh6mj2y2cgOD2v2OKPYJUTqC4Z/eJW45j5bvuKyT67o2oec1kcaeg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OiVfy+8J6MhVdjDVcDOUDk8nZiMCRgJp1Xtsq49ycA0=;
 b=ko6ZnFXvjlf57oAJX3zM8yGeaQ++CBzNQVInUtHZBTIuYzjD9KCfTvj3ssrV452FhaEA+fdIYCoKhuBfDhjCaueO73CZoWRSK6tPHbXIfGWlklPMgio66XexALCdkcMVh2fU4OiNgMBJw+OIZ2x8nFwqPAkOAqxXZLooNx3MFq4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.com>, <oleksii.kurochko@gmail.com>, Penny Zheng
	<Penny.Zheng@amd.com>, Andrew Cooper <andrew.cooper3@citrix.com>, "Anthony
 PERARD" <anthony.perard@vates.tech>, Michal Orzel <michal.orzel@amd.com>,
	"Jan Beulich" <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>
Subject: [PATCH v3 12/28] xen/domctl: wrap domain_pause_by_systemcontroller() with MGMT_HYPERCALLS
Date: Mon, 13 Oct 2025 18:15:24 +0800
Message-ID: <20251013101540.3502842-13-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20251013101540.3502842-1-Penny.Zheng@amd.com>
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN2PEPF000055DA:EE_|DM4PR12MB5721:EE_
X-MS-Office365-Filtering-Correlation-Id: 00ebc24f-ace3-4aa6-b215-08de0a41a6b8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|376014|1800799024|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?J+9uzx17TqsbjGZeBeHXXbTFDjPmBNsPfzCjSs8bgkK4GLRiJK82Zc39rKOE?=
 =?us-ascii?Q?qB/JGY/Gsr31ScFfJgSvbtpRqVQh2XTjTDEvwsa45NvDf3YIdTPAT0fBiJMK?=
 =?us-ascii?Q?6RSLATv/dEqnDro7C6m1/9Sod21gWKRCvidloeEKlRLDKEFgTRwvoEPF9n7Y?=
 =?us-ascii?Q?NPVPLTlEJvbrVDEH0B6jRoay6ZjB0gd4wo11bBzEdZ5FVrctvxvKGyJAGSKn?=
 =?us-ascii?Q?I5g7bqoIO5kBAtj7MbJD4JKbqi2t2wLYHHJ9zXVVFuB9JhAxD58Nk4pgy7IQ?=
 =?us-ascii?Q?I5T23PAfVg3PAigMIe6k1eLy0+wa6SpWDanZRAulWflBXhXIEa++MnEgMSeC?=
 =?us-ascii?Q?2Yjh49b9rUgH1d35ExBWQyjatqZcNTencYBJOpxZ11cPf/NUj2e5qx0B62ll?=
 =?us-ascii?Q?7aAjf8NSszfCSxpzk7qg2TSinz6p0Go1gCMV2PNZf+5XbHW2g9lxJ1DyHGRr?=
 =?us-ascii?Q?uQOF9e07qS+pePlUYdBh7gKbvNn96MZDclcGkksUIuFPVsharrnfTLw5ubsy?=
 =?us-ascii?Q?RhSRGzHyA+e9XYJD+mFMbeOCaTZErb/GYeVQVeOGZyx+ufCxM6uPJj1vpOKr?=
 =?us-ascii?Q?0ZFwJ1gJu3KvLMrtdrDOqORFeaYnFOzTfXZQICophLFyZzqbrU7jnd6ldzI7?=
 =?us-ascii?Q?2HvIEcUwscVavJec+xjDVkVJS2LZ3jXXcU1UbMbsOYa9pBRcb9lLEGVDFpJ/?=
 =?us-ascii?Q?vZD/wy+3c/l7ZntUq3ZZGmxCBaipPG19Ff5bWkvZXB3XXvu38EQV1GjfyygD?=
 =?us-ascii?Q?R1gcxXKab3cEYxn/dWb2UoFc0h4EFNwQx457g0HySrPPt7c4ad/e9MemP7ix?=
 =?us-ascii?Q?s6nJ6xJWejFqncCtVF8G1Kruc6keRrAYWp5Y2QcVNRusMPPUAN8dDNYpP4SK?=
 =?us-ascii?Q?wS5Bf7rclaDAIRViRXzSLVIxn4Dn8wdrM6u5jSCk4F1RVq9qRgu8miZnY27M?=
 =?us-ascii?Q?mtUzEOJd0OsDjEolldYuQz5FKnNwuqas2065SSkvbWJiNr6OGq4Ow966yXLZ?=
 =?us-ascii?Q?+QbzFR6I2+mh1Ao69Nn9y8J1RV/ARoonKhDsRhT1cLgLlYNxWqYbBrdfeNhh?=
 =?us-ascii?Q?tYhNcZb2AKHCuKeJ2iNbiMkPbK4VABGl4txvBo9kuY5bczR/2j301mDGwMD+?=
 =?us-ascii?Q?sTOujKEPzYL+3ifG2u5gXcuQxTHn/OIp1+Ogiz/x7OmSbmW1C2djutC2hx6Z?=
 =?us-ascii?Q?VbUbKxVB0JVUTxvxj389nfbLd4tptixrA2ZC7Kks3nvcWhrNVbS1XSIkZB1A?=
 =?us-ascii?Q?YvpdZ/fkI4HZHiqwd/lPtOKCuU6LZM7F1V7mEosHN5NiO2Co3glcFbaGUizF?=
 =?us-ascii?Q?+hv599kE5vYiEa/YHKNS8Ku5YjC1wBtxKJs73HWr9hH/qiMwIZpJfCCh8EtY?=
 =?us-ascii?Q?zXlOydiXSbDu5FoQyicEVAvnfnncHyt4iXBv/Q6CC3XAqnPwHJeRRFkzU0zE?=
 =?us-ascii?Q?ebGpxlxKKphojlWA97eu4/HF5E4vWizm3TrajikhgmMCsI30TWi9GMZbcCc6?=
 =?us-ascii?Q?Cz56fBcbDDzxeBxvTz8xrFk34rsFp0SEaNu+ZtJFpZV88jK0gvM7UDw52/Pb?=
 =?us-ascii?Q?yHhPAMGgSV/O1nY3bBA=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(376014)(1800799024)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2025 10:17:01.9030
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 00ebc24f-ace3-4aa6-b215-08de0a41a6b8
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN2PEPF000055DA.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5721

Function domain_pause_by_systemcontroller() is responsible for
XEN_DOMCTL_pausedomain domctl-op, and shall be wrapped around with
CONFIG_MGMT_HYPERCALLS. Otherwiae it will become unreachable when
MGMT_HYPERCALLS=n and hence violating Misra rule 2.1.

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
v1 -> v2:
- adapt to changes of "unify DOMCTL to MGMT_HYPERCALLS"
- provide transient wrapping around XEN_DOMCTL_pausedomain-case
---
v2 -> v3:
- remove transient wrapping around XEN_DOMCTL_pausedomain-case
- address "violating Misra rule 2.1" in commit message
---
 xen/common/domain.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/common/domain.c b/xen/common/domain.c
index 775c339285..976172c7d3 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -1606,10 +1606,12 @@ static int _domain_pause_by_systemcontroller(struct domain *d, bool sync)
     return 0;
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 int domain_pause_by_systemcontroller(struct domain *d)
 {
     return _domain_pause_by_systemcontroller(d, true /* sync */);
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 int domain_pause_by_systemcontroller_nosync(struct domain *d)
 {
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Oct 13 10:26:57 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 10:26:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142010.1476264 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8FlZ-0005N1-Hg; Mon, 13 Oct 2025 10:26:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142010.1476264; Mon, 13 Oct 2025 10:26:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8FlZ-0005Mh-Cw; Mon, 13 Oct 2025 10:26:57 +0000
Received: by outflank-mailman (input) for mailman id 1142010;
 Mon, 13 Oct 2025 10:26:56 +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
 <SRS0=gL+L=4W=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1v8Fcc-0004Hi-L5
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 10:17:42 +0000
Received: from PH0PR06CU001.outbound.protection.outlook.com
 (mail-westus3azlp170110003.outbound.protection.outlook.com
 [2a01:111:f403:c107::3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d98b2b52-a81d-11f0-9d15-b5c5bf9af7f9;
 Mon, 13 Oct 2025 12:17:41 +0200 (CEST)
Received: from BN9PR03CA0384.namprd03.prod.outlook.com (2603:10b6:408:f7::29)
 by DM4PR12MB7621.namprd12.prod.outlook.com (2603:10b6:8:10a::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.13; Mon, 13 Oct
 2025 10:17:37 +0000
Received: from BN2PEPF000055DD.namprd21.prod.outlook.com
 (2603:10b6:408:f7:cafe::92) by BN9PR03CA0384.outlook.office365.com
 (2603:10b6:408:f7::29) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9203.12 via Frontend Transport; Mon,
 13 Oct 2025 10:17:36 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 BN2PEPF000055DD.mail.protection.outlook.com (10.167.245.7) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9253.0 via Frontend Transport; Mon, 13 Oct 2025 10:17:36 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) by
 satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.2562.17; Mon, 13 Oct 2025 03:17:34 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d98b2b52-a81d-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=AZ2gXsa75XYomjU3Yi8GFNMekrFsw3HewXctVnwPdnos8I4qb8+3adi5wFXBl/iLXPx3+v0Pi6Zm6lwxWXrW3ikc6NUo0NcsuCs9Dm6wZMF6fiWjrvOpFgk+4fbUzR+E0A4c+wqfPWZFNUUti79i39uFaLTreKN/++reDpxAxRACnSAzO+RTThxOXB7XkHQyRLdFsOYJVua9cXLrM4g/W1nwxgqI94jmmc811NKBTS0CXRBiHwU4TWLD2q6gMOrqlhTfEl5BnQsAhgcXQYzmGb9JppDj4hTCM7GDOMRWoCdu7jwYGL6IvWmpidGA7tXFRnGa8o2dVDUjt+oxzGO99g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nQ8meT+JhGxwEETbHE/iPNj73Aytz7+DEMOJq422ey4=;
 b=AmrPS8/1DaeG1kwXP/uYbwUvgr2MDrqscBvC4UKTYK0ZhQgcKolLu8NXm1Fxd1Z9xBO+ITyEg9AcN3dSA8+kRe7ymvFH/dok6srINbHt/EbmiK4PyDoYLiuUsCh13w+6MK54M73IemdsNYKX0VG8TpoL6qY+e+sB3qDWt4zj/noGKCJDhVEnzNK4eUEhqYlWzKPPsg09CSi+ijJ6l+1oJOG/Wsw70a0L8ouAUJCqa/8ZMNLzo6m/SmXN06zcnxF7WEb/bOvBStW6MaajubRP/WP3jjTUY/kan+Y+LL557j7E3reMDPG3pI5BnRbjNIwMrQH7XOcHFPLJWzKUSc/P+Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nQ8meT+JhGxwEETbHE/iPNj73Aytz7+DEMOJq422ey4=;
 b=T/9bEOJsoNyvjOE6N/2B6GtFK13llOOuW+G6NEY+zw4rtKaadTlB/C1kqJ4g0hNEK1Wo1Foa+NVIJo2ypMDGxM9hCql+MKHicUZ386R1hqNU6iitQYK0O8utNVKTTKs06GCtMC4/sbtTU+WuTHpTOohcy6skmykKIJRldp+mwT0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.com>, <oleksii.kurochko@gmail.com>, Penny Zheng
	<Penny.Zheng@amd.com>, Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v3 24/28] xen/domctl: make CONFIG_X86_PSR depend on CONFIG_MGMT_HYPERCALLS
Date: Mon, 13 Oct 2025 18:15:36 +0800
Message-ID: <20251013101540.3502842-25-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20251013101540.3502842-1-Penny.Zheng@amd.com>
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN2PEPF000055DD:EE_|DM4PR12MB7621:EE_
X-MS-Office365-Filtering-Correlation-Id: b598fbf8-17ff-4ee8-d5d6-08de0a41bb88
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|376014|1800799024|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?9tgLuiR1iSisWsIT5hgHuq045Yf3pDVoResna01sQqTOX6Defy/3vZ2px++z?=
 =?us-ascii?Q?GKC/ad/wa5FUQ6yrSLIYrWHMa6tTxPtxbZh3yBUaNLeFe98vS9HK9u+OLI2S?=
 =?us-ascii?Q?LMPPAZGXIAgLJV7AU9UH9pDnwaRpU1ilL5e41B+k4sBwEhUUXc1ruOGV7xtF?=
 =?us-ascii?Q?PDbOA31W7ofKqDn/2z7f7DejUgntSkt13jq7w6cWgMJeZp5u0x1H23K8Hlud?=
 =?us-ascii?Q?FGYvo7oczep0bNchfm+wwbF4D+F8qvQJ60xZpGqYqcO/MRlMM5ECSXeQfKER?=
 =?us-ascii?Q?4WnSO+luYZB6uDEaUwDc3pvYTV+eyKy63Bpq9oenRWHntaKr5Z9dUYlBCQE8?=
 =?us-ascii?Q?69Ht0I4pBr+47lUuFyYhrf6ENIKhBgzIpc/rZtkKPhOFyNU4XvTlTYsMAQCN?=
 =?us-ascii?Q?Mivlw1fbal+SSrwtUMJ+GtmrOC2YNhpF6a8DdD9Vn5jqnlcDFUNPLDa2e+tY?=
 =?us-ascii?Q?hsXm0nt+2c9hJ2V77rDigi/97wnmKFxob1e8zhroF01Dw3kacxqkw6jqAHaB?=
 =?us-ascii?Q?PsT05ulXJdwfBU7LzryDmye4ZOpd/0EEcRbT/INXcaDNls+nE+tP3XfvjtlF?=
 =?us-ascii?Q?YETpP9clG/5xYR6UJoomSdlk6YrZc943XXedBGoU8YY4ADpxtIgKbGiVccxd?=
 =?us-ascii?Q?36q9kxhJwCLHB0ioT07Ki2mVMUChvOZXBLkndBf4BTuo0mGn5PYFzy0gjHr8?=
 =?us-ascii?Q?h8XLHPRjoo2eL26iVPinnGtavpk+7v8tJuYdFktGRBTj02lepPTfhIel7E0e?=
 =?us-ascii?Q?0n23mjUE9ZV+EALsqOUoz2L9gZy0XxNA2hqlPiXLnecCK37Lal7XvAjlJ3DL?=
 =?us-ascii?Q?XynY2XVYU2Rex8kCv1A3frDV8pStcjKlzoBGjXvbmXdb+XLjfYYCRpWlnNvS?=
 =?us-ascii?Q?gNUfITiXzjdjVPMP6YvnSVnEBUZAPnMJPL4f4SLBBzEhdOzkmabG3JDVLKi2?=
 =?us-ascii?Q?T4u7jhLUyn4glqUYPFDCaSMzoLll21VsNiCA5C+I3/L2c5FBBuybTFiG/IzV?=
 =?us-ascii?Q?kVT5gS8mONVJMzHHwtIXgji8xiTRlYOMkz+rVNDs1vlRGYL/8S388gvaAmgT?=
 =?us-ascii?Q?a+kRSmBxY8fDTEwiLNkt3uERU5IWrYlZV9H7QOxr6cXyw4jlSqjYIgn2uc76?=
 =?us-ascii?Q?/b0GX2ricwEtiMHzG0UtEw3v453NkbSurwxkmfJZzS7vDBOR21S9GeAgXDWT?=
 =?us-ascii?Q?CemxAhoAjrych/M9A7A+hLUmw2m/8k7rVFueLWNHKA+19Qtw4ufEciBa+lpU?=
 =?us-ascii?Q?kOLZwbqawZibqnZkL4zmAr4pfdKlZPwXwPdUpWMfNectp/kbWrMdzYzZy0ef?=
 =?us-ascii?Q?x/enEpN3NSc/4FDSAjM5ytG7N4QfSJ1RxX2J6jTdAWfQsgnK8R5rB3/GPdt7?=
 =?us-ascii?Q?Gr0pWV6jSDjvi+JFKGCNDV+VzDQ+Gma0lDbJXS56wJEG50Rd7iK79eVDeVax?=
 =?us-ascii?Q?hs4sjRUqueTPrP1rFls1dbyW9K4H/APodkbRMX+IhtWgK4MvCi7N8CcrH/Gf?=
 =?us-ascii?Q?6BvTKeHzjdkfqU63jYBBPlxr53x+7+x/oL9AdyLe6Rg2z7frHe0jtQYCd4Q3?=
 =?us-ascii?Q?nc8NCQhFPAZVAGi0r04=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(376014)(1800799024)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2025 10:17:36.8214
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b598fbf8-17ff-4ee8-d5d6-08de0a41bb88
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN2PEPF000055DD.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB7621

Users control/monitor Intel Platform Shared Resource (PSR) through
related domctl-op or sysctl-op, so CONFIG_X86_PSR can be put under
MGMT_HYPERCALLS. With this change, we could remove MGMT_HYPERCALLS-wrapping
in psr.c.

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
v1 -> v2:
- adapt to changes of "unify DOMCTL to MGMT_HYPERCALLS"
---
 xen/arch/x86/Kconfig |  1 +
 xen/arch/x86/psr.c   | 18 ------------------
 2 files changed, 1 insertion(+), 18 deletions(-)

diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
index 3f0f3a0f3a..21da8c1a69 100644
--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -190,6 +190,7 @@ config TBOOT
 config X86_PSR
 	bool "Platform Shared Resource support" if EXPERT
 	default INTEL
+	depends on MGMT_HYPERCALLS
 	help
 	  Support of Platform Shared Resource technology, which is basis for
 	  monitoring and control of resources like cache and memory bandwidth.
diff --git a/xen/arch/x86/psr.c b/xen/arch/x86/psr.c
index 80ce5804b4..4f2c2d0042 100644
--- a/xen/arch/x86/psr.c
+++ b/xen/arch/x86/psr.c
@@ -135,11 +135,9 @@ static const struct feat_props {
      */
     enum psr_type alt_type;
 
-#ifdef CONFIG_MGMT_HYPERCALLS
     /* get_feat_info is used to return feature HW info through sysctl. */
     bool (*get_feat_info)(const struct feat_node *feat,
                           uint32_t data[], unsigned int array_len);
-#endif
 
     /* write_msr is used to write out feature MSR register. */
     void (*write_msr)(unsigned int cos, uint32_t val, enum psr_type type);
@@ -422,7 +420,6 @@ static bool mba_init_feature(const struct cpuid_leaf *regs,
     return true;
 }
 
-#ifdef CONFIG_MGMT_HYPERCALLS
 static bool cf_check cat_get_feat_info(
     const struct feat_node *feat, uint32_t data[], unsigned int array_len)
 {
@@ -435,7 +432,6 @@ static bool cf_check cat_get_feat_info(
 
     return true;
 }
-#endif /* CONFIG_MGMT_HYPERCALLS */
 
 /* L3 CAT props */
 static void cf_check l3_cat_write_msr(
@@ -448,14 +444,11 @@ static const struct feat_props l3_cat_props = {
     .cos_num = 1,
     .type[0] = PSR_TYPE_L3_CBM,
     .alt_type = PSR_TYPE_UNKNOWN,
-#ifdef CONFIG_MGMT_HYPERCALLS
     .get_feat_info = cat_get_feat_info,
-#endif
     .write_msr = l3_cat_write_msr,
     .sanitize = cat_check_cbm,
 };
 
-#ifdef CONFIG_MGMT_HYPERCALLS
 /* L3 CDP props */
 static bool cf_check l3_cdp_get_feat_info(
     const struct feat_node *feat, uint32_t data[], uint32_t array_len)
@@ -467,7 +460,6 @@ static bool cf_check l3_cdp_get_feat_info(
 
     return true;
 }
-#endif /* CONFIG_MGMT_HYPERCALLS */
 
 static void cf_check l3_cdp_write_msr(
     unsigned int cos, uint32_t val, enum psr_type type)
@@ -483,9 +475,7 @@ static const struct feat_props l3_cdp_props = {
     .type[0] = PSR_TYPE_L3_DATA,
     .type[1] = PSR_TYPE_L3_CODE,
     .alt_type = PSR_TYPE_L3_CBM,
-#ifdef CONFIG_MGMT_HYPERCALLS
     .get_feat_info = l3_cdp_get_feat_info,
-#endif
     .write_msr = l3_cdp_write_msr,
     .sanitize = cat_check_cbm,
 };
@@ -501,14 +491,11 @@ static const struct feat_props l2_cat_props = {
     .cos_num = 1,
     .type[0] = PSR_TYPE_L2_CBM,
     .alt_type = PSR_TYPE_UNKNOWN,
-#ifdef CONFIG_MGMT_HYPERCALLS
     .get_feat_info = cat_get_feat_info,
-#endif
     .write_msr = l2_cat_write_msr,
     .sanitize = cat_check_cbm,
 };
 
-#ifdef CONFIG_MGMT_HYPERCALLS
 /* MBA props */
 static bool cf_check mba_get_feat_info(
     const struct feat_node *feat, uint32_t data[], unsigned int array_len)
@@ -523,7 +510,6 @@ static bool cf_check mba_get_feat_info(
 
     return true;
 }
-#endif /* CONFIG_MGMT_HYPERCALLS */
 
 static void cf_check mba_write_msr(
     unsigned int cos, uint32_t val, enum psr_type type)
@@ -561,9 +547,7 @@ static const struct feat_props mba_props = {
     .cos_num = 1,
     .type[0] = PSR_TYPE_MBA_THRTL,
     .alt_type = PSR_TYPE_UNKNOWN,
-#ifdef CONFIG_MGMT_HYPERCALLS
     .get_feat_info = mba_get_feat_info,
-#endif
     .write_msr = mba_write_msr,
     .sanitize = mba_sanitize_thrtl,
 };
@@ -826,7 +810,6 @@ static struct psr_socket_info *get_socket_info(unsigned int socket)
     return socket_info + socket;
 }
 
-#ifdef CONFIG_MGMT_HYPERCALLS
 int psr_get_info(unsigned int socket, enum psr_type type,
                  uint32_t data[], unsigned int array_len)
 {
@@ -858,7 +841,6 @@ int psr_get_info(unsigned int socket, enum psr_type type,
 
     return -EINVAL;
 }
-#endif /* CONFIG_MGMT_HYPERCALLS */
 
 int psr_get_val(struct domain *d, unsigned int socket,
                 uint32_t *val, enum psr_type type)
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Oct 13 10:26:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 10:26:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142012.1476268 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8Fla-0005TD-8F; Mon, 13 Oct 2025 10:26:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142012.1476268; Mon, 13 Oct 2025 10:26:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8FlZ-0005Rg-WB; Mon, 13 Oct 2025 10:26:57 +0000
Received: by outflank-mailman (input) for mailman id 1142012;
 Mon, 13 Oct 2025 10:26:56 +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
 <SRS0=gL+L=4W=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1v8FcA-0004Rd-Gc
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 10:17:14 +0000
Received: from CY7PR03CU001.outbound.protection.outlook.com
 (mail-westcentralusazlp170100005.outbound.protection.outlook.com
 [2a01:111:f403:c112::5])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c78fe375-a81d-11f0-980a-7dc792cee155;
 Mon, 13 Oct 2025 12:17:12 +0200 (CEST)
Received: from BN9PR03CA0492.namprd03.prod.outlook.com (2603:10b6:408:130::17)
 by SA1PR12MB8948.namprd12.prod.outlook.com (2603:10b6:806:38e::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.10; Mon, 13 Oct
 2025 10:17:08 +0000
Received: from BN2PEPF000055DA.namprd21.prod.outlook.com
 (2603:10b6:408:130:cafe::44) by BN9PR03CA0492.outlook.office365.com
 (2603:10b6:408:130::17) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9203.12 via Frontend Transport; Mon,
 13 Oct 2025 10:17:08 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 BN2PEPF000055DA.mail.protection.outlook.com (10.167.245.4) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9253.0 via Frontend Transport; Mon, 13 Oct 2025 10:17:08 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) by
 satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.2562.17; Mon, 13 Oct 2025 03:17:05 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c78fe375-a81d-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ITUoKqvYFBnv6JqoApo/bZ9Mnc9tXyPpsarLaG2g4Sk5v2XeZgS2aHvK+7Du2qldWR/tHcdnBZ/Z8Bu5ghzdetze5HE/NHmqFYcUz1P6VwBjGDSIhQmBTNBzHqi+B+bqGkfYF0NYtGs9HGNKVhtBCxOl2znu3AF+e5ajBOUoDhA5C4QOXed5pnwitCbx4Kkod6dnT+KS9ZQvii3nCZ3GbMhKv1jKF/FalFpeWnys/4Pd9eTg0IUvZz9zZ+KAlkXeRgpIId6LSIJ3yv4q+W9wQ4OHvljD4L3RKIBZdcUfWHL/OXyy6Ai1PZm7OFY9ipIQFMWz9RvnCvg0CvTyOxWwpA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SyANdC3k7aP7WUEmBjJUqOcnGAygkfaCGTkQVbLp+cc=;
 b=NtFtKQEsIyKom6gd4A1Af8j2QVFrGL0+x787FWQl4fx7MQHKyikL5hAzgoj3qqmu0Aq8vuZhCJePui405ad9dgFz2cWsNEi2KksPTAYQjuI/PoFxH6vpU9ir9BPmh9qdElXqPvp3eX5xBvmjG1foydMDc5AvdqMXBv/AwqODAdjkmXjpCulbdGB8pF/3Az4EG7KekK+OZEjA6gcq6+kP1fcDFFA+qxDI7gTx20P7GG8BBxVriVsgbHFoSiLaqU8SCEM9B//DbN2YOK0Hj+kwduQbwSWO0sdSGBm+bC/S0oxrvvudqjrJzAlk/slFgwHw444kERojljLFGuqiXc2psQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SyANdC3k7aP7WUEmBjJUqOcnGAygkfaCGTkQVbLp+cc=;
 b=J7yQQSy6OZ2JutOgPIpZFGtnj798F2f7QAvXHU+AsCMJbUU59eykR8gZQhrN/bMm+p1oiiY49+XaKKWCHWlY+DahYOYZuymrTspsScuYxXwCFnZzwBvtsDsEUsvoOnSFGQjSygYuITmFabQlzJfCzwFirZqgJ6nC3+ZKXQdyV1o=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.com>, <oleksii.kurochko@gmail.com>, Penny Zheng
	<Penny.Zheng@amd.com>, Andrew Cooper <andrew.cooper3@citrix.com>, "Anthony
 PERARD" <anthony.perard@vates.tech>, Michal Orzel <michal.orzel@amd.com>,
	"Jan Beulich" <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>
Subject: [PATCH v3 14/28] xen/domctl: wrap domain_resume() with CONFIG_MGMT_HYPERCALLS
Date: Mon, 13 Oct 2025 18:15:26 +0800
Message-ID: <20251013101540.3502842-15-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20251013101540.3502842-1-Penny.Zheng@amd.com>
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN2PEPF000055DA:EE_|SA1PR12MB8948:EE_
X-MS-Office365-Filtering-Correlation-Id: 19177c81-1d42-4ad5-76a6-08de0a41aaae
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|36860700013|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?Mxb3IBXdD0geumV4uQEWm8W3Zozkddo824I2idJ1A9b0gPnrFEPfD9T29PRp?=
 =?us-ascii?Q?TamTqjxe9QW+v72zX0Q6SaKuCV/6t0+kSB2vABIeLtdrYv1yDznsqw7o9w2Q?=
 =?us-ascii?Q?N97LoNGNgEhwfel+BhJSJ+7WEjEhH+FIn5eYjfFDSK90+Em1de+j1HW8J8wZ?=
 =?us-ascii?Q?hQT4b9ig9DtUUuZr6sYuLD2Sbroq7LxmpmLI+Fe1nnCqW4QXuGKjgCgamsU2?=
 =?us-ascii?Q?huvPaPWJDLK+pitZhPk0d0dG+VjniKzILo7NfES+sZd6scsZvgPMWYI6EUDZ?=
 =?us-ascii?Q?Qo2ETLNEu3eIBZQR21hyi7v+fHF0GhNo8feS6SZRdbe/SLSCHuU6bViKmA9E?=
 =?us-ascii?Q?gCq3vya3mD6Z0XUIG4NYwCrr+dG74vm8HhbQDFWdsh/nHbQ0dLIIBjVnEa7z?=
 =?us-ascii?Q?FjUebe4Hm9rTSs0XRcj1+PZZ1IiPoBcorewxoS9zc9cStUVRILG6hPDuFgvI?=
 =?us-ascii?Q?BA5bCE8+dpI6/bmvvetwbPd+ZycyBe2k6DU7IFwbQoAAdXIxr0a+i6Iwujtd?=
 =?us-ascii?Q?GBTR+dD1P2mBNUbuDQltz6sQm2B17pxXir/8v4jVP1IZi/SI98hvv1eWhSXx?=
 =?us-ascii?Q?QTAhMnUMlHtTkF2Q8ODYJctxbv8fUDW2TPt11Z+3XFq7LDgQDBHWSO8FV/FH?=
 =?us-ascii?Q?kDaEDsZseFhdvUC3SKbfC8l72NcrIZedbfHRvYzi8Lyf2mMGOpkTiQMq7NP8?=
 =?us-ascii?Q?0HCwPmFUROv89kO7YH4LOwXvXcb5Dj0WWX3TnL84Pf3AcVb3XqbotaP33kuK?=
 =?us-ascii?Q?Cw40N79HpxyX1ftpaJKrArK+7dOLr0BqXUFUTCllUPAn5tu3XTc/HHTR0YnT?=
 =?us-ascii?Q?q38FVBOoRWXfJromISgszR59gC2KJ2WN3KlB6EqZM8jcWG6ZavdHR0RAhR/l?=
 =?us-ascii?Q?/gQuIMEE80HpLomBUSu0cSaosbSKAnnQpGFTlr0e/dS6Or0e3DHfDku+u6e9?=
 =?us-ascii?Q?82JIzB3sbTZeiH9RmiKBiYOvq37YrF1zjz7N6efUI2wCg7RkSd0zeWodTGAs?=
 =?us-ascii?Q?RvSMoYE0zbmQL2iBiReHByR6ThiQb6laHnQ8dnpk0bwdtyeX3V0sw7eOE/Xp?=
 =?us-ascii?Q?tWa8FGExJ4aWpQDUPTuWwFTlib+aba3SVLxoDiJiC003ngEWaYqS2Gaie4GR?=
 =?us-ascii?Q?O2NKkUX1QXeQzjdiv8wLuUdK3C2tdVc8sGHQWDCNgwjui2WYIsGU4m4VLywt?=
 =?us-ascii?Q?nKAO0YQy6SET1hh/Ff2+0jgeNY7k7VdElP1B9ve0GVPBMb6dAXtiCa4vrANy?=
 =?us-ascii?Q?CtbRAFnLCJQRECCKOHr1mMltus1rgsAL71o3pSh6KvJNfd+D2fcVeST0SJhv?=
 =?us-ascii?Q?UrHaEdrCXL7gtuSgRv29NpowwCx76XQDF7LSEcbnIpKelFA+K826ls/lMK+O?=
 =?us-ascii?Q?86NbN1aFHTE6VIAY8qKM1I33vO1YoVlnvWujG/phmhVXUBO2CXIjvrO0HwgX?=
 =?us-ascii?Q?E7BMI3J4NQksYFXIpUR+YaM3Rq1HzIYGmDS/jtCjSy13vZ3gjae0CytpFkSN?=
 =?us-ascii?Q?iuHNIorz/qyn9sDnrr+kYcsBVEsHhF17ibvMFL9Lvr+kzYP76JVC+7K3PT1L?=
 =?us-ascii?Q?3otyh/w6GMOEzsLRiSI=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(376014)(36860700013)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2025 10:17:08.5485
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 19177c81-1d42-4ad5-76a6-08de0a41aaae
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN2PEPF000055DA.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB8948

One usage of function domain_resume() is in domain resume domctl-op, and
the other is in domain_soft_reset(), which is already guarded with
CONFIG_MGMT_HYPERCALLS.
So we could wrap domain_resume() with CONFIG_MGMT_HYPERCALLS. Otherwise
it will become unreachable codes when MGMT_HYPERCALLS=n and hence violating
Misra rule 2.1.

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
v1 -> v2:
- new commit
---
v2 -> v3:
- remove transient wrapping around XEN_DOMCTL_resumedomain-case
- address "violating Misra rule 2.1" in commit message
---
 xen/common/domain.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/common/domain.c b/xen/common/domain.c
index 678e81b400..34e2e501dc 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -1351,6 +1351,7 @@ int domain_shutdown(struct domain *d, u8 reason)
     return 0;
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 void domain_resume(struct domain *d)
 {
     struct vcpu *v;
@@ -1377,6 +1378,7 @@ void domain_resume(struct domain *d)
 
     domain_unpause(d);
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 int vcpu_start_shutdown_deferral(struct vcpu *v)
 {
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Oct 13 10:26:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 10:26:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142014.1476275 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8Flb-0005aL-1p; Mon, 13 Oct 2025 10:26:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142014.1476275; Mon, 13 Oct 2025 10:26:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8Fla-0005Y3-I9; Mon, 13 Oct 2025 10:26:58 +0000
Received: by outflank-mailman (input) for mailman id 1142014;
 Mon, 13 Oct 2025 10:26:56 +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
 <SRS0=gL+L=4W=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1v8FcJ-0004Rd-95
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 10:17:23 +0000
Received: from BL0PR03CU003.outbound.protection.outlook.com
 (mail-eastusazlp170120007.outbound.protection.outlook.com
 [2a01:111:f403:c101::7])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cdd25592-a81d-11f0-980a-7dc792cee155;
 Mon, 13 Oct 2025 12:17:21 +0200 (CEST)
Received: from BLAPR05CA0029.namprd05.prod.outlook.com (2603:10b6:208:335::10)
 by LV2PR12MB5823.namprd12.prod.outlook.com (2603:10b6:408:178::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.12; Mon, 13 Oct
 2025 10:17:17 +0000
Received: from BN2PEPF000055DC.namprd21.prod.outlook.com
 (2603:10b6:208:335:cafe::52) by BLAPR05CA0029.outlook.office365.com
 (2603:10b6:208:335::10) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9228.9 via Frontend Transport; Mon,
 13 Oct 2025 10:17:17 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 BN2PEPF000055DC.mail.protection.outlook.com (10.167.245.6) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9253.0 via Frontend Transport; Mon, 13 Oct 2025 10:17:17 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) by
 satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.2562.17; Mon, 13 Oct 2025 03:17:15 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cdd25592-a81d-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=wtCwgnpjddVNchvciwercwRn30bU7UO8J77GsaBNIIOtc+Mc3Kx7ymhpcopweYCxxIS+1AI1dqvxmVIC3Ro1ULzePglI4THAqhtonDzd2zVihArTp2uRrtFk+p1ye8aQEm12YspFwphTpJgIZzB6kqhRAUqGoZu9BF1ZXsly1bLk3D9WXhszjGIYwCEABE7KKR4LhXFsDqjHBenAPcy5ROH3opa7AJkCBjJq4HETAjrwdsrQaXleCmBNY4hnyfYClj9X4OC4a8HrzEEyDLRz+NYMP7ITnUBx9IuJrgS3p60JoHSUekYVX+CJ8ivZim7+GFoJojzKvB7QqP5Op8jDHQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6tX06dash+GtYajn/b5K12INPH/R8TWFIax5WrG4+MA=;
 b=dRHvpiUnh6E2NwpnkiYWPMafk9noNr5szAFsB0h5gIBmiNpB4qlapC3VgazD+Uytk6Rk9m/VKyF5J9FqYAD2UvxQyu+MVDDSqRXssAHlpqsciNcBCGDwJT0GUkl6/dGRv6YKqiJdzLMMtyPBc4tPXcxQD3NXvm/cFpcFn9fxc4JVvzhOhfDZx9Md5qpxWHHAEvvX/VrDrtQNhn3oGNgzbdMvBM+OUToYZbUGetmJEEoX5+28SmeHo0rBGWAgTjDN1tqAL1wiXMP1sggf5TacCCP4DBtlGDcKfeCWzDkmQSFXJC42Bmv7nrG60h139H+533DiUFxSkVYe8aCijocvNA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6tX06dash+GtYajn/b5K12INPH/R8TWFIax5WrG4+MA=;
 b=jIBv1wDRJJ354TrXCwJA6WAMdcvPLMAmbsDLYpzNJ6fTmk+T4TwH4b0pP/ihURgghO3OhOKdeOBcwlBLsOwiaffR+lEOVNDo6wcnuJwc7wUUoQcLuP5tW/Kk4f+s/co3+QX2P/ddO/sXV5BbBxBmbiSDs+nTpDBY9RSFzRlcB+E=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.com>, <oleksii.kurochko@gmail.com>, Penny Zheng
	<Penny.Zheng@amd.com>, Dario Faggioli <dfaggioli@suse.com>, Juergen Gross
	<jgross@suse.com>, George Dunlap <gwd@xenproject.org>
Subject: [PATCH v3 17/28] xen/domctl: wrap vcpu_affinity_domctl() with CONFIG_MGMT_HYPERCALLS
Date: Mon, 13 Oct 2025 18:15:29 +0800
Message-ID: <20251013101540.3502842-18-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20251013101540.3502842-1-Penny.Zheng@amd.com>
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN2PEPF000055DC:EE_|LV2PR12MB5823:EE_
X-MS-Office365-Filtering-Correlation-Id: 2145f477-f4ee-42d2-6a63-08de0a41b02b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|1800799024|376014|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?QcJUW/sBGKpD1gJntzVDE/oiITPMNxkRqlrKgFNg+GvbEbrJsys91cVb+U4t?=
 =?us-ascii?Q?yE5QjmqIN5KKbR0jpCh7+fFa0+hwMM1x/ByafTaVDBY80znuK9TkPdowpYXv?=
 =?us-ascii?Q?Jap5iZ3K4PRr+dMAPrK78oLijK3SDFKQPgQfhHxEsI4nN9lA2dZF2o8bLrkp?=
 =?us-ascii?Q?+2TvkYRv7ukq7pE1D5FaLvcI9kR66g4v6t+NdehDGBgzSLT2QdwIym14OdKG?=
 =?us-ascii?Q?+9Yq33MuoUCGLoHH4QVy/D8PPR3QZf6qF6SQdQuAAkQ2jbaPCMGwaeDhSRZB?=
 =?us-ascii?Q?NQWu+aJLUZyUgA0r8raUrlf/WyQ78ZQfB55x03mUA+FVHP43/VTmmx48E/YF?=
 =?us-ascii?Q?ucZRESeyI0HzfJFfdMqsF1AOuLp3h1C1yYuHWdtKa/ukyRJaEDFpIgEOWT56?=
 =?us-ascii?Q?wt5bbSozAfi19AWsQRZ4vDt9bZBUA4VNiETH+A6ggYgYtWapFRzUhZ2jw6ab?=
 =?us-ascii?Q?cXZ02k8eDNYOwsMuNAhdEKyM+5G1VyYkC6Ct8Q9rKzdOOgj/kIlR1SxqntX6?=
 =?us-ascii?Q?376Uc6rWMwvs+t0eo7SIjcis1bsv79zAUQKe35zWuSpHkcVudzNGRP20auTR?=
 =?us-ascii?Q?pm+jcIUomg4cIs/RiYm8d7vsHCwN0SBcWO7w7MYxFZUL2XzY+VOAx8hPekhL?=
 =?us-ascii?Q?RxYyysZa1b7h7vge4vvf/etHW+VUibVRe20lEptn1oo+GhzirtFl0k0Cnwzn?=
 =?us-ascii?Q?9/4ED0NZmVsOceArhUXAzvziaXoRUpyef5Cz3eO+4txUZEs1KR6NwPzisjxr?=
 =?us-ascii?Q?2oBd3ZuaBD8XXFThUJUSCmBaFzg9vaAbOabtIGyhY9YzsyqFhzxFpdlNiIoX?=
 =?us-ascii?Q?vdauUcQuVjqwjdWU1rqn04DhS/UMvlM3z+HZt+r8z9EK30TA204Fjm0x/MKy?=
 =?us-ascii?Q?3GAf0a1WXpAiAJQEmNXF4QmgG3uLQ1ZXaPrFL3S9ktMrErdE9fKBnz8AuzEc?=
 =?us-ascii?Q?GFpz7vhOlpMsENn4fMBETUR6a2sLJgKUjWfZeoju320HrLIVnnbg3dV0HgCa?=
 =?us-ascii?Q?Cw/YUlGQYD5RS48ClQgvACrotwGNCJxX9ZAWPTVJ1l36xiIq0I5yqGbxdylc?=
 =?us-ascii?Q?gnuCJcrfQCdGPC+xGAwqfws8r70w5DZzhogDnkulCESzav3ScXCvjrrAzihw?=
 =?us-ascii?Q?vJ6cE3etCS1Qb8h9daERE/oBMboCsVar5Z8U/OnO2wlqrLXYjia24cHkYQ8W?=
 =?us-ascii?Q?sz4lK1OB56gIY51onjdTFIqLaRVfLycKPJeef5kZK8BzeXxy0F9O5MINIjq+?=
 =?us-ascii?Q?166c5Wy5p3Mzs2d9jbJ+fz48e+LBHNBy93hT/pAn9bnSsubMecxZ9bXBvH4y?=
 =?us-ascii?Q?t8Q6nyBlNDhLi20fSGjU4e3pbQ6+nkZHRgPXc72PDIF/rFbnF0PGbGSenUUA?=
 =?us-ascii?Q?3XEn0s23QeNZlp0dG4sMiiJyPJOgykgfhajiHiPw0Odibh48NvzoQ5hvWEOV?=
 =?us-ascii?Q?mwjsidswJlyETMDMUTwcB0IUHV0ThCHAgM8IFXi/khUrICcxsMkR+7topry2?=
 =?us-ascii?Q?izWmaQkuNbhApykamr2cCkyW9c/sVRznQmXNG23qRP7Ly+M51/XJivspJkev?=
 =?us-ascii?Q?NXdBHU/QqDQkDx9h4l4=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(376014)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2025 10:17:17.7546
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2145f477-f4ee-42d2-6a63-08de0a41b02b
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN2PEPF000055DC.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV2PR12MB5823

Function vcpu_affinity_domctl() is responsible for
XEN_DOMCTL_{getvcpuaffinity,setvcpuaffinity} domctl-op, and shall be
wrapped with CONFIG_MGMT_HYPERCALLS. Otherwise it will become unreachable
codes when MGMT_HYPERCALLS=n, and hence violating Misra rule 2.1.

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
v1 -> v2:
- adapt to changes of "unify DOMCTL to MGMT_HYPERCALLS"
- wrap XEN_DOMCTL_{getvcpuaffinity,setvcpuaffinity}-case transiently
---
v2 -> v3:
- adapt to changes of "remove vcpu_set_soft_affinity()"
- address "violating Misra rule 2.1" in commit message
- remove transient wrapping around XEN_DOMCTL_{getvcpuaffinity,setvcpuaffinity}-case
---
 xen/common/sched/core.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
index 88150432c3..180de784fa 100644
--- a/xen/common/sched/core.c
+++ b/xen/common/sched/core.c
@@ -1688,6 +1688,7 @@ int vcpuaffinity_params_invalid(const struct xen_domctl_vcpuaffinity *vcpuaff)
             guest_handle_is_null(vcpuaff->cpumap_soft.bitmap));
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 int vcpu_affinity_domctl(struct domain *d, uint32_t cmd,
                          struct xen_domctl_vcpuaffinity *vcpuaff)
 {
@@ -1798,6 +1799,7 @@ int vcpu_affinity_domctl(struct domain *d, uint32_t cmd,
 
     return ret;
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 bool alloc_affinity_masks(struct affinity_masks *affinity)
 {
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Oct 13 10:27:02 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 10:27:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142020.1476291 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8Fld-0006Gz-Ve; Mon, 13 Oct 2025 10:27:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142020.1476291; Mon, 13 Oct 2025 10:27:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8Fld-0006FX-Ep; Mon, 13 Oct 2025 10:27:01 +0000
Received: by outflank-mailman (input) for mailman id 1142020;
 Mon, 13 Oct 2025 10:27:00 +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
 <SRS0=gL+L=4W=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1v8FcD-0004Rd-KQ
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 10:17:17 +0000
Received: from PH0PR06CU001.outbound.protection.outlook.com
 (mail-westus3azlp170110003.outbound.protection.outlook.com
 [2a01:111:f403:c107::3])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ca33047a-a81d-11f0-980a-7dc792cee155;
 Mon, 13 Oct 2025 12:17:16 +0200 (CEST)
Received: from BN9PR03CA0493.namprd03.prod.outlook.com (2603:10b6:408:130::18)
 by CY1PR12MB9584.namprd12.prod.outlook.com (2603:10b6:930:fe::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.12; Mon, 13 Oct
 2025 10:17:08 +0000
Received: from BN2PEPF000055DA.namprd21.prod.outlook.com
 (2603:10b6:408:130:cafe::ff) by BN9PR03CA0493.outlook.office365.com
 (2603:10b6:408:130::18) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9203.10 via Frontend Transport; Mon,
 13 Oct 2025 10:17:06 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 BN2PEPF000055DA.mail.protection.outlook.com (10.167.245.4) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9253.0 via Frontend Transport; Mon, 13 Oct 2025 10:17:07 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) by
 satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.2562.17; Mon, 13 Oct 2025 03:17:00 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ca33047a-a81d-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ktoi5nDnnTlbfzdRseF0AMao2mcBDvnHPCT4QXJZkZufDEYFxKJpmxS+3rP3bEG+RbnmjgU+kF+xgyjvzeqDhXgMsqMplXJUsJ/YbV/N0QzucJXmDLm7iOG7yj+xksPjotWj5PftcG1Y22Xx8ukQCrBFPEwLoHqDRViUcYUwHgJAl4DDCtdYZFTfRNNQqKHNFbTRBhxtseDBJKpji6Glp9tcmL8LtoVMFm1jv9jpKpp8u/4ldZVtnAaTZTr9nFIZjsXOQLwxXo2KJ+RuKQ3Pn3Me/R26mrjZfJHvBqTfu5tm7llnmCTJecqXFtuyoY5cIHSc7oQYu3ifjWRzwjvk/w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KspG00dL/uTSTckav1aVO2+7yDsgTFfRaMoKgya74ho=;
 b=D05SzqYpCDAEkU1AYhDJhdk/t4TNMe9UJs7mxy0gPedo73DKNkGuUrhILlsoW2bHsBZyHBg6cX200mcsjPy4VWgzgBkw7wcWSQrlT9NyaEJsRCcZX72TBJCY62xq6CzlNKvtuPVVIcfYwhTqSDIN3q3kroTFNCJiVNlNrpgygRAaXl2ofgWt6qpZ4JfQpM0Yqw+TieqhW3zaT0TBiemNpILGe8JmGOmUCAS39gSCsv30pXHNERhzlCE2ogA0N1I9pqKYKJZ9V6ET39FJouG0t75c5a/zpGj52uqo7MFX0eZoUIheED3BnqxjTawSVmIZLfvGLxr4Wmo0v7pBKy275w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KspG00dL/uTSTckav1aVO2+7yDsgTFfRaMoKgya74ho=;
 b=3kpQF41ma9QpCGinQkQfj2SUQot+ORaR8mOpCDVniDXQyrT/ZrpW5cahe7GMM2SHTJFIacSAXJ5dSeA7NP+jLV7uik7YtqLsTby6s0Fmoc57Y3A0hM9ssf6/XiD5/DjmWz6qMiIQdWqbdsCu6NZHsGB0d6KrpHaoWWKmp3rf2ek=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.com>, <oleksii.kurochko@gmail.com>, Penny Zheng
	<Penny.Zheng@amd.com>, Stefano Stabellini <sstabellini@kernel.org>, "Julien
 Grall" <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, "Michal
 Orzel" <michal.orzel@amd.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>, Jan Beulich <jbeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Shawn Anastasio
	<sanastasio@raptorengineering.com>, Alistair Francis
	<alistair.francis@wdc.com>, Bob Eshleman <bobbyeshleman@gmail.com>, "Connor
 Davis" <connojdavis@gmail.com>, Christopher Clark
	<christopher.w.clark@gmail.com>, "Daniel P. Smith"
	<dpsmith@apertussolutions.com>
Subject: [PATCH v3 13/28] xen/domctl: wrap domain_soft_reset() with CONFIG_MGMT_HYPERCALLS
Date: Mon, 13 Oct 2025 18:15:25 +0800
Message-ID: <20251013101540.3502842-14-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20251013101540.3502842-1-Penny.Zheng@amd.com>
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN2PEPF000055DA:EE_|CY1PR12MB9584:EE_
X-MS-Office365-Filtering-Correlation-Id: 98c30853-9f6c-49d8-4ae3-08de0a41aa51
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|7416014|376014|36860700013|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?5SVYWqj3Lgb55uQIPjs1Xsieucs38cY6PJGF+qSRHCzE2OqAbmQCQtdlsnCq?=
 =?us-ascii?Q?F6PpWtXRhwqxHRapefS/SsaUHUMAZ3qV3MndUchW8zuzJ3wWcK1FTmac5T9o?=
 =?us-ascii?Q?ySY7fTC9fVkTsE+nRSLENf33FWfq3TO8VhxwOwOtSqlPWEaVbDxmeJCO5T/o?=
 =?us-ascii?Q?lS+W04UGBKqDFzMD2+jecvd5j0mq4bjCQ+FqhwNeT2UqRVqp0Ba+3bA122mI?=
 =?us-ascii?Q?M+xbKKQKuN3C/WrJwkTD8tTUCnnuM29EHH9w5Wp+8RX1xzeBysAaBT29HMMa?=
 =?us-ascii?Q?gXyq/l7DWg1WWHmfgShjGFSvVbFuegXZkrHBPBNVww1csXjS/p563VksrnL7?=
 =?us-ascii?Q?Efj3YvyPmOuAm407tVY73nT053PbXNUwEjuyMlcqcBCmDFLfumM4aRroWRpJ?=
 =?us-ascii?Q?G1ciqVMOxivcNq6Svtg3oOweSTkERHEBpUTh6ox9QYnKhbHo49a900N1klQ5?=
 =?us-ascii?Q?Md7Q67RMEQecx6fRtrMSEUPT+vJ1RtnzlXo5+q/jMNKrjXBk2Nf+4wZ1iopP?=
 =?us-ascii?Q?0DV7a/khmzFxmhRbVgj5CP71e7FT+5w6ClWpBc92LsLmD5Walh0+3lzAl8y2?=
 =?us-ascii?Q?BHLU3KJCVidt5Tr+74LSsDU0SLIF9UNGqDpFbbMqaUuvgJqfWPkdOClhcEOs?=
 =?us-ascii?Q?h1VvBHWXwnjbEe0AEPbvMpaBnHtyg2OaHsZ5Iq3gN9kOcbts4KMQcXjeHHVU?=
 =?us-ascii?Q?aEo7tA1Gx4GU+hFlsHZAiKPYlQDm+e0hCWEQHaBT0smCiWrE/rLGnP8vVm4K?=
 =?us-ascii?Q?X8coZnl+dCNGPUvG8puiMtQAG94x0Jt2YKzDEI+rxez2qKbq5l5JvzcrQOjl?=
 =?us-ascii?Q?H5TUf7ulCN27a0w6bzl7moxmDtujy8lXTwrhLy7yBi2C7/FMBDQxkXqkiFUN?=
 =?us-ascii?Q?RLFitWkX8yy6uAZDWloepZ1AI1noLn6Iox3qoSfLbLSzJLAKq4yF3VN1gTh/?=
 =?us-ascii?Q?/8gxPYdaF3QTIZOxGguTypizyiQxpoQfEgjOtYPR5qtxrH+GvSelqb6H2UAn?=
 =?us-ascii?Q?871uMf31syEA36D15MiJA5RbZNtOaZto0/HtKkcSEbuAOgAIhc+Gmxdf6l5b?=
 =?us-ascii?Q?p38pO5m4RJ15nzyykcRIsgF2XeDqSBTYyU+r+V4PIuKM8qYnn3f+JcRG1xAd?=
 =?us-ascii?Q?CLsJva6jzEk9cjZKXVGLfF7ecipHWMqxvTlxWjpw92FYDb6tD/LFsNmKWFBQ?=
 =?us-ascii?Q?n6HVp1XEX3tkmVmmGxDoA5cO9Ygq/NPUlIwDlGk9zCKj61+LdQwY7q3wOYdd?=
 =?us-ascii?Q?Mup/cs0wqojrpOFUXMfvyiqlqhJyvrXwIsTjfeSfIctfPR7G2hm7KHjjvntQ?=
 =?us-ascii?Q?whUnO5IFyIIY39MoobSFFlxpyGDsI9rDCN7c9v8cN1NrgacKMmpjR2U8tAfL?=
 =?us-ascii?Q?AIvdz/22Nbc1jhrbZRUb1Q1yE2/7QmJ34VyRvziJb0vWD8v9ODLwEzOIxKqK?=
 =?us-ascii?Q?XJR1OxbwAyxg6jEZd+8QvCkV4ptJ0vJySdrx4akzE2Yjz38cqlKiCdHxOz2z?=
 =?us-ascii?Q?dv30RdmaFxKjCKHJTTIEtxoXrzfzs7UjH03xMOf3sUEKr5neZP3ihpn8FVkv?=
 =?us-ascii?Q?1d8UOZEBrqzn3u64nZI=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(7416014)(376014)(36860700013)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2025 10:17:07.9367
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 98c30853-9f6c-49d8-4ae3-08de0a41aa51
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN2PEPF000055DA.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR12MB9584

Function domain_soft_reset() is responsible for domain soft reset domctl-op,
and shall be wrapped with CONFIG_MGMT_HYPERCALLS
Tracking its calling chain, and the following functions shall also be wrapped
with CONFIG_MGMT_HYPERCALLS:
- grant_table_warn_active_grants()
- argo_soft_reset()
- arch_domain_soft_reset()
Otherwise they will become unreachable when MGMT_HYPERCALLS=n and hence
violating Misra rule 2.1.

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
v1 -> v2:
- remove unnessary wrapping in stub.c
- adapt to changes of "unify DOMCTL to MGMT_HYPERCALLS"
- wrap XEN_DOMCTL_soft_reset-case transiently
---
v2 -> v3:
- add back stub wrapping for ppc/riscv
- remove transient wrapping around XEN_DOMCTL_soft_reset-case
- address "violating Misra rule 2.1" in commit message
---
 xen/arch/arm/domain.c    | 2 ++
 xen/arch/ppc/stubs.c     | 2 ++
 xen/arch/riscv/stubs.c   | 2 ++
 xen/arch/x86/domain.c    | 2 ++
 xen/common/argo.c        | 2 ++
 xen/common/domain.c      | 2 ++
 xen/common/grant_table.c | 2 ++
 7 files changed, 14 insertions(+)

diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
index e36719bce4..948ca35e19 100644
--- a/xen/arch/arm/domain.c
+++ b/xen/arch/arm/domain.c
@@ -875,10 +875,12 @@ void arch_domain_unpause(struct domain *d)
 {
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 int arch_domain_soft_reset(struct domain *d)
 {
     return -ENOSYS;
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 void arch_domain_creation_finished(struct domain *d)
 {
diff --git a/xen/arch/ppc/stubs.c b/xen/arch/ppc/stubs.c
index bdaf474c5c..ecaffe0d2e 100644
--- a/xen/arch/ppc/stubs.c
+++ b/xen/arch/ppc/stubs.c
@@ -214,10 +214,12 @@ void arch_domain_unpause(struct domain *d)
     BUG_ON("unimplemented");
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 int arch_domain_soft_reset(struct domain *d)
 {
     BUG_ON("unimplemented");
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 void arch_domain_creation_finished(struct domain *d)
 {
diff --git a/xen/arch/riscv/stubs.c b/xen/arch/riscv/stubs.c
index a74e56843c..291c8a23e8 100644
--- a/xen/arch/riscv/stubs.c
+++ b/xen/arch/riscv/stubs.c
@@ -188,10 +188,12 @@ void arch_domain_unpause(struct domain *d)
     BUG_ON("unimplemented");
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 int arch_domain_soft_reset(struct domain *d)
 {
     BUG_ON("unimplemented");
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 void arch_domain_creation_finished(struct domain *d)
 {
diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
index 19fd86ce88..5b3c5e8caf 100644
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -1030,6 +1030,7 @@ void arch_domain_unpause(struct domain *d)
         viridian_time_domain_thaw(d);
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 int arch_domain_soft_reset(struct domain *d)
 {
     struct page_info *page = virt_to_page(d->shared_info), *new_page;
@@ -1131,6 +1132,7 @@ int arch_domain_soft_reset(struct domain *d)
 
     return ret;
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 void arch_domain_creation_finished(struct domain *d)
 {
diff --git a/xen/common/argo.c b/xen/common/argo.c
index cbe8911a43..a451546d57 100644
--- a/xen/common/argo.c
+++ b/xen/common/argo.c
@@ -2351,6 +2351,7 @@ argo_destroy(struct domain *d)
     write_unlock(&L1_global_argo_rwlock);
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 void
 argo_soft_reset(struct domain *d)
 {
@@ -2374,3 +2375,4 @@ argo_soft_reset(struct domain *d)
 
     write_unlock(&L1_global_argo_rwlock);
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
diff --git a/xen/common/domain.c b/xen/common/domain.c
index 976172c7d3..678e81b400 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -1689,6 +1689,7 @@ void domain_unpause_except_self(struct domain *d)
         domain_unpause(d);
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 int domain_soft_reset(struct domain *d, bool resuming)
 {
     struct vcpu *v;
@@ -1726,6 +1727,7 @@ int domain_soft_reset(struct domain *d, bool resuming)
 
     return rc;
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 int vcpu_reset(struct vcpu *v)
 {
diff --git a/xen/common/grant_table.c b/xen/common/grant_table.c
index cf131c43a1..24ef1205c9 100644
--- a/xen/common/grant_table.c
+++ b/xen/common/grant_table.c
@@ -3962,6 +3962,7 @@ int gnttab_release_mappings(struct domain *d)
     return 0;
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 void grant_table_warn_active_grants(struct domain *d)
 {
     struct grant_table *gt = d->grant_table;
@@ -4006,6 +4007,7 @@ void grant_table_warn_active_grants(struct domain *d)
 
 #undef WARN_GRANT_MAX
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 void
 grant_table_destroy(
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Oct 13 10:27:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 10:27:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142024.1476298 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8Flg-0006dG-1K; Mon, 13 Oct 2025 10:27:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142024.1476298; Mon, 13 Oct 2025 10:27:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8Flf-0006ax-Eh; Mon, 13 Oct 2025 10:27:03 +0000
Received: by outflank-mailman (input) for mailman id 1142024;
 Mon, 13 Oct 2025 10:27:01 +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
 <SRS0=gL+L=4W=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1v8FcX-0004Rd-KB
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 10:17:37 +0000
Received: from PH8PR06CU001.outbound.protection.outlook.com
 (mail-westus3azlp170120001.outbound.protection.outlook.com
 [2a01:111:f403:c107::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d5a7a543-a81d-11f0-980a-7dc792cee155;
 Mon, 13 Oct 2025 12:17:35 +0200 (CEST)
Received: from MN2PR13CA0016.namprd13.prod.outlook.com (2603:10b6:208:160::29)
 by DS0PR12MB6607.namprd12.prod.outlook.com (2603:10b6:8:d1::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.12; Mon, 13 Oct
 2025 10:17:31 +0000
Received: from BN2PEPF000055DD.namprd21.prod.outlook.com
 (2603:10b6:208:160:cafe::b0) by MN2PR13CA0016.outlook.office365.com
 (2603:10b6:208:160::29) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9228.9 via Frontend Transport; Mon,
 13 Oct 2025 10:17:31 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 BN2PEPF000055DD.mail.protection.outlook.com (10.167.245.7) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9253.0 via Frontend Transport; Mon, 13 Oct 2025 10:17:31 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) by
 satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.2562.17; Mon, 13 Oct 2025 03:17:27 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d5a7a543-a81d-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=PhCvGs5BrQTDL1Oefu6HET20WKJfb41JtMxaM0LQ4a11T1WTff5tGEYMPVj1M/cHMohLdlZvay5JVgSz6TKgCub+Ne/EWw/3GQiCc5Bjqa62bRD+UASM40VPvspRTZoOGBIReye8MeThpAKRM2zS+5KooVwn+AiIUwNMBDcW8raKD/LIE3Mzzsae+FGEg0YYpyUSzn3rTVGAWP3gLNi+C1mDsMKtdILwN+yTO+dFEv8fBGOV51g6Xda3nLn8xLpLGmcECTHqy6XBxz0Q1YkNtRFUWL5UZbQ3eH0b0N73w8gYnWSs6O0yCKKs01t86/RGLh3+/HhLTJeJwSoUarE9IQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CFRNb3guwLb3dfTeVzp7r1RPYeQgPGGR5Qg6o7MJBAs=;
 b=NAtySeX8nDRlqVocRsM7OuFJmLJQTOUiJx+siyoi0BkS0100QvG6lhjBYNNzPWn+ZNUHC9Ypfrk3z72NLfIkw1YzpMS5+I5VhQfi/Sn6wTqWtjVNe6h1vCfC80jJ5IlqXMncoYipIFMEBacF6hiK/GMbz4Hytj9Nh+QNJcveucE6FK9NFdYXCJxP1dgp1bM15AiUgXrkJ+Mw1vANDMiZyVy3ZHmiSWTXviQII8k+u1X139llpeOSNWj2+ykZcLZ/kDFCb75oG6IYWmoq1wyU5KKogJKwxxX2PdP3nng8e5mZlTbLm94ulUmqNb7JFp0KOJzAuhSehx4LhEVyXHhVAA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CFRNb3guwLb3dfTeVzp7r1RPYeQgPGGR5Qg6o7MJBAs=;
 b=CY6AaXqIh1Lt67LpqAz/MvRB6iz1iyhSVmrl/Deqy5yH63psgeejyLtS9q1NzQrtr59oysxCPB9BG8cNKWH11xK8oW4QxIss+ZxpI2nlFP7prWV93W+92JxoSUIS3veBz658GotVenJyHWiVTUOkkaHyturpy/zVOZS4Dgf64TY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.com>, <oleksii.kurochko@gmail.com>, Penny Zheng
	<Penny.Zheng@amd.com>, Stefano Stabellini <sstabellini@kernel.org>, "Julien
 Grall" <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, "Michal
 Orzel" <michal.orzel@amd.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Rahul Singh <rahul.singh@arm.com>, "Daniel P. Smith"
	<dpsmith@apertussolutions.com>
Subject: [PATCH v3 22/28] xen/domctl: wrap iommu-related domctl op with CONFIG_MGMT_HYPERCALLS
Date: Mon, 13 Oct 2025 18:15:34 +0800
Message-ID: <20251013101540.3502842-23-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20251013101540.3502842-1-Penny.Zheng@amd.com>
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN2PEPF000055DD:EE_|DS0PR12MB6607:EE_
X-MS-Office365-Filtering-Correlation-Id: a8b16ba5-70c8-4fd1-cd6d-08de0a41b851
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|376014|7416014|36860700013|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?xR4kgoh2yIgndoMEbeBRmuRHmTCjTdVuj2sLDTYNX0hHYHxutyZdDxyagvuA?=
 =?us-ascii?Q?iKrTmqcY3hB/UY0kelxdGVs41dzCadqQuVcSNLpcFEnRCMX9kCDmXGDE6Ood?=
 =?us-ascii?Q?lMXiMQCbH3prEQfGAYcWEKTW7gV8HnEHqSe8a9b87imt8wlWdCRMG5LUUErb?=
 =?us-ascii?Q?gWVbAV5eSO6mB5J9X5eQEpU3nvbP9B6rLGDFlWuNl7KsjpOL8cSPOn3i5x/I?=
 =?us-ascii?Q?QawasQPp+T4sOqlwN3K1ZMPKVssXKA7nThG9GpDgBU7Z9ovRfLl8PjFirvg5?=
 =?us-ascii?Q?FKUFXX5HCgqQFqCiNHnlzdqf+iaoTigFX7DKlDv30Utm508yD/cpQkXw/jw3?=
 =?us-ascii?Q?SLBmYnQ2SAWgxamXMhP6/2HcU/lldTpD8p6WVl0iYbSxEYTiOP4ZewLmtE8+?=
 =?us-ascii?Q?jmcr/v31wcjXl3IA4tiIUcyCzpJ/7hVT4ADQVHk3kRkJqmx/8eYSLS7mMSHi?=
 =?us-ascii?Q?INwrIN4ugusF0vj0DyZiD6+Rq3M28LA2wIS0fAdOX+OpQ136d7wK6LHketMR?=
 =?us-ascii?Q?wbZnfMiFcy/Rg2kfLIoBbcXQnt2Q76pGM8SWAxEub4/5XdshmFC7li72UsDl?=
 =?us-ascii?Q?YCxknfXLyeIl6ZdxhTkcgQrlDsLF8w6NEvzA9SxwG5MD9YAKFS8dP8G8UUw0?=
 =?us-ascii?Q?0n3lzyHodSpy+Ji+rWd4J6n/olrNR7l4Oh6Cu8WnYEhygU+MfpBbAgmbplzc?=
 =?us-ascii?Q?1akaimz8p+pmw3rdJZ9iz6SgIm0wsX5t338DkxsFRb3dVeenLyr0yN4SCQi+?=
 =?us-ascii?Q?ufBrxEeI3yDscQrsnQGl68+/tMQuaR7zpqVov8rDgyddOFHy0R2yVUnVvfyC?=
 =?us-ascii?Q?ceLG88PuVLL+ucxca/9i0ENfgUX/8dzO6QluBzrv+WtUjPrL8oe2gRJhqd2w?=
 =?us-ascii?Q?bJ95Gf9DO6o3hzxAs7JHDNXrvfzHbaSxGFqBSLYOmybCWouaxjvnH5m5AUeG?=
 =?us-ascii?Q?6eNuKh4wrSRolEQBvvhYq7+N5ZGJKqdNPhYGfpI4Wg53lW8xgJoOz8DyEKuf?=
 =?us-ascii?Q?3tHJXbkHQhSn/Jm6UmAIOo1iBicGnPc3suSIp4z4f5pugLVi2ssQ+vPp4EGo?=
 =?us-ascii?Q?/GyyBc0mAaSWEmkuY3wb6Xptc5k9jzXLrSrXw4Q3Oh9SeQ7hrjhQh0sQItij?=
 =?us-ascii?Q?B2AQ1byLy636NzglaQow/5DzCiseHSbkX/1ByVvp3QYzv2mMQpQPu7qy6xrV?=
 =?us-ascii?Q?FzM+dODYZBnF5PW5iXnMPlFqwfsnghbYmDJO5kpvGCKENw/OlEtaAsEbr7s1?=
 =?us-ascii?Q?fH0L+XsZ32ynSwHiWSEl24w4EXyxZj2ptpBKCP27MTOliC5kxInRG0ul+aVa?=
 =?us-ascii?Q?LJT9IAV/5gCgxsysBXSQawte1owQwXkjPskDwxLiakyZx9jJoR3Sx33JRz1v?=
 =?us-ascii?Q?Jw6N6K2mLdjXp7+6qYkgAoriZTIy6iKcuC+AOVPlpmpHu6Ju6XLXiDUHsZpZ?=
 =?us-ascii?Q?t4GasDKDlkpQt56UKRt8zKivNiKDz42lSKTHTyeTuD7xIzQ4wWZeT6vli24t?=
 =?us-ascii?Q?oIC84XBwOBGQeRAl/4P+9eC5ehognlmAZ0T6yi97nyrxPn+ZbV0a6j0rtP33?=
 =?us-ascii?Q?Qa+QUQS10s5udUQcnk8=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(376014)(7416014)(36860700013)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2025 10:17:31.4277
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a8b16ba5-70c8-4fd1-cd6d-08de0a41b851
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN2PEPF000055DD.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB6607

Function iommu_do_domctl() is the main entry for all iommu-related domctl-op,
and shall be wrapped with CONFIG_MGMT_HYPERCALLS.
Tracking its calling chain, the following functions shall all be wrapped
with CONFIG_MGMT_HYPERCALLS:
- iommu_do_pci_domctl
  - iommu_get_device_group
    - amd_iommu_group_id/intel_iommu_group_id
  - device_assigned
  - assign_device
    - intel_iommu_assign_device/amd_iommu_assign_device
  - deassign_device
    - reassign_device_ownership/reassign_device
- make PCI_PASSTHROUGH depend on MGMT_HYPERCALLS
- iommu_do_dt_domctl
  - iommu_deassign_dt_device
    - arm_smmu_reassign_dev
      - arm_smmu_deassign_dev
        - arm_smmu_detach_dev
          - arm_smmu_domain_remove_master
    - ipmmu_reassign_device
      - ipmmu_deassign_device
        - ipmmu_detach_device
  - iommu_remove_dt_device
    - iommu_dt_device_is_assigned_locked
  - dt_find_node_by_gpath
- xsm_get_device_group
- xsm_assign_device
- xsm_deassign_device
- xsm_assign_dtdevice
- xsm_deassign_dtdevice
Otherwise all the functions will become unreachable when MGMT_HYPERCALLS=n,
and hence violating Misra rule 2.1

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
v1 -> v2:
- adapt to changes of "unify DOMCTL to MGMT_HYPERCALLS"
- wrap XEN_DOMCTL_assign_device{test_assign_device,deassign_device,
 get_device_group}-case transiently
---
v2 -> v3:
- make PCI_PASSTHROUGH(, then HAS_VPCI_GUEST_SUPPORT) depend on MGMT_HYPERCALLS
- add wrapping for iommu_remove_dt_device/iommu_dt_device_is_assigned_locked/
arm_smmu_detach_dev/arm_smmu_domain_remove_master
- fold commit
"xen/xsm: wrap xsm-iommu-related functions with CONFIG_MGMT_HYPERCALLS" in
- fix overly long #ifdef
- add missing wrapping in xsm/dummy.h
- address "violating Misra rule 2.1" in commit message
- remove transient wrapping of
XEN_DOMCTL_assign_device{test_assign_device,deassign_device,get_device_group}-case
---
 xen/arch/arm/Kconfig                        |  2 +-
 xen/common/device-tree/device-tree.c        |  2 ++
 xen/drivers/passthrough/amd/pci_amd_iommu.c |  8 ++++++++
 xen/drivers/passthrough/arm/ipmmu-vmsa.c    |  8 ++++++++
 xen/drivers/passthrough/arm/smmu-v3.c       |  4 ++++
 xen/drivers/passthrough/arm/smmu.c          | 10 ++++++++++
 xen/drivers/passthrough/device_tree.c       |  6 ++++++
 xen/drivers/passthrough/iommu.c             |  2 ++
 xen/drivers/passthrough/pci.c               |  6 +++++-
 xen/drivers/passthrough/vtd/iommu.c         |  6 ++++++
 xen/include/xsm/dummy.h                     | 12 ++++++------
 xen/include/xsm/xsm.h                       | 21 ++++++++++++---------
 xen/xsm/dummy.c                             | 10 ++++++----
 xen/xsm/flask/hooks.c                       | 20 ++++++++++++--------
 14 files changed, 88 insertions(+), 29 deletions(-)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index cf6af68299..5a5d7810c8 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -270,7 +270,7 @@ source "arch/arm/firmware/Kconfig"
 
 config PCI_PASSTHROUGH
 	bool "PCI passthrough" if EXPERT
-	depends on ARM_64 && HAS_PASSTHROUGH
+	depends on ARM_64 && HAS_PASSTHROUGH && MGMT_HYPERCALLS
 	help
 	  This option enables PCI device passthrough
 
diff --git a/xen/common/device-tree/device-tree.c b/xen/common/device-tree/device-tree.c
index 0b5375f151..70bd8e7da5 100644
--- a/xen/common/device-tree/device-tree.c
+++ b/xen/common/device-tree/device-tree.c
@@ -371,6 +371,7 @@ struct dt_device_node *dt_find_node_by_path_from(struct dt_device_node *from,
     return np;
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 int dt_find_node_by_gpath(XEN_GUEST_HANDLE(char) u_path, uint32_t u_plen,
                           struct dt_device_node **node)
 {
@@ -386,6 +387,7 @@ int dt_find_node_by_gpath(XEN_GUEST_HANDLE(char) u_path, uint32_t u_plen,
 
     return (*node == NULL) ? -ESRCH : 0;
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 struct dt_device_node *dt_find_node_by_alias(const char *alias)
 {
diff --git a/xen/drivers/passthrough/amd/pci_amd_iommu.c b/xen/drivers/passthrough/amd/pci_amd_iommu.c
index 3a14770855..5786bf0c59 100644
--- a/xen/drivers/passthrough/amd/pci_amd_iommu.c
+++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c
@@ -461,6 +461,7 @@ static void amd_iommu_disable_domain_device(const struct domain *domain,
         spin_unlock_irqrestore(&iommu->lock, flags);
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 static int cf_check reassign_device(
     struct domain *source, struct domain *target, u8 devfn,
     struct pci_dev *pdev)
@@ -550,6 +551,7 @@ static int cf_check amd_iommu_assign_device(
 
     return rc;
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 static void cf_check amd_iommu_clear_root_pgtable(struct domain *d)
 {
@@ -698,12 +700,14 @@ static int cf_check amd_iommu_remove_device(u8 devfn, struct pci_dev *pdev)
     return 0;
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 static int cf_check amd_iommu_group_id(u16 seg, u8 bus, u8 devfn)
 {
     unsigned int bdf = PCI_BDF(bus, devfn);
 
     return (bdf < ivrs_bdf_entries) ? get_dma_requestor_id(seg, bdf) : bdf;
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 #include <asm/io_apic.h>
 
@@ -772,14 +776,18 @@ static const struct iommu_ops __initconst_cf_clobber _iommu_ops = {
     .quarantine_init = amd_iommu_quarantine_init,
     .add_device = amd_iommu_add_device,
     .remove_device = amd_iommu_remove_device,
+#ifdef CONFIG_MGMT_HYPERCALLS
     .assign_device  = amd_iommu_assign_device,
+#endif
     .teardown = amd_iommu_domain_destroy,
     .clear_root_pgtable = amd_iommu_clear_root_pgtable,
     .map_page = amd_iommu_map_page,
     .unmap_page = amd_iommu_unmap_page,
     .iotlb_flush = amd_iommu_flush_iotlb_pages,
+#ifdef CONFIG_MGMT_HYPERCALLS
     .reassign_device = reassign_device,
     .get_device_group_id = amd_iommu_group_id,
+#endif
     .enable_x2apic = iov_enable_xt,
     .update_ire_from_apic = amd_iommu_ioapic_update_ire,
     .update_ire_from_msi = amd_iommu_msi_msg_update_ire,
diff --git a/xen/drivers/passthrough/arm/ipmmu-vmsa.c b/xen/drivers/passthrough/arm/ipmmu-vmsa.c
index ea9fa9ddf3..023febc424 100644
--- a/xen/drivers/passthrough/arm/ipmmu-vmsa.c
+++ b/xen/drivers/passthrough/arm/ipmmu-vmsa.c
@@ -739,6 +739,7 @@ static int ipmmu_attach_device(struct ipmmu_vmsa_domain *domain,
     return 0;
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 static void ipmmu_detach_device(struct ipmmu_vmsa_domain *domain,
                                 struct device *dev)
 {
@@ -748,6 +749,7 @@ static void ipmmu_detach_device(struct ipmmu_vmsa_domain *domain,
     for ( i = 0; i < fwspec->num_ids; ++i )
         ipmmu_utlb_disable(domain, fwspec->ids[i]);
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 static int ipmmu_init_platform_device(struct device *dev,
                                       const struct dt_phandle_args *args)
@@ -1138,7 +1140,9 @@ static void ipmmu_free_root_domain(struct ipmmu_vmsa_domain *domain)
     xfree(domain);
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 static int ipmmu_deassign_device(struct domain *d, struct device *dev);
+#endif
 
 static int ipmmu_assign_device(struct domain *d, u8 devfn, struct device *dev,
                                uint32_t flag)
@@ -1254,6 +1258,7 @@ out:
     return ret;
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 static int ipmmu_deassign_device(struct domain *d, struct device *dev)
 {
     struct ipmmu_vmsa_xen_domain *xen_domain = dom_iommu(d)->arch.priv;
@@ -1309,6 +1314,7 @@ static int ipmmu_reassign_device(struct domain *s, struct domain *t,
 
     return 0;
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 static int ipmmu_dt_xlate(struct device *dev,
                           const struct dt_phandle_args *spec)
@@ -1487,7 +1493,9 @@ static const struct iommu_ops ipmmu_iommu_ops =
     .teardown        = ipmmu_iommu_domain_teardown,
     .iotlb_flush     = ipmmu_iotlb_flush,
     .assign_device   = ipmmu_assign_device,
+#ifdef CONFIG_MGMT_HYPERCALLS
     .reassign_device = ipmmu_reassign_device,
+#endif
     .map_page        = arm_iommu_map_page,
     .unmap_page      = arm_iommu_unmap_page,
     .dt_xlate        = ipmmu_dt_xlate,
diff --git a/xen/drivers/passthrough/arm/smmu-v3.c b/xen/drivers/passthrough/arm/smmu-v3.c
index bf153227db..22def57b03 100644
--- a/xen/drivers/passthrough/arm/smmu-v3.c
+++ b/xen/drivers/passthrough/arm/smmu-v3.c
@@ -2759,6 +2759,7 @@ out:
 	return ret;
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 static int arm_smmu_deassign_dev(struct domain *d, uint8_t devfn, struct device *dev)
 {
 	struct iommu_domain *io_domain = arm_smmu_get_domain(d, dev);
@@ -2826,6 +2827,7 @@ static int arm_smmu_reassign_dev(struct domain *s, struct domain *t,
 
 	return 0;
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 static int arm_smmu_iommu_xen_domain_init(struct domain *d)
 {
@@ -2862,7 +2864,9 @@ static const struct iommu_ops arm_smmu_iommu_ops = {
 	.teardown		= arm_smmu_iommu_xen_domain_teardown,
 	.iotlb_flush		= arm_smmu_iotlb_flush,
 	.assign_device		= arm_smmu_assign_dev,
+#ifdef CONFIG_MGMT_HYPERCALLS
 	.reassign_device	= arm_smmu_reassign_dev,
+#endif
 	.map_page		= arm_iommu_map_page,
 	.unmap_page		= arm_iommu_unmap_page,
 	.dt_xlate		= arm_smmu_dt_xlate,
diff --git a/xen/drivers/passthrough/arm/smmu.c b/xen/drivers/passthrough/arm/smmu.c
index 22d306d0cb..51c1bf4f08 100644
--- a/xen/drivers/passthrough/arm/smmu.c
+++ b/xen/drivers/passthrough/arm/smmu.c
@@ -894,8 +894,10 @@ static int register_smmu_master(struct arm_smmu_device *smmu,
 /* Forward declaration */
 static int arm_smmu_assign_dev(struct domain *d, u8 devfn,
 			       struct device *dev, u32 flag);
+#ifdef CONFIG_MGMT_HYPERCALLS
 static int arm_smmu_deassign_dev(struct domain *d, uint8_t devfn,
 				 struct device *dev);
+#endif
 
 /*
  * The driver which supports generic IOMMU DT bindings must have this
@@ -1699,6 +1701,7 @@ static int arm_smmu_domain_add_master(struct arm_smmu_domain *smmu_domain,
 	return 0;
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 static void arm_smmu_domain_remove_master(
 				const struct arm_smmu_domain *smmu_domain,
 				struct arm_smmu_master_cfg *cfg)
@@ -1713,6 +1716,7 @@ static void arm_smmu_domain_remove_master(
 		arm_smmu_write_s2cr(smmu, idx);
 	}
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 static int arm_smmu_attach_dev(struct iommu_domain *domain, struct device *dev)
 {
@@ -1761,6 +1765,7 @@ static int arm_smmu_attach_dev(struct iommu_domain *domain, struct device *dev)
 	return arm_smmu_domain_add_master(smmu_domain, cfg);
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 static void arm_smmu_detach_dev(struct iommu_domain *domain, struct device *dev)
 {
 	struct arm_smmu_domain *smmu_domain = domain->priv;
@@ -1770,6 +1775,7 @@ static void arm_smmu_detach_dev(struct iommu_domain *domain, struct device *dev)
 		arm_smmu_domain_remove_master(smmu_domain, cfg);
 
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 #if 0 /*
        * Xen: The page table is shared with the processor, therefore
@@ -2849,6 +2855,7 @@ out:
 	return ret;
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 static int arm_smmu_deassign_dev(struct domain *d, uint8_t devfn,
 				 struct device *dev)
 {
@@ -2918,6 +2925,7 @@ static int arm_smmu_reassign_dev(struct domain *s, struct domain *t,
 
 	return 0;
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 static int arm_smmu_iommu_domain_init(struct domain *d)
 {
@@ -2956,7 +2964,9 @@ static const struct iommu_ops arm_smmu_iommu_ops = {
     .teardown = arm_smmu_iommu_domain_teardown,
     .iotlb_flush = arm_smmu_iotlb_flush,
     .assign_device = arm_smmu_assign_dev,
+#ifdef CONFIG_MGMT_HYPERCALLS
     .reassign_device = arm_smmu_reassign_dev,
+#endif
     .map_page = arm_iommu_map_page,
     .unmap_page = arm_iommu_unmap_page,
     .dt_xlate = arm_smmu_dt_xlate_generic,
diff --git a/xen/drivers/passthrough/device_tree.c b/xen/drivers/passthrough/device_tree.c
index 015ffa15d4..09ac740fb2 100644
--- a/xen/drivers/passthrough/device_tree.c
+++ b/xen/drivers/passthrough/device_tree.c
@@ -59,6 +59,7 @@ fail:
     return rc;
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 int iommu_deassign_dt_device(struct domain *d, struct dt_device_node *dev)
 {
     const struct domain_iommu *hd = dom_iommu(d);
@@ -100,6 +101,7 @@ static bool iommu_dt_device_is_assigned_locked(const struct dt_device_node *dev)
 
     return assigned;
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 int iommu_dt_domain_init(struct domain *d)
 {
@@ -212,6 +214,7 @@ int iommu_add_dt_pci_sideband_ids(struct pci_dev *pdev)
 }
 #endif /* CONFIG_HAS_PCI */
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 int iommu_remove_dt_device(struct dt_device_node *np)
 {
     const struct iommu_ops *ops = iommu_get_ops();
@@ -256,6 +259,7 @@ int iommu_remove_dt_device(struct dt_device_node *np)
     spin_unlock(&dtdevs_lock);
     return rc;
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 int iommu_add_dt_device(struct dt_device_node *np)
 {
@@ -320,6 +324,7 @@ int iommu_add_dt_device(struct dt_device_node *np)
     return rc;
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
                        XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
 {
@@ -431,3 +436,4 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
 
     return ret;
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
diff --git a/xen/drivers/passthrough/iommu.c b/xen/drivers/passthrough/iommu.c
index c9425d6971..8812e38174 100644
--- a/xen/drivers/passthrough/iommu.c
+++ b/xen/drivers/passthrough/iommu.c
@@ -625,6 +625,7 @@ void iommu_resume(void)
         iommu_vcall(iommu_get_ops(), resume);
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 int iommu_do_domctl(
     struct xen_domctl *domctl, struct domain *d,
     XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
@@ -645,6 +646,7 @@ int iommu_do_domctl(
 
     return ret;
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 void iommu_crash_shutdown(void)
 {
diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
index cd855108c2..aa07a7e748 100644
--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -877,6 +877,7 @@ int pci_remove_device(u16 seg, u8 bus, u8 devfn)
     return ret;
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 /* Caller should hold the pcidevs_lock */
 static int deassign_device(struct domain *d, uint16_t seg, uint8_t bus,
                            uint8_t devfn)
@@ -945,7 +946,6 @@ static int deassign_device(struct domain *d, uint16_t seg, uint8_t bus,
     return ret;
 }
 
-#ifdef CONFIG_MGMT_HYPERCALLS
 int pci_release_devices(struct domain *d)
 {
     int combined_ret;
@@ -1483,6 +1483,7 @@ static int iommu_remove_device(struct pci_dev *pdev)
     return iommu_call(hd->platform_ops, remove_device, devfn, pci_to_dev(pdev));
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 static int device_assigned(u16 seg, u8 bus, u8 devfn)
 {
     struct pci_dev *pdev;
@@ -1646,6 +1647,7 @@ static int iommu_get_device_group(
 
     return i;
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 void iommu_dev_iotlb_flush_timeout(struct domain *d, struct pci_dev *pdev)
 {
@@ -1671,6 +1673,7 @@ void iommu_dev_iotlb_flush_timeout(struct domain *d, struct pci_dev *pdev)
     pcidevs_unlock();
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 int iommu_do_pci_domctl(
     struct xen_domctl *domctl, struct domain *d,
     XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
@@ -1804,6 +1807,7 @@ int iommu_do_pci_domctl(
 
     return ret;
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 struct segment_iter {
     int (*handler)(struct pci_dev *pdev, void *arg);
diff --git a/xen/drivers/passthrough/vtd/iommu.c b/xen/drivers/passthrough/vtd/iommu.c
index b4105163cc..8913dd4d5f 100644
--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -2731,6 +2731,7 @@ static int __init cf_check vtd_setup(void)
     return ret;
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 static int cf_check reassign_device_ownership(
     struct domain *source,
     struct domain *target,
@@ -2926,6 +2927,7 @@ static int cf_check intel_iommu_group_id(u16 seg, u8 bus, u8 devfn)
 
     return PCI_BDF(bus, devfn);
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 static int __must_check cf_check vtd_suspend(void)
 {
@@ -3234,14 +3236,18 @@ static const struct iommu_ops __initconst_cf_clobber vtd_ops = {
     .add_device = intel_iommu_add_device,
     .enable_device = intel_iommu_enable_device,
     .remove_device = intel_iommu_remove_device,
+#ifdef CONFIG_MGMT_HYPERCALLS
     .assign_device  = intel_iommu_assign_device,
+#endif
     .teardown = iommu_domain_teardown,
     .clear_root_pgtable = iommu_clear_root_pgtable,
     .map_page = intel_iommu_map_page,
     .unmap_page = intel_iommu_unmap_page,
     .lookup_page = intel_iommu_lookup_page,
+#ifdef CONFIG_MGMT_HYPERCALLS
     .reassign_device = reassign_device_ownership,
     .get_device_group_id = intel_iommu_group_id,
+#endif
     .enable_x2apic = intel_iommu_enable_eim,
     .disable_x2apic = intel_iommu_disable_eim,
     .update_ire_from_apic = io_apic_write_remap_rte,
diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h
index a598d74f1f..f53492bedc 100644
--- a/xen/include/xsm/dummy.h
+++ b/xen/include/xsm/dummy.h
@@ -407,7 +407,8 @@ static XSM_INLINE int cf_check xsm_get_vnumainfo(
     return xsm_default_action(action, current->domain, d);
 }
 
-#if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_HAS_PCI)
+#if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_MGMT_HYPERCALLS)
+#ifdef CONFIG_HAS_PCI
 static XSM_INLINE int cf_check xsm_get_device_group(
     XSM_DEFAULT_ARG uint32_t machine_bdf)
 {
@@ -428,10 +429,9 @@ static XSM_INLINE int cf_check xsm_deassign_device(
     XSM_ASSERT_ACTION(XSM_HOOK);
     return xsm_default_action(action, current->domain, d);
 }
+#endif /* CONFIG_HAS_PCI */
 
-#endif /* HAS_PASSTHROUGH && HAS_PCI */
-
-#if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_HAS_DEVICE_TREE_DISCOVERY)
+#ifdef CONFIG_HAS_DEVICE_TREE_DISCOVERY
 static XSM_INLINE int cf_check xsm_assign_dtdevice(
     XSM_DEFAULT_ARG struct domain *d, const char *dtpath)
 {
@@ -445,8 +445,8 @@ static XSM_INLINE int cf_check xsm_deassign_dtdevice(
     XSM_ASSERT_ACTION(XSM_HOOK);
     return xsm_default_action(action, current->domain, d);
 }
-
-#endif /* HAS_PASSTHROUGH && HAS_DEVICE_TREE_DISCOVERY */
+#endif /* CONFIG_HAS_DEVICE_TREE_DISCOVERY */
+#endif /* CONFIG_HAS_PASSTHROUGH && CONFIG_MGMT_HYPERCALLS */
 
 static XSM_INLINE int cf_check xsm_resource_plug_core(XSM_DEFAULT_VOID)
 {
diff --git a/xen/include/xsm/xsm.h b/xen/include/xsm/xsm.h
index 154a4b8a92..c9a2b895b1 100644
--- a/xen/include/xsm/xsm.h
+++ b/xen/include/xsm/xsm.h
@@ -123,16 +123,18 @@ struct xsm_ops {
     int (*pci_config_permission)(struct domain *d, uint32_t machine_bdf,
                                  uint16_t start, uint16_t end, uint8_t access);
 
-#if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_HAS_PCI)
+#if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_MGMT_HYPERCALLS)
+#ifdef CONFIG_HAS_PCI
     int (*get_device_group)(uint32_t machine_bdf);
     int (*assign_device)(struct domain *d, uint32_t machine_bdf);
     int (*deassign_device)(struct domain *d, uint32_t machine_bdf);
-#endif
+#endif /* CONFIG_HAS_PCI */
 
-#if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_HAS_DEVICE_TREE_DISCOVERY)
+#ifdef CONFIG_HAS_DEVICE_TREE_DISCOVERY
     int (*assign_dtdevice)(struct domain *d, const char *dtpath);
     int (*deassign_dtdevice)(struct domain *d, const char *dtpath);
-#endif
+#endif /* CONFIG_HAS_DEVICE_TREE_DISCOVERY */
+#endif /* CONFIG_HAS_PASSTHROUGH && CONFIG_MGMT_HYPERCALLS */
 
     int (*resource_plug_core)(void);
     int (*resource_unplug_core)(void);
@@ -524,7 +526,8 @@ static inline int xsm_pci_config_permission(
     return alternative_call(xsm_ops.pci_config_permission, d, machine_bdf, start, end, access);
 }
 
-#if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_HAS_PCI)
+#if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_MGMT_HYPERCALLS)
+#ifdef CONFIG_HAS_PCI
 static inline int xsm_get_device_group(xsm_default_t def, uint32_t machine_bdf)
 {
     return alternative_call(xsm_ops.get_device_group, machine_bdf);
@@ -541,9 +544,9 @@ static inline int xsm_deassign_device(
 {
     return alternative_call(xsm_ops.deassign_device, d, machine_bdf);
 }
-#endif /* HAS_PASSTHROUGH && HAS_PCI) */
+#endif /* CONFIG_HAS_PCI */
 
-#if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_HAS_DEVICE_TREE_DISCOVERY)
+#ifdef CONFIG_HAS_DEVICE_TREE_DISCOVERY
 static inline int xsm_assign_dtdevice(
     xsm_default_t def, struct domain *d, const char *dtpath)
 {
@@ -555,8 +558,8 @@ static inline int xsm_deassign_dtdevice(
 {
     return alternative_call(xsm_ops.deassign_dtdevice, d, dtpath);
 }
-
-#endif /* HAS_PASSTHROUGH && HAS_DEVICE_TREE_DISCOVERY */
+#endif /* CONFIG_HAS_DEVICE_TREE_DISCOVERY */
+#endif /* CONFIG_HAS_PASSTHROUGH && CONFIG_MGMT_HYPERCALLS */
 
 static inline int xsm_resource_plug_pci(xsm_default_t def, uint32_t machine_bdf)
 {
diff --git a/xen/xsm/dummy.c b/xen/xsm/dummy.c
index 9774bb3bdb..f2a22fed92 100644
--- a/xen/xsm/dummy.c
+++ b/xen/xsm/dummy.c
@@ -80,16 +80,18 @@ static const struct xsm_ops __initconst_cf_clobber dummy_ops = {
     .pci_config_permission         = xsm_pci_config_permission,
     .get_vnumainfo                 = xsm_get_vnumainfo,
 
-#if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_HAS_PCI)
+#if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_MGMT_HYPERCALLS)
+#ifdef CONFIG_HAS_PCI
     .get_device_group              = xsm_get_device_group,
     .assign_device                 = xsm_assign_device,
     .deassign_device               = xsm_deassign_device,
-#endif
+#endif /* CONFIG_HAS_PCI */
 
-#if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_HAS_DEVICE_TREE_DISCOVERY)
+#ifdef CONFIG_HAS_DEVICE_TREE_DISCOVERY
     .assign_dtdevice               = xsm_assign_dtdevice,
     .deassign_dtdevice             = xsm_deassign_dtdevice,
-#endif
+#endif /* CONFIG_HAS_DEVICE_TREE_DISCOVERY */
+#endif /* CONFIG_HAS_PASSTHROUGH && CONFIG_MGMT_HYPERCALLS */
 
     .resource_plug_core            = xsm_resource_plug_core,
     .resource_unplug_core          = xsm_resource_unplug_core,
diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c
index 9b63c516e6..f761f8b384 100644
--- a/xen/xsm/flask/hooks.c
+++ b/xen/xsm/flask/hooks.c
@@ -1388,7 +1388,8 @@ static int cf_check flask_mem_sharing(struct domain *d)
 }
 #endif
 
-#if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_HAS_PCI)
+#if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_MGMT_HYPERCALLS)
+#ifdef CONFIG_HAS_PCI
 static int cf_check flask_get_device_group(uint32_t machine_bdf)
 {
     uint32_t rsid;
@@ -1459,9 +1460,9 @@ static int cf_check flask_deassign_device(
 
     return avc_current_has_perm(rsid, SECCLASS_RESOURCE, RESOURCE__REMOVE_DEVICE, NULL);
 }
-#endif /* HAS_PASSTHROUGH && HAS_PCI */
+#endif /* CONFIG_HAS_PCI */
 
-#if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_HAS_DEVICE_TREE_DISCOVERY)
+#ifdef CONFIG_HAS_DEVICE_TREE_DISCOVERY
 static int flask_test_assign_dtdevice(const char *dtpath)
 {
     uint32_t rsid;
@@ -1522,7 +1523,8 @@ static int cf_check flask_deassign_dtdevice(
     return avc_current_has_perm(rsid, SECCLASS_RESOURCE, RESOURCE__REMOVE_DEVICE,
                                 NULL);
 }
-#endif /* HAS_PASSTHROUGH && HAS_DEVICE_TREE_DISCOVERY */
+#endif /* CONFIG_HAS_DEVICE_TREE_DISCOVERY */
+#endif /* CONFIG_HAS_PASSTHROUGH  && CONFIG_MGMT_HYPERCALLS */
 
 static int cf_check flask_platform_op(uint32_t op)
 {
@@ -1987,16 +1989,18 @@ static const struct xsm_ops __initconst_cf_clobber flask_ops = {
     .remove_from_physmap = flask_remove_from_physmap,
     .map_gmfn_foreign = flask_map_gmfn_foreign,
 
-#if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_HAS_PCI)
+#if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_MGMT_HYPERCALLS)
+#ifdef CONFIG_HAS_PCI
     .get_device_group = flask_get_device_group,
     .assign_device = flask_assign_device,
     .deassign_device = flask_deassign_device,
-#endif
+#endif /* CONFIG_HAS_PCI */
 
-#if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_HAS_DEVICE_TREE_DISCOVERY)
+#ifdef CONFIG_HAS_DEVICE_TREE_DISCOVERY
     .assign_dtdevice = flask_assign_dtdevice,
     .deassign_dtdevice = flask_deassign_dtdevice,
-#endif
+#endif /* CONFIG_HAS_DEVICE_TREE_DISCOVERY */
+#endif /* CONFIG_HAS_PASSTHROUGH && CONFIG_MGMT_HYPERCALLS */
 
     .platform_op = flask_platform_op,
 #ifdef CONFIG_X86
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Oct 13 10:27:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 10:27:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142049.1476313 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8Fll-0007n6-5U; Mon, 13 Oct 2025 10:27:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142049.1476313; Mon, 13 Oct 2025 10:27:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8Flk-0007mE-Uq; Mon, 13 Oct 2025 10:27:08 +0000
Received: by outflank-mailman (input) for mailman id 1142049;
 Mon, 13 Oct 2025 10:27:08 +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
 <SRS0=gL+L=4W=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1v8Fcg-0004Rd-1Q
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 10:17:46 +0000
Received: from SN4PR2101CU001.outbound.protection.outlook.com
 (mail-southcentralusazlp170120001.outbound.protection.outlook.com
 [2a01:111:f403:c10d::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id db207036-a81d-11f0-980a-7dc792cee155;
 Mon, 13 Oct 2025 12:17:44 +0200 (CEST)
Received: from BLAPR05CA0044.namprd05.prod.outlook.com (2603:10b6:208:335::27)
 by SJ1PR12MB6265.namprd12.prod.outlook.com (2603:10b6:a03:458::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.12; Mon, 13 Oct
 2025 10:17:39 +0000
Received: from BN2PEPF000055DC.namprd21.prod.outlook.com
 (2603:10b6:208:335:cafe::b) by BLAPR05CA0044.outlook.office365.com
 (2603:10b6:208:335::27) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9228.9 via Frontend Transport; Mon,
 13 Oct 2025 10:17:39 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 BN2PEPF000055DC.mail.protection.outlook.com (10.167.245.6) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9253.0 via Frontend Transport; Mon, 13 Oct 2025 10:17:39 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) by
 satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.2562.17; Mon, 13 Oct 2025 03:17:36 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: db207036-a81d-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=p1Z6kGRAtrwLzuDfy/5mih1goNEAYHVMTGmf/WkUK7j3alDgoqSp8SlrrNxfvpwmsZP2LHIDs8JMRgiZTPxvL6IZKuHdj7MLKhgc6hwYMkwZi27/TNzvcYs2679zXB37KFjmE1pjFAHPFhyOSXyDEQ2QQrb7CrioFksu6Z05FWO/dsloyhLhLMYafk0TbgP2PPAkDofAqVGMqZIZUa1Os4T3zCkAj7yHQHJZvUbhqJB5hC9lon5yYBWwczLzTIUjY/024fuEOtuFZmyTO3bpAek0xce8PAlDaSS0z6Z7bu9tTqjE5kqg4ivdRnvT8fHnJ8KMNuFTX1afAaRyDGRTGg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9e+sPcq234P3COkqJfCRUTWhHt5xA+0WRfwnjxSR66M=;
 b=RiPxDQktdhCdSTFAqtLPSy3oJZ0FzdYGIVLTgfOsD63cI6pEtkLluXzkD1YMAsHTq1YGZRAGrWZWQRbCi6WNVqAJ1Sx7/zBKY6keXOMtOkbjE/mOSK+/FRTPT7A4VzQM7d/W9COpKd4qHBGLywbBSEC0wnnA5RpdASc48WVIeFdJ5sbG9U2okqbzNV3uymnk6hmO5ToyAb7105H9au5orlHdnk+R+qCoG5zaR503i1qU/XO84b0DB2EXxRF9Mq8CPT/NnyGPed95AP5HZX8Sw0UlsnqLiFeUFQzVcg7dX8bJNsqMlSpegMjc9+F3KIH25IrU7bkCbauSXelAhy3Elw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9e+sPcq234P3COkqJfCRUTWhHt5xA+0WRfwnjxSR66M=;
 b=HLY9DG56ZE5L5UYr6Wr84J2R2HI5i+kEEfRQAFyh1tH850B39Xqh0gGXyb7P39CmmW7Wqu0cLPVztKlabj2+Phjgnr6+KrGNxp1n/b8uVE7yEE/bs09d5eLxY42zM5S+nPLVQSKHp5eqYUyn224dAiv+10ZjBUvUyFIw1XqREFc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.com>, <oleksii.kurochko@gmail.com>, Penny Zheng
	<Penny.Zheng@amd.com>, Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>
Subject: [PATCH v3 25/28] xen/domctl: avoid unreachable codes when both MGMT_HYPERCALLS and MEM_SHARING unset
Date: Mon, 13 Oct 2025 18:15:37 +0800
Message-ID: <20251013101540.3502842-26-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20251013101540.3502842-1-Penny.Zheng@amd.com>
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN2PEPF000055DC:EE_|SJ1PR12MB6265:EE_
X-MS-Office365-Filtering-Correlation-Id: b5603d38-9ff9-435b-a0d7-08de0a41bcd5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|376014|1800799024|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?pejuA80FjutagzWwrxZnYSVEnQcBHVUnffS2Y0EgHwzPRKKKnJDKljpO9zHy?=
 =?us-ascii?Q?p/AvIyFgH3ipm0LkhuVm05ka6ZqTUeqaMyyAvbH5GOcau7dTI6Hwp77DJ68I?=
 =?us-ascii?Q?J1pD8/9gDha27YdTihbHuGUgBwQ9JuZ03ygoJztGbJ8v1L8ozKDsMqknIySc?=
 =?us-ascii?Q?KJDfycdF6Y6fubxMizLgjxL28CSRE6vwFSePTkFQAeau01vm+85bQdAgna/8?=
 =?us-ascii?Q?w3ZDxQLiecguO2nIOJfCtijZRjpc5zPFYrGcSkUQTCgQ2KLNDAS19A8GCdYq?=
 =?us-ascii?Q?ZZlUy9ODWeu/l6F8uriWWX/U9338DscNbzA/oeqrSJDo2BKqZNkEfs/RjAvG?=
 =?us-ascii?Q?+JCWb10qtuP4IR90nnYiuJzQ6GHyzIbhW3JdzXziu8ewiP/roaatXYncGSsZ?=
 =?us-ascii?Q?EHVdutX+MaFnKaAgAqwMeT7irlvdeAKT8x8x/Ce4z6961Vx3O9zfB8o36KJD?=
 =?us-ascii?Q?mPxhaddM2vpvInoiw7HpLK1CvPzf5rToiwZlXKWaiWz2DzXJ1xEW/0cMPVEG?=
 =?us-ascii?Q?/OwOLPVwdee5T1v6wgI/IzV2Qm2BH1sQ+zpymLQTVM19ZbjojOWEUvj9BeW6?=
 =?us-ascii?Q?Yqg8KRwws37f4emrVeuGB9R3CysokqIq6iBxJ744Zlyp3lOaw37x25v+1lbN?=
 =?us-ascii?Q?4/ZjYdiD9qxWVCPB1RQpMMBTiA0ePRWdP9zksoIMf3yjTI7yCUyWKk9XQt+d?=
 =?us-ascii?Q?z7wzMY/UkbSJt+Ryth2dHJceRrADc6fLrcslrdnnPIsGcK5T4B6U2QHTkhyT?=
 =?us-ascii?Q?WzmQ4y1WdErcIXhKtePK0d90UiDz6YOKGcmNbECHIwe0sePJo2tQNm+eLEGe?=
 =?us-ascii?Q?4rt9SCbJwk1n5m+mJj2CZjqfmBvR3FCNTBMH2eSYagi/zMzJnlRYkySHzItd?=
 =?us-ascii?Q?Bo9f3Hvw/gKa9WnKXjJ31ymJGb1PO/GfMsaagDnKyVlunfhiABe3rNaGvamS?=
 =?us-ascii?Q?pDdfdICEZkaDjchrA4qZTUeAZ/iXbXAWC0LX/050yqkB1+IN1z01pc14OvZX?=
 =?us-ascii?Q?Eht6Se17lgZdkC7iQ3+L58O7HbaFA7ZYkhHqv8SboOUzc/UlFzCV47qi3LJ6?=
 =?us-ascii?Q?pFK4ecjD/k6LQsnHV2ZWtn088ErX4ORNFhPyupHBauOQsuo3N3xSgN+rOMO8?=
 =?us-ascii?Q?aZ4DaqXSRn+NCdXzwb7XgFHsMa5pFqAOqg0RlRYtICraQZmp1OsYQ0ZK7bLg?=
 =?us-ascii?Q?Rr5rPUyCnKcTazdLUdNgwWuZp0CBvJqF2n0iHtB4SG9/fnrri3U6Ed8yqyUw?=
 =?us-ascii?Q?11derbwCNW01YnLdLv1Sp/Qg5WqH7T1i9YWoWIK+H2zcRG4O9b4iwpON8VB+?=
 =?us-ascii?Q?0e9TrXTJ28if0VkvZr9BaYUjxIxir1dVr3/nokBH6zNqa3U7lZBMn3d7pFB4?=
 =?us-ascii?Q?hcomH76I6scy9rlxwiUshSyo8pLK5HRnCpB0cPjYkduH6D+0oW6k1bs3WyKV?=
 =?us-ascii?Q?jI55QurZtnCQee5GK3Fth3dBFtTocSK2BkmRj8/AT+s3UzNPc8siA19RDnvq?=
 =?us-ascii?Q?OKZaGbMLwxjDH1kSa6lqPKY+O3GYciV2wWLvYCY/fx231U3Erg5jq6eO4Fvl?=
 =?us-ascii?Q?qFs118riejKMPML9250=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(376014)(1800799024)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2025 10:17:39.0020
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b5603d38-9ff9-435b-a0d7-08de0a41bcd5
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN2PEPF000055DC.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ1PR12MB6265

The following functions have been referenced in places which is either guarded
with CONFIG_MGMT_HYPERCALLS or CONFIG_MEM_SHARING:
- arch_hvm_save
- arch_hvm_check
- arch_hvm_load
- hvm_save_size
- hvm_save
- hvm_load
- hvm_vmtrace_reset
So they shall be wrapped under OR relationship, otherwise they will become
unreachable codes when MGMT_HYPERCALLS=n && MEM_SHARING=n, and hence violating
Misra rule 2.1.
We move arch_hvm_save(), arch_hvm_check(), arch_hvm_load() and hvm_save_size()
nearer to the left functions, to avoid scattered #ifdef-wrapping.

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
v2 -> v3
- new commit
---
 xen/arch/x86/hvm/save.c            | 154 +++++++++++++++--------------
 xen/arch/x86/hvm/vmx/vmx.c         |   4 +
 xen/arch/x86/include/asm/hvm/hvm.h |   4 +
 3 files changed, 86 insertions(+), 76 deletions(-)

diff --git a/xen/arch/x86/hvm/save.c b/xen/arch/x86/hvm/save.c
index 8ab6405706..47050e13b6 100644
--- a/xen/arch/x86/hvm/save.c
+++ b/xen/arch/x86/hvm/save.c
@@ -15,62 +15,6 @@
 
 #include <public/hvm/save.h>
 
-static void arch_hvm_save(struct domain *d, struct hvm_save_header *hdr)
-{
-    uint32_t eax, ebx, ecx, edx;
-
-    /* Save some CPUID bits */
-    cpuid(1, &eax, &ebx, &ecx, &edx);
-    hdr->cpuid = eax;
-
-    /* Save guest's preferred TSC. */
-    hdr->gtsc_khz = d->arch.tsc_khz;
-
-    /* Time when saving started */
-    d->arch.hvm.sync_tsc = rdtsc();
-}
-
-static int arch_hvm_check(const struct domain *d,
-                          const struct hvm_save_header *hdr)
-{
-    uint32_t eax, ebx, ecx, edx;
-
-    if ( hdr->magic != HVM_FILE_MAGIC )
-    {
-        printk(XENLOG_G_ERR "HVM%d restore: bad magic number %#"PRIx32"\n",
-               d->domain_id, hdr->magic);
-        return -EINVAL;
-    }
-
-    if ( hdr->version != HVM_FILE_VERSION )
-    {
-        printk(XENLOG_G_ERR "HVM%d restore: unsupported version %u\n",
-               d->domain_id, hdr->version);
-        return -EINVAL;
-    }
-
-    cpuid(1, &eax, &ebx, &ecx, &edx);
-    /* CPUs ought to match but with feature-masking they might not */
-    if ( (hdr->cpuid & ~0x0fUL) != (eax & ~0x0fUL) )
-        printk(XENLOG_G_INFO "HVM%d restore: VM saved on one CPU "
-               "(%#"PRIx32") and restored on another (%#"PRIx32").\n",
-               d->domain_id, hdr->cpuid, eax);
-
-    return 0;
-}
-
-static void arch_hvm_load(struct domain *d, const struct hvm_save_header *hdr)
-{
-    /* Restore guest's preferred TSC frequency. */
-    if ( hdr->gtsc_khz )
-        d->arch.tsc_khz = hdr->gtsc_khz;
-    if ( d->arch.vtsc )
-        hvm_set_rdtsc_exiting(d, 1);
-
-    /* Time when restore started  */
-    d->arch.hvm.sync_tsc = rdtsc();
-}
-
 /* List of handlers for various HVM save and restore types */
 static struct {
     hvm_save_handler save;
@@ -101,26 +45,6 @@ void __init hvm_register_savevm(uint16_t typecode,
     hvm_sr_handlers[typecode].kind = kind;
 }
 
-size_t hvm_save_size(struct domain *d)
-{
-    struct vcpu *v;
-    size_t sz;
-    int i;
-
-    /* Basic overhead for header and footer */
-    sz = (2 * sizeof (struct hvm_save_descriptor)) + HVM_SAVE_LENGTH(HEADER);
-
-    /* Plus space for each thing we will be saving */
-    for ( i = 0; i <= HVM_SAVE_CODE_MAX; i++ )
-        if ( hvm_sr_handlers[i].kind == HVMSR_PER_VCPU )
-            for_each_vcpu(d, v)
-                sz += hvm_sr_handlers[i].size;
-        else
-            sz += hvm_sr_handlers[i].size;
-
-    return sz;
-}
-
 /*
  * Extract a single instance of a save record, by marshalling all records of
  * that type and copying out the one we need.
@@ -196,6 +120,83 @@ int hvm_save_one(struct domain *d, unsigned int typecode, unsigned int instance,
     return rv;
 }
 
+#if defined(CONFIG_MGMT_HYPERCALLS) || defined(CONFIG_MEM_SHARING)
+static void arch_hvm_save(struct domain *d, struct hvm_save_header *hdr)
+{
+    uint32_t eax, ebx, ecx, edx;
+
+    /* Save some CPUID bits */
+    cpuid(1, &eax, &ebx, &ecx, &edx);
+    hdr->cpuid = eax;
+
+    /* Save guest's preferred TSC. */
+    hdr->gtsc_khz = d->arch.tsc_khz;
+
+    /* Time when saving started */
+    d->arch.hvm.sync_tsc = rdtsc();
+}
+
+static int arch_hvm_check(const struct domain *d,
+                          const struct hvm_save_header *hdr)
+{
+    uint32_t eax, ebx, ecx, edx;
+
+    if ( hdr->magic != HVM_FILE_MAGIC )
+    {
+        printk(XENLOG_G_ERR "HVM%d restore: bad magic number %#"PRIx32"\n",
+               d->domain_id, hdr->magic);
+        return -EINVAL;
+    }
+
+    if ( hdr->version != HVM_FILE_VERSION )
+    {
+        printk(XENLOG_G_ERR "HVM%d restore: unsupported version %u\n",
+               d->domain_id, hdr->version);
+        return -EINVAL;
+    }
+
+    cpuid(1, &eax, &ebx, &ecx, &edx);
+    /* CPUs ought to match but with feature-masking they might not */
+    if ( (hdr->cpuid & ~0x0fUL) != (eax & ~0x0fUL) )
+        printk(XENLOG_G_INFO "HVM%d restore: VM saved on one CPU "
+               "(%#"PRIx32") and restored on another (%#"PRIx32").\n",
+               d->domain_id, hdr->cpuid, eax);
+
+    return 0;
+}
+
+static void arch_hvm_load(struct domain *d, const struct hvm_save_header *hdr)
+{
+    /* Restore guest's preferred TSC frequency. */
+    if ( hdr->gtsc_khz )
+        d->arch.tsc_khz = hdr->gtsc_khz;
+    if ( d->arch.vtsc )
+        hvm_set_rdtsc_exiting(d, 1);
+
+    /* Time when restore started  */
+    d->arch.hvm.sync_tsc = rdtsc();
+}
+
+size_t hvm_save_size(struct domain *d)
+{
+    struct vcpu *v;
+    size_t sz;
+    unsigned int i;
+
+    /* Basic overhead for header and footer */
+    sz = (2 * sizeof (struct hvm_save_descriptor)) + HVM_SAVE_LENGTH(HEADER);
+
+    /* Plus space for each thing we will be saving */
+    for ( i = 0; i <= HVM_SAVE_CODE_MAX; i++ )
+        if ( hvm_sr_handlers[i].kind == HVMSR_PER_VCPU )
+            for_each_vcpu(d, v)
+                sz += hvm_sr_handlers[i].size;
+        else
+            sz += hvm_sr_handlers[i].size;
+
+    return sz;
+}
+
 int hvm_save(struct domain *d, hvm_domain_context_t *h)
 {
     char *c;
@@ -390,6 +391,7 @@ int hvm_load(struct domain *d, bool real, hvm_domain_context_t *h)
 
     /* Not reached */
 }
+#endif /* CONFIG_MGMT_HYPERCALLS || CONFIG_MEM_SHARING */
 
 int _hvm_init_entry(struct hvm_domain_context *h, uint16_t tc, uint16_t inst,
                     uint32_t len)
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 1996e139a0..4394990131 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -2701,6 +2701,7 @@ static int cf_check vmtrace_output_position(struct vcpu *v, uint64_t *pos)
     return v->arch.hvm.vmx.ipt_active;
 }
 
+#if defined(CONFIG_MGMT_HYPERCALLS) || defined(CONFIG_MEM_SHARING)
 static int cf_check vmtrace_reset(struct vcpu *v)
 {
     if ( !v->arch.hvm.vmx.ipt_active )
@@ -2710,6 +2711,7 @@ static int cf_check vmtrace_reset(struct vcpu *v)
     v->arch.msrs->rtit.status = 0;
     return 0;
 }
+#endif /* CONFIG_MGMT_HYPERCALLS || CONFIG_MEM_SHARING */
 
 static uint64_t cf_check vmx_get_reg(struct vcpu *v, unsigned int reg)
 {
@@ -2888,7 +2890,9 @@ static struct hvm_function_table __initdata_cf_clobber vmx_function_table = {
     .vmtrace_output_position = vmtrace_output_position,
     .vmtrace_set_option = vmtrace_set_option,
     .vmtrace_get_option = vmtrace_get_option,
+#if defined(CONFIG_MGMT_HYPERCALLS) || defined(CONFIG_MEM_SHARING)
     .vmtrace_reset = vmtrace_reset,
+#endif
 
     .get_reg = vmx_get_reg,
     .set_reg = vmx_set_reg,
diff --git a/xen/arch/x86/include/asm/hvm/hvm.h b/xen/arch/x86/include/asm/hvm/hvm.h
index 473cf24b83..9d6cb42d48 100644
--- a/xen/arch/x86/include/asm/hvm/hvm.h
+++ b/xen/arch/x86/include/asm/hvm/hvm.h
@@ -240,7 +240,9 @@ struct hvm_function_table {
     int (*vmtrace_output_position)(struct vcpu *v, uint64_t *pos);
     int (*vmtrace_set_option)(struct vcpu *v, uint64_t key, uint64_t value);
     int (*vmtrace_get_option)(struct vcpu *v, uint64_t key, uint64_t *value);
+#if defined(CONFIG_MGMT_HYPERCALLS) || defined(CONFIG_MEM_SHARING)
     int (*vmtrace_reset)(struct vcpu *v);
+#endif
 
     uint64_t (*get_reg)(struct vcpu *v, unsigned int reg);
     void (*set_reg)(struct vcpu *v, unsigned int reg, uint64_t val);
@@ -775,6 +777,7 @@ static inline int hvm_vmtrace_get_option(
     return -EOPNOTSUPP;
 }
 
+#if defined(CONFIG_MGMT_HYPERCALLS) || defined(CONFIG_MEM_SHARING)
 static inline int hvm_vmtrace_reset(struct vcpu *v)
 {
     if ( hvm_funcs.vmtrace_reset )
@@ -782,6 +785,7 @@ static inline int hvm_vmtrace_reset(struct vcpu *v)
 
     return -EOPNOTSUPP;
 }
+#endif /* CONFIG_MGMT_HYPERCALLS || CONFIG_MEM_SHARING */
 
 /*
  * Accessors for registers which have per-guest-type or per-vendor locations
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Oct 13 10:27:10 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 10:27:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142052.1476322 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8Flm-00089C-Km; Mon, 13 Oct 2025 10:27:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142052.1476322; Mon, 13 Oct 2025 10:27:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8Flm-00088d-Ay; Mon, 13 Oct 2025 10:27:10 +0000
Received: by outflank-mailman (input) for mailman id 1142052;
 Mon, 13 Oct 2025 10:27:08 +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
 <SRS0=gL+L=4W=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1v8FcU-0004Hi-IE
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 10:17:34 +0000
Received: from DM5PR21CU001.outbound.protection.outlook.com
 (mail-centralusazlp170110009.outbound.protection.outlook.com
 [2a01:111:f403:c111::9])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d57c1ca8-a81d-11f0-9d15-b5c5bf9af7f9;
 Mon, 13 Oct 2025 12:17:33 +0200 (CEST)
Received: from BN9PR03CA0377.namprd03.prod.outlook.com (2603:10b6:408:f7::22)
 by SN7PR12MB6741.namprd12.prod.outlook.com (2603:10b6:806:26f::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.12; Mon, 13 Oct
 2025 10:17:29 +0000
Received: from BN2PEPF000055DF.namprd21.prod.outlook.com
 (2603:10b6:408:f7:cafe::ec) by BN9PR03CA0377.outlook.office365.com
 (2603:10b6:408:f7::22) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9203.13 via Frontend Transport; Mon,
 13 Oct 2025 10:17:29 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 BN2PEPF000055DF.mail.protection.outlook.com (10.167.245.9) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9253.0 via Frontend Transport; Mon, 13 Oct 2025 10:17:29 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) by
 satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.2562.17; Mon, 13 Oct 2025 03:17:26 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d57c1ca8-a81d-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=vxndN7jmqCNh7N6AVpDN5wg1hpwjBMJTmZp1FHsmlC2cj8u+VMMkNDCj0+0vl5zZQwZEpm2aomgFHWUoE62ZJUd3EuLpbDIFz8HXInkC7KvDETPri7KbwKqulexzJV7zLu2+OK/YRDhc5MQtRgZSw7ziXUGYe+ubyS4VJyMtJL9/Y0hmzKpMR/Gm+okydg3RyOc0ZkvN3xmTyu5KYe3rhbd48iQfqeOKexK4UwCjuHnVy7B7tri5AInbxDkE3s71iR3YycozjuVgMq5cmrJb3LkYBrdpN9t7feKIwc43QAGHJGhTwlaQHP4B8Mfz5yX5b7yuQyoiJcucloOyMRjyJg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wwm19MfQLFYMEaHpF+50GvvhGNeqkRUXQdYfCrb3X5E=;
 b=ETfUd4d4qDSnH9P4ykkb21/skvieCxFY6gJyGoub6uVGF9KWGhyxbh1yMvlBmz74nsvqnwlek6naXMJAkw+/+U6IZBeSYorKAsVFE9PmfsWf8mCcPQsiUB74v5SPKmLpnMi3lIBYqAPrQewmIcl22nWHpMiXmW9pUbSvEGGW6qw7G1MSkH3J4KQyCviLEPt5ML/nSMc97UaZsX5lMn8T4BScqPNiunRMteMsVgffKYiCdgkrobq3IwuMeGBBSrVusqCeGI6asgbXb3IvKlYBmcHLkHJBSHJXKGKClMefNAWjPfhsiGi8UEhlnfYCk777F59ZdlKuwAbEIY9oDHtrRA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wwm19MfQLFYMEaHpF+50GvvhGNeqkRUXQdYfCrb3X5E=;
 b=LR5eixKyfGBQA4rVyswr6x7jkT7CNdnAHv8djdCdBLDBb++OlbxV6mkcYi36fCy6RR86lvTTSn4MDvAAyytOSEwhSVk5nLzXaNKAYibdKudk3kTlHYhNOVbTCZwxWYWL9prikT/25iU38ylDkPZvwO7WinWpkvaNbkBFFVIRiJ0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.com>, <oleksii.kurochko@gmail.com>, Penny Zheng
	<Penny.Zheng@amd.com>, "Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: [PATCH v3 21/28] xen/domctl: wrap xsm_set_target() with CONFIG_MGMT_HYPERCALLS
Date: Mon, 13 Oct 2025 18:15:33 +0800
Message-ID: <20251013101540.3502842-22-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20251013101540.3502842-1-Penny.Zheng@amd.com>
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN2PEPF000055DF:EE_|SN7PR12MB6741:EE_
X-MS-Office365-Filtering-Correlation-Id: 7b38ad51-f0b4-4753-a505-08de0a41b73c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|1800799024|376014|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?RplrwFe7MqOkNlUVFwcHdXkUXb/vCWqKh2RGErXr/qf0cpyERyE3VF/TqsUE?=
 =?us-ascii?Q?CFn99CTQUKDvcFIB6fWZCAqzvOVw4kEcoH04gvijbJ5ICyd3SFXaV0n/tWgx?=
 =?us-ascii?Q?YvEpyuiK0gNlGTS1h9sek+GzY1MXvAeiIOgc/Q6ViiwoNqUiV8JJ+RigGvLN?=
 =?us-ascii?Q?Osu0EP0Vy45un4w5oSQbmz+kYOAX9iivP6I4A/NAlbOWK4hh2WWoCE5e4hAS?=
 =?us-ascii?Q?3yCnx/0biXvl/cLxIfPADuBwtKkpMOuQ2HZ/AermS5ZsTrF8EQTHYnny9Ea7?=
 =?us-ascii?Q?XqWsZEq8zFEEMqfDJXQZE8dz9b3fkMX+ZcMLuWgQkd/4jRZZ0jI/VekOGYpU?=
 =?us-ascii?Q?pqb3Pwb9Prj2JY+AAr94BUGrhgeaYfjZk+8e+Vb3q739B35iRAGuYjhN99cp?=
 =?us-ascii?Q?DJf2xQm04RKPRCFx6a1c1OG3PbDvXPsfVizkE8GtcHDEg3xhE+BTzNjw2Jia?=
 =?us-ascii?Q?H1n/YMy1UMsYqD+5StjjuMxgTyPyAjDVi7UCRQGJ4y8606tExrXQQSe67c1W?=
 =?us-ascii?Q?hrwiQHXlT8oGdOBJPBDESZVGMyfV/q1EItpe98gqrT4Acv89YjNSz1doFpOI?=
 =?us-ascii?Q?aii4lJuw8StudfxvXcw0JAHruNoE3DgjrGBwN+leBohzedve5jnY2jfjHueg?=
 =?us-ascii?Q?BO1W4hyW3iQX11xCuzweFgVeHRFAxm3HsLo3anzCXbXPhxSMnISHLzwlBjK2?=
 =?us-ascii?Q?zfcjVrHK2Slx/0xlpJZ+j5fE76jlasynhi5gzLS9iuJbBP7r0s6BS/MBvtSY?=
 =?us-ascii?Q?jdjl0/Fp5Dr3ZF2/rDJYRWsoC6umzAXegSJxTxsSqKDIllOOIjlEBvGtFmfX?=
 =?us-ascii?Q?AFt9Y6EfjTOUMp/ZJJAE4KaclFa2upQO/tnl9CeeM0O9h0Cg2b9n2qMlZQew?=
 =?us-ascii?Q?rFSnTxuGGuM4vMVy/CbaCkd9OgHMmDtNuGvrV9NumUqHG4v3dXt8RAg7V4jc?=
 =?us-ascii?Q?7lgMyGmRahwtu+INDenwp4uBvAHAhA+k/qtvxRtU10fP4jLQWvnoxR95fPg9?=
 =?us-ascii?Q?HThZRgIkTVatPhinE1scaS81ysZrH1OpYzIrz1PDtcYNSkPTjqN0qMZMf3/W?=
 =?us-ascii?Q?DZb1RfwX0nof2LAcmhs2270qawOzmxqnBrbqX0URps9QzmUQOzZgY0DxEA/y?=
 =?us-ascii?Q?OqwJQJ5ZInIKtgkxGXANPfZEsR2EBE9RTxGjNOJWX1tmiAGnQYnRySRpBZ5B?=
 =?us-ascii?Q?JI82rOk34TLtQkVo8zfQUkr2GIn4LmJcgug+5VLLW1Xrnp9aW6Y9GTjR+jxe?=
 =?us-ascii?Q?dCCzuXCfTw7zNEhFE4021qKgoPV0voyIm4RyURMK1kpcEFwYwHFd/Ucfjduu?=
 =?us-ascii?Q?hF8Cf3AKuf6AznI8523HMRnVPMyiYOvT19Qx1OIj/ARpcfUIkyB3z+btxuYc?=
 =?us-ascii?Q?o9XIm6NO/8+YCQcHrHkG8k4aGedRhEgzDjTlL/fTV44Sk1ceaBDguSGzTKJJ?=
 =?us-ascii?Q?kBrT3F0V98YHP+RVz4Ix83mIuAkqDIRokidvXb6fkQdRJOl7gL67RBs0d5CK?=
 =?us-ascii?Q?Ko254iBThfcJ7bi+U54Tajh5CngsiXXPwpcjdSwaRFxISYgXpfUJQEbgCxkG?=
 =?us-ascii?Q?jOU6Dc9LXDEMBhIJv1w=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(376014)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2025 10:17:29.6114
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7b38ad51-f0b4-4753-a505-08de0a41b73c
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN2PEPF000055DF.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB6741

Function xsm_set_target() is only invoked under XEN_DOMCTL_set_target
domctl-op, and shall be wrapped with CONFIG_MGMT_HYPERCALLS. Otherwise
it will become unreachable codes when MGMT_HYPERCALLS=n, and hence violating
Misra 2.1.

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
v1 -> v2:
- adapt to changes of "unify DOMCTL to MGMT_HYPERCALLS"
---
v2 -> v3
- wrap the whole inline function xsm_set_target()
- add missing wrapping in xsm/dummy.h
- address "violating Misra rule 2.1" in commit message
---
 xen/include/xsm/dummy.h | 2 ++
 xen/include/xsm/xsm.h   | 4 +++-
 xen/xsm/dummy.c         | 2 +-
 xen/xsm/flask/hooks.c   | 4 ++--
 4 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h
index a5deb8a975..a598d74f1f 100644
--- a/xen/include/xsm/dummy.h
+++ b/xen/include/xsm/dummy.h
@@ -158,12 +158,14 @@ static XSM_INLINE int cf_check xsm_sysctl_scheduler_op(XSM_DEFAULT_ARG int cmd)
 }
 #endif /* CONFIG_MGMT_HYPERCALLS */
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 static XSM_INLINE int cf_check xsm_set_target(
     XSM_DEFAULT_ARG struct domain *d, struct domain *e)
 {
     XSM_ASSERT_ACTION(XSM_HOOK);
     return xsm_default_action(action, current->domain, NULL);
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 static XSM_INLINE int cf_check xsm_domctl(
     XSM_DEFAULT_ARG struct domain *d, unsigned int cmd, uint32_t ssidref)
diff --git a/xen/include/xsm/xsm.h b/xen/include/xsm/xsm.h
index ee43002fdb..154a4b8a92 100644
--- a/xen/include/xsm/xsm.h
+++ b/xen/include/xsm/xsm.h
@@ -59,8 +59,8 @@ struct xsm_ops {
 #ifdef CONFIG_MGMT_HYPERCALLS
     int (*domctl_scheduler_op)(struct domain *d, int op);
     int (*sysctl_scheduler_op)(int op);
-#endif
     int (*set_target)(struct domain *d, struct domain *e);
+#endif
     int (*domctl)(struct domain *d, unsigned int cmd, uint32_t ssidref);
 #ifdef CONFIG_MGMT_HYPERCALLS
     int (*sysctl)(int cmd);
@@ -255,11 +255,13 @@ static inline int xsm_sysctl_scheduler_op(xsm_default_t def, int cmd)
 }
 #endif
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 static inline int xsm_set_target(
     xsm_default_t def, struct domain *d, struct domain *e)
 {
     return alternative_call(xsm_ops.set_target, d, e);
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 static inline int xsm_domctl(xsm_default_t def, struct domain *d,
                              unsigned int cmd, uint32_t ssidref)
diff --git a/xen/xsm/dummy.c b/xen/xsm/dummy.c
index 7cf00ce37e..9774bb3bdb 100644
--- a/xen/xsm/dummy.c
+++ b/xen/xsm/dummy.c
@@ -21,8 +21,8 @@ static const struct xsm_ops __initconst_cf_clobber dummy_ops = {
 #ifdef CONFIG_MGMT_HYPERCALLS
     .domctl_scheduler_op           = xsm_domctl_scheduler_op,
     .sysctl_scheduler_op           = xsm_sysctl_scheduler_op,
-#endif
     .set_target                    = xsm_set_target,
+#endif
     .domctl                        = xsm_domctl,
 #ifdef CONFIG_MGMT_HYPERCALLS
     .sysctl                        = xsm_sysctl,
diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c
index ca07585450..9b63c516e6 100644
--- a/xen/xsm/flask/hooks.c
+++ b/xen/xsm/flask/hooks.c
@@ -641,7 +641,6 @@ static int cf_check flask_sysctl_scheduler_op(int op)
         return avc_unknown_permission("sysctl_scheduler_op", op);
     }
 }
-#endif /* CONFIG_MGMT_HYPERCALLS */
 
 static int cf_check flask_set_target(struct domain *d, struct domain *t)
 {
@@ -666,6 +665,7 @@ static int cf_check flask_set_target(struct domain *d, struct domain *t)
                                  &dsec->target_sid);
     return rc;
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 static int cf_check flask_domctl(struct domain *d, unsigned int cmd,
                                  uint32_t ssidref)
@@ -1888,8 +1888,8 @@ static const struct xsm_ops __initconst_cf_clobber flask_ops = {
 #ifdef CONFIG_MGMT_HYPERCALLS
     .domctl_scheduler_op = flask_domctl_scheduler_op,
     .sysctl_scheduler_op = flask_sysctl_scheduler_op,
-#endif
     .set_target = flask_set_target,
+#endif
     .domctl = flask_domctl,
 #ifdef CONFIG_MGMT_HYPERCALLS
     .sysctl = flask_sysctl,
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Oct 13 10:27:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 10:27:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142060.1476334 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8Flp-0000UL-Uh; Mon, 13 Oct 2025 10:27:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142060.1476334; Mon, 13 Oct 2025 10:27:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8Flp-0000Tv-Pn; Mon, 13 Oct 2025 10:27:13 +0000
Received: by outflank-mailman (input) for mailman id 1142060;
 Mon, 13 Oct 2025 10:27:12 +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
 <SRS0=gL+L=4W=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1v8FcL-0004Hi-Jf
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 10:17:25 +0000
Received: from SJ2PR03CU001.outbound.protection.outlook.com
 (mail-westusazlp170120002.outbound.protection.outlook.com
 [2a01:111:f403:c001::2])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ce87c40d-a81d-11f0-9d15-b5c5bf9af7f9;
 Mon, 13 Oct 2025 12:17:23 +0200 (CEST)
Received: from BN9PR03CA0494.namprd03.prod.outlook.com (2603:10b6:408:130::19)
 by IA0PR12MB8207.namprd12.prod.outlook.com (2603:10b6:208:401::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.12; Mon, 13 Oct
 2025 10:17:12 +0000
Received: from BN2PEPF000055DA.namprd21.prod.outlook.com
 (2603:10b6:408:130:cafe::f5) by BN9PR03CA0494.outlook.office365.com
 (2603:10b6:408:130::19) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9203.12 via Frontend Transport; Mon,
 13 Oct 2025 10:17:12 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 BN2PEPF000055DA.mail.protection.outlook.com (10.167.245.4) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9253.0 via Frontend Transport; Mon, 13 Oct 2025 10:17:12 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) by
 satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.2562.17; Mon, 13 Oct 2025 03:17:08 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ce87c40d-a81d-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=RMtLL1KboKtN3+45xfVb/4+yxSc9LQydqdtnBw49ngBTaRlZ9UHrIWz1pYl1HrJcHPhJ9iSy4bXOCCaeyjNvT0eqhhXGj45xsCYkFVqMsyY8FEjNE27RiBDVulXfBuCZwiEAzwRrRkLawJhWINNcLDP7DnSZyrwy+QAiMstQIDxRHE7RQtf47GuelqUwoHLC/BdG5K6v1Cz+zZ/am9tYfPo0HEECYlrJuvF8HfRyWwqVY4tzyWHr9L6SUo6Ronz4+0PUx5eLBqLN+5cyLl58aeFxV4x/hv5IeMY0ZEgc3AIULLwqVrAmnU/Uqrd5rDyjG+fPdN7VvVuj1IpRdXe+DQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dW0Z7lJ6siiHrf4a3nIGhXTfSrGLnm+IVIQE9j9Bzbw=;
 b=QD6Ca4oGbM91hDoY6+eaNjL8Evu10GH4dSEr/O45tr2YByP9iDNg6r9c4tWIRpvdplTprMwABfaBCMqxEXrh8TaVFFjpHV0hKhaOCgiLwLir+CjNKCqWyVw+xGQ6pBHInZBtvi4BJzR5Ukb6OY/wG1s7bmj4S1TVHc6QK6znmBKbeQZez0v5zqUehojiawcvbC1VVOwCRhyj8nnN4iGLt7fnsKhvdQq8k+0CiqLIZRe9JNIsdAKvVDDseh6W+8nQC4glw9tDZf52gwO/o78fnATZYEGygrmn2kBh471aDPl/l7UCR7rauuE7Ios/dMXrcPGVaa0TFoorwimDQC0afQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dW0Z7lJ6siiHrf4a3nIGhXTfSrGLnm+IVIQE9j9Bzbw=;
 b=ToSYkXUlq7P6CSpvyu837171WW1+6/RCzpZIQhKUTWN1ZWitHc5+tiAVUzXFPsNZkM9GwsvtqwH2ukY2m1YZvzCSi09NTxcZvLWqleryKkdlneLIOIaKZiaDWRbWNDVj0CkZJlFj0cz+SMWhnhAWvjGh48GdYq1saNLjEFTIESY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.com>, <oleksii.kurochko@gmail.com>, Penny Zheng
	<Penny.Zheng@amd.com>, Stefano Stabellini <sstabellini@kernel.org>, "Julien
 Grall" <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, "Michal
 Orzel" <michal.orzel@amd.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>, Jan Beulich <jbeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Shawn Anastasio
	<sanastasio@raptorengineering.com>, Alistair Francis
	<alistair.francis@wdc.com>, Bob Eshleman <bobbyeshleman@gmail.com>, "Connor
 Davis" <connojdavis@gmail.com>, Tamas K Lengyel <tamas@tklengyel.com>
Subject: [PATCH v3 15/28] xen/domctl: wrap domain_kill() with CONFIG_MGMT_HYPERCALLS
Date: Mon, 13 Oct 2025 18:15:27 +0800
Message-ID: <20251013101540.3502842-16-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20251013101540.3502842-1-Penny.Zheng@amd.com>
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN2PEPF000055DA:EE_|IA0PR12MB8207:EE_
X-MS-Office365-Filtering-Correlation-Id: 74c4c672-4ea4-4866-cd47-08de0a41acfc
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|376014|7416014|36860700013|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?Me20bK9ROmRFVe4xjGx7LULvDr8HljJyvutsLOkcD7y06VGthoq1nW1Awgpg?=
 =?us-ascii?Q?QPZUawOgIkUxK0X+jP0gE+09e1Kdzz2vntD0xTZbM9BGKou1mjPVq6sAgSFf?=
 =?us-ascii?Q?AZVfAGTKPWhIHqQwTmmpT/Xyk1Py1u1CGmeq3Z7Bmn//91W/9PZf5qGSEtHT?=
 =?us-ascii?Q?1eqbq3IxFfPDpSUuWxLv1UPakuOr+xT3ZvS+7PQsNrYIj6tXFkaPQqxIBkKg?=
 =?us-ascii?Q?bOcA1lhaGLvEtQ6kT0B+GyQYxeaYi9jmkfwtbX6bexJQwPWK99UkUgsbavJK?=
 =?us-ascii?Q?mTt8PDjUxI9gTsPD7fiXHN8rfE6p59TM4ilPolFCTJsciLNkkYwnJ3VZnnGU?=
 =?us-ascii?Q?IqVz51pu2zK6FRphixEu32j+5aImbf4n7yPNxSITvhv6DJ0tC6LW0523AOm+?=
 =?us-ascii?Q?VsfHaK7GR5VxJAZ50C2ULk/bkOGcw5VHGzniXYVu/mFAUTOn5jDTceUlP9H8?=
 =?us-ascii?Q?VLEoLT8RwWP/8dJt5V3yDmyYAfhjGmScCB/HVn+mLQP8XZK/b1rEaHipoFyW?=
 =?us-ascii?Q?zm+8h7nffIwM64+UDo6ZZ3zezYu6KG12cwEcxq76YcJbbjF6nln8RSIDW26S?=
 =?us-ascii?Q?xeskaYtbU8Cmnp7rCyiInIT+Uj9iF2NmAvtHo3Qu5/WP+gTxGxPvopTKximp?=
 =?us-ascii?Q?OtgVOrzsPZDXHu7W20OvN7vP2JnhRCSA4XTgCfCOpVgW4WFZ3IB9yOcAw6M0?=
 =?us-ascii?Q?T6TK9O0dERkcRWvKvcmDtWTxLerR7PcdpggwitRXMrmf8BFiLyknU8UdpqIg?=
 =?us-ascii?Q?QzbVwtk2r3+Dzk34so/G68aC7bxs6/LjRz4DWswBewclC+udwxiEdNKmf8b1?=
 =?us-ascii?Q?xT6yAVk3HVLQ10IMnjAO573oHn6uJ2+rfbnA/mztOd2rxyAZirp+dzb0mtz/?=
 =?us-ascii?Q?Y5OgNqUkxuwygiq1zk8Vxeb6z8ukgP4la12aGb+pCShP8LSPsTAjtuEWD9zz?=
 =?us-ascii?Q?oqL6QeOqS9zyfGD+kvvGPLqkpDSK+kZXl068y1tdxuXWsnETAITRNYW4XYiq?=
 =?us-ascii?Q?XKgDSBRtruH+sgkDcBXmp4QIvtLWu1ObvahSeGFKgtFYHZ/DO2BKwQsBxt/N?=
 =?us-ascii?Q?sGi4X4V6mxZnjDowoLlUYc8AZuaI6rBmtb8wRGiOC1QwGcQ38lyd/P0NniLp?=
 =?us-ascii?Q?FOwR0IkMFgPj4C3pMpmh+F5DZfRUJ9/znUzBUujwmouThFrTbtNTjSpKDcWb?=
 =?us-ascii?Q?MFfEgUDXUsD4PY7wowWap0p7fzvXnFsU6mGOYejA0aL5LUZ19g9g1veyFP26?=
 =?us-ascii?Q?ZojmF+P+Ihpd2Ic6MqotNqSMs9MLy64jzIVGmPZ2FvDNlhao9FlwuMg4MAeJ?=
 =?us-ascii?Q?ZZmLAyEqSFSnVXFWDmr7v2VZ8YGF7Oa16Sdbpdszp+usATFaYOKSjGtZCMSL?=
 =?us-ascii?Q?W5RhNmh08geucA49p7Pj3yJ8PZod/0L6JS8de5s5kQKHScAZWWEuz2nCRv6D?=
 =?us-ascii?Q?XOkRf5UJrEY84xwO8/piUPD25ZSlavkSmpSeF39S7q+u2+FYp/KEn0WHsyxm?=
 =?us-ascii?Q?TBY8DUJaOq9Fl7mdQvwE6+XhNOZTINSxBV07AaG3oBXmpnh4kdy0RHni58NB?=
 =?us-ascii?Q?Q489f6qwmKuRm2/O00g=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(376014)(7416014)(36860700013)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2025 10:17:12.4163
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 74c4c672-4ea4-4866-cd47-08de0a41acfc
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN2PEPF000055DA.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB8207

Function domain_kill() is responsible for killing domain and relinquish
domain-held resources. and it is only invoked under
XEN_DOMCTL_destroydomain-case. So it shall be wrapped with
CONFIG_MGMT_HYPERCALLS.
Tracking its calling chain, the following functions could also be wrapped with
CONFIG_MGMT_HYPERCALLS:
- domain_relinquish_resource
  - pci_release_device
  - relinquish_shared_pages
  - paging_teardown
    - p2m_pod_empty_cache
  - relinquish_memory
  - pit_deinit
  - iommu_release_dt_devices
  - tee_relinquish_resources
    - ffa_relinquish_resources/optee_relinquish_resources
  - relinquish_p2m_mapping
  - p2m_clear_root_pages
Otherwise all these functions will become unreachable codes when
MGMT_HYPERCALLS=n, and hence violating Misra rule 2.1.

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
v1 -> v2:
- adapt to changes of "unify DOMCTL to MGMT_HYPERCALLS"
- wrap XEN_DOMCTL_destroydomain-case transiently
---
v2 -> v3:
- add back stub wrapping in ppc/riscv
- address "violating Misra rule 2.1" in commit message
- remove transient wrapping around XEN_DOMCTL_destroydomain-case
---
 xen/arch/arm/domain.c                 | 3 +++
 xen/arch/arm/include/asm/tee/tee.h    | 2 ++
 xen/arch/arm/mmu/p2m.c                | 4 ++++
 xen/arch/arm/mpu/p2m.c                | 2 ++
 xen/arch/arm/tee/ffa.c                | 4 ++++
 xen/arch/arm/tee/optee.c              | 4 ++++
 xen/arch/arm/tee/tee.c                | 2 ++
 xen/arch/ppc/stubs.c                  | 2 ++
 xen/arch/riscv/stubs.c                | 2 ++
 xen/arch/x86/domain.c                 | 2 ++
 xen/arch/x86/emul-i8254.c             | 2 ++
 xen/arch/x86/mm/mem_sharing.c         | 2 ++
 xen/arch/x86/mm/p2m-pod.c             | 2 ++
 xen/arch/x86/mm/p2m.c                 | 2 ++
 xen/arch/x86/mm/paging.c              | 2 ++
 xen/common/domain.c                   | 2 ++
 xen/drivers/passthrough/device_tree.c | 2 ++
 xen/drivers/passthrough/pci.c         | 2 ++
 18 files changed, 43 insertions(+)

diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
index 948ca35e19..3070a5fc8f 100644
--- a/xen/arch/arm/domain.c
+++ b/xen/arch/arm/domain.c
@@ -995,6 +995,7 @@ int arch_vcpu_reset(struct vcpu *v)
     return 0;
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 static int relinquish_memory(struct domain *d, struct page_list_head *list)
 {
     struct page_info *page, *tmp;
@@ -1146,6 +1147,8 @@ int domain_relinquish_resources(struct domain *d)
 
 #undef PROGRESS
 
+#endif /* CONFIG_MGMT_HYPERCALLS */
+
 void arch_dump_domain_info(struct domain *d)
 {
     p2m_dump_info(d);
diff --git a/xen/arch/arm/include/asm/tee/tee.h b/xen/arch/arm/include/asm/tee/tee.h
index 15d664e28d..f4187c5dc3 100644
--- a/xen/arch/arm/include/asm/tee/tee.h
+++ b/xen/arch/arm/include/asm/tee/tee.h
@@ -40,12 +40,14 @@ struct tee_mediator_ops {
     int (*domain_teardown)(struct domain *d);
     void (*free_domain_ctx)(struct domain *d);
 
+#ifdef CONFIG_MGMT_HYPERCALLS
     /*
      * Called during domain destruction to relinquish resources used
      * by mediator itself. This function can return -ERESTART to indicate
      * that it does not finished work and should be called again.
      */
     int (*relinquish_resources)(struct domain *d);
+#endif
 
     /* Handle SMCCC call for current domain. */
     bool (*handle_call)(struct cpu_user_regs *regs);
diff --git a/xen/arch/arm/mmu/p2m.c b/xen/arch/arm/mmu/p2m.c
index 51abf3504f..30d6071e91 100644
--- a/xen/arch/arm/mmu/p2m.c
+++ b/xen/arch/arm/mmu/p2m.c
@@ -1243,6 +1243,7 @@ static void p2m_invalidate_table(struct p2m_domain *p2m, mfn_t mfn)
     p2m->need_flush = true;
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 /*
  * The domain will not be scheduled anymore, so in theory we should
  * not need to flush the TLBs. Do it for safety purpose.
@@ -1262,6 +1263,7 @@ void p2m_clear_root_pages(struct p2m_domain *p2m)
 
     p2m_write_unlock(p2m);
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 /*
  * Invalidate all entries in the root page-tables. This is
@@ -1556,6 +1558,7 @@ int p2m_init(struct domain *d)
     return 0;
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 /*
  * The function will go through the p2m and remove page reference when it
  * is required. The mapping will be removed from the p2m.
@@ -1626,6 +1629,7 @@ int relinquish_p2m_mapping(struct domain *d)
 
     return rc;
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 /*
  * Clean & invalidate RAM associated to the guest vCPU.
diff --git a/xen/arch/arm/mpu/p2m.c b/xen/arch/arm/mpu/p2m.c
index f7fb58ab6a..c44297a9e3 100644
--- a/xen/arch/arm/mpu/p2m.c
+++ b/xen/arch/arm/mpu/p2m.c
@@ -57,10 +57,12 @@ bool p2m_resolve_translation_fault(struct domain *d, gfn_t gfn)
 
 void p2m_flush_vm(struct vcpu *v) {}
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 int relinquish_p2m_mapping(struct domain *d)
 {
     return 0;
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 void p2m_domain_creation_finished(struct domain *d) {}
 
diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
index 1d0239cf69..f9ba9b60bf 100644
--- a/xen/arch/arm/tee/ffa.c
+++ b/xen/arch/arm/tee/ffa.c
@@ -469,10 +469,12 @@ static void ffa_free_domain_ctx(struct domain *d)
     XFREE(d->arch.tee);
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 static int ffa_relinquish_resources(struct domain *d)
 {
     return 0;
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 static void ffa_init_secondary(void)
 {
@@ -623,7 +625,9 @@ static const struct tee_mediator_ops ffa_ops =
     .domain_init = ffa_domain_init,
     .domain_teardown = ffa_domain_teardown,
     .free_domain_ctx = ffa_free_domain_ctx,
+#ifdef CONFIG_MGMT_HYPERCALLS
     .relinquish_resources = ffa_relinquish_resources,
+#endif
     .handle_call = ffa_handle_call,
 };
 
diff --git a/xen/arch/arm/tee/optee.c b/xen/arch/arm/tee/optee.c
index 5151bd90ed..1ed0fd231d 100644
--- a/xen/arch/arm/tee/optee.c
+++ b/xen/arch/arm/tee/optee.c
@@ -632,6 +632,7 @@ static void free_optee_shm_buf_pg_list(struct optee_domain *ctx,
                  cookie);
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 static int optee_relinquish_resources(struct domain *d)
 {
     struct arm_smccc_res resp;
@@ -693,6 +694,7 @@ static int optee_relinquish_resources(struct domain *d)
 
     return 0;
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 #define PAGELIST_ENTRIES_PER_PAGE                       \
     ((OPTEE_MSG_NONCONTIG_PAGE_SIZE / sizeof(u64)) - 1)
@@ -1727,7 +1729,9 @@ static const struct tee_mediator_ops optee_ops =
     .probe = optee_probe,
     .domain_init = optee_domain_init,
     .domain_teardown = optee_domain_teardown,
+#ifdef CONFIG_MGMT_HYPERCALLS
     .relinquish_resources = optee_relinquish_resources,
+#endif
     .handle_call = optee_handle_call,
 };
 
diff --git a/xen/arch/arm/tee/tee.c b/xen/arch/arm/tee/tee.c
index 8501443c8e..a8e160700f 100644
--- a/xen/arch/arm/tee/tee.c
+++ b/xen/arch/arm/tee/tee.c
@@ -65,6 +65,7 @@ int tee_domain_teardown(struct domain *d)
     return cur_mediator->ops->domain_teardown(d);
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 int tee_relinquish_resources(struct domain *d)
 {
     if ( !cur_mediator )
@@ -72,6 +73,7 @@ int tee_relinquish_resources(struct domain *d)
 
     return cur_mediator->ops->relinquish_resources(d);
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 uint16_t tee_get_type(void)
 {
diff --git a/xen/arch/ppc/stubs.c b/xen/arch/ppc/stubs.c
index ecaffe0d2e..a57cc8595d 100644
--- a/xen/arch/ppc/stubs.c
+++ b/xen/arch/ppc/stubs.c
@@ -241,10 +241,12 @@ int arch_vcpu_reset(struct vcpu *v)
     BUG_ON("unimplemented");
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 int domain_relinquish_resources(struct domain *d)
 {
     BUG_ON("unimplemented");
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 void arch_dump_domain_info(struct domain *d)
 {
diff --git a/xen/arch/riscv/stubs.c b/xen/arch/riscv/stubs.c
index 291c8a23e8..3e4280dee1 100644
--- a/xen/arch/riscv/stubs.c
+++ b/xen/arch/riscv/stubs.c
@@ -215,10 +215,12 @@ int arch_vcpu_reset(struct vcpu *v)
     BUG_ON("unimplemented");
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 int domain_relinquish_resources(struct domain *d)
 {
     BUG_ON("unimplemented");
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 void arch_dump_domain_info(struct domain *d)
 {
diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
index 5b3c5e8caf..314de75d8e 100644
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -2298,6 +2298,7 @@ void sync_vcpu_execstate(struct vcpu *v)
            read_atomic(&v->dirty_cpu) != dirty_cpu);
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 static int relinquish_memory(
     struct domain *d, struct page_list_head *list, unsigned long type)
 {
@@ -2622,6 +2623,7 @@ int domain_relinquish_resources(struct domain *d)
 
     return 0;
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 void arch_dump_domain_info(struct domain *d)
 {
diff --git a/xen/arch/x86/emul-i8254.c b/xen/arch/x86/emul-i8254.c
index 144aa168a3..f106ab794c 100644
--- a/xen/arch/x86/emul-i8254.c
+++ b/xen/arch/x86/emul-i8254.c
@@ -651,6 +651,7 @@ void pit_init(struct domain *d)
     pit_reset(d);
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 void pit_deinit(struct domain *d)
 {
     PITState *pit = domain_vpit(d);
@@ -664,6 +665,7 @@ void pit_deinit(struct domain *d)
         destroy_periodic_time(&pit->pt0);
     }
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 /*
  * Local variables:
diff --git a/xen/arch/x86/mm/mem_sharing.c b/xen/arch/x86/mm/mem_sharing.c
index b5a259af1d..af7b7f2538 100644
--- a/xen/arch/x86/mm/mem_sharing.c
+++ b/xen/arch/x86/mm/mem_sharing.c
@@ -1396,6 +1396,7 @@ int __mem_sharing_unshare_page(struct domain *d,
     return rc;
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 int relinquish_shared_pages(struct domain *d)
 {
     int rc = 0;
@@ -1452,6 +1453,7 @@ int relinquish_shared_pages(struct domain *d)
     p2m_unlock(p2m);
     return rc;
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 static int range_share(struct domain *d, struct domain *cd,
                        struct mem_sharing_op_range *range)
diff --git a/xen/arch/x86/mm/p2m-pod.c b/xen/arch/x86/mm/p2m-pod.c
index 05633fe2ac..4e915808f4 100644
--- a/xen/arch/x86/mm/p2m-pod.c
+++ b/xen/arch/x86/mm/p2m-pod.c
@@ -366,6 +366,7 @@ void p2m_pod_get_mem_target(const struct domain *d, xen_pod_target_t *target)
     pod_unlock(p2m);
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 int p2m_pod_empty_cache(struct domain *d)
 {
     struct p2m_domain *p2m = p2m_get_hostp2m(d);
@@ -409,6 +410,7 @@ int p2m_pod_empty_cache(struct domain *d)
     unlock_page_alloc(p2m);
     return p2m->pod.count ? -ERESTART : 0;
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 int
 p2m_pod_offline_or_broken_hit(struct page_info *p)
diff --git a/xen/arch/x86/mm/p2m.c b/xen/arch/x86/mm/p2m.c
index e2a00a0efd..c1a87cde27 100644
--- a/xen/arch/x86/mm/p2m.c
+++ b/xen/arch/x86/mm/p2m.c
@@ -2097,6 +2097,7 @@ int xenmem_add_to_physmap_one(
     return rc;
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 /*
  * Remove foreign mappings from the p2m, as that drops the page reference taken
  * when mapped.
@@ -2160,6 +2161,7 @@ int relinquish_p2m_mapping(struct domain *d)
 
     return rc;
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 void p2m_log_dirty_range(struct domain *d, unsigned long begin_pfn,
                          unsigned long nr, uint8_t *dirty_bitmap)
diff --git a/xen/arch/x86/mm/paging.c b/xen/arch/x86/mm/paging.c
index 65455a6867..116389d4e9 100644
--- a/xen/arch/x86/mm/paging.c
+++ b/xen/arch/x86/mm/paging.c
@@ -768,6 +768,7 @@ void paging_vcpu_teardown(struct vcpu *v)
         shadow_vcpu_teardown(v);
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 /* Call when destroying a domain */
 int paging_teardown(struct domain *d)
 {
@@ -794,6 +795,7 @@ int paging_teardown(struct domain *d)
 
     return rc;
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 /* Call once all of the references to the domain have gone away */
 void paging_final_teardown(struct domain *d)
diff --git a/xen/common/domain.c b/xen/common/domain.c
index 34e2e501dc..5d81ab3045 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -1230,6 +1230,7 @@ int rcu_lock_live_remote_domain_by_id(domid_t dom, struct domain **d)
     return 0;
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 int domain_kill(struct domain *d)
 {
     int rc = 0;
@@ -1280,6 +1281,7 @@ int domain_kill(struct domain *d)
 
     return rc;
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 
 void __domain_crash(struct domain *d)
diff --git a/xen/drivers/passthrough/device_tree.c b/xen/drivers/passthrough/device_tree.c
index f5850a2607..015ffa15d4 100644
--- a/xen/drivers/passthrough/device_tree.c
+++ b/xen/drivers/passthrough/device_tree.c
@@ -108,6 +108,7 @@ int iommu_dt_domain_init(struct domain *d)
     return 0;
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 int iommu_release_dt_devices(struct domain *d)
 {
     const struct domain_iommu *hd = dom_iommu(d);
@@ -136,6 +137,7 @@ int iommu_release_dt_devices(struct domain *d)
 
     return 0;
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 static int iommu_dt_xlate(struct device *dev,
                           const struct dt_phandle_args *iommu_spec,
diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
index 3edcfa8a04..cd855108c2 100644
--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -945,6 +945,7 @@ static int deassign_device(struct domain *d, uint16_t seg, uint8_t bus,
     return ret;
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 int pci_release_devices(struct domain *d)
 {
     int combined_ret;
@@ -1003,6 +1004,7 @@ int pci_release_devices(struct domain *d)
 
     return combined_ret;
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 #define PCI_CLASS_BRIDGE_HOST    0x0600
 #define PCI_CLASS_BRIDGE_PCI     0x0604
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Oct 13 10:27:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 10:27:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142071.1476344 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8Fls-0000xF-K8; Mon, 13 Oct 2025 10:27:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142071.1476344; Mon, 13 Oct 2025 10:27:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8Fls-0000wi-Dk; Mon, 13 Oct 2025 10:27:16 +0000
Received: by outflank-mailman (input) for mailman id 1142071;
 Mon, 13 Oct 2025 10:27:15 +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
 <SRS0=gL+L=4W=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1v8FcO-0004Hi-Qt
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 10:17:28 +0000
Received: from SN4PR2101CU001.outbound.protection.outlook.com
 (mail-southcentralusazlp170120001.outbound.protection.outlook.com
 [2a01:111:f403:c10d::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d1240ee0-a81d-11f0-9d15-b5c5bf9af7f9;
 Mon, 13 Oct 2025 12:17:28 +0200 (CEST)
Received: from BN9PR03CA0389.namprd03.prod.outlook.com (2603:10b6:408:f7::34)
 by LV2PR12MB5752.namprd12.prod.outlook.com (2603:10b6:408:177::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.12; Mon, 13 Oct
 2025 10:17:21 +0000
Received: from BN2PEPF000055DF.namprd21.prod.outlook.com
 (2603:10b6:408:f7:cafe::7b) by BN9PR03CA0389.outlook.office365.com
 (2603:10b6:408:f7::34) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9203.11 via Frontend Transport; Mon,
 13 Oct 2025 10:17:21 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 BN2PEPF000055DF.mail.protection.outlook.com (10.167.245.9) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9253.0 via Frontend Transport; Mon, 13 Oct 2025 10:17:20 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) by
 satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.2562.17; Mon, 13 Oct 2025 03:17:17 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d1240ee0-a81d-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=xblBaMczgZcJtDZgFOywxde070fbHGWITAlAd8z9gXMcnFojK3gS4Rbt035XknmJLN/EDABYcfe9fxEBdd9tL5AtoGz3M6XszHKwcr76XbUywKKg35UQ2O58ZwustEA5MG6IFXHtAjK0/ls4TdUfcUY2Eg3rhlq1oLpqK2T+erVz+fWRlEBOJoaNlmpBXTt3wt6wC2FGh82XZuOTZ+PMy3/VmpfA0TunIJzsiv0c/bhl/XD3ZJRPAXEgRxaj09ikXflWdfZbt8Za8EOoT8en1Z9j8w7LEHxR3uf7agTBXFVmsOhVihTFH8SKnJpwro/EC9YjYpVRQ04p+y2REOBTIw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3rKuA1uRZK/mAlwlVj+iKHKtosFKmqzuauXWERzdlUY=;
 b=K9VT8SdK3NsXyrfbWnaWuk0TDhKY+doN3MM+IXzI7xVa3tHF2+u4k3wZYKkz8YeOBgP6MARn7oqX58ryoYb2LKAzDdQcMQ0nQKYhnGgwVfww4B0R9GEdsg3LEC8/8Pcbg/CSZISBbA/E/yz3MdIiNXREhC3XD2QhreJrfwfJIj5gA/flPekz/6/dLgBuZTcTg9ZABj2EsrpmVgxsZZBkccF3TPR/zTxTjgeW22kqAJ3KsRW0dHdJlNB1zDzL5jK8EfVol6OEPz6jHTA5WrlfLj9KgBgJMWqMtaEtCrf+7njjcjrR1CcYLUhek70vZh1gcG3pDXpkpI7zlpqugEqinw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3rKuA1uRZK/mAlwlVj+iKHKtosFKmqzuauXWERzdlUY=;
 b=ic5sc6Z17kQZNkJDA5W79uVCh1GGTKrMo1CmkO+tQEhf7ELXGaYOND8Y5bw5AUggZALHtDmPMDbMPO2knyMojg5crKu01JmU38KR/3H1Zps90zfyo4MAC4qIWCiWrGcJ703g2GQ2bAvMhILWeF/hSFowbYAr1MjthdvEuMlQEt0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>, <xen-devel@dornerworks.com>
CC: <ray.huang@amd.com>, <oleksii.kurochko@gmail.com>, Penny Zheng
	<Penny.Zheng@amd.com>, Nathan Studer <nathan.studer@dornerworks.com>,
	"Stewart Hildebrand" <stewart@stew.dk>, Dario Faggioli <dfaggioli@suse.com>,
	"Juergen Gross" <jgross@suse.com>, George Dunlap <gwd@xenproject.org>, Meng
 Xu <mengxu@cis.upenn.edu>, "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v3 18/28] xen/domctl: wrap sched_adjust() with CONFIG_MGMT_HYPERCALLS
Date: Mon, 13 Oct 2025 18:15:30 +0800
Message-ID: <20251013101540.3502842-19-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20251013101540.3502842-1-Penny.Zheng@amd.com>
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN2PEPF000055DF:EE_|LV2PR12MB5752:EE_
X-MS-Office365-Filtering-Correlation-Id: 3ff4ea44-7996-4ac9-10c5-08de0a41b1e3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|7416014|376014|1800799024|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?nyUI0wOVjuMbGnXoXzX3SzewobLo0QqGnzEDeaxgkLg9FEiCyjy0koJb1R4l?=
 =?us-ascii?Q?LZxH+5nxIdtdKj/QcDzTVOpdNKenjhZp16JaTlRfTzAf+bY+WC748djDzAck?=
 =?us-ascii?Q?YF3hRs2BVx+wJgN8FN7cDyIoF2DxjY7a99MZdeL0w16KxCcItG9wtv293V3J?=
 =?us-ascii?Q?L8CZq5r35GFzpc+mEN9Q4dQumI7QdLfRrBDWpY082w+BUZ4Nw7pRyZ7Fsmdw?=
 =?us-ascii?Q?TZEsCWb2uN08Oe6nS9sQV0yzMfT1LYuV2YicA2QG/j0L83wy2lTDF0aS+8pk?=
 =?us-ascii?Q?hfF1Gs0gp6+ZssTd+jC5wEuv/oUWdgpyLzih5gHFup8LlOF67ds7x6es3AxA?=
 =?us-ascii?Q?ZBXlpNDKIUxcoyPU3qu8Gpz2dBpSQ3dKuVl+6zvWcjNnKyBwSKlTKGK7b1ul?=
 =?us-ascii?Q?ikF1RZbxlMOyn3rmKEeCSuit/XXDrTzuqbWS1KHAdhj7AJCImZa3Tzjzv98J?=
 =?us-ascii?Q?LpkRlOKaeiwnbBhtA+UdxuFsY9PNu7t0YNdjSk9Jd+MYEY65NE5t7p+Fjd5S?=
 =?us-ascii?Q?PqPtz67xQjvimvYEMBYiTkIOhCJxbJnZ4HeX+l62YRny+ddVlvE7yl4J6+Sm?=
 =?us-ascii?Q?4Mib6cWYJ74CHUsM4VJmh3yFKWscli+/uN8+YFfkBGq3psoZYCq67tFKs49a?=
 =?us-ascii?Q?U22iXzt64rH3V+bgT1+f5sNt1yVt/R3GEKt8xji/8Q9dqKaKpZVlzO9Ld9md?=
 =?us-ascii?Q?ewyhF8MUVx1KUxZxkOulkSp/82cgeKoSUwZzd9vuNaCzrsW2VY3AhF/DXivb?=
 =?us-ascii?Q?sK9rjxbKcbEfZJKcahbfwqu9oXN26SAa9A1PBCRgu4KsOzvBmImuZFw+oMSN?=
 =?us-ascii?Q?+xrRmv40wr0qyXJStkF2EXZQSpLnECRXhCnhIavpei5IbEySUi9qWeIkMbUC?=
 =?us-ascii?Q?3L2ExC1jiOr4jaOc0Nq1qyhF1gXp3b4vVzTyt8EnHMsBsRoheVw43LGohL19?=
 =?us-ascii?Q?i0bzW7Eb29WQ4uaEbvCNFIO2u+dSS5kwYaPYIXz+muHNI3L5hJi+6YUD6bcx?=
 =?us-ascii?Q?bug3mf4Ot1v2bXnwEpO7oiWywPJJMbf0sbv/7Frb9ZUzEWE8RDSVjRoUhnrf?=
 =?us-ascii?Q?n9qbxqJx6QcxcNfiFo1AI+i8J9Ml27tJGBAPXupPqODpoVBM7MiSH63t8Pqq?=
 =?us-ascii?Q?8ZuaJC0gVWTDOz90T8G39Pamebz9am4AwNfY9UK+ywL4yu3wtRwZ8/5YjzDi?=
 =?us-ascii?Q?gu25vibF22A4bH6bNTmLx8KY6AscDJKVnrFQiZ7NiMyAclFdQfo1btWHBt1+?=
 =?us-ascii?Q?4fHG0dMrZImMEpFulBjLy8iT2stbSRJuobuhWgJ/bz5Fal6PlBpdM7Aj3Vtw?=
 =?us-ascii?Q?J5AmhattqSdwOeBqACMRPCGe0zIQbiKE8usf1C06osgUW7HaEsBLuFf2l+Rb?=
 =?us-ascii?Q?Ih7UfZcMqXB8N3gaEnoiOSVnB0jAbp4aadHjjT48cfA9Yhos1xV3oIiIjxma?=
 =?us-ascii?Q?mOEKLVtGHJsssc1BlWAmisjFFEG91u0eEPhC1dzGu0PUpEVoCimioRyIhzB9?=
 =?us-ascii?Q?+kUW+H1JxN9E0T/HgfQu2WEfPzoGGNC07C9HZHTEh+vrkvcVBJPc1qjr9WIc?=
 =?us-ascii?Q?/elmYm6xt/TPU3iEug0=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(7416014)(376014)(1800799024)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2025 10:17:20.6362
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3ff4ea44-7996-4ac9-10c5-08de0a41b1e3
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN2PEPF000055DF.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV2PR12MB5752

Function sched_adjust() is responsible for XEN_DOMCTL_scheduler_op domctl-op,
so it could be wrapped with CONFIG_MGMT_HYPERCALLS.
Tracing its calling chain, the following functions shall be wrapped with
CONFIG_MGMT_HYPERCALLS too:
- sched_adjust_dom()
- scheduler-specific .adjust() callback
- xsm_sysctl_scheduler_op()
Otherwise all these functions will become unreachable when MGMT_HYPERCALLS=n,
and hence violating Misra rule 2.1.

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
v1 -> v2:
- adapt to changes of "unify DOMCTL to MGMT_HYPERCALLS"
- wrap XEN_DOMCTL_scheduler_op-case transiently
---
v2 -> v3
- add missing wrapping in xsm/dummy.h
- move and get away with just a single #ifdef
- address "violating Misra rule 2.1" in commit message
- remove transient wrapping around XEN_DOMCTL_scheduler_op-case
---
 xen/common/sched/arinc653.c | 1 -
 xen/common/sched/core.c     | 2 --
 xen/common/sched/credit.c   | 4 +++-
 xen/common/sched/credit2.c  | 4 +++-
 xen/common/sched/private.h  | 8 ++++----
 xen/common/sched/rt.c       | 4 ++++
 xen/include/xsm/dummy.h     | 2 ++
 xen/include/xsm/xsm.h       | 4 ++--
 xen/xsm/dummy.c             | 2 +-
 xen/xsm/flask/hooks.c       | 4 ++--
 10 files changed, 21 insertions(+), 14 deletions(-)

diff --git a/xen/common/sched/arinc653.c b/xen/common/sched/arinc653.c
index 7d6c40d800..5a6f8c8642 100644
--- a/xen/common/sched/arinc653.c
+++ b/xen/common/sched/arinc653.c
@@ -735,7 +735,6 @@ static const struct scheduler sched_arinc653_def = {
 
     .switch_sched   = a653_switch_sched,
 
-    .adjust         = NULL,
 #ifdef CONFIG_MGMT_HYPERCALLS
     .adjust_global  = a653sched_adjust_global,
 #endif
diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
index 180de784fa..6cee0858ec 100644
--- a/xen/common/sched/core.c
+++ b/xen/common/sched/core.c
@@ -2072,7 +2072,6 @@ int scheduler_id(void)
 {
     return operations.sched_id;
 }
-#endif
 
 /* Adjust scheduling parameter for a given domain. */
 long sched_adjust(struct domain *d, struct xen_domctl_scheduler_op *op)
@@ -2109,7 +2108,6 @@ long sched_adjust(struct domain *d, struct xen_domctl_scheduler_op *op)
     return ret;
 }
 
-#ifdef CONFIG_MGMT_HYPERCALLS
 long sched_adjust_global(struct xen_sysctl_scheduler_op *op)
 {
     struct cpupool *pool;
diff --git a/xen/common/sched/credit.c b/xen/common/sched/credit.c
index 0cbec2a9c0..ed3241bec8 100644
--- a/xen/common/sched/credit.c
+++ b/xen/common/sched/credit.c
@@ -1183,6 +1183,7 @@ csched_unit_yield(const struct scheduler *ops, struct sched_unit *unit)
     set_bit(CSCHED_FLAG_UNIT_YIELD, &svc->flags);
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 static int cf_check
 csched_dom_cntl(
     const struct scheduler *ops,
@@ -1227,6 +1228,7 @@ csched_dom_cntl(
 
     return rc;
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 static void cf_check
 csched_aff_cntl(const struct scheduler *ops, struct sched_unit *unit,
@@ -2288,9 +2290,9 @@ static const struct scheduler sched_credit_def = {
     .wake           = csched_unit_wake,
     .yield          = csched_unit_yield,
 
-    .adjust         = csched_dom_cntl,
     .adjust_affinity= csched_aff_cntl,
 #ifdef CONFIG_MGMT_HYPERCALLS
+    .adjust         = csched_dom_cntl,
     .adjust_global  = csched_sys_cntl,
 #endif
 
diff --git a/xen/common/sched/credit2.c b/xen/common/sched/credit2.c
index 307e63ebd8..b73dd3c548 100644
--- a/xen/common/sched/credit2.c
+++ b/xen/common/sched/credit2.c
@@ -2909,6 +2909,7 @@ static void cf_check csched2_unit_migrate(
         sched_set_res(unit, get_sched_res(new_cpu));
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 static int cf_check
 csched2_dom_cntl(
     const struct scheduler *ops,
@@ -3114,6 +3115,7 @@ csched2_dom_cntl(
 
     return rc;
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 static void cf_check
 csched2_aff_cntl(const struct scheduler *ops, struct sched_unit *unit,
@@ -4246,9 +4248,9 @@ static const struct scheduler sched_credit2_def = {
     .wake           = csched2_unit_wake,
     .yield          = csched2_unit_yield,
 
-    .adjust         = csched2_dom_cntl,
     .adjust_affinity= csched2_aff_cntl,
 #ifdef CONFIG_MGMT_HYPERCALLS
+    .adjust         = csched2_dom_cntl,
     .adjust_global  = csched2_sys_cntl,
 #endif
 
diff --git a/xen/common/sched/private.h b/xen/common/sched/private.h
index b7ff67200b..3b35002c5d 100644
--- a/xen/common/sched/private.h
+++ b/xen/common/sched/private.h
@@ -349,14 +349,14 @@ struct scheduler {
     void         (*migrate)        (const struct scheduler *ops,
                                     struct sched_unit *unit,
                                     unsigned int new_cpu);
-    int          (*adjust)         (const struct scheduler *ops,
-                                    struct domain *d,
-                                    struct xen_domctl_scheduler_op *op);
     void         (*adjust_affinity)(const struct scheduler *ops,
                                     struct sched_unit *unit,
                                     const struct cpumask *hard,
                                     const struct cpumask *soft);
 #ifdef CONFIG_MGMT_HYPERCALLS
+    int          (*adjust)         (const struct scheduler *ops,
+                                    struct domain *d,
+                                    struct xen_domctl_scheduler_op *op);
     int          (*adjust_global)  (const struct scheduler *ops,
                                     struct xen_sysctl_scheduler_op *sc);
 #endif
@@ -506,13 +506,13 @@ static inline void sched_adjust_affinity(const struct scheduler *s,
         s->adjust_affinity(s, unit, hard, soft);
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 static inline int sched_adjust_dom(const struct scheduler *s, struct domain *d,
                                    struct xen_domctl_scheduler_op *op)
 {
     return s->adjust ? s->adjust(s, d, op) : 0;
 }
 
-#ifdef CONFIG_MGMT_HYPERCALLS
 static inline int sched_adjust_cpupool(const struct scheduler *s,
                                        struct xen_sysctl_scheduler_op *op)
 {
diff --git a/xen/common/sched/rt.c b/xen/common/sched/rt.c
index 7b1f64a779..a42040b259 100644
--- a/xen/common/sched/rt.c
+++ b/xen/common/sched/rt.c
@@ -1362,6 +1362,7 @@ out:
     unit_schedule_unlock_irq(lock, unit);
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 /*
  * set/get each unit info of each domain
  */
@@ -1471,6 +1472,7 @@ rt_dom_cntl(
 
     return rc;
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 /*
  * The replenishment timer handler picks units
@@ -1572,7 +1574,9 @@ static const struct scheduler sched_rtds_def = {
     .insert_unit    = rt_unit_insert,
     .remove_unit    = rt_unit_remove,
 
+#ifdef CONFIG_MGMT_HYPERCALLS
     .adjust         = rt_dom_cntl,
+#endif
 
     .pick_resource  = rt_res_pick,
     .do_schedule    = rt_schedule,
diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h
index 9b1d31b6ec..5810a18087 100644
--- a/xen/include/xsm/dummy.h
+++ b/xen/include/xsm/dummy.h
@@ -141,12 +141,14 @@ static XSM_INLINE int cf_check xsm_getdomaininfo(
     return xsm_default_action(action, current->domain, d);
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 static XSM_INLINE int cf_check xsm_domctl_scheduler_op(
     XSM_DEFAULT_ARG struct domain *d, int cmd)
 {
     XSM_ASSERT_ACTION(XSM_HOOK);
     return xsm_default_action(action, current->domain, d);
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 #ifdef CONFIG_MGMT_HYPERCALLS
 static XSM_INLINE int cf_check xsm_sysctl_scheduler_op(XSM_DEFAULT_ARG int cmd)
diff --git a/xen/include/xsm/xsm.h b/xen/include/xsm/xsm.h
index 4c6e0dc0f9..9dd485646a 100644
--- a/xen/include/xsm/xsm.h
+++ b/xen/include/xsm/xsm.h
@@ -56,8 +56,8 @@ struct xsm_ops {
                                 struct xen_domctl_getdomaininfo *info);
     int (*domain_create)(struct domain *d, uint32_t ssidref);
     int (*getdomaininfo)(struct domain *d);
-    int (*domctl_scheduler_op)(struct domain *d, int op);
 #ifdef CONFIG_MGMT_HYPERCALLS
+    int (*domctl_scheduler_op)(struct domain *d, int op);
     int (*sysctl_scheduler_op)(int op);
 #endif
     int (*set_target)(struct domain *d, struct domain *e);
@@ -240,13 +240,13 @@ static inline int xsm_get_domain_state(xsm_default_t def, struct domain *d)
     return alternative_call(xsm_ops.get_domain_state, d);
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 static inline int xsm_domctl_scheduler_op(
     xsm_default_t def, struct domain *d, int cmd)
 {
     return alternative_call(xsm_ops.domctl_scheduler_op, d, cmd);
 }
 
-#ifdef CONFIG_MGMT_HYPERCALLS
 static inline int xsm_sysctl_scheduler_op(xsm_default_t def, int cmd)
 {
     return alternative_call(xsm_ops.sysctl_scheduler_op, cmd);
diff --git a/xen/xsm/dummy.c b/xen/xsm/dummy.c
index dbe363f0de..724b2a2653 100644
--- a/xen/xsm/dummy.c
+++ b/xen/xsm/dummy.c
@@ -18,8 +18,8 @@ static const struct xsm_ops __initconst_cf_clobber dummy_ops = {
     .security_domaininfo           = xsm_security_domaininfo,
     .domain_create                 = xsm_domain_create,
     .getdomaininfo                 = xsm_getdomaininfo,
-    .domctl_scheduler_op           = xsm_domctl_scheduler_op,
 #ifdef CONFIG_MGMT_HYPERCALLS
+    .domctl_scheduler_op           = xsm_domctl_scheduler_op,
     .sysctl_scheduler_op           = xsm_sysctl_scheduler_op,
 #endif
     .set_target                    = xsm_set_target,
diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c
index d0fd057db5..839a4cf9e6 100644
--- a/xen/xsm/flask/hooks.c
+++ b/xen/xsm/flask/hooks.c
@@ -609,6 +609,7 @@ static int cf_check flask_getdomaininfo(struct domain *d)
     return current_has_perm(d, SECCLASS_DOMAIN, DOMAIN__GETDOMAININFO);
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 static int cf_check flask_domctl_scheduler_op(struct domain *d, int op)
 {
     switch ( op )
@@ -626,7 +627,6 @@ static int cf_check flask_domctl_scheduler_op(struct domain *d, int op)
     }
 }
 
-#ifdef CONFIG_MGMT_HYPERCALLS
 static int cf_check flask_sysctl_scheduler_op(int op)
 {
     switch ( op )
@@ -1883,8 +1883,8 @@ static const struct xsm_ops __initconst_cf_clobber flask_ops = {
     .security_domaininfo = flask_security_domaininfo,
     .domain_create = flask_domain_create,
     .getdomaininfo = flask_getdomaininfo,
-    .domctl_scheduler_op = flask_domctl_scheduler_op,
 #ifdef CONFIG_MGMT_HYPERCALLS
+    .domctl_scheduler_op = flask_domctl_scheduler_op,
     .sysctl_scheduler_op = flask_sysctl_scheduler_op,
 #endif
     .set_target = flask_set_target,
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Oct 13 10:27:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 10:27:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142080.1476353 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8Flv-0001d2-Vo; Mon, 13 Oct 2025 10:27:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142080.1476353; Mon, 13 Oct 2025 10:27:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8Flv-0001b2-NR; Mon, 13 Oct 2025 10:27:19 +0000
Received: by outflank-mailman (input) for mailman id 1142080;
 Mon, 13 Oct 2025 10:27:18 +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
 <SRS0=gL+L=4W=amd.com=penny.zheng@srs-se1.protection.inumbo.net>)
 id 1v8FcN-0004Hi-KF
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 10:17:27 +0000
Received: from CH4PR04CU002.outbound.protection.outlook.com
 (mail-northcentralusazlp170130007.outbound.protection.outlook.com
 [2a01:111:f403:c105::7])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d0806c96-a81d-11f0-9d15-b5c5bf9af7f9;
 Mon, 13 Oct 2025 12:17:25 +0200 (CEST)
Received: from BLAPR05CA0047.namprd05.prod.outlook.com (2603:10b6:208:335::28)
 by SA0PR12MB7479.namprd12.prod.outlook.com (2603:10b6:806:24b::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.12; Mon, 13 Oct
 2025 10:17:22 +0000
Received: from BN2PEPF000055DC.namprd21.prod.outlook.com
 (2603:10b6:208:335:cafe::c5) by BLAPR05CA0047.outlook.office365.com
 (2603:10b6:208:335::28) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9228.9 via Frontend Transport; Mon,
 13 Oct 2025 10:17:22 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 BN2PEPF000055DC.mail.protection.outlook.com (10.167.245.6) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9253.0 via Frontend Transport; Mon, 13 Oct 2025 10:17:22 +0000
Received: from penny-System-Product-Name.amd.com (10.180.168.240) by
 satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.2562.17; Mon, 13 Oct 2025 03:17:20 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d0806c96-a81d-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=JIE/XPUodBLpLPFOCaDDaY/iFHAKmJDiwHv+lBFH0IkYCFs7VHFjbUsgFZ9GX5PeC+nJ6wdrBrgg+GeyZeXB9wnaW4OsVosfoeKxE+fZbsUWWuaPhunS8FgEu1lLXH2Xlu67gu+b6cVxTylUsOHYeh7bOzqUs+fmt2or5CflD8YsQGQ75YkPTkei0mKuLbEKJs9bWw5Q73Xh1xspfXbKU2lie6pnBoi/Kh6BgPMgDBlZDkjDHfs+EV7l8+UTMG61icESFVeATqR/QckZNScud2itrzpc8tT47cJYPDeUXxDM3TuwRydwu5l+g8IFfpb7vg7Qj7YjHB2uoQjJYn7ZZw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=S9x7Xa5KkUvXjjgvJRgz/0aHtQ5ZefYKpd00CZcZ/TA=;
 b=uJAFQ5akoEY2xHTpQ+5SWsX6NIstGNgvHgMOmbT1fIaOZO/w+a3ZDQzZSmyZtBt4Ih9e5aIUk+F/XF2/m0+LBaLPgEB9qUbLpy0JrmxsRyB2xAwTSKzmZIu9vHdODeAAbZmNyEm0qfUFCIuGNSFW8nI3gDnC4uHma7QG3PQqm2keCcZtbBcW6gKSc9C5JmbbMB6W5kkvedB7d1CfgvTFhdJVQOrpLPjt7SFTokyl9mpcLMi+Au2O2x9RgLc0d6NvlYKrLKiEmJx4dM6yWBr5X/olK/nfi10zpnRrI40sF8rc7Cjf98ExNGTj309YVMetkq0k6qK611C2eaMs+Dy0sw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=S9x7Xa5KkUvXjjgvJRgz/0aHtQ5ZefYKpd00CZcZ/TA=;
 b=iv9ifZ3sG8pbJWVdFWgUhT+3xj8yXjkNqafvpsmDrMlAscAtydUQQAcpuV1D44xDh1iI/r7Gun+W4TmD3VxUF+rjIo2ggN8sYmShpIBuE6SEF3peOxAD1WuzUuSVhYuU82T3SlJ5DJ4AoQOjgw72hFxhxboEx2nkSvvn4Z22jh8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Penny Zheng <Penny.Zheng@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <ray.huang@amd.com>, <oleksii.kurochko@gmail.com>, Penny Zheng
	<Penny.Zheng@amd.com>, "Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: [PATCH v3 19/28] xen/domctl: wrap xsm_irq_permission with CONFIG_MGMT_HYPERCALLS
Date: Mon, 13 Oct 2025 18:15:31 +0800
Message-ID: <20251013101540.3502842-20-Penny.Zheng@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20251013101540.3502842-1-Penny.Zheng@amd.com>
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN2PEPF000055DC:EE_|SA0PR12MB7479:EE_
X-MS-Office365-Filtering-Correlation-Id: 7477c648-d6a0-4956-b935-08de0a41b2fb
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|1800799024|376014|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?6agB+owhsd3NEdlqhxSCrwwx32UfAlIfs2VZCcphzVjiRAO6LWTenyzc/0sD?=
 =?us-ascii?Q?CPgzBGvXTpRNwIty0x9iO+hOlM9hM2Ue45CJv+DO5q4ZutiJ/qjugegBv6Vo?=
 =?us-ascii?Q?URrFblpnoQQFB+fpIMFoCJx+rEfS41rYGkfC9qu0uiRf2fxgg0v9kX7jLfYK?=
 =?us-ascii?Q?1uSir7tgWSujOf7yRUXFDsmvNCD0iOSBmtyi6EVHLJjVBm57MZ7kGT7Vg3rw?=
 =?us-ascii?Q?S/huwjRw+Dud3tJNneZgBet7JmdSnwwkRXc8RPCETLiL4hxS1tAYDSnmw24j?=
 =?us-ascii?Q?t8ofnHHrF13cBNXHyXtNTx1hG21DMhseuLGRNR01C7T9z8ocK+fjR2Y8MxlL?=
 =?us-ascii?Q?wCD8+xjqwNYwqesMvTfAs3IW6fBD4Jh/treTUx/rZtcq4vK+YHkaifvbM9Ub?=
 =?us-ascii?Q?ElloeOpgEn/neVdGslkzUVSfPOt32uAFzEgA6J9QJourIImCLjyc7cdMuLtZ?=
 =?us-ascii?Q?llNMHdB6qoZqBG+FNTmZ954g1e6LGyvF6LzxX0dDHXJhQ6UzcSPShgMKScNF?=
 =?us-ascii?Q?ZnZ4Yzi2DyMA4ONTjkt4Av0VUFC5ChrN9dgYy1BsUkVlO5+s7Xa+Wso4Slcu?=
 =?us-ascii?Q?wyB+HowPLv4Pq9PI0D7BzSjdWKRKZe4DOI+DIES9d/84WCKVqtgt6D5+z+aj?=
 =?us-ascii?Q?n64WKvLdVJfYnuYbaFsFV6KghyrJwrfqiCe4+A/pzOiRVhncXGDzxT4yM83p?=
 =?us-ascii?Q?R/+ZKOSSfVUFv7Vqruj5cg7SEz70Z1Qm3O9IZk7D7zrTQpbePYySssLK3EpS?=
 =?us-ascii?Q?/M8M4bDSeGZOoBIFQ6nlJ/gQPaPwsRDOHiQpBsyc64rvvelEJ6cSayfgJ0zg?=
 =?us-ascii?Q?YOkCAs7mvZZbsqD342k8VyBa1rYHjcHfhSkyjue5cBob7QIrpo/F9b3MffsN?=
 =?us-ascii?Q?VERCvFmuU722ju4S5DMaJNH0RkvclkFvcf7mIYGtoOhjdj94DPb4P+zON4Fk?=
 =?us-ascii?Q?cCaTpye+5iZy+M9MjqEqk3UzE1CldktfBCEQIvbc1mPZMqZpc42mQqqSwnId?=
 =?us-ascii?Q?Rv10iiJZkY1oMsWlgcIoeL1nJVzl0Hy+vWa+rjXWRNxH7ou+59IdTTFj0dc/?=
 =?us-ascii?Q?GBBLnFm/YeZM0rkpiVnHCgo9/JlAt9oZbeUWAkJu+XLKduXpAXWgMILcusja?=
 =?us-ascii?Q?FYa/MYYWMVnJe6mCXXhf2zaZ8A9Sb1qHV1Nyb3kKTK70hXQpEGhIyPrWgGR6?=
 =?us-ascii?Q?2JHehnUSQxv8G0W0eL08Yb1BTmB00SFz8fZ+1Aiv+9xHN9/PJxnKa49R7IoD?=
 =?us-ascii?Q?WHUEsUbgJ/k88B96OZuSSutdgflzg4fjJ+PMLAyjWcbJjzfiGVbdRRb9wsAo?=
 =?us-ascii?Q?2V04BDRhIlZzaqOwbV+1Yxh6WVHceRSXcP8mTZCLa5bJJ+nX8GadNhwFbpqx?=
 =?us-ascii?Q?SwLopGZC5XnXYmfEAwqAl8pTyyGdNNwvQNoGfONcB6tLHr/WHfMl5U/jX28k?=
 =?us-ascii?Q?ejlBf1KRmb1mHriOhCMxC51/NjF/a962p/22MG5m2buXPIhcmlfUUGB3P4BW?=
 =?us-ascii?Q?V/44ywtqO04p4KXfjDhDxoP7/z40i7VER3u0mXGVP4Y0cAQL4jdoq0KtOua6?=
 =?us-ascii?Q?pr4D85pbUfZTaPGOh10=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(376014)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2025 10:17:22.4648
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7477c648-d6a0-4956-b935-08de0a41b2fb
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN2PEPF000055DC.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR12MB7479

Function xsm_irq_permission() is invoked only under
XEN_DOMCTL_irq_permission domctl-op, and shall be wrapped with
CONFIG_MGMT_HYPERCALLS. Otherwise it will become unreanchable when
MGMT_HYPERCALLS=n, and hence violating Misra rule 2.1.

Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
v1 -> v2:
- adapt to changes of "unify DOMCTL to MGMT_HYPERCALLS"
---
v2 -> v3
- add missing wrapping in xsm/dummy.h
- adapt to the commit of "remove redundant xsm_iomem_mapping()"
- address "violating Misra rule 2.1" in commit message
---
 xen/include/xsm/dummy.h | 2 ++
 xen/include/xsm/xsm.h   | 4 ++++
 xen/xsm/dummy.c         | 2 ++
 xen/xsm/flask/hooks.c   | 4 ++++
 4 files changed, 12 insertions(+)

diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h
index 5810a18087..a5deb8a975 100644
--- a/xen/include/xsm/dummy.h
+++ b/xen/include/xsm/dummy.h
@@ -564,12 +564,14 @@ static XSM_INLINE int cf_check xsm_unmap_domain_irq(
     return xsm_default_action(action, current->domain, d);
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 static XSM_INLINE int cf_check xsm_irq_permission(
     XSM_DEFAULT_ARG struct domain *d, int pirq, uint8_t allow)
 {
     XSM_ASSERT_ACTION(XSM_HOOK);
     return xsm_default_action(action, current->domain, d);
 }
+#endif
 
 static XSM_INLINE int cf_check xsm_iomem_permission(
     XSM_DEFAULT_ARG struct domain *d, uint64_t s, uint64_t e, uint8_t allow)
diff --git a/xen/include/xsm/xsm.h b/xen/include/xsm/xsm.h
index 9dd485646a..ee43002fdb 100644
--- a/xen/include/xsm/xsm.h
+++ b/xen/include/xsm/xsm.h
@@ -115,7 +115,9 @@ struct xsm_ops {
     int (*unmap_domain_irq)(struct domain *d, int irq, const void *data);
     int (*bind_pt_irq)(struct domain *d, struct xen_domctl_bind_pt_irq *bind);
     int (*unbind_pt_irq)(struct domain *d, struct xen_domctl_bind_pt_irq *bind);
+#ifdef CONFIG_MGMT_HYPERCALLS
     int (*irq_permission)(struct domain *d, int pirq, uint8_t allow);
+#endif
     int (*iomem_permission)(struct domain *d, uint64_t s, uint64_t e,
                             uint8_t allow);
     int (*pci_config_permission)(struct domain *d, uint32_t machine_bdf,
@@ -499,11 +501,13 @@ static inline int xsm_unbind_pt_irq(
     return alternative_call(xsm_ops.unbind_pt_irq, d, bind);
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 static inline int xsm_irq_permission(
     xsm_default_t def, struct domain *d, int pirq, uint8_t allow)
 {
     return alternative_call(xsm_ops.irq_permission, d, pirq, allow);
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 static inline int xsm_iomem_permission(
     xsm_default_t def, struct domain *d, uint64_t s, uint64_t e, uint8_t allow)
diff --git a/xen/xsm/dummy.c b/xen/xsm/dummy.c
index 724b2a2653..7cf00ce37e 100644
--- a/xen/xsm/dummy.c
+++ b/xen/xsm/dummy.c
@@ -73,7 +73,9 @@ static const struct xsm_ops __initconst_cf_clobber dummy_ops = {
     .unmap_domain_irq              = xsm_unmap_domain_irq,
     .bind_pt_irq                   = xsm_bind_pt_irq,
     .unbind_pt_irq                 = xsm_unbind_pt_irq,
+#ifdef CONFIG_MGMT_HYPERCALLS
     .irq_permission                = xsm_irq_permission,
+#endif
     .iomem_permission              = xsm_iomem_permission,
     .pci_config_permission         = xsm_pci_config_permission,
     .get_vnumainfo                 = xsm_get_vnumainfo,
diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c
index 839a4cf9e6..ca07585450 100644
--- a/xen/xsm/flask/hooks.c
+++ b/xen/xsm/flask/hooks.c
@@ -1111,12 +1111,14 @@ static int cf_check flask_unbind_pt_irq(
     return current_has_perm(d, SECCLASS_RESOURCE, RESOURCE__REMOVE);
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 static int cf_check flask_irq_permission(
     struct domain *d, int pirq, uint8_t access)
 {
     /* the PIRQ number is not useful; real IRQ is checked during mapping */
     return current_has_perm(d, SECCLASS_RESOURCE, resource_to_perm(access));
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 struct iomem_has_perm_data {
     uint32_t ssid;
@@ -1938,7 +1940,9 @@ static const struct xsm_ops __initconst_cf_clobber flask_ops = {
     .unmap_domain_irq = flask_unmap_domain_irq,
     .bind_pt_irq = flask_bind_pt_irq,
     .unbind_pt_irq = flask_unbind_pt_irq,
+#ifdef CONFIG_MGMT_HYPERCALLS
     .irq_permission = flask_irq_permission,
+#endif
     .iomem_permission = flask_iomem_permission,
     .pci_config_permission = flask_pci_config_permission,
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Oct 13 10:41:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 10:41:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142186.1476363 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8Fzb-0008MB-CQ; Mon, 13 Oct 2025 10:41:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142186.1476363; Mon, 13 Oct 2025 10:41:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8Fzb-0008M4-9m; Mon, 13 Oct 2025 10:41:27 +0000
Received: by outflank-mailman (input) for mailman id 1142186;
 Mon, 13 Oct 2025 10:41:26 +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 <SRS0=eGB2=4W=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1v8Fza-0008Ly-2W
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 10:41:26 +0000
Received: from mail-ed1-x531.google.com (mail-ed1-x531.google.com
 [2a00:1450:4864:20::531])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 28091030-a821-11f0-980a-7dc792cee155;
 Mon, 13 Oct 2025 12:41:21 +0200 (CEST)
Received: by mail-ed1-x531.google.com with SMTP id
 4fb4d7f45d1cf-63a10267219so790154a12.0
 for <xen-devel@lists.xenproject.org>; Mon, 13 Oct 2025 03:41:20 -0700 (PDT)
Received: from ?IPV6:2003:e5:873f:400:7b4f:e512:a417:5a86?
 (p200300e5873f04007b4fe512a4175a86.dip0.t-ipconnect.de.
 [2003:e5:873f:400:7b4f:e512:a417:5a86])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-63a52b71443sm8388222a12.26.2025.10.13.03.41.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 13 Oct 2025 03:41:20 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 28091030-a821-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760352080; x=1760956880; darn=lists.xenproject.org;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=AS1HDLFftDHi4emSX6YL3beKbPSFKuOMscHczM+O1iM=;
        b=HhXdjwf1s790ekIvJwmJ4k/eNalUFyVfqsBjshKdfZh0BkHr/IvGkt4cl0aP8eDQO0
         x4Q644EBuP5xGNxsyUUorhv7TRoTCbRG35fOaWZ46Vs0BALdkn+N2LExZTJ6eH8B22Mc
         1IQf9fmSQ3Lv6q+qs4H7K4Py1mnfb8C7qRowIUflNqxTWqE3sd5fcmlv2YiMzNUbgmT+
         Hl/ybNjrmpGEmhQObi9YtE7gH6V/d+nWumyBTXNod0iRr7OJrdXTM9n9OWPtI0q8wZOp
         1mYUF51SiFQ2VZ8GqSDtjxWAWZ2VTZCyWYeKu7Fok34sk2deABM3rDEuS1vYOLEvQ/Gl
         TbVQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760352080; x=1760956880;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=AS1HDLFftDHi4emSX6YL3beKbPSFKuOMscHczM+O1iM=;
        b=JOOYfa/2XwjHZ3RnJ+ijBGPxt0q4mb3ZGDYO3aAlcimLnCokvnIncc7iwsuU5a8pHR
         f8TGLBzN26GDtirCKuDV45MLkmSyfWk9hk4jfHn5bOv9pcoEHOihbdwz1F56DTvRRVMd
         lvCDj3Lya5CufHrZi2d9Vhd61UjxQcrjH8HmLKYCg160pePoSOKSmwnHAOzuBEHcdWO+
         SM/SPIYe5jN11Q1qtwJkeHIL2riNIANqEF0gGjDY6RivMpTawGBdjs91G5KmKaSdnoGK
         6pA7iu7kJj8RRjegGeUPS5Xx85OlgvRkDUtF1snzIe5HUsNW9/H1dinDkmH+odKRPuWf
         pjdA==
X-Forwarded-Encrypted: i=1; AJvYcCWF2e8JicNKOLJqNDA+kUk1YxThXLgPR09OdewBdLAjgwmlOHhJDMaU9Mgbk/CIpLNEVXiXSgRY/Rc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwF6cUu8crc1mqEn1/mewov5dIl9DEbUXT5TE32H7+e19BHvu6t
	QcnckTy+Io6l8E6s73+GiPixJHBzlYOzbVzPv+UQQ7DEAvMdoH/vqUxg3BwzBpBKGS0=
X-Gm-Gg: ASbGncv/BCfYurhP2CBvKzcTgPxSmJ6N00i7WxBWxytqG8ktkdY+WJtswZ18qfofMch
	fZhBRczhz18pBnMk5W9JpM/qikLoNjtfE6w2tsGuFgpkD9ZKkSMhyv9JV+sT9P+EhNWSpP6CZAv
	DPUMpQCCMpYJtB7JZJP51CIgIBB3/GWs/wxNl43EY0mL4bvnlLPcyOK6NAW6+NBgNU1KzC7UR1j
	aGE4mb/wQ9UfzADUdFJln0YC8lsyrLNH6r+iIsYKPPgCdltC6CXYkjhfR/6ib5GbfVWuXX+Py7o
	AU4LKCvt3HsjQi9oOAmwKoJR7bYg2BZ2DsrPWAcSh9rYrRv9pa44ZaJsKtbyaQUhqWIBNkpX9vU
	EFtLN/ibCzUtEmz4VCa1T9ctTFuPq+SHCLnTheEe3QIdU0TCuBAqTvRH5Z1jiYDlcGV6m+bsRML
	xH3AvHSYhidxACDhgmX6dSLVkTMhb21SFRVvdFr2JnpWLStC0xpYnsf1trnAJV9qE+zdRp5pPt/
	WzdYFU4kkYl
X-Google-Smtp-Source: AGHT+IFr1yd60vcg0w0GsOlESY4buEcFhn509k9vqySAIhBdf6/8VL19Dkovb9Tjv3M5g7KJddGEZg==
X-Received: by 2002:a05:6402:40cd:b0:639:f9af:6b28 with SMTP id 4fb4d7f45d1cf-639f9af6f1amr16829042a12.7.1760352080284;
        Mon, 13 Oct 2025 03:41:20 -0700 (PDT)
Message-ID: <cc1b1203-6b64-4b8f-b4cb-04c350739a64@suse.com>
Date: Mon, 13 Oct 2025 12:41:19 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 05/28] xen/sysctl: replace CONFIG_SYSCTL with
 CONFIG_MGMT_DOMCTL
To: Penny Zheng <Penny.Zheng@amd.com>, xen-devel@lists.xenproject.org,
 xen-devel@dornerworks.com
Cc: ray.huang@amd.com, oleksii.kurochko@gmail.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Nathan Studer <nathan.studer@dornerworks.com>,
 Stewart Hildebrand <stewart@stew.dk>, Dario Faggioli <dfaggioli@suse.com>,
 George Dunlap <gwd@xenproject.org>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
 <20251013101540.3502842-6-Penny.Zheng@amd.com>
Content-Language: en-US
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <20251013101540.3502842-6-Penny.Zheng@amd.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------y5VqqXbfcr4KhU06Kf0o1jtI"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------y5VqqXbfcr4KhU06Kf0o1jtI
Content-Type: multipart/mixed; boundary="------------ORoZ59t5ayu02apZBpkdVQkc";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Penny Zheng <Penny.Zheng@amd.com>, xen-devel@lists.xenproject.org,
 xen-devel@dornerworks.com
Cc: ray.huang@amd.com, oleksii.kurochko@gmail.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Nathan Studer <nathan.studer@dornerworks.com>,
 Stewart Hildebrand <stewart@stew.dk>, Dario Faggioli <dfaggioli@suse.com>,
 George Dunlap <gwd@xenproject.org>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>
Message-ID: <cc1b1203-6b64-4b8f-b4cb-04c350739a64@suse.com>
Subject: Re: [PATCH v3 05/28] xen/sysctl: replace CONFIG_SYSCTL with
 CONFIG_MGMT_DOMCTL
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
 <20251013101540.3502842-6-Penny.Zheng@amd.com>
In-Reply-To: <20251013101540.3502842-6-Penny.Zheng@amd.com>
Autocrypt-Gossip: 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
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJ3BBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AAIQkQoDSui/t3IH4WIQQ+pJkfkcoLMCa4X6CgNK6L+3cgfgn7AJ9DmMd0SMJE
 ePbc7/m22D2v04iu7ACffXTdZQhNl557tJuDXZSBxDmW/tLOwU0EWTecRBAIAIK5OMKMU5R2
 Lk2bbjgX7vyQuCFFyKf9rC/4itNwhYWFSlKzVj3WJBDsoi2KvPm7AI+XB6NIkNAkshL5C0kd
 pcNd5Xo0jRR5/WE/bT7LyrJ0OJWS/qUit5eNNvsO+SxGAk28KRa1ieVLeZi9D03NL0+HIAtZ
 tecfqwgl3Y72UpLUyt+r7LQhcI/XR5IUUaD4C/chB4Vq2QkDKO7Q8+2HJOrFIjiVli4lU+Sf
 OBp64m//Y1xys++Z4ODoKh7tkh5DxiO3QBHG7bHK0CSQsJ6XUvPVYubAuy1XfSDzSeSBl//C
 v78Fclb+gi9GWidSTG/4hsEzd1fY5XwCZG/XJJY9M/sAAwUH/09Ar9W2U1Qm+DwZeP2ii3Ou
 14Z9VlVVPhcEmR/AFykL9dw/OV2O/7cdi52+l00reUu6Nd4Dl8s4f5n8b1YFzmkVVIyhwjvU
 jxtPyUgDOt6DRa+RaDlXZZmxQyWcMv2anAgYWGVszeB8Myzsw8y7xhBEVV1S+1KloCzw4V8Z
 DSJrcsZlyMDoiTb7FyqxwQnM0f6qHxWbmOOnbzJmBqpNpFuDcz/4xNsymJylm6oXiucHQBAP
 Xb/cE1YNHpuaH4SRhIxwQilCYEznWowQphNAbJtEKOmcocY7EbSt8VjXTzmYENkIfkrHRyXQ
 dUm5AoL51XZljkCqNwrADGkTvkwsWSvCSQQYEQIACQUCWTecRAIbDAAKCRCgNK6L+3cgfuef
 AJ9wlZQNQUp0KwEf8Tl37RmcxCL4bQCcC5alCSMzUBJ5DBIcR4BY+CyQFAs=

--------------ORoZ59t5ayu02apZBpkdVQkc
Content-Type: multipart/mixed; boundary="------------3uFrh0PputcsFxY0vbB0Oc8k"

--------------3uFrh0PputcsFxY0vbB0Oc8k
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTMuMTAuMjUgMTI6MTUsIFBlbm55IFpoZW5nIHdyb3RlOg0KPiBSZW5hbWUgYWxsIHRo
ZSBDT05GSUdfU1lTQ1RMIGludG8gQ09ORklHX01HTVRfSFlQRVJDQUxMUyB0byBoZWxwIHBy
b3ZpZGUgYQ0KPiBzaW5nbGUgb3B0aW9uIHRvIG1hbmFnZSBhbGwgdW5uZWNlc3NhcnkgaHlw
ZXJjYWxscywgaW5jbHVkaW5nDQo+IHN5c2N0bCwgZG9tY3RsLCBldGMsIGluIGRvbTBsZXNz
IHN5c3RlbSBhbmQgUFYgc2hpbSBtb2RlLCB3aGljaCBjb3VsZCBhbHNvDQo+IG1ha2UgaXQg
ZWFzaWVyIHRvIHN1cHBvcnQgcmFuZGNvbmZpZ3MuDQo+IFdoaWxlIGRvaW5nIHRoZSByZXBs
YWNlbWVudCwgd2UgZml4IHNvbWUgYnVncyBvbiB4c20gc3lzdGVtOg0KPiAtIHdyYXAgdGhl
IHdob2xlIHhzbSBmdW5jdGlvbiB0byBhdm9pZCBicmluZ2luZyB1bnJlYWNoYWJsZSBjb2Rl
cyB3aGVuDQo+IE1HTVRfRE9NQ1RMPW4NCj4gLSBhZGQgbWlzc2luZyB3cmFwcGluZyBpbiBp
bmNsdWRlL3hzbS9kdW1teS5oDQo+IA0KPiBTdWdnZXN0ZWQtYnk6IFN0ZWZhbm8gU3RhYmVs
bGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4NCj4gU2lnbmVkLW9mZi1ieTogUGVubnkg
WmhlbmcgPFBlbm55LlpoZW5nQGFtZC5jb20+DQo+IFJldmlld2VkLWJ5OiBTdGVmYW5vIFN0
YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+DQoNClJldmlld2VkLWJ5OiBKdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+DQoNCg0KSnVlcmdlbg0K
--------------3uFrh0PputcsFxY0vbB0Oc8k
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------3uFrh0PputcsFxY0vbB0Oc8k--

--------------ORoZ59t5ayu02apZBpkdVQkc--

--------------y5VqqXbfcr4KhU06Kf0o1jtI
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmjs108FAwAAAAAACgkQsN6d1ii/Ey8J
RAf+LH/H96lW5kfLoJUuHLJDJN2wcHkWRbI27NQp3mBNL7ikvDspUYVg9KGZFiFFLHU5Q+YrMKfS
239dxM6b2La1NWW2i5HhaIDNLYw4hFORK/2XrauwlW08oWM8xv+U8IUQ1wN49/vPLe7qatn7RuG4
9swiECkpsPlug/Opg0KzMkbBglfoe5z10Kk6lIJb/5aOKwlb6Y/DHfOieKr/BN3mz/OCOjskiXoS
ZYnS7lDmPvoPxi8bgp/P5dZu5deJH7OZYpsV5Ft8Z+mgU8mwXPfBRVhuXCVF/S4cuDUS28b9b2IK
nkoRyqC9gaG6gOl4srdn61k7K1aa28p0eAswXgXeiw==
=LK5c
-----END PGP SIGNATURE-----

--------------y5VqqXbfcr4KhU06Kf0o1jtI--


From xen-devel-bounces@lists.xenproject.org Mon Oct 13 10:44:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 10:44:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142194.1476373 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8G25-0000S0-Od; Mon, 13 Oct 2025 10:44:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142194.1476373; Mon, 13 Oct 2025 10:44:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8G25-0000Rt-Lw; Mon, 13 Oct 2025 10:44:01 +0000
Received: by outflank-mailman (input) for mailman id 1142194;
 Mon, 13 Oct 2025 10:43:59 +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
 <SRS0=bZn2=4W=amd.com=Alejandro.GarciaVallejo@srs-se1.protection.inumbo.net>)
 id 1v8G23-0000Rh-PY
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 10:43:59 +0000
Received: from SA9PR02CU001.outbound.protection.outlook.com
 (mail-southcentralusazlp170130001.outbound.protection.outlook.com
 [2a01:111:f403:c10c::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 82f536e3-a821-11f0-980a-7dc792cee155;
 Mon, 13 Oct 2025 12:43:53 +0200 (CEST)
Received: from CH2PR11CA0011.namprd11.prod.outlook.com (2603:10b6:610:54::21)
 by CY5PR12MB6202.namprd12.prod.outlook.com (2603:10b6:930:25::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.12; Mon, 13 Oct
 2025 10:43:49 +0000
Received: from CH1PEPF0000A345.namprd04.prod.outlook.com
 (2603:10b6:610:54:cafe::91) by CH2PR11CA0011.outlook.office365.com
 (2603:10b6:610:54::21) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9203.13 via Frontend Transport; Mon,
 13 Oct 2025 10:43:49 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 CH1PEPF0000A345.mail.protection.outlook.com (10.167.244.8) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9228.7 via Frontend Transport; Mon, 13 Oct 2025 10:43:49 +0000
Received: from localhost (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Mon, 13 Oct
 2025 03:43:46 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 82f536e3-a821-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=f28le4UyXclV6DRDNk1CY4pTeaDDtUphCdDlaOWzQhumsGEGA8LZhREK4UW7RFUzSp8koBFaPQ21St3PhXpqEuIznCjP4Yft+TXjznq86Fuiczw1XGj1WDGcBPXBt8sS9qwYEbo/r0sXuYEIEPVNh0FO8KdhU4ro8Vswo2JoBNEFs22LRUAOJiB/VouO2tOvzV6vYzZONGrKi/XcS8hn3xbUASdIcd9Nmo5ruPgvdD3GdlfjsH7TKq7rUNb3fisdTNDFemakyxgjmR4wGX4McpriBcreUmnMiCaOGGcmXK0TCYLE2qoHFuhm8HyLVYKIU5BceMObGcoFPuTVaL2B1A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=y3hyAGuYKXHdIyltTIG0zCrXJWunGtE8jaDPWRrTg5M=;
 b=ALlDhj/beekt6koksfgrt/+euw3LRuH1G/y9N7zpp/dphffSYTAo+z7rDufdiiX6yiwyf7ARNNaVln19tZmnOgY3pUDX3aKp69NmDCboWwhOirO+9x8pbfJ8/RQAWYbRZNmMg4wlarjddfafTAe7MbNlpE8IEL9JiugziH5VCt9iABimgdq2lfKpHggZQJqDLu+MEGiUv8wJ7H/SqhStW0e0WeJWAO1MjeAkITk4sKA+QU/BOX6Ua0ngjmRKFvXzijTiGCXfQmoOoA0qoko9W0svmtDjLnCRt9/Tq3q+Ykf2MZ6JfhsZV1w2naLgodWcO4uwwKUBHF6fNhDBorIZ8w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=citrix.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=y3hyAGuYKXHdIyltTIG0zCrXJWunGtE8jaDPWRrTg5M=;
 b=xKLFmp9Zdb5892v3FYP9SjzkM3TAv+a/ykb/L8qXDzKF1rWmYop+XRqYV9FD3KXYUCalPP/ACmXMq6GvnOjaypxHWxQiSGxQ/pnDGeEX7uvS0MrCy5Wy/w22fcvFCtCZPTSOcu5QNu0xMeo5iWidqUnuugCrmmNpVAreHrAvH1M=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="UTF-8"
Date: Mon, 13 Oct 2025 12:43:45 +0200
Message-ID: <DDH4S89FCPOF.2JQM7OUYX3YH6@amd.com>
CC: Anthony PERARD <anthony.perard@vates.tech>, Michal Orzel
	<michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, =?utf-8?q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Xen-devel
	<xen-devel-bounces@lists.xenproject.org>
Subject: Re: [PATCH] xen/domctl: Fix double domid_free in
 XEN_DOMCTL_createdomain error path
From: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>, Oleksii Moisieiev
	<Oleksii_Moisieiev@epam.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
X-Mailer: aerc 0.20.1
References: <37561a9a3b6000502bb1a43651f6ddc49cd9149c.1757759941.git.oleksii_moisieiev@epam.com> <3ba29020-3a9b-4e10-8523-82bfb63482f6@citrix.com>
In-Reply-To: <3ba29020-3a9b-4e10-8523-82bfb63482f6@citrix.com>
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH1PEPF0000A345:EE_|CY5PR12MB6202:EE_
X-MS-Office365-Filtering-Correlation-Id: a686552a-4f9a-4eee-1536-08de0a4564ca
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|1800799024|376014|82310400026|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?UWpmbHZyL3RuY2poL2FTSXl3eE5jSEJab3JJZVNkSkV3NVRFWnV0T3M0QTF5?=
 =?utf-8?B?U28yOXRSNGdBaXdkRFNTVHN1c0dhYmZLcFFJRkJzQ2xEa1VyV2NTQXBTTG43?=
 =?utf-8?B?WTRQTU0zT1NOTTFpNGpSWXhidElQa0hIaEo4NzJITkVmMXhDQ1RZNXRicFFx?=
 =?utf-8?B?YkUrK0xmV1Y2QzNBNmY1Y3ErWTFaM21XY2FvbU5XSUpqcUY3b1FzRFhndS9u?=
 =?utf-8?B?M01DSE90YWhYMS9QcWJya3ArU2ljbURQbDNFNEZVQ3hTYWFiMXl4c0VtTTlj?=
 =?utf-8?B?cWs5S1FvQUkxcGwxbW9KcDRhM0pQMUVtK1d3Vm9yQUNYeHBTWDlyS1p0Zk04?=
 =?utf-8?B?NStxSEhEUUZSVEg2ZFE5MW9JcW8rbnFqK1lyOUJqYWVScmYxWEdCb1lOdEgr?=
 =?utf-8?B?TDIyOG9maW5MQlB4UHI4RXMwUjQ0QlBhaExFNzU4bzRuM2xiNisrWkwyODhN?=
 =?utf-8?B?T1MwVjFZUmVCNzN4c3RkWmdaNGlQNVZ5dnFrVFNrN3o1d1lTSHRRVXRqd0tk?=
 =?utf-8?B?MzdoSzNhTHJnZkhkWTVqMEFxNHVZRVdWY1ZMQmFKRGNBa2FPbXBrc0ZnTmpQ?=
 =?utf-8?B?cGd5L3FqOXRia3NRNDVYdExOalE2amQ0cnBIRWRCUFJRa1JsdUdRSkcyY1o3?=
 =?utf-8?B?SHFSUHZxTVV0bklnZHg2ckplU1RRTmpiMjBGUVNRZjZ3bGR2alVKcFFCc0M2?=
 =?utf-8?B?dkpFd0M2aGZWeE96aXVDeXE3dkMwd3pPdmtUSUdqdGJrMFZDNkU5ci9sUStB?=
 =?utf-8?B?Q2hqbHRldElsRnhLU3FiQWNLWUQrSEx3OGcycDdvM2h3aHQvR1BaeURzSzg1?=
 =?utf-8?B?bGdkVm1ZOXhHNDNhVzJkcnAydkdvZExlSTNFSnplT2YvV1JZZm95MmFxRjJn?=
 =?utf-8?B?eDFrbWZ5SHdXazFTTHdLZ2xBT0lmRmxiODErOXN5eW1IY0FqYmdkRlMrYXgv?=
 =?utf-8?B?NEFCMmZBRGk4eDZoVjl5M052QmozQ2VRR1ZsN2tmaW5YK2RlQittZ0tXMVNE?=
 =?utf-8?B?bzBHeWExaTdWMVN6WU0wQjdTQnVseVRNbXppOGVNTVlhUUxVYXhkZHMzMnNN?=
 =?utf-8?B?SytRQ2VkamdQRGxiNXpBOEh4dDVYeGdYOXc5MkxCY3ZPMGFiUHFCTTNYN1ZZ?=
 =?utf-8?B?VDFnYk4wTkZCVXNrOTVqOEthd3JsSWFhMnhIeGRDUUxLcGkrcUk4cEdlT3NH?=
 =?utf-8?B?dXRqNlYwWm9EVnhVa3g4dUF5cTNKNGMxbXR2aXFqYkhrZitIV3kyY3p3SzNP?=
 =?utf-8?B?V1B0cTdVbmRIUmFrN3lTdXRmNU1OUFNWcUVLcnRVQ29UcUpwdmdMT2wreVZC?=
 =?utf-8?B?cUliTXExbTdMT2tUQ0dudmdjQlVWNjZlOGdOQ2NBcjhUbDJnTjVtSHRDdkF5?=
 =?utf-8?B?aTJCT2g3anl1MThFR1FaMnM0T2tJSzJiRk52Z3JaTmZBZ29hc3haNzUwSWkz?=
 =?utf-8?B?N0U1dy9LamhibEFCVEVYSERvdXJBQnpNQ2dCMTVUcU81eWJpclN5UjRsaHBD?=
 =?utf-8?B?SzVWNmJncDlubDFoUlJKamtvTnhxRmRMVEthZUdFUUlJa1pzWGYwS0hBeW1h?=
 =?utf-8?B?bC95SFpXNld2dkdOS0d1T2lVeFZ6c2hyNktBWlJmQWpWNGJqaGVSK0xibUJW?=
 =?utf-8?B?dWk5eWRMeXovOTRtV21FNHZiMU55S0gvekYxYVNQbjNVQUtVNWVCWHlVWW8r?=
 =?utf-8?B?OGZHVUdTWXE3RHRLWUdoSlBzcnl0NEZsMU9kYnNrRjVTdjdWejY4Mk1POFhV?=
 =?utf-8?B?aDRXaDVmVDVzUUs4dUlzWXZtaEdwNkRRQkhvYXF2SXNkMWYyb25TUjdLcHpi?=
 =?utf-8?B?cFNGdEMycWFjdlFFcDhjV3M2Uyt4czkvSWVsZTlNZkZxckEyVDM5U0daelFx?=
 =?utf-8?B?cVZISDZDMkZ5NkNJVjVERFYvOTdEWU5oTWg3WWtpMU8rUlNsZ2REZVhvUmJU?=
 =?utf-8?B?ejJSVEdiVnp4aHZrVFpKTkF5M0U3WDBvOEE4MkNmczVxVEpnbzBtaDVuV1BU?=
 =?utf-8?B?V0k2THluZW43WVM5Q01VZTA0ZGZ3TXhKOFkrUEhyNGhHTVJBMzhNSStxZnha?=
 =?utf-8?B?NjFEWDRSUzJWSHAwSG15eXNYOElKNm8rLzFNc1lzakE5Y1ZSS0hqeHArWnly?=
 =?utf-8?Q?voOk=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(376014)(82310400026)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2025 10:43:49.2641
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a686552a-4f9a-4eee-1536-08de0a4564ca
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CH1PEPF0000A345.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6202

On Sat Sep 13, 2025 at 1:56 PM CEST, Andrew Cooper wrote:
> On 13/09/2025 11:44 am, Oleksii Moisieiev wrote:
>> Remove redundant domid_free() call in the XEN_DOMCTL_createdomain error
>> handling path to prevent a double-free condition.
>>
>> When domain_create() fails, it internally calls _domain_destroy() during
>> its cleanup routine, which already invokes domid_free() to release the
>> allocated domain ID. The additional domid_free() call in the domctl erro=
r
>> path creates a double-free scenario, triggering an assertion failure in
>> domid.c:
>>
>>     Assertion 'rc' failed at common/domid.c:84
>>
>> The domain creation flow is:
>> 1. domid_alloc() allocates a domain ID
>> 2. domain_create() is called with the allocated ID
>> 3. If domain_create() fails:
>>    a) domain_create() calls _domain_destroy() internally
>>    b) _domain_destroy() calls domid_free() to release the ID
>>    c) domctl incorrectly calls domid_free() again
>>
>> This double-free violates the domain ID management invariants and causes
>> system instability. The fix ensures domid_free() is called exactly once
>> per allocated domain ID, maintaining proper resource cleanup
>> semantics.
>
> Fixes: 2d5065060710 ("xen/domain: unify domain ID allocation")
>
>> Signed-off-by: Oleksii Moisieiev <oleksii_moisieiev@epam.com>
>
> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
>
> the tl;dr is that domain_create() either inserts the domain into the
> domlist, or cleans up after itself.
>
> The domid alloc infrastructure is problematic in multiple ways, not
> least because it now means there are two sources of truth for which
> domain's exist, and they are not interlocked.

The source of truth of existing domains is the domlist. The source of truth
of domids is the domid bitmap; and they need not match.

A domid being allocated doesn't mean the domain exists. Merely that the dom=
id
is unavailable for allocation.

This is fairly important to allow fallible boots, where some boot-domains a=
re
allowed to fail construction for one reason or another while preventing the=
ir
domids from being hijacked by a later domain, and thus prevent some resourc=
es
granted to those domains that failed construction from being usable by othe=
rs.

The actual problem is that the lifetime of certain resources assigned to do=
mains
extends past the lifetime of the domain, and the mere possesion of a domid
grants authority over resources assigned to the domid, even after its assoc=
iated
domain died. This is wrong and bad, and has been wrong and bad since before=
 the
time_t was 0.

If it wasn't for this messed up means of resource management we wouldn't ha=
ve a
need for preventing certain domids from being used. We need saner semantics=
 with
the lifetimes of event channels and grants. And possibly more resources.

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Mon Oct 13 10:44:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 10:44:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142203.1476384 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8G2x-0000vx-28; Mon, 13 Oct 2025 10:44:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142203.1476384; Mon, 13 Oct 2025 10:44:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8G2w-0000vq-VE; Mon, 13 Oct 2025 10:44:54 +0000
Received: by outflank-mailman (input) for mailman id 1142203;
 Mon, 13 Oct 2025 10:44:53 +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 <SRS0=eGB2=4W=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1v8G2v-0000Rh-Pq
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 10:44:53 +0000
Received: from mail-ed1-x52d.google.com (mail-ed1-x52d.google.com
 [2a00:1450:4864:20::52d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a610a624-a821-11f0-980a-7dc792cee155;
 Mon, 13 Oct 2025 12:44:52 +0200 (CEST)
Received: by mail-ed1-x52d.google.com with SMTP id
 4fb4d7f45d1cf-63b6dfd85d4so3747031a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 13 Oct 2025 03:44:52 -0700 (PDT)
Received: from ?IPV6:2003:e5:873f:400:7b4f:e512:a417:5a86?
 (p200300e5873f04007b4fe512a4175a86.dip0.t-ipconnect.de.
 [2003:e5:873f:400:7b4f:e512:a417:5a86])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-b55d8c129c4sm913508566b.41.2025.10.13.03.44.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 13 Oct 2025 03:44:49 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a610a624-a821-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760352292; x=1760957092; darn=lists.xenproject.org;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=+R/X78jm2Irj2eaN3Go6NwIYBw+jEsyYTK+w1HGhScs=;
        b=XWUq+1E877iobWsdY9RqGDsqc8uQlQdW7c5mlSymwCzJDUbyPlAvU1tR0RgfCA/vNQ
         FgO+sjIeL0dIC/s+83GzpOd/L0wRvQydbP1v5vFftylezm8ZUkKMFdetKG4jZCz/rdLl
         R8Qz4j7lQRITmRXaneRp0hU2+tQaZGYy3CrJVUCz5CtN5ydx4FMvocB5OM4+mTxQIsrA
         SXQg/GgDAfOwM6tzAsdpqRgyp1hvzLSpKQ2r8QUctS16143J0GF2LdbSKTXYpFkNAgah
         BGfRZ3oOY8sSjmg3wbcpCXgS9iA52YaMT68N2XI2stF5E03aV4iRbPK6BPkNJxjZB8Jq
         J+iQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760352292; x=1760957092;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=+R/X78jm2Irj2eaN3Go6NwIYBw+jEsyYTK+w1HGhScs=;
        b=wxc+IjxPjRoOKjIV1IItDB69EqcqqfWBus6Qj/0M9MvTFpG4eWXsM3UwNFTUBYCoWH
         uBiDd/K6c69DclAdtugcylu/+TBRvgcY6QPq5ub5/UZoC89GgO5efCALZLhTkZ233w7l
         F5yEu2buLzQf//fr44O1u4VqcJir1uJYlKitYoevHFCJSaAIAac8ouRKuQgo/Zjj41uC
         zVeVHWAm+k0EGogFY2hxO4vP2z9uqDyrRJ7ZRqhqaroeBojkoPmjfawgq0qUgOucsSsP
         fG+4WIPkerOPHvpKLgGOyqRgd6k81tHZlxMTKSl7VZXMraNoZIUnXHheC26i4szDic1I
         FfVA==
X-Forwarded-Encrypted: i=1; AJvYcCUyBvqI/kD05zk38bQwJet5n9PmYaIWUjjoVmqhJ5et32RPGeYcwwAHMbeesuUdFdyBdH+6wXQQfZY=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywn2Kyb10dfGVjUvFkJC7Kixd7AfbfKNY56HwVdiak3E4uCJHtb
	EJCuckEOZWMJd++8X/YXo9AMuZp1YCXXkJb/xff3hMJL/5I3QjJpYbxYR8FZ7gwjVVk=
X-Gm-Gg: ASbGnct6STyBUdXaZvoZq2bn9IFb2CCnl0r9zkLcgvtXeXEq9gi02z20jSXzK7hYeHz
	AGYeB/Rm4Dt6bR9WPKAVeEpsidTNNKlN2pWfee0gHxU4eVx1qqyMp2o+kPfZTOTKwefhkdk6wTK
	GLHc+nG51Wt60F4zLXFXyfIB+wMxm6VH3YXZYw6RH3jdSoXuw0fTGQmt5RR0r7syp+iaXfqYrQa
	GP6cT/vPU51CsLWg4a219Iwu8oH/PNKSS43lsXBT9WIm4RX8k9NTX9MZj/mUtT3ch5IdevutMKS
	8vQCALjJKZTtEBNfHNxV/Owspy4lELW7kpPmugNyniY2ijsJnV+nAWGvF6/W+rEcqPVNvzhhr8U
	YeH0XJJbgllr5mOCTjTpbL7CTal/SLfgu8/tGv7s+LToXc4g0ObV45OLWqepw4XvABXvcIHoqs+
	Hjx63x1Aj4XEau4h3XEc/KXHiniWgRSJKvmGe6nPbP3ecVrFE/uSQnSTWXcoqVS8m3lqJ3UXyDA
	w==
X-Google-Smtp-Source: AGHT+IGl9boHafIzMWS+m4y2BY26uOS33v09kMz/36hXU09JSgcCj7Ok+Mi4qehgfm96eeKyCwzC/w==
X-Received: by 2002:a17:907:94c8:b0:b2d:e514:5348 with SMTP id a640c23a62f3a-b50abaafd5bmr2202165466b.33.1760352289526;
        Mon, 13 Oct 2025 03:44:49 -0700 (PDT)
Message-ID: <c31e2679-2326-4205-b72a-deeb27c19000@suse.com>
Date: Mon, 13 Oct 2025 12:44:48 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 17/28] xen/domctl: wrap vcpu_affinity_domctl() with
 CONFIG_MGMT_HYPERCALLS
To: Penny Zheng <Penny.Zheng@amd.com>, xen-devel@lists.xenproject.org
Cc: ray.huang@amd.com, oleksii.kurochko@gmail.com,
 Dario Faggioli <dfaggioli@suse.com>, George Dunlap <gwd@xenproject.org>
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
 <20251013101540.3502842-18-Penny.Zheng@amd.com>
Content-Language: en-US
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <20251013101540.3502842-18-Penny.Zheng@amd.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------1ozWhP367BguysgfWOwoS4dg"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------1ozWhP367BguysgfWOwoS4dg
Content-Type: multipart/mixed; boundary="------------IKxh0LSag7VkRYnihYAlSCOP";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Penny Zheng <Penny.Zheng@amd.com>, xen-devel@lists.xenproject.org
Cc: ray.huang@amd.com, oleksii.kurochko@gmail.com,
 Dario Faggioli <dfaggioli@suse.com>, George Dunlap <gwd@xenproject.org>
Message-ID: <c31e2679-2326-4205-b72a-deeb27c19000@suse.com>
Subject: Re: [PATCH v3 17/28] xen/domctl: wrap vcpu_affinity_domctl() with
 CONFIG_MGMT_HYPERCALLS
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
 <20251013101540.3502842-18-Penny.Zheng@amd.com>
In-Reply-To: <20251013101540.3502842-18-Penny.Zheng@amd.com>

--------------IKxh0LSag7VkRYnihYAlSCOP
Content-Type: multipart/mixed; boundary="------------di2clyy8FUHResRLnwky7i9s"

--------------di2clyy8FUHResRLnwky7i9s
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTMuMTAuMjUgMTI6MTUsIFBlbm55IFpoZW5nIHdyb3RlOg0KPiBGdW5jdGlvbiB2Y3B1
X2FmZmluaXR5X2RvbWN0bCgpIGlzIHJlc3BvbnNpYmxlIGZvcg0KPiBYRU5fRE9NQ1RMX3tn
ZXR2Y3B1YWZmaW5pdHksc2V0dmNwdWFmZmluaXR5fSBkb21jdGwtb3AsIGFuZCBzaGFsbCBi
ZQ0KPiB3cmFwcGVkIHdpdGggQ09ORklHX01HTVRfSFlQRVJDQUxMUy4gT3RoZXJ3aXNlIGl0
IHdpbGwgYmVjb21lIHVucmVhY2hhYmxlDQo+IGNvZGVzIHdoZW4gTUdNVF9IWVBFUkNBTExT
PW4sIGFuZCBoZW5jZSB2aW9sYXRpbmcgTWlzcmEgcnVsZSAyLjEuDQo+IA0KPiBTaWduZWQt
b2ZmLWJ5OiBQZW5ueSBaaGVuZyA8UGVubnkuWmhlbmdAYW1kLmNvbT4NCj4gLS0tDQo+IHYx
IC0+IHYyOg0KPiAtIGFkYXB0IHRvIGNoYW5nZXMgb2YgInVuaWZ5IERPTUNUTCB0byBNR01U
X0hZUEVSQ0FMTFMiDQo+IC0gd3JhcCBYRU5fRE9NQ1RMX3tnZXR2Y3B1YWZmaW5pdHksc2V0
dmNwdWFmZmluaXR5fS1jYXNlIHRyYW5zaWVudGx5DQo+IC0tLQ0KPiB2MiAtPiB2MzoNCj4g
LSBhZGFwdCB0byBjaGFuZ2VzIG9mICJyZW1vdmUgdmNwdV9zZXRfc29mdF9hZmZpbml0eSgp
Ig0KPiAtIGFkZHJlc3MgInZpb2xhdGluZyBNaXNyYSBydWxlIDIuMSIgaW4gY29tbWl0IG1l
c3NhZ2UNCj4gLSByZW1vdmUgdHJhbnNpZW50IHdyYXBwaW5nIGFyb3VuZCBYRU5fRE9NQ1RM
X3tnZXR2Y3B1YWZmaW5pdHksc2V0dmNwdWFmZmluaXR5fS1jYXNlDQo+IC0tLQ0KPiAgIHhl
bi9jb21tb24vc2NoZWQvY29yZS5jIHwgMiArKw0KPiAgIDEgZmlsZSBjaGFuZ2VkLCAyIGlu
c2VydGlvbnMoKykNCj4gDQo+IGRpZmYgLS1naXQgYS94ZW4vY29tbW9uL3NjaGVkL2NvcmUu
YyBiL3hlbi9jb21tb24vc2NoZWQvY29yZS5jDQo+IGluZGV4IDg4MTUwNDMyYzMuLjE4MGRl
Nzg0ZmEgMTAwNjQ0DQo+IC0tLSBhL3hlbi9jb21tb24vc2NoZWQvY29yZS5jDQo+ICsrKyBi
L3hlbi9jb21tb24vc2NoZWQvY29yZS5jDQo+IEBAIC0xNjg4LDYgKzE2ODgsNyBAQCBpbnQg
dmNwdWFmZmluaXR5X3BhcmFtc19pbnZhbGlkKGNvbnN0IHN0cnVjdCB4ZW5fZG9tY3RsX3Zj
cHVhZmZpbml0eSAqdmNwdWFmZikNCj4gICAgICAgICAgICAgICBndWVzdF9oYW5kbGVfaXNf
bnVsbCh2Y3B1YWZmLT5jcHVtYXBfc29mdC5iaXRtYXApKTsNCj4gICB9DQo+ICAgDQo+ICsj
aWZkZWYgQ09ORklHX01HTVRfSFlQRVJDQUxMUw0KDQpJIHN1Z2dlc3QgdG8gbW92ZSB0aGlz
ICNpZmRlZiBhYm92ZSB2Y3B1YWZmaW5pdHlfcGFyYW1zX2ludmFsaWQoKSwgd2hpY2ggaXMN
CnVzZWQgYnkgdmNwdV9hZmZpbml0eV9kb21jdGwoKSBvbmx5Lg0KDQo+ICAgaW50IHZjcHVf
YWZmaW5pdHlfZG9tY3RsKHN0cnVjdCBkb21haW4gKmQsIHVpbnQzMl90IGNtZCwNCj4gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHhlbl9kb21jdGxfdmNwdWFmZmluaXR5
ICp2Y3B1YWZmKQ0KPiAgIHsNCj4gQEAgLTE3OTgsNiArMTc5OSw3IEBAIGludCB2Y3B1X2Fm
ZmluaXR5X2RvbWN0bChzdHJ1Y3QgZG9tYWluICpkLCB1aW50MzJfdCBjbWQsDQo+ICAgDQo+
ICAgICAgIHJldHVybiByZXQ7DQo+ICAgfQ0KPiArI2VuZGlmIC8qIENPTkZJR19NR01UX0hZ
UEVSQ0FMTFMgKi8NCj4gICANCj4gICBib29sIGFsbG9jX2FmZmluaXR5X21hc2tzKHN0cnVj
dCBhZmZpbml0eV9tYXNrcyAqYWZmaW5pdHkpDQo+ICAgew0KDQoNCkp1ZXJnZW4NCg==
--------------di2clyy8FUHResRLnwky7i9s
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------di2clyy8FUHResRLnwky7i9s--

--------------IKxh0LSag7VkRYnihYAlSCOP--

--------------1ozWhP367BguysgfWOwoS4dg
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmjs2CAFAwAAAAAACgkQsN6d1ii/Ey+L
KAgAk4kb4PJdDinP8hLrEoIyCFrSykeg1fUo7rLffPLVC7Ih6pb9woYLmRph3w8QnLnJUJB7u5kQ
wbNkr5UWz8wAAWbJNH7ClFgQI4q6Ui1597n8fdzENPq5xGXqzZb6NeGuQ9xElehEbltCWTkqI8pg
Xum3Qyg25lXxXm2jIKHrnI0d8smMSB9+VvHl+loTljJT+Zqh0OWHGYK0ymhpjLmCO/Y0pfB2JHtQ
9IHxE7UR6NjBxkLnKcIm3dlG220gAdZCO3FVAiEVKUBz26wlIOR1pWiZO5CgyZzOXO3b0Qc7GjDh
fict3RdDM60S2Gf5fWnpkyKGMFTGzT6mBWJYv/Kxpw==
=oCzH
-----END PGP SIGNATURE-----

--------------1ozWhP367BguysgfWOwoS4dg--


From xen-devel-bounces@lists.xenproject.org Mon Oct 13 11:03:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 11:03:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142215.1476393 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8GL2-0007Iy-Jr; Mon, 13 Oct 2025 11:03:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142215.1476393; Mon, 13 Oct 2025 11:03:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8GL2-0007Ir-H5; Mon, 13 Oct 2025 11:03:36 +0000
Received: by outflank-mailman (input) for mailman id 1142215;
 Mon, 13 Oct 2025 11:03:36 +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 <SRS0=eGB2=4W=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1v8GL2-0007Il-39
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 11:03:36 +0000
Received: from mail-ed1-x52b.google.com (mail-ed1-x52b.google.com
 [2a00:1450:4864:20::52b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4317fe0a-a824-11f0-9d15-b5c5bf9af7f9;
 Mon, 13 Oct 2025 13:03:34 +0200 (CEST)
Received: by mail-ed1-x52b.google.com with SMTP id
 4fb4d7f45d1cf-63963066fb0so8471496a12.3
 for <xen-devel@lists.xenproject.org>; Mon, 13 Oct 2025 04:03:34 -0700 (PDT)
Received: from ?IPV6:2003:e5:873f:400:7b4f:e512:a417:5a86?
 (p200300e5873f04007b4fe512a4175a86.dip0.t-ipconnect.de.
 [2003:e5:873f:400:7b4f:e512:a417:5a86])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-b55d8c1132fsm906868966b.54.2025.10.13.04.03.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 13 Oct 2025 04:03:33 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4317fe0a-a824-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760353414; x=1760958214; darn=lists.xenproject.org;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=8NQDWsfxASEiz0+qp9medjse/PS9XXknz8m7PUusrtw=;
        b=LKEWM2e52/DFYFlqmZ4SRiLMlWIOsUenxgYAualbPRi387rlTZ61zdOocSIYjXPAqU
         Ejlt3aErhJIORJk1BgrcXMdpm7ot6awfpDOD9WqRUpHzW3Uv0ck4IHjYXVcSG7yXdIEL
         nPQnbvcZ0+mAys2yDen6Dl62Tj7xVF3Nq0MzFFl2uqYFmMjo0mel/WrvWSYP70uzv0dZ
         XbEwXFk2KP20VjJcOs9dCYV4Gj40G+qRpis8a19gUezZh7SW96bv9oneY8Ja/vx1UQ+v
         F6enrzDenjlJ55D8lbobT//OuvqGIgMQjjWTxGQqU9nVlk174K+ef3GPaJAOHFGCuY2Y
         XvDw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760353414; x=1760958214;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=8NQDWsfxASEiz0+qp9medjse/PS9XXknz8m7PUusrtw=;
        b=kQYrWp8AwtwAWY8bZIOxT+GF9jGQUUoL2iukhrU3frUS69TVupTjmUvTAZVNjO4fX3
         Autq+ecc5sXTK78Neujk8bHvrFDtLDY2oPMZhydK7FiQ9LkqNQVnpMD4AyZG8ngMDXin
         z08h3+Of6BDI3o1I+KRHmZUxCl7To78w28dyNBA/yur7hpQlN0HyMJ2heKjLaf68Likd
         8qR5j6P/LaxkyF/N9AOmVMLRUvgD882fHNN6S0TH4+01D47EMlRFNj/XAKCcEjm4xp7s
         9U2dUAcRwtmHcY6aE6BVC97FvYPpg2P1rpq10dalYBi8ZVnJHtaneja7ikH0hbG5MFMX
         bU5g==
X-Forwarded-Encrypted: i=1; AJvYcCXXkTTEwU0c25eXWtKZztmQYyfYXDwHtd87ZwvYmyW+KgAWJnPCNMy6UIFQ+/RjAEQgrOJEOBSIibU=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx92z2kToFobA9JgcsE0VyQISHlFUux7oi63la8/cJjr5yL1+X+
	4qS8x+4spl0UdBYUeIh4IXqgGdcHYlhgPui5O/FWiccKbInXTVpXoOsDy4G4kYyRaMo=
X-Gm-Gg: ASbGnctGbn36Dvv0LhFnU4S0Z6wAx+4FUr7/+tm8ltWiPMkKT1H61XMaGLWfijT3Rpn
	AoG8uJWZknJabfnoA75wvwq75oCNru5noW2S/QUHKMFvMWY/j8wZ+l+AazrWnvqBs2N5dL4TnZg
	ilPC8l+84iUyXc+ncWt8+V9KflFOaai0JhV0IJWzebCy/q5ZyB+08Wu6Xzv9+5CRsyuQlJfYbxR
	0pMLFYmfuALF5ZYrMoiavcHXlF8rrWIVhpDu6LrqIeKZaM7Oc3mE8qyg+ykm8pawUd1nkywN8Ye
	AD2mXvLTAJBxnF03e1qZYPRiBrEXjTyrAQTsUYyjClmlra9QGN1d+TwM57nGfPLJmxFNdyR9aIW
	swdo5c93K1Sct1aCLq1R0GaoVTzX7o+/g/zt7TiwS/DAlyrm79l1xYRs3vfx4HTcbUrsjQeHyfv
	+E2eh1SRvV8D8QNEYJM5GGNQv8HbVSotdop0r6/kBkxaMEBl+y95F8srsqZJnTKBTtQbU4Y7M/G
	g==
X-Google-Smtp-Source: AGHT+IGpMkRN0f6pDuv2FYAYyiGvICESFBfJ9uXiNODmhxg1kg47U+hW2EVKAIcon85a5CXJlwp0Ew==
X-Received: by 2002:a17:907:3f8a:b0:b3e:5f40:9894 with SMTP id a640c23a62f3a-b50acb0e681mr2396447866b.62.1760353414170;
        Mon, 13 Oct 2025 04:03:34 -0700 (PDT)
Message-ID: <b2910a80-5dc0-475b-b49e-7d95560a2550@suse.com>
Date: Mon, 13 Oct 2025 13:03:33 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 18/28] xen/domctl: wrap sched_adjust() with
 CONFIG_MGMT_HYPERCALLS
To: Penny Zheng <Penny.Zheng@amd.com>, xen-devel@lists.xenproject.org,
 xen-devel@dornerworks.com
Cc: ray.huang@amd.com, oleksii.kurochko@gmail.com,
 Nathan Studer <nathan.studer@dornerworks.com>,
 Stewart Hildebrand <stewart@stew.dk>, Dario Faggioli <dfaggioli@suse.com>,
 George Dunlap <gwd@xenproject.org>, Meng Xu <mengxu@cis.upenn.edu>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
 <20251013101540.3502842-19-Penny.Zheng@amd.com>
Content-Language: en-US
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <20251013101540.3502842-19-Penny.Zheng@amd.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------eokBaFYjWhCNZpalNqJd3b6V"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------eokBaFYjWhCNZpalNqJd3b6V
Content-Type: multipart/mixed; boundary="------------FZ4vrsU00rUIaMZdoMaYgNf2";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Penny Zheng <Penny.Zheng@amd.com>, xen-devel@lists.xenproject.org,
 xen-devel@dornerworks.com
Cc: ray.huang@amd.com, oleksii.kurochko@gmail.com,
 Nathan Studer <nathan.studer@dornerworks.com>,
 Stewart Hildebrand <stewart@stew.dk>, Dario Faggioli <dfaggioli@suse.com>,
 George Dunlap <gwd@xenproject.org>, Meng Xu <mengxu@cis.upenn.edu>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Message-ID: <b2910a80-5dc0-475b-b49e-7d95560a2550@suse.com>
Subject: Re: [PATCH v3 18/28] xen/domctl: wrap sched_adjust() with
 CONFIG_MGMT_HYPERCALLS
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
 <20251013101540.3502842-19-Penny.Zheng@amd.com>
In-Reply-To: <20251013101540.3502842-19-Penny.Zheng@amd.com>

--------------FZ4vrsU00rUIaMZdoMaYgNf2
Content-Type: multipart/mixed; boundary="------------eVoVl10cuxP0R0N37UjokC6x"

--------------eVoVl10cuxP0R0N37UjokC6x
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTMuMTAuMjUgMTI6MTUsIFBlbm55IFpoZW5nIHdyb3RlOg0KPiBGdW5jdGlvbiBzY2hl
ZF9hZGp1c3QoKSBpcyByZXNwb25zaWJsZSBmb3IgWEVOX0RPTUNUTF9zY2hlZHVsZXJfb3Ag
ZG9tY3RsLW9wLA0KPiBzbyBpdCBjb3VsZCBiZSB3cmFwcGVkIHdpdGggQ09ORklHX01HTVRf
SFlQRVJDQUxMUy4NCj4gVHJhY2luZyBpdHMgY2FsbGluZyBjaGFpbiwgdGhlIGZvbGxvd2lu
ZyBmdW5jdGlvbnMgc2hhbGwgYmUgd3JhcHBlZCB3aXRoDQo+IENPTkZJR19NR01UX0hZUEVS
Q0FMTFMgdG9vOg0KPiAtIHNjaGVkX2FkanVzdF9kb20oKQ0KPiAtIHNjaGVkdWxlci1zcGVj
aWZpYyAuYWRqdXN0KCkgY2FsbGJhY2sNCj4gLSB4c21fc3lzY3RsX3NjaGVkdWxlcl9vcCgp
DQo+IE90aGVyd2lzZSBhbGwgdGhlc2UgZnVuY3Rpb25zIHdpbGwgYmVjb21lIHVucmVhY2hh
YmxlIHdoZW4gTUdNVF9IWVBFUkNBTExTPW4sDQo+IGFuZCBoZW5jZSB2aW9sYXRpbmcgTWlz
cmEgcnVsZSAyLjEuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBQZW5ueSBaaGVuZyA8UGVubnku
WmhlbmdAYW1kLmNvbT4NCj4gUmV2aWV3ZWQtYnk6IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0
YWJlbGxpbmlAa2VybmVsLm9yZz4NCg0KUmV2aWV3ZWQtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpn
cm9zc0BzdXNlLmNvbT4NCg0KSnVzdCBvbmUgZnVydGhlciByZW1hcmsgYmVsb3cgKG5vdCBm
b3IgdGhpcyBwYXRjaCkuDQoNCj4gZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hzbS94c20u
aCBiL3hlbi9pbmNsdWRlL3hzbS94c20uaA0KPiBpbmRleCA0YzZlMGRjMGY5Li45ZGQ0ODU2
NDZhIDEwMDY0NA0KPiAtLS0gYS94ZW4vaW5jbHVkZS94c20veHNtLmgNCj4gKysrIGIveGVu
L2luY2x1ZGUveHNtL3hzbS5oDQo+IEBAIC01Niw4ICs1Niw4IEBAIHN0cnVjdCB4c21fb3Bz
IHsNCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB4ZW5fZG9t
Y3RsX2dldGRvbWFpbmluZm8gKmluZm8pOw0KPiAgICAgICBpbnQgKCpkb21haW5fY3JlYXRl
KShzdHJ1Y3QgZG9tYWluICpkLCB1aW50MzJfdCBzc2lkcmVmKTsNCj4gICAgICAgaW50ICgq
Z2V0ZG9tYWluaW5mbykoc3RydWN0IGRvbWFpbiAqZCk7DQoNCkFzIHZpc2libGUgaW4gdGhp
cyBjb250ZXh0IC5nZXRkb21haW5pbmZvKCkgaXMgbm90IGhpZGRlbiB5ZXQsIHdoaWNoDQpJ
IHRoaW5rIGlzIHN0aWxsIHRydWUgYXQgdGhlIGVuZCBvZiB0aGUgc2VyaWVzLCB3aGlsZSBJ
IGJlbGlldmUgaXQNCnNob3VsZCBiZSB1c2VkIGJ5IHN5c3RsL2RvbWN0bCBjb2RlIG9ubHku
DQoNCk9yIGRpZCBJIG1pc3Mgc29tZXRoaW5nPw0KDQoNCkp1ZXJnZW4NCg==
--------------eVoVl10cuxP0R0N37UjokC6x
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------eVoVl10cuxP0R0N37UjokC6x--

--------------FZ4vrsU00rUIaMZdoMaYgNf2--

--------------eokBaFYjWhCNZpalNqJd3b6V
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmjs3IUFAwAAAAAACgkQsN6d1ii/Ey+A
sAgAhp4oqI9RNbHSxak2SkujcQ9rd8RllkYNegzjIm7q0q5Sqjj5bJcdSn0e80+WAOX5B/G+zbkb
iXHfYm7zCFE5Cw9s2XyfinYy+5pXa2hMkUSD3U0bPFbJYbaLTXaZjBe6jkTrvwGFgSm16ZMZMQFR
uGCM/4B3e77trrQRMvcFhYdJKup2+Yqq6PSbdiKHL0cCji5te/K+dSb1i3EkkJNmYZd53xN5Fqui
BWs0Ha14Pgt0Se4iuPbxPMQLpVyMjxXX7PCtfGmyBWzAgReq9GjVZNWFMSGCSQ+whBGu6o2EbLjS
0bGc6CeWWXojeddKtkrdk2MSe+oiCg1lNCAvqk5Qag==
=e76d
-----END PGP SIGNATURE-----

--------------eokBaFYjWhCNZpalNqJd3b6V--


From xen-devel-bounces@lists.xenproject.org Mon Oct 13 11:07:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 11:07:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142223.1476403 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8GOR-0008Kv-27; Mon, 13 Oct 2025 11:07:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142223.1476403; Mon, 13 Oct 2025 11:07:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8GOQ-0008Ko-VC; Mon, 13 Oct 2025 11:07:06 +0000
Received: by outflank-mailman (input) for mailman id 1142223;
 Mon, 13 Oct 2025 11:07: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 <SRS0=9ybd=4W=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v8GOP-0008KO-UX
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 11:07:05 +0000
Received: from mail-wr1-x42f.google.com (mail-wr1-x42f.google.com
 [2a00:1450:4864:20::42f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id baf46327-a824-11f0-980a-7dc792cee155;
 Mon, 13 Oct 2025 13:06:56 +0200 (CEST)
Received: by mail-wr1-x42f.google.com with SMTP id
 ffacd0b85a97d-3ee64bc6b85so4542322f8f.3
 for <xen-devel@lists.xenproject.org>; Mon, 13 Oct 2025 04:06:55 -0700 (PDT)
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-46fab3d92c0sm125521415e9.3.2025.10.13.04.06.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 13 Oct 2025 04:06:54 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: baf46327-a824-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760353615; x=1760958415; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=a/YdBvRX28BqV3OQfORPtZ5aSVXzY/g1uxG1vL3gvI8=;
        b=d3GOZoWDuFkJF303sZdDGyHsdPHfdsnaxjLt9Hkk3hpsZkJylRelMOv6Lr++h3/kpT
         AXI85H+O3M395QWtX347s+cUm5oR2FMz5FPcZvIY/5CNVJB/TByIXFudSGkFkY9p56pW
         G4nkdCKlodwe8zkXol0e8d7w5iuzJE7+3c+PnSuFxQ98pw8BmK8cKKHTtao8zwe7N6o4
         iQoNLeFdpaBdMqe28tQ/hICWYaq0qfSlfHdfPtltF8jmvFzPqah1utD155OEbdmMX6BO
         4vDWMFGm1S/MyKeRJW3sUnA1AjaQvIBi/5A1ggPVUJskpCCSvO8nwUbTW/wFVoN+uTvd
         zAFw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760353615; x=1760958415;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=a/YdBvRX28BqV3OQfORPtZ5aSVXzY/g1uxG1vL3gvI8=;
        b=hV84vgUTRZPl4HD+B0OHh0vCdQge9WtS5rWNF13is+/LImyCA1aDiE0Ll5rcXteAQK
         WSnDln6UbfMj5IQ2wCalmZAdppb6WiU6tx2vkTUoY4izQGxWE9i5EbyRdtZ9iIT2AKQv
         5wwEMql/dPnDiGeXlvoPYR3Ta8xZCzXgBlxpLvGv9DfcoEzCaT818FJdKmVrgZkN3ptF
         K+H3C6YIthVUcko4kyM8iduodxEZRK689vHLgIZkl36mEMHTXOJ+Y/cJfijnPWwbN7c3
         yYhA0Qb9tg82qpDLFHHHYT11a114hlAucsgGH9/0MqIkyWKE6EL7PDS/NFCNwyeT8ivk
         ezBA==
X-Forwarded-Encrypted: i=1; AJvYcCUkDTfF952LSC+DBSlGakBCPnJ6m5MBnds6JCTHv+MHkJHvdTL0ddwjWk9Z2Pj4hCTeTqt8DpcHrqo=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yyx+aJs8Kkm0t8up9QT53cC5C3x+vdcAEo3zDSnFl6h44Mrb/SV
	69WOprUffTYh6TU8JXBvjDR8TC4U0Wkz+d0RcFIjcUGc+fk90oHNG4IUQYdWfo9KLQ==
X-Gm-Gg: ASbGnctFaUpCPlBHXjwBiYOFs6TysOHD0WqTqHdI+kqJhpHz/sKEnXrISNKC72wyexM
	DqpmTDfTvx4wAAtYNTkZe1q3dmhuUjcoqIle5WEXtvMVJemxcywo1sQqNazcmo0uO3iD3KBFD5Z
	X1XPNTr7PQpFl9hKEEBAfLMLkNTpSYCOBknFYqf3apHBQPiF9LrEtM4vShQxWkwjyPbTHwu2UpT
	m6jgfnQyy5xDhBfgicTsTJQQIzD33sbnwXd+KPtEI8xzv85AyXWCcgYkmA3skO6g4bavi34M/0M
	Qx1lJAWovaYYexnco0ZymoqFEYDXYzivqWU4NYBrcsAz0tOLrA1AeK9lG3h+0doZxounYyX93ST
	lS0brxNfRVEQ8ZNqpi8VPPebHSziOyUE3MeHKsFxbPbvv6R0Q+tQA3i0cti9WrN3oAPj1eVLEbu
	+b14J6XrohU6rjQ1wjzOek0i/73yzm2wxRd24a
X-Google-Smtp-Source: AGHT+IF3RJJxqKGWcekJrRi/nbXOD3f7sgXQfbuVT9Cf5raitH6bDZXYtnDpdDZ2jF00K8LvkiyOHw==
X-Received: by 2002:a05:6000:310b:b0:3e7:45c7:828e with SMTP id ffacd0b85a97d-4266e7e1843mr12687054f8f.33.1760353615239;
        Mon, 13 Oct 2025 04:06:55 -0700 (PDT)
Message-ID: <65ce9388-bd51-474e-8d9d-8ae00fc3e397@suse.com>
Date: Mon, 13 Oct 2025 13:06:57 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5] x86: make Viridian support optional
To: Alejandro Vallejo <alejandro.garciavallejo@amd.com>,
 Grygorii Strashko <grygorii_strashko@epam.com>
Cc: Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Paul Durrant <paul@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20250930125215.1087214-1-grygorii_strashko@epam.com>
 <3e4e4bc5-aa47-4357-9327-df2a9b9c9a1b@suse.com>
 <DDH3W3VM2ZDJ.PMFSGBWBTS0S@amd.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <DDH3W3VM2ZDJ.PMFSGBWBTS0S@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 13.10.2025 12:01, Alejandro Vallejo wrote:
> On Wed Oct 8, 2025 at 6:04 PM CEST, Jan Beulich wrote:
>> On 30.09.2025 14:52, Grygorii Strashko wrote:
>>> --- a/xen/arch/x86/hvm/Kconfig
>>> +++ b/xen/arch/x86/hvm/Kconfig
>>> @@ -62,6 +62,16 @@ config ALTP2M
>>>  
>>>  	  If unsure, stay with defaults.
>>>  
>>> +config VIRIDIAN
>>> +	bool "Hyper-V enlightenments for guests" if EXPERT
>>> +	default y
>>> +	help
>>> +	  Support optimizations for Hyper-V guests such as faster hypercalls,
>>> +	  efficient timer and interrupt handling, and enhanced paravirtualized
>>> +	  I/O. This is to improve performance and compatibility of Windows VMs.
>>
>> What is "paravirtualized I/O" about in this context?
> 
> Hypervisor-assisted IPIs, TLB flushes, etc. Or so I understood back when I said
> that looked ok.

Just to clarify my take: IPIs fall under "interrupt handling", and TLB flushes
to me fall under memory management, not I/O.

> I see there could be confusion with Xen PV device protocols,
> but as far as the user of the help message is concerned it makes no difference.

Does it not? To me it does.

> One could even remove the examples and leave it as "... for Hyper-V guests. This
> is to...". They are truly inconsequential.
> 
> All that matters is that (modern) Windows won't run without it, and that it
> provides some indeterminate hypervisor-provided assists to try to reduce some
> virtualization overheads.

I think I'm happy for the other examples to stay, as they provide some extra
context for less aware users.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Oct 13 11:11:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 11:11:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142231.1476413 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8GSC-0002Mj-FW; Mon, 13 Oct 2025 11:11:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142231.1476413; Mon, 13 Oct 2025 11:11:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8GSC-0002Mc-CD; Mon, 13 Oct 2025 11:11:00 +0000
Received: by outflank-mailman (input) for mailman id 1142231;
 Mon, 13 Oct 2025 11:10:58 +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 <SRS0=7+wn=4W=redhat.com=armbru@srs-se1.protection.inumbo.net>)
 id 1v8GSA-0002MU-UG
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 11:10:58 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.133.124])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 47ea89d6-a825-11f0-980a-7dc792cee155;
 Mon, 13 Oct 2025 13:10:53 +0200 (CEST)
Received: from mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com
 (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,
 cipher=TLS_AES_256_GCM_SHA384) id us-mta-252-Qnji2KRmPtGMliE5tch9Hg-1; Mon,
 13 Oct 2025 07:10:50 -0400
Received: from mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com
 (mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.12])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
 (No client certificate requested)
 by mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS
 id B1B6D180028C; Mon, 13 Oct 2025 11:10:48 +0000 (UTC)
Received: from blackfin.pond.sub.org (unknown [10.45.242.19])
 by mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS
 id 4D16D1954102; Mon, 13 Oct 2025 11:10:48 +0000 (UTC)
Received: by blackfin.pond.sub.org (Postfix, from userid 1000)
 id E2B7E21E6A27; Mon, 13 Oct 2025 13:10:45 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 47ea89d6-a825-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1760353852;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=wTXHtL7x9n8pBFTn/HV8u3bXuDvcA7YfgwtGE1bNnJQ=;
	b=OhC0QsDa2KmgQiabwidiVHKxzfbENNVzZaSc3lPqWPOqng1K9GenyHoQq12qSOQox4uG70
	vhvP0A3PfsW5MKB0hEWkuCP364SCpLgH+vufqhiWcdMqLNjdkXBNIvvQS/xC1ZM2NzLnuE
	eN5ZalvOb6p0HQYkD/xmWqy4jDaMIiU=
X-MC-Unique: Qnji2KRmPtGMliE5tch9Hg-1
X-Mimecast-MFC-AGG-ID: Qnji2KRmPtGMliE5tch9Hg_1760353849
From: Markus Armbruster <armbru@redhat.com>
To: qemu-devel@nongnu.org
Cc: sstabellini@kernel.org,  anthony@xenproject.org,  paul@xen.org,
  edgar.iglesias@gmail.com,  xen-devel@lists.xenproject.org,
  qemu-trivial@nongnu.org
Subject: Re: [PATCH] hw/display/xenfb: Replace unreachable code by abort()
In-Reply-To: <20250729111226.3627499-1-armbru@redhat.com> (Markus Armbruster's
	message of "Tue, 29 Jul 2025 13:12:26 +0200")
References: <20250729111226.3627499-1-armbru@redhat.com>
Date: Mon, 13 Oct 2025 13:10:45 +0200
Message-ID: <877bwz6oqy.fsf@pond.sub.org>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Scanned-By: MIMEDefang 3.0 on 10.30.177.12

Ping?

Markus Armbruster <armbru@redhat.com> writes:

> xenfb_mouse_event() has a switch statement whose controlling
> expression move->axis is an enum InputAxis.  The enum values are
> INPUT_AXIS_X and INPUT_AXIS_Y, encoded as 0 and 1.  The switch has a
> case for both axes.  In addition, it has an unreachable default label.
> This convinces Coverity that move->axis can be greater than 1.  It
> duly reports a buffer overrun when it is used to subscript an array
> with two elements.
>
> Replace the unreachable code by abort().
>
> Resolves: Coverity CID 1613906
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
>  hw/display/xenfb.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/hw/display/xenfb.c b/hw/display/xenfb.c
> index 22822fecea..5e6c691779 100644
> --- a/hw/display/xenfb.c
> +++ b/hw/display/xenfb.c
> @@ -283,8 +283,7 @@ static void xenfb_mouse_event(DeviceState *dev, QemuConsole *src,
>                  scale = surface_height(surface) - 1;
>                  break;
>              default:
> -                scale = 0x8000;
> -                break;
> +                abort();
>              }
>              xenfb->axis[move->axis] = move->value * scale / 0x7fff;
>          }



From xen-devel-bounces@lists.xenproject.org Mon Oct 13 11:13:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 11:13:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142240.1476423 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8GUZ-0002tB-Q8; Mon, 13 Oct 2025 11:13:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142240.1476423; Mon, 13 Oct 2025 11:13:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8GUZ-0002t4-NT; Mon, 13 Oct 2025 11:13:27 +0000
Received: by outflank-mailman (input) for mailman id 1142240;
 Mon, 13 Oct 2025 11:13:26 +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 <SRS0=9ybd=4W=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v8GUY-0002sy-AG
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 11:13:26 +0000
Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com
 [2a00:1450:4864:20::32a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a30f9a63-a825-11f0-9d15-b5c5bf9af7f9;
 Mon, 13 Oct 2025 13:13:25 +0200 (CEST)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-46e6674caa5so20690915e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 13 Oct 2025 04:13:25 -0700 (PDT)
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-46fb489ac60sm183778285e9.16.2025.10.13.04.13.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 13 Oct 2025 04:13:24 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a30f9a63-a825-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760354005; x=1760958805; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=qQl/jd0GQ5pTzcyZShWKq5cyJHVF7veVFgrmOkqscsI=;
        b=XFvQC0EYOejC2WcS7IzQtaglbLscY095EReHKrkSWBJVKq/sqG86uTXFkyYfwjhsj7
         uvCYfJiv4Ff0hHUNhzW+Jgs/lDLmyD7i1zqypbgtYvqUrxNUrO07/h9Srn8JiiUfgian
         CIwUCcSDDfoW0Vj5AmPDSoumsKB64vBPTgugWHYdCs6UZVf9q1xjxR8Eg38j816A1K3q
         ZB4nkWdvc1JmBahIfrTtoU0GJuG4SVxSfZ9mvvkvYFhuY1LGuKaGsxzTBlfP1WwRAADD
         DImQ5q01LaEc7Q/9zWgXMC8SxlR5wtI+v9JB+WpxovE0o4Y5sI1ApzfzMxF/T7P3udlo
         M2hw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760354005; x=1760958805;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=qQl/jd0GQ5pTzcyZShWKq5cyJHVF7veVFgrmOkqscsI=;
        b=qo05RUk8EHBcRMJITKH7zByvvLfpAmPYLcqbT+9EcPp1ydsXv/hLnqssKQuKKUwCmq
         o3wVxKg8b2MKXgfpj4XV31vDY5WwYS0FEx5V0kKh0SUAoS+l8SFaoBrAHZL/VHB7KhkF
         2GAhnyvJ8AenWSMgSzUqWucGodZSrfPoGmcIihQXJzcU7WtlY77Rh32bw+vIUlTyVOaY
         WCA9d/z/LzFFSr4/TYoqHBRDVJ3eHzBp1++IdMo9v1KRSU+iN4TNY50CxeqEcp6vZqTN
         Yx8Fz7d927kGSg+yGOtVmE2CVw++q0kM52op0LZo602qAiOqu7po1LoF8SIFqS6oQfee
         g4Bw==
X-Forwarded-Encrypted: i=1; AJvYcCXIUvsH/SK2V7Ve9yW6MFxjy5uqdlT8WWnWoPoScFo5G81cDlQQxV5dcSjInO3k7Bn0ATagbAqfO8o=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyOgk21RGrjzkYU0MmmcYOJfAMSTw5mKKj+IgS7Z1JlxqLn0P7B
	qYijYqeQrlG9yLsp9EPej/d+65NaoHJ73ktvABYm140npJO2T2HuTznUBvm/3uDcSA==
X-Gm-Gg: ASbGncvFBR065vddfk9IMp8EH9tCB2UoSov/7f356KmgonvHtGvGMfFWkdQzNS4I7Ly
	1E/qBM4IjsDxscjZE12oaSYFne39yBvxYDifp1mv0rLy00+LpmvWd69V0AYipVPtcIyni4K0zBn
	+T6+Y1gcYtQCGBKDc8z5u32QRKj7GxIuCkznWKOanorQohbnKQ1/QGs06RBFRXNlTC7fVsqU98T
	dh10o5rQx5geiFXMqls25pwtcEk258w2d7hqcp6QGcfTM9+YM4rXaENM2fhivEeXLt8isLvzEqm
	6isguIdoKNu9O1v8x9SJlcEybq0PeakvAWoHyngbB3hQBb3nvWMZQMHW/x6aQYU75355lAygPHq
	GYgCuv05T5ExBLBrTNTEnOO9Ddgdj466kLn4Pvsojs+z/14tDXHtP8Za7EqU9zzzoV/LapnBr2L
	WjonS7SxiWv2d+iii2kprrT2kLVQ==
X-Google-Smtp-Source: AGHT+IHsG2ewrxQe/Zu0D+nEM/lwb/aUP9vpx0MRzDvmOg65d9GVzbB2oCuBuT9o/qJyHACEPDk91w==
X-Received: by 2002:a05:600c:2e4b:b0:46f:b42e:e362 with SMTP id 5b1f17b1804b1-46fb42ee3d5mr65359955e9.19.1760354004563;
        Mon, 13 Oct 2025 04:13:24 -0700 (PDT)
Message-ID: <e7cbc215-04c5-4b2a-a40a-48c0ca70ea99@suse.com>
Date: Mon, 13 Oct 2025 13:13:26 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 18/28] xen/domctl: wrap sched_adjust() with
 CONFIG_MGMT_HYPERCALLS
To: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Cc: ray.huang@amd.com, oleksii.kurochko@gmail.com,
 Nathan Studer <nathan.studer@dornerworks.com>,
 Stewart Hildebrand <stewart@stew.dk>, Dario Faggioli <dfaggioli@suse.com>,
 George Dunlap <gwd@xenproject.org>, Meng Xu <mengxu@cis.upenn.edu>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Penny Zheng <Penny.Zheng@amd.com>, xen-devel@lists.xenproject.org,
 xen-devel@dornerworks.com
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
 <20251013101540.3502842-19-Penny.Zheng@amd.com>
 <b2910a80-5dc0-475b-b49e-7d95560a2550@suse.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <b2910a80-5dc0-475b-b49e-7d95560a2550@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 13.10.2025 13:03, JÃ¼rgen GroÃŸ wrote:
> On 13.10.25 12:15, Penny Zheng wrote:
>> Function sched_adjust() is responsible for XEN_DOMCTL_scheduler_op domctl-op,
>> so it could be wrapped with CONFIG_MGMT_HYPERCALLS.
>> Tracing its calling chain, the following functions shall be wrapped with
>> CONFIG_MGMT_HYPERCALLS too:
>> - sched_adjust_dom()
>> - scheduler-specific .adjust() callback
>> - xsm_sysctl_scheduler_op()
>> Otherwise all these functions will become unreachable when MGMT_HYPERCALLS=n,
>> and hence violating Misra rule 2.1.
>>
>> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
>> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> 
> Reviewed-by: Juergen Gross <jgross@suse.com>
> 
> Just one further remark below (not for this patch).
> 
>> diff --git a/xen/include/xsm/xsm.h b/xen/include/xsm/xsm.h
>> index 4c6e0dc0f9..9dd485646a 100644
>> --- a/xen/include/xsm/xsm.h
>> +++ b/xen/include/xsm/xsm.h
>> @@ -56,8 +56,8 @@ struct xsm_ops {
>>                                   struct xen_domctl_getdomaininfo *info);
>>       int (*domain_create)(struct domain *d, uint32_t ssidref);
>>       int (*getdomaininfo)(struct domain *d);
> 
> As visible in this context .getdomaininfo() is not hidden yet, which
> I think is still true at the end of the series, while I believe it
> should be used by systl/domctl code only.
> 
> Or did I miss something?

As was discussed, getdomaininfo and a few others may need to remain
accessible even with MGMT_HYPERCALLS=n, to be able to at least obtain
and report system state.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Oct 13 11:18:28 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 11:18:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142252.1476433 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8GZM-0004Vc-Fq; Mon, 13 Oct 2025 11:18:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142252.1476433; Mon, 13 Oct 2025 11:18:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8GZM-0004VV-DF; Mon, 13 Oct 2025 11:18:24 +0000
Received: by outflank-mailman (input) for mailman id 1142252;
 Mon, 13 Oct 2025 11:18:23 +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 <SRS0=9ybd=4W=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v8GZK-0004VM-Uv
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 11:18:22 +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 5341ccb3-a826-11f0-980a-7dc792cee155;
 Mon, 13 Oct 2025 13:18:20 +0200 (CEST)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-46e6a689bd0so29247105e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 13 Oct 2025 04:18:20 -0700 (PDT)
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-426ce57d4bbsm18036528f8f.2.2025.10.13.04.18.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 13 Oct 2025 04:18:20 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5341ccb3-a826-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760354300; x=1760959100; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=0AAbDVWnF9Q2J4tjw4+4K607E9Io12wwzb98sCA2cGc=;
        b=Lg+/unttXoYsgFrY8YK7kO+I7W/FUPc/sVA93MinwuKe0jIUQEopLtNQUSYisTW+a5
         Eu9LjrPoGZhbysMW9B0b0dK7WP8Vy+GSWDjdegRy/y50BxGQkDHgIHKqK3h5GpinTwEe
         QoBYei67zk4yPW8H8bCjHjS7FozRYrmOyZTke3zDlpJYNBLEqPOm0Og0JE/OLtN7Dut4
         sSq0490PYgwHg6eyUu1UTWavNmx/HHHM6JSl0+cpSLGnXhFLBRZnTFqN5naqYNdwocpF
         2FBfIp2lZ4/fBZpV41ZFSa+coDM2MkUS9IFKqwvS4HnJv7/RgDRqPF3np9u9nWTiSq3M
         H8GQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760354300; x=1760959100;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=0AAbDVWnF9Q2J4tjw4+4K607E9Io12wwzb98sCA2cGc=;
        b=lHUaPUmNr6EXCw5x75AHN+TfE2SJb9ditCcz1ULuE4iR5jF1f4b1JJZkSmZDe2sjWT
         T1ekGCrhDe4p/nPQ2gEaLBXg4JQgB0DBkDPX6oKCEZIOUPF+2Ag3vfTL8E8uotjPMzUf
         eIpWBUcFgL+MRji7xqD66X8G/2NjObN3f+PBAgdJ4nkr1Pblu/Y+OxASykkL5Zk4Dn9l
         nWFaBtCc1M8dvCDum1But2d0qHx0ED9GIQ9yNjorDu2d4G0l1cTu8sfMp8kuB1Y2jIQ5
         lKjf5Llyum18ammDs5i9wWCXmg5jach9kFeHPCp4NntoSH0b5MZvhGK0RqAw8duHC3CW
         MbZg==
X-Forwarded-Encrypted: i=1; AJvYcCWQix2KF4Ra3/qYb+v6bjZIbABI3S7bwSzW/fYPfSEOw5NWzdzRG+E+XWBbzSKPcNQG58nRFNUGNm4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzoIAcDGwnsBQTLxzxAL54KlUrj38wVxpAd+lsK9f3RpMz41Bkj
	JV/H4LriDweSRgiGMedK4nwPB3MU693Ebgxh2IvZUwwNHKRtYEsk3XPsx2oc8m64gw==
X-Gm-Gg: ASbGncsiQLcWubUGrk5pwkRFa4UIbYpEqUE+Osm4ifUbnDf9k6jAE+itbDA6evACd74
	UkIeBi71JIATU9n+/bujCfp9fEQBYMq2qzVnDGUSeuChXvTJLKCQpNS2f3CdeSuFysvy7nqKhLu
	9sitn4Qi1fYw57+JBBTJ6UdH+FUs2/u3a69A/7m06m2keqN3SMJltGqR0xV9JDnGyhu0GsM/FWJ
	gyKGiUBGYA/86tm8bZw1DuHlpjvXmGZa/Yqph0Cixvn5SJi87UxcrArjPJ02qahUg+ytfEKJ1VO
	9NcPIq0DZIU7dh+mL/XqvySN8uY738Hl/gfy4YYPaz9dqAFk9VHqSEKZTp9ZUEOTUjoD3f4rVOG
	J9kHlYlDRczaejVLYDU7S5esH5ysdXLhT3bM+Sn0VOiSwkWpIXFoH/ukl7pLjULLmT6xy8rq4WA
	ixot/F8/zL6cjDVqk48JNeDKAtItKYRd0t/Ekz
X-Google-Smtp-Source: AGHT+IH0N3BUDo6WKLNu1L5lUfyvPBz6+6CHAfxfDKsp48Pwp01yKmQqpkRi5jwe8tcb1eAfqW5FIg==
X-Received: by 2002:a05:600c:3acb:b0:46e:2801:84aa with SMTP id 5b1f17b1804b1-46fa9a21caamr123272625e9.0.1760354300297;
        Mon, 13 Oct 2025 04:18:20 -0700 (PDT)
Message-ID: <4ad6e833-02b8-4227-ab63-d9b2ae74ceb3@suse.com>
Date: Mon, 13 Oct 2025 13:18:22 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 01/28] xen/xsm: remove redundant xsm_iomem_mapping()
To: Penny Zheng <Penny.Zheng@amd.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: ray.huang@amd.com, oleksii.kurochko@gmail.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Stewart Hildebrand <stewart.hildebrand@amd.com>,
 xen-devel@lists.xenproject.org
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
 <20251013101540.3502842-2-Penny.Zheng@amd.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251013101540.3502842-2-Penny.Zheng@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 13.10.2025 12:15, Penny Zheng wrote:
> Function xsm_iomem_mapping() seems redundant, and in flask policy, it just
> directly calls xsm_iomem_permission().
> Remove it and use xsm_iomem_permission() instead, with the benefit of a
> cf_check disappearing too.
> 
> Suggested-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>

No, this is definitely not what I had suggested. What I did suggest was
to get rid of just ...

> --- a/xen/xsm/flask/hooks.c
> +++ b/xen/xsm/flask/hooks.c
> @@ -1167,11 +1167,6 @@ static int cf_check flask_iomem_permission(
>      return security_iterate_iomem_sids(start, end, _iomem_has_perm, &data);
>  }
>  
> -static int cf_check flask_iomem_mapping(struct domain *d, uint64_t start, uint64_t end, uint8_t access)
> -{
> -    return flask_iomem_permission(d, start, end, access);
> -}

... the extra call layer here, by using ...

> @@ -1945,7 +1940,6 @@ static const struct xsm_ops __initconst_cf_clobber flask_ops = {
>      .unbind_pt_irq = flask_unbind_pt_irq,
>      .irq_permission = flask_irq_permission,
>      .iomem_permission = flask_iomem_permission,
> -    .iomem_mapping = flask_iomem_mapping,

... flask_iomem_permission() a 2nd time here (and perhaps with a suitable
comment).

That said, if Daniel was okay with the wider folding, so be it.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Oct 13 11:23:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 11:23:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142260.1476443 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8Ge2-0006Ni-0a; Mon, 13 Oct 2025 11:23:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142260.1476443; Mon, 13 Oct 2025 11:23:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8Ge1-0006Nb-UG; Mon, 13 Oct 2025 11:23:13 +0000
Received: by outflank-mailman (input) for mailman id 1142260;
 Mon, 13 Oct 2025 11:23:12 +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
 <SRS0=gpU8=4W=linux.dev=thorsten.blum@srs-se1.protection.inumbo.net>)
 id 1v8Gdz-0006NV-Mk
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 11:23:12 +0000
Received: from out-189.mta1.migadu.com (out-189.mta1.migadu.com
 [95.215.58.189]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fe61ed0b-a826-11f0-9d15-b5c5bf9af7f9;
 Mon, 13 Oct 2025 13:23:10 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fe61ed0b-a826-11f0-9d15-b5c5bf9af7f9
Content-Type: text/plain;
	charset=utf-8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1;
	t=1760354586;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=Rg/q8gaLEXsqld9FivxIEfM5ipjG9i1m/rctrdOvWIE=;
	b=iu7JmbDXS09ExiGoWBahy4+AbAU0q26cy0aGZUaC2VqCGiyu4+l+zkCpzaz4vICmLPDqhi
	G9tafSk2uhs4kuSbF1JHpNTRTPpEtrcY4pPU9a2Y0JVor6puVfJq61dL9cWJWumsA1Hbni
	7+dfViMzAyWk/xY4KMCmqKn3RCa2TKY=
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.700.81\))
Subject: Re: [PATCH] drivers/xen/xenbus: Replace deprecated strcpy in
 xenbus_transaction_end
X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers.
From: Thorsten Blum <thorsten.blum@linux.dev>
In-Reply-To: <2cce7bee-af02-4850-b1a8-b7f2cf3f1efb@suse.com>
Date: Mon, 13 Oct 2025 13:23:00 +0200
Cc: Jan Beulich <jbeulich@suse.com>,
 linux-hardening@vger.kernel.org,
 xen-devel@lists.xenproject.org,
 linux-kernel@vger.kernel.org,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Jason Andryuk <jason.andryuk@amd.com>,
 "Dr. David Alan Gilbert" <linux@treblig.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <EC8DD2E1-61F3-4882-8266-3F828377DA35@linux.dev>
References: <20251012195514.39003-2-thorsten.blum@linux.dev>
 <ebee3406-d515-4e29-9d7c-f54bdb143080@suse.com>
 <65bad926-22fc-41da-b9c4-5857a002b377@suse.com>
 <13cbd826-540e-4352-8e0d-ae0c9fbd2faa@suse.com>
 <2cce7bee-af02-4850-b1a8-b7f2cf3f1efb@suse.com>
To: =?utf-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
X-Migadu-Flow: FLOW_OUT

On 13. Oct 2025, at 11:24, J=C3=BCrgen Gro=C3=9F wrote:
> On 13.10.25 10:22, Jan Beulich wrote:
>> On 13.10.2025 09:36, J=C3=BCrgen Gro=C3=9F wrote:
>>> I would even go further and drop abortstr[] completely:
>>>=20
>>> diff --git a/drivers/xen/xenbus/xenbus_xs.c =
b/drivers/xen/xenbus/xenbus_xs.c
>>> index 528682bf0c7f..c891af7165f5 100644
>>> --- a/drivers/xen/xenbus/xenbus_xs.c
>>> +++ b/drivers/xen/xenbus/xenbus_xs.c
>>> @@ -550,14 +550,8 @@ EXPORT_SYMBOL_GPL(xenbus_transaction_start);
>>>    */
>>>   int xenbus_transaction_end(struct xenbus_transaction t, int abort)
>>>   {
>>> -       char abortstr[2];
>>> -
>>> -       if (abort)
>>> -               strcpy(abortstr, "F");
>>> -       else
>>> -               strcpy(abortstr, "T");
>>> -
>>> -       return xs_error(xs_single(t, XS_TRANSACTION_END, abortstr, =
NULL));
>>> +       return xs_error(xs_single(t, XS_TRANSACTION_END, abort ? "F" =
: "T",
>>> +                       NULL));
>>>   }
>>>   EXPORT_SYMBOL_GPL(xenbus_transaction_end);
>> Hmm, which xs_single() indeed takes a const char *, it then casts =
away const-
>> ness before handing to xs_talkv().
>=20
> Yes, the cast is needed as xs_talkv() can handle reads and writes. No =
problem in
> this case, as the string is only read by xs_talkv() (write type =
operation).

I'll submit a v2.

Thanks,
Thorsten



From xen-devel-bounces@lists.xenproject.org Mon Oct 13 11:38:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 11:38:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142268.1476454 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8GsV-0001oF-7w; Mon, 13 Oct 2025 11:38:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142268.1476454; Mon, 13 Oct 2025 11:38:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8GsV-0001o8-4O; Mon, 13 Oct 2025 11:38:11 +0000
Received: by outflank-mailman (input) for mailman id 1142268;
 Mon, 13 Oct 2025 11:38:10 +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 <SRS0=9ybd=4W=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v8GsU-0001o2-JR
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 11:38:10 +0000
Received: from mail-wr1-x433.google.com (mail-wr1-x433.google.com
 [2a00:1450:4864:20::433])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 135aa150-a829-11f0-9d15-b5c5bf9af7f9;
 Mon, 13 Oct 2025 13:38:02 +0200 (CEST)
Received: by mail-wr1-x433.google.com with SMTP id
 ffacd0b85a97d-3ee15505cdeso3456100f8f.0
 for <xen-devel@lists.xenproject.org>; Mon, 13 Oct 2025 04:38:02 -0700 (PDT)
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-426ce5cfe4esm17526222f8f.26.2025.10.13.04.38.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 13 Oct 2025 04:38:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 135aa150-a829-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760355481; x=1760960281; 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=3S+u4aBNcuobhuXiIFmgY10NRAtcnxDfCMlzyjopPYY=;
        b=DnhUB2mR3bX9/JVYwAcLopJZyeifFJ3eteHkkmUHZ2Ul66kUfXCPO1l5z5Lm+qpKbZ
         P2+PSoDgb5LIKMSITl6opNM6KqBvdkgef0hyKolIAEMaQJ/6dyXEOkYulP0pshv3WafT
         RnQvZZi6cL3noh/xH4sRziKgBD4FJCYafz0XhtXdall8O6l1CiXYzfNZgeXg0/eoSpp8
         OoFB/ZXvKJrdhANkZmB5lDyY5k1lgHxf3/nP6goWS5ZFck4AZCXLA+Vuk+cjrYu8jh6z
         knSx2ssDtdUHVIoZsCFz5MpDzyrvT+93QicU6kqoU+qdSBH6hmg0p3XwWCYayKpj+nFX
         zwxw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760355481; x=1760960281;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=3S+u4aBNcuobhuXiIFmgY10NRAtcnxDfCMlzyjopPYY=;
        b=lASnFCquYM9z/FGtSx661RjGPaZatUOXnbNoHHHorsXpnMXBMLTftGHAsT8pz/2tXm
         bG/wOHoPmfQuvKpIM/jcEeHebRs1D710YJIS/Gq6n+/y02vq8z25EHcDUj6urTG4UGwI
         S9sSMtXiNIQi88+7/LeAi8mASKr7VdwXUtkZ/+lPqFKAfBYv4p341xf657G2I5eGK+da
         h1B4/kkMKw2yHCFS71xmXGBKqPiiOgfJiCBGfm6RB99PPddvoIC2zXFLOQ+c2AIL7x7m
         NZxGoB86GTMaeq7hF0SL2bb5diJMMo+TXLj7qmTkEcphDztzJkUed5QxpkWGPv+R4WAU
         XPhg==
X-Forwarded-Encrypted: i=1; AJvYcCWoKdsya8heBt0Gf0ARFWT9eTZPHA/Zkpt3EZshUYZl2cSeEqQmOQMxyax6wKhpII8/Drv/timDfHQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxCqXDOq0qlooXig5El2DW9DdR9pY7aZK6RJZtVVzf8oVV8t+3p
	u/phtgDKo/O2RQxT2rlbPEokZMJje/fRP2D2872L7aTpw28anjWx8JWwxmm6SfoydA==
X-Gm-Gg: ASbGncvtvQ1GgU1j0r8VhXFfmuCRSN6S1HmTKS7Nh0E16Kc9fsKLPgYkJnxJQ6CJ8NY
	E42sUjRtkzLDro6grR3au9kT2ITBw6NgFVCHK/oCcWxsX9+SbD9Q5HwSfY1xjREwsJx4oxO8BEj
	muGm3Z7ZC2g9QzQenXO4rRLGVrY7GfUhOxU9FKxlRY3KvW+KLK+4brF2Q1hi4RgU47sEYYfuiKb
	+7CmbqC/UY78ca57UrKfLtnz48jn96X4EHwANiP37ajv0XDQQKjF9F/tLEaj/Byd3teoRSlQkOA
	LrZ3T3vI+X6pvrcaKBhMn2G6uYtT7JTK4CopfqmA7VHdFrWicK/tcvaNIYYE+/d47npt/Tmll+N
	FdQKiOTOh5hhtEUEz74EPNP48oQN2yEjJbadNxlW+ppa+QXs1bE3eRS6b2byF3Zo9SkKT4p7vmy
	t6kzp5JDdcYJApiiifO3dyH3untg==
X-Google-Smtp-Source: AGHT+IG61xEJzr+7WCklsw6Af+o15xjLuYcZXoCeGXfTG/BNdY1gFNKr9slTqJDe4zTIuLwQhJYB1w==
X-Received: by 2002:a05:6000:2891:b0:403:8633:b7e3 with SMTP id ffacd0b85a97d-4266e7d461emr14801857f8f.30.1760355481470;
        Mon, 13 Oct 2025 04:38:01 -0700 (PDT)
Message-ID: <ac7ccf2d-163c-447f-9c2a-951b33c0b139@suse.com>
Date: Mon, 13 Oct 2025 13:38:03 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] xen/x86: fix xen.efi boot crash from some bootloaders
From: Jan Beulich <jbeulich@suse.com>
To: Yann Sionneau <yann.sionneau@vates.tech>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20250724140731.1502774-1-yann.sionneau@vates.tech>
 <4ceb64fa-d7cb-4c77-8a60-1526046c037c@suse.com>
 <4936cb0d-0898-4171-b8e1-ed3a57bcfc0a@vates.tech>
 <9b7b70e5-9b1b-446e-9dcc-310f1c1f4b47@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: <9b7b70e5-9b1b-446e-9dcc-310f1c1f4b47@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 25.08.2025 16:29, Jan Beulich wrote:
> On 25.08.2025 16:17, Yann Sionneau wrote:
>> On 8/4/25 11:34, Jan Beulich wrote:
>>> On 24.07.2025 16:07, Yann Sionneau wrote:
>>>> xen.efi PE does not boot when loaded from shim or some patched
>>>> downstream grub2.
>>>>
>>>> What happens is the bootloader would honour the MEM_DISCARDABLE
>>>> flag of the .reloc section meaning it would not load its content
>>>> into memory.
>>>>
>>>> But Xen is parsing the .reloc section content twice at boot:
>>>> * https://elixir.bootlin.com/xen/v4.20.1/source/xen/common/efi/boot.c#L1362
>>>> * https://elixir.bootlin.com/xen/v4.20.1/source/xen/arch/x86/efi/efi-boot.h#L237
>>>>
>>>> Therefore it would crash with the following message:
>>>> "Unsupported relocation type" as reported there:
>>>>
>>>> * https://github.com/QubesOS/qubes-issues/issues/8206#issuecomment-2619048838
>>>> * https://lore.kernel.org/xen-devel/7e039262-1f54-46e1-8f70-ac3f03607d5a@suse.com/T/#me122b9e6c27cd98db917da2c9f67e74a2c6ad7a5
>>>>
>>>> This commit adds a small C host tool named keeprelocs
>>>> that is called after xen.efi is produced by the build system
>>>> in order to remove this bit from its .reloc section header.
>>>>
>>>> Signed-off-by: Yann Sionneau <yann.sionneau@vates.tech>
>>>
>>> So I found a way to deal with this at the linker side, without any new command
>>> line options. Behavior is solely driven by the attributes of any incoming .reloc
>>> sections (of which there would be none by default, retaining original behavior).
>>> The important patch is [1], but at least the first patch of the series [2] would
>>> in most cases also be wanted/needed (patch 04 is obviously a mechanical prereq
>>> for the main patch). Need for other of the prereqs there depends on the scope
>>> and purpose of one's binutils build(s).
>>>
>>> [1] https://sourceware.org/pipermail/binutils/2025-August/143153.html
>>> [2] https://sourceware.org/pipermail/binutils/2025-August/143141.html
>>
>> That sounds great!
>> It's clearly better to fix the issue by changing/improving binutils.
>> Let's drop my patch in Xen if this gets accepted in binutils!
> 
> Luckily I'm in a position where I don't need "acceptance", but merely
> "absence of objections". The sole reason for the present delay is with
> a colliding MIPS patch, which I'd rather see go in first.
> 
>> It would be nice if you could keep us posted in xen-devel of the 
>> status/progress of the binutils patches.
> 
> I'll try to remember.

Here you go - the series went in late last week.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Oct 13 11:52:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 11:52:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142276.1476464 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8H6B-0005Uy-DC; Mon, 13 Oct 2025 11:52:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142276.1476464; Mon, 13 Oct 2025 11:52:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8H6B-0005Ur-9W; Mon, 13 Oct 2025 11:52:19 +0000
Received: by outflank-mailman (input) for mailman id 1142276;
 Mon, 13 Oct 2025 11:52:18 +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
 <SRS0=gpU8=4W=linux.dev=thorsten.blum@srs-se1.protection.inumbo.net>)
 id 1v8H67-0005Ul-4x
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 11:52:18 +0000
Received: from out-183.mta1.migadu.com (out-183.mta1.migadu.com
 [95.215.58.183]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0d8e1e99-a82b-11f0-9d15-b5c5bf9af7f9;
 Mon, 13 Oct 2025 13:52:12 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0d8e1e99-a82b-11f0-9d15-b5c5bf9af7f9
X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers.
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1;
	t=1760356330;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding;
	bh=/Uibbwg5d/wwFpFMHDXbH4NfA15Tu+IH7YaAVA/rb1c=;
	b=PSjKTqJP9pqAYoHdIVOFzclMViJVzEjidiANqm0xzTACFLXxwbrBrac1PxqPu8OpRK7v8K
	f5VNqEXqNzQuzlJ/I9TthmxUsJBt/QWf/pwZLjULfY+HDFyvClU5vNWjzfmBeYxGjQOAd/
	UmVyha1g5IPcarqIKYH4G8XdsWvPncU=
From: Thorsten Blum <thorsten.blum@linux.dev>
To: Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Jason Andryuk <jason.andryuk@amd.com>,
	"Dr. David Alan Gilbert" <linux@treblig.org>
Cc: linux-hardening@vger.kernel.org,
	Thorsten Blum <thorsten.blum@linux.dev>,
	xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH v2] drivers/xen/xenbus: Replace deprecated strcpy in xenbus_transaction_end
Date: Mon, 13 Oct 2025 13:51:25 +0200
Message-ID: <20251013115129.30304-2-thorsten.blum@linux.dev>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Migadu-Flow: FLOW_OUT

strcpy() is deprecated; inline the read-only string instead. Fix the
function comment and use bool instead of int while we're at it.

Link: https://github.com/KSPP/linux/issues/88
Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
---
 drivers/xen/xenbus/xenbus_xs.c | 14 ++++----------
 include/xen/xenbus.h           |  2 +-
 2 files changed, 5 insertions(+), 11 deletions(-)

diff --git a/drivers/xen/xenbus/xenbus_xs.c b/drivers/xen/xenbus/xenbus_xs.c
index 528682bf0c7f..5d95a5f83119 100644
--- a/drivers/xen/xenbus/xenbus_xs.c
+++ b/drivers/xen/xenbus/xenbus_xs.c
@@ -546,18 +546,12 @@ int xenbus_transaction_start(struct xenbus_transaction *t)
 EXPORT_SYMBOL_GPL(xenbus_transaction_start);
 
 /* End a transaction.
- * If abandon is true, transaction is discarded instead of committed.
+ * If abort is true, transaction is discarded instead of committed.
  */
-int xenbus_transaction_end(struct xenbus_transaction t, int abort)
+int xenbus_transaction_end(struct xenbus_transaction t, bool abort)
 {
-	char abortstr[2];
-
-	if (abort)
-		strcpy(abortstr, "F");
-	else
-		strcpy(abortstr, "T");
-
-	return xs_error(xs_single(t, XS_TRANSACTION_END, abortstr, NULL));
+	return xs_error(xs_single(t, XS_TRANSACTION_END, abort ? "F" : "T",
+				  NULL));
 }
 EXPORT_SYMBOL_GPL(xenbus_transaction_end);
 
diff --git a/include/xen/xenbus.h b/include/xen/xenbus.h
index 7dab04cf4a36..c94caf852aea 100644
--- a/include/xen/xenbus.h
+++ b/include/xen/xenbus.h
@@ -158,7 +158,7 @@ int xenbus_exists(struct xenbus_transaction t,
 		  const char *dir, const char *node);
 int xenbus_rm(struct xenbus_transaction t, const char *dir, const char *node);
 int xenbus_transaction_start(struct xenbus_transaction *t);
-int xenbus_transaction_end(struct xenbus_transaction t, int abort);
+int xenbus_transaction_end(struct xenbus_transaction t, bool abort);
 
 /* Single read and scanf: returns -errno or num scanned if > 0. */
 __scanf(4, 5)
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Mon Oct 13 11:56:51 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 11:56:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142284.1476473 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8HAX-0006N4-Se; Mon, 13 Oct 2025 11:56:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142284.1476473; Mon, 13 Oct 2025 11:56:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8HAX-0006Mx-Px; Mon, 13 Oct 2025 11:56:49 +0000
Received: by outflank-mailman (input) for mailman id 1142284;
 Mon, 13 Oct 2025 11:56:48 +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 <SRS0=9ybd=4W=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v8HAW-0006LR-Cw
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 11:56:48 +0000
Received: from mail-wr1-x436.google.com (mail-wr1-x436.google.com
 [2a00:1450:4864:20::436])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b1d16863-a82b-11f0-9d15-b5c5bf9af7f9;
 Mon, 13 Oct 2025 13:56:47 +0200 (CEST)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-3ecde0be34eso2650418f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 13 Oct 2025 04:56:47 -0700 (PDT)
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-426ce5e13b6sm17985726f8f.44.2025.10.13.04.56.45
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 13 Oct 2025 04:56:46 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b1d16863-a82b-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760356606; x=1760961406; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=73gfcekB4XaZaAAzorurBZ89TJY+IgjZkPa2xLpLONo=;
        b=bHgTocOWYaNVzefVxaP0qGvrQeEKYUNth3Z9sHM4j90T932bvFGP2cJZ2Et/aZO30F
         AEIKKYpvgZv+DrT916kSJkeB33hQKiRP+Rvph46UQVQPcLqF6WWri9nw8cjQC6U2OSlJ
         zmUsmGpq7Ja1eAfU/MKbdYKxapQ4fRn8DGo3x/IN7Wlb035kGTIVcVrZxUIbnwkNDKPd
         kAfSG0SHAAMPRIEpOvcqmFeicCuGK4fT683HbkFYXN2RbPZgdbELwg6O2LvG+/ttaEhH
         t3QmK5S0CVTKEJubxdHhZU6xZRXsyyzun6ZQ5ZjVXbRMnRKRC3arbL8aR2uleb0x8ErL
         9FFA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760356606; x=1760961406;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=73gfcekB4XaZaAAzorurBZ89TJY+IgjZkPa2xLpLONo=;
        b=S5VvP7J6Y5Wl1FQi3OLbAtfLehCI7oUslvk8RKIduhukCm5N4d145H60o7I0DJ+IO+
         uaNOxblkJkzxiRUG2ASEbpOpiHaG0JaDCSBiJiciyO+QTmc8soARyI5xD8bXZ/zEqaKa
         TNxrygqcgNLEy9B2Q4y95duONl4H+CvaIl7E2fCiMXkYvLA2K+32FV4VlgFVUn1eOYqa
         2WpdNpXXnU+Lk3UR9m9NuW+OlFJoUzliD9HbuDJnVQ6WMODllDm9Ade84JzDCMJJctiU
         D15AoNv74TIQX3XS/vPnFMHc4PnTWnbmn+wf/1WFWugve87W0G9tsbHBIlE9JOFcbJlA
         C8nQ==
X-Forwarded-Encrypted: i=1; AJvYcCW9eiHphJ7X9cxwDCeL6H8dAtLbJCsQVXf71sbsPIep6UETiigp7HOSLt72ZtGyMA+3o3q+/xpBJ+A=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzcW7RJnVdgu9BaDSyFo6nr1darvu0fMUS0qhuXFLgOQvVOKkih
	YZNNZHwnxlq+VJIN5ADpWvSGhAmXh/EI6HY4OkJ8JV+06VXiL65GS8uPSv/Q28+OEA==
X-Gm-Gg: ASbGncsf8quEkqxKeL/hstrqhXnOt29LchQdp1HZ7d54om0vsjbqpO0wxFIkUfZ6eN0
	DOQctAXkhC2ZLZTHBWJQT7rHmSkzBS6ClF7kiv1fPqbC3NaoYBVbSuUNetmHs+MxVvmOR9db5eL
	07NzZ7NaTbzkvPfxOi4qLffZ8pVZRi9nbezSBs8qnvppA7/u1xPdbhLQn4R2TZlfj/Rd9EBMr+S
	1PvGN5EoXK0dKxQN92bdhH+7eSsmy8dZclk2la89aZ8coKsNpYt14k4XkarM2YdGc8kaW70kzhD
	dDqSAsW22RioZPJ8Quu4tbkPkjXuGxINZezg0STApueYgIfIoEO+E+yyiEDZl8zew91FRteng28
	7Hkm5da0VpQXL5r3m0CaNM6v8ch7Z0vyYPnwVNJ9152hYXuK3nnAz+LigsJ3DIavEU/FPm9nVlz
	dVAj+IOzF5+CWUYdCyb9DKrBenXw==
X-Google-Smtp-Source: AGHT+IGq9Oqpppqu8zQSKBbzzeYgL4cXtulxv2d2cf/fxoVfxp549P9BBfOJnOdeZVCAu4mdUjh2qg==
X-Received: by 2002:a05:6000:2389:b0:411:3c14:3ad9 with SMTP id ffacd0b85a97d-4266e7c7b2fmr16041479f8f.21.1760356606429;
        Mon, 13 Oct 2025 04:56:46 -0700 (PDT)
Message-ID: <b7924304-e7be-4876-96c3-495b2579d850@suse.com>
Date: Mon, 13 Oct 2025 13:56:48 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 4/8] xen/pci: disable pci_device_{add,remove} when
 hwdom uses vpci on arm
To: Mykyta Poturai <Mykyta_Poturai@epam.com>,
 Luca Fancellu <luca.fancellu@arm.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Stewart Hildebrand <stewart.hildebrand@amd.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <cover.1758618839.git.mykyta_poturai@epam.com>
 <d86ae19db4a62d196b696e421683725d0c647b2c.1758618839.git.mykyta_poturai@epam.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <d86ae19db4a62d196b696e421683725d0c647b2c.1758618839.git.mykyta_poturai@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 24.09.2025 09:59, Mykyta Poturai wrote:
> From: Luca Fancellu <luca.fancellu@arm.com>
> 
> On ARM, if the hardware domain is using the emulated bus, it should not
> be allowed to add/remove pci devices, so return EOPNOTSUPP in that case.

And how exactly would PCI hotplug be made work then?

> --- a/xen/drivers/pci/physdev.c
> +++ b/xen/drivers/pci/physdev.c
> @@ -19,6 +19,9 @@ ret_t pci_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>          struct pci_dev_info pdev_info;
>          nodeid_t node = NUMA_NO_NODE;
>  
> +        if ( hwdom_uses_vpci() )
> +            return -EOPNOTSUPP;
> +
>          if ( !is_pci_passthrough_enabled() && !arch_pci_device_physdevop() )
>              return -EOPNOTSUPP;
>  
> @@ -57,6 +60,9 @@ ret_t pci_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>      case PHYSDEVOP_pci_device_remove: {
>          struct physdev_pci_device dev;
>  
> +        if ( hwdom_uses_vpci() )
> +            return -EOPNOTSUPP;
> +
>          if ( !is_pci_passthrough_enabled() && !arch_pci_device_physdevop() )
>              return -EOPNOTSUPP;
>  

Along the lines of my comment on patch 3, these uses are clearly _visually_
wrong for x86; they're correct from a functional perspective simply because
the predicate returns the (apparently) wrong value there right now.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Oct 13 11:59:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 11:59:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142298.1476484 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8HCw-0007SN-C4; Mon, 13 Oct 2025 11:59:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142298.1476484; Mon, 13 Oct 2025 11:59:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8HCw-0007SG-87; Mon, 13 Oct 2025 11:59:18 +0000
Received: by outflank-mailman (input) for mailman id 1142298;
 Mon, 13 Oct 2025 11:59:17 +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
 <SRS0=Hmnp=4W=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1v8HCv-0007SA-4P
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 11:59:17 +0000
Received: from mail-ed1-x533.google.com (mail-ed1-x533.google.com
 [2a00:1450:4864:20::533])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0a9757bc-a82c-11f0-9d15-b5c5bf9af7f9;
 Mon, 13 Oct 2025 13:59:16 +0200 (CEST)
Received: by mail-ed1-x533.google.com with SMTP id
 4fb4d7f45d1cf-63bc12a5608so526960a12.0
 for <xen-devel@lists.xenproject.org>; Mon, 13 Oct 2025 04:59:15 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-146-38.play-internet.pl.
 [109.243.146.38]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-63a52b7144esm8559971a12.23.2025.10.13.04.59.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 13 Oct 2025 04:59:14 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0a9757bc-a82c-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760356755; x=1760961555; darn=lists.xenproject.org;
        h=in-reply-to:content-language:references:cc:to:from:subject
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=3qCLlQ3osFWQy7lyr4DMEcTqM9+pCBBaIU8EjjcbSCk=;
        b=CIQRgGh/BZAuXPyKVnA9UFB5yQGmuMpQnLPJfWuCw4E43IcYr8fJPXJdqT2+MFomX6
         +ssqCiW/ci+auhFNAbS2Gbv/mLYaphJkTGd65fp5Cn7b9nOLA0LkBQbNy4+XSA4Yrezy
         PE8jXhgUMOINcuN8zby4pdS0TY9ulOKGeBvQDOAIGsxzajo46YEo1knQrPqcvdneRvon
         o3BeOG8BtTLaKDNPS4qJPEliO9IpOYuDfyiCdYkLkk/schOlrpUsuVggw9VLGrGXvB8K
         g6YLVCS0bFP18z2Zy3QBXTJ7JdlMiS8dw3vzhPM//hzWRTAN8teg3D6Kbv1Nw59oggTs
         C1kg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760356755; x=1760961555;
        h=in-reply-to:content-language:references:cc:to:from:subject
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=3qCLlQ3osFWQy7lyr4DMEcTqM9+pCBBaIU8EjjcbSCk=;
        b=YwdbnebB80TveyyEy1tYfRUqGIkokEH+RLJ6B9eTqdlfobI7TVYtqvTXNCYsu+Wo/D
         yHIHzLFvx8SVc1QsbYqk08nkZFBCarE/MCgGTUEzOwWlUI4+dGs/rGnaiwLy/p8zL4Mj
         VRRJKNSdqPhpQNGgkEYWL61TDVcbPL33Wyo896WvO6r7lHMWToBWckE1Kr5n2xAzb0Tw
         i3cbmEsxdPygaarygl6awHxh0UZ61jUlNtWjVeUOTib7U8g42knWtOS8uRHO0GbS6XOj
         jGxSmsBwCu5PT57CtY+b9ocXd9pbqeZXnUYiZzYrNWoMGZF2/XmYMpQ4Pm+BAFNflaU6
         MzAA==
X-Forwarded-Encrypted: i=1; AJvYcCUqMYz06LXIVaWz7O+zxYeOVRUAVWhULmnFl0dYr7q/1CgkYqqIp2qjixzP3H0wJ5sydWcnqzNRYF4=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz1icmm6F4LNFia4Qwpg47o/AIA6FxCwj4CDHFcqy9oDhptltbi
	dVxRlzJSkEz1gtrAM09IyTEPwNuXmCOFi6ja9Sh+uQJ/T5NReCxr5nz2
X-Gm-Gg: ASbGncv87E1vdEHMmOg2yUZFPOYjkZWNBpZXULk7YUa+tkHcSS5MC52J0XJ8UqN82ID
	rznxadFcwsApaxaepryrgI4EINj61znn31+kX8b99xbGrCbZ13KnZARLYE7u3VMjD6otlI7vvQ5
	vn972l3a7OX9m+gMg3VUOe8YJtU4oIrzOLe73fVaE8mHsLXqYfsXgoMcbyOudHZmc1MpffyPJ3A
	g5zpuy1C/sQOG+WttPUWBR7JzDY5IoChoMeHLGe923RyyMWSdSU0hNdE3ieHPIsPoIqy7vlQbOz
	DhzVIKO17eB269Tb51g78LW/5y1C6y+ZZlELSXq1g8RfL7jgdHi9VEhmAZ0mVo9zoIle8W5Y/xY
	bfYfwVxDT2qxG3nnW8TIRmJAIwwaS3bXCoxdULvkTxNiDCLvELAXSPGpgI7gLi2T2D+zGOj+ycJ
	7GxMqZunvYTcvMSOWTYiBlGNmpy5YbgNu4
X-Google-Smtp-Source: AGHT+IGkKB3hsfCESdaPnMFXx8WfGJrlhidHYR6jCp0Vkxc1Y7nt7LU7L/c8WXymcOQVRabnDynvOQ==
X-Received: by 2002:a05:6402:2709:b0:637:e271:8071 with SMTP id 4fb4d7f45d1cf-639d5c5943cmr20641475a12.27.1760356755057;
        Mon, 13 Oct 2025 04:59:15 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------rzlY9FsOxvAFx0HJYCBTmL6T"
Message-ID: <682706a0-4d40-459b-bab5-31b986d96bb9@gmail.com>
Date: Mon, 13 Oct 2025 13:59:13 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 10/18] xen/riscv: implement p2m_set_range()
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <cover.1758145428.git.oleksii.kurochko@gmail.com>
 <5e325267a792a9a0f4cb387b4e3287d22dc8d173.1758145428.git.oleksii.kurochko@gmail.com>
 <6ee4846e-dd27-4588-aac5-f2fe2937db18@suse.com>
 <a5c016c9-aee4-4a86-a6cc-0d89dd5e9216@gmail.com>
 <6b62cf4c-8367-47dc-9911-206c220fb050@suse.com>
 <b60c5228-d7da-4b8e-b12b-3fe26825759b@gmail.com>
Content-Language: en-US
In-Reply-To: <b60c5228-d7da-4b8e-b12b-3fe26825759b@gmail.com>

This is a multi-part message in MIME format.
--------------rzlY9FsOxvAFx0HJYCBTmL6T
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit


On 9/26/25 10:58 AM, Oleksii Kurochko wrote:
>>>>> +    /*
>>>>> +     * Free the entry only if the original pte was valid and the base
>>>>> +     * is different (to avoid freeing when permission is changed).
>>>>> +     *
>>>>> +     * If previously MFN 0 was mapped and it is going to be removed
>>>>> +     * and considering that during removing MFN 0 is used then `entry`
>>>>> +     * and `new_entry` will be the same and p2m_free_subtree() won't be
>>>>> +     * called. This case is handled explicitly.
>>>>> +     */
>>>>> +    if ( pte_is_valid(orig_pte) &&
>>>>> +         (!mfn_eq(pte_get_mfn(*entry), pte_get_mfn(orig_pte)) ||
>>>>> +          (removing_mapping && mfn_eq(pte_get_mfn(*entry), _mfn(0)))) )
>>>>> +        p2m_free_subtree(p2m, orig_pte, level);
>>>> I continue to fail to understand why the MFN would matter here.
>>> My understanding is that if, for the same GFN, the MFN changes fromMFN_1 to
>>> MFN_2, then we need to update any references on the page referenced by
>>> |orig_pte| to ensure the proper reference counter is maintained for the page
>>> pointed to byMFN_1.
>>>
>>>>    Isn't the
>>>> need to free strictly tied to a VALID -> NOT VALID transition? A permission
>>>> change simply retains the VALID state of an entry.
>>> It covers a case when removing happens and probably in this case we don't need
>>> to check specifically for mfn(0) case "mfn_eq(pte_get_mfn(*entry), _mfn(0))",
>>> but it would be enough to check that pte_is_valid(entry) instead:
>>>     ...
>>>     (removing_mapping && !pte_is_valid(entry)))) )
>>>
>>> Or only check removing_mapping variable as `entry` would be invalided by the
>>> code above anyway. So we will get:
>>> +    if ( pte_is_valid(orig_pte) &&
>>> +         (!mfn_eq(pte_get_mfn(*entry), pte_get_mfn(orig_pte)) || removing_mapping) )
>>> +        p2m_free_subtree(p2m, orig_pte, level);
>>>
>>> Does it make sense now?
>> Not really, sorry. Imo the complicated condition indicates that something is
>> wrong (or at least inefficient) here.
> Then, in the case of aVALID -> VALID transition, where the MFN is changed for the
> same PTE, should something be done with the old MFN (e.g., calling|p2m_put_page()|
> for it), or can freeing the old MFN be delayed until|domain_relinquish_resources() |is called? If so, wouldnâ€™t that lead to a situation where many old MFNs accumulate
> and cannot be re-used until|domain_relinquish_resources()| (or another function that
> explicitly frees pages) is invoked?
> If we only need to care about theVALID -> NOT VALID transition, doesnâ€™t that mean
> |p2m_free_subtree()| should be called only when a removal actually occurs?

I've decided to "simplify" the original condition to:
     /*
      * In case of a VALID -> INVALID transition, the original PTE should
      * always be freed.
      *
      * In case of a VALID -> VALID transition, the original PTE should be
      * freed only if the MFNs are different. If the MFNs are the same
      * (i.e., only permissions differ), there is no need to free the
      * original PTE.
      */
     if ( pte_is_valid(orig_pte) &&
          (!pte_is_valid(*entry) ||
          !mfn_eq(pte_get_mfn(*entry), pte_get_mfn(orig_pte))) )
     {

I hope it would make more sense.

~ Oleksii
   

--------------rzlY9FsOxvAFx0HJYCBTmL6T
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 9/26/25 10:58 AM, Oleksii Kurochko
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:b60c5228-d7da-4b8e-b12b-3fe26825759b@gmail.com">
      <blockquote type="cite"
        cite="mid:6b62cf4c-8367-47dc-9911-206c220fb050@suse.com">
        <blockquote type="cite">
          <blockquote type="cite">
            <blockquote type="cite">
              <pre wrap="" class="moz-quote-pre">+    /*
+     * Free the entry only if the original pte was valid and the base
+     * is different (to avoid freeing when permission is changed).
+     *
+     * If previously MFN 0 was mapped and it is going to be removed
+     * and considering that during removing MFN 0 is used then `entry`
+     * and `new_entry` will be the same and p2m_free_subtree() won't be
+     * called. This case is handled explicitly.
+     */
+    if ( pte_is_valid(orig_pte) &amp;&amp;
+         (!mfn_eq(pte_get_mfn(*entry), pte_get_mfn(orig_pte)) ||
+          (removing_mapping &amp;&amp; mfn_eq(pte_get_mfn(*entry), _mfn(0)))) )
+        p2m_free_subtree(p2m, orig_pte, level);
</pre>
            </blockquote>
            <pre wrap="" class="moz-quote-pre">I continue to fail to understand why the MFN would matter here.
</pre>
          </blockquote>
          <pre wrap="" class="moz-quote-pre">My understanding is that if, for the same GFN, the MFN changes fromMFN_1 to
MFN_2, then we need to update any references on the page referenced by
|orig_pte| to ensure the proper reference counter is maintained for the page
pointed to byMFN_1.

</pre>
          <blockquote type="cite">
            <pre wrap="" class="moz-quote-pre">  Isn't the
need to free strictly tied to a VALID -&gt; NOT VALID transition? A permission
change simply retains the VALID state of an entry.
</pre>
          </blockquote>
          <pre wrap="" class="moz-quote-pre">It covers a case when removing happens and probably in this case we don't need
to check specifically for mfn(0) case "mfn_eq(pte_get_mfn(*entry), _mfn(0))",
but it would be enough to check that pte_is_valid(entry) instead:
   ...
   (removing_mapping &amp;&amp; !pte_is_valid(entry)))) )

Or only check removing_mapping variable as `entry` would be invalided by the
code above anyway. So we will get:
+    if ( pte_is_valid(orig_pte) &amp;&amp;
+         (!mfn_eq(pte_get_mfn(*entry), pte_get_mfn(orig_pte)) || removing_mapping) )
+        p2m_free_subtree(p2m, orig_pte, level);

Does it make sense now?
</pre>
        </blockquote>
        <pre wrap="" class="moz-quote-pre">Not really, sorry. Imo the complicated condition indicates that something is
wrong (or at least inefficient) here.</pre>
      </blockquote>
      <pre data-start="61" data-end="520">Then, in the case of a <span
      data-start="84" data-end="101">VALID -&gt; VALID</span> transition, where the MFN is changed for the
same PTE, should something be done with the old MFN (e.g., calling <code
      data-start="212" data-end="228">p2m_put_page()</code>
for it), or can freeing the old MFN be delayed until <code
      data-start="282" data-end="313">domain_relinquish_resources()
</code>is called? If so, wouldnâ€™t that lead to a situation where many old MFNs accumulate
and cannot be re-used until <code data-start="425" data-end="456">domain_relinquish_resources()</code> (or another function that
explicitly frees pages) is invoked?</pre>
      <pre data-start="522" data-end="684">If we only need to care about the <span
      data-start="556" data-end="577">VALID -&gt; NOT VALID</span> transition, doesnâ€™t that mean
<code data-start="608" data-end="628">p2m_free_subtree()</code> should be called only when a removal actually occurs?</pre>
    </blockquote>
    <pre>I've decided to "simplify" the original condition to:
    /*
     * In case of a VALID -&gt; INVALID transition, the original PTE should
     * always be freed.
     *
     * In case of a VALID -&gt; VALID transition, the original PTE should be
     * freed only if the MFNs are different. If the MFNs are the same
     * (i.e., only permissions differ), there is no need to free the
     * original PTE.
     */
    if ( pte_is_valid(orig_pte) &amp;&amp;
         (!pte_is_valid(*entry) ||
         !mfn_eq(pte_get_mfn(*entry), pte_get_mfn(orig_pte))) )
    {

I hope it would make more sense.

~ Oleksii
  </pre>
  </body>
</html>

--------------rzlY9FsOxvAFx0HJYCBTmL6T--


From xen-devel-bounces@lists.xenproject.org Mon Oct 13 12:00:48 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 12:00:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142310.1476493 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8HEM-0000b8-QJ; Mon, 13 Oct 2025 12:00:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142310.1476493; Mon, 13 Oct 2025 12:00:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8HEM-0000b1-NM; Mon, 13 Oct 2025 12:00:46 +0000
Received: by outflank-mailman (input) for mailman id 1142310;
 Mon, 13 Oct 2025 12:00:45 +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 <SRS0=eGB2=4W=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1v8HEL-0000au-Rq
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 12:00:45 +0000
Received: from mail-wm1-x32f.google.com (mail-wm1-x32f.google.com
 [2a00:1450:4864:20::32f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3f99d1d2-a82c-11f0-9d15-b5c5bf9af7f9;
 Mon, 13 Oct 2025 14:00:44 +0200 (CEST)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-46e4473d7f6so26331295e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 13 Oct 2025 05:00:44 -0700 (PDT)
Received: from ?IPV6:2003:e5:873f:400:7b4f:e512:a417:5a86?
 (p200300e5873f04007b4fe512a4175a86.dip0.t-ipconnect.de.
 [2003:e5:873f:400:7b4f:e512:a417:5a86])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-46fb489accbsm207642235e9.14.2025.10.13.05.00.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 13 Oct 2025 05:00:43 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3f99d1d2-a82c-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760356844; x=1760961644; darn=lists.xenproject.org;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=/dxqBAuMFz/4ObPFc+VeEyW8NSDE0MktALoHnbWSUek=;
        b=gxV+5ECfLp+scxMa8xkQxdNYhv3W343ORamsCdqV0uHdJmjHsyPVgyeAs5jdqJK4Pl
         j4Qi/LNaORH0JsCPWvdpMuYVoXWoMAf7n3xP9IL/yNuuMGJgFNwtnRCd4/Vhbf8z4qaM
         9U1eJYXrM7jdlkdftYqEbmLpQXKZSzCUSwxpbambIkUFfDWGb8yij8kh+Gugqsq6MfFQ
         Kl9lD7mddwZ1Yb/4oMX+MkubPPERSX5i8OKd/8qxeTw/7ZHlJZ4vYG73fvSkOlT8UJB0
         K2VIHqM4awVz2Hlk/AXf6qLAm2AFP+v1Es/gK+zWNVBHv59PE6pkDFWcSNTdsTVEp6Dt
         8Iog==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760356844; x=1760961644;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=/dxqBAuMFz/4ObPFc+VeEyW8NSDE0MktALoHnbWSUek=;
        b=uBRgFgbJvswITo3O8GP4wFbp+1vhLaWpw4+gZEN8TNoQzfkCMcWotbhcLHBcjFKoib
         kpTJ9cxSViLpKg3lZLhWQ9tolsq3YJyGKcjad4qjo5MHrG0GZNX4re6i8L1fMSvFbDcF
         RhUnOacdcdYu320OLTzAjdxXqChuRJcj6T+TeiZNOmJGt4RuFZNEazFgNFFop9AdxeS9
         73kc9QQEuF7PDh3rzAr7hGsPlQoVHW0IjoD1DlwKUmQY2pIV9OeLR6EfQcTt8kaqlGXQ
         Ky3TR4YOyRi75Hj0JL3heNa50yvkGXHoGSpDYtDpgpJgR7gGax+ZATjTf+g2xKeglHkk
         NJmA==
X-Forwarded-Encrypted: i=1; AJvYcCUaPrV9BZhcvQYUMKJy4VGqJT5RjvqzHn8lPpszyw/x9bN773FrforqqZ70DuaTjpmqqjfanL001ns=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yys6HdXtGp+wiTxK/8UTUe6tS1FMZOwNTxDm8FTRvXNvlD6fnS1
	pK4s1ILcjKPvGc8vp/VJ73PCa7GDG6hJHClwq+y4T53Md0FCbq/5yfbg0dt4W1ZT+zk=
X-Gm-Gg: ASbGnctzyox1iE8IDF3aUQqXRe5raS/S/dv1gwrxDhLovksG5NOzUrplD5DZslVF5ty
	StL+tJmU2cijM2E0zXaPquk48NEG89EwrHXDMb15TrbyTvlK78jIzXEWS1oalTFePIg7s+6g8XI
	PbGM0lRsMtVmy1D84Zh+g68FhdegbYYiy6Ri8feC4udCGdNk0MmftIYXmtUhfOBFSOq2U6IZcbK
	6JA4SWp0L6P/vW7F+xDDwGfeJGjZ3/6WDS2Iq71MNbdPqpowZ8R25WTEeEtNHnKKzyzOdxMaBjZ
	+wsRCXQYQgh9I5DbBhCfcoewHURZu7Yd2ScoN47eTJgK7PmGpZdvl2RqiiuN+6/yq9ELcmRdrgW
	8XwDIP/HJRVoqWYZtf2niN9qkqOimYgqUSoRmc2kzeSMm+rTvPOCWhV5uUKo7frIdw4elLE5luw
	FxdHcqhuAAtiFor/lVxt31BZbo40drSFGFYnkUFDHSqsugMOSqdz22HG0KrD6cmGs=
X-Google-Smtp-Source: AGHT+IGocgXogRM7akcTSK1xrQE9tVgR+Nty1WOVCqdVeCe6O8qvzxmQNwZZ3oohkfEaftJ6wP49/A==
X-Received: by 2002:a05:600c:4510:b0:45d:f83b:96aa with SMTP id 5b1f17b1804b1-46fa9a8f2e1mr144516785e9.7.1760356844293;
        Mon, 13 Oct 2025 05:00:44 -0700 (PDT)
Message-ID: <cf834c9b-4c2b-4851-a2c0-5885b3cf1fda@suse.com>
Date: Mon, 13 Oct 2025 14:00:43 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] drivers/xen/xenbus: Replace deprecated strcpy in
 xenbus_transaction_end
To: Thorsten Blum <thorsten.blum@linux.dev>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Jason Andryuk <jason.andryuk@amd.com>,
 "Dr. David Alan Gilbert" <linux@treblig.org>
Cc: linux-hardening@vger.kernel.org, xen-devel@lists.xenproject.org,
 linux-kernel@vger.kernel.org
References: <20251013115129.30304-2-thorsten.blum@linux.dev>
Content-Language: en-US
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <20251013115129.30304-2-thorsten.blum@linux.dev>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------vMnIqwKGSJE0PqZfv8VIdFz0"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------vMnIqwKGSJE0PqZfv8VIdFz0
Content-Type: multipart/mixed; boundary="------------1E9wWmb0SvyhzfRDWrCDwsNl";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Thorsten Blum <thorsten.blum@linux.dev>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Jason Andryuk <jason.andryuk@amd.com>,
 "Dr. David Alan Gilbert" <linux@treblig.org>
Cc: linux-hardening@vger.kernel.org, xen-devel@lists.xenproject.org,
 linux-kernel@vger.kernel.org
Message-ID: <cf834c9b-4c2b-4851-a2c0-5885b3cf1fda@suse.com>
Subject: Re: [PATCH v2] drivers/xen/xenbus: Replace deprecated strcpy in
 xenbus_transaction_end
References: <20251013115129.30304-2-thorsten.blum@linux.dev>
In-Reply-To: <20251013115129.30304-2-thorsten.blum@linux.dev>

--------------1E9wWmb0SvyhzfRDWrCDwsNl
Content-Type: multipart/mixed; boundary="------------RRK0hufaSRgt4jr4TufFezF4"

--------------RRK0hufaSRgt4jr4TufFezF4
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTMuMTAuMjUgMTM6NTEsIFRob3JzdGVuIEJsdW0gd3JvdGU6DQo+IHN0cmNweSgpIGlz
IGRlcHJlY2F0ZWQ7IGlubGluZSB0aGUgcmVhZC1vbmx5IHN0cmluZyBpbnN0ZWFkLiBGaXgg
dGhlDQo+IGZ1bmN0aW9uIGNvbW1lbnQgYW5kIHVzZSBib29sIGluc3RlYWQgb2YgaW50IHdo
aWxlIHdlJ3JlIGF0IGl0Lg0KPiANCj4gTGluazogaHR0cHM6Ly9naXRodWIuY29tL0tTUFAv
bGludXgvaXNzdWVzLzg4DQo+IFNpZ25lZC1vZmYtYnk6IFRob3JzdGVuIEJsdW0gPHRob3Jz
dGVuLmJsdW1AbGludXguZGV2Pg0KDQpSZXZpZXdlZC1ieTogSnVlcmdlbiBHcm9zcyA8amdy
b3NzQHN1c2UuY29tPg0KDQoNCkp1ZXJnZW4NCg==
--------------RRK0hufaSRgt4jr4TufFezF4
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------RRK0hufaSRgt4jr4TufFezF4--

--------------1E9wWmb0SvyhzfRDWrCDwsNl--

--------------vMnIqwKGSJE0PqZfv8VIdFz0
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmjs6esFAwAAAAAACgkQsN6d1ii/Ey+O
9wf9GdcUf4z3v+VEm53GypvPg2UeLJ4HA5tDBSxJ4YwSi+yZksUoxZn3cvSygw9qwfajvNldPUmQ
rtlg0lLPlqorVV9ieTri3ERw7DGytVRjh6Us/KAbV28LK68ePMzRhl33yu0wkgBgY2k7n8l9yQaW
C+YJU/VQFsqqLHPvYKkaIngNtVENbVdp37eYBbqlejnoYWlHTPmzzBXavo5nVpLfQcjX9v9GMXKF
S+a3ClBkUFP6JYMcdnv3V9cXOVHX+aEO0PPv+73AkZNr4jLRhMwHBhG3lrs6EasYK1QILG3Oo3HS
XwHUOLJp+KwZprNsNcZQp3/Zzyk4KusunKrc7dOflQ==
=rMBF
-----END PGP SIGNATURE-----

--------------vMnIqwKGSJE0PqZfv8VIdFz0--


From xen-devel-bounces@lists.xenproject.org Mon Oct 13 12:02:31 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 12:02:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142318.1476504 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8HG1-00017H-4V; Mon, 13 Oct 2025 12:02:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142318.1476504; Mon, 13 Oct 2025 12:02:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8HG1-00017A-1C; Mon, 13 Oct 2025 12:02:29 +0000
Received: by outflank-mailman (input) for mailman id 1142318;
 Mon, 13 Oct 2025 12:02:27 +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
 <SRS0=gpU8=4W=linux.dev=thorsten.blum@srs-se1.protection.inumbo.net>)
 id 1v8HFz-000174-D3
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 12:02:27 +0000
Received: from out-186.mta0.migadu.com (unknown [91.218.175.186])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 775dc2f5-a82c-11f0-980a-7dc792cee155;
 Mon, 13 Oct 2025 14:02:19 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 775dc2f5-a82c-11f0-980a-7dc792cee155
Content-Type: text/plain;
	charset=utf-8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1;
	t=1760356937;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=KHboIQv6refupr1G8jO/PDidwtSpxE+8ysLOORDABVQ=;
	b=iF1vJsmkXSUxP04f5R/FFr3Y/a8MD76OVbhONUWNa7ZNO6+0+b74fNBRuagGl3K1Pvahkr
	XTCT2IRMsqTEchHDlq4Bsd1OnOotdf18gikEaDlXqcGXTFCbDhlwNz25eG4YNOXLTsxF/L
	Pcf4TRi1LKOf14+w2ccQH+QkRmKrw5o=
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.700.81\))
Subject: Re: [PATCH v2] drivers/xen/xenbus: Replace deprecated strcpy in
 xenbus_transaction_end
X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers.
From: Thorsten Blum <thorsten.blum@linux.dev>
In-Reply-To: <20251013115129.30304-2-thorsten.blum@linux.dev>
Date: Mon, 13 Oct 2025 14:02:04 +0200
Cc: linux-hardening@vger.kernel.org,
 xen-devel@lists.xenproject.org,
 linux-kernel@vger.kernel.org
Content-Transfer-Encoding: quoted-printable
Message-Id: <48BBD43F-50F9-4521-B636-CAC71B8DE871@linux.dev>
References: <20251013115129.30304-2-thorsten.blum@linux.dev>
To: Juergen Gross <jgross@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Jason Andryuk <jason.andryuk@amd.com>,
 "Dr. David Alan Gilbert" <linux@treblig.org>
X-Migadu-Flow: FLOW_OUT

On 13. Oct 2025, at 13:51, Thorsten Blum wrote:
> strcpy() is deprecated; inline the read-only string instead. Fix the
> function comment and use bool instead of int while we're at it.
>=20
> Link: https://github.com/KSPP/linux/issues/88
> Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
> ---

I forgot to add:

Changes in v2:
- Use an inline ternary expression and remove 'char abortstr[2]' as
suggested by J=C3=BCrgen
- Link to v1: =
https://lore.kernel.org/lkml/20251012195514.39003-2-thorsten.blum@linux.de=
v/



From xen-devel-bounces@lists.xenproject.org Mon Oct 13 12:18:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 12:18:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142326.1476515 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8HVD-0004CD-EC; Mon, 13 Oct 2025 12:18:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142326.1476515; Mon, 13 Oct 2025 12:18:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8HVD-0004C6-9f; Mon, 13 Oct 2025 12:18:11 +0000
Received: by outflank-mailman (input) for mailman id 1142326;
 Mon, 13 Oct 2025 12:18:10 +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
 <SRS0=KIN4=4W=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v8HVC-0004Bz-BQ
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 12:18:10 +0000
Received: from SN4PR0501CU005.outbound.protection.outlook.com
 (mail-southcentralusazlp170110003.outbound.protection.outlook.com
 [2a01:111:f403:c10d::3])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id aa09c4c3-a82e-11f0-980a-7dc792cee155;
 Mon, 13 Oct 2025 14:18:03 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by CH0PR03MB6034.namprd03.prod.outlook.com (2603:10b6:610:bd::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.10; Mon, 13 Oct
 2025 12:17:59 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9203.009; Mon, 13 Oct 2025
 12:17:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aa09c4c3-a82e-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=X+R2ZTZFEJPj8cZKvvUe8gDL3iZbTF/V/TYK1aSNE6RClKJ6+Z7j+We08JOzekaUb5SaIN6lGizRQ1Vugep4SC2xR1lPpNpgdPgnXSuFJayGZdzVw2cQzkL+BoT39TCodvcwQwumRCfzrEcNNEtE464GgxB5FfYb2daazjJV5hbSODg+5y7wp017ULlL3F/+6VzYRRH5xM3EPj0+dbaBQZwg6YHArvh7bHAPrylj9BP3YjJ/Zv1iMaGY4HlPSUyrVdD/9ZpMiKL0NtgaEf+8cZhlMUXZgpkW23cMx3fggyslFg/e2gmaGBGn5hkH+hXvD8GSbtEYR3jNIj/DE4Y4qA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VAieG4/Xjh5kpeI8cRoPY1l6WT4vJQBOu5HqLbP+wTA=;
 b=bjCWOU7FeKNnuZXNOxFViZ8VUGxh9rL5Ux33fh6jtp0RMtAR35KvBSbKJpa9Zk/SAd7FXe5fw+0RN9D8b2DZmIlef/bnfVB71ZZusZC6PG/F55/hKbKUYwrhmtCBgU7RcG1yTSJFLdJlWeS5kMri62LO0sVclAz23xWdVQTH//Jhy1Mr1XGpauoTKSYQORCgGfAtdRO9KKImRtkmnkD8OPK4GBk9ru7BtzsjpIPua/VEU8TkAXEMDQslUaydQX9ymLrqzgr9H/u6Q5bYSoSvcNO06XMqDZ0rfef/AhwWRuRpXYoYfQ69jI870oE8+iHl0CvMOLbaDkrzpluIWoRX2w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VAieG4/Xjh5kpeI8cRoPY1l6WT4vJQBOu5HqLbP+wTA=;
 b=l6N4dKNtXSSYUcqZ30eLTO6jZ2HFa0JkPxx+crIJnUUgxOW4xym6xZSaFNc7wiSB6J5B6OBuUJKALiFzrjVfemIpbM5+YDmvqtxmrSC4kYJYoNSNbcuIp8Cdt/AUKRs09XtMV0Cvgz6rpw4NgiSuls6z0bvGnpcAVrLxp18tTQc=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Mon, 13 Oct 2025 14:17:54 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Grygorii Strashko <grygorii_strashko@epam.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Alejandro Vallejo <alejandro.garciavallejo@amd.com>
Subject: Re: [PATCH v5] x86: make Viridian support optional
Message-ID: <aOzt8gfxkdQXZ6O1@Mac.lan>
References: <20250930125215.1087214-1-grygorii_strashko@epam.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20250930125215.1087214-1-grygorii_strashko@epam.com>
X-ClientProxiedBy: PA7P264CA0004.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:102:2d3::10) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|CH0PR03MB6034:EE_
X-MS-Office365-Filtering-Correlation-Id: 79a6adf9-a359-4759-cf28-08de0a528c3c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?d1RKNjZ6Z2FUSWFPWkUzSkU5UnFGTzVQdElVa0hhVVNoNEFDQ2drWVQxWVNy?=
 =?utf-8?B?LzdwanRodGFQNTE4bno0WlQzc1dQNHMrRWRqOGRORnhFaUY2dFlLbHJVdUNk?=
 =?utf-8?B?bW5FZW1kVFZCaHpkUXo1Z1lOdTQ3UllhUnNQa0h0OTA0TS9CVHlmVUt1SEND?=
 =?utf-8?B?bmZJT3JkaDFTdGpBTzVSc0plelY2cE9BbFJidmpRRUhtQVQ3VTRDMGp1US8v?=
 =?utf-8?B?ajg4OFpQUExuTE1UVnJ0MWZYYTFvTXdFYUdacFlkUkFyMm5JNUQxZExWRWtX?=
 =?utf-8?B?ZS9iWWhWU3c1MmErOXRKYXJvZWJLbFVIcEZFMDBoSlpTWmI5NWVXTnJ2UUNT?=
 =?utf-8?B?V29IZnluNzFxaFRtRFRjc0wvekJkZUZUSStFZTcxT3czekEydHBqZEI0bHAr?=
 =?utf-8?B?eWh6N0NPb1l4TCtHWEl3b3hhMWxIMnQ2NHpQeFdLcW1qMXkzNHZhdXZSV2Zt?=
 =?utf-8?B?dkl4cEttaDNkSkhyenlRekVtTVJKVGRqajlkWU9ibjFMM3daQ0MvUUllYm1i?=
 =?utf-8?B?eGF5aCtXTVRPQ1kzOHozUm81MFFoR2l3eFpScjFNeHpFcjJBWUs4YWYwdmR3?=
 =?utf-8?B?R1A1dVkxWnZ2bUs2dE9abHo2TjBuaGYrMzgweEpVT05oS2FQYUh2c2s3aURT?=
 =?utf-8?B?WTNDQWFUMzJvZlVkbkZoK1ZkYnM3L0VtZm9TZllYbWlzajArM3lGSnRhNVM2?=
 =?utf-8?B?SW1QWDZlWm1Pd3RSOHdCUlRTd2wwekxESXgxSVliSEZ6N2FqbzFDc0ZMbStv?=
 =?utf-8?B?bW1SamdKTDJzZUZnc1oxV3pOT0YxZEgvRFJmMm1sYWM0eERpcFRmOU4wbjAy?=
 =?utf-8?B?TUg5Uzgvc3Zvd1hGNGpTM2lTZVJvQ040TUNSbE9nWmg5UHJ1MCt2Wlg2VVhx?=
 =?utf-8?B?Ymh4M2x0eVBQZVJZNDREM0ZMdnZjNGluMG93VG1mT3RhYXl3U0kzamM1SWdY?=
 =?utf-8?B?ZlRrcHJuUDg5aEoxOVcxSXJ5SjhGMEEvZElHZmpqLzQrVmNTaHBvVmZkV1N1?=
 =?utf-8?B?QzJIZkRDS3FpT3hsNCs5aEVYejZNT2F5UlIxVEk5NjVLWWhzcTdGQ3lrdW10?=
 =?utf-8?B?ZjdCSERRaDZENEpSa3JDekhJUzZQajJCc3pDOXRnZXBldlV2NWdHY1BtSFpt?=
 =?utf-8?B?RTVwRmNGdVhFdlFlRTdZSzVBRGNCbTJ6bm95M1VQcUZmRHlqYXoxREFJWEpG?=
 =?utf-8?B?MVhkYm5MSE5CMlpvM3pBTFhwYkF2bXpZUzBlM1crQURMN1pHR2FJeHlobzZH?=
 =?utf-8?B?OGNPQm50cndHQ3NFMzZ2SFZlcWRZNTFHTnhINk03SHJjZTRkYlVkaUJVT0hv?=
 =?utf-8?B?VFlidzhYTDdIN1NhY1o1WHZ2WjFoOVgwSm5icGNRcW1lR3QvQ29CZjl3TTFx?=
 =?utf-8?B?dndWUmNheUZsdnJHVzJ2YXJEb1hvMk8xcDJPSndHL1JDRVVkWE1QS1hMVVZu?=
 =?utf-8?B?bTdEcE5IejhkK1VkeWEzTEFxTlkxLytjTHFzd3pRNEpTQ0JwdmNnSCtKMSts?=
 =?utf-8?B?aDNzcnZEUk9ZYktCQ0ZYQkF3ZzBCSzgrdHJ4b05ZSENZR2FycXhiTGtnY3Vu?=
 =?utf-8?B?ZCtReUZHSzUwTFJOdjlERFBJVDM1dnErKzFVcXF4Sy9FRVJzKy9TNXJiODE4?=
 =?utf-8?B?eFBZeFdCbGpuTjNqbzJxakQyMC9KbmE0c2xjZEszZ2JBRE1GK2ZsamlqMjk4?=
 =?utf-8?B?bXR1WlpHamEvMDNydGlmQ3hxVlhFVU9PMVhrcDJvZk9ZNXdSekl2RXYwVVVm?=
 =?utf-8?B?L05MS2tya29KcWRZUU45eWpVMmFaMVgrTUNQVHBlQXkxcit6dlIxaW84QjZO?=
 =?utf-8?B?ajNaaXliV01zakhqWjVzQlNYK3oyZ01ZQ2ZlMkR1SE54UDk4ekxGcWc1RjdD?=
 =?utf-8?B?dWp6NGJtNnZKNHFMbkZHV2Q0ZUFOalVXcjdKdFVCYjNXUlE9PQ==?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZUg2dW9JSFR5aGcwWTFaMmhyVXVvV29LTzlaa3dYR05WOWFBSjhEc2M4M0ZL?=
 =?utf-8?B?YUNmSXRkMnduZVQva21oM0Nnb015OTQwMnhVOVVuYnZkbVQ4R3JBR05XREdD?=
 =?utf-8?B?WjZ5QzY1RTFMbzh4dldINlVWRUN0MFBpaTRtTzVxT1kvamFreHBET0YvSk93?=
 =?utf-8?B?OHM4NzhBMXNTeFFNRUlLRU9jSGdjWmQ0NHRLeE83ckdENDBKK3FtTUUvNXYr?=
 =?utf-8?B?NkRZSGd6QzUxbzdPbnczbWhrUE0wN1dseTBrRHp5MG44RjZMNFhDdzNoRVVx?=
 =?utf-8?B?WFRBMWdKek92MXVqZEFiZlRtcUFzb3luQURLMGJ2Z3V5WUprOWRhRWIrZTJ6?=
 =?utf-8?B?eVFOSHluTTBYL2NSMmdIakVTR2pFaS9aZGg0eGJGakJicjhENElXTXZXQnV1?=
 =?utf-8?B?dWFocVVXdEl4UWV1NjlHMDQ2OC93QmRtb1o1VkVWUENEYmxlOFllM1ZHLzZm?=
 =?utf-8?B?QlphTkZmNkJoODNVQmpiRFBtNkRtZTN5alYzdm8zeTV2VmRTaVExTEdyRE5l?=
 =?utf-8?B?UTNPQmZzbFE4UEp2UzFDWFlEMVkyZC9yQ21zU2hRWFkydTVBSC9kOHI3ZFlG?=
 =?utf-8?B?S3Rqd2JzRkdOZldVbkhvWGcrNWRuTVlvVEFMeDhNbmcxUitEaUVJdDBSbGNH?=
 =?utf-8?B?b0ZKbEd5Y0ZIeXFybDFZUXI3SUJTWUhXMG5EWjRpajlMYzM3TythWDJ5VEU4?=
 =?utf-8?B?MjA5NksyOGlFcHo1dG1BUXhHZHF6WGJNc1N0Njd3bEZHNkQ0R3BZMGZPbzYw?=
 =?utf-8?B?Y0RmcnhHQVd4VUVZZC9qS2VHcXJDSmplYzlvaENUajZQWmJ5VHcraDRMN29m?=
 =?utf-8?B?V1ZTWUN0dzVxRjdOS21PbTFKcGZrUDhDSUJjV3MrdWF0RlpReENlL24yTHky?=
 =?utf-8?B?SUtTelNDdzB1TWwrb21uYXlWa291SW9nTTJmald5T0ZKZmpSSllKaHRyakFj?=
 =?utf-8?B?aXo0S3NiWWdiWU1zSTlEQTJEcVZpUXExbmVacGFPenhNSSt4eHZOU1lnRUVn?=
 =?utf-8?B?OFdsQ2Z0MlJjY3BHM1RvRWJQczdZbjZNdWtxNkxLRE1HSlBQSkFWZmVCL21s?=
 =?utf-8?B?NmxmaFQ0SnRqUlNuQlBEZ1JKdGIxRVpWbVFiRS9va1RRWitKckRyOHFIQ3k4?=
 =?utf-8?B?SksvYUoyaGtEU1NJVm0ramVRQlcxdzZKU2NaK0NIeWNKTHNXYlppQXdibjlF?=
 =?utf-8?B?ZW12ejZ1Vms2YjhiblRpcGxGa1NkL1lpZHNWMnJRUjdjVEo1SHVJdlVHRXIx?=
 =?utf-8?B?bitReVRvMG5OQkk1elVwenVSTC9QQzg3OVlHcEpTbzZBcWVrZGRscEMvSlFs?=
 =?utf-8?B?ZG9VcnI1bEVFd0pQQmFvVG5jTkZRcUNqdzBPZ3AwWVZ6Nlk3MTdUa2FKQ2Qx?=
 =?utf-8?B?TlU5dEVJZEZFaFhNSHNhWHNOSVpuTHlGdkVlS1JhSnh5M01kZGVtMGlNS0VH?=
 =?utf-8?B?TmxwQWI1aTJJYTM1cGdvT0ZqeVJacjk4a01VYXFkWGloTnIvNldBUXhDc1hi?=
 =?utf-8?B?aElrcTR4SHhtS1F5QlAwOFFsKzJTNlBNNnJWYW5XTllkTktCQ1VJb2RxL0ZF?=
 =?utf-8?B?NHgwZUZwQ1BLUlhZeVlLSWZCUEJyUno4Q3RwVmdwUlJOVGJNWlZsSklZVWNu?=
 =?utf-8?B?OXVtUk5teUhzS1lJZExvcTVvczNqYmdYbmdxT0RPbnVzTmRpZFc0UlNaNWtU?=
 =?utf-8?B?NEJON1NOTE80c3RyelJTNzNHOHpPMWJOYVl4T0dzenNXOTB1RjhxMm9oQlpL?=
 =?utf-8?B?ZXVCUXlYWjZaR1NlczQ4SHVxeE1kYkh2c0pGRE5jZHNncVNMUThSUWxwN1Zj?=
 =?utf-8?B?QXFFQlhDSHRoamd6VWt3WExncG5BcHJJckNGWVgvZU1sQTU4M25PVEtxdHUz?=
 =?utf-8?B?RkxURG5jdFNKU3VDWUI4ZENZc0NyTUhqTVdKSnRhOFpEaThtMFhVVndJbERa?=
 =?utf-8?B?OXd4Z2wwcEw4ZGRpcDl2cjU0dkhYRzduaFNWRG1qNTM2NkxRcFVUelJEbzAv?=
 =?utf-8?B?VDZyYmFqakpwU2lSUWV5Mm5JMHNhZHZmMXpIM0VxM3orTmRKcGRXVHRLRkUy?=
 =?utf-8?B?QnJFdmZZdXdpMko3ZEZyOE9jMVVtT2hsaEY5YlgvWkNDSnJNeTMyUUxrT2R4?=
 =?utf-8?Q?W3MeolGF+k3/bUC0BtMkrBUW3?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 79a6adf9-a359-4759-cf28-08de0a528c3c
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2025 12:17:59.2506
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: jK5XfpLhyc2hwGy7nzjAolMaYTiZpHPV1pLO+PqY2Qhb8nFcrV2mV5Rpdi6oYUUHzlkMoezq6JtTyu4YZkdM0w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR03MB6034

On Tue, Sep 30, 2025 at 12:52:16PM +0000, Grygorii Strashko wrote:
> From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
> 
> Add config option VIRIDIAN that covers viridian code within HVM.
> Calls to viridian functions guarded by is_viridian_domain() and related macros.
> Having this option may be beneficial by reducing code footprint for systems
> that are not using Hyper-V.
> 
> [grygorii_strashko@epam.com: fixed NULL pointer deref in
> viridian_save_domain_ctxt()]
> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
> Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
> ---
> changes in v5:
> - drop "depends on AMD_SVM || INTEL_VMX"
> - return -EILSEQ from viridian_load_x() if !VIRIDIAN
> 
> changes in v4:
> - s/HVM_VIRIDIAN/VIRIDIAN
> - add "depends on AMD_SVM || INTEL_VMX"
> - add guard !is_viridian_vcpu() checks in viridian_load_vcpu_ctxt/viridian_load_domain_ctxt
> 
> changes in v3:
> - fixed NULL pointer deref in viridian_save_domain_ctxt() reported for v2,
>   which caused v2 revert by commit 1fffcf10cd71 ("Revert "x86: make Viridian
>   support optional"")
> 
> v4: https://patchwork.kernel.org/project/xen-devel/patch/20250919163139.2821531-1-grygorii_strashko@epam.com/
> v3: https://patchwork.kernel.org/project/xen-devel/patch/20250916134114.2214104-1-grygorii_strashko@epam.com/
> v2: https://patchwork.kernel.org/project/xen-devel/patch/20250321092633.3982645-1-Sergiy_Kibrik@epam.com/
> 
>  xen/arch/x86/hvm/Kconfig              | 10 ++++++++++
>  xen/arch/x86/hvm/Makefile             |  2 +-
>  xen/arch/x86/hvm/hvm.c                | 27 ++++++++++++++++++---------
>  xen/arch/x86/hvm/viridian/viridian.c  | 14 ++++++++++----
>  xen/arch/x86/hvm/vlapic.c             | 11 +++++++----
>  xen/arch/x86/include/asm/hvm/domain.h |  2 ++
>  xen/arch/x86/include/asm/hvm/hvm.h    |  3 ++-
>  xen/arch/x86/include/asm/hvm/vcpu.h   |  2 ++
>  8 files changed, 52 insertions(+), 19 deletions(-)
> 
> diff --git a/xen/arch/x86/hvm/Kconfig b/xen/arch/x86/hvm/Kconfig
> index 5cb9f2904255..928bb5662b89 100644
> --- a/xen/arch/x86/hvm/Kconfig
> +++ b/xen/arch/x86/hvm/Kconfig
> @@ -62,6 +62,16 @@ config ALTP2M
>  
>  	  If unsure, stay with defaults.
>  
> +config VIRIDIAN
> +	bool "Hyper-V enlightenments for guests" if EXPERT
> +	default y
> +	help
> +	  Support optimizations for Hyper-V guests such as faster hypercalls,
> +	  efficient timer and interrupt handling, and enhanced paravirtualized
> +	  I/O. This is to improve performance and compatibility of Windows VMs.

I would leave "paravirtualized I/O" out of the text, as the hypervisor
Viridian extensions don't provide anything related to I/O.  AFAICT
that would be the vmbus stuff, which I'm not sure is supported when
running as a Xen guest, and would require QEMU to emulate such
interfaces?  IOW: the paravirtualized I/O part is out-of-scope for an
hypervisor-only related config option:

	  Support optimizations for Hyper-V guests such as hypercalls,
	  efficient timers and interrupt handling. This is to improve
	  performance and compatibility of Windows VMs.

Nit: I would also drop the "faster" prefix for hypercalls.  Without
this option enabled there are no Hyper-V hypercalls available,
neither fast nor slow.


> +
> +	  If unsure, say Y.
> +
>  config MEM_PAGING
>  	bool "Xen memory paging support (UNSUPPORTED)" if UNSUPPORTED
>  	depends on VM_EVENT
> diff --git a/xen/arch/x86/hvm/Makefile b/xen/arch/x86/hvm/Makefile
> index 6ec2c8f2db56..736eb3f966e9 100644
> --- a/xen/arch/x86/hvm/Makefile
> +++ b/xen/arch/x86/hvm/Makefile
> @@ -1,6 +1,6 @@
>  obj-$(CONFIG_AMD_SVM) += svm/
>  obj-$(CONFIG_INTEL_VMX) += vmx/
> -obj-y += viridian/
> +obj-$(CONFIG_VIRIDIAN) += viridian/
>  
>  obj-y += asid.o
>  obj-y += dm.o
> diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
> index 23bd7f078a1d..95a80369b9b8 100644
> --- a/xen/arch/x86/hvm/hvm.c
> +++ b/xen/arch/x86/hvm/hvm.c
> @@ -701,9 +701,12 @@ int hvm_domain_initialise(struct domain *d,
>      if ( hvm_tsc_scaling_supported )
>          d->arch.hvm.tsc_scaling_ratio = hvm_default_tsc_scaling_ratio;
>  
> -    rc = viridian_domain_init(d);
> -    if ( rc )
> -        goto fail2;
> +    if ( is_viridian_domain(d) )
> +    {
> +        rc = viridian_domain_init(d);
> +        if ( rc )
> +            goto fail2;
> +    }

Are you sure this works as expected?

The viridian_feature_mask() check is implemented using an HVM param,
and hence can only be possibly set after the domain object is created.
AFAICT is_viridian_domain(d) will unconditionally return false when
called from domain_create() context, because the HVM params cannot
possibly be set ahead of the domain being created.

If you want to do anything like this you will possibly need to
introduce a new flag to XEN_DOMCTL_createdomain to signal whether the
domain has Viridian extensions are enabled or not, so that it's know
in the context where domain_create() gets called.

Given that HyperV is available on arm64 also it should be a global
flag, as opposed to a per-arch one in xen_arch_domainconfig IMO.

>  
>      rc = alternative_call(hvm_funcs.domain_initialise, d);
>      if ( rc != 0 )
> @@ -739,7 +742,8 @@ void hvm_domain_relinquish_resources(struct domain *d)
>      if ( hvm_funcs.nhvm_domain_relinquish_resources )
>          alternative_vcall(hvm_funcs.nhvm_domain_relinquish_resources, d);
>  
> -    viridian_domain_deinit(d);
> +    if ( is_viridian_domain(d) )
> +        viridian_domain_deinit(d);
>  
>      ioreq_server_destroy_all(d);
>  
> @@ -1643,9 +1647,12 @@ int hvm_vcpu_initialise(struct vcpu *v)
>           && (rc = nestedhvm_vcpu_initialise(v)) < 0 ) /* teardown: nestedhvm_vcpu_destroy */
>          goto fail5;
>  
> -    rc = viridian_vcpu_init(v);
> -    if ( rc )
> -        goto fail6;
> +    if ( is_viridian_domain(d) )
> +    {
> +        rc = viridian_vcpu_init(v);
> +        if ( rc )
> +            goto fail6;
> +    }
>  
>      rc = ioreq_server_add_vcpu_all(d, v);
>      if ( rc != 0 )
> @@ -1675,13 +1682,15 @@ int hvm_vcpu_initialise(struct vcpu *v)
>   fail2:
>      hvm_vcpu_cacheattr_destroy(v);
>   fail1:
> -    viridian_vcpu_deinit(v);
> +    if ( is_viridian_domain(d) )
> +        viridian_vcpu_deinit(v);
>      return rc;
>  }
>  
>  void hvm_vcpu_destroy(struct vcpu *v)
>  {
> -    viridian_vcpu_deinit(v);
> +    if ( is_viridian_domain(v->domain) )
> +        viridian_vcpu_deinit(v);
>  
>      ioreq_server_remove_vcpu_all(v->domain, v);
>  
> diff --git a/xen/arch/x86/hvm/viridian/viridian.c b/xen/arch/x86/hvm/viridian/viridian.c
> index c0be24bd2210..1212cc418728 100644
> --- a/xen/arch/x86/hvm/viridian/viridian.c
> +++ b/xen/arch/x86/hvm/viridian/viridian.c
> @@ -1116,14 +1116,14 @@ static int cf_check viridian_save_domain_ctxt(
>  {
>      const struct domain *d = v->domain;
>      const struct viridian_domain *vd = d->arch.hvm.viridian;
> -    struct hvm_viridian_domain_context ctxt = {
> -        .hypercall_gpa = vd->hypercall_gpa.raw,
> -        .guest_os_id = vd->guest_os_id.raw,
> -    };
> +    struct hvm_viridian_domain_context ctxt = {};
>  
>      if ( !is_viridian_domain(d) )
>          return 0;
>  
> +    ctxt.hypercall_gpa = vd->hypercall_gpa.raw;
> +    ctxt.guest_os_id = vd->guest_os_id.raw,
> +
>      viridian_time_save_domain_ctxt(d, &ctxt);
>      viridian_synic_save_domain_ctxt(d, &ctxt);
>  
> @@ -1136,6 +1136,9 @@ static int cf_check viridian_load_domain_ctxt(
>      struct viridian_domain *vd = d->arch.hvm.viridian;
>      struct hvm_viridian_domain_context ctxt;
>  
> +    if ( !is_viridian_domain(d) )
> +        return -EILSEQ;
> +
>      if ( hvm_load_entry_zeroextend(VIRIDIAN_DOMAIN, h, &ctxt) != 0 )
>          return -EINVAL;
>  
> @@ -1172,6 +1175,9 @@ static int cf_check viridian_load_vcpu_ctxt(
>      struct vcpu *v;
>      struct hvm_viridian_vcpu_context ctxt;
>  
> +    if ( !is_viridian_domain(d) )
> +        return -EILSEQ;

Nit: we usually use EILSEQ for unreachable conditions, but here it's a
toolstack controlled input.  Maybe we could instead use ENODEV here?

As it's not really an illegal restore stream, but the selected guest
configuration doesn't match what's then loaded.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Oct 13 13:06:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 13:06:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142339.1476524 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8IG8-0003NK-2p; Mon, 13 Oct 2025 13:06:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142339.1476524; Mon, 13 Oct 2025 13:06:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8IG7-0003ND-Vz; Mon, 13 Oct 2025 13:06:39 +0000
Received: by outflank-mailman (input) for mailman id 1142339;
 Mon, 13 Oct 2025 13:06: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 <SRS0=9ybd=4W=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v8IG6-0003N6-3W
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 13:06:38 +0000
Received: from mail-wr1-x42c.google.com (mail-wr1-x42c.google.com
 [2a00:1450:4864:20::42c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 726b8560-a835-11f0-9d15-b5c5bf9af7f9;
 Mon, 13 Oct 2025 15:06:36 +0200 (CEST)
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-3f0134ccc0cso3187326f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 13 Oct 2025 06:06:35 -0700 (PDT)
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-426ce5e8b31sm18346804f8f.54.2025.10.13.06.06.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 13 Oct 2025 06:06:34 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 726b8560-a835-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760360795; x=1760965595; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:subject:from:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=PTDT/IVcDjOHO7b5s7iseOWwfbD5DgrsVmlRzu81Gzc=;
        b=FhFhliO0DelhvmnTJlH02+s+nqT/PRG4gDZ8MWK8tc8h7ijAXNAW7saP+6XOBql/9y
         4C+BEQ9STC2rpsRW607ZpjLnpn+cgQTfJvWyp1TS1x1iWKVNbTom/1lPnzBHNw4Z6Jth
         k3Y2LJz7bS+fmIbOXlsja1AxJAFLC2ogciTC+9Qbpy0jQHUlHtU7OHJdG/aSyCSUqu5j
         lzlHRUg37l6ukqvOVdlh937ezZCrbMxaA3f1ZfkSZzlIqFZEsL7/ptjObCmSaU48WSsT
         qVAI0AtlSAdl4oYpRjjo3sYHWPRz/VMCcS3ZbWHHYmbIutqOGb/amhlfTyd/C20/ICDJ
         M63w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760360795; x=1760965595;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:subject:from:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=PTDT/IVcDjOHO7b5s7iseOWwfbD5DgrsVmlRzu81Gzc=;
        b=V4jRjU0YAcza8/P4GDBV0MO2E3RLLJbf70c08Xol0PHUdun8rnFneFACOZyrj6txL9
         swmj9YAOXqIZMXxYSQrWhjxW55IxuEIWDCao9hcVEJnJOGO/FZkOHa1Kw1YDoLEYZxtR
         +NWTqi/7L6ohp1nJXzhhpM6JTyxEQQVHBauF3wFQCEbrLnPvY+O2cTvfWTPWAYNsGZi7
         g55bb/TzKh46/0wisSMoVtndbdKu1TFlpkGhifThiEycbo7OtgxEPz7IlcB8eNH9t7Q4
         8sdE2NDo9yrgayQSR4708jU9UqhOloYa4aO43WMCqvSZAy0fL89BYxGAJzol8fm0GdTb
         XhLQ==
X-Gm-Message-State: AOJu0YwFNU/qNYsvvjPhHIW5Jq0Ir9jTYWJy/+MYq46eXb+68tiFKyuz
	OmEHvSN7zLTug1qv9Rr4Bb90ElknIbIwD3twQrqi9KDSELsrtzRGWptjERea48uEhHdTwVzKSKJ
	rQWc=
X-Gm-Gg: ASbGncsIC3jIDAdcPkIi3lAO3lfMTo2MU38Wb7ykibXmgSkeOubE57r35GvKIrMYc28
	O5p9iXfvmZYSsG8Rrv1T8FTeQqKYfKE9uEfr28HiHQ6fs2yg4+mL2XzF5VUfJO93VUeqJ8fHipF
	CWKDspVX9i5JlKJMUMyXJIE+rr56Nw0Dq4kB/ShUvQhta9HgvqweCfVFf4dy3YC3H7vL7WYtGJm
	rW+ESOaNFT1icIArV0NCithmP41lw16kPrc1sTy9G6NRUcjDiSA8xGzsY/3k+iy1VUngrldr03o
	Spo3/jeAv9Okf5tO9aNv5q2DKvdczPDT4v9oKle0IPER8RZ/tD7Sj80TlT3YI8yaNJBDWh2yuAh
	FjcBguI/Z6a9qKhB33mBBRX4BXUm0hgSPw7lWc/GUlK544Zg/xCz1vRy2WwsxxPJXuh2GUmf/LZ
	x0aomdHvgVhBAcDs76QETuyBW7RgERN0v0MhO+
X-Google-Smtp-Source: AGHT+IF5HQXsfdWfMsQHoGd0ZBK0BjVjR6KLSXTHcLNIhkNIxlpzMPrVGI6Cqx4/UNnlT1UpJ4seDA==
X-Received: by 2002:a05:6000:2f83:b0:3ee:1461:1659 with SMTP id ffacd0b85a97d-4266e7e01cfmr12613997f8f.31.1760360795011;
        Mon, 13 Oct 2025 06:06:35 -0700 (PDT)
Message-ID: <2e5698e1-a21b-489f-863e-9e77e5dfaa13@suse.com>
Date: Mon, 13 Oct 2025 15:06:36 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH for-4.21 v2] x86/AMD: avoid REP MOVSB for Zen3/4
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <8ecbf8b7-91fe-4f9e-9542-7ec22b6a47bb@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: <8ecbf8b7-91fe-4f9e-9542-7ec22b6a47bb@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Along with Zen2 (which doesn't expose ERMS), both families reportedly
suffer from sub-optimal aliasing detection when deciding whether REP MOVSB
can actually be carried out the accelerated way. Therefore we want to
avoid its use in the common case of memcpy(); copy_page_hot() is fine, as
its two pointers are always going to be having the same low 5 bits.

Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
Acked-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
Release-Acked-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>
---
Trying to amend the comment in cpufeatures.h (e.g. "..., i.e. ERMS minus
the Zen3/4 pointer aliasing issue") makes it get longish, so I kept it at
the shortened form.
---
v2: Leave page copying alone.

--- a/xen/arch/x86/cpu/amd.c
+++ b/xen/arch/x86/cpu/amd.c
@@ -1386,6 +1386,10 @@ static void cf_check init_amd(struct cpu
 
 	check_syscfg_dram_mod_en();
 
+	if (c == &boot_cpu_data && cpu_has(c, X86_FEATURE_ERMS)
+	    && c->family != 0x19 /* Zen3/4 */)
+		setup_force_cpu_cap(X86_FEATURE_XEN_REP_MOVSB);
+
 	amd_log_freq(c);
 }
 
--- a/xen/arch/x86/cpu/intel.c
+++ b/xen/arch/x86/cpu/intel.c
@@ -684,6 +684,9 @@ static void cf_check init_intel(struct c
 	 */
 	if (c == &boot_cpu_data && c->vfm == INTEL_SKYLAKE_X)
 		setup_clear_cpu_cap(X86_FEATURE_CLWB);
+
+	if (c == &boot_cpu_data && cpu_has(c, X86_FEATURE_ERMS))
+		setup_force_cpu_cap(X86_FEATURE_XEN_REP_MOVSB);
 }
 
 const struct cpu_dev __initconst_cf_clobber intel_cpu_dev = {
--- a/xen/arch/x86/include/asm/cpufeatures.h
+++ b/xen/arch/x86/include/asm/cpufeatures.h
@@ -7,7 +7,7 @@
 #define FSCAPINTS FEATURESET_NR_ENTRIES
 
 /* Synthetic words follow the featureset words. */
-#define X86_NR_SYNTH 1
+#define X86_NR_SYNTH 2
 #define X86_SYNTH(x) (FSCAPINTS * 32 + (x))
 
 /* Synthetic features */
@@ -43,6 +43,7 @@ XEN_CPUFEATURE(IBPB_ENTRY_PV,     X86_SY
 XEN_CPUFEATURE(IBPB_ENTRY_HVM,    X86_SYNTH(29)) /* MSR_PRED_CMD used by Xen for HVM */
 XEN_CPUFEATURE(USE_VMCALL,        X86_SYNTH(30)) /* Use VMCALL instead of VMMCALL */
 XEN_CPUFEATURE(PDX_COMPRESSION,   X86_SYNTH(31)) /* PDX compression */
+XEN_CPUFEATURE(XEN_REP_MOVSB,     X86_SYNTH(32)) /* REP MOVSB used for memcpy() */
 
 /* Bug words follow the synthetic words. */
 #define X86_NR_BUG 1
--- a/xen/arch/x86/memcpy.S
+++ b/xen/arch/x86/memcpy.S
@@ -10,7 +10,7 @@ FUNC(memcpy)
          * precautions were taken).
          */
         ALTERNATIVE "and $7, %edx; shr $3, %rcx", \
-                    STR(rep movsb; RET), X86_FEATURE_ERMS
+                    STR(rep movsb; RET), X86_FEATURE_XEN_REP_MOVSB
         rep movsq
         or      %edx, %ecx
         jz      1f


From xen-devel-bounces@lists.xenproject.org Mon Oct 13 13:12:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 13:12:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142348.1476533 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8ILN-0004tv-KM; Mon, 13 Oct 2025 13:12:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142348.1476533; Mon, 13 Oct 2025 13:12:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8ILN-0004to-Hu; Mon, 13 Oct 2025 13:12:05 +0000
Received: by outflank-mailman (input) for mailman id 1142348;
 Mon, 13 Oct 2025 13:12:04 +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 <SRS0=9ybd=4W=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v8ILM-0004ti-ED
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 13:12:04 +0000
Received: from mail-wm1-x32d.google.com (mail-wm1-x32d.google.com
 [2a00:1450:4864:20::32d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 35a1ea2a-a836-11f0-9d15-b5c5bf9af7f9;
 Mon, 13 Oct 2025 15:12:03 +0200 (CEST)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-46e48d6b95fso37701415e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 13 Oct 2025 06:12:03 -0700 (PDT)
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-46fb492e6ddsm206326905e9.0.2025.10.13.06.12.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 13 Oct 2025 06:12:02 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 35a1ea2a-a836-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760361122; x=1760965922; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:cc
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=sxal7fX4bhmJwFz4Nq3sC3uVgNOALK7xg8Vn5uxAsMA=;
        b=GxYnXH8yQXK7z0IcihbEPU51Vz47EDApvRfZ8nTwZyIqMiwAmzVSNpxPXsFFxdLL98
         Wl0pVbWhG7rHp+PNy9S34SZyaPcvrAhJ1mqaNVm4GqlX+jLil5uDL0FYK/GgkBp3OuB/
         Z8kRTTerwBPe2Vuao0ee93dZeDNvcsX9Z000ePMqAVGA3sBqngcPkzwZ4opkBIgctQ2b
         19eRORIbPoJNhKcH6ugaKTZLifD+5rO028ybrJnZnd37Q6KhDzpCSlxoGmyQsm89vFTr
         JzmfEthdLS2BsV3LcQkX2SRqzFIKCE949wo2ZOjhsz+ZFkrxH607pNvUBNHWbuUqoQ6x
         Gatw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760361122; x=1760965922;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:cc
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=sxal7fX4bhmJwFz4Nq3sC3uVgNOALK7xg8Vn5uxAsMA=;
        b=jdpTaAEGhdDItfUSx+mYHV1h3INngdpHpBvgXloyl3xAcY1l37O197Auhz2z+ds3tZ
         sf4YuUGUngIyY7DlO3TVYNUbbc5IGF7MmGf1PP+9N2GsjKMZh5tQLfuVKBaX0BmwoJvd
         +Gb7VwmJHOYtE+5kGZn6B1wKRIr8U9UmbVAAHQ5eiiOZHJszjpotMJC5vOdNlL3d9n6M
         uX1mg4hV5F7Nm5MM8cGJ2v79QZAuWcNVlRQmMz1dtpj+X/RI8WWaDwkgTIipFTEdOhJn
         LSUHLr8zm85soiGkqbhrHbbF2LA+4a+0ihRiqUkffpnWXYj3UHNCkxWY9MDFMjOufLFn
         MMHA==
X-Gm-Message-State: AOJu0YxeswhVn0zzmP4ISn71F5RmZBaXAXyDZkeTbk/S1bQcLwYxn3DC
	kujmOUUaq7+nIaosHu05mC/Pb9yHTVYMOGBNnicdc3juLvnvpaQrm39pJ6FLw5VnQQ==
X-Gm-Gg: ASbGncse0sDen8n/y8CprIYM130cc53fM4KuQq+yUU2pWXi1vrPwgZ9n00T5UmoARjZ
	O1An78MSwT0mlFxymwcMBq4sIuOr5ZhmNOZLrShdMroK3OKvQmkMg3Cj5N7w0zdDDVPJrDq7BGW
	sH77eLcmnYKN5xglHAr94rS2LdKtTsyDXE06+WYaku8QLiMTRBQ2kVS0HDsjC1NDENHDJ3TzLas
	HUvQN2d4uA68AmgPGVIQ4qsqF263yXs1ywDU7pv7V/53jkxiDbMlBNDYP8yp0eYqWegdO4XFWwm
	BDPnOFWhMMO4ahL5nNpJKtJjmu/XPC16BUlDZ3s7IOswoCRBzgseF0IJYLL0gF8JGKJf6Vcb2CM
	0r3DECSk9kmtPuyCvEsVl6xBw2R3Q52/ySXyP1avx48Yi8awaPMOpQnMHWI8zGxHywXkEK+I+Rj
	vzvV4ADLRotiexn6Uy7u9+1MlKXQ==
X-Google-Smtp-Source: AGHT+IFZQW1Z0Untu/+PzeEwBrRKtUev7rc5x8SegMmZzoRGiISNF4p+V8v4evkH4KoDN7bJGP6mGA==
X-Received: by 2002:a05:600c:1548:b0:46f:b42e:ed87 with SMTP id 5b1f17b1804b1-46fb42eee16mr87933625e9.40.1760361122485;
        Mon, 13 Oct 2025 06:12:02 -0700 (PDT)
Message-ID: <a7e71598-fefc-4906-a241-08fdaba78614@suse.com>
Date: Mon, 13 Oct 2025 15:12:04 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] VT-d: check bus_to_context_maddr()'s return value
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <4f449e23-107b-4fa3-b131-a8134763609a@suse.com>
 <f7aa9bef-f83c-4a10-a005-1acb78e16e67@citrix.com>
Content-Language: en-US
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
From: Jan Beulich <jbeulich@suse.com>
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: <f7aa9bef-f83c-4a10-a005-1acb78e16e67@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 13.10.2025 14:22, Andrew Cooper wrote:
> On 29/07/2025 7:35 am, Jan Beulich wrote:
>> The function returning zero is an error indication; we shouldn't try to
>> map MFN 0 and then treat that page as a context table.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

Thanks (albeit you sent this in reply to the older security@ posting, not
the later public one [1]).

Oleksii, may I ask for a release-ack here please, seeing that the issue
was considered on the edge of another security issue?

Jan

[1] https://lists.xen.org/archives/html/xen-devel/2025-08/msg00387.html


From xen-devel-bounces@lists.xenproject.org Mon Oct 13 13:15:41 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 13:15:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142356.1476544 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8IOp-0005Sv-25; Mon, 13 Oct 2025 13:15:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142356.1476544; Mon, 13 Oct 2025 13:15:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8IOo-0005So-Vf; Mon, 13 Oct 2025 13:15:38 +0000
Received: by outflank-mailman (input) for mailman id 1142356;
 Mon, 13 Oct 2025 13:15:37 +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
 <SRS0=rMZy=4W=gmail.com=randomdude@srs-se1.protection.inumbo.net>)
 id 1v8IOn-0005Si-Hr
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 13:15:37 +0000
Received: from mail-vk1-xa36.google.com (mail-vk1-xa36.google.com
 [2607:f8b0:4864:20::a36])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b342d8a3-a836-11f0-980a-7dc792cee155;
 Mon, 13 Oct 2025 15:15:34 +0200 (CEST)
Received: by mail-vk1-xa36.google.com with SMTP id
 71dfb90a1353d-54a9852eb65so207081e0c.3
 for <xen-devel@lists.xenproject.org>; Mon, 13 Oct 2025 06:15:34 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b342d8a3-a836-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760361333; x=1760966133; darn=lists.xenproject.org;
        h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
         :date:message-id:reply-to;
        bh=E6KAvPCzoS6dErcsErznmNYP9kFi+nq+O7uNahpRfqo=;
        b=N7cR4vDvsA61UKXlqaKZJVpMrqZfBx2fjGLiZbOQmyeOq3JRTjwHyuGmPiH+Rs4niw
         uXnTNAhX30WQGF1MQ56chXbIEBDXrau8vA29ywCQGuyvDr8vhv4V8HALW+e5ZydNLfFO
         k6YLDIPu3u8CXJTv4W9orY3XizlmSwgfe6YH83UXL/XKCIzItQsWwSTQD+WsJ0bVWoku
         Whw456oPmHvAKGty7z9cT2CTwW/ISO1MU0otjnltbKoIObZ8YikUvT/R07OlVGbbgp7A
         Y0LA1xjjn73GFkd57Ov6Dlq6ByIOC2EcTCJObVjwvE7FvlcQIGcO4Xv4DBKX/bldb6SD
         sL6w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760361333; x=1760966133;
        h=to:subject:message-id:date:from:mime-version:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=E6KAvPCzoS6dErcsErznmNYP9kFi+nq+O7uNahpRfqo=;
        b=VIlC5mcUFW+222Cas2Ub2FJ/cmwgfLB4N33mq3LmlDov4RFOmIeJiStvsKaLyw0QPB
         6tVQDhAJzqg2p2EeCi2Q+0jGks2ej40mIXTb7xsnUXmMIplZzspn0YuwAR9++tkkdbTv
         TcjTiFABgIORKdY5vsYOP2kaCTrThuJGtfzxfC/f/H3elu3Otro0LRrfQam+wJsPTw8y
         MFwD/zykRUOX7tghe7cSLaweXso4GXH04+hlyrDSm+lTompAeYhEs4uozLEalcsH6KnX
         fr+p7VByecTCFZI62RUaZxwbMz/CvJATg5ATlc1PLnPQdXbblhG0LXkygp6lQxyLCFgq
         WsCA==
X-Gm-Message-State: AOJu0YzQE3JN/kbH/75Y+5QbQnztJLxS1TnzV+Xyh1cE+Wzrgt+Vbmqs
	o5triGDWzAUo3o9XrswLNeJg3TShS9iDonaXzGyooOC20NuYwpn/f3wQJ9Yd4UoFto5xq2t7GUI
	NETQMdJ2rkiTsNAXfKBH3Xb2mlLSrtYLmkeHA
X-Gm-Gg: ASbGncs5YT7a7auvxq1kzyK3mOZwM+8zQbN0A0lUZHZ9j2YomvlwVwlZCqhJhle0c4m
	3yZMD8LOZ0+OJauBidijL5D+97m/2+plxCyXx9DQe8tXNqZWLP7T9XwVD8s3mHMpmFSSTkOsvEE
	+HM4cJmi1Yi067FKwlqtGh8yOB1kuFkZiKys/0fLBiVgX8qN/Q0F81rLNvblvGBiVd7wjGZx6oz
	Rt5Vzvt4Mt7p/Hg7S/V1ezx8P6d957/QdI=
X-Google-Smtp-Source: AGHT+IFnOsLmdnF+epSPLe1YNgYIME44ahTw81+xVd1ILDIMIGt+NsPiaMUmbpaeHNG4ftjbv0X2qkN82rUJc+ZOpJg=
X-Received: by 2002:a05:6122:1698:b0:552:2c6f:d9a3 with SMTP id
 71dfb90a1353d-554b8909fcfmr3165847e0c.0.1760361332706; Mon, 13 Oct 2025
 06:15:32 -0700 (PDT)
MIME-Version: 1.0
From: "Aliz 'Randomdude'" <randomdude@gmail.com>
Date: Mon, 13 Oct 2025 21:15:21 +0800
X-Gm-Features: AS18NWALZ-6L9SKPbGvVoe9UGUepw4tIx_llMRlI4xNo2nxGQd-_qzSEZv9wU6Q
Message-ID: <CAEMXWCDS37Bd87SA=d3bSEVOzJsM_+TJoT0kO4ZUT0ShgNiA5A@mail.gmail.com>
Subject: [BUG] XHCI_NO_64BIT_SUPPORT on ASM1042A USB controller breaks PCIE passthrough
To: xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"

Hi all. Many thanks for Xen.

I'm attempting to perform PCI passthrough of my RocketU 1144D USB
controller from an XCP-ng host (XCP-ng 8.3.0, kernel 4.19.0+1) to a
Linux guest. This card uses a PLX PCIe switch IC and four ASM1042A USB
controller ICs, of which I forward a single ASM1042A.

The ASM1042A is detected in the guest VM and initially appears to work
OK, but after I dd some gigabytes to an attached USB disk device, the
controller appears to go away:

[   81.076381] xhci_hcd 0000:00:09.0: xHCI host not responding to stop
endpoint command
[   81.079319] xhci_hcd 0000:00:09.0: xHCI host controller not
responding, assume dead
[   81.081503] xhci_hcd 0000:00:09.0: HC died; cleaning up
[   81.083388] usb 5-1: USB disconnect, device number 2

At this point, the controller is unusable until I reset it (via
/sys/bus/pci/devices/../remove and /sys/bus/pci/rescan). I am able to
trigger this behavior reliably, although sometimes some 30GB must be
transferred before symptoms appear.

The guest is running a 6.12.50 kernel I built from vanilla sources.

After much head-scratching, I discovered that some older guest kernels
function correctly, and do not exhibit the bug, allowing sustained use
of the controller.

I then proceeded to bisect my way to the following Linux kernel patch
(see https://lists-ec2.96boards.org/archives/list/linux-stable-mirror@lists.linaro.org/thread/WEVQDDJC72LMLPQY37JOZZNKMJ7OHHFL/):

> I've confirmed that both the ASMedia ASM1042A and ASM3242 have the same
> problem as the ASM1142 and ASM2142/ASM3142, where they lose some of the
> upper bits of 64-bit DMA addresses. As with the other chips, this can
> cause problems on systems where the upper bits matter, and adding the
> XHCI_NO_64BIT_SUPPORT quirk completely fixes the issue.
> Cc: stable@vger.kernel.org
> Signed-off-by: Forest Crossman cyrozap@gmail.com
> Signed-off-by: Mathias Nyman mathias.nyman@linux.intel.com
> ---
>  drivers/usb/host/xhci-pci.c | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
>
> diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
> index 1f989a49c8c6..5bbccc9a0179 100644
> --- a/drivers/usb/host/xhci-pci.c
> +++ b/drivers/usb/host/xhci-pci.c
> @@ -66,6 +66,7 @@
> #define PCI_DEVICE_ID_ASMEDIA_1042A_XHCI 0x1142
>  #define PCI_DEVICE_ID_ASMEDIA_1142_XHCI 0x1242
>  #define PCI_DEVICE_ID_ASMEDIA_2142_XHCI 0x2142
> +#define PCI_DEVICE_ID_ASMEDIA_3242_XHCI 0x3242
>
>
> static const char hcd_name[] = "xhci_hcd";
>
>
> @@ -276,11 +277,14 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
>      pdev->device == PCI_DEVICE_ID_ASMEDIA_1042_XHCI)
>      xhci->quirks |= XHCI_BROKEN_STREAMS;
>     if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
> - pdev->device == PCI_DEVICE_ID_ASMEDIA_1042A_XHCI)
> + pdev->device == PCI_DEVICE_ID_ASMEDIA_1042A_XHCI) {
>      xhci->quirks |= XHCI_TRUST_TX_LENGTH;
> + xhci->quirks |= XHCI_NO_64BIT_SUPPORT;
> + }
>     if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
>         (pdev->device == PCI_DEVICE_ID_ASMEDIA_1142_XHCI ||
> -      pdev->device == PCI_DEVICE_ID_ASMEDIA_2142_XHCI))
> +      pdev->device == PCI_DEVICE_ID_ASMEDIA_2142_XHCI ||
> +      pdev->device == PCI_DEVICE_ID_ASMEDIA_3242_XHCI))
>      xhci->quirks |= XHCI_NO_64BIT_SUPPORT;
>
>
> if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&

Reverting this patch fixes my immediate issue - the USB controller now
functions as expected. However, I am way out of my depth here and
strongly suspect that doing so will break things in subtle ways, and
so this is where I hand off to the experts for proper analysis. In
particular, I'd be interested to learn under which circumstances
reverting this patch is dangerous - does 'systems where the upper bits
matter' apply only to something relatively exotic? I ask in order to
determine if it is safe to revert this patch in my homelab-grade
setup.

In case it is useful, here are further details of my set-up:

* Dell R710 with BIOS 6.0.0
* 2x E5630 CPU and 64GB RAM
* XCP-ng 8.3.0 on the host
* Guest OS is Linux 6.12.0, built from vanilla kernel.org sources
* Guest runs in PVHVM mode
* PCI controller is the RocketU 1144D, which uses a PLX PEX8609 PCIe
switch IC connected to four ASM1042A controllers (allowing me to
forward each controller to a seperate VM)
* The firmware on the ASM1042A is up-to-date AFAICT
* The forwarded PCI device is connected to a JMS578-based disk array
containing three mechanical disks
* The problem exhibits in the guest VM after I run 'dd if=/dev/urandom
of=/dev/<disk> bs=1M count=10240 conv=sync', although it sometimes
needs up to three invokations
* After reverting the patch, I can run the above command without
problems ten times
* The same hardware works OK in ESXi.

I'm happy to provide further details, and please accept my apologies
in advance for any breach of etiquette - I don't report this kind of
bug very often.


From xen-devel-bounces@lists.xenproject.org Mon Oct 13 13:19:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 13:19:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142364.1476555 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8ISF-0006Hy-Hm; Mon, 13 Oct 2025 13:19:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142364.1476555; Mon, 13 Oct 2025 13:19:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8ISF-0006Hr-Dj; Mon, 13 Oct 2025 13:19:11 +0000
Received: by outflank-mailman (input) for mailman id 1142364;
 Mon, 13 Oct 2025 13:19:10 +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 <SRS0=AerI=4W=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1v8ISD-0006HS-Uw
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 13:19:09 +0000
Received: from smtp-1.srv.uis.cam.ac.uk (smtp-1.srv.uis.cam.ac.uk
 [128.232.132.147]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2bbcb4f7-a837-11f0-980a-7dc792cee155;
 Mon, 13 Oct 2025 15:18:56 +0200 (CEST)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:64767)
 by smtp-1.srv.uis.cam.ac.uk with esmtps  (TLS1.3) tls TLS_AES_256_GCM_SHA384
 (Exim 4.98.2) (envelope-from <amc96@srcf.net>)
 id 1v8IRz-00000003f90-3Z0K; Mon, 13 Oct 2025 14:18:55 +0100
Received: from [192.168.1.183] (host-92-22-57-86.as13285.net [92.22.57.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id 7AF241FC67;
 Mon, 13 Oct 2025 14:18:55 +0100 (BST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2bbcb4f7-a837-11f0-980a-7dc792cee155
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <156d2f26-4f13-4fad-b2c9-4f6f411454d3@srcf.net>
Date: Mon, 13 Oct 2025 14:18:55 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] VT-d: check bus_to_context_maddr()'s return value
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <28cadeda-613c-471d-b0d3-1709004a75f8@suse.com>
Content-Language: en-GB
From: Andrew Cooper <amc96@srcf.net>
Autocrypt: addr=amc96@srcf.net; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzR5BbmRyZXcgQ29v
 cGVyIDxhbWM5NkBzcmNmLm5ldD7CwY4EEwEIADgWIQTPNUlbfqb3Dqd9IXZlw/kGpdefoAUC
 YVGxuQIbAwULCQgHAwUVCgkICwUWAgMBAAIeAQIXgAAKCRBlw/kGpdefoO0aD/9VN28mNPs9
 3Au2pQyHEYHcVLxTRlHoTHY/ZIws3ue7AgWN73CXhCQnFmqzHOSldY4abD4KyTacAUXqeAOp
 XNUGrCj7yaI7H4Bj27OO6pLEpuPXHJ+12E/mHVRH5lwYzFBRghW/H/HxW99pn8qk3yb9nPR5
 s8tZHIeP4tSUPt2Uu/HR2kyMA1MeVyVRsnH6WDOgjyj76Kx296LRmsbzPvJT9w8IvM2avh7i
 fZu/LNad21Om5Nx3raB3CT/0lj7tODt1yEfTqUdN+DOalwbbKFzXUyhZy1VzAN/lad6Vy1Il
 mArNoZkmDQfi4mkG3qAkwFipjny+fBxNA8W8sHUjMMwNj4cH4Qavgqdyw7nuwXaXVEvunst2
 SehwkPQeNohve18b+HBPk5isNhr8rM71zBQH/HECgyusDLTk3Xt0fmo4sOvyXPeUnqz1YdSq
 IoVOcCJZxFlnkGHTpOBegmXJWAdteYxzVU5fa3xhEPmtrjAnAqpfT3kPPM9nyi+ZKBl+1Oe4
 WxvH8OYo3lIh+8mhiYMhumnDn9YChFKzdjAIUMOg3pBMYZNzTVaOGaLfEg97l5ojUQH+Bivk
 2EpgpYtoIG/zdDfrwG2ezYcy7rxjE1a1ph3tWYX2ojaoFE71ic4HHWUHDq3KN/nYxrTqYCMY
 ddkzh8N2KKP2ktfpHp4tPxUNps7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz
 7bkPtXaGb9H4Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82t
 IlP/EbmRbDVn7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswud
 a1JH3/qvYu0pvjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrs
 m/oCBiVW/OgUg/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL3
 6UtK/uFyEuPywwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6
 O/n8poQHbaTd6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefA
 IFfHBg7fTY/ikBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2b
 XsLQYRj2xqd1bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV0
 4unbsKVXWZAkuAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXe
 dMcAEQEAAcLBXwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMx
 YWd3FXHThrVQHgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITr
 gKWXDDUWGYxdpnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2
 IXYmuW+e5KCAvTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLU
 O83sh6OZhJkkb9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR
 5HHF0NLIJhgg4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdS
 XuvY3AHJd4CP4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5d
 cQPzUiuHLK9invjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFu
 syhbZrI0U9tJB8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9S
 l9IAKFu29RSod5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK
 14JdDDHUX2Rs6+ahAA==
In-Reply-To: <28cadeda-613c-471d-b0d3-1709004a75f8@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 07/08/2025 3:10 pm, Jan Beulich wrote:
> The function returning zero is an error indication; we shouldn't try to
> map MFN 0 and then treat that page as a context table.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>


From xen-devel-bounces@lists.xenproject.org Mon Oct 13 13:24:41 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 13:24:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142376.1476563 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8IXR-0007rw-67; Mon, 13 Oct 2025 13:24:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142376.1476563; Mon, 13 Oct 2025 13:24:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8IXR-0007rp-3R; Mon, 13 Oct 2025 13:24:33 +0000
Received: by outflank-mailman (input) for mailman id 1142376;
 Mon, 13 Oct 2025 13:24:31 +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 <SRS0=9ybd=4W=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v8IXP-0007rj-Pn
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 13:24:31 +0000
Received: from mail-wr1-x42c.google.com (mail-wr1-x42c.google.com
 [2a00:1450:4864:20::42c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f3126839-a837-11f0-9d15-b5c5bf9af7f9;
 Mon, 13 Oct 2025 15:24:30 +0200 (CEST)
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-3ed20bdfdffso3730372f8f.2
 for <xen-devel@lists.xenproject.org>; Mon, 13 Oct 2025 06:24:30 -0700 (PDT)
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-426ce5e13b6sm18326538f8f.44.2025.10.13.06.24.29
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 13 Oct 2025 06:24:29 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f3126839-a837-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760361870; x=1760966670; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:cc
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=1uFQc1nebBbLYhPe6WvI/d4nEWmxfg3cDJI+CBUazhg=;
        b=Cde2oObUsmzaVMx7h40dT/DZQ2tQp5NBuL7PLKAs8a4K6BPcu7mbOGnE10WBHwHv05
         jDAWB7ewY4NuO6tWJE20U8YUTDJwlez1j5+Lnt61U/nCG1HOWjq7Y5L9d9ZoRqQEhX/K
         i12zlpMNjoMXDADKJ89+T79CPZXlFyCsNu+XTf7PKw/VDFDOVTuQNssBJbhZtBvDVqfM
         dbgoCROwonqxdGWqXRPT9FcnBJGhu6PwCobKDyHJnfEtfgbPRtpH6PLQ2rP5Xy/EXyQJ
         jgW3DIGHk7azKmPgeJ0g+T4Yzs0cdXjxORRb+LQ/KIuzMEWXGJ0dnKwbOH7Cl4S7T8+A
         HKig==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760361870; x=1760966670;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:cc
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=1uFQc1nebBbLYhPe6WvI/d4nEWmxfg3cDJI+CBUazhg=;
        b=J4LkWPQfPOXc0DTFrJMNpNgOpytHPoZ0hk4A9Ys9DwjurZzqkTA9iYTtE8Vg68TvOn
         bIn7F0TjmTj7moPy4dIwXTmDctgAXG+wGeFn+mB1AsovFqdMuf70pomqriFwth9dNjWi
         vyhrfvmV4Tu172FmH9Zbsbp6eAhBWkZuqqyFSfZDl2mpat/jfkV5Z8Fc/vEDmz1hc88A
         LjxtjIOk/XUVdIJavYj3qrrFC9ogUKZPwxl5BTisPeYXYlUnl3jbUWPdVG6u0TPrV0bf
         5vS3/l2vkTNlu4T05LtDdwNTYT3ieXNRDCQ9rCKi4OGgUTJ75cqtox3xuSKAXma9lUzm
         h8Yg==
X-Gm-Message-State: AOJu0YzI9wdsBSwpv8vR4h8lmEisyuZnv2H52yCq7lu7kZZaz6NGT6oS
	9+QSIlh+nqQbYmTOVNfSRRidFuD3QQiC9xcybwHLVAW9qzA+lesLkB75ouBsWJk0iA==
X-Gm-Gg: ASbGncuzvofgdTKCic7Mzwag4RP8WFBjilJu6ZADSI3cPbtSwqXHuYv1YvGEJEWLajt
	DiE2SD+v2+kdmN9XVxj/bRMhz5Cs9Utfip4AECP+35LXnGNA9shlV02uCp1u95oSpc4k9ihw4pv
	oDY7KONs1RZEzNI8sIxWFAxlLVH0hbNOA1P+DW0y4CjjrG8aI5df+hs/ZRLpH3oNSis2pGWcw+V
	ZYNeO3unNZNwaIEBJCqQdENQQsEaaylBlLrhmDL549wuJUw7q9uKeaU6yPG70FoJk7iUs5l4rSj
	sI4R0/wzDVHty0MhjWcddhAMnPX5wgL3MTZVDE24dG2UqB9VtDRTV1kqJW2wRcFLMegQxUZDO2o
	d+Peqy7+2t6muFHaLYYbprYsb7MeOQjTDs9YtjQXjsPiXPu12qOuIX3Hy9wqOG8GF80HsGpj5w7
	jgiQ4ihqND9fSePbHb/ivxPf5wD9n2WX0ew47D
X-Google-Smtp-Source: AGHT+IFJA/h/QLfdmeZVnSfEDxUMn5YwLjE6s00CujvlhYtYPN7yAh0UtTJmDAuTJfLOT+Ibj5KsQw==
X-Received: by 2002:a05:6000:4a05:b0:426:d51c:4be8 with SMTP id ffacd0b85a97d-426d51c4d09mr6166703f8f.19.1760361869738;
        Mon, 13 Oct 2025 06:24:29 -0700 (PDT)
Message-ID: <7ee0a532-0388-4977-9409-4d3600405c11@suse.com>
Date: Mon, 13 Oct 2025 15:24:31 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [BUG] XHCI_NO_64BIT_SUPPORT on ASM1042A USB controller breaks
 PCIE passthrough
To: Aliz 'Randomdude' <randomdude@gmail.com>
References: <CAEMXWCDS37Bd87SA=d3bSEVOzJsM_+TJoT0kO4ZUT0ShgNiA5A@mail.gmail.com>
Content-Language: en-US
Cc: xen-devel@lists.xenproject.org
From: Jan Beulich <jbeulich@suse.com>
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: <CAEMXWCDS37Bd87SA=d3bSEVOzJsM_+TJoT0kO4ZUT0ShgNiA5A@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 13.10.2025 15:15, Aliz 'Randomdude' wrote:
> Hi all. Many thanks for Xen.
> 
> I'm attempting to perform PCI passthrough of my RocketU 1144D USB
> controller from an XCP-ng host (XCP-ng 8.3.0, kernel 4.19.0+1) to a
> Linux guest. This card uses a PLX PCIe switch IC and four ASM1042A USB
> controller ICs, of which I forward a single ASM1042A.
> 
> The ASM1042A is detected in the guest VM and initially appears to work
> OK, but after I dd some gigabytes to an attached USB disk device, the
> controller appears to go away:
> 
> [   81.076381] xhci_hcd 0000:00:09.0: xHCI host not responding to stop
> endpoint command
> [   81.079319] xhci_hcd 0000:00:09.0: xHCI host controller not
> responding, assume dead
> [   81.081503] xhci_hcd 0000:00:09.0: HC died; cleaning up
> [   81.083388] usb 5-1: USB disconnect, device number 2
> 
> At this point, the controller is unusable until I reset it (via
> /sys/bus/pci/devices/../remove and /sys/bus/pci/rescan). I am able to
> trigger this behavior reliably, although sometimes some 30GB must be
> transferred before symptoms appear.
> 
> The guest is running a 6.12.50 kernel I built from vanilla sources.
> 
> After much head-scratching, I discovered that some older guest kernels
> function correctly, and do not exhibit the bug, allowing sustained use
> of the controller.
> 
> I then proceeded to bisect my way to the following Linux kernel patch
> (see https://lists-ec2.96boards.org/archives/list/linux-stable-mirror@lists.linaro.org/thread/WEVQDDJC72LMLPQY37JOZZNKMJ7OHHFL/):
> 
>> I've confirmed that both the ASMedia ASM1042A and ASM3242 have the same
>> problem as the ASM1142 and ASM2142/ASM3142, where they lose some of the
>> upper bits of 64-bit DMA addresses. As with the other chips, this can
>> cause problems on systems where the upper bits matter, and adding the
>> XHCI_NO_64BIT_SUPPORT quirk completely fixes the issue.
>> Cc: stable@vger.kernel.org
>> Signed-off-by: Forest Crossman cyrozap@gmail.com
>> Signed-off-by: Mathias Nyman mathias.nyman@linux.intel.com
>> ---
>>  drivers/usb/host/xhci-pci.c | 8 ++++++--
>> 1 file changed, 6 insertions(+), 2 deletions(-)
>>
>>
>> diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
>> index 1f989a49c8c6..5bbccc9a0179 100644
>> --- a/drivers/usb/host/xhci-pci.c
>> +++ b/drivers/usb/host/xhci-pci.c
>> @@ -66,6 +66,7 @@
>> #define PCI_DEVICE_ID_ASMEDIA_1042A_XHCI 0x1142
>>  #define PCI_DEVICE_ID_ASMEDIA_1142_XHCI 0x1242
>>  #define PCI_DEVICE_ID_ASMEDIA_2142_XHCI 0x2142
>> +#define PCI_DEVICE_ID_ASMEDIA_3242_XHCI 0x3242
>>
>>
>> static const char hcd_name[] = "xhci_hcd";
>>
>>
>> @@ -276,11 +277,14 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
>>      pdev->device == PCI_DEVICE_ID_ASMEDIA_1042_XHCI)
>>      xhci->quirks |= XHCI_BROKEN_STREAMS;
>>     if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
>> - pdev->device == PCI_DEVICE_ID_ASMEDIA_1042A_XHCI)
>> + pdev->device == PCI_DEVICE_ID_ASMEDIA_1042A_XHCI) {
>>      xhci->quirks |= XHCI_TRUST_TX_LENGTH;
>> + xhci->quirks |= XHCI_NO_64BIT_SUPPORT;
>> + }
>>     if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
>>         (pdev->device == PCI_DEVICE_ID_ASMEDIA_1142_XHCI ||
>> -      pdev->device == PCI_DEVICE_ID_ASMEDIA_2142_XHCI))
>> +      pdev->device == PCI_DEVICE_ID_ASMEDIA_2142_XHCI ||
>> +      pdev->device == PCI_DEVICE_ID_ASMEDIA_3242_XHCI))
>>      xhci->quirks |= XHCI_NO_64BIT_SUPPORT;
>>
>>
>> if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
> 
> Reverting this patch fixes my immediate issue - the USB controller now
> functions as expected. However, I am way out of my depth here and
> strongly suspect that doing so will break things in subtle ways, and
> so this is where I hand off to the experts for proper analysis. In
> particular, I'd be interested to learn under which circumstances
> reverting this patch is dangerous - does 'systems where the upper bits
> matter' apply only to something relatively exotic? I ask in order to
> determine if it is safe to revert this patch in my homelab-grade
> setup.

I fear that with this report xen-devel@ isn't a useful list to send to;
you rather want to report to the corresponding Linux list.

Jan

> In case it is useful, here are further details of my set-up:
> 
> * Dell R710 with BIOS 6.0.0
> * 2x E5630 CPU and 64GB RAM
> * XCP-ng 8.3.0 on the host
> * Guest OS is Linux 6.12.0, built from vanilla kernel.org sources
> * Guest runs in PVHVM mode
> * PCI controller is the RocketU 1144D, which uses a PLX PEX8609 PCIe
> switch IC connected to four ASM1042A controllers (allowing me to
> forward each controller to a seperate VM)
> * The firmware on the ASM1042A is up-to-date AFAICT
> * The forwarded PCI device is connected to a JMS578-based disk array
> containing three mechanical disks
> * The problem exhibits in the guest VM after I run 'dd if=/dev/urandom
> of=/dev/<disk> bs=1M count=10240 conv=sync', although it sometimes
> needs up to three invokations
> * After reverting the patch, I can run the above command without
> problems ten times
> * The same hardware works OK in ESXi.
> 
> I'm happy to provide further details, and please accept my apologies
> in advance for any breach of etiquette - I don't report this kind of
> bug very often.
> 



From xen-devel-bounces@lists.xenproject.org Mon Oct 13 14:14:32 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 14:14:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142385.1476574 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8JJh-0006Oh-Mt; Mon, 13 Oct 2025 14:14:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142385.1476574; Mon, 13 Oct 2025 14:14:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8JJh-0006Oa-Je; Mon, 13 Oct 2025 14:14:25 +0000
Received: by outflank-mailman (input) for mailman id 1142385;
 Mon, 13 Oct 2025 14:14:24 +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 <SRS0=nG5L=4W=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1v8JJg-0006OU-26
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 14:14:24 +0000
Received: from mail-wm1-x336.google.com (mail-wm1-x336.google.com
 [2a00:1450:4864:20::336])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e67f6bb3-a83e-11f0-980a-7dc792cee155;
 Mon, 13 Oct 2025 16:14:15 +0200 (CEST)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-46e5980471eso22762535e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 13 Oct 2025 07:14:15 -0700 (PDT)
Received: from [192.168.69.221] (88-187-86-199.subs.proxad.net.
 [88.187.86.199]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-46fc155143fsm125262305e9.11.2025.10.13.07.14.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 13 Oct 2025 07:14:14 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e67f6bb3-a83e-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1760364855; x=1760969655; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=qv7yKUSp1keAvGeIJTgsLzzM2Dd2vNSw3IfagjYR6Ak=;
        b=AE9O9Grv9XHx802Ki5qC6oHAJCeFIPWGnU4psPsJXGdieTemtshHIRcrKKKB9lgcBq
         3OB1HOVOygwhPcD9NR1YxpbvIMOQ6PkQCSkGmdGRCUnV2W94v2ggucdwXZkJzJ5a/4xB
         4d+laS5xuaW5/6U8dbrM65Xss3WFlwOekIAq5cu368XhXT8mwn0Fq9Ie7VqpQa/saNaB
         S/uKrkziwCmRyLJQRlUvDByOhGAF5FtNk0yttfhevATc+1GdEgCDdldAFa9Hn2wjlCDv
         QImgn0oYYccUgbPX8bDHMeMuNFtTM3yRM1LCimwXwGcdqsMunItNNnIoANWF5Sf4xSGC
         MOGQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760364855; x=1760969655;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=qv7yKUSp1keAvGeIJTgsLzzM2Dd2vNSw3IfagjYR6Ak=;
        b=RZsQVUZ9BPY8qb/m9dSW0d4iGKGylFsLqOVW/qG3SF/lqURZx2GPYADK3hqrMH0ThG
         bwmdLVnkJ0BnT2ywYJqAvy/zDEpEgjlWYDe8DC0HyTZFkBHmuNrZw4o6iBg0dr1D2F6A
         6fW08dnBJAoflgV/NT3XQBmy8ki6i327zP3DKBLy9LJ9EMTDUoj1ByAUU4rZ5K9VAJBE
         MVyaW6pPpcVgwPvmIVSR8SGUvRRt00qF0eCBzT9az03yfCRPIb7YixYXBHauKByJu+5w
         7HZ+kdwejKizR0B5O0BQsB9f2C+ve8KezvDEY+69NDTNXIi4sz/qutB5D8lI6VpH3Rmf
         ZN4w==
X-Forwarded-Encrypted: i=1; AJvYcCVUSOpYuf0BlzHiF9OhfK3qITxkdROke1k+V8LljJUuHW86rMt8qBqCPKIWtHxLjkcpCmcUkWhMD+4=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx1xJeKtaRyfzLRXufQKtPUhfoo8Vx5OVQL4mmoODPe9JGFxnek
	ank1OXBzDlkKAdWwwq44uvmAFarMETsbq2rbrGEUyU/XoHsu3l74NHBEIkqDs1R6TY4=
X-Gm-Gg: ASbGncvvX02ieBfyVm1SFRSiSxGMwtqWMOuXKowfrxw1KnbIUfv92R768ySmrBQ590L
	bUPPQYNHo31ox26vvJE0b2pwTFcxWtGBQIXq9wEsJ4Jte6IdlTI2oRyri6gyXJfvWrKp7nooq54
	BcW55FLT+d0pW5fLvzyB3zUzFNKuKDuU6FhhDGUy0b2qGjVf3aJ+nqr+Bch2MiFtJFXJIZX+zTG
	nkYwnYQ4myS+/8CG+gbhLeykynvnIEMcTlP8rbCxqoZvJtHfbcQFAXlGAw1V5z+PsvaezgPAMfj
	4H0lzhx4VLtvEHv231B3foIjWYHyC3BpAy2AL4bTXK1i65NkO2ehSpbWAqv2a04JejQIYM+GDWm
	C9GkLwZ6MgaU6oAh6skJNSUsiZunsNWC4ewnh97dL7A5p3Bpf0DJnVPNedjudQbbhAa+UuvcjYu
	6jJ73vxO59po8y
X-Google-Smtp-Source: AGHT+IFpD7B4YpSeDObYU3xiNzf797WnP8ClM3/cdXiW5NpKO9VzUYIyFMpffvprfsk6KbSgYLlZIQ==
X-Received: by 2002:a05:600c:1f93:b0:46e:376c:b1f0 with SMTP id 5b1f17b1804b1-46fa9a8ca9fmr151711385e9.7.1760364855227;
        Mon, 13 Oct 2025 07:14:15 -0700 (PDT)
Message-ID: <ba4ca63b-6d46-4df9-8d30-fc0537736adf@linaro.org>
Date: Mon, 13 Oct 2025 16:14:13 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] hw/display/xenfb: Replace unreachable code by abort()
Content-Language: en-US
To: Markus Armbruster <armbru@redhat.com>, qemu-devel@nongnu.org
Cc: sstabellini@kernel.org, anthony@xenproject.org, paul@xen.org,
 edgar.iglesias@gmail.com, xen-devel@lists.xenproject.org,
 qemu-trivial@nongnu.org
References: <20250729111226.3627499-1-armbru@redhat.com>
 <877bwz6oqy.fsf@pond.sub.org>
From: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>
In-Reply-To: <877bwz6oqy.fsf@pond.sub.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 13/10/25 13:10, Markus Armbruster wrote:
> Ping?
> 
> Markus Armbruster <armbru@redhat.com> writes:
> 
>> xenfb_mouse_event() has a switch statement whose controlling
>> expression move->axis is an enum InputAxis.  The enum values are
>> INPUT_AXIS_X and INPUT_AXIS_Y, encoded as 0 and 1.  The switch has a
>> case for both axes.  In addition, it has an unreachable default label.
>> This convinces Coverity that move->axis can be greater than 1.  It
>> duly reports a buffer overrun when it is used to subscript an array
>> with two elements.
>>
>> Replace the unreachable code by abort().
>>
>> Resolves: Coverity CID 1613906
>> Signed-off-by: Markus Armbruster <armbru@redhat.com>
>> ---
>>   hw/display/xenfb.c | 3 +--
>>   1 file changed, 1 insertion(+), 2 deletions(-)

Reviewed-by: Philippe Mathieu-DaudÃ© <philmd@linaro.org>

and queued with g_assert_not_reached(), thanks!


From xen-devel-bounces@lists.xenproject.org Mon Oct 13 14:43:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 14:43:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142393.1476584 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8JlL-0001w1-RA; Mon, 13 Oct 2025 14:42:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142393.1476584; Mon, 13 Oct 2025 14:42:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8JlL-0001vu-Nf; Mon, 13 Oct 2025 14:42:59 +0000
Received: by outflank-mailman (input) for mailman id 1142393;
 Mon, 13 Oct 2025 14:42:58 +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
 <SRS0=Hmnp=4W=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1v8JlK-0001vo-FU
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 14:42:58 +0000
Received: from mail-ej1-x635.google.com (mail-ej1-x635.google.com
 [2a00:1450:4864:20::635])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e8523dba-a842-11f0-9d15-b5c5bf9af7f9;
 Mon, 13 Oct 2025 16:42:57 +0200 (CEST)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-b3e7cc84b82so801397566b.0
 for <xen-devel@lists.xenproject.org>; Mon, 13 Oct 2025 07:42:56 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-146-38.play-internet.pl.
 [109.243.146.38]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-b55d5cacc21sm945732366b.11.2025.10.13.07.42.55
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 13 Oct 2025 07:42:55 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e8523dba-a842-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760366576; x=1760971376; darn=lists.xenproject.org;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=DkorJ/HNR2e5236ivOZiTexZz6UXlaZKt2buBanibZM=;
        b=RlpoMkfRN1nJJsr9XhQXvg8XkJcKqA+FYll6h9bbeUAtUugl0VF66t240OqqRVH6Z0
         3k9yuiBX7+iirCljMShuVaQDm7UoRpKGcoHsl+hpCZkiJnmUPRnAkoMaV7xb6ZXjAfv3
         5RmlgKNcR4vBRQ4JPgJlSgd8bhwR8DIyddnua12YWKrXgTuQFf48Qf+qsd0ULNjhi6Jj
         Q7+U4tM8Uo4dXXelQ2HEZd3sjOwIq36LLJzL8fmxfOT9ZmhCiNkEes85bSeg4WjeAjzP
         3uFEWeYZP4DxWXY73Q1AMOG+M//IzHxM7JNDEHtYfWPhoNrCwSUYlTyLv8c6RpEDPLqL
         sD4A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760366576; x=1760971376;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=DkorJ/HNR2e5236ivOZiTexZz6UXlaZKt2buBanibZM=;
        b=cf42U8L3J8APqeopNN4plo2qi9qVR1VFPmFO8JqAoBqmm8di6/cvDmoUWwhWLqym4g
         4HpNSBx4snK+r8Q2RvL7wzvVZFrdN953hzsM0CWa8/ZP+lH7aAEbmy9zGSE5+2WXBzeM
         OqnL+BFRortDYNqg1EwuSXFAkuDj96V53VmKFUuE2j55/SBdCi6pWDOU7q2+naj7IfkD
         KjRYiQLJ8vmYS1+eIz8X/8sCZyHEu2S6MLKUfaatFjGDilt6V7QE5xJt3yBPm9RP8b4v
         WgtaH/FaBkDN3kMxecZ0DnOccUapqRck25WdpLqbMyFGQHWhYc1Q5pH1FBHjD+djlunE
         kzFA==
X-Gm-Message-State: AOJu0YydP22PI7dgRkG6pvpkCDoXAKJX1iJyD/4boZK4AoCajxiua6gM
	LV4WxGkejPpATbfeFY/K14DgP3CMZnrKgU6a5TBNXTq0T3PVABHBI3T2
X-Gm-Gg: ASbGncvd4EcXWy/WzD1EF4r67lZBpjatGPkSveAHKWHawHwQvw6E4g9+JpP/ar7xR2Q
	ZWaSpj9m1KEXh5XzcXDEx07Slf7PsJMqPARM/UEgJFVvm6kQhP+xn3L0jTT6TM/rKb5RkpKM4M5
	AdeQON2r6bhaH5oMOJBcjqJrKomzQ5DWTVaDG/2nV57SPqBL3wT5jSQWE+aNKjiJ+hH6NSeEjtA
	l8op/8IJbOA7LBLfZipVh9xlWRj2+rgWA2GBcUG9YAAX/le5hWDXlUjiyJnSF8raV3MRZwxvjPE
	FpDgcfRDvF9PQF3A6YujXJScNLajLz9uFsmBeTj+pugTVwwUzV9m08Q4HNBQit2kBFWb4dntNqi
	w+aovVDpnG1Tv9T6b7kjKCCw+2w4CSI6T+5h8DB3pG6lq80S/4MHH5cPEl2rFSjr+0+l23A0vkK
	57WCVzjF3DuGSFy2382VIfUA==
X-Google-Smtp-Source: AGHT+IFIuyI3gzX7781o9QfYs/BQXpbwRPDtjeSHCZIQvEtP1JqoIcobgDsU+stKscgj0klPgihkCQ==
X-Received: by 2002:a17:907:809:b0:b45:b078:c534 with SMTP id a640c23a62f3a-b50ac5cf768mr2303353066b.45.1760366575945;
        Mon, 13 Oct 2025 07:42:55 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------4ozUMBCF8vkPi1bPcBUdjHf3"
Message-ID: <a76dc8e5-94a5-4827-91ba-e6841cc99be8@gmail.com>
Date: Mon, 13 Oct 2025 16:42:55 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] VT-d: check bus_to_context_maddr()'s return value
To: Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <4f449e23-107b-4fa3-b131-a8134763609a@suse.com>
 <f7aa9bef-f83c-4a10-a005-1acb78e16e67@citrix.com>
 <a7e71598-fefc-4906-a241-08fdaba78614@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <a7e71598-fefc-4906-a241-08fdaba78614@suse.com>

This is a multi-part message in MIME format.
--------------4ozUMBCF8vkPi1bPcBUdjHf3
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit


On 10/13/25 3:12 PM, Jan Beulich wrote:
> On 13.10.2025 14:22, Andrew Cooper wrote:
>> On 29/07/2025 7:35 am, Jan Beulich wrote:
>>> The function returning zero is an error indication; we shouldn't try to
>>> map MFN 0 and then treat that page as a context table.
>>>
>>> Signed-off-by: Jan Beulich<jbeulich@suse.com>
>> Acked-by: Andrew Cooper<andrew.cooper3@citrix.com>
> Thanks (albeit you sent this in reply to the older security@ posting, not
> the later public one [1]).
>
> Oleksii, may I ask for a release-ack here please, seeing that the issue
> was considered on the edge of another security issue?

Sure, makes sense to me:
  Release-Acked-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>

Thanks.

~ Oleksii

> [1]https://lists.xen.org/archives/html/xen-devel/2025-08/msg00387.html
--------------4ozUMBCF8vkPi1bPcBUdjHf3
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 10/13/25 3:12 PM, Jan Beulich wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:a7e71598-fefc-4906-a241-08fdaba78614@suse.com">
      <pre wrap="" class="moz-quote-pre">On 13.10.2025 14:22, Andrew Cooper wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">On 29/07/2025 7:35 am, Jan Beulich wrote:
</pre>
        <blockquote type="cite">
          <pre wrap="" class="moz-quote-pre">The function returning zero is an error indication; we shouldn't try to
map MFN 0 and then treat that page as a context table.

Signed-off-by: Jan Beulich <a class="moz-txt-link-rfc2396E" href="mailto:jbeulich@suse.com">&lt;jbeulich@suse.com&gt;</a>
</pre>
        </blockquote>
        <pre wrap="" class="moz-quote-pre">
Acked-by: Andrew Cooper <a class="moz-txt-link-rfc2396E" href="mailto:andrew.cooper3@citrix.com">&lt;andrew.cooper3@citrix.com&gt;</a>
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
Thanks (albeit you sent this in reply to the older security@ posting, not
the later public one [1]).

Oleksii, may I ask for a release-ack here please, seeing that the issue
was considered on the edge of another security issue?</pre>
    </blockquote>
    <pre>Sure, makes sense to me:
 Release-Acked-by: Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a>

Thanks.

~ Oleksii</pre>
    <blockquote type="cite"
      cite="mid:a7e71598-fefc-4906-a241-08fdaba78614@suse.com">
      <pre wrap="" class="moz-quote-pre">
[1] <a class="moz-txt-link-freetext" href="https://lists.xen.org/archives/html/xen-devel/2025-08/msg00387.html">https://lists.xen.org/archives/html/xen-devel/2025-08/msg00387.html</a>
</pre>
    </blockquote>
  </body>
</html>

--------------4ozUMBCF8vkPi1bPcBUdjHf3--


From xen-devel-bounces@lists.xenproject.org Mon Oct 13 19:17:52 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 19:17:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142475.1476618 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8O39-0002MR-Eg; Mon, 13 Oct 2025 19:17:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142475.1476618; Mon, 13 Oct 2025 19:17:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8O39-0002MK-BS; Mon, 13 Oct 2025 19:17:39 +0000
Received: by outflank-mailman (input) for mailman id 1142475;
 Mon, 13 Oct 2025 19:17:37 +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 <SRS0=q6bU=4W=gmail.com=shentey@srs-se1.protection.inumbo.net>)
 id 1v8O37-0002MC-P1
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 19:17:37 +0000
Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com
 [2a00:1450:4864:20::329])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 44b54960-a869-11f0-980a-7dc792cee155;
 Mon, 13 Oct 2025 21:17:35 +0200 (CEST)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-46e384dfde0so46850435e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 13 Oct 2025 12:17:32 -0700 (PDT)
Received: from ehlo.thunderbird.net
 (p200300faaf271400a0afdc243fcb5392.dip0.t-ipconnect.de.
 [2003:fa:af27:1400:a0af:dc24:3fcb:5392])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-426ce5cf790sm19028061f8f.28.2025.10.13.12.17.31
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 13 Oct 2025 12:17:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 44b54960-a869-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760383052; x=1760987852; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:references
         :in-reply-to:subject:cc:to:from:date:from:to:cc:subject:date
         :message-id:reply-to;
        bh=xiK75KG1lswxj6Jv8QlsEsjxImVje5ZiRRxRVvO5CtY=;
        b=VHWh/n+JFfg+ToEW5jPcWeqTLm87/VjudTN8Rv7Tke5Ud+feENTZv4jNkX++NSO0f/
         34a8wQZzioGb7NII/H8rkfR2fmImKNrVklFLf+1D5BRn1o343tvUut9/UVhwgArLPZEm
         XHSqB+qkdac/PxePPzDN4iu0DPnQ9q6douGS+qIgJAr2CBdK1qWcEdqP7OQZtlttPxcR
         OA9HglkFQbzV5rME1WomJFAZF/ZCiDL9UE5jvyY8mcoRO9mcXMjhGSd/M8oCFgsnnAMW
         CBNNlPKIV/MI+bidtgVlNtlqJeBU6/Idz8Ntxi+eOqN2TCOF17ZieTZw3EikzeQ0qShJ
         53qA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760383052; x=1760987852;
        h=content-transfer-encoding:mime-version:message-id:references
         :in-reply-to:subject:cc:to:from:date:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=xiK75KG1lswxj6Jv8QlsEsjxImVje5ZiRRxRVvO5CtY=;
        b=Nv9nBKSoU5cW4oaL10f6HtfQIyIpe60sZ5gfi3JS3CvjQzXXjLfRxqbT++g8nGbb2N
         vKJI5T9lMZWJFg7pDRr5hskAYcDkdmBTVvRo8CESuKBdDc2qDlyJpDtDsCW8Q11v+jCo
         7CjpvZcI0SiPg/QS53qN5C2bwjDp+GColRCWj+hM/uI3xaL2HOzLFYG/oQh56lvKg+jl
         RVytvk3SogZ1DMF4HMHzvpa2Kq8UMWKCbRvg+EaeTTi3Hr2CEeEFhyHSa3fbKei639MU
         nPpKnYy8PWFP5m+imiH69h/5ArlHf4sozqdN/Pb+u1Tc+bv6I9A5u0NsBeyM6ZWQNYys
         mYdg==
X-Forwarded-Encrypted: i=1; AJvYcCXbfi+pFhaQotDEUzS5Kz1jn3LrAvHoc09hw+nT35pRyLhvVl/eQMFKTqKMlGUsraw+yDB/Ko+E9h4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyvlPtskT0ryXdDWePD96Ce3LlXo6wlsK/8+kmEfVQ6XRXJoSag
	IJJ9Tq48zbwevqdggh73Kk8SD0qYGBAJ/86M7OLSyZaO1VFy10AU6aGg
X-Gm-Gg: ASbGncsuBvh6Nl5CMubHoSL1Bjv6gRt5Cj1rSAT9yiUMEMtFs7XQzbPW+wPiPzEr2nf
	ZB7mZ73vcnqcAWnWGvc9xGXBY4i2XrnT60P+oKtROZtQ947cZIs7tdiRCqD51X9ujIVH5T/o57Q
	5BthPAvz23UhdkcdHC1FP5A+NoHIs1qljf0uELYUuVMkGGRFOReEo2HiM36IXfOPrul36ZYPYjR
	HB5XuFzBcWVG3kPK3kSBVoHJZ/lxtx5yuvsl69g2K0Cyp35TMtJ+D8l/FkiKS/voBeFXczJftnj
	WvzfF1dLF6KdQITLwAKYZCyKB6GIhFlPC5T05LpIECjvc22otn2SQEh6MmVQ2Zbpjrz6iEtDDFz
	4L+3C8qeUeUXWInztLzDnat3jlcDkJXJq6RhvAmpbmTX+CXN3UMZ46yz7F+WX6nc3Hiv26HVPNp
	KOXaH2uI23DC8jH6LsXJ6cwypuYweEiSJ5uqn9Mg==
X-Google-Smtp-Source: AGHT+IHU5wMW6jHCaghZ+f5oYifMHLQNNFD/JSPcjf6kXUliBoNv9hhsI7yXKfx/FCdg5qEQ19dHsQ==
X-Received: by 2002:a05:600c:3acb:b0:46e:2801:84aa with SMTP id 5b1f17b1804b1-46fa9a21caamr132516145e9.0.1760383051935;
        Mon, 13 Oct 2025 12:17:31 -0700 (PDT)
Date: Mon, 13 Oct 2025 19:17:28 +0000
From: Bernhard Beschow <shentey@gmail.com>
To: qemu-devel@nongnu.org, Markus Armbruster <armbru@redhat.com>
CC: sstabellini@kernel.org, anthony@xenproject.org, paul@xen.org,
 edgar.iglesias@gmail.com, xen-devel@lists.xenproject.org,
 qemu-trivial@nongnu.org
Subject: Re: [PATCH] hw/display/xenfb: Replace unreachable code by abort()
In-Reply-To: <877bwz6oqy.fsf@pond.sub.org>
References: <20250729111226.3627499-1-armbru@redhat.com> <877bwz6oqy.fsf@pond.sub.org>
Message-ID: <20C81C5B-912C-49B3-B50A-867C06C134B1@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain;
 charset=utf-8
Content-Transfer-Encoding: quoted-printable



Am 13=2E Oktober 2025 11:10:45 UTC schrieb Markus Armbruster <armbru@redha=
t=2Ecom>:
>Ping?
>
>Markus Armbruster <armbru@redhat=2Ecom> writes:
>
>> xenfb_mouse_event() has a switch statement whose controlling
>> expression move->axis is an enum InputAxis=2E  The enum values are
>> INPUT_AXIS_X and INPUT_AXIS_Y, encoded as 0 and 1=2E  The switch has a
>> case for both axes=2E  In addition, it has an unreachable default label=
=2E
>> This convinces Coverity that move->axis can be greater than 1=2E  It
>> duly reports a buffer overrun when it is used to subscript an array
>> with two elements=2E
>>
>> Replace the unreachable code by abort()=2E
>>
>> Resolves: Coverity CID 1613906
>> Signed-off-by: Markus Armbruster <armbru@redhat=2Ecom>
>> ---
>>  hw/display/xenfb=2Ec | 3 +--
>>  1 file changed, 1 insertion(+), 2 deletions(-)
>>
>> diff --git a/hw/display/xenfb=2Ec b/hw/display/xenfb=2Ec
>> index 22822fecea=2E=2E5e6c691779 100644
>> --- a/hw/display/xenfb=2Ec
>> +++ b/hw/display/xenfb=2Ec
>> @@ -283,8 +283,7 @@ static void xenfb_mouse_event(DeviceState *dev, Qem=
uConsole *src,
>>                  scale =3D surface_height(surface) - 1;
>>                  break;
>>              default:
>> -                scale =3D 0x8000;
>> -                break;
>> +                abort();

Don't we prefer g_assert_not_reached() these days, for more expressiveness=
?

Best regards,
Bernhard

>>              }
>>              xenfb->axis[move->axis] =3D move->value * scale / 0x7fff;
>>          }
>
>


From xen-devel-bounces@lists.xenproject.org Mon Oct 13 19:59:28 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 19:59:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142489.1476628 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8OhX-0007f1-Gj; Mon, 13 Oct 2025 19:59:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142489.1476628; Mon, 13 Oct 2025 19:59:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8OhX-0007eu-DN; Mon, 13 Oct 2025 19:59:23 +0000
Received: by outflank-mailman (input) for mailman id 1142489;
 Mon, 13 Oct 2025 19:59:22 +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
 <SRS0=89Az=4W=bounce.vates.tech=bounce-md_30504962.68ed5a13.v1-befd0142d0db4fb593fb0ee72d4ccd67@srs-se1.protection.inumbo.net>)
 id 1v8OhW-0007eo-7t
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 19:59:22 +0000
Received: from mail186-27.suw21.mandrillapp.com
 (mail186-27.suw21.mandrillapp.com [198.2.186.27])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 18be1c6c-a86f-11f0-980a-7dc792cee155;
 Mon, 13 Oct 2025 21:59:16 +0200 (CEST)
Received: from pmta10.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail186-27.suw21.mandrillapp.com (Mailchimp) with ESMTP id
 4clp8M1Nzlz6CQ3pX
 for <xen-devel@lists.xenproject.org>; Mon, 13 Oct 2025 19:59:15 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 befd0142d0db4fb593fb0ee72d4ccd67; Mon, 13 Oct 2025 19:59:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 18be1c6c-a86f-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1760385555; x=1760655555;
	bh=TsNqhpdGcI66qgWiAarZQKHcoqZLiR3I42IBZ58Vh/k=;
	h=From:Subject:Message-Id:To:Cc:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=Q6PIwksDMVN0wo6EUoGZwKALhMlT3pioj7TQTTuCozEPMnCZfYy7428gmIhEU5QFr
	 QGBtDnBnJVJepyNxnK4wVbJyRq2WwGA11BQ3yGrZn7SxwYPirmrvVj4TQaNuPR79HV
	 n2fteNEyV3lENn0uJWPO/TWxQ0HBiV2hNH8mrAWYEoxkExmwcRRBAj4HddNtoJ+yvX
	 e76OCrf8Hy36GlG9WTq0I2zDnTshvtaluEEU2pHR984iSZPAafWjoX2FHfz/2nATTD
	 Ln4ORlbMrH4rd0oMj4rXyIJe0qj8+/xAF9FXvDnPT/r9bWfwJ0XzA0jvE2AffdI1ui
	 JhpPGVZzeHcZw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1760385555; x=1760646055; i=yann.sionneau@vates.tech;
	bh=TsNqhpdGcI66qgWiAarZQKHcoqZLiR3I42IBZ58Vh/k=;
	h=From:Subject:Message-Id:To:Cc:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=ckJCFKz79G+oq61kvbkVyjz8Srq3wesn9TJpWXOqfWnUWigFqe4E2yaCW79pZvh2y
	 VlX2z2TDsO6D1DScNeHkuYrZDXfk6ZxJ1ncI58V+En9qa05QdhCEYUB0MMjyfsEWGm
	 8OZby+j7u5QPMNY/7cJ4IsP+5iqSMDlFUBoheThM/3vB9soxz0UM1sZri3KwhxQH4x
	 YKvY1YBsRhH2t1zdNrahmH6in8FCe+tVkVCQhqImjH2R+U+LTIIuQ3VxCggrYZH1Ep
	 gA2MWk3lg7B3I1maNqvC1HC4Hde+G6xDhJdv0C6OURUZXP771E4g+Fh2jfRLnqCXN3
	 Cig3QAySoZmXg==
From: "Yann Sionneau" <yann.sionneau@vates.tech>
Subject: =?utf-8?Q?Re:=20[PATCH=20v2]=20xen/x86:=20fix=20xen.efi=20boot=20crash=20from=20some=20bootloaders?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1760385553695
Message-Id: <16f9f439-0565-4e56-b932-545a60188d93@vates.tech>
To: "Jan Beulich" <jbeulich@suse.com>
Cc: "Andrew Cooper" <andrew.cooper3@citrix.com>, "=?utf-8?Q?Roger=20Pau=20Monn=C3=A9?=" <roger.pau@citrix.com>, "Anthony PERARD" <anthony.perard@vates.tech>, "Michal Orzel" <michal.orzel@amd.com>, "Julien Grall" <julien@xen.org>, "Stefano Stabellini" <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20250724140731.1502774-1-yann.sionneau@vates.tech> <4ceb64fa-d7cb-4c77-8a60-1526046c037c@suse.com> <4936cb0d-0898-4171-b8e1-ed3a57bcfc0a@vates.tech> <9b7b70e5-9b1b-446e-9dcc-310f1c1f4b47@suse.com> <ac7ccf2d-163c-447f-9c2a-951b33c0b139@suse.com>
In-Reply-To: <ac7ccf2d-163c-447f-9c2a-951b33c0b139@suse.com>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.befd0142d0db4fb593fb0ee72d4ccd67?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20251013:md
Date: Mon, 13 Oct 2025 19:59:15 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

On 10/13/25 13:41, Jan Beulich wrote:
> On 25.08.2025 16:29, Jan Beulich wrote:
>> On 25.08.2025 16:17, Yann Sionneau wrote:
>>> On 8/4/25 11:34, Jan Beulich wrote:
>>>> On 24.07.2025 16:07, Yann Sionneau wrote:
>>>>> xen.efi PE does not boot when loaded from shim or some patched
>>>>> downstream grub2.
>>>>>
>>>>> What happens is the bootloader would honour the MEM_DISCARDABLE
>>>>> flag of the .reloc section meaning it would not load its content
>>>>> into memory.
>>>>>
>>>>> But Xen is parsing the .reloc section content twice at boot:
>>>>> * https://elixir.bootlin.com/xen/v4.20.1/source/xen/common/efi/boot.c#L1362
>>>>> * https://elixir.bootlin.com/xen/v4.20.1/source/xen/arch/x86/efi/efi-boot.h#L237
>>>>>
>>>>> Therefore it would crash with the following message:
>>>>> "Unsupported relocation type" as reported there:
>>>>>
>>>>> * https://github.com/QubesOS/qubes-issues/issues/8206#issuecomment-2619048838
>>>>> * https://lore.kernel.org/xen-devel/7e039262-1f54-46e1-8f70-ac3f03607d5a@suse.com/T/#me122b9e6c27cd98db917da2c9f67e74a2c6ad7a5
>>>>>
>>>>> This commit adds a small C host tool named keeprelocs
>>>>> that is called after xen.efi is produced by the build system
>>>>> in order to remove this bit from its .reloc section header.
>>>>>
>>>>> Signed-off-by: Yann Sionneau <yann.sionneau@vates.tech>
>>>>
>>>> So I found a way to deal with this at the linker side, without any new command
>>>> line options. Behavior is solely driven by the attributes of any incoming .reloc
>>>> sections (of which there would be none by default, retaining original behavior).
>>>> The important patch is [1], but at least the first patch of the series [2] would
>>>> in most cases also be wanted/needed (patch 04 is obviously a mechanical prereq
>>>> for the main patch). Need for other of the prereqs there depends on the scope
>>>> and purpose of one's binutils build(s).
>>>>
>>>> [1] https://sourceware.org/pipermail/binutils/2025-August/143153.html
>>>> [2] https://sourceware.org/pipermail/binutils/2025-August/143141.html
>>>
>>> That sounds great!
>>> It's clearly better to fix the issue by changing/improving binutils.
>>> Let's drop my patch in Xen if this gets accepted in binutils!
>>
>> Luckily I'm in a position where I don't need "acceptance", but merely
>> "absence of objections". The sole reason for the present delay is with
>> a colliding MIPS patch, which I'd rather see go in first.
>>
>>> It would be nice if you could keep us posted in xen-devel of the
>>> status/progress of the binutils patches.
>>
>> I'll try to remember.
> 
> Here you go - the series went in late last week.
> 
> Jan
> 

Thanks Jan :)

-- 


--
Yann Sionneau | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech




From xen-devel-bounces@lists.xenproject.org Mon Oct 13 21:11:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 21:11:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142499.1476637 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8PpJ-0000a9-KR; Mon, 13 Oct 2025 21:11:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142499.1476637; Mon, 13 Oct 2025 21:11:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8PpJ-0000a2-Hp; Mon, 13 Oct 2025 21:11:29 +0000
Received: by outflank-mailman (input) for mailman id 1142499;
 Mon, 13 Oct 2025 21:11:28 +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
 <SRS0=VK7X=4W=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1v8PpH-0000Zw-Lw
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 21:11:27 +0000
Received: from BN1PR04CU002.outbound.protection.outlook.com
 (mail-eastus2azlp170100001.outbound.protection.outlook.com
 [2a01:111:f403:c110::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2a4354ba-a879-11f0-980a-7dc792cee155;
 Mon, 13 Oct 2025 23:11:21 +0200 (CEST)
Received: from DM6PR02CA0163.namprd02.prod.outlook.com (2603:10b6:5:332::30)
 by SN7PR12MB7108.namprd12.prod.outlook.com (2603:10b6:806:2a3::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.11; Mon, 13 Oct
 2025 21:11:16 +0000
Received: from DS1PEPF00017095.namprd03.prod.outlook.com
 (2603:10b6:5:332:cafe::3f) by DM6PR02CA0163.outlook.office365.com
 (2603:10b6:5:332::30) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9203.12 via Frontend Transport; Mon,
 13 Oct 2025 21:11:16 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 DS1PEPF00017095.mail.protection.outlook.com (10.167.17.138) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9228.7 via Frontend Transport; Mon, 13 Oct 2025 21:11:15 +0000
Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Mon, 13 Oct
 2025 14:11:15 -0700
Received: from fedora.mshome.net (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.17 via Frontend
 Transport; Mon, 13 Oct 2025 14:11:14 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2a4354ba-a879-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=dpxf+6R4GobOEYe+5pAQG13JIbxEQh2+BiPQckslP9A0SP9FRy/cGSYIa8o5fGz0W1pV6KTTaDCYEcFxoHNgTPeQ3NfYh/bwe2g9fBm2RBUkCgyhz2WiZkjXLLdcSPu+jts56fjEXVXdqNUu0Hd7wscr8K0u7j1T51GP90eBm5IoWizR3ykq8cVTcBzRFb/W6blnEy4T7aqV62UFWLpbkldX2j3zGa1lJRHYSmh5knmse4wgcsZElWHwBuJ5550KJvXo+Ar9C3xgOPxzrrag4aS67YSRX3K4fw58ak3LewNuxwjkaNPt9rO2q1TA504ty/drBuIhpYWI7gEWfiIsAA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yLGIot/OlkrKS6JOahSgpBaWPVm4lw5lz6qlsstWm5E=;
 b=XoMGlUkzhs8iNYdNkuifI+2ctNimQNT82GAI35WTt8J/ZdR9TifTV47buqL5PAwlc4IKjr8CUg+HRurbfNxIGnjpi+Qb7G4DhrVK3UYMY1an7Hn9dX6heZXMQOgpLETQ8pe4srfDc0QokgupqxvslWXi83XvU2/uvgQsId6RTBBj/p5ZPgDAMbB8ReRtq8IZoq7rlO/AD1VYf1TFLKreYtSoo8cpKKhzFzB1u5ijcrA1dLDTtggiAE+nDWlQbCQQwZg+R2BD26b2UqnzTyHiZC2DLRlr5lCXBi7zfnn0+b3edi13zzftEjC+zlD7rTMa6RgQMBf0nOVJcWLGDWMoLw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yLGIot/OlkrKS6JOahSgpBaWPVm4lw5lz6qlsstWm5E=;
 b=wcbK7TBZVT5ILs3D5/NpZ3UHa75TtxRPwD/FCiCzxKjifS28jlfsACinmlrcvuDKm/adnPvAhU9TLrFwLAxpavyARMDD+TpFHBtD6PDsPt2e3Ev9TJ6HPczAjYKDv0l29rNHZmjTCUI5c7g2cEIRIGUm8IsYoxFT6N6aBkd1abM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>, Jason Andryuk
	<jason.andryuk@amd.com>, Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>
Subject: [PATCH v2] x86/apic: Avoid infinite loop in io_apic_level_ack_pending()
Date: Mon, 13 Oct 2025 17:11:06 -0400
Message-ID: <20251013211106.8720-1-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.51.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS1PEPF00017095:EE_|SN7PR12MB7108:EE_
X-MS-Office365-Filtering-Correlation-Id: 8e316f10-2260-4fa9-d2dc-08de0a9d0bfe
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|36860700013|82310400026|376014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?P7MPgZisjplJuzP5dyveZ7eyetl1Yhs23VD5p6zth/eW28MaypPsrYXgRsy/?=
 =?us-ascii?Q?94v/saoiiAxCgy1s2aFytk6uDhVCddeo9nD6LWVgwNC/Syyydr6hfSp8AWHy?=
 =?us-ascii?Q?ySUWF1AhPxKGBnbztTLjV+lFLwkcLivu9Qld3m5UMWPUxIEV4tLZiibmQOzH?=
 =?us-ascii?Q?9pSXVN1xYk1hIyB2XIGkDVfB3U3UAtHr0SljGm+HKS0SD1SQ5K6t1UIE1/+i?=
 =?us-ascii?Q?P5hYH4P9YCrMvXUAwzNw5oVu6YNIGYcsqYgODAGakCbcPlPkOUGbA4DNk2gp?=
 =?us-ascii?Q?jU1bj6SD8Ntj5xY2AC1vBY2T4MUIV5C2gmePfidmDluCUCcibHa1EyVJtQGy?=
 =?us-ascii?Q?z+w6CpYOHU1r2olna6hdxW8hFQUepGSZariyjLgxjRzvC7UK+Xv2Fqz0W99+?=
 =?us-ascii?Q?8g2+oDONqae70Bj9IXsrHjYSxiluNlp3jyizRdlk/ARCuFzFZNABelS2Bk2a?=
 =?us-ascii?Q?RHguWespxxqySkcKrwDw5CN7Y2a1nWU/IzLwSKyUAT1dnF8tYf2NIzD3nrQf?=
 =?us-ascii?Q?tLXL2eGTJFGwfZCQIGshcI6sbOXjwtKGhQ/fveH3ACdoAflGKJJldCib5Dgc?=
 =?us-ascii?Q?OA+HDJKPEv1xmjIGtOk0Xo3vty7Cny7MG7M9NXYa7zrADI5Ckh2U6GIjf/yG?=
 =?us-ascii?Q?c5JInbDx3wq2JRklzMvV1HJJPCfsItOvHfVSZLDXvcKcyJ7gyBsCwFcPl31d?=
 =?us-ascii?Q?63riCvR1SWjdrYVrLNFVPcm4GGAyd6BE1Yw3Z6tk6o9L6MtOyvbgvpDsFT15?=
 =?us-ascii?Q?GbemChYbaUyr26CLoBNcmJESpfQ8dPt7iweWVmXCxLFwuxtGKhwhX1KoJwuv?=
 =?us-ascii?Q?Q0NPBXhcebskUfD2drBeygQtqQr59Yf0smQ95y3i4EmnjQ6buTzz891SjcvC?=
 =?us-ascii?Q?un1Bh/vDmy5gWMzhZjJueWkkooAz0TyR1Ta/y/NkYiDyTuLL+C67KEWsYBP+?=
 =?us-ascii?Q?wSHJZjTCNsT/skwqLnzua2zJoSQGGmrgKGqXONPqYNB8CEF81/DRNkbjJOa4?=
 =?us-ascii?Q?ad5J4gq4ZaqFsCaUVzR5ZtLPayW8mVKRsSUqfbaP8i67i9y1UAVt5riaBSdY?=
 =?us-ascii?Q?2ZRq1LVA8neoX34k3oJdF4YHADOwb1PWGJc16v4fbB+7IP8x1nn9dqFDd0lP?=
 =?us-ascii?Q?Ciyn8GS0y30D1wlpw0eMxHRA4ia4NVubnzLHHsCKqgbf9teJOL7sTpT8i5IU?=
 =?us-ascii?Q?T28YplV62UXtnmu+PvqcDbVLEITB8HYj5f6HHDJ8GuELecM0+rM7XUi6dPQx?=
 =?us-ascii?Q?P/CuA3PFPLkIaM1W0vomrgswKAmyJO2EmvAEDWLCnY2Aw6j7R0yLJjPOSIuX?=
 =?us-ascii?Q?ZkhtK8q8POmpM/zU+Gcob0L5w/S8g5dLrdi59zqqXp530SJ580iaPLaCbMbQ?=
 =?us-ascii?Q?YNGAiAXuJ0znYee1Kh2I42xk0Tm45kefN+y3L7/si+BVzforNNmV6wnQbYYt?=
 =?us-ascii?Q?K88mH/dEboQj3i6QCCbK5I1SGfKYjNbxl5sLOkGWQERPF3VMPrQMEijVJGaE?=
 =?us-ascii?Q?bvoPVH5yTwCIP8tcyRpRLlBDVSc6W08Nb3k1cFQym2ema0cB4Ep+6o6+0zWV?=
 =?us-ascii?Q?DBG26dQKcrznVm9i1GA=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700013)(82310400026)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2025 21:11:15.9700
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8e316f10-2260-4fa9-d2dc-08de0a9d0bfe
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS1PEPF00017095.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB7108

io_apic_level_ack_pending() will end up in an infinite loop if
entry->pin == -1.  entry does not change, so it will keep reading -1.

Convert to a proper for loop so that continue works.  Add a new helper,
next_entry(), to handle advancing to the next irq_pin_list entry.

Fixes: f821102450a1 ("x86: IRQ Migration logic enhancement.")
Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
v2:
continue (not break) for pin == -1.

I added the next_entry() helper since putting the expression in the for
loop is a little cluttered.  The helper can also be re-used for other
instances within the file.
---
 xen/arch/x86/io_apic.c | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/xen/arch/x86/io_apic.c b/xen/arch/x86/io_apic.c
index c384f10c1b..7b58345c96 100644
--- a/xen/arch/x86/io_apic.c
+++ b/xen/arch/x86/io_apic.c
@@ -1586,14 +1586,21 @@ static int __init cf_check setup_ioapic_ack(const char *s)
 }
 custom_param("ioapic_ack", setup_ioapic_ack);
 
+static struct irq_pin_list *next_entry(struct irq_pin_list *entry)
+{
+    if ( !entry->next )
+        return NULL;
+
+    return irq_2_pin + entry->next;
+}
+
 static bool io_apic_level_ack_pending(unsigned int irq)
 {
     struct irq_pin_list *entry;
     unsigned long flags;
 
     spin_lock_irqsave(&ioapic_lock, flags);
-    entry = &irq_2_pin[irq];
-    for (;;) {
+    for ( entry = &irq_2_pin[irq]; entry ; entry = next_entry(entry) ) {
         unsigned int reg;
         int pin;
 
@@ -1609,9 +1616,6 @@ static bool io_apic_level_ack_pending(unsigned int irq)
             spin_unlock_irqrestore(&ioapic_lock, flags);
             return 1;
         }
-        if (!entry->next)
-            break;
-        entry = irq_2_pin + entry->next;
     }
     spin_unlock_irqrestore(&ioapic_lock, flags);
 
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Mon Oct 13 21:11:51 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Oct 2025 21:11:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142504.1476648 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8Ppf-0000wd-Rw; Mon, 13 Oct 2025 21:11:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142504.1476648; Mon, 13 Oct 2025 21:11:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8Ppf-0000wW-Ox; Mon, 13 Oct 2025 21:11:51 +0000
Received: by outflank-mailman (input) for mailman id 1142504;
 Mon, 13 Oct 2025 21:11:50 +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
 <SRS0=VK7X=4W=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1v8Ppe-0000Zw-Gm
 for xen-devel@lists.xenproject.org; Mon, 13 Oct 2025 21:11:50 +0000
Received: from PH8PR06CU001.outbound.protection.outlook.com
 (mail-westus3azlp170120001.outbound.protection.outlook.com
 [2a01:111:f403:c107::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3a60d4b6-a879-11f0-980a-7dc792cee155;
 Mon, 13 Oct 2025 23:11:48 +0200 (CEST)
Received: from SJ0PR13CA0096.namprd13.prod.outlook.com (2603:10b6:a03:2c5::11)
 by IA1PR12MB6307.namprd12.prod.outlook.com (2603:10b6:208:3e5::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.12; Mon, 13 Oct
 2025 21:11:43 +0000
Received: from SJ1PEPF000023D8.namprd21.prod.outlook.com
 (2603:10b6:a03:2c5:cafe::31) by SJ0PR13CA0096.outlook.office365.com
 (2603:10b6:a03:2c5::11) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9228.9 via Frontend Transport; Mon,
 13 Oct 2025 21:11:42 +0000
Received: from satlexmb08.amd.com (165.204.84.17) by
 SJ1PEPF000023D8.mail.protection.outlook.com (10.167.244.73) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9253.0 via Frontend Transport; Mon, 13 Oct 2025 21:11:41 +0000
Received: from Satlexmb09.amd.com (10.181.42.218) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Mon, 13 Oct
 2025 14:11:41 -0700
Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb09.amd.com
 (10.181.42.218) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Mon, 13 Oct
 2025 14:11:41 -0700
Received: from fedora.mshome.net (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.17 via Frontend
 Transport; Mon, 13 Oct 2025 14:11:40 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3a60d4b6-a879-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=s+Ll1+vSCg40be+YwDkbLp5QWG919yR0/H4iigNMIO552kz1WW8YkYi6n7iQgSGeV2ln4tnkLxJeB8R+ZRGhjFf4OK8/bous7P8VkHLblLbz+xEn/UHS9VLe8bGSgdyK2u4Mojwf1iH3wae2gJIgvPk+Mm8n8/Fj/Zc0R+I08wNCL/WEUHVP34+s3bQwTDfuHukMbQ3sIBJiuiq7DI10ALFAjj24pXn7migwzYiJgi0lDwgl6cS73CmaTPYCCyJjL8kugN39vzIwe1W6qLRtm62gceyD+4ug4gomhnKHuITY78AQITDp0bo386CTSY+JEEW4ukZc2rb86n6H9hdl0Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XXe8zTKYF8x6DO9Gyq6hh+L+Uww1AxrCS0EUCz3I5Sg=;
 b=abUEi8sTyO1uohYrXxgWYX3cUTTtaUQXjMrW8hXf8swpXQAuEuAnJCmUvmx4q/7rwQpTu4P2vd92a/uN9f7JEz/QQAHPqsqc5Y+tkmRegJyCvPRLFhaOmIH0QMAhI0Ai/vF560+9P3DawogDOffFI/RybLzrWI429og7OC9GkdnloYzfs7n0/VyVGvIEqDyqZ8GJcwNUYsoV7y6WWT38MH3wxLKEaMcbnZYcy+JeFUUjHIDpz1tOhTt31hpBcxGSjo+lYmFDALIEJK8dL3s/M3muZ2JBv83jwY/F8o+0IvfkS3wMkY9r8eRvrHpfGXJD0DD9fg+kUeQ80sQmzyZ4Hw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XXe8zTKYF8x6DO9Gyq6hh+L+Uww1AxrCS0EUCz3I5Sg=;
 b=4qNtyLyVhUCW+TuiNo0pxivwcTGPZBQlV2Qd+YTrdZbUAMPPxcGQXUcHvrvJGnTbqlJVT/t1lq++kofGlseEhYcVFZz/9hdjd6+rY/UJyMc68gS1o5QiQTikcd47bcYxOv67QWom7fhtBTSxtoEBhSmSkMVMCFC8LOCrxNsKouc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>, Jason Andryuk
	<jason.andryuk@amd.com>, Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>
Subject: [PATCH] x86/boot: Fix edd=off to skip mbr
Date: Mon, 13 Oct 2025 17:11:39 -0400
Message-ID: <20251013211139.8750-1-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.51.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ1PEPF000023D8:EE_|IA1PR12MB6307:EE_
X-MS-Office365-Filtering-Correlation-Id: 945fb084-8d70-47ed-8c03-08de0a9d1b81
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|1800799024|376014|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?6P+8k7B8QH3f39tI4cnjCwQFiYZpda/e7O/JRKJ3DEL17hKXkGCSlB2Z2s8N?=
 =?us-ascii?Q?9miRx8ctMKExnAE/V3Yv08jtdL6NJ5Fd3o9jKgnFz+PjN4Ekls+3paBjN2wO?=
 =?us-ascii?Q?ciNx9UmG7ZnPVkSizGGZL9kryxapXTfsrHlSPf//pxCBFsEpF81RtAuRVvfV?=
 =?us-ascii?Q?SMpZB15tdoQogLiAZiM/WggeJMA653zsjNutyG7QqQStGgnkgBUxrCE5WtM6?=
 =?us-ascii?Q?XrwC4yYwPtBuBhlFRz+3lJK9jKYDTPWz53yw9XJZR8rDavZlwllDmgETiY28?=
 =?us-ascii?Q?I4TTatJV2ZCYBPIfTer7S//DBWNfXU9s3B8Dunt1IDf0IZkh0FXzUkrWyC8H?=
 =?us-ascii?Q?nfMspAQDjqBLf+ELz+Li+cM+kLhcH0WCaTheyfiVem26m8kES2Vh4TX3UI1o?=
 =?us-ascii?Q?A6XrehHc4LMazwvnCDUPzpBDTlmjH4fKFC+C+pQ2mAc91RReHTQ2xFPz+MMB?=
 =?us-ascii?Q?xIiNRgpHUV3eGoDzbmP3JmM9dw0pt7R5bcYWbSt+UE64zXd7SZxVpNPviKm5?=
 =?us-ascii?Q?zcQ11VhYoFHMf9VZKRrwCOl3vJe/1McCHsO3oAtzv73vB1S+Zuh4dcSFUrt0?=
 =?us-ascii?Q?4sVfgy4Ux50peDfbwzwJZIqO7MNzjIvcEPLWD8Q5gTMA65j0qfd34GsytMEL?=
 =?us-ascii?Q?WEnTzXv/lwuNju50Maoac0b+dcQs0z1l+3Wp/shkb4EMqmWxm7XYZu5kYL85?=
 =?us-ascii?Q?hNmAwif8fkqg7iD3cFTj+xHP/UOl430Vw2yr08+EKkFYmEstyBaEbiyXuKtq?=
 =?us-ascii?Q?cTKocP/Wv3uIgavZLHJMxU5QODIbTa56GmnlJGlwt2yqwJuztHJ1DoDAB1vo?=
 =?us-ascii?Q?CD1K5rTLxLtXrrVYwTAmzqI1/nc3EtlMr1FM2XYgkwijZu5wd/rhX+2rUIqf?=
 =?us-ascii?Q?dDFSYBjC7A6n1oCbHC0TAR82mG6aMA2gz7yyhfenhhe7FAbBvFAXJem/ixDO?=
 =?us-ascii?Q?mNWHvA8hlFWuNve4oxaRqHflmKqJqaYVgYoWaujdFOeUi+MPCMPwqbKh26In?=
 =?us-ascii?Q?lb1/4NKf2W9c6cxZf2ZRUvH4lOuwyx2c/uxZUfGZDeC8kXtx7ZMKlgujS9a3?=
 =?us-ascii?Q?gF+E+HrDLiCJyrtg3IlkwYodJMJy2ofdooSRvWWFvBuWvc1ZkrYUSCFMR2ZI?=
 =?us-ascii?Q?9+bMGK+l/dvNrmxv4STqJ0bWT37wGmDBrLI5OUyOT4+IUuKwCkbMMhu21It2?=
 =?us-ascii?Q?j8duXVm7rGnZbTflLvGhtXWPvWOHMCS2bjVbk7zmeeKdXDi6B9JPiJZkbHUN?=
 =?us-ascii?Q?H8v/RTu1OH4oz1VfCqwoTfUt2/bVXlYCDTM2O4Dc72TtiHXntSnM+6G9HN+O?=
 =?us-ascii?Q?I0mG2u8zTcYesUuJmvlkO0FfNe28nNlJzmVR4lnSjwWv3HCPCtPYnQ14ihlX?=
 =?us-ascii?Q?PCv0Gbr+Jec+pXvFK0csHwZwFs5MFooEZPhffzLmpg/Npblm2K7u7epgp0u/?=
 =?us-ascii?Q?dIp0xNFffyfZG0twdnqxqfKx7qdKgXhPMJnftLRy+7RdjKA3+qoRnT1ubJOF?=
 =?us-ascii?Q?q9FaTPUCHZjI6uMWkCaJLfdbQFRhs2/8ll1khh7fWiVAKkUYRMe+5dSHPCYK?=
 =?us-ascii?Q?fjpIktUHHr7NH/WcPUE=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(376014)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2025 21:11:41.9548
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 945fb084-8d70-47ed-8c03-08de0a9d1b81
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ1PEPF000023D8.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6307

When the fixes commit re-arranged the code, it made edd=off jump to the
mbr code instead of returning from the function.  Previously edd_done
was immediately before ret and skipped the MBR check.

Replace edd_done with .Ledd_mbr_sig for the start of the MBR checking,
and replace .Ledd_mbr_sig_skip with .Ledd_done to exit from the function.

edd=off jumps to .Ledd_done to return from the function, and internal
jumps go to .Ledd_mbr_sig to check edd=skipmbr.

Fixes: 5ec164fd61bd ("x86/boot: re-arrange how/when we do disk I/O")
Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
 xen/arch/x86/boot/edd.S | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/xen/arch/x86/boot/edd.S b/xen/arch/x86/boot/edd.S
index 3df712bce1..02437511b2 100644
--- a/xen/arch/x86/boot/edd.S
+++ b/xen/arch/x86/boot/edd.S
@@ -25,7 +25,7 @@
 
 get_edd:
         cmpb    $2, bootsym(opt_edd)            # edd=off ?
-        je      edd_done
+        je      .Ledd_done
 
 # Do the BIOS Enhanced Disk Drive calls
 # This consists of two calls:
@@ -48,7 +48,7 @@ edd_check_ext:
         movb    $0x41, %ah                      # 0x41 Check Extensions Present
         movw    $0x55AA, %bx                    # magic
         int     $0x13                           # make the call
-        jc      edd_done                        # no more BIOS devices
+        jc      .Ledd_mbr_sig                   # no more BIOS devices
 
         cmpw    $0xAA55, %bx                    # is magic right?
         jne     edd_next                        # nope, next...
@@ -96,13 +96,13 @@ edd_legacy_done:
 
 edd_next:
         incb    %dl                             # increment to next device
-        jz      edd_done
+        jz      .Ledd_mbr_sig
         cmpb    $EDD_INFO_MAX,bootsym(boot_edd_info_nr)
         jb      edd_check_ext
 
-edd_done:
+.Ledd_mbr_sig:
         cmpb    $1, bootsym(opt_edd)            # edd=skipmbr ?
-        je      .Ledd_mbr_sig_skip
+        je      .Ledd_done
 
 # Read the first sector of each BIOS disk device and store the 4-byte signature
 .Ledd_mbr_sig_start:
@@ -160,7 +160,7 @@ edd_done:
         jb      .Ledd_mbr_sig_read
 .Ledd_mbr_sig_done:
         popw    %es
-.Ledd_mbr_sig_skip:
+.Ledd_done:
         ret
 
 GLOBAL(boot_edd_info_nr)
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Tue Oct 14 07:37:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Oct 2025 07:37:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142536.1476658 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8Zax-0006cx-F8; Tue, 14 Oct 2025 07:37:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142536.1476658; Tue, 14 Oct 2025 07:37:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8Zax-0006cq-Bk; Tue, 14 Oct 2025 07:37:19 +0000
Received: by outflank-mailman (input) for mailman id 1142536;
 Tue, 14 Oct 2025 07:37:18 +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
 <SRS0=ME2R=4X=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v8Zaw-0006ck-Rs
 for xen-devel@lists.xenproject.org; Tue, 14 Oct 2025 07:37:18 +0000
Received: from BL0PR03CU003.outbound.protection.outlook.com
 (mail-eastusazlp170120007.outbound.protection.outlook.com
 [2a01:111:f403:c101::7])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9b3e1473-a8d0-11f0-9d15-b5c5bf9af7f9;
 Tue, 14 Oct 2025 09:37:16 +0200 (CEST)
Received: from CH2PR03MB5223.namprd03.prod.outlook.com (2603:10b6:610:9c::21)
 by SA1PR03MB6482.namprd03.prod.outlook.com (2603:10b6:806:1c1::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.13; Tue, 14 Oct
 2025 07:37:13 +0000
Received: from CH2PR03MB5223.namprd03.prod.outlook.com
 ([fe80::64db:a9da:5b27:8665]) by CH2PR03MB5223.namprd03.prod.outlook.com
 ([fe80::64db:a9da:5b27:8665%4]) with mapi id 15.20.9228.005; Tue, 14 Oct 2025
 07:37:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9b3e1473-a8d0-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=jI8wp+AtInsUqvFqL4OjzDOGfId/evGKgPAkuLAGqz+3o04qSqFZ0nh9WScXRq5QYyZ2NnMbAvw7+EVYPOaUgOtt6qVipk/jpOUj0DbEQ/R7VlZ2D4i0UWk+Rr3JhQ4q0CvFFxMsyli05kzhYOEaA+gl2bDcGqx0+0Z3JwcXklEbrEWbYNEoss+J6H4bwHwdlFLhU1TwKmexQ19nlaLFzYB2Z1h1TLqhZNNszfNnlcsumpiQqA2Ic10iyaLv9ZT3HftMMZlc2UrN9awvaWyGSjwgFp6qn1vIHUFGsPOtcik1aOCqTM39R4clZouTWd/7MkiJCdbvP1Zo1avO1Ic/vQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HQCtHzzmgtwKLjdWm+SaTOHdwOObZCpRVv65PCf6QTQ=;
 b=Xj4o6crxHART2kdysjkjU9DbY+mkDy7cZHDSjoTDmH/KU6qNt+T/iBEB2bdyYFEnhVacLkOSskvFjjvSzxQ9LuFY80xaelBdC5zoP8kEYMsUMCvfMKS5DkDJWRe/Fb2BrYbNEd22e2MEUykTP/TBZfcWg23YItqJ1G+X3XiGWp+j7e6gZrNEv1bp1kaSyx8ZFTq1X0wK9ODHcciNMr++kS2d0mpcUXmV575ZOV+TqIUKGZoEb9bD+qRrA8erKIQGsL9+dY7DryYnbJbKqU9HtEG0vMd1KVVWsYF7/TDGqRLjm9IKQhXCK46q82dhpvKwQYDZjcpMx1UKC+HikLO0RA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HQCtHzzmgtwKLjdWm+SaTOHdwOObZCpRVv65PCf6QTQ=;
 b=N7E7StE0pc+2238va6xy1w00sjfX5NTKvzEnvJjB89N5fKxwmtQHmF0SIaExXFiDmSu2t0wwOj/gx4v4bVIL6d2fNqwgNK1UB7C3CtXqaHmvTSSggJ1bl4t9ETbunjN1moZ833I/69h229Wz+pwYvy0Bl0MsGySmqcncACQbbtU=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 14 Oct 2025 09:37:09 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: xen-devel@lists.xenproject.org,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v2] x86/apic: Avoid infinite loop in
 io_apic_level_ack_pending()
Message-ID: <aO39pb3L42ktBol_@Mac.lan>
References: <20251013211106.8720-1-jason.andryuk@amd.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20251013211106.8720-1-jason.andryuk@amd.com>
X-ClientProxiedBy: BN9P221CA0001.NAMP221.PROD.OUTLOOK.COM
 (2603:10b6:408:10a::16) To CH2PR03MB5223.namprd03.prod.outlook.com
 (2603:10b6:610:9c::21)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH2PR03MB5223:EE_|SA1PR03MB6482:EE_
X-MS-Office365-Filtering-Correlation-Id: 6c74fd47-102b-48cf-adc8-08de0af47dae
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?VW5aVis3Z29tREs0N0RWWjZkbkFwblViZk11d3Z1aVpINUxEdU83eVBQQVRB?=
 =?utf-8?B?OU5QZUNoZ2JoRi9Zb0U3TkZ5Y1RvQzMwWEl1VFB1M3U1T1VnZWpQbE5DbzZl?=
 =?utf-8?B?WFIyZ2FXRCt5VTlLeG0yVC91M2pNS2NpdlhmUjYzdHg1WERRNmU3czBjamJT?=
 =?utf-8?B?dG8xNk5lY010emozUWU5YU1iUmZrUWRwVm9uQzJqNTdBeW51RzJHNDc0eUkz?=
 =?utf-8?B?bnVDQlV0T0dMMVVkK1kvS3pZK25uTDhTRWtkZkxWY2N4b1ZMSTErUi9DOWJ2?=
 =?utf-8?B?QXN2TkJCbEMzdHRnVTcrYXB4amZEeHJ5amFXOGJBVy9TbVZOcFZncDhVSHZv?=
 =?utf-8?B?UGpHN0ZwYTdQY3dVR1I3V0Z4NkNmUkJsM2tjS0FnV3hLeEdvQjJvTEd3bWk5?=
 =?utf-8?B?a0tsdENyK0RKUEJCanZEZmwrN2JCWXZaUWZ1Skh1SE83dWRiS0JQSEkxcmVH?=
 =?utf-8?B?OGljYTNvRWlzTmx4bDRIZkNBRjBpaEVrcUI4K3R6YUE5Nk9ZRHpENkhuWFJM?=
 =?utf-8?B?VGVvWk9sRHhhNVVzb3Z4anFhV2tYVnBxRVFsbFI5N3ovYS90cTd2MlJUWmph?=
 =?utf-8?B?b0tzb3QrcUczVzV1ZmRoTmo1eUZPUG9PTmhpQ21FRlVKTlhEVGI1UStJSVVk?=
 =?utf-8?B?SHJWVUgxNUIrNkhOR0lQVlVyQjYyOWpGS0p2Qzdkc1N3YjY0b0hiRjBqV3cw?=
 =?utf-8?B?UHpmaU4yaUFMaXYvWTJmOHdlN0RKbnZBNHJ6MkNHUGJiMDZFakc3c0lGM3Uz?=
 =?utf-8?B?WnREekl2SnlLQ3pmcnBCMHNmME5uU0pxTVFlaExBbVNVY1lHRG4zeGFrNWx4?=
 =?utf-8?B?U2k1NDdmNXBid25haGN6SU1jcnQ5ZXhieGNONjJiWjVmc3RZMFI3a3RqV0Vn?=
 =?utf-8?B?QVRMbHdQMGx4S0ZxeDIvWjdLVU5UOTlBMFl6OUlDazdzY3VFeEFPeTJSOW1q?=
 =?utf-8?B?cDE2Ky9Oa2g5eHRrUHhyeVVsVG54NlI4TGFyWlc2MUZjTy9BRjBmZ0l3ay9S?=
 =?utf-8?B?dVk1L0xQWXVRVE9RNlo1RE1WcWtyS1RZNkpNa3V0endldm9wM1FKYmlKUDhq?=
 =?utf-8?B?WTZ0RndFSDUwMERsQ1kvWU40dHA3U2NaeEhFV0xkOUIrSGc5cm1lS0g2R1NZ?=
 =?utf-8?B?Y0N1Mi94UWFvUGM2Sis0MS9TVisydG5SSkdBaTJaZVlyRGZKSVp2dE5YQ3Q5?=
 =?utf-8?B?Tnh1YjhOWUxpNWZ3YVRDakpuWmlIMmozUjM0ZVdSNEhsN2ZxQTl4UEJQVllT?=
 =?utf-8?B?SlArNXJlTURyZ0NsdThKSjlvZnNLSnhIdnBIb04zVCt1Qm1RS3JXaklWTi95?=
 =?utf-8?B?WEx6QU9RVkw4OHRvSEdSN1VJSUdsQkpWZjM2VWljMmpGOEFTM0h0RTNqOFA1?=
 =?utf-8?B?OW92VkFxd0dCcWd3STdwNEhxUE15U2QrbDZzcnluR3hGRkVmNTBZSlg5Ykdu?=
 =?utf-8?B?aWFITVpKNXZJQm1lTC9RUjhoZXdNampPK2VZRVZuSmVpSzEzZC9nbWp6RGxS?=
 =?utf-8?B?RFcvUVZIRjkxU1dzQk1sRGpvUG1DOGIvYnl3MDhIZWNCUjZ5WFp6bWd1V2dN?=
 =?utf-8?B?Q2dBeWh2VFMxU1JmOUw4VmFTYVFzbm9CT3ZGUU4vU05ld01zTnlBamlGdThV?=
 =?utf-8?B?ellCZlJoVzhxK1NmQ0JlUmF4d1pFS0VpbVFuL1NGdHJmM2R1dDFLVDQ5VmMv?=
 =?utf-8?B?RUhKbHdaQUcyellMZFZUaHM1UDJ0NHJpTnoycWo0dFZLYWt5MTN5OEFEVjhZ?=
 =?utf-8?B?bW1GMnJEUjFNT2hVTER6NmZ5ZmxjWS9yUWZnVmdQSEd0UXNTckMrY0RaUFh1?=
 =?utf-8?B?a1VUaXZnMDRCelB5dVdCSG9zcUxjZWNZUHlBczdnWWRXbUt4TWhYWHdQUXJi?=
 =?utf-8?B?elR5cHdmZG5KdnFKb0xzdWZvZy9wM09CMzJ6ZXU5by8vdi8rRzhmeFdyaFlp?=
 =?utf-8?Q?IFUWlFcgRQZTHQfK+SrsmUXDXCmKCkdg?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH2PR03MB5223.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VFNrWGNoTUlBTy9uR1E2WkpXUFJYVUUwSHZ0L0dHTGMyU3ZXeGFQcGU3Wlo5?=
 =?utf-8?B?bjE4WDBHb3JGSTFuZ0RhRUN0a2wwbXMydXZaWWFhUnhpd0ZReFZ4cnFEWEND?=
 =?utf-8?B?RlhsckJ2aG5id3BTS3cyVUR0M2IzYUIzaGRLQ0VUanFWdVN5dVlOeVZmRkdT?=
 =?utf-8?B?RmtDN3VNN3Z4TDVRbC93bDU4OWE3N1FIMWdObjA1amppc3c5OHpEU0NJWm9u?=
 =?utf-8?B?czVMMkNzUEtrYjFiUzNuSUxPdGwwY3JuTHNqb056cndqSDgzRUFCNktrQ2FV?=
 =?utf-8?B?QmJ4Qmx5OVh1NXN1L3pJVmNKQTU3ZW50SS83clp6TFhVQUtMb3dkOXlESHV1?=
 =?utf-8?B?Q1BaczJJUTlCRnkzZXRSb0ltdXpSV0VkcmQ4VXoxbDFmemZBNnVoMDZIY1oz?=
 =?utf-8?B?eXU2Nkp6TUZ5d1RMMWU3SG5ocDhNTVlWVVhudjdmMjkyZWZsR2ZsSTQ2cFYr?=
 =?utf-8?B?VnRTcG5YMW1oMmhXdVVtc0NUa0VneTY3aW5acjQycXQrM2N5bXJLd1psWnZm?=
 =?utf-8?B?UnNMVm1zQlFRMFkyQkVhS3RhQW9NUDgxK1JReUJENVRpb0xFZEt4bnprKzJw?=
 =?utf-8?B?cDdrTlFYbXNLRXBNR0lVcFoxd0ZCZnp5UElzdDNzWnhLTjgyNmM2elJxU1M0?=
 =?utf-8?B?NmtPYzAyQytFS0pyTzhMU25jZWYvaWxvQTJUYytzb2E0QzhqVTMrc3lpVTla?=
 =?utf-8?B?ZXBpcENPRklYZmZFc2xVOU9MK1hNV0t5eGc3YTVzOVdVVG5KcjZvTVBoQi9t?=
 =?utf-8?B?M1p1dzlhSjBDNmo1QitJNmNma0JwSWo5QldLQityNFhxcW5GdUZaL1RQc2Rl?=
 =?utf-8?B?cTY2OVNnZHhlZEhEVi9DMHBGcnUycFV1QTdsam16Znp4bENSd0VnTEdMOEIx?=
 =?utf-8?B?QkNDS2RkSUNnTGs4Z2hlYlpZa0cvR0lncXdYdlhiVlpuSXdRdGZiekltVldz?=
 =?utf-8?B?VXl3d2lJK1QzR1FYK2VyZ3BFOC8rT1BhNE4wNDhTa1VlcjJkTkNvakl0OGEy?=
 =?utf-8?B?bWo2S1JLdWF4SUhPZHRQMTQyMHFMU2tGT1VRWjdHcUNpcCs3ZUF1UHZRSTl6?=
 =?utf-8?B?Nm5JOFdFcnRGc2M2bE1yTmJwbG44eTM5K3E1VUI0NnAveEM3VzJ3OEt3R2FP?=
 =?utf-8?B?dk1SZktKeU03WGNjSEZaUUQ4UFcvMXphdzZnRGY4aHpsQWNJSTEwNzkrY0pT?=
 =?utf-8?B?bVdpV0FoYW1DYXJGRU9wb1NROWQ1d1dMd2FzVzhXQ0x1bGlWcXFIODY4aHFz?=
 =?utf-8?B?Z2VFRWZsTFZrV1VJZ2ZySEZucUNXUERtYW9kdXVKVnBjNklzREE1aXlaemht?=
 =?utf-8?B?MjkxK0cwYTg5aWNLQmFyWDVmang0U0RHTjJ2OXVaSzlZUEozT0xRRElwemtV?=
 =?utf-8?B?RWUxQlk0dEF3SmZ0dnV2cVZFNHo0Qjh5TVA4SlJnT0U0bjEwc1EwUFhyMmxW?=
 =?utf-8?B?MUFnaERqWSs5aXlkZUVZeStTSU1JVHhsQTB1UEJiWDBhRUpKV0I5cWUwTjVE?=
 =?utf-8?B?TU1DNVFUdUNLdUVTUXJDdVMrZzY0TTZ0cHQ1amRlUnpTR1NKUFJYYk12MmVI?=
 =?utf-8?B?N1Y2dTBHdzIzb29DTi9iU3B1SzJxMlh5UFpLSm9RN0tySk12NEEwRlo1Rlhq?=
 =?utf-8?B?SmZJUnRuUlcyOVZ5YjNOS2FzVFFJMmV1WHBvSEgwYVFoOWdQYTU2TTBVa2d1?=
 =?utf-8?B?bllOOUVJcThCSkFuSUZRc1k0Qmw2ZnRrS3ZYTGhRdW5JbEZYTktWci85NWdw?=
 =?utf-8?B?Wk5TM0RaSzZEa0swalFIWDljUE5sV1A2cmZBRHBlQnpYbVJkSW5yN1ptQlRM?=
 =?utf-8?B?bVJEb2t2ek55VytnaDdtWE9PQ2w0dGFMMytCUVBsWEtZS1hXUDZzajZ6cWNY?=
 =?utf-8?B?VUZiZWFpN0Uvbjk3Y3NUazM5QmlKK2p0TFVIb0hzK0lDWFdSa2trU0N1RDQ2?=
 =?utf-8?B?ZWpXNWdmMkM0Q1RoTlN6VEI3RjRCVlRpWnBBMFBQc2g4Vk13YkV1UVNYRGpt?=
 =?utf-8?B?ZDlNdlhtTWwzT2RmWW4vcFRMUHZrRk9QTXk1TDJxOXpoalRiOUN6YXpRSmRn?=
 =?utf-8?B?eVdyclJLd1pKSzk2RjEvSitoRTdYSEJYc1J5Sm1ad2h0Q2E1cXRRMGRnMDg3?=
 =?utf-8?Q?0RbxJQ3aQ101wHgLeDz/3QJel?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6c74fd47-102b-48cf-adc8-08de0af47dae
X-MS-Exchange-CrossTenant-AuthSource: CH2PR03MB5223.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Oct 2025 07:37:13.2847
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: FaLjRIjQ5LqAREhTcX3i/3KLbh6U9SEDOVPrspf1Tw4yAsLFmfl23duBmiUXnDf4QibBEJ/8UyXxIR9i/CbLnA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR03MB6482

On Mon, Oct 13, 2025 at 05:11:06PM -0400, Jason Andryuk wrote:
> io_apic_level_ack_pending() will end up in an infinite loop if
> entry->pin == -1.  entry does not change, so it will keep reading -1.

Do you know how you end up with an entry with pin == -1 on the
irq_pin_list? Are there systems with gaps in the GSI space between
IO-APICs?  So far everything I saw had the IO-APIC in contiguous GSI
space.

> Convert to a proper for loop so that continue works.  Add a new helper,
> next_entry(), to handle advancing to the next irq_pin_list entry.
> 
> Fixes: f821102450a1 ("x86: IRQ Migration logic enhancement.")
> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
> ---
> v2:
> continue (not break) for pin == -1.
> 
> I added the next_entry() helper since putting the expression in the for
> loop is a little cluttered.  The helper can also be re-used for other
> instances within the file.
> ---
>  xen/arch/x86/io_apic.c | 14 +++++++++-----
>  1 file changed, 9 insertions(+), 5 deletions(-)
> 
> diff --git a/xen/arch/x86/io_apic.c b/xen/arch/x86/io_apic.c
> index c384f10c1b..7b58345c96 100644
> --- a/xen/arch/x86/io_apic.c
> +++ b/xen/arch/x86/io_apic.c
> @@ -1586,14 +1586,21 @@ static int __init cf_check setup_ioapic_ack(const char *s)
>  }
>  custom_param("ioapic_ack", setup_ioapic_ack);
>  
> +static struct irq_pin_list *next_entry(struct irq_pin_list *entry)

I think you can make the entry parameter const?

> +{
> +    if ( !entry->next )
> +        return NULL;
> +
> +    return irq_2_pin + entry->next;
> +}
> +
>  static bool io_apic_level_ack_pending(unsigned int irq)
>  {
>      struct irq_pin_list *entry;
>      unsigned long flags;
>  
>      spin_lock_irqsave(&ioapic_lock, flags);
> -    entry = &irq_2_pin[irq];
> -    for (;;) {
> +    for ( entry = &irq_2_pin[irq]; entry ; entry = next_entry(entry) ) {

I'm not sure where we stand regarding coding style here, but it looks
you either want to remove the space between parentheses (my
preference), or place the opening for braces on a newline.  I would
possibly do:

for (entry = &irq_2_pin[irq]; entry; entry = next_entry(entry)) {
...

As I think it fits better given the small change and the surrounding
coding style.

>          unsigned int reg;
>          int pin;

Below here you can remove the:

        if (!entry)
            break;

Chunk, as the for loop already checks for this condition.

Otherwise looks good, I think we should consider for 4.21 inclusion.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Oct 14 07:42:52 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Oct 2025 07:42:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142549.1476668 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8ZgF-0008CS-5Y; Tue, 14 Oct 2025 07:42:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142549.1476668; Tue, 14 Oct 2025 07:42:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8ZgF-0008CL-2f; Tue, 14 Oct 2025 07:42:47 +0000
Received: by outflank-mailman (input) for mailman id 1142549;
 Tue, 14 Oct 2025 07:42:45 +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 <SRS0=J+hc=4X=redhat.com=armbru@srs-se1.protection.inumbo.net>)
 id 1v8ZgD-0008CE-Hx
 for xen-devel@lists.xenproject.org; Tue, 14 Oct 2025 07:42:45 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.133.124])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5e82a9eb-a8d1-11f0-9d15-b5c5bf9af7f9;
 Tue, 14 Oct 2025 09:42:44 +0200 (CEST)
Received: from mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com
 (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,
 cipher=TLS_AES_256_GCM_SHA384) id us-mta-92-forSofwjOGKuPF4o34xyag-1; Tue,
 14 Oct 2025 03:42:37 -0400
Received: from mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com
 (mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.93])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
 (No client certificate requested)
 by mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS
 id 02D341800366; Tue, 14 Oct 2025 07:42:36 +0000 (UTC)
Received: from blackfin.pond.sub.org (unknown [10.45.242.19])
 by mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS
 id 4F1D71800447; Tue, 14 Oct 2025 07:42:35 +0000 (UTC)
Received: by blackfin.pond.sub.org (Postfix, from userid 1000)
 id CF36621E6A27; Tue, 14 Oct 2025 09:42:32 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5e82a9eb-a8d1-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1760427763;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=SHUotR2nJ/K6X1C0pnOd/lK6tY2NnaYZKDc/xGnWPuI=;
	b=DolBCx8ocLqKyr8wV6hj9yN6zj2F9AriyDzVzgeIyZNUHgoAJNs9IETg+dOUKONyk2AcvA
	qkx2WyTgSGP4HXy6/CvnVtZpeAsPDqnOkEoiL0NxDTTBwDEqH5ThMZ6DkpVUY/IqYJUJ5N
	XTRW2uabVmUW/s5a53NWG8sX33scb2o=
X-MC-Unique: forSofwjOGKuPF4o34xyag-1
X-Mimecast-MFC-AGG-ID: forSofwjOGKuPF4o34xyag_1760427756
From: Markus Armbruster <armbru@redhat.com>
To: Bernhard Beschow <shentey@gmail.com>
Cc: qemu-devel@nongnu.org,  sstabellini@kernel.org,  anthony@xenproject.org,
  paul@xen.org,  edgar.iglesias@gmail.com,  xen-devel@lists.xenproject.org,
  qemu-trivial@nongnu.org
Subject: Re: [PATCH] hw/display/xenfb: Replace unreachable code by abort()
In-Reply-To: <20C81C5B-912C-49B3-B50A-867C06C134B1@gmail.com> (Bernhard
	Beschow's message of "Mon, 13 Oct 2025 19:17:28 +0000")
References: <20250729111226.3627499-1-armbru@redhat.com>
	<877bwz6oqy.fsf@pond.sub.org>
	<20C81C5B-912C-49B3-B50A-867C06C134B1@gmail.com>
Date: Tue, 14 Oct 2025 09:42:32 +0200
Message-ID: <87tt02ylnb.fsf@pond.sub.org>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.93

Bernhard Beschow <shentey@gmail.com> writes:

> Am 13. Oktober 2025 11:10:45 UTC schrieb Markus Armbruster <armbru@redhat.com>:
>>Ping?
>>
>>Markus Armbruster <armbru@redhat.com> writes:
>>
>>> xenfb_mouse_event() has a switch statement whose controlling
>>> expression move->axis is an enum InputAxis.  The enum values are
>>> INPUT_AXIS_X and INPUT_AXIS_Y, encoded as 0 and 1.  The switch has a
>>> case for both axes.  In addition, it has an unreachable default label.
>>> This convinces Coverity that move->axis can be greater than 1.  It
>>> duly reports a buffer overrun when it is used to subscript an array
>>> with two elements.
>>>
>>> Replace the unreachable code by abort().
>>>
>>> Resolves: Coverity CID 1613906
>>> Signed-off-by: Markus Armbruster <armbru@redhat.com>
>>> ---
>>>  hw/display/xenfb.c | 3 +--
>>>  1 file changed, 1 insertion(+), 2 deletions(-)
>>>
>>> diff --git a/hw/display/xenfb.c b/hw/display/xenfb.c
>>> index 22822fecea..5e6c691779 100644
>>> --- a/hw/display/xenfb.c
>>> +++ b/hw/display/xenfb.c
>>> @@ -283,8 +283,7 @@ static void xenfb_mouse_event(DeviceState *dev, QemuConsole *src,
>>>                  scale = surface_height(surface) - 1;
>>>                  break;
>>>              default:
>>> -                scale = 0x8000;
>>> -                break;
>>> +                abort();
>
> Don't we prefer g_assert_not_reached() these days, for more expressiveness?

See https://lore.kernel.org/qemu-devel/87v7nbdwfx.fsf@pond.sub.org/

[...]



From xen-devel-bounces@lists.xenproject.org Tue Oct 14 08:37:28 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Oct 2025 08:37:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142568.1476677 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8aX1-0006tq-6X; Tue, 14 Oct 2025 08:37:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142568.1476677; Tue, 14 Oct 2025 08:37:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8aX1-0006tj-3x; Tue, 14 Oct 2025 08:37:19 +0000
Received: by outflank-mailman (input) for mailman id 1142568;
 Tue, 14 Oct 2025 08:37:17 +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
 <SRS0=+O4t=4X=linaro.org=peter.maydell@srs-se1.protection.inumbo.net>)
 id 1v8aWz-0006td-T7
 for xen-devel@lists.xenproject.org; Tue, 14 Oct 2025 08:37:17 +0000
Received: from mail-yx1-xb129.google.com (mail-yx1-xb129.google.com
 [2607:f8b0:4864:20::b129])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f5d336f2-a8d8-11f0-980a-7dc792cee155;
 Tue, 14 Oct 2025 10:37:04 +0200 (CEST)
Received: by mail-yx1-xb129.google.com with SMTP id
 956f58d0204a3-633bca5451cso5035602d50.1
 for <xen-devel@lists.xenproject.org>; Tue, 14 Oct 2025 01:37:04 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f5d336f2-a8d8-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1760431023; x=1761035823; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=G2wXHawLphgjXMKUIBlNV42EVOVQetLfGGTkt4o3IG0=;
        b=E3zBq3rOsfKz+A+AL2rBNpb6yMT/VP4hzSH7gyFsTV/RldnQp7KXBxgeRm20KK93oG
         c+1m2B3qndBE0FWcnR2n1RuFy/liGsbxVuJtNxxsCvFSjRhT4pd9zN50bS7smB3HyOwA
         L+SVpKhp1rNZNQXZRlpxh8lga8/xo88GkFnuIkIy7Jg7GvWDi1uxwG0i5qYmgiTiuwTR
         W81PCOK+Gi5azR6IfxeeZ+QSr2UfTys6JFJC5tpRQEI7ajybOYHyRwBKkv69QXYsEr0U
         6AEY8AWMmvxC5GCUUubVchBHJDTlQHExsP1nszJh/9v0VaBgoe4CJ9xTcmKTodSGPVTV
         lNSg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760431023; x=1761035823;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=G2wXHawLphgjXMKUIBlNV42EVOVQetLfGGTkt4o3IG0=;
        b=dMc8Z2D9FUuJ9qKInVtdLIbbRogv07igWC3ThJv1g5PVGlUkCmDKIeqPl9tAMjcm/U
         p+nvP6XJr0Z/OBMDwU1vQJRZtul5wmI+HyLOWqC/rCdZMfCWisRSKJY55VRIG0Z00gEv
         LoC0At2QMF9qoXrNeFdzAQ04sSRYUs7TiZiTrpms0NUPBw6mahbwfdfEadxw4wovAmYE
         3bATyUqsZCOtWWSOARWIqklMwY6dADzJks1whCyEvtWyMm/RYAn8pRcV9oAVmL0aRM2/
         /DBInfMPGzwnRcrsbTbLlkosE0cZRAyM5+2Ka0iweLHXWrHPGUXLDWKtAJkNgugi7YEP
         0JmA==
X-Forwarded-Encrypted: i=1; AJvYcCVSSKclFThMmXUW3sd+WXRA+reQ5PJu2+o5TN2iR5Morx+gb43BF0Y0jT+J+DRihXzC3lkkLNSuJME=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzJQXs+Z89ZTaLTlREnETFvmwn9S/xEgRVhIbQkT8naQSkZIdD8
	qQMrzOeQ7I0VDCAZ2tTpS6MfPG/DaRESaFAONGA1W/l+NUqYdm8hzsDJCuNpuU5663Cdb9hGR8Q
	s6eR+nixi4Sya+lCeYcpdiR/XhpD57zuHE6w425NKww==
X-Gm-Gg: ASbGncsqi2N+N3BLDp/Qn3y3fMdn+xL88kVB8dMra6NW7LUK9N0pFpHTGn0/pO01xpB
	mI3utaWukXq/bqONKlrRDyWu1zake16+F1GgxYNRP/ZU1TYX2S65sDf5ZhsAqSsxHw5CgfJ1UXD
	wp/22uelGPxjCZ2UJ6svmBNDj5qqjxMHZzhUGR1MtjbMVD+dGod39ttMucNGew0nqJVjQwqCYYJ
	jEGp/+ahPfm7TvoW2qDrZt4SCQEZoE=
X-Google-Smtp-Source: AGHT+IECuBWW7Mr3bdnefo9hCmYHcFbwqlQRLyVDhb767ve9pQExfrgwAwUBBTHQcYKoTbM+UVDSaLdeF/fMGFZKDEA=
X-Received: by 2002:a53:ea51:0:b0:63c:da95:21c7 with SMTP id
 956f58d0204a3-63cda9524edmr14064490d50.48.1760431023344; Tue, 14 Oct 2025
 01:37:03 -0700 (PDT)
MIME-Version: 1.0
References: <20250729111226.3627499-1-armbru@redhat.com>
In-Reply-To: <20250729111226.3627499-1-armbru@redhat.com>
From: Peter Maydell <peter.maydell@linaro.org>
Date: Tue, 14 Oct 2025 09:36:51 +0100
X-Gm-Features: AS18NWDdnneHmaeFVDUQFGdg-xa0DZiF63LABZFsNDGIwihe3MoHxpb_nMM5usM
Message-ID: <CAFEAcA-UrCD7mrmX_4dCK0urMmY5+qs=Y268WerQVq1c+7nB=Q@mail.gmail.com>
Subject: Re: [PATCH] hw/display/xenfb: Replace unreachable code by abort()
To: Markus Armbruster <armbru@redhat.com>
Cc: qemu-devel@nongnu.org, sstabellini@kernel.org, anthony@xenproject.org, 
	paul@xen.org, edgar.iglesias@gmail.com, xen-devel@lists.xenproject.org, 
	qemu-trivial@nongnu.org
Content-Type: text/plain; charset="UTF-8"

On Tue, 29 Jul 2025 at 12:14, Markus Armbruster <armbru@redhat.com> wrote:
>
> xenfb_mouse_event() has a switch statement whose controlling
> expression move->axis is an enum InputAxis.  The enum values are
> INPUT_AXIS_X and INPUT_AXIS_Y, encoded as 0 and 1.  The switch has a
> case for both axes.  In addition, it has an unreachable default label.
> This convinces Coverity that move->axis can be greater than 1.  It
> duly reports a buffer overrun when it is used to subscript an array
> with two elements.

I think also that Coverity gets confused by QAPI's convention
in generated code of defining enumerations like this:

typedef enum InputAxis {
    INPUT_AXIS_X,
    INPUT_AXIS_Y,
    INPUT_AXIS__MAX,
} InputAxis;

Coverity thinks that INPUT_AXIS__MAX might be a valid
value it can see in move->axis, because we defined the
enum that way.

In theory I suppose that since the __MAX value is only
there to be an array or enumeration bound that we could
emit code that #defines it rather than making it part
of the enum.

thanks
-- PMM


From xen-devel-bounces@lists.xenproject.org Tue Oct 14 12:25:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Oct 2025 12:25:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142751.1476692 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8e5M-0000rI-1e; Tue, 14 Oct 2025 12:25:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142751.1476692; Tue, 14 Oct 2025 12:25:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8e5L-0000rB-Uw; Tue, 14 Oct 2025 12:24:59 +0000
Received: by outflank-mailman (input) for mailman id 1142751;
 Tue, 14 Oct 2025 12:24:59 +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
 <SRS0=uGvW=4X=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1v8e5L-0000r5-5E
 for xen-devel@lists.xenproject.org; Tue, 14 Oct 2025 12:24:59 +0000
Received: from PH0PR06CU001.outbound.protection.outlook.com
 (mail-westus3azlp170110003.outbound.protection.outlook.com
 [2a01:111:f403:c107::3])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c89c94a0-a8f8-11f0-980a-7dc792cee155;
 Tue, 14 Oct 2025 14:24:53 +0200 (CEST)
Received: from SN6PR01CA0012.prod.exchangelabs.com (2603:10b6:805:b6::25) by
 DM4PR12MB6229.namprd12.prod.outlook.com (2603:10b6:8:a8::16) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9203.13; Tue, 14 Oct 2025 12:24:45 +0000
Received: from SN1PEPF0002BA52.namprd03.prod.outlook.com
 (2603:10b6:805:b6:cafe::b0) by SN6PR01CA0012.outlook.office365.com
 (2603:10b6:805:b6::25) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9228.10 via Frontend Transport; Tue,
 14 Oct 2025 12:23:28 +0000
Received: from satlexmb08.amd.com (165.204.84.17) by
 SN1PEPF0002BA52.mail.protection.outlook.com (10.167.242.75) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9228.7 via Frontend Transport; Tue, 14 Oct 2025 12:24:45 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.2.2562.17; Tue, 14 Oct
 2025 05:24:44 -0700
Received: from satlexmb07.amd.com (10.181.42.216) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 14 Oct
 2025 07:24:44 -0500
Received: from [172.18.10.234] (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.17 via Frontend
 Transport; Tue, 14 Oct 2025 05:24:43 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c89c94a0-a8f8-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=i24+U+EQhslDEOuSWviYg4GCegp68DlSAaE25nXnemxr5Bv1xbPz5kMhwWZ+ve9NeYqFKum7qq/wQ2OqshMgwEMMJ1WuaHbK87x+bUMwW+eFv5p+6vxWmUcEGNZPvVEdXFS6MLK4gJ0QsJdAQmzWcgynK4eS2rc2V4GZun/nD8apyY3hZAyYq6GMTt1W4NKDIBZMKf8A2WvV7oZp08SX62wR0YME42kYrZ24bH7xe9QydoINYeT9MRA4m+uFPMIoQ08dBlWUXHrYUyKeXaCdSf3MNE0PrYTsomjjf3rmrZlj5MHjZOw1w3w03TUzswl4TDSLAJl2+1eH3cWQfJHp2Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vpc+bz3p67kLMc0zFi4sTqbc9eciCbNZG1ZmbGL+7Rs=;
 b=c9lpWb+hqXy2bW9/81ZsoFSuuNIjKsunZBXiwVS3K0Lmtz2IJygWoWu/ip0H03IUDOTtDsSkLRreQO4+I6cyWe+aC79IDi13BlDTK6TOzRas4nubKoeFBQHlRcIyiB4hE79C2/5zHGWHEzz5Z3SzsrqnV2zdcYOL6z/aGY43hFBtKtl7WYIwXAXmI9eOS70A/MnGyjQ0rO6goKHVGR6s9EAxdWVHyLI6M3d++zGJL55RAANLcH4rT1wjYxShkjTCRDAAeWt1/RUsZhJpvccXvcPcAzpcoh/wMYzLC/HtSaRcum9NfsUAvrCbr5fVgidfCMGSZCnyWCPbAOJ+OZwpQQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=citrix.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vpc+bz3p67kLMc0zFi4sTqbc9eciCbNZG1ZmbGL+7Rs=;
 b=e4vjbKO4HQNbnEBTPUY13I0gVJzLIPy5LxtK5dOMhxB0MmbssAnD93E91AfEHx1NnW4iLOtzQgtWSaCWKCcHoGcOJNu2LVGXHBifzH//xXhApGLtBOSAdN9AJLMX+3hHUV9EAfvizyf+78HVI3z+uvUufb64cPOpI+JioZZ2O3s=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C
Message-ID: <8636d707-cce8-4102-82d0-ef52941f4c68@amd.com>
Date: Tue, 14 Oct 2025 08:24:38 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] x86/apic: Avoid infinite loop in
 io_apic_level_ack_pending()
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
CC: <xen-devel@lists.xenproject.org>, Oleksii Kurochko
	<oleksii.kurochko@gmail.com>, Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>
References: <20251013211106.8720-1-jason.andryuk@amd.com>
 <aO39pb3L42ktBol_@Mac.lan>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <aO39pb3L42ktBol_@Mac.lan>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN1PEPF0002BA52:EE_|DM4PR12MB6229:EE_
X-MS-Office365-Filtering-Correlation-Id: 3447179c-e3c5-4327-f78f-08de0b1ca903
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|1800799024|376014|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?eDRLK3JTRW1EcUJxSGt4RkFITVpIMzVvUlVycUk0OWVUb2syZVl4VklXenht?=
 =?utf-8?B?UnoyZmh5Nng3aFFZMWRjWkt1OXRYblpFQVl5N3RnYnIyeFhwbTV3citUenVp?=
 =?utf-8?B?VHVoSC94SXR5SStSR2Vwc0lqYUJHbmVvcmxpUEszU3ZFdzkyOXJYcXFFMFM3?=
 =?utf-8?B?Nk5jb0dCakhORkpRNG5jYXh0ekYwcXRJRkZ2SEZGWURuUG1yeTEzZlpFTWVV?=
 =?utf-8?B?NlVNcmNSTzVlTzZKSHBUK2lDdElSVFhpVnZVejdDcDlNYm8zYXZ1djFuT292?=
 =?utf-8?B?UisvUGt6d1p0WkpSaUNJYkMyOXFpUXNIK3luWUVUOVFhZVE1SXZMa1Axa21S?=
 =?utf-8?B?LzUwbjlWblZhZFRCQmNjUjg4N015WlhINmRoWGRoL1p5S0V6dy9LUjJoMFNi?=
 =?utf-8?B?SGt3QVpTdXh5VG1VUEpKdnJDWHNySlpGZ284K0s0MkNDUWdGWGovdENyL2g1?=
 =?utf-8?B?amJTMnplb0NhNzg3dGdtZzNoRkNXQzNZdTArZml6SHlxcXh0THc3N1huQlVX?=
 =?utf-8?B?VnRoTjRNRFR2T2IwMDhOc0FiSFJyU0lzLzNYN2RacHk1M25oQ1NmNHVzcngz?=
 =?utf-8?B?UTFkM0d2bGI4d0Nqd2pMbktvaFM2YlVPVmp3VmY0YWR3Y0trS0RkeVBpbG9Y?=
 =?utf-8?B?c1FrQk5DWXltRUU4YThyRWFFcGorS1FBbWxaUlpCSmpKU3UycDF5MFhkL2cw?=
 =?utf-8?B?S3NldXQ1MnFKckVTOERSTWRMRzh0bFh2Um9iaExMcEF2ck5KQ3J1dVBxbTE0?=
 =?utf-8?B?VmRWdjc0b1Nvd1pYbEdnNHF0eWNYUmRxS25ZM0Y4bkdDOVZGMStxeDIxSVNY?=
 =?utf-8?B?S1NZWjRBdGVWdWRIU2d2QXd0K3RKclJBQUgwQzErcWdiekkzSFNBMTVnSEcw?=
 =?utf-8?B?dVZ1S2oyUjl2TEVxeCs0Tnh2cXgvbHlLV2luSm1mUm9jTmg3VklkUnNwMzQ3?=
 =?utf-8?B?cFc1YzlzcEphdS83K0h2ZDRUcHZ6Nms2bDhWR3F2SDZjNjVNa0pmeEZSWU9Q?=
 =?utf-8?B?NktVRnRONzQ4QWNJUTRDcjRnclgrL2hzcFE3Z0poZytkWGpRcFhVM0RsVm5N?=
 =?utf-8?B?cnZOZkkyZGorMU5Qdy9UZzBjSlhlc1FYcGppL3VPRlR5ZHlyMU5lZW0vcWdt?=
 =?utf-8?B?SFhMbFNxUTh4cnVEeE9iYnM3TVU3ZnoxMWdpcU5zUVY0N0w3Qlh3NmVDci9j?=
 =?utf-8?B?YmJYamtMTUdvS3lLZEZpWHlkRVVhRzBlNWFsVHFPNU03R0d3NVJSaTlWd0lD?=
 =?utf-8?B?cndNUU92TDZQTWRKRnVFeUdKZmFwS1hKeUdOU3pHWjh6VWlsOGtpOHJNRjc0?=
 =?utf-8?B?ZFJ3NElTYVFTR0dOZ2FLbXVvZW9BSUxvUXJ6RnhTdHQ3eTc3bDh6YjYvdE9k?=
 =?utf-8?B?Z3k2NlRoamRNVU55M2JqWnlCNDB5QTNGUTN3Skd1K0tyRDRWL1ZHQ1NaYU1a?=
 =?utf-8?B?NkMxb2w4aHhjVUZ3aFFlY3pRNzd6am5oWU9neHJSbXBnZm8rRGx1YVU3OWpW?=
 =?utf-8?B?WVFLaDBmT3RGaS9DTkYzbk5KakNvWFcwT25hNVl5eVlDR0NjK0kxU3BhOUFE?=
 =?utf-8?B?Zi9hcUM0OE5lZmluWE1BU0Yyb1pzcDRUNGpPM0pUVGpEN3F3anBrdTJFSi9W?=
 =?utf-8?B?ZHRtQUdEU2NTWVJrcFBOVlJ0TVQ2Q0hUaFh1dmN0TmcyOXdUcHlGNFdNekto?=
 =?utf-8?B?dnRXWVdiMWlDeitYRnlrS0htUGdReWxBaTg2OVhCTkxoc1hnMExicU9yVVp6?=
 =?utf-8?B?dm9xT3lSenZHcFRKWTJOY0p4Z3h5UTQvVVN5K2wyNDlYMGhYd0w0aHZvQXEz?=
 =?utf-8?B?R2V1THZkSmZCRE85WVN3SEFraVJPeWY5WjVSQmlacDJGcm5TbnlXVkdhMjZ1?=
 =?utf-8?B?RDFyZ1M2YVZ2WU9NL1VTbXAxS0wrSlhvdmFJOFBJY0tvUTBsVkJ1OFh3Q1ZR?=
 =?utf-8?B?QjlMUzg5ZndWMkdJSXVDcHBmdU9LVGlLdFl2cTlDNmg4OVdKYjZLMENCQVcv?=
 =?utf-8?B?dVpYRGYyMjZnbElpWm5uL3FBUGRhdWhhWFU2b2lHMVdRR3dQTWx1N0VZT0hm?=
 =?utf-8?B?b0xlT1J1cXRhK3VPRUNqQVJJcEVIMWpBM2RhMkExa29EbmRjbjRTcUhUVmlz?=
 =?utf-8?Q?Tavo=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(376014)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Oct 2025 12:24:45.5149
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3447179c-e3c5-4327-f78f-08de0b1ca903
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SN1PEPF0002BA52.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6229

Hi Roger,

On 2025-10-14 03:37, Roger Pau MonnÃ© wrote:
> On Mon, Oct 13, 2025 at 05:11:06PM -0400, Jason Andryuk wrote:
>> io_apic_level_ack_pending() will end up in an infinite loop if
>> entry->pin == -1.  entry does not change, so it will keep reading -1.
> 
> Do you know how you end up with an entry with pin == -1 on the
> irq_pin_list? Are there systems with gaps in the GSI space between
> IO-APICs?  So far everything I saw had the IO-APIC in contiguous GSI
> space.

I only noticed this potential infinite loop during code inspection.  I 
mentioned that in a v1 post commit comment, but I forgot it in v2.

>> Convert to a proper for loop so that continue works.  Add a new helper,
>> next_entry(), to handle advancing to the next irq_pin_list entry.
>>
>> Fixes: f821102450a1 ("x86: IRQ Migration logic enhancement.")
>> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
>> ---
>> v2:
>> continue (not break) for pin == -1.
>>
>> I added the next_entry() helper since putting the expression in the for
>> loop is a little cluttered.  The helper can also be re-used for other
>> instances within the file.
>> ---
>>   xen/arch/x86/io_apic.c | 14 +++++++++-----
>>   1 file changed, 9 insertions(+), 5 deletions(-)
>>
>> diff --git a/xen/arch/x86/io_apic.c b/xen/arch/x86/io_apic.c
>> index c384f10c1b..7b58345c96 100644
>> --- a/xen/arch/x86/io_apic.c
>> +++ b/xen/arch/x86/io_apic.c
>> @@ -1586,14 +1586,21 @@ static int __init cf_check setup_ioapic_ack(const char *s)
>>   }
>>   custom_param("ioapic_ack", setup_ioapic_ack);
>>   
>> +static struct irq_pin_list *next_entry(struct irq_pin_list *entry)
> 
> I think you can make the entry parameter const?

Ok.

>> +{
>> +    if ( !entry->next )
>> +        return NULL;
>> +
>> +    return irq_2_pin + entry->next;
>> +}
>> +
>>   static bool io_apic_level_ack_pending(unsigned int irq)
>>   {
>>       struct irq_pin_list *entry;
>>       unsigned long flags;
>>   
>>       spin_lock_irqsave(&ioapic_lock, flags);
>> -    entry = &irq_2_pin[irq];
>> -    for (;;) {
>> +    for ( entry = &irq_2_pin[irq]; entry ; entry = next_entry(entry) ) {
> 
> I'm not sure where we stand regarding coding style here, but it looks
> you either want to remove the space between parentheses (my
> preference), or place the opening for braces on a newline.  I would
> possibly do:
> 
> for (entry = &irq_2_pin[irq]; entry; entry = next_entry(entry)) {
> ...
> 
> As I think it fits better given the small change and the surrounding
> coding style.

That works for me.

> 
>>           unsigned int reg;
>>           int pin;
> 
> Below here you can remove the:
> 
>          if (!entry)
>              break;
> 
> Chunk, as the for loop already checks for this condition.

Yes, thanks for catching that.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Tue Oct 14 12:59:57 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Oct 2025 12:59:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142771.1476702 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8ed5-0004ls-L0; Tue, 14 Oct 2025 12:59:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142771.1476702; Tue, 14 Oct 2025 12:59:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8ed5-0004ll-H5; Tue, 14 Oct 2025 12:59:51 +0000
Received: by outflank-mailman (input) for mailman id 1142771;
 Tue, 14 Oct 2025 12:59:50 +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
 <SRS0=+O4t=4X=linaro.org=peter.maydell@srs-se1.protection.inumbo.net>)
 id 1v8ed4-0004lf-IU
 for xen-devel@lists.xenproject.org; Tue, 14 Oct 2025 12:59:50 +0000
Received: from mail-yw1-x112e.google.com (mail-yw1-x112e.google.com
 [2607:f8b0:4864:20::112e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id aa8d734c-a8fd-11f0-9d15-b5c5bf9af7f9;
 Tue, 14 Oct 2025 14:59:49 +0200 (CEST)
Received: by mail-yw1-x112e.google.com with SMTP id
 00721157ae682-72e565bf2f0so56418787b3.3
 for <xen-devel@lists.xenproject.org>; Tue, 14 Oct 2025 05:59:49 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aa8d734c-a8fd-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1760446788; x=1761051588; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=DGAb+4USIiQWrIYxqWxfsLF1eArRgLsM7HUF2jQ9eV8=;
        b=fn8vAzzZRJuNuk8KHAazE95JxErLvpsoD33HZdwzjzpjOF0bApOxGkaDLp6eLBTzN4
         cf7A8XeawOckbogpz11/spB6pyhT1xeM9/24GciYk5rhu3btZoSkmegaO02JYY/HA5KF
         hLqL7DEaEqbSg9s5xjQARJeeXGGjiFkKO19G/QZEtE42dMgUWz3CboaBnaSNbmnjJU4f
         c2uO4MZ9WIIy6SRMTDWX415FL/yilbLMvzsvjbmWIc+q3WvdOpyCsieyHTtipZbORTLQ
         w2gVjvTfe+ji8RvdYVZG1UKq9Tnxo0R1GYf7/QFK9sI7HYQPDOzvV9rYQIGYNNA5MZZj
         gVpQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760446788; x=1761051588;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=DGAb+4USIiQWrIYxqWxfsLF1eArRgLsM7HUF2jQ9eV8=;
        b=LBh7HVpBdXFb1wJxlAhuSaory/mxQzIriFG9MKef4Yc8w2sKt04PeX6swtPnsOACXJ
         L6x3F3UlO5sxZmY3Cq53rOOhh/RlRmurgFycgrxuF7HgXm/OrS7pF9Wk4sxjEbDdnk6t
         8qW2kXxPzIp1HNNzhfPxjhbI6uyqYBhKHBNYnpzGXgwdzhu6fFEYEO/KQgwFY/UXssV5
         +urkoJbzYkXxaqxYDz9Vzvp9KVqbBQ4Fw/xEyKw8Y2rPdMDKHJ/iIDsatoO5flj+FT5m
         9Chyp/JIda/K+Knb4aSsP27Efen7DaeZW9pguzTlAq1v2lF6oKxsAg6v+wxmSpgMeLmw
         3Bxg==
X-Forwarded-Encrypted: i=1; AJvYcCXlc4c0sH4n1MYgRMcheGa4m+a2mIZpjwMTT0aCVkuIW4Md3Cg0Vg9wovFdiMJGFMGV9rgM4aXwJKo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxCbHOSUuEAuS5QnW2H/blHngKXm8Etzfr+wsg0BQp4kZwuKXIC
	wMWkCOfulfdvY9JfCxH5fJIoQulnGxvPZ/0JtmYhIfqcpsCTm0xsa5MTqf9bsi3slgr2+OSKLx0
	dVmSJZ6hxapujhsQcskxnyfsbhj9W4o4Vybag/kiOLg==
X-Gm-Gg: ASbGncuteJ80VUWI+zA+K2pmCTtukdmI0lT9x48q5nrO3qNIvbph4awOCZZGs4umlSc
	7AjQm1D7eCPWxc0e9uHR7Q+mVzmibUDLlwAPxsLQN6HrnLHeaet5CmUXYW19CYM036H2nKhC25B
	b/Pv+zPYLHZA3WpFHraUoptYTbiTbkuItR2MMS+ggZDBwXh7nWxPmbmwMhuaLo9VspHAmPIbBO4
	L5Lu3ODnvX26Ds+w4jlHDr4l1PNfZ1iHjpUwG4Gpg==
X-Google-Smtp-Source: AGHT+IED4DPQdBK7ONm26OmCpKVlBffbLSUSkcJilcgE42YRs0GaEMyY5HjOGbcIqDd1U1OSOTWygdg0r2hHPeNy8JI=
X-Received: by 2002:a53:ac49:0:b0:63c:e72f:d354 with SMTP id
 956f58d0204a3-63ce72fd63cmr12424599d50.22.1760446788372; Tue, 14 Oct 2025
 05:59:48 -0700 (PDT)
MIME-Version: 1.0
References: <20250729111226.3627499-1-armbru@redhat.com> <CAFEAcA-UrCD7mrmX_4dCK0urMmY5+qs=Y268WerQVq1c+7nB=Q@mail.gmail.com>
In-Reply-To: <CAFEAcA-UrCD7mrmX_4dCK0urMmY5+qs=Y268WerQVq1c+7nB=Q@mail.gmail.com>
From: Peter Maydell <peter.maydell@linaro.org>
Date: Tue, 14 Oct 2025 13:59:34 +0100
X-Gm-Features: AS18NWAkDU_I2OBOHorXRS1aTrsOfZLJKRYRT_z0zRWC_KiBP47Dd1fp0k_Ow-I
Message-ID: <CAFEAcA-01WR=jgdiCY57P_88ez-mRw07ShU0eWyzLPB+WbT_xg@mail.gmail.com>
Subject: Re: [PATCH] hw/display/xenfb: Replace unreachable code by abort()
To: Markus Armbruster <armbru@redhat.com>
Cc: qemu-devel@nongnu.org, sstabellini@kernel.org, anthony@xenproject.org, 
	paul@xen.org, edgar.iglesias@gmail.com, xen-devel@lists.xenproject.org, 
	qemu-trivial@nongnu.org
Content-Type: text/plain; charset="UTF-8"

On Tue, 14 Oct 2025 at 09:36, Peter Maydell <peter.maydell@linaro.org> wrote:
>
> On Tue, 29 Jul 2025 at 12:14, Markus Armbruster <armbru@redhat.com> wrote:
> >
> > xenfb_mouse_event() has a switch statement whose controlling
> > expression move->axis is an enum InputAxis.  The enum values are
> > INPUT_AXIS_X and INPUT_AXIS_Y, encoded as 0 and 1.  The switch has a
> > case for both axes.  In addition, it has an unreachable default label.
> > This convinces Coverity that move->axis can be greater than 1.  It
> > duly reports a buffer overrun when it is used to subscript an array
> > with two elements.
>
> I think also that Coverity gets confused by QAPI's convention
> in generated code of defining enumerations like this:
>
> typedef enum InputAxis {
>     INPUT_AXIS_X,
>     INPUT_AXIS_Y,
>     INPUT_AXIS__MAX,
> } InputAxis;
>
> Coverity thinks that INPUT_AXIS__MAX might be a valid
> value it can see in move->axis, because we defined the
> enum that way.
>
> In theory I suppose that since the __MAX value is only
> there to be an array or enumeration bound that we could
> emit code that #defines it rather than making it part
> of the enum.

Also, there's an argument that this function should
ignore unknown input-axis enum values. If we ever in future
extend this to support a Z-axis, it would be better to
ignore the events we can't send, the same way we already
do for unknown INPUT_EVENT_KIND_BTN button types, rather
than aborting. But it's not very important, so the
g_assert_not_reached() will do.

(In some other languages, we'd get a compile failure for
adding a new value to the enum that we didn't handle.
But not in C :-))

thanks
-- PMM


From xen-devel-bounces@lists.xenproject.org Tue Oct 14 13:06:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Oct 2025 13:06:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142788.1476712 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8ejv-0006PA-Ap; Tue, 14 Oct 2025 13:06:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142788.1476712; Tue, 14 Oct 2025 13:06:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8ejv-0006P3-7B; Tue, 14 Oct 2025 13:06:55 +0000
Received: by outflank-mailman (input) for mailman id 1142788;
 Tue, 14 Oct 2025 13:06:53 +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
 <SRS0=/xUX=4X=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v8ejt-0006Ox-I8
 for xen-devel@lists.xenproject.org; Tue, 14 Oct 2025 13:06:53 +0000
Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com
 [2a00:1450:4864:20::329])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a6d1deeb-a8fe-11f0-9d15-b5c5bf9af7f9;
 Tue, 14 Oct 2025 15:06:52 +0200 (CEST)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-46e33b260b9so42966745e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 14 Oct 2025 06:06:52 -0700 (PDT)
Received: from localhost.localdomain (host-92-22-57-86.as13285.net.
 [92.22.57.86]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-46fb49c3e49sm238835695e9.16.2025.10.14.06.06.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 14 Oct 2025 06:06:51 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a6d1deeb-a8fe-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1760447211; x=1761052011; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=gFSmz0jo8S6OUUUQXmXesAUdqUQlqtsfHm8XtU8aum0=;
        b=JCC3kTOhEshj1foEUzMrUJSZSbdFN2JPaMZmeN+bo5jrnaXQ3i64mV43a4kPbb022m
         hb8p7/Lhi0m7B8r2//XH3uTIMF+7XCj7YvkrEMLbxshPcC/jUoHpIuz/FaYz6CJvlnmf
         zp/spTuHlsWiJsBS8BBvG7RhknYlFz9uBHiI8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760447211; x=1761052011;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=gFSmz0jo8S6OUUUQXmXesAUdqUQlqtsfHm8XtU8aum0=;
        b=QcUx/J7mLn3bnEFAkp3tUiyu2B7cNdiFcppTHlus+2n8CBV7NNXV2788KuwgAzSoM6
         ZTpPp6LLJXh4i70eu9lGzrumVuS8idkowdx9fluj48QIRwIlWyw9uwnG+M5O3Cq5LI+u
         zY/xwI8FADZbnfFDON39hEHfonUJzKeOwOovEIswBx/oDgoODEwSjXZagtpQABs0lMiu
         +luSJ/02SQ0HpNGnDZGhMXtQLLCkCJL2CYhBCozGQ+jQa6LxQT01qRIO/NlOHWS3sXi5
         iYTOh9pPWmEokfbPxKdCvw2+HqpIfoDCIyfO9ZIy4O5GRBdcj3ScX2sdzSYUgrrzJa3Z
         eQQw==
X-Gm-Message-State: AOJu0Yyi2Gj31Vdu/iveVjcoEphGemYUTEQBi0yUF8f2d957WdMUyOh9
	SN4Eq76wf4SrJ3YVAxKqdV/r3i2kvYsARXUuneYa2heieHabIj+w3urtW+JOQvsqi/pFeMJdyBf
	RFp9EcsD8pw==
X-Gm-Gg: ASbGncu8clPwY6FmD6qK3zgGnBCHfiFPchGN9cwwCIKVlSi3467paQY1GhSD9vNoerV
	L/yZcfThSwj9IQYfjQkH+9kSyZHLm4JYEkObKzO82i4JqG+CaE5hCrF62abx6WNy4Pfv6ZUZaBU
	c9jsqEgXTXs7VVuqYpleSKT6MnrvmEo+K313USJUvxqvKPPc1SDbo1BrfBuNg9PTdbBP3euLWJx
	9nMXvYp2GX4NN3T7DcawMTahilCOxTKSEFzd8dtrUCYMVH3MynyQO5aAgHr6oM/YXfNOPU3O7c0
	VjbGIbhvrHJ3AygiaF473qmNOAMBLrhAzBeOBFcwba/cpTceEiFeLk+S7NnEAI66qa6FXByVmrz
	LZ8T8WbzyQQrFGJQuHXVYpC9TNyTEXzESGz8edstOPgPbcLdOXdqCt0L2L48j4fo8MUKoQc/mPx
	fXpHZU788WyHYUDKtbVBNLOw==
X-Google-Smtp-Source: AGHT+IHmlXQbjzgs5ATTnQ3K4D7CW70EKfEIqjDdnvR/EeBzWU3lox0ECpq9YGPgdbmoZ4+yYusSnQ==
X-Received: by 2002:a05:600c:3b11:b0:46e:4c7c:515c with SMTP id 5b1f17b1804b1-46fa9b182e2mr207040165e9.34.1760447211546;
        Tue, 14 Oct 2025 06:06:51 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Gerald Elder-Vass <gerald.elder-vass@cloud.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	"Daniel P . Smith" <dpsmith@apertussolutions.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH for-4.21 v2] efi: Protect against unnecessary image unloading
Date: Tue, 14 Oct 2025 14:06:48 +0100
Message-Id: <20251014130648.2540082-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Gerald Elder-Vass <gerald.elder-vass@cloud.com>

Commit 59a1d6d3ea1e introduced Shim's LoadImage protocol and unloads the
image after loading it (for verification purposes) regardless of the
returned status. The protocol API implies this is the correct behaviour
but we should add a check to protect against the unlikely case this
frees any memory in use.

Signed-off-by: Gerald Elder-Vass <gerald.elder-vass@cloud.com>
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
CC: Daniel P. Smith <dpsmith@apertussolutions.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Gerald is OoO and time is tight on Xen 4.21, so I've picked the patch up.

Oleksii: This addresses follow-on feedback for a new feature in Xen 4.21, so
really does want fixing before the release.  I forgot to put it on the
tracking list, sorry.

v2:
 * Apply feedback as Marek wants it.
---
 xen/common/efi/boot.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/xen/common/efi/boot.c b/xen/common/efi/boot.c
index 5b84dbf26e5e..3a78e7571a5e 100644
--- a/xen/common/efi/boot.c
+++ b/xen/common/efi/boot.c
@@ -1062,7 +1062,7 @@ static void __init efi_verify_kernel(EFI_HANDLE ImageHandle)
     static EFI_GUID __initdata shim_image_guid = SHIM_IMAGE_LOADER_GUID;
     static EFI_GUID __initdata shim_lock_guid = SHIM_LOCK_PROTOCOL_GUID;
     SHIM_IMAGE_LOADER *shim_loader;
-    EFI_HANDLE loaded_kernel;
+    EFI_HANDLE loaded_kernel = NULL;
     EFI_SHIM_LOCK_PROTOCOL *shim_lock;
     EFI_STATUS status;
     bool verified = false;
@@ -1078,11 +1078,12 @@ static void __init efi_verify_kernel(EFI_HANDLE ImageHandle)
             verified = true;
 
         /*
-         * Always unload the image.  We only needed LoadImage() to perform
-         * verification anyway, and in the case of a failure there may still
-         * be cleanup needing to be performed.
+         * If the kernel was loaded, unload it. We only needed LoadImage() to
+         * perform verification anyway, and in the case of a failure there may
+         * still be cleanup needing to be performed.
          */
-        shim_loader->UnloadImage(loaded_kernel);
+        if ( !EFI_ERROR(status) || (status == EFI_SECURITY_VIOLATION) )
+            shim_loader->UnloadImage(loaded_kernel);
     }
 
     /* Otherwise, fall back to SHIM_LOCK. */

base-commit: 53859596c0d34dbca776ec1e47bac8dd90552530
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Oct 14 13:25:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Oct 2025 13:25:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142801.1476722 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8f1X-0000ko-OL; Tue, 14 Oct 2025 13:25:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142801.1476722; Tue, 14 Oct 2025 13:25:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8f1X-0000kh-LF; Tue, 14 Oct 2025 13:25:07 +0000
Received: by outflank-mailman (input) for mailman id 1142801;
 Tue, 14 Oct 2025 13:25:05 +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
 <SRS0=BBX0=4X=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1v8f1V-0000kb-Ko
 for xen-devel@lists.xenproject.org; Tue, 14 Oct 2025 13:25:05 +0000
Received: from AM0PR02CU008.outbound.protection.outlook.com
 (mail-westeuropeazlp170130006.outbound.protection.outlook.com
 [2a01:111:f403:c201::6])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 31d74130-a901-11f0-9d15-b5c5bf9af7f9;
 Tue, 14 Oct 2025 15:25:04 +0200 (CEST)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by DU0PR03MB9519.eurprd03.prod.outlook.com (2603:10a6:10:41e::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.12; Tue, 14 Oct
 2025 13:24:55 +0000
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593]) by AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593%3]) with mapi id 15.20.9203.009; Tue, 14 Oct 2025
 13:24:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 31d74130-a901-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=UfZr0oEqeTlVFIizmWwgwhbH271xWx55lm2FTVoz0mYtNNeyd2j/G+SieSOxRCumPFHAm4eEjWkPIp06K1UDCW4MVTrcw4n/2bknNkmjwvofipbgez8ug3tJ4/Ho+D4vFeQKq0EmHLKN+rNIAn5be47i+bDLhhk/F+RDrbClONLj8xvv2KF5qjAF4SczhJ31qzI6Tl60RXRUilZ0GkcMsET43LYvGAySO1z+ReltyYVNvMMTEcnOJk7zwCJghWLkoZYAkLBuxMwiP87EFHB+Ro7CDnWHT3HnEFLH+V4TydBa1zgevA5ruYxL6pc+FYUMozfKW87qtBcMqEQvd2qC2w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bRRiJq8izfULBxgWUNa6eRuBgidxp59NsROtV6AgWsM=;
 b=uT+0w4Ww4ve9Pd1G7n655y4nAqYdLdKHBids8z2OuOwvqaoYTEuJ4KXghJJXM2oj6esC/n8T1CCr576YNDQ7t+k4WjYALXBHSsg5VmcaCw47+gModB8zEpbdfHPhktdcAmgalx6V3tugt+BjJgqJDUQl4556pkPDdQ0lW1w93W+m7QUaMdZ4NA3IeMx2wQSzPXhJAx84FDObkNPU9h9G0qokA0+d6qslbZhgboIGFZzpLejOQIS44wybvCE4I+wkFa8dCLZBysk2HvBA8YendevICI6B3iXE5jtLUM2Tj1fIjoQAwxEqjfkX6/QUVxScIADN3/MqFeQIh8OQtFea0g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=bRRiJq8izfULBxgWUNa6eRuBgidxp59NsROtV6AgWsM=;
 b=b+Q2mS2Jq6jPUKtaE4/bUHpaLCtQyBVblv1GaVZHaq4aVRhSACYNZTCGuRDln4xrHIvioXcTu4FQ2Ls0RtI3EoopgZCz4T0xqyDiEEjqMc6nrMA8BZDHzjP12KsiIM1rCMJWOjjmxxIrgdf5gNkup7h0hhhEwCECnx6SvJFefQ4wwGqB/QyXon1pqmBpobI7JpF2v3bwpXIy2C2N/wjXuYPvK+HTdK9ns3QwPXlGph647GZOoyPVjNCmcwkSYAe5Tmi07I63qFiKMS16dsguva8c8dlZePfQQVFJOlpL2zjfuv3m2zgJcXg7Mc3tZFmLVxQo/cMKSbkYOoF1PUeINQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <e6972ea5-2139-4f4d-8d2c-2979fe2fad99@epam.com>
Date: Tue, 14 Oct 2025 16:24:53 +0300
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5] x86: make Viridian support optional
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>,
 Alejandro Vallejo <alejandro.garciavallejo@amd.com>
References: <20250930125215.1087214-1-grygorii_strashko@epam.com>
 <aOzt8gfxkdQXZ6O1@Mac.lan>
Content-Language: en-US
From: Grygorii Strashko <grygorii_strashko@epam.com>
In-Reply-To: <aOzt8gfxkdQXZ6O1@Mac.lan>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR5P281CA0053.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:f0::12) To AS2PR03MB8907.eurprd03.prod.outlook.com
 (2603:10a6:20b:5e4::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS2PR03MB8907:EE_|DU0PR03MB9519:EE_
X-MS-Office365-Filtering-Correlation-Id: e4c81994-aa72-415b-906e-08de0b25106e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?OXZIN01NTjdpT2tUL3ZWa1FKRmpwaUMxSDBCNWNMTXY3LzJpK053cFlNZ2dR?=
 =?utf-8?B?azUrUkNBOWl4Q2VOd0U3UDdrMFJRL0xzWDJmU2JOdjZ2dGYreC81V0lwTm9C?=
 =?utf-8?B?Y0JGeFZCcEM4WmQ4WEVLUzBGWGgzTGMzUEc0WmIyb3JnMG5kS2NOUUh0WkZD?=
 =?utf-8?B?QkZlek82OTJqbGo5MnEzQUVWUEg0QTN6c0FiR0dHTy81ZkRzeFhwemFLVjh1?=
 =?utf-8?B?MVZFR3VkNy8rVjNia3hKYXFoR0VxZCtha2UvZXB5eERKQ2s0UXo1emtUY2My?=
 =?utf-8?B?VnJLL3FVL1p0OHl3b0Jrckw0MG42bTM2N1g1YkhhV1k0cno0Z3ZaZTlReGp5?=
 =?utf-8?B?ZEhtTEozbUhsakhucTBWN2xLQndWdWJ0VmZGUkhGbHFmQ0dNZVY4ZHBaTzFF?=
 =?utf-8?B?MUZ1VTVWRVVIRlROZUF1bXpKc2JrV29EWU5NTUZPbTRueEpjSlBLU2RHVTlV?=
 =?utf-8?B?SEFOZzF4cHRuMjRMdndLVFJ4UllRQmVsT1BjdWVOdG1nVG52NGE2SnJGRzFu?=
 =?utf-8?B?ZnEzc0tJdFNFUDRUVFN6Vkh4eGs1ZzRpTTREbmZSRTBSd2dpb3ppSUpDMWRn?=
 =?utf-8?B?UHVLR2pvalp5S1RiY3dVcXBNamVPVkdoLzBKVWk1NHJLTTEralV2ME0rdUcz?=
 =?utf-8?B?dmhvS2dLaVZUUFFWclM3OXZpMTNKcDd2M0V6YmtlRkZhbU4rN2NNbGkrS2s4?=
 =?utf-8?B?azZhQzBJOW5uc1Y2QllDb2d1RjFaNUlPRW5waUVvWkNyRGE0MXpzdy9obFdm?=
 =?utf-8?B?T09KUm1mVVBOd3JyV0ZJQXhCMEJLSEk4OFVKMXdQZXhUT2dkU2xtL2poVzdF?=
 =?utf-8?B?NmRRSC9iMTdRbk9mTWF3eXhiMTM5aUZnZzJFcFdtKzdML0lBTURXUEdWN3Qv?=
 =?utf-8?B?T2Zra2dCa0NZL25VYXpHc3ZONkVjK3hTWnE3d2lkWEJNS2FRUXBaS3pneU5I?=
 =?utf-8?B?cExQalkwR2UxaGlOZ0RJZU9ZQURpbTZoNDBJNDZacnpOdFJXWFZJTWN2Tllo?=
 =?utf-8?B?TGFjcDFkcWtDc296d1MzbjJ1L1pHNlhVYW1uRlEzVkRENVpyYlQ3eFdzM1N1?=
 =?utf-8?B?NlY0S3lMcytYdFJzdjZFeUdTQ3htUE04d1dFVTZ6RlE5Tjh1NURtek94Qmkw?=
 =?utf-8?B?MWxEZytzMC9qakIwQitBdHlVRXEySXFIdXp5dzRMTUNzVisyMlNkdDFtMTRq?=
 =?utf-8?B?WVprczZuOGNybkc1eHNyOUhadGpkeU5LMjlvbnUyZFV4R2tTUEtiSGtETkZt?=
 =?utf-8?B?WlQ1UmhCREViSDNqVS96WVE3U3lqeXAxaTc5WE5Ed3Jja1NvV1ZxeWpSNVBV?=
 =?utf-8?B?SFg1ajAxTGVrQmdsSVhRV3BXVzkxTGxwa0Y2bnZXeTdMT0hwNGhNcHc2OHF2?=
 =?utf-8?B?VG5zUzNIc2J5L1NPbDZoQSs1ZnQ1UXFuY3Q4b25sN2ZpQ2NsSWZDME1SMUg0?=
 =?utf-8?B?MUMyNzNJS29lTnduU0xiblhaOVZJU3BXTE5TaXQzd0w0cVU5UUFaMFRoSVVY?=
 =?utf-8?B?bHJocUZZU0kzcmVwN0Y0cWpQSkk0KzJlVjVOeHFSTmkrN3NXc3ZTRnJaOXJJ?=
 =?utf-8?B?QTM3U0hoZlp6VDgzTGs4WW5vWVYvZ214dS9JTkVMemxOdmEydUJ4LzFUeTVM?=
 =?utf-8?B?UWR6RUZCS0UwOW5WZlUxTUUrYkQya3lhek8vY0o1MWFDZTZENUg2a202ZUF6?=
 =?utf-8?B?VnloRW9Zanoyam5CVzBaYTB6b2hLbzFUMFdJMUxXZmU2RU9Sb1QvUTljc3dW?=
 =?utf-8?B?a1lkSzU5UHRvNnFrbWNrNW5IeVh4byt6elpHTkdpY2dOZGlydHJ4OU1JdXpn?=
 =?utf-8?B?Mk42YTNrTHRHV1d5bXEyTFJaajFENUl5UDJKRFdSYjV2Uk1GQ2R4UFZlOWhM?=
 =?utf-8?B?YU1YMkpHalVtUGlOTTdIczc2MGNxK0JnSmNlaktHNXJqNzNROUpqUWJ6SlE0?=
 =?utf-8?Q?dTQaJLro8Iq4d0yMSlwgdbhBfVnp0c3y?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS2PR03MB8907.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dEhaOVpMSEJ2Zys4NTlTS1lycXlQNEZkOEhpenJXZ0ZJSXRETVFpc1BwdmtB?=
 =?utf-8?B?RXVFR3gvcEZOdkJrck16RVlhRXRDcllZU2VIMzVSNVRaTUNqN3dRVzhjQWJy?=
 =?utf-8?B?UkhvN3NnTWttZjBDWFFEVk9tQ1BCMnNTUjYreHJGS1p2bnZpbzRjcWF1NTAw?=
 =?utf-8?B?U2ZrNTkvTlFoWU5FVXhJUElUK1BINWs4UXJqUFh2T0R0bnZxYm1Oa01HTCtE?=
 =?utf-8?B?cWRaeFV6cG5lWVp4cFJHYmo4NGEwSk9FK3hwekRNRFh3TzFMODI0RjIyWDlV?=
 =?utf-8?B?QkthbEwyd2hEWmY5QXZiUTIwbk1TTlJ3azFVR3V5L003OGJBZHNhNjM4bVcx?=
 =?utf-8?B?eXRjSGNxU21vWVZWbXV6NzlDNW1Eb292dFRXQWFwN1hBd3lZV3dOK241ZllP?=
 =?utf-8?B?KzFCTnI4UTMwWUZQR3MxbFlNWkZKSU1tU2dKOG1ScHRhM1M3M0UzQmo3ZlBr?=
 =?utf-8?B?Tml6aUE0SlUreUpBQk81bC9RYld0SEhLc3lnRkJ6eFZjclZIZmFudEpLc2oy?=
 =?utf-8?B?Ymt4MnBZVmNSL2luYlBWS1dncnM5VEE2TkZOcUpTNHBIbkhuKys2VDlNOGVQ?=
 =?utf-8?B?SnlOcmU0VnJyRjkrYTFXWFZOWGNwODF3aTFJUlB4L3dvdmZtbFhQcWRTZFp3?=
 =?utf-8?B?OU9aSnpCb0RnbG9SSEl5NDRnUnVTb05BSyszaUFzSmlsKzZSMjUxVkZWVVY4?=
 =?utf-8?B?aXZZSzZLTWFTVU9VMm5qQzROVUYvdDhIOWpNQUZuV0trUkt0QStodEtSTVZS?=
 =?utf-8?B?SE9JVy8ydVFLaVVZZmZUdmdnQU4vaFJxRnJJOGJQa1V1WkVUdzhxTGI4ZU43?=
 =?utf-8?B?Tmp0cHVtMktCRE5ubDVsa25LeU1aMmtqaHVyZ0prWjk2RmloRS9rUlNoU3dY?=
 =?utf-8?B?N2NtaE5BNDFUaWIvWmwzR29pOXZ5U0lpWkI1MHZtSkltV1RFRFJ1dlB3aHU2?=
 =?utf-8?B?akJnV3lDaG83RFFIUEhNZTZ4TUcycDE2T0NMNitQaFBiQnRBR24rTkdMR2NE?=
 =?utf-8?B?VVR3SVFSNmpjVkdvKzdvSXNtUURCbll2dER5RXlNTzRxeXZuVWRjL1V4Uk5v?=
 =?utf-8?B?VXF1ZHZOV29nTllTWjViS1lHR2t3ME1GY29TOW1UaTlJODA0M2kvNTR6VmQr?=
 =?utf-8?B?RGtYbUJoVnB6N0RCV2dIcmF3QzBoZEVVekkrSC81MEJkSmx4VWJ2ZzZMRzBv?=
 =?utf-8?B?NUpyU3VlNFNNUHV5QmM1MVVoWEtwSk1henlXYzllalNLazhyQ0NLeEFaSTYx?=
 =?utf-8?B?WWEyZmdvR0N0OUtaK0ZrRGlwNDlCUXJ3WWJsTzEyNmlIQTk0cDFhRDRGTXlU?=
 =?utf-8?B?dDkvL0tDcUhwWG5hQWxNZ0xZaUo3Y2FGN3crM3NPR1ZVNHlabE5icUdjcC9Z?=
 =?utf-8?B?TEZSVm9QRDgrVDBUaW5ZaS94KzlKRXJETlF6WmthVGNBcFJidWVJV21pN1pD?=
 =?utf-8?B?dnNZa3I2Rnh1MVNPK1ZVdVJJMmRraTYxZHVuZUY0T3hmVndRWTRsMzlLUzJV?=
 =?utf-8?B?aEcyc0tFMlJNS1V5RnQ4WjUvOFpHYVdhaUlRc0NCZVN3WjdobWI4ZWc4bnRk?=
 =?utf-8?B?RHVnV0NBVTBYL0hKOWtvb2lqTXNjVWlvV2N5cXRPQnFENTZ3OTduQ0NDdzBZ?=
 =?utf-8?B?SGZUcm1BS01CUGZJNDRZSHRpbUFvUUY3SDkzSC9NUXFMYUgwdUtEbFduak1r?=
 =?utf-8?B?Z2VaK3U3YkhSZGViQ3ZheVFYQjh0dlZLZ054dVM1dHZ1RklrVXdESldSZlgw?=
 =?utf-8?B?dE42cTNRZnBJMjNRRC83U040VVNlWnN5NkNZTVFhWmtCejhLbDlZNnp6Zis1?=
 =?utf-8?B?Q3ZQSG0wWFdTVDk4bEhUblBNZmZhM0NoWjR0V1VGNXc2NFh2bjF0U0tQbUd2?=
 =?utf-8?B?Qk8ybGt0djFubUl1a1VOOVZybEU5RzJ5OENQa0pveENqYnRwRmNMTmNsalVz?=
 =?utf-8?B?WlJSUVNsazlZOVlmSUpXaVl1aWRXOU5Va1dWSEZCZDdBM2ZWMDJKUFFESkgw?=
 =?utf-8?B?YjlKS3hUbnFaVjU5V3dGNmtpc1BodFY4YVl3anBaeWs0ZExJb0VDbFQxUEQx?=
 =?utf-8?B?VWg5NHp5WHRLb2NLSFoycjY1WWwwQTd3a0drYkFQT1RRUmpTWCtvSEQ2cFAz?=
 =?utf-8?B?alZUVXJJNExaS3pwaTRnbUF6dFZIY2lPallhRWYxcTUzb1phdnhUNUhXYmd0?=
 =?utf-8?B?bXc9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e4c81994-aa72-415b-906e-08de0b25106e
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Oct 2025 13:24:55.1631
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 7hVtyOwZ+RSWEQVF2CicbXqgcPBsrDwLQ9Wa/07S2/CXrgY0RYxOrCM7HWUacd+T07fjZNM414q7ByEOr7T7q2SxyEGYaIC9YcbHFtqOUrE=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR03MB9519

Hi Roger, All,

Thank you for your comments.

On 13.10.25 15:17, Roger Pau MonnÃ© wrote:
> On Tue, Sep 30, 2025 at 12:52:16PM +0000, Grygorii Strashko wrote:
>> From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
>>
>> Add config option VIRIDIAN that covers viridian code within HVM.
>> Calls to viridian functions guarded by is_viridian_domain() and related macros.
>> Having this option may be beneficial by reducing code footprint for systems
>> that are not using Hyper-V.
>>
>> [grygorii_strashko@epam.com: fixed NULL pointer deref in
>> viridian_save_domain_ctxt()]
>> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
>> Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
>> ---
>> changes in v5:
>> - drop "depends on AMD_SVM || INTEL_VMX"
>> - return -EILSEQ from viridian_load_x() if !VIRIDIAN
>>
>> changes in v4:
>> - s/HVM_VIRIDIAN/VIRIDIAN
>> - add "depends on AMD_SVM || INTEL_VMX"
>> - add guard !is_viridian_vcpu() checks in viridian_load_vcpu_ctxt/viridian_load_domain_ctxt
>>
>> changes in v3:
>> - fixed NULL pointer deref in viridian_save_domain_ctxt() reported for v2,
>>    which caused v2 revert by commit 1fffcf10cd71 ("Revert "x86: make Viridian
>>    support optional"")
>>
>> v4: https://patchwork.kernel.org/project/xen-devel/patch/20250919163139.2821531-1-grygorii_strashko@epam.com/
>> v3: https://patchwork.kernel.org/project/xen-devel/patch/20250916134114.2214104-1-grygorii_strashko@epam.com/
>> v2: https://patchwork.kernel.org/project/xen-devel/patch/20250321092633.3982645-1-Sergiy_Kibrik@epam.com/
>>
>>   xen/arch/x86/hvm/Kconfig              | 10 ++++++++++
>>   xen/arch/x86/hvm/Makefile             |  2 +-
>>   xen/arch/x86/hvm/hvm.c                | 27 ++++++++++++++++++---------
>>   xen/arch/x86/hvm/viridian/viridian.c  | 14 ++++++++++----
>>   xen/arch/x86/hvm/vlapic.c             | 11 +++++++----
>>   xen/arch/x86/include/asm/hvm/domain.h |  2 ++
>>   xen/arch/x86/include/asm/hvm/hvm.h    |  3 ++-
>>   xen/arch/x86/include/asm/hvm/vcpu.h   |  2 ++
>>   8 files changed, 52 insertions(+), 19 deletions(-)
>>
>> diff --git a/xen/arch/x86/hvm/Kconfig b/xen/arch/x86/hvm/Kconfig
>> index 5cb9f2904255..928bb5662b89 100644
>> --- a/xen/arch/x86/hvm/Kconfig
>> +++ b/xen/arch/x86/hvm/Kconfig
>> @@ -62,6 +62,16 @@ config ALTP2M
>>   
>>   	  If unsure, stay with defaults.
>>   
>> +config VIRIDIAN
>> +	bool "Hyper-V enlightenments for guests" if EXPERT
>> +	default y
>> +	help
>> +	  Support optimizations for Hyper-V guests such as faster hypercalls,
>> +	  efficient timer and interrupt handling, and enhanced paravirtualized
>> +	  I/O. This is to improve performance and compatibility of Windows VMs.
> 
> I would leave "paravirtualized I/O" out of the text, as the hypervisor
> Viridian extensions don't provide anything related to I/O.  AFAICT
> that would be the vmbus stuff, which I'm not sure is supported when
> running as a Xen guest, and would require QEMU to emulate such
> interfaces?  IOW: the paravirtualized I/O part is out-of-scope for an
> hypervisor-only related config option:
> 
> 	  Support optimizations for Hyper-V guests such as hypercalls,
> 	  efficient timers and interrupt handling. This is to improve
> 	  performance and compatibility of Windows VMs.
> 
> Nit: I would also drop the "faster" prefix for hypercalls.  Without
> this option enabled there are no Hyper-V hypercalls available,
> neither fast nor slow.


If no objections I'll change it as you proposed (and thank you for this proposal):

"
	  Support optimizations for Hyper-V guests such as hypercalls,
  	  efficient timers and interrupt handling. This is to improve
  	  performance and compatibility of Windows VMs.
"

> 
> 
>> +
>> +	  If unsure, say Y.
>> +
>>   config MEM_PAGING
>>   	bool "Xen memory paging support (UNSUPPORTED)" if UNSUPPORTED
>>   	depends on VM_EVENT
>> diff --git a/xen/arch/x86/hvm/Makefile b/xen/arch/x86/hvm/Makefile
>> index 6ec2c8f2db56..736eb3f966e9 100644
>> --- a/xen/arch/x86/hvm/Makefile
>> +++ b/xen/arch/x86/hvm/Makefile
>> @@ -1,6 +1,6 @@
>>   obj-$(CONFIG_AMD_SVM) += svm/
>>   obj-$(CONFIG_INTEL_VMX) += vmx/
>> -obj-y += viridian/
>> +obj-$(CONFIG_VIRIDIAN) += viridian/
>>   
>>   obj-y += asid.o
>>   obj-y += dm.o
>> diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
>> index 23bd7f078a1d..95a80369b9b8 100644
>> --- a/xen/arch/x86/hvm/hvm.c
>> +++ b/xen/arch/x86/hvm/hvm.c
>> @@ -701,9 +701,12 @@ int hvm_domain_initialise(struct domain *d,
>>       if ( hvm_tsc_scaling_supported )
>>           d->arch.hvm.tsc_scaling_ratio = hvm_default_tsc_scaling_ratio;
>>   
>> -    rc = viridian_domain_init(d);
>> -    if ( rc )
>> -        goto fail2;
>> +    if ( is_viridian_domain(d) )
>> +    {
>> +        rc = viridian_domain_init(d);
>> +        if ( rc )
>> +            goto fail2;
>> +    }
> 
> Are you sure this works as expected?
> 
> The viridian_feature_mask() check is implemented using an HVM param,
> and hence can only be possibly set after the domain object is created.
> AFAICT is_viridian_domain(d) will unconditionally return false when
> called from domain_create() context, because the HVM params cannot
> possibly be set ahead of the domain being created.

You are right. Thanks for the this catch.

Taking above into account above, it seems Jan's proposal to convert below
viridian APIs into wrappers for VIRIDIAN=n case is right way to move forward:

int viridian_vcpu_init(struct vcpu *v);
int viridian_domain_init(struct domain *d);
void viridian_vcpu_deinit(struct vcpu *v);
void viridian_domain_deinit(struct domain *d);

Right?

[1] https://patchwork.kernel.org/comment/26595213/

> 
> If you want to do anything like this you will possibly need to
> introduce a new flag to XEN_DOMCTL_createdomain to signal whether the
> domain has Viridian extensions are enabled or not, so that it's know
> in the context where domain_create() gets called.

In my opinion, it might be good not to go so far within this submission.
- It's not intended  to change existing behavior of neither Xen nor toolstack
   for VIRIDIAN=y (default)
- just optout Viridian support when not needed.
   
> 
> Given that HyperV is available on arm64 also it should be a global
> flag, as opposed to a per-arch one in xen_arch_domainconfig IMO.
>>   
>>       rc = alternative_call(hvm_funcs.domain_initialise, d);
>>       if ( rc != 0 )
>> @@ -739,7 +742,8 @@ void hvm_domain_relinquish_resources(struct domain *d)
>>       if ( hvm_funcs.nhvm_domain_relinquish_resources )
>>           alternative_vcall(hvm_funcs.nhvm_domain_relinquish_resources, d);
>>   
>> -    viridian_domain_deinit(d);
>> +    if ( is_viridian_domain(d) )
>> +        viridian_domain_deinit(d);
>>   
>>       ioreq_server_destroy_all(d);
>>   
>> @@ -1643,9 +1647,12 @@ int hvm_vcpu_initialise(struct vcpu *v)
>>            && (rc = nestedhvm_vcpu_initialise(v)) < 0 ) /* teardown: nestedhvm_vcpu_destroy */
>>           goto fail5;
>>   
>> -    rc = viridian_vcpu_init(v);
>> -    if ( rc )
>> -        goto fail6;
>> +    if ( is_viridian_domain(d) )
>> +    {
>> +        rc = viridian_vcpu_init(v);
>> +        if ( rc )
>> +            goto fail6;
>> +    }
>>   
>>       rc = ioreq_server_add_vcpu_all(d, v);
>>       if ( rc != 0 )
>> @@ -1675,13 +1682,15 @@ int hvm_vcpu_initialise(struct vcpu *v)
>>    fail2:
>>       hvm_vcpu_cacheattr_destroy(v);
>>    fail1:
>> -    viridian_vcpu_deinit(v);
>> +    if ( is_viridian_domain(d) )
>> +        viridian_vcpu_deinit(v);
>>       return rc;
>>   }
>>   
>>   void hvm_vcpu_destroy(struct vcpu *v)
>>   {
>> -    viridian_vcpu_deinit(v);
>> +    if ( is_viridian_domain(v->domain) )
>> +        viridian_vcpu_deinit(v);
>>   
>>       ioreq_server_remove_vcpu_all(v->domain, v);
>>   
>> diff --git a/xen/arch/x86/hvm/viridian/viridian.c b/xen/arch/x86/hvm/viridian/viridian.c
>> index c0be24bd2210..1212cc418728 100644
>> --- a/xen/arch/x86/hvm/viridian/viridian.c
>> +++ b/xen/arch/x86/hvm/viridian/viridian.c
>> @@ -1116,14 +1116,14 @@ static int cf_check viridian_save_domain_ctxt(
>>   {
>>       const struct domain *d = v->domain;
>>       const struct viridian_domain *vd = d->arch.hvm.viridian;
>> -    struct hvm_viridian_domain_context ctxt = {
>> -        .hypercall_gpa = vd->hypercall_gpa.raw,
>> -        .guest_os_id = vd->guest_os_id.raw,
>> -    };
>> +    struct hvm_viridian_domain_context ctxt = {};
>>   
>>       if ( !is_viridian_domain(d) )
>>           return 0;
>>   
>> +    ctxt.hypercall_gpa = vd->hypercall_gpa.raw;
>> +    ctxt.guest_os_id = vd->guest_os_id.raw,
>> +
>>       viridian_time_save_domain_ctxt(d, &ctxt);
>>       viridian_synic_save_domain_ctxt(d, &ctxt);
>>   
>> @@ -1136,6 +1136,9 @@ static int cf_check viridian_load_domain_ctxt(
>>       struct viridian_domain *vd = d->arch.hvm.viridian;
>>       struct hvm_viridian_domain_context ctxt;
>>   
>> +    if ( !is_viridian_domain(d) )
>> +        return -EILSEQ;
>> +
>>       if ( hvm_load_entry_zeroextend(VIRIDIAN_DOMAIN, h, &ctxt) != 0 )
>>           return -EINVAL;
>>   
>> @@ -1172,6 +1175,9 @@ static int cf_check viridian_load_vcpu_ctxt(
>>       struct vcpu *v;
>>       struct hvm_viridian_vcpu_context ctxt;
>>   
>> +    if ( !is_viridian_domain(d) )
>> +        return -EILSEQ;
> 
> Nit: we usually use EILSEQ for unreachable conditions, but here it's a
> toolstack controlled input.  Maybe we could instead use ENODEV here?
> 
> As it's not really an illegal restore stream, but the selected guest
> configuration doesn't match what's then loaded.

I'm a "working bee" here and can change it once again her to -ENODEV here.
But It will be really cool if it will be agreed on Maintainers level somehow.

EILSEQ was used as per [2]

[2] https://patchwork.kernel.org/project/xen-devel/patch/20250919163139.2821531-1-grygorii_strashko@epam.com/#26579990

-- 
Best regards,
-grygorii



From xen-devel-bounces@lists.xenproject.org Tue Oct 14 13:29:31 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Oct 2025 13:29:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142815.1476731 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8f5l-0001SK-Cq; Tue, 14 Oct 2025 13:29:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142815.1476731; Tue, 14 Oct 2025 13:29:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8f5l-0001SD-A6; Tue, 14 Oct 2025 13:29:29 +0000
Received: by outflank-mailman (input) for mailman id 1142815;
 Tue, 14 Oct 2025 13:29:28 +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
 <SRS0=U7Gn=4X=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1v8f5k-0001S7-C7
 for xen-devel@lists.xenproject.org; Tue, 14 Oct 2025 13:29:28 +0000
Received: from fout-a5-smtp.messagingengine.com
 (fout-a5-smtp.messagingengine.com [103.168.172.148])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ccd149f7-a901-11f0-9d15-b5c5bf9af7f9;
 Tue, 14 Oct 2025 15:29:25 +0200 (CEST)
Received: from phl-compute-09.internal (phl-compute-09.internal [10.202.2.49])
 by mailfout.phl.internal (Postfix) with ESMTP id EA464EC0218;
 Tue, 14 Oct 2025 09:29:23 -0400 (EDT)
Received: from phl-mailfrontend-01 ([10.202.2.162])
 by phl-compute-09.internal (MEProxy); Tue, 14 Oct 2025 09:29:23 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 14 Oct 2025 09:29:21 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ccd149f7-a901-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:content-type:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:subject:subject:to:to; s=fm2; t=1760448563;
	 x=1760534963; bh=S0UisJWKx31O02UEdK/ERm0rmgx+IS7J3ZsinuNzZp8=; b=
	j5bygdnoNt9UzxpX46qhfzFOWzxyYjFQVeqDE4CqJ2pjx7HDlIONyDuj+VzKDBn8
	2CbJ5E+huA3wn8puFk6iAvvjj73SykwWDC6ePq6pZc1KWvaaBWJEDcF37KZzKpOh
	OSecNXaezxXeG4EQv5r2C+2aKilG0ee0ioMqnxRQyvc11z7dm0EulPbSq3UaEM+a
	KrGRP4Kh2WUb7DIBFMWlPRGmr0pB3O4LpE90D6+N/tcK5lNbykvljLAvRjSZuqty
	5EjSUOHdGKcitUdlmPMEK/euD3mc/OtK/ckjTGl86PPHshFeGILli6v3kbBZ7EmQ
	LwJBhJgQWlrpgT2Oboz7xA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:content-type:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:subject:subject:to
	:to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=
	1760448563; x=1760534963; bh=S0UisJWKx31O02UEdK/ERm0rmgx+IS7J3Zs
	inuNzZp8=; b=IdG/PPm+q4WfQDgCJPfJQOMBm2h/5l092VPkZI1iUXSFd4w4YJt
	A0+dathr3Z/rQ6TVrmRQTeX3fLcWXP3Waa8qOiDMcLfYsrMVFAGnLLn9UdGMqsyr
	sK5NYIgpCH3WEhsw2RwjTHzbRaeB9AAyXdyaiZyUc2tIYMQkud1/EOYe8+mrEUPt
	ZfPM3yWSN3dGeJJlYh6da4sYCvu/VjpCh0f4DjqzUTjAIo423zEg6zVPosonADeC
	TmifKoZPo+DI+T8rn/YRaUYA1cWlV3LCvPleCQiAS0+5LLTfhYMT5LC/h3p3bIbb
	1jxJ8qdCG0Ykh5+puc6KZm4Whp7TlAJCBLQ==
X-ME-Sender: <xms:M1DuaAswB6F5kd9x-1bksy_SUw_eafzQbsVT1jeArZmRco2oKw2OCQ>
    <xme:M1DuaEU9ivQ7J2uWkXjPyRseblznpg_Tmbc7P0kQbTWi-ZYdyE2r3R-4nOZL3qU8l
    bYIgvgdGQCd5-B0KaGeDaK2iL9ravlv_OHM81dXpBSRbd8_>
X-ME-Received: <xmr:M1DuaEGnlkYivcQbjGaFFv1q2Pdx3CbI6Q8Si1zXYNYLOcG_S21WuRvE3w>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdeggdduvddtieeiucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu
    rghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujf
    gurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgvkhcu
    ofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinhhvih
    hsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepgfduleet
    feevhfefheeiteeliefhjefhleduveetteekveettddvgeeuteefjedunecuvehluhhsth
    gvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghksehi
    nhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomhdpnhgspghrtghpthhtohephedpmh
    houggvpehsmhhtphhouhhtpdhrtghpthhtoheprghnughrvgifrdgtohhophgvrhefsegt
    ihhtrhhigidrtghomhdprhgtphhtthhopeigvghnqdguvghvvghlsehlihhsthhsrdigvg
    hnphhrohhjvggtthdrohhrghdprhgtphhtthhopehgvghrrghlugdrvghluggvrhdqvhgr
    shhssegtlhhouhgurdgtohhmpdhrtghpthhtohepughpshhmihhthhesrghpvghrthhush
    hsohhluhhtihhonhhsrdgtohhmpdhrtghpthhtohepohhlvghkshhiihdrkhhurhhotghh
    khhosehgmhgrihhlrdgtohhm
X-ME-Proxy: <xmx:M1DuaO3G9ntrE9MQF69mWXnlWXhtE04GMZpRyII2eYek9HYlNPmvMw>
    <xmx:M1DuaONdXZyuE0BXW5GyC3PuVilRGRghK2CeV-j9i6p3z-I5ekuoCQ>
    <xmx:M1DuaF5FW-HRlvbRGVhoUbqitiFFvbpjIY8pyi3hi1afh_IeQo5Psw>
    <xmx:M1DuaA1FEMFcMSr3XgTuAhAc6HrVkWS_gxit0El3ex8Lmvkct0O2Hw>
    <xmx:M1DuaFrAKrhIOxseWSa-IjN3JKHxPIVqhv6tMSxygP8IgTjKxKp1AYMA>
Feedback-ID: i1568416f:Fastmail
Date: Tue, 14 Oct 2025 15:29:20 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Gerald Elder-Vass <gerald.elder-vass@cloud.com>,
	"Daniel P . Smith" <dpsmith@apertussolutions.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.21 v2] efi: Protect against unnecessary image
 unloading
Message-ID: <aO5QMFtLpC819kbZ@mail-itl>
References: <20251014130648.2540082-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="37Ncevye+cVhnF8+"
Content-Disposition: inline
In-Reply-To: <20251014130648.2540082-1-andrew.cooper3@citrix.com>


--37Ncevye+cVhnF8+
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 14 Oct 2025 15:29:20 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Gerald Elder-Vass <gerald.elder-vass@cloud.com>,
	"Daniel P . Smith" <dpsmith@apertussolutions.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.21 v2] efi: Protect against unnecessary image
 unloading

On Tue, Oct 14, 2025 at 02:06:48PM +0100, Andrew Cooper wrote:
> From: Gerald Elder-Vass <gerald.elder-vass@cloud.com>
>=20
> Commit 59a1d6d3ea1e introduced Shim's LoadImage protocol and unloads the
> image after loading it (for verification purposes) regardless of the
> returned status. The protocol API implies this is the correct behaviour
> but we should add a check to protect against the unlikely case this
> frees any memory in use.
>=20
> Signed-off-by: Gerald Elder-Vass <gerald.elder-vass@cloud.com>
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab.c=
om>
with one comment below (I'm okay with the patch either way)

> ---
> CC: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab.com>
> CC: Daniel P. Smith <dpsmith@apertussolutions.com>
> CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>=20
> Gerald is OoO and time is tight on Xen 4.21, so I've picked the patch up.
>=20
> Oleksii: This addresses follow-on feedback for a new feature in Xen 4.21,=
 so
> really does want fixing before the release.  I forgot to put it on the
> tracking list, sorry.
>=20
> v2:
>  * Apply feedback as Marek wants it.
> ---
>  xen/common/efi/boot.c | 11 ++++++-----
>  1 file changed, 6 insertions(+), 5 deletions(-)
>=20
> diff --git a/xen/common/efi/boot.c b/xen/common/efi/boot.c
> index 5b84dbf26e5e..3a78e7571a5e 100644
> --- a/xen/common/efi/boot.c
> +++ b/xen/common/efi/boot.c
> @@ -1062,7 +1062,7 @@ static void __init efi_verify_kernel(EFI_HANDLE Ima=
geHandle)
>      static EFI_GUID __initdata shim_image_guid =3D SHIM_IMAGE_LOADER_GUI=
D;
>      static EFI_GUID __initdata shim_lock_guid =3D SHIM_LOCK_PROTOCOL_GUI=
D;
>      SHIM_IMAGE_LOADER *shim_loader;
> -    EFI_HANDLE loaded_kernel;
> +    EFI_HANDLE loaded_kernel =3D NULL;

While this isn't strictly necessary now (assuming correct firmware
implementation), it helps just a bit with buggy firmware (that would
leave loaded_kernel unset in case of EFI_SECURITY_VIOLATION, possibly
leaking some memory). It still assumes UnloadImage() verifies its
parameter in that case (spec suggests it should, but doesn't spell it
out explicitly).

>      EFI_SHIM_LOCK_PROTOCOL *shim_lock;
>      EFI_STATUS status;
>      bool verified =3D false;
> @@ -1078,11 +1078,12 @@ static void __init efi_verify_kernel(EFI_HANDLE I=
mageHandle)
>              verified =3D true;
> =20
>          /*
> -         * Always unload the image.  We only needed LoadImage() to perfo=
rm
> -         * verification anyway, and in the case of a failure there may s=
till
> -         * be cleanup needing to be performed.
> +         * If the kernel was loaded, unload it. We only needed LoadImage=
() to
> +         * perform verification anyway, and in the case of a failure the=
re may
> +         * still be cleanup needing to be performed.
>           */
> -        shim_loader->UnloadImage(loaded_kernel);
> +        if ( !EFI_ERROR(status) || (status =3D=3D EFI_SECURITY_VIOLATION=
) )

So, just in case of double-buggy firmware, check loaded_kernel here too?

> +            shim_loader->UnloadImage(loaded_kernel);
>      }
> =20
>      /* Otherwise, fall back to SHIM_LOCK. */
>=20
> base-commit: 53859596c0d34dbca776ec1e47bac8dd90552530
> --=20
> 2.39.5
>=20

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--37Ncevye+cVhnF8+
Content-Type: application/pgp-signature; name=signature.asc

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmjuUDAACgkQ24/THMrX
1ywAqgf/dr9m9Wwh/0asR1uc1cBeOWADFSTCo88Md2mzDMsq0/3UW/Nqrrlsjnw/
NB5QoALVuznRDwjhVn7Vw7GS3HGfdvqdWalqKINTzQ3/FOrFAYDudeuDdYzb8ny+
vN5PO4bigsUAMzNBfrvxR1IXI7SfwyS2bg4niJgvHluzGMOWYwRDe9R9xAx9RVzM
Rj4YGYmL/U1cP815pu71pMgX1qDgQWbKzO9HZwDPJCdTRH0ErFAI9r3gluj1Qocv
qTvZbR0khk6AKgC8eGI3p6/9RSvQ3+pyr1jL6TK57AbqOBmbAWHdj2DY6HR5hMRY
yyMInLzRjA50I/sScT3OGNLLMi63gw==
=6b4t
-----END PGP SIGNATURE-----

--37Ncevye+cVhnF8+--


From xen-devel-bounces@lists.xenproject.org Tue Oct 14 13:29:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Oct 2025 13:29:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142819.1476743 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8f62-0001mF-M1; Tue, 14 Oct 2025 13:29:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142819.1476743; Tue, 14 Oct 2025 13:29:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8f62-0001lJ-H2; Tue, 14 Oct 2025 13:29:46 +0000
Received: by outflank-mailman (input) for mailman id 1142819;
 Tue, 14 Oct 2025 13:29:46 +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
 <SRS0=QInk=4X=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1v8f62-0001S7-0C
 for xen-devel@lists.xenproject.org; Tue, 14 Oct 2025 13:29:46 +0000
Received: from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com
 [2a00:1450:4864:20::52c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d92f16e4-a901-11f0-9d15-b5c5bf9af7f9;
 Tue, 14 Oct 2025 15:29:45 +0200 (CEST)
Received: by mail-ed1-x52c.google.com with SMTP id
 4fb4d7f45d1cf-6399706fd3cso7917083a12.2
 for <xen-devel@lists.xenproject.org>; Tue, 14 Oct 2025 06:29:45 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-146-38.play-internet.pl.
 [109.243.146.38]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-b55d951cfe7sm1162940466b.73.2025.10.14.06.29.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 14 Oct 2025 06:29:44 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d92f16e4-a901-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760448585; x=1761053385; darn=lists.xenproject.org;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Zi+Lbw40+IKRRaPLAGKsWkBnluseHyKM0vAd4i2nrCo=;
        b=lB14P8dLrI/jIE7EuXQBb217Wz2xnyKYZFPdEIyU/YFYuIbPAaF4wID/vEWw3+qaS9
         81tlP5uK8rw5da2f+cZjtwQvGWO2jQVtdFGzKgFW3DDqFDkYLpaZ2SK7Lby4yVg2zsMc
         spmR1RHo71PwykcyEfNshNOUgW/sG7LZC3NohiospvjYhPv71rv+/DWS6XT42TvQtTTq
         ub+ObJQQgkrbt4zDM9ei9VeNHORsgmP04EXTqXOf8w7HfSBswVm4taxbCDJvE9evrqpB
         stEkxcuZ7WHsYVzhOLXms9Kk1IqP9TeEBvxteCr8/VqVpa7Xn86Os2UEmYCwMTOWspGQ
         o7dw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760448585; x=1761053385;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=Zi+Lbw40+IKRRaPLAGKsWkBnluseHyKM0vAd4i2nrCo=;
        b=ZPAzUBxBVX8OtL/m3dWDrFTF2t4Gs4RMztatUv2RyIoZfE+g6Pp4Uzzth6B3p+qlUa
         MRQY4UaN2YPPPjWsfMJmPnp29mktSksP3ky5NWzxd83kPaGgmvxB4O4uSLisTP9ljSxM
         EcRTyhZldUycKy6Ij8V0sByJGsfKZjifsemOS5rUHet8zGTfVcffpqxsydavsF1coC6o
         w5iNmqv2EGtSLc5Gb8W/Q58/CaDo3cbZGNCH5apiefA3cHBUuTGfRgp4YHveLWXjaxXP
         ipraR9OYvA5Xby18vyizOFCxcu2pMHbKwHkiVdoLUw2b2A2fFsZpwHoINNwVR41JqdDB
         DCfw==
X-Forwarded-Encrypted: i=1; AJvYcCU0AyX9XeTNRnWjzJejXTNAfF//r5aBXGcv//zLojvdtZXtULDA/pCxaG+5dysbmYP9lkw0QOOejyE=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz6VBrrfxygEhs1YasvE4+TRvr9Tp3QXRBQMcp2jv4s13lkrqaB
	75lc7eFN88uUGYTscQlG3lTZaGIaLo3rf56QGR9Ao9LOgO1pH9CPXPdv
X-Gm-Gg: ASbGncvsldPT0DC3GPk2gsAob1JH8qOGtsb4aM+HRzmWUaeGtJ+Usg3MMQEsDe0G/0d
	3XQRKT7h3ASM42hjQ8fC9LBOt+fvfQICT+RHI3B84v01ESIFqT86o+k2t9YpQQ9ys+ZpoGHHVqk
	Lx8IZM5YD5qNIodDn6AiYQaOrBiDLOO+SdfrrLPTy3cCpci1GGuj/kXaobQ0SfCTtkie/Fmw/rk
	40JeJFoT7/fxFN4HJuXIFqHkAksNxOQrpC9GehSzP3iR/jDQZKwjezmLCeB2HGwU9afS8Vq7925
	njER0FHXhkYJ/tEghSmhwBmy2yyoRJD39ON8cpSMMXOIsZVFoiUe5EuzXKMpf2ZxksQq45Gf/0m
	tosmUW0KG0g5X3PtPy3p15k2DFoy/XhUL+w390PyPdXKsmzIG9Mhl3XfX+3St8EogBVx1rsF22v
	JQvwykP99R+1gkIxvL5B7+Ww==
X-Google-Smtp-Source: AGHT+IEI0TCUWnWZJJcbUmTaLwZY2dM9x74qMGq//AzqQ+mG5UGFIOdzW/x6t7cg73Q/XTY7JBmuEg==
X-Received: by 2002:a17:907:d1d:b0:b41:873d:e226 with SMTP id a640c23a62f3a-b50aa48cabdmr2279861166b.1.1760448584415;
        Tue, 14 Oct 2025 06:29:44 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------Sx1080vPSXFABen7ZFCZzeIC"
Message-ID: <942c8e1d-ea1e-4573-972d-d64144da98c0@gmail.com>
Date: Tue, 14 Oct 2025 15:29:43 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] x86/apic: Avoid infinite loop in
 io_apic_level_ack_pending()
To: Jason Andryuk <jason.andryuk@amd.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <20251013211106.8720-1-jason.andryuk@amd.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20251013211106.8720-1-jason.andryuk@amd.com>

This is a multi-part message in MIME format.
--------------Sx1080vPSXFABen7ZFCZzeIC
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit


On 10/13/25 11:11 PM, Jason Andryuk wrote:
> io_apic_level_ack_pending() will end up in an infinite loop if
> entry->pin == -1.  entry does not change, so it will keep reading -1.
>
> Convert to a proper for loop so that continue works.  Add a new helper,
> next_entry(), to handle advancing to the next irq_pin_list entry.
>
> Fixes: f821102450a1 ("x86: IRQ Migration logic enhancement.")
> Signed-off-by: Jason Andryuk<jason.andryuk@amd.com>

Release-Acked-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>

Thanks.

~ Oleksii

> ---
> v2:
> continue (not break) for pin == -1.
>
> I added the next_entry() helper since putting the expression in the for
> loop is a little cluttered.  The helper can also be re-used for other
> instances within the file.
> ---
>   xen/arch/x86/io_apic.c | 14 +++++++++-----
>   1 file changed, 9 insertions(+), 5 deletions(-)
>
> diff --git a/xen/arch/x86/io_apic.c b/xen/arch/x86/io_apic.c
> index c384f10c1b..7b58345c96 100644
> --- a/xen/arch/x86/io_apic.c
> +++ b/xen/arch/x86/io_apic.c
> @@ -1586,14 +1586,21 @@ static int __init cf_check setup_ioapic_ack(const char *s)
>   }
>   custom_param("ioapic_ack", setup_ioapic_ack);
>   
> +static struct irq_pin_list *next_entry(struct irq_pin_list *entry)
> +{
> +    if ( !entry->next )
> +        return NULL;
> +
> +    return irq_2_pin + entry->next;
> +}
> +
>   static bool io_apic_level_ack_pending(unsigned int irq)
>   {
>       struct irq_pin_list *entry;
>       unsigned long flags;
>   
>       spin_lock_irqsave(&ioapic_lock, flags);
> -    entry = &irq_2_pin[irq];
> -    for (;;) {
> +    for ( entry = &irq_2_pin[irq]; entry ; entry = next_entry(entry) ) {
>           unsigned int reg;
>           int pin;
>   
> @@ -1609,9 +1616,6 @@ static bool io_apic_level_ack_pending(unsigned int irq)
>               spin_unlock_irqrestore(&ioapic_lock, flags);
>               return 1;
>           }
> -        if (!entry->next)
> -            break;
> -        entry = irq_2_pin + entry->next;
>       }
>       spin_unlock_irqrestore(&ioapic_lock, flags);
>   
--------------Sx1080vPSXFABen7ZFCZzeIC
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 10/13/25 11:11 PM, Jason Andryuk
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:20251013211106.8720-1-jason.andryuk@amd.com">
      <pre wrap="" class="moz-quote-pre">io_apic_level_ack_pending() will end up in an infinite loop if
entry-&gt;pin == -1.  entry does not change, so it will keep reading -1.

Convert to a proper for loop so that continue works.  Add a new helper,
next_entry(), to handle advancing to the next irq_pin_list entry.

Fixes: f821102450a1 ("x86: IRQ Migration logic enhancement.")
Signed-off-by: Jason Andryuk <a class="moz-txt-link-rfc2396E" href="mailto:jason.andryuk@amd.com">&lt;jason.andryuk@amd.com&gt;</a></pre>
    </blockquote>
    <pre>Release-Acked-by: Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a>

Thanks.

~ Oleksii</pre>
    <blockquote type="cite"
      cite="mid:20251013211106.8720-1-jason.andryuk@amd.com">
      <pre wrap="" class="moz-quote-pre">
---
v2:
continue (not break) for pin == -1.

I added the next_entry() helper since putting the expression in the for
loop is a little cluttered.  The helper can also be re-used for other
instances within the file.
---
 xen/arch/x86/io_apic.c | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/xen/arch/x86/io_apic.c b/xen/arch/x86/io_apic.c
index c384f10c1b..7b58345c96 100644
--- a/xen/arch/x86/io_apic.c
+++ b/xen/arch/x86/io_apic.c
@@ -1586,14 +1586,21 @@ static int __init cf_check setup_ioapic_ack(const char *s)
 }
 custom_param("ioapic_ack", setup_ioapic_ack);
 
+static struct irq_pin_list *next_entry(struct irq_pin_list *entry)
+{
+    if ( !entry-&gt;next )
+        return NULL;
+
+    return irq_2_pin + entry-&gt;next;
+}
+
 static bool io_apic_level_ack_pending(unsigned int irq)
 {
     struct irq_pin_list *entry;
     unsigned long flags;
 
     spin_lock_irqsave(&amp;ioapic_lock, flags);
-    entry = &amp;irq_2_pin[irq];
-    for (;;) {
+    for ( entry = &amp;irq_2_pin[irq]; entry ; entry = next_entry(entry) ) {
         unsigned int reg;
         int pin;
 
@@ -1609,9 +1616,6 @@ static bool io_apic_level_ack_pending(unsigned int irq)
             spin_unlock_irqrestore(&amp;ioapic_lock, flags);
             return 1;
         }
-        if (!entry-&gt;next)
-            break;
-        entry = irq_2_pin + entry-&gt;next;
     }
     spin_unlock_irqrestore(&amp;ioapic_lock, flags);
 
</pre>
    </blockquote>
  </body>
</html>

--------------Sx1080vPSXFABen7ZFCZzeIC--


From xen-devel-bounces@lists.xenproject.org Tue Oct 14 13:38:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Oct 2025 13:38:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142835.1476751 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8fEp-0003cL-EC; Tue, 14 Oct 2025 13:38:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142835.1476751; Tue, 14 Oct 2025 13:38:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8fEp-0003cE-BL; Tue, 14 Oct 2025 13:38:51 +0000
Received: by outflank-mailman (input) for mailman id 1142835;
 Tue, 14 Oct 2025 13:38:50 +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
 <SRS0=QInk=4X=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1v8fEo-0003c8-5d
 for xen-devel@lists.xenproject.org; Tue, 14 Oct 2025 13:38:50 +0000
Received: from mail-ed1-x52d.google.com (mail-ed1-x52d.google.com
 [2a00:1450:4864:20::52d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1cb34959-a903-11f0-980a-7dc792cee155;
 Tue, 14 Oct 2025 15:38:48 +0200 (CEST)
Received: by mail-ed1-x52d.google.com with SMTP id
 4fb4d7f45d1cf-634a3327ff7so10948870a12.1
 for <xen-devel@lists.xenproject.org>; Tue, 14 Oct 2025 06:38:48 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-146-38.play-internet.pl.
 [109.243.146.38]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-63a5c132567sm11038727a12.33.2025.10.14.06.38.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 14 Oct 2025 06:38:46 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1cb34959-a903-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760449127; x=1761053927; darn=lists.xenproject.org;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=0Y0jS3fOipAk7jYytXFj1ZncUIo2WEpv5Or+XP4+Mjk=;
        b=kyjJAlRhfHhCzi2WwsKoZ1Qe8O9xMIjMBjOGKE/o0aObqf728hhuPvIU+BTWJY/67/
         cHaAx3xqPkV9etG+ZGJEmimW4+GyEZ2VwwDMW4DzUbYY0TWBQjkx2dV8+uXAkNgT5HXY
         2dtDOZtuc8PSyVLtkuU5II+YreXCQKJV3B9Mzh0pe+QL7fkrXQx6J+HRST2np4BP+bie
         WDwKDprMZcxiZZEg+cor9HB3wO5Ln+qgW6paUhrO2+KtglsRiJoj4JL7KLTI9PFl3cQk
         65PxDqC0FGva8/L3eNl5wgvW0L6MzMt4jj28ZFVphxAC9GLlvrAon/UbUhqtiyd0C1Ri
         R2WA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760449127; x=1761053927;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=0Y0jS3fOipAk7jYytXFj1ZncUIo2WEpv5Or+XP4+Mjk=;
        b=fNGSb/aBhwXLdBTGVZq5Rc+pYboHA8XvP+/xKt0MofRjOYd0ujhM+ZGdfPb+3Bu8Gq
         TFFeUHipg3deACSA6OIQtQuPqtJJNfFTTFbom4qasiUqyMjwCrMcyUTaxeWVucrd1pta
         hUz3Pf3DauOSZ8L86rd9pK/1cVa0fwLStFGyId/4GSD2LOhdOZi4ZhCsxlUxm1hHxsgl
         TkD1dSS0Yxk68Fj+UmI5M4wYfX8N1nG/+01afw4ezE6zAL7G2b+RNKViSk/q582i3C7d
         zAqHU+oPHJfDWLVZz/4eGxjAgJ4Nip/b3E3HOSh5Yj3TMkGrQgwSUqJV0bT8EhiJlvQz
         oUGg==
X-Forwarded-Encrypted: i=1; AJvYcCUYZZ/uIw/fPtpJWcwcMIsf8L7na+l63kAk8I2uCkzWHIXmdTx4+HzVyRypwCqVM/XsDQr2ZFggPAI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyLxxb4811El9bLwqwLoH8eyBUzmSlB+cC4jblFkL12fCSD5qEL
	D2EMoHwwMytSiKzJHYfacJGhF0F3VRgiqQB3/Ns5B8GnF4f6ZARbjEHI
X-Gm-Gg: ASbGncsxZ2T4dD028dT9ns0qvvygfz+SCzH33HNaWNy2ctVVFdi8zMUkKuxpYUeGBVq
	6zIHQO3wh+3UBzxbc9TnC0v+ySmMqWKBQu6PsMUhvpRpavOdPufS3GuqT5MAcVuiij06FeYr645
	5AwrEtGoLsLbJSCXSxplWVFZ9SvMMg8cNqLfCx+7xQoQ4PwW3KPrkrfOZ4OE0LLOFxZqjXoJNkG
	kGg2t1G8voLRBRCuxe5Zv1AcoUjRLASmJ6IsYOXT6pKjDWEjNUFoDO1hblZ9tu4Ndf8UZFh2mYS
	TbiegR549qvP8vIDEu/EiOZyTw/m1c2HK5eYp8CIWeEwuxw2Xyz1b3+c5O4hEJbDrUZc195FpCC
	aCkLH6jzEPGAtEcDVseQW3A89L3C73CJSORFxCCDQ09Od607qJAIAsw5Ag/LoGf8uiQ/Mu2Igx0
	cWzzG5GEHRGDFzKqy9zwPiPM+bsd+LqYsR
X-Google-Smtp-Source: AGHT+IFXwS6BMXlZCktY1iu5Ku0wK7/ANbuchss5087kndEGLUdIEZB0mYdwF2Sa6W5p/eT2qOV1ig==
X-Received: by 2002:a05:6402:210d:b0:639:e712:cd6c with SMTP id 4fb4d7f45d1cf-639e712dc48mr21059463a12.13.1760449127234;
        Tue, 14 Oct 2025 06:38:47 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------ztgs7TJdPuMEJZgxIPP2n6eB"
Message-ID: <0ec2d452-0ea0-48e9-ad40-baa7f5930b27@gmail.com>
Date: Tue, 14 Oct 2025 15:38:46 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21 v2] efi: Protect against unnecessary image
 unloading
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Gerald Elder-Vass <gerald.elder-vass@cloud.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>,
 "Daniel P . Smith" <dpsmith@apertussolutions.com>
References: <20251014130648.2540082-1-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20251014130648.2540082-1-andrew.cooper3@citrix.com>

This is a multi-part message in MIME format.
--------------ztgs7TJdPuMEJZgxIPP2n6eB
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit


On 10/14/25 3:06 PM, Andrew Cooper wrote:
> From: Gerald Elder-Vass<gerald.elder-vass@cloud.com>
>
> Commit 59a1d6d3ea1e introduced Shim's LoadImage protocol and unloads the
> image after loading it (for verification purposes) regardless of the
> returned status. The protocol API implies this is the correct behaviour
> but we should add a check to protect against the unlikely case this
> frees any memory in use.
>
> Signed-off-by: Gerald Elder-Vass<gerald.elder-vass@cloud.com>
> Signed-off-by: Andrew Cooper<andrew.cooper3@citrix.com>
> ---
> CC: Marek Marczykowski-GÃ³recki<marmarek@invisiblethingslab.com>
> CC: Daniel P. Smith<dpsmith@apertussolutions.com>
> CC: Oleksii Kurochko<oleksii.kurochko@gmail.com>
>
> Gerald is OoO and time is tight on Xen 4.21, so I've picked the patch up.
>
> Oleksii: This addresses follow-on feedback for a new feature in Xen 4.21, so
> really does want fixing before the release.  I forgot to put it on the
> tracking list, sorry.

It seems critical enough as it could lead to undef. behaviour/boot-time crashes/etc.
So we really want to have it in 4.21:
  Release-Acked-By: Oleksii Kurochko<oleksii.kurochko@gmail.com>

Thanks.

~ Oleksii

>
> v2:
>   * Apply feedback as Marek wants it.
> ---
>   xen/common/efi/boot.c | 11 ++++++-----
>   1 file changed, 6 insertions(+), 5 deletions(-)
>
> diff --git a/xen/common/efi/boot.c b/xen/common/efi/boot.c
> index 5b84dbf26e5e..3a78e7571a5e 100644
> --- a/xen/common/efi/boot.c
> +++ b/xen/common/efi/boot.c
> @@ -1062,7 +1062,7 @@ static void __init efi_verify_kernel(EFI_HANDLE ImageHandle)
>       static EFI_GUID __initdata shim_image_guid = SHIM_IMAGE_LOADER_GUID;
>       static EFI_GUID __initdata shim_lock_guid = SHIM_LOCK_PROTOCOL_GUID;
>       SHIM_IMAGE_LOADER *shim_loader;
> -    EFI_HANDLE loaded_kernel;
> +    EFI_HANDLE loaded_kernel = NULL;
>       EFI_SHIM_LOCK_PROTOCOL *shim_lock;
>       EFI_STATUS status;
>       bool verified = false;
> @@ -1078,11 +1078,12 @@ static void __init efi_verify_kernel(EFI_HANDLE ImageHandle)
>               verified = true;
>   
>           /*
> -         * Always unload the image.  We only needed LoadImage() to perform
> -         * verification anyway, and in the case of a failure there may still
> -         * be cleanup needing to be performed.
> +         * If the kernel was loaded, unload it. We only needed LoadImage() to
> +         * perform verification anyway, and in the case of a failure there may
> +         * still be cleanup needing to be performed.
>            */
> -        shim_loader->UnloadImage(loaded_kernel);
> +        if ( !EFI_ERROR(status) || (status == EFI_SECURITY_VIOLATION) )
> +            shim_loader->UnloadImage(loaded_kernel);
>       }
>   
>       /* Otherwise, fall back to SHIM_LOCK. */
>
> base-commit: 53859596c0d34dbca776ec1e47bac8dd90552530
--------------ztgs7TJdPuMEJZgxIPP2n6eB
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 10/14/25 3:06 PM, Andrew Cooper
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:20251014130648.2540082-1-andrew.cooper3@citrix.com">
      <pre wrap="" class="moz-quote-pre">From: Gerald Elder-Vass <a class="moz-txt-link-rfc2396E" href="mailto:gerald.elder-vass@cloud.com">&lt;gerald.elder-vass@cloud.com&gt;</a>

Commit 59a1d6d3ea1e introduced Shim's LoadImage protocol and unloads the
image after loading it (for verification purposes) regardless of the
returned status. The protocol API implies this is the correct behaviour
but we should add a check to protect against the unlikely case this
frees any memory in use.

Signed-off-by: Gerald Elder-Vass <a class="moz-txt-link-rfc2396E" href="mailto:gerald.elder-vass@cloud.com">&lt;gerald.elder-vass@cloud.com&gt;</a>
Signed-off-by: Andrew Cooper <a class="moz-txt-link-rfc2396E" href="mailto:andrew.cooper3@citrix.com">&lt;andrew.cooper3@citrix.com&gt;</a>
---
CC: Marek Marczykowski-GÃ³recki <a class="moz-txt-link-rfc2396E" href="mailto:marmarek@invisiblethingslab.com">&lt;marmarek@invisiblethingslab.com&gt;</a>
CC: Daniel P. Smith <a class="moz-txt-link-rfc2396E" href="mailto:dpsmith@apertussolutions.com">&lt;dpsmith@apertussolutions.com&gt;</a>
CC: Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a>

Gerald is OoO and time is tight on Xen 4.21, so I've picked the patch up.

Oleksii: This addresses follow-on feedback for a new feature in Xen 4.21, so
really does want fixing before the release.  I forgot to put it on the
tracking list, sorry.</pre>
    </blockquote>
    <pre>It seems critical enough as it could lead to undef. behaviour/boot-time crashes/etc.
So we really want to have it in 4.21:
 Release-Acked-By: Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a>

Thanks.

~ Oleksii</pre>
    <blockquote type="cite"
      cite="mid:20251014130648.2540082-1-andrew.cooper3@citrix.com">
      <pre wrap="" class="moz-quote-pre">

v2:
 * Apply feedback as Marek wants it.
---
 xen/common/efi/boot.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/xen/common/efi/boot.c b/xen/common/efi/boot.c
index 5b84dbf26e5e..3a78e7571a5e 100644
--- a/xen/common/efi/boot.c
+++ b/xen/common/efi/boot.c
@@ -1062,7 +1062,7 @@ static void __init efi_verify_kernel(EFI_HANDLE ImageHandle)
     static EFI_GUID __initdata shim_image_guid = SHIM_IMAGE_LOADER_GUID;
     static EFI_GUID __initdata shim_lock_guid = SHIM_LOCK_PROTOCOL_GUID;
     SHIM_IMAGE_LOADER *shim_loader;
-    EFI_HANDLE loaded_kernel;
+    EFI_HANDLE loaded_kernel = NULL;
     EFI_SHIM_LOCK_PROTOCOL *shim_lock;
     EFI_STATUS status;
     bool verified = false;
@@ -1078,11 +1078,12 @@ static void __init efi_verify_kernel(EFI_HANDLE ImageHandle)
             verified = true;
 
         /*
-         * Always unload the image.  We only needed LoadImage() to perform
-         * verification anyway, and in the case of a failure there may still
-         * be cleanup needing to be performed.
+         * If the kernel was loaded, unload it. We only needed LoadImage() to
+         * perform verification anyway, and in the case of a failure there may
+         * still be cleanup needing to be performed.
          */
-        shim_loader-&gt;UnloadImage(loaded_kernel);
+        if ( !EFI_ERROR(status) || (status == EFI_SECURITY_VIOLATION) )
+            shim_loader-&gt;UnloadImage(loaded_kernel);
     }
 
     /* Otherwise, fall back to SHIM_LOCK. */

base-commit: 53859596c0d34dbca776ec1e47bac8dd90552530
</pre>
    </blockquote>
  </body>
</html>

--------------ztgs7TJdPuMEJZgxIPP2n6eB--


From xen-devel-bounces@lists.xenproject.org Tue Oct 14 14:12:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Oct 2025 14:12:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142851.1476762 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8fl9-0000F7-0w; Tue, 14 Oct 2025 14:12:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142851.1476762; Tue, 14 Oct 2025 14:12:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8fl8-0000F0-UW; Tue, 14 Oct 2025 14:12:14 +0000
Received: by outflank-mailman (input) for mailman id 1142851;
 Tue, 14 Oct 2025 14:12:13 +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
 <SRS0=BBX0=4X=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1v8fl7-0000Eu-6J
 for xen-devel@lists.xenproject.org; Tue, 14 Oct 2025 14:12:13 +0000
Received: from GVXPR05CU001.outbound.protection.outlook.com
 (mail-swedencentralazlp170130007.outbound.protection.outlook.com
 [2a01:111:f403:c202::7])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c4898c57-a907-11f0-980a-7dc792cee155;
 Tue, 14 Oct 2025 16:12:07 +0200 (CEST)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by VI1PR03MB10064.eurprd03.prod.outlook.com (2603:10a6:800:1cb::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.12; Tue, 14 Oct
 2025 14:12:04 +0000
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593]) by AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593%3]) with mapi id 15.20.9203.009; Tue, 14 Oct 2025
 14:12:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c4898c57-a907-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=SkbO89gnUgUV8HYeZmrDe+jaQldmvoTRNZsMedfH1ZNKkL/MHqSHDZKk3bvQbyAAuDSxvszU1qCMByrRTgMMIVNFgmKwPaBLwq4oYTKIzaVmMl1mcTbYav1B/3HkGhi5F+blDQ71U0Ogre8w+6XOqdchhK7kov7yohuXpreg432nTJBhxbD09N9VszerfwKQgPrtyFO8EcdZo3SouxlHRswDTgPe/agYL5diwvzm10BNZ+ZI/g8zfeUyijLCD8S/GESyvcczLmBCSt05Glak79l8WOWPlpuZTKL3xSNKfBmknfLWyqkCPGiOanPi+h0iMeN4SY+CLTyTmAanBYiBhw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fAT6IUttfd7V6Wbp2R8ttI0tk79mm5RZ9yChfc42N5Q=;
 b=pFFMdqjMWLnPENKrSVjPK87xqRRyUO1SKy4kqkiqq1W8VaS2Xg9v123JfyVmBo4J9Ed3yqQ+aaRDt53wjDTYHgbI1We4OOiLTEKMNVHjgg0jh3m1iY+BkM2uV29jps00RseJKohJRH/+HbKpMF1m2rbqftEv114mVHW+SQAZSkFo3NpqyBlJDZSBdBP6if7Fi2VcZ/WiDuoRNZysKzlNoHVJ/6kiBgEf3DaaoD9YdVJf2/YY9UNU98TL7djv8EAeXm6j7IZMHwY07d3WRs3dkZtLupKHHaCKb+Z7YMe6HYvwLZfoXcI3kg6ksOWsP539b5TY2XvZISbK7fyW7iI6tw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fAT6IUttfd7V6Wbp2R8ttI0tk79mm5RZ9yChfc42N5Q=;
 b=eL6lE9JO2XA0CSost7co2zGPMd/MWNtzzD7JHU0tS+RWrrFAkP+NlJfiOeG8NkXIXbkN9RyKbUtqWWm3VpYcTI4DwsKyMan4pn9Q3jmiAMIJIo9x3LFbMaqCM8erQ6aDbCiMFQJ/XfzVUG7rLCmmEXpSf5gPVfOHUEiesBEUSQI7mnOjQQsutjrlj1rAS3AURihZBW+Zqx5cqaqUqTUmvB9uFaiMmjCToJZFO0uC7f8XcMzqBdyC/MDw6qQv34qc9SihYlFIjDjFNcW52d20+01/ngLZ1ktShvJbwP2yHGqCCcUxBBKV6d23u7Q+XtKDZxHstlOpPvHROEZE8Be68g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <2c9297b8-d4a7-4391-8e39-82a2c0245e0c@epam.com>
Date: Tue, 14 Oct 2025 17:12:03 +0300
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21??? 3/3] x86/vLAPIC: properly support the CMCI LVT
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Andrew Cooper <amc96@srcf.net>, Oleksii Kurochko
 <oleksii.kurochko@gmail.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <265d5053-af61-42cb-a3b9-ef60df39c21b@suse.com>
 <61a05ec1-aca7-4c3f-be6f-1bb053b2cd00@suse.com>
 <4477b803-4941-4032-be83-85cc126ceacb@epam.com>
 <8161d5b7-cc0e-41c3-8664-620988bc399e@suse.com>
Content-Language: en-US
From: Grygorii Strashko <grygorii_strashko@epam.com>
In-Reply-To: <8161d5b7-cc0e-41c3-8664-620988bc399e@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0439.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:c6::20) To AS2PR03MB8907.eurprd03.prod.outlook.com
 (2603:10a6:20b:5e4::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS2PR03MB8907:EE_|VI1PR03MB10064:EE_
X-MS-Office365-Filtering-Correlation-Id: ce01aaba-30bc-4efd-5963-08de0b2ba70d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024|3122999009;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?QXQvZWpwWkZWYVhiUWJWeWZackF5WE5sOG93cG56MnV4UzgzSzAyaGpGVkQr?=
 =?utf-8?B?YWE1czArSDMrNEx1T0s0bS9TdDZuNzRydlZXU1BzNm1QaHpvTEVQNmZzUml6?=
 =?utf-8?B?NmFLTVJPTmlIVHk4UGd0TFIyTjZoVldwWXZWckRzOVVCbmxYbXJOY25DeTdP?=
 =?utf-8?B?d0tWU1dEYzE2bGdUMjdET2h0RTNMelc5MHY5T3dKYm9vV3dxUFczMEt3aldq?=
 =?utf-8?B?SVJKVklXbHRUM2F1TDRGQWtWZTdmWFJMYU1lL0t2eS9sODN0RVhLOUp6Zmlv?=
 =?utf-8?B?UmJlbDNOWFQwUk93RUtsQS9qS0xlcURLWW95WEtyUUlpcCtoNmRyT2ZzWWg1?=
 =?utf-8?B?RU54MUhHakNJNlZkb3VFa3RXUHF5aTlseHpDcHduTGRFZkJpRjRPb1lpcEVZ?=
 =?utf-8?B?clhySXFXbWpQdTlTZ3Z5VEdIYmRRdGo4SmphNXI4QVpzcXZFVkpldDAzRSt1?=
 =?utf-8?B?OGgzOE5OeDRscU9PbnJyQ1M2SDlmcGdCYkRCbEcyTlZ3UHVrUUpHNmMrdFJG?=
 =?utf-8?B?RVBVaGRRa3c0MG5EZ2JPREsyeWZUZHFQdVhuVkdRZkJtZUpUTW9wR0p2d3ZC?=
 =?utf-8?B?SnAwSGJSblZPekl3ejV2bXMxazNQZGUweTFFT2dXL2trMEpaQWlwdkdnNzBh?=
 =?utf-8?B?SnhDeXNXV2Q0OVc3K1FjSGdXaFd6M1pZL3hObkN4Z1ZEbm1DWGhiSVFkR2o4?=
 =?utf-8?B?NW1ncEd1RmRRWFJGNUs0dHRsV1ZoZmhPYktqUUxnc0NZbEhPSytXWVRmYXBM?=
 =?utf-8?B?L2RUSHZBWVNrTHlTOG16WEdNUWxMcjB2T3luNlBPV1BmOU9vc2tuZm41UHZ0?=
 =?utf-8?B?SkxmWFVhTzlEYTd3czBNUzlrVmI0UnRPa2taSkw3aGRmVHRmT3laaW9TSm1s?=
 =?utf-8?B?dVZjaTR5QlZKNWJQcFJaNHVyTEJCVW9QUFdTNGc3UUxkTU9vY2NRTkh2QmZz?=
 =?utf-8?B?Q01SVnN5MjBoVzV0dnF1dmpGa2hGb28xdEZ4K0JXaWcvdWdtSWZ0bERQa1dP?=
 =?utf-8?B?TFJUVk0wZm1BTnZJcFNvQUZZUHpDMnc0MVJFR0ZtWXZoTTBOa3lvb2dJTlo2?=
 =?utf-8?B?VU5iSGY5SWpWVld0N216NzJ2ekRkL2Z2NU5DTjJVbjNEVndrQ3NoenJ3MzBk?=
 =?utf-8?B?S21KOFhGdTk1T1AxeXBESjg0U0JMRlFkR3plOS9vQXNtTHVCTUltL2N6R25P?=
 =?utf-8?B?TGRST0xvU21OK0t5bzFWSmdVNThVUVpUc2ozTGhkRlllTjFEUUNlRGtlNndq?=
 =?utf-8?B?Z21jL1lTdGw4MVlvZ2MzYXpuUkphY0ZRL25wcDJGUUU3NmpuaWdTdTFhZlNC?=
 =?utf-8?B?R0FqRW5BaWU0em5FUzJKRU13aURhL21Xd3BNVjhzNmZMOUdsTUx1elh1MC9y?=
 =?utf-8?B?eFY0N1NFQkZueDA5N3p3eTNUQlRIRXlrZG5SU1ZOdTJmU3o3ZWpwTDNsSStq?=
 =?utf-8?B?b3JDZlhxMitHdjh0T0JsMzlsdWN4VGxjdU9QMjNiaVRxOXNKZkkzcDJPTXR5?=
 =?utf-8?B?VUxrVVBMZnlJQTh4K1FjK1ZXRHh4Y1JsWjliMjA0bUFDZUZ1SW83dnMwTnhK?=
 =?utf-8?B?RjljZzUrZWMwaEhxMEtIUmJ5cDYyQlZFNVV2NVlBdFNBbHlVS2x5TlJDZnpV?=
 =?utf-8?B?Q0E1aEtwcFRueEc0L0M2VDYvbnlpUXZldzh0OThPaThpM0pWdHNoWjZDSENP?=
 =?utf-8?B?SmhhVnhkS25wSElrby9MeFRocDI0ZmVNTmpZeWE3WFA1T0orOU1FNWRuWFZD?=
 =?utf-8?B?eFNML2pFY0xtZzlSU2tpZUppREFXRkMrSCtyYmFuRTJxaEduUnJWRE1SV2Iy?=
 =?utf-8?B?R1hIVHJQeG5qL1VNLzNPYVBsQXRRb1hUcTBVaytvZE1PeFpxNzJIR3IwZVVh?=
 =?utf-8?B?OXhYY1FVR0dVcnRHR1d2TVJOdEttcVAyaXJEK0FVV2syODVIbVZrelA5ZmFr?=
 =?utf-8?Q?jWjlbOkyU2hqAEcQFuFtmxpxns/+OamS?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS2PR03MB8907.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(3122999009);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ejErWEpyUk50dk5NcDJYQUdvYnVjVWZrcjliNlFrbzBvdkowV1d2UFJuV3pn?=
 =?utf-8?B?MEJHRm5MOElCY29TUytHemprUDdxMTkwbEN2LzRYdm93Z3orVXNHVE8zS005?=
 =?utf-8?B?M1ZJUnFrMUNEWjFrNHVUSjVoRytSc3VmV3pVMEdHWnhvczJ3UUVQYnc1SDVt?=
 =?utf-8?B?STVXNlY3c3F6cU0vY0ovZGo2am9XSEtYU21rQjcxckNYSG1MQ21OWE1vNkZi?=
 =?utf-8?B?azNhV3ZuOGgydGh6OXJMbGtieGtRd3pRcEdqN1RRSHhWaFBZTkxnSjE0c1BI?=
 =?utf-8?B?b0NtNUJZbGZyWW12clBqaUV5WUxiMDVmekRvRndqdnRqQXNVbHdCK0hPM2xy?=
 =?utf-8?B?VUhHTHZtU2wvcC9od3VVUzRTSXRDcWJBOVJxUFVZOVlxQkFXRDZmcWZHUFV3?=
 =?utf-8?B?aHpMSmNXTzNPeUZ2UWhRNnB3cndDelQ0d3pJZjhMVDBpaFNyYllVSHhqbVF6?=
 =?utf-8?B?L3oyVWYxa0ZTUlBMd2k4T1FYWGN2bEIyZHdKTEJFTGVkTEdHRkQ0cGhtMDFP?=
 =?utf-8?B?Z1JZN2I5K2ZQR2V4SWI1WS9qaDZDSnY3Vjk1R0tIY1Rnc3g4azJKYUlWUzBB?=
 =?utf-8?B?Rlg0YXRiVG9LaUtKNWhSRVhVYldMa0ViM252NFowY3hWS2lmdHNQbzdGVFFh?=
 =?utf-8?B?S0FrMk1qK1NJeDhqd3hTRkpKUHNrenZlUHU5bkQ4L1RxcU4xUUwxejk5NmY4?=
 =?utf-8?B?U2NFVnR0a2k2NFVrSnB5Qk43TWVUU0d1NjI4MkFJWkNBclNWMExQa3BGejF4?=
 =?utf-8?B?Ym1sU2dTNUd2SHExV2lPZk8yWmdPcEtDbnNvRFpEZDh1NDJMQ2s0V3JmYVhq?=
 =?utf-8?B?Q2t5R0dvSFhNWDBDT0hLZmdjSDRMSExCN0NleGJ2VThqWHgxNm1jaG5mb2dp?=
 =?utf-8?B?RTg0d1hTUFBTcmNTNi9IOXNJRFNWMHptRGp5VmtHOVFCVG5ITHdReFRrUDhO?=
 =?utf-8?B?dGNSWWZEVWtnSkw2NFVOaG51UWFyd25zQ1hhWFVadTJ0VEdaQ0xhTlFtc1pt?=
 =?utf-8?B?M2tFSGM3MUtnd3ZjV3Z3WDU4Tm9yKzR1VWZBV2FRVmI2RnF3MHRBbm9FSFNx?=
 =?utf-8?B?ODJVWE01bGVtK25MRE5aeXNiQ0R3b05pbnRycXlUY2srT1lZL1RUR3krdFJm?=
 =?utf-8?B?Y2RNeHFVQlViOXdNREFVV1VmcWFxZmM2RjhDeE5ndkEzNUl1WUVJa2Y4cGJo?=
 =?utf-8?B?c2NaeVoya1o1M2wxbFJ3MWtubUx6aUFERmp5dDBCOEx5ZEpiYmJzZDR3TDYx?=
 =?utf-8?B?Q2JiNks1TEJMSWd4WEt5UkcwNXlPcW1IMXVETzFhTkt5N3IrQnZZUWRFb21R?=
 =?utf-8?B?QkpqR3F1ZGptSHRySmhUbnloRCt6OXdsUFpCcGZaQ205V216WXFxYzVYejFW?=
 =?utf-8?B?bDhvNmtzam9QNHJYZlp1eWJPNEp5bis5dVdYeWhTV1BVeWh5UFNQK0xoSXFw?=
 =?utf-8?B?R0dYZ3E4VzVzV3NpNnU1ejFCRTBIb1ZmM2RaN0FGbXM1ZjVWNzBNeml3ZFpN?=
 =?utf-8?B?ZHhEeW1QMVNnVERHdWZIZVVWeVM0MVNXY2pZMWNGL0VzMmY2WVJPOU9jVG8z?=
 =?utf-8?B?TVhGOFdhK1VRUHVCQ3Rwb0Y1MU43b0ZVVzZRU2hGZzF3OVBvcHdlV1hYNDFX?=
 =?utf-8?B?eGw1UzFjVW42WGQyUUgwMEt2bGdoNUJDaUJ6YjM4QkdwRk02RzBVb2JWY2g4?=
 =?utf-8?B?R0szVHdSK0wwOE5ZOVlIRkNVQXJRcnJISjdnZFVQZTFmeWpDelNBbU05VWNC?=
 =?utf-8?B?NFJnWDNReVhJdUxneGRRYTM0aFQwd3E1Q0JHTFdxNFN1TVh1SzRhYVcvZ1gw?=
 =?utf-8?B?NkY3R0JQK0o0dDgwQzUvNjNWNjNaN0ZMVDJYOEdsdCtsR1k4U2c4cHhwWDJk?=
 =?utf-8?B?amJCNEdpTlBMUnZWNVcwVUliWlk5a081ZlNOY2NBY2RMckVHM205aGNLZUw2?=
 =?utf-8?B?WkVRR2xjZGxkYnVEOXg3VytkWXEyMTFYaURYcEszRkt6eHdKb0E2L1crYVYr?=
 =?utf-8?B?c2lhMVRsbTFiamUwZjQwanhnT2YyUjR6L1h4ZDdUdkhKb1ZBa1VoeDk2WXFC?=
 =?utf-8?B?QnRYdWh0dzU4OHMrd2dDNXZ6NUR5aUdMbFc3bnB0eEJ0bzdEaUxRbVpwNTRT?=
 =?utf-8?B?OE8xOGpGMEo0ZllpbUlzQXNaV1F6S2F3Q2hsanh1RjgvV2ZZS2lBRmNmdzdW?=
 =?utf-8?B?ZHc9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ce01aaba-30bc-4efd-5963-08de0b2ba70d
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Oct 2025 14:12:04.8522
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: WDSYOwvSLIX36lmZU5U8LI9Olcdh50YaaLjTTlUz8Ma6dCzqWnXwwlJEAI/XwHbQxTTNzTbAIRU91WwAxc6ozsckLU84Opl71E32FNZ8b8k=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR03MB10064



On 09.10.25 18:37, Jan Beulich wrote:
> On 09.10.2025 17:08, Grygorii Strashko wrote:
>> On 08.10.25 15:09, Jan Beulich wrote:
>>> --- a/xen/arch/x86/hvm/vlapic.c
>>> +++ b/xen/arch/x86/hvm/vlapic.c
>>> @@ -31,10 +31,13 @@
>>>    #include <public/hvm/ioreq.h>
>>>    #include <public/hvm/params.h>
>>>    
>>> -#define LVT_BIAS(reg)                   (((reg) - APIC_LVTT) >> 4)
>>> +#include <../cpu/mcheck/x86_mca.h> /* MCG_CMCI_P */
>>
>> This include... You probably do not like it also
>> It is dependency outside HVM code.
>>
>> I've been thinking about something like vlapic->caps which can be filed before vlapic_init()
>> or passed as parameter, but seems x86 toolstack is considered to be able overwrite anything,
>> including v->arch.vmce.
>>
>> Seems, no better options here.
> 
> Same here, hence why I used it despite not liking it.
> 
>>> @@ -697,8 +701,17 @@ int guest_rdmsr_x2apic(const struct vcpu
>>>            return X86EMUL_EXCEPTION;
>>>    
>>>        offset = reg << 4;
>>> -    if ( offset == APIC_ICR )
>>> +    switch ( offset )
>>> +    {
>>> +    case APIC_ICR:
>>>            high = (uint64_t)vlapic_read_aligned(vlapic, APIC_ICR2) << 32;
>>> +        break;
>>> +
>>> +    case APIC_CMCI:
>>> +        if ( !(v->arch.vmce.mcg_cap & MCG_CMCI_P) )
>>
>> Could it be done using wrapper, like vmce_has_cmci()?
>> As this is Intel specific it's candidate to be opt-out eventually.
> 
> Possible. I wanted to limit the churn, hence why I preferred not to introduce
> a wrapper. Such an abstraction I wouldn't like to be a function taking a vCPU;
> really this should be a domain property imo.

My intention was to limit spreading direct access to "vmce" data over vlapic code:

static bool vlapic_has_cmci(const struct vcpu *v)
{
	return v->arch.vmce.mcg_cap & MCG_CMCI_P;
}

Just expressing opinion.

-- 
Best regards,
-grygorii



From xen-devel-bounces@lists.xenproject.org Tue Oct 14 14:39:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Oct 2025 14:39:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142863.1476772 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8gB0-000365-20; Tue, 14 Oct 2025 14:38:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142863.1476772; Tue, 14 Oct 2025 14:38:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8gAz-00035y-VZ; Tue, 14 Oct 2025 14:38:57 +0000
Received: by outflank-mailman (input) for mailman id 1142863;
 Tue, 14 Oct 2025 14:38:57 +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
 <SRS0=ME2R=4X=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v8gAy-00035q-Sa
 for xen-devel@lists.xenproject.org; Tue, 14 Oct 2025 14:38:57 +0000
Received: from DM1PR04CU001.outbound.protection.outlook.com
 (mail-centralusazlp170100005.outbound.protection.outlook.com
 [2a01:111:f403:c111::5])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 81a82e8f-a90b-11f0-9d15-b5c5bf9af7f9;
 Tue, 14 Oct 2025 16:38:54 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by SA3PR03MB7418.namprd03.prod.outlook.com (2603:10b6:806:396::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.12; Tue, 14 Oct
 2025 14:38:50 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9228.009; Tue, 14 Oct 2025
 14:38:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 81a82e8f-a90b-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=neRA9XpyApMYLn9gCoBRnLqrS+yliGNihznfBmYrEevF2ogWMSBBtYcSNtXsfjtkswnhTyJ6vJKGUCmkGtWK4pvDYKYiACdsUQ/+Rvn/IYmH+hitkwtaAZ2D8olO0cHCHN6r7ngN8JCwKXTayMQf6NSfKEe095PPp5/K1xHJ7voHUtOOOpU93pN1GJfxVd//iIQDVfpODhLoB+AXtchM/FJ8CEkDK6QBkBqZw3RvT/YAt/JLQhJtHWS0+bSBcZ4lJBTtMBgYRb7bNWEEoQHjG1vtXA+RYTaFHFlpxYmvdMPh/bPl47sejgoHS8j88F3p4R9SnUL2Wkjo8lV1pOMn+A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=swWCo/RIGwSFSNoPmIIHz/090AnswRvfsSs4t7bK/z4=;
 b=FzjJTf3vf+Z3NSfFzjDXhezi7SdlgoUiXWtQqBuFJ7bvULLriopukWWC3P8yDmXPGwqq+ncI/b4ziIgJqeYHxzp56wrizTY5mW0yedltH7L2/FEwobAkUAZXXv0b9WxLgqDMFpb/flW/j7tuVE+SQ7FQ4y2tYO4Vb3PIZSvlp53PUjpmqWJd3Mmz33R8MMTRb1npKHAAnq0MiS/zBmDnRMx+Vu72sqrhkD0vLvZpCHY3KTQnCQnW78bQp0jBTrlg/t8MtWnBJjv19DtLOSgRZyzfvWXVIhKhzJczNSG2qsBpT/QSkeFwxTgLN5uU/PiXCEW/d0/BPY8iPOXMI2JLpw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=swWCo/RIGwSFSNoPmIIHz/090AnswRvfsSs4t7bK/z4=;
 b=vAT6PWH4xD77TuUCrl9WiVCvDXNeaGE4ij6iHjYhiw1s5hppw3o85k6wDmqxX1D9VAsUWAH0iW1ixP7EAkKC8jEvLAgSDi9tGzjCe+E4WYiqnRQy6KsV/HfBfQG0D80/dUXraPOI5tNv34dkwyOCjS3X8zj6IxuuH7GQlK0IWWM=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 14 Oct 2025 16:38:46 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Grygorii Strashko <grygorii_strashko@epam.com>
Cc: Jan Beulich <jbeulich@suse.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Alejandro Vallejo <alejandro.garciavallejo@amd.com>
Subject: Re: [PATCH v5] x86: make Viridian support optional
Message-ID: <aO5gdh6C_uQoFHPH@Mac.lan>
References: <20250930125215.1087214-1-grygorii_strashko@epam.com>
 <aOzt8gfxkdQXZ6O1@Mac.lan>
 <e6972ea5-2139-4f4d-8d2c-2979fe2fad99@epam.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <e6972ea5-2139-4f4d-8d2c-2979fe2fad99@epam.com>
X-ClientProxiedBy: BN9PR03CA0499.namprd03.prod.outlook.com
 (2603:10b6:408:130::24) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|SA3PR03MB7418:EE_
X-MS-Office365-Filtering-Correlation-Id: f06a4a36-1220-4388-3808-08de0b2f63b5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?TEUzbXZDYk02d09VcmlPTCtNWEk5VVA4c0NzZjV6dThJRkxsTER4S1lhL2dB?=
 =?utf-8?B?Tm41cWpDa0gwNHMyc3hZTS9VcWl6ZFlVT3VUYTFhUXZGZXhlNGRpMk1jeks1?=
 =?utf-8?B?RVhiUGJKQjZZU243dHNTZlRiSXowb0lNRjNtZTJjSzNtOC8ybHNUeXBPUlRL?=
 =?utf-8?B?WTQrUmQydVovdys5Qy9EUHJldWRSc3BzL1pKZFIyT002KzN1WW0zcmdvUW1V?=
 =?utf-8?B?ZXc2ZWpDUFpWY0pqRU1ZSlNJRXp0d0tmYVRVTklPbEFlYjlIaS9XY1ZmNXBT?=
 =?utf-8?B?c21HMVdqL0FhZ0xlNTFsSGt3VUhnM3hWRDhRN3hhcXdsY0JVRzBaKy90VTBy?=
 =?utf-8?B?VFpBTHRxcFc1UlBuWlJBMDZvUzZaZXo4WTZBYkNaRTRYYkNVaitZL0w4OFhi?=
 =?utf-8?B?Qm83YVBENnFNQzFudm5mRW81MC9iMUh1ZjhXUE5MNGRFbXdjeUZpQnljeVA5?=
 =?utf-8?B?K1hQUFhRNU9tNmFjZ0dTZUptTnFySnFVNm80UGNUaGlpczV0dDlSdlhrWjdD?=
 =?utf-8?B?VDh6SU9KVWhERTZqSS96Z2lUUEs1bCtoZm1naXBqaGhtRkdwU0xleCtya2tx?=
 =?utf-8?B?bm1kK0xOek50RGtrem8zRUhybnJTZURsRWhFSGxIV3IxUjl4RlVLVzMwV1E2?=
 =?utf-8?B?MjBJVWhLNWE4eFpqVHp3eVdhQXA5VzVqdFh5aVlrd0ZrdGdMVEIycjNNQ1ps?=
 =?utf-8?B?RGZsbnBaUUMzOFFzanlHTzBVRHJFNmJ4d1lrY1g1bFR3SCt2akNmeFRaaWhp?=
 =?utf-8?B?b2RXZGMxMUN4cmVjejFFZWpucmNjVEJnYk5HRWJTY2kwV3QxSlgrSWRBN21y?=
 =?utf-8?B?cE9PRGdIV3kvY0ludVYzbzU0ZDUyTnE2ZWJ3YXpZWXlrbXFnb2lxcVZmMFFi?=
 =?utf-8?B?VENBY1JkTjFKRFJmQ3pMcG40THB4ckM4WHlVY1BnalpMaVNRRmZKNFBIUGF3?=
 =?utf-8?B?STgxWGJ6RFlTS2FpVU5nVHRPUHBUQ0VrQlNFWlllUEdXc3A1M3loZjQ0SWRS?=
 =?utf-8?B?RnhPTHdvclluY0dhNDdTbytpUDhoRmtHMkZtMnphaHhLMDYyUlZwNmhuaXRj?=
 =?utf-8?B?Q3R2c1hPem9IbzZKQUpVZFV2eVRmUzllL3B6ei9GZGdTc0FDSldSYkMxUzBW?=
 =?utf-8?B?NzBLUCt5Y0tWWE1hd2F0OGZUTWlpTE5vZk02eXNPM21xOTd3VDRTM0hLL0lS?=
 =?utf-8?B?dUpoRGw2Mzg1a2t0eGEzZ0o4VUZtcFNKSHI5TktiVUpQUjdMV0E1N0hSNG52?=
 =?utf-8?B?QUpiZjgwUThtcVRDemgyWUdiL1QzUWhYQzU0VitHWGdCKzR6WjNTWmx0MHp5?=
 =?utf-8?B?bDV2YlRTcFlYUy9JMkoyb2NLMVVPUHRkK3dFbzRCWnpiMmFXNUo4V3NLcnRK?=
 =?utf-8?B?ZGxTaUJHNWM1bkx4TlpjcTZlcDY3REhTTnFYY2JtTEtoSXZJNXVWRFhwU2R3?=
 =?utf-8?B?cG0yNDJlN0dncm45MG1meUMzamVCUWNyZ3RGa1loZXFKVnVFOUlYTEErTU9I?=
 =?utf-8?B?ZTMrbHpsRUJxZjdrajljYkEvejhMQTFhZzNQZDk0WnQ1WFBrSFNWdlRGZXVr?=
 =?utf-8?B?bEdFejcvN0d4NUswaS9HbHA5c1pHNzRZUkt5M0ZXMisxdlh2clR2dVdNTFE5?=
 =?utf-8?B?Y1MwZUJ2Z3FvZG5jMFNpbWZFSkZzaDYzMkU0bDJvR2JBVHZRSk9LM3B5SFR0?=
 =?utf-8?B?RG14Nzc2SExwazlrT3ppaW8yTFVUK0g5L1hvYW96aUFWNnRqcWRoRWFzS1RQ?=
 =?utf-8?B?MTFOMHFpUUxEN1BxYWw0VDRnMVJGU0dLUWlOOWx1bDc3akVlS0NwVHQrL2tv?=
 =?utf-8?B?YURtUitKVGdNdjAxR0Z5ekZueEVua0Nhak5DM29ZSFlndjUxaFd3WnlQV3Bz?=
 =?utf-8?B?bkxRSXZYNHlRNGRQVlJUZ1B4UWczc3R3VDNRV0xkSmY3QXFDNk8rUVN2Ymly?=
 =?utf-8?Q?497Lf8SEU9h+ltpykR+inJfifF2gkDRZ?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OURyeUVMYzVCdUdLWGpLZUdBSTJwWkl6ZGV4SVA4empMeS9XSXVseXZKMldx?=
 =?utf-8?B?SkI0ckZxYmExdXJvam50TlV6VXJPTHIxNFg5blBjK3dEUytlSmt4dVA1elRk?=
 =?utf-8?B?MGh1Y1hGQVFFN3g1UEVLUldHRjREd2drdnNYb1V6cUZ6ZEFKYVdyR1RqaHpv?=
 =?utf-8?B?VU00SnJHWUYwbGYzNk5IUlJrU2xNbnljN0RiWDZHRWpKcnBGaFc5TFN4L0NP?=
 =?utf-8?B?RmV6SmRhQTJzam1jQU4rRy9jZUU5WXczNE1laUptQjc5MXJXcW0wUm96MDJw?=
 =?utf-8?B?dGlma2pnaSt2cVdWNmx0MUsyUVJ1bHZ2ZVpRL3o1T0QyKzZNYmhQL0V0a2Ra?=
 =?utf-8?B?czZJVEtobzV0SzZueDV4S1RFOUZwampPM0E2UE5aZFN5aG42Rzl0R3ZIWEpa?=
 =?utf-8?B?QUJZa0QvMWI5NGJTS0RDTitIMitRZnZHdHB0Mit6aUMwZm40eDJ1UWNrdkQw?=
 =?utf-8?B?b05BL2NiaHBFblVEc3YzVnZKaTNWT1hoaDJnZk10TkhhSDVTNTl6OXhrdzFX?=
 =?utf-8?B?MVRtaU5udzBYSklhZFFrcDJqd0RMcHhqS2RkRTlqQnVlS0VUb0R3TzZ5bldX?=
 =?utf-8?B?WHhzT3Y1VDViREVBNUJDUEVkMWltQlYybW01a2QzaTRXT3Q4UmVtejV5eURp?=
 =?utf-8?B?a0F5UStwMlBRT2t0VjdZR0NHdFlsT1FGR1VzcDRoNy95UzBvbVlqTG1xRjZh?=
 =?utf-8?B?WU1DVkVFR1N5STVHcG8wSGNXWHE5VkJBM2FlRnBQSHJYb205cU1ROG5xLy91?=
 =?utf-8?B?TUdsalNrd0w4YVNhVWhDcCt2WmlCYXY2SXRrL2loYzh5cXlaMjdmOWpNSVNn?=
 =?utf-8?B?SWhWNG92TXFTSlVKN2lpeHc0VXZjQzJxUlFrZE44aUhNcDNqZ0ZFZUxvOS9Z?=
 =?utf-8?B?RlZQQlNscE05R0VMR295WUZnM21IY0YvaVFoa21tQkdUT3FLT01sVEYvM0lN?=
 =?utf-8?B?V3ZWbHg3aDgxZDduKzBEU2t6OE4rTFRVZzlPVy9nTkN4bC85Sk50cXNmSDly?=
 =?utf-8?B?RVFWVlkxMEFJYVlrV3RFV2J2NnBJSW90eXpmTVFzemhpK21IRXJjTGVEeFM1?=
 =?utf-8?B?VWhqMEQxWVNuMnJhVlhOdmYwZDI4b0JhSEhDenBHK3BnRnJWVEpyZWl6blJj?=
 =?utf-8?B?TnVMSkJUWEU5YWlacFM2SmNBVE1oR1pXV285cFFpcTE5YkZMZUl1V2owbmtO?=
 =?utf-8?B?TVA4ay9FWGRKTXh5Um1lYTRHWEswUXZRa1ZtejYyNVJxWFZSTU9lSjR1aVRI?=
 =?utf-8?B?VkZTTHFSc1pjaisxNUpDcGRKc3hRY2VldDRpQ1ViOFJIS043MVZSemEvcFFC?=
 =?utf-8?B?RXN5bVZKdjFkNFcyUngySkV1SzQwT0FTZU83Wmg1Zk96eTJrT3djaGkzTFFV?=
 =?utf-8?B?N2JpOWNQaFRkVUhINDVReUxtanNMeWNHTkNPLzk4ai9vVG1OV1VDelRUYklq?=
 =?utf-8?B?c2hPYkhWbnM0RExxeDZYSVpCTC82THRMMjlGajZHQjJ3RVdOM2tQczQwSTVl?=
 =?utf-8?B?ZGtqN0JJTG0wampOZlB0MVhBdUR0Uzlaa2x2NzUyNnZua2VDL1BveTBEM0Ex?=
 =?utf-8?B?ZTU2aFJjY3l1enhlRXd1OWhKYi9hc1B3YnB2OXFtLytHL0E0SWE3Q3I2R3BZ?=
 =?utf-8?B?NlNEK1V2L3gxZWYrdFRpdVV0c09ibmdOekp4NVBRUTdtWUxPeDJqUThMSjhW?=
 =?utf-8?B?eGlFSmNSSzI4cjRJVGJ6UU8yWXFVcTZGZUk4QUZGbTBLdkxsL1FmRGhaVXBP?=
 =?utf-8?B?ZndXM0dHS2hMd01LeFhOY3pNS1hScEtOczJaTXM1S29VZ0RXVjFZK3Y4Wmky?=
 =?utf-8?B?ZVVkamlxdG1haDJ1UGRuZ3EveDJrTmlwcEJCMkwzSlpvYWVIaklmN05pS0pF?=
 =?utf-8?B?M09SNFpPYVpkNkVocThuRjRiN0dkQ1NxUFRiYVNBUW5oZEZzMUlUUENJUGRT?=
 =?utf-8?B?bTRJYTlwNlRia1c1NXc4bWpTNm42N05JQklXbmVXek1VNnZ6aWIrYTloMlpU?=
 =?utf-8?B?NE5EbHd4MXozREhaM014V29oVnIzc29mcktpQkJ4cUNSS2pxVXJZdXRmK1dU?=
 =?utf-8?B?bFJSM2ZOZVd4OHNmZ0JpOHpUM1VjTFNXYmZVTnhINXdVNm14QVE1Vk5uZnZh?=
 =?utf-8?Q?3X3/63+f8Z+OCXtaZPbRxHOOo?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f06a4a36-1220-4388-3808-08de0b2f63b5
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Oct 2025 14:38:50.1570
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: DEN9Zp3kVjHjFuSKu8J/LNTpTXGxD+AXZK5w0qmPP8IvWf6N6eVzANMoPsfrSiHnJraEALnPBP7Xk1aq8EUW9A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR03MB7418

On Tue, Oct 14, 2025 at 04:24:53PM +0300, Grygorii Strashko wrote:
> On 13.10.25 15:17, Roger Pau MonnÃ© wrote:
> > On Tue, Sep 30, 2025 at 12:52:16PM +0000, Grygorii Strashko wrote:
> > > From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
> > > +
> > > +	  If unsure, say Y.
> > > +
> > >   config MEM_PAGING
> > >   	bool "Xen memory paging support (UNSUPPORTED)" if UNSUPPORTED
> > >   	depends on VM_EVENT
> > > diff --git a/xen/arch/x86/hvm/Makefile b/xen/arch/x86/hvm/Makefile
> > > index 6ec2c8f2db56..736eb3f966e9 100644
> > > --- a/xen/arch/x86/hvm/Makefile
> > > +++ b/xen/arch/x86/hvm/Makefile
> > > @@ -1,6 +1,6 @@
> > >   obj-$(CONFIG_AMD_SVM) += svm/
> > >   obj-$(CONFIG_INTEL_VMX) += vmx/
> > > -obj-y += viridian/
> > > +obj-$(CONFIG_VIRIDIAN) += viridian/
> > >   obj-y += asid.o
> > >   obj-y += dm.o
> > > diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
> > > index 23bd7f078a1d..95a80369b9b8 100644
> > > --- a/xen/arch/x86/hvm/hvm.c
> > > +++ b/xen/arch/x86/hvm/hvm.c
> > > @@ -701,9 +701,12 @@ int hvm_domain_initialise(struct domain *d,
> > >       if ( hvm_tsc_scaling_supported )
> > >           d->arch.hvm.tsc_scaling_ratio = hvm_default_tsc_scaling_ratio;
> > > -    rc = viridian_domain_init(d);
> > > -    if ( rc )
> > > -        goto fail2;
> > > +    if ( is_viridian_domain(d) )
> > > +    {
> > > +        rc = viridian_domain_init(d);
> > > +        if ( rc )
> > > +            goto fail2;
> > > +    }
> > 
> > Are you sure this works as expected?
> > 
> > The viridian_feature_mask() check is implemented using an HVM param,
> > and hence can only be possibly set after the domain object is created.
> > AFAICT is_viridian_domain(d) will unconditionally return false when
> > called from domain_create() context, because the HVM params cannot
> > possibly be set ahead of the domain being created.
> 
> You are right. Thanks for the this catch.
> 
> Taking above into account above, it seems Jan's proposal to convert below
> viridian APIs into wrappers for VIRIDIAN=n case is right way to move forward:
> 
> int viridian_vcpu_init(struct vcpu *v);
> int viridian_domain_init(struct domain *d);
> void viridian_vcpu_deinit(struct vcpu *v);
> void viridian_domain_deinit(struct domain *d);
> 
> Right?

Possibly. If you don't want to introduce a XEN_DOMCTL_createdomain
flag you need to exclusively use the Kconfig option to decide whether
the Viridian related structs must be allocated.  IOW: you could also
solve it by using IS_ENABLED(CONFIG_VIRIDIAN) instead of
is_viridian_domain() for most of the calls here.

The wrapper option might be better IMO, rather than adding
IS_ENABLED(CONFIG_VIRIDIAN) around.

> [1] https://patchwork.kernel.org/comment/26595213/
> 
> > 
> > If you want to do anything like this you will possibly need to
> > introduce a new flag to XEN_DOMCTL_createdomain to signal whether the
> > domain has Viridian extensions are enabled or not, so that it's know
> > in the context where domain_create() gets called.
> 
> In my opinion, it might be good not to go so far within this submission.
> - It's not intended  to change existing behavior of neither Xen nor toolstack
>   for VIRIDIAN=y (default)
> - just optout Viridian support when not needed.

OK, that's fine.

On further request though: if Viridian is build-time disabled in
Kconfig, setting or fetching HVM_PARAM_VIRIDIAN should return -ENODEV
or similar error.  I don't think this is done as part of this patch.

> > 
> > Given that HyperV is available on arm64 also it should be a global
> > flag, as opposed to a per-arch one in xen_arch_domainconfig IMO.
> > >       rc = alternative_call(hvm_funcs.domain_initialise, d);
> > >       if ( rc != 0 )
> > > @@ -739,7 +742,8 @@ void hvm_domain_relinquish_resources(struct domain *d)
> > >       if ( hvm_funcs.nhvm_domain_relinquish_resources )
> > >           alternative_vcall(hvm_funcs.nhvm_domain_relinquish_resources, d);
> > > -    viridian_domain_deinit(d);
> > > +    if ( is_viridian_domain(d) )
> > > +        viridian_domain_deinit(d);
> > >       ioreq_server_destroy_all(d);
> > > @@ -1643,9 +1647,12 @@ int hvm_vcpu_initialise(struct vcpu *v)
> > >            && (rc = nestedhvm_vcpu_initialise(v)) < 0 ) /* teardown: nestedhvm_vcpu_destroy */
> > >           goto fail5;
> > > -    rc = viridian_vcpu_init(v);
> > > -    if ( rc )
> > > -        goto fail6;
> > > +    if ( is_viridian_domain(d) )
> > > +    {
> > > +        rc = viridian_vcpu_init(v);
> > > +        if ( rc )
> > > +            goto fail6;
> > > +    }
> > >       rc = ioreq_server_add_vcpu_all(d, v);
> > >       if ( rc != 0 )
> > > @@ -1675,13 +1682,15 @@ int hvm_vcpu_initialise(struct vcpu *v)
> > >    fail2:
> > >       hvm_vcpu_cacheattr_destroy(v);
> > >    fail1:
> > > -    viridian_vcpu_deinit(v);
> > > +    if ( is_viridian_domain(d) )
> > > +        viridian_vcpu_deinit(v);
> > >       return rc;
> > >   }
> > >   void hvm_vcpu_destroy(struct vcpu *v)
> > >   {
> > > -    viridian_vcpu_deinit(v);
> > > +    if ( is_viridian_domain(v->domain) )
> > > +        viridian_vcpu_deinit(v);
> > >       ioreq_server_remove_vcpu_all(v->domain, v);
> > > diff --git a/xen/arch/x86/hvm/viridian/viridian.c b/xen/arch/x86/hvm/viridian/viridian.c
> > > index c0be24bd2210..1212cc418728 100644
> > > --- a/xen/arch/x86/hvm/viridian/viridian.c
> > > +++ b/xen/arch/x86/hvm/viridian/viridian.c
> > > @@ -1116,14 +1116,14 @@ static int cf_check viridian_save_domain_ctxt(
> > >   {
> > >       const struct domain *d = v->domain;
> > >       const struct viridian_domain *vd = d->arch.hvm.viridian;
> > > -    struct hvm_viridian_domain_context ctxt = {
> > > -        .hypercall_gpa = vd->hypercall_gpa.raw,
> > > -        .guest_os_id = vd->guest_os_id.raw,
> > > -    };
> > > +    struct hvm_viridian_domain_context ctxt = {};
> > >       if ( !is_viridian_domain(d) )
> > >           return 0;
> > > +    ctxt.hypercall_gpa = vd->hypercall_gpa.raw;
> > > +    ctxt.guest_os_id = vd->guest_os_id.raw,
> > > +
> > >       viridian_time_save_domain_ctxt(d, &ctxt);
> > >       viridian_synic_save_domain_ctxt(d, &ctxt);
> > > @@ -1136,6 +1136,9 @@ static int cf_check viridian_load_domain_ctxt(
> > >       struct viridian_domain *vd = d->arch.hvm.viridian;
> > >       struct hvm_viridian_domain_context ctxt;
> > > +    if ( !is_viridian_domain(d) )
> > > +        return -EILSEQ;
> > > +
> > >       if ( hvm_load_entry_zeroextend(VIRIDIAN_DOMAIN, h, &ctxt) != 0 )
> > >           return -EINVAL;
> > > @@ -1172,6 +1175,9 @@ static int cf_check viridian_load_vcpu_ctxt(
> > >       struct vcpu *v;
> > >       struct hvm_viridian_vcpu_context ctxt;
> > > +    if ( !is_viridian_domain(d) )
> > > +        return -EILSEQ;
> > 
> > Nit: we usually use EILSEQ for unreachable conditions, but here it's a
> > toolstack controlled input.  Maybe we could instead use ENODEV here?
> > 
> > As it's not really an illegal restore stream, but the selected guest
> > configuration doesn't match what's then loaded.
> 
> I'm a "working bee" here and can change it once again her to -ENODEV here.
> But It will be really cool if it will be agreed on Maintainers level somehow.
> 
> EILSEQ was used as per [2]

Didn't know it was explicitly requested, then leave it like that and
ignore this comment.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Oct 14 14:43:37 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Oct 2025 14:43:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142876.1476782 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8gFT-0004eN-Lc; Tue, 14 Oct 2025 14:43:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142876.1476782; Tue, 14 Oct 2025 14:43:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8gFT-0004eG-J0; Tue, 14 Oct 2025 14:43:35 +0000
Received: by outflank-mailman (input) for mailman id 1142876;
 Tue, 14 Oct 2025 14:43:34 +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
 <SRS0=BBX0=4X=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1v8gFS-0004eA-AL
 for xen-devel@lists.xenproject.org; Tue, 14 Oct 2025 14:43:34 +0000
Received: from AM0PR02CU008.outbound.protection.outlook.com
 (mail-westeuropeazlp170130006.outbound.protection.outlook.com
 [2a01:111:f403:c201::6])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 286d0b27-a90c-11f0-9d15-b5c5bf9af7f9;
 Tue, 14 Oct 2025 16:43:33 +0200 (CEST)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by DU4PR03MB10791.eurprd03.prod.outlook.com (2603:10a6:10:58f::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.13; Tue, 14 Oct
 2025 14:43:30 +0000
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593]) by AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593%3]) with mapi id 15.20.9203.009; Tue, 14 Oct 2025
 14:43:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 286d0b27-a90c-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=svmKe0Dfrhbk24Mdf3bGrhFwIOHHvVgiLGuVhVK3ph3/R7c8LOf/w97KrnjWCQmBC0LNgce6Eu+ECB5PsTh78iwLgR+mjd4kw8tuLKgs1bQU7ok+8QeUrnwLWnWnxajDmLGVw/NRedSVKb3ciBTeILI7/POK1MIQFLrVNWLtdUzD1cJ4rSMvwyHU3xl/P/Ajak+6gkjCdHQAR7aWmT6QByUgbX3QmpJ5GuzX9Y+hIhQw/edvBQMzqr55wYZVWx/qLejMViHovz/gUClQXNX7EfTxFnIIUNrMqC2uGDrgGkby0R9roonqPNkId/kf+hzY6NOqV60NyyRtKJTQ950qdw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LSrHZPf0tKpXSdCdcpC8jQTuJB+SxH9wm/btlsUABmk=;
 b=fUYo+zEYtVfKRPau18Q/IzpnYm7yqSMvtkVx9z7+EefKoRQKbIoWMmg0NP2jim//46RizDSp5PtMxcrSciTYC+v8GXpwA4ASepdInHCquNQ8DUCS+f4Bf6evAe0VHZdOUIEttNvp9KhdrQ4rkF8VW6u7sVSzVrGmmVveRQU+70kft0q5RSKVlG7V9TicVg4PiT4jkaytHypCEhLaX32MYU4QewXOqsphgvMSVQ6LUKUx/SIqusS1OODALh2Le7/5kVqeF0uvkRT3GPbkdz4w8kr47trUaUqjQ/6BXztuqH0HG0JVUZo2GTajwGcrcOeR5H9K4yHJrPoJ5vA5PAYN/Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LSrHZPf0tKpXSdCdcpC8jQTuJB+SxH9wm/btlsUABmk=;
 b=ujeE03DZMIV+E5gLblpwl4rmgnRjvTrLOF3xZX3sL7p2M3CZCw3qMG99b8JuUVoTCvJIYigAujgAOAh0gbq2T9PrH/qFS8EYJ54WaPq/4LiLfnZcX1XYkEXtwKyICPAfZR79AlMvzFa9NNar77vSb4tUpwcvtAHeiHWjwA1ciYPaU/Rics66VUgIvkZnc7ufbdXW75L53GysqiOVF8xYb9fyR/mqZmLjX3mDrGbcMkv8YltkXJos5/1H8peYt613clY55Lk6Uk9Wy6CC4s4spAfzmbUEIiMkQxjoJTYs6XhMaClRMoVTFWyUcWaHd14Zn5TJvbLTf2sW/xlknFdGGg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <771bec29-2667-43d7-a61f-2373f2fc5570@epam.com>
Date: Tue, 14 Oct 2025 17:43:29 +0300
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 02/28] xen/mem_sharing: wrap
 hvm_copy_context_and_params() with CONFIG_MEM_SHARING
To: xen-devel@lists.xenproject.org
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
 <20251013101540.3502842-3-Penny.Zheng@amd.com>
Content-Language: en-US
From: Grygorii Strashko <grygorii_strashko@epam.com>
In-Reply-To: <20251013101540.3502842-3-Penny.Zheng@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0247.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:af::16) To AS2PR03MB8907.eurprd03.prod.outlook.com
 (2603:10a6:20b:5e4::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS2PR03MB8907:EE_|DU4PR03MB10791:EE_
X-MS-Office365-Filtering-Correlation-Id: ebb14a5d-b54c-437b-95c8-08de0b300ae9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?S3pObXlMTGI0alpYU1dkWGgvdVN2WDd0alZTTUdtNzRnN29LOHJEeitPTElu?=
 =?utf-8?B?eEducFhDR3M2QVZhcnI1eHo1am84N3pQZVFBMUhmUnpwUjBrb3A2TzlnL2FK?=
 =?utf-8?B?M0dEempDRFJzZ29ZNHROang2a2ltL2hqekJ5Q0VVK2V6aTBWWUl3WUlpZmxj?=
 =?utf-8?B?cXZyc3QzR1lUN1EzRndBdFhwTHYzMzVNWE5LOFR5ZHlLdXBLb2o4Nll0M3V6?=
 =?utf-8?B?eEtjSzltSnF5eXRSSDdMMjQ0WE9MS3ZsbXNGc1NwMTFaUFNFSnVITFBIcWpU?=
 =?utf-8?B?MS9GcEJWS01DSnBpYnVOZWVzV3pwbDZGbnpYRGt3M1h3ZDNjY01zbXJISlla?=
 =?utf-8?B?RUVHdk9yNmR6cC9vTDFSbkt2cWR1Z2JuTkFzZjFOYXZ2MjNXd3JsRUU1cVBJ?=
 =?utf-8?B?RDFHMGloMEdUZWdpeEtoVjJwUDZnV0JFai9tMEoyTERRMDBXeFMxR3BVeEt6?=
 =?utf-8?B?ODNIMGFYaGEzQkFUaWdiQWhCNXAvdUpLZVkvTHg0aTA4WVRXUXNhVS9SUldF?=
 =?utf-8?B?NERGa0E1MW9VS3BFN2R2V1JmcmVVWHRHRmZNWnZPRDlTQ2FEeWp2MmxhM3Bx?=
 =?utf-8?B?VW81amNUeEFwT21ySzdDdVNFOVkzU1NDdW9vNXB2VlZ3TG9wRzk4TldrSm1x?=
 =?utf-8?B?bHJRZGYvRE8xN1Rwdk9ZdHBmbjMrN2Y2aEV0TXRRZloraGtJSERhT2IzS0xB?=
 =?utf-8?B?eU83ckhzZ1o3OUQwcFMzMFcrTHpVWWxJNnVlVnByMEpTd25EallJZExrY3dS?=
 =?utf-8?B?K29Ea2hvUzlWenc5WG5WTVI5NW9QRitrK0FrY2h6aHZYTVkrTS9EQXhYSlN2?=
 =?utf-8?B?VytGWHNCOHZHWVRKaTM5OG5uYjlLN2QrWVV2Uzg4VlBYakxLRW1Kbk9IMGow?=
 =?utf-8?B?OWJCYWR1S2V3Z3NtM3orZnc2d1Y0QjBCSUZHc0NORzYyUjFWTDNOaXcrSU9B?=
 =?utf-8?B?ZDM3L3Rsejhzeko0cm90b1ZMMHFGUW9WWC81Wi9VT0dCbUZvRm1CWmFzTWlU?=
 =?utf-8?B?OGtIVldtamZQRTJjVVQ2a2NCSmE0bnZOMXNEYmRTTVFqVGlBcDdSM2JvbkVs?=
 =?utf-8?B?L3NRa2FLdXoyZ1JzSk9aWnBaTTN3Q2piQnJXOUxGM1A1UHNLWUM0NXh0TTNr?=
 =?utf-8?B?UEZWL3o4bDlEbEFZZ09lbmtFZVNZdE52azltSjhwQ1RZMDJPUWJlVzhOUEl6?=
 =?utf-8?B?Rk5IdGZaS2srYktqaEo4Rjd0MUhZQ0t4WkVMbU1uNzdOdFBLbnl3Kzl2cHJs?=
 =?utf-8?B?dUladVpBdXRKUWw4dDFOSXB5a0d6U25vODFkMHlleDNxZldpZ3A3U2ovemdR?=
 =?utf-8?B?alc5SHBvWE1NZXhacE5qQXJpbFA5aWJ5bk5iRFlYOW4xMmdQUllYNExlTUZq?=
 =?utf-8?B?cjQvUXBLNTNDYjFvaElaS254UGRyaHEwMDRxYU5QYTdEcHVlTTdvQm1iSCtL?=
 =?utf-8?B?Z0V2TWVWOGFqK1FOM1diR3pOaVNQVHNHVWRDeWgwMCtLdXo5VFpwNWhwNnJa?=
 =?utf-8?B?RnBIcGduWW9LbCtWOTZUNFgxTDBHdXJXOWdvU1lkMWtwYnRPd1FJcG5tcVdL?=
 =?utf-8?B?SDZ4eXlFdDJSSlc5cjVtU3JSaitCdGVQWlA5YjE2TU9RYW9OK0FvSzRhK1hX?=
 =?utf-8?B?VUtrZG5rTjRDeU1GR0N1eGhKWUlNZFZvOGVHU0M3WlBTelVNSnhUUTZKODVp?=
 =?utf-8?B?aHlZZjcvd29RK2tkVUpPSXNYTkFKNTZ6Qzdxc0RZd0xtYzBCbHNxZElLZlFu?=
 =?utf-8?B?anFiRGVVL2MwaU04WXEvSkphNVBXZzBlblFtWVdvSmdsY01oM2RUU2ZPVzBx?=
 =?utf-8?B?Wm5TQnpVZXZ5Z29aWG5WY3BUbnl5VEk3YnpRN0lvN2hGcmxpWTUyYytkcnJN?=
 =?utf-8?B?VkFoZWtUcE53UkJQZFdlS2IzbTB3eGNpb1RjaVBwMkV6SGVkN0Z4aDBESGdQ?=
 =?utf-8?Q?Z6ywhp2Rz8gf5zTls8J54/ctMQRqbMbD?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS2PR03MB8907.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QU8wVnhrTW5xLzdFNVUrZEJPQ3YrMXVSaW13TkdHRWN5ajJsSUkyV2wzV2pI?=
 =?utf-8?B?ZG1JeitMZW9UaGhkNmpPWnpSYWdMVGRRWG9BUGlqZ1UvV2FadFp6bG1SM21K?=
 =?utf-8?B?N05hamdLS3JLdHlleHhwbzdERDVUbHJiMEY3UG5wZFdYdzFGclFIYWxtOUFJ?=
 =?utf-8?B?ajNncXk0VDgvS3QwZjVoM09jbmpGZFpJbU5BMStvbnBNNWdGbGJJblhIc2o5?=
 =?utf-8?B?ZWtqbGtURi9aQ1psYnI5OVZEVXhzTVA5TUxJczFLekVsZU00LzRQVjAyVUtz?=
 =?utf-8?B?SDgzRVlkRk9jWmYyQkI1NGFCZU5oOXpMS3ZPRGg5MnZ5UWpINmpFN0pOWDA2?=
 =?utf-8?B?ekZ2M2pEWUw5MUZDYXFabWpmT1ZhZkQrOU1IMkpLWFZTSWlzQjJCcCt3bGNZ?=
 =?utf-8?B?TlphWGdJM09lbmFxUnh3QTBxeTR2d3BiNEQ5MDgvODlRWk1BZ0FUYVRBS2VT?=
 =?utf-8?B?dVVxN0N1OUtxaTRZZFFBSllhTUQ2WWcrMHg1cy9XNnRrV3FROEhuRmdSZkZn?=
 =?utf-8?B?R2QxM0h6aEMzaEZnNCttRXFWZ2hEUlZnYWE2LzJ1cUlzSEJCMVRQdk9IYWlT?=
 =?utf-8?B?SlhQNks1N0FtalRBYkRtZDh0YS91UnE0ckFxcmdqSHBaa2xwbk1zdllKMVEv?=
 =?utf-8?B?NlVSMW1hSTBpU0ZBSCtyUDk3YXBLUnFFRFZWalRnMks0YWVhMFlIWWdhT0Fq?=
 =?utf-8?B?c1ZINXBUNWN3dis5OUM0RkFVdjN6aDlva2pPN2lBSmdIdU1TSjM5QzBSNXZr?=
 =?utf-8?B?K1VOZW1idWhiYzlOTnB1bUxLU0UxVkJCSmQ3RytRdzJmYXQ4Ty9LV00wYVRx?=
 =?utf-8?B?TFhNeTNKR05MOVpvcUxndmxIbC9DejZBZFhnR0R4TGl2cnBVVHlVQWswTUsz?=
 =?utf-8?B?OTRMYlY5cHhLUFJNM2xieGZyRkdySWtTdWRRWCtqV25rU2U2YzExeWo0RWoz?=
 =?utf-8?B?V1BnWW5tVmJsdm53VkRLV3VOUk92V0JVeDVsQit6YmRWZENlQm5OcFZ2NWg2?=
 =?utf-8?B?eUQra293RnNLQkw5dXJvd09yRmY3bm43bytkUjRyd2VMeUJDNXBuYnh6eUdV?=
 =?utf-8?B?eHBsRzQyRHlDYzVOZmVqWUtSNlRYTGZiS1dOZkJKUW4zZXFVZnRoTnJVbXk3?=
 =?utf-8?B?RVNNb0VmQ0RRRXFDeDg2eGFkNWZhNDQvSjZaK1Job01ReUQxekl2OWFlNGJZ?=
 =?utf-8?B?eHRqTU9qZitwdEwxbmxQQTZNTmRXVnMvby9FYWlRMkFJdU5mVHVWejNOdGZk?=
 =?utf-8?B?Qm5EbXJsbUtzQ3dZc3NpVGtocUJzRzh5a2NWT2doUmE5aFlzTy93Rjl0anJv?=
 =?utf-8?B?N3cveUR6KzM2N0h6VW81SFdnWWlWSHkxci9udVgzOGxHMllScFVQS3NURzZN?=
 =?utf-8?B?NEFhaUxnMVVrK25jNVNFV1g5ZmJtMHJhWHVEcllGTk1VOC9ybk1HbXdaSFNW?=
 =?utf-8?B?SnFNVW1hOTR0ZGFSeGlQVlNzU1EzM3dSd3ZOUGtnKzhnaUNkdk5DUWJxOE1T?=
 =?utf-8?B?a29XT0J3UWF1MDdNMldHbHk2aitSNVY3M1JZcVhtSEpSMVhuWjBrYThidzBq?=
 =?utf-8?B?R0dWR09iWWRWQ3kxTkt2bVJQanJjTlBteG1qdDZBNlZ5M2oyTUQyL0kyOHVG?=
 =?utf-8?B?enNrd29saWRac3RjdmE2RGNNN1B1Wm9FSG0xM0d6NDFKYkNNNmRBWnhUdEFR?=
 =?utf-8?B?QXpaMC9mckhQZGl1V2Q0NU1zSWJyb1ZiUHZGaE1EK1NhYXV4LzhpbkQ4VW1t?=
 =?utf-8?B?cTVBaUdyci9CRExrRzBKSnNOaE5SeXRoMCtnTzhrS3VNazhrNkhuK0ttRTVH?=
 =?utf-8?B?SnhZWlJ1U0h4dUNUMUh3OFdMdXdXVjFYOUVqNGJxT1lxc2VuS1ZzYWl4NlBm?=
 =?utf-8?B?MklYaGJPbGhkRlE4MC9jTFZrTm5IWE5yM2s4NEZsTWVCeDROWVpBeDduY3VV?=
 =?utf-8?B?MkE1MWVMM3F0VzRkT0pkeWRtVlNUYXVoN25aSXFwVDlNc2NmWEVYRXg1Zkp1?=
 =?utf-8?B?VGMyVE1kSVRYSnk0SVF1dDlwdUh0aWFhRWpRS1B0OG9ycjRoalZQV0h6anFX?=
 =?utf-8?B?dG1MN0xHVXdiUFRpRWhHcXRuU1cxQUE4WDBFY2I2WndzVVJCMGxWQktZdjJD?=
 =?utf-8?B?cFVyVTdwdlk4VlllSlJzTGRWalNMamx6SW5QUnRsSGhhQWgvOU5MRGJaUkhX?=
 =?utf-8?B?UlE9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ebb14a5d-b54c-437b-95c8-08de0b300ae9
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Oct 2025 14:43:30.3982
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: tidOsSvxZCSFZB9svUJALiJeq5Fxsg0kZ2gaZojHcf+lOE+Vv7erl4ouc19f/XRUAnLDZS83beacXMycTV6X0rYHW9iLJs5r1DOEPrmuPqs=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU4PR03MB10791



On 13.10.25 13:15, Penny Zheng wrote:
> The only reference of hvm_copy_context_and_params() is in
> arch/x86/mm/mem_sharing.c, so it shall be wrapped with CONFIG_MEM_SHARING.
> Otherwise it will become unreachable when MEM_SHARING=n, and hence violating
> Misra rule 2.1.
> 
> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
> ---
> v2 -> v3:
> - new commit
> ---
>   xen/arch/x86/hvm/hvm.c | 2 ++
>   1 file changed, 2 insertions(+)
> 
> diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
> index 0c60faa39d..239cd992a4 100644
> --- a/xen/arch/x86/hvm/hvm.c
> +++ b/xen/arch/x86/hvm/hvm.c
> @@ -5458,6 +5458,7 @@ void hvm_set_segment_register(struct vcpu *v, enum x86_segment seg,
>       alternative_vcall(hvm_funcs.set_segment_register, v, seg, reg);
>   }
>   
> +#ifdef CONFIG_MEM_SHARING
>   int hvm_copy_context_and_params(struct domain *dst, struct domain *src)
>   {
>       struct hvm_domain_context c = { .size = hvm_save_size(src) };
> @@ -5489,6 +5490,7 @@ int hvm_copy_context_and_params(struct domain *dst, struct domain *src)
>   
>       return rc;
>   }
> +#endif /* CONFIG_MEM_SHARING */
>   
>   /*
>    * Local variables:

Thank you.

Reviewed-by: Grygorii Strashko <grygorii_strashko@epam.com>

-- 
Best regards,
-grygorii



From xen-devel-bounces@lists.xenproject.org Tue Oct 14 15:19:50 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Oct 2025 15:19:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142892.1476791 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8goQ-0000R8-As; Tue, 14 Oct 2025 15:19:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142892.1476791; Tue, 14 Oct 2025 15:19:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8goQ-0000R1-87; Tue, 14 Oct 2025 15:19:42 +0000
Received: by outflank-mailman (input) for mailman id 1142892;
 Tue, 14 Oct 2025 15:19:40 +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 <SRS0=vfYo=4X=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1v8goO-0000Qv-SQ
 for xen-devel@lists.xenproject.org; Tue, 14 Oct 2025 15:19:40 +0000
Received: from mail-wm1-x341.google.com (mail-wm1-x341.google.com
 [2a00:1450:4864:20::341])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3058e348-a911-11f0-980a-7dc792cee155;
 Tue, 14 Oct 2025 17:19:34 +0200 (CEST)
Received: by mail-wm1-x341.google.com with SMTP id
 5b1f17b1804b1-46e326e4e99so31794765e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 14 Oct 2025 08:19:34 -0700 (PDT)
Received: from [192.168.69.221] (88-187-86-199.subs.proxad.net.
 [88.187.86.199]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-426ce5e833dsm24167850f8f.53.2025.10.14.08.19.32
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 14 Oct 2025 08:19:32 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3058e348-a911-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1760455173; x=1761059973; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=jlHFOQXWxzzjDjPOVpHQOqqqqeQmwHzOFbxMqWe9zH8=;
        b=DH9upZYn12gxll4XVs+NZNJc6+jkSG8iGhVTITKpBlKabkpJPrw67nHL8SU7CgGQ6+
         5QekU41BxxZvJVUHY3lKf5DY/ctCPVOiZOdHvPeNqVkG2OQnlaePZyXXGyxp+ikgsIyS
         gH/S1Ak9RCkPITiM7p73GIN9+34ExhVdaZYN5NBGq18JppiqdtW4BpCsPp16aRP/866S
         Mah/CdpUP/XC4LRKuPAtSOrWy6u0lo3bbal/Q4zr9TIi6m08/ozJe+G8p0vs1VfYWLTP
         p6hxHlzfa0iMvONwt9mFDrj0lyAXQ2xohIGKE8t5tMQKoHotq+pDQJRpTKqIsjkvheUn
         rXBg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760455173; x=1761059973;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=jlHFOQXWxzzjDjPOVpHQOqqqqeQmwHzOFbxMqWe9zH8=;
        b=oQD/MVlsZ5Nk0JxqQ80y8S2sZkJltEBmnxwf/3SPO/aE+98E/zp4PFNfbnTMeF00wV
         n0kKnK6xEgE4yFlcON/cjK4pW48dvEgedzoO+Kh6AjAbhXPHfH/BP2U2Q3T8alTwc5mG
         V2oQwrktBiu1XqU13tSBT5Sh1k3sqS7pS/03B1CjRP/Doc8v1ZosAhLglj6GU9b5rZ06
         h8GjL3E8n+tAXvxDRabXOUqEfeFqGvbKeGE0T8WFim3DS81kdghXyB+0+8fWluVXuhg6
         17vX3JpXZbov05tleNIHhX2+ufT27m5gxD+mQEDH5P1DKipAQxrb8t52uCjPrCSFxANj
         u99Q==
X-Forwarded-Encrypted: i=1; AJvYcCX3Wcr0lh2QLyzM4TyFefzWIgYJ3qOxvKgZtO4+q+dHVNs8kSieFEyaUXL4FIyMYWepZu8AKCCIXH4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyqnARSF4I68eSLnWmhZiiDRNwVrYUnEG5dvutOenqCrPNtiyXf
	g2yPNbwP9REpCXvoyBPacCIikVJ8wtBW1TDoIr3sywqHNTMeuepybR1CldOIYsOw86c=
X-Gm-Gg: ASbGncsl1OX3JFBX99yITfq93eFnf1ZU2/IZkS+zJClFWJFSTErH/Q3nESbSBe3dysV
	k/R3AoWXD37LGQ8nigL7CGSrHNrlFy3mHU1zdziIcfZssz4JhwSgWGeP3ByCWfXS6oJhmZIGMOl
	Z/bDXV/ZU2Pwrm2h0GIKHAwQQMFGXsLDIrXBbWsu9C8fimhmAWlLR9CHG7LovmUt3G+FtXFC1Le
	Mio/wiRIFkZERy4F2xImilgBEyIxOfp0ddF2XRSmJei3g8L/m8N7tVvaMWhWHkhLJhbox5M9aHP
	POZ/uwwDETnUke6b4a4DD51uaWiwFIKM1OLk4eh9MWsooUkFXOj9KV27lUxAvubvOoA+wUBkPhB
	dPB/rMTAkcUpjL0JSlh2ILXnpVU6VOP3GGVapQLvtytQXilraN5FjD+VBRVjO+TbAhfD12c7Z1U
	qqNpj9+lGBCiEA
X-Google-Smtp-Source: AGHT+IEZPI24EUKrC4LPcFULvad8y2pBqW6url1+99+3ODje+BCbQxk5FqxB1JsN34Villm1JYw9vg==
X-Received: by 2002:a05:6000:4283:b0:3ee:1368:a921 with SMTP id ffacd0b85a97d-4266e7cfb85mr20417961f8f.28.1760455173374;
        Tue, 14 Oct 2025 08:19:33 -0700 (PDT)
Message-ID: <2cad2907-5a93-4630-856f-7237063eb3ce@linaro.org>
Date: Tue, 14 Oct 2025 17:19:31 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] hw/display/xenfb: Replace unreachable code by abort()
Content-Language: en-US
To: Peter Maydell <peter.maydell@linaro.org>,
 Markus Armbruster <armbru@redhat.com>
Cc: qemu-devel@nongnu.org, sstabellini@kernel.org, anthony@xenproject.org,
 paul@xen.org, edgar.iglesias@gmail.com, xen-devel@lists.xenproject.org,
 qemu-trivial@nongnu.org
References: <20250729111226.3627499-1-armbru@redhat.com>
 <CAFEAcA-UrCD7mrmX_4dCK0urMmY5+qs=Y268WerQVq1c+7nB=Q@mail.gmail.com>
 <CAFEAcA-01WR=jgdiCY57P_88ez-mRw07ShU0eWyzLPB+WbT_xg@mail.gmail.com>
From: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>
In-Reply-To: <CAFEAcA-01WR=jgdiCY57P_88ez-mRw07ShU0eWyzLPB+WbT_xg@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 14/10/25 14:59, Peter Maydell wrote:
> On Tue, 14 Oct 2025 at 09:36, Peter Maydell <peter.maydell@linaro.org> wrote:
>>
>> On Tue, 29 Jul 2025 at 12:14, Markus Armbruster <armbru@redhat.com> wrote:
>>>
>>> xenfb_mouse_event() has a switch statement whose controlling
>>> expression move->axis is an enum InputAxis.  The enum values are
>>> INPUT_AXIS_X and INPUT_AXIS_Y, encoded as 0 and 1.  The switch has a
>>> case for both axes.  In addition, it has an unreachable default label.
>>> This convinces Coverity that move->axis can be greater than 1.  It
>>> duly reports a buffer overrun when it is used to subscript an array
>>> with two elements.
>>
>> I think also that Coverity gets confused by QAPI's convention
>> in generated code of defining enumerations like this:
>>
>> typedef enum InputAxis {
>>      INPUT_AXIS_X,
>>      INPUT_AXIS_Y,
>>      INPUT_AXIS__MAX,
>> } InputAxis;
>>
>> Coverity thinks that INPUT_AXIS__MAX might be a valid
>> value it can see in move->axis, because we defined the
>> enum that way.
>>
>> In theory I suppose that since the __MAX value is only
>> there to be an array or enumeration bound that we could
>> emit code that #defines it rather than making it part
>> of the enum.
> 
> Also, there's an argument that this function should
> ignore unknown input-axis enum values. If we ever in future
> extend this to support a Z-axis, it would be better to
> ignore the events we can't send, the same way we already
> do for unknown INPUT_EVENT_KIND_BTN button types, rather
> than aborting. But it's not very important, so the
> g_assert_not_reached() will do.
> 
> (In some other languages, we'd get a compile failure for
> adding a new value to the enum that we didn't handle.
> But not in C :-))

See this thread where it was discussed (until I gave up...):
https://lore.kernel.org/qemu-devel/873564spze.fsf@pond.sub.org/


From xen-devel-bounces@lists.xenproject.org Tue Oct 14 15:31:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Oct 2025 15:31:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142905.1476802 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8gzh-000332-AJ; Tue, 14 Oct 2025 15:31:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142905.1476802; Tue, 14 Oct 2025 15:31:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8gzh-00032v-7b; Tue, 14 Oct 2025 15:31:21 +0000
Received: by outflank-mailman (input) for mailman id 1142905;
 Tue, 14 Oct 2025 15:31:19 +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 <SRS0=JlMq=4X=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v8gzf-00032p-5r
 for xen-devel@lists.xenproject.org; Tue, 14 Oct 2025 15:31:19 +0000
Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com
 [2a00:1450:4864:20::329])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d366dc92-a912-11f0-9d15-b5c5bf9af7f9;
 Tue, 14 Oct 2025 17:31:17 +0200 (CEST)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-46e47cca387so54814575e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 14 Oct 2025 08:31:17 -0700 (PDT)
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-46fb489194dsm245208565e9.12.2025.10.14.08.31.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 14 Oct 2025 08:31:16 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d366dc92-a912-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760455876; x=1761060676; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=2QMa/CPNI9VARtaK269Ah/RBxdOD4boeJVzphLTAt18=;
        b=WzVhNLNZdvUH4a6MXzRagMMu6KWsw9DuO11PVe7Ql+BOs+oli5DgmXbFJLUSrgHnG5
         8qDi+Vq9fXjG85Tx1uosMEKpy1T9bLXkMsmjSmmj0eOncgsCqNjaYrQbIgTbhJbsRsnC
         dBiaT997bEixZKIfYWYpDdF9OSxaAW7mAHcAGUIw5aUXo2xg9TW1WKqamJ2D5aKNQkYT
         iH+xVWr5hu9j9OtERPT3/N2g1BCrsZePGpdFm1W1lMWMYH8u4C+YC1vu+8l3juGFSTjC
         gTBoBOhluG2oYzKhiCbzO+QRuwN6WSW8yDlbdLysPUvz7ijUY5m5kRdKbS/PHWKVSG9k
         nFDg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760455876; x=1761060676;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=2QMa/CPNI9VARtaK269Ah/RBxdOD4boeJVzphLTAt18=;
        b=OpspnxZ9xBoouKdTGUQxTG7dYamaNFtLufKu3q2odBYPTe3kJaKgQVeg3vFDljShOv
         jzgiPt/QCw7732RQSEUxUNXTvtOE80TCx6qbB7VZVvJXK5vpCqwyaLi51vxEDS3M1Bfh
         y3MFvzrOsTf6FgBNrtiQogGK3wyFW2CIASOaR1OCGTJ0SPm8OvJvgrOAy4yKEiANYFvy
         nTGvQeALVOCVMTr5Slf4+oxAW9/4cgNjs8u2EVycw8KOfCjfmPa6wpQqMEcshSwj+1G5
         sHh0e/WutoZSj4jhjyqGpNi/WtpDFJY7Nc3kZuHwlpYLIwuOaTTHcQH1C9LSmOBXAoF8
         OL8A==
X-Forwarded-Encrypted: i=1; AJvYcCWxZvUXECfucQaKYAzujhSYRlPA732+qJksVhGtWqttuHMjKzl6wphHD/rocxexqlsX5PE/U5hU38g=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxgqdl6Nhufth7Jlt89lOVF/n1/nkvNAOGDxINlieocTZsTTv7V
	UDDVERQrE/prl+MIssV8unzJvAcBvuBM2P+1QF3yZXAo2TpcRXUONWV4bABDLnjnjQ==
X-Gm-Gg: ASbGncs5eJIG99a/cuALEwvBsof+Jd2KrQmAhlsklvm/x70dQF1ImfkhLfMdYklhqni
	0Q0KH34sO7+2fxtrmGnDnEOvICMwMmW+cGLwTDCNCfoa8i/5N1yichXI0E9DJDeD1cYFBNB6mgm
	HHMDF7BUEnVMKWj633uqbmCw6l8eJqkOypwXB1vcPlNhJLYyqyqCAmaYGYJv8/sfOP5rnEjgqTc
	8CT1is9oC0K/l2P7MsKBtw33ESypoDeNgKgdiTtWX4lfyKOnY+RT0iy7zXZXrNi2hoTC8APdimj
	S2wvgp2PXharsMj4e0V1qcwPT0tVI9ns0MX851+Bxay2Jb5/Pblf0wyATTcQdInZ+uDq4L5hpLF
	euOm5FfkMHLsQcr0Q9BGklGkxvc9JfhJuhVGyfhaBRNG7yZvocHbmPwSx0F76XOPIHj7chTreTr
	b6C9UY6ryctk6RJvp67QS5GTXEvuNUr4ifaOMw
X-Google-Smtp-Source: AGHT+IHwu1ZLKS8BZoiUlX4l0+8OItCX6xagYioBE4R5uI5gabL0xK1Z78PmPMxE1EeSbBzuQe6A1w==
X-Received: by 2002:a05:600c:3483:b0:46e:1b89:77e5 with SMTP id 5b1f17b1804b1-46fa9a996cbmr177961025e9.12.1760455876439;
        Tue, 14 Oct 2025 08:31:16 -0700 (PDT)
Message-ID: <c790efe2-d4cd-46ed-b2c6-27da157de762@suse.com>
Date: Tue, 14 Oct 2025 17:31:15 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21??? 3/3] x86/vLAPIC: properly support the CMCI LVT
To: Grygorii Strashko <grygorii_strashko@epam.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Andrew Cooper <amc96@srcf.net>, Oleksii Kurochko
 <oleksii.kurochko@gmail.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <265d5053-af61-42cb-a3b9-ef60df39c21b@suse.com>
 <61a05ec1-aca7-4c3f-be6f-1bb053b2cd00@suse.com>
 <4477b803-4941-4032-be83-85cc126ceacb@epam.com>
 <8161d5b7-cc0e-41c3-8664-620988bc399e@suse.com>
 <2c9297b8-d4a7-4391-8e39-82a2c0245e0c@epam.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <2c9297b8-d4a7-4391-8e39-82a2c0245e0c@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 14.10.2025 16:12, Grygorii Strashko wrote:
> 
> 
> On 09.10.25 18:37, Jan Beulich wrote:
>> On 09.10.2025 17:08, Grygorii Strashko wrote:
>>> On 08.10.25 15:09, Jan Beulich wrote:
>>>> --- a/xen/arch/x86/hvm/vlapic.c
>>>> +++ b/xen/arch/x86/hvm/vlapic.c
>>>> @@ -31,10 +31,13 @@
>>>>    #include <public/hvm/ioreq.h>
>>>>    #include <public/hvm/params.h>
>>>>    
>>>> -#define LVT_BIAS(reg)                   (((reg) - APIC_LVTT) >> 4)
>>>> +#include <../cpu/mcheck/x86_mca.h> /* MCG_CMCI_P */
>>>
>>> This include... You probably do not like it also
>>> It is dependency outside HVM code.
>>>
>>> I've been thinking about something like vlapic->caps which can be filed before vlapic_init()
>>> or passed as parameter, but seems x86 toolstack is considered to be able overwrite anything,
>>> including v->arch.vmce.
>>>
>>> Seems, no better options here.
>>
>> Same here, hence why I used it despite not liking it.
>>
>>>> @@ -697,8 +701,17 @@ int guest_rdmsr_x2apic(const struct vcpu
>>>>            return X86EMUL_EXCEPTION;
>>>>    
>>>>        offset = reg << 4;
>>>> -    if ( offset == APIC_ICR )
>>>> +    switch ( offset )
>>>> +    {
>>>> +    case APIC_ICR:
>>>>            high = (uint64_t)vlapic_read_aligned(vlapic, APIC_ICR2) << 32;
>>>> +        break;
>>>> +
>>>> +    case APIC_CMCI:
>>>> +        if ( !(v->arch.vmce.mcg_cap & MCG_CMCI_P) )
>>>
>>> Could it be done using wrapper, like vmce_has_cmci()?
>>> As this is Intel specific it's candidate to be opt-out eventually.
>>
>> Possible. I wanted to limit the churn, hence why I preferred not to introduce
>> a wrapper. Such an abstraction I wouldn't like to be a function taking a vCPU;
>> really this should be a domain property imo.
> 
> My intention was to limit spreading direct access to "vmce" data over vlapic code:
> 
> static bool vlapic_has_cmci(const struct vcpu *v)
> {
> 	return v->arch.vmce.mcg_cap & MCG_CMCI_P;
> }

"vlapic" in the name makes it seemingly better, but not really. As before: I
think such a predicate should be taking a const struct domain * as input.
Unless of course we expected that different vCPU-s in a guest may have
different settings of the MCG_CMCI_P bit.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Oct 14 15:48:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Oct 2025 15:48:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142915.1476812 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8hGU-0004rX-NB; Tue, 14 Oct 2025 15:48:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142915.1476812; Tue, 14 Oct 2025 15:48:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8hGU-0004rQ-Jq; Tue, 14 Oct 2025 15:48:42 +0000
Received: by outflank-mailman (input) for mailman id 1142915;
 Tue, 14 Oct 2025 15:48:41 +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
 <SRS0=BBX0=4X=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1v8hGT-0004rK-AT
 for xen-devel@lists.xenproject.org; Tue, 14 Oct 2025 15:48:41 +0000
Received: from AM0PR02CU008.outbound.protection.outlook.com
 (mail-westeuropeazlp170130006.outbound.protection.outlook.com
 [2a01:111:f403:c201::6])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 39645d6e-a915-11f0-9d15-b5c5bf9af7f9;
 Tue, 14 Oct 2025 17:48:27 +0200 (CEST)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by PA1PR03MB10724.eurprd03.prod.outlook.com (2603:10a6:102:488::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.12; Tue, 14 Oct
 2025 15:48:25 +0000
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593]) by AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593%3]) with mapi id 15.20.9203.009; Tue, 14 Oct 2025
 15:48:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 39645d6e-a915-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=xrJGi6JpUBDGErrudzLEmoQQ0iwUgFNLl6qYa0CfjtYVT/a7pPnTODwz/hOncXcR3zF3V4WOaV7h+h3q5W2EMQH/H947Du9RoLRATtQxICKAintoly9yzdGdRnXu0C0eMIKrH+vJczsOQzCpeDWydbtSfH5oijkeqhNdbIVfl7vJqeTMcRqsVCbPkvafbiT1IxMan2vedWfhfztmO3wwXPVn6DreROt16Tqu2YHCFFvKPRsEg8tel8TefBabKw7GgjXtnACqWYIpum+q0yqzaswgXCK4B4rJ5YxOgCVl5Xy3Es50qHXasO1HR0kYJyrYTp4kgkBO3G+1jT+pm4CX+w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yFliYkyxy7jR4KvWLtZD9U8bP0pMYRey5pz6rLuBzHU=;
 b=uNovnUfhBpabjgNmy4HLzWBG5QeIhn4T+itKuCZoue+fropWpblx6iKWuyZdo6ucD32QDZDda/FlFY3tAQJcNIYxx5pVWtIZHlWYQ72jnfz07kyLMrnuwZPRMbgWUIoJKHHVH5mGUoIFl+eVd8HiUTp0gaSQ88LkHCcJh5TzXZ4RZKPibRIUuAg4AyI+0BS9RdduigU22tQ3YwUeX84lLa7lXJdRdr41VQVxx9L3YeUVBlVxcogwazaoQU5mQNaZk9Dduy//4wGLzrntsBS7TpRbvCSOF3Ypiw/PpQrwRHuvnN0cd8gkxgqItw/eG2tItbUIKBFVd8Fzo6q6YFIYzw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yFliYkyxy7jR4KvWLtZD9U8bP0pMYRey5pz6rLuBzHU=;
 b=RH/Dg7Vvs51OIhA4JP3GDddnzu7D/C3Hu+HO4tfrfqHMu4Z06lrtVaR0ngicj4OvA0D1LZOqmOXSeI4mw64pTzQSz9SmYjFP+I4OpAXtxvQKyxV/X1dRw2ggHsH3/c7i8ZZwLz2l43jZCMbQrh3QenEyINhANtCGFBZHd2fhdca8IX5GHTcZRsd+GwsV9fRCxojYSy0DqYMMTg9SSojStYUJ2IyM0y1xks8xx86xd0Tc7arp5/fWsK1sFrevxr/eT24fJlD7YPlIkoCFccJt8mdbl9U8sptJw/WHM588dzegnVZ2L6ZahwbIefGyi1V5BnX5hejLxzVPpGqSNFnXoA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <afe544d3-575c-44e8-9068-8c79f69d6175@epam.com>
Date: Tue, 14 Oct 2025 18:48:23 +0300
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5] x86: make Viridian support optional
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>,
 Alejandro Vallejo <alejandro.garciavallejo@amd.com>
References: <20250930125215.1087214-1-grygorii_strashko@epam.com>
 <aOzt8gfxkdQXZ6O1@Mac.lan> <e6972ea5-2139-4f4d-8d2c-2979fe2fad99@epam.com>
 <aO5gdh6C_uQoFHPH@Mac.lan>
Content-Language: en-US
From: Grygorii Strashko <grygorii_strashko@epam.com>
In-Reply-To: <aO5gdh6C_uQoFHPH@Mac.lan>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0075.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1e::10) To AS2PR03MB8907.eurprd03.prod.outlook.com
 (2603:10a6:20b:5e4::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS2PR03MB8907:EE_|PA1PR03MB10724:EE_
X-MS-Office365-Filtering-Correlation-Id: 3a677729-fcb5-45f0-7b46-08de0b391c6a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|366016;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?eWpuWEp0Vmx5LzJ6QVNCSitjWXVRSWh4QVZsb0dnY2RiRkJSRlhWQ0x3TnBO?=
 =?utf-8?B?Sk5xbkNqc0krOUVhV1pWQVJzQVBlckVMaEQxVFlQbFlqNVd0bXYvRmhPYWl2?=
 =?utf-8?B?QUVFRHJNNEFhNEdoeVF5OFZ2TVdqYm1RY1RVcXZqU1RqVUN6UUtjUUZ1U01M?=
 =?utf-8?B?dXlGNEJPRDdYNHB0elJoOFpsK2F6bTZLUUdyN3QvWmE0cXJmU2hCZjdVUmtr?=
 =?utf-8?B?eXliZGp0RUhVTTMzRFVJRUZRb1liU0VTSzRpTk9XR2g4UlFNY2tlbEsrTkpD?=
 =?utf-8?B?aTZYZWplSzNOeDhXQURCVWFuSE84U0VwNUxXTTlUdWp6Z0EwdlZaVmNTVUJF?=
 =?utf-8?B?L0dRRThGalJjZGxvSS9GMG1QVDc3K3VtbUlnUkFrRGx4cWE4OHBxWk9qOU14?=
 =?utf-8?B?UC90U0Y0ZXBkRi9kdVVsNGtWVWVYL1VJMmJwdzN2VnRxbnJjQkxXTURrZURj?=
 =?utf-8?B?bWo2anZJbi9LSGwwQzdzL3JVZ2QyZjFvTC9SZHlPd0Q4dnR4eGtUemtHTDZ4?=
 =?utf-8?B?djlZYW95Zldjb1htUHI4Nkg0ZmcxUWRlNnZxU21PVDVzMGJjSkVackt4OWlv?=
 =?utf-8?B?VEcvQ2w2S2g0TDlJc2NFYkdiZ3VCeGRZMUdnSXhvemJwWCt3V242d3V2dUJ2?=
 =?utf-8?B?dEtoVXNyTDRtQVB3dDZ1bEZNejgzdWUxR1VWRERQNUMwZy9TKy9HRjg4VGlS?=
 =?utf-8?B?VzBpay9HbHczR25KbnAwQXoybVhXOHJIQ1BCSTB4dDBqbEY2WDFGZUIva3JE?=
 =?utf-8?B?OENOcVVmOGlOVFpBRUlqOXVwRjg3dHIzWGpnV2d6VEhFd0JUZ0xJdHI0SjlV?=
 =?utf-8?B?VXF0a0w5MFpmWHlEY2FuaE1xbzgzZFNSaWZFb3B5ZXFVOVVWSHBnZnRvUklz?=
 =?utf-8?B?Ri8reS9yYzJnanRQTExOL0pEb2RjU1ZCdk9MZDd6dExKR3lVSjZCOTY0a0pz?=
 =?utf-8?B?L2tiN1BMbUlNbEhNdVpmaHVDS3lCbERiSXI5NDl2UU84RlcvdHNNTW5mOFMz?=
 =?utf-8?B?NXpzNm5KOFVRQ01PbVF1QUhGdDgvYzdmVnVEeGMxTmhGTEhma0FoRUtvK2tv?=
 =?utf-8?B?NmdndStuN2pQWjhZcnpITzRrWTdSMy91bnNKSHlDbFVmRWRDMGF3MFdhSHlF?=
 =?utf-8?B?bVBPWTE0WXNSZzNHSVFBVFQ3Vmd1K3pxREJ0b0FCRVlyYWJ2cEROODZXNzN3?=
 =?utf-8?B?ZXVtNmlldmJWaXEvN1VxU2orNjRiQllNQi9pK0NlUkpCT094bGhlVmRSTWJi?=
 =?utf-8?B?cFdoL0ovQmx1Q05XamUxYlZTT082bDI1WXg1Rmh6UlQyaitnUTlKOVdmdXZz?=
 =?utf-8?B?R05aVUQxQjlYb1NUUkEwUkVWMVM4WndVMGVaRUV6cnBQRVRhQnRod3hJN0c1?=
 =?utf-8?B?dlptRkhCSVlhRDI4ck1qMklIc3AvdFVuTXN3aitsQ1JzNlg5MFVzR1FjMDM3?=
 =?utf-8?B?SmhONDlNTGFlZDZDUlExaEYyYXNybHl1SWhKVnY4aldkNmdLYTFNQVFEdG9I?=
 =?utf-8?B?Z0dJVjl0dUIyNUFROURqZ3ROamZsU01uOCt1aE1STTdUVlBGYm1OWDNIRlFY?=
 =?utf-8?B?QjZNc0hYTjRxTVdZOE8vdy9MUkRvS1R1VUtVMUZ5QWorRmVnKzJhaDdocmhX?=
 =?utf-8?B?bk9RcU9idlRZMGR3SVNDaVY2NWxRcGxwa3J6bjBJUGpnZE9kYmNkOUdjUWRs?=
 =?utf-8?B?SGhsd3lOQjZNQUwydWxTRk5ueXJvQzFMSjc3MjVHenIrYWRuTTZMekRhdDRN?=
 =?utf-8?B?djdzZWVlV0V3eTk1UmdJUTUvT1V1cHJBcWVyM1dUaFI2bC9LbGNhU3k1UVFk?=
 =?utf-8?B?T2ErbWdINmszVzBveHpSNy9zdEVPRjZRUXpJcGFKUXpkczlaUzlSczR3dTZW?=
 =?utf-8?B?Qys1dmJKQmkxWEU5NlRuUUhRRW03L1cwaGZ0QUdWNHJOWG9XWUlMRnRwV0Yv?=
 =?utf-8?Q?jujt2G4vVKWWuW+OrDNiRg8/kd4TcBs0?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS2PR03MB8907.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eWFaUzdEWldIWDhjbUF2TThXQXBxQUpjdnBXTEU0UDlSZkg2bk53NmZFZlhL?=
 =?utf-8?B?NTc4V0lyRjI1bE4ydFJJZEZ0cFRKaGZOeVo1VHBOMEtjdVhZdWJYSUFNVTZO?=
 =?utf-8?B?K1FDM2d2bXg2UjRpaEpxOUZ1b1BLMTd0K0hUanZhSElGWWxJTWxRU2ZwYW9E?=
 =?utf-8?B?TzJLdGJTNHkreW1tOTBWVkV4T24vUWkyVS9HaUlvTDBrOHJucGRwSjJhajN6?=
 =?utf-8?B?YjdlRHFWZVFoT3o2VVZWMnA5U2pIbDNvdXlKczR2TmJKWjF0Vm9pL1lEblJL?=
 =?utf-8?B?Nm5xZUlEWWFxUXVlL0czWGtlSHBKdVIwUW9nRFVRbWkxUzE0VDlmcVI2aHhu?=
 =?utf-8?B?cTdIVUt3bjhBR1UyYzJJT0FWelNVV1hIVVRvZW1Gb21OQm93dnRyakpWRE9L?=
 =?utf-8?B?YUtFS2xBZGhSRkl3TFV0WUdPdGMyTE9rNG9GajZBYk1xSy9MSGU2SWtzRmtO?=
 =?utf-8?B?TTdWWHZNZXZteHdFekc0SlprNDJsNGduRzA5R3A5UUVoMnRqRUNLWG9PUnQ0?=
 =?utf-8?B?UWt1aVAyTnh0c0VnYk5BczFlU0ZJSGNPZ2N2cWJZZy9wYTJOaVB0QUI4NEhy?=
 =?utf-8?B?cU9qOHA0Yno4aVROYnFBL1hCcnpQSjE5eXhjV0JXWURpZEw0bmNMU0UwTDVo?=
 =?utf-8?B?UUZJUnRaNmQzRGpvSDRjUW8yck1JMzBQQm1KdEQ5WndKcEpUQ3l2b1dvRGlh?=
 =?utf-8?B?c2IwbmVTSXZhY1Rsalg1ek1ZUndJWG5VK3d5VjZIM2xaQUJwNTAweDIyaEVt?=
 =?utf-8?B?Z2VBRHFQOGVWQUVsUWkraGhNZG40N2hGV1d6eWJLbTd2UTBTaitZMHVHbEJz?=
 =?utf-8?B?RlFyWGdXRnFqYmhDbzBHaTAzS1UxWHQzY2JlaHRodERjWmV3WmRTVU1QZCtw?=
 =?utf-8?B?N0tkRTRhUmpNTyt1ajY0NG4vWXoxaGs1a0ovcWNHR1dUaFUxNWQvVVVlWEdj?=
 =?utf-8?B?NjRTckpHT0c0NnFlNWxNK2tvcXhFMEg1TlMxRDRzRExzeXdLL1BWLzczaHYv?=
 =?utf-8?B?eVVKeHlXYWFtV3pvVTU1ZmpxWUprRTdqdXB3M3lnckt5WXRsQzhMdXdPdEx4?=
 =?utf-8?B?ZW1FQ09EeVBOdThmOUIwdUtTUWdIM0dBcXB5M2IrejNZKzZXVGFIZ0F6WEZt?=
 =?utf-8?B?ZHpxanJVL1pFbHNFTTc2cFUweHJDM1gwUkk4azdLblJabVdVSW84QXBTeTZo?=
 =?utf-8?B?eTNMeWxUQzBVV0xmL0ZNdkZGZU1NU2dxYkJtOEQ3ZnRCaEd3S1BtK0tXL2VC?=
 =?utf-8?B?NThOTE1mL0NKQnZGN20xeUF2V29DcWVoRWcvQnlZa3ROdlRmaFJxNGlxMGFp?=
 =?utf-8?B?eGU5dy9Bbi9FUnNVRjloV0l1L1hqUVBlcElPdVhnY0lRZUIrbHE0WXlRc2tt?=
 =?utf-8?B?enZVUWdCNTlPdkdZcmltekQ0OEVYdDA3MkxPR2ZCZGVSQ2kwZ0dkWklDdnZm?=
 =?utf-8?B?ajN0V1Q0cHF4OHczMkh1VTlRL2tTendaaG5ZNGVmTmtwL0h0cE9aczB0NU94?=
 =?utf-8?B?RlFvajZyRmo1QUFBaVk3S2JNTm9SZVZYQnl5ZEQrY1I4L2huZC94aXJEY3R0?=
 =?utf-8?B?ZGg5NzlJOE1WQ0o0cFBYN3VoTHVUVTNBaUJETXJlS0szTjJJaFU1WkxlY21n?=
 =?utf-8?B?MWFYZHdVSGF1Ym5WVklsSE5NQnEvTnM5MFhXL3dpclRvVzF1L3lFZWdWN0Qr?=
 =?utf-8?B?NENNNzQyZk45L3NqdnVhNHphREhBb1piTUpqNkZEc3F2cXkzRVpoK0pzalRW?=
 =?utf-8?B?SjhyMFdvVHFXa1NQWENINjZQcDJCVTVrRENxSnNrWHV1TW1GaSt0UDQyNmtx?=
 =?utf-8?B?bjZ5SWhQbXZSTUl1eVVVQjdYOFVhd2RXVVJTK3pTRk9BQk0zNy9laWFZV0kw?=
 =?utf-8?B?UVVmWEhjRmVlQ3VYZVhjcU9vMEpQK3lYdHBCTWxGMDkvMVRHQmQ4UytXM25W?=
 =?utf-8?B?b29YL0QzdkkzMWcxODZIckUrM0VLcXdHZVI0UVBKKzJtY1JLTVNtcjM0eWdu?=
 =?utf-8?B?UkUva3E2OTRsbFVpbmRkME9tMTlJUHBUOHcxRWxCNXphdEp0ZDE0M2lPcVhR?=
 =?utf-8?B?UTVhQUZqc0hhNlVSWXFTTkxmTjdPMVN0RTVnZ0ZrN3hSWEt2NDhRWGkxM2w4?=
 =?utf-8?B?cU04Q0syZmlYcmhqMUQ3YXprZmgwTUdSVE92bTBYK1puOFF4TGdwdmd6dHNY?=
 =?utf-8?B?NEE9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3a677729-fcb5-45f0-7b46-08de0b391c6a
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Oct 2025 15:48:25.2270
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: WGo13s+sphSGT8B68DA5nmWPzsjDcifiAhiZQclNZe0cdV+uFiRuxB6PQKM1sr7ZLKfpL21LyuD701scRmNUDevotX5TDYz84WGgi/CklDM=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA1PR03MB10724



On 14.10.25 17:38, Roger Pau MonnÃ© wrote:
> On Tue, Oct 14, 2025 at 04:24:53PM +0300, Grygorii Strashko wrote:
>> On 13.10.25 15:17, Roger Pau MonnÃ© wrote:
>>> On Tue, Sep 30, 2025 at 12:52:16PM +0000, Grygorii Strashko wrote:
>>>> From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
>>>> +
>>>> +	  If unsure, say Y.
>>>> +
>>>>    config MEM_PAGING
>>>>    	bool "Xen memory paging support (UNSUPPORTED)" if UNSUPPORTED
>>>>    	depends on VM_EVENT
>>>> diff --git a/xen/arch/x86/hvm/Makefile b/xen/arch/x86/hvm/Makefile
>>>> index 6ec2c8f2db56..736eb3f966e9 100644
>>>> --- a/xen/arch/x86/hvm/Makefile
>>>> +++ b/xen/arch/x86/hvm/Makefile
>>>> @@ -1,6 +1,6 @@
>>>>    obj-$(CONFIG_AMD_SVM) += svm/
>>>>    obj-$(CONFIG_INTEL_VMX) += vmx/
>>>> -obj-y += viridian/
>>>> +obj-$(CONFIG_VIRIDIAN) += viridian/
>>>>    obj-y += asid.o
>>>>    obj-y += dm.o
>>>> diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
>>>> index 23bd7f078a1d..95a80369b9b8 100644
>>>> --- a/xen/arch/x86/hvm/hvm.c
>>>> +++ b/xen/arch/x86/hvm/hvm.c
>>>> @@ -701,9 +701,12 @@ int hvm_domain_initialise(struct domain *d,
>>>>        if ( hvm_tsc_scaling_supported )
>>>>            d->arch.hvm.tsc_scaling_ratio = hvm_default_tsc_scaling_ratio;
>>>> -    rc = viridian_domain_init(d);
>>>> -    if ( rc )
>>>> -        goto fail2;
>>>> +    if ( is_viridian_domain(d) )
>>>> +    {
>>>> +        rc = viridian_domain_init(d);
>>>> +        if ( rc )
>>>> +            goto fail2;
>>>> +    }
>>>
>>> Are you sure this works as expected?
>>>
>>> The viridian_feature_mask() check is implemented using an HVM param,
>>> and hence can only be possibly set after the domain object is created.
>>> AFAICT is_viridian_domain(d) will unconditionally return false when
>>> called from domain_create() context, because the HVM params cannot
>>> possibly be set ahead of the domain being created.
>>
>> You are right. Thanks for the this catch.
>>
>> Taking above into account above, it seems Jan's proposal to convert below
>> viridian APIs into wrappers for VIRIDIAN=n case is right way to move forward:
>>
>> int viridian_vcpu_init(struct vcpu *v);
>> int viridian_domain_init(struct domain *d);
>> void viridian_vcpu_deinit(struct vcpu *v);
>> void viridian_domain_deinit(struct domain *d);
>>
>> Right?
> 
> Possibly. If you don't want to introduce a XEN_DOMCTL_createdomain
> flag you need to exclusively use the Kconfig option to decide whether
> the Viridian related structs must be allocated.  IOW: you could also
> solve it by using IS_ENABLED(CONFIG_VIRIDIAN) instead of
> is_viridian_domain() for most of the calls here.
> 
> The wrapper option might be better IMO, rather than adding
> IS_ENABLED(CONFIG_VIRIDIAN) around.

I'll do wrappers - less if(s) in common HVM code.

> 
>> [1] https://patchwork.kernel.org/comment/26595213/
>>
>>>
>>> If you want to do anything like this you will possibly need to
>>> introduce a new flag to XEN_DOMCTL_createdomain to signal whether the
>>> domain has Viridian extensions are enabled or not, so that it's know
>>> in the context where domain_create() gets called.
>>
>> In my opinion, it might be good not to go so far within this submission.
>> - It's not intended  to change existing behavior of neither Xen nor toolstack
>>    for VIRIDIAN=y (default)
>> - just optout Viridian support when not needed.
> 
> OK, that's fine.
> 
> On further request though: if Viridian is build-time disabled in
> Kconfig, setting or fetching HVM_PARAM_VIRIDIAN should return -ENODEV
> or similar error.  I don't think this is done as part of this patch.

Sure. Just have to ask for clarification what to return:
-EOPNOTSUPP (my choise) vs -EINVAL.

?

> 
>>>
>>> Given that HyperV is available on arm64 also it should be a global
>>> flag, as opposed to a per-arch one in xen_arch_domainconfig IMO.
>>>>        rc = alternative_call(hvm_funcs.domain_initialise, d);
>>>>        if ( rc != 0 )
>>>> @@ -739,7 +742,8 @@ void hvm_domain_relinquish_resources(struct domain *d)
>>>>        if ( hvm_funcs.nhvm_domain_relinquish_resources )
>>>>            alternative_vcall(hvm_funcs.nhvm_domain_relinquish_resources, d);
>>>> -    viridian_domain_deinit(d);
>>>> +    if ( is_viridian_domain(d) )
>>>> +        viridian_domain_deinit(d);
>>>>        ioreq_server_destroy_all(d);
>>>> @@ -1643,9 +1647,12 @@ int hvm_vcpu_initialise(struct vcpu *v)
>>>>             && (rc = nestedhvm_vcpu_initialise(v)) < 0 ) /* teardown: nestedhvm_vcpu_destroy */
>>>>            goto fail5;
>>>> -    rc = viridian_vcpu_init(v);
>>>> -    if ( rc )
>>>> -        goto fail6;
>>>> +    if ( is_viridian_domain(d) )
>>>> +    {
>>>> +        rc = viridian_vcpu_init(v);
>>>> +        if ( rc )
>>>> +            goto fail6;
>>>> +    }
>>>>        rc = ioreq_server_add_vcpu_all(d, v);
>>>>        if ( rc != 0 )
>>>> @@ -1675,13 +1682,15 @@ int hvm_vcpu_initialise(struct vcpu *v)
>>>>     fail2:
>>>>        hvm_vcpu_cacheattr_destroy(v);
>>>>     fail1:
>>>> -    viridian_vcpu_deinit(v);
>>>> +    if ( is_viridian_domain(d) )
>>>> +        viridian_vcpu_deinit(v);
>>>>        return rc;
>>>>    }
>>>>    void hvm_vcpu_destroy(struct vcpu *v)
>>>>    {
>>>> -    viridian_vcpu_deinit(v);
>>>> +    if ( is_viridian_domain(v->domain) )
>>>> +        viridian_vcpu_deinit(v);
>>>>        ioreq_server_remove_vcpu_all(v->domain, v);
>>>> diff --git a/xen/arch/x86/hvm/viridian/viridian.c b/xen/arch/x86/hvm/viridian/viridian.c
>>>> index c0be24bd2210..1212cc418728 100644
>>>> --- a/xen/arch/x86/hvm/viridian/viridian.c
>>>> +++ b/xen/arch/x86/hvm/viridian/viridian.c
>>>> @@ -1116,14 +1116,14 @@ static int cf_check viridian_save_domain_ctxt(
>>>>    {
>>>>        const struct domain *d = v->domain;
>>>>        const struct viridian_domain *vd = d->arch.hvm.viridian;
>>>> -    struct hvm_viridian_domain_context ctxt = {
>>>> -        .hypercall_gpa = vd->hypercall_gpa.raw,
>>>> -        .guest_os_id = vd->guest_os_id.raw,
>>>> -    };
>>>> +    struct hvm_viridian_domain_context ctxt = {};
>>>>        if ( !is_viridian_domain(d) )
>>>>            return 0;
>>>> +    ctxt.hypercall_gpa = vd->hypercall_gpa.raw;
>>>> +    ctxt.guest_os_id = vd->guest_os_id.raw,
>>>> +
>>>>        viridian_time_save_domain_ctxt(d, &ctxt);
>>>>        viridian_synic_save_domain_ctxt(d, &ctxt);
>>>> @@ -1136,6 +1136,9 @@ static int cf_check viridian_load_domain_ctxt(
>>>>        struct viridian_domain *vd = d->arch.hvm.viridian;
>>>>        struct hvm_viridian_domain_context ctxt;
>>>> +    if ( !is_viridian_domain(d) )
>>>> +        return -EILSEQ;
>>>> +
>>>>        if ( hvm_load_entry_zeroextend(VIRIDIAN_DOMAIN, h, &ctxt) != 0 )
>>>>            return -EINVAL;
>>>> @@ -1172,6 +1175,9 @@ static int cf_check viridian_load_vcpu_ctxt(
>>>>        struct vcpu *v;
>>>>        struct hvm_viridian_vcpu_context ctxt;
>>>> +    if ( !is_viridian_domain(d) )
>>>> +        return -EILSEQ;
>>>
>>> Nit: we usually use EILSEQ for unreachable conditions, but here it's a
>>> toolstack controlled input.  Maybe we could instead use ENODEV here?
>>>
>>> As it's not really an illegal restore stream, but the selected guest
>>> configuration doesn't match what's then loaded.
>>
>> I'm a "working bee" here and can change it once again her to -ENODEV here.
>> But It will be really cool if it will be agreed on Maintainers level somehow.
>>
>> EILSEQ was used as per [2]
> 
> Didn't know it was explicitly requested, then leave it like that and
> ignore this comment.
> 
> Thanks, Roger.

-- 
Best regards,
-grygorii



From xen-devel-bounces@lists.xenproject.org Tue Oct 14 15:57:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Oct 2025 15:57:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142929.1476821 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8hOt-0006ag-J7; Tue, 14 Oct 2025 15:57:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142929.1476821; Tue, 14 Oct 2025 15:57:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8hOt-0006aZ-GO; Tue, 14 Oct 2025 15:57:23 +0000
Received: by outflank-mailman (input) for mailman id 1142929;
 Tue, 14 Oct 2025 15:57:22 +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
 <SRS0=/xUX=4X=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v8hOs-0006aT-6E
 for xen-devel@lists.xenproject.org; Tue, 14 Oct 2025 15:57:22 +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 751ffade-a916-11f0-980a-7dc792cee155;
 Tue, 14 Oct 2025 17:57:17 +0200 (CEST)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-46fcf9f63b6so9055295e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 14 Oct 2025 08:57:16 -0700 (PDT)
Received: from [192.168.1.183] (host-92-22-57-86.as13285.net. [92.22.57.86])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-426ce57d3desm24387496f8f.7.2025.10.14.08.57.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 14 Oct 2025 08:57:15 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 751ffade-a916-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1760457436; x=1761062236; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=31jo0ageX4O5yWbi5Zla4GVnwA5qspZErOKBpOgrl5g=;
        b=hHSkJQ7nepuR4ztwK/11I4pTgvF5GYsUqk9q5gjZX6k2b7SaA37A/8AzOMbEHNftl2
         WI88vJbvsNNSjXM0CHHoeECaLCIUfhAEWwYQmEGRZTHct9u0NODbtJA1nJz8gADt/uyn
         r4Reo6DCp+V2hEMv/N88Fsfta1hY4NnZ0zrDk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760457436; x=1761062236;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=31jo0ageX4O5yWbi5Zla4GVnwA5qspZErOKBpOgrl5g=;
        b=W9B2LWrmSXfzDQBx+xbXCoaXU13WgJE0JiO+0BkZaYiCyZ+2+C/zVAOlK3XHuvE7fC
         KR180z/YVoB4Lc/vjFZ8lvgPKxWcFW8a9tL/nDzj3xwN7OhLVvgxmQMeRVuqx+L8+7S6
         twIbaUyTPpT51m9Z8TdplVlprArZQuRBftlAmJPlyCi9Qe9uPxM9OW8NLwxRwk9IXI+6
         cH6TVSiOX/o1p/NpEC5IHFtnjGE9NcDiLNfnW2rlXZyQEITUZuOj9jHuiCWd44MOp8DY
         OWlLBoHSPTRXSDnNNEJQuJuyynH+PdeAbYlrXI/tx2NoXqbL8SByn7zjRBSlxS96p2Yg
         2cEQ==
X-Gm-Message-State: AOJu0YyYLwMWtmHuyhoYNpuD+t4Lcfc/16lvjuEmCaRiI7DaaH3TE6z1
	oUAB+6QqfcegpyP9eLq09CmDnGq5UYU5X5hFw1CTvU2Gb28+/NlrL/LowfaT1jKfWyw=
X-Gm-Gg: ASbGncvv1D8Uw0296lHva9BFpvCa/fehq6qcmxMcQxFi6C50PuuFiSehUg+BXvVwtBU
	pGnDQIsscvgEMAldtca/CTv/bhahaRAX1VYbdKaVaC6nzd2ZaIiloHXr3k96lw5OEajDnAJ4hAD
	0nDnXvLwbRnXlfKgRRwe17FW9YvkMAp/6g7Xu68AkUScU1ZU9HyOrqYUi13qV4MLu6IqZjkTtkg
	7MNhjxAUk2ocWbSM7qoqy3rSW37FKoaAnMepX/Z8GNrqZDTP+95v7S4uKNxoIdy71V1po/ttrlN
	248EDEkal3Z59mkaVQ1Wh2rCJlHXRRmUYvNqssj4qLtRsRthwRi+1gflp4gNL7hc2V6naQ87Buj
	xWKe6NOImpJ3TnV5kziHJ/LOUTyyZHUBwvEY0beqwfcBXVxAUPNbpiufzls4/03LuKxDkQVQkkx
	R2Q0g=
X-Google-Smtp-Source: AGHT+IFA6yEAfvUuGwOKeR0y/hv4rbm3M0J/LhfbGineThZxSRwFR7MCJww/bk4QrY/P8Tqi5E/QFw==
X-Received: by 2002:a05:600c:154a:b0:46f:b327:f20d with SMTP id 5b1f17b1804b1-46fb327f2aamr117199075e9.26.1760457436243;
        Tue, 14 Oct 2025 08:57:16 -0700 (PDT)
Message-ID: <7a206259-3eb7-4b0c-8437-78579931e56b@citrix.com>
Date: Tue, 14 Oct 2025 16:57:15 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21 v2] efi: Protect against unnecessary image
 unloading
To: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Gerald Elder-Vass <gerald.elder-vass@cloud.com>,
 "Daniel P . Smith" <dpsmith@apertussolutions.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <20251014130648.2540082-1-andrew.cooper3@citrix.com>
 <aO5QMFtLpC819kbZ@mail-itl>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <aO5QMFtLpC819kbZ@mail-itl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 14/10/2025 2:29 pm, Marek Marczykowski-GÃ³recki wrote:
> On Tue, Oct 14, 2025 at 02:06:48PM +0100, Andrew Cooper wrote:
>> From: Gerald Elder-Vass <gerald.elder-vass@cloud.com>
>>
>> Commit 59a1d6d3ea1e introduced Shim's LoadImage protocol and unloads the
>> image after loading it (for verification purposes) regardless of the
>> returned status. The protocol API implies this is the correct behaviour
>> but we should add a check to protect against the unlikely case this
>> frees any memory in use.
>>
>> Signed-off-by: Gerald Elder-Vass <gerald.elder-vass@cloud.com>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Reviewed-by: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>

Thanks.

> with one comment below (I'm okay with the patch either way)
>
>>      EFI_SHIM_LOCK_PROTOCOL *shim_lock;
>>      EFI_STATUS status;
>>      bool verified = false;
>> @@ -1078,11 +1078,12 @@ static void __init efi_verify_kernel(EFI_HANDLE ImageHandle)
>>              verified = true;
>>  
>>          /*
>> -         * Always unload the image.  We only needed LoadImage() to perform
>> -         * verification anyway, and in the case of a failure there may still
>> -         * be cleanup needing to be performed.
>> +         * If the kernel was loaded, unload it. We only needed LoadImage() to
>> +         * perform verification anyway, and in the case of a failure there may
>> +         * still be cleanup needing to be performed.
>>           */
>> -        shim_loader->UnloadImage(loaded_kernel);
>> +        if ( !EFI_ERROR(status) || (status == EFI_SECURITY_VIOLATION) )
> So, just in case of double-buggy firmware, check loaded_kernel here too?

So to be clear, you're asking for:

loaded_kernel && (!EFI_ERROR(status) || (status == EFI_SECURITY_VIOLATION))

here?Â  Yeah, can fix that up on commit.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Oct 14 16:17:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Oct 2025 16:17:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142940.1476831 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8hhz-0001Yb-3I; Tue, 14 Oct 2025 16:17:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142940.1476831; Tue, 14 Oct 2025 16:17:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8hhz-0001YU-0P; Tue, 14 Oct 2025 16:17:07 +0000
Received: by outflank-mailman (input) for mailman id 1142940;
 Tue, 14 Oct 2025 16:17: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
 <SRS0=MYj7=4X=epam.com=dmytro_prokopchuk1@srs-se1.protection.inumbo.net>)
 id 1v8hhx-0001YO-Hz
 for xen-devel@lists.xenproject.org; Tue, 14 Oct 2025 16:17:05 +0000
Received: from AM0PR02CU008.outbound.protection.outlook.com
 (mail-westeuropeazlp170130006.outbound.protection.outlook.com
 [2a01:111:f403:c201::6])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 367f0c42-a919-11f0-980a-7dc792cee155;
 Tue, 14 Oct 2025 18:17:00 +0200 (CEST)
Received: from GV2PR03MB9572.eurprd03.prod.outlook.com (2603:10a6:150:da::5)
 by AM7PR03MB6481.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.13; Tue, 14 Oct
 2025 16:16:57 +0000
Received: from GV2PR03MB9572.eurprd03.prod.outlook.com
 ([fe80::edd1:842f:9b14:509e]) by GV2PR03MB9572.eurprd03.prod.outlook.com
 ([fe80::edd1:842f:9b14:509e%4]) with mapi id 15.20.9203.009; Tue, 14 Oct 2025
 16:16:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 367f0c42-a919-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=w0ZBQQp0UDUETDFvGn7FXhLjxQvglCvRN9hWWul1h9aZ9GKEldOZDM2dYJ3IH4r7aP7u4vdAFfEROH6OQqetHVT1kbiNznEbQaWNc6W6Pq54W1II3jmA9fq5eOYh8d2JPgMKw+Uycm1weUZOeKZYp6zSlezwhTP3ddqwP7kqsSW8SENdOcSpYTHnyWP3R5led6Q3WbD0JUknu86rKjuzcFk0CuSI3zlORuBEYxXU+IP+NIhdpirXWZQ6ZsLeM+L1lGvY/upzx5vugvQ00IXMJiR8iCBw+r2A0wH3iYi2wN6cikbMDgOligCA4gbwEDcg0p/uctf8AkCzMb8Gf6PTHA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OZuuBIGRZzc4yFBjQ6QLxpsvLWHqTM0ma5IeSuREYUA=;
 b=QHAJFbrBkJab+UliWAJWYv9m3v66OWZIj/Riy8mIJezdWhJEqv3ZMAFL5WNQJkn/hUELGjSCfLsWCK+923gQO2r3/WwXtyeV9RBAnJRtfGRnvrq99b4WureDfQomFRvvTKpAYKTRdo5FidNYwvcivSr4slrvAY2gnPAPusSAzoq7gEppT37kozlNfnQcQYsM/KNpTww+ScrJV9GPwLd+LxmhQRA1LH3v0FER8jYALLr5KiactR5TimCG93/SEgJjGw07QqBIbRYmyjPpWhyxMx4kMSBdRmGq0T67A9xw3manJSt+SnPaoam5YugF9pFiGEF2+ETm143kDu8kkmb2Hw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OZuuBIGRZzc4yFBjQ6QLxpsvLWHqTM0ma5IeSuREYUA=;
 b=YgysN/21LJDDe87bsuAHJKLR+YoiiQs5NoeRke11+ZBGcMoqTtdq5LCRrXmJEo38mB8Baslcuz9Mjtl68sxw+V4F/U5V4kyaqHUq8QdyrJa3yOkcgowVeq7aF8hT4GK946bThlSk0Vk4AIVbRQcsCuOzFb2B668i2K29HJqCKqIakbnUHZ/DjT5k+BiGS+sjsZlJh8jyiPoFjFJx2yH/LfhWLP33wggwyHmlPmvB+Lj+kDwOc7hrp+EbQNZd7dLXhbeKT+ddmdvk6zbbXoqEEpYlI7NfTFLz5Wf1NyaA2NrH3dpxtdC77OAjXgCwl10kufOn/VpaEfu7vOFWYBkcVg==
From: Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>, Nicola Vetrini
	<nicola.vetrini@bugseng.com>, Doug Goldstein <cardoe@cardoe.com>, Stefano
 Stabellini <sstabellini@kernel.org>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>, Julien
 Grall <julien@xen.org>, =?iso-8859-1?Q?Roger_Pau_Monn=E9?=
	<roger.pau@citrix.com>
Subject: [PATCH v3] misra: consider conversion from UL or (void*) to function
 pointer as safe
Thread-Topic: [PATCH v3] misra: consider conversion from UL or (void*) to
 function pointer as safe
Thread-Index: AQHcPSX2fWa1eZv9x0mRzqs7fz2kjg==
Date: Tue, 14 Oct 2025 16:16:57 +0000
Message-ID:
 <0e72c83102668dfa6f14c4e8f9839b4a73d30b3d.1760458094.git.dmytro_prokopchuk1@epam.com>
Accept-Language: en-US, uk-UA, ru-RU
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: GV2PR03MB9572:EE_|AM7PR03MB6481:EE_
x-ms-office365-filtering-correlation-id: fdfe72b5-401d-40d6-987f-08de0b3d18e7
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|42112799006|376014|7416014|366016|1800799024|38070700021;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?jxgF3OI4+DJcqQZJDiU97PeBPWJwt0JmNowjOuHgJ2rhm6YM8y0XBzLFEe?=
 =?iso-8859-1?Q?tE5AsY/nLeMbTeGQmRiYWcA4q81bgjODOIHjMmcgK0pvTgvJiFok5YSoue?=
 =?iso-8859-1?Q?p3yEZp1Y8GQ8Iq2EA/MJZtfCGlklkERHR+yndYHlvEy74S9a7OkwpZ2u0+?=
 =?iso-8859-1?Q?+P2e0MUU1ubwJxmGa4SpX3XIAzBNdh6IES9g3aiHpf+ggEOkJQszB+kTPL?=
 =?iso-8859-1?Q?DQSeK8ESp9Z0itlMtmRoYPkRkzVmn74e/W7+ZRiQfYyiSRMVhDJ+R5NX01?=
 =?iso-8859-1?Q?fDQiEqLAF5AK+1HcIUPYu3QvxR2nZ8WudZeniB6rk6myBnYZ+vW5nDYU9f?=
 =?iso-8859-1?Q?+Ndl04F5tGD09XunpsKNgMHXN5TvNBi+nMHav0mWnbx1UdBn1euxyouV2k?=
 =?iso-8859-1?Q?bQoKadn6VVMnt0g+h/WaCdAYZVhGksvUpiHZ+rZWQwVP0eek8rLhx86xjX?=
 =?iso-8859-1?Q?6osgSbK5X77VjaLECxQJR7EEOzCTbR3YYFwKLJfwN/ge9su9NHfqEhVnYQ?=
 =?iso-8859-1?Q?Jmdv1WKG8C++ICktK5JfitYwyQ4D4ymdDeRWz0WaVudaStsHTZ608FsPeR?=
 =?iso-8859-1?Q?PamxnJ4qIl+MvvlLF739FdeYy3Tc7tjFoXsP0pCRjpOftZ5iLJppbCn/XU?=
 =?iso-8859-1?Q?vsTZBr7Oq7UxMK+oqGm3TMvP8V7wLojLXex6/My1keXiy1AVWXJ4uniV1x?=
 =?iso-8859-1?Q?yBYTQHv+NMpSMKmIz7y9oAZTOH7E0yElO5rkQTdcoqSLUMoreqKgBEQg2U?=
 =?iso-8859-1?Q?WcWPQeJEJ1eiGlVgL9boKhLS3j80Ew+sYRfLPqEbJFtWXofwFy8yRKN/lg?=
 =?iso-8859-1?Q?DPzGCeWCb51NeFZAKvQlDfgSA0lC/Qi+OqPfrggSruYGPsTikJeRtvT3Ng?=
 =?iso-8859-1?Q?O0LtH5AkbCCGjlwlkoxv8hN15NdC77KvFZMLyYiVikWr9hfafqCGAGy0HL?=
 =?iso-8859-1?Q?G7foBQZHfNPoDVfKcXklpALc3n6J+6KKdTm/7XhftO2utDrI/IOW7SL2/D?=
 =?iso-8859-1?Q?TQtifB1LYflJ/SSTVCaUc2rKENLIJOMw33tXB5mzUnCZ+1E23pH7VI7Y/T?=
 =?iso-8859-1?Q?k6Z5GTmXSumB93Nd827JFwO3XwtDSGlgTCr4wltO3GmyOdFb4B5PCAuQND?=
 =?iso-8859-1?Q?PLxq3LyfNHiELVId+ei+kOpyh7rA6WicMzrXQYQUTDeMOvoQO0K8YrSyWI?=
 =?iso-8859-1?Q?121Tfk/mQlU/vDY2DGAFxMuDwdq/W9K5cR/SAUZ32VMyk1KAlwQ9jDyyie?=
 =?iso-8859-1?Q?25eP/3Egy5a+3VQwpfODvm2/AQXbSUK7phyLC70zZW89pRuzrZxEw89lQ6?=
 =?iso-8859-1?Q?X6K56aOejE4N9sJmbKiMsOyKCTVvBNELdIfV/Da1CzQYTb2b0Qz6dc3CV2?=
 =?iso-8859-1?Q?t0PKk618rzdZPyM1nwrfddrRZQAj3Hzv2poK3Yq9698kMgiZIUQhkMAEKq?=
 =?iso-8859-1?Q?wO+7136XHndDB/n7KB9sx0hsBESIX1Ir0JxcIrha1xYHSlIXaSRhcioi17?=
 =?iso-8859-1?Q?B9kws05Hq5bBJeETamwdnxoPN9sIThGXqFqnr42Wh5jQ=3D=3D?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:GV2PR03MB9572.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(42112799006)(376014)(7416014)(366016)(1800799024)(38070700021);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?blPFPJW046p9iPRidDQf4dauj4cQR7OEw5KMuOJEQ1+FR4Vflwk7bbKbmR?=
 =?iso-8859-1?Q?jrP8Jobe+tEWpz4pi77bMZx9l84Y0vWLw/rci+OrhwdKhxjEyQYkHcVhZ6?=
 =?iso-8859-1?Q?PzRb2B0xbeI9tGS0+2/Nb5hLbY3zL6whXv0yb0RnGr/ri3WQNiZrZB8WGQ?=
 =?iso-8859-1?Q?KRrPXQxG1xHAfPdg9hPLImEaCP5L2BLQg11xW/cuCMveVtUdDprCbtzYYQ?=
 =?iso-8859-1?Q?RT2kjToQFuBDyq5SKv9YuzbzNnw/zlt14ewZ3KOZHJ9sxFXuDn0s+Nl3wb?=
 =?iso-8859-1?Q?tA5CDANoPMQ2O30aOE0FtJ9P244TwjfJVInLmp+fS1PORDyFLZAQC0ZRPx?=
 =?iso-8859-1?Q?goLFWYREn8VnatXetQ/6PTKtXgErquV18uXAmjqe9rj9oomKWfuTG9ub+V?=
 =?iso-8859-1?Q?uwI94PnrUMkIKSAjA/jVV4sqHBoNaL6ZH5oYbPI2fohm7Nn58jwKds5CQ+?=
 =?iso-8859-1?Q?Jq6nq7svpfKgwPqAjPyd4uR7haC9ymtw/OGXINdYng7QE1TeV7wBQeEfnQ?=
 =?iso-8859-1?Q?jm1Mcg/clTw475snYuOCEo8XkTOY2n2KxB/7pKGAjZPOkcmipkA741b0Tj?=
 =?iso-8859-1?Q?5qemgTaClnZvPhnHcLhcMt2kLpDpvb/WfZtpOru/y3iHj3qACLCbJR7GLO?=
 =?iso-8859-1?Q?nCl0r5crIt+Ml7igo+RxeaeAWFB7BrqdbGUQeZINJ7uikFuDjKEJKXxIw8?=
 =?iso-8859-1?Q?AbYtf1nktPe4c4lwyEnPDFGF6kKlmu6/RABNsKGNIbJG4jMFRt1e52Idei?=
 =?iso-8859-1?Q?k+8nx1aaOfKj4pCEDSR//EQbU7GRzUAyb0hbJ0fNv46AuSI1CJHntFpA2Q?=
 =?iso-8859-1?Q?pdwA77bdsCaem7KxiNcXRl2etDXrf9oPGFwbF1n/Gzvjmi/3IlsUJxmIA1?=
 =?iso-8859-1?Q?9fZwEVGg/LDFJy7SZ50HIDu2KHF6DjcyzKvGMt4zhT7EZeG01Jq3DVKBy6?=
 =?iso-8859-1?Q?1czGC9/LGETjbRcedk1aK4cX96YlZKfh9vSKqwlPlf/l+PDQlDqkJUFyL0?=
 =?iso-8859-1?Q?Xh8eSlT7uCERq7XfwcH934sT5aWyBNihjy8REslwfYg2m6Hccz8dYIfyOF?=
 =?iso-8859-1?Q?I1ib27ZJ1iRPUonLZUnddwi6QtZhXAZtnabssDvZPTMQ4etBOhxaNi4ReS?=
 =?iso-8859-1?Q?itmfoyyRddy4LFXUXasn8zYKt9dZdlwgDtV4ZrGmGH2OHdsY5hKwIjOdRv?=
 =?iso-8859-1?Q?lazQprwYrYhBu+7z+Nr7HZ0FISNa2OycURICsipU7jJ6MTDb0vy1llf2Hw?=
 =?iso-8859-1?Q?keqcJ7zztgi8gpSc2aXWLPMSckE1X1f3TR1Y8vYDnJdO/GtEMtX/kZ3a14?=
 =?iso-8859-1?Q?+n3Bc4lPP1rsB8iNXR6ktXDnd+T/ezSbpWS0dYl7mw51QzwVfxWjMUv2FL?=
 =?iso-8859-1?Q?2uL9tOa3kDAmk/dRh6eBRag45tr1ZFL1FoxcA2WRgygOFRhcU0wD5LST++?=
 =?iso-8859-1?Q?ua1zRNTpoMo11+gk35pIOzRoLiGlGVGHX8QxslHvxcPeE199xRlge0ygm+?=
 =?iso-8859-1?Q?9p3yaUidNwYeHR06znF4pIBM1yHXBZY8dPGrS/ER1qQ7NgcDgijqGSXhGL?=
 =?iso-8859-1?Q?10OFBj5D3enfA/NPmRQgOmrqPs7r3y9ADxC63vQjsyCoqbaRGe6n41U0Xe?=
 =?iso-8859-1?Q?Az0b3Zh72FCsav2KiPYTx3iNRIG/4vvkyQX8eDoaEFFHYm2RNZ4dDMeA?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: GV2PR03MB9572.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fdfe72b5-401d-40d6-987f-08de0b3d18e7
X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Oct 2025 16:16:57.1547
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: OM5KL+un93DymlaGnhGmsRvf//a7qAP5QYo4HsoRiImVpHaowtaUeRmqtOLZFQ9CVXoxOdAYePXDzFZID6LbOfrAsDUCXiGFiFcqToY73b0=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR03MB6481

Rule 11.1 states as following: "Conversions shall not be performed
between a pointer to a function and any other type."

This deviation from Rule 11.1 relies on both ABI definitions and compiler
implementations supported by Xen. The System V x86_64 ABI and the AArch64
ELF ABI define consistent and compatible representations (i.e., having
the same size and memory layout) for (void *), unsigned long, and function
pointers, enabling safe conversions between these types without data loss
or corruption. Additionally, GCC and Clang, faithfully implement the ABI
specifications, ensuring that the generated machine code conforms to these
guarantees. Developers must note that this behavior is not universal and
depends on platform-specific ABIs and compiler implementations.

Configure Eclair to avoid reporting violations for conversions from
unsigned long or (void *) to a function pointer.

Add a compile-time assertion into the file 'xen/common/version.c' to
confirm this conversion compatibility across X86 and ARM platforms
(assuming this file is common for them).

References:
- System V x86_64 ABI: https://gitlab.com/x86-psABIs/x86-64-ABI/-/jobs/arti=
facts/master/raw/x86-64-ABI/abi.pdf?job=3Dbuild
- AArch64 ELF ABI: https://github.com/ARM-software/abi-aa/releases
- GCC: https://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html
- Clang: https://clang.llvm.org/docs/CrossCompilation.html

Signed-off-by: Dmytro Prokopchuk <dmytro_prokopchuk1@epam.com>
Reviewed-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
Changes in v3:
- wrote the similar wording as was written for conversions _from_ function =
pointer types
- limited a compile-time assertions to x86/arm architectures

Link to v2:
https://patchew.org/Xen/b0f269822312a442e87ab02c8deff028b6b040a9.1758787340=
.git.dmytro._5Fprokopchuk1@epam.com/
---
 automation/eclair_analysis/ECLAIR/deviations.ecl |  8 ++++++++
 docs/misra/deviations.rst                        |  8 +++++++-
 docs/misra/rules.rst                             |  7 ++++++-
 xen/common/version.c                             | 14 ++++++++++++++
 4 files changed, 35 insertions(+), 2 deletions(-)

diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/=
eclair_analysis/ECLAIR/deviations.ecl
index 7f3fd35a33..219ba6993b 100644
--- a/automation/eclair_analysis/ECLAIR/deviations.ecl
+++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
@@ -375,6 +375,14 @@ constant expressions are required.\""
 }
 -doc_end
=20
+-doc_begin=3D"Conversion from unsigned long or (void *) to a function poin=
ter can restore full information, provided that the source type has enough =
bits to restore it."
+-config=3DMC3A2.R11.1,casts+=3D{safe,
+  "from(type(canonical(builtin(unsigned long)||pointer(builtin(void)))))
+   &&to(type(canonical(__function_pointer_types)))
+   &&relation(definitely_preserves_value)"
+}
+-doc_end
+
 -doc_begin=3D"The conversion from a function pointer to a boolean has a we=
ll-known semantics that do not lead to unexpected behaviour."
 -config=3DMC3A2.R11.1,casts+=3D{safe,
   "from(type(canonical(__function_pointer_types)))
diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst
index 3271317206..b3431ef24e 100644
--- a/docs/misra/deviations.rst
+++ b/docs/misra/deviations.rst
@@ -366,11 +366,17 @@ Deviations related to MISRA C:2012 Rules:
      - Tagged as `safe` for ECLAIR.
=20
    * - R11.1
-     - The conversion from a function pointer to unsigned long or (void \*=
) does
+     - The conversion from a function pointer to unsigned long or '(void *=
)' does
        not lose any information, provided that the target type has enough =
bits
        to store it.
      - Tagged as `safe` for ECLAIR.
=20
+   * - R11.1
+     - Conversion from unsigned long or '(void *)' to a function pointer c=
an
+       restore full information, provided that the source type has enough =
bits
+       to restore it.
+     - Tagged as `safe` for ECLAIR.
+
    * - R11.1
      - The conversion from a function pointer to a boolean has a well-know=
n
        semantics that do not lead to unexpected behaviour.
diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
index 4388010ec9..4e94251887 100644
--- a/docs/misra/rules.rst
+++ b/docs/misra/rules.rst
@@ -431,7 +431,12 @@ maintainers if you want to suggest a change.
      - All conversions to integer types are permitted if the destination
        type has enough bits to hold the entire value. Conversions to bool
        and void* are permitted. Conversions from 'void noreturn (*)(...)'
-       to 'void (*)(...)' are permitted.
+       to 'void (*)(...)' are permitted. Conversions from unsigned long or
+       '(void *)' to a function pointer are permitted.
+       Example::
+
+           unsigned long func_addr =3D (unsigned long)&some_function;
+           void (*restored_func)(void) =3D (void (*)(void))func_addr;
=20
    * - `Rule 11.2 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-S=
uite/-/blob/master/R_11_02.c>`_
      - Required
diff --git a/xen/common/version.c b/xen/common/version.c
index 553b97ba9b..57a4a74c3d 100644
--- a/xen/common/version.c
+++ b/xen/common/version.c
@@ -217,6 +217,20 @@ void __init xen_build_init(void)
 #endif /* CONFIG_X86 */
 }
 #endif /* BUILD_ID */
+
+#if defined(__i386__) || defined(__x86_64__) || defined(__arm__) || define=
d(__aarch64__)
+static void __init __maybe_unused build_assertions(void)
+{
+    /*
+     * To confirm conversion compatibility between unsigned long, (void *)
+     * and function pointers for X86 and ARM architectures only.
+     */
+
+    BUILD_BUG_ON(sizeof(unsigned long) !=3D sizeof(void (*)(void)));
+    BUILD_BUG_ON(sizeof(void *) !=3D sizeof(void (*)(void)));
+}
+#endif
+
 /*
  * Local variables:
  * mode: C
--=20
2.43.0


From xen-devel-bounces@lists.xenproject.org Tue Oct 14 16:36:32 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Oct 2025 16:36:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142950.1476841 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8i0g-0004LZ-J7; Tue, 14 Oct 2025 16:36:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142950.1476841; Tue, 14 Oct 2025 16:36:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8i0g-0004LC-G0; Tue, 14 Oct 2025 16:36:26 +0000
Received: by outflank-mailman (input) for mailman id 1142950;
 Tue, 14 Oct 2025 16:36:25 +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
 <SRS0=MYj7=4X=epam.com=dmytro_prokopchuk1@srs-se1.protection.inumbo.net>)
 id 1v8i0f-0004L6-3T
 for xen-devel@lists.xenproject.org; Tue, 14 Oct 2025 16:36:25 +0000
Received: from MRWPR03CU001.outbound.protection.outlook.com
 (mail-francesouthazlp170110003.outbound.protection.outlook.com
 [2a01:111:f403:c207::3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id eafcc6ac-a91b-11f0-9d15-b5c5bf9af7f9;
 Tue, 14 Oct 2025 18:36:23 +0200 (CEST)
Received: from DB4PR03MB9556.eurprd03.prod.outlook.com (2603:10a6:10:3f3::12)
 by AM9PR03MB6756.eurprd03.prod.outlook.com (2603:10a6:20b:2dd::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.13; Tue, 14 Oct
 2025 16:36:19 +0000
Received: from DB4PR03MB9556.eurprd03.prod.outlook.com
 ([fe80::ff66:ad9c:fa1:ef30]) by DB4PR03MB9556.eurprd03.prod.outlook.com
 ([fe80::ff66:ad9c:fa1:ef30%5]) with mapi id 15.20.9203.009; Tue, 14 Oct 2025
 16:36:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eafcc6ac-a91b-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=whAcFV/80+1LYnOSOLdBIz6Wobrj4s8YASw5KwB9uDmQuC9Cm71tvjh6z6HGt9r9rzHyyDWDMhErn/TaGuTdtwexpuNAFi3ttemr7lJXVlEeb55r4+FiZNNJbqjm4uuGnED7g9fE7wrJBTYakz71pJpLyAk+K8vVm5FXyEi3MM2XErRxaPmFcMejvgt5eOpfjdx5fFjpHhYhoIHuBKxy+7/WGa4uy3OFbr8YWMmcRlkez4IE0/wQ6VEls6Rxut5YLEbjqbpiHMv/NuBzRwn4DTUJTgu9Q+7mBfglbM4OF4aOU983gsHQ3rvEi0Zqs+uF68eEWKp6Bgpb63NvY6E5FA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=IBRkNPWSgPH8vclCOAb0N0pom0K0OPZ5N9LX1LDkHd8=;
 b=Wza2bpzZbz+3YZzAcpTvTOBOt13KY4rZXKzn/pxRrS9MtthD4ObxK8XecUKXCymge7CVVUM2R9W2gWmk9dVI+ZfyY4Ra2VlVzAhw+4rTH9mVO3ngjRul55m7vHJa2qBnULgZDl+Fxv6P+J/lHExXoyvGGXuVnMcxwZPEEGANb+5VOxuBXtN2Kg100jyFWjMKy3pA78RcAAKWGxw2o0gn+msZ2I2xnTvPhd3njhsiED73cW0pc+1D7L+WFQq+8RsmbUM+oDgqhAUC569f9bEi+Om8rOH1tQwLXjJKzEPp0N4m4WD6zd0qxbAi1ZNJf8TIY+ZymsBjxTSfF1HjERIfig==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IBRkNPWSgPH8vclCOAb0N0pom0K0OPZ5N9LX1LDkHd8=;
 b=k+wKCARd58N5i3aYuwhPhi3hjS1oHXpgx604G3rskT7gMDq1rOLbA6b4V2S9gV2bgxwSoM0jBfO5rEqYyuyF0IOgb3V3GgEwAGoxyg1dJKFD7JXX25HyWQW27HBGk6nQbm4YrLUiM2vbYn/XiiVFByp2Me9PM7bkwRRbf1j1fp7O15c8M/Y03YfM8nlR/P8w2c/i6txamxYdQhFq9rebEHUaZa+2Uxx27LZBeQJpBaFgmpC8zfeT3q9PmJlwk387kW5T6h9FqIhuRMu6OEzDnUoXbo22GIC4PM1htDxNg+zpfS7kdV10haQcPyFnCk9Kf/iRya5vsimLPZuJL/rhmg==
From: Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Anthony PERARD
	<anthony.perard@vates.tech>, Michal Orzel <michal.orzel@amd.com>, Jan Beulich
	<jbeulich@suse.com>, Julien Grall <julien@xen.org>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>, Stefano
 Stabellini <sstabellini@kernel.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Resend: [PATCH] arm/gic_v3: fix MISRA C R2.1 violations in
 gicv3_do_LPI()
Thread-Topic: Resend: [PATCH] arm/gic_v3: fix MISRA C R2.1 violations in
 gicv3_do_LPI()
Thread-Index: AQHcMXsLUvRxhyKkhUuhWVAohL+E7bTB7l2A
Date: Tue, 14 Oct 2025 16:36:18 +0000
Message-ID: <b4bc294d-c64e-483f-bfb7-89270ac6d7cd@epam.com>
References:
 <b26772df8733dbd1ce6ea14a6e8b73f278db3a3d.1759174857.git.dmytro_prokopchuk1@epam.com>
In-Reply-To:
 <b26772df8733dbd1ce6ea14a6e8b73f278db3a3d.1759174857.git.dmytro_prokopchuk1@epam.com>
Accept-Language: en-US, uk-UA, ru-RU
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DB4PR03MB9556:EE_|AM9PR03MB6756:EE_
x-ms-office365-filtering-correlation-id: 3f0694ae-4cc7-489d-296c-08de0b3fcd1c
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|42112799006|376014|366016|1800799024|38070700021;
x-microsoft-antispam-message-info:
 =?utf-8?B?dUxtT0Eyc0JMVUlLcVlHOVBpeGtLcnZaUHhlWTl1bkd2Y0R5M0Y3NjByWkx5?=
 =?utf-8?B?NHZESml6U1BZaEd2dEphZG1TSGpUbC9BVUcramUzM0Rab1ZubEYyNFU2MDYw?=
 =?utf-8?B?RlFrdEsxODRvZ00weWViV0loRXpxYlN3cFkvYndTWVNKamgxTnJ5R3pFWk9U?=
 =?utf-8?B?UURYUXBGTHVGVnUzWHoxWGdyekkxQ2ZnbGJ6d0llRUZFMWNteUg1Zm1GYWN6?=
 =?utf-8?B?dldqeVR3YW9zWjBwbVZ5eFhVekhGVEZlejdPSVBWL1RMbXBrczNUSkdPQnhq?=
 =?utf-8?B?bEl5SEIwSzF0YWVGQ0RKNWpxb3VQaWFzVjZZbHcycWVEek5GRjBnL2ZpRjIr?=
 =?utf-8?B?Vmovcm5jUW1qL3l2WkVOa2daTGREa1dBT0hCQitteHkrVHljT3JlcnZOWGxL?=
 =?utf-8?B?WEdLN3VTeWlXTlpua1ZnVytlRERhV3R0WmI5ZzJBbElvWTg4WUhUd1JVUnNI?=
 =?utf-8?B?Vi9adURDVjdlWFpoYlp2SStiT3RKQ2gxTlE2UmNuQnE3UllOTU5MOVk1TEFi?=
 =?utf-8?B?V0h2b2tlV0g2VFppWEM1V0Nna2tjcHBCNHVvWlVIaENBK0t5VzJ2L1FPeHg0?=
 =?utf-8?B?YmRvemdLZXYyUDRZNS8xaUQ2enJ3VE1kMGwrWlI1ejBMMnh3dVo5S3lwb3Av?=
 =?utf-8?B?cEs5bm1xL0lnYlMvVlp6UVpab1hvOVByRzcxbi9vRUhwYnpadERHOXorWGZX?=
 =?utf-8?B?bFRwRTJZalBhcHdiR2pZWnVnUW9BY3duTkFkUTQ0QkZzTjNhZzNMNWhocS83?=
 =?utf-8?B?SFM2VmlUbExrR0cyNTg5bmV2YnM5OCtOMXlMVC9aNTJ3ZFJhQ2JoaUVQcHZ5?=
 =?utf-8?B?V0s3cWw0RDdQSGxMQ3BjczBEbklib3krejkzTVpMTWZoQUcrQWpVTjBYdDNM?=
 =?utf-8?B?c0k3YmI3VW9OMTlnUzUwTlRzUWxOeU1rRjJVM0hYOTVsNGtBVTd5NGlDVVBN?=
 =?utf-8?B?RldMUmd1WUhmaGhGMmNyVnNiakl3Z3B2blV4dWw0Y1UzSk9INDgyQURIb3cy?=
 =?utf-8?B?RWh3cVE4cXlnbWxxNmFDeDBiaXl5T2ljVVdxekZEQVhzaHBBMmtKdFhib2Iv?=
 =?utf-8?B?ZlVUT1N3OEhxMjlkaHk3UTJjaE9qTStmU2VoYlFhVkZCZnhpUHM0VnlsNkVo?=
 =?utf-8?B?UzNSK1ExOWpGZms1T1hOSzQyWDZWQUhFalYyekJCNVdhNTJPd3IvK3JhYTln?=
 =?utf-8?B?MGtlOGlOdHhMc1ZWNk4wbU4zeWJRMXRLUDZhZzd1V3Y2RlJ5NTNTMjJoRW12?=
 =?utf-8?B?MlplUGlBN3ZacVVQajNPQlk1L3hWQ1NuTXIyalF0ZkE5VXRlN1RmVS9LS2Ux?=
 =?utf-8?B?Wm5uMzVsa0Z2MmhsWnJpT3dMZmJBWkRtRXQ3cHgyTjVkMXM4YXhlMDBFYW9y?=
 =?utf-8?B?cnNGbldzT3krZGZ4YjE3Zk5KVHQ2OUtOK0hsVkdWSGx0UEtMWEowYnVvWmZh?=
 =?utf-8?B?SC9DMFJGdGZJRkVGWGZuV1Q0S0R1c0R1VzBTT3VnZ3JvRWNpclk1cENVODdk?=
 =?utf-8?B?WEJaeStHR3g4VWlqVUJ4eGpKWkFZVkNIVFdVNVYzTlZIdDEzc3NVWFNyaFZO?=
 =?utf-8?B?NFBqa2txWHZpT1NyVy9JT2lQMnlscEwzYk0rVmt0c1pJNVg5cmtvRGVjSjJD?=
 =?utf-8?B?bkNiMDZ5MkYvZUZCQmd4N0ZCU3VRYlNkNGsySkFyN2Rzc0dURGk1SHBPc1pz?=
 =?utf-8?B?Yy96RW9ZVkYwZlZEYk5KS2dQbHVLNzhibndQMTlPc1MxN3BJS1VjQ1dwTFRB?=
 =?utf-8?B?blhUT1ZQa2p4elQwMURBQnNtWFBOR1VwMWQ2dm1RUEFXSHhRRndmS2tucGpp?=
 =?utf-8?B?MXhxOUVhVWFtL0VhNzRucnAxTnYwMmJDVllKaGVoQjVNK0U1NnE1NVpNSzI3?=
 =?utf-8?B?aUFjQUlFQlBmRzBuWHFRbkh1ZUwySlIxNE5rUTJPdStxLzA3UDBwU2hKNklY?=
 =?utf-8?B?RzRNVFlnRVRYSmUwSURlMGVzU1B2aURzdDhZOHpJSjNxNndET052VmgzRk05?=
 =?utf-8?B?L1YxdUZLQ3dWb0VXSjVHUk9SNEc3R1NlWVVnYzVkQzJFR3pZNU9UZGIrTmtX?=
 =?utf-8?Q?eqBeD0?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB4PR03MB9556.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(42112799006)(376014)(366016)(1800799024)(38070700021);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?bGhNYjRkYk1XTklDQndCYVF1T1JpWFh5OGxQNkxzSVhiYUN2THdKN3hpYk1q?=
 =?utf-8?B?NEE4UjlzYlJZbmU5cjJTYzVZSjBTMVhvR2pUWUsxMFBDNjN1M2t6QWZQVTFw?=
 =?utf-8?B?NzMzNmJwSTdYeGxYSWVaYWxnV2VFUkcrZ0lhOEkyMkZ4Q3hweStmUUZaMXlX?=
 =?utf-8?B?WnVKRFRuUmJ1dy9vSEFlamc2TWdHY2NJSFRnZ3ZHalphRTVoYWxjbnZtelYx?=
 =?utf-8?B?NzRGc09SaUcxRjVNN1ZwNDBJZjdzTXRjc2xycFZNUDBNc0hCSyt2bGVoaGVW?=
 =?utf-8?B?UG95cEYyY1RNS2xwVHhVajR4bzVkSTNuZlQvWTVneE5NS3JFcWc5djYwQzdY?=
 =?utf-8?B?R0l2UjlCZDk1WWZSSkZIMS93VGU4MTgydUNwZkhaWXI3aG9IS3lwN2k4TDlY?=
 =?utf-8?B?WG4xZFIrczFSdGhhZktTUThRRlV0MVN6VnJ0YS9RWWwxU2F1K0JtTDdva0dx?=
 =?utf-8?B?WlFOMmpvdWxVNFlvSU1DUDlGTWVxdkpaeThPMVRlOXhCMStwUS90L3ZzNmV4?=
 =?utf-8?B?dXBGUUR1UkxzSGRCVmlSL2pxbGMrZWYwbFhLKzMrby9UdHVOUTZLbU1QVER3?=
 =?utf-8?B?NGtFK0w2N2pVaTAyamFQUGVKMTl4aG1XTHFGeU00bVBpMStlU3NvbUIyM3Zw?=
 =?utf-8?B?MzNFeXM4WGdoZ3BGLzZkUlBKUlB3MGZkOHJCUjd2S25Kd21veG5ORVk4anVt?=
 =?utf-8?B?UmhuR0FiU3hNK2NoY3EzZTVPS1hqaitMM3poSHoyams0Q1BNekY1TjA4Q2Vq?=
 =?utf-8?B?YXFYbWVWNjZrbEtwNEhLMGVaRFh1QnZBVzZKSGZKbUcycGJKUGdvYlJtR1Vu?=
 =?utf-8?B?QmZXZTM2WjNKRVpFT2ZzczU0NVU5TTBFRDFuTXpPZTQxOWpSSmsvb25pT1cv?=
 =?utf-8?B?ZThzY2VwNnZpemZuaVpQaWp3alMzOHNnTHdXTzFKNGtwSWlFaDE0SU9CYmVB?=
 =?utf-8?B?akdnR3J6QTZzSzRuWk54NVRPSzArS0ROSzlXY0RBWmdIRHpRME5SQ3ZzdmJu?=
 =?utf-8?B?OFBmRVFLd3dEM2Vjelh1UlpwMWdkeVFGeDlWUFhzdUtqV3B2WnRHQmVrSkgz?=
 =?utf-8?B?VkdpTEM2K0NhYjR6NnYvb2Q3ZEZIRVBGVGJYNXpldmRmK2EzQy9SWVd4ODc4?=
 =?utf-8?B?b0FUN1VIUGl3RGlpcEJ2OHQrT3BhN3hnYWo1cHJpbEYyOE9Vd1kwUEhXcXlw?=
 =?utf-8?B?WjJyZ05wTFdlSEFDa05GTWNBRXJVSHkvZzN3TGdFVnJPcElydzVjNnhPbUMz?=
 =?utf-8?B?eGpvRnBzSmRWM2ZKMTFrTGJ3R1NyRE5MajllMmNZckN5NnZjWjdPNGFSZ2c5?=
 =?utf-8?B?MGZoenp4bU0rTFc3OGJtOWw4aHRWdHJ3VjY4K3d2TE1lZlVtbFY2NXlPQnk3?=
 =?utf-8?B?eEk5eWZacG9uQmxhZnVCelNjYXZuaUhHQ3QreTBMaUhadEZZVnBwNklPelFa?=
 =?utf-8?B?ZmFjOWtQeDMvZmVVYkFCZ242UmsrY0lFWWcyUklrVVVoeU5uUUI2c2YyZGJ3?=
 =?utf-8?B?S1A4YngxY2Z3MmIrNTdHbFphU2tHcWZUdDdmb0llWGNIRE9lcmh4dkVmbDFl?=
 =?utf-8?B?SjA2bHJSa2h0VjJVamR5UWlOL0c4UVhQTGVHOTNkc3VnZFp5bjExYlFWY3Zk?=
 =?utf-8?B?TEtSUi9pMW9GeHBJcFJvWHJoMWNkcE40b0o2S0VnMjBzWXVLbWVGRzludi9Z?=
 =?utf-8?B?MXk0Q3RManp3dytXUWpUUTRsaHZ2cy9pazErOFhXRHZkOTdNMlB6cDJXNHda?=
 =?utf-8?B?OHRheGVqdVlZQm5YUHp6NnBncE9hTkFQZ3RWSmR5VmlUQmtyRG1ORXNkYzRu?=
 =?utf-8?B?emlkODkrcnV0dGQ5L21VSVZVOHNSSHQ0RTlpVVg2d1hmU29qOUYrWE1rVldO?=
 =?utf-8?B?UkJib241WEdDb3JEWEhjUHhrUVVCa0d3d3I0S0cwVzY0S3ZIbSs2VkVFZ0pV?=
 =?utf-8?B?Y055TDVmazFtMFdheDRjOWZiQ0xFTGNxNVcrWERLbzZpVm9GUUFJdnUvejVO?=
 =?utf-8?B?NXFsaHZQc3lra2d6MDgwWUpGVkw4djNPaHQ2UGo0RUlGQ2ZOU09TMFhCTUFn?=
 =?utf-8?B?OHU3UGtTZzNYcmNVdW9EWGxMSDlZQVdTM2tqNm5ZMEYvSkJFa0JXS3Z5L1dC?=
 =?utf-8?B?ZE1WYm93RGZoUWdJcS9qNFA0aVRaci9GVE5SOWExcVJGcU5PS2J6QXoxL3lH?=
 =?utf-8?B?U1E9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <71F7A14A763C7C4CA7B49779F812966D@eurprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DB4PR03MB9556.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3f0694ae-4cc7-489d-296c-08de0b3fcd1c
X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Oct 2025 16:36:18.4652
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: d6OyAYmm8G5CnjC/KeTUnVBybjs/u+VRW5DgSm5Z6Xnvj9cUTgPL2JM+irYpk/3rg2vt9prW48qpSqddr4wW1II4euBha3IEqfg2zzjRupQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR03MB6756

SGVsbG8sDQpsb29raW5nIGZvcndhcmQgdG8gZmVlZGJhY2ssIHN1Z2dlc3Rpb25zLCBvciBhbnkg
cmVxdWlyZWQNCmNoYW5nZXMgdG8gZ2V0IHRoaXMgcGF0Y2ggYWNjZXB0ZWQuDQoNCkJSLCBEbXl0
cm8uDQoNCk9uIDkvMjkvMjUgMjI6NTUsIERteXRybyBQcm9rb3BjaHVrMSB3cm90ZToNCj4gVGhl
IGZ1bmN0aW9uICdnaWN2M19kb19MUEkoKScgdmlvbGF0ZXMgTUlTUkEgQyAyMDEyIFJ1bGUgMi4x
LCB3aGljaCBzdGF0ZXM6DQo+ICJBIHByb2plY3Qgc2hhbGwgbm90IGNvbnRhaW4gdW5yZWFjaGFi
bGUgY29kZS4iIFRoaXMgaXMgZHVlIHRvIHRoZSB1c2Ugb2YNCj4gdGhlICdCVUcoKScgbWFjcm8s
IHdoaWNoIGNhdXNlcyB0aGUgZnVuY3Rpb24gdG8gbmV2ZXIgcmV0dXJuLg0KPg0KPiBUaGlzIGJl
aGF2aW9yIGlzIGludGVudGlvbmFsIGFuZCBzYWZlIHdpdGhpbiB0aGUgc3BlY2lmaWMgYnVpbGQg
Y29uZmlndXJhdGlvbg0KPiBkZWZpbmVkIGJ5ICdDT05GSUdfSEFTX0lUUycuIFRoZSAnQlVHKCkn
IG1hY3JvIGhhbmRsZXMgaXJyZWNvdmVyYWJsZSBlcnJvcg0KPiBjb25kaXRpb25zIHdoZXJlIExQ
SXMgbXVzdCBub3Qgb2NjdXIgd2l0aG91dCBhbiBJVFMgZW5hYmxlZC4NCj4NCj4gQSBTQUYgY29t
bWVudCBoYXMgYmVlbiBhZGRlZCB0byBkb2N1bWVudCB0aGUganVzdGlmaWNhdGlvbiBmb3IgdGhp
cyB2aW9sYXRpb24sDQo+IHN0YXRpbmcgdGhhdCBpdCBpcyBzYWZlIHdpdGhpbiB0aGUgY29udGV4
dCBvZiB0aGUgWGVuIHByb2plY3QuDQo+DQo+IFNpZ25lZC1vZmYtYnk6IERteXRybyBQcm9rb3Bj
aHVrIDxkbXl0cm9fcHJva29wY2h1azFAZXBhbS5jb20+DQo+IC0tLQ0KPiBUZXN0IENJIHBpcGVs
aW5lOg0KPiBodHRwczovL2dpdGxhYi5jb20veGVuLXByb2plY3QvcGVvcGxlL2RpbWFwcmtwNGsv
eGVuLy0vcGlwZWxpbmVzLzIwNzA0NTU3MTcNCj4gLS0tDQo+ICAgZG9jcy9taXNyYS9zYWZlLmpz
b24gICAgICAgICAgICAgICAgICB8IDggKysrKysrKysNCj4gICB4ZW4vYXJjaC9hcm0vaW5jbHVk
ZS9hc20vZ2ljX3YzX2l0cy5oIHwgMSArDQo+ICAgMiBmaWxlcyBjaGFuZ2VkLCA5IGluc2VydGlv
bnMoKykNCj4NCj4gZGlmZiAtLWdpdCBhL2RvY3MvbWlzcmEvc2FmZS5qc29uIGIvZG9jcy9taXNy
YS9zYWZlLmpzb24NCj4gaW5kZXggMzU4NGNiOTBjNi4uNGMyMjdjMWU4YiAxMDA2NDQNCj4gLS0t
IGEvZG9jcy9taXNyYS9zYWZlLmpzb24NCj4gKysrIGIvZG9jcy9taXNyYS9zYWZlLmpzb24NCj4g
QEAgLTEyNCw2ICsxMjQsMTQgQEANCj4gICAgICAgICAgIH0sDQo+ICAgICAgICAgICB7DQo+ICAg
ICAgICAgICAgICAgImlkIjogIlNBRi0xNS1zYWZlIiwNCj4gKyAgICAgICAgICAgICJhbmFseXNl
ciI6IHsNCj4gKyAgICAgICAgICAgICAgICAiZWNsYWlyIjogIk1DM0EyLlIyLjEiDQo+ICsgICAg
ICAgICAgICB9LA0KPiArICAgICAgICAgICAgIm5hbWUiOiAiUnVsZSAyLjE6IFVucmVhY2hhYmxl
IGNvZGUiLA0KPiArICAgICAgICAgICAgInRleHQiOiAiSXQgaXMgc2FmZSBiZWNhdXNlIHRoZSBC
VUcoKSBtYWNybyBpcyBpbnRlbnRpb25hbGx5IHVzZWQgdG8gdGVybWluYXRlIGV4ZWN1dGlvbiB3
aGVuIExQSXMgYXJlIGVuYWJsZWQgd2l0aG91dCBhbiBJVFMuIg0KPiArICAgICAgICB9LA0KPiAr
ICAgICAgICB7DQo+ICsgICAgICAgICAgICAiaWQiOiAiU0FGLTE2LXNhZmUiLA0KPiAgICAgICAg
ICAgICAgICJhbmFseXNlciI6IHt9LA0KPiAgICAgICAgICAgICAgICJuYW1lIjogIlNlbnRpbmVs
IiwNCj4gICAgICAgICAgICAgICAidGV4dCI6ICJOZXh0IElEIHRvIGJlIHVzZWQiDQo+IGRpZmYg
LS1naXQgYS94ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vZ2ljX3YzX2l0cy5oIGIveGVuL2FyY2gv
YXJtL2luY2x1ZGUvYXNtL2dpY192M19pdHMuaA0KPiBpbmRleCBmYzVhODQ4OTJjLi42NzJkYWU3
YWMzIDEwMDY0NA0KPiAtLS0gYS94ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vZ2ljX3YzX2l0cy5o
DQo+ICsrKyBiL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9naWNfdjNfaXRzLmgNCj4gQEAgLTIy
OSw2ICsyMjksNyBAQCBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCB2Z2ljX3YzX2l0c19jb3Vu
dChjb25zdCBzdHJ1Y3QgZG9tYWluICpkKQ0KPiAgICAgICByZXR1cm4gMDsNCj4gICB9DQo+DQo+
ICsvKiBTQUYtMTUtc2FmZSAqLw0KPiAgIHN0YXRpYyBpbmxpbmUgdm9pZCBnaWN2M19kb19MUEko
dW5zaWduZWQgaW50IGxwaSkNCj4gICB7DQo+ICAgICAgIC8qIFdlIGRvbid0IGVuYWJsZSBMUElz
IHdpdGhvdXQgYW4gSVRTLiAqLw0K


From xen-devel-bounces@lists.xenproject.org Tue Oct 14 16:37:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Oct 2025 16:37:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142961.1476852 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8i1S-0004qC-UT; Tue, 14 Oct 2025 16:37:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142961.1476852; Tue, 14 Oct 2025 16:37:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8i1S-0004q5-RZ; Tue, 14 Oct 2025 16:37:14 +0000
Received: by outflank-mailman (input) for mailman id 1142961;
 Tue, 14 Oct 2025 16:37:13 +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
 <SRS0=MYj7=4X=epam.com=dmytro_prokopchuk1@srs-se1.protection.inumbo.net>)
 id 1v8i1R-0004L6-Ky
 for xen-devel@lists.xenproject.org; Tue, 14 Oct 2025 16:37:13 +0000
Received: from DU2PR03CU002.outbound.protection.outlook.com
 (mail-northeuropeazlp170110003.outbound.protection.outlook.com
 [2a01:111:f403:c200::3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 094a6492-a91c-11f0-9d15-b5c5bf9af7f9;
 Tue, 14 Oct 2025 18:37:13 +0200 (CEST)
Received: from DB4PR03MB9556.eurprd03.prod.outlook.com (2603:10a6:10:3f3::12)
 by AM9PR03MB6756.eurprd03.prod.outlook.com (2603:10a6:20b:2dd::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.13; Tue, 14 Oct
 2025 16:37:11 +0000
Received: from DB4PR03MB9556.eurprd03.prod.outlook.com
 ([fe80::ff66:ad9c:fa1:ef30]) by DB4PR03MB9556.eurprd03.prod.outlook.com
 ([fe80::ff66:ad9c:fa1:ef30%5]) with mapi id 15.20.9203.009; Tue, 14 Oct 2025
 16:37:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 094a6492-a91c-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Kt8vQCEcT5V3CCT+NoyDcIzliwhJgO/jlvQHj1WNMrAgCdbuYntT1a4bJcXmos9UA3oAZY5rtfKqDP3J4eb2bjF7EcumRACBX2riePq+mx51VgQ3rxeaO23MUllMNivbcB0+yGoW5oAN0dKGWdj+sVOy3O+McEF5Sk5LnBul9vNcv3wWfsntK6LshNyd4vy0JdlGzQLl/ZFWLxRm2FFxTfndzuyK1WxobQqGSBglDfnl6kO7T4d+OzN4JuySg2Ez1U0uuxDZVXaoioWDwD+AW4FIa1FUEc4Hd+Qs92ylADi6iuov/zxkOdyYCPh6CUApc4ti8uQSEfBaRVe+ecpMpg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yo9YluAqRpwJjwuSG3biyePxzdZ+1Xi7kQSoPtsIXUU=;
 b=vqZbZZV1PCJwkcXKR99dtg8AJd0bQJVL8uj32XIOue/PKzJAghW98P9sxmivdOwGB7WNXwz2BVlU2yQrHeXQE3qpTzApkNN9nRyEW+dM24d0v0BQ1dWmiQEwIYZEsNajyis5if6LjwC4IRN0qPuCvXcYnXeJP9BoafF7vKjkMRY4X340rMmmcdtymPBhx1tQIs8hdmXYDnBmijPMOhQquICgV4hj1hkPzjLDeGDGox8cKlDN5bHQORypivqpNNVdFlz8eFTXw1DzIGDEEDF9jckhVRO0fNIrbkadbC0HkBmI/Gg79BxBxcSmzifTlhxpN/8viVe0Uwwt7omqBpmPKg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yo9YluAqRpwJjwuSG3biyePxzdZ+1Xi7kQSoPtsIXUU=;
 b=mF0BbACgyDy1jCJ+LQkeXvBWUvtBe/7+gtP9RJ2Ahbmt4tFmwAEe0uNnUEKIHeyEvrb5OxB8qd5mL8QkJu4JkRcn5pVcydfGgLvzAvjqQ5+7llGJP+CO/9OZvo3yTlIoKXDNFyGO1NI6TWRo340RcdBv7W/0VnsWRLk/Ine4gLPmFLZPTMea3ThLJmKOTBm0OI0Ed6FJlNbZG8d1kMG6hPy9TTutmDPTFsFoOBj1b9naB+bbn9jY1ko8isqQKbJkoewvWqOcJl/Za5u5TlnTSYYlxv2eOzOlEpOrCHRGdIWxOr34bc3wqu+9AuvaS5RbeiU6Lgt7ot8G43HPijYxXw==
From: Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, Michal Orzel
	<michal.orzel@amd.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Resend: [PATCH v4 0/2] arm: address violations of MISRA C Rule 2.1
Thread-Topic: Resend: [PATCH v4 0/2] arm: address violations of MISRA C Rule
 2.1
Thread-Index: AQHcMXDlieIVRZL5wEWYCDA6Feaxa7TB7rAA
Date: Tue, 14 Oct 2025 16:37:10 +0000
Message-ID: <9a3e591c-b94a-4dd4-9ab3-1e91ea155f5f@epam.com>
References: <cover.1759168391.git.dmytro_prokopchuk1@epam.com>
In-Reply-To: <cover.1759168391.git.dmytro_prokopchuk1@epam.com>
Accept-Language: en-US, uk-UA, ru-RU
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DB4PR03MB9556:EE_|AM9PR03MB6756:EE_
x-ms-office365-filtering-correlation-id: 9746552c-7f73-424f-0dc7-08de0b3fec60
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|42112799006|376014|366016|1800799024|38070700021;
x-microsoft-antispam-message-info:
 =?utf-8?B?SjlOQ3dPUFlva1ZLa20zSHZuUUdQeGlibEpKNlNLRG9walQ1bWRjQjVMTkQ5?=
 =?utf-8?B?QndXQlo0OVlqYTVTUXVOM0pHQlh4R1FQeEZwZ1lIVDFOUXdDNXNLQWMvWnBt?=
 =?utf-8?B?VDlmT0I3RzVBbjBaQTA5akFaRmIycGVHVjFKcjZhRlphUzR1bGg0ZlJDdjY5?=
 =?utf-8?B?aUZZL0luYk5pR1ozYStBdzg1QW5jU3BwYklsMHgzcm9VRmljekFSV3RsRTZE?=
 =?utf-8?B?V1BCdjFTSm5NbmtVV2lHeGhYV2NSeEVRaVBUU09MZ0lvM2NPL3JVQmNuMUxC?=
 =?utf-8?B?R2VGOTdCSFprWnMvb3k4NU9jR3pwYURXWHZOU25IcDhpVURZM21yZlhRWnlh?=
 =?utf-8?B?UnVqcjA3bGc4R0pHVGUydVBoMXlrUEhGeDBPRUZYN0Fyamt1bDRDUDJHbHV4?=
 =?utf-8?B?cFpKSnVSWjlFbXd0elY1c1BGNnVmejFpeFdOTXBNS3J3QlV0R2E0TnhkN3Rj?=
 =?utf-8?B?cEg4TDlNSEtSRkRvSmJ5T0dmOVI4YmNoYm5nYncwbjRVZkpoUVozSXp4Rnk0?=
 =?utf-8?B?d2xvNDc4WENVekdOMkdrU2x4RmE0RzNSVXBwVzBCV2hZOVRVU2M0SU5aNHVX?=
 =?utf-8?B?WUxTREthcVBkNXRJaUxOS1FwSnNRTDdBWUVmeUZOMzJWUGVDZVRFc2xKS0da?=
 =?utf-8?B?UXFnVW1nM25GeHFvL2NuNnUvTXNNMU1EcXFkbmU0WlFCMkVxdGtZTnN0UE95?=
 =?utf-8?B?a1JrVk5oNGFVSkxCdGFmc0RuOUpJc2I3WlVmSzUzWUJoanhvQ3V0VEV5dG5Q?=
 =?utf-8?B?bm5wL0xLSGY4dlNuQUt0R1dsSlNpaytROFNQTDRwYm5JY24waUJYOWRseDNI?=
 =?utf-8?B?T3hWWGx3cWlUeWxrRkc2UnNkZXkyUEhmVXVEcWN5VnFoVEMyVzhTVDhXZ3dj?=
 =?utf-8?B?alA0WTFHMlFwZE0wd09KRlZ3bzFTTnlja2VKQUUrWXpkZFR2UjZLdTNiaWpu?=
 =?utf-8?B?elVqc0RjN1ZBdEx6OGoySGFNaC9SeGM3OEJjanpKVllJQVRkZmluelVrc3J2?=
 =?utf-8?B?MkcrZWpXZHgyM0F2WTRFcWFWUkkrbHU0eElCU0xvU2tHU0x2SlpPRkthL0Zp?=
 =?utf-8?B?dG1YdG5WUzRGNUpwelNkL2tDZ3B4cVdMeHcycWkvS25DZ0EzWW9JUmwvZ1Zv?=
 =?utf-8?B?NlVlSmErd2MyeFdMSFA0SDZ1eGZWK2hUbkxFUXJ2Nm91ZWxkR2lGVGp2Nm9U?=
 =?utf-8?B?TGcyTU5Xa09CMk1vVkNLOXhkbFgzaUhwZHFvNW4zUlNuTG12dnJ4dStYTmJX?=
 =?utf-8?B?QkNWQ2xBbFExS2JLZkJaalhzbnBVejVWR1kya2RtbjRIUThGWEFPeEVFdndE?=
 =?utf-8?B?cTJwV1doZXVtMThGVGFrTnp3cHJsdHd0YVl4SVNVdTM1SFl2UzJKUEhMSXlM?=
 =?utf-8?B?aVVQeWhINGtDblJFcHFkMVQyM0Q2eVd1L09QWldhd3RaY3VSa1h6VjVKemM0?=
 =?utf-8?B?amcrS1VzZ0lZcEwvQnh3WGpxQXBPWnpTQTJ5RXZQWlpSVFNMSWxid0tmc0Vy?=
 =?utf-8?B?OGxHQnplTTNLT2FhRTRkNS84RDV2RnMrQ0ZBK1RMemlXdWZXalJOWVRpSlAz?=
 =?utf-8?B?V1pIdXUvVGY4SXhVMkZVNkVvaDhOOW5hdlZ6elR0VGdZbUJpaStZbGM3Tkdx?=
 =?utf-8?B?aUdXTVl3M1IvcVJZaVYxaVVRcyt1dm0wT2pUTGJHU2hlZmJkbDB3SEkzWlRm?=
 =?utf-8?B?UTUxVTdPdTJ1ak5iZEY5Y0RzSnJ6Q3ZaMVVOSVAvWlY3UUY4THlLM0RXRWdn?=
 =?utf-8?B?MGR3c3pnenNmY1NkbkovQXJlNXoyWjVRQmkyNG8xeG9WWFhwVTI1R3VwNDVL?=
 =?utf-8?B?K3RRcWdQSzJZd3h6K1ZONGR3cGQ4SndRVTlDZXVqekV1QkhxWGQrb1lRUFpu?=
 =?utf-8?B?RW5yb0NHZldETmpZQ2VJSFZsbWJjOWN6M3NONlYwOU1XVWliZVBQVStCZVNS?=
 =?utf-8?Q?nIBGIWnXbCx+kEheO7beP4nrxmUYYP4p?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB4PR03MB9556.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(42112799006)(376014)(366016)(1800799024)(38070700021);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?aHJrQ3RxMzFOK0tWUkt4UHJJekZWUmZ2SEJGS3hkMnZLTkg2THlZVmlka0JY?=
 =?utf-8?B?enhsb3ZXZ0pmNXBnZ0d1RlNuYzEyZ292YUh6azVCTDJzdm1BdzJBd1ZXUHI2?=
 =?utf-8?B?dmYwbVZYVHJ1Yyt5bkxGTlBraXNPNHd2QnYzb2VWU2ZIRG9Wcmw3Y2FMNW05?=
 =?utf-8?B?V0tZWSs0ODc2V0g1T0RKT2M0a2NUVUZ0a200b0RUakpma3Btd0RFRU1YU3Bo?=
 =?utf-8?B?alNNVmFYY0xPTXJLZEc0QXhoMmdqSENnWitIWVl4WW5TYWJNZUd6T3kyaEhL?=
 =?utf-8?B?V1JXdkZYRzhXRm84aC8rY3p6VWhGMmRQQXBHaS9OcXliMGRXOGpmMzFpZW8r?=
 =?utf-8?B?anZheTh0Ty9TV1g3MzlDQmxkQVhzMmtPL1NPTXN2cHpnTEJhRUREV1BWMlhH?=
 =?utf-8?B?N2NoM29mTWIvRXIrcHJoS08zbzJNMTR0MGlPOXplWTY0VmpEUDB3WTg5b245?=
 =?utf-8?B?OGNRMnFvMGhPWURhRHZPelRaeEhEaWpCRGFNaGpJckkrbCtWaFZGWDdiMkxH?=
 =?utf-8?B?ZjNJaXAyT3RaeitBSkFQMFFtU2NpUGpDVXd2RDBacHVxd3RVVjZvanBLUDVv?=
 =?utf-8?B?ckdzLzl1TDhDZE9oL0hnRnFxbjNoaEw1bWJ6YzVTaGdpcTJZMHowcnBNNEVu?=
 =?utf-8?B?Z3NsV0dMbWs3WHRoNEt4TVZNdHFuYURGWE9rdEVnWGEwNURRMFZNQUtheFZT?=
 =?utf-8?B?T3dkNXJUc2k0R0ZsSDNjS2dZbThJdzhJL2QzTUpUZXR6OHBVVVQydVdtWE1C?=
 =?utf-8?B?YUxlcEhIWEJxL1VsZkhXVEd4QnVmenBnRFVSeVlTMk94R2xGT2M4cHJQT3p0?=
 =?utf-8?B?dUNLcFVsQnRoekpMQkg2cVBDWHFlckNiSk13bmVpY1ltbDI4aUxJZ2p5K2pj?=
 =?utf-8?B?VXcrTk5BT0ZiK1JsYWplVkZHRXZUSVcvVC9hdVVNb0hqcnZXc1U3MTRHZUZR?=
 =?utf-8?B?YkU1VVJxd3k0UlpYUjBnaUR1RjNmdHFKVWJmVGpkUFhXNDh6QkNGZlpobHlz?=
 =?utf-8?B?N2xNRC9rWDhoS2xzNkwrTnEyclJlZmwwNFRGRjhINmxoREQ4Z2lheXV3QjhL?=
 =?utf-8?B?RjlHRld1UE5HekhUUUQvc2wxSnZUV3dpMnB6ajExQ0ZxQTI0eXFYd3dyWXFq?=
 =?utf-8?B?TVdVV2s1a2x5WFM5U0IzYXJKbFBOQWk1QzJQMndmblMyTHE5bVd1UUFraXhB?=
 =?utf-8?B?UnpBYk5wbzBnQlk1aUhxN0N1ZmpJZ1JFaks4bUtxbTFjN1NhRndWUHFvSmo0?=
 =?utf-8?B?SXFhNFJYT0lFMjBHUTdCWUtUYy92R1BMOG1IT3FKOXliMHNicVNkQlJNRjFv?=
 =?utf-8?B?TDkzUlhpcmNaNmk5cFVuQXUvZUt0K21WUFJaMDM3WDdJSHZBeCtrRE5pck93?=
 =?utf-8?B?T1hMQ0pRWnU5VkdJK0pLUXlUZ0RuVVRiZGpWSGdhUHRNbGFuTE9KbVV1K3pM?=
 =?utf-8?B?SS9vSXdBdEVJdXBOaDI2ZVNJVlFJaisweUV5bVdZYVFrdEprRnNKT3dNQlRZ?=
 =?utf-8?B?amJBUU1HNkxvbWJqeEsvRXJrZm1DUTBWWnpsVGNIMGh2U2JObFRsWjlrdUdv?=
 =?utf-8?B?OVFKQzJ3cjU3ZmZOV1RBVjEzdnkybXhmMU8xYjFHNDlCQjFoc3RBNm1Ja2hp?=
 =?utf-8?B?TmJWVHhmUFZlb2ZOMDRHdU1yWWVqa0xQWFdoN2dqTjVoN251NTZ1SnhnMXd4?=
 =?utf-8?B?di8yMm5yNUZ0WDBMdjgvdjlXR3BaNDMzdGsrbjdRcVgyblAvQklRdUFBNWlT?=
 =?utf-8?B?SDNOYWZGT29FbjlPeVdGYjkvVVB1NDJBSmN4U2Nzd3NxaGE4aDQ3eU1BR1g2?=
 =?utf-8?B?MWcwa2NzaUdlQXgwS3JJem1IZi9mTFZiSE5IR282L1FEQ1psa0ltMmN5SkVT?=
 =?utf-8?B?cGhsbXp2ZjFEWS9HaTBKUWJRdWhFb3N2eXhsMitrSm4rangvVklLQ3JiMllZ?=
 =?utf-8?B?dXlmVm1jSzFzbmliZEhwRmYwd3lTY2VhY0VyWWszditPLzZod2hPNnlMV08r?=
 =?utf-8?B?MVRwbm5VZVZ4djhZZ09raDJ3T3c1LzVpWTlOdHJIU092c1REekRWM3A2cGNQ?=
 =?utf-8?B?dnFBWlo4cDlCYk5FYk5RbVo0Q2Zxa0NaMG9ZUHExYXE4eWFYWlJSNWFSUlVn?=
 =?utf-8?B?ejd2ZkJJQWN3QUpqZ3JHYThyKzFHU01RcWsvYmw3TGs0VFFleTVvVktDaEY0?=
 =?utf-8?B?K3c9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <B87CDBC9C9E45B48A77B68F93E8526FA@eurprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DB4PR03MB9556.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9746552c-7f73-424f-0dc7-08de0b3fec60
X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Oct 2025 16:37:10.9473
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: dV2fcCqiSUtTMBRcRLyjLNbTgWfNK1U+SMk1n7ohpfQyP3UWpuZ5p2MLcIYRyWB3IoOaY4Fe9cpyzmSQunjScJvCNeku2pK6l/gbRRToZRI=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR03MB6756

SGVsbG8sDQpsb29raW5nIGZvcndhcmQgdG8gZmVlZGJhY2ssIHN1Z2dlc3Rpb25zLCBvciBhbnkg
cmVxdWlyZWQNCmNoYW5nZXMgdG8gZ2V0IHRoaXMgcGF0Y2ggYWNjZXB0ZWQuDQoNCkJSLCBEbXl0
cm8uDQoNCk9uIDkvMjkvMjUgMjE6NDMsIERteXRybyBQcm9rb3BjaHVrMSB3cm90ZToNCj4gVGhp
cyBwYXRjaCBzZXJpZXMgY29uc2lzdHMgb2YgdHdvIHBhdGNoZXMgdGhhdCB3ZXJlIHJlY2VpdmVk
IGJ5IGRpdmlkaW5nIFBBVENIIHYzLg0KPg0KPiBMaW5rIHRvIHYzOg0KPiBodHRwczovL3BhdGNo
ZXcub3JnL1hlbi82MjBlYjhmZTIyMjA0ZTIwNGNiNDcxZTkzZDJlYTc4OWY4NzlkODU0LjE3NTg3
NDQxNDQuZ2l0LmRteXRyby5fNUZwcm9rb3BjaHVrMUBlcGFtLmNvbS8NCj4NCj4gQ2hhbmdlcyBp
biB2NDoNCj4gLSBQQVRDSCB2MyB3YXMgZGl2aWRlZCBpbiB0d28gc2VwYXJhdGUgcGF0Y2hlcw0K
PiAtIGFkZGVkIG5vdGVzIGFib3V0IHByZWRpY2F0ZXMgd2hpY2ggZW5kIHVwIGFzIGNvbnN0YW50
cw0KPg0KPiBUZXN0IENJIHBpcGVsaW5lOg0KPiBodHRwczovL2dpdGxhYi5jb20veGVuLXByb2pl
Y3QvcGVvcGxlL2RpbWFwcmtwNGsveGVuLy0vcGlwZWxpbmVzLzIwNzAzMTcxNTMNCj4NCj4gRG15
dHJvIFByb2tvcGNodWsgKDIpOg0KPiAgICBhcm0vYWNwaTogYWRkcmVzcyB2aW9sYXRpb25zIG9m
IE1JU1JBIEMgUnVsZSAyLjENCj4gICAgYXJtL2dpY192MzogYWRkcmVzcyB2aW9sYXRpb25zIG9m
IE1JU1JBIEMgUnVsZSAyLjENCj4NCj4gICB4ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vZG9tYWlu
X2J1aWxkLmggfCAgOSAtLS0tLS0tLS0NCj4gICB4ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vZ2lj
X3YzX2l0cy5oICAgfCAxMSArKy0tLS0tLS0tLQ0KPiAgIDIgZmlsZXMgY2hhbmdlZCwgMiBpbnNl
cnRpb25zKCspLCAxOCBkZWxldGlvbnMoLSkNCj4NCg==


From xen-devel-bounces@lists.xenproject.org Tue Oct 14 16:48:10 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Oct 2025 16:48:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1142974.1476862 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8iBx-0006ZQ-Q9; Tue, 14 Oct 2025 16:48:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1142974.1476862; Tue, 14 Oct 2025 16:48:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8iBx-0006ZJ-Mb; Tue, 14 Oct 2025 16:48:05 +0000
Received: by outflank-mailman (input) for mailman id 1142974;
 Tue, 14 Oct 2025 16:48:04 +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
 <SRS0=U7Gn=4X=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1v8iBw-0006ZD-KF
 for xen-devel@lists.xenproject.org; Tue, 14 Oct 2025 16:48:04 +0000
Received: from fout-a7-smtp.messagingengine.com
 (fout-a7-smtp.messagingengine.com [103.168.172.150])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8994a742-a91d-11f0-980a-7dc792cee155;
 Tue, 14 Oct 2025 18:47:58 +0200 (CEST)
Received: from phl-compute-01.internal (phl-compute-01.internal [10.202.2.41])
 by mailfout.phl.internal (Postfix) with ESMTP id 0395EEC01F6;
 Tue, 14 Oct 2025 12:47:57 -0400 (EDT)
Received: from phl-mailfrontend-02 ([10.202.2.163])
 by phl-compute-01.internal (MEProxy); Tue, 14 Oct 2025 12:47:57 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 14 Oct 2025 12:47:55 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8994a742-a91d-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:content-type:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:subject:subject:to:to; s=fm2; t=1760460477;
	 x=1760546877; bh=EhZBZ3He7/F6ChSG/njRUNoZ9gnTdEW7VFkgsZjwsq4=; b=
	W2Cg+3A+J3qHVcSMXLOLhl+rCbFAnJ7pOkjHRWv46zoQMaJiSWcbLHMn9jUrJre5
	K0hBT0giCLcE/lJqSTBVYpjndUvh7kQoksxQLuCkRvVkoxJhRXvHuthl6gjay6tF
	gF5WXHNwvPEbjNKdayeaGTBdKDUC5b7Jh59pdN3vfjE3v2hnc2VB9V0MDNJrNX/C
	dwUmQbZTp8gwurYN3bCWW57VSY5OcE8qxSSCFcL8NDScFNy4FtlTHv+SLyDUUU33
	AcRvLW7zYAoOvSNxmzCDQH2GVv+vOYEMv83mVsKEDKY+k+dqi6WOo0D6Vp1ySJJy
	urbhyQZ3NZ7sMX8iblNEfw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:content-type:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:subject:subject:to
	:to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=
	1760460477; x=1760546877; bh=EhZBZ3He7/F6ChSG/njRUNoZ9gnTdEW7VFk
	gsZjwsq4=; b=mvC9UTTU/UUen7skGrFVRvSSmwfZDn4tt3evYfHs8abKPLFfj3/
	jgsrHxPgEgbrJKvvgeoFJw3tKt341r3EF/g+VeJGIGAuZIO3ZN4XiVbb0Kx+oDWi
	oj6HkLwBH6jc/XTW4wJqOlAKrQQDIl6sJgD/KH3doSrVmOy548jSxSnfvG4uSjXf
	BwTJGmUIc9K6C8No0NNswypSiu71VujglLnpXkQGCklXeFvIAsFO3sYgp7tgJh9/
	61WJQJo38r086PpQ+fzdR+gjYzArH0veZAadTfyQUdDadqS8Ls85PNLFSfn41Ijt
	hdEWnmiiOqCASSvpgZW7emA8Z0sVyqYfdoA==
X-ME-Sender: <xms:vH7uaEZSO5eiwcvm47OpAymBgR1sfhBGEasC3QxIH_6YfBbJPfnHUw>
    <xme:vH7uaGTS4VfbGxd6rryijYxzCo1gIBMb2eBPqVjmAFmJG_s8A1tnKk4xCX08JGeqN
    2Lu57vpRNG3QRInPBt8dnoOzCueKDkO3dNjP3bjNVHie7yH9Q>
X-ME-Received: <xmr:vH7uaHT_bp2VGdykn8_AKBht1RYw3o85y0DfpfXgp1AkMx5edsjPKWUDng>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdeggdduvddutdehucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu
    rghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujf
    gurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgvkhcu
    ofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinhhvih
    hsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepgfduleet
    feevhfefheeiteeliefhjefhleduveetteekveettddvgeeuteefjedunecuvehluhhsth
    gvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghksehi
    nhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomhdpnhgspghrtghpthhtohephedpmh
    houggvpehsmhhtphhouhhtpdhrtghpthhtoheprghnughrvgifrdgtohhophgvrhefsegt
    ihhtrhhigidrtghomhdprhgtphhtthhopeigvghnqdguvghvvghlsehlihhsthhsrdigvg
    hnphhrohhjvggtthdrohhrghdprhgtphhtthhopehgvghrrghlugdrvghluggvrhdqvhgr
    shhssegtlhhouhgurdgtohhmpdhrtghpthhtohepughpshhmihhthhesrghpvghrthhush
    hsohhluhhtihhonhhsrdgtohhmpdhrtghpthhtohepohhlvghkshhiihdrkhhurhhotghh
    khhosehgmhgrihhlrdgtohhm
X-ME-Proxy: <xmx:vH7uaKQmVl7TgH54Ek3CmmMv9fA-rgVhYZ4X2_CZRF_d7OfijDaxaQ>
    <xmx:vH7uaM6Iq51IS9Yd1IxjEXG_f9qkYecL_KJi0ARlkv998uNtb1oXlw>
    <xmx:vH7uaG2t1gSMPhFTvZQEgG0XsOYOahCa2EGm55lFAVdDw0oTBsGxSQ>
    <xmx:vH7uaHAN7avA7_dzRgTdRhzV3F9IgSuRIEEAQ7DBsfHt2XUe2CmhHw>
    <xmx:vH7uaPvRy6qiumWFGFTVZFyOBQIFSnZPZaUKvBQ3xG_Xz_DufJ35jcCQ>
Feedback-ID: i1568416f:Fastmail
Date: Tue, 14 Oct 2025 18:47:53 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Gerald Elder-Vass <gerald.elder-vass@cloud.com>,
	"Daniel P . Smith" <dpsmith@apertussolutions.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.21 v2] efi: Protect against unnecessary image
 unloading
Message-ID: <aO5-ubXGM-u9efiT@mail-itl>
References: <20251014130648.2540082-1-andrew.cooper3@citrix.com>
 <aO5QMFtLpC819kbZ@mail-itl>
 <7a206259-3eb7-4b0c-8437-78579931e56b@citrix.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="3kovRaEOd6+zXfdI"
Content-Disposition: inline
In-Reply-To: <7a206259-3eb7-4b0c-8437-78579931e56b@citrix.com>


--3kovRaEOd6+zXfdI
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 14 Oct 2025 18:47:53 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Gerald Elder-Vass <gerald.elder-vass@cloud.com>,
	"Daniel P . Smith" <dpsmith@apertussolutions.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.21 v2] efi: Protect against unnecessary image
 unloading

On Tue, Oct 14, 2025 at 04:57:15PM +0100, Andrew Cooper wrote:
> On 14/10/2025 2:29 pm, Marek Marczykowski-G=C3=B3recki wrote:
> > On Tue, Oct 14, 2025 at 02:06:48PM +0100, Andrew Cooper wrote:
> >> From: Gerald Elder-Vass <gerald.elder-vass@cloud.com>
> >>
> >> Commit 59a1d6d3ea1e introduced Shim's LoadImage protocol and unloads t=
he
> >> image after loading it (for verification purposes) regardless of the
> >> returned status. The protocol API implies this is the correct behaviour
> >> but we should add a check to protect against the unlikely case this
> >> frees any memory in use.
> >>
> >> Signed-off-by: Gerald Elder-Vass <gerald.elder-vass@cloud.com>
> >> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> > Reviewed-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingsl=
ab.com>
>=20
> Thanks.
>=20
> > with one comment below (I'm okay with the patch either way)
> >
> >>      EFI_SHIM_LOCK_PROTOCOL *shim_lock;
> >>      EFI_STATUS status;
> >>      bool verified =3D false;
> >> @@ -1078,11 +1078,12 @@ static void __init efi_verify_kernel(EFI_HANDL=
E ImageHandle)
> >>              verified =3D true;
> >> =20
> >>          /*
> >> -         * Always unload the image.  We only needed LoadImage() to pe=
rform
> >> -         * verification anyway, and in the case of a failure there ma=
y still
> >> -         * be cleanup needing to be performed.
> >> +         * If the kernel was loaded, unload it. We only needed LoadIm=
age() to
> >> +         * perform verification anyway, and in the case of a failure =
there may
> >> +         * still be cleanup needing to be performed.
> >>           */
> >> -        shim_loader->UnloadImage(loaded_kernel);
> >> +        if ( !EFI_ERROR(status) || (status =3D=3D EFI_SECURITY_VIOLAT=
ION) )
> > So, just in case of double-buggy firmware, check loaded_kernel here too?
>=20
> So to be clear, you're asking for:
>=20
> loaded_kernel && (!EFI_ERROR(status) || (status =3D=3D EFI_SECURITY_VIOLA=
TION))
>=20
> here?=C2=A0=20

Yes.

> Yeah, can fix that up on commit.
>=20
> ~Andrew

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--3kovRaEOd6+zXfdI
Content-Type: application/pgp-signature; name=signature.asc

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmjufrkACgkQ24/THMrX
1yxB0gf/dxfJ/Ics2rhj1DbUEEEoPdTjtdxwWum0Cl113ApglwgdvkwJMsDmKS6f
u0e+SZsx6itn7T7/VLG6y9klzn4wijh8To84OOQKH8+2GPXCrf4/jDQNUz70TWyb
0EsbqYKP2a+rSDJuBD1TW28dvwRI/jw05zuGvc+EhOiOZd0sFAL08JAgUQsb5Pia
jZmqQPKX5LDmTDolQXJoih+VybJCu39ed7Fc64XnoC6p0gsYctDoH6oCGr9MpUrF
6RRwCjW7vVcchXxgvREkVnBb0vBUnYQX0Mi9DG2o62IQjrdHu5xSfkR9zrBFYICO
ndrwn+FrAh4rhLKSc+iCFldw6xgDaA==
=X4gi
-----END PGP SIGNATURE-----

--3kovRaEOd6+zXfdI--


From xen-devel-bounces@lists.xenproject.org Tue Oct 14 19:36:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Oct 2025 19:36:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143015.1476875 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8kox-0000cA-8Y; Tue, 14 Oct 2025 19:36:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143015.1476875; Tue, 14 Oct 2025 19:36:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8kox-0000c3-5b; Tue, 14 Oct 2025 19:36:31 +0000
Received: by outflank-mailman (input) for mailman id 1143015;
 Tue, 14 Oct 2025 19:36:30 +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
 <SRS0=/xUX=4X=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v8kow-0000bx-4D
 for xen-devel@lists.xenproject.org; Tue, 14 Oct 2025 19:36:30 +0000
Received: from mail-wm1-x336.google.com (mail-wm1-x336.google.com
 [2a00:1450:4864:20::336])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 145ef198-a935-11f0-9d15-b5c5bf9af7f9;
 Tue, 14 Oct 2025 21:36:29 +0200 (CEST)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-46e34bd8eb2so58516015e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 14 Oct 2025 12:36:29 -0700 (PDT)
Received: from [192.168.1.183] (host-92-22-57-86.as13285.net. [92.22.57.86])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-46fc155143fsm210087795e9.11.2025.10.14.12.36.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 14 Oct 2025 12:36:27 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 145ef198-a935-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1760470588; x=1761075388; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=E3bECPcy+WbjoF33XO56boMzJxiI5m14zSNo7SVvEaw=;
        b=R3BVcBGBrr+Pn985E4IondbkQaPWACASwVhcdeU04mw7GutiKWjTq28FumgxP6oZ6L
         2hllBVBsb+dlkq0JZo9sk4RjeYbbAjMdHKu7lseG62W4YhgRpAHwJYjFSc3Y9zEW9+tI
         4b2xGC0u1APJ44Wcezcwq0zPH5fe+6fUHvZXQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760470588; x=1761075388;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=E3bECPcy+WbjoF33XO56boMzJxiI5m14zSNo7SVvEaw=;
        b=smFB9nslSBaaLDAWmoKBnzk47n+K22ILsps2Hmy4WECbgeisU3RE1ff4FnOBuPY74P
         PbKmwAGW0dlkUanhTvSqr1qBgIopjlCTi9oN7w5Jwk/EB1DrVhpqVwoUpjPoBB5VZ+9u
         G/w5/SYAZv0dvsPB0DtY1FByD2kUBSQmYJoFmfFmVs0k3TcK0ovEXrPP3/UoitU9KY/n
         5F81uqqPMO62u8Dm0opQMDv3aPGFpcWtvO9Lh/yjUx30/v5fTm53L0qmNnuDUvsTL7ED
         /kdQebAUkIJvPAuOroqZkSPafQLtUh+qeSouIOET7r3cUkezRO0N0XikxOS3JDk/g+na
         331Q==
X-Forwarded-Encrypted: i=1; AJvYcCXW0c+8ff4NNQZTHZ8KL6JHFodn7KV7DmOvuLtaHV3FqYQt9mo8eGy2b3KphRbmimIRLXt946z7PJc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzAJYcHABcEB8vFUIE1aLESVp5jiqRwkxOGQoIZIo2RCE8BVsFU
	20unYW+Gl21CO8ET31FBXGmg1D9U/J+etVTEpU0UryuWCLhAtLKp5zdxSmTxIULPNOc=
X-Gm-Gg: ASbGncvKCsRHqukif8mIfYrqjJxXi5WvSzkV5Xqy0lEKHlKIDVrmTPR3dj2FWvsQCoQ
	EFVgU5OA1v6j5vFdgveWX6l7X4ODLP7B7I0OfIMz7I7+vhzHaqYy3DWlKsb31roTYEpFF4MU1DY
	WLrqf9uU/FfozCBb8RuRlh/SdDWQnRfpLYZTMM0iLzY5PdK55srZbzuWTReq+ZrU967kIL5M87w
	4N2vD/n3Ar3S36CKxPM4E5iShAoP8FL8b8WB/CqqF5D7jOba546t6c7LplolMzpoFnP5NvhPy5f
	PlRkLceGdv7kEN76HBRYeC3JkWejRO6f4M5LKpTbb5TydnUJC9nTNVQekoOMAmBTWzOJjOS45/N
	Ap9xqWExxFMGrCmnEgtLOXqEgduwDOLht8CEy5GKXThbe/5ECD/jaAYJ7L9IBwwD2Qu+kEoGvn5
	Uo5PqLA3dvxf45lQ==
X-Google-Smtp-Source: AGHT+IHmI0+87hMOqdGhISarDZ7K86/Jt0oIam8CamDw6TeuJnRBU+uwmSat/243TaOJqlWEzvZT2g==
X-Received: by 2002:a05:600c:c091:b0:46e:59bd:f7d3 with SMTP id 5b1f17b1804b1-46fae33dffamr103194315e9.20.1760470588457;
        Tue, 14 Oct 2025 12:36:28 -0700 (PDT)
Message-ID: <bb9dba9c-3011-4c1a-917d-9d83fcc2c967@citrix.com>
Date: Tue, 14 Oct 2025 20:36:27 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21??? 3/3] x86/vLAPIC: properly support the CMCI LVT
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Grygorii Strashko <grygorii_strashko@epam.com>
References: <265d5053-af61-42cb-a3b9-ef60df39c21b@suse.com>
 <61a05ec1-aca7-4c3f-be6f-1bb053b2cd00@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <61a05ec1-aca7-4c3f-be6f-1bb053b2cd00@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 08/10/2025 1:09 pm, Jan Beulich wrote:
> --- a/xen/arch/x86/hvm/vlapic.c
> +++ b/xen/arch/x86/hvm/vlapic.c
> @@ -697,8 +701,17 @@ int guest_rdmsr_x2apic(const struct vcpu
>          return X86EMUL_EXCEPTION;
>  
>      offset = reg << 4;
> -    if ( offset == APIC_ICR )
> +    switch ( offset )
> +    {
> +    case APIC_ICR:
>          high = (uint64_t)vlapic_read_aligned(vlapic, APIC_ICR2) << 32;
> +        break;
> +
> +    case APIC_CMCI:
> +        if ( !(v->arch.vmce.mcg_cap & MCG_CMCI_P) )
> +            return X86EMUL_EXCEPTION;
> +        break;
> +    }
>  
>      *val = high | vlapic_read_aligned(vlapic, offset);
>  
> @@ -868,6 +881,10 @@ void vlapic_reg_write(struct vcpu *v, un
>          vlapic_set_reg(vlapic, APIC_ICR2, val & 0xff000000U);
>          break;
>  
> +    case APIC_CMCI:         /* LVT CMCI */
> +        if ( !(v->arch.vmce.mcg_cap & MCG_CMCI_P) )
> +            break;
> +        fallthrough;
>      case APIC_LVTT:         /* LVT Timer Reg */
>          if ( vlapic_lvtt_tdt(vlapic) !=
>               ((val & APIC_TIMER_MODE_MASK) == APIC_TIMER_MODE_TSC_DEADLINE) )
> @@ -1024,9 +1041,12 @@ int guest_wrmsr_x2apic(struct vcpu *v, u
>              return X86EMUL_EXCEPTION;
>          break;
>  
> +    case APIC_CMCI:
> +        if ( !(v->arch.vmce.mcg_cap & MCG_CMCI_P) )
> +            return X86EMUL_EXCEPTION;
> +        fallthrough;
>      case APIC_LVTTHMR:
>      case APIC_LVTPC:
> -    case APIC_CMCI:
>          if ( val & ~(LVT_MASK | APIC_DM_MASK) )
>              return X86EMUL_EXCEPTION;
>          break;

This is almost certainly not how real hardware behaves.

The APIC is a discrete block of logic, whether it's integrated into the
core or not.Â  A new LVT is "just" another interrupt source, and if
nothing is wired into that pin, then it's just a register which never
produces an interrupt.

Accessibility of LVT_CMCI will depend on MAXLVT and nothing else.Â  In
silicon, I'm pretty sure it will be hardcoded as fully absent or
present, because I can't see any reason to make this configurable.

At this point, things get more complicated.

On Intel, there's no such thing as x2APIC capable (irrespective of
x2APIC enabled) without LVT_CMCI which is why there are no additional
access constraints on the register.

On AMD, there's no LVT_CMCI even on systems which support x2APIC.Â 
Instead, ELVTs are used and it is MCE-configuration based which ELVT the
interrupt is delivered through.

Choosing a default MAXLVT based on MCG_CMCI_P is probably fine (although
it certainly is ugly to tie APIC and vMCE together), but controls on the
access to APIC_CMCI should be based on MAXLVT.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Oct 15 05:50:57 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 05:50:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143109.1476890 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8uPK-0001uK-DS; Wed, 15 Oct 2025 05:50:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143109.1476890; Wed, 15 Oct 2025 05:50:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8uPK-0001uC-8J; Wed, 15 Oct 2025 05:50:42 +0000
Received: by outflank-mailman (input) for mailman id 1143109;
 Wed, 15 Oct 2025 05:50:41 +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 <SRS0=A2LK=4Y=redhat.com=armbru@srs-se1.protection.inumbo.net>)
 id 1v8uPJ-0001u6-LU
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 05:50:41 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.133.124])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e0aacc9c-a98a-11f0-980a-7dc792cee155;
 Wed, 15 Oct 2025 07:50:39 +0200 (CEST)
Received: from mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com
 (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,
 cipher=TLS_AES_256_GCM_SHA384) id us-mta-92-pdZXh2k1OHqTGUKYh4e8Kg-1; Wed,
 15 Oct 2025 01:50:35 -0400
Received: from mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com
 (mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.12])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
 (No client certificate requested)
 by mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS
 id 2F4A118001D1; Wed, 15 Oct 2025 05:50:33 +0000 (UTC)
Received: from blackfin.pond.sub.org (unknown [10.45.242.19])
 by mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS
 id 4D9F019560AD; Wed, 15 Oct 2025 05:50:32 +0000 (UTC)
Received: by blackfin.pond.sub.org (Postfix, from userid 1000)
 id D03E721E6A27; Wed, 15 Oct 2025 07:50:29 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e0aacc9c-a98a-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1760507438;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=doYfQ04zxKVDefG+tjuoJ5edIX9ZvZ5HtUkiz/HfXAs=;
	b=gFHYjD3ItJLRBPOPOaNqDbh9eDmxgMtE+o97DyNsBbJup8y5D68cL4V75rpIJvEiOto/p0
	aJn7lpOn62dgy/StzEChB4RjAjtA74QxOzv0wociQ1gOXNmO3sBkUzOe4KsJHTv1vhaydY
	LUpA3dvA+eQV1BK9N92gfIpdaejS37o=
X-MC-Unique: pdZXh2k1OHqTGUKYh4e8Kg-1
X-Mimecast-MFC-AGG-ID: pdZXh2k1OHqTGUKYh4e8Kg_1760507433
From: Markus Armbruster <armbru@redhat.com>
To: Philippe =?utf-8?Q?Mathieu-Daud=C3=A9?= <philmd@linaro.org>
Cc: Peter Maydell <peter.maydell@linaro.org>,  qemu-devel@nongnu.org,
  sstabellini@kernel.org,  anthony@xenproject.org,  paul@xen.org,
  edgar.iglesias@gmail.com,  xen-devel@lists.xenproject.org,
  qemu-trivial@nongnu.org
Subject: Re: [PATCH] hw/display/xenfb: Replace unreachable code by abort()
In-Reply-To: <2cad2907-5a93-4630-856f-7237063eb3ce@linaro.org> ("Philippe
	=?utf-8?Q?Mathieu-Daud=C3=A9=22's?= message of "Tue, 14 Oct 2025 17:19:31
 +0200")
References: <20250729111226.3627499-1-armbru@redhat.com>
	<CAFEAcA-UrCD7mrmX_4dCK0urMmY5+qs=Y268WerQVq1c+7nB=Q@mail.gmail.com>
	<CAFEAcA-01WR=jgdiCY57P_88ez-mRw07ShU0eWyzLPB+WbT_xg@mail.gmail.com>
	<2cad2907-5a93-4630-856f-7237063eb3ce@linaro.org>
Date: Wed, 15 Oct 2025 07:50:29 +0200
Message-ID: <87y0pck922.fsf@pond.sub.org>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Scanned-By: MIMEDefang 3.0 on 10.30.177.12

Philippe Mathieu-Daud=C3=A9 <philmd@linaro.org> writes:

> On 14/10/25 14:59, Peter Maydell wrote:
>> On Tue, 14 Oct 2025 at 09:36, Peter Maydell <peter.maydell@linaro.org> w=
rote:
>>>
>>> On Tue, 29 Jul 2025 at 12:14, Markus Armbruster <armbru@redhat.com> wro=
te:
>>>>
>>>> xenfb_mouse_event() has a switch statement whose controlling
>>>> expression move->axis is an enum InputAxis.  The enum values are
>>>> INPUT_AXIS_X and INPUT_AXIS_Y, encoded as 0 and 1.  The switch has a
>>>> case for both axes.  In addition, it has an unreachable default label.
>>>> This convinces Coverity that move->axis can be greater than 1.  It
>>>> duly reports a buffer overrun when it is used to subscript an array
>>>> with two elements.
>>>
>>> I think also that Coverity gets confused by QAPI's convention
>>> in generated code of defining enumerations like this:
>>>
>>> typedef enum InputAxis {
>>>      INPUT_AXIS_X,
>>>      INPUT_AXIS_Y,
>>>      INPUT_AXIS__MAX,
>>> } InputAxis;
>>>
>>> Coverity thinks that INPUT_AXIS__MAX might be a valid
>>> value it can see in move->axis, because we defined the
>>> enum that way.
>>>
>>> In theory I suppose that since the __MAX value is only
>>> there to be an array or enumeration bound

Correct.

>>>                                           that we could
>>> emit code that #defines it rather than making it part
>>> of the enum.

I'd love that, but it's harder than it has any right to be; see the
message Philippe referred to below.

>> Also, there's an argument that this function should
>> ignore unknown input-axis enum values. If we ever in future
>> extend this to support a Z-axis, it would be better to
>> ignore the events we can't send, the same way we already
>> do for unknown INPUT_EVENT_KIND_BTN button types, rather
>> than aborting.

No objection.

>>                But it's not very important, so the
>> g_assert_not_reached() will do.
>>=20
>> (In some other languages, we'd get a compile failure for
>> adding a new value to the enum that we didn't handle.
>> But not in C :-))
>
> See this thread where it was discussed (until I gave up...):
> https://lore.kernel.org/qemu-devel/873564spze.fsf@pond.sub.org/



From xen-devel-bounces@lists.xenproject.org Wed Oct 15 05:58:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 05:58:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143121.1476900 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8uWm-0002Y4-1s; Wed, 15 Oct 2025 05:58:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143121.1476900; Wed, 15 Oct 2025 05:58:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8uWl-0002Xx-VY; Wed, 15 Oct 2025 05:58:23 +0000
Received: by outflank-mailman (input) for mailman id 1143121;
 Wed, 15 Oct 2025 05:58:23 +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
 <SRS0=u/ZW=4Y=gmail.com=demiobenour@srs-se1.protection.inumbo.net>)
 id 1v8uWl-0002Xr-Ai
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 05:58:23 +0000
Received: from mail-yw1-x112e.google.com (mail-yw1-x112e.google.com
 [2607:f8b0:4864:20::112e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ef0186f4-a98b-11f0-980a-7dc792cee155;
 Wed, 15 Oct 2025 07:58:13 +0200 (CEST)
Received: by mail-yw1-x112e.google.com with SMTP id
 00721157ae682-7815092cd22so17284247b3.2
 for <xen-devel@lists.xenproject.org>; Tue, 14 Oct 2025 22:58:13 -0700 (PDT)
Received: from [10.138.34.110]
 (h96-60-249-169.cncrtn.broadband.dynamic.tds.net. [96.60.249.169])
 by smtp.gmail.com with ESMTPSA id
 00721157ae682-78106dc847esm39503647b3.10.2025.10.14.22.58.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 14 Oct 2025 22:58:10 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ef0186f4-a98b-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760507892; x=1761112692; darn=lists.xenproject.org;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=3KuNVCplKy/YgPP7IrA+m8w8+rnhX0I8h+EP+VhW8OM=;
        b=QNpw/V9zWmzmH0XgQASNAQN8vuMTvzUJrsUi/CJH6d+vW7hb3tIhOFKpgpMEN3xv/R
         oomWpx6M/UxXjTN2oicpTajUDGCjmV6Fe7LCxONiufoRzd+qcg9hsB3tfbOUqzadokmp
         Uv8MgiFvXIyXVAumrCT+2ldy+L2TOhUWnjrX+NlF8Xyq7Y3fvXi/lMxAtfK4f3XU1hpe
         DYoWBb8/ZSSc8LKwYxvzeExu2dktyOKpc0J/TlESJl5MlKMovD0rqg8EE0VaQsR4xKse
         EQPJfemGNw3Q+HjoZXNS3tvvbZ0UYxWadlmOKTz7+KWBrPzfafzyN5ka56U/jSqs5cE3
         KB4A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760507892; x=1761112692;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=3KuNVCplKy/YgPP7IrA+m8w8+rnhX0I8h+EP+VhW8OM=;
        b=qWVwosuskCbSRsrYX01ln6Y5OKntOCyz9KFAd1Xr21aAOZMIZlr6PwBTiocQJ8iZS+
         Ey8pQEa4NVWrlp3BiDpc+ZVnPbakK9GQBd36ZDpFZnU55EMlysvoGaEaMHDjFuxeZSx/
         LrXUiLrbRTLBbjRwBvLeWqEhPztoUEAStJ8dvI2N32RP9YQ8St1XVYvsaBDriglTKS8Q
         5+xWVOEiOe1ToXsCii+ZE07bj/nXtYCledGO5YKfGems1WeLM2d2hyzLdA6+ASAHr6re
         Hwpv975BDFGnRAMIz9LVV1/xl1JtOogPO0Qb4DAoBTx58f1fpvvj1mwfobxjeajhBD1c
         C+rA==
X-Forwarded-Encrypted: i=1; AJvYcCUkr/z08wr0+lpf3jG7j5+eFCw94dsJF3rMCDfT9RF/pShCxeElVLxDG49Ik6qI6wMvbPJfH+/9MJM=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy8RFd3VMZ8yoAhSr9NrXLBaOhkBKzzPEXDj7n44ROKi6Z62zfV
	ULuGfkNv3jDoRlsE51P3O+TLeOclrzbkCeVUUqPPP5NbpQwy2qCOySPF
X-Gm-Gg: ASbGncsWI1l8nmGDBbPz9tg/ECw4lzrX9ErXVO9cOYuFxUmnL0wBKqC4Chwih+sMyw7
	O1VP4PecimPrGJsuDu8Nrv7yUndOvr4JKQqiiazcVMbe3v8dEYyV5BGf7wK+/4Zq0URI07zEi9S
	O7IT3udYLJksZEuH17MFTb0CpkbhRO2myXAhC21DW93gDXvkl8kF+zLjWaSWFwop5sulLdB2ECs
	cy+UmFOhR59hijtWyfPLUj9BMW2w/m/BnM7edW3mpN1F03IsRmQy0+r0C7eJ+g4qnZ51Ws6J3xq
	R1XBQGb9A0ceH8LfrbEgix5wheerrKxWuhYnIpHda0mEKtInZwiHaFdeuAU38BOZX7cl7uw+veU
	C2XVkoo2Xxl4a6nLgrjzpQffJ3VYWQM+cI9MQImmuLcO1m3ruxRN1MLZ8ix5iBM/LdDve/DWCxZ
	PcxoUgtrhgFaAxEXAyg1iL3IqOt+AB1pahr+iVZOtU1juOrB6sHr4OmA==
X-Google-Smtp-Source: AGHT+IEfZc5x7DEJw6uM1532Xe8IIcT0IzdDWvY8bByCI8wYtMCf/bBUdJGbJVlibIlW3R+iDQB18A==
X-Received: by 2002:a05:690c:45c4:b0:77f:5292:ac39 with SMTP id 00721157ae682-780e15348efmr302833867b3.29.1760507891778;
        Tue, 14 Oct 2025 22:58:11 -0700 (PDT)
Message-ID: <9248eda6-cf9b-4fdf-ab32-66e777585f65@gmail.com>
Date: Wed, 15 Oct 2025 01:58:06 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5] x86: make Viridian support optional
To: Alejandro Vallejo <alejandro.garciavallejo@amd.com>,
 Jan Beulich <jbeulich@suse.com>,
 Grygorii Strashko <grygorii_strashko@epam.com>
Cc: Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Paul Durrant <paul@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20250930125215.1087214-1-grygorii_strashko@epam.com>
 <3e4e4bc5-aa47-4357-9327-df2a9b9c9a1b@suse.com>
 <DDH3W3VM2ZDJ.PMFSGBWBTS0S@amd.com>
Content-Language: en-US
From: Demi Marie Obenour <demiobenour@gmail.com>
Autocrypt: addr=demiobenour@gmail.com; keydata=
 xsFNBFp+A0oBEADffj6anl9/BHhUSxGTICeVl2tob7hPDdhHNgPR4C8xlYt5q49yB+l2nipd
 aq+4Gk6FZfqC825TKl7eRpUjMriwle4r3R0ydSIGcy4M6eb0IcxmuPYfbWpr/si88QKgyGSV
 Z7GeNW1UnzTdhYHuFlk8dBSmB1fzhEYEk0RcJqg4AKoq6/3/UorR+FaSuVwT7rqzGrTlscnT
 DlPWgRzrQ3jssesI7sZLm82E3pJSgaUoCdCOlL7MMPCJwI8JpPlBedRpe9tfVyfu3euTPLPx
 wcV3L/cfWPGSL4PofBtB8NUU6QwYiQ9Hzx4xOyn67zW73/G0Q2vPPRst8LBDqlxLjbtx/WLR
 6h3nBc3eyuZ+q62HS1pJ5EvUT1vjyJ1ySrqtUXWQ4XlZyoEFUfpJxJoN0A9HCxmHGVckzTRl
 5FMWo8TCniHynNXsBtDQbabt7aNEOaAJdE7to0AH3T/Bvwzcp0ZJtBk0EM6YeMLtotUut7h2
 Bkg1b//r6bTBswMBXVJ5H44Qf0+eKeUg7whSC9qpYOzzrm7+0r9F5u3qF8ZTx55TJc2g656C
 9a1P1MYVysLvkLvS4H+crmxA/i08Tc1h+x9RRvqba4lSzZ6/Tmt60DPM5Sc4R0nSm9BBff0N
 m0bSNRS8InXdO1Aq3362QKX2NOwcL5YaStwODNyZUqF7izjK4QARAQABzTxEZW1pIE1hcmll
 IE9iZW5vdXIgKGxvdmVyIG9mIGNvZGluZykgPGRlbWlvYmVub3VyQGdtYWlsLmNvbT7CwXgE
 EwECACIFAlp+A0oCGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJELKItV//nCLBhr8Q
 AK/xrb4wyi71xII2hkFBpT59ObLN+32FQT7R3lbZRjVFjc6yMUjOb1H/hJVxx+yo5gsSj5LS
 9AwggioUSrcUKldfA/PKKai2mzTlUDxTcF3vKx6iMXKA6AqwAw4B57ZEJoMM6egm57TV19kz
 PMc879NV2nc6+elaKl+/kbVeD3qvBuEwsTe2Do3HAAdrfUG/j9erwIk6gha/Hp9yZlCnPTX+
 VK+xifQqt8RtMqS5R/S8z0msJMI/ajNU03kFjOpqrYziv6OZLJ5cuKb3bZU5aoaRQRDzkFIR
 6aqtFLTohTo20QywXwRa39uFaOT/0YMpNyel0kdOszFOykTEGI2u+kja35g9TkH90kkBTG+a
 EWttIht0Hy6YFmwjcAxisSakBuHnHuMSOiyRQLu43ej2+mDWgItLZ48Mu0C3IG1seeQDjEYP
 tqvyZ6bGkf2Vj+L6wLoLLIhRZxQOedqArIk/Sb2SzQYuxN44IDRt+3ZcDqsPppoKcxSyd1Ny
 2tpvjYJXlfKmOYLhTWs8nwlAlSHX/c/jz/ywwf7eSvGknToo1Y0VpRtoxMaKW1nvH0OeCSVJ
 itfRP7YbiRVc2aNqWPCSgtqHAuVraBRbAFLKh9d2rKFB3BmynTUpc1BQLJP8+D5oNyb8Ts4x
 Xd3iV/uD8JLGJfYZIR7oGWFLP4uZ3tkneDfYzsFNBFp+A0oBEAC9ynZI9LU+uJkMeEJeJyQ/
 8VFkCJQPQZEsIGzOTlPnwvVna0AS86n2Z+rK7R/usYs5iJCZ55/JISWd8xD57ue0eB47bcJv
 VqGlObI2DEG8TwaW0O0duRhDgzMEL4t1KdRAepIESBEA/iPpI4gfUbVEIEQuqdqQyO4GAe+M
 kD0Hy5JH/0qgFmbaSegNTdQg5iqYjRZ3ttiswalql1/iSyv1WYeC1OAs+2BLOAT2NEggSiVO
 txEfgewsQtCWi8H1SoirakIfo45Hz0tk/Ad9ZWh2PvOGt97Ka85o4TLJxgJJqGEnqcFUZnJJ
 riwoaRIS8N2C8/nEM53jb1sH0gYddMU3QxY7dYNLIUrRKQeNkF30dK7V6JRH7pleRlf+wQcN
 fRAIUrNlatj9TxwivQrKnC9aIFFHEy/0mAgtrQShcMRmMgVlRoOA5B8RTulRLCmkafvwuhs6
 dCxN0GNAORIVVFxjx9Vn7OqYPgwiofZ6SbEl0hgPyWBQvE85klFLZLoj7p+joDY1XNQztmfA
 rnJ9x+YV4igjWImINAZSlmEcYtd+xy3Li/8oeYDAqrsnrOjb+WvGhCykJk4urBog2LNtcyCj
 kTs7F+WeXGUo0NDhbd3Z6AyFfqeF7uJ3D5hlpX2nI9no/ugPrrTVoVZAgrrnNz0iZG2DVx46
 x913pVKHl5mlYQARAQABwsFfBBgBAgAJBQJafgNKAhsMAAoJELKItV//nCLBwNIP/AiIHE8b
 oIqReFQyaMzxq6lE4YZCZNj65B/nkDOvodSiwfwjjVVE2V3iEzxMHbgyTCGA67+Bo/d5aQGj
 gn0TPtsGzelyQHipaUzEyrsceUGWYoKXYyVWKEfyh0cDfnd9diAm3VeNqchtcMpoehETH8fr
 RHnJdBcjf112PzQSdKC6kqU0Q196c4Vp5HDOQfNiDnTf7gZSj0BraHOByy9LEDCLhQiCmr+2
 E0rW4tBtDAn2HkT9uf32ZGqJCn1O+2uVfFhGu6vPE5qkqrbSE8TG+03H8ecU2q50zgHWPdHM
 OBvy3EhzfAh2VmOSTcRK+tSUe/u3wdLRDPwv/DTzGI36Kgky9MsDC5gpIwNbOJP2G/q1wT1o
 Gkw4IXfWv2ufWiXqJ+k7HEi2N1sree7Dy9KBCqb+ca1vFhYPDJfhP75I/VnzHVssZ/rYZ9+5
 1yDoUABoNdJNSGUYl+Yh9Pw9pE3Kt4EFzUlFZWbE4xKL/NPno+z4J9aWemLLszcYz/u3XnbO
 vUSQHSrmfOzX3cV4yfmjM5lewgSstoxGyTx2M8enslgdXhPthZlDnTnOT+C+OTsh8+m5tos8
 HQjaPM01MKBiAqdPgksm1wu2DrrwUi6ChRVTUBcj6+/9IJ81H2P2gJk3Ls3AVIxIffLoY34E
 +MYSfkEjBz0E8CLOcAw7JIwAaeBT
In-Reply-To: <DDH3W3VM2ZDJ.PMFSGBWBTS0S@amd.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------762s4zknAMrzEdFsDT1WDEuA"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------762s4zknAMrzEdFsDT1WDEuA
Content-Type: multipart/mixed; boundary="------------QDDh6Wio628ydfQv6f3S0h00";
 protected-headers="v1"
From: Demi Marie Obenour <demiobenour@gmail.com>
To: Alejandro Vallejo <alejandro.garciavallejo@amd.com>,
 Jan Beulich <jbeulich@suse.com>,
 Grygorii Strashko <grygorii_strashko@epam.com>
Cc: Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Paul Durrant <paul@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Message-ID: <9248eda6-cf9b-4fdf-ab32-66e777585f65@gmail.com>
Subject: Re: [PATCH v5] x86: make Viridian support optional
References: <20250930125215.1087214-1-grygorii_strashko@epam.com>
 <3e4e4bc5-aa47-4357-9327-df2a9b9c9a1b@suse.com>
 <DDH3W3VM2ZDJ.PMFSGBWBTS0S@amd.com>
In-Reply-To: <DDH3W3VM2ZDJ.PMFSGBWBTS0S@amd.com>

--------------QDDh6Wio628ydfQv6f3S0h00
Content-Type: multipart/mixed; boundary="------------iou0j883TqS227ZTALA0Lvgj"

--------------iou0j883TqS227ZTALA0Lvgj
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On 10/13/25 06:01, Alejandro Vallejo wrote:
> On Wed Oct 8, 2025 at 6:04 PM CEST, Jan Beulich wrote:
>> On 30.09.2025 14:52, Grygorii Strashko wrote:
>>> --- a/xen/arch/x86/hvm/Kconfig
>>> +++ b/xen/arch/x86/hvm/Kconfig
>>> @@ -62,6 +62,16 @@ config ALTP2M
>>> =20
>>>  	  If unsure, stay with defaults.
>>> =20
>>> +config VIRIDIAN
>>> +	bool "Hyper-V enlightenments for guests" if EXPERT
>>> +	default y
>>> +	help
>>> +	  Support optimizations for Hyper-V guests such as faster hypercall=
s,
>>> +	  efficient timer and interrupt handling, and enhanced paravirtuali=
zed
>>> +	  I/O. This is to improve performance and compatibility of Windows =
VMs.
>>
>> What is "paravirtualized I/O" about in this context?
>=20
> Hypervisor-assisted IPIs, TLB flushes, etc. Or so I understood back whe=
n I said
> that looked ok. I see there could be confusion with Xen PV device proto=
cols,
> but as far as the user of the help message is concerned it makes no dif=
ference.
>=20
> One could even remove the examples and leave it as "... for Hyper-V gue=
sts. This
> is to...". They are truly inconsequential.
>=20
> All that matters is that (modern) Windows won't run without it, and tha=
t it
> provides some indeterminate hypervisor-provided assists to try to reduc=
e some
> virtualization overheads.

Qubes OS doesn't expose Viridian at all, which is why it wasn't
vulnerable to XSA-472.  It still runs Windows guests just fine.
--=20
Sincerely,
Demi Marie Obenour (she/her/hers)
--------------iou0j883TqS227ZTALA0Lvgj
Content-Type: application/pgp-keys; name="OpenPGP_0xB288B55FFF9C22C1.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB288B55FFF9C22C1.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsFNBFp+A0oBEADffj6anl9/BHhUSxGTICeVl2tob7hPDdhHNgPR4C8xlYt5q49y
B+l2nipdaq+4Gk6FZfqC825TKl7eRpUjMriwle4r3R0ydSIGcy4M6eb0IcxmuPYf
bWpr/si88QKgyGSVZ7GeNW1UnzTdhYHuFlk8dBSmB1fzhEYEk0RcJqg4AKoq6/3/
UorR+FaSuVwT7rqzGrTlscnTDlPWgRzrQ3jssesI7sZLm82E3pJSgaUoCdCOlL7M
MPCJwI8JpPlBedRpe9tfVyfu3euTPLPxwcV3L/cfWPGSL4PofBtB8NUU6QwYiQ9H
zx4xOyn67zW73/G0Q2vPPRst8LBDqlxLjbtx/WLR6h3nBc3eyuZ+q62HS1pJ5EvU
T1vjyJ1ySrqtUXWQ4XlZyoEFUfpJxJoN0A9HCxmHGVckzTRl5FMWo8TCniHynNXs
BtDQbabt7aNEOaAJdE7to0AH3T/Bvwzcp0ZJtBk0EM6YeMLtotUut7h2Bkg1b//r
6bTBswMBXVJ5H44Qf0+eKeUg7whSC9qpYOzzrm7+0r9F5u3qF8ZTx55TJc2g656C
9a1P1MYVysLvkLvS4H+crmxA/i08Tc1h+x9RRvqba4lSzZ6/Tmt60DPM5Sc4R0nS
m9BBff0Nm0bSNRS8InXdO1Aq3362QKX2NOwcL5YaStwODNyZUqF7izjK4QARAQAB
zTxEZW1pIE9iZW5vdXIgKElUTCBFbWFpbCBLZXkpIDxhdGhlbmFAaW52aXNpYmxl
dGhpbmdzbGFiLmNvbT7CwY4EEwEIADgWIQR2h02fEza6IlkHHHGyiLVf/5wiwQUC
X6YJvQIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgAAKCRCyiLVf/5wiwWRhD/0Y
R+YYC5Kduv/2LBgQJIygMsFiRHbR4+tWXuTFqgrxxFSlMktZ6gQrQCWe38WnOXkB
oY6n/5lSJdfnuGd2UagZ/9dkaGMUkqt+5WshLFly4BnP7pSsWReKgMP7etRTwn3S
zk1OwFx2lzY1EnnconPLfPBc6rWG2moA6l0WX+3WNR1B1ndqpl2hPSjT2jUCBWDV
rGOUSX7r5f1WgtBeNYnEXPBCUUM51pFGESmfHIXQrqFDA7nBNiIVFDJTmQzuEqIy
Jl67pKNgooij5mKzRhFKHfjLRAH4mmWZlB9UjDStAfFBAoDFHwd1HL5VQCNQdqEc
/9lZDApqWuCPadZN+pGouqLysesIYsNxUhJ7dtWOWHl0vs7/3qkWmWun/2uOJMQh
ra2u8nA9g91FbOobWqjrDd6x3ZJoGQf4zLqjmn/P514gb697788e573WN/MpQ5XI
Fl7aM2d6/GJiq6LC9T2gSUW4rbPBiqOCeiUx7Kd/sVm41p9TOA7fEG4bYddCfDsN
xaQJH6VRK3NOuBUGeL+iQEVF5Xs6Yp+U+jwvv2M5Lel3EqAYo5xXTx4ls0xaxDCu
fudcAh8CMMqx3fguSb7Mi31WlnZpk0fDuWQVNKyDP7lYpwc4nCCGNKCj622ZSocH
AcQmX28L8pJdLYacv9pU3jPy4fHcQYvmTavTqowGnM08RGVtaSBNYXJpZSBPYmVu
b3VyIChsb3ZlciBvZiBjb2RpbmcpIDxkZW1pb2Jlbm91ckBnbWFpbC5jb20+wsF4
BBMBAgAiBQJafgNKAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRCyiLVf
/5wiwYa/EACv8a2+MMou9cSCNoZBQaU+fTmyzft9hUE+0d5W2UY1RY3OsjFIzm9R
/4SVccfsqOYLEo+S0vQMIIIqFEq3FCpXXwPzyimotps05VA8U3Bd7yseojFygOgK
sAMOAee2RCaDDOnoJue01dfZMzzHPO/TVdp3OvnpWipfv5G1Xg96rwbhMLE3tg6N
xwAHa31Bv4/Xq8CJOoIWvx6fcmZQpz01/lSvsYn0KrfEbTKkuUf0vM9JrCTCP2oz
VNN5BYzqaq2M4r+jmSyeXLim922VOWqGkUEQ85BSEemqrRS06IU6NtEMsF8EWt/b
hWjk/9GDKTcnpdJHTrMxTspExBiNrvpI2t+YPU5B/dJJAUxvmhFrbSIbdB8umBZs
I3AMYrEmpAbh5x7jEjoskUC7uN3o9vpg1oCLS2ePDLtAtyBtbHnkA4xGD7ar8mem
xpH9lY/i+sC6CyyIUWcUDnnagKyJP0m9ks0GLsTeOCA0bft2XA6rD6aaCnMUsndT
ctrab42CV5XypjmC4U1rPJ8JQJUh1/3P48/8sMH+3krxpJ06KNWNFaUbaMTGiltZ
7x9DngklSYrX0T+2G4kVXNmjaljwkoLahwLla2gUWwBSyofXdqyhQdwZsp01KXNQ
UCyT/Pg+aDcm/E7OMV3d4lf7g/CSxiX2GSEe6BlhSz+Lmd7ZJ3g32M1ARGVtaSBN
YXJpZSBPYmVub3VyIChJVEwgRW1haWwgS2V5KSA8ZGVtaUBpbnZpc2libGV0aGlu
Z3NsYWIuY29tPsLBjgQTAQgAOBYhBHaHTZ8TNroiWQcccbKItV//nCLBBQJgOEV+
AhsDBQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJELKItV//nCLBKwoP/1WSnFdv
SAD0g7fD0WlF+oi7ISFT7oqJnchFLOwVHK4Jg0e4hGn1ekWsF3Ha5tFLh4V/7UUu
obYJpTfBAA2CckspYBqLtKGjFxcaqjjpO1I2W/jeNELVtSYuCOZICjdNGw2Hl9yH
KRZiBkqc9u8lQcHDZKq4LIpVJj6ZQV/nxttDX90ax2No1nLLQXFbr5wb465LAPpU
lXwunYDij7xJGye+VUASQh9datye6orZYuJvNo8Tr3mAQxxkfR46LzWgxFCPEAZJ
5P56Nc0IMHdJZj0Uc9+1jxERhOGppp5jlLgYGK7faGB/jTV6LaRQ4Ad+xiqokDWp
mUOZsmA+bMbtPfYjDZBz5mlyHcIRKIFpE1l3Y8F7PhJuzzMUKkJi90CYakCV4x/a
Zs4pzk5E96c2VQx01RIEJ7fzHF7lwFdtfTS4YsLtAbQFsKayqwkGcVv2B1AHeqdo
TMX+cgDvjd1ZganGlWA8Sv9RkNSMchn1hMuTwERTyFTr2dKPnQdA1F480+jUap41
ClXgn227WkCIMrNhQGNyJsnwyzi5wS8rBVRQ3BOTMyvGM07j3axUOYaejEpg7wKi
wTPZGLGH1sz5GljD/916v5+v2xLbOo5606j9dWf5/tAhbPuqrQgWv41wuKDi+dDD
EKkODF7DHes8No+QcHTDyETMn1RYm7t0RKR4zsFNBFp+A0oBEAC9ynZI9LU+uJkM
eEJeJyQ/8VFkCJQPQZEsIGzOTlPnwvVna0AS86n2Z+rK7R/usYs5iJCZ55/JISWd
8xD57ue0eB47bcJvVqGlObI2DEG8TwaW0O0duRhDgzMEL4t1KdRAepIESBEA/iPp
I4gfUbVEIEQuqdqQyO4GAe+MkD0Hy5JH/0qgFmbaSegNTdQg5iqYjRZ3ttiswalq
l1/iSyv1WYeC1OAs+2BLOAT2NEggSiVOtxEfgewsQtCWi8H1SoirakIfo45Hz0tk
/Ad9ZWh2PvOGt97Ka85o4TLJxgJJqGEnqcFUZnJJriwoaRIS8N2C8/nEM53jb1sH
0gYddMU3QxY7dYNLIUrRKQeNkF30dK7V6JRH7pleRlf+wQcNfRAIUrNlatj9Txwi
vQrKnC9aIFFHEy/0mAgtrQShcMRmMgVlRoOA5B8RTulRLCmkafvwuhs6dCxN0GNA
ORIVVFxjx9Vn7OqYPgwiofZ6SbEl0hgPyWBQvE85klFLZLoj7p+joDY1XNQztmfA
rnJ9x+YV4igjWImINAZSlmEcYtd+xy3Li/8oeYDAqrsnrOjb+WvGhCykJk4urBog
2LNtcyCjkTs7F+WeXGUo0NDhbd3Z6AyFfqeF7uJ3D5hlpX2nI9no/ugPrrTVoVZA
grrnNz0iZG2DVx46x913pVKHl5mlYQARAQABwsFfBBgBAgAJBQJafgNKAhsMAAoJ
ELKItV//nCLBwNIP/AiIHE8boIqReFQyaMzxq6lE4YZCZNj65B/nkDOvodSiwfwj
jVVE2V3iEzxMHbgyTCGA67+Bo/d5aQGjgn0TPtsGzelyQHipaUzEyrsceUGWYoKX
YyVWKEfyh0cDfnd9diAm3VeNqchtcMpoehETH8frRHnJdBcjf112PzQSdKC6kqU0
Q196c4Vp5HDOQfNiDnTf7gZSj0BraHOByy9LEDCLhQiCmr+2E0rW4tBtDAn2HkT9
uf32ZGqJCn1O+2uVfFhGu6vPE5qkqrbSE8TG+03H8ecU2q50zgHWPdHMOBvy3Ehz
fAh2VmOSTcRK+tSUe/u3wdLRDPwv/DTzGI36Kgky9MsDC5gpIwNbOJP2G/q1wT1o
Gkw4IXfWv2ufWiXqJ+k7HEi2N1sree7Dy9KBCqb+ca1vFhYPDJfhP75I/VnzHVss
Z/rYZ9+51yDoUABoNdJNSGUYl+Yh9Pw9pE3Kt4EFzUlFZWbE4xKL/NPno+z4J9aW
emLLszcYz/u3XnbOvUSQHSrmfOzX3cV4yfmjM5lewgSstoxGyTx2M8enslgdXhPt
hZlDnTnOT+C+OTsh8+m5tos8HQjaPM01MKBiAqdPgksm1wu2DrrwUi6ChRVTUBcj
6+/9IJ81H2P2gJk3Ls3AVIxIffLoY34E+MYSfkEjBz0E8CLOcAw7JIwAaeBTzsFN
BGbyLVgBEACqClxh50hmBepTSVlan6EBq3OAoxhrAhWZYEwN78k+ENhK68KhqC5R
IsHzlL7QHW1gmfVBQZ63GnWiraM6wOJqFTL4ZWvRslga9u28FJ5XyK860mZLgYhK
9BzoUk4s+dat9jVUbq6LpQ1Ot5I9vrdzo2p1jtQ8h9WCIiFxSYy8s8pZ3hHh5T64
GIj1m/kY7lG3VIdUgoNiREGf/iOMjUFjwwE9ZoJ26j9p7p1U+TkKeF6wgswEB1T3
J8KCAtvmRtqJDq558IU5jhg5fgN+xHB8cgvUWulgK9FIF9oFxcuxtaf/juhHWKMO
RtL0bHfNdXoBdpUDZE+mLBUAxF6KSsRrvx6AQyJs7VjgXJDtQVWvH0PUmTrEswgb
49nNU+dLLZQAZagxqnZ9Dp5l6GqaGZCHERJcLmdY/EmMzSf5YazJ6c0vO8rdW27M
kn73qcWAplQn5mOXaqbfzWkAUPyUXppuRHfrjxTDz3GyJJVOeMmMrTxH4uCaGpOX
Z8tN6829J1roGw4oKDRUQsaBAeEDqizXMPRc+6U9vI5FXzbAsb+8lKW65G7JWHym
YPOGUt2hK4DdTA1PmVo0DxH00eWWeKxqvmGyX+Dhcg+5e191rPsMRGsDlH6KihI6
+3JIuc0y6ngdjcp6aalbuvPIGFrCRx3tnRtNc7He6cBWQoH9RPwluwARAQABwsOs
BBgBCgAgFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmbyLVgCGwICQAkQsoi1X/+c
IsHBdCAEGQEKAB0WIQSilC2pUlbVp66j3+yzNoc6synyUwUCZvItWAAKCRCzNoc6
synyU85gD/0T1QDtPhovkGwoqv4jUbEMMvpeYQf+oWgm/TjWPeLwdjl7AtY0G9Ml
ZoyGniYkoHi37Gnn/ShLT3B5vtyI58ap2+SSa8SnGftdAKRLiWFWCiAEklm9FRk8
N3hwxhmSFF1KR/AIDS4g+HIsZn7YEMubBSgLlZZ9zHl4O4vwuXlREBEW97iL/FSt
VownU2V39t7PtFvGZNk+DJH7eLO3jmNRYB0PL4JOyyda3NH/J92iwrFmjFWWmmWb
/Xz8l9DIs+Z59pRCVTTwbBEZhcUc7rVMCcIYL+q1WxBG2e6lMn15OQJ5WfiE6E0I
sGirAEDnXWx92JNGx5l+mMpdpsWhBZ5iGTtttZesibNkQfd48/eCgFi4cxJUC4PT
UQwfD9AMgzwSTGJrkI5XGy+XqxwOjL8UA0iIrtTpMh49zw46uV6kwFQCgkf32jZM
OLwLTNSzclbnA7GRd8tKwezQ/XqeK3dal2n+cOr+o+Eka7yGmGWNUqFbIe8cjj9T
JeF3mgOCmZOwMI+wIcQYRSf+e5VTMO6TNWH5BI3vqeHSt7HkYuPlHT0pGum88d4a
pWqhulH4rUhEMtirX1hYx8Q4HlUOQqLtxzmwOYWkhl1C+yPObAvUDNiHCLf9w28n
uihgEkzHt9J4VKYulyJM9fe3ENcyU6rpXD7iANQqcr87ogKXFxknZ97uEACvSucc
RbnnAgRqZ7GDzgoBerJ2zrmhLkeREZ08iz1zze1JgyW3HEwdr2UbyAuqvSADCSUU
GN0vtQHsPzWl8onRc7lOPqPDF8OO+UfN9NAfA4wl3QyChD1GXl9rwKQOkbvdlYFV
UFx9u86LNi4ssTmU8p9NtHIGpz1SYMVYNoYy9NU7EVqypGMguDCL7gJt6GUmA0sw
p+YCroXiwL2BJ7RwRqTpgQuFL1gShkA17D5jK4mDPEetq1d8kz9rQYvAR/sTKBsR
ImC3xSfn8zpWoNTTB6lnwyP5Ng1bu6esS7+SpYprFTe7ZqGZF6xhvBPf1Ldi9UAm
U2xPN1/eeWxEa2kusidmFKPmN8lcT4miiAvwGxEnY7Oww9CgZlUB+LP4dl5VPjEt
sFeAhrgxLdpVTjPRRwTd9VQF3/XYl83j5wySIQKIPXgT3sG3ngAhDhC8I8GpM36r
8WJJ3x2yVzyJUbBPO0GBhWE2xPNIfhxVoU4cGGhpFqz7dPKSTRDGq++MrFgKKGpI
ZwT3CPTSSKc7ySndEXWkOYArDIdtyxdE1p5/c3aoz4utzUU7NDHQ+vVIwlnZSMiZ
jek2IJP3SZ+COOIHCVxpUaZ4lnzWT4eDqABhMLpIzw6NmGfg+kLBJhouqz81WITr
EtJuZYM5blWncBOJCoWMnBEcTEo/viU3GgcVRw=3D=3D
=3Dx94R
-----END PGP PUBLIC KEY BLOCK-----

--------------iou0j883TqS227ZTALA0Lvgj--

--------------QDDh6Wio628ydfQv6f3S0h00--

--------------762s4zknAMrzEdFsDT1WDEuA
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEopQtqVJW1aeuo9/sszaHOrMp8lMFAmjvN+8ACgkQszaHOrMp
8lOkCw/+J+vPoU3ruInJNBeFbchbndmfyJPyZGzfKuzrneO3Ceplk2g869105XYV
r/96+8jwioMSH90OKdCuoYmGkwmkko9ICSgo8juANHH7FA0Tuw2oZy2vguSGQ85e
MKWZaORORkGiJVf9t/WHbdaibyjN93J5Q/GK7gYYtJxdxUdWvktJF6K1iflIvvrm
jToSEvOtl6oxYjFYRc1BXjT/eXyO85uHRosRsS9ZS/2WeLfPTgpYcjLv6G+axwbu
SptmAejliMKli6g/iJ6RLaxHOnhzksDCFjaabcW4XWQ5JMiIxLgfPl+U55HP4i7m
cuqJCuZ8sh6PrsfrgPF1ScNxaBd0laM51TV8v+EUJJI44O8oh9IxwrzGyG1VXpJ7
U1jdHU9sRNHozxK9rSA2VXg+q1Cilh8JjfGjTo6gzYtRWyeR0R1tjL/dreCVQSpp
7xnJNR9yb4KpN/JleQx0Oq8aWcB0wUZZgdTNaOuufgUGmEOIiszm9h4qgGXYP4CU
OTIv+s8o7hG9lC5pr2TCsgsf/3I6oyJ1zUEnp2M8IlKx/Dhg0Q7n17FOutMPcZZk
yDwYVDj5zDiOlxX7TmhzzE4GakKLY2Hnj8W/R9IaBSnNZhN4N6c95qfkDVhrAOHN
3d4gV9BhOvPw8TeGJLg3Tc/1BKsu4L7zyvMsepTtiPjIKO/qQ6Q=
=vyPs
-----END PGP SIGNATURE-----

--------------762s4zknAMrzEdFsDT1WDEuA--


From xen-devel-bounces@lists.xenproject.org Wed Oct 15 06:20:10 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 06:20:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143131.1476910 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8urk-00064f-Pb; Wed, 15 Oct 2025 06:20:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143131.1476910; Wed, 15 Oct 2025 06:20:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8urk-00064C-LL; Wed, 15 Oct 2025 06:20:04 +0000
Received: by outflank-mailman (input) for mailman id 1143131;
 Wed, 15 Oct 2025 06:20:03 +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 <SRS0=oFce=4Y=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v8urj-0005ky-Iy
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 06:20:03 +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 fb9f8af5-a98e-11f0-9d15-b5c5bf9af7f9;
 Wed, 15 Oct 2025 08:20:02 +0200 (CEST)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-46fcf9f63b6so11777695e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 14 Oct 2025 23:20:02 -0700 (PDT)
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-426ce5d015esm27929329f8f.33.2025.10.14.23.20.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 14 Oct 2025 23:20:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fb9f8af5-a98e-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760509201; x=1761114001; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=EWpfYIfQiO4iEKPhFjFn7elMDmnN1GcrNstL/ykWifo=;
        b=JPloFKpgVc2jvxPsw2elQ2yUkWLQ2oyri+jK75/BbKpyCIqhuCAsTnvtJEhuqWVYDF
         f8Euo5whcBPOgyXuIwZJ8jDLY8PcVLnhUKm9ffSLG4hkZ6DGr0sxUqINpLVNGLIYTE9g
         Vac1qivHfDEDg/rzvHWLexkkqu9glJnoIKOcF7O0utIUTnGUHUt5OnQ4UN6F2ootJghD
         +pty7Ob+Ejaz3HdhuyxBqdQ9Es7b3jkPcfAyUhSQBoikxekoNYArt1X1z2h+R0r1UoHX
         7FJmTH3I5YL0Sl2PEvDw7vV/fDLsIJCvuOkmZYWdYSmw0+G463AP/gGm2I4GIaTzv611
         0Zig==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760509201; x=1761114001;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=EWpfYIfQiO4iEKPhFjFn7elMDmnN1GcrNstL/ykWifo=;
        b=QyWWHfb07OzwkBKaBcQ099Ipgba6lbHz/RH4KCK8FrqNH2IqL+4B3/CkpZJiwy/vC9
         vkdkPTgC63gsV28a24sdp/tSbGvyQunnOm7wNoqdI/ndB55TkSDacs6sX1bw7FNWTp+N
         oiPnaeYDKEUbgxBA+QD8g8TmP+UqwhVphd8q1AfmckzgXzFAUTAmutpwLQbCa/ei+S6H
         jtwLx66SesmahP3f/W6ETacGsXCS5zHzgL5MrBiZu0cfjcvmxaAPQ4Q5I2lVEivWm14h
         BpIX7GymTOENCA0CDbf8r/o5gA1nFXWgUHretW26s9k0B9iHAhbsoLxiahDx/LpxgLS9
         4xsg==
X-Forwarded-Encrypted: i=1; AJvYcCV/rnFv0ixyZAh8HSSfAvPiTDmN/3Rvcp006R/a+ByYyiSY1PXy/QZSv12HA05iEAbTjRYwD3ZfiVQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwxRbltCEVtJwNqyyx/wZ1gbC2M8X241axP/eVDFosMHvf7rVzA
	qN3wo8Mje3TDWNAXqUvbEweyD02SeX68DE/AFg7EhrXuJcGrM/rvW8/Gt7uMX/wcUA==
X-Gm-Gg: ASbGnctfXm7MhIm14jvrtAIfz7hEt7Nj0AukKefP8tO/x32k6k61Jsau9Y0PkPTQheS
	ECQX/KzPj783JmmpAUWrLAo1rILuv23ai+3nJNyIQsG5w8Bx7SQwG2VtWZRffpKDa46npmAHK++
	/f8/Kzk+FcQlBeiUFQNohCGuajP/xkMC2Zf+ErQgvUdHazeIIu/OZRivMQ7k2+ET/lYtITCOEUc
	W86sVKAx6l4Y2NLr8eAQrG9NxMLd+WPePw22k4ffOVM+gONz62+Mmm39ADJiZRbI0Tkr1N6Ulpi
	MH0FyG/31xnQndPxeCIGHQwp6sctFtz0FTm4AYAJvBP7kmZvpdfnG6dmo3UB13Z8IunhaNJ6izw
	3hSfMFWZvXFjxWIlbYBYVjUTpfkRMFZ3BvsWkRoupLA4PU4VdtoIkZeJR8jql9A0gGxE0GHrVLg
	MVLuBIbqYKQNJ2fXn9ewBPngabtX41EzDftVML
X-Google-Smtp-Source: AGHT+IEwffKWWQdtm1s2DX3N3fG9OvquoMUatTvh7F/DEHE3VOpG/zEraYvJVRoli3bWkHOunFkaPg==
X-Received: by 2002:a05:600c:19c6:b0:46e:3d17:b614 with SMTP id 5b1f17b1804b1-46fa9a9440emr211237275e9.6.1760509201493;
        Tue, 14 Oct 2025 23:20:01 -0700 (PDT)
Message-ID: <ceedeefa-c506-41ca-9dfc-76937979caa9@suse.com>
Date: Wed, 15 Oct 2025 08:20:00 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] misra: consider conversion from UL or (void*) to
 function pointer as safe
To: Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>
Cc: Nicola Vetrini <nicola.vetrini@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <0e72c83102668dfa6f14c4e8f9839b4a73d30b3d.1760458094.git.dmytro_prokopchuk1@epam.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <0e72c83102668dfa6f14c4e8f9839b4a73d30b3d.1760458094.git.dmytro_prokopchuk1@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 14.10.2025 18:16, Dmytro Prokopchuk1 wrote:
> --- a/xen/common/version.c
> +++ b/xen/common/version.c
> @@ -217,6 +217,20 @@ void __init xen_build_init(void)
>  #endif /* CONFIG_X86 */
>  }
>  #endif /* BUILD_ID */
> +
> +#if defined(__i386__) || defined(__x86_64__) || defined(__arm__) || defined(__aarch64__)

Why __i386__? Also (nit): Line too long.

And why this restriction without any comment here or ...

> +static void __init __maybe_unused build_assertions(void)
> +{
> +    /*
> +     * To confirm conversion compatibility between unsigned long, (void *)
> +     * and function pointers for X86 and ARM architectures only.

... explanation here? More generally - how would people know to update
the condition if another port was to be certified?

Finally, with the v3 addition here, is Nicola's R-b really still applicable?

Jan

> +     */
> +
> +    BUILD_BUG_ON(sizeof(unsigned long) != sizeof(void (*)(void)));
> +    BUILD_BUG_ON(sizeof(void *) != sizeof(void (*)(void)));
> +}
> +#endif
> +
>  /*
>   * Local variables:
>   * mode: C



From xen-devel-bounces@lists.xenproject.org Wed Oct 15 06:31:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 06:31:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143145.1476920 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8v2I-0008BP-RB; Wed, 15 Oct 2025 06:30:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143145.1476920; Wed, 15 Oct 2025 06:30:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8v2I-0008BI-Ny; Wed, 15 Oct 2025 06:30:58 +0000
Received: by outflank-mailman (input) for mailman id 1143145;
 Wed, 15 Oct 2025 06:30:57 +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 <SRS0=oFce=4Y=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v8v2H-0008BB-AE
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 06:30:57 +0000
Received: from mail-wm1-x330.google.com (mail-wm1-x330.google.com
 [2a00:1450:4864:20::330])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7fea18eb-a990-11f0-980a-7dc792cee155;
 Wed, 15 Oct 2025 08:30:53 +0200 (CEST)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-46b303f7469so41240265e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 14 Oct 2025 23:30:53 -0700 (PDT)
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-426ce582b44sm27527042f8f.16.2025.10.14.23.30.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 14 Oct 2025 23:30:52 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7fea18eb-a990-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760509853; x=1761114653; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=N2lk3IwiyXhY86G35TNA/Wk+0tqfkse1DcY9+BBibyM=;
        b=co8ovcAbn64adpO2gOxoO9xXRa0+swszG5juw3HWVPW8zjOwlcap7QiX+VDhutNp/y
         DqYo9nWG1+dqfrdqrjxTlK2eXFqVMg83eKRlvybymt4WJwb7uUk5EulO0fKnCAMdOSg1
         Q76Aoq72wXupg1JblKLHojOo/+N+8VmJyEhHsAIumjFg9YozupKumdeCVzsBItVVmd4g
         x0TCVMMuuTDqEPJvub/GrL/DqikHiyz566FwYkiCTi3s+nQFzYrCyNM9zoXH8lEfFje6
         gENKq41a8ZD9HjBRCegu8hQRxRkZvN6U3GZhEE+KEFNNfnadl5Trfi6oSlNrl69vNGkT
         d03A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760509853; x=1761114653;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=N2lk3IwiyXhY86G35TNA/Wk+0tqfkse1DcY9+BBibyM=;
        b=sKPEyi//mehpwuUpV3DGqqNilhkx5StqBrgymzgRJDluxh4i/SW67rhpI1uHjQD6ue
         fO7Z3pibpLhBElj0WZ7xCrqWW5uNGxPmXvnUOykYLFAydDDXN+0IX2yq7chxWasEuztO
         0Oj9Q1sS+qJvN8upkdmR8G4QJMjnoOEbVsG8+m0oGYQvpfzCXSD5HFk3eajiiYu+zLGF
         kDlVs2qUffZRHh17hv6kcPZtjuRgFrNFoL9e0GwcrK47alD03+jBOIs2bPaSv9KcIrwp
         DLYo8x7vMkF68vPf2c0JgrChRU5HLJPzjgJ0pdT+DF8bad0BdF3QjUPp4WjqKzUA9aX2
         NeuQ==
X-Forwarded-Encrypted: i=1; AJvYcCUnUnAycJ2ZJ7Hx6PK0d4xAC3X7kNAiUAgQcDp7Ef2yuJ3gP3aEQtro7wGJfIDLKw+q633Sy6leRuk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwK342Pf/A/bSMvsE7i3ai7VvwdFt+PY/fZDyarojjHcNeJwh2H
	XCMnid1HFJF0zQFGpX4fwCuGKzXAIfkM+jRxiHshrfX/u4NetkCl4gV6sCUmZufmRA==
X-Gm-Gg: ASbGncsW+nbV9mjOeWWqdEb9Tk7V8uHT7TETm571CWRAh6m3fZBXZZGibRx4LeQ+Op9
	SwWv82RmA3qfMyvkOt8gbjQiQF3VyRCwPQoG3V6e1WW8GuQlThK8gSPtT2Mf/a9lxBfCVrKuQLA
	VyvuxlvktYhx3rPTdAxsrb139du/1LX5Kku/NeTpKzhPyBDE0dMuIrDmc64mT/KDXyNqgcaYGly
	AOg5zEUfauY3V1F/q20soOb2u/EvpiRdGlcl0qJ0JYE14Mphou8KQ5BH4gtd5j8am8Zwdbly59E
	gvqdeIRfTkj1Y8JlujQs8DZT8QkJ33YIYZzBROj0UqT6NgqCHZirJ0XOxN6WtiexhO3EnhjeNYp
	CFGQZwYEJDXgObUOtz5ub5KkO02DgFAH6nGpcItRltgdw6u1bbivzWnUbNXDn74WYO94QRqCEE/
	Jb6na7PoQ4lC0c+NnrgQfDvuEwy3HWeXXd/OEfzvJysrMXVdA=
X-Google-Smtp-Source: AGHT+IHpJ5zoad1XolKS3VZ7TDk9q89LIewqqCvGhgwuQsfzDXZhjS14M6DLEBf9WbcsLR5wnatEiA==
X-Received: by 2002:a05:600d:41c4:b0:471:7a:7922 with SMTP id 5b1f17b1804b1-471007a7aa1mr6620045e9.6.1760509852974;
        Tue, 14 Oct 2025 23:30:52 -0700 (PDT)
Message-ID: <6ef29e64-56e9-4180-a6f3-411ecbe7dca5@suse.com>
Date: Wed, 15 Oct 2025 08:30:51 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21??? 3/3] x86/vLAPIC: properly support the CMCI LVT
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Grygorii Strashko <grygorii_strashko@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <265d5053-af61-42cb-a3b9-ef60df39c21b@suse.com>
 <61a05ec1-aca7-4c3f-be6f-1bb053b2cd00@suse.com>
 <bb9dba9c-3011-4c1a-917d-9d83fcc2c967@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <bb9dba9c-3011-4c1a-917d-9d83fcc2c967@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 14.10.2025 21:36, Andrew Cooper wrote:
> On 08/10/2025 1:09 pm, Jan Beulich wrote:
>> --- a/xen/arch/x86/hvm/vlapic.c
>> +++ b/xen/arch/x86/hvm/vlapic.c
>> @@ -697,8 +701,17 @@ int guest_rdmsr_x2apic(const struct vcpu
>>          return X86EMUL_EXCEPTION;
>>  
>>      offset = reg << 4;
>> -    if ( offset == APIC_ICR )
>> +    switch ( offset )
>> +    {
>> +    case APIC_ICR:
>>          high = (uint64_t)vlapic_read_aligned(vlapic, APIC_ICR2) << 32;
>> +        break;
>> +
>> +    case APIC_CMCI:
>> +        if ( !(v->arch.vmce.mcg_cap & MCG_CMCI_P) )
>> +            return X86EMUL_EXCEPTION;
>> +        break;
>> +    }
>>  
>>      *val = high | vlapic_read_aligned(vlapic, offset);
>>  
>> @@ -868,6 +881,10 @@ void vlapic_reg_write(struct vcpu *v, un
>>          vlapic_set_reg(vlapic, APIC_ICR2, val & 0xff000000U);
>>          break;
>>  
>> +    case APIC_CMCI:         /* LVT CMCI */
>> +        if ( !(v->arch.vmce.mcg_cap & MCG_CMCI_P) )
>> +            break;
>> +        fallthrough;
>>      case APIC_LVTT:         /* LVT Timer Reg */
>>          if ( vlapic_lvtt_tdt(vlapic) !=
>>               ((val & APIC_TIMER_MODE_MASK) == APIC_TIMER_MODE_TSC_DEADLINE) )
>> @@ -1024,9 +1041,12 @@ int guest_wrmsr_x2apic(struct vcpu *v, u
>>              return X86EMUL_EXCEPTION;
>>          break;
>>  
>> +    case APIC_CMCI:
>> +        if ( !(v->arch.vmce.mcg_cap & MCG_CMCI_P) )
>> +            return X86EMUL_EXCEPTION;
>> +        fallthrough;
>>      case APIC_LVTTHMR:
>>      case APIC_LVTPC:
>> -    case APIC_CMCI:
>>          if ( val & ~(LVT_MASK | APIC_DM_MASK) )
>>              return X86EMUL_EXCEPTION;
>>          break;
> 
> This is almost certainly not how real hardware behaves.
> 
> The APIC is a discrete block of logic, whether it's integrated into the
> core or not.Â  A new LVT is "just" another interrupt source, and if
> nothing is wired into that pin, then it's just a register which never
> produces an interrupt.
> 
> Accessibility of LVT_CMCI will depend on MAXLVT and nothing else.Â  In
> silicon, I'm pretty sure it will be hardcoded as fully absent or
> present, because I can't see any reason to make this configurable.
> 
> At this point, things get more complicated.
> 
> On Intel, there's no such thing as x2APIC capable (irrespective of
> x2APIC enabled) without LVT_CMCI which is why there are no additional
> access constraints on the register.
> 
> On AMD, there's no LVT_CMCI even on systems which support x2APIC.Â 
> Instead, ELVTs are used and it is MCE-configuration based which ELVT the
> interrupt is delivered through.
> 
> Choosing a default MAXLVT based on MCG_CMCI_P is probably fine (although
> it certainly is ugly to tie APIC and vMCE together), but controls on the
> access to APIC_CMCI should be based on MAXLVT.

As you ask for it, I can certainly do so. I didn't because the way it's
done now the checks are cheaper overall.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Oct 15 08:00:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 08:00:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143174.1476930 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8wQe-0002P7-1L; Wed, 15 Oct 2025 08:00:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143174.1476930; Wed, 15 Oct 2025 08:00:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8wQd-0002P0-Uc; Wed, 15 Oct 2025 08:00:11 +0000
Received: by outflank-mailman (input) for mailman id 1143174;
 Wed, 15 Oct 2025 08:00:11 +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
 <SRS0=pY79=4Y=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v8wQd-0002Ou-95
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 08:00:11 +0000
Received: from CH4PR04CU002.outbound.protection.outlook.com
 (mail-northcentralusazlp170130007.outbound.protection.outlook.com
 [2a01:111:f403:c105::7])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f7ebdbd1-a99c-11f0-980a-7dc792cee155;
 Wed, 15 Oct 2025 10:00:09 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by SA6PR03MB7613.namprd03.prod.outlook.com (2603:10b6:806:442::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.10; Wed, 15 Oct
 2025 08:00:05 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9228.009; Wed, 15 Oct 2025
 08:00:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f7ebdbd1-a99c-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=qQ6kDK3s06CJ5oZe5QLxUZd/THG/RPsgv77SLoXOvpijkSR1Nr5eP9ZAui3YjPWnND+FwLWp6J+4BkZeqmUxQISuNoaBqOWblCYzE0elsiye+lu23JqO0uCGXUqoPLsTL6xYkpvEQzUuf44dtHdZgwEFPcc0aCLMkllZmA0azCiJFeVyEpxx77TTTV6tXgTJfopCNDp8WjtQishHbPZG0fzKs2hW73XQeeDkkUZ8ZA72rTesccVCZTBr3c+QihIOwQPNWLoTmU4iV+dpeMVQ+avWu7iK96Vii4jek9KbCBSbLGiE+p8ruI6QS+rGa/rB8RSn7JY/KpiKtwC/MUyAkQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4vcbsXIqrCq8YdWBCB0C6VDcIG3ez+Qw7RtHM12iLo8=;
 b=LTL913HHlDOMbabJQLnqksW7SLxD9T4Y8B/V1uO5yE/n6cq32Xhj3B5zpx+pXmdaMuQ+vhpEIBJERJiGeaVwNtZK1vReF/qh2ETiFy+KPvBFIg/uqeZ+wGv4+X5OR0T2ZKNudQhUWVzpISVFZ4EhFgcQAXMpQWKxYTwHu0I67ZdzDP+Gdx6oGMcMpoekkY0D3zvFoj96qGjFL8agIMz21bCxfsJVO2N1WoAWjKazXfOktx+N9JlqQ5YyyBi/3u9aE3q41xjySp56FSs3m2tpl6KktRpFuT4uWsEQJWzryyE3g1RFzIfy1mBG3jWFFzGl96Ht/rCytUz2os+kl/Byrg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4vcbsXIqrCq8YdWBCB0C6VDcIG3ez+Qw7RtHM12iLo8=;
 b=z+35YrAm3ycvhckI8NbZpFSWnETQlN+eGC/GVu2i3loOjKSORP5OHK5E8u5YyyVrt2pCLzafwOheeohaYRmU1NKyxU+Gdw2hTfVGX77dCyELJBscdbtz04rM/4AjlEiOF2ffZ50Ez1xOp6FTygR7p/8BpX/AO5vRQkGlfnSr1XI=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 15 Oct 2025 10:00:01 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Grygorii Strashko <grygorii_strashko@epam.com>,
	Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Alejandro Vallejo <alejandro.garciavallejo@amd.com>
Subject: Re: [PATCH v5] x86: make Viridian support optional
Message-ID: <aO9UgQ3J27hVgGIa@Mac.lan>
References: <20250930125215.1087214-1-grygorii_strashko@epam.com>
 <aOzt8gfxkdQXZ6O1@Mac.lan>
 <e6972ea5-2139-4f4d-8d2c-2979fe2fad99@epam.com>
 <aO5gdh6C_uQoFHPH@Mac.lan>
 <afe544d3-575c-44e8-9068-8c79f69d6175@epam.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <afe544d3-575c-44e8-9068-8c79f69d6175@epam.com>
X-ClientProxiedBy: BN8PR15CA0033.namprd15.prod.outlook.com
 (2603:10b6:408:c0::46) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|SA6PR03MB7613:EE_
X-MS-Office365-Filtering-Correlation-Id: 5dca0906-a6e9-4207-5f37-08de0bc0d922
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?cUN1ZCtLOTNRNHNJNFI1VmdMbGlJV05uSFBqSFFsRFplY3lRSDNRY0NOSFEy?=
 =?utf-8?B?VzA5R0ZvSmFxeDVOOVVEM3NMV0pPWVk2V3VUV0JCdENrTE8walZBWkg4V1lK?=
 =?utf-8?B?blVXUStCcGpJMUFqZUNHUWZRSHBsTXAwajNxK1dGYWd0ZnEra2NuYTdDMmxV?=
 =?utf-8?B?OWYxQjd5L0liYjNIZTZ1UUJoNENlTDNlakVOSVU3UXRZYUU4bm9VRUhOVDZm?=
 =?utf-8?B?b2ZSeW50Q0xXV2ltRFc4QlNhMzdGTU1reUJlbWZTM0haSmVLT1RobEdxNndk?=
 =?utf-8?B?QUpTeXErUFJTaTVCeUNUMHVmZ04ra1NpVG1ld3ZJd0pYdEpQTyt3MVgwTCtr?=
 =?utf-8?B?SEloQlBzUEhCM1ZaSk0yYnJ2QURRYUQwT2RDTm4yYW91ZTFpa0UrcktnVHZJ?=
 =?utf-8?B?elErUDlua3NUTFpzaTdJcnpqTUpJcks2OVdreDVsQlpwNzE5a1FEVnFtZXlO?=
 =?utf-8?B?ZlJOUWZFSVNHamUySXVQZ0p4YmZXTDZJTzYrTnRNK3dCL0RZL3pvb01iVlpZ?=
 =?utf-8?B?VWc3UEV3TStJUUtCRldWTkdacE5rbFYvcktxZlFiS0dUTkVzZ0NzSXlybmN3?=
 =?utf-8?B?RW51S0crT3hSR2xZRG5hd0xFRXBWbDZ2N2NlTWJaYlhTQkVJR2kxbm01MXp2?=
 =?utf-8?B?N1NwOWVCTlJrdEJidjJ1THAvbGhHYjZQRWVwanVZY1dHbHY4UDJmcmpETUVq?=
 =?utf-8?B?T21vN1JrOFZJempWSHRxYWpVYnY4WmE0MFlFbnJzWmlXeFhqZDV2dXhYcUdx?=
 =?utf-8?B?WndWQjNMbWlsVnRMRmxqRFdrem8wT3ZBNU41dEZhVGp1KzJQY21sV1FYMjhE?=
 =?utf-8?B?QTlUM09yS3IydmtodjNkMTlheXZJckt5VXVvZmI3VFhHTWhGaVRHUDRDMDU1?=
 =?utf-8?B?empVYUdBZFhvdVA5ckJoSFhZUnZaTHNhWDd0aDZHTWFpS1duYlQvdGNvb3k4?=
 =?utf-8?B?UVNCRzJnRXB6VTVtbS9WZ21PbDVEbUY4Sk4wOEwzTyttZXh2d3cwcmg3dlZV?=
 =?utf-8?B?RHFlMnRIUDBjeUVObXhIcXJKaTVBZVJTNnhiblBkV0Q3RUlqb1ZoZW1wRmNp?=
 =?utf-8?B?cGhQTHdjZDZVaU5reFFURDd3ZnBCYVJsTVpyWVRXT0o2Uk94Q09PbWJLdHo0?=
 =?utf-8?B?SUQ3Y21aMU9ET3pZLzBHWkVxYkxDamhlRncwaUs0cnhzekk2WDJxVnNNN1VF?=
 =?utf-8?B?dXYvSGFCWWtaRXFEK3R4YkZuTGxqWFFVc2ZJUlkySlVrZUFTd3o0dXZ5eGlG?=
 =?utf-8?B?N3hYbWxYR3NCSnNlU2xuNmMyam1EMkN4TElqRStPMzZQMjhUSFNIZi9BbDdN?=
 =?utf-8?B?WXRYVFRsZUtlMkwrcFFrMHVxbmx6UVhUcXZES1ZnQk4rdE9qOEZ0Y1hBUmdi?=
 =?utf-8?B?YTJjS3JLbGMzSXVzQUdzd3BuMHVFcDEvMWs0NFNBMTYvOTFGQzJOK3lsM2py?=
 =?utf-8?B?MVlVZG9EQXJRZGFkaGcycFBObEhSNitFSDZRUUduTjJIcDZSUnBKRmMyWEdu?=
 =?utf-8?B?aDh6bDMwb3NuSFNibEo4cVN6Z0psZU9hUnZicjhvNitKRDVCTGlEOUFSdEZ3?=
 =?utf-8?B?Qm1jZVN1M3ZkTVlCZUN4QmFNTnE5UlEyeXh2ajg2blZ4N3hmaForc1FzWFhm?=
 =?utf-8?B?ZElmSGoyQlJ6Si8yMHFjMkdmczhxbms3NEZOTURGcGN4R2FJYTZ3UUQya1RD?=
 =?utf-8?B?NkpKSDd2ZnJBaDRCOGlyZGh6OEUvbmZ3MXNkY2RTN3YvUTZ3QUdPUUY1WjFh?=
 =?utf-8?B?U2h5RjIxdmRFRng5TkxZeXo5aWxVSmtsb2dSbWZxcklSNytsU3RXUklRVCtN?=
 =?utf-8?B?bFI1TVR1M0pWWHBXK0lxKytLYVpvdmZhNEhkOXc2ek5JRVg3TERDbWxzYkV6?=
 =?utf-8?B?Z1Bwa2hHbDNjbE5lckJzWjdqUzIyVDYwb2xGbXdEYnZxRVY1aGhzYjJDeDZY?=
 =?utf-8?B?RjJGb3VkbXV5VnFHdkV1dTNraysxdjRGTDVQc3lwREdUMWlQMFQrZWVSdXhO?=
 =?utf-8?B?bEZZb0NpaHlRPT0=?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MjBwSk1rbTdESUprNCs4UWlYYzdIbWhielk2RjZMVGllVlVrckJoWTBFUita?=
 =?utf-8?B?bnFjcnhRNEtscmdqMHJoaE1nbjlkRkNJeHIzOTd2dnUwQ2hkUTlybXg5QzFP?=
 =?utf-8?B?MzQyeVVNdUt2YkE0UDVkT3B0TWhZcXJWNlZzNjAvVnh0aXF6eVVFN0V1NWpq?=
 =?utf-8?B?b0hIM01PZjdTYnNuOUFacGNhWnFBZUVNOE5kTmsvRXJLOS9uam1zN21oWno5?=
 =?utf-8?B?RDBpYW82aVdrUmRMR284bjU2UkQyN0ZLNmZzQmxrdWdHazU4eG1NUFozMktU?=
 =?utf-8?B?dkhUTzVKWVFqcXNjQzZMSnZIaG5jS21LeWZMMEdwd1JxSi8rQjJ1V2I3czQ2?=
 =?utf-8?B?OUdtNzNwMzlmTExFa3IyUU5RaTg3VkM2YThmSzV6aWE2c2c4eHR0dlpCdEFn?=
 =?utf-8?B?QWt2a01JdGxjc0VROW85S0Z0TmY3cXViakFvV2IxQUJ1ODYvT1VDelZab28r?=
 =?utf-8?B?blIxaGgvNUtXRXB4NGxUdGJmd2tNR2pFaENjOThzOXNGcTM2bi96NDYrTzM1?=
 =?utf-8?B?bU9xV3FYL1VldzdRaHRqRTViVHVZSEk2RmE3YUx0L0JtWGFJMWlrZDI2MkpO?=
 =?utf-8?B?SGFTZm9BdnRBTXZtNDRoQUtvekt0NjZQeEwzR05PNWw5ZWlzYVp5YmZOWTBj?=
 =?utf-8?B?NnB0VFJzVnJ3dzNvZFJ4eFNiZS9pYVl5VWdGQ3poNTBaNjlScGhqbks4MkM5?=
 =?utf-8?B?NFJtaVBBM3NQNGZuQmJrTFpRb3RhdWo4bFNaenA3Nmg2VjRGWU50bCthRkpa?=
 =?utf-8?B?UitydlFsK1p3SDhGVUV2MzV5MGJQNTZKanIrYld1NzF5VE4rWFd1QkRLUFRS?=
 =?utf-8?B?VkpvT3ViRGs4ZDZZZE1IZzBGUXpxZ1FsRXRsVkRScHNOQmdJdkJNMUhCK1Bk?=
 =?utf-8?B?akx4QkRiUFBiK012WGFJa0c4dmdCd3N6d21OV3JwcGZYejRCdzFLRUFYRDNN?=
 =?utf-8?B?UUtHTEZOWFpqSHptb0JGakdzS2RiR3VxWmxsMERJUHdWOFVJY2xTa25aSjRC?=
 =?utf-8?B?czdxTHQ5Q1Z4Qkp2Q29QcWIrcFpZN09sV29oektuNlNtejBWUnRMb3NYREht?=
 =?utf-8?B?WkhrRW1SSCsyQThhVUhOV1kzWEwvVnpYVDc2V3hmcTkybmduL2FGNis3b0dF?=
 =?utf-8?B?OUpOVGJGZE9hZERVRmVKQlMzbllrcGdFR0xoT3doLzVZRGxwZXpuMk5UZVlG?=
 =?utf-8?B?eEcrYWdpa1I1ZTdjaUF3bnFFN2xVU0ZFREVTVGcvN2RSbnE2K3FjR1ZubGx4?=
 =?utf-8?B?bTJxY3UvVDhvVGNvNjNnWW5PUk9IbmhSN3MzUGptRGQ2STB2WXVqRWFWcVVv?=
 =?utf-8?B?M0o0RWlFYXJrYXo0c2RENncvNFNaT3ZIclF1aE1GbTdyVU1CL09BM0N4ZHA3?=
 =?utf-8?B?bHhrQndJSnNBaW82ei84YWJNWVlHNVBZeG5oMnJmV2ptdGtVODY3dnZRM0RL?=
 =?utf-8?B?dzhJWTl5c01vOUgramRZeDgreFlNVWh1c3lIRlJ1QTNVVmd1TDJpNVMyTm1Y?=
 =?utf-8?B?SWk3V3lFbDRvY01KN0NDQng0ZHA1ckNoUHRYOU1pN2ZqNkZsVHFPQllFSmw1?=
 =?utf-8?B?RXc5dks4K0x1RVVucmllSSt2VjBrRTVGOEkxQXVvTVRYWWdlRkNMZHlUcG9Y?=
 =?utf-8?B?RG81Yk5KUkpob3NiZUZrMVF5cXBiQ3Q1MGFVeW1ZWkh3cHVvdWlZK1NuQ043?=
 =?utf-8?B?VlZOWFdaeUQ4OE5hbGdmNmNWVk9oc3FPNmVKL1pDV2dVdG5TcS95ejZhOWY1?=
 =?utf-8?B?SnRHVk55YWcwMk9TTVkrMlNiRGtOS09pbTNUSHp5U3RrcUIwd1ZjUTVjRmxI?=
 =?utf-8?B?SU1YOHNhbzRodVExSW1ORVFMQXJOM1VISHlPVnk1UGFmRGVzaDVnNEpHQytB?=
 =?utf-8?B?Tnh3REZIRDFEZGYyazMwU0J1OWtUQmt4cHZFZENuRTdpblV5N2o0UmdHRkFt?=
 =?utf-8?B?cloxL0gyUDNqZStDWWJiR2JqMll2NlJPVVZ6RkVhREEwNlFndHBRSWR0TXJD?=
 =?utf-8?B?ZlJFSG9oRUgrOFQrMFljY3dja1ExNVA0TnJKQVhhNzdlNGkrSWVoaXAvSk9u?=
 =?utf-8?B?NmFDTFhBeHdBS1Z3aU1wM2ROcnNQQlF5NUNrYkF2Q1ZkZGtQdmVIRzJzaExN?=
 =?utf-8?Q?NkPI7hWPXx2FT4wKq372sfWk4?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5dca0906-a6e9-4207-5f37-08de0bc0d922
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Oct 2025 08:00:04.9158
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: IvESOIj5q6W79UrQd8DXUj5Lu0bQOnj8jnIkoH11woXP1AIUOJpLdJ3tClvlgA1QKIv/ilqh+XNyo4KwLKuLJQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA6PR03MB7613

On Tue, Oct 14, 2025 at 06:48:23PM +0300, Grygorii Strashko wrote:
> 
> 
> On 14.10.25 17:38, Roger Pau MonnÃ© wrote:
> > On Tue, Oct 14, 2025 at 04:24:53PM +0300, Grygorii Strashko wrote:
> > > On 13.10.25 15:17, Roger Pau MonnÃ© wrote:
> > > > On Tue, Sep 30, 2025 at 12:52:16PM +0000, Grygorii Strashko wrote:
> > > > > From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
> > > > > +
> > > > > +	  If unsure, say Y.
> > > > > +
> > > > >    config MEM_PAGING
> > > > >    	bool "Xen memory paging support (UNSUPPORTED)" if UNSUPPORTED
> > > > >    	depends on VM_EVENT
> > > > > diff --git a/xen/arch/x86/hvm/Makefile b/xen/arch/x86/hvm/Makefile
> > > > > index 6ec2c8f2db56..736eb3f966e9 100644
> > > > > --- a/xen/arch/x86/hvm/Makefile
> > > > > +++ b/xen/arch/x86/hvm/Makefile
> > > > > @@ -1,6 +1,6 @@
> > > > >    obj-$(CONFIG_AMD_SVM) += svm/
> > > > >    obj-$(CONFIG_INTEL_VMX) += vmx/
> > > > > -obj-y += viridian/
> > > > > +obj-$(CONFIG_VIRIDIAN) += viridian/
> > > > >    obj-y += asid.o
> > > > >    obj-y += dm.o
> > > > > diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
> > > > > index 23bd7f078a1d..95a80369b9b8 100644
> > > > > --- a/xen/arch/x86/hvm/hvm.c
> > > > > +++ b/xen/arch/x86/hvm/hvm.c
> > > > > @@ -701,9 +701,12 @@ int hvm_domain_initialise(struct domain *d,
> > > > >        if ( hvm_tsc_scaling_supported )
> > > > >            d->arch.hvm.tsc_scaling_ratio = hvm_default_tsc_scaling_ratio;
> > > > > -    rc = viridian_domain_init(d);
> > > > > -    if ( rc )
> > > > > -        goto fail2;
> > > > > +    if ( is_viridian_domain(d) )
> > > > > +    {
> > > > > +        rc = viridian_domain_init(d);
> > > > > +        if ( rc )
> > > > > +            goto fail2;
> > > > > +    }
> > > > 
> > > > Are you sure this works as expected?
> > > > 
> > > > The viridian_feature_mask() check is implemented using an HVM param,
> > > > and hence can only be possibly set after the domain object is created.
> > > > AFAICT is_viridian_domain(d) will unconditionally return false when
> > > > called from domain_create() context, because the HVM params cannot
> > > > possibly be set ahead of the domain being created.
> > > 
> > > You are right. Thanks for the this catch.
> > > 
> > > Taking above into account above, it seems Jan's proposal to convert below
> > > viridian APIs into wrappers for VIRIDIAN=n case is right way to move forward:
> > > 
> > > int viridian_vcpu_init(struct vcpu *v);
> > > int viridian_domain_init(struct domain *d);
> > > void viridian_vcpu_deinit(struct vcpu *v);
> > > void viridian_domain_deinit(struct domain *d);
> > > 
> > > Right?
> > 
> > Possibly. If you don't want to introduce a XEN_DOMCTL_createdomain
> > flag you need to exclusively use the Kconfig option to decide whether
> > the Viridian related structs must be allocated.  IOW: you could also
> > solve it by using IS_ENABLED(CONFIG_VIRIDIAN) instead of
> > is_viridian_domain() for most of the calls here.
> > 
> > The wrapper option might be better IMO, rather than adding
> > IS_ENABLED(CONFIG_VIRIDIAN) around.
> 
> I'll do wrappers - less if(s) in common HVM code.
> 
> > 
> > > [1] https://patchwork.kernel.org/comment/26595213/
> > > 
> > > > 
> > > > If you want to do anything like this you will possibly need to
> > > > introduce a new flag to XEN_DOMCTL_createdomain to signal whether the
> > > > domain has Viridian extensions are enabled or not, so that it's know
> > > > in the context where domain_create() gets called.
> > > 
> > > In my opinion, it might be good not to go so far within this submission.
> > > - It's not intended  to change existing behavior of neither Xen nor toolstack
> > >    for VIRIDIAN=y (default)
> > > - just optout Viridian support when not needed.
> > 
> > OK, that's fine.
> > 
> > On further request though: if Viridian is build-time disabled in
> > Kconfig, setting or fetching HVM_PARAM_VIRIDIAN should return -ENODEV
> > or similar error.  I don't think this is done as part of this patch.

Another bit I've noticed, you will need to adjust write_hvm_params()
so it can tolerate xc_hvm_param_get() returning an error when
HVM_PARAM_VIRIDIAN is not implemented by the hypervisor.

Implementing the Viridian features using an HVM parameter was a bad
approach probably.

> Sure. Just have to ask for clarification what to return:
> -EOPNOTSUPP (my choise) vs -EINVAL.

Let me add Jan also to the To: field so we get consensus in one round.

I won't use EINVAL, because that's returned for deprecated parameters
also, and when the passed Viridian feature mask is invalid.

EOPNOTSUPP is also returned for non-implemented hypercalls, so I'm not
sure whether it could cause confusion here, as the hypercall is
implemented, it's just the param that's not supported if
build-disabled.  Maybe ENODEV or ENXIO?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Oct 15 08:04:00 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 08:04:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143184.1476939 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8wUJ-00034s-HU; Wed, 15 Oct 2025 08:03:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143184.1476939; Wed, 15 Oct 2025 08:03:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8wUJ-00034l-EY; Wed, 15 Oct 2025 08:03:59 +0000
Received: by outflank-mailman (input) for mailman id 1143184;
 Wed, 15 Oct 2025 08:03:58 +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 <SRS0=oFce=4Y=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v8wUI-00034c-6x
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 08:03:58 +0000
Received: from mail-wr1-x42a.google.com (mail-wr1-x42a.google.com
 [2a00:1450:4864:20::42a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7bb608fd-a99d-11f0-9d15-b5c5bf9af7f9;
 Wed, 15 Oct 2025 10:03:50 +0200 (CEST)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-421851bcb25so2910816f8f.2
 for <xen-devel@lists.xenproject.org>; Wed, 15 Oct 2025 01:03:50 -0700 (PDT)
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-426ce5cfe74sm27301563f8f.35.2025.10.15.01.03.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 15 Oct 2025 01:03:48 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7bb608fd-a99d-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760515429; x=1761120229; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=JwOlmygE2zUE1cwIJpljvCVJcHOjpKhWGQSi8MynjPM=;
        b=F3XbGc6lkiHDTupeoeHoyOzrMXXQuwByPZpUY4eq/Ub0VpzzzGZuwr1LY1+ZX7OUn8
         /vlUtze6Zc2J0rLxAkiSUHJE5TTIRDtc+/jsH8Mlet2IM+jYUILh0PAKJKGIxnDTod4l
         Z9EET3iLWz6ONLtDciPIJLsUW5eJGIwJ50OUKJ2W8BoUNieeez1wXlCvZxBJW5qbPzWc
         efBg68sUX90eNfFWYSxksXBorhcy80vv5IUBrjK9pT4XSCPUZZHKwUt7HZTuFBE38M+0
         bXlvxGCy+FiwnfyVVXac15bdxRGB9AiOt5aX0sQa2HHg2Xn6wTVbwtAbd53x8mD6Lxof
         XMpA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760515429; x=1761120229;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=JwOlmygE2zUE1cwIJpljvCVJcHOjpKhWGQSi8MynjPM=;
        b=fVzpo9bZuBS7xVgC1oz/W84H6p2PHML7ByVEFSAlMu7mAwIQfebA+5Ja3XU357ulHs
         h8I2bcqbU7dyDvln5FZ1WymqyPm9qBMh/cVU5nblVRyNFneWWcBCw9hJ3dZSAEsIQBjk
         2Z5Q5ckFxrMLPAjiQVEcctoE32r8uIiMZLU0hqofaQGUasGKK/YFHa4K06fDWFYaB6f1
         DAhXUAIGDZeZnb3F+b3iO9WHfeODBRmABIRk9F/FTws2IALb3WigZ5+pBacQsRUZ0i+A
         6WaiPxnroRIZ5nT0Uwm7T/7f2MtTHqCebPgHW1ss0+wF+ynoe4loD5l524Srl1Jezkfg
         U4sw==
X-Gm-Message-State: AOJu0YxpY9tTTDNbm1XvwFcB++VG8wZOaWnPaLxC7IghJA92c4C7EHFT
	FBSoXgbSArUiDVLbvIpnhtbcc1jIRhF/zs8LwwZE7MP+SWlbIyiq4Lk0m8Xw/zIPUg==
X-Gm-Gg: ASbGncvieZ/swNaURf+x51BreHGoO00jrKrajToU2AtfHB8hRUIrmj2AkR5ywgVKb/x
	rnF/PF6wwFtVBlu+hi0y2ZF5C2Wc/dMTCXGK3N3waolB0DQae2k+fVBI3R5K2M+i03jhYBg6UJr
	pKVkfClJlVRrK4S7Ef0QYRulhVKcHT0z+2XgyWj4TcJ623tWYhZQlAwEsLimTDr4ksuxnjhDwCY
	WOpDsVD33V2EiMNwUL31YLh9g2A1tx0U5uNcjMTFTetEGE/3LYEQ7t2u4SADG53y3o3hLHVJIQQ
	fOKtAJGqD5Pbi1HqbHT5eA5mMAGWbLYd5WixxgapPkvN2GHrPO5pe3k+rZdN9U3EycSQzLvLQpa
	ENKKk07VSm0yUNe1K91/UEAD7qrSu3VIhZE9mFqfNNOtiuMs3Cax2h3sHIcescTrQi6tAnxDkyB
	WsikuEfZtelzi4SG2/nyxuc8vw0g==
X-Google-Smtp-Source: AGHT+IEI1Ajrpr6gaRgbVP47zeyZQPfoDgJQKKu7c0Vz8OzsRHLIyHDVqfdVf0qQfMbHoJNie9C3Pw==
X-Received: by 2002:a05:6000:603:b0:401:5ad1:682 with SMTP id ffacd0b85a97d-4266e7bf04fmr18238400f8f.14.1760515429317;
        Wed, 15 Oct 2025 01:03:49 -0700 (PDT)
Message-ID: <4cb43a9e-3fec-4e02-a75f-f6440197c1a3@suse.com>
Date: Wed, 15 Oct 2025 10:03:47 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5] x86: make Viridian support optional
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Grygorii Strashko <grygorii_strashko@epam.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>,
 Alejandro Vallejo <alejandro.garciavallejo@amd.com>
References: <20250930125215.1087214-1-grygorii_strashko@epam.com>
 <aOzt8gfxkdQXZ6O1@Mac.lan> <e6972ea5-2139-4f4d-8d2c-2979fe2fad99@epam.com>
 <aO5gdh6C_uQoFHPH@Mac.lan> <afe544d3-575c-44e8-9068-8c79f69d6175@epam.com>
 <aO9UgQ3J27hVgGIa@Mac.lan>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <aO9UgQ3J27hVgGIa@Mac.lan>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 15.10.2025 10:00, Roger Pau MonnÃ© wrote:
> On Tue, Oct 14, 2025 at 06:48:23PM +0300, Grygorii Strashko wrote:
>>
>>
>> On 14.10.25 17:38, Roger Pau MonnÃ© wrote:
>>> On Tue, Oct 14, 2025 at 04:24:53PM +0300, Grygorii Strashko wrote:
>>>> On 13.10.25 15:17, Roger Pau MonnÃ© wrote:
>>>>> On Tue, Sep 30, 2025 at 12:52:16PM +0000, Grygorii Strashko wrote:
>>>>>> From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
>>>>>> +
>>>>>> +	  If unsure, say Y.
>>>>>> +
>>>>>>    config MEM_PAGING
>>>>>>    	bool "Xen memory paging support (UNSUPPORTED)" if UNSUPPORTED
>>>>>>    	depends on VM_EVENT
>>>>>> diff --git a/xen/arch/x86/hvm/Makefile b/xen/arch/x86/hvm/Makefile
>>>>>> index 6ec2c8f2db56..736eb3f966e9 100644
>>>>>> --- a/xen/arch/x86/hvm/Makefile
>>>>>> +++ b/xen/arch/x86/hvm/Makefile
>>>>>> @@ -1,6 +1,6 @@
>>>>>>    obj-$(CONFIG_AMD_SVM) += svm/
>>>>>>    obj-$(CONFIG_INTEL_VMX) += vmx/
>>>>>> -obj-y += viridian/
>>>>>> +obj-$(CONFIG_VIRIDIAN) += viridian/
>>>>>>    obj-y += asid.o
>>>>>>    obj-y += dm.o
>>>>>> diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
>>>>>> index 23bd7f078a1d..95a80369b9b8 100644
>>>>>> --- a/xen/arch/x86/hvm/hvm.c
>>>>>> +++ b/xen/arch/x86/hvm/hvm.c
>>>>>> @@ -701,9 +701,12 @@ int hvm_domain_initialise(struct domain *d,
>>>>>>        if ( hvm_tsc_scaling_supported )
>>>>>>            d->arch.hvm.tsc_scaling_ratio = hvm_default_tsc_scaling_ratio;
>>>>>> -    rc = viridian_domain_init(d);
>>>>>> -    if ( rc )
>>>>>> -        goto fail2;
>>>>>> +    if ( is_viridian_domain(d) )
>>>>>> +    {
>>>>>> +        rc = viridian_domain_init(d);
>>>>>> +        if ( rc )
>>>>>> +            goto fail2;
>>>>>> +    }
>>>>>
>>>>> Are you sure this works as expected?
>>>>>
>>>>> The viridian_feature_mask() check is implemented using an HVM param,
>>>>> and hence can only be possibly set after the domain object is created.
>>>>> AFAICT is_viridian_domain(d) will unconditionally return false when
>>>>> called from domain_create() context, because the HVM params cannot
>>>>> possibly be set ahead of the domain being created.
>>>>
>>>> You are right. Thanks for the this catch.
>>>>
>>>> Taking above into account above, it seems Jan's proposal to convert below
>>>> viridian APIs into wrappers for VIRIDIAN=n case is right way to move forward:
>>>>
>>>> int viridian_vcpu_init(struct vcpu *v);
>>>> int viridian_domain_init(struct domain *d);
>>>> void viridian_vcpu_deinit(struct vcpu *v);
>>>> void viridian_domain_deinit(struct domain *d);
>>>>
>>>> Right?
>>>
>>> Possibly. If you don't want to introduce a XEN_DOMCTL_createdomain
>>> flag you need to exclusively use the Kconfig option to decide whether
>>> the Viridian related structs must be allocated.  IOW: you could also
>>> solve it by using IS_ENABLED(CONFIG_VIRIDIAN) instead of
>>> is_viridian_domain() for most of the calls here.
>>>
>>> The wrapper option might be better IMO, rather than adding
>>> IS_ENABLED(CONFIG_VIRIDIAN) around.
>>
>> I'll do wrappers - less if(s) in common HVM code.
>>
>>>
>>>> [1] https://patchwork.kernel.org/comment/26595213/
>>>>
>>>>>
>>>>> If you want to do anything like this you will possibly need to
>>>>> introduce a new flag to XEN_DOMCTL_createdomain to signal whether the
>>>>> domain has Viridian extensions are enabled or not, so that it's know
>>>>> in the context where domain_create() gets called.
>>>>
>>>> In my opinion, it might be good not to go so far within this submission.
>>>> - It's not intended  to change existing behavior of neither Xen nor toolstack
>>>>    for VIRIDIAN=y (default)
>>>> - just optout Viridian support when not needed.
>>>
>>> OK, that's fine.
>>>
>>> On further request though: if Viridian is build-time disabled in
>>> Kconfig, setting or fetching HVM_PARAM_VIRIDIAN should return -ENODEV
>>> or similar error.  I don't think this is done as part of this patch.

ENODEV was suggested here; it's not clear to me why ...

> Another bit I've noticed, you will need to adjust write_hvm_params()
> so it can tolerate xc_hvm_param_get() returning an error when
> HVM_PARAM_VIRIDIAN is not implemented by the hypervisor.
> 
> Implementing the Viridian features using an HVM parameter was a bad
> approach probably.
> 
>> Sure. Just have to ask for clarification what to return:
>> -EOPNOTSUPP (my choise) vs -EINVAL.

... other values were suggested here.

> Let me add Jan also to the To: field so we get consensus in one round.
> 
> I won't use EINVAL, because that's returned for deprecated parameters
> also, and when the passed Viridian feature mask is invalid.
> 
> EOPNOTSUPP is also returned for non-implemented hypercalls, so I'm not
> sure whether it could cause confusion here, as the hypercall is
> implemented, it's just the param that's not supported if
> build-disabled.  Maybe ENODEV or ENXIO?

I'd be okay with either of these two, with a slight preference to ENODEV.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Oct 15 08:27:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 08:27:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143201.1476959 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8wrO-00068C-LW; Wed, 15 Oct 2025 08:27:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143201.1476959; Wed, 15 Oct 2025 08:27:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8wrO-000685-I9; Wed, 15 Oct 2025 08:27:50 +0000
Received: by outflank-mailman (input) for mailman id 1143201;
 Wed, 15 Oct 2025 08:27:49 +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
 <SRS0=xhcp=4Y=arm.com=kevin.brodsky@srs-se1.protection.inumbo.net>)
 id 1v8wrN-0005tz-C3
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 08:27:49 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id d51649b1-a9a0-11f0-9d15-b5c5bf9af7f9;
 Wed, 15 Oct 2025 10:27:48 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id EE70F1A9A;
 Wed, 15 Oct 2025 01:27:39 -0700 (PDT)
Received: from e123572-lin.arm.com (e123572-lin.cambridge.arm.com
 [10.1.194.54])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id EB26A3F66E;
 Wed, 15 Oct 2025 01:27:42 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d51649b1-a9a0-11f0-9d15-b5c5bf9af7f9
From: Kevin Brodsky <kevin.brodsky@arm.com>
To: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org,
	Kevin Brodsky <kevin.brodsky@arm.com>,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	Andreas Larsson <andreas@gaisler.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Borislav Petkov <bp@alien8.de>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	David Hildenbrand <david@redhat.com>,
	"David S. Miller" <davem@davemloft.net>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Ingo Molnar <mingo@redhat.com>,
	Jann Horn <jannh@google.com>,
	Juergen Gross <jgross@suse.com>,
	"Liam R. Howlett" <Liam.Howlett@oracle.com>,
	Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Michal Hocko <mhocko@suse.com>,
	Mike Rapoport <rppt@kernel.org>,
	Nicholas Piggin <npiggin@gmail.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Ryan Roberts <ryan.roberts@arm.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vlastimil Babka <vbabka@suse.cz>,
	Will Deacon <will@kernel.org>,
	Yeoreum Yun <yeoreum.yun@arm.com>,
	linux-arm-kernel@lists.infradead.org,
	linuxppc-dev@lists.ozlabs.org,
	sparclinux@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	x86@kernel.org
Subject: [PATCH v3 01/13] powerpc/64s: Do not re-activate batched TLB flush
Date: Wed, 15 Oct 2025 09:27:15 +0100
Message-ID: <20251015082727.2395128-2-kevin.brodsky@arm.com>
X-Mailer: git-send-email 2.47.0
In-Reply-To: <20251015082727.2395128-1-kevin.brodsky@arm.com>
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Alexander Gordeev <agordeev@linux.ibm.com>

Since commit b9ef323ea168 ("powerpc/64s: Disable preemption in hash
lazy mmu mode") a task can not be preempted while in lazy MMU mode.
Therefore, the batch re-activation code is never called, so remove it.

Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
---
This patch was originally posted as part of [1]; the series was not
taken but this patch remains relevant.

[1] https://lore.kernel.org/all/cover.1749747752.git.agordeev@linux.ibm.com/
---
 arch/powerpc/include/asm/thread_info.h |  2 --
 arch/powerpc/kernel/process.c          | 25 -------------------------
 2 files changed, 27 deletions(-)

diff --git a/arch/powerpc/include/asm/thread_info.h b/arch/powerpc/include/asm/thread_info.h
index b0f200aba2b3..97f35f9b1a96 100644
--- a/arch/powerpc/include/asm/thread_info.h
+++ b/arch/powerpc/include/asm/thread_info.h
@@ -154,12 +154,10 @@ void arch_setup_new_exec(void);
 /* Don't move TLF_NAPPING without adjusting the code in entry_32.S */
 #define TLF_NAPPING		0	/* idle thread enabled NAP mode */
 #define TLF_SLEEPING		1	/* suspend code enabled SLEEP mode */
-#define TLF_LAZY_MMU		3	/* tlb_batch is active */
 #define TLF_RUNLATCH		4	/* Is the runlatch enabled? */
 
 #define _TLF_NAPPING		(1 << TLF_NAPPING)
 #define _TLF_SLEEPING		(1 << TLF_SLEEPING)
-#define _TLF_LAZY_MMU		(1 << TLF_LAZY_MMU)
 #define _TLF_RUNLATCH		(1 << TLF_RUNLATCH)
 
 #ifndef __ASSEMBLER__
diff --git a/arch/powerpc/kernel/process.c b/arch/powerpc/kernel/process.c
index eb23966ac0a9..9237dcbeee4a 100644
--- a/arch/powerpc/kernel/process.c
+++ b/arch/powerpc/kernel/process.c
@@ -1281,9 +1281,6 @@ struct task_struct *__switch_to(struct task_struct *prev,
 {
 	struct thread_struct *new_thread, *old_thread;
 	struct task_struct *last;
-#ifdef CONFIG_PPC_64S_HASH_MMU
-	struct ppc64_tlb_batch *batch;
-#endif
 
 	new_thread = &new->thread;
 	old_thread = &current->thread;
@@ -1291,14 +1288,6 @@ struct task_struct *__switch_to(struct task_struct *prev,
 	WARN_ON(!irqs_disabled());
 
 #ifdef CONFIG_PPC_64S_HASH_MMU
-	batch = this_cpu_ptr(&ppc64_tlb_batch);
-	if (batch->active) {
-		current_thread_info()->local_flags |= _TLF_LAZY_MMU;
-		if (batch->index)
-			__flush_tlb_pending(batch);
-		batch->active = 0;
-	}
-
 	/*
 	 * On POWER9 the copy-paste buffer can only paste into
 	 * foreign real addresses, so unprivileged processes can not
@@ -1369,20 +1358,6 @@ struct task_struct *__switch_to(struct task_struct *prev,
 	 */
 
 #ifdef CONFIG_PPC_BOOK3S_64
-#ifdef CONFIG_PPC_64S_HASH_MMU
-	/*
-	 * This applies to a process that was context switched while inside
-	 * arch_enter_lazy_mmu_mode(), to re-activate the batch that was
-	 * deactivated above, before _switch(). This will never be the case
-	 * for new tasks.
-	 */
-	if (current_thread_info()->local_flags & _TLF_LAZY_MMU) {
-		current_thread_info()->local_flags &= ~_TLF_LAZY_MMU;
-		batch = this_cpu_ptr(&ppc64_tlb_batch);
-		batch->active = 1;
-	}
-#endif
-
 	/*
 	 * Math facilities are masked out of the child MSR in copy_thread.
 	 * A new task does not need to restore_math because it will
-- 
2.47.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 15 08:27:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 08:27:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143200.1476950 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8wrM-0005uD-EJ; Wed, 15 Oct 2025 08:27:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143200.1476950; Wed, 15 Oct 2025 08:27:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8wrM-0005u6-BY; Wed, 15 Oct 2025 08:27:48 +0000
Received: by outflank-mailman (input) for mailman id 1143200;
 Wed, 15 Oct 2025 08:27:47 +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
 <SRS0=xhcp=4Y=arm.com=kevin.brodsky@srs-se1.protection.inumbo.net>)
 id 1v8wrL-0005tz-9Z
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 08:27:47 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id d1f94b89-a9a0-11f0-9d15-b5c5bf9af7f9;
 Wed, 15 Oct 2025 10:27:43 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id A32C41A32;
 Wed, 15 Oct 2025 01:27:34 -0700 (PDT)
Received: from e123572-lin.arm.com (e123572-lin.cambridge.arm.com
 [10.1.194.54])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 9E0813F66E;
 Wed, 15 Oct 2025 01:27:37 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d1f94b89-a9a0-11f0-9d15-b5c5bf9af7f9
From: Kevin Brodsky <kevin.brodsky@arm.com>
To: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org,
	Kevin Brodsky <kevin.brodsky@arm.com>,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	Andreas Larsson <andreas@gaisler.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Borislav Petkov <bp@alien8.de>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	David Hildenbrand <david@redhat.com>,
	"David S. Miller" <davem@davemloft.net>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Ingo Molnar <mingo@redhat.com>,
	Jann Horn <jannh@google.com>,
	Juergen Gross <jgross@suse.com>,
	"Liam R. Howlett" <Liam.Howlett@oracle.com>,
	Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Michal Hocko <mhocko@suse.com>,
	Mike Rapoport <rppt@kernel.org>,
	Nicholas Piggin <npiggin@gmail.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Ryan Roberts <ryan.roberts@arm.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vlastimil Babka <vbabka@suse.cz>,
	Will Deacon <will@kernel.org>,
	Yeoreum Yun <yeoreum.yun@arm.com>,
	linux-arm-kernel@lists.infradead.org,
	linuxppc-dev@lists.ozlabs.org,
	sparclinux@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	x86@kernel.org
Subject: [PATCH v3 00/13] Nesting support for lazy MMU mode
Date: Wed, 15 Oct 2025 09:27:14 +0100
Message-ID: <20251015082727.2395128-1-kevin.brodsky@arm.com>
X-Mailer: git-send-email 2.47.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

When the lazy MMU mode was introduced eons ago, it wasn't made clear
whether such a sequence was legal:

	arch_enter_lazy_mmu_mode()
	...
		arch_enter_lazy_mmu_mode()
		...
		arch_leave_lazy_mmu_mode()
	...
	arch_leave_lazy_mmu_mode()

It seems fair to say that nested calls to
arch_{enter,leave}_lazy_mmu_mode() were not expected, and most
architectures never explicitly supported it.

Ryan Roberts' series from March [1] attempted to prevent nesting from
ever occurring, and mostly succeeded. Unfortunately, a corner case
(DEBUG_PAGEALLOC) may still cause nesting to occur on arm64. Ryan
proposed [2] to address that corner case at the generic level but this
approach received pushback; [3] then attempted to solve the issue on
arm64 only, but it was deemed too fragile.

It feels generally difficult to guarantee that lazy_mmu sections don't
nest, because callers of various standard mm functions do not know if
the function uses lazy_mmu itself. This series therefore performs a
U-turn and adds support for nested lazy_mmu sections, on all
architectures.

v3 is a full rewrite of the series based on the feedback from David
Hildenbrand on v2. Nesting is now handled using a counter in task_struct
(patch 7), like other APIs such as pagefault_{disable,enable}().
This is fully handled in a new generic layer in <linux/pgtable.h>; the
existing arch_* API remains unchanged. A new pair of calls,
lazy_mmu_mode_{pause,resume}(), is also introduced to allow functions
that are called with the lazy MMU mode enabled to temporarily pause it,
regardless of nesting.

An arch now opts in to using the lazy MMU mode by selecting
CONFIG_ARCH_LAZY_MMU; this is more appropriate now that we have a
generic API, especially with state conditionally added to task_struct.
The overall approach is very close to what David proposed on v2 [4].

Unlike in v1/v2, no special provision is made for architectures to
save/restore extra state when entering/leaving the mode. Based on the
discussions so far, this does not seem to be required - an arch can
store any relevant state in thread_struct during arch_enter() and
restore it in arch_leave(). Nesting is not a concern as these functions
are only called at the top level, not in nested sections.

The introduction of a generic layer, and tracking of the lazy MMU state
in task_struct, also allows to streamline the arch callbacks - this
series removes 72 lines from arch/.

Patch overview:

* Patch 1: cleanup - avoids having to deal with the powerpc
  context-switching code

* Patch 2-4: prepare arch_flush_lazy_mmu_mode() to be called from the
  generic layer (patch 7)

* Patch 5-6: new API + CONFIG_ARCH_LAZY_MMU

* Patch 7: nesting support

* Patch 8-13: move as much handling as possible to the generic layer

This series has been tested by running the mm kselfetsts on arm64 with
DEBUG_VM, DEBUG_PAGEALLOC and KFENCE. It was also build-tested on other
architectures (with and without XEN_PV on x86).

- Kevin

[1] https://lore.kernel.org/all/20250303141542.3371656-1-ryan.roberts@arm.com/
[2] https://lore.kernel.org/all/20250530140446.2387131-1-ryan.roberts@arm.com/
[3] https://lore.kernel.org/all/20250606135654.178300-1-ryan.roberts@arm.com/
[4] https://lore.kernel.org/all/ef343405-c394-4763-a79f-21381f217b6c@redhat.com/
---
Changelog

v2..v3:

- Full rewrite; dropped all Acked-by/Reviewed-by.
- Rebased on v6.18-rc1.

v2: https://lore.kernel.org/all/20250908073931.4159362-1-kevin.brodsky@arm.com/

v1..v2:
- Rebased on mm-unstable.
- Patch 2: handled new calls to enter()/leave(), clarified how the "flush"
  pattern (leave() followed by enter()) is handled.
- Patch 5,6: removed unnecessary local variable [Alexander Gordeev's
  suggestion].
- Added Mike Rapoport's Acked-by.

v1: https://lore.kernel.org/all/20250904125736.3918646-1-kevin.brodsky@arm.com/
---
Cc: Alexander Gordeev <agordeev@linux.ibm.com>
Cc: Andreas Larsson <andreas@gaisler.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: David Hildenbrand <david@redhat.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Jann Horn <jannh@google.com>
Cc: Juergen Gross <jgross@suse.com>
Cc: "Liam R. Howlett" <Liam.Howlett@oracle.com>
Cc: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
Cc: Madhavan Srinivasan <maddy@linux.ibm.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Mike Rapoport <rppt@kernel.org>
Cc: Nicholas Piggin <npiggin@gmail.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Ryan Roberts <ryan.roberts@arm.com>
Cc: Suren Baghdasaryan <surenb@google.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: Will Deacon <will@kernel.org>
Cc: Yeoreum Yun <yeoreum.yun@arm.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: linuxppc-dev@lists.ozlabs.org
Cc: sparclinux@vger.kernel.org
Cc: xen-devel@lists.xenproject.org
Cc: x86@kernel.org
---
Alexander Gordeev (1):
  powerpc/64s: Do not re-activate batched TLB flush

Kevin Brodsky (12):
  x86/xen: simplify flush_lazy_mmu()
  powerpc/mm: implement arch_flush_lazy_mmu_mode()
  sparc/mm: implement arch_flush_lazy_mmu_mode()
  mm: introduce CONFIG_ARCH_LAZY_MMU
  mm: introduce generic lazy_mmu helpers
  mm: enable lazy_mmu sections to nest
  arm64: mm: replace TIF_LAZY_MMU with in_lazy_mmu_mode()
  powerpc/mm: replace batch->active with in_lazy_mmu_mode()
  sparc/mm: replace batch->active with in_lazy_mmu_mode()
  x86/xen: use lazy_mmu_state when context-switching
  mm: bail out of lazy_mmu_mode_* in interrupt context
  mm: introduce arch_wants_lazy_mmu_mode()

 arch/arm64/Kconfig                            |   1 +
 arch/arm64/include/asm/pgtable.h              |  46 +------
 arch/arm64/include/asm/thread_info.h          |   3 +-
 arch/arm64/mm/mmu.c                           |   4 +-
 arch/arm64/mm/pageattr.c                      |   4 +-
 .../include/asm/book3s/64/tlbflush-hash.h     |  25 ++--
 arch/powerpc/include/asm/thread_info.h        |   2 -
 arch/powerpc/kernel/process.c                 |  25 ----
 arch/powerpc/mm/book3s64/hash_tlb.c           |  10 +-
 arch/powerpc/mm/book3s64/subpage_prot.c       |   4 +-
 arch/powerpc/platforms/Kconfig.cputype        |   1 +
 arch/sparc/Kconfig                            |   1 +
 arch/sparc/include/asm/tlbflush_64.h          |   5 +-
 arch/sparc/mm/tlb.c                           |  14 +--
 arch/x86/Kconfig                              |   1 +
 arch/x86/boot/compressed/misc.h               |   1 +
 arch/x86/boot/startup/sme.c                   |   1 +
 arch/x86/include/asm/paravirt.h               |   1 -
 arch/x86/include/asm/pgtable.h                |   3 +-
 arch/x86/include/asm/thread_info.h            |   4 +-
 arch/x86/xen/enlighten_pv.c                   |   3 +-
 arch/x86/xen/mmu_pv.c                         |   9 +-
 fs/proc/task_mmu.c                            |   4 +-
 include/linux/mm_types_task.h                 |   5 +
 include/linux/pgtable.h                       | 114 +++++++++++++++++-
 include/linux/sched.h                         |  19 +++
 mm/Kconfig                                    |   3 +
 mm/kasan/shadow.c                             |   8 +-
 mm/madvise.c                                  |  18 +--
 mm/memory.c                                   |  16 +--
 mm/migrate_device.c                           |   4 +-
 mm/mprotect.c                                 |   4 +-
 mm/mremap.c                                   |   4 +-
 mm/userfaultfd.c                              |   4 +-
 mm/vmalloc.c                                  |  12 +-
 mm/vmscan.c                                   |  12 +-
 36 files changed, 226 insertions(+), 169 deletions(-)


base-commit: 3a8660878839faadb4f1a6dd72c3179c1df56787
-- 
2.47.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 15 08:28:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 08:28:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143204.1476971 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8wra-0006T7-Tj; Wed, 15 Oct 2025 08:28:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143204.1476971; Wed, 15 Oct 2025 08:28:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8wra-0006T0-OQ; Wed, 15 Oct 2025 08:28:02 +0000
Received: by outflank-mailman (input) for mailman id 1143204;
 Wed, 15 Oct 2025 08:28:01 +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
 <SRS0=xhcp=4Y=arm.com=kevin.brodsky@srs-se1.protection.inumbo.net>)
 id 1v8wrZ-0006Qy-KE
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 08:28:01 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id d8789c25-a9a0-11f0-980a-7dc792cee155;
 Wed, 15 Oct 2025 10:27:54 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 968DD22EA;
 Wed, 15 Oct 2025 01:27:45 -0700 (PDT)
Received: from e123572-lin.arm.com (e123572-lin.cambridge.arm.com
 [10.1.194.54])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 400C13F66E;
 Wed, 15 Oct 2025 01:27:48 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d8789c25-a9a0-11f0-980a-7dc792cee155
From: Kevin Brodsky <kevin.brodsky@arm.com>
To: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org,
	Kevin Brodsky <kevin.brodsky@arm.com>,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	Andreas Larsson <andreas@gaisler.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Borislav Petkov <bp@alien8.de>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	David Hildenbrand <david@redhat.com>,
	"David S. Miller" <davem@davemloft.net>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Ingo Molnar <mingo@redhat.com>,
	Jann Horn <jannh@google.com>,
	Juergen Gross <jgross@suse.com>,
	"Liam R. Howlett" <Liam.Howlett@oracle.com>,
	Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Michal Hocko <mhocko@suse.com>,
	Mike Rapoport <rppt@kernel.org>,
	Nicholas Piggin <npiggin@gmail.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Ryan Roberts <ryan.roberts@arm.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vlastimil Babka <vbabka@suse.cz>,
	Will Deacon <will@kernel.org>,
	Yeoreum Yun <yeoreum.yun@arm.com>,
	linux-arm-kernel@lists.infradead.org,
	linuxppc-dev@lists.ozlabs.org,
	sparclinux@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	x86@kernel.org
Subject: [PATCH v3 02/13] x86/xen: simplify flush_lazy_mmu()
Date: Wed, 15 Oct 2025 09:27:16 +0100
Message-ID: <20251015082727.2395128-3-kevin.brodsky@arm.com>
X-Mailer: git-send-email 2.47.0
In-Reply-To: <20251015082727.2395128-1-kevin.brodsky@arm.com>
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

arch_flush_lazy_mmu_mode() is called when outstanding batched
pgtable operations must be completed immediately. There should
however be no need to leave and re-enter lazy MMU completely. The
only part of that sequence that we really need is xen_mc_flush();
call it directly.

While at it, we can also avoid preempt_disable() if we are not
in lazy MMU mode - xen_get_lazy_mode() should tolerate preemption.

Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
---
 arch/x86/xen/mmu_pv.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/arch/x86/xen/mmu_pv.c b/arch/x86/xen/mmu_pv.c
index 2a4a8deaf612..dcb7b0989c32 100644
--- a/arch/x86/xen/mmu_pv.c
+++ b/arch/x86/xen/mmu_pv.c
@@ -2137,14 +2137,11 @@ static void xen_enter_lazy_mmu(void)
 
 static void xen_flush_lazy_mmu(void)
 {
-	preempt_disable();
-
 	if (xen_get_lazy_mode() == XEN_LAZY_MMU) {
-		arch_leave_lazy_mmu_mode();
-		arch_enter_lazy_mmu_mode();
+		preempt_disable();
+		xen_mc_flush();
+		preempt_enable();
 	}
-
-	preempt_enable();
 }
 
 static void __init xen_post_allocator_init(void)
-- 
2.47.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 15 08:28:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 08:28:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143205.1476974 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8wrb-0006Vk-3o; Wed, 15 Oct 2025 08:28:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143205.1476974; Wed, 15 Oct 2025 08:28:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8wra-0006V4-VR; Wed, 15 Oct 2025 08:28:02 +0000
Received: by outflank-mailman (input) for mailman id 1143205;
 Wed, 15 Oct 2025 08:28:01 +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
 <SRS0=xhcp=4Y=arm.com=kevin.brodsky@srs-se1.protection.inumbo.net>)
 id 1v8wrZ-0006Qy-R5
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 08:28:01 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id dba139bb-a9a0-11f0-980a-7dc792cee155;
 Wed, 15 Oct 2025 10:27:59 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id E422222EE;
 Wed, 15 Oct 2025 01:27:50 -0700 (PDT)
Received: from e123572-lin.arm.com (e123572-lin.cambridge.arm.com
 [10.1.194.54])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id DF8BD3F66E;
 Wed, 15 Oct 2025 01:27:53 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dba139bb-a9a0-11f0-980a-7dc792cee155
From: Kevin Brodsky <kevin.brodsky@arm.com>
To: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org,
	Kevin Brodsky <kevin.brodsky@arm.com>,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	Andreas Larsson <andreas@gaisler.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Borislav Petkov <bp@alien8.de>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	David Hildenbrand <david@redhat.com>,
	"David S. Miller" <davem@davemloft.net>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Ingo Molnar <mingo@redhat.com>,
	Jann Horn <jannh@google.com>,
	Juergen Gross <jgross@suse.com>,
	"Liam R. Howlett" <Liam.Howlett@oracle.com>,
	Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Michal Hocko <mhocko@suse.com>,
	Mike Rapoport <rppt@kernel.org>,
	Nicholas Piggin <npiggin@gmail.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Ryan Roberts <ryan.roberts@arm.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vlastimil Babka <vbabka@suse.cz>,
	Will Deacon <will@kernel.org>,
	Yeoreum Yun <yeoreum.yun@arm.com>,
	linux-arm-kernel@lists.infradead.org,
	linuxppc-dev@lists.ozlabs.org,
	sparclinux@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	x86@kernel.org
Subject: [PATCH v3 03/13] powerpc/mm: implement arch_flush_lazy_mmu_mode()
Date: Wed, 15 Oct 2025 09:27:17 +0100
Message-ID: <20251015082727.2395128-4-kevin.brodsky@arm.com>
X-Mailer: git-send-email 2.47.0
In-Reply-To: <20251015082727.2395128-1-kevin.brodsky@arm.com>
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Upcoming changes to the lazy_mmu API will cause
arch_flush_lazy_mmu_mode() to be called when leaving a nested
lazy_mmu section.

Move the relevant logic from arch_leave_lazy_mmu_mode() to
arch_flush_lazy_mmu_mode() and have the former call the latter.

Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
---
 .../powerpc/include/asm/book3s/64/tlbflush-hash.h | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/arch/powerpc/include/asm/book3s/64/tlbflush-hash.h b/arch/powerpc/include/asm/book3s/64/tlbflush-hash.h
index 146287d9580f..7704dbe8e88d 100644
--- a/arch/powerpc/include/asm/book3s/64/tlbflush-hash.h
+++ b/arch/powerpc/include/asm/book3s/64/tlbflush-hash.h
@@ -41,6 +41,16 @@ static inline void arch_enter_lazy_mmu_mode(void)
 	batch->active = 1;
 }
 
+static inline void arch_flush_lazy_mmu_mode(void)
+{
+	struct ppc64_tlb_batch *batch;
+
+	batch = this_cpu_ptr(&ppc64_tlb_batch);
+
+	if (batch->index)
+		__flush_tlb_pending(batch);
+}
+
 static inline void arch_leave_lazy_mmu_mode(void)
 {
 	struct ppc64_tlb_batch *batch;
@@ -49,14 +59,11 @@ static inline void arch_leave_lazy_mmu_mode(void)
 		return;
 	batch = this_cpu_ptr(&ppc64_tlb_batch);
 
-	if (batch->index)
-		__flush_tlb_pending(batch);
+	arch_flush_lazy_mmu_mode();
 	batch->active = 0;
 	preempt_enable();
 }
 
-#define arch_flush_lazy_mmu_mode()      do {} while (0)
-
 extern void hash__tlbiel_all(unsigned int action);
 
 extern void flush_hash_page(unsigned long vpn, real_pte_t pte, int psize,
-- 
2.47.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 15 08:28:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 08:28:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143209.1476991 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8wre-00070X-DD; Wed, 15 Oct 2025 08:28:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143209.1476991; Wed, 15 Oct 2025 08:28:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8wre-00070Q-8T; Wed, 15 Oct 2025 08:28:06 +0000
Received: by outflank-mailman (input) for mailman id 1143209;
 Wed, 15 Oct 2025 08:28:05 +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
 <SRS0=xhcp=4Y=arm.com=kevin.brodsky@srs-se1.protection.inumbo.net>)
 id 1v8wrd-0005tz-Bz
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 08:28:05 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id debc29a0-a9a0-11f0-9d15-b5c5bf9af7f9;
 Wed, 15 Oct 2025 10:28:04 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 36B1D22F8;
 Wed, 15 Oct 2025 01:27:56 -0700 (PDT)
Received: from e123572-lin.arm.com (e123572-lin.cambridge.arm.com
 [10.1.194.54])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 361C63F66E;
 Wed, 15 Oct 2025 01:27:59 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: debc29a0-a9a0-11f0-9d15-b5c5bf9af7f9
From: Kevin Brodsky <kevin.brodsky@arm.com>
To: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org,
	Kevin Brodsky <kevin.brodsky@arm.com>,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	Andreas Larsson <andreas@gaisler.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Borislav Petkov <bp@alien8.de>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	David Hildenbrand <david@redhat.com>,
	"David S. Miller" <davem@davemloft.net>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Ingo Molnar <mingo@redhat.com>,
	Jann Horn <jannh@google.com>,
	Juergen Gross <jgross@suse.com>,
	"Liam R. Howlett" <Liam.Howlett@oracle.com>,
	Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Michal Hocko <mhocko@suse.com>,
	Mike Rapoport <rppt@kernel.org>,
	Nicholas Piggin <npiggin@gmail.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Ryan Roberts <ryan.roberts@arm.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vlastimil Babka <vbabka@suse.cz>,
	Will Deacon <will@kernel.org>,
	Yeoreum Yun <yeoreum.yun@arm.com>,
	linux-arm-kernel@lists.infradead.org,
	linuxppc-dev@lists.ozlabs.org,
	sparclinux@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	x86@kernel.org
Subject: [PATCH v3 04/13] sparc/mm: implement arch_flush_lazy_mmu_mode()
Date: Wed, 15 Oct 2025 09:27:18 +0100
Message-ID: <20251015082727.2395128-5-kevin.brodsky@arm.com>
X-Mailer: git-send-email 2.47.0
In-Reply-To: <20251015082727.2395128-1-kevin.brodsky@arm.com>
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Upcoming changes to the lazy_mmu API will cause
arch_flush_lazy_mmu_mode() to be called when leaving a nested
lazy_mmu section.

Move the relevant logic from arch_leave_lazy_mmu_mode() to
arch_flush_lazy_mmu_mode() and have the former call the latter.

Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
---
 arch/sparc/include/asm/tlbflush_64.h | 2 +-
 arch/sparc/mm/tlb.c                  | 9 ++++++++-
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/arch/sparc/include/asm/tlbflush_64.h b/arch/sparc/include/asm/tlbflush_64.h
index 8b8cdaa69272..925bb5d7a4e1 100644
--- a/arch/sparc/include/asm/tlbflush_64.h
+++ b/arch/sparc/include/asm/tlbflush_64.h
@@ -43,8 +43,8 @@ void flush_tlb_kernel_range(unsigned long start, unsigned long end);
 
 void flush_tlb_pending(void);
 void arch_enter_lazy_mmu_mode(void);
+void arch_flush_lazy_mmu_mode(void);
 void arch_leave_lazy_mmu_mode(void);
-#define arch_flush_lazy_mmu_mode()      do {} while (0)
 
 /* Local cpu only.  */
 void __flush_tlb_all(void);
diff --git a/arch/sparc/mm/tlb.c b/arch/sparc/mm/tlb.c
index a35ddcca5e76..7b5dfcdb1243 100644
--- a/arch/sparc/mm/tlb.c
+++ b/arch/sparc/mm/tlb.c
@@ -59,12 +59,19 @@ void arch_enter_lazy_mmu_mode(void)
 	tb->active = 1;
 }
 
-void arch_leave_lazy_mmu_mode(void)
+void arch_flush_lazy_mmu_mode(void)
 {
 	struct tlb_batch *tb = this_cpu_ptr(&tlb_batch);
 
 	if (tb->tlb_nr)
 		flush_tlb_pending();
+}
+
+void arch_leave_lazy_mmu_mode(void)
+{
+	struct tlb_batch *tb = this_cpu_ptr(&tlb_batch);
+
+	arch_flush_lazy_mmu_mode();
 	tb->active = 0;
 	preempt_enable();
 }
-- 
2.47.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 15 08:28:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 08:28:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143212.1477001 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8wrk-0007VU-PK; Wed, 15 Oct 2025 08:28:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143212.1477001; Wed, 15 Oct 2025 08:28:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8wrk-0007V7-JB; Wed, 15 Oct 2025 08:28:12 +0000
Received: by outflank-mailman (input) for mailman id 1143212;
 Wed, 15 Oct 2025 08:28:11 +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
 <SRS0=xhcp=4Y=arm.com=kevin.brodsky@srs-se1.protection.inumbo.net>)
 id 1v8wrj-0005tz-1E
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 08:28:11 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id e1ef030e-a9a0-11f0-9d15-b5c5bf9af7f9;
 Wed, 15 Oct 2025 10:28:10 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 82ADC22FA;
 Wed, 15 Oct 2025 01:28:01 -0700 (PDT)
Received: from e123572-lin.arm.com (e123572-lin.cambridge.arm.com
 [10.1.194.54])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 801C23F66E;
 Wed, 15 Oct 2025 01:28:04 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e1ef030e-a9a0-11f0-9d15-b5c5bf9af7f9
From: Kevin Brodsky <kevin.brodsky@arm.com>
To: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org,
	Kevin Brodsky <kevin.brodsky@arm.com>,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	Andreas Larsson <andreas@gaisler.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Borislav Petkov <bp@alien8.de>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	David Hildenbrand <david@redhat.com>,
	"David S. Miller" <davem@davemloft.net>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Ingo Molnar <mingo@redhat.com>,
	Jann Horn <jannh@google.com>,
	Juergen Gross <jgross@suse.com>,
	"Liam R. Howlett" <Liam.Howlett@oracle.com>,
	Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Michal Hocko <mhocko@suse.com>,
	Mike Rapoport <rppt@kernel.org>,
	Nicholas Piggin <npiggin@gmail.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Ryan Roberts <ryan.roberts@arm.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vlastimil Babka <vbabka@suse.cz>,
	Will Deacon <will@kernel.org>,
	Yeoreum Yun <yeoreum.yun@arm.com>,
	linux-arm-kernel@lists.infradead.org,
	linuxppc-dev@lists.ozlabs.org,
	sparclinux@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	x86@kernel.org
Subject: [PATCH v3 05/13] mm: introduce CONFIG_ARCH_LAZY_MMU
Date: Wed, 15 Oct 2025 09:27:19 +0100
Message-ID: <20251015082727.2395128-6-kevin.brodsky@arm.com>
X-Mailer: git-send-email 2.47.0
In-Reply-To: <20251015082727.2395128-1-kevin.brodsky@arm.com>
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Architectures currently opt in for implementing lazy_mmu helpers by
defining __HAVE_ARCH_ENTER_LAZY_MMU_MODE.

In preparation for introducing a generic lazy_mmu layer that will
require storage in task_struct, let's switch to a cleaner approach:
instead of defining a macro, select a CONFIG option.

This patch introduces CONFIG_ARCH_LAZY_MMU and has each arch select
it when it implements lazy_mmu helpers.
__HAVE_ARCH_ENTER_LAZY_MMU_MODE is removed and <linux/pgtable.h>
relies on the new CONFIG instead.

On x86, lazy_mmu helpers are only implemented if PARAVIRT_XXL is
selected. This creates some complications in arch/x86/boot/, because
a few files manually undefine PARAVIRT* options. As a result
<asm/paravirt.h> does not define the lazy_mmu helpers, but this
breaks the build as <linux/pgtable.h> only defines them if
!CONFIG_ARCH_LAZY_MMU. There does not seem to be a clean way out of
this - let's just undefine that new CONFIG too.

Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
---
 arch/arm64/Kconfig                                 | 1 +
 arch/arm64/include/asm/pgtable.h                   | 1 -
 arch/powerpc/include/asm/book3s/64/tlbflush-hash.h | 2 --
 arch/powerpc/platforms/Kconfig.cputype             | 1 +
 arch/sparc/Kconfig                                 | 1 +
 arch/sparc/include/asm/tlbflush_64.h               | 2 --
 arch/x86/Kconfig                                   | 1 +
 arch/x86/boot/compressed/misc.h                    | 1 +
 arch/x86/boot/startup/sme.c                        | 1 +
 arch/x86/include/asm/paravirt.h                    | 1 -
 include/linux/pgtable.h                            | 2 +-
 mm/Kconfig                                         | 3 +++
 12 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index 6663ffd23f25..12d47a5f5e56 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -122,6 +122,7 @@ config ARM64
 	select ARCH_WANTS_NO_INSTR
 	select ARCH_WANTS_THP_SWAP if ARM64_4K_PAGES
 	select ARCH_HAS_UBSAN
+	select ARCH_LAZY_MMU
 	select ARM_AMBA
 	select ARM_ARCH_TIMER
 	select ARM_GIC
diff --git a/arch/arm64/include/asm/pgtable.h b/arch/arm64/include/asm/pgtable.h
index aa89c2e67ebc..e3cbb10288c4 100644
--- a/arch/arm64/include/asm/pgtable.h
+++ b/arch/arm64/include/asm/pgtable.h
@@ -80,7 +80,6 @@ static inline void queue_pte_barriers(void)
 	}
 }
 
-#define  __HAVE_ARCH_ENTER_LAZY_MMU_MODE
 static inline void arch_enter_lazy_mmu_mode(void)
 {
 	/*
diff --git a/arch/powerpc/include/asm/book3s/64/tlbflush-hash.h b/arch/powerpc/include/asm/book3s/64/tlbflush-hash.h
index 7704dbe8e88d..623a8a8b2d0e 100644
--- a/arch/powerpc/include/asm/book3s/64/tlbflush-hash.h
+++ b/arch/powerpc/include/asm/book3s/64/tlbflush-hash.h
@@ -24,8 +24,6 @@ DECLARE_PER_CPU(struct ppc64_tlb_batch, ppc64_tlb_batch);
 
 extern void __flush_tlb_pending(struct ppc64_tlb_batch *batch);
 
-#define __HAVE_ARCH_ENTER_LAZY_MMU_MODE
-
 static inline void arch_enter_lazy_mmu_mode(void)
 {
 	struct ppc64_tlb_batch *batch;
diff --git a/arch/powerpc/platforms/Kconfig.cputype b/arch/powerpc/platforms/Kconfig.cputype
index 7b527d18aa5e..a5e06aaf19cd 100644
--- a/arch/powerpc/platforms/Kconfig.cputype
+++ b/arch/powerpc/platforms/Kconfig.cputype
@@ -93,6 +93,7 @@ config PPC_BOOK3S_64
 	select IRQ_WORK
 	select PPC_64S_HASH_MMU if !PPC_RADIX_MMU
 	select KASAN_VMALLOC if KASAN
+	select ARCH_LAZY_MMU
 
 config PPC_BOOK3E_64
 	bool "Embedded processors"
diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
index a630d373e645..59f17996a353 100644
--- a/arch/sparc/Kconfig
+++ b/arch/sparc/Kconfig
@@ -112,6 +112,7 @@ config SPARC64
 	select NEED_PER_CPU_PAGE_FIRST_CHUNK
 	select ARCH_SUPPORTS_SCHED_SMT if SMP
 	select ARCH_SUPPORTS_SCHED_MC  if SMP
+	select ARCH_LAZY_MMU
 
 config ARCH_PROC_KCORE_TEXT
 	def_bool y
diff --git a/arch/sparc/include/asm/tlbflush_64.h b/arch/sparc/include/asm/tlbflush_64.h
index 925bb5d7a4e1..4e1036728e2f 100644
--- a/arch/sparc/include/asm/tlbflush_64.h
+++ b/arch/sparc/include/asm/tlbflush_64.h
@@ -39,8 +39,6 @@ static inline void flush_tlb_range(struct vm_area_struct *vma,
 
 void flush_tlb_kernel_range(unsigned long start, unsigned long end);
 
-#define __HAVE_ARCH_ENTER_LAZY_MMU_MODE
-
 void flush_tlb_pending(void);
 void arch_enter_lazy_mmu_mode(void);
 void arch_flush_lazy_mmu_mode(void);
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index fa3b616af03a..85de037cad8c 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -804,6 +804,7 @@ config PARAVIRT
 config PARAVIRT_XXL
 	bool
 	depends on X86_64
+	select ARCH_LAZY_MMU
 
 config PARAVIRT_DEBUG
 	bool "paravirt-ops debugging"
diff --git a/arch/x86/boot/compressed/misc.h b/arch/x86/boot/compressed/misc.h
index db1048621ea2..80b3b79a1001 100644
--- a/arch/x86/boot/compressed/misc.h
+++ b/arch/x86/boot/compressed/misc.h
@@ -11,6 +11,7 @@
 #undef CONFIG_PARAVIRT
 #undef CONFIG_PARAVIRT_XXL
 #undef CONFIG_PARAVIRT_SPINLOCKS
+#undef CONFIG_ARCH_LAZY_MMU
 #undef CONFIG_KASAN
 #undef CONFIG_KASAN_GENERIC
 
diff --git a/arch/x86/boot/startup/sme.c b/arch/x86/boot/startup/sme.c
index e7ea65f3f1d6..af74d09b68bc 100644
--- a/arch/x86/boot/startup/sme.c
+++ b/arch/x86/boot/startup/sme.c
@@ -24,6 +24,7 @@
 #undef CONFIG_PARAVIRT
 #undef CONFIG_PARAVIRT_XXL
 #undef CONFIG_PARAVIRT_SPINLOCKS
+#undef CONFIG_ARCH_LAZY_MMU
 
 /*
  * This code runs before CPU feature bits are set. By default, the
diff --git a/arch/x86/include/asm/paravirt.h b/arch/x86/include/asm/paravirt.h
index b5e59a7ba0d0..13f9cd31c8f8 100644
--- a/arch/x86/include/asm/paravirt.h
+++ b/arch/x86/include/asm/paravirt.h
@@ -526,7 +526,6 @@ static inline void arch_end_context_switch(struct task_struct *next)
 	PVOP_VCALL1(cpu.end_context_switch, next);
 }
 
-#define  __HAVE_ARCH_ENTER_LAZY_MMU_MODE
 static inline void arch_enter_lazy_mmu_mode(void)
 {
 	PVOP_VCALL0(mmu.lazy_mode.enter);
diff --git a/include/linux/pgtable.h b/include/linux/pgtable.h
index 32e8457ad535..124d5fa2975f 100644
--- a/include/linux/pgtable.h
+++ b/include/linux/pgtable.h
@@ -231,7 +231,7 @@ static inline int pmd_dirty(pmd_t pmd)
  * held, but for kernel PTE updates, no lock is held). Nesting is not permitted
  * and the mode cannot be used in interrupt context.
  */
-#ifndef __HAVE_ARCH_ENTER_LAZY_MMU_MODE
+#ifndef CONFIG_ARCH_LAZY_MMU
 static inline void arch_enter_lazy_mmu_mode(void) {}
 static inline void arch_leave_lazy_mmu_mode(void) {}
 static inline void arch_flush_lazy_mmu_mode(void) {}
diff --git a/mm/Kconfig b/mm/Kconfig
index 0e26f4fc8717..2fdcb42ca1a1 100644
--- a/mm/Kconfig
+++ b/mm/Kconfig
@@ -1372,6 +1372,9 @@ config PT_RECLAIM
 config FIND_NORMAL_PAGE
 	def_bool n
 
+config ARCH_LAZY_MMU
+	bool
+
 source "mm/damon/Kconfig"
 
 endmenu
-- 
2.47.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 15 08:28:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 08:28:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143224.1477010 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8wrs-00083q-0C; Wed, 15 Oct 2025 08:28:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143224.1477010; Wed, 15 Oct 2025 08:28:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8wrr-00083d-Rz; Wed, 15 Oct 2025 08:28:19 +0000
Received: by outflank-mailman (input) for mailman id 1143224;
 Wed, 15 Oct 2025 08:28:18 +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
 <SRS0=xhcp=4Y=arm.com=kevin.brodsky@srs-se1.protection.inumbo.net>)
 id 1v8wrp-0006Qy-QF
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 08:28:17 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id e52bc62b-a9a0-11f0-980a-7dc792cee155;
 Wed, 15 Oct 2025 10:28:15 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id EAC8522FC;
 Wed, 15 Oct 2025 01:28:06 -0700 (PDT)
Received: from e123572-lin.arm.com (e123572-lin.cambridge.arm.com
 [10.1.194.54])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id C98FB3F66E;
 Wed, 15 Oct 2025 01:28:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e52bc62b-a9a0-11f0-980a-7dc792cee155
From: Kevin Brodsky <kevin.brodsky@arm.com>
To: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org,
	Kevin Brodsky <kevin.brodsky@arm.com>,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	Andreas Larsson <andreas@gaisler.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Borislav Petkov <bp@alien8.de>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	David Hildenbrand <david@redhat.com>,
	"David S. Miller" <davem@davemloft.net>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Ingo Molnar <mingo@redhat.com>,
	Jann Horn <jannh@google.com>,
	Juergen Gross <jgross@suse.com>,
	"Liam R. Howlett" <Liam.Howlett@oracle.com>,
	Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Michal Hocko <mhocko@suse.com>,
	Mike Rapoport <rppt@kernel.org>,
	Nicholas Piggin <npiggin@gmail.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Ryan Roberts <ryan.roberts@arm.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vlastimil Babka <vbabka@suse.cz>,
	Will Deacon <will@kernel.org>,
	Yeoreum Yun <yeoreum.yun@arm.com>,
	linux-arm-kernel@lists.infradead.org,
	linuxppc-dev@lists.ozlabs.org,
	sparclinux@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	x86@kernel.org
Subject: [PATCH v3 06/13] mm: introduce generic lazy_mmu helpers
Date: Wed, 15 Oct 2025 09:27:20 +0100
Message-ID: <20251015082727.2395128-7-kevin.brodsky@arm.com>
X-Mailer: git-send-email 2.47.0
In-Reply-To: <20251015082727.2395128-1-kevin.brodsky@arm.com>
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The implementation of the lazy MMU mode is currently entirely
arch-specific; core code directly calls arch helpers:
arch_{enter,leave}_lazy_mmu_mode().

We are about to introduce support for nested lazy MMU sections.
As things stand we'd have to duplicate that logic in every arch
implementing lazy_mmu - adding to a fair amount of logic
already duplicated across lazy_mmu implementations.

This patch therefore introduces a new generic layer that calls the
existing arch_* helpers. Two pair of calls are introduced:

* lazy_mmu_mode_enable() ... lazy_mmu_mode_disable()
    This is the standard case where the mode is enabled for a given
    block of code by surrounding it with enable() and disable()
    calls.

* lazy_mmu_mode_pause() ... lazy_mmu_mode_resume()
    This is for situations where the mode is temporarily disabled
    by first calling pause() and then resume() (e.g. to prevent any
    batching from occurring in a critical section).

The documentation in <linux/pgtable.h> will be updated in a
subsequent patch.

No functional change should be introduced at this stage.
The implementation of enable()/resume() and disable()/pause() is
currently identical, but nesting support will change that.

Most of the call sites have been updated using the following
Coccinelle script:

@@
@@
{
...
- arch_enter_lazy_mmu_mode();
+ lazy_mmu_mode_enable();
...
- arch_leave_lazy_mmu_mode();
+ lazy_mmu_mode_disable();
...
}

@@
@@
{
...
- arch_leave_lazy_mmu_mode();
+ lazy_mmu_mode_pause();
...
- arch_enter_lazy_mmu_mode();
+ lazy_mmu_mode_resume();
...
}

A couple of cases are noteworthy:

* madvise_*_pte_range() call arch_leave() in multiple paths, some
  followed by an immediate exit/rescheduling and some followed by a
  conditional exit. These functions assume that they are called
  with lazy MMU disabled and we cannot simply use pause()/resume()
  to address that. This patch leaves the situation unchanged by
  calling enable()/disable() in all cases.

* x86/Xen is currently the only case where explicit handling is
  required for lazy MMU when context-switching. This is purely an
  implementation detail and using the generic lazy_mmu_mode_*
  functions would cause trouble when nesting support is introduced,
  because the generic functions must be called from the current task.
  For that reason we still use arch_leave() and arch_enter() there.

Note: x86 calls arch_flush_lazy_mmu_mode() unconditionally in a few
places, but only defines it if PARAVIRT_XXL is selected, and we are
removing the fallback in <linux/pgtable.h>. Add a new fallback
definition to <asm/pgtable.h> to keep things building.

Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
---
 arch/arm64/mm/mmu.c                     |  4 ++--
 arch/arm64/mm/pageattr.c                |  4 ++--
 arch/powerpc/mm/book3s64/hash_tlb.c     |  8 +++----
 arch/powerpc/mm/book3s64/subpage_prot.c |  4 ++--
 arch/x86/include/asm/pgtable.h          |  3 ++-
 fs/proc/task_mmu.c                      |  4 ++--
 include/linux/pgtable.h                 | 29 +++++++++++++++++++++----
 mm/kasan/shadow.c                       |  8 +++----
 mm/madvise.c                            | 18 +++++++--------
 mm/memory.c                             | 16 +++++++-------
 mm/migrate_device.c                     |  4 ++--
 mm/mprotect.c                           |  4 ++--
 mm/mremap.c                             |  4 ++--
 mm/userfaultfd.c                        |  4 ++--
 mm/vmalloc.c                            | 12 +++++-----
 mm/vmscan.c                             | 12 +++++-----
 16 files changed, 80 insertions(+), 58 deletions(-)

diff --git a/arch/arm64/mm/mmu.c b/arch/arm64/mm/mmu.c
index b8d37eb037fc..d9c8e94f140f 100644
--- a/arch/arm64/mm/mmu.c
+++ b/arch/arm64/mm/mmu.c
@@ -731,7 +731,7 @@ int split_kernel_leaf_mapping(unsigned long start, unsigned long end)
 		return -EINVAL;
 
 	mutex_lock(&pgtable_split_lock);
-	arch_enter_lazy_mmu_mode();
+	lazy_mmu_mode_enable();
 
 	/*
 	 * The split_kernel_leaf_mapping_locked() may sleep, it is not a
@@ -753,7 +753,7 @@ int split_kernel_leaf_mapping(unsigned long start, unsigned long end)
 			ret = split_kernel_leaf_mapping_locked(end);
 	}
 
-	arch_leave_lazy_mmu_mode();
+	lazy_mmu_mode_disable();
 	mutex_unlock(&pgtable_split_lock);
 	return ret;
 }
diff --git a/arch/arm64/mm/pageattr.c b/arch/arm64/mm/pageattr.c
index 5135f2d66958..e4059f13c4ed 100644
--- a/arch/arm64/mm/pageattr.c
+++ b/arch/arm64/mm/pageattr.c
@@ -110,7 +110,7 @@ static int update_range_prot(unsigned long start, unsigned long size,
 	if (WARN_ON_ONCE(ret))
 		return ret;
 
-	arch_enter_lazy_mmu_mode();
+	lazy_mmu_mode_enable();
 
 	/*
 	 * The caller must ensure that the range we are operating on does not
@@ -119,7 +119,7 @@ static int update_range_prot(unsigned long start, unsigned long size,
 	 */
 	ret = walk_kernel_page_table_range_lockless(start, start + size,
 						    &pageattr_ops, NULL, &data);
-	arch_leave_lazy_mmu_mode();
+	lazy_mmu_mode_disable();
 
 	return ret;
 }
diff --git a/arch/powerpc/mm/book3s64/hash_tlb.c b/arch/powerpc/mm/book3s64/hash_tlb.c
index 21fcad97ae80..787f7a0e27f0 100644
--- a/arch/powerpc/mm/book3s64/hash_tlb.c
+++ b/arch/powerpc/mm/book3s64/hash_tlb.c
@@ -205,7 +205,7 @@ void __flush_hash_table_range(unsigned long start, unsigned long end)
 	 * way to do things but is fine for our needs here.
 	 */
 	local_irq_save(flags);
-	arch_enter_lazy_mmu_mode();
+	lazy_mmu_mode_enable();
 	for (; start < end; start += PAGE_SIZE) {
 		pte_t *ptep = find_init_mm_pte(start, &hugepage_shift);
 		unsigned long pte;
@@ -217,7 +217,7 @@ void __flush_hash_table_range(unsigned long start, unsigned long end)
 			continue;
 		hpte_need_flush(&init_mm, start, ptep, pte, hugepage_shift);
 	}
-	arch_leave_lazy_mmu_mode();
+	lazy_mmu_mode_disable();
 	local_irq_restore(flags);
 }
 
@@ -237,7 +237,7 @@ void flush_hash_table_pmd_range(struct mm_struct *mm, pmd_t *pmd, unsigned long
 	 * way to do things but is fine for our needs here.
 	 */
 	local_irq_save(flags);
-	arch_enter_lazy_mmu_mode();
+	lazy_mmu_mode_enable();
 	start_pte = pte_offset_map(pmd, addr);
 	if (!start_pte)
 		goto out;
@@ -249,6 +249,6 @@ void flush_hash_table_pmd_range(struct mm_struct *mm, pmd_t *pmd, unsigned long
 	}
 	pte_unmap(start_pte);
 out:
-	arch_leave_lazy_mmu_mode();
+	lazy_mmu_mode_disable();
 	local_irq_restore(flags);
 }
diff --git a/arch/powerpc/mm/book3s64/subpage_prot.c b/arch/powerpc/mm/book3s64/subpage_prot.c
index ec98e526167e..07c47673bba2 100644
--- a/arch/powerpc/mm/book3s64/subpage_prot.c
+++ b/arch/powerpc/mm/book3s64/subpage_prot.c
@@ -73,13 +73,13 @@ static void hpte_flush_range(struct mm_struct *mm, unsigned long addr,
 	pte = pte_offset_map_lock(mm, pmd, addr, &ptl);
 	if (!pte)
 		return;
-	arch_enter_lazy_mmu_mode();
+	lazy_mmu_mode_enable();
 	for (; npages > 0; --npages) {
 		pte_update(mm, addr, pte, 0, 0, 0);
 		addr += PAGE_SIZE;
 		++pte;
 	}
-	arch_leave_lazy_mmu_mode();
+	lazy_mmu_mode_disable();
 	pte_unmap_unlock(pte - 1, ptl);
 }
 
diff --git a/arch/x86/include/asm/pgtable.h b/arch/x86/include/asm/pgtable.h
index e33df3da6980..14fd672bc9b2 100644
--- a/arch/x86/include/asm/pgtable.h
+++ b/arch/x86/include/asm/pgtable.h
@@ -117,7 +117,8 @@ extern pmdval_t early_pmd_flags;
 #define pte_val(x)	native_pte_val(x)
 #define __pte(x)	native_make_pte(x)
 
-#define arch_end_context_switch(prev)	do {} while(0)
+#define arch_end_context_switch(prev)	do {} while (0)
+#define arch_flush_lazy_mmu_mode()	do {} while (0)
 #endif	/* CONFIG_PARAVIRT_XXL */
 
 static inline pmd_t pmd_set_flags(pmd_t pmd, pmdval_t set)
diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c
index fc35a0543f01..d16ba1d32169 100644
--- a/fs/proc/task_mmu.c
+++ b/fs/proc/task_mmu.c
@@ -2703,7 +2703,7 @@ static int pagemap_scan_pmd_entry(pmd_t *pmd, unsigned long start,
 		return 0;
 	}
 
-	arch_enter_lazy_mmu_mode();
+	lazy_mmu_mode_enable();
 
 	if ((p->arg.flags & PM_SCAN_WP_MATCHING) && !p->vec_out) {
 		/* Fast path for performing exclusive WP */
@@ -2773,7 +2773,7 @@ static int pagemap_scan_pmd_entry(pmd_t *pmd, unsigned long start,
 	if (flush_end)
 		flush_tlb_range(vma, start, addr);
 
-	arch_leave_lazy_mmu_mode();
+	lazy_mmu_mode_disable();
 	pte_unmap_unlock(start_pte, ptl);
 
 	cond_resched();
diff --git a/include/linux/pgtable.h b/include/linux/pgtable.h
index 124d5fa2975f..194b2c3e7576 100644
--- a/include/linux/pgtable.h
+++ b/include/linux/pgtable.h
@@ -231,10 +231,31 @@ static inline int pmd_dirty(pmd_t pmd)
  * held, but for kernel PTE updates, no lock is held). Nesting is not permitted
  * and the mode cannot be used in interrupt context.
  */
-#ifndef CONFIG_ARCH_LAZY_MMU
-static inline void arch_enter_lazy_mmu_mode(void) {}
-static inline void arch_leave_lazy_mmu_mode(void) {}
-static inline void arch_flush_lazy_mmu_mode(void) {}
+#ifdef CONFIG_ARCH_LAZY_MMU
+static inline void lazy_mmu_mode_enable(void)
+{
+	arch_enter_lazy_mmu_mode();
+}
+
+static inline void lazy_mmu_mode_disable(void)
+{
+	arch_leave_lazy_mmu_mode();
+}
+
+static inline void lazy_mmu_mode_pause(void)
+{
+	arch_leave_lazy_mmu_mode();
+}
+
+static inline void lazy_mmu_mode_resume(void)
+{
+	arch_enter_lazy_mmu_mode();
+}
+#else
+static inline void lazy_mmu_mode_enable(void) {}
+static inline void lazy_mmu_mode_disable(void) {}
+static inline void lazy_mmu_mode_pause(void) {}
+static inline void lazy_mmu_mode_resume(void) {}
 #endif
 
 #ifndef pte_batch_hint
diff --git a/mm/kasan/shadow.c b/mm/kasan/shadow.c
index 5d2a876035d6..c49b029d3593 100644
--- a/mm/kasan/shadow.c
+++ b/mm/kasan/shadow.c
@@ -305,7 +305,7 @@ static int kasan_populate_vmalloc_pte(pte_t *ptep, unsigned long addr,
 	pte_t pte;
 	int index;
 
-	arch_leave_lazy_mmu_mode();
+	lazy_mmu_mode_pause();
 
 	index = PFN_DOWN(addr - data->start);
 	page = data->pages[index];
@@ -319,7 +319,7 @@ static int kasan_populate_vmalloc_pte(pte_t *ptep, unsigned long addr,
 	}
 	spin_unlock(&init_mm.page_table_lock);
 
-	arch_enter_lazy_mmu_mode();
+	lazy_mmu_mode_resume();
 
 	return 0;
 }
@@ -482,7 +482,7 @@ static int kasan_depopulate_vmalloc_pte(pte_t *ptep, unsigned long addr,
 	pte_t pte;
 	int none;
 
-	arch_leave_lazy_mmu_mode();
+	lazy_mmu_mode_pause();
 
 	spin_lock(&init_mm.page_table_lock);
 	pte = ptep_get(ptep);
@@ -494,7 +494,7 @@ static int kasan_depopulate_vmalloc_pte(pte_t *ptep, unsigned long addr,
 	if (likely(!none))
 		__free_page(pfn_to_page(pte_pfn(pte)));
 
-	arch_enter_lazy_mmu_mode();
+	lazy_mmu_mode_resume();
 
 	return 0;
 }
diff --git a/mm/madvise.c b/mm/madvise.c
index fb1c86e630b6..536026772160 100644
--- a/mm/madvise.c
+++ b/mm/madvise.c
@@ -455,7 +455,7 @@ static int madvise_cold_or_pageout_pte_range(pmd_t *pmd,
 	if (!start_pte)
 		return 0;
 	flush_tlb_batched_pending(mm);
-	arch_enter_lazy_mmu_mode();
+	lazy_mmu_mode_enable();
 	for (; addr < end; pte += nr, addr += nr * PAGE_SIZE) {
 		nr = 1;
 		ptent = ptep_get(pte);
@@ -463,7 +463,7 @@ static int madvise_cold_or_pageout_pte_range(pmd_t *pmd,
 		if (++batch_count == SWAP_CLUSTER_MAX) {
 			batch_count = 0;
 			if (need_resched()) {
-				arch_leave_lazy_mmu_mode();
+				lazy_mmu_mode_disable();
 				pte_unmap_unlock(start_pte, ptl);
 				cond_resched();
 				goto restart;
@@ -499,7 +499,7 @@ static int madvise_cold_or_pageout_pte_range(pmd_t *pmd,
 				if (!folio_trylock(folio))
 					continue;
 				folio_get(folio);
-				arch_leave_lazy_mmu_mode();
+				lazy_mmu_mode_disable();
 				pte_unmap_unlock(start_pte, ptl);
 				start_pte = NULL;
 				err = split_folio(folio);
@@ -510,7 +510,7 @@ static int madvise_cold_or_pageout_pte_range(pmd_t *pmd,
 				if (!start_pte)
 					break;
 				flush_tlb_batched_pending(mm);
-				arch_enter_lazy_mmu_mode();
+				lazy_mmu_mode_enable();
 				if (!err)
 					nr = 0;
 				continue;
@@ -558,7 +558,7 @@ static int madvise_cold_or_pageout_pte_range(pmd_t *pmd,
 	}
 
 	if (start_pte) {
-		arch_leave_lazy_mmu_mode();
+		lazy_mmu_mode_disable();
 		pte_unmap_unlock(start_pte, ptl);
 	}
 	if (pageout)
@@ -677,7 +677,7 @@ static int madvise_free_pte_range(pmd_t *pmd, unsigned long addr,
 	if (!start_pte)
 		return 0;
 	flush_tlb_batched_pending(mm);
-	arch_enter_lazy_mmu_mode();
+	lazy_mmu_mode_enable();
 	for (; addr != end; pte += nr, addr += PAGE_SIZE * nr) {
 		nr = 1;
 		ptent = ptep_get(pte);
@@ -727,7 +727,7 @@ static int madvise_free_pte_range(pmd_t *pmd, unsigned long addr,
 				if (!folio_trylock(folio))
 					continue;
 				folio_get(folio);
-				arch_leave_lazy_mmu_mode();
+				lazy_mmu_mode_disable();
 				pte_unmap_unlock(start_pte, ptl);
 				start_pte = NULL;
 				err = split_folio(folio);
@@ -738,7 +738,7 @@ static int madvise_free_pte_range(pmd_t *pmd, unsigned long addr,
 				if (!start_pte)
 					break;
 				flush_tlb_batched_pending(mm);
-				arch_enter_lazy_mmu_mode();
+				lazy_mmu_mode_enable();
 				if (!err)
 					nr = 0;
 				continue;
@@ -778,7 +778,7 @@ static int madvise_free_pte_range(pmd_t *pmd, unsigned long addr,
 	if (nr_swap)
 		add_mm_counter(mm, MM_SWAPENTS, nr_swap);
 	if (start_pte) {
-		arch_leave_lazy_mmu_mode();
+		lazy_mmu_mode_disable();
 		pte_unmap_unlock(start_pte, ptl);
 	}
 	cond_resched();
diff --git a/mm/memory.c b/mm/memory.c
index 74b45e258323..2d662dee5ae7 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -1254,7 +1254,7 @@ copy_pte_range(struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma,
 	spin_lock_nested(src_ptl, SINGLE_DEPTH_NESTING);
 	orig_src_pte = src_pte;
 	orig_dst_pte = dst_pte;
-	arch_enter_lazy_mmu_mode();
+	lazy_mmu_mode_enable();
 
 	do {
 		nr = 1;
@@ -1323,7 +1323,7 @@ copy_pte_range(struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma,
 	} while (dst_pte += nr, src_pte += nr, addr += PAGE_SIZE * nr,
 		 addr != end);
 
-	arch_leave_lazy_mmu_mode();
+	lazy_mmu_mode_disable();
 	pte_unmap_unlock(orig_src_pte, src_ptl);
 	add_mm_rss_vec(dst_mm, rss);
 	pte_unmap_unlock(orig_dst_pte, dst_ptl);
@@ -1842,7 +1842,7 @@ static unsigned long zap_pte_range(struct mmu_gather *tlb,
 		return addr;
 
 	flush_tlb_batched_pending(mm);
-	arch_enter_lazy_mmu_mode();
+	lazy_mmu_mode_enable();
 	do {
 		bool any_skipped = false;
 
@@ -1874,7 +1874,7 @@ static unsigned long zap_pte_range(struct mmu_gather *tlb,
 		direct_reclaim = try_get_and_clear_pmd(mm, pmd, &pmdval);
 
 	add_mm_rss_vec(mm, rss);
-	arch_leave_lazy_mmu_mode();
+	lazy_mmu_mode_disable();
 
 	/* Do the actual TLB flush before dropping ptl */
 	if (force_flush) {
@@ -2817,7 +2817,7 @@ static int remap_pte_range(struct mm_struct *mm, pmd_t *pmd,
 	mapped_pte = pte = pte_alloc_map_lock(mm, pmd, addr, &ptl);
 	if (!pte)
 		return -ENOMEM;
-	arch_enter_lazy_mmu_mode();
+	lazy_mmu_mode_enable();
 	do {
 		BUG_ON(!pte_none(ptep_get(pte)));
 		if (!pfn_modify_allowed(pfn, prot)) {
@@ -2827,7 +2827,7 @@ static int remap_pte_range(struct mm_struct *mm, pmd_t *pmd,
 		set_pte_at(mm, addr, pte, pte_mkspecial(pfn_pte(pfn, prot)));
 		pfn++;
 	} while (pte++, addr += PAGE_SIZE, addr != end);
-	arch_leave_lazy_mmu_mode();
+	lazy_mmu_mode_disable();
 	pte_unmap_unlock(mapped_pte, ptl);
 	return err;
 }
@@ -3134,7 +3134,7 @@ static int apply_to_pte_range(struct mm_struct *mm, pmd_t *pmd,
 			return -EINVAL;
 	}
 
-	arch_enter_lazy_mmu_mode();
+	lazy_mmu_mode_enable();
 
 	if (fn) {
 		do {
@@ -3147,7 +3147,7 @@ static int apply_to_pte_range(struct mm_struct *mm, pmd_t *pmd,
 	}
 	*mask |= PGTBL_PTE_MODIFIED;
 
-	arch_leave_lazy_mmu_mode();
+	lazy_mmu_mode_disable();
 
 	if (mm != &init_mm)
 		pte_unmap_unlock(mapped_pte, ptl);
diff --git a/mm/migrate_device.c b/mm/migrate_device.c
index abd9f6850db6..dcdc46b96cc7 100644
--- a/mm/migrate_device.c
+++ b/mm/migrate_device.c
@@ -110,7 +110,7 @@ static int migrate_vma_collect_pmd(pmd_t *pmdp,
 	ptep = pte_offset_map_lock(mm, pmdp, addr, &ptl);
 	if (!ptep)
 		goto again;
-	arch_enter_lazy_mmu_mode();
+	lazy_mmu_mode_enable();
 
 	for (; addr < end; addr += PAGE_SIZE, ptep++) {
 		struct dev_pagemap *pgmap;
@@ -287,7 +287,7 @@ static int migrate_vma_collect_pmd(pmd_t *pmdp,
 	if (unmapped)
 		flush_tlb_range(walk->vma, start, end);
 
-	arch_leave_lazy_mmu_mode();
+	lazy_mmu_mode_disable();
 	pte_unmap_unlock(ptep - 1, ptl);
 
 	return 0;
diff --git a/mm/mprotect.c b/mm/mprotect.c
index 113b48985834..bcb183a6fd2f 100644
--- a/mm/mprotect.c
+++ b/mm/mprotect.c
@@ -293,7 +293,7 @@ static long change_pte_range(struct mmu_gather *tlb,
 		target_node = numa_node_id();
 
 	flush_tlb_batched_pending(vma->vm_mm);
-	arch_enter_lazy_mmu_mode();
+	lazy_mmu_mode_enable();
 	do {
 		nr_ptes = 1;
 		oldpte = ptep_get(pte);
@@ -439,7 +439,7 @@ static long change_pte_range(struct mmu_gather *tlb,
 			}
 		}
 	} while (pte += nr_ptes, addr += nr_ptes * PAGE_SIZE, addr != end);
-	arch_leave_lazy_mmu_mode();
+	lazy_mmu_mode_disable();
 	pte_unmap_unlock(pte - 1, ptl);
 
 	return pages;
diff --git a/mm/mremap.c b/mm/mremap.c
index 35de0a7b910e..1e216007160d 100644
--- a/mm/mremap.c
+++ b/mm/mremap.c
@@ -256,7 +256,7 @@ static int move_ptes(struct pagetable_move_control *pmc,
 	if (new_ptl != old_ptl)
 		spin_lock_nested(new_ptl, SINGLE_DEPTH_NESTING);
 	flush_tlb_batched_pending(vma->vm_mm);
-	arch_enter_lazy_mmu_mode();
+	lazy_mmu_mode_enable();
 
 	for (; old_addr < old_end; old_ptep += nr_ptes, old_addr += nr_ptes * PAGE_SIZE,
 		new_ptep += nr_ptes, new_addr += nr_ptes * PAGE_SIZE) {
@@ -301,7 +301,7 @@ static int move_ptes(struct pagetable_move_control *pmc,
 		}
 	}
 
-	arch_leave_lazy_mmu_mode();
+	lazy_mmu_mode_disable();
 	if (force_flush)
 		flush_tlb_range(vma, old_end - len, old_end);
 	if (new_ptl != old_ptl)
diff --git a/mm/userfaultfd.c b/mm/userfaultfd.c
index af61b95c89e4..e01f7813e15c 100644
--- a/mm/userfaultfd.c
+++ b/mm/userfaultfd.c
@@ -1100,7 +1100,7 @@ static long move_present_ptes(struct mm_struct *mm,
 	/* It's safe to drop the reference now as the page-table is holding one. */
 	folio_put(*first_src_folio);
 	*first_src_folio = NULL;
-	arch_enter_lazy_mmu_mode();
+	lazy_mmu_mode_enable();
 
 	while (true) {
 		orig_src_pte = ptep_get_and_clear(mm, src_addr, src_pte);
@@ -1138,7 +1138,7 @@ static long move_present_ptes(struct mm_struct *mm,
 			break;
 	}
 
-	arch_leave_lazy_mmu_mode();
+	lazy_mmu_mode_disable();
 	if (src_addr > src_start)
 		flush_tlb_range(src_vma, src_start, src_addr);
 
diff --git a/mm/vmalloc.c b/mm/vmalloc.c
index 798b2ed21e46..b9940590a40d 100644
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
@@ -105,7 +105,7 @@ static int vmap_pte_range(pmd_t *pmd, unsigned long addr, unsigned long end,
 	if (!pte)
 		return -ENOMEM;
 
-	arch_enter_lazy_mmu_mode();
+	lazy_mmu_mode_enable();
 
 	do {
 		if (unlikely(!pte_none(ptep_get(pte)))) {
@@ -131,7 +131,7 @@ static int vmap_pte_range(pmd_t *pmd, unsigned long addr, unsigned long end,
 		pfn++;
 	} while (pte += PFN_DOWN(size), addr += size, addr != end);
 
-	arch_leave_lazy_mmu_mode();
+	lazy_mmu_mode_disable();
 	*mask |= PGTBL_PTE_MODIFIED;
 	return 0;
 }
@@ -359,7 +359,7 @@ static void vunmap_pte_range(pmd_t *pmd, unsigned long addr, unsigned long end,
 	unsigned long size = PAGE_SIZE;
 
 	pte = pte_offset_kernel(pmd, addr);
-	arch_enter_lazy_mmu_mode();
+	lazy_mmu_mode_enable();
 
 	do {
 #ifdef CONFIG_HUGETLB_PAGE
@@ -378,7 +378,7 @@ static void vunmap_pte_range(pmd_t *pmd, unsigned long addr, unsigned long end,
 		WARN_ON(!pte_none(ptent) && !pte_present(ptent));
 	} while (pte += (size >> PAGE_SHIFT), addr += size, addr != end);
 
-	arch_leave_lazy_mmu_mode();
+	lazy_mmu_mode_disable();
 	*mask |= PGTBL_PTE_MODIFIED;
 }
 
@@ -526,7 +526,7 @@ static int vmap_pages_pte_range(pmd_t *pmd, unsigned long addr,
 	if (!pte)
 		return -ENOMEM;
 
-	arch_enter_lazy_mmu_mode();
+	lazy_mmu_mode_enable();
 
 	do {
 		struct page *page = pages[*nr];
@@ -548,7 +548,7 @@ static int vmap_pages_pte_range(pmd_t *pmd, unsigned long addr,
 		(*nr)++;
 	} while (pte++, addr += PAGE_SIZE, addr != end);
 
-	arch_leave_lazy_mmu_mode();
+	lazy_mmu_mode_disable();
 	*mask |= PGTBL_PTE_MODIFIED;
 
 	return err;
diff --git a/mm/vmscan.c b/mm/vmscan.c
index b2fc8b626d3d..7d2d87069530 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -3551,7 +3551,7 @@ static bool walk_pte_range(pmd_t *pmd, unsigned long start, unsigned long end,
 		return false;
 	}
 
-	arch_enter_lazy_mmu_mode();
+	lazy_mmu_mode_enable();
 restart:
 	for (i = pte_index(start), addr = start; addr != end; i++, addr += PAGE_SIZE) {
 		unsigned long pfn;
@@ -3592,7 +3592,7 @@ static bool walk_pte_range(pmd_t *pmd, unsigned long start, unsigned long end,
 	if (i < PTRS_PER_PTE && get_next_vma(PMD_MASK, PAGE_SIZE, args, &start, &end))
 		goto restart;
 
-	arch_leave_lazy_mmu_mode();
+	lazy_mmu_mode_disable();
 	pte_unmap_unlock(pte, ptl);
 
 	return suitable_to_scan(total, young);
@@ -3633,7 +3633,7 @@ static void walk_pmd_range_locked(pud_t *pud, unsigned long addr, struct vm_area
 	if (!spin_trylock(ptl))
 		goto done;
 
-	arch_enter_lazy_mmu_mode();
+	lazy_mmu_mode_enable();
 
 	do {
 		unsigned long pfn;
@@ -3680,7 +3680,7 @@ static void walk_pmd_range_locked(pud_t *pud, unsigned long addr, struct vm_area
 
 	walk_update_folio(walk, last, gen, dirty);
 
-	arch_leave_lazy_mmu_mode();
+	lazy_mmu_mode_disable();
 	spin_unlock(ptl);
 done:
 	*first = -1;
@@ -4279,7 +4279,7 @@ bool lru_gen_look_around(struct page_vma_mapped_walk *pvmw)
 		}
 	}
 
-	arch_enter_lazy_mmu_mode();
+	lazy_mmu_mode_enable();
 
 	pte -= (addr - start) / PAGE_SIZE;
 
@@ -4313,7 +4313,7 @@ bool lru_gen_look_around(struct page_vma_mapped_walk *pvmw)
 
 	walk_update_folio(walk, last, gen, dirty);
 
-	arch_leave_lazy_mmu_mode();
+	lazy_mmu_mode_disable();
 
 	/* feedback from rmap walkers to page table walkers */
 	if (mm_state && suitable_to_scan(i, young))
-- 
2.47.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 15 08:36:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 08:36:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143263.1477020 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8wzM-0002Bk-VI; Wed, 15 Oct 2025 08:36:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143263.1477020; Wed, 15 Oct 2025 08:36:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8wzM-0002BX-PR; Wed, 15 Oct 2025 08:36:04 +0000
Received: by outflank-mailman (input) for mailman id 1143263;
 Wed, 15 Oct 2025 08:36:04 +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
 <SRS0=xhcp=4Y=arm.com=kevin.brodsky@srs-se1.protection.inumbo.net>)
 id 1v8wsR-0006Qy-7H
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 08:28:55 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id fbbbcee6-a9a0-11f0-980a-7dc792cee155;
 Wed, 15 Oct 2025 10:28:53 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id C3A1E2379;
 Wed, 15 Oct 2025 01:28:44 -0700 (PDT)
Received: from e123572-lin.arm.com (e123572-lin.cambridge.arm.com
 [10.1.194.54])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id BF2653F66E;
 Wed, 15 Oct 2025 01:28:47 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fbbbcee6-a9a0-11f0-980a-7dc792cee155
From: Kevin Brodsky <kevin.brodsky@arm.com>
To: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org,
	Kevin Brodsky <kevin.brodsky@arm.com>,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	Andreas Larsson <andreas@gaisler.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Borislav Petkov <bp@alien8.de>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	David Hildenbrand <david@redhat.com>,
	"David S. Miller" <davem@davemloft.net>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Ingo Molnar <mingo@redhat.com>,
	Jann Horn <jannh@google.com>,
	Juergen Gross <jgross@suse.com>,
	"Liam R. Howlett" <Liam.Howlett@oracle.com>,
	Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Michal Hocko <mhocko@suse.com>,
	Mike Rapoport <rppt@kernel.org>,
	Nicholas Piggin <npiggin@gmail.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Ryan Roberts <ryan.roberts@arm.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vlastimil Babka <vbabka@suse.cz>,
	Will Deacon <will@kernel.org>,
	Yeoreum Yun <yeoreum.yun@arm.com>,
	linux-arm-kernel@lists.infradead.org,
	linuxppc-dev@lists.ozlabs.org,
	sparclinux@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	x86@kernel.org
Subject: [PATCH v3 13/13] mm: introduce arch_wants_lazy_mmu_mode()
Date: Wed, 15 Oct 2025 09:27:27 +0100
Message-ID: <20251015082727.2395128-14-kevin.brodsky@arm.com>
X-Mailer: git-send-email 2.47.0
In-Reply-To: <20251015082727.2395128-1-kevin.brodsky@arm.com>
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

powerpc decides at runtime whether the lazy MMU mode should be used.

To avoid the overhead associated with managing
task_struct::lazy_mmu_state if the mode isn't used, introduce
arch_wants_lazy_mmu_mode() and bail out of lazy_mmu_mode_* if it
returns false. Add a default definition returning true, and an
appropriate implementation for powerpc.

Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
---
This patch seemed like a good idea to start with, but now I'm not so
sure that the churn added to the generic layer is worth it.

It provides a minor optimisation for just powerpc. x86 with XEN_PV also
chooses at runtime whether to implement lazy_mmu helpers or not, but
it doesn't fit this API so neatly and isn't handled here.
---
 .../include/asm/book3s/64/tlbflush-hash.h        | 11 ++++++-----
 include/linux/pgtable.h                          | 16 ++++++++++++----
 2 files changed, 18 insertions(+), 9 deletions(-)

diff --git a/arch/powerpc/include/asm/book3s/64/tlbflush-hash.h b/arch/powerpc/include/asm/book3s/64/tlbflush-hash.h
index bbc54690d374..a91b354cf87c 100644
--- a/arch/powerpc/include/asm/book3s/64/tlbflush-hash.h
+++ b/arch/powerpc/include/asm/book3s/64/tlbflush-hash.h
@@ -23,10 +23,14 @@ DECLARE_PER_CPU(struct ppc64_tlb_batch, ppc64_tlb_batch);
 
 extern void __flush_tlb_pending(struct ppc64_tlb_batch *batch);
 
+#define arch_wants_lazy_mmu_mode arch_wants_lazy_mmu_mode
+static inline bool arch_wants_lazy_mmu_mode(void)
+{
+	return !radix_enabled();
+}
+
 static inline void arch_enter_lazy_mmu_mode(void)
 {
-	if (radix_enabled())
-		return;
 	/*
 	 * apply_to_page_range can call us this preempt enabled when
 	 * operating on kernel page tables.
@@ -46,9 +50,6 @@ static inline void arch_flush_lazy_mmu_mode(void)
 
 static inline void arch_leave_lazy_mmu_mode(void)
 {
-	if (radix_enabled())
-		return;
-
 	arch_flush_lazy_mmu_mode();
 	preempt_enable();
 }
diff --git a/include/linux/pgtable.h b/include/linux/pgtable.h
index 718c9c788114..db4f388d2a16 100644
--- a/include/linux/pgtable.h
+++ b/include/linux/pgtable.h
@@ -261,11 +261,19 @@ static inline int pmd_dirty(pmd_t pmd)
  * currently enabled.
  */
 #ifdef CONFIG_ARCH_LAZY_MMU
+
+#ifndef arch_wants_lazy_mmu_mode
+static inline bool arch_wants_lazy_mmu_mode(void)
+{
+	return true;
+}
+#endif
+
 static inline void lazy_mmu_mode_enable(void)
 {
 	struct lazy_mmu_state *state = &current->lazy_mmu_state;
 
-	if (in_interrupt())
+	if (!arch_wants_lazy_mmu_mode() || in_interrupt())
 		return;
 
 	VM_BUG_ON(state->count == U8_MAX);
@@ -283,7 +291,7 @@ static inline void lazy_mmu_mode_disable(void)
 {
 	struct lazy_mmu_state *state = &current->lazy_mmu_state;
 
-	if (in_interrupt())
+	if (!arch_wants_lazy_mmu_mode() || in_interrupt())
 		return;
 
 	VM_BUG_ON(state->count == 0);
@@ -303,7 +311,7 @@ static inline void lazy_mmu_mode_pause(void)
 {
 	struct lazy_mmu_state *state = &current->lazy_mmu_state;
 
-	if (in_interrupt())
+	if (!arch_wants_lazy_mmu_mode() || in_interrupt())
 		return;
 
 	VM_WARN_ON(state->count == 0 || !state->enabled);
@@ -316,7 +324,7 @@ static inline void lazy_mmu_mode_resume(void)
 {
 	struct lazy_mmu_state *state = &current->lazy_mmu_state;
 
-	if (in_interrupt())
+	if (!arch_wants_lazy_mmu_mode() || in_interrupt())
 		return;
 
 	VM_WARN_ON(state->count == 0 || state->enabled);
-- 
2.47.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 15 08:36:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 08:36:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143266.1477031 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8wzO-0002PS-4a; Wed, 15 Oct 2025 08:36:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143266.1477031; Wed, 15 Oct 2025 08:36:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8wzN-0002PL-WB; Wed, 15 Oct 2025 08:36:05 +0000
Received: by outflank-mailman (input) for mailman id 1143266;
 Wed, 15 Oct 2025 08:36:04 +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
 <SRS0=xhcp=4Y=arm.com=kevin.brodsky@srs-se1.protection.inumbo.net>)
 id 1v8wrz-0005tz-PM
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 08:28:27 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id ebcddd7f-a9a0-11f0-9d15-b5c5bf9af7f9;
 Wed, 15 Oct 2025 10:28:26 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id E5B262308;
 Wed, 15 Oct 2025 01:28:17 -0700 (PDT)
Received: from e123572-lin.arm.com (e123572-lin.cambridge.arm.com
 [10.1.194.54])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 8ACDB3F66E;
 Wed, 15 Oct 2025 01:28:20 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ebcddd7f-a9a0-11f0-9d15-b5c5bf9af7f9
From: Kevin Brodsky <kevin.brodsky@arm.com>
To: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org,
	Kevin Brodsky <kevin.brodsky@arm.com>,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	Andreas Larsson <andreas@gaisler.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Borislav Petkov <bp@alien8.de>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	David Hildenbrand <david@redhat.com>,
	"David S. Miller" <davem@davemloft.net>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Ingo Molnar <mingo@redhat.com>,
	Jann Horn <jannh@google.com>,
	Juergen Gross <jgross@suse.com>,
	"Liam R. Howlett" <Liam.Howlett@oracle.com>,
	Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Michal Hocko <mhocko@suse.com>,
	Mike Rapoport <rppt@kernel.org>,
	Nicholas Piggin <npiggin@gmail.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Ryan Roberts <ryan.roberts@arm.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vlastimil Babka <vbabka@suse.cz>,
	Will Deacon <will@kernel.org>,
	Yeoreum Yun <yeoreum.yun@arm.com>,
	linux-arm-kernel@lists.infradead.org,
	linuxppc-dev@lists.ozlabs.org,
	sparclinux@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	x86@kernel.org
Subject: [PATCH v3 08/13] arm64: mm: replace TIF_LAZY_MMU with in_lazy_mmu_mode()
Date: Wed, 15 Oct 2025 09:27:22 +0100
Message-ID: <20251015082727.2395128-9-kevin.brodsky@arm.com>
X-Mailer: git-send-email 2.47.0
In-Reply-To: <20251015082727.2395128-1-kevin.brodsky@arm.com>
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The generic lazy_mmu layer now tracks whether a task is in lazy MMU
mode. As a result we no longer need a TIF flag for that purpose -
let's use the new in_lazy_mmu_mode() helper instead.

Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
---
 arch/arm64/include/asm/pgtable.h     | 16 +++-------------
 arch/arm64/include/asm/thread_info.h |  3 +--
 2 files changed, 4 insertions(+), 15 deletions(-)

diff --git a/arch/arm64/include/asm/pgtable.h b/arch/arm64/include/asm/pgtable.h
index f15ca4d62f09..944e512767db 100644
--- a/arch/arm64/include/asm/pgtable.h
+++ b/arch/arm64/include/asm/pgtable.h
@@ -62,30 +62,21 @@ static inline void emit_pte_barriers(void)
 
 static inline void queue_pte_barriers(void)
 {
-	unsigned long flags;
-
 	if (in_interrupt()) {
 		emit_pte_barriers();
 		return;
 	}
 
-	flags = read_thread_flags();
-
-	if (flags & BIT(TIF_LAZY_MMU)) {
-		/* Avoid the atomic op if already set. */
-		if (!(flags & BIT(TIF_LAZY_MMU_PENDING)))
-			set_thread_flag(TIF_LAZY_MMU_PENDING);
-	} else {
+	if (in_lazy_mmu_mode())
+		test_and_set_thread_flag(TIF_LAZY_MMU_PENDING);
+	else
 		emit_pte_barriers();
-	}
 }
 
 static inline void arch_enter_lazy_mmu_mode(void)
 {
 	if (in_interrupt())
 		return;
-
-	set_thread_flag(TIF_LAZY_MMU);
 }
 
 static inline void arch_flush_lazy_mmu_mode(void)
@@ -103,7 +94,6 @@ static inline void arch_leave_lazy_mmu_mode(void)
 		return;
 
 	arch_flush_lazy_mmu_mode();
-	clear_thread_flag(TIF_LAZY_MMU);
 }
 
 #ifdef CONFIG_TRANSPARENT_HUGEPAGE
diff --git a/arch/arm64/include/asm/thread_info.h b/arch/arm64/include/asm/thread_info.h
index f241b8601ebd..4ff8da0767d9 100644
--- a/arch/arm64/include/asm/thread_info.h
+++ b/arch/arm64/include/asm/thread_info.h
@@ -84,8 +84,7 @@ void arch_setup_new_exec(void);
 #define TIF_SME_VL_INHERIT	28	/* Inherit SME vl_onexec across exec */
 #define TIF_KERNEL_FPSTATE	29	/* Task is in a kernel mode FPSIMD section */
 #define TIF_TSC_SIGSEGV		30	/* SIGSEGV on counter-timer access */
-#define TIF_LAZY_MMU		31	/* Task in lazy mmu mode */
-#define TIF_LAZY_MMU_PENDING	32	/* Ops pending for lazy mmu mode exit */
+#define TIF_LAZY_MMU_PENDING	31	/* Ops pending for lazy mmu mode exit */
 
 #define _TIF_SIGPENDING		(1 << TIF_SIGPENDING)
 #define _TIF_NEED_RESCHED	(1 << TIF_NEED_RESCHED)
-- 
2.47.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 15 08:36:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 08:36:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143275.1477041 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8wzW-0002k5-Cs; Wed, 15 Oct 2025 08:36:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143275.1477041; Wed, 15 Oct 2025 08:36:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8wzW-0002jy-6g; Wed, 15 Oct 2025 08:36:14 +0000
Received: by outflank-mailman (input) for mailman id 1143275;
 Wed, 15 Oct 2025 08:36:12 +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
 <SRS0=xhcp=4Y=arm.com=kevin.brodsky@srs-se1.protection.inumbo.net>)
 id 1v8wsG-0006Qy-PT
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 08:28:44 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id f5688f5b-a9a0-11f0-980a-7dc792cee155;
 Wed, 15 Oct 2025 10:28:42 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 2EB672364;
 Wed, 15 Oct 2025 01:28:34 -0700 (PDT)
Received: from e123572-lin.arm.com (e123572-lin.cambridge.arm.com
 [10.1.194.54])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 2ADB43F66E;
 Wed, 15 Oct 2025 01:28:37 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f5688f5b-a9a0-11f0-980a-7dc792cee155
From: Kevin Brodsky <kevin.brodsky@arm.com>
To: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org,
	Kevin Brodsky <kevin.brodsky@arm.com>,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	Andreas Larsson <andreas@gaisler.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Borislav Petkov <bp@alien8.de>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	David Hildenbrand <david@redhat.com>,
	"David S. Miller" <davem@davemloft.net>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Ingo Molnar <mingo@redhat.com>,
	Jann Horn <jannh@google.com>,
	Juergen Gross <jgross@suse.com>,
	"Liam R. Howlett" <Liam.Howlett@oracle.com>,
	Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Michal Hocko <mhocko@suse.com>,
	Mike Rapoport <rppt@kernel.org>,
	Nicholas Piggin <npiggin@gmail.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Ryan Roberts <ryan.roberts@arm.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vlastimil Babka <vbabka@suse.cz>,
	Will Deacon <will@kernel.org>,
	Yeoreum Yun <yeoreum.yun@arm.com>,
	linux-arm-kernel@lists.infradead.org,
	linuxppc-dev@lists.ozlabs.org,
	sparclinux@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	x86@kernel.org
Subject: [PATCH v3 11/13] x86/xen: use lazy_mmu_state when context-switching
Date: Wed, 15 Oct 2025 09:27:25 +0100
Message-ID: <20251015082727.2395128-12-kevin.brodsky@arm.com>
X-Mailer: git-send-email 2.47.0
In-Reply-To: <20251015082727.2395128-1-kevin.brodsky@arm.com>
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

We currently set a TIF flag when scheduling out a task that is in
lazy MMU mode, in order to restore it when the task is scheduled
again.

The generic lazy_mmu layer now tracks whether a task is in lazy MMU
mode in task_struct::lazy_mmu_state. We can therefore check that
state when switching to the new task, instead of using a separate
TIF flag.

Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
---
 arch/x86/include/asm/thread_info.h | 4 +---
 arch/x86/xen/enlighten_pv.c        | 3 +--
 2 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/arch/x86/include/asm/thread_info.h b/arch/x86/include/asm/thread_info.h
index e71e0e8362ed..0067684afb5b 100644
--- a/arch/x86/include/asm/thread_info.h
+++ b/arch/x86/include/asm/thread_info.h
@@ -100,8 +100,7 @@ struct thread_info {
 #define TIF_FORCED_TF		24	/* true if TF in eflags artificially */
 #define TIF_SINGLESTEP		25	/* reenable singlestep on user return*/
 #define TIF_BLOCKSTEP		26	/* set when we want DEBUGCTLMSR_BTF */
-#define TIF_LAZY_MMU_UPDATES	27	/* task is updating the mmu lazily */
-#define TIF_ADDR32		28	/* 32-bit address space on 64 bits */
+#define TIF_ADDR32		27	/* 32-bit address space on 64 bits */
 
 #define _TIF_SSBD		BIT(TIF_SSBD)
 #define _TIF_SPEC_IB		BIT(TIF_SPEC_IB)
@@ -114,7 +113,6 @@ struct thread_info {
 #define _TIF_FORCED_TF		BIT(TIF_FORCED_TF)
 #define _TIF_BLOCKSTEP		BIT(TIF_BLOCKSTEP)
 #define _TIF_SINGLESTEP		BIT(TIF_SINGLESTEP)
-#define _TIF_LAZY_MMU_UPDATES	BIT(TIF_LAZY_MMU_UPDATES)
 #define _TIF_ADDR32		BIT(TIF_ADDR32)
 
 /* flags to check in __switch_to() */
diff --git a/arch/x86/xen/enlighten_pv.c b/arch/x86/xen/enlighten_pv.c
index 4806cc28d7ca..9fabe83e7546 100644
--- a/arch/x86/xen/enlighten_pv.c
+++ b/arch/x86/xen/enlighten_pv.c
@@ -426,7 +426,6 @@ static void xen_start_context_switch(struct task_struct *prev)
 
 	if (this_cpu_read(xen_lazy_mode) == XEN_LAZY_MMU) {
 		arch_leave_lazy_mmu_mode();
-		set_ti_thread_flag(task_thread_info(prev), TIF_LAZY_MMU_UPDATES);
 	}
 	enter_lazy(XEN_LAZY_CPU);
 }
@@ -437,7 +436,7 @@ static void xen_end_context_switch(struct task_struct *next)
 
 	xen_mc_flush();
 	leave_lazy(XEN_LAZY_CPU);
-	if (test_and_clear_ti_thread_flag(task_thread_info(next), TIF_LAZY_MMU_UPDATES))
+	if (next->lazy_mmu_state.enabled)
 		arch_enter_lazy_mmu_mode();
 }
 
-- 
2.47.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 15 08:36:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 08:36:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143277.1477049 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8wzX-0002zF-H0; Wed, 15 Oct 2025 08:36:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143277.1477049; Wed, 15 Oct 2025 08:36:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8wzX-0002z2-DF; Wed, 15 Oct 2025 08:36:15 +0000
Received: by outflank-mailman (input) for mailman id 1143277;
 Wed, 15 Oct 2025 08:36: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
 <SRS0=xhcp=4Y=arm.com=kevin.brodsky@srs-se1.protection.inumbo.net>)
 id 1v8wsL-0006Qy-Pl
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 08:28:49 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id f8864424-a9a0-11f0-980a-7dc792cee155;
 Wed, 15 Oct 2025 10:28:48 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 78DF9236D;
 Wed, 15 Oct 2025 01:28:39 -0700 (PDT)
Received: from e123572-lin.arm.com (e123572-lin.cambridge.arm.com
 [10.1.194.54])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 754613F66E;
 Wed, 15 Oct 2025 01:28:42 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f8864424-a9a0-11f0-980a-7dc792cee155
From: Kevin Brodsky <kevin.brodsky@arm.com>
To: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org,
	Kevin Brodsky <kevin.brodsky@arm.com>,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	Andreas Larsson <andreas@gaisler.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Borislav Petkov <bp@alien8.de>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	David Hildenbrand <david@redhat.com>,
	"David S. Miller" <davem@davemloft.net>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Ingo Molnar <mingo@redhat.com>,
	Jann Horn <jannh@google.com>,
	Juergen Gross <jgross@suse.com>,
	"Liam R. Howlett" <Liam.Howlett@oracle.com>,
	Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Michal Hocko <mhocko@suse.com>,
	Mike Rapoport <rppt@kernel.org>,
	Nicholas Piggin <npiggin@gmail.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Ryan Roberts <ryan.roberts@arm.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vlastimil Babka <vbabka@suse.cz>,
	Will Deacon <will@kernel.org>,
	Yeoreum Yun <yeoreum.yun@arm.com>,
	linux-arm-kernel@lists.infradead.org,
	linuxppc-dev@lists.ozlabs.org,
	sparclinux@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	x86@kernel.org
Subject: [PATCH v3 12/13] mm: bail out of lazy_mmu_mode_* in interrupt context
Date: Wed, 15 Oct 2025 09:27:26 +0100
Message-ID: <20251015082727.2395128-13-kevin.brodsky@arm.com>
X-Mailer: git-send-email 2.47.0
In-Reply-To: <20251015082727.2395128-1-kevin.brodsky@arm.com>
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The lazy MMU mode cannot be used in interrupt context. This is
documented in <linux/pgtable.h>, but isn't consistently handled
across architectures.

arm64 ensures that calls to lazy_mmu_mode_* have no effect in
interrupt context, because such calls do occur in certain
configurations - see commit b81c688426a9 ("arm64/mm: Disable barrier
batching in interrupt contexts"). Other architectures do not check
this situation, most likely because it hasn't occurred so far.

Both arm64 and x86/Xen also ensure that any lazy MMU optimisation is
disabled while in interrupt mode (see queue_pte_barriers() and
xen_get_lazy_mode() respectively).

Let's handle this in the new generic lazy_mmu layer, in the same
fashion as arm64: bail out of lazy_mmu_mode_* if in_interrupt(), and
have in_lazy_mmu_mode() return false to disable any optimisation.
Also remove the arm64 handling that is now redundant; x86/Xen has
its own internal tracking so it is left unchanged.

Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
---
 arch/arm64/include/asm/pgtable.h | 17 +----------------
 include/linux/pgtable.h          | 16 ++++++++++++++--
 include/linux/sched.h            |  3 +++
 3 files changed, 18 insertions(+), 18 deletions(-)

diff --git a/arch/arm64/include/asm/pgtable.h b/arch/arm64/include/asm/pgtable.h
index 944e512767db..a37f417c30be 100644
--- a/arch/arm64/include/asm/pgtable.h
+++ b/arch/arm64/include/asm/pgtable.h
@@ -62,37 +62,22 @@ static inline void emit_pte_barriers(void)
 
 static inline void queue_pte_barriers(void)
 {
-	if (in_interrupt()) {
-		emit_pte_barriers();
-		return;
-	}
-
 	if (in_lazy_mmu_mode())
 		test_and_set_thread_flag(TIF_LAZY_MMU_PENDING);
 	else
 		emit_pte_barriers();
 }
 
-static inline void arch_enter_lazy_mmu_mode(void)
-{
-	if (in_interrupt())
-		return;
-}
+static inline void arch_enter_lazy_mmu_mode(void) {}
 
 static inline void arch_flush_lazy_mmu_mode(void)
 {
-	if (in_interrupt())
-		return;
-
 	if (test_and_clear_thread_flag(TIF_LAZY_MMU_PENDING))
 		emit_pte_barriers();
 }
 
 static inline void arch_leave_lazy_mmu_mode(void)
 {
-	if (in_interrupt())
-		return;
-
 	arch_flush_lazy_mmu_mode();
 }
 
diff --git a/include/linux/pgtable.h b/include/linux/pgtable.h
index 269225a733de..718c9c788114 100644
--- a/include/linux/pgtable.h
+++ b/include/linux/pgtable.h
@@ -228,8 +228,8 @@ static inline int pmd_dirty(pmd_t pmd)
  * of the lazy mode. So the implementation must assume preemption may be enabled
  * and cpu migration is possible; it must take steps to be robust against this.
  * (In practice, for user PTE updates, the appropriate page table lock(s) are
- * held, but for kernel PTE updates, no lock is held). The mode cannot be used
- * in interrupt context.
+ * held, but for kernel PTE updates, no lock is held). The mode is disabled
+ * in interrupt context and calls to the lazy_mmu API have no effect.
  *
  * The lazy MMU mode is enabled for a given block of code using:
  *
@@ -265,6 +265,9 @@ static inline void lazy_mmu_mode_enable(void)
 {
 	struct lazy_mmu_state *state = &current->lazy_mmu_state;
 
+	if (in_interrupt())
+		return;
+
 	VM_BUG_ON(state->count == U8_MAX);
 	/* enable() must not be called while paused */
 	VM_WARN_ON(state->count > 0 && !state->enabled);
@@ -280,6 +283,9 @@ static inline void lazy_mmu_mode_disable(void)
 {
 	struct lazy_mmu_state *state = &current->lazy_mmu_state;
 
+	if (in_interrupt())
+		return;
+
 	VM_BUG_ON(state->count == 0);
 	VM_WARN_ON(!state->enabled);
 
@@ -297,6 +303,9 @@ static inline void lazy_mmu_mode_pause(void)
 {
 	struct lazy_mmu_state *state = &current->lazy_mmu_state;
 
+	if (in_interrupt())
+		return;
+
 	VM_WARN_ON(state->count == 0 || !state->enabled);
 
 	state->enabled = false;
@@ -307,6 +316,9 @@ static inline void lazy_mmu_mode_resume(void)
 {
 	struct lazy_mmu_state *state = &current->lazy_mmu_state;
 
+	if (in_interrupt())
+		return;
+
 	VM_WARN_ON(state->count == 0 || state->enabled);
 
 	arch_enter_lazy_mmu_mode();
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 2862d8bf2160..beb3e6cfddd9 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -1731,6 +1731,9 @@ static inline char task_state_to_char(struct task_struct *tsk)
 #ifdef CONFIG_ARCH_LAZY_MMU
 static inline bool in_lazy_mmu_mode(void)
 {
+	if (in_interrupt())
+		return false;
+
 	return current->lazy_mmu_state.enabled;
 }
 #else
-- 
2.47.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 15 08:36:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 08:36:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143280.1477055 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8wzX-00032y-RI; Wed, 15 Oct 2025 08:36:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143280.1477055; Wed, 15 Oct 2025 08:36:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8wzX-00031e-MA; Wed, 15 Oct 2025 08:36:15 +0000
Received: by outflank-mailman (input) for mailman id 1143280;
 Wed, 15 Oct 2025 08:36:14 +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
 <SRS0=xhcp=4Y=arm.com=kevin.brodsky@srs-se1.protection.inumbo.net>)
 id 1v8wsA-0005tz-3i
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 08:28:38 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id f23dbf0d-a9a0-11f0-9d15-b5c5bf9af7f9;
 Wed, 15 Oct 2025 10:28:37 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id D57AA2328;
 Wed, 15 Oct 2025 01:28:28 -0700 (PDT)
Received: from e123572-lin.arm.com (e123572-lin.cambridge.arm.com
 [10.1.194.54])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 8251F3F66E;
 Wed, 15 Oct 2025 01:28:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f23dbf0d-a9a0-11f0-9d15-b5c5bf9af7f9
From: Kevin Brodsky <kevin.brodsky@arm.com>
To: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org,
	Kevin Brodsky <kevin.brodsky@arm.com>,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	Andreas Larsson <andreas@gaisler.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Borislav Petkov <bp@alien8.de>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	David Hildenbrand <david@redhat.com>,
	"David S. Miller" <davem@davemloft.net>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Ingo Molnar <mingo@redhat.com>,
	Jann Horn <jannh@google.com>,
	Juergen Gross <jgross@suse.com>,
	"Liam R. Howlett" <Liam.Howlett@oracle.com>,
	Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Michal Hocko <mhocko@suse.com>,
	Mike Rapoport <rppt@kernel.org>,
	Nicholas Piggin <npiggin@gmail.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Ryan Roberts <ryan.roberts@arm.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vlastimil Babka <vbabka@suse.cz>,
	Will Deacon <will@kernel.org>,
	Yeoreum Yun <yeoreum.yun@arm.com>,
	linux-arm-kernel@lists.infradead.org,
	linuxppc-dev@lists.ozlabs.org,
	sparclinux@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	x86@kernel.org
Subject: [PATCH v3 10/13] sparc/mm: replace batch->active with in_lazy_mmu_mode()
Date: Wed, 15 Oct 2025 09:27:24 +0100
Message-ID: <20251015082727.2395128-11-kevin.brodsky@arm.com>
X-Mailer: git-send-email 2.47.0
In-Reply-To: <20251015082727.2395128-1-kevin.brodsky@arm.com>
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The generic lazy_mmu layer now tracks whether a task is in lazy MMU
mode. As a result we no longer need to track whether the per-CPU TLB
batch struct is active - we know it is if in_lazy_mmu_mode() returns
true.

Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
---
 arch/sparc/include/asm/tlbflush_64.h | 1 -
 arch/sparc/mm/tlb.c                  | 9 +--------
 2 files changed, 1 insertion(+), 9 deletions(-)

diff --git a/arch/sparc/include/asm/tlbflush_64.h b/arch/sparc/include/asm/tlbflush_64.h
index 4e1036728e2f..6133306ba59a 100644
--- a/arch/sparc/include/asm/tlbflush_64.h
+++ b/arch/sparc/include/asm/tlbflush_64.h
@@ -12,7 +12,6 @@ struct tlb_batch {
 	unsigned int hugepage_shift;
 	struct mm_struct *mm;
 	unsigned long tlb_nr;
-	unsigned long active;
 	unsigned long vaddrs[TLB_BATCH_NR];
 };
 
diff --git a/arch/sparc/mm/tlb.c b/arch/sparc/mm/tlb.c
index 7b5dfcdb1243..879e22c86e5c 100644
--- a/arch/sparc/mm/tlb.c
+++ b/arch/sparc/mm/tlb.c
@@ -52,11 +52,7 @@ void flush_tlb_pending(void)
 
 void arch_enter_lazy_mmu_mode(void)
 {
-	struct tlb_batch *tb;
-
 	preempt_disable();
-	tb = this_cpu_ptr(&tlb_batch);
-	tb->active = 1;
 }
 
 void arch_flush_lazy_mmu_mode(void)
@@ -69,10 +65,7 @@ void arch_flush_lazy_mmu_mode(void)
 
 void arch_leave_lazy_mmu_mode(void)
 {
-	struct tlb_batch *tb = this_cpu_ptr(&tlb_batch);
-
 	arch_flush_lazy_mmu_mode();
-	tb->active = 0;
 	preempt_enable();
 }
 
@@ -93,7 +86,7 @@ static void tlb_batch_add_one(struct mm_struct *mm, unsigned long vaddr,
 		nr = 0;
 	}
 
-	if (!tb->active) {
+	if (!in_lazy_mmu_mode()) {
 		flush_tsb_user_page(mm, vaddr, hugepage_shift);
 		global_flush_tlb_page(mm, vaddr);
 		goto out;
-- 
2.47.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 15 08:36:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 08:36:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143286.1477070 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8wzc-0003hQ-BD; Wed, 15 Oct 2025 08:36:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143286.1477070; Wed, 15 Oct 2025 08:36:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8wzc-0003h5-6H; Wed, 15 Oct 2025 08:36:20 +0000
Received: by outflank-mailman (input) for mailman id 1143286;
 Wed, 15 Oct 2025 08:36:19 +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
 <SRS0=xhcp=4Y=arm.com=kevin.brodsky@srs-se1.protection.inumbo.net>)
 id 1v8wrt-0005tz-Qa
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 08:28:21 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id e8522646-a9a0-11f0-9d15-b5c5bf9af7f9;
 Wed, 15 Oct 2025 10:28:20 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 44DD11A32;
 Wed, 15 Oct 2025 01:28:12 -0700 (PDT)
Received: from e123572-lin.arm.com (e123572-lin.cambridge.arm.com
 [10.1.194.54])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 3FFB93F66E;
 Wed, 15 Oct 2025 01:28:15 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e8522646-a9a0-11f0-9d15-b5c5bf9af7f9
From: Kevin Brodsky <kevin.brodsky@arm.com>
To: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org,
	Kevin Brodsky <kevin.brodsky@arm.com>,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	Andreas Larsson <andreas@gaisler.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Borislav Petkov <bp@alien8.de>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	David Hildenbrand <david@redhat.com>,
	"David S. Miller" <davem@davemloft.net>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Ingo Molnar <mingo@redhat.com>,
	Jann Horn <jannh@google.com>,
	Juergen Gross <jgross@suse.com>,
	"Liam R. Howlett" <Liam.Howlett@oracle.com>,
	Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Michal Hocko <mhocko@suse.com>,
	Mike Rapoport <rppt@kernel.org>,
	Nicholas Piggin <npiggin@gmail.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Ryan Roberts <ryan.roberts@arm.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vlastimil Babka <vbabka@suse.cz>,
	Will Deacon <will@kernel.org>,
	Yeoreum Yun <yeoreum.yun@arm.com>,
	linux-arm-kernel@lists.infradead.org,
	linuxppc-dev@lists.ozlabs.org,
	sparclinux@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	x86@kernel.org
Subject: [PATCH v3 07/13] mm: enable lazy_mmu sections to nest
Date: Wed, 15 Oct 2025 09:27:21 +0100
Message-ID: <20251015082727.2395128-8-kevin.brodsky@arm.com>
X-Mailer: git-send-email 2.47.0
In-Reply-To: <20251015082727.2395128-1-kevin.brodsky@arm.com>
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Despite recent efforts to prevent lazy_mmu sections from nesting, it
remains difficult to ensure that it never occurs - and in fact it
does occur on arm64 in certain situations (CONFIG_DEBUG_PAGEALLOC).
Commit 1ef3095b1405 ("arm64/mm: Permit lazy_mmu_mode to be nested")
made nesting tolerable on arm64, but without truly supporting it:
the inner call to leave() disables the batching optimisation before
the outer section ends.

This patch actually enables lazy_mmu sections to nest by tracking
the nesting level in task_struct, in a similar fashion to e.g.
pagefault_{enable,disable}(). This is fully handled by the generic
lazy_mmu helpers that were recently introduced.

lazy_mmu sections were not initially intended to nest, so we need to
clarify the semantics w.r.t. the arch_*_lazy_mmu_mode() callbacks.
This patch takes the following approach:

* The outermost calls to lazy_mmu_mode_{enable,disable}() trigger
  calls to arch_{enter,leave}_lazy_mmu_mode() - this is unchanged.

* Nested calls to lazy_mmu_mode_{enable,disable}() are not forwarded
  to the arch via arch_{enter,leave} - lazy MMU remains enabled so
  the assumption is that these callbacks are not relevant. However,
  existing code may rely on a call to disable() to flush any batched
  state, regardless of nesting. arch_flush_lazy_mmu_mode() is
  therefore called in that situation.

A separate interface was recently introduced to temporarily pause
the lazy MMU mode: lazy_mmu_mode_{pause,resume}(). pause() fully
exits the mode *regardless of the nesting level*, and resume()
restores the mode at the same nesting level.

Whether the mode is actually enabled or not at any point is tracked
by a separate "enabled" field in task_struct; this makes it possible
to check invariants in the generic API, and to expose a new
in_lazy_mmu_mode() helper to replace the various ways arch's
currently track whether the mode is enabled (this will be done in
later patches).

In summary (count/enabled represent the values *after* the call):

lazy_mmu_mode_enable()		-> arch_enter()	    count=1 enabled=1
    lazy_mmu_mode_enable()	-> Ã¸		    count=2 enabled=1
	lazy_mmu_mode_pause()	-> arch_leave()     count=2 enabled=0
	lazy_mmu_mode_resume()	-> arch_enter()     count=2 enabled=1
    lazy_mmu_mode_disable()	-> arch_flush()     count=1 enabled=1
lazy_mmu_mode_disable()		-> arch_leave()     count=0 enabled=0

Note: in_lazy_mmu_mode() is added to <linux/sched.h> to allow arch
headers included by <linux/pgtable.h> to use it.

Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
---
Alexander Gordeev suggested that a future optimisation may need
lazy_mmu_mode_{pause,resume}() to call distinct arch callbacks [1]. For
now arch_{leave,enter}() are called directly, but introducing new arch
callbacks should be straightforward.

[1] https://lore.kernel.org/all/5a0818bb-75d4-47df-925c-0102f7d598f4-agordeev@linux.ibm.com/
---
 arch/arm64/include/asm/pgtable.h | 12 ------
 include/linux/mm_types_task.h    |  5 +++
 include/linux/pgtable.h          | 69 ++++++++++++++++++++++++++++++--
 include/linux/sched.h            | 16 ++++++++
 4 files changed, 86 insertions(+), 16 deletions(-)

diff --git a/arch/arm64/include/asm/pgtable.h b/arch/arm64/include/asm/pgtable.h
index e3cbb10288c4..f15ca4d62f09 100644
--- a/arch/arm64/include/asm/pgtable.h
+++ b/arch/arm64/include/asm/pgtable.h
@@ -82,18 +82,6 @@ static inline void queue_pte_barriers(void)
 
 static inline void arch_enter_lazy_mmu_mode(void)
 {
-	/*
-	 * lazy_mmu_mode is not supposed to permit nesting. But in practice this
-	 * does happen with CONFIG_DEBUG_PAGEALLOC, where a page allocation
-	 * inside a lazy_mmu_mode section (such as zap_pte_range()) will change
-	 * permissions on the linear map with apply_to_page_range(), which
-	 * re-enters lazy_mmu_mode. So we tolerate nesting in our
-	 * implementation. The first call to arch_leave_lazy_mmu_mode() will
-	 * flush and clear the flag such that the remainder of the work in the
-	 * outer nest behaves as if outside of lazy mmu mode. This is safe and
-	 * keeps tracking simple.
-	 */
-
 	if (in_interrupt())
 		return;
 
diff --git a/include/linux/mm_types_task.h b/include/linux/mm_types_task.h
index a82aa80c0ba4..2ff83b85fef0 100644
--- a/include/linux/mm_types_task.h
+++ b/include/linux/mm_types_task.h
@@ -88,4 +88,9 @@ struct tlbflush_unmap_batch {
 #endif
 };
 
+struct lazy_mmu_state {
+	u8 count;
+	bool enabled;
+};
+
 #endif /* _LINUX_MM_TYPES_TASK_H */
diff --git a/include/linux/pgtable.h b/include/linux/pgtable.h
index 194b2c3e7576..269225a733de 100644
--- a/include/linux/pgtable.h
+++ b/include/linux/pgtable.h
@@ -228,28 +228,89 @@ static inline int pmd_dirty(pmd_t pmd)
  * of the lazy mode. So the implementation must assume preemption may be enabled
  * and cpu migration is possible; it must take steps to be robust against this.
  * (In practice, for user PTE updates, the appropriate page table lock(s) are
- * held, but for kernel PTE updates, no lock is held). Nesting is not permitted
- * and the mode cannot be used in interrupt context.
+ * held, but for kernel PTE updates, no lock is held). The mode cannot be used
+ * in interrupt context.
+ *
+ * The lazy MMU mode is enabled for a given block of code using:
+ *
+ *   lazy_mmu_mode_enable();
+ *   <code>
+ *   lazy_mmu_mode_disable();
+ *
+ * Nesting is permitted: <code> may itself use an enable()/disable() pair.
+ * A nested call to enable() has no functional effect; however disable() causes
+ * any batched architectural state to be flushed regardless of nesting. After a
+ * call to disable(), the caller can therefore rely on all previous page table
+ * modifications to have taken effect, but the lazy MMU mode may still be
+ * enabled.
+ *
+ * In certain cases, it may be desirable to temporarily pause the lazy MMU mode.
+ * This can be done using:
+ *
+ *   lazy_mmu_mode_pause();
+ *   <code>
+ *   lazy_mmu_mode_resume();
+ *
+ * This sequence must only be used if the lazy MMU mode is already enabled.
+ * pause() ensures that the mode is exited regardless of the nesting level;
+ * resume() re-enters the mode at the same nesting level. <code> must not modify
+ * the lazy MMU state (i.e. it must not call any of the lazy_mmu_mode_*
+ * helpers).
+ *
+ * in_lazy_mmu_mode() can be used to check whether the lazy MMU mode is
+ * currently enabled.
  */
 #ifdef CONFIG_ARCH_LAZY_MMU
 static inline void lazy_mmu_mode_enable(void)
 {
-	arch_enter_lazy_mmu_mode();
+	struct lazy_mmu_state *state = &current->lazy_mmu_state;
+
+	VM_BUG_ON(state->count == U8_MAX);
+	/* enable() must not be called while paused */
+	VM_WARN_ON(state->count > 0 && !state->enabled);
+
+	if (state->count == 0) {
+		arch_enter_lazy_mmu_mode();
+		state->enabled = true;
+	}
+	++state->count;
 }
 
 static inline void lazy_mmu_mode_disable(void)
 {
-	arch_leave_lazy_mmu_mode();
+	struct lazy_mmu_state *state = &current->lazy_mmu_state;
+
+	VM_BUG_ON(state->count == 0);
+	VM_WARN_ON(!state->enabled);
+
+	--state->count;
+	if (state->count == 0) {
+		state->enabled = false;
+		arch_leave_lazy_mmu_mode();
+	} else {
+		/* Exiting a nested section */
+		arch_flush_lazy_mmu_mode();
+	}
 }
 
 static inline void lazy_mmu_mode_pause(void)
 {
+	struct lazy_mmu_state *state = &current->lazy_mmu_state;
+
+	VM_WARN_ON(state->count == 0 || !state->enabled);
+
+	state->enabled = false;
 	arch_leave_lazy_mmu_mode();
 }
 
 static inline void lazy_mmu_mode_resume(void)
 {
+	struct lazy_mmu_state *state = &current->lazy_mmu_state;
+
+	VM_WARN_ON(state->count == 0 || state->enabled);
+
 	arch_enter_lazy_mmu_mode();
+	state->enabled = true;
 }
 #else
 static inline void lazy_mmu_mode_enable(void) {}
diff --git a/include/linux/sched.h b/include/linux/sched.h
index cbb7340c5866..2862d8bf2160 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -1441,6 +1441,10 @@ struct task_struct {
 
 	struct page_frag		task_frag;
 
+#ifdef CONFIG_ARCH_LAZY_MMU
+	struct lazy_mmu_state		lazy_mmu_state;
+#endif
+
 #ifdef CONFIG_TASK_DELAY_ACCT
 	struct task_delay_info		*delays;
 #endif
@@ -1724,6 +1728,18 @@ static inline char task_state_to_char(struct task_struct *tsk)
 	return task_index_to_char(task_state_index(tsk));
 }
 
+#ifdef CONFIG_ARCH_LAZY_MMU
+static inline bool in_lazy_mmu_mode(void)
+{
+	return current->lazy_mmu_state.enabled;
+}
+#else
+static inline bool in_lazy_mmu_mode(void)
+{
+	return false;
+}
+#endif
+
 extern struct pid *cad_pid;
 
 /*
-- 
2.47.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 15 08:36:28 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 08:36:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143308.1477080 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8wzk-0004Q6-KF; Wed, 15 Oct 2025 08:36:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143308.1477080; Wed, 15 Oct 2025 08:36:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8wzk-0004P0-Fs; Wed, 15 Oct 2025 08:36:28 +0000
Received: by outflank-mailman (input) for mailman id 1143308;
 Wed, 15 Oct 2025 08:36:27 +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
 <SRS0=xhcp=4Y=arm.com=kevin.brodsky@srs-se1.protection.inumbo.net>)
 id 1v8ws4-0005tz-R3
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 08:28:32 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id eee4abdc-a9a0-11f0-9d15-b5c5bf9af7f9;
 Wed, 15 Oct 2025 10:28:31 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 3C10E2309;
 Wed, 15 Oct 2025 01:28:23 -0700 (PDT)
Received: from e123572-lin.arm.com (e123572-lin.cambridge.arm.com
 [10.1.194.54])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 37F513F66E;
 Wed, 15 Oct 2025 01:28:26 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eee4abdc-a9a0-11f0-9d15-b5c5bf9af7f9
From: Kevin Brodsky <kevin.brodsky@arm.com>
To: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org,
	Kevin Brodsky <kevin.brodsky@arm.com>,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	Andreas Larsson <andreas@gaisler.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Borislav Petkov <bp@alien8.de>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	David Hildenbrand <david@redhat.com>,
	"David S. Miller" <davem@davemloft.net>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Ingo Molnar <mingo@redhat.com>,
	Jann Horn <jannh@google.com>,
	Juergen Gross <jgross@suse.com>,
	"Liam R. Howlett" <Liam.Howlett@oracle.com>,
	Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Michal Hocko <mhocko@suse.com>,
	Mike Rapoport <rppt@kernel.org>,
	Nicholas Piggin <npiggin@gmail.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Ryan Roberts <ryan.roberts@arm.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vlastimil Babka <vbabka@suse.cz>,
	Will Deacon <will@kernel.org>,
	Yeoreum Yun <yeoreum.yun@arm.com>,
	linux-arm-kernel@lists.infradead.org,
	linuxppc-dev@lists.ozlabs.org,
	sparclinux@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	x86@kernel.org
Subject: [PATCH v3 09/13] powerpc/mm: replace batch->active with in_lazy_mmu_mode()
Date: Wed, 15 Oct 2025 09:27:23 +0100
Message-ID: <20251015082727.2395128-10-kevin.brodsky@arm.com>
X-Mailer: git-send-email 2.47.0
In-Reply-To: <20251015082727.2395128-1-kevin.brodsky@arm.com>
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The generic lazy_mmu layer now tracks whether a task is in lazy MMU
mode. As a result we no longer need to track whether the per-CPU TLB
batch struct is active - we know it is if in_lazy_mmu_mode() returns
true.

Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
---
 arch/powerpc/include/asm/book3s/64/tlbflush-hash.h | 9 ---------
 arch/powerpc/mm/book3s64/hash_tlb.c                | 2 +-
 2 files changed, 1 insertion(+), 10 deletions(-)

diff --git a/arch/powerpc/include/asm/book3s/64/tlbflush-hash.h b/arch/powerpc/include/asm/book3s/64/tlbflush-hash.h
index 623a8a8b2d0e..bbc54690d374 100644
--- a/arch/powerpc/include/asm/book3s/64/tlbflush-hash.h
+++ b/arch/powerpc/include/asm/book3s/64/tlbflush-hash.h
@@ -12,7 +12,6 @@
 #define PPC64_TLB_BATCH_NR 192
 
 struct ppc64_tlb_batch {
-	int			active;
 	unsigned long		index;
 	struct mm_struct	*mm;
 	real_pte_t		pte[PPC64_TLB_BATCH_NR];
@@ -26,8 +25,6 @@ extern void __flush_tlb_pending(struct ppc64_tlb_batch *batch);
 
 static inline void arch_enter_lazy_mmu_mode(void)
 {
-	struct ppc64_tlb_batch *batch;
-
 	if (radix_enabled())
 		return;
 	/*
@@ -35,8 +32,6 @@ static inline void arch_enter_lazy_mmu_mode(void)
 	 * operating on kernel page tables.
 	 */
 	preempt_disable();
-	batch = this_cpu_ptr(&ppc64_tlb_batch);
-	batch->active = 1;
 }
 
 static inline void arch_flush_lazy_mmu_mode(void)
@@ -51,14 +46,10 @@ static inline void arch_flush_lazy_mmu_mode(void)
 
 static inline void arch_leave_lazy_mmu_mode(void)
 {
-	struct ppc64_tlb_batch *batch;
-
 	if (radix_enabled())
 		return;
-	batch = this_cpu_ptr(&ppc64_tlb_batch);
 
 	arch_flush_lazy_mmu_mode();
-	batch->active = 0;
 	preempt_enable();
 }
 
diff --git a/arch/powerpc/mm/book3s64/hash_tlb.c b/arch/powerpc/mm/book3s64/hash_tlb.c
index 787f7a0e27f0..72b83f582b6d 100644
--- a/arch/powerpc/mm/book3s64/hash_tlb.c
+++ b/arch/powerpc/mm/book3s64/hash_tlb.c
@@ -100,7 +100,7 @@ void hpte_need_flush(struct mm_struct *mm, unsigned long addr,
 	 * Check if we have an active batch on this CPU. If not, just
 	 * flush now and return.
 	 */
-	if (!batch->active) {
+	if (!in_lazy_mmu_mode()) {
 		flush_hash_page(vpn, rpte, psize, ssize, mm_is_thread_local(mm));
 		put_cpu_var(ppc64_tlb_batch);
 		return;
-- 
2.47.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 15 08:54:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 08:54:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143370.1477089 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8xH5-0008Je-12; Wed, 15 Oct 2025 08:54:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143370.1477089; Wed, 15 Oct 2025 08:54:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8xH4-0008JX-Ug; Wed, 15 Oct 2025 08:54:22 +0000
Received: by outflank-mailman (input) for mailman id 1143370;
 Wed, 15 Oct 2025 08:54:21 +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 <SRS0=toq2=4Y=intel.com=lkp@srs-se1.protection.inumbo.net>)
 id 1v8xH2-0008JR-Su
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 08:54:21 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.16])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 879fe1cc-a9a4-11f0-980a-7dc792cee155;
 Wed, 15 Oct 2025 10:54:18 +0200 (CEST)
Received: from fmviesa001.fm.intel.com ([10.60.135.141])
 by fmvoesa110.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 15 Oct 2025 01:54:15 -0700
Received: from lkp-server02.sh.intel.com (HELO 66d7546c76b2) ([10.239.97.151])
 by fmviesa001.fm.intel.com with ESMTP; 15 Oct 2025 01:54:10 -0700
Received: from kbuild by 66d7546c76b2 with local (Exim 4.96)
 (envelope-from <lkp@intel.com>) id 1v8xGq-0003eZ-0P;
 Wed, 15 Oct 2025 08:54:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 879fe1cc-a9a4-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1760518458; x=1792054458;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=+BB5rvJB9mUeya+4DU9TUHtTCg+zs/03Q0ZHCN0cD80=;
  b=Cmbogn/Rb1mK3C6PtK5ClL/jk0i/O2SJIOaY17CHgq/J8JrRU1cpbRA1
   J2Zt7+QwUoi6s6bgcTFAwKZEpU2Jx9Z+oyZTWBF/Bt8eHNObv2DjALTh8
   QnXUgneDUKtB90Bmh+gMJRhM4nZYojVX6WJdi3L+7JE0y5cecvhhvmHiV
   5a/14sDv7cGSh32b+RQUMElzK5NlZZQ8r9PsgZmJho+CLoFF/307hJpZL
   agfkD84/PQjdWRJvRXUsjzKZv/NeLs61EhOFtqMX1VZDU5Fe9qVzu0vOv
   HozzMBpXQZrmAU+O3+47rgt3HVl64N74GIHGf+ErrBcAGqZwMHjAD5JZU
   g==;
X-CSE-ConnectionGUID: UO3u6POQSvG7eIXHr2GyfA==
X-CSE-MsgGUID: WxtftDXxS1+0jqfAoS3lOA==
X-IronPort-AV: E=McAfee;i="6800,10657,11582"; a="50253064"
X-IronPort-AV: E=Sophos;i="6.19,230,1754982000"; 
   d="scan'208";a="50253064"
X-CSE-ConnectionGUID: 9G14ytpfQl2dHZh/4Qmtzg==
X-CSE-MsgGUID: zzuIIelBSnefzwE8pAWIJw==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.19,230,1754982000"; 
   d="scan'208";a="213062822"
Date: Wed, 15 Oct 2025 16:53:32 +0800
From: kernel test robot <lkp@intel.com>
To: Juergen Gross <jgross@suse.com>, linux-kernel@vger.kernel.org,
	x86@kernel.org, linux-hyperv@vger.kernel.org,
	virtualization@lists.linux.dev, kvm@vger.kernel.org
Cc: oe-kbuild-all@lists.linux.dev, Juergen Gross <jgross@suse.com>,
	"K. Y. Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>, Dexuan Cui <decui@microsoft.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Ajay Kaher <ajay.kaher@broadcom.com>,
	Alexey Makhalov <alexey.makhalov@broadcom.com>,
	Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 21/21] x86/pvlocks: Move paravirt spinlock functions
 into own header
Message-ID: <202510151611.uYXVunzo-lkp@intel.com>
References: <20251006074606.1266-22-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20251006074606.1266-22-jgross@suse.com>

Hi Juergen,

kernel test robot noticed the following build errors:

[auto build test ERROR on tip/sched/core]
[also build test ERROR on kvm/queue kvm/next linus/master v6.18-rc1 next-20251014]
[cannot apply to tip/x86/core kvm/linux-next]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Juergen-Gross/x86-paravirt-Remove-not-needed-includes-of-paravirt-h/20251010-094850
base:   tip/sched/core
patch link:    https://lore.kernel.org/r/20251006074606.1266-22-jgross%40suse.com
patch subject: [PATCH v3 21/21] x86/pvlocks: Move paravirt spinlock functions into own header
config: x86_64-randconfig-001-20251015 (https://download.01.org/0day-ci/archive/20251015/202510151611.uYXVunzo-lkp@intel.com/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251015/202510151611.uYXVunzo-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202510151611.uYXVunzo-lkp@intel.com/

All errors (new ones prefixed by >>):

   ld: vmlinux.o: in function `kvm_guest_init':
   arch/x86/kernel/kvm.c:828:(.init.text+0x440f4): undefined reference to `pv_ops_lock'
>> ld: arch/x86/kernel/kvm.c:828:(.init.text+0x4410e): undefined reference to `pv_ops_lock'
   ld: arch/x86/kernel/kvm.c:828:(.init.text+0x4411a): undefined reference to `pv_ops_lock'

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki


From xen-devel-bounces@lists.xenproject.org Wed Oct 15 09:13:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 09:13:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143384.1477106 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8xZN-0002ow-0F; Wed, 15 Oct 2025 09:13:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143384.1477106; Wed, 15 Oct 2025 09:13:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8xZM-0002oi-S3; Wed, 15 Oct 2025 09:13:16 +0000
Received: by outflank-mailman (input) for mailman id 1143384;
 Wed, 15 Oct 2025 09:13:16 +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 <SRS0=aLBx=4Y=kernel.org=leon@srs-se1.protection.inumbo.net>)
 id 1v8xZM-0002lL-1H
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 09:13:16 +0000
Received: from sea.source.kernel.org (sea.source.kernel.org [172.234.252.31])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2b25297d-a9a7-11f0-980a-7dc792cee155;
 Wed, 15 Oct 2025 11:13:10 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sea.source.kernel.org (Postfix) with ESMTP id D36264172E;
 Wed, 15 Oct 2025 09:13:08 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0D5DDC4CEF8;
 Wed, 15 Oct 2025 09:13:08 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2b25297d-a9a7-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1760519588;
	bh=ywR7wdHo9iJDPAMnOLxx2KSfcpdMYgaVYoeQgeEMVE0=;
	h=From:To:Cc:Subject:Date:From;
	b=T/fn/Q7Et3W/XoUP2+BW/BncjyLdn9Q59dx4I+uKrVGVx83N3CoqpvJHFxWuqRsC+
	 XdbXTMel6OirvBhxiFjPLifrL1qZ1WA1GV0CfnbnyJ0gLcqjgJlrUBUk085bytleC1
	 Ps1/U8qadzNDPEXTFtbAw3rfhPCKp+JJvyNHVNWiVzxBuTqLX4e1h0uwpfnG6FXSGu
	 ahv0t+DTPlJs6QFO33ojzLxd9DpyMUAoYg7u/ZEvqC360GdrnKWc4kvzqrKjjOzNyu
	 sfpnfCdbcfzoWkUMqnORIpnF4VZ9xrYID8Bc3PCTstBRCa5sVe3z7x9f1ejmwsSTxY
	 9ePteT4berpfg==
From: Leon Romanovsky <leon@kernel.org>
To: Marek Szyprowski <m.szyprowski@samsung.com>,
	Robin Murphy <robin.murphy@arm.com>,
	Russell King <linux@armlinux.org.uk>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Matt Turner <mattst88@gmail.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
	Helge Deller <deller@gmx.de>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Geoff Levand <geoff@infradead.org>,
	"David S. Miller" <davem@davemloft.net>,
	Andreas Larsson <andreas@gaisler.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>
Cc: iommu@lists.linux.dev,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	linux-alpha@vger.kernel.org,
	linux-mips@vger.kernel.org,
	linux-parisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	sparclinux@vger.kernel.org,
	Magnus Lindholm <linmag7@gmail.com>,
	Jason Gunthorpe <jgg@ziepe.ca>
Subject: [PATCH v5 00/14] Remove DMA map_page/map_resource and their unmap callbacks
Date: Wed, 15 Oct 2025 12:12:46 +0300
Message-ID: <20251015-remove-map-page-v5-0-3bbfe3a25cdf@kernel.org>
X-Mailer: git-send-email 2.51.0
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
X-Change-ID: 20251015-remove-map-page-a28302e6cc7d
X-Mailer: b4 0.15-dev
Content-Transfer-Encoding: 8bit

This series is a combination of previous two steps [1, 2] to reduce
number of accesses to struct page in the code "below" DMA layer.

In this series, the DMA .map_page/.map_resource/.unmap_page/.unmap_resource
callbacks are converted to newly introduced .map_phys/.unmap_phys interfaces.

Thanks

[1] https://lore.kernel.org/all/cover.1758203802.git.leon@kernel.org
[2] https://lore.kernel.org/all/cover.1759071169.git.leon@kernel.org

---
Leon Romanovsky (14):
      dma-mapping: prepare dma_map_ops to conversion to physical address
      dma-mapping: convert dummy ops to physical address mapping
      ARM: dma-mapping: Reduce struct page exposure in arch_sync_dma*()
      ARM: dma-mapping: Switch to physical address mapping callbacks
      xen: swiotlb: Switch to physical address mapping callbacks
      dma-mapping: remove unused mapping resource callbacks
      alpha: Convert mapping routine to rely on physical address
      MIPS/jazzdma: Provide physical address directly
      parisc: Convert DMA map_page to map_phys interface
      powerpc: Convert to physical address DMA mapping
      sparc: Use physical address DMA mapping
      x86: Use physical address for DMA mapping
      xen: swiotlb: Convert mapping routine to rely on physical address
      dma-mapping: remove unused map_page callback

 arch/alpha/kernel/pci_iommu.c            |  48 ++++-----
 arch/arm/mm/dma-mapping.c                | 180 +++++++++----------------------
 arch/mips/jazz/jazzdma.c                 |  20 ++--
 arch/powerpc/include/asm/iommu.h         |   8 +-
 arch/powerpc/kernel/dma-iommu.c          |  22 ++--
 arch/powerpc/kernel/iommu.c              |  14 +--
 arch/powerpc/platforms/ps3/system-bus.c  |  33 +++---
 arch/powerpc/platforms/pseries/ibmebus.c |  15 +--
 arch/powerpc/platforms/pseries/vio.c     |  21 ++--
 arch/sparc/kernel/iommu.c                |  30 ++++--
 arch/sparc/kernel/pci_sun4v.c            |  31 +++---
 arch/sparc/mm/io-unit.c                  |  38 +++----
 arch/sparc/mm/iommu.c                    |  46 ++++----
 arch/x86/kernel/amd_gart_64.c            |  19 ++--
 drivers/parisc/ccio-dma.c                |  54 +++++-----
 drivers/parisc/iommu-helpers.h           |  10 +-
 drivers/parisc/sba_iommu.c               |  54 +++++-----
 drivers/xen/grant-dma-ops.c              |  20 ++--
 drivers/xen/swiotlb-xen.c                |  63 +++++------
 include/linux/dma-map-ops.h              |  14 +--
 kernel/dma/dummy.c                       |  13 ++-
 kernel/dma/mapping.c                     |  26 +----
 kernel/dma/ops_helpers.c                 |  12 ++-
 23 files changed, 361 insertions(+), 430 deletions(-)
---
base-commit: 3a8660878839faadb4f1a6dd72c3179c1df56787
change-id: 20251015-remove-map-page-a28302e6cc7d

Best regards,
--  
Leon Romanovsky <leon@kernel.org>



From xen-devel-bounces@lists.xenproject.org Wed Oct 15 09:13:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 09:13:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143385.1477120 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8xZQ-0003Dd-9A; Wed, 15 Oct 2025 09:13:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143385.1477120; Wed, 15 Oct 2025 09:13:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8xZQ-0003DW-5Q; Wed, 15 Oct 2025 09:13:20 +0000
Received: by outflank-mailman (input) for mailman id 1143385;
 Wed, 15 Oct 2025 09:13:18 +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 <SRS0=aLBx=4Y=kernel.org=leon@srs-se1.protection.inumbo.net>)
 id 1v8xZO-0002lR-Kt
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 09:13:18 +0000
Received: from sea.source.kernel.org (sea.source.kernel.org
 [2600:3c0a:e001:78e:0:1991:8:25])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2f2fed46-a9a7-11f0-9d15-b5c5bf9af7f9;
 Wed, 15 Oct 2025 11:13:17 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sea.source.kernel.org (Postfix) with ESMTP id CDBA04A2EB;
 Wed, 15 Oct 2025 09:13:15 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0A1D2C116B1;
 Wed, 15 Oct 2025 09:13:15 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2f2fed46-a9a7-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1760519595;
	bh=5CRzqWoVfMbqVNKIxqeoLG2c9tvgUeIFTheShsK3Bpg=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=GfGSWwPLGtufj1swQ+n7QEGSAHQU77k7sZmwzSh3gwKsGKxwUSyhBd87hWhNEvtrl
	 buUMXV+6O8Xu+JxlDnDhIv9r0IAD1Z0RfPmMTvm1RhyHnAh54jr/kk/B9gEmZKEBfq
	 dyxPWuZk9aaW/5ysGOs3Lh2Xkuvkf8W36g0+yC8l1lZWgZR6XZvww3OdFVbQSeWbZ3
	 DBSlpFZzMALBmjKmlRreacKzyXlQmKcW4asQus02qvoKR7vSSnohS8I3XGMqS/YvX5
	 rvbOkMGDjGPOblMmmEof5eGSRnxj8+iqK6wr/OfWoF9xmDM6qaQh/HQoZtd5IhimPH
	 5sCcW9rpImS9g==
From: Leon Romanovsky <leon@kernel.org>
To: Marek Szyprowski <m.szyprowski@samsung.com>,
	Robin Murphy <robin.murphy@arm.com>,
	Russell King <linux@armlinux.org.uk>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Matt Turner <mattst88@gmail.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
	Helge Deller <deller@gmx.de>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Geoff Levand <geoff@infradead.org>,
	"David S. Miller" <davem@davemloft.net>,
	Andreas Larsson <andreas@gaisler.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>
Cc: iommu@lists.linux.dev,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	linux-alpha@vger.kernel.org,
	linux-mips@vger.kernel.org,
	linux-parisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	sparclinux@vger.kernel.org,
	Jason Gunthorpe <jgg@ziepe.ca>,
	Jason Gunthorpe <jgg@nvidia.com>
Subject: [PATCH v5 03/14] ARM: dma-mapping: Reduce struct page exposure in arch_sync_dma*()
Date: Wed, 15 Oct 2025 12:12:49 +0300
Message-ID: <20251015-remove-map-page-v5-3-3bbfe3a25cdf@kernel.org>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251015-remove-map-page-v5-0-3bbfe3a25cdf@kernel.org>
References: <20251015-remove-map-page-v5-0-3bbfe3a25cdf@kernel.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
X-Mailer: b4 0.15-dev
Content-Transfer-Encoding: 8bit

From: Leon Romanovsky <leonro@nvidia.com>

As a preparation to changing from .map_page to use .map_phys DMA
callbacks, convert arch_sync_dma*() functions to use physical addresses
instead of struct page.

Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
---
 arch/arm/mm/dma-mapping.c | 82 ++++++++++++++++++-----------------------------
 1 file changed, 31 insertions(+), 51 deletions(-)

diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c
index 08641a936394..b0310d6762d5 100644
--- a/arch/arm/mm/dma-mapping.c
+++ b/arch/arm/mm/dma-mapping.c
@@ -624,16 +624,14 @@ static void __arm_dma_free(struct device *dev, size_t size, void *cpu_addr,
 	kfree(buf);
 }
 
-static void dma_cache_maint_page(struct page *page, unsigned long offset,
-	size_t size, enum dma_data_direction dir,
+static void dma_cache_maint_page(phys_addr_t phys, size_t size,
+	enum dma_data_direction dir,
 	void (*op)(const void *, size_t, int))
 {
-	unsigned long pfn;
+	unsigned long offset = offset_in_page(phys);
+	unsigned long pfn = __phys_to_pfn(phys);
 	size_t left = size;
 
-	pfn = page_to_pfn(page) + offset / PAGE_SIZE;
-	offset %= PAGE_SIZE;
-
 	/*
 	 * A single sg entry may refer to multiple physically contiguous
 	 * pages.  But we still need to process highmem pages individually.
@@ -644,17 +642,18 @@ static void dma_cache_maint_page(struct page *page, unsigned long offset,
 		size_t len = left;
 		void *vaddr;
 
-		page = pfn_to_page(pfn);
-
-		if (PageHighMem(page)) {
+		phys = __pfn_to_phys(pfn);
+		if (PhysHighMem(phys)) {
 			if (len + offset > PAGE_SIZE)
 				len = PAGE_SIZE - offset;
 
 			if (cache_is_vipt_nonaliasing()) {
-				vaddr = kmap_atomic(page);
+				vaddr = kmap_atomic_pfn(pfn);
 				op(vaddr + offset, len, dir);
 				kunmap_atomic(vaddr);
 			} else {
+				struct page *page = phys_to_page(phys);
+
 				vaddr = kmap_high_get(page);
 				if (vaddr) {
 					op(vaddr + offset, len, dir);
@@ -662,7 +661,8 @@ static void dma_cache_maint_page(struct page *page, unsigned long offset,
 				}
 			}
 		} else {
-			vaddr = page_address(page) + offset;
+			phys += offset;
+			vaddr = phys_to_virt(phys);
 			op(vaddr, len, dir);
 		}
 		offset = 0;
@@ -676,14 +676,11 @@ static void dma_cache_maint_page(struct page *page, unsigned long offset,
  * Note: Drivers should NOT use this function directly.
  * Use the driver DMA support - see dma-mapping.h (dma_sync_*)
  */
-static void __dma_page_cpu_to_dev(struct page *page, unsigned long off,
-	size_t size, enum dma_data_direction dir)
+void arch_sync_dma_for_device(phys_addr_t paddr, size_t size,
+			      enum dma_data_direction dir)
 {
-	phys_addr_t paddr;
-
-	dma_cache_maint_page(page, off, size, dir, dmac_map_area);
+	dma_cache_maint_page(paddr, size, dir, dmac_map_area);
 
-	paddr = page_to_phys(page) + off;
 	if (dir == DMA_FROM_DEVICE) {
 		outer_inv_range(paddr, paddr + size);
 	} else {
@@ -692,17 +689,15 @@ static void __dma_page_cpu_to_dev(struct page *page, unsigned long off,
 	/* FIXME: non-speculating: flush on bidirectional mappings? */
 }
 
-static void __dma_page_dev_to_cpu(struct page *page, unsigned long off,
-	size_t size, enum dma_data_direction dir)
+void arch_sync_dma_for_cpu(phys_addr_t paddr, size_t size,
+			   enum dma_data_direction dir)
 {
-	phys_addr_t paddr = page_to_phys(page) + off;
-
 	/* FIXME: non-speculating: not required */
 	/* in any case, don't bother invalidating if DMA to device */
 	if (dir != DMA_TO_DEVICE) {
 		outer_inv_range(paddr, paddr + size);
 
-		dma_cache_maint_page(page, off, size, dir, dmac_unmap_area);
+		dma_cache_maint_page(paddr, size, dir, dmac_unmap_area);
 	}
 
 	/*
@@ -1205,7 +1200,7 @@ static int __map_sg_chunk(struct device *dev, struct scatterlist *sg,
 		unsigned int len = PAGE_ALIGN(s->offset + s->length);
 
 		if (!dev->dma_coherent && !(attrs & DMA_ATTR_SKIP_CPU_SYNC))
-			__dma_page_cpu_to_dev(sg_page(s), s->offset, s->length, dir);
+			arch_sync_dma_for_device(sg_phys(s), s->length, dir);
 
 		prot = __dma_info_to_prot(dir, attrs);
 
@@ -1307,8 +1302,7 @@ static void arm_iommu_unmap_sg(struct device *dev,
 			__iommu_remove_mapping(dev, sg_dma_address(s),
 					       sg_dma_len(s));
 		if (!dev->dma_coherent && !(attrs & DMA_ATTR_SKIP_CPU_SYNC))
-			__dma_page_dev_to_cpu(sg_page(s), s->offset,
-					      s->length, dir);
+			arch_sync_dma_for_cpu(sg_phys(s), s->length, dir);
 	}
 }
 
@@ -1330,7 +1324,7 @@ static void arm_iommu_sync_sg_for_cpu(struct device *dev,
 		return;
 
 	for_each_sg(sg, s, nents, i)
-		__dma_page_dev_to_cpu(sg_page(s), s->offset, s->length, dir);
+		arch_sync_dma_for_cpu(sg_phys(s), s->length, dir);
 
 }
 
@@ -1352,7 +1346,7 @@ static void arm_iommu_sync_sg_for_device(struct device *dev,
 		return;
 
 	for_each_sg(sg, s, nents, i)
-		__dma_page_cpu_to_dev(sg_page(s), s->offset, s->length, dir);
+		arch_sync_dma_for_device(sg_phys(s), s->length, dir);
 }
 
 /**
@@ -1374,7 +1368,7 @@ static dma_addr_t arm_iommu_map_page(struct device *dev, struct page *page,
 	int ret, prot, len = PAGE_ALIGN(size + offset);
 
 	if (!dev->dma_coherent && !(attrs & DMA_ATTR_SKIP_CPU_SYNC))
-		__dma_page_cpu_to_dev(page, offset, size, dir);
+		arch_sync_dma_for_device(page_to_phys(page), offset, size, dir);
 
 	dma_addr = __alloc_iova(mapping, len);
 	if (dma_addr == DMA_MAPPING_ERROR)
@@ -1407,7 +1401,6 @@ static void arm_iommu_unmap_page(struct device *dev, dma_addr_t handle,
 {
 	struct dma_iommu_mapping *mapping = to_dma_iommu_mapping(dev);
 	dma_addr_t iova = handle & PAGE_MASK;
-	struct page *page;
 	int offset = handle & ~PAGE_MASK;
 	int len = PAGE_ALIGN(size + offset);
 
@@ -1415,8 +1408,9 @@ static void arm_iommu_unmap_page(struct device *dev, dma_addr_t handle,
 		return;
 
 	if (!dev->dma_coherent && !(attrs & DMA_ATTR_SKIP_CPU_SYNC)) {
-		page = phys_to_page(iommu_iova_to_phys(mapping->domain, iova));
-		__dma_page_dev_to_cpu(page, offset, size, dir);
+		phys_addr_t phys = iommu_iova_to_phys(mapping->domain, iova);
+
+		arch_sync_dma_for_cpu(phys + offset, size, dir);
 	}
 
 	iommu_unmap(mapping->domain, iova, len);
@@ -1485,14 +1479,14 @@ static void arm_iommu_sync_single_for_cpu(struct device *dev,
 {
 	struct dma_iommu_mapping *mapping = to_dma_iommu_mapping(dev);
 	dma_addr_t iova = handle & PAGE_MASK;
-	struct page *page;
 	unsigned int offset = handle & ~PAGE_MASK;
+	phys_addr_t phys;
 
 	if (dev->dma_coherent || !iova)
 		return;
 
-	page = phys_to_page(iommu_iova_to_phys(mapping->domain, iova));
-	__dma_page_dev_to_cpu(page, offset, size, dir);
+	phys = iommu_iova_to_phys(mapping->domain, iova);
+	arch_sync_dma_for_cpu(phys + offset, size, dir);
 }
 
 static void arm_iommu_sync_single_for_device(struct device *dev,
@@ -1500,14 +1494,14 @@ static void arm_iommu_sync_single_for_device(struct device *dev,
 {
 	struct dma_iommu_mapping *mapping = to_dma_iommu_mapping(dev);
 	dma_addr_t iova = handle & PAGE_MASK;
-	struct page *page;
 	unsigned int offset = handle & ~PAGE_MASK;
+	phys_addr_t phys;
 
 	if (dev->dma_coherent || !iova)
 		return;
 
-	page = phys_to_page(iommu_iova_to_phys(mapping->domain, iova));
-	__dma_page_cpu_to_dev(page, offset, size, dir);
+	phys = iommu_iova_to_phys(mapping->domain, iova);
+	arch_sync_dma_for_device(phys + offset, size, dir);
 }
 
 static const struct dma_map_ops iommu_ops = {
@@ -1794,20 +1788,6 @@ void arch_teardown_dma_ops(struct device *dev)
 	set_dma_ops(dev, NULL);
 }
 
-void arch_sync_dma_for_device(phys_addr_t paddr, size_t size,
-		enum dma_data_direction dir)
-{
-	__dma_page_cpu_to_dev(phys_to_page(paddr), paddr & (PAGE_SIZE - 1),
-			      size, dir);
-}
-
-void arch_sync_dma_for_cpu(phys_addr_t paddr, size_t size,
-		enum dma_data_direction dir)
-{
-	__dma_page_dev_to_cpu(phys_to_page(paddr), paddr & (PAGE_SIZE - 1),
-			      size, dir);
-}
-
 void *arch_dma_alloc(struct device *dev, size_t size, dma_addr_t *dma_handle,
 		gfp_t gfp, unsigned long attrs)
 {

-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 15 09:13:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 09:13:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143383.1477100 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8xZM-0002lj-Od; Wed, 15 Oct 2025 09:13:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143383.1477100; Wed, 15 Oct 2025 09:13:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8xZM-0002lc-Kk; Wed, 15 Oct 2025 09:13:16 +0000
Received: by outflank-mailman (input) for mailman id 1143383;
 Wed, 15 Oct 2025 09:13:15 +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 <SRS0=aLBx=4Y=kernel.org=leon@srs-se1.protection.inumbo.net>)
 id 1v8xZL-0002lR-F4
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 09:13:15 +0000
Received: from tor.source.kernel.org (tor.source.kernel.org [172.105.4.254])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2d440bd4-a9a7-11f0-9d15-b5c5bf9af7f9;
 Wed, 15 Oct 2025 11:13:14 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by tor.source.kernel.org (Postfix) with ESMTP id 808BC62555;
 Wed, 15 Oct 2025 09:13:12 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 84E0DC4CEF9;
 Wed, 15 Oct 2025 09:13:11 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2d440bd4-a9a7-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1760519592;
	bh=fj+wjstxPuu4pe6Ir9X+TCy/RdK5uIxhfZIK9PjQE3s=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=oQijT4BYDA7G26UJzNdP8FR+Sso17sVT6tLq404JDkxEXIL0SNUGgqKnqLAytRMDc
	 ybAzgl7PHHhZyg6HwZsrKBErF8H9uQdAB918IqBZI2EmZsuuLeHmRsIh/x/CMRPuW/
	 hbuFpAnoTb56m0BmBdt1IW2nKqXOiKg+vIQfCq+mZUZ52Ics6N2shnm0co1H8Ntqpo
	 tYykaD+29yiu12+E8zdxTGe/nfssPj1oRKuBWWpNG9ywOgTVIfeN4yGPnr+Uab0knw
	 e+80KUPBDOcAIVqRMB21aCnj3es2K2B3WII0PdnnK8Q2Rvik9Y2ZxaH3Zx9omBBGbj
	 LHFZbbKctgdsw==
From: Leon Romanovsky <leon@kernel.org>
To: Marek Szyprowski <m.szyprowski@samsung.com>,
	Robin Murphy <robin.murphy@arm.com>,
	Russell King <linux@armlinux.org.uk>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Matt Turner <mattst88@gmail.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
	Helge Deller <deller@gmx.de>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Geoff Levand <geoff@infradead.org>,
	"David S. Miller" <davem@davemloft.net>,
	Andreas Larsson <andreas@gaisler.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>
Cc: iommu@lists.linux.dev,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	linux-alpha@vger.kernel.org,
	linux-mips@vger.kernel.org,
	linux-parisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	sparclinux@vger.kernel.org,
	Jason Gunthorpe <jgg@ziepe.ca>,
	Jason Gunthorpe <jgg@nvidia.com>
Subject: [PATCH v5 02/14] dma-mapping: convert dummy ops to physical address mapping
Date: Wed, 15 Oct 2025 12:12:48 +0300
Message-ID: <20251015-remove-map-page-v5-2-3bbfe3a25cdf@kernel.org>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251015-remove-map-page-v5-0-3bbfe3a25cdf@kernel.org>
References: <20251015-remove-map-page-v5-0-3bbfe3a25cdf@kernel.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
X-Mailer: b4 0.15-dev
Content-Transfer-Encoding: 8bit

From: Leon Romanovsky <leonro@nvidia.com>

Change dma_dummy_map_page and dma_dummy_unmap_page routines
to accept physical address and rename them.

Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
---
 kernel/dma/dummy.c | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/kernel/dma/dummy.c b/kernel/dma/dummy.c
index 92de80e5b057..16a51736a2a3 100644
--- a/kernel/dma/dummy.c
+++ b/kernel/dma/dummy.c
@@ -11,17 +11,16 @@ static int dma_dummy_mmap(struct device *dev, struct vm_area_struct *vma,
 	return -ENXIO;
 }
 
-static dma_addr_t dma_dummy_map_page(struct device *dev, struct page *page,
-		unsigned long offset, size_t size, enum dma_data_direction dir,
-		unsigned long attrs)
+static dma_addr_t dma_dummy_map_phys(struct device *dev, phys_addr_t phys,
+		size_t size, enum dma_data_direction dir, unsigned long attrs)
 {
 	return DMA_MAPPING_ERROR;
 }
-static void dma_dummy_unmap_page(struct device *dev, dma_addr_t dma_handle,
+static void dma_dummy_unmap_phys(struct device *dev, dma_addr_t dma_handle,
 		size_t size, enum dma_data_direction dir, unsigned long attrs)
 {
 	/*
-	 * Dummy ops doesn't support map_page, so unmap_page should never be
+	 * Dummy ops doesn't support map_phys, so unmap_page should never be
 	 * called.
 	 */
 	WARN_ON_ONCE(true);
@@ -51,8 +50,8 @@ static int dma_dummy_supported(struct device *hwdev, u64 mask)
 
 const struct dma_map_ops dma_dummy_ops = {
 	.mmap                   = dma_dummy_mmap,
-	.map_page               = dma_dummy_map_page,
-	.unmap_page             = dma_dummy_unmap_page,
+	.map_phys               = dma_dummy_map_phys,
+	.unmap_phys             = dma_dummy_unmap_phys,
 	.map_sg                 = dma_dummy_map_sg,
 	.unmap_sg               = dma_dummy_unmap_sg,
 	.dma_supported          = dma_dummy_supported,

-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 15 09:13:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 09:13:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143386.1477130 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8xZT-0003U7-Gf; Wed, 15 Oct 2025 09:13:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143386.1477130; Wed, 15 Oct 2025 09:13:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8xZT-0003Tx-D2; Wed, 15 Oct 2025 09:13:23 +0000
Received: by outflank-mailman (input) for mailman id 1143386;
 Wed, 15 Oct 2025 09:13:21 +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 <SRS0=aLBx=4Y=kernel.org=leon@srs-se1.protection.inumbo.net>)
 id 1v8xZR-0002lR-Qg
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 09:13:21 +0000
Received: from tor.source.kernel.org (tor.source.kernel.org [172.105.4.254])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3173b207-a9a7-11f0-9d15-b5c5bf9af7f9;
 Wed, 15 Oct 2025 11:13:21 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by tor.source.kernel.org (Postfix) with ESMTP id 9A04462562;
 Wed, 15 Oct 2025 09:13:19 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A0DD9C4CEF9;
 Wed, 15 Oct 2025 09:13:18 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3173b207-a9a7-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1760519599;
	bh=qYoZvd4lyrIfbZIzXqdWJj+pS2O0SyaBOmNGoxPhV3c=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=K32xE455hl5TVMpibUH5sKxJsNq9bwl5OqqfqVfG5T1vfNx7YwavLcHlsjOg3GXwk
	 hYqGo/fxqXFWovR0Ub9T4nwB8lubtw9t5kO3T/yVWfEI02WjdOoMVuxpkn06foahvf
	 sCVnSkss7qhKvKOg84UqhQPZbxa2z7aRAPqjuXLuQA/2tXC87ALNSFNv6SwLZS5wLb
	 ZtHADNp8XqlLR/fauneGBjdte7ABPRafvH+H9rc2EsWGvV7fvYhEWAX5RAYQJxorEL
	 dAClqqYD5IOiBqqCH6VsD/gsHKz9zVZ8+cK3BADKhGGNtvNSNqIggZpAYTaHEXLL8Z
	 JjKx5x8PvYazQ==
From: Leon Romanovsky <leon@kernel.org>
To: Marek Szyprowski <m.szyprowski@samsung.com>,
	Robin Murphy <robin.murphy@arm.com>,
	Russell King <linux@armlinux.org.uk>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Matt Turner <mattst88@gmail.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
	Helge Deller <deller@gmx.de>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Geoff Levand <geoff@infradead.org>,
	"David S. Miller" <davem@davemloft.net>,
	Andreas Larsson <andreas@gaisler.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>
Cc: iommu@lists.linux.dev,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	linux-alpha@vger.kernel.org,
	linux-mips@vger.kernel.org,
	linux-parisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	sparclinux@vger.kernel.org,
	Jason Gunthorpe <jgg@ziepe.ca>,
	Jason Gunthorpe <jgg@nvidia.com>
Subject: [PATCH v5 01/14] dma-mapping: prepare dma_map_ops to conversion to physical address
Date: Wed, 15 Oct 2025 12:12:47 +0300
Message-ID: <20251015-remove-map-page-v5-1-3bbfe3a25cdf@kernel.org>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251015-remove-map-page-v5-0-3bbfe3a25cdf@kernel.org>
References: <20251015-remove-map-page-v5-0-3bbfe3a25cdf@kernel.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
X-Mailer: b4 0.15-dev
Content-Transfer-Encoding: 8bit

From: Leon Romanovsky <leonro@nvidia.com>

Add new .map_phys() and .unmap_phys() callbacks to dma_map_ops as a
preparation to replace .map_page() and .unmap_page() respectively.

Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
---
 include/linux/dma-map-ops.h |  7 +++++++
 kernel/dma/mapping.c        |  4 ++++
 kernel/dma/ops_helpers.c    | 12 ++++++++++--
 3 files changed, 21 insertions(+), 2 deletions(-)

diff --git a/include/linux/dma-map-ops.h b/include/linux/dma-map-ops.h
index 10882d00cb17..79d2a74d4b49 100644
--- a/include/linux/dma-map-ops.h
+++ b/include/linux/dma-map-ops.h
@@ -37,6 +37,13 @@ struct dma_map_ops {
 	void (*unmap_page)(struct device *dev, dma_addr_t dma_handle,
 			size_t size, enum dma_data_direction dir,
 			unsigned long attrs);
+
+	dma_addr_t (*map_phys)(struct device *dev, phys_addr_t phys,
+			size_t size, enum dma_data_direction dir,
+			unsigned long attrs);
+	void (*unmap_phys)(struct device *dev, dma_addr_t dma_handle,
+			size_t size, enum dma_data_direction dir,
+			unsigned long attrs);
 	/*
 	 * map_sg should return a negative error code on error. See
 	 * dma_map_sgtable() for a list of appropriate error codes
diff --git a/kernel/dma/mapping.c b/kernel/dma/mapping.c
index fe7472f13b10..4080aebe5deb 100644
--- a/kernel/dma/mapping.c
+++ b/kernel/dma/mapping.c
@@ -169,6 +169,8 @@ dma_addr_t dma_map_phys(struct device *dev, phys_addr_t phys, size_t size,
 		addr = dma_direct_map_phys(dev, phys, size, dir, attrs);
 	else if (use_dma_iommu(dev))
 		addr = iommu_dma_map_phys(dev, phys, size, dir, attrs);
+	else if (ops->map_phys)
+		addr = ops->map_phys(dev, phys, size, dir, attrs);
 	else if (is_mmio) {
 		if (!ops->map_resource)
 			return DMA_MAPPING_ERROR;
@@ -223,6 +225,8 @@ void dma_unmap_phys(struct device *dev, dma_addr_t addr, size_t size,
 		dma_direct_unmap_phys(dev, addr, size, dir, attrs);
 	else if (use_dma_iommu(dev))
 		iommu_dma_unmap_phys(dev, addr, size, dir, attrs);
+	else if (ops->unmap_phys)
+		ops->unmap_phys(dev, addr, size, dir, attrs);
 	else if (is_mmio) {
 		if (ops->unmap_resource)
 			ops->unmap_resource(dev, addr, size, dir, attrs);
diff --git a/kernel/dma/ops_helpers.c b/kernel/dma/ops_helpers.c
index 6f9d604d9d40..1eccbdbc99c1 100644
--- a/kernel/dma/ops_helpers.c
+++ b/kernel/dma/ops_helpers.c
@@ -64,6 +64,7 @@ struct page *dma_common_alloc_pages(struct device *dev, size_t size,
 {
 	const struct dma_map_ops *ops = get_dma_ops(dev);
 	struct page *page;
+	phys_addr_t phys;
 
 	page = dma_alloc_contiguous(dev, size, gfp);
 	if (!page)
@@ -71,9 +72,13 @@ struct page *dma_common_alloc_pages(struct device *dev, size_t size,
 	if (!page)
 		return NULL;
 
+	phys = page_to_phys(page);
 	if (use_dma_iommu(dev))
-		*dma_handle = iommu_dma_map_phys(dev, page_to_phys(page), size,
-						 dir, DMA_ATTR_SKIP_CPU_SYNC);
+		*dma_handle = iommu_dma_map_phys(dev, phys, size, dir,
+						 DMA_ATTR_SKIP_CPU_SYNC);
+	else if (ops->map_phys)
+		*dma_handle = ops->map_phys(dev, phys, size, dir,
+					    DMA_ATTR_SKIP_CPU_SYNC);
 	else
 		*dma_handle = ops->map_page(dev, page, 0, size, dir,
 					    DMA_ATTR_SKIP_CPU_SYNC);
@@ -94,6 +99,9 @@ void dma_common_free_pages(struct device *dev, size_t size, struct page *page,
 	if (use_dma_iommu(dev))
 		iommu_dma_unmap_phys(dev, dma_handle, size, dir,
 				     DMA_ATTR_SKIP_CPU_SYNC);
+	else if (ops->unmap_phys)
+		ops->unmap_phys(dev, dma_handle, size, dir,
+				DMA_ATTR_SKIP_CPU_SYNC);
 	else if (ops->unmap_page)
 		ops->unmap_page(dev, dma_handle, size, dir,
 				DMA_ATTR_SKIP_CPU_SYNC);

-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 15 09:13:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 09:13:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143387.1477140 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8xZV-0003lM-Nw; Wed, 15 Oct 2025 09:13:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143387.1477140; Wed, 15 Oct 2025 09:13:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8xZV-0003lF-Kr; Wed, 15 Oct 2025 09:13:25 +0000
Received: by outflank-mailman (input) for mailman id 1143387;
 Wed, 15 Oct 2025 09:13:25 +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 <SRS0=aLBx=4Y=kernel.org=leon@srs-se1.protection.inumbo.net>)
 id 1v8xZV-0002lR-4x
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 09:13:25 +0000
Received: from sea.source.kernel.org (sea.source.kernel.org
 [2600:3c0a:e001:78e:0:1991:8:25])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 333ee8c7-a9a7-11f0-9d15-b5c5bf9af7f9;
 Wed, 15 Oct 2025 11:13:24 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sea.source.kernel.org (Postfix) with ESMTP id EFF4940246;
 Wed, 15 Oct 2025 09:13:22 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 27DE5C19421;
 Wed, 15 Oct 2025 09:13:22 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 333ee8c7-a9a7-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1760519602;
	bh=VnMG1AI6BvgRLCN60ENFie/apQCA7LYrL0xFWoo7RpM=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=qIrMBqnuHuFqyNXyGEUvjAWSrGuP7BHKNjv3W6RybkmzvAtE/8s4IA/VJ9GgZGWEB
	 7bm6DuwWphduE+9B2nQ+hsAaoABhi1mvrnEwifkp0w0oOcXl5GDl8SFAl/4Hsn2XU3
	 qHwmOdQ7pqCuYsn/djnTr4K19DmpdZaqVnSDdvaMvNqskBH0ZJwkuOQDubU0sCtpq5
	 W+VFnqQwdlPVM8EnzBLjjI3VgMDfGi1EtCEG8d7wYwOwwWXwNpe/pcGzB9IKEGu2uL
	 HHQzw8zSVXRKXjzRor9TvOjzpRxPPnksJzz0TpmzYizTMT+05dps2oNMrK/FjdOH2y
	 mqyatvpalS22Q==
From: Leon Romanovsky <leon@kernel.org>
To: Marek Szyprowski <m.szyprowski@samsung.com>,
	Robin Murphy <robin.murphy@arm.com>,
	Russell King <linux@armlinux.org.uk>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Matt Turner <mattst88@gmail.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
	Helge Deller <deller@gmx.de>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Geoff Levand <geoff@infradead.org>,
	"David S. Miller" <davem@davemloft.net>,
	Andreas Larsson <andreas@gaisler.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>
Cc: iommu@lists.linux.dev,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	linux-alpha@vger.kernel.org,
	linux-mips@vger.kernel.org,
	linux-parisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	sparclinux@vger.kernel.org,
	Jason Gunthorpe <jgg@ziepe.ca>,
	Jason Gunthorpe <jgg@nvidia.com>
Subject: [PATCH v5 05/14] xen: swiotlb: Switch to physical address mapping callbacks
Date: Wed, 15 Oct 2025 12:12:51 +0300
Message-ID: <20251015-remove-map-page-v5-5-3bbfe3a25cdf@kernel.org>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251015-remove-map-page-v5-0-3bbfe3a25cdf@kernel.org>
References: <20251015-remove-map-page-v5-0-3bbfe3a25cdf@kernel.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
X-Mailer: b4 0.15-dev
Content-Transfer-Encoding: 8bit

From: Leon Romanovsky <leonro@nvidia.com>

Combine resource and page mappings routines to one function
and remove .map_resource/.unmap_resource callbacks completely.

Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
---
 drivers/xen/swiotlb-xen.c | 63 ++++++++++++++++++++++-------------------------
 1 file changed, 29 insertions(+), 34 deletions(-)

diff --git a/drivers/xen/swiotlb-xen.c b/drivers/xen/swiotlb-xen.c
index dd7747a2de87..ccf25027bec1 100644
--- a/drivers/xen/swiotlb-xen.c
+++ b/drivers/xen/swiotlb-xen.c
@@ -200,17 +200,32 @@ xen_swiotlb_free_coherent(struct device *dev, size_t size, void *vaddr,
  * physical address to use is returned.
  *
  * Once the device is given the dma address, the device owns this memory until
- * either xen_swiotlb_unmap_page or xen_swiotlb_dma_sync_single is performed.
+ * either xen_swiotlb_unmap_phys or xen_swiotlb_dma_sync_single is performed.
  */
-static dma_addr_t xen_swiotlb_map_page(struct device *dev, struct page *page,
-				unsigned long offset, size_t size,
-				enum dma_data_direction dir,
+static dma_addr_t xen_swiotlb_map_phys(struct device *dev, phys_addr_t phys,
+				size_t size, enum dma_data_direction dir,
 				unsigned long attrs)
 {
-	phys_addr_t map, phys = page_to_phys(page) + offset;
-	dma_addr_t dev_addr = xen_phys_to_dma(dev, phys);
+	dma_addr_t dev_addr;
+	phys_addr_t map;
 
 	BUG_ON(dir == DMA_NONE);
+
+	if (attrs & DMA_ATTR_MMIO) {
+		if (unlikely(!dma_capable(dev, phys, size, false))) {
+			dev_err_once(
+				dev,
+				"DMA addr %pa+%zu overflow (mask %llx, bus limit %llx).\n",
+				&phys, size, *dev->dma_mask,
+				dev->bus_dma_limit);
+			WARN_ON_ONCE(1);
+			return DMA_MAPPING_ERROR;
+		}
+		return phys;
+	}
+
+	dev_addr = xen_phys_to_dma(dev, phys);
+
 	/*
 	 * If the address happens to be in the device's DMA window,
 	 * we can safely return the device addr and not worry about bounce
@@ -257,13 +272,13 @@ static dma_addr_t xen_swiotlb_map_page(struct device *dev, struct page *page,
 
 /*
  * Unmap a single streaming mode DMA translation.  The dma_addr and size must
- * match what was provided for in a previous xen_swiotlb_map_page call.  All
+ * match what was provided for in a previous xen_swiotlb_map_phys call.  All
  * other usages are undefined.
  *
  * After this call, reads by the cpu to the buffer are guaranteed to see
  * whatever the device wrote there.
  */
-static void xen_swiotlb_unmap_page(struct device *hwdev, dma_addr_t dev_addr,
+static void xen_swiotlb_unmap_phys(struct device *hwdev, dma_addr_t dev_addr,
 		size_t size, enum dma_data_direction dir, unsigned long attrs)
 {
 	phys_addr_t paddr = xen_dma_to_phys(hwdev, dev_addr);
@@ -325,7 +340,7 @@ xen_swiotlb_sync_single_for_device(struct device *dev, dma_addr_t dma_addr,
 
 /*
  * Unmap a set of streaming mode DMA translations.  Again, cpu read rules
- * concerning calls here are the same as for swiotlb_unmap_page() above.
+ * concerning calls here are the same as for swiotlb_unmap_phys() above.
  */
 static void
 xen_swiotlb_unmap_sg(struct device *hwdev, struct scatterlist *sgl, int nelems,
@@ -337,7 +352,7 @@ xen_swiotlb_unmap_sg(struct device *hwdev, struct scatterlist *sgl, int nelems,
 	BUG_ON(dir == DMA_NONE);
 
 	for_each_sg(sgl, sg, nelems, i)
-		xen_swiotlb_unmap_page(hwdev, sg->dma_address, sg_dma_len(sg),
+		xen_swiotlb_unmap_phys(hwdev, sg->dma_address, sg_dma_len(sg),
 				dir, attrs);
 
 }
@@ -352,8 +367,8 @@ xen_swiotlb_map_sg(struct device *dev, struct scatterlist *sgl, int nelems,
 	BUG_ON(dir == DMA_NONE);
 
 	for_each_sg(sgl, sg, nelems, i) {
-		sg->dma_address = xen_swiotlb_map_page(dev, sg_page(sg),
-				sg->offset, sg->length, dir, attrs);
+		sg->dma_address = xen_swiotlb_map_phys(dev, sg_phys(sg),
+				sg->length, dir, attrs);
 		if (sg->dma_address == DMA_MAPPING_ERROR)
 			goto out_unmap;
 		sg_dma_len(sg) = sg->length;
@@ -392,25 +407,6 @@ xen_swiotlb_sync_sg_for_device(struct device *dev, struct scatterlist *sgl,
 	}
 }
 
-static dma_addr_t xen_swiotlb_direct_map_resource(struct device *dev,
-						  phys_addr_t paddr,
-						  size_t size,
-						  enum dma_data_direction dir,
-						  unsigned long attrs)
-{
-	dma_addr_t dma_addr = paddr;
-
-	if (unlikely(!dma_capable(dev, dma_addr, size, false))) {
-		dev_err_once(dev,
-			     "DMA addr %pad+%zu overflow (mask %llx, bus limit %llx).\n",
-			     &dma_addr, size, *dev->dma_mask, dev->bus_dma_limit);
-		WARN_ON_ONCE(1);
-		return DMA_MAPPING_ERROR;
-	}
-
-	return dma_addr;
-}
-
 /*
  * Return whether the given device DMA address mask can be supported
  * properly.  For example, if your device can only drive the low 24-bits
@@ -437,13 +433,12 @@ const struct dma_map_ops xen_swiotlb_dma_ops = {
 	.sync_sg_for_device = xen_swiotlb_sync_sg_for_device,
 	.map_sg = xen_swiotlb_map_sg,
 	.unmap_sg = xen_swiotlb_unmap_sg,
-	.map_page = xen_swiotlb_map_page,
-	.unmap_page = xen_swiotlb_unmap_page,
+	.map_phys = xen_swiotlb_map_phys,
+	.unmap_phys = xen_swiotlb_unmap_phys,
 	.dma_supported = xen_swiotlb_dma_supported,
 	.mmap = dma_common_mmap,
 	.get_sgtable = dma_common_get_sgtable,
 	.alloc_pages_op = dma_common_alloc_pages,
 	.free_pages = dma_common_free_pages,
 	.max_mapping_size = swiotlb_max_mapping_size,
-	.map_resource = xen_swiotlb_direct_map_resource,
 };

-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 15 09:13:31 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 09:13:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143392.1477150 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8xZb-0004A1-1F; Wed, 15 Oct 2025 09:13:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143392.1477150; Wed, 15 Oct 2025 09:13:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8xZa-00049r-SP; Wed, 15 Oct 2025 09:13:30 +0000
Received: by outflank-mailman (input) for mailman id 1143392;
 Wed, 15 Oct 2025 09:13:29 +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 <SRS0=aLBx=4Y=kernel.org=leon@srs-se1.protection.inumbo.net>)
 id 1v8xZZ-0002lL-TR
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 09:13:29 +0000
Received: from tor.source.kernel.org (tor.source.kernel.org [172.105.4.254])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 35bc89d8-a9a7-11f0-980a-7dc792cee155;
 Wed, 15 Oct 2025 11:13:28 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by tor.source.kernel.org (Postfix) with ESMTP id B57B563BF2;
 Wed, 15 Oct 2025 09:13:26 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id B6168C4CEF8;
 Wed, 15 Oct 2025 09:13:25 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 35bc89d8-a9a7-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1760519606;
	bh=8N5ZxsYLVcDZve6x5HHk+A1JboM5EKxL5gdSKO7Ns2A=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=JiSeBjBUKhVwymer3tPYHzwIFC7GJm10nXZ/10XtCNi51kg88RJS1w18W4pvJ7NeM
	 3OwVmb0T1vu2KwfDWjx1io+HgFyPxO0MgtEwlMotfiJ179Y1QgqMPkRKjDJqt5Ao/+
	 VjZfp9uISkci3ImI/5C8oEZdlj4Z+oNMqJTyULPa769DD302IN/VxJv7rJehAO4LNe
	 KeIuGfTQFzyYPb83xzSoo0Sz6I9iQ3Uy0TnyhPQrAye6SrySQGjy96frRmnA4dlk+5
	 xWdb7xuNoLeNJ5dtzrtaGqkyWLhMMmZy2qZFkbs1eHx+/CfxBpfdsutxVsk+ta+jCH
	 50a30dGZYCtdA==
From: Leon Romanovsky <leon@kernel.org>
To: Marek Szyprowski <m.szyprowski@samsung.com>,
	Robin Murphy <robin.murphy@arm.com>,
	Russell King <linux@armlinux.org.uk>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Matt Turner <mattst88@gmail.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
	Helge Deller <deller@gmx.de>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Geoff Levand <geoff@infradead.org>,
	"David S. Miller" <davem@davemloft.net>,
	Andreas Larsson <andreas@gaisler.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>
Cc: iommu@lists.linux.dev,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	linux-alpha@vger.kernel.org,
	linux-mips@vger.kernel.org,
	linux-parisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	sparclinux@vger.kernel.org,
	Jason Gunthorpe <jgg@ziepe.ca>,
	Jason Gunthorpe <jgg@nvidia.com>
Subject: [PATCH v5 06/14] dma-mapping: remove unused mapping resource callbacks
Date: Wed, 15 Oct 2025 12:12:52 +0300
Message-ID: <20251015-remove-map-page-v5-6-3bbfe3a25cdf@kernel.org>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251015-remove-map-page-v5-0-3bbfe3a25cdf@kernel.org>
References: <20251015-remove-map-page-v5-0-3bbfe3a25cdf@kernel.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
X-Mailer: b4 0.15-dev
Content-Transfer-Encoding: 8bit

From: Leon Romanovsky <leonro@nvidia.com>

After ARM and XEN conversions to use physical addresses for the mapping,
there are no in-kernel users for map_resource/unmap_resource callbacks,
so remove them.

Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
---
 include/linux/dma-map-ops.h |  6 ------
 kernel/dma/mapping.c        | 16 ++++------------
 2 files changed, 4 insertions(+), 18 deletions(-)

diff --git a/include/linux/dma-map-ops.h b/include/linux/dma-map-ops.h
index 79d2a74d4b49..2e98ecc313a3 100644
--- a/include/linux/dma-map-ops.h
+++ b/include/linux/dma-map-ops.h
@@ -53,12 +53,6 @@ struct dma_map_ops {
 			enum dma_data_direction dir, unsigned long attrs);
 	void (*unmap_sg)(struct device *dev, struct scatterlist *sg, int nents,
 			enum dma_data_direction dir, unsigned long attrs);
-	dma_addr_t (*map_resource)(struct device *dev, phys_addr_t phys_addr,
-			size_t size, enum dma_data_direction dir,
-			unsigned long attrs);
-	void (*unmap_resource)(struct device *dev, dma_addr_t dma_handle,
-			size_t size, enum dma_data_direction dir,
-			unsigned long attrs);
 	void (*sync_single_for_cpu)(struct device *dev, dma_addr_t dma_handle,
 			size_t size, enum dma_data_direction dir);
 	void (*sync_single_for_device)(struct device *dev,
diff --git a/kernel/dma/mapping.c b/kernel/dma/mapping.c
index 4080aebe5deb..32a85bfdf873 100644
--- a/kernel/dma/mapping.c
+++ b/kernel/dma/mapping.c
@@ -157,7 +157,7 @@ dma_addr_t dma_map_phys(struct device *dev, phys_addr_t phys, size_t size,
 {
 	const struct dma_map_ops *ops = get_dma_ops(dev);
 	bool is_mmio = attrs & DMA_ATTR_MMIO;
-	dma_addr_t addr;
+	dma_addr_t addr = DMA_MAPPING_ERROR;
 
 	BUG_ON(!valid_dma_direction(dir));
 
@@ -171,18 +171,13 @@ dma_addr_t dma_map_phys(struct device *dev, phys_addr_t phys, size_t size,
 		addr = iommu_dma_map_phys(dev, phys, size, dir, attrs);
 	else if (ops->map_phys)
 		addr = ops->map_phys(dev, phys, size, dir, attrs);
-	else if (is_mmio) {
-		if (!ops->map_resource)
-			return DMA_MAPPING_ERROR;
-
-		addr = ops->map_resource(dev, phys, size, dir, attrs);
-	} else {
+	else if (!is_mmio && ops->map_page) {
 		struct page *page = phys_to_page(phys);
 		size_t offset = offset_in_page(phys);
 
 		/*
 		 * The dma_ops API contract for ops->map_page() requires
-		 * kmappable memory, while ops->map_resource() does not.
+		 * kmappable memory.
 		 */
 		addr = ops->map_page(dev, page, offset, size, dir, attrs);
 	}
@@ -227,10 +222,7 @@ void dma_unmap_phys(struct device *dev, dma_addr_t addr, size_t size,
 		iommu_dma_unmap_phys(dev, addr, size, dir, attrs);
 	else if (ops->unmap_phys)
 		ops->unmap_phys(dev, addr, size, dir, attrs);
-	else if (is_mmio) {
-		if (ops->unmap_resource)
-			ops->unmap_resource(dev, addr, size, dir, attrs);
-	} else
+	else
 		ops->unmap_page(dev, addr, size, dir, attrs);
 	trace_dma_unmap_phys(dev, addr, size, dir, attrs);
 	debug_dma_unmap_phys(dev, addr, size, dir);

-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 15 09:13:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 09:13:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143396.1477160 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8xZd-0004WP-Br; Wed, 15 Oct 2025 09:13:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143396.1477160; Wed, 15 Oct 2025 09:13:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8xZd-0004WB-7e; Wed, 15 Oct 2025 09:13:33 +0000
Received: by outflank-mailman (input) for mailman id 1143396;
 Wed, 15 Oct 2025 09:13:32 +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 <SRS0=aLBx=4Y=kernel.org=leon@srs-se1.protection.inumbo.net>)
 id 1v8xZc-0002lR-8u
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 09:13:32 +0000
Received: from sea.source.kernel.org (sea.source.kernel.org
 [2600:3c0a:e001:78e:0:1991:8:25])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 377a3d5d-a9a7-11f0-9d15-b5c5bf9af7f9;
 Wed, 15 Oct 2025 11:13:31 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sea.source.kernel.org (Postfix) with ESMTP id 1D72F4A2FA;
 Wed, 15 Oct 2025 09:13:30 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4C208C4CEF9;
 Wed, 15 Oct 2025 09:13:29 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 377a3d5d-a9a7-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1760519610;
	bh=xkVzkIBhQQs+OFyzgah2MFOlPHbQvEAh/4FzKyJVicY=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=Y3t7ehyIT/NlN8L+dYpzHFfN6zyIupuwB48mHivuKnfeqHj7ieKKf/bKb6e2wzQBl
	 7ep3Q/Q/LIf3dDbwHkIrMphHnObT+41DC3Fgo+k6dOyDbYYAqaRSopAsvbRnb0uLv4
	 x9cwbhpeKvt4yMX+XCUS0GECEIsJhCSROjiaMhxZibw5n/bN1y2vqjYxP6QGJ6qQoY
	 HZMrZaZkEXlEew59wpjWmAIe/yjEXCWQ0v29XoSJVrAGVba0fAszuLOkckEj4cwcxI
	 1+dTAwC+hwwf6RaxFXwlpbl+D/N1WB8kMJEYPn1gfu7ootqy1mDJHdBDoepcpmUq8W
	 t1N0Td+msND+g==
From: Leon Romanovsky <leon@kernel.org>
To: Marek Szyprowski <m.szyprowski@samsung.com>,
	Robin Murphy <robin.murphy@arm.com>,
	Russell King <linux@armlinux.org.uk>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Matt Turner <mattst88@gmail.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
	Helge Deller <deller@gmx.de>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Geoff Levand <geoff@infradead.org>,
	"David S. Miller" <davem@davemloft.net>,
	Andreas Larsson <andreas@gaisler.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>
Cc: iommu@lists.linux.dev,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	linux-alpha@vger.kernel.org,
	linux-mips@vger.kernel.org,
	linux-parisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	sparclinux@vger.kernel.org,
	Magnus Lindholm <linmag7@gmail.com>,
	Jason Gunthorpe <jgg@ziepe.ca>,
	Jason Gunthorpe <jgg@nvidia.com>
Subject: [PATCH v5 07/14] alpha: Convert mapping routine to rely on physical address
Date: Wed, 15 Oct 2025 12:12:53 +0300
Message-ID: <20251015-remove-map-page-v5-7-3bbfe3a25cdf@kernel.org>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251015-remove-map-page-v5-0-3bbfe3a25cdf@kernel.org>
References: <20251015-remove-map-page-v5-0-3bbfe3a25cdf@kernel.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
X-Mailer: b4 0.15-dev
Content-Transfer-Encoding: 8bit

From: Leon Romanovsky <leonro@nvidia.com>

Alpha doesn't need struct *page and can perform mapping based on
physical addresses. So convert it to implement new .map_phys callback.

As part of this change, remove useless BUG_ON() as DMA mapping layer
ensures that right direction is provided.

Tested-by: Magnus Lindholm <linmag7@gmail.com>
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
---
 arch/alpha/kernel/pci_iommu.c | 48 +++++++++++++++++++------------------------
 1 file changed, 21 insertions(+), 27 deletions(-)

diff --git a/arch/alpha/kernel/pci_iommu.c b/arch/alpha/kernel/pci_iommu.c
index dc91de50f906..955b6ca61627 100644
--- a/arch/alpha/kernel/pci_iommu.c
+++ b/arch/alpha/kernel/pci_iommu.c
@@ -224,28 +224,26 @@ static int pci_dac_dma_supported(struct pci_dev *dev, u64 mask)
    until either pci_unmap_single or pci_dma_sync_single is performed.  */
 
 static dma_addr_t
-pci_map_single_1(struct pci_dev *pdev, void *cpu_addr, size_t size,
+pci_map_single_1(struct pci_dev *pdev, phys_addr_t paddr, size_t size,
 		 int dac_allowed)
 {
 	struct pci_controller *hose = pdev ? pdev->sysdata : pci_isa_hose;
 	dma_addr_t max_dma = pdev ? pdev->dma_mask : ISA_DMA_MASK;
+	unsigned long offset = offset_in_page(paddr);
 	struct pci_iommu_arena *arena;
 	long npages, dma_ofs, i;
-	unsigned long paddr;
 	dma_addr_t ret;
 	unsigned int align = 0;
 	struct device *dev = pdev ? &pdev->dev : NULL;
 
-	paddr = __pa(cpu_addr);
-
 #if !DEBUG_NODIRECT
 	/* First check to see if we can use the direct map window.  */
 	if (paddr + size + __direct_map_base - 1 <= max_dma
 	    && paddr + size <= __direct_map_size) {
 		ret = paddr + __direct_map_base;
 
-		DBGA2("pci_map_single: [%p,%zx] -> direct %llx from %ps\n",
-		      cpu_addr, size, ret, __builtin_return_address(0));
+		DBGA2("pci_map_single: [%pa,%zx] -> direct %llx from %ps\n",
+		      &paddr, size, ret, __builtin_return_address(0));
 
 		return ret;
 	}
@@ -255,8 +253,8 @@ pci_map_single_1(struct pci_dev *pdev, void *cpu_addr, size_t size,
 	if (dac_allowed) {
 		ret = paddr + alpha_mv.pci_dac_offset;
 
-		DBGA2("pci_map_single: [%p,%zx] -> DAC %llx from %ps\n",
-		      cpu_addr, size, ret, __builtin_return_address(0));
+		DBGA2("pci_map_single: [%pa,%zx] -> DAC %llx from %ps\n",
+		      &paddr, size, ret, __builtin_return_address(0));
 
 		return ret;
 	}
@@ -290,10 +288,10 @@ pci_map_single_1(struct pci_dev *pdev, void *cpu_addr, size_t size,
 		arena->ptes[i + dma_ofs] = mk_iommu_pte(paddr);
 
 	ret = arena->dma_base + dma_ofs * PAGE_SIZE;
-	ret += (unsigned long)cpu_addr & ~PAGE_MASK;
+	ret += offset;
 
-	DBGA2("pci_map_single: [%p,%zx] np %ld -> sg %llx from %ps\n",
-	      cpu_addr, size, npages, ret, __builtin_return_address(0));
+	DBGA2("pci_map_single: [%pa,%zx] np %ld -> sg %llx from %ps\n",
+	      &paddr, size, npages, ret, __builtin_return_address(0));
 
 	return ret;
 }
@@ -322,19 +320,18 @@ static struct pci_dev *alpha_gendev_to_pci(struct device *dev)
 	return NULL;
 }
 
-static dma_addr_t alpha_pci_map_page(struct device *dev, struct page *page,
-				     unsigned long offset, size_t size,
-				     enum dma_data_direction dir,
+static dma_addr_t alpha_pci_map_phys(struct device *dev, phys_addr_t phys,
+				     size_t size, enum dma_data_direction dir,
 				     unsigned long attrs)
 {
 	struct pci_dev *pdev = alpha_gendev_to_pci(dev);
 	int dac_allowed;
 
-	BUG_ON(dir == DMA_NONE);
+	if (unlikely(attrs & DMA_ATTR_MMIO))
+		return DMA_MAPPING_ERROR;
 
-	dac_allowed = pdev ? pci_dac_dma_supported(pdev, pdev->dma_mask) : 0; 
-	return pci_map_single_1(pdev, (char *)page_address(page) + offset, 
-				size, dac_allowed);
+	dac_allowed = pdev ? pci_dac_dma_supported(pdev, pdev->dma_mask) : 0;
+	return pci_map_single_1(pdev, phys, size, dac_allowed);
 }
 
 /* Unmap a single streaming mode DMA translation.  The DMA_ADDR and
@@ -343,7 +340,7 @@ static dma_addr_t alpha_pci_map_page(struct device *dev, struct page *page,
    the cpu to the buffer are guaranteed to see whatever the device
    wrote there.  */
 
-static void alpha_pci_unmap_page(struct device *dev, dma_addr_t dma_addr,
+static void alpha_pci_unmap_phys(struct device *dev, dma_addr_t dma_addr,
 				 size_t size, enum dma_data_direction dir,
 				 unsigned long attrs)
 {
@@ -353,8 +350,6 @@ static void alpha_pci_unmap_page(struct device *dev, dma_addr_t dma_addr,
 	struct pci_iommu_arena *arena;
 	long dma_ofs, npages;
 
-	BUG_ON(dir == DMA_NONE);
-
 	if (dma_addr >= __direct_map_base
 	    && dma_addr < __direct_map_base + __direct_map_size) {
 		/* Nothing to do.  */
@@ -429,7 +424,7 @@ static void *alpha_pci_alloc_coherent(struct device *dev, size_t size,
 	}
 	memset(cpu_addr, 0, size);
 
-	*dma_addrp = pci_map_single_1(pdev, cpu_addr, size, 0);
+	*dma_addrp = pci_map_single_1(pdev, virt_to_phys(cpu_addr), size, 0);
 	if (*dma_addrp == DMA_MAPPING_ERROR) {
 		free_pages((unsigned long)cpu_addr, order);
 		if (alpha_mv.mv_pci_tbi || (gfp & GFP_DMA))
@@ -643,9 +638,8 @@ static int alpha_pci_map_sg(struct device *dev, struct scatterlist *sg,
 	/* Fast path single entry scatterlists.  */
 	if (nents == 1) {
 		sg->dma_length = sg->length;
-		sg->dma_address
-		  = pci_map_single_1(pdev, SG_ENT_VIRT_ADDRESS(sg),
-				     sg->length, dac_allowed);
+		sg->dma_address = pci_map_single_1(pdev, sg_phys(sg),
+						   sg->length, dac_allowed);
 		if (sg->dma_address == DMA_MAPPING_ERROR)
 			return -EIO;
 		return 1;
@@ -917,8 +911,8 @@ iommu_unbind(struct pci_iommu_arena *arena, long pg_start, long pg_count)
 const struct dma_map_ops alpha_pci_ops = {
 	.alloc			= alpha_pci_alloc_coherent,
 	.free			= alpha_pci_free_coherent,
-	.map_page		= alpha_pci_map_page,
-	.unmap_page		= alpha_pci_unmap_page,
+	.map_phys		= alpha_pci_map_phys,
+	.unmap_phys		= alpha_pci_unmap_phys,
 	.map_sg			= alpha_pci_map_sg,
 	.unmap_sg		= alpha_pci_unmap_sg,
 	.dma_supported		= alpha_pci_supported,

-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 15 09:13:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 09:13:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143410.1477170 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8xZi-00057h-Iw; Wed, 15 Oct 2025 09:13:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143410.1477170; Wed, 15 Oct 2025 09:13:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8xZi-00057O-Ff; Wed, 15 Oct 2025 09:13:38 +0000
Received: by outflank-mailman (input) for mailman id 1143410;
 Wed, 15 Oct 2025 09:13:37 +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 <SRS0=aLBx=4Y=kernel.org=leon@srs-se1.protection.inumbo.net>)
 id 1v8xZh-0002lL-3v
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 09:13:37 +0000
Received: from tor.source.kernel.org (tor.source.kernel.org
 [2600:3c04:e001:324:0:1991:8:25])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 39aab269-a9a7-11f0-980a-7dc792cee155;
 Wed, 15 Oct 2025 11:13:34 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by tor.source.kernel.org (Postfix) with ESMTP id C98CB63BF7;
 Wed, 15 Oct 2025 09:13:33 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id CED5FC4CEF9;
 Wed, 15 Oct 2025 09:13:32 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 39aab269-a9a7-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1760519613;
	bh=20pkhPTluVu52SbPzmxmrTfHrn6yEtG7pWga+DsrWIc=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=Ig53rDzt8hiBzZZ+zdzkS7cx6K4XFlPakt74zliZ2VuFOxA/v+TKFBvFTWoou1sUN
	 q53E6CiOe35aym9Eqm8SnAer8W1OFJFVkHe3wWEFH4Ithjt31CpiK1AAPn+wYcvsWw
	 LMgdDn2fvxI1mJluK4lYZ292gEC9pr+xl8CZRpwwmz64D7xTeEPTRhwbKU6VeCcRVk
	 LtLSCMxyCZQlEPmtLI/pgkfz+kbl+r9ceDLpdIznTuwex+mPkjdDZ9f8md8PKxM9C4
	 eroP4W9zJU2vT9cO8vlBtQn8KWZOrYYGD9/qePUDi07GGe7B84+AoJ0M7EyrOLjuu+
	 lNptFD7tgV7qw==
From: Leon Romanovsky <leon@kernel.org>
To: Marek Szyprowski <m.szyprowski@samsung.com>,
	Robin Murphy <robin.murphy@arm.com>,
	Russell King <linux@armlinux.org.uk>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Matt Turner <mattst88@gmail.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
	Helge Deller <deller@gmx.de>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Geoff Levand <geoff@infradead.org>,
	"David S. Miller" <davem@davemloft.net>,
	Andreas Larsson <andreas@gaisler.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>
Cc: iommu@lists.linux.dev,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	linux-alpha@vger.kernel.org,
	linux-mips@vger.kernel.org,
	linux-parisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	sparclinux@vger.kernel.org,
	Jason Gunthorpe <jgg@ziepe.ca>,
	Jason Gunthorpe <jgg@nvidia.com>
Subject: [PATCH v5 08/14] MIPS/jazzdma: Provide physical address directly
Date: Wed, 15 Oct 2025 12:12:54 +0300
Message-ID: <20251015-remove-map-page-v5-8-3bbfe3a25cdf@kernel.org>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251015-remove-map-page-v5-0-3bbfe3a25cdf@kernel.org>
References: <20251015-remove-map-page-v5-0-3bbfe3a25cdf@kernel.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
X-Mailer: b4 0.15-dev
Content-Transfer-Encoding: 8bit

From: Leon Romanovsky <leonro@nvidia.com>

MIPS jazz uses physical addresses for mapping pages, so convert
it to get them directly from DMA mapping routine.

Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
---
 arch/mips/jazz/jazzdma.c | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

diff --git a/arch/mips/jazz/jazzdma.c b/arch/mips/jazz/jazzdma.c
index c97b089b9902..eb9fb2f2a720 100644
--- a/arch/mips/jazz/jazzdma.c
+++ b/arch/mips/jazz/jazzdma.c
@@ -521,18 +521,24 @@ static void jazz_dma_free(struct device *dev, size_t size, void *vaddr,
 	__free_pages(virt_to_page(vaddr), get_order(size));
 }
 
-static dma_addr_t jazz_dma_map_page(struct device *dev, struct page *page,
-		unsigned long offset, size_t size, enum dma_data_direction dir,
-		unsigned long attrs)
+static dma_addr_t jazz_dma_map_phys(struct device *dev, phys_addr_t phys,
+		size_t size, enum dma_data_direction dir, unsigned long attrs)
 {
-	phys_addr_t phys = page_to_phys(page) + offset;
+	if (unlikely(attrs & DMA_ATTR_MMIO))
+		/*
+		 * This check is included because older versions of the code lacked
+		 * MMIO path support, and my ability to test this path is limited.
+		 * However, from a software technical standpoint, there is no restriction,
+		 * as the following code operates solely on physical addresses.
+		 */
+		return DMA_MAPPING_ERROR;
 
 	if (!(attrs & DMA_ATTR_SKIP_CPU_SYNC))
 		arch_sync_dma_for_device(phys, size, dir);
 	return vdma_alloc(phys, size);
 }
 
-static void jazz_dma_unmap_page(struct device *dev, dma_addr_t dma_addr,
+static void jazz_dma_unmap_phys(struct device *dev, dma_addr_t dma_addr,
 		size_t size, enum dma_data_direction dir, unsigned long attrs)
 {
 	if (!(attrs & DMA_ATTR_SKIP_CPU_SYNC))
@@ -607,8 +613,8 @@ static void jazz_dma_sync_sg_for_cpu(struct device *dev,
 const struct dma_map_ops jazz_dma_ops = {
 	.alloc			= jazz_dma_alloc,
 	.free			= jazz_dma_free,
-	.map_page		= jazz_dma_map_page,
-	.unmap_page		= jazz_dma_unmap_page,
+	.map_phys		= jazz_dma_map_phys,
+	.unmap_phys		= jazz_dma_unmap_phys,
 	.map_sg			= jazz_dma_map_sg,
 	.unmap_sg		= jazz_dma_unmap_sg,
 	.sync_single_for_cpu	= jazz_dma_sync_single_for_cpu,

-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 15 09:16:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 09:16:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143447.1477179 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8xc6-0006zL-0F; Wed, 15 Oct 2025 09:16:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143447.1477179; Wed, 15 Oct 2025 09:16:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8xc5-0006zE-Tx; Wed, 15 Oct 2025 09:16:05 +0000
Received: by outflank-mailman (input) for mailman id 1143447;
 Wed, 15 Oct 2025 09:16:04 +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 <SRS0=aLBx=4Y=kernel.org=leon@srs-se1.protection.inumbo.net>)
 id 1v8xZy-0002lL-3Z
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 09:13:54 +0000
Received: from tor.source.kernel.org (tor.source.kernel.org
 [2600:3c04:e001:324:0:1991:8:25])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4428821d-a9a7-11f0-980a-7dc792cee155;
 Wed, 15 Oct 2025 11:13:52 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by tor.source.kernel.org (Postfix) with ESMTP id 61E8763BEB;
 Wed, 15 Oct 2025 09:13:51 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 68352C116B1;
 Wed, 15 Oct 2025 09:13:50 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4428821d-a9a7-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1760519631;
	bh=mdWMUlQx33yhQCgB9g+eGxCMPJQasErUwNks3U6bpsY=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=rEwULnAPmCOdwy2UrV0khdEVG+QC189t+pWVTdsvqzsG8ClpvXbpHIclLUeiChJit
	 Asjzi2wPxyCyNS+yOeqOuZbyh1kzi+RASrkeH6L9WKgqJ4Nep3XyQdWIfGef5UXtLl
	 4fNLbyDWUuVqDpN4V/R/QJ801iNpMtBJyEWeF8cCn3lbsNgTFYpOnqdjul2qpJ86io
	 H6krcrHfE21Xptwb5fJAnvBqNCMlN327+oD4pwEgkzc1w47bMq0cyHHDbS9H+MSG3D
	 R2WhQOt9JKWoeo1Q4OK3KDX5S1JjA3cA5tf/m6FzVx9EfGIR1d1Mk/IWVTz8mEMZz4
	 6XQHEQ8GGkWUw==
From: Leon Romanovsky <leon@kernel.org>
To: Marek Szyprowski <m.szyprowski@samsung.com>,
	Robin Murphy <robin.murphy@arm.com>,
	Russell King <linux@armlinux.org.uk>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Matt Turner <mattst88@gmail.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
	Helge Deller <deller@gmx.de>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Geoff Levand <geoff@infradead.org>,
	"David S. Miller" <davem@davemloft.net>,
	Andreas Larsson <andreas@gaisler.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>
Cc: iommu@lists.linux.dev,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	linux-alpha@vger.kernel.org,
	linux-mips@vger.kernel.org,
	linux-parisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	sparclinux@vger.kernel.org,
	Jason Gunthorpe <jgg@ziepe.ca>,
	Jason Gunthorpe <jgg@nvidia.com>
Subject: [PATCH v5 13/14] xen: swiotlb: Convert mapping routine to rely on physical address
Date: Wed, 15 Oct 2025 12:12:59 +0300
Message-ID: <20251015-remove-map-page-v5-13-3bbfe3a25cdf@kernel.org>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251015-remove-map-page-v5-0-3bbfe3a25cdf@kernel.org>
References: <20251015-remove-map-page-v5-0-3bbfe3a25cdf@kernel.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
X-Mailer: b4 0.15-dev
Content-Transfer-Encoding: 8bit

From: Leon Romanovsky <leonro@nvidia.com>

Switch to .map_phys callback instead of .map_page.

Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
---
 drivers/xen/grant-dma-ops.c | 20 ++++++++++++--------
 1 file changed, 12 insertions(+), 8 deletions(-)

diff --git a/drivers/xen/grant-dma-ops.c b/drivers/xen/grant-dma-ops.c
index 29257d2639db..14077d23f2a1 100644
--- a/drivers/xen/grant-dma-ops.c
+++ b/drivers/xen/grant-dma-ops.c
@@ -163,18 +163,22 @@ static void xen_grant_dma_free_pages(struct device *dev, size_t size,
 	xen_grant_dma_free(dev, size, page_to_virt(vaddr), dma_handle, 0);
 }
 
-static dma_addr_t xen_grant_dma_map_page(struct device *dev, struct page *page,
-					 unsigned long offset, size_t size,
+static dma_addr_t xen_grant_dma_map_phys(struct device *dev, phys_addr_t phys,
+					 size_t size,
 					 enum dma_data_direction dir,
 					 unsigned long attrs)
 {
 	struct xen_grant_dma_data *data;
+	unsigned long offset = offset_in_page(phys);
 	unsigned long dma_offset = xen_offset_in_page(offset),
 			pfn_offset = XEN_PFN_DOWN(offset);
 	unsigned int i, n_pages = XEN_PFN_UP(dma_offset + size);
 	grant_ref_t grant;
 	dma_addr_t dma_handle;
 
+	if (unlikely(attrs & DMA_ATTR_MMIO))
+		return DMA_MAPPING_ERROR;
+
 	if (WARN_ON(dir == DMA_NONE))
 		return DMA_MAPPING_ERROR;
 
@@ -190,7 +194,7 @@ static dma_addr_t xen_grant_dma_map_page(struct device *dev, struct page *page,
 
 	for (i = 0; i < n_pages; i++) {
 		gnttab_grant_foreign_access_ref(grant + i, data->backend_domid,
-				pfn_to_gfn(page_to_xen_pfn(page) + i + pfn_offset),
+				pfn_to_gfn(page_to_xen_pfn(phys_to_page(phys)) + i + pfn_offset),
 				dir == DMA_TO_DEVICE);
 	}
 
@@ -199,7 +203,7 @@ static dma_addr_t xen_grant_dma_map_page(struct device *dev, struct page *page,
 	return dma_handle;
 }
 
-static void xen_grant_dma_unmap_page(struct device *dev, dma_addr_t dma_handle,
+static void xen_grant_dma_unmap_phys(struct device *dev, dma_addr_t dma_handle,
 				     size_t size, enum dma_data_direction dir,
 				     unsigned long attrs)
 {
@@ -242,7 +246,7 @@ static void xen_grant_dma_unmap_sg(struct device *dev, struct scatterlist *sg,
 		return;
 
 	for_each_sg(sg, s, nents, i)
-		xen_grant_dma_unmap_page(dev, s->dma_address, sg_dma_len(s), dir,
+		xen_grant_dma_unmap_phys(dev, s->dma_address, sg_dma_len(s), dir,
 				attrs);
 }
 
@@ -257,7 +261,7 @@ static int xen_grant_dma_map_sg(struct device *dev, struct scatterlist *sg,
 		return -EINVAL;
 
 	for_each_sg(sg, s, nents, i) {
-		s->dma_address = xen_grant_dma_map_page(dev, sg_page(s), s->offset,
+		s->dma_address = xen_grant_dma_map_phys(dev, sg_phys(s),
 				s->length, dir, attrs);
 		if (s->dma_address == DMA_MAPPING_ERROR)
 			goto out;
@@ -286,8 +290,8 @@ static const struct dma_map_ops xen_grant_dma_ops = {
 	.free_pages = xen_grant_dma_free_pages,
 	.mmap = dma_common_mmap,
 	.get_sgtable = dma_common_get_sgtable,
-	.map_page = xen_grant_dma_map_page,
-	.unmap_page = xen_grant_dma_unmap_page,
+	.map_phys = xen_grant_dma_map_phys,
+	.unmap_phys = xen_grant_dma_unmap_phys,
 	.map_sg = xen_grant_dma_map_sg,
 	.unmap_sg = xen_grant_dma_unmap_sg,
 	.dma_supported = xen_grant_dma_supported,

-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 15 09:16:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 09:16:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143460.1477190 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8xcB-0007PT-7s; Wed, 15 Oct 2025 09:16:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143460.1477190; Wed, 15 Oct 2025 09:16:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8xcB-0007PM-4h; Wed, 15 Oct 2025 09:16:11 +0000
Received: by outflank-mailman (input) for mailman id 1143460;
 Wed, 15 Oct 2025 09:16:10 +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 <SRS0=aLBx=4Y=kernel.org=leon@srs-se1.protection.inumbo.net>)
 id 1v8xZt-0002lR-Ha
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 09:13:49 +0000
Received: from tor.source.kernel.org (tor.source.kernel.org [172.105.4.254])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4216bf38-a9a7-11f0-9d15-b5c5bf9af7f9;
 Wed, 15 Oct 2025 11:13:48 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by tor.source.kernel.org (Postfix) with ESMTP id E839962559;
 Wed, 15 Oct 2025 09:13:47 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id F25B0C4CEF8;
 Wed, 15 Oct 2025 09:13:46 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4216bf38-a9a7-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1760519627;
	bh=zzQXTsnLOGdg76KODINeBFjFs4FSyl4KUo2bG+1GZ8U=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=j9yhFgPgwpVs4tFWOcDRtxYhD6QBmPU5x7MeRpM5LRrV4SFruJeJ2VKVX1hlNzzev
	 RKyxdFpLxe4VxNNS1i19yVfZuvwnTr6N7nozN8QELaDHuFUcpL3uFe4KZ9kZ1Qo5T8
	 lVSnqYkJQXMvInE6HUFHqyIlw2YQz+CdLBulm6tyKPsu65Y3ehdRM9odQAFkbpL0un
	 x1cqSGLjI8L3B3I3mxWUVA6cdGriTZNj1DPjR0stP3cP9PiCRwc932+lC3wrCrzzgD
	 ghjh1wbCy4td07EhnhZgJCk7Oroyhryf2f0kU1EDufHOl+tbg2mWKnvNf9h0EXS+Ck
	 7KY0MmP16+Uvg==
From: Leon Romanovsky <leon@kernel.org>
To: Marek Szyprowski <m.szyprowski@samsung.com>,
	Robin Murphy <robin.murphy@arm.com>,
	Russell King <linux@armlinux.org.uk>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Matt Turner <mattst88@gmail.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
	Helge Deller <deller@gmx.de>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Geoff Levand <geoff@infradead.org>,
	"David S. Miller" <davem@davemloft.net>,
	Andreas Larsson <andreas@gaisler.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>
Cc: iommu@lists.linux.dev,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	linux-alpha@vger.kernel.org,
	linux-mips@vger.kernel.org,
	linux-parisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	sparclinux@vger.kernel.org,
	Jason Gunthorpe <jgg@ziepe.ca>,
	Jason Gunthorpe <jgg@nvidia.com>
Subject: [PATCH v5 12/14] x86: Use physical address for DMA mapping
Date: Wed, 15 Oct 2025 12:12:58 +0300
Message-ID: <20251015-remove-map-page-v5-12-3bbfe3a25cdf@kernel.org>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251015-remove-map-page-v5-0-3bbfe3a25cdf@kernel.org>
References: <20251015-remove-map-page-v5-0-3bbfe3a25cdf@kernel.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
X-Mailer: b4 0.15-dev
Content-Transfer-Encoding: 8bit

From: Leon Romanovsky <leonro@nvidia.com>

Perform mechanical conversion from DMA .map_page to .map_phys.

Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
---
 arch/x86/kernel/amd_gart_64.c | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

diff --git a/arch/x86/kernel/amd_gart_64.c b/arch/x86/kernel/amd_gart_64.c
index 3485d419c2f5..93a06307d953 100644
--- a/arch/x86/kernel/amd_gart_64.c
+++ b/arch/x86/kernel/amd_gart_64.c
@@ -222,13 +222,14 @@ static dma_addr_t dma_map_area(struct device *dev, dma_addr_t phys_mem,
 }
 
 /* Map a single area into the IOMMU */
-static dma_addr_t gart_map_page(struct device *dev, struct page *page,
-				unsigned long offset, size_t size,
-				enum dma_data_direction dir,
+static dma_addr_t gart_map_phys(struct device *dev, phys_addr_t paddr,
+				size_t size, enum dma_data_direction dir,
 				unsigned long attrs)
 {
 	unsigned long bus;
-	phys_addr_t paddr = page_to_phys(page) + offset;
+
+	if (unlikely(attrs & DMA_ATTR_MMIO))
+		return DMA_MAPPING_ERROR;
 
 	if (!need_iommu(dev, paddr, size))
 		return paddr;
@@ -242,7 +243,7 @@ static dma_addr_t gart_map_page(struct device *dev, struct page *page,
 /*
  * Free a DMA mapping.
  */
-static void gart_unmap_page(struct device *dev, dma_addr_t dma_addr,
+static void gart_unmap_phys(struct device *dev, dma_addr_t dma_addr,
 			    size_t size, enum dma_data_direction dir,
 			    unsigned long attrs)
 {
@@ -282,7 +283,7 @@ static void gart_unmap_sg(struct device *dev, struct scatterlist *sg, int nents,
 	for_each_sg(sg, s, nents, i) {
 		if (!s->dma_length || !s->length)
 			break;
-		gart_unmap_page(dev, s->dma_address, s->dma_length, dir, 0);
+		gart_unmap_phys(dev, s->dma_address, s->dma_length, dir, 0);
 	}
 }
 
@@ -487,7 +488,7 @@ static void
 gart_free_coherent(struct device *dev, size_t size, void *vaddr,
 		   dma_addr_t dma_addr, unsigned long attrs)
 {
-	gart_unmap_page(dev, dma_addr, size, DMA_BIDIRECTIONAL, 0);
+	gart_unmap_phys(dev, dma_addr, size, DMA_BIDIRECTIONAL, 0);
 	dma_direct_free(dev, size, vaddr, dma_addr, attrs);
 }
 
@@ -668,8 +669,8 @@ static __init int init_amd_gatt(struct agp_kern_info *info)
 static const struct dma_map_ops gart_dma_ops = {
 	.map_sg				= gart_map_sg,
 	.unmap_sg			= gart_unmap_sg,
-	.map_page			= gart_map_page,
-	.unmap_page			= gart_unmap_page,
+	.map_phys			= gart_map_phys,
+	.unmap_phys			= gart_unmap_phys,
 	.alloc				= gart_alloc_coherent,
 	.free				= gart_free_coherent,
 	.mmap				= dma_common_mmap,

-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 15 09:16:13 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 09:16:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143463.1477200 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8xcD-0007fL-Fg; Wed, 15 Oct 2025 09:16:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143463.1477200; Wed, 15 Oct 2025 09:16:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8xcD-0007fA-CP; Wed, 15 Oct 2025 09:16:13 +0000
Received: by outflank-mailman (input) for mailman id 1143463;
 Wed, 15 Oct 2025 09:16:12 +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 <SRS0=aLBx=4Y=kernel.org=leon@srs-se1.protection.inumbo.net>)
 id 1v8xZr-0002lL-Mn
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 09:13:47 +0000
Received: from tor.source.kernel.org (tor.source.kernel.org
 [2600:3c04:e001:324:0:1991:8:25])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 401703d9-a9a7-11f0-980a-7dc792cee155;
 Wed, 15 Oct 2025 11:13:45 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by tor.source.kernel.org (Postfix) with ESMTP id 86F3C63BF7;
 Wed, 15 Oct 2025 09:13:44 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 833DCC4CEFE;
 Wed, 15 Oct 2025 09:13:43 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 401703d9-a9a7-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1760519624;
	bh=VJMEonbngsbL6IpijrzIYHbjAMBroRqSUu3lz2uAAqo=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=KczTkmrb6bYU8Tg9j49OYe6YFKsv5pKXc/7hhZGsvcfW/wQgfV3qMC+lUeGrd2hUc
	 5zpPw/ZMjilS2KzneKF6/BHue7NxPjjRokSrqt0egj3uQim/5oLmDLiV18WAxxuXRH
	 AwmUbgF2eCa2HLDg30cM/Zq+hYSEmp9m66qrcC2r5aS2bBcWr+scUqtrtFkAz3ayhK
	 jdrrQUkifKtfJkBj8o4umhVpXAysn34TBn3haaSXGmxtbq7dyLZthT2Arkgqqtnhit
	 lpWDHniY0RhzMRDC1by7nUOQ3eiURectjDf0dLDCPYQvbXTMlwDVSffrfvAqOW7G12
	 S0FUxgeWE1dDA==
From: Leon Romanovsky <leon@kernel.org>
To: Marek Szyprowski <m.szyprowski@samsung.com>,
	Robin Murphy <robin.murphy@arm.com>,
	Russell King <linux@armlinux.org.uk>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Matt Turner <mattst88@gmail.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
	Helge Deller <deller@gmx.de>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Geoff Levand <geoff@infradead.org>,
	"David S. Miller" <davem@davemloft.net>,
	Andreas Larsson <andreas@gaisler.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>
Cc: iommu@lists.linux.dev,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	linux-alpha@vger.kernel.org,
	linux-mips@vger.kernel.org,
	linux-parisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	sparclinux@vger.kernel.org
Subject: [PATCH v5 11/14] sparc: Use physical address DMA mapping
Date: Wed, 15 Oct 2025 12:12:57 +0300
Message-ID: <20251015-remove-map-page-v5-11-3bbfe3a25cdf@kernel.org>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251015-remove-map-page-v5-0-3bbfe3a25cdf@kernel.org>
References: <20251015-remove-map-page-v5-0-3bbfe3a25cdf@kernel.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
X-Mailer: b4 0.15-dev
Content-Transfer-Encoding: 8bit

From: Leon Romanovsky <leonro@nvidia.com>

Convert sparc architecture DMA code to use .map_phys callback.

Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
---
 arch/sparc/kernel/iommu.c     | 30 +++++++++++++++++-----------
 arch/sparc/kernel/pci_sun4v.c | 31 ++++++++++++++++++-----------
 arch/sparc/mm/io-unit.c       | 38 ++++++++++++++++++-----------------
 arch/sparc/mm/iommu.c         | 46 ++++++++++++++++++++++---------------------
 4 files changed, 82 insertions(+), 63 deletions(-)

diff --git a/arch/sparc/kernel/iommu.c b/arch/sparc/kernel/iommu.c
index da0363692528..46ef88bc9c26 100644
--- a/arch/sparc/kernel/iommu.c
+++ b/arch/sparc/kernel/iommu.c
@@ -260,26 +260,35 @@ static void dma_4u_free_coherent(struct device *dev, size_t size,
 		free_pages((unsigned long)cpu, order);
 }
 
-static dma_addr_t dma_4u_map_page(struct device *dev, struct page *page,
-				  unsigned long offset, size_t sz,
-				  enum dma_data_direction direction,
+static dma_addr_t dma_4u_map_phys(struct device *dev, phys_addr_t phys,
+				  size_t sz, enum dma_data_direction direction,
 				  unsigned long attrs)
 {
 	struct iommu *iommu;
 	struct strbuf *strbuf;
 	iopte_t *base;
 	unsigned long flags, npages, oaddr;
-	unsigned long i, base_paddr, ctx;
+	unsigned long i, ctx;
 	u32 bus_addr, ret;
 	unsigned long iopte_protection;
 
+	if (unlikely(attrs & DMA_ATTR_MMIO))
+		/*
+		 * This check is included because older versions of the code
+		 * lacked MMIO path support, and my ability to test this path
+		 * is limited. However, from a software technical standpoint,
+		 * there is no restriction, as the following code operates
+		 * solely on physical addresses.
+		 */
+		goto bad_no_ctx;
+
 	iommu = dev->archdata.iommu;
 	strbuf = dev->archdata.stc;
 
 	if (unlikely(direction == DMA_NONE))
 		goto bad_no_ctx;
 
-	oaddr = (unsigned long)(page_address(page) + offset);
+	oaddr = (unsigned long)(phys_to_virt(phys));
 	npages = IO_PAGE_ALIGN(oaddr + sz) - (oaddr & IO_PAGE_MASK);
 	npages >>= IO_PAGE_SHIFT;
 
@@ -296,7 +305,6 @@ static dma_addr_t dma_4u_map_page(struct device *dev, struct page *page,
 	bus_addr = (iommu->tbl.table_map_base +
 		    ((base - iommu->page_table) << IO_PAGE_SHIFT));
 	ret = bus_addr | (oaddr & ~IO_PAGE_MASK);
-	base_paddr = __pa(oaddr & IO_PAGE_MASK);
 	if (strbuf->strbuf_enabled)
 		iopte_protection = IOPTE_STREAMING(ctx);
 	else
@@ -304,8 +312,8 @@ static dma_addr_t dma_4u_map_page(struct device *dev, struct page *page,
 	if (direction != DMA_TO_DEVICE)
 		iopte_protection |= IOPTE_WRITE;
 
-	for (i = 0; i < npages; i++, base++, base_paddr += IO_PAGE_SIZE)
-		iopte_val(*base) = iopte_protection | base_paddr;
+	for (i = 0; i < npages; i++, base++, phys += IO_PAGE_SIZE)
+		iopte_val(*base) = iopte_protection | phys;
 
 	return ret;
 
@@ -383,7 +391,7 @@ static void strbuf_flush(struct strbuf *strbuf, struct iommu *iommu,
 		       vaddr, ctx, npages);
 }
 
-static void dma_4u_unmap_page(struct device *dev, dma_addr_t bus_addr,
+static void dma_4u_unmap_phys(struct device *dev, dma_addr_t bus_addr,
 			      size_t sz, enum dma_data_direction direction,
 			      unsigned long attrs)
 {
@@ -753,8 +761,8 @@ static int dma_4u_supported(struct device *dev, u64 device_mask)
 static const struct dma_map_ops sun4u_dma_ops = {
 	.alloc			= dma_4u_alloc_coherent,
 	.free			= dma_4u_free_coherent,
-	.map_page		= dma_4u_map_page,
-	.unmap_page		= dma_4u_unmap_page,
+	.map_phys		= dma_4u_map_phys,
+	.unmap_phys		= dma_4u_unmap_phys,
 	.map_sg			= dma_4u_map_sg,
 	.unmap_sg		= dma_4u_unmap_sg,
 	.sync_single_for_cpu	= dma_4u_sync_single_for_cpu,
diff --git a/arch/sparc/kernel/pci_sun4v.c b/arch/sparc/kernel/pci_sun4v.c
index b720b21ccfbd..791f0a76665f 100644
--- a/arch/sparc/kernel/pci_sun4v.c
+++ b/arch/sparc/kernel/pci_sun4v.c
@@ -352,9 +352,8 @@ static void dma_4v_free_coherent(struct device *dev, size_t size, void *cpu,
 		free_pages((unsigned long)cpu, order);
 }
 
-static dma_addr_t dma_4v_map_page(struct device *dev, struct page *page,
-				  unsigned long offset, size_t sz,
-				  enum dma_data_direction direction,
+static dma_addr_t dma_4v_map_phys(struct device *dev, phys_addr_t phys,
+				  size_t sz, enum dma_data_direction direction,
 				  unsigned long attrs)
 {
 	struct iommu *iommu;
@@ -362,18 +361,27 @@ static dma_addr_t dma_4v_map_page(struct device *dev, struct page *page,
 	struct iommu_map_table *tbl;
 	u64 mask;
 	unsigned long flags, npages, oaddr;
-	unsigned long i, base_paddr;
-	unsigned long prot;
+	unsigned long i, prot;
 	dma_addr_t bus_addr, ret;
 	long entry;
 
+	if (unlikely(attrs & DMA_ATTR_MMIO))
+		/*
+		 * This check is included because older versions of the code
+		 * lacked MMIO path support, and my ability to test this path
+		 * is limited. However, from a software technical standpoint,
+		 * there is no restriction, as the following code operates
+		 * solely on physical addresses.
+		 */
+		goto bad;
+
 	iommu = dev->archdata.iommu;
 	atu = iommu->atu;
 
 	if (unlikely(direction == DMA_NONE))
 		goto bad;
 
-	oaddr = (unsigned long)(page_address(page) + offset);
+	oaddr = (unsigned long)(phys_to_virt(phys));
 	npages = IO_PAGE_ALIGN(oaddr + sz) - (oaddr & IO_PAGE_MASK);
 	npages >>= IO_PAGE_SHIFT;
 
@@ -391,7 +399,6 @@ static dma_addr_t dma_4v_map_page(struct device *dev, struct page *page,
 
 	bus_addr = (tbl->table_map_base + (entry << IO_PAGE_SHIFT));
 	ret = bus_addr | (oaddr & ~IO_PAGE_MASK);
-	base_paddr = __pa(oaddr & IO_PAGE_MASK);
 	prot = HV_PCI_MAP_ATTR_READ;
 	if (direction != DMA_TO_DEVICE)
 		prot |= HV_PCI_MAP_ATTR_WRITE;
@@ -403,8 +410,8 @@ static dma_addr_t dma_4v_map_page(struct device *dev, struct page *page,
 
 	iommu_batch_start(dev, prot, entry);
 
-	for (i = 0; i < npages; i++, base_paddr += IO_PAGE_SIZE) {
-		long err = iommu_batch_add(base_paddr, mask);
+	for (i = 0; i < npages; i++, phys += IO_PAGE_SIZE) {
+		long err = iommu_batch_add(phys, mask);
 		if (unlikely(err < 0L))
 			goto iommu_map_fail;
 	}
@@ -426,7 +433,7 @@ static dma_addr_t dma_4v_map_page(struct device *dev, struct page *page,
 	return DMA_MAPPING_ERROR;
 }
 
-static void dma_4v_unmap_page(struct device *dev, dma_addr_t bus_addr,
+static void dma_4v_unmap_phys(struct device *dev, dma_addr_t bus_addr,
 			      size_t sz, enum dma_data_direction direction,
 			      unsigned long attrs)
 {
@@ -686,8 +693,8 @@ static int dma_4v_supported(struct device *dev, u64 device_mask)
 static const struct dma_map_ops sun4v_dma_ops = {
 	.alloc				= dma_4v_alloc_coherent,
 	.free				= dma_4v_free_coherent,
-	.map_page			= dma_4v_map_page,
-	.unmap_page			= dma_4v_unmap_page,
+	.map_phys			= dma_4v_map_phys,
+	.unmap_phys			= dma_4v_unmap_phys,
 	.map_sg				= dma_4v_map_sg,
 	.unmap_sg			= dma_4v_unmap_sg,
 	.dma_supported			= dma_4v_supported,
diff --git a/arch/sparc/mm/io-unit.c b/arch/sparc/mm/io-unit.c
index d8376f61b4d0..d409cb450de4 100644
--- a/arch/sparc/mm/io-unit.c
+++ b/arch/sparc/mm/io-unit.c
@@ -94,13 +94,14 @@ static int __init iounit_init(void)
 subsys_initcall(iounit_init);
 
 /* One has to hold iounit->lock to call this */
-static unsigned long iounit_get_area(struct iounit_struct *iounit, unsigned long vaddr, int size)
+static dma_addr_t iounit_get_area(struct iounit_struct *iounit,
+				  phys_addr_t phys, int size)
 {
 	int i, j, k, npages;
 	unsigned long rotor, scan, limit;
 	iopte_t iopte;
 
-        npages = ((vaddr & ~PAGE_MASK) + size + (PAGE_SIZE-1)) >> PAGE_SHIFT;
+	npages = (offset_in_page(phys) + size + (PAGE_SIZE - 1)) >> PAGE_SHIFT;
 
 	/* A tiny bit of magic ingredience :) */
 	switch (npages) {
@@ -109,7 +110,7 @@ static unsigned long iounit_get_area(struct iounit_struct *iounit, unsigned long
 	default: i = 0x0213; break;
 	}
 	
-	IOD(("iounit_get_area(%08lx,%d[%d])=", vaddr, size, npages));
+	IOD(("%s(%pa,%d[%d])=", __func__, &phys, size, npages));
 	
 next:	j = (i & 15);
 	rotor = iounit->rotor[j - 1];
@@ -124,7 +125,8 @@ nexti:	scan = find_next_zero_bit(iounit->bmap, limit, scan);
 		}
 		i >>= 4;
 		if (!(i & 15))
-			panic("iounit_get_area: Couldn't find free iopte slots for (%08lx,%d)\n", vaddr, size);
+			panic("iounit_get_area: Couldn't find free iopte slots for (%pa,%d)\n",
+			      &phys, size);
 		goto next;
 	}
 	for (k = 1, scan++; k < npages; k++)
@@ -132,30 +134,29 @@ nexti:	scan = find_next_zero_bit(iounit->bmap, limit, scan);
 			goto nexti;
 	iounit->rotor[j - 1] = (scan < limit) ? scan : iounit->limit[j - 1];
 	scan -= npages;
-	iopte = MKIOPTE(__pa(vaddr & PAGE_MASK));
-	vaddr = IOUNIT_DMA_BASE + (scan << PAGE_SHIFT) + (vaddr & ~PAGE_MASK);
+	iopte = MKIOPTE(phys & PAGE_MASK);
+	phys = IOUNIT_DMA_BASE + (scan << PAGE_SHIFT) + offset_in_page(phys);
 	for (k = 0; k < npages; k++, iopte = __iopte(iopte_val(iopte) + 0x100), scan++) {
 		set_bit(scan, iounit->bmap);
 		sbus_writel(iopte_val(iopte), &iounit->page_table[scan]);
 	}
-	IOD(("%08lx\n", vaddr));
-	return vaddr;
+	IOD(("%pa\n", &phys));
+	return phys;
 }
 
-static dma_addr_t iounit_map_page(struct device *dev, struct page *page,
-		unsigned long offset, size_t len, enum dma_data_direction dir,
-		unsigned long attrs)
+static dma_addr_t iounit_map_phys(struct device *dev, phys_addr_t phys,
+		size_t len, enum dma_data_direction dir, unsigned long attrs)
 {
-	void *vaddr = page_address(page) + offset;
 	struct iounit_struct *iounit = dev->archdata.iommu;
-	unsigned long ret, flags;
+	unsigned long flags;
+	dma_addr_t ret;
 	
 	/* XXX So what is maxphys for us and how do drivers know it? */
 	if (!len || len > 256 * 1024)
 		return DMA_MAPPING_ERROR;
 
 	spin_lock_irqsave(&iounit->lock, flags);
-	ret = iounit_get_area(iounit, (unsigned long)vaddr, len);
+	ret = iounit_get_area(iounit, phys, len);
 	spin_unlock_irqrestore(&iounit->lock, flags);
 	return ret;
 }
@@ -171,14 +172,15 @@ static int iounit_map_sg(struct device *dev, struct scatterlist *sgl, int nents,
 	/* FIXME: Cache some resolved pages - often several sg entries are to the same page */
 	spin_lock_irqsave(&iounit->lock, flags);
 	for_each_sg(sgl, sg, nents, i) {
-		sg->dma_address = iounit_get_area(iounit, (unsigned long) sg_virt(sg), sg->length);
+		sg->dma_address =
+			iounit_get_area(iounit, sg_phys(sg), sg->length);
 		sg->dma_length = sg->length;
 	}
 	spin_unlock_irqrestore(&iounit->lock, flags);
 	return nents;
 }
 
-static void iounit_unmap_page(struct device *dev, dma_addr_t vaddr, size_t len,
+static void iounit_unmap_phys(struct device *dev, dma_addr_t vaddr, size_t len,
 		enum dma_data_direction dir, unsigned long attrs)
 {
 	struct iounit_struct *iounit = dev->archdata.iommu;
@@ -279,8 +281,8 @@ static const struct dma_map_ops iounit_dma_ops = {
 	.alloc			= iounit_alloc,
 	.free			= iounit_free,
 #endif
-	.map_page		= iounit_map_page,
-	.unmap_page		= iounit_unmap_page,
+	.map_phys		= iounit_map_phys,
+	.unmap_phys		= iounit_unmap_phys,
 	.map_sg			= iounit_map_sg,
 	.unmap_sg		= iounit_unmap_sg,
 };
diff --git a/arch/sparc/mm/iommu.c b/arch/sparc/mm/iommu.c
index 5a5080db800f..f48adf62724a 100644
--- a/arch/sparc/mm/iommu.c
+++ b/arch/sparc/mm/iommu.c
@@ -181,18 +181,20 @@ static void iommu_flush_iotlb(iopte_t *iopte, unsigned int niopte)
 	}
 }
 
-static dma_addr_t __sbus_iommu_map_page(struct device *dev, struct page *page,
-		unsigned long offset, size_t len, bool per_page_flush)
+static dma_addr_t __sbus_iommu_map_phys(struct device *dev, phys_addr_t paddr,
+		size_t len, bool per_page_flush, unsigned long attrs)
 {
 	struct iommu_struct *iommu = dev->archdata.iommu;
-	phys_addr_t paddr = page_to_phys(page) + offset;
-	unsigned long off = paddr & ~PAGE_MASK;
+	unsigned long off = offset_in_page(paddr);
 	unsigned long npages = (off + len + PAGE_SIZE - 1) >> PAGE_SHIFT;
 	unsigned long pfn = __phys_to_pfn(paddr);
 	unsigned int busa, busa0;
 	iopte_t *iopte, *iopte0;
 	int ioptex, i;
 
+	if (unlikely(attrs & DMA_ATTR_MMIO))
+		return DMA_MAPPING_ERROR;
+
 	/* XXX So what is maxphys for us and how do drivers know it? */
 	if (!len || len > 256 * 1024)
 		return DMA_MAPPING_ERROR;
@@ -202,10 +204,10 @@ static dma_addr_t __sbus_iommu_map_page(struct device *dev, struct page *page,
 	 * XXX Is this a good assumption?
 	 * XXX What if someone else unmaps it here and races us?
 	 */
-	if (per_page_flush && !PageHighMem(page)) {
+	if (per_page_flush && !PhysHighMem(paddr)) {
 		unsigned long vaddr, p;
 
-		vaddr = (unsigned long)page_address(page) + offset;
+		vaddr = (unsigned long)phys_to_virt(paddr);
 		for (p = vaddr & PAGE_MASK; p < vaddr + len; p += PAGE_SIZE)
 			flush_page_for_dma(p);
 	}
@@ -231,19 +233,19 @@ static dma_addr_t __sbus_iommu_map_page(struct device *dev, struct page *page,
 	return busa0 + off;
 }
 
-static dma_addr_t sbus_iommu_map_page_gflush(struct device *dev,
-		struct page *page, unsigned long offset, size_t len,
-		enum dma_data_direction dir, unsigned long attrs)
+static dma_addr_t sbus_iommu_map_phys_gflush(struct device *dev,
+		phys_addr_t phys, size_t len, enum dma_data_direction dir,
+		unsigned long attrs)
 {
 	flush_page_for_dma(0);
-	return __sbus_iommu_map_page(dev, page, offset, len, false);
+	return __sbus_iommu_map_phys(dev, phys, len, false, attrs);
 }
 
-static dma_addr_t sbus_iommu_map_page_pflush(struct device *dev,
-		struct page *page, unsigned long offset, size_t len,
-		enum dma_data_direction dir, unsigned long attrs)
+static dma_addr_t sbus_iommu_map_phys_pflush(struct device *dev,
+		phys_addr_t phys, size_t len, enum dma_data_direction dir,
+		unsigned long attrs)
 {
-	return __sbus_iommu_map_page(dev, page, offset, len, true);
+	return __sbus_iommu_map_phys(dev, phys, len, true, attrs);
 }
 
 static int __sbus_iommu_map_sg(struct device *dev, struct scatterlist *sgl,
@@ -254,8 +256,8 @@ static int __sbus_iommu_map_sg(struct device *dev, struct scatterlist *sgl,
 	int j;
 
 	for_each_sg(sgl, sg, nents, j) {
-		sg->dma_address =__sbus_iommu_map_page(dev, sg_page(sg),
-				sg->offset, sg->length, per_page_flush);
+		sg->dma_address = __sbus_iommu_map_phys(dev, sg_phys(sg),
+				sg->length, per_page_flush, attrs);
 		if (sg->dma_address == DMA_MAPPING_ERROR)
 			return -EIO;
 		sg->dma_length = sg->length;
@@ -277,7 +279,7 @@ static int sbus_iommu_map_sg_pflush(struct device *dev, struct scatterlist *sgl,
 	return __sbus_iommu_map_sg(dev, sgl, nents, dir, attrs, true);
 }
 
-static void sbus_iommu_unmap_page(struct device *dev, dma_addr_t dma_addr,
+static void sbus_iommu_unmap_phys(struct device *dev, dma_addr_t dma_addr,
 		size_t len, enum dma_data_direction dir, unsigned long attrs)
 {
 	struct iommu_struct *iommu = dev->archdata.iommu;
@@ -303,7 +305,7 @@ static void sbus_iommu_unmap_sg(struct device *dev, struct scatterlist *sgl,
 	int i;
 
 	for_each_sg(sgl, sg, nents, i) {
-		sbus_iommu_unmap_page(dev, sg->dma_address, sg->length, dir,
+		sbus_iommu_unmap_phys(dev, sg->dma_address, sg->length, dir,
 				attrs);
 		sg->dma_address = 0x21212121;
 	}
@@ -426,8 +428,8 @@ static const struct dma_map_ops sbus_iommu_dma_gflush_ops = {
 	.alloc			= sbus_iommu_alloc,
 	.free			= sbus_iommu_free,
 #endif
-	.map_page		= sbus_iommu_map_page_gflush,
-	.unmap_page		= sbus_iommu_unmap_page,
+	.map_phys		= sbus_iommu_map_phys_gflush,
+	.unmap_phys		= sbus_iommu_unmap_phys,
 	.map_sg			= sbus_iommu_map_sg_gflush,
 	.unmap_sg		= sbus_iommu_unmap_sg,
 };
@@ -437,8 +439,8 @@ static const struct dma_map_ops sbus_iommu_dma_pflush_ops = {
 	.alloc			= sbus_iommu_alloc,
 	.free			= sbus_iommu_free,
 #endif
-	.map_page		= sbus_iommu_map_page_pflush,
-	.unmap_page		= sbus_iommu_unmap_page,
+	.map_phys		= sbus_iommu_map_phys_pflush,
+	.unmap_phys		= sbus_iommu_unmap_phys,
 	.map_sg			= sbus_iommu_map_sg_pflush,
 	.unmap_sg		= sbus_iommu_unmap_sg,
 };

-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 15 09:16:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 09:16:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143467.1477210 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8xcJ-0008AJ-Uv; Wed, 15 Oct 2025 09:16:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143467.1477210; Wed, 15 Oct 2025 09:16:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8xcJ-0008A7-Q1; Wed, 15 Oct 2025 09:16:19 +0000
Received: by outflank-mailman (input) for mailman id 1143467;
 Wed, 15 Oct 2025 09:16:18 +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 <SRS0=aLBx=4Y=kernel.org=leon@srs-se1.protection.inumbo.net>)
 id 1v8xa5-0002lL-Cu
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 09:14:01 +0000
Received: from sea.source.kernel.org (sea.source.kernel.org
 [2600:3c0a:e001:78e:0:1991:8:25])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4847017d-a9a7-11f0-980a-7dc792cee155;
 Wed, 15 Oct 2025 11:13:59 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sea.source.kernel.org (Postfix) with ESMTP id 4A99C41ABA;
 Wed, 15 Oct 2025 09:13:58 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7BA70C116D0;
 Wed, 15 Oct 2025 09:13:57 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4847017d-a9a7-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1760519638;
	bh=jbBStLIP7sXhH5ASWp90/3Kel7nJYFQjjdng7+NCqnU=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=cYni+pn0hntzXMjiHeAuS5C74xt5skwmhT36I3n+0lgrdCfhhRxdMz4DFq9bbtcE6
	 KyshYgEW2BEQMCguUhfamAui6SDGk97Pwkv6cy20V4cWR1TsHKQXW5pPWPZJB0bROU
	 z4ZKgWbbq79xXqedNuYW1MC9dow455r9BBysavYn2gIaxdDnPgefyKpbQmttDiywRR
	 XVHkKv/NSbuh2sEJWfTis1y15Zck5wSXJQZhSm+nGRhMqLrjGmqENY85tfi+Y0OYZP
	 t5B2ZZLAkMXiTAZ3Qc6jG3RANx5TxKdOkQVsq+nUWiPqAyNSSsDxWgXnNXCMBoBXwP
	 N8uyupiJgjgjg==
From: Leon Romanovsky <leon@kernel.org>
To: Marek Szyprowski <m.szyprowski@samsung.com>,
	Robin Murphy <robin.murphy@arm.com>,
	Russell King <linux@armlinux.org.uk>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Matt Turner <mattst88@gmail.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
	Helge Deller <deller@gmx.de>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Geoff Levand <geoff@infradead.org>,
	"David S. Miller" <davem@davemloft.net>,
	Andreas Larsson <andreas@gaisler.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>
Cc: iommu@lists.linux.dev,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	linux-alpha@vger.kernel.org,
	linux-mips@vger.kernel.org,
	linux-parisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	sparclinux@vger.kernel.org,
	Jason Gunthorpe <jgg@ziepe.ca>,
	Jason Gunthorpe <jgg@nvidia.com>
Subject: [PATCH v5 14/14] dma-mapping: remove unused map_page callback
Date: Wed, 15 Oct 2025 12:13:00 +0300
Message-ID: <20251015-remove-map-page-v5-14-3bbfe3a25cdf@kernel.org>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251015-remove-map-page-v5-0-3bbfe3a25cdf@kernel.org>
References: <20251015-remove-map-page-v5-0-3bbfe3a25cdf@kernel.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
X-Mailer: b4 0.15-dev
Content-Transfer-Encoding: 8bit

From: Leon Romanovsky <leonro@nvidia.com>

After conversion of arch code to use physical address mapping,
there are no users of .map_page() and .unmap_page() callbacks,
so let's remove them.

Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
---
 include/linux/dma-map-ops.h |  7 -------
 kernel/dma/mapping.c        | 12 ------------
 kernel/dma/ops_helpers.c    |  8 +-------
 3 files changed, 1 insertion(+), 26 deletions(-)

diff --git a/include/linux/dma-map-ops.h b/include/linux/dma-map-ops.h
index 2e98ecc313a3..4809204c674c 100644
--- a/include/linux/dma-map-ops.h
+++ b/include/linux/dma-map-ops.h
@@ -31,13 +31,6 @@ struct dma_map_ops {
 			void *cpu_addr, dma_addr_t dma_addr, size_t size,
 			unsigned long attrs);
 
-	dma_addr_t (*map_page)(struct device *dev, struct page *page,
-			unsigned long offset, size_t size,
-			enum dma_data_direction dir, unsigned long attrs);
-	void (*unmap_page)(struct device *dev, dma_addr_t dma_handle,
-			size_t size, enum dma_data_direction dir,
-			unsigned long attrs);
-
 	dma_addr_t (*map_phys)(struct device *dev, phys_addr_t phys,
 			size_t size, enum dma_data_direction dir,
 			unsigned long attrs);
diff --git a/kernel/dma/mapping.c b/kernel/dma/mapping.c
index 32a85bfdf873..37163eb49f9f 100644
--- a/kernel/dma/mapping.c
+++ b/kernel/dma/mapping.c
@@ -171,16 +171,6 @@ dma_addr_t dma_map_phys(struct device *dev, phys_addr_t phys, size_t size,
 		addr = iommu_dma_map_phys(dev, phys, size, dir, attrs);
 	else if (ops->map_phys)
 		addr = ops->map_phys(dev, phys, size, dir, attrs);
-	else if (!is_mmio && ops->map_page) {
-		struct page *page = phys_to_page(phys);
-		size_t offset = offset_in_page(phys);
-
-		/*
-		 * The dma_ops API contract for ops->map_page() requires
-		 * kmappable memory.
-		 */
-		addr = ops->map_page(dev, page, offset, size, dir, attrs);
-	}
 
 	if (!is_mmio)
 		kmsan_handle_dma(phys, size, dir);
@@ -222,8 +212,6 @@ void dma_unmap_phys(struct device *dev, dma_addr_t addr, size_t size,
 		iommu_dma_unmap_phys(dev, addr, size, dir, attrs);
 	else if (ops->unmap_phys)
 		ops->unmap_phys(dev, addr, size, dir, attrs);
-	else
-		ops->unmap_page(dev, addr, size, dir, attrs);
 	trace_dma_unmap_phys(dev, addr, size, dir, attrs);
 	debug_dma_unmap_phys(dev, addr, size, dir);
 }
diff --git a/kernel/dma/ops_helpers.c b/kernel/dma/ops_helpers.c
index 1eccbdbc99c1..20caf9cabf69 100644
--- a/kernel/dma/ops_helpers.c
+++ b/kernel/dma/ops_helpers.c
@@ -76,11 +76,8 @@ struct page *dma_common_alloc_pages(struct device *dev, size_t size,
 	if (use_dma_iommu(dev))
 		*dma_handle = iommu_dma_map_phys(dev, phys, size, dir,
 						 DMA_ATTR_SKIP_CPU_SYNC);
-	else if (ops->map_phys)
-		*dma_handle = ops->map_phys(dev, phys, size, dir,
-					    DMA_ATTR_SKIP_CPU_SYNC);
 	else
-		*dma_handle = ops->map_page(dev, page, 0, size, dir,
+		*dma_handle = ops->map_phys(dev, phys, size, dir,
 					    DMA_ATTR_SKIP_CPU_SYNC);
 	if (*dma_handle == DMA_MAPPING_ERROR) {
 		dma_free_contiguous(dev, page, size);
@@ -102,8 +99,5 @@ void dma_common_free_pages(struct device *dev, size_t size, struct page *page,
 	else if (ops->unmap_phys)
 		ops->unmap_phys(dev, dma_handle, size, dir,
 				DMA_ATTR_SKIP_CPU_SYNC);
-	else if (ops->unmap_page)
-		ops->unmap_page(dev, dma_handle, size, dir,
-				DMA_ATTR_SKIP_CPU_SYNC);
 	dma_free_contiguous(dev, page, size);
 }

-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 15 09:16:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 09:16:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143470.1477215 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8xcK-0008Ca-8v; Wed, 15 Oct 2025 09:16:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143470.1477215; Wed, 15 Oct 2025 09:16:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8xcK-0008B4-1C; Wed, 15 Oct 2025 09:16:20 +0000
Received: by outflank-mailman (input) for mailman id 1143470;
 Wed, 15 Oct 2025 09:16:18 +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 <SRS0=aLBx=4Y=kernel.org=leon@srs-se1.protection.inumbo.net>)
 id 1v8xZn-0002lR-CP
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 09:13:43 +0000
Received: from sea.source.kernel.org (sea.source.kernel.org [172.234.252.31])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3dc9e1a0-a9a7-11f0-9d15-b5c5bf9af7f9;
 Wed, 15 Oct 2025 11:13:42 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sea.source.kernel.org (Postfix) with ESMTP id A8989437D4;
 Wed, 15 Oct 2025 09:13:40 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id D7CEEC4CEF8;
 Wed, 15 Oct 2025 09:13:39 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3dc9e1a0-a9a7-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1760519620;
	bh=Qk6GVbNYp0zCxRraEnpdrSWtbzmnSX3KsqwxS045G4I=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=kwjaHQAs6qi10IRHkP34FFu6MB838DaoM8BrIjZY2CPZS7lp8Wblk2gg6bkGTk5lg
	 1Y9Hvo2H+k62AGJYGUBHR0iIYlzWWKhEaGF6gL+L64z09yf2TQfkgeMMRCe1bu+0V9
	 pHCSY+A7kBzRB+b1Q7HKRWK8rw8/CcA/Bgwp1ndA9fYO9kHGfneioqqgO7K0y5HyoD
	 FRo7qyuc8WK0T6efc4Pw7KN8CoAzPBgjCfG8FLEhv68B6r+MAQkv/LWEXl5WOgPQGj
	 VrHi+69EJYWiJK2W73MZeeNs1blfvAxcQb2LFya/g/OKfxsRdq4sypxZBlbPf9w3Mm
	 kHbw6vnAwnB9A==
From: Leon Romanovsky <leon@kernel.org>
To: Marek Szyprowski <m.szyprowski@samsung.com>,
	Robin Murphy <robin.murphy@arm.com>,
	Russell King <linux@armlinux.org.uk>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Matt Turner <mattst88@gmail.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
	Helge Deller <deller@gmx.de>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Geoff Levand <geoff@infradead.org>,
	"David S. Miller" <davem@davemloft.net>,
	Andreas Larsson <andreas@gaisler.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>
Cc: iommu@lists.linux.dev,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	linux-alpha@vger.kernel.org,
	linux-mips@vger.kernel.org,
	linux-parisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	sparclinux@vger.kernel.org
Subject: [PATCH v5 10/14] powerpc: Convert to physical address DMA mapping
Date: Wed, 15 Oct 2025 12:12:56 +0300
Message-ID: <20251015-remove-map-page-v5-10-3bbfe3a25cdf@kernel.org>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251015-remove-map-page-v5-0-3bbfe3a25cdf@kernel.org>
References: <20251015-remove-map-page-v5-0-3bbfe3a25cdf@kernel.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
X-Mailer: b4 0.15-dev
Content-Transfer-Encoding: 8bit

From: Leon Romanovsky <leonro@nvidia.com>

Adapt PowerPC DMA to use physical addresses in order to prepare code
to removal .map_page and .unmap_page.

Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
---
 arch/powerpc/include/asm/iommu.h         |  8 ++++----
 arch/powerpc/kernel/dma-iommu.c          | 22 ++++++++++-----------
 arch/powerpc/kernel/iommu.c              | 14 +++++++-------
 arch/powerpc/platforms/ps3/system-bus.c  | 33 ++++++++++++++++++--------------
 arch/powerpc/platforms/pseries/ibmebus.c | 15 ++++++++-------
 arch/powerpc/platforms/pseries/vio.c     | 21 +++++++++++---------
 6 files changed, 60 insertions(+), 53 deletions(-)

diff --git a/arch/powerpc/include/asm/iommu.h b/arch/powerpc/include/asm/iommu.h
index b410021ad4c6..eafdd63cd6c4 100644
--- a/arch/powerpc/include/asm/iommu.h
+++ b/arch/powerpc/include/asm/iommu.h
@@ -274,12 +274,12 @@ extern void *iommu_alloc_coherent(struct device *dev, struct iommu_table *tbl,
 				  unsigned long mask, gfp_t flag, int node);
 extern void iommu_free_coherent(struct iommu_table *tbl, size_t size,
 				void *vaddr, dma_addr_t dma_handle);
-extern dma_addr_t iommu_map_page(struct device *dev, struct iommu_table *tbl,
-				 struct page *page, unsigned long offset,
-				 size_t size, unsigned long mask,
+extern dma_addr_t iommu_map_phys(struct device *dev, struct iommu_table *tbl,
+				 phys_addr_t phys, size_t size,
+				 unsigned long mask,
 				 enum dma_data_direction direction,
 				 unsigned long attrs);
-extern void iommu_unmap_page(struct iommu_table *tbl, dma_addr_t dma_handle,
+extern void iommu_unmap_phys(struct iommu_table *tbl, dma_addr_t dma_handle,
 			     size_t size, enum dma_data_direction direction,
 			     unsigned long attrs);
 
diff --git a/arch/powerpc/kernel/dma-iommu.c b/arch/powerpc/kernel/dma-iommu.c
index 0359ab72cd3b..aa3689d61917 100644
--- a/arch/powerpc/kernel/dma-iommu.c
+++ b/arch/powerpc/kernel/dma-iommu.c
@@ -93,28 +93,26 @@ static void dma_iommu_free_coherent(struct device *dev, size_t size,
 
 /* Creates TCEs for a user provided buffer.  The user buffer must be
  * contiguous real kernel storage (not vmalloc).  The address passed here
- * comprises a page address and offset into that page. The dma_addr_t
- * returned will point to the same byte within the page as was passed in.
+ * is a physical address to that page. The dma_addr_t returned will point
+ * to the same byte within the page as was passed in.
  */
-static dma_addr_t dma_iommu_map_page(struct device *dev, struct page *page,
-				     unsigned long offset, size_t size,
+static dma_addr_t dma_iommu_map_phys(struct device *dev, phys_addr_t phys,
+				     size_t size,
 				     enum dma_data_direction direction,
 				     unsigned long attrs)
 {
-	return iommu_map_page(dev, get_iommu_table_base(dev), page, offset,
-			      size, dma_get_mask(dev), direction, attrs);
+	return iommu_map_phys(dev, get_iommu_table_base(dev), phys, size,
+			      dma_get_mask(dev), direction, attrs);
 }
 
-
-static void dma_iommu_unmap_page(struct device *dev, dma_addr_t dma_handle,
+static void dma_iommu_unmap_phys(struct device *dev, dma_addr_t dma_handle,
 				 size_t size, enum dma_data_direction direction,
 				 unsigned long attrs)
 {
-	iommu_unmap_page(get_iommu_table_base(dev), dma_handle, size, direction,
+	iommu_unmap_phys(get_iommu_table_base(dev), dma_handle, size, direction,
 			 attrs);
 }
 
-
 static int dma_iommu_map_sg(struct device *dev, struct scatterlist *sglist,
 			    int nelems, enum dma_data_direction direction,
 			    unsigned long attrs)
@@ -211,8 +209,8 @@ const struct dma_map_ops dma_iommu_ops = {
 	.map_sg			= dma_iommu_map_sg,
 	.unmap_sg		= dma_iommu_unmap_sg,
 	.dma_supported		= dma_iommu_dma_supported,
-	.map_page		= dma_iommu_map_page,
-	.unmap_page		= dma_iommu_unmap_page,
+	.map_phys		= dma_iommu_map_phys,
+	.unmap_phys		= dma_iommu_unmap_phys,
 	.get_required_mask	= dma_iommu_get_required_mask,
 	.mmap			= dma_common_mmap,
 	.get_sgtable		= dma_common_get_sgtable,
diff --git a/arch/powerpc/kernel/iommu.c b/arch/powerpc/kernel/iommu.c
index 244eb4857e7f..6b5f4b72ce97 100644
--- a/arch/powerpc/kernel/iommu.c
+++ b/arch/powerpc/kernel/iommu.c
@@ -848,12 +848,12 @@ EXPORT_SYMBOL_GPL(iommu_tce_table_put);
 
 /* Creates TCEs for a user provided buffer.  The user buffer must be
  * contiguous real kernel storage (not vmalloc).  The address passed here
- * comprises a page address and offset into that page. The dma_addr_t
- * returned will point to the same byte within the page as was passed in.
+ * is physical address into that page. The dma_addr_t returned will point
+ * to the same byte within the page as was passed in.
  */
-dma_addr_t iommu_map_page(struct device *dev, struct iommu_table *tbl,
-			  struct page *page, unsigned long offset, size_t size,
-			  unsigned long mask, enum dma_data_direction direction,
+dma_addr_t iommu_map_phys(struct device *dev, struct iommu_table *tbl,
+			  phys_addr_t phys, size_t size, unsigned long mask,
+			  enum dma_data_direction direction,
 			  unsigned long attrs)
 {
 	dma_addr_t dma_handle = DMA_MAPPING_ERROR;
@@ -863,7 +863,7 @@ dma_addr_t iommu_map_page(struct device *dev, struct iommu_table *tbl,
 
 	BUG_ON(direction == DMA_NONE);
 
-	vaddr = page_address(page) + offset;
+	vaddr = phys_to_virt(phys);
 	uaddr = (unsigned long)vaddr;
 
 	if (tbl) {
@@ -890,7 +890,7 @@ dma_addr_t iommu_map_page(struct device *dev, struct iommu_table *tbl,
 	return dma_handle;
 }
 
-void iommu_unmap_page(struct iommu_table *tbl, dma_addr_t dma_handle,
+void iommu_unmap_phys(struct iommu_table *tbl, dma_addr_t dma_handle,
 		      size_t size, enum dma_data_direction direction,
 		      unsigned long attrs)
 {
diff --git a/arch/powerpc/platforms/ps3/system-bus.c b/arch/powerpc/platforms/ps3/system-bus.c
index afbaabf182d0..f4f3477d3a23 100644
--- a/arch/powerpc/platforms/ps3/system-bus.c
+++ b/arch/powerpc/platforms/ps3/system-bus.c
@@ -551,18 +551,20 @@ static void ps3_free_coherent(struct device *_dev, size_t size, void *vaddr,
 
 /* Creates TCEs for a user provided buffer.  The user buffer must be
  * contiguous real kernel storage (not vmalloc).  The address passed here
- * comprises a page address and offset into that page. The dma_addr_t
- * returned will point to the same byte within the page as was passed in.
+ * is physical address to that hat page. The dma_addr_t returned will point
+ * to the same byte within the page as was passed in.
  */
 
-static dma_addr_t ps3_sb_map_page(struct device *_dev, struct page *page,
-	unsigned long offset, size_t size, enum dma_data_direction direction,
-	unsigned long attrs)
+static dma_addr_t ps3_sb_map_phys(struct device *_dev, phys_addr_t phys,
+	size_t size, enum dma_data_direction direction, unsigned long attrs)
 {
 	struct ps3_system_bus_device *dev = ps3_dev_to_system_bus_dev(_dev);
 	int result;
 	dma_addr_t bus_addr;
-	void *ptr = page_address(page) + offset;
+	void *ptr = phys_to_virt(phys);
+
+	if (unlikely(attrs & DMA_ATTR_MMIO))
+		return DMA_MAPPING_ERROR;
 
 	result = ps3_dma_map(dev->d_region, (unsigned long)ptr, size,
 			     &bus_addr,
@@ -577,8 +579,8 @@ static dma_addr_t ps3_sb_map_page(struct device *_dev, struct page *page,
 	return bus_addr;
 }
 
-static dma_addr_t ps3_ioc0_map_page(struct device *_dev, struct page *page,
-				    unsigned long offset, size_t size,
+static dma_addr_t ps3_ioc0_map_phys(struct device *_dev, phys_addr_t phys,
+				    size_t size,
 				    enum dma_data_direction direction,
 				    unsigned long attrs)
 {
@@ -586,7 +588,10 @@ static dma_addr_t ps3_ioc0_map_page(struct device *_dev, struct page *page,
 	int result;
 	dma_addr_t bus_addr;
 	u64 iopte_flag;
-	void *ptr = page_address(page) + offset;
+	void *ptr = phys_to_virt(phys);
+
+	if (unlikely(attrs & DMA_ATTR_MMIO))
+		return DMA_MAPPING_ERROR;
 
 	iopte_flag = CBE_IOPTE_M;
 	switch (direction) {
@@ -613,7 +618,7 @@ static dma_addr_t ps3_ioc0_map_page(struct device *_dev, struct page *page,
 	return bus_addr;
 }
 
-static void ps3_unmap_page(struct device *_dev, dma_addr_t dma_addr,
+static void ps3_unmap_phys(struct device *_dev, dma_addr_t dma_addr,
 	size_t size, enum dma_data_direction direction, unsigned long attrs)
 {
 	struct ps3_system_bus_device *dev = ps3_dev_to_system_bus_dev(_dev);
@@ -690,8 +695,8 @@ static const struct dma_map_ops ps3_sb_dma_ops = {
 	.map_sg = ps3_sb_map_sg,
 	.unmap_sg = ps3_sb_unmap_sg,
 	.dma_supported = ps3_dma_supported,
-	.map_page = ps3_sb_map_page,
-	.unmap_page = ps3_unmap_page,
+	.map_phys = ps3_sb_map_phys,
+	.unmap_phys = ps3_unmap_phys,
 	.mmap = dma_common_mmap,
 	.get_sgtable = dma_common_get_sgtable,
 	.alloc_pages_op = dma_common_alloc_pages,
@@ -704,8 +709,8 @@ static const struct dma_map_ops ps3_ioc0_dma_ops = {
 	.map_sg = ps3_ioc0_map_sg,
 	.unmap_sg = ps3_ioc0_unmap_sg,
 	.dma_supported = ps3_dma_supported,
-	.map_page = ps3_ioc0_map_page,
-	.unmap_page = ps3_unmap_page,
+	.map_phys = ps3_ioc0_map_phys,
+	.unmap_phys = ps3_unmap_phys,
 	.mmap = dma_common_mmap,
 	.get_sgtable = dma_common_get_sgtable,
 	.alloc_pages_op = dma_common_alloc_pages,
diff --git a/arch/powerpc/platforms/pseries/ibmebus.c b/arch/powerpc/platforms/pseries/ibmebus.c
index 3436b0af795e..cad2deb7e70d 100644
--- a/arch/powerpc/platforms/pseries/ibmebus.c
+++ b/arch/powerpc/platforms/pseries/ibmebus.c
@@ -86,17 +86,18 @@ static void ibmebus_free_coherent(struct device *dev,
 	kfree(vaddr);
 }
 
-static dma_addr_t ibmebus_map_page(struct device *dev,
-				   struct page *page,
-				   unsigned long offset,
+static dma_addr_t ibmebus_map_phys(struct device *dev, phys_addr_t phys,
 				   size_t size,
 				   enum dma_data_direction direction,
 				   unsigned long attrs)
 {
-	return (dma_addr_t)(page_address(page) + offset);
+	if (attrs & DMA_ATTR_MMIO)
+		return DMA_MAPPING_ERROR;
+
+	return (dma_addr_t)(phys_to_virt(phys));
 }
 
-static void ibmebus_unmap_page(struct device *dev,
+static void ibmebus_unmap_phys(struct device *dev,
 			       dma_addr_t dma_addr,
 			       size_t size,
 			       enum dma_data_direction direction,
@@ -146,8 +147,8 @@ static const struct dma_map_ops ibmebus_dma_ops = {
 	.unmap_sg           = ibmebus_unmap_sg,
 	.dma_supported      = ibmebus_dma_supported,
 	.get_required_mask  = ibmebus_dma_get_required_mask,
-	.map_page           = ibmebus_map_page,
-	.unmap_page         = ibmebus_unmap_page,
+	.map_phys           = ibmebus_map_phys,
+	.unmap_phys         = ibmebus_unmap_phys,
 };
 
 static int ibmebus_match_path(struct device *dev, const void *data)
diff --git a/arch/powerpc/platforms/pseries/vio.c b/arch/powerpc/platforms/pseries/vio.c
index ac1d2d2c9a88..18cffac5468f 100644
--- a/arch/powerpc/platforms/pseries/vio.c
+++ b/arch/powerpc/platforms/pseries/vio.c
@@ -512,18 +512,21 @@ static void vio_dma_iommu_free_coherent(struct device *dev, size_t size,
 	vio_cmo_dealloc(viodev, roundup(size, PAGE_SIZE));
 }
 
-static dma_addr_t vio_dma_iommu_map_page(struct device *dev, struct page *page,
-                                         unsigned long offset, size_t size,
-                                         enum dma_data_direction direction,
-                                         unsigned long attrs)
+static dma_addr_t vio_dma_iommu_map_phys(struct device *dev, phys_addr_t phys,
+					 size_t size,
+					 enum dma_data_direction direction,
+					 unsigned long attrs)
 {
 	struct vio_dev *viodev = to_vio_dev(dev);
 	struct iommu_table *tbl = get_iommu_table_base(dev);
 	dma_addr_t ret = DMA_MAPPING_ERROR;
 
+	if (unlikely(attrs & DMA_ATTR_MMIO))
+		return ret;
+
 	if (vio_cmo_alloc(viodev, roundup(size, IOMMU_PAGE_SIZE(tbl))))
 		goto out_fail;
-	ret = iommu_map_page(dev, tbl, page, offset, size, dma_get_mask(dev),
+	ret = iommu_map_phys(dev, tbl, phys, size, dma_get_mask(dev),
 			direction, attrs);
 	if (unlikely(ret == DMA_MAPPING_ERROR))
 		goto out_deallocate;
@@ -536,7 +539,7 @@ static dma_addr_t vio_dma_iommu_map_page(struct device *dev, struct page *page,
 	return DMA_MAPPING_ERROR;
 }
 
-static void vio_dma_iommu_unmap_page(struct device *dev, dma_addr_t dma_handle,
+static void vio_dma_iommu_unmap_phys(struct device *dev, dma_addr_t dma_handle,
 				     size_t size,
 				     enum dma_data_direction direction,
 				     unsigned long attrs)
@@ -544,7 +547,7 @@ static void vio_dma_iommu_unmap_page(struct device *dev, dma_addr_t dma_handle,
 	struct vio_dev *viodev = to_vio_dev(dev);
 	struct iommu_table *tbl = get_iommu_table_base(dev);
 
-	iommu_unmap_page(tbl, dma_handle, size, direction, attrs);
+	iommu_unmap_phys(tbl, dma_handle, size, direction, attrs);
 	vio_cmo_dealloc(viodev, roundup(size, IOMMU_PAGE_SIZE(tbl)));
 }
 
@@ -605,8 +608,8 @@ static const struct dma_map_ops vio_dma_mapping_ops = {
 	.free              = vio_dma_iommu_free_coherent,
 	.map_sg            = vio_dma_iommu_map_sg,
 	.unmap_sg          = vio_dma_iommu_unmap_sg,
-	.map_page          = vio_dma_iommu_map_page,
-	.unmap_page        = vio_dma_iommu_unmap_page,
+	.map_phys          = vio_dma_iommu_map_phys,
+	.unmap_phys        = vio_dma_iommu_unmap_phys,
 	.dma_supported     = dma_iommu_dma_supported,
 	.get_required_mask = dma_iommu_get_required_mask,
 	.mmap		   = dma_common_mmap,

-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 15 09:16:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 09:16:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143474.1477229 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8xcL-0000Cu-JQ; Wed, 15 Oct 2025 09:16:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143474.1477229; Wed, 15 Oct 2025 09:16:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8xcL-0000C1-BP; Wed, 15 Oct 2025 09:16:21 +0000
Received: by outflank-mailman (input) for mailman id 1143474;
 Wed, 15 Oct 2025 09:16:19 +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 <SRS0=aLBx=4Y=kernel.org=leon@srs-se1.protection.inumbo.net>)
 id 1v8xa1-0002lR-IV
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 09:13:57 +0000
Received: from sea.source.kernel.org (sea.source.kernel.org
 [2600:3c0a:e001:78e:0:1991:8:25])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 464604fa-a9a7-11f0-9d15-b5c5bf9af7f9;
 Wed, 15 Oct 2025 11:13:56 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sea.source.kernel.org (Postfix) with ESMTP id D02CE417E5;
 Wed, 15 Oct 2025 09:13:54 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0CE55C19424;
 Wed, 15 Oct 2025 09:13:54 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 464604fa-a9a7-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1760519634;
	bh=SfEJhe+EnkJnefkh97fPmSPXkeIOd3xlETD9YgBQ46Y=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=VjKEdt2mxlWT6w6IHTqoZRpMLcMuI77UbOT5L24qqSlM5/DRGv3AcjxM4yMGcf+EA
	 z3mSEYZ6gFFWrxSO7HRPPBIgkFJ2KK8npgJULFQ3REwzcltzHG0visRTUD4RkVR8p2
	 iVTzUpaitF9orJXdg7vwdxwmxOVT299ieYtlvyB/8fvGgyB/AQShYv0rnCdNMAXe9R
	 ZB3OwN86eHCPctYuE8Jsplg/jEev2Xxs2kFERH9JQ4NIoTovdwTglFTYtRMQcmdBAV
	 BE5Q3ZMOHIBzXlABIk4k32PRk815Smbd9I+JsegH2figO4R/XC82Wkl31Ze4zN26de
	 GcSuYHdBLk/jA==
From: Leon Romanovsky <leon@kernel.org>
To: Marek Szyprowski <m.szyprowski@samsung.com>,
	Robin Murphy <robin.murphy@arm.com>,
	Russell King <linux@armlinux.org.uk>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Matt Turner <mattst88@gmail.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
	Helge Deller <deller@gmx.de>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Geoff Levand <geoff@infradead.org>,
	"David S. Miller" <davem@davemloft.net>,
	Andreas Larsson <andreas@gaisler.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>
Cc: iommu@lists.linux.dev,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	linux-alpha@vger.kernel.org,
	linux-mips@vger.kernel.org,
	linux-parisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	sparclinux@vger.kernel.org,
	Jason Gunthorpe <jgg@ziepe.ca>,
	Jason Gunthorpe <jgg@nvidia.com>
Subject: [PATCH v5 09/14] parisc: Convert DMA map_page to map_phys interface
Date: Wed, 15 Oct 2025 12:12:55 +0300
Message-ID: <20251015-remove-map-page-v5-9-3bbfe3a25cdf@kernel.org>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251015-remove-map-page-v5-0-3bbfe3a25cdf@kernel.org>
References: <20251015-remove-map-page-v5-0-3bbfe3a25cdf@kernel.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
X-Mailer: b4 0.15-dev
Content-Transfer-Encoding: 8bit

From: Leon Romanovsky <leonro@nvidia.com>

Perform mechanical conversion from .map_page to .map_phys callback.

Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
---
 drivers/parisc/ccio-dma.c      | 54 ++++++++++++++++++++++--------------------
 drivers/parisc/iommu-helpers.h | 10 ++++----
 drivers/parisc/sba_iommu.c     | 54 ++++++++++++++++++++----------------------
 3 files changed, 59 insertions(+), 59 deletions(-)

diff --git a/drivers/parisc/ccio-dma.c b/drivers/parisc/ccio-dma.c
index feef537257d0..4e7071714356 100644
--- a/drivers/parisc/ccio-dma.c
+++ b/drivers/parisc/ccio-dma.c
@@ -517,10 +517,10 @@ static u32 hint_lookup[] = {
  * ccio_io_pdir_entry - Initialize an I/O Pdir.
  * @pdir_ptr: A pointer into I/O Pdir.
  * @sid: The Space Identifier.
- * @vba: The virtual address.
+ * @pba: The physical address.
  * @hints: The DMA Hint.
  *
- * Given a virtual address (vba, arg2) and space id, (sid, arg1),
+ * Given a physical address (pba, arg2) and space id, (sid, arg1),
  * load the I/O PDIR entry pointed to by pdir_ptr (arg0). Each IO Pdir
  * entry consists of 8 bytes as shown below (MSB == bit 0):
  *
@@ -543,7 +543,7 @@ static u32 hint_lookup[] = {
  * index are bits 12:19 of the value returned by LCI.
  */ 
 static void
-ccio_io_pdir_entry(__le64 *pdir_ptr, space_t sid, unsigned long vba,
+ccio_io_pdir_entry(__le64 *pdir_ptr, space_t sid, phys_addr_t pba,
 		   unsigned long hints)
 {
 	register unsigned long pa;
@@ -557,7 +557,7 @@ ccio_io_pdir_entry(__le64 *pdir_ptr, space_t sid, unsigned long vba,
 	** "hints" parm includes the VALID bit!
 	** "dep" clobbers the physical address offset bits as well.
 	*/
-	pa = lpa(vba);
+	pa = pba;
 	asm volatile("depw  %1,31,12,%0" : "+r" (pa) : "r" (hints));
 	((u32 *)pdir_ptr)[1] = (u32) pa;
 
@@ -582,7 +582,7 @@ ccio_io_pdir_entry(__le64 *pdir_ptr, space_t sid, unsigned long vba,
 	** Grab virtual index [0:11]
 	** Deposit virt_idx bits into I/O PDIR word
 	*/
-	asm volatile ("lci %%r0(%1), %0" : "=r" (ci) : "r" (vba));
+	asm volatile ("lci %%r0(%1), %0" : "=r" (ci) : "r" (phys_to_virt(pba)));
 	asm volatile ("extru %1,19,12,%0" : "+r" (ci) : "r" (ci));
 	asm volatile ("depw  %1,15,12,%0" : "+r" (pa) : "r" (ci));
 
@@ -704,14 +704,14 @@ ccio_dma_supported(struct device *dev, u64 mask)
 /**
  * ccio_map_single - Map an address range into the IOMMU.
  * @dev: The PCI device.
- * @addr: The start address of the DMA region.
+ * @addr: The physical address of the DMA region.
  * @size: The length of the DMA region.
  * @direction: The direction of the DMA transaction (to/from device).
  *
  * This function implements the pci_map_single function.
  */
 static dma_addr_t 
-ccio_map_single(struct device *dev, void *addr, size_t size,
+ccio_map_single(struct device *dev, phys_addr_t addr, size_t size,
 		enum dma_data_direction direction)
 {
 	int idx;
@@ -730,7 +730,7 @@ ccio_map_single(struct device *dev, void *addr, size_t size,
 	BUG_ON(size <= 0);
 
 	/* save offset bits */
-	offset = ((unsigned long) addr) & ~IOVP_MASK;
+	offset = offset_in_page(addr);
 
 	/* round up to nearest IOVP_SIZE */
 	size = ALIGN(size + offset, IOVP_SIZE);
@@ -746,15 +746,15 @@ ccio_map_single(struct device *dev, void *addr, size_t size,
 
 	pdir_start = &(ioc->pdir_base[idx]);
 
-	DBG_RUN("%s() %px -> %#lx size: %zu\n",
-		__func__, addr, (long)(iovp | offset), size);
+	DBG_RUN("%s() %pa -> %#lx size: %zu\n",
+		__func__, &addr, (long)(iovp | offset), size);
 
 	/* If not cacheline aligned, force SAFE_DMA on the whole mess */
-	if((size % L1_CACHE_BYTES) || ((unsigned long)addr % L1_CACHE_BYTES))
+	if ((size % L1_CACHE_BYTES) || (addr % L1_CACHE_BYTES))
 		hint |= HINT_SAFE_DMA;
 
 	while(size > 0) {
-		ccio_io_pdir_entry(pdir_start, KERNEL_SPACE, (unsigned long)addr, hint);
+		ccio_io_pdir_entry(pdir_start, KERNEL_SPACE, addr, hint);
 
 		DBG_RUN(" pdir %p %08x%08x\n",
 			pdir_start,
@@ -773,17 +773,18 @@ ccio_map_single(struct device *dev, void *addr, size_t size,
 
 
 static dma_addr_t
-ccio_map_page(struct device *dev, struct page *page, unsigned long offset,
-		size_t size, enum dma_data_direction direction,
-		unsigned long attrs)
+ccio_map_phys(struct device *dev, phys_addr_t phys, size_t size,
+	      enum dma_data_direction direction, unsigned long attrs)
 {
-	return ccio_map_single(dev, page_address(page) + offset, size,
-			direction);
+	if (unlikely(attrs & DMA_ATTR_MMIO))
+		return DMA_MAPPING_ERROR;
+
+	return ccio_map_single(dev, phys, size, direction);
 }
 
 
 /**
- * ccio_unmap_page - Unmap an address range from the IOMMU.
+ * ccio_unmap_phys - Unmap an address range from the IOMMU.
  * @dev: The PCI device.
  * @iova: The start address of the DMA region.
  * @size: The length of the DMA region.
@@ -791,7 +792,7 @@ ccio_map_page(struct device *dev, struct page *page, unsigned long offset,
  * @attrs: attributes
  */
 static void 
-ccio_unmap_page(struct device *dev, dma_addr_t iova, size_t size,
+ccio_unmap_phys(struct device *dev, dma_addr_t iova, size_t size,
 		enum dma_data_direction direction, unsigned long attrs)
 {
 	struct ioc *ioc;
@@ -853,7 +854,8 @@ ccio_alloc(struct device *dev, size_t size, dma_addr_t *dma_handle, gfp_t flag,
 
 	if (ret) {
 		memset(ret, 0, size);
-		*dma_handle = ccio_map_single(dev, ret, size, DMA_BIDIRECTIONAL);
+		*dma_handle = ccio_map_single(dev, virt_to_phys(ret), size,
+					      DMA_BIDIRECTIONAL);
 	}
 
 	return ret;
@@ -873,7 +875,7 @@ static void
 ccio_free(struct device *dev, size_t size, void *cpu_addr,
 		dma_addr_t dma_handle, unsigned long attrs)
 {
-	ccio_unmap_page(dev, dma_handle, size, 0, 0);
+	ccio_unmap_phys(dev, dma_handle, size, 0, 0);
 	free_pages((unsigned long)cpu_addr, get_order(size));
 }
 
@@ -920,7 +922,7 @@ ccio_map_sg(struct device *dev, struct scatterlist *sglist, int nents,
 	/* Fast path single entry scatterlists. */
 	if (nents == 1) {
 		sg_dma_address(sglist) = ccio_map_single(dev,
-				sg_virt(sglist), sglist->length,
+				sg_phys(sglist), sglist->length,
 				direction);
 		sg_dma_len(sglist) = sglist->length;
 		return 1;
@@ -1004,7 +1006,7 @@ ccio_unmap_sg(struct device *dev, struct scatterlist *sglist, int nents,
 #ifdef CCIO_COLLECT_STATS
 		ioc->usg_pages += sg_dma_len(sglist) >> PAGE_SHIFT;
 #endif
-		ccio_unmap_page(dev, sg_dma_address(sglist),
+		ccio_unmap_phys(dev, sg_dma_address(sglist),
 				  sg_dma_len(sglist), direction, 0);
 		++sglist;
 		nents--;
@@ -1017,8 +1019,8 @@ static const struct dma_map_ops ccio_ops = {
 	.dma_supported =	ccio_dma_supported,
 	.alloc =		ccio_alloc,
 	.free =			ccio_free,
-	.map_page =		ccio_map_page,
-	.unmap_page =		ccio_unmap_page,
+	.map_phys =		ccio_map_phys,
+	.unmap_phys =		ccio_unmap_phys,
 	.map_sg =		ccio_map_sg,
 	.unmap_sg =		ccio_unmap_sg,
 	.get_sgtable =		dma_common_get_sgtable,
@@ -1072,7 +1074,7 @@ static int ccio_proc_info(struct seq_file *m, void *p)
 			   ioc->msingle_calls, ioc->msingle_pages,
 			   (int)((ioc->msingle_pages * 1000)/ioc->msingle_calls));
 
-		/* KLUGE - unmap_sg calls unmap_page for each mapped page */
+		/* KLUGE - unmap_sg calls unmap_phys for each mapped page */
 		min = ioc->usingle_calls - ioc->usg_calls;
 		max = ioc->usingle_pages - ioc->usg_pages;
 		seq_printf(m, "pci_unmap_single: %8ld calls  %8ld pages (avg %d/1000)\n",
diff --git a/drivers/parisc/iommu-helpers.h b/drivers/parisc/iommu-helpers.h
index c43f1a212a5c..0691884f5095 100644
--- a/drivers/parisc/iommu-helpers.h
+++ b/drivers/parisc/iommu-helpers.h
@@ -14,7 +14,7 @@
 static inline unsigned int
 iommu_fill_pdir(struct ioc *ioc, struct scatterlist *startsg, int nents, 
 		unsigned long hint,
-		void (*iommu_io_pdir_entry)(__le64 *, space_t, unsigned long,
+		void (*iommu_io_pdir_entry)(__le64 *, space_t, phys_addr_t,
 					    unsigned long))
 {
 	struct scatterlist *dma_sg = startsg;	/* pointer to current DMA */
@@ -28,7 +28,7 @@ iommu_fill_pdir(struct ioc *ioc, struct scatterlist *startsg, int nents,
 	 dma_sg--;
 
 	while (nents-- > 0) {
-		unsigned long vaddr;
+		phys_addr_t paddr;
 		long size;
 
 		DBG_RUN_SG(" %d : %08lx %p/%05x\n", nents,
@@ -67,7 +67,7 @@ iommu_fill_pdir(struct ioc *ioc, struct scatterlist *startsg, int nents,
 		
 		BUG_ON(pdirp == NULL);
 		
-		vaddr = (unsigned long)sg_virt(startsg);
+		paddr = sg_phys(startsg);
 		sg_dma_len(dma_sg) += startsg->length;
 		size = startsg->length + dma_offset;
 		dma_offset = 0;
@@ -76,8 +76,8 @@ iommu_fill_pdir(struct ioc *ioc, struct scatterlist *startsg, int nents,
 #endif
 		do {
 			iommu_io_pdir_entry(pdirp, KERNEL_SPACE, 
-					    vaddr, hint);
-			vaddr += IOVP_SIZE;
+					    paddr, hint);
+			paddr += IOVP_SIZE;
 			size -= IOVP_SIZE;
 			pdirp++;
 		} while(unlikely(size > 0));
diff --git a/drivers/parisc/sba_iommu.c b/drivers/parisc/sba_iommu.c
index fc3863c09f83..a6eb6bffa5ea 100644
--- a/drivers/parisc/sba_iommu.c
+++ b/drivers/parisc/sba_iommu.c
@@ -532,7 +532,7 @@ typedef unsigned long space_t;
  * sba_io_pdir_entry - fill in one IO PDIR entry
  * @pdir_ptr:  pointer to IO PDIR entry
  * @sid: process Space ID - currently only support KERNEL_SPACE
- * @vba: Virtual CPU address of buffer to map
+ * @pba: Physical address of buffer to map
  * @hint: DMA hint set to use for this mapping
  *
  * SBA Mapping Routine
@@ -569,20 +569,17 @@ typedef unsigned long space_t;
  */
 
 static void
-sba_io_pdir_entry(__le64 *pdir_ptr, space_t sid, unsigned long vba,
+sba_io_pdir_entry(__le64 *pdir_ptr, space_t sid, phys_addr_t pba,
 		  unsigned long hint)
 {
-	u64 pa; /* physical address */
 	register unsigned ci; /* coherent index */
 
-	pa = lpa(vba);
-	pa &= IOVP_MASK;
+	asm("lci 0(%1), %0" : "=r" (ci) : "r" (phys_to_virt(pba)));
+	pba &= IOVP_MASK;
+	pba |= (ci >> PAGE_SHIFT) & 0xff;  /* move CI (8 bits) into lowest byte */
 
-	asm("lci 0(%1), %0" : "=r" (ci) : "r" (vba));
-	pa |= (ci >> PAGE_SHIFT) & 0xff;  /* move CI (8 bits) into lowest byte */
-
-	pa |= SBA_PDIR_VALID_BIT;	/* set "valid" bit */
-	*pdir_ptr = cpu_to_le64(pa);	/* swap and store into I/O Pdir */
+	pba |= SBA_PDIR_VALID_BIT;	/* set "valid" bit */
+	*pdir_ptr = cpu_to_le64(pba);	/* swap and store into I/O Pdir */
 
 	/*
 	 * If the PDC_MODEL capabilities has Non-coherent IO-PDIR bit set
@@ -707,7 +704,7 @@ static int sba_dma_supported( struct device *dev, u64 mask)
  * See Documentation/core-api/dma-api-howto.rst
  */
 static dma_addr_t
-sba_map_single(struct device *dev, void *addr, size_t size,
+sba_map_single(struct device *dev, phys_addr_t addr, size_t size,
 	       enum dma_data_direction direction)
 {
 	struct ioc *ioc;
@@ -722,7 +719,7 @@ sba_map_single(struct device *dev, void *addr, size_t size,
 		return DMA_MAPPING_ERROR;
 
 	/* save offset bits */
-	offset = ((dma_addr_t) (long) addr) & ~IOVP_MASK;
+	offset = offset_in_page(addr);
 
 	/* round up to nearest IOVP_SIZE */
 	size = (size + offset + ~IOVP_MASK) & IOVP_MASK;
@@ -739,13 +736,13 @@ sba_map_single(struct device *dev, void *addr, size_t size,
 	pide = sba_alloc_range(ioc, dev, size);
 	iovp = (dma_addr_t) pide << IOVP_SHIFT;
 
-	DBG_RUN("%s() 0x%p -> 0x%lx\n",
-		__func__, addr, (long) iovp | offset);
+	DBG_RUN("%s() 0x%pa -> 0x%lx\n",
+		__func__, &addr, (long) iovp | offset);
 
 	pdir_start = &(ioc->pdir_base[pide]);
 
 	while (size > 0) {
-		sba_io_pdir_entry(pdir_start, KERNEL_SPACE, (unsigned long) addr, 0);
+		sba_io_pdir_entry(pdir_start, KERNEL_SPACE, addr, 0);
 
 		DBG_RUN("	pdir 0x%p %02x%02x%02x%02x%02x%02x%02x%02x\n",
 			pdir_start,
@@ -778,17 +775,18 @@ sba_map_single(struct device *dev, void *addr, size_t size,
 
 
 static dma_addr_t
-sba_map_page(struct device *dev, struct page *page, unsigned long offset,
-		size_t size, enum dma_data_direction direction,
-		unsigned long attrs)
+sba_map_phys(struct device *dev, phys_addr_t phys, size_t size,
+		enum dma_data_direction direction, unsigned long attrs)
 {
-	return sba_map_single(dev, page_address(page) + offset, size,
-			direction);
+	if (unlikely(attrs & DMA_ATTR_MMIO))
+		return DMA_MAPPING_ERROR;
+
+	return sba_map_single(dev, phys, size, direction);
 }
 
 
 /**
- * sba_unmap_page - unmap one IOVA and free resources
+ * sba_unmap_phys - unmap one IOVA and free resources
  * @dev: instance of PCI owned by the driver that's asking.
  * @iova:  IOVA of driver buffer previously mapped.
  * @size:  number of bytes mapped in driver buffer.
@@ -798,7 +796,7 @@ sba_map_page(struct device *dev, struct page *page, unsigned long offset,
  * See Documentation/core-api/dma-api-howto.rst
  */
 static void
-sba_unmap_page(struct device *dev, dma_addr_t iova, size_t size,
+sba_unmap_phys(struct device *dev, dma_addr_t iova, size_t size,
 		enum dma_data_direction direction, unsigned long attrs)
 {
 	struct ioc *ioc;
@@ -893,7 +891,7 @@ static void *sba_alloc(struct device *hwdev, size_t size, dma_addr_t *dma_handle
 
 	if (ret) {
 		memset(ret, 0, size);
-		*dma_handle = sba_map_single(hwdev, ret, size, 0);
+		*dma_handle = sba_map_single(hwdev, virt_to_phys(ret), size, 0);
 	}
 
 	return ret;
@@ -914,7 +912,7 @@ static void
 sba_free(struct device *hwdev, size_t size, void *vaddr,
 		    dma_addr_t dma_handle, unsigned long attrs)
 {
-	sba_unmap_page(hwdev, dma_handle, size, 0, 0);
+	sba_unmap_phys(hwdev, dma_handle, size, 0, 0);
 	free_pages((unsigned long) vaddr, get_order(size));
 }
 
@@ -962,7 +960,7 @@ sba_map_sg(struct device *dev, struct scatterlist *sglist, int nents,
 
 	/* Fast path single entry scatterlists. */
 	if (nents == 1) {
-		sg_dma_address(sglist) = sba_map_single(dev, sg_virt(sglist),
+		sg_dma_address(sglist) = sba_map_single(dev, sg_phys(sglist),
 						sglist->length, direction);
 		sg_dma_len(sglist)     = sglist->length;
 		return 1;
@@ -1061,7 +1059,7 @@ sba_unmap_sg(struct device *dev, struct scatterlist *sglist, int nents,
 
 	while (nents && sg_dma_len(sglist)) {
 
-		sba_unmap_page(dev, sg_dma_address(sglist), sg_dma_len(sglist),
+		sba_unmap_phys(dev, sg_dma_address(sglist), sg_dma_len(sglist),
 				direction, 0);
 #ifdef SBA_COLLECT_STATS
 		ioc->usg_pages += ((sg_dma_address(sglist) & ~IOVP_MASK) + sg_dma_len(sglist) + IOVP_SIZE - 1) >> PAGE_SHIFT;
@@ -1085,8 +1083,8 @@ static const struct dma_map_ops sba_ops = {
 	.dma_supported =	sba_dma_supported,
 	.alloc =		sba_alloc,
 	.free =			sba_free,
-	.map_page =		sba_map_page,
-	.unmap_page =		sba_unmap_page,
+	.map_phys =		sba_map_phys,
+	.unmap_phys =		sba_unmap_phys,
 	.map_sg =		sba_map_sg,
 	.unmap_sg =		sba_unmap_sg,
 	.get_sgtable =		dma_common_get_sgtable,

-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 15 09:16:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 09:16:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143487.1477240 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8xcO-0000lg-UW; Wed, 15 Oct 2025 09:16:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143487.1477240; Wed, 15 Oct 2025 09:16:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v8xcO-0000lV-R4; Wed, 15 Oct 2025 09:16:24 +0000
Received: by outflank-mailman (input) for mailman id 1143487;
 Wed, 15 Oct 2025 09:16:24 +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 <SRS0=aLBx=4Y=kernel.org=leon@srs-se1.protection.inumbo.net>)
 id 1v8xZj-0002lR-Iy
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 09:13:39 +0000
Received: from sea.source.kernel.org (sea.source.kernel.org [172.234.252.31])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3bb5cd90-a9a7-11f0-9d15-b5c5bf9af7f9;
 Wed, 15 Oct 2025 11:13:38 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sea.source.kernel.org (Postfix) with ESMTP id 2D0CC417E5;
 Wed, 15 Oct 2025 09:13:37 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 58D1EC4CEF9;
 Wed, 15 Oct 2025 09:13:36 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3bb5cd90-a9a7-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1760519617;
	bh=CDM9cRqlJbJhV+/XZfBHBL1U6v3SXFrUWdt80oFtUYw=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=tw71SVUT8XfKMlm1/r+zP7oJkAnZln+/ND2VKAPg1Fib6wjOCgnhmfHEo36OrBu0d
	 b9dArUbq9Mu5UObgbXUJpRImY3vUlA3YHJV7XlCL1PrZuREFVRiKW/Lpk/ajHEklGO
	 e76Q4clZxNno+qokZDv/kuPlTY4ELLlc0hGecwwogWcgug2MpXiJhryH+DiYEES6z0
	 bs9hkk4oHRsSWVybZZmy68VpF9MBIMDvvR//BLFqrFcosfeyCdJyBfTfKMOXxsVqCp
	 vpbi+cET5ZU7rNLb5tudr+kd7UXcMUnSRUPxNKuCJxExRGqgI1DNsQsH6x5au+8Ihh
	 B6aSY9FCWKG7g==
From: Leon Romanovsky <leon@kernel.org>
To: Marek Szyprowski <m.szyprowski@samsung.com>,
	Robin Murphy <robin.murphy@arm.com>,
	Russell King <linux@armlinux.org.uk>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Matt Turner <mattst88@gmail.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
	Helge Deller <deller@gmx.de>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Geoff Levand <geoff@infradead.org>,
	"David S. Miller" <davem@davemloft.net>,
	Andreas Larsson <andreas@gaisler.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>
Cc: iommu@lists.linux.dev,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	xen-devel@lists.xenproject.org,
	linux-alpha@vger.kernel.org,
	linux-mips@vger.kernel.org,
	linux-parisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	sparclinux@vger.kernel.org,
	Jason Gunthorpe <jgg@ziepe.ca>,
	Jason Gunthorpe <jgg@nvidia.com>
Subject: [PATCH v5 04/14] ARM: dma-mapping: Switch to physical address mapping callbacks
Date: Wed, 15 Oct 2025 12:12:50 +0300
Message-ID: <20251015-remove-map-page-v5-4-3bbfe3a25cdf@kernel.org>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251015-remove-map-page-v5-0-3bbfe3a25cdf@kernel.org>
References: <20251015-remove-map-page-v5-0-3bbfe3a25cdf@kernel.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
X-Mailer: b4 0.15-dev
Content-Transfer-Encoding: 8bit

From: Leon Romanovsky <leonro@nvidia.com>

Combine resource and page mappings routines to one function, which
handles both these flows at the same manner. This conversion allows
us to remove .map_resource/.unmap_resource callbacks completely.

Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
---
 arch/arm/mm/dma-mapping.c | 100 +++++++++++-----------------------------------
 1 file changed, 23 insertions(+), 77 deletions(-)

diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c
index b0310d6762d5..a4c765d24692 100644
--- a/arch/arm/mm/dma-mapping.c
+++ b/arch/arm/mm/dma-mapping.c
@@ -732,6 +732,9 @@ static int __dma_info_to_prot(enum dma_data_direction dir, unsigned long attrs)
 	if (attrs & DMA_ATTR_PRIVILEGED)
 		prot |= IOMMU_PRIV;
 
+	if (attrs & DMA_ATTR_MMIO)
+		prot |= IOMMU_MMIO;
+
 	switch (dir) {
 	case DMA_BIDIRECTIONAL:
 		return prot | IOMMU_READ | IOMMU_WRITE;
@@ -1350,25 +1353,27 @@ static void arm_iommu_sync_sg_for_device(struct device *dev,
 }
 
 /**
- * arm_iommu_map_page
+ * arm_iommu_map_phys
  * @dev: valid struct device pointer
- * @page: page that buffer resides in
- * @offset: offset into page for start of buffer
+ * @phys: physical address that buffer resides in
  * @size: size of buffer to map
  * @dir: DMA transfer direction
+ * @attrs: DMA mapping attributes
  *
  * IOMMU aware version of arm_dma_map_page()
  */
-static dma_addr_t arm_iommu_map_page(struct device *dev, struct page *page,
-	     unsigned long offset, size_t size, enum dma_data_direction dir,
-	     unsigned long attrs)
+static dma_addr_t arm_iommu_map_phys(struct device *dev, phys_addr_t phys,
+	     size_t size, enum dma_data_direction dir, unsigned long attrs)
 {
 	struct dma_iommu_mapping *mapping = to_dma_iommu_mapping(dev);
+	int len = PAGE_ALIGN(size + offset_in_page(phys));
+	phys_addr_t addr = phys & PAGE_MASK;
 	dma_addr_t dma_addr;
-	int ret, prot, len = PAGE_ALIGN(size + offset);
+	int ret, prot;
 
-	if (!dev->dma_coherent && !(attrs & DMA_ATTR_SKIP_CPU_SYNC))
-		arch_sync_dma_for_device(page_to_phys(page), offset, size, dir);
+	if (!dev->dma_coherent &&
+	    !(attrs & (DMA_ATTR_SKIP_CPU_SYNC | DMA_ATTR_MMIO)))
+		arch_sync_dma_for_device(phys, size, dir);
 
 	dma_addr = __alloc_iova(mapping, len);
 	if (dma_addr == DMA_MAPPING_ERROR)
@@ -1376,12 +1381,11 @@ static dma_addr_t arm_iommu_map_page(struct device *dev, struct page *page,
 
 	prot = __dma_info_to_prot(dir, attrs);
 
-	ret = iommu_map(mapping->domain, dma_addr, page_to_phys(page), len,
-			prot, GFP_KERNEL);
+	ret = iommu_map(mapping->domain, dma_addr, addr, len, prot, GFP_KERNEL);
 	if (ret < 0)
 		goto fail;
 
-	return dma_addr + offset;
+	return dma_addr + offset_in_page(phys);
 fail:
 	__free_iova(mapping, dma_addr, len);
 	return DMA_MAPPING_ERROR;
@@ -1393,10 +1397,11 @@ static dma_addr_t arm_iommu_map_page(struct device *dev, struct page *page,
  * @handle: DMA address of buffer
  * @size: size of buffer (same as passed to dma_map_page)
  * @dir: DMA transfer direction (same as passed to dma_map_page)
+ * @attrs: DMA mapping attributes
  *
- * IOMMU aware version of arm_dma_unmap_page()
+ * IOMMU aware version of arm_dma_unmap_phys()
  */
-static void arm_iommu_unmap_page(struct device *dev, dma_addr_t handle,
+static void arm_iommu_unmap_phys(struct device *dev, dma_addr_t handle,
 		size_t size, enum dma_data_direction dir, unsigned long attrs)
 {
 	struct dma_iommu_mapping *mapping = to_dma_iommu_mapping(dev);
@@ -1407,7 +1412,8 @@ static void arm_iommu_unmap_page(struct device *dev, dma_addr_t handle,
 	if (!iova)
 		return;
 
-	if (!dev->dma_coherent && !(attrs & DMA_ATTR_SKIP_CPU_SYNC)) {
+	if (!dev->dma_coherent &&
+	    !(attrs & (DMA_ATTR_SKIP_CPU_SYNC | DMA_ATTR_MMIO))) {
 		phys_addr_t phys = iommu_iova_to_phys(mapping->domain, iova);
 
 		arch_sync_dma_for_cpu(phys + offset, size, dir);
@@ -1417,63 +1423,6 @@ static void arm_iommu_unmap_page(struct device *dev, dma_addr_t handle,
 	__free_iova(mapping, iova, len);
 }
 
-/**
- * arm_iommu_map_resource - map a device resource for DMA
- * @dev: valid struct device pointer
- * @phys_addr: physical address of resource
- * @size: size of resource to map
- * @dir: DMA transfer direction
- */
-static dma_addr_t arm_iommu_map_resource(struct device *dev,
-		phys_addr_t phys_addr, size_t size,
-		enum dma_data_direction dir, unsigned long attrs)
-{
-	struct dma_iommu_mapping *mapping = to_dma_iommu_mapping(dev);
-	dma_addr_t dma_addr;
-	int ret, prot;
-	phys_addr_t addr = phys_addr & PAGE_MASK;
-	unsigned int offset = phys_addr & ~PAGE_MASK;
-	size_t len = PAGE_ALIGN(size + offset);
-
-	dma_addr = __alloc_iova(mapping, len);
-	if (dma_addr == DMA_MAPPING_ERROR)
-		return dma_addr;
-
-	prot = __dma_info_to_prot(dir, attrs) | IOMMU_MMIO;
-
-	ret = iommu_map(mapping->domain, dma_addr, addr, len, prot, GFP_KERNEL);
-	if (ret < 0)
-		goto fail;
-
-	return dma_addr + offset;
-fail:
-	__free_iova(mapping, dma_addr, len);
-	return DMA_MAPPING_ERROR;
-}
-
-/**
- * arm_iommu_unmap_resource - unmap a device DMA resource
- * @dev: valid struct device pointer
- * @dma_handle: DMA address to resource
- * @size: size of resource to map
- * @dir: DMA transfer direction
- */
-static void arm_iommu_unmap_resource(struct device *dev, dma_addr_t dma_handle,
-		size_t size, enum dma_data_direction dir,
-		unsigned long attrs)
-{
-	struct dma_iommu_mapping *mapping = to_dma_iommu_mapping(dev);
-	dma_addr_t iova = dma_handle & PAGE_MASK;
-	unsigned int offset = dma_handle & ~PAGE_MASK;
-	size_t len = PAGE_ALIGN(size + offset);
-
-	if (!iova)
-		return;
-
-	iommu_unmap(mapping->domain, iova, len);
-	__free_iova(mapping, iova, len);
-}
-
 static void arm_iommu_sync_single_for_cpu(struct device *dev,
 		dma_addr_t handle, size_t size, enum dma_data_direction dir)
 {
@@ -1510,8 +1459,8 @@ static const struct dma_map_ops iommu_ops = {
 	.mmap		= arm_iommu_mmap_attrs,
 	.get_sgtable	= arm_iommu_get_sgtable,
 
-	.map_page		= arm_iommu_map_page,
-	.unmap_page		= arm_iommu_unmap_page,
+	.map_phys		= arm_iommu_map_phys,
+	.unmap_phys		= arm_iommu_unmap_phys,
 	.sync_single_for_cpu	= arm_iommu_sync_single_for_cpu,
 	.sync_single_for_device	= arm_iommu_sync_single_for_device,
 
@@ -1519,9 +1468,6 @@ static const struct dma_map_ops iommu_ops = {
 	.unmap_sg		= arm_iommu_unmap_sg,
 	.sync_sg_for_cpu	= arm_iommu_sync_sg_for_cpu,
 	.sync_sg_for_device	= arm_iommu_sync_sg_for_device,
-
-	.map_resource		= arm_iommu_map_resource,
-	.unmap_resource		= arm_iommu_unmap_resource,
 };
 
 /**

-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 15 12:55:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 12:55:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143578.1477250 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v912b-00043u-Iw; Wed, 15 Oct 2025 12:55:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143578.1477250; Wed, 15 Oct 2025 12:55:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v912b-00043n-FC; Wed, 15 Oct 2025 12:55:41 +0000
Received: by outflank-mailman (input) for mailman id 1143578;
 Wed, 15 Oct 2025 12:55:40 +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 <SRS0=oFce=4Y=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v912a-00043M-2B
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 12:55:40 +0000
Received: from mail-wm1-x332.google.com (mail-wm1-x332.google.com
 [2a00:1450:4864:20::332])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3eab9542-a9c6-11f0-980a-7dc792cee155;
 Wed, 15 Oct 2025 14:55:37 +0200 (CEST)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-46e37d6c21eso37379205e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 15 Oct 2025 05:55:37 -0700 (PDT)
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-47101c23a52sm25828755e9.12.2025.10.15.05.55.35
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 15 Oct 2025 05:55:36 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3eab9542-a9c6-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760532936; x=1761137736; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=+tTkmQbguyAZurbfIpXiurrZx7dYHAtj77ye3eCrqgQ=;
        b=cFJQePpIASawzyLz0vY9cHempKkeBrH3doO/E9A4JeByWisimWHSwq6y0nyyMBGiFZ
         RpPGIWApI16S7R9B/hKmGRCWhT4z/tzLwKWtszqFjO7Dsz3AQUNlyU7Zj1A1YI/E99df
         wL38Drkq2hT2+0DijU6zkYf/IERJf3fIc1e/kQmNW2IlUlLxe0YAVxxwDmUKRLAX7kAc
         RfcZi6xZvYAoHOv9wLDHzwQH0jXhS1CkDAeBI9iFPe9i9fbLa8jKKz2sT8+pQf81ujQl
         XGcd+jgPsjv6uHZ2RnWo0u6cP0xGxbBbAW+M8o7u+DB5Tmp+YZ0SdvRuPjQgKJaXBdXi
         /MCQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760532936; x=1761137736;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=+tTkmQbguyAZurbfIpXiurrZx7dYHAtj77ye3eCrqgQ=;
        b=PAVhcieedpq32j0nIFn775tQMhRPKo59jRId1ngcLoQn2yqjogHiACx/vxQEo8wftl
         QbdGRH1mI2OZnYdNiHXTTezeyJozhgpoupx48s5j8eOefJ/t1YIH2XvTwBHcJCUjgxIp
         wjeVD4a+Wru9DpdiU9xlZmAMhEHZ8CE/Q/WjP+d0UyrwTE+mnpRJDYYd5ynv7aVgkuhw
         BOtr0bXQ8BP32nn0eD/XESWZA2V55k76PpB64Lh93Q+TFkG+XJzAsCIdd1Ak1lFSQixH
         zdfK/s9LQDmvTSRUpIF08uXWYXSvbXAJN8PpBrfjheLmj6FgA4w49A/SHPDHoQn55NZL
         C3oQ==
X-Forwarded-Encrypted: i=1; AJvYcCX4D4jApYE7qZIJzU16Eim6dtkuBfVUADLPDHpy3B/iKdrXSMaOKxjKxIGFGKAH1ZI84tzpfReOWOI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwPZ5NMOC6XZIAdwExW+uMngWV4czcZYdNrneuRKkTJ7xeGzaMP
	ZsaO4BFT3T03jVwQqOtsYEdv4pQmFmOGxZaqsnvqAccYvSwoWhWhUwvmXS11uE8S8Q==
X-Gm-Gg: ASbGncsLtNTlR05SXxAoK9HMaibEZctPYDWz9pU3UjTRWMHO7f/8KbNkEiWXPddNUFn
	fawxsQOLsUcZmfndHtDx7l2+bA1Sgo3btPUxZ5W8HTGkIxiS1KFz8JecEUbH7qpzCWZVHoeoOAP
	HiSMgGJh4wOhmK8v2VsrS36ajIjvicT1CcLmBJKbDpSOp5YMDwFkuHejM5pMQ8kiKzDLYns7c6f
	GW7lV5p8iiVDRsqC7BIU/n2oPXRzrUu0PT9xebh8qJjNJ+voNshsD9YYNtLP3sae/QEARFLY5nL
	I9XeDRmByKs5qblu3E7OJjWOeFsLstrdk6RqseRWDGvSjO+OAWEr52zcRr+tIXt9JGq/+aVXtRy
	9dQj+KLJZ13HTTz/6xCH5UzwRqYfytcCNelpkTg6nMgRiGbuHjix7IzNH6OTdUN8KmmSXmX8Zjl
	k9p3r1FrxSmWB8E/k3Wz5sk4vU1pNSJjmp+kHOkTPcUnzugnw=
X-Google-Smtp-Source: AGHT+IGVf6DSGg82CeXNzzewQ3K/TAB6cUKiz580Z9bst09LLduyMuvWWRQHOFv/m4K+qAWwRw2j9g==
X-Received: by 2002:a05:600c:888d:b0:468:9e79:bee0 with SMTP id 5b1f17b1804b1-46fa9b939e4mr147824395e9.0.1760532936424;
        Wed, 15 Oct 2025 05:55:36 -0700 (PDT)
Message-ID: <7173311d-0afc-4e4f-93e1-b47770b8225e@suse.com>
Date: Wed, 15 Oct 2025 14:55:35 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/boot: Fix edd=off to skip mbr
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20251013211139.8750-1-jason.andryuk@amd.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251013211139.8750-1-jason.andryuk@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 13.10.2025 23:11, Jason Andryuk wrote:
> When the fixes commit re-arranged the code, it made edd=off jump to the
> mbr code instead of returning from the function.  Previously edd_done
> was immediately before ret and skipped the MBR check.

Hmm, bad me.

> Replace edd_done with .Ledd_mbr_sig for the start of the MBR checking,
> and replace .Ledd_mbr_sig_skip with .Ledd_done to exit from the function.
> 
> edd=off jumps to .Ledd_done to return from the function, and internal
> jumps go to .Ledd_mbr_sig to check edd=skipmbr.
> 
> Fixes: 5ec164fd61bd ("x86/boot: re-arrange how/when we do disk I/O")
> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Wed Oct 15 12:59:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 12:59:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143588.1477260 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v916X-0004c1-20; Wed, 15 Oct 2025 12:59:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143588.1477260; Wed, 15 Oct 2025 12:59:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v916W-0004bu-Uc; Wed, 15 Oct 2025 12:59:44 +0000
Received: by outflank-mailman (input) for mailman id 1143588;
 Wed, 15 Oct 2025 12:59:43 +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 <SRS0=oFce=4Y=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v916V-0004bm-Mp
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 12:59:43 +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 d0905f96-a9c6-11f0-980a-7dc792cee155;
 Wed, 15 Oct 2025 14:59:41 +0200 (CEST)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-3f0ae439bc3so2935606f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 15 Oct 2025 05:59:41 -0700 (PDT)
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-426fb279857sm444934f8f.20.2025.10.15.05.59.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 15 Oct 2025 05:59:40 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d0905f96-a9c6-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760533181; x=1761137981; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=35Z1GoZg4+XJhyRholCIRR5mCpnyANAns2Yp4nBSbsg=;
        b=U6aRbLSaqbbpTohBwcy6zj1cBz2SoBHVPd7yNxHXCLd6o3SWQpPWgjlZYG1ZVsDgZ2
         B9+7ywjN6RBSEyBEuf5EokMioMeJvmW22w/TwIXnjnz2EFu2whk3gUhtQlTaaFNBBdEF
         xz9EfWsDf4L1aqMQfVx8iTLll+BeCT48sb7cqdFkosFPf8R49iT84nX+vD8nLrVEBalF
         7XzZMX351Kn3FSx7eMSeTXHU4P3G/FY8r1qz9yI3b/K0H2Zzncw2sH0OGGqtbd2ktn30
         GkC20hoCcXSIjkEXjE340RTj3DQilNfii5q45moDQjlm17Gohxybj7JpC4fDw7qL0Ec0
         kAAQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760533181; x=1761137981;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=35Z1GoZg4+XJhyRholCIRR5mCpnyANAns2Yp4nBSbsg=;
        b=S4RU/riviwNo6n9RJvRbsruiAvauT8dmMXTPdJA7LfDeI4YpLjX4dDabQt84U7rUbY
         N3iP6eIGIjoFp9MHJWZ8c/7FVP1NmX3j0/wlZQVJieCoAiJKM3ILRSf8n7GmPtP2kNAd
         sgAyvQ7PzGeC3U5qCEx3De7dOm7F50OvrY9HwSraXfRUubL6WVPIQGwvAuKuSubQXQK7
         ubasYYe2ZsF8avFSZE3XPlmwXDA1hdf/rcTw+0oJJnHQ15ip+6mWC0qZ9u4zbhKR7WVq
         luCL2h2mQH20GFBnIXvC0oO+zxb2Ys1GZVpcolwFPaNkNVFgY15Ua47dmRWQdGCBMHb5
         d9OA==
X-Gm-Message-State: AOJu0Yyj503IudSVsFwH198zBOjcTQm9KoZgPEnt4W77CfCZSLHrF20j
	Zr0pd25JFw3vdUfl0v0Y//zS+yGaGEZrufvohqF9b20O2bzmKYaP7X0FzrEDhBXbcA==
X-Gm-Gg: ASbGncu/AHiFCBtZpCC6TplPv0NLahpzgXUWa0OT2V1Kdu5QtnzFMBsJgNwBmnk56Tm
	SbvETO6wfS5NEnn/fR2sEkVOM8fnGsZkhN6tehQp/7d2xnRMb7zi3mPN6nLW2Wfz8JucJJ+UxdJ
	sVPLD9vX/Uhdt+jUPcWdWFjfQuDWoAo5q5sHUXGKY/kzis7aKJw+y8Q4HjNq5INEgxB0hMfpnLW
	/R+IXz9V7uYI4qAR5kIPGDNYXzZPRDSTYVJfn/gW20xFxrL4lfFm+LYfDOT7AGnGT//chv/vl6j
	cvOpfey+vzJIK18Rjk943WBYnXAW+Js3zEOlCqVS+mGpoNTF8C+sIRJNcBTCvJ8o2tQN3TDhlNx
	p9aSRtHyutP3+wjCOdDFKIKwGPhlR3pzmKupsNPZNwxV4j5qB7Big2hEsTmU8pFdYXroD8n5PsO
	gjyj4G8NI9JuQ0rP43BPlSCIFj5w==
X-Google-Smtp-Source: AGHT+IFGOzJU/nVZ9HA4zWidKDdLqItblWjkZ3ko9P3xALo4IXoOcxgtfQUErhxALpXC6iHLtefkIg==
X-Received: by 2002:a05:6000:248a:b0:3e4:b44d:c586 with SMTP id ffacd0b85a97d-4266e7d4575mr16169025f8f.34.1760533181069;
        Wed, 15 Oct 2025 05:59:41 -0700 (PDT)
Message-ID: <d8cb0b5b-fbf6-4db0-ba70-f5a612e63cb4@suse.com>
Date: Wed, 15 Oct 2025 14:59:39 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] x86/apic: Avoid infinite loop in
 io_apic_level_ack_pending()
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Jason Andryuk <jason.andryuk@amd.com>
Cc: xen-devel@lists.xenproject.org,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <20251013211106.8720-1-jason.andryuk@amd.com>
 <aO39pb3L42ktBol_@Mac.lan>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <aO39pb3L42ktBol_@Mac.lan>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 14.10.2025 09:37, Roger Pau MonnÃ© wrote:
> On Mon, Oct 13, 2025 at 05:11:06PM -0400, Jason Andryuk wrote:
>> io_apic_level_ack_pending() will end up in an infinite loop if
>> entry->pin == -1.  entry does not change, so it will keep reading -1.
> 
> Do you know how you end up with an entry with pin == -1 on the
> irq_pin_list? Are there systems with gaps in the GSI space between
> IO-APICs?  So far everything I saw had the IO-APIC in contiguous GSI
> space.
> 
>> Convert to a proper for loop so that continue works.  Add a new helper,
>> next_entry(), to handle advancing to the next irq_pin_list entry.
>>
>> Fixes: f821102450a1 ("x86: IRQ Migration logic enhancement.")
>> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
>> ---
>> v2:
>> continue (not break) for pin == -1.
>>
>> I added the next_entry() helper since putting the expression in the for
>> loop is a little cluttered.  The helper can also be re-used for other
>> instances within the file.

Would this intention ...

>> --- a/xen/arch/x86/io_apic.c
>> +++ b/xen/arch/x86/io_apic.c
>> @@ -1586,14 +1586,21 @@ static int __init cf_check setup_ioapic_ack(const char *s)
>>  }
>>  custom_param("ioapic_ack", setup_ioapic_ack);
>>  
>> +static struct irq_pin_list *next_entry(struct irq_pin_list *entry)
> 
> I think you can make the entry parameter const?

... possibly conflict with such a change?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Oct 15 13:48:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 13:48:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143608.1477270 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v91rF-0002AX-Iy; Wed, 15 Oct 2025 13:48:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143608.1477270; Wed, 15 Oct 2025 13:48:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v91rF-0002AQ-FP; Wed, 15 Oct 2025 13:48:01 +0000
Received: by outflank-mailman (input) for mailman id 1143608;
 Wed, 15 Oct 2025 13:48:00 +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
 <SRS0=pY79=4Y=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v91rE-0002AF-16
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 13:48:00 +0000
Received: from BL2PR02CU003.outbound.protection.outlook.com
 (mail-eastusazlp17011000f.outbound.protection.outlook.com
 [2a01:111:f403:c100::f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8efe10dc-a9cd-11f0-9d15-b5c5bf9af7f9;
 Wed, 15 Oct 2025 15:47:58 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by CH2PR03MB5176.namprd03.prod.outlook.com (2603:10b6:610:97::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.11; Wed, 15 Oct
 2025 13:47:55 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9228.009; Wed, 15 Oct 2025
 13:47:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8efe10dc-a9cd-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=sfYde3y3riSFT1G65ZibNoaItQWojvQpN6IKAa9LjCMlNiCvwT+td5mgXrp9z1pybxDvUocMHJmy6wgoGlGjMenw0MMQ3PPvCM9UQNDzZGKFVvoY6Trd26Pku4HxwuPCtyVAYpp/YCF692UgMFBOkMisnbJ+Cwv+KQ0LYltDGweDXBck1Jzl2du4ejkyQhVbLtpQh04QHxz/ru6hzicKcqAhyu+Pum0psflFHl4ZzVGVn8hXcY4AYVxpiBkDpZoSCtNoeOs46iXTjQfDeJ9GFdO2bSnMKRuQSwlIG/9eMpxu+L1Qj5OaI55Yfznfz8MwwheNeXqr7GyGN98XKNcsBA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9jAaEkbPMClbdXrDp068D9KRbyTHRkgW/ifsonbGhPQ=;
 b=bzm3zW3Hh65jYYCKm/FzFnReb3A74SjmC1gYba/XrsPIgUVL9N0ZGIp2KBuguatyFIaa6HJ2uQYKXn+35woXrx14hf/ijNUa9BH5dQa846sPTIVoxxcT/xOmNozd0ixPjliRovA0qsLiU3RLLG8ODYTczlSTvWp/zont7KhScYMhJeTLtrFP36x6KtasPZQIxpoU6QWjGBh1WvRezD5MYiVSbhfXvONgWafxzCYXsYqUufwznrV1nM9TWCOG6X950yjg+3j+BRVnWJS/OkerKcw4V5kyYEgOSh4oGZAgYwXmu2cC94vsnr3vJd5caoknyI8LPyVrAiuZzlqPAv2jVg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9jAaEkbPMClbdXrDp068D9KRbyTHRkgW/ifsonbGhPQ=;
 b=R0jrf2QVpipJsOEpUf/huSNwwzwWO6DcMu/xVMZ5Jszluur5GKep7tjZGohjKz6xl9iUY5Mcny6zatlCnLTKmmXMcy+NC+oFRq7moTOQjra+2saAW4GKYA8sr3s01k0jHSio5LnzfC9YF/bRQ65oEYWp/CCXuIi9Kn4+HGL/J0o=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: oleksii.kurochko@gmail.com,
	Roger Pau Monne <roger.pau@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH for-4.21 1/6] tools/{lib,}xl: fix usage of error return from json_tokener_parse_verbose()
Date: Wed, 15 Oct 2025 15:40:38 +0200
Message-ID: <20251015134043.72316-2-roger.pau@citrix.com>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251015134043.72316-1-roger.pau@citrix.com>
References: <20251015134043.72316-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MA2P292CA0028.ESPP292.PROD.OUTLOOK.COM (2603:10a6:250::15)
 To DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|CH2PR03MB5176:EE_
X-MS-Office365-Filtering-Correlation-Id: 5fdaecdc-0590-4a66-f4ba-08de0bf17168
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?MlpHQ3JleXVUNGdmRFcrOFB2YitiOEVKdTBnQUx0L0ZuaDl6TzBLZ211c2dE?=
 =?utf-8?B?ZGoyRGFwVkNrZndpbmE5c0UzYW1iWlNLSld3UEIyT3BEY2VTQ1ppaFhieUMw?=
 =?utf-8?B?SkxVcFNVL3pXeVUxQ2ovU1dvb3VsWlh2QXZPRmhJUEFJYkErUjdFS0liREg5?=
 =?utf-8?B?SEE0a3N5TVZkem56L1hWVTcwYXErOEZvZnlrN0xOcCthdHBZN3V4MTFpZ1Zs?=
 =?utf-8?B?bUs5aXVWRmNQNUFtVUxEdjV1dnRYWFR6V3VDVVJwVmw2OGpIOHhManJxaEhy?=
 =?utf-8?B?cC9CdUVZNGl2THFhNVRTZWczS1prMm90SmpFVDRBbE1RQ1RyZGxnT3RWbVZm?=
 =?utf-8?B?VGVINmQvVCtaMXduMWR3Uks5SGszZlJSaFdOUnBMU0E4SUVqUEcwb0w3Tjc2?=
 =?utf-8?B?aGFRUHJZS1dPTlI2ZG9TTkVzdys4d2RwbUhEQkhqZ1RYMXpFOFVXM3ZXN1NF?=
 =?utf-8?B?UUZxQmNYTkwyNkwyL2VXcmdEVGRlbDJFdnNmcjQram9NWXlOM2w0clA2SGFZ?=
 =?utf-8?B?SjRvRzFHeFlXWTN4Ull5ZDdLSFVvL2IweC9NdVZuOVZFYXZuSndnR0EzSTlI?=
 =?utf-8?B?bnprWDB4cWpuUjJqMlgzRWJZZ0NIMm5MeGxDOExlYUpaS1A3eGlEaXBDamVx?=
 =?utf-8?B?SWpxMnY4R3RkM3Zrb0R4TE1yY3JtbXpuUTJHMDdMZWxDdGJTbnNDWmNHYTFU?=
 =?utf-8?B?Z2RBL2FHaUtoU0p0Y1N3WlBudE5oVWdIU3A3TUtJWkxKNi8zSVEyZDZoRnZE?=
 =?utf-8?B?aFM2eTQyM2dFOFc0VE1vMlI3NDUvMlhHOXJmVDF0d1R6S25VSC9BelZjSTRi?=
 =?utf-8?B?WUtLSElaRHdyZHdBK1FGcmViR1ZaNmtzQndFRjFrSHVubFg4L2VlQi9iWDR0?=
 =?utf-8?B?NktHZkJQUHlYTWZTbTFCWm9oT3hRaDVZSGJnQ01Wakw3MmtBSnNlQnJNdk9a?=
 =?utf-8?B?YklYSHJnY1ZOQkQ4bWhValIweWF0d3VOWjhNeWdnVzFjakprdjRESVZyS2ZN?=
 =?utf-8?B?SWowZnAzaVlPQUdiVlU1NXpMSy8vb3lJeEs3MlRUQXRzd1RHOTZxR001R0ZQ?=
 =?utf-8?B?Sm5wR3ExMklNNVd3d21CZXRSbm91NWpEWCs3UVFuVDczRml3SWhnWXFGN2pT?=
 =?utf-8?B?ZWRCaGJONjNxY3dSLzBnK3kxYzdIVDVCQWJ5YmxidDB1WlQ5TTVNNDNjZTdM?=
 =?utf-8?B?V2lCcGM5OUFvTGlIdjZkbVY3a1NxU3V3Q2hGeTRoT2c2ZEV5V2lIbU9wNldO?=
 =?utf-8?B?RmcveHZURGV1QWh4QWtrUm96VHpkUTU0YkQwWHB4a0MvOEY1Z3BtZFJZUHVG?=
 =?utf-8?B?QzcyQjhtdGJTMDJnTW94Yk5RNkRqN3Ftb2hoRlFmUlByVGVOSmduOEU0RFFV?=
 =?utf-8?B?UHZ4Y0pVbHhOa0RobDQwT2xITERUOUVuS0VWME91SXd1OHlHK25tVW5FNDl2?=
 =?utf-8?B?R1FyZHVjKzBxaVhhQTlxdlRTMnlOdkw2SFVmWk9mN1VmaGo2cm1UUnlrYkFh?=
 =?utf-8?B?cXRvUm11dlhRTUVCbzQ4TEE3anVOSFIram9JUFJNWGdqc0VXSm5kbjZkekpm?=
 =?utf-8?B?VEVIZ1dKMTRseW9ZT0pBb3hWTGtCVGhWU3N0Ym9WM0t1SzFFTGtjV2xGRXhy?=
 =?utf-8?B?bVhnbndSVnhFeUx0cHhJemh3VlJHL2gwSFJhMElBOFNKQUtqMmxhb1NycEtS?=
 =?utf-8?B?KzUrTy9LWUtUTEZyU091V3VZV1V3SmdEenRiT2s1VCtxVnF1MHVJQkNZRWNR?=
 =?utf-8?B?Ty9GVU41enlSSjgyeE5EdzFpWTJNUW5ISjVFTUg3UmRvZmtISFdXTEZYNFY2?=
 =?utf-8?B?LzRadkhab1Q0Zmt6SEM1aWJRQ0RvUlI4ZG5Ta2xkRDdCSndZaFYrNG1ZdjZJ?=
 =?utf-8?B?VHhBNTlicnV2NWxDUHVwNWw5NXFkS0xTUWtmdWFONzNUUkhwUm0wL21iMFh3?=
 =?utf-8?Q?T3fXqUgKxDGY0FBo2Mg3MLJwHg3MqV5T?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZVN1UmpoRHpmbUkvUGRUVVpZcmRHV2VCS3ZXdTlJODM5clpRRTlJRGRSTGQ3?=
 =?utf-8?B?SXdMWGxwbUdRRUN3amc1MiswdEZPOGU2V3JaODVIcGUzaHFkcHA3dzJIZDFR?=
 =?utf-8?B?VjFTY3E5ZFV1TS91aU5tQjEzd0VFZmxjZTF4ZURLTzJUSWRuOFJVNEVndVp3?=
 =?utf-8?B?THRXUk9sQ3JFNC9oeXFRM0xubGtpb3FDQTljbEdWOWVHaHlVSmw1TEphTDB4?=
 =?utf-8?B?TnBIVE5qaHhkdFhETC9Ic3gremtBOS9CY2VXSFloekVvL0N2UkVRZUNKT0Mw?=
 =?utf-8?B?NUlncjNBbUlJcmdaTnFCL28xWHFVQ2xFRjJETGFMZHdSTVBnbTB5Ujg5R0tY?=
 =?utf-8?B?VGRHVnM1OG1reUtLOENmQXJIUXJ2S04relc3MXVJSDY3VDQrVmhQRlh0VE1z?=
 =?utf-8?B?VzU3Q2JXbHNkR3FaUUNWTTZPSEN3MjNyWUlidStWQkV3SUJCaS9HMjB1RXkz?=
 =?utf-8?B?RnhNVzA2RkZWN0VVUXpkb1BLK0VQZEVqSmJaOEJDRlNjRHFkQWFCdDJoREhF?=
 =?utf-8?B?dnpMOVpxeGd4dENQc1Q5UWl1cEVWWjE2bG1tUjJLZ2V6R0gwQTlVdGxCQWJn?=
 =?utf-8?B?Z3owZFdkcmVWZ3htMEVpWjJNeGlDVmZVdVJGK09FSEJjV3pTcFNGM1JrS2VB?=
 =?utf-8?B?cGZlOU1uZ1JvVFpHWk5URmFKVFhUUzg1bW5Jc0pGN1hsdFExMnEvVkg3RGRV?=
 =?utf-8?B?dWEzVFUzTHZWQmtVU3V5d1dYLzB6QWozN0hxOHdIVmlEVUdzVFFLWjdrUFpD?=
 =?utf-8?B?Y1ZacDhEOGY4YVBtS2psRWsrT1lMMElFK2NTL3RaSnNWZmJ6eWkzVFljRFIr?=
 =?utf-8?B?YzEzMXl6a0Q1cmNJOXkvOGZPQVFQR0FROGhSY20wZmJ4dGVNL3pZRXNMczBi?=
 =?utf-8?B?UkpIYllYWDIxU3doVzlzUnh4alc2KzFPSE03YTFabUNsbXJWT3F6bS9IM0Ra?=
 =?utf-8?B?dm5tb1hpMkdnZjQxTEU0ZWlheVJudkhMOXlEVkRzTndJWHpjR0UrWVYxSlYr?=
 =?utf-8?B?clEvWTNBMk43WWRlOWl1OEludFdBczhtdndrakRHQmdtdWtXemtFaXMxVTlF?=
 =?utf-8?B?a0t6eGRJcWJ5dzRkaENleXQ0M1lqdDVHWS9kY05VOXVPb1RKWTVvNG5EdTF3?=
 =?utf-8?B?bW9URlJ3cEZGQ2NzVUZaT0Y5UEIyM3BCV050K2drRjN2OFlsS1RXK285OTZt?=
 =?utf-8?B?YnFZVDZoYlU5UU5SdklDK2ttTXFYdGFVREEwMzJqRklNNHFjVjRyY2VPQzdx?=
 =?utf-8?B?NXNFSC9zZktGZThNbmJYTVlkNUZjNkhmaWlIejd1WkhuNWgzdExaMGN1d2dx?=
 =?utf-8?B?U090akErTUMxRjA3b2c1Uy9haUh3ZjRoUjM4N1RHYVpjSkc5L0MrYVp5Z1Vi?=
 =?utf-8?B?ZXRPanU2N3RtWDdhNmNScStXYjFQL0ZHWHh5a25OWHNaNkNOcXdIMTBFaDg1?=
 =?utf-8?B?WHlISGtaVVdxTi8rWVRvSTFOZ1FYRkhZQ1VGWTI1dWdGNFMxUHg0d05TY1Q0?=
 =?utf-8?B?bENqTjFhMkxuR2RsTXBSRTlhNmFLNUpNbmtCRVJldFEzdWxPR3BQQkFLcVRm?=
 =?utf-8?B?cEdVVWJrckxtSW5JTno5c0hGS1M1ZFcwYlFqSTJVaU5ONW9rb1h5ME9hZ2ZX?=
 =?utf-8?B?Wk1UdDdvSHY0ME5CbzZudVYwcUZmQVBsTW4vTWdrTFR3Nk8xNkc5ZGloS0E0?=
 =?utf-8?B?SUczMWZyR2Y2Wm5aZWNjcHV5OVgxbXE4MHZRcWhmdGwvc2N3UVhvUFpOUE5Q?=
 =?utf-8?B?UnQ4eGE0ZU1IYkQyWDFxSWZNcEcvUE5XZVZkYTFudi9DQ3d2Mnk2YzlHSVB6?=
 =?utf-8?B?akdBVFEwOXVSQTRHSm9sQzBCaGMvajNUOXRmaktSTklDaEZ3WDVJcmE5bm9R?=
 =?utf-8?B?bHh6dmNxVXBUcnRKVCs3WC9YR0VRenhkaWduNUVjWTlFUmVlTW5SL2FzVFBG?=
 =?utf-8?B?ekh1Q0dFbEhENFYzL1YvRzlWS2tBZGEydVVsb2tIdzU3eU8yUTBGTUlEbTFw?=
 =?utf-8?B?bm5CYWcrVHhtbTlKNVJ3ZXRnRGhRcVVrYlBzVXc3bDZkaklGZ0dKZExNdUZt?=
 =?utf-8?B?L0d6Z1J0QUxMUWRPVUhHa3NGNnR3UnJvaFlPTytBL0N4ZnNVSnJnWklzMHVx?=
 =?utf-8?Q?aPtA4QYBjEkx6Rt6aKc/cc0T8?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5fdaecdc-0590-4a66-f4ba-08de0bf17168
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Oct 2025 13:47:55.5420
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 71oJRwGfHZVqcm02hv/aRII8EbB82I+Ryx2oXlg+cmzt/Uw71tUEsr9DB9IpdS79UtA3csoe1gg+QLAznK4zRw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR03MB5176

It's possible for json_tokener_parse_verbose() to return NULL and leave the
error parameter unset.  Initialize the error token to success, and only
print it if the function has actually set it to a value different than
success.

Reported by XenServer internal Coverity instance.

Fixes: 7e95dab9eb63 ("libxl: Convert libxl__json_parse() to use json-c")
Fixes: f6c6f2679d49 ("libxl: Convert libxl__object_to_json() to json-c")
Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
---
 tools/libs/light/libxl_json.c | 6 ++++--
 tools/xl/xl_info.c            | 5 +++--
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/tools/libs/light/libxl_json.c b/tools/libs/light/libxl_json.c
index c76ae9f64a9d..a9e06b06932d 100644
--- a/tools/libs/light/libxl_json.c
+++ b/tools/libs/light/libxl_json.c
@@ -1366,11 +1366,13 @@ libxl__json_object *libxl__json_parse(libxl__gc *gc, const char *s)
     libxl__json_object *o = NULL;
 #ifdef USE_LIBJSONC_PARSER
     json_object *jso;
-    enum json_tokener_error error;
+    enum json_tokener_error error = json_tokener_success;
 
     jso = json_tokener_parse_verbose(s, &error);
     if (!jso) {
-        LOG(ERROR, "json-c parse error: %s", json_tokener_error_desc(error));
+        LOG(ERROR, "json-c parse error: %s",
+            error != json_tokener_success ? json_tokener_error_desc(error)
+                                          : "unspecified error");
         goto out;
     }
 #endif
diff --git a/tools/xl/xl_info.c b/tools/xl/xl_info.c
index 80a3b25aac81..777ff2c64294 100644
--- a/tools/xl/xl_info.c
+++ b/tools/xl/xl_info.c
@@ -67,7 +67,7 @@ static int printf_info_one_json(json_object **jso_r, int domid,
 {
     json_object *jso = NULL;
     json_object *jso_config = NULL;
-    enum json_tokener_error error;
+    enum json_tokener_error error = json_tokener_success;
     char *s = NULL;
     int r = EXIT_FAILURE;
 
@@ -75,7 +75,8 @@ static int printf_info_one_json(json_object **jso_r, int domid,
     jso_config = json_tokener_parse_verbose(s, &error);
     if (!jso_config) {
         fprintf(stderr, "fail to parse JSON from libxl_domain_config_to_json(): %s\n",
-                json_tokener_error_desc(error));
+                error != json_tokener_success ? json_tokener_error_desc(error)
+                                              : "unspecified error");
         goto out;
     }
 
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 15 13:48:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 13:48:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143610.1477290 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v91rI-0002cF-7w; Wed, 15 Oct 2025 13:48:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143610.1477290; Wed, 15 Oct 2025 13:48:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v91rI-0002c0-3q; Wed, 15 Oct 2025 13:48:04 +0000
Received: by outflank-mailman (input) for mailman id 1143610;
 Wed, 15 Oct 2025 13:48:02 +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
 <SRS0=pY79=4Y=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v91rG-0002AF-N4
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 13:48:02 +0000
Received: from BN1PR04CU002.outbound.protection.outlook.com
 (mail-eastus2azlp170100001.outbound.protection.outlook.com
 [2a01:111:f403:c110::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 910a3c23-a9cd-11f0-9d15-b5c5bf9af7f9;
 Wed, 15 Oct 2025 15:48:02 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by CH2PR03MB5176.namprd03.prod.outlook.com (2603:10b6:610:97::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.11; Wed, 15 Oct
 2025 13:47:59 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9228.009; Wed, 15 Oct 2025
 13:47:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 910a3c23-a9cd-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=D0BkMybkNUXFq5Ay8rwziW+NuXZuVpYfUgNaxhHlInYZhoTzv4wM5cHBEmnhFk+USr3GkixwddErAdMVHBzOqyDTzDJwErY7PoKJMqtI5+kuBI5d5BPgh40ThotC7y3sj+kqIX3HrjwdVoL98b5x3bmDEAuOP/eONJH+UEw7Wpg0T6BYrC4PfbFiJv2bXKfGU1M1vdJFXnRQdnaWWpzxlTpp4bhdJaUGwvzWfR7oQJ2yIt585HF7Jw5hV3jSTFZkj9b3FthukXX0Y5qmyox86OoNmdjErFIuqeJYhUAIpjZieNiPM7g4irBn+f4EZKdQS88yC4Bkcy+dfPv2dMEK/A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=14kYZ37eR+zBgiRMbpoPo4RJmcTjOY4j9c/vWRzOLaQ=;
 b=aqkW27WHo3HYYjRVLSgXwv+7Gt99gyXmV7Y6uFW0qrU/QXGdQFtcZTKpTCny0WSIDmPQmuCKM+ivHUi/EHewwSu2mGmqC2VfHfva38Ni9CbumbcQL5fL7aI411dsqtJQcRDVrv/6QGayxmXm3OwIy4MkYrIaclWz+lm2aCz8EzG5FjPW6oOKOGsFPzDpKur1AKF3S5FSCp8AofLt+X3RHR3YvmcZCTUiC/aaKQnCHM8rdtgRa3hASdjwxmca/17Kdw04FJjCJXz2CePF7Fp/tMDsFT9/sahfsUUQRp3xTLiY60AsBtKhtnYzixHj6xoeknW4qBD87LoVJaWglvTITQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=14kYZ37eR+zBgiRMbpoPo4RJmcTjOY4j9c/vWRzOLaQ=;
 b=cN35uQB9trHvUYzFZPhN/hY3ifgohxyOP+vofVBXv5xEinc3ninIybIKelZr62MxzSVyvAcxafX0XAGDiVjK+YFjIk+H9vHmaOwyxhA9C2AlAb0e7Q0GFL3PWzBmZBW9YZzyfsWYmVCU3zjgPNVc4Dll3FuG6fRuPx0Zn7UMoeY=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: oleksii.kurochko@gmail.com,
	Roger Pau Monne <roger.pau@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH for-4.21 2/6] tools/libxl: avoid freeing stack rubble in libxl__json_object_to_json()
Date: Wed, 15 Oct 2025 15:40:39 +0200
Message-ID: <20251015134043.72316-3-roger.pau@citrix.com>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251015134043.72316-1-roger.pau@citrix.com>
References: <20251015134043.72316-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: PR3P189CA0049.EURP189.PROD.OUTLOOK.COM
 (2603:10a6:102:53::24) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|CH2PR03MB5176:EE_
X-MS-Office365-Filtering-Correlation-Id: f294ec7c-1fb3-4c35-66f2-08de0bf1740e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?Z0FHU2lJcjk1OWl5MWovL3ZMNTU2bGtrbkQ1bWJVL1IzTGRoNnlZaWkzRHZO?=
 =?utf-8?B?Z0xGbDBBT3dVUGdkbnN5NG5KZmkwNk9JbEI5dDRtV091RlpjZzdxMTcrcVM3?=
 =?utf-8?B?S2xZKzFGVlRMNWFIaldXUy9JQ3doSnJ2aGcvR21FMm1KdEcweHRnRGxVdVgz?=
 =?utf-8?B?REZvTkhSZXQ5N21Qd2V0N1FuQkd6T2hJVndNVFFNc0RPcElkL2pFZmxPRm43?=
 =?utf-8?B?NnVrcWxXNzdIaDNBWnFaMTFwOUpMalM0d296UG93L3lXbzNCcFRYenMxREV0?=
 =?utf-8?B?TTVzbmhrK3h4RjR2b1BiRjcwd0pmZ3dJcncrVm9lTkdiVE1ESWlpOXA1MWpi?=
 =?utf-8?B?ZHJvbXdoc3E0UlExYk1lMTI2WUxOUEQ5Z0lWbXhPM0ZQVFhEUjZNV055dDIx?=
 =?utf-8?B?cWtwNHhTQkw3eWdMTmU4OWt5U0tHUEpDS0JnaHdHa09HY21xdE8wcVh5UUlM?=
 =?utf-8?B?b2sxbTlKaTFOc2lMOXZvSS9xSUpPZ2phOVZ4aEh2M21ndE5PeUJrS1d4bTIr?=
 =?utf-8?B?NVc3RVVJTXlaWEtQU28xUFdZY1VlbUttT3RLVGVwWk5CVm44NjZWRUh5Y1A5?=
 =?utf-8?B?TGRPeFoxVi9qbm56ZDlkY1kyWUJpaXVmUWV4NUN0aUlubVZNQ3lkVDlDajFo?=
 =?utf-8?B?SUw1VU1yakRodUNEQTBIOXBGeTNndlVSbUtKNnJkTkFVaVZCNlMvRmpxUWE5?=
 =?utf-8?B?U1lHWUpDNXdEVlAwOHp5dWk1Nk9KVEowZkQrMnpURWFkYjR0SEpMNEhjWTFx?=
 =?utf-8?B?cVVaMTVkeFlDaTZJZkF3TnJqSEJLNjRoSlNJTHNkRlVhdW9tZURCYitHTWRk?=
 =?utf-8?B?dG9MR1QvN2t4a2puQWxNWVFJVGdPODJ4U0F5Smp6eGJnOVBUam8zc1UrWU9Q?=
 =?utf-8?B?anlkUE9JalhNRnNnZ3FjRjlUQ3hQdE1ZdlN6QnlPd2d5QzI3aTNNaTdQb2x4?=
 =?utf-8?B?N2Y1U3VGa1praFhHc3dsTmVieWhLOEJQcEd2a3FYVFZ5VGY0dkVsb1prYndi?=
 =?utf-8?B?Unpyb0pSK05RZmhtd3h2eUdSTnFFUnIydlMvMzRTRSt0VkVLVFdWM3F0QjBk?=
 =?utf-8?B?YjBqZGVKdGhtMm5hall2eDNtR1VCT2JUZDF3cGpKYUVWVmFvK0hFZWZBcG5J?=
 =?utf-8?B?MjNhODJkUDRzVHFyMWcxRGtHN1Y4NUlQRzVzRGpGNi9KTFBqMTRFNmJGM2JI?=
 =?utf-8?B?d3QwalZHdEZEQU1RY0dhbkQ0eVJ1MXNxVGNqdGxaZkdNdnJiZ0h5Yml4UUEv?=
 =?utf-8?B?TlkxekFVWlVvNC93eUlzY0plSVpqTHlzekxxVnpFUTBaanlqcE13Y1pPaStF?=
 =?utf-8?B?MTFkQ01jbXhHRG5FQjVzQnQzSElkS0ZPem9qWlRMVHRkTXNsd0NXOS92RUJ1?=
 =?utf-8?B?bGxsME14MFc5VVluTjhYSGtsZFpHTElOaXVPazdBQUx4cFhEZHhDZTNUYzlV?=
 =?utf-8?B?bExzNFZCUVdDUVJVSkNKSW8vWUxTc3JrUUNHK2NHVGFIT2R1WC9rVng4UGU2?=
 =?utf-8?B?RkpvZ1ZDV2RNejQ1Y0hNckVTeXcrY0JPZ0NCL3lDSXY2djhyYXFkR1VYalNr?=
 =?utf-8?B?M1hGcG1GRi9ZL05MV0ltZG9RVGNwVEl5M2FJV1laUUpnMG1jNFVLMS9RNU9a?=
 =?utf-8?B?OWpGSlIrRWFhK0N2L3pUZWRhK0xhSmhjbG5CL0ZXSnozbVdVckVsV1NaSFl0?=
 =?utf-8?B?SE02TGNUTXRTalUzQlV1RlY5dTIzaUlEdUcrQlJCaHJzbytNMlo3SGY3VW9Y?=
 =?utf-8?B?WEZpbDNyWW1sUy8vbzl6OEVVRkovL01yQmlDU0FBRUFveEhCTVRTck4vQndr?=
 =?utf-8?B?dFVEbUFYMUlHMm9NVnR2dzdOWFg2TGVIemx2eDNDR09ZY1BzbUIzTHZoN2tV?=
 =?utf-8?B?RGVTYUdTeWtsT3JvQTFGbUw0R3NCbGFuYmJkcWlGblVyR2tKSjU2YXZ0U1FI?=
 =?utf-8?Q?8DmPNsrMR41mfm8Lc4OmnSCiOd2tKkqO?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UGE1cjdMTzJuUXNHYjlkMUM4T1p6cVFKYjVleHFvSVExRGs0V21Wa09kTkZi?=
 =?utf-8?B?MnF6MTNCUFFHSVlkZEZSby9oQnhwRDdkaEpCbFBhN0d0aFpHMGRyWFlyc3pz?=
 =?utf-8?B?TkpyajJ2TCtlZFhMbFZRV0pRcisvTCtrWERHLzduUGVYRURLOEhMWFlJMDdX?=
 =?utf-8?B?VlVLRHkzSEdwL0RiMjRJcDdJRVR2bjZ4dkhGak5DUWRQNUhsQ2lXeklkamtm?=
 =?utf-8?B?Mm9EWkg5MFl5VDU3YldXNzZnM3FaeS80dnFrZWVFaENjK3YrdkFuSW84VElv?=
 =?utf-8?B?OEthMTJkSXk4dEE3OWJoWXZnTHhKMkw4TnpWbnBOcmhyN2VrTjRKTHBiVFBz?=
 =?utf-8?B?R3QrTEhJeTRQb3RONCs1dFQ1V3VlNVI2cHlVYUxBSFlGNHY3M3YwUE1FT0Nn?=
 =?utf-8?B?WllNWWNWSlR3RjJmQWJWNzBKVEtzUnpZY3ZNYTZOMTNUdjR4cUFUdTlJbUxq?=
 =?utf-8?B?aGlZNmhJSWU0MXA4QUpXNWNZWXU2Z25MVitrS252cjZrRkJVNjIveWJrZ1pu?=
 =?utf-8?B?K2FhS1p1eTVjWFoxVEltQVNja1RWQi9GdE1lT3UvbitCQ0d2OWovb3pYbU5P?=
 =?utf-8?B?TFRSWEZ3N2hlbXVVQ0VMcEV3ZEF5ZDZHZVFjODZDSks2dkEwcFRWam9NcXpm?=
 =?utf-8?B?c0NvdVJPMnIwNFh5WTRQZE1EQlZnQzhnT1hrOVpMeGExTCtPL1NFRDhFK3B1?=
 =?utf-8?B?bndCMkE0R0dnZ2pPaXhJWEQ1em5rK3NIc1F4bEg3ZzloNlJsaWd1UGZ1aHZH?=
 =?utf-8?B?WUNCMkowbmFhSEZFbnhUUExFYm5IUlBWY3B4cnJYV1ZYVjJiQmxSSXlFVjkz?=
 =?utf-8?B?RThrWTN0czQ2b2xWZTIweXRIYmE4c0ptKzlSQVdMbnFTYm9tbXNZaVVNYUUw?=
 =?utf-8?B?OHR1OHNwZ0s0cW9GanZpZ2VRQjZwNGhMYndhMzhWTE00QVF0YkMzYUtrNEN5?=
 =?utf-8?B?Vll0TGh5OWRuYjZYOXRtVUZ4SlVVSE1ob1JTUml2eUZ1cUJNL2FjWEVIejlO?=
 =?utf-8?B?ZTRBbFZYbEJUS0dNOUVaODNzRWNXQ3Via0gvOTRFTlByamlIT1RoWmx1M3Bh?=
 =?utf-8?B?ZmxEWTV2OUpoRTVXNGt4OWp0WTNjeHQ5U0pramlmUlNkeVRxN2huM2ZycTZK?=
 =?utf-8?B?akxOMEplaHU0V2pVSzlTYWxYYlBOVitodHUvdEFOVkpiMmhidjZxNlFVQm5t?=
 =?utf-8?B?SDVIRVpXQ1UrWE45NDJ4SllxK0VtS0xFWWI2ZmU0cVNwUjdhN3R0SnMrMmdl?=
 =?utf-8?B?cmpNYVhOVG1HT1JXRlI4dE95WWlOUHp1ZUpJTkk5RkhDb0pnajF1T1MzYzVm?=
 =?utf-8?B?YmpRTFd3OUdFaC9HeHRaTCtMQkkzVnpoU2ZuUVM4SzRRM20xRzE0cTgzb1ps?=
 =?utf-8?B?emltaXVMdDRoL2d5ZG96enVicitzSHlCeG9IODVHLzRmNmV1WTNjZzlPNHF2?=
 =?utf-8?B?TkxrMkNFTG9zdmZaek1GQTJEUmF1S0ZkRE5Ld3FKbTBLVzJMSSsrWVlHYmtp?=
 =?utf-8?B?eFF3NzM1WlZFZ0FSVWNvL0VpdCtTeWE5cGZCUzZzNDFUdmgyTUlEU01uU3Er?=
 =?utf-8?B?d0pOdkJBL1pvaWRXZzBveXpZVnlZRExTcTJJcDFOYktQdjVWTmRRQXpueXpF?=
 =?utf-8?B?RmpBYk0ybWtpMXlZYVpScVNvbEpTTkUyWlNtNklFWGtwY3B3RGVMQUttMnBx?=
 =?utf-8?B?R3hzcXpQN3kveEFXaU9BQ25EcXc3VldnbFI4U2hIQ0MzTUdIaEFPNEFDQWdl?=
 =?utf-8?B?aE5RNlR0WVRSUVhGNTZxUTFLSXI5NWU5ZGVaM3RDR0VXUlJleFkzTm5la1Mw?=
 =?utf-8?B?ZmJkb0g0eDJDTlcxS3pWZ1M0NFU5L0FUQXFZVzZDaUcxa1VPT1RUMkpMb1VD?=
 =?utf-8?B?ZURCMU1iRnhDWjZHS3ZUVERFdW4yOWRETExVaVRkcndPdHdDQ01JR2R6WGlT?=
 =?utf-8?B?RUFIcDRxWmFmZ2lmTkE0dFMvVnIzdE1UZ1dFbUNreXZ6NWRjTUFuY2V3SDFj?=
 =?utf-8?B?YnVCU2RYcnFjdkFtcjJoSFJjRDNxUjdZMDlyY2tmT1ZYN1hDdG0wNm1Ddys2?=
 =?utf-8?B?RTZIdW8zSm9TWHAyRy8vczBpUmZFOFJiZzR2SUFleDNZNjM1eFFkZWFVSUQ2?=
 =?utf-8?Q?c2jCTCJj1cqkvPUZ4dsd/V813?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f294ec7c-1fb3-4c35-66f2-08de0bf1740e
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Oct 2025 13:47:59.8105
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: MEEFpEFO6K5gE5pHPzx3XU4hijwEIANqJzf6cbRkaFIP5faM+dLEvmIYBocMf4xCTKTBNvS0aZEW4bCVNJhKrQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR03MB5176

It's possible for libxl__json_object_to_json_object() to not set the passed
jso_out parameter, hence initialize it in libxl__json_object_to_json() to
avoid freeing an uninitialized pointer in case of failure.

Reported by XenServer internal Coverity instance.

Fixes: 75fa670e582c ("libxl: Convert libxl__json_object_to_json() to json_object")
Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
---
 tools/libs/light/libxl_json.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/libs/light/libxl_json.c b/tools/libs/light/libxl_json.c
index a9e06b06932d..b01d86363550 100644
--- a/tools/libs/light/libxl_json.c
+++ b/tools/libs/light/libxl_json.c
@@ -1533,7 +1533,7 @@ char *libxl__json_object_to_json(libxl__gc *gc,
 {
 #ifdef HAVE_LIBJSONC
     const char *buf;
-    json_object *root;
+    json_object *root = NULL;
     char *ret = NULL;
     int rc;
 
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 15 13:48:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 13:48:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143609.1477275 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v91rF-0002Ds-R4; Wed, 15 Oct 2025 13:48:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143609.1477275; Wed, 15 Oct 2025 13:48:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v91rF-0002DJ-Mx; Wed, 15 Oct 2025 13:48:01 +0000
Received: by outflank-mailman (input) for mailman id 1143609;
 Wed, 15 Oct 2025 13:48:00 +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
 <SRS0=pY79=4Y=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v91rE-0002AF-Mu
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 13:48:00 +0000
Received: from SN4PR2101CU001.outbound.protection.outlook.com
 (mail-southcentralusazlp170120001.outbound.protection.outlook.com
 [2a01:111:f403:c10d::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8f2c3831-a9cd-11f0-9d15-b5c5bf9af7f9;
 Wed, 15 Oct 2025 15:47:59 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by LV3PR03MB7405.namprd03.prod.outlook.com (2603:10b6:408:19c::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.11; Wed, 15 Oct
 2025 13:47:51 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9228.009; Wed, 15 Oct 2025
 13:47:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8f2c3831-a9cd-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=TSprgw8AU74Um6zKwGb672hideHVXO1HLQvccHpfbl8lo+yqiIalObeWuPhTG/qvLM/dshlwE7YuIBXfmkuYb/hUCGF5waPG6ZJZ2Xg2mTUPZHdKqpulRY2wXt6CMRe2aymyfWCPaNzGuy/xQ2FxtIvYNdshBs75paB6868XmmTZBqmey+D0mSz8KJjl0TBXN2auEUKJerrvhn1/f6djI2kNN/F1jJo9pK+6CrosnuYo7Nm5XXqjILUjKmImYbKJ+TUS2Owok7MCCSX12043xFyrcrC3uhTYloqGXK4Y6sgJk0xJ+POtzQuubA1etpjWzjxcRQ7HEKLbUuqQ9Wf2UA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=q29izXHyRSte5iNMe6CTe20Q42kKGGqV3Ib1XaTtUcA=;
 b=nnSKnbFlya3OHuqGNfLOQByNQitck9pDMeay9pUEpzpF7rvpoynQF/6EzIS72258XP5F6iBfCzXoPGPBM0KV8KwaSVbqVg30eKKzLstcJ9G/7NwOa7+R+25aDhDsCH3Vu70/LjbMcCER+CTZ67Y/zCtdGjjWBX8WfuhQY+dmjPMGyIEzzPb8GcYmY6j5UFIVcl15LvYdbAqM4okf6a5PXb1nFM768hXzRHZxw+tnRPqZEqM6ok3f25k8EGmOGOs1AxUKzkTU4tVTgxP0iKwYFKMC5e5KR4Rj9NGlnH/I1dfs33/zylMOuvbU49mZsrFX+tx0oAUQqD+QFTQPuS+CyQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=q29izXHyRSte5iNMe6CTe20Q42kKGGqV3Ib1XaTtUcA=;
 b=MvlrejGzg/jkq+ZCyzKxyDAuBRKXrJXg2Ewuqkzi5aw9ayjuhvYvlYAyHOHTaP3G6Ng9DD50f+EB9/yGptPzwWsvk5YE3D4S7fp15t0Rt6DkN6ReuSEGmz36ijKv6PMFSA2u6jNqYomrPAthW53uh2APcIy9+bZzJTIyu+o2HE8=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: oleksii.kurochko@gmail.com,
	Roger Pau Monne <roger.pau@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH for-4.21 0/6] tools/{lib,}xl: Coverity falllout from the json-c switch
Date: Wed, 15 Oct 2025 15:40:37 +0200
Message-ID: <20251015134043.72316-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.51.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MA3P292CA0029.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:47::16) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|LV3PR03MB7405:EE_
X-MS-Office365-Filtering-Correlation-Id: 0e42031e-7d97-4923-2387-08de0bf16f38
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?bkptSHJ4MGJSYTNPWWt5TXpiaUt5b0JoRDBDaFpZV1JMMzFWVG9QN0prQVNj?=
 =?utf-8?B?ZE1oLzNzR2hWN2RGeEVwL2tjUklUNGJoK2FRaDM3eXhNZko4Y0hiWDhDUVVB?=
 =?utf-8?B?TlVSU2VOOXRaYVBKM3hZcERSd2xGR2NNT045VUs3a1JFKzZzWVBVdVQ4L1Br?=
 =?utf-8?B?OUl1NHBNald5REdrM2Z2aVZSNHJZczFQamQ3NlhkQUtSOVgvREhZZ1cvT1RC?=
 =?utf-8?B?Q1lla0YxWC92ZVk3dzBZdGFPZDM3ZS9xZlRyd3ZjUmgrRW9IUVpKL2Z5MXBZ?=
 =?utf-8?B?T1d1T0hCQmNFTGJObTJOU2Qxemt0bzk2TXJwTmVRRXo0ZjQ0MkMrYzdIVm9j?=
 =?utf-8?B?cmk0eVZpNzVGYzkxUFdMUEFoRlBSUHBEU0Jhd0I0WjRBcGZWYVd4ZmRQaFZR?=
 =?utf-8?B?RVBHK2lkNC9TTEEzZ05LQ2pnVm5aY2RHbS9URGNCTEtnYUxnSnZHZmV2NTRu?=
 =?utf-8?B?RENzcCtsRUpWNDY1Zm9YaXpReTJuU0ZlT3dUM0srM1lmNnZQamtwcTNwQlVo?=
 =?utf-8?B?ZHl5K1EwQ3lqbHhuR3pwZGZVNjgzYW5DbEY2Vms0TTU2VlcvbGZoRlJVV2Vn?=
 =?utf-8?B?b2hUKzVOMVFBNVBxWHVtWmVZeEJyRGh6VTV3bnFpZ29MczJoc0RFUW1Eb0pB?=
 =?utf-8?B?VjFqNnRXY2FxM2MzUkloVDBXcDdGSTB3NmVVVllqLzEyL01qa3BnTXRncDlW?=
 =?utf-8?B?bTBpbnRaMXF1dW5CZ1luSk1rSnA1WGU5VzNVd1hDeTZTR0xTeEZpN2FhTEFF?=
 =?utf-8?B?K3V2V2graUpIdno3RTlTQ2NYNjdKZzQwYS95UzY2blhIYUQyd1FLb3B6T0sr?=
 =?utf-8?B?cG1BTlA4MUptcFhQUWRZWmozdnJySG9DNlBwN0Q3RGJaU3lPQlVJOUU0UXU3?=
 =?utf-8?B?VTZMQTdhNVMrN3ZVeWRiR0xhUlZOdDRreDlXMzkwU3BrN3U4SXk5ejgzcVBj?=
 =?utf-8?B?NDV4bmFsZFdqKzl2NlZxQnRBSUsxcTJsdVFOWmIvUStYSzB4ZUQ3STJMcTNt?=
 =?utf-8?B?T0NWc056QTArTWRTN0xJY3ZHTjdvV2xQbWVrbnFTRWRqR2Q0ZnZCdjdNKytZ?=
 =?utf-8?B?YWRMOEgvMjFTdTl1SDVpYTRBd2lOUFRXUTN5bUxTUHhtb1l5ZFpITTBGRHVU?=
 =?utf-8?B?Y3NpUWtMUkVXNFdpV0VkdGJlZXMxOG5wV0V1RlNoVjVwY3lKWmpicnZqMVZB?=
 =?utf-8?B?L1RvMzQyVDJUdzhRK05aWUJyVnN6VkJQZXU3WVI1MzV1eEdmN1ZJdWxLMzZO?=
 =?utf-8?B?aW16c1IxN29WdmNvemdnd2tUbWRxYXFlNmljOTFwcXRJanJzSXhWbVYwcHFC?=
 =?utf-8?B?bGF6SE56N3VXMktXUlA4MTN6dDlEVkFjSlY1bFArZXpyL2I1djhlME5QSWYw?=
 =?utf-8?B?UGphZ2JSeVBuOFNuc2ExcWdBNjZSeGZpNFV4Z21UNm9JaGJZNmhlR2VFRHQ1?=
 =?utf-8?B?L3Buc2ZSTkxUQ1NYR2FmYXR0cDRQR0s3Y0hYM1hZSWZtZzZoenZLMC9Xb2Ux?=
 =?utf-8?B?VnpJeHA2MDZlVzhGR05mcmJkSmxaVWNEM1dVdER6SUJkV09tNWU0SWV3SENh?=
 =?utf-8?B?SW5lZTBwUk1INEpTYnR4RzRQYnhlblhDNCswZzVLd2Z2TGdOSEFUdjljL2xy?=
 =?utf-8?B?anRTaFRsa1U1c21YY2lrUmtiZjJHbXV1Wjd5NXVYMHEvL2Z3L2ZoTkVjRkN2?=
 =?utf-8?B?S0V0RDlLQm9MKzRXVnNsL2ZVTUVwZ0tNRTF0d054akZoc0RONFFwTXdISzha?=
 =?utf-8?B?RS9pOEZ3eEJGU0ZxSGZTdEErK0FVUm92YXpGOTNTOHYxSC9yeE41di9nQWlL?=
 =?utf-8?B?UDQ5TldqOUdIa2VYamxGR2RnUmpFUEtOcXd6dm1WMm45c2tHUTNEZHNyNEVU?=
 =?utf-8?B?NGtuenRBSlZwdkNmNFdCcjFXbGQ0ZFBqcXM0a0N5VmdUZkVKSkNjQk4ycXh1?=
 =?utf-8?Q?46J/WjGEmJbZjTbsDNJQ0HK97+kVEriL?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?S1NveGZocmxiUXBFKzVpOFc2Q2QxdjY2NG9aajFFalEySTZWcHJrN2NPeTd1?=
 =?utf-8?B?Qmk1REJVK3lmNlBqUVNnNjBoVDY2Tkk0bTdoUUtadVVXUUswNXBYMFRxSjZq?=
 =?utf-8?B?bEE2RDF1aUptUnRSK0VkWmhEQjJmM2N6NEtnQWw3UU1tU0I2am1JREM2emxo?=
 =?utf-8?B?b0QyQy9mQjVqUkVCdHVVZ1prSWNlTlcveDJ5RVF4R0I0a1FGc2s3d05nZFVJ?=
 =?utf-8?B?cnI0eGZNRlROQjlGeENVTS9IVGsvT2VkWGZqdkMzY005V3lDWXIrM0ExTVlN?=
 =?utf-8?B?eGtsb2cyQTZhZ0pYcHZNRnVCYjNzM01qSVA2VTkyeFVOYWprYkdhQVRzZ3dE?=
 =?utf-8?B?L0FMLzdGSEIxWExyWXR2NHZhRDhBNVJOV2YvV0hZbnN5bTZTMXFHNTRGZ1Zr?=
 =?utf-8?B?WTMrbjNHZCtLOGpwLzNPWFZuYVBZT3dPcDJwK2hCWjhGYVRVKy9lamZBWTJE?=
 =?utf-8?B?U0pYVmJSb0JxVEUwZk4vdmt3c2dFRkVIL2lqVXJkMWdpUTQ5SFFmSWY1dENv?=
 =?utf-8?B?VTErajkzWU5Fdi9QQ2I4VGRvVmhOYkVkbDNIKytTZzdvNkQ3VkRmazJoOW9G?=
 =?utf-8?B?SkNaTEtQeVRxZ2Z2NFE3cjR1NSsxZG5nVXZYRUZkRmhxVlcyOXltMzVPNElO?=
 =?utf-8?B?RXI5S0hJNW5CU0FETG5CeVBRd0ZWajhLTGtkNVNxVzlrZmxiZDcvKzN1SkRt?=
 =?utf-8?B?bHUxeElmYUJxNXB3Z1VNUWNKNythMmFoemhPWDE1amwxYUxzRnQ5VUpMcU1q?=
 =?utf-8?B?ams3OFRWSDVob2xjLzJYMzFwTnFqNXoydUhxNmExbVdwSmRvRkVhcHZFN2c1?=
 =?utf-8?B?OE9VQnJKWm9ySFN3Vm4zT0w1SFJ6djFoa0FyaHJmUmxFTDNWMGErYnp6d2to?=
 =?utf-8?B?dFJGaUFtRWRJSXJhQkNTTUM1Z1hGTXBlTVJQSlIyeU43OHpqQ2sreDJpaE5W?=
 =?utf-8?B?dFNXRUtQZTFCOXFDY1IvL1NpcDhtYzJYQTFMcTROMFA3QzdiQzVCWS9tNzEr?=
 =?utf-8?B?RWNKeDM1MUF5YVpSZUEwckdzZWc3VHVNcHlzN1F6Nk0wWDRTcXBMUUo0WjRO?=
 =?utf-8?B?eEFpRTd1YzhoOXg3MGdsenlhc3VjQVZCbk9rSCtyT3ZnQnlyU01sa3JXY0Jz?=
 =?utf-8?B?cnlxTTNYenhEckd5V1Z4dTY0Q0VCZXhFUXpob0NpUHNzMzBTYkNYU0hmdytW?=
 =?utf-8?B?VlROSEg5TU5NcFM5TFArdFRTV2NXc2s2MjN5bXJ6c2tKTTR0ZmtWaVZyNVNC?=
 =?utf-8?B?YTBZaWVNV0xURDMrRjRwNE5XRWdQQTRaYkxGWHJnd0IrdWQ0SHlldXcxTnZW?=
 =?utf-8?B?VlA2Q3diMk1HRXh5d1dQd3gyZkNlL1djTlRzK3lGeTVOUkQzSEJTUFd4UXNv?=
 =?utf-8?B?dVdvdzQ2Q3lNbXRVUm1BRDgrTzdQMUhGOEsyTld3bkVNdGtxS0Y1SEhDQzIw?=
 =?utf-8?B?NXBEMHBYTTE2Q3ZoUkwvak1mWUhuU0NLOStGMWVHY3lGODJYcWttUWJpdk8w?=
 =?utf-8?B?WU1iSW83TDQyT0ZySnd2bFhBcm9vbW85dUN2eXhQUUt1eWlzWmxrQjFhWWdv?=
 =?utf-8?B?K1hNKzBKWUwrK1dvY2JWVkNrSWNiMWlKTE9uWG5ONEJZWHFSdDVvbTRldHU5?=
 =?utf-8?B?U0tZUTJQNUlUbERMdFNFSlVvSkU3TEZhMlhybTRzeDZMQzZYOHRVSUJkYUpB?=
 =?utf-8?B?MnhRQW0rQ1RHRk1RdW44ZElqTjZsLysxTTcybmhWczVUVFJxL1ZDRTFSbXJH?=
 =?utf-8?B?UUFreEluQXBoRGNWVUFKSG91YmZoZGk1eUtEdWVJU3JJUXp3MzRNTEYzSlY0?=
 =?utf-8?B?Y3JidmlrMVFQUUFCZEZmdDhIUVo0RFN1Y3dueXRuZUZEMCtPMVlONEkzbUI5?=
 =?utf-8?B?WGJKZ1ZiRXJSNXFJcG5sRERiU3NzYlN4NE9SUzhIQ3lRVGduREFqWFNnTW5x?=
 =?utf-8?B?ZER2b0o5RGwwV1Flbm9HYisySVNGbjRTSXljWkUzYWZqajI5QkdOS3MwQk5u?=
 =?utf-8?B?UjRiVEtpSktYTEVLMldhQjlFOGY3eUxUUVorQzY3ZUd6VEhqYVRpMTRzajlv?=
 =?utf-8?B?bjdmaExmVWVEZ3VXL1R2ZEtoc2hrV3JhY1JaVkJ1cjlOaTRFVXZSdzMrYVZv?=
 =?utf-8?Q?LLQ2ZUc4r0qG05hHRYL0aeRob?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0e42031e-7d97-4923-2387-08de0bf16f38
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Oct 2025 13:47:51.7080
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: STAhvjrLKrcHQcByGfJCVsRpJzMfz6Z2WaYOZ9s4ODi9JAYGnGtDSJVH4R7wt5nOrK/QqinXKxj1IooGsx35xw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV3PR03MB7405

Hello,

The following series contains fixes for Coverity reported issues after
the switch from YAJL to json-c.  Those reports are from the internal
XenServer Coverity instance, as the project one hasn't been switched to
use json-c yet, last patch in the series switches thegithub triggered
Coverity build to use json-c.

All should be considered for 4.21.

Thanks, Roger.

Roger Pau Monne (6):
  tools/{lib,}xl: fix usage of error return from
    json_tokener_parse_verbose()
  tools/libxl: avoid freeing stack rubble in
    libxl__json_object_to_json()
  tools/xl: check return of json_object_object_add()
  tools/xl: check return value of printf_info_one_json() in
    list_domains_details()
  tools/xl: fix possible uninitialized usage in printf_info()
  github/coverity: switch to building with json-c instead of yajl

 .github/workflows/coverity.yml |  2 +-
 tools/libs/light/libxl_json.c  |  8 +++++---
 tools/xl/xl_info.c             | 22 +++++++++++++++-------
 3 files changed, 21 insertions(+), 11 deletions(-)

-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 15 13:48:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 13:48:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143611.1477300 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v91rL-0002sv-EF; Wed, 15 Oct 2025 13:48:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143611.1477300; Wed, 15 Oct 2025 13:48:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v91rL-0002sm-B7; Wed, 15 Oct 2025 13:48:07 +0000
Received: by outflank-mailman (input) for mailman id 1143611;
 Wed, 15 Oct 2025 13:48:05 +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
 <SRS0=pY79=4Y=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v91rJ-0002AF-ST
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 13:48:05 +0000
Received: from BL2PR02CU003.outbound.protection.outlook.com
 (mail-eastusazlp17011000f.outbound.protection.outlook.com
 [2a01:111:f403:c100::f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 92f3372a-a9cd-11f0-9d15-b5c5bf9af7f9;
 Wed, 15 Oct 2025 15:48:05 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by CH2PR03MB5176.namprd03.prod.outlook.com (2603:10b6:610:97::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.11; Wed, 15 Oct
 2025 13:48:03 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9228.009; Wed, 15 Oct 2025
 13:48:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 92f3372a-a9cd-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=VBmCzwRurlPgCTPrxdWfalX9AMD34lhya/slimtvZMrPuC/kWApROARAPYDqg08kYQx11UakbCmd+DVng9P0byep24LA2tRWo30znPB4Gjrk0SSw43tXJhTylKwLlIyC3UGzH03frLre8/SnG5++k47Ef7dLmnPZFkNSTqa72ZRKb3qRk3DscHBDO2mS0ZClOnlzsRSzYcZv+Q5It95nntCiaLJrbgd8NUoOlgQ/ch5/0MAIwT0eFl44rVva/RtKLay15X5gBZMzO0eYr1W4fPLczgC4F7m4RYuCY9KKaSinOBzKb1JY4fr9RAuMBII9Up3Zni3Lx/c/d8oyL4unOg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QrHEmkaFLq+k4yjYl1wqBoURqxns2g5ZgZNwc8LrECs=;
 b=jhvPlop+nWSTPsIqXRx835a6yBU9obCaRtge8y4xwe+e7TSz4gi9BIT2NtJPb4/2urdedp4edzlJjEBkafxxb5biEv/NOOpJxFqrRFt+mqJwRXbnUVudu2hnD0mYPus0kBFynMFcQyWlvudo0OK46c4mgYS0BmqP1ttJC/nuRBre5hydBGw9lKW/WoQc3AO6td/HYP3jLTEOGMVRdP3Aro12+4OB/hK9zp/S11uz708Z/WCCP0mHnADT/zzoW5DdyU5BNdy8xYyULdeU1XCeo4r6nmi/GVx9jf08iLRB31E6D0T6IVJfFSsUwfPsmavDLQuzUJyJWEEaxijlYMtWQw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QrHEmkaFLq+k4yjYl1wqBoURqxns2g5ZgZNwc8LrECs=;
 b=xx2pg7hvwpeLErDd0Qb6Ox+m5LtFmN4tC3+d5e+KarGGX6XXKWoOoJuziyAjO5cABXmVw881PFJRjGZ9jJV1/J0BqqUAIa3L2Esg4sraBUg6imqRW2Tk2ihjDa1AIo16UsMXLJYrX+1+Xhiwhzkk7WEelAdRGOzXpCqFDUvhe2Y=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: oleksii.kurochko@gmail.com,
	Roger Pau Monne <roger.pau@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>
Subject: [PATCH for-4.21 3/6] tools/xl: check return of json_object_object_add()
Date: Wed, 15 Oct 2025 15:40:40 +0200
Message-ID: <20251015134043.72316-4-roger.pau@citrix.com>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251015134043.72316-1-roger.pau@citrix.com>
References: <20251015134043.72316-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: PA7P264CA0164.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:102:36c::7) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|CH2PR03MB5176:EE_
X-MS-Office365-Filtering-Correlation-Id: 458125ae-9bdd-46e9-206c-08de0bf17663
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?UWkyZUpyY1kxbkxxSCtIRVBGQngxclUrU2lYcjFvQTJ2cXY1QUpBTy90SkVD?=
 =?utf-8?B?bzJSeXBEVVJlWEtmZS9WT3FISm1BY252bmN2Mk9RbFVLdnRUT3lqUE16Rmsr?=
 =?utf-8?B?aml2Y3BselNaWEEvczJEQ1BOQWlzM2tSelZGNnVkWk0wNHo3ZUl0dDFpU29r?=
 =?utf-8?B?Y1NuQi91eDk1V3hEdkpFdVgyY3RhYi9tSElDNGQxUnZxTm13V3g2RWM2RzBM?=
 =?utf-8?B?ZEg4NjVtOWlJTmRvSlhQZzhNTHVKQ1R0R3IyUEhDQTRCbVFtZDJjYWsrd28w?=
 =?utf-8?B?QkdOMTdUOW9YOGt6VHFTRWNRK1lYdkNUNThEQzU4THRSSm15T1lLekpqbWU2?=
 =?utf-8?B?cjVkZlYvS0NOOXEvTjBKaEJ2cldxMm4rUGtqU0owaWdwbFlSZkxKV3hTeW5K?=
 =?utf-8?B?VnE5NnhOQ1Z5UENoWENZRnBFeVlqMEJTYnJ2aDgzQXFVdHBEWno1N2Q5R1U1?=
 =?utf-8?B?cUthWVZuYzUyNXFLWkx2ZTg2ZldCckFneFdORGNrdmUwa2I0bm5WZm9RTjY0?=
 =?utf-8?B?ZFlMUWdJQzNkVk14azdoZG1Ld2EzK3ZvbldCTkxZUlRUVUVPOVYranZVVCs1?=
 =?utf-8?B?NkFNektyL3ZMWlVHU2UxWit6eSsxbThRTnBIYy9TT3d4U2gyTFhkSEtlSmgv?=
 =?utf-8?B?S3IyODZNM0pjdHhoVmVodURGTlJFN0hJT3RvM3ExeEFHUmRRWFBRbSt3QUgz?=
 =?utf-8?B?czVXekhhWlNQUzdBYVlReEdUNUFuSTZTUlRFejQxTW82Sjk2TE1UTTgzbFZz?=
 =?utf-8?B?aXlrZ1cwZGRxYi85NXRDTmdzMGt1UEhsdnVNYTI0RTducFh2V3hSaldUSGJJ?=
 =?utf-8?B?Y2pobVZQQ0d4aWRleVloNmxVdzFwcWxYaUNrMnJkWWlqckF1a1dMaWRtdkpt?=
 =?utf-8?B?MGFENUdTS3pLKy9NWXlXT2xQcGR3NTU3VlB5TGhMNjNZVWRnVUhZSlBEU0lN?=
 =?utf-8?B?UVZwaFNuQ3NBekxscnViS1NnQUVhemNybEoxN1cyR0hMOUdyNVJHaHlaK2FF?=
 =?utf-8?B?S25SRXNGRnRIZTc2dmpmOWNPRktNajFZOTVYYTNqRDJvbjYyUm9Lem1iWXcx?=
 =?utf-8?B?YmJ5aXRCTldVY05TdHQ5U1BXcXVSdnVMQzZyNlo0NGh0RkUzVDRSTGZUNm1J?=
 =?utf-8?B?LzlPNHJaamJ1dForQUJDT2EwNWZ2eURsQXIzN0h0aU8wTUdqTzNvbnkyOHZP?=
 =?utf-8?B?N2hWb1p0NUtJU0lSSjE4L1pMZU9DSHNMV3MzRE5CZnBobmJZOU1WbDJyQzZP?=
 =?utf-8?B?N29XdTNtQ1N6NWgrSmVkMHFGcXpGZ1hCNnFETUNta0RxTFZJbzdLNkd5RDZ5?=
 =?utf-8?B?RndiT09GMDgwSnc2RnU5YjN1RE91eThWUjJqUlBVOFBjbENmUFFJVWV3NnV3?=
 =?utf-8?B?VkdFK015RXhYbEFyKzExZnFxd0VwZktibDJKVlRCN2tYODNFQTNkK2lJV1hL?=
 =?utf-8?B?VjBrQTVkbDFQT1ZEOENNRXB5SmZpQVorMEhsL29rNXQrZmVWUFlvUFdXeVBW?=
 =?utf-8?B?bTFTK3R3VkZsd3VHeHZUTWFGUXdmS3Q4YWpiUHkyUnBZb01pRWdBK0JoUHg0?=
 =?utf-8?B?SUkwWTNrc00wZ2RRREZ6ZEg0L0RyeEFnQ28zZERtTUp4UzFRSUdjSmd3Rlcr?=
 =?utf-8?B?cHozcWd6NmhUeFhJWG1mU3E1cTZ6bldPUUw3eHZIVFRoMVFLcDVndTVmdnJ6?=
 =?utf-8?B?YnplNU8rZHlJOWlndUxrVmJ3d2pweTcyYXRITU5tRHd2eGFYNFJsbXM2N1k2?=
 =?utf-8?B?MDNXZ1NoNUVtT1lIWktldTBCb09FUnp0RHpYUDYyWVFZVlhHZVZtUjE2cUp3?=
 =?utf-8?B?eHhIaTk5aGVYaHcxNWV3cERVOTc3clBMcWhaMUU5R0tFaG4rWHJDYXgvVHpY?=
 =?utf-8?B?dU0vdzI2clBOM3VidFFnNTNNQmozQU5ZWW9QcG1kcnZ6SUZsYW4ycTIwTWNw?=
 =?utf-8?Q?PNJyAlFPu8YiU9OmY7h0mtkyTr1MWFJE?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VXcyOHJydndPTmRCSlpqaVMyK0FZNm9JajVTSndqWVRIQnJpbll0enY3OFhL?=
 =?utf-8?B?V3FwOSszbERJL2pmRGg4VDBVOXBOc3RJMTJvL2RMVWxVQ2k2eUlRV1ZVVUgy?=
 =?utf-8?B?RnUzZExsK1doU0pyUEV2S01IbHJLQkFSZ1dvWnNnOFdzTHFxNW85QzdsTnZ4?=
 =?utf-8?B?SjJKQWt3VDBaRVNlMWlFbVQ1K01leDZJUmxqQVoyR0F3Q2t0a3R2d3VhWVhn?=
 =?utf-8?B?T3hoMmYzaHozeGpKbjNKck5NTGxhdStGUUhRT2JEZlFHL0pxVHRLc1UvN05v?=
 =?utf-8?B?NXpLMEtHUlYrU0w2Wk9WRFBESUdmWU02MEdrR3ZWUEVZWHdYSHlXdmhIUVFR?=
 =?utf-8?B?K0RTVjZ1WFRRSWg5WjVXaFk0T2o3Yk9YSXhIZVd5RHlLU0tUQVE2eGZxdlFH?=
 =?utf-8?B?OWlyT2NuYWxqNWMxVEk5cTVRMlNHMnIwakdxKzhaQVVpU3FsZ2RGUHVVSHho?=
 =?utf-8?B?Yy9DdUpyU2ZJZ2FXMHVXTzZ5V2VTdHZSalN6bnpEZTJab29pUnZKdVJPNzQz?=
 =?utf-8?B?VHVnTElZMDlCSVJ0aHhjVGcrSWtlR0tEQm5pSGtMM2UweGF0UUNNUTA4QmxT?=
 =?utf-8?B?VUUzaEoxUUYwMUZuYkQxZmJmNmlpTkZBTzg3S2RwSmFUc0l3V2I5UmRtOElI?=
 =?utf-8?B?K1hYalg3RUpTWXIwYXJETjJsM3J6SGYzUm80UitZSTNJbmp0cTV3Zk5Gb2wy?=
 =?utf-8?B?RDVBTitZcVk3SXNQNmQrUmZiUldETDlFWVJrdDZUcytaZ0Nvd0x5UnlISHND?=
 =?utf-8?B?Tk12ZkszWFBjeHpCZ0RLTXZPU2pCNnk2N1hZRVBpeDZESDlXL29ESGVCemVu?=
 =?utf-8?B?T3J3d2x5SEd0RlF4NWFnZUIwYWw2QUppbGlORzdiOW9zRTZMSFpHQld6R2Nu?=
 =?utf-8?B?dVpSNWhydjNNemdUaE4rRVlqVFRVWHhKc3NxUG9uanZYbFRRaWNLcTF5RldF?=
 =?utf-8?B?aTZPYnU1K041SFFvY2ZneXN4OFF6VERDTXBER1NrMXpLTXFkZXFERXZRcm40?=
 =?utf-8?B?aDBab3dNK21STUpqYzVQOGZWZDlhWngrdXZ5VjFIWFRZa1lWYmFsbytRREF3?=
 =?utf-8?B?VXBLZXVycS9JRTFUeWErRk9UaVhxL0QrZC9lRm0xcG1ya1J0aHVicGJ3UjN4?=
 =?utf-8?B?aG1RRVMrQTJYeFpLVjJ4Rnc3dzk0c0NrM1lRMk04YUhYWkprdDYzcXdxTW5X?=
 =?utf-8?B?ejByNkN1em10UnZPSnlKZkNkUmpTTnN3S0haWWw1T1BvaWVjWWgya3BSYldU?=
 =?utf-8?B?MFc4K2JMd2Erc05kS2xNM2REU0J4K3U1ampqZ3NVNm83WHF3cUxQb2MvY1J6?=
 =?utf-8?B?RFlKTnJTVFNqcnJ1c2h6dmxPOXFTb0dOM2d6NHFJRzVpUzlxOGxYK1VUWDZs?=
 =?utf-8?B?eGFpWnVTUUo3Y3AxdWdWbmtKbndNTzVOYkxMU01IUEZ5Ym85dTRGcWY4Y1NE?=
 =?utf-8?B?QkVQZjVLd0hYMGdmNW1Yb3k3UHRNMy8xQmFhMEl3SlJBajQ0QmRGRTJNOVFQ?=
 =?utf-8?B?cnNHZEJ6K3R1aitSWnRVVmpYU3ZzcklmQjFjTnRGeUJtQkFtMmNyYWgwK3U5?=
 =?utf-8?B?Q0R0eGsySHFWNFQ0RTVjMGc0VHpoVktaSjMrNFZaSEEyS2Q1MHFoWmdDdFFw?=
 =?utf-8?B?eDU5TFNoRjhaU2FvQmVBTzNsV0F6c2ZReEJBSXBncWRPU2RzSnFiL0o1TUk1?=
 =?utf-8?B?dzR3YmhBVENDd1NGd0FkV1M2MjYxaC8yRFQ1R2ZCWFNPVklseGFRRVZsRFMw?=
 =?utf-8?B?dmNxZ3BITTdaSXFpZWE4THRwcWpRK3Zudnd5cTZJM1FOblFoRlVkdXNnUzdG?=
 =?utf-8?B?UkJUSXlHcmRsc0NrMSt1NHFDWEQ1WHUxZ21qNVFpZmxHK3VjUVpSVUxxQlEx?=
 =?utf-8?B?U1RHSGk2Ukt5Q0oybSsxNUhCaEc5WjRmYnlydlU4aFVEaHpEV2tXZTZHTC9h?=
 =?utf-8?B?RGFmd1laQVFMYVR1bGNjanFPWE5LVi95SDBQR04rT2lTVWxsWVgxTDU3cHFC?=
 =?utf-8?B?cGpaMCsrNHBBVGpsNmZ1eG5QcnU5Tmhyd3NmQjY1b1lMaTg3MUVwNlczb0ZU?=
 =?utf-8?B?czRRTjU1TDhUMExWc1Q0eGRVaXU4ZDhPVUxSQUpIRDJvUnFLL0lEQ0QwbXlC?=
 =?utf-8?Q?ad0gtVIh3DvaDT4wgB5C4iaPX?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 458125ae-9bdd-46e9-206c-08de0bf17663
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Oct 2025 13:48:03.6348
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: KNTU1AgjlsaT0kW3oIy5iOrb0NBE9ePDy7frys/a7zLMJdMrggZeuLsSrn2L1fcK9+Bx9zuAfuOCxDRDeZaGzA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR03MB5176

Check the return codes of json_object_object_add() calls in
printf_info_one_json().

Reported by XenServer internal Coverity instance.

Fixes: f6c6f2679d49 ("libxl: Convert libxl__object_to_json() to json-c")
Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
---
 tools/xl/xl_info.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/tools/xl/xl_info.c b/tools/xl/xl_info.c
index 777ff2c64294..2048669abbd4 100644
--- a/tools/xl/xl_info.c
+++ b/tools/xl/xl_info.c
@@ -69,7 +69,7 @@ static int printf_info_one_json(json_object **jso_r, int domid,
     json_object *jso_config = NULL;
     enum json_tokener_error error = json_tokener_success;
     char *s = NULL;
-    int r = EXIT_FAILURE;
+    int r = EXIT_FAILURE, rc;
 
     s = libxl_domain_config_to_json(ctx, d_config);
     jso_config = json_tokener_parse_verbose(s, &error);
@@ -82,12 +82,17 @@ static int printf_info_one_json(json_object **jso_r, int domid,
 
     jso = json_object_new_object();
     if (domid != -1)
-        json_object_object_add(jso, "domid", json_object_new_int(domid));
+        rc = json_object_object_add(jso, "domid", json_object_new_int(domid));
     else
-        json_object_object_add(jso, "domid", json_object_new_null());
+        rc = json_object_object_add(jso, "domid", json_object_new_null());
+    if (rc)
+        goto out;
+
 
+    rc = json_object_object_add(jso, "config", jso_config);
+    if (rc)
+        goto out;
 
-    json_object_object_add(jso, "config", jso_config);
     jso_config = NULL;
 
     *jso_r = jso;
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 15 13:48:10 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 13:48:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143612.1477309 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v91rO-0003Ax-Mx; Wed, 15 Oct 2025 13:48:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143612.1477309; Wed, 15 Oct 2025 13:48:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v91rO-0003Aq-KC; Wed, 15 Oct 2025 13:48:10 +0000
Received: by outflank-mailman (input) for mailman id 1143612;
 Wed, 15 Oct 2025 13:48:09 +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
 <SRS0=pY79=4Y=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v91rN-0002AF-Kk
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 13:48:09 +0000
Received: from BN1PR04CU002.outbound.protection.outlook.com
 (mail-eastus2azlp170100001.outbound.protection.outlook.com
 [2a01:111:f403:c110::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9506f1f5-a9cd-11f0-9d15-b5c5bf9af7f9;
 Wed, 15 Oct 2025 15:48:09 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by CH2PR03MB5176.namprd03.prod.outlook.com (2603:10b6:610:97::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.11; Wed, 15 Oct
 2025 13:48:07 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9228.009; Wed, 15 Oct 2025
 13:48:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9506f1f5-a9cd-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ymluJR4PiKjiUuFSOS8w2TKltw1DCPsIRqfhWGrW3w0Ymx3XmLkh9FszY9MgXtPTPhUfU3xABLcjNiONfMUudlYEPSElUynNJbF9FAPoiQUteE9wyQYcGgtHLPGpA/OSqAFKlpih31T9kpIb/h+6BYuQb17SwXc8PbgD9GmSMaIBpVN3ctbw5N3sYywBF0lRj1dd7XifB1H118jZ+VfaBJCZbsHE0JIkgPCMUJhrfzQ42y9Hr0Th+Rcal+Jh30fpkcFAZrSgKpxKWV/SdhBfKdD2zqL1Ejau5XskeJ0FGYLtzhmu1zImAi0G4obiURzJjsO/Rm3T+jH49vbD3COECA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tksbA7H2lMSaY3a5c9YU6hhiTitb1FxEL7gVnxGjj7U=;
 b=WhkWOnsYXmtBxI8C/0PEuamRPbu7Wo/wKCUltRUmCofoDr/hOZMAKRqI9uGNtTipS0eqE+de3gx9j/7Jp/n8NI4IYBQLOiIIOO4VhgpLlAGVUVMg4k4xEBG3ArtLAaJ+vHvXevDwDeGDbd/9N3Y7enMUg5tdj77URhbe6ZTFd6twSYDAf0GUjc5CSkSe76klcCYBwTdOuka6oujYY2vMOvMfCrXb86qBulVoN+ZQrX8DjPixS6ocFX8a0fvX5swaHXszjG6E7H3UhYRJvwmuHUlwxU3gAYXxfAU7xalzI+aRFKikM5/MyeseLK2bkKtwlT9poNOw5+yCWofPQ7zQVg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tksbA7H2lMSaY3a5c9YU6hhiTitb1FxEL7gVnxGjj7U=;
 b=y/+k9wt0aFAy4t/iSOmuSBJ/AjkVcKlnJFUBctbrChXdTN38N5Ta9lbMS4+3w7I+h8RJ/gI8LIZE4nM4TNnk1iRVjMGBJ02xTRC54t37QfGuasJ2hjRGBoNMqLuolkrScYs5q90zBVIcjvBlycWuI69u/URYYGMyq1w6h7UTMM0=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: oleksii.kurochko@gmail.com,
	Roger Pau Monne <roger.pau@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pua@citrix.com>
Subject: [PATCH for-4.21 4/6] tools/xl: check return value of printf_info_one_json() in list_domains_details()
Date: Wed, 15 Oct 2025 15:40:41 +0200
Message-ID: <20251015134043.72316-5-roger.pau@citrix.com>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251015134043.72316-1-roger.pau@citrix.com>
References: <20251015134043.72316-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: PA7P264CA0105.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:102:348::19) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|CH2PR03MB5176:EE_
X-MS-Office365-Filtering-Correlation-Id: 8df38a21-8d59-47a7-8a40-08de0bf17893
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?NmxjVVZZVkpIaDd1Vmh6VWJ1ZWRIQnZrbUV4ZDdrdDdGVmFOakhoQzdPcFht?=
 =?utf-8?B?MWxKWEg4THVUUnM4UTZXKzVlNTJySEZ6Y0tFNjZMTlBIMlZDVTVseGZ2Y3Yz?=
 =?utf-8?B?YU01b1pZM0JaTzNIdDdoRnNObjlrcndLd3NVVVpuM0xzdDRQZHZINkpHUnEx?=
 =?utf-8?B?NmU2Z2pteldOM0FXeE5WNk5DemdGUHl1RElCenBwbXFrU2xSdW95UXJnZFlu?=
 =?utf-8?B?VDNuQnNScVBET29EeGk4Q0lrOE1xbFBIUFdTU254UE8rNk45OWlMbnNaY25X?=
 =?utf-8?B?UnI1OEpWcUxRZ3FRZ0JEM0tZK1BhelNBVk5KSWFNem1wUE04NVNJVEN0Q3hF?=
 =?utf-8?B?Y3pBM3hFVTRIaXkrN3NnRUdMSmxQQnRCTFAycGFYVHgwT1FXVmZVK043TUhS?=
 =?utf-8?B?Y3ZSZEZ0WU4zNVBtcE9HT25KSmNyZGZTN2tQSkovY0t6NXg1a1dlWmRiUFhN?=
 =?utf-8?B?aEFydThka1lvRzEwdzB6TXppbW5MellYVTdyeXAzS3E1NUVndzZhUEc5UEZJ?=
 =?utf-8?B?MzMyYzh1OTgrSGV3NktaL0JPckJKdzNvR0UwSXYva0xqOGZYMUpiU3c0ZzFK?=
 =?utf-8?B?S3VsckNUNXVRYnl0VGkyUTRRMWpZdVZPSmI0YnhEaDFRdlp3UFprTlh1c29Y?=
 =?utf-8?B?R3NFd3BkS251WHFGenMzWHNQS3l6Rmc3WEpwUytPRHNIUWlWdEpGeDBiUms1?=
 =?utf-8?B?R3hJblRIM2pGbzQ5YjhEN0ZzNmx0UXNhU3h0QitST0plbWdEb0pkSGdoYk9P?=
 =?utf-8?B?NVZoRUw4ODhFRTBhMHBNM0ZGdGFRUXlzK3VUdzNVdkM3YWRJVG55aS9qdU5t?=
 =?utf-8?B?ekhPUnl2cWJROUthT2d0eTNvcFpRSGRJOU9vTVhNeGF6QTg3d1dNbm9zUHdm?=
 =?utf-8?B?WG5iMnBiTXVOcTlZRUpVTUt5Zm8rblNidWZpdWZVWERUa09pNm1zdWlxY0hh?=
 =?utf-8?B?ZDhYZklYT3NpNlp3VFRFWkh3OEQra1huVkdaNnc4dElDV1lSaElHdTk3cU0r?=
 =?utf-8?B?ZWpkWkx1T2VvZVh3bDQ0YkRXdWxWL3Q4YXpVSkw3ZVhTUlhLdTd2TFEwM2xa?=
 =?utf-8?B?SjA4Zk5YNzdidGIrY2hkdDRLcTA0WXRiZmIxZEIvWkorL1BkT1FKclJzY3BK?=
 =?utf-8?B?YUNlUEJiNmwySTA0cTdOTlZybGNBT2d1M1NrTElIQW5TcTg0c3RyY1VOVlho?=
 =?utf-8?B?NDhoeWJ5QS9kVlNTYTBVZlF0NnYyWXF5TXpyRG1VUHhtZDB1bTlKTmFvd3V3?=
 =?utf-8?B?Qm9sVzBnYUJtbWt0Z1NKUjY5V2JyZDlhUk5SWE02VEJ2RUZaZUJ3enozNzha?=
 =?utf-8?B?dFBoL3c0bmptbzJzdkJ1LzNBQzBJcHpTN1pmbFVYQ01XSFZWUDdQRS9jdnVv?=
 =?utf-8?B?bEd3SHBmd09PZytHNVRmMGNPT2pYOUkvdzhodFo0QzFJYUNqd2J2eHFUYTZM?=
 =?utf-8?B?Y0ZPTzUzNEloNVdtdnlKeWpFQndkR29ubmNNc3ZsZk4vN3BReVZpRHduNit4?=
 =?utf-8?B?dUpoSjJ1YUhXeHdaMFhVaWFpNlNPNWtDNGpRME1CWk9rWkljMVdHWk1OV2xh?=
 =?utf-8?B?VnF2TTBWUTJYdXhPYmpkWUtJVUdCeTV3djlYd2dueTJTYW5SWUNzTE5zMFJZ?=
 =?utf-8?B?eVRzaUUwNnhhU2dpdVdxT1lsLzM0YXYzaXV5TVRkb0p4SWIzU1lwN0REQy9m?=
 =?utf-8?B?NGUrN21FN1VaWlR5RGRkUmQxS1BCRlQrMjRDQ1p3NU14WWFWOEdLeE04QVdF?=
 =?utf-8?B?T05FRHVTTi81UGl1NVdhQ252SkJXQlY0d0VpWEpDbmljR0ZaaWEwYUlYbnVw?=
 =?utf-8?B?cG41TDZGYVR1SFg2OHFDYjRNb1ZxOEdZVGgyVzNPMzJqcVY4TS9ZOVhqWkhh?=
 =?utf-8?B?UDJOY0ZJZzdJVm9hWFUwTDFvQWhPcjJKdmwvQmJnb0xhcVpLMzhod29UTVpr?=
 =?utf-8?Q?hlD77Z9YZA6NAz1Je6T2zlqK4SDv1eyW?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RHMxM0JFZFRDM3NFVTJsTWRucWlPNGRIN0MxcFFOQ3hrM0Fwbis4VWVSVFhu?=
 =?utf-8?B?cVk3Q21ZQ0g0Nk53K1phc1lvMmNza3RwZStlWHErQ1lvMGhROEpYWXQzdGh1?=
 =?utf-8?B?OXdxbE1hS0VndVlRUEZIR2tDR1crVFNoY0MwdndpSDBVNGJYTCtRem9tMXVO?=
 =?utf-8?B?N0tGeVBGMGQveE94b3l1eElpOFlyTkFuVjc2YUN4cWZoU29tdUlLZkY4VDls?=
 =?utf-8?B?dGJNMi8vYlBWRVFySllSZlFRbmdOS25KMktBTVA4MDdzdXlKNjNxb0oraFRZ?=
 =?utf-8?B?SWxGV0FRc09qanp5TW5XM0RQRWJUZUZkNEk4REJrR2hFN3JEbWxMb3JiOFR1?=
 =?utf-8?B?NDJya2RqVFEwS2tORzlGak5rc3NmVGt3dm1MUGtYZEtYbUwxcnFpKzMvMVJj?=
 =?utf-8?B?WkcrbktMUzIwVDdUQTdtTWh6UytITlRyV1dRVytwSmo3QTQ0SGc0b1pjYVhR?=
 =?utf-8?B?ejNJNGsxR2g3MzgzS0x1YlB6eDBicldQWC9LNlZhZmVKc1YrL3VJT2tENW1x?=
 =?utf-8?B?b3hDSHFHa0N1Z1daUUFlLzhIT04yeDVTTXh3YWhXVVJuUkNLRDNmYlcyWUps?=
 =?utf-8?B?YjVDcS82bnJtRUJZZ3pqWklXMEhJVGFKVWQ1eDRCaGdheEdrdVRGY1QvamQr?=
 =?utf-8?B?MENEWGl5bWtUN2h2Z24xTDdHZW9xSGdEd216dkNCTndPYjhqUFI3ZlprU1h5?=
 =?utf-8?B?SmNLMm1NZWJoRUMxR09VR1BoUmtFMHY0Z0Z2S2hhT2xTRStlMnliU2FwaWtp?=
 =?utf-8?B?eW1QYkZoeklIMERhd25PNENKTnREeDQ0b2tXdVhqb3k4SVZwNTlNci9FRzJS?=
 =?utf-8?B?RDVuOVhib1kwSTl5VnpiT2gySGhjK0ovbUg3L2RseHJDWU1RRDh0eXpxeWpL?=
 =?utf-8?B?dC9ETUFhT3lGMW5wbXY4cVl3Zkx1WFo1V1pvZTlJNERwaEF5NkpySVBrZjU2?=
 =?utf-8?B?RjV4NUpmTXczc3JhekZEVXp4T2NFVnF2bW1GZ3Y2VEtCdUFCM2thYWlSZytL?=
 =?utf-8?B?VUVlL2hiNEpzN09nTUhJOVc3SEVuL1dKZFFiaHFBOTFDaFZ6RVM2UFYyMVJL?=
 =?utf-8?B?RC9JRGhxYVNnRWdPclptR1BzQ3RPSlQvUlBsU1NOaDViWEo3TnhEVmpGMEdR?=
 =?utf-8?B?WFJTWEZCdjErbUdkQWlZQ0U0aTRuYTZZcElvVWxhNmUrNnNLMlpSZU92KzNo?=
 =?utf-8?B?K09hZXNJQW02cFc4cmxDQXdkN092ZkQ5U1czdXgrSkhCMGFpa3dCN0xMYXNI?=
 =?utf-8?B?RkF1aUVqVjh4ZFRyZUJsc29iMXJoUlNhbnJDMUppTkdQNS9RK2V3MjA3aFJI?=
 =?utf-8?B?MGs4akU5bzlvYXdCenRRZU9GazROYlYrREJ6RkhYK0RKWUpXQzc4UHBtM05j?=
 =?utf-8?B?d3dvcTlNK0NTMXlTbFQrRmg0Y2N2U0RFSzhiRlhROHV0STNlZlc2azdhd2h0?=
 =?utf-8?B?NTFVREVlVHBFOWlFNkpIWmFTZFgvK2lTSkZLWDJkdFQzR0ZKSytNdDY1YmVa?=
 =?utf-8?B?UjkxVUNSSEdMcGJ3VGduMVBwZWpmMGRSbXVFby81QXRpN2oyNXBoSFN2MHh1?=
 =?utf-8?B?SVlDR0VQTXFGcVBuWXJZRFg4RnlUYkdBUE9qTmYrWlZCeHFndy9DbFhqU2JS?=
 =?utf-8?B?eFVIZE16eW5maHFBUS82L21RVnEyVFBrSWtjNFhYTTJoTFRTOUdIRUlidkpD?=
 =?utf-8?B?bmJMakdmZzVSM3dBTUJSdGtMZDFFRVVsSGIxcFlzZlRqR3pQb09KbStwRmdz?=
 =?utf-8?B?WlplcWx4M0lXVnY0aXRIenFoS0xrWnJ0UW5SYks3WGRUT3dkZ25XdWY2OGVV?=
 =?utf-8?B?eERpL2VDTTRTUVFkbWlFbjFYWmpLaVd3NmgxQU5UcVgxZHJCTmFYanNxeFpK?=
 =?utf-8?B?RzI3bU9ZVWlIZVVWWEkyNUNPcHBSL2x1VUtIWTlMbGJFeG53THQ3WjB0SG9m?=
 =?utf-8?B?Tm05VDVXM0pmN3JVVjZNekV2WmtXLzdETFJMcU40U2lNam9UNWFzeE1zWTYz?=
 =?utf-8?B?OXpkWm1lYmxkWTdxNGk1aGxhWkJ4c0JzTzc5VVZzbXJGVllUUGU3T0t2WGVK?=
 =?utf-8?B?Umx4dHY0NGYwaSt1SnA0V1ZKSE5zK2J3YUxVRlBpdFA0WGpib1owdHo3S3U5?=
 =?utf-8?Q?Lw9Sa7L50l+8cTwJeBXFxq/ow?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8df38a21-8d59-47a7-8a40-08de0bf17893
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Oct 2025 13:48:07.2268
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 5713U0KRGhpbw56KBCa9c6exSAx5U7HfaGcPqTj4SHN2+T7WRzvM4/pqKFkyWnJu/FQeTRkbLh7jBCncUPaFUQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR03MB5176

And return from the function early if printf_info_one_json() returns error.

Reported by internal XenServer Coverity instance.

Fixes: f6c6f2679d49 ("libxl: Convert libxl__object_to_json() to json-c")
Signed-off-by: Roger Pau MonnÃ© <roger.pua@citrix.com>
---
 tools/xl/xl_info.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/tools/xl/xl_info.c b/tools/xl/xl_info.c
index 2048669abbd4..696f1f7423cb 100644
--- a/tools/xl/xl_info.c
+++ b/tools/xl/xl_info.c
@@ -585,6 +585,8 @@ static void list_domains_details(const libxl_dominfo *info, int nb_domain)
 #ifdef HAVE_LIBJSONC
             json_object *jso_value;
             rc = printf_info_one_json(&jso_value, info[i].domid, &d_config);
+            if (rc)
+                goto out;
             json_object_array_add(jso, jso_value);
 #elif defined(HAVE_LIBYAJL)
             s = printf_info_one_json(hand, info[i].domid, &d_config);
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 15 13:48:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 13:48:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143616.1477320 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v91rS-0003VV-3Y; Wed, 15 Oct 2025 13:48:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143616.1477320; Wed, 15 Oct 2025 13:48:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v91rR-0003VG-W5; Wed, 15 Oct 2025 13:48:13 +0000
Received: by outflank-mailman (input) for mailman id 1143616;
 Wed, 15 Oct 2025 13:48:13 +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
 <SRS0=pY79=4Y=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v91rR-0002AF-0O
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 13:48:13 +0000
Received: from BN1PR04CU002.outbound.protection.outlook.com
 (mail-eastus2azlp170100001.outbound.protection.outlook.com
 [2a01:111:f403:c110::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9736b2b9-a9cd-11f0-9d15-b5c5bf9af7f9;
 Wed, 15 Oct 2025 15:48:12 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by CH2PR03MB5176.namprd03.prod.outlook.com (2603:10b6:610:97::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.11; Wed, 15 Oct
 2025 13:48:10 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9228.009; Wed, 15 Oct 2025
 13:48:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9736b2b9-a9cd-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=F9tktHKpTpp8m+KVrQIxfYXz+xLxjHIGP2kwPsmdlgf2C3CIjBDdycmO/pYs+mLAoScALRkkXonm4h+R2fWuM2J3r5Z2Uix5SM8ITQ7FRzNwJcXzldX/8bBawX/mg8SACFicuZDqyng57d9PsdCKJYu+rNul//5/J3PQeVJbl0KfChlXxcg+vRcmOeKqRHdeeWRMRuf0xDR8wq/X1Tk5ZL/1i+nxQmEhFv46yjVSKZaUFoMdjSJ9xRzu7nV1c/5k0erlkeDt/i6M7dIVMW2bosS680/78QZoYTeYjZ9FJJqis2uiN3k79jjd2JVcF1twFC/Dro9JIlS5f90VouuaNg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yAZenEHHSJc9XuumDpKzapOsydcxgd6TjINpy1Ft2iE=;
 b=bukHzepcWiIfWk30DaTWs1OaVr/9pqNIsUNGSqHN+qQ2XeBgvQcIP0O95QMeuhXRoR9qVSpwA0KLyCsa81lvLtYLFa0fA3ZZgZ6w9SdU2nNZjctzkOmHC7xE0+nyYHeqK3Mx4Q+mjOjTbkrgeEk7nTUjM1zkNoSheqVtpisesp245JSKNU6AXWR39URajEtndYNfb59cYqiIxg7QDgw950shTcv70u/Z1vtFqWsaT7rp62r9E7YBB5kC648ElX1qzLSCyv9boVTyqs6GJisjCQusNguaJL7JoF8+3sXp17GniXPJr2uv0jJc26zNCjdxfMrFlNdEkMVwhOGzAP2EHw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yAZenEHHSJc9XuumDpKzapOsydcxgd6TjINpy1Ft2iE=;
 b=fIxf75mlf9MlSJJEiKYVUth3DwK0LulHHnPsEVXffvl0PmhE65LqMt6bXFhvzdPZPeEhTShcdgww0LvhhaacvaRkoCFoNpf2wAI5+hxMgyPz7Ik3BA1oIVA/oIPMUazSLq5U7dzLliybf65/8ojeVYQ9LjhOmOYS/gszsd2Xqfc=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: oleksii.kurochko@gmail.com,
	Roger Pau Monne <roger.pau@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>
Subject: [PATCH for-4.21 5/6] tools/xl: fix possible uninitialized usage in printf_info()
Date: Wed, 15 Oct 2025 15:40:42 +0200
Message-ID: <20251015134043.72316-6-roger.pau@citrix.com>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251015134043.72316-1-roger.pau@citrix.com>
References: <20251015134043.72316-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: PR1P264CA0137.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:102:2ce::9) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|CH2PR03MB5176:EE_
X-MS-Office365-Filtering-Correlation-Id: f8955876-78aa-457c-6335-08de0bf17aba
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?ZE9sQkdyRlU1WkRiVm80WW9vd2F4enR2UCtZMUJlUFJiWlR2WmtuRkxkVTFa?=
 =?utf-8?B?WFh4dWpTQ3JrbFdKeG1RcFdsZkNPSHVnNHpJU25pS2xiQVllREJZcW1ZUThT?=
 =?utf-8?B?ZDI4ZllnZ1oxWG1XK083NXYrYmxSYXNaZEM4SGhVRG9sK1pnekEwVUd1ajZT?=
 =?utf-8?B?ODRKRGlGMVFibGR4MGc0MXBOUHlPSDJWWVZBanljV2dyeVNZRmR6TnR6K1ZJ?=
 =?utf-8?B?OTZPdmQ1YUxSdlBQOEQ0bWQzdU9yRFFkN2JWWjdjYWV6WnFBUWpuMTlsRERI?=
 =?utf-8?B?WXRmTG5pYzNrS1JXcE5ucUhpNTA5T1ZUM0FYT3ZGTHozS1VuSkl1bUIyOG51?=
 =?utf-8?B?WVVtTUYwR1Jjbm82cVNnR1VVenkxbGpvSkM5YmF5RVM3QWZiWGxjSjdqbHV6?=
 =?utf-8?B?SEdDYUZ0cmtIVnU2L2ZCZEErdVUvZzZ0K2oza2h6NFZsU1dJaXVsZ1d1c2hs?=
 =?utf-8?B?c2dqTHpDanUrQjRwNUtpY0UvRjJhS1J5aDRTQW9ZNm96KzRHMjh1SzFxaU9i?=
 =?utf-8?B?SS9VanhlNUprdGlUU2diQjR1elhuZUF3ekxWTnluZ3JWS0dxc3pHeXJWajN6?=
 =?utf-8?B?T1ZsMzkybUx4RWJKdUk0WktuUDArdkVIWVQ5RkxWTm5icmFpZXZJWnozbXMx?=
 =?utf-8?B?cUdWczNuVEZmQzRXZ3hvbU10L1NhaGNhSzh6a3BuWkE0WXZiZkZzVjFiOHR4?=
 =?utf-8?B?ZTlSNXZpWklSTWNYK3VIL3MxbmxoWFU3ZWs0akQ0QjRrVkpEUjJiaWJsVG9l?=
 =?utf-8?B?U2pFbURDMm8rcWFTVzZlNUcreVJ6MjFvTDQ2ZFBwcGFDR2hXdVBZNEt4RWMv?=
 =?utf-8?B?enZKMVllVi9xdjNKVERzZkNKRFpBL25qNjVnQkYyUHF4alJlcWQzL1ZraGlE?=
 =?utf-8?B?STlER0VsOVJvQ0V6ZVppZkZKazQveW9uNS9TaTgwQzkwdmsrSWV5UWlxTmtw?=
 =?utf-8?B?TjdNeTZWUVl2aTR6MWU0REFlVlFqbTdiOGxpbk5zWXg0eXd6RDZOc2MydEFL?=
 =?utf-8?B?K3ZlRGRTLy9objZyeEVudHBjeEIzSFZ1SGw3K1huZ25TTUpsZWgybEJDRUNS?=
 =?utf-8?B?K2tyZUJMU0lOVklsaEtmTkpCazNaSVJqaWFqeGxhdHRlMU5rTUo1MS9ONW5V?=
 =?utf-8?B?dTZ4RldoR3d6QTNoZ1pwd3phZlBaNmFSQTg5c2RuWnpwZTVpdEVzTE1XVHVy?=
 =?utf-8?B?eEl1N0NpYmozYTNqSUdQVkwzVUpOcGQzVklwNW5mUjZoV0lzMWdKSDRhaTNL?=
 =?utf-8?B?Uk83Y0Z3aEoxWjd6bjN2OElrWE5SWW5mSW1iM3poOTBya09WN00wWHltRHh3?=
 =?utf-8?B?Yk1kcEIxZEFyUVI0dWpaMFpjeTJwekg1bGV2d2xTRjJqemxvUWtSYzJyZWVs?=
 =?utf-8?B?aURQaDVEMXlIZm5vSWh5TE1KSnV3ZXVkcUFjTUFOT1JMMzVXUDNRb01qMUgz?=
 =?utf-8?B?K1lwUXFGZDJYdDI0dW1EMVVSUVFhcW1SckxhY0tMMGRBV0QzcjEzYzhVblBz?=
 =?utf-8?B?ZWpYc2xKQVRRbkx1Mml3WlI1NVJtc1ZLL0x1QkNPVHVpL1gzVCtzSUp2dURN?=
 =?utf-8?B?QkgwWTd2YkhUbU5uWHNteFlUYUR0MHZJeXlsaU9MVjdlSW53ZnM1dDZjbzAr?=
 =?utf-8?B?V3pWZXViaHlwRlQrdWlzZk42SG5lcjdBWTgzVmxUeXhxME1KWWVrUUFWT3hR?=
 =?utf-8?B?R1NvcG9NOVh0S21XL290SEowa0laWkY2d25NRmtEdzZMRW94ZUNISmJlVkNN?=
 =?utf-8?B?TEVSRHJnV1YxTDd3MjB1VGw2bW9rK240UE5PUXlMTGJGSkdkTVg1L0FINGNa?=
 =?utf-8?B?Qy8yd2cxd2xoM1ZNeDFwOUhSSFJrQlRhd0tLTFp1YzVFTS9TemVTcUlYNmZq?=
 =?utf-8?B?V3pRaWhhbjlLRy91V3NENThCNlRySEd2eGp2SGVEMFF4QkUxc0gwZUc1Yi83?=
 =?utf-8?Q?VJlt/hJDdvggOz317/aoPVsKCQJ05TGg?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QUxqTkw5dCtLeHRjay8ybUxsbzlMZTR6a3FQWHFncFhGb0hva3ZUK3h2NDNj?=
 =?utf-8?B?K1ljdUNvMlEwS3R3WW5HdXJxSDF0bktOeHlQUkd0TFk3QVE5SVducjVJS0hm?=
 =?utf-8?B?Wk9pYlVtZHI0akE0Y3hWRGRwOGJTWHRzdHRJcmhPbVFaNERnbTJhYVZMaWZq?=
 =?utf-8?B?Mzd6NDBSazNSbG5mVjVOaUdUbDRHQjV4eXB4ZmxpczFKbWdMejk4cFpaUkxD?=
 =?utf-8?B?Nk5rVk5pTEUzZjErK3dqM0ZmUGQxSEYzbkYzakd5RVJxMEZuVDY3eHBzbzZo?=
 =?utf-8?B?aUcyNzJnZmNXZmU1U1BGb3VQR1dIL05MZWx4WVBOeTYyay8vanVhSFdMTG1J?=
 =?utf-8?B?eUhIZEtDK1RsUmh4akdiWHViVm80dTdRVE9ESUlhOHB6dmtxSllNdU1kSDB4?=
 =?utf-8?B?M3JwVEJOV0doV3lMOGQ3em5vUXNYLy9pQUFNd0cvMHozMzRrcTBPVlJOeW1h?=
 =?utf-8?B?aUduaVJEblBmWXR1MSsxanA1UEVZdlpnM0lkajF3dS9OVG54Mkp6aE9ROWMw?=
 =?utf-8?B?cUxHS0hZM2Vxdks0bGowNmJ3UnlzOVkrNk8zYkJmUXBRVDVXbHpYODNnZ29T?=
 =?utf-8?B?ZW91YndqcDN2YXoyQy9MTTlPRzE3M2wybXVRc2YyaVRONGFrRTZLNmVRZ1NL?=
 =?utf-8?B?YUxGNkF2M3FxQisyS0cvL2tWUGg3TE1WaU1CTmR5eXdXd0huQy9sTWRidGxQ?=
 =?utf-8?B?MFkzWUxSS1U2YXBTeXJtSFRwS3cxNVlYbFdhblE2c2F5L1A3djRDWVlFaDNB?=
 =?utf-8?B?R2hKejNrSXp1R2dBVk5OWFhTTm12YTBFT2d0VkF2d3RtRmErOGs3VHNvWGFy?=
 =?utf-8?B?aGlGTlAwVlZSR0pFbjA2MUtWNlBHR09rb0pqQlEzUjg3dDZWcUxMSFFGYldy?=
 =?utf-8?B?T3ZSYmhoZlN6VkRIWFNSenkvYXhoODNLVGljb0VBSjZNK0xKVVlDdERBM1Zm?=
 =?utf-8?B?Nkl3c2haczZKK3hvaUJUK01ORXFLZ3cwUmFXMzN2ajdjdmMwT0JlODBadkh2?=
 =?utf-8?B?eitGQ0pXVWxpdDRsSjh6SGlHVWhRREVlVVJIT2cvbVRPcnVuc1ErcWhpTGxm?=
 =?utf-8?B?NWh4eU91S2t5SS9Md3pRdG1iTUxkcHBsQ3hSMDNwcEhOY0toR0dMNk44WHJE?=
 =?utf-8?B?Z0tPczdMcmk0YUdWdysrUWNYZU1uTU5CcC9kbjM2WXVwc3ZGMHNUN3RHNXhp?=
 =?utf-8?B?Yll2UElzcE9SL0RMRTQ5R05NOWpjb0ZXUU9aM01xdmp1YythdUp1ZFk3Sk5I?=
 =?utf-8?B?aWVISmd2QjhtNFNlQnZNYSsybE9PdnFldERPZFIvL1ZXa0Z3amV5aWMwZFR6?=
 =?utf-8?B?LzViNkRPdkJ2TGkxNFA2MnpjWWRxUzE3dEorRXJSNmtMVzBsWWNud01yaWJK?=
 =?utf-8?B?YzdTMkQ4SXJrWXFDdkZFeDB6dUV1THpybTNxUVpLei9oWTF2VmZCeEtIMGQ5?=
 =?utf-8?B?cVlnbUNON3lETVROYTJBaHJDQ1JaalVUb2xzT1JaMGxJVENPL3RqdW5JeVd6?=
 =?utf-8?B?UkRzWjhuRVpRY3drcExqWlFFVTMvTjFiNnl0L0NmT1Y0R28vdzVPZTRtSnYy?=
 =?utf-8?B?c1VQWitLc203V1IyVFlxcnQweS9pT2JCQTFNVjhRaWtKVTRYZ0hyUEs4Sjha?=
 =?utf-8?B?Nkk5RmxjVDVqYVBBQ3Jha2ZOSVFqRnQvMWNDWTJYU0hNOVduRkVSRXA0TTFV?=
 =?utf-8?B?eHpIOGRiZVV5WHR2elVXTmJodnpaRTVkak9tV0FpS0JuVlYwYXJ0N21aMExj?=
 =?utf-8?B?eXZDNElvR0YralhWSEJrR1RjNWdub085WUhPS1MxZ0F4R3gxdnNyOHU3S3o1?=
 =?utf-8?B?TjI2aW5KQ3YxWUFCWTM1VE9WOGZyK1lRYkV1WTJLTlFzOHUyeCtIMHQ5dFVr?=
 =?utf-8?B?MDJuWjRQcTNHWk5ROXdjbzRaT2J5dkh1VWtVN1NDMkJwNkRqKzlnVk44MU5z?=
 =?utf-8?B?akd4d3JGUlY0M1hlY2o4dGtPTkFyMEJ1U3A3YlkxNXhWeldHY2thNlJGQzh6?=
 =?utf-8?B?dDRGZzBCdzJacTdrYVRlZkJuc3lkVmJRL1JNK2RuQzE1ckpTVXA4RXJ2V2Z6?=
 =?utf-8?B?cGxXZEU0UkRxUE1STUhsZTJmYUk3YlJoeDVRV0FIUDEwU3doYStZV2x0bGFP?=
 =?utf-8?Q?Wh7nwSKChmFScnIt95r5qXUsA?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f8955876-78aa-457c-6335-08de0bf17aba
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Oct 2025 13:48:10.8355
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: gbCkNFXp3pN4FnVqUEI3/rhpGDbNnTtNrktaxVIh8bSZwt8puIy5EPLyWxYewRbQOG0qT35O0U8LDenxb7g55Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR03MB5176

printf_info_one_json() won't initialize the passed jso_r parameter on
error, and hence the usage in printf_info() needs prior initialization,
otherwise an uninitialized pointer is passed to json_object_put() on
failure.

Reported by the internal XenServer Coverity instance.

Fixes: f6c6f2679d49 ("libxl: Convert libxl__object_to_json() to json-c")
Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
---
 tools/xl/xl_info.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/xl/xl_info.c b/tools/xl/xl_info.c
index 696f1f7423cb..0314ce7d4c22 100644
--- a/tools/xl/xl_info.c
+++ b/tools/xl/xl_info.c
@@ -155,7 +155,7 @@ void printf_info(enum output_format output_format,
 #ifdef HAVE_LIBJSONC
     int r;
     const char *buf;
-    json_object *jso;
+    json_object *jso = NULL;
 
     r = printf_info_one_json(&jso, domid, d_config);
     if (r)
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 15 13:48:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 13:48:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143622.1477330 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v91rY-00040E-Bd; Wed, 15 Oct 2025 13:48:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143622.1477330; Wed, 15 Oct 2025 13:48:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v91rY-000403-7J; Wed, 15 Oct 2025 13:48:20 +0000
Received: by outflank-mailman (input) for mailman id 1143622;
 Wed, 15 Oct 2025 13:48:18 +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
 <SRS0=pY79=4Y=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v91rW-0002AF-Pc
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 13:48:18 +0000
Received: from BN1PR04CU002.outbound.protection.outlook.com
 (mail-eastus2azlp170100001.outbound.protection.outlook.com
 [2a01:111:f403:c110::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9aa4074e-a9cd-11f0-9d15-b5c5bf9af7f9;
 Wed, 15 Oct 2025 15:48:18 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by CH2PR03MB5176.namprd03.prod.outlook.com (2603:10b6:610:97::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.11; Wed, 15 Oct
 2025 13:48:15 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9228.009; Wed, 15 Oct 2025
 13:48:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9aa4074e-a9cd-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=dtGd03Tg07zBTGw4RZ5REucuXaHIFf2aHMQxpq1dqtTYDIiIum7ebUpWtj5auj6f6i+gW3ih/QFDjdHT4p08brERvUAhjAL9MzjLCoWceIHNqGsJ1h47T7M+QWwn7XKmmspZmyJ3QA7BdgrqUajMAqHhU3EfWaUCGDh9/0SUXymjNKnFVDGXnsTH1Xuely6H9HAcB/zj5yvPywjD5g/JrTu8b81QX92vSkpjswJQeNvCaI57LPC82CdT2Jf4XPzPg0ZtfwbyewRzJNuOI3ERds62veHZoxB/xm5Mw5wnhtOgRF8UYVtl2FZU4xywbzrLAhWsKPpmqXZatGxa7/FaiA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=C4ISnr9KPhzDl9r+JqhO5V5YHuJZe//Ip5X1jvyo0Sw=;
 b=f2T9LdamLEsTArjCLFIJnreEvivzK4ADFzt/l6lLtt0AzV57+gOAQOby2BMwWuQdm4J5C78N/bwoYdm/LzewX0y5lf9zhTI+oIII5vUE7At8IrVJSmDrWwsTMBB+opbp/DwC3DYXBs7FL9o8XAz2QCl6DXLM88KUbP8m0we5cUHSGPk2D+xzRT4BMBnC6yO4oRX0gilVOOdzXbm7eodgX8OL/QRhZyJBfMUWESPouAzAINzqxWEp0vevxwuFbiZZRR+pMSKL8in3ZW5te7PlERtEALSIWv4Am8WZ+bNyGoWPT4SaqTPdDoEnYfonTplmKUPvOiank2f0yxKDe4cLIA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=C4ISnr9KPhzDl9r+JqhO5V5YHuJZe//Ip5X1jvyo0Sw=;
 b=G2bU7O9w5+HHo0ckjwxJ2O7R5Nc5bY5790WJCGecYUayLPhOqUzuFTyUdMUCkT5r2N7KdAnxPFsr9xGsP0b08fufJ1f/Tom1Ng3IWFoKW/F64CG0U9H7ce+AABzP2g9V+N85rHLhJPxRJKKkO8iAxiJW+2nU6uLV0kyuzjo3AdM=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: oleksii.kurochko@gmail.com,
	Roger Pau Monne <roger.pau@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH for-4.21 6/6] github/coverity: switch to building with json-c instead of yajl
Date: Wed, 15 Oct 2025 15:40:43 +0200
Message-ID: <20251015134043.72316-7-roger.pau@citrix.com>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251015134043.72316-1-roger.pau@citrix.com>
References: <20251015134043.72316-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: PA7P264CA0179.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:102:36f::11) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|CH2PR03MB5176:EE_
X-MS-Office365-Filtering-Correlation-Id: a0ad7add-996f-40d8-c213-08de0bf17d48
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?ZENQNnhlUS9XbWVBWUlHQ2szbzc2aXpIWmlsbHdnTHViSk5uS2lsVTJrczVW?=
 =?utf-8?B?U1NSQnFIcjE5MVZOc2ozN3JjNjlSZzRDQlJ5S1RyeGdwNmMrVGxYWG1RbEQ3?=
 =?utf-8?B?Z2ZuRUIzWCtERHpqMHRRVVl5czZhSTVCNGRxYUhzMCtBSDdiWWJpNVE1aUxt?=
 =?utf-8?B?UWVNOUtjLzRPckdlei9xMGVyQThDN3VIWXFSQWJKQmR2SXhBamZ0WHlMWm0r?=
 =?utf-8?B?YTlXMFJUR2J0Sk1WUU82eUdPTlRZSUtqWFhrYkRtWThJb01qMSs5d1BCcEpz?=
 =?utf-8?B?NHBBV0hDd1RVS2FuRmtxekQ3anJhYzJUSzFmVGpPNktXV1VvNjNwa1cyZi9E?=
 =?utf-8?B?SzN4c01VMjU5OGlUQlBObkFMaERIUXZvZXp6aU9uZytTeCtKSUZkV2VOVjQz?=
 =?utf-8?B?RVRMUVp1QzVITDhneVZUejk0VjhPRTlkMXhyS0hRUTlUalFwSGtBSk9FYWMr?=
 =?utf-8?B?ZjVUWnZGOTZZVWthNXNxc1RIQ0g3VnpiaC8rU0FMTkpsS3lwblJsbE5pL1Fa?=
 =?utf-8?B?Ymd6c2dzc3JDTzF4ZTRBeVhMVXMrdm1GVHVnblo0Qi94YVFWUkd2SUxLSDV6?=
 =?utf-8?B?T1FKaXNIQXpWa0d6YUZ6aHVuRU9LbTU1V0M0Vi95UWxGWTlxMnFWQmNWcG9H?=
 =?utf-8?B?V0VWTUszUllsdWcxVnV1VnZ6dUVIWkxBa29sQ1dYaE5GVm0xVVJjZU9QYlg5?=
 =?utf-8?B?aHFQcmZTMGExMTh5OEoyUmNGeVFyYXVtcU5Dalc2aDljdzFMRkphaVh5ZzVG?=
 =?utf-8?B?TE5SWjRKNkVYN1p0eVU4TlROY2hwQktadDU4MVVRdUxTekNVMmYvbGJNMUVO?=
 =?utf-8?B?Y05helRaVVhpajl2NkVlK0kvZVlxUkgrNy9uWXRWbU1DNHZVTlo5eVFuRENK?=
 =?utf-8?B?eXNPc051UU5hbHprWDRCVmErT1pBcFNkcDdXbUxGK0QxM1NuSGZxLzMxTXRm?=
 =?utf-8?B?aCtsbW9UT012Z0JnaWtaelE2RzJ0RzljU2w4cW5wOW9jUlVTaW5oNnRtRUk2?=
 =?utf-8?B?WEZIUGgwSm1MUVNRNFlYUzF1MkozOTV2ekhOWm9oWHdxSnNWc05sWHZuZ0xE?=
 =?utf-8?B?Tm1QaXdFTFZmWjZWMms1RjhVUGU0NEJ6OVFvM3E3bkJGT3lpcGFNQmlWQmtR?=
 =?utf-8?B?VEFnMkVoNGROQU9DQ2Y0TFB6T1R3OVNDR1YvWGVBVkZ5UUNuNEl1Q3JwUGJ2?=
 =?utf-8?B?aWJHLzc1WCtYSkUwNEJSQUZHY1BOUUpNNDd0UDJQNnRlMXdHVkU3RmJvTnFp?=
 =?utf-8?B?RUFrVXBySWRlSEcyRmdiVlJqNGRESmtIVm1VN3FqNENoNHJzMTNxUC82dFcw?=
 =?utf-8?B?dnBkZmpjbC9FblAvTjFVOWI4K2NJUm9yNytyTTRMOFZma2VieWZINm9ZMkdv?=
 =?utf-8?B?TUVxeCtCc3NmUjJiOE53MHdENThQclpDZmlIaFM3NmovbUhFN3NDRTY0R2VQ?=
 =?utf-8?B?UGE1QlJBcjg2OEFxaU03b0lDKzRrM2hUWDkrcW8vaVZFZ0U2bTFuVFdYQWUw?=
 =?utf-8?B?QTkycDJ0bkgvaVdteGhNOHhkYjdQVXgvY0xMWTZVdEhTSFY0U0FJM2grNXhh?=
 =?utf-8?B?NURUUEIvdG1WNHVvQjIvQ1dDTEhGa1dqYnVIamVJcHdjT3ltM01TNUxqdzZ2?=
 =?utf-8?B?QWxWS1U4UnhRRFV5SHBkZ1ZOd3FPb0tnUWkxdmRGUm9nYkRGQjZpU04veGFE?=
 =?utf-8?B?MS9CcTJiM3FvT1p5U0x6aVVVSnZUZVlQN3o3a1hEbUZYUnZ1TVFmMlV1OTJW?=
 =?utf-8?B?bitUM01hOXZleS9udmw4MjBDYTVKQkl6UnBHODZEVENHaEhmMjJxMnpLRjZt?=
 =?utf-8?B?SnNZMlI4Q1JiMjBwelV2Q1c5Q3VqU1RTY3ZGKzVXb21rR3dXVDg4eFBmcFpU?=
 =?utf-8?B?L2E2VDBCVFJRY2pJNnVYaWExNmJ2NDZFcWR3RlpYMkN4elN1UEUzNkhjVVlm?=
 =?utf-8?Q?rq8PBuV4TCMsfyU68IWTGeXrUxv1e98+?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Sm5tYTZQS3AwLzNOZzdJQU9WV21yVWdkczUwa1YzTlhvM0pRR0hKa3NKOGRN?=
 =?utf-8?B?UXFpQmtYY1VxT2FrUnRhVkVoMUVPa1B4cm8rekdVcTZmTUZQVmJNcnRSTjMw?=
 =?utf-8?B?ckg1emx3RWlDd1NQcEFpZDhjY0J3bGx1bC80bk5aTytaOWdOczNRVFdkWUJo?=
 =?utf-8?B?NmVOK0hlSVRkaHMrMG9CMkVqdzJCNnJidTQrb25kU2txZ3FOZ29YNkFuMklU?=
 =?utf-8?B?R3pQY3ZZVytsSW5lUDNYTitLdjNRSitwWU5xSmMrM1EyeUJSYkhPcDFIKzNS?=
 =?utf-8?B?Qkthb1lCRGljbDJNSFlZQ1Z4Z2ZNTHFIdTBScFUrcnNteGFWVCtnODhITENY?=
 =?utf-8?B?SThiV1ZweDJYa3RsalNUUVVjVW5OSXNqUEFQT05Bc1lrb1dUdmtOejdsQlh6?=
 =?utf-8?B?VElzK1pUK3BTUzBRK1J2V0kraGVvN2tEeWNBaFVIOHMwYnlUeFNJNHk4SGYz?=
 =?utf-8?B?cmlQZ243YlpZNEU3K0dILzhaUm9qZ3I1YlplUFVGV042RUdWanJ3QXNYWlhx?=
 =?utf-8?B?WWNpWEdNcWNEQi9NbjVoVUJjdW1MN0xXS1A1VWRZTVZJdllhLzJlVEJENWVQ?=
 =?utf-8?B?WnpTZVlKeXVOT0F1OENCTHBtbVhNNkZLQlR5WkFsMGx1NFJhZFZlTzM3bkdF?=
 =?utf-8?B?aklGNnJiQWp5N3EvTWhLSklpdmxLcWN6RjZ4RXMvbWxNUVJuMXE3cG9EMGNP?=
 =?utf-8?B?UmFlbi9vcXJMZFFzMnBhWjc5TnJEUEZiTUxGbEtNckhoaW5aV3VrM3hPS0Mr?=
 =?utf-8?B?RHI1NWJLVzVMcVZ3b0sreGhobUpWK1Z3dkRuaEY1NkNSd2hXVEd0MVpvUTRP?=
 =?utf-8?B?TEE0TmwyUTZzVnBmb0hXZ1BHMUt6dlp4RzFvV05TK3VQd0Z3SVB4cWlRN0cw?=
 =?utf-8?B?OWcrbkFDcFI2NWxDTFhFVzhqb0s4YnlEa3NobERMRUM0Yjk4ei9CWHlMM0Ni?=
 =?utf-8?B?OE1LNzI1SEJTR3Z3b21LYTVtMXJiem00RUtaczFXUVI3NzhOcWN6ekJlcXhq?=
 =?utf-8?B?Ynk2S1liRVdsSm1jcFFUeGk2ZHBnWU10N2hCbGpqWWNRamNrL0JDZWphZVUw?=
 =?utf-8?B?clRZZXZNRmFnNFJDamFIQTcrVGt3ZnErVFJvVUxWaWc3TmwxWWhmaUtybFh0?=
 =?utf-8?B?dUtyc0V5cFVnWWVHazhBZERLYnpYc2JTU1hBenI1N1lLc0RNOHByVFYzM3Bq?=
 =?utf-8?B?MnU2ellXdWgzK29DVWFqY0VpMGZTbXRqY3VmbTVCWERaUlB2cGR6a05QNnND?=
 =?utf-8?B?VFg2eTFLZlBraHdhUXV3NVlKWTcxT3dRb1F5TzBFUlREMFVJN3FoSTY5UWhx?=
 =?utf-8?B?eHltWlRBTGxzdSsyVFRjWmQ2VHJPOFRicTk1OE1CUEpqbHdHYXlPZk5obGE0?=
 =?utf-8?B?cEkwZE1CNTNHK05jUCtFbTRwSno0QkphMnpnQlZDaCthbzlaNHRISG5uWTlF?=
 =?utf-8?B?R1RWczl3NWNCTHlvUitoZkxPTnlTNVZTQ040VnI0MWU3UWY5ZXRsUXVSYzR1?=
 =?utf-8?B?RGVzdWdwQ3AwV0VnVmFoellvQUxzZGk3WFZhQVhXcUVkTXJZRXl1MDVqVVdJ?=
 =?utf-8?B?d3JaM3FmNDU4Y0xIQnhRVkdyWFFMYjJ2eENPRkx2SDlqbHBOY3N5MFczM2JH?=
 =?utf-8?B?WXpaRnhObGo5ZkhYNi9zLy9zbm5Jcm1sbzVQZXpkclNoeGdpdGsxN3lJbCti?=
 =?utf-8?B?SjhnU3A2WnRtcXFmN2lhMUczUlpLN0tSSWFQQkxiZXAvbEgxcm1OVWdPVXdu?=
 =?utf-8?B?cnRLSkRzOXprekVLaFJRNG5aNEdTZnJHdUxDdFNOUFJPRngwQVFVNmhlYzR4?=
 =?utf-8?B?Z2Irb1ZYL01YVWxuaUdKUTlabFZZMk8wN0gwL01qdVBLa1NkQ1BCVWdoSktP?=
 =?utf-8?B?OWF0N1VUTVE0S3JWK1J1R29MeEF2V3ZBNmRZUkZMcDFZRlE4R1JGa1h2NzlU?=
 =?utf-8?B?U2RReG1hbm5nNm1zeXVLa25oVVMvNTM5bU9rbzNaM3JtYlFjb3JnWTdVbUZN?=
 =?utf-8?B?MFlaaDU3OUk2anJJS1NEU1kzeWhuWll6SzhyeEE2cWpCbE9tUnc4dnlrTW1O?=
 =?utf-8?B?ZlRJbGcvN3FST25yd0ZsRjJxVTQ5elljTFBOR3UwL2hGTGJLOVFCaEE2Nk8r?=
 =?utf-8?Q?afC0s807WiLygpskbB5a3SmfK?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a0ad7add-996f-40d8-c213-08de0bf17d48
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Oct 2025 13:48:15.1300
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 8VGxbYYIcliSOtGZPamznn+r8GZoWGER4LfUbQtLUMOWXhbv8958SJQxXfBHKwOh7V32WzTmPXHvmtJKsNBZ5w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR03MB5176

Switch the json library used by the Coverity runs.

Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
---
 .github/workflows/coverity.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/coverity.yml b/.github/workflows/coverity.yml
index a6c2819b0a24..a9a971f6a1e5 100644
--- a/.github/workflows/coverity.yml
+++ b/.github/workflows/coverity.yml
@@ -20,9 +20,9 @@ jobs:
           iasl \
           libbz2-dev \
           libext2fs-dev \
+          libjson-c-dev \
           liblzma-dev \
           libncurses5-dev \
-          libyajl-dev \
           libzstd-dev \
           ocaml \
           ocaml-findlib \
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 15 13:59:44 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 13:59:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143686.1477341 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v922P-0007FO-AJ; Wed, 15 Oct 2025 13:59:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143686.1477341; Wed, 15 Oct 2025 13:59:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v922P-0007FH-6G; Wed, 15 Oct 2025 13:59:33 +0000
Received: by outflank-mailman (input) for mailman id 1143686;
 Wed, 15 Oct 2025 13:59:31 +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
 <SRS0=q/G8=4Y=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v922N-0007F9-HK
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 13:59:31 +0000
Received: from mail-wr1-x42f.google.com (mail-wr1-x42f.google.com
 [2a00:1450:4864:20::42f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 29e27a80-a9cf-11f0-980a-7dc792cee155;
 Wed, 15 Oct 2025 15:59:27 +0200 (CEST)
Received: by mail-wr1-x42f.google.com with SMTP id
 ffacd0b85a97d-426f1574a14so1009064f8f.3
 for <xen-devel@lists.xenproject.org>; Wed, 15 Oct 2025 06:59:27 -0700 (PDT)
Received: from [192.168.1.183] (host-92-22-57-86.as13285.net. [92.22.57.86])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-46fb48a5bf9sm296482385e9.18.2025.10.15.06.59.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 15 Oct 2025 06:59:26 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 29e27a80-a9cf-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1760536767; x=1761141567; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Q+PH4y+eNkhJTovtzOPF/QYMMSJRUYgu/2RfpagRYjw=;
        b=BQ5UUM9OolI1Ez+844ny5YRa0OdlbQ9Gwsg4bMVx7ILcetJp5IdBJpWa8F24H0Pw78
         UR3IXdlLOYdLR+ZmBQhCCLCQ0RVLMOheDW5AMkUuFGf6cyqbNyFSYHnKUG1o/NagMkqw
         h6IX74NMiGlJadoZFrTRSYIoKbfRISdjL7r5c=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760536767; x=1761141567;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Q+PH4y+eNkhJTovtzOPF/QYMMSJRUYgu/2RfpagRYjw=;
        b=TMpqIEbUH/gmBqEQnBOFSQLI2hAKuuFqSRBLTIfSP2WqV+FeVuSat12RLKUA1xKyfd
         VktJMyeX19UDYKvOQE8GAuX1xlqXCzTeqM4e8K1ttK385Q7XdT5+AozG1Q7HmV09qylP
         LpfZQA5C/yC5NO04E9ZODijLXMCDEJ74ZfzlXW1s/zec68xzF7KCbnZ1MNSyYxwyCnx+
         p+zomxdIhIKegCBXiCefDS3eV0ZDY0/Euu/dkJwLxw/l+2Yyix1LD+tzEq6y2vyDsj4X
         1THmrJBOUE+r7BWOM0fXzn3t5vu9wE7pOIF3barki4bDrAKOm+RYjQR0IxEjRUn0KiSQ
         dFXQ==
X-Forwarded-Encrypted: i=1; AJvYcCW5z6i1LBIbNB9/jWMNhKz91ZVFlwgWSUSjf2X+4BBA+gYNvIboExJN4v8+1V3BZnGjAKaRtbAmVpA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxyBgdtn9Bw492hXde3hfQDkpiIC+jQdGrhvDg9+mQRcp6Z48s0
	NFpSvUAKk8cJ8n6xveNG1wOSL9fLq/Jdk0l2NrNXF3iHJ87kA2B9kJN+TA3zw/JC2H0=
X-Gm-Gg: ASbGncuzYkvujum0wUAN4GmuaBOv0+lQz6ZYtWyNlnUPQsMXghZuq9TXtmpWAK0S8Nn
	MgbJAXGJ3sryaSh+PC7mJQ8ZIqmKHFMr5Q3Yvav9FZOE8uPsLRQlT2o2+BHTdxkAdAR/euOYl8e
	ZgqFtJVe+03jnUIsFWF7koNVvuPYQ33wAha2axJban4jWC/74np5fRCvXyhSSZbVwNgcMXcguS3
	h+qcVGx6teQkzgCB+mExu9WjapvKBwVqFHbPTgs+frOkCdmPC6bOM29l6IEgS7lODA1JuP6BSej
	B9kLFF0mzjHlPYqvmEPakOSRpR6MxSSu/P7jUb3LHmcIFwzq5L8ABxspdwq0PQtUqWD1mCG3jd5
	Vkz/Xj3jGby9NxDZQBQqkrnpnE9hYxsS7qu04vuIMjltZ/+Nkq1R1sMK1Qv9U6x4//3I86vcrc0
	qNm1c01FXw9I0mVA==
X-Google-Smtp-Source: AGHT+IEa8wdEkKX5ljQcWCELas38Z4iP2U8gKNkbKP2nHgkd8mXDA3mT5sQ+p9IS92TBetz1q8NG8Q==
X-Received: by 2002:a05:6000:607:b0:425:81f8:2d11 with SMTP id ffacd0b85a97d-4266e7df972mr19632521f8f.29.1760536766956;
        Wed, 15 Oct 2025 06:59:26 -0700 (PDT)
Message-ID: <096f8bea-f8aa-46cb-9d05-2d222d517fad@citrix.com>
Date: Wed, 15 Oct 2025 14:59:25 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21 1/6] tools/{lib,}xl: fix usage of error return
 from json_tokener_parse_verbose()
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: oleksii.kurochko@gmail.com, Anthony PERARD <anthony.perard@vates.tech>,
 Juergen Gross <jgross@suse.com>
References: <20251015134043.72316-1-roger.pau@citrix.com>
 <20251015134043.72316-2-roger.pau@citrix.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20251015134043.72316-2-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 15/10/2025 2:40 pm, Roger Pau Monne wrote:
> diff --git a/tools/libs/light/libxl_json.c b/tools/libs/light/libxl_json.c
> index c76ae9f64a9d..a9e06b06932d 100644
> --- a/tools/libs/light/libxl_json.c
> +++ b/tools/libs/light/libxl_json.c
> @@ -1366,11 +1366,13 @@ libxl__json_object *libxl__json_parse(libxl__gc *gc, const char *s)
>      libxl__json_object *o = NULL;
>  #ifdef USE_LIBJSONC_PARSER
>      json_object *jso;
> -    enum json_tokener_error error;
> +    enum json_tokener_error error = json_tokener_success;

Looking at the options available, I'd suggest initialising to:

Â Â Â  json_tokener_error_parse_unexpected

and dropping the rest of the hunk.Â  I wouldn't assume that success
cannot be passed here.

~Andrew

>  
>      jso = json_tokener_parse_verbose(s, &error);
>      if (!jso) {
> -        LOG(ERROR, "json-c parse error: %s", json_tokener_error_desc(error));
> +        LOG(ERROR, "json-c parse error: %s",
> +            error != json_tokener_success ? json_tokener_error_desc(error)
> +                                          : "unspecified error");
>          goto out;
>      }
>  #endif



From xen-devel-bounces@lists.xenproject.org Wed Oct 15 14:25:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 14:25:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143713.1477350 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v92RF-00033K-AB; Wed, 15 Oct 2025 14:25:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143713.1477350; Wed, 15 Oct 2025 14:25:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v92RF-00033D-73; Wed, 15 Oct 2025 14:25:13 +0000
Received: by outflank-mailman (input) for mailman id 1143713;
 Wed, 15 Oct 2025 14:25:12 +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
 <SRS0=pY79=4Y=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v92RE-000337-1A
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 14:25:12 +0000
Received: from MW6PR02CU001.outbound.protection.outlook.com
 (mail-westus2azlp170120002.outbound.protection.outlook.com
 [2a01:111:f403:c007::2])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c1b8552d-a9d2-11f0-9d15-b5c5bf9af7f9;
 Wed, 15 Oct 2025 16:25:10 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by DS0PR03MB7226.namprd03.prod.outlook.com (2603:10b6:8:124::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.13; Wed, 15 Oct
 2025 14:25:05 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9228.009; Wed, 15 Oct 2025
 14:25:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c1b8552d-a9d2-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=j+bvFwyUTLo0ozW8jIWEsi8INhMJ0gfg5dTjkp4zhcN0n2Z+MxrspaOQsIHYxD4N8zIv4Za3/3UgIwiRpa6bKcqSWoCa7CfSrI6tfSHGMlB0cE0R3Wkx96efzTOQtY4MgKg9tcPL7YrKIxmE57JHHjW6M46iJR4mqw/HQ0X3+8tOUkopQcndqxzZ66AOt7u3K3pdJXfqLuuCwd0Ejexei6ysAP9AD7eZDuCPM3nNFDeVTgILqDmV/9/KogL9vIGbGIoYliUKWFw3rW6FsBOF9VmRnLMiDMsw0mkpwG2WVoz+gzhRPNVtxhDq0zW4WFr6pPXMiF7B35hTfzQW8wIebg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3QImsDN2wK5fEuya1HulGCy+SFNNLC+96ZR78mu8jqk=;
 b=KmXXlacJRBEKJRO4CuYJ6R6zl25n15bBWT5fs8XsRQyf4oH4Fe7WVLDeyU+Zt1PPdRm5g+zfyCpSYWZCOHIeUTdYDT17sxnQxP7uH0vOnS1GslLbnyyOJ44lkHYWBGezfYjR8x9BLQ2BIda/dL5fmV6cnSTnOSdl6Cayw13AcjmsqrNKFG2+cEEPvq5hY7p9aGuUDSz6zJMpH0o94IBGO0ToxwUdV95sFqGT+JhJyigvjAd/XKxygtd3WBRyVnaIhM0XBxeLi3z71QZ1XJJfoioqfDJuj3E5FMqg+3/JSa5eyTQcTiE+0SFWZZOIxPKf6G7VpKTnR2AMSnEXS7wUwg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3QImsDN2wK5fEuya1HulGCy+SFNNLC+96ZR78mu8jqk=;
 b=DNqbSTmcg0yTNKwv7rGiDUYQoQz0zUW5o/2SvUui4PsfYPMaLDueZwDm1+CZk065lOFQw5Yumhr5aq9XkINmjVOman1lkTpIz30qk4kR8sRlL84sAxOhsDT8jJQdoEl3w4qSxgmmLcTquPk58jZc7bM8nAP3Lejp37QrfVdR+Oc=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 15 Oct 2025 16:25:01 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org, oleksii.kurochko@gmail.com,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH for-4.21 1/6] tools/{lib,}xl: fix usage of error return
 from json_tokener_parse_verbose()
Message-ID: <aO-uvRMvSsz7w9Qw@Mac.lan>
References: <20251015134043.72316-1-roger.pau@citrix.com>
 <20251015134043.72316-2-roger.pau@citrix.com>
 <096f8bea-f8aa-46cb-9d05-2d222d517fad@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <096f8bea-f8aa-46cb-9d05-2d222d517fad@citrix.com>
X-ClientProxiedBy: MA2P292CA0002.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:1::18) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|DS0PR03MB7226:EE_
X-MS-Office365-Filtering-Correlation-Id: 973be1a6-96ed-4071-5487-08de0bf6a29d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|366016;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?M0dERFNEcDRyYUFHK00zSW4wSjBVeEdPWk9lc2lvdElJZUJ1TnlUdVpwcUFI?=
 =?utf-8?B?Zi92cFFBVkRLSlQ5d3hnOUlFNDAzU21EcVE0SDZEWWw1bEl6cEFieU9nU2xU?=
 =?utf-8?B?Ykl0YUxFc0dDNHJ2OHV2SE9teEsyZHp6bE91UHMzUG1Sd3JlaUlCeFQ1c2Nz?=
 =?utf-8?B?ZHhhaWQ4RkRIbjBVaXQ0VWxNdGxZb05SdmJlVzl3UGV6UmNaY1NiVHRXQWZV?=
 =?utf-8?B?bk01WnRlTUMzNmNnbVRtRzc2R3I5ZTdxR2JZbXlWQzR4UDVDQzRXTW44anBL?=
 =?utf-8?B?M1FDZjl5ZXVJb2RhOFU2bzkwTnFjNUw0QTdLaGJoeFg0NzNvY1ZoalgzcHhi?=
 =?utf-8?B?TVEvSkhnaFQyaGszSjlpQ05WYlljREUxU25FQ0Y5S1M1OWo4OGZuQlJTRWpU?=
 =?utf-8?B?NFN3WkVWVUVZM1pyaFJrRXpRcm5WYThwdk9hckkyaU1rejgzUHZuODlFMGkv?=
 =?utf-8?B?WXowQjVHdWdKZjhUNWMvU09tOEhDeEFyRzRGYXcvdmpldGxvZ2g1ZFY1dUtK?=
 =?utf-8?B?dC9Sd2hDY3k0aUdTeTdPMmNteS9XWkNkVDZZNWp4MjdFNlR6ZTZqR0cwK0Jn?=
 =?utf-8?B?RnpKNHdJWFBld0p1N09kanJmUXQ2ZmxwOEJCYlNrM1FaQ3M0bnp3eCtUeWJn?=
 =?utf-8?B?UlI0K3hlQ0VmM0I5a1RteExHVWp6UEdreVZkemcyMU9JS3Z2QmVSZG0xbEFI?=
 =?utf-8?B?bmsyeG01TW1MOVJRMmN2aDRCZG95RS95TWVlbC9nSkxMVWI3TXI0NHBNMUdv?=
 =?utf-8?B?S3grNG1iUUVvd1NnZ05zTkR3STdpUE56VGxyMjZ1czhRZ3NXbDhJM2JXOG9a?=
 =?utf-8?B?ZExXSFBpYklLR1RUazZ2Q1JtemtTaFVkQ0Y1Zkt3aG1mbDJKNUROWGNvZFBo?=
 =?utf-8?B?WlhIc2JIWTJVV2dxZU1ZNmwwOGg0dzBaU1lTVTNjd3laNVV3NjlHK0tUc3Fr?=
 =?utf-8?B?Skdpc1BGR3pLdFF3UWR3bEUvRW9lLytVa0lDbHNQaXFlVlM2QmtuSDJrZnNM?=
 =?utf-8?B?NEpNdERTOGJ0TEtmd21rOENJYVRpdUJtY2FUellodzk4ZWIwV1lTeStLdUJ3?=
 =?utf-8?B?anM2Q2ZLMjZhbUJTRG9xN2xFUkZrbnFnMzdQV1B4VmFWakFYOCt0SENicWwv?=
 =?utf-8?B?ZHRmM1NDd2VJL3pVbTN5cUxUS0o3TTVyQTAwRlNmUWlPc1FFMnpYcjN2Qm5Z?=
 =?utf-8?B?SEFYS2JJdWhXZHpUZnNzdGlkL1U1MnpVa2t3dlBBQ3p1bVVKTWhXbUdnaUxZ?=
 =?utf-8?B?WEp2R3ZxNjlvWFFJZWR3WEtjdGFuVnVKeDk2WHNlM0RXcUhzczBDK3VTVjVk?=
 =?utf-8?B?TGpuNnpmdEpXSVhlaGw1UzF0Ui9kZ0NhZnl1UURvdnFuVkhxL2FFNDlTQVVi?=
 =?utf-8?B?ZklrVWh5UnJldGtoaUhmT3o1RWFJNERMVXZYSUt1dm5GaUdVNVpBd0U5VS81?=
 =?utf-8?B?dFYwbmx6YUU1bksyYmt0SmNNMmx0ZUJDakFhelJuZmkvOFRTaG15UldpY1Ex?=
 =?utf-8?B?M3B0ZVhNSFd2L3hYMkREUWpFU0FxeEVBVjhzakZlL21naEdmSmVsWlJRbTRW?=
 =?utf-8?B?UlRaazlpT2N3TThmTGxJRUlmbi83YzFRTUJzZGRiWm9Cakc4Z212c0RCT0w3?=
 =?utf-8?B?UzFDS29Ya3dYWW1kNXhuMUYrT3N1ZWlqYjJERWc1Y3hMTHVMclRMbFhKejhI?=
 =?utf-8?B?TW1GUlNmVEw1bnZKK0J2TGlSdjBjSmYwTGljLzRSdTdSQnFnbitmK1VJa2Ir?=
 =?utf-8?B?blF6b2xhYmpHcU5Mc1A4TlI1ZmQ0c1c3WS9yY2RaVVk3VTIxWHR2emtKRXkv?=
 =?utf-8?B?LzhCbUVkM1RMeHpWeGE1a3NwSG9YajFTTE93SlZNeEdRM0pDNmdQMk02S2or?=
 =?utf-8?B?TUNVNURwVHlZWHNHeFo3ZWtIUWRzS0ZrTWtUYnF5QUpMZjZ3T1BhN1d3ejBE?=
 =?utf-8?Q?2hxVvnw1Vzly+daeAsg8JakSfYnI2Pvy?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QUNXRWhpdjJDNUl6bGJZbGJId3RBTnJoWFR4K20yWU5VNGRhTzh6cHdQc21Q?=
 =?utf-8?B?M1ZzbGdpT1NjVS9ENzZlUFppQ3JQc3lMNUFQdUxwUmZRcC8wck9UcG1NWFBu?=
 =?utf-8?B?dDN0SnRwUGdIQ2ZLNGJyNkdaK0xydmIxaWJCYjJFWjluMHhXTGZVekV4dm9M?=
 =?utf-8?B?MTNYZGJIK3pHT2FQYmVDRHgxdVNScDdjV0RacjU1Zzd2VFBTM0JnUHFDN3Nx?=
 =?utf-8?B?L1podGVqNUFYV2x3NmhrbDJiTnhsT2sxZk1xMG53bDJZL09pNGUzek94V1Vy?=
 =?utf-8?B?MC9XRW1PeUYxRWM4NU1YUXJMOUYraXVJM2c3SldvMGJYSGJ1czZnTkZ0K0NJ?=
 =?utf-8?B?RjdRYjlSNUhyRUZMUm9oQytUMmRyc3ExeXk2Q1JTMVlRVWxDc3VSR0JMd2JP?=
 =?utf-8?B?OWkrcDV5V1Eyb3RteHlPRktmdGRjWjhMd3d2REV3RXZyRkdHZUNNbDdnT21j?=
 =?utf-8?B?eFVqcWVQVnBEcGRzcDdzMDAvamp5TGZSUm1qc3N0R2tQOTVIbE9DcjhaWksy?=
 =?utf-8?B?eDlYekorTExTUDh5Yk4yK1NIQzV3d2twbnM0d2dUNlBkbVlEZjBBMmFUZDla?=
 =?utf-8?B?RTcrR3FuZTNyYTVkV0RFbUE2UVVCZTVNNmlNem1YQkFRbzhrZEpkUi9SbFpK?=
 =?utf-8?B?NllMcHN4VzB5aHJIanRZbnh2aC9KaW5wUnFiZmJweWhLY0NsNDdJUHNKeXF4?=
 =?utf-8?B?Z21lb2cva0NpbWNCUlVaRmxjMDRSdTB5QVZsbi80aHBaZm5CSzNTdkJURVlh?=
 =?utf-8?B?VlgwV3hNZ3NtSy9ybDdRK0g5YnQ2UTJ2QU9IbmRxOVlUZm9VQks4SlhNS0l1?=
 =?utf-8?B?RitsQlVMbUlqWVRjUVRQR0RBQWhDWlVnWVRwTzJlMkVYSVo4ODhrcDhWWTgy?=
 =?utf-8?B?b0VWSVE1UnZ0R1paMFJreDFnWitTQVRYbUI3VHYxZDl4UzJOQ21teXpVRFht?=
 =?utf-8?B?Y1oyQ3VGaUx3dVlWNmVtblBDQWNtZE4zQTNuVDBWanUwVnd0Z28xdUVqclAx?=
 =?utf-8?B?SmNpNWdxMUEwaEJWQkFpRzVJTnE1dE1TSjdUWVhKTmtxVm1DckVab2JIM2dW?=
 =?utf-8?B?UlFBd3dsOUtoT0wvRzdOdm8wTWlpSjRCbSsvUmxYM0xaOVloU25LTDJkdHFU?=
 =?utf-8?B?NUR4b21WRUZtYkEyU1RFVVAxaU83UDJCaDBpV1N3bFNOanl2bzJkSHl5Ujdq?=
 =?utf-8?B?anVzMjg2RkJlTC9EQU5jOWNWUjA5VmU1bWNROXd0U0ljVEpDVjJzeGpwU3BZ?=
 =?utf-8?B?QWlQVmExSzJwN1RESHVsSVBlSVRCcXZVZnJDbWhDZnQ4bUNVS0ZuUE5oVldT?=
 =?utf-8?B?UEV2TXJIb3hnN3h1VHM0eWlRNzE5UmdyT0pBVTZ4UWRWMkFQaDFxWHNnMzBX?=
 =?utf-8?B?a01YRnZRcW1sWjBWZlp6aEFKUXFTTCtWQ2E4ZDkvMGdZSEFxQ3lmaWNibTVw?=
 =?utf-8?B?Wkk2YVZ5ekZKSDU4aG0zTDFiWk5Mb0xHN1Y3aHVOZ09WcGZTdG1taStBd1U2?=
 =?utf-8?B?SUdHQmVvUlJYM3ZSS1F3QVpWZ2FzdzBJUjQrbXdVWDl4TFVTQUxlYjlsYlRR?=
 =?utf-8?B?ZURmY0J5LzN5dGtDeFA2T1RweFh6N09SSkZRekRHQlhhVHpwelIwY2dmT0dy?=
 =?utf-8?B?dTFENHZoUFdQMmsvVFhlUUc4U1ZBbVBGMXVHdkRRbTdQNWdkMHFRbW5RYzJZ?=
 =?utf-8?B?Z21ubnlVVDIzSGJLUElFVTg4V3k1cFJYYnd1QXBQZGM1ZTRyaUFFbURwMVZ6?=
 =?utf-8?B?ZHdsVnJITVBxaDNqTWRxK2xwUWYvWnpIV0h2akZhc3ErNEZIMStqbXFNT0xi?=
 =?utf-8?B?dDFuWUtqK0NVSk9PTUQvRUlMVE0wZ1VPU00wTUxlWExpN3ZCUWRSZEpJZU1R?=
 =?utf-8?B?VkM0ODB2R1h2OXY5anFJN2NMS2NyazNwcnpOR1hsdWJBbSsrcUNHbzlYaUpB?=
 =?utf-8?B?NTd5Tm05MjR6NDhWOHdaQUlxb3E2QkFuZnVaUzZJSVRNVVdFbEZKRXhEM1RL?=
 =?utf-8?B?ODJTY052VWhMQm1SdGZkUVBpR3F0L0VweVlQbGtVeitXWkxnSitYZ2hwRW5E?=
 =?utf-8?B?R1BGa2djVXIwUlBRdHdIMmdUT0RzbmxibDdGZ0IzUWwwaCt1eXR2ZmQ2azR3?=
 =?utf-8?Q?qTdBhGesg+Y/M1tDotLX1+BGs?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 973be1a6-96ed-4071-5487-08de0bf6a29d
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Oct 2025 14:25:05.4047
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: CNitxEpEtLlNxp9+KvG0Kw0DlxpYiLx6m6x8eo/IBZdtZLAjChJSVz7fpMtWCT7FA5078PkNHRqnbPP1WwAYPg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR03MB7226

On Wed, Oct 15, 2025 at 02:59:25PM +0100, Andrew Cooper wrote:
> On 15/10/2025 2:40 pm, Roger Pau Monne wrote:
> > diff --git a/tools/libs/light/libxl_json.c b/tools/libs/light/libxl_json.c
> > index c76ae9f64a9d..a9e06b06932d 100644
> > --- a/tools/libs/light/libxl_json.c
> > +++ b/tools/libs/light/libxl_json.c
> > @@ -1366,11 +1366,13 @@ libxl__json_object *libxl__json_parse(libxl__gc *gc, const char *s)
> >      libxl__json_object *o = NULL;
> >  #ifdef USE_LIBJSONC_PARSER
> >      json_object *jso;
> > -    enum json_tokener_error error;
> > +    enum json_tokener_error error = json_tokener_success;
> 
> Looking at the options available, I'd suggest initialising to:
> 
> Â Â Â  json_tokener_error_parse_unexpected
> 
> and dropping the rest of the hunk.Â  I wouldn't assume that success
> cannot be passed here.

That error code translates to "unexpected character", which I didn't
think was very accurate here.  I didn't find any good error code to
map here, hence why I went with this kind of weird solution.

I don't mind using json_tokener_error_parse_unexpected, just
mentioning why I didn't use it in the first place.  Anthony, what's
your opinion?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Oct 15 14:46:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 14:46:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143723.1477359 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v92lP-00062g-N7; Wed, 15 Oct 2025 14:46:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143723.1477359; Wed, 15 Oct 2025 14:46:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v92lP-00062Z-K2; Wed, 15 Oct 2025 14:46:03 +0000
Received: by outflank-mailman (input) for mailman id 1143723;
 Wed, 15 Oct 2025 14:46:02 +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
 <SRS0=T6Sp=4Y=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1v92lO-00062T-Kx
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 14:46:02 +0000
Received: from mail-ej1-x635.google.com (mail-ej1-x635.google.com
 [2a00:1450:4864:20::635])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id aaf35c60-a9d5-11f0-9d15-b5c5bf9af7f9;
 Wed, 15 Oct 2025 16:46:01 +0200 (CEST)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-b5c18993b73so293247366b.0
 for <xen-devel@lists.xenproject.org>; Wed, 15 Oct 2025 07:46:01 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-146-38.play-internet.pl.
 [109.243.146.38]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-b5ccd1b0287sm243766666b.62.2025.10.15.07.45.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 15 Oct 2025 07:45:59 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aaf35c60-a9d5-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760539560; x=1761144360; darn=lists.xenproject.org;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ZKs9itulzQQ+jNbelCLQuIxW9DWyqT3F86f0Qi/uvBk=;
        b=hDBFWgK20TK7CAJelj41Yk7SfQujw735j6S31BgAfXN4D5x4kEHo1a2aT1fqbXuRRr
         xPZ/PEKtYyQueCnT7nclIJ2L9nR1DIQx1F7CWrd9ILntPBuDNAtD9djO8xNGbzI5JDrV
         O50QF1wycQv/bo7P2gZRZdI5yc/4D9TkZgoON2ivp2ldeCYBCWtEFC6EAAsYS803915b
         EEUy6xqCGzfY4xqmn5mkgBktszp/xVad52VXcdeDjTb7wfmBcykoQikdktqtbkia2RrI
         6v7w0BIKwIcohAqpbz+j0i5uTjBgZt+X6hMiilytNztgwTLE+6fJZHVInuvM/C2Ci8ly
         jceg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760539560; x=1761144360;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=ZKs9itulzQQ+jNbelCLQuIxW9DWyqT3F86f0Qi/uvBk=;
        b=rBuEZfKdQOlpNPZKXjtpnSiPARV8zHlyrsgYhZiynVWaBoJ/5gPcnG50HYpqN+Hm7b
         ibiFK0nnmEYv72q39gB/vwqxJTb+ouML1LeLC4+YSL/JGldkslzNw4kVez3nTx3Ow4H7
         bkxxtuV+GdMeG5Th9w7uWCuKSZW5yq3GUAqDpmHmSJWFAe5LCv2roH0ZxztMmknqVqAs
         nBvy03LZI84xvQdlBkfn5R/xJl88aAi1jqpPr8e4ehS+HyhRlQ6JlKbtWICzOJaRrWtg
         qtgA1wQpl8BLtgp0lfhGdnpHvvcQv/5PnhnLaQ3igRWrMLtE2CIEE92HK5QUPmUWXGcF
         ThOg==
X-Forwarded-Encrypted: i=1; AJvYcCXYwZRHMEJ2OPSJsD+eqaEl9n52Eei0rD0gYXBMgX4+AaELADwuhaifHb7bTQub+/BoPZQk2xKFVG4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YymH1SiHeWOlTbjE3sdc+8BEEdCvBASoOftURRuwtd7H3O6WNBX
	lEbl1wbV59SKH01Fbz/AK5ASJBw2bG/ov6aGx/29ZGhnxS9ufzVnXM9v
X-Gm-Gg: ASbGncsphkZE7t6bmmZ1SIeKrzMoMvl8RIp8rMSRTbXfko6E8QlEitebppAI2SK0rsn
	0bRjXKAb+9tinRZIMq0JVT4+h58x8kfX3nwks9MXciTVLcGeYiKKvyYlnV6okPFGBtlIjp5ilgk
	zcgsExMxdJUcstvLf8MyltTBESG8I502yMtWFhxTBmnB13cPn9Lf04Y9QPETa6G2Uqm3WmZ31Ch
	jod38KKRMRY9pPhIe+sx0QoOgLzKDqTUZkTQVChx2ZTI1T/JxmOasREoKi2PLQh1xWlda66Z/Cr
	PctK70OytuKQdMcp/qghRYhgtvK2qh/y+Vm0kMnp44Xn8kS7vM2X4qj16+HXj5zwZt+N/AWovPt
	5mWZV4lD9Z0fayAZ2DuVL6WoniROaJ2W7fcEJgXOl191idYRD6B1ZYP17SXDqtMnXsIGBHCPSsL
	APFJRYZVrQ6+msUfrlxZGC6zG3cORayM4K
X-Google-Smtp-Source: AGHT+IEkPBiCv32zZoT4kaiPzP0pgTvxtZwvWcDInRLb6+3HdJW5CcbetL8Gm2QiZphXDNKbtuHASw==
X-Received: by 2002:a17:907:7f21:b0:b60:18d5:429a with SMTP id a640c23a62f3a-b6018d54f6bmr140152066b.22.1760539560161;
        Wed, 15 Oct 2025 07:46:00 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------1r4Qo87DkbuaKK5doL0P01vW"
Message-ID: <1689c6cb-da7a-4dbf-b23c-3ce85c22e303@gmail.com>
Date: Wed, 15 Oct 2025 16:45:59 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/boot: Fix edd=off to skip mbr
To: Jason Andryuk <jason.andryuk@amd.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <20251013211139.8750-1-jason.andryuk@amd.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20251013211139.8750-1-jason.andryuk@amd.com>

This is a multi-part message in MIME format.
--------------1r4Qo87DkbuaKK5doL0P01vW
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit


On 10/13/25 11:11 PM, Jason Andryuk wrote:
> When the fixes commit re-arranged the code, it made edd=off jump to the
> mbr code instead of returning from the function.  Previously edd_done
> was immediately before ret and skipped the MBR check.
>
> Replace edd_done with .Ledd_mbr_sig for the start of the MBR checking,
> and replace .Ledd_mbr_sig_skip with .Ledd_done to exit from the function.
>
> edd=off jumps to .Ledd_done to return from the function, and internal
> jumps go to .Ledd_mbr_sig to check edd=skipmbr.
>
> Fixes: 5ec164fd61bd ("x86/boot: re-arrange how/when we do disk I/O")
> Signed-off-by: Jason Andryuk<jason.andryuk@amd.com>

Release-Acked-By: Oleksii Kurochko<oleksii.kurochko@gmail.com>

Thanks.

~ Oleksii

> ---
>   xen/arch/x86/boot/edd.S | 12 ++++++------
>   1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/xen/arch/x86/boot/edd.S b/xen/arch/x86/boot/edd.S
> index 3df712bce1..02437511b2 100644
> --- a/xen/arch/x86/boot/edd.S
> +++ b/xen/arch/x86/boot/edd.S
> @@ -25,7 +25,7 @@
>   
>   get_edd:
>           cmpb    $2, bootsym(opt_edd)            # edd=off ?
> -        je      edd_done
> +        je      .Ledd_done
>   
>   # Do the BIOS Enhanced Disk Drive calls
>   # This consists of two calls:
> @@ -48,7 +48,7 @@ edd_check_ext:
>           movb    $0x41, %ah                      # 0x41 Check Extensions Present
>           movw    $0x55AA, %bx                    # magic
>           int     $0x13                           # make the call
> -        jc      edd_done                        # no more BIOS devices
> +        jc      .Ledd_mbr_sig                   # no more BIOS devices
>   
>           cmpw    $0xAA55, %bx                    # is magic right?
>           jne     edd_next                        # nope, next...
> @@ -96,13 +96,13 @@ edd_legacy_done:
>   
>   edd_next:
>           incb    %dl                             # increment to next device
> -        jz      edd_done
> +        jz      .Ledd_mbr_sig
>           cmpb    $EDD_INFO_MAX,bootsym(boot_edd_info_nr)
>           jb      edd_check_ext
>   
> -edd_done:
> +.Ledd_mbr_sig:
>           cmpb    $1, bootsym(opt_edd)            # edd=skipmbr ?
> -        je      .Ledd_mbr_sig_skip
> +        je      .Ledd_done
>   
>   # Read the first sector of each BIOS disk device and store the 4-byte signature
>   .Ledd_mbr_sig_start:
> @@ -160,7 +160,7 @@ edd_done:
>           jb      .Ledd_mbr_sig_read
>   .Ledd_mbr_sig_done:
>           popw    %es
> -.Ledd_mbr_sig_skip:
> +.Ledd_done:
>           ret
>   
>   GLOBAL(boot_edd_info_nr)
--------------1r4Qo87DkbuaKK5doL0P01vW
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 10/13/25 11:11 PM, Jason Andryuk
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:20251013211139.8750-1-jason.andryuk@amd.com">
      <pre wrap="" class="moz-quote-pre">When the fixes commit re-arranged the code, it made edd=off jump to the
mbr code instead of returning from the function.  Previously edd_done
was immediately before ret and skipped the MBR check.

Replace edd_done with .Ledd_mbr_sig for the start of the MBR checking,
and replace .Ledd_mbr_sig_skip with .Ledd_done to exit from the function.

edd=off jumps to .Ledd_done to return from the function, and internal
jumps go to .Ledd_mbr_sig to check edd=skipmbr.

Fixes: 5ec164fd61bd ("x86/boot: re-arrange how/when we do disk I/O")
Signed-off-by: Jason Andryuk <a class="moz-txt-link-rfc2396E" href="mailto:jason.andryuk@amd.com">&lt;jason.andryuk@amd.com&gt;</a></pre>
    </blockquote>
    <pre>Release-Acked-By: Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a>

Thanks.

~ Oleksii

</pre>
    <blockquote type="cite"
      cite="mid:20251013211139.8750-1-jason.andryuk@amd.com">
      <pre wrap="" class="moz-quote-pre">
---
 xen/arch/x86/boot/edd.S | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/xen/arch/x86/boot/edd.S b/xen/arch/x86/boot/edd.S
index 3df712bce1..02437511b2 100644
--- a/xen/arch/x86/boot/edd.S
+++ b/xen/arch/x86/boot/edd.S
@@ -25,7 +25,7 @@
 
 get_edd:
         cmpb    $2, bootsym(opt_edd)            # edd=off ?
-        je      edd_done
+        je      .Ledd_done
 
 # Do the BIOS Enhanced Disk Drive calls
 # This consists of two calls:
@@ -48,7 +48,7 @@ edd_check_ext:
         movb    $0x41, %ah                      # 0x41 Check Extensions Present
         movw    $0x55AA, %bx                    # magic
         int     $0x13                           # make the call
-        jc      edd_done                        # no more BIOS devices
+        jc      .Ledd_mbr_sig                   # no more BIOS devices
 
         cmpw    $0xAA55, %bx                    # is magic right?
         jne     edd_next                        # nope, next...
@@ -96,13 +96,13 @@ edd_legacy_done:
 
 edd_next:
         incb    %dl                             # increment to next device
-        jz      edd_done
+        jz      .Ledd_mbr_sig
         cmpb    $EDD_INFO_MAX,bootsym(boot_edd_info_nr)
         jb      edd_check_ext
 
-edd_done:
+.Ledd_mbr_sig:
         cmpb    $1, bootsym(opt_edd)            # edd=skipmbr ?
-        je      .Ledd_mbr_sig_skip
+        je      .Ledd_done
 
 # Read the first sector of each BIOS disk device and store the 4-byte signature
 .Ledd_mbr_sig_start:
@@ -160,7 +160,7 @@ edd_done:
         jb      .Ledd_mbr_sig_read
 .Ledd_mbr_sig_done:
         popw    %es
-.Ledd_mbr_sig_skip:
+.Ledd_done:
         ret
 
 GLOBAL(boot_edd_info_nr)
</pre>
    </blockquote>
  </body>
</html>

--------------1r4Qo87DkbuaKK5doL0P01vW--


From xen-devel-bounces@lists.xenproject.org Wed Oct 15 14:59:18 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 14:59:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143735.1477369 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v92y6-0007vt-Qf; Wed, 15 Oct 2025 14:59:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143735.1477369; Wed, 15 Oct 2025 14:59:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v92y6-0007vm-Nz; Wed, 15 Oct 2025 14:59:10 +0000
Received: by outflank-mailman (input) for mailman id 1143735;
 Wed, 15 Oct 2025 14:59:09 +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
 <SRS0=T6Sp=4Y=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1v92y5-0007vg-70
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 14:59:09 +0000
Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com
 [2a00:1450:4864:20::629])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 801b322f-a9d7-11f0-9d15-b5c5bf9af7f9;
 Wed, 15 Oct 2025 16:59:08 +0200 (CEST)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-b48d8deafaeso1379064466b.1
 for <xen-devel@lists.xenproject.org>; Wed, 15 Oct 2025 07:59:08 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-146-38.play-internet.pl.
 [109.243.146.38]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-b5ccd6b5d95sm249495166b.78.2025.10.15.07.59.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 15 Oct 2025 07:59:06 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 801b322f-a9d7-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760540348; x=1761145148; darn=lists.xenproject.org;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=jUYSTapuNCgSw3RTasCuB+llFgivMMdxUG13lXmGOj0=;
        b=ZAKihMC89MwyPPUxkq0aDs1W3DXLVbFyCwgHUQQNdRP65uAEEowiNozU90xnocFfDY
         cFRiSlusVh3Wzrg4zB/E7uPYm5es99wXG2dN1U71uIgvXBhkK/801bxoaJyCv9rPx3TM
         EWZHtxis0c6XQBuYV4mdgRWuW3+Msm8gTjZv9oT5g/dF3dXqA2U9JuK2s+EXcb56jSm+
         sTPRxxz9nz8IXWcpm/PPdwfe8Re2oGPTHa7DGUZRppmyF/9pEfaNsjdU+RPF6y3uNtMj
         /GMFVoz+Rd87wi5UG86bIf25yy7Nt0bLfDXkBi6nO5ThdHKxO1KiYPUk0ZYzkffQSl+W
         kZfw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760540348; x=1761145148;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=jUYSTapuNCgSw3RTasCuB+llFgivMMdxUG13lXmGOj0=;
        b=uh+SOmtElkrqC92G8X421EH2c0VjrtfBccUDN53JHoTjQivnbtk7R2J5qkkHulvRkd
         0HzwKV7K7/08IWlSwUILqB74P96TBfMnwQ4kPqk2VbmsnEQsJqLjfTzKLUU3mZxqsx9L
         a7Vexr+H9XeWY9qMDrmWMjo1BbFQ7xQ80l8hOM+m19Lzsq4ep+BlWVvYR3XtvLqhQN9C
         5gi6TwVugGEhS0inuN5dMJppy2aTcRNSykrcZ0iaOK199vwIXeeFEL7Svn2TUrsBA03F
         mMPeg8A1khwQZ3+AuORmA7DGFlCq0/F+DqA+Al4QdYbv7tdlaM88/2d96XQeS7RhOrxH
         DkUA==
X-Forwarded-Encrypted: i=1; AJvYcCUKZcYlma4jJfkLlj1ZCAzG5i0VEiEat4QrarvN+I4YAEs1HEOLgWaaMmCH4N/C/L76WCgF3+hAIRg=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx+HVbFCIlXsjnIS/Pz9kR/jcxfzVY+WDBtsV0w6SORo7UZM1Og
	eLacjPIJkL+V2Ftn5XtRmXMbtzP5DnJPFyibHJcwbXAqvWv+0DdANaV0
X-Gm-Gg: ASbGncuB/vrFkU3Mw9HVZnVQcaokdp5jb2qjNVKjExlJki1+HCgloxmcuAn1Na0aX9R
	oWsL4J4Nyj0j618xJbVgzH7AkTAHHeGXEqw98368/qSx/k8vwCgaTlPfkmBZqpk7h5sLGenk/JI
	XRBOwUENzKFPz4HOCW5DzcAipxkcG0uHVoHwjmQBU8yQIP8aIF5SThNMozOi0GU5vRD8lG2hSfa
	fsJXysa/9Kl7u70YXSIGoElxvZtTx5xuyS8SFR1/a+wIvcY3Kg0VX3Q5VBX8JXKzjByMWv/WH+3
	dk3ZJS62I7RXNS3bAORglSDEbdPPISUgANW4nLRCU4B/yFgiODPDwu7M1xCE1Sfs/itfWbH6Br3
	3jG2yMZXCjBfD75Rb0DbM7EUzgXT5CiGOxDzVxhE89GnBThZGI1sepeTbNGLSYmyZYiMV0DvxHt
	ceTCUj/8UMJUmVb5PMuQKfqaCrJYKX80iJ
X-Google-Smtp-Source: AGHT+IFNXUmtKelnFmx2Pf8n5luOV5xdBwC3q6TeK4dkdxKwhM+1qKsj7AbnwaNjoPjs7kScrvn4dw==
X-Received: by 2002:a17:906:6a17:b0:b3c:896:abdc with SMTP id a640c23a62f3a-b50acb13252mr3031709166b.60.1760540347085;
        Wed, 15 Oct 2025 07:59:07 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------z6J3SEyxw8Wu0v7eJg4kl4wj"
Message-ID: <f88fadea-7f92-431d-8672-9c2a854a5354@gmail.com>
Date: Wed, 15 Oct 2025 16:59:06 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21] CHANGELOG.md: mention the introduction of
 configurable altp2m count
To: =?UTF-8?Q?Petr_Bene=C5=A1?= <w1benny@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: Community Manager <community.manager@xenproject.org>,
 Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
References: <35ba6d10b77893edbacbaea872c1ca742c767af5.1760308066.git.w1benny@gmail.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <35ba6d10b77893edbacbaea872c1ca742c767af5.1760308066.git.w1benny@gmail.com>

This is a multi-part message in MIME format.
--------------z6J3SEyxw8Wu0v7eJg4kl4wj
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit


On 10/13/25 12:28 AM, Petr BeneÅ¡ wrote:
> From: Petr BeneÅ¡<w1benny@gmail.com>
>
> Signed-off-by: Petr BeneÅ¡<w1benny@gmail.com>
> ---
>   CHANGELOG.md | 1 +
>   1 file changed, 1 insertion(+)
>
> diff --git a/CHANGELOG.md b/CHANGELOG.md
> index 5c70bc0250..0cf9ad2d95 100644
> --- a/CHANGELOG.md
> +++ b/CHANGELOG.md
> @@ -23,6 +23,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
>      - Allow controlling the MTRR cache attribute of the Xen platform PCI device
>        BAR for HVM guests, to improve performance of guests using it to map the
>        grant table or foreign memory.
> +   - Allow configuring the number of altp2m tables per domain via vm.cfg.
>   
>   ### Added
>    - Introduce new PDX compression algorithm to cope with Intel Sierra Forest and

Looks good to me:
   Acked-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>
   Release-Acked-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>

Thanks.

~ Oleksii

--------------z6J3SEyxw8Wu0v7eJg4kl4wj
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 10/13/25 12:28 AM, Petr BeneÅ¡ wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:35ba6d10b77893edbacbaea872c1ca742c767af5.1760308066.git.w1benny@gmail.com">
      <pre wrap="" class="moz-quote-pre">From: Petr BeneÅ¡ <a class="moz-txt-link-rfc2396E" href="mailto:w1benny@gmail.com">&lt;w1benny@gmail.com&gt;</a>

Signed-off-by: Petr BeneÅ¡ <a class="moz-txt-link-rfc2396E" href="mailto:w1benny@gmail.com">&lt;w1benny@gmail.com&gt;</a>
---
 CHANGELOG.md | 1 +
 1 file changed, 1 insertion(+)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5c70bc0250..0cf9ad2d95 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -23,6 +23,7 @@ The format is based on [Keep a Changelog](<a class="moz-txt-link-freetext" href="https://keepachangelog.com/en/1.0.0/">https://keepachangelog.com/en/1.0.0/</a>)
    - Allow controlling the MTRR cache attribute of the Xen platform PCI device
      BAR for HVM guests, to improve performance of guests using it to map the
      grant table or foreign memory.
+   - Allow configuring the number of altp2m tables per domain via vm.cfg.
 
 ### Added
  - Introduce new PDX compression algorithm to cope with Intel Sierra Forest and
</pre>
    </blockquote>
    <pre>Looks good to me:
  Acked-by: Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a>
  Release-Acked-by: Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a>

Thanks.

~ Oleksii

</pre>
  </body>
</html>

--------------z6J3SEyxw8Wu0v7eJg4kl4wj--


From xen-devel-bounces@lists.xenproject.org Wed Oct 15 15:01:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 15:01:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143749.1477380 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v92zn-00012W-9x; Wed, 15 Oct 2025 15:00:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143749.1477380; Wed, 15 Oct 2025 15:00:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v92zn-00012P-6I; Wed, 15 Oct 2025 15:00:55 +0000
Received: by outflank-mailman (input) for mailman id 1143749;
 Wed, 15 Oct 2025 15:00:53 +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
 <SRS0=T6Sp=4Y=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1v92zl-00012I-K7
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 15:00:53 +0000
Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com
 [2a00:1450:4864:20::536])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bdb74cd3-a9d7-11f0-9d15-b5c5bf9af7f9;
 Wed, 15 Oct 2025 17:00:51 +0200 (CEST)
Received: by mail-ed1-x536.google.com with SMTP id
 4fb4d7f45d1cf-6364eb29e74so11731386a12.0
 for <xen-devel@lists.xenproject.org>; Wed, 15 Oct 2025 08:00:51 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-146-38.play-internet.pl.
 [109.243.146.38]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-63a5c321341sm13601385a12.38.2025.10.15.08.00.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 15 Oct 2025 08:00:49 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bdb74cd3-a9d7-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760540451; x=1761145251; darn=lists.xenproject.org;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=iDxNiN9C6zMQJiM64rzA4327Ac9CQAJJbJktWh1s8fw=;
        b=nN15FwPKPL4ysLpWWkW6+N8nHtkMRR4Fh5xPlCZUsHQEMWKn/NFpwTMm5WwPXwMw2O
         ZKT7K8e80wg6Dk6FTRpDkYMSrFDkM9xmu9tm7qKnsX1YQGN3HFl+KezB7sx1ponDhLgf
         btaRqOI4WgVckStSTPDFZoIaia/5La5nU2J9GQe168DAuFMsdK8Npmf0lyh8J5l7yvuT
         TzkIjOf8G50bs56u+VWEj88NZW0oyJ5fkD+nZe9Slvgwpc8rXm/8HMsDqMezRgRxPhb4
         qnw3Oc9qPynZQrHNNr1ug/UBaWnY28+L7SPB/1FqKiUqdrQfpXmxY4Pj/tKJOR0e3ch0
         HyXQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760540451; x=1761145251;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=iDxNiN9C6zMQJiM64rzA4327Ac9CQAJJbJktWh1s8fw=;
        b=RqN6NFA2dGzwHSDGCGR4lypDiZjgr/GKIXBw7rOGPLGg6lXpzV8OE4BOQuF+uirt5c
         KDKnEIFubgoFokWBjriuFErecZ4bykNlNUAUDahrtsxYWl/FkqBxTXyoYod+Re69OjHI
         7iTqa1bKBnqTtxzGK9SrSwlYYNHL/pevwnE6cGWfSWz86yKyCbG5wGKC9DOYQ+0mBfLK
         2yeoArACwuPir36caC33NZH73Kt1rf3EHaNf+79xqo+I96ONFB3fg/DxdobmJiHy1qM9
         dF6QlxKuM8sMGXHzVE9/UeiUn3WaEME0CtV2arNcDi32K0qrMvnTcgXrOAGr1F66yLnO
         Krcg==
X-Forwarded-Encrypted: i=1; AJvYcCVXYnb2lOiPW89O4W3yqmVQUh79hGqCCmrWzLQekK4V1FN/vOM87ideutnvV4795T8QhHJZPKZboK4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzFdd7TxRHiCfsZ71kq4eFoXOFWYeDBAEzkj3Hp21vyFYjoIsoG
	fajAqKzg4CGotiwjBXtzbyD+GhINhDMJUr0jC1y+1uVTlqX4rUUMeuaf
X-Gm-Gg: ASbGnct3kkjUfEs/wzKlq8OZ2z2PCex6dRBc7lFHTtii3ZlwXHxc7hpvxdq5krSatl8
	5Jc86Qz7PqhuGQBFmVkSx4sC9Y4eDoHZpTM9yNiQwvxQKACiupcBoLHsPiL4KQAZzzNqp2y/fKs
	ANsnihD0LTtdv1dxVBZqRcCntDpKXm0308DySrc16CXQq8BZ6YcmGigJdpwzrolXJtyYtqa8QNH
	wcsKtxnmvbKhxQS19q0Ek0tgxD9IHKvciuza827Gyvke3BW3xTMpXyuhGyUR8uTEMh6v9SEyJd2
	idBd22B3743Ch4yv39vcYZsGhsbNIMn/Gv+3XOPOfW3vi1KOlpajcupRx1cT9DqigBtR+5BROJE
	bzmgf26VdR8/ehgcZHPuanylGDH7SCX0VEuMOO2SggnSTwpYqBUIKSfM7KwXsT61hqrYg2twyqu
	cVz1NE1Zz3IuZWfrJZA+qP9Eqqj5HvRs/S9gvWQNts7aA=
X-Google-Smtp-Source: AGHT+IGebt7xs0k8eqxBzPl7gGCoWPMamUd8BMhTUgGiZO9pyAc9yw3dtibY7k3TUYfNajLnjsRe3w==
X-Received: by 2002:a05:6402:350c:b0:63b:f1aa:11d1 with SMTP id 4fb4d7f45d1cf-63bf1aa1307mr2216994a12.1.1760540449772;
        Wed, 15 Oct 2025 08:00:49 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------jv5wWLH0JcYCyDm3G1uK00M1"
Message-ID: <41791dda-9b95-41f5-a951-c6be3f15ae04@gmail.com>
Date: Wed, 15 Oct 2025 17:00:48 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21 0/6] tools/{lib,}xl: Coverity falllout from the
 json-c switch
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Juergen Gross <jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <20251015134043.72316-1-roger.pau@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20251015134043.72316-1-roger.pau@citrix.com>

This is a multi-part message in MIME format.
--------------jv5wWLH0JcYCyDm3G1uK00M1
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit


On 10/15/25 3:40 PM, Roger Pau Monne wrote:
> Hello,
>
> The following series contains fixes for Coverity reported issues after
> the switch from YAJL to json-c.  Those reports are from the internal
> XenServer Coverity instance, as the project one hasn't been switched to
> use json-c yet, last patch in the series switches thegithub triggered
> Coverity build to use json-c.
>
> All should be considered for 4.21.

Agree, we could consider that to have that in 4.21 as it fixes some minor
problems and isn't too intrusive:
  Release-Acked-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>

Thanks.

~ Oleksii

>
> Thanks, Roger.
>
> Roger Pau Monne (6):
>    tools/{lib,}xl: fix usage of error return from
>      json_tokener_parse_verbose()
>    tools/libxl: avoid freeing stack rubble in
>      libxl__json_object_to_json()
>    tools/xl: check return of json_object_object_add()
>    tools/xl: check return value of printf_info_one_json() in
>      list_domains_details()
>    tools/xl: fix possible uninitialized usage in printf_info()
>    github/coverity: switch to building with json-c instead of yajl
>
>   .github/workflows/coverity.yml |  2 +-
>   tools/libs/light/libxl_json.c  |  8 +++++---
>   tools/xl/xl_info.c             | 22 +++++++++++++++-------
>   3 files changed, 21 insertions(+), 11 deletions(-)
>
--------------jv5wWLH0JcYCyDm3G1uK00M1
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 10/15/25 3:40 PM, Roger Pau Monne
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:20251015134043.72316-1-roger.pau@citrix.com">
      <pre wrap="" class="moz-quote-pre">Hello,

The following series contains fixes for Coverity reported issues after
the switch from YAJL to json-c.  Those reports are from the internal
XenServer Coverity instance, as the project one hasn't been switched to
use json-c yet, last patch in the series switches thegithub triggered
Coverity build to use json-c.

All should be considered for 4.21.</pre>
    </blockquote>
    <pre>Agree, we could consider that to have that in 4.21 as it fixes some minor
problems and isn't too intrusive:
 Release-Acked-by: Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a>

Thanks.

~ Oleksii</pre>
    <blockquote type="cite"
      cite="mid:20251015134043.72316-1-roger.pau@citrix.com">
      <pre wrap="" class="moz-quote-pre">

Thanks, Roger.

Roger Pau Monne (6):
  tools/{lib,}xl: fix usage of error return from
    json_tokener_parse_verbose()
  tools/libxl: avoid freeing stack rubble in
    libxl__json_object_to_json()
  tools/xl: check return of json_object_object_add()
  tools/xl: check return value of printf_info_one_json() in
    list_domains_details()
  tools/xl: fix possible uninitialized usage in printf_info()
  github/coverity: switch to building with json-c instead of yajl

 .github/workflows/coverity.yml |  2 +-
 tools/libs/light/libxl_json.c  |  8 +++++---
 tools/xl/xl_info.c             | 22 +++++++++++++++-------
 3 files changed, 21 insertions(+), 11 deletions(-)

</pre>
    </blockquote>
  </body>
</html>

--------------jv5wWLH0JcYCyDm3G1uK00M1--


From xen-devel-bounces@lists.xenproject.org Wed Oct 15 15:04:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 15:04:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143757.1477391 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v932t-0001bD-PA; Wed, 15 Oct 2025 15:04:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143757.1477391; Wed, 15 Oct 2025 15:04:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v932t-0001b6-K3; Wed, 15 Oct 2025 15:04:07 +0000
Received: by outflank-mailman (input) for mailman id 1143757;
 Wed, 15 Oct 2025 15:04:06 +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
 <SRS0=03Ph=4Y=bounce.vates.tech=bounce-md_30504962.68efb7e2.v1-d058acf954d540e7958c5e7c7323e6f9@srs-se1.protection.inumbo.net>)
 id 1v932r-0001av-UV
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 15:04:05 +0000
Received: from mail186-27.suw21.mandrillapp.com
 (mail186-27.suw21.mandrillapp.com [198.2.186.27])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2fef8e42-a9d8-11f0-980a-7dc792cee155;
 Wed, 15 Oct 2025 17:04:03 +0200 (CEST)
Received: from pmta10.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail186-27.suw21.mandrillapp.com (Mailchimp) with ESMTP id
 4cmvVp200Kz6CPyKw
 for <xen-devel@lists.xenproject.org>; Wed, 15 Oct 2025 15:04:02 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 d058acf954d540e7958c5e7c7323e6f9; Wed, 15 Oct 2025 15:04:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2fef8e42-a9d8-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1760540642; x=1760810642;
	bh=z0ZXZLG35SQT0kdwf7o7cwRcW0KKQp51eFJdNmpLkeE=;
	h=From:Subject:Message-Id:To:Cc:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=yeKdGXbm+6SqsenwWfY2iBQ+qNhVDpyVkngO4vOkRrkhp8I9NMPm/+I6wG/T5V08K
	 T7apAuFF7wwvbd8VHhEep3avM+WTdXN62yFQdOFQ1EQo175b8iPiRXBsCjFrb5f5bR
	 9p/Pi3LmW6H3CyBKwJ0aZcsjtWZCb54tWRHcLCO36zomRQKnZ+97RZMLrLJfzSYp14
	 nLOzGomBh5NgrYcYkfc3H5K0sJGHiQV3nh9gliP6ifrzkzZd+2ZbS5EcfMjn55k2TR
	 AvDLMte3JCWLu3GSB2h++wCbxpRQw1k5p7/Yx8LfhKEwaKdIzd6t/OJez0uSenuocP
	 dKEDHi9bwdRvA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1760540642; x=1760801142; i=yann.sionneau@vates.tech;
	bh=z0ZXZLG35SQT0kdwf7o7cwRcW0KKQp51eFJdNmpLkeE=;
	h=From:Subject:Message-Id:To:Cc:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=bbjCem2L1Gni8VwaXUAsEDKokWXsNAbOWKP45/llKkVNo0qJbSOmSUxJ8VOdl9MF/
	 WgMbr5VzjHb2xISqF0646wqLwgFdmfUnl3238Ycz2FKafdb+lkmG+kPNEG1SStsNFD
	 mda8yGKpla512C8BEqq1vMxEiNF70bw+Mc8v62VYDRpSVRvtSg0txc28C/yElswiTd
	 0rVrEjNj1UD/6+EZXYCVN72DopeyqabqrYPrusXP/gK8a9v5//5Qvd/aid5Cj+pnRq
	 Yt03pgpLZW1V+Hpo0HRTQU26197TpESiLf7B19Ecm8ZHnHwt62ZRm20pLemeCr1FzH
	 3iDKwdA+Ce5jA==
From: "Yann Sionneau" <yann.sionneau@vates.tech>
Subject: =?utf-8?Q?Re:=20[PATCH=20for-4.21=20v2]=20efi:=20Protect=20against=20unnecessary=20image=20unloading?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1760540639479
Message-Id: <a46d7bc6-7c9e-4415-8966-b3eb4b61a800@vates.tech>
To: "Andrew Cooper" <andrew.cooper3@citrix.com>, Xen-devel <xen-devel@lists.xenproject.org>
Cc: "Gerald Elder-Vass" <gerald.elder-vass@cloud.com>, "=?utf-8?Q?Marek=20Marczykowski-G=C3=B3recki?=" <marmarek@invisiblethingslab.com>, "Daniel P . Smith" <dpsmith@apertussolutions.com>, "Oleksii Kurochko" <oleksii.kurochko@gmail.com>
References: <20251014130648.2540082-1-andrew.cooper3@citrix.com>
In-Reply-To: <20251014130648.2540082-1-andrew.cooper3@citrix.com>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.d058acf954d540e7958c5e7c7323e6f9?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20251015:md
Date: Wed, 15 Oct 2025 15:04:02 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

On 10/14/25 15:09, Andrew Cooper wrote:
> From: Gerald Elder-Vass <gerald.elder-vass@cloud.com>
> 
> Commit 59a1d6d3ea1e introduced Shim's LoadImage protocol and unloads the
> image after loading it (for verification purposes) regardless of the
> returned status. The protocol API implies this is the correct behaviour
> but we should add a check to protect against the unlikely case this
> frees any memory in use.
> 
> Signed-off-by: Gerald Elder-Vass <gerald.elder-vass@cloud.com>
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Yann Sionneau <yann.sionneau@vates.tech>


--
Yann Sionneau | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech



From xen-devel-bounces@lists.xenproject.org Wed Oct 15 15:04:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 15:04:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143758.1477400 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9332-0001rl-Tj; Wed, 15 Oct 2025 15:04:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143758.1477400; Wed, 15 Oct 2025 15:04:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9332-0001re-Qs; Wed, 15 Oct 2025 15:04:16 +0000
Received: by outflank-mailman (input) for mailman id 1143758;
 Wed, 15 Oct 2025 15:04:16 +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
 <SRS0=q/G8=4Y=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v9331-0001r5-Vk
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 15:04:15 +0000
Received: from mail-wm1-x334.google.com (mail-wm1-x334.google.com
 [2a00:1450:4864:20::334])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 32c88216-a9d8-11f0-9d15-b5c5bf9af7f9;
 Wed, 15 Oct 2025 17:04:08 +0200 (CEST)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-46e2826d5c6so40994715e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 15 Oct 2025 08:04:08 -0700 (PDT)
Received: from [192.168.1.183] (host-92-22-57-86.as13285.net. [92.22.57.86])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-426fb279857sm1066562f8f.20.2025.10.15.08.04.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 15 Oct 2025 08:04:06 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 32c88216-a9d8-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1760540647; x=1761145447; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=jXWEmbODTr4r343Fu+N0MFEuT483ARvIEQ5JP/0jvsg=;
        b=e0Axbct5+EoDZqAQG3BBTxKH0KyeGDkcIMN7nSLb0IQnW+W0lBsS4COENVmzlhBgmP
         2F6dcY0L3ur4X0f0+lByAFmazD+xo+nJAxlsXgDgehpWQsmc44SI9PECOq0CJKbB8W3R
         OgbX0xb2Iu5pKUCYptovdfBVHAdnUAlzsv3yI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760540647; x=1761145447;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=jXWEmbODTr4r343Fu+N0MFEuT483ARvIEQ5JP/0jvsg=;
        b=eSipBIvQUfmUifnsK96b6fY00vDkYiijLZtkvxtZUoLaxdJ7hHgI6IUF2r/NMIEKFq
         VyIjd5atoWJkqaRgoyF1Ba3XkWXaai9xNWXTSC2siu0IasNRcu5J57e8PKXQmiS9R4Dl
         wwLUUe/4QbgRvnRIO/KxJC4eYO8OZPSJGtnvXHc4nQZYCh0tUpThmVEvJAa6Z5OgArQm
         fsNHTesiHNgLIqtUVI8xkr+2DtwdFZDRvDxg53+ekKF1IrDSrOYfNTNcFidioSVn5cgV
         oiIlSXTF+zBNgBgu3Ch/QVfWV3bmqqLog93VZbgNCEe6HzjTXUoNxCMO1n4WIymyWYHW
         YN8Q==
X-Forwarded-Encrypted: i=1; AJvYcCXxdpYmBjRqCjBj8J3KsLljwFSRNwES504z+FlVyF/I7hKNlFevo5+E6wmSFm05prC+gH4c4MGvaMU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyYzTeOFE4Cz+Bb/vSkopnY09y/VfQRXE3N5WiWkXcDksThEFeB
	iyv3NU4MXRyaRC8+7jnJbKmEqPunXS1yzqsYPjVl1mJTvlqcVyOK68ncs5XKRRnHxnk=
X-Gm-Gg: ASbGncvIJEHqFLcWxqZFioxvMZ01PnELuBdgirg6R8XhrdyIvylFHxlT6Y5Z00hkpgE
	1EGNK4a5u4OWVEYVxLshKr4wC9scD3cwyxatBlW/Orze0HklEs2I2j/ZxjvCWA2xNJBflrGWoil
	fua9DJOS2MHTDL5bap++YFMt3D2qsUzOPQubI1WvjE9htouONVafCq7oWpAyrA95ar1O0CsqNox
	RIbHVLcxyiofordK2uoUdfIuZX/tiZ3tvUafADb+8Bff4Pmjp++CO2F66RExAUo7EetFWZ6JuLg
	FFy0/7FwsJjqKJjrfJqUTq40gNT1P+s9xLGJCgOAGDT7hJBJ/XNySKCq9xpOij+Mm15JrQgyvXu
	fIjTEA66RKXBHVJMsx9cUwlFBtpClEczzyoGluDiacSaMVTeoIwX7uM3q+LyVvf70FrogCd4knr
	3DMVY+6HnYvbfCyY/s0ZEDcttn
X-Google-Smtp-Source: AGHT+IE/BKrfW5oJmA3/UlWQSRQon3yQi4aoShw6eKhakD36kT1np256sxKnYV/08f3BxiYkaIUUbA==
X-Received: by 2002:a05:600c:8719:b0:46e:4287:a85e with SMTP id 5b1f17b1804b1-46fa9a9efc4mr191389945e9.13.1760540647262;
        Wed, 15 Oct 2025 08:04:07 -0700 (PDT)
Message-ID: <87f5c526-8491-433c-bf64-027d5635b13f@citrix.com>
Date: Wed, 15 Oct 2025 16:04:06 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21 0/6] tools/{lib,}xl: Coverity falllout from the
 json-c switch
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: oleksii.kurochko@gmail.com, Anthony PERARD <anthony.perard@vates.tech>,
 Juergen Gross <jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <20251015134043.72316-1-roger.pau@citrix.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20251015134043.72316-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 15/10/2025 2:40 pm, Roger Pau Monne wrote:
> Hello,
>
> The following series contains fixes for Coverity reported issues after
> the switch from YAJL to json-c.  Those reports are from the internal
> XenServer Coverity instance, as the project one hasn't been switched to
> use json-c yet, last patch in the series switches thegithub triggered
> Coverity build to use json-c.
>
> All should be considered for 4.21.
>
> Thanks, Roger.
>
> Roger Pau Monne (6):
>   tools/{lib,}xl: fix usage of error return from
>     json_tokener_parse_verbose()
>   tools/libxl: avoid freeing stack rubble in
>     libxl__json_object_to_json()
>   tools/xl: check return of json_object_object_add()
>   tools/xl: check return value of printf_info_one_json() in
>     list_domains_details()
>   tools/xl: fix possible uninitialized usage in printf_info()
>   github/coverity: switch to building with json-c instead of yajl

Other than my query on patch 1, everything else LGTM.

Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

Thankyou for looking at these.


From xen-devel-bounces@lists.xenproject.org Wed Oct 15 16:51:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 16:51:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143804.1477411 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v94ij-0006mn-92; Wed, 15 Oct 2025 16:51:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143804.1477411; Wed, 15 Oct 2025 16:51:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v94ij-0006mg-4h; Wed, 15 Oct 2025 16:51:25 +0000
Received: by outflank-mailman (input) for mailman id 1143804;
 Wed, 15 Oct 2025 16:51:24 +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
 <SRS0=pY79=4Y=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v94ii-0006ma-03
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 16:51:24 +0000
Received: from CO1PR03CU002.outbound.protection.outlook.com
 (mail-westus2azlp170100005.outbound.protection.outlook.com
 [2a01:111:f403:c005::5])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2516a165-a9e7-11f0-980a-7dc792cee155;
 Wed, 15 Oct 2025 18:51:09 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by BL1PR03MB6039.namprd03.prod.outlook.com (2603:10b6:208:31b::24) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.9; Wed, 15 Oct
 2025 16:51:02 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9228.009; Wed, 15 Oct 2025
 16:51:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2516a165-a9e7-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=qXaUbP7hIhkIXP/Kl/f0Qv9NODUZDkrO1zCz9TT61NaD7xYW3dvctG/t2keopLHEgTkLdEXgFu+xCLfFsjh7eydOQ6j+EMRS8rAgzu/DTNWGtzuzjDVWvjakIrj2untAkfc583QSJYvJEaRaStrcDbAW0mu5ffwaXBWDAFTCXAPFPrZtv4DHPZ4UPwUlRRI0QncmFgqKnTZBik1lbqXwvvNUhqIRcb6zWxGlEalhyBT5PnIdY3ZMjAd9t0sy5bcoUYaB5TQcs5wleVntWzdHTGuJ6xHWytnl3DnQTNcuDNdx8uREZ8u8EDl2uu+KboqJSiChts/MwZtqJdVGA76BnA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Bp+tPf4BDoHZY94wIdWQ3IwT984ZwcNIl5mPeuyaJt0=;
 b=uN1Rpp+2aNA0VoxuLTtqQU2TLrG2TiYvLF2nw0ypuryl3dOu+xjPytS2apWHCSls8tfrw3P+mBEF+W+NsNljNrtLpqeg71JKOc2iXUfL/DO1W/mISTYKn6EGZmDYvnaCLMggy+p7NJHCw8+6ciPfdiIv1y5DWm0KDLNa6rX9/33iZN7uroqLNRtKVplu0WODdUsZcdJvOjrLSPyc7FGpNFIhDVkUtfTDneNczUOzoScpTQkDb3J/nS+BLqkLt+tqSp66g0m9BAWNHGrEQXr3K57tt8XlA9CU81tPnkWn0WOmSGFbtVc9XdwQ+tjYMf6GIjTw1hGF+OMoumWaV7cVTA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Bp+tPf4BDoHZY94wIdWQ3IwT984ZwcNIl5mPeuyaJt0=;
 b=oRj3qz5Ot8UEm0h9COQHnvYAh13+kVo/1SP1gmdA/FuBFW0Qq9fGxgBZd6i+YhwwF4yidPJ54IkZ1IwNr6QdqwPL+MPSEc8aH5G27ptQWUTmu3h0vAF4dQwFHCshAhfipp7sHUWp4YAsVLSxjhDNrQmQv2dd44m+ZizNM6v6VUM=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 15 Oct 2025 18:50:58 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org, oleksii.kurochko@gmail.com,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH for-4.21 0/6] tools/{lib,}xl: Coverity falllout from the
 json-c switch
Message-ID: <aO_Q8n6_fgRFgaQN@Mac.lan>
References: <20251015134043.72316-1-roger.pau@citrix.com>
 <87f5c526-8491-433c-bf64-027d5635b13f@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <87f5c526-8491-433c-bf64-027d5635b13f@citrix.com>
X-ClientProxiedBy: MA3P292CA0004.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:2c::19) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|BL1PR03MB6039:EE_
X-MS-Office365-Filtering-Correlation-Id: 0cee4fc2-59b1-4d44-839c-08de0c0b0608
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?YWhLYzNaSTNBMVBDSkdJZ3JCalVNdWtRazFESXNYYUIvaW5WNG1ZU01ybXBx?=
 =?utf-8?B?VGtWOWxJeFd6NTdTbG1XOEdaYUhnVGpJbHJLRmZiYUFqaXZNWWQ3cXJ4Rk9r?=
 =?utf-8?B?elVLMUZXaXA2MWRWZWlTVVE2UGRwR3ExSW10UVlUQ1ZidVFxaisrakVrWjhO?=
 =?utf-8?B?eGZ1NzBUYWh6bGpoMmQ1ZjkzY05QV1RERVdWSSt5TnRQTW1FWWFJN1BwZTBw?=
 =?utf-8?B?V2d0S0hSVlJTekxoUFU5MVQwandRR2VGYmZrSGE1dEFrS1N3UERyYWY2R2M4?=
 =?utf-8?B?TVE0MFFiaVVNdHI2Ni9zYWNLQlhUZ0NGdjJJZDFJQXMzRENSajBLMVNEOFNq?=
 =?utf-8?B?NnRXQndCdGx1NkYvWHd5QW11Sm84UytRN1VUM2NMMnpRYkpEdEpjaEVBaVls?=
 =?utf-8?B?bkwrMjJHNHZLeHFiK1Y4OFJXejRnLzlIZnkyZkVCbHZKVXN6cnpoWmtUOVVW?=
 =?utf-8?B?R1ZMWDl0bzNTSkVrZlVSK2ZRWEFHZUVIdTkvV0lXUXZtYWZHTzJWZ2NqcUxY?=
 =?utf-8?B?aEpacTZvZHhmeW0vS24vMUJWSXF5eHQxdmoyNlVjVDJjUVMzZWhKZ2d3SjVL?=
 =?utf-8?B?WUo3TDhJOEpmMXRxVWtsSjhMUGtFZnNlVEV3K3B1c1hTcUpOd25tak5QWjNI?=
 =?utf-8?B?bXZaL1VPaUswSGYzRDQzT0I1UXpuU2hkTnlDeEhQWVZMa2ZId0NWRjFUUXhv?=
 =?utf-8?B?VUh3amF4dG8yd2VXbGJ3bk5ucmhvMDR0MVRNQU1sU3h2VVM2dWUzbWFIZHNH?=
 =?utf-8?B?YkNRUEQwemZjSDQ4Zk9nUUdBaEdiNUNqRksvZUhTTk9IU0s5bi8zUnZiRE1l?=
 =?utf-8?B?K3dDT3B1ZUFQaUNycDNBcTI5TDFPTllDbVVJSktOTElCOGJhZ0JFR0NoeUJL?=
 =?utf-8?B?ZEViQzk2RjVFZmY1TldDY2E0dFpVazhRcjNoSkRNNjd6SVQ0dDI5ZWxmL25s?=
 =?utf-8?B?cmNYVXA3S3d1VFk3NTd4alZnL2tSVWlKL2NoWHUwMmRGaWQrRmc4VlBDM0FB?=
 =?utf-8?B?cTQzamdVbUg5SStVYmJMUHo5eXlORFIwMm9qWFdnUExNZHRoUllQQUVmOW9n?=
 =?utf-8?B?bDJqM2U2RnZXeDVvbnJYSnNPWHV1MTNBZG55U1JDWVVoRGpwVHhHWXNUcllB?=
 =?utf-8?B?Z2cwQ0tOMjdpT3FqVkpRY0ZiMGVsSG9pZjNCdzd4YmVwbXJuYnpEVnJnUGNi?=
 =?utf-8?B?d0xiUkZzREsxc0tFSHFHbEFpdkJNVVZkTmdqYWNLdk5WeTFSU0I5VWZaZW5q?=
 =?utf-8?B?aWdMb3J3bjF5UGVqblg5UEJnMWlpOFdVeXg4aGkyekNXc3FYd1Q0YmZVQ0Ny?=
 =?utf-8?B?dVhDV1p6bld5L1VjVmVlVWJocFhKWEFKaW9zaThsd1ZMZTB1eFB3cGRuKzJi?=
 =?utf-8?B?TkUzU0l5SGRoa2FmOUxuaUxKNC85MkhBOERkK2ZyVDU2WVRiSWdqcHBRUXJO?=
 =?utf-8?B?TU16NmU1UXQ3VExJVGtKYnlGRWw0STEyQTgyR01LbGtQYWhNVkZaeXJCUUpy?=
 =?utf-8?B?blViY1g3S3FTTTZUYlp0VzluT2JzSXVWWndWVGN5RXEvWTdPcWhPQmFjV2pV?=
 =?utf-8?B?ZWU2V1IvWVpWL2J0Mng5TEdqNTN2QldKS0E5a0lmTnBWQ0hoVUZYa2NFVTFK?=
 =?utf-8?B?MlVGOWF1ckFEUlNwbkU1OUNTQlZTUzhRM0F0MzRtam1zN2ZmamhBZ3lNQ21P?=
 =?utf-8?B?bmI3TUlhZDd4MDB6STBxZFRscU9URlBmcXJ0cVhXSmF6OGRFbjVGL0E4NHcy?=
 =?utf-8?B?clBnRm5Ma0hIeEZ3enFVWXNNdnFUSkg4M0JMZHhXWXNLZitGWVlJQUcxYW95?=
 =?utf-8?B?OWlTZzVUV0xIOFNnbzV3SVl5NDA0eisrNVVUNWJKN09tSjJ0WHRHZHZaV3ZI?=
 =?utf-8?B?YUlLT3cweVdPRlFYMlpXcEFid2NGM203OWZNOCs2VHc5YVB2Uk15dGhzRFNu?=
 =?utf-8?Q?068GLsCNqvhyUh7+o01WtknXmC/fYpPb?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bXBVQmFFcFFQWjRrRGl3RlZTSVNsN0pOUUZuSGRHbnQyMWI1Z25ESEpHUHBD?=
 =?utf-8?B?WFJGTmhTZExqMHpPTFJGY28rNVVnUUZuMVJoZTNDUWlERnhvckJiMkI5TUhn?=
 =?utf-8?B?RERJazUwaVR2OU9FbHVTRGZwRDFaUVBKTkN5K21sbW1ZS3VkNUlvVDJwMk9P?=
 =?utf-8?B?Tk9PcXZhYnBkei9vcmN5T1hnL3ZJM1dxM3pJSlJKamFkcllNRnN0WkZ2UUdj?=
 =?utf-8?B?VjMyd3RDd0NSWm84S0xRZE9EbXBTUGNLc3lTS05sVVhTRHZFdUhFS01EeldD?=
 =?utf-8?B?NVFORjFRakFidkJIRVM3bENadGdhN1R5QmtzUkpJVndzclZtYXMwQ0MyWC9H?=
 =?utf-8?B?Umc3WFk0c3lSYTZ1Y1EzaFByc0Z1WlQwUHFuU0VzNGwrN1NGams3SXc3OURK?=
 =?utf-8?B?Z3h5SExHdmgvZmF3eVFBMDFrVEoyZmU3cDFZZTRPUDRtRzVrZjFSNW5Zb2tK?=
 =?utf-8?B?NmdLZksvTzRnWUNuelA3Q1Rtc1U0bjhGTjFhNmhQUSs3YVJQODJLc1VLczdD?=
 =?utf-8?B?YXk4RTlzdWIvTjBTOWE4OHVjRE9QRHMxQUNwK1h3UmZER3JMazEwdlFoOFBY?=
 =?utf-8?B?WGwzbzI2bGpIZ3VNY0cxdjZMaCtpdVljcVNrMDJwZURtWXVUSlQ4ZlBiUUtp?=
 =?utf-8?B?VDZiYnJaTkloV3RQYW02K0VYWFRqSndkSnNWckZxL2xBd3BOVUczYkJoeHc1?=
 =?utf-8?B?ODh5UXo5OW1vN0poeGtiM21jRHltTGszaGcrTUtlNU5QOGk4R0pYd1Ewcncw?=
 =?utf-8?B?THdLMkhtREk0c2hFaG8rcUkrdjZ6Um4wd05vc3NmVEdpTmM3K08xL3IyRWx5?=
 =?utf-8?B?NXZieGROS2wvM1VMOVBXTlMvcDlBeTYweDlzakV0Uit4aHpQakFBcFVBQ2R5?=
 =?utf-8?B?Zk1Mb01OMU50ekZkeWFPbkVXeDlsU1JjZForaTUxUm1UdEtGN1QzdHRyMEkv?=
 =?utf-8?B?MWtjMDBEaXNnUzNNTlJTV3AxRGRxUWY5a1U1dVNzS0U1TDNsOWNsSEs3SkR5?=
 =?utf-8?B?OUpNekQ4S1diK2Myeldkd0dyNXNkSHBieUtOSURUamRVL3hUYXNQN25yRlpw?=
 =?utf-8?B?VHB0QS9ZNVRkcVFTWnNjUENiaWFiWnhLL2FNY1ROT3dtY0lDMUdkenoyWTZt?=
 =?utf-8?B?bjA0aGlneXFnTHNyT3dydUZWLzY1cFNOQkpEUE5zRWpOdWtsLzNsZ1d1eDg3?=
 =?utf-8?B?MFhYWkNVZ2NkY2V0UVhnZDdOMytaV2QzSDQzR3F2UUlQV0NJTEN4TC8xYkEx?=
 =?utf-8?B?cGlaQjBjM08xUlJucXVlSE5qbEJNL2xjdzArcE16cEdiRHFVRFBIMGRxbVc3?=
 =?utf-8?B?amU1eXFqRGJPYjFPblVqYTUrazFNcC9kTGlBQzlCeHdnNEdaSkJLNFB0Qy9Y?=
 =?utf-8?B?TEVaYnFqVkc5Mk5sUm5mWUsrSXZIQXJtSlhhbUxkNVVsd0dmS24zZ1UxUWdN?=
 =?utf-8?B?MkJNWXNPRDY2dVgzbTNqWEpacHQzSWNDQ1JrRDNqYWQrRmxCWXMrL01pQnFQ?=
 =?utf-8?B?OTdEaVdDRG4wT3oxRXFlellFR0l3Mm9kVWQ2eWEyeWV2MTlwYmdZYlhTL2ht?=
 =?utf-8?B?STAzazEybXJicVhtOFFQT0pKS3NuVEdzUzRHRzB6T040QzdjLzRnU1lNMDhv?=
 =?utf-8?B?K0V6MnZyeldUYkdjVkpFWnp6d2lGSkNGejFjd2JIdUlhMm51citKWEpZS0tt?=
 =?utf-8?B?ak8xZHVaUEFiaHVrYWVQUGJBZVVNTTlEWVVPaytxNjc4MW9WVzErTzFQd09J?=
 =?utf-8?B?c0Y5MUV4M1RZNUNibEl0Y0d1SFpuMnJmeEhvQUd4bkhpVnhpZ1g4M2hWakgw?=
 =?utf-8?B?cDBNL1Z5eXFVeEJCVGdPeVBiTHhxTkFMak4vcVhyL3lyOXhvMHhrQmc0ckFJ?=
 =?utf-8?B?SkVHbTR5QlFWUkFnZnl4bFlYQTM5WUNpY1ZPcWJVL1p6U0w4U1EvamlkbjV3?=
 =?utf-8?B?MWh6N21MaW0zbHVHVllrUitobVE2V1BtQWVJRzhQQUQ0VDdVR01nRFpjbHhZ?=
 =?utf-8?B?R2U0WUU3RHYxdVVvakllczRMRUNSRDdKU1ZXR1F6Tm9YYWhYTXdBUE8zM3Rs?=
 =?utf-8?B?a29hOGtVMCtVeW9ocGRiYWpJblI4UHlDRlFCaHVITFR0M2p0OGwvbnRsQnFu?=
 =?utf-8?Q?V/wSl9MCagZx3HAXyGyR+B0nz?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0cee4fc2-59b1-4d44-839c-08de0c0b0608
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Oct 2025 16:51:02.1289
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: tbh+IVvrd8k07vxWiwYyRL8KwpI2oKb2W6cO1/rHNLhOh2MmdEMfOTrKTC97DBEW+wEirCCyE3+Y/7AGDSqSLg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR03MB6039

On Wed, Oct 15, 2025 at 04:04:06PM +0100, Andrew Cooper wrote:
> On 15/10/2025 2:40 pm, Roger Pau Monne wrote:
> > Hello,
> >
> > The following series contains fixes for Coverity reported issues after
> > the switch from YAJL to json-c.  Those reports are from the internal
> > XenServer Coverity instance, as the project one hasn't been switched to
> > use json-c yet, last patch in the series switches thegithub triggered
> > Coverity build to use json-c.
> >
> > All should be considered for 4.21.
> >
> > Thanks, Roger.
> >
> > Roger Pau Monne (6):
> >   tools/{lib,}xl: fix usage of error return from
> >     json_tokener_parse_verbose()
> >   tools/libxl: avoid freeing stack rubble in
> >     libxl__json_object_to_json()
> >   tools/xl: check return of json_object_object_add()
> >   tools/xl: check return value of printf_info_one_json() in
> >     list_domains_details()
> >   tools/xl: fix possible uninitialized usage in printf_info()
> >   github/coverity: switch to building with json-c instead of yajl
> 
> Other than my query on patch 1, everything else LGTM.
> 
> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

Thanks, if no one else expresses an opinion by tomorrow I will apply
your comment and commit.

Roger.


From xen-devel-bounces@lists.xenproject.org Wed Oct 15 16:52:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 16:52:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143816.1477421 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v94jg-0007IU-Jt; Wed, 15 Oct 2025 16:52:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143816.1477421; Wed, 15 Oct 2025 16:52:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v94jg-0007IN-Fn; Wed, 15 Oct 2025 16:52:24 +0000
Received: by outflank-mailman (input) for mailman id 1143816;
 Wed, 15 Oct 2025 16:52:23 +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
 <SRS0=+Ngc=4Y=intel.com=dave.hansen@srs-se1.protection.inumbo.net>)
 id 1v94jf-0007Gt-EX
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 16:52:23 +0000
Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.11])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4ed26d9b-a9e7-11f0-980a-7dc792cee155;
 Wed, 15 Oct 2025 18:52:20 +0200 (CEST)
Received: from orviesa010.jf.intel.com ([10.64.159.150])
 by orvoesa103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 15 Oct 2025 09:52:15 -0700
Received: from ldmartin-desk2.corp.intel.com (HELO [10.125.111.202])
 ([10.125.111.202])
 by orviesa010-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 15 Oct 2025 09:52:14 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4ed26d9b-a9e7-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1760547141; x=1792083141;
  h=message-id:date:mime-version:subject:to:cc:references:
   from:in-reply-to:content-transfer-encoding;
  bh=S0KxPqiw5HwIE1K7rWHuBlrawAOZSzzBrpSoYH3rAds=;
  b=VRy2PK4nDrIcJGNqgYoBKDmyfvhue09uuaT1VxotHvlf/joQtA6AJrLJ
   xSU2Z3gRX7VusogVPRJzO3Csw3qnIgIb6RKBuaAL82bCynA8ybU72N99u
   1Z2wjvINQQIudIcRfp8lOCUuB986hUGlBVyTs9Snw9AvDqcX7D1n3Votk
   SO9hFw+qw4nCbE9ASx+4NQpPbH+uGr7ky+igioYk9j0HLbGJxa3VmyEh5
   91YwTtnECe9UFIjQDjQ+Q3dEQbmQ3UEpOMDaQwNpuMufB9Hqs3TUK8Ns0
   BWeEQDskLKfeGb2fTR3fp07GLe3muxPChcJjfud2har5AItNH0wErGYoX
   w==;
X-CSE-ConnectionGUID: 4ejbnI42Smepx/QWspwXnA==
X-CSE-MsgGUID: nwQHktILSzWGy8gU+CgdPg==
X-IronPort-AV: E=McAfee;i="6800,10657,11583"; a="73006770"
X-IronPort-AV: E=Sophos;i="6.19,231,1754982000"; 
   d="scan'208";a="73006770"
X-CSE-ConnectionGUID: uTxFJgGnRdqZXhWgFrdjDA==
X-CSE-MsgGUID: u7QBuV7aSXy5YlMObe7+LA==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.19,231,1754982000"; 
   d="scan'208";a="181439319"
Message-ID: <35d9cf4f-135e-4786-a4e3-fd3a4a18b800@intel.com>
Date: Wed, 15 Oct 2025 09:52:13 -0700
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 02/13] x86/xen: simplify flush_lazy_mmu()
To: Kevin Brodsky <kevin.brodsky@arm.com>, linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org, Alexander Gordeev <agordeev@linux.ibm.com>,
 Andreas Larsson <andreas@gaisler.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, Borislav Petkov
 <bp@alien8.de>, Catalin Marinas <catalin.marinas@arm.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 Dave Hansen <dave.hansen@linux.intel.com>,
 David Hildenbrand <david@redhat.com>, "David S. Miller"
 <davem@davemloft.net>, "H. Peter Anvin" <hpa@zytor.com>,
 Ingo Molnar <mingo@redhat.com>, Jann Horn <jannh@google.com>,
 Juergen Gross <jgross@suse.com>, "Liam R. Howlett"
 <Liam.Howlett@oracle.com>, Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>, Michal Hocko <mhocko@suse.com>,
 Mike Rapoport <rppt@kernel.org>, Nicholas Piggin <npiggin@gmail.com>,
 Peter Zijlstra <peterz@infradead.org>, Ryan Roberts <ryan.roberts@arm.com>,
 Suren Baghdasaryan <surenb@google.com>, Thomas Gleixner
 <tglx@linutronix.de>, Vlastimil Babka <vbabka@suse.cz>,
 Will Deacon <will@kernel.org>, Yeoreum Yun <yeoreum.yun@arm.com>,
 linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org,
 sparclinux@vger.kernel.org, xen-devel@lists.xenproject.org, x86@kernel.org
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
 <20251015082727.2395128-3-kevin.brodsky@arm.com>
From: Dave Hansen <dave.hansen@intel.com>
Content-Language: en-US
Autocrypt: addr=dave.hansen@intel.com; keydata=
 xsFNBE6HMP0BEADIMA3XYkQfF3dwHlj58Yjsc4E5y5G67cfbt8dvaUq2fx1lR0K9h1bOI6fC
 oAiUXvGAOxPDsB/P6UEOISPpLl5IuYsSwAeZGkdQ5g6m1xq7AlDJQZddhr/1DC/nMVa/2BoY
 2UnKuZuSBu7lgOE193+7Uks3416N2hTkyKUSNkduyoZ9F5twiBhxPJwPtn/wnch6n5RsoXsb
 ygOEDxLEsSk/7eyFycjE+btUtAWZtx+HseyaGfqkZK0Z9bT1lsaHecmB203xShwCPT49Blxz
 VOab8668QpaEOdLGhtvrVYVK7x4skyT3nGWcgDCl5/Vp3TWA4K+IofwvXzX2ON/Mj7aQwf5W
 iC+3nWC7q0uxKwwsddJ0Nu+dpA/UORQWa1NiAftEoSpk5+nUUi0WE+5DRm0H+TXKBWMGNCFn
 c6+EKg5zQaa8KqymHcOrSXNPmzJuXvDQ8uj2J8XuzCZfK4uy1+YdIr0yyEMI7mdh4KX50LO1
 pmowEqDh7dLShTOif/7UtQYrzYq9cPnjU2ZW4qd5Qz2joSGTG9eCXLz5PRe5SqHxv6ljk8mb
 ApNuY7bOXO/A7T2j5RwXIlcmssqIjBcxsRRoIbpCwWWGjkYjzYCjgsNFL6rt4OL11OUF37wL
 QcTl7fbCGv53KfKPdYD5hcbguLKi/aCccJK18ZwNjFhqr4MliQARAQABzUVEYXZpZCBDaHJp
 c3RvcGhlciBIYW5zZW4gKEludGVsIFdvcmsgQWRkcmVzcykgPGRhdmUuaGFuc2VuQGludGVs
 LmNvbT7CwXgEEwECACIFAlQ+9J0CGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEGg1
 lTBwyZKwLZUP/0dnbhDc229u2u6WtK1s1cSd9WsflGXGagkR6liJ4um3XCfYWDHvIdkHYC1t
 MNcVHFBwmQkawxsYvgO8kXT3SaFZe4ISfB4K4CL2qp4JO+nJdlFUbZI7cz/Td9z8nHjMcWYF
 IQuTsWOLs/LBMTs+ANumibtw6UkiGVD3dfHJAOPNApjVr+M0P/lVmTeP8w0uVcd2syiaU5jB
 aht9CYATn+ytFGWZnBEEQFnqcibIaOrmoBLu2b3fKJEd8Jp7NHDSIdrvrMjYynmc6sZKUqH2
 I1qOevaa8jUg7wlLJAWGfIqnu85kkqrVOkbNbk4TPub7VOqA6qG5GCNEIv6ZY7HLYd/vAkVY
 E8Plzq/NwLAuOWxvGrOl7OPuwVeR4hBDfcrNb990MFPpjGgACzAZyjdmYoMu8j3/MAEW4P0z
 F5+EYJAOZ+z212y1pchNNauehORXgjrNKsZwxwKpPY9qb84E3O9KYpwfATsqOoQ6tTgr+1BR
 CCwP712H+E9U5HJ0iibN/CDZFVPL1bRerHziuwuQuvE0qWg0+0SChFe9oq0KAwEkVs6ZDMB2
 P16MieEEQ6StQRlvy2YBv80L1TMl3T90Bo1UUn6ARXEpcbFE0/aORH/jEXcRteb+vuik5UGY
 5TsyLYdPur3TXm7XDBdmmyQVJjnJKYK9AQxj95KlXLVO38lczsFNBFRjzmoBEACyAxbvUEhd
 GDGNg0JhDdezyTdN8C9BFsdxyTLnSH31NRiyp1QtuxvcqGZjb2trDVuCbIzRrgMZLVgo3upr
 MIOx1CXEgmn23Zhh0EpdVHM8IKx9Z7V0r+rrpRWFE8/wQZngKYVi49PGoZj50ZEifEJ5qn/H
 Nsp2+Y+bTUjDdgWMATg9DiFMyv8fvoqgNsNyrrZTnSgoLzdxr89FGHZCoSoAK8gfgFHuO54B
 lI8QOfPDG9WDPJ66HCodjTlBEr/Cwq6GruxS5i2Y33YVqxvFvDa1tUtl+iJ2SWKS9kCai2DR
 3BwVONJEYSDQaven/EHMlY1q8Vln3lGPsS11vSUK3QcNJjmrgYxH5KsVsf6PNRj9mp8Z1kIG
 qjRx08+nnyStWC0gZH6NrYyS9rpqH3j+hA2WcI7De51L4Rv9pFwzp161mvtc6eC/GxaiUGuH
 BNAVP0PY0fqvIC68p3rLIAW3f97uv4ce2RSQ7LbsPsimOeCo/5vgS6YQsj83E+AipPr09Caj
 0hloj+hFoqiticNpmsxdWKoOsV0PftcQvBCCYuhKbZV9s5hjt9qn8CE86A5g5KqDf83Fxqm/
 vXKgHNFHE5zgXGZnrmaf6resQzbvJHO0Fb0CcIohzrpPaL3YepcLDoCCgElGMGQjdCcSQ+Ci
 FCRl0Bvyj1YZUql+ZkptgGjikQARAQABwsFfBBgBAgAJBQJUY85qAhsMAAoJEGg1lTBwyZKw
 l4IQAIKHs/9po4spZDFyfDjunimEhVHqlUt7ggR1Hsl/tkvTSze8pI1P6dGp2XW6AnH1iayn
 yRcoyT0ZJ+Zmm4xAH1zqKjWplzqdb/dO28qk0bPso8+1oPO8oDhLm1+tY+cOvufXkBTm+whm
 +AyNTjaCRt6aSMnA/QHVGSJ8grrTJCoACVNhnXg/R0g90g8iV8Q+IBZyDkG0tBThaDdw1B2l
 asInUTeb9EiVfL/Zjdg5VWiF9LL7iS+9hTeVdR09vThQ/DhVbCNxVk+DtyBHsjOKifrVsYep
 WpRGBIAu3bK8eXtyvrw1igWTNs2wazJ71+0z2jMzbclKAyRHKU9JdN6Hkkgr2nPb561yjcB8
 sIq1pFXKyO+nKy6SZYxOvHxCcjk2fkw6UmPU6/j/nQlj2lfOAgNVKuDLothIxzi8pndB8Jju
 KktE5HJqUUMXePkAYIxEQ0mMc8Po7tuXdejgPMwgP7x65xtfEqI0RuzbUioFltsp1jUaRwQZ
 MTsCeQDdjpgHsj+P2ZDeEKCbma4m6Ez/YWs4+zDm1X8uZDkZcfQlD9NldbKDJEXLIjYWo1PH
 hYepSffIWPyvBMBTW2W5FRjJ4vLRrJSUoEfJuPQ3vW9Y73foyo/qFoURHO48AinGPZ7PC7TF
 vUaNOTjKedrqHkaOcqB185ahG2had0xnFsDPlx5y
In-Reply-To: <20251015082727.2395128-3-kevin.brodsky@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 10/15/25 01:27, Kevin Brodsky wrote:
> While at it, we can also avoid preempt_disable() if we are not
> in lazy MMU mode - xen_get_lazy_mode() should tolerate preemption.
...
>  static void xen_flush_lazy_mmu(void)
>  {
> -	preempt_disable();
> -
>  	if (xen_get_lazy_mode() == XEN_LAZY_MMU) {
> -		arch_leave_lazy_mmu_mode();
> -		arch_enter_lazy_mmu_mode();
> +		preempt_disable();
> +		xen_mc_flush();
> +		preempt_enable();
>  	}

But xen_get_lazy_mode() does:

	this_cpu_read(xen_lazy_mode);

Couldn't preemption end up doing the 'xen_lazy_mode' read and the
xen_mc_flush() on different CPUs?

That seems like a problem. Is there a reason it's safe?


From xen-devel-bounces@lists.xenproject.org Wed Oct 15 17:14:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 17:14:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143829.1477429 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9556-0001j0-8c; Wed, 15 Oct 2025 17:14:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143829.1477429; Wed, 15 Oct 2025 17:14:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9556-0001it-64; Wed, 15 Oct 2025 17:14:32 +0000
Received: by outflank-mailman (input) for mailman id 1143829;
 Wed, 15 Oct 2025 17:14:31 +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
 <SRS0=nzz5=4Y=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1v9554-0001in-Th
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 17:14:31 +0000
Received: from BL0PR03CU003.outbound.protection.outlook.com
 (mail-eastusazlp170120007.outbound.protection.outlook.com
 [2a01:111:f403:c101::7])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 67d06bfb-a9ea-11f0-9d15-b5c5bf9af7f9;
 Wed, 15 Oct 2025 19:14:28 +0200 (CEST)
Received: from SJ0PR03CA0215.namprd03.prod.outlook.com (2603:10b6:a03:39f::10)
 by CH3PR12MB8902.namprd12.prod.outlook.com (2603:10b6:610:17d::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.10; Wed, 15 Oct
 2025 17:14:25 +0000
Received: from SJ5PEPF00000204.namprd05.prod.outlook.com
 (2603:10b6:a03:39f:cafe::24) by SJ0PR03CA0215.outlook.office365.com
 (2603:10b6:a03:39f::10) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9228.11 via Frontend Transport; Wed,
 15 Oct 2025 17:14:25 +0000
Received: from satlexmb08.amd.com (165.204.84.17) by
 SJ5PEPF00000204.mail.protection.outlook.com (10.167.244.37) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9228.7 via Frontend Transport; Wed, 15 Oct 2025 17:14:24 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.2.2562.17; Wed, 15 Oct
 2025 10:14:24 -0700
Received: from satlexmb08.amd.com (10.181.42.217) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 15 Oct
 2025 12:14:24 -0500
Received: from [172.18.10.234] (10.180.168.240) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.17 via Frontend
 Transport; Wed, 15 Oct 2025 10:14:23 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 67d06bfb-a9ea-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=xzWRwPC31Si1FPMxD0WZUC0EF2Wc26USVs0+kYAq/95fjX/d5+697QqAtnp74j2pUfSRahz3isOEFfgwOBdUrti9Uo9Sn0Qd7RxxWW4sD8RmyUz8ZX9kANrmJPUS0pmalAcXyb8L1HFs3oyuf/d38ywQkeIiOqgS1ozTXOuRfCocPjfRgwA6HgrE9pqHJkUWRgKjMU2q/0/cUuaVtQ4DOTpQACp1nRqbqvpbofh1733ZO9uqum6IyL3wR0NihD6r+hjZ4EzNN+TqQ/lOPrgW9nNzVcbY6VILS/i2/TADtTpJmDcqLXvvMY+jYOkqW4DCI7CFDTa09cWG6OYKOC/Mew==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=q+fHBwsUsHRxHxzb+whFumPY0A6HjUkQ3B5uEWEf6E4=;
 b=l+6l5DsDoQARh3TUZWMs7Ta21IQCzvkJwrF+aMTDDbYXNPGnRApT9nYa8/4jrEgVKHiwD6a8hhyKLGAioVLJB5YNTp+eVDdprBPBvy7MAUivwwhfaSsq1s3IwUIcsSm7VicmtNtueBz+bYRMHPJmtvvrPi9lfYHMUr6bMUHW3yB5bnR1NoDrNzGnddeuNY6DgyEIY7E+SaVzHJDALPSMm4tdSPzxJO3WdQq9SO6uLR1JL7uQvRYvDMJs3L/69YTCghUjXO3RAGInAM6s71E0edWa3h64v0W/gaya/a9o88sYF5S33bqh/ouYoacr6oN5GFsYcrepFBjhwqRuRMHdfQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=q+fHBwsUsHRxHxzb+whFumPY0A6HjUkQ3B5uEWEf6E4=;
 b=WwayfMDkUcu3tvLGYIO4LenHDHlgLB3XDtsB49otggv9bDP+Qkafq0gdMtghOLXyvZ4K5ERoUzV2PsZnW+deWsSOBVkNAVDsJsyIBHfyyKuiODi3lBsiWH484o0Qq2dfq+ggO11kcdlA8S9/HT3cOTSFdiITSIoIv2TDkMx39AA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C
Message-ID: <a4ee443a-cf65-420f-9508-d7f34393316b@amd.com>
Date: Wed, 15 Oct 2025 13:14:20 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] x86/apic: Avoid infinite loop in
 io_apic_level_ack_pending()
To: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
	<roger.pau@citrix.com>
CC: <xen-devel@lists.xenproject.org>, Oleksii Kurochko
	<oleksii.kurochko@gmail.com>, Andrew Cooper <andrew.cooper3@citrix.com>
References: <20251013211106.8720-1-jason.andryuk@amd.com>
 <aO39pb3L42ktBol_@Mac.lan> <d8cb0b5b-fbf6-4db0-ba70-f5a612e63cb4@suse.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <d8cb0b5b-fbf6-4db0-ba70-f5a612e63cb4@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ5PEPF00000204:EE_|CH3PR12MB8902:EE_
X-MS-Office365-Filtering-Correlation-Id: 91ac317b-5e5c-4ee5-b902-08de0c0e4a71
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|1800799024|376014|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?Z0JjQTJyWXhLbGhrTDZCZDJ1QjRIUWswYk51WEM2WVJNTVV6QTl3NGtaRVQv?=
 =?utf-8?B?YmxmaW40U1dSYmdrWDFmYUtQdDY0K2JBR0oyWEhNREJJZjlYRUdodG12UnY4?=
 =?utf-8?B?NmtRU2V1d0k5K1RJNVNaV0U2czYwdVpmSnQ4aVl0Y1BSbFp1NGNueE84b09I?=
 =?utf-8?B?eFpGRUY4VnUrRzdmWW5vSGtwOS81OS9hbERFMUdDZXpPVzJJeXVyVUEycmE4?=
 =?utf-8?B?M1g2bGwvY3BqdkNObFV1OC9hN1ExTE96eWlQQlZ0N0RXcDdkemQvdHlPK0Vj?=
 =?utf-8?B?ZVR1V0ZoditjWFp0b29oZmZqdWVjTzR5bVRQM0xFYlNQelNFNVlmVWc2TEZF?=
 =?utf-8?B?VUN2clpqWFY2aDJiaVBQMStwN2hIU1MvZ3QxcXpvZ1RxbFAvbk5uVDFONHBy?=
 =?utf-8?B?WUtkZ2k1TkhVS1JsWWVBY3dva25yVXhnQXdzMlZ1K0I4cVNhMGV4dzNFdkRO?=
 =?utf-8?B?YmdHZnBoMnEyUitrTTB5L0JXMFBYd3d1bzhOaEFGUmJUazhZR094WURYaklp?=
 =?utf-8?B?VkJhNXIrb3B2S0VsREg0cXllNTBjeDY5aGhVaVFyb3JCakQ0VmpTSHVnR3d0?=
 =?utf-8?B?SUhiK1BxK094bHRKRkhDbTRHTm9hdmdTdmM5T1lQYnVna0l3Y1hBYytRYnk0?=
 =?utf-8?B?eFY1bGo3UWNzazJSeS9GM0w1YUsyNm1lWmR2d1VDYVRrZzdvNW5LUlJiVHlK?=
 =?utf-8?B?MHVDZThVUGw0cmZjdlNONVN3czN4SkFwZWUwR1F6akRGUVgzYXdFR0s3aGJi?=
 =?utf-8?B?UVhhc3J0R3JpZGJ6U0MweTFPR2QvRDJ5MGZwQXFRYjVvSXoxakJ6MUJzSGdG?=
 =?utf-8?B?NXV5aE4rZmY4dE1lMGFXSTFMSHprczMwMHFQY1N3ZTVoTTdIUS9aQURrNHNW?=
 =?utf-8?B?cVdGVXFmTGhZWXlhWkphNUpieWI1N2RsdGFCRThZRU5PTmd1Vi9QZkd4bXZO?=
 =?utf-8?B?UHp2aEd2V29LbHA5dHdwU0hydDFpeHg0RXlFM0hGY290Z3p4eEJNclk0dVZl?=
 =?utf-8?B?VU54dTdDN2F0L0JoOFVFa0tscGRmMU9UcHhvMm0yWEtiTWovaWIzMDZvRXJZ?=
 =?utf-8?B?dFNTNXJ6M0FuNEtGMDVWMCt1endvdG1MNXRXZlRLWDVrODhONEptSzJhK25h?=
 =?utf-8?B?UmJVdzFhcDNQV2lWM0c5NUdUSzErekp2T2NPdUhUREJXNHN1Z0M2WEVYTHJl?=
 =?utf-8?B?WWFWQk1KTWxCZ0VyazYzMjZLSFBkSE8zNDhKN1FlbmRkVVcyUzE4blZCTXFx?=
 =?utf-8?B?RmJEZTNVaVc1VmQxaldMYjdtYXpGNUxHazQ2eENQMXM4c08xd2h2SkFPL0Ni?=
 =?utf-8?B?MGxEM1R6N3M1NjY0cWthZDcyT1lyYjRJMFhUZjBhVU9ObGFtS0tzY2EvT0Fy?=
 =?utf-8?B?clZWS1BvTmVaMzNUTi9HRDc1V0Rsais2VjA1TDZERzhKRVZ6R09RR0Nmdkli?=
 =?utf-8?B?MU1jSkJxdFV3THN2QUN5VlBxS3Zrelkyd2YwTFhwSUF4NGJkNXZZMFRrSS8x?=
 =?utf-8?B?VGRWNytLK2VscVJGL2JIckxsVm5GYUxqSkdVL0ZQK05VdGQvUWNuR3UwMDJm?=
 =?utf-8?B?bkl5S2lBQm5uZkpXdG9ocTdPUlltQTRETGxzQUh6b1dJMit2TjcwM2pyaDlz?=
 =?utf-8?B?U1JWMkpNdUoxeUhWcDRLbDhoWnZOU2pPc1F3SFltcGhicUlqYXBLKzlXM2lj?=
 =?utf-8?B?cWZJMjh5SjlZS3g2K0NvUlpLS2ozY09tNkFtejlST1ZtV1Z3Z1NWMzFXWGgx?=
 =?utf-8?B?MU9kRk96VzllME1IdVFSNk5FR3RyakduZjFaZUl1M21UNEhYS1l6dXkvQUN4?=
 =?utf-8?B?eTdzTDNrTktpVXd5dnl4YW5tVXBQY2xSczM1czlHMzl1VVIwcEdUU0R3VGZI?=
 =?utf-8?B?a3I0UU9xRk4xdEJiYUJVanlKK25VREdaZ0ExU3ZLa3FsekFxRUR3eWRTaEY5?=
 =?utf-8?B?WmRQZUwvcXRlVWd3eEtKQ2RFQmJiVlZidlNGcTFaRm5vNTkrRytHdERZVmdD?=
 =?utf-8?B?TjQ4akRhMzlVTG9ubU0ycGxITFNXaGl2ejk0WU9URmdvOGhZM0pxRjZRWWxM?=
 =?utf-8?B?ZitIMzNubEtoc2pOSGI3MStxaGw0emZPNXAwaE5IRzI0ZTVLaGtLZmFBNVNU?=
 =?utf-8?Q?EzxU=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(376014)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Oct 2025 17:14:24.9885
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 91ac317b-5e5c-4ee5-b902-08de0c0e4a71
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ5PEPF00000204.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB8902

On 2025-10-15 08:59, Jan Beulich wrote:
> On 14.10.2025 09:37, Roger Pau MonnÃ© wrote:
>> On Mon, Oct 13, 2025 at 05:11:06PM -0400, Jason Andryuk wrote:
>>> io_apic_level_ack_pending() will end up in an infinite loop if
>>> entry->pin == -1.  entry does not change, so it will keep reading -1.
>>
>> Do you know how you end up with an entry with pin == -1 on the
>> irq_pin_list? Are there systems with gaps in the GSI space between
>> IO-APICs?  So far everything I saw had the IO-APIC in contiguous GSI
>> space.
>>
>>> Convert to a proper for loop so that continue works.  Add a new helper,
>>> next_entry(), to handle advancing to the next irq_pin_list entry.
>>>
>>> Fixes: f821102450a1 ("x86: IRQ Migration logic enhancement.")
>>> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
>>> ---
>>> v2:
>>> continue (not break) for pin == -1.
>>>
>>> I added the next_entry() helper since putting the expression in the for
>>> loop is a little cluttered.  The helper can also be re-used for other
>>> instances within the file.
> 
> Would this intention ...
> 
>>> --- a/xen/arch/x86/io_apic.c
>>> +++ b/xen/arch/x86/io_apic.c
>>> @@ -1586,14 +1586,21 @@ static int __init cf_check setup_ioapic_ack(const char *s)
>>>   }
>>>   custom_param("ioapic_ack", setup_ioapic_ack);
>>>   
>>> +static struct irq_pin_list *next_entry(struct irq_pin_list *entry)
>>
>> I think you can make the entry parameter const?
> 
> ... possibly conflict with such a change?

I changed only the parameter to const, and the return value is still 
non-const.  So I think that will be re-usable.

I placed next_entry() immediately before its use in 
io_apic_level_ack_pending().  It would need to be earlier in the file to 
be used more.  Should I move its addition earlier?

And another Minor question.  Roger asked for ~Linux style in the for 
loop.  But in next_entry() I have Xen style:
     if ( !entry->next )

Should I switch to:
     if (!entry->next)

?

Thanks,
Jason


From xen-devel-bounces@lists.xenproject.org Wed Oct 15 17:30:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 17:30:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143843.1477440 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v95KZ-0004S6-Jf; Wed, 15 Oct 2025 17:30:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143843.1477440; Wed, 15 Oct 2025 17:30:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v95KZ-0004Rz-FV; Wed, 15 Oct 2025 17:30:31 +0000
Received: by outflank-mailman (input) for mailman id 1143843;
 Wed, 15 Oct 2025 17:30:30 +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
 <SRS0=wenR=4Y=gmail.com=xakep.amatop@srs-se1.protection.inumbo.net>)
 id 1v95KY-0004Rt-2t
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 17:30:30 +0000
Received: from mail-lf1-x134.google.com (mail-lf1-x134.google.com
 [2a00:1450:4864:20::134])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a4388dae-a9ec-11f0-980a-7dc792cee155;
 Wed, 15 Oct 2025 19:30:28 +0200 (CEST)
Received: by mail-lf1-x134.google.com with SMTP id
 2adb3069b0e04-5818de29d15so8540849e87.2
 for <xen-devel@lists.xenproject.org>; Wed, 15 Oct 2025 10:30:28 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a4388dae-a9ec-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760549427; x=1761154227; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=SoUQQ4/8tu4aH9GKihsHY7cZFIXUjJL4wPcovrSb3Ro=;
        b=IaYol2iWCWSVwuq399I2PQ1yaSDoZg5vtUvMTL0Sjyo7s95pKW7DlqHqfkSiJYUaNu
         oB58Hze0pg6M924dyCgQCjdnLw08ko7x/J5fQHiPUjin90bvLlganXiR2Z0FL4Z33Z/Y
         Gs25eTL+SxdFop9+xtw+bJ4zqAuvSezXPJFyCd3M0NnDpBUnRlDLvmyEORljJaIbl1kO
         5VlFWQVcQKDAowjchhzSYJh1PcJLuzxXVbN6A91CVVIvmc9DHugHBBaMbFwa6CVebrNq
         a8E4tXDxx8qft02TUyZvDY9MHEyr5AGZ2aQicGadpHD5eW/gfHl0YPEl1TyJczaBARrO
         pqpg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760549427; x=1761154227;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=SoUQQ4/8tu4aH9GKihsHY7cZFIXUjJL4wPcovrSb3Ro=;
        b=XnNWbD2fdhaaIHaEXRKTy4rM586TBMrGrwT2UdXbaSKBe0P7TFwB7Df0miXMr5XMx5
         zEmVqWBri4lHZvCfWR5tNqRur1T+yYacFMLJKqIOVGVrWlD76Dd2Sfp9Cflm63NTYNqG
         1zg6B1t8O5d4zCsxG5zjf8IRjlCZIroXOe8wie3qsIkomwSWGpUytHZC+YHYxSbIr0NT
         1Qbtr4fnS+kXH/qwUDjvJ4+Ce1pmla5KFQ9itR6b9N/9LDye257IN4yKqO0x/K9Gdc9Q
         Ehv97aJUgn3qmskPpCpvKMh3p1GxfMANb1zOUW/23QJ3RC0TR2cWktHznzYsvUnKFQ6t
         PPMQ==
X-Gm-Message-State: AOJu0Yzl7+YBDLptXZ3JHm1kNSiyLwVd6uPBokOayc1x+J7JSvA5g/68
	FXUtHewcINmOmikaprp0UWPOqifnsqNC8lChcdf7ywX70GcffS9ZuMOFv42vPHaNNuyY5VfZbuR
	+PYQUGYXzxVAfJ4fmqZuIpl3ZvmXUlZs=
X-Gm-Gg: ASbGncudMFEQHsxasoZm36RkrmrTi7gF3AtJMQqNt5eM3eafpUKetVldOMJshQZgRYI
	Bg3Kp1Kzi9wmHCS1NjtuivIXkU2OigLAteFQiEO/vTSd2eLHYiQloRTd+VmR9t3imCQ06VYrIHe
	exOYNNUqfUZTt7BOGsA4DJl/XvzW8JMpFEi6THy7ymOE0e3HznvhvMr32JMIbLSE0O6tETdvXbP
	WPNhE8sZxwYBCPgsKX4MwaW
X-Google-Smtp-Source: AGHT+IHjhQWz1AgIFI9fPVSU+mnBsLw+lDuNf0LiNlK7wcFZNbzfh88olSrKcKRuvHEVMB8gJ/SxsXvd0UYblIGlCMM=
X-Received: by 2002:a05:6512:3a8e:b0:586:883e:b7c6 with SMTP id
 2adb3069b0e04-5906dd6f97amr8544473e87.30.1760549427205; Wed, 15 Oct 2025
 10:30:27 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1760083684.git.mykyta_poturai@epam.com> <af333b9ef3b79f4b0cfafb1f09da5b7bea04cfaa.1760083684.git.mykyta_poturai@epam.com>
In-Reply-To: <af333b9ef3b79f4b0cfafb1f09da5b7bea04cfaa.1760083684.git.mykyta_poturai@epam.com>
From: Mykola Kvach <xakep.amatop@gmail.com>
Date: Wed, 15 Oct 2025 20:30:00 +0300
X-Gm-Features: AS18NWDmzxoGK2nKKUZNsOnGqO6q13aluJLFomfPZDkHoXtWBgGVZTx5rAKJKfM
Message-ID: <CAGeoDV9WFSXbNmeCw002aNMSscL01dVvYzUYxg-a28QqXi2onA@mail.gmail.com>
Subject: Re: [PATCH v3 1/5] arm/time: Use static irqaction
To: Mykyta Poturai <Mykyta_Poturai@epam.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
	Bertrand Marquis <bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, 
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Mykyta,

On Fri, Oct 10, 2025 at 12:22=E2=80=AFPM Mykyta Poturai <Mykyta_Poturai@epa=
m.com> wrote:
>
> When stopping a core deinit_timer_interrupt is called in non-alloc
> context, which causes xfree in release_irq to fail an assert.
>
> To fix this, switch to a statically allocated irqaction that does not
> need to be freed in release_irq.
>
> Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
>
> v2->v3:
> * no changes
>
> v1->v2:
> * Use percpu actions
> ---
>  xen/arch/arm/time.c | 21 +++++++++++++++++----
>  1 file changed, 17 insertions(+), 4 deletions(-)
>
> diff --git a/xen/arch/arm/time.c b/xen/arch/arm/time.c
> index e74d30d258..59349467de 100644
> --- a/xen/arch/arm/time.c
> +++ b/xen/arch/arm/time.c
> @@ -303,9 +303,15 @@ static void check_timer_irq_cfg(unsigned int irq, co=
nst char *which)
>             "WARNING: %s-timer IRQ%u is not level triggered.\n", which, i=
rq);
>  }
>
> +DEFINE_PER_CPU_READ_MOSTLY(struct irqaction, irq_hyp);
> +DEFINE_PER_CPU_READ_MOSTLY(struct irqaction, irq_virt);

Scope nit (MISRA C:2012 R8.8):
if irq_hyp and irq_virt are only used in this TU, give it internal linkage.

> +
>  /* Set up the timer interrupt on this CPU */
>  void init_timer_interrupt(void)
>  {
> +    struct irqaction *hyp_action =3D &this_cpu(irq_hyp);
> +    struct irqaction *virt_action =3D &this_cpu(irq_virt);
> +
>      /* Sensible defaults */
>      WRITE_SYSREG64(0, CNTVOFF_EL2);     /* No VM-specific offset */
>      /* Do not let the VMs program the physical timer, only read the phys=
ical counter */
> @@ -314,10 +320,17 @@ void init_timer_interrupt(void)
>      WRITE_SYSREG(0, CNTHP_CTL_EL2);   /* Hypervisor's timer disabled */
>      isb();
>
> -    request_irq(timer_irq[TIMER_HYP_PPI], 0, htimer_interrupt,
> -                "hyptimer", NULL);
> -    request_irq(timer_irq[TIMER_VIRT_PPI], 0, vtimer_interrupt,
> -                   "virtimer", NULL);
> +    hyp_action->name =3D "hyptimer";
> +    hyp_action->handler =3D htimer_interrupt;
> +    hyp_action->dev_id =3D NULL;
> +    hyp_action->free_on_release =3D 0;
> +    setup_irq(timer_irq[TIMER_HYP_PPI], 0, hyp_action);
> +
> +    virt_action->name =3D "virtimer";
> +    virt_action->handler =3D vtimer_interrupt;
> +    virt_action->dev_id =3D NULL;
> +    virt_action->free_on_release =3D 0;
> +    setup_irq(timer_irq[TIMER_VIRT_PPI], 0, virt_action);
>
>      check_timer_irq_cfg(timer_irq[TIMER_HYP_PPI], "hypervisor");
>      check_timer_irq_cfg(timer_irq[TIMER_VIRT_PPI], "virtual");
> --
> 2.34.1
>

Reviewed-by: Mykola Kvach <mykola_kvach@epam.com>

Best regards,
Mykola


From xen-devel-bounces@lists.xenproject.org Wed Oct 15 17:31:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 17:31:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143853.1477451 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v95LP-0004vm-TY; Wed, 15 Oct 2025 17:31:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143853.1477451; Wed, 15 Oct 2025 17:31:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v95LP-0004vf-On; Wed, 15 Oct 2025 17:31:23 +0000
Received: by outflank-mailman (input) for mailman id 1143853;
 Wed, 15 Oct 2025 17:31:23 +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
 <SRS0=wenR=4Y=gmail.com=xakep.amatop@srs-se1.protection.inumbo.net>)
 id 1v95LP-0004vX-DX
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 17:31:23 +0000
Received: from mail-lf1-x12b.google.com (mail-lf1-x12b.google.com
 [2a00:1450:4864:20::12b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c499161c-a9ec-11f0-9d15-b5c5bf9af7f9;
 Wed, 15 Oct 2025 19:31:22 +0200 (CEST)
Received: by mail-lf1-x12b.google.com with SMTP id
 2adb3069b0e04-57e36125e8aso2984069e87.2
 for <xen-devel@lists.xenproject.org>; Wed, 15 Oct 2025 10:31:22 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c499161c-a9ec-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760549482; x=1761154282; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=gE76BkH4GZQ4fS7qoTNXoLhC1V6HX9wpiQEVi5CYbxE=;
        b=JLRrwoMAdP6qJ1nkRJuoKxCcHTYNwJrJhVwYirbSYikJqrPNCYFR+Fzo83kXe9NeZG
         csw7rZitoBSISE46cb3rGryh1qdKnLTxmJuBR0HscPlRDcuxdqh8wWD6EWQBKkaYsUaY
         dXCr1mMd4h6jqmNcbLWK788rSgng1bYTtbkeesJB/pcQjvd5RxIVy8haZRwESPtzwdvO
         vZL4OR/FUt43F8fSRMGmqdeMOzJCNqCgTyiWRS59OOjGpW7jOnSTxi25rYy7RJ4gxvHS
         577f8HpEJi9SQnM4+SuOdAoXmd/mYh0kM39uFSxucozTGsgFCSlprPKghvuqSA7ffuvW
         k9uA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760549482; x=1761154282;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=gE76BkH4GZQ4fS7qoTNXoLhC1V6HX9wpiQEVi5CYbxE=;
        b=qk+D2YXe/hNYzYXJ9Zi4E9gdsbZjmxES85zusVksrPZHtlRkcA/sc+EOtRGtcT0Rpw
         594oNeEUiWHXrP5es9hNbn0KvTDOiyCgBWUuwipCYJBU4JQveq10KSMDRahGygSHJSV8
         ML6V8jaGQN7fx32ZF0RVRYel0bdZBTk4RMaajL+Y9IVjAa2jyymGi5hhvkGBgWRMwUK6
         /7bOT98/ps1vkWknZnvmMmffdFBAm34ls1GdUnBCOsuPxvxZ6nXDbLIKnBY3kCQZCFvB
         q7hWmsVrHPcBp6SRkNGe93r09SHBGR7/llaw6OIdGbx7nxLDe6m1ZIjmDfU/7I6pMsxo
         DMAg==
X-Gm-Message-State: AOJu0YwVdEzdB1dEDwSkGyVH/4CxFvNNa9ZNXbTVooRSs8Ez+dQ4OPQq
	RmCnKOySQuqsH4L9vRqzWz/59yPd/lrr0VOaY/nUedEL23U+KbjuvPPdGzQG3QO+XPbkkuOU3L3
	TpMCKzNxdkp+Iwn3H/Y7YA90a/E4ggQycbIVp
X-Gm-Gg: ASbGncu5FlxHP4CMlg6e1wga3PVIuOvjoo3ElqC0VnGXmgLS/OVVaROMxGHrXUSDir6
	rblRrEWcCs4t8YuDcBPDsGvuxqHgnDIcLHFrsTsKevr8hFXXXo1iCHirkEIONOa4j3sS4mLipxr
	4dTBoKUdc+n3zAgVN3FfiT59K28QlTJFbaTGxyGz0YJvOsaPC443iidA6mCnaUtplTttjyp0x/6
	Su79oOswNLPbMqXBl0GERV553Udo8OB4Pw=
X-Google-Smtp-Source: AGHT+IEBP0ld7KXIGNEMcrCAFqf/A8BakJYMP5BpG1UxupqecVwJXbmx1tdDKQimO4oHl4DQD8Qg+QuUbkquTJ87pIM=
X-Received: by 2002:a05:6512:10d4:b0:58b:2b:ac7b with SMTP id
 2adb3069b0e04-5906de8dbd1mr8799742e87.57.1760549481681; Wed, 15 Oct 2025
 10:31:21 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1760083684.git.mykyta_poturai@epam.com>
In-Reply-To: <cover.1760083684.git.mykyta_poturai@epam.com>
From: Mykola Kvach <xakep.amatop@gmail.com>
Date: Wed, 15 Oct 2025 20:30:00 +0300
X-Gm-Features: AS18NWBbnmcZGwHh8lD5hVahKPcMQYGUmShzImQMSwFiCQa4eIyHmoK4v2F4LEk
Message-ID: <CAGeoDV-=ON+WSvCQnjaa9zU_74RuFHXrqa5+p8dAjM9fxpomxw@mail.gmail.com>
Subject: Re: [PATCH v3 0/5] Implement CPU hotplug on Arm
To: Mykyta Poturai <Mykyta_Poturai@epam.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
	Bertrand Marquis <bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, 
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
	"Daniel P. Smith" <dpsmith@apertussolutions.com>, Anthony PERARD <anthony.perard@vates.tech>, 
	Juergen Gross <jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
	Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Mykyta,

Thanks for the series.

It seems there might be issues here -- please take a look and let me
know if my concerns are valid:

1. FF-A notification IRQ: after a CPU down->up cycle the IRQ
configuration may be lost.

2. GICv3 LPIs: a CPU may fail to come back up unless its LPI pending
table exists (is allocated) on bring-up. See
gicv3_lpi_allocate_pendtable() and its call chain.

3. IRQ migration on CPU down: if an IRQ targets a CPU being offlined,
its affinity should be moved to an online CPU before completing the
offlining.

4. Race between the new hypercalls and disable/enable_nonboot_cpus():
disable_nonboot_cpus is called, enable_nonboot_cpus() reads
frozen_cpus, and before it calls cpu_up() a hypercall onlines the CPU.
cpu_up() then fails as "already online", but the CPU_RESUME_FAILED
path may still run for an already-online CPU, risking use-after-free
of per-CPU state (e.g. via free_percpu_area()) and other issues
related to CPU_RESUME_FAILED notification.



On Fri, Oct 10, 2025 at 12:36=E2=80=AFPM Mykyta Poturai <Mykyta_Poturai@epa=
m.com> wrote:
>
> This series implements support for CPU hotplug/unplug on Arm. To achieve =
this,
> several things need to be done:
>
> 1. XEN_SYSCTL_CPU_HOTPLUG_* calls implemented.
> 2. timer and GIC maintenance interrupts switched to static irqactions to =
remove
> the need for freeing them during release_irq.
> 3. Enabled the build of xen-hptool on Arm.
>
> Tested on QEMU.
>
> v2->v3:
> * add docs
>
> v1->v2:
> * see individual patches
>
> Mykyta Poturai (5):
>   arm/time: Use static irqaction
>   arm/gic: Use static irqaction
>   arm/sysctl: Implement cpu hotplug ops
>   tools: Allow building xen-hptool without CONFIG_MIGRATE
>   docs: Document CPU hotplug
>
>  config/Tools.mk.in               |  1 +
>  docs/misc/cpu-hotplug.txt        | 51 ++++++++++++++++++++++++++++++++
>  tools/configure                  | 30 +++++++++++++++++++
>  tools/configure.ac               |  1 +
>  tools/libs/guest/Makefile.common |  4 +++
>  tools/misc/Makefile              |  2 +-
>  xen/arch/arm/gic.c               | 11 +++++--
>  xen/arch/arm/sysctl.c            | 45 ++++++++++++++++++++++++++++
>  xen/arch/arm/time.c              | 21 ++++++++++---
>  9 files changed, 159 insertions(+), 7 deletions(-)
>  create mode 100644 docs/misc/cpu-hotplug.txt
>  mode change 100755 =3D> 100644 tools/configure
>
> --
> 2.34.1
>

Best regards,
Mykola


From xen-devel-bounces@lists.xenproject.org Wed Oct 15 17:32:02 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 17:32:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143865.1477460 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v95M0-0005TY-8D; Wed, 15 Oct 2025 17:32:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143865.1477460; Wed, 15 Oct 2025 17:32:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v95M0-0005TR-4b; Wed, 15 Oct 2025 17:32:00 +0000
Received: by outflank-mailman (input) for mailman id 1143865;
 Wed, 15 Oct 2025 17:31:59 +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
 <SRS0=wenR=4Y=gmail.com=xakep.amatop@srs-se1.protection.inumbo.net>)
 id 1v95Ly-0004vX-Vz
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 17:31:58 +0000
Received: from mail-lf1-x136.google.com (mail-lf1-x136.google.com
 [2a00:1450:4864:20::136])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id da0e45de-a9ec-11f0-9d15-b5c5bf9af7f9;
 Wed, 15 Oct 2025 19:31:58 +0200 (CEST)
Received: by mail-lf1-x136.google.com with SMTP id
 2adb3069b0e04-59093250aabso5856286e87.2
 for <xen-devel@lists.xenproject.org>; Wed, 15 Oct 2025 10:31:58 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: da0e45de-a9ec-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760549518; x=1761154318; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=pVJbNnWA52ZGqingx66CCPToUTX4yaZFV0fHGnBfJrE=;
        b=f0euMXqlhkNx7GLNoOPyw74MSlzc+zlueX7WuZUiqVn3oA7w+zk5znmnthq/3QyEM9
         s2vmiSfHfGc8wviJhKdJgOAWqssUhpp+RjIDnRJaKrXLsOyMNFq6kGUJROJkAvQQQCBx
         o8bWWVhtA+jKXVbLhn8X0uLpyPI5YKqZTqMMdximqhN7qsLUoF2zAUFYSRFn53aejeKD
         rEeZPAQrF2SK27kvmhzzcEyF3l7/ZRX8hV+0kNuqHIlDllr0k/I8RWsm9D57TTr0Cyty
         LNyyZF52AM7euSYzgZv7jFtWhQdIvWVOXt2lDaZ5AyAHL/8zQlC85VlZ2wRG3fxTwsE4
         Lyvg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760549518; x=1761154318;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=pVJbNnWA52ZGqingx66CCPToUTX4yaZFV0fHGnBfJrE=;
        b=LLvegnVLv6TXQrP8sOQ2Scry+DH3YKpRLMTou2gr5+pmjSt1tQislV77GfZk2bc2BI
         NE8tBn+o/QjskgBhearQoKgj64LwxkWTo2tCojkxjL1Kvza4DaRACOCGUxt55DmxaU/o
         As3DiB4/eGvPrklSl0DjtKFGJQb7C5xqrXt/CSjAe+X9T1u8pMZBoio/fMveQXj9L8wu
         alAk7fFsa+kcWXSKmX/xp4BB8vNeDEx1bjByMivkxCzU4mQwRWatxJQ/wo0AKxCQ4mdS
         dHwIhidC8s9oM2eS3E99agvP1DbmCV9g94SjKMcPKRk5PnpdAKuPKHcyM2HZocx0LA5C
         4MCg==
X-Gm-Message-State: AOJu0YwVg2039KvNO7nugl9H9ZEzxDJxTZcGg36bQwtJgD44Rd91MIJK
	1qJBI8UqzW8fG4T2VezlxQ8HXY8jnfMsrOVWC38eaE2FRGC1Q7QimlY/NQAzBaNMPTa1pUYr4pm
	lTSG9zK0/yexF5C/i59kACsAChUc5tXE=
X-Gm-Gg: ASbGncsQT15bsK9h4hDD6U9exQ8hWLSUp1Aqiwjd33mnBDS8KKnzEiS2tsyup4awrF5
	faXxHCugVGvrbeJtuXvEuHRFaTGgmNwcGlB4/IPeqZlyBJCmckJnTQ4jjyFaV8/5Pa33+o2VZds
	ClldY3b/crNa7lOPKuQoxkOaAAJaQNwqL8QYuBWmGHPSi6GgzADgfRAcDN96U2fmTKqK/FVFVd1
	6Hec9zPbv1GLkRCVKPcy2HM/MdZt0S73dE=
X-Google-Smtp-Source: AGHT+IHzkcNBHxZTMMlKPi9SC0XdgR9Ku/ZtKtRWXFDLO9I6rrmTQ+G8yRheVbreQQNsHNHyzTB4DIluuk7/dH+5GOk=
X-Received: by 2002:a05:6512:b29:b0:579:e5da:e530 with SMTP id
 2adb3069b0e04-5906d87b299mr8651501e87.10.1760549517811; Wed, 15 Oct 2025
 10:31:57 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1760083684.git.mykyta_poturai@epam.com> <7ebd435d510c88e2840ee991f8fd75f25ad66f75.1760083684.git.mykyta_poturai@epam.com>
In-Reply-To: <7ebd435d510c88e2840ee991f8fd75f25ad66f75.1760083684.git.mykyta_poturai@epam.com>
From: Mykola Kvach <xakep.amatop@gmail.com>
Date: Wed, 15 Oct 2025 20:30:00 +0300
X-Gm-Features: AS18NWD4rFtDky_oPXGYHrlZn0BOQykIYfUkgcoO9UOuoqmS3nvJ6QQ5wq3EOZ4
Message-ID: <CAGeoDV-WM4UugCHk36VKhG4=jmRc1_SF34Ez4is_RE2UBfZjRg@mail.gmail.com>
Subject: Re: [PATCH v3 2/5] arm/gic: Use static irqaction
To: Mykyta Poturai <Mykyta_Poturai@epam.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
	Bertrand Marquis <bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, 
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Mykyta,

On Fri, Oct 10, 2025 at 12:22=E2=80=AFPM Mykyta Poturai <Mykyta_Poturai@epa=
m.com> wrote:
>
> When stopping a core cpu_gic_callback is called in non-alloc
> context, which causes xfree in release_irq to fail an assert.
>
> To fix this, switch to a statically allocated irqaction that does not
> need to be freed in release_irq.
>
> Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
>
> v2->v3:
> * no changes
>
> v1->v2:
> * use percpu actions
> ---
>  xen/arch/arm/gic.c | 11 +++++++++--
>  1 file changed, 9 insertions(+), 2 deletions(-)
>
> diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c
> index 260ee64cca..ed6853bb32 100644
> --- a/xen/arch/arm/gic.c
> +++ b/xen/arch/arm/gic.c
> @@ -386,10 +386,17 @@ void gic_dump_info(struct vcpu *v)
>      gic_hw_ops->dump_state(v);
>  }
>
> +DEFINE_PER_CPU_READ_MOSTLY(struct irqaction, irq_maintenance);

Scope nit (MISRA C:2012 R8.8):
if irq_maintenance is only used in this TU, give it internal linkage.

> +
>  void init_maintenance_interrupt(void)
>  {
> -    request_irq(gic_hw_ops->info->maintenance_irq, 0, maintenance_interr=
upt,
> -                "irq-maintenance", NULL);
> +    struct irqaction *maintenance =3D &this_cpu(irq_maintenance);
> +
> +    maintenance->name =3D "irq-maintenance";
> +    maintenance->handler =3D maintenance_interrupt;
> +    maintenance->dev_id =3D NULL;
> +    maintenance->free_on_release =3D 0;
> +    setup_irq(gic_hw_ops->info->maintenance_irq, 0, maintenance);
>  }
>
>  int gic_make_hwdom_dt_node(const struct domain *d,
> --
> 2.34.1
>

Reviewed-by: Mykola Kvach <mykola_kvach@epam.com>

Best regards,
Mykola


From xen-devel-bounces@lists.xenproject.org Wed Oct 15 17:32:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 17:32:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143875.1477470 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v95MQ-0005yR-G1; Wed, 15 Oct 2025 17:32:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143875.1477470; Wed, 15 Oct 2025 17:32:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v95MQ-0005yK-CL; Wed, 15 Oct 2025 17:32:26 +0000
Received: by outflank-mailman (input) for mailman id 1143875;
 Wed, 15 Oct 2025 17:32: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
 <SRS0=pY79=4Y=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v95MP-0004Rt-4R
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 17:32:25 +0000
Received: from CY3PR05CU001.outbound.protection.outlook.com
 (mail-westcentralusazlp170130007.outbound.protection.outlook.com
 [2a01:111:f403:c112::7])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e835b9e6-a9ec-11f0-980a-7dc792cee155;
 Wed, 15 Oct 2025 19:32:23 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by CH2PR03MB8086.namprd03.prod.outlook.com (2603:10b6:610:27c::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.12; Wed, 15 Oct
 2025 17:32:18 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9228.009; Wed, 15 Oct 2025
 17:32:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e835b9e6-a9ec-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=LlYycByJAf2zjrBEoFWT/Nhcy0rZWnuoMF4qLBJ1x8MW7UOifWmsC69zl/skak++DEXZxPkkRtnRCxMQYgoAt2PGF1gVrpH3DuDltqubzmyqvtVtMp60RtEAOdRQNvlnau//zwVxru4hO0RH28CJNJBRTuiyk1hl48iedg4FaFRBiAZODliO4CAOTVQS6TMH4TvOfYF8tk82tQ/OizEMjlQS3L19HeC6fvOqnrYFeDyT3D+oNvD84rzGzMz+ktN+p1Ar9BC0/MjRZKrUfAOKsEoxErjjSkoNudVYx8hRdR8TUCkit92XNCplBeOpqIf6X0PBNPv45VYwile0LLEZew==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=E9aSygepkY2MI3bNhXIBPDB91Wrs0Efd3OT+F6W2EVA=;
 b=TmncI8oxSMdWyTnegerbe/OV4kKP/afuPAylG6XXkKe3vpi6Jg2zdyIUDIfDzN+fndJ0osbhDHkHpgk28FQglpzrTibHUqzKripXtHDfFGqzLHlxMCTr62G6R+9h54KnlbJnXe13JcP2Pj+KK9/ONLCiVAaDuo3T7+SX4ZZE0QoB8Sxz25QPusHIbsL0gBmLzdZZlGp9jmEIOXmE1EJ+TKbWUYAEjGOQtJzVT9Es+vRvYZ6CWql7BOhUqoKLPNKtOw0hBol9fneemy+RKCch6IEMMXE9fcC1ZrLvrihVlflaBsI4gP3/aDYbyzjrcOWlZmxSIS2o/GINMe1FhHQsaQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=E9aSygepkY2MI3bNhXIBPDB91Wrs0Efd3OT+F6W2EVA=;
 b=XH30s5Ns3ld/gF93CjWRhX+z72wR2st4oYa/7i03UDSXdp+azjMI151qfmf3KNUXyaFXk3Dw3ga1MmnnANLpYucNWa9+NAXWqYpRxqXld2a/+Tj5lMyGDOhCKSOcioYf+PsJjGFFKacDYGB8sro3yZ+SFk6MuAYj9tSk4yoR2Sc=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 15 Oct 2025 19:32:15 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: Jan Beulich <jbeulich@suse.com>, xen-devel@lists.xenproject.org,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v2] x86/apic: Avoid infinite loop in
 io_apic_level_ack_pending()
Message-ID: <aO_an64zYsdXBIch@Mac.lan>
References: <20251013211106.8720-1-jason.andryuk@amd.com>
 <aO39pb3L42ktBol_@Mac.lan>
 <d8cb0b5b-fbf6-4db0-ba70-f5a612e63cb4@suse.com>
 <a4ee443a-cf65-420f-9508-d7f34393316b@amd.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <a4ee443a-cf65-420f-9508-d7f34393316b@amd.com>
X-ClientProxiedBy: MA2P292CA0011.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:1::15) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|CH2PR03MB8086:EE_
X-MS-Office365-Filtering-Correlation-Id: fd64edf5-dedc-4584-732f-08de0c10ca2b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|366016|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?U0gzdGpFUmxJb2RncmFieHFtN1hXRk93S2RzSTI0c1AyWmpsWGpOYUMzdXA2?=
 =?utf-8?B?azJDbWFJaEtDZ1JDMzFWaU0yenF5UjB6czVJMjBsV3pMRldCS2M5b0FEY3Bk?=
 =?utf-8?B?SER1S0Fkc3luY2wvenFqNmF3N2Y2dVE4RUlCb2hCM1pVZHZjdDJNbmtaQkF5?=
 =?utf-8?B?alRpUlBmcWtBeUhRYUx6d1p3cVJYYkFnREQySUVycVpoS0ttbFFJWTQ5R2hC?=
 =?utf-8?B?d2NLK2VqL3RHNTZQUWNVMWNCaUUzeDBqVmNzcHIyQTJCUzNJY2FkSmlseWwr?=
 =?utf-8?B?SWVkZ3FtWCtaV1J1b2Uvemp0SEtSbHhTS1NSMFA5VnlvanlvOS9DWTZ1OUVN?=
 =?utf-8?B?OVZid1NDbmZZRFI1WXljYkNZam1OMjdvTTlNRzVKR2lqcTlIVEhYMTVNV3Er?=
 =?utf-8?B?RlIzQzdMZlF3R3NNcm13TDk5ZFVVTXM2ZFJiMHY0cVdncWFMNU5pUnpiQmYx?=
 =?utf-8?B?SEFESVBUanV2cXhWY1dOY2ppSHB2TGczNVIwRkVzdzdPQzQ1UEI2cis1Ynla?=
 =?utf-8?B?NUdSTG11SmJtY21FTlkwYUJOM1FDRVpNVHdNdk9SaGtTVGIrM0U0R1MvbHJz?=
 =?utf-8?B?V2ZTYnZsUUtPaWdnTFF2d1EvSjE4RU15QW5uaVRmS2JTVXFScC8zQnlIanM3?=
 =?utf-8?B?TWdHbVVVbmo4Y1pJbFVNcGtyT2pXNGpvcHoxQjlkeVpwckpLazhab3NCd3Ru?=
 =?utf-8?B?VTZBNFIrckpiMGUvaU9PaXBRSkhxVG4rcnNVc1BRRzVmZzZFdzF4eE1RdDZ2?=
 =?utf-8?B?NTFFcXQzcU5xaTJ6anI2elpHMmZ2Y1RuVURPbVhuZ2RUOXBaYkYzMjhHaFMy?=
 =?utf-8?B?bGtzQi92bWtZNExEb3RMS1AxSUtwUXhRK1V6RWRKSzA1dC9VL2ZpYVNobndp?=
 =?utf-8?B?a0swU1AwZUJpUEV0N290cWRHbzhHNHZ6UTYwaHoxdlpPQnRielpNczdCRmtt?=
 =?utf-8?B?WHI0UTBPbENGQVpoRjJQbk9tRjBScXc2TElNUmd1c3liL0dwalF3VWI3UU5z?=
 =?utf-8?B?am0xU1NIbFZuVTJOY3prRjk0M05JY2hnYTdsWGpGQis0NWNSalQ4akNNVVBk?=
 =?utf-8?B?bVpNU1pROEpjanl3VUtrU2lIQVVibFk2dkNka2hZemtJeUh1d3J1U2xQRndY?=
 =?utf-8?B?VFhONWk5OTZ1b0ZZWGFESGw2QkdkZVAwN0ZSVG11bTV0TXgzQm5uUTFEQ0Z1?=
 =?utf-8?B?Mk5ISnE1dk5kVDQ1OVdEWUdDRjc2WXBuWTl1dEdWeUh2T1ZtZnV1Yjluakhx?=
 =?utf-8?B?aEJKV3c4em1idm80bytWMFR3M3dvdHdJMWFZNk4wUVlGNGFoY3kzUCtWZEFK?=
 =?utf-8?B?cXkycmdSOE03MjRscEhyeGt6N2NqcjF4dHFZQmMwSDJuVUVhMkdKSEkxaFE5?=
 =?utf-8?B?NVRUdE9RaXp2a1ltMkVTWmVuTGlOM29lSi82cHV4ZjhuSkg2Y0FndWJXdzdJ?=
 =?utf-8?B?TG50Ritkc09VQllYa2FKVW5sa2NqZ2Y3VEhBT1E4V242MGxsbmFSZUdUS2k3?=
 =?utf-8?B?WlJzeTVIRmh5NXFJeGhZOE00eldzNzh6aG4wOEd4aHhuRTRZemhQazAwT2hY?=
 =?utf-8?B?czEwV213MXlCMmZyYnl3NCtTU200MjVQV2trOFMrems1NnczakNzbFVFc2JL?=
 =?utf-8?B?UGFXaXFKeXlCZ2lTTkRYdVprbmp0NFdCOWVLNWExWi9Ra0p4R204a0pBN2NV?=
 =?utf-8?B?RlZyNmJkRmxMNkNhdktudmM3Q3RHMEhIVVM4MmY3V0tzWVY1YVFJN3pJUjlW?=
 =?utf-8?B?dUd4MnlDb3FvbDg4RGttell3WjdUT3NHUzVuYlpEdnZTdmJXT1RYaEhFZlB4?=
 =?utf-8?B?aVZxSFJ4d25XbUF2YU90QmY5SU9uQXR2R2p4WDh3Rk5JRUkwMUdFRVoyRjhy?=
 =?utf-8?B?ck9vVHFGOXFLOHJIbHY0Si9FQ3BLK1NqOEJnRS9LUk9GUmhiMUZZUWFTcnFK?=
 =?utf-8?Q?x+bY3GZ1Eq1j8OO+3cYwAZERuK6EOb38?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?R1UwVFlOTmF4R1VLK3VjQjlqWUNWNUo5QUk4bHdZbitpREFhTkJRdUpISlVr?=
 =?utf-8?B?eWo4ampQTDl6ZUk3dnRYM2xwUEg5ZzNUMEhlMmpXa0JXcWN0eXdJS3lFM2Zw?=
 =?utf-8?B?cDRwZWlRVkEya0Zyd3dLNENpN3RSMm90YnhONnFLV0IweVZ2SDNBUitIVzZj?=
 =?utf-8?B?OENEUFJOaXQyZStTU0Z0Y0E2ei9aL2tTUjY4Z0hzb1Q5T3N2Qk1zd1g2b1ZO?=
 =?utf-8?B?aVFUcFRTOHNibDNTdkpZNDI0V0dvNkdEYnp6Z2lLY1B2S1hFYzdTRWk3ckkz?=
 =?utf-8?B?aFZZczFibmhFUFNiYmwxNmFlbDJXdzlYY0V6bFllSjhaUzhhTHlkVlFTTjJP?=
 =?utf-8?B?Zmo2V3c4M2dzN3k1a2ZkY0MvUXBIdkQ1N1dNWlMzQXAyRURISU9Jd29IbFJu?=
 =?utf-8?B?dkRhdXpLNVpNcjlqMFlja2szZlFqZTJJT2pncWEvQ21pcngyYkFienNqY3E2?=
 =?utf-8?B?ZTRBcmtMekx2RXF5ZzMwQnpzYUVpS25nenJmbWNFK0t5YndZSE4wNHMxbm9T?=
 =?utf-8?B?Y3EzSTc0djNRZUZBdTljY3JsUHdFcjRWN2RwRXl5TUJWMnc0Y2M0UHVGWjBC?=
 =?utf-8?B?a29neFA4UG0ySVhvSURrYWtyQnJnUXVlVVBxeVVRSGYxcFlMVDZTOFZORkxs?=
 =?utf-8?B?SWlORHBPV2o4ek9jT1ZVZHBxQzlHS2Zndll1ZkMyUzZaKyt0UWxubThDR0JU?=
 =?utf-8?B?eW05cW10S0JiUDUwRmVkbi9JNkRKUDk3L1dZZGJFdVlwTHFNRkM2dDBoQ2Rq?=
 =?utf-8?B?UitIY2JyMk1Ca2JjaWNKaXMvWUJPWGNBWTVWbFhoSHVtOVNwY2dFbEVPNmkv?=
 =?utf-8?B?YW1qZlE4d1ZmM1htd1RGSWdmTUsyRnV0Z0lVNmFSVGo1dnk0cGVSZ1BrOXBa?=
 =?utf-8?B?TnFTaGFHUUlDanVJdy9sQjYrSVV0Tzh4ZmgrTmV5cjdkT0hBZmlZQlJHYm9O?=
 =?utf-8?B?MC9pbTdMUVFnNFpYNG8yVWpsYnZ3S0hLWk1pV0dZMDFZaHp5WWlhOTZzb1Fp?=
 =?utf-8?B?UFVKQi9WL3kwMUxYdElXejNGNHVQSjFsR0cyVVVPU0Y4S1RUc3ZsOTNINEls?=
 =?utf-8?B?VnQwTWlYNHcxWlpxZnIrNlIzeTYyd3d3K1JxNFBUcVNtOUFDRXdlUW5YeG5l?=
 =?utf-8?B?YVo2R0VLbVhzdldqVnEyVlF5eE10dFV0LzNqYnViSGU2cGdRRXo5c3Q1dDQv?=
 =?utf-8?B?Q3ZqM3VHdVdPR1ZCUm95QW5rMHRZOEZscE1BWHovbFkzWEZjOEo1aVd0RWp2?=
 =?utf-8?B?UytvdHNVOHlkZEI2dERzekdtZG4vMEdMS1Z2OUxCTGVrVFA0bmRlMGM2eVJH?=
 =?utf-8?B?WGtrOHljZzQyZEhXTVR6Y08wbzBRbDRNekhGbVIreVJZazE5MFBmZzNtbU5h?=
 =?utf-8?B?cmdrYUpkY2xIUU5UVGZJUEpaakRObFc5eHl6VVlicUtraDNrbTBWMU1qRFdL?=
 =?utf-8?B?S282dG14NmFuRk9Xd0E4R3NCOUVGQ2ZHQVVOai9mNjl5ekwrV29WT21iWmda?=
 =?utf-8?B?L3lZemZ0YkVWWGxsTDkxZmhCQXphVHJvVlFUcjlqdXQ0cVdnc1pKY01zMFZy?=
 =?utf-8?B?a3I3dXZWSDVPTGJPeVpNYXpQV0E1ekhHV1NlRjhPd1BjdGNRQWNZV2lqdXR5?=
 =?utf-8?B?MXYrcG9zd2V4d2IzRWlzMzZZRE1BMHJ4ajdnOGRMZzhsaVpyMzF3Z0dzUEtM?=
 =?utf-8?B?UEltYXZxT0ViSms4blMrODRuKzUzd0x6S1BoTkZWdUVkRGh4U1owWjFrWmVZ?=
 =?utf-8?B?VDRwUG41ZHdTYzJ3Y2xRTVRnL1pDTzFIWitMaHpkNFhzaTBrV3ZMVlFhakFY?=
 =?utf-8?B?ZnJydHFjQ2NFZ29FOG41VmVhd2ZuL0ZPT2dVbDNKYVNCNlFXT2x6cWREeU1E?=
 =?utf-8?B?SUJxYXV0YkhrZzJGenBoa2dhdkFPYUFkYURDaFY1UVg4UXhORE5JN1M3bGRP?=
 =?utf-8?B?aXI3ZHhGUkRFOHRjOEVqeHRMTUM2amZmemNBZ1Zzc1N3M3JCRzRobDJteis3?=
 =?utf-8?B?S0NDWTF6NjdOV2F2aFFiSWVYY0pkeEhCZzZqRkEwY3hvQVBlU3RKM3FtZlJy?=
 =?utf-8?B?OXF3cnpFaklMYW5LZjNDS2ZiTElyR2JtMTJXMVhKZE1JOGdWMFZkZngvVDNw?=
 =?utf-8?Q?aQmidSGcjEmK0TI7eo3v+R0Dk?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fd64edf5-dedc-4584-732f-08de0c10ca2b
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Oct 2025 17:32:18.6100
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 7WxLeCQ1NmWofS/ZF3st+CPglyhqAnvsN+gxEDjaQTg49e67HQ69B1LdlfjIEeP0YQ3NiD7n7fLF8TY8+ce94A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR03MB8086

On Wed, Oct 15, 2025 at 01:14:20PM -0400, Jason Andryuk wrote:
> On 2025-10-15 08:59, Jan Beulich wrote:
> > On 14.10.2025 09:37, Roger Pau MonnÃ© wrote:
> > > On Mon, Oct 13, 2025 at 05:11:06PM -0400, Jason Andryuk wrote:
> > > > io_apic_level_ack_pending() will end up in an infinite loop if
> > > > entry->pin == -1.  entry does not change, so it will keep reading -1.
> > > 
> > > Do you know how you end up with an entry with pin == -1 on the
> > > irq_pin_list? Are there systems with gaps in the GSI space between
> > > IO-APICs?  So far everything I saw had the IO-APIC in contiguous GSI
> > > space.
> > > 
> > > > Convert to a proper for loop so that continue works.  Add a new helper,
> > > > next_entry(), to handle advancing to the next irq_pin_list entry.
> > > > 
> > > > Fixes: f821102450a1 ("x86: IRQ Migration logic enhancement.")
> > > > Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
> > > > ---
> > > > v2:
> > > > continue (not break) for pin == -1.
> > > > 
> > > > I added the next_entry() helper since putting the expression in the for
> > > > loop is a little cluttered.  The helper can also be re-used for other
> > > > instances within the file.
> > 
> > Would this intention ...
> > 
> > > > --- a/xen/arch/x86/io_apic.c
> > > > +++ b/xen/arch/x86/io_apic.c
> > > > @@ -1586,14 +1586,21 @@ static int __init cf_check setup_ioapic_ack(const char *s)
> > > >   }
> > > >   custom_param("ioapic_ack", setup_ioapic_ack);
> > > > +static struct irq_pin_list *next_entry(struct irq_pin_list *entry)
> > > 
> > > I think you can make the entry parameter const?
> > 
> > ... possibly conflict with such a change?
> 
> I changed only the parameter to const, and the return value is still
> non-const.  So I think that will be re-usable.
> 
> I placed next_entry() immediately before its use in
> io_apic_level_ack_pending().  It would need to be earlier in the file to be
> used more.  Should I move its addition earlier?
> 
> And another Minor question.  Roger asked for ~Linux style in the for loop.
> But in next_entry() I have Xen style:
>     if ( !entry->next )
> 
> Should I switch to:
>     if (!entry->next)
> 
> ?

IMO for complete functions newly introduced it's fine to use Xen
style, I don't think we will ever import anything else from Linux to
this file, we have already diverged too much.

Regards, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Oct 15 18:50:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 18:50:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143906.1477480 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v96Zt-0007S3-Nh; Wed, 15 Oct 2025 18:50:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143906.1477480; Wed, 15 Oct 2025 18:50:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v96Zt-0007Rw-L3; Wed, 15 Oct 2025 18:50:25 +0000
Received: by outflank-mailman (input) for mailman id 1143906;
 Wed, 15 Oct 2025 18:50:24 +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
 <SRS0=nzz5=4Y=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1v96Zs-0007Rq-Bb
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 18:50:24 +0000
Received: from DM1PR04CU001.outbound.protection.outlook.com
 (mail-centralusazlp170100005.outbound.protection.outlook.com
 [2a01:111:f403:c111::5])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ccc333b1-a9f7-11f0-980a-7dc792cee155;
 Wed, 15 Oct 2025 20:50:21 +0200 (CEST)
Received: from DM6PR08CA0058.namprd08.prod.outlook.com (2603:10b6:5:1e0::32)
 by MN2PR12MB4062.namprd12.prod.outlook.com (2603:10b6:208:1d0::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.11; Wed, 15 Oct
 2025 18:50:18 +0000
Received: from DS2PEPF00003445.namprd04.prod.outlook.com
 (2603:10b6:5:1e0:cafe::c9) by DM6PR08CA0058.outlook.office365.com
 (2603:10b6:5:1e0::32) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9228.11 via Frontend Transport; Wed,
 15 Oct 2025 18:50:18 +0000
Received: from satlexmb08.amd.com (165.204.84.17) by
 DS2PEPF00003445.mail.protection.outlook.com (10.167.17.72) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9228.7 via Frontend Transport; Wed, 15 Oct 2025 18:50:18 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.2.2562.17; Wed, 15 Oct
 2025 11:50:16 -0700
Received: from satlexmb08.amd.com (10.181.42.217) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 15 Oct
 2025 13:50:15 -0500
Received: from [172.18.10.234] (10.180.168.240) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.17 via Frontend
 Transport; Wed, 15 Oct 2025 11:50:15 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ccc333b1-a9f7-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=DHmcBfEoN3x253HX4Zu/ewgko+ENrnEqFUJGXgjk9F+UiWOUXajqxOcEfDH76JpivX2lUex3Al7tSUyI5z5MfJ1tD3V94limW8DXELXfnSnORS+WOtumqptS/q4BpHlTQ9Qb+PXcYLnxKRbezJgwJ1Zzf+64zyCOxW+4K0vY6gv38OeeTiDG5usUP9YjE8Dakj054PtThLVakpWw6AcfkGFxo6sschCflzVwqNkp/V+H/R8zm+kZCmyHZwCnFhLrG0+oQ0GUEhr9mFzxIjksRxygiwZR+9kAyfJqkjSA8/Hg742eB5wsmZcXSNUNHpBOGVd7uMnhemFL9MAj6/Cx7g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kzYYdd6yASB1df4nN5ksjUGYlWqBQJBhElXxtuZkeZs=;
 b=y4b+EHrbwpAbFWALRgwrMgwj54dntblGXbJMlI2e1U4aBPNK06hY9QsyyZy5GsFkKq2ow8IVCikSAmA+evXak1vxfTMZnjBknDy5tvERsn3f4Fnc9Ca1LOIdBYCIJjAoe8yiHLOJ74bayG4UKWjn03ClMjyT+qBKc/uREWLoUPdLrSJxQZyvdduCo93EAOddndUMhv5LF6isVh8p/ex07XI79jRAjx7sJfYIoB4Vx+aelAOuIRnRHImvjiIYDw0iCJYifVITa0nLcQmgJpnBvye5P5vSwhklNMpLGuybJMMPgBnDQHFl36BsPySrZjnME5v8sfuiyDi385/2Zswgtg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=citrix.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kzYYdd6yASB1df4nN5ksjUGYlWqBQJBhElXxtuZkeZs=;
 b=5fZZI7nf31JheWZMJbX5nRdvSwEEcRXF+gY0ox72liRAyPLkDjYj666ADjqCx3JspdQd6lYOACmCSmqJxshVBEKRbwUhFhblmwUXAcmiW4LRNYo/0yo8obVBWoOCvqfCj0UuFKUYTszm0Jfag6nZ36Zj9wMe7tV5yyUKM+01dHA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C
Message-ID: <01bb3ad5-31ed-4690-8dce-aca4c7aa888f@amd.com>
Date: Wed, 15 Oct 2025 14:50:15 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21 2/6] tools/libxl: avoid freeing stack rubble in
 libxl__json_object_to_json()
To: Roger Pau Monne <roger.pau@citrix.com>, <xen-devel@lists.xenproject.org>
CC: <oleksii.kurochko@gmail.com>, Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
References: <20251015134043.72316-1-roger.pau@citrix.com>
 <20251015134043.72316-3-roger.pau@citrix.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <20251015134043.72316-3-roger.pau@citrix.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS2PEPF00003445:EE_|MN2PR12MB4062:EE_
X-MS-Office365-Filtering-Correlation-Id: 7bda1019-364a-47d9-af3a-08de0c1baf7c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|36860700013|376014|82310400026|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?K0cvc2t0TVNEYWo4aUxNM2VGWjdZRGYwYTBQSFM5ZmtUY3p5VzQ3TUNzQmpE?=
 =?utf-8?B?cy9Dc3VQRE91SEJqZ1JtcDZjZWNuQUdoQ2h0NVJmNFg4ZWRBUHNaazJnaWJ1?=
 =?utf-8?B?dThKSTZ5MUxETXU4WGx2ZXg1b0k0Y2hKNHFuNWQ4WGM5ZmpXemxoeTk2REdk?=
 =?utf-8?B?eEFjb1poVzZsc0F6K2UvL1NvWHdFS0RhUkZxUGRwOUw3NXFDNTV2dXJaSFNp?=
 =?utf-8?B?elNSaG1abysxR2VrL09QeGFaS0ZidlhaaUNjcUpuR3hLMGNiYkt6MlFoTWhl?=
 =?utf-8?B?VWc3ZlVPK1ptTTM3dTR1WTFINVFxVG5pM1dCdHFhdmNtU1FEQ1VRSFNoK3RF?=
 =?utf-8?B?R3lXd3JrekVWZ2xOdTE1a0gxRXNPSGRjdlNOU2luMDAxMSthZ3cweW1FY0FC?=
 =?utf-8?B?b3J4VUMvUVNsOHJzT3VRTUJvRVZSMVRzRC9CNnZqRU8wbHBWeFZUaEdGNUNP?=
 =?utf-8?B?RUFMZDBmZUZyejlxYUgydEdrYW9EQ2l6aXBrU0F0VlVaRHdIQnVscncrZlBQ?=
 =?utf-8?B?bnJXWmhvMUFtVnBGV3BhSi94YjQ5MDh3b2JZZmZWRnJSRHZQUEszYmZTT2Rj?=
 =?utf-8?B?VkYwdm1Kd01zS00vOGJGdUVMYktEUnJXWk9SRzF4UWdnN0dJQlNjc3l1ZnJG?=
 =?utf-8?B?dUxRd2tUSC9yeDFzT3ZxK3E3eW9POG5XWUlDaHBnZ1IzZU9qTE8xVnZneTdE?=
 =?utf-8?B?b05lRHdRNU8vaFNySkNyR0ZsYzJkUmhkL3dmWWJiSld4Tll5RmNweDcvVmZO?=
 =?utf-8?B?MC9NSE9RZ1h6cTZIa3l0NC9mTFFJakcxbVFsaGtHb3dmTE5OTlBkQkRsNjdH?=
 =?utf-8?B?bnBpUnNwL1NzdEZkYWM1RDRwcEVOeHpKbG9pTkNrY05XVlp1dkZhczR4bDE0?=
 =?utf-8?B?YWU0TTJEbkcvK1RlM3hiQ0NHcngxbTBxTVF6clh0NVZVdzJFTkZmR2M0d0N5?=
 =?utf-8?B?VzdYYXBtSW10TjhJK0ZOWkVWbnZ1V0pvYmkzU1dHblRhRGdTS0FnNTRyR1NC?=
 =?utf-8?B?OERhNmVPNmFsdDArclNVM1N2ZytyNWNvb1g4KzNyOHpPRkZnSjFoZFowSUZP?=
 =?utf-8?B?ZlU4ZFA2R28wQXBYYllmQXdZc3JTQ3dIbThFUDF5Y1JyQUFLUlZFM0lyczdz?=
 =?utf-8?B?aGFMT29iWDFtc0Rodm5BcnlpYzkxL2FQTndTRzdaZTJpZlk4Rjd5dU5XaGpG?=
 =?utf-8?B?WEYyU0ZMbTJDY3V6bm9NK2FHcFJrREEwU0oxanlOSTBCMXUxTlF2RTVHM0pF?=
 =?utf-8?B?L3crekFVUzIveTV2TTYxc3JWUk5rYlUwZUFaTUJKdVNKZEdzVDVPeTdoTHBs?=
 =?utf-8?B?eEhpb1dOYU51OGxMMFpIQkVqa2ljak0vOHBhR1g1UzR0Yy9MRnZxQ0lOR29E?=
 =?utf-8?B?RGExZ1g5V054SENSTFdhZ2E1QmZVRCt6QWxuMkExb1BUaHRPS2NDQThUK0hS?=
 =?utf-8?B?cTlhL281SjhnT0diT0V6bktQNDhCTm11VG1DQzI3K3NFcjVZNlRmVTRrWmRN?=
 =?utf-8?B?N3MxVXNTVDRYcmtNeU02eHVCUk1BNVhMT3RBVEpXR3RwdHhuSDVMUDBUR3B1?=
 =?utf-8?B?NERiQ1FtN09jZDM5blVyZVZhcVl2ek4rVEZFTnJIVTUycXVFMlVLRkJEMTg2?=
 =?utf-8?B?eFU4TFd1UktxVlExc29DbDRiMWU5SThFMWhUNUtxak10WjhsRkliTGxsK2pL?=
 =?utf-8?B?eGlNTTFjQUZsYXorSFZiV3JibStzdVNmeEtNbVJLcUFqSEZyUU44emtvZmlz?=
 =?utf-8?B?VCtOWmFDSmhnTEg3N3d1Wng4RkdQK2V1MTBlb1h4L3Vmdk12K0l5MVBEN0RV?=
 =?utf-8?B?SjI3K2xxRnIxYlpFSWIyN2dKZVZWS1c1dkpVdlJDa1IvQ29odXluMWJUaVQ3?=
 =?utf-8?B?a0dLeXdqc1MwdjJZMS9TbGxROFBZWTQ1dzVZOG5YajNrcXY3Z3lDU1hBei9Q?=
 =?utf-8?B?TW52cUJtT1poVWo4R1cwc3BhdHZUVVpuOUdnR0JpcHB3MlA3STVtaTUveDdp?=
 =?utf-8?B?UVRaMFk5VUtHM2lZaU9mdG1SMWM4U2lrdnRMc05IcHh6V1ZDY3psZXlWTDZp?=
 =?utf-8?B?eFVvK09rNWlvWFhhWGNyZThMUzNhUndSVUZHeWtycU10MjR0TmZYeVNORHFI?=
 =?utf-8?Q?xdjo=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700013)(376014)(82310400026)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Oct 2025 18:50:18.0239
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7bda1019-364a-47d9-af3a-08de0c1baf7c
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS2PEPF00003445.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4062

On 2025-10-15 09:40, Roger Pau Monne wrote:
> It's possible for libxl__json_object_to_json_object() to not set the passed
> jso_out parameter, hence initialize it in libxl__json_object_to_json() to
> avoid freeing an uninitialized pointer in case of failure.
> 
> Reported by XenServer internal Coverity instance.
> 
> Fixes: 75fa670e582c ("libxl: Convert libxl__json_object_to_json() to json_object")
> Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>

Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>


From xen-devel-bounces@lists.xenproject.org Wed Oct 15 18:51:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 18:51:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143917.1477490 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v96as-0007vK-1A; Wed, 15 Oct 2025 18:51:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143917.1477490; Wed, 15 Oct 2025 18:51:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v96ar-0007vD-U5; Wed, 15 Oct 2025 18:51:25 +0000
Received: by outflank-mailman (input) for mailman id 1143917;
 Wed, 15 Oct 2025 18:51:24 +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
 <SRS0=nzz5=4Y=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1v96aq-0007jK-RH
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 18:51:24 +0000
Received: from MW6PR02CU001.outbound.protection.outlook.com
 (mail-westus2azlp170120002.outbound.protection.outlook.com
 [2a01:111:f403:c007::2])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ed92aaa1-a9f7-11f0-9d15-b5c5bf9af7f9;
 Wed, 15 Oct 2025 20:51:15 +0200 (CEST)
Received: from SJ0PR05CA0056.namprd05.prod.outlook.com (2603:10b6:a03:33f::31)
 by DM6PR12MB4058.namprd12.prod.outlook.com (2603:10b6:5:21d::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.12; Wed, 15 Oct
 2025 18:51:11 +0000
Received: from CO1PEPF000044F4.namprd05.prod.outlook.com
 (2603:10b6:a03:33f:cafe::23) by SJ0PR05CA0056.outlook.office365.com
 (2603:10b6:a03:33f::31) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9228.9 via Frontend Transport; Wed,
 15 Oct 2025 18:51:10 +0000
Received: from satlexmb08.amd.com (165.204.84.17) by
 CO1PEPF000044F4.mail.protection.outlook.com (10.167.241.74) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9228.7 via Frontend Transport; Wed, 15 Oct 2025 18:51:10 +0000
Received: from Satlexmb09.amd.com (10.181.42.218) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Wed, 15 Oct
 2025 11:51:09 -0700
Received: from satlexmb08.amd.com (10.181.42.217) by satlexmb09.amd.com
 (10.181.42.218) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Wed, 15 Oct
 2025 11:51:09 -0700
Received: from [172.18.10.234] (10.180.168.240) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.17 via Frontend
 Transport; Wed, 15 Oct 2025 11:51:09 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ed92aaa1-a9f7-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Fu33UoRV6bUFbE/ogSd1ac3QAq9XTptrj86SP4uYkYxXwGuT3etzCbFh2wpVCvkqaci54jh3YLODmwKAUa0ssvV5X9p0NSxGrN4BucI3Q8cFnO/msGNA+Wz6GVVhWheMOs/LnnzvKDV+b03MNMKDeh1fPlAEGgZ/LMU3yEuZ87IpNtrAwX+E4WQbAYe/bEtGvdVSr1ScPI5wbM24ZFCm6QaZnlSMYluvn+RqblXiWuFqkXvWn5GMHWewMGgx/DF+UsunmMp/AbJB8NQbC3xV6Gaw+8Eqedl4Cy1q3ALlB7uVmZfDolzFXSdiBxq/R9J6F2/LVBo6KS9oWiQn3I2itA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KViWu/4i+Fg+8e7ob3dctVe3dvgToo2WPPfh02SNOYo=;
 b=t4IDtNZq7DDgA0yfZP2nOzZ5M3Ob9jXQcRx0cdIfkIH+wqJxAAwY7glym2vfc/TDbKgWmggiMhto6loBb7EqhRzEjqoZ4cf45YJ3hjBWD5SS4QHwUGPXEOP5NmXvn2pv6bOrwWZTG+Ktr6yNoDzM9iaEzdpHMdPQLZmd3hdqn3kF+HC/K6O0bqOFaZaQp5e7/BQQhcD/dY4tfQdW/JgE+GWeDgoeFDrUwnGxZGOGRMP0YOO7myulcm/nhtQtE+W9jXN4vxWRPH9SyZbS7yZA0eUrZe3derM881nBmD6mZMSYKwPX2f1LyWvD+0mQNzn1ai9QS7jsYrndRMX8mSBnxg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=citrix.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KViWu/4i+Fg+8e7ob3dctVe3dvgToo2WPPfh02SNOYo=;
 b=bfypLU/fBav2idkDt/nvhdtlWjIeYCLGDW5WkJVB4sDF7hQa0OyQjjSmDg6+y0aYcD6UUXV/0LPgcGjDMhWYg5XjVnElexzqBLYuv1OVdLf0Voeg9fIRaVVJZwxJ4oQ+F2fE8JbxUXpEqzU3VbgWySOKiMvJ3vxQdrl4k13I0d0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C
Message-ID: <8ce4fc37-b9bd-4ff0-b82c-3fb7f24f248c@amd.com>
Date: Wed, 15 Oct 2025 14:51:09 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21 3/6] tools/xl: check return of
 json_object_object_add()
To: Roger Pau Monne <roger.pau@citrix.com>, <xen-devel@lists.xenproject.org>
CC: <oleksii.kurochko@gmail.com>, Anthony PERARD <anthony.perard@vates.tech>
References: <20251015134043.72316-1-roger.pau@citrix.com>
 <20251015134043.72316-4-roger.pau@citrix.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <20251015134043.72316-4-roger.pau@citrix.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000044F4:EE_|DM6PR12MB4058:EE_
X-MS-Office365-Filtering-Correlation-Id: 69605dfb-213a-4469-2d1c-08de0c1bcecb
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|376014|36860700013|1800799024|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?WCtLazM1YUZxeDU3dTRKSk56M1QyWEM1SDRnNDhIZi9ZKzN0Q1J3VHNoUmlk?=
 =?utf-8?B?R0M4OUs4YzU4TzBrejZPd00xTjU1Z3k0Q0pwK0M5M1FKVWszd01zK0xXYk5U?=
 =?utf-8?B?M1c4VkJzWmFZSDdrMFVTeHRqUnN5Z2lsVmR4d25ubVNzMlZuM25jS0ZEZzk0?=
 =?utf-8?B?WGtZVjQ5WkhybjJVOGplSlNSK0ZHQUZidkR1ZytnUE1sU3V4b0I5OWlsWHFk?=
 =?utf-8?B?ZTZXeDUycVNtanJFYzNsQm1CQUpUVEtqbXB0M0dDOVQzUDBHeDhIYzRhbWpt?=
 =?utf-8?B?MnFrUlA0NDY3dUpzbmNVMkxISXhhd0pvNlVHRmlPVnBPeUxjZTJ5RnhzZ3Uw?=
 =?utf-8?B?MmVJQW1LM1ZrUjJWQTFadzA3bmhEcmFTK2RmMTcwZXl0MGc1dVZZSkt5SzlQ?=
 =?utf-8?B?NzdRTklwN2FKcEpCcjB5TDJqbEk1SExEQm5WcE5VTTBFYnJ1Qnl3ZjlxbGNB?=
 =?utf-8?B?YkY2YVhUOFhRd0pxa2hmYWlmNGVJVUxYMDJaa2RtNzBKcTRXaUF0OWVxSUU4?=
 =?utf-8?B?NVpCU1FrbXJRcmpIR2hiaDhHVER4REhwZWh3eDliY3R2clIycE9iQVNUL0Mv?=
 =?utf-8?B?RGJLdHMzamNXd1hVOFl1R0MxNUR4U0pOZlIxeTZHWVNJZEZBR0lKUWp0Sm42?=
 =?utf-8?B?dStYU0FPNXRjZnI1NUlwUERzZlhuTVUyM0t3cEppR2x2ZEtvbmJGWXNRcUNs?=
 =?utf-8?B?UGlSdktac1VJaWRpcmxLblFST1hKNUdWcGZRRnV4b1RqMWw5VEpaeXRrN3Vi?=
 =?utf-8?B?VDN2TFZvZXB6NVpBK0QweHFpWFcvWjdkTEg1L0l0R2tJT2VNOXFkQld1ZnRv?=
 =?utf-8?B?T0NuY1o2VEswMjRoUjEwWTU2Q2hYMnpFbytJOTdtSE43clBCc1dERGFRTzBi?=
 =?utf-8?B?UlNLQUZPekROcm53aGNsTTNGKytta0M1bDNOVVhZT3U1bm1MSmtLQWRYNyt0?=
 =?utf-8?B?YlRRNUZaeXdiekF1UnFYWTRqNWRtb3oxcDdCbHA3Wmg3VHFVOFJwMFVKU0pj?=
 =?utf-8?B?MzBnc01vd0c3Zm8wWTFNNEFPZUllOVMzQk1CV2VjV0VXVEtsZmg2ck5wZ25w?=
 =?utf-8?B?V1QrSWNXM3U3ZEROaTNVZS8zMDdDeUlYOVVnVWcyUmRVYm1qLzEyR3l3bk5B?=
 =?utf-8?B?NnpuSzZxNW1TSHc5ZXcwV0RYVUtYSE5oaXNVMzE4dFY3bWgzMVhPUitiYUtZ?=
 =?utf-8?B?ZndLSkFnV2JlanZRWHQyZ2tOeGR2V3RXd2l5aldjbDJmMm9JNTJwREVQSG9u?=
 =?utf-8?B?N3MyY0o2ZVJvQ2dHZGVtMkh5M0RnMTVEa0lyMXRNMEFQcWdCaTRwQnVWc2tw?=
 =?utf-8?B?bmdnRFRyVlFLVkVuNWZSTDJZOWFVN2lOaklXc01sTHlzUzN3dmFpVjZnKzdt?=
 =?utf-8?B?Rk9UV2VwZFFtREtqaG52WWQzaWZTdThiYjFjbG8waWdwTWxJTW93WEgyd3Vu?=
 =?utf-8?B?b2R5NWtVMm8zRWRQZm1wV2s1OHRZUUE2WHZqRjgxSTIzUnhWYXRteDh1bklS?=
 =?utf-8?B?RTRuYmpNWHlDRTdZOENmbEg1M1Y5RmpEeUFiNEdFRnF5WHdtdmF4bzBNQjVW?=
 =?utf-8?B?dUFBMVpydUI4NHlZckRnY0FBbnkvNVp5TldFWWdWdzlEVnQ2d1krNldCSjN2?=
 =?utf-8?B?RVZHcC9RNjBNa0JQaXNHUlVkSmJiaGN2NVBXWVlGeDVOUTBxUGV3M0ZLUkVz?=
 =?utf-8?B?SjBna25qc3ZQbnJxVlJGek1zdjlBK2tmWm5QK05jZmpZSStyVkNRdnZXOXNn?=
 =?utf-8?B?bkUrbmpzZnBUeFZkMmNBbXNBNXhqMWdvTk0vREpWdDJoUUFORDg4VTRPYmpK?=
 =?utf-8?B?ZU5ab09qN1FWbVRQTVBCdTRXTXQ1QnVleFV5ditqYVJzMFpKdzVia0hITDI2?=
 =?utf-8?B?YUN5aitXamlTRER1WVVyNDZuQ3FuN0Zua1dJZU04YytDdmxISXJuc2NJSzBZ?=
 =?utf-8?B?NHd4Z1FxY0Q4aTFZNHpNckt5UGdROWYyYjMzOE5veFFXc2Vrcys2SWovV1Fn?=
 =?utf-8?B?QlE5R1A5ZkV5aFQ5dXY3b0JkTGMrL1FVUC9KSzVnNHZ1RjFNSUc2V3I4Z2RR?=
 =?utf-8?B?Y1VMV1Vkd0J6ZkR0VWVGOVpGL01rZmVvL3g0dTRUSHZVdGZnWDlidzBUZUIz?=
 =?utf-8?Q?hi6I=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(376014)(36860700013)(1800799024)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Oct 2025 18:51:10.4921
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 69605dfb-213a-4469-2d1c-08de0c1bcecb
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1PEPF000044F4.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4058

On 2025-10-15 09:40, Roger Pau Monne wrote:
> Check the return codes of json_object_object_add() calls in
> printf_info_one_json().
> 
> Reported by XenServer internal Coverity instance.
> 
> Fixes: f6c6f2679d49 ("libxl: Convert libxl__object_to_json() to json-c")
> Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>

Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>


From xen-devel-bounces@lists.xenproject.org Wed Oct 15 18:52:18 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 18:52:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143930.1477500 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v96bh-0008VK-CS; Wed, 15 Oct 2025 18:52:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143930.1477500; Wed, 15 Oct 2025 18:52:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v96bh-0008VD-9N; Wed, 15 Oct 2025 18:52:17 +0000
Received: by outflank-mailman (input) for mailman id 1143930;
 Wed, 15 Oct 2025 18:52: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
 <SRS0=nzz5=4Y=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1v96bf-0008V3-TX
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 18:52:15 +0000
Received: from CY7PR03CU001.outbound.protection.outlook.com
 (mail-westcentralusazlp170100005.outbound.protection.outlook.com
 [2a01:111:f403:c112::5])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0f58662a-a9f8-11f0-980a-7dc792cee155;
 Wed, 15 Oct 2025 20:52:13 +0200 (CEST)
Received: from MW4PR04CA0333.namprd04.prod.outlook.com (2603:10b6:303:8a::8)
 by SA3PR12MB9106.namprd12.prod.outlook.com (2603:10b6:806:37e::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.10; Wed, 15 Oct
 2025 18:52:10 +0000
Received: from SJ1PEPF00001CE3.namprd05.prod.outlook.com
 (2603:10b6:303:8a:cafe::3) by MW4PR04CA0333.outlook.office365.com
 (2603:10b6:303:8a::8) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9228.10 via Frontend Transport; Wed,
 15 Oct 2025 18:52:08 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 SJ1PEPF00001CE3.mail.protection.outlook.com (10.167.242.11) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9228.7 via Frontend Transport; Wed, 15 Oct 2025 18:52:09 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.2.2562.17; Wed, 15 Oct
 2025 11:52:06 -0700
Received: from satlexmb08.amd.com (10.181.42.217) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 15 Oct
 2025 13:52:05 -0500
Received: from [172.18.10.234] (10.180.168.240) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.17 via Frontend
 Transport; Wed, 15 Oct 2025 11:52:05 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0f58662a-a9f8-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=kanJf1rqF0hPZpqQ7wL+LBy1D7FwQWzVKZ+BZbmaIWS8dkUyyk1QD10Y7RCAkSiJYOwB0CnJIhkPu1jBt98hOQ3Ne9LlR2erh2w2tR5t8iN4RRkH6OSF46HeCmFCKMdiQ+kwmjH+IQAzIDsgMlSh0UDy712AsEqgFbQAEpiYM6wjA6HF50WrbDBgaUp6MVt2G0OygcDQijPolo5+/YeNj/s+GbEiYZ0z9Zvx289WqZl7tuGvnI2YH2x4BnZQQCzxcweUKealpEtr0TExIWJDhefr37UsHw0+6yMrR7IpcIEB6D9hMyAkXMWiqnLae0kjAQQmF69H/fv6vYb3U5+Gcw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cfIDTQ4ZHtHMJTG7B2yhaC5eSTap5FSz9rY+Pm7zJ1M=;
 b=TBWEAkLMFkSXNi6onS1EawCs6+NwU6R16oCDO+69tn66LNO+9LHIY9olxd+sAK9AzRiBoXQe3BDXy7UsTQKdirLD5uLl4m6nsXTWl9u2TzcyIkK+86Y0KUn2yr0s7dpD+iGV8OcKA/4cpWko3SyPF05RIhCLakiCkzxe5w5VtzwA/R8cK+iEyRFI3ReDXpMuAp0jOYr6r3mRcKN4lTf+D44lBMir+WCdTq4vkVX7HFdFoQ62IRJWxcLfH8ttV8qmsc4GLwaVFt3jp+bBVhLvq/Yk0NErv9oo37mrFUWLhjYLv447A5Zmyf/RH1WPpTejCsgflMU5f5Wu/7iQxZxXwA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=citrix.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cfIDTQ4ZHtHMJTG7B2yhaC5eSTap5FSz9rY+Pm7zJ1M=;
 b=fA6ALkRTEHPaPIKBv5ij7Ny1lfQDfZ24RmYv/EydOm5VMZd9n7r+DOgtJ2Qg2QCppqEs8Zcj2sc3cSfQf/4DAyg/o2JLGuuB53QKZc9dOTesmBNqlYISndzajPERVD5j7EiIoGmRLewn2AoANmuZmsIPQLoCdXSDqAt5+37kWSo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
Message-ID: <f3387925-0902-42b0-bbf4-99c614cdb86c@amd.com>
Date: Wed, 15 Oct 2025 14:52:00 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21 4/6] tools/xl: check return value of
 printf_info_one_json() in list_domains_details()
To: Roger Pau Monne <roger.pau@citrix.com>, <xen-devel@lists.xenproject.org>
CC: <oleksii.kurochko@gmail.com>, Anthony PERARD <anthony.perard@vates.tech>,
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pua@citrix.com>
References: <20251015134043.72316-1-roger.pau@citrix.com>
 <20251015134043.72316-5-roger.pau@citrix.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <20251015134043.72316-5-roger.pau@citrix.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
Received-SPF: None (SATLEXMB05.amd.com: jason.andryuk@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ1PEPF00001CE3:EE_|SA3PR12MB9106:EE_
X-MS-Office365-Filtering-Correlation-Id: 21dddf7f-2879-4238-d1fd-08de0c1bf20a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|376014|1800799024|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?eUhvUE04UmJ6T1V4UWlyMXNGYjdNdFYyWU5jZXNSZmM5OE1EWC9wZ0xOamg1?=
 =?utf-8?B?dGdPTkN5WXNRTXU2Z0NqYS9KbHlnaHJzbVhUWE5WclFHZzE2SE55MzA1cnRS?=
 =?utf-8?B?TW8xa2U4K29Fd3FPaE9UZmROWWJMS2tnZnRYR252VVpUU21xYVNvdk9UQml0?=
 =?utf-8?B?UWxSMmxZcDF2L3BpSDNVZUF3MWxWSE9jTXYvdWcvM3ZNeWRUOHNKQkdaclJZ?=
 =?utf-8?B?RVVSRmxybkN6M3kxRTV3Tm12b0J4dVA2OWNMTE0yQW5Rc1VldmRRUDA5VlZI?=
 =?utf-8?B?K2RPc3BkVWdsaEU2dzVtTDJxM0VvbHR4THJUZ002eENTOHZORm14MmlxMDlU?=
 =?utf-8?B?ZlZqUkU0VzBsNFRCWUdaTTQvSG0wMWNwVTN2OHJLR1czcXZreWtrVlJoK3Ex?=
 =?utf-8?B?ZTF4Qlp2VWYwK2pQMC91ZUtVVXVzKzF2Snd4czB3ZGp6SWlycWxzVnBISUZ3?=
 =?utf-8?B?Yy9FclpqcWRseUwvcng1dWZyYkFNNS9XdFlBRU11akx5b2sxc1VHRVdRc3Fn?=
 =?utf-8?B?N0lCSGJyclNYRTZheGlaWktiaDQ4UWxERWNGa3JsbERtL0tKWWVOMW9rVHR0?=
 =?utf-8?B?SlFJRitaVEVtdGZvOWxoWnNGS1pJUlhucDRYd0E1YVlZT3p6KzQ4SVJLaFl1?=
 =?utf-8?B?eTJMZWpNWWpjcFBURHpqVS84ck14dksyamFZVk95NERPaDEyblhwUnhmakt0?=
 =?utf-8?B?S0JFSFdMclRWS3ZndlhXOUFmUEt3dFdONnpKSmtFU3JiNjlneUdabzE0bGVT?=
 =?utf-8?B?SzVTQ2JDbmo3aVBQNkdsVWtNdUN1ekhnSm9KazRkbEN6MHk1VEZoQXdVaExl?=
 =?utf-8?B?VmVKeG9HclJzaXFvUkR2WEZJMFI3STlMaEJBdXY3YzB3dlNPTVpZYlVJYWIv?=
 =?utf-8?B?a3RJSGtmRDZRaTh5N1ZXbjd3UWZCMC9QVGIvam5QM0hacm1wU3k0Y296WlVm?=
 =?utf-8?B?Y0dRRWcwb0VPNXlUbzVOeVQrUFVHUm5IdHdiTGFDaVhja3pSeXJGQkY0UnR3?=
 =?utf-8?B?bmZramxvUzhqZHh5RGs4S0tkUTFoZ1N1T2VDL3JVTDF4aFBDVHh6YkU2M3cz?=
 =?utf-8?B?ZWVBeTdTUVhveVR5K2IvNmhTQ01QUVB5Ni9vdUFheTlKeG9OTjVBZHF1aHVG?=
 =?utf-8?B?SHhlZS9vcVVZRHpMV2RKQnllN3N5WEtqY1h6NXl1TEkxdFZQbzBtSzIrN1dP?=
 =?utf-8?B?K2lUS1YzbG5QVU9INXBDNFBuVFB2YW50YXZYZnBLRGpRV2Q1N1BGQ3RLVHM1?=
 =?utf-8?B?NlFTcW9CQ3dNUDVDdXdOWUZqdHkvRWx1aHFpckVqWjJGK1RFV09GcVpyS1Zv?=
 =?utf-8?B?blNRQlRqTDZ3ekNONjZRY2dPVlRtZ1hEVFVDVk4zQURaWVlMWXdLdkxYa3VT?=
 =?utf-8?B?MDFHUEVIZXNSL1NHR1hGODF2Sys1Q2tIaUFxUUhvVVNaLzF6UVgrUGdBU3cw?=
 =?utf-8?B?eDluN1lJd202cUd5WTFXUHdLbkxaMGlMUjhXUjdwME9uaXFXbFRveTFwYWlE?=
 =?utf-8?B?RlFHT3l2dWFmM2VQdWtHM2VrSWpubm1VL3NyT1NONFJ4OHJ3b2RXeG11MDNK?=
 =?utf-8?B?VUl6aDBWcktCNExrZHB4NHMzZDZ1ekZDRnpnT1ZsMnlBc2ZmeGFrVnlwOTlP?=
 =?utf-8?B?UkZnNDJCZ2VVc3Y3L0FSVkNLUW1ZaFBYMXJoNDY1Ykp4ZnNoSHNXd2JOUGJR?=
 =?utf-8?B?V1pLUjUwWnpXY3hEN0JheUlzNkl1WjQrR1N2SGl0cEJOT0JqTjJHMS9weVRt?=
 =?utf-8?B?NEVSdzN2eDczSGFxVW80TGNYOFA4LzFuNTNTZXV4WTQ4dGUwZVgzRkM1Vml2?=
 =?utf-8?B?b3BBbm44Y1J3S1JScXR2S01sL2NLS3FGWVByZzZYZ2g1bysxUTVJSWIzcDBG?=
 =?utf-8?B?SjRhaW9sNmoyOWwrcVVqY01WTjdPdEhUNTA3Wi9FemJQWDRtRXFPVHB4encw?=
 =?utf-8?B?Sk1oWVpicXNzbHZPd1kzSVpWOU9uR3RkWnRIdUhPbmRhcnNialk1Y3pDaTAv?=
 =?utf-8?B?S09CMUdhYjR4RzNPeDdqVDhLQ3pvcVFJRDB1c1ZxTVZDNUtLWjFyUHB6VC9y?=
 =?utf-8?B?eDEvNUl3Tko5cUg5OHJwRE4zN0UvV1VkSWhVdjB0czFPY3dDaFFyY25DMHJu?=
 =?utf-8?Q?gkWo=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(376014)(1800799024)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Oct 2025 18:52:09.6284
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 21dddf7f-2879-4238-d1fd-08de0c1bf20a
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ1PEPF00001CE3.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR12MB9106

On 2025-10-15 09:40, Roger Pau Monne wrote:
> And return from the function early if printf_info_one_json() returns error.
> 
> Reported by internal XenServer Coverity instance.
> 
> Fixes: f6c6f2679d49 ("libxl: Convert libxl__object_to_json() to json-c")
> Signed-off-by: Roger Pau MonnÃ© <roger.pua@citrix.com>

Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>


From xen-devel-bounces@lists.xenproject.org Wed Oct 15 18:53:28 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 18:53:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143940.1477509 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v96cp-0000bz-MQ; Wed, 15 Oct 2025 18:53:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143940.1477509; Wed, 15 Oct 2025 18:53:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v96cp-0000bs-JL; Wed, 15 Oct 2025 18:53:27 +0000
Received: by outflank-mailman (input) for mailman id 1143940;
 Wed, 15 Oct 2025 18:53: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
 <SRS0=nzz5=4Y=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1v96cn-0008V3-TS
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 18:53:25 +0000
Received: from SA9PR02CU001.outbound.protection.outlook.com
 (mail-southcentralusazlp170130001.outbound.protection.outlook.com
 [2a01:111:f403:c10c::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 394ed1cc-a9f8-11f0-980a-7dc792cee155;
 Wed, 15 Oct 2025 20:53:23 +0200 (CEST)
Received: from SJ2PR07CA0016.namprd07.prod.outlook.com (2603:10b6:a03:505::16)
 by CH1PPF6B6BCC42C.namprd12.prod.outlook.com
 (2603:10b6:61f:fc00::612) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.12; Wed, 15 Oct
 2025 18:53:17 +0000
Received: from CO1PEPF000044F2.namprd05.prod.outlook.com
 (2603:10b6:a03:505:cafe::8f) by SJ2PR07CA0016.outlook.office365.com
 (2603:10b6:a03:505::16) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9228.12 via Frontend Transport; Wed,
 15 Oct 2025 18:53:16 +0000
Received: from satlexmb08.amd.com (165.204.84.17) by
 CO1PEPF000044F2.mail.protection.outlook.com (10.167.241.72) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9228.7 via Frontend Transport; Wed, 15 Oct 2025 18:53:16 +0000
Received: from satlexmb08.amd.com (10.181.42.217) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Wed, 15 Oct
 2025 11:53:15 -0700
Received: from [172.18.10.234] (10.180.168.240) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.17 via Frontend
 Transport; Wed, 15 Oct 2025 11:53:15 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 394ed1cc-a9f8-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=nOUEgkhuEYvVGQZkggDRwjt38B0tbUJii0JLfXjGbHaA6xQJtEHFb7kEa1s4Bo174swjeBS/jZiaxPY3lU8iPxXkRy7Fa4cAWire+9E+7KhJDISet4it/UUxUuSUETNZjgLwqm2P0+VryNEsW65fsaFFSLOjgs1kGjIWC5WzIVW/EICjKWpC23PN5fmjDkdjRPOeTMdDwIwhFuGM6F3c4RTk3P9TLTZfg82cfUD/EsLo5+nuvaQotgRD3QCzz9YxPcHgGAoMic0d+Tm5AeqVbm9OGU6oA7VJu6hNHu1tGlP1ON88NQYe93LH5HxOj489NYRiG6x5hG0V9irJsgwRNw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rVS9Ul4zzTnSSr/oEUy3mV/MwN732/dLn+kt5CUVyP8=;
 b=Itmt2ZCcoY34ulgpxcgajgwHl2I6B/f3Zxrj0iGOIc+G+EypyIEhlAXzrpvaMPGex+Bf7a6YUYd4y3rEeQLbe8XWcBWFyKIINKxZXhPwGeCbQnbT+lOOcXq+0B+lExsulB27hYt8Z/KglFqgwkz08cvcOZXiXthkx7kzevA2534SSsAfs/v9yUbWPQ+t9/aiHNudXksigDELXKvhO75hzK8nCxj7uPxel+AljvDH6dhzqjV+MG9zXQ0jrp4moRfrp/XeQtI23BEG+d0aST7Dkn3EmGs8PvE3p8kkNHe5hfW138T0ntsabaGPj7pIZfSZx0icqW152dMssEtUj4ix5Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=citrix.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rVS9Ul4zzTnSSr/oEUy3mV/MwN732/dLn+kt5CUVyP8=;
 b=4dGIRFEbEEAHjFq7Y127uKSG1cH9Aql8QAhYh5IQMLrwcP68dm0ru5P0/w94fXQrxez60iJ53Hg1VkgtwhaiEnVghhv2oBQGSpEJjEudF3UTDGe/B0BS2EXJjIc8W0jWD8bZOhoKQyA4xFiNzOb8LOwLVapcAojYjX8MUBr2lfE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C
Message-ID: <f4e02755-f903-4639-a0af-9b7b986d0524@amd.com>
Date: Wed, 15 Oct 2025 14:53:15 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21 5/6] tools/xl: fix possible uninitialized usage
 in printf_info()
To: Roger Pau Monne <roger.pau@citrix.com>, <xen-devel@lists.xenproject.org>
CC: <oleksii.kurochko@gmail.com>, Anthony PERARD <anthony.perard@vates.tech>
References: <20251015134043.72316-1-roger.pau@citrix.com>
 <20251015134043.72316-6-roger.pau@citrix.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <20251015134043.72316-6-roger.pau@citrix.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000044F2:EE_|CH1PPF6B6BCC42C:EE_
X-MS-Office365-Filtering-Correlation-Id: b65740d7-465f-460c-ef95-08de0c1c19ee
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|1800799024|36860700013|376014|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?c29MemhzRTFOSUpVOVlhUXdDTkc2ODhyVEhhMVJZSmxVVUJHM0U5cS94Q2dM?=
 =?utf-8?B?ZlZLSGRjYzMvNG1QbDRSdGtSMk5PWE9qV2l5QlZnU0dTcUdkNzRiZm5RWVJX?=
 =?utf-8?B?QlY5UVZQQzdYajY4b1c1eFkxZ3Y5TExEWW1XYXJVMlhtQUZ0blFRYVl5UEVm?=
 =?utf-8?B?cUpxSXZ5TElsUkVIYVMyalZXUGdRY1BUOGVEZkhVYUtzS1pHTHBjazJWdGpB?=
 =?utf-8?B?b2ppTGpvaEhZek9VV2E3bTlGRkNjRTBSUnBIdFZFSSsvK2plcXhRbzdBRVVN?=
 =?utf-8?B?YmpQZmdtNEc5Vk9SdldPVTVhQVQ5YnFPZkFOVUR5dllNZ0VqdFlDUm5UcEty?=
 =?utf-8?B?L1NyVnZWakJ4cUx6YXplYzhNUG9vRVB1K0RJd0NWZlVzNEJrR0Rhc01OREND?=
 =?utf-8?B?Wk1jazNWVngwOXpkZ083T01lckt4SU9SbnUxcW41eU9LNHBuRlFRcnpGRGlS?=
 =?utf-8?B?WW1lWXgwMUpKRGIwaitjUDhTU08zQXBBTk5HTzRBUittUzh3L284WitHRzFa?=
 =?utf-8?B?SlBNUGlkc1kySWtoMmtSMkNqNVlxendzamJOblF3RFp4ZFk3dG9TZHUrRno5?=
 =?utf-8?B?SHo1cDd5UmZBNWVTUWpwdmhYYmJOTnVRb1lKQmY0NGNLQ2hVSFJMZ210T1pX?=
 =?utf-8?B?T2ZXRXR2Z0x3dWc0YUpyQVc1TWFlaGVybzJDZGJ5bmRvb3M4b1lvQklxSUZr?=
 =?utf-8?B?K1BVTVk4K2JIMVhMdEtLazJGd2NUVkdGTVJ5b0hTcnFoRzhWb2NCSXVhN205?=
 =?utf-8?B?MGtyaUtsNWU5K0oyeU1hN3JMWisxZEVKZEp0TnIyeEpDSWRjakFsOWpmNHRQ?=
 =?utf-8?B?b09WMEs2b1h4KzFrcVJtaXN6MXBoTUxyY2JEYXBVT1lnSGh3Ujd0dzNhT2ND?=
 =?utf-8?B?eGNyUk5zZEZ6aWVBVEl5d1RKWERuSVNYeW01UnA2OE1aMjV4MzA0ZEhHWGNU?=
 =?utf-8?B?M3NWVmNBWlJVb0J3aWM2THdYUzV1V2FySEoyZXdPMEJXWkpKcE5mVStVR3Vo?=
 =?utf-8?B?MEJiQkF6SFROU1lVTDkxR09xaFBXZ3BWamRDN1UzT0o0aFpDUnl3S3BUN0Np?=
 =?utf-8?B?YTVubmlpeWFzVWZiZEwwelBoS29POGpFa29FTDgwS0J2WHYra28yOFpMTE9I?=
 =?utf-8?B?dHFKNGhvV3NTeVZFUE1nRjJIVit0M2xGaHpNQXNIMGF5eFhuNXNldEpBWERI?=
 =?utf-8?B?cDA1U3pKeGNQZ05PN0JCSzNvK2VEL2xNSGVkakpuZEZWK0Zwc1RENUM5b3I2?=
 =?utf-8?B?UnBWTkEvbUFIV1FXMTkyRXQ4V2ZBSFd6N3lDOVZVNzFUdVBCYUpUVTBKbkVs?=
 =?utf-8?B?Z2R5NEF0QlQwMUVSWHRUQldNZFNMRGM3a3cyQlRqbGZCaUthVktTT1RGZVNO?=
 =?utf-8?B?UnJsSzZXUkh4djFjRUs4WkZXWnh5V2kwUDd1UTlYYTA5SVdHaDJ4NlN4cE5P?=
 =?utf-8?B?ZlNxWFFvUkI1aWY1dUliZ3dmR3ZKOGREb1RpdmljTlRWdWUxSE82SHdZRFF4?=
 =?utf-8?B?OGV3cEo4VVU1SVVWYmJKN1p0czNRYk0xQkNjUThrZFRxR3p0bVpRSXA3YWpF?=
 =?utf-8?B?RXNMb1hOMEZiSklNajRtMmQxTlUzNVBJNytlQlY4ZkJVMU9rVTh1WkFoQmY2?=
 =?utf-8?B?dTE1NWtrMUZ3NmkyZ01DMFZXVHh3VXhkK0hNdTNQOWZUclBPYVhaZ1BMSFlx?=
 =?utf-8?B?b2YxdHY4MlF1ckZCWkpaS29pUnpsK1k3NFF4cHkvVHBNTVRvOENxZ1RZWGpP?=
 =?utf-8?B?YjgvdzdNcUUxbnhaWmRrNW9xM254aHA3U3BTYU9KQ1ZWNVd0NnRtbzRQWldz?=
 =?utf-8?B?VFN3NGw5QkNUSkNKL29OaWl2N20xQ0k0THlBYTYrb0FOZWV4ZGVHOURMVjE1?=
 =?utf-8?B?cFZJVC82Z2U4WWNBTFFQcWI1b2RUcWl6aXQzK21hbHp3WlhUUFBDdXBINlRx?=
 =?utf-8?B?Qmw3QWh1aUlidVVRV3loZFBpSG9yVTl6YVZLYnJqUnhzWXpiSUx0dU5LdDZP?=
 =?utf-8?B?eHBvWGdpY2J5bzNyVkhTeWNxbFNwdjZVZTJsRTg5OURJbXE5Rm8zSGJDeEx2?=
 =?utf-8?B?bndqd2tBMDRYc1JwWjdsZ2VNQUs0SHBTUTI2c3ZEMW1XSEVUOXdNQSt6ODVv?=
 =?utf-8?Q?ihw8=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(36860700013)(376014)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Oct 2025 18:53:16.5562
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b65740d7-465f-460c-ef95-08de0c1c19ee
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1PEPF000044F2.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH1PPF6B6BCC42C

On 2025-10-15 09:40, Roger Pau Monne wrote:
> printf_info_one_json() won't initialize the passed jso_r parameter on
> error, and hence the usage in printf_info() needs prior initialization,
> otherwise an uninitialized pointer is passed to json_object_put() on
> failure.
> 
> Reported by the internal XenServer Coverity instance.
> 
> Fixes: f6c6f2679d49 ("libxl: Convert libxl__object_to_json() to json-c")
> Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>

Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>


From xen-devel-bounces@lists.xenproject.org Wed Oct 15 18:54:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 18:54:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143950.1477520 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v96dk-00019F-V1; Wed, 15 Oct 2025 18:54:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143950.1477520; Wed, 15 Oct 2025 18:54:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v96dk-000198-SU; Wed, 15 Oct 2025 18:54:24 +0000
Received: by outflank-mailman (input) for mailman id 1143950;
 Wed, 15 Oct 2025 18:54:23 +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
 <SRS0=nzz5=4Y=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1v96dj-00018y-GQ
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 18:54:23 +0000
Received: from CY7PR03CU001.outbound.protection.outlook.com
 (mail-westcentralusazlp170100005.outbound.protection.outlook.com
 [2a01:111:f403:c112::5])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5c60c7f0-a9f8-11f0-980a-7dc792cee155;
 Wed, 15 Oct 2025 20:54:21 +0200 (CEST)
Received: from SJ0PR05CA0135.namprd05.prod.outlook.com (2603:10b6:a03:33d::20)
 by CY5PR12MB6381.namprd12.prod.outlook.com (2603:10b6:930:3f::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.12; Wed, 15 Oct
 2025 18:54:15 +0000
Received: from SJ1PEPF00001CE1.namprd05.prod.outlook.com
 (2603:10b6:a03:33d:cafe::a6) by SJ0PR05CA0135.outlook.office365.com
 (2603:10b6:a03:33d::20) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9253.5 via Frontend Transport; Wed,
 15 Oct 2025 18:54:15 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 SJ1PEPF00001CE1.mail.protection.outlook.com (10.167.242.9) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9228.7 via Frontend Transport; Wed, 15 Oct 2025 18:54:15 +0000
Received: from satlexmb10.amd.com (10.181.42.219) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Wed, 15 Oct
 2025 11:53:48 -0700
Received: from satlexmb08.amd.com (10.181.42.217) by satlexmb10.amd.com
 (10.181.42.219) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Wed, 15 Oct
 2025 11:53:47 -0700
Received: from [172.18.10.234] (10.180.168.240) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.17 via Frontend
 Transport; Wed, 15 Oct 2025 11:53:47 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5c60c7f0-a9f8-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=QRj8Ro9nOJ0r4j/0zRazg1TEurZO2UvvJMDo6x5EXWEnZkLZKVaJstb1w33Ex8QfOyWgtNxGQfWN6l56s6CUsU5T+gRCtzZU+dmc/UebiepWzmdxdHZ0BL6qJs3zs6MrYk0Fxxy9dnOaH+n6eVp558DkFbOsiKbaruitQ+uAifm6VIp0l/yEw3btHU/wqifTIC0HoMPk5fyBXsevz//dhGbcq6H9BTUsNXxpDlazwJxURn/ca3VJMpvt+iqvLpBT9qA0iPSDHxEi1lYESsaC3m7dpG4iMo0ycQ72fYZTep0ARlvGp2DfUsWChWCSf5n6q28m2pZUkn07YnCoqv2qTg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QFKkKxJeSrAcxMUxHHrIcZmCjf+NXShrXJAO+vyBYcE=;
 b=tiKxj+wHc20X4gztjCJLx9xbes9LMIrQ2cgYfQYsIQUZD5EH0oWdCug/0oUwblurLrz+TK0fBBfwXbbS8WidOEMoGw394YbDhGOG/77vAbP/soXFjJfyFOKCi4/dBnPjkIY6NRV/4LKC0c0QJ9K5/ocAhTU/HHyRSZezpmG4uDdpdkveqEKRZBa7kpM6Ir4Z5BOu6KQKyqTKMK/WuP6hsL/4FCZ1ToDnu3g87k1JDGHZuMCNpwWIkeKc0sek9/dMDUMGbCGOjViZ00RuJwycEDhdbnrk0YQgxCzxco7Uad9E2Z5djWEuUmqWipWXQYTUEz7rtbXHvDi6WxvZ5xWfPw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=citrix.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QFKkKxJeSrAcxMUxHHrIcZmCjf+NXShrXJAO+vyBYcE=;
 b=Q5pka4BAbZ32EOqRV7g3iYDEqrSUmDr5iOsOPYWsVXHO3lGJYWQTSCIKiUaWFCsjFKaJpHeM/3Vr6UoiFVkZ5pA5cIdIr6hD3ZYOi9MJhPf1CeoVTuIRwE+hOs4chGPLOvzHS28i9jbrFSgOzBldr1ZI0djv3OmfO3TP/YY983I=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
Message-ID: <a84817a2-0201-4760-ad50-7e89b76e0c52@amd.com>
Date: Wed, 15 Oct 2025 14:53:47 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21 6/6] github/coverity: switch to building with
 json-c instead of yajl
To: Roger Pau Monne <roger.pau@citrix.com>, <xen-devel@lists.xenproject.org>
CC: <oleksii.kurochko@gmail.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>, Michal Orzel
	<michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <20251015134043.72316-1-roger.pau@citrix.com>
 <20251015134043.72316-7-roger.pau@citrix.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <20251015134043.72316-7-roger.pau@citrix.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ1PEPF00001CE1:EE_|CY5PR12MB6381:EE_
X-MS-Office365-Filtering-Correlation-Id: 96fcf552-9821-4261-3e2e-08de0c1c3d14
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|36860700013|82310400026|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?VWFvRFpmbFZrZ3dGY0wwYjhNVSt5V0FBTWR2b1Y2ZktYdG9xNUt4UFlMNXY4?=
 =?utf-8?B?UmVSYTJPQk84a3hHZlhtYkNxN1FJeTBHWkxCRmZ4ZWlVbTgvMmJZaERmQWov?=
 =?utf-8?B?bDQyb3RpKzdMYVcrNmdHQVJwTFMzcjI4RXg1S01XQ0M1emxZVDBJZXIvU29M?=
 =?utf-8?B?T0JEKzZaR1lnY2VMVldHcHUyejJWVjd0dlgxQjc5Z1F4MFFaNkJtOXZqUEdJ?=
 =?utf-8?B?TklnOWJyUVEvS3lQdXZyWXE5MnNxSzQ3N2VBcVB4WkJwQVlCaW96VStmVStI?=
 =?utf-8?B?cDVYbUZLTXU4UCt2VnJYc2xHcE5RQWg2bGt3R1BubDRYb29DZFFva3cyTHUy?=
 =?utf-8?B?VEUxdTV3ZVZuUmdrcFpzR0xGa21ZRXJsek55ZTE1aTNvRGVxcnBFeFB5Q2dT?=
 =?utf-8?B?TXg1bERrRG1seUUwMTcrQnpOVGZzRzZjS3V0Z2I3SG5FKzZ5N0IrZ2l3TmFL?=
 =?utf-8?B?WHFvZG5SZUxqUjZmYmZybHNHZmZZK1ZuaGVsZkljbEY3aXB4T1FWU3VVdzQ3?=
 =?utf-8?B?M0xrZ1A5QXVOQ1hwM1Zzc0JiRUtiaDZwQUtWWnUzTnBlUjRsK3NPVHNlQ0JS?=
 =?utf-8?B?OWlYWUdPRVFucDAvOVovNCs0K2J5MVZWU1Z6UXVtcDF1VkVUbkpPK1FRVW5K?=
 =?utf-8?B?Ty9ySUY5emdiWjY4TzBRMDhVY3ZMa1IrT2xBc3Uxa3ZQT3NvejN3VUpSMkZj?=
 =?utf-8?B?WXZHRDJKSXVWSzQ5Qk41aVl4RFhRZ3o4VmN1d2ZNQ05JRTJidXBwamtJL2E4?=
 =?utf-8?B?Wi9iclp3V3h5ZWErOUhWa2VaRUdXbWNsS1FGb2Y1MWFWNi9qUlpMTE5valoy?=
 =?utf-8?B?a0ZUVzRYZWxmaDQ3UW1Td3FjVUF0dFloMlBuaExTbTZQQnU1R1JEdmZaUGp0?=
 =?utf-8?B?Yk9adDlYVEpVVytOUnlNL1Z0NjV1Mk0yQkFDbDl4KzhFeSt0SGhackswZXlU?=
 =?utf-8?B?YStDam1zWmFEMjJUMWtQM3VlS0N2OGd6Y0lybVdiaTRjenJCWnRVdzAyQlNK?=
 =?utf-8?B?c0d1Ujl3djlST0RRdW4rMGpyZ2QzaGdoMzA5eGtOUnQ4bnpZWlhXQi9HaGVL?=
 =?utf-8?B?RVpWZ1BuTld0MnhXYmlsQ0pVc2JGbXdLZ2Q0czFKckxnS05oeE12QnkwZzFQ?=
 =?utf-8?B?N3JJY2loNFRxRXowRyt6ZUFGM1lxdnRtd29RWHJBbEdteHFUWmIrWkJ6emxj?=
 =?utf-8?B?cS9pcE1LS3Q3VzBjeUV2SGxjUlJRS3QzYThwYUxaTWtRNC9BbzM1eEFUdFVh?=
 =?utf-8?B?VnBHYVNhSm5hWFBlSnV6YnFNNjNNOXBlUFlTVFpKdUJPSlMxaElXOWxoSDBF?=
 =?utf-8?B?aFhxTTZiRFJnbkgxZGw4bXpDeTd6dENIMDBkZnlpZDZmUUhqM3BKZFNtMWdD?=
 =?utf-8?B?K1YvSmJodzJUcjNyQkJvQnhjWFYrK0p0Rk9HNHF2azdrQlYvWnphcmNvKzBH?=
 =?utf-8?B?azZ1bWNDL2FoSWI2OVBrdGJTajRnMkVpSWhmT2M1OUpYdzZqM0Z4c1FQTm1G?=
 =?utf-8?B?ZnI5RmdZcjBxR3NoUS9tbzhUeDJ2ZXY2Mjg1U052YU5aeFN4T1F3SDkxZ1RV?=
 =?utf-8?B?eVdURnR5ZGQxWG8vTnVWTFZjSE51d21hUzh6K3piZ1VOVjN6SCtkQ2cvSWwy?=
 =?utf-8?B?YmFDR2lIZ0dvbDhIbHJjQ1gwbHYxYjRQZFZWdHl6a2kyMjdYMGE2N2pmczdm?=
 =?utf-8?B?OFQ4amhUemtWOFF5dFU1aVFvbVRhT0pDSWdDQ001OU13QUNEcC9OZm0zR0NZ?=
 =?utf-8?B?ZVRFdS83ZlFzOUlGUE9YMXduT3Mvd3FuS2dtVmtzRnBwVDNwNHE4dy9rRWRZ?=
 =?utf-8?B?aXhNeXVvMTg5STJIL3M4L1VQVE1pUjlpa3FZb2RVVGdPSml4cktuTFBoV2VJ?=
 =?utf-8?B?ZUJSVE1ENTFveUFYdkdDMnZ0cGNlVVJlT3NPYUJGcGpRTktpaFpERlE0UE9o?=
 =?utf-8?B?djhlNktYbG1zbVBsM0llQnp4NENVOEd5cFlSN3JvMVdxWGpmR3lrQ2RJNXFF?=
 =?utf-8?B?MStuNlM5ZzcvdTJ1VEZWMkNmZHZjTHo5UWVCeW9JWjRmUnJJbEJubDA5M1o4?=
 =?utf-8?B?dkpiWkhFTXNranJQaEkxMCtHMFJvZ3pwZVo1U1VLYnZCY0VGS21VMEdqSkJk?=
 =?utf-8?Q?Jk7M=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(376014)(36860700013)(82310400026)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Oct 2025 18:54:15.5286
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 96fcf552-9821-4261-3e2e-08de0c1c3d14
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ1PEPF00001CE1.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6381

On 2025-10-15 09:40, Roger Pau Monne wrote:
> Switch the json library used by the Coverity runs.
> 
> Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>

Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>


From xen-devel-bounces@lists.xenproject.org Wed Oct 15 21:05:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 21:05:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143987.1477553 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v98gS-0008W1-DY; Wed, 15 Oct 2025 21:05:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143987.1477553; Wed, 15 Oct 2025 21:05:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v98gS-0008Vm-9k; Wed, 15 Oct 2025 21:05:20 +0000
Received: by outflank-mailman (input) for mailman id 1143987;
 Wed, 15 Oct 2025 21:05:18 +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
 <SRS0=nzz5=4Y=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1v98gQ-0008Tw-NR
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 21:05:18 +0000
Received: from BL0PR03CU003.outbound.protection.outlook.com
 (mail-eastusazlp170120007.outbound.protection.outlook.com
 [2a01:111:f403:c101::7])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a59f3e83-aa0a-11f0-9d15-b5c5bf9af7f9;
 Wed, 15 Oct 2025 23:05:16 +0200 (CEST)
Received: from BLAPR05CA0003.namprd05.prod.outlook.com (2603:10b6:208:36e::10)
 by CH2PR12MB4039.namprd12.prod.outlook.com (2603:10b6:610:a8::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.12; Wed, 15 Oct
 2025 21:05:11 +0000
Received: from BN3PEPF0000B36F.namprd21.prod.outlook.com
 (2603:10b6:208:36e:cafe::56) by BLAPR05CA0003.outlook.office365.com
 (2603:10b6:208:36e::10) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9228.10 via Frontend Transport; Wed,
 15 Oct 2025 21:05:11 +0000
Received: from satlexmb08.amd.com (165.204.84.17) by
 BN3PEPF0000B36F.mail.protection.outlook.com (10.167.243.166) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9253.0 via Frontend Transport; Wed, 15 Oct 2025 21:05:11 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.2.2562.17; Wed, 15 Oct
 2025 14:05:04 -0700
Received: from satlexmb08.amd.com (10.181.42.217) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 15 Oct
 2025 16:05:03 -0500
Received: from fedora.mshome.net (10.180.168.240) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.17 via Frontend
 Transport; Wed, 15 Oct 2025 14:05:03 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a59f3e83-aa0a-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=N7tsEZuDwPiUwbWsJ1ybGLfaV7tl1ua1MuZUci9PGxD8mamG7Dmdo/jarPYx2VtuFYgOMJpAkxUm+z+AovqYIbVLgRgIzOUiABvHBr8Z79z1Fd9CFn2Yn+UTS9XvtIdiZuGV8G/PyNkU/yTCPiMqpgU7k4QufzeZ8ekmopVIu48i8nNM9Qs68Ix4BobrKwwb4Egce8WdXS4w/GO8vQ2g8FLuJu9nmmlnOSgBbwVsZj6Bx/BjZxengMoUsAuKAMgJhdGK4moYTL4DTMO7Z+bBfVFoZD0M/9rEJ4rtZrkcTohnHsj+i7I9nh3YdIo3JWorsOOyGjkyX6JZtQoKlaJDFg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ZGeo/e1d2CnjxUHTHRgQ0Hf7kBlFkyxGjZ13Xcn7gIg=;
 b=VgZy4xWxDlbQLGpEbpVisrh5BZs0Cca3CprXu23eP7fbLvq9hVsc8boPR7F9wfFxVtKzdWix0aSJDb0ccv3KnG15Jc1IaPqEKxNCglAu+LkF8BquI6+6yS5t1CSH/PQonX4NVoH+38mK+/Ia1kGOGPT7Z76O0osH34ZjvTN6NJF/LxUAmAmFe1SGjR5sXH3ppHdifCPwo7od3x8QS4YvfcRti5urGIsIttOksRIlAPpluMBZhHb/DX6Jz0A7OR6aukAOzy9R1rCFo0SFNct2rHGfbdUt52TRV98eDuyd+/pCutnXenNpPPBzjNIBsUsaf9PPKn1zChWIYvVHL4oNOA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ZGeo/e1d2CnjxUHTHRgQ0Hf7kBlFkyxGjZ13Xcn7gIg=;
 b=vq8L5mtt0p7AgCLYaZpiPgPVi8GN6C2oxyxJo+vAriBDumx9UccCFTH/v6PV6pD+xfcJi5RT6iiJExcYbu6nJJGohgNaf3GsxuxqGbWyunoj9BTFCpzC6mYhEiZaGaj4/j+ujaMJ2/EuzBWFggZGsEvm0ff9hHSuOeN0Jth9bmg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jason Andryuk <jason.andryuk@amd.com>, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH for-4.22 v3 2/2] x86/io_apic: Use next_entry() in loops
Date: Wed, 15 Oct 2025 17:04:54 -0400
Message-ID: <20251015210454.95381-3-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251015210454.95381-1-jason.andryuk@amd.com>
References: <20251015210454.95381-1-jason.andryuk@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB05.amd.com: jason.andryuk@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN3PEPF0000B36F:EE_|CH2PR12MB4039:EE_
X-MS-Office365-Filtering-Correlation-Id: 1a5eaa92-e304-403d-a343-08de0c2e876a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|36860700013|376014|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?PV8uM+1lrVp8fEdv5NsPyiSz85u+806CLDvN6M+bu12z8iRwDTpPEqCTdY5r?=
 =?us-ascii?Q?8m0WrqfM2ID9vNRxZKjlrj2AgDiXfeboaYV6SICvRvgxKwNIPK63xTV7Uq71?=
 =?us-ascii?Q?iCWdaomh+8Ke0Ti1fbipMCfkXD8cnAfU0boNgL4z9C0NXhEE0pwcEStSEd09?=
 =?us-ascii?Q?xeK+e+mvB0WUSdceY3dvd3HP4OqQ/EmKg5OxF4n9RV2Haf2gNpG2FCUF872+?=
 =?us-ascii?Q?Yoah1LWi1lLlr1bIoXxuaZfS6kkaTbTCzPTiuZuuJtnNXKiIWpj2uJ/NsLye?=
 =?us-ascii?Q?4O/9DiGzUSqB+/12PzsswUc1HyoLuz8zMKoCCGqjAKDjDoK910U3dr8hCu9U?=
 =?us-ascii?Q?z4KgOI3piiGO3djlimlQ+45eUGgBzHfgz2nv/XIy2XI+ZMt3rxAN7rlX5TUF?=
 =?us-ascii?Q?3YaM7487NO8tN8WZuTdm32NSf1NT2NZeUltkPF1vRE19z+Hy9q2c8mJR4psM?=
 =?us-ascii?Q?pSalLryAcfHBm82eADkmYWmUMlOvWGfrO06XwPz8i1K8hGZRtVgZznbA+6/Q?=
 =?us-ascii?Q?uGeZNvVAnvB82pXGtnk02tQLGZ1AJC9AvJBlcBlJWPb7VKavhLC4MiF3oXZM?=
 =?us-ascii?Q?MT3yW02BSO+T24uAsfcdYChzT0z9BeZ7UIL5jausVUzT1rdSuRrGjNtpwpoJ?=
 =?us-ascii?Q?fGhx+giV2mhx0UwkaGyJ/tsGkH9eOv/9Ay2ed8qqkaEj1kYoORO6J5BPFE50?=
 =?us-ascii?Q?Cepaz/Kkh8Lq4Hq99omLXUlR3Fc89k9fVWEo8t2ZCLr8KVW8+JYqXqYYk/7o?=
 =?us-ascii?Q?ozVdEQZiHbQWO76mXynD8i2pV2kGQ8ge2t98gQ9RABlOjDvFZOFrxXhOPFm3?=
 =?us-ascii?Q?13Xn1f0iYROZq+yqFQ1cmAlb8oP8zv5SQ+vr5J2HfPTluObediX14t/XqRg+?=
 =?us-ascii?Q?1p8891iShGf9u26NUH6LmvpDB+5iEGhrSu6PPzG3aAkF3/v36QjVaNMjKU3N?=
 =?us-ascii?Q?skxx6lZkgcMDPm4aUq+ZhZHl0UgDl6zLbFpQ41qJKEJRllDQu2ljEcEgIsQq?=
 =?us-ascii?Q?JHjVWt1/7w/7LssBDx2lDX7bErVkvUki1zZcFi0UsN1YNN2Lll0Cg74RD5uu?=
 =?us-ascii?Q?zFTO2Nf7DRTqhg+2ttRRsVyhRJwNS3UNB4w+Ej7qp/Rr0tErHsIagATnC1U3?=
 =?us-ascii?Q?2KAF9vDhczT8pttrcDUlDnRy5oIdKB2PFBSYqxXEElDLumeXTdc8psjl5xRh?=
 =?us-ascii?Q?WUfLRJ0Bq7hfZI02wcemyBli7AfgUHnBOIZZGW04B3oRHbHl+6hNNvXS+u2/?=
 =?us-ascii?Q?9qtJvVxtNquDI4SdykDvIWFbrJArfj2Z1aoPtyzBGbXQ6Hl8zFRF2lEZ9QOY?=
 =?us-ascii?Q?QwWEsaCm5QiTdi7Xiy/8z5lOqAWPikMK8Y1mCX7buoASlXfrUN21myPhXSbd?=
 =?us-ascii?Q?yiQmNZ6yYGtuzXnBUN0Ju+Zx6SdFDM/toOoUar8X7DSCL43EGXO85fEVi252?=
 =?us-ascii?Q?NkmGgi0au/iDqekSjOrcv8OakZW6mpg9PsOSwTswVX/9onIyWGLF95kA2Xkr?=
 =?us-ascii?Q?6Qe266jn48GL5eLLFQJsrGmFWOv+UkPwg/EVfJT4eiv67zWIlmRjuYK5FU42?=
 =?us-ascii?Q?YAFF+tanUxE/aSr0Txc=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(36860700013)(376014)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Oct 2025 21:05:11.2705
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1a5eaa92-e304-403d-a343-08de0c2e876a
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN3PEPF0000B36F.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB4039

io_apic.c has a lot of ad-hoc for(;;) and while(1) loops for iterating
over irq_pin_list entries.  Replace them with a standardized
for loop using next_entry() to advance entry.

Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
 xen/arch/x86/io_apic.c | 49 ++++++++++++------------------------------
 1 file changed, 14 insertions(+), 35 deletions(-)

diff --git a/xen/arch/x86/io_apic.c b/xen/arch/x86/io_apic.c
index c35d611ecf..73b48a9cb8 100644
--- a/xen/arch/x86/io_apic.c
+++ b/xen/arch/x86/io_apic.c
@@ -191,6 +191,14 @@ static void remove_pin_from_irq(unsigned int irq, int apic, int pin)
     irq_2_pin_free_entry = entry - irq_2_pin;
 }
 
+static struct irq_pin_list *next_entry(const struct irq_pin_list *entry)
+{
+    if ( !entry->next )
+        return NULL;
+
+    return irq_2_pin + entry->next;
+}
+
 /*
  * Reroute an IRQ to a different pin.
  */
@@ -200,15 +208,12 @@ static void __init replace_pin_at_irq(unsigned int irq,
 {
     struct irq_pin_list *entry = irq_2_pin + irq;
 
-    while (1) {
+    for (; entry; entry = next_entry(entry)) {
         if (entry->apic == oldapic && entry->pin == oldpin) {
             entry->apic = newapic;
             entry->pin = newpin;
             share_vector_maps(oldapic, newapic);
         }
-        if (!entry->next)
-            break;
-        entry = irq_2_pin + entry->next;
     }
 }
 
@@ -482,7 +487,7 @@ static void modify_IO_APIC_irq(unsigned int irq, unsigned int enable,
 {
     struct irq_pin_list *entry = irq_2_pin + irq;
 
-    for (;;) {
+    for (; entry; entry = next_entry(entry)) {
         unsigned int pin = entry->pin;
         struct IO_APIC_route_entry rte;
 
@@ -492,9 +497,6 @@ static void modify_IO_APIC_irq(unsigned int irq, unsigned int enable,
         rte.raw &= ~(uint64_t)disable;
         rte.raw |= enable;
         __ioapic_write_entry(entry->apic, pin, false, rte);
-        if (!entry->next)
-            break;
-        entry = irq_2_pin + entry->next;
     }
 }
 
@@ -545,14 +547,11 @@ static void __eoi_IO_APIC_irq(struct irq_desc *desc)
     struct irq_pin_list *entry = irq_2_pin + desc->irq;
     unsigned int pin, vector = desc->arch.vector;
 
-    for (;;) {
+    for (; entry; entry = next_entry(entry)) {
         pin = entry->pin;
         if (pin == -1)
             break;
         __io_apic_eoi(entry->apic, vector, pin);
-        if (!entry->next)
-            break;
-        entry = irq_2_pin + entry->next;
     }
 }
 
@@ -632,7 +631,7 @@ set_ioapic_affinity_irq(struct irq_desc *desc, const cpumask_t *mask)
         if ( !iommu_intremap || !x2apic_enabled )
             dest = SET_APIC_LOGICAL_ID(dest);
         entry = irq_2_pin + irq;
-        for (;;) {
+        for (; entry; entry = next_entry(entry)) {
             struct IO_APIC_route_entry rte;
 
             pin = entry->pin;
@@ -643,10 +642,6 @@ set_ioapic_affinity_irq(struct irq_desc *desc, const cpumask_t *mask)
             rte.dest.dest32 = dest;
             rte.vector = desc->arch.vector;
             __ioapic_write_entry(entry->apic, pin, false, rte);
-
-            if (!entry->next)
-                break;
-            entry = irq_2_pin + entry->next;
         }
     }
 
@@ -1308,12 +1303,8 @@ static void /*__init*/ __print_IO_APIC(bool boot)
         if (entry->pin < 0)
             continue;
         printk(KERN_DEBUG "IRQ%d ", irq_to_desc(i)->arch.vector);
-        for (;;) {
+        for (; entry; entry = next_entry(entry))
             printk("-> %d:%d", entry->apic, entry->pin);
-            if (!entry->next)
-                break;
-            entry = irq_2_pin + entry->next;
-        }
         printk("\n");
     }
 
@@ -1586,14 +1577,6 @@ static int __init cf_check setup_ioapic_ack(const char *s)
 }
 custom_param("ioapic_ack", setup_ioapic_ack);
 
-static struct irq_pin_list *next_entry(const struct irq_pin_list *entry)
-{
-    if ( !entry->next )
-        return NULL;
-
-    return irq_2_pin + entry->next;
-}
-
 static bool io_apic_level_ack_pending(unsigned int irq)
 {
     struct irq_pin_list *entry;
@@ -2415,7 +2398,7 @@ void dump_ioapic_irq_info(void)
 
         printk("    IRQ%3d Vec%3d:\n", irq, irq_to_vector(irq));
 
-        for ( ; ; )
+        for ( ; entry; entry = next_entry(entry))
         {
             pin = entry->pin;
 
@@ -2432,10 +2415,6 @@ void dump_ioapic_irq_info(void)
                    (x2apic_enabled && iommu_intremap) ? 8 : 2,
                    (x2apic_enabled && iommu_intremap) ?
                        rte.dest.dest32 : rte.dest.logical.logical_dest);
-
-            if ( entry->next == 0 )
-                break;
-            entry = &irq_2_pin[entry->next];
         }
     }
 }
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 15 21:05:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 21:05:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143986.1477543 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v98gN-0008FV-6t; Wed, 15 Oct 2025 21:05:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143986.1477543; Wed, 15 Oct 2025 21:05:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v98gN-0008FN-2N; Wed, 15 Oct 2025 21:05:15 +0000
Received: by outflank-mailman (input) for mailman id 1143986;
 Wed, 15 Oct 2025 21:05: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
 <SRS0=nzz5=4Y=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1v98gM-00081U-GL
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 21:05:14 +0000
Received: from PH0PR06CU001.outbound.protection.outlook.com
 (mail-westus3azlp170110003.outbound.protection.outlook.com
 [2a01:111:f403:c107::3])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a3949678-aa0a-11f0-980a-7dc792cee155;
 Wed, 15 Oct 2025 23:05:13 +0200 (CEST)
Received: from BLAPR05CA0013.namprd05.prod.outlook.com (2603:10b6:208:36e::28)
 by PH7PR12MB7209.namprd12.prod.outlook.com (2603:10b6:510:204::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.9; Wed, 15 Oct
 2025 21:05:08 +0000
Received: from BN3PEPF0000B36F.namprd21.prod.outlook.com
 (2603:10b6:208:36e:cafe::5f) by BLAPR05CA0013.outlook.office365.com
 (2603:10b6:208:36e::28) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9253.5 via Frontend Transport; Wed,
 15 Oct 2025 21:05:06 +0000
Received: from satlexmb08.amd.com (165.204.84.17) by
 BN3PEPF0000B36F.mail.protection.outlook.com (10.167.243.166) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9253.0 via Frontend Transport; Wed, 15 Oct 2025 21:05:07 +0000
Received: from satlexmb08.amd.com (10.181.42.217) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Wed, 15 Oct
 2025 14:05:02 -0700
Received: from fedora.mshome.net (10.180.168.240) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.17 via Frontend
 Transport; Wed, 15 Oct 2025 14:05:01 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a3949678-aa0a-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Wc8GDV/hWjOVa0KuQckPjQXlPEn4RlN0kHqfuF6M4kXuSKyfpHtGOjUGPkDaEcOtfQ5azl+nKHwNPAhkwhVp9Haeb6Bo65Uphmo06iWg3E6GCSjGzma8uZt/soABp5m6dHdDBbkFXd9hFH3SbY1cYSyeRu/FyHCryuq2yISG2f10pyA7g98DGDIQVNwUQO1klH47Wkknu+KxdsJvEb9QWoM61rZbZil+u1JdgraDoGgqS2wZEe4pp+71LS3RdwNMIdghU1BSC++XKdBIpxeMb1zlHnR+fIzU++TiQs6p71gik8SrNE0jBHHUJvmvy7WxcO/wD1hi6D3QtGIIkYJNFw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=aaZUyhNxVa7d9OFxTEmdJIOr6CU9ub8d3ETcT6pczTw=;
 b=LlpxIn5PRkDLPdJoGtpDtrqTOKzbue/eWVAFGCyuUfYccSvJTXy9HwMIjYV0aYDoNi/xwmZTOmFu3Hd3ZOG3HAb1E1QHjxSbL/jG2z6fsGjL6CLOS1EUJ4W6WMLDEuhlHP0aiFlAUA5RpbxeX9d+a2qlztiJcGW4jXsxoe1b5A4JYBPtHD/vHAE73UF6brEx9qC85dj355LH8HJZK+RHEd2Jv/q/OU9/mPHQhyChlzdYqI5r00BqnlCUOSFksDHiXX8x3mLJAnO2ZLhxCSeJndz1E5RhqeuQyoAQsdpH4wRi3M6sDq0e7/3WYca4OT0/wDS2ByYVALpiuL6s7hxonQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=aaZUyhNxVa7d9OFxTEmdJIOr6CU9ub8d3ETcT6pczTw=;
 b=P0JpMENNgH5HWfkllvSAlqwLHVEYsU2aM7b0epSBTl/JTBX29eLIn/YV3O+C90TRoXX69Q733zmn5i5zOHrLt0AJeZDnZMOrV6yMMVgk+VbHprJpT4L7uxrp/uO4E5Ai0pqcQ0Rs7MUhif8Kgo37Os2zY6iCu2UPI92QbYpGaX4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jason Andryuk <jason.andryuk@amd.com>, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Oleksii Kurochko
	<oleksii.kurochko@gmail.com>
Subject: [PATCH for-4.21 v3 1/2] x86/apic: Avoid infinite loop in io_apic_level_ack_pending()
Date: Wed, 15 Oct 2025 17:04:53 -0400
Message-ID: <20251015210454.95381-2-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251015210454.95381-1-jason.andryuk@amd.com>
References: <20251015210454.95381-1-jason.andryuk@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN3PEPF0000B36F:EE_|PH7PR12MB7209:EE_
X-MS-Office365-Filtering-Correlation-Id: bff9bea1-a95f-495d-7e94-08de0c2e8564
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|1800799024|376014|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?Pkg5LlcuiYYKxdbEH5rjhSsLT68H/+AFCa3t8JLL26D7DQwT2iKFC3XNBYR8?=
 =?us-ascii?Q?58+ImaVVe7u7VnBa41x7yO5lFrj3Dkds+oKQ6was7j40elCK9eihtnf8T8PK?=
 =?us-ascii?Q?pel5S9avSLzXYJuH3kY7/E5F7EH0B81lNywz15Etzj8KpDUH5N4RYxZhdpU+?=
 =?us-ascii?Q?K+Z6erL+ylTBAay5Zu8W8zYmPJ0dVOB/MnMDV/wvI7UtWJERiY1S26XDGpsv?=
 =?us-ascii?Q?3sWgFuB/IqpoVf/ThaLWafWwctR5KNtwSF9zSQvnpjGlN/kNSE4FTI4s+xRv?=
 =?us-ascii?Q?P8/MMjlLCEyQV8kX8iIstYRBJon3kcFyS+B8jixMJq10TmfrwQz7ptxtOEP7?=
 =?us-ascii?Q?316t5Jv5DwFfEeu+hsb+sBw2kLl8x6EOV7AIseqZW2wSD5D8LS+oyBgl+kO9?=
 =?us-ascii?Q?ePi4LKodcKfb4pKE2hifOy3L5Sqm7nY9qeGIxiuIztCOm750tkyHDNGGYV4l?=
 =?us-ascii?Q?nBWJqj+iRBKRM9rXjUeG+mj45Q2TMSpCar8RVSell6KtG0PLHc8vxvrDE384?=
 =?us-ascii?Q?ixqgRP0cmqU0zTvH6SoFmJqtXhxlP+pWxr/93AVqIWj55UB55oVm76F3Mz6o?=
 =?us-ascii?Q?+5K5pvslr66tzEKNYLLShQTfQLz1vWeNQ+SVXObzXa03476i8QPj+1y/hWxL?=
 =?us-ascii?Q?OlkPu5iMPwQatQVqfaOffBR9ezhxubRwR59nMjBQqliYU8QuZ7whm0B3mhLr?=
 =?us-ascii?Q?1EPTqrbpJ0+dkbTs+4zHODdHDWpKIDh99rNKld8727a2VVquA8IkoIlwbfKJ?=
 =?us-ascii?Q?mnmJwffAvOE5wSZDzixyhXJtu3iTFi+iziWH/J69sm6PJtZDO17/wxLpmbwe?=
 =?us-ascii?Q?QMccO7Ax4jAihXYOk7zVyFqXFEnNOkf8xm4yLytuwQNRl5c/TWuH2y2+/KGX?=
 =?us-ascii?Q?ndvNI40DSf0BXP7fRGipsymdMlCw/svdRQ7NzApuQFOhtwriLXztmKuw38fI?=
 =?us-ascii?Q?8WeeJQ59xbcGefA7t57D9R+regdPxFTUFGtlTzYe1BByCuS6B9e8iZ40kUyu?=
 =?us-ascii?Q?H61vDY5ZSU+g6sUTndcuedJrVdq6KkcaPYkXhNLOuLZheRCn09FfzIqTPCRQ?=
 =?us-ascii?Q?6xe6VrdaQ66KY/ZWvKP904PQgy5S4uCtPIG3u7edu+FC5pzUOpxxZI19ldK9?=
 =?us-ascii?Q?OAnhpU66hnz6oOS/kf88KK7/BGmCDgnqHzFRF7oMpUbLzasot9uXG9oyFs+K?=
 =?us-ascii?Q?rMrEVZtJldUuwxfokyt7EZZ0vS6qmjzDM1iGUlIQy2qCpDoFfknTmoemR5cn?=
 =?us-ascii?Q?A/o2i4xTU24iTynLYCelhlYB7Wp2g/NeYII3JxhkNodQOdwCxwQWIadAN7pw?=
 =?us-ascii?Q?Xda+VSdEmH3NyZTlHzVaHCOwz3L+6ld5Y9xDsBn2LqY27ElNuTG2yjnmLU8h?=
 =?us-ascii?Q?JFjOZFZRtFfQ6NRm6DH0sOYEKt1ofi75w5qfP8WKfEMcMQBe2dBOdG9eXNuO?=
 =?us-ascii?Q?bmDnxWNTClz+hB9OY0JThHj06OhJH6vxENohIugxH67b4FAFdKTJPgV1bCz6?=
 =?us-ascii?Q?q0sBPLfWkPci0THny0Ipk+bYQuz25d3PD8fpHJYnxL+AI6kog7+pv+UE2Ed5?=
 =?us-ascii?Q?TMYmxu+K9KVgdwMywyE=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(376014)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Oct 2025 21:05:07.8744
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: bff9bea1-a95f-495d-7e94-08de0c2e8564
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN3PEPF0000B36F.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB7209

io_apic_level_ack_pending() will end up in an infinite loop if
entry->pin == -1.  entry does not change, so it will keep reading -1.

Convert to a proper for loop so that continue works.  Add a new helper,
next_entry(), to handle advancing to the next irq_pin_list entry.

Noticed during code inspection.  The infinite loop was not observed.

Fixes: f821102450a1 ("x86: IRQ Migration logic enhancement.")
Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
Release-Acked-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
v3:
const on next_entry() parameter
Remove spaces inside for loop braces
Remove inner if (!entry) check
Expand commit message to state noticed during code inspection

v2:
continue (not break) for pin == -1.

I added the next_entry() helper since putting the expression in the for
loop is a little cluttered.  The helper can also be re-used for other
instances within the file.
---
 xen/arch/x86/io_apic.c | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/xen/arch/x86/io_apic.c b/xen/arch/x86/io_apic.c
index c384f10c1b..c35d611ecf 100644
--- a/xen/arch/x86/io_apic.c
+++ b/xen/arch/x86/io_apic.c
@@ -1586,20 +1586,24 @@ static int __init cf_check setup_ioapic_ack(const char *s)
 }
 custom_param("ioapic_ack", setup_ioapic_ack);
 
+static struct irq_pin_list *next_entry(const struct irq_pin_list *entry)
+{
+    if ( !entry->next )
+        return NULL;
+
+    return irq_2_pin + entry->next;
+}
+
 static bool io_apic_level_ack_pending(unsigned int irq)
 {
     struct irq_pin_list *entry;
     unsigned long flags;
 
     spin_lock_irqsave(&ioapic_lock, flags);
-    entry = &irq_2_pin[irq];
-    for (;;) {
+    for (entry = &irq_2_pin[irq]; entry; entry = next_entry(entry)) {
         unsigned int reg;
         int pin;
 
-        if (!entry)
-            break;
-
         pin = entry->pin;
         if (pin == -1)
             continue;
@@ -1609,9 +1613,6 @@ static bool io_apic_level_ack_pending(unsigned int irq)
             spin_unlock_irqrestore(&ioapic_lock, flags);
             return 1;
         }
-        if (!entry->next)
-            break;
-        entry = irq_2_pin + entry->next;
     }
     spin_unlock_irqrestore(&ioapic_lock, flags);
 
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 15 21:05:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 21:05:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143985.1477533 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v98gK-00081h-R0; Wed, 15 Oct 2025 21:05:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143985.1477533; Wed, 15 Oct 2025 21:05:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v98gK-00081a-Ny; Wed, 15 Oct 2025 21:05:12 +0000
Received: by outflank-mailman (input) for mailman id 1143985;
 Wed, 15 Oct 2025 21:05:11 +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
 <SRS0=nzz5=4Y=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1v98gJ-00081U-8G
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 21:05:11 +0000
Received: from PH0PR06CU001.outbound.protection.outlook.com
 (mail-westus3azlp170110003.outbound.protection.outlook.com
 [2a01:111:f403:c107::3])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a0507e1e-aa0a-11f0-980a-7dc792cee155;
 Wed, 15 Oct 2025 23:05:08 +0200 (CEST)
Received: from BLAPR05CA0018.namprd05.prod.outlook.com (2603:10b6:208:36e::13)
 by IA1PR12MB6164.namprd12.prod.outlook.com (2603:10b6:208:3e8::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.11; Wed, 15 Oct
 2025 21:05:02 +0000
Received: from BN3PEPF0000B36F.namprd21.prod.outlook.com
 (2603:10b6:208:36e:cafe::29) by BLAPR05CA0018.outlook.office365.com
 (2603:10b6:208:36e::13) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9253.5 via Frontend Transport; Wed,
 15 Oct 2025 21:05:02 +0000
Received: from satlexmb08.amd.com (165.204.84.17) by
 BN3PEPF0000B36F.mail.protection.outlook.com (10.167.243.166) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9253.0 via Frontend Transport; Wed, 15 Oct 2025 21:05:01 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.2.2562.17; Wed, 15 Oct
 2025 14:05:00 -0700
Received: from satlexmb08.amd.com (10.181.42.217) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 15 Oct
 2025 16:05:00 -0500
Received: from fedora.mshome.net (10.180.168.240) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.17 via Frontend
 Transport; Wed, 15 Oct 2025 14:05:00 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a0507e1e-aa0a-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=OyyUoNgAIKUpuuAa14Cv5wqZT75D4G2YEu+C8VIo7A6gL58UXCUqV+oZ0AFFr6ApStZav0Py/z3Lsc+9md+RLa2AWYPB5aCUA32WzYd75Jd/DXKoJbFtI+LV8iOAUYksG+Zj/nhUNAKuD4RxqXEBsPkcYTciTWOaZJ/g+z6LRIox1cLdTaEFq2hfVPNQeF4gOr3KjWxwg+3++H9klNPFhopicJ9SsaRY/RKTHNJq6bIVjzI+K0wJiK0OIupeQjZpwr1lJLB8BTmFyj5XZ4HuF2uk2By2GySSvdTUlZwfJJsOI1qo/K4JWj3q2GMPoHv7LqisiqR66D8O7cAljXLgyg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rH4M3114CKSr59YHF7TVZ3l3ebO8ra5rgkSKIU2aCZI=;
 b=G89uAPyMv+ji/T6+XllIpD1ICaODJIg6W4QlKOxjRaU2qKJnmZYB4S8dkC53B/KY6NbN18iePgABZWfLdb3TBFEyENK//uAoNEtWDbh/bHaqALNmDgc/YY/3nu3IZXuxr+N/CpfBLgIWpfRKSMT81u8LIHMvMe4/A3WvQV7gCYrt49zytN1tQnL8uJ/ZZbYxPczEm9KkLJshnen5xn6n4wwuwGLJ8M7QmxdthE3GdjBDyyYqowM7JnSUXHU6mwc7TWS33RhTVDgtbBIHkXiu6bMkmvlpJ+uoYxCVK6jOaYcmh7YEg2rlPcv6MEaYvb5czYajs7euQU94sGl3//GFyQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rH4M3114CKSr59YHF7TVZ3l3ebO8ra5rgkSKIU2aCZI=;
 b=Janla3mQSqaasW4fu3kf04lBUpTgZ2fY+kFTu8mtbZpUSQhxRA5ZXAnBXNTuqbtaegyEIdzlyv1SbWzvkWz7w4dWXf8YUaVHyjdj0UdHzKlybgTDIRHMDbDUjXrJqssRkuty8VJFX8A7aOLbHkiZPv2PGBgPWvO17EPDG3nQyic=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jason Andryuk <jason.andryuk@amd.com>, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v3 0/2] x86/io-apic: Loop changes
Date: Wed, 15 Oct 2025 17:04:52 -0400
Message-ID: <20251015210454.95381-1-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.51.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN3PEPF0000B36F:EE_|IA1PR12MB6164:EE_
X-MS-Office365-Filtering-Correlation-Id: d4883ea6-4568-4ad0-51e6-08de0c2e81ae
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|376014|36860700013|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?VZNo7cDNqgmDV1CIbIKaU5m3ayTFDS19bYJM7NV7FMPv4U4LPMMOHmB901zS?=
 =?us-ascii?Q?bj418/5Q2F+2uIwzKn4eLriV4QHyxf8smwHoLXbAOV3hFJwVJj1c+fCqMoV3?=
 =?us-ascii?Q?o6V9CePvjN9ap+/eZXdlf/udKbmQrHklKPoyoJYh/21KM2xRRYQ0SKvCQCXk?=
 =?us-ascii?Q?lNCqaxz0aMILP2PdWVXqy0euhR/ik9L26QAZTee41f62XeXEGpl4iZkfYytS?=
 =?us-ascii?Q?2Ljk0ljYPSnncOqubv9MqjkE1kMq0LPZO3MQRGTWXFPQJGKKCecuYFO9Qau6?=
 =?us-ascii?Q?WIWc42SeQxIOIqPJB/JHF4ntYhuRVGsaFpPIQdlxaDEsob52+l0VVG9Kyf5h?=
 =?us-ascii?Q?/iq3U1+8PqE3upY1tybqHpwFdXVy/WmPvV+obXwQ3K2/7eaPnmmSad+Wv+oi?=
 =?us-ascii?Q?28vVufBLHSXqa6drLM8jOXdvfUCj1LaLZAo8GeyhsDvevQ+bLA5mybY9/cqU?=
 =?us-ascii?Q?5hkyo0OBbJuzIb/czKpN1aseCoP3A/3vdnKnTeUqKFesgUvo/CTv+2JvWmVr?=
 =?us-ascii?Q?AxOGba57S89iiygY1dIcjSpVWOBIdd6KIJJ2VXmEnr6W/GhbtCCtU1YmWqiJ?=
 =?us-ascii?Q?ZT3rTRULD3MNUfvbLIc01I5WcdOF6mn1BMYjludyjVuXQQUuJ+taRWPkxV7W?=
 =?us-ascii?Q?zmQ5GwN38EX/MUtZQ1YtMoib3AN/G6Sc0Agj+v7wNTtZdAUBHY8CSe5HBcBv?=
 =?us-ascii?Q?+FUn1Lfm0eHHN+Dzf9pKOJ+1DVazey4NVogznGz+fI+dCZjecsSwBYawM8OS?=
 =?us-ascii?Q?m8BCTWDyZ2A4D/R6hB92rXq0DSUqGTqnT28yMcGz2A8av4ITZaHBKwsVs3ng?=
 =?us-ascii?Q?bOKqcoiKBU4fl87YCKowDhFhFJ/NnHD/E3E9Fu5EX6mEtKduwbOUgqJw+c3M?=
 =?us-ascii?Q?KNb//wJpkGgqzgXqsVS4JERy0dX4qS4SI+hrxu/3LjAMB2eT1qY0ZaMQNi4u?=
 =?us-ascii?Q?bBNyrEeV6HnWqJe36diyXvojZVFY5CGgcyMMqODlPAPCAFMmMDWVGtfg+hPT?=
 =?us-ascii?Q?JPGkJ48IneKXxUJva1ufW0xMLWDWxvgjLGFlw52YwoXCjOSagfDxkC/VtpGJ?=
 =?us-ascii?Q?sRVw4JOX9ME9mq6hg9WWe0bhP63zL3W6dBuVolDYBJeVHs6FRq1UFNp1PKBo?=
 =?us-ascii?Q?nq89uN3JK9hds+M3pGgfMwX4AvVf9yv+K5T3WspxaolCh0aeE/n1bTa0YZDC?=
 =?us-ascii?Q?Rus9Tuc2BswG6RK5m7jt70TggPzQ08PEBhFSQXiBV6ziH0h691smHRKyh/N/?=
 =?us-ascii?Q?mcxYhG5UPd3YnnfkuLxTB3ZRRaIU/64gp6sof5rCUVuVAm2omTIp6fzUzQQK?=
 =?us-ascii?Q?aVm0Cyr7/kqBoiNPlEpW/hcauEH8GTKe4qvvv0xBNELQZ/qOAVAl0AxdKbQ9?=
 =?us-ascii?Q?jm2RXhTW3QTpRV8wTifJHSmTCPhcJ3LDji/KUtLTLeus+TKmauDa8y1jQ+F0?=
 =?us-ascii?Q?GMLvPR6vkPX/+v+dJIVN9yC1z/vFEkS3/bh0wKEJ0ZDDPycPv3hKXCfXZdxY?=
 =?us-ascii?Q?IJ3iHcTseSz/roWU8REVXQGaeA9QEK+s65Ymc1MxTehgXzRfFyNRoq11oDOO?=
 =?us-ascii?Q?Fio30zdnChvqwtVb8KM=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(376014)(36860700013)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Oct 2025 21:05:01.6484
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d4883ea6-4568-4ad0-51e6-08de0c2e81ae
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN3PEPF0000B36F.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6164

The first patch is the v3 resubmission for 4.21.

The second patch shows the conversion of the rest of the file to use
next_entry() in the loops.  It is targetting 4.22.

$ bloat-o-meter xen/xen-syms.baseline xen/xen-syms.patch-1
add/remove: 0/0 grow/shrink: 1/0 up/down: 4/0 (4)
Function                                     old     new   delta
io_apic_level_ack_pending                    218     222      +4
Total: Before=3419485, After=3419489, chg +0.00%

$ bloat-o-meter xen/xen-syms.patch-1 xen/xen-syms.patch-2
add/remove: 1/0 grow/shrink: 0/7 up/down: 31/-62 (-31)
Function                                     old     new   delta
next_entry                                     -      31     +31
setup_IO_APIC                               3435    3430      -5
__print_IO_APIC                             1010    1004      -6
set_ioapic_affinity_irq                      288     281      -7
io_apic_level_ack_pending                    222     214      -8
eoi_IO_APIC_irq                              128     117     -11
dump_ioapic_irq_info                         850     838     -12
modify_IO_APIC_irq                           132     119     -13
Total: Before=3419489, After=3419458, chg -0.00%

Jason Andryuk (2):
  x86/apic: Avoid infinite loop in io_apic_level_ack_pending()
  x86/io_apic: Use next_entry() in loops

 xen/arch/x86/io_apic.c | 50 +++++++++++++-----------------------------
 1 file changed, 15 insertions(+), 35 deletions(-)

-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 15 23:13:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Oct 2025 23:13:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1143969.1477564 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9AgX-0007N9-6N; Wed, 15 Oct 2025 23:13:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1143969.1477564; Wed, 15 Oct 2025 23:13:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9AgX-0007N2-2S; Wed, 15 Oct 2025 23:13:33 +0000
Received: by outflank-mailman (input) for mailman id 1143969;
 Wed, 15 Oct 2025 19:57:35 +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
 <SRS0=X1QL=4Y=invisiblethingslab.com=val@srs-se1.protection.inumbo.net>)
 id 1v97ct-0000KO-DO
 for xen-devel@lists.xenproject.org; Wed, 15 Oct 2025 19:57:35 +0000
Received: from fhigh-b2-smtp.messagingengine.com
 (fhigh-b2-smtp.messagingengine.com [202.12.124.153])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2fa207a7-aa01-11f0-9d15-b5c5bf9af7f9;
 Wed, 15 Oct 2025 21:57:33 +0200 (CEST)
Received: from phl-compute-05.internal (phl-compute-05.internal [10.202.2.45])
 by mailfhigh.stl.internal (Postfix) with ESMTP id 42F8B7A0165;
 Wed, 15 Oct 2025 15:57:31 -0400 (EDT)
Received: from phl-mailfrontend-01 ([10.202.2.162])
 by phl-compute-05.internal (MEProxy); Wed, 15 Oct 2025 15:57:31 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 15 Oct 2025 15:57:28 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2fa207a7-aa01-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:from:from:in-reply-to:message-id
	:mime-version:reply-to:subject:subject:to:to; s=fm2; t=
	1760558251; x=1760644651; bh=hai+s8KEB1nxGZr2wQLvsaSxQBC7QUNm2B7
	G6anXMaQ=; b=tAGM6dwmauRnHvQ6OHLVT7Vc6d2ayLZLLBTzF3lCgP4FKKuiIIY
	dPhTi8C+BYfWWUQUwEOsdPRbcGteHDErbJNKq8rE2G5dO1db8wRyoez6ecRONesX
	UCWaK4/axM5QT12tnwFA4I42tAajUAOLp5bPV9dMl35HqVKoxXywSzKWkL0ITe52
	ruvd73o24c4Kl6dKnl2UwMDz8Y+G12mtU8MrmceZcSn4h0e/B745+MmeGWOwkTaZ
	1wZlFljZj5HsI5AeXlLGHXkmLro+8M6lhHwP2mEUcAp+h0Ec8F0yVO/+Z7Eil40r
	CWQqIWWYdAPkB6+8Q9jYf77atyKpBAKqu6w==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:feedback-id:feedback-id:from:from
	:in-reply-to:message-id:mime-version:reply-to:subject:subject:to
	:to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=
	1760558251; x=1760644651; bh=hai+s8KEB1nxGZr2wQLvsaSxQBC7QUNm2B7
	G6anXMaQ=; b=cpohXbMM5DOBS8fEPI7e++tOAQwD2o02M0D99VbRKAeuHCxw45N
	1vJOUjTIavZtWqQ5/r4EoOA/L70oiFpe/Tg4cq1OUbrsro2d7RPzg6+CxURs5Ur7
	EKA4UxeVYi0nZqq+YerTch/D+P1VI2ISIOcFO7CpculXLHXuTj/6B8I4ABDT6D+O
	oFbJJeCttb1byYooHpsAuvCqjuHwLOX0zxYRm9mDlukMQdv0/a7FCML2/2ccCPE+
	t6wttAxsp7rF2DgyyP0yyW85weZSIg7l71mc+Qt9fqGkuk3Q1lytEpmGu4MHeDKw
	+8C+lMySKu3bwb6Ogf3tlwIgSfqrKoEVTFA==
X-ME-Sender: <xms:qvzvaMkv8gP61Jh9Xtavx7kE36SgGA_IYmE0dbYVl82FHkwAlVS-mw>
    <xme:qvzvaFJeRoSBgKh5zo8NFFkW2y5w6gsHXD7Ku4RVKC611-gpY1Et5vJgsuKtxXcEJ
    K60vMVIOk8nWHlh3WBd4YDH-D1882EhbI0ILYjUoCybgld1aok>
X-ME-Received: <xmr:qvzvaB6kwQAaJLYW59si6tij-dWK4ihyfH--80Id6oRurChKyJy0f3BoNTBLtJCexX0o3ID5f7ip2-4JVta-wvaRoM8KYg>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdeggdduvdegfeduucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu
    rghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujf
    gurhephffvvefufffkofgggfestdekredtredttdenucfhrhhomhepgggrlhcurfgrtghk
    vghtthcuoehvrghlsehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecugg
    ftrfgrthhtvghrnhepgfeigfeihfevhefggeeuvefftdelveeufeejkeeltdehveelveeh
    tdejheetuedunecuffhomhgrihhnpehgihhthhhusgdrtghomhenucevlhhushhtvghruf
    hiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehvrghlsehinhhvihhsihgslhgv
    thhhihhnghhslhgrsgdrtghomhdpnhgspghrtghpthhtohepiedpmhhouggvpehsmhhtph
    houhhtpdhrtghpthhtohepjhhgrhhoshhssehsuhhsvgdrtghomhdprhgtphhtthhopehs
    shhtrggsvghllhhinhhisehkvghrnhgvlhdrohhrghdprhgtphhtthhopeholhgvkhhsrg
    hnughrpghthihshhgthhgvnhhkohesvghprghmrdgtohhmpdhrtghpthhtohepvhgrlhes
    ihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmpdhrtghpthhtohepgigvnhdqug
    gvvhgvlheslhhishhtshdrgigvnhhprhhojhgvtghtrdhorhhgpdhrtghpthhtoheplhhi
    nhhugidqkhgvrhhnvghlsehvghgvrhdrkhgvrhhnvghlrdhorhhg
X-ME-Proxy: <xmx:qvzvaJ3zvSrAUHTIZOcMe669P-CUiuXF3H0NNQCanfrYh-8qVLvP5g>
    <xmx:qvzvaHc-hKQgKbFGi8ezCXE2T9DqEC6R1d_ri3hlVjWzcZdglEaoCQ>
    <xmx:qvzvaPeG76LH_ewfN1rFGagWAPLkIDhIgG5At-1JYgtrSJaVp0ICDg>
    <xmx:qvzvaCw9NhweJANBxV9eXHEazSAbveEYc1Qayr6EiYmpSL6bq1RHqw>
    <xmx:q_zvaBJsejqp6C9NROTgWvbOEeYxneVcQ7EntZDOJizlm4H2y5zKAVQL>
Feedback-ID: i001e48d0:Fastmail
From: Val Packett <val@invisiblethingslab.com>
To: Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: Val Packett <val@invisiblethingslab.com>,
	xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org
Subject: [RFC PATCH] xen: privcmd: fix ioeventfd/ioreq crashing PV domain
Date: Wed, 15 Oct 2025 16:57:03 -0300
Message-ID: <20251015195713.6500-1-val@invisiblethingslab.com>
X-Mailer: git-send-email 2.51.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Starting a virtio backend in a PV domain would panic the kernel in
alloc_ioreq, trying to dereference vma->vm_private_data as a pages
pointer when in reality it stayed as PRIV_VMA_LOCKED.

Fix by allocating a pages array in mmap_resource in the PV case,
filling it with page info converted from the pfn array. This allows
ioreq to function successfully with a backend provided by a PV dom0.

Signed-off-by: Val Packett <val@invisiblethingslab.com>
---
I've been porting the xen-vhost-frontend[1] to Qubes, which runs on amd64
and we (still) use PV for dom0. The x86 part didn't give me much trouble,
but the first thing I found was this crash due to using a PV domain to host
the backend. alloc_ioreq was dereferencing the '1' constant and panicking
the dom0 kernel.

I figured out that I can make a pages array in the expected format from the
pfn array where the actual memory mapping happens for the PV case, and with
the fix, the ioreq part works: the vhost frontend replies to the probing
sequence and the guest recognizes which virtio device is being provided.

I still have another thing to debug: the MMIO accesses from the inner driver
(e.g. virtio_rng) don't get through to the vhost provider (ioeventfd does
not get notified), and manually kicking the eventfd from the frontend
seems to crash... Xen itself?? (no Linux panic on console, just a freeze and
quick reboot - will try to set up a serial console now)

But I figured I'd post this as an RFC already, since the other bug may be
unrelated and the ioreq area itself does work now. I'd like to hear some
feedback on this from people who actually know Xen :)

[1]: https://github.com/vireshk/xen-vhost-frontend

Thanks,
~val
---
 drivers/xen/privcmd.c | 34 ++++++++++++++++++++++++++--------
 1 file changed, 26 insertions(+), 8 deletions(-)

diff --git a/drivers/xen/privcmd.c b/drivers/xen/privcmd.c
index f52a457b302d..c9b4dae7e520 100644
--- a/drivers/xen/privcmd.c
+++ b/drivers/xen/privcmd.c
@@ -834,8 +834,23 @@ static long privcmd_ioctl_mmap_resource(struct file *file,
 				if (rc < 0)
 					break;
 			}
-		} else
+		} else {
+			unsigned int i;
+			unsigned int numpgs = kdata.num / XEN_PFN_PER_PAGE;
+			struct page **pages;
 			rc = 0;
+
+			pages = kvcalloc(numpgs, sizeof(pages[0]), GFP_KERNEL);
+			if (pages == NULL) {
+				rc = -ENOMEM;
+				goto out;
+			}
+
+			for (i = 0; i < numpgs; i++) {
+				pages[i] = xen_pfn_to_page(pfns[i * XEN_PFN_PER_PAGE]);
+			}
+			vma->vm_private_data = pages;
+		}
 	}
 
 out:
@@ -1589,15 +1604,18 @@ static void privcmd_close(struct vm_area_struct *vma)
 	int numgfns = (vma->vm_end - vma->vm_start) >> XEN_PAGE_SHIFT;
 	int rc;
 
-	if (xen_pv_domain() || !numpgs || !pages)
+	if (!numpgs || !pages)
 		return;
 
-	rc = xen_unmap_domain_gfn_range(vma, numgfns, pages);
-	if (rc == 0)
-		xen_free_unpopulated_pages(numpgs, pages);
-	else
-		pr_crit("unable to unmap MFN range: leaking %d pages. rc=%d\n",
-			numpgs, rc);
+	if (!xen_pv_domain()) {
+		rc = xen_unmap_domain_gfn_range(vma, numgfns, pages);
+		if (rc == 0)
+			xen_free_unpopulated_pages(numpgs, pages);
+		else
+			pr_crit("unable to unmap MFN range: leaking %d pages. rc=%d\n",
+				numpgs, rc);
+	}
+
 	kvfree(pages);
 }
 
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Thu Oct 16 06:40:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Oct 2025 06:40:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144107.1477573 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9HfB-0007fz-GD; Thu, 16 Oct 2025 06:40:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144107.1477573; Thu, 16 Oct 2025 06:40:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9HfB-0007fs-Ck; Thu, 16 Oct 2025 06:40:37 +0000
Received: by outflank-mailman (input) for mailman id 1144107;
 Thu, 16 Oct 2025 06:40: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 <SRS0=CbFY=4Z=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v9HfA-0007fm-Ru
 for xen-devel@lists.xenproject.org; Thu, 16 Oct 2025 06:40:36 +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 04764e61-aa5b-11f0-980a-7dc792cee155;
 Thu, 16 Oct 2025 08:40:34 +0200 (CEST)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-426f1574a14so165148f8f.3
 for <xen-devel@lists.xenproject.org>; Wed, 15 Oct 2025 23:40:34 -0700 (PDT)
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-47114423862sm7277085e9.1.2025.10.15.23.40.32
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 15 Oct 2025 23:40:32 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 04764e61-aa5b-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760596834; x=1761201634; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=iW/qEpx6yh7S5wMwdqHfKgEyIDn2vFR8Zdt/L2ESZ5Q=;
        b=NMahAtGGRQix8ocScbKozexP+l8z7te8qvwNoxjVJdd5YJxzR9jCcz9AHcPpKj6UwC
         GxM7UktwMe6M2pSh3s/mCimg2w8v6qH7aet3KJ8wBrjKMZgxjrCirGWovvWBF8bo0xQX
         urHBnGz1khQZjJy2veusgm7CHpYMD+ahGh+KYByOSahN9eBUh8JK4Swd48VMYeavvYjl
         NucwTGxuqLVqwUEIOzY0hRG0F8G3vMpGtx/j/kDQw2Ahlhj8OD1S8GWdlJu/iIaI34JN
         tsqTkVwzxuIxJ+ZMDF8Z4CgaDWMWaC5+SPSkdig5/INJhoNRBMQT1iOOZVP555eovf/h
         guGQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760596834; x=1761201634;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=iW/qEpx6yh7S5wMwdqHfKgEyIDn2vFR8Zdt/L2ESZ5Q=;
        b=iTxSzW40x+lndVKZD+FEPBTGn9uoRveqoLK4i8MvzsxK3r6H3UX2T4RQrb631HXdKZ
         Ph8vE5yMgF80XNN3wfLSGDTX5xTcfO3iyHB0Yq0e70xefDUmyPdpstdv2minTGwfH3TD
         IER3RjxuBMBRaqWEFrpkTh9Wql36iii+cqvgqZmsNczsqTXCSRPG4/yoF/CfD1GO/uBg
         3GTTB/g0XrZc7A9V3s4BLIvCYUykBnmjGU31tXC5meofKgfHFJ5lo5fcOZMVFDV9YmbX
         XpWsdKAyXGLskyp2VfW/jwaIj5lqiecGCdHdbs5R2rwOkhbna3FMvw/Pu6FH2lUumejn
         DJEw==
X-Gm-Message-State: AOJu0YwIwN7KP+UR6RPZ5Bu8qLFf/aNIAeefd3OyhG28UxIMkAcMSIFc
	m6Z2eE3Wy/MA8oGf/LrbJNqDhebwi/rbyRS+yFaGBQL/cSVasxAoGvI0tVOz1t5JYA==
X-Gm-Gg: ASbGncslnrK3Q/detElnFtUdRdxbjemnz6OndNi72Q5LTdUwVtH5tsH680RQE39FSAe
	2mqmAO6haW3PXFSK0OQf4JTTANLlO0RxbeUd0EQlw/WoAa34/5Cs0edbGQ6JiNHyo6oEkRfmTjf
	+V7Shit/MBX9QqxCrLGvXgCzFUZkJGnNQZrqy3t2SQ1Apr91OpCfrqTUXrH7ZP2YoYXGNb2LkZa
	KxuXgSZ0+MRXMEWUywFXtIW/3DPUmYUZBcJpF6OnNzO1nTd8lxor9si0Q/WIN/1uivZRvPlHfz+
	tcNS6qOtWnUn4KEgA/BFJstUCXHpETvyzR6+jf0iaz/+O95BnXlPIMOIYacZ+sKepIf3k87P1Z5
	PY44986/CpdyOf/F0S/nkh+QpLSerbtlWuHiNxzFNdytWrvkQNtXg9J1Q8RagtDkjolOEWnJJJ6
	r3P/i+u3OFoOvbo1EW8gpQ1RY1O08iNQdLedi1uGYZBg4uflwaC08Oulb9NTXujXViSVYL/vDpf
	NSyy3xABw==
X-Google-Smtp-Source: AGHT+IGNrLKOXqVAgqtMJWG1EV2G9j6beQW1ac2XzsMSg8PsqmXCex8qi0qjf/xvusoiL3egPHwOTw==
X-Received: by 2002:a05:6000:25fc:b0:426:d301:a501 with SMTP id ffacd0b85a97d-426d301a83bmr13415583f8f.62.1760596833710;
        Wed, 15 Oct 2025 23:40:33 -0700 (PDT)
Message-ID: <84756684-6dbd-40cd-88fc-79cda7d83017@suse.com>
Date: Thu, 16 Oct 2025 08:40:31 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] x86/apic: Avoid infinite loop in
 io_apic_level_ack_pending()
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: xen-devel@lists.xenproject.org,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20251013211106.8720-1-jason.andryuk@amd.com>
 <aO39pb3L42ktBol_@Mac.lan> <d8cb0b5b-fbf6-4db0-ba70-f5a612e63cb4@suse.com>
 <a4ee443a-cf65-420f-9508-d7f34393316b@amd.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <a4ee443a-cf65-420f-9508-d7f34393316b@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 15.10.2025 19:14, Jason Andryuk wrote:
> On 2025-10-15 08:59, Jan Beulich wrote:
>> On 14.10.2025 09:37, Roger Pau MonnÃ© wrote:
>>> On Mon, Oct 13, 2025 at 05:11:06PM -0400, Jason Andryuk wrote:
>>>> io_apic_level_ack_pending() will end up in an infinite loop if
>>>> entry->pin == -1.  entry does not change, so it will keep reading -1.
>>>
>>> Do you know how you end up with an entry with pin == -1 on the
>>> irq_pin_list? Are there systems with gaps in the GSI space between
>>> IO-APICs?  So far everything I saw had the IO-APIC in contiguous GSI
>>> space.
>>>
>>>> Convert to a proper for loop so that continue works.  Add a new helper,
>>>> next_entry(), to handle advancing to the next irq_pin_list entry.
>>>>
>>>> Fixes: f821102450a1 ("x86: IRQ Migration logic enhancement.")
>>>> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
>>>> ---
>>>> v2:
>>>> continue (not break) for pin == -1.
>>>>
>>>> I added the next_entry() helper since putting the expression in the for
>>>> loop is a little cluttered.  The helper can also be re-used for other
>>>> instances within the file.
>>
>> Would this intention ...
>>
>>>> --- a/xen/arch/x86/io_apic.c
>>>> +++ b/xen/arch/x86/io_apic.c
>>>> @@ -1586,14 +1586,21 @@ static int __init cf_check setup_ioapic_ack(const char *s)
>>>>   }
>>>>   custom_param("ioapic_ack", setup_ioapic_ack);
>>>>   
>>>> +static struct irq_pin_list *next_entry(struct irq_pin_list *entry)
>>>
>>> I think you can make the entry parameter const?
>>
>> ... possibly conflict with such a change?
> 
> I changed only the parameter to const, and the return value is still 
> non-const.  So I think that will be re-usable.
> 
> I placed next_entry() immediately before its use in 
> io_apic_level_ack_pending().  It would need to be earlier in the file to 
> be used more.  Should I move its addition earlier?

I think so. One other thing which came to mind only after sending the earlier
reply: "next_entry()" is overly generic a name when it's to be moved away
from its only user. "next_pin_list_entry()" maybe? Or "pin_list_next()"?

> And another Minor question.  Roger asked for ~Linux style in the for 
> loop.  But in next_entry() I have Xen style:
>      if ( !entry->next )
> 
> Should I switch to:
>      if (!entry->next)
> 
> ?

I'd say no.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 16 06:47:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Oct 2025 06:47:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144117.1477583 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9Hlz-0008JA-5p; Thu, 16 Oct 2025 06:47:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144117.1477583; Thu, 16 Oct 2025 06:47:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9Hlz-0008J3-2r; Thu, 16 Oct 2025 06:47:39 +0000
Received: by outflank-mailman (input) for mailman id 1144117;
 Thu, 16 Oct 2025 06:47: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 <SRS0=CbFY=4Z=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v9Hly-0008Ix-HP
 for xen-devel@lists.xenproject.org; Thu, 16 Oct 2025 06:47:38 +0000
Received: from mail-wm1-x334.google.com (mail-wm1-x334.google.com
 [2a00:1450:4864:20::334])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0069b281-aa5c-11f0-9d15-b5c5bf9af7f9;
 Thu, 16 Oct 2025 08:47:37 +0200 (CEST)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-471075c0a18so3784155e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 15 Oct 2025 23:47:37 -0700 (PDT)
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-47114428dedsm7620435e9.7.2025.10.15.23.47.35
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 15 Oct 2025 23:47:36 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0069b281-aa5c-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760597257; x=1761202057; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Uu+0Q7jlwk+RFBoViCKV+e3BvDmOsAcry3upwlvr4Uo=;
        b=fqxz28BYgfF66gu1/Z2TZ22V5dtw2km5a050ZM+IVc0pOUWb+vmQZrz1Z45ZzbksX+
         nu6sb9Xf3S+av+vTw5yWUJ92utGqmssfz1zFYzLTUmYrAsKT+K6uFfSkpVhTUvyqS9yv
         4RKsqkH/YPecS7DR+tsTQfc7BbX5Zym5PgG6v9BDYl4FjFAqn6IInNtQGjeDX33Sxo2B
         cTU3DGgwSoErm+y3ETJw7OiWMFH7eZJ//V9AVkfDKaPC8qI/B5Bj4DqQEVmD1GKqPPWN
         WCcLeY8VMicTVEK2jiNhPeMQAHrOvOpxG/o3yUqi0T5dQtcHciuKvs2XJrLAAoBu7EUy
         wenQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760597257; x=1761202057;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Uu+0Q7jlwk+RFBoViCKV+e3BvDmOsAcry3upwlvr4Uo=;
        b=tTFzmgb3cL1k0XK6kim1dCLBbs6FFO7HvrOvC8qm/r2Sggqt2XLEqIeEXtF7MC+kmS
         S5RRpqTVPRquFa2YYHEkaUNE+PEBTKca1YPHt7RzbHY+8eA6HQzG26F1VgS1dHd3uB+V
         Rpe7JCFk65DmpbjbEl0nwpxQQ2X+2FHhGDXRw0dWrM+gN3s3dxMoAVr1VNAWMupmFJkJ
         CN5Lh2e4P7uFT5KmOdjX6zn9orkR/0xSQScolwsfy/xl4w8EoMvvOHBTJPIOb+Tj7YyU
         C4KorbnH2DQzFtP3fIGKHaIMFKNE022vuD762Zbpfh/KYjYSIWPWLx7gct59gGMmoK9c
         MksQ==
X-Forwarded-Encrypted: i=1; AJvYcCXFd00Wos99aF7HlT45KQVQbd+g6wX22NJP8O5J+ppFQuKcRC//9RxK2QKcKtjCt4EcY6cxE7dmfy4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzuETO/wy/3t4L1Hwli3cup0FQv0vAvk/TNE2+pPkuywmK7Q8eu
	+H829Af6Qit+VdTcmDTLyfmVNyEmSYX24v84apffQDmTb+nW15DlzcGzFNn9K4yLNQ==
X-Gm-Gg: ASbGncsyN9G079fPAOnSWQ94hktmPjSAjfdlETBGL7OW6GOTan25ut38vHt4tov8QH8
	5c5Lc2vcULmTkLKUKYZpxT5SdRYEqEpr4lpLWWX8qENiYGqDNNLSUMrJ8YJ2mxrgbq2cNdh7wU1
	Eo9keB1y8VYwZi8gUWJVOCZXMVFgV6BvAt9ySboaXXNfXA4c2aFPPXM7kKPvFAj/lM4jGi4GAI9
	27lJA+k9CnaVLZJCQQF81kmh0wvFG4l4WGqQ8MpaPou/dxKh567JCaUn51dQm8za2Qq19fF5ykh
	K9o0mquif0qWm+bwuVjhNgMoQbcCcpI1oubBD7BhUYbE2WDdSICmSYWVhc5ddJva6deu+hzFpQW
	ec93yPzirg9aXIKIiw+zIn1aJPW78+6ZZgb90mpqpF4oTDE1SJBV7etOQO/47dodjy/pR74lfNH
	SyVSRJ4zZMisAcM2cMx8uAobd8jxnSi9JQPsOZOhp93oRcxl6ZG2OV6PMtjoNqUzo8xYfDJLc=
X-Google-Smtp-Source: AGHT+IEksz1QzuqxSSRGMweFznQE7YQq7qWLxIQhtKytn5QanlR9VnlEji7dGG+c+2oSr1zxWa2Jiw==
X-Received: by 2002:a05:600c:6487:b0:46e:4783:1a7a with SMTP id 5b1f17b1804b1-46fa9a8f37emr219325785e9.3.1760597256590;
        Wed, 15 Oct 2025 23:47:36 -0700 (PDT)
Message-ID: <6cf0b252-05ef-409f-876d-2016f0cdc088@suse.com>
Date: Thu, 16 Oct 2025 08:47:35 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21 v3 1/2] x86/apic: Avoid infinite loop in
 io_apic_level_ack_pending()
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>, xen-devel@lists.xenproject.org
References: <20251015210454.95381-1-jason.andryuk@amd.com>
 <20251015210454.95381-2-jason.andryuk@amd.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251015210454.95381-2-jason.andryuk@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 15.10.2025 23:04, Jason Andryuk wrote:
> io_apic_level_ack_pending() will end up in an infinite loop if
> entry->pin == -1.  entry does not change, so it will keep reading -1.
> 
> Convert to a proper for loop so that continue works.  Add a new helper,
> next_entry(), to handle advancing to the next irq_pin_list entry.
> 
> Noticed during code inspection.  The infinite loop was not observed.
> 
> Fixes: f821102450a1 ("x86: IRQ Migration logic enhancement.")
> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
> Release-Acked-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
> v3:
> const on next_entry() parameter
> Remove spaces inside for loop braces
> Remove inner if (!entry) check
> Expand commit message to state noticed during code inspection
> 
> v2:
> continue (not break) for pin == -1.
> 
> I added the next_entry() helper since putting the expression in the for
> loop is a little cluttered.  The helper can also be re-used for other
> instances within the file.
> ---
>  xen/arch/x86/io_apic.c | 17 +++++++++--------
>  1 file changed, 9 insertions(+), 8 deletions(-)
> 
> diff --git a/xen/arch/x86/io_apic.c b/xen/arch/x86/io_apic.c
> index c384f10c1b..c35d611ecf 100644
> --- a/xen/arch/x86/io_apic.c
> +++ b/xen/arch/x86/io_apic.c
> @@ -1586,20 +1586,24 @@ static int __init cf_check setup_ioapic_ack(const char *s)
>  }
>  custom_param("ioapic_ack", setup_ioapic_ack);
>  
> +static struct irq_pin_list *next_entry(const struct irq_pin_list *entry)
> +{
> +    if ( !entry->next )
> +        return NULL;
> +
> +    return irq_2_pin + entry->next;
> +}

When replying to the v2 thread I hadn't spotted yet that a v3 was already
posted. As indicated, imo this name to too generic (now). I'd be happy to
make adjustments while committing, as long as we can agree on some less
generic name.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 16 06:53:31 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Oct 2025 06:53:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144133.1477593 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9Hra-0001PC-Pr; Thu, 16 Oct 2025 06:53:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144133.1477593; Thu, 16 Oct 2025 06:53:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9Hra-0001P5-MH; Thu, 16 Oct 2025 06:53:26 +0000
Received: by outflank-mailman (input) for mailman id 1144133;
 Thu, 16 Oct 2025 06:53: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 <SRS0=CbFY=4Z=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v9HrZ-0001Oz-T7
 for xen-devel@lists.xenproject.org; Thu, 16 Oct 2025 06:53:25 +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 cf2036a0-aa5c-11f0-980a-7dc792cee155;
 Thu, 16 Oct 2025 08:53:23 +0200 (CEST)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-3ee64bc6b85so305610f8f.3
 for <xen-devel@lists.xenproject.org>; Wed, 15 Oct 2025 23:53:23 -0700 (PDT)
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-47114461debsm8249145e9.18.2025.10.15.23.53.22
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 15 Oct 2025 23:53:22 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cf2036a0-aa5c-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760597603; x=1761202403; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=DSMWhaSTCzb2yFqAUov+0ri3gRlreIXK9W08UI27VYA=;
        b=apLbmV/bKMk9JALZ5a8X99fPhRPN5y+8EYvTnoAWPBuckgsHtjocr+4StN+fVXahNE
         unQF4x6CjKREU/wf0H8fjQiMjAqPzA7BiWbBCl0kv9/XoFXOwYiyy+4ryPuu2jmtnByO
         ccB/ouUIILu5xeJq4K02ACM9wUwg4fjeQ7HuyegBa9Jd1bS2jiRpBylYVB6ugmKnhhaC
         yovoK6cR4zvFPfDSfvLrmg+5V+JvEi65/RrXpMdHEhNqdzcOeauUpiXNIaNAeGmHnZIp
         MXoT3EYDdLmjM3XwYfEv6f9OoFxwBhQOfNQ7KxC0A3QirqGOdF1LHfoD7RUXzjBE0Xh1
         Rwhw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760597603; x=1761202403;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=DSMWhaSTCzb2yFqAUov+0ri3gRlreIXK9W08UI27VYA=;
        b=UNEmjVJZ7Rg4kNzdS1kxB6ta2YnCe8V8O6437/LdbjA8gmFoJP90bUNsW92lltTVhb
         nswJ8p+IoQiyNLaPZmniozLbPK2Q3IwsIgBvn3hrugttd9Kj7AZ39oquqlrEtgyKvCh6
         g7p41jY/zTzmmxbz1UTM/0Ga+V6RvscViZzzjj/vkNMf+pYmPwOBSBftlRiwnXiKwtuS
         VG+lLHhg6FuzZ588scgTEPMfvgcVTQsl46/6WR64MadPvP5Cj7+JBkKqGUWgIMAK3Z6Z
         XUKl5+yHCIgt1QjD75GB8Ue93huTGhl1ZqST2zFxpTkqXreLvpofklycosCy7u9cbe1+
         2pOw==
X-Forwarded-Encrypted: i=1; AJvYcCXq3fxlPY7v9bV7X7uBuXLi7AHeZSJWbeCTdJK0AGs7SMheLXx6uGpEG89/GN20ZY7tCpDvD5Tr3vk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxjA1j514TUkD15+7jUugEZMLi5IxLlHX3ZorW6cYNVPGB1ygcK
	Tu4sJKNGpbAZDqIujw94HO9GPPjkb4P1F4MvPlSKVVQY96K9daFbG3MJBRqIQi3Scw==
X-Gm-Gg: ASbGncuBn7hxLxf99LYg1QCAEzrWrzD1h5UVuu4bh43BGsuRbATuP5ac1WubmPGwF9z
	WYYwxIHvTuFjC/sM1k+EHOBsWQGjyTHGlZezRPfBD9IBjJvDmE0PB89MB8aXqAy3H4ShLaKG0Xh
	ztapVnKA3hA+CfEDy62BxBVol/wa/aObn86TelRXyPcF+JprpLLjsYybREKndFKIb71CrfnbILC
	aBmgGlgVk/qfkxTw+GOi1+mRLgCQ6ClIKOrjjqIzkZ27b004iir6m4TNJ41p5+rGDF6yZjMyLws
	HDHTdoQP7Av51ekqNGlgVA3Vrf343sI3UVFS8WMoYTzVsARgcXRdX6sACHVwNKX4GSxFVz5kz+P
	VGK0J6zfn2WCN0q3dtuP7e9n11dFiHVACXQ+UtUzYFJWJCdPlZafXzwWkDeFyVCWouk/bqJey8E
	k2Kxw78IW5MyXRAbzr4G0p/XtMEP9RILfNjFIS7vzAL0eS9g3rUU/LC5ToUaqI
X-Google-Smtp-Source: AGHT+IGXJi0NDphLg9nCTWotbPxjLBaTF3gR6H2vfRNSD+yQsx7D0BhMKX43JYw/ZidYZUI2z8SL8Q==
X-Received: by 2002:a05:6000:2504:b0:405:ed47:b285 with SMTP id ffacd0b85a97d-4266e8e6847mr22084272f8f.58.1760597603203;
        Wed, 15 Oct 2025 23:53:23 -0700 (PDT)
Message-ID: <61773baa-d577-4cf7-8d1a-819b79bd1c7d@suse.com>
Date: Thu, 16 Oct 2025 08:53:21 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22 v3 2/2] x86/io_apic: Use next_entry() in loops
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20251015210454.95381-1-jason.andryuk@amd.com>
 <20251015210454.95381-3-jason.andryuk@amd.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251015210454.95381-3-jason.andryuk@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 15.10.2025 23:04, Jason Andryuk wrote:
> io_apic.c has a lot of ad-hoc for(;;) and while(1) loops for iterating
> over irq_pin_list entries.  Replace them with a standardized
> for loop using next_entry() to advance entry.
> 
> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
> ---
>  xen/arch/x86/io_apic.c | 49 ++++++++++++------------------------------
>  1 file changed, 14 insertions(+), 35 deletions(-)
> 
> diff --git a/xen/arch/x86/io_apic.c b/xen/arch/x86/io_apic.c
> index c35d611ecf..73b48a9cb8 100644
> --- a/xen/arch/x86/io_apic.c
> +++ b/xen/arch/x86/io_apic.c
> @@ -191,6 +191,14 @@ static void remove_pin_from_irq(unsigned int irq, int apic, int pin)
>      irq_2_pin_free_entry = entry - irq_2_pin;
>  }
>  
> +static struct irq_pin_list *next_entry(const struct irq_pin_list *entry)
> +{
> +    if ( !entry->next )
> +        return NULL;
> +
> +    return irq_2_pin + entry->next;
> +}

Preferably with the function put in its final place right in patch 1:
Acked-by: Jan Beulich <jbeulich@suse.com>

> @@ -482,7 +487,7 @@ static void modify_IO_APIC_irq(unsigned int irq, unsigned int enable,
>  {
>      struct irq_pin_list *entry = irq_2_pin + irq;
>  
> -    for (;;) {
> +    for (; entry; entry = next_entry(entry)) {
>          unsigned int pin = entry->pin;
>          struct IO_APIC_route_entry rte;
>  
> @@ -492,9 +497,6 @@ static void modify_IO_APIC_irq(unsigned int irq, unsigned int enable,
>          rte.raw &= ~(uint64_t)disable;
>          rte.raw |= enable;
>          __ioapic_write_entry(entry->apic, pin, false, rte);
> -        if (!entry->next)
> -            break;
> -        entry = irq_2_pin + entry->next;
>      }
>  }

I notice that within here there's also a "break" upon ->pin being -1.
Seeing that io_apic_level_ack_pending() has continue there, I think we
will want to be consistent. Which way isn't quite clear to me (yet).

> @@ -545,14 +547,11 @@ static void __eoi_IO_APIC_irq(struct irq_desc *desc)
>      struct irq_pin_list *entry = irq_2_pin + desc->irq;
>      unsigned int pin, vector = desc->arch.vector;
>  
> -    for (;;) {
> +    for (; entry; entry = next_entry(entry)) {
>          pin = entry->pin;
>          if (pin == -1)
>              break;

Same here.

> @@ -632,7 +631,7 @@ set_ioapic_affinity_irq(struct irq_desc *desc, const cpumask_t *mask)
>          if ( !iommu_intremap || !x2apic_enabled )
>              dest = SET_APIC_LOGICAL_ID(dest);
>          entry = irq_2_pin + irq;
> -        for (;;) {
> +        for (; entry; entry = next_entry(entry)) {
>              struct IO_APIC_route_entry rte;
>  
>              pin = entry->pin;
> @@ -643,10 +642,6 @@ set_ioapic_affinity_irq(struct irq_desc *desc, const cpumask_t *mask)
>              rte.dest.dest32 = dest;
>              rte.vector = desc->arch.vector;
>              __ioapic_write_entry(entry->apic, pin, false, rte);
> -
> -            if (!entry->next)
> -                break;
> -            entry = irq_2_pin + entry->next;
>          }
>      }

And here.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 16 07:30:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Oct 2025 07:30:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144151.1477602 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9IRV-0006TJ-Ji; Thu, 16 Oct 2025 07:30:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144151.1477602; Thu, 16 Oct 2025 07:30:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9IRV-0006TC-GX; Thu, 16 Oct 2025 07:30:33 +0000
Received: by outflank-mailman (input) for mailman id 1144151;
 Thu, 16 Oct 2025 07:30: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 <SRS0=CbFY=4Z=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v9IRU-0006T6-F1
 for xen-devel@lists.xenproject.org; Thu, 16 Oct 2025 07:30:32 +0000
Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com
 [2a00:1450:4864:20::32b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fe34333c-aa61-11f0-980a-7dc792cee155;
 Thu, 16 Oct 2025 09:30:30 +0200 (CEST)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-4710022571cso2727995e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 16 Oct 2025 00:30:30 -0700 (PDT)
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-4711435b06fsm11512315e9.0.2025.10.16.00.30.29
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 16 Oct 2025 00:30:29 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fe34333c-aa61-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760599830; x=1761204630; darn=lists.xenproject.org;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id:from:to:cc
         :subject:date:message-id:reply-to;
        bh=bGiqDHGvF3cGFRnNQq0q8BH7zVglVFVrYPwnHO8ixSE=;
        b=U9gOp7aKgvFGaydZRyNNCkywwCvkYGxW8Cld1H5/dVwcmIaZX+J+AKkTYZ2ktSdd1J
         3Xv4e3ShoV2ZCwzOo/x9LIOLFgwMkastvwKPApRVJhX1V9jiAa5bG9ovQcxpPMcJ3D7i
         jJIcySq1ENoBV98ntBm6Yy+dH+/sUvrmJAiG2GBtFA6Pbi4KkUA86i7z8WSF8nXRbbhk
         h2a/o3K5MEJb8UbrIvt+iRu+4Tg+KPjo0FeEmaQVEGy028o8itnr44i3o1gIl6NJu3PF
         BC35W3wahaJ9JiQruIspshCqcoSHf+2Gh+VxRA2mfCa2AXvjIcry1e6CG3RxBNvApktH
         o30g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760599830; x=1761204630;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=bGiqDHGvF3cGFRnNQq0q8BH7zVglVFVrYPwnHO8ixSE=;
        b=sF2UMfsOkfR4BJkBjEiNY4F2BkjzWtUi4hgUpEJ+y4gHhylZ/Bosy8QkkO5JR7j2S6
         Zc1SJ3+1p2FQOi7SXJ4U44bNG2j7ZMX4KD1cCa1eq2I9NbOCSAbVNJhSSgvjWpjNgH7O
         1IRjSHJE+rbkYT20wOdI/KQxQlcYvev/9uZuCd09bJ8dLJeI2mQgdT5ryINCCSy3hKOV
         aqzBDO4PYy7cmKcYnpPIbMNrPPEF96sud+oqkZRVeHmWiv+leEar0WQxgUgmb+FTs6AE
         l5sUtfbrH+sVFagkIFG8dolNhy4R1ufJNQlTfY6FqG7/FFzvXx4wlgDvNBA1pHNG7pp6
         8knA==
X-Gm-Message-State: AOJu0YxOGq9Znt1u8UG7HI+6qoDjcx+6RhKkBARcajE7dB+76isASdVv
	MDjJHPsBxV3tB2FzybVqEepYCsdpqsUMWLFf4toT+Kup/4FgjbdOb/diZ3s/Ec+vCjkQ7JidlOZ
	06kE=
X-Gm-Gg: ASbGncsPpGe4ZOQo14rOu6GoD4oNbYIcTyUZeJMkT7g+dSV83qBmt/zvWrz1CC5dVKn
	Gtb0AGUaAJ8Bim1Q2Bjhe90nyEWoNpqkD9HvHduYCPm7b19p8XLGGSEFBp52a4CFBtRbd90QXiY
	VumgOBbYNX+XYUbaUZPeRhB/J1Ty6Qq9daY1OkKFXucH8yylv8k0uDFg3Lg4naXCGRV4meivbsq
	ScYvCjicuMORtB2ObStBoEmSuqF6G854d5TQA29MFA0KVo5tRaWkd+8airkpqsFCG2gFs2lWl2o
	W8QNvDHZNMYwB+obCnsX2k1HHW/Ie+JY1vfkKc5A6NCRT6aXxjxF8oZgJFQwLTyfOIiWg47jYBi
	NACBMnAI42Do298g659igJCza+Ja3JfWTaA6OpykOMpkirhmCyr0eB2P1t+ITaKi1m7JCNEVhL8
	eBfVQkRf3BlWdFA6/yv4TI6risKVcdHu15SKJXUmD0kH4YOONTJuUPeNzjhIBU
X-Google-Smtp-Source: AGHT+IGBZcvuH+dTkQFR/qGM+HC6rs7Sbf2TlTaW6Btnsa59HTSpYufalZR3bBaSV99SxV7WKEwrEQ==
X-Received: by 2002:a05:600c:4ec8:b0:46d:27b7:e7e5 with SMTP id 5b1f17b1804b1-46fa9b08d79mr257159785e9.32.1760599829681;
        Thu, 16 Oct 2025 00:30:29 -0700 (PDT)
Message-ID: <8d94abf8-70d1-478c-885e-ff9a960ac72d@suse.com>
Date: Thu, 16 Oct 2025 09:30:28 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH for-4.21 00/10] x86/HPET: broadcast IRQ and other improvements
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
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

While 1db7829e5657 ("x86/hpet: do local APIC EOI after interrupt processing")
helped quite a bit, nested interrupts could still occur. First and foremost
as a result from IRQ migration (where we don't have any control over the
vectors chosen). Hence besides reducing the number of IRQs that can be raised
(first two patches) and possibly the number of invocations of
handle_hpet_broadcast() from the IRQ handler (optional patch 4), the main
goal here is to eliminate the potential for nested IRQs (patch 3). These
patches are imo 4.21 candidates (with patch 4 being questionable altogether;
see there). Patches 5 and onwards likely aren't important enough anymore at
this point of the release cycle, even if those with a Fixes: tag would likely
end up being backported later on.

The one related thing I haven't been able to find a viable solution for is
the elimination of the cpumask_t local variable in handle_hpet_broadcast().
That'll get in the way of possible future increases of the NR_CPUS upper
bound: Much like right now a single level of nesting is already too much,
if the limit was doubled even a single IRQ would end up consuming too much
stack space (together with cpumask_raise_softirq() also having such a
variable). Yet further doubling would not allow any such stack variables
anymore.

01: limit channel changes
02: disable unused channels
03: use single, global, low-priority vector for broadcast IRQ
04: ignore "stale" IRQs
05: avoid indirect call to event handler
06: make another channel flags update atomic
07: move legacy tick IRQ count adjustment
08: shrink IRQ-descriptor locked region in set_channel_irq_affinity()
09: reduce hpet_next_event() call sites
10: don't use hardcoded 0 for "long timeout"

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 16 07:31:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Oct 2025 07:31:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144162.1477613 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9ISL-00070W-W4; Thu, 16 Oct 2025 07:31:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144162.1477613; Thu, 16 Oct 2025 07:31:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9ISL-00070P-TJ; Thu, 16 Oct 2025 07:31:25 +0000
Received: by outflank-mailman (input) for mailman id 1144162;
 Thu, 16 Oct 2025 07:31:24 +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 <SRS0=CbFY=4Z=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v9ISK-0006tj-Jb
 for xen-devel@lists.xenproject.org; Thu, 16 Oct 2025 07:31:24 +0000
Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com
 [2a00:1450:4864:20::42e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1dd27ae8-aa62-11f0-9d15-b5c5bf9af7f9;
 Thu, 16 Oct 2025 09:31:23 +0200 (CEST)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-426fd62bfeaso144221f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 16 Oct 2025 00:31:23 -0700 (PDT)
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-426f2f72e18sm11779917f8f.0.2025.10.16.00.31.22
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 16 Oct 2025 00:31:22 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1dd27ae8-aa62-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760599883; x=1761204683; 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=dY/Gq5Ca3KZa4aryi+C7Ydf3Q3EvvsHfYx82DOTDz1w=;
        b=IMRw0g97ZdxLoVXJthlygda/RGvgHGuSGCN33c6A7LzmmeNG+hpGqiY/LMANv+kz6X
         J7/DU2pZuk6kg/n8c+HfY5HvHRtAieGCKbTCz2MvQDhKO1406y20vPy+/FQD7C5oNxM5
         j50coT2bMhdZrVrI6qtjEwqcD9756Sik53Lf3GZPhHeBiUVVllMhpe75FT0/I3xowXe+
         lznlBkMy+LWukn+XLEYVujchKtv8iUf2pZHQRI095iZA1rFkBq7+JKhtPzc2dEM/d535
         +QrLxV5cr7tzOdbjuoyjosClVTlZXvmuuSWzaJj0IEPqzMrmOU7UH06adXnlfc6cr6b0
         L9UQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760599883; x=1761204683;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=dY/Gq5Ca3KZa4aryi+C7Ydf3Q3EvvsHfYx82DOTDz1w=;
        b=tXk45a3MxMeYTDinMf6EUgRhl3x20j+iHr9XVlqzC9vbsb36s/7lvMk81YQS5OFIbj
         6ZYaEkr/uWqLVpQ9vzDTmngpD9Wf+EJDGtIY0c7BEqZdCPZfW5+o1BUQNo1D2TPaHxLZ
         qvdzk52jhqhGKYJGbpRu79ZveGEog0bxsZTL49H/kKDY9aBTnYo9F7Wi17bhxFuauoKJ
         0nHQyL04a12KRTjLfW/4GBWFAoUrBCz9/1/M5dJZJvT7r3jXGhi+MvR2DyneEDCjYPS5
         /iH5Sq9sWZPwf/pbIaYypSJOQRLumKUjj9DT0Mx5w4LjWZ8uQACc5CLoGXnLVz65zJe0
         YsAA==
X-Gm-Message-State: AOJu0YzdVmLbblgWedhl4hcsUTqMPbVddw5jcGPouG6KaPw2v83WyUey
	RF0nfFI0FpW/TPdYiLWtqJ+qCzmGlAZKfNvtQmAlhzivRZSgfQ7+FvWLTxGQUqaPzKEjrjG0l3N
	o4Ys=
X-Gm-Gg: ASbGncu/g8ANVJe/KPT9nfZ0wZ5BxXNii10E8wL1x6vDr6fkIRc7FMGSJSSJEmokCDV
	gUcQdeBerWtVTqSrDY7WWUWfbsKHYiOZsw3RoWGFymfp+rNp0XaLnPezVsVB/d+MeFm2TwZSXVv
	FIlDRTKYhrycId/9YJcXPZkm0HznPBdaUG0uhMjRBUSrBt52vQy5Cfb6BSUSd2ir5A+B4mTVXEV
	9WpEwEsvs3lqe+ModxaWFGce6zsKC5rMCmfCs1YUlWKblZJXEtHNRrCesRi0H17ExBl/r6mDUZm
	CuhKFXRhjhI6myRnw8xNcbWN540zECEk1j/KvkldmakKR1sfTYSusbJMESR4GxHAovCa80+UzZa
	75yX7AYrmdCeczcwbUJeGpPvKefyUi+hyd/tOADKDNHetDSmJgAtS1Y+1acWwN5esbdH/2RI+Li
	udnwpxvkUssk4x4CHiiJZRjM4qcbuJ2zvQAM7o/Q35+31b9WQmo8hgMctDQf4n
X-Google-Smtp-Source: AGHT+IHusol4E14t4qvwqiu7du/3b194OHhB5uz8RBbu13+RjRqjAV2KzamIIX4rbL8gRfSxkQqZig==
X-Received: by 2002:a5d:5f93:0:b0:3ec:2ef7:2134 with SMTP id ffacd0b85a97d-42667177df1mr17192465f8f.18.1760599882842;
        Thu, 16 Oct 2025 00:31:22 -0700 (PDT)
Message-ID: <494c897c-a138-4d16-93b2-67e3aa8d41e7@suse.com>
Date: Thu, 16 Oct 2025 09:31:21 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH for-4.21 01/10] x86/HPET: limit channel changes
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <8d94abf8-70d1-478c-885e-ff9a960ac72d@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: <8d94abf8-70d1-478c-885e-ff9a960ac72d@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Despite 1db7829e5657 ("x86/hpet: do local APIC EOI after interrupt
processing") we can still observe nested invocations of
hpet_interrupt_handler(). This is, afaict, a result of previously used
channels retaining their IRQ affinity until some other CPU re-uses them.
Such nesting is increasingly problematic with higher CPU counts, as both
handle_hpet_broadcast() and cpumask_raise_softirq() have a cpumask_t local
variable. IOW already a single level of nesting may require more stack
space (2 times above 4k) than we have available (8k), when NR_CPUS=16383
(the maximum value presently possible).

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Whether this is still worthwhile with "x86/HPET: use single, global, low-
priority vector for broadcast IRQ" isn't quite clear to me.

--- a/xen/arch/x86/hpet.c
+++ b/xen/arch/x86/hpet.c
@@ -442,6 +442,8 @@ static void __init hpet_fsb_cap_lookup(v
            num_hpets_used, num_chs);
 }
 
+static DEFINE_PER_CPU(struct hpet_event_channel *, lru_channel);
+
 static struct hpet_event_channel *hpet_get_channel(unsigned int cpu)
 {
     static unsigned int next_channel;
@@ -454,9 +456,21 @@ static struct hpet_event_channel *hpet_g
     if ( num_hpets_used >= nr_cpu_ids )
         return &hpet_events[cpu];
 
+    /*
+     * Try the least recently used channel first.  It may still have its IRQ's
+     * affinity set to the desired CPU.  This way we also limit having multiple
+     * of our IRQs raised on the same CPU, in possibly a nested manner.
+     */
+    ch = per_cpu(lru_channel, cpu);
+    if ( ch && !test_and_set_bit(HPET_EVT_USED_BIT, &ch->flags) )
+    {
+        ch->cpu = cpu;
+        return ch;
+    }
+
+    /* Then look for an unused channel. */
     next = arch_fetch_and_add(&next_channel, 1) % num_hpets_used;
 
-    /* try unused channel first */
     for ( i = next; i < next + num_hpets_used; i++ )
     {
         ch = &hpet_events[i % num_hpets_used];
@@ -479,6 +493,8 @@ static void set_channel_irq_affinity(str
 {
     struct irq_desc *desc = irq_to_desc(ch->msi.irq);
 
+    per_cpu(lru_channel, ch->cpu) = ch;
+
     ASSERT(!local_irq_is_enabled());
     spin_lock(&desc->lock);
     hpet_msi_mask(desc);



From xen-devel-bounces@lists.xenproject.org Thu Oct 16 07:31:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Oct 2025 07:31:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144170.1477622 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9ISg-0007R7-7I; Thu, 16 Oct 2025 07:31:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144170.1477622; Thu, 16 Oct 2025 07:31:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9ISg-0007R0-4Q; Thu, 16 Oct 2025 07:31:46 +0000
Received: by outflank-mailman (input) for mailman id 1144170;
 Thu, 16 Oct 2025 07:31:45 +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 <SRS0=CbFY=4Z=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v9ISf-0006tj-3V
 for xen-devel@lists.xenproject.org; Thu, 16 Oct 2025 07:31:45 +0000
Received: from mail-wm1-x331.google.com (mail-wm1-x331.google.com
 [2a00:1450:4864:20::331])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2a5570b4-aa62-11f0-9d15-b5c5bf9af7f9;
 Thu, 16 Oct 2025 09:31:44 +0200 (CEST)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-471131d6121so1887465e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 16 Oct 2025 00:31:44 -0700 (PDT)
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-471144b5c34sm10997075e9.10.2025.10.16.00.31.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 16 Oct 2025 00:31:43 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2a5570b4-aa62-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760599904; x=1761204704; 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=tiqdV3t0ZthBuMf+JLZku3ZCXN60IlcllF41Xvu/uZM=;
        b=bwu9VRbIWFBP35/sWcGB9bM34KyjvWDRKTdBMuGI/XkUwoDkc4t1Ps8dV3fCb+UGP9
         jDw9yZ8fTawHYlE6q6tpUswWo6RTdnLaQvCRypeubabzonjx5qSAVCVvLq8gieWxix0P
         aWksSe/7ZLIfZR/G6GDkA+V0MrBxhs+R0mIOwyErlTpwGsrz7zIFyFSr2BW9Y2i3CRhb
         KHbvTjDcpaLpkMrr12rfedY+X8H6HppgsHnoQdWjlsmOAArGJz4g+YRXzaH/Sn0nPmvU
         91odmenN7I+hUmQibSLaRdPWu4VMNju1JVuzrtjsp4fIDzhbE8XPna6wN6kzkygQR2O6
         fPJA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760599904; x=1761204704;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=tiqdV3t0ZthBuMf+JLZku3ZCXN60IlcllF41Xvu/uZM=;
        b=ulmaIxXO8oxUGOqAaNBnwOfajMONIsZhuwb2R4KFLwY/3b/IjQM/vtmzQKq6VB+02Y
         G2PbbyduCp+CBxP1cytOwJccxHo9GaFN1nbBacQAxGAGKqBa2loZfu3dxPSBJrzqna/W
         ScZZJ8SjQjCBWOXqEjtiOjQa2z1p6FI5r7YxR+qewFWP+0lCYa/aQZ0IidppAlUVybWK
         ZaKeS1kpBIkPTztZarM1dryIsSfE2mbh70UsFTUW8RAWEmvtNSEDC1voHUqHq+ulLDtI
         jhf9a+kNP9IgaY0auy6tUMl2VzfYR98mh9UwOGoxpODr0cHfBGmUzxFqAAE6uP8t3q4L
         Ntkw==
X-Gm-Message-State: AOJu0Yx/XX5A2Kwt5QI5iADxZhDDDjw8us1FNPCE1Cz99mKekzs485SQ
	OGmfHYoL8ocWThB7Hd5rz5BI0wJZrHqyRC2gQDAAhZ/nrPk9wK4yizipeyx4Yl5honEzdTSNdQv
	2es0=
X-Gm-Gg: ASbGncv57XQ9A4w2YiyRq+eCSA8bJNJ3AA3ZazK99mlEJrnkeqy9x9si46lVyNg/7Nq
	l9Efa7h1kPNo/VlkxlPDq+du3aAxEC3iSPYi5tu/kyBWQbp25gvl2C3xCSPLJ/QIFFpS7fI1qHI
	Qs9WSDAEoubOb0WIMom5fvEkFj54kKWfOGJhouY6PVETgTckDNZDt17OKRnrgu26cIZRjpJjFya
	R23Bod/p4EgpqWPzjGVBujrhISM9RPutEJpbIQvuVRDuaQTpJSTUMgLJ+fTCLpM6mNb6nL4cQJR
	dblvj9yHGDgySYZKl6TdohKxjn6mWKBl8Ybdwx/ZYuheyBUHIv10SmwiS12Hleu+hF7AJG6nNrd
	ahP91YZLgZJGgIvCTZx4G8c4YuEaIr+xurrtSCyY20d+Q7SRPku04m+zd7yuf4c1LCldxOVEyRo
	aX1DUaHT73VD1MUp76CA7NLd8LcgpvSAfyDlqTDLpRHa5Gp2syXXUMKgU3LqQA9mP6+r3Yudw=
X-Google-Smtp-Source: AGHT+IES7YsKSsjHBHMouBGRlfXagkajsNJlAbxiDyWg00HT6g8+t8UZxS+bicYfgu7dhsIsbWldTA==
X-Received: by 2002:a05:600c:1e28:b0:46e:3edc:2811 with SMTP id 5b1f17b1804b1-46fa9aa45e2mr198307235e9.14.1760599903791;
        Thu, 16 Oct 2025 00:31:43 -0700 (PDT)
Message-ID: <8913e64b-d172-43f9-9c4d-447ba4984c9a@suse.com>
Date: Thu, 16 Oct 2025 09:31:42 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH for-4.21 02/10] x86/HPET: disable unused channels
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <8d94abf8-70d1-478c-885e-ff9a960ac72d@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: <8d94abf8-70d1-478c-885e-ff9a960ac72d@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Keeping channels enabled when they're unused is only causing problems:
Extra interrupts harm performance, and extra nested interrupts could even
have caused worse problems.

Note that no explicit "enable" is necessary - that's implicitly done by
set_channel_irq_affinity() once the channel goes into use again.

Along with disabling the counter, also "clear" the channel's "next event",
for it to be properly written by whatever the next user is going to want
(possibly avoiding too early an IRQ).

Further, along the same lines, don't enable channels early when starting
up an IRQ. This similarly should happen no earlier than from
set_channel_irq_affinity() (here: once a channel goes into use the very
first time). This eliminates a single instance of

(XEN) [VT-D]INTR-REMAP: Request device [0000:00:1f.0] fault index 0
(XEN) [VT-D]INTR-REMAP: reason 25 - Blocked a compatibility format interrupt request

during boot. (Why exactly there's only one instance, when we use multiple
counters and hence multiple IRQs, I can't tell. My understanding would be
that this was due to __hpet_setup_msi_irq() being called only after
request_irq() [and hence the .startup handler], yet that should have
affected all channels.)

Fixes: 3ba523ff957c ("CPUIDLE: enable MSI capable HPET for timer broadcast")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
A window still remains for IRQs to be caused by stale comparator values:
hpet_attach_channel() is called ahead of reprogram_hpet_evt_channel().
Should we also write the comparator to "far into the future"?

Furthermore this prolongues the window until "old" vectors may be released
again, as this way we potentially (and intentionally) delay the ocurrence
of the next IRQ for the channel in question. (This issue will disappear
once we switch to a fixed, global vector.)

--- a/xen/arch/x86/hpet.c
+++ b/xen/arch/x86/hpet.c
@@ -262,10 +262,9 @@ static void cf_check hpet_msi_unmask(str
     ch->msi.msi_attrib.host_masked = 0;
 }
 
-static void cf_check hpet_msi_mask(struct irq_desc *desc)
+static void hpet_disable_channel(struct hpet_event_channel *ch)
 {
     u32 cfg;
-    struct hpet_event_channel *ch = desc->action->dev_id;
 
     cfg = hpet_read32(HPET_Tn_CFG(ch->idx));
     cfg &= ~HPET_TN_ENABLE;
@@ -273,6 +272,11 @@ static void cf_check hpet_msi_mask(struc
     ch->msi.msi_attrib.host_masked = 1;
 }
 
+static void cf_check hpet_msi_mask(struct irq_desc *desc)
+{
+    hpet_disable_channel(desc->action->dev_id);
+}
+
 static int hpet_msi_write(struct hpet_event_channel *ch, struct msi_msg *msg)
 {
     ch->msi.msg = *msg;
@@ -295,12 +299,6 @@ static int hpet_msi_write(struct hpet_ev
     return 0;
 }
 
-static unsigned int cf_check hpet_msi_startup(struct irq_desc *desc)
-{
-    hpet_msi_unmask(desc);
-    return 0;
-}
-
 #define hpet_msi_shutdown hpet_msi_mask
 
 static void cf_check hpet_msi_set_affinity(
@@ -326,7 +324,7 @@ static void cf_check hpet_msi_set_affini
  */
 static hw_irq_controller hpet_msi_type = {
     .typename   = "HPET-MSI",
-    .startup    = hpet_msi_startup,
+    .startup    = irq_startup_none,
     .shutdown   = hpet_msi_shutdown,
     .enable	    = hpet_msi_unmask,
     .disable    = hpet_msi_mask,
@@ -542,6 +540,8 @@ static void hpet_detach_channel(unsigned
         spin_unlock_irq(&ch->lock);
     else if ( (next = cpumask_first(ch->cpumask)) >= nr_cpu_ids )
     {
+        hpet_disable_channel(ch);
+        ch->next_event = STIME_MAX;
         ch->cpu = -1;
         clear_bit(HPET_EVT_USED_BIT, &ch->flags);
         spin_unlock_irq(&ch->lock);



From xen-devel-bounces@lists.xenproject.org Thu Oct 16 07:32:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Oct 2025 07:32:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144184.1477633 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9ITR-00080B-Fk; Thu, 16 Oct 2025 07:32:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144184.1477633; Thu, 16 Oct 2025 07:32:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9ITR-000803-D8; Thu, 16 Oct 2025 07:32:33 +0000
Received: by outflank-mailman (input) for mailman id 1144184;
 Thu, 16 Oct 2025 07:32: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 <SRS0=CbFY=4Z=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v9ITQ-0006T6-Pb
 for xen-devel@lists.xenproject.org; Thu, 16 Oct 2025 07:32:32 +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 460d1b93-aa62-11f0-980a-7dc792cee155;
 Thu, 16 Oct 2025 09:32:31 +0200 (CEST)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-46e42fa08e4so3356175e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 16 Oct 2025 00:32:31 -0700 (PDT)
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-4711444d919sm9776065e9.14.2025.10.16.00.32.29
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 16 Oct 2025 00:32:30 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 460d1b93-aa62-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760599950; x=1761204750; 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=V65ZkZ395fafRCHZS/zrJWqELR8Nj+iaElKK9I3wBLM=;
        b=ZMzlL3hjqVjYh8SIdlb6J4aekfZErVr7KZu0qUqV+Z0DcfY8J1BjOkWflhVEKQpz71
         0ImLx4ghLgXIs3wYPCEbjJKkILNNO0KPHhnQuw6yzP3NQDFi6WUJmEiSQWTj6rV6a0hc
         lq/wBEzOaNeWdVZFlUHx1eEzrAeaUC2iMAi4LYDAwrzEr112CIK2kFjJveyfRDbpe4up
         RbtdWPUtebpJGLhEKDwo5Ocpl3aG1dLxgHW/ia6Xp26usjnj0ziv2jecdpvVxxgOcCFd
         Gg1OJWtBWswqNx7/wIowEopHSB66uoedfrRHcGO4fBCH6EQ/aWWD+We5iMUVrCqGfT1c
         gRFQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760599950; x=1761204750;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=V65ZkZ395fafRCHZS/zrJWqELR8Nj+iaElKK9I3wBLM=;
        b=JKTHr/K2uNKVbdo6E4eN5CltZn/+wuyDrowhPgaaioPxkO9JIgJrw03nsoGniyjG69
         B3VEXZTC2iuJBAdmslRKchboI7H7Etj/MCEPMC00RCyWaZswwwzCo17InalYLeG1VMfH
         J6GPcXpYwgTCSehoKLsaMQyk/PprJAhajY0lA0gcRlnvWpzKVw/USZDZaCEun3NlM/St
         nAcJBaBH0wTn/zWfTSCYtqIaOGnorcmgh64g4ABL5yJimjsHrya5NZx2QGQMtw1j93cv
         sPaBP2adgSy3yhh+0aAlwCzGNMnXggxWn1yRdxqGtN3FhBk1UWx8uCdSExis+5BlcMFb
         1zCg==
X-Gm-Message-State: AOJu0YxemibZUB4IEG6kzt1bnYX/lvtCJtYrg8/r1lMoOnxz5vG1Gyvf
	ku43lFGtLVxE0XjgpxFv8J2secB4PMHrUouTeh9PGTh2nyHXkZP4XhUAlXks8cNQdQM9C8jxCl9
	eFvs=
X-Gm-Gg: ASbGncscng08u9C8qW+HmT0MZMpYeVS+LLyoLHYYWms/MLecbrFhZh1L+zwUiFsLZ4I
	bfSvRg9WDlBzkXkB0YWJfks5JQh62D8TUplvfFW3t0rlXhA2iYXNxhHW5HveAjHfxmRlMDMgxhs
	dEkZ0Uv8weoDgHVpJRy34BKdwK6KAOEhHIT1XpWU27VCYMki40g+Xgwp84nBumTdtMGboRIteZO
	6Thi9ZAQFjoLRtmpM1CnNaZRWkqxiQsTPaCOYs1TYIux6k/inUVt3N/RBPSjj/Ov7mLOtEzJyGp
	g0y5WATbwNadqREpkuIiMbCEXHbqzijmk3rugmlsN74e94U5DhkgKsOW0m7tUy5d0tkTRTkcY/E
	ZklZ341frBN+PBFKmchRSVp/wN0yjf4btq5w5+7ZaAGT5kpRnVn2iQjBrGsaIj7d3yyysf93iur
	uPdBI2at/81mdJO6keCEpbfnkcWucLz8X1djh+m9ucbSJ2Sp0Z53e+0MD1BqoezTvkWXVawoeU+
	2csnCZxgw==
X-Google-Smtp-Source: AGHT+IGExuecQHMcMThBN04NXiCdhbFFiy3hh6zBX5FNGlfL2Vu5MipJ5VxAO0rkDJmfFxcTc+cS7Q==
X-Received: by 2002:a05:600d:416a:b0:46e:6339:79d1 with SMTP id 5b1f17b1804b1-46fa9a8b3cbmr212337515e9.5.1760599950240;
        Thu, 16 Oct 2025 00:32:30 -0700 (PDT)
Message-ID: <e16e2b62-9c2b-4534-8279-daf986cf438b@suse.com>
Date: Thu, 16 Oct 2025 09:32:29 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH for-4.21 04/10] x86/HPET: ignore "stale" IRQs
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <8d94abf8-70d1-478c-885e-ff9a960ac72d@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: <8d94abf8-70d1-478c-885e-ff9a960ac72d@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Following hpet_detach_channel(), IRQs may still occur: Ones may already
be in flight (both from before and after the last IRQ migration, i.e. on
possibly two distinct vectors targeting two different CPUs), and new ones
may still be raised as long as the channel is enabled.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
RFC: Previously, when we still used "normal" IRQs, this would only work
     correctly if there's no shortage of vectors, i.e. if the original
     hpet_msi_set_affinity()'s call to set_desc_affinity() would succeed.
     With that changed the patch may not actually be of much help anymore
     (hence I've also dropped the Fixes: tag again); it was pretty useful
     prior to that.

--- a/xen/arch/x86/hpet.c
+++ b/xen/arch/x86/hpet.c
@@ -241,8 +241,9 @@ again:
 static void cf_check hpet_interrupt_handler(int irq, void *data)
 {
     struct hpet_event_channel *ch = data;
+    unsigned int cpu = smp_processor_id();
 
-    this_cpu(irq_count)--;
+    per_cpu(irq_count, cpu)--;
 
     if ( !ch->event_handler )
     {
@@ -250,6 +251,9 @@ static void cf_check hpet_interrupt_hand
         return;
     }
 
+    if ( ch->cpu != cpu )
+        return;
+
     ch->event_handler(ch);
 }
 



From xen-devel-bounces@lists.xenproject.org Thu Oct 16 07:33:51 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Oct 2025 07:33:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144192.1477642 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9IUg-0008W5-Oi; Thu, 16 Oct 2025 07:33:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144192.1477642; Thu, 16 Oct 2025 07:33:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9IUg-0008Vy-Lw; Thu, 16 Oct 2025 07:33:50 +0000
Received: by outflank-mailman (input) for mailman id 1144192;
 Thu, 16 Oct 2025 07:33:50 +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 <SRS0=CbFY=4Z=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v9IUf-0008Vq-V6
 for xen-devel@lists.xenproject.org; Thu, 16 Oct 2025 07:33:49 +0000
Received: from mail-wm1-x331.google.com (mail-wm1-x331.google.com
 [2a00:1450:4864:20::331])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 74a620b2-aa62-11f0-9d15-b5c5bf9af7f9;
 Thu, 16 Oct 2025 09:33:49 +0200 (CEST)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-46e34052bb7so4496435e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 16 Oct 2025 00:33:49 -0700 (PDT)
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-426e6f03a76sm17261029f8f.36.2025.10.16.00.33.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 16 Oct 2025 00:33:48 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 74a620b2-aa62-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760600028; x=1761204828; 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=13M+/3VJWIBsfQVB3cpUAfRtGMDjQMAaPR0JB5urI7I=;
        b=KssVAodpTmSbaxlfMRCgZXs0IogyXFJExabr6c734Jr4R+ntH2wvAnYgaVPK8agK2B
         +f3w/Rc7hSo677uXRAdtr6em1qztfEysnRZugdZ6CirM2ssDbZN5b8n9DP7vclm4N5XG
         5VHWno3OgbP/q0w60u5i1iJtzGk46YpcHJnAUyzt3At6O2QFxxH8JJRZy2LDWDzqKkKv
         cehrnG8lAk1vMBXwE2L6+ZGTiF6VaII7nMNbsm9Tr//ZoPx+8kus6XPsIn8/vpIvwQE6
         5ExuvWDhYRqYqeBmuBDAuvpzwfYe9i7V4B5Fl0zJ7Rk1DDmeoGQqjJAo3rq7YFUr6CZD
         Wq6g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760600028; x=1761204828;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=13M+/3VJWIBsfQVB3cpUAfRtGMDjQMAaPR0JB5urI7I=;
        b=Gu6/Kx7JGBxYVNkJDFFbTXSGyW63JSkS+8vZ94O6hSAFb3tI8eDgrzOLcQFeHXnWy4
         /FLp5wZckCGsk4UOvfyZbXN2DPMR8563y/kqaBRVb2f4rXw6xqYvfqlOCkmmrBxg5DEH
         QFBXcpACDIGHbAIDF2oiiWyoZvUGkky20ig+OvF3tkFUeOQB7WMcniK9/b2wSNu4k8Fo
         ZChDvucQh/VhLndCDd2xoTqMeYKQqleeaF6xvuFIgv5yuK7INp4IoOSdl5YQ21H352zk
         Y1fO4HgpC+XBcyl9dCNmKWPI8KCVPiiByeZBB9yrj+OnUGx/m3MNzRLn6LQxSk2njPjw
         0EQA==
X-Gm-Message-State: AOJu0Ywjs/GjgtdLjZoZnorn58YYoO5rIDBfBAsw+MZPH9/2IutXNBZP
	ngLvJp8c+sEMrXyZTf4tPLZKKoYD9oatEqDTaQxWJVJrA7sVTK5i3dVxFqxbVurHojDHqewUSz0
	6LOk=
X-Gm-Gg: ASbGnctV3qtIb6IGx7X77NmgvfqYPEoC6LwtbUyyZ6sqedG8QSy++Gctb9OkiqLEpad
	Qnd9AOVOV61i1KReu6pHnhLmiAqrb8kWFxye447L4eJwv5jzQO3DRDU8cdV3eiK4mSwNj6/ZAjc
	2cK+VdmDYFfmSzGmIBw1d7t55+gJ2nPB2ww4o8q55fdpKPWowzGYpcyXF0w/I3Pn80ykS6vkblW
	FyKL3r+uPgSXrFj6lsmKc9kYHtVSqfcDINdYB2J5XKZWXpJS5nPVGFFibzSdXdEHpMXGP/BtYIG
	I8YZOfZCl1EhUon0R1L8qwhV6Q2NXTnVUsIxfttPTcQTsQOfZ9HZRGXKIqWugiah/+pq3u26fgW
	sKa/IklfsGCh9bpqu0Gb7dcuy86XToeNgSwCDy7Xls1ZvqSv4/nwdbgF8XVhOdgNTgr2gaSP5Kd
	lv87f9SESm2LlZCJINqfw+BdseRxs2sKQlTl10to+IkXBCcgMHh6PAuvYzxKJ1Kfe2cNfMqzI=
X-Google-Smtp-Source: AGHT+IGGKtxw8FOpuJTAG3en2jjMRpRrwVESgBykcZnUULvUrUKMyLfwxAsdL0Wx/HXgonGvGRPTcw==
X-Received: by 2002:a05:600d:634d:b0:46e:1f92:49aa with SMTP id 5b1f17b1804b1-46fab65d93cmr142158845e9.15.1760600028569;
        Thu, 16 Oct 2025 00:33:48 -0700 (PDT)
Message-ID: <c6ad1e1a-b008-4c2f-8385-e8bcaa7bffbe@suse.com>
Date: Thu, 16 Oct 2025 09:33:47 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH 07/10] x86/HPET: move legacy tick IRQ count adjustment
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <8d94abf8-70d1-478c-885e-ff9a960ac72d@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: <8d94abf8-70d1-478c-885e-ff9a960ac72d@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

If already we play with the IRQ count, we should do so only if we actually
"consume" the interrupt; normal timer IRQs should not have any adjustment
done.

Fixes: 353533232730 ("cpuidle: fix the menu governor to enhance IO performance")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
_Why_ we do these adjustments (also elsewhere) I don't reeally know.

--- a/xen/arch/x86/hpet.c
+++ b/xen/arch/x86/hpet.c
@@ -788,13 +788,13 @@ int hpet_broadcast_is_available(void)
 
 int hpet_legacy_irq_tick(void)
 {
-    this_cpu(irq_count)--;
-
     if ( !hpet_events ||
          (hpet_events->flags & (HPET_EVT_DISABLE|HPET_EVT_LEGACY)) !=
          HPET_EVT_LEGACY )
         return 0;
 
+    this_cpu(irq_count)--;
+
     handle_hpet_broadcast(hpet_events);
 
     return 1;



From xen-devel-bounces@lists.xenproject.org Thu Oct 16 07:34:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Oct 2025 07:34:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144204.1477652 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9IVE-0000e4-6N; Thu, 16 Oct 2025 07:34:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144204.1477652; Thu, 16 Oct 2025 07:34:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9IVE-0000dx-3p; Thu, 16 Oct 2025 07:34:24 +0000
Received: by outflank-mailman (input) for mailman id 1144204;
 Thu, 16 Oct 2025 07:34:22 +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 <SRS0=CbFY=4Z=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v9IVC-0008Vq-Mk
 for xen-devel@lists.xenproject.org; Thu, 16 Oct 2025 07:34:22 +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 88558019-aa62-11f0-9d15-b5c5bf9af7f9;
 Thu, 16 Oct 2025 09:34:22 +0200 (CEST)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-46e29d65728so2614415e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 16 Oct 2025 00:34:22 -0700 (PDT)
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-426fc54b32dsm3303972f8f.30.2025.10.16.00.34.21
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 16 Oct 2025 00:34:21 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 88558019-aa62-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760600062; x=1761204862; 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=b98JIROgwUj5ZMl5roEfulit62hiDPJ/taq9DPUq3y4=;
        b=YNb7yEgry5NUZg0rqAwzHGzDad78C+Wck5hDoCAuaTdXl6nxl4jWkxtwuC/GS26xyc
         0au1szNS44euFBJFtKnXcaboglDSSAfnEbOE4+FVR7I25VWuDAsj9cs5vwm2gkvP3NZn
         WJcspILsvmA9tA4Q5V+vrwf7CLTXAf3dgUumUfKJJrs10jO9CfMw7Zg7YTp35iuQuw7k
         uk4CuhR2T9x0bP9gyS9duyduQr0pSXCHE8DAG6EAL3mF0y8k7Fm/Rcm6MX/+OIieSPzN
         BAhrdqhVsWiRjDjrE6ddJ3kcE8b7DYEovxcO5Lgr0UIeC5YqjP8lFmWXHFU6t4eSSgba
         /zNQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760600062; x=1761204862;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=b98JIROgwUj5ZMl5roEfulit62hiDPJ/taq9DPUq3y4=;
        b=ElYZul8DII8+ekjiLYb6dnAAKIw9zFMYZFssQY4WzIFThZCndQ7SnedQOpmdJdUwZF
         TfNNQ9Id1e2Omvgf4fhzj88++6jQ96n5ox/fKfgy7neQNyAL2fUbFTve/I6Xola22aDV
         HTGV4HgDDBNkSTKmGcTEZgGQxJ/RP6nDQYfbgHtw+VCICmLhMrBjn1FjSG3hWSBUescJ
         ACwR4UvcVG8AMozzdhl4uhlqf3ny1DAeBzXp7exc947Ggv3u+fPBhHuw/awojloe1E7u
         8DySBqJKLTry33wFGaGTAiXXadS2NxaaccUwNAV0j6v+dkNi8ANMCHLEhU9rtQ9laCTE
         RKJA==
X-Gm-Message-State: AOJu0Yzv7+vQ+1FlfZxGYDGZK2Fszm5PD9flLDmKA+OWSQbb63cVmlqt
	1dxQtmzQE37UiqJAko+GI9JWQUXjBYnplTwPo7eK7ikyGB2Mg9yYE0xDaN0T8JcmFLitRi7Muew
	OWQs=
X-Gm-Gg: ASbGnctoZUoQl2WfTiKQ/9TmowsZZGrXNFqhErpz89/cDSeYdhEqTJjV8V7QlYgpHAl
	ISseJyThpT0inLJYFxRBqoK3GCdG2tbSfDG3Ggj8jg6s7578kdLjZYhK1GyE9fXFfJzbIA0cI30
	xTMffJQi8Add7dLMzE7DoCrrNnXsdU6yED4WXlwFRp8vyXHkraFTkGmrNVXvCuVKhZzG+tTMBD2
	09VHt8ZL/sPBv6o2X/EBsoXfJujCCAkiTSBFro/hjnCDW9iNOn38u493Y2LEhCBrvjx7HWYyYPS
	xQbL7n0+ki9gHdsFLv7kvrPhiVlHS9SCTrWWlXrNUpYlr7v791neErO1H6eFuaSzUKwXw9imQ1l
	aJKboiylTK+ubPjdv5zBuiFsmFck82YSwmsytE8t2XiYP+GHPh7rQLAgsutw7Gu1j0aSdPveAkK
	9TjCurzLaGecTV3s0+osknAWYfxRydjRkgf/dWMbRSfq5AKk9mSmeZx8MPpHbN
X-Google-Smtp-Source: AGHT+IHBJoFFNnxl50Z7RtmwkNLGNDv/iNsf/4KK2R4Qkrl8Owflzb73RZ9ZgklP09hJQe5HPR33qw==
X-Received: by 2002:a05:600c:818d:b0:471:1306:aa14 with SMTP id 5b1f17b1804b1-4711306ab29mr6180695e9.40.1760600061648;
        Thu, 16 Oct 2025 00:34:21 -0700 (PDT)
Message-ID: <069956ea-68bc-47cd-a2b1-e2058f8f8954@suse.com>
Date: Thu, 16 Oct 2025 09:34:20 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH 08/10] x86/HPET: shrink IRQ-descriptor locked region in
 set_channel_irq_affinity()
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <8d94abf8-70d1-478c-885e-ff9a960ac72d@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: <8d94abf8-70d1-478c-885e-ff9a960ac72d@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Along the lines of hpet_disable_channel(), split out hpet_enable_channel()
as well, to then use both functions from set_channel_irq_affinity().

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/hpet.c
+++ b/xen/arch/x86/hpet.c
@@ -257,10 +257,9 @@ static void cf_check hpet_interrupt_hand
     handle_hpet_broadcast(ch);
 }
 
-static void cf_check hpet_msi_unmask(struct irq_desc *desc)
+static void hpet_enable_channel(struct hpet_event_channel *ch)
 {
     u32 cfg;
-    struct hpet_event_channel *ch = desc->action->dev_id;
 
     cfg = hpet_read32(HPET_Tn_CFG(ch->idx));
     cfg |= HPET_TN_ENABLE;
@@ -268,6 +267,11 @@ static void cf_check hpet_msi_unmask(str
     ch->msi.msi_attrib.host_masked = 0;
 }
 
+static void cf_check hpet_msi_unmask(struct irq_desc *desc)
+{
+    hpet_enable_channel(desc->action->dev_id);
+}
+
 static void hpet_disable_channel(struct hpet_event_channel *ch)
 {
     u32 cfg;
@@ -503,14 +507,15 @@ static void set_channel_irq_affinity(str
 
     per_cpu(lru_channel, ch->cpu) = ch;
 
+    hpet_disable_channel(ch);
+
     ASSERT(!local_irq_is_enabled());
     spin_lock(&desc->lock);
-    hpet_msi_mask(desc);
     hpet_msi_set_affinity(desc, cpumask_of(ch->cpu));
     per_cpu(vector_irq, ch->cpu)[HPET_BROADCAST_VECTOR] = ch->msi.irq;
-    hpet_msi_unmask(desc);
     spin_unlock(&desc->lock);
 
+    hpet_enable_channel(ch);
     spin_unlock(&ch->lock);
 
     /* We may have missed an interrupt due to the temporary masking. */



From xen-devel-bounces@lists.xenproject.org Thu Oct 16 07:34:50 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Oct 2025 07:34:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144214.1477663 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9IVe-00019L-F6; Thu, 16 Oct 2025 07:34:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144214.1477663; Thu, 16 Oct 2025 07:34:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9IVe-00019E-CK; Thu, 16 Oct 2025 07:34:50 +0000
Received: by outflank-mailman (input) for mailman id 1144214;
 Thu, 16 Oct 2025 07:34:49 +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 <SRS0=CbFY=4Z=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v9IVd-0000bW-ID
 for xen-devel@lists.xenproject.org; Thu, 16 Oct 2025 07:34:49 +0000
Received: from mail-wr1-x431.google.com (mail-wr1-x431.google.com
 [2a00:1450:4864:20::431])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 97c98d3f-aa62-11f0-980a-7dc792cee155;
 Thu, 16 Oct 2025 09:34:48 +0200 (CEST)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-426ff4f3ad4so152866f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 16 Oct 2025 00:34:48 -0700 (PDT)
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-426ce57cce5sm33886179f8f.1.2025.10.16.00.34.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 16 Oct 2025 00:34:47 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 97c98d3f-aa62-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760600087; x=1761204887; 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=rds4jnnN9NVrTZyuc+q65+QBQEjCAV7rC8oJIxMqDF8=;
        b=L9lvu6vg8jYqbEn9WOOlK9go84Sqvd3xEE1XoLx9XNUtQ0S6b9OIBkfJh/+UEWfqa2
         FxWSPDxFAzWXr824e5bEjSPW8XTrwxNCCzP3UaQUT5ZAfH/BBHbUzvhLqq8c6yyqLEXm
         sMiEkN6GNuZxL0nd+NziI9A4htZ/M/cfMzNMUxZioDUHmipxpmaR1drHf3Mnoe1ZWXAA
         aZilTwsbyliqbZbiGmrAFTo0wTCzXmdmwJs26vxa3Vg/3I7BixYt2t933T8lkJmKsi9B
         fzuUymJQQPHUG1TsjxjL4x8DSVk4IOjP1MaL9j07s0zI0wSgNzghsSgJD9a47hYGuSU+
         hHcA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760600087; x=1761204887;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=rds4jnnN9NVrTZyuc+q65+QBQEjCAV7rC8oJIxMqDF8=;
        b=xNplEj4m9vJJVeAks+WEd5YeGK4kNf7e5XIxbaPGf/nZK15ci6tYQV5PD2yHE6KCXu
         0hXddEa1Mg/lVlj5EHoJsn7mYU0nJfVlQ7rN5GOmzcKZTpMTxc4zVVbW9ecEXmLATjHf
         rIf2mJKFN8Bdw6D8pHn1z9F1IxBVTaVBCQryMepg9F6K2sMpGRPlp77Qn1sgOiASZcFk
         kTvflrofdpTlhe8oqb60cpFRd65FuWrIyVrVHS5fMWOjqXv+Z+FALjeeu2yhqSNDklpP
         1pC0ZT+T2PUftg5vjHHHdLLxxrSJ4Jm1pT2TXvGPOTsscAS/kR3Y2LIyXpd+3a0aNfKC
         fSQQ==
X-Gm-Message-State: AOJu0YwCkdUj1t8hOzyXf+kEowcDSGahjIRnILWDcf3HtUjc03q4asDX
	KS6ULCKlvPK2v6el46WPdnGRSUeOZvvC6Bdb50QzZkxL7BWStipd1FPpme//BFYkrPq/VH3BSJa
	Arbo=
X-Gm-Gg: ASbGncvBA+vNclnIt/4xdjlLly9EBJGVFoGGbfU7tSMTZ8kOrIWvX9dyMnVRurzlGVL
	lzlINDrApRBPFA5UTL/TlvQgKuGKj9S7CKe7qEVcSleeKyJCsrjZBaknKl6sDPPXDdzHaGRB8K0
	9gslb/GDaJOQHgp9iN+O2H2tNGSuCoSi0E3nTx0e9+pwsv22SFYybxM6QfIM8g5vL6vSAiIqoFe
	XPsEBgiPJ/ICV75TwCJmXFFMldTInz8Yj2nm1t2wQCVp6LaW1O9cIy6ytYhv1/wT8yVaetj2nbx
	Eb4Gjvta9KLcWFPADyfBltewmDs+KAeM9z/6oi2XYtm5vXG6vOrO0D40LtMZdX85thLrmMXBwq5
	SYRKvtBe5FIeWDC+q6jgi/ZaFErGiWlesUqE1XKRnvWiv/96GgvCpcgSWe4dhpSCgMGuCESb6Mn
	bOZq53ksp+rcocex3XtDX1Bs7+8EroTtKubZJeXA+Pt8UbU00DOfHCTm/dpt63+uyS1NJZT/0=
X-Google-Smtp-Source: AGHT+IHbWfxCeB92DEinkCFVFn2vaI7p32jdJDTPBZ3i4c4v8Lz3q06nTPiMY+F7Z4IPweriMP7F7A==
X-Received: by 2002:a05:6000:2401:b0:3e7:46bf:f89d with SMTP id ffacd0b85a97d-4266e8de2c2mr22285084f8f.44.1760600087392;
        Thu, 16 Oct 2025 00:34:47 -0700 (PDT)
Message-ID: <2c077da2-0b12-4138-9778-87397537bd16@suse.com>
Date: Thu, 16 Oct 2025 09:34:46 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH 09/10] x86/HPET: reduce hpet_next_event() call sites
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <8d94abf8-70d1-478c-885e-ff9a960ac72d@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: <8d94abf8-70d1-478c-885e-ff9a960ac72d@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

I'm surprised gcc doesn't manage to do that: At least in debug builds two
call sites exist, just like source code has it. That's not necessary
though - by using do/while we can reduce this to a single call site. Then
the function will be inlined.

While improving code gen, also switch the function's 2nd parameter to
unsigned.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Oddly enough the CDQE is replaced by an entirely unnecessary 32-bit MOV of
a register to itself (i.e. zero-extending to 64 bits), as that's
immediately preceded by a 32-bit ADD targeting the same register.

--- a/xen/arch/x86/hpet.c
+++ b/xen/arch/x86/hpet.c
@@ -124,7 +124,7 @@ static inline unsigned long ns2ticks(uns
     return (unsigned long) tmp;
 }
 
-static int hpet_next_event(unsigned long delta, int timer)
+static int hpet_next_event(unsigned long delta, unsigned int timer)
 {
     uint32_t cnt, cmp;
     unsigned long flags;
@@ -173,12 +173,10 @@ static int reprogram_hpet_evt_channel(
     delta = max_t(int64_t, delta, MIN_DELTA_NS);
     delta = ns2ticks(delta, ch->shift, ch->mult);
 
-    ret = hpet_next_event(delta, ch->idx);
-    while ( ret && force )
-    {
-        delta += delta;
+    do {
         ret = hpet_next_event(delta, ch->idx);
-    }
+        delta += delta;
+    } while ( ret && force );
 
     return ret;
 }



From xen-devel-bounces@lists.xenproject.org Thu Oct 16 07:35:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Oct 2025 07:35:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144219.1477672 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9IVy-0001Z4-Lw; Thu, 16 Oct 2025 07:35:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144219.1477672; Thu, 16 Oct 2025 07:35:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9IVy-0001Yx-JI; Thu, 16 Oct 2025 07:35:10 +0000
Received: by outflank-mailman (input) for mailman id 1144219;
 Thu, 16 Oct 2025 07:35:10 +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 <SRS0=CbFY=4Z=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v9IVy-0000bW-30
 for xen-devel@lists.xenproject.org; Thu, 16 Oct 2025 07:35:10 +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 a413d601-aa62-11f0-980a-7dc792cee155;
 Thu, 16 Oct 2025 09:35:08 +0200 (CEST)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-42557c5cedcso204964f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 16 Oct 2025 00:35:08 -0700 (PDT)
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-4711441f66dsm9766545e9.2.2025.10.16.00.35.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 16 Oct 2025 00:35:07 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a413d601-aa62-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760600108; x=1761204908; 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=8UhliWPP1d1VfGO2jV5xKVQfFmJDT7e9Ve586LI2VOY=;
        b=dDQcrGPFhGLZT6XT7/P35zRL5ctMxUAf6nB/5tbUI1D2buf4r1e53sliesr4AQAHpN
         7HSdR+lq9Wu3sz6SZEksgynDHibqfioBIEiQsQGYdcnTHagqwPJkpmDrxnwxbTRWZNES
         9QUL5IDZDvW4EzQYzRVaK2MhmkYGYSZUF8L381DAa7DdAYq1fJt9BKw6QzKYDorqX70g
         iQyvfmVRziI/Y7gmGBpvqLKdlmP5PrYsQbgfpRuxffeuzTkyu3T7H8wr3meD+RK3WpSr
         MvgXFHPYp9Ci7RMMWbXa8MRWaKtAoBnSv06n0RRSN4Nc0drEAup5BrXVkuniT2brHtfj
         a9lw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760600108; x=1761204908;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=8UhliWPP1d1VfGO2jV5xKVQfFmJDT7e9Ve586LI2VOY=;
        b=oJuw4xNQoydbGCXiZEhfIrh6DqgOIozcHSMQfMJgfxNZFU8CDvcYt2y0LNhyN9mvs3
         qL0FRLADfTeNTfR3pI/eqfvpb2pzo61g8JhWzhnsuvJEMRVhwQr/yNcJdN9EPH4UON6M
         d2ykA4eHytyt7ej0KrNFBFZHZEKKcNKlNe4qLs1S9+RNpkxWL+K3hTHI3LDqPUsMxf9y
         svNKXMyMIKHQ4CGXUs5hMYpraZsv8XB7aaFciYi++lPXQT1bNBiTt5gtZ5DVS6EsiOab
         pa3xS4jQ0acqpNG/9gNV7oFBKiJFh6krK+4LySeH/2HRjRO16Eky7E6xH8Ru6f4afVeH
         hhoA==
X-Gm-Message-State: AOJu0YziTepDVluu2lKivHYdMrWyUHNCJVLONEX2GjZ/fAV3RKzv3VgV
	UIizmtJJDbZVtEPCG0jOv5bAuhSaQaBIJ5kFZARdaKeJpBQ360qK/2vqneQGs1KSPwT/iRECzyL
	gB9k=
X-Gm-Gg: ASbGncsCfmS7BE6HLhD+7wcmBJECJBeDIeAG6+Yhn7cDNY5sSJg2wLTFmMP1TrX/KBS
	k94VY2O06/I+yRckcpJ87IU39VlxWaWh/2otejVg3GpD6OOUVQcz7ZsUnXF5K96aAKQ5fIbIg/j
	n27ubp/qnSajdbcGDzVKKeAXhQ+mKHOAwFClF2cgkRDkJgHTImVZPKrZ58WTVrqvLfY8msp5m8m
	sq2XEalIzjfEXc8LmWwL07B/KatQNWhRQEy+sJmoaLsmrNZEli9IQEDZpFKaJVAfs2+9Y3Ppszh
	1weh++D0OXYLN7u4Nfe1tH5hUZm7Aj/I2RbMaSTIGov9eXiOQ4CJOWlQAU80x1ocGzgi27/Q6z8
	1fv73fRqibWlBHxzisDKjbVLr/wchOMj9pcJZ7dS2reL9SZWwftzEGecnm3v6AlSUnfnjJqnUZO
	PoiIeL60xYsKcxQDHCQwpwYBiNIpkA1LVM0nNLjfakNV1ZNX7TpYYGZLZD4lPBNnpFkSj/J1I=
X-Google-Smtp-Source: AGHT+IEnhkFuLpDYeHjniqZKqq/rQ5QPlGFYuWKsL3SOUnkifAeba8gszd1ibTeYVQBB2ns2RCnDpw==
X-Received: by 2002:a05:6000:41d1:b0:400:6e06:e0ae with SMTP id ffacd0b85a97d-4266e8ddf1bmr21667340f8f.47.1760600107945;
        Thu, 16 Oct 2025 00:35:07 -0700 (PDT)
Message-ID: <8368780e-9c8b-4996-a78f-265007081f42@suse.com>
Date: Thu, 16 Oct 2025 09:35:06 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH 10/10] x86/HPET: don't use hardcoded 0 for "long timeout"
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <8d94abf8-70d1-478c-885e-ff9a960ac72d@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: <8d94abf8-70d1-478c-885e-ff9a960ac72d@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

With 32-bit counters, writing 0 means on average half the wrapping period
until an interrupt would be raised. Yet of course in extreme cases an
interrupt would be raised almost right away. Write the present counter
value instead, to make the timeout predicatbly a full wrapping period.

Fixes: e862b83e8433 ("CPUIDLE: Avoid remnant HPET intr while force hpetbroadcast")
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/hpet.c
+++ b/xen/arch/x86/hpet.c
@@ -165,7 +165,7 @@ static int reprogram_hpet_evt_channel(
     if ( expire == STIME_MAX )
     {
         /* We assume it will take a long time for the timer to wrap. */
-        hpet_write32(0, HPET_Tn_CMP(ch->idx));
+        hpet_write32(hpet_read32(HPET_COUNTER), HPET_Tn_CMP(ch->idx));
         return 0;
     }
 



From xen-devel-bounces@lists.xenproject.org Thu Oct 16 07:36:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Oct 2025 07:36:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144229.1477682 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9IWq-0002EP-UI; Thu, 16 Oct 2025 07:36:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144229.1477682; Thu, 16 Oct 2025 07:36:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9IWq-0002EI-RY; Thu, 16 Oct 2025 07:36:04 +0000
Received: by outflank-mailman (input) for mailman id 1144229;
 Thu, 16 Oct 2025 07:36:04 +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
 <SRS0=8szn=4Z=arm.com=kevin.brodsky@srs-se1.protection.inumbo.net>)
 id 1v9ITS-0006T6-MF
 for xen-devel@lists.xenproject.org; Thu, 16 Oct 2025 07:32:34 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 45169db3-aa62-11f0-980a-7dc792cee155;
 Thu, 16 Oct 2025 09:32:29 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id B64F21688;
 Thu, 16 Oct 2025 00:32:20 -0700 (PDT)
Received: from [10.57.65.134] (unknown [10.57.65.134])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 3F1683F6A8;
 Thu, 16 Oct 2025 00:32:20 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 45169db3-aa62-11f0-980a-7dc792cee155
Message-ID: <54f183bb-33ce-4b9c-91a9-827a6ed198d6@arm.com>
Date: Thu, 16 Oct 2025 09:32:13 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 02/13] x86/xen: simplify flush_lazy_mmu()
To: Dave Hansen <dave.hansen@intel.com>, linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org, Alexander Gordeev <agordeev@linux.ibm.com>,
 Andreas Larsson <andreas@gaisler.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, Borislav Petkov
 <bp@alien8.de>, Catalin Marinas <catalin.marinas@arm.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 Dave Hansen <dave.hansen@linux.intel.com>,
 David Hildenbrand <david@redhat.com>, "David S. Miller"
 <davem@davemloft.net>, "H. Peter Anvin" <hpa@zytor.com>,
 Ingo Molnar <mingo@redhat.com>, Jann Horn <jannh@google.com>,
 Juergen Gross <jgross@suse.com>, "Liam R. Howlett"
 <Liam.Howlett@oracle.com>, Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>, Michal Hocko <mhocko@suse.com>,
 Mike Rapoport <rppt@kernel.org>, Nicholas Piggin <npiggin@gmail.com>,
 Peter Zijlstra <peterz@infradead.org>, Ryan Roberts <ryan.roberts@arm.com>,
 Suren Baghdasaryan <surenb@google.com>, Thomas Gleixner
 <tglx@linutronix.de>, Vlastimil Babka <vbabka@suse.cz>,
 Will Deacon <will@kernel.org>, Yeoreum Yun <yeoreum.yun@arm.com>,
 linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org,
 sparclinux@vger.kernel.org, xen-devel@lists.xenproject.org, x86@kernel.org
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
 <20251015082727.2395128-3-kevin.brodsky@arm.com>
 <35d9cf4f-135e-4786-a4e3-fd3a4a18b800@intel.com>
Content-Language: en-GB
From: Kevin Brodsky <kevin.brodsky@arm.com>
In-Reply-To: <35d9cf4f-135e-4786-a4e3-fd3a4a18b800@intel.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 15/10/2025 18:52, Dave Hansen wrote:
> On 10/15/25 01:27, Kevin Brodsky wrote:
>> While at it, we can also avoid preempt_disable() if we are not
>> in lazy MMU mode - xen_get_lazy_mode() should tolerate preemption.
> ...
>>  static void xen_flush_lazy_mmu(void)
>>  {
>> -	preempt_disable();
>> -
>>  	if (xen_get_lazy_mode() == XEN_LAZY_MMU) {
>> -		arch_leave_lazy_mmu_mode();
>> -		arch_enter_lazy_mmu_mode();
>> +		preempt_disable();
>> +		xen_mc_flush();
>> +		preempt_enable();
>>  	}
> But xen_get_lazy_mode() does:
>
> 	this_cpu_read(xen_lazy_mode);
>
> Couldn't preemption end up doing the 'xen_lazy_mode' read and the
> xen_mc_flush() on different CPUs?
>
> That seems like a problem. Is there a reason it's safe?

You're right, I was thinking in terms of task, but xen_mc_flush() does
operate on the current CPU (and it's called when context-switching).
Will restore the original order in v4.

- Kevin



From xen-devel-bounces@lists.xenproject.org Thu Oct 16 07:36:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Oct 2025 07:36:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144232.1477694 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9IWx-0002Z0-6n; Thu, 16 Oct 2025 07:36:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144232.1477694; Thu, 16 Oct 2025 07:36:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9IWx-0002Yp-21; Thu, 16 Oct 2025 07:36:11 +0000
Received: by outflank-mailman (input) for mailman id 1144232;
 Thu, 16 Oct 2025 07:36:09 +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 <SRS0=CbFY=4Z=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v9ITr-0006T6-1N
 for xen-devel@lists.xenproject.org; Thu, 16 Oct 2025 07:32:59 +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 55e0c517-aa62-11f0-980a-7dc792cee155;
 Thu, 16 Oct 2025 09:32:57 +0200 (CEST)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-4710022571cso2744345e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 16 Oct 2025 00:32:57 -0700 (PDT)
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-4710cda4ecasm13066995e9.4.2025.10.16.00.32.56
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 16 Oct 2025 00:32:56 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 55e0c517-aa62-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760599977; x=1761204777; 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=DjE8gka2JkJuiym43SgnPm2cUSuJ0d65kAjd/ktU954=;
        b=d6bhth1Y3QfpUjMOMz3xMLcYW4R9Ks5zSYv68Ep7NxXGvGrxQFNSaIVgeq7iVEgMRl
         EbXB180+Wpldmu/zxxveXFm5F1V0U/mPsX+t0Qd4M1CE0uqBCTIldm0fsZZSivoYjFWt
         X6Wu/v2YnnZBtHngYVT9g/tmyBQeWuxjmmlHr3WMU/zNLgUAtBe5HssgUxhWwA+YPCeA
         B4N+a80JXJcLFjnJPPc+1RLro6vHolRo5+cCwwMylHciAUno3Z8cgkE1ctK0IPaQTbN1
         stzR403rygyCQN7Nd03C1bw9DwIO7M0WNgdoUiLmv9NKjXeSUWB7QT0CSDUb8BgF8VdC
         TR2Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760599977; x=1761204777;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=DjE8gka2JkJuiym43SgnPm2cUSuJ0d65kAjd/ktU954=;
        b=hdxNV52GTkFlEUeGqw51QaMj2P/+wIgneLElkwhNps4ACDvuUfq9QkuxniaIgCQYRm
         7l659OyMXCi/KlaPFGaXWc1sgItcjaCImr1Ry6ab+3fiuSEbbpxMz+NxKQd1aI88W8si
         a8vgmw8/1LClwux98VkpNdGefFQGrEu1v40fOMJyQ1CK8veNWe0WWQRttAgJIxL20Brp
         kl9592LC4a+RgOhlM09Q+TZPN+I3vkitEt49TZf3hQ3G+qY/GB+qDAmmc+sPLX3EkK6y
         hJEdYONA57GcnUCuUVS2tsscoV/OIsTfbjBH/eZ0Djp+VuR29DSZ5WYTJYQQdwxELZqV
         17Fw==
X-Gm-Message-State: AOJu0YwNoWhFLOYkHXrEBzy2eAlPPvu/mKxGGYkNMbx+cpybrlPbop4s
	SCjKtckBAeFTqFrU9ge48Q9ue3p9VatMziWBHqkQuupv6AXobsUCKzsS8EIfr2y8ugq4FWKCy3O
	oMfs=
X-Gm-Gg: ASbGncs0NWeA1yAwZMB0m6Fas3HZ7cbD3xP9bG5fuN1RzND0twi8w7AbbwHXACT+8Un
	IQzkU+fpVcq61biNYk2KakCEbr8aIDjws5lrwZSycZ4JMEXvtXIyhXeogxw1p4zH7hUw6GsbcgX
	P8brvKCWgeHjog0kT5VdTEWNMMhaYbJZG10i+/dN854Yuw9gmmdGnUP2TeUlFGHztOWWgSjoaKi
	sl81JHDUR4/J72Gu1uiWhKk1h1xRDZNXaOuhzQg0E6TdnQbYQr21k+VhvjD4sbkJpI/R1lEYcvN
	P588FCrQSkOahRfV5S/jps9rseUVlWgWxDORcFVpOBMTm5GGkHLNC5DCK6BASz6T0TRqRJERbi6
	lV6xGVsrM+q72slok46eIqVJnya1G9wVm4MkRa4b2NhyC9zr9tuaSgWxYace0SEnVOFxk2YN5Tg
	la5ZkmiPjjc+7gT8a3EIvxrXdB9UmqZp3BG0Xbng8d/uLg3kk1+MysqHSO4081FibgHBYQNNI=
X-Google-Smtp-Source: AGHT+IGanN6vEl768wvh1OFIaksRzZKkRi1RkoP8MrA3NSYqwISK0JR5AqInqjhmFTslkWtI+bItdw==
X-Received: by 2002:a05:600c:83c3:b0:471:11a3:a6a9 with SMTP id 5b1f17b1804b1-47111a3a6e9mr8877025e9.37.1760599976754;
        Thu, 16 Oct 2025 00:32:56 -0700 (PDT)
Message-ID: <a1baa567-6901-48d1-ba9d-f0a688de7eaf@suse.com>
Date: Thu, 16 Oct 2025 09:32:55 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH 05/10] x86/HPET: avoid indirect call to event handler
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <8d94abf8-70d1-478c-885e-ff9a960ac72d@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: <8d94abf8-70d1-478c-885e-ff9a960ac72d@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

It's only ever handle_hpet_broadcast() that's used. While we now don't
enable IRQs right away, still play safe and convert the function pointer
to a boolean, to make sure no calls occur too early.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/hpet.c
+++ b/xen/arch/x86/hpet.c
@@ -40,7 +40,7 @@ struct hpet_event_channel
     s_time_t      next_event;
     cpumask_var_t cpumask;
     spinlock_t    lock;
-    void          (*event_handler)(struct hpet_event_channel *ch);
+    bool          event_handler;
 
     unsigned int idx;   /* physical channel idx */
     unsigned int cpu;   /* msi target */
@@ -194,7 +194,7 @@ static void evt_do_broadcast(cpumask_t *
        cpumask_raise_softirq(mask, TIMER_SOFTIRQ);
 }
 
-static void cf_check handle_hpet_broadcast(struct hpet_event_channel *ch)
+static void handle_hpet_broadcast(struct hpet_event_channel *ch)
 {
     cpumask_t mask;
     s_time_t now, next_event;
@@ -254,7 +254,7 @@ static void cf_check hpet_interrupt_hand
     if ( ch->cpu != cpu )
         return;
 
-    ch->event_handler(ch);
+    handle_hpet_broadcast(ch);
 }
 
 static void cf_check hpet_msi_unmask(struct irq_desc *desc)
@@ -515,7 +515,7 @@ static void set_channel_irq_affinity(str
 
     /* We may have missed an interrupt due to the temporary masking. */
     if ( ch->event_handler && ch->next_event < NOW() )
-        ch->event_handler(ch);
+        handle_hpet_broadcast(ch);
 }
 
 static void hpet_attach_channel(unsigned int cpu,
@@ -643,7 +643,7 @@ void __init hpet_broadcast_init(void)
         hpet_events[i].next_event = STIME_MAX;
         spin_lock_init(&hpet_events[i].lock);
         smp_wmb();
-        hpet_events[i].event_handler = handle_hpet_broadcast;
+        hpet_events[i].event_handler = true;
 
         hpet_events[i].msi.msi_attrib.maskbit = 1;
         hpet_events[i].msi.msi_attrib.pos = MSI_TYPE_HPET;
@@ -794,7 +794,9 @@ int hpet_legacy_irq_tick(void)
          (hpet_events->flags & (HPET_EVT_DISABLE|HPET_EVT_LEGACY)) !=
          HPET_EVT_LEGACY )
         return 0;
-    hpet_events->event_handler(hpet_events);
+
+    handle_hpet_broadcast(hpet_events);
+
     return 1;
 }
 



From xen-devel-bounces@lists.xenproject.org Thu Oct 16 07:36:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Oct 2025 07:36:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144233.1477700 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9IWx-0002c1-Hm; Thu, 16 Oct 2025 07:36:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144233.1477700; Thu, 16 Oct 2025 07:36:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9IWx-0002b3-9x; Thu, 16 Oct 2025 07:36:11 +0000
Received: by outflank-mailman (input) for mailman id 1144233;
 Thu, 16 Oct 2025 07:36:10 +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 <SRS0=CbFY=4Z=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v9IUE-0006T6-ER
 for xen-devel@lists.xenproject.org; Thu, 16 Oct 2025 07:33:22 +0000
Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com
 [2a00:1450:4864:20::32e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 63b400eb-aa62-11f0-980a-7dc792cee155;
 Thu, 16 Oct 2025 09:33:20 +0200 (CEST)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-46e5980471eso3091175e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 16 Oct 2025 00:33:20 -0700 (PDT)
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-4711443e7a1sm10273965e9.9.2025.10.16.00.33.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 16 Oct 2025 00:33:19 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 63b400eb-aa62-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760600000; x=1761204800; 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=DyPWaqTpFS+PT2iQyoC17l4zqE2wp5XM9kX62K6X0fU=;
        b=GpPmzteL5jJf0LsG2sux4jxZw6Wuw2H5aqM0shGa4MYZnlHaFgRhz7/SVZ5NqhUQjq
         2keJ6qQ2TKLCHeZlMDzTNM/1qdtXrziJxRcYoU0y7Vm1jUYjPNoYVKRTxU9YWpZFvLXk
         V2s+JfkcjYsF1KbJq1UzUWQHqugUAZ1DLacpttHg6PHWXE1zaEoL17xv2vjhkVHgxId6
         oedG6XpD38Z5mvFxt+oGyGYWYiQM58B3XFKeIvSQfZpUhnisADcevLh6vvMvOwsLdIao
         QWx00Fh6M8Yn3TqwgRqCupQH42Yy9XYVJ4JiTuDt99MmQVN6S5A75xhSoQqaBsvy3pGz
         6vKA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760600000; x=1761204800;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=DyPWaqTpFS+PT2iQyoC17l4zqE2wp5XM9kX62K6X0fU=;
        b=em6jqTQOCSMPDftRzTX4t1zgtbdSVUaf+LFrDao39htwUfIN9edVvWJP3ce1c30k8H
         ukQyfR5NFNoyMwwe+NUp1VlAEtzBeJqfjNwUyGSy3AxTO2nG28wR92OQ/OXr0wCgzlE0
         lBm+10nhfFyM20I7NwUQa5O1cuHI92D/Ajl/FKj3HG9oAgw1kK+66s4aPIbUM+NqyS0x
         W6VeM9Iy4bdZ0+oyNN6N/SSr3q0Op47DiJvPsYgGF6CRa7C0/hvjeMJcwPppDX+cGtCs
         9fLzC7uoSq2ch3pSR0pQlevoEc+HCoRhv36vsBgW1stgq3aa4x0V1aNs4Gelp/jRTrX5
         WOPA==
X-Gm-Message-State: AOJu0YwSd90Wrv12yVRC397iBLPTSzDYVDKBJOlXNmXEe8LAvMknhnFe
	Ugfl+iLP+/AJwoYTvBvTif4ZxPB5tVPTVRD1tDglWT1a28uRBuu5zYM7lyCoxySZ+jGJuov89rM
	ZDfs=
X-Gm-Gg: ASbGncvFjPlLPOQKHL7kiyLZ18SVaY6cc9H3F5s8Gb9vIrpe9oo5wJ/1tMI+TgG0dz3
	2fdXnOziSxbW6dflL84915/xXxcBd9LKkyAijfH3QzRh/9uo5QTJAwoppIY3+uLY+4wd00oksbk
	MxrYa4A5ptDHcgjFuG2/hDHqTViHbJvANmYwciGKpDQ6UU994fHfNtQLYM+s//NCipXaP1PUKW1
	VwNxweUWU2hsJB/Kuq8QvCvtGCr5Bu4nRGCejA1rgriHSARNPEjQMy3GE4ofmcMCohP1EbjoJHS
	70kPcDlwZSW3f0cY6FDB5AXcc9Ss4QTBLLFinG0O6CFG2+uuGYte5W4QVYngFauJ45NLT67ZxdZ
	0poHr86yNsTSOGYA03+kxxjJyH6djTime4G+cJWMSQKS56RRvOSHxuDWeaVuQidoO869XUUWMFZ
	l8/we/z0dMc+Rv0UtIgDB3Vq2oBJxhWJ34Bsbgp4CH7a/CzffwvAkYF7y+c/lIG1NUNa8F6TU=
X-Google-Smtp-Source: AGHT+IGCtFNKhxO/bhZnIHIW7ocS/VJleQZIqqdE+mZVDKih7CdU2VGscyOM6b9O7Ht1vSPnVx53PA==
X-Received: by 2002:a05:600c:1e87:b0:46e:345d:dfde with SMTP id 5b1f17b1804b1-46fa9a9f051mr212045395e9.16.1760600000026;
        Thu, 16 Oct 2025 00:33:20 -0700 (PDT)
Message-ID: <870dc766-5f29-4837-999f-93fe094ed857@suse.com>
Date: Thu, 16 Oct 2025 09:33:18 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH 06/10] x86/HPET: make another channel flags update atomic
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <8d94abf8-70d1-478c-885e-ff9a960ac72d@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: <8d94abf8-70d1-478c-885e-ff9a960ac72d@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Unlike the setting of HPET_EVT_LEGACY in hpet_broadcast_init(), the
setting of HPET_EVT_DISABLE in hpet_disable_legacy_broadcast() isn't init-
only and hence can race other flag manipulation (not all of which occur
while holding the channel's lock). While possibly any such updates would
only ever occur when HPET_EVT_LEGACY isn't set in the first place, this
doesn't look straightforward to prove, so better be on the safe side.

Fixes: d09486dba36a ("cpuidle: Enable hpet broadcast by default")
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/hpet.c
+++ b/xen/arch/x86/hpet.c
@@ -709,7 +709,7 @@ void hpet_disable_legacy_broadcast(void)
 
     spin_lock_irqsave(&hpet_events->lock, flags);
 
-    hpet_events->flags |= HPET_EVT_DISABLE;
+    set_bit(HPET_EVT_DISABLE_BIT, &hpet_events->flags);
 
     /* disable HPET T0 */
     cfg = hpet_read32(HPET_Tn_CFG(0));



From xen-devel-bounces@lists.xenproject.org Thu Oct 16 07:36:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Oct 2025 07:36:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144257.1477713 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9IXJ-0003tY-SH; Thu, 16 Oct 2025 07:36:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144257.1477713; Thu, 16 Oct 2025 07:36:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9IXJ-0003tR-Ob; Thu, 16 Oct 2025 07:36:33 +0000
Received: by outflank-mailman (input) for mailman id 1144257;
 Thu, 16 Oct 2025 07:36:33 +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 <SRS0=CbFY=4Z=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v9IT1-0006tj-89
 for xen-devel@lists.xenproject.org; Thu, 16 Oct 2025 07:32:07 +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 377a78da-aa62-11f0-9d15-b5c5bf9af7f9;
 Thu, 16 Oct 2025 09:32:06 +0200 (CEST)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-46e384dfde0so4193555e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 16 Oct 2025 00:32:06 -0700 (PDT)
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-4711442d3ddsm10102325e9.5.2025.10.16.00.32.05
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 16 Oct 2025 00:32:05 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 377a78da-aa62-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760599926; x=1761204726; 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=rKpTq2ffZAsnBRLXECm8mxV5KD3b0PiuTaOk80DCvHo=;
        b=IRYnbWtf/V9Q+Habm/dXXWfE/FkSvzeNpnI9fGbcb3734l+7S3kN6SKdgTu4k6+oIB
         xU8ThwRTIpB8Nhw0Dp/Jc7tuPha9SIinUeRU7/NhAQy+LNs2sEFxqfj86f9W+q7rmi0o
         vjNvjLUb5XEwKdAkRguUthVQ61Q9iKInbaCH3GuiBkj2eTVTpC2zTYCxoXtLXAjo7wvV
         YOg9aIYeKpOsxduzihZSL+pbBeXuGW3fckMw6BNNe+fNvhALB6RwYWQ9xIUkfivchCqu
         biN6CwV5TjelYb5dF3sCcTK8nNdod0SuEXt1awtxvn+yDthhryKZgkxruBkiRW7CQjlP
         vt6A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760599926; x=1761204726;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=rKpTq2ffZAsnBRLXECm8mxV5KD3b0PiuTaOk80DCvHo=;
        b=nSZG1BaP1rkxUzMbLVufGjUQ1F7VjhKHBnTGiMoK+VQa6OrFJBtBHjw33cUNOoS7vG
         FZsawwqs9DLlQly+Pqk4r/hFi3euGzfgql3OByx1nwB7HJ3hcMTBMzNgUpZ1tERURYV3
         xBHLObmELH50UhbZy7xxX1IyoASl39mvu4a/uEpbFypu3uLhb6UU00ARTk3+TCt/N6KU
         4BGq1HIZ8FREFI2PPWLfTCjXxaOUcKPBy2SqHKe7LQOpz5mYx8Q0jOsaDEYQFni35iyU
         FIWa99QBP6g9BayqIGzsBW7/pEYYcxJflCxF5Jp5Y6VDllAEK0BhMvFVx7WwVOWHD3kt
         RHyg==
X-Gm-Message-State: AOJu0YwHlBYtzRkNXSaWOECy4zyAmKSPKCMICVKMg5n9wzmcX48HLnn2
	U87Bedn5YyKTqwpzNRAwFIY+Nj0UQPiGKX9kgaGAnF5S9YT9OTwPID8nO9E5pmhF5KVsXmegmTT
	6oGo=
X-Gm-Gg: ASbGncti4bNjAK64mPguZP4L7nsL0F+P/jNqSpjY9gGRMsMAeutBQSs09xS+HJ1Kaly
	M5LrwFZBWmcIuBWhLCGBfanNn5pJ4t3ZIPKtUd0KpwhXZjzjJZ99y09N6/f1x4MW4E7GAx+uAZW
	brpPraheOHnlfAU+MD4zpO5G2ox+9bUDudzyPdaiUSK8Khw/QYeMiAWdS5DbxfhpIHTLrtgKvrr
	HtXuPwBYKSVu6xbM1ODfG3pKOxaA649BOAv8toQgfjbop6zINcDjM9AVzXZin/qO35ve2l7wTZb
	qk17qgK4uzJ4YKsLMKZsXGeepzs/hLlDrwXxD3vlA5yodwW2U8ROlrDbLYu8vE2Yzb8r6MRAzZE
	4FavMJnxaPNRk2HYqQJrNI5xLvS8QvAK9oJM/ZtNYC4W+8Yry295BTXVBv1aFhMSm2Z0JwzUTkr
	k1KL3Bg1oGN3vpw/V9E1o5IKvzMsb+CSQEshXpfL2YeXLBmdWamysZT5yoZsZIC9r1x8lTREw=
X-Google-Smtp-Source: AGHT+IFsTTq5kY0m4KKJdirhTJfN554145+ptMQvZpsOe5DVY74MsO1YcWCjzYwlV+0a3xPIsHxdEw==
X-Received: by 2002:a05:600c:1e8c:b0:46e:326e:4501 with SMTP id 5b1f17b1804b1-46fa9a9ea20mr205904315e9.10.1760599925801;
        Thu, 16 Oct 2025 00:32:05 -0700 (PDT)
Message-ID: <64d52793-be70-4ae8-9bae-ad88f6379395@suse.com>
Date: Thu, 16 Oct 2025 09:32:04 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH for-4.21 03/10] x86/HPET: use single, global, low-priority
 vector for broadcast IRQ
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <8d94abf8-70d1-478c-885e-ff9a960ac72d@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: <8d94abf8-70d1-478c-885e-ff9a960ac72d@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Using dynamically allocated / maintained vectors has several downsides:
- possible nesting of IRQs due to the effects of IRQ migration,
- reduction of vectors available for devices,
- IRQs not moving as intended if there's shortage of vectors,
- higher runtime overhead.

As the vector also doesn't need to be of any priority (first and foremost
it really shouldn't be of higher or same priority as the timer IRQ, as
that raises TIMER_SOFTIRQ anyway), avoid any "ordinary" vectors altogther
and use a vector from the 0x10...0x1f exception vector space. Exception vs
interrupt can easily be distinguished by checking for the presence of an
error code.

Fixes: 996576b965cc ("xen: allow up to 16383 cpus")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
This is an alternative proposal to
https://lists.xen.org/archives/html/xen-devel/2014-03/msg00399.html.

The Fixes: tag indicates where the problem got signficantly worse; in
principle it was there already before (crashing at perhaps 6 or 7 levels
of nested IRQs).

--- a/xen/arch/x86/hpet.c
+++ b/xen/arch/x86/hpet.c
@@ -9,17 +9,19 @@
 #include <xen/timer.h>
 #include <xen/smp.h>
 #include <xen/softirq.h>
+#include <xen/cpuidle.h>
 #include <xen/irq.h>
 #include <xen/numa.h>
 #include <xen/param.h>
 #include <xen/sched.h>
 
 #include <asm/apic.h>
-#include <asm/fixmap.h>
 #include <asm/div64.h>
+#include <asm/fixmap.h>
+#include <asm/genapic.h>
 #include <asm/hpet.h>
+#include <asm/irq-vectors.h>
 #include <asm/msi.h>
-#include <xen/cpuidle.h>
 
 #define MAX_DELTA_NS MILLISECS(10*1000)
 #define MIN_DELTA_NS MICROSECS(20)
@@ -307,15 +309,13 @@ static void cf_check hpet_msi_set_affini
     struct hpet_event_channel *ch = desc->action->dev_id;
     struct msi_msg msg = ch->msi.msg;
 
-    msg.dest32 = set_desc_affinity(desc, mask);
-    if ( msg.dest32 == BAD_APICID )
-        return;
+    /* This really is only for dump_irqs(). */
+    cpumask_copy(desc->arch.cpu_mask, mask);
 
-    msg.data &= ~MSI_DATA_VECTOR_MASK;
-    msg.data |= MSI_DATA_VECTOR(desc->arch.vector);
+    msg.dest32 = cpu_mask_to_apicid(mask);
     msg.address_lo &= ~MSI_ADDR_DEST_ID_MASK;
     msg.address_lo |= MSI_ADDR_DEST_ID(msg.dest32);
-    if ( msg.data != ch->msi.msg.data || msg.dest32 != ch->msi.msg.dest32 )
+    if ( msg.dest32 != ch->msi.msg.dest32 )
         hpet_msi_write(ch, &msg);
 }
 
@@ -328,7 +328,7 @@ static hw_irq_controller hpet_msi_type =
     .shutdown   = hpet_msi_shutdown,
     .enable	    = hpet_msi_unmask,
     .disable    = hpet_msi_mask,
-    .ack        = ack_nonmaskable_msi_irq,
+    .ack        = irq_actor_none,
     .end        = end_nonmaskable_irq,
     .set_affinity   = hpet_msi_set_affinity,
 };
@@ -347,6 +347,12 @@ static int __init hpet_setup_msi_irq(str
     u32 cfg = hpet_read32(HPET_Tn_CFG(ch->idx));
     irq_desc_t *desc = irq_to_desc(ch->msi.irq);
 
+    clear_irq_vector(ch->msi.irq);
+    ret = bind_irq_vector(ch->msi.irq, HPET_BROADCAST_VECTOR, &cpu_online_map);
+    if ( ret )
+        return ret;
+    cpumask_setall(desc->affinity);
+
     if ( iommu_intremap != iommu_intremap_off )
     {
         ch->msi.hpet_id = hpet_blockid;
@@ -457,7 +463,7 @@ static struct hpet_event_channel *hpet_g
     /*
      * Try the least recently used channel first.  It may still have its IRQ's
      * affinity set to the desired CPU.  This way we also limit having multiple
-     * of our IRQs raised on the same CPU, in possibly a nested manner.
+     * of our IRQs raised on the same CPU.
      */
     ch = per_cpu(lru_channel, cpu);
     if ( ch && !test_and_set_bit(HPET_EVT_USED_BIT, &ch->flags) )
@@ -497,6 +503,7 @@ static void set_channel_irq_affinity(str
     spin_lock(&desc->lock);
     hpet_msi_mask(desc);
     hpet_msi_set_affinity(desc, cpumask_of(ch->cpu));
+    per_cpu(vector_irq, ch->cpu)[HPET_BROADCAST_VECTOR] = ch->msi.irq;
     hpet_msi_unmask(desc);
     spin_unlock(&desc->lock);
 
--- a/xen/arch/x86/include/asm/irq-vectors.h
+++ b/xen/arch/x86/include/asm/irq-vectors.h
@@ -18,6 +18,15 @@
 /* IRQ0 (timer) is statically allocated but must be high priority. */
 #define IRQ0_VECTOR             0xf0
 
+/*
+ * Low-priority (for now statically allocated) vectors, sharing entry
+ * points with exceptions in the 0x10 ... 0x1f range, as long as the
+ * respective exception has an error code.
+ */
+#define FIRST_LOPRIORITY_VECTOR 0x10
+#define HPET_BROADCAST_VECTOR   X86_EXC_AC
+#define LAST_LOPRIORITY_VECTOR  0x1f
+
 /* Legacy PIC uses vectors 0x20-0x2f. */
 #define FIRST_LEGACY_VECTOR     FIRST_DYNAMIC_VECTOR
 #define LAST_LEGACY_VECTOR      (FIRST_LEGACY_VECTOR + 0xf)
@@ -40,7 +49,7 @@
 /* There's no IRQ2 at the PIC. */
 #define IRQ_MOVE_CLEANUP_VECTOR (FIRST_LEGACY_VECTOR + 2)
 
-#define FIRST_IRQ_VECTOR        FIRST_DYNAMIC_VECTOR
+#define FIRST_IRQ_VECTOR        FIRST_LOPRIORITY_VECTOR
 #define LAST_IRQ_VECTOR         LAST_HIPRIORITY_VECTOR
 
 #endif /* _ASM_IRQ_VECTORS_H */
--- a/xen/arch/x86/irq.c
+++ b/xen/arch/x86/irq.c
@@ -755,8 +755,9 @@ void setup_vector_irq(unsigned int cpu)
         if ( !irq_desc_initialized(desc) )
             continue;
         vector = irq_to_vector(irq);
-        if ( vector >= FIRST_HIPRIORITY_VECTOR &&
-             vector <= LAST_HIPRIORITY_VECTOR )
+        if ( vector <= (vector >= FIRST_HIPRIORITY_VECTOR
+                        ? LAST_HIPRIORITY_VECTOR
+                        : LAST_LOPRIORITY_VECTOR) )
             cpumask_set_cpu(cpu, desc->arch.cpu_mask);
         else if ( !cpumask_test_cpu(cpu, desc->arch.cpu_mask) )
             continue;
--- a/xen/arch/x86/msi.c
+++ b/xen/arch/x86/msi.c
@@ -158,7 +158,7 @@ void msi_compose_msg(unsigned vector, co
 {
     memset(msg, 0, sizeof(*msg));
 
-    if ( vector < FIRST_DYNAMIC_VECTOR )
+    if ( vector < FIRST_LOPRIORITY_VECTOR )
         return;
 
     if ( cpu_mask )
--- a/xen/arch/x86/x86_64/entry.S
+++ b/xen/arch/x86/x86_64/entry.S
@@ -1045,7 +1045,13 @@ END(entry_GP)
 
 FUNC(entry_AC)
         ENDBR64
+        /* #AC shares its entry point with the HPET broadcast interrupt. */
+        test  $8, %spl
+        jz    .Lac
+        push  $0
+.Lac:
         movb  $X86_EXC_AC, EFRAME_entry_vector(%rsp)
+        jnz   common_interrupt
         jmp   handle_exception
 END(entry_AC)
 



From xen-devel-bounces@lists.xenproject.org Thu Oct 16 07:58:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Oct 2025 07:58:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144284.1477722 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9Irx-0007V5-Dz; Thu, 16 Oct 2025 07:57:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144284.1477722; Thu, 16 Oct 2025 07:57:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9Irx-0007Uy-BN; Thu, 16 Oct 2025 07:57:53 +0000
Received: by outflank-mailman (input) for mailman id 1144284;
 Thu, 16 Oct 2025 07:57:52 +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 <SRS0=CbFY=4Z=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v9Irw-0007Us-SW
 for xen-devel@lists.xenproject.org; Thu, 16 Oct 2025 07:57:52 +0000
Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com
 [2a00:1450:4864:20::32e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cff0de83-aa65-11f0-980a-7dc792cee155;
 Thu, 16 Oct 2025 09:57:50 +0200 (CEST)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-46e6c8bc46eso2312085e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 16 Oct 2025 00:57:50 -0700 (PDT)
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-4710cdb9d4dsm13828835e9.5.2025.10.16.00.57.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 16 Oct 2025 00:57:49 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cff0de83-aa65-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760601470; x=1761206270; darn=lists.xenproject.org;
        h=content-transfer-encoding:autocrypt:content-language:cc:to:subject
         :from:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=qmVyPPHO6tDn29Kac7C6g8xPh1rX+1+sRYbc+nO12lo=;
        b=NfCTJTvCiG7kdDtkiSJjn9V52OyqbtTxjZ0diN8clLe63loH85ShPqRmHNa9DTmHJ8
         Z7EQjtBV7TkV/uF7f4r9oVtGJjV9XczDpjZnLmF3WFLATtoprvce+jLzrsD3ObppAzOt
         UKo1A/GIxN4EP+sC8yN4xId2lPv7ODYcu1qH0uqxg9+Gsk9sCuQRZIZye0JboygAuEqF
         lwaI7G5hpjQzun+DZGjsiW88xplFwRA+4TXrRSgrcZx9KoDYHMtnhJiMC1YElCWZEdkp
         pLLGP9TI/YW0TaWJElR6VzwviAswJRhyKhXcE1mAA9KikZooUupxbgTZzNlBxe9PqlJz
         R93w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760601470; x=1761206270;
        h=content-transfer-encoding:autocrypt:content-language:cc:to:subject
         :from:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=qmVyPPHO6tDn29Kac7C6g8xPh1rX+1+sRYbc+nO12lo=;
        b=hV5U/bdJasKdVHgW7SwxbY7Wq0CrBbrAKKBaiivSqKie18JXpF8fFtHztpuVaV5hDc
         cWEspAwu9Za0Uxxs1xQt2SVvG76lMkkGKl1d7zAgFslftZalWDN6gtyoD2OXfMVQpvYh
         DzmFVPYCd56DuaIhAm15BxsUmLNkCvzd+RLcvN1w7SU8GSc0FTewi5gpX7IvWlFoDq5/
         Pqimgn238hXCrWz3HEOuIVWvcMg943jkP9xwoeGaCy9oveCGgF+rQcdovYx54PIfbsuH
         pJDGJSrEuUvXB6ADuGtNfZORZOBs82udtUeMBQ+r7ieSPbQFFO/ClUT08AboHCS2s1sW
         cUAA==
X-Gm-Message-State: AOJu0YzlbHRMLNQ2T7kj7lKENKBdAjJBP0dLFGhV55wWLrSf7ikkQGEV
	YpV7OFX0O9JgJKV/UUOyljM0hUGkgbbia5NImjF0iy/SOrg8mf/97EEXvkV5P+JcIhtrWvxzuxe
	xe5I=
X-Gm-Gg: ASbGncsC49dZNmAIvBWIDeXue1D5ghlndtEn9TXa/NhT8iGeFITv/XfYANVubHGmBxs
	e982MFcUupb1VrOR03zfyMfnrm3JGKrId428nXxZzRFHKBcf2yPYT4NbMvfPkx+Z+8AlEOodKm1
	yNvDCQXgFA97dqdQlr1iENIrJchVzx17oyhIDCwhfng79kcMdfc3jb+c8BHsTHDbPxxiZXtU6Up
	Byxf66u0z+FEI5gXi03YUaWgDUpCwYuuxWlIiCe7llMDV7tamHtCWvxtHS7hzyju/9/Q9x8nIP4
	E+sA7SGI6ycHizREmOo9QZogXc5iLG+2imxIxPFnuabd1eur6FnQJCOgGDM2m7EIaaIhzT8vvja
	WYkXW9LgWc2+1e45RiPVNNHXN16QgESvDu4PdBfkHyS0bEZsH7bsGtMHl2VZPjx6hu7axTbu8af
	YMhgCw/oncfZp4+8pxLUXI54HiVh5W/azWaYQh/Ki2lDQEWnX748BAKZfJmR1t
X-Google-Smtp-Source: AGHT+IGzCVWRIES305SV7J8HlziDpqryi38iIB4eIl7wKSbB2xoExhx7gvy4P8lGordgJuudQYvvJw==
X-Received: by 2002:a05:600c:8409:b0:46e:442c:f5e1 with SMTP id 5b1f17b1804b1-46fa9b1a048mr234592205e9.35.1760601470116;
        Thu, 16 Oct 2025 00:57:50 -0700 (PDT)
Message-ID: <37ba42d2-c89a-4c19-a1d8-b4a9c32f677a@suse.com>
Date: Thu, 16 Oct 2025 09:57:48 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2 0/3] x86/vLAPIC: CMCI LVT handling
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Andrew Cooper <amc96@srcf.net>,
 Grygorii Strashko <grygorii_strashko@epam.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
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

1: add indirection to LVT handling
2: drop VLAPIC_VERSION
3: properly support the CMCI LVT

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 16 07:58:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Oct 2025 07:58:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144293.1477733 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9Ise-0007xO-MZ; Thu, 16 Oct 2025 07:58:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144293.1477733; Thu, 16 Oct 2025 07:58:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9Ise-0007xH-Jy; Thu, 16 Oct 2025 07:58:36 +0000
Received: by outflank-mailman (input) for mailman id 1144293;
 Thu, 16 Oct 2025 07:58:35 +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 <SRS0=CbFY=4Z=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v9Isd-0007pw-Dw
 for xen-devel@lists.xenproject.org; Thu, 16 Oct 2025 07:58:35 +0000
Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com
 [2a00:1450:4864:20::329])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e9f70343-aa65-11f0-9d15-b5c5bf9af7f9;
 Thu, 16 Oct 2025 09:58:34 +0200 (CEST)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-46e491a5b96so2902115e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 16 Oct 2025 00:58:34 -0700 (PDT)
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-426ce57cd11sm33493875f8f.5.2025.10.16.00.58.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 16 Oct 2025 00:58:33 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e9f70343-aa65-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760601514; x=1761206314; 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=sbB11aEJPQVIFWe/Qwz6Yn3arLp5D2vKoRWUXi0zgXk=;
        b=gdTT6F/GH9ysGuoCTfpU5SySI1UGHrE5I3Io3PPOJGWeMdu4RS9fhQ9Jdgfl52GcUi
         htPNrHSQX2yxxAE2ij5I/x/NjQz0N2FBYxsxfit6LUwlm6f1cQnIoK/6WP1tpuIQryIZ
         2d0w0TbgTJBTeV5QY1TpcDgKZ/7CzJCU5QNHYIvhQsDosdOJpB0gdBiFqOemvoxPcIl8
         EUbrSwfIX9azEOzyfdhYJNnx7ywOIJCL+iy5VyEceH11DMvXJlwx1h3tZxNdti8Ddse7
         pQq/0sOMT60hD8p1zJVhdqDw+M16AZC6X7FLamVxB0KWWzds8Ul5o8bkO/86vOuJO7cg
         t31w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760601514; x=1761206314;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=sbB11aEJPQVIFWe/Qwz6Yn3arLp5D2vKoRWUXi0zgXk=;
        b=JqCFnb9nMZrajw1vQB2G/vhjnUe2uPyq5GuYzPO6r9daR311rXT0jAbQknM1zrC47X
         LhR+Hg/lFG4AetdLMNCE4vmTNNZJIImda72mH7OnbNrKIk1RyAEAxwyLsjptdUjmGGn1
         fTykQ4sFc6NfjtHwZmHEJaFTQq4jskzova1R6sEprtxWMFaA9QpGgwfltvz2GNmT7fK3
         PY8zZ6GacCUpkGHtewdUbITleD/FZt1aKzV6YwwrdfLBfdDAHMZBXF05p9/CfwDBTlVC
         /HRRgKMvDKwB9dVSLoegjvBYnFS+mZ3cAXHNQrbcSZqBpbrzJX7j80zEwmi6iuJUuZuH
         4jxg==
X-Gm-Message-State: AOJu0YzNLcQjXcUXectP1JWov2b8E3xkNpHrcAkAEsniJFEcY2f0/fhO
	r2SGV95nxuXktykw0KoAVgSsk0tEiH5Se1tZyyIjgpQ5I0rY4mmzq0K975K3ZaJOnVuwwVj7+2s
	yDd0=
X-Gm-Gg: ASbGncuP+fekUZH1maJthZChpVvFuPyBQMz3f1/rNceu3V4Eguk5mRCmi9MfNwuMZiJ
	Z9kdu7XSFEwIyuOuUo6BSGHNZvpOLNwU4ctmLSQ2N/9f4Fj8DRXlPxfo/fYHCHLSlO1z2KoQIwx
	aEpkpNSJEqGExk2DUlvwrCAXSABZn9klhJohVJXxpfVpO5oz9GvNqQhrtj/O7ixzIp6RShJB0pi
	yjmqjk7jAkrVMlvGxdaHjp5cSynTPCg1R2qzfZsK5TQJiJ5V9UfAWmEs8hdtYOPMcyq8v2pNQ11
	gvzldMQjDZejsmE+sVEOF/crOpx7+6c5aMq8d+PhiQtXLog472uxaeITKawGiM4rLUnaMig09Hf
	j9PFhim8oPciwxHTHMfj42dBQ93G+DDT+QvbiIdDgn3M8+O9gY+3WU+LtTJeAS2EgXrjXItC0g4
	sg0Tbjhlq2eNEPEOrnn+Gbtp0xXebmv4HLCJVtjVfSr7C2GrLCt9Jo11jeo1HJPfguDk5TXXo=
X-Google-Smtp-Source: AGHT+IFdXYC5QKb1ISW9s896MV2t+hBdIy1qZz065LRMSvBNv/QmoFeIiweU9cSQGU1e8Qs+0N78vw==
X-Received: by 2002:a05:600c:609b:b0:456:13b6:4b18 with SMTP id 5b1f17b1804b1-46fa9b106cbmr242418445e9.31.1760601513765;
        Thu, 16 Oct 2025 00:58:33 -0700 (PDT)
Message-ID: <6d8046b6-3b1b-425a-80c1-c0d3b9f5d3ba@suse.com>
Date: Thu, 16 Oct 2025 09:58:32 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v2 1/3] x86/vLAPIC: add indirection to LVT handling
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Andrew Cooper <amc96@srcf.net>,
 Grygorii Strashko <grygorii_strashko@epam.com>
References: <37ba42d2-c89a-4c19-a1d8-b4a9c32f677a@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: <37ba42d2-c89a-4c19-a1d8-b4a9c32f677a@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

In preparation to add support for the CMCI LVT, which is discontiguous to
the other LVTs, add a level of indirection. Rename the prior
vlapic_lvt_mask[] while doing so (as subsequently a 2nd array will want
adding, for use by guest_wrmsr_x2apic()).

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
The new name (lvt_valid[]) reflects its present contents. When re-based on
top of "x86/hvm: vlapic: fix RO bits emulation in LVTx regs", the name
wants to change to lvt_writable[] (or the 2nd array be added right away,
with lvt_valid[] then used by guest_wrmsr_x2apic()). Alternatively the
order of patches may want changing.
---
v2: Check incoming MAXLVT in lapic_check_regs().

--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -32,7 +32,16 @@
 #include <public/hvm/params.h>
 
 #define VLAPIC_VERSION                  0x00050014
-#define VLAPIC_LVT_NUM                  6
+#define LVT_BIAS(reg)                   (((reg) - APIC_LVTT) >> 4)
+
+#define LVTS \
+    LVT(LVTT), LVT(LVTTHMR), LVT(LVTPC), LVT(LVT0), LVT(LVT1), LVT(LVTERR),
+
+static const unsigned int lvt_reg[] = {
+#define LVT(which) APIC_ ## which
+    LVTS
+#undef LVT
+};
 
 #define LVT_MASK \
     (APIC_LVT_MASKED | APIC_SEND_PENDING | APIC_VECTOR_MASK)
@@ -41,20 +50,21 @@
     (LVT_MASK | APIC_DM_MASK | APIC_INPUT_POLARITY |\
     APIC_LVT_REMOTE_IRR | APIC_LVT_LEVEL_TRIGGER)
 
-static const unsigned int vlapic_lvt_mask[VLAPIC_LVT_NUM] =
+static const unsigned int lvt_valid[] =
 {
-     /* LVTT */
-     LVT_MASK | APIC_TIMER_MODE_MASK,
-     /* LVTTHMR */
-     LVT_MASK | APIC_DM_MASK,
-     /* LVTPC */
-     LVT_MASK | APIC_DM_MASK,
-     /* LVT0-1 */
-     LINT_MASK, LINT_MASK,
-     /* LVTERR */
-     LVT_MASK
+#define LVTT_VALID    (LVT_MASK | APIC_TIMER_MODE_MASK)
+#define LVTTHMR_VALID (LVT_MASK | APIC_DM_MASK)
+#define LVTPC_VALID   (LVT_MASK | APIC_DM_MASK)
+#define LVT0_VALID    LINT_MASK
+#define LVT1_VALID    LINT_MASK
+#define LVTERR_VALID  LVT_MASK
+#define LVT(which)    [LVT_BIAS(APIC_ ## which)] = which ## _VALID
+    LVTS
+#undef LVT
 };
 
+#undef LVTS
+
 #define vlapic_lvtt_period(vlapic)                              \
     ((vlapic_get_reg(vlapic, APIC_LVTT) & APIC_TIMER_MODE_MASK) \
      == APIC_TIMER_MODE_PERIODIC)
@@ -827,16 +837,16 @@ void vlapic_reg_write(struct vcpu *v, un
 
         if ( !(val & APIC_SPIV_APIC_ENABLED) )
         {
-            int i;
+            unsigned int i,
+                nr = GET_APIC_MAXLVT(vlapic_get_reg(vlapic, APIC_LVR)) + 1;
             uint32_t lvt_val;
 
             vlapic->hw.disabled |= VLAPIC_SW_DISABLED;
 
-            for ( i = 0; i < VLAPIC_LVT_NUM; i++ )
+            for ( i = 0; i < nr; i++ )
             {
-                lvt_val = vlapic_get_reg(vlapic, APIC_LVTT + 0x10 * i);
-                vlapic_set_reg(vlapic, APIC_LVTT + 0x10 * i,
-                               lvt_val | APIC_LVT_MASKED);
+                lvt_val = vlapic_get_reg(vlapic, lvt_reg[i]);
+                vlapic_set_reg(vlapic, lvt_reg[i], lvt_val | APIC_LVT_MASKED);
             }
         }
         else
@@ -878,7 +888,7 @@ void vlapic_reg_write(struct vcpu *v, un
     case APIC_LVTERR:       /* LVT Error Reg */
         if ( vlapic_sw_disabled(vlapic) )
             val |= APIC_LVT_MASKED;
-        val &= array_access_nospec(vlapic_lvt_mask, (reg - APIC_LVTT) >> 4);
+        val &= array_access_nospec(lvt_valid, LVT_BIAS(reg));
         vlapic_set_reg(vlapic, reg, val);
         if ( reg == APIC_LVT0 )
         {
@@ -1424,7 +1434,7 @@ bool is_vlapic_lvtpc_enabled(struct vlap
 /* Reset the VLAPIC back to its init state. */
 static void vlapic_do_init(struct vlapic *vlapic)
 {
-    int i;
+    unsigned int i, nr;
 
     if ( !has_vlapic(vlapic_vcpu(vlapic)->domain) )
         return;
@@ -1452,8 +1462,9 @@ static void vlapic_do_init(struct vlapic
 
     vlapic_set_reg(vlapic, APIC_DFR, 0xffffffffU);
 
-    for ( i = 0; i < VLAPIC_LVT_NUM; i++ )
-        vlapic_set_reg(vlapic, APIC_LVTT + 0x10 * i, APIC_LVT_MASKED);
+    nr = GET_APIC_MAXLVT(vlapic_get_reg(vlapic, APIC_LVR)) + 1;
+    for ( i = 0; i < nr; i++ )
+        vlapic_set_reg(vlapic, lvt_reg[i], APIC_LVT_MASKED);
 
     vlapic_set_reg(vlapic, APIC_SPIV, 0xff);
     vlapic->hw.disabled |= VLAPIC_SW_DISABLED;
@@ -1639,13 +1650,23 @@ static int cf_check lapic_check_regs(con
 {
     unsigned int vcpuid = hvm_load_instance(h);
     int rc;
+    const struct hvm_hw_lapic_regs *regs;
 
     if ( (rc = lapic_check_common(d, vcpuid)) )
         return rc;
 
-    if ( !hvm_get_entry(LAPIC_REGS, h) )
+    regs = hvm_get_entry(LAPIC_REGS, h);
+    if ( !regs )
         return -ENODATA;
 
+/* Like vlapic_get_reg(), but without having a struct vlapic instance. */
+#define GET_REG(reg) (*(const uint32_t *)&regs->data[reg])
+
+    if ( GET_APIC_MAXLVT(GET_REG(APIC_LVR)) >= ARRAY_SIZE(lvt_reg) )
+        return -ERANGE;
+
+#undef GET_REG
+
     return 0;
 }
 



From xen-devel-bounces@lists.xenproject.org Thu Oct 16 07:58:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Oct 2025 07:58:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144296.1477742 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9Isw-0008Lx-2N; Thu, 16 Oct 2025 07:58:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144296.1477742; Thu, 16 Oct 2025 07:58:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9Isv-0008Lk-Vu; Thu, 16 Oct 2025 07:58:53 +0000
Received: by outflank-mailman (input) for mailman id 1144296;
 Thu, 16 Oct 2025 07:58:52 +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 <SRS0=CbFY=4Z=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v9Isu-0007Us-Rt
 for xen-devel@lists.xenproject.org; Thu, 16 Oct 2025 07:58:52 +0000
Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com
 [2a00:1450:4864:20::42e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f3fb4046-aa65-11f0-980a-7dc792cee155;
 Thu, 16 Oct 2025 09:58:51 +0200 (CEST)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-426fd699c21so157050f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 16 Oct 2025 00:58:51 -0700 (PDT)
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-426ce5e0e70sm32738788f8f.40.2025.10.16.00.58.50
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 16 Oct 2025 00:58:50 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f3fb4046-aa65-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760601530; x=1761206330; 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=tDSXv59rmnY3eFBJLiKKPItBMr1pT4qTxAqiGpWveBs=;
        b=R4md+T6VMyZBgaS2w7Omfau5G1l7svoBZEjTAMlX4tLXBl72zxyzmB7HbphmZ51nRA
         OVf2IeOQigRSzfh4A+kdFrCACYlc5hJEluxtwvB7ub23AWsgYtPfzSwwAhOSdYnvEh8O
         AqCr9O8WwKS8+Zg6BAAwNA3n6YiFvBbkDHV9IXtnhaqJihbb1YiBpGWrcee9sjnaFKa7
         K/vUpSbvgkb7tOX9AOV8UnzL3xkeouXmPyah6Hx79xmZcnobSFskgh9hmL1kwQ5t/GRN
         QkBSikrAMhKHf9+OjUVBm3uhV0cje+tRiAlnf0bDsi1JWTfnDtEjllzKCRm38NzeamMi
         dt8Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760601530; x=1761206330;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=tDSXv59rmnY3eFBJLiKKPItBMr1pT4qTxAqiGpWveBs=;
        b=PYzfVrpC80JaUj3CeRRqEUtQhuBm7+nqS7XyusQuUEtIsEZR9CgoG8CkuB6gnRitUn
         8wHG5t0yGRl9p8tlNV1iyPshRjXyX0K2Nf2SuCHAFbNv4fiA+UcgScnL3iYn+v6dCqvL
         GsybzWWm0HRIACSINUv0DD21W/977jZN4mVAX0j2j/iOmg4Nr9wjO9ZsEQsb9nFqYvaj
         4n2nl83wJXqlDTVLjc0vzpWraNYhKcmcxw2bt3w7BIY8s8ncDKcAFuv2Dp3J/s+Fe+z1
         XHhIkD9PwuwF79hxAyBSEszqrDn8CzXRgpEGyybaeWfjCtW1RL+mmThemDKDfF3K8L2h
         Sm2w==
X-Gm-Message-State: AOJu0YyzTedj9keVS30jsxaJjLao6581OOQ706nGjE2mVnABj4gOCZw5
	Yo7YXzrz9PSCmz3a/l89nLwUW2+vQMhe7Yz1WPhjRx3DTugoOsFPNJ8VGJp8KmGcsg+qMHQpYma
	Y08U=
X-Gm-Gg: ASbGnctUh8Hvv1RU6EtektL6LKCm6x93NeIbApo9LN14lszdX7twl0qeJXvCL+sO6o1
	0DEd8dq+BRleLo4xUaEFryCo2Z33+s2dop6YS/lIpOyaVcT9xWFHyEgS2Jn6l6o94ziXDPNHgWK
	NAwStJmLF0Gogiq/SQrzx6VZDZn2vaJ0BOhdf2E4jKsKCo+2I6Hg39ELZTFvZKUn0sRlJSBH07k
	1+624p+fDNT3wqbUUqdAa23KhLPPXKtMp81kJCMWidSWwnKD2D3Dp1B/Qz7huBriw/wfWZ5GtuS
	dPaZWMVqSrmWW9agxuQy6MgjxI7xS1kpUt3nE7c8H9tv+1HBfFOEszfZkDGUJlF96ltTrAo1lwD
	AY4BdNdZ07BNxziMUt3/rzil1+oWcYd2iiDXD2NO8F8KbAoFFQ0CWFiQTCEieWv3ulpjulgyFsG
	GPe+Pg9qFhrwVjwLWIjgglytKjC9AlhYYb5gAKVrRdWoo5VDhkWzBvho/n3Vrt
X-Google-Smtp-Source: AGHT+IGcRBu76B6Wg223k3baLc6M+EgVt6AtOXLOFBFTSXc/7pYD9COKGaG7j/HYvw4hsdhXspGm3Q==
X-Received: by 2002:a05:6000:1887:b0:3eb:8395:e2e0 with SMTP id ffacd0b85a97d-4266e8de16amr19822072f8f.51.1760601530592;
        Thu, 16 Oct 2025 00:58:50 -0700 (PDT)
Message-ID: <0f9f55eb-ebf5-4f4e-a989-132a2066ad14@suse.com>
Date: Thu, 16 Oct 2025 09:58:49 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v2 2/3] x86/vLAPIC: drop VLAPIC_VERSION
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Andrew Cooper <amc96@srcf.net>,
 Grygorii Strashko <grygorii_strashko@epam.com>
References: <37ba42d2-c89a-4c19-a1d8-b4a9c32f677a@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: <37ba42d2-c89a-4c19-a1d8-b4a9c32f677a@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

In preparation of making the value somewhat dynamic drop the constant.
Replace its use in guest_wrmsr_x2apic() by actually fetching the LVR
value.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: Use MASK_INSR() right here.

--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -31,7 +31,6 @@
 #include <public/hvm/ioreq.h>
 #include <public/hvm/params.h>
 
-#define VLAPIC_VERSION                  0x00050014
 #define LVT_BIAS(reg)                   (((reg) - APIC_LVTT) >> 4)
 
 #define LVTS \
@@ -1015,7 +1014,7 @@ int guest_wrmsr_x2apic(struct vcpu *v, u
     case APIC_SPIV:
         if ( val & ~(APIC_VECTOR_MASK | APIC_SPIV_APIC_ENABLED |
                      APIC_SPIV_FOCUS_DISABLED |
-                     (VLAPIC_VERSION & APIC_LVR_DIRECTED_EOI
+                     (vlapic_get_reg(vlapic, APIC_LVR) & APIC_LVR_DIRECTED_EOI
                       ? APIC_SPIV_DIRECTED_EOI : 0)) )
             return X86EMUL_EXCEPTION;
         break;
@@ -1439,7 +1438,9 @@ static void vlapic_do_init(struct vlapic
     if ( !has_vlapic(vlapic_vcpu(vlapic)->domain) )
         return;
 
-    vlapic_set_reg(vlapic, APIC_LVR, VLAPIC_VERSION);
+    vlapic_set_reg(vlapic, APIC_LVR,
+                   MASK_INSR(0x14, APIC_LVR_VERSION_MASK) |
+                   MASK_INSR(ARRAY_SIZE(lvt_reg) - 1, APIC_LVR_MAXLVT_MASK));
 
     for ( i = 0; i < 8; i++ )
     {
--- a/xen/arch/x86/include/asm/apicdef.h
+++ b/xen/arch/x86/include/asm/apicdef.h
@@ -15,7 +15,10 @@
 #define			GET_xAPIC_ID(x)		(((x)>>24)&0xFFu)
 #define			SET_xAPIC_ID(x)		(((x)<<24))
 #define		APIC_LVR	0x30
-#define			APIC_LVR_MASK		0xFF00FF
+#define			APIC_LVR_VERSION_MASK	0xff
+#define			APIC_LVR_MAXLVT_MASK	0xff0000
+#define			APIC_LVR_MASK		(APIC_LVR_VERSION_MASK | \
+						 APIC_LVR_MAXLVT_MASK)
 #define			APIC_LVR_DIRECTED_EOI	(1 << 24)
 #define			GET_APIC_VERSION(x)	((x)&0xFF)
 #define			GET_APIC_MAXLVT(x)	(((x)>>16)&0xFF)



From xen-devel-bounces@lists.xenproject.org Thu Oct 16 07:59:13 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Oct 2025 07:59:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144311.1477753 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9ItD-0000VJ-B2; Thu, 16 Oct 2025 07:59:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144311.1477753; Thu, 16 Oct 2025 07:59:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9ItD-0000VC-7S; Thu, 16 Oct 2025 07:59:11 +0000
Received: by outflank-mailman (input) for mailman id 1144311;
 Thu, 16 Oct 2025 07:59:09 +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 <SRS0=CbFY=4Z=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v9ItB-0007pw-Ma
 for xen-devel@lists.xenproject.org; Thu, 16 Oct 2025 07:59:09 +0000
Received: from mail-wm1-x334.google.com (mail-wm1-x334.google.com
 [2a00:1450:4864:20::334])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fe7bd6d2-aa65-11f0-9d15-b5c5bf9af7f9;
 Thu, 16 Oct 2025 09:59:08 +0200 (CEST)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-47114a40161so1689375e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 16 Oct 2025 00:59:08 -0700 (PDT)
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-4711442d9e8sm10793715e9.7.2025.10.16.00.59.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 16 Oct 2025 00:59:07 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fe7bd6d2-aa65-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760601548; x=1761206348; 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=mDniou9WYZld/SO0uxKyVzlKGg8gcbQ1JbEW9khtE74=;
        b=W1xaO/clhiI+Wd3YSoVzR8GViJVe+QK0F2P9YE21bblm0j5wlX/Wt5i9mtO/yHEZWX
         rmmsdCX4VGsesUB33OCzitlJrlo8lSwhikfAYCmDF0EVIxlk7fx7Yqg85NM+eTBdPXj0
         80DbpQx0YD3aD/LZ+a81+wqCihf+QWMtmylSv5TCXznjLvowF+1Ng3Ky+duNc7PhjYJ7
         2ajWhipyznZS0QnzrnXpwo/jkF4v6SmjdcLpjargbsyx/d2m2UlA4gRQxpM7WMBceGLB
         GtGpwr7FIX8270m3yw9JLmJy01gJ3DiFPagVQy3QSHAIkydssld9wel6t7qeAUOrJeAu
         azkw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760601548; x=1761206348;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=mDniou9WYZld/SO0uxKyVzlKGg8gcbQ1JbEW9khtE74=;
        b=Z4Wdb4PYe6xe38953xVTpLAHr8Xy4plNj9ouU6NREWN7yoe4fD9brkSQaN45A0qZKk
         CIomi+T9n560ON+WUgijEe2QEJqK9l7pxvfla1or1RYzmZvC8kvVsOgNz9dlPz+fd+LP
         w6KYkt5oQm89Ygc1Cv274za0fWJy3SW7g+n1gVPtSiJh8qx7FiqncGJO8AKrI1ayGQDe
         sOtSC9hX6AR3aF0WTFB6uDfoxf4J+K7j4jcq7F85WcVyYnAN/LCiPqHpWk/nJkQMInLf
         2VpVUHJgDvpcKW0WX7+KOc1bsbfQYglbnlKDMX6jhqj1riCnuvQOQxm9kgeztOViPryH
         ASag==
X-Gm-Message-State: AOJu0Yzn3Z6n1uqvgI6uQRqhQjN8ocxfvVYn+C7vmygyaUCRtIb13lZJ
	I5ICrOicznp/rPUD7PcNz5JQ2+A7z/rFKL1LACv/7PJuDKl3oYfwXcuiwq3d3vM2p7iQUlINx8h
	oGiU=
X-Gm-Gg: ASbGncujSgfXqY+5ouAt5Fx90XgMuwj9MrWI/KDfYq1AsWcHktfdMwLUU8k9ktfOf4s
	LgSZLVsGVjLfRGD0VuLfJm6kXSMTJSFX1GYyflTfMeQfrJSsWv11pELOoTZRzEjPf6vmzgWQl11
	+ipAE+6wp/O+UtA2HngVBXAsL/CCcOL9eAeG6Hl1KA0VSP/UAvphd3IalULGvcdBYu7AkH9geiO
	vKZ6nrZHld7RHabGrsJvCX7wk1k7DIX909Tc37tKfLRC67FAY9JFleVdwizs1TGrAYAmWOplGep
	BzX9VtIr3dr+SdyvKr5fd9OErhgx+j0niS6UUz2tOruHY4PzqAIBOhpnic2Lwf4lUO7ZADnQonK
	VDs7GRClKVzKkL05ijdv81Vo/k/FpLnVB0BEv0kxtJhtQNQh2UC110sRa/OGQoKabkFCQkXVnM1
	w0Kjm71LIYuatThBFMVNIUiZ+ki9EGNmPGV5wcambgj06ZTs4fsvWPFwSU5xXE
X-Google-Smtp-Source: AGHT+IGY7JyWdhKpgajqR9Tbd8baVb8qFGtetsoqLljI1e5CZifGPT8r4QF8+bS7K8lmPVKC4Ks1NQ==
X-Received: by 2002:a05:600d:41c4:b0:471:7a:7905 with SMTP id 5b1f17b1804b1-471007a7a8bmr46415245e9.34.1760601548125;
        Thu, 16 Oct 2025 00:59:08 -0700 (PDT)
Message-ID: <22e7ed27-0bd3-4735-aa2f-f3b31b5a03e4@suse.com>
Date: Thu, 16 Oct 2025 09:59:06 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v2 3/3] x86/vLAPIC: properly support the CMCI LVT
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Andrew Cooper <amc96@srcf.net>,
 Grygorii Strashko <grygorii_strashko@epam.com>
References: <37ba42d2-c89a-4c19-a1d8-b4a9c32f677a@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: <37ba42d2-c89a-4c19-a1d8-b4a9c32f677a@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Rather than unconditionally accepting reads and writes while discarding
the value written, make accesses properly conditional upon CMCI being
exposed via MCG_CAP, and arrange to actually retain the value written.
Also reflect the extra LVT in LVR.

Note that this doesn't change the status quo of us never delivering any
interrupt through this LVT.

Fixes: 70173dbb9948 ("x86/HVM: fix miscellaneous aspects of x2APIC emulation")
Fixes: 8d0a20587e4e ("x86/hvm: further restrict access to x2apic MSRs")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
The Fixes: tags are referencing where the explicit mentioning of APIC_CMCI
in what are now guest_{rd,wr}msr_x2apic() was introduced; the mis-handling
really pre-dates that, though.

In principle the later assignment to "nr" in vlapic_do_init() could now be
dropped again. I wasn't quite sure though whether that's a good idea.
---
v2: Introduce vlapic_has_cmci(). Re-base over change to earlier patch.

--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -31,10 +31,19 @@
 #include <public/hvm/ioreq.h>
 #include <public/hvm/params.h>
 
-#define LVT_BIAS(reg)                   (((reg) - APIC_LVTT) >> 4)
+#include <../cpu/mcheck/x86_mca.h> /* MCG_CMCI_P */
+
+#define LVT_BIAS(reg)                   (((reg) - APIC_CMCI) >> 4)
 
 #define LVTS \
-    LVT(LVTT), LVT(LVTTHMR), LVT(LVTPC), LVT(LVT0), LVT(LVT1), LVT(LVTERR),
+    LVT(LVTT), LVT(LVTTHMR), LVT(LVTPC), LVT(LVT0), LVT(LVT1), LVT(LVTERR), \
+    LVT(CMCI),
+
+enum {
+#define LVT(which) VLAPIC_LVT_ ## which
+    LVTS
+#undef LVT
+};
 
 static const unsigned int lvt_reg[] = {
 #define LVT(which) APIC_ ## which
@@ -57,6 +66,7 @@ static const unsigned int lvt_valid[] =
 #define LVT0_VALID    LINT_MASK
 #define LVT1_VALID    LINT_MASK
 #define LVTERR_VALID  LVT_MASK
+#define CMCI_VALID    (LVT_MASK | APIC_DM_MASK)
 #define LVT(which)    [LVT_BIAS(APIC_ ## which)] = which ## _VALID
     LVTS
 #undef LVT
@@ -78,6 +88,11 @@ static const unsigned int lvt_valid[] =
 
 static void vlapic_do_init(struct vlapic *vlapic);
 
+static bool vlapic_has_cmci(const struct vlapic *vlapic)
+{
+    return GET_APIC_MAXLVT(vlapic_get_reg(vlapic, APIC_LVR)) >= VLAPIC_LVT_CMCI;
+}
+
 static int vlapic_find_highest_vector(const void *bitmap)
 {
     const uint32_t *word = bitmap;
@@ -697,8 +712,17 @@ int guest_rdmsr_x2apic(const struct vcpu
         return X86EMUL_EXCEPTION;
 
     offset = reg << 4;
-    if ( offset == APIC_ICR )
+    switch ( offset )
+    {
+    case APIC_ICR:
         high = (uint64_t)vlapic_read_aligned(vlapic, APIC_ICR2) << 32;
+        break;
+
+    case APIC_CMCI:
+        if ( !vlapic_has_cmci(vlapic) )
+            return X86EMUL_EXCEPTION;
+        break;
+    }
 
     *val = high | vlapic_read_aligned(vlapic, offset);
 
@@ -868,6 +892,10 @@ void vlapic_reg_write(struct vcpu *v, un
         vlapic_set_reg(vlapic, APIC_ICR2, val & 0xff000000U);
         break;
 
+    case APIC_CMCI:         /* LVT CMCI */
+        if ( !vlapic_has_cmci(vlapic) )
+            break;
+        fallthrough;
     case APIC_LVTT:         /* LVT Timer Reg */
         if ( vlapic_lvtt_tdt(vlapic) !=
              ((val & APIC_TIMER_MODE_MASK) == APIC_TIMER_MODE_TSC_DEADLINE) )
@@ -1024,9 +1052,12 @@ int guest_wrmsr_x2apic(struct vcpu *v, u
             return X86EMUL_EXCEPTION;
         break;
 
+    case APIC_CMCI:
+        if ( !vlapic_has_cmci(vlapic) )
+            return X86EMUL_EXCEPTION;
+        fallthrough;
     case APIC_LVTTHMR:
     case APIC_LVTPC:
-    case APIC_CMCI:
         if ( val & ~(LVT_MASK | APIC_DM_MASK) )
             return X86EMUL_EXCEPTION;
         break;
@@ -1438,9 +1469,11 @@ static void vlapic_do_init(struct vlapic
     if ( !has_vlapic(vlapic_vcpu(vlapic)->domain) )
         return;
 
+    nr = ARRAY_SIZE(lvt_reg) -
+         !(vlapic_vcpu(vlapic)->arch.vmce.mcg_cap & MCG_CMCI_P);
     vlapic_set_reg(vlapic, APIC_LVR,
                    MASK_INSR(0x14, APIC_LVR_VERSION_MASK) |
-                   MASK_INSR(ARRAY_SIZE(lvt_reg) - 1, APIC_LVR_MAXLVT_MASK));
+                   MASK_INSR(nr - 1, APIC_LVR_MAXLVT_MASK));
 
     for ( i = 0; i < 8; i++ )
     {



From xen-devel-bounces@lists.xenproject.org Thu Oct 16 10:00:17 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Oct 2025 10:00:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144374.1477765 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9Km7-00074F-J3; Thu, 16 Oct 2025 09:59:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144374.1477765; Thu, 16 Oct 2025 09:59:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9Km7-000748-GU; Thu, 16 Oct 2025 09:59:59 +0000
Received: by outflank-mailman (input) for mailman id 1144374;
 Thu, 16 Oct 2025 09:59:59 +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 <SRS0=CbFY=4Z=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v9Km7-000742-1M
 for xen-devel@lists.xenproject.org; Thu, 16 Oct 2025 09:59:59 +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 deb1afdd-aa76-11f0-980a-7dc792cee155;
 Thu, 16 Oct 2025 11:59:56 +0200 (CEST)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-46b303f7469so4032335e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 16 Oct 2025 02:59:56 -0700 (PDT)
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-426ce5cf790sm32570188f8f.28.2025.10.16.02.59.55
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 16 Oct 2025 02:59:55 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: deb1afdd-aa76-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760608796; x=1761213596; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=ORvEUAShHvktIKGoQU1cRcKFMAoCmyD8CVqYes4L9PU=;
        b=IPjBfboTz2wYRzIogLZNDpGsC0HnQTaCE2n7RvoeCiCNsH1AR540o1QasXD3c/DS58
         weWiJc9kxRCl29cCOCgI8mqSoMg5ipABU5foLrPq6SAiV9q/tNNEWlDzTo02IamZ8qzM
         6k0Xxr+p6kiZYBHSS436bdMWLcfLIi9FOXgQHRzSK2resINDJJkkolcJxzRpUUKbcaLJ
         dG5wuN3TZ3PKdIeGzi5X2G4GKn1mBwi9KSXGIJbuEpND9wZnii39Tcppv2S68OOM4har
         krXFPd+h3IDQJlQzo99JnIc0DnoozLhV9SFO3nSYx1laNNNUJz0WjUYaean4OON4LqVl
         cMXw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760608796; x=1761213596;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ORvEUAShHvktIKGoQU1cRcKFMAoCmyD8CVqYes4L9PU=;
        b=tqDadFqJDknTadFDSkxYfH5KkDPqZKxsHW8JJwdX7nVV4nWigkwSPsacTTgfbF1qiu
         pGPsedI2QV7aAt+2a3SLgMhmtY5LTz158iNNL7o2/qJV6er9VQcScOm4QzuZbbD+vzBy
         OsmG+9WKMdAmU980SEIBZVY3kKHXMX15Vlxi4L2B4bDnkTMonk5tpf8CJadGyV1DI0SU
         YPBz9sCLs0+0R2ztD/0YbuushrypmTselR1pgS/pVpup/Z9KgfMgEW/3/7JA2xyJxTRc
         r9vBvBm+bb87X0q83gWCwbljeY99wj9wvMWAd5Y3hHJfujMi7RTL8IlPzXnCYnUjqvkO
         M8aQ==
X-Forwarded-Encrypted: i=1; AJvYcCVQ6gb25NbKPbh3Z1a+gHch/dsLrkXw2M7a+mGxgTS5ARStBK0kCEqygXHYem+FxXDlawXJyWZ6fr8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YytxWzzM1ATIdd6LzcCqMugEmqYZrSSFvxYl4IpEIH+hOcR2axV
	we1RnLlFTtMrpu883Mp0tCY8B531QAhchPmL86XjiIrwqU4gis3h/tnywnGT6NMrvA==
X-Gm-Gg: ASbGnctbBAUGiqVU3dY40u+CPIaPU5lXqFOrYGbICFZCT3u/dk7Cy8KgDPuEpZ+z3A5
	svmzie4QP8yJsNGk2xiRzjf2g2B8R9lFgn24ygxcVHSwbd5MhFwSLtVU4jlbljuz886dY8An8Yq
	UktmFLPwPTzMkh3vz4Bgbaq1H8FyXFvOuqkDxPO8iKTdiQMO+cYl+MeaffB6kJxw/VZaRBcmB6y
	32K8ek2exfQCD02iQvigm97Z1a3yuHcga3LKkqpBTU6desBOAXixLwTdui7XYT9wAjTzoPXgFQD
	jks4AewZAH0VvybsQJs0rHx+jqR29lkIOSPo1j6kkzH7kbE0FmesZWYJgmf4PGSQfIJ/B25gjIW
	spIoMpb0gpwKflbA7p/ktTlY6Em0CmqL7zBI/FgL5ZpvAT2Odf4+hKvR9R/ZSgEOFO+SgmpoA6p
	eomqOczhqmLhMxU13v/AOONnNGpjyA1iIQtWue1BfNsCr2dduYVTur5k06ex4s
X-Google-Smtp-Source: AGHT+IH1rQFn7aduoioyjPCf7lN5IWFEbvyf/5mkHqkpLh7V4mNLd6vmLjVsabXvaPCbIFYLwzP9QA==
X-Received: by 2002:a05:600c:3488:b0:471:145b:dd0d with SMTP id 5b1f17b1804b1-471145bdfcbmr7117645e9.24.1760608796328;
        Thu, 16 Oct 2025 02:59:56 -0700 (PDT)
Message-ID: <ac700bad-8a31-48a5-b0eb-e0c37f5b77c5@suse.com>
Date: Thu, 16 Oct 2025 11:59:54 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2 6/8] tools/libxenstat: Use json-c when available
To: Anthony PERARD <anthony@xenproject.org>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Jason Andryuk <jason.andryuk@amd.com>, Juergen Gross <jgross@suse.com>,
 xen-devel@lists.xenproject.org, Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <20250929120756.46075-1-anthony@xenproject.org>
 <20250929120756.46075-7-anthony@xenproject.org>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20250929120756.46075-7-anthony@xenproject.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 29.09.2025 14:07, Anthony PERARD wrote:
> @@ -88,13 +95,56 @@ static char *qmp_get_block_image(xenstat_node *node, char *qmp_devname, int qfd)
>  	};
>  	const char *ptr[] = {0, 0};
>  	unsigned char *qmp_stats;
> -	yajl_val info, ret_obj, dev_obj, n;
>  	int i;
>  
>  	if ((qmp_stats = qmp_query(qfd, query_block_cmd)) == NULL)
>  		return NULL;
>  
> +#ifdef HAVE_LIBJSONC
> +	json_object *jso;
> +	enum json_tokener_error error;
> +	jso = json_tokener_parse_verbose((const char *)qmp_stats, &error);
> +	free(qmp_stats);
> +	if (jso == NULL)
> +		return NULL;
> +
> +	ptr[0] = qblock[QMP_BLOCK_RETURN]; /* "return" */
> +	json_object *ret_jso = json_object_object_get(jso, ptr[0]);
> +	if (ret_jso == NULL)
> +		goto done;
> +
> +	for (i=0; i<json_object_array_length(ret_jso); i++) {
> +		json_object *n = json_object_array_get_idx(ret_jso, i);
> +
> +		ptr[0] = qblock[QMP_BLOCK_DEVICE]; /* "device" */
> +		json_object *dev_jso = json_object_object_get(n, ptr[0]);

This causes the build to fail for me when building with version 0.12.1 of the
library. The function is marked deprecated there, suggesting to use
json_object_object_get_ex() instead. The deprecation was undone in May 2016,
so we may need to cope with the deprecation (or avoid using the library in
that case).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 16 10:05:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Oct 2025 10:05:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144385.1477776 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9KrP-0000IX-5n; Thu, 16 Oct 2025 10:05:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144385.1477776; Thu, 16 Oct 2025 10:05:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9KrP-0000IQ-2l; Thu, 16 Oct 2025 10:05:27 +0000
Received: by outflank-mailman (input) for mailman id 1144385;
 Thu, 16 Oct 2025 10:05:26 +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
 <SRS0=NIav=4Z=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v9KrO-0000I6-0h
 for xen-devel@lists.xenproject.org; Thu, 16 Oct 2025 10:05:26 +0000
Received: from SJ2PR03CU001.outbound.protection.outlook.com
 (mail-westusazlp170120002.outbound.protection.outlook.com
 [2a01:111:f403:c001::2])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a0b5d31b-aa77-11f0-980a-7dc792cee155;
 Thu, 16 Oct 2025 12:05:23 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by DM6PR03MB5161.namprd03.prod.outlook.com (2603:10b6:5:240::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.12; Thu, 16 Oct
 2025 10:05:20 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9228.012; Thu, 16 Oct 2025
 10:05:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a0b5d31b-aa77-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=BGopSH8/JnEGuqj6xKQsxKb/9HlxEOUh6HF6DBXgYh97jn6nesmKO77GfMgX+ULCCHb/pya99f124ON2cYchL7iq1v3aYw95Ozw3XPiQEkbkAkG2FOdNVy+8QveqX3nk+Z0ZOuZe2OGuLZclksI0PfOsXD50LAuE1wAgmxuc9bxZX0dBRcRiKJY/XFqthPfZlhR4ujB546LJAoyt/RWWaD5Ur4yHIZyQmRSltmhv25fJbpNobaib7/zIQd92ksGYjnOYCQ37wiNNaYhwLBE0K5DpxefQpXKbQIwVB6ArdJMFl3CW5itWuCzDry55INLQOgLMicFrOQmthFgyT8aBEg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=R+i24iGZ9RERTlxyYIlSl1yFli7Tg6Dt/zc+h9CLCy4=;
 b=RT9g0UBGUKU+F/N07WrlQVR7s9Ly8vHWXNX1KQPx88OlUZjTJbDzcOsPcurWubLE9x4gjZlgelYGOoBBTAdU1Ipnv3roSm00+N0EOE1kbiZmETQNFwmRuYo7bhhIMN31abAEElICUn2LndDV9hApROP2HF94LmKWyluk9itq7LCLJXFwx5P/7fgfUnkUZznMZGLlIWgsWy6qfJLf7S2yolIJ7iDB3lJRCx0zsH7WdSWV2Ah2jf53ZP2XAJMluuBVN/R2BzJyntWvk1RZAIiJ2tdcQl8rlGXuQPzuBLmH2ZOod0LLv+uwUDq+xQJ9PqFGTHOqqJXSBIkJW2SQkige1g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=R+i24iGZ9RERTlxyYIlSl1yFli7Tg6Dt/zc+h9CLCy4=;
 b=ORkqSgK+28NDKTr9N7PZTm6yT280PKMAbCNYBI2KO+aVobirfiYBf0lwmTrd2nxKOdBbRzYAlV3gc93Zbo9bm9fThbwVmz9/4mX4yt9iCwyD2TLbTE/wHR+Xp/ND1pj5crNWwPdk6IWmheY/O88nQsuQLyCR9LLNWUHb+kOjgkE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 16 Oct 2025 12:05:15 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.21 00/10] x86/HPET: broadcast IRQ and other
 improvements
Message-ID: <aPDDW9N6plRHw2Rb@Mac.lan>
References: <8d94abf8-70d1-478c-885e-ff9a960ac72d@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <8d94abf8-70d1-478c-885e-ff9a960ac72d@suse.com>
X-ClientProxiedBy: PR1P264CA0086.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:102:345::12) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|DM6PR03MB5161:EE_
X-MS-Office365-Filtering-Correlation-Id: 39dbd9ef-2326-45e1-3a1f-08de0c9b833a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?N2VJUER4ZkRZK0IxM2lrR0o4akRxS0pUazhpc2ltN1pGc05iTFZ3MkxNMnNH?=
 =?utf-8?B?eS9LZnJnOFA3VVpFSlpqUjhWUG5mcFk0R1dnU29LWmJKN2E3b3hVcHdlQms1?=
 =?utf-8?B?M0VuYnkrTVBKZTdyN3ZCTE9GREVaY0djcWRnWGdpaXVmMWhxUGt5VWh3WHBO?=
 =?utf-8?B?L2JiVkM2OVFJQW55cmNIODhRKzlPWmlVMzhMNUw0dlY2ajF4L1Azc2FGM3FM?=
 =?utf-8?B?b2xMaDhtUVhEdkxVeldKMmk4MTJvQ1hzQUNpUENNdUlCNVpKNUY0aUR1c25G?=
 =?utf-8?B?ZDJVNXN1UWM1RFV0cWExcnhWemN6UXdQb0RNQWJnN1BTSUpGK1kvMHVhTllI?=
 =?utf-8?B?UldmMVo0U1hUVituQUsxdEwrNWM4NUF1ZVMrZXEzSVd4UnZOT2ZVZ0ZraXdO?=
 =?utf-8?B?MTZxb0taMDdqUnN4Nm5kL2FvQ1lmN0xOUktnNUsxVngxUUFvVWZBQXFZaDA0?=
 =?utf-8?B?cE1BcDNhYXBGaGVhN3dkdGxJUENUdFdlSXh5VHBKZlhFbVBROUtqVk1ua05v?=
 =?utf-8?B?dHdUemhtUERZTStMQjk5NVE2OXF4S3JlL1ltc0dqYzc3ME1XK21CWi84TW5n?=
 =?utf-8?B?c1FRUXZFWDNRd0YzMGtCTXZPZDVDRnVyRElKaUV4SDhhdjU3UytKakZGR1pU?=
 =?utf-8?B?Nng3aUcyZmlQRHQySGdOdGNCODdYSlJpemZhNHVxOTVUL082ZkRqb3ozTGhV?=
 =?utf-8?B?YkQ2bWgzRTQ1RDNndzkra0RhVEtsOTV1ejh2L1gvVjFVZkI0Z3lrakMvMjds?=
 =?utf-8?B?dWxNb1dKWi82MGZpUDI4VERkVFhDQlVRZHV5SmJWMU9PRTBDc2JmZW1nWk5N?=
 =?utf-8?B?R2ZjSUJzbEpRSWdhZW83cXRRV2ZBSHFhVlRhaERvU1ZSRjdSK05xRjMxZ1JS?=
 =?utf-8?B?N1U4cEUvcGNtNHZLTzNiVkVmOXpnanU2dVBhWFROM1VocXpkY1Zjanh1R2tB?=
 =?utf-8?B?RUFSSE5GdE9wc0tUNHl3d0piV2hZaDRSY2RydlBPbnhYTlYwaGRKT2F2bVVT?=
 =?utf-8?B?cmg3MzNVblpVaU9tZnJ6S0NNOFRNREE2YU9Fb0Q4TG1PRU1OY2JtaWFmKzFC?=
 =?utf-8?B?Mm1xSDlKL3VZTTB0OVNBTDRPdmMySy9wWFNoY0IwY0JpeVlNSXZRYTFKUWkw?=
 =?utf-8?B?ckRUOHJlTmpiWGJmNHRrRU1TcWpiRDJKdkhNT0sybDBUMzdvQmJMUUY4UVE3?=
 =?utf-8?B?cWt6Nms0cnErcnZ1c0JhTDEvYm1HL05qR1RVSHc1enVhUFhicDJhc1BZNWRL?=
 =?utf-8?B?d1p5MzEvK0IzZjhqN3BYWTBobnorcHJITWszL2pLdndBSlBYTEdaSE5KU0o4?=
 =?utf-8?B?RDNORXBWbkJHRUJ4UGR2MUFSaThrSVBBbTZzcXBKVGh2Y2M1SjNqNXlSRXJO?=
 =?utf-8?B?YVYwbk5GZzZybm5zRmo5YWNJUGJ4djlGVDBaKzFudldObEtHSTBTSFI2YVpE?=
 =?utf-8?B?NldjZHNzKzdIZFQ5MmQ2VVhUZXlZdVk3NkpnbFhENS9INFJVZXAvWHhDL2Jr?=
 =?utf-8?B?eW9DMXZFU2xhNlUvdlhETVZBdS9RcGlxdldhbGxHazRXb2RrdklxR2J0Y3FE?=
 =?utf-8?B?ZFhvY05GcE1JZVV6MXgzK3RCWE1lbjM3c0pBTUxWNUJJTmhHSDJGNnVXbUFN?=
 =?utf-8?B?RVEzemk3d09ZOHNXdlVpWjhrU2JTS3R1UHE2YjdNQmlpMllNZTB2WHNURmJr?=
 =?utf-8?B?QTJ1Mm0yeUN6T3lQWmpocGVaT2tpM2ZXOVFXUjlGbE1NUXlaY2Z5eTdZeCtJ?=
 =?utf-8?B?RDJOWXZ3b2VRbkJYTk1ud0RDaWQwRnFvQkJ4ZUp6QzE4NG9hWXUyK0F2cEFT?=
 =?utf-8?B?VGtSMTUzdTlQWkE0VE1hNFVlbTNTaldYV2lMa0E1bVBpbTkvRkpxMW11RW00?=
 =?utf-8?B?Y24zYmNIQzNINEpTM3hzR0lVQTNFbEhydjVqRmVreDlZbzRwMElsZXZHa2F5?=
 =?utf-8?Q?RQL0hz6zbhzWzSFBp3stFzKqVzrsMCgT?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Y2V5dC9selhsLzEzT2FSNExnTUhjRUNzMzhEZFk2NEtUTndxdmoxQ0NVcjEv?=
 =?utf-8?B?bzdiNmRTVHJCNW16UWZOcEVxTHp1NFloZmlNc2lqTmhHcDI0dzZ4SXFGc3d2?=
 =?utf-8?B?VmZSekhRUWJKZUloRk9Xc08zWDVxeTN2YWZMcG9lWWZvc3RmTlRFTHB0SVQw?=
 =?utf-8?B?T2E5UVhlcXpPbGsvSWlUdFRwaG0yRW9JZ0JRQkk5NmVuek93U0hCT0IyTzFi?=
 =?utf-8?B?WW9oeUpoc29wdUlXZ1g4d3M1dEJEUmlYYU9va3gxUVV5R0l2WWRhbVFZUnJp?=
 =?utf-8?B?L0N4T1ZkKytCb2dRT1lja0FNZWNINEJmUXpBdndyek1CZFJSa2kydjZKL2gy?=
 =?utf-8?B?MmM3V25LSjl2bG1ZbGJlNmpNU0prbldDVTUrQXNTUXduNWFFZm5nY091RjIz?=
 =?utf-8?B?N3FJUUpGNVVlSXJ0TGJTV0RLSjZpVXo2MnZ4S3VTT01IbWhWcTM1eFVtNTdt?=
 =?utf-8?B?SlZ4Sk9nVWtPa000di9XTTJaMDVyNSs1czNhSWdEakgzYlJxQW9vUUNsdGNj?=
 =?utf-8?B?Q3NoUXlLUnpraXBiUFNCWnBsUFJRS2dabE54bEcxOWJ3ay9DL0xLV0RLZlQ0?=
 =?utf-8?B?bEJTajhackhNN254VERtM2dYVC9EazJJbWJEYmI4UUVDRDFaN090RDFhMURN?=
 =?utf-8?B?Qk9nYkxyd2lWK3lpL29ZMEhxeG0xSGJzdzQwQkNOZ1RiRU1iSzF4NDR5cXhN?=
 =?utf-8?B?MW8xUzhkbXFCV1BlYVdVK09iSFBUZExVSUdPRW5kTmpuK3RNeG9BNHk2RXlk?=
 =?utf-8?B?eUFmMEozc3pRcDZJb0daV0Fyd3FFVnVFaGk1V0ZnMStKWjdVandQSGFjVENk?=
 =?utf-8?B?bXR3N3BDeEhoRlpZZnFMSThwRmd6SHloeDF4b2NwTVh4RHg2R3lKOEZYYzZ4?=
 =?utf-8?B?VnZ5UTg0RElUK24xSldmanFGbzc0N0tEcHVJYi9NR1huNktZMmVrZVg5bXJa?=
 =?utf-8?B?VlVmWFFDUjAwR3Z5YnlRZ3pLc0ZIZ21KLzZKcFUxUnZOaU51TGpWUkltTmJX?=
 =?utf-8?B?ZHExL2FremVhME5iVnV5dHE4MDZIM2x2Y3dBeFJnYXkrM0EydEtpa0FFbHlU?=
 =?utf-8?B?dW5VLzJkNURsNHIxeGFUb2tqNURRQ3hsZ3pqc29TS21xcUFuUFVQOGw3WUdp?=
 =?utf-8?B?WFVsTWFsZXNlanBZTVJRV3hJNnhxWGluTGVtTGxMcW1VaDhtK0x4UUJUSlNS?=
 =?utf-8?B?MGtRbDhLSTlFei82RWY5bklHUUQyakpPQnRWNHFGUzBad3lJeFk5SDdNMDd2?=
 =?utf-8?B?UE5IbUYzMGJUMlpmUkZuK1JuY1RwK1FraEVOb0xrQ0pzd3VNbStmV3Y0SzZW?=
 =?utf-8?B?NHZ5eUQ3RnI2cFV4L3NkajZjUTJhaHpZVTdDUXg4Y1VEelB0TXFTZnNoSHAr?=
 =?utf-8?B?VkVMdWtCbkxVaXpjYmp0QnVtNXpwdnVra1lSeTV1MlBWTUZjSm1oa0xwaXR1?=
 =?utf-8?B?NkVJNzdNblNqZ2Q5aFFqMFFVaGF1K1Nxb0NsY0EvVkpUSzFuM3pCS2F3Ymta?=
 =?utf-8?B?QUtIdXlSUWRFOWRIUGI1VWdOeHIvNzExTXNLOWZBVVBId3BldmtFb1h6bGlX?=
 =?utf-8?B?SmVVOEkxT25LQW14YUR0R1RoVlZBVC9yV3phaG5mN2I3c1B4VFJVMGJRVXVN?=
 =?utf-8?B?V2VpVWVqaTNQUlZ1TGpxZWs2QjJlNXZnMzhHSk5kVHR1STQ4d0tTV2lENU5V?=
 =?utf-8?B?T2wvL3FRN0p1RUEvaUNETERZUDY5M0prNjFFSjBHT3Z0dmgzNW5SL280V0Er?=
 =?utf-8?B?VGVuMEdqWEJ1Qm9NSXFMNUQ4RW95OGx6cUtjZHE3WW5ZRi9tTmcwZmRmUUoz?=
 =?utf-8?B?SGw2Q00zVUI5VkwrZ0Y3WkJBYXF0ZGV6enFVTW94UkEvMTBNL1IwVVR5UFBM?=
 =?utf-8?B?RVVoZkZoamN4cndJNGxvNnBCSlRtaEdqUk10ZTFhQThoa1YxREo1S0ZLUnVz?=
 =?utf-8?B?d09ZOVRONUpkMTQxRjM1WVpnNFZIVGhscTgzelQ0QXdmamtOdjdHOTJFb3dJ?=
 =?utf-8?B?b0p2RGxKOWp1NUdtWUsxYVFWS1lYTnp3N1FvN05aVEpkTFZxb2tXSFNhWW04?=
 =?utf-8?B?T0hlcjB5c0lXTStSbWRMQjNQa2lObmFMVHFFaEU1S2Z4d2pBTDNXMi81L2F5?=
 =?utf-8?Q?pZOmh4hUCAuCrVc/1vnUan47u?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 39dbd9ef-2326-45e1-3a1f-08de0c9b833a
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Oct 2025 10:05:20.2536
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 6Fva+86pbU6PBw39hXu8yDQdjwS3MAKGF5MyChfKB854usCWjGSej4EbCGI5wh4M72n7jvDkaPXMREhGhFFFmA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB5161

On Thu, Oct 16, 2025 at 09:30:28AM +0200, Jan Beulich wrote:
> While 1db7829e5657 ("x86/hpet: do local APIC EOI after interrupt processing")
> helped quite a bit, nested interrupts could still occur. First and foremost
> as a result from IRQ migration (where we don't have any control over the
> vectors chosen). Hence besides reducing the number of IRQs that can be raised
> (first two patches) and possibly the number of invocations of
> handle_hpet_broadcast() from the IRQ handler (optional patch 4), the main
> goal here is to eliminate the potential for nested IRQs (patch 3). These
> patches are imo 4.21 candidates (with patch 4 being questionable altogether;
> see there). Patches 5 and onwards likely aren't important enough anymore at
> this point of the release cycle, even if those with a Fixes: tag would likely
> end up being backported later on.
> 
> The one related thing I haven't been able to find a viable solution for is
> the elimination of the cpumask_t local variable in handle_hpet_broadcast().
> That'll get in the way of possible future increases of the NR_CPUS upper
> bound: Much like right now a single level of nesting is already too much,
> if the limit was doubled even a single IRQ would end up consuming too much
> stack space (together with cpumask_raise_softirq() also having such a
> variable). Yet further doubling would not allow any such stack variables
> anymore.

If there's no nesting anymore, you could introduce a per-CPU cpumask_t
to use in the context of handle_hpet_broadcast()?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Oct 16 10:24:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Oct 2025 10:24:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144405.1477802 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9L9e-0003QW-SW; Thu, 16 Oct 2025 10:24:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144405.1477802; Thu, 16 Oct 2025 10:24:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9L9e-0003QP-PV; Thu, 16 Oct 2025 10:24:18 +0000
Received: by outflank-mailman (input) for mailman id 1144405;
 Thu, 16 Oct 2025 10:24:17 +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 <SRS0=CbFY=4Z=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v9L9d-0003QJ-3D
 for xen-devel@lists.xenproject.org; Thu, 16 Oct 2025 10:24:17 +0000
Received: from mail-wr1-x432.google.com (mail-wr1-x432.google.com
 [2a00:1450:4864:20::432])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 44532c3d-aa7a-11f0-9d15-b5c5bf9af7f9;
 Thu, 16 Oct 2025 12:24:15 +0200 (CEST)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-3ece0e4c5faso578832f8f.1
 for <xen-devel@lists.xenproject.org>; Thu, 16 Oct 2025 03:24:15 -0700 (PDT)
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-426ce5e8141sm33354628f8f.48.2025.10.16.03.24.13
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 16 Oct 2025 03:24:13 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 44532c3d-aa7a-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760610255; x=1761215055; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=PkczD42sw5ccZ5Uf35de0yITdXO5NIlXXmDbwWbWZX4=;
        b=WW8RlvPRTdOzBmmPYeznTw8DbZYahYgIO3Nr/HxMmsUr3CDezU4vF82036INrj2BML
         vMTC7iVHE0LWrhnsXdq8iazPDOjY3y7rHmmsspS5Eirqo5ZavuZFlSahcFiyhAQQ8Csh
         4rQWOcmDX7IlfQDo5NSly7ga1gxvwcnycj3PBkbgA6eSLyff+GIszLgsjvRt3AFezMgs
         lVTK7xMSlP+CtuwXoBo2mBZaaZDVV20//z2ZvHob41PTtjqheMxaT90AKZlHP1TCjgmf
         M9lERc7HgvreYe2VhnS1jIvgl50fY1MC57tJONziDRY3xLNN4PuRMIDqWxhddCPyAm5s
         DZdg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760610255; x=1761215055;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=PkczD42sw5ccZ5Uf35de0yITdXO5NIlXXmDbwWbWZX4=;
        b=Bek6iLj1xvAFBYeAgDr/40/o2yaMLn3Zn4m5/IVfBFKDk2l7tPSq533hDAtLZU8nOI
         wbL+yBT5Mk/9zspb0qte6O1UrPu27cDx90/iX3+6mni52i4l+iVM2CXIsoHc57rfVfU9
         eRfMnVkWQAEqgRLtjWWgSPWgn1aYpvCL2o29MGPYWPZ/0RUhyOIIUxpK4lTw68sot3Z1
         JsQbqiGvU73YGPoUzHArJiDkilqKxBBFhic+4ilfQ3c1gxKyFZrIGHeeYOAPqM6y6JlN
         l87y7Vf4qRHCHfNRRxWfgqWUb/8csKJBaVnBsW9Vy8FjlmRZKBqzNW6/Fq2xTBqivFBf
         v0QQ==
X-Forwarded-Encrypted: i=1; AJvYcCVv49+g64v8SpuUrCTvlrowtyobuTZMXt0KOvlDCE8AkYN770lQKJ2f3woYBF/F2/LFzSQR5xDFjfY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxneY3L5BRP0ewPAzbFq4TtV+diP5uHc5yf4kSRXjEG6ECVKCZy
	SVofD1sxm4IlBMIHZhgZOMWcrFSGeY3LYGRsCGy9LceEsfvbr0OP0vjv4FM3yK2/Bg==
X-Gm-Gg: ASbGncvAOJ7DdUJW5TXjUzlIB3fF3sq5nQNcYPpNQ9tkG9BX3ILebEzrBSFJ8QDtGOa
	gU4hXt0LVVDvAw2BiaRohch052gFaglOygKvDe2PDqywZ3EswPZHLLoQaKWkpnrUdQyYCedO4Rw
	Yo9dul7R49Hv6g1i0VHcQeQKNj5nLtR+1tepyVSJqxMO78WC8tQtKqSzjGWe0KIm/+ddpa8xbs3
	xRiiRE+xHc+w1YNemdwpmcEiJdPPNIsz7oLNNPOBBhh0+xmlT36866npfdMk99mui8fDkOXg3xI
	mA32YzeIlrfPpZt6vHAf4+cBnwU4VhLzGxVyvQwssBszIvThJSg4ItPk7Aa3YRD/O8xPJNspN0F
	f//iqrIiXOv8xYdngcc/GaIlGA+tLGSfpIK/lZslTmwkrcKTzfbWTxKId0MRF2j+ImhT+yv4YXK
	JNfi7bsQgTClT7ILVLVcGDqpDGx6h51Hq3fr0LxFwJ8vi7/3q7JAoQPqc95EXw
X-Google-Smtp-Source: AGHT+IHFCpwnYMCPo93ZGqNuIBF38l+Gq7/nfSm//2b7sY2eurG/R8Xqj7ODe8iWdyUx62ni8hk61Q==
X-Received: by 2002:adf:e18a:0:b0:426:d54e:81a4 with SMTP id ffacd0b85a97d-426d54e81b9mr14696935f8f.56.1760610255287;
        Thu, 16 Oct 2025 03:24:15 -0700 (PDT)
Message-ID: <00e7aac3-0012-4748-b680-f95009b63e93@suse.com>
Date: Thu, 16 Oct 2025 12:24:12 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2 4/8] libxl: libxl__object_to_json() to json-c
To: Anthony PERARD <anthony@xenproject.org>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Jason Andryuk <jason.andryuk@amd.com>, Juergen Gross <jgross@suse.com>,
 xen-devel@lists.xenproject.org
References: <20250929120756.46075-1-anthony@xenproject.org>
 <20250929120756.46075-5-anthony@xenproject.org>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20250929120756.46075-5-anthony@xenproject.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 29.09.2025 14:07, Anthony PERARD wrote:
> @@ -352,6 +376,86 @@ def get_default_expr(f, nparent, fexpr):
>  
>      return "%s" % fexpr
>  
> +# For json-c gen_json functions
> +def libxl_C_type_gen_jso(ty, v, indent = "    ", parent = None, scope_object = "jso"):
> +    s = ""
> +    if parent is None:
> +        s += "json_object *jso;\n"
> +        s += "int rc;\n"
> +        sub_scope_object = "jso_sub_1"
> +    else:
> +        sub_scope_object = "jso_sub_%d" % (1+int(scope_object.removeprefix("jso_sub_")))

removeprefix() was added only in 3.9. I'm now trying to figure out what to replace
its use with to be compatible with older versions.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 16 10:24:48 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Oct 2025 10:24:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144411.1477813 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9LA8-0003q8-5A; Thu, 16 Oct 2025 10:24:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144411.1477813; Thu, 16 Oct 2025 10:24:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9LA8-0003q1-0c; Thu, 16 Oct 2025 10:24:48 +0000
Received: by outflank-mailman (input) for mailman id 1144411;
 Thu, 16 Oct 2025 10:24:46 +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
 <SRS0=NIav=4Z=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v9LA5-0003pk-VB
 for xen-devel@lists.xenproject.org; Thu, 16 Oct 2025 10:24:45 +0000
Received: from CH1PR05CU001.outbound.protection.outlook.com
 (mail-northcentralusazlp170100001.outbound.protection.outlook.com
 [2a01:111:f403:c105::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 549afe8a-aa7a-11f0-980a-7dc792cee155;
 Thu, 16 Oct 2025 12:24:44 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by CH2PR03MB5240.namprd03.prod.outlook.com (2603:10b6:610:93::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.12; Thu, 16 Oct
 2025 10:24:39 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9228.012; Thu, 16 Oct 2025
 10:24:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 549afe8a-aa7a-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=skqNMhXsqQDTtsGsmzB66XuJzskowFH6DfzhnihMjdvdM5W73QT2MI9HIbKQHryL7qGBDjNu4IiJ9937mSvirnrkCK7Ub7Hwnes6xsmtY60BU0SnAiExLqykXE1XKXW/LAOHKzGvmqgnjxmeM50PPs48u81NvUfo8y0JScihyy3Gos2zGsmHtX0onwEoFG0co+2A4b3x+68qGIeK7JTfHk6fU5bScyWBLIctXnxNdGrGiRDbblaCKiBlclc7Bot8MzA48rzjZV1FCvUM9dS3ykxPq22vdJpx3/KcCaL6pFEk//R7enFYUmP7nAE7GzU6cVSZZYiWlr7iDHqDFgEWfg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=o5fHwBFjrWn83tH4JkAS2hRvpoUeBXwp6gWXDKzExCs=;
 b=V1V8cBvaRs8fXFcZWhqajZT+9on1+ICVcJZsEYoPxn9jOsn1hDEjpBe/NHARFVu8l9lVIvl3YXPmuVefrL6qyNSui4T0iKBZ3XnCUtRPeIz2uA6FhzTNlDqtiYv5ZaCRObjdxt5tdedFQfKVlGH8UzMw+SXEWGpoG//pmN5Rtp+eMC+W/jvbg6JncLjKcx9n3DMdSeZUIVMQHfTb69lrOHlYgUZGC4oKy3Jub4ej2JNPvNqRpxK7Ec5GpRvncL87BsfGMdrfJyH22BZdydJ+oTrgBRXhxkdAYmW92UECpyI2vvdebVIfFB5ekXQFzmyaag9ONzkpMgxhaDyLG2v0GA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=o5fHwBFjrWn83tH4JkAS2hRvpoUeBXwp6gWXDKzExCs=;
 b=L3KOh3cqV5vU5YEpmrx+ilrtcqpJuk6Eiw5lwEvq/U0jP4p+Oq1YY+iuvm++edJw6+aOf7DdVGhZvlrd6VBh6dY6brtdZoUWH5aSsLG8/4zERognNrcD8S7g1l1YTKty3gEsjIXz43AwU8X8P2gA2bwT9E3cfLTNWQ7Nrwv45AI=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 16 Oct 2025 12:24:35 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.21 01/10] x86/HPET: limit channel changes
Message-ID: <aPDH4-ZEfJ9LGc9J@Mac.lan>
References: <8d94abf8-70d1-478c-885e-ff9a960ac72d@suse.com>
 <494c897c-a138-4d16-93b2-67e3aa8d41e7@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <494c897c-a138-4d16-93b2-67e3aa8d41e7@suse.com>
X-ClientProxiedBy: PR1P264CA0065.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:102:2ca::19) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|CH2PR03MB5240:EE_
X-MS-Office365-Filtering-Correlation-Id: 314eb6d6-1bf3-4f6a-74c1-08de0c9e365a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?ZXZQMFVUTitnaWk5UERtU1JTOFNiTFJxU0h4eXFOSlA1R3RkV2hhSTRJL3pp?=
 =?utf-8?B?VWRUSkhZaFBCMXAxTFhiU3gzTW10WGlMVGdxejExQXBMTWNoYmtyVGh4WGtV?=
 =?utf-8?B?SmxVbngzWW1KTVFvcUc4Y1FWWTZ3cnc3Q1I1K3l3Yi8vcEk1ODl1bWtXNm14?=
 =?utf-8?B?STI0QUloYXg4RHkvS09ydWF2R2YreTNWOWZVdE5la090anZBand5QjhmSjQr?=
 =?utf-8?B?YytjeWp2cmFHRGZ3U1Y3dnVqTEtKVzRyck1xckNLRlhOVFVxK1FWQzE5U00y?=
 =?utf-8?B?a0g5OGd0QUJGWXRwN29JbGNqa1AySklwS2U3QWdPaUtKZmRTcldrQXludTJv?=
 =?utf-8?B?aVJkQWxMUlRjcEtIUXMzV0hXQmtuNmdDVEZBOTM2U2FGYXpsZjZaME52WStJ?=
 =?utf-8?B?SXZpMjBKUENlWjZkOUkweVhCN1gzRVNSbzNPMENLYXZVOWNlbFFoM3pmVnYw?=
 =?utf-8?B?aEtTN21WSmZUWG9tZ2dlWS9rbGJEZXpaNytKWGdaQ2IxUksxNElDclpYUGc1?=
 =?utf-8?B?NVFFbGlnNlhRR3F5dWxLbFB4NG5KT3RjN2hWcUdNNWVnMDR1UUJzN3lZQjVs?=
 =?utf-8?B?OFl2K2JYUEFTY0JVcVFQNElacXd4MXozSjMzZ3R1bXNUN09lSnQvT2NJdnQz?=
 =?utf-8?B?OE12NGEvTnl1N2pVSi83L1FwT1N5clVnR3QrU01qZUR1Z2QzbGlKYzZwNzRo?=
 =?utf-8?B?RUNTakJLK1RhZk9WdkllbEtkZnhWcjFvc1JSMG5OVnZGVWc0dE5wMUF0bm9V?=
 =?utf-8?B?REhpMmpoTkJhdXIrRzVTMTFLQ05KUDJicEhFUGNnN01kRkNkUURHVDhzRU9q?=
 =?utf-8?B?MkdpRHJSSnVRdkpQRkkvc0hGVzRQUXRDRm1UN2xmNXZibmpacjZDV0ZBdFhJ?=
 =?utf-8?B?MXVta3dRMGJ3cGtuS0NMTG44cS9QSy9ac2FWN3g0L3JZSjdXY2xmZngxQzhF?=
 =?utf-8?B?TzRvK0k2WTNhK0ZySlJMTGk4a1V6OGpuWW5EWGhzTGZtd0Iwd0hjNklrWlk2?=
 =?utf-8?B?OXpWQkgvM2lwS0RPNG9NTmtUV2syTUhxOUZkaTJoOUFWU2FOMmZNWXRna0Y5?=
 =?utf-8?B?VTV4S1dOSWMrNGFpNU51OVBQWGJZbVAweWQ1aGUxV24wVS9RaDJPcWI1dnc3?=
 =?utf-8?B?eitLR1RsYVpZdE5vZllsemh4cVVaT3hCVGdCdU1wN3F2MUhvbEZWeWNsUXR4?=
 =?utf-8?B?dmJCU1pFMktmak8yeVRkWldJL1BGZDdESXBlYzB3enRMQmdTckoyeGlUZzdW?=
 =?utf-8?B?T21NTW1pZmphckRINkg3R0lNTUxMRmJmS0pnS2owcWl1Wjh5ZFQ4eFlhRmRH?=
 =?utf-8?B?YXRDL3M5cEhNU012QkZKMmJHNitsWlltK3ZITXZtY3pQcGI4bFRmWGx4dWFq?=
 =?utf-8?B?d1NoNDVNUGppSUpmSDNqMnJxNmZqV1JvVU5XdVkwaFhXam9hZHpmNFFZYURp?=
 =?utf-8?B?aWpHeWRsdm9VSG0wUlVKRnc5bFd3VjJxbDVlUUc2RFVkbFoyNzRETFZSSmlr?=
 =?utf-8?B?dGVSVHFieTFBV0xxQlBrWVNZeHc4SXhMYUpuYXNJWWNpUzlwOTY2WURoN0wz?=
 =?utf-8?B?L1l6Ym52dnVvWDJXZllaVnZoTnIyU3orckhzbXBxSzJXcWpya1JHSU5pUnZP?=
 =?utf-8?B?UThtZnF4MXhqbFRyYTFaeDBMSGpEQUN2TXpGRVpCc1FrQUhabU9ZeTk1NVZj?=
 =?utf-8?B?WEJTbXVqUzZrT25lSzBIYXZvOUdGdXZTV2R4VEJDWkxiNkhIbTEwWVpseFhh?=
 =?utf-8?B?SzNxMGhtdUxzTFdpRFZITTFCZTJIRzdESFVxcHVpT0tDRjJyaUhhUUxhVXdW?=
 =?utf-8?B?KzBuc0RITUlXSUE3QWs3dDJkQjZCMFpaeS9IWUdwbHBBS2poZXlaam00Vkwr?=
 =?utf-8?B?MlR4Yy94KzA4QzBKVVBVUXNpYStDNi82QWRUMlBFOGNqeDFBTEIyTXBLSXNi?=
 =?utf-8?Q?JNyBVMqJxP1i90rwtkfbQrfVNZuk+l4M?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VlVuNXVQdlFtaGwxK0dJN0REQjFaRVBBT2s3OHluTWw5SGpaa0lWTmgraDg3?=
 =?utf-8?B?a2Z0aXBWQmpRTnNsVTd5eVBBWmdNcVFZdE5FQW15eVJ2enNkVlBOUlYwYTJB?=
 =?utf-8?B?VjNTNk5qRTE2aXNtY0lHamNTZ2xuc1BXOE5RM1RUcTRzRzE2eTRVd0grejRO?=
 =?utf-8?B?bytuY0hvRVRtcWRkYWNNN0ZxU0U2Sk9ZakdQOE1uTk45eUtqdno4TEpvdnVl?=
 =?utf-8?B?cmJId3ExMWNXRXJtNzBOQitRQWN2WFZVSWNyNTVKZkM2eWpQKzVnL1N1L1pj?=
 =?utf-8?B?dk9tQktvRWZvcnRndzZQeWN1YTNsdytxWnVzc3F6TUpFUXlEODE1QWgxZVAz?=
 =?utf-8?B?VGNSRi9SQmJNV2tzNURFOTlNNDFpNGJtVkRwNE5IZzdFMy9xbVZod21id2Nk?=
 =?utf-8?B?VzYzWitaQzZ5bTI0cVFwRlZTUXNKOG1BemZZa0REQXNmQm8xcGxxY3RnYTAz?=
 =?utf-8?B?Rk0vMXpESjB5WmJsTkNUWkVzRVN3MWZWT3FMS3UyQnh0OEx5cVlNQWpaUkRP?=
 =?utf-8?B?YWlzeGF5RG9JSUhVenFLU0Rpa09CVThEQm0rcDJ4Vk9EQ1FvUFNrczRvY2FG?=
 =?utf-8?B?ekNzckNDUzVTckFHeEZrZnJuUFFlbjhHcWJUYUU5bU90UUU1VWpZUWFHYXdo?=
 =?utf-8?B?KzJlck5tRDFCNUR0MStaZmRnY1lLSU5kUXYwU0o3YWQzdGZObzNYd2J0Nk9I?=
 =?utf-8?B?UDZYbXEwR0JvTU9hbmpJbmxMY1g4TTBiQVQyMlFnUzNIZ1hnSUdhZ3pkR3hE?=
 =?utf-8?B?TE9yUWUwNXIvamYxQWUwdUtNL1JxVEx1MzYzSDNrOFNlTkl0UW5UR2pnWlc2?=
 =?utf-8?B?UnVLOExtOHVoN1NCRW4zQ0U5aW5VbERYaFlIcUZydkg1NVJFSDZMb296c3RX?=
 =?utf-8?B?TDRiYTdwdlZWQjlHY2hhTURNa08xcThpWGVaOHBKN2hja1FtRE4zU21kTkZp?=
 =?utf-8?B?VUFJTzhrOXMvUDlSNSsvb3JlM21FdjlCbkw4QkppMyt3MDRvVDJQeDBMMFYz?=
 =?utf-8?B?ZkFpYzFSUzVSQ2JlSUJmY3NrSDZQZlhhcGxkeDZXc0hrNDdtaDE0YkhWeEV2?=
 =?utf-8?B?NU5lSTM5M2NyYXZrRWFqakhiNlFvS09wSUMzcm5RcmkrQklzaU9nYkpIUTZo?=
 =?utf-8?B?MW0zT3FrUmJpWkhJdko1N1B0ZnZDVHh3RkpmeDVTVWZ5S0Jxek9nMUtsSDZM?=
 =?utf-8?B?ajU5eDkyVmZxdi9wQzcrOGtPaE5iTXpLbDdrOVBGRUE2aSt5dWYyRmsweXdl?=
 =?utf-8?B?aVg5ZjI0QkNvNURmUFpqOGtwZGhVUkRPVTluSG0rMkp2STJvajVOemkzb0hy?=
 =?utf-8?B?VkwxUERhV3Y4Y3JlRGxCL0trdVdIWHNxWXF4QnZhQlEyNUgxQ2ozYk5oU0JS?=
 =?utf-8?B?d2I1eE5Ka2tZY0NjenFqT1U1bmF1Q0YyU3F6eGxHM2pxZUVWK2x3SnRLaERw?=
 =?utf-8?B?b3VROFJ1Wktvc2Rsd3pUaTRQT3pZYU43NDRDNEFoRGxQTzh4SlRJTGJETGRG?=
 =?utf-8?B?c1o5ZWtJQ25GV2FoQmg2WUZab2taT3NyUEdzNEFoTTRCT2RNVllxdjBXeXUy?=
 =?utf-8?B?UW5McUdUWFlNWkcyZjhBazAxYVVXUElMNlJGVkQrcXpSdHV6L3hjS1lyOGJx?=
 =?utf-8?B?a25jQkhMeDlEZHZBTGt2S1JPTklPWUd5ZFRTYVVJZy84RXdSTnB5VWw3N3Rx?=
 =?utf-8?B?Y2I3MTdTZ1RUMjdxSFhJV1JCY1l6NXpMWTkzZVdiQ2I5YzZleWV0eGs0NVFk?=
 =?utf-8?B?enZpd1RmellZblpGWHRBOHUyRGx5ak9IK3NJTWdQbGU4SGNVOVFndVJkeTVn?=
 =?utf-8?B?Z2d6V3hxNmI1VC9ZREJUVWNVY0NPbUJhRDJZWUllMmZ6SGd3YzhiRVM1RS9p?=
 =?utf-8?B?VWo1a3lLODdkdmpER0NXcXB3Y2FQRm4yZGZVQWljM2JRNytrVWhwKzkwU0Vk?=
 =?utf-8?B?d2lrcUJzN1pQTjE5NUhqY2twWk5sRVZhdWt0RlNhdUkwTUdEOWk3T0oxZjVY?=
 =?utf-8?B?OUwrOERuQVczUU0yTS9QMXdvcFZrMm1EbTU2TGx2ODV4Nlk1TTErcE9SWU8v?=
 =?utf-8?B?c3c5NG1PZDEzQklWdThhS09ndlRESWpnQmUvU1RPb3F3Y2FYUyttYThBSk03?=
 =?utf-8?Q?V83wJtaIv9wb019WBWq4coN47?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 314eb6d6-1bf3-4f6a-74c1-08de0c9e365a
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Oct 2025 10:24:39.7620
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: JM8oPV/DPJCe0s/mMdCxIPt2+kCVsWbX/k6rbrnVgaf40OQVbJftk34DtuQOYIMQ7T6JYKyaDrDJikaO5Ykc8w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR03MB5240

On Thu, Oct 16, 2025 at 09:31:21AM +0200, Jan Beulich wrote:
> Despite 1db7829e5657 ("x86/hpet: do local APIC EOI after interrupt
> processing") we can still observe nested invocations of
> hpet_interrupt_handler(). This is, afaict, a result of previously used
> channels retaining their IRQ affinity until some other CPU re-uses them.

But the underlying problem here is not so much the affinity itself,
but the fact that the channel is not stopped after firing?

> Such nesting is increasingly problematic with higher CPU counts, as both
> handle_hpet_broadcast() and cpumask_raise_softirq() have a cpumask_t local
> variable. IOW already a single level of nesting may require more stack
> space (2 times above 4k) than we have available (8k), when NR_CPUS=16383
> (the maximum value presently possible).
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> Whether this is still worthwhile with "x86/HPET: use single, global, low-
> priority vector for broadcast IRQ" isn't quite clear to me.
> 
> --- a/xen/arch/x86/hpet.c
> +++ b/xen/arch/x86/hpet.c
> @@ -442,6 +442,8 @@ static void __init hpet_fsb_cap_lookup(v
>             num_hpets_used, num_chs);
>  }
>  
> +static DEFINE_PER_CPU(struct hpet_event_channel *, lru_channel);
> +
>  static struct hpet_event_channel *hpet_get_channel(unsigned int cpu)
>  {
>      static unsigned int next_channel;
> @@ -454,9 +456,21 @@ static struct hpet_event_channel *hpet_g
>      if ( num_hpets_used >= nr_cpu_ids )
>          return &hpet_events[cpu];
>  
> +    /*
> +     * Try the least recently used channel first.  It may still have its IRQ's
> +     * affinity set to the desired CPU.  This way we also limit having multiple
> +     * of our IRQs raised on the same CPU, in possibly a nested manner.
> +     */
> +    ch = per_cpu(lru_channel, cpu);
> +    if ( ch && !test_and_set_bit(HPET_EVT_USED_BIT, &ch->flags) )
> +    {
> +        ch->cpu = cpu;
> +        return ch;
> +    }
> +
> +    /* Then look for an unused channel. */
>      next = arch_fetch_and_add(&next_channel, 1) % num_hpets_used;
>  
> -    /* try unused channel first */
>      for ( i = next; i < next + num_hpets_used; i++ )
>      {
>          ch = &hpet_events[i % num_hpets_used];
> @@ -479,6 +493,8 @@ static void set_channel_irq_affinity(str
>  {
>      struct irq_desc *desc = irq_to_desc(ch->msi.irq);
>  
> +    per_cpu(lru_channel, ch->cpu) = ch;
> +
>      ASSERT(!local_irq_is_enabled());
>      spin_lock(&desc->lock);
>      hpet_msi_mask(desc);

Maybe I'm missing the point here, but you are resetting the MSI
affinity anyway here, so there isn't much point in attempting to
re-use the same channel when Xen still unconditionally goes through the
process of setting the affinity anyway?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Oct 16 10:41:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Oct 2025 10:41:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144426.1477822 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9LQG-0006p3-FB; Thu, 16 Oct 2025 10:41:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144426.1477822; Thu, 16 Oct 2025 10:41:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9LQG-0006ow-C4; Thu, 16 Oct 2025 10:41:28 +0000
Received: by outflank-mailman (input) for mailman id 1144426;
 Thu, 16 Oct 2025 10:41:27 +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 <SRS0=CbFY=4Z=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v9LQF-0006oq-3z
 for xen-devel@lists.xenproject.org; Thu, 16 Oct 2025 10:41:27 +0000
Received: from mail-wr1-x435.google.com (mail-wr1-x435.google.com
 [2a00:1450:4864:20::435])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id aa363c94-aa7c-11f0-9d15-b5c5bf9af7f9;
 Thu, 16 Oct 2025 12:41:25 +0200 (CEST)
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-3ecdf2b1751so329392f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 16 Oct 2025 03:41:25 -0700 (PDT)
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-42704141cc3sm621425f8f.9.2025.10.16.03.41.24
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 16 Oct 2025 03:41:24 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aa363c94-aa7c-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760611285; x=1761216085; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Prue7TJG0D8ESilQ5vJPKJdO0Y6nIEWiUxG/sU9D56o=;
        b=EI5dgwdNt1YOSfjd7iFzetrsIJyjSzlCOSrfHTR+zfIuXkSQQApcrOxcbCZ4acy2OA
         nI0qTcZecvH82JGhNUlDbqF+E5/Sg1kwk1pyt7NHIvCOkXItwKHshRhX6MAgMc3gNjzM
         4XXs+plcrwnBKos6qk0HCPqSmCX7P6/CfG7kLu7K1UoliA8Q2zzqsHBtrHwX1ui5zGoF
         cTmO2cGVuxeMixPucbJlJGBGd+pmiB8gTZ29bfAw2/3cTRvRgnXZFdS4izi4SO4AeRMI
         VI5Nv8xb9TJSl6oQ8nQsieACj8vnyUtRLmiTmL/k2x8fgjb0OpzTFfoR6tQ8A8UVuZ+v
         WVUA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760611285; x=1761216085;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Prue7TJG0D8ESilQ5vJPKJdO0Y6nIEWiUxG/sU9D56o=;
        b=ub7UCWGcmgExGU1/y52tjbU/CuoS1lyy99geZz1d2dReudbqO+HVL22IPo6P8x3opn
         xn2n4CBMPOLTiZqrtq0zpf6vrOmtJ82oLKLvt9LXq6D+tZju0DV1EGtIDwVoC3408/dQ
         3t1az0o873nIYLr2kcIOXoRwXBU/pR2NN/hrMciCEO9zUNf27vB9hjEPLyTcHkqmAMZF
         HWw6oWPNK9Jbxm2ZmyY2zMUuelYmSnoAK6k08jptxboTr8oGDR8pCO+XdHKvTLdoX/3c
         jX97uAhDyQ+jmiNSzrFO8N0nz8WRg+wf7Ek6OEWQ0pKmz3M4O54XzWz6lCuVzmTnCZOO
         BUxQ==
X-Gm-Message-State: AOJu0YzB1K9it0v+gVVlSuPTv81aonP7GA1DqGYtA65WMaRyJSQcDipa
	aWVR4MSWQGg42Su+2ggBwzTrsDRUealhX8wXVIz9lwhvdwlyrwO0Zrb1rvA3YbhLaw==
X-Gm-Gg: ASbGnct5qIo/LAqJwySXDksWvWoq7RlfP/VBFPI76buHu7HBZJlCTbb6kvAZuxC1YJU
	z/qeXJX/1EiW4/rzS/0AO3OPsMMRGHoJnzdswR0ALub8MMDbsE+w9pEvd/FuJrfneOEPQZEtMYA
	9+poNEGMreF0XlogtE5wZgHQSPPizUmOHkMtQQvTJDsBtqz18lQQ6BAyJPYwpwOMNEZAq2Ntj7V
	Tpx0bRg1d/4+9PFDHqthJmBq+HvPJjTkvSYJrLaaeUhJ82UhVuK5K6V7+iYXdLmVr4GGhsr8VnN
	8zsrJtsg2w1FK+zuU7IGEowaNgjbKz/n+GN7g+8QCInt9HtduiCbMwFNR02o9M0TVSlhOuY2EYQ
	EP4Q+tK8RPlXRY3zJCHeYoolIjfceIcCp2mci7jf+WbZhOApFa3SPhyT4CBXPMheZWkIUj4SHNx
	1uLt7JiU005daUr4p19u092QryX8Zh3g0l6CACLh3okHv5jDLLDxgPOotXg/sM76YG1bv+5j8=
X-Google-Smtp-Source: AGHT+IHGcSNKnD+VzzVMDKeVAduU3+/TjF127FJ7TJYPxROUbGmHN7bdMMJwuk7sRPNFthPpgIXCJg==
X-Received: by 2002:a05:6000:2dc7:b0:426:d5f4:7913 with SMTP id ffacd0b85a97d-426d5f479cbmr12397371f8f.42.1760611285237;
        Thu, 16 Oct 2025 03:41:25 -0700 (PDT)
Message-ID: <0c54bb8b-4fd5-458c-9fd3-8320e598ae4e@suse.com>
Date: Thu, 16 Oct 2025 12:41:23 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21 00/10] x86/HPET: broadcast IRQ and other
 improvements
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <8d94abf8-70d1-478c-885e-ff9a960ac72d@suse.com>
 <aPDDW9N6plRHw2Rb@Mac.lan>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <aPDDW9N6plRHw2Rb@Mac.lan>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 16.10.2025 12:05, Roger Pau MonnÃ© wrote:
> On Thu, Oct 16, 2025 at 09:30:28AM +0200, Jan Beulich wrote:
>> While 1db7829e5657 ("x86/hpet: do local APIC EOI after interrupt processing")
>> helped quite a bit, nested interrupts could still occur. First and foremost
>> as a result from IRQ migration (where we don't have any control over the
>> vectors chosen). Hence besides reducing the number of IRQs that can be raised
>> (first two patches) and possibly the number of invocations of
>> handle_hpet_broadcast() from the IRQ handler (optional patch 4), the main
>> goal here is to eliminate the potential for nested IRQs (patch 3). These
>> patches are imo 4.21 candidates (with patch 4 being questionable altogether;
>> see there). Patches 5 and onwards likely aren't important enough anymore at
>> this point of the release cycle, even if those with a Fixes: tag would likely
>> end up being backported later on.
>>
>> The one related thing I haven't been able to find a viable solution for is
>> the elimination of the cpumask_t local variable in handle_hpet_broadcast().
>> That'll get in the way of possible future increases of the NR_CPUS upper
>> bound: Much like right now a single level of nesting is already too much,
>> if the limit was doubled even a single IRQ would end up consuming too much
>> stack space (together with cpumask_raise_softirq() also having such a
>> variable). Yet further doubling would not allow any such stack variables
>> anymore.
> 
> If there's no nesting anymore, you could introduce a per-CPU cpumask_t
> to use in the context of handle_hpet_broadcast()?

Not quite, as there are other callers, too. But yes, possibly other callers
could be dealt with differently.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 16 10:46:02 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Oct 2025 10:46:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144435.1477831 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9LUf-0007OL-VF; Thu, 16 Oct 2025 10:46:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144435.1477831; Thu, 16 Oct 2025 10:46:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9LUf-0007OE-SR; Thu, 16 Oct 2025 10:46:01 +0000
Received: by outflank-mailman (input) for mailman id 1144435;
 Thu, 16 Oct 2025 10:46:00 +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 <SRS0=CbFY=4Z=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v9LUe-0007O8-KG
 for xen-devel@lists.xenproject.org; Thu, 16 Oct 2025 10:46:00 +0000
Received: from mail-wm1-x32f.google.com (mail-wm1-x32f.google.com
 [2a00:1450:4864:20::32f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4d585639-aa7d-11f0-9d15-b5c5bf9af7f9;
 Thu, 16 Oct 2025 12:45:59 +0200 (CEST)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-46fc5e54cceso4082345e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 16 Oct 2025 03:45:59 -0700 (PDT)
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-4711441f975sm19633515e9.4.2025.10.16.03.45.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 16 Oct 2025 03:45:58 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4d585639-aa7d-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760611559; x=1761216359; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=ezA4vhVD+QEaG3n8w3z+Qdh3yEMFfAZncF04cGzhJPM=;
        b=b6eDBHk6zAmENYukdTmHJwn9uGZcjsFrxDXZYMeqroNPdiE1cRnaj8hpj1/Fu3s7c7
         Yvgjb0Bcz5Elw4lVzIEWM1FrPDd47c/n+TkjTCnovZAnBXXB8XmB1cwE0mtJK1IP2IYr
         bI7sEujJmuTC/0D66Rb8zUKgVumSdCxAmK8K16I7sfEKgf7BOtrpaNWyldIgwL6WY/ar
         EIRbBDhJCF0mlrQ32d0MjPReEWrXEXEJS1mLXzzY+yeY2PQ0IsAwAd/frUHHShQQ7nyl
         GDqMnaxnMj3xl0chwZEfUBDOa4Nl8ynxhuHVfgd+lZoL7CvXGhF5EfIglY9CSGVSigvQ
         QU5A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760611559; x=1761216359;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ezA4vhVD+QEaG3n8w3z+Qdh3yEMFfAZncF04cGzhJPM=;
        b=REyUV2/0TEWWLp/BvrzB0ETPOHY1WHZY0fngEc+8EXZcKsW9dEWTBHsCWRZiUzAQjm
         ZB5TSOuvw80zB4sX7OU7n8skQBPOdGlrYMbQxwNP2NpTvMOotCABSGY3C7okLvalefNd
         jCGCLj3EitJxUbmSdbnP/Hj+7XQ2FyRdVqmf9POZkCKh8Y41XE+Dy/l7FCGfQ5zzJte9
         G+0QDl6JuOlEPmrYt943jU0fWTjg4csgZGVkDXbXZgJ6GuGWECIea1OOTjwBFaPMF9sq
         sdJPQhBHhGNqM3eaZZcJzpGbN8ATUzqmDj9GnuTQ6QaNLr+TRtLzsKlk4ee3mCguFrMK
         zt9A==
X-Forwarded-Encrypted: i=1; AJvYcCXHdLq34jO7TOS5EsANhnCmjLsAKT4DtS+F/8tXIY+qPykHmR/9PxZ/t3iM4iHXAdoVwN8ornJoQeQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyNj1HQ9itAiyFVh0tAMQRCKhjiPweGLz4j4dneXWxCJZNaDAoE
	QoiBmL+uI/guZwzJwFtwI8c8rc7M8vhjcL9rER8fb3GXHUrkjy/vk2p0N85b7/Gl6w==
X-Gm-Gg: ASbGnctjwZkrlBPFUYag+Rc6o6FKgLyyus8Z9ndfHVhO1H8w+EBvY/0Xkq8oTyBaOch
	HfQLBZnFpjzO57NQOY2xXKsnjnlujxmsrZLCdvKdUc2yHrKm2hTGnrc8+uYl82tYaKVe34aifQQ
	w8ifvw+nzmnjAeUkchu/z4Jph0LSA8sZ2F4r60vG7wVZqX0byk/2zopj7Hn8+Spjt78euZqrOHF
	VqKWQMvFVefOszGoUhFt9k5wfQJeE8tcobB3PJkaakQ/EkRHIK+4iMGdXDz8/z3tsgdQH/hNNFe
	Gc+6I0npwbh6swlHF3bOhMAi6epWwl7twqtylyiCvWYo/zP+dxBqaweuC+HIgFdsD+cnG39H0gx
	peRCunqpDJk+sOzCGA1we8B0XbbYYdqm4q/FYlFi5knyrNaip0XqlANIy9vTcTMuee/7fuEzl28
	cAdSHMq0bsIO1Wxl+bx/bx5YZWJoHrfFd/EHk6WfY5nq9ZWdAPZtgBEg0Jcx6m
X-Google-Smtp-Source: AGHT+IE2WuH12rI+WM5SiSXR6TkNCXd8vvTHsk+sYi8R4zJx9fbAqQkFpvSrmYrWeK44dXG4JZtzyA==
X-Received: by 2002:a05:600c:4f08:b0:46e:3dcb:35b0 with SMTP id 5b1f17b1804b1-46fa9a94553mr242597655e9.2.1760611558927;
        Thu, 16 Oct 2025 03:45:58 -0700 (PDT)
Message-ID: <5c8777cb-86c4-4600-83e2-e48700b2daab@suse.com>
Date: Thu, 16 Oct 2025 12:45:57 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2 2/8] libxl: Convert libxl__json_parse() to use
 json-c
To: Anthony PERARD <anthony@xenproject.org>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Jason Andryuk <jason.andryuk@amd.com>, Juergen Gross <jgross@suse.com>,
 xen-devel@lists.xenproject.org
References: <20250929120756.46075-1-anthony@xenproject.org>
 <20250929120756.46075-3-anthony@xenproject.org>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20250929120756.46075-3-anthony@xenproject.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 29.09.2025 14:07, Anthony PERARD wrote:
> --- a/tools/libs/light/libxl_json.c
> +++ b/tools/libs/light/libxl_json.c
> @@ -16,7 +16,25 @@
>  
>  #include <math.h>
>  
> +#ifdef HAVE_LIBJSONC
> +#include <json-c/json.h>
> +#define USE_LIBJSONC_PARSER
> +#endif
> +
> +#ifdef HAVE_LIBYAJL
> +#  ifndef USE_LIBJSONC_PARSER
> +#    define USE_LIBYAJL_PARSER
> +#  endif
> +#endif
> +
> +
> +#ifdef USE_LIBJSONC_PARSER
> +#include <json-c/json_visit.h>
> +#endif

The version of json-c one of my systems is using also doesn't have this header.

Plus (uses originating from other patches in this series)
json_object_object_add() returns void there. Plus of course any number of further
issues I'm going to see. The checking configure.ac is doing right now looks to be
insufficient overall.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 16 11:22:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Oct 2025 11:22:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144458.1477850 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9M43-0004H0-Q6; Thu, 16 Oct 2025 11:22:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144458.1477850; Thu, 16 Oct 2025 11:22:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9M43-0004Gt-Mv; Thu, 16 Oct 2025 11:22:35 +0000
Received: by outflank-mailman (input) for mailman id 1144458;
 Thu, 16 Oct 2025 11:22:34 +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 <SRS0=CbFY=4Z=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v9M42-0004Gm-9Z
 for xen-devel@lists.xenproject.org; Thu, 16 Oct 2025 11:22:34 +0000
Received: from mail-wm1-x330.google.com (mail-wm1-x330.google.com
 [2a00:1450:4864:20::330])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 682fc8ab-aa82-11f0-9d15-b5c5bf9af7f9;
 Thu, 16 Oct 2025 13:22:32 +0200 (CEST)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-46e42fa08e4so5573055e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 16 Oct 2025 04:22:32 -0700 (PDT)
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-42704141cdfsm850331f8f.4.2025.10.16.04.22.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 16 Oct 2025 04:22:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 682fc8ab-aa82-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760613751; x=1761218551; darn=lists.xenproject.org;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id:from:to:cc
         :subject:date:message-id:reply-to;
        bh=RLKloBFXheLu4im6IxeM27UC4SxM+8g/sFqkBBvRcDE=;
        b=bfnvEbxJIXE+1H8WrJOHJptm+9zVVj8D8/lVLSWb3CarR5p7SrMAIprQLgCPWCdm1h
         oFxrZWz7oGeaF3X71dFdprgMVx8SiYbyzyBymzhdnBrRKRsZWIFIzagyl/4o7dvid9Ya
         OhTotPcnwVX5aaq/1atdcQmlElWRZsA0bhw22aEmVzkJyl9IlAo70F1wn5U2HbLgv9/u
         N39yDJP8MozQM+0QlF6wKCwgTmMIfn9sELqXYrUbp7Y2wQNJbieYeJj1ECGqkE4TSs95
         TJq9UAufCRliuDwJvG2/Hk7P8Y3S3N1e8AGR7wfq5E9WnDSNvxCXpa5GPNdE3pLLaQrg
         Mglg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760613751; x=1761218551;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=RLKloBFXheLu4im6IxeM27UC4SxM+8g/sFqkBBvRcDE=;
        b=UfdMYF9P4Ad52IxZxIywM0dnmFQFSmSjy69CMzrb2JvLKW0+U9Rs0ZFsZyo1VhudZ1
         M4bOss14zrpU2TN1mJz7rFoX927h/zzZTP/VDTeZibNfWZwFaidEG8xma8q9iDXG6ewl
         Wc8vTM7gkVD5Dk/c39iVUgMUPFG5v9h0gDkexTBn/8jHZlXBECMnMadv05ypDP2feqm7
         QY71CgVKVD6jrPd5Rl4zCWYjIIQBIo4zT2FNoarUKnD+e3SkEb8jBZJ3fJdcNT1RsTyz
         u9eW87tczdDEEv3jo0yntHgVk2upWej/44rqHUN1qZFocGuaKG/uHyUZFUw41og1tG3i
         DNHg==
X-Gm-Message-State: AOJu0Yy4F5vf3Y/ySDvcvBzrXWmrRU6LRwcmwL+bzU1ifKXbiNjlbwID
	6fIgAjXQ9l4Mh2s1io3EivshNYM7R8oXJupyVwg7fkB5cmWRsM2B8RJAfMjZMsDZd6pEbgTien4
	E5Rk=
X-Gm-Gg: ASbGncumpY+yO0RzgCwf8e9t0wAz00GWJxPtpBxR37XufbLCFfRqg0LZjPtEUWDYInS
	D5CjVWxVXeu93HCCroxqe6vK9xa527Z1sjzPVirdi0pCKAlyBaCVl0YaYxP+fE7S3QwAjwkBZ2d
	J/0LzFOGZ6FQz4Jkp2Iy2QM2vCHuxlBqlVlhNMljbx8LFFXtvKN4EJRKNjzDY5074gjChb2PwfG
	c2PrHAgsKmiWCej8ESfn4uBZXVT8q9iGAxMugm7lCdT8ApqG83hVnztP64tZGUyoro0uoMcXUBQ
	RfrH8kc3TQM5U3zxqbmwlE5ylspbkT3B/nhm8vTIAdo9M2JG7CTgkI48/EB+MKp/iKP0qqxipA+
	u5APCcu2nAMi79Doz9Oim0ChH6dLJFRFOuRsIkfcOQZNTpPPMDfoR21HUX0KGHvVQZtYT/Sv7Hk
	ExusS/9zlf55Lclq8RZnrj69vxXazQ1TaWW21+yF+su+UgT4Tnx/pdpI5I13JcDk9VojoR8ys=
X-Google-Smtp-Source: AGHT+IHs7PKiy0vymqp5DUvFn8ypkdyBZYOI+gfKNtQvbbZiRi3NU57nE5a8fmF0EySoLh3EGQ8Twg==
X-Received: by 2002:a05:600c:c4a3:b0:45d:d8d6:7fcc with SMTP id 5b1f17b1804b1-46fa9b055e6mr212687215e9.27.1760613751350;
        Thu, 16 Oct 2025 04:22:31 -0700 (PDT)
Message-ID: <751bb140-3f00-47f1-9492-464c01ea1429@suse.com>
Date: Thu, 16 Oct 2025 13:22:30 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Juergen Gross <jgross@suse.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH for-4.21] libxl: make gentypes.py compatible with Python older
 than 3.9
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
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

removeprefix() was added only in 3.9. As long as the "jso_sub_" prefix is
always going to be there anyway, switch to a less specific but more
compatible construct.

Fixes: f6c6f2679d49 ("libxl: libxl__object_to_json() to json-c")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Sadly this is only the tip of the iceberg. Some minimum version of the
json-c library is apparently needed for the toolstack to build, but no
minimum version is being checked for.

--- a/tools/libs/light/gentypes.py
+++ b/tools/libs/light/gentypes.py
@@ -384,7 +384,7 @@ def libxl_C_type_gen_jso(ty, v, indent =
         s += "int rc;\n"
         sub_scope_object = "jso_sub_1"
     else:
-        sub_scope_object = "jso_sub_%d" % (1+int(scope_object.removeprefix("jso_sub_")))
+        sub_scope_object = "jso_sub_%d" % (1+int(scope_object[8:]))
 
     if isinstance(ty, idl.Array):
         if parent is None:


From xen-devel-bounces@lists.xenproject.org Thu Oct 16 11:42:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Oct 2025 11:42:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144472.1477860 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9MNU-00078c-Bz; Thu, 16 Oct 2025 11:42:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144472.1477860; Thu, 16 Oct 2025 11:42:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9MNU-00078V-9E; Thu, 16 Oct 2025 11:42:40 +0000
Received: by outflank-mailman (input) for mailman id 1144472;
 Thu, 16 Oct 2025 11:42: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
 <SRS0=NIav=4Z=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v9MNS-00078G-9H
 for xen-devel@lists.xenproject.org; Thu, 16 Oct 2025 11:42:38 +0000
Received: from DM1PR04CU001.outbound.protection.outlook.com
 (mail-centralusazlp170100005.outbound.protection.outlook.com
 [2a01:111:f403:c111::5])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 35e4761f-aa85-11f0-9d15-b5c5bf9af7f9;
 Thu, 16 Oct 2025 13:42:37 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by DM6PR03MB5163.namprd03.prod.outlook.com (2603:10b6:5:22b::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.12; Thu, 16 Oct
 2025 11:42:32 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9228.012; Thu, 16 Oct 2025
 11:42:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 35e4761f-aa85-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=HsOguVFh3RGcwveneXBX8xObwUf8ZtS+haBfmUBrf7s1Kd1oW0WxnWA58ZSaESrDv68scPba2nxUELQuEv37baudclvoq2vZdSlicx90MJLIEKRAZ7OZPDk43WTfnbqYsSufVTkF4FccX2Vxnh4KOfmP1eNFX29rV7lyh+BHOC5MV2d6pIZsjBIFx4SEKNsRis2coLtKsdJnZY36BXo+fdvIX7RCY2fKfXpLZyximhbx1GwOwTce9Gvfa94kR/AaJbEYIp3y8okKDVsSXNjDEoh9Umy08ivavy2wv+8y8H2CtAz7ezk0LDdRxvvyiZxnnO2fayAhzvqI96dzwySgNQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KQTRCyFqq75d3Ak+pfY1aL9k/GP4dLpmN1yAqIWm7vw=;
 b=Q5VCKg4P9Z5D7Nd43jNdow2YXDAru/nQcnduA+KEk8imoxvYRGvvMcH+gvDMOsoHzwD9mDi1BJHNfoGBwGaAUwXmnJLrfUiRleguayH5XWZrmLblDs+4YkhktjlVrTfMrTS62HqYKDjIoh1djo4u4J0WLr51ToyNTAOPts7sQoJSwLQrPprQgqT66w+spYigdukmN1JYN5Bv8Ed/qU4BNEfcKLaHNtOn2IW7wS8aoi7QB0iyWqXwNvMoVAFxm6sKNgi89iHalKGk/WVvPg0PBpiBKQxRgvmTnaBACTV26U8ZVzEBmBRAEklcLODRUxsQSGrQ4XHiMmD7oMSWXAljpQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KQTRCyFqq75d3Ak+pfY1aL9k/GP4dLpmN1yAqIWm7vw=;
 b=jRGjVJwv9F43CTATHa/83lGj6kQ/wWtkXMBdNdNbuBoTw33n+uVWPTQv3eDCaqwzP+1TaWCyXjCw6OJ6O3mZXBSTfUW4ca1YImBEjftBu58mmWaAfQOOQxBxa34+0/neu3zJA4jOdKIWz7U6XiORlcNca6XZkQmPny06J3zxXac=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 16 Oct 2025 13:42:26 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.21 02/10] x86/HPET: disable unused channels
Message-ID: <aPDaIssJOFh00-W7@Mac.lan>
References: <8d94abf8-70d1-478c-885e-ff9a960ac72d@suse.com>
 <8913e64b-d172-43f9-9c4d-447ba4984c9a@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <8913e64b-d172-43f9-9c4d-447ba4984c9a@suse.com>
X-ClientProxiedBy: MA3P292CA0014.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:2c::15) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|DM6PR03MB5163:EE_
X-MS-Office365-Filtering-Correlation-Id: c27414df-f130-416f-6e89-08de0ca9163e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?YVN4NklWbWF2bDZ4OGNZSXU3ZDF5Zll2OHVUY0I2OExYZnJVeFhQR3hvRUdq?=
 =?utf-8?B?c1F6UGh2eS9WT1pzbGNZV1c1R2ZVTG5aTlF4KzUvZWdBeEhTNmxaa3dYald0?=
 =?utf-8?B?SzhwV3Z2TEROTVpKM0E1Slp1dVFrdzBlbXN4RXc4MFRvKzkrWVZBcjVjZzU1?=
 =?utf-8?B?cHRkNmo5VHRNU0NUR0NiSURyMjhZU0pYci8wYW0zQzNjSDRIdTI2NEZTa1Nn?=
 =?utf-8?B?cGRjOGtkY2E5Y3F0SERsU0xsT2M5M2hzK1NaekNVY2RBcEJ6ajQvQ2owMzRp?=
 =?utf-8?B?RWdrMk8rdG55K3AvcDVHaXg0MFpMTDVOejVWeC93RHptTEdEVFhJYVAvZHh0?=
 =?utf-8?B?NFZ5VXNFWFp4VW5zWHM0bm9xUnpmS2hzK1R6UHIrZkpUUzhLWEJWSFh1akUy?=
 =?utf-8?B?QXl0TlRHU3hWYWduMVZzUXNEdTIzT20rSnhxOXhuWlZkb3pPSDViZTYvY2dt?=
 =?utf-8?B?REkrYTBzV2hWMDI2SFhLMUtybEc5K2Uwdzhvc3VpQUwyYm5nZ3lyWTZQWkdG?=
 =?utf-8?B?d1NhRUVZQ1JsWExoWEkxU3lhTUZZNUI1SCtZM2tBU1ovUVdkdmRYeGkrdER4?=
 =?utf-8?B?ZVJZbENUQnBtVldQK3B0d3pqUXJnQVBKMFJSTElOR3RYTXFnYjJORWFjMFBo?=
 =?utf-8?B?eEhiYWNRbWo5SjdTOVgrYktndEQrUHk5Zkk3UG9TSFJVbEhnY0pjYVJTUFhC?=
 =?utf-8?B?TFhHNTg5MUNUczFLdmcrY3ZhRDFQYXZEZGlxTDB1bFBoVmtDblNRL3pYUi9G?=
 =?utf-8?B?cGg5YUtHVXdTWmJUNGkzYktzdlZxY3BsNW0wd3dwU2g5OWlwK3kxc3c4YkVS?=
 =?utf-8?B?T1I3VjRXdHJPQllTVm55N2oyMmo4QXV4bDc4SlJvcllTZTNkdU51NzE2R3RO?=
 =?utf-8?B?VThFWkk0S3RhN21oSDBqRjFJcDVQM1JITFNnQzV0UlRtQzE1bVhOUjZEdVhz?=
 =?utf-8?B?aHgyWWtvaW5jTTlQaXlaQTVNWDBuKysvWHMyMG9ZMlVXY1FUK1BHZnp3Mkhk?=
 =?utf-8?B?cDV6UnZxbXVRU2s2cW1UK2xlR1dhMWQzT1dIcmNmYktESkh5M0xkMmEzblVt?=
 =?utf-8?B?Y01mNXVXMmJBOFB3endaZWpsb0lCUkgyN282d0ZxeWJaTnUxODdHaTJaWFJW?=
 =?utf-8?B?N05CNGcxMENocVFhdEdZbTJHWjBEbCtDMFpPZmtQdmkwaUE1Rkk1aExKNEtY?=
 =?utf-8?B?bmJtTnlRTDRNc1hYbVVETExqQjl0Y29KSEhicjlIM1Z2YWNhMnF0TVZHZzhG?=
 =?utf-8?B?bHU0Y3JxNEtFT3Q2N01ZZWhEdnZDUlNWNXA3azVtaTl6bjZGVXJSd3JTdkti?=
 =?utf-8?B?OElLb2wzQXRjaE0vTXh3dmo0MzM2QmJ6MjFWVGp0SUJmb0hVRWJabUJTMnov?=
 =?utf-8?B?aTNqOExkbml3T0xBY1BNU1lKSUVnb1p1UE10cElUUDFsUDY1dlBQS0V1aVVU?=
 =?utf-8?B?UmpFV3oza0s5Mk1sK0FSMHBqdWpaNDdQbUR3TkxqUCtGV2p5T1BKS3dHeG94?=
 =?utf-8?B?alc1VUFZc2t4ekhPTVhxSHdsdWxKUDNXNjd6SllnZ3VQaFlRb0dXQmwwQllp?=
 =?utf-8?B?Vi9Wa2dmRlg2cVI2Ymo1eDd1Q0U5eVRHQlZwOU9MSTFGQU5YbXZ6ektaMFRq?=
 =?utf-8?B?YTZNRjBaemF1aTF5bkZ1S214a1JtSDh3a0ZyVzE4ZDR0WTFJZ05LaUE3Q3Vm?=
 =?utf-8?B?akQ0VFM4dzh4ditCbzFlY005TGgwandrMXlicEo0WUppYm15MTdEZHRZK01X?=
 =?utf-8?B?N0l6N0puR2ZNaE9lbzNBR0NESEFHY1hOOUlPWGxTK1hEQmxCTk9BallacGlh?=
 =?utf-8?B?MG5zNExwMlFYQkZ3bENDZXhwclkrRDFwUWh0bE1McXIxcEgySk1zRUJGaWN0?=
 =?utf-8?B?Z0NTZ3EyWndhSC9ydnVJak55cWdVUXpodnc2MFNGQlV0aVJycndrVDVNYjln?=
 =?utf-8?Q?hmCQtCECJy6oVavy1bzZmLGDw09cA9zk?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VkVHb3ExMXpObEZNK3Q1RjlqR2VTaFhDYStaTnZZbWJuQU1kUW50WUFHckVv?=
 =?utf-8?B?RUJVSW5yZkRlSGhwK0lMTVduVTZtY3o5cGNiUExDUGcwWWdQQ3EwRHpON085?=
 =?utf-8?B?dTRSSklMa1c1QlNONGp3MytXQnR3MjZoVXQ1Zk1Qdzd6b3FOT2tYZkRWMjkz?=
 =?utf-8?B?bUtsZFhxY0lFa0J5K1N2MU15a3BMTDhXVVZTN1htSkM5aEVOY0RuRlpQRjNi?=
 =?utf-8?B?bjRGeE1JUHdrbGtIZWlzZDBrWE5nRVpJNWNnbi9nMXJnY1FWQ1hZOWJoQ00x?=
 =?utf-8?B?RWQ5VVlpdG95TnllL1ZjR3p0WGYrckswTXUxdXViWE5XOW1ZMDhJNnk3Si9T?=
 =?utf-8?B?ajloZHNvbDNSZ2VrazVkWStsK01nRm91UWFxb2NHczZ4czZ6QkJjaW1ER1Z6?=
 =?utf-8?B?dzVKUVpNYURzcjVvMU45dkwxYWd0WXZGUGVXcHVYd3NCZXFRcE5hZ3FPR3Z2?=
 =?utf-8?B?dDd6RmtMZzFCY1pJSEs1NGp5ejN3MEVSMERMZFR0LzVrMVpPL1FFOWJqb25I?=
 =?utf-8?B?S2ZNejZHZUJSNjRCelBRZ0x4Q3F5UlNibTNIaWFvc05LejVWSzNlUEk5alB3?=
 =?utf-8?B?RHh2MWtVeUkwOUd1VkNyYkN4dCtzcHdCNkNXeCtzZmtIb3lVS2pJZlI1Z0R6?=
 =?utf-8?B?VjVGMHZ3bnFZc3hlNEhrTTkvYVM4cW84UHR5UFhBUHNKOWhZejRUNG5WQUta?=
 =?utf-8?B?NzVqMzhaQy9PNHZPbGxQTzNnbjFya2FMdjZrVW1FK0xsb0ROWnFmRGUyK2pZ?=
 =?utf-8?B?M0ZPUTFjelBiQ3RPbkxJdmVaS2dITTQvSHVyV0hjOWxac0luRHl4NFRUSEdi?=
 =?utf-8?B?U0JzM01SL3FyL2VlTHc1Um1hZHczM3RETldKbjJZZDFwNVFDSkFXVmIxaGgx?=
 =?utf-8?B?dDcwVWtyUm9OOTk0SjNTVWtST1FJYUE1NDVialNrZEJKUlYxdmg2MklzWU84?=
 =?utf-8?B?bkJtbitGR0VxcGNVNzlMUFZpbUNzOWVOZkpzdzZhMkx2V0pqKy9IVmduSlJU?=
 =?utf-8?B?aHVLYXhwd3pvdTZjRWlPZXdIQ1JMYUZtOHFUL1pZckRVV2h4WUFYT016Z3Jv?=
 =?utf-8?B?WUNiQTlwM0d4QndoRzhGc0srSVF3S2FFVkRFS0tKUW5TaTF6ZFhVNzZtdGcr?=
 =?utf-8?B?eGhaOGFKdXd3QnN6R2ZVTmVNcjhwbWhpbi9YVCsrb0pzZ0hvQW5ScFlaelFv?=
 =?utf-8?B?RnMrZCtsMmdub09xQmhhckpJQ0JvMjh0c3VyQkhXTVJWYkpmQjZVN1p2Y2Mz?=
 =?utf-8?B?eUV1bWxMYmYzMzZaVVJhNTBiUU5OcllDL3RDZFh1SEJUV1ZzRWFUUFI2bEtz?=
 =?utf-8?B?OTRLd3E3a1picjUydWlVUGNTM3ZWVmZNQUdCNXFERnRpbXhzQzJ0SGxCcU9L?=
 =?utf-8?B?dHZjRjBvU3RXMkFVWFNPeHRiT1dsQlg3R0JJUmpmU2JzWERtbHBxWW9oRzg0?=
 =?utf-8?B?NERJZWJSRUNyWW1DUE5ocmtnNUNZaEVidDRRU1FvV2dGOVdoa3NHUExacnVS?=
 =?utf-8?B?VEoxVzZMMnJIbFlUYXE0THpxaS85OUFoRHVDZ0w4V3Uwbm9OaXB3VWI0c2pZ?=
 =?utf-8?B?WXdnYk9XOWZVcDl6RVVzNmtDUkFCZTgxbjZTejN3Nng4SEVxYUxvMTdJelVG?=
 =?utf-8?B?UVgyUkdXRFRHWDBGVUp6SDMxTGNDSmduK3ZQUWVPQWY4RzlHSk5tbENpWis3?=
 =?utf-8?B?L0FFcTRyZG9aSnNKRXpJTFFVS0xBeWFEZjJNaGk1SDhrWjV0L0hER1BBb2Zw?=
 =?utf-8?B?S3lscW96R3RRY3BaQWRMWlBRNVhvOXJtZEhBaWVjbnhIc1kvL1JoeEdoekZt?=
 =?utf-8?B?WHFjemcydHRqbTJYUjdhSlpxM1JaYlFWRmYzUlBzamJlbmFJN2U0NmwxYlJ0?=
 =?utf-8?B?SmpKSFdjeFUyZytHb25DK0taYzBXSWgyR0hsM1cwWFI0WUYwcGxkd3RySENL?=
 =?utf-8?B?SGhuSytWQktLRWpMUWV5VVFUTmVWd3E2aWpnSHJ0bkt5UGYyN1kyZFJ4Q2d3?=
 =?utf-8?B?eUR4U2pHWVA3S0RrVThyWnZxMXZGRy9lMk1MajVJd1dsZSsxR1NlUlpzTHFH?=
 =?utf-8?B?UWlzc2d6YzZxVUZ3bmJITGtjMVV5cWpHN09jSzRyTU83N2grZCsyYVhHMEwv?=
 =?utf-8?Q?MlyiblQin+TakjUnhCMvbwyLc?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c27414df-f130-416f-6e89-08de0ca9163e
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Oct 2025 11:42:31.8105
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: To9gMTFRo+BvtKdTyA/b1usTYVLdFXxxEWiDE0mMQvf12a3xQnpFFCCuvc4/F5Th3S7rI9ZXHSlszIddTVX4qQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB5163

On Thu, Oct 16, 2025 at 09:31:42AM +0200, Jan Beulich wrote:
> Keeping channels enabled when they're unused is only causing problems:
> Extra interrupts harm performance, and extra nested interrupts could even
> have caused worse problems.
> 
> Note that no explicit "enable" is necessary - that's implicitly done by
> set_channel_irq_affinity() once the channel goes into use again.
> 
> Along with disabling the counter, also "clear" the channel's "next event",
> for it to be properly written by whatever the next user is going to want
> (possibly avoiding too early an IRQ).
> 
> Further, along the same lines, don't enable channels early when starting
> up an IRQ. This similarly should happen no earlier than from
> set_channel_irq_affinity() (here: once a channel goes into use the very
> first time). This eliminates a single instance of
> 
> (XEN) [VT-D]INTR-REMAP: Request device [0000:00:1f.0] fault index 0
> (XEN) [VT-D]INTR-REMAP: reason 25 - Blocked a compatibility format interrupt request
> 
> during boot. (Why exactly there's only one instance, when we use multiple
> counters and hence multiple IRQs, I can't tell. My understanding would be
> that this was due to __hpet_setup_msi_irq() being called only after
> request_irq() [and hence the .startup handler], yet that should have
> affected all channels.)
> 
> Fixes: 3ba523ff957c ("CPUIDLE: enable MSI capable HPET for timer broadcast")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> A window still remains for IRQs to be caused by stale comparator values:
> hpet_attach_channel() is called ahead of reprogram_hpet_evt_channel().
> Should we also write the comparator to "far into the future"?

It might be helpful to reprogram the comparator as far ahead as
possible in hpet_attach_channel() ahead of enabling it, or
alternatively in hpet_detach_channel().

> Furthermore this prolongues the window until "old" vectors may be released
> again, as this way we potentially (and intentionally) delay the ocurrence
> of the next IRQ for the channel in question. (This issue will disappear
> once we switch to a fixed, global vector.)
> 
> --- a/xen/arch/x86/hpet.c
> +++ b/xen/arch/x86/hpet.c
> @@ -262,10 +262,9 @@ static void cf_check hpet_msi_unmask(str
>      ch->msi.msi_attrib.host_masked = 0;
>  }
>  
> -static void cf_check hpet_msi_mask(struct irq_desc *desc)
> +static void hpet_disable_channel(struct hpet_event_channel *ch)
>  {
>      u32 cfg;
> -    struct hpet_event_channel *ch = desc->action->dev_id;
>  
>      cfg = hpet_read32(HPET_Tn_CFG(ch->idx));
>      cfg &= ~HPET_TN_ENABLE;
> @@ -273,6 +272,11 @@ static void cf_check hpet_msi_mask(struc
>      ch->msi.msi_attrib.host_masked = 1;
>  }
>  
> +static void cf_check hpet_msi_mask(struct irq_desc *desc)
> +{
> +    hpet_disable_channel(desc->action->dev_id);
> +}
> +
>  static int hpet_msi_write(struct hpet_event_channel *ch, struct msi_msg *msg)
>  {
>      ch->msi.msg = *msg;
> @@ -295,12 +299,6 @@ static int hpet_msi_write(struct hpet_ev
>      return 0;
>  }
>  
> -static unsigned int cf_check hpet_msi_startup(struct irq_desc *desc)
> -{
> -    hpet_msi_unmask(desc);
> -    return 0;
> -}
> -
>  #define hpet_msi_shutdown hpet_msi_mask
>  
>  static void cf_check hpet_msi_set_affinity(
> @@ -326,7 +324,7 @@ static void cf_check hpet_msi_set_affini
>   */
>  static hw_irq_controller hpet_msi_type = {
>      .typename   = "HPET-MSI",
> -    .startup    = hpet_msi_startup,
> +    .startup    = irq_startup_none,
>      .shutdown   = hpet_msi_shutdown,
>      .enable	    = hpet_msi_unmask,
>      .disable    = hpet_msi_mask,
> @@ -542,6 +540,8 @@ static void hpet_detach_channel(unsigned
>          spin_unlock_irq(&ch->lock);
>      else if ( (next = cpumask_first(ch->cpumask)) >= nr_cpu_ids )
>      {
> +        hpet_disable_channel(ch);
> +        ch->next_event = STIME_MAX;
>          ch->cpu = -1;
>          clear_bit(HPET_EVT_USED_BIT, &ch->flags);
>          spin_unlock_irq(&ch->lock);

I'm a bit confused with what the HPET code does here (don't know
enough about it, and there are no comments).  Why is the timer rotated
to a CPU in ch->cpumask once disabled, instead of just being plain
disabled?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Oct 16 11:45:48 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Oct 2025 11:45:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144481.1477870 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9MQU-0007io-QO; Thu, 16 Oct 2025 11:45:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144481.1477870; Thu, 16 Oct 2025 11:45:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9MQU-0007ig-MV; Thu, 16 Oct 2025 11:45:46 +0000
Received: by outflank-mailman (input) for mailman id 1144481;
 Thu, 16 Oct 2025 11:45:45 +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
 <SRS0=CCbN=4Z=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v9MQT-0007iY-En
 for xen-devel@lists.xenproject.org; Thu, 16 Oct 2025 11:45:45 +0000
Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com
 [2a00:1450:4864:20::32b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a634b2f3-aa85-11f0-9d15-b5c5bf9af7f9;
 Thu, 16 Oct 2025 13:45:44 +0200 (CEST)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-46e33b260b9so7153865e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 16 Oct 2025 04:45:44 -0700 (PDT)
Received: from [192.168.1.183] (host-92-22-57-86.as13285.net. [92.22.57.86])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4710cd833ebsm19427425e9.3.2025.10.16.04.45.41
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 16 Oct 2025 04:45:43 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a634b2f3-aa85-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1760615144; x=1761219944; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=QBSVAVuQOjviGf6IDJyd5Pj0bW/bQ+trKuyvDHY/wj8=;
        b=IHWRYbyhx8jRf8zqN+inbnQfGqDPyDB6CVd6tA7m98dHo3T03KhQ2F89CudeWYnufX
         7Fm4SzIZTjqRgLGuxMbMQ2gG+quisyGvws0Ez2zAUVFO0L1C1Q+BiFQGNlf+zdXk7U2G
         iXSM3+KB7cuXCLcTr4bOfel325Bee3TbsEQv0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760615144; x=1761219944;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=QBSVAVuQOjviGf6IDJyd5Pj0bW/bQ+trKuyvDHY/wj8=;
        b=hfpDH3I9IncqaHPdAmb5+BCfcV8GRqrGwcIn27jyZ9PwhYZ8Celw0/8ufF3AaMtiTm
         RfMwq+kAxjfv56IDoQbXb2gYQDhfdfLlQJgO1aLt5Rx7sFFFO2AquX+8Iu52Fho84+b0
         vtyD6vIBbZMD9EiiWPMRcT0A4gdhM34P29bQRL5x9ga9g0SQycuHJchaCu76vEUhqFJD
         LfqGwWpC0Z3RLwViSGhFscBYZsI9NIbdapEtf2bCCibNofgqBj5G1MCakb9DutHjce8i
         hI6DAe+Nv0NjwVJz8eWK0ZPn04KSmdnw/MkZcV5HvRf9PE9lMpuBrFdtF59ZUBNWSdbv
         xovw==
X-Forwarded-Encrypted: i=1; AJvYcCVoFFYE5jXCmcUe0lyBvMK3CSCRrVLSdK/2r1RCFS3ozEPApPGHN59W9jCrtwjWLgn4r0ZIQavcF4E=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyhvSNmF8RqZgNvEdCww5hepukElo4shoR2NobnauQIqDYmFLXq
	uVcFieQqTp15e3JYWtHCaUJUQQ+2vk6qhgvUfP8ZPssD7F5B3pc+7ByCxkTecB9VCkM=
X-Gm-Gg: ASbGnctHG7njTseXrLL/61eYW5mdh88iIHZ5Ts0R5T+9nSX99LVuz0LtQUyj0WHqbVb
	VURqTC8HtP7rgPVGK3+D6Vd4thUCZEloMTb+3OFOcS4v8Y5Bwc0f9mu0NSs2A+6fCg/pz5azC29
	xkOxuIJLgvz/DzEPe8qOil9XvnIwwtvuNVer35rMAKLjw5weYOTQ5Tn6B4oqSKLm3MihBCb6Na5
	U/liS6ZkZDjIhSi6HVQuyE46mCmE3oDW/wRrjkLtfT3xJKPyNX9HRFwfe9bsK32VfzOBwuCNWHW
	RKbCRA65aYrkaG6CrdXAcBc2A4/FWClRGkCqtbuZ7P0nUyFO21P1t1uH8Bx2Jb6uqHXqPVUFME/
	mLFQ7bJs508IE3iIYdD+53IHU3tM1LHLCXuEry7qwEEbgifq9IxPQq/IfrQPI6i1lfREATZJOFL
	suSY9rp8FOqjXYzvpgXzh2cRWeHu/+Us+bY89S3c5JwXB1b69W
X-Google-Smtp-Source: AGHT+IE9BWmmykwORLn0e4KXPEWPxgSZa511j85Carbf0L/Jf0mqRZiGVRYUcNuNYgZsfc4OQmZrDw==
X-Received: by 2002:a05:600c:c110:b0:46f:b42e:e3a0 with SMTP id 5b1f17b1804b1-46fb42ee4d2mr133439275e9.41.1760615143965;
        Thu, 16 Oct 2025 04:45:43 -0700 (PDT)
Message-ID: <ce0bc10e-cef2-4c74-9fd2-9301416754b1@citrix.com>
Date: Thu, 16 Oct 2025 12:45:40 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21] libxl: make gentypes.py compatible with Python
 older than 3.9
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Juergen Gross <jgross@suse.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <751bb140-3f00-47f1-9492-464c01ea1429@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <751bb140-3f00-47f1-9492-464c01ea1429@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 16/10/2025 12:22 pm, Jan Beulich wrote:
> removeprefix() was added only in 3.9. As long as the "jso_sub_" prefix is
> always going to be there anyway, switch to a less specific but more
> compatible construct.
>
> Fixes: f6c6f2679d49 ("libxl: libxl__object_to_json() to json-c")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> Sadly this is only the tip of the iceberg. Some minimum version of the
> json-c library is apparently needed for the toolstack to build, but no
> minimum version is being checked for.

Well, this is why we have release candidates, and a bug queue.

>
> --- a/tools/libs/light/gentypes.py
> +++ b/tools/libs/light/gentypes.py
> @@ -384,7 +384,7 @@ def libxl_C_type_gen_jso(ty, v, indent =
>          s += "int rc;\n"
>          sub_scope_object = "jso_sub_1"
>      else:
> -        sub_scope_object = "jso_sub_%d" % (1+int(scope_object.removeprefix("jso_sub_")))
> +        sub_scope_object = "jso_sub_%d" % (1+int(scope_object[8:]))

This isn't quite an equivalent change.Â  You want:

def removeprefix(s, p): # Py < 3.9 compat
Â Â Â  if s.startswith(p):
Â Â Â  Â Â Â  return s[len(p):]
Â Â Â  return s

at the top level somewhere, and to call removeprefix(scope_object,
"jso_sub_") here.

Sadly, because string is a builtin type, you can't make the 3.9 syntax
work on older versions of python by extending the string type.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Oct 16 11:47:48 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Oct 2025 11:47:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144494.1477880 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9MSN-0008O3-7t; Thu, 16 Oct 2025 11:47:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144494.1477880; Thu, 16 Oct 2025 11:47:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9MSN-0008Nw-4Y; Thu, 16 Oct 2025 11:47:43 +0000
Received: by outflank-mailman (input) for mailman id 1144494;
 Thu, 16 Oct 2025 11:47: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 <SRS0=CbFY=4Z=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v9MSM-0008Nq-Cz
 for xen-devel@lists.xenproject.org; Thu, 16 Oct 2025 11:47:42 +0000
Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com
 [2a00:1450:4864:20::42e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id eb350ed8-aa85-11f0-980a-7dc792cee155;
 Thu, 16 Oct 2025 13:47:40 +0200 (CEST)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-426fc536b5dso329957f8f.3
 for <xen-devel@lists.xenproject.org>; Thu, 16 Oct 2025 04:47:40 -0700 (PDT)
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-426ce5e1024sm34001713f8f.42.2025.10.16.04.47.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 16 Oct 2025 04:47:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eb350ed8-aa85-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760615260; x=1761220060; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=KckZCI76O27tUokk9V5SlMMsz7F0X6x76XUX6diCJx8=;
        b=P1xncKM/tTWoobv+hyoI090e5dyTVvfmYn0nF/HN8SGRdJvnDuJf5GgUILU1NOuos+
         qd/X4am3fqRfgUd/o/hEfLAxE83h5mJZGr0I5qDsUD3JgKL0dayjnsfEq6y1qeLinp9w
         5P4gZxbZahNMzQT7fwiBEiSoemjRyo/503hPhn2Ax5u/SVixKNKhu4ta7RDhsK5mYBC2
         emu/h4Xs7Im3y/a9kNZCT6MiGX0Cl+8TXYDtVAgJrA/59+SFZOwmWU7uwXfVZ48aA4nH
         1EsKRqeR2w4AurX0Bp36DK0OZ4eQT542kR1j1irnEW59YFkMtgYoyMmQIc/trG4dQkqR
         NzjQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760615260; x=1761220060;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=KckZCI76O27tUokk9V5SlMMsz7F0X6x76XUX6diCJx8=;
        b=HIlsZoqga4vqUCINofZmlBg6ervzEW0kNA4gtFLv3MAk8CxEtekzlWEsTeA3B+NuwJ
         KzgwzdNFurjFmuAJX6skpZGU0Qh4hYxXoQKti5qY1iFPvjBW6ubnli2EJY8BByHa/Wl3
         GyfidrG++W4tSNyTQbBI65MarSBeLUnlWI4cvIivHhOk7yMeKND5g3P6opkDc1HMvR1K
         qni0BgEs6bpUPExOQO3X7s1Qb7v3aVZX6H3fjhpu8ob0RoxjWD44vxJFM9/kLd8lu5xw
         AFC3XXeX2cfGq6S8PhBxoAegxLOoFvCTOvBmdbwhGmnzOrahLeDPZ4V6k0kZdxXR/Klv
         rRgw==
X-Gm-Message-State: AOJu0Yyddbfz0YapGVFvKoB0YVxo2ZQHiqLFXV0IV6/UT9nXzS1Xx14m
	mmdDYd2sIEbyu0CwMSgqE6/iYl8WE/OCdkNhYiC5ewiAtb4/rSb+Krus7wZzOBmiPw==
X-Gm-Gg: ASbGnctwbPD4NuUOx+Ytt+fZ8FEhhWjMEiJr7Ube7h98fUI0ivY8C8NuGK5aRDyrz6o
	moTmoJB0ghkh+6I7NY0MAKn7IFo235aQ4dpkXWz2/SkRTYRdGPzgXnERLDFxqMEXrbcxtqdSFZd
	eoc2yTFnaQYPWhnLTNvTxQimmgSNjg75beZsphm0/AI4uBqy72N7I+ij4nnHJCFxnzvG8QrN98X
	nRttyYSRN566tJVruyYQj0klCQ30Y9Ru0zbiBbybWLQYWmBfdRnke2gTXRuBqGcsr3ZCUVxtNpj
	yC3pYB5xpcgK60m2oBjg5aHlEirOAudO76tOI8EPmbawOxBnZF0oJ9R8A0fCOyfxUZEecsokNS+
	Vd2gjhaEUtmV7TTYnALVQSsvGiH23b9oOAb+yeMjntUX0NqXtqjvLjeptwvay4ZXKQPNn2knTz9
	ykuG+4dPPy31fFYaOQs0YivWJNJDfpYtzONV9rqpyoPFe8p0HE7P4x8u166Wcz
X-Google-Smtp-Source: AGHT+IFdwOld0UFHFKr4ncMFX7tqMmdBqc0rHuq3xXleXGR+vD2K9pI5SryslDxB/3UkWTeHuGYhZw==
X-Received: by 2002:a05:6000:4b0e:b0:427:45f:ee21 with SMTP id ffacd0b85a97d-427045ff248mr259457f8f.27.1760615259743;
        Thu, 16 Oct 2025 04:47:39 -0700 (PDT)
Message-ID: <14bb12b2-1a01-49a8-be9a-6a32c3729e9e@suse.com>
Date: Thu, 16 Oct 2025 13:47:38 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21 01/10] x86/HPET: limit channel changes
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <8d94abf8-70d1-478c-885e-ff9a960ac72d@suse.com>
 <494c897c-a138-4d16-93b2-67e3aa8d41e7@suse.com> <aPDH4-ZEfJ9LGc9J@Mac.lan>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <aPDH4-ZEfJ9LGc9J@Mac.lan>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 16.10.2025 12:24, Roger Pau MonnÃ© wrote:
> On Thu, Oct 16, 2025 at 09:31:21AM +0200, Jan Beulich wrote:
>> Despite 1db7829e5657 ("x86/hpet: do local APIC EOI after interrupt
>> processing") we can still observe nested invocations of
>> hpet_interrupt_handler(). This is, afaict, a result of previously used
>> channels retaining their IRQ affinity until some other CPU re-uses them.
> 
> But the underlying problem here is not so much the affinity itself,
> but the fact that the channel is not stopped after firing?

(when being detached, that is) That's the main problem here, yes. A minor
benefit is to avoid the MMIO write in hpet_msi_set_affinity(). See also
below.

Further, even when mask while detaching, the issue would re-surface after
unmasking; it's just that the window then is smaller.

>> @@ -454,9 +456,21 @@ static struct hpet_event_channel *hpet_g
>>      if ( num_hpets_used >= nr_cpu_ids )
>>          return &hpet_events[cpu];
>>  
>> +    /*
>> +     * Try the least recently used channel first.  It may still have its IRQ's
>> +     * affinity set to the desired CPU.  This way we also limit having multiple
>> +     * of our IRQs raised on the same CPU, in possibly a nested manner.
>> +     */
>> +    ch = per_cpu(lru_channel, cpu);
>> +    if ( ch && !test_and_set_bit(HPET_EVT_USED_BIT, &ch->flags) )
>> +    {
>> +        ch->cpu = cpu;
>> +        return ch;
>> +    }
>> +
>> +    /* Then look for an unused channel. */
>>      next = arch_fetch_and_add(&next_channel, 1) % num_hpets_used;
>>  
>> -    /* try unused channel first */
>>      for ( i = next; i < next + num_hpets_used; i++ )
>>      {
>>          ch = &hpet_events[i % num_hpets_used];
>> @@ -479,6 +493,8 @@ static void set_channel_irq_affinity(str
>>  {
>>      struct irq_desc *desc = irq_to_desc(ch->msi.irq);
>>  
>> +    per_cpu(lru_channel, ch->cpu) = ch;
>> +
>>      ASSERT(!local_irq_is_enabled());
>>      spin_lock(&desc->lock);
>>      hpet_msi_mask(desc);
> 
> Maybe I'm missing the point here, but you are resetting the MSI
> affinity anyway here, so there isn't much point in attempting to
> re-use the same channel when Xen still unconditionally goes through the
> process of setting the affinity anyway?

While still using normal IRQs, there's still a benefit: We can re-use the
same vector (as staying on the same CPU), and hence we save an IRQ
migration (being the main source of nested IRQs according to my
observations).

We could actually do even better, by avoiding the mask/unmask pair there,
which would avoid triggering the "immediate" IRQ that I (for now) see as
the only explanation of the large amount of "early" IRQs that I observe
on (at least) Intel hardware. That would require doing the msg.dest32
check earlier, but otherwise looks feasible. (Actually, the unmask would
still be necessary, in case we're called with the channel already masked.)

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 16 11:51:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Oct 2025 11:51:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144504.1477889 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9MVs-0001Sg-Ln; Thu, 16 Oct 2025 11:51:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144504.1477889; Thu, 16 Oct 2025 11:51:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9MVs-0001SZ-JF; Thu, 16 Oct 2025 11:51:20 +0000
Received: by outflank-mailman (input) for mailman id 1144504;
 Thu, 16 Oct 2025 11:51:19 +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 <SRS0=CbFY=4Z=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v9MVr-0001ST-1v
 for xen-devel@lists.xenproject.org; Thu, 16 Oct 2025 11:51:19 +0000
Received: from mail-wr1-x433.google.com (mail-wr1-x433.google.com
 [2a00:1450:4864:20::433])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6c5604d6-aa86-11f0-980a-7dc792cee155;
 Thu, 16 Oct 2025 13:51:17 +0200 (CEST)
Received: by mail-wr1-x433.google.com with SMTP id
 ffacd0b85a97d-3f99ac9acc4so498157f8f.3
 for <xen-devel@lists.xenproject.org>; Thu, 16 Oct 2025 04:51:17 -0700 (PDT)
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-426ce57d49bsm35873285f8f.10.2025.10.16.04.51.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 16 Oct 2025 04:51:16 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6c5604d6-aa86-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760615476; x=1761220276; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=hIYyQfW0hjADQt2GaKTqFZOuaCC1G2JFdW9A7ayegYE=;
        b=PnbzZ7JaqbWSNNjVJ/7jNviQ3NYy+hlt1SkNhh7cV0kcVabxheCa/RrM9gYw1uPNKU
         WGZhgVXZxiNzoYr0AVHliAeAq+AEiRddJ6r+zP1pmgv5glpoecdD5qKpUMBrpnxJuiJA
         2T++99f0g1cLE20YIhzXD840qjWpyjscSV4ocwzVxPtuqSO8nnEzsO6XP37tkDge3kq0
         zexroWHg8VGOX9h6fHrqlW9ndeNWkNraKJhV0lkd+6U6ZAPLBrpsVJ9lrmDJKM9sV1TL
         QpxLlzq9gSEAoQUg2a0j6Sp6hMi5KA2N06d4XR3cYOQdQnM7+IWc9k0W/q4KYQWmxdJc
         8f2A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760615476; x=1761220276;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=hIYyQfW0hjADQt2GaKTqFZOuaCC1G2JFdW9A7ayegYE=;
        b=u83qK/tRPJgzzPtZUjJjMLud83Rzu4VdRQ9WPZf5vBzV6bxYa2xjinqb9TMng9KWeB
         4EqH4DmqD6o5ta2vckpte0UmDPoUeHwYDSeBgiNa3Y15e7cTom2rUa8MH2YdtXGOFts2
         mDNk3m9kd6TmZkRs70Z6QSocq07kMto1yuO4hfiDKMD21QsYK9jRe8F2o950NYmKbUzD
         fBLwUFUkh/zeEouTDwamUVH7US6oMRHrTV5lNEaWN2fzttYm2cispeEWUrNUJPZHaY2P
         XmiJ8z2/KcL9WDh5DEdGzlT+XVeD6RZM+1V0WG+6T4KRAF6ZN4Kfvdqo9HoKb4TeeZ6d
         UHIQ==
X-Forwarded-Encrypted: i=1; AJvYcCW0/0Xwdm3SkTbF8/7kpz9n22iXIQFnb8wVnCm3378ZWnkvXSOJlPI/RzT1T89w+c6LaiPfUi6May8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzeibDFSy0ussCy8yHRgz6iPfgGeeEgD6GlN8dpZUQ70vDTW4N3
	cu32/F3YBG3sadZ1sjcMIFmymG4CC/tzbOdRT7rGVnWNh7Xl0TVd39PKOf5TQ6WRKw==
X-Gm-Gg: ASbGncvGv8BuZxzZHDHiwPFvqk0NLruKSISuir5VkLrkup8kkgdXRegC7sjolCL+/jk
	dFykyWXuGR+5CVr8epQKA8HsdrhLSLY6EdImbUz6Z/UgHLaEUO+Rlw0fOXEt4tnu8C/qU+BoKFd
	W/c1i8H2BAJqNGW98FTIxyxdznQYFc8y59ZPWZ/Glbn3LSCZdxY10r6sN4mwDBTarF1XGzBYGoT
	IBeXHZlp6lJH85pZ/K+MMnU3f5YN88j+VGlKEbXZf+GKFXefzndjniP5T5VaWsoja7q+PvXvPjv
	hc8lXPr86XHvo4uwMFadSI/ZBdQUFNPjAnYfa+7rDp3Vb+Fj9SR5F78ala9KPJ24QU+faNWMm7G
	pg9gMarsbc0T4K8fV4xh1/6YMlczyb3Bp8yWfr/Kb5JxqjY5iRdn30/Pg5zr884jtDrutUmBHDD
	5W5gFNj96b0yAgFFENtKPJxfMSfM6x7exznwAO7smfdo2feP6644u8fht7T2wRcAdzbG/ODIo=
X-Google-Smtp-Source: AGHT+IF4e6N+sq27wDRbftssM26SbbP6YQo7PueenXhfvQCJFI1c3mB+LIUeH0UdqmgxuDNdBfUVyQ==
X-Received: by 2002:a5d:5d13:0:b0:425:7313:b561 with SMTP id ffacd0b85a97d-4266e8e5115mr20596418f8f.63.1760615476289;
        Thu, 16 Oct 2025 04:51:16 -0700 (PDT)
Message-ID: <81c56c9c-882e-4433-b41a-6952315efa25@suse.com>
Date: Thu, 16 Oct 2025 13:51:14 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21] libxl: make gentypes.py compatible with Python
 older than 3.9
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Juergen Gross <jgross@suse.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <751bb140-3f00-47f1-9492-464c01ea1429@suse.com>
 <ce0bc10e-cef2-4c74-9fd2-9301416754b1@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <ce0bc10e-cef2-4c74-9fd2-9301416754b1@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 16.10.2025 13:45, Andrew Cooper wrote:
> On 16/10/2025 12:22 pm, Jan Beulich wrote:
>> removeprefix() was added only in 3.9. As long as the "jso_sub_" prefix is
>> always going to be there anyway, switch to a less specific but more
>> compatible construct.
>>
>> Fixes: f6c6f2679d49 ("libxl: libxl__object_to_json() to json-c")
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> Sadly this is only the tip of the iceberg. Some minimum version of the
>> json-c library is apparently needed for the toolstack to build, but no
>> minimum version is being checked for.
> 
> Well, this is why we have release candidates, and a bug queue.
> 
>>
>> --- a/tools/libs/light/gentypes.py
>> +++ b/tools/libs/light/gentypes.py
>> @@ -384,7 +384,7 @@ def libxl_C_type_gen_jso(ty, v, indent =
>>          s += "int rc;\n"
>>          sub_scope_object = "jso_sub_1"
>>      else:
>> -        sub_scope_object = "jso_sub_%d" % (1+int(scope_object.removeprefix("jso_sub_")))
>> +        sub_scope_object = "jso_sub_%d" % (1+int(scope_object[8:]))
> 
> This isn't quite an equivalent change.

Yes, as said in the description.

>Â  You want:
> 
> def removeprefix(s, p): # Py < 3.9 compat
> Â Â Â  if s.startswith(p):
> Â Â Â  Â Â Â  return s[len(p):]
> Â Â Â  return s
> 
> at the top level somewhere, and to call removeprefix(scope_object,
> "jso_sub_") here.

I first thought of doing something like this, but then didn't really see why
we would need such. If the prefix is anything else, the original construct
wouldn't work anyway (I expect an exception would be raised unless the incoming
string was itself consisting of only digits).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 16 11:57:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Oct 2025 11:57:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144513.1477901 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9Mc6-00028k-Cd; Thu, 16 Oct 2025 11:57:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144513.1477901; Thu, 16 Oct 2025 11:57:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9Mc6-00028d-8b; Thu, 16 Oct 2025 11:57:46 +0000
Received: by outflank-mailman (input) for mailman id 1144513;
 Thu, 16 Oct 2025 11:57:44 +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 <SRS0=CbFY=4Z=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v9Mc4-00028X-QN
 for xen-devel@lists.xenproject.org; Thu, 16 Oct 2025 11:57:44 +0000
Received: from mail-wm1-x334.google.com (mail-wm1-x334.google.com
 [2a00:1450:4864:20::334])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 52a4eeb9-aa87-11f0-9d15-b5c5bf9af7f9;
 Thu, 16 Oct 2025 13:57:43 +0200 (CEST)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-46e6ba26c50so4676995e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 16 Oct 2025 04:57:43 -0700 (PDT)
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-471144c900asm22262685e9.16.2025.10.16.04.57.42
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 16 Oct 2025 04:57:42 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 52a4eeb9-aa87-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760615863; x=1761220663; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=xfs+dXSZnStKUCqs2PMOqAywh/wEG7zYNoghKzAAufI=;
        b=LKMLfZbu2Cna458WhdxWUjK22Er+04xOyEOAbAviJ4A+ga7WJl51pFJ/HCiNh6MMe7
         DyOA+QH4D7fveko+GOPN60gQgLl+zaYQ5g1DrtN3bffRfqgZO1d0Rfp00rKiFs3oq5Oc
         s332/m4Y5E09iPVSg6SFxB8X+0qFZvXn6poZdkaQ7sBesNHCMl4drLZbFsucuxJ9AgNv
         j07Vj3Af2DehqNDyWU5zjeunEQhHAIrlvIHRIjZ0PDXUuAS2qn9hoQ5sNiguklsusGhk
         odhTHMw/YZZ8RF64byXdASYe6yoedjzx/mq88xHGc0S3wHoWndatSz5z+8APrLjPg6Gp
         brTw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760615863; x=1761220663;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=xfs+dXSZnStKUCqs2PMOqAywh/wEG7zYNoghKzAAufI=;
        b=C/8yx6L/n+Z4CQYMdmaLwQEU2R5nFPpjXoqykeWkBC81UQvOUYE/peZq38MBZO67Df
         16ssrDDDHu026rkSBWzsnNn2Xzb5NqylV5VkUscGFH0cqBoeQQx3wQBFa/f7HnGRreKd
         zqLDXBvA5O+HGmH47TRzxs82CIP+fpT01YY5uhIuQS0vB6/63McAx+LOl06LrujtXHmL
         HQz93Hq2UUV/Py2yjpM7Tk312CGglo5RRMhG7tJQIbhveziLU44xgMs+7EFevL6NLGGj
         wqmN++f/K8xTzzpmFqyGxLLvNBAvuaZVbCG2rbATf3SjEUJRVEmXUD5Q27sWFv6+ZoDb
         haTQ==
X-Gm-Message-State: AOJu0YzHMET5kdX4qW5vroYG7AT3lAdRu7/1V6ig8V/Ditnzv2QSGpyq
	8d/bN1BdDjcLVHfrvHRYL1iirkUY1j1vV7TbQ1JHuWLWkHmq0pZm5dgGw/JGtJydEQ==
X-Gm-Gg: ASbGncvSy5Ftpo1UAnSfikZ7cNTiXx3bRf+FTVoGC5rOG/Qxh5AZyqN4hWXccE+CMiE
	AoFVjJa50y+02jYM/tzzldVAXYmVrT8Dtx+xZXkystRUQwXi0ujeBv/c0yT4miqwhVFQQSwhlu9
	00xIRzKlcR5BlRqaGni270fojMyVkc999o7WlKmz0XgcOLSW/hIEID+HGVnAFz7KbIUU9ego1Vf
	j5hMcz2ih2hbJFT7rJYOhvALVPGc43NNsAflCZp+EhJhZ+Cbkow8c0WF5lysbZ5VsvphSpVgJc2
	WEVtpP7fsu9pcgBQ6QEvCs4bmlS7fo8IEh8SrcXLlRs8GgOum4j5safQih5gVGJrFLyzKCYwrMW
	L+qfHk/oKQ5SCS3vveKEOTe4niojtHgZZJGrbCzbNVJxK8ZJstDi6YR535yP3ka8s9ct9Fyg/vT
	/+ZeJuq37tZUV+B/my2zVD0MFlcHe8/Yd/iU7ZV4+JJrtctER+vpQErrLiCF8OhuCiW8BpLy4=
X-Google-Smtp-Source: AGHT+IF2XZc3R8xEaoVVSgFuJfUKCCS6NBQIOnaIC/ncHBX5NEfKS0OERgLwo7YdbPQ7v9QminqtSA==
X-Received: by 2002:a05:600c:a4a:b0:471:672:3486 with SMTP id 5b1f17b1804b1-471067234b4mr42019985e9.15.1760615862827;
        Thu, 16 Oct 2025 04:57:42 -0700 (PDT)
Message-ID: <bc7467ca-ba06-417c-8583-8de3782a1d83@suse.com>
Date: Thu, 16 Oct 2025 13:57:41 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21 02/10] x86/HPET: disable unused channels
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <8d94abf8-70d1-478c-885e-ff9a960ac72d@suse.com>
 <8913e64b-d172-43f9-9c4d-447ba4984c9a@suse.com> <aPDaIssJOFh00-W7@Mac.lan>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <aPDaIssJOFh00-W7@Mac.lan>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 16.10.2025 13:42, Roger Pau MonnÃ© wrote:
> On Thu, Oct 16, 2025 at 09:31:42AM +0200, Jan Beulich wrote:
>> Keeping channels enabled when they're unused is only causing problems:
>> Extra interrupts harm performance, and extra nested interrupts could even
>> have caused worse problems.
>>
>> Note that no explicit "enable" is necessary - that's implicitly done by
>> set_channel_irq_affinity() once the channel goes into use again.
>>
>> Along with disabling the counter, also "clear" the channel's "next event",
>> for it to be properly written by whatever the next user is going to want
>> (possibly avoiding too early an IRQ).
>>
>> Further, along the same lines, don't enable channels early when starting
>> up an IRQ. This similarly should happen no earlier than from
>> set_channel_irq_affinity() (here: once a channel goes into use the very
>> first time). This eliminates a single instance of
>>
>> (XEN) [VT-D]INTR-REMAP: Request device [0000:00:1f.0] fault index 0
>> (XEN) [VT-D]INTR-REMAP: reason 25 - Blocked a compatibility format interrupt request
>>
>> during boot. (Why exactly there's only one instance, when we use multiple
>> counters and hence multiple IRQs, I can't tell. My understanding would be
>> that this was due to __hpet_setup_msi_irq() being called only after
>> request_irq() [and hence the .startup handler], yet that should have
>> affected all channels.)
>>
>> Fixes: 3ba523ff957c ("CPUIDLE: enable MSI capable HPET for timer broadcast")
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> A window still remains for IRQs to be caused by stale comparator values:
>> hpet_attach_channel() is called ahead of reprogram_hpet_evt_channel().
>> Should we also write the comparator to "far into the future"?
> 
> It might be helpful to reprogram the comparator as far ahead as
> possible in hpet_attach_channel() ahead of enabling it, or
> alternatively in hpet_detach_channel().

The downside is yet another (slow) MMIO access. Hence why I didn't make
such a change right away. Plus I wasn't quite sure about the locking there:
Imo if we did so, it would be better if the lock wasn't dropped
intermediately.

>> @@ -542,6 +540,8 @@ static void hpet_detach_channel(unsigned
>>          spin_unlock_irq(&ch->lock);
>>      else if ( (next = cpumask_first(ch->cpumask)) >= nr_cpu_ids )
>>      {
>> +        hpet_disable_channel(ch);
>> +        ch->next_event = STIME_MAX;
>>          ch->cpu = -1;
>>          clear_bit(HPET_EVT_USED_BIT, &ch->flags);
>>          spin_unlock_irq(&ch->lock);
> 
> I'm a bit confused with what the HPET code does here (don't know
> enough about it, and there are no comments).  Why is the timer rotated
> to a CPU in ch->cpumask once disabled, instead of just being plain
> disabled?

Because it will still be needed by the other CPUs that the channel is
shared with.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 16 14:55:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Oct 2025 14:55:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144550.1477913 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9PNW-0006Gm-CR; Thu, 16 Oct 2025 14:54:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144550.1477913; Thu, 16 Oct 2025 14:54:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9PNW-0006Gf-9b; Thu, 16 Oct 2025 14:54:54 +0000
Received: by outflank-mailman (input) for mailman id 1144550;
 Thu, 16 Oct 2025 14:54:52 +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 <SRS0=CbFY=4Z=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v9PNU-0006GZ-JA
 for xen-devel@lists.xenproject.org; Thu, 16 Oct 2025 14:54:52 +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 0ecd8810-aaa0-11f0-980a-7dc792cee155;
 Thu, 16 Oct 2025 16:54:47 +0200 (CEST)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-46e5980471eso7047355e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 16 Oct 2025 07:54:47 -0700 (PDT)
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-426feeb7441sm4682627f8f.43.2025.10.16.07.54.45
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 16 Oct 2025 07:54:46 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0ecd8810-aaa0-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760626486; x=1761231286; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=9eBdTmKsmwLUXo2wo+GgjjgvZUHK8lSBHQL0560hrzU=;
        b=MHHUWClvglAn7TWx2P9Q2kGJaoBjIi96DNfytEie+wcBIOb8Ju7MFGnEuaPpYTkb/z
         X6rBtnWbYe0ENqb/Y1AkQmdvCzeJvaFj/MSpiPzRqFzl6PID2upRrjmseBUa5qwW56FP
         RfALH3HZyoMvqbYrNmDuR0nFkQOhfZJLwlevnl+qDQnQv2ro8sfTBJTIptotKsqt2HyW
         +QIBPAc+pRcyhwqJd8utkn3w50tPMIn2jIrLIbs5rS7qgggs+WN+7oDiIL5WsKgjIvru
         2xi1eGdUqp6/BF1VHbqcMcq6c+mZB125727QlUf4X1P92l2KTzv17KFvJbo8yaFN+zzE
         wBjw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760626486; x=1761231286;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=9eBdTmKsmwLUXo2wo+GgjjgvZUHK8lSBHQL0560hrzU=;
        b=CRQdbSHJdndZNb0digxtSfsCYgqmdcuzwGtpD+IE0bZSByg7roOF7X/iXZcx5vgtLT
         sOSco7wsOLOaoclsoNm1adbwke2t1PwcBmtgVxt2cEcoJfbKvq3t9psPCmQ8ZDRQHfMX
         BjhASomRgJ3LcBLhrPq4EuTmqaTgCrdraWIsf53z0JXw2uQ27diTgUtlMcttoDwrwyjE
         kPw1HW1lPp8I+iFtP38EMtFulpvrY9nXK8rS8BgCayLHWPA7Jm9J18A8k+1sOHIGr1Xb
         G642rdtHBA8nGSBCtUMpu6F36X28UdyaFgVU7zoribI3/JMq5ugaB+73b51v4xVNvEhZ
         jxcg==
X-Forwarded-Encrypted: i=1; AJvYcCVxFYcakRi6tDXwoKoJbygF1VKq+DXQELu8PuPOf2QiXhcsswqjMYxYHOEMRDElbzjPAUEhBtw1sIQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyrJ5Z8WJMMkqKCdrZfzx4gH1/Z4gvy8fMPcZ3fOKaZ8/fuaiz9
	BhRj7lCUW+p2zYCPTJSpURfUlUb6rJlbFQ+21ASKTEHpaFu4soSgwMK1Us2cEmGJVg==
X-Gm-Gg: ASbGncs98mMdvLX2TaeKwconVqrKwMNzuvFuzoETcLNwQog89r3Cp/ojzC9vf6eq9RE
	7X3ROLL82IMm3CCaFMpocrz4XsI393dGqtrl1ugYAqiSmfhEX2GnXqpA421H8xsP3k25tasX/NI
	lxX7LZMQC0etkogOgUARK3hlcquTy07dBpc0TfgGwtERNLdUg1o3Out0VRt7lcDJhueTv3IrICT
	9iTmTd7rRvbrA72EkUdCCrEiNwoD0F6BCp3qPZ0nZcHEMFxNY05OA4NfxRRFoPk0wZmHuZJXbIf
	ciHRPm4pTkHjaEAPNd84C1YMziPyOvuSSiWUiPx8UT6rB5CWbOjJowWXj3qtAXp2fZEMLpDgqW3
	Do0yexSxUDWq2N4nxNO8SNQvVqoS6t0rVEHvdTGReoBjRa2I7ZBgWlOYgUpNkJbMiCSWIAXhzPE
	LgyNsj4L2HXzNzv133sdTl3Eap4OBhNty4zF1fsWrrjsk8l4pg4NnNq47UJkAB
X-Google-Smtp-Source: AGHT+IF4k/RkfOmUhgYe7FVDpf9ks1g+cj94xRjb2wR4nYY6zyy/JRFUX//zdaClZm94scJWzrnSjA==
X-Received: by 2002:a05:600c:4fc2:b0:471:1765:839c with SMTP id 5b1f17b1804b1-4711791299amr1711675e9.20.1760626486341;
        Thu, 16 Oct 2025 07:54:46 -0700 (PDT)
Message-ID: <5e75d176-60f2-4cd1-adfa-d799f2756dbd@suse.com>
Date: Thu, 16 Oct 2025 16:54:44 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 12/22] x86/traps: Introduce FRED entrypoints
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
 <20251003225334.2123667-13-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251003225334.2123667-13-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 04.10.2025 00:53, Andrew Cooper wrote:
> --- a/xen/arch/x86/include/asm/asm_defns.h
> +++ b/xen/arch/x86/include/asm/asm_defns.h
> @@ -315,6 +315,71 @@ static always_inline void stac(void)
>          subq  $-(UREGS_error_code-UREGS_r15+\adj), %rsp
>  .endm
>  
> +/*
> + * Push and clear GPRs
> + */
> +.macro PUSH_AND_CLEAR_GPRS
> +        push  %rdi
> +        xor   %edi, %edi
> +        push  %rsi
> +        xor   %esi, %esi
> +        push  %rdx
> +        xor   %edx, %edx
> +        push  %rcx
> +        xor   %ecx, %ecx
> +        push  %rax
> +        xor   %eax, %eax
> +        push  %r8
> +        xor   %r8d, %r8d
> +        push  %r9
> +        xor   %r9d, %r9d
> +        push  %r10
> +        xor   %r10d, %r10d
> +        push  %r11
> +        xor   %r11d, %r11d
> +        push  %rbx
> +        xor   %ebx, %ebx
> +        push  %rbp
> +#ifdef CONFIG_FRAME_POINTER
> +/* Indicate special exception stack frame by inverting the frame pointer. */
> +        mov   %rsp, %rbp
> +        notq  %rbp
> +#else
> +        xor   %ebp, %ebp
> +#endif
> +        push  %r12
> +        xor   %r12d, %r12d
> +        push  %r13
> +        xor   %r13d, %r13d
> +        push  %r14
> +        xor   %r14d, %r14d
> +        push  %r15
> +        xor   %r15d, %r15d
> +.endm
> +
> +/*
> + * POP GPRs from a UREGS_* frame on the stack.  Does not modify flags.
> + *
> + * @rax: Alternative destination for the %rax value on the stack.
> + */
> +.macro POP_GPRS rax=%rax
> +        pop   %r15
> +        pop   %r14
> +        pop   %r13
> +        pop   %r12
> +        pop   %rbp
> +        pop   %rbx
> +        pop   %r11
> +        pop   %r10
> +        pop   %r9
> +        pop   %r8
> +        pop   \rax

For placing the entry_ssp field I came back looking here. I notice there
was a v2 comment regarding the rax macro parameter. Besides there being
a limitation on which registers may be used, a %rsp-relative memory
operand can't be (cleanly) used either. I think if you really want to
retain that parameter, some warning needs adding to the comment.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 16 15:07:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Oct 2025 15:07:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144561.1477922 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9PZV-0007zf-CR; Thu, 16 Oct 2025 15:07:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144561.1477922; Thu, 16 Oct 2025 15:07:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9PZV-0007zY-9k; Thu, 16 Oct 2025 15:07:17 +0000
Received: by outflank-mailman (input) for mailman id 1144561;
 Thu, 16 Oct 2025 15:07:16 +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
 <SRS0=NIav=4Z=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v9PZU-0007zS-A4
 for xen-devel@lists.xenproject.org; Thu, 16 Oct 2025 15:07:16 +0000
Received: from PH8PR06CU001.outbound.protection.outlook.com
 (mail-westus3azlp170120001.outbound.protection.outlook.com
 [2a01:111:f403:c107::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cb4e4b71-aaa1-11f0-980a-7dc792cee155;
 Thu, 16 Oct 2025 17:07:14 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by LV8PR03MB7448.namprd03.prod.outlook.com (2603:10b6:408:182::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.12; Thu, 16 Oct
 2025 15:07:07 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9228.012; Thu, 16 Oct 2025
 15:07:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cb4e4b71-aaa1-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=iwj0iq8Nr9CdV1weKZq44RVL2rdHCT+/B/a98tXyaykIOF6bgZ8vQXzvCGKXRi789U+ntWBjbnWEC18Pp7tdb/qTdfVKIb2xfS63rDbvNNJbyFp36ze1jy2DcNwlqqTTUSfhTbNExEv4/06yfMFf7/2HZuwAb9JZ7GMhAK9JFm5p3xfjobFRYxWBymRJz5LMWceWmzYSsB59JjaPTT5GOXoL9/10wFS0EJ30YpR8+Wp2h2u/GLQN1SXeKm59K4KLWlQsuqNK8QVWgcDsvf7X/TrG0ACToFwLFpAhU+TD5CSpL86WDaJrX5NC/6Mk3NntnFEm2wr1mvKa0fKzm1PxCQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Bl469f79AQB426gIggW5HVGm2UDkvhKOGqmmQIlWQf8=;
 b=Bgp7fYc+YWS316GMCJK4LpFVDvGiEAOfTAaxclDAiiqjXjOizGzQtxhWihmX2e7jYhRoLzwb9eRZZioA7Wr6BJpI4u0EYcVZ58z18qM9oYjJzpscb/9qBD1JD0UuTBx3fKX2tpQF0LEMbpAYDfA0tckKjj93YOQz6TLFaPDXHEO/P1GLiffCzOhWSqweWeAEbfFtMIJ/zThyCfCAM8OtYsOViSTF3WoEFgDKGFkZ4sBXneJZxj9yauHaVMLSd8vdLaE/RpdCs5Zw2ngQzaDc2rP2fBJrH0LPL/9ppm1uAx2OECtQhPaqQIOf3s0XrM5fRqslmanviszcyQ4zdN/jIw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Bl469f79AQB426gIggW5HVGm2UDkvhKOGqmmQIlWQf8=;
 b=cW/pPsPKKR+dZow9DMSjGvX1LHrtDweM265ZSZHY10yV/ED9hsYi6pTHHHqamAbllaQMZQe0g1LnJd0wuNJ5yqRvd9oupeSk+mD9UuEtylAwF6xYqOiSJbpa2QTDOEU3cuuDv0AU8C11BrSZxRcwekn7K8K89f0ZNlypMjPitbg=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 16 Oct 2025 17:07:03 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.21 01/10] x86/HPET: limit channel changes
Message-ID: <aPEKFwPe-PiHh-Ay@Mac.lan>
References: <8d94abf8-70d1-478c-885e-ff9a960ac72d@suse.com>
 <494c897c-a138-4d16-93b2-67e3aa8d41e7@suse.com>
 <aPDH4-ZEfJ9LGc9J@Mac.lan>
 <14bb12b2-1a01-49a8-be9a-6a32c3729e9e@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <14bb12b2-1a01-49a8-be9a-6a32c3729e9e@suse.com>
X-ClientProxiedBy: MA4P292CA0012.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:2d::9) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|LV8PR03MB7448:EE_
X-MS-Office365-Filtering-Correlation-Id: 35693e34-79f6-4ca7-9ce0-08de0cc5ac33
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?OXE2Z3c4RUg4N0dWTFpvSXNhTi9RdDZSUFhNQVdRWTU0UmVuMjhnUExrZWZI?=
 =?utf-8?B?ZW40WlJlcU16SGtleEFYSUVORzNJVmlGZFZTTmtKdmptT0pPcVZMMHRxcnNI?=
 =?utf-8?B?ZlFMaW02MW5zcmI4UWIwNmZkcTRoS1Q2ck8vWHZlK1hXWXExOXBpUE9FS3ly?=
 =?utf-8?B?MzZucnhKcVpxY09wbUlZVUd6ZXZtT3JNZm1qOSs5VzRZTk5LVEgrOW9ocEpN?=
 =?utf-8?B?U0pFUEU5empjakVaTUFLTmZBSnNPQnpuQzg2V2QzdDdPMXdVZGxnMGhhVklT?=
 =?utf-8?B?dWRwcHAyaWRJcVdiNGduczJ4MTN2QkRiYzZDM0s4b1ZCem5ydXlEVWp1bWhX?=
 =?utf-8?B?eDBuQlJNS2x1ektHU1hlZjR0NlQwUkJybDJ3QjlVSUJGenY4OGh0RlhuaWx6?=
 =?utf-8?B?YnZBOHVJOThUaFQ3YXI2NUZQcWVPL2VIdHpDR3dpdE1vdk45aWVpbG1FUG1p?=
 =?utf-8?B?SXhlZElWem5xd1MyNEU3R3JuQnRmSHNaYTd3bGpDK2hCc24vN0NWOTNmQ3RR?=
 =?utf-8?B?emoxVXh6bWdBbTRGQjhSTzBGdVVFdmpQUWtZK0R4dHo0NVk1VXZ1TGRZUWp3?=
 =?utf-8?B?NjdYM0JXRHFuSDdqdnhzQUZjdHZSUDlTWk9NdmRYRmkxL0pWeFVWcVJPK3BC?=
 =?utf-8?B?cW4vMWpVKzBIZVhJWGNGWkVDWnVmUXF1ZGRKRHNtSWNDdk1YOEo0Q2hqK0ZG?=
 =?utf-8?B?dHZTZlZtQlp0RXpDYi9icXN0Vk91eGRHYVJPNWNHVGh4M0h3QUVXM2FLeXdY?=
 =?utf-8?B?MGdJS3F6ejZoUVErZjJTdndscVR2VWZ1S0dWM25Sd3I2SmJEWW53clVXYlg5?=
 =?utf-8?B?a1ZOb3BINHY3cjZMcFRmdWlYQWNERTAzRjkrYWk5VVFReXkwQ25VN1F3Q091?=
 =?utf-8?B?VkdwZnBrazUycWYvWjFYTzBuUlJ0Yi9PSXMyd3FsdWxpbFcvYnV2ODdkRGpo?=
 =?utf-8?B?T1c5UTdkYTliYVIxL2p0S1BRYzBaako2Y2pkVFAvbWl2dFVPSjhxY2taQkVF?=
 =?utf-8?B?UW54VEJHY2V3REdrUFpkVldSZEpyaEN3TXFiMTZVdThqaVJXN3crek02bE9C?=
 =?utf-8?B?RG41L0UwUnhPK3EzTDZiV2pheUYvZmhZdkZRM1I0dFFmRHFxUmZ3anN1OWFk?=
 =?utf-8?B?UXJjeXliVWIyQkVkalZuVTQ5THN2eFJKYTgyZlJZRG95WmRkalUzT0ZiRVVP?=
 =?utf-8?B?dXpQQXRrVERQMEo0QlM2RGtKdjJ3N1ZGVlBiOVFzQ1JWMzhtWmNyRlRmYTFx?=
 =?utf-8?B?S0x1V291MlhaekhzRXhHRGRJQWdVMUZvNHBsNUhUN2dieDAyT1dWSDYrRDN4?=
 =?utf-8?B?ZFBFQWRCSEpTbVpxYzRZZk4zS0hyMHNETzF3aDBPa2N2NkE2aHNqaHBHaWcz?=
 =?utf-8?B?SWRuNVBCZ20yTlNZV1FFREF3TDRjV0NOZ3U4eklnZExpNUhKZWJqL2ZrN1FR?=
 =?utf-8?B?T3dCWVB3TTV6SmJRdkRBRG94T1Z1bXdDbWM1YzNVTzZlTUs4VSttbTQzUEJL?=
 =?utf-8?B?Tno3OTVVQU4yRXNTQjlFYldraDU1ZHR0aXpLaTZCWDRDOFFpV3VROUVXL2hm?=
 =?utf-8?B?OUtBaE9Td2U5L01DTmhscVF1RDFvcXhjYmJwQ0d2d1pWa1JURmo4U1h5djRH?=
 =?utf-8?B?bURlcHJyNDRFWTJXMnFNOXlNaDk2ZU96Z2lVOE1vWUsrb0lxbTdCc25lYW1w?=
 =?utf-8?B?MWt2TkdqcnkzcjN5S1pTcCtTeUJUelJuM1ZSZW96UkFFU2Q0dE40bjlFZkEr?=
 =?utf-8?B?dVRsNllwNXRCbGY3c2RXLzFFWU1yOWwzVzh0ZjNNUVpMdnlRQ3puRDV0NmlM?=
 =?utf-8?B?amtKbjVoSmdVVlBidnlOZS9LQ0JLWFJrWTdDRjlGL3Z5bFdPNzh5YlhVdUdO?=
 =?utf-8?B?RHd2Z2FYR2xLL2lsVmpYS0lMV3RSYjlVWnlPZlM2SEdRemk4VFFBUTA3YWN3?=
 =?utf-8?Q?8YolZNZJ2Sks17lu9myGzpPGRRGlOdTm?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?b2xrK2ZyenRJazY4MTMxRXRFcU9XdWRrV1IzbG5QdG1SVmhGVEM0L1FrbXMz?=
 =?utf-8?B?bFVRQ0JXQ1VhampuTXJySU4vS2lwT0NvU3o3cjRkM2xueTdHOWNGb0VKMkpi?=
 =?utf-8?B?ZWZ5aWZicXVwSE9qMlM1Ui81azM4b2xmVVBnQWtqdUNQbDVqbmx0eHM4blNQ?=
 =?utf-8?B?ZnJpMXFoQUhPWGVNVWxTcnQ1OGVESWhHcjZBY3V1cWgzc25ib2lPcDZaOGNZ?=
 =?utf-8?B?blZONEZvODBMb1JmcUxLRWNjR012M01ycVhZajRKeGRNVkFFMXp2bUhYcUxn?=
 =?utf-8?B?c25XcWFzUERrMEdNNHZvaGJyMThvRVVBVnEyaUp2YmNNanEyUTZxeDUvRVlK?=
 =?utf-8?B?K040OS92SndoN1VRdGpvNWUxTFpHN3ZlOGcvaElGcVNuWEI4SWtHOThmSFNK?=
 =?utf-8?B?SFZ5QTZPaXRIOEVTVDFXc3FqM3VCb3dIdlcyUC83OXZCeDNUYTkwTGF4cStE?=
 =?utf-8?B?bG1GS1B5Mndoa2dPdWFmZ2RUam1kUFUwN3RwNnFRMlFldk53bHhGR1hJeUpQ?=
 =?utf-8?B?OWEwV25Oc2lVdXFFazBqS20wQllTOFZmeTdnaWIrMnVTM1hFZy8zREcyTFNp?=
 =?utf-8?B?QTdQY2hnREN5cU5BejBYSzhJQWNyVzhJcmJ1OVMxeFlBUWN6N1BKMEtPeDdF?=
 =?utf-8?B?WnI5WFM5MHo5NGw1UU0zcDlOYnIyNWJJMzNtemYwNUJBQ1Bta3B1OHVMMmM1?=
 =?utf-8?B?RDQxVHRscVk1R1lBdzdrZnZkSkZ5MlUyMXUxODBIYXNBNVNYOVZzbDFaMk0r?=
 =?utf-8?B?elZLNG01RDZ3TEdVRGdXa3RBa2hoeHVyWXhWbjNXSit1UkFMTUtIbWY0cmZE?=
 =?utf-8?B?bElDVlBYcGJVY0hYZGhLZFg0K2RXdCsrU2FFYkV2MVpSc0x1WUtrOXI0NFM1?=
 =?utf-8?B?VkpETUt5dFkyMHBlMEZlNWpiMWZtaWR6c2tJVW9pUyszMlFINE1ZK3hEYXR2?=
 =?utf-8?B?UTg2WUF5OEhUbmRMSkFwYTJXek9vWjY2OHJ3ZnFkbnJRVWlVaWZia3ZwRmRI?=
 =?utf-8?B?N2dIK2RjVFNJS1FPWmhFZW9GOFoyWkI2bzdxUTIyYWNLTlhFRWkwaUt5a0hN?=
 =?utf-8?B?eGZEbHg0cXkvSUkwaHI3dzRZcUc0Z0R2SjVSOVRtL3A1SDRFeTV1anBQRzU3?=
 =?utf-8?B?NXk0NUhic3p2L1hIb3pyWTlUK09lT1RkZGxmZDRyalRNMCtEL1NJTHpkelMw?=
 =?utf-8?B?dmRKUG0rU243OXVnVUhIQ1g4cmE3WXd3UnZ2RlJiclRRTmk3MTE0RWNrSnhQ?=
 =?utf-8?B?VDdLUjVMYzNYMUg0bHpLM1Y3WFFyRXdVMnhjT3F6L05IMGJ1Z2V4ajd1RXE5?=
 =?utf-8?B?YVM4Y0FpU0JaaHNKc3AzNXhEdUQvNk4yQ090L1E4SFhtVFRCNHJnMVgzMGdl?=
 =?utf-8?B?LzN4alg2RDQvWVkwMlpMaWZTa1VuYS9XS0NaWjloV2h4OHJIRjJRek1ZT2pr?=
 =?utf-8?B?VkRZRHlITmxJZTByRDNUYXM2REdYSFJ3aHZOT1p2NUV5L1JvL1A2Q09sSE1H?=
 =?utf-8?B?N0twSjJCQ1RuWnNwV0U3YklrVTh0VlZCdG5TSVNmMDEvZmE5Q3Y3aU9iWTUr?=
 =?utf-8?B?WkdXeUxjNnZBZFQ5dER2Wll3a0ZwYVA0aVJJVW9YSVRsbjN1amtmV0RML05O?=
 =?utf-8?B?RGs3YmtnaVl2N3RnMis4endJbHkzSWRMcTQvZDFiWkZnUTFtM2hReG5nR3By?=
 =?utf-8?B?ZEI0WmxMMUJPZkF2bXhVK1hYRDF0S0NUS2FlT09UOTdWT09CRXB2WlVWSkxY?=
 =?utf-8?B?M1dSQnlZVkdabG9rNUJJSzF3SDRYcVBkaE41Mmk3YWVwQkxLOVoxZ3RqOWNh?=
 =?utf-8?B?VTVQbWpiOFVHdGhEa2pKN0I4Ujlsb1Y0aGc2bXRja1hqTVBlalhaNTlrdy9I?=
 =?utf-8?B?ZWxZQ1MvQURhV25vYmdYN095M1diQ0xhaFNKc0F6Y3JsR2pldTFnYXcvdVk2?=
 =?utf-8?B?ZkdoK21UaVZNWE96RDgrdnBrVnFpaDlYUjc4VFhYY0xLUUtycjA1WXVlcFJD?=
 =?utf-8?B?b0lKbk9QZzB4MDJJZGRVM2JyZUdOSUFPS2wrbFIrcEd3S3VxcDVFMSt3S3FY?=
 =?utf-8?B?QVZWQVlPbHROVkNqajh2SVBOcVhwMHA0WXlxZWhBbDZGd01qcnNLZVBkbnN4?=
 =?utf-8?Q?q8d4Evb0kQseXbTDXhpOKEarj?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 35693e34-79f6-4ca7-9ce0-08de0cc5ac33
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Oct 2025 15:07:07.3177
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: gteeWEOhW+QL8WGEgXvUzqroqhbqsU9Vohp6RZPJbhwPtXWiTsK/MpXjmRK8D+EuL5RcRgQqi3BSqiIe5iJOGA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR03MB7448

On Thu, Oct 16, 2025 at 01:47:38PM +0200, Jan Beulich wrote:
> On 16.10.2025 12:24, Roger Pau MonnÃ© wrote:
> > On Thu, Oct 16, 2025 at 09:31:21AM +0200, Jan Beulich wrote:
> >> Despite 1db7829e5657 ("x86/hpet: do local APIC EOI after interrupt
> >> processing") we can still observe nested invocations of
> >> hpet_interrupt_handler(). This is, afaict, a result of previously used
> >> channels retaining their IRQ affinity until some other CPU re-uses them.
> > 
> > But the underlying problem here is not so much the affinity itself,
> > but the fact that the channel is not stopped after firing?
> 
> (when being detached, that is) That's the main problem here, yes. A minor
> benefit is to avoid the MMIO write in hpet_msi_set_affinity(). See also
> below.
> 
> Further, even when mask while detaching, the issue would re-surface after
> unmasking; it's just that the window then is smaller.

Yeah, it could trigger after unmasking, but the window is smaller
there, as after enabling the comparator will get updated to the new
deadline.

> >> @@ -454,9 +456,21 @@ static struct hpet_event_channel *hpet_g
> >>      if ( num_hpets_used >= nr_cpu_ids )
> >>          return &hpet_events[cpu];
> >>  
> >> +    /*
> >> +     * Try the least recently used channel first.  It may still have its IRQ's
> >> +     * affinity set to the desired CPU.  This way we also limit having multiple
> >> +     * of our IRQs raised on the same CPU, in possibly a nested manner.
> >> +     */
> >> +    ch = per_cpu(lru_channel, cpu);
> >> +    if ( ch && !test_and_set_bit(HPET_EVT_USED_BIT, &ch->flags) )
> >> +    {
> >> +        ch->cpu = cpu;
> >> +        return ch;
> >> +    }
> >> +
> >> +    /* Then look for an unused channel. */
> >>      next = arch_fetch_and_add(&next_channel, 1) % num_hpets_used;
> >>  
> >> -    /* try unused channel first */
> >>      for ( i = next; i < next + num_hpets_used; i++ )
> >>      {
> >>          ch = &hpet_events[i % num_hpets_used];
> >> @@ -479,6 +493,8 @@ static void set_channel_irq_affinity(str
> >>  {
> >>      struct irq_desc *desc = irq_to_desc(ch->msi.irq);
> >>  
> >> +    per_cpu(lru_channel, ch->cpu) = ch;
> >> +
> >>      ASSERT(!local_irq_is_enabled());
> >>      spin_lock(&desc->lock);
> >>      hpet_msi_mask(desc);
> > 
> > Maybe I'm missing the point here, but you are resetting the MSI
> > affinity anyway here, so there isn't much point in attempting to
> > re-use the same channel when Xen still unconditionally goes through the
> > process of setting the affinity anyway?
> 
> While still using normal IRQs, there's still a benefit: We can re-use the
> same vector (as staying on the same CPU), and hence we save an IRQ
> migration (being the main source of nested IRQs according to my
> observations).

Hm, I see.  You short-circuit all the logic in _assign_irq_vector().

> We could actually do even better, by avoiding the mask/unmask pair there,
> which would avoid triggering the "immediate" IRQ that I (for now) see as
> the only explanation of the large amount of "early" IRQs that I observe
> on (at least) Intel hardware. That would require doing the msg.dest32
> check earlier, but otherwise looks feasible. (Actually, the unmask would
> still be necessary, in case we're called with the channel already masked.)

Checking with .dest32 seems a bit crude, I would possibly prefer to
slightly modify hpet_attach_channel() to notice when ch->cpu == cpu
and avoid the call to set_channel_irq_affinity()?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Oct 16 15:16:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Oct 2025 15:16:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144571.1477933 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9PiD-0001AU-4r; Thu, 16 Oct 2025 15:16:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144571.1477933; Thu, 16 Oct 2025 15:16:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9PiD-0001AN-2E; Thu, 16 Oct 2025 15:16:17 +0000
Received: by outflank-mailman (input) for mailman id 1144571;
 Thu, 16 Oct 2025 15:16:16 +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 <SRS0=CbFY=4Z=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v9PiC-0001AB-4O
 for xen-devel@lists.xenproject.org; Thu, 16 Oct 2025 15:16:16 +0000
Received: from mail-wr1-x42d.google.com (mail-wr1-x42d.google.com
 [2a00:1450:4864:20::42d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0b63a9c4-aaa3-11f0-980a-7dc792cee155;
 Thu, 16 Oct 2025 17:16:09 +0200 (CEST)
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-3ee13baf2e1so715779f8f.3
 for <xen-devel@lists.xenproject.org>; Thu, 16 Oct 2025 08:16:09 -0700 (PDT)
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-426f2f72e18sm14085266f8f.0.2025.10.16.08.16.08
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 16 Oct 2025 08:16:08 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0b63a9c4-aaa3-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760627769; x=1761232569; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=1vArv6wo5tBwa6fvWasx1D/iEMI37bxKNAeFjIYCxfw=;
        b=BSgG57t2Vzr/zLNKZCoMlDMmGrWKsrUZc7ke3lKid8Oz9moDq9Zq+d+dGf9G1R35Cf
         d2PltZJqdfULHY20EKk95Ib1ozMjoPlzWZiqNbnfzm+U8Mcugco0VY7wqX5bthW5pAkE
         heoqzT0J5/xIlYIZdqjnoOTHzc+Gg6vYtGcyEV79XWCi458FZmygrIJC6YbA73oCEh34
         4B8WKFIwITtmk6K375Ef82202ZtdNzvrh8uRL5fI/JMCjA1RZGIuYHIbAr5LCsN3x6BI
         vy4FpNfwfXUH1555MzxuZ0X2qriam5DNWlTTR1jYvqRmYWm87ge24AsrFgcl192UiWW6
         kGKg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760627769; x=1761232569;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=1vArv6wo5tBwa6fvWasx1D/iEMI37bxKNAeFjIYCxfw=;
        b=n4cP7nINwvThBQXw4hRJzw7G9mjac8DGd031u0HBBeNQUV3OMAljxaKUpKNn02TCtA
         lTUjFavvFHsODt4XYWiARZNBTSc4whgvOlK+uPbr6X2TBOjTFYCeFZR7Iq5nS7phDDPg
         hJqYkBa4o9/LZPmJk3wnrMDbdX8GDLWGDUHDQIpcpulEhiiqNWR196AWEAcPRxwi3nBn
         bDG8VUCV+bA/vc28gnyt9JUarsgDb3gPMWpjFy7HI/Hr2tMzFQrLejlDv0TwJEujWPJ+
         NNbEsmajnzmW6E0E+6EYE0ItagOkwbCpoD5nx/tbe7qxQp00Lh/98bBXUtpdcw7ISdd1
         ZUow==
X-Gm-Message-State: AOJu0YzZ08vsd1M414TTcru0o1bm/xkWfsuVGdNmfRYWgvp82Nv333tW
	ir/6rT/UH+dX9Yp1sC6Vym1UOqN/CJxHY+iXS3Lg3DQI6d6V33hVsU7jCzv7b1Zh+g==
X-Gm-Gg: ASbGnctJTvjxoWllDYYaHeKbnHoIp3M6qlAg0lkBCxqZ8TaVHura+8pchCX0/R6FDgb
	MwQK0uiedw3+QYliPdfYSCVlnpFnmTxNNaxho7+B3w34Qeytl0XdgenQZWhUb/TRWAapEC8CYcE
	dyHdRsYCibEzERcT+7gEQJ0H8Vcq0YmI9LXSQwoJ1thdeq1zMzreJSkVr5AmzV7PebzfMGr2ld9
	OAy4nhjGKGiNrDHK+Z1uZxgRlCccO2pfmd8gw+uNcsjD90IxdPC4+bdQEJurE7piYlQtaWFfrjP
	OfhBLsd7tyL2gh5JIDHI7+/FtNVx6p9oPGehdy6aeZq9PA8HN89TjY4x7KHCTWVOQFcLENUDOQF
	smRg39EKDU++kDld5IUQVLJGtC7jN/E4qAuMGB34IGocxiz9h/1XtG63Epn7CINm8seC23kFXQ1
	LQsspJibKN/jzJQuZVkhbu+S6pusPMdGKpjmNDGg8BOhqmw4jXo42NCgMnoBj+qhVBc2TVY5dzj
	HyQXtxt7A==
X-Google-Smtp-Source: AGHT+IGW6bxihta4Xn05sIHJOShGJt82MyWwltOnd31OLW58dilHl4OAi41TYoHoN7euV65Ky0tNQQ==
X-Received: by 2002:a05:6000:4313:b0:3d7:2284:b20 with SMTP id ffacd0b85a97d-42704d9cf76mr373294f8f.3.1760627768992;
        Thu, 16 Oct 2025 08:16:08 -0700 (PDT)
Message-ID: <264d1497-7155-4fac-a98a-fc1d587e2889@suse.com>
Date: Thu, 16 Oct 2025 17:16:07 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21 01/10] x86/HPET: limit channel changes
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <8d94abf8-70d1-478c-885e-ff9a960ac72d@suse.com>
 <494c897c-a138-4d16-93b2-67e3aa8d41e7@suse.com> <aPDH4-ZEfJ9LGc9J@Mac.lan>
 <14bb12b2-1a01-49a8-be9a-6a32c3729e9e@suse.com> <aPEKFwPe-PiHh-Ay@Mac.lan>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <aPEKFwPe-PiHh-Ay@Mac.lan>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 16.10.2025 17:07, Roger Pau MonnÃ© wrote:
> On Thu, Oct 16, 2025 at 01:47:38PM +0200, Jan Beulich wrote:
>> On 16.10.2025 12:24, Roger Pau MonnÃ© wrote:
>>> On Thu, Oct 16, 2025 at 09:31:21AM +0200, Jan Beulich wrote:
>>>> @@ -454,9 +456,21 @@ static struct hpet_event_channel *hpet_g
>>>>      if ( num_hpets_used >= nr_cpu_ids )
>>>>          return &hpet_events[cpu];
>>>>  
>>>> +    /*
>>>> +     * Try the least recently used channel first.  It may still have its IRQ's
>>>> +     * affinity set to the desired CPU.  This way we also limit having multiple
>>>> +     * of our IRQs raised on the same CPU, in possibly a nested manner.
>>>> +     */
>>>> +    ch = per_cpu(lru_channel, cpu);
>>>> +    if ( ch && !test_and_set_bit(HPET_EVT_USED_BIT, &ch->flags) )
>>>> +    {
>>>> +        ch->cpu = cpu;
>>>> +        return ch;
>>>> +    }
>>>> +
>>>> +    /* Then look for an unused channel. */
>>>>      next = arch_fetch_and_add(&next_channel, 1) % num_hpets_used;
>>>>  
>>>> -    /* try unused channel first */
>>>>      for ( i = next; i < next + num_hpets_used; i++ )
>>>>      {
>>>>          ch = &hpet_events[i % num_hpets_used];
>>>> @@ -479,6 +493,8 @@ static void set_channel_irq_affinity(str
>>>>  {
>>>>      struct irq_desc *desc = irq_to_desc(ch->msi.irq);
>>>>  
>>>> +    per_cpu(lru_channel, ch->cpu) = ch;
>>>> +
>>>>      ASSERT(!local_irq_is_enabled());
>>>>      spin_lock(&desc->lock);
>>>>      hpet_msi_mask(desc);
>>>
>>> Maybe I'm missing the point here, but you are resetting the MSI
>>> affinity anyway here, so there isn't much point in attempting to
>>> re-use the same channel when Xen still unconditionally goes through the
>>> process of setting the affinity anyway?
>>
>> While still using normal IRQs, there's still a benefit: We can re-use the
>> same vector (as staying on the same CPU), and hence we save an IRQ
>> migration (being the main source of nested IRQs according to my
>> observations).
> 
> Hm, I see.  You short-circuit all the logic in _assign_irq_vector().
> 
>> We could actually do even better, by avoiding the mask/unmask pair there,
>> which would avoid triggering the "immediate" IRQ that I (for now) see as
>> the only explanation of the large amount of "early" IRQs that I observe
>> on (at least) Intel hardware. That would require doing the msg.dest32
>> check earlier, but otherwise looks feasible. (Actually, the unmask would
>> still be necessary, in case we're called with the channel already masked.)
> 
> Checking with .dest32 seems a bit crude, I would possibly prefer to
> slightly modify hpet_attach_channel() to notice when ch->cpu == cpu
> and avoid the call to set_channel_irq_affinity()?

That would be an always-false condition, wouldn't it? "attach" and "detach"
are used strictly in pairs, and after "detach" ch->cpu != cpu.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 16 15:25:32 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Oct 2025 15:25:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144583.1477943 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9Pr3-0002mX-2O; Thu, 16 Oct 2025 15:25:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144583.1477943; Thu, 16 Oct 2025 15:25:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9Pr2-0002mQ-Vp; Thu, 16 Oct 2025 15:25:24 +0000
Received: by outflank-mailman (input) for mailman id 1144583;
 Thu, 16 Oct 2025 15:25:23 +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
 <SRS0=NIav=4Z=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v9Pr1-0002mK-S8
 for xen-devel@lists.xenproject.org; Thu, 16 Oct 2025 15:25:23 +0000
Received: from CH4PR04CU002.outbound.protection.outlook.com
 (mail-northcentralusazlp170130007.outbound.protection.outlook.com
 [2a01:111:f403:c105::7])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 550ee722-aaa4-11f0-9d15-b5c5bf9af7f9;
 Thu, 16 Oct 2025 17:25:22 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by DS0PR03MB7250.namprd03.prod.outlook.com (2603:10b6:8:115::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.11; Thu, 16 Oct
 2025 15:25:18 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9228.012; Thu, 16 Oct 2025
 15:25:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 550ee722-aaa4-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=BNyhTLVHhqK0ZC39a0d2u+57FpO4AASIRDCeHBTdAA5pCNOO22BwHW/Bjg+SU8pfvDK9ZLmH9Sop/SlwZL7pKZJlEHxb2d4z21aSVp9XxjNoW9ioUjOOSvA0JmWzEB78aguwpwqIEJasEldj/VtM5g4Enrp7bsoPIN0dfOUTrZH9TodTuNCFIofWekr9YC1IzYsx3i5mJJYWGoAZp/HY0fw+UTtnT5NCXXUVlm7nIcmKm7emoqkh0peMyWJnHNGDdmRRr676XaPemsfUZ0XfunVQdlawzQtg6e8kDAGA7gQeKdcGuQhvVmt9G39Zn3yvHoUBhaUgeRVi9stIaEdREA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yN4Mzr5yDtMXDGBWtTYNHfHELixjqRYhn+4e+ybuMxo=;
 b=FjrPtdhCbUWFg4thS0X4b+tzwFdFEdiv3j9T1OE1JFnWBj8x44k+QcEGTCX64pcDL2KYJLjyS9i3axW2OfE/lfCAMmzCpzwl/QHEnHWBr5nxw9psDwwIP7wlwr/v7NbfhYBVDXtXq0mvtsvPzlRGh+wgQkLFKsphSjdhSPZiRfFVwaJelfLXBFiJQ3aiW96+pcAR7z9AcsneLibOf4ueeegPEUzXrMvFzSEVZIzO6cMTguhWdem8FrknovQiGC6bEwFGJ2Xzmo6cZ5NEyYYCm3xWLfjY96CC2dEbT/cwSXvZcCUOTdniwAxtbn50377X9jgieFltLIz7/fgs+Hbv8Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yN4Mzr5yDtMXDGBWtTYNHfHELixjqRYhn+4e+ybuMxo=;
 b=rgTzSOxRdjcZEK4UNdDziLezbghseZ1biepb4jVjeLQwbR/PffyJGN4SszTdxQ1hNmG28CPdttZd4/cvDz6muveome9HxfjnSFgm+sHDauDU7pSKz0j1MUMaFNN53L4sOELhkDIcMn5pKp/jZEa+lPIF2ePHyF6kbEyJj9ZsGjA=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 16 Oct 2025 17:25:15 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.21 01/10] x86/HPET: limit channel changes
Message-ID: <aPEOW9Enx20wHhm6@Mac.lan>
References: <8d94abf8-70d1-478c-885e-ff9a960ac72d@suse.com>
 <494c897c-a138-4d16-93b2-67e3aa8d41e7@suse.com>
 <aPDH4-ZEfJ9LGc9J@Mac.lan>
 <14bb12b2-1a01-49a8-be9a-6a32c3729e9e@suse.com>
 <aPEKFwPe-PiHh-Ay@Mac.lan>
 <264d1497-7155-4fac-a98a-fc1d587e2889@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <264d1497-7155-4fac-a98a-fc1d587e2889@suse.com>
X-ClientProxiedBy: MA2P292CA0009.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:1::14) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|DS0PR03MB7250:EE_
X-MS-Office365-Filtering-Correlation-Id: a411e854-6881-4ad1-f79e-08de0cc83694
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?dkV4N3dMRHZzY1FOd09GWVQ1eHpJdit2aERQVHV3YlhIay9nbFpZN3o1RUQ1?=
 =?utf-8?B?U0pIamxqaUVPRnRFMWxTWVJ2cUJsemFkaXkvbEhGTnBrRmJjbG96OE1lTlZo?=
 =?utf-8?B?YUZNczN0SlpTc0d2QTBubHVrQnErVGxrSTlkMXI4QjJldGUyZmtRaVllS1FZ?=
 =?utf-8?B?dkZwcXJCejFGYytiNnk3Mnp5UGtzTm5zcEhRZTVQUjlyQ3FCcFZkUjRMSExz?=
 =?utf-8?B?Z1dTb0xwUG9jTUNOcHhKNWM0alQ2MW9GdTAwYTRRTjhudTJGVXdJcHRSL3Zk?=
 =?utf-8?B?YUI2aTV0N25OQWVGV0cxTWYyQ1VKaXlHUE91dXdDRzFSQjBrMDltTmlrM2VC?=
 =?utf-8?B?UktrdHpadER6KzNsUHpSaXdwa3VkZEtVcVpkSkhpRkMxQWkyUFIrL29EK0Z2?=
 =?utf-8?B?aU5CWGcxNmJQQm9ad1NBM3pLMGpIL2dMVnBJUWhxTzY0RzFiczZTVG1lcmhn?=
 =?utf-8?B?RExIeTh2RVByU1o3ZmIwRWlZQjg2dXkycUNXTjZsKzVWZlBIQ245OGNoVFlF?=
 =?utf-8?B?Z2F3UnR3SFlCU094S1JDUEQ4WXFIcyt1LzhSN2dCYXVxM0ZFREw5UUIxdmor?=
 =?utf-8?B?SlVTTk5Ub05wV25nbXBmQWtRM1ZUWk1GdkVtV1ZOSnp2S0xWMm1qQ0ZuVVpK?=
 =?utf-8?B?SWRSMzNRRjVtZC9ZTmRrR1JFeWRIai9wWGNiQnhvTWJCL3Z4WVhxSUtXZjBt?=
 =?utf-8?B?L2R6STBFSlJqdVhMeE1XUDVYVGpMSHM5R0JmbkJZZGxmN2oxNHkzakVtUWJU?=
 =?utf-8?B?bmY2MmEvRFJUanRib21KWmJkbzJWY1NRdHpKeThVSG5ORDBxWk51anNUdlpR?=
 =?utf-8?B?Q01GbVNORGtKcS9ob2lqcXBpdFZsSnlJZFVlNlBBL1pkSHBxVWc5V3pqOWc1?=
 =?utf-8?B?Q2Z4STE5RjREQzZNMTVXZnlwVjNTd0w0Q3NVYWd0ODF1aW9US20xL3FjTXkr?=
 =?utf-8?B?b0t0V21XWWFyNk93amN3bjJCTG5GL2pRb1VLU1FRUE1FU1hIQXZNd05Nc3Uz?=
 =?utf-8?B?dmRYM25VWVQxdCtZN1F3MjlydGVUQ2hjakhneWVsOE91ajdQNjRYcmgzdU1x?=
 =?utf-8?B?S256aFlELzJMMS82RUF1NXFtRVF3dlZGMTlEMDdyVWJLREVFTUgxVFEvWjhx?=
 =?utf-8?B?bk83MC9aMVZ1YVcyOTJYMyswSmV5ZTNHc3g4KzJXREpJWWlTbElkZ3Bkc2Nz?=
 =?utf-8?B?WmdlUGs4UzJvYy9zUnYxaE0xSG9IdmsvYlBSeU1lNGVJYnkrMnlFUlozajJ4?=
 =?utf-8?B?MzdtQ0F0NVdEQ0wyVURKTFo4T3hnK1dsWGJvZ2J0bUF0Y3Jhd1cxc1l1amNR?=
 =?utf-8?B?VHlhMmdqbDZKQXdHNUk2VE9rakZFZ2JJSnY5SHB1SEhEdm0xY1d4QklVTE11?=
 =?utf-8?B?T2ZQMEQ5L1RscXZjN2FqbjhKeWs1Q3Fza0VUbDJpM3hxdXhjcGpHdENCN0NE?=
 =?utf-8?B?UGZPd0Z4YTBWRzdpRTdZelJ5YlZ6djNlQWMzZ24xeHFkUUE3NjJBeExJWmE0?=
 =?utf-8?B?Z3BueWxNZi9zRXIwOUU2bi9wWExnVFZqV1lQRWxxdC9wT0V1VkFpeG0rc3Ey?=
 =?utf-8?B?QzhWYm5lTXR1Mi9VcTZ1UTJza1RlSmh0ODFHcEQyWGZsOWhRSGc1bjRROWNE?=
 =?utf-8?B?dGRYWjNpY094WFJlL0ZQa1p1VW5Ma2dlZjhQcEdCTExvR2RMdytsTStNRTBE?=
 =?utf-8?B?Z0RYRDlFY0lZL1paRXpQWGdxc2NRYUEwK0hITFlBWWY2YXViOEZZV3pwc0Zx?=
 =?utf-8?B?bVA1WEtUbU5KcWpnTVZ3RzlScnBEWS9tNFNVRmpUMGhhajlCTmhaR2xyaTNt?=
 =?utf-8?B?QUVFTDN2WTVLbWlQL2pRRU5uanh2Tnl4b1M1YVNrdE83blJXOWhNY3hRWE43?=
 =?utf-8?B?TGxodzloYXNhSTNSc1VEMDdzWWJBYXNDc2RrZlhMdWVvbU5WRVhvMFVmRHJ6?=
 =?utf-8?Q?aJH2DDAHadMr9eCVHaKtxt6ojFmgFsYH?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bWhMS1FnOWU5bFJRWk1vQWRodzdGdzFQb0tRQU9IcHhxc1VQaERFcUZ1REpn?=
 =?utf-8?B?WkxzemxWNUFFU1E5NUZvZUJub0pSSGVvTnd2K3VPelNpUEVucS9KcXpqV04r?=
 =?utf-8?B?Snd0LzM3RG0vV2EwUloxbGg3Qk1uNnk4aFNkdjdycjBaVDU1SSthTXlRdTJY?=
 =?utf-8?B?aDVDdkpQV2JVMm1USHZiSmJma1BUcEFqazlqcVNPWWwwbDYraVViZ0VrdUdp?=
 =?utf-8?B?QjFCSUc2MzZUTzMybC9MenJobnRmTnJnZ1htR3ZsbWdCTzlodVVMeEJXTUND?=
 =?utf-8?B?bWZNV0E4TGhkY3FyRldYYjBMTXVQVTFuU3lSVS9EMjljeVRITFY1OFNxVUVj?=
 =?utf-8?B?MW1NK25uSVA1dGh1Q051cndjYkdQOTBPQ1kxVzZtMTFsTTNIUWQ5K0JSdEpq?=
 =?utf-8?B?dVhjRy9BZzA0cU8zQ3d3Q1c4MnNCWmhjOFI1SkZSRHpMN2NDRTNodkVjd25a?=
 =?utf-8?B?NndDM3huN0x0TTJLUkNtSGpmOE9Edm1EU24vRjJUK1QvYjd4eTA0V0E5em5F?=
 =?utf-8?B?QWxQMHNsL0gyRWpSdEdEUWF0NWdJZVdtdnZQbUhVSU9ucDYwS1hUTGlMZ1Jx?=
 =?utf-8?B?blozc1J4aHkvNlhmcmdRRVQ5dFkreENMalkyZzVpU1VwbHlTcUdtQThQWWFD?=
 =?utf-8?B?ekVGaDBYb2pkYzJzeTl0bjlDZk1FQXBqeVRPNCtWZE1PTU9xRHhaNENUc3lt?=
 =?utf-8?B?RjZscU56U2xZQkU3NW9HbmdPLzJMcXVheVl4M3hQdHF1emdiNlV6ZUJxb1Ry?=
 =?utf-8?B?Rit0ZG5mTFNkRnQ2TmUyQy9hZUhnUkxPZG1wcXpGSVRLTFNZTFpYQTJPVi81?=
 =?utf-8?B?bXg3OUo5Y282MlNFdlNMN28ySzh6SVcrY2V3WmtVYjFNcS9TMEFzdFhNVlpY?=
 =?utf-8?B?UVF4Uy9oWkdoNWJvblJJUlN3WTV2U3JQWm14dnEya29qaHUyOVdLeERKYW4x?=
 =?utf-8?B?MFhmZFhjTGNNWE9uR1BJMndQaWM3MlFvUU8xcGxGa0ZybmdRSmxWRmEranZW?=
 =?utf-8?B?QXUyU3pkQUg2d0ozQkVKS3FrQjB4QnU0U3ZxOUY2TnNBa0k3c1gvQ0tmWnll?=
 =?utf-8?B?a0haTWlRdlJCblpYVVhCM0cxWmtHMzhaZDNremFobDNvVWhOZWtXak1IYXgv?=
 =?utf-8?B?YVpFV1dld3VqakovWnNBZHRoSFViRWRoS3ByeC9Obmg1YTN5cXJiQ3NCUDQ3?=
 =?utf-8?B?d0c3T3dSMy80cExnUlF6Tkc3TURSRy82OVcycHlUTVg2VWpmeVlVbHZjRjlL?=
 =?utf-8?B?UjllYkd2UkFHL2FqSmVwUXNQcmNkbTR5cmR5YmxOS2Y3UHFUc0RHazY1KzJI?=
 =?utf-8?B?TUZJNzZ5NXYvc2RuQmxwK0R3TzhCOHJOQWtWSnpDYlV4Ukh0dWQrSzMwZTla?=
 =?utf-8?B?S1pxaWVkcVZZNGM1a0d6UG9JY0RnYllxaC9xbDZBVmNiQm5HaDZlemRQdEdD?=
 =?utf-8?B?QXZGMkdhUE5GRUZ4YzVNREdRbEZXcVBjcnpMVlhGeDk5ZlNiR2tKN0JPNzFH?=
 =?utf-8?B?dTdFcjJFcUFKUTJVRGw0ekNLcFRiWk1vazR3cUF3aGlhYmZIZjhPeUgxTHda?=
 =?utf-8?B?OWpYWXhyeE03S3VLWDg1NXlPVGo1T1JzZUVIK0MraEtNZXprRkI1TVh0SXFM?=
 =?utf-8?B?NG9xc2d1SVI5b21nelVJNE9Ia3JaVzJVMUFoY3kwbDBQWEIyWXVyV3lUcXg3?=
 =?utf-8?B?dVRoOXloMmhLbkVXb0w0VWRQeFUxUlk1RWpsbDZsTUh4cjIyeFpzb3UzNDRN?=
 =?utf-8?B?V21GWXcvdStOcy9GMHlUTWNBMTNLQTBxdnNFZXVjTWJFeWxzbmJaUTZuUmlp?=
 =?utf-8?B?b3pJdm9WNzRSY045TkdBUXViMzl4ZTZnL1htTGFCaTRJMGNzeTM1VVEvTTdq?=
 =?utf-8?B?aG4zQlNPMWhlUjRldDVCS2ZGMWNPL2ZzNjFHcjQ5Q29xVHlObkl1M1AxckVD?=
 =?utf-8?B?ZDFXeUVMaSsxWHhnT0NWcGpFUUdLRFlON0tidjExK0NVdzBwQ1UraGpvTmsr?=
 =?utf-8?B?WTd2d2MvRTRaOU5WUG53UnVUalIwdHBpeGl6bmF4ekV3eXlIVnFkU3FtSVNP?=
 =?utf-8?B?SG5tdndEMzIxTDJzUFhDQVlWdkRCSG9oMzN0MkE3M3o4czRVRVlObUVUeUND?=
 =?utf-8?Q?T70aXltwcM+bQ8e8O0BAWtdsc?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a411e854-6881-4ad1-f79e-08de0cc83694
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Oct 2025 15:25:18.4421
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: b1BknfYJNYCcQiIebyZQTrL6T3iRtq0A3JmXn7bj4LL//fvjXItp6a4Otv+WcdgN95tLp02UsYAksB1MhD89nw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR03MB7250

On Thu, Oct 16, 2025 at 05:16:07PM +0200, Jan Beulich wrote:
> On 16.10.2025 17:07, Roger Pau MonnÃ© wrote:
> > On Thu, Oct 16, 2025 at 01:47:38PM +0200, Jan Beulich wrote:
> >> On 16.10.2025 12:24, Roger Pau MonnÃ© wrote:
> >>> On Thu, Oct 16, 2025 at 09:31:21AM +0200, Jan Beulich wrote:
> >>>> @@ -454,9 +456,21 @@ static struct hpet_event_channel *hpet_g
> >>>>      if ( num_hpets_used >= nr_cpu_ids )
> >>>>          return &hpet_events[cpu];
> >>>>  
> >>>> +    /*
> >>>> +     * Try the least recently used channel first.  It may still have its IRQ's
> >>>> +     * affinity set to the desired CPU.  This way we also limit having multiple
> >>>> +     * of our IRQs raised on the same CPU, in possibly a nested manner.
> >>>> +     */
> >>>> +    ch = per_cpu(lru_channel, cpu);
> >>>> +    if ( ch && !test_and_set_bit(HPET_EVT_USED_BIT, &ch->flags) )
> >>>> +    {
> >>>> +        ch->cpu = cpu;
> >>>> +        return ch;
> >>>> +    }
> >>>> +
> >>>> +    /* Then look for an unused channel. */
> >>>>      next = arch_fetch_and_add(&next_channel, 1) % num_hpets_used;
> >>>>  
> >>>> -    /* try unused channel first */
> >>>>      for ( i = next; i < next + num_hpets_used; i++ )
> >>>>      {
> >>>>          ch = &hpet_events[i % num_hpets_used];
> >>>> @@ -479,6 +493,8 @@ static void set_channel_irq_affinity(str
> >>>>  {
> >>>>      struct irq_desc *desc = irq_to_desc(ch->msi.irq);
> >>>>  
> >>>> +    per_cpu(lru_channel, ch->cpu) = ch;
> >>>> +
> >>>>      ASSERT(!local_irq_is_enabled());
> >>>>      spin_lock(&desc->lock);
> >>>>      hpet_msi_mask(desc);
> >>>
> >>> Maybe I'm missing the point here, but you are resetting the MSI
> >>> affinity anyway here, so there isn't much point in attempting to
> >>> re-use the same channel when Xen still unconditionally goes through the
> >>> process of setting the affinity anyway?
> >>
> >> While still using normal IRQs, there's still a benefit: We can re-use the
> >> same vector (as staying on the same CPU), and hence we save an IRQ
> >> migration (being the main source of nested IRQs according to my
> >> observations).
> > 
> > Hm, I see.  You short-circuit all the logic in _assign_irq_vector().
> > 
> >> We could actually do even better, by avoiding the mask/unmask pair there,
> >> which would avoid triggering the "immediate" IRQ that I (for now) see as
> >> the only explanation of the large amount of "early" IRQs that I observe
> >> on (at least) Intel hardware. That would require doing the msg.dest32
> >> check earlier, but otherwise looks feasible. (Actually, the unmask would
> >> still be necessary, in case we're called with the channel already masked.)
> > 
> > Checking with .dest32 seems a bit crude, I would possibly prefer to
> > slightly modify hpet_attach_channel() to notice when ch->cpu == cpu
> > and avoid the call to set_channel_irq_affinity()?
> 
> That would be an always-false condition, wouldn't it? "attach" and "detach"
> are used strictly in pairs, and after "detach" ch->cpu != cpu.

I see, we set ch->cpu = -1 if the channel is really detached as
opposed to migrated to a different CPU.  I haven't looked, but I
assume leaving the previous CPU in ch->cpu would cause issues
elsewhere.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Oct 16 15:28:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Oct 2025 15:28:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144597.1477953 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9Pts-0003NT-EU; Thu, 16 Oct 2025 15:28:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144597.1477953; Thu, 16 Oct 2025 15:28:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9Pts-0003NM-Bb; Thu, 16 Oct 2025 15:28:20 +0000
Received: by outflank-mailman (input) for mailman id 1144597;
 Thu, 16 Oct 2025 15:28:18 +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
 <SRS0=2cZm=4Z=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1v9Ptq-0003NG-NK
 for xen-devel@lists.xenproject.org; Thu, 16 Oct 2025 15:28:18 +0000
Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com
 [2a00:1450:4864:20::62b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bd49fc6f-aaa4-11f0-9d15-b5c5bf9af7f9;
 Thu, 16 Oct 2025 17:28:17 +0200 (CEST)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-b48d8deafaeso170735966b.1
 for <xen-devel@lists.xenproject.org>; Thu, 16 Oct 2025 08:28:17 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-146-38.play-internet.pl.
 [109.243.146.38]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-b5cba45ad2fsm540376166b.35.2025.10.16.08.28.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 16 Oct 2025 08:28:16 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bd49fc6f-aaa4-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760628497; x=1761233297; darn=lists.xenproject.org;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=WTqLoNBKMI3RDTaFnrueWXi/0hFdS6n7bOY1iV5ZrbM=;
        b=k0fypZtzWaYBpr3xY8iPl5Wc/vj64jFkhQGEqd63sF8Pzd9sx15QMwzuKyC1QKuKs9
         Nk3gSxbgOWG3yWL7TqZ2j/XbveC3Yb1mFvCJBXC4WXFQcyTRa5w+UdrgpICADriMSZ4z
         0C6/OkXTm/yO5vqB3IK+B9qpkMN9y5Pmct4/284csv42loBBw6RiZxZxI2x/zs8k/TH4
         cY1X8jxvjP/JsWaGk2fN+9cOzmt/rDTodWleeKVnuSWunkJds+wnpmmxkgf/H33MrhS5
         tCW3YQ0bDg0+tkrOIehtQgZvixVSui5Ew645shLiu/lLD41ATpDwnJ8R1Ke73mLUt8sN
         trSg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760628497; x=1761233297;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=WTqLoNBKMI3RDTaFnrueWXi/0hFdS6n7bOY1iV5ZrbM=;
        b=c9AYrW7ZOBcAjf4bFZYGZNoZe5JRLbOP4BwmqvdPf9fmJ+uxTy6SbqiPQvaK0UGhQX
         aePfVmjoVXiFd148lwiy4GvdMLu8+vI2CMBUrOBxbxYUUYBYUP8OkQ6XN+UEx0GXsCpr
         HXhafzvhTJ16fARGbUmGsM3q8Dgb0KgOcnR0qoaQYJH5UysLj0EyJNEBYcya9jR9bXwE
         ecYXnCgGmNQ1KoicmN0QrXuC2Q8aWqVth8jFTFfUgFhl7OcCCwOSO3XmvSaRYC3ybgNX
         S8XhIcggBjsVk4c+Vw98fBeBy6Bf0Gq/cCLW9Um/eBHHwYqZviU2rjukKHRl3Fb1/WZx
         HByw==
X-Forwarded-Encrypted: i=1; AJvYcCXiQ0OqENBi4BBjMS7Ww/9uQb3rJ4dXWSdIJGWWO9YS3ihTq05Ro2gVFQ+VqQCOv7uKKlqpM0Kw2xA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwNjdCV6t93J+SARtx0Gx09e/M8jOqWx6h+d4SITgfQ52XP+o9W
	+aF8TZf3YSPWXGJ3xmhk2AGsmdZ8CVEWU+Q5qbVeRsTgme94mlSTnAP5
X-Gm-Gg: ASbGncsg5i9Xb22iPxVGuRhfRqDqyE2vIGBktwleoekicZAENL7P9FxmAcmEF9LgQrS
	wxF9ozmeDLbf388pKcp/m3zfOlZUyQw6KTpq3SegOT9IX/usEQ6SCS+Iqtb/Ld+QBMT3qKXz898
	9MOG3KSSkhuj0RRu9cJdMBZW+NyvqNwvuII1FPEunkaUWPMksRAah9RstPRXK5ufsG5mSd3aQPv
	natP6ZwIEiAGTOP9NbNxvktF5V/XvPINi+PLuOVf12cZ/wXKtbog21+3LqB8euIQyD6cQr89SdK
	c/qPJ2+Vowzs/pc3UrSkvnN6i3iIRml1T6Hmu9E6Krak/NjytBesdZYkEwIWH/0r+AxaOV/yp3f
	21hwYxJuOUCOtOX9H8vUpQaiHRub5VQ6IXwgoKtLNzN54peZ9BuFbgOvPLQMStOrR6c9Vzdney1
	dY/7KAJEp0unrEkZoExj+vM4IeWIXmA7ovg3AmP0ZZCqCoCjwahYTHN/BPvvCfSl9GONI=
X-Google-Smtp-Source: AGHT+IFaYyxju/wUhxiZ5biPGBL8HSG5wXDgvprn7ffWvTOoB7u7/zW8eGSXN1xejAnj/L4x8olG0Q==
X-Received: by 2002:a17:907:6d0f:b0:b0c:b51b:81f6 with SMTP id a640c23a62f3a-b647423c403mr44368866b.43.1760628496737;
        Thu, 16 Oct 2025 08:28:16 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------TExmECWNxnJeHpyGTOEStcn6"
Message-ID: <e811c6dd-f395-42eb-b7ac-0f0f8f6e72e2@gmail.com>
Date: Thu, 16 Oct 2025 17:28:15 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21] libxl: make gentypes.py compatible with Python
 older than 3.9
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Juergen Gross <jgross@suse.com>
References: <751bb140-3f00-47f1-9492-464c01ea1429@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <751bb140-3f00-47f1-9492-464c01ea1429@suse.com>

This is a multi-part message in MIME format.
--------------TExmECWNxnJeHpyGTOEStcn6
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit


On 10/16/25 1:22 PM, Jan Beulich wrote:
> removeprefix() was added only in 3.9. As long as the "jso_sub_" prefix is
> always going to be there anyway, switch to a less specific but more
> compatible construct.
>
> Fixes: f6c6f2679d49 ("libxl: libxl__object_to_json() to json-c")
> Signed-off-by: Jan Beulich<jbeulich@suse.com>
> ---
> Sadly this is only the tip of the iceberg. Some minimum version of the
> json-c library is apparently needed for the toolstack to build, but no
> minimum version is being checked for.

Release-Acked-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>

Thanks.

~ Oleksii

>
> --- a/tools/libs/light/gentypes.py
> +++ b/tools/libs/light/gentypes.py
> @@ -384,7 +384,7 @@ def libxl_C_type_gen_jso(ty, v, indent =
>           s += "int rc;\n"
>           sub_scope_object = "jso_sub_1"
>       else:
> -        sub_scope_object = "jso_sub_%d" % (1+int(scope_object.removeprefix("jso_sub_")))
> +        sub_scope_object = "jso_sub_%d" % (1+int(scope_object[8:]))
>   
>       if isinstance(ty, idl.Array):
>           if parent is None:
--------------TExmECWNxnJeHpyGTOEStcn6
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 10/16/25 1:22 PM, Jan Beulich wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:751bb140-3f00-47f1-9492-464c01ea1429@suse.com">
      <pre wrap="" class="moz-quote-pre">removeprefix() was added only in 3.9. As long as the "jso_sub_" prefix is
always going to be there anyway, switch to a less specific but more
compatible construct.

Fixes: f6c6f2679d49 ("libxl: libxl__object_to_json() to json-c")
Signed-off-by: Jan Beulich <a class="moz-txt-link-rfc2396E" href="mailto:jbeulich@suse.com">&lt;jbeulich@suse.com&gt;</a>
---
Sadly this is only the tip of the iceberg. Some minimum version of the
json-c library is apparently needed for the toolstack to build, but no
minimum version is being checked for.</pre>
    </blockquote>
    <pre>Release-Acked-by: Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a>

Thanks.

~ Oleksii</pre>
    <blockquote type="cite"
      cite="mid:751bb140-3f00-47f1-9492-464c01ea1429@suse.com">
      <pre wrap="" class="moz-quote-pre">

--- a/tools/libs/light/gentypes.py
+++ b/tools/libs/light/gentypes.py
@@ -384,7 +384,7 @@ def libxl_C_type_gen_jso(ty, v, indent =
         s += "int rc;\n"
         sub_scope_object = "jso_sub_1"
     else:
-        sub_scope_object = "jso_sub_%d" % (1+int(scope_object.removeprefix("jso_sub_")))
+        sub_scope_object = "jso_sub_%d" % (1+int(scope_object[8:]))
 
     if isinstance(ty, idl.Array):
         if parent is None:
</pre>
    </blockquote>
  </body>
</html>

--------------TExmECWNxnJeHpyGTOEStcn6--


From xen-devel-bounces@lists.xenproject.org Thu Oct 16 15:35:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Oct 2025 15:35:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144607.1477963 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9Q0J-0004v5-41; Thu, 16 Oct 2025 15:34:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144607.1477963; Thu, 16 Oct 2025 15:34:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9Q0J-0004uy-0g; Thu, 16 Oct 2025 15:34:59 +0000
Received: by outflank-mailman (input) for mailman id 1144607;
 Thu, 16 Oct 2025 15:34:57 +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
 <SRS0=NIav=4Z=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v9Q0H-0004uc-8s
 for xen-devel@lists.xenproject.org; Thu, 16 Oct 2025 15:34:57 +0000
Received: from DM5PR21CU001.outbound.protection.outlook.com
 (mail-centralusazlp170110009.outbound.protection.outlook.com
 [2a01:111:f403:c111::9])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id aa5dd3bc-aaa5-11f0-9d15-b5c5bf9af7f9;
 Thu, 16 Oct 2025 17:34:56 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by DS0PR03MB7250.namprd03.prod.outlook.com (2603:10b6:8:115::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.11; Thu, 16 Oct
 2025 15:34:52 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9228.012; Thu, 16 Oct 2025
 15:34:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aa5dd3bc-aaa5-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=a1jFkXUwX9SSiDT8JCYrqRmJRqMojxqfn5UcilJqjg7lcnlTmCVJYnqDnM1UqgBA8SFKxM4Ze+vbg6ztn0CT4tCjQxP9UeRlNyBDWo6BK+ugny4Bq6jiKlhcIbHrEcGHLwQZCOP7RdSVeCEZjgEJcrGCCXrUKJu+TLkcZngjIYE9pEJLt5SkZDgrkEb3dKPxlxs+OepsMr8W91E9HtbxEtaRfI+t2gR2D20vRhfFE/DZ69koCRLBfCeLvEozL2qasskCtObHpt2qcE2+wAx188fD8zTAOXgb0X2wTMGb/sJdy7TG0uvjsA1+MvEqsD/rsjMKzvIY55dGZfME4RnKYg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SBIssmUWeyJFA0tn3r6qac/otQUUQ4F1dBBzVIiiji8=;
 b=kUNLtVE+vl0ss5Cfg43AH10jNsOJ/HDFJbQ5jfmVWMpZZ/BrCKw5gfU93HPE1hJerAkJWVSdEFfDE4FNdxi9aA6Ug5msLTIi4zzK6rQfLbBjlzNMyRi508omTtRofsfZG7i6lnLE0Olew92AYqL9YvsmqFtSasbg29CHugYa8C/LbLryWaaEaAqxFoA8L/Qla/qG/psI14HsVw607dJzUj++GxnzTVHjTwcCL04guSyCfcujjvSc1bwHhf5UKOQoAGx/gglVG58ZSVIyRytiGO+rMXwW32EhybeWt9c6e/eYfI7Wyam3dhWRBFxcCsfHG6UzIuw5O+NvZW9nhQTOnQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SBIssmUWeyJFA0tn3r6qac/otQUUQ4F1dBBzVIiiji8=;
 b=qjZ7VmoHrZ3XrzC5dyvtnmFDSueICYBMmEtgHCnSFPmeTZ1SgVFWw08fEqSiF2Ac0I4QkwkjsMJz7l+c5Au7XHcxpPVAEvBUtTYOn52tWi1tujaLNkeWoTq5BN+LIMB3lhbrExyV678H/DodfVne9QtTvvYJb5CxHYA9GUgJhjU=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 16 Oct 2025 17:34:48 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.21 02/10] x86/HPET: disable unused channels
Message-ID: <aPEQmMKYRwPaKxX6@Mac.lan>
References: <8d94abf8-70d1-478c-885e-ff9a960ac72d@suse.com>
 <8913e64b-d172-43f9-9c4d-447ba4984c9a@suse.com>
 <aPDaIssJOFh00-W7@Mac.lan>
 <bc7467ca-ba06-417c-8583-8de3782a1d83@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <bc7467ca-ba06-417c-8583-8de3782a1d83@suse.com>
X-ClientProxiedBy: MA2P292CA0017.ESPP292.PROD.OUTLOOK.COM (2603:10a6:250::20)
 To DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|DS0PR03MB7250:EE_
X-MS-Office365-Filtering-Correlation-Id: 89e1027a-7081-42e7-c76d-08de0cc98c80
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?dXlPWlNIWXJqU2I2eE5MVk9lQWFNbVVCclFlRGJta0YySHlJVFl5aVRZdDFL?=
 =?utf-8?B?STE0TkJwbTQraVNCOFRrNlFOb2RLMWM3T2tLZTFsT1RDamN2YjNILzBDSkND?=
 =?utf-8?B?a0V3bTRUL2xxempGR3hZWlg3ejdjSFhDZEs3RTR3bE9ybDdzOFJSU0VNOVZB?=
 =?utf-8?B?SE1leWlnZ3I5OUpEVjRNemE3T0lsTW9ZeExReGNLTHpmS2hEUXlJYndTeXFh?=
 =?utf-8?B?N1RHMCtuTkhYSHByZVN1amxxKy83NXRZNFVJV0doNHhZZWx1RC9ab2dtQnYw?=
 =?utf-8?B?Nlh6WUhQckZEeE1ZUjJ0ZGtiaXFCLzJWL0QzQUJMV3VHT3ViRnFFalR2Y1dX?=
 =?utf-8?B?TDk4cFhnejcxeG1RYVRncHk3em1OczdYTUF5a3NpTzl6MUZ5MXV1cW1EeEV5?=
 =?utf-8?B?ZHhCaHVRWHVOUzdIU2Zrd2NyWGNYVmRVWXFsa1ZQQ3BFZlN6WTNkTEs3cGpy?=
 =?utf-8?B?dENNOW1NNjlnby9ORloxSTdjcHlDRGZoNGVNS05DbFd5YWZIUFdFQlBlTlFL?=
 =?utf-8?B?V0FnaWdmTmZBU1UyZTNEclJmT1JMR2FmYUc4bkVCVkNhdWlOMDh6SzlmV0M3?=
 =?utf-8?B?dFloczhNTmF3M3FZcXFEaGZTS3dGZmxlWlZDWFBVSGJPcjRKbXFPeHB0QWdV?=
 =?utf-8?B?T0NUak9pZTVHMDNYU0JwcklaYnhjUGUxZG5OY0tZSnlMMW5kR2t5WGVub09E?=
 =?utf-8?B?OWpSSGYrZ2F4SU9hTUpBT2xpeWg2TUdRY1VhU3AwYnpKcG9icnZVNHRRVnEv?=
 =?utf-8?B?UE9LVXV5RlVTSWMrcW9Tdi84dWpIRFk5WExVZUQ4MVhiNHlLbzRvemtDT3ow?=
 =?utf-8?B?d3lwUTJLQk1QZzZpVEd1MVpEMVNpZUk3T3lUSUhDc0ZMUHEzSTVOWnErUE9t?=
 =?utf-8?B?Rm5PbHBkY2lvNkZyYlZMamsyZ0FkYVVyVW8xSnZ6RDVoUms5bW5JMXo2UlVE?=
 =?utf-8?B?cTR1TktNS2laM05uVzQxNEtDRDJxdEcvWjV1YUJFblFaMkZ2OWxzK0JEeEpP?=
 =?utf-8?B?WjRneHBxc1Q5U1YrbU5BR3VmWlJybUJUV1MzVkRpby95TmxsYUw2NDJXbTh0?=
 =?utf-8?B?dm9ocVlHREs0SXhtaVRMakpUNWh2cDVHcDdORVZUNUxjejB6cXo4TExuSVYz?=
 =?utf-8?B?bVlIWUdtSWlSOUFVOCsrK3hpRjBMY0ZkWFVpb1g3S1d2dU92WGJIeGFBTUZ5?=
 =?utf-8?B?TlcxV25uUElQRFJhREY2MHJqTXZQdVBxNnRqRGozVXdZSk4vdVZVOG1FUHlx?=
 =?utf-8?B?Y2hKWWgzR1l1NkxFNVkyZ2Rpd1p6V3RzNm1wNGJPY2hsNVVzTFliSlFDbzlt?=
 =?utf-8?B?SEx5ODZ3UVoyTHFuZWR6UjJLa1ZkSXRGOGR5Q3JEclJkNjN5RC9ySU5JYUtN?=
 =?utf-8?B?ZUp2YVpDQlRWUDF5N0JUekp0cytnekZDYld0WXA2L2t6TGxYdGJROGNLU2pH?=
 =?utf-8?B?bEF1MWZlaHN5NjNRTzJXQ0dSc2JSS3BaQit2QW5KQ3JhRFZiSUVhZVRyUEV4?=
 =?utf-8?B?bW9UUkdINkVUcFlPcHU0Tlc2L1c5dTdUWmJFdk1ZS091cko3RnU2TDR0RjVk?=
 =?utf-8?B?YzdQbm53MUdtUE1Nb1hEOGdPNjlES0hhZ2F4ZmRxNUowQ1VGZTRIMTBhUS9o?=
 =?utf-8?B?QVhSRWIxT0xWQ1ljYVFvZXFYNTQwVzRDaVdkTmFPSXk3U0hGdE1xNlczZVhk?=
 =?utf-8?B?dzJEdEw1Q0RYWUpLYUFPUUo5QnhKVEVwQXZsUlBwdzNHYlVvaVA3NEFhWkha?=
 =?utf-8?B?bXpyVWZIbXFsUS9wTndodHFnODl1SGhxWkt5UmtVeW52RG5RREtROWhhc2FB?=
 =?utf-8?B?NGRxeDd4ckpYZVc1Mmx6Sk1UcDMvL2YyNVZ2cFp3aFVGVzRYUTJrUVMrVzhF?=
 =?utf-8?B?ZjU1akZiN3hJa3V1R1dxZVAvVFl2Sy8rbFJBQ1g2cHBsSGNJUFExZndTbDBy?=
 =?utf-8?Q?E8JpERmSTFHrwxrV6OApq+4GOXg1/9uz?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?K04zanZPODVseHdqQWZDNkV2Vkd1U25udE5JWFNPLzliK3RuYklBTy84Nysw?=
 =?utf-8?B?WHBIUkRkWDBxdG51R1FsSUtkUjhlazZvY1d2SjJtdjRyUXI4cXRJZHo1ekow?=
 =?utf-8?B?OEtyaERGS2RkdTA0WHFhY3R3S1FZcDhWMWdhRlFKaThWRUt6MW03SGxxaGE4?=
 =?utf-8?B?amZVUXNIUS81L1ZSUUJrMFJ0ZkFCY0IwTFpkK0NKMUtJSFVqZmJSdEtpSEJz?=
 =?utf-8?B?Zk9qa0RZalIzN0pmZnJtWnArdjlrOUhzVFB1ZmVvTFc5VWlQWXhpMVk4WFFs?=
 =?utf-8?B?OExUaE55eGQ4TVRYMlphT1VmQjg1ZTdWNnpzZkJHYzdIbWw4b1RXTDQvWVRu?=
 =?utf-8?B?L2F0N0xuVlFKb2NCYTNBWE1YZzRuS0loL0FmVEo2ZVJKRCtNRWhKNndKdjIy?=
 =?utf-8?B?aDk5ekVvLzJZWkhoMTI3Sko0SG1Sbit0THg2QVd0MWlwYldRTjJ4aDNla01W?=
 =?utf-8?B?R2JLU1M5SEN2NkR6RmpPQ3dPYXd2di91WHlXOFVnY2ttanI5MGVQbUtPVEN4?=
 =?utf-8?B?bHhhYUk0RE9yRUx6dm1pQ29qMGFzbEZLckNUMElRWVlUTWNnU2JPVVJJeTlJ?=
 =?utf-8?B?Wm5MMHhtdkN4S2JmZnhRbXVDVTQ4UlRkazloajlIQVUvTXRGYkFWL3Ixem00?=
 =?utf-8?B?VFd6M29paTdacnhZVmk1ODN1ZjFBSVM4NzBwWFZyNFZZSGRGczNaYXJzRW9S?=
 =?utf-8?B?d2djMFhHOS9MWm90S0NvWjFpZm9Cc0MvYTBZek1FRXNzeWh5ZnJVMXlXclhX?=
 =?utf-8?B?V2ZmbUlkVU1YRXVSMnpaQlhJL0R5YlJJcFBrOHJHaVNveVN5Ui9DTjFrWFBT?=
 =?utf-8?B?aGwyVExoc3YvLzhqeWlHUmhqc2NWQTZaenV4NUo3Y1pSQXFybGpZVmdCd0Uw?=
 =?utf-8?B?SHBKUWZ5TTlhcGF6ektGSXJSNE5JU0hHUWQ3eHFwL2c4b09CbVJZK2VBbUFV?=
 =?utf-8?B?MjErbWNVSkJzc0t4NHc3c3N5d1V2QkgxNFNYbVU0OEFoSTZJdzVvSDlmTEFu?=
 =?utf-8?B?VzFjbVpnR3ZyTDdvdU81SXdzWk90dTdDa1RRdXozdCtvZmlwRlBjYU1ldU5u?=
 =?utf-8?B?NGozcUpRcThGVEFDQnBiODVPM29ZeUxXdk9CRm1ZMU5hRzB1YWlXY1h2QkZi?=
 =?utf-8?B?ZnN0b2tFYVIzMzN3ZUJjYVljNGo3NTRyUHRxQ0F0dTlCMm5kMkYvVm5XY2Vm?=
 =?utf-8?B?UU90emQwaEFkTzBvd3l1L2RVRUJZUXlGWWlEYnJzYWZmVlFXMDNzN2hWSkgw?=
 =?utf-8?B?WDdLWkxZY1Q0aCttNW51Ni95VUZYY2tyWnFINndhUTdoTnJTMHVUOGxmTnht?=
 =?utf-8?B?elBia1d2TWxMOUk1a2R5VXUvYnVVSmFhVHZzS3g4TzY5R0VtVnB1RGRRUjht?=
 =?utf-8?B?NEpJTVV0SGUzaVM4MTBybW5hVjFMRXlTZEVLbDRQbncxSGllL0Vtb3hQZ1Z6?=
 =?utf-8?B?dTdWVjI3aDN5RGZHeE0vUk00OG1kMzFJTkk2U2Y0YzFQaGo5UmVlQWRvM2NN?=
 =?utf-8?B?MEVxUTRucXFSRzhIVnpsNXV4Qy9LZlp1VFdzL1lSSzdWYlRSRjQ1NXBVUThl?=
 =?utf-8?B?K09FWWlaVFZIckpubWdkeEtnR203MERZd3dtQy9HRUlJU2FtVVd4cmdpQUZ5?=
 =?utf-8?B?RjJCS0Fody9nb1BCRXNjMGdJbDE1VXJ4WHppeGZNUjh0K0dJcEppeEVDNFBK?=
 =?utf-8?B?MWNqVDVCMVFUK0VQT2YrVWF4UEMrVlJvTzl1eWd2K2w3VEZ0VFZKOFVvclFv?=
 =?utf-8?B?alluZkRJS1FOQ1QrbmJQdTlFNlI4eG1tTTFZTlVMcDlMRHZPZXo1WUtQYk9T?=
 =?utf-8?B?MzVvOG93eWZFbVR5eVFIUE9hMm56bnRRVmVTYzdCSFpJM1BnQ0sxQktXeUMy?=
 =?utf-8?B?TEdpZXduallxempySDVrdmg3NFlwS2hDTmFCSHNSWHBpYlB3elZIaG9zQ25R?=
 =?utf-8?B?bFJZdFVVdThpbUNKbnJHMVZZVlZBVnByUWEzZjJjN2JyU1F0b0pLTVVieFFz?=
 =?utf-8?B?OUpveXdBSFIvL2xmUlR2Z2RzWjE4Q0pIdldSWUg3OGpFU0pQc3hpU3pNNW9x?=
 =?utf-8?B?QWZ3eVp4bWgybStIM2dVK0pUanhlNm16aDN4U0pxZFdNdCttM0JwRWc2dDNT?=
 =?utf-8?Q?OCjh7PyliPMVnvp23mvYtAqaE?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 89e1027a-7081-42e7-c76d-08de0cc98c80
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Oct 2025 15:34:52.4056
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: mCFzwigSGY+pY2a9d2dHGHuE2Q7mLcFPHKzIaKsCWMN2l7spRAFj2UNzFqtagr4gAlHwsWpE4v1r6lm0qtRurQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR03MB7250

On Thu, Oct 16, 2025 at 01:57:41PM +0200, Jan Beulich wrote:
> On 16.10.2025 13:42, Roger Pau MonnÃ© wrote:
> > On Thu, Oct 16, 2025 at 09:31:42AM +0200, Jan Beulich wrote:
> >> Keeping channels enabled when they're unused is only causing problems:
> >> Extra interrupts harm performance, and extra nested interrupts could even
> >> have caused worse problems.
> >>
> >> Note that no explicit "enable" is necessary - that's implicitly done by
> >> set_channel_irq_affinity() once the channel goes into use again.
> >>
> >> Along with disabling the counter, also "clear" the channel's "next event",
> >> for it to be properly written by whatever the next user is going to want
> >> (possibly avoiding too early an IRQ).
> >>
> >> Further, along the same lines, don't enable channels early when starting
> >> up an IRQ. This similarly should happen no earlier than from
> >> set_channel_irq_affinity() (here: once a channel goes into use the very
> >> first time). This eliminates a single instance of
> >>
> >> (XEN) [VT-D]INTR-REMAP: Request device [0000:00:1f.0] fault index 0
> >> (XEN) [VT-D]INTR-REMAP: reason 25 - Blocked a compatibility format interrupt request
> >>
> >> during boot. (Why exactly there's only one instance, when we use multiple
> >> counters and hence multiple IRQs, I can't tell. My understanding would be
> >> that this was due to __hpet_setup_msi_irq() being called only after
> >> request_irq() [and hence the .startup handler], yet that should have
> >> affected all channels.)
> >>
> >> Fixes: 3ba523ff957c ("CPUIDLE: enable MSI capable HPET for timer broadcast")
> >> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> >> ---
> >> A window still remains for IRQs to be caused by stale comparator values:
> >> hpet_attach_channel() is called ahead of reprogram_hpet_evt_channel().
> >> Should we also write the comparator to "far into the future"?
> > 
> > It might be helpful to reprogram the comparator as far ahead as
> > possible in hpet_attach_channel() ahead of enabling it, or
> > alternatively in hpet_detach_channel().
> 
> The downside is yet another (slow) MMIO access. Hence why I didn't make
> such a change right away. Plus I wasn't quite sure about the locking there:
> Imo if we did so, it would be better if the lock wasn't dropped
> intermediately.
> 
> >> @@ -542,6 +540,8 @@ static void hpet_detach_channel(unsigned
> >>          spin_unlock_irq(&ch->lock);
> >>      else if ( (next = cpumask_first(ch->cpumask)) >= nr_cpu_ids )
> >>      {
> >> +        hpet_disable_channel(ch);
> >> +        ch->next_event = STIME_MAX;
> >>          ch->cpu = -1;
> >>          clear_bit(HPET_EVT_USED_BIT, &ch->flags);
> >>          spin_unlock_irq(&ch->lock);
> > 
> > I'm a bit confused with what the HPET code does here (don't know
> > enough about it, and there are no comments).  Why is the timer rotated
> > to a CPU in ch->cpumask once disabled, instead of just being plain
> > disabled?
> 
> Because it will still be needed by the other CPUs that the channel is
> shared with.

Yeah, missed that part, the channel is migrated to a different CPU.  I
wonder however: since an active channel can be migrated around between
CPUs, isn't there a risk of the timer firing just in the middle of
migration (when interrupt generation is disabled), and hence Xen
possibly missing a deadline?

In hpet_broadcast_exit() we need to check whether the timer has
expired after the migration, and manually trigger a broadcast if
needed.  This also risks doing to broadcasts also back-to-back, but
it's the only option I see to avoid missing a deadline.

Maybe there's something I'm missing, this is all fairly complex.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Oct 16 15:55:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Oct 2025 15:55:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144628.1477973 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9QKF-0007tj-R8; Thu, 16 Oct 2025 15:55:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144628.1477973; Thu, 16 Oct 2025 15:55:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9QKF-0007tc-NR; Thu, 16 Oct 2025 15:55:35 +0000
Received: by outflank-mailman (input) for mailman id 1144628;
 Thu, 16 Oct 2025 15:55:34 +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 <SRS0=CbFY=4Z=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v9QKE-0007tW-Tn
 for xen-devel@lists.xenproject.org; Thu, 16 Oct 2025 15:55:34 +0000
Received: from mail-wr1-x432.google.com (mail-wr1-x432.google.com
 [2a00:1450:4864:20::432])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8bba0216-aaa8-11f0-980a-7dc792cee155;
 Thu, 16 Oct 2025 17:55:32 +0200 (CEST)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-426fd699c21so408225f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 16 Oct 2025 08:55:32 -0700 (PDT)
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-4270539be85sm342656f8f.7.2025.10.16.08.55.31
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 16 Oct 2025 08:55:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8bba0216-aaa8-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760630132; x=1761234932; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=bXN4UddN7ddvDOlgXPoHDSeJQipRme/1nTgsvrsI1FA=;
        b=H4g6U6I6ksB0gVRtZViU8tyA0TxJuuqsbyUrbniNlS1cWYemrjG3DvGYGqFDxePiKm
         kTNr6duG3+ZCK0XyrZyY2lPBhygUt7vVCaHdbkdsKLQzta8KOfqWEl19atPuI1uvbQbB
         Zh/0YOP1OUMyY08CtbOdKETXHqAKpuah7Hi92Vko+aEI2ssuG2LTJv2SpZ/+VGSi1weC
         WWHIYEbqSqBsjBqvoqGFRsV6SoCS1UgYxkDAfj4U3VuzaVdKsUsY68VaTA5d4CBYw5UP
         zha6l5SGnqcw71FR2qUc5hGurNO2k2Dz8Z0wWHW0kf5Ou7qodVY+RVgFWxI7CFc6eZoV
         IS1A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760630132; x=1761234932;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=bXN4UddN7ddvDOlgXPoHDSeJQipRme/1nTgsvrsI1FA=;
        b=uFdbj4w7ISEGxfOZlwEfYTL6ppgxLiCMImyjukad4imvkvcusdjWhf4kpMQtenywTI
         2+drrhXM/lUZbsjXrAwE1q+nS2xTAFgIUTlQiBkaGzWNy2yziXLOEdjVPzqdSvu9DQmV
         o+lFjCCgHxBd2LgyUZqYBPGUeh85dBhxt9MYfgR3nSHepv+jwBA6k6EFBPg6rND4+oWR
         TNTYHnHIdwqVQw4ok44C/62jHofhKuRABBFUTQPrrF/tmQQMbCP7RpTQG7IaqXUxKhzi
         J5NBqWrlHrdM4U9V9rQeDt/gy2nGlPQUqEodPhBl5obhTXqnkIrCycKPTadFpRQTlmdl
         tgAA==
X-Gm-Message-State: AOJu0YzlGq71aiRh3Ccb0l8WLjIBZbFiVEFr7RtIWlhdPAr5D3xYtpsm
	msB4oVNjxjds+3rHsyxV463IKc1SyhcuaE3b0yiika1J20LwJMnB0wnVCDGHqzMKwQ==
X-Gm-Gg: ASbGncsAMoepHE/xMOn70xT2Q+xWtpx0J8U8KaQdJtjFCfDw1ZgXhuSN/P+1gSZGbqQ
	SUnTlMpEQVt6UJd/xUyxcqZP6jo3hIoSYgRflRB3k8XzJyOy4chgPJ0Jx9I4gfY2MfwnetOG3E0
	kRhux32dfBy2FoWo4HoXep0BcSuQdTs/KqxtrWbuM+EgFf0YQ5wroMvx04Vso81vsiQnmVeEyaO
	kcYyK7UcFkc2KPv14dDIcSo1IqvH9uEcfD7L6DgAgv7hmDnFciO4L1U1GGQs700/rlkqYZGLQie
	GvuNOqw3u0y5ni6wxFxDN7iJzVR781/wpoB6geBbDP3qAMxo9ihtn1IL6d2CkQFgb4oWC9QRGJE
	OoY8IYJ/Z8JJCdrP1+d9Mjw9N1EAEQAwBtFNCbXE9VW45BhBhNw6VDv5mpSykvLJzbPHeDPiK/U
	Nreaoowm6BhPxOExMfxjN2fC1ENLVcybLIHWRzf+o0mlxxpDNGF+rTZJiUnJ0P
X-Google-Smtp-Source: AGHT+IH6z20zoy3BdDH2mwRlAz4lhRGDFaauy3NA+8zvdfK76eVKBJkuhT9ApeZlypPt78rk1LAoqw==
X-Received: by 2002:a05:6000:2881:b0:3ee:6fe9:418b with SMTP id ffacd0b85a97d-42704db5ab6mr419688f8f.63.1760630131909;
        Thu, 16 Oct 2025 08:55:31 -0700 (PDT)
Message-ID: <39b3cdbe-636c-4b9d-9134-d42f8a369c4a@suse.com>
Date: Thu, 16 Oct 2025 17:55:30 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21 02/10] x86/HPET: disable unused channels
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <8d94abf8-70d1-478c-885e-ff9a960ac72d@suse.com>
 <8913e64b-d172-43f9-9c4d-447ba4984c9a@suse.com> <aPDaIssJOFh00-W7@Mac.lan>
 <bc7467ca-ba06-417c-8583-8de3782a1d83@suse.com> <aPEQmMKYRwPaKxX6@Mac.lan>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <aPEQmMKYRwPaKxX6@Mac.lan>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 16.10.2025 17:34, Roger Pau MonnÃ© wrote:
> On Thu, Oct 16, 2025 at 01:57:41PM +0200, Jan Beulich wrote:
>> On 16.10.2025 13:42, Roger Pau MonnÃ© wrote:
>>> On Thu, Oct 16, 2025 at 09:31:42AM +0200, Jan Beulich wrote:
>>>> Keeping channels enabled when they're unused is only causing problems:
>>>> Extra interrupts harm performance, and extra nested interrupts could even
>>>> have caused worse problems.
>>>>
>>>> Note that no explicit "enable" is necessary - that's implicitly done by
>>>> set_channel_irq_affinity() once the channel goes into use again.
>>>>
>>>> Along with disabling the counter, also "clear" the channel's "next event",
>>>> for it to be properly written by whatever the next user is going to want
>>>> (possibly avoiding too early an IRQ).
>>>>
>>>> Further, along the same lines, don't enable channels early when starting
>>>> up an IRQ. This similarly should happen no earlier than from
>>>> set_channel_irq_affinity() (here: once a channel goes into use the very
>>>> first time). This eliminates a single instance of
>>>>
>>>> (XEN) [VT-D]INTR-REMAP: Request device [0000:00:1f.0] fault index 0
>>>> (XEN) [VT-D]INTR-REMAP: reason 25 - Blocked a compatibility format interrupt request
>>>>
>>>> during boot. (Why exactly there's only one instance, when we use multiple
>>>> counters and hence multiple IRQs, I can't tell. My understanding would be
>>>> that this was due to __hpet_setup_msi_irq() being called only after
>>>> request_irq() [and hence the .startup handler], yet that should have
>>>> affected all channels.)
>>>>
>>>> Fixes: 3ba523ff957c ("CPUIDLE: enable MSI capable HPET for timer broadcast")
>>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>>> ---
>>>> A window still remains for IRQs to be caused by stale comparator values:
>>>> hpet_attach_channel() is called ahead of reprogram_hpet_evt_channel().
>>>> Should we also write the comparator to "far into the future"?
>>>
>>> It might be helpful to reprogram the comparator as far ahead as
>>> possible in hpet_attach_channel() ahead of enabling it, or
>>> alternatively in hpet_detach_channel().
>>
>> The downside is yet another (slow) MMIO access. Hence why I didn't make
>> such a change right away. Plus I wasn't quite sure about the locking there:
>> Imo if we did so, it would be better if the lock wasn't dropped
>> intermediately.
>>
>>>> @@ -542,6 +540,8 @@ static void hpet_detach_channel(unsigned
>>>>          spin_unlock_irq(&ch->lock);
>>>>      else if ( (next = cpumask_first(ch->cpumask)) >= nr_cpu_ids )
>>>>      {
>>>> +        hpet_disable_channel(ch);
>>>> +        ch->next_event = STIME_MAX;
>>>>          ch->cpu = -1;
>>>>          clear_bit(HPET_EVT_USED_BIT, &ch->flags);
>>>>          spin_unlock_irq(&ch->lock);
>>>
>>> I'm a bit confused with what the HPET code does here (don't know
>>> enough about it, and there are no comments).  Why is the timer rotated
>>> to a CPU in ch->cpumask once disabled, instead of just being plain
>>> disabled?
>>
>> Because it will still be needed by the other CPUs that the channel is
>> shared with.
> 
> Yeah, missed that part, the channel is migrated to a different CPU.  I
> wonder however: since an active channel can be migrated around between
> CPUs, isn't there a risk of the timer firing just in the middle of
> migration (when interrupt generation is disabled), and hence Xen
> possibly missing a deadline?
> 
> In hpet_broadcast_exit() we need to check whether the timer has
> expired after the migration, and manually trigger a broadcast if
> needed.  This also risks doing to broadcasts also back-to-back, but
> it's the only option I see to avoid missing a deadline.
> 
> Maybe there's something I'm missing, this is all fairly complex.

set_channel_irq_affinity() invokes handle_hpet_broadcast() to cover that
case.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 16 16:27:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Oct 2025 16:27:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144644.1477983 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9Qp0-0003ta-5i; Thu, 16 Oct 2025 16:27:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144644.1477983; Thu, 16 Oct 2025 16:27:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9Qp0-0003tT-2E; Thu, 16 Oct 2025 16:27:22 +0000
Received: by outflank-mailman (input) for mailman id 1144644;
 Thu, 16 Oct 2025 16:27:20 +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
 <SRS0=NIav=4Z=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v9Qoy-0003tN-Ow
 for xen-devel@lists.xenproject.org; Thu, 16 Oct 2025 16:27:20 +0000
Received: from CH1PR05CU001.outbound.protection.outlook.com
 (mail-northcentralusazlp170100001.outbound.protection.outlook.com
 [2a01:111:f403:c105::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fac47dda-aaac-11f0-980a-7dc792cee155;
 Thu, 16 Oct 2025 18:27:17 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by BN9PR03MB6042.namprd03.prod.outlook.com (2603:10b6:408:137::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.9; Thu, 16 Oct
 2025 16:27:13 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9228.012; Thu, 16 Oct 2025
 16:27:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fac47dda-aaac-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=YAN+my2Ardh193b7m2l50cRekeJm6Ep/9FcJnrayM4vJq2Vjw/yhHA2a5XPoM+5ZvKGn14A6SRzk5pefXUiFV+TipLNbFMREQ2KFuitXCqmq0dSSODkK97AwN5McDF1qkaNeuzKTJ4Tj5ISFIGqs8gG4s4tJVqK43DpPEOVc5YRKeli3dGagN96YYOCj9rqvJO+r0r4PtrC8iwijbhrmTW+KkgzaE1LCblnhzFX7+b2wnNdDre4RguB1XD5N1VJLrCRqLIkH2/SP7KQEwRIFvVCj8mti8fkd2xFWM7d2SDJ0HZgQzXEgWJ4CKpgTfUq+Sx0PpUUBRAiS3XcZ9fzJyg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=szVWMCLcw5g4qjwk4j0p7wYe2rI/mlOBQkDrIOIRDE0=;
 b=V18ArW7HMfpl8uNXbgwYuNFtmigKCvkE7SzvJ3f/luRsBpdB1C6nZt40tdFQMPKCyxkbMKGN3eeZuNPYFSjlx2jHfXktubs/91j7j9aUSF5UIeknxiXedYbMdbDBu5OC3CrqxBkrT+UvaGz1Pi+rZqYE4ILP7uINgKqZt9x7Hs4r4yYDDOu/sLGYhmUHayVlY94GeqPdxcRQjXeTZLnQDG9Q/SvxhGGMpQn8ITi/5dwOeCO0TGghIOHzh5HnOojSwql7PzBJsOvUUkf1KHViHZBWW0Hp0ReIC1Th4yMD3cYqYTIB4TEX/s3WZ8chslc2YXCEKUe14IdczF2ikfb5Tw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=szVWMCLcw5g4qjwk4j0p7wYe2rI/mlOBQkDrIOIRDE0=;
 b=KyqLczHrtbT2rBarnLp/SI+WQKe/oukOJr0Qte3A/4VRD78YgcLHDhCGewYkc4opdfsFKiEif04tuB7Hj6W/XoQBSz+yAQqFW+0fdolVCgZSl41WgZ4Skz46rUrbUk3QIlSxT9MK1Cv4AhAq4+uC57nVJIlVn1BFgeFRRglagCI=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 16 Oct 2025 18:27:09 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.21 03/10] x86/HPET: use single, global,
 low-priority vector for broadcast IRQ
Message-ID: <aPEc3VWLI0ofq22f@Mac.lan>
References: <8d94abf8-70d1-478c-885e-ff9a960ac72d@suse.com>
 <64d52793-be70-4ae8-9bae-ad88f6379395@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <64d52793-be70-4ae8-9bae-ad88f6379395@suse.com>
X-ClientProxiedBy: MA3P292CA0018.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:47::19) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|BN9PR03MB6042:EE_
X-MS-Office365-Filtering-Correlation-Id: 11960313-7446-426d-68f8-08de0cd0dc89
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?QUMzQnZNazV0S1pWM2VKZWNUOFNmRGZRMVc0cHVrT3Q2VVpkT09WR2paQ25X?=
 =?utf-8?B?cXBpZnBqTlhkNEZaWEtwbEVVd2Rra3hUcE95eVU3dzlscysrU2VUVmcvU0NN?=
 =?utf-8?B?eU5OUmd3dTFEM0ZLZHI0SDBQWnNJMjdQU0hBUVFHR2lIN3RZUGZ5czhHWkFJ?=
 =?utf-8?B?ZnRpeFB5c0dITmZvTGNCOXl0bjZuSEwyT01vRUM1VlNycnpXdzZwQnJTdSta?=
 =?utf-8?B?TFdDN1VCOHRiTnFaNmJaN2Q1NWZQRHlmcTNwcUhSRW9FRnBDVGpqL3U5Rks3?=
 =?utf-8?B?eGQ5ZFVPd0ZwaUI1dnlOQkxtU2kzbUdleThOdFgzcGNPUDA5VS91QVgySXBj?=
 =?utf-8?B?d3FIZHp1K3pEbDlwWU5IQloyVmFwL2JLbWUwanVFYkJFKzFNVWdrdEFpck5a?=
 =?utf-8?B?M0k3V1dOMWNYUmNtbDhuWldya2Q5Z0pZVzZ1RUtESjNaaUJHdzZNelRtMStk?=
 =?utf-8?B?Zzl4MmU5RURMWTdNNmlyTEMwUlhodzF1MGVOTXBaTTBrMnlxaytsY2FQQm1K?=
 =?utf-8?B?blNiK2RxeUdZYmtveU9tcGUwT1NSQWl0OHpKVHpFakh0OUxaeDQwVWRocXN4?=
 =?utf-8?B?VExJeGc1bmp5RlJrNmd0SzNkNVgyUXNSbVRBbDc3cjNrMkFpS2xIc2NNY2My?=
 =?utf-8?B?bCs5eFppaHJCc3lMbHBGUWpWWWRlRXpVWFVNOURMZ0EvWDhwWk80UWUwME1p?=
 =?utf-8?B?bnkzTTVnT1l0MnEwVlRBckZ0MTF3MElaQklvQWNtVzNtL1l5MzZ0c1NNZlpr?=
 =?utf-8?B?eTRvNXhpUzdQKzJNYTZSYlBtT256eWh2UjBzc24zeE9wa094L01iUEFmRUxB?=
 =?utf-8?B?a1Q0MkRMUWZuSGlIamxJbE10UFlPRS8wYzB0UlQrL0ZGT2doanAzUWd1cG1w?=
 =?utf-8?B?VzcraXduUWVJNmthbDdEOWdEK3ZYT0E5WDdBZE1JSGYzWnpxQkVJd3dkeGtU?=
 =?utf-8?B?Z0lzWTFmZW5TRm9tZ09ET3hkaWV0ODVhQXNERkl0N01OQkp4ejQwUDJnODFt?=
 =?utf-8?B?ZFl4am9SM1NKUWtYV2hMTlljWjY5eHV3OWJrUi9hYVc2aHpyYUZlenJQV2Q0?=
 =?utf-8?B?b1NFN3NzMThRbG1ld3AxQkFYK3FtZ2JKOTRnQWVPU1JkSlZaRmdCL3Irdmtw?=
 =?utf-8?B?cmU1bklUNEZRRDVPUmgxem1zOUp1MlF5eDc1WVRrNGdEUlZheStXV3I2OFky?=
 =?utf-8?B?eFpDYzBjZlNlMndYcUZ6NVJrbGR0ckJvTzhZdGg3MGV2RVB3TlRLR3JnWThT?=
 =?utf-8?B?cmRPYUtEeGRGaHpNTm9YYVo4a3pSYUJmTmRkd2c2ajFxRlUrUXNTOWM5N2Jq?=
 =?utf-8?B?dW44WEVzR0wwenB4UnQwcEQ4ZFlIeGtHK1BBRVVOeHNJblM3NkhpOWhpaUZy?=
 =?utf-8?B?OUl5TGIveFZkejV0ZE9aeDJaak1LOXNubWsrOEZJWnJBWmUzTkFkQ1l2djFa?=
 =?utf-8?B?cnZxK3RFQVZRNUJTSFBSRlZaOTNzcWxlZ2pRa1ZmNCtjMkxXOVVTdlpWcldX?=
 =?utf-8?B?QUFBK1hudlErVXZxSXVYRll1clNJaFIvZ0FVY3FvUUROQVk2Y29tbmdxY2lX?=
 =?utf-8?B?QnBxeDUySGdySUFEL1dGampHMlV3a3RlYkVEUnhvU3ZXSG0ySmlSWGM5SVpy?=
 =?utf-8?B?aXFNd05NbTJqYnUwMVFKTEZqL2VBcmtXMFZzQXdMSlkyV3ljYW96NTNzWFdH?=
 =?utf-8?B?elJrcnRJcWJNSjQ1c2oyQnlqLzNMREtGazRSRXhCY2pxblg5RWFNU3JlSlo0?=
 =?utf-8?B?emZqd1VYd3RXYzRxa000TlFaSEZhL0V4UlZMNFU5bjJSOGVseDM1clplZGdu?=
 =?utf-8?B?VS9iQysrZ0NSdHBxaERvVnJpQzZzL0NDOUp5Z2RmQW9pd0FoZmowaEtjZ3lq?=
 =?utf-8?B?Mjh3MWYvRmdWaGtJU3RkN2JTTTJ5OXlObWN5YWdhSE9QbTh2R0ZFdW8vOXBN?=
 =?utf-8?Q?xWm3izLaUynkgO1DJAAQWGrIw3RnF4dS?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bzh4WWdic3hZSDQ3a3ZsU2JnYStYc2JlTENnUkE4d2hUSEdNd3MvMlBuZFhn?=
 =?utf-8?B?bU02cUdncXJLQ05yanRkbi9hVGZHcmlZVkFyb2NCTFFZWjM2ZlA5a0RPZjFt?=
 =?utf-8?B?MW1aNDJxQWVxSWd0RWdvTVY2Y0lGQlJpb3N3NGJxYjRiZXZuai9pdVpnRmNF?=
 =?utf-8?B?NW1aZ2RTc0ZsdS92NUlMS0RORFJsYU5GSkRid1JYVC9yK3BHY3V2VWtWVThK?=
 =?utf-8?B?dUxGQ3JYajh3UVhWa1I5VFQ0RDdib3BLYm5NU3kyT3RSaFdFdDRoWEVBSC9V?=
 =?utf-8?B?YWhRcURnYlAxLzhKNFVvT1JYWURYYXVRSEttTkRzTDM1N0lqdTk5YWZtWFlE?=
 =?utf-8?B?NnFNU2lhRXU4SEQ3MXY0UmpMd0dVSnJyUnR5MFRaY2pVS2Z1SGlIMHdHN1R5?=
 =?utf-8?B?WGl4cGdKUE9sMFZIcjd4NXBDb2F0dFNjN1VLTGJpRzBxMVh0M1FCY21SdGVR?=
 =?utf-8?B?VVUvUlJNTG9wUWJPOXdoVUx2NUgycmg1NGR2RjN4UC9BWkZSS2VHdWhuMERK?=
 =?utf-8?B?THJ6ZytVYk51OWVRRXNjZTBlRVpTcVo3RUtGbDRvTnNmU21lZVJsTzhJR2xY?=
 =?utf-8?B?eHR2UWtCZkNpcmw4aGE2M3JOd1o5VjBKNjhWYy9EL2h4ajhLTkFzS1FZdjdi?=
 =?utf-8?B?Z3A4aUxOOXVZQzk2QUhvQkFKdGZmczlLS2Z0c3lBS2xnMzFPbnlNYVRSWEM4?=
 =?utf-8?B?QzllQjNyTzZNL0xnNG5BSXhucVY0MDd1VHhCSFVxeVo3L2lFN3I0YUYzdDcr?=
 =?utf-8?B?citlV3FIdGFhNjdBcUwwQkpOU1RvQUIwdW9tSWtSRnZXdi9uaVljbmJsN2pM?=
 =?utf-8?B?MzdIOStJTVkzM2xkcm03MGJjcUpRTEtTN0hNMW5ZRE00WnBEWFFaTDdMbTAx?=
 =?utf-8?B?bGJLSDBOMWlHNlgyeUNod1RUcEtQNW5Rd0ljMGpkb0o3SUt0Tlk4cmRpZXFp?=
 =?utf-8?B?UzcyeHArM1FETk54dmtRYlJvaHhjUktzcEd4OWl1ZnNQMm1LU0xmdnpzbVVF?=
 =?utf-8?B?OEVncnY2S1pmcndSUWF1Z1FnVVhHbEhDV1pMNzhqY3NFVUM4amhPTFFPbDhD?=
 =?utf-8?B?MFR5NHRzUG5Xb2RRb2c2MlMybDNlekhiK29CdVRoWHA2dFpwcFF0U2RyVXVW?=
 =?utf-8?B?ZHpTUElIQUw3UVc0OG5OZDJ5NHN4Yy9PbDdDSGR1Y3J3Mk5vaHJXbjhXeDlz?=
 =?utf-8?B?dnU1QU9uajFmck5Ca29rZXVXdXduVExMTzFyWDNwOXgzZnhXYTczc08rQXRp?=
 =?utf-8?B?T3QybUJKK2dhblZLbzJ5MHNpeitpS0sza2dFdnU5TXViRHJrUE80aEcyV3Qy?=
 =?utf-8?B?WnRVV3NxMk5vWDgwem14TXJWR2N6K25WemVQbmlLc0JndXZxbDd3YjhwdElL?=
 =?utf-8?B?T3V2UUs5cnpuVWx0WSs3ZWwzbmVXVERmMzR2UzMxYTlzNjM3OXI1d1p5Q1k3?=
 =?utf-8?B?OUpSWENwYjFOU1h2WmgycWdoU2x2T3BoVGdyMG9NTnhKQXdQN1RobkE1RnVo?=
 =?utf-8?B?bFlsOUZJVVQ4MWRsT1I0WWZPc0tHWEhGS2tIdFY4azNwY0FYcndubHpkQ2ht?=
 =?utf-8?B?ZGpueHl4WS8rVGFvb2Y0MUtyTlRmYzZrQ2E3bTdUbnUydGNscWlSM0lIOFJZ?=
 =?utf-8?B?OGtqengweDllSVJqVjJrY2oraGdPTENERDNrSGhCc3JQeTNadWNJRk1BUnhw?=
 =?utf-8?B?TWY5YVBlQmVMbTIrOGtkVm9rWXFyRm9kU0lLOGJCUzgrZElLcGR1VGdDM1pE?=
 =?utf-8?B?ek5weE1lMmhYVEFvUzdTT3FDSkcyZUFnK1kwc3R6eko5dnduY05EeS8yYjJR?=
 =?utf-8?B?ZGY5bHJpb3JweXpGWno0amc0YjBoM1pZaHFFT0JKVFF6YlFLcTJWRFZmUkZl?=
 =?utf-8?B?djQvVUN3TGNuY21RVGN0TWwzQXdmR2NZb3pHNjBtZlhRajBKQi93V2pOVjdF?=
 =?utf-8?B?ZHg4b2h1ckp5MXNPZUxSNXZhNk81Y3c2QjVvbEQxWVNsQVhRQStvMFM2cmpZ?=
 =?utf-8?B?QXZMMENZdC9DWFN6NEE5bEJaUFZTSFZTS1MzOWZmeVBSNjdZeW9mT09IYzUw?=
 =?utf-8?B?VEloa1JnS3AzM0ZqRkdReU1JQ0VoeXJZV0xvVGtUcmJEbVFsL29jbjRPRFRn?=
 =?utf-8?Q?wWa1BuaetETwKUupACGdkFu1d?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 11960313-7446-426d-68f8-08de0cd0dc89
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Oct 2025 16:27:12.8639
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 1h1v98uJST1J2SP9ij5AX2evv4bVdi1lolaNQsFoQop0B0W5ovf4DSl8RXj6L+IeZq4Almx+c0sgSxKYSRTMTA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR03MB6042

On Thu, Oct 16, 2025 at 09:32:04AM +0200, Jan Beulich wrote:
> Using dynamically allocated / maintained vectors has several downsides:
> - possible nesting of IRQs due to the effects of IRQ migration,
> - reduction of vectors available for devices,
> - IRQs not moving as intended if there's shortage of vectors,
> - higher runtime overhead.
> 
> As the vector also doesn't need to be of any priority (first and foremost
> it really shouldn't be of higher or same priority as the timer IRQ, as
> that raises TIMER_SOFTIRQ anyway), avoid any "ordinary" vectors altogther
> and use a vector from the 0x10...0x1f exception vector space. Exception vs
> interrupt can easily be distinguished by checking for the presence of an
> error code.
> 
> Fixes: 996576b965cc ("xen: allow up to 16383 cpus")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> This is an alternative proposal to
> https://lists.xen.org/archives/html/xen-devel/2014-03/msg00399.html.
> 
> The Fixes: tag indicates where the problem got signficantly worse; in
> principle it was there already before (crashing at perhaps 6 or 7 levels
> of nested IRQs).
> 
> --- a/xen/arch/x86/hpet.c
> +++ b/xen/arch/x86/hpet.c
> @@ -9,17 +9,19 @@
>  #include <xen/timer.h>
>  #include <xen/smp.h>
>  #include <xen/softirq.h>
> +#include <xen/cpuidle.h>
>  #include <xen/irq.h>
>  #include <xen/numa.h>
>  #include <xen/param.h>
>  #include <xen/sched.h>
>  
>  #include <asm/apic.h>
> -#include <asm/fixmap.h>
>  #include <asm/div64.h>
> +#include <asm/fixmap.h>
> +#include <asm/genapic.h>
>  #include <asm/hpet.h>
> +#include <asm/irq-vectors.h>
>  #include <asm/msi.h>
> -#include <xen/cpuidle.h>
>  
>  #define MAX_DELTA_NS MILLISECS(10*1000)
>  #define MIN_DELTA_NS MICROSECS(20)
> @@ -307,15 +309,13 @@ static void cf_check hpet_msi_set_affini
>      struct hpet_event_channel *ch = desc->action->dev_id;
>      struct msi_msg msg = ch->msi.msg;
>  
> -    msg.dest32 = set_desc_affinity(desc, mask);
> -    if ( msg.dest32 == BAD_APICID )
> -        return;
> +    /* This really is only for dump_irqs(). */
> +    cpumask_copy(desc->arch.cpu_mask, mask);

If you no longer call set_desc_affinity(), could you adjust the second
parameter of hpet_msi_set_affinity() to be unsigned int cpu instead of
a cpumask?

And here just clear desc->arch.cpu_mask and set the passed CPU.

>  
> -    msg.data &= ~MSI_DATA_VECTOR_MASK;
> -    msg.data |= MSI_DATA_VECTOR(desc->arch.vector);
> +    msg.dest32 = cpu_mask_to_apicid(mask);

And here you can just use cpu_physical_id().

>      msg.address_lo &= ~MSI_ADDR_DEST_ID_MASK;
>      msg.address_lo |= MSI_ADDR_DEST_ID(msg.dest32);
> -    if ( msg.data != ch->msi.msg.data || msg.dest32 != ch->msi.msg.dest32 )
> +    if ( msg.dest32 != ch->msi.msg.dest32 )
>          hpet_msi_write(ch, &msg);

A further note here, which ties to my comment on the previous patch
about loosing the interrupt during the masked window.  If the vector
is the same across all CPUs, we no longer need to update the MSI data
field, just the address one, which can be done atomically.  We also
have signaling from the IOMMU whether the MSI fields need writing.

We can avoid the masking, and the possible drop of interrupts.

>  }
>  
> @@ -328,7 +328,7 @@ static hw_irq_controller hpet_msi_type =
>      .shutdown   = hpet_msi_shutdown,
>      .enable	    = hpet_msi_unmask,
>      .disable    = hpet_msi_mask,
> -    .ack        = ack_nonmaskable_msi_irq,
> +    .ack        = irq_actor_none,
>      .end        = end_nonmaskable_irq,
>      .set_affinity   = hpet_msi_set_affinity,
>  };
> @@ -347,6 +347,12 @@ static int __init hpet_setup_msi_irq(str
>      u32 cfg = hpet_read32(HPET_Tn_CFG(ch->idx));
>      irq_desc_t *desc = irq_to_desc(ch->msi.irq);
>  
> +    clear_irq_vector(ch->msi.irq);
> +    ret = bind_irq_vector(ch->msi.irq, HPET_BROADCAST_VECTOR, &cpu_online_map);
> +    if ( ret )
> +        return ret;
> +    cpumask_setall(desc->affinity);
> +
>      if ( iommu_intremap != iommu_intremap_off )
>      {
>          ch->msi.hpet_id = hpet_blockid;
> @@ -457,7 +463,7 @@ static struct hpet_event_channel *hpet_g
>      /*
>       * Try the least recently used channel first.  It may still have its IRQ's
>       * affinity set to the desired CPU.  This way we also limit having multiple
> -     * of our IRQs raised on the same CPU, in possibly a nested manner.
> +     * of our IRQs raised on the same CPU.
>       */
>      ch = per_cpu(lru_channel, cpu);
>      if ( ch && !test_and_set_bit(HPET_EVT_USED_BIT, &ch->flags) )
> @@ -497,6 +503,7 @@ static void set_channel_irq_affinity(str
>      spin_lock(&desc->lock);
>      hpet_msi_mask(desc);
>      hpet_msi_set_affinity(desc, cpumask_of(ch->cpu));
> +    per_cpu(vector_irq, ch->cpu)[HPET_BROADCAST_VECTOR] = ch->msi.irq;

I would set the vector table ahead of setting the affinity, in case we
can drop the mask calls around this block of code.

I also wonder, do you really need the bind_irq_vector() if you
manually set the affinity afterwards, and the vector table plus
desc->arch.cpu_mask are also set here?

>      hpet_msi_unmask(desc);
>      spin_unlock(&desc->lock);
>  
> --- a/xen/arch/x86/include/asm/irq-vectors.h
> +++ b/xen/arch/x86/include/asm/irq-vectors.h
> @@ -18,6 +18,15 @@
>  /* IRQ0 (timer) is statically allocated but must be high priority. */
>  #define IRQ0_VECTOR             0xf0
>  
> +/*
> + * Low-priority (for now statically allocated) vectors, sharing entry
> + * points with exceptions in the 0x10 ... 0x1f range, as long as the
> + * respective exception has an error code.
> + */
> +#define FIRST_LOPRIORITY_VECTOR 0x10
> +#define HPET_BROADCAST_VECTOR   X86_EXC_AC
> +#define LAST_LOPRIORITY_VECTOR  0x1f

I wonder if it won't be clearer to simply reserve a vector if the HPET
is used, instead of hijacking the AC one.  It's one vector less, but
arguably now that we unconditionally use physical destination mode our
pool of vectors has expanded considerably.

> +
>  /* Legacy PIC uses vectors 0x20-0x2f. */
>  #define FIRST_LEGACY_VECTOR     FIRST_DYNAMIC_VECTOR
>  #define LAST_LEGACY_VECTOR      (FIRST_LEGACY_VECTOR + 0xf)
> @@ -40,7 +49,7 @@
>  /* There's no IRQ2 at the PIC. */
>  #define IRQ_MOVE_CLEANUP_VECTOR (FIRST_LEGACY_VECTOR + 2)
>  
> -#define FIRST_IRQ_VECTOR        FIRST_DYNAMIC_VECTOR
> +#define FIRST_IRQ_VECTOR        FIRST_LOPRIORITY_VECTOR
>  #define LAST_IRQ_VECTOR         LAST_HIPRIORITY_VECTOR
>  
>  #endif /* _ASM_IRQ_VECTORS_H */
> --- a/xen/arch/x86/irq.c
> +++ b/xen/arch/x86/irq.c
> @@ -755,8 +755,9 @@ void setup_vector_irq(unsigned int cpu)
>          if ( !irq_desc_initialized(desc) )
>              continue;
>          vector = irq_to_vector(irq);
> -        if ( vector >= FIRST_HIPRIORITY_VECTOR &&
> -             vector <= LAST_HIPRIORITY_VECTOR )
> +        if ( vector <= (vector >= FIRST_HIPRIORITY_VECTOR
> +                        ? LAST_HIPRIORITY_VECTOR
> +                        : LAST_LOPRIORITY_VECTOR) )
>              cpumask_set_cpu(cpu, desc->arch.cpu_mask);

I think this is wrong.  The low priority vector used by the HPET will
only target a single CPU at a time, and hence adding extra CPUs to
that mask as part of AP bringup is not correct.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Oct 16 16:28:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Oct 2025 16:28:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144654.1477994 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9Qq5-0004Nt-GQ; Thu, 16 Oct 2025 16:28:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144654.1477994; Thu, 16 Oct 2025 16:28:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9Qq5-0004Nm-C4; Thu, 16 Oct 2025 16:28:29 +0000
Received: by outflank-mailman (input) for mailman id 1144654;
 Thu, 16 Oct 2025 16:28:28 +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
 <SRS0=NIav=4Z=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v9Qq4-0004Ng-3T
 for xen-devel@lists.xenproject.org; Thu, 16 Oct 2025 16:28:28 +0000
Received: from SA9PR02CU001.outbound.protection.outlook.com
 (mail-southcentralusazlp170130001.outbound.protection.outlook.com
 [2a01:111:f403:c10c::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 240ef09c-aaad-11f0-9d15-b5c5bf9af7f9;
 Thu, 16 Oct 2025 18:28:27 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by SJ2PR03MB7111.namprd03.prod.outlook.com (2603:10b6:a03:4f4::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.11; Thu, 16 Oct
 2025 16:28:23 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9228.012; Thu, 16 Oct 2025
 16:28:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 240ef09c-aaad-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ZGD4RwTvnmx79V4n7NPqWIAJanU3GlPVM974/uv8VtlN+lJdRCneK480hylQXp9OCiMuXK2wWQOtGDNfKDSonVJBKTCA0kgo65DD94M/rWhk0QNsj7t1zBo4Ekj5LuM3BHIqjx778kEQXqVrx8cfqwZ3aGERMGwk+nhYQae4nPtTaXIZNeYhyaZOzOSxLMVDh6YKq6hnksD1rcC1Klhzk/Ovz0FjprKmAz2ixQXOtJ+AJczYRXOVqgMRaKZXE/kzUnKsq0ZAVZLgherz4zxiJiwsOmMAervE24HlL0KC57aB30aK0g0pPeOmjnucC0Pt1I4QAc2d4Qasn+P3dMlqwA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WsLXnlLQe+LoMK1UvfDN9/jGVbZdwCSiwx2Q+loKspA=;
 b=Tax68c7lYCFTXgpU9+ILf1KX8j50Zp1QgUc4oQJ/Seu2VhQ7eaYHbWsxXbWzDkMUh+6lkODlJG9p53NICx+nAmpNlF+39phnU/lQb21/tOC0JE9LDQcqnJnN9PNfV+Q2n8mzGyV0Yvy3LA3i56MZKvNei+fRPOF8wx/07EZ4gor1uCrc988K4aBoxZFjRrb8kUwPbPfiYthJmRefMPWjUA7N5thJjz4eGQEkxBD9h4DI7kIKrC9TromQl9sIo/OiI5D3OMgBRC/ONIBDnI3jc/SeO5ET6DrTEgHyQ9ig0NfvPpVYM3QCyGrCpIqNYpz6lZ8TFe7FILNCtHgCOB090Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WsLXnlLQe+LoMK1UvfDN9/jGVbZdwCSiwx2Q+loKspA=;
 b=WHqy+WnwW4rk5l0jMmKgTDlkO/5ra2NgKvMokEtIQT1yG7i0CLfkWJhzrdJgDX9T2AYBnVfCaR3rxES/26lEIrksgFdegaUvxWUz8G5wjgDbIAdik3fh4SZosw+S8+stXdS5yFCS6EwT2CIIqO6m44iYqrSlrRD+T+Vp+OrsJm4=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 16 Oct 2025 18:28:19 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.21 02/10] x86/HPET: disable unused channels
Message-ID: <aPEdI78ySE2eFPnA@Mac.lan>
References: <8d94abf8-70d1-478c-885e-ff9a960ac72d@suse.com>
 <8913e64b-d172-43f9-9c4d-447ba4984c9a@suse.com>
 <aPDaIssJOFh00-W7@Mac.lan>
 <bc7467ca-ba06-417c-8583-8de3782a1d83@suse.com>
 <aPEQmMKYRwPaKxX6@Mac.lan>
 <39b3cdbe-636c-4b9d-9134-d42f8a369c4a@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <39b3cdbe-636c-4b9d-9134-d42f8a369c4a@suse.com>
X-ClientProxiedBy: MA3P292CA0010.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:2c::12) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|SJ2PR03MB7111:EE_
X-MS-Office365-Filtering-Correlation-Id: 6284ef4c-0ffb-4abb-8841-08de0cd10659
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?WXdiOXJDN29xWTBjWTRXanZKWmxodUwrbzdCeTE0SUErQ20vUjNyaDE4MXQx?=
 =?utf-8?B?UVZlTi9VeTlCYW8xY0lxWTA0a1NpOW9HeEpsMUIycWxUYlFuOGJTSGppVENi?=
 =?utf-8?B?QWo3TkpoWGFlQm9LSU1LOTVjdzBwVGdVTXlCTjVjdG9LOVZvczRjL1NBdWpi?=
 =?utf-8?B?Z0syaWtzdVVXTGc3d0h2MEowczV2NUhNdlNBcEhXZGc2MkdreVFyc2dIVDRv?=
 =?utf-8?B?UFFYVVM0aEw2a2g4NE90WE01bXMxMWs3RlVpVVFkZWo0ekFjNnVUQkQxK0VN?=
 =?utf-8?B?dm9lcTViYW9hY0k3cXVXN0NCcDAzVEQ3NTNoSG5POVdhVDNkSkJuK0xKRUYy?=
 =?utf-8?B?b21ZVVJEY2VGekxvM0Q0V2NNZXFkRlpYZXI4RGtUcEFGbzFBUm4zNkJXSEFz?=
 =?utf-8?B?S0Nac09tclpLTWh5ZmVUMmMzUmNXV3NIekxDNW1HSGoyR0NVcTdRS0lJd1F6?=
 =?utf-8?B?cGtGZVZFUStxWVA0NnlFMDZLUEY3ZXpyQ2g3bGVZMUZ2OExURWFUYS9sM3pF?=
 =?utf-8?B?b2lqbEdGN1o0bzFkRzdPZFNVd2RTVVl0c1FxcGx4UXRRRVNzS3BKMzhLUVg5?=
 =?utf-8?B?SVlNSHo5bmtacUdYNTUybFBCZFhaTGR5azNhQVcrWUJpSnhhUjNYTFlocE5S?=
 =?utf-8?B?b3hoYVowOFhuR0R6aTRGQ3ZZeXlINCttRnAwdlJ6YWNwQ3JDQXBjRGpGYTIr?=
 =?utf-8?B?NnhkM3orTW5NUTZ3a0F2SlV4aXhxN3o2TExLL0xRcXZpSXFLdzNSS01hSTJj?=
 =?utf-8?B?U2ZjSGVHOFNuVzZKd0Vza0x0NFUvODl4MWk2OW9UcHI2cUN0MW9aM2ozMU9w?=
 =?utf-8?B?MVNENi9uTjJWbVZxbVdWbFc4YkVwcEVmR3pVWmFzbE12d3Jlcms1WmNBcU9M?=
 =?utf-8?B?Ulcxa0Rjd1lLUXAyU1I0MHN2TU1BLzVVNjk3dDJqcW8xei95aEFsalVzdEhz?=
 =?utf-8?B?WE9VMTRFNzd2WVFtNXltNk94YXo5amxYUVNGS0hpdWltMUVvVGF3ejAvOHBW?=
 =?utf-8?B?a0V0Yjhydi8yeE9nVjNJaURFTDRpWXcvSXhuUFR6aytSYkdqMDdsRmJpOHEz?=
 =?utf-8?B?RHRNWVFubHpFVXBGRWRDTmVWMlgwbmJnZTljNzUwVHlnSUpDb29lRThFZVZ5?=
 =?utf-8?B?VTJIb1FEUDY3YWNHcm83ci9DYllTd2hoV09PRzMvckIrYWJVM2VLSUJmcEdo?=
 =?utf-8?B?YlF4QnZxTVhxOXZldnZZV20vK1QrNlY0MXU4QzlNaDc0U3JTK0RUYnplVFVi?=
 =?utf-8?B?THByRHAwZFZtSjFZajRwNDQ2WS9wZlVTa0pIWEFzSUd1bEFLYU4zbUFCcFU1?=
 =?utf-8?B?Qmh2cTJIVDc4ZVdYdUp6UXN1U2hyR3RVbHJuS1J6ZmZ4cFpEdHdNNlQzR05Y?=
 =?utf-8?B?VmRMT3dXWWdFRmdiSXlBcGVGV0srMWlHWXF2cjVRakdEbkZOU3doT1AwQURJ?=
 =?utf-8?B?ZmRPTkVranc5SjVjbHlsaTlnakFSQmFqaE9rR21Pb3ZLeUlsYkVBY0crNUtT?=
 =?utf-8?B?RmdWbkNYZDRmSlFxU1lFZ01xa2kyQzBTaFdvbHJxYjRsVHlmbW5zaGtTTlVY?=
 =?utf-8?B?VlRIZWp2ZE12bndxNlUxUG5GYlE3QldBRGF0c0VmSElhd0JPMHJXeDN6MXBw?=
 =?utf-8?B?RDc4dFVZVG1yR1BXWlI5NVZ3djhaaURCbHJyTEpJcjB3eE4zTXNaKzM5anV3?=
 =?utf-8?B?bzBMeWZDZ0Z4ZzJNUWdFbzIySTBpdmtDdm85TVh1SDEyaTZzL2VESGhmTTRO?=
 =?utf-8?B?aWh6REhzL3AyOTM1N0IyakNFcW9ZSGpiM1BwK25CS3FQdVQ3Q2ZuSHlFOU5K?=
 =?utf-8?B?ajdMbG5MWUdSMThQQU8xRStKTkVkSENmeW5kODE5Y2NmdTBqVWQxQklpYVdT?=
 =?utf-8?B?cXlodFNuRUowejJuWXJMS05QMEVMSkdhZWdUOHJNcm5wellRTFB1dVVzeEpK?=
 =?utf-8?Q?wlGrnT6ljWtUzndT/iN3n1NcAsFTZ+84?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aVlqa1JVQ3orYlRKOTRDeG9Sc2ZJdkVZNTFLdFhuUWVvOThQK1NMOXhSeGhJ?=
 =?utf-8?B?T3JaWktwaVgyNndPTlJDaGZkcnJQZ3ZrMjdYb0pRYnN6UkhYdTBEclFyTm5C?=
 =?utf-8?B?VXR0bWI2Q1I5dDBzVllGRkpsY0hmcWRZMG5JRlJjdHQ3Zm9JdlF0WlF1d2c0?=
 =?utf-8?B?N1ZZUFBmZVJYOEJ0QmhMRmlGZUF6Vkp3UjFGUzZlTXg5aktaNWVYY3ovYTMx?=
 =?utf-8?B?aXBCOTJmaUJkQ2NOU1BaanlLRkFRSE8vYngvblBsOEJDWDBhTjVDK21lWGI4?=
 =?utf-8?B?SzludnlzY0R1alpBakdqQ1dLTHdaYkMxL01vWEdvRkFKdi9pbDlZUzJmbnJE?=
 =?utf-8?B?M242OVd6TEVWZDZGYkVvYmUxWGNuVlY4aXRmNHJ5RVV1aStrZjU2dDBqckxR?=
 =?utf-8?B?VHM4bUdBRFNuRjY5UHF3cjNpSERVN3RFYWwvTkJ4aEpxZ3RtTExtRjc3L21l?=
 =?utf-8?B?MzVlaEEzcWlQK240WU4rMEh6TGRmVVpkby9KK3NGYUpNWXZFY0hydTJjcG81?=
 =?utf-8?B?Nk9KTjRhVytiRGxOU3NwQXNLSGRHR0s4Vk5wUGxrV1o1L0UwOGxSMmZSTWwr?=
 =?utf-8?B?aHc1eXRzNXZqdDRicGpuY1RwMWZxOUpGaUpBejFqc0lGZTArVUM2RjFzdFJl?=
 =?utf-8?B?RlpkbWt6amltbkkvNmN3dUtzYmE3OGVzZ0RiTDcvamVyTm9sYUhQbzE1VDQv?=
 =?utf-8?B?YzIxUCtBRWhOL1FzcDA0THB0dGhWZ2EvbjJBZmVPTnJYOGwwZXFaeUYxV3Ns?=
 =?utf-8?B?VjdPM3pmYWZ0R1N2QjlQYU52bTNaTmltOG9COFpyOU95L1huYngzK0xhY2hH?=
 =?utf-8?B?cTk2RFFpMTgvWGkvK1grV3hwdjdYM3djcitCbmpVdVZJRjhuZCtsWHp2YzZp?=
 =?utf-8?B?NXhvRjc2UjQ2MjFlOHR5TEQyOWpMcEJTVHhMQmZwOXl2M1BCRU5MOWVCNG9p?=
 =?utf-8?B?T20wUHEwSXdjYXQxcEwrRGZSZERkakhBbklUaXdjcTJpWmlaNzN5L2FibU1B?=
 =?utf-8?B?b3YraUhLK1YvekZlZHlKSHdLSjh2UENBdDE3RFB3M3h3cmhQeGVGeFlsWHdY?=
 =?utf-8?B?Y1d1Uk9OczhoNWUwcC9Ja0JycHJMeSsyd2o5VWJVMU8xTWg3NVR4S2d0WmN4?=
 =?utf-8?B?K1lNbjRiSEtuZEF1c0NiUzNwS3NjRkFnREVZOGh3anZNYlVZTTBBQWdOd2V3?=
 =?utf-8?B?SlZObFNBZm5kOTdzRGdWbnBwdFlTdGZFaS9teUZmdnRrOStndG5UNW5BczE2?=
 =?utf-8?B?S1Nzbk9LNjhGUlA0bnRxR3RRejVVNEtVKy9QWVBGcXZZckM4ZGtyVWJYdlZV?=
 =?utf-8?B?eEhVakd4YU9XNmhSMDlLc3lBL3RGdUh3OGZUWUxYQm02RU9WZC82OHNOblky?=
 =?utf-8?B?NVF1ZTN2SkNpVXUzbzRyS1I5SHd3R3lxcWJMTXFZMFlCVnZucUovVUNwYkp5?=
 =?utf-8?B?c1pOZTFIcjdXeFRZYWJoTzJVNWczQUNxdXUybzgvbnNBNHd0TnlMYjZvM3U3?=
 =?utf-8?B?NnU1aTk0Y29mb0sxTW0wZklVUkJlVnFQVGpndU93THNDbkxodXY4Q0h3TWRL?=
 =?utf-8?B?TWVmNnVZR1FPQWhqK01ZVVdYTTZOR2F5b0dQSWVsRThPeUNORzBpNkExbjlz?=
 =?utf-8?B?VlRQb2ZEeDZHOUQxUEVVTVU4TlIzcEEvT3A5RFY1a09IR2tyWTBZVXlZdnFk?=
 =?utf-8?B?QWdUTmNxSjZBL0w1ck9wSmM1QTZRR0hWZE12UXRPTG5MSzFIK2dxMmNmR1V1?=
 =?utf-8?B?cjY5ZTRZdkF2SWc1M1lTSTZSSjZvR2QzaHViQUhtbHVWTVRGbVVyL1RxUUhO?=
 =?utf-8?B?bERUb29BNEhZQUZ4Ti9FU3RZcVlOUmlhKzByUWpDN0RMWDd3bXEvaHdPUnpq?=
 =?utf-8?B?bmZhcVhhd3dZc0Jzd1pDR29nTGxXZ3JNeGVuSmdiZ3BGdlJDUmo0aG9XaW56?=
 =?utf-8?B?dzEwajJLMHROUDJkMi95UmZoamp5dWNWaHpwSlhBdHRnVXQ2VnNKdTNpZS9p?=
 =?utf-8?B?SHFKTFRzZnRHQzNMWnpyOE9RWkVzOUdhMGNVUXBnMDZGVVFHR3MySllubkZm?=
 =?utf-8?B?SnliaEFINnhDQTl4NTZrMlNqWlRVRHNoaHJhWDVkYTRLbkJOeWtlWUdGYnYx?=
 =?utf-8?Q?JDsTB544StV84LtPoNTwvDZ3+?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6284ef4c-0ffb-4abb-8841-08de0cd10659
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Oct 2025 16:28:23.0305
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: crwiYP2RjaXdWZ8yY84UHgZVYOfW9KwXI5bQomr/8MrJE+pQq7CGakJSdLv2mdbPJc3aFaC5o48qNZaa4wZr7A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR03MB7111

On Thu, Oct 16, 2025 at 05:55:30PM +0200, Jan Beulich wrote:
> On 16.10.2025 17:34, Roger Pau MonnÃ© wrote:
> > On Thu, Oct 16, 2025 at 01:57:41PM +0200, Jan Beulich wrote:
> >> On 16.10.2025 13:42, Roger Pau MonnÃ© wrote:
> >>> On Thu, Oct 16, 2025 at 09:31:42AM +0200, Jan Beulich wrote:
> >>>> Keeping channels enabled when they're unused is only causing problems:
> >>>> Extra interrupts harm performance, and extra nested interrupts could even
> >>>> have caused worse problems.
> >>>>
> >>>> Note that no explicit "enable" is necessary - that's implicitly done by
> >>>> set_channel_irq_affinity() once the channel goes into use again.
> >>>>
> >>>> Along with disabling the counter, also "clear" the channel's "next event",
> >>>> for it to be properly written by whatever the next user is going to want
> >>>> (possibly avoiding too early an IRQ).
> >>>>
> >>>> Further, along the same lines, don't enable channels early when starting
> >>>> up an IRQ. This similarly should happen no earlier than from
> >>>> set_channel_irq_affinity() (here: once a channel goes into use the very
> >>>> first time). This eliminates a single instance of
> >>>>
> >>>> (XEN) [VT-D]INTR-REMAP: Request device [0000:00:1f.0] fault index 0
> >>>> (XEN) [VT-D]INTR-REMAP: reason 25 - Blocked a compatibility format interrupt request
> >>>>
> >>>> during boot. (Why exactly there's only one instance, when we use multiple
> >>>> counters and hence multiple IRQs, I can't tell. My understanding would be
> >>>> that this was due to __hpet_setup_msi_irq() being called only after
> >>>> request_irq() [and hence the .startup handler], yet that should have
> >>>> affected all channels.)
> >>>>
> >>>> Fixes: 3ba523ff957c ("CPUIDLE: enable MSI capable HPET for timer broadcast")
> >>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> >>>> ---
> >>>> A window still remains for IRQs to be caused by stale comparator values:
> >>>> hpet_attach_channel() is called ahead of reprogram_hpet_evt_channel().
> >>>> Should we also write the comparator to "far into the future"?
> >>>
> >>> It might be helpful to reprogram the comparator as far ahead as
> >>> possible in hpet_attach_channel() ahead of enabling it, or
> >>> alternatively in hpet_detach_channel().
> >>
> >> The downside is yet another (slow) MMIO access. Hence why I didn't make
> >> such a change right away. Plus I wasn't quite sure about the locking there:
> >> Imo if we did so, it would be better if the lock wasn't dropped
> >> intermediately.
> >>
> >>>> @@ -542,6 +540,8 @@ static void hpet_detach_channel(unsigned
> >>>>          spin_unlock_irq(&ch->lock);
> >>>>      else if ( (next = cpumask_first(ch->cpumask)) >= nr_cpu_ids )
> >>>>      {
> >>>> +        hpet_disable_channel(ch);
> >>>> +        ch->next_event = STIME_MAX;
> >>>>          ch->cpu = -1;
> >>>>          clear_bit(HPET_EVT_USED_BIT, &ch->flags);
> >>>>          spin_unlock_irq(&ch->lock);
> >>>
> >>> I'm a bit confused with what the HPET code does here (don't know
> >>> enough about it, and there are no comments).  Why is the timer rotated
> >>> to a CPU in ch->cpumask once disabled, instead of just being plain
> >>> disabled?
> >>
> >> Because it will still be needed by the other CPUs that the channel is
> >> shared with.
> > 
> > Yeah, missed that part, the channel is migrated to a different CPU.  I
> > wonder however: since an active channel can be migrated around between
> > CPUs, isn't there a risk of the timer firing just in the middle of
> > migration (when interrupt generation is disabled), and hence Xen
> > possibly missing a deadline?
> > 
> > In hpet_broadcast_exit() we need to check whether the timer has
> > expired after the migration, and manually trigger a broadcast if
> > needed.  This also risks doing to broadcasts also back-to-back, but
> > it's the only option I see to avoid missing a deadline.
> > 
> > Maybe there's something I'm missing, this is all fairly complex.
> 
> set_channel_irq_affinity() invokes handle_hpet_broadcast() to cover that
> case.

Oh, indeed, sorry for the fuzz then.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Oct 16 16:31:28 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Oct 2025 16:31:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144668.1478002 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9Qsx-0005z9-0y; Thu, 16 Oct 2025 16:31:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144668.1478002; Thu, 16 Oct 2025 16:31:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9Qsw-0005z2-Uc; Thu, 16 Oct 2025 16:31:26 +0000
Received: by outflank-mailman (input) for mailman id 1144668;
 Thu, 16 Oct 2025 16:31: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
 <SRS0=NIav=4Z=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v9Qsv-0005yw-Ir
 for xen-devel@lists.xenproject.org; Thu, 16 Oct 2025 16:31:25 +0000
Received: from SN4PR2101CU001.outbound.protection.outlook.com
 (mail-southcentralusazlp170120001.outbound.protection.outlook.com
 [2a01:111:f403:c10d::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8d5ba0f2-aaad-11f0-980a-7dc792cee155;
 Thu, 16 Oct 2025 18:31:23 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by MW5PR03MB6959.namprd03.prod.outlook.com (2603:10b6:303:1aa::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.12; Thu, 16 Oct
 2025 16:31:19 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9228.012; Thu, 16 Oct 2025
 16:31:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8d5ba0f2-aaad-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=es3pZMItNPEegeW4mSeR1oLEPrGZE67gTOF4RmQN3MXxw4/xF4pNirWt6ayROcnoPFlKQ6lQPIXx/j8ja4bhHm4nTWrnNIJbDrI7jc7LuXUiNUIXc1m+0joLuGKo8vVJ+wDEfGFewLHEdZ1op4CkOsrSXS54LOIqvN4+LQZ1OIehcOjesMZRAmhFYmzCcQ05VY1+2EkWy7yB/8LbDemuFmws/v6dBdFeInOGaEUrAFgBcgaMjzmMXE/Rz9sVtIV2dmxMKUNq6amznNsNo3FLaBbKJxR/rCU77eLFs19fgmofP4A8ALywRUYfV/IPjQnO7qIZzjM4fdZp1wE59w3dVw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0LobABZ87hhmtMsqlRnIARfW8fgWpTdatDylMJpeNkQ=;
 b=xUj7kVaSvzYOKAJoZEGkZg/l1SSjZEPF2+JDPLJxqq+XMRpl2WRM0ouOnrc7e7QwaWdxm3YBk5HaW0iEpoloKxu+nq9j4HTz+6wPtbMCm+l/O7KXntD39ZZuFN+d57J0eteHmXtiNpE9HlMp/PxbHGSLgIIEAtnJtbKPujVKbbU2mOkfanrqbGOmE6XYulBrs0fg6cHsI9pzQmECHqTeaRYcCxRt3yNBY1TWtBfEWXZB52PlNJKwZDvk+qfhjMCAxLY3NGi1wX5TBGKPPhxcWKFzQjOZ3fG8dES+oJYKxjLHR15K7RqtlEQ4LtvGxooAv++6lS1kSwZIFJWxbCP7Eg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0LobABZ87hhmtMsqlRnIARfW8fgWpTdatDylMJpeNkQ=;
 b=Kja++0wZib+dEOJMTwQy+NIflqpdTd4CftZVDeH0M2V/nJNkivNEVZOZTlzcpVVLXfr9zpDIuEn/9cHS2A3m4U4+lj4dZFYnzThojmDkYDGaTIHAeLRBQLIQxEwLzIjPFbmsFkRJx3ZCcFq/E1S0VSnoyuUNK6TOS560MqKEy0c=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 16 Oct 2025 18:31:15 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.21 02/10] x86/HPET: disable unused channels
Message-ID: <aPEd00xPCAc0hsr1@Mac.lan>
References: <8d94abf8-70d1-478c-885e-ff9a960ac72d@suse.com>
 <8913e64b-d172-43f9-9c4d-447ba4984c9a@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <8913e64b-d172-43f9-9c4d-447ba4984c9a@suse.com>
X-ClientProxiedBy: MA3P292CA0013.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:2c::6) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|MW5PR03MB6959:EE_
X-MS-Office365-Filtering-Correlation-Id: dc871ce6-2b87-4ffe-3cf5-08de0cd16f1f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?UVZRRHJ0TnhldFo2Rjllc2c0TDFXT09SSXZsMjA1bjl4dGRXSHhNdnVzSmNh?=
 =?utf-8?B?Z1lmL0hxaFVmKzc0VzBnMjJsTmV5cU1RaEM1WGhNaHM3R3hkZk5EckZhN3J2?=
 =?utf-8?B?UXpJQ2dCMUVHQWE2Qzg1Q0tmbWo3MmZmOENES0lHdzZmVDJjRnRndkxSQTlB?=
 =?utf-8?B?SGZDQUd2b2Vwam9rbDJlK2Z3RHdnaWpaeWhqcDVLcUFTWFpDemhxTlplbG9a?=
 =?utf-8?B?OVFaWlg1WlZHVm4vbFIwMUwvWTNWM1dzRG9vT2JldHhYY0w3MEs1REg0QjJh?=
 =?utf-8?B?S2hseXA1NlgwL3lLK2ZsTjAwOCtLOG9qSXF4ZHpRUmtwa214bjRJNkxPU1lX?=
 =?utf-8?B?UHNTZDROTUVCMnlSOEtNZ1hFcFFyYmY1OG0rVUIwUjE4Q0FiOGppVGxtOFl6?=
 =?utf-8?B?ZjVtMDU5WTB6ZlpxbXdpVW04WW9zNGI1Ry8xS0c3cU5TWitnUVo5S3pNUFlz?=
 =?utf-8?B?Tzh6MHhKK1dNVUVGVDR6QUlmaUp4NXBNa3JwZjJVWU5vMzdOOUwwQWl3K0RI?=
 =?utf-8?B?WitTOTNML002Zm5UQkdYdyt1UGhYTG1VQlFLczdOYkZMMU5XbThTbXBFbm52?=
 =?utf-8?B?SlUyQ3NTdTJjWE0rc3EzTlBrM09SUUpuZ3lmS3dvR0FHRDV3dzYzYjJtQmFM?=
 =?utf-8?B?U0xTNDVPVVN6SWNXQmdxL1IzcjVZQUxTMWdFNGRDTHcwWVl4dzVxd0owcXEy?=
 =?utf-8?B?ZStqbG1HbnNQZ1FiQ0ZiMENocC84ZjZNL3MrYVM5T0lWK0g5d2VXZ25nMnVT?=
 =?utf-8?B?RGpITGZkQzRmcEdWNGtMQXV3dy9paEFlMS9WL2Joc0R0Qno4dnBWT2VFN2t6?=
 =?utf-8?B?MVdmWG5RMlluVU9EMU9wQWZUWGJTaGt4QzhIa0cxVlJ2V3I0T1RsVzF1K2lG?=
 =?utf-8?B?TkJXTHh6WndyV3UzdkpZMXBkd005L1UxVFVyczJwL3Uxc1ZVZUxKOUFFWTd5?=
 =?utf-8?B?VlJjTGZpdk9Od29mR1B4cVJSc1E4QVV2a3pQMlVORXVLNllMbUg4V24vaUJR?=
 =?utf-8?B?QTdJUkxyTk9JVGJwYXYwUllJZDErL1NmellGOGZSeUtzR0hZQlVWMWRkaFdv?=
 =?utf-8?B?WUFLSGx5eWFBcVl5TEJEUjNPSFVVa09QWmlqM0dSY3RGN2x2b04vRmEvOWFF?=
 =?utf-8?B?L05XWklpdldpRmFqSjBqQTEvc0ZTenhRTm5sUVFyR1g0Y25hQW5qS3FvdHlL?=
 =?utf-8?B?YWFKbVNTYkFrNEhCVklkTDFyU2RpbkFNS2laSnUzcXVWYk4yTng4RldtRTQ1?=
 =?utf-8?B?UC9HQTBzTElvb3lXY2tIWjNXYjFrVmNwUjBhaWpYZkdKWFlmcjZBZGRESDlJ?=
 =?utf-8?B?UFd4b3YzQk1FWkRoMkJrUGlTVzdRWS90dXQyUklIdmJ6dC9wQ09MYVlaQXVp?=
 =?utf-8?B?WGtVUGVtbmt3V2V3RUM5cXd0MDd1dmh5VG1MYkZOMGhaR252QSt4OHB6YWla?=
 =?utf-8?B?UG1CMFJVTmpuT3g5OUlId2NvVjdRRk1QaldIMnlFT1dscGh3S3A5aW5xMzJQ?=
 =?utf-8?B?cGdrcGRyVlYyRi84blR6cmJUNjRQRmZEdG95MHRPNytqM3FxM1hyVEFNRjVr?=
 =?utf-8?B?cUUwQmVNZ1Ntc3dHeEt4NDBwQURwU1dKaWhlSGJVYzRaU08ybnRDaEErNmhk?=
 =?utf-8?B?cHZJVEs5N3FnYit4T1JmNVc4cnZEM3g1NklrcjZxUTZFNEtRQXh4WXk3N2hh?=
 =?utf-8?B?enA5bDNidkluNjhibFZJT2JzdWNqTEVyQitRUFhyUWlseVFkenptOVpLRFBY?=
 =?utf-8?B?WDQ4T3QwU2ppZXNDNlUyMVV0OVViUHNvWFRUNlB3MnFwcVN2MXN6SVVCQy9M?=
 =?utf-8?B?QTZOcEVEcFVFR0pZTGtFZThUa05SdXkvanRTdnhFQjhxbkFtV1hQcWhwTHdJ?=
 =?utf-8?B?d3dRTHFYOFFFTFdyb0h1OHRvWGxkSW9IdmJrMnhZN2kyTlNmUEs5OExBaDJF?=
 =?utf-8?Q?7UfYoLumHhsgUpnMj74qgoqz8M0mjdht?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SlVrZGlRWDIydVA0YndTNGVjbTFpTkZHZCtUdGJlMkhmTGxzcjcwRDZXZ3g4?=
 =?utf-8?B?L1NKbitCQWFCdDcwNGMzVXF3cGxvU1Z2Zm15ZmRncGRjVWloZmlvZVdnR05J?=
 =?utf-8?B?L1dSNWRYMWFxY29MZ210UUxJU2dyMlUvSzVaQXRySzhJbHB6eTdBd3E4aVBP?=
 =?utf-8?B?V2QvQlhZR1RCU3RhcW1nTVlqTlFkZ2dLVlN4QzdmbUdpblkrVVJmR054MWN3?=
 =?utf-8?B?L24xb0xoWHZuZVFjWHpxTy9XcVJVdEZYQk1RaFZVUTRucHIxc25WOVlSc1J2?=
 =?utf-8?B?dDdsSTdHd0NpUHVpYVZBdlZrbHFyV3ROSHFJU1dlbE40MkZ2Vm5nTWdqbFVB?=
 =?utf-8?B?RFlBN05uY0QyRXVyZ1VNMDBMZ25RbFlVOEtyRnlLdWpYSXZxYnQ3SXp3TFI5?=
 =?utf-8?B?c21JOGFlTm1hYWQxZUxOZVpBYSs1aHZFL3g3STU3bEFEb05pQzVUNHI2VFgw?=
 =?utf-8?B?YUN6VUd1SGtZUnQvamxaV2FRWk9JMHBPMm9hN3A1RVBPWFBpYjgvdUVpaW42?=
 =?utf-8?B?L3A2VkVZMmZvT0hZcm5iVFpSU3hZdkpURyttRlM2Ymo3WUUwczlBdlE1V0hM?=
 =?utf-8?B?OFR5bURKcG1sc3ZPZEtwdDZ1cC9FYWJkeHpOYVBoYk1RUVFieGJUNFdFTjlY?=
 =?utf-8?B?UmN4a0JFQUpOSFpsVjZFNjlQZnZCSXJSbUdGZTVGNkFWUVlRcVE0aW0vaGVI?=
 =?utf-8?B?SkUzbDhRYnhwYWtYZDBqM3ZiTUgrblRFTkhzRDUrekFtVnpjWXU1SER5VCtV?=
 =?utf-8?B?V0IrYUNtTmtnUTVmc2grRHpiQlRtMG5KTGpDMWlNd0o4blVHVWt3Z0JuRnFN?=
 =?utf-8?B?VDgxbW16VDVQYitvaytMZUdKTlZhZ25rckJUTXVBOWozOU5BMThSckptWkhs?=
 =?utf-8?B?Q1o4enNSUGtKQ3BrR0ZOWC9ieDE5SWRhVktVeUczL1F3QkovaittbDQvbk41?=
 =?utf-8?B?cm1WRERzWWpLTlQ2VVNrbFQzamVySFNnUXMxQUZXRTJHc0p3REowelgrV2ZT?=
 =?utf-8?B?SUJIcEUzRnc2UWpMUk1taVV3RkZkaXJlVm9jNEFCdGh6eGErRXhsUnNWVEgw?=
 =?utf-8?B?blNGMUVTcFIySHpGRzB2YTJ5bkw4aGttWU9TV3licmlyT0EwT3duQW85WHpx?=
 =?utf-8?B?clZsSjJvK2Fsc25FdHhweVhQc1dYR1ZNUEc1NVJZb25KMG9Sc1lQTTRSZVND?=
 =?utf-8?B?aEpqMEJhdTBVdEU2UWtqUjI0enRyVUpCWnhaTXNwYktuUVVHNS9CWURGSUw1?=
 =?utf-8?B?T2xRZjJ0bXZleUxTZ1pheXNxelZwZVhEYTB5c3diWk5kSmNUNEJ4dG1WVG94?=
 =?utf-8?B?V1NuUGRVSmhDVHljcTBMb0lIdUpzeFBHREUyRm4zUHBDV09NWUIrTjlxQUMy?=
 =?utf-8?B?c0RYbWp0UW9VR2R1dGVzbEZmWFBvQ2tyMTE5Q3JCS0dmQzRnRnNpOG5XSWE2?=
 =?utf-8?B?bmlwRHhONWs0VmhmN0ZCSytnVGwzWmhSbzdkMnJ0cFJEZ0NsaWhBRWx0aFhh?=
 =?utf-8?B?SCtFUStNc1FZTjJnNm1HM0srdVdyU3hTa3poQ2xsOGVDbXd0R280bE91RFdO?=
 =?utf-8?B?U3hnekxXd2ErS2RvYnZVOGZTcmhPZXgxVm56SVZQTzJiMmZGZjJUTWswOFBW?=
 =?utf-8?B?b0dZTVR0K0J6TThrUk9hMHNlQWxJOTJhaVpsbjJqTmp3eFlwUDNzMHFSN0Jv?=
 =?utf-8?B?M3U3U0hOVVBMYm1qajJTNm5zTHlJNGl0T0U2eGRYb0JncFM5d0J5UFE5UjVP?=
 =?utf-8?B?YTREajk3YzhCS05qYUxjTnJ3UUswbkFQSENMZDRKNXRCU015VzNTWUVrUkxQ?=
 =?utf-8?B?UnphUDhpKzN6cTlzM1BvYUg5cElkSDNUUFZGV1k0TzRMbTVSeDhqdElSMkxN?=
 =?utf-8?B?c01XSUV6V1V5cENPaDdJb2N1Wk5TWkMvaUxoRzdNVyt5SElEU1pxazNoVTdx?=
 =?utf-8?B?eHNYYXRUMWJ0VlBoZDh3czVERm5xZG9RdkxRMm9qOHcxWDI4UUpibktPQjVL?=
 =?utf-8?B?RHh4YVA4NndxMDlhb0sxeEN2Y2JaMVJYdGcrRWF2WVM0RWxjUm5meFJYdm1J?=
 =?utf-8?B?ZEp1OWxpRFl1aDZ5VlQ3TlVtZXByeHBmZnRPcGZuSCtQS0FZOG85aVhXVnVv?=
 =?utf-8?Q?oIlvlhGml9w+9eD/Fpri1RBWb?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: dc871ce6-2b87-4ffe-3cf5-08de0cd16f1f
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Oct 2025 16:31:18.9323
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 6PZAY3C3nk24D6K8bT6mfwx55Cqai0QKop7JfFTHnGw76jBgZ79XJaypfvOrxEcerRq05oifqVsOay+uWHtUyw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW5PR03MB6959

On Thu, Oct 16, 2025 at 09:31:42AM +0200, Jan Beulich wrote:
> Keeping channels enabled when they're unused is only causing problems:
> Extra interrupts harm performance, and extra nested interrupts could even
> have caused worse problems.
> 
> Note that no explicit "enable" is necessary - that's implicitly done by
> set_channel_irq_affinity() once the channel goes into use again.
> 
> Along with disabling the counter, also "clear" the channel's "next event",
> for it to be properly written by whatever the next user is going to want
> (possibly avoiding too early an IRQ).
> 
> Further, along the same lines, don't enable channels early when starting
> up an IRQ. This similarly should happen no earlier than from
> set_channel_irq_affinity() (here: once a channel goes into use the very
> first time). This eliminates a single instance of
> 
> (XEN) [VT-D]INTR-REMAP: Request device [0000:00:1f.0] fault index 0
> (XEN) [VT-D]INTR-REMAP: reason 25 - Blocked a compatibility format interrupt request
> 
> during boot. (Why exactly there's only one instance, when we use multiple
> counters and hence multiple IRQs, I can't tell. My understanding would be
> that this was due to __hpet_setup_msi_irq() being called only after
> request_irq() [and hence the .startup handler], yet that should have
> affected all channels.)
> 
> Fixes: 3ba523ff957c ("CPUIDLE: enable MSI capable HPET for timer broadcast")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Roger Pau MonnÃ© <roger.pau@citrix.com>

> ---
> A window still remains for IRQs to be caused by stale comparator values:
> hpet_attach_channel() is called ahead of reprogram_hpet_evt_channel().
> Should we also write the comparator to "far into the future"?

I think we can possibly live with this to avoid doing an extra MMIO
access?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Oct 16 17:01:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Oct 2025 17:01:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144678.1478013 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9RLm-0001YU-6l; Thu, 16 Oct 2025 17:01:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144678.1478013; Thu, 16 Oct 2025 17:01:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9RLm-0001YN-41; Thu, 16 Oct 2025 17:01:14 +0000
Received: by outflank-mailman (input) for mailman id 1144678;
 Thu, 16 Oct 2025 17:01:13 +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
 <SRS0=CCbN=4Z=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v9RLl-0001YH-Q5
 for xen-devel@lists.xenproject.org; Thu, 16 Oct 2025 17:01:13 +0000
Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com
 [2a00:1450:4864:20::32b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b77ef06f-aab1-11f0-980a-7dc792cee155;
 Thu, 16 Oct 2025 19:01:11 +0200 (CEST)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-471075c0a18so10534325e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 16 Oct 2025 10:01:11 -0700 (PDT)
Received: from [192.168.1.183] (host-92-22-57-86.as13285.net. [92.22.57.86])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4711442d9e8sm36788515e9.7.2025.10.16.10.01.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 16 Oct 2025 10:01:10 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b77ef06f-aab1-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1760634071; x=1761238871; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=QSNW8uRaXIRiJoCFt2g4qlMRk6braa0z4yjTHB7VjU8=;
        b=MQzEDC2KP/Mnqvd4npiaN7h4FvWHLsnjKtKsXd4BbXW3wHHew9QnUvwBNrCyJuyx+6
         sb2PuU9nEj13+sdTd575mamsxgxTPOJAtX1pLcBxUqUVapfmV+T55DchqAtyNRE8KjWi
         GPtJEOtFUK5EqcQQTz/Lo5ttKUn8M6qa6eTDU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760634071; x=1761238871;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=QSNW8uRaXIRiJoCFt2g4qlMRk6braa0z4yjTHB7VjU8=;
        b=RK1qf/N8IC0pKmWzSrGFrEWdpZ6kEy6Jc0ETl7DVQhiN4/XZcWjyzLZ5Y+3Tm8oTLS
         GEQLL6OuG55rqKbUxAK2/iSUHlJT05/c7ifVf1hOiHHr/k0wmRx7D8ndhkbiQU9Ka0Cr
         QDYXAvnyKUcnbmpA8XUfaVLVcYc2QqOIsl0Z6EAnLHjk1ycVCwjAhCijoTmSKAHbRiex
         eZph03tV+JkwT0oqhlqZoI839kYjaFRx9c1GAcbyEgW0eC/8AsxBJK7zj7Cq/fK3A+GD
         WJwRfsY38K5Ee090I7X7LEYt/c4gshbyobNBY7NrzilM8+q6haeEm1WAxm6DS/EJP1Vg
         df9w==
X-Forwarded-Encrypted: i=1; AJvYcCX9/dK+WammqogE7bqlJuWgiyHlyaasedjb8EVvhoarpJ2eRvHq6cOQPkqXiUyvXnXuHa2Z2Z3j4o0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzojriQGI2PhVtjQZC/TjbwCq+mwIp+iqBmzaOk3JgzVSJVimgn
	JBgE23LHr3YL5I0rGH4/GalJ92YYczWLoPTOvQ51fSjxQSC3gRweAwc1cW16L1sL1vA=
X-Gm-Gg: ASbGncvi4TrWeDvRnalclgm3nuzVuN5ruYE3HM2s53fWE3+8IFmCdmS27DLev3k4MhU
	iYt4e0bqEZ7MootcTBHza/rkgFuv8gnlV8BGWxS3YaGwD/aQShb82QSvpjtHJ1e73TBxjOjn91A
	2V9G2j81ilFsPFje8QF2t4oS0NDw2t3GVo1nYKJ3DmAGFj7oJn/0MRSL6mLrnvaapAmkaAMTCSG
	Le8ahzZqnQlDVOklQLdJJd9t7eeCC+UCHPOpbIEY4db5WO9NpN1kO6uUVOoFerqHOTz7z8khQfV
	MvDjLxmX6x7f13I+r8T5jINQ/x7GkYsZcY7Upt2MFQ1bvFp34ChJWB7iuSQWMu/0mwgx6UNIkWx
	mJ55rjsOLGHPb2+fqKkEeoRhvNVIA1BwgeSIJCG8bULR+dHMdJo6hxrLR7aLdoQH3I//k0QgUBY
	NjwjqqCMsNfOmiiXDbhvVRyzWsBmqjd8Q+Jc8Ef/DXfUKhl75p
X-Google-Smtp-Source: AGHT+IFpO+ZWUwL7eqtzwCT+nUL205DLOMjNxK47819arLKsbv8fZ1Yw1lD73UNPgQHT0Sxq1t3yfg==
X-Received: by 2002:a05:600c:3ba1:b0:46e:47cc:a17e with SMTP id 5b1f17b1804b1-47117870544mr6448815e9.1.1760634070709;
        Thu, 16 Oct 2025 10:01:10 -0700 (PDT)
Message-ID: <d4b8ebac-fdb4-48fc-8ff1-d16492d440d2@citrix.com>
Date: Thu, 16 Oct 2025 18:01:09 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21 03/10] x86/HPET: use single, global, low-priority
 vector for broadcast IRQ
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <8d94abf8-70d1-478c-885e-ff9a960ac72d@suse.com>
 <64d52793-be70-4ae8-9bae-ad88f6379395@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <64d52793-be70-4ae8-9bae-ad88f6379395@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 16/10/2025 8:32 am, Jan Beulich wrote:
> Using dynamically allocated / maintained vectors has several downsides:
> - possible nesting of IRQs due to the effects of IRQ migration,
> - reduction of vectors available for devices,
> - IRQs not moving as intended if there's shortage of vectors,
> - higher runtime overhead.
>
> As the vector also doesn't need to be of any priority (first and foremost
> it really shouldn't be of higher or same priority as the timer IRQ, as
> that raises TIMER_SOFTIRQ anyway), avoid any "ordinary" vectors altogther
> and use a vector from the 0x10...0x1f exception vector space. Exception vs
> interrupt can easily be distinguished by checking for the presence of an
> error code.
>
> Fixes: 996576b965cc ("xen: allow up to 16383 cpus")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

This is so cunning that it took me a while to figure out how this even
functioned, given no apparent change to TPR.

Having this behaviour under FRED is easy.Â  In fact, allowing the use of
vectors 0x10-0x1f under FRED is one "extra" I haven't gotten around to
doing yet.

But, the problem it introduces under IDT is that for all the other
reserved exceptions, we'll panic if we see them.Â  That was the point of
setting TPR to 0x10 originally.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Oct 16 21:40:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Oct 2025 21:40:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144740.1478023 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9ViB-0007j6-VU; Thu, 16 Oct 2025 21:40:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144740.1478023; Thu, 16 Oct 2025 21:40:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9ViB-0007iz-Rp; Thu, 16 Oct 2025 21:40:39 +0000
Received: by outflank-mailman (input) for mailman id 1144740;
 Thu, 16 Oct 2025 21:40:39 +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
 <SRS0=2gh3=4Z=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1v9ViA-0007it-U1
 for xen-devel@lists.xenproject.org; Thu, 16 Oct 2025 21:40:39 +0000
Received: from PA4PR04CU001.outbound.protection.outlook.com
 (mail-francecentralazlp170130007.outbound.protection.outlook.com
 [2a01:111:f403:c20a::7])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c0ad8226-aad8-11f0-9d15-b5c5bf9af7f9;
 Thu, 16 Oct 2025 23:40:37 +0200 (CEST)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by DBAPR03MB6405.eurprd03.prod.outlook.com (2603:10a6:10:199::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.11; Thu, 16 Oct
 2025 21:40:35 +0000
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593]) by AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593%3]) with mapi id 15.20.9228.012; Thu, 16 Oct 2025
 21:40:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c0ad8226-aad8-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=w0ZFx09Qt3bStbkUXtc00wNlWeKMjOH0bgmr8JfQH9chogtGETyOnaIG40gFAe5fATJQ7Fe2odqv0JxJbu0DMakqXUDwqEe3GWv+dPBMJ+8g8FTeBGLcJASwez5uXMeK5OAkWymSXKrC11WAX4dgzGWpYnUW+FJgmbgvrgaSPYNw3ESd9CfhA/qMLQQQpNOr7dVBLQo6IFNJLhEL+h5973M2oS0xs4B03OV6rMaZ6OQ0HdyotD9QiI6ujKnhU82Ff5v5HHXABaCg/bKrZiOdLIjiIpY5y8ekr//q89cxGhAaHbI2QodLVfiNFUsUKzoX/t/VebrCe2KSLupxfzuJ1w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vcGNlrh5ri7DMwSAe7hx7KlVZ+ujAJURigqbDe14/dY=;
 b=Me/JSCjC2q4B6AgbkfMwDa97HuO3pmtpAW8k8l28uuVsNlh70mOsUkTY/Jx9Nl1vDaxOxtkIN2cHnmD1qBofMRxCwr0ynatcZ7PMFje+4RskqjhJJlVB6vQ71Uqtb9H2dMjTg0Cq6nXRFU7jq7L3inPf7J3Uhp2N+iVYz1e0FG/t0l4DRpT/lh15qWGAF0rcSTGmerTBV6hbv8A46iuKIHcDnQ2yZ7UE1NfQdzz7+vCS6jAa73xc159yB9YjscA35ATVR9s2jCtTgGkMku2wwJ+ircFRlenbTnV9XGRyTc0W+6FyyuM16f/+BspE4Uk1LYUaUu4JQSBNiSL7eQz2Pg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vcGNlrh5ri7DMwSAe7hx7KlVZ+ujAJURigqbDe14/dY=;
 b=a17iRel3QrnSv8PSlI22xUT5kxc4Y7pytNY5bTlOYXBhgIbUISXQWBPPATzHoxGkrUly7z2RMQWPEaI40qdoQGRLz71ugPecGo+foIVxkwwqT0Q5NplfG4Dhv4Ff0nJCs+JwEFyppcDTtljDZ9fnn894tNpJANZBSEXNPjvWODflWyq3HLgdn8RpqWU6I+rdrdMjNJht9LrWQ0tOQUv/KgU2nPdjxQQwK/ESjh3viP2USkJoOjjslxgQlZ5muKPWZ6TMyd8dX7124K0H0G1Fw2fc0S4eX/jmzrK3WSAKptgxpiRJAFCfsnY2c+wupKTBbT6yIpLcC+5afKXRJKhQ/g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <06d540f0-38e6-46fd-b94d-58ac2797657f@epam.com>
Date: Fri, 17 Oct 2025 00:40:33 +0300
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5] x86: make Viridian support optional
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>,
 Alejandro Vallejo <alejandro.garciavallejo@amd.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <20250930125215.1087214-1-grygorii_strashko@epam.com>
 <aOzt8gfxkdQXZ6O1@Mac.lan> <e6972ea5-2139-4f4d-8d2c-2979fe2fad99@epam.com>
 <aO5gdh6C_uQoFHPH@Mac.lan> <afe544d3-575c-44e8-9068-8c79f69d6175@epam.com>
 <aO9UgQ3J27hVgGIa@Mac.lan>
Content-Language: en-US
From: Grygorii Strashko <grygorii_strashko@epam.com>
In-Reply-To: <aO9UgQ3J27hVgGIa@Mac.lan>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: BE1P281CA0291.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:b10:8a::17) To AS2PR03MB8907.eurprd03.prod.outlook.com
 (2603:10a6:20b:5e4::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS2PR03MB8907:EE_|DBAPR03MB6405:EE_
X-MS-Office365-Filtering-Correlation-Id: 9f3ad45d-bada-48a3-582d-08de0cfca37a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?YVZqTkw3c3pSVHlZdUhxMFh0U25JRWFna3llRWZGVGhzOHJna0RheTJwKzBy?=
 =?utf-8?B?QnozdElzbGhmWE15M3E2NWtwVVo0MGhqUFpUeGFzNnlBdVlaWjVIQWphcWhv?=
 =?utf-8?B?SHNRd2oxNnVwbVVJKzRGYjc5YzBhbDcvMU5IWDBiSnBZVXlPRTRaUzJlS2oz?=
 =?utf-8?B?eGdoSWV1bXBkQmpSd0RnK3JzYUpXV3hLU2kzTjlOdFZZdGZ6L3ZDN2hPNWpO?=
 =?utf-8?B?RG93R1NKbWpGVWdUcU9IcjhMOUZhQklNMk9uMUV4eUJja2d2OHRocTFNQnpw?=
 =?utf-8?B?RktCeFRpVmRZUzJxVGxjSDNHRE1rdTZBSzRrUjlOTTJIakRCWkJFMHZVYkV6?=
 =?utf-8?B?dHo4SUlaSThRQlpVQ000bzRHVnhYVjNaNW84NVlRdVRPT29GbVk3QWp2R013?=
 =?utf-8?B?RmtyazBralU5YUNMdUlEWWx5UnhvUElCbzBaNTErZkc5TjBTazlHcFFEQVQy?=
 =?utf-8?B?bnNYdllBcVM4emlTMWFWN3JDdlFFdDhCWGhHZ2VUNi9pNHExQWdKNmpkeUlG?=
 =?utf-8?B?bEZJcFhnMElzZm84eEtkS2VZZTM3UjZXY25zRHFYSVZ3QTNWNmZDLzZhem1L?=
 =?utf-8?B?ZCtMeVpFaVAzNWpNTldLK3pOYzh1STJSVnpMMisyZ0hUaWh4Skc5SGM3Nllm?=
 =?utf-8?B?c2ZpSVBZRnN2NHowWS9nWjkyRHFYUG84N0Fma09wY2c5OGVaeC9UYkxscWFN?=
 =?utf-8?B?dktIcTF2cXgvUDB4M0laL0drQWJmTjE0NVk4TStjQ0dQeUxrcG1nMG1MYnBN?=
 =?utf-8?B?UVZpb3lTZVFIdHhIOW4yS1d4ekZNSlJqZEpob0tiTVZRZmYzNFE0ZitvVFE5?=
 =?utf-8?B?cDNYQS9KYkI4U0hKdzBxNEdmK1lrV1RjS3pyZ2FFWFh2WVFOSytiUkxUTllz?=
 =?utf-8?B?dWcrMmVHeVgvL3JZKzUvY05wRjk3WEFwaHI2eVh6c2p3eG9kRVkxanFqczVv?=
 =?utf-8?B?enpQVVhwRDhibGp5aVBpK2R6L253Z1VVajRWRHJVeGZtSmFSR3loeVl2MGll?=
 =?utf-8?B?aVAxeFB0MkhUVlNKTDB6VjNhV2FhcE1nRnMwenBzMkFSbHVyRkFCL3lKZnpI?=
 =?utf-8?B?ZFQ4a1lXdlJXN0s2ek1Cb3M1K0lnQldwVVppV1ZYRE5wYk1mN09KRnA2ZU9y?=
 =?utf-8?B?QmpXVnVSdytHaXRBb2Q0RHh4OHhqVDlWZmgzMmh5SVAxREZkTi94OWtlUFY4?=
 =?utf-8?B?bGpnc1JqQnNNRFlWbm1zWXZGNDd4QUdtRlUzODFGUkZCU0V5THpYSTUybUk4?=
 =?utf-8?B?a21ISTBsazJIbmZCWlJXZVdRbEJDcFBJVHNzVGZmZ2djeDR3TjV5dDZ2UGhP?=
 =?utf-8?B?bzgwQ2pLZEZWaWtwb3ZVQmdTczZlNDVvZmw5bnUzWDlOZGVVUnVsN2RPVGtZ?=
 =?utf-8?B?TURWUlRYdlJoejdWYmIzOGgxd3NPOHMySEdzM0lHeXpKWXJYcmRKNExWaWRU?=
 =?utf-8?B?M0FhUDJ0c3hIdzQvN2lVS2lOaVpETGhRZVRDK3kwb08wSFpYaTRsblkxN3F0?=
 =?utf-8?B?WXBodU9CYW9TNzZ3cDQrNU9KUlQ4NGw3OFRydCt2Y0hsaXp4eUcyeXFIb1pM?=
 =?utf-8?B?RytrVmJacVhMYThYU1FNU1dqY0ticTlzdXdYTlh1b1h0Z1BKemc2SGJERnRK?=
 =?utf-8?B?eVNtVlhWL2VERWM4UDE4TGl3VnQ4bHQxY3dmb1ZJbXgyOTVUNS9OWTArVUNL?=
 =?utf-8?B?bHYreU5YOFVkMjdxMjdGeXlNUnhQNmVnZXhUb2hNa1Z4NGFWTEkxTUJHR0NU?=
 =?utf-8?B?R2NDaHRHMVA3bzM1c3pLNGZRMjFySDk0dk0yb0M0YTBVeFQvSHlpNWl6U2pQ?=
 =?utf-8?B?WUpyUTc5WDVQZ0FpVGZYWW5kWTQxTTE3R3VvZUM4OTZNOCt0T1ZHai8yTWRk?=
 =?utf-8?B?Mmw3V3lhR0JLc3ltWnM1d1J6Y3dtV09rNnZOQk15RDZTUjAxMm9oN1RsaC9P?=
 =?utf-8?B?RTN1RTRyRm5yUTNESFJDcWdXQVZaV3JYaGsrLzF3ZlhDT0RuRk1BT0hkc3BH?=
 =?utf-8?B?R2xmTGtvbVpRPT0=?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS2PR03MB8907.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?a0dsRHNtNmhWUEZ6OExkelV0S2tTaVhUeDYwYzVSc1R2TnZMbTY4dlFsTmdE?=
 =?utf-8?B?Zlk2MGdIQmxrTDN4TXpSb0xPZUlqc1I3VUh0VTlwdEtnZTZGVW9pcUFsa093?=
 =?utf-8?B?VkhTMHY2NEVwUXRPRDBqK1VOUWZRVG9rZlArQ1AvTmxRM0diWjdJWlUyeVIy?=
 =?utf-8?B?Y2t4Yms3amNFM1pRV2VRd1VFVFRKRXNKK0JuRURJdk9GVWNHNWxHWlB3SDlv?=
 =?utf-8?B?d2pZV09zcEtPRVdNOVFWRElIZDUxWktiSy9Fd1dFY0lBSERkTTdaMGMxdmpG?=
 =?utf-8?B?czlJamkwZXFtb2J2ekZQN3JGVldJc2FtOG90WDdPbjkrdVBBNGtmRVZqY1JL?=
 =?utf-8?B?M2taT29WYWhhdkNjZ0lMb3R0eWVUcHdMcTE4eXF1dEswcDY3THNoSUdvMnpm?=
 =?utf-8?B?QUQxNkZDU1daSDcrdFc0NGE0YkdCY3NTaFNrK0N4NFhKcGZBellsazExbXpG?=
 =?utf-8?B?MnJIUGpUa1I4blFkMHcrSWpjRFlZUzYxL3M2QXNjZEFzMmVxRHZYbjcwejVz?=
 =?utf-8?B?Y0VFdEVmQjhZcnlTelNYNlMraUxOWWxBQXpqeGR5RDVaOERaVVNVbXM5a3FZ?=
 =?utf-8?B?U0dlMXUxUDI0UDdGcFlJdlpwaFZpRmZwTjZneVQrWUxUTkZFRG5WRWs2c3Ay?=
 =?utf-8?B?eEp1bnBmRGtNdXlMMnhDUmtKYzFHazZaSmcrR3lmQk92Vm91ajlKcytKQng5?=
 =?utf-8?B?NHJXUWxJZUR2N29DaUtlK0pZZ0ZCQVlYbC9IQ3NvSUtIRFAwaEsyNGUzc2xT?=
 =?utf-8?B?S2k3VDVZd3RQUDJRYWhhbjloY0RDekFZbkpsWlBldE9KU1pGeldIVkdJN2lZ?=
 =?utf-8?B?eTM5c094elA1WjdmOTVhRFpYb2NUcXdlL3E3eWxuL2h5QTFTUytEajNSMDRj?=
 =?utf-8?B?WXNYaEdvSCtZR1R4ZFZCamJhOEdwVUM0cnJGOExNU2JmTk5BZFN3UnFKTDZI?=
 =?utf-8?B?cHBvNWVmL3hqVE5tNFlrWGtSVzlVZUlMcFRweCsrRityZng2QTFFZ3NVMGpt?=
 =?utf-8?B?bDBHR0VJNG43aEZXR09qL3p6VlRaUXNCbXFaZ0RKeUhWZFpyMGFpSkZzS1JR?=
 =?utf-8?B?Q3hBMFhNTjBlaFFnZ1ZGS3RYUm5hT1ZwNUNZMzZsU0dpWmFEWlRNelRpdnFD?=
 =?utf-8?B?K2J2Mlo5cll2L2xKYldWcG1NVEZrZmxHY2E0OEFGRnloSTliWEpXRmtoc3Er?=
 =?utf-8?B?N1VVcUFWMGE3RW1mR2dZeU1Sd0RYR0crK1AvYm5FUGh2dGJiZkFCM1AvR1Vw?=
 =?utf-8?B?ZkJycDN6QkozVUc3UURNVGx6QlM2UWNmNnZSWlNkazZ4YzVZaXBkNEJ6WE10?=
 =?utf-8?B?ZE1SRVJiR2FFYjdBRXZ3VWVDbW01QXF5VVlKQ1pzQ1ozQ1pJWVRieUZOYzc4?=
 =?utf-8?B?MTNtZWNmVFhXOEZoaWdxQU4xQS9RbHJiUmlvUHl1RmJMeXZESHU5UE5zZnVv?=
 =?utf-8?B?d3JCeGtaQjg1QWFYOFVKVTlKQVJjQ3FuRjE4TkdWNHM4RTlmN1c4MXpnN3lp?=
 =?utf-8?B?WUYrb0tQUmtqc2hSYkVkcEVhQk5tUDVrbncrZWlYZ1NlU2ZIVEhMUUtmcERv?=
 =?utf-8?B?QzNHdGkwYk52S3dZSUd2TmRaYXNNNGNFL09iV2FlNVcwdWp0ZmVEZUl6eTY1?=
 =?utf-8?B?MFMyYkZaU1hBem5FclUzSTBlVXZReG1ONlpiNjlGZkh3U3ptaFRWSkg1T3hu?=
 =?utf-8?B?bVhmdCtMTWx5NkQxdWdNQXZZazFBb0tpTVdqa2NSN3JjRmRDN2pKOGo3ZExr?=
 =?utf-8?B?NUhpdUF4MFVGeHZMeTczQStsU2RaMCtJcUZsYTR0U1dTWnprYmxGQU5zNU1P?=
 =?utf-8?B?U0FoZmJwZnZWdzg0ZnFWVXBZMjRiMEhCUm9zYmkxcll6MFgvQmVJWDBFcGUz?=
 =?utf-8?B?czROUHlYM2c2ZGtEcFNxN0lhUEtEMlJaRjA5Yjg3dWFqWFd5Rnc0eXBiaklz?=
 =?utf-8?B?WnJsNmJ4ODZFQkFsT0h4OUY2WFdBRVZLRUYzeThIdmg5ZUNTL2REbFQxbXRU?=
 =?utf-8?B?bzVHaURxMVZVT1NkTlNNdXhob0o4N3BHeERveGVHNWJRVGN4Q2UvdGtqemlD?=
 =?utf-8?B?Mm8weERJN2tQVXZuc0RsUFdVZjJmQ2Y5cDBLSWpkVDRpeUZEckd6MjRSTnhX?=
 =?utf-8?B?NzJZekNXLys0VTJiUWs2YXVhdUE5MjRkbnYyeGZ6WDFtbjBaSU9NYWoyMmRh?=
 =?utf-8?B?Y2c9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9f3ad45d-bada-48a3-582d-08de0cfca37a
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Oct 2025 21:40:34.9338
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: RWOnr8IWeT8qQgx8mXypbdFvif6MOjaq+7lQ3zgEyUFwG7GMt5nLDno3O+IuZ/gWkfN/riTkpooeLi/YN+t5CkmOKBLvQSQlvAyOfr5XzEY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR03MB6405



On 15.10.25 11:00, Roger Pau MonnÃ© wrote:
> On Tue, Oct 14, 2025 at 06:48:23PM +0300, Grygorii Strashko wrote:
>>
>>
>> On 14.10.25 17:38, Roger Pau MonnÃ© wrote:
>>> On Tue, Oct 14, 2025 at 04:24:53PM +0300, Grygorii Strashko wrote:
>>>> On 13.10.25 15:17, Roger Pau MonnÃ© wrote:
>>>>> On Tue, Sep 30, 2025 at 12:52:16PM +0000, Grygorii Strashko wrote:
>>>>>> From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
>>>>>> +
>>>>>> +	  If unsure, say Y.
>>>>>> +
>>>>>>     config MEM_PAGING
>>>>>>     	bool "Xen memory paging support (UNSUPPORTED)" if UNSUPPORTED
>>>>>>     	depends on VM_EVENT
>>>>>> diff --git a/xen/arch/x86/hvm/Makefile b/xen/arch/x86/hvm/Makefile
>>>>>> index 6ec2c8f2db56..736eb3f966e9 100644
>>>>>> --- a/xen/arch/x86/hvm/Makefile
>>>>>> +++ b/xen/arch/x86/hvm/Makefile
>>>>>> @@ -1,6 +1,6 @@
>>>>>>     obj-$(CONFIG_AMD_SVM) += svm/
>>>>>>     obj-$(CONFIG_INTEL_VMX) += vmx/
>>>>>> -obj-y += viridian/
>>>>>> +obj-$(CONFIG_VIRIDIAN) += viridian/
>>>>>>     obj-y += asid.o
>>>>>>     obj-y += dm.o
>>>>>> diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
>>>>>> index 23bd7f078a1d..95a80369b9b8 100644
>>>>>> --- a/xen/arch/x86/hvm/hvm.c
>>>>>> +++ b/xen/arch/x86/hvm/hvm.c
>>>>>> @@ -701,9 +701,12 @@ int hvm_domain_initialise(struct domain *d,
>>>>>>         if ( hvm_tsc_scaling_supported )
>>>>>>             d->arch.hvm.tsc_scaling_ratio = hvm_default_tsc_scaling_ratio;
>>>>>> -    rc = viridian_domain_init(d);
>>>>>> -    if ( rc )
>>>>>> -        goto fail2;
>>>>>> +    if ( is_viridian_domain(d) )
>>>>>> +    {
>>>>>> +        rc = viridian_domain_init(d);
>>>>>> +        if ( rc )
>>>>>> +            goto fail2;
>>>>>> +    }
>>>>>
>>>>> Are you sure this works as expected?
>>>>>
>>>>> The viridian_feature_mask() check is implemented using an HVM param,
>>>>> and hence can only be possibly set after the domain object is created.
>>>>> AFAICT is_viridian_domain(d) will unconditionally return false when
>>>>> called from domain_create() context, because the HVM params cannot
>>>>> possibly be set ahead of the domain being created.
>>>>
>>>> You are right. Thanks for the this catch.
>>>>
>>>> Taking above into account above, it seems Jan's proposal to convert below
>>>> viridian APIs into wrappers for VIRIDIAN=n case is right way to move forward:
>>>>
>>>> int viridian_vcpu_init(struct vcpu *v);
>>>> int viridian_domain_init(struct domain *d);
>>>> void viridian_vcpu_deinit(struct vcpu *v);
>>>> void viridian_domain_deinit(struct domain *d);
>>>>
>>>> Right?
>>>
>>> Possibly. If you don't want to introduce a XEN_DOMCTL_createdomain
>>> flag you need to exclusively use the Kconfig option to decide whether
>>> the Viridian related structs must be allocated.  IOW: you could also
>>> solve it by using IS_ENABLED(CONFIG_VIRIDIAN) instead of
>>> is_viridian_domain() for most of the calls here.
>>>
>>> The wrapper option might be better IMO, rather than adding
>>> IS_ENABLED(CONFIG_VIRIDIAN) around.
>>
>> I'll do wrappers - less if(s) in common HVM code.
>>
>>>
>>>> [1] https://patchwork.kernel.org/comment/26595213/
>>>>
>>>>>
>>>>> If you want to do anything like this you will possibly need to
>>>>> introduce a new flag to XEN_DOMCTL_createdomain to signal whether the
>>>>> domain has Viridian extensions are enabled or not, so that it's know
>>>>> in the context where domain_create() gets called.
>>>>
>>>> In my opinion, it might be good not to go so far within this submission.
>>>> - It's not intended  to change existing behavior of neither Xen nor toolstack
>>>>     for VIRIDIAN=y (default)

[1]

>>>> - just optout Viridian support when not needed.
>>>
>>> OK, that's fine.
>>>
>>> On further request though: if Viridian is build-time disabled in
>>> Kconfig, setting or fetching HVM_PARAM_VIRIDIAN should return -ENODEV
>>> or similar error.  I don't think this is done as part of this patch.
> 
> Another bit I've noticed, you will need to adjust write_hvm_params()
> so it can tolerate xc_hvm_param_get() returning an error when
> HVM_PARAM_VIRIDIAN is not implemented by the hypervisor.
> 
> Implementing the Viridian features using an HVM parameter was a bad
> approach probably.

I've just realized how toolstack need to be modified and all consequences...
Have to try to push back a little bit:

VIRIDIAN=n: Now HVM_PARAM_VIRIDIAN will be R/W with functionality NOP.

I'd prefer avoid modifying toolstack if possible.

How about sanitizing HVM_PARAM_VIRIDIAN to be RAZ/WI for VIRIDIAN=n?
Or may be produce Xen XENLOG_WARNING"Viridian is disabled" if value!=0?

This an EXPERT option and end-user can get Xen with VIRIDIAN=n only by
manually re-configuring and re-compiling Xen. In other words, the user
is an expert and knows what he is doing.

Another point, assume change like this is to be done for HVM_PARAM_VIRIDIAN
- there are another HVM_PARAM_x which depend on build-time disabled features, like:
  HVM_PARAM_VM86_TSS_SIZED
  HVM_PARAM_PAGING_RING_PFN,
  HVM_PARAM_MONITOR_RING_PFN,
  HVM_PARAM_SHARING_RING_PFN,
  HVM_PARAM_IDENT_PT
  ...

if corresponding features are build-time disabled, above HVM_PARAM_x
become R/W with functionality NOP now.


> 
>> Sure. Just have to ask for clarification what to return:
>> -EOPNOTSUPP (my choise) vs -EINVAL.
> 
> Let me add Jan also to the To: field so we get consensus in one round.
> 
> I won't use EINVAL, because that's returned for deprecated parameters
> also, and when the passed Viridian feature mask is invalid.
> 
> EOPNOTSUPP is also returned for non-implemented hypercalls, so I'm not
> sure whether it could cause confusion here, as the hypercall is
> implemented, it's just the param that's not supported if
> build-disabled.  Maybe ENODEV or ENXIO?

-- 
Best regards,
-grygorii



From xen-devel-bounces@lists.xenproject.org Thu Oct 16 22:25:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Oct 2025 22:25:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144770.1478034 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9WPc-0004Th-Ar; Thu, 16 Oct 2025 22:25:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144770.1478034; Thu, 16 Oct 2025 22:25:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9WPc-0004Ta-6e; Thu, 16 Oct 2025 22:25:32 +0000
Received: by outflank-mailman (input) for mailman id 1144770;
 Thu, 16 Oct 2025 22:25:31 +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
 <SRS0=V46/=4Z=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1v9WPb-0004TU-1U
 for xen-devel@lists.xenproject.org; Thu, 16 Oct 2025 22:25:31 +0000
Received: from BL2PR02CU003.outbound.protection.outlook.com
 (mail-eastusazlp17011000f.outbound.protection.outlook.com
 [2a01:111:f403:c100::f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 049dcf9e-aadf-11f0-9d15-b5c5bf9af7f9;
 Fri, 17 Oct 2025 00:25:28 +0200 (CEST)
Received: from BLAPR05CA0008.namprd05.prod.outlook.com (2603:10b6:208:36e::11)
 by CH2PR12MB4216.namprd12.prod.outlook.com (2603:10b6:610:a8::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.13; Thu, 16 Oct
 2025 22:25:25 +0000
Received: from BL6PEPF00022572.namprd02.prod.outlook.com
 (2603:10b6:208:36e:cafe::35) by BLAPR05CA0008.outlook.office365.com
 (2603:10b6:208:36e::11) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9253.6 via Frontend Transport; Thu,
 16 Oct 2025 22:25:23 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 BL6PEPF00022572.mail.protection.outlook.com (10.167.249.40) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9228.7 via Frontend Transport; Thu, 16 Oct 2025 22:25:25 +0000
Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Thu, 16 Oct
 2025 15:25:22 -0700
Received: from [172.29.145.48] (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.17 via Frontend
 Transport; Thu, 16 Oct 2025 15:25:22 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 049dcf9e-aadf-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=R5cHVpO22PQvEbPkxIS6QiN0eluB7mwKbsARimUF9d5xmOxl7nwPIda1Qs0X7FcOBKE3Phtow4L4A27/UxHupDWsHiw3fYg8uuL3b0nmQ7qL+8lRabZSrunTrzJvZHLzKD+/fQjNBS1zAiDPfyK6eBjLVhnpp9AtWLoRUgCkRhXMSjl/fAQK8pdq/dya8t+FRpIW4GqJs/SFpmLLq/SDwUhVF95VKfzBWJS2ANT8COjvCxq2kRJR6ZqhVItv+JSip5IyAgg3F5b28/7vSez5m4Ur7mgtoT1hIe7yiN3gjdVpiJ491gHhPlJrn3tQ47IzaYjqpTrsEC0QOwit+7OQ/w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=C3FMdvvl/y5XmTzmFHQ41vnWtANseuZf6tRbUKhBp9Y=;
 b=a7ewpoPH/lTe5igtzF1afiqwbDsjAVSDpCjhk/tNeE2CChHLhWyw6OoRVuvdCZkJuXNZESO4dKhCKz0fyBLpHKRlWc89PDFUqZW5LYK/1t6LaFWHr/gpHiY/M0R4QUTIojZcip90bTWBgyFYWIGzNrw8SguemwNXeEaucKR1R414b0/EgN4H/L9/FOPxc4Y1ZPTKU+6C0b3akTydZEyq2qKfzNkJD9BKTfXPNWJwn+A9yndWisbQYI1cAwn/J8x4z45g8eYH9FG23PEpRQ6SZ/PHbE0wGnqAlcGilF6aHgCO5vBMmjQ0NdlyEW8jfgSXKF09/GtC6Nrti+h5Ow9ENQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=C3FMdvvl/y5XmTzmFHQ41vnWtANseuZf6tRbUKhBp9Y=;
 b=vXj/1zL2u4YDgbH5bHCyZJaVqAj4EBxsm++RrGswCVuPafoJB9cLHXxfirsiLepGFwBg1N/k1tW/T/8EVcoBbfL8A2YfTGTneSwxnPKcU60q3rABSW/kpR4HXyCRRLLWSXqYeg/hfB3PWIN8KOmyk6bKR8Sa85GM6z6OYFd+rPE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
Message-ID: <72ed3dd7-8476-42a0-adab-726925b4df28@amd.com>
Date: Thu, 16 Oct 2025 18:07:52 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21 v3 1/2] x86/apic: Avoid infinite loop in
 io_apic_level_ack_pending()
To: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, Oleksii Kurochko
	<oleksii.kurochko@gmail.com>, <xen-devel@lists.xenproject.org>
References: <20251015210454.95381-1-jason.andryuk@amd.com>
 <20251015210454.95381-2-jason.andryuk@amd.com>
 <6cf0b252-05ef-409f-876d-2016f0cdc088@suse.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <6cf0b252-05ef-409f-876d-2016f0cdc088@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL6PEPF00022572:EE_|CH2PR12MB4216:EE_
X-MS-Office365-Filtering-Correlation-Id: 478ba9a2-e1ac-4893-b5e3-08de0d02e70a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|82310400026|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?Mm1YVlB1aWR4NFlhaHZVL0pMRHRiOFZHL3FaU09YZWJIMndhL3VRaEFTcnd0?=
 =?utf-8?B?cjkvdXFSS3Y1eE9oYnp5azFYWTFXMk95bjJQaEJNd3R4U3VEZUh1bFNKa3Vk?=
 =?utf-8?B?RkN6bEZRcEUzR0cxdDJUaTVRallPS0ZBK1d3Ukx1MldRYUhFSlduQWlOMUpi?=
 =?utf-8?B?dEVwTzlxUkNTc2IwVkUxUkQwbGswVWlDUjZPSGNYL0YyUjNGd0hzdVdNZ0lk?=
 =?utf-8?B?VW94WjlCZDU4THFIVkdNMFE1YjNMUE8vRGpzU3F1NGRobUhQOEJLano3VFo0?=
 =?utf-8?B?aHkzdmdITFVaeUpZYWdkUTF6Tkl5OUdweUFBV3U4VU9VMEpyd2QzSmdxcFVo?=
 =?utf-8?B?ZjlOQUZNWm0zbHhxU09WcFhHdzRvRTMrM3dSam9ya3NVWkVCMVBmZmRoTXJD?=
 =?utf-8?B?SW5KZTFYUUJXWUEyU2FrNDB3N2FUam9RM3JHcmp0ZUZTaHRkMVBsaldHYUJE?=
 =?utf-8?B?eFNjOTNncWxRTVJWbTRtT2p5V1pPQVcyS1VvZkhvSnZEK0dlQXlkVzdEQlpo?=
 =?utf-8?B?UW1WT01lK0JTWXQzaHNUTTBQaVkrYU9nc3RXSEVJM2NVMmFOL2hsaTdXcFA5?=
 =?utf-8?B?ZkprMXRkOERTa0IwdVpIdFJvZkY3SVZPVzR5bkRvM0lKQ2YrQUJIMVVyZjRr?=
 =?utf-8?B?TWJ4TFBBd2Z6TTA0aU1WWkdWRVRxVlJtWFBYSmF4RHFJRXNGQzJJakFiTjJk?=
 =?utf-8?B?dUhubTU4UVA5V3A0MWhRSjVNZ25sN0lCamtIQ0FJaVpzV2labHlTUElGekJC?=
 =?utf-8?B?QjhTSXMvK0tCaXhERlJ0L0IzV0FOQ0NlcDZTR3QvRWEyMXczSThXbzdDUGJn?=
 =?utf-8?B?NjJibXdpSEJsUnJQUVN6OWxjaVYvcmE2WVNuekxaTitlUXB5N2V3d3NBdnhJ?=
 =?utf-8?B?NmNPTis1bFRBUk0zUG1RZ0pMUEpockEwa3NGdmlQMFpJaFZvQWhuUjdLMlYw?=
 =?utf-8?B?OVczb3YxaXc2Mkw2M1ExbzVFNFV2cTVMeENGaG1tR04zRFBEZUhEVCtnS1Ra?=
 =?utf-8?B?RUVQTUcwU3FuNWpHa09Yd0dLOGV2MUl4RGlncnJFYzVPc0ZRajNQeHY1dWdD?=
 =?utf-8?B?N2V1dCtqQjl2TU4yNWJyRXlGSnVFdmVZSjAvc0s3NUt3R3FHZnFTMGJHMG9h?=
 =?utf-8?B?SHhqbEhWR2QrM01UUEJYUGQ1ci9WSTZRWWJGeVE1c3k5ZnR4aUx4UzkvQllX?=
 =?utf-8?B?N1ZEZ05JaC9GQmVHaTdzdkYxclRJR0dEbkdGTU5uUXpCR1dldFdqa3VqcHN2?=
 =?utf-8?B?MGx6R045QWVkWi80QVk2dklrbFBKL2pUekpISldsc2p0c29WNWYrVS9Fd1Nm?=
 =?utf-8?B?VmhqM1B2TEVicG02U3ZPcTA1K0s2TVFEcWM5MzNFK2djN2ltQ3cvTmtkRnZX?=
 =?utf-8?B?Z3VmMWs3Zkw1OHBkWnJsNGREcHdlR0lGbUhobUkzRkNQSUNhVENhZWQxZm00?=
 =?utf-8?B?WGZmVTdCNnZNUVhLYXNHQUYvSVgzRmU4eDZxSnY1VnpxekdMYTQvYTZrelkw?=
 =?utf-8?B?bGY0aTd6WmVtTWZiU1VURFg1Z21wZi9UbXNzMXFsZmlOUFp4M1JLM1czKy90?=
 =?utf-8?B?NTBJOEMwOUZycE52NDMrb3hCMWF2ZkwrYVNSMTkrRDBZTXM4WUZ6L3QwVEFr?=
 =?utf-8?B?dFFyVmRkUCs3YXdpb01JTWlSK1FtZEVKTFZtRXZMNTlvOC9qQTVWcHFSMTNl?=
 =?utf-8?B?N0cwVlhlVHl4VFF1M0RIUm9yMzlodXJQTmJXcEhrcThZcEFTazNxSG5TUGp1?=
 =?utf-8?B?NW5qdlBBS2YwZE4rdEpGUDNNZUgyRkV6ZWp1VXRFR3lUanVpbERjMUJ6VmhP?=
 =?utf-8?B?TzRaQlkzN0tsQnBkcXhNZmg2MTdNZVo0akRPdjZoRzhLZFk5c1JUUDN4SDZX?=
 =?utf-8?B?SFVTSXU0OVRsTW9IeG9yajAxNm9BSVBTSzI4MU9BZ2Ftbi9jL2pHNWV0UGQ5?=
 =?utf-8?B?YjVHVWZLTmkrazQ3RDNrcmEwWXhRU1pUL0dkQmtIaUFxd2FDUmxVOHNlM2RU?=
 =?utf-8?B?eWlLbDhJVkcrMVp6OTlSbVAzQkxzZTNmMS81eEcwbisrenlSbnBremQ2bitC?=
 =?utf-8?B?ZVA0Z0FOdEp5VEZ3dUZyVkE3UnpCYWFmbHdkTlVpTUFPdW85cUJ1SVB0ZjBY?=
 =?utf-8?Q?DDEA=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(376014)(82310400026)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Oct 2025 22:25:25.0081
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 478ba9a2-e1ac-4893-b5e3-08de0d02e70a
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL6PEPF00022572.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB4216

On 2025-10-16 02:47, Jan Beulich wrote:
> On 15.10.2025 23:04, Jason Andryuk wrote:
>> io_apic_level_ack_pending() will end up in an infinite loop if
>> entry->pin == -1.  entry does not change, so it will keep reading -1.
>>
>> Convert to a proper for loop so that continue works.  Add a new helper,
>> next_entry(), to handle advancing to the next irq_pin_list entry.
>>
>> Noticed during code inspection.  The infinite loop was not observed.
>>
>> Fixes: f821102450a1 ("x86: IRQ Migration logic enhancement.")
>> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
>> Release-Acked-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>> ---
>> v3:
>> const on next_entry() parameter
>> Remove spaces inside for loop braces
>> Remove inner if (!entry) check
>> Expand commit message to state noticed during code inspection
>>
>> v2:
>> continue (not break) for pin == -1.
>>
>> I added the next_entry() helper since putting the expression in the for
>> loop is a little cluttered.  The helper can also be re-used for other
>> instances within the file.
>> ---
>>   xen/arch/x86/io_apic.c | 17 +++++++++--------
>>   1 file changed, 9 insertions(+), 8 deletions(-)
>>
>> diff --git a/xen/arch/x86/io_apic.c b/xen/arch/x86/io_apic.c
>> index c384f10c1b..c35d611ecf 100644
>> --- a/xen/arch/x86/io_apic.c
>> +++ b/xen/arch/x86/io_apic.c
>> @@ -1586,20 +1586,24 @@ static int __init cf_check setup_ioapic_ack(const char *s)
>>   }
>>   custom_param("ioapic_ack", setup_ioapic_ack);
>>   
>> +static struct irq_pin_list *next_entry(const struct irq_pin_list *entry)
>> +{
>> +    if ( !entry->next )
>> +        return NULL;
>> +
>> +    return irq_2_pin + entry->next;
>> +}
> 
> When replying to the v2 thread I hadn't spotted yet that a v3 was already
> posted. As indicated, imo this name to too generic (now). I'd be happy to
> make adjustments while committing, as long as we can agree on some less
> generic name.

pin_list_next() works for me.

Thanks,
Jason


From xen-devel-bounces@lists.xenproject.org Thu Oct 16 22:38:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Oct 2025 22:38:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144780.1478043 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9WcE-00069j-DI; Thu, 16 Oct 2025 22:38:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144780.1478043; Thu, 16 Oct 2025 22:38:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9WcE-00069c-AP; Thu, 16 Oct 2025 22:38:34 +0000
Received: by outflank-mailman (input) for mailman id 1144780;
 Thu, 16 Oct 2025 22:38:33 +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
 <SRS0=O3fM=4Z=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1v9WcD-00069W-D2
 for xen-devel@lists.xenproject.org; Thu, 16 Oct 2025 22:38:33 +0000
Received: from fout-b3-smtp.messagingengine.com
 (fout-b3-smtp.messagingengine.com [202.12.124.146])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d648b018-aae0-11f0-980a-7dc792cee155;
 Fri, 17 Oct 2025 00:38:31 +0200 (CEST)
Received: from phl-compute-04.internal (phl-compute-04.internal [10.202.2.44])
 by mailfout.stl.internal (Postfix) with ESMTP id B51FC1D0009E;
 Thu, 16 Oct 2025 18:38:28 -0400 (EDT)
Received: from phl-mailfrontend-02 ([10.202.2.163])
 by phl-compute-04.internal (MEProxy); Thu, 16 Oct 2025 18:38:28 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 16 Oct 2025 18:38:26 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d648b018-aae0-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:content-type:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:subject:subject:to:to; s=fm2; t=1760654308;
	 x=1760740708; bh=O/Rg+Ccc1LMiHMvV97DbeIubNm1nBluA7EsucdJkBYc=; b=
	0QC5/i4uC3cq2i1y0j1hDJ/suuF7lM/ZLTDrWIQSoVW+shYz4uaD9GSh0beIv/rI
	0xm3GpzoiQf5wNy58eAlCFB5FgwqJfoX9h5oPPDg+3q4GyJQGqZMyhFeKiByOhW8
	2SMRfHrCj5lEcHwzk3WOgC7UDPnHICKaoSLvapkRa16nn2h8V+Fc3qQnCXMGs430
	Dzkt+Hd7q9djyiXcRnzpBEXu/s20X97tANyxRyr4rqCC2R6STLMBJCc6yAHqNlif
	P1R+DU3kcAj6x8Ebosw29Cm3g5qtKEKAt3QqSwp+jw0gvLca+lG6RNlYGiuDSPIh
	NLZ71OTISyK3JJNz/YdFuQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:content-type:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:subject:subject:to
	:to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=
	1760654308; x=1760740708; bh=O/Rg+Ccc1LMiHMvV97DbeIubNm1nBluA7Es
	ucdJkBYc=; b=KsyZKvxg/qrjFTmiXV7Ks/4AVgVqdogYQLWTl/VRWi+z5M9thse
	5QYInUp2y5LIwIc3zgmnqj4DiWwLw50eoeLvgxfAWi5nV7cr8keN/Tp8h716n4+o
	RPqGB7pxiLEoLjHHy0qlABOBHbHuAIGo7XNphSsedJadeAwASD6iVxsXZSSrsVAy
	a0zo6bE6xijvZRUYWtt6YirW76PSnrGxtD7EG5FwoGnq6NA3en4yKEUATv0+IE7L
	Zqs6AP9B7vjhimDBBzgi1CEFHNmBfCMErmGmKvFTgDP9ddQCj/a/hbArX1CgpquQ
	vb/AjfmlG6ar+0iPzXc/FylzO0ZH2jXAWUw==
X-ME-Sender: <xms:5HPxaA84lxWQrq5rHbYcy1qTrd_6xukRgEudku2nXtj3m-sNgv1b_Q>
    <xme:5HPxaHxT_UuboUn92-XBxkrKyTfHjMddh7pmmnUfpVOqO9qlVSnRzr50RibRP_lF9
    x3RhiP4zOK5ZKWrsBg5-FDaMZ6Hid9q0rIY3wXvxTabJv1xVP0>
X-ME-Received: <xmr:5HPxaMOxugUQD6FxgQBry6pQyl-JMdx7ZVGmxG7HlQ1lDr8mY1_60yozxg>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdeggdduvdejheduucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu
    rghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujf
    gurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgvkhcu
    ofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinhhvih
    hsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepieeluddv
    keejueekhfffteegfeeiffefjeejvdeijedvgfejheetuddvkeffudeinecuffhomhgrih
    hnpehkvghrnhgvlhdrohhrghenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhep
    mhgrihhlfhhrohhmpehmrghrmhgrrhgvkhesihhnvhhishhisghlvghthhhinhhgshhlrg
    gsrdgtohhmpdhnsggprhgtphhtthhopeekpdhmohguvgepshhmthhpohhuthdprhgtphht
    thhopehgrhihghhorhhiihgpshhtrhgrshhhkhhosegvphgrmhdrtghomhdprhgtphhtth
    hopehrohhgvghrrdhprghusegtihhtrhhigidrtghomhdprhgtphhtthhopehjsggvuhhl
    ihgthhesshhushgvrdgtohhmpdhrtghpthhtohepgigvnhdquggvvhgvlheslhhishhtsh
    drgigvnhhprhhojhgvtghtrdhorhhgpdhrtghpthhtohepshgvrhhgihihpghkihgsrhhi
    khesvghprghmrdgtohhmpdhrtghpthhtoheprghnughrvgifrdgtohhophgvrhefsegtih
    htrhhigidrtghomhdprhgtphhtthhopehprghulhesgigvnhdrohhrghdprhgtphhtthho
    pegrlhgvjhgrnhgurhhordhgrghrtghirghvrghllhgvjhhosegrmhgurdgtohhm
X-ME-Proxy: <xmx:5HPxaM__35oZfFBMeSfgpyGKr5H2BamYjAhBZmU6K00QKstERMZHxA>
    <xmx:5HPxaJ5zRq57OEFyWfyxpgeIJSsqqDPKQAjsbTzrtBm2_7tmdDB-Mg>
    <xmx:5HPxaC4sP_qfIFcgLJjmkI5zmBww_k5mJ8Irx0HVghK8q2XWb7ef2w>
    <xmx:5HPxaCp0wm_Va6tGXTU6ELyg2EAJmcltrks0w3D4Pii2TSFpSfT5vg>
    <xmx:5HPxaLC2r8Kk88OUp2PyZRaJ9LUY_JoggFhMxGOPIYbw1JFkTQHIeF9x>
Feedback-ID: i1568416f:Fastmail
Date: Fri, 17 Oct 2025 00:38:23 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Grygorii Strashko <grygorii_strashko@epam.com>
Cc: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Alejandro Vallejo <alejandro.garciavallejo@amd.com>
Subject: Re: [PATCH v5] x86: make Viridian support optional
Message-ID: <aPFz3-RjsG-VGRLU@mail-itl>
References: <20250930125215.1087214-1-grygorii_strashko@epam.com>
 <aOzt8gfxkdQXZ6O1@Mac.lan>
 <e6972ea5-2139-4f4d-8d2c-2979fe2fad99@epam.com>
 <aO5gdh6C_uQoFHPH@Mac.lan>
 <afe544d3-575c-44e8-9068-8c79f69d6175@epam.com>
 <aO9UgQ3J27hVgGIa@Mac.lan>
 <06d540f0-38e6-46fd-b94d-58ac2797657f@epam.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="tzVi6kEDw/P8mlKg"
Content-Disposition: inline
In-Reply-To: <06d540f0-38e6-46fd-b94d-58ac2797657f@epam.com>


--tzVi6kEDw/P8mlKg
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Fri, 17 Oct 2025 00:38:23 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Grygorii Strashko <grygorii_strashko@epam.com>
Cc: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Alejandro Vallejo <alejandro.garciavallejo@amd.com>
Subject: Re: [PATCH v5] x86: make Viridian support optional

On Fri, Oct 17, 2025 at 12:40:33AM +0300, Grygorii Strashko wrote:
>=20
>=20
> On 15.10.25 11:00, Roger Pau Monn=C3=A9 wrote:
> > On Tue, Oct 14, 2025 at 06:48:23PM +0300, Grygorii Strashko wrote:
> > >=20
> > >=20
> > > On 14.10.25 17:38, Roger Pau Monn=C3=A9 wrote:
> > > > On Tue, Oct 14, 2025 at 04:24:53PM +0300, Grygorii Strashko wrote:
> > > > > On 13.10.25 15:17, Roger Pau Monn=C3=A9 wrote:
> > > > > > On Tue, Sep 30, 2025 at 12:52:16PM +0000, Grygorii Strashko wro=
te:
> > > > > > > From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
> > > > > > > +
> > > > > > > +	  If unsure, say Y.
> > > > > > > +
> > > > > > >     config MEM_PAGING
> > > > > > >     	bool "Xen memory paging support (UNSUPPORTED)" if UNSUPP=
ORTED
> > > > > > >     	depends on VM_EVENT
> > > > > > > diff --git a/xen/arch/x86/hvm/Makefile b/xen/arch/x86/hvm/Mak=
efile
> > > > > > > index 6ec2c8f2db56..736eb3f966e9 100644
> > > > > > > --- a/xen/arch/x86/hvm/Makefile
> > > > > > > +++ b/xen/arch/x86/hvm/Makefile
> > > > > > > @@ -1,6 +1,6 @@
> > > > > > >     obj-$(CONFIG_AMD_SVM) +=3D svm/
> > > > > > >     obj-$(CONFIG_INTEL_VMX) +=3D vmx/
> > > > > > > -obj-y +=3D viridian/
> > > > > > > +obj-$(CONFIG_VIRIDIAN) +=3D viridian/
> > > > > > >     obj-y +=3D asid.o
> > > > > > >     obj-y +=3D dm.o
> > > > > > > diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
> > > > > > > index 23bd7f078a1d..95a80369b9b8 100644
> > > > > > > --- a/xen/arch/x86/hvm/hvm.c
> > > > > > > +++ b/xen/arch/x86/hvm/hvm.c
> > > > > > > @@ -701,9 +701,12 @@ int hvm_domain_initialise(struct domain =
*d,
> > > > > > >         if ( hvm_tsc_scaling_supported )
> > > > > > >             d->arch.hvm.tsc_scaling_ratio =3D hvm_default_tsc=
_scaling_ratio;
> > > > > > > -    rc =3D viridian_domain_init(d);
> > > > > > > -    if ( rc )
> > > > > > > -        goto fail2;
> > > > > > > +    if ( is_viridian_domain(d) )
> > > > > > > +    {
> > > > > > > +        rc =3D viridian_domain_init(d);
> > > > > > > +        if ( rc )
> > > > > > > +            goto fail2;
> > > > > > > +    }
> > > > > >=20
> > > > > > Are you sure this works as expected?
> > > > > >=20
> > > > > > The viridian_feature_mask() check is implemented using an HVM p=
aram,
> > > > > > and hence can only be possibly set after the domain object is c=
reated.
> > > > > > AFAICT is_viridian_domain(d) will unconditionally return false =
when
> > > > > > called from domain_create() context, because the HVM params can=
not
> > > > > > possibly be set ahead of the domain being created.
> > > > >=20
> > > > > You are right. Thanks for the this catch.
> > > > >=20
> > > > > Taking above into account above, it seems Jan's proposal to conve=
rt below
> > > > > viridian APIs into wrappers for VIRIDIAN=3Dn case is right way to=
 move forward:
> > > > >=20
> > > > > int viridian_vcpu_init(struct vcpu *v);
> > > > > int viridian_domain_init(struct domain *d);
> > > > > void viridian_vcpu_deinit(struct vcpu *v);
> > > > > void viridian_domain_deinit(struct domain *d);
> > > > >=20
> > > > > Right?
> > > >=20
> > > > Possibly. If you don't want to introduce a XEN_DOMCTL_createdomain
> > > > flag you need to exclusively use the Kconfig option to decide wheth=
er
> > > > the Viridian related structs must be allocated.  IOW: you could also
> > > > solve it by using IS_ENABLED(CONFIG_VIRIDIAN) instead of
> > > > is_viridian_domain() for most of the calls here.
> > > >=20
> > > > The wrapper option might be better IMO, rather than adding
> > > > IS_ENABLED(CONFIG_VIRIDIAN) around.
> > >=20
> > > I'll do wrappers - less if(s) in common HVM code.
> > >=20
> > > >=20
> > > > > [1] https://patchwork.kernel.org/comment/26595213/
> > > > >=20
> > > > > >=20
> > > > > > If you want to do anything like this you will possibly need to
> > > > > > introduce a new flag to XEN_DOMCTL_createdomain to signal wheth=
er the
> > > > > > domain has Viridian extensions are enabled or not, so that it's=
 know
> > > > > > in the context where domain_create() gets called.
> > > > >=20
> > > > > In my opinion, it might be good not to go so far within this subm=
ission.
> > > > > - It's not intended  to change existing behavior of neither Xen n=
or toolstack
> > > > >     for VIRIDIAN=3Dy (default)
>=20
> [1]
>=20
> > > > > - just optout Viridian support when not needed.
> > > >=20
> > > > OK, that's fine.
> > > >=20
> > > > On further request though: if Viridian is build-time disabled in
> > > > Kconfig, setting or fetching HVM_PARAM_VIRIDIAN should return -ENOD=
EV
> > > > or similar error.  I don't think this is done as part of this patch.
> >=20
> > Another bit I've noticed, you will need to adjust write_hvm_params()
> > so it can tolerate xc_hvm_param_get() returning an error when
> > HVM_PARAM_VIRIDIAN is not implemented by the hypervisor.
> >=20
> > Implementing the Viridian features using an HVM parameter was a bad
> > approach probably.
>=20
> I've just realized how toolstack need to be modified and all consequences=
=2E..
> Have to try to push back a little bit:
>=20
> VIRIDIAN=3Dn: Now HVM_PARAM_VIRIDIAN will be R/W with functionality NOP.
>=20
> I'd prefer avoid modifying toolstack if possible.

IMHO trying to start a domain with Viridian enabled, while it's compiled
out of the hypervisor, should fail. Not silently be ignored.

> How about sanitizing HVM_PARAM_VIRIDIAN to be RAZ/WI for VIRIDIAN=3Dn?
> Or may be produce Xen XENLOG_WARNING"Viridian is disabled" if value!=3D0?
>=20
> This an EXPERT option and end-user can get Xen with VIRIDIAN=3Dn only by
> manually re-configuring and re-compiling Xen. In other words, the user
> is an expert and knows what he is doing.
>=20
> Another point, assume change like this is to be done for HVM_PARAM_VIRIDI=
AN
> - there are another HVM_PARAM_x which depend on build-time disabled featu=
res, like:
>  HVM_PARAM_VM86_TSS_SIZED
>  HVM_PARAM_PAGING_RING_PFN,
>  HVM_PARAM_MONITOR_RING_PFN,
>  HVM_PARAM_SHARING_RING_PFN,
>  HVM_PARAM_IDENT_PT
>  ...
>=20
> if corresponding features are build-time disabled, above HVM_PARAM_x
> become R/W with functionality NOP now.

Are you sure? For me it looks like setting build-time disabled feature
returns -ENOSYS. Or do you mean some other interface than
xc_hvm_param_set().

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--tzVi6kEDw/P8mlKg
Content-Type: application/pgp-signature; name=signature.asc

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmjxc98ACgkQ24/THMrX
1yyRiQgAk/3mggbVFMcCFDMrHTAmCBYOLbUOk2iP7sxE53cVz8VsYr7dCOGoKbTn
iHrqwLOml69lggHwnDpmD1GpmypQeK5d+JgN/yF5y04oFcmNkwtkkDxNlnGrsPof
YYPGAj8kz5gTOAXvJb6/fUc+G2hTGDTF1nRq77CCa5IgP0BWbXT5PS6fw6VdjCZ5
kn1Br4QteAsP8FO8bnec+9bdtayycACPjRxY/vrajddeiyMjPtuxbtQ7nBIMfeak
w4YKFI12BnUIGb9Liha1gvVLAVcaloKE3v1HsccTr+I15ep6Icv196zli8h8fr8U
7GyQz7sVp1JEHv5/fjXQNTmf6V2U5Q==
=lzzM
-----END PGP SIGNATURE-----

--tzVi6kEDw/P8mlKg--


From xen-devel-bounces@lists.xenproject.org Thu Oct 16 23:27:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Oct 2025 23:27:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144794.1478052 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9XMy-0003xo-Je; Thu, 16 Oct 2025 23:26:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144794.1478052; Thu, 16 Oct 2025 23:26:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9XMy-0003xh-Gh; Thu, 16 Oct 2025 23:26:52 +0000
Received: by outflank-mailman (input) for mailman id 1144794;
 Thu, 16 Oct 2025 23:26:51 +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
 <SRS0=CCbN=4Z=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1v9XMx-0003xb-Nn
 for xen-devel@lists.xenproject.org; Thu, 16 Oct 2025 23:26:51 +0000
Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com
 [2a00:1450:4864:20::32a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9754be12-aae7-11f0-9d15-b5c5bf9af7f9;
 Fri, 17 Oct 2025 01:26:50 +0200 (CEST)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-470ffbf2150so13737645e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 16 Oct 2025 16:26:50 -0700 (PDT)
Received: from localhost.localdomain (host-92-22-57-86.as13285.net.
 [92.22.57.86]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-426ce5833dcsm36885399f8f.19.2025.10.16.16.26.48
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 16 Oct 2025 16:26:48 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9754be12-aae7-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1760657209; x=1761262009; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=YClZXLeX0pB5pdUdqdhEoYeXVD8Jv4KNegou1kZsW9k=;
        b=UF+/qJo079hV9l0sQSmvg+7Dom7Ty2Jecg+KTRxrsxmdYcUzlw51dSrbhEdQL4OLEi
         r2AGsIBlJ+pGIFjIRxUx/EQuLM/FNgHuj5Y4Hu/TIt1GtA1wsFaVeycbo0zdw4rkdl01
         nyniMOZPMD9XTziSbaMHek7uBVx4v1T/2qq2o=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760657209; x=1761262009;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=YClZXLeX0pB5pdUdqdhEoYeXVD8Jv4KNegou1kZsW9k=;
        b=tc3BkIQFm5AokO7tYxsVU6lCDchR105xlO8F5G6f6UdNkk6BUadTqbq2cWYYNiG0b1
         I+xpzo76WHfGW807rQANYY7i/VaBVUGfTlDBAzyIDZGRwOvGF7gr8C5QI0aQ7ztGBMYk
         pqJdmPcETVXMzcQMqnlR6UNYXc9mmQEezw2Y9EoaLfhE3Ab5Mvobul3GSxQXOcTsz+JI
         O6S3augXYzV8g0rGU5KgJA32tND8d4vhDwzDVaP841Duz27jv1BXciSyv8ZAztNyJSQC
         w7XKoNRJQ9Oo6IueMzpXNxHQIIcD+Au3r2W17HuNGXeKn9J6MRt9UWIUYjFmgANH9CK1
         Xg1Q==
X-Gm-Message-State: AOJu0Yxt2zKaTxNPp0ZCpbUngkHOlDi1+0+yweOpOwFB8DjQmJ9L9/ee
	gXgQnIHwQ+ClwwxJ0t/i4JVACzB/VSqSrZHZhe7Y3Ir1K/bD+avD2qeUn/OeJYr86i0zP3ur03A
	ZXFIkisSOYA==
X-Gm-Gg: ASbGncuuUARkILguY3tVkNWpPM/1vzuqWWqFh7KkT58fyUnIxGxiW37ygn205nhJbqB
	+loMXR8cN/J6FLwUFJeYroP3zEwFDCnefYprXKTuCjALROqAb1jS5w5OJ4+DjRrknM8m7ntTRyu
	ERE74e9j6Scq7LrR6KGJGBY5v9KUKiJ4P2VGFsEL7YhMNETZyEbggxUuWtalvJDGPsdT29kOqK5
	8LFjA3VRX26D8L2nhcmzmWCPf+Q7dzFVbpxtk85Jx6pI/Vbw9vBBaSe/HOnA1aCUp6Kf47mQqRf
	2sHXMZysvboUU32IiXrrbOTGFXJEcZLY8fp/X5m4UZ/qQxw3Sr9ipKiHyDtXliAgRe3V+/poJFh
	Bf3tOS+FmbQAc1LuTLVzcsPAjMkHFil2txIGqRXS0BA5JLocDdRlvf/WhTUeIqO7j/OU1vDwqkY
	gepDRPUYC/rkjigDg3J2sFJr5U79VsmImOqy4TaxuZiXNxKA==
X-Google-Smtp-Source: AGHT+IHxNOdRvXOsirKX0EoRqpvHBKPWY34FxNuD1I6M7zR8Nw4e7abpaW2Wbd13aI1oH9+HpvacQQ==
X-Received: by 2002:a05:6000:22c5:b0:3ee:1368:a921 with SMTP id ffacd0b85a97d-42704bf7238mr1500875f8f.28.1760657209379;
        Thu, 16 Oct 2025 16:26:49 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH for-4.21] x86/ucode: Fix missing printk() newline in ucode_probe_amd()
Date: Fri, 17 Oct 2025 00:26:46 +0100
Message-Id: <20251016232646.2688404-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Fixes: 630e8875ab36 ("x86/ucode: Perform extra SHA2 checks on AMD Fam17h/19h microcode")
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>

For 4.21.  This is a formatting fix with basically 0 risk.

It is encouraging that no-one has reported this bug so far, because it
suggests that no-one has turned off digest checking and then looked at dmesg.
---
 xen/arch/x86/cpu/microcode/amd.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/cpu/microcode/amd.c b/xen/arch/x86/cpu/microcode/amd.c
index a5729229a403..59332da2b827 100644
--- a/xen/arch/x86/cpu/microcode/amd.c
+++ b/xen/arch/x86/cpu/microcode/amd.c
@@ -519,7 +519,7 @@ void __init ucode_probe_amd(struct microcode_ops *ops)
     if ( !opt_digest_check && boot_cpu_data.family >= 0x17 )
     {
         printk(XENLOG_WARNING
-               "Microcode patch additional digest checks disabled");
+               "Microcode patch additional digest checks disabled\n");
         add_taint(TAINT_CPU_OUT_OF_SPEC);
     }
 
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Fri Oct 17 00:29:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Oct 2025 00:29:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144822.1478063 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9YL3-0003NK-BO; Fri, 17 Oct 2025 00:28:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144822.1478063; Fri, 17 Oct 2025 00:28:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9YL3-0003ND-7j; Fri, 17 Oct 2025 00:28:57 +0000
Received: by outflank-mailman (input) for mailman id 1144822;
 Fri, 17 Oct 2025 00:28:56 +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
 <SRS0=E5B7=42=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1v9YL1-0003Mz-U4
 for xen-devel@lists.xenproject.org; Fri, 17 Oct 2025 00:28:56 +0000
Received: from CH1PR05CU001.outbound.protection.outlook.com
 (mail-northcentralusazlp170100001.outbound.protection.outlook.com
 [2a01:111:f403:c105::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 42292212-aaf0-11f0-9d15-b5c5bf9af7f9;
 Fri, 17 Oct 2025 02:28:53 +0200 (CEST)
Received: from BN9PR03CA0711.namprd03.prod.outlook.com (2603:10b6:408:ef::26)
 by IA0PR12MB7628.namprd12.prod.outlook.com (2603:10b6:208:436::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.12; Fri, 17 Oct
 2025 00:28:48 +0000
Received: from BN1PEPF00004686.namprd03.prod.outlook.com
 (2603:10b6:408:ef:cafe::c9) by BN9PR03CA0711.outlook.office365.com
 (2603:10b6:408:ef::26) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9228.13 via Frontend Transport; Fri,
 17 Oct 2025 00:28:48 +0000
Received: from satlexmb08.amd.com (165.204.84.17) by
 BN1PEPF00004686.mail.protection.outlook.com (10.167.243.91) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9228.7 via Frontend Transport; Fri, 17 Oct 2025 00:28:48 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.2.2562.17; Thu, 16 Oct
 2025 17:28:44 -0700
Received: from satlexmb07.amd.com (10.181.42.216) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 16 Oct
 2025 19:28:44 -0500
Received: from [172.29.145.48] (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.17 via Frontend
 Transport; Thu, 16 Oct 2025 17:28:44 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 42292212-aaf0-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Z2tGFVGz5k4Zs5QCUGXtkKFNXZUBY4C/T+1LWz4ae7YQY98wZs2KPuSVcj2207mqa3MqJI4i6MPpOp6j3MgzqsuO5kDYE+2X5KOwxCGCKGuucnrMi4lEBWqq9crMOys8A/UK6f4KJ5IiV1ZUMTKA9qVKkGR815N5KexqNt8+2/0+NqRAMHmsqgliyhxBH6taI2R2TdIWJpPIMQkfZFKzbxCw8UZCzM5GpLCZhPKsqKHadr25946FjMtcu33pKqzYQUvKOcjFsKjGJ0PSX3QKqjGgb0S0Gdata91pF7+YYiTXG/IOpfC6ILME/wbY2iSfGQO5PLKx2wffgXPCzWAsng==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=aL4lpS9pti12mMfEZKIJ14I3hWL8n8ML/yS5P8FT0Ig=;
 b=EK/6nRFgCzKy/5KegKEsUXJ6h6wSmWlCd7odRhIdF0E/4P3yk5eM2P3ZDc7b+JuUMVhOA4VnC50MNUvpHxqiqLC1V8cjQjy10w8c2wS95MEe16ReKbbudWsEi/SJzV6/wrEuBiVgRve5vvcWylZDTR2+mpOGkWsM/7eWE0MvdVMOWsUh1qZqbNfVXi50fmjkoUrjefDVpAG8ubcPse3wvQti0MOSbh43Ce0d8Wmd6JSef4TxHMGlewwbA2ydOTAnmv2bxLgS6dsBcPPMSYJ2Jrc4AC75+aWkovA4haeX5WjggqcD72pNJ3TRbn18kPA3ZYIgdXDXM2ZuXBGCMd0FSw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=aL4lpS9pti12mMfEZKIJ14I3hWL8n8ML/yS5P8FT0Ig=;
 b=YWgeNyPN6khK8BH1ejnUYUMDPx/8jdT8g6CXY3Rb2K+Cl+It0QvPO82BIVIk1LZhKInEe7JeBQrh9Ky8L533XMZe3fhXxLXfT6iT9ShVmOLmlYrDR3tMA1iB6vX3zKEmAxYY/6UuSz8/TMjJAOQeNDMuQstkOTJkApBczDBDS5M=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C
Message-ID: <7db4f31e-1641-4105-8b1b-4884505f8559@amd.com>
Date: Thu, 16 Oct 2025 20:28:39 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.22 v3 2/2] x86/io_apic: Use next_entry() in loops
To: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
	<xen-devel@lists.xenproject.org>
References: <20251015210454.95381-1-jason.andryuk@amd.com>
 <20251015210454.95381-3-jason.andryuk@amd.com>
 <61773baa-d577-4cf7-8d1a-819b79bd1c7d@suse.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <61773baa-d577-4cf7-8d1a-819b79bd1c7d@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB04.amd.com: jason.andryuk@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF00004686:EE_|IA0PR12MB7628:EE_
X-MS-Office365-Filtering-Correlation-Id: 5d6cdf58-127a-4dda-b1e9-08de0d142392
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|36860700013|376014|1800799024|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?RzF0Nm1hVmc4elY0dEFVZ0UzbmtIOXRjdVIwUVg3RjFoV0o5dEZaWnhqT3NZ?=
 =?utf-8?B?YThNRkNPYnNVNUpLNmN5OWJjZjYwV0pxb2pUSUo2OHF1MmQzWmdjeTZnYXNW?=
 =?utf-8?B?YmtiUU5sWk1LZmNmSzh2SldIc3N1WmtTc0p0SFJHaEdESURmVnFXakFhSUM2?=
 =?utf-8?B?R0hOclZheTF4emZndkkvdXZJWGZ4RHU0MXN5ZUZtSmltU3ZaM0hyMGZUbXQr?=
 =?utf-8?B?RWFEZTVybmFWQ0MzeGoxN0ZPK0kzZkpYNkk5eFRvcEF2NzNPOVIzbHpoTzFL?=
 =?utf-8?B?THNkVXptd1RpYVByYkNRL3R5N29GWEpuaHBNS014dmUybUtCK09LVTRDdU5D?=
 =?utf-8?B?c0trTUd3Y3pQVDQzQVVpa0FFRjVLVlBMYmhPQ0YyTkE0b3V5RmluWE1SZnd0?=
 =?utf-8?B?OFphNHNJcFR6V1JiWVpXN1RYQWFYalhJKzdyeFUwTXNCOHRTdFFxTnZwQTR4?=
 =?utf-8?B?eW9oMGg3c0ltSCtsbno1NVE3MmVnTGtuaVd0S2taYVJtcllTMUt1aUg3am5q?=
 =?utf-8?B?Q1dlWWI4enJIY25YZEJRVnY5bUpsQ2ZBZFk4Nmd0cmd0MEI4cUVieW1GcmlQ?=
 =?utf-8?B?QnF0YW5aRmNqaVNlK3EvcEZYam5SY3ErTW1lWjQ1Yk1HRVZ4RjJ6Um96Vk51?=
 =?utf-8?B?YitTT2FtRVVCakVzcUJlOTh0cDNRMk1tRVNFL3ZwVXJtZmxUcGZORHBKMVlp?=
 =?utf-8?B?NHFGVFdHY3NNVW02b3Z4QjJwUGJ6dEUrb2k0amRlOWQzV1RYWS91Qm9QL25I?=
 =?utf-8?B?bDRXdTJoQkp4NVlOVWxCdDZJZnN5UWtJL1QrQUJpZFJ6Tnh4Ny84MUVUVXh2?=
 =?utf-8?B?a1NoTUdxcEc1ZjFrWFlvWDJvQUZNbXZwL3RYdUoydXdMcGI5UUVtdjZHSVFa?=
 =?utf-8?B?d3N0WkFnZUcza3k1NnVFcVo2MEdMQ3FWT0EwUHZtaWtnTEdHZ1VCZDV4blhJ?=
 =?utf-8?B?UGhqMVZOemxHb0tzaUl1cldGZ1p0WjJHdlRWMEtjZU5TMGlHbk1UNHdYU2VS?=
 =?utf-8?B?NHFSekRENE9yaUdJd0pkVHl6bm41NmhpRzVNczlSdktSWUszMGJQNzBlNHJV?=
 =?utf-8?B?L0oxaGJZdHlHMXIydytuNmdOTTBLeVN6SndLZkR4Mk5xTkVZUWNJL2lCRnhv?=
 =?utf-8?B?N25OYnhON2VrWTR5cUJvcGovSzFHZjVET2N5eVMvNHdEQzRRWU1GT051Sklx?=
 =?utf-8?B?N3RSOHkxdFFHbVpLNFRSMTFYSkxkaW5Ic3hUSVA5NkJnTHlaTm5PM25BbnhB?=
 =?utf-8?B?RlpTTjBmeE5ZN3RJMXlDbDFvYUVOZ0EvQ3NnVWUyOXVCek1LNjNqWkorNzBs?=
 =?utf-8?B?NlBTR242QnZ1K000M3Exa2RkdURDeWtFN2ZyYUdtQ25VWksrODJLTXlTRHVU?=
 =?utf-8?B?Y3NOZU9lTXVRcTBkL3ZpMXY4WUEzSERYdmJRTGQ5T3RqV0FyRHVuU0M5ay9v?=
 =?utf-8?B?RUtUcUtQYjZqQzhDdVVVT0lDTDAwaXJpSG51bUI0YzRVN3BycnV3SkxURDFX?=
 =?utf-8?B?S21pYmZudGlLdTh4YmU2YVR1ekxlVVRlNVRiZm8ybW56QXhiWjV1M1IvT3Nz?=
 =?utf-8?B?Nk9PZXQ3QXJXdTV4UGdiMldXb0EwMWpIenl5ODdPNzBndWFFWTIxc0cwemkr?=
 =?utf-8?B?REJVak9BRUhiZFVDWGR3ZzF5UWNjbE5sNE96L1A5ZXE3TlovUnNhZTZvd1Ri?=
 =?utf-8?B?U3ZDTjJhSXB6d0kwbWYxZ0dmVmIzOTRpeUlSWFJqL1E5ejc1TjZtRDlxY1Fa?=
 =?utf-8?B?ampIVDZnYURKQ2lLVzJhNHFvMHVWSnFHYnEzSy9LMHZpdkRpbU4wZ09IQWda?=
 =?utf-8?B?T0lIaDNQc0QrbUMwV2R3ZnRER1VSWms0U2x6QnZ4WlJ3WXliN2FZV0ZQNGhv?=
 =?utf-8?B?Y2dabkhPZ1J0WUZIblhmcVpaUlQyUFpQZ1JzbWJMMXkreEpFWDN4WnN3c2NJ?=
 =?utf-8?B?N1JqSzRIWFc0RFlYakxMblA0VkV0dVdselpZTStYaTdUT1dwY3JCaFpVQ0Jm?=
 =?utf-8?B?K1RHQmkxL0ErL0liVkxaaHRUSHBYOVNEKy9KLzRUaFZhd2lpRlozNzcvUjBV?=
 =?utf-8?B?UUxNZjhiKytiakIyOEpJM0J1MWFmSGhCbmh1UFpCODBnRUdmZTRGbGZJbktZ?=
 =?utf-8?Q?WCng=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(36860700013)(376014)(1800799024)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Oct 2025 00:28:48.0084
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5d6cdf58-127a-4dda-b1e9-08de0d142392
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN1PEPF00004686.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB7628

On 2025-10-16 02:53, Jan Beulich wrote:
> On 15.10.2025 23:04, Jason Andryuk wrote:
>> io_apic.c has a lot of ad-hoc for(;;) and while(1) loops for iterating
>> over irq_pin_list entries.  Replace them with a standardized
>> for loop using next_entry() to advance entry.
>>
>> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
>> ---
>>   xen/arch/x86/io_apic.c | 49 ++++++++++++------------------------------
>>   1 file changed, 14 insertions(+), 35 deletions(-)
>>
>> diff --git a/xen/arch/x86/io_apic.c b/xen/arch/x86/io_apic.c
>> index c35d611ecf..73b48a9cb8 100644
>> --- a/xen/arch/x86/io_apic.c
>> +++ b/xen/arch/x86/io_apic.c
>> @@ -191,6 +191,14 @@ static void remove_pin_from_irq(unsigned int irq, int apic, int pin)
>>       irq_2_pin_free_entry = entry - irq_2_pin;
>>   }
>>   
>> +static struct irq_pin_list *next_entry(const struct irq_pin_list *entry)
>> +{
>> +    if ( !entry->next )
>> +        return NULL;
>> +
>> +    return irq_2_pin + entry->next;
>> +}
> 
> Preferably with the function put in its final place right in patch 1:
> Acked-by: Jan Beulich <jbeulich@suse.com>
> 
>> @@ -482,7 +487,7 @@ static void modify_IO_APIC_irq(unsigned int irq, unsigned int enable,
>>   {
>>       struct irq_pin_list *entry = irq_2_pin + irq;
>>   
>> -    for (;;) {
>> +    for (; entry; entry = next_entry(entry)) {
>>           unsigned int pin = entry->pin;
>>           struct IO_APIC_route_entry rte;
>>   
>> @@ -492,9 +497,6 @@ static void modify_IO_APIC_irq(unsigned int irq, unsigned int enable,
>>           rte.raw &= ~(uint64_t)disable;
>>           rte.raw |= enable;
>>           __ioapic_write_entry(entry->apic, pin, false, rte);
>> -        if (!entry->next)
>> -            break;
>> -        entry = irq_2_pin + entry->next;
>>       }
>>   }
> 
> I notice that within here there's also a "break" upon ->pin being -1.
> Seeing that io_apic_level_ack_pending() has continue there, I think we
> will want to be consistent. Which way isn't quite clear to me (yet).

Right.  I don't know.  It seems like ->pin == -1 indicates an unused 
entry, so stopping in the case makes sense.  I've wondered if 
io_apic_level_ack_pending() continues just in case an entry->next points 
to another pin to ack.  i.e. it's not the expected case, but it also 
might help if entry->next points to something valid.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Fri Oct 17 02:06:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Oct 2025 02:06:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144843.1478072 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9ZrM-00063B-RF; Fri, 17 Oct 2025 02:06:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144843.1478072; Fri, 17 Oct 2025 02:06:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9ZrM-000634-OY; Fri, 17 Oct 2025 02:06:24 +0000
Received: by outflank-mailman (input) for mailman id 1144843;
 Fri, 17 Oct 2025 02:06:23 +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
 <SRS0=E5B7=42=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1v9ZrL-00062y-8G
 for xen-devel@lists.xenproject.org; Fri, 17 Oct 2025 02:06:23 +0000
Received: from SJ2PR03CU001.outbound.protection.outlook.com
 (mail-westusazlp170120002.outbound.protection.outlook.com
 [2a01:111:f403:c001::2])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dec8375f-aafd-11f0-9d15-b5c5bf9af7f9;
 Fri, 17 Oct 2025 04:06:20 +0200 (CEST)
Received: from SJ0PR05CA0182.namprd05.prod.outlook.com (2603:10b6:a03:330::7)
 by DS0PR12MB7993.namprd12.prod.outlook.com (2603:10b6:8:14b::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.11; Fri, 17 Oct
 2025 02:06:15 +0000
Received: from SJ1PEPF00002325.namprd03.prod.outlook.com
 (2603:10b6:a03:330:cafe::b9) by SJ0PR05CA0182.outlook.office365.com
 (2603:10b6:a03:330::7) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9253.6 via Frontend Transport; Fri,
 17 Oct 2025 02:06:15 +0000
Received: from satlexmb08.amd.com (165.204.84.17) by
 SJ1PEPF00002325.mail.protection.outlook.com (10.167.242.88) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9228.7 via Frontend Transport; Fri, 17 Oct 2025 02:06:15 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.2.2562.17; Thu, 16 Oct
 2025 19:06:15 -0700
Received: from satlexmb08.amd.com (10.181.42.217) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 16 Oct
 2025 21:06:14 -0500
Received: from fedora.mshome.net (10.180.168.240) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.17 via Frontend
 Transport; Thu, 16 Oct 2025 19:06:14 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dec8375f-aafd-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=TOan3pdaA3JLa5TW3wY6NzXlzZzZWvQUzMTggOj5FNuEZtX7xT69Rv/XVTtx/dhBhBVqrWjg7Um3ihwyB41REvcPF2zlKhym56796x+avTMaJJk1bbrFZq7bY5TWMlThyUWLbbXbsoTDaKd35REcoUvcCteHw79xiPE7UrsLFVPiT8GaQWXLAhE6/tWOWYmIl6pMUvIqYcFPNMsT0VQZdlupcID7XuUDBAkMtDLiiEywu9BNxs/X1hRbKjcq1mOIljtErYHyuXCHUsPaNKTJDKV3MolYeEPNLOg4HHaw0yPqkECFAdgMX34E0gNUg7xRprzy0RUbljAwPnSxnNhENg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DxI9lOxDCuyTUAzAL7oPKcrGR+xyO4sju64Gbv2QO7g=;
 b=yci0z1d8yDxlL/x3Kdc0slPsZsgCLyr/0/qlPC5vNEQWSJ9GjL8NU6TwnbbGb3/KnNlcJ5h+zH/fDIRXF0hDwmleYUi3ttHSNAU7NtW03SYfUOQn3WSovbw+v+RjGReN6HWCnL1S3yI1pyUZQfR4dEPqCUznyQU8S1TWfJL31ZBhosTGgT9aoOyF2cnGm/crsNamelaKFyaKR0jxb6Ef+AxLGCM9c8v7fmQ406+4pyvUqiwBLTyv4g1BmyUoSX5QCIBzAsFHizsrzznmFAUeQ628U4Rj5bbow169e3FZP//CTyeniA6SlLI5FQ9YgWp0McS6T0G2hCRGcvqJ0BzblA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DxI9lOxDCuyTUAzAL7oPKcrGR+xyO4sju64Gbv2QO7g=;
 b=VaevSgv/LCfj8htExiNzV1BepTKya10rU+zq9ACN+Pyb6pp8IBNPhtcJ8JOcOEV+SfHqYYvNHNXPQhgdu6AwuGdoWwulPS4eNqu5DY3Qkzy2no4oYjZBMC7BYZNvf+mCm0Bd5vLEiF/4fD9uzk5UhPtgM3rWMjP+H6gAJJj0KBI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: <jbeulich@suse.com>
CC: <andrew.cooper3@citrix.com>, <anthony.perard@vates.tech>,
	<jgross@suse.com>, <oleksii.kurochko@gmail.com>,
	<xen-devel@lists.xenproject.org>, Jason Andryuk <jason.andryuk@amd.com>
Subject: [PATCH] tools/libxl: Make gentypes.py compatible with older Python
Date: Thu, 16 Oct 2025 22:06:13 -0400
Message-ID: <20251017020613.79855-1-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <81c56c9c-882e-4433-b41a-6952315efa25@suse.com>
References: <81c56c9c-882e-4433-b41a-6952315efa25@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ1PEPF00002325:EE_|DS0PR12MB7993:EE_
X-MS-Office365-Filtering-Correlation-Id: 3fc39fec-efe6-4bd7-0c41-08de0d21c0e8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|82310400026|1800799024|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?fIxncNScOHVW0Xa7KBWRbn7xRa6zIAgzDg2XXB1Eb+EvFPRzxMyFVXv3oAnw?=
 =?us-ascii?Q?zTeOC05yWt/VeS2/x3t4Q3WP848WibodY2s78u1Cy7+t6/1j3x8q+5r3hU2H?=
 =?us-ascii?Q?lDJ7P36dnmgNupjC/bbQtGVBmRKLhFhZ6+cFdDHIbeeJ4Dikm8JUBemwxoI8?=
 =?us-ascii?Q?uTMqDAIeIgtXnJMPxMt802lU+m7miL09O8WAw2DWtypOs2VtL/40OhB8nKAH?=
 =?us-ascii?Q?4ppJWG/EOp5HcDrccigqz+4LgUi0v26OP1HX40BTrBZdlfSa9wkLeH5MIKvR?=
 =?us-ascii?Q?KM6YppqYeQNqkjmnC0yvVv0ziIu9O5F9UOARkOToqGLvRghMvKmjzDjytJkb?=
 =?us-ascii?Q?ei/3eoacj+r2ouztsJgotctrqKMfYkjliMYm+qK7ipyMgzwN42qGXr3zwyLc?=
 =?us-ascii?Q?eG/GBjfaSY3xn8h0eFg55jkcJxo2TeYlX4njNgt2QaJykvHVAlFPdnMFQmfe?=
 =?us-ascii?Q?RMLhxqjW3wwwbmLkoS89/h7d2nVFPym/u+1dScJ+fQ+ZcuC7KUiQbefQlgnA?=
 =?us-ascii?Q?y8DGAJN6IKJ4rwBiamGlifJxWPY3s3kZY6K0PP4eFGSwEWGug6ANWj+Ltby5?=
 =?us-ascii?Q?gwrEi2Ix/e2tAVd3HpKJy7vqEh+vbrnsc64chB56wulze8y6Xrjj0fZ9NNhC?=
 =?us-ascii?Q?MH7NenXdLHwaSewT9/SD3Ifr57DwYYlZBCR9ML0yJ6cMmfNdd/no/KY5KMlF?=
 =?us-ascii?Q?ZLR68ETZNZ+xETdpvD1EokwjSc8vyXNWfB00pIWmwXtUxGvghkYOC50R7/Et?=
 =?us-ascii?Q?o7eIyYjlnU/9lPtm4fTbp7y5a8PKhKjqYNbg1DbKoScRNfsX5+viSpfNHVL4?=
 =?us-ascii?Q?/2/gq8lP2R/p25Phx5LSNnJJcPSAfKvaAVIQ2t7P/u1FP7htqoRV4pmJUnMv?=
 =?us-ascii?Q?j86nEhU5/3nVYm6XJ/rXdxN+y15IbhSoopkXFdyQZSNB16RGyfCXCnsJpEQV?=
 =?us-ascii?Q?CfFldOJ/8STOcq3E3sa+BY02F3GbwO0Xyn5SSa1vKyTnza8CEdV9YEdrErOF?=
 =?us-ascii?Q?v5g1Awyw1sgRENpZfy/ygpYD6acas4wrfxB8ec4LvhF1Ha53sbGaLe+/9uli?=
 =?us-ascii?Q?TCA9qDsmMKtWivVXosxHjmxHJMd8WHkdpKiaAoydn3OpBGTK+eIh6MsFfnpG?=
 =?us-ascii?Q?o7ZYLMzm4I0/jSYWg2Sjm3Ep2ie4gWZEizKCuMIohGlntYdHiczqIJ040ZL0?=
 =?us-ascii?Q?63aAm6tp4Sg5gbPh+bLr1xoSWX2veIQ8O6EWQRtei9zS2RrvfxOLE3rAeaGC?=
 =?us-ascii?Q?8MF1U3luY/pSzLY90bY68cNBOYW+IjPb5G9vteqXiVY2K9459iOD0bGeVz6j?=
 =?us-ascii?Q?n8DaocGYaTm/uy03nMjEs/1TnIjwqF9H6qWCZ54u7r9NrKHJkNuUPHKTwC1X?=
 =?us-ascii?Q?yIVDbQhOxIiIdvCRxwWsMOnIP3xyIGo5S83Cz71de2Y0JXdWMLFQmkO1HDwV?=
 =?us-ascii?Q?P2H7Py/1oQRzDlBClbLCwivKCuj7pP5l3p29Y6ZS/qYsjqeN2KGV1c5AXijl?=
 =?us-ascii?Q?2ge5OhrSEdV4ZN4TUB/BbvL2F/myOQ85WjIRhsOBxILzr7cKXtNklaWB/h4z?=
 =?us-ascii?Q?fMGd9/TERsAosuML0f4=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(82310400026)(1800799024)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Oct 2025 02:06:15.3369
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3fc39fec-efe6-4bd7-0c41-08de0d21c0e8
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ1PEPF00002325.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB7993

removeprefix is only added in Python 3.9.

Instead of the prefix removal, switch to passing in a "depth" parameter,
and incrementing it for each level.

There is a slight change in the generated _libxl_types.c.  instances of
KeyedUnion increment depth without outputing any code.  The net result
is some cases where jso_sub_1 is followed by jso_sub_3.  As an example:

_libxl_types.c
_libxl_types.c
@@ -5535,12 +5535,12 @@
                 if (!jso_sub_1)
                     goto out;
                 if (!libxl__string_is_default(&p->u.pty.path)) {
-                    json_object *jso_sub_2 = NULL;
-                    rc = libxl__string_gen_jso(&jso_sub_2, p->u.pty.path);
+                    json_object *jso_sub_3 = NULL;
+                    rc = libxl__string_gen_jso(&jso_sub_3, p->u.pty.path);
                     if (rc)
                         goto out;
-                    if (json_object_object_add(jso_sub_1, "path", jso_sub_2)) {
-                        json_object_put(jso_sub_2);
+                    if (json_object_object_add(jso_sub_1, "path", jso_sub_3)) {
+                        json_object_put(jso_sub_3);
                         goto out;
                     }
                 }

Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
Here's an alternative approach to workaround removeprefix.

 tools/libs/light/gentypes.py | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/tools/libs/light/gentypes.py b/tools/libs/light/gentypes.py
index 006bea170a..0e45c04f49 100644
--- a/tools/libs/light/gentypes.py
+++ b/tools/libs/light/gentypes.py
@@ -377,15 +377,16 @@ def get_default_expr(f, nparent, fexpr):
     return "%s" % fexpr
 
 # For json-c gen_json functions
-def libxl_C_type_gen_jso(ty, v, indent = "    ", parent = None, scope_object = "jso"):
+def libxl_C_type_gen_jso(ty, v, indent = "    ", parent = None, scope_object = "jso", depth = 0):
     s = ""
     if parent is None:
         s += "json_object *jso;\n"
         s += "int rc;\n"
-        sub_scope_object = "jso_sub_1"
+        depth = 1
     else:
-        sub_scope_object = "jso_sub_%d" % (1+int(scope_object.removeprefix("jso_sub_")))
+        depth += 1
 
+    sub_scope_object = "jso_sub_%d" % depth
     if isinstance(ty, idl.Array):
         if parent is None:
             raise Exception("Array type must have a parent")
@@ -398,7 +399,8 @@ def libxl_C_type_gen_jso(ty, v, indent = "    ", parent = None, scope_object = "
         s += "        json_object *%s;\n" % (sub_scope_object)
         # remove some indent, it's over indented at least in one case libxl_vcpu_sched_params_gen_json
         s += libxl_C_type_gen_jso(ty.elem_type, v+"[i]",
-                                   indent + "    ", parent, sub_scope_object)
+                                  indent + "    ", parent, sub_scope_object,
+                                  depth)
         s += "        if (json_object_array_add(%s, %s)) {\n" % (scope_object, sub_scope_object)
         s += "            json_object_put(%s);\n" % (sub_scope_object)
         s += "            goto out;\n"
@@ -417,7 +419,7 @@ def libxl_C_type_gen_jso(ty, v, indent = "    ", parent = None, scope_object = "
             (nparent,fexpr) = ty.member(v, f, parent is None)
             s += "case %s:\n" % f.enumname
             if f.type is not None:
-                s += libxl_C_type_gen_jso(f.type, fexpr, indent + "    ", nparent, scope_object)
+                s += libxl_C_type_gen_jso(f.type, fexpr, indent + "    ", nparent, scope_object, depth)
             else:
                 s += "    %s = json_object_new_object();\n" % (scope_object)
                 s += "    if (!%s)\n" % (scope_object)
@@ -433,7 +435,7 @@ def libxl_C_type_gen_jso(ty, v, indent = "    ", parent = None, scope_object = "
             default_expr = get_default_expr(f, nparent, fexpr)
             s += "if (%s) {\n" % default_expr
             s += "    json_object *%s = NULL;\n" % (sub_scope_object)
-            s += libxl_C_type_gen_jso(f.type, fexpr, "    ", nparent, sub_scope_object)
+            s += libxl_C_type_gen_jso(f.type, fexpr, "    ", nparent, sub_scope_object, depth)
             s += libxl_C_type_gen_jso_map_key(f, nparent, "    ", scope_object, sub_scope_object)
 
             s += "}\n"
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Fri Oct 17 05:53:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Oct 2025 05:53:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144884.1478082 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9dOX-00070o-78; Fri, 17 Oct 2025 05:52:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144884.1478082; Fri, 17 Oct 2025 05:52:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9dOX-00070h-4B; Fri, 17 Oct 2025 05:52:53 +0000
Received: by outflank-mailman (input) for mailman id 1144884;
 Fri, 17 Oct 2025 05:52:52 +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 <SRS0=k1Ob=42=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v9dOW-00070b-9W
 for xen-devel@lists.xenproject.org; Fri, 17 Oct 2025 05:52:52 +0000
Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com
 [2a00:1450:4864:20::32e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 83adea99-ab1d-11f0-980a-7dc792cee155;
 Fri, 17 Oct 2025 07:52:50 +0200 (CEST)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-47103b6058fso10860675e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 16 Oct 2025 22:52:50 -0700 (PDT)
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-426ce5833dcsm38253322f8f.19.2025.10.16.22.52.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 16 Oct 2025 22:52:49 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 83adea99-ab1d-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760680369; x=1761285169; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=NTetatIyzY9cEtxrSgAMjEmaS7y/8Tr6wbXzJx+Dhlo=;
        b=DrY1s0jD5Y8RoUBffpChFp8cCxkY5R9KIxtikt/Wr9ZG1J7vavzFCE+5ji8cRr07jX
         a3JbAy1gFREhF/o7x2EqLX0Bbcbh11g7MQnjAegcQL9b2MM1gSMVvaDQaQchBONPZhfK
         B02/5l2HqmipxX5ZDt7pEGa5cnxjZQnsjIuSlCUfMRzxzFxXFI4fXU7XGWQLGhbQkWiw
         ibgFRc/7Al5SQieOOtCuVBA+ZQ8WRGBfVgMJob8ZGrNP4HYp9F7QpgIvUi72V8vCjGbB
         xdY6N7kCbWTbrUGB6KF7ToW/LMgyI3fktZ6xPYOeez1rnV9GWI8la9x7EJ6fW8zRnCdZ
         AJ4Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760680369; x=1761285169;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=NTetatIyzY9cEtxrSgAMjEmaS7y/8Tr6wbXzJx+Dhlo=;
        b=XpR6YBpg3Dje0AwBeEWYGzbHDY4chYqhmziJrVTrlWtT6pvH0w8w7NYG++pz5P621z
         NWGrWZwbQFzZTqbS/Whfo+e1aL45zzSk363k2TlkbJDu7/S2zsWAJtDE4VXh2HqxqoE+
         IJQ3R0zaQhZzzhtikIbQhdMzXiFlKaGBe3E6anhqD9xO1KfnrLJog20hDU4WtLHTctpM
         GBFxpkY3xEgK1Reu5qR3629sBmeR8waoQAaRKqlDhf2GW0GalMyjLpnROPKsd8FwLLv4
         2C8rYFcaEcNCYX36wLybUplvMOPmLTH+IRHIyLk/BCZIbKybVAnPlnTzhi6/7ai6zA00
         kz4g==
X-Forwarded-Encrypted: i=1; AJvYcCW+sxz7cIhOIXktaJyLeUs13KKO2/+M7AESrgGXAaFreuSZ/QoylenCSCnOJUDGIefhj3HGJQzcImE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyJnKrxFUp5+vEAm0nbo5lDKfyJPeNlp8wodrmCr9RkbrXWbIWH
	q5VUF1Aug8EJbiP/g9yDWiiTyMY1T/pjU5nMebsR13hQmENGP0XnMqouRsDQjh0VhA==
X-Gm-Gg: ASbGncuLYG27pLBEcSX7zikZae+GIumc7lZOvl9dnY7nx0JNfBQSn27AyxkRI+JrQKX
	P5zFMydXxUFMKIS4jSIlWs6QWcVJTN++QmqccCxz7lazCn7FEKOGfx32+/W5bqc6zgSI7gPUD06
	Ub/xW2e3rgX8ZljnzDTz7v4wYVjL+RdYig1MMOIKIPGXEJGO7/GGNABtJnR1q8LE1hmu6guMBpn
	WB90PTBlNyotTgt6OmDSi+1FgBILJAGGUHlR3x7Cuel7Nf5k9yoWdQxmR+ouXdp488p7fiu/9hx
	mpcYCqALI65WqlPTL1rqNYYGcbpZL60jd7YIA7XSE14geMMOlY3y/TtAo76d4m/3AHuh6igrN90
	bSb0T9VfOH6OMeIniuWow0hSqYC/2GUEOEyZ+K6WU6OsMBsEVo4cWsL3N89B5CwkZea7Rzs7mny
	J74HaZ4r7ielydmWeOSUyz2f16clZQKdPFBbQuZM6plpNbQcZxqqu5iMwvMpXoZBY5Ao6tsVI=
X-Google-Smtp-Source: AGHT+IGMxz8kkh0Om07JgP7MPQ+oJZEvSlMhyft/C28h1hNcRK98uMbLfWvDkD/7M5Hgu08kuxuaQA==
X-Received: by 2002:a05:600c:8183:b0:45f:29eb:2148 with SMTP id 5b1f17b1804b1-4711724e5bcmr19362475e9.7.1760680369510;
        Thu, 16 Oct 2025 22:52:49 -0700 (PDT)
Message-ID: <a9c6e131-95a4-4ee2-8f2c-c6748d5adeb7@suse.com>
Date: Fri, 17 Oct 2025 07:52:47 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21] x86/ucode: Fix missing printk() newline in
 ucode_probe_amd()
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20251016232646.2688404-1-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251016232646.2688404-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 17.10.2025 01:26, Andrew Cooper wrote:
> Fixes: 630e8875ab36 ("x86/ucode: Perform extra SHA2 checks on AMD Fam17h/19h microcode")
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Acked-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Fri Oct 17 06:01:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Oct 2025 06:01:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144898.1478093 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9dWh-0000Lt-2k; Fri, 17 Oct 2025 06:01:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144898.1478093; Fri, 17 Oct 2025 06:01:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9dWg-0000Lm-W8; Fri, 17 Oct 2025 06:01:18 +0000
Received: by outflank-mailman (input) for mailman id 1144898;
 Fri, 17 Oct 2025 06:01:18 +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 <SRS0=k1Ob=42=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v9dWg-0000Lg-AM
 for xen-devel@lists.xenproject.org; Fri, 17 Oct 2025 06:01:18 +0000
Received: from mail-wr1-x436.google.com (mail-wr1-x436.google.com
 [2a00:1450:4864:20::436])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b181015d-ab1e-11f0-9d15-b5c5bf9af7f9;
 Fri, 17 Oct 2025 08:01:16 +0200 (CEST)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-3ee15b5435bso986144f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 16 Oct 2025 23:01:16 -0700 (PDT)
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-4711443ec3asm61555685e9.11.2025.10.16.23.01.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 16 Oct 2025 23:01:15 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b181015d-ab1e-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760680876; x=1761285676; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=QRom5Clpyvz754pKPW4KoNuDtywfd3FcZl6z+c84ySw=;
        b=Zdx5XiCdHte8DkFhAwwUN49g/J5tat+qNqFUHQA3Jps4KEkw2phiex7MRwvIzYWPZb
         nZ7h6gzOzEHj8aDhNOnstp9MpeduTHfZ4i3tgHsqDqJjhlcLf/D0dfCXRjRADoMaStsJ
         R/pCNTnH4zPy/sWvL8bkIQz0/voSqQ14BDOYwTMgldOM/r3NIoSF1iG+ToQaRtJB6813
         7W2XQJT7xdNM5kacyCeXLnORg/QMBPupokNBQsX0/U6sBjRXHHs0AG90vRrr/Q0SN4yJ
         NlJpBN0r6ITAZbEQAkbCFBWgv91TqCQwXz8lODMYlJcKUgDMhiKHpfPUBbP2xYhg8Y31
         D9QQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760680876; x=1761285676;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=QRom5Clpyvz754pKPW4KoNuDtywfd3FcZl6z+c84ySw=;
        b=W2Gxa7xJsefrxqIx9Jo7Lr+/vDfTJQXRhSETKKcqaYperw0KG7Nv9087Kmhq8OlmIB
         YtuDXeB41BRpxIZ6TXaHvztGzA+1F3+YVDPQ/lIDh2pYXOcMCKWER+bITmEOtnSVHXA+
         uh0xY3DJN4ZjcyIM4vVt1Ds48A4wnWkEVcmLnMcw3Q3xCANDDlPP8w+Foy9n15q4pOVd
         t2Erg/st8X/ET7HHQjHMpS/TkUSrcxByhjOZAJdqc1aX4DboHW0IgAmyf56QIE2fxPGh
         cEUxkoHNwzUChuvJEJ1n1RwSGP8Ubfsh3DGCy+d4LWQXumqPW3RNGljL30S/uFpdLCtN
         R+MQ==
X-Forwarded-Encrypted: i=1; AJvYcCUPALqRina+Hv+xt2wiUfzvI6nl2rUUKcjNA9BlMCMjMqLTvDhc49JoY8X2gaUfE+UvgTYmAAZqrQ0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwERWjIq2BOXiNCbGZNBaGY5z6uEqaVgQGEIJFZDRzjozqaQbXJ
	WnjF1EkpMFgGus8GYJ5ukg8dl3hPtuAwtTpnFm+FBU3PRe+4JbHG+5ea+/m5ooWF4A==
X-Gm-Gg: ASbGnctRVIen1Sc3PCSEJu9YcmAGXk/tCCM8bA1XhnNiReakGlAwoV+nfW7nOt/aaMR
	MMfk3nPtBmGtiOPq6lHVGkJoMu5bT+eXi0lH02sMRqDCMdr0pHKZVBa1U+Coy2Lf3UppK+wD3Wo
	djZaTl4S8eLF+wMTHhuhiSW2AT318q/POydMda3AGtL8EwdjYE1eQAag2hRgOn5hXFKp2s0JTeN
	S12gon1i60CRRNeN4oDl9pEHp13aD+K0tCLoC79vIxvAgXkq0fyjwcEOTBtvIBvO8gjcaOdsh4c
	xcAoBfxFi3rCs7fvhevRvegnaEGALi6gZHawimYZMiXVlWFJtynUxx6Qei9R8fSKkWyrgwEpz9g
	L1H113PqAawbgj/TWoWromOqYddWQBYBLnEIxPIkAlX3iJFSDw7i72WgIXPObCyZA5qoEDFzgUR
	t3SFT2uUWcAOVX1VhFdDQqStDcbdPtCv6E4LTs+JynvvmE6DZtjpZ7tVN4MD1z
X-Google-Smtp-Source: AGHT+IFSmAdEJB0B9pQxb1vsb32zi3ntmjINH7+LqB7tnIJ5dJbWN+Wkb1RSYGZ5sRHSN5SOryYH4A==
X-Received: by 2002:a05:6000:2089:b0:427:608:c660 with SMTP id ffacd0b85a97d-4270608c8b7mr850627f8f.59.1760680875874;
        Thu, 16 Oct 2025 23:01:15 -0700 (PDT)
Message-ID: <4367edfd-b3a9-4bfd-809e-fa7b23d127df@suse.com>
Date: Fri, 17 Oct 2025 08:01:13 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5] x86: make Viridian support optional
To: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>,
 Grygorii Strashko <grygorii_strashko@epam.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>,
 Alejandro Vallejo <alejandro.garciavallejo@amd.com>
References: <20250930125215.1087214-1-grygorii_strashko@epam.com>
 <aOzt8gfxkdQXZ6O1@Mac.lan> <e6972ea5-2139-4f4d-8d2c-2979fe2fad99@epam.com>
 <aO5gdh6C_uQoFHPH@Mac.lan> <afe544d3-575c-44e8-9068-8c79f69d6175@epam.com>
 <aO9UgQ3J27hVgGIa@Mac.lan> <06d540f0-38e6-46fd-b94d-58ac2797657f@epam.com>
 <aPFz3-RjsG-VGRLU@mail-itl>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <aPFz3-RjsG-VGRLU@mail-itl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 17.10.2025 00:38, Marek Marczykowski-GÃ³recki wrote:
> On Fri, Oct 17, 2025 at 12:40:33AM +0300, Grygorii Strashko wrote:
>> Another point, assume change like this is to be done for HVM_PARAM_VIRIDIAN
>> - there are another HVM_PARAM_x which depend on build-time disabled features, like:
>>  HVM_PARAM_VM86_TSS_SIZED
>>  HVM_PARAM_PAGING_RING_PFN,
>>  HVM_PARAM_MONITOR_RING_PFN,
>>  HVM_PARAM_SHARING_RING_PFN,
>>  HVM_PARAM_IDENT_PT
>>  ...
>>
>> if corresponding features are build-time disabled, above HVM_PARAM_x
>> become R/W with functionality NOP now.
> 
> Are you sure? For me it looks like setting build-time disabled feature
> returns -ENOSYS. Or do you mean some other interface than
> xc_hvm_param_set().

Where do you see that ENOSYS coming from? In fact, for example, I don't see any
of the *_RING_PFN even mentioned at all in hvm.c's parameter handling. Are you
perhaps thinking of only the HVM=n case, whereas I expect Grygorii talks about
the more fine-grained controls?

That said, whether to uniformly fail requests for params solely related to
build-time disabled features isn't quite clear. Arguably for e.g. paging and
sharing, setting the ring PFN can as well be silently ignored (no events ever
appearing), while failure would then be reported from other compiled-out logic.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Oct 17 06:03:02 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Oct 2025 06:03:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144905.1478104 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9dYL-0000ps-DY; Fri, 17 Oct 2025 06:03:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144905.1478104; Fri, 17 Oct 2025 06:03:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9dYL-0000pl-9p; Fri, 17 Oct 2025 06:03:01 +0000
Received: by outflank-mailman (input) for mailman id 1144905;
 Fri, 17 Oct 2025 06:03:00 +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 <SRS0=k1Ob=42=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v9dYK-0000pf-Fa
 for xen-devel@lists.xenproject.org; Fri, 17 Oct 2025 06:03:00 +0000
Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com
 [2a00:1450:4864:20::32b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id eef0ef86-ab1e-11f0-9d15-b5c5bf9af7f9;
 Fri, 17 Oct 2025 08:02:59 +0200 (CEST)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-4710683a644so13812815e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 16 Oct 2025 23:02:59 -0700 (PDT)
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-426ce5cfe69sm39786673f8f.32.2025.10.16.23.02.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 16 Oct 2025 23:02:58 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eef0ef86-ab1e-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760680979; x=1761285779; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=t67zSzfAu0Gji3B7q03ubjzI6iUfJomD9RQTTUi3Yog=;
        b=DgzHNH2opyfQZki0v5piueUezhm96ZsxNEZUIaxzeGhVnEBhvC/DRoC5DEys7fS64m
         gDoQ+UNb0v+cfBAJsGjmpJyMxayUjLg3iY4TZa8wQ4lkiC3r6wEa4Z/Au/rV+sZqLeBU
         iImnaXzyNfBSf4JnHqxnm3WbtuelE8WdgxJnq0f/xWQIQ37Jzx1+4UnQZ0P4ET+IGxDb
         H8XQwQzfH+gl8repgJYyuhtXObYrYwiErgF9osaTHipl5yk3aMuMEKuvhOEOvbb+WcyD
         qbToxGsn07cBrAyWm0fALVV0HNEj0OtOdnOXumFOH4jXMZ+KGUIvTsPFI6E7DEWzDV9g
         rYTQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760680979; x=1761285779;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=t67zSzfAu0Gji3B7q03ubjzI6iUfJomD9RQTTUi3Yog=;
        b=wc6vqL+lkUiS/07Bu0mnygNoEs1TiJVY4xVob/Jhd2tswVHt5jVuC+W438S+WwzxfV
         6yM5WunZ7saYC31pus6b+uPev652GPHrhbG2ZKd3FC2wxNusjfB0lfeuuzc9wJQ4vR0U
         oa0iRpPgI3cGELCaIDsCIVMLoJZ5aYU+JNr/ihRRxUCB3fWjsVJwLwW/KT6WPmwQzwtF
         00fhd+hKil97HkYYqo1CT9TFTzStsyaHcQxQElNQSckLRemjVYMiYkRScoHa0pjzGvVV
         aaRPpEP+XsO/h2Ek30O+3iSQy8qGKi8AOAYo6Mci8Dm227FpKB8qrkKipEa0iPWvOXyo
         23zA==
X-Forwarded-Encrypted: i=1; AJvYcCU8fqJT2zRfH22ewR/8dt1OSMJlxnrjpmrL/zgzQHRe+Og477XHBAddFY/cBbhE2VXMZZkfuNBbeh0=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx8QXyk8GRWKUgg8DN+tDKX8PYoOLpBCdkPoe5DGMX9PcW0n7/W
	f9JFnEei5UZ7SbPVpj3dAl2U9V3BBPPiVAg7JyRKbva3iEokoWTfHTUu4Sic8nwMNQ==
X-Gm-Gg: ASbGnctzsQMlSnuPgFVzeWsgCdbHEqcpH5/tGuC3p7EMUW6tuGhZ/4cOwQsB4RZ+bEI
	D8oR0inNtSa7eWDsa16F1BK/xk/aykYgpbRpBnHkn/ZGs5DiozrktcE456imO1905uzFCOXSHk3
	RmmUQkv98iyouth4x3/Rp+IGgFyDxaVISVrhqNg6AWN3BT1WH0DuHfVAZt/2sBlCltMjMTQ6cPP
	2HeqOObQguOYNVvRKU6rQOTYe2nN2DGdmHaoFeXZJkRv50iA0i3OO7Ae8vQvhm2INe2scfJw/n3
	o0zflbAoBwQpEKsue7p5iGx8eBi0R/M7AofCIykoxLeHb7Zn1ez+DXEowYmowo0XXV0RGxv/vE7
	D544sXfQuNeUfP5MA5Zfhz0FC/gfqtK3PNxISgINRoHo2f85gZUwZsX8mvoqojNpcxhpQpyvUjK
	He9mfu44mtO+Yi1dgMXBCHrEqW9jLjVwPGGdtdy5W4FTsB6iSYTRSTPG9Sv2XPgCNG1gsSZN4=
X-Google-Smtp-Source: AGHT+IHoevQVCqqnrdSfbW8W4rG7SxuaW0JokQu1K88y1Vc+hon+tgNTPKz2PRsdyu9zCcPZgq5NQA==
X-Received: by 2002:a05:600c:a69d:b0:46e:1b9d:ac6c with SMTP id 5b1f17b1804b1-47109b58b51mr28521785e9.17.1760680978985;
        Thu, 16 Oct 2025 23:02:58 -0700 (PDT)
Message-ID: <f0820190-0819-4227-b1a7-209b6f1f9e29@suse.com>
Date: Fri, 17 Oct 2025 08:02:57 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] tools/libxl: Make gentypes.py compatible with older
 Python
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: andrew.cooper3@citrix.com, anthony.perard@vates.tech, jgross@suse.com,
 oleksii.kurochko@gmail.com, xen-devel@lists.xenproject.org
References: <81c56c9c-882e-4433-b41a-6952315efa25@suse.com>
 <20251017020613.79855-1-jason.andryuk@amd.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251017020613.79855-1-jason.andryuk@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 17.10.2025 04:06, Jason Andryuk wrote:
> removeprefix is only added in Python 3.9.
> 
> Instead of the prefix removal, switch to passing in a "depth" parameter,
> and incrementing it for each level.
> 
> There is a slight change in the generated _libxl_types.c.  instances of
> KeyedUnion increment depth without outputing any code.  The net result
> is some cases where jso_sub_1 is followed by jso_sub_3.  As an example:
> 
> _libxl_types.c
> _libxl_types.c
> @@ -5535,12 +5535,12 @@
>                  if (!jso_sub_1)
>                      goto out;
>                  if (!libxl__string_is_default(&p->u.pty.path)) {
> -                    json_object *jso_sub_2 = NULL;
> -                    rc = libxl__string_gen_jso(&jso_sub_2, p->u.pty.path);
> +                    json_object *jso_sub_3 = NULL;
> +                    rc = libxl__string_gen_jso(&jso_sub_3, p->u.pty.path);
>                      if (rc)
>                          goto out;
> -                    if (json_object_object_add(jso_sub_1, "path", jso_sub_2)) {
> -                        json_object_put(jso_sub_2);
> +                    if (json_object_object_add(jso_sub_1, "path", jso_sub_3)) {
> +                        json_object_put(jso_sub_3);
>                          goto out;
>                      }
>                  }
> 
> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
> ---
> Here's an alternative approach to workaround removeprefix.

Fine with me; it's really Anthony's call. (He'll be back on Monday, aiui.)

Jan


From xen-devel-bounces@lists.xenproject.org Fri Oct 17 06:08:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Oct 2025 06:08:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144918.1478113 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9ddp-0001av-Vc; Fri, 17 Oct 2025 06:08:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144918.1478113; Fri, 17 Oct 2025 06:08:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9ddp-0001ao-Sq; Fri, 17 Oct 2025 06:08:41 +0000
Received: by outflank-mailman (input) for mailman id 1144918;
 Fri, 17 Oct 2025 06:08:40 +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 <SRS0=k1Ob=42=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v9ddo-0001ai-5q
 for xen-devel@lists.xenproject.org; Fri, 17 Oct 2025 06:08:40 +0000
Received: from mail-wm1-x331.google.com (mail-wm1-x331.google.com
 [2a00:1450:4864:20::331])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b893e3c3-ab1f-11f0-980a-7dc792cee155;
 Fri, 17 Oct 2025 08:08:37 +0200 (CEST)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-46e542196c7so17223055e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 16 Oct 2025 23:08:37 -0700 (PDT)
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-426ce5e1284sm38322048f8f.45.2025.10.16.23.08.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 16 Oct 2025 23:08:36 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b893e3c3-ab1f-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760681317; x=1761286117; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=DwIs3EJvRN2hDOHlhRIiZA6PhdJS+cxJ6LIJDnb5MUs=;
        b=BXtIsUcs+zMksSIhS/a96Qqf2kTvOuGBoWy00RsRmaGPIpUXFfgWmGqGylV+0OyBjW
         hoJb8rCMMotULOkLqDisFlXTG6WtBh8YrRkmjPFSQu0jUJgQLwkpYn6nJcx5XUDST/LJ
         beYlcf62acCAgNTi1U4joGiMYMEGhXAqGouV0/hgIsTa5L9EfFIE0FGT/BP3C5gHcG6c
         iwb8yggrnSzoyeI5XbkbPXuUs4FwJkrIZfU+fwANCFq6M7xbhDBLf6rj1D9u8HgM3b0c
         cdyMzCjelNFJpT96E5EVlNNQmoF+W1Wg9bA8IyxgwVY3sZSWt1j2vec4QxQFkxlkiruV
         S9Mg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760681317; x=1761286117;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=DwIs3EJvRN2hDOHlhRIiZA6PhdJS+cxJ6LIJDnb5MUs=;
        b=kJWA9EO36okfj1BnPI3aLUT12IG0iFWYEupJpYYPtQ3SXMwA02SiBDfpc1/BDLhw7T
         SZwpgXO/28YiNFn9TgG/wI81Ngs02m5DZBwd6sbRRc+nIrA16W/GnRK9HErCJsPXRMCG
         bZG/ynzJFi/yd3T1p8zxoS3kyskAl/3zPSIEGMl3uKT6lj5L4DPijLrcDYh82sBKWJWe
         ffO2hnIz03JQjuBFq1e2qSscoWP93Gij2MzrM3JfiKoj9ZQuWUgFrOU2P03DFcU5hOGm
         1myjrEyBpq5D5/Ur5Eoc2maA2wg8JA90oKbg6VF8ugl9ds+HhccOpdaloMESgBMfjAl8
         ZSOw==
X-Gm-Message-State: AOJu0YyHf/YmAn+S2Jbq5fCuPwx+mDPLN1Mlrz57nyn87kGAM9dyEhaC
	fonjV1cFjH+0saPBj7LHPg1n7tiK0Gda+fTk9YERdqBXluJUKx6ANVyOXMd91dpqLQ==
X-Gm-Gg: ASbGncvc8p51ra47rP7dekTOge8bQ8gMrsmFynw/m/4d5gMQFX5q98uqn3oIuixNb6k
	zzzX/lKB5ovbGXZ7tQoFN7FbvkbI861jTN8FNtAMs8p2zINyautExUoyfXd9HFHJbA/N2SuBlWo
	OTJPgrHJsY58/DgTz3+JJpIT4mtp06JkGJR8EdFAXmGYdrPSk4634ItAxOHzjvbJ1VXSyWE6uBw
	DOiXatFlFIrnTd/6uj4QCNaGE6DbbsyYUr2yHlyOGMK08hUqIXr8lGpquym6ATEj8105Sck7X+1
	djC6YNsw38HTwK08I1MT02RKzRlMguN7qGsPfWwDj9LU/qrVyMiiNCYgmm7xUI5YsoVE9Hv+eER
	ESwE37vSw9zZTRok3JVZlXbhB3c5tUPqz/DJVyNN1WN49yG5gExbZQOOF1qHmnWuNBsWbbKzZDK
	v4Nn+nSKAlcdXi7hPrnJZo4jlw2K7vO+vpksZq3vtWyo+ENvI0qb+2m1yM0gbLLRNL+QK/IsL0r
	n5CppklIA==
X-Google-Smtp-Source: AGHT+IE7T2aJ8un7c+YR6gubAFyTmLVMF7ogZlsoLBL0g/Wrejn6G3C/c8EPB22RYzZPzB8hKymS5A==
X-Received: by 2002:a05:6000:2308:b0:426:da92:d39d with SMTP id ffacd0b85a97d-42704beea3fmr1808078f8f.24.1760681317219;
        Thu, 16 Oct 2025 23:08:37 -0700 (PDT)
Message-ID: <d06d997e-78c0-4735-b1af-7a0a04badbd2@suse.com>
Date: Fri, 17 Oct 2025 08:08:35 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21 02/10] x86/HPET: disable unused channels
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <8d94abf8-70d1-478c-885e-ff9a960ac72d@suse.com>
 <8913e64b-d172-43f9-9c4d-447ba4984c9a@suse.com> <aPEd00xPCAc0hsr1@Mac.lan>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <aPEd00xPCAc0hsr1@Mac.lan>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 16.10.2025 18:31, Roger Pau MonnÃ© wrote:
> On Thu, Oct 16, 2025 at 09:31:42AM +0200, Jan Beulich wrote:
>> Keeping channels enabled when they're unused is only causing problems:
>> Extra interrupts harm performance, and extra nested interrupts could even
>> have caused worse problems.
>>
>> Note that no explicit "enable" is necessary - that's implicitly done by
>> set_channel_irq_affinity() once the channel goes into use again.
>>
>> Along with disabling the counter, also "clear" the channel's "next event",
>> for it to be properly written by whatever the next user is going to want
>> (possibly avoiding too early an IRQ).
>>
>> Further, along the same lines, don't enable channels early when starting
>> up an IRQ. This similarly should happen no earlier than from
>> set_channel_irq_affinity() (here: once a channel goes into use the very
>> first time). This eliminates a single instance of
>>
>> (XEN) [VT-D]INTR-REMAP: Request device [0000:00:1f.0] fault index 0
>> (XEN) [VT-D]INTR-REMAP: reason 25 - Blocked a compatibility format interrupt request
>>
>> during boot. (Why exactly there's only one instance, when we use multiple
>> counters and hence multiple IRQs, I can't tell. My understanding would be
>> that this was due to __hpet_setup_msi_irq() being called only after
>> request_irq() [and hence the .startup handler], yet that should have
>> affected all channels.)
>>
>> Fixes: 3ba523ff957c ("CPUIDLE: enable MSI capable HPET for timer broadcast")
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Reviewed-by: Roger Pau MonnÃ© <roger.pau@citrix.com>

Thanks, but I realized I want to make one further change here: I want to clear
the pointer when handing off the channel to another CPU while detaching. That
is the one point where we clearly know the affinity moves off of the CPU that
is recording the channel as least recently used one. Are you happy for me to
keep the R-b with that extra change?

>> ---
>> A window still remains for IRQs to be caused by stale comparator values:
>> hpet_attach_channel() is called ahead of reprogram_hpet_evt_channel().
>> Should we also write the comparator to "far into the future"?
> 
> I think we can possibly live with this to avoid doing an extra MMIO
> access?

I think we can; which one's more beneficial I simply don't know.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Oct 17 06:10:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Oct 2025 06:10:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144927.1478123 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9dfX-00033p-9c; Fri, 17 Oct 2025 06:10:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144927.1478123; Fri, 17 Oct 2025 06:10:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9dfX-00033i-6e; Fri, 17 Oct 2025 06:10:27 +0000
Received: by outflank-mailman (input) for mailman id 1144927;
 Fri, 17 Oct 2025 06:10:25 +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 <SRS0=k1Ob=42=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v9dfV-00033c-MY
 for xen-devel@lists.xenproject.org; Fri, 17 Oct 2025 06:10:25 +0000
Received: from mail-wm1-x32f.google.com (mail-wm1-x32f.google.com
 [2a00:1450:4864:20::32f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f80a246c-ab1f-11f0-9d15-b5c5bf9af7f9;
 Fri, 17 Oct 2025 08:10:24 +0200 (CEST)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-46e542196c7so17232075e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 16 Oct 2025 23:10:24 -0700 (PDT)
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-426f2f72e18sm17562923f8f.0.2025.10.16.23.10.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 16 Oct 2025 23:10:23 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f80a246c-ab1f-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760681424; x=1761286224; 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=l1KRy/FiQOq9kYAm0z3FGkek8LoZARoxCTbCcJGyDTU=;
        b=cwxwtvPmKkNO0KYSk+xiphGffeskYyO8sKKl8gWPi3LhXSjXRwSuYCh0H+xAejvzLj
         g+TwfkhALO6f0WTe32OUCup/xu3ssNn+23SwaK30Gr3YJ+pndSSs9Tkbe/JzzFxjDKDC
         MG7MSA92QF5Q+Chq73wJCPMoR0HtfXAXG9wZRy3qvp8BLDPjECw9Ic7huD3F8LyE3toD
         4Be49xjwJA/PRA/IqJ+hUi6kKayOesDmgnPGOovbpnbJaqjEqXyzfdwFx44JvoG/8Lsj
         VovJpf9eWycvirrKVkNQ87VRxjN4VxlKPLlv+ZgEDC4ZOMPGBP7GSHKQPu4Y2fCGvC6Y
         7gaA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760681424; x=1761286224;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=l1KRy/FiQOq9kYAm0z3FGkek8LoZARoxCTbCcJGyDTU=;
        b=iwML8AsAqbHF8LR7xtx3cX6iAW+Gh2WxI5Z+tYCrOIx0VdYOeLJ6MRruWywZtWwdOW
         L8/TDG5xgFR69ixJjT49sOyiI1hD0RFnRyjmjoyoh7xFSSsz8SzOEdPDdEItvLEv2RIT
         ozTSpXf4C1QKLiFIsiRFYCslk5/LAtfmxgwvjNLb+tpWDH+CFb+RIelMoLINm4Z0bLKL
         6T8Zc3qCQ03Z8vsvu6s+3zaqweyvZg2TnVjYCQgNILSG6NmV6G8Ut6qqovjWERI1+tGo
         niu9kDiyLWDuAoYBDZUv/oxhmOk49oEZyqdMOTpNi9GGbwOxUqLzhlqmSWLwp+vk7xnq
         NqEw==
X-Gm-Message-State: AOJu0YwcIhVYH4FWxff3ReG4dFEcoBFgz4oDxSkrS1YZNtQe18a0VsMH
	g18zTCpzFLhxat+7OG7nWppLq8FNcVIhRI7XgE7l2juq2yNd9Z6/E0AJbSXnW3KVsF7dk+MdTvT
	XA9o=
X-Gm-Gg: ASbGncs81JYVtA5ezpOwWJKjyDVDJE5UKix1OHAzCmyJOqI8hkYtrWreM4sdF3mB9gJ
	TpAjSk7CZ9c7g44cNIIYa5Wr0NQOiAkPaRwxg4wxEbgm9BUliOMCbZEGlTagtBRJp5JtL9e/tvo
	L6lM1r74v+8NUAUL6NxbvDk9QD4/9nlZQ0ldk5rRF1yloQYTe7jL14dUqAfvVhNqjoyHr0WAp3B
	Jy9wv1/ve12HdXrumHbcNsQ1fGPdk/R1ScKodcPH9cPxmB791Rv9vJ/dq0U4P1vXnuncJP5hJJ7
	HPLRsWxNY7jU5Pkg7lDA0meAPmAk81E2FSn0/5FYuV9uFoGWWTILzHM4KRpPcyc64lYJe4zkbSa
	g9BxsCQRfHBdRnjPU5y0mzq5/eZXZg9ISe/Z0nFzZvfpcD5QzhyE/EhaRKan5rdctucTz+PmLH/
	oO2j7KHxG73fq2ZnRybWxGLHWb26lVfaFWWoQ3oBh+JzP9aah0PQMz9Jwk/Sae
X-Google-Smtp-Source: AGHT+IHa4DBJ0LEifxbbmN8SaaxHMPObtP8HGBDA7MBckosYd6Zc/nLPCPZ3ZlLqLe57NbMb/sIApA==
X-Received: by 2002:a05:6000:144e:b0:426:fb63:c01f with SMTP id ffacd0b85a97d-42704bf71ecmr1867957f8f.29.1760681423799;
        Thu, 16 Oct 2025 23:10:23 -0700 (PDT)
Message-ID: <94bfd5a7-6a39-4a83-a545-6be73b44e4c3@suse.com>
Date: Fri, 17 Oct 2025 08:10:22 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21 02/10] x86/HPET: disable unused channels
From: Jan Beulich <jbeulich@suse.com>
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <8d94abf8-70d1-478c-885e-ff9a960ac72d@suse.com>
 <8913e64b-d172-43f9-9c4d-447ba4984c9a@suse.com> <aPEd00xPCAc0hsr1@Mac.lan>
 <d06d997e-78c0-4735-b1af-7a0a04badbd2@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: <d06d997e-78c0-4735-b1af-7a0a04badbd2@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 17.10.2025 08:08, Jan Beulich wrote:
> On 16.10.2025 18:31, Roger Pau MonnÃ© wrote:
>> On Thu, Oct 16, 2025 at 09:31:42AM +0200, Jan Beulich wrote:
>>> Keeping channels enabled when they're unused is only causing problems:
>>> Extra interrupts harm performance, and extra nested interrupts could even
>>> have caused worse problems.
>>>
>>> Note that no explicit "enable" is necessary - that's implicitly done by
>>> set_channel_irq_affinity() once the channel goes into use again.
>>>
>>> Along with disabling the counter, also "clear" the channel's "next event",
>>> for it to be properly written by whatever the next user is going to want
>>> (possibly avoiding too early an IRQ).
>>>
>>> Further, along the same lines, don't enable channels early when starting
>>> up an IRQ. This similarly should happen no earlier than from
>>> set_channel_irq_affinity() (here: once a channel goes into use the very
>>> first time). This eliminates a single instance of
>>>
>>> (XEN) [VT-D]INTR-REMAP: Request device [0000:00:1f.0] fault index 0
>>> (XEN) [VT-D]INTR-REMAP: reason 25 - Blocked a compatibility format interrupt request
>>>
>>> during boot. (Why exactly there's only one instance, when we use multiple
>>> counters and hence multiple IRQs, I can't tell. My understanding would be
>>> that this was due to __hpet_setup_msi_irq() being called only after
>>> request_irq() [and hence the .startup handler], yet that should have
>>> affected all channels.)
>>>
>>> Fixes: 3ba523ff957c ("CPUIDLE: enable MSI capable HPET for timer broadcast")
>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>
>> Reviewed-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
> 
> Thanks, but I realized I want to make one further change here: I want to clear
> the pointer when handing off the channel to another CPU while detaching. That
> is the one point where we clearly know the affinity moves off of the CPU that
> is recording the channel as least recently used one. Are you happy for me to
> keep the R-b with that extra change?

Oh, that was wrong here. That's a change I'm meaning to make to patch 1.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Oct 17 06:24:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Oct 2025 06:24:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144947.1478133 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9dsf-0004xb-B0; Fri, 17 Oct 2025 06:24:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144947.1478133; Fri, 17 Oct 2025 06:24:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9dsf-0004xU-8R; Fri, 17 Oct 2025 06:24:01 +0000
Received: by outflank-mailman (input) for mailman id 1144947;
 Fri, 17 Oct 2025 06:24:01 +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 <SRS0=k1Ob=42=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v9dse-0004xN-Vt
 for xen-devel@lists.xenproject.org; Fri, 17 Oct 2025 06:24:00 +0000
Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com
 [2a00:1450:4864:20::42e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dd66c9c1-ab21-11f0-980a-7dc792cee155;
 Fri, 17 Oct 2025 08:23:58 +0200 (CEST)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-3ee64bc6b85so1403231f8f.3
 for <xen-devel@lists.xenproject.org>; Thu, 16 Oct 2025 23:23:58 -0700 (PDT)
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-426fc54b32dsm9285789f8f.30.2025.10.16.23.23.57
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 16 Oct 2025 23:23:57 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dd66c9c1-ab21-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760682238; x=1761287038; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=89hCIi5dsMDnTwjBm1BqkAEpIOXlh1NBwRjMATfpyWE=;
        b=daZBPI8bQFmKLabRE/J1CQ3zmAPYcZQAD6soARXZSDJ5KXuK3M5UZT0Y9pY9xrXiNB
         ftl+y/6j2WgC9QTOvG0crTx4OECAk+ey24cc9e/Mumx1L7f9SwkjbE9H1SHsmwk3Y+D1
         jBPkfy1GtqBn3v0APwoUm2+ja+pmjg2gWtUYEerC/CuSPUtvQZinf3UaMrEOIOu2PYcm
         Gi6R+2Xzc223Nx0ulnQ5pGHbF1S69L5Zt3cpOfqdkOPMNMyxTXuLyMZ5DRB6QogxNvV/
         9ZfahbIOVnsmjCU6+I7dmIHn0wfCQ0Me8PJ8SXvpWGViwoNCDoL/GeyvEyxv6A753k04
         9cvw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760682238; x=1761287038;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=89hCIi5dsMDnTwjBm1BqkAEpIOXlh1NBwRjMATfpyWE=;
        b=AK0r6xBiNpA+XofUpSCHDh0n7Sj+XRsPD28r48Pxo4HH/guRXBetG8zkt+lavUbGxf
         KFGXr+eXQtT2x7228C9fhZDM49zrLLhyO4S95ZZVIMHrJyo5Z6AD7J77JmXRVfWqYx5Y
         ZISFnyoKa/LDW6euigX4MQZ+aE7P6uXd2p0r81RNs5PZYGRZKLQlUX4Qhnz1t9pViK0d
         o8NPfSymAsLAyTB5wTKcmfes7zhb8lnpQGLznYpgc2oDOICCW2DcDiLJA2TLJg4HalgO
         Egy1F7LsajpqTRbpqz1ByZFxBvUbBdC0a3a9rZFTYgWrBxT/AfTeU92QkPdm+JyvF/zM
         c13w==
X-Forwarded-Encrypted: i=1; AJvYcCWqtLWEyfqSFpmikqDNtVHzf9DMcmZz8e5GEAgrPWfAXeWKN7gu66Ixv9dVqqnEB+xQitJYiKq8obw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwxS91KoVf5DhoX6Q+NKwlZkfHTTPBg+fx6tHGsF4qsUsxuicf0
	0T7RDnApNDnsy2FT/B0CxEciUPS5Yx8p6zw/EFaQUyyqEeaKQtaH6ad7+WDhKn8gOQ==
X-Gm-Gg: ASbGncsnwTp5Meraw+z4FoiCeEBH/BHsDUuH62Vs2+WFhr7CUKsUHPQX8blVcjXvlrx
	4P11lgHd4cQKEn6bp97/oinkexpJe88uiM+4XVKW2PcKPtMtXonEUmOWE6hD4QoFCDG2KYW5z8n
	+WTE8qrH27yYC8bkJPCDD07F0EdDywBiApnWzfF8414YA9xLq5vJoCODR5zzOUyE2Ys5V9dMpje
	bjP3Y4HwBbtDDcR2FO471Ms97GK1eArplr6TaWVvARtf1qBXLGhdrSp1hbuKlHcyE1XsB8W+Y/s
	WWnik8Rokor/n3Ito1UP50wMRjzpINJ4VmsnxaXezIiQUbYt99abmpfgh5FNbSTSrqbj8ZAoCOn
	HXteR/qIuwuD547nmOlJERzR+vGODHg2hN7tZYPgltbhkVcOMzURVKSw4Y8oOd6+fhjpgroyPvd
	FOEq9O4p5QQYbPnZGJLDpx5LscdOAJPPC66DXUd4bFg6kJHaEc1V98ZWU5j5dZTiq8O13dHunX5
	9DAtBZ6cg==
X-Google-Smtp-Source: AGHT+IEqOQf8zZL8g13a/t7tQnV5O7w1RuICTNzFn5p7aeDyLMUIGwiWjtu4VkZ/Xm4eZAZuaTecDQ==
X-Received: by 2002:a05:6000:2dc1:b0:414:6fe6:8fbd with SMTP id ffacd0b85a97d-42704dc4a3emr1740966f8f.54.1760682238038;
        Thu, 16 Oct 2025 23:23:58 -0700 (PDT)
Message-ID: <1d991549-b25e-49a9-bfac-f5463819807e@suse.com>
Date: Fri, 17 Oct 2025 08:23:56 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21 03/10] x86/HPET: use single, global, low-priority
 vector for broadcast IRQ
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <8d94abf8-70d1-478c-885e-ff9a960ac72d@suse.com>
 <64d52793-be70-4ae8-9bae-ad88f6379395@suse.com>
 <d4b8ebac-fdb4-48fc-8ff1-d16492d440d2@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <d4b8ebac-fdb4-48fc-8ff1-d16492d440d2@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 16.10.2025 19:01, Andrew Cooper wrote:
> On 16/10/2025 8:32 am, Jan Beulich wrote:
>> Using dynamically allocated / maintained vectors has several downsides:
>> - possible nesting of IRQs due to the effects of IRQ migration,
>> - reduction of vectors available for devices,
>> - IRQs not moving as intended if there's shortage of vectors,
>> - higher runtime overhead.
>>
>> As the vector also doesn't need to be of any priority (first and foremost
>> it really shouldn't be of higher or same priority as the timer IRQ, as
>> that raises TIMER_SOFTIRQ anyway), avoid any "ordinary" vectors altogther
>> and use a vector from the 0x10...0x1f exception vector space. Exception vs
>> interrupt can easily be distinguished by checking for the presence of an
>> error code.
>>
>> Fixes: 996576b965cc ("xen: allow up to 16383 cpus")
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> This is so cunning that it took me a while to figure out how this even
> functioned, given no apparent change to TPR.

Yeah, the TPR part took me a while to figure out. I was scratching my head
as to why I wasn't seeing any interrupts, until I figured I need to make
that adjustment to FIRST_IRQ_VECTOR.

> Having this behaviour under FRED is easy.Â  In fact, allowing the use of
> vectors 0x10-0x1f under FRED is one "extra" I haven't gotten around to
> doing yet.

Ah yes.

> But, the problem it introduces under IDT is that for all the other
> reserved exceptions, we'll panic if we see them.Â  That was the point of
> setting TPR to 0x10 originally.

Which would be a clear indication of something being wrong, rather than
things misbehaving (likely) entirely silently. So more of a benefit than
a downside?

Of course, if we were afraid of other vectors getting signaled, other
entry points may need amending similarly to what I do to entry_AC(). It
then isn't quite clear to me what, if anything, to do to entry points of
exceptions coming without error code.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Oct 17 06:51:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Oct 2025 06:51:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144957.1478142 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9eJB-0000a1-Cl; Fri, 17 Oct 2025 06:51:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144957.1478142; Fri, 17 Oct 2025 06:51:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9eJB-0000Zu-A9; Fri, 17 Oct 2025 06:51:25 +0000
Received: by outflank-mailman (input) for mailman id 1144957;
 Fri, 17 Oct 2025 06:51:24 +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
 <SRS0=LK2+=42=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1v9eJ9-0000Zo-UA
 for xen-devel@lists.xenproject.org; Fri, 17 Oct 2025 06:51:24 +0000
Received: from fout-b8-smtp.messagingengine.com
 (fout-b8-smtp.messagingengine.com [202.12.124.151])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id af41e95a-ab25-11f0-980a-7dc792cee155;
 Fri, 17 Oct 2025 08:51:20 +0200 (CEST)
Received: from phl-compute-02.internal (phl-compute-02.internal [10.202.2.42])
 by mailfout.stl.internal (Postfix) with ESMTP id 72E1C1D000B4;
 Fri, 17 Oct 2025 02:51:18 -0400 (EDT)
Received: from phl-mailfrontend-02 ([10.202.2.163])
 by phl-compute-02.internal (MEProxy); Fri, 17 Oct 2025 02:51:18 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 17 Oct 2025 02:51:15 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: af41e95a-ab25-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:content-type:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:subject:subject:to:to; s=fm2; t=1760683878;
	 x=1760770278; bh=ddY17ElrfriO5ATh3tPlnDDN5jXZ845Y89qh6whqTns=; b=
	T2nnZr0yUfCkuDUVLG9lqFnS8QbXt6ZnLVCxG8plJKnHsEtUvdVyuzyo7X/PQpVO
	pxWZrjZWU9KDzKT9CjAbi5s86ZvIPrwms/bm36Rhhqudml1OmcmKXPoslsOWiDUS
	n3rMiT9roC0BpohPQ252gCw2sFhFfZU3iYl4mhMGWqX+fysDHnQgAgoQV3x1NbAl
	zDdmwdkSjoZhhZh5jJccenzlYvusdNSigS/u7tU2i1BEOAyzyP75EcW1/UGrgQBS
	iCh7P+qc9NHJ7RlZqbDR6w7rNy2mE+UioZOq61tF55Dj5oMvvvkEUhKK4dPb5T2V
	ApgmGmBF62Le0xYNB7X84g==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:content-type:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:subject:subject:to
	:to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=
	1760683878; x=1760770278; bh=ddY17ElrfriO5ATh3tPlnDDN5jXZ845Y89q
	h6whqTns=; b=H+HHxs3d8uRNhqrS/ld7EvTG2euRWgiCJSmSeasCOlosMNqgCZw
	AwlTpA5mjPZMApx2V4bxeH7KNorhRNPd/HxksW0Tz9+50FcT093sccBDGshaoFrk
	pAksKkE3LdAPtvQIaRtOsgfo70tGmtP4/h0MHlXJ3Z+TOSt+OE76iG0LIFXSEpJg
	rI1EpaUv1Q4l6rJtPnpN9ht2f33/+qkF931I1l1vz8cs/P+qW5coemjeKsKmx+Ao
	zw+ewQB6aah6Ab3y0LUvjIfhwga7J6S5RrsBG7jeWQR6wxIEURWK9aTVISTyjrQM
	MjLIT7eySamm9maJiq1pcshDBoBBJhD2SSg==
X-ME-Sender: <xms:ZefxaK_ucMCor2A2pY_JvWsfUpZsiGLCWEkwmzhe97vTAUxG1EcqUA>
    <xme:ZefxaJzVQ8Au5fx48EUzhp4itrgtEl5jFoi-0rWzThNInhPAzUViYMA3RCObI-2tc
    mGVBrB47AwRtvvr-FxvwTidzQ4xUZdxio57RFgxDX1vxkzpsIo>
X-ME-Received: <xmr:ZefxaGPZKJZYSK4df1xdYGe8p7jqvlaZDiuazq4-mP5SGEAFBtk0AjHpxQ>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdeggdduvdekgeelucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu
    rghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujf
    gurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgvkhcu
    ofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinhhvih
    hsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepgfduleet
    feevhfefheeiteeliefhjefhleduveetteekveettddvgeeuteefjedunecuvehluhhsth
    gvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghksehi
    nhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomhdpnhgspghrtghpthhtohepkedpmh
    houggvpehsmhhtphhouhhtpdhrtghpthhtohepjhgsvghulhhitghhsehsuhhsvgdrtgho
    mhdprhgtphhtthhopehgrhihghhorhhiihgpshhtrhgrshhhkhhosegvphgrmhdrtghomh
    dprhgtphhtthhopehrohhgvghrrdhprghusegtihhtrhhigidrtghomhdprhgtphhtthho
    peigvghnqdguvghvvghlsehlihhsthhsrdigvghnphhrohhjvggtthdrohhrghdprhgtph
    htthhopehsvghrghhihigpkhhisghrihhksegvphgrmhdrtghomhdprhgtphhtthhopegr
    nhgurhgvfidrtghoohhpvghrfeestghithhrihigrdgtohhmpdhrtghpthhtohepphgruh
    hlseigvghnrdhorhhgpdhrtghpthhtoheprghlvghjrghnughrohdrghgrrhgtihgrvhgr
    lhhlvghjohesrghmugdrtghomh
X-ME-Proxy: <xmx:ZefxaO-e4FjMYKhVSBWJIeuPM1JCH40GvuS8ch4oB8bPXWhx7jrmIg>
    <xmx:ZefxaD70AJWgYNpFtFWcfNTx5JlwqaGtTJxSOMLF_6rak906OxM1mw>
    <xmx:ZefxaE6wtxrJINNUYXoHP2uXryFDW8TZ0lKdK5AJ9FxDHngDhMVZlg>
    <xmx:ZefxaMp1RxeWlmlA8KPE7_SkQs0VdcjX7nwsRyrHA0nkms6NX_VgUw>
    <xmx:ZufxaFAias83FCgJ5W7izLU3nEZAOjeqqlZBt3N4rUOdI5ZwHv7sriT3>
Feedback-ID: i1568416f:Fastmail
Date: Fri, 17 Oct 2025 08:51:12 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Grygorii Strashko <grygorii_strashko@epam.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Alejandro Vallejo <alejandro.garciavallejo@amd.com>
Subject: Re: [PATCH v5] x86: make Viridian support optional
Message-ID: <aPHnYNlzwjF7m6Bq@mail-itl>
References: <20250930125215.1087214-1-grygorii_strashko@epam.com>
 <aOzt8gfxkdQXZ6O1@Mac.lan>
 <e6972ea5-2139-4f4d-8d2c-2979fe2fad99@epam.com>
 <aO5gdh6C_uQoFHPH@Mac.lan>
 <afe544d3-575c-44e8-9068-8c79f69d6175@epam.com>
 <aO9UgQ3J27hVgGIa@Mac.lan>
 <06d540f0-38e6-46fd-b94d-58ac2797657f@epam.com>
 <aPFz3-RjsG-VGRLU@mail-itl>
 <4367edfd-b3a9-4bfd-809e-fa7b23d127df@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="29zItwLIBKZXLJjS"
Content-Disposition: inline
In-Reply-To: <4367edfd-b3a9-4bfd-809e-fa7b23d127df@suse.com>


--29zItwLIBKZXLJjS
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Fri, 17 Oct 2025 08:51:12 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Grygorii Strashko <grygorii_strashko@epam.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Alejandro Vallejo <alejandro.garciavallejo@amd.com>
Subject: Re: [PATCH v5] x86: make Viridian support optional

On Fri, Oct 17, 2025 at 08:01:13AM +0200, Jan Beulich wrote:
> On 17.10.2025 00:38, Marek Marczykowski-G=C3=B3recki wrote:
> > On Fri, Oct 17, 2025 at 12:40:33AM +0300, Grygorii Strashko wrote:
> >> Another point, assume change like this is to be done for HVM_PARAM_VIR=
IDIAN
> >> - there are another HVM_PARAM_x which depend on build-time disabled fe=
atures, like:
> >>  HVM_PARAM_VM86_TSS_SIZED
> >>  HVM_PARAM_PAGING_RING_PFN,
> >>  HVM_PARAM_MONITOR_RING_PFN,
> >>  HVM_PARAM_SHARING_RING_PFN,
> >>  HVM_PARAM_IDENT_PT
> >>  ...
> >>
> >> if corresponding features are build-time disabled, above HVM_PARAM_x
> >> become R/W with functionality NOP now.
> >=20
> > Are you sure? For me it looks like setting build-time disabled feature
> > returns -ENOSYS. Or do you mean some other interface than
> > xc_hvm_param_set().
>=20
> Where do you see that ENOSYS coming from? In fact, for example, I don't s=
ee any
> of the *_RING_PFN even mentioned at all in hvm.c's parameter handling. Ar=
e you
> perhaps thinking of only the HVM=3Dn case, whereas I expect Grygorii talk=
s about
> the more fine-grained controls?

Oh, sorry, I looked at XEN_DOMCTL_vm_event_op -> vm_event_domctl()...

> That said, whether to uniformly fail requests for params solely related to
> build-time disabled features isn't quite clear. Arguably for e.g. paging =
and
> sharing, setting the ring PFN can as well be silently ignored (no events =
ever
> appearing), while failure would then be reported from other compiled-out =
logic.
>=20
> Jan

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--29zItwLIBKZXLJjS
Content-Type: application/pgp-signature; name=signature.asc

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmjx52AACgkQ24/THMrX
1yx+sAf/WaPtMLIjCWuYrtxXqAyma6vvUQ88HMCEcPcIG9nHctlhnyyPM/DT2FVU
SCS4EuyCqkONQVrLn/1KvVtJd7n+32JEWUATJKKl4e6iFFLqKd5RRmgTP4RxkQ2u
CPdTo+FWUyrYQZ+g43KN9wSa312+TRsn0PHuxLDwPRvblT0khEJE+wPVhD2mSfEs
v8Mzz/x8RWjKqM/Z0DUktvG1PR8Q4mRT8LDDARzaVilC2pY0UjaYuZtRo8qT9QDY
/puUS4rjhjonGJBu68kNySWx86s86vAGunE4yJIWo6E5wQ6JIhCGb2swy8Pa2VZF
ok0QYMvxiWd+TMOjriWtYL2Kb0nlGA==
=q0Rr
-----END PGP SIGNATURE-----

--29zItwLIBKZXLJjS--


From xen-devel-bounces@lists.xenproject.org Fri Oct 17 07:09:18 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Oct 2025 07:09:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144976.1478152 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9eaI-0002VH-Q8; Fri, 17 Oct 2025 07:09:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144976.1478152; Fri, 17 Oct 2025 07:09:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9eaI-0002VA-Ne; Fri, 17 Oct 2025 07:09:06 +0000
Received: by outflank-mailman (input) for mailman id 1144976;
 Fri, 17 Oct 2025 07:09:05 +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
 <SRS0=YhSQ=42=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1v9eaH-0002V4-4k
 for xen-devel@lists.xenproject.org; Fri, 17 Oct 2025 07:09:05 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2963c389-ab28-11f0-9d15-b5c5bf9af7f9;
 Fri, 17 Oct 2025 09:09:03 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 (Authenticated sender: nicola)
 by support.bugseng.com (Postfix) with ESMTPA id 188044EEBC5F;
 Fri, 17 Oct 2025 09:09:02 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2963c389-ab28-11f0-9d15-b5c5bf9af7f9
Authentication-Results: bugseng.com; arc=none smtp.remote-ip=162.55.131.47
ARC-Seal: i=1; d=bugseng.com; s=openarc; a=rsa-sha256; cv=none; t=1760684942;
	b=rukfvWtCQPfyuqglTgiLPcowOTzCmRi5mRfjpVOEnwOAGNbhn+PsOEgybjj++AzKI4kP
	 h+vUGVPMQc+Dn1V05VqWddD+XIgIUQisgh+5vIfA8G1gbxctU/ng76B1DP3LqQB8iRNkJ
	 Z8UnwiCbTiXaqAn0p3EOoiJ2EbhyRs7V1vQACk0bVsMX6ZWXS9TU0iPmyfA2ztzaqAbwY
	 R/+uUJDQP5Nxc7lSKON0+8+mdUXgZj1B81VJjJdc8TIZDmUTBfkkSIZuVaa3VjkqjNTag
	 USS3uYIzlbppekgiO4AzjUIrqjWRcoVaCs/Vx6/Ee8APgRXUKUbxDkkPTRGuh5m/t5zuZ
	 XbDdzlT0//DrjzXtXudftOCcYaPVMdgThAjH/kAQL/JsZslRriUUi2FFV0nRvOj9LvKbG
	 sFxoQ5K1Z0xkfctV6J4ccEG0p5SMd42DtdYgg+SSVq024kapmFiEBd1zmz+euSCCVEnAo
	 29sgmXC+PiYEImVRFDpb/YDjFdHbR4sOYrO4BOE/iP5PoQ+e0r2NWgG4wrnHDXPWP0haG
	 uHQw+NkK4k79WmzbKcKUcToQ94igC/Zf0AsKUfqvzU4CiZq5+nzRD+lpqbSzRqKsZj2WY
	 mLIbX9qZfpDMDCAY7XODUaBfXpjiLuxYIndADUOeSSe4NK/a905NlHiAZYKyxwQ=
ARC-Message-Signature: i=1; d=bugseng.com; s=openarc; a=rsa-sha256;
	c=relaxed/relaxed; t=1760684942;
	h=DKIM-Signature:MIME-Version:Date:From:To:Cc:Subject:In-Reply-To:
	 References:Message-ID:X-Sender:Organization:Content-Type:
	 Content-Transfer-Encoding;
	bh=uOLU68QL+B1cd2TjzJ1O64c9poVxHBQFTgYc+mgv57E=;
	b=R1x3hh/ggebYXYorO/sECJfl9yT0knAOiEzkVSvV5lfH09a5hfRhLXU+Oo5AJpFuOK+K
	 zqWx7QwI/OUpBm+/M3bkQE3bcssazdnaDPS4TJU9Q0tHDlAa8qTFaJk+MSkfg/u/J3OIe
	 pVEABSkG64u65WNxEmovfh5gj2h1JS7r7q3NReL8oIZcjMsFmabwehzgyHiUj/KJZS+UR
	 rfdVc2oyklavtjd/G1OXbr2S9yU2iNN03Uo8cxne7R19MU4poboTq6iv2EaF8AUomATcW
	 4w17UoX2O61Jzu5C/QJSnKqT4JbrvzH02Lj9J8eYAGVgvqsLbpfuGXC0DHXShlt+g99L1
	 RrCi7KFg4PZ7KvJj6TeaEU6mMfmukzVsXS7Loaz7i5MdHs8U0nGz5zlFWh3eWaVH3RBeD
	 t0RIyIlf7lSDIn/f4xEh9x7LD7tohMYoIhluKPK4IkNGSCpzHgGDj346rN4c7t6pkpePU
	 NoHOYzDCWrp90XIIcxp4aQDl5/yVcvC4oAfF3krwvyDgDgmE10hJfdi5od9nmFxe2VqSE
	 ezu/9lfrPkCXwLUESxbC4NhGSKhi7Wy5AIf+ZjH+1crEppte0abrxLgET1F0StQQ6IGIn
	 zgxMg7j7Iyvet/p6wwQ9mOeP9HRuj3CE9HkfxREW1yUGHcJymPsU/pjxXbOM2bA=
ARC-Authentication-Results: i=1; bugseng.com; arc=none smtp.remote-ip=162.55.131.47
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1760684942; bh=SelCThbNPkQ+ztePm1/4P6CBVR+deXT/K2b2yEXDICA=;
	h=Date:From:To:Cc:Subject:In-Reply-To:References:From;
	b=RAUjRC4e9p5x4wbGuj6D2zdgWMh5d3XeMkoa+ash3QzwuGsSQFC315ELLYZVMfMtY
	 Tv1Tcc7U0UC1X+0YpSf/73IX52Mo6AV5+a5X3p/xW9plTQ+MO7O49i8DhByyuis7VG
	 gp5x0/IDiY8WDq68ONGRPmhLaiGCUUpzFtVzEE6jLmUs6Oi5BScbnE+nB8gIeL+KWZ
	 CSbd+q8KHukKdYq+zat7kxRU2/dGKKymEpRDl33NJaeL6BcYZoegOwGeBU6HFSSKja
	 D3SoAk2WWd5lnOcVhrBTlKO24WLa5Sx8rrPJu42wiZHuFqQFyusjUtugSO0+0ei9Yy
	 jDiggBJau/arw==
MIME-Version: 1.0
Date: Fri, 17 Oct 2025 09:09:02 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>, Doug Goldstein
 <cardoe@cardoe.com>, Stefano Stabellini <sstabellini@kernel.org>, Andrew
 Cooper <andrew.cooper3@citrix.com>, Anthony PERARD
 <anthony.perard@vates.tech>, Michal Orzel <michal.orzel@amd.com>, Julien
 Grall <julien@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3] misra: consider conversion from UL or (void*) to
 function pointer as safe
In-Reply-To: <ceedeefa-c506-41ca-9dfc-76937979caa9@suse.com>
References: <0e72c83102668dfa6f14c4e8f9839b4a73d30b3d.1760458094.git.dmytro_prokopchuk1@epam.com>
 <ceedeefa-c506-41ca-9dfc-76937979caa9@suse.com>
Message-ID: <321363444f9a3d3471bf1b3b2e020047@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2025-10-15 08:20, Jan Beulich wrote:
> On 14.10.2025 18:16, Dmytro Prokopchuk1 wrote:
>> --- a/xen/common/version.c
>> +++ b/xen/common/version.c
>> @@ -217,6 +217,20 @@ void __init xen_build_init(void)
>>  #endif /* CONFIG_X86 */
>>  }
>>  #endif /* BUILD_ID */
>> +
>> +#if defined(__i386__) || defined(__x86_64__) || defined(__arm__) || 
>> defined(__aarch64__)
> 
> Why __i386__? Also (nit): Line too long.
> 
> And why this restriction without any comment here or ...
> 
>> +static void __init __maybe_unused build_assertions(void)
>> +{
>> +    /*
>> +     * To confirm conversion compatibility between unsigned long, 
>> (void *)
>> +     * and function pointers for X86 and ARM architectures only.
> 
> ... explanation here? More generally - how would people know to update
> the condition if another port was to be certified?
> 
> Finally, with the v3 addition here, is Nicola's R-b really still 
> applicable?
> 

I agree with the point you make about i386 (e.g., 
C-language-toolchain.rst may be mentioned to provide some context about 
the preprocessor guard); that said, my R-by can be retained

> Jan
> 
>> +     */
>> +
>> +    BUILD_BUG_ON(sizeof(unsigned long) != sizeof(void (*)(void)));
>> +    BUILD_BUG_ON(sizeof(void *) != sizeof(void (*)(void)));
>> +}
>> +#endif
>> +
>>  /*
>>   * Local variables:
>>   * mode: C

-- 
Nicola Vetrini, B.Sc.
Software Engineer
BUGSENG (https://bugseng.com)
LinkedIn: https://www.linkedin.com/in/nicola-vetrini-a42471253


From xen-devel-bounces@lists.xenproject.org Fri Oct 17 07:15:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Oct 2025 07:15:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1144986.1478163 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9egE-00043r-E2; Fri, 17 Oct 2025 07:15:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1144986.1478163; Fri, 17 Oct 2025 07:15:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9egE-00043k-Ao; Fri, 17 Oct 2025 07:15:14 +0000
Received: by outflank-mailman (input) for mailman id 1144986;
 Fri, 17 Oct 2025 07:15:13 +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 <SRS0=k1Ob=42=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v9egD-00043e-58
 for xen-devel@lists.xenproject.org; Fri, 17 Oct 2025 07:15:13 +0000
Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com
 [2a00:1450:4864:20::333])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 04a4eb84-ab29-11f0-980a-7dc792cee155;
 Fri, 17 Oct 2025 09:15:11 +0200 (CEST)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-4710665e7deso7321975e9.1
 for <xen-devel@lists.xenproject.org>; Fri, 17 Oct 2025 00:15:11 -0700 (PDT)
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-426ce582b39sm38423909f8f.15.2025.10.17.00.15.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 17 Oct 2025 00:15:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 04a4eb84-ab29-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760685310; x=1761290110; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=XvSbBtLRcuTeJpB8h5iN74f2IFoPayK528G1grRnZeo=;
        b=P7WR1fv8A1uCmmK2dFbrP/GAE8zRIv06zTL/KKedksoKhUg4Flp6xw4Qd1rVjJmGNY
         3qHHZ96Q82HZU48uCYsoSpDpLtXFoO4d8Lfw4x+Dpbir3bUtTrSlEbXsdenTaKjehsBn
         LMmTTEIkMphJHy+rmrChPxYuWaSJ2MmUb48w/s+HzOOO5/NkkBzRhhC5TMH/xpgdt7aE
         YbC8wlVAXuF8/41i0rRIQklaTqBC7SvZqLz/MYqUqPN0uhrZIfIQPh+XkfEfpBMpTxGA
         6ow6CrQSOXU07I1u+IpUmy6ZhuwC0ycRRF44ghMVaiWkYhJYJFzVJDaNUUs906cKouVL
         QuRA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760685310; x=1761290110;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=XvSbBtLRcuTeJpB8h5iN74f2IFoPayK528G1grRnZeo=;
        b=rFv2odKeQqUxsqbI9Xj+teEt2qzA9cqQenQSQC3V+h2FKfYlJkUZBU7J3WqhkLXZS0
         YW4k1EJnd7yFs+QlIQUlv1bDmfAk5bMjE5QNpkry+RhK6Ivd5Mlo4cXlfTEF2Qt6Nhmf
         +U2iLWwND69hSVNt3B7nvo5f1x+oo6RRJMCJRmIy4WztBoRoaJa9DAI8dhO4R4Dvk6Gf
         h3QBHazYAFyZCXPs0eCgHG37MUene7XB/T1Tlk57yEE+h0EefxiGGMmt+WWVoVBpyQgL
         Kwi6OoeaVDTOKxGLhS5/VQPVJfixk7zaE2+BKmKTag0nzgXylGcmn6Q4HhJHSorsCbYS
         HKUg==
X-Gm-Message-State: AOJu0Yz10T8/QCeP4WPZb4gJr5GDmWACBm7vvJdMSE2KEIK21m3kZGSc
	gFDWYeWUFMIRLzAyHRuyYtSeT23LP2Vdd81Frr7TNhJq8LJAYUqZtXfo4kQcb8p7tQ==
X-Gm-Gg: ASbGnctUkoaD6JJ/mTpKQYv/fyxpT0ldHtyODU8B/TNGqMQExrkMpPtqHY0gWl6VVXU
	Xga658vT4c4pXz79nGHoDv1JffbQ7C9NJKa1zmKnqWDQ9GavSiOx2bD8zWBrDYWYCZAh99mn2C2
	VjP0N74TfzwJNKWxTTK6XzXwzISGNlbnT+JeN9u8dofhZyaYwdgUzIoX5/Y5Ud9xRTmcn/Fx92D
	LErLxg8vOHMhf2hKa90yFf85/NYIGwrL0Fs5lB8K/5Gdh9Pp5fCK9nbtft7YV3XixYScJln0GKh
	R+LX8kSsidk8mwYrgzm06EsWxtGWwO1lGN9UXnWPHKp4X7L65GoNfej/u1lu2U9e8RQszYHyWHs
	stKP7TSbBYvBmMR9IkwYvkvGF+/xIKod3W9OPSYjpTX4RJTsQzUC5sP29goEkcn8yHQyqlQUxuk
	JhmpNbQMTZaff8rQurCfezkHgwQDo7jV4kOujF1KtXbuNaNoNINmaWRLfy6L8T
X-Google-Smtp-Source: AGHT+IFv06iRIMQDrVDWgV7pbdfiDYqmMsmYdztANV5FcY+3bGBu9dNFZvF3kD7IEZy9AnvWOiJs8g==
X-Received: by 2002:a05:600c:5026:b0:46e:477a:f3dd with SMTP id 5b1f17b1804b1-4711792a680mr19375575e9.36.1760685310228;
        Fri, 17 Oct 2025 00:15:10 -0700 (PDT)
Message-ID: <39f00b12-a3f7-4185-a8fa-2c99c43695d9@suse.com>
Date: Fri, 17 Oct 2025 09:15:08 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21 03/10] x86/HPET: use single, global, low-priority
 vector for broadcast IRQ
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <8d94abf8-70d1-478c-885e-ff9a960ac72d@suse.com>
 <64d52793-be70-4ae8-9bae-ad88f6379395@suse.com> <aPEc3VWLI0ofq22f@Mac.lan>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <aPEc3VWLI0ofq22f@Mac.lan>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 16.10.2025 18:27, Roger Pau MonnÃ© wrote:
> On Thu, Oct 16, 2025 at 09:32:04AM +0200, Jan Beulich wrote:
>> @@ -307,15 +309,13 @@ static void cf_check hpet_msi_set_affini
>>      struct hpet_event_channel *ch = desc->action->dev_id;
>>      struct msi_msg msg = ch->msi.msg;
>>  
>> -    msg.dest32 = set_desc_affinity(desc, mask);
>> -    if ( msg.dest32 == BAD_APICID )
>> -        return;
>> +    /* This really is only for dump_irqs(). */
>> +    cpumask_copy(desc->arch.cpu_mask, mask);
> 
> If you no longer call set_desc_affinity(), could you adjust the second
> parameter of hpet_msi_set_affinity() to be unsigned int cpu instead of
> a cpumask?

Looks like I could, yes. But then we need to split the function, as it's
also used as the .set_affinity hook.

> And here just clear desc->arch.cpu_mask and set the passed CPU.

Which would still better be a cpumask_copy(), just given cpumask_of(cpu)
as input.

>> -    msg.data &= ~MSI_DATA_VECTOR_MASK;
>> -    msg.data |= MSI_DATA_VECTOR(desc->arch.vector);
>> +    msg.dest32 = cpu_mask_to_apicid(mask);
> 
> And here you can just use cpu_physical_id().

Right. All of which (up to here; but see below) perhaps better a separate,
follow-on cleanup change.

>>      msg.address_lo &= ~MSI_ADDR_DEST_ID_MASK;
>>      msg.address_lo |= MSI_ADDR_DEST_ID(msg.dest32);
>> -    if ( msg.data != ch->msi.msg.data || msg.dest32 != ch->msi.msg.dest32 )
>> +    if ( msg.dest32 != ch->msi.msg.dest32 )
>>          hpet_msi_write(ch, &msg);
> 
> A further note here, which ties to my comment on the previous patch
> about loosing the interrupt during the masked window.  If the vector
> is the same across all CPUs, we no longer need to update the MSI data
> field, just the address one, which can be done atomically.  We also
> have signaling from the IOMMU whether the MSI fields need writing.

Hmm, yes, we can leverage that, as long as we're willing to make assumptions
here about what exactly iommu_update_ire_from_msi() does: We'd then rely on
not only the original (untranslated) msg->data not changing, but also the
translated one. That looks to hold for both Intel and AMD, but it's still
something we want to be sure we actually want to make the code dependent
upon. (I'm intending to at least add an assertion to that effect.)

> We can avoid the masking, and the possible drop of interrupts.

Hmm, right. There's nothing wrong with the caller relying on the write
being atomic now. (Really, continuing to use hpet_msi_write() wouldn't
be a problem, as re-writing the low half of HPET_Tn_ROUTE() with the
same value is going to be benign. Unless of course that write was the
source of the extra IRQs I'm seeing.)

Taking together with what you said further up, having
set_channel_irq_affinity() no longer use hpet_msi_set_affinity() as it
is to ...

>> @@ -328,7 +328,7 @@ static hw_irq_controller hpet_msi_type =
>>      .shutdown   = hpet_msi_shutdown,
>>      .enable	    = hpet_msi_unmask,
>>      .disable    = hpet_msi_mask,
>> -    .ack        = ack_nonmaskable_msi_irq,
>> +    .ack        = irq_actor_none,
>>      .end        = end_nonmaskable_irq,
>>      .set_affinity   = hpet_msi_set_affinity,

... satisfy the use here would then probably be desirable right away.
The little bit that's left of hpet_msi_set_affinity() would then be
open-coded in set_channel_irq_affinity().

Getting rid of the masking would (hopefully) also get rid of the stray
IRQs that I'm observing, assuming my guessing towards the reason there
is correct.

>> @@ -497,6 +503,7 @@ static void set_channel_irq_affinity(str
>>      spin_lock(&desc->lock);
>>      hpet_msi_mask(desc);
>>      hpet_msi_set_affinity(desc, cpumask_of(ch->cpu));
>> +    per_cpu(vector_irq, ch->cpu)[HPET_BROADCAST_VECTOR] = ch->msi.irq;
> 
> I would set the vector table ahead of setting the affinity, in case we
> can drop the mask calls around this block of code.

Isn't there a problematic window either way round? I can make the change,
but I don't see that addressing anything. The new comparator value will
be written later anyway, and interrupts up to that point aren't of any
interest anyway. I.e. it doesn't matter which of the CPUs gets to handle
them.

> I also wonder, do you really need the bind_irq_vector() if you
> manually set the affinity afterwards, and the vector table plus
> desc->arch.cpu_mask are also set here?

At the very least I'd then also need to open-code the setting of
desc->arch.vector and desc->arch.used. Possibly also the setting of the
bit in desc->arch.used_vectors. And strictly speaking also the
trace_irq_mask() invocation.

>> --- a/xen/arch/x86/include/asm/irq-vectors.h
>> +++ b/xen/arch/x86/include/asm/irq-vectors.h
>> @@ -18,6 +18,15 @@
>>  /* IRQ0 (timer) is statically allocated but must be high priority. */
>>  #define IRQ0_VECTOR             0xf0
>>  
>> +/*
>> + * Low-priority (for now statically allocated) vectors, sharing entry
>> + * points with exceptions in the 0x10 ... 0x1f range, as long as the
>> + * respective exception has an error code.
>> + */
>> +#define FIRST_LOPRIORITY_VECTOR 0x10
>> +#define HPET_BROADCAST_VECTOR   X86_EXC_AC
>> +#define LAST_LOPRIORITY_VECTOR  0x1f
> 
> I wonder if it won't be clearer to simply reserve a vector if the HPET
> is used, instead of hijacking the AC one.  It's one vector less, but
> arguably now that we unconditionally use physical destination mode our
> pool of vectors has expanded considerably.

Well, I'd really like to avoid consuming an otherwise usable vector, if
at all possible (as per Andrew's FRED plans, that won't be possible
there anymore then).

>> --- a/xen/arch/x86/irq.c
>> +++ b/xen/arch/x86/irq.c
>> @@ -755,8 +755,9 @@ void setup_vector_irq(unsigned int cpu)
>>          if ( !irq_desc_initialized(desc) )
>>              continue;
>>          vector = irq_to_vector(irq);
>> -        if ( vector >= FIRST_HIPRIORITY_VECTOR &&
>> -             vector <= LAST_HIPRIORITY_VECTOR )
>> +        if ( vector <= (vector >= FIRST_HIPRIORITY_VECTOR
>> +                        ? LAST_HIPRIORITY_VECTOR
>> +                        : LAST_LOPRIORITY_VECTOR) )
>>              cpumask_set_cpu(cpu, desc->arch.cpu_mask);
> 
> I think this is wrong.  The low priority vector used by the HPET will
> only target a single CPU at a time, and hence adding extra CPUs to
> that mask as part of AP bringup is not correct.

I'm not sure about "wrong". It's not strictly necessary for the HPET one,
I expect, but it's generally what would be necessary. For the HPET one,
hpet_msi_set_affinity() replaces the value anyway. (I can add a sentence
to this effect to the description, if that helps.)

Jan


From xen-devel-bounces@lists.xenproject.org Fri Oct 17 07:38:48 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Oct 2025 07:38:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1145008.1478173 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9f2x-00071h-7B; Fri, 17 Oct 2025 07:38:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1145008.1478173; Fri, 17 Oct 2025 07:38:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9f2x-00071a-4B; Fri, 17 Oct 2025 07:38:43 +0000
Received: by outflank-mailman (input) for mailman id 1145008;
 Fri, 17 Oct 2025 07:38:41 +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
 <SRS0=rDIu=42=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v9f2v-00071U-4S
 for xen-devel@lists.xenproject.org; Fri, 17 Oct 2025 07:38:41 +0000
Received: from CH5PR02CU005.outbound.protection.outlook.com
 (mail-northcentralusazlp170120005.outbound.protection.outlook.com
 [2a01:111:f403:c105::5])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4b162177-ab2c-11f0-980a-7dc792cee155;
 Fri, 17 Oct 2025 09:38:38 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by CH8PR03MB8178.namprd03.prod.outlook.com (2603:10b6:610:2be::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.13; Fri, 17 Oct
 2025 07:38:35 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9228.011; Fri, 17 Oct 2025
 07:38:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4b162177-ab2c-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=XosFa8+jhCzsQuNnybZHomVCAKGrSEDXVYLQ23sMVt1Ze46iNewYJqYe7pQLH+1WF9+iCFaaFnLI/UwKaQqcVxr4DtAiwzt9OUZ3N5gvUR38qIo3EIQ5hpxAhBrO4XYmAFCxDu+MFmLs+wNpBlHUXxH1qkJv0xwQSHbY0zhGoowBDDCofHa3FcGe6G2Kl7Sodcw0bfj35wWzd61ycdCtpp9bGnev+mhmdDkxTFdDgBUUIKNyY6lLi5miNYX4ToNv9asitGfDdlIKWGAhwr8S2zkRwuP6nLrCUcs9q7VnUPhOJX/KeOWeBtjtwa878aCIGtLmvnf96fdR1YKrrS+tJw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=whW7G34Y5RFo8eebljx+NifytIjRAh5GJs46kktfN5I=;
 b=elUxEO3Bn728swSOfdNwt8bGq7S7nrV88kOr9RS/iGxJjRE3jb7qh94nuVuPtIg6IqSrYDg4DBMkf9LLDDr6SQmThojjxMAgzRMQnMptdC6q9h9rNbW3I40p25SOyLnomxB5iHRlVMbj4cxFqLCzYEk02IW1/KP4ZKT1K93fYi75JGz/Fef1CHkDy2e2KuKW6iwpFOVKe0WL/s9Dty23NvCgHU3ByzrAl8A3mAyjg8oOuWS1/rqYBwrxxetLON/qQZNkPMQ8mHJnZ4Eal6pAhvVYjfvBFKapio3UkQktvZuzkJQ895U2Ki3CsZ/71s0pXOf9psyaqcCu5XLelt5J0Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=whW7G34Y5RFo8eebljx+NifytIjRAh5GJs46kktfN5I=;
 b=W1sqECnfbkPxBVt7b+4mArACkS1e5zxjlVvL85qP4ElrZnMe8M43mTlKuvyEk/yGVf68ke2+/ZnXI+JZTgc7A9MG0slsK5YsmHcu4rsVaRY34gDEGiqbBOsFTizpB2RfdqjOIjsI2sZaLo0RFZdR77IIDtF+jdD3Zf6u23vK9ac=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Fri, 17 Oct 2025 09:38:31 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Grygorii Strashko <grygorii_strashko@epam.com>
Cc: Jan Beulich <jbeulich@suse.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Alejandro Vallejo <alejandro.garciavallejo@amd.com>
Subject: Re: [PATCH v5] x86: make Viridian support optional
Message-ID: <aPHyd8m57y_UkSl-@Mac.lan>
References: <20250930125215.1087214-1-grygorii_strashko@epam.com>
 <aOzt8gfxkdQXZ6O1@Mac.lan>
 <e6972ea5-2139-4f4d-8d2c-2979fe2fad99@epam.com>
 <aO5gdh6C_uQoFHPH@Mac.lan>
 <afe544d3-575c-44e8-9068-8c79f69d6175@epam.com>
 <aO9UgQ3J27hVgGIa@Mac.lan>
 <06d540f0-38e6-46fd-b94d-58ac2797657f@epam.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <06d540f0-38e6-46fd-b94d-58ac2797657f@epam.com>
X-ClientProxiedBy: MA3P292CA0012.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:2c::16) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|CH8PR03MB8178:EE_
X-MS-Office365-Filtering-Correlation-Id: c517df84-81e0-4660-e9f9-08de0d502dc4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?bWVWdGhJaTUwdTZQemdXS0RYSUlwMnJOK0c1OUtOMzhkdXd5emtJeXc5Y1p5?=
 =?utf-8?B?ZnVQMGk3V08zbWRzdTFHSWttSkZaQStnNmszN3NjdXZKV3I3NC94ZUc3S3k1?=
 =?utf-8?B?NDBmY2NKV3lSaFhza0pSTGZHSGlwQXk4S3F5OG9MSkNHTVBFa292TkV1OHRV?=
 =?utf-8?B?YVdFU01mY3gzNE9QVzFONVFCVXVwdkIxOWlXclA0bTBQUUpCVkE4WHJjUGN0?=
 =?utf-8?B?SCs0aGRpaWVUR0k5MFBSUHNDR0V2a2tibHZ3ZHQwcU5BRGhGVE1ZQituWm4r?=
 =?utf-8?B?OG9vK3pqQUtKdERYSVBLd3NjdXFHdGVYb1hYNmRXcTdVZTN5MjNValVNWFZn?=
 =?utf-8?B?RVI0eXExbWtoMkZsSHdRZy9aN2JzRDRaSkwySHhaeWo4ZlJnWTNYT09PK281?=
 =?utf-8?B?RFlvdnUzMldEOS9sSll6MjJRY254Rk9LWVhrVm9QOW1ZdmUrVVcvaHFSOHBa?=
 =?utf-8?B?SDg4Y0hRVW1ReTRsVnV2UmhmT2tRUVpIVHdYUmZQWENpTllWS3ZrWk90WkpD?=
 =?utf-8?B?WmRUaXdIcXJBYXl1bWEzVTM4SlM5WVRWclNMNkdmR0t1MWtJUFFad1FMVzk2?=
 =?utf-8?B?a2JaTTBaQlBnY2tpWDBOT2t0VEY4S1NCVndsUlhNTDBjNU8wOE8yQlFwTTBt?=
 =?utf-8?B?c1ZSVG9ZWEdSYlJVZWhKNlNSNVpaNitQa2NMaThZVmFyNUU0TE5KMTBxRG1E?=
 =?utf-8?B?d3JHNk9ac0dOQW44eUZ0SzBpQWRINmkvWXBFczlIRWxQYmNaQXlMTnVPU3lv?=
 =?utf-8?B?ZmZaQ3oxMlBPSXFMYytsS1d0NHl2SmFNbE5VRTg1WWtTWU5DWldxaUEyajdP?=
 =?utf-8?B?QjFhU1pOUytrbEJiOTZJdEFuNkJyVXdQWXplT08zMytNYU1mMmNvaG1nbUkz?=
 =?utf-8?B?ZjhpL0VKRndTV2JpMjVhUHVQbHBrcVJZRkFkV0J6Vjh6ZkdJc0NWSjFiQXVF?=
 =?utf-8?B?aVFKU2NUejRYVVRSNlkvbG5CYWwvVUk2MUQ2OUtucGdPY0pMekhGdklHSTYz?=
 =?utf-8?B?SksrVllGcVBEYytpWU9jVkFnM2hJVHVQVWZYMVUrRUtZdks2SVlxOUtSKzB3?=
 =?utf-8?B?Z0FXbmV1dzZNUHQzazN3QWxPeFBwUUtmQitLQ3pTVmEzYTl5cFMzc1lFNDdC?=
 =?utf-8?B?OGdqcE5vbDZCbjFQdHpsR2RHcHFIQWlMa2VudUhybDd5NUdqemJ5OTdKVG9T?=
 =?utf-8?B?Q1NOOENWdHRnV01NTW5uVDBHYzZzVncwUWV5cWQyQnczRlpnQXZRcTF0U1h6?=
 =?utf-8?B?MDF3RGx3U1Fyem1MY3lPUkhnNlNJZjh6N2tWUXhvZTFmWWVUSk4yNCtJTUtK?=
 =?utf-8?B?TXpaNWdESmN2c2RFWDE0QjdQQWpMUFU2UHJSN29EZ2V1VlJYRjk5UUtZblFz?=
 =?utf-8?B?dWVVK0RZSXJtR1BPcks4WUEwOCtyQUwwY3l2RHQyRUJIejFyMXRUTE54TU9Q?=
 =?utf-8?B?VmRORk5yN2lmN0g4SkRvL2thWEJteTdkRlRKc01sR0sxTTRGUUpxVHhTeTFi?=
 =?utf-8?B?bjVSZHluamFnSCtsQm5mSFc5YjR1bnhtMVAvUmR4NmI3Q3ptRENyZVdJbm1M?=
 =?utf-8?B?SU9FL0lxK2k2TG5PRG9jeVhxZ1VzR2pzZ1kyUDhNK0xhMDBIRy8yZENVd1dt?=
 =?utf-8?B?N2lHbEhKeWpEOUtQM3FrcCtiREZmU2ZrODlOOTJuWmJ6S1hoN2xBNEFrUzdp?=
 =?utf-8?B?VzNIZko4VjlVd25CNDZKcmNnT201MW1RbFdkNS9uTVNlMVBOS21qRFhtRjVF?=
 =?utf-8?B?VnlsbFUwdWtQUW9GMGF2dnVXb0IrL0wzUkkrWkdaSm94VU0ybXZjWTd2NnZ0?=
 =?utf-8?B?cHZWaWViTlI3OVl6a0RpYmpXN0VHUFh6MklMeloxYnZEeXc2MlpGK2dvQVZo?=
 =?utf-8?B?ZTJnVEljOVFuOXhlbmlwU01JMGZlVzRMbkRIVTdocWo1eStROXJOUWZ3M2pL?=
 =?utf-8?Q?hyksDdEWWoiQ89V2V69X5pMueHS/8qhG?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QmNRUGkrNVdxektYbkFRSHpaV2pQMHBxOGswUkdyVCtxVHUwY2ZDbDVWSWhi?=
 =?utf-8?B?WDJLa1JBT1JoYTBSUjZRUzU3TGRsMmVBTVpXYi93WXJqYnA0dWJwWTJqYjZP?=
 =?utf-8?B?M01FamxqWjRoNnUxdUtNN0dKSmM2ZmZOZnhTL0NtL3BDUWwrUEpIQ2hxelMr?=
 =?utf-8?B?c2xiYjIybHpKY1JBMXN0c09wRHdqUGNOUGsza25HVVdtN2lGS2JIRDcyQ0l4?=
 =?utf-8?B?NGVZMW1JNkNnaVBmNmhTU0JyZFBNd0NZY1c1SGZoaGJUVkxVcjd3elBGeFIv?=
 =?utf-8?B?UXdLZkhGaytkUW5YQ1ZLa1NiVjQ1OFd0dzhuVUkraGViZHVENXVWdGJrVzRN?=
 =?utf-8?B?eFQ3RjVQdmdpQkJXd2hhTkZtN2lGdHdZQXJXSFF6WDBGam01ZnRNUmh4OFdv?=
 =?utf-8?B?ZXdycVRrajNZQjNvNW4wMmZTQXlyOFYwcU9zZytwRXE0R1VwVC9qTzB4eGFV?=
 =?utf-8?B?dzhFWjZXNDRiYTFOSWNTSTJmSzJFVDYvbVBncXRjcFhGeFlHK2NKaHlkblRU?=
 =?utf-8?B?ZTlONDBueWoyRk5lSGFMYllMS1VaeHpJN29Fd0pOWUFEL3h2T05wSkVYZmJC?=
 =?utf-8?B?SzVLNU9YSStSUGJLR25XbThUSW9tYU8wMGtwK2s4OUs5bmZpSFFmdC9LaFZr?=
 =?utf-8?B?cVlqNHBVdm5xOHNreVljU2hNWndVcmxxWFVDdjVIMmo0ZzlvVkVsa01IYUpy?=
 =?utf-8?B?QTJvVkdIK0M2K0tXTGlLMWZmamtlM2J6cHNmZDZKbFRRazlKa2lMeXdpRnJH?=
 =?utf-8?B?N0pwdkRpMCtMM05zYjdHbndmbHdwWTJ5QXo2TERTakNEd2FqQ2dRTmhmK0gy?=
 =?utf-8?B?S3dvL3p3WUZqc3FFYlRTUHBKYW9RbVNiaGdSdHQyVnZLY29YRGZpRUJqdEVO?=
 =?utf-8?B?VENSamFXVnFtU3AyZ3ZrdkNFc1pESzRkaHdxcUp1ZTVMRUp0WHVTNTNxMjB1?=
 =?utf-8?B?Z0Y2ZzhuZ2MvcEM5YktwWDhod0J0V20rZGpkbWsrQU9zY1JVbkxEMGRjdHVn?=
 =?utf-8?B?Z3FKLzdKSGxaUEJaVzBLcXdVVU9JNnR5ZDNyVlBwUk4xR1M1N25NeUZpNGdz?=
 =?utf-8?B?UExhdEQrSWw4czdPMWtRSm4zMi8yWkdjV016dVpaQlZienIvQ1Fmb2U5U2Fx?=
 =?utf-8?B?ZXo3b1pJUXlDK29zS0lYZ1lNa0kwdkpUZnh6cWtzRUttbmNlb2ltdFpaUWVJ?=
 =?utf-8?B?VFg2enRiRU0zYklIdmx0RDRveDFTalRqRU0waDRjSUkrSFNXc0xmOS9ieldC?=
 =?utf-8?B?b0hSdStxcDlyTGpCcytYb3J4Z2MrVmljUnUxYlZ4UVJZK05iT3NmUDdhMEZM?=
 =?utf-8?B?UTBTQ3kxY0ltckpEKzlSTVoxNjE0YXZVbXpoUWM3YkdwckJJby91a3hoVTJN?=
 =?utf-8?B?UW95YUdXMXhUVXJOanYyL1oxOVBvL1FsUGt6Q1BHOFhQaGdSRERoZGVSQ0xH?=
 =?utf-8?B?TTBUQS80ZHhXM0pyN2FPZzVSZmI0QkVXMTBwWDRqcHVPdlpxR1RJWGpxcnIy?=
 =?utf-8?B?N3p4LzBhcEVycUZWSmxuUVlPNUphMlNvZldJbUw1czVJeUtrMGFuVFBTb0ZN?=
 =?utf-8?B?S0VWN3JRbytmUkM2ck16NnpvcFJnbFBrM0FwcDhmSm03UjVVNnR3bUVDWWdW?=
 =?utf-8?B?MFpkMHg4eEdhVXVVK3EwMzhkT1hoOEwwUEJ5TWQzcTlBZnAxVWxYMDFDT21F?=
 =?utf-8?B?MkV0N2tLOVFBM2Y0cDhCeE5UNmc0dW94MW1Oa3dnL25obm9qMHhpUjJQMjla?=
 =?utf-8?B?RldqaEpKNUNPcGhxSmRlZVBtalArYjlkVlVHRHFlM3BnMlRTTHowTFBHeUpC?=
 =?utf-8?B?TkN6a08yNER2TXlmanQ2RnFiRWJKZXlmbUF6ZnFGNms3RmcyNGZ6NzNFaDVn?=
 =?utf-8?B?cmkrVWZDb3hMaUsySXlXQ1RPYkk5VWVGbzE2MllxcTJMMUNVTG82M0hlL0li?=
 =?utf-8?B?TWtwVjdvSXIyMCt6Z0EwNDFIUUxWQjduUE5ickVJZ0NpN0QyYytycEIvSE1B?=
 =?utf-8?B?TzQzYTB1Sm5KUkg2eWV6bHhoQjY5M0oyWnFYOVU1UVdtNzhZVWZFUllIYmRr?=
 =?utf-8?B?eGlSN2k0cVQ0YnViL0lpNmU5QUJKencvWUNabmVzWlM2bTlFMXhhL0dpY3ha?=
 =?utf-8?Q?RZraCyyGkm+tNLHnaUFVoKapp?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c517df84-81e0-4660-e9f9-08de0d502dc4
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Oct 2025 07:38:35.3786
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 2AlJn2VuzFyWMWRynCmeL2bB3e8eD/T+sUc5SDvYb0/elGCYT3zM3Ay+zIXEPZsHEjrlcmbtcQDyQ4W3wRbjsQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH8PR03MB8178

On Fri, Oct 17, 2025 at 12:40:33AM +0300, Grygorii Strashko wrote:
> 
> 
> On 15.10.25 11:00, Roger Pau MonnÃ© wrote:
> > On Tue, Oct 14, 2025 at 06:48:23PM +0300, Grygorii Strashko wrote:
> > > 
> > > 
> > > On 14.10.25 17:38, Roger Pau MonnÃ© wrote:
> > > > On Tue, Oct 14, 2025 at 04:24:53PM +0300, Grygorii Strashko wrote:
> > > > > On 13.10.25 15:17, Roger Pau MonnÃ© wrote:
> > > > > > On Tue, Sep 30, 2025 at 12:52:16PM +0000, Grygorii Strashko wrote:
> > > > > > > From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
> > > > > > > +
> > > > > > > +	  If unsure, say Y.
> > > > > > > +
> > > > > > >     config MEM_PAGING
> > > > > > >     	bool "Xen memory paging support (UNSUPPORTED)" if UNSUPPORTED
> > > > > > >     	depends on VM_EVENT
> > > > > > > diff --git a/xen/arch/x86/hvm/Makefile b/xen/arch/x86/hvm/Makefile
> > > > > > > index 6ec2c8f2db56..736eb3f966e9 100644
> > > > > > > --- a/xen/arch/x86/hvm/Makefile
> > > > > > > +++ b/xen/arch/x86/hvm/Makefile
> > > > > > > @@ -1,6 +1,6 @@
> > > > > > >     obj-$(CONFIG_AMD_SVM) += svm/
> > > > > > >     obj-$(CONFIG_INTEL_VMX) += vmx/
> > > > > > > -obj-y += viridian/
> > > > > > > +obj-$(CONFIG_VIRIDIAN) += viridian/
> > > > > > >     obj-y += asid.o
> > > > > > >     obj-y += dm.o
> > > > > > > diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
> > > > > > > index 23bd7f078a1d..95a80369b9b8 100644
> > > > > > > --- a/xen/arch/x86/hvm/hvm.c
> > > > > > > +++ b/xen/arch/x86/hvm/hvm.c
> > > > > > > @@ -701,9 +701,12 @@ int hvm_domain_initialise(struct domain *d,
> > > > > > >         if ( hvm_tsc_scaling_supported )
> > > > > > >             d->arch.hvm.tsc_scaling_ratio = hvm_default_tsc_scaling_ratio;
> > > > > > > -    rc = viridian_domain_init(d);
> > > > > > > -    if ( rc )
> > > > > > > -        goto fail2;
> > > > > > > +    if ( is_viridian_domain(d) )
> > > > > > > +    {
> > > > > > > +        rc = viridian_domain_init(d);
> > > > > > > +        if ( rc )
> > > > > > > +            goto fail2;
> > > > > > > +    }
> > > > > > 
> > > > > > Are you sure this works as expected?
> > > > > > 
> > > > > > The viridian_feature_mask() check is implemented using an HVM param,
> > > > > > and hence can only be possibly set after the domain object is created.
> > > > > > AFAICT is_viridian_domain(d) will unconditionally return false when
> > > > > > called from domain_create() context, because the HVM params cannot
> > > > > > possibly be set ahead of the domain being created.
> > > > > 
> > > > > You are right. Thanks for the this catch.
> > > > > 
> > > > > Taking above into account above, it seems Jan's proposal to convert below
> > > > > viridian APIs into wrappers for VIRIDIAN=n case is right way to move forward:
> > > > > 
> > > > > int viridian_vcpu_init(struct vcpu *v);
> > > > > int viridian_domain_init(struct domain *d);
> > > > > void viridian_vcpu_deinit(struct vcpu *v);
> > > > > void viridian_domain_deinit(struct domain *d);
> > > > > 
> > > > > Right?
> > > > 
> > > > Possibly. If you don't want to introduce a XEN_DOMCTL_createdomain
> > > > flag you need to exclusively use the Kconfig option to decide whether
> > > > the Viridian related structs must be allocated.  IOW: you could also
> > > > solve it by using IS_ENABLED(CONFIG_VIRIDIAN) instead of
> > > > is_viridian_domain() for most of the calls here.
> > > > 
> > > > The wrapper option might be better IMO, rather than adding
> > > > IS_ENABLED(CONFIG_VIRIDIAN) around.
> > > 
> > > I'll do wrappers - less if(s) in common HVM code.
> > > 
> > > > 
> > > > > [1] https://patchwork.kernel.org/comment/26595213/
> > > > > 
> > > > > > 
> > > > > > If you want to do anything like this you will possibly need to
> > > > > > introduce a new flag to XEN_DOMCTL_createdomain to signal whether the
> > > > > > domain has Viridian extensions are enabled or not, so that it's know
> > > > > > in the context where domain_create() gets called.
> > > > > 
> > > > > In my opinion, it might be good not to go so far within this submission.
> > > > > - It's not intended  to change existing behavior of neither Xen nor toolstack
> > > > >     for VIRIDIAN=y (default)
> 
> [1]
> 
> > > > > - just optout Viridian support when not needed.
> > > > 
> > > > OK, that's fine.
> > > > 
> > > > On further request though: if Viridian is build-time disabled in
> > > > Kconfig, setting or fetching HVM_PARAM_VIRIDIAN should return -ENODEV
> > > > or similar error.  I don't think this is done as part of this patch.
> > 
> > Another bit I've noticed, you will need to adjust write_hvm_params()
> > so it can tolerate xc_hvm_param_get() returning an error when
> > HVM_PARAM_VIRIDIAN is not implemented by the hypervisor.
> > 
> > Implementing the Viridian features using an HVM parameter was a bad
> > approach probably.
> 
> I've just realized how toolstack need to be modified and all consequences...
> Have to try to push back a little bit:
> 
> VIRIDIAN=n: Now HVM_PARAM_VIRIDIAN will be R/W with functionality NOP.
> 
> I'd prefer avoid modifying toolstack if possible.
> 
> How about sanitizing HVM_PARAM_VIRIDIAN to be RAZ/WI for VIRIDIAN=n?

I've been thinking more into it, and we must still allow writes/reads
to it, otherwise migration would fail when restoring a stream that
contains a Viridian record, even if Viridian is not enabled for the
domain.  Right now the HVM param is unconditionally part of the
migration stream, even when Viridian is not enabled.

I think Xen could return an error when VIRIDIAN = n and a non-zero
value is passed to HVM_PARAM_VIRIDIAN?

That shouldn't require any changes to the toolstack, as when Viridian
is not enabled the toolstack will just set HVM_PARAM_VIRIDIAN = 0.  It
would however still fail if toolstack attempts HVM_PARAM_VIRIDIAN != 0
and Viridian has been build time disabled.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Oct 17 08:21:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Oct 2025 08:21:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1145033.1478183 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9fhn-00059x-CV; Fri, 17 Oct 2025 08:20:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1145033.1478183; Fri, 17 Oct 2025 08:20:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9fhn-00059q-8g; Fri, 17 Oct 2025 08:20:55 +0000
Received: by outflank-mailman (input) for mailman id 1145033;
 Fri, 17 Oct 2025 08:20:53 +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
 <SRS0=rDIu=42=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v9fhl-00059k-0P
 for xen-devel@lists.xenproject.org; Fri, 17 Oct 2025 08:20:53 +0000
Received: from MW6PR02CU001.outbound.protection.outlook.com
 (mail-westus2azlp170120002.outbound.protection.outlook.com
 [2a01:111:f403:c007::2])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 30ccedc5-ab32-11f0-980a-7dc792cee155;
 Fri, 17 Oct 2025 10:20:50 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by MN2PR03MB5005.namprd03.prod.outlook.com (2603:10b6:208:1a2::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.13; Fri, 17 Oct
 2025 08:20:46 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9228.011; Fri, 17 Oct 2025
 08:20:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 30ccedc5-ab32-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=dpVoSpG7CQopQWx/2JCy7keWVd9JxBFaM3bwgPhITIDShxtyJoAfSm8yiX+/HYdu4KAQx6lFY8MP9n6Uv/+cwkUGuYxkZB2yMtnkSzasB98IZAO5AvddT/bJhfTH2B36k/HTHcVcptlWHfqKhCRSLvtNiwOyqNiTz0qwS0FkajzAwzpY5UDiXJf5vbhwWZDeFbZ5sxzjRIGYDdhy2JRqEVWCqsoa1rOXJXfhm/LLtGBhLGkAkgKUhg4at772BmPhyV78cskj6iWvMlRypAW2Ibkx+Wn9xufnxas1lENpgXQt7cDJSjyAn3yvcK3wUa/hzIJDBDt3jWLN2/ReKwQ2vA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=t+YrNMuJRG7HSNdPyubwNjHFZpShc6ZOekQbTXP3uec=;
 b=iD8nCUxzz1yWjK0ut09k03dS/MQ7NUVTcDLizGyhds4WA0GutTr2e+j8VbYH5QsABN2vNrx1LADW6Ov5a7EhlI7cIOY6uYIoh40gkcQYt1Wqtug4w0uaLlOsoeY85XbUTCL5d29SkTQesM4bPdFkuf+WdinLceIOhQxvkgYziGQg5nA0PucXOm8bfZ8WVjw379CZgH6d0fYeuwCxWMhrWwU9MBg60/dzbsfXodrqh330vAt32a8cVFEiqr42T3IprqtiBGzr0QxLqnNxwuFV2+ZPcd8vtVYZQZc39+wT5dnvzNafhCo5AXzjbdzQNprIhkazzIU5o6j8NwdGpNuU/g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=t+YrNMuJRG7HSNdPyubwNjHFZpShc6ZOekQbTXP3uec=;
 b=dZnVh95F4XxP0j+QDTaxqWDpVN6FbaIcvOXCd4MMpjRYB7nbpvCdIfVFdJk6L8g7Uu8VfJimYnGUoLw4kT59rEK41DhfC3iU5IdWvpEtR55AtrsioZZXTqp4+qD2vEDoRmnXF4GeyLME33awlw8pHEvaC/cRJjg1j3iu1Aa0rtE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Fri, 17 Oct 2025 10:20:41 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.21 03/10] x86/HPET: use single, global,
 low-priority vector for broadcast IRQ
Message-ID: <aPH8Waqi5hJyCuzO@Mac.lan>
References: <8d94abf8-70d1-478c-885e-ff9a960ac72d@suse.com>
 <64d52793-be70-4ae8-9bae-ad88f6379395@suse.com>
 <aPEc3VWLI0ofq22f@Mac.lan>
 <39f00b12-a3f7-4185-a8fa-2c99c43695d9@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <39f00b12-a3f7-4185-a8fa-2c99c43695d9@suse.com>
X-ClientProxiedBy: MA4P292CA0002.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:2d::19) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|MN2PR03MB5005:EE_
X-MS-Office365-Filtering-Correlation-Id: 8b6c6e7e-c94a-4e9e-d60e-08de0d561226
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?bi9ZYWRtTUpjWVZYNnAzQkkyZXhMT1VFdGFpaGtXM2taUzkzcVBVS0x5TWdI?=
 =?utf-8?B?T1B6TExZUFFXTjl5elpEMXBFTkdUWENmNFVDSWF3NWFHUjh4VTNXYWtKOHZN?=
 =?utf-8?B?QmNMMXhKU0JVVXBUSHpMQW5rakhaRXRoOUJvWUEwUTBLWFVuM2RyZGRveklS?=
 =?utf-8?B?QmRCUmRmS0FyZVhtMUxya3RsR2tDSTlsUm5SWjNRQUxwc3A5WjZWZnd6N2ow?=
 =?utf-8?B?bFBkNTFsWFJCMlNxUVVlclJoYXBMZlB0b0NxcG5IUWM0VVZyTHVtMURIdURn?=
 =?utf-8?B?Ky9CVEM0RVJVb0pyQVpTS2VqdHVqNTdjWVB2UHJ4bzR1RCsrdTIxZlhwU3p5?=
 =?utf-8?B?R0lMMGM4eFdPcFU0MVpOUHFPNEJ2QzZHcGl5YXl2cFZpRHpxSWpRRTlPRnpX?=
 =?utf-8?B?UTRZN3VqWllIbVBqUHBYNlFxa0hJN1ordWs4cm5STWJsZ0ZGb2VVWkdQMGlv?=
 =?utf-8?B?SzcyVjRUY2VJVldKNE5YTWdRZEtmaUxGd3NjbEN5TnRtZDd2ZnpFQytVQ2NS?=
 =?utf-8?B?Y1lmaXljWWJldDVFQkpaN05vWjduNXg2WHY1dHpPd3hXd2diYmp2c3RrTk9w?=
 =?utf-8?B?K0JqQUZjMGNJZmhmZWt5REFRdHBnYXY4dDJTMVVlbS9NSFA0TEFsZmsrUk9s?=
 =?utf-8?B?aXArd0thS1lhSjZJajMrc1pvSFNDeXZVVSthd2VVU2ZpVzh4RTJiMVBYREhD?=
 =?utf-8?B?QU5xejZKaXV5cTZrajNjS2d2WGkrYXh4aVhwODVsUytja1hQdUpNbzhXNWFJ?=
 =?utf-8?B?dldNQXpsOHcxWGdpYURZZFI1M21mdndZWHlFakg5emxVUkNNODNaL0dNMXZJ?=
 =?utf-8?B?U1JNMHg3UTlpZXFaT29vTm5wWTBZeTVUUTNPM0RhK1FUSmVKai8xR2hmRnIw?=
 =?utf-8?B?Q2ZseFNJbFhzcEhmRW9nSzlNUmplRVpNK1BDOE9heUhudnYzYmRlZWtBMXVx?=
 =?utf-8?B?ZnVFUUhTMUtkdm1VMVdETE5Hc1hnOWw4eUIrekFvaWhGa0xhdW15anpndFdM?=
 =?utf-8?B?ZWZmWmxNOUVYY2F0N1AwdW5BYVZsZ1pwOUpXTmpSRmlCc3d1ZGYxRW45M1Ro?=
 =?utf-8?B?dlVUT2lkVjZROGUra1FIZmdDUkxlK3Y4aTZRUG1RVkc5NTI3NkxFeXhzRzNQ?=
 =?utf-8?B?WnZHZEFBZE42NTNPVWxQNDkyVk9vUEtKR05lNms2bzFoQ3ppTnRkRW9PN1RS?=
 =?utf-8?B?NjMxcDBjc2NYc3hFT1p5MkJ3VFB3eTd1R0YydDk4U2Q0TUZUc1JhQUU3S1hW?=
 =?utf-8?B?MjFLek10UENyM1RqWGFIcDhBTDJLTU9xZ0E5anY1aUYyOGV3N2x6bTVpemwv?=
 =?utf-8?B?UmdEN2ZhTlNsQXhrVkliMndwYW5YS2NscUpwQW54enpPNnEwTHNySmxiSUxJ?=
 =?utf-8?B?em0yNzFGcGY1YWlESXdGaEFpSmZzRnJrUUNGTVowQjEyN0pwRTl1SlRyMy9l?=
 =?utf-8?B?ZXk5SWwxUVdDTlEvWm93MTNwa2tPUUNoeDJnOHpBMVlxaGZKK012eU9ESlZx?=
 =?utf-8?B?YnNydnpXenR5SFJIQXg3UVNzOVBERnFhSFZuVERnUHVLUmY0Yy9lN203YmJ0?=
 =?utf-8?B?cnFIM0dOR1g5bms2T1VTK1VqV1lId0tMbXJhSmRpeG9QRmhSWjVGMDd6T2pC?=
 =?utf-8?B?ZTJqQjVzRyt0TG9LMFowZVJ2anBhcjliRXova1NQVW96MFdNTG5NeHMzb25n?=
 =?utf-8?B?NUN2SVBVVFIrR01qMTB3Yld4VGJKRVAwTXVwbGhyTHdRKzVnckhQcVU5VWNN?=
 =?utf-8?B?Nkt6SmhCVmYxQjBHOUMzMmVybHhrMXhCMVZ4NUczb2g4NEdQQ3p5azBSL2JF?=
 =?utf-8?B?Y0FTRmgycldLdFkrMXFXRk1UUzNUbWJNTko3dm5xNlZDYmVydFhycEhTZzFj?=
 =?utf-8?B?NzJ3bk5id2oxaGsxbU01NitKem5lRXBZdk5DNExoRDZUSksyQkROeGNFZFFG?=
 =?utf-8?Q?h0OTjK8IgpBE90VQml9mHUPNLN45DHpP?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?L1ZRbHRGbmR2bHFYVXdDd1VTU1FRcUp1YzU4eHV0eG1OMWNkN1ZXQUZCOHUx?=
 =?utf-8?B?bGZQQjhlUE54dmV1eUorNHltVUZXM0pRdWpqRFlUcU9UcHBRTm1qeVlWczJC?=
 =?utf-8?B?TjRZQVlzRTE5Wjc5TFJwSVE1Q2VQZGt6OWd3VTJLR1pac0cyNUcvaFJCT0po?=
 =?utf-8?B?NDNUUVZxM0V4VG1maFJtc1UrVEhxY2VLUDQzOEdsQUpUcUhvaVVEWU9nUWFx?=
 =?utf-8?B?cERwSGZ6OUtadmxBR0dEMllRNUErTVhMRFJ1MDdiWUVzWU1KTjBMTWltK0p0?=
 =?utf-8?B?VU13NzgzSFlsUU1HOG1XY2VTUjg2YjZPT3d2eDVpUkpaTnRJN2wxakQyV29N?=
 =?utf-8?B?NGhqRVdaRU5xMENJQ3hpTk1VSHZUb2FYbFcwZExuUDQ3WHY2LzNvSG43bm5u?=
 =?utf-8?B?OER3RmJtRE1EdjZaTmdRenozaFZzTGVXN245ZEVrVzBsbWY2d0F5eVVTSHVQ?=
 =?utf-8?B?QkxLd0IxWnhRRTNPSkZGWU9HQjUxTFhld3QwUWh6OFhUOHlYYThqaUVrbWJW?=
 =?utf-8?B?ajBKdWtiend0T0RMbDVnbm1LTytyajYvZzJqcEgvdG1oNjlDY3hPL1dpa0U5?=
 =?utf-8?B?ZVFiM1RIZGZMTVp6LzJncVNpSTZFUlVDZ3kxYzREVERNTHcvaElYZjluejlv?=
 =?utf-8?B?Y1NFMjR5Tkx3SmVVYm91Y0ozamJ5MTVhSVBqZ3JPeXFmUlRHK0l4cmMvQnYr?=
 =?utf-8?B?b2o4T1hnKzUxT2VwZHp5UEJUL3AzQ2FFR1c1aEp1eWZHeTAzVlJlc2VEdjNF?=
 =?utf-8?B?WnFvclQ2NzNYQlY2eUlyM1NVM1FLSzllV3BKM1FvSUNzc0ExZldScGhBZDY5?=
 =?utf-8?B?RkJWUmtxQnpKYjcxbjN6TzdZd2lXQnJxK29sUllVakE3Ykc3WUZINHhRM2Qy?=
 =?utf-8?B?UE16YlFrRjJWMTVXbWd1aEJFRXp3WmRheGtjTkFQKzBzbXhocTczTktUcGp6?=
 =?utf-8?B?QmFtcjQ0ZThVOHEzSGxkZ1JSVDM2MnNFc2hGS2szT21Cd3dyRlFLMzk0T2cv?=
 =?utf-8?B?SmpNaW5UbGlub0tBT1l4d3hlYnNpMXpiVk5qQlFsQ0VYcGJvVG5jUmIwYXZQ?=
 =?utf-8?B?bjN0cU12cUVvRlRSbG5Ob0dJd3MrRzdDdUFIempNa2E0RzFjQTNWME9JVHRV?=
 =?utf-8?B?TXI4a3o0MEpoQnNTaTl3K0FQT1ErTUtrWUdMM2c1ZkdIL1RRRi9paVJZY0s0?=
 =?utf-8?B?WnJMTzNpY1JMU2V2c0RmdytFQVpZUDZVWWZ2aVlteFNnZ3NXbGRwSytuUldk?=
 =?utf-8?B?MER2NGJJSlhBcGJRZDhYS0tVTnhLdG93UXozSWhJNHFvYU8xcVU2Slp4VGJY?=
 =?utf-8?B?WnpsNkdyZ2RUYmlseW5jUStDYTJ6ck4yZHBKd1I2WUpBU2g5YjlmcWZXU25V?=
 =?utf-8?B?QUZrR0o5Q2p6VnZLTnZUYVdpQm10SnlUWElLSkZ6Z090b3NqNE1JSllPa1FD?=
 =?utf-8?B?TkFDYVhkSFNVYUd2Q0RUdW0wbHdaM3RqSSt4Q21pcWE0THBKWnljMjdGSFNt?=
 =?utf-8?B?RzJDdWpWdzRzUjc1YVhGL1dlQTJoRGhoZHRiN29MdnN0VzVSQUF6dzIzelVz?=
 =?utf-8?B?eHFTQUhOUmpHSWxrOVBqQ3lDTnJjVDRCbW9CV0t1c29EVkhpOTAvemVVTmlU?=
 =?utf-8?B?NUF6ZjJudFYxZXFKWW9RKzBPeGhoeWNPZXNEbG94U0xoSTJkQ3laNDRMODZo?=
 =?utf-8?B?ZlZvcW5kWEl5Z3RDZ204T3dpQ3lvL1hOKzhmc21XWUduL0RsSHBMVnZKblpG?=
 =?utf-8?B?M21YRlc1ZXJMSUhDY01pQVZhQVc1cllYbDNaVXRvZVpqc2Rkb1F4ZUZiTTZi?=
 =?utf-8?B?UTNKZ2ZRMG1jMnpIR2doVlJ6R1lZL1JyTmxraE44eUZRRjNDcEN6bktQeHZZ?=
 =?utf-8?B?ZVFERkRjT0xZdFZIU01VeFZFYVpoVWEwdHlsZm11eTNxeDcydzh3U2VRYzFL?=
 =?utf-8?B?VVM2cDVVRUpsOWRiYlhVUlVIOHB5eTU5RmNCL214UUxyalZuZjNzSENIdUMv?=
 =?utf-8?B?aFRSZ3NCeTByN3hKaVBjbmIyc25BNmsvMW5BK2RrY29MR0pENk5TTHByRnV6?=
 =?utf-8?B?ZUticnBkN2VZdHRuZnJCUTF2SitWdXNpemhoY0p5cE5NRTNhNHkzeHFmNngr?=
 =?utf-8?Q?qh1nq7E/Vvxwy6wzizQEdqjyB?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8b6c6e7e-c94a-4e9e-d60e-08de0d561226
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Oct 2025 08:20:45.8953
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: +8gsUb8hiGTsqFeQOnIXCZ88vfEfFBq2Jpanzo104cIrU1jHOX1WP6C6WM94cZKQswd4B3UyjFvdTHVgQ5UU4A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR03MB5005

On Fri, Oct 17, 2025 at 09:15:08AM +0200, Jan Beulich wrote:
> On 16.10.2025 18:27, Roger Pau MonnÃ© wrote:
> > On Thu, Oct 16, 2025 at 09:32:04AM +0200, Jan Beulich wrote:
> >> @@ -307,15 +309,13 @@ static void cf_check hpet_msi_set_affini
> >>      struct hpet_event_channel *ch = desc->action->dev_id;
> >>      struct msi_msg msg = ch->msi.msg;
> >>  
> >> -    msg.dest32 = set_desc_affinity(desc, mask);
> >> -    if ( msg.dest32 == BAD_APICID )
> >> -        return;
> >> +    /* This really is only for dump_irqs(). */
> >> +    cpumask_copy(desc->arch.cpu_mask, mask);
> > 
> > If you no longer call set_desc_affinity(), could you adjust the second
> > parameter of hpet_msi_set_affinity() to be unsigned int cpu instead of
> > a cpumask?
> 
> Looks like I could, yes. But then we need to split the function, as it's
> also used as the .set_affinity hook.

I see, I wasn't taking that into account.

> > And here just clear desc->arch.cpu_mask and set the passed CPU.
> 
> Which would still better be a cpumask_copy(), just given cpumask_of(cpu)
> as input.

As is it, yes.

> >> -    msg.data &= ~MSI_DATA_VECTOR_MASK;
> >> -    msg.data |= MSI_DATA_VECTOR(desc->arch.vector);
> >> +    msg.dest32 = cpu_mask_to_apicid(mask);
> > 
> > And here you can just use cpu_physical_id().
> 
> Right. All of which (up to here; but see below) perhaps better a separate,
> follow-on cleanup change.

Yes, it's too much fuss, and I also have plans in that area to deal
with it myself anyway.  Just wanted to avoid changing this now to be
changed again.  But it's too unrelated to put in this change.

> >>      msg.address_lo &= ~MSI_ADDR_DEST_ID_MASK;
> >>      msg.address_lo |= MSI_ADDR_DEST_ID(msg.dest32);
> >> -    if ( msg.data != ch->msi.msg.data || msg.dest32 != ch->msi.msg.dest32 )
> >> +    if ( msg.dest32 != ch->msi.msg.dest32 )
> >>          hpet_msi_write(ch, &msg);
> > 
> > A further note here, which ties to my comment on the previous patch
> > about loosing the interrupt during the masked window.  If the vector
> > is the same across all CPUs, we no longer need to update the MSI data
> > field, just the address one, which can be done atomically.  We also
> > have signaling from the IOMMU whether the MSI fields need writing.
> 
> Hmm, yes, we can leverage that, as long as we're willing to make assumptions
> here about what exactly iommu_update_ire_from_msi() does: We'd then rely on
> not only the original (untranslated) msg->data not changing, but also the
> translated one. That looks to hold for both Intel and AMD, but it's still
> something we want to be sure we actually want to make the code dependent
> upon. (I'm intending to at least add an assertion to that effect.)

We could still mask when needed, but the masking would be
conditionally done in hpet_msi_write().

It seems however this might be better done as a followup change.

> > We can avoid the masking, and the possible drop of interrupts.
> 
> Hmm, right. There's nothing wrong with the caller relying on the write
> being atomic now. (Really, continuing to use hpet_msi_write() wouldn't
> be a problem, as re-writing the low half of HPET_Tn_ROUTE() with the
> same value is going to be benign. Unless of course that write was the
> source of the extra IRQs I'm seeing.)

Oh, yes, that's right, we don't even need to avoid the write.

> Taking together with what you said further up, having
> set_channel_irq_affinity() no longer use hpet_msi_set_affinity() as it
> is to ...
> 
> >> @@ -328,7 +328,7 @@ static hw_irq_controller hpet_msi_type =
> >>      .shutdown   = hpet_msi_shutdown,
> >>      .enable	    = hpet_msi_unmask,
> >>      .disable    = hpet_msi_mask,
> >> -    .ack        = ack_nonmaskable_msi_irq,
> >> +    .ack        = irq_actor_none,
> >>      .end        = end_nonmaskable_irq,
> >>      .set_affinity   = hpet_msi_set_affinity,
> 
> ... satisfy the use here would then probably be desirable right away.
> The little bit that's left of hpet_msi_set_affinity() would then be
> open-coded in set_channel_irq_affinity().

As you see fit, I'm not going to insist if the changes become too
unrelated to the fix itself.  Can always be done as a followup patch,
specially taking into account we are in hard code freeze.

> Getting rid of the masking would (hopefully) also get rid of the stray
> IRQs that I'm observing, assuming my guessing towards the reason there
> is correct.
> 
> >> @@ -497,6 +503,7 @@ static void set_channel_irq_affinity(str
> >>      spin_lock(&desc->lock);
> >>      hpet_msi_mask(desc);
> >>      hpet_msi_set_affinity(desc, cpumask_of(ch->cpu));
> >> +    per_cpu(vector_irq, ch->cpu)[HPET_BROADCAST_VECTOR] = ch->msi.irq;
> > 
> > I would set the vector table ahead of setting the affinity, in case we
> > can drop the mask calls around this block of code.
> 
> Isn't there a problematic window either way round? I can make the change,
> but I don't see that addressing anything. The new comparator value will
> be written later anyway, and interrupts up to that point aren't of any
> interest anyway. I.e. it doesn't matter which of the CPUs gets to handle
> them.

It's preferable to get a silent stray interrupt (if the per-cpu vector
table is correctly setup), rather than to get a message from Xen that
an unknown vector has been received?

If a vector is injected ahead of vector_irq being set Xen would
complain in do_IRQ() that that's no handler for such vector.

> > I also wonder, do you really need the bind_irq_vector() if you
> > manually set the affinity afterwards, and the vector table plus
> > desc->arch.cpu_mask are also set here?
> 
> At the very least I'd then also need to open-code the setting of
> desc->arch.vector and desc->arch.used. Possibly also the setting of the
> bit in desc->arch.used_vectors. And strictly speaking also the
> trace_irq_mask() invocation.

Let's keep it as-is.

> >> --- a/xen/arch/x86/include/asm/irq-vectors.h
> >> +++ b/xen/arch/x86/include/asm/irq-vectors.h
> >> @@ -18,6 +18,15 @@
> >>  /* IRQ0 (timer) is statically allocated but must be high priority. */
> >>  #define IRQ0_VECTOR             0xf0
> >>  
> >> +/*
> >> + * Low-priority (for now statically allocated) vectors, sharing entry
> >> + * points with exceptions in the 0x10 ... 0x1f range, as long as the
> >> + * respective exception has an error code.
> >> + */
> >> +#define FIRST_LOPRIORITY_VECTOR 0x10
> >> +#define HPET_BROADCAST_VECTOR   X86_EXC_AC
> >> +#define LAST_LOPRIORITY_VECTOR  0x1f
> > 
> > I wonder if it won't be clearer to simply reserve a vector if the HPET
> > is used, instead of hijacking the AC one.  It's one vector less, but
> > arguably now that we unconditionally use physical destination mode our
> > pool of vectors has expanded considerably.
> 
> Well, I'd really like to avoid consuming an otherwise usable vector, if
> at all possible (as per Andrew's FRED plans, that won't be possible
> there anymore then).

If re-using the AC vector is not possible with FRED we might want to
do this uniformly and always consume a vector then?

> >> --- a/xen/arch/x86/irq.c
> >> +++ b/xen/arch/x86/irq.c
> >> @@ -755,8 +755,9 @@ void setup_vector_irq(unsigned int cpu)
> >>          if ( !irq_desc_initialized(desc) )
> >>              continue;
> >>          vector = irq_to_vector(irq);
> >> -        if ( vector >= FIRST_HIPRIORITY_VECTOR &&
> >> -             vector <= LAST_HIPRIORITY_VECTOR )
> >> +        if ( vector <= (vector >= FIRST_HIPRIORITY_VECTOR
> >> +                        ? LAST_HIPRIORITY_VECTOR
> >> +                        : LAST_LOPRIORITY_VECTOR) )
> >>              cpumask_set_cpu(cpu, desc->arch.cpu_mask);
> > 
> > I think this is wrong.  The low priority vector used by the HPET will
> > only target a single CPU at a time, and hence adding extra CPUs to
> > that mask as part of AP bringup is not correct.
> 
> I'm not sure about "wrong". It's not strictly necessary for the HPET one,
> I expect, but it's generally what would be necessary. For the HPET one,
> hpet_msi_set_affinity() replaces the value anyway. (I can add a sentence
> to this effect to the description, if that helps.)

I do think it's wrong, it's just not harmful per-se apart from showing
up in the output of dump_irqs().  The value in desc->arch.cpu_mask
should be the CPU that's the destination of the interrupt.  In this
case, the HPET interrupt does have a single destination at a give
time, and adding another one will make the output of dump_irqs() show
two destinations, when the interrupt will target a single interrupt.

If anything you should add the CPU to the affinity set
(desc->affinity), but that's not needed since you already init the
affinity mask with cpumask_setall().

FWIW, I'm working on tentatively getting rid of the
desc->arch.{cpu,old_cpu,pending}_mask fields and converting them to
plain unsigned ints after we have dropped logical interrupt delivery
for external interrupts.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Oct 17 09:19:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Oct 2025 09:19:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1145069.1478217 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9gcj-00035H-PF; Fri, 17 Oct 2025 09:19:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1145069.1478217; Fri, 17 Oct 2025 09:19:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9gcj-00035A-Lj; Fri, 17 Oct 2025 09:19:45 +0000
Received: by outflank-mailman (input) for mailman id 1145069;
 Fri, 17 Oct 2025 09:19:44 +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
 <SRS0=rDIu=42=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v9gci-000354-2q
 for xen-devel@lists.xenproject.org; Fri, 17 Oct 2025 09:19:44 +0000
Received: from BYAPR05CU005.outbound.protection.outlook.com
 (mail-westusazlp170100001.outbound.protection.outlook.com
 [2a01:111:f403:c000::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6974e4a4-ab3a-11f0-9d15-b5c5bf9af7f9;
 Fri, 17 Oct 2025 11:19:42 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by CO1PR03MB5858.namprd03.prod.outlook.com (2603:10b6:303:9d::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.13; Fri, 17 Oct
 2025 09:19:39 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9228.011; Fri, 17 Oct 2025
 09:19:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6974e4a4-ab3a-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=YMwsL2PUl+ohBZnApnrzId4B/OhnC/ZVmprIKCU3aHU2OkL/In4xhti8+cMaklsP2KOuBbF+8qfS7oy0ey6nv31KF9LoiMMeTB0TgSVV2g/qw8EFSqHDdbKwUMVJVi5dNC4YdlNJAFgrriTK6ZusAmq2vSUaMKid56/dLKMlyQd3eXu4fD+cUzQU2EN2QlNdVYTjHTyUpHbswtfqr8CX8haQdVzoduhFPkQpusFYErM9m6QBESCzZvXpGSMIbuOuBDRZomAZK8bDDZA6IHoWBhaTUsrwsjqFwohSnW5LgwN50YR4BOkHxss+0qP73NjYRjOrgqRwNDwIVQa5ep/QGA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sZq96Ytn09krc7nKMIaw7UO4c8w+ULtWp8ZSmGY2ZSk=;
 b=A8T4aiBkU5m1uHKi/lx+C7QZLXjfkQb5qDAOXAUD0CLfKZ7BCbx9hhaTR1wavdgRS30afPTN7N8Eob3836oiyndg9kVpGLEABm2Ez7LdK3ORCu5JNYvJ21T2eER4L5vDDTR0HrrALHGzmoyudNtLB2Cuo6kMoR48SDkpACI/5uUAaSu2vcmeDRpQaJqGOie4LNA5WEw9TC8Xc6ziE1YFpQN7FN6UF66ViE0QLhPQpGZlbzWoyngpUiz5pbtACoMuDHxkoJmBJamqkZzxyiq3FXRHDKRND79S3NPD/K233Plx4FHO1Bj/zVVJckh5QKbRW7h4D48K1gpX0fD8lY4TFw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=sZq96Ytn09krc7nKMIaw7UO4c8w+ULtWp8ZSmGY2ZSk=;
 b=ae9WUUcSdWSFkEMzypI0bmtUbwSBVKNt13tx+KmAXlUittC3mhM07OcoIT+e7u1HWmXqck8ZBpwUE8SLneWaT+1KxNs8WdyKJT828r/7C/JYqrm8h0BROjZxSZs9cIfBHbTSoWLZbU7JGjKF/mwZHTHMGgTHQyHdjxigvoQ3GUk=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Fri, 17 Oct 2025 11:19:35 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.21 04/10] x86/HPET: ignore "stale" IRQs
Message-ID: <aPIKJw6I8pUFngC1@Mac.lan>
References: <8d94abf8-70d1-478c-885e-ff9a960ac72d@suse.com>
 <e16e2b62-9c2b-4534-8279-daf986cf438b@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <e16e2b62-9c2b-4534-8279-daf986cf438b@suse.com>
X-ClientProxiedBy: PR1P264CA0095.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:102:345::13) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|CO1PR03MB5858:EE_
X-MS-Office365-Filtering-Correlation-Id: 0350aba0-91ff-4b39-a291-08de0d5e4c2f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?RXNOcFJtbHlNOTVkUTZtREdKd2VDWmZvT3RnOTJ4aEx3SDNMU2xiZmN5RDVQ?=
 =?utf-8?B?d0l1eGlBNnZlSFVzeFAxbGRJbnVPdklMZjhsVHpHYlRxczhYcTQ1NnE0aGFH?=
 =?utf-8?B?cjF0a2YzVzA0aGg4d2ZFWnUxdS9rRlp1ZUZYSUt4dUF2RWp6NWQzK3JhMDYw?=
 =?utf-8?B?RkVvT1dzTnFBZFBaUXY5TWVodmFtUFJYQzFQcnA4cEVPeWc5cEQ1WVlsMHVs?=
 =?utf-8?B?UldlRkEvN3hCbExZM2lmS0d2QUlrT2oyaXJvempwakw2OXdIUVI1TFpDb1ZT?=
 =?utf-8?B?M3J6VXp3TVYxRVo0NXFYM2lPNlZIT2NYZGx0M1lsUkhDMHhWOXN4cUFlenBP?=
 =?utf-8?B?R1lpdXdmdFE1ci93Y2thbmh4cVl1VXhCYXhRMGR0MDUzMFlzM2Zheks3V0F4?=
 =?utf-8?B?a1hmYjZpQlhNc2ZuZkpaSnZKbWNsN0RxU3ZCU2ExYTl2TDIyWVZMcE5MWGtx?=
 =?utf-8?B?RzBqT1VZSDlHVzhOZHpwZVFKdVhCM0RnZ25OQjhiUjN3dy9aNCs5YWRIWmNz?=
 =?utf-8?B?cmZBZEZENUN2OVBJalFQRXdvUENSOWxDc2pSVjBBSFV5akxBTGNaQ2t3ZWFl?=
 =?utf-8?B?Q3h2OE00MHBaZzNIa1lnL1JFNWlHWTBQRHkvL0UzcUU2Z3pVdWp3cEN3eVBa?=
 =?utf-8?B?QXZOVzJDTGZ2UmJlMkZDMHlXUnVhZEo1YXlmeWwwWStsbXUzSnBPYVpzY0tG?=
 =?utf-8?B?bVVxN1dSYkFzNVFuTTJtWndneXNwclZYelRYMzFXbm5ZeC80Z3ovU1ZXL1dC?=
 =?utf-8?B?K1RPMitHZGJ5UXBVa3Vqb3ljeHVUdUNQMU9Wc3M5Q2YvNHZpRjF0RnZJSVZq?=
 =?utf-8?B?MlF6WGszUGJEbW5XS2RHZlRZYnBWcmxvYk43a0JRNGF4RHhtZXlRcTdxMWFo?=
 =?utf-8?B?UHQzK0ZNZldhdGI4V2NmRWw5bHVIWE91RStxTit4dGpHNlZJYk50dGhyWkNO?=
 =?utf-8?B?TENrSzJhQUd0cTdRb1VtZTlzdGVQVVRiSjVUVUo2RTREL0VES2t5NUlWQXBz?=
 =?utf-8?B?a1ZJMEtTeEFpai9sVEQ3RHpmRmIzSlpER0NMZDFNcFcxcWtkQmY3bVhXNUlT?=
 =?utf-8?B?Qzc5VEtKY21NbkhLa3FyVUhYZTVHQ08zVE52eFlrS0N1SG1CL2VCZVpFWHhI?=
 =?utf-8?B?YnpaTUdsZDhUa09UUEFGSEtOdkxJb25MYUFKMzFIMGUyeXhWK05SWEVCV3dn?=
 =?utf-8?B?YUVCZnh2dndWVGhqYzdQd2ptRkl2QmhWbWJzYy9ycU5JYkxTV3FLRUc1VnZQ?=
 =?utf-8?B?bjZEK0ZrcEFCVzIwL09KQ001WVFzd3c0RE5rQmt0RFVhbjFYRWUyUGs1QURM?=
 =?utf-8?B?TENJbGs3U1RJS3loOEpBUld1K1ptRUNSZG0rRnRRcUlFOFE3V3NVQVAzNkFl?=
 =?utf-8?B?dDhoRk9vMlVBbFN2YnlRVjdxb3lDdDA5NnJhTDlHa1VEMXdnMkpaZEIzY3dL?=
 =?utf-8?B?dklFY3h1d2lLZkFCQ2ZtZGE4UktJY0Z5ZTJxdE00cDk2UngxVXlERU5YTVdP?=
 =?utf-8?B?Q0tRaksyNkt2YzNodDZGdEVYS2x6blNJUkJTOEY4WDJRdkRrb05GeTN3YzFi?=
 =?utf-8?B?RkVXR2Rqenh3Wm1YSitnU1MwenQzYWo4SkU0MDhYLzBTSU9nMGlwUnlWMnV2?=
 =?utf-8?B?a2dqcTQwRi9pM2ZEZjZLZ254SUJiSGduSllNV1F5QkgySXplNmFVN0NrSUEr?=
 =?utf-8?B?QkR4NlR3Z3VCMWVFMUg1dVBhNlNOdU8yeUowcjJNM1VuODE1WWNZc2tia3hi?=
 =?utf-8?B?czYvS3FyS2lsMGJqbUg0MVhZbDF0c3JtZC9KbFhZcllTU05QVTJMa2Y5aHRm?=
 =?utf-8?B?ZXRYcElaa1Nyb3cyaHVBNXZyMFhxbW96TTh0R1l3V0hvdU9QeEFUdTJ0SklU?=
 =?utf-8?B?MUtaMW9zSUV1aEVTdmJXVFpxaHduMnhUZm00d1BSMUVRNjlkRkFkNU9nUHpl?=
 =?utf-8?Q?NgffgiJamLRJwM74C1W2t1wuu+6chYZb?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MWJzMkFvUSsxVHQyemVpczFnNGlWc0xEdXFOSFF4ZGRscHdTV1Z2aldNd3Vi?=
 =?utf-8?B?ZHdxOU13ZEllRFN0c1hRb2tDZTAzRWlkY3p1c0Q1bXhPVVd4SkJraElzekJ3?=
 =?utf-8?B?Ky9sOTNhUjFDL0crRExRQ0EvQkVwY0gzcE9sZm9TRWNmWHZwa2E0clg5b2Qx?=
 =?utf-8?B?aGlrYUpFSVlCZWR1cTVHVHJ4dlF5cEk0RkZzYlBGRVY0alpadFZ3NDZUaExX?=
 =?utf-8?B?cHVxNFlNcGhnb1Q5NEFlVnJncVVTTHRJL1hSR0JsOGRKOFoyTnF6a0xyWVZv?=
 =?utf-8?B?UTFqbTBSMEdGdjhFczFSZUg2STJRQ0Y2b3FHbmpvdWhtN0dOS21FN3NEdmYr?=
 =?utf-8?B?N1FSblZyWGlsOG1yQUFORmFzOHNFeVBlNTQvYlZUOTdla1o4bnJEVUhkeGN5?=
 =?utf-8?B?MUdnZk1VRXIzbDVJNzFCSy93UjArZVNEd3E2cjUwV1JkUTNxOUZVNDlJYmV4?=
 =?utf-8?B?WkJCanBxOURnODVWekVhNHMzbjZzR1FZSDQ4ajlWMStJWEtsL3M1QmFnMElr?=
 =?utf-8?B?cy8yM0hrNHFzU2Vqa3VLRVpRejRtdU1FaDJaNEloMHdHUmJPMUN1bUZmRldP?=
 =?utf-8?B?cG8xYnQyTGRWWVB2SW9UNDZES21RdkF3QVZ2MFpob1VHd2MxQzAwNlF5NnNk?=
 =?utf-8?B?U0x0SS9Jbk4yNy9zeXdOVlBzV2p1Z0hNdzdhLzJGOE9FSGQ4NGsxS2llUFFS?=
 =?utf-8?B?UlJCRWtFUG55QXhDZ2N3TE1hVHMrRmQxdFpXSHJJQUtHM2xPOGNIaFNlR1Ur?=
 =?utf-8?B?Um5ZL1VqMjZSa2pTTzA3U2xBanlXZlo4VVFHZUU5TVY5THIyRnNVa282VkVB?=
 =?utf-8?B?TTVMUGpmMmgvQXFRd3pyYXovTXMvZGp5STZqTnpkMFpOcGZHVjRGMk5ydEdI?=
 =?utf-8?B?WURJU0ZuT3RzZExuY3NkUFhWbGVGalBlWW9JZStYeVhsUGpJYkRadXM2dWp3?=
 =?utf-8?B?RjRadlJieFJQb1AxenRrRmNnek42bncwNCtGWHZabzV4dm1pTlQ0bkphL1U1?=
 =?utf-8?B?WUpTbGdPekJLRmlKeVV0Ymp5ZUZMMmFCUWxSTC9tNUlReXpkSXV1eHJtNW92?=
 =?utf-8?B?L1RNZm45eWdheWFNZ2VrTkM5SHh1cG41SE01M3djRkp6NzZZSFBMTnVUL0dJ?=
 =?utf-8?B?dHNEZDJrcUtnS2lBaUswRThiS2pHcEY3VG9NL2J4UVp6WG1NM20rcndxMkNr?=
 =?utf-8?B?cUNGUEYydk9TOFc2RCtiK0dXOGUvRS9PTGQzQUVSakZyaGxFMkFsUzdSaTdq?=
 =?utf-8?B?SkhPNlpXR013STc4Mnd2QUdjZkJVZkV4Q3UwZWdGOVMrOU45ZWZMaXZTcmw4?=
 =?utf-8?B?VURzSTVwS1ptTDk0dkdSNVRDejR0dWFXZTg4VTZQeHQ0RGRObG1GZVpIbmpy?=
 =?utf-8?B?aWZldzNpcUpiUm9LWWpqVWY3UFBTcWF6S0VRb0ZRSmdITndyMHBxRzdGTDhP?=
 =?utf-8?B?cDA0OGxwSEtjekt3Wmg0c2g3TjZtcVk5aU9UUHh6WHE2cHZ6dWNDNXhvaXdE?=
 =?utf-8?B?YkIwNyszbStPSXhydG13STFIWjNzS0dVTVZreGJvRlVHWVZMNFl3bDdPNjho?=
 =?utf-8?B?Tm0wRzA1Zi8wOG5paHpGd2FMSVdlUW1tMHF4NmllTnl0ZW5nWDkvUHJsV0RB?=
 =?utf-8?B?dlZ5YWt4Lzg0azN4Z0FIVzAra1lQdGZsNmxlbWJ4MDNZaXQ4TnlzZC9zZVBo?=
 =?utf-8?B?UVkxT2J0c3JTdTVmMGx5OUhPSW1Da0J0TnQ3anNHVG9XWUFYZFBDRERnRFMr?=
 =?utf-8?B?cU52ekhnZWRyeWVmWExlVDZwaXpnZXlBTDY1K3hDeHlseW5ubjhhcFd0dGFs?=
 =?utf-8?B?MFNXS2luYnA3UnhXRkEyQWhDcHNCcnNlS0VRS2J2M0N2Q0tXWmUrQXpzZGti?=
 =?utf-8?B?SCt0UW9UZDlHV1BFKzFVR09EVnZ5YmVRaFdRWU1CNXJyNXNqWVFQaVNsQjU4?=
 =?utf-8?B?dENCd2UzMEZ2Y205RE94SlhmLzBZcUY5aG50bjhWZkwvSjRiNzVXMFVLU3pG?=
 =?utf-8?B?NnE0WGw3RHZEYWRBSGdyWkxicUVzK0xoK2xPejZyazNmR3BKMzVRWTRMdDZC?=
 =?utf-8?B?dWlJcjBQcnBza2J3a1ZhL2NOYVB0N0puamFJTU4xWG1oRlRjTnp3bklqNDUv?=
 =?utf-8?Q?31ZlLugUH1c5KEzI1uafe9SBW?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0350aba0-91ff-4b39-a291-08de0d5e4c2f
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Oct 2025 09:19:39.3032
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: rxDtRLzdOETuwtVh+6j4u7Llnmyn/THeEPVgRwQaq8mpmuhLQvt0M05QOv4zVN07bZYVCuBCgJfKyFuuEKrh1w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR03MB5858

On Thu, Oct 16, 2025 at 09:32:29AM +0200, Jan Beulich wrote:
> Following hpet_detach_channel(), IRQs may still occur: Ones may already
> be in flight (both from before and after the last IRQ migration, i.e. on
> possibly two distinct vectors targeting two different CPUs), and new ones
> may still be raised as long as the channel is enabled.

Description would need to be adjusted if nothing else, as it speaks
about two distinct vectors which is no longer possible after patch 3.

> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

With the above adjusted:

Reviewed-by: Roger Pau MonnÃ© <roger.pau@citrix.com>

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Oct 17 09:24:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Oct 2025 09:24:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1145079.1478226 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9gh3-0004aj-8L; Fri, 17 Oct 2025 09:24:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1145079.1478226; Fri, 17 Oct 2025 09:24:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9gh3-0004ac-5m; Fri, 17 Oct 2025 09:24:13 +0000
Received: by outflank-mailman (input) for mailman id 1145079;
 Fri, 17 Oct 2025 09:24:12 +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
 <SRS0=rDIu=42=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v9gh2-0004aS-3V
 for xen-devel@lists.xenproject.org; Fri, 17 Oct 2025 09:24:12 +0000
Received: from BN1PR04CU002.outbound.protection.outlook.com
 (mail-eastus2azlp170100001.outbound.protection.outlook.com
 [2a01:111:f403:c110::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 077ae256-ab3b-11f0-980a-7dc792cee155;
 Fri, 17 Oct 2025 11:24:07 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by LV9PR03MB8438.namprd03.prod.outlook.com (2603:10b6:408:376::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.13; Fri, 17 Oct
 2025 09:23:58 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9228.011; Fri, 17 Oct 2025
 09:23:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 077ae256-ab3b-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=fjdjNPjxG1zwGiW8vjF3CL5Wo3WUD+9GW3nYHR/w8s9c998ufsg6iRTLcSTMWm81g4esh30AUdd8Lq7jFvSYwArofZdBGzJJSicVeUQ0Lie/xxzCSkNU9hg/NgwHgnxe+oYfmfE1NCAikwWMgZ8FFAN3rArwI4nvqCGNCjVvr4/p0UQZ7QeR7HdfjWdc2r5xdw+FhvPwz4XC7dlcilWfDjhPAqJZv2qn53kLr2If8+3eqbD6GCH0RUFH87FyW1A4ioaYV0lg3SuCbQ67ui2C2g9+MGVaYJYw7DE+AQ26vMcPVHCfy6SCqrswGUUHdjX+KTmsnSorZljiEzhnuWk/xw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Xq1hiIcf0bmDeEBTm3L8Q54ZgZCRwMLBfukSlYg8JaI=;
 b=E6ZgfGqWsr62fjB5rusphRjP+D+LHYkeD4I49WbfLx2e8/RMY1/o2qO1a5Z+8w4iZ9ixeUMfVmuctWWD+kpqBfTjYzyp1wimp+ZuR3W0N1yEP/v6gMg47kzhOhVPrrs5FdXIG+en85exBcGSCxUOX1cRnOzvAqO+pfGYyhf7FsF9tHpltEB7xJc/QflQdaN+PBxd2R5yfVGmgyJyBn+Sk90M9IOPnAxKwDtc/QZGt2jOexmLvUxAjN1BkTGvA4KSzFQc5Pl4fuJajTxIEyiYIc8PPp1OD8Z8XYOdMxguSGlp+EVNz+eVuJIz7vpH4KweyfU4wWK2nSQcDk46k7T+Xw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Xq1hiIcf0bmDeEBTm3L8Q54ZgZCRwMLBfukSlYg8JaI=;
 b=E5q+ND07V8jIIgiaHQhQriGIzvnZCv6nCFXfKJWlY+WlrNHDPRWB1VhnUlBVcvqosoUKrAUAxf1IosKGM6auRf/QKy16n1+77hmj8mnYll4LFoMFKUkgTGPT5v3rnez7B6Lrvxh216hec9Zjk/AOs7dWzgXPV4sZzViYLf02xmo=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Fri, 17 Oct 2025 11:23:54 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.21 01/10] x86/HPET: limit channel changes
Message-ID: <aPILKoTwmUYK5p8H@Mac.lan>
References: <8d94abf8-70d1-478c-885e-ff9a960ac72d@suse.com>
 <494c897c-a138-4d16-93b2-67e3aa8d41e7@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <494c897c-a138-4d16-93b2-67e3aa8d41e7@suse.com>
X-ClientProxiedBy: MA3P292CA0015.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:2c::11) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|LV9PR03MB8438:EE_
X-MS-Office365-Filtering-Correlation-Id: 35a31049-aa95-4640-c649-08de0d5ee6aa
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?Y0JtOUxmcWFENnY4M21lUlV0YXhVUTEyUFA3MkdReVdMdFg1VWRtMG8yZFcr?=
 =?utf-8?B?azNGWjJHUVVLOExCSGRDNEtkY05WYWpvK0hTU0JSMHBsb3dwU01Vei9DcVJx?=
 =?utf-8?B?cmZva0JEWFpRYmF0WE1xQ0hmRTM1bDdYWXptcXZBQ3RaejRuVGg3YXhMTkFH?=
 =?utf-8?B?M25URGR5aFhnOGY1bVZwcjBUTUp0U2JlKzRiTmZTV0lsaTFXMXFRdkU3eVN4?=
 =?utf-8?B?SVlBbU5sbnNoWE5lYk56bkdHVXlDN3dadE9LUVNJS3lzVS8wd050T2EzK3Bh?=
 =?utf-8?B?U2ZrKzBndG1oZDhsdG40bGpxTXorMnROR2RLYnpsbEh4ZW1hQ2w0a1BwSElL?=
 =?utf-8?B?QzdTN0FpMytPZTVFd1ZMSWhaRFNNMFdYYWplenlsTTJ4ZFp4Wm4zd1RVN2M2?=
 =?utf-8?B?OG9VdmhEV2NoOGYweUVNNE52NXY4R2ZtSmU4NkREZC9UWEowdkgxS01yUHFC?=
 =?utf-8?B?b1pIcmovK0pabndzbzFYSUtMb2dTV3piSHcxWmo1OE9oT3pRRU5id1JCSUIv?=
 =?utf-8?B?VmZGOTF4Z2tIV0JPYkhLQjdURWFrcWR2NmNYY0VNMDJUdU9aaEx5emEzZjBn?=
 =?utf-8?B?Sms4bW1BMTJZMjVwbFQrTFhDeTdaOFZMNzBXUnBDQnN4RzZETkhZTW5CVUxY?=
 =?utf-8?B?Ty9CZVlTdVRwT0VTMzB2NkZhcWh2eVh2WGZCK0dnQXdsRVBxRDFxdVAvQVlU?=
 =?utf-8?B?TC91UElyYUxxcVJQU3lQWlR3OVIrKy9ObndHb3U3R1VxRTVOVGZVZ0ZOaGo3?=
 =?utf-8?B?UG5vQWtwKzRKQWFwZHZScmRBMmNQWWFyb2VvbWRaWmlLZjQ3OFRDRVJGVzY1?=
 =?utf-8?B?eWZiY0lrbEhRNkdubE9HYThPMGVkaE40UmszdGc0bnpmdGVpanN1clpGS29z?=
 =?utf-8?B?Ly8wWVhwb1NIZ2RDT3h6YSs4a2VzNWxOdGcxSW0vMzdKSEJLU3VJY0NuZjB6?=
 =?utf-8?B?c3dkVkRxM3FiZVQwbVZXOWpRRWpKTFZHVWNqVHkvR253YmJqMUlUaFdJN0Fj?=
 =?utf-8?B?RUwxM3VrSFE5ZDdrTTVvT2VvYXcrUkU1OG5LemhtcFZjRWhmU1JFZ21PYmZX?=
 =?utf-8?B?dUF6VSttK0ZxQTVOdm9qaTlCMUpleEEvVVpRdFMxblVBdFRvSFRaaVAxSndK?=
 =?utf-8?B?RWQ0V2VkTEMyNjUvRXdIc2xwUmNCWGltc3BTTkhlN01IalpHVm9xdzdVbEFm?=
 =?utf-8?B?UUlOWlJnYWxjODZVMmgwUk5qbURJWlBFbXZqSXo4NWRhOGg2d1NlQ0ZxaG1C?=
 =?utf-8?B?cjZYSndOWitlSTRxVnJnb2lEdGVvYi9jdldvUWJDRU50ejVudU55L2lqM3Zq?=
 =?utf-8?B?SmpNQlF4UjVmQ3VoSUtBU2hFbFF3TWRPWDg2VGlLRmtEcnBiVm9CQzZ5Z3F1?=
 =?utf-8?B?OWcvenBnczBHbCtsNEgrVDV2dTVjenhPbGYxd2Y0ODJaUkRuSGR1cWU4WWxU?=
 =?utf-8?B?WUg1Y0lrdzJvRzBxQU5FSkplVjZOVlZDOVlXVVdBUXRnakp0Yk9YaTJsMDFQ?=
 =?utf-8?B?ZW9scHRnbWxlenpmcWZ6Y3B4QmJMc1dIWnRzVFVPNnlGK0lkRHR0Q2Z5M1A5?=
 =?utf-8?B?bTdzL3I0M25nVmJ0VDhPc3pKaktXR2dlUGxVRkh4aHR6c1V3bGV0Z1R1aXh6?=
 =?utf-8?B?YTZ1NCtvTnRxSmg2TFU2ZTF2dzVXTUNOdmhITWg1TDl3dVdRMmtFNVA4enNZ?=
 =?utf-8?B?bTFhNnhaeG9QOC9GVHBKN2xkcU9GbGV5YWt6V0hkR2d0TXhsWnNIeVpaelRP?=
 =?utf-8?B?Zkh6ZXljeEk0UEdOL3IwZlVEbEc3RjR0RXROeUN2aW94ZTJZVHRpcTNKMit2?=
 =?utf-8?B?bWZuTlIvdStHNHhTLzZVSWVXdkNWZ3pIMEkxbUtIeE1oMi9UbWZIREkyaGo1?=
 =?utf-8?B?M3VacEkxek1ZWEFYYjhzMHJ0OHRreTM4bWhWdkMvbXRSYVpmZGtrYTJwcE4w?=
 =?utf-8?Q?nzULTYQMqHzjBTTslpyjY0CCQTVsZstJ?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UGRSREdoYm1hR2JIZGJ4N0xCK1lWK0pDeGk3MVJIcThHa3NTNVBKcXFTS1c1?=
 =?utf-8?B?Vit0azJJTVV6WWF0ODM4K1hRRmplOUt0VTJsbXFIU0RCU1JoNHFZelE1VVV4?=
 =?utf-8?B?K1A3VTFzeUltRDFwY1dmYmgzZmdhbHVvWlBGeC8rK3dFVjgvTXVoSUovQWkx?=
 =?utf-8?B?WC9OZk9DWGh0U25WMWxuSHpPVWNMbHBCSXJYckhRcnVXeGg5RmhSRnNhYVdC?=
 =?utf-8?B?a1lqenh2T1ZjKzNtQkRnd2JRb1J5b2JBUEdSUXF0d0VKNDVnT0loK2U3KzZK?=
 =?utf-8?B?NXNwT2JpdE15ZldPR1dPNUNxcEN1ZjBJTkVyYUYxTUZSMXliRW91NGpCZkFD?=
 =?utf-8?B?b1M5dDhZUW5Kb0tHcVJEQ09TOWcvWU1mWnZmTWlGdUFtZHhDdElrY1A4UUNx?=
 =?utf-8?B?OHphblZHZG1GWU94V1FpczRSTkpjSEd2NHptL1RtYUNjRFV3eE5LVkNvOGNj?=
 =?utf-8?B?UlAzdEJDZG85UmtXZlNQL09Ud0JBb05BWkdOc2R3aFdGZDZESUg0RWg4Y0dZ?=
 =?utf-8?B?MDZ3RDhDUFpQTFBDQU0vcWJYUm1pOUpacldaN1BZY2dqYVZKaVpEOEw3THpQ?=
 =?utf-8?B?WjdCdkk4WjNXQWFwa0QwZ3UrUVhxR3pXQzZzdXFSVDQ1b1h4ckFrNlVkWnkz?=
 =?utf-8?B?d3pzWlRNb3NXeWdqK0xCSkpRY0lNZWRFVHpiNDhqZEFza2RTcFZWTVdOekFp?=
 =?utf-8?B?NkFWUDFFYmN1TU44T1pNa2dSMndqc2lybVdIZEh5Tm1sZFZrczA1KzM5QThr?=
 =?utf-8?B?bHNPbzNZemw3bXFXUzN5Vkl2bE4weE5MSVkyMWl4eE10Zlc4OVl5dmF2MTJq?=
 =?utf-8?B?cm41alV3b0NZTVhIV2UxQ0sxQzVJNTZQT2p1NEJxV2dRWndzc3gxU0lqajBv?=
 =?utf-8?B?SVZPNTRiRUJtWWc0N24zMldEcUQ5aVdtbGJ6N3RhL0lEKzdYUVFWdmNHYXpJ?=
 =?utf-8?B?MGVIY201clVSNU12bDlkM09raTFWSlFCVGdYcGpMNUFwWFlrYU1RM1B6WktW?=
 =?utf-8?B?cEp6T01HKzgyMmlpd0JiQnBRUzVxTUZzeFNYUHBrdllkdE4reGVhdXlKVWM3?=
 =?utf-8?B?MWxEMkh4VHdHWGg0U0RUQmJHTmh1RGRxUnY0TDF4bWJHUFZqbklZQ2JYWjRW?=
 =?utf-8?B?cFJ6UkZFSy93Q3ZaT1lMeGt5MXRYK3l2K0lTTHRLZmlLK3NKM1lIV2dzMDh3?=
 =?utf-8?B?Vnp1WmZXOXpOTi9SQk0rRHduS2NoOUhxeUVDWVVrQ3RrS3JjenJ4SzZIN1RR?=
 =?utf-8?B?QnpZdXZqb1RsajM2TWsrVVJSMHgwL2hqSU52Z2hCTG9mRHo4ZlY0YTJvaHR3?=
 =?utf-8?B?QUJGRi9WeWFHbHhkZnBmL3RnLzlUcTdTajA4RFRldS9PMzcrN296S2ZCU3Zy?=
 =?utf-8?B?VUNFNkFvYjUvYkdvOS9sNGFxcHNKTlh6bFVIVjFNOUsrRSt3Z1JGTGZabGRx?=
 =?utf-8?B?Z0t0L0d3K1o4REJMUURHbG1CcFhvNVZxRHlxRUh5Zmp1QUxxVmpYenJ2ZVc0?=
 =?utf-8?B?bDZVRnFNRU1BVnlRZXg5MW1GcU5nN1JQVkRIbzNLQWxwZzhPSy9FV09DU3ZI?=
 =?utf-8?B?QkpRaWRXZ0J1eHV2WFBxeFlPUmt0OEtzK25tV2w2UVk0OFE4OVBaakVySStm?=
 =?utf-8?B?ekY5SXdSWXFnKzV1dXo1SW83Y0VXVXBMS2Y1bU81dWdLOHhKblk3U1dNTDE3?=
 =?utf-8?B?dkxzcUl6ZnBOTUhjZFMrdk43ZkdEN1RMbXU2eEhWNjNxbU9WYlovdUJqRXV5?=
 =?utf-8?B?K3plWEJ0N09VRFZMQnJyWlg5K01lMHJRRTV2QTJRNW1JckVhcWxQNFJsSjRk?=
 =?utf-8?B?U3VsOHA1SUdESGJxWElNR2hXbUJqVEFNRlovVFhJM3h2eDY3eHlVc2VESk4z?=
 =?utf-8?B?bmhkUjVhRVplV2FBd0lGZWlvQmVMWTJ5eVBsaEhOK3RQZW9ZNmNPV2RCRURj?=
 =?utf-8?B?V1pIWVBwL2ZDVUNZNWI3aUJWTXdVWll4YUJia3phelFqcVhnbEFtM2QvRkFx?=
 =?utf-8?B?UkRHMCtRWlhkOWpXZ1M1UTh6Y3dtSUhYd25Hb0l0R0xxTWRhOUw5OHptcVRh?=
 =?utf-8?B?dzhsYXk0MXR3MVVPbzM5QzJGQ21sWHlUT1JjK2lmWFRzZDZsNzQxUE1HQloy?=
 =?utf-8?Q?dVAQt8wm5wf7XBaGpiGg/wTmG?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 35a31049-aa95-4640-c649-08de0d5ee6aa
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Oct 2025 09:23:58.2933
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: XDHuwnes5Ie26GSTqKDi6Cwf15KATb92Muh6F3zensQuAqba5twnjUE2wJFgmLkzE42AYjjm7C4TeKF427IGgg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV9PR03MB8438

On Thu, Oct 16, 2025 at 09:31:21AM +0200, Jan Beulich wrote:
> Despite 1db7829e5657 ("x86/hpet: do local APIC EOI after interrupt
> processing") we can still observe nested invocations of
> hpet_interrupt_handler(). This is, afaict, a result of previously used
> channels retaining their IRQ affinity until some other CPU re-uses them.
> Such nesting is increasingly problematic with higher CPU counts, as both
> handle_hpet_broadcast() and cpumask_raise_softirq() have a cpumask_t local
> variable. IOW already a single level of nesting may require more stack
> space (2 times above 4k) than we have available (8k), when NR_CPUS=16383
> (the maximum value presently possible).
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> Whether this is still worthwhile with "x86/HPET: use single, global, low-
> priority vector for broadcast IRQ" isn't quite clear to me.

Seeing the rest of the series, I don't think this is necessary
anymore?  Also the comment you here is made stale by the patch that
uses a global vector.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Oct 17 09:34:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Oct 2025 09:34:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1145097.1478261 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9grC-0006SL-DY; Fri, 17 Oct 2025 09:34:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1145097.1478261; Fri, 17 Oct 2025 09:34:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9grC-0006SE-9s; Fri, 17 Oct 2025 09:34:42 +0000
Received: by outflank-mailman (input) for mailman id 1145097;
 Fri, 17 Oct 2025 09:34:40 +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
 <SRS0=YhSQ=42=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1v9gr9-0006S8-Ry
 for xen-devel@lists.xenproject.org; Fri, 17 Oct 2025 09:34:40 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7fdab025-ab3c-11f0-9d15-b5c5bf9af7f9;
 Fri, 17 Oct 2025 11:34:38 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 (Authenticated sender: nicola)
 by support.bugseng.com (Postfix) with ESMTPA id EE26F4EEBC65;
 Fri, 17 Oct 2025 11:34:36 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7fdab025-ab3c-11f0-9d15-b5c5bf9af7f9
Authentication-Results: bugseng.com; arc=none smtp.remote-ip=162.55.131.47
ARC-Seal: i=1; d=bugseng.com; s=openarc; a=rsa-sha256; cv=none; t=1760693677;
	b=qIvqJUjXdp+Ac5mT7biKLpmV30r/KEgsO80CGJfx8uUyqp7cjPbcfeCfphaHaHLtOzvc
	 o2ewnldi3/H0Y7Jgcd3tt19sWvx37J3sAfXPuUaAi/uuVrrVpmZEWnysHY7aTPWSyLMhB
	 rftN8YY7ARiL5oayXb8RU5BGDh1eJd/d3TSkL7DDEZ9CYtUlD82UFTBI25cx1DTgwr5lN
	 0ZipUsBNkx1RoTnpYGRXCzlWjndCtXJ2WCVL/DJQuXHFKQuLeuOoBhyQTGrlekaX6ZC9Z
	 vr/OuVLr4u12JEJwpA4mspKIavqtUXQGFSW+Xr8F0oYhKz3OgTSehK4sonCK2WKq18kUY
	 KrYLdKSlqIHeVYbIRU6OEdbqKCQ+FlXJiJ9PlGHvdoASmcvQiUCBA8gZDuUq91f7oEKOT
	 L/I2ZgWTmEzXuR7uPQp4vpeh6qX+N3sVVOtei1QCfPtKjQkN8GBAmqVdAdmPjtS9iRt4s
	 efq/GzxVJ6+iNsCrw08xfDQQZfFVF/hL68JMrUAYG9YLGwkV8qp1uks0XuAdDXXZY58GY
	 hkjyWpz+vzJvikBEt5dmShiBV8XJHGUHvTcqSgSWoGKrE1Daw6Ao8PDEkhLnYaxCxGZXk
	 frLROMyy+ovxn8e0gYD2WtXP2cDlmK+ArNSjAI+weddtOm0l0tWtlZbENF458Ng=
ARC-Message-Signature: i=1; d=bugseng.com; s=openarc; a=rsa-sha256;
	c=relaxed/relaxed; t=1760693677;
	h=DKIM-Signature:MIME-Version:Date:From:To:Cc:Subject:In-Reply-To:
	 References:Message-ID:X-Sender:Organization:Content-Type:
	 Content-Transfer-Encoding;
	bh=8Dob8iM2aHXfbBl911tqjtAcDC5iDNRSRymFWrDdxoE=;
	b=jCewZDLNKIxlwq080BobSwR2Hx5b+97EpiEtxibpdDFUX+cnAiZmK8SnmrC+scwDxiPz
	 Pn8XWDuxo+TeArCPctyQ/Cv+vLvOLAcMVq7run5ottfFbpTHjPPGvBZM6uvpKUTca5z8H
	 jkmsh8Q4m+9tmGbmGkFR7+EDkDxxRMTWH3F396ZUDxzo9bFZbZ34DOMr+l57Fejz6VBb2
	 oANYJFbZTgzZbbVzUUN9FI0renpLBiKRTM1gKFVfu8LiXLF3eLZ0fXFFO6eVcEY71+Wkr
	 wRvwvJ3SsfMLObJxlw3WC+mP8sgbYeUGfO7aAoVeWMEpPwmSrGHAqLiZQmYjbFhM2KBUG
	 9Df+sSsSO25IuoKJVFc2DI4/En2sIiQEKeNBqgj8GLc5lcniJQ5DKJUc/3EyPL9lijIcK
	 lxtGKWAiHC+AE71ro4qcib5YoSvmWLRU6GHqv15Kmxo+ZNo5UettQDfEEwwM5i+2ikGyV
	 X4sdC8JYqEXQN34G/6MKpBt61Ewy2IMKNtITlIH1Dco50dHBGM1C6cqCYfGTZa8MZuq/k
	 G6S0SEFeCxubFKejMJCx9uj4J60uLS0HKlZfb+pMjOyhQmsGhAL+WQsSVUzheHFxO4n5O
	 Y+eIC8nu7jpKN1oaNGaabnB8mQmgffMnbbWodyxmsq9M3o3LtiTivgA0e8u4gS8=
ARC-Authentication-Results: i=1; bugseng.com; arc=none smtp.remote-ip=162.55.131.47
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1760693677; bh=2ldG8JCSdbKXFxu9jFZ/g3aH/dmvLGXIYiExH2g/NRg=;
	h=Date:From:To:Cc:Subject:In-Reply-To:References:From;
	b=pzUjOzF4ryJgOEcHiSQzjDrcIlNisyUS78cFfRYovPXc7EuaYWIakAtBkVt+NWUjO
	 ZaUBIyfchRd59FjYFHJ0EpxMoRX7NqigRv63tBGTGF7aAVbg8AQNXbXacvhHqX37Jq
	 gNX2LCyIG6ap0+t5ZUWEAykkMcRF8vGBiH94RUh6AqKyEJrPApVzeO7CyAGjg8QPxg
	 L0QQdFOBoZLHiuSONVmVQDA8a60OiKHVXdDTJ1yhdoPUGK/NBr6lu1sCNrjU8nxWLN
	 KJErrMSm+5O9LSdVXyjZkTE4flo+ZiRn/26rV9hbHStkLUxdTw1PCawgGu7fJdiezB
	 O+GtJ4zH2HTzw==
MIME-Version: 1.0
Date: Fri, 17 Oct 2025 11:34:36 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, consulting@bugseng.com, Doug Goldstein
 <cardoe@cardoe.com>
Subject: [Ping] Re: [XEN PATCH] automation/eclair: add new analysis jobs with
 differing configurations
In-Reply-To: <d4a0924c84e78b3f677b0d987c2f8e4b3f6b80a5.1758226234.git.nicola.vetrini@bugseng.com>
References: <d4a0924c84e78b3f677b0d987c2f8e4b3f6b80a5.1758226234.git.nicola.vetrini@bugseng.com>
Message-ID: <adf715553750d344517f8818233af41e@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2025-09-18 22:16, Nicola Vetrini wrote:
> The following analysis jobs are performed:
> - eclair-{x86_64,ARM64}: analyze Xen using the default configuration 
> for
>   that architecture; runs on runners tagged `eclair-analysis'.
> 
> - eclair-{x86-64,ARM64}-safety: analyze Xen using the configuration for
>   safety, which is more restricted; runs on runners tagged
>   `eclair-analysis-safety`.
> 
> - eclair-{x86_64,ARM64}-testing: analyze Xen using the default
>   configuration for the purposes of testing new runner updates; runs on
>   runners tagged `eclair-analysis-testing`.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> ---
> Naturally the right tags to the runners should be set beforehand for
> this to work as intended:
> 
> xen-eclair-runner -> eclair-analysis-testing
> xen-eclair-runner2 -> eclair-analysis, eclair-analysis-safety
> TBD -> eclair-analysis-safety
> 
> The last runner is not set up yet, but due to the redundancy can be
> brought up anytime.

This runner has been brought up, it just needs the correct tags to be 
set up. Can I get some feedback on the overall architecture?

> ---
>  automation/gitlab-ci/analyze.yaml | 38 +++++++++++++++++++++++++++++++
>  1 file changed, 38 insertions(+)
> 
> diff --git a/automation/gitlab-ci/analyze.yaml 
> b/automation/gitlab-ci/analyze.yaml
> index d50721006740..a4cca00fd100 100644
> --- a/automation/gitlab-ci/analyze.yaml
> +++ b/automation/gitlab-ci/analyze.yaml
> @@ -45,6 +45,21 @@ eclair-x86_64:
>      LOGFILE: "eclair-x86_64.log"
>      VARIANT: "X86_64"
>      RULESET: "monitored"
> +
> +eclair-x86_64-testing:
> +  extends: eclair-x86_64
> +  tags:
> +    - eclair-analysis-testing
> +  rules:
> +    - if: $CI_PROJECT_PATH =~ /^xen-project\/people\/bugseng.*$/
> +      when: always
> +    - !reference [.eclair-analysis:triggered, rules]
> +
> +eclair-x86_64-safety:
> +  extends: eclair-x86_64
> +  tags:
> +    - eclair-analysis-safety
> +  variables:
>      EXTRA_XEN_CONFIG: |
>        CONFIG_AMD=y
>        CONFIG_INTEL=n
> @@ -75,6 +90,10 @@ eclair-x86_64:
>        CONFIG_DEBUG_LOCKS=n
>        CONFIG_SCRUB_DEBUG=n
>        CONFIG_XMEM_POOL_POISON=n
> +  rules:
> +    - if: $CI_PROJECT_PATH =~ /^xen-project\/hardware\/xen$/ && 
> /$CI_COMMIT_BRANCH =~ /^staging$/
> +      when: always
> +    - !reference [.eclair-analysis:triggered, rules]
> 
>  eclair-ARM64:
>    extends: .eclair-analysis:triggered
> @@ -82,6 +101,21 @@ eclair-ARM64:
>      LOGFILE: "eclair-ARM64.log"
>      VARIANT: "ARM64"
>      RULESET: "monitored"
> +
> +eclair-ARM64-testing:
> +  extends: eclair-ARM64
> +  tags:
> +    - eclair-analysis-testing
> +  rules:
> +    - if: $CI_PROJECT_PATH =~ /^xen-project\/people\/bugseng.*$/
> +      when: always
> +    - !reference [.eclair-analysis:triggered, rules]
> +
> +eclair-ARM64-safety:
> +  extends: eclair-ARM64
> +  tags:
> +    - eclair-analysis-safety
> +  variables:
>      EXTRA_XEN_CONFIG: |
>        CONFIG_NR_CPUS=16
>        CONFIG_GICV2=n
> @@ -120,6 +154,10 @@ eclair-ARM64:
>        CONFIG_DEBUG_LOCKS=n
>        CONFIG_SCRUB_DEBUG=n
>        CONFIG_XMEM_POOL_POISON=n
> +  rules:
> +    - if: $CI_PROJECT_PATH =~ /^xen-project\/hardware\/xen$/ && 
> /$CI_COMMIT_BRANCH =~ /^staging$/
> +      when: always
> +    - !reference [.eclair-analysis, rules]
> 
>  .eclair-analysis:on-schedule:
>    extends: .eclair-analysis

-- 
Nicola Vetrini, B.Sc.
Software Engineer
BUGSENG (https://bugseng.com)
LinkedIn: https://www.linkedin.com/in/nicola-vetrini-a42471253


From xen-devel-bounces@lists.xenproject.org Fri Oct 17 09:55:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Oct 2025 09:55:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1145114.1478271 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9hB3-0000ts-3w; Fri, 17 Oct 2025 09:55:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1145114.1478271; Fri, 17 Oct 2025 09:55:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9hB3-0000tl-1A; Fri, 17 Oct 2025 09:55:13 +0000
Received: by outflank-mailman (input) for mailman id 1145114;
 Fri, 17 Oct 2025 09:55:12 +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 <SRS0=k1Ob=42=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v9hB2-0000tf-5c
 for xen-devel@lists.xenproject.org; Fri, 17 Oct 2025 09:55:12 +0000
Received: from mail-wm1-x330.google.com (mail-wm1-x330.google.com
 [2a00:1450:4864:20::330])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5dd3c13b-ab3f-11f0-980a-7dc792cee155;
 Fri, 17 Oct 2025 11:55:09 +0200 (CEST)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-46e3a50bc0fso12977015e9.3
 for <xen-devel@lists.xenproject.org>; Fri, 17 Oct 2025 02:55:09 -0700 (PDT)
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-4711442d9e8sm74996385e9.7.2025.10.17.02.55.08
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 17 Oct 2025 02:55:08 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5dd3c13b-ab3f-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760694909; x=1761299709; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=xa86NOsetCb4HvBrnwhfwJ6TA3wmFEX7AIDAWzCLU0c=;
        b=BtS8xbZfEw+VyM02k7sOco/romx3FELVFkSuAQ/kzdbdcGJzLhgfSJ8iCqcI1THSG+
         NJnwzYF5ZLN/NTOYTFukChbBIANMQ6NgEXPNcP8xK3c1errTb9lWpPiJHB17IqXrP3qq
         BboIOH3NkypeCzpOPyXy5uqOrJ5JeKCGPpxIdNuQMlPlUNmSCh/D/Oe0tVqzy4tvj9lR
         UkEIR/gyQTfNIPh0tIVzTCkrGrIDeATV3Pohw2dUl89amG+fIXFRxviDT5TfoXjZ/Zfr
         Z0LFELbmuAvOKbNyvtxWnKLcYGdtDeS6nNxCVh/hcC1fZGIHMmJsQS1mRwCxZ+NuvzGC
         KSFw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760694909; x=1761299709;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=xa86NOsetCb4HvBrnwhfwJ6TA3wmFEX7AIDAWzCLU0c=;
        b=lE6ukSzuOtA2VWqsV/qWsbLM4j8c7yqzzbc11xcigCzOKGegxiOhtlRGM1mtMfSuLW
         u/0zy1N04Ez8gcNINGAw5eO2q10jmnbaHN6ow2JoHZPYso6M7AQ86dIv8Ot4O0zHaWBP
         Nm/dEUbROiYogjEx+qJcPOfsFpmXj33KU8bzHOGdZ80a/1bbwOd990Ey8/M93/H7XrUR
         Ot2or1FQL5BHSGaYMmM+f1xBg7LKkdHnDoNg1bvRAEPds7y59GQScNjQ5aznyzUkGqsx
         HSYY8tFM15PhNYbO3XrAQPcKZwMKB5ygC67Xwhj1mOWEDwdD5o93WMcHjreeLhziX1tP
         ZyEw==
X-Gm-Message-State: AOJu0YzCn3d07LnrbbywRwfLAnXTMJUgjZjvUvN7fg9Bltv9eNEhbadE
	lwKWWv1Znby4rWS7Xnqo3nX70LxkKA6lOj7B+cgtLZ6a4a3nF6v+bxI6KWsyHdvsBA==
X-Gm-Gg: ASbGncv0JJpg4RuaBgFSEu51M5H9Z4JKSBrQADlg6Eu2stIM7uHzGte7DbUs/+NEVCS
	utIuPpmQbQtDxA62OAWZrTT0LlVkUXDBgUCb7TMI7tYuE4tb97QoVKx44N3K6qwRRVz1xPXkq7c
	PxMqkrPmMzzIysjlz6zaQuJ2uMx6Z5DazYmFuw7VMb49mg6zkJrjBnrkyo/0kRJ+ZTZRfQWeYl7
	ZzCw/7kpWQU5QMxH+x4/HM8jCAKBWc7MYovv0j2WEjs2gDLQm6gLd0gRKo7a2kxxjAuZPJjrn9B
	q4i5mVLGT9fq0k0PIeR4Ng6smtFd1Wfa+VVvD07N3iW4JJq5DsQimDMEkaFHJ/VAL09mpQmw/PQ
	yCyEjd3j+rQMRHPMvjSvX4xgXkCvkaOmRu4FTTnj5YWHFQludczXnSLeA20iZaFBAgYjYtdb1wi
	zoltv0iRE0whVH7n/qYYPjVJ1RwrCn1rajldztImhC4Q/hucx6Gt/2EhtuHwUgbKgJVdiSgAw=
X-Google-Smtp-Source: AGHT+IGVNZO2zGDoOWOgIeBt/0TJ5M24B8T9sB8mvEJa2ZfEUhE5Uo6ol2p6Lqjryt2R9qIGR1oVUg==
X-Received: by 2002:a05:600c:8b0d:b0:46e:39e1:fc27 with SMTP id 5b1f17b1804b1-4711787442amr22972575e9.5.1760694908957;
        Fri, 17 Oct 2025 02:55:08 -0700 (PDT)
Message-ID: <5b85e4f4-4091-4531-90b3-f735550cfc42@suse.com>
Date: Fri, 17 Oct 2025 11:55:07 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21 01/10] x86/HPET: limit channel changes
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <8d94abf8-70d1-478c-885e-ff9a960ac72d@suse.com>
 <494c897c-a138-4d16-93b2-67e3aa8d41e7@suse.com> <aPILKoTwmUYK5p8H@Mac.lan>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <aPILKoTwmUYK5p8H@Mac.lan>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 17.10.2025 11:23, Roger Pau MonnÃ© wrote:
> On Thu, Oct 16, 2025 at 09:31:21AM +0200, Jan Beulich wrote:
>> Despite 1db7829e5657 ("x86/hpet: do local APIC EOI after interrupt
>> processing") we can still observe nested invocations of
>> hpet_interrupt_handler(). This is, afaict, a result of previously used
>> channels retaining their IRQ affinity until some other CPU re-uses them.
>> Such nesting is increasingly problematic with higher CPU counts, as both
>> handle_hpet_broadcast() and cpumask_raise_softirq() have a cpumask_t local
>> variable. IOW already a single level of nesting may require more stack
>> space (2 times above 4k) than we have available (8k), when NR_CPUS=16383
>> (the maximum value presently possible).
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> Whether this is still worthwhile with "x86/HPET: use single, global, low-
>> priority vector for broadcast IRQ" isn't quite clear to me.
> 
> Seeing the rest of the series, I don't think this is necessary
> anymore?  Also the comment you here is made stale by the patch that
> uses a global vector.

Right now I'm not quite sure, hence the remark and the patch being part of
the series. If I re-work patch 3 to avoid the mask/unmask upon affinity
changes, I think the one here can indeed be dropped.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Oct 17 09:57:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Oct 2025 09:57:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1145124.1478281 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9hDJ-0001Ud-GC; Fri, 17 Oct 2025 09:57:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1145124.1478281; Fri, 17 Oct 2025 09:57:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9hDJ-0001UW-Co; Fri, 17 Oct 2025 09:57:33 +0000
Received: by outflank-mailman (input) for mailman id 1145124;
 Fri, 17 Oct 2025 09:57: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 <SRS0=k1Ob=42=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1v9hDI-0001UQ-BN
 for xen-devel@lists.xenproject.org; Fri, 17 Oct 2025 09:57:32 +0000
Received: from mail-wm1-x336.google.com (mail-wm1-x336.google.com
 [2a00:1450:4864:20::336])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b1dac620-ab3f-11f0-980a-7dc792cee155;
 Fri, 17 Oct 2025 11:57:30 +0200 (CEST)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-46e6a6a5e42so9373835e9.0
 for <xen-devel@lists.xenproject.org>; Fri, 17 Oct 2025 02:57:30 -0700 (PDT)
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-426ce5e0e70sm39144336f8f.40.2025.10.17.02.57.29
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 17 Oct 2025 02:57:29 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b1dac620-ab3f-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760695050; x=1761299850; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=uciGwzylLXqr2s5c7/Np6ydAW9D5/eCyG1V+jI7NS5s=;
        b=Z29i860hH/eDgsDodObp5BtPK5PyDqx/VwnodnQViDY2hE9xBCFx+y9NFhdkhz/bDt
         iGcLjdNjkVur3jXVqX5ejAHyz/hliRPL3/3ijIP+qXloRyVzDeSLkh4vBrUVCJTkgcK+
         7RbVfuYxs88oFm0qvZJ+KoMHfAuaZe/1pxmqb52UtP0zaH1gspX4qGbYZumHt/62GgNi
         1LCiIQ4tAd76nvl48g4Ept5uOnglIwhWJ08TUiJSvYZOT5qUTn2zXh2ezpRsAxqVH5eA
         B3z6gSk7Iu7VfV01bKFqYih3fhYkYvsm7OFMTG+zQ1YDyP79Y7YUtiVrhya9F3XyN/N1
         QBBw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760695050; x=1761299850;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=uciGwzylLXqr2s5c7/Np6ydAW9D5/eCyG1V+jI7NS5s=;
        b=gP986sPUsDvxWLakLyU/gX2XLuNdXgShuJsSvFV4NWsnLrPieH55B/81aeUTq7+Q1P
         XZRaKItj5JLOO1wo2Pay9tGnIcEUTmWUu1tG58FmL3yEBOfH+q2ahlcKnf0gXF8gJByi
         x6N1gj47+WLJDJoNgJPU+w+rKtaa+UXYmqEFYmPu7I4cpm2iW+/a8On8oSYabxGzOW8C
         AFg6wRATBTIgr2UGUgZWPMGDoRXRMWFvcA4fKDskz1pfy1jaXNBozyNRy6+e40Cd2W7W
         Gs1Cnbs4wMf1kZvk47ZLfroCoJgYIoCp88o3cWjuZOz/0aptI0UVnt2B5rIJEIOi0x8y
         g54A==
X-Gm-Message-State: AOJu0YzXtyWV6L5UOwsx/qrEZkNbVluXdf7YIYSjpEi6FGhH6hLM86Oa
	um/A2WJTQJ1YwWfWAVBlcp4T7L9hEaQuu+jryP3S/DOa6k1zBCrTyowhZOt0fpNH2A==
X-Gm-Gg: ASbGncumPTF6VQSKRGOqHs6QWUMQdSnfmOV7S+aoRdFqLXHJAok3bjloe4K67koSGE0
	FUoDeYyS56OnuZUXDn+EBBUrVutfIW+HNl1zWYt74n5dx+qICByUAmw5yha0zlDpeV/HLyjZysR
	M5rLNiJklZ2/cxQrdYeMDtheKMZ+8asGdZwzf6Zb+pD4LAJY78wlCY/KzzWMV4Ce7YK+2MUoCGU
	kUGqFTqEkWCNKPdEtJiOuOlLfnpzm3GF0MERazbNwDEAErUlIxGNfwXPovxy+C/TNiHprtRhXEe
	fjuWt+qNjxMVg3SHn2S4pL7KPNawh3vFplXMG2VCaL5Q1uV3kEu7db7yS3OG2KTixCYLmlk+i16
	gWYxGmHRI+xkMFnDE3BMDQb/x9aykCF3OtP/URoKZ9SjGwoPIym1Aaq8Zy6QseIOX79CusLIok4
	PSPcfM4ZgEgFgnxrEDtw6Y+YC5VZL/+TNxP8vYYGKhUL49ChkqDaJQrOiPC/d4
X-Google-Smtp-Source: AGHT+IEz3x7Tqk0JdcbyBUtRz0BYmBI/gLfLzPqCQeQz400O5xKcTKSVBoI2B89buzhb9op9Ipb0PA==
X-Received: by 2002:a05:6000:1849:b0:427:809:f00b with SMTP id ffacd0b85a97d-4270809f2a0mr800627f8f.50.1760695049623;
        Fri, 17 Oct 2025 02:57:29 -0700 (PDT)
Message-ID: <ace51087-38f3-4cec-bc41-9fe0813ed947@suse.com>
Date: Fri, 17 Oct 2025 11:57:28 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21 04/10] x86/HPET: ignore "stale" IRQs
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <8d94abf8-70d1-478c-885e-ff9a960ac72d@suse.com>
 <e16e2b62-9c2b-4534-8279-daf986cf438b@suse.com> <aPIKJw6I8pUFngC1@Mac.lan>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <aPIKJw6I8pUFngC1@Mac.lan>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 17.10.2025 11:19, Roger Pau MonnÃ© wrote:
> On Thu, Oct 16, 2025 at 09:32:29AM +0200, Jan Beulich wrote:
>> Following hpet_detach_channel(), IRQs may still occur: Ones may already
>> be in flight (both from before and after the last IRQ migration, i.e. on
>> possibly two distinct vectors targeting two different CPUs), and new ones
>> may still be raised as long as the channel is enabled.
> 
> Description would need to be adjusted if nothing else, as it speaks
> about two distinct vectors which is no longer possible after patch 3.

Oh, right - dropping the parenthesized part.

>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> With the above adjusted:
> 
> Reviewed-by: Roger Pau MonnÃ© <roger.pau@citrix.com>

Thanks, but as per the RFC remark: Do you then think this is actually
worthwhile despite what patch 3 does?

Jan


From xen-devel-bounces@lists.xenproject.org Fri Oct 17 12:14:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Oct 2025 12:14:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1145167.1478291 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9jLS-0000jr-Mc; Fri, 17 Oct 2025 12:14:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1145167.1478291; Fri, 17 Oct 2025 12:14:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9jLS-0000jk-Jk; Fri, 17 Oct 2025 12:14:06 +0000
Received: by outflank-mailman (input) for mailman id 1145167;
 Fri, 17 Oct 2025 12:14:04 +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
 <SRS0=rDIu=42=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v9jLQ-0000je-Lq
 for xen-devel@lists.xenproject.org; Fri, 17 Oct 2025 12:14:04 +0000
Received: from BYAPR05CU005.outbound.protection.outlook.com
 (mail-westusazlp170100001.outbound.protection.outlook.com
 [2a01:111:f403:c000::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c1ab410a-ab52-11f0-980a-7dc792cee155;
 Fri, 17 Oct 2025 14:13:59 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by LV3PR03MB7381.namprd03.prod.outlook.com (2603:10b6:408:195::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.10; Fri, 17 Oct
 2025 12:13:53 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9228.011; Fri, 17 Oct 2025
 12:13:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c1ab410a-ab52-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ysYngEHnL2R/YuXJf/+QCQNYmofcAsDoCMlBpaqFzrCx2J5k7y2t75EG4Cbgeng72Dbfjw6TEeId/bOUuiVPcBYF/mfUnSshfLxUl2EkOrROSPQlym5GKLU3IDpNxo0+aH0ovvAIy158XL+LH/vYz4A5oQrhE/AK9z13x7O1jcAMrOG7cy0gsIj+Tv5bTyeQVKcx+KtPPUK+vMZz/c6ZsLVRe4ryaovm/LMXpmsp6Qy2Pb5GWyVEOniH7D8NG7FqdZHTMmc4JT2DYkzPvzg3BhGUJAjWNGVe4A7JtHruiNBL4kfkITSB7w6QqQJGK/pMEOXSCxJb72lZJICliSbkCg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=eqdVnM9UB/NU7VlYk/QtKZ96CjsOV5qDJup6Au8WHGk=;
 b=GnbmSA2r7HhJ/YuB8tchNdO719cmW9+7XlNv728uCtbKrSBmvOPlBJk4Jj5e2jKWCj+G91xpumyyb4rpzqKPMYBQ3awlKUS2MBZt+i+Rid9QsHpLoaX5Xqj+IjQpVx7rk1M4Zw+vhUO9Rxg2gIZkgvaB8ffK3ISebvFy5JQR9M8QuMg021UWlyTeLKS0WYS5J5Seg2mH7IwI97ZdDXK4pBwHk4eoxWpvslekTDjLa1iDMo5VQeoc/crVB3WKuARLlwtm8JunJzZDjMmUVqDPhtDhObJFuVeItYUc5VApt/p+AAwuRdWxuu8Q7dm2tMyurJxluDRVvlZRx3fxh7ZLpA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=eqdVnM9UB/NU7VlYk/QtKZ96CjsOV5qDJup6Au8WHGk=;
 b=L+dJ/LnnqoW7vZqbXFfDXBhEevdVJjhe34uVaHVeIM6ZOAx5aA43mteb8u0XGMdJnlX+fhhxW24VmS7SyVncUXajGeE6TUQdfArmwXewCj7nB6UCcBs8vb1mu8ODqmBU2Gl/hLVxgFSSNlPrJR3OKAhYM6Sd72Z869qPMz1esfI=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Fri, 17 Oct 2025 14:13:49 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.21 04/10] x86/HPET: ignore "stale" IRQs
Message-ID: <aPIy_ZW8uRu76iFo@Mac.lan>
References: <8d94abf8-70d1-478c-885e-ff9a960ac72d@suse.com>
 <e16e2b62-9c2b-4534-8279-daf986cf438b@suse.com>
 <aPIKJw6I8pUFngC1@Mac.lan>
 <ace51087-38f3-4cec-bc41-9fe0813ed947@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <ace51087-38f3-4cec-bc41-9fe0813ed947@suse.com>
X-ClientProxiedBy: MA2P292CA0019.ESPP292.PROD.OUTLOOK.COM (2603:10a6:250::17)
 To DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|LV3PR03MB7381:EE_
X-MS-Office365-Filtering-Correlation-Id: 295bad35-19c3-45c1-0b9c-08de0d76a363
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?Z1pNQ2h3MGZZL2RhYmNjMWFpMVBmVWRUOVFZNS8vclVYYXVrMk1oT3lkL2VV?=
 =?utf-8?B?WGpmRmc1eGJnRm12dEI5M0xKMitwUjA0cWJtcFVjRFp3ZWZwSVNFVWJldlZC?=
 =?utf-8?B?MjBVV2dBU0xXdXhEaDR4dFhPVDd6eDdkMU5PUGduakNxdmxKZ2IyRmhYanlP?=
 =?utf-8?B?YXI0K2gxdmg3d3pOdndoUDRoRkVzV0tTNExaM1JISHVOeW8vN2JPWkZEcjJX?=
 =?utf-8?B?ekJNS0JaT095ZEMyU2pMUUVPUTJqRXhFN1cxTXBueFY4L1ZFRVl0b3VvcE9G?=
 =?utf-8?B?WkVzRlc3dGM5SHg4OG5PNG5tVWg2cGhOM2lJUjZKRjBWRlBSQms1b1EyNzY4?=
 =?utf-8?B?b1htRFEwd3RKV2NxRU5xUVU4QWVnVTJPcGZaRXJJOEJjS2pwZ095ZlZENmNn?=
 =?utf-8?B?d2NzdVg3MW9uLytoU1pJdEhKbmQ3R1hFUVZPMkdQeHcxdHV5NmM0Vnkwb0lM?=
 =?utf-8?B?SU5WOE1mMjFZZXFLSWswaHExQXcvaUI1K0NKY09SVTBBWUNiWGR4TDJJZVo5?=
 =?utf-8?B?WkVlalVSL080aC96MHZmY2NuenVpajVjTmJnOGtoUHJYU200bS9OcFZsMVRs?=
 =?utf-8?B?di9jcStWbWNrWHZtVDBiVE9NMjEvakVCcnpVN0t1VE55b1dWbnAzQkdOcTBH?=
 =?utf-8?B?cE9hUnZteDZXZFhGNDB3MmdZczQxZlJORHY3a2xMYXFRdUE5ZXdLMXRjOGVY?=
 =?utf-8?B?TXFuR1ZZTnZwUzdNaGZXZ3paWXUvNnlSbjZZcDVacnVaV1BEZk5QTDBhamIz?=
 =?utf-8?B?RFpwa0ZmSUgyK0dTUWZ6cktGMjM4azdISjRwRnEyTWpXSFZjOUR0T2Y5TUls?=
 =?utf-8?B?c0JhaG1hZzdNcExCQ3drOW1JcTUzTGYvQlBYcldJS2laakRtMy9TeisvNUlQ?=
 =?utf-8?B?N1pldWZxbVV5c09BUXhYMm84dG9qWlhDWSt0YlRsRFVCZUNtZ1NmeklFclVH?=
 =?utf-8?B?Z3dRdmFqb1FnT1JPS2Z3enFpSjlwTVl0L2xtQlYyYlRhWi9LWDFlcldZNTVE?=
 =?utf-8?B?Q3hBckViK0lieEFDVFJmRkFkR0NLaVBKeThHdllYcm1aanRvTnVnQVgwMEZL?=
 =?utf-8?B?YnBjaWZJWVNESUpYbHl3anA3UC94MDVsaGdTZ3lqaXZVQzgvbXRjNkFQcCtN?=
 =?utf-8?B?MTNiNGFKcUhVZjdTWlhKamtLU2F6bk1sL0VWZnhnZnNhK0ZYOFBoVHRyOVJB?=
 =?utf-8?B?QmdKYXNjWTc3bTVvdCtQaDNUV1ZoaDBoRTJka3BDbzVlNTM0R1JiVkgySmNO?=
 =?utf-8?B?MW11cW5lQmZWT1RGWmFUWjhzRDFQbHg3VmlmNTFGQkF2Wnk0eEV0YncwMW8w?=
 =?utf-8?B?Rlhrc25wNVRXbTNKU1R4bnp2a1c0SFlQVUNzZDZiUTNuQURHcXp4MndUT0cx?=
 =?utf-8?B?UzFISzNldHhxTGwvSkplZnRPdklUUlZRWHlsdlRzUXpqelVFZ2JPbjBHcm1B?=
 =?utf-8?B?TlVIRE4rNXpqMllCMkZzV0xxS3ZUdnhCNjJHRER6TUN1M21NTVEzZjJHK2RK?=
 =?utf-8?B?aVBSREhKRlVpcUJwRGcycFY2eG1GeS9wTEo0UlNja0ZJckpjbUdvM0NnYWwy?=
 =?utf-8?B?cUxkK1c2ZXp3UzBjSGR2TTFNOGlhRk9ZRGtzNzVTOVVQNkl3NmJhVnVZbXAy?=
 =?utf-8?B?aUlybDQ2ZUpPaGFLRTdpQlpJL21jRXZXNHRFUUdLbzZhVWk4OHBzRVhSMDRh?=
 =?utf-8?B?L0pNNmFMN1RaZmhraVdyci9DUGJiS0R4dVIrRWpOMHQ0aGt1SktRandhbDdY?=
 =?utf-8?B?QzVYSFAvcGIyZHZwVkdwK2gxYmlSUW5lVTRadlRxYkVBLzFwSythSEhsT2t0?=
 =?utf-8?B?UVpvS2dhMWwyUExVYlFpQ2hObVR4RElIeHljT3YzMXVZNUhBL01pUDVBbUh2?=
 =?utf-8?B?a0tIZHpyQ2xBWVpFaWJXdWhFMHlmVVplNTAvTTlQMVNCY1M3K2JvcU1kc0l4?=
 =?utf-8?Q?6+Y4LfdSYYfkhV+b0+cT+lh3TXTyc7Vx?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Sk9qZDQ3LzVjQ3k0YlF0NTZzNGFidWJybFJrK2NhSG5TL1hxeVFDZmwrRWVG?=
 =?utf-8?B?RkxEdWxQbkZaMjBCSGFZbFVxcVBmZGdhVWhwVS8xK3FsTU4zOTJNeWFxeU1m?=
 =?utf-8?B?L3dsblhjY21aR0Y4d3FXbHNXcnRjeDdSWDV4Wm16MmxCeUlQcjU5RXZ4SGhK?=
 =?utf-8?B?dXZKNnVuSnhwQUQ1MzhlM3p6VmdDNkJaZENLQThZMStka3Rxdng5aW5obmp0?=
 =?utf-8?B?SXZERnpNMFlIbk5WRWt4dmZYdDRIeDFWZmJzUFA3WllDMDQxTWFmdVh6Smd3?=
 =?utf-8?B?MVFNRDhoa0hpZ2ZJb1VDakZKU0pkMWFpWlllVyszQUZ5cmdHYXVQenlGbVNB?=
 =?utf-8?B?VHZML3NzL3AvYVRRRy9DbSsxQUEydGZmT2xYQjhMS0NxdjJLK2lEdEFXRXUy?=
 =?utf-8?B?dUtZNDdlL2FDY0ZGdVB4bGdDZGNMc1ZYelRiZW90UjVLVmVhS2QwRXlOclVP?=
 =?utf-8?B?U0JDSzdLV0xNcHFRcjVVcHdxUTB2VkNtTUoxZjIxMkdjSW9IcVorSklVMUZS?=
 =?utf-8?B?RjZSbGNtSXpHZ3kzc0lMMTFIeWFwR3JzemNSTWthNTU4YTBLdXhoT1ZYTGE2?=
 =?utf-8?B?d2VONWFaUXZGUVRaRElvZWJ3RGdmWTBlVEIxN3RYT3NibmloNThIeXRZN0NR?=
 =?utf-8?B?UjlQUyt3TmhTcXZmOXRMUlBPaTc5b2t3Sk9SVFNUWndqc2I4cUdxbjNCTXZQ?=
 =?utf-8?B?VlNSb2xDSEM3QXVUb3JKS0ZGR0F2VXVoOXpxSHpYOTRjeUdPUzk1QkpaZzBD?=
 =?utf-8?B?NHNVK3FEZ2dXNy9FUWUyaVBmWHRNenhtMytYcERvMFpkMEZkRElHaEIwS01X?=
 =?utf-8?B?NEFwVlZXSVVyTU5yNVZhWnhXMmFQbHBTQlc0bXpWWkU3dUZzQjFlaXBxSkYv?=
 =?utf-8?B?enI3Zkh5SHZaUnJwdm95dHoxSUhTenF1ZEorT0V0RjJSZlIyS0p6bkRlRDgv?=
 =?utf-8?B?ck5CdlM2Njg0dTJmOGY0T3EvcE9kc242ZWxkWmEvTmFaZWFoNmt1WkRvZzlr?=
 =?utf-8?B?dEw3UUFTbmVCSS84OUpnYUtKczk5cFZtbGtWYjFOV1ZJZDAxUjJaSDJGMGNF?=
 =?utf-8?B?OTQ4TlRlRVl0ME9IUnNUaWhVSDZXL1ErR2t3aldDbGhzWS8zb3c3M1hqYlpK?=
 =?utf-8?B?aWFzMG83bW01T1hwNGkyTG00UUxOVE53V0t2eCtPTjM4OGFkd1dxMTBULzRD?=
 =?utf-8?B?WUxGOW9ObWRLK2FIbWxPMmZLMDlPeXVtRHRGczAwekZibnN1eitUcXFEcjlF?=
 =?utf-8?B?VmRPREJaem1XK2t1QVJaa3puK3ZySm5TY21lSWc4MVh0ZzBsdngvRmdjNFhE?=
 =?utf-8?B?M2NHRGtYYTBZUmFnSmprSlBiU2hKVkFtUXlBUHFiM2tiZENRZXJBTUZOdWpW?=
 =?utf-8?B?RFBTb2E3cHBZTjh2MCsvNy9JNUJBM05TN2JFVUFxaWRuNGViSmZKL2swazY2?=
 =?utf-8?B?SSttZVJ6UEswbXYxbHBzTmtSV2JCa2pVZHdueWlraGFhWksvVXlsT1ZaMmti?=
 =?utf-8?B?ZW16dWtRVTVDR3hwZUREUnVhbHEzbnVVaG1WRkVieDRaR05oTmF5TE1hNUlQ?=
 =?utf-8?B?aHFyNU5qZGtUUmlPNTRiZUUxVWlmbk9KdEhEVDY1MDJQbU5kVFhoOUFERVgx?=
 =?utf-8?B?UmVCeXZRUWdIR3NiMGt1Tnl0ZW5LSGJpWWhCYVZHRmx0d20rRFBNNzRxdzBY?=
 =?utf-8?B?a2JiYXZySTVraFZvdXVyZ1FUbm16ckVaRU1KZGRVdjUwRnhnT21aVEpSbUw5?=
 =?utf-8?B?ZUsvWXlhTjZCaTFoSW1CQnNjMHg5ZEJnV3hsQjBXRzFWckFtS2ZjeG81TFdZ?=
 =?utf-8?B?dHhsTmN6VWhJa2dma1Vta2MvYThsRXFrS2NEU1E3Mlh2WVF3b0d1TzZwdjUz?=
 =?utf-8?B?cjdFanN4cjkyOUlHNXNETzZrTnRmN2F0ai9PU1hGN2FkWStEbzNONlE5eTRh?=
 =?utf-8?B?U1FoUGYvT1AyZ3FteDBVWFZBSVF6NzdPUm1SWnlRVTR6cGxGU3IvMGhHZjVw?=
 =?utf-8?B?b1RLZGxZenpxeE9Jc2p3VWVtV2dQaTI3ckVHVGpzeVByajQ5T2hDOFZiVXBD?=
 =?utf-8?B?RzZXa09ZNUthS0Q4empmR1cyMGcvc2kzdzJBQVpKZ3RDbHR6dUQ4SzZha3cv?=
 =?utf-8?Q?lmhqU4kmptGFW96My06sILiWJ?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 295bad35-19c3-45c1-0b9c-08de0d76a363
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Oct 2025 12:13:53.5587
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: aGqTZsVrgMAilYUjOrivHyG7DhCBimAfrCbwbVjwgq9hgTQZ5SgbaxrfVfYZ274PKgZTBjG//vNIxuZHFJ8n4Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV3PR03MB7381

On Fri, Oct 17, 2025 at 11:57:28AM +0200, Jan Beulich wrote:
> On 17.10.2025 11:19, Roger Pau MonnÃ© wrote:
> > On Thu, Oct 16, 2025 at 09:32:29AM +0200, Jan Beulich wrote:
> >> Following hpet_detach_channel(), IRQs may still occur: Ones may already
> >> be in flight (both from before and after the last IRQ migration, i.e. on
> >> possibly two distinct vectors targeting two different CPUs), and new ones
> >> may still be raised as long as the channel is enabled.
> > 
> > Description would need to be adjusted if nothing else, as it speaks
> > about two distinct vectors which is no longer possible after patch 3.
> 
> Oh, right - dropping the parenthesized part.
> 
> >> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> > 
> > With the above adjusted:
> > 
> > Reviewed-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
> 
> Thanks, but as per the RFC remark: Do you then think this is actually
> worthwhile despite what patch 3 does?

I don't think it will hurt, but I also think this can possibly wait
after the code freeze, I don't see much win from doing it, and there's
a risk we might get it wrong.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Oct 17 13:24:57 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Oct 2025 13:24:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1145190.1478302 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9kRo-0000XT-Jy; Fri, 17 Oct 2025 13:24:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1145190.1478302; Fri, 17 Oct 2025 13:24:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9kRo-0000XM-Fy; Fri, 17 Oct 2025 13:24:44 +0000
Received: by outflank-mailman (input) for mailman id 1145190;
 Fri, 17 Oct 2025 13:24:42 +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
 <SRS0=vay5=42=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1v9kRm-0000XG-Qr
 for xen-devel@lists.xenproject.org; Fri, 17 Oct 2025 13:24:42 +0000
Received: from mail-ed1-x533.google.com (mail-ed1-x533.google.com
 [2a00:1450:4864:20::533])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a3622f4f-ab5c-11f0-9d15-b5c5bf9af7f9;
 Fri, 17 Oct 2025 15:24:41 +0200 (CEST)
Received: by mail-ed1-x533.google.com with SMTP id
 4fb4d7f45d1cf-634a3327ff7so3613262a12.1
 for <xen-devel@lists.xenproject.org>; Fri, 17 Oct 2025 06:24:41 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-146-38.play-internet.pl.
 [109.243.146.38]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-b5cb965d7d8sm826044766b.18.2025.10.17.06.24.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 17 Oct 2025 06:24:40 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a3622f4f-ab5c-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760707481; x=1761312281; darn=lists.xenproject.org;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=a2zcZjyQUhkAxzl5BhQ8Wm5EqbJdanVG18YFXfLDoRs=;
        b=egQIca1TQCF2omOlQGfmq3HTQ1Z19pn6aG1vl7diFreyRB+St3sNvJ9861fdjvNOtV
         YwtEjOmfBNFd5FCZ4+oH/k0oRSH9ZxT49BDrKu3CCGK1RFfacmXXpBsYGojC5cECH56E
         CnzmOXQbP6tnZ3QYmaI3nAbfj+Y1lcRe3MtLZ78RYfJX0u9NhYYtE61dHMYb7GxYbN40
         FRimhZIVD8b4Qc57RoYD3Na8FsnSglptJk0NlXZGThPzUeXRKBzTKGhsmRUznIPU8DdM
         ar4t5gICkuqGY02jViBTY5trJ9cpJsz0FW7QX6sxsndrVUr1FGBgiIy4h4Gg/cg6ZcvZ
         /Skw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760707481; x=1761312281;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=a2zcZjyQUhkAxzl5BhQ8Wm5EqbJdanVG18YFXfLDoRs=;
        b=XI502P+9WzX6qmMKkOOUqdmnCDDC9PF1XWPzFTFkkzUJAoURSIJTi45KVuU+ZyJErQ
         npO86Axvxhwds4OopeOEpEDNxr1lKR1M+MAnwmlH/eCx1O0nKeZpL+jlxcBgd5fwMEuC
         rqy6GFLTMudLd9WuBA1EbJV1p8EGJsD9+IFGJ6Ji7mgxhnqZFZkjprTXhPElr7AaqKjT
         TSY+c1+P/U1vFt3+4Pf/WkdN7ufd7iGlLFbp0+gO4P615Jn41w9zdvqYEKcP4b00s9Rc
         K4MlTpxBARmoTnjYW8v0m8LHL8J3y0OKj1+Rkb5+NQ6CK4RYrgqC7FKyYEkTJoQG1KJi
         g7Ww==
X-Forwarded-Encrypted: i=1; AJvYcCUSUoBhhblTeQerZTXRZ9NYBFCh4ZZ5DUmjlvC2Iubo+6gsnzRXdybSLR+NgN0rrL9MDbSa7twoImQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyQZ9VtVWaZuZaVOCGjq6Rf1xP0+L6bK+8EBoTdxjWR71Kqw+RG
	RdExZ178+TeeWGjjdFsZ1HmneW1PbyWfz+hqge4Xq+y8x34K5R8Gp4uc
X-Gm-Gg: ASbGncv5daLhfdEeOUBE0Av+MlYnFVvcPn5IZYC00QTLN2DJR0pABya/JNkzqXJAOGU
	Ey5+17u+I3GsHRpBizDtRICt2jC/PethWXf0lJH227vwUevT5nlNJE8DIEjbvF0WHgOSe4QzbAX
	E+luJiKUuH+GPca6eqFt09OLuBiZXPSCo+Z5xZQ2ki7ZtwsXLwaaj8tj/yL1c/vlHeyV9w5u0pg
	b8N0tMVaUJ2FtygtIHQ/Wqo5631d1LIhoCkazBvSVC4iIBpY7Rh2uJKADEsbPnZA05enyA3hhNn
	ffPX9ayI/LkhKOAstItPRQo9PlTCV7pYj3abtunehWgZQpd6/bW3b9ahijPdaQY92M9iavf19LA
	6mz+2JifxLD4q2j1lj8rNVMaIOHFi2pkxGhutVYOK+QwPt1JK1JQp7uFvJ/vJon2RlyIucGqHuw
	0VzeptEn4NFF9mQS1dhLPXpndyVOMdQGUhdM3AQd2Fu4N3MSszJDbPgtl+SsQa+jmQNJM=
X-Google-Smtp-Source: AGHT+IF44VPIo9f2fNuffFyZDCvz6pw1pWwenGxkCKZJGxMcrxPrvNxeOlG+qwSojm+gc2JrkFdHqQ==
X-Received: by 2002:a17:906:a44d:b0:b65:8f09:ee35 with SMTP id a640c23a62f3a-b658f193194mr86098266b.44.1760707480650;
        Fri, 17 Oct 2025 06:24:40 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------6NelGKQmckhJ4Hy25AWljPV0"
Message-ID: <33a9716e-d721-48c7-b8a0-6fe9d44e31d6@gmail.com>
Date: Fri, 17 Oct 2025 15:24:39 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 for-4.21 00/22] x86: FRED support
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Jan Beulich <JBeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <20251003225334.2123667-1-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20251003225334.2123667-1-andrew.cooper3@citrix.com>

This is a multi-part message in MIME format.
--------------6NelGKQmckhJ4Hy25AWljPV0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit


On 10/4/25 12:53 AM, Andrew Cooper wrote:
> This is the combined MSR cleanup and FRED series.  Some patches of both v2's
> have already been committed.
>
> I have moved the MSR_IMM patch out.  It's not strictly needed for FRED, and
> really needs to go behind Jan's patch to use mergable sections for
> altinstructions which is definitely not making 4.21 at this point.
>
> I almost got access to a piece of real hardware in time, but that fell through
> at the last minute.
>
> In terms of timing, I know we're getting very tight for 4.21, but there has
> been an awful lot of disruption with travel and holidays recently.  Half the
> patches are already acked/reviewed, but can't easily go in due to logical
> dependencies (I suspect patches 15-17 could be committed right away as they're
> pretty independent.)
>
> Therefore I'd like to ask Oleksii whether the nominal release ack still
> stands.

If you're asking about patch 15-17, then it could be still merged now:
  Release-Acked-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>

>
> https://gitlab.com/xen-project/hardware/xen-staging/-/pipelines/2079705485

Btw, is it expected that some tests failed?

Thanks.

~ Oleksii

>
> Andrew Cooper (22):
>    x86/msr: Change rdmsr() to have normal API
>    x86/msr: Change wrmsr() to take a single parameter
>    x86/fsgsbase: Split out __{rd,wr}gs_shadow() helpers
>    x86/fsgsbase: Update fs/gs helpers to use wrmsrns()
>    x86/fsgsbase: Improve code generation in read_registers()
>    x86/boot: Use RSTORSSP to establish SSP
>    x86/traps: Alter switch_stack_and_jump() for FRED mode
>    x86/traps: Skip Supervisor Shadow Stack tokens in FRED mode
>    x86/traps: Make an IDT-specific #DB helper
>    x86/traps: Make an IDT-specific #PF helper
>    x86/fsgsbase: Make gskern accesses safe under FRED
>    x86/traps: Introduce FRED entrypoints
>    x86/traps: Enable FRED when requested
>    x86/pv: Deduplicate is_canonical_address() in do_set_segment_base()
>    x86/entry: Alter how IRET faults are recognised
>    x86/entry: Drop the pre exception table infrastructure
>    x86/entry: Rework the comment about SYSCALL and DF
>    x86/pv: Adjust GS handling for FRED mode
>    x86/pv: Guest exception handling in FRED mode
>    x86/pv: ERETU error handling
>    x86/pv: System call handling in FRED mode
>    x86: Clamp reserved bits in eflags more aggressively
>
>   xen/arch/x86/acpi/cpufreq/powernow.c    |  12 +-
>   xen/arch/x86/boot/x86_64.S              |  23 +-
>   xen/arch/x86/cpu/amd.c                  |   8 +-
>   xen/arch/x86/cpu/common.c               |  20 +-
>   xen/arch/x86/cpu/intel.c                |  30 +-
>   xen/arch/x86/domain.c                   |  34 +-
>   xen/arch/x86/extable.c                  |  14 -
>   xen/arch/x86/genapic/x2apic.c           |   5 +-
>   xen/arch/x86/hvm/domain.c               |   4 +-
>   xen/arch/x86/hvm/vmx/vmcs.c             |  32 +-
>   xen/arch/x86/hvm/vmx/vmx.c              |   4 +-
>   xen/arch/x86/include/asm/asm_defns.h    |  76 +++-
>   xen/arch/x86/include/asm/current.h      |   9 +-
>   xen/arch/x86/include/asm/domain.h       |   2 +
>   xen/arch/x86/include/asm/fsgsbase.h     |  66 +--
>   xen/arch/x86/include/asm/hypercall.h    |   2 -
>   xen/arch/x86/include/asm/msr.h          |  48 ++-
>   xen/arch/x86/include/asm/prot-key.h     |   6 +-
>   xen/arch/x86/include/asm/traps.h        |   2 +
>   xen/arch/x86/include/asm/uaccess.h      |   2 -
>   xen/arch/x86/include/asm/x86-defns.h    |   7 +
>   xen/arch/x86/mm.c                       |  12 +-
>   xen/arch/x86/nmi.c                      |  18 +-
>   xen/arch/x86/oprofile/op_model_athlon.c |   2 +-
>   xen/arch/x86/pv/dom0_build.c            |   2 +-
>   xen/arch/x86/pv/domain.c                |  22 +-
>   xen/arch/x86/pv/iret.c                  |   8 +-
>   xen/arch/x86/pv/misc-hypercalls.c       |  42 +-
>   xen/arch/x86/pv/traps.c                 |  39 ++
>   xen/arch/x86/setup.c                    |  33 +-
>   xen/arch/x86/traps-setup.c              |  83 +++-
>   xen/arch/x86/traps.c                    | 519 ++++++++++++++++++++++--
>   xen/arch/x86/tsx.c                      |  27 +-
>   xen/arch/x86/x86_64/Makefile            |   1 +
>   xen/arch/x86/x86_64/compat/entry.S      |   3 +-
>   xen/arch/x86/x86_64/entry-fred.S        |  57 +++
>   xen/arch/x86/x86_64/entry.S             |  46 ++-
>   xen/arch/x86/xen.lds.S                  |   5 -
>   38 files changed, 1076 insertions(+), 249 deletions(-)
>   create mode 100644 xen/arch/x86/x86_64/entry-fred.S
>
--------------6NelGKQmckhJ4Hy25AWljPV0
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 10/4/25 12:53 AM, Andrew Cooper
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:20251003225334.2123667-1-andrew.cooper3@citrix.com">
      <pre wrap="" class="moz-quote-pre">This is the combined MSR cleanup and FRED series.  Some patches of both v2's
have already been committed.

I have moved the MSR_IMM patch out.  It's not strictly needed for FRED, and
really needs to go behind Jan's patch to use mergable sections for
altinstructions which is definitely not making 4.21 at this point.

I almost got access to a piece of real hardware in time, but that fell through
at the last minute.

In terms of timing, I know we're getting very tight for 4.21, but there has
been an awful lot of disruption with travel and holidays recently.  Half the
patches are already acked/reviewed, but can't easily go in due to logical
dependencies (I suspect patches 15-17 could be committed right away as they're
pretty independent.)

Therefore I'd like to ask Oleksii whether the nominal release ack still
stands.</pre>
    </blockquote>
    <pre>If you're asking about patch 15-17, then it could be still merged now:
 Release-Acked-by: Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a>

</pre>
    <blockquote type="cite"
      cite="mid:20251003225334.2123667-1-andrew.cooper3@citrix.com">
      <pre wrap="" class="moz-quote-pre">

<a class="moz-txt-link-freetext" href="https://gitlab.com/xen-project/hardware/xen-staging/-/pipelines/2079705485">https://gitlab.com/xen-project/hardware/xen-staging/-/pipelines/2079705485</a></pre>
    </blockquote>
    <pre>Btw, is it expected that some tests failed?

Thanks.

~ Oleksii</pre>
    <blockquote type="cite"
      cite="mid:20251003225334.2123667-1-andrew.cooper3@citrix.com">
      <pre wrap="" class="moz-quote-pre">

Andrew Cooper (22):
  x86/msr: Change rdmsr() to have normal API
  x86/msr: Change wrmsr() to take a single parameter
  x86/fsgsbase: Split out __{rd,wr}gs_shadow() helpers
  x86/fsgsbase: Update fs/gs helpers to use wrmsrns()
  x86/fsgsbase: Improve code generation in read_registers()
  x86/boot: Use RSTORSSP to establish SSP
  x86/traps: Alter switch_stack_and_jump() for FRED mode
  x86/traps: Skip Supervisor Shadow Stack tokens in FRED mode
  x86/traps: Make an IDT-specific #DB helper
  x86/traps: Make an IDT-specific #PF helper
  x86/fsgsbase: Make gskern accesses safe under FRED
  x86/traps: Introduce FRED entrypoints
  x86/traps: Enable FRED when requested
  x86/pv: Deduplicate is_canonical_address() in do_set_segment_base()
  x86/entry: Alter how IRET faults are recognised
  x86/entry: Drop the pre exception table infrastructure
  x86/entry: Rework the comment about SYSCALL and DF
  x86/pv: Adjust GS handling for FRED mode
  x86/pv: Guest exception handling in FRED mode
  x86/pv: ERETU error handling
  x86/pv: System call handling in FRED mode
  x86: Clamp reserved bits in eflags more aggressively

 xen/arch/x86/acpi/cpufreq/powernow.c    |  12 +-
 xen/arch/x86/boot/x86_64.S              |  23 +-
 xen/arch/x86/cpu/amd.c                  |   8 +-
 xen/arch/x86/cpu/common.c               |  20 +-
 xen/arch/x86/cpu/intel.c                |  30 +-
 xen/arch/x86/domain.c                   |  34 +-
 xen/arch/x86/extable.c                  |  14 -
 xen/arch/x86/genapic/x2apic.c           |   5 +-
 xen/arch/x86/hvm/domain.c               |   4 +-
 xen/arch/x86/hvm/vmx/vmcs.c             |  32 +-
 xen/arch/x86/hvm/vmx/vmx.c              |   4 +-
 xen/arch/x86/include/asm/asm_defns.h    |  76 +++-
 xen/arch/x86/include/asm/current.h      |   9 +-
 xen/arch/x86/include/asm/domain.h       |   2 +
 xen/arch/x86/include/asm/fsgsbase.h     |  66 +--
 xen/arch/x86/include/asm/hypercall.h    |   2 -
 xen/arch/x86/include/asm/msr.h          |  48 ++-
 xen/arch/x86/include/asm/prot-key.h     |   6 +-
 xen/arch/x86/include/asm/traps.h        |   2 +
 xen/arch/x86/include/asm/uaccess.h      |   2 -
 xen/arch/x86/include/asm/x86-defns.h    |   7 +
 xen/arch/x86/mm.c                       |  12 +-
 xen/arch/x86/nmi.c                      |  18 +-
 xen/arch/x86/oprofile/op_model_athlon.c |   2 +-
 xen/arch/x86/pv/dom0_build.c            |   2 +-
 xen/arch/x86/pv/domain.c                |  22 +-
 xen/arch/x86/pv/iret.c                  |   8 +-
 xen/arch/x86/pv/misc-hypercalls.c       |  42 +-
 xen/arch/x86/pv/traps.c                 |  39 ++
 xen/arch/x86/setup.c                    |  33 +-
 xen/arch/x86/traps-setup.c              |  83 +++-
 xen/arch/x86/traps.c                    | 519 ++++++++++++++++++++++--
 xen/arch/x86/tsx.c                      |  27 +-
 xen/arch/x86/x86_64/Makefile            |   1 +
 xen/arch/x86/x86_64/compat/entry.S      |   3 +-
 xen/arch/x86/x86_64/entry-fred.S        |  57 +++
 xen/arch/x86/x86_64/entry.S             |  46 ++-
 xen/arch/x86/xen.lds.S                  |   5 -
 38 files changed, 1076 insertions(+), 249 deletions(-)
 create mode 100644 xen/arch/x86/x86_64/entry-fred.S

</pre>
    </blockquote>
  </body>
</html>

--------------6NelGKQmckhJ4Hy25AWljPV0--


From xen-devel-bounces@lists.xenproject.org Fri Oct 17 13:25:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Oct 2025 13:25:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1145199.1478310 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9kSz-00011Z-S9; Fri, 17 Oct 2025 13:25:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1145199.1478310; Fri, 17 Oct 2025 13:25:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9kSz-00011S-Pc; Fri, 17 Oct 2025 13:25:57 +0000
Received: by outflank-mailman (input) for mailman id 1145199;
 Fri, 17 Oct 2025 13:25:56 +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
 <SRS0=vay5=42=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1v9kSy-00011G-UH
 for xen-devel@lists.xenproject.org; Fri, 17 Oct 2025 13:25:56 +0000
Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com
 [2a00:1450:4864:20::536])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cfc34a48-ab5c-11f0-9d15-b5c5bf9af7f9;
 Fri, 17 Oct 2025 15:25:56 +0200 (CEST)
Received: by mail-ed1-x536.google.com with SMTP id
 4fb4d7f45d1cf-63c444fe704so245705a12.1
 for <xen-devel@lists.xenproject.org>; Fri, 17 Oct 2025 06:25:56 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-146-38.play-internet.pl.
 [109.243.146.38]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-63a5c134141sm19045054a12.34.2025.10.17.06.25.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 17 Oct 2025 06:25:55 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cfc34a48-ab5c-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760707555; x=1761312355; darn=lists.xenproject.org;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=jgS9zmI+/7b9FcLYt9Iza8f/bxKDs83ZeWeGjzjEzZU=;
        b=HB+JQFC7QI51ga0qwjJf6pM5ZHcdlAQUtcLjW0+lTjPYsD6kqWeyCQtrggezB+XhP6
         ohpMLuppFobVlQHMmbCDlBVGpYy3UHUge6IZQVMJArEW/qjGgj3n3zwoVk6wsd1rRQoC
         Lqi5IlogMRt6mZZ4BdJryk83d5mMzg4OamPSgGLOkbho7IZzS2E8RlgY/uDp2wTGMkuF
         r8Rsv1rqrSU6t0X8amOSHGBUXF7zLXLhASSXSXMR8HupHts4vVS63uq9ksPP4Uyup15K
         Ed76hv1Scni8QgYzwmJ/Wl08srq3smVdh08CMTfoXG+xYl59hLNesz3GhskeP0DoojnJ
         +1qw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760707555; x=1761312355;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=jgS9zmI+/7b9FcLYt9Iza8f/bxKDs83ZeWeGjzjEzZU=;
        b=abiZanTqRKcXvfIie3SdrAvgs3rKEQkNT//BAfnk/NJ6JOUxSi3HGJm1xxTwxWyVnn
         3BseBjkudSEveCjtp3kZIK6LVqtPbZaUm5pYHdjLukKJum2D2ss3slVoP/v5yDsXfodN
         dEpLtfVtFq/hXVZGzuM4X6U7XZkAXJdj9inJWVybQkzSyERI2AndN0elBFIkIn/Fy+6I
         jAU7OgWScmPxmTPPcTQrzMUg2jT9zNfAcUxfiY3ROLf5l6hcv4xrfKneZWSjsmwTDu9d
         G0diniYNwms1k/DvPQqbQjaV6RnjQWZckVqLsK7D5gaT+dsfuOpElZ/aKDHmYuFJw/kv
         PYvg==
X-Forwarded-Encrypted: i=1; AJvYcCXaP20NvixKjmO0dAujR7yrYWb89a/3AZyx8hfYU4hxkRTpc3z4sEnGVwi7HKgmjD7qcgwQ4ZPV0WA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzqfPk6azhwP56P7B0lGDQCuZZ6qVGqJV0JMRS00XFiwdMqGGPj
	CQKDSkBLqmFnGYxIuFrNfuiAY0EnzREWblhZOA6tmn3yVER3k77LdWlDD3rubQ==
X-Gm-Gg: ASbGncv2WVpOZYSCn39NQwh/kSK+c/MTmFzsNDd6jOwnoL/9zi2M4PAsFd+Id/koq30
	NX2+XS55fzS2S6itXcnHrXZ+05csLDbw6NauE/tztS7ss7nleLnR9d+NC5FCWe6MG1SvOJosBlH
	3zztiN+iAfeBWXUJ3YvmSZ5YU2vJze2P6nCKFwrJMHmosZQ7DKy/WJvagr7rJuG7GBpZJvpVExg
	b1z890/fxoyutCvG/kUTFEZLtVVVBf9o9jci9LKjHp8xPlbg3EBzf/+TVO7Ag0wDDHax9uWFDpJ
	+vIG0dwRfcO+8g/hrGiU1yj6l9Q6/QM+Nqjbzk1AuPartyF5+P4SSsbCqAL/0xIAhFf2vTgn3e/
	f8HXsdLOXsUK3NApT0TRNSUQj1/E2zVHke7AQHKHjvpTorxsaXNEIIZ20ACYQswkWE+nQazRo6n
	z6Tckpw3GW9XntRGbKAMXp5Aqmx50HkoKIrXDl3lGZdtZSm5+mYlx7Ze+OIniKgTvbLu4=
X-Google-Smtp-Source: AGHT+IFdadC86EyeO7qYW1fQkHG2Zz5/1L6LUcB2GLghwevzPPu7ihPazNP/U4zirwSgru32xfbuyg==
X-Received: by 2002:a05:6402:1471:b0:63b:69e1:7a53 with SMTP id 4fb4d7f45d1cf-63c1f6b4d1cmr3371987a12.21.1760707555348;
        Fri, 17 Oct 2025 06:25:55 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------NcLsiwYpvCVyv4aFyxDKepn8"
Message-ID: <805ce5a2-afeb-4fbb-b070-9b662b462c7e@gmail.com>
Date: Fri, 17 Oct 2025 15:25:54 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21] x86/ucode: Fix missing printk() newline in
 ucode_probe_amd()
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Jan Beulich <JBeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <20251016232646.2688404-1-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20251016232646.2688404-1-andrew.cooper3@citrix.com>

This is a multi-part message in MIME format.
--------------NcLsiwYpvCVyv4aFyxDKepn8
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit


On 10/17/25 1:26 AM, Andrew Cooper wrote:
> Fixes: 630e8875ab36 ("x86/ucode: Perform extra SHA2 checks on AMD Fam17h/19h microcode")
> Signed-off-by: Andrew Cooper<andrew.cooper3@citrix.com>
> ---
> CC: Jan Beulich<JBeulich@suse.com>
> CC: Roger Pau MonnÃ©<roger.pau@citrix.com>
> CC: Oleksii Kurochko<oleksii.kurochko@gmail.com>
>
> For 4.21.  This is a formatting fix with basically 0 risk.
>
> It is encouraging that no-one has reported this bug so far, because it
> suggests that no-one has turned off digest checking and then looked at dmesg.

Release-Acked-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>

Thanks.

~ Oleksii

> ---
>   xen/arch/x86/cpu/microcode/amd.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/xen/arch/x86/cpu/microcode/amd.c b/xen/arch/x86/cpu/microcode/amd.c
> index a5729229a403..59332da2b827 100644
> --- a/xen/arch/x86/cpu/microcode/amd.c
> +++ b/xen/arch/x86/cpu/microcode/amd.c
> @@ -519,7 +519,7 @@ void __init ucode_probe_amd(struct microcode_ops *ops)
>       if ( !opt_digest_check && boot_cpu_data.family >= 0x17 )
>       {
>           printk(XENLOG_WARNING
> -               "Microcode patch additional digest checks disabled");
> +               "Microcode patch additional digest checks disabled\n");
>           add_taint(TAINT_CPU_OUT_OF_SPEC);
>       }
>   
--------------NcLsiwYpvCVyv4aFyxDKepn8
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 10/17/25 1:26 AM, Andrew Cooper
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:20251016232646.2688404-1-andrew.cooper3@citrix.com">
      <pre wrap="" class="moz-quote-pre">Fixes: 630e8875ab36 ("x86/ucode: Perform extra SHA2 checks on AMD Fam17h/19h microcode")
Signed-off-by: Andrew Cooper <a class="moz-txt-link-rfc2396E" href="mailto:andrew.cooper3@citrix.com">&lt;andrew.cooper3@citrix.com&gt;</a>
---
CC: Jan Beulich <a class="moz-txt-link-rfc2396E" href="mailto:JBeulich@suse.com">&lt;JBeulich@suse.com&gt;</a>
CC: Roger Pau MonnÃ© <a class="moz-txt-link-rfc2396E" href="mailto:roger.pau@citrix.com">&lt;roger.pau@citrix.com&gt;</a>
CC: Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a>

For 4.21.  This is a formatting fix with basically 0 risk.

It is encouraging that no-one has reported this bug so far, because it
suggests that no-one has turned off digest checking and then looked at dmesg.</pre>
    </blockquote>
    <pre>Release-Acked-by: Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a>

Thanks.

~ Oleksii</pre>
    <blockquote type="cite"
      cite="mid:20251016232646.2688404-1-andrew.cooper3@citrix.com">
      <pre wrap="" class="moz-quote-pre">
---
 xen/arch/x86/cpu/microcode/amd.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/cpu/microcode/amd.c b/xen/arch/x86/cpu/microcode/amd.c
index a5729229a403..59332da2b827 100644
--- a/xen/arch/x86/cpu/microcode/amd.c
+++ b/xen/arch/x86/cpu/microcode/amd.c
@@ -519,7 +519,7 @@ void __init ucode_probe_amd(struct microcode_ops *ops)
     if ( !opt_digest_check &amp;&amp; boot_cpu_data.family &gt;= 0x17 )
     {
         printk(XENLOG_WARNING
-               "Microcode patch additional digest checks disabled");
+               "Microcode patch additional digest checks disabled\n");
         add_taint(TAINT_CPU_OUT_OF_SPEC);
     }
 
</pre>
    </blockquote>
  </body>
</html>

--------------NcLsiwYpvCVyv4aFyxDKepn8--


From xen-devel-bounces@lists.xenproject.org Fri Oct 17 14:15:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Oct 2025 14:15:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1145221.1478321 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9lEP-0007B0-GV; Fri, 17 Oct 2025 14:14:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1145221.1478321; Fri, 17 Oct 2025 14:14:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9lEP-0007At-CZ; Fri, 17 Oct 2025 14:14:57 +0000
Received: by outflank-mailman (input) for mailman id 1145221;
 Fri, 17 Oct 2025 14:14:55 +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
 <SRS0=rDIu=42=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v9lEN-0007Ak-H2
 for xen-devel@lists.xenproject.org; Fri, 17 Oct 2025 14:14:55 +0000
Received: from CH4PR04CU002.outbound.protection.outlook.com
 (mail-northcentralusazlp170130007.outbound.protection.outlook.com
 [2a01:111:f403:c105::7])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a5e64b7a-ab63-11f0-980a-7dc792cee155;
 Fri, 17 Oct 2025 16:14:53 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by DS0PR03MB8200.namprd03.prod.outlook.com (2603:10b6:8:293::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.11; Fri, 17 Oct
 2025 14:14:50 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9228.011; Fri, 17 Oct 2025
 14:14:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a5e64b7a-ab63-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Cvke+1iwVeq2SVODEsoXdlgtn6EOmFNsxeNMlQlyOxl8IwTqiIlpSFzTd9y7o+Y39YeV1WjSyApHdII5/SwboYO6SQwtYF21/x8qKqgW2fPeIlIKzL4iKexE0S61EkV4OuE97urEqEgtrROR8dPisQZS/oOuOLrJ3+ZwTqMkrUq7cdo9oLWs3XaSsxSBb3pyYMsd+RNcFlDRgFD00BXk6AGRoKWDXMacN87dE7uMNN3u1rAh+xSK6igYBShN3L/f7iP6FG4x9YFYTSIXtDM2kKjOG99MQqw5S1Drvy7OcmYvSlr/2fqHcBOiVt8wJwaWaqeceidw8t6hzlphWh9O9Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0gQj1pMsmb7+ZVEz8JVRpOUrAauqwu3sRsy1uxzpjAw=;
 b=FF1JorMKLzR9XODvpoyysiCsw1ja4vTLGNhuukajlSlAy9ISQO7TJfSFxFVYhEa1Zdw4zdEhxoi8stZhRGYFMtYZsRwzA4YB+DAfO4HWSgdGPPOTD2TFKrq9gXZtirPnv5iDA1i3YKCxH8qJlJ5X8tvxnrlUXRRxPQC+7d7ENgRPToKX+zmocO9/w1GYEosBAw/QcoIywR2pVzkq2Dv4mWayS9xKMaAcHI4BRVNGSkGD/IFPuP/xLS5Jjj0E69JwFxCVMUWZkPjbxo5MZrC7Abd4XwdAZQv36S/ykoTWtHAg13gjy7dZdBF2yy15zTdc0uyLBUGrW8XrwauyT5pKPQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0gQj1pMsmb7+ZVEz8JVRpOUrAauqwu3sRsy1uxzpjAw=;
 b=SvIxsEG69gO10qldD+EVEV2QAqTOhNYMmQRXi/vzih2Zmg6N9Cd/mUBmv+3pGVJQc+0Ai6If/wR4Br2QfGWrU5VTY1wnyhIIbsHkvgfM0g0/0vjesaH6zaiF2czDHKUMkTBLSbSyic9iGwcqtm86nQ5i7m3+Lg7ri7ak6bBhyJA=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: oleksii.kurochko@gmail.com,
	Roger Pau Monne <roger.pau@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH for-4.21] tools/libxc: fix xc_physdev_map_pirq_msi() with PCI segments != 0
Date: Fri, 17 Oct 2025 16:14:34 +0200
Message-ID: <20251017141434.15205-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.51.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: PAZP264CA0008.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:102:21::13) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|DS0PR03MB8200:EE_
X-MS-Office365-Filtering-Correlation-Id: 73ed0ed6-a978-49f7-c86b-08de0d8788f9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?YUc0NmNWM1IrOWlobTR6R0RwK0hSTnlCZ1R3TzRUcFlWMjllNXF5MDBLa1ha?=
 =?utf-8?B?UjVPSFBJVGhLNmZoZjUxVElha3RtZndzUW9mdlM5NFhCWXZtY0g0cjBpZWR6?=
 =?utf-8?B?Rk5aZGo1Sjd4UjlFRkhKMEEvZHg1N01vb3RlZmxLK1ROazJzYzBPR3h0eERR?=
 =?utf-8?B?anRDUTJpTlFmYjJraStUV2lDRnFpZ3Y0dVJYV3VtS3M5QXc5bmhablVTZGx5?=
 =?utf-8?B?dGJZK0VPbHAvRzE3aHorbENrbCtMUVl4WitqMzl0NFFLWE5OTDZkVVNudGJM?=
 =?utf-8?B?UGFFZG5uMTlZQjBnRWYrNG1RTkFsNHl5azFxZDg4T1U4TllTTVkrOUZiN0lj?=
 =?utf-8?B?aGNtbUNQVmFwdDYyREI1VDRZeGd0K2Q0aEZoRXZqaVNCU092Y0Q1anViM2Zp?=
 =?utf-8?B?bTdWYnlHeW5lT3Uvd05haEFHTG5Kd25UN3ErN1N0MnhmQ0k2SDRwUkdQTUl2?=
 =?utf-8?B?ZU10c1NCZjZaQW5PZ1VCUkpqU1BZWmhvaHJOM1RkNTIvaDNObmUydEJWcjZy?=
 =?utf-8?B?Sm5Hd1JQTzVyeUNUOHVDWnhaRXBtRm9pZWVHc01oYjM5cHZjVThmd1hhd0pO?=
 =?utf-8?B?UGVpVC9SY2ZsNGNXMytIVzNUVTJTZlNJWnNhN0dhdnl2a3VzOW5nWHNrS2g1?=
 =?utf-8?B?UW9Kb1RmUmh6b0VGOXBIdnNqQ1NlR011WmprNzA0SEdENkUrS0VYQWZhamtG?=
 =?utf-8?B?LzZaYXFxUGp2MENZUzZZT2Y0bTJXTkZZWGpCNEZ5eGhwQ2U3SEhvcTFYSk5w?=
 =?utf-8?B?eFFNSFVORGhiOVZtZE4ycnJ3L3ZvcTMwTnpNSE0veis3RXF6RyttN0o0Y29v?=
 =?utf-8?B?Q1VHQnp2eENxTWtndFZKRDF6dWMwVjQ5bjlEbCtYSWUyWitGTmY0QllNYXJZ?=
 =?utf-8?B?K05URnAxdVNqM3ZpUnZPRkl6U1lMeCtPZ2l0YnlGb044OWVzRVZoeXFiQWRT?=
 =?utf-8?B?UmljWUJIWEUxQVFNK1grOGNqcW4yVGEvaGZzUzhTcEVyMTdweEhlQnlkbVY3?=
 =?utf-8?B?dWwwZnpXNW9VakxhcXJZODl6Y1gxZTIyUndOUjE4d2hTZUp5cXo4b0NoTnds?=
 =?utf-8?B?SlI5V2NtZWhxdWVweFBqSlFrYTZCYjZyczNmWWdQT1RsU2JnQWpPL3lUY2Fa?=
 =?utf-8?B?bWFtMThGNitIQXVnM1BjdE16RlFmNUNVMnhmSllrWm55UWoydVA2Q3kydmJU?=
 =?utf-8?B?RGVQYUE4VlQzdnJvM3ZOTThxTWFaQnY3ajVZeVZ3Z0VreWdzYkY5bjBlYzkr?=
 =?utf-8?B?c0RremV5SU0wMmF4S2F2OFNwVS9QakVEYUhSNzNCeDFYSWtHSlVibGxSS3Vu?=
 =?utf-8?B?WW5ma2puUmJKd1Zra3l0TzlwR0QyMDBNQnpSam5uOERZMmlGeFFobmVldi9r?=
 =?utf-8?B?eVNBcDlxMDBUbzNlaHNhYWpOVFZaMW5CV21TRTAyUUJkODE4blZ4QmV3OUF3?=
 =?utf-8?B?allyNWduY2tFK2oxODF4NThOc1g2WnBSMkEzN1IydXdLVi9IY0NCeS9KT0sr?=
 =?utf-8?B?alhvdmJ4NGhCTXJEckl2YUgzMHNKbmtXMWprMWJOSFN6WlJvbGF2aVZKTzlG?=
 =?utf-8?B?VTlPVG5PZGZWZlpHaFlkenIza1p5K0xxeHNqVXQ1QVh6Qm43cUxvVHcxemlE?=
 =?utf-8?B?ZTd4WkRKUURFK3pUZ1RGZ1hSOUl1VlNrd2dUZVlsWklDM2llRVF1VTRwckFq?=
 =?utf-8?B?VDRtUjR3a20rTlluLzQrdFNoa0FnbnJDVU5iczFRSFNXY0M0RHV1Yi9BZGlP?=
 =?utf-8?B?N2JNb0tLVTk3Sk9zOFlJd2pYdi9jWGROSmxVT0x3ZkQzTDh5eEo5ZHAwUTcw?=
 =?utf-8?B?TVNlbEJMZklhSXA5Mmt4TzdLbk5rcFNxeDA4WGUrLzFOWE5BZWlTQ01MQmZB?=
 =?utf-8?B?VEtsWUFrV3M0b29QeWkxczd2enJIY2lQVDlRWkhiWjBKT1hDQ1FuR2I2WU4v?=
 =?utf-8?Q?QtLrWk/YRwhu5GJVjquHIzpTNr69kv9d?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?R1NISUZOUkYzNi85VzZHS1pBZmFXaCtpaEY2NGh0L3FwMDlRM0w5dnZyYkt1?=
 =?utf-8?B?WEV6ZDhyUUdrNEsvamFoalpaZjRXWDFzTFRJQ1ZGdSszcmRhV1h6b0RLcThh?=
 =?utf-8?B?enk2QXZROFNqa2haaXlmb0hYZ1J2RldhZmNWQTJ5cE1kdUoxalJZaEkzaG9j?=
 =?utf-8?B?cy9oRFVxS1BmZnRNcWZ2eGVyR250QWhPQ1hGWTN1OCtpbEdkQmt3WDd2ZVpx?=
 =?utf-8?B?UnVNUzBCVFNsWE1ZT21KbElQRk1PVktQMVVqNXR5cUtiZUgvN2hIRzM2Q1hs?=
 =?utf-8?B?U3lQMy8vdGtmWkRIWU1vWW9LNWpjTnJtRXV4YVdaVTRrenJhazdTRVc5cEhO?=
 =?utf-8?B?cjMwczRMQnVzQld5QXBndDFaelBydVdsbkJmTndTbDVVbzVuUXo2bnZTMnVY?=
 =?utf-8?B?UnFpZEZWdk11ZmtBQXkyOTJ4TFFlWXZ3dW16US9XRnN6eUFoOWVBbXNJR0xD?=
 =?utf-8?B?S0hzWVN1OEgvMksvdHU3NHYvd3RPTHNtTzQybE9KM0o0L2RldXhvYW1hakhi?=
 =?utf-8?B?cVdoRmkxRnVkT05RblNBY0pFbjV5MG41TW9VMmVQTzhtdVQrTVEzOHZHVWcy?=
 =?utf-8?B?U2M1ZDFYZmcrQzdoc3ZnczhTbmprZjc0UUxhQUd1akpqSmR2a25vYmZHeUVz?=
 =?utf-8?B?ekxPMzBDWENCMjlxOHY4SWtZNWdsTkZkYkRiRE1RMnZlKzZqTEFxMlFKZmFK?=
 =?utf-8?B?YUgwVXlKRlVPWDBMbzhPK09naVZacXVxS0FESTA2SXdWUndiR1Y3WGZWSEFX?=
 =?utf-8?B?TktRaXFqZGVuL1l3Z2RVZjM2ZXJSK0FNdGlGS243VHBXN1MzSFdqdjIxSWds?=
 =?utf-8?B?cUxZRGpRT2RUUXJ1K3NCWjMxY1FFbWI3REJzcVNBcGxDOWRHUEVJZjZFMnhu?=
 =?utf-8?B?SVRKNGZPemxQeXBHV1hOVW80akE3SVlhbWFxOW9FZXIydXMvMjY1c1dXUkhr?=
 =?utf-8?B?bXk3REFkTEFkcVZHQWR3YmM1Z0NteHFEY2lGa210cDFzeEV3R25vZHQ3WTFm?=
 =?utf-8?B?emY0Y2pmUTk0L2c2cnJZUVBnYzluam9pR3VKNWFZeGJoYm1hcmdjUUFyY3Fw?=
 =?utf-8?B?MTNlUDZEWXFaSnpzMTJHajkxZ0VWOElGMmEvaVpLNWhvTlF1QUZPR3Z3aWtY?=
 =?utf-8?B?VzQzUVlqRHJrTFJodjhGWmxnd2c4ZzA1T2g3Rit0UFFOcGF1WFMzVUxhTUlP?=
 =?utf-8?B?anczUTFrblJoSEtlTjhxbWhSc1c0K1FPUHJMUXV5NGRka0VUUm45aDJYcFlF?=
 =?utf-8?B?VmZRZmJGWm05cS9SNHFTWlZBTzc1SlZGbUl3dnd3SkhWNlpUaUlvWGNEVldV?=
 =?utf-8?B?TVM2eDc5NnJRRncyd01kOER1SU9SREpNd0lIV0tST2NybmVlVVdvTzRaQzZB?=
 =?utf-8?B?dklTL0VVeS92U2FRQlN6dlgwdithcnpkb243cFluT0xSU1BLVktHRm5JYXpG?=
 =?utf-8?B?VXhicTBzdmpUd0ptcHdoaWF3NDhXUmtrMjQ2RlhqQU5USXJUV09hbDAwTytF?=
 =?utf-8?B?cmErMVhxREM3SERIUHUvZnE3ZlA0bnNVVmpKWVlDdHUxaTZ5SkUvUTkrdVdV?=
 =?utf-8?B?NmlIdUQ5UzRVSWFMQzVHbm5td0VyVCtIbnVzclFIc1VNeXNqcEI4bGZxWG5x?=
 =?utf-8?B?RlVnZnFWRTdua0FHemFzTW1sVTNDMmJFUDRIRkJ4R2tvdzZOVkdham5tYlFH?=
 =?utf-8?B?RVhBNWJEZHJCZDlzaDhjZUtMbkY3STE5a1lFZkRPL04vaThaVittU1FCUzdy?=
 =?utf-8?B?WFB5MkNyQWVHUXhuMzNYdmMwTzRIeExwN3BZR1pHelR3UjFNNWo5Q3A2RDdZ?=
 =?utf-8?B?aGVpQ3NGRTlWZWFBV3hzWDdBSk01RzdhZFM4UzRwR2tvSTFxbDBSTlAwTEZu?=
 =?utf-8?B?cnc2NlJkT1gyRGFicmFWVlBLWVpCUVJuUkFWNEVWUUswQkxEckc1WUhxeE9I?=
 =?utf-8?B?aDVBMTVodHhKQmwzOURhYVFNaUJqSWs0aW40UXhjVER1bS9QQW50SmZ6dzJW?=
 =?utf-8?B?Z203ZkMwdG1KK2hONEk0YjhKQWdvZERyU3dnMUp4amEvVlM1dUtEMHZObXZV?=
 =?utf-8?B?QXhtUUhrNUk5Uzh3WmkyWXQ0UDlUN1hFdDRLZTJmMjFjZW5kRFRZVEduanp2?=
 =?utf-8?Q?lnXYoH1XQKRNw05IQ7INHJ6Bu?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 73ed0ed6-a978-49f7-c86b-08de0d8788f9
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Oct 2025 14:14:50.3713
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: cchmitaVasJgGwOIOw8grKdokPUMKA/UbFeC90XVl4wYsUyrXPit7Nww6IhRECqtHQaf3QBcGGHC58qBTc9wEw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR03MB8200

Otherwise it's not possible for device models to map IRQs of devices on
segments different than 0.  Keep the same function prototype and pass the
segment in the high 16bits of the bus parameter, like it's done for the
hypercall itself.

Fixes: 7620c0cf9a4d ("PCI multi-seg: add new physdevop-s")
Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
---
I think it's 4.21 material, as otherwise it's not possible to passthrough
PCI devices on segments != 0.
---
 tools/libs/ctrl/xc_physdev.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/libs/ctrl/xc_physdev.c b/tools/libs/ctrl/xc_physdev.c
index 25e686d7b389..1307d6836d72 100644
--- a/tools/libs/ctrl/xc_physdev.c
+++ b/tools/libs/ctrl/xc_physdev.c
@@ -79,7 +79,7 @@ int xc_physdev_map_pirq_msi(xc_interface *xch,
     }
     memset(&map, 0, sizeof(struct physdev_map_pirq));
     map.domid = domid;
-    map.type = MAP_PIRQ_TYPE_MSI;
+    map.type = MAP_PIRQ_TYPE_MSI_SEG;
     map.index = index;
     map.pirq = *pirq;
     map.bus = bus;
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Fri Oct 17 15:41:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Oct 2025 15:41:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1145253.1478331 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9mZo-0000Ys-ES; Fri, 17 Oct 2025 15:41:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1145253.1478331; Fri, 17 Oct 2025 15:41:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9mZo-0000Yl-BR; Fri, 17 Oct 2025 15:41:08 +0000
Received: by outflank-mailman (input) for mailman id 1145253;
 Fri, 17 Oct 2025 15:41:07 +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
 <SRS0=vay5=42=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1v9mZm-0000Yd-UI
 for xen-devel@lists.xenproject.org; Fri, 17 Oct 2025 15:41:07 +0000
Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com
 [2a00:1450:4864:20::634])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b0fecc8a-ab6f-11f0-980a-7dc792cee155;
 Fri, 17 Oct 2025 17:41:05 +0200 (CEST)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-b3c2c748bc8so257776966b.2
 for <xen-devel@lists.xenproject.org>; Fri, 17 Oct 2025 08:41:05 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-146-38.play-internet.pl.
 [109.243.146.38]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-b65eb9523a7sm2041966b.71.2025.10.17.08.41.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 17 Oct 2025 08:41:03 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b0fecc8a-ab6f-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760715664; x=1761320464; darn=lists.xenproject.org;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=hJL52wiNFpl4FOR8CPiE5gP7Lm/g9dYwKaDZ25+pF0Y=;
        b=mT3bABcUnRZJMqf+xnU+ZmUweLWqy7JtaPv5TYvoBxPp+jAW0Muikx+gtn0AeuhLEi
         c7+bk1mmXQiG4j0UHedoGEpC0OuWKl7B6/jKn7uuqVeT4h29x25tgWEBCjQorJLIxAsd
         nc0y+SrO2BMHLfV9V6jfisM0Y/kodEkXU4FINhzN40Wqd1vyrBo0ElyFEWV1+yoOJO2j
         ukCu+2CAU8lBVpecmaUPQvTSb/nvGuUDwFwGymJ6W+Uec4JSwDlB7Ohcp+o4uc2FSms8
         kEGEzynMxDTWDcKixpk0vb5h7d94eqKF3nC0bNfA2D4/rZdmvvpLt4oMXPVGWfxq/46p
         ohIA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760715664; x=1761320464;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=hJL52wiNFpl4FOR8CPiE5gP7Lm/g9dYwKaDZ25+pF0Y=;
        b=HeUVWfM1tvkKOWhDWkM+5s+SF72EpbinI1wOGMivF6zjTp0rqeoQdGpB7J5PWAejEC
         j5erh9IMDmZgLCJ8J8XdMwPff0hbJYXC+1qXPJoclKYlg9EopUI1G693YsS4XRVdz789
         FfYjg+TAHp7BP/zmesaf1SEFzOoyy9v2Q1YdRBIUCAke6f5BnCJYyeHfgSZEWp8X/1lO
         /wOoitxSNMd8uQ4XgdbA03HLYgLevCciFCXbfQvepDRN3TmvGNzyyvyt0BNPnqQ90pav
         tTXdMQzVE53T9lEQrn0ys9erzFE3zjXaW79tVCksPVv/ph79D/tbwriSjtpO70OFhdVk
         s4SA==
X-Forwarded-Encrypted: i=1; AJvYcCX8mHVsrHCjLUTtdHUlfWTiR18DhMu9LRSrhtKlHGxV8xKiY671U504V6Wo3oszrZ4ko/gjtWSa/iY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxwwZUWYBRYLHRtQhmg53Od3Zp83V1g00sjLprqzRDaWm79VdOS
	BLmOVYX2xIYcYSM0IRAi3T9CPSFQ+JjJojukeFbXS/E2xXsFfWImZCRQ
X-Gm-Gg: ASbGnctPexMtruBc/mwF+F/XaE5GoDKulKFCiq8VSbtbcbSWiKdVk85uEMOR4ZgzwmS
	t1Zq/nk2HZTq2Fvf1gRxZSo8b0JfuDuKVlHqHrqY1VBTkvyuxRdVuUWyO0CYSvEj9NweC2qoDZQ
	W3PBSo/ix6EuTUAnScw8KkolurgD0VPfV1IxXc1PNr3wb3qLx0NuhxqmSlVIWiMj5EWAfsFvygb
	KWnlt+GBLosn2M8jCyqvi4EN5c9xSAQAOIyikY6agF1PIXWz+0SODdeiiRFRFr9J68LBfQ/OJvh
	XjmGlKqAOw/DaPcuNxdlxoIdsQniGOo5JJxnyUqjZxGlZwOOvuAqGHln1XE1JhkhvZpRJJ4Spnz
	rNKRlaRuqMieexFgRmEzhEHCD6a2W6SPgYCsq6omKJC8LGy1Fw7FZgivSmhDimbsr8HsTogh//f
	tv4X2Hefs55slIlaVVtxDazG9CanO/vKz4l9o0/z91bM4sptkvTkFU1rJKUJCUOtOrOvtQSG7dg
	+X6kA==
X-Google-Smtp-Source: AGHT+IGJPc/FES88dOUjOpNR39UOumvqAB9KTh20+PfLy0MWsVdgit8wDR3ltKaY4c9N8qr2EPUMZw==
X-Received: by 2002:a17:907:bb49:b0:b3c:82d5:2119 with SMTP id a640c23a62f3a-b647403a63amr442781066b.6.1760715664053;
        Fri, 17 Oct 2025 08:41:04 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------aYbdf80rzwsshXOvemTriGIh"
Message-ID: <9123a2d1-e280-458d-8799-d6014b4f7fc5@gmail.com>
Date: Fri, 17 Oct 2025 17:41:02 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21] tools/libxc: fix xc_physdev_map_pirq_msi() with
 PCI segments != 0
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Juergen Gross <jgross@suse.com>
References: <20251017141434.15205-1-roger.pau@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20251017141434.15205-1-roger.pau@citrix.com>

This is a multi-part message in MIME format.
--------------aYbdf80rzwsshXOvemTriGIh
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit


On 10/17/25 4:14 PM, Roger Pau Monne wrote:
> Otherwise it's not possible for device models to map IRQs of devices on
> segments different than 0.  Keep the same function prototype and pass the
> segment in the high 16bits of the bus parameter, like it's done for the
> hypercall itself.
>
> Fixes: 7620c0cf9a4d ("PCI multi-seg: add new physdevop-s")
> Signed-off-by: Roger Pau MonnÃ©<roger.pau@citrix.com>
> ---
> I think it's 4.21 material, as otherwise it's not possible to passthrough
> PCI devices on segments != 0.

Make sense to me:
   Release-Acked-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>

Thanks.

~ Oleksii

> ---
>   tools/libs/ctrl/xc_physdev.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/libs/ctrl/xc_physdev.c b/tools/libs/ctrl/xc_physdev.c
> index 25e686d7b389..1307d6836d72 100644
> --- a/tools/libs/ctrl/xc_physdev.c
> +++ b/tools/libs/ctrl/xc_physdev.c
> @@ -79,7 +79,7 @@ int xc_physdev_map_pirq_msi(xc_interface *xch,
>       }
>       memset(&map, 0, sizeof(struct physdev_map_pirq));
>       map.domid = domid;
> -    map.type = MAP_PIRQ_TYPE_MSI;
> +    map.type = MAP_PIRQ_TYPE_MSI_SEG;
>       map.index = index;
>       map.pirq = *pirq;
>       map.bus = bus;
--------------aYbdf80rzwsshXOvemTriGIh
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 10/17/25 4:14 PM, Roger Pau Monne
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:20251017141434.15205-1-roger.pau@citrix.com">
      <pre wrap="" class="moz-quote-pre">Otherwise it's not possible for device models to map IRQs of devices on
segments different than 0.  Keep the same function prototype and pass the
segment in the high 16bits of the bus parameter, like it's done for the
hypercall itself.

Fixes: 7620c0cf9a4d ("PCI multi-seg: add new physdevop-s")
Signed-off-by: Roger Pau MonnÃ© <a class="moz-txt-link-rfc2396E" href="mailto:roger.pau@citrix.com">&lt;roger.pau@citrix.com&gt;</a>
---
I think it's 4.21 material, as otherwise it's not possible to passthrough
PCI devices on segments != 0.</pre>
    </blockquote>
    <pre>Make sense to me:
  Release-Acked-by: Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a>

Thanks.

~ Oleksii</pre>
    <blockquote type="cite"
      cite="mid:20251017141434.15205-1-roger.pau@citrix.com">
      <pre wrap="" class="moz-quote-pre">
---
 tools/libs/ctrl/xc_physdev.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/libs/ctrl/xc_physdev.c b/tools/libs/ctrl/xc_physdev.c
index 25e686d7b389..1307d6836d72 100644
--- a/tools/libs/ctrl/xc_physdev.c
+++ b/tools/libs/ctrl/xc_physdev.c
@@ -79,7 +79,7 @@ int xc_physdev_map_pirq_msi(xc_interface *xch,
     }
     memset(&amp;map, 0, sizeof(struct physdev_map_pirq));
     map.domid = domid;
-    map.type = MAP_PIRQ_TYPE_MSI;
+    map.type = MAP_PIRQ_TYPE_MSI_SEG;
     map.index = index;
     map.pirq = *pirq;
     map.bus = bus;
</pre>
    </blockquote>
  </body>
</html>

--------------aYbdf80rzwsshXOvemTriGIh--


From xen-devel-bounces@lists.xenproject.org Fri Oct 17 15:52:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Oct 2025 15:52:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1145264.1478341 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9mkN-0002BH-Cx; Fri, 17 Oct 2025 15:52:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1145264.1478341; Fri, 17 Oct 2025 15:52:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9mkN-0002BA-AI; Fri, 17 Oct 2025 15:52:03 +0000
Received: by outflank-mailman (input) for mailman id 1145264;
 Fri, 17 Oct 2025 15:52:02 +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
 <SRS0=rDIu=42=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1v9mkM-0002B4-3M
 for xen-devel@lists.xenproject.org; Fri, 17 Oct 2025 15:52:02 +0000
Received: from CY7PR03CU001.outbound.protection.outlook.com
 (mail-westcentralusazlp170100005.outbound.protection.outlook.com
 [2a01:111:f403:c112::5])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 360b04bc-ab71-11f0-980a-7dc792cee155;
 Fri, 17 Oct 2025 17:51:59 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by CO1PR03MB5908.namprd03.prod.outlook.com (2603:10b6:303:9d::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.13; Fri, 17 Oct
 2025 15:51:53 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9228.011; Fri, 17 Oct 2025
 15:51:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 360b04bc-ab71-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=DODxHeo2OngVSR5aH+DQqhy6KE8xdm1FYP0BkOQ3bh6LoJPd5lvWEA1mpf3r/p5708/rTQoR/pKdmGZxvAvcM0cNHuO//0hDodrfiuYCjy4Y4RochDAnnsnP3DD5hc7YuBK7yt0zo/hRnuvrPyctEmmaDPSuSSJtmvELrFFWqDcw98ToSSR5zQPhxtn5sh5GG6cmOqzwHpiqgOb5Fp6EpW5P3OpScxrK7gnQRRGFBRwokMjA4zAvkDGBnJWJXljIsWZ5S9BMGVzQ6V+sxsufAiR3G9DCnpZSn7s+55RTJesD9KR3yVfn1NjhtmPFoWBdAWwoOm27QYnojSLONnWCxQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3qMWxcf0rg5YHkceVGM3qS2pgcb4t2ikbgNbz1m3Vhc=;
 b=n4gFODnTDEhE8UXXJhV3ElIuH0jeMDfcJ/LFiZUw9FkiCo5Gw/ltVHJ2ZB6j5NHaR95m9rW9TNtOF+7qS5vHSnkH5tkeGU1m2tmmZ/io1rZq5phsp4iGtfbEXguYJCkXvXRN2AXKasUjr3fDGS/qC9tNZbd1IENw4R+mrmc/INYimqbqzOJhzxF6pgb90IlCcCgObVSjSIWgn1GaegNBGiBc2Oi/4Q+vslT0Wbb2QaYYMvN6zHzJ9VjPGzCNZOa9jlAisE8dAYBvNiGs6SOkme67PspIIi4Cg5YpLymTwM4nT+1SRg7fHilfq6w7Ia7UhsthOt2NyXD+UO5yrfR/PQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3qMWxcf0rg5YHkceVGM3qS2pgcb4t2ikbgNbz1m3Vhc=;
 b=WovroAtZy6ShyqYhglHYBtR2P1ySpfcyx7dzfCmhTlQNmH4JMoLPjApkgGuEL3Z05teKdCRNKNc8wLekV4nAzZxBOKzYSgSh8zfD7iRhMG+4ZVl34J/t8zlCDIjkAulNdzOf2682e4OCJWE76G1cD+sLIdWj4HIOc0ijnregjl8=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: qemu-devel@nongnu.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony@xenproject.org>,
	Paul Durrant <paul@xen.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	xen-devel@lists.xenproject.org
Subject: [PATCH] hw/xen: pass PCI domain to xc_physdev_map_pirq_msi()
Date: Fri, 17 Oct 2025 17:51:36 +0200
Message-ID: <20251017155136.16540-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.51.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MA2P292CA0011.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:1::15) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|CO1PR03MB5908:EE_
X-MS-Office365-Filtering-Correlation-Id: 55257727-9222-40e1-c175-08de0d951767
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?ZGxwei9sdEk1c0hTZTdxNndRVi9TMmRQMDl4ZVVWbTdUdDQ1VkM5ZC81aGtB?=
 =?utf-8?B?NElIT05hdFhwblJVTHpGMDNBbiszbVB4WkloUHNXUE4rQmZiNFVJckg4MFpw?=
 =?utf-8?B?Q2p0L0U1SUtHb3p0eGp0eXFDQW9QaEcvbUtyQXNYcHZKYWxjLzFETkhjUlVM?=
 =?utf-8?B?aWFHOHJQWlpIQUJmTzF3NnFUZUJ3bE13RmpNbUZNUWV4L0tEMXNTQk1oVk8y?=
 =?utf-8?B?eG9vYmlyRkMzc0FHSFd2WjZrb29iMkpuNmNCRmY3N0tCOXV6b0dFclQ5bG9z?=
 =?utf-8?B?N1FxUVZLdXpQUGxzQncvcUExcTlXeXFjMDBwMDE0TG1peUEwYXJRb3c3eUtR?=
 =?utf-8?B?bldObks4d2NjMjNHK0VlelRFUkVmQUlSNHBrTWxCdFdjVDBsUStCZUZ1VVZC?=
 =?utf-8?B?ajhuZVBNb3FpN1JuYWFqS054cFliaVlzQm4xS2Y4endQeWdUMS8zR3B3cklk?=
 =?utf-8?B?b24zVmR1VmFISDA1VDRPblN3ZmJSanhPc0dSTnpmNFpLYTRMcHVCeTIwVVpD?=
 =?utf-8?B?ektPM0xrR2lOcGpIOGFkaFgrbVdSMGgwMVdJZnJCUTlyK1dQOVIxVHhiZ3ox?=
 =?utf-8?B?TVpvcWd3NWJqWlc2ZTY0YXJ0V1lwck1kMG1zOGtMYkZiT1hCZHBiZGNoNWZh?=
 =?utf-8?B?ZlFWL3hvV2VwWXRIWWFQM1ZEWWQ5N2ZFU3VNVWQwUXR4bUJTWTUzeTJwSndv?=
 =?utf-8?B?MWEvZjI1M0FDOVhaK2lQWXJkOXI4eXJNQ1JaUnhwV0lFajZZT0FTQ1Erc3BR?=
 =?utf-8?B?UllldVE1dTg4ekFGeTdPdHpCU01XaVYrUitTMzdvL2phbnlHbW5aajFZVmE0?=
 =?utf-8?B?a09QZHJuQUgxMzZKM2dFeW9aLytqZjVVRGkyRUMyYW1qOVFLTkdKeUw1VTls?=
 =?utf-8?B?QkxMNFNwcmVPK2hZbTV1S29KS2xuVmhudjNKSjJHZGIwaXhjR1hJMGtENjNY?=
 =?utf-8?B?V1l3SmFvclVmdHNUVDlkOFltbFFxdXBvOHFzc1d0ZkVrUG1uZVZuU0RCNkc1?=
 =?utf-8?B?dFBMeVIwL0pUcmVFSWZRMU5ab3hyeE9SbVBvZzlydDQyL29vTkpybXZhTUtu?=
 =?utf-8?B?TXZnYUZObFg1MVZ2RGUyUzBWNVIrMXRqQ25va2lyZEJhREx2aGxUV2hrWGln?=
 =?utf-8?B?VDRHS05KQnVnSmVMc1Q3Q043RW5lTXorV1VHNFpDcEp2akZmaHliRmVCbXIv?=
 =?utf-8?B?QjdyOFhSN3FHMldwd25MbGdnVGtobElBcU9pNjBIYnBNazFURlZ0Y3hSc0hO?=
 =?utf-8?B?ZUkxWnRaUjVNNDgxOVp0V3J3NWZPN0twYkFPSVlTa1NFQmdtSi9hNjBOd0ly?=
 =?utf-8?B?bGk2VkxTSzJ1M1hzTitKSXBuNlIzTFBrbnZFczhId0pYblFtVEp4eFR1WVdP?=
 =?utf-8?B?ZTVYa1JRcUgyWm1JK3FwcnV6TFpjcFhpdUhrQ2J5WCtmY2hoNTlKb1dXcnYr?=
 =?utf-8?B?c3pIMUE4aDROSVpRMnpkOEwxdk94T3UvV0hQYWtIcElGd0hlVDNPNG9aUEJ6?=
 =?utf-8?B?d3NZRmZvSXdOTlN0Mi83REpEcUhHckJpSy93WlJRUXF0SWgrV2NpY0I0WUZN?=
 =?utf-8?B?aFBzNEtPcU5GclRmaEZaNVpEUWVsK1BmRXJnOUFIa2ZoMFg5K2FoWi9QU3hH?=
 =?utf-8?B?UjdVdjVONStwYi9qMlRCdDArYzMxb3pSdkhxSG50S1lqbmNzK0gzT3VpTzU2?=
 =?utf-8?B?U0lBbGp5cHYrS0pZWlc5T2V3Nms5azRKZTVIcUljNDAzZERKTnFnN0duQ29i?=
 =?utf-8?B?bXJSZlZBY253bEtEZEROWHJ1Zi9EL2NqeVExM21GYXl4MnhDSVl2eHhJUXZi?=
 =?utf-8?B?ZE5Gd1VTMnVaVEZlajFrWkVrU2F0ODhwMU5pblVCWm44L3BEMzdLbDkzSCtI?=
 =?utf-8?B?UGpsNDBmZWRNSjQrQ0x3TE40YTYwSFV1SjJjTnNBS0svTEQxc245dFlLS081?=
 =?utf-8?Q?s6ftQJLOppwN+is+sUUMrKRonLKcT35n?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WEEvcGxSU1RlUkRXVkxZa0dBV1MrMU5TREliWmFpTE8yR3hhNk9YdDBiK2VH?=
 =?utf-8?B?UyttQ1lBdHlheklra3l1cHlKYmJwT09BZjZ1UTEzd3lXTERpSkVvM3VpRnNX?=
 =?utf-8?B?WWdTWFNrY2ljWGVUNnlDb09yUjBHTzJRVzcxM3YwVzJvaUdlcE1zbUIzVmJX?=
 =?utf-8?B?ZkQwaUxVdmUrelFFY2s3Snp4NGdZTmp2YmtJRXJIeTFqZDgydEkydnRvSFpY?=
 =?utf-8?B?VG9TVlhPL1JnSU1NUVl0R3VVQWVhSzloeEU5Q2ZjeW1qR2RNUkZza2FTZUFV?=
 =?utf-8?B?UGJvVWE0YkY5WTdtcDN0YlRYY2dzU3VONUZMTFcxNmNBNlUxOHU2S0Y4ejNv?=
 =?utf-8?B?TE0wNHUwc3J4bEtHTUoyM0x6K2luQ0tJT0o4ZnE0N0psSWRFWTNWTGN0QkR2?=
 =?utf-8?B?V3NmZWtLN3d3K3ErOG42VG5ZT2dZKzYyUHJBd0lFMWtKRjZrVUpPaGx6OFJl?=
 =?utf-8?B?bjVZQzdMaHNCejhtcFAxWjVjNXBQcTFHcE9jalN4NmZqNWw0allOVS9XcVJH?=
 =?utf-8?B?Z0tRS3FobmF4dEFObzZXcHlVS1dvd1hHbVlPNEZUL2IyWStpM05WcDlmVko0?=
 =?utf-8?B?T1F6SVVDczB6RVVjZHRTRlA2aGZIb0RZcnNCN1JUSjdwdVhwSVpHaE1zenVh?=
 =?utf-8?B?UFk3b0VRZnQ3NmpIWmZIVzMxYUhKZ0xWNi9JQk5sYlFPcDlLdlVGWlR5dWx0?=
 =?utf-8?B?ZFBVVW5mbkJOTUxlV1lzYVZvTkYzeGZJem1mY3owODVEUmE3L0J6TGFvMFlH?=
 =?utf-8?B?NXdsU0ZYNVI1L001YkVjT1Z1N0JRVjFmZ2tKZSs0MWxRVDRBcWF0NWIzRjBa?=
 =?utf-8?B?Vm8zUlRlQXU1Tzl0WFU4QmVmbmpld09tYnlJaFkzV05qZUlBd1NZM2g5Lzd0?=
 =?utf-8?B?dHBWWmFnR2x0RU11OTFHNVFJMFBtZjg0MFFXTnlnd0F6WTFBTTF5ZG9Kc2xn?=
 =?utf-8?B?cTR5QUxJQnJTckZNYXlLK2tUYWNyTURDbFpPOHl3aVlabVNPS0JIdGZWSERY?=
 =?utf-8?B?S1I5MGI2YnNCQ0hzS1BzSlN0Wm9oMnlGSHpUMzFFdkhKejdYYTFlbm1MZEVo?=
 =?utf-8?B?Nkh0azk2TStFTU54Y1c2QUduMG1lQWJHMDJkZ0lJOHJvYitrdjZBVXZlbGdj?=
 =?utf-8?B?aDBQYy9jQnBNREdmL01paVBmUnFLOHVXVjVPQ3g4TkMzWjFYUDZKQXpOZVk4?=
 =?utf-8?B?NkVWeExCeGUwTWZrSXdCQ0h0VHZCWUprdGRBcTIzalhEckZwTDFpWDJTeFRG?=
 =?utf-8?B?dUIwQ2JKd2RJTGlMMFR0SE9QbndHWi9WQVBMQ3BYWllrbG53Um90ekh3TS9H?=
 =?utf-8?B?eEVSYVRmREhkbm9Lb1JEaXVKUjFHa0lrUWZJWmxDcEZXUWxMOG84OGdza3pF?=
 =?utf-8?B?dW5kRW1RWXYwaUJWUWc1L0kwd1hMVkkwMXlWdUR3NFYwZTdaT3MyNXY0Y3hh?=
 =?utf-8?B?YzN4NlpvMWk3UFNxYkxrOHYvZVRSYVp3eGZoeTN1QXpHTGdWeHZKcjBPWG1I?=
 =?utf-8?B?TWxncTZNUGNZZ1V1K1Z5NGJFRUFkRGVUVWpUd3RIRE5nYVVXNXptT1lOc0Yy?=
 =?utf-8?B?TnIyaXJXWFN3QmRmdUxnakFiMlBMZ3FIOE5KTk9RTFhSL0Z3Vk1uTTBiVFZ2?=
 =?utf-8?B?emxVeDByTTEzVVM0SFZBTGExM2U1YlhFbGFjMTNoblRINWFDWHNYYmRvdWlD?=
 =?utf-8?B?RE5HbUVpU1dzZ2lCUU16b29zTHA4K2VHbFVQVlpyYkgwMGY5RThqR0dWc2xO?=
 =?utf-8?B?QTdiRUNCOW5jL2JnajZUTXNhcWhoQzNLL2R1TGxqdCswd2xPMjVaUmRrQnRM?=
 =?utf-8?B?ZXRMUGpTSHRZa0JKTEsrNFZlekJLWm9xbnB0czBJdGxxQzl1SFUwcTRURHRC?=
 =?utf-8?B?Q1NRSGJ3Y2I1aUtUVlFpb2o1QkhsTXNVSkpzdnBXblg2WW5XS2pMVmk2VS9v?=
 =?utf-8?B?cFQxSVlqYzVzTmZ5SlVkcVZwdXpyaVg4WnlTMEVqelJsS1FVN0tZR0RFOWFL?=
 =?utf-8?B?RjdNLzY1RFRBSWduL0VucFBBczIvZGV4REl2eTFXRW9scDBnZEpEejRaU0Vv?=
 =?utf-8?B?NUd6d2lhWUZ5NTdxSGo0VFJHc21pbmZHOEg0NFlTNmJ0bk9UMTEvM01ueGIz?=
 =?utf-8?Q?zV1nQ8+KO+U3ZVlbQ6tOi2dND?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 55257727-9222-40e1-c175-08de0d951767
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Oct 2025 15:51:53.1608
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /a+6d5BvsPnlvbQOUxzweATilvANoN5NpSl3MuPQWRTZEUkmkX0s9HIiOr1iZACWH0I2FPfSXuXEQcYaqjT9ug==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR03MB5908

It's currently impossible for passthrough devices on segment different than
0 to work correctly, as the PCI domain is not provided to
xc_physdev_map_pirq_msi(), and hence it's unconditionally assumed that all
devices are on segment 0.

Adjust the call to xc_physdev_map_pirq_msi() to pass the PCI domain in the
high 16bits of the bus parameter.  On versions of Xen where this is not
supported the passed segment will be ignored and assume to be 0, no worse
than the current state.

Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
---
Cc: Stefano Stabellini <sstabellini@kernel.org>
Cc: Anthony PERARD <anthony@xenproject.org>
Cc: Paul Durrant <paul@xen.org>
Cc: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
Cc: xen-devel@lists.xenproject.org
---
 hw/xen/xen_pt_msi.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/hw/xen/xen_pt_msi.c b/hw/xen/xen_pt_msi.c
index e9ba17317aba..df15ccf0d030 100644
--- a/hw/xen/xen_pt_msi.c
+++ b/hw/xen/xen_pt_msi.c
@@ -138,6 +138,7 @@ static int msi_msix_setup(XenPCIPassthroughState *s,
         rc = xc_physdev_map_pirq_msi(xen_xc, xen_domid, XEN_PT_AUTO_ASSIGN,
                                      ppirq, PCI_DEVFN(s->real_device.dev,
                                                       s->real_device.func),
+                                     ((uint32_t)s->real_device.domain << 16) |
                                      s->real_device.bus,
                                      msix_entry, table_base);
         if (rc) {
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Fri Oct 17 15:53:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Oct 2025 15:53:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1145278.1478351 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9mlL-0002ju-Pg; Fri, 17 Oct 2025 15:53:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1145278.1478351; Fri, 17 Oct 2025 15:53:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9mlL-0002jl-Mv; Fri, 17 Oct 2025 15:53:03 +0000
Received: by outflank-mailman (input) for mailman id 1145278;
 Fri, 17 Oct 2025 15:53:02 +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
 <SRS0=9pBh=42=amd.com=Alejandro.GarciaVallejo@srs-se1.protection.inumbo.net>)
 id 1v9mlK-0002Ua-E0
 for xen-devel@lists.xenproject.org; Fri, 17 Oct 2025 15:53:02 +0000
Received: from CH4PR04CU002.outbound.protection.outlook.com
 (mail-northcentralusazlp170130007.outbound.protection.outlook.com
 [2a01:111:f403:c105::7])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5792bd3f-ab71-11f0-9d15-b5c5bf9af7f9;
 Fri, 17 Oct 2025 17:52:54 +0200 (CEST)
Received: from DS7PR03CA0313.namprd03.prod.outlook.com (2603:10b6:8:2b::18) by
 SN7PR12MB7129.namprd12.prod.outlook.com (2603:10b6:806:2a1::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.11; Fri, 17 Oct
 2025 15:52:49 +0000
Received: from DS1PEPF0001709D.namprd05.prod.outlook.com
 (2603:10b6:8:2b:cafe::b5) by DS7PR03CA0313.outlook.office365.com
 (2603:10b6:8:2b::18) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9228.13 via Frontend Transport; Fri,
 17 Oct 2025 15:52:48 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 DS1PEPF0001709D.mail.protection.outlook.com (10.167.18.107) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9253.7 via Frontend Transport; Fri, 17 Oct 2025 15:52:47 +0000
Received: from localhost (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Fri, 17 Oct
 2025 08:52:46 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5792bd3f-ab71-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=FwsO8/4VVesGHWumvjGSRTfKge0tl83Nj53m2/MQ9uh8iUeKgq8Pj+1vnt+Ag1R+6Ejkw+aBzJcslI00Ujbw9xKUgFos3T/bQmr8xEMzJ2plbN4afz61JAt1fjJxGK01azVtqtuINhZblC4oaewCN+3QdefAHjbcIpwXxkKPAqlpum9FKDlWub3fCP1/WisXB5vJb5crQ4zQuac9030ljk0uqQ9rJYbY+X0P64DtZoKKe2qcxuGMW2WckD+nUAZer0X44VJHD2kjpe58+TYw+Uxl5HgPzEG59FrABx/sBZLzswXbZFOd+pvbKiw2JOZvUQUaCn9H2GJXP0MDs5l0Qw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cFLwtmkAbVm8lHlRmdgUQhQ19QIEqDTNcq/B0nh31qo=;
 b=gR7mzUkDpvtEXxVU8QciPxKz5m+ntG2kpx5I2u2fuRmmheA2Q542L06CADhVdR1gm7FfsNkzSaN6Xjg2AjcH3NZg7YX0AKf86+FzOZs2UFK1RLurduXrDtMaqoczm3gs4o3W8jBkfWs+01z3ITkcXZ4ugu5fVrDONe1IJiwpxO5iekuZ4lEEodg1SLjEUAIhEQ2fHbsMZfycx3E5OsLvOvUcrIhyNXFkYc7czahya+RdN9UplCkPEqdHKg64ok62xIU4SljuFX8Cn603xymO5nyI8Qp9cDcah9bEqJimub25Pswhw4Mzo5lCREVa+9LNS0fYVvpS+/wUTtRMT0r+2g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=temperror (sender ip
 is 165.204.84.17) smtp.rcpttodomain=gmail.com smtp.mailfrom=amd.com;
 dmarc=temperror action=none header.from=amd.com; dkim=none (message not
 signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cFLwtmkAbVm8lHlRmdgUQhQ19QIEqDTNcq/B0nh31qo=;
 b=uBA3p1tVJC8gmazjn3ltKSIaNlHpbqozpNgToJYXVppXvNUh39NHyMRCqzJyykO3a0X1omsHkI8pvglQKNV+sH/8G6zrYqkcXCTWb42ks7ECC22qTPsvpHrhtxJtMA34EoW4xCDxABdjSUZawBlJl6TW73iYCBBpV51oQAlwVf4=
X-MS-Exchange-Authentication-Results: spf=temperror (sender IP is
 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=temperror action=none header.from=amd.com;
Received-SPF: TempError (protection.outlook.com: error in processing during
 lookup of amd.com: DNS Timeout)
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="UTF-8"
Date: Fri, 17 Oct 2025 17:52:44 +0200
Message-ID: <DDKPUZKA0UHL.2WRO9M23R4G3E@amd.com>
CC: Sergiy Kibrik <Sergiy_Kibrik@epam.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?utf-8?q?Roger_Pau_Monn=C3=A9?=
	<roger.pau@citrix.com>, Paul Durrant <paul@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v5] x86: make Viridian support optional
From: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
To: Demi Marie Obenour <demiobenour@gmail.com>, Jan Beulich
	<jbeulich@suse.com>, Grygorii Strashko <grygorii_strashko@epam.com>
X-Mailer: aerc 0.20.1
References: <20250930125215.1087214-1-grygorii_strashko@epam.com>
 <3e4e4bc5-aa47-4357-9327-df2a9b9c9a1b@suse.com>
 <DDH3W3VM2ZDJ.PMFSGBWBTS0S@amd.com>
 <9248eda6-cf9b-4fdf-ab32-66e777585f65@gmail.com>
In-Reply-To: <9248eda6-cf9b-4fdf-ab32-66e777585f65@gmail.com>
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS1PEPF0001709D:EE_|SN7PR12MB7129:EE_
X-MS-Office365-Filtering-Correlation-Id: f2e7b33b-1144-4b81-0563-08de0d953863
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|36860700013|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?amVKTnlFSWFKbHlGK2pUU3czSDdmT1BQRm1hN25RZDJCRi9OMHFQSGFJVHZG?=
 =?utf-8?B?SzhvOE9SMXZpRE1YM29SRWlKbnV2MzN5ZWp1SnBFSG9MZ3I4VnRScFIyM0x4?=
 =?utf-8?B?bFFWcXMrRlc0eU4waEFGaGcvd2VzbjBwRzNBNTJVdG9Dc0hEK05ac251SVBs?=
 =?utf-8?B?QitnbmRvMnZSVDVsU3JrMzZET1RtUnhoQi9nczZrdXB5UndtTTdSMnFKbk1X?=
 =?utf-8?B?aEMwRUR5RFVKT2gyNmlYSmlRZmxtUGNUSVA2UTFtUFpUVjJDbDJ5WkJGeGQw?=
 =?utf-8?B?NzBrWlRyYVJTMm5JKzAwRXpKdjhKV05taVRTdUpzWkt3MHlyeGl2RzZXdlg2?=
 =?utf-8?B?VFR6SnI1Zm1YWmdJL1E0dnVoYkMzb1UrYWp0SHZhbW5hUWZRaEk4ZFUrMnlS?=
 =?utf-8?B?RzZVZzY3ZjJkdWVvTldhMWxWR3BjaWJ3S2RDQk5OeGluMEdrdWpwWEZiZjVm?=
 =?utf-8?B?dlhTQjZ4MDBGZW1KMjdIVUFEa2JNbkNzc3MvM2J5MUdmU1lBOHozUW5IMVE3?=
 =?utf-8?B?QW1zdEI3akFJTyszdXBBVGFyL3JuczRUcFJRNGY5SGxTYkJGd0pMcnl0QklJ?=
 =?utf-8?B?MFJWUVY1dWgzTERqQ2h4WXpXSGhMY25oU3l4VHBKR0Z0b25PdUhvcXM3RWcw?=
 =?utf-8?B?WXIyT0piVmpLOSs0TVhhbXA2M2xIVXJLVW5mOTQyWitiRXZlaSszbGRlSXJU?=
 =?utf-8?B?MGdtTHlvNlM5eGZxdGNWUXQ3RHlSVm92U1ZVV005a0pTT1ZyUjk5SVZGYzAz?=
 =?utf-8?B?dU15Z0M4cFN2aVNIUE5BdUtzQXV5OFNxamhKYnJtYWFNd25kUCtZZWl6V2Zw?=
 =?utf-8?B?ejQwRHhoNGc5UVFieTN5dkFNTTlIaXRMbnRSSGJxUjBwYXdDVW05S3k0Y1dG?=
 =?utf-8?B?UkE3REdPRnNSZzUvSkhCWFNIazJYTEdZb0ZkVVN6cC9Sc2QrS1hJZk9jRXR4?=
 =?utf-8?B?bW1RR1A4SEtzNHYzTWxkOENHMUFiNk1kaExZcHBxc0IrVzZWb0NtT2RCV1Ay?=
 =?utf-8?B?a2J4dGVYQmdDRzRSYkkyekxMU1RLSzNYMVpOZFBPVHZjdldZY21xR0ZCaStD?=
 =?utf-8?B?YjNjd0pGUXdObzJ0VUV2QzZHZThWNDlJaEhTMXEyZjZtVmp2VlBYZko3QlFr?=
 =?utf-8?B?OE91R3BxaWR1N3BONTk1Q2pKTFVEWHJYdEFFNGJmSndIWjhpZTlRT1NBd1hU?=
 =?utf-8?B?SFV3TDhBS3ViUndWV0gwbklrQVFCcS9hbGFhUG1uQm1RQXZ6LzRPaWZsQ1Ni?=
 =?utf-8?B?cDZSNmVoVDEzbVZYeEMyVGZSMGNWT0JaSEpIUllJR1FnTGRueGVzdjVuT2ta?=
 =?utf-8?B?bU04VjBvWVNQdm05ODRtN1F6bFhCSjFQbll1Ti84MzVXOEo5SWJObWg5WUYy?=
 =?utf-8?B?UFhyejNRWnkvT3lYNzErak56RS9JME1talV6Q2J0eFBvZjg2SHM1bzFkMXVM?=
 =?utf-8?B?RUNwZksyUmlidVREZStoSFowczFndlE5UWZhT3k2S0VuNkQreXdmY2VOamlR?=
 =?utf-8?B?eHVDZXRvUkNLNHBxaVpRT1VmRGkxYkRqdVRBS1lNRkV3dSthRS9sbGxXRE83?=
 =?utf-8?B?dUlwaVRIMS9qSWlLSnpmOVVva3NoWUR1UmZ3dDVvQjAvbzJEditSckpDc0hD?=
 =?utf-8?B?cFk4d3luSEc0cVRVNmxxSG9zUWFHNHRqWkxHZ1JsVmRQOWVJdGxocHprYjZo?=
 =?utf-8?B?V3ZMeC9FU1B6NWRmaC9BeHZ5c2VWZS9QLzVsbkNtOGpjYTBuSVh6aFFvVXZZ?=
 =?utf-8?B?amtqbWJ6NmFZMlpkVmlMK2xaYUU5YlFIdU1OSUVacDRzbXo3ZWp0K2JFVDAr?=
 =?utf-8?B?cGwzalgxYnZtNXR3dU81TmJIamJPay96TXUveWNnMlk3UkVOQWRkOTdVTUdG?=
 =?utf-8?B?WHE1dXZvQnNFNm1pK3ZuNVdvRy8rWG5zcFdZUng0Y0dtaG9qVUVPczB1dmNv?=
 =?utf-8?B?bVlsL0h5ZzdWVW1rVlVnT3BkSkk0a2llN3Q0SzVOeklZUXZuSllueWdKTll6?=
 =?utf-8?B?d3lpbTVEY0QwdlFXeFgrRVNzY0FVUldzd01VMjY5anBWdXlDM0J0b1JxWWlu?=
 =?utf-8?B?amJ3QXo4Yzhhc1NLU1pNR3p2SzVFU1RiWFoydGk3Q20vZ0s0bnRSRVRaQno4?=
 =?utf-8?Q?peGg=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(376014)(36860700013)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Oct 2025 15:52:47.9691
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f2e7b33b-1144-4b81-0563-08de0d953863
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS1PEPF0001709D.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB7129

On Wed Oct 15, 2025 at 7:58 AM CEST, Demi Marie Obenour wrote:
> On 10/13/25 06:01, Alejandro Vallejo wrote:
>> On Wed Oct 8, 2025 at 6:04 PM CEST, Jan Beulich wrote:
>>> On 30.09.2025 14:52, Grygorii Strashko wrote:
>>>> --- a/xen/arch/x86/hvm/Kconfig
>>>> +++ b/xen/arch/x86/hvm/Kconfig
>>>> @@ -62,6 +62,16 @@ config ALTP2M
>>>> =20
>>>>  	  If unsure, stay with defaults.
>>>> =20
>>>> +config VIRIDIAN
>>>> +	bool "Hyper-V enlightenments for guests" if EXPERT
>>>> +	default y
>>>> +	help
>>>> +	  Support optimizations for Hyper-V guests such as faster hypercalls=
,
>>>> +	  efficient timer and interrupt handling, and enhanced paravirtualiz=
ed
>>>> +	  I/O. This is to improve performance and compatibility of Windows V=
Ms.
>>>
>>> What is "paravirtualized I/O" about in this context?
>>=20
>> Hypervisor-assisted IPIs, TLB flushes, etc. Or so I understood back when=
 I said
>> that looked ok. I see there could be confusion with Xen PV device protoc=
ols,
>> but as far as the user of the help message is concerned it makes no diff=
erence.
>>=20
>> One could even remove the examples and leave it as "... for Hyper-V gues=
ts. This
>> is to...". They are truly inconsequential.
>>=20
>> All that matters is that (modern) Windows won't run without it, and that=
 it
>> provides some indeterminate hypervisor-provided assists to try to reduce=
 some
>> virtualization overheads.
>
> Qubes OS doesn't expose Viridian at all, which is why it wasn't
> vulnerable to XSA-472.  It still runs Windows guests just fine.

Can you run Windows 11?

I don't remember which, but I do know some versions of Windows refuse to bo=
ot
if they determine they are virtualised and don't see the mandatory parts of
the TLFS.

If 11 works, maybe Windows Server?

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Fri Oct 17 15:55:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Oct 2025 15:55:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1145290.1478360 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9mnc-0003IY-57; Fri, 17 Oct 2025 15:55:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1145290.1478360; Fri, 17 Oct 2025 15:55:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9mnc-0003IR-2K; Fri, 17 Oct 2025 15:55:24 +0000
Received: by outflank-mailman (input) for mailman id 1145290;
 Fri, 17 Oct 2025 15:55:22 +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
 <SRS0=Ye4i=42=linux.ibm.com=agordeev@srs-se1.protection.inumbo.net>)
 id 1v9mna-0003IJ-Ln
 for xen-devel@lists.xenproject.org; Fri, 17 Oct 2025 15:55:22 +0000
Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com
 [148.163.156.1]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ae9cf407-ab71-11f0-9d15-b5c5bf9af7f9;
 Fri, 17 Oct 2025 17:55:21 +0200 (CEST)
Received: from pps.filterd (m0360083.ppops.net [127.0.0.1])
 by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 59HEGCDs001269;
 Fri, 17 Oct 2025 15:54:20 GMT
Received: from pps.reinject (localhost [127.0.0.1])
 by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 49rfp8em13-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 17 Oct 2025 15:54:20 +0000 (GMT)
Received: from m0360083.ppops.net (m0360083.ppops.net [127.0.0.1])
 by pps.reinject (8.18.1.12/8.18.0.8) with ESMTP id 59HFmLFW024554;
 Fri, 17 Oct 2025 15:54:19 GMT
Received: from ppma13.dal12v.mail.ibm.com
 (dd.9e.1632.ip4.static.sl-reverse.com [50.22.158.221])
 by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 49rfp8em10-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 17 Oct 2025 15:54:19 +0000 (GMT)
Received: from pps.filterd (ppma13.dal12v.mail.ibm.com [127.0.0.1])
 by ppma13.dal12v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 59HFlK7X015010;
 Fri, 17 Oct 2025 15:54:18 GMT
Received: from smtprelay01.fra02v.mail.ibm.com ([9.218.2.227])
 by ppma13.dal12v.mail.ibm.com (PPS) with ESMTPS id 49r3sjwvr0-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 17 Oct 2025 15:54:18 +0000
Received: from smtpav06.fra02v.mail.ibm.com (smtpav06.fra02v.mail.ibm.com
 [10.20.54.105])
 by smtprelay01.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id
 59HFsGL659048250
 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Fri, 17 Oct 2025 15:54:16 GMT
Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1])
 by IMSVA (Postfix) with ESMTP id 503512004B;
 Fri, 17 Oct 2025 15:54:16 +0000 (GMT)
Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1])
 by IMSVA (Postfix) with ESMTP id 980F420049;
 Fri, 17 Oct 2025 15:54:15 +0000 (GMT)
Received: from li-008a6a4c-3549-11b2-a85c-c5cc2836eea2.ibm.com (unknown
 [9.155.204.135])
 by smtpav06.fra02v.mail.ibm.com (Postfix) with ESMTPS;
 Fri, 17 Oct 2025 15:54:15 +0000 (GMT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ae9cf407-ab71-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc
	:content-type:date:from:in-reply-to:message-id:mime-version
	:references:subject:to; s=pp1; bh=ZQ1TtLHokmslhzFjee4cGuD5m+V7qM
	5aPPie4zC6OAs=; b=Law6VkvY0ICKNKchLEppxjum8vOcIanSKnBL7OT7PTmQg0
	/6qxbBVReHS20QCrAw8Mw10mAM94rLvvh5tD8wbUb+e/utZivGuGVMyuc5GqkixP
	9WWXmRLKv6pzkRAEKw2FfWsg1p5GZVTfuvuxnFm6T98IRMQAUQ+8yc/rD5Z5b3uH
	X8d0zz6VYhOyCbAzuvtAz8NrnXH38xtQ7MCVtxDrzdSoscnaYPFy05mStbIeDDtp
	SKaXWeccmeQ4KD9PLzrxCjVQVpjNf13uY8Trn2RjdAn/nkDZsccyOmP07vNlXyJ4
	AsYtlADdQJJL2sQy3nsR9lxvDfusEAX4XJPoEovw==
Date: Fri, 17 Oct 2025 17:54:14 +0200
From: Alexander Gordeev <agordeev@linux.ibm.com>
To: Kevin Brodsky <kevin.brodsky@arm.com>
Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org,
        Andreas Larsson <andreas@gaisler.com>,
        Andrew Morton <akpm@linux-foundation.org>,
        Boris Ostrovsky <boris.ostrovsky@oracle.com>,
        Borislav Petkov <bp@alien8.de>,
        Catalin Marinas <catalin.marinas@arm.com>,
        Christophe Leroy <christophe.leroy@csgroup.eu>,
        Dave Hansen <dave.hansen@linux.intel.com>,
        David Hildenbrand <david@redhat.com>,
        "David S. Miller" <davem@davemloft.net>,
        "H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@redhat.com>,
        Jann Horn <jannh@google.com>, Juergen Gross <jgross@suse.com>,
        "Liam R. Howlett" <Liam.Howlett@oracle.com>,
        Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
        Madhavan Srinivasan <maddy@linux.ibm.com>,
        Michael Ellerman <mpe@ellerman.id.au>, Michal Hocko <mhocko@suse.com>,
        Mike Rapoport <rppt@kernel.org>, Nicholas Piggin <npiggin@gmail.com>,
        Peter Zijlstra <peterz@infradead.org>,
        Ryan Roberts <ryan.roberts@arm.com>,
        Suren Baghdasaryan <surenb@google.com>,
        Thomas Gleixner <tglx@linutronix.de>, Vlastimil Babka <vbabka@suse.cz>,
        Will Deacon <will@kernel.org>, Yeoreum Yun <yeoreum.yun@arm.com>,
        linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org,
        sparclinux@vger.kernel.org, xen-devel@lists.xenproject.org,
        x86@kernel.org
Subject: Re: [PATCH v3 06/13] mm: introduce generic lazy_mmu helpers
Message-ID: <55f8b155-5468-43fc-b6fc-f509f4becd5b-agordeev@linux.ibm.com>
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
 <20251015082727.2395128-7-kevin.brodsky@arm.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20251015082727.2395128-7-kevin.brodsky@arm.com>
X-TM-AS-GCONF: 00
X-Proofpoint-ORIG-GUID: 2uFWZ81CE4CiNc9aZu2A8JlAcBwqq-tc
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMDEyMDA4NCBTYWx0ZWRfX2Zriy77SuQpm
 /GHNuVH/UFB6mOfHOC2AuP5g7c+urTyXE81dQ6L6B0AwkiPLgihig9dwBQiKw0AYwvyn2/UBXXe
 VcGvFB11D3W4lhURudq3zaSM9GHtCo5XdEsYeLbFUmnzVB67HZP20B2Uxwsqr/DnC0GUNt8pn+Q
 lYbw9Nsugz7aigNaGXWz8mjQ5H0X7sXZm5KLMDqasP/WlwVPUM+i7GhB70V9ACBzBfu/gATiLsp
 HWtKR/YcgMc3XVsjOXDXb6rwcyJoPiLdVPL4d9Uovyfy1Y+6KXUtJGTOvjrlEvC+BEx9y22ul4M
 iyiO9mTSInwQOYOlHV2G1yBHcLyrhGstPiwazxXG+Q1pEZlUKx7CHtMC4Sa0JzAFx3fiGUVZ0Ll
 LSljgWznsRluu1F2sKhweaOdRoS3mQ==
X-Proofpoint-GUID: B3M2xirfIqNJrZzR03DBgN9gZToY0y4x
X-Authority-Analysis: v=2.4 cv=af5sXBot c=1 sm=1 tr=0 ts=68f266ac cx=c_pps
 a=AfN7/Ok6k8XGzOShvHwTGQ==:117 a=AfN7/Ok6k8XGzOShvHwTGQ==:17
 a=kj9zAlcOel0A:10 a=x6icFKpwvdMA:10 a=VkNPw1HP01LnGYTKEx00:22
 a=VwQbUJbxAAAA:8 a=7CQSdrXTAAAA:8 a=1KDjgaeL6VvqQMJ9c2UA:9
 a=NqO74GWdXPXpGKcKHaDJD/ajO6k=:19 a=CjuIK1q_8ugA:10 a=a-qgeE7W1pNrGK8U0ZQC:22
 a=DXsff8QfwkrTrK3sU8N1:22 a=Z5ABNNGmrOfJ6cZ5bIyy:22 a=bWyr8ysk75zN3GCy5bjg:22
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.80.40
 definitions=2025-10-17_05,2025-10-13_01,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0
 clxscore=1015 priorityscore=1501 spamscore=0 adultscore=0 suspectscore=0
 bulkscore=0 phishscore=0 lowpriorityscore=0 malwarescore=0 impostorscore=0
 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0
 reason=mlx scancount=1 engine=8.19.0-2510020000 definitions=main-2510120084

On Wed, Oct 15, 2025 at 09:27:20AM +0100, Kevin Brodsky wrote:

Hi Kevin,

...
> * lazy_mmu_mode_pause() ... lazy_mmu_mode_resume()
>     This is for situations where the mode is temporarily disabled
>     by first calling pause() and then resume() (e.g. to prevent any
>     batching from occurring in a critical section).
...
> +static inline void lazy_mmu_mode_pause(void)
> +{
> +	arch_leave_lazy_mmu_mode();

I think it should have been arch_pause_lazy_mmu_mode(), wich defaults
to  arch_leave_lazy_mmu_mode(), as we discussed in v2:

https://lore.kernel.org/linux-mm/d407a381-099b-4ec6-a20e-aeff4f3d750f@arm.com/#t

> +}
> +
> +static inline void lazy_mmu_mode_resume(void)
> +{
> +	arch_enter_lazy_mmu_mode();
> +}

Thanks!


From xen-devel-bounces@lists.xenproject.org Fri Oct 17 16:04:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Oct 2025 16:04:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1145301.1478371 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9mvt-0005ed-Ub; Fri, 17 Oct 2025 16:03:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1145301.1478371; Fri, 17 Oct 2025 16:03:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9mvt-0005eW-Ri; Fri, 17 Oct 2025 16:03:57 +0000
Received: by outflank-mailman (input) for mailman id 1145301;
 Fri, 17 Oct 2025 16:03:56 +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
 <SRS0=vay5=42=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1v9mvs-0005eQ-IF
 for xen-devel@lists.xenproject.org; Fri, 17 Oct 2025 16:03:56 +0000
Received: from mail-ed1-x52f.google.com (mail-ed1-x52f.google.com
 [2a00:1450:4864:20::52f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e11f7cdb-ab72-11f0-980a-7dc792cee155;
 Fri, 17 Oct 2025 18:03:54 +0200 (CEST)
Received: by mail-ed1-x52f.google.com with SMTP id
 4fb4d7f45d1cf-636de696e18so4234968a12.3
 for <xen-devel@lists.xenproject.org>; Fri, 17 Oct 2025 09:03:54 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-146-38.play-internet.pl.
 [109.243.146.38]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-63c48a928cesm80323a12.7.2025.10.17.09.03.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 17 Oct 2025 09:03:52 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e11f7cdb-ab72-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760717033; x=1761321833; darn=lists.xenproject.org;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=1WMx4gIKefNQ4+LGkHCJ40c8hRNmSFVKWi+i6foi0KM=;
        b=X/0mHfN6ZfNnEuJCdKG4nbIsZSuOfYnItvJCQ7Wf+EVnqd2/j3QGbIIpJ3/vD+xMQV
         GFAo70IBGOS5qRpuMpiZDMgcaa7WXskk2IovzP1u6FBqDVCIJKSZeMQMzWCpOgXoj8x9
         5uEMcI1ts+QPJCeq4IOiDx9Hy7u3OBxNkvFBtIESY14jjTZ91gwtbMcJAQi4Ml+e3FqJ
         oYHUXNzZIWD2n5eTRQVnXnI7/6+/QOsEMHkqlSL2O1LywEbiwvrwRuikGTTedXFTr3CJ
         IbnVXJFYtgZLeie9Kz0YCT7UDXCW2w76AIgRpqpB1lN4uPJAti9aWw61MKJHfizqZn/q
         Tg5Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760717033; x=1761321833;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=1WMx4gIKefNQ4+LGkHCJ40c8hRNmSFVKWi+i6foi0KM=;
        b=vw9AEcQc8pPNHJbIDlPAU+3GmYdqZnGxMjnn7NHsaSnttWMKx2L4LEPPBQjGS4eoxs
         xNTCAoPh5YkyQlGUesc//q7ZUhs+31r15wAISaQjoD+bv/czCzK7nfnH0dE27hwaY5tK
         TvRWotiZ7Q7UNHgG/CfhHAZDdq2fCZMiD9qOLYFdxDy0a90239G+G7Tu1nXjlZXWr2si
         Ens+j+9DmOwnhN5wLfP2ArSaVPm9D1RVCmBN8xcvGDGiNm0Ao0TrwwSiyMqEsXGY6kT0
         GKv7SAEG11a1PahtnVq9TynaESQZo+OwV0pxmnGTVMz6FFX9jfC40jAF8lYO63vIF65I
         jO6Q==
X-Forwarded-Encrypted: i=1; AJvYcCXxpFFoaNCC0m5ftGxLCxCQU176/4sN5sfjvbmejEL5Ed4ZomUoZMIZX0OGYtxz69zffylgM0bEpxE=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw0ms3eODYDtdz2AAvK5EpDr7vyxUqaobiHvs5jPRncYyg7RRhA
	8THebBzri5QqmTWdQCj76D2qCu09kYz0VmwfS1ZG8QcqrzHyjagS8gtK
X-Gm-Gg: ASbGncs0QimcU/ufP5Vd1AbTD1iOlhdnnq7jy04Kj4sHO3toZ9m4HYs8Ai0HyBnM3fh
	CL0RT8lUzqaJPf1S16rOWIP7NLZ3iibB0SRH/hsZLlt5Ex9KPEvLc8VRFOoasqaqkRuuUe7Amqm
	jmiBxldS5MqtxyRBKZHnG3ro6U+Ok3brKS30BlU9KZ0iUxk8j7GmBIZTVejP1+5bRmhoeOTD23q
	5+rYcGQGi+MJq3S2kDxmTyYqomMA9DNlCrRM5gaJ1kRFV0A9WRkw+l1DWXDhFzIg/bhVkjMVFmw
	frNqWRPa4LWZ7k0INhEY47Ce0jdk07cGgM1FjZF2p6+/l9XLluxCoYe9+ifSYn5azasCGUCZ+a/
	cyGDwc9ZBaSvsCVQPVzX49qDGIojnGXXPlBUvIe3VmhQ7AonTd5HMdhVt6Pbmxs+G6Q504DxEAw
	k0BhDJJYd5t9aJ4e5tMKLuBqsgXEuUgmtFUolr/DxmAOyzrJkO1OOptuoJ
X-Google-Smtp-Source: AGHT+IFctqukZm4WmhDPvCbohL6MKhudNB8o2PDPOIoB8MFPD8mj2zd9t4NeFDEQNWjwTIFFHu1doA==
X-Received: by 2002:a05:6402:5204:b0:626:4774:2420 with SMTP id 4fb4d7f45d1cf-63c1f6b53bcmr4306934a12.20.1760717033273;
        Fri, 17 Oct 2025 09:03:53 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------LBoZXSG0veUPafMPUeHO5ruA"
Message-ID: <514f41ba-e901-459c-b2e5-9db2e509c933@gmail.com>
Date: Fri, 17 Oct 2025 18:03:52 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21 00/10] x86/HPET: broadcast IRQ and other
 improvements
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <8d94abf8-70d1-478c-885e-ff9a960ac72d@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <8d94abf8-70d1-478c-885e-ff9a960ac72d@suse.com>

This is a multi-part message in MIME format.
--------------LBoZXSG0veUPafMPUeHO5ruA
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit


On 10/16/25 9:30 AM, Jan Beulich wrote:
> While 1db7829e5657 ("x86/hpet: do local APIC EOI after interrupt processing")
> helped quite a bit, nested interrupts could still occur. First and foremost
> as a result from IRQ migration (where we don't have any control over the
> vectors chosen). Hence besides reducing the number of IRQs that can be raised
> (first two patches) and possibly the number of invocations of
> handle_hpet_broadcast() from the IRQ handler (optional patch 4), the main
> goal here is to eliminate the potential for nested IRQs (patch 3). These
> patches are imo 4.21 candidates (with patch 4 being questionable altogether;
> see there).

I am not sure that patch 4 is very useful at the current stage.
The first three patches look useful enough for now, so:
  Releaase-Acked-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>

~ Oleksii

> Patches 5 and onwards likely aren't important enough anymore at
> this point of the release cycle, even if those with a Fixes: tag would likely
> end up being backported later on.
>
> The one related thing I haven't been able to find a viable solution for is
> the elimination of the cpumask_t local variable in handle_hpet_broadcast().
> That'll get in the way of possible future increases of the NR_CPUS upper
> bound: Much like right now a single level of nesting is already too much,
> if the limit was doubled even a single IRQ would end up consuming too much
> stack space (together with cpumask_raise_softirq() also having such a
> variable). Yet further doubling would not allow any such stack variables
> anymore.
>
> 01: limit channel changes
> 02: disable unused channels
> 03: use single, global, low-priority vector for broadcast IRQ
> 04: ignore "stale" IRQs
> 05: avoid indirect call to event handler
> 06: make another channel flags update atomic
> 07: move legacy tick IRQ count adjustment
> 08: shrink IRQ-descriptor locked region in set_channel_irq_affinity()
> 09: reduce hpet_next_event() call sites
> 10: don't use hardcoded 0 for "long timeout"
>
> Jan
--------------LBoZXSG0veUPafMPUeHO5ruA
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 10/16/25 9:30 AM, Jan Beulich wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:8d94abf8-70d1-478c-885e-ff9a960ac72d@suse.com">
      <pre wrap="" class="moz-quote-pre">While 1db7829e5657 ("x86/hpet: do local APIC EOI after interrupt processing")
helped quite a bit, nested interrupts could still occur. First and foremost
as a result from IRQ migration (where we don't have any control over the
vectors chosen). Hence besides reducing the number of IRQs that can be raised
(first two patches) and possibly the number of invocations of
handle_hpet_broadcast() from the IRQ handler (optional patch 4), the main
goal here is to eliminate the potential for nested IRQs (patch 3). These
patches are imo 4.21 candidates (with patch 4 being questionable altogether;
see there). </pre>
    </blockquote>
    <pre>I am not sure that patch 4 is very useful at the current stage.
The first three patches look useful enough for now, so:
 Releaase-Acked-by: Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a>

~ Oleksii

</pre>
    <blockquote type="cite"
      cite="mid:8d94abf8-70d1-478c-885e-ff9a960ac72d@suse.com">
      <pre wrap="" class="moz-quote-pre">Patches 5 and onwards likely aren't important enough anymore at
this point of the release cycle, even if those with a Fixes: tag would likely
end up being backported later on.

The one related thing I haven't been able to find a viable solution for is
the elimination of the cpumask_t local variable in handle_hpet_broadcast().
That'll get in the way of possible future increases of the NR_CPUS upper
bound: Much like right now a single level of nesting is already too much,
if the limit was doubled even a single IRQ would end up consuming too much
stack space (together with cpumask_raise_softirq() also having such a
variable). Yet further doubling would not allow any such stack variables
anymore.

01: limit channel changes
02: disable unused channels
03: use single, global, low-priority vector for broadcast IRQ
04: ignore "stale" IRQs
05: avoid indirect call to event handler
06: make another channel flags update atomic
07: move legacy tick IRQ count adjustment
08: shrink IRQ-descriptor locked region in set_channel_irq_affinity()
09: reduce hpet_next_event() call sites
10: don't use hardcoded 0 for "long timeout"

Jan
</pre>
    </blockquote>
  </body>
</html>

--------------LBoZXSG0veUPafMPUeHO5ruA--


From xen-devel-bounces@lists.xenproject.org Fri Oct 17 17:10:18 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Oct 2025 17:10:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1145331.1478381 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9nxs-0006VO-Fb; Fri, 17 Oct 2025 17:10:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1145331.1478381; Fri, 17 Oct 2025 17:10:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9nxs-0006Uv-Ax; Fri, 17 Oct 2025 17:10:04 +0000
Received: by outflank-mailman (input) for mailman id 1145331;
 Fri, 17 Oct 2025 17:10:03 +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
 <SRS0=DH0H=42=citrix.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1v9nxr-0006Ew-BX
 for xen-devel@lists.xenproject.org; Fri, 17 Oct 2025 17:10:03 +0000
Received: from DM5PR21CU001.outbound.protection.outlook.com
 (mail-centralusazlp170110009.outbound.protection.outlook.com
 [2a01:111:f403:c111::9])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1d70c513-ab7c-11f0-9d15-b5c5bf9af7f9;
 Fri, 17 Oct 2025 19:10:01 +0200 (CEST)
Received: from DM4PR03MB7015.namprd03.prod.outlook.com (2603:10b6:8:42::8) by
 MW4PR03MB6330.namprd03.prod.outlook.com (2603:10b6:303:11d::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.13; Fri, 17 Oct
 2025 17:09:58 +0000
Received: from DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9]) by DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9%3]) with mapi id 15.20.9228.011; Fri, 17 Oct 2025
 17:09:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1d70c513-ab7c-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=udQgi49fgTh+MuaJxVBY0e2WwILeJ/31tHOSaaA9RjckCANv5wIsSCJyE+LOKYGZ7tkpq6tZv7Fu+3xTu4GudiOEgBnMjjuvOauZrjEKkZQqrok7FKJtfNwDZrSGSW1m/PY4swBWOmR7wHB3ZznmPbe+t+CEnFTj/DUYSlSMQ9gtcj+FG9V3r3/pagy7xOqgg+KiYT+JNorJ0nQ+P9ctjyGhpCbSeZ94Bqhmrsaa0czrzBcU/kBoL1DG1OciHdET4AToHMBwEx4Hmv3zfrLUVIATCc18nbwW57bpS81CurNidHDItfhHclWAhfiK2Au3G+FUET0zCoxq0MLX/diICQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YdvUAmZ5liJAv7L7Vr9Ost9+syXmp1Vx/zvaiMjLIxk=;
 b=OEKaTNqSV+9pALmx0qEopnTbX+mpq07ummvM5gPxpexumyRBQ0/UusaFr01WlygGpWCYtPqo1Kr1ukyew2aW+TZbuqJ8WzuaCKHlt2HOodaQtlmxcIQhkzPK+X4HREVDRrSnQzqnIxGMwSZ4fqwJY9VU4PEgZS+ebZ/YNwgKeoNHgcXT7Z96zjoGhvVHxTJ2S2dixu2utSDUZqYfjpfHA5WqWd9p9WkhjXogpijL1IQ5taXagpRYCjLOZ8JowHU15fY0cLx439VvtDf0otljg/T3E+6MUgxsTISIyDMzMfMOvV/p7FVap5at5207Wn2ZhZDi4nnud34b633UTmfP3w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=YdvUAmZ5liJAv7L7Vr9Ost9+syXmp1Vx/zvaiMjLIxk=;
 b=N1YcGYUMNOz4JM99Xys5/V9EZyEGahi7Zro+pLGm7k8pZz/FsY6nH1oe4iYDwC9bWPesQOO1LxoQ0l8KFWaUEWPKJyS0zFRh7XleJqlQt73cFQq7YL0rtywB2eq8vH4n776cKcV7iern/6nA13Yd37K3+NvjD3dWHGpZoXxKBP8=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <bdead1be-cd8f-4cca-ae70-e9744ae8b556@citrix.com>
Date: Fri, 17 Oct 2025 18:09:54 +0100
User-Agent: Mozilla Thunderbird
Content-Language: en-GB
To: xen-devel <xen-devel@lists.xenproject.org>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Denis Mukhin <dmkhn@proton.me>
Subject: lost serial characters on boot
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0096.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2bc::14) To DM4PR03MB7015.namprd03.prod.outlook.com
 (2603:10b6:8:42::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM4PR03MB7015:EE_|MW4PR03MB6330:EE_
X-MS-Office365-Filtering-Correlation-Id: d34c8ff8-7b6e-457f-3fd4-08de0d9fffb1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?OFBmREk5RVBlb2lkQWNSbnQ0Rkpjc1NDVkJUMXRGRlZJRmU1UE5DcSsrV1Uv?=
 =?utf-8?B?eTk4Yk5qZ0hiS0c0OXh6UzZ4TUVaZ0VOTngwaFBDYmVxcFltbElscmFNWU5V?=
 =?utf-8?B?UXN2VmcvUE0xeWVDcWVQZmVBbjNZSWwwbHYyMnpCeXRxWUhuRmdJNkI5WTZJ?=
 =?utf-8?B?ZDBzNjJOd0NwVlN1eC83K0p3K250Z1duMzh6ODFjV1NtZTNKc2JxTUhjeEg4?=
 =?utf-8?B?T3JCU0t6em12UkQ4SjM0QmhMTHJ0ZEJ4QUx5NEJGVGIyU0FRcFUzVkk1d2tU?=
 =?utf-8?B?Z0ZVOEpZa3RwNU1URzRtbC8raWxsRElkTzBUckxEMWRrRnFMZzBxdTVkWXpq?=
 =?utf-8?B?Q1l3c2Fiak5lWmpublFKUUMzaFhwamxCSGx0OElTM2xDc3c1KzJZSEl2ZWtX?=
 =?utf-8?B?OHBIY3BMbkp1YjVvU1d3cTNjVGY2R2QzMHpuNStmMzlnVCtzUkI3dWtlOS9s?=
 =?utf-8?B?U2cwL2FaRGl4dHZ6RlBkcHpVakdhYUZwV2k3L0tpcE8zUnhFRjMveXBvZk1I?=
 =?utf-8?B?YmpyNUtZaW51eDZlVFR6WWhWRFRyRnQ4TytITWszczdtZlltZlFVVisvelZy?=
 =?utf-8?B?d1VOWHQyOS8vRnJlbXhBMHlGZngrNStDSmtlRkVKbzYrK3E5ZlREOFFQMUhM?=
 =?utf-8?B?cDRwQzlDdTk4RUdJM3Z4ZERQSUo1MGppbkk2YlNmSmJ2c0V4eWR4OUYzUnFR?=
 =?utf-8?B?VGQrcmZuaS9IZzR0bzlCcXVPMGtYaWRlRUJaVFZZaVh3VHpxalI5a05YclVo?=
 =?utf-8?B?OTViMmlGejNQTnNOVVd5bkNKNmJFMkpPcmtFR3BabFBUK3ZRd28zZUxtWHB4?=
 =?utf-8?B?TDMvRDhGTjdXeU5YM1k3Z1BoUnF1RnY0R3Y3VXl2NlB5M1M5UjAzSWt0SkEx?=
 =?utf-8?B?R1FYTnI5eEw5V09nQkM0ald6dDNjamVTSzlaa2UybVNPOHFzaHhaNXBmaTZ5?=
 =?utf-8?B?V2g0aXVuYnFzWm1iQUUwNnlxR3ltS2VYVDU1L1FQNTZsWnVBQTlGeUZKMm40?=
 =?utf-8?B?QzAyUHY2bC8rdlg4RzBWMm5uckhoenFYd3ZxNHpPUGVPR2IrdXlpb3JzS05t?=
 =?utf-8?B?bGxhVkJsclVPTC82K1VUeXJBZFJnM3Npd3RoRVk2NzZSU2xxeGExbThseW1o?=
 =?utf-8?B?ZTVsaVFCSS9pNVNTODVuSHZoL3VGNG51QmlnZnZ1N3Jhd1lITDBlTzBzQmdG?=
 =?utf-8?B?MU9ld1FGZ2R0WU54S2JFMlJUaTVTTzVnQmo3azVUSEpzZERsZ2xtTm1ycWxJ?=
 =?utf-8?B?bDI2bnBHSjFBSXJoYmNleEpRWU44MnpRcDJLWTI5b2FUSENBTk9PZDVndU5S?=
 =?utf-8?B?SlNQNVVjWW02eVFaZUNuY3JUcXB6cEZsSlZpendkcG5jaXg2L2JSYkNsR1hl?=
 =?utf-8?B?b3Z5WGU5eHhFT2xKSVlqUTREbUJtZXJKa2tGUmloa09IUjlCRkhQTFRxcEh6?=
 =?utf-8?B?UUt3Y1ZudUx5ZVhEd2dvNkpjQUNlUkpFVWZYWjNncWIyb2E2cU1oNUU0c0l0?=
 =?utf-8?B?L0hmMkNzOG5nbStqeXRnNTdKSERDWktjWUhybVZTMWtobzJBWUt1SVhsVnRV?=
 =?utf-8?B?ZE83cEFqS0RpY3hHZmxEczZNNFQyN3dqaDZUVStBaEVLN0Z0ZTRsNGxMQldp?=
 =?utf-8?B?SGRKdUx5Y1FjL2tpYUF0MGplZFBKcGVxUnJQL0NHM1FUTktOTEpiTEVRQnIv?=
 =?utf-8?B?WGdIN1J3RUwyTkZab2VHTHczdDZtSDZuZ2ZNTmtiS0x0SjI4Z0dSNURZelAx?=
 =?utf-8?B?ZFUwTXhjcDFkVDhNTy9sSXYwMlVjYmVOVEtUb3Z3NlZGakxmaVBQUllTNnI2?=
 =?utf-8?B?YVNDR2czdkYvT3ZRaVJjUUo1TWRucDArUFNQOUZiRkZKUjhteXYrVkFMTG9x?=
 =?utf-8?B?bTE2QSt6bjRweDdMTU1wOXZBNExmQ2NjdjgyTUVZZkN3elBtRjRlcm9pZDYy?=
 =?utf-8?Q?LwcZZXf0UvKuAdFob7oR3sdEkmr+6BCq?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR03MB7015.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RDA3Tnl4VDRWU1c1ZE9oRW9UNE5RQzZreC9LTjg5cVNnUCtiNEZNWnFlaCtU?=
 =?utf-8?B?eGQrZ1VVZ0N1V0doTzErd2FLUTg3ZEI1b2MxZUpDYkZSbWRsbmNiY2JGNUpP?=
 =?utf-8?B?WlkzK01GRElKWHRudkxkbVl5Umk3TUdTd0RuMXlzak9mY0kzTDNwUFpNcUNY?=
 =?utf-8?B?d0lsTFdVSDIyMjFTZ0E0Y0VLOVl6U0lCemM0b2svVGtQQ3l0Nks1dGQ0NFNL?=
 =?utf-8?B?bC9NVGNDRzJaSkQxNFVyQnQ5enpaMXhBdlVHWE82RmVIUGtsZWh0S0g3SG5w?=
 =?utf-8?B?OWI5cUppL0pkc2I4N0RiYlpjc3JGVjRWOFhrVTlxS1JnMGxaZkQrRjZtS3dD?=
 =?utf-8?B?cndlZlBSV2VKNXdDdmNobTdhMG4rODhWQUZMT21ZdGYxTCtrdE92amJOaW1x?=
 =?utf-8?B?cEZlUWh3aFd1dzFRRlczU2FvWjJLOVEzVk16eER6aHErKytEQVh0K0o4bGc5?=
 =?utf-8?B?cGI2OWxTSWxtQ1dYRUZoK1hCWExoSFpYTHBkVnFhVlFSc0dpVjNQbUNZSHpE?=
 =?utf-8?B?ZkRORy9Od3ZaaXZyalEvWEN3OXQ3N2Y2eVc5UGpVUUlqc0cxaDk5dHRvaWNz?=
 =?utf-8?B?V2JRTmtxWEQxdnY1bWhHU0R3bHU5a0NxcHgzUmxwRWNSRWExVUtENmtTVS9I?=
 =?utf-8?B?T2RsaGhQMmJsNUttdmV2RGg2c3VITVp4QzA3eTNsNWlTN0hPYTlyazZoZ1lj?=
 =?utf-8?B?eTNnZ09lb2hKVUhsVzE0R21uVzJjM21qaFhZOWRHUjMrdkFZSzdvcmw2VDBv?=
 =?utf-8?B?ZmpHUGljeWxCT0lYaTE2VnRyc2x5b2IrczNsQ0c0V005S0Y0RHJRRTVyU2hu?=
 =?utf-8?B?Z0lrcXZiYkV0WEhZS1RFY204ZkFpcW5RN0VLbnEwU09aNS9yK3FoWVFpVE9w?=
 =?utf-8?B?d3dTQngvbUFsYWxXK05md2RNNkRSVXlESmpkYUgwMWNSWm1PSzQ1d2Z2M2Q2?=
 =?utf-8?B?SWZBU2RBRkZpNnc1N1J3cHJJUThQTEsvZGlDUE5aNmxVTUZQQjdZRkRUUDRS?=
 =?utf-8?B?SWJwZktHK0s0c09KcEJEekFPRjBzajY4T01WVmMyVWVHUHlwZjNQWHBTNW5y?=
 =?utf-8?B?TnY4WitQOU83dmFmcURhTWFkRHZwb24xZmhYUHF6SGJiRkV6Wm5BWVl2YkZq?=
 =?utf-8?B?S2k4Q2tkYWZqWUhFdzdmYmpOUVhFTUNkaksxT1VKM3VFRXNlRS9peEp5c1Zj?=
 =?utf-8?B?VGV1TE0vL0Q0WmpMSUdmeDE2R1VqUERJQ2s4bVNjaTlncm1ER3pWVVRQMEc3?=
 =?utf-8?B?WjlJM1RlWm55alZYZEI1YmlQUkNuQWZUeHhsVmtUckp1aW1NZG1GckdieTRN?=
 =?utf-8?B?NTc4YW9UTk9tdEVkYk5VY3o5ZzlMU29WTDdwMFFXS3pTMkNoVVR3QURITS9v?=
 =?utf-8?B?OGhkb2RWeERFYzMxTEx2bGI0TzFKc21Ydjhsa3ZkSmdnVGlqMk93S2ZZVG53?=
 =?utf-8?B?TldMbHZIaVNJRGM2WEVTSEhOWW1YZzUrYlJ0dXNVWUkvTzlaYlV3UnNtWjhi?=
 =?utf-8?B?ZFVjN0RaVG1kbHdZWnlNUm12Z1I1RzVHM1Q5Ni9QVEhzcitDcXE3eU0yV1NK?=
 =?utf-8?B?QlY0K0VSSzJGUEd2UmQ1UmdUWXVLS2FDam8zb3p2UENMc2pheGg2UEliZi9F?=
 =?utf-8?B?aXorcGRldE8vOFJDZ3dxYThWakZwVWJVY0I0Q3haSnh5M2ZNV1M1YnM2TnJN?=
 =?utf-8?B?ZGFSTXJHbEpHRGpUY21RYlFWS1lXcFNFTzBXQjFxN0xUYVdRNkhwQkwwUmdN?=
 =?utf-8?B?TDZTdHRvMDFvSitlMjkrQ0JWYThOcEdPZms0b3lQMGZLQzVrSDd4bk1ZY3lH?=
 =?utf-8?B?Lzg3TkhzR0VOT2wyOXRoQUZSd3ZCaDV0Y3ZOaWdvME56Nk1pTlpGRGMwbktH?=
 =?utf-8?B?N1Q2ZmJVeVcwTFZJQWVGZVdPZ1dZbXVJR0RqaTBYL3dleHlPdGlHQXh2ajV3?=
 =?utf-8?B?QWlyV2piaWRrWXFkNVk3MVFrcUI1UDhyV0tyL1dTV29TUzRreGNxb3N0UXlJ?=
 =?utf-8?B?cUliUWZ1Z0dablVpbE9hTUhuOEt0d0FzZ3dsL2kxNC9TUWUwd0U2N0NMT1Vh?=
 =?utf-8?B?ZUpMYzU2R05PNjc1aWN0cDR3YVloWFcrSnJVQUZib3ZLalVWSEJTMzhrUDYv?=
 =?utf-8?B?aUowVlV1ZHJiMlluSXlyTHlsaHF1V1M5eWNRMllBS0VpeERIM21RWitEUzhu?=
 =?utf-8?B?U1E9PQ==?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d34c8ff8-7b6e-457f-3fd4-08de0d9fffb1
X-MS-Exchange-CrossTenant-AuthSource: DM4PR03MB7015.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Oct 2025 17:09:57.8680
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: eoXtESXqByCvOcYEzgzn4GDHAaDUvhChNrO8aK3ZUCPvpBvOC2usEZCNqTH2BrLpWQtUsmnPZLjkQ/8meBtRMQRbEwFwv6LWSSKS/tRGZoY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR03MB6330

Hi,

I think we've got a bug with the serial console.Â  I'm reliably loosing a
small part of the boot message. e.g.:

(XEN) Latest ChangeSet: Fri Oct 17 17:24:59 2025 git:5e79cfcd2100
(XEN) build-id: d1536ff6698b3e3ba307d551abf
Â Family 25 (0x19 Stepping 1 (raw 00a00f11)
(XEN) BSP microcode revision: 0x0a001137

whereas from xl dmesg after the system boots, we see things correctly:

(XEN) Latest ChangeSet: Fri Oct 17 17:24:59 2025 git:5e79cfcd2100
(XEN) build-id: d1536ff6698b3b8968e883fc39e3ba307d551abf
(XEN) CPU Vendor: AMD, Family 25 (0x19), Model 1 (0x1), Stepping 1 (raw
00a00f11)
(XEN) BSP microcode revision: 0x0a001137


The lost bit of text differs even when rebooting the same Xen binary,
but it's always around this area, very early on boot.

I've been seeing this for a little while, but one of my common dev
machines is showing it fairly reliably at the moment.

Checking a transcript of the terminal, we're missing characters, rather
than having additional control characters causing the corruption.

I suppose I need to stare at console_init_preirq() some more, but if
anyone has ideas, I'm all ears.

~Andrew


From xen-devel-bounces@lists.xenproject.org Sat Oct 18 04:47:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 18 Oct 2025 04:47:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1145475.1478394 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9yqX-0007F1-6x; Sat, 18 Oct 2025 04:47:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1145475.1478394; Sat, 18 Oct 2025 04:47:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9yqX-0007Ej-0j; Sat, 18 Oct 2025 04:47:13 +0000
Received: by outflank-mailman (input) for mailman id 1145475;
 Sat, 18 Oct 2025 04:47:11 +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
 <SRS0=PxYo=43=gmail.com=freddy77@srs-se1.protection.inumbo.net>)
 id 1v9yqV-0007Ed-BU
 for xen-devel@lists.xenproject.org; Sat, 18 Oct 2025 04:47:11 +0000
Received: from mail-yx1-xb12e.google.com (mail-yx1-xb12e.google.com
 [2607:f8b0:4864:20::b12e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 80919746-abdd-11f0-9d15-b5c5bf9af7f9;
 Sat, 18 Oct 2025 06:47:09 +0200 (CEST)
Received: by mail-yx1-xb12e.google.com with SMTP id
 956f58d0204a3-63e11347fd9so2398066d50.1
 for <xen-devel@lists.xenproject.org>; Fri, 17 Oct 2025 21:47:08 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 80919746-abdd-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760762827; x=1761367627; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=0yyjkMH7X6A0lq0whywhvCS5pJnGF9bT1XwigrhAglY=;
        b=j236l8MweKkxwu+ow9big0kCRCZuQe/BJSUfEh5Z3vrZDG+1K5GxDLMkePCmYBOeAT
         J1ZAZep0YdqXBL9v0zWrS8rw7sBaPgiVnLjdvMjMDbQhr16X/zrpWTm+GtoWWlx/T04n
         YOpmt15C1aTAOY2CLzy5h6Cz34O7fI/aGBeMYBEgSC+W5O6inYgkAx+9b7LlzwwGOJNv
         vbG2tZCZTYz5+GwhOEWAjtt3X9jACcQ7SiFGwE5zl8kEVM4ikr/GPNYrtgMryykXwxNc
         U7DhEADKFJTpIy1CHoqkR4CwFx8mIuE+EqrSXT14PIqtTQCkpgKslj3e1S9eGernv/yH
         LVaQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760762827; x=1761367627;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=0yyjkMH7X6A0lq0whywhvCS5pJnGF9bT1XwigrhAglY=;
        b=Md+sAVWNt/c+A9YpADQddGGxrp0HrHza4+i6ODpiz6X8LFgYQvnwphXxSVs+WR6L2k
         BXhNQ28UuGZVzgylTBlMWwh4+r8mRP4b3gkY0c/bNHrnTT4d8AhTd9c2ZwWnrRHGsf9e
         nATWzHWei9ctKDuBSqDtzyuRBr9/9iD6ouNvVBtNYXxDmj95BAzHI7dSUy8ueqvfH6z9
         A7lkGvaGKDiR54nHDHH9s4fchlXmDUA0ha8+b+ypMgsIIFoJ+vBH3TY1WQ+OBVTPPgl3
         Sc0MJyuwSWmj3V+bqzqtHt9AasSKVjVL12p80u7w8hAcJ04Qq6JTMfrIHz+HWdp6LwZO
         jnXQ==
X-Gm-Message-State: AOJu0YxWTVVFCfbImT01/4pZ2I80Znyn178QxZinxEHwH7MWHcMigzWY
	rabeLk+NFbkPlIrwdCHlgf+BADQdWap8xGFC5UxKEshanNjc8Phq/OyVDPfeCeW6QEYkUwhMzYo
	89vGIYYM/9opSn2/MLiWX9GM5Q0CW2iqwjlll
X-Gm-Gg: ASbGncvYBmozZbz83Fv3IT1uquZTU/c47VsaCErXluv8iYbwGnDqwuaj6VJJ069yLzg
	pmzkQVQ37FCxE6caWAMFYM1q1fnYLOObb4eCN4xevwwrOybNeylH2yKqCBfliNDTDSJ5YcT/Ug2
	epZvLV8xtfWVn9PPSFFUoYnBWmKuBaau3vrZO0jeiU04PSVnriNmPPcx+kKP3DioM2haTihz+IK
	0F89Pdu7TtTjWjQEp4KdfQuYuJoo/6sPJ/id6HJmE3sPF/8pDofS8caNfH1
X-Google-Smtp-Source: AGHT+IGAZ8zP02pHPx5o5LmW0sPduIqlZCzpaboeKh32N3wJhU77gcgVQwf2cyexPZwFnPCPgkBRumTKwIzfE2WmTdw=
X-Received: by 2002:a05:690e:1208:b0:63e:112a:39f7 with SMTP id
 956f58d0204a3-63e1622d6b1mr4611867d50.36.1760762827480; Fri, 17 Oct 2025
 21:47:07 -0700 (PDT)
MIME-Version: 1.0
References: <20251017141434.15205-1-roger.pau@citrix.com>
In-Reply-To: <20251017141434.15205-1-roger.pau@citrix.com>
From: Frediano Ziglio <freddy77@gmail.com>
Date: Sat, 18 Oct 2025 05:46:55 +0100
X-Gm-Features: AS18NWAA59KqK8vxSMhvWn37qbfZ_QNC54lDrDA2Ys3KsFGgOXb15BhZlJDKlMc
Message-ID: <CAHt6W4dAEBH_9EF4nXB6_W0ehpawKpz+bMpZ__vN29OdVZxGQw@mail.gmail.com>
Subject: Re: [PATCH for-4.21] tools/libxc: fix xc_physdev_map_pirq_msi() with
 PCI segments != 0
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, oleksii.kurochko@gmail.com, 
	Anthony PERARD <anthony.perard@vates.tech>, Juergen Gross <jgross@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, Oct 17, 2025 at 3:26=E2=80=AFPM Roger Pau Monne <roger.pau@citrix.c=
om> wrote:
>
> Otherwise it's not possible for device models to map IRQs of devices on
> segments different than 0.  Keep the same function prototype and pass the
> segment in the high 16bits of the bus parameter, like it's done for the
> hypercall itself.
>
> Fixes: 7620c0cf9a4d ("PCI multi-seg: add new physdevop-s")
> Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
> ---
> I think it's 4.21 material, as otherwise it's not possible to passthrough
> PCI devices on segments !=3D 0.
> ---
>  tools/libs/ctrl/xc_physdev.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/libs/ctrl/xc_physdev.c b/tools/libs/ctrl/xc_physdev.c
> index 25e686d7b389..1307d6836d72 100644
> --- a/tools/libs/ctrl/xc_physdev.c
> +++ b/tools/libs/ctrl/xc_physdev.c
> @@ -79,7 +79,7 @@ int xc_physdev_map_pirq_msi(xc_interface *xch,
>      }
>      memset(&map, 0, sizeof(struct physdev_map_pirq));
>      map.domid =3D domid;
> -    map.type =3D MAP_PIRQ_TYPE_MSI;
> +    map.type =3D MAP_PIRQ_TYPE_MSI_SEG;
>      map.index =3D index;
>      map.pirq =3D *pirq;
>      map.bus =3D bus;

Reviewed-by: Frediano Ziglio <frediano.ziglio@citrx.com>

This was tested on a real machine.

About MAP_PIRQ_TYPE_MSI and MAP_PIRQ_TYPE_MSI_SEG, do we need to keep
ABI compatibility or we should just remove MAP_PIRQ_TYPE_MSI_SEG and
make MAP_PIRQ_TYPE_MSI consider the segment ?

Frediano


From xen-devel-bounces@lists.xenproject.org Sat Oct 18 04:50:31 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 18 Oct 2025 04:50:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1145485.1478404 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9yth-0000HF-Hc; Sat, 18 Oct 2025 04:50:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1145485.1478404; Sat, 18 Oct 2025 04:50:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1v9yth-0000H7-Ec; Sat, 18 Oct 2025 04:50:29 +0000
Received: by outflank-mailman (input) for mailman id 1145485;
 Sat, 18 Oct 2025 04:50:27 +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
 <SRS0=PxYo=43=gmail.com=freddy77@srs-se1.protection.inumbo.net>)
 id 1v9ytf-0000H1-HI
 for xen-devel@lists.xenproject.org; Sat, 18 Oct 2025 04:50:27 +0000
Received: from mail-yx1-xb12c.google.com (mail-yx1-xb12c.google.com
 [2607:f8b0:4864:20::b12c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f548d22e-abdd-11f0-9d15-b5c5bf9af7f9;
 Sat, 18 Oct 2025 06:50:24 +0200 (CEST)
Received: by mail-yx1-xb12c.google.com with SMTP id
 956f58d0204a3-63e1c0fd7ddso1276108d50.0
 for <xen-devel@lists.xenproject.org>; Fri, 17 Oct 2025 21:50:24 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f548d22e-abdd-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760763023; x=1761367823; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=BIcKoM0w5d+FWz+9+3EWxNCBqPh+IYEG3nR6drWx/WA=;
        b=KQMM3Zh1XthsVhE8W4inCoNaJG5PbWDUj6Dj6lNX9Moj4SdsVLnWo/OEuVGB/P6Ts0
         SMi0vb+tfrW2Zs/KRsQKfkKfdn3JD1NIu5RfjzoUmCun53lc4TLurYuUVtY2M8E0s581
         A77JddGkwOAJVsWEd5blk7Hm7foDoU5e7FKNM/Xl5gzlgoyD7t6T8CmX6ERodZBR5XkW
         XrGi3wJ5fhc+slaqUPehc+heLcZU0ddRnX0whmAvtuG3od0ht2Yx12ZeYZspc9pVKBM/
         EROwNeRrsLddTP2oG7Se/Ps8Rkkv363s1ExGQFmgbdsQMAg+meB6jSS822+biDdjg7QQ
         qeHQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760763023; x=1761367823;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=BIcKoM0w5d+FWz+9+3EWxNCBqPh+IYEG3nR6drWx/WA=;
        b=w2CgW8NlrS7/buD+hK7wYxvGFImC6jtGAFUWEC1ryO96kU1d4HJkW/H9to/h+9AV/E
         c1MGUb2h/O5YiEVL/ptLt4tYQOo6UULQJ4Uv0hqGkRdDvbJBqnpT+Rm7qNgZRCxbRXex
         VP/9NJJsxXxKiNvpHWpAzWkOFFUWX61sC3LlOwIIx3f4Z+9buWSBD8b38X/Ee/PFSLzd
         tBmReSS1Iu/ATAJHj0EY5j0MfI4F+50CU2zrfmzEk/f75YBZ+28kyPWe8lMQglwhqsRw
         wU2fdE6EIczo5VrW2blXbueudmS1lgJsmIDhhJCjGCS3wpq/BnpHN5gf6QdRmae0wNpy
         Hx9g==
X-Forwarded-Encrypted: i=1; AJvYcCWb1gwxk43WgiQHRT85xvGwDlnGhS0LTfGUUV42B0WQ2/41tvayvjCuMCE2FCZDA2JzLkWYLPPpPWE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwvLRtPDBxnU6TYfkFjLcO+w1G1uGZeQNV1U7g87ih8vjxQwGyu
	JkFC9zgS6lEMJ9mE9dv8eHGdvQT128Oe9XfrcZW6WLWqBXVxA10nfqnBxYXrCko4181lYGp2IFp
	sKOMENOjLZ08WtUUWeIsbXBM28pU7XHQ5PK9c
X-Gm-Gg: ASbGncvmEzmGwZe/+AtLSGkm5xk3fhDikjwMOOI+otxpjn7jXnaD0L01xxeuad4feWg
	6UMCco9tE292xw/YNI/pR0JTYpPOoRwtyDbI63Vn2n95FxZC87v0tCdEsDXyGKF7+gY41z2N18d
	uYrhmynZnq0zAothDvJLGSW2ZFLq2g4cymBiF14yduF/ya9Q+qroZat4ERbTCo6sheLuOJDrAjK
	VlP7RI6GCSpKrb+/tbKJrUbiurDul8yPrkQVtr05AV/t6XeDDSGIkZT6N5JKWFfOdhYtnQ=
X-Google-Smtp-Source: AGHT+IEilvWbtCW5uBzm7QpX6iKYSCadhAVZKn4tREbb4azBJtfoTD7u65ot1ZeFv6sGpoaqvlRwGvnbmi4Mxk986C4=
X-Received: by 2002:a05:690e:2505:10b0:63c:efd6:c607 with SMTP id
 956f58d0204a3-63e160d904emr4363604d50.3.1760763023085; Fri, 17 Oct 2025
 21:50:23 -0700 (PDT)
MIME-Version: 1.0
References: <20251017155136.16540-1-roger.pau@citrix.com>
In-Reply-To: <20251017155136.16540-1-roger.pau@citrix.com>
From: Frediano Ziglio <freddy77@gmail.com>
Date: Sat, 18 Oct 2025 05:50:11 +0100
X-Gm-Features: AS18NWAhPCgMVZ6RyFOMVIDyG8JZlvyB7tbnYI4D_8IsK9EL7c2IPK05IjJcI0c
Message-ID: <CAHt6W4cpBv3JhzFJg1pMw+z04uo41po2+GwJW1NZG8PD816U9Q@mail.gmail.com>
Subject: Re: [PATCH] hw/xen: pass PCI domain to xc_physdev_map_pirq_msi()
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: qemu-devel@nongnu.org, Stefano Stabellini <sstabellini@kernel.org>, 
	Anthony PERARD <anthony@xenproject.org>, Paul Durrant <paul@xen.org>, 
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>, xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, Oct 17, 2025 at 4:52=E2=80=AFPM Roger Pau Monne <roger.pau@citrix.c=
om> wrote:
>
> It's currently impossible for passthrough devices on segment different th=
an
> 0 to work correctly, as the PCI domain is not provided to
> xc_physdev_map_pirq_msi(), and hence it's unconditionally assumed that al=
l
> devices are on segment 0.
>
> Adjust the call to xc_physdev_map_pirq_msi() to pass the PCI domain in th=
e
> high 16bits of the bus parameter.  On versions of Xen where this is not
> supported the passed segment will be ignored and assume to be 0, no worse

typo: assumed

> than the current state.
>
> Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
> ---
> Cc: Stefano Stabellini <sstabellini@kernel.org>
> Cc: Anthony PERARD <anthony@xenproject.org>
> Cc: Paul Durrant <paul@xen.org>
> Cc: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
> Cc: xen-devel@lists.xenproject.org
> ---
>  hw/xen/xen_pt_msi.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/hw/xen/xen_pt_msi.c b/hw/xen/xen_pt_msi.c
> index e9ba17317aba..df15ccf0d030 100644
> --- a/hw/xen/xen_pt_msi.c
> +++ b/hw/xen/xen_pt_msi.c
> @@ -138,6 +138,7 @@ static int msi_msix_setup(XenPCIPassthroughState *s,
>          rc =3D xc_physdev_map_pirq_msi(xen_xc, xen_domid, XEN_PT_AUTO_AS=
SIGN,
>                                       ppirq, PCI_DEVFN(s->real_device.dev=
,
>                                                        s->real_device.fun=
c),
> +                                     ((uint32_t)s->real_device.domain <<=
 16) |
>                                       s->real_device.bus,
>                                       msix_entry, table_base);
>          if (rc) {

Reviewed-by: Frediano Ziglio <freddy77@gmail.com>

This was tested on a real machine.

Frediano


From xen-devel-bounces@lists.xenproject.org Sat Oct 18 09:36:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 18 Oct 2025 09:36:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1145542.1478414 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vA3Ls-00076T-Aa; Sat, 18 Oct 2025 09:35:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1145542.1478414; Sat, 18 Oct 2025 09:35:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vA3Ls-00076A-5U; Sat, 18 Oct 2025 09:35:52 +0000
Received: by outflank-mailman (input) for mailman id 1145542;
 Sat, 18 Oct 2025 09:35:50 +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
 <SRS0=PxYo=43=gmail.com=freddy77@srs-se1.protection.inumbo.net>)
 id 1vA3Lq-00075v-Pe
 for xen-devel@lists.xenproject.org; Sat, 18 Oct 2025 09:35:50 +0000
Received: from mail-yw1-x1134.google.com (mail-yw1-x1134.google.com
 [2607:f8b0:4864:20::1134])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d4be4e06-ac05-11f0-9d15-b5c5bf9af7f9;
 Sat, 18 Oct 2025 11:35:50 +0200 (CEST)
Received: by mail-yw1-x1134.google.com with SMTP id
 00721157ae682-783fa3aa582so12802577b3.3
 for <xen-devel@lists.xenproject.org>; Sat, 18 Oct 2025 02:35:50 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d4be4e06-ac05-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760780148; x=1761384948; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=RW+I+33Ql2he7tob3Olq7Ib97t5xvt8Xh7P8ba7KoXo=;
        b=YutKY/rJbacsA+119CyI2yd5fYZrd7zhBtJVUfsLWHjJN+KmF4PtQMWdpCX7p7N9s4
         Wn4uypsX/C1gM4ZDy/2g8nFzhcBtSTMwVOU8liYF/jPa7sOCfIhtThzmvPqgtoYLJOlu
         KHcrzA7GP/S9hhSa/WxZX0zHBc0iY8NqIZ5ALZF+x3iAF3KLhAbZoFuML4QBUhSjU5wO
         FyAbANRO8cxJk2i9hu2u/63nQkDe844EWUvHNWd0Z8UR34qbvxBNe+k2PzWPZB8XkcXr
         KF/oRA207mem/3NTjZ1CCyFWmaiZRx4wKoHAgtdRjOpO51/fG/nws40RAH2OZhlq/3nC
         fKcw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760780148; x=1761384948;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=RW+I+33Ql2he7tob3Olq7Ib97t5xvt8Xh7P8ba7KoXo=;
        b=ITIM7YnCnpchYedzM+YS8sMU/G1tOVB2Hyl1+w5gcEu+wXB4+ezNnJ/9jTjiZul6Gd
         hp09rBhkiq+qmZuiwwKUvr8uqXJbsoJYtdHcADEfO9r3JNaj1eYfiR5ljcFL2Xrv0lPm
         RVc99f6PRS/8nE4m29TYfmfexNeMnw9hU0RYPFnKjf74OrSDct6ChKYTGhfKwxsvG2cn
         2BuisJEuoWUaG9A42UPbZJWiYO1Qeo8uRdxh1C3EgCthwdB/ZmzOfCNYx1rGq/xrwmEI
         0wF23lLoCVE9TH8gXsKVtMtR9qtHeGx1XZD5PropBOpm06FG3T4y05iEwVf0qWt1XT8H
         jXkg==
X-Gm-Message-State: AOJu0Yw2Ym6coakt2Jjbzz5mWsZIz84H6OU1k/BEgy6+BdrYX1hoeuZ2
	Oaaeo6rgEvpJtUOiLkskz//FvA7GN+wT0erKCrg8cYocrtvr99J24U4ZBv6QAkqmVT/uD9PJ7b8
	aU+Yh9TVBhu/xWZJ0DDPws4jcZ3tsMxE=
X-Gm-Gg: ASbGncstJ8Ohd2r3kn7eQcGSn/to9bPQKzzSMnDbt9d0ejeZl0WoNf0B6vy5GNc3KoS
	g+r12W3zL2JUS/AMigN//1ZIpk3YgTGtf2pIauZ/X2uu9CL7WZEnsnW4P4a2yXLvPu8luoaEkTj
	UiCbyeMP6f0sl57zhC6Dh2wI/cK2xcGL4HRSdyUiOjVbpFyEGEAwCMbSVGHW+i/UAtkb76I5Kpb
	f11RwRgdsGSMmmslpTfJiGLTxUc/Vp+T1Ot9LExUR2J8vOg76X3prU72IPywXAIJXwJIpI=
X-Google-Smtp-Source: AGHT+IHYJL5xMsX+BgYBHxoEWqbbwEC42Y8gtQSyT/RUtdCtAjkDqe7AhrupqcENFtkHT0YgvVHx/p/jcWh3E9Uk1tE=
X-Received: by 2002:a05:690e:d2:b0:633:abda:fce3 with SMTP id
 956f58d0204a3-63e161c6211mr4015034d50.36.1760780148554; Sat, 18 Oct 2025
 02:35:48 -0700 (PDT)
MIME-Version: 1.0
References: <bdead1be-cd8f-4cca-ae70-e9744ae8b556@citrix.com>
In-Reply-To: <bdead1be-cd8f-4cca-ae70-e9744ae8b556@citrix.com>
From: Frediano Ziglio <freddy77@gmail.com>
Date: Sat, 18 Oct 2025 10:35:37 +0100
X-Gm-Features: AS18NWD_oC4YxC2w5uLMXgtCdrP2EUBFHUAzjzsM07uRAELgF5Ptyz38CPIJVF8
Message-ID: <CAHt6W4dFp_No7O+gLsM1a=xL4fGKbzwN2hP24rV2TtAkDO6kCw@mail.gmail.com>
Subject: Re: lost serial characters on boot
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>, Jan Beulich <jbeulich@suse.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Denis Mukhin <dmkhn@proton.me>
Content-Type: multipart/alternative; boundary="00000000000048414f06416b934f"

--00000000000048414f06416b934f
Content-Type: text/plain; charset="UTF-8"

On Fri, 17 Oct 2025, 18:16 Andrew Cooper, <andrew.cooper3@citrix.com> wrote:

> Hi,
>
> I think we've got a bug with the serial console.  I'm reliably loosing a
> small part of the boot message. e.g.:
>
> (XEN) Latest ChangeSet: Fri Oct 17 17:24:59 2025 git:5e79cfcd2100
> (XEN) build-id: d1536ff6698b3e3ba307d551abf
>  Family 25 (0x19 Stepping 1 (raw 00a00f11)
> (XEN) BSP microcode revision: 0x0a001137
>
> whereas from xl dmesg after the system boots, we see things correctly:
>
> (XEN) Latest ChangeSet: Fri Oct 17 17:24:59 2025 git:5e79cfcd2100
> (XEN) build-id: d1536ff6698b3b8968e883fc39e3ba307d551abf
> (XEN) CPU Vendor: AMD, Family 25 (0x19), Model 1 (0x1), Stepping 1 (raw
> 00a00f11)
> (XEN) BSP microcode revision: 0x0a001137
>
>
> The lost bit of text differs even when rebooting the same Xen binary,
> but it's always around this area, very early on boot.
>
> I've been seeing this for a little while, but one of my common dev
> machines is showing it fairly reliably at the moment.
>
> Checking a transcript of the terminal, we're missing characters, rather
> than having additional control characters causing the corruption.
>
> I suppose I need to stare at console_init_preirq() some more, but if
> anyone has ideas, I'm all ears.
>
> ~Andrew
>
Hi,
   I would guess the code for early boot is different and is not waiting
correctly if the serial is able to accept new characters so the hardware
buffer is overwritten.

Frediano

>

--00000000000048414f06416b934f
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"auto"><div dir=3D"auto">On Fri, 17 Oct 2025, 18:16 Andrew Coope=
r, &lt;<a href=3D"mailto:andrew.cooper3@citrix.com">andrew.cooper3@citrix.c=
om</a>&gt; wrote:</div><div class=3D"gmail_quote gmail_quote_container" dir=
=3D"auto"><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;bord=
er-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
I think we&#39;ve got a bug with the serial console.=C2=A0 I&#39;m reliably=
 loosing a<br>
small part of the boot message. e.g.:<br>
<br>
(XEN) Latest ChangeSet: Fri Oct 17 17:24:59 2025 git:5e79cfcd2100<br>
(XEN) build-id: d1536ff6698b3e3ba307d551abf<br>
=C2=A0Family 25 (0x19 Stepping 1 (raw 00a00f11)<br>
(XEN) BSP microcode revision: 0x0a001137<br>
<br>
whereas from xl dmesg after the system boots, we see things correctly:<br>
<br>
(XEN) Latest ChangeSet: Fri Oct 17 17:24:59 2025 git:5e79cfcd2100<br>
(XEN) build-id: d1536ff6698b3b8968e883fc39e3ba307d551abf<br>
(XEN) CPU Vendor: AMD, Family 25 (0x19), Model 1 (0x1), Stepping 1 (raw<br>
00a00f11)<br>
(XEN) BSP microcode revision: 0x0a001137<br>
<br>
<br>
The lost bit of text differs even when rebooting the same Xen binary,<br>
but it&#39;s always around this area, very early on boot.<br>
<br>
I&#39;ve been seeing this for a little while, but one of my common dev<br>
machines is showing it fairly reliably at the moment.<br>
<br>
Checking a transcript of the terminal, we&#39;re missing characters, rather=
<br>
than having additional control characters causing the corruption.<br>
<br>
I suppose I need to stare at console_init_preirq() some more, but if<br>
anyone has ideas, I&#39;m all ears.<br>
<br>
~Andrew<br></blockquote></div><div dir=3D"auto">Hi,</div><div dir=3D"auto">=
=C2=A0 =C2=A0I would guess the code for early boot is different and is not =
waiting correctly if the serial is able to accept new characters so the har=
dware buffer is overwritten.</div><div dir=3D"auto"><br></div><div dir=3D"a=
uto">Frediano</div><div class=3D"gmail_quote gmail_quote_container" dir=3D"=
auto"><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-l=
eft:1px #ccc solid;padding-left:1ex"></blockquote></div></div>

--00000000000048414f06416b934f--


From xen-devel-bounces@lists.xenproject.org Sat Oct 18 09:53:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 18 Oct 2025 09:53:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1145559.1478424 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vA3cg-0001KW-Lg; Sat, 18 Oct 2025 09:53:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1145559.1478424; Sat, 18 Oct 2025 09:53:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vA3cg-0001KP-I7; Sat, 18 Oct 2025 09:53:14 +0000
Received: by outflank-mailman (input) for mailman id 1145559;
 Sat, 18 Oct 2025 09:53:14 +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 <SRS0=5sd8=43=kernel.org=rppt@srs-se1.protection.inumbo.net>)
 id 1vA3cg-0001KJ-5o
 for xen-devel@lists.xenproject.org; Sat, 18 Oct 2025 09:53:14 +0000
Received: from sea.source.kernel.org (sea.source.kernel.org [172.234.252.31])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 421bb110-ac08-11f0-9d15-b5c5bf9af7f9;
 Sat, 18 Oct 2025 11:53:12 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sea.source.kernel.org (Postfix) with ESMTP id A913045000;
 Sat, 18 Oct 2025 09:53:10 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A979DC113D0;
 Sat, 18 Oct 2025 09:52:59 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 421bb110-ac08-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1760781190;
	bh=bOSmYzha9caq7PhodKTKcCoPiLt+2LlIcLfZyClR6tI=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=PVM7dGcEYXCuz8kq+FQlif5GkokSxvCHTzAFAGwTnR8/6weD/vKEUQASmePsYFC3h
	 +euqjGf0PMyAFk0ZJUt5YM7wZxnuKR0UvscN4IWjm71nso3T24TfhImRIqQfyI4ss6
	 cv+7XmuLUObCGPTep6i88M7y6u+ifbhyfVbe1BHS4zD5ALzPNDk/kx15zhKRwL0t27
	 dMmFhLM5KTioGdUJieNshqGCPzeMSFbHvJviFEJxzNeYiuG1A5BFkxDb8ilKL2vLrA
	 8jv3n05kf1if0vj2NPnC/QhhCj3HuD1WtyN73Zhx+EyOOZxPqW3faoSHxWvYSohg6r
	 KlyEFQZJR/qhA==
Date: Sat, 18 Oct 2025 12:52:55 +0300
From: Mike Rapoport <rppt@kernel.org>
To: Kevin Brodsky <kevin.brodsky@arm.com>
Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	Andreas Larsson <andreas@gaisler.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Borislav Petkov <bp@alien8.de>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	David Hildenbrand <david@redhat.com>,
	"David S. Miller" <davem@davemloft.net>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@redhat.com>,
	Jann Horn <jannh@google.com>, Juergen Gross <jgross@suse.com>,
	"Liam R. Howlett" <Liam.Howlett@oracle.com>,
	Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Michal Hocko <mhocko@suse.com>, Nicholas Piggin <npiggin@gmail.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Ryan Roberts <ryan.roberts@arm.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vlastimil Babka <vbabka@suse.cz>, Will Deacon <will@kernel.org>,
	Yeoreum Yun <yeoreum.yun@arm.com>,
	linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org,
	sparclinux@vger.kernel.org, xen-devel@lists.xenproject.org,
	x86@kernel.org
Subject: Re: [PATCH v3 05/13] mm: introduce CONFIG_ARCH_LAZY_MMU
Message-ID: <aPNjd2dg3YN-TZKH@kernel.org>
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
 <20251015082727.2395128-6-kevin.brodsky@arm.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20251015082727.2395128-6-kevin.brodsky@arm.com>

On Wed, Oct 15, 2025 at 09:27:19AM +0100, Kevin Brodsky wrote:
> Architectures currently opt in for implementing lazy_mmu helpers by
> defining __HAVE_ARCH_ENTER_LAZY_MMU_MODE.
> 
> In preparation for introducing a generic lazy_mmu layer that will
> require storage in task_struct, let's switch to a cleaner approach:
> instead of defining a macro, select a CONFIG option.
> 
> This patch introduces CONFIG_ARCH_LAZY_MMU and has each arch select
> it when it implements lazy_mmu helpers.
> __HAVE_ARCH_ENTER_LAZY_MMU_MODE is removed and <linux/pgtable.h>
> relies on the new CONFIG instead.
> 
> On x86, lazy_mmu helpers are only implemented if PARAVIRT_XXL is
> selected. This creates some complications in arch/x86/boot/, because
> a few files manually undefine PARAVIRT* options. As a result
> <asm/paravirt.h> does not define the lazy_mmu helpers, but this
> breaks the build as <linux/pgtable.h> only defines them if
> !CONFIG_ARCH_LAZY_MMU. There does not seem to be a clean way out of
> this - let's just undefine that new CONFIG too.
> 
> Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
> ---

...

> @@ -231,7 +231,7 @@ static inline int pmd_dirty(pmd_t pmd)
>   * held, but for kernel PTE updates, no lock is held). Nesting is not permitted
>   * and the mode cannot be used in interrupt context.
>   */
> -#ifndef __HAVE_ARCH_ENTER_LAZY_MMU_MODE
> +#ifndef CONFIG_ARCH_LAZY_MMU
>  static inline void arch_enter_lazy_mmu_mode(void) {}
>  static inline void arch_leave_lazy_mmu_mode(void) {}
>  static inline void arch_flush_lazy_mmu_mode(void) {}
> diff --git a/mm/Kconfig b/mm/Kconfig
> index 0e26f4fc8717..2fdcb42ca1a1 100644
> --- a/mm/Kconfig
> +++ b/mm/Kconfig
> @@ -1372,6 +1372,9 @@ config PT_RECLAIM
>  config FIND_NORMAL_PAGE
>  	def_bool n
>  
> +config ARCH_LAZY_MMU
> +	bool
> +

I think a better name would be ARCH_HAS_LAZY_MMU and the config option fits
better to arch/Kconfig.

>  source "mm/damon/Kconfig"
>  
>  endmenu
> -- 
> 2.47.0
> 

-- 
Sincerely yours,
Mike.


From xen-devel-bounces@lists.xenproject.org Sat Oct 18 18:42:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 18 Oct 2025 18:42:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1145678.1478434 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vABso-0001aU-9o; Sat, 18 Oct 2025 18:42:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1145678.1478434; Sat, 18 Oct 2025 18:42:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vABso-0001aJ-4u; Sat, 18 Oct 2025 18:42:26 +0000
Received: by outflank-mailman (input) for mailman id 1145678;
 Sat, 18 Oct 2025 18:42:24 +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
 <SRS0=PxYo=43=gmail.com=freddy77@srs-se1.protection.inumbo.net>)
 id 1vABsm-0001aD-82
 for xen-devel@lists.xenproject.org; Sat, 18 Oct 2025 18:42:24 +0000
Received: from mail-yw1-x1131.google.com (mail-yw1-x1131.google.com
 [2607:f8b0:4864:20::1131])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2ee3b98a-ac52-11f0-9d15-b5c5bf9af7f9;
 Sat, 18 Oct 2025 20:42:23 +0200 (CEST)
Received: by mail-yw1-x1131.google.com with SMTP id
 00721157ae682-7814273415aso33024807b3.1
 for <xen-devel@lists.xenproject.org>; Sat, 18 Oct 2025 11:42:23 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2ee3b98a-ac52-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760812942; x=1761417742; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=8ls+vfDDYAb3trkQktp5qEQNxIKlGkV+iNV6gd+q2Fk=;
        b=GSdNzm/Jl0EIfvwBK7niG90U2usqBfHwNCtPXW4qEcZF3oE/QBR9k8T7OccmKi5jP3
         dg8ybi/BKHONbcuKDYJk2NopOCljh9Hhn3emlwyP2yMX5XCwL1FwLE3EV7FLSWRTRC1w
         r6DOciurqy3prsxcN7daU1UrAEbS6TwPDMr9Er4w2KziV9w1/VZmTmdJZtzdVTz11qDG
         iAISffQdCg+CYw1lWVJ2f6qWn5RjIzc7LAy3uzA7YrRuLZ6c8RNZ6rYY3kwkuItekNha
         nDO0lebueVx5W6x0Lg4X5hQhK4jO5n83P3de0ujR0EC56Vtih/xFI1rDYc7y5otHcd1y
         YAPg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760812942; x=1761417742;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=8ls+vfDDYAb3trkQktp5qEQNxIKlGkV+iNV6gd+q2Fk=;
        b=S7W6hjSOhT/Oysse0d9aeMsGurmuuQNr8dxcDZ6ynxw1nM38593H2xVSrHtVk2rp8R
         F9X2NL52bBHD1l+1qn7xZZ/bkT2DFTcZpvatQbnWEYTBe7rBpbaUcH9gbJQaTvn0oSG5
         Ir5RCni21wLVYfsFJFuACfOlAmoWK0ql3HSUrRotSN8se2XnDiN6G0pH2Nxd/IAcSDCa
         NJcwEErIwjJ3AXv78wbBhg19kA7puErrQBea3XhKYEWSJJfY1mXgi7kkvaM6TBON67tP
         llVPnI1iAKSjKvhrBCHk0eT6frJEyeVqMRgUlEG/vjuJOX3YrNq4jEplc/FpwRaQw8vp
         9HLQ==
X-Gm-Message-State: AOJu0YynmunvhXrpH5S4HDs1eHdgbcArdeTpNSMBVGmuyE/xStZOuhpn
	dHFUsVpNDLns7ghE1S8YGQqjwZJBZQpcTvB8SwO1ANlwOtryS6E/Vu6KOC7147ROUFevK6C1udz
	mHlqkj7RI3U9xiK0PSvDXaFuLxBCxRaFkuMUfR1A=
X-Gm-Gg: ASbGncuM/MEJKr38pDPYoj22age/K7+YhqlnYlThsdgztJWFHn+UEjqch9XEfv0i9M5
	838qHuhCzat2DBrrr/GZiy7PZorf6uPC0rda9+BxJEb6VeR2c1Gv9vGkS/wuHor47kD+yCwJeMg
	3XwaufCKivHUgQ6eb3N6WWfRnxus/lDlmZPVSp0XssMSSdmLl6xOBbNXY1rTRNltnYJtpjqdzsz
	ThPdLnO1epVnLCMiL1TG/mp2Qu7vGrF8FwZGN0z+l+zwSfdAKnOE4ZcqInE
X-Google-Smtp-Source: AGHT+IFr3m6lSy3VNeAPDHbfx6gMgzACo3yU4PLYUHgwDeuN1jOD1zud52LkkZwDV3Hvx1o43INnmTYEDCgkOob8wQQ=
X-Received: by 2002:a05:690e:1553:10b0:63e:14b1:4811 with SMTP id
 956f58d0204a3-63e1617644fmr5819633d50.11.1760812941868; Sat, 18 Oct 2025
 11:42:21 -0700 (PDT)
MIME-Version: 1.0
References: <bdead1be-cd8f-4cca-ae70-e9744ae8b556@citrix.com> <CAHt6W4dFp_No7O+gLsM1a=xL4fGKbzwN2hP24rV2TtAkDO6kCw@mail.gmail.com>
In-Reply-To: <CAHt6W4dFp_No7O+gLsM1a=xL4fGKbzwN2hP24rV2TtAkDO6kCw@mail.gmail.com>
From: Frediano Ziglio <freddy77@gmail.com>
Date: Sat, 18 Oct 2025 19:42:10 +0100
X-Gm-Features: AS18NWBphTCCiyl4iYJ6fTGVXDfcY0AfB5nJar9nzIWweeyrX1b0IZPeQVdZ6-U
Message-ID: <CAHt6W4cxerWW3eTM1Kr+g67aqWyUTGYy4N=VCk-9UhRvkYregA@mail.gmail.com>
Subject: Re: lost serial characters on boot
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>, Jan Beulich <jbeulich@suse.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Denis Mukhin <dmkhn@proton.me>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Sat, Oct 18, 2025 at 10:35=E2=80=AFAM Frediano Ziglio <freddy77@gmail.co=
m> wrote:
>
> On Fri, 17 Oct 2025, 18:16 Andrew Cooper, <andrew.cooper3@citrix.com> wro=
te:
>>
>> Hi,
>>
>> I think we've got a bug with the serial console.  I'm reliably loosing a
>> small part of the boot message. e.g.:
>>
>> (XEN) Latest ChangeSet: Fri Oct 17 17:24:59 2025 git:5e79cfcd2100
>> (XEN) build-id: d1536ff6698b3e3ba307d551abf
>>  Family 25 (0x19 Stepping 1 (raw 00a00f11)
>> (XEN) BSP microcode revision: 0x0a001137
>>
>> whereas from xl dmesg after the system boots, we see things correctly:
>>
>> (XEN) Latest ChangeSet: Fri Oct 17 17:24:59 2025 git:5e79cfcd2100
>> (XEN) build-id: d1536ff6698b3b8968e883fc39e3ba307d551abf
>> (XEN) CPU Vendor: AMD, Family 25 (0x19), Model 1 (0x1), Stepping 1 (raw
>> 00a00f11)
>> (XEN) BSP microcode revision: 0x0a001137
>>
>>
>> The lost bit of text differs even when rebooting the same Xen binary,
>> but it's always around this area, very early on boot.
>>
>> I've been seeing this for a little while, but one of my common dev
>> machines is showing it fairly reliably at the moment.
>>
>> Checking a transcript of the terminal, we're missing characters, rather
>> than having additional control characters causing the corruption.
>>
>> I suppose I need to stare at console_init_preirq() some more, but if
>> anyone has ideas, I'm all ears.
>>
>> ~Andrew
>
> Hi,
>    I would guess the code for early boot is different and is not waiting =
correctly if the serial is able to accept new characters so the hardware bu=
ffer is overwritten.
>

Or we manage to reach some code like:

        if ( port->tx_quench )
        {
            /* Buffer filled and we are dropping characters. */
            if ( (port->txbufp - port->txbufc) > (serial_txbufsz / 2) )
                return;
            port->tx_quench =3D 0;
        }

(__serial_putc)

Frediano


From xen-devel-bounces@lists.xenproject.org Sun Oct 19 00:43:02 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 19 Oct 2025 00:43:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1145751.1478444 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAHUz-0007ro-Ec; Sun, 19 Oct 2025 00:42:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1145751.1478444; Sun, 19 Oct 2025 00:42:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAHUz-0007rg-9C; Sun, 19 Oct 2025 00:42:13 +0000
Received: by outflank-mailman (input) for mailman id 1145751;
 Sun, 19 Oct 2025 00:42:11 +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
 <SRS0=2urB=44=gmail.com=demiobenour@srs-se1.protection.inumbo.net>)
 id 1vAHUw-0007ra-W4
 for xen-devel@lists.xenproject.org; Sun, 19 Oct 2025 00:42:11 +0000
Received: from mail-yw1-x1134.google.com (mail-yw1-x1134.google.com
 [2607:f8b0:4864:20::1134])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7114302a-ac84-11f0-980a-7dc792cee155;
 Sun, 19 Oct 2025 02:42:08 +0200 (CEST)
Received: by mail-yw1-x1134.google.com with SMTP id
 00721157ae682-7817c2d909cso35160707b3.1
 for <xen-devel@lists.xenproject.org>; Sat, 18 Oct 2025 17:42:08 -0700 (PDT)
Received: from [10.138.34.110]
 (h96-60-249-169.cncrtn.broadband.dynamic.tds.net. [96.60.249.169])
 by smtp.gmail.com with ESMTPSA id
 00721157ae682-7846a6cdc14sm10414107b3.63.2025.10.18.17.42.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sat, 18 Oct 2025 17:42:06 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7114302a-ac84-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760834527; x=1761439327; darn=lists.xenproject.org;
        h=in-reply-to:autocrypt:from:content-language:subject:references:cc
         :to:user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=S8duc+cWDN1/ElvlGD2v+WLKlO3YpQZeX9MsX9Ne+tg=;
        b=lc4CNYqWI9AgfXyTZmJJxxrWls/23eoU00jf8RXfSvj3h4C5vPxwunke9fNdtNqkrJ
         NGHXni/a26XSAFFU0mF2ZL3MyfGiCnk3bJ+QRAZ1k1gAtfxDUktnPsbX2KkIPwY87RAZ
         akSQa+oC+lp3z09LmAWH5rqR7LVO8yTobzfORoQp0ahiSAxCg9fT4jMaBx+QZjqKOaKS
         TGvreBNxtr+/SUBmd6lLyExssuIgG4ZlZYIbMBmGlTdHpmyiPGjDrA+earTIVLY0TrOq
         hk1O6S/PzEakqRJ2jWheEcvxqhFMO0JyfUyhXFw7QwhzlQjpK7pXhkp3Cfr/maMZW5MG
         jP4g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760834527; x=1761439327;
        h=in-reply-to:autocrypt:from:content-language:subject:references:cc
         :to:user-agent:mime-version:date:message-id:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=S8duc+cWDN1/ElvlGD2v+WLKlO3YpQZeX9MsX9Ne+tg=;
        b=kDzj9Nr1DYDevCgOgGuAfjqi/qBPqHTkHTarUqIDkcVrpwd4efn2IAmO9ZQ0shlV/8
         Ut3D8kZRXOhpGMdRHJRhKDXWVbTCAAVRowhaCThXzotz7kJo1hRaYyHbznJuxu0aw0BD
         l+dldfGLSDDaUIE9ZN9BL9zo/uN4CzY4K+b3rKjCM0l7KFFRa9LXAk2tQC89nG/FTPOY
         dn+DXhL6ZtHIAJILDvB1QfFax3OQTSeRwWSfz7nIlHnmJnW9qJHKA9b1kI3MJca5RNRH
         JWx1DXs0PvStGfTqb8kEsIo2OwU1X1DcBOwa3y3bD3JvqCI+r0y3dAtUzkR+Kw5SogBw
         1Y1w==
X-Forwarded-Encrypted: i=1; AJvYcCU73s9a/9F+4IkRLVSJhpuq+kt9XGiWtvOniDiZYLatgXY8LnmirFp0pjJe2A5XYVv7MpiMQWCpc7I=@lists.xenproject.org
X-Gm-Message-State: AOJu0YybPSONiu3foz1+WhI2bn4P6EbRn57l6uwUW9p3mJvLnYKXiXWX
	h9zo/oUu6pX8hwMkQGe6aVCA8LWTQ8euSRdgMsNrX8kfPTuv2BxGvw9k
X-Gm-Gg: ASbGncsI/c4Vmjd05ojXfA3WLP+HGF2VizT0Mp0qfL2i5MZWZ2X+FOi4iHURX1wZRHN
	QdQCOJoXd4WAJMWB2mmN+ECS0n1PDP+4jYsIRnpCSRJ43uhXq1n2vRq1wyRgPHUvWe7BYsRYmhS
	+sriQKipn8enS/52LvWOjFSCKYIcbwcRgEvCY26oTaBv4bpIPokaqKHWqtdm4Lm1vcS4J66OEXy
	hfE7wCepc38D5H7f2ses8ABIvs0J4kmcIwCoVd0OfzGISDGdFq3ufQl5z6XcPeiu7xQBDsPgyua
	X2RqPcgp71toG7PM7KWZZM7aBPx5mT2swZnFkn03nZOK2cR4Sglcs1JtzWY4gZE3hGMiJI4lSga
	FiZTt+Dhk1r4lXWznzaKkgidHI95yh/XpUUxy/2HUdTa6W+ys4pPVpFN7Y9WCj3+NnJd/RhBI9D
	cRfruoXZ3+MBCjY4uvPE6gU/++8NyL4cIfpq6LS2Z2Z8uQrcl+0kxbkyUk52zo7KMfw/X+1FkWP
	zUp7jDEGYifFnRxoIm7Q+yrBFE=
X-Google-Smtp-Source: AGHT+IHVzMzW4ntcY5RtD1izruWfUjj9dfa/esLHe0znaWdZnVHY1DGiC+HdFk+IdXYw9BuNhDlrUg==
X-Received: by 2002:a05:690c:d91:b0:770:bb4:860b with SMTP id 00721157ae682-7836d168608mr136701427b3.11.1760834527546;
        Sat, 18 Oct 2025 17:42:07 -0700 (PDT)
Message-ID: <1dc70410-310a-4a00-8c47-0eebdb023267@gmail.com>
Date: Sat, 18 Oct 2025 20:42:02 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
To: val@invisiblethingslab.com
Cc: jgross@suse.com, linux-kernel@vger.kernel.org,
 oleksandr_tyshchenko@epam.com, sstabellini@kernel.org,
 xen-devel@lists.xenproject.org
References: <20251015195713.6500-1-val@invisiblethingslab.com>
Subject: Re: [RFC PATCH] xen: privcmd: fix ioeventfd/ioreq crashing PV domain
Content-Language: en-US
From: Demi Marie Obenour <demiobenour@gmail.com>
Autocrypt: addr=demiobenour@gmail.com; keydata=
 xsFNBFp+A0oBEADffj6anl9/BHhUSxGTICeVl2tob7hPDdhHNgPR4C8xlYt5q49yB+l2nipd
 aq+4Gk6FZfqC825TKl7eRpUjMriwle4r3R0ydSIGcy4M6eb0IcxmuPYfbWpr/si88QKgyGSV
 Z7GeNW1UnzTdhYHuFlk8dBSmB1fzhEYEk0RcJqg4AKoq6/3/UorR+FaSuVwT7rqzGrTlscnT
 DlPWgRzrQ3jssesI7sZLm82E3pJSgaUoCdCOlL7MMPCJwI8JpPlBedRpe9tfVyfu3euTPLPx
 wcV3L/cfWPGSL4PofBtB8NUU6QwYiQ9Hzx4xOyn67zW73/G0Q2vPPRst8LBDqlxLjbtx/WLR
 6h3nBc3eyuZ+q62HS1pJ5EvUT1vjyJ1ySrqtUXWQ4XlZyoEFUfpJxJoN0A9HCxmHGVckzTRl
 5FMWo8TCniHynNXsBtDQbabt7aNEOaAJdE7to0AH3T/Bvwzcp0ZJtBk0EM6YeMLtotUut7h2
 Bkg1b//r6bTBswMBXVJ5H44Qf0+eKeUg7whSC9qpYOzzrm7+0r9F5u3qF8ZTx55TJc2g656C
 9a1P1MYVysLvkLvS4H+crmxA/i08Tc1h+x9RRvqba4lSzZ6/Tmt60DPM5Sc4R0nSm9BBff0N
 m0bSNRS8InXdO1Aq3362QKX2NOwcL5YaStwODNyZUqF7izjK4QARAQABzTxEZW1pIE1hcmll
 IE9iZW5vdXIgKGxvdmVyIG9mIGNvZGluZykgPGRlbWlvYmVub3VyQGdtYWlsLmNvbT7CwXgE
 EwECACIFAlp+A0oCGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJELKItV//nCLBhr8Q
 AK/xrb4wyi71xII2hkFBpT59ObLN+32FQT7R3lbZRjVFjc6yMUjOb1H/hJVxx+yo5gsSj5LS
 9AwggioUSrcUKldfA/PKKai2mzTlUDxTcF3vKx6iMXKA6AqwAw4B57ZEJoMM6egm57TV19kz
 PMc879NV2nc6+elaKl+/kbVeD3qvBuEwsTe2Do3HAAdrfUG/j9erwIk6gha/Hp9yZlCnPTX+
 VK+xifQqt8RtMqS5R/S8z0msJMI/ajNU03kFjOpqrYziv6OZLJ5cuKb3bZU5aoaRQRDzkFIR
 6aqtFLTohTo20QywXwRa39uFaOT/0YMpNyel0kdOszFOykTEGI2u+kja35g9TkH90kkBTG+a
 EWttIht0Hy6YFmwjcAxisSakBuHnHuMSOiyRQLu43ej2+mDWgItLZ48Mu0C3IG1seeQDjEYP
 tqvyZ6bGkf2Vj+L6wLoLLIhRZxQOedqArIk/Sb2SzQYuxN44IDRt+3ZcDqsPppoKcxSyd1Ny
 2tpvjYJXlfKmOYLhTWs8nwlAlSHX/c/jz/ywwf7eSvGknToo1Y0VpRtoxMaKW1nvH0OeCSVJ
 itfRP7YbiRVc2aNqWPCSgtqHAuVraBRbAFLKh9d2rKFB3BmynTUpc1BQLJP8+D5oNyb8Ts4x
 Xd3iV/uD8JLGJfYZIR7oGWFLP4uZ3tkneDfYzsFNBFp+A0oBEAC9ynZI9LU+uJkMeEJeJyQ/
 8VFkCJQPQZEsIGzOTlPnwvVna0AS86n2Z+rK7R/usYs5iJCZ55/JISWd8xD57ue0eB47bcJv
 VqGlObI2DEG8TwaW0O0duRhDgzMEL4t1KdRAepIESBEA/iPpI4gfUbVEIEQuqdqQyO4GAe+M
 kD0Hy5JH/0qgFmbaSegNTdQg5iqYjRZ3ttiswalql1/iSyv1WYeC1OAs+2BLOAT2NEggSiVO
 txEfgewsQtCWi8H1SoirakIfo45Hz0tk/Ad9ZWh2PvOGt97Ka85o4TLJxgJJqGEnqcFUZnJJ
 riwoaRIS8N2C8/nEM53jb1sH0gYddMU3QxY7dYNLIUrRKQeNkF30dK7V6JRH7pleRlf+wQcN
 fRAIUrNlatj9TxwivQrKnC9aIFFHEy/0mAgtrQShcMRmMgVlRoOA5B8RTulRLCmkafvwuhs6
 dCxN0GNAORIVVFxjx9Vn7OqYPgwiofZ6SbEl0hgPyWBQvE85klFLZLoj7p+joDY1XNQztmfA
 rnJ9x+YV4igjWImINAZSlmEcYtd+xy3Li/8oeYDAqrsnrOjb+WvGhCykJk4urBog2LNtcyCj
 kTs7F+WeXGUo0NDhbd3Z6AyFfqeF7uJ3D5hlpX2nI9no/ugPrrTVoVZAgrrnNz0iZG2DVx46
 x913pVKHl5mlYQARAQABwsFfBBgBAgAJBQJafgNKAhsMAAoJELKItV//nCLBwNIP/AiIHE8b
 oIqReFQyaMzxq6lE4YZCZNj65B/nkDOvodSiwfwjjVVE2V3iEzxMHbgyTCGA67+Bo/d5aQGj
 gn0TPtsGzelyQHipaUzEyrsceUGWYoKXYyVWKEfyh0cDfnd9diAm3VeNqchtcMpoehETH8fr
 RHnJdBcjf112PzQSdKC6kqU0Q196c4Vp5HDOQfNiDnTf7gZSj0BraHOByy9LEDCLhQiCmr+2
 E0rW4tBtDAn2HkT9uf32ZGqJCn1O+2uVfFhGu6vPE5qkqrbSE8TG+03H8ecU2q50zgHWPdHM
 OBvy3EhzfAh2VmOSTcRK+tSUe/u3wdLRDPwv/DTzGI36Kgky9MsDC5gpIwNbOJP2G/q1wT1o
 Gkw4IXfWv2ufWiXqJ+k7HEi2N1sree7Dy9KBCqb+ca1vFhYPDJfhP75I/VnzHVssZ/rYZ9+5
 1yDoUABoNdJNSGUYl+Yh9Pw9pE3Kt4EFzUlFZWbE4xKL/NPno+z4J9aWemLLszcYz/u3XnbO
 vUSQHSrmfOzX3cV4yfmjM5lewgSstoxGyTx2M8enslgdXhPthZlDnTnOT+C+OTsh8+m5tos8
 HQjaPM01MKBiAqdPgksm1wu2DrrwUi6ChRVTUBcj6+/9IJ81H2P2gJk3Ls3AVIxIffLoY34E
 +MYSfkEjBz0E8CLOcAw7JIwAaeBT
In-Reply-To: <20251015195713.6500-1-val@invisiblethingslab.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------quNxPaB9CAuxhoxkkYvxxQpU"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------quNxPaB9CAuxhoxkkYvxxQpU
Content-Type: multipart/mixed; boundary="------------n0xgZe3LVgFupR9Oe5ssaXsO";
 protected-headers="v1"
From: Demi Marie Obenour <demiobenour@gmail.com>
To: val@invisiblethingslab.com
Cc: jgross@suse.com, linux-kernel@vger.kernel.org,
 oleksandr_tyshchenko@epam.com, sstabellini@kernel.org,
 xen-devel@lists.xenproject.org
Message-ID: <1dc70410-310a-4a00-8c47-0eebdb023267@gmail.com>
Subject: Re: [RFC PATCH] xen: privcmd: fix ioeventfd/ioreq crashing PV domain
References: <20251015195713.6500-1-val@invisiblethingslab.com>
In-Reply-To: <20251015195713.6500-1-val@invisiblethingslab.com>
Autocrypt-Gossip: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==

--------------n0xgZe3LVgFupR9Oe5ssaXsO
Content-Type: multipart/mixed; boundary="------------k9JfLHwSkrqygCithmZ6ZVZV"

--------------k9JfLHwSkrqygCithmZ6ZVZV
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

I'm pretty sure Xen doesn't support ioeventfd at all yet.  There are
two options:

1. Port the backend to use an ioreq server instead of ioeventfd.
2. Modify Linux (and possibly Xen) to support ioeventfd.

Which virtio device are you trying to implement?  virtio-GPU will need
a lot of additional work and it would probably be best to discuss
this privately (over a call or similar).  Others are likely to be
significantly easier.
--=20
Sincerely,
Demi Marie Obenour (she/her/hers)

--------------k9JfLHwSkrqygCithmZ6ZVZV
Content-Type: application/pgp-keys; name="OpenPGP_0xB288B55FFF9C22C1.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB288B55FFF9C22C1.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsFNBFp+A0oBEADffj6anl9/BHhUSxGTICeVl2tob7hPDdhHNgPR4C8xlYt5q49y
B+l2nipdaq+4Gk6FZfqC825TKl7eRpUjMriwle4r3R0ydSIGcy4M6eb0IcxmuPYf
bWpr/si88QKgyGSVZ7GeNW1UnzTdhYHuFlk8dBSmB1fzhEYEk0RcJqg4AKoq6/3/
UorR+FaSuVwT7rqzGrTlscnTDlPWgRzrQ3jssesI7sZLm82E3pJSgaUoCdCOlL7M
MPCJwI8JpPlBedRpe9tfVyfu3euTPLPxwcV3L/cfWPGSL4PofBtB8NUU6QwYiQ9H
zx4xOyn67zW73/G0Q2vPPRst8LBDqlxLjbtx/WLR6h3nBc3eyuZ+q62HS1pJ5EvU
T1vjyJ1ySrqtUXWQ4XlZyoEFUfpJxJoN0A9HCxmHGVckzTRl5FMWo8TCniHynNXs
BtDQbabt7aNEOaAJdE7to0AH3T/Bvwzcp0ZJtBk0EM6YeMLtotUut7h2Bkg1b//r
6bTBswMBXVJ5H44Qf0+eKeUg7whSC9qpYOzzrm7+0r9F5u3qF8ZTx55TJc2g656C
9a1P1MYVysLvkLvS4H+crmxA/i08Tc1h+x9RRvqba4lSzZ6/Tmt60DPM5Sc4R0nS
m9BBff0Nm0bSNRS8InXdO1Aq3362QKX2NOwcL5YaStwODNyZUqF7izjK4QARAQAB
zTxEZW1pIE9iZW5vdXIgKElUTCBFbWFpbCBLZXkpIDxhdGhlbmFAaW52aXNpYmxl
dGhpbmdzbGFiLmNvbT7CwY4EEwEIADgWIQR2h02fEza6IlkHHHGyiLVf/5wiwQUC
X6YJvQIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgAAKCRCyiLVf/5wiwWRhD/0Y
R+YYC5Kduv/2LBgQJIygMsFiRHbR4+tWXuTFqgrxxFSlMktZ6gQrQCWe38WnOXkB
oY6n/5lSJdfnuGd2UagZ/9dkaGMUkqt+5WshLFly4BnP7pSsWReKgMP7etRTwn3S
zk1OwFx2lzY1EnnconPLfPBc6rWG2moA6l0WX+3WNR1B1ndqpl2hPSjT2jUCBWDV
rGOUSX7r5f1WgtBeNYnEXPBCUUM51pFGESmfHIXQrqFDA7nBNiIVFDJTmQzuEqIy
Jl67pKNgooij5mKzRhFKHfjLRAH4mmWZlB9UjDStAfFBAoDFHwd1HL5VQCNQdqEc
/9lZDApqWuCPadZN+pGouqLysesIYsNxUhJ7dtWOWHl0vs7/3qkWmWun/2uOJMQh
ra2u8nA9g91FbOobWqjrDd6x3ZJoGQf4zLqjmn/P514gb697788e573WN/MpQ5XI
Fl7aM2d6/GJiq6LC9T2gSUW4rbPBiqOCeiUx7Kd/sVm41p9TOA7fEG4bYddCfDsN
xaQJH6VRK3NOuBUGeL+iQEVF5Xs6Yp+U+jwvv2M5Lel3EqAYo5xXTx4ls0xaxDCu
fudcAh8CMMqx3fguSb7Mi31WlnZpk0fDuWQVNKyDP7lYpwc4nCCGNKCj622ZSocH
AcQmX28L8pJdLYacv9pU3jPy4fHcQYvmTavTqowGnM08RGVtaSBNYXJpZSBPYmVu
b3VyIChsb3ZlciBvZiBjb2RpbmcpIDxkZW1pb2Jlbm91ckBnbWFpbC5jb20+wsF4
BBMBAgAiBQJafgNKAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRCyiLVf
/5wiwYa/EACv8a2+MMou9cSCNoZBQaU+fTmyzft9hUE+0d5W2UY1RY3OsjFIzm9R
/4SVccfsqOYLEo+S0vQMIIIqFEq3FCpXXwPzyimotps05VA8U3Bd7yseojFygOgK
sAMOAee2RCaDDOnoJue01dfZMzzHPO/TVdp3OvnpWipfv5G1Xg96rwbhMLE3tg6N
xwAHa31Bv4/Xq8CJOoIWvx6fcmZQpz01/lSvsYn0KrfEbTKkuUf0vM9JrCTCP2oz
VNN5BYzqaq2M4r+jmSyeXLim922VOWqGkUEQ85BSEemqrRS06IU6NtEMsF8EWt/b
hWjk/9GDKTcnpdJHTrMxTspExBiNrvpI2t+YPU5B/dJJAUxvmhFrbSIbdB8umBZs
I3AMYrEmpAbh5x7jEjoskUC7uN3o9vpg1oCLS2ePDLtAtyBtbHnkA4xGD7ar8mem
xpH9lY/i+sC6CyyIUWcUDnnagKyJP0m9ks0GLsTeOCA0bft2XA6rD6aaCnMUsndT
ctrab42CV5XypjmC4U1rPJ8JQJUh1/3P48/8sMH+3krxpJ06KNWNFaUbaMTGiltZ
7x9DngklSYrX0T+2G4kVXNmjaljwkoLahwLla2gUWwBSyofXdqyhQdwZsp01KXNQ
UCyT/Pg+aDcm/E7OMV3d4lf7g/CSxiX2GSEe6BlhSz+Lmd7ZJ3g32M1ARGVtaSBN
YXJpZSBPYmVub3VyIChJVEwgRW1haWwgS2V5KSA8ZGVtaUBpbnZpc2libGV0aGlu
Z3NsYWIuY29tPsLBjgQTAQgAOBYhBHaHTZ8TNroiWQcccbKItV//nCLBBQJgOEV+
AhsDBQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJELKItV//nCLBKwoP/1WSnFdv
SAD0g7fD0WlF+oi7ISFT7oqJnchFLOwVHK4Jg0e4hGn1ekWsF3Ha5tFLh4V/7UUu
obYJpTfBAA2CckspYBqLtKGjFxcaqjjpO1I2W/jeNELVtSYuCOZICjdNGw2Hl9yH
KRZiBkqc9u8lQcHDZKq4LIpVJj6ZQV/nxttDX90ax2No1nLLQXFbr5wb465LAPpU
lXwunYDij7xJGye+VUASQh9datye6orZYuJvNo8Tr3mAQxxkfR46LzWgxFCPEAZJ
5P56Nc0IMHdJZj0Uc9+1jxERhOGppp5jlLgYGK7faGB/jTV6LaRQ4Ad+xiqokDWp
mUOZsmA+bMbtPfYjDZBz5mlyHcIRKIFpE1l3Y8F7PhJuzzMUKkJi90CYakCV4x/a
Zs4pzk5E96c2VQx01RIEJ7fzHF7lwFdtfTS4YsLtAbQFsKayqwkGcVv2B1AHeqdo
TMX+cgDvjd1ZganGlWA8Sv9RkNSMchn1hMuTwERTyFTr2dKPnQdA1F480+jUap41
ClXgn227WkCIMrNhQGNyJsnwyzi5wS8rBVRQ3BOTMyvGM07j3axUOYaejEpg7wKi
wTPZGLGH1sz5GljD/916v5+v2xLbOo5606j9dWf5/tAhbPuqrQgWv41wuKDi+dDD
EKkODF7DHes8No+QcHTDyETMn1RYm7t0RKR4zsFNBFp+A0oBEAC9ynZI9LU+uJkM
eEJeJyQ/8VFkCJQPQZEsIGzOTlPnwvVna0AS86n2Z+rK7R/usYs5iJCZ55/JISWd
8xD57ue0eB47bcJvVqGlObI2DEG8TwaW0O0duRhDgzMEL4t1KdRAepIESBEA/iPp
I4gfUbVEIEQuqdqQyO4GAe+MkD0Hy5JH/0qgFmbaSegNTdQg5iqYjRZ3ttiswalq
l1/iSyv1WYeC1OAs+2BLOAT2NEggSiVOtxEfgewsQtCWi8H1SoirakIfo45Hz0tk
/Ad9ZWh2PvOGt97Ka85o4TLJxgJJqGEnqcFUZnJJriwoaRIS8N2C8/nEM53jb1sH
0gYddMU3QxY7dYNLIUrRKQeNkF30dK7V6JRH7pleRlf+wQcNfRAIUrNlatj9Txwi
vQrKnC9aIFFHEy/0mAgtrQShcMRmMgVlRoOA5B8RTulRLCmkafvwuhs6dCxN0GNA
ORIVVFxjx9Vn7OqYPgwiofZ6SbEl0hgPyWBQvE85klFLZLoj7p+joDY1XNQztmfA
rnJ9x+YV4igjWImINAZSlmEcYtd+xy3Li/8oeYDAqrsnrOjb+WvGhCykJk4urBog
2LNtcyCjkTs7F+WeXGUo0NDhbd3Z6AyFfqeF7uJ3D5hlpX2nI9no/ugPrrTVoVZA
grrnNz0iZG2DVx46x913pVKHl5mlYQARAQABwsFfBBgBAgAJBQJafgNKAhsMAAoJ
ELKItV//nCLBwNIP/AiIHE8boIqReFQyaMzxq6lE4YZCZNj65B/nkDOvodSiwfwj
jVVE2V3iEzxMHbgyTCGA67+Bo/d5aQGjgn0TPtsGzelyQHipaUzEyrsceUGWYoKX
YyVWKEfyh0cDfnd9diAm3VeNqchtcMpoehETH8frRHnJdBcjf112PzQSdKC6kqU0
Q196c4Vp5HDOQfNiDnTf7gZSj0BraHOByy9LEDCLhQiCmr+2E0rW4tBtDAn2HkT9
uf32ZGqJCn1O+2uVfFhGu6vPE5qkqrbSE8TG+03H8ecU2q50zgHWPdHMOBvy3Ehz
fAh2VmOSTcRK+tSUe/u3wdLRDPwv/DTzGI36Kgky9MsDC5gpIwNbOJP2G/q1wT1o
Gkw4IXfWv2ufWiXqJ+k7HEi2N1sree7Dy9KBCqb+ca1vFhYPDJfhP75I/VnzHVss
Z/rYZ9+51yDoUABoNdJNSGUYl+Yh9Pw9pE3Kt4EFzUlFZWbE4xKL/NPno+z4J9aW
emLLszcYz/u3XnbOvUSQHSrmfOzX3cV4yfmjM5lewgSstoxGyTx2M8enslgdXhPt
hZlDnTnOT+C+OTsh8+m5tos8HQjaPM01MKBiAqdPgksm1wu2DrrwUi6ChRVTUBcj
6+/9IJ81H2P2gJk3Ls3AVIxIffLoY34E+MYSfkEjBz0E8CLOcAw7JIwAaeBTzsFN
BGbyLVgBEACqClxh50hmBepTSVlan6EBq3OAoxhrAhWZYEwN78k+ENhK68KhqC5R
IsHzlL7QHW1gmfVBQZ63GnWiraM6wOJqFTL4ZWvRslga9u28FJ5XyK860mZLgYhK
9BzoUk4s+dat9jVUbq6LpQ1Ot5I9vrdzo2p1jtQ8h9WCIiFxSYy8s8pZ3hHh5T64
GIj1m/kY7lG3VIdUgoNiREGf/iOMjUFjwwE9ZoJ26j9p7p1U+TkKeF6wgswEB1T3
J8KCAtvmRtqJDq558IU5jhg5fgN+xHB8cgvUWulgK9FIF9oFxcuxtaf/juhHWKMO
RtL0bHfNdXoBdpUDZE+mLBUAxF6KSsRrvx6AQyJs7VjgXJDtQVWvH0PUmTrEswgb
49nNU+dLLZQAZagxqnZ9Dp5l6GqaGZCHERJcLmdY/EmMzSf5YazJ6c0vO8rdW27M
kn73qcWAplQn5mOXaqbfzWkAUPyUXppuRHfrjxTDz3GyJJVOeMmMrTxH4uCaGpOX
Z8tN6829J1roGw4oKDRUQsaBAeEDqizXMPRc+6U9vI5FXzbAsb+8lKW65G7JWHym
YPOGUt2hK4DdTA1PmVo0DxH00eWWeKxqvmGyX+Dhcg+5e191rPsMRGsDlH6KihI6
+3JIuc0y6ngdjcp6aalbuvPIGFrCRx3tnRtNc7He6cBWQoH9RPwluwARAQABwsOs
BBgBCgAgFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmbyLVgCGwICQAkQsoi1X/+c
IsHBdCAEGQEKAB0WIQSilC2pUlbVp66j3+yzNoc6synyUwUCZvItWAAKCRCzNoc6
synyU85gD/0T1QDtPhovkGwoqv4jUbEMMvpeYQf+oWgm/TjWPeLwdjl7AtY0G9Ml
ZoyGniYkoHi37Gnn/ShLT3B5vtyI58ap2+SSa8SnGftdAKRLiWFWCiAEklm9FRk8
N3hwxhmSFF1KR/AIDS4g+HIsZn7YEMubBSgLlZZ9zHl4O4vwuXlREBEW97iL/FSt
VownU2V39t7PtFvGZNk+DJH7eLO3jmNRYB0PL4JOyyda3NH/J92iwrFmjFWWmmWb
/Xz8l9DIs+Z59pRCVTTwbBEZhcUc7rVMCcIYL+q1WxBG2e6lMn15OQJ5WfiE6E0I
sGirAEDnXWx92JNGx5l+mMpdpsWhBZ5iGTtttZesibNkQfd48/eCgFi4cxJUC4PT
UQwfD9AMgzwSTGJrkI5XGy+XqxwOjL8UA0iIrtTpMh49zw46uV6kwFQCgkf32jZM
OLwLTNSzclbnA7GRd8tKwezQ/XqeK3dal2n+cOr+o+Eka7yGmGWNUqFbIe8cjj9T
JeF3mgOCmZOwMI+wIcQYRSf+e5VTMO6TNWH5BI3vqeHSt7HkYuPlHT0pGum88d4a
pWqhulH4rUhEMtirX1hYx8Q4HlUOQqLtxzmwOYWkhl1C+yPObAvUDNiHCLf9w28n
uihgEkzHt9J4VKYulyJM9fe3ENcyU6rpXD7iANQqcr87ogKXFxknZ97uEACvSucc
RbnnAgRqZ7GDzgoBerJ2zrmhLkeREZ08iz1zze1JgyW3HEwdr2UbyAuqvSADCSUU
GN0vtQHsPzWl8onRc7lOPqPDF8OO+UfN9NAfA4wl3QyChD1GXl9rwKQOkbvdlYFV
UFx9u86LNi4ssTmU8p9NtHIGpz1SYMVYNoYy9NU7EVqypGMguDCL7gJt6GUmA0sw
p+YCroXiwL2BJ7RwRqTpgQuFL1gShkA17D5jK4mDPEetq1d8kz9rQYvAR/sTKBsR
ImC3xSfn8zpWoNTTB6lnwyP5Ng1bu6esS7+SpYprFTe7ZqGZF6xhvBPf1Ldi9UAm
U2xPN1/eeWxEa2kusidmFKPmN8lcT4miiAvwGxEnY7Oww9CgZlUB+LP4dl5VPjEt
sFeAhrgxLdpVTjPRRwTd9VQF3/XYl83j5wySIQKIPXgT3sG3ngAhDhC8I8GpM36r
8WJJ3x2yVzyJUbBPO0GBhWE2xPNIfhxVoU4cGGhpFqz7dPKSTRDGq++MrFgKKGpI
ZwT3CPTSSKc7ySndEXWkOYArDIdtyxdE1p5/c3aoz4utzUU7NDHQ+vVIwlnZSMiZ
jek2IJP3SZ+COOIHCVxpUaZ4lnzWT4eDqABhMLpIzw6NmGfg+kLBJhouqz81WITr
EtJuZYM5blWncBOJCoWMnBEcTEo/viU3GgcVRw=3D=3D
=3Dx94R
-----END PGP PUBLIC KEY BLOCK-----

--------------k9JfLHwSkrqygCithmZ6ZVZV--

--------------n0xgZe3LVgFupR9Oe5ssaXsO--

--------------quNxPaB9CAuxhoxkkYvxxQpU
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEopQtqVJW1aeuo9/sszaHOrMp8lMFAmj0M9sACgkQszaHOrMp
8lOKbw/+NxjKfDApktJj8jyfyzcA+8wy0nBNjeD4Rycpl4Mj2laMrLWU/STefTyf
kHul7Q41/AVTCPzq/FUdjincEdpIUXqLwE/RSG44NeQ3CNXqbEj8CRAIWxASMOLG
V5BH1S/kU37XTAFnov++qPc4m8klqg6j3bc+KWR+RifyneFqzcziOxTPxFV5uVWx
u6u3YsV6B/FDRp/xkfvfPWvixLWnXrInU1RqKDS0szT3NAai2oJib7URyV5hycZi
1lvrnyIOFwix9EOR4C+N4frF2YrMOTy5Gk3m/P+6lD42A0GJSDPMaGprTSPB4fyP
oPEdedpUSreYmHetnoEw1cJ6zHI0vLZBDntGsyGvsk2IaNplD5MFJtlAj5xuena9
MmnY+7V40x6DEl2FB5G/2EWg2v21WfdtD3cH5HKkhNeJb0V+h2bvf1VsaY5vIRY0
aD3xmhNyAUWArJttkbuVpGVMd4BaDZhUxPE5ocz3pzGJvGu4kL0vH94bcvtbV/ki
0ZTZdegQkSlvE1XqclnplsV+922k39J7YCrFsTrKQUjWpQeCuaTB1Md1a3RO3s7V
MXwRuDQIx9nZldODIeCEOOp9C0gzSo/Rk99LhiApX1NtHt3RqBVxUpUKcGcIbw3z
42XIcduj/7TMXPROA+2vWPmSDAgNuFdg7gh4IYoKXVRzm64zjtY=
=DeET
-----END PGP SIGNATURE-----

--------------quNxPaB9CAuxhoxkkYvxxQpU--


From xen-devel-bounces@lists.xenproject.org Sun Oct 19 01:07:52 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 19 Oct 2025 01:07:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1145765.1478454 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAHtC-0001hr-8L; Sun, 19 Oct 2025 01:07:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1145765.1478454; Sun, 19 Oct 2025 01:07:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAHtC-0001hk-53; Sun, 19 Oct 2025 01:07:14 +0000
Received: by outflank-mailman (input) for mailman id 1145765;
 Sun, 19 Oct 2025 01:07:13 +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
 <SRS0=2urB=44=gmail.com=demiobenour@srs-se1.protection.inumbo.net>)
 id 1vAHtB-0001hb-6A
 for xen-devel@lists.xenproject.org; Sun, 19 Oct 2025 01:07:13 +0000
Received: from mail-yw1-x1132.google.com (mail-yw1-x1132.google.com
 [2607:f8b0:4864:20::1132])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f0a07f33-ac87-11f0-9d15-b5c5bf9af7f9;
 Sun, 19 Oct 2025 03:07:11 +0200 (CEST)
Received: by mail-yw1-x1132.google.com with SMTP id
 00721157ae682-7817c2d909cso35271507b3.1
 for <xen-devel@lists.xenproject.org>; Sat, 18 Oct 2025 18:07:11 -0700 (PDT)
Received: from [10.138.34.110]
 (h96-60-249-169.cncrtn.broadband.dynamic.tds.net. [96.60.249.169])
 by smtp.gmail.com with ESMTPSA id
 956f58d0204a3-63e2669092bsm1201389d50.7.2025.10.18.18.07.08
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sat, 18 Oct 2025 18:07:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f0a07f33-ac87-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760836030; x=1761440830; darn=lists.xenproject.org;
        h=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=HLdJyur/qGd/jav85xALqM/Vu3f+RmW2aTP0olZO4pE=;
        b=Y3pD7oJlnaIGhpWxm8+fhnVpDWh3T8BRMOu370+i9UatT8GNCfDbKUg97a1/zIE1e7
         nQiPxQrE16s0nDERgAse/uF94a7WOni/+yRirUvOZouTrjDYwIUUgB8HwJ07hYGNfzvX
         ekWz1gPRS1Ka9XZLi+94+37FSWQX3atrdMnSByHSEwuIXJaPaPPYdoFJ89JsqSs8VW4a
         cgf6Vj3fX6zdMKeMiktciQMjBMitQ3l3MnqC2yfcxYq77hKgDB7Qwr8Vm8/3x22oiW+M
         edPoUUETOMCKMPBP3eVAd1+llLbw53fxEPC/GDknNe15/3Kw/E/K0n9X4CrgU17AwXdv
         lpJQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760836030; x=1761440830;
        h=in-reply-to:autocrypt:content-language:references:cc:to:from
         :subject:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=HLdJyur/qGd/jav85xALqM/Vu3f+RmW2aTP0olZO4pE=;
        b=Ayn58JqHe0BW0JQVF9pDzh8y98mxR7MCgb/ZC/WFxqO6TAoA90IrnQ/8W98So6CJ+P
         N8JmT69mY8Zt8me1I4drpGP/kXBH3Mfq2CjLxEwTpeaHF/PnvMBvHLL8IF8+fE0XQkEg
         GcpSEidWRZQnAxYzuISrmFUYdxW9FJNdCn6sbxjvWsihSekjeApXXqSVbb/qNgydJes+
         k5wYvjQHTY0fdggtBk31aifdQjoxCcRBOhVGTlDl098njYNWAVxO4HAZNQ8pbgCX82mU
         GOL2G4g6j+Uj3TN0MJqmgOZZ2DV3aQHaAlKoxmWuR2HQkUGuM7aFFh+EQx++powJiMtf
         stKg==
X-Forwarded-Encrypted: i=1; AJvYcCXxKohcSrPy60PZQ7wh3I3X6txaWM57nb5tTedbwNvnAlmecQqD3TtGFbDBQm1S/rCDxvBt3dIn9D4=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz4Vx/JOKIjvwqa3kGfaHRw4hy8gYhrM2Z/IgdpROBtwgY2DhTH
	F02v4NYbtjHQUkwt/VFppsQtH/adpj5f/Sh1OGmpu3X5XPN7xLlBvMuN
X-Gm-Gg: ASbGncv6yHX+5fdHcSNmfilZzGEZupaNJyad5lmxZVnPXrXGbJlkC7UNdxXbom3VcN8
	FJ26XpG4PMQudzyNZr5crEbht6Xw3Bc4Rbl8KDFQWoEtZkLoo1Fv7vZ6BnMztLsTCHCcbbnMxDc
	cyVV0m+DVNK/hgY/iAbTQyGotyMB2Dd9UfooyOy1kjhwUs7a4iZ0PBfNaEa/Hsw3FeDKT5svYdx
	UjQh42OPsxz5JYmriiAtFgR4DduaNW9fu3bKrcb2Xvbjo081BMmlItRbZVM7ITPYimdOpjkT5R1
	RuLVIJUOQDEhnS48AHKxRRxdbEq6KD8cQigFQuPquqW7B0JOHTc4PBOEmPtWe+zJ5QuQFpXVNgl
	qLQOdufU0YXDq3eN6gwk4kMTShwAD8I9NIH/6DCs3npBLPuNwIRa340In6q6Wi9sYoenl6U1J0t
	KD7zPAuZkAyuXebKKoMUr9nnXmIDvW2hNgGgRknorlOXYmtTgQwoFU/cb9tTc/hcOK55HlgwW/V
	s9LJWXhbtGiQRCv
X-Google-Smtp-Source: AGHT+IFx27vZKjvo9j7c4fgvvBQe/vZ4S7mmAxrI5ogZckNXeZSfq++UtiW3Xayn/bn+UH7B9esVVw==
X-Received: by 2002:a05:690c:8d04:b0:766:6507:686b with SMTP id 00721157ae682-7836d1691e7mr124721947b3.8.1760836030140;
        Sat, 18 Oct 2025 18:07:10 -0700 (PDT)
Message-ID: <b12612a9-8593-4e0d-b5fa-14b30eaf2647@gmail.com>
Date: Sat, 18 Oct 2025 21:07:05 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH] xen: privcmd: fix ioeventfd/ioreq crashing PV domain
From: Demi Marie Obenour <demiobenour@gmail.com>
To: val@invisiblethingslab.com
Cc: jgross@suse.com, linux-kernel@vger.kernel.org,
 oleksandr_tyshchenko@epam.com, sstabellini@kernel.org,
 xen-devel@lists.xenproject.org
References: <20251015195713.6500-1-val@invisiblethingslab.com>
 <1dc70410-310a-4a00-8c47-0eebdb023267@gmail.com>
Content-Language: en-US
Autocrypt: addr=demiobenour@gmail.com; keydata=
 xsFNBFp+A0oBEADffj6anl9/BHhUSxGTICeVl2tob7hPDdhHNgPR4C8xlYt5q49yB+l2nipd
 aq+4Gk6FZfqC825TKl7eRpUjMriwle4r3R0ydSIGcy4M6eb0IcxmuPYfbWpr/si88QKgyGSV
 Z7GeNW1UnzTdhYHuFlk8dBSmB1fzhEYEk0RcJqg4AKoq6/3/UorR+FaSuVwT7rqzGrTlscnT
 DlPWgRzrQ3jssesI7sZLm82E3pJSgaUoCdCOlL7MMPCJwI8JpPlBedRpe9tfVyfu3euTPLPx
 wcV3L/cfWPGSL4PofBtB8NUU6QwYiQ9Hzx4xOyn67zW73/G0Q2vPPRst8LBDqlxLjbtx/WLR
 6h3nBc3eyuZ+q62HS1pJ5EvUT1vjyJ1ySrqtUXWQ4XlZyoEFUfpJxJoN0A9HCxmHGVckzTRl
 5FMWo8TCniHynNXsBtDQbabt7aNEOaAJdE7to0AH3T/Bvwzcp0ZJtBk0EM6YeMLtotUut7h2
 Bkg1b//r6bTBswMBXVJ5H44Qf0+eKeUg7whSC9qpYOzzrm7+0r9F5u3qF8ZTx55TJc2g656C
 9a1P1MYVysLvkLvS4H+crmxA/i08Tc1h+x9RRvqba4lSzZ6/Tmt60DPM5Sc4R0nSm9BBff0N
 m0bSNRS8InXdO1Aq3362QKX2NOwcL5YaStwODNyZUqF7izjK4QARAQABzTxEZW1pIE1hcmll
 IE9iZW5vdXIgKGxvdmVyIG9mIGNvZGluZykgPGRlbWlvYmVub3VyQGdtYWlsLmNvbT7CwXgE
 EwECACIFAlp+A0oCGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJELKItV//nCLBhr8Q
 AK/xrb4wyi71xII2hkFBpT59ObLN+32FQT7R3lbZRjVFjc6yMUjOb1H/hJVxx+yo5gsSj5LS
 9AwggioUSrcUKldfA/PKKai2mzTlUDxTcF3vKx6iMXKA6AqwAw4B57ZEJoMM6egm57TV19kz
 PMc879NV2nc6+elaKl+/kbVeD3qvBuEwsTe2Do3HAAdrfUG/j9erwIk6gha/Hp9yZlCnPTX+
 VK+xifQqt8RtMqS5R/S8z0msJMI/ajNU03kFjOpqrYziv6OZLJ5cuKb3bZU5aoaRQRDzkFIR
 6aqtFLTohTo20QywXwRa39uFaOT/0YMpNyel0kdOszFOykTEGI2u+kja35g9TkH90kkBTG+a
 EWttIht0Hy6YFmwjcAxisSakBuHnHuMSOiyRQLu43ej2+mDWgItLZ48Mu0C3IG1seeQDjEYP
 tqvyZ6bGkf2Vj+L6wLoLLIhRZxQOedqArIk/Sb2SzQYuxN44IDRt+3ZcDqsPppoKcxSyd1Ny
 2tpvjYJXlfKmOYLhTWs8nwlAlSHX/c/jz/ywwf7eSvGknToo1Y0VpRtoxMaKW1nvH0OeCSVJ
 itfRP7YbiRVc2aNqWPCSgtqHAuVraBRbAFLKh9d2rKFB3BmynTUpc1BQLJP8+D5oNyb8Ts4x
 Xd3iV/uD8JLGJfYZIR7oGWFLP4uZ3tkneDfYzsFNBFp+A0oBEAC9ynZI9LU+uJkMeEJeJyQ/
 8VFkCJQPQZEsIGzOTlPnwvVna0AS86n2Z+rK7R/usYs5iJCZ55/JISWd8xD57ue0eB47bcJv
 VqGlObI2DEG8TwaW0O0duRhDgzMEL4t1KdRAepIESBEA/iPpI4gfUbVEIEQuqdqQyO4GAe+M
 kD0Hy5JH/0qgFmbaSegNTdQg5iqYjRZ3ttiswalql1/iSyv1WYeC1OAs+2BLOAT2NEggSiVO
 txEfgewsQtCWi8H1SoirakIfo45Hz0tk/Ad9ZWh2PvOGt97Ka85o4TLJxgJJqGEnqcFUZnJJ
 riwoaRIS8N2C8/nEM53jb1sH0gYddMU3QxY7dYNLIUrRKQeNkF30dK7V6JRH7pleRlf+wQcN
 fRAIUrNlatj9TxwivQrKnC9aIFFHEy/0mAgtrQShcMRmMgVlRoOA5B8RTulRLCmkafvwuhs6
 dCxN0GNAORIVVFxjx9Vn7OqYPgwiofZ6SbEl0hgPyWBQvE85klFLZLoj7p+joDY1XNQztmfA
 rnJ9x+YV4igjWImINAZSlmEcYtd+xy3Li/8oeYDAqrsnrOjb+WvGhCykJk4urBog2LNtcyCj
 kTs7F+WeXGUo0NDhbd3Z6AyFfqeF7uJ3D5hlpX2nI9no/ugPrrTVoVZAgrrnNz0iZG2DVx46
 x913pVKHl5mlYQARAQABwsFfBBgBAgAJBQJafgNKAhsMAAoJELKItV//nCLBwNIP/AiIHE8b
 oIqReFQyaMzxq6lE4YZCZNj65B/nkDOvodSiwfwjjVVE2V3iEzxMHbgyTCGA67+Bo/d5aQGj
 gn0TPtsGzelyQHipaUzEyrsceUGWYoKXYyVWKEfyh0cDfnd9diAm3VeNqchtcMpoehETH8fr
 RHnJdBcjf112PzQSdKC6kqU0Q196c4Vp5HDOQfNiDnTf7gZSj0BraHOByy9LEDCLhQiCmr+2
 E0rW4tBtDAn2HkT9uf32ZGqJCn1O+2uVfFhGu6vPE5qkqrbSE8TG+03H8ecU2q50zgHWPdHM
 OBvy3EhzfAh2VmOSTcRK+tSUe/u3wdLRDPwv/DTzGI36Kgky9MsDC5gpIwNbOJP2G/q1wT1o
 Gkw4IXfWv2ufWiXqJ+k7HEi2N1sree7Dy9KBCqb+ca1vFhYPDJfhP75I/VnzHVssZ/rYZ9+5
 1yDoUABoNdJNSGUYl+Yh9Pw9pE3Kt4EFzUlFZWbE4xKL/NPno+z4J9aWemLLszcYz/u3XnbO
 vUSQHSrmfOzX3cV4yfmjM5lewgSstoxGyTx2M8enslgdXhPthZlDnTnOT+C+OTsh8+m5tos8
 HQjaPM01MKBiAqdPgksm1wu2DrrwUi6ChRVTUBcj6+/9IJ81H2P2gJk3Ls3AVIxIffLoY34E
 +MYSfkEjBz0E8CLOcAw7JIwAaeBT
In-Reply-To: <1dc70410-310a-4a00-8c47-0eebdb023267@gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------tBfbITYFYUR6bimc05njRVKT"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------tBfbITYFYUR6bimc05njRVKT
Content-Type: multipart/mixed; boundary="------------0JJp0SIU0rSQjv1kukS6chTZ";
 protected-headers="v1"
From: Demi Marie Obenour <demiobenour@gmail.com>
To: val@invisiblethingslab.com
Cc: jgross@suse.com, linux-kernel@vger.kernel.org,
 oleksandr_tyshchenko@epam.com, sstabellini@kernel.org,
 xen-devel@lists.xenproject.org
Message-ID: <b12612a9-8593-4e0d-b5fa-14b30eaf2647@gmail.com>
Subject: Re: [RFC PATCH] xen: privcmd: fix ioeventfd/ioreq crashing PV domain
References: <20251015195713.6500-1-val@invisiblethingslab.com>
 <1dc70410-310a-4a00-8c47-0eebdb023267@gmail.com>
In-Reply-To: <1dc70410-310a-4a00-8c47-0eebdb023267@gmail.com>
Autocrypt-Gossip: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==

--------------0JJp0SIU0rSQjv1kukS6chTZ
Content-Type: multipart/mixed; boundary="------------0PDy05uDcN6xuhPo4kUdy0sv"

--------------0PDy05uDcN6xuhPo4kUdy0sv
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On 10/18/25 20:42, Demi Marie Obenour wrote:
> I'm pretty sure Xen doesn't support ioeventfd at all yet.  There are
> two options:
>=20
> 1. Port the backend to use an ioreq server instead of ioeventfd.
> 2. Modify Linux (and possibly Xen) to support ioeventfd.
>=20
> Which virtio device are you trying to implement?  virtio-GPU will need
> a lot of additional work and it would probably be best to discuss
> this privately (over a call or similar).  Others are likely to be
> significantly easier.

Whoops, I got confused and didn't see you were using a Xen-native
frontend.
--=20
Sincerely,
Demi Marie Obenour (she/her/hers)
--------------0PDy05uDcN6xuhPo4kUdy0sv
Content-Type: application/pgp-keys; name="OpenPGP_0xB288B55FFF9C22C1.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB288B55FFF9C22C1.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsFNBFp+A0oBEADffj6anl9/BHhUSxGTICeVl2tob7hPDdhHNgPR4C8xlYt5q49y
B+l2nipdaq+4Gk6FZfqC825TKl7eRpUjMriwle4r3R0ydSIGcy4M6eb0IcxmuPYf
bWpr/si88QKgyGSVZ7GeNW1UnzTdhYHuFlk8dBSmB1fzhEYEk0RcJqg4AKoq6/3/
UorR+FaSuVwT7rqzGrTlscnTDlPWgRzrQ3jssesI7sZLm82E3pJSgaUoCdCOlL7M
MPCJwI8JpPlBedRpe9tfVyfu3euTPLPxwcV3L/cfWPGSL4PofBtB8NUU6QwYiQ9H
zx4xOyn67zW73/G0Q2vPPRst8LBDqlxLjbtx/WLR6h3nBc3eyuZ+q62HS1pJ5EvU
T1vjyJ1ySrqtUXWQ4XlZyoEFUfpJxJoN0A9HCxmHGVckzTRl5FMWo8TCniHynNXs
BtDQbabt7aNEOaAJdE7to0AH3T/Bvwzcp0ZJtBk0EM6YeMLtotUut7h2Bkg1b//r
6bTBswMBXVJ5H44Qf0+eKeUg7whSC9qpYOzzrm7+0r9F5u3qF8ZTx55TJc2g656C
9a1P1MYVysLvkLvS4H+crmxA/i08Tc1h+x9RRvqba4lSzZ6/Tmt60DPM5Sc4R0nS
m9BBff0Nm0bSNRS8InXdO1Aq3362QKX2NOwcL5YaStwODNyZUqF7izjK4QARAQAB
zTxEZW1pIE9iZW5vdXIgKElUTCBFbWFpbCBLZXkpIDxhdGhlbmFAaW52aXNpYmxl
dGhpbmdzbGFiLmNvbT7CwY4EEwEIADgWIQR2h02fEza6IlkHHHGyiLVf/5wiwQUC
X6YJvQIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgAAKCRCyiLVf/5wiwWRhD/0Y
R+YYC5Kduv/2LBgQJIygMsFiRHbR4+tWXuTFqgrxxFSlMktZ6gQrQCWe38WnOXkB
oY6n/5lSJdfnuGd2UagZ/9dkaGMUkqt+5WshLFly4BnP7pSsWReKgMP7etRTwn3S
zk1OwFx2lzY1EnnconPLfPBc6rWG2moA6l0WX+3WNR1B1ndqpl2hPSjT2jUCBWDV
rGOUSX7r5f1WgtBeNYnEXPBCUUM51pFGESmfHIXQrqFDA7nBNiIVFDJTmQzuEqIy
Jl67pKNgooij5mKzRhFKHfjLRAH4mmWZlB9UjDStAfFBAoDFHwd1HL5VQCNQdqEc
/9lZDApqWuCPadZN+pGouqLysesIYsNxUhJ7dtWOWHl0vs7/3qkWmWun/2uOJMQh
ra2u8nA9g91FbOobWqjrDd6x3ZJoGQf4zLqjmn/P514gb697788e573WN/MpQ5XI
Fl7aM2d6/GJiq6LC9T2gSUW4rbPBiqOCeiUx7Kd/sVm41p9TOA7fEG4bYddCfDsN
xaQJH6VRK3NOuBUGeL+iQEVF5Xs6Yp+U+jwvv2M5Lel3EqAYo5xXTx4ls0xaxDCu
fudcAh8CMMqx3fguSb7Mi31WlnZpk0fDuWQVNKyDP7lYpwc4nCCGNKCj622ZSocH
AcQmX28L8pJdLYacv9pU3jPy4fHcQYvmTavTqowGnM08RGVtaSBNYXJpZSBPYmVu
b3VyIChsb3ZlciBvZiBjb2RpbmcpIDxkZW1pb2Jlbm91ckBnbWFpbC5jb20+wsF4
BBMBAgAiBQJafgNKAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRCyiLVf
/5wiwYa/EACv8a2+MMou9cSCNoZBQaU+fTmyzft9hUE+0d5W2UY1RY3OsjFIzm9R
/4SVccfsqOYLEo+S0vQMIIIqFEq3FCpXXwPzyimotps05VA8U3Bd7yseojFygOgK
sAMOAee2RCaDDOnoJue01dfZMzzHPO/TVdp3OvnpWipfv5G1Xg96rwbhMLE3tg6N
xwAHa31Bv4/Xq8CJOoIWvx6fcmZQpz01/lSvsYn0KrfEbTKkuUf0vM9JrCTCP2oz
VNN5BYzqaq2M4r+jmSyeXLim922VOWqGkUEQ85BSEemqrRS06IU6NtEMsF8EWt/b
hWjk/9GDKTcnpdJHTrMxTspExBiNrvpI2t+YPU5B/dJJAUxvmhFrbSIbdB8umBZs
I3AMYrEmpAbh5x7jEjoskUC7uN3o9vpg1oCLS2ePDLtAtyBtbHnkA4xGD7ar8mem
xpH9lY/i+sC6CyyIUWcUDnnagKyJP0m9ks0GLsTeOCA0bft2XA6rD6aaCnMUsndT
ctrab42CV5XypjmC4U1rPJ8JQJUh1/3P48/8sMH+3krxpJ06KNWNFaUbaMTGiltZ
7x9DngklSYrX0T+2G4kVXNmjaljwkoLahwLla2gUWwBSyofXdqyhQdwZsp01KXNQ
UCyT/Pg+aDcm/E7OMV3d4lf7g/CSxiX2GSEe6BlhSz+Lmd7ZJ3g32M1ARGVtaSBN
YXJpZSBPYmVub3VyIChJVEwgRW1haWwgS2V5KSA8ZGVtaUBpbnZpc2libGV0aGlu
Z3NsYWIuY29tPsLBjgQTAQgAOBYhBHaHTZ8TNroiWQcccbKItV//nCLBBQJgOEV+
AhsDBQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJELKItV//nCLBKwoP/1WSnFdv
SAD0g7fD0WlF+oi7ISFT7oqJnchFLOwVHK4Jg0e4hGn1ekWsF3Ha5tFLh4V/7UUu
obYJpTfBAA2CckspYBqLtKGjFxcaqjjpO1I2W/jeNELVtSYuCOZICjdNGw2Hl9yH
KRZiBkqc9u8lQcHDZKq4LIpVJj6ZQV/nxttDX90ax2No1nLLQXFbr5wb465LAPpU
lXwunYDij7xJGye+VUASQh9datye6orZYuJvNo8Tr3mAQxxkfR46LzWgxFCPEAZJ
5P56Nc0IMHdJZj0Uc9+1jxERhOGppp5jlLgYGK7faGB/jTV6LaRQ4Ad+xiqokDWp
mUOZsmA+bMbtPfYjDZBz5mlyHcIRKIFpE1l3Y8F7PhJuzzMUKkJi90CYakCV4x/a
Zs4pzk5E96c2VQx01RIEJ7fzHF7lwFdtfTS4YsLtAbQFsKayqwkGcVv2B1AHeqdo
TMX+cgDvjd1ZganGlWA8Sv9RkNSMchn1hMuTwERTyFTr2dKPnQdA1F480+jUap41
ClXgn227WkCIMrNhQGNyJsnwyzi5wS8rBVRQ3BOTMyvGM07j3axUOYaejEpg7wKi
wTPZGLGH1sz5GljD/916v5+v2xLbOo5606j9dWf5/tAhbPuqrQgWv41wuKDi+dDD
EKkODF7DHes8No+QcHTDyETMn1RYm7t0RKR4zsFNBFp+A0oBEAC9ynZI9LU+uJkM
eEJeJyQ/8VFkCJQPQZEsIGzOTlPnwvVna0AS86n2Z+rK7R/usYs5iJCZ55/JISWd
8xD57ue0eB47bcJvVqGlObI2DEG8TwaW0O0duRhDgzMEL4t1KdRAepIESBEA/iPp
I4gfUbVEIEQuqdqQyO4GAe+MkD0Hy5JH/0qgFmbaSegNTdQg5iqYjRZ3ttiswalq
l1/iSyv1WYeC1OAs+2BLOAT2NEggSiVOtxEfgewsQtCWi8H1SoirakIfo45Hz0tk
/Ad9ZWh2PvOGt97Ka85o4TLJxgJJqGEnqcFUZnJJriwoaRIS8N2C8/nEM53jb1sH
0gYddMU3QxY7dYNLIUrRKQeNkF30dK7V6JRH7pleRlf+wQcNfRAIUrNlatj9Txwi
vQrKnC9aIFFHEy/0mAgtrQShcMRmMgVlRoOA5B8RTulRLCmkafvwuhs6dCxN0GNA
ORIVVFxjx9Vn7OqYPgwiofZ6SbEl0hgPyWBQvE85klFLZLoj7p+joDY1XNQztmfA
rnJ9x+YV4igjWImINAZSlmEcYtd+xy3Li/8oeYDAqrsnrOjb+WvGhCykJk4urBog
2LNtcyCjkTs7F+WeXGUo0NDhbd3Z6AyFfqeF7uJ3D5hlpX2nI9no/ugPrrTVoVZA
grrnNz0iZG2DVx46x913pVKHl5mlYQARAQABwsFfBBgBAgAJBQJafgNKAhsMAAoJ
ELKItV//nCLBwNIP/AiIHE8boIqReFQyaMzxq6lE4YZCZNj65B/nkDOvodSiwfwj
jVVE2V3iEzxMHbgyTCGA67+Bo/d5aQGjgn0TPtsGzelyQHipaUzEyrsceUGWYoKX
YyVWKEfyh0cDfnd9diAm3VeNqchtcMpoehETH8frRHnJdBcjf112PzQSdKC6kqU0
Q196c4Vp5HDOQfNiDnTf7gZSj0BraHOByy9LEDCLhQiCmr+2E0rW4tBtDAn2HkT9
uf32ZGqJCn1O+2uVfFhGu6vPE5qkqrbSE8TG+03H8ecU2q50zgHWPdHMOBvy3Ehz
fAh2VmOSTcRK+tSUe/u3wdLRDPwv/DTzGI36Kgky9MsDC5gpIwNbOJP2G/q1wT1o
Gkw4IXfWv2ufWiXqJ+k7HEi2N1sree7Dy9KBCqb+ca1vFhYPDJfhP75I/VnzHVss
Z/rYZ9+51yDoUABoNdJNSGUYl+Yh9Pw9pE3Kt4EFzUlFZWbE4xKL/NPno+z4J9aW
emLLszcYz/u3XnbOvUSQHSrmfOzX3cV4yfmjM5lewgSstoxGyTx2M8enslgdXhPt
hZlDnTnOT+C+OTsh8+m5tos8HQjaPM01MKBiAqdPgksm1wu2DrrwUi6ChRVTUBcj
6+/9IJ81H2P2gJk3Ls3AVIxIffLoY34E+MYSfkEjBz0E8CLOcAw7JIwAaeBTzsFN
BGbyLVgBEACqClxh50hmBepTSVlan6EBq3OAoxhrAhWZYEwN78k+ENhK68KhqC5R
IsHzlL7QHW1gmfVBQZ63GnWiraM6wOJqFTL4ZWvRslga9u28FJ5XyK860mZLgYhK
9BzoUk4s+dat9jVUbq6LpQ1Ot5I9vrdzo2p1jtQ8h9WCIiFxSYy8s8pZ3hHh5T64
GIj1m/kY7lG3VIdUgoNiREGf/iOMjUFjwwE9ZoJ26j9p7p1U+TkKeF6wgswEB1T3
J8KCAtvmRtqJDq558IU5jhg5fgN+xHB8cgvUWulgK9FIF9oFxcuxtaf/juhHWKMO
RtL0bHfNdXoBdpUDZE+mLBUAxF6KSsRrvx6AQyJs7VjgXJDtQVWvH0PUmTrEswgb
49nNU+dLLZQAZagxqnZ9Dp5l6GqaGZCHERJcLmdY/EmMzSf5YazJ6c0vO8rdW27M
kn73qcWAplQn5mOXaqbfzWkAUPyUXppuRHfrjxTDz3GyJJVOeMmMrTxH4uCaGpOX
Z8tN6829J1roGw4oKDRUQsaBAeEDqizXMPRc+6U9vI5FXzbAsb+8lKW65G7JWHym
YPOGUt2hK4DdTA1PmVo0DxH00eWWeKxqvmGyX+Dhcg+5e191rPsMRGsDlH6KihI6
+3JIuc0y6ngdjcp6aalbuvPIGFrCRx3tnRtNc7He6cBWQoH9RPwluwARAQABwsOs
BBgBCgAgFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmbyLVgCGwICQAkQsoi1X/+c
IsHBdCAEGQEKAB0WIQSilC2pUlbVp66j3+yzNoc6synyUwUCZvItWAAKCRCzNoc6
synyU85gD/0T1QDtPhovkGwoqv4jUbEMMvpeYQf+oWgm/TjWPeLwdjl7AtY0G9Ml
ZoyGniYkoHi37Gnn/ShLT3B5vtyI58ap2+SSa8SnGftdAKRLiWFWCiAEklm9FRk8
N3hwxhmSFF1KR/AIDS4g+HIsZn7YEMubBSgLlZZ9zHl4O4vwuXlREBEW97iL/FSt
VownU2V39t7PtFvGZNk+DJH7eLO3jmNRYB0PL4JOyyda3NH/J92iwrFmjFWWmmWb
/Xz8l9DIs+Z59pRCVTTwbBEZhcUc7rVMCcIYL+q1WxBG2e6lMn15OQJ5WfiE6E0I
sGirAEDnXWx92JNGx5l+mMpdpsWhBZ5iGTtttZesibNkQfd48/eCgFi4cxJUC4PT
UQwfD9AMgzwSTGJrkI5XGy+XqxwOjL8UA0iIrtTpMh49zw46uV6kwFQCgkf32jZM
OLwLTNSzclbnA7GRd8tKwezQ/XqeK3dal2n+cOr+o+Eka7yGmGWNUqFbIe8cjj9T
JeF3mgOCmZOwMI+wIcQYRSf+e5VTMO6TNWH5BI3vqeHSt7HkYuPlHT0pGum88d4a
pWqhulH4rUhEMtirX1hYx8Q4HlUOQqLtxzmwOYWkhl1C+yPObAvUDNiHCLf9w28n
uihgEkzHt9J4VKYulyJM9fe3ENcyU6rpXD7iANQqcr87ogKXFxknZ97uEACvSucc
RbnnAgRqZ7GDzgoBerJ2zrmhLkeREZ08iz1zze1JgyW3HEwdr2UbyAuqvSADCSUU
GN0vtQHsPzWl8onRc7lOPqPDF8OO+UfN9NAfA4wl3QyChD1GXl9rwKQOkbvdlYFV
UFx9u86LNi4ssTmU8p9NtHIGpz1SYMVYNoYy9NU7EVqypGMguDCL7gJt6GUmA0sw
p+YCroXiwL2BJ7RwRqTpgQuFL1gShkA17D5jK4mDPEetq1d8kz9rQYvAR/sTKBsR
ImC3xSfn8zpWoNTTB6lnwyP5Ng1bu6esS7+SpYprFTe7ZqGZF6xhvBPf1Ldi9UAm
U2xPN1/eeWxEa2kusidmFKPmN8lcT4miiAvwGxEnY7Oww9CgZlUB+LP4dl5VPjEt
sFeAhrgxLdpVTjPRRwTd9VQF3/XYl83j5wySIQKIPXgT3sG3ngAhDhC8I8GpM36r
8WJJ3x2yVzyJUbBPO0GBhWE2xPNIfhxVoU4cGGhpFqz7dPKSTRDGq++MrFgKKGpI
ZwT3CPTSSKc7ySndEXWkOYArDIdtyxdE1p5/c3aoz4utzUU7NDHQ+vVIwlnZSMiZ
jek2IJP3SZ+COOIHCVxpUaZ4lnzWT4eDqABhMLpIzw6NmGfg+kLBJhouqz81WITr
EtJuZYM5blWncBOJCoWMnBEcTEo/viU3GgcVRw=3D=3D
=3Dx94R
-----END PGP PUBLIC KEY BLOCK-----

--------------0PDy05uDcN6xuhPo4kUdy0sv--

--------------0JJp0SIU0rSQjv1kukS6chTZ--

--------------tBfbITYFYUR6bimc05njRVKT
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEopQtqVJW1aeuo9/sszaHOrMp8lMFAmj0OboACgkQszaHOrMp
8lNmbRAAopSVaXKHCttdWchcJOAV29YZl+xjUW5QnPmbUdCH+IZ7nkUyUYxsKqr7
yt+JcdYIF/1MISUT+42Hpj9W3krTOhX0e6wmC12f8o3Y0dc3Xg4f+cQQo9RrWVUT
q+bGW3cMJ+TMR8XqYom6RonGlZ3uVYgpm2dEo4gjkBDZRSzyyawFtuFq/CDlVyNA
tCiLzhgaPE8hQA9y71cqe3FhvDTQ3UuEiqCYSKSGYg0gnaIqa2j9H4kEGWM4/SEQ
y+Nejs3FHlm0qzfJr3jk9fXP02iaoyZq1DeR2XgcZcCDSgLGCnJcC4+QyDrOWVJc
zZNPnrsaHZmtF73qPh/ehLMe0Sgs5NSdHWzjR1iwtd764b2ij+KPWYjYzzZzrduM
cKARVIVdRZMea8jDMORGt8HJ9io41mklpPpGYhI/5oyf9a5AIWzH/woozsPDTzFO
RO8pjl4tZi/CLZbOWiimUinoZCAtKAyXTghMSclQzp33aRdAK/6Wp8R+WM5dw6pD
XynJVg6x90AsMxygchq344klnxWqaVd7bBcM85voMaDv0+DVny+pkRo/7QH0fYyf
Q+uqlAco3pTZDQd7GCmRCsDk7EYDxy26W6DfH6++cJWpgA45Xd1qN4pLCNeIGBCD
hxyDnLMTNE+KuKBAwDjYNENRJYRhPgc4ReESJuI380EzvQAU564=
=PXnu
-----END PGP SIGNATURE-----

--------------tBfbITYFYUR6bimc05njRVKT--


From xen-devel-bounces@lists.xenproject.org Sun Oct 19 01:22:28 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 19 Oct 2025 01:22:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1145789.1478464 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAI7I-0004lL-Jz; Sun, 19 Oct 2025 01:21:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1145789.1478464; Sun, 19 Oct 2025 01:21:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAI7I-0004lE-HI; Sun, 19 Oct 2025 01:21:48 +0000
Received: by outflank-mailman (input) for mailman id 1145789;
 Sun, 19 Oct 2025 01:21:47 +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
 <SRS0=2urB=44=gmail.com=demiobenour@srs-se1.protection.inumbo.net>)
 id 1vAI7G-0004l8-TU
 for xen-devel@lists.xenproject.org; Sun, 19 Oct 2025 01:21:47 +0000
Received: from mail-yw1-x1136.google.com (mail-yw1-x1136.google.com
 [2607:f8b0:4864:20::1136])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f8c7eeb9-ac89-11f0-980a-7dc792cee155;
 Sun, 19 Oct 2025 03:21:44 +0200 (CEST)
Received: by mail-yw1-x1136.google.com with SMTP id
 00721157ae682-78485c4146bso6140487b3.2
 for <xen-devel@lists.xenproject.org>; Sat, 18 Oct 2025 18:21:44 -0700 (PDT)
Received: from [10.138.34.110]
 (h96-60-249-169.cncrtn.broadband.dynamic.tds.net. [96.60.249.169])
 by smtp.gmail.com with ESMTPSA id
 00721157ae682-784673c3069sm10751687b3.23.2025.10.18.18.21.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sat, 18 Oct 2025 18:21:41 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f8c7eeb9-ac89-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760836903; x=1761441703; darn=lists.xenproject.org;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=3tat2wgIoR6s7G1OvgJTvF8hhfRKWzusbBtJOy/2V94=;
        b=CixMesOWxYf6CsAYJ7m50lKJSACowBYvDiLnwH6agmV1WVr3IACxygaS9HXWlfqHzq
         tzaH7xNQIQR9FlK84j8rAO8VDVhJnW3h0oc8RDscWxu3kdukVMS49vNit8qmZMN84Sif
         znNtOCfKsyugy2eaD9PvaBkWw3DU7H5j7J08LdMc0uaphJLx8VLe++5CNbsoU+ZrcjZz
         Pb67b/Ub8UsdDxXsimgnjRntBTqunZzpznFBN88MntOuz0HUdm7AUsibAFvScRPb5xGs
         Wdgj1dKg5bS65cIzKCfSEPKdcbQUeqI/Mrp6fFJ7tIGgF+8Uh+J7vMwStcE4bGxbV7mV
         bu/w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760836903; x=1761441703;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=3tat2wgIoR6s7G1OvgJTvF8hhfRKWzusbBtJOy/2V94=;
        b=slZAAS5KPGmfe+QyYVYAuPbzYmDHoKAmZgoDeAqp02t0hiiCZY6rDzDFrpcZVauLcL
         FH23Fvq3idjfQu4nDRgbgec7hXFL24ajbK/6Ca6fVSbdwBxjObMzokPZuTDEhhsvjbZ1
         ObekSQ+YNWZGmQB4S8Q2ue/EaACWRWEVH1tWfH/YKe+RrK1SZnQXtCqA0rJA0LFoBqXC
         yUxm758bfTbpA0BjWFcOgJh7g/LLjtquSruEpHNp0vTCW5wvUgLTUWp3W/olH1s0wLXG
         +wo3FTDPtUGm4BSCMQTHqu3P9nzzNGkgI26kZ/IDdfgKS9IKQ+3ApSElC3bSYS6nxTk6
         hnhA==
X-Forwarded-Encrypted: i=1; AJvYcCVAmV3TSxRmQD0tZ+Gmk+ZgzfjJsnPQb6CQojUdd2rp4hH/rmURy2O6E87mNUzGvMtVYEThzzR9hfg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyEeLA1kPBpntajt38IffZuHsDJ4e8V0vGn90Alg4F6xU9PT0oC
	MYh1/WLONNJ215Cytfcj45SdsCjJsiNrYru5fgzDK00LxsMx2Al9gYcB
X-Gm-Gg: ASbGncsUwX8J3TkcueQdq7+i3J6i97fHWw9fdo3/jYc2yZaC3GyoA9bXeenbLmXXB/u
	d6SiRslnaghlSoOD96kqk1Z4SrFcQMC2Fn6PwjSRdoz/gPb77UeEMdb+8M2N7Rf78rDPqhZYY7n
	xdZMw+4JeeABPpRKMCM4z4ZkWvnruc0LTJ969nOFGSsXktRzSlCnclS5J8dl6UCbf/7PAXr3FeZ
	14O6WjbDgGcXvTv26s2EIDPfS5zbfmZiv7PCpxdDEn1AEJrJtEGPHnC1khC8H1kgHxSCRlvFiPc
	mlYO9RwWVjMjG2CReWYqZFFfXkEjS5JDUoWz22p5sZ0aCdUhDzt3Q9GG1h80X70dtuyWDfg79uC
	AgjkQJySeXCRzcIrU3gK7NlF+f5dP9gn4giCx0Tp4Hcy0O/J7T8LqnPehb/lA4gdnPm70sqFcB2
	LB+pvr9hww5bhq9oy3SgxNV1+FxKtiZEy577mnmq4aEGgoOv3q0y5rqWZak584vfD8Vf2bzq0+u
	6a/QowbhnWOhcZf
X-Google-Smtp-Source: AGHT+IECcMT0tdBUoruwaFyFe5cRnAPQnUhpNJoHH/eOGFlzNJkvnzBAieZIqYznC24BLXeTXn5k7g==
X-Received: by 2002:a05:690c:b13:b0:780:be5b:3435 with SMTP id 00721157ae682-7836d665f84mr73223057b3.44.1760836902608;
        Sat, 18 Oct 2025 18:21:42 -0700 (PDT)
Message-ID: <a7a2b126-489b-4bdc-ba0c-d0c92f8df822@gmail.com>
Date: Sat, 18 Oct 2025 21:21:37 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5] x86: make Viridian support optional
To: Alejandro Vallejo <alejandro.garciavallejo@amd.com>,
 Jan Beulich <jbeulich@suse.com>,
 Grygorii Strashko <grygorii_strashko@epam.com>
Cc: Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Paul Durrant <paul@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20250930125215.1087214-1-grygorii_strashko@epam.com>
 <3e4e4bc5-aa47-4357-9327-df2a9b9c9a1b@suse.com>
 <DDH3W3VM2ZDJ.PMFSGBWBTS0S@amd.com>
 <9248eda6-cf9b-4fdf-ab32-66e777585f65@gmail.com>
 <DDKPUZKA0UHL.2WRO9M23R4G3E@amd.com>
Content-Language: en-US
From: Demi Marie Obenour <demiobenour@gmail.com>
Autocrypt: addr=demiobenour@gmail.com; keydata=
 xsFNBFp+A0oBEADffj6anl9/BHhUSxGTICeVl2tob7hPDdhHNgPR4C8xlYt5q49yB+l2nipd
 aq+4Gk6FZfqC825TKl7eRpUjMriwle4r3R0ydSIGcy4M6eb0IcxmuPYfbWpr/si88QKgyGSV
 Z7GeNW1UnzTdhYHuFlk8dBSmB1fzhEYEk0RcJqg4AKoq6/3/UorR+FaSuVwT7rqzGrTlscnT
 DlPWgRzrQ3jssesI7sZLm82E3pJSgaUoCdCOlL7MMPCJwI8JpPlBedRpe9tfVyfu3euTPLPx
 wcV3L/cfWPGSL4PofBtB8NUU6QwYiQ9Hzx4xOyn67zW73/G0Q2vPPRst8LBDqlxLjbtx/WLR
 6h3nBc3eyuZ+q62HS1pJ5EvUT1vjyJ1ySrqtUXWQ4XlZyoEFUfpJxJoN0A9HCxmHGVckzTRl
 5FMWo8TCniHynNXsBtDQbabt7aNEOaAJdE7to0AH3T/Bvwzcp0ZJtBk0EM6YeMLtotUut7h2
 Bkg1b//r6bTBswMBXVJ5H44Qf0+eKeUg7whSC9qpYOzzrm7+0r9F5u3qF8ZTx55TJc2g656C
 9a1P1MYVysLvkLvS4H+crmxA/i08Tc1h+x9RRvqba4lSzZ6/Tmt60DPM5Sc4R0nSm9BBff0N
 m0bSNRS8InXdO1Aq3362QKX2NOwcL5YaStwODNyZUqF7izjK4QARAQABzTxEZW1pIE1hcmll
 IE9iZW5vdXIgKGxvdmVyIG9mIGNvZGluZykgPGRlbWlvYmVub3VyQGdtYWlsLmNvbT7CwXgE
 EwECACIFAlp+A0oCGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJELKItV//nCLBhr8Q
 AK/xrb4wyi71xII2hkFBpT59ObLN+32FQT7R3lbZRjVFjc6yMUjOb1H/hJVxx+yo5gsSj5LS
 9AwggioUSrcUKldfA/PKKai2mzTlUDxTcF3vKx6iMXKA6AqwAw4B57ZEJoMM6egm57TV19kz
 PMc879NV2nc6+elaKl+/kbVeD3qvBuEwsTe2Do3HAAdrfUG/j9erwIk6gha/Hp9yZlCnPTX+
 VK+xifQqt8RtMqS5R/S8z0msJMI/ajNU03kFjOpqrYziv6OZLJ5cuKb3bZU5aoaRQRDzkFIR
 6aqtFLTohTo20QywXwRa39uFaOT/0YMpNyel0kdOszFOykTEGI2u+kja35g9TkH90kkBTG+a
 EWttIht0Hy6YFmwjcAxisSakBuHnHuMSOiyRQLu43ej2+mDWgItLZ48Mu0C3IG1seeQDjEYP
 tqvyZ6bGkf2Vj+L6wLoLLIhRZxQOedqArIk/Sb2SzQYuxN44IDRt+3ZcDqsPppoKcxSyd1Ny
 2tpvjYJXlfKmOYLhTWs8nwlAlSHX/c/jz/ywwf7eSvGknToo1Y0VpRtoxMaKW1nvH0OeCSVJ
 itfRP7YbiRVc2aNqWPCSgtqHAuVraBRbAFLKh9d2rKFB3BmynTUpc1BQLJP8+D5oNyb8Ts4x
 Xd3iV/uD8JLGJfYZIR7oGWFLP4uZ3tkneDfYzsFNBFp+A0oBEAC9ynZI9LU+uJkMeEJeJyQ/
 8VFkCJQPQZEsIGzOTlPnwvVna0AS86n2Z+rK7R/usYs5iJCZ55/JISWd8xD57ue0eB47bcJv
 VqGlObI2DEG8TwaW0O0duRhDgzMEL4t1KdRAepIESBEA/iPpI4gfUbVEIEQuqdqQyO4GAe+M
 kD0Hy5JH/0qgFmbaSegNTdQg5iqYjRZ3ttiswalql1/iSyv1WYeC1OAs+2BLOAT2NEggSiVO
 txEfgewsQtCWi8H1SoirakIfo45Hz0tk/Ad9ZWh2PvOGt97Ka85o4TLJxgJJqGEnqcFUZnJJ
 riwoaRIS8N2C8/nEM53jb1sH0gYddMU3QxY7dYNLIUrRKQeNkF30dK7V6JRH7pleRlf+wQcN
 fRAIUrNlatj9TxwivQrKnC9aIFFHEy/0mAgtrQShcMRmMgVlRoOA5B8RTulRLCmkafvwuhs6
 dCxN0GNAORIVVFxjx9Vn7OqYPgwiofZ6SbEl0hgPyWBQvE85klFLZLoj7p+joDY1XNQztmfA
 rnJ9x+YV4igjWImINAZSlmEcYtd+xy3Li/8oeYDAqrsnrOjb+WvGhCykJk4urBog2LNtcyCj
 kTs7F+WeXGUo0NDhbd3Z6AyFfqeF7uJ3D5hlpX2nI9no/ugPrrTVoVZAgrrnNz0iZG2DVx46
 x913pVKHl5mlYQARAQABwsFfBBgBAgAJBQJafgNKAhsMAAoJELKItV//nCLBwNIP/AiIHE8b
 oIqReFQyaMzxq6lE4YZCZNj65B/nkDOvodSiwfwjjVVE2V3iEzxMHbgyTCGA67+Bo/d5aQGj
 gn0TPtsGzelyQHipaUzEyrsceUGWYoKXYyVWKEfyh0cDfnd9diAm3VeNqchtcMpoehETH8fr
 RHnJdBcjf112PzQSdKC6kqU0Q196c4Vp5HDOQfNiDnTf7gZSj0BraHOByy9LEDCLhQiCmr+2
 E0rW4tBtDAn2HkT9uf32ZGqJCn1O+2uVfFhGu6vPE5qkqrbSE8TG+03H8ecU2q50zgHWPdHM
 OBvy3EhzfAh2VmOSTcRK+tSUe/u3wdLRDPwv/DTzGI36Kgky9MsDC5gpIwNbOJP2G/q1wT1o
 Gkw4IXfWv2ufWiXqJ+k7HEi2N1sree7Dy9KBCqb+ca1vFhYPDJfhP75I/VnzHVssZ/rYZ9+5
 1yDoUABoNdJNSGUYl+Yh9Pw9pE3Kt4EFzUlFZWbE4xKL/NPno+z4J9aWemLLszcYz/u3XnbO
 vUSQHSrmfOzX3cV4yfmjM5lewgSstoxGyTx2M8enslgdXhPthZlDnTnOT+C+OTsh8+m5tos8
 HQjaPM01MKBiAqdPgksm1wu2DrrwUi6ChRVTUBcj6+/9IJ81H2P2gJk3Ls3AVIxIffLoY34E
 +MYSfkEjBz0E8CLOcAw7JIwAaeBT
In-Reply-To: <DDKPUZKA0UHL.2WRO9M23R4G3E@amd.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------0kfV0gzEPwgDUbm1IibRV4W0"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------0kfV0gzEPwgDUbm1IibRV4W0
Content-Type: multipart/mixed; boundary="------------BCSXnPJT0JDtHb0caqd0JhdV";
 protected-headers="v1"
From: Demi Marie Obenour <demiobenour@gmail.com>
To: Alejandro Vallejo <alejandro.garciavallejo@amd.com>,
 Jan Beulich <jbeulich@suse.com>,
 Grygorii Strashko <grygorii_strashko@epam.com>
Cc: Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Paul Durrant <paul@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Message-ID: <a7a2b126-489b-4bdc-ba0c-d0c92f8df822@gmail.com>
Subject: Re: [PATCH v5] x86: make Viridian support optional
References: <20250930125215.1087214-1-grygorii_strashko@epam.com>
 <3e4e4bc5-aa47-4357-9327-df2a9b9c9a1b@suse.com>
 <DDH3W3VM2ZDJ.PMFSGBWBTS0S@amd.com>
 <9248eda6-cf9b-4fdf-ab32-66e777585f65@gmail.com>
 <DDKPUZKA0UHL.2WRO9M23R4G3E@amd.com>
In-Reply-To: <DDKPUZKA0UHL.2WRO9M23R4G3E@amd.com>

--------------BCSXnPJT0JDtHb0caqd0JhdV
Content-Type: multipart/mixed; boundary="------------FDnph8dZOE8tGRxZQEtoTMta"

--------------FDnph8dZOE8tGRxZQEtoTMta
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On 10/17/25 11:52, Alejandro Vallejo wrote:
> On Wed Oct 15, 2025 at 7:58 AM CEST, Demi Marie Obenour wrote:
>> On 10/13/25 06:01, Alejandro Vallejo wrote:
>>> On Wed Oct 8, 2025 at 6:04 PM CEST, Jan Beulich wrote:
>>>> On 30.09.2025 14:52, Grygorii Strashko wrote:
>>>>> --- a/xen/arch/x86/hvm/Kconfig
>>>>> +++ b/xen/arch/x86/hvm/Kconfig
>>>>> @@ -62,6 +62,16 @@ config ALTP2M
>>>>> =20
>>>>>  	  If unsure, stay with defaults.
>>>>> =20
>>>>> +config VIRIDIAN
>>>>> +	bool "Hyper-V enlightenments for guests" if EXPERT
>>>>> +	default y
>>>>> +	help
>>>>> +	  Support optimizations for Hyper-V guests such as faster hyperca=
lls,
>>>>> +	  efficient timer and interrupt handling, and enhanced paravirtua=
lized
>>>>> +	  I/O. This is to improve performance and compatibility of Window=
s VMs.
>>>>
>>>> What is "paravirtualized I/O" about in this context?
>>>
>>> Hypervisor-assisted IPIs, TLB flushes, etc. Or so I understood back w=
hen I said
>>> that looked ok. I see there could be confusion with Xen PV device pro=
tocols,
>>> but as far as the user of the help message is concerned it makes no d=
ifference.
>>>
>>> One could even remove the examples and leave it as "... for Hyper-V g=
uests. This
>>> is to...". They are truly inconsequential.
>>>
>>> All that matters is that (modern) Windows won't run without it, and t=
hat it
>>> provides some indeterminate hypervisor-provided assists to try to red=
uce some
>>> virtualization overheads.
>>
>> Qubes OS doesn't expose Viridian at all, which is why it wasn't
>> vulnerable to XSA-472.  It still runs Windows guests just fine.
>=20
> Can you run Windows 11?

I haven't tried it, but it is documented as working.

> I don't remember which, but I do know some versions of Windows refuse t=
o boot
> if they determine they are virtualised and don't see the mandatory part=
s of
> the TLFS.
>=20
> If 11 works, maybe Windows Server?

Windows Server is more likely.
--=20
Sincerely,
Demi Marie Obenour (she/her/hers)
--------------FDnph8dZOE8tGRxZQEtoTMta
Content-Type: application/pgp-keys; name="OpenPGP_0xB288B55FFF9C22C1.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB288B55FFF9C22C1.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsFNBFp+A0oBEADffj6anl9/BHhUSxGTICeVl2tob7hPDdhHNgPR4C8xlYt5q49y
B+l2nipdaq+4Gk6FZfqC825TKl7eRpUjMriwle4r3R0ydSIGcy4M6eb0IcxmuPYf
bWpr/si88QKgyGSVZ7GeNW1UnzTdhYHuFlk8dBSmB1fzhEYEk0RcJqg4AKoq6/3/
UorR+FaSuVwT7rqzGrTlscnTDlPWgRzrQ3jssesI7sZLm82E3pJSgaUoCdCOlL7M
MPCJwI8JpPlBedRpe9tfVyfu3euTPLPxwcV3L/cfWPGSL4PofBtB8NUU6QwYiQ9H
zx4xOyn67zW73/G0Q2vPPRst8LBDqlxLjbtx/WLR6h3nBc3eyuZ+q62HS1pJ5EvU
T1vjyJ1ySrqtUXWQ4XlZyoEFUfpJxJoN0A9HCxmHGVckzTRl5FMWo8TCniHynNXs
BtDQbabt7aNEOaAJdE7to0AH3T/Bvwzcp0ZJtBk0EM6YeMLtotUut7h2Bkg1b//r
6bTBswMBXVJ5H44Qf0+eKeUg7whSC9qpYOzzrm7+0r9F5u3qF8ZTx55TJc2g656C
9a1P1MYVysLvkLvS4H+crmxA/i08Tc1h+x9RRvqba4lSzZ6/Tmt60DPM5Sc4R0nS
m9BBff0Nm0bSNRS8InXdO1Aq3362QKX2NOwcL5YaStwODNyZUqF7izjK4QARAQAB
zTxEZW1pIE9iZW5vdXIgKElUTCBFbWFpbCBLZXkpIDxhdGhlbmFAaW52aXNpYmxl
dGhpbmdzbGFiLmNvbT7CwY4EEwEIADgWIQR2h02fEza6IlkHHHGyiLVf/5wiwQUC
X6YJvQIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgAAKCRCyiLVf/5wiwWRhD/0Y
R+YYC5Kduv/2LBgQJIygMsFiRHbR4+tWXuTFqgrxxFSlMktZ6gQrQCWe38WnOXkB
oY6n/5lSJdfnuGd2UagZ/9dkaGMUkqt+5WshLFly4BnP7pSsWReKgMP7etRTwn3S
zk1OwFx2lzY1EnnconPLfPBc6rWG2moA6l0WX+3WNR1B1ndqpl2hPSjT2jUCBWDV
rGOUSX7r5f1WgtBeNYnEXPBCUUM51pFGESmfHIXQrqFDA7nBNiIVFDJTmQzuEqIy
Jl67pKNgooij5mKzRhFKHfjLRAH4mmWZlB9UjDStAfFBAoDFHwd1HL5VQCNQdqEc
/9lZDApqWuCPadZN+pGouqLysesIYsNxUhJ7dtWOWHl0vs7/3qkWmWun/2uOJMQh
ra2u8nA9g91FbOobWqjrDd6x3ZJoGQf4zLqjmn/P514gb697788e573WN/MpQ5XI
Fl7aM2d6/GJiq6LC9T2gSUW4rbPBiqOCeiUx7Kd/sVm41p9TOA7fEG4bYddCfDsN
xaQJH6VRK3NOuBUGeL+iQEVF5Xs6Yp+U+jwvv2M5Lel3EqAYo5xXTx4ls0xaxDCu
fudcAh8CMMqx3fguSb7Mi31WlnZpk0fDuWQVNKyDP7lYpwc4nCCGNKCj622ZSocH
AcQmX28L8pJdLYacv9pU3jPy4fHcQYvmTavTqowGnM08RGVtaSBNYXJpZSBPYmVu
b3VyIChsb3ZlciBvZiBjb2RpbmcpIDxkZW1pb2Jlbm91ckBnbWFpbC5jb20+wsF4
BBMBAgAiBQJafgNKAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRCyiLVf
/5wiwYa/EACv8a2+MMou9cSCNoZBQaU+fTmyzft9hUE+0d5W2UY1RY3OsjFIzm9R
/4SVccfsqOYLEo+S0vQMIIIqFEq3FCpXXwPzyimotps05VA8U3Bd7yseojFygOgK
sAMOAee2RCaDDOnoJue01dfZMzzHPO/TVdp3OvnpWipfv5G1Xg96rwbhMLE3tg6N
xwAHa31Bv4/Xq8CJOoIWvx6fcmZQpz01/lSvsYn0KrfEbTKkuUf0vM9JrCTCP2oz
VNN5BYzqaq2M4r+jmSyeXLim922VOWqGkUEQ85BSEemqrRS06IU6NtEMsF8EWt/b
hWjk/9GDKTcnpdJHTrMxTspExBiNrvpI2t+YPU5B/dJJAUxvmhFrbSIbdB8umBZs
I3AMYrEmpAbh5x7jEjoskUC7uN3o9vpg1oCLS2ePDLtAtyBtbHnkA4xGD7ar8mem
xpH9lY/i+sC6CyyIUWcUDnnagKyJP0m9ks0GLsTeOCA0bft2XA6rD6aaCnMUsndT
ctrab42CV5XypjmC4U1rPJ8JQJUh1/3P48/8sMH+3krxpJ06KNWNFaUbaMTGiltZ
7x9DngklSYrX0T+2G4kVXNmjaljwkoLahwLla2gUWwBSyofXdqyhQdwZsp01KXNQ
UCyT/Pg+aDcm/E7OMV3d4lf7g/CSxiX2GSEe6BlhSz+Lmd7ZJ3g32M1ARGVtaSBN
YXJpZSBPYmVub3VyIChJVEwgRW1haWwgS2V5KSA8ZGVtaUBpbnZpc2libGV0aGlu
Z3NsYWIuY29tPsLBjgQTAQgAOBYhBHaHTZ8TNroiWQcccbKItV//nCLBBQJgOEV+
AhsDBQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJELKItV//nCLBKwoP/1WSnFdv
SAD0g7fD0WlF+oi7ISFT7oqJnchFLOwVHK4Jg0e4hGn1ekWsF3Ha5tFLh4V/7UUu
obYJpTfBAA2CckspYBqLtKGjFxcaqjjpO1I2W/jeNELVtSYuCOZICjdNGw2Hl9yH
KRZiBkqc9u8lQcHDZKq4LIpVJj6ZQV/nxttDX90ax2No1nLLQXFbr5wb465LAPpU
lXwunYDij7xJGye+VUASQh9datye6orZYuJvNo8Tr3mAQxxkfR46LzWgxFCPEAZJ
5P56Nc0IMHdJZj0Uc9+1jxERhOGppp5jlLgYGK7faGB/jTV6LaRQ4Ad+xiqokDWp
mUOZsmA+bMbtPfYjDZBz5mlyHcIRKIFpE1l3Y8F7PhJuzzMUKkJi90CYakCV4x/a
Zs4pzk5E96c2VQx01RIEJ7fzHF7lwFdtfTS4YsLtAbQFsKayqwkGcVv2B1AHeqdo
TMX+cgDvjd1ZganGlWA8Sv9RkNSMchn1hMuTwERTyFTr2dKPnQdA1F480+jUap41
ClXgn227WkCIMrNhQGNyJsnwyzi5wS8rBVRQ3BOTMyvGM07j3axUOYaejEpg7wKi
wTPZGLGH1sz5GljD/916v5+v2xLbOo5606j9dWf5/tAhbPuqrQgWv41wuKDi+dDD
EKkODF7DHes8No+QcHTDyETMn1RYm7t0RKR4zsFNBFp+A0oBEAC9ynZI9LU+uJkM
eEJeJyQ/8VFkCJQPQZEsIGzOTlPnwvVna0AS86n2Z+rK7R/usYs5iJCZ55/JISWd
8xD57ue0eB47bcJvVqGlObI2DEG8TwaW0O0duRhDgzMEL4t1KdRAepIESBEA/iPp
I4gfUbVEIEQuqdqQyO4GAe+MkD0Hy5JH/0qgFmbaSegNTdQg5iqYjRZ3ttiswalq
l1/iSyv1WYeC1OAs+2BLOAT2NEggSiVOtxEfgewsQtCWi8H1SoirakIfo45Hz0tk
/Ad9ZWh2PvOGt97Ka85o4TLJxgJJqGEnqcFUZnJJriwoaRIS8N2C8/nEM53jb1sH
0gYddMU3QxY7dYNLIUrRKQeNkF30dK7V6JRH7pleRlf+wQcNfRAIUrNlatj9Txwi
vQrKnC9aIFFHEy/0mAgtrQShcMRmMgVlRoOA5B8RTulRLCmkafvwuhs6dCxN0GNA
ORIVVFxjx9Vn7OqYPgwiofZ6SbEl0hgPyWBQvE85klFLZLoj7p+joDY1XNQztmfA
rnJ9x+YV4igjWImINAZSlmEcYtd+xy3Li/8oeYDAqrsnrOjb+WvGhCykJk4urBog
2LNtcyCjkTs7F+WeXGUo0NDhbd3Z6AyFfqeF7uJ3D5hlpX2nI9no/ugPrrTVoVZA
grrnNz0iZG2DVx46x913pVKHl5mlYQARAQABwsFfBBgBAgAJBQJafgNKAhsMAAoJ
ELKItV//nCLBwNIP/AiIHE8boIqReFQyaMzxq6lE4YZCZNj65B/nkDOvodSiwfwj
jVVE2V3iEzxMHbgyTCGA67+Bo/d5aQGjgn0TPtsGzelyQHipaUzEyrsceUGWYoKX
YyVWKEfyh0cDfnd9diAm3VeNqchtcMpoehETH8frRHnJdBcjf112PzQSdKC6kqU0
Q196c4Vp5HDOQfNiDnTf7gZSj0BraHOByy9LEDCLhQiCmr+2E0rW4tBtDAn2HkT9
uf32ZGqJCn1O+2uVfFhGu6vPE5qkqrbSE8TG+03H8ecU2q50zgHWPdHMOBvy3Ehz
fAh2VmOSTcRK+tSUe/u3wdLRDPwv/DTzGI36Kgky9MsDC5gpIwNbOJP2G/q1wT1o
Gkw4IXfWv2ufWiXqJ+k7HEi2N1sree7Dy9KBCqb+ca1vFhYPDJfhP75I/VnzHVss
Z/rYZ9+51yDoUABoNdJNSGUYl+Yh9Pw9pE3Kt4EFzUlFZWbE4xKL/NPno+z4J9aW
emLLszcYz/u3XnbOvUSQHSrmfOzX3cV4yfmjM5lewgSstoxGyTx2M8enslgdXhPt
hZlDnTnOT+C+OTsh8+m5tos8HQjaPM01MKBiAqdPgksm1wu2DrrwUi6ChRVTUBcj
6+/9IJ81H2P2gJk3Ls3AVIxIffLoY34E+MYSfkEjBz0E8CLOcAw7JIwAaeBTzsFN
BGbyLVgBEACqClxh50hmBepTSVlan6EBq3OAoxhrAhWZYEwN78k+ENhK68KhqC5R
IsHzlL7QHW1gmfVBQZ63GnWiraM6wOJqFTL4ZWvRslga9u28FJ5XyK860mZLgYhK
9BzoUk4s+dat9jVUbq6LpQ1Ot5I9vrdzo2p1jtQ8h9WCIiFxSYy8s8pZ3hHh5T64
GIj1m/kY7lG3VIdUgoNiREGf/iOMjUFjwwE9ZoJ26j9p7p1U+TkKeF6wgswEB1T3
J8KCAtvmRtqJDq558IU5jhg5fgN+xHB8cgvUWulgK9FIF9oFxcuxtaf/juhHWKMO
RtL0bHfNdXoBdpUDZE+mLBUAxF6KSsRrvx6AQyJs7VjgXJDtQVWvH0PUmTrEswgb
49nNU+dLLZQAZagxqnZ9Dp5l6GqaGZCHERJcLmdY/EmMzSf5YazJ6c0vO8rdW27M
kn73qcWAplQn5mOXaqbfzWkAUPyUXppuRHfrjxTDz3GyJJVOeMmMrTxH4uCaGpOX
Z8tN6829J1roGw4oKDRUQsaBAeEDqizXMPRc+6U9vI5FXzbAsb+8lKW65G7JWHym
YPOGUt2hK4DdTA1PmVo0DxH00eWWeKxqvmGyX+Dhcg+5e191rPsMRGsDlH6KihI6
+3JIuc0y6ngdjcp6aalbuvPIGFrCRx3tnRtNc7He6cBWQoH9RPwluwARAQABwsOs
BBgBCgAgFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmbyLVgCGwICQAkQsoi1X/+c
IsHBdCAEGQEKAB0WIQSilC2pUlbVp66j3+yzNoc6synyUwUCZvItWAAKCRCzNoc6
synyU85gD/0T1QDtPhovkGwoqv4jUbEMMvpeYQf+oWgm/TjWPeLwdjl7AtY0G9Ml
ZoyGniYkoHi37Gnn/ShLT3B5vtyI58ap2+SSa8SnGftdAKRLiWFWCiAEklm9FRk8
N3hwxhmSFF1KR/AIDS4g+HIsZn7YEMubBSgLlZZ9zHl4O4vwuXlREBEW97iL/FSt
VownU2V39t7PtFvGZNk+DJH7eLO3jmNRYB0PL4JOyyda3NH/J92iwrFmjFWWmmWb
/Xz8l9DIs+Z59pRCVTTwbBEZhcUc7rVMCcIYL+q1WxBG2e6lMn15OQJ5WfiE6E0I
sGirAEDnXWx92JNGx5l+mMpdpsWhBZ5iGTtttZesibNkQfd48/eCgFi4cxJUC4PT
UQwfD9AMgzwSTGJrkI5XGy+XqxwOjL8UA0iIrtTpMh49zw46uV6kwFQCgkf32jZM
OLwLTNSzclbnA7GRd8tKwezQ/XqeK3dal2n+cOr+o+Eka7yGmGWNUqFbIe8cjj9T
JeF3mgOCmZOwMI+wIcQYRSf+e5VTMO6TNWH5BI3vqeHSt7HkYuPlHT0pGum88d4a
pWqhulH4rUhEMtirX1hYx8Q4HlUOQqLtxzmwOYWkhl1C+yPObAvUDNiHCLf9w28n
uihgEkzHt9J4VKYulyJM9fe3ENcyU6rpXD7iANQqcr87ogKXFxknZ97uEACvSucc
RbnnAgRqZ7GDzgoBerJ2zrmhLkeREZ08iz1zze1JgyW3HEwdr2UbyAuqvSADCSUU
GN0vtQHsPzWl8onRc7lOPqPDF8OO+UfN9NAfA4wl3QyChD1GXl9rwKQOkbvdlYFV
UFx9u86LNi4ssTmU8p9NtHIGpz1SYMVYNoYy9NU7EVqypGMguDCL7gJt6GUmA0sw
p+YCroXiwL2BJ7RwRqTpgQuFL1gShkA17D5jK4mDPEetq1d8kz9rQYvAR/sTKBsR
ImC3xSfn8zpWoNTTB6lnwyP5Ng1bu6esS7+SpYprFTe7ZqGZF6xhvBPf1Ldi9UAm
U2xPN1/eeWxEa2kusidmFKPmN8lcT4miiAvwGxEnY7Oww9CgZlUB+LP4dl5VPjEt
sFeAhrgxLdpVTjPRRwTd9VQF3/XYl83j5wySIQKIPXgT3sG3ngAhDhC8I8GpM36r
8WJJ3x2yVzyJUbBPO0GBhWE2xPNIfhxVoU4cGGhpFqz7dPKSTRDGq++MrFgKKGpI
ZwT3CPTSSKc7ySndEXWkOYArDIdtyxdE1p5/c3aoz4utzUU7NDHQ+vVIwlnZSMiZ
jek2IJP3SZ+COOIHCVxpUaZ4lnzWT4eDqABhMLpIzw6NmGfg+kLBJhouqz81WITr
EtJuZYM5blWncBOJCoWMnBEcTEo/viU3GgcVRw=3D=3D
=3Dx94R
-----END PGP PUBLIC KEY BLOCK-----

--------------FDnph8dZOE8tGRxZQEtoTMta--

--------------BCSXnPJT0JDtHb0caqd0JhdV--

--------------0kfV0gzEPwgDUbm1IibRV4W0
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEopQtqVJW1aeuo9/sszaHOrMp8lMFAmj0PSEACgkQszaHOrMp
8lPnSg//eNYOmcap+fcEmdgNhjOtPEb66+mn7JtcIMi1qwrd/m88K2UwxkiXe6Vd
lxh1IS/jnxyfAnjhGqLNEotBvcRBVbl6dCo96bAWfDaTgYt5e88yjsawO2cmOiOw
dpj3/QfCvfCp5kI03BRo/QZ29wpZK5U6c96meBOapf6dEVVnOZAprflmCKwxwV9Y
uwnizJP49023cjZOGADTnH1EK0J0ylMu4mbXLbOjYIjY6+1C2MxUIUa3YkC0uaCe
FY79JNLYp0hvCU8wWG2qZXxV0d26oddVPMkeHe6F1wucgRhYQ4/NyeEnBrDajEUy
NKwtM0Cx43e4fI6WKwhF7nRSaMw2vCEdPGfkOHJBHq3sLLFBHlWpJJrLVjgqKZ0c
ksHXXze6G7FzDzSmd8nzEed5GYdxaDUMK356erJgoyiPpoo3cDq8r2x9Wgpc3qn/
jidzj/H61xKj6K/hAKRVxjg5ZF0Do0QT/rQh3tHzt52RBnG22KGPZImHowWySMxI
swyjZDMFHR59vnHb5vehGXEtCnzEuldLmjHGj5/LbXV9FsHtgfbe5nHZF1Bu5UlC
XWwLqKBcBbRmO2sgteVs1IMb+fglEg4Cek9qMNhvI86dbkbUnBKUXW7t0T9D6J17
puoiMN8PmGAybh29v+QG21A0QP0v5/COvlkh6b7MsXhQhRylgBw=
=8NP9
-----END PGP SIGNATURE-----

--------------0kfV0gzEPwgDUbm1IibRV4W0--


From xen-devel-bounces@lists.xenproject.org Mon Oct 20 05:54:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 05:54:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1145973.1478474 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAiqG-0001L4-9X; Mon, 20 Oct 2025 05:54:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1145973.1478474; Mon, 20 Oct 2025 05:54:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAiqG-0001Kw-4T; Mon, 20 Oct 2025 05:54:00 +0000
Received: by outflank-mailman (input) for mailman id 1145973;
 Mon, 20 Oct 2025 05:53:58 +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 <SRS0=7iz2=45=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vAiqE-0001Kn-Kl
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 05:53:58 +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 287a8863-ad79-11f0-980a-7dc792cee155;
 Mon, 20 Oct 2025 07:53:53 +0200 (CEST)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-47103b6058fso27626225e9.1
 for <xen-devel@lists.xenproject.org>; Sun, 19 Oct 2025 22:53:53 -0700 (PDT)
Received: from ?IPV6:2003:ca:b70c:6a14:d8fb:347b:52d3:727d?
 (p200300cab70c6a14d8fb347b52d3727d.dip0.t-ipconnect.de.
 [2003:ca:b70c:6a14:d8fb:347b:52d3:727d])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-47114423862sm215881545e9.1.2025.10.19.22.53.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sun, 19 Oct 2025 22:53:52 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 287a8863-ad79-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760939632; x=1761544432; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=SWNUGj0NiD3hC9NE4Xx5P4ljV476HfXn2ly5pkw26og=;
        b=VRIzMQfjr2hyZTbwOcAokF/Po0dPzwM9SGLU2OqFs2ZpBNt0HNxEIPFzbcOwT3mUNF
         nrjKAhoqrdsjc1lXOCYyEUSZhzCRzM0qAFSl9JxHuuP2cuI4mqSo6zdmpA/d3dyvj3So
         1JsLg3dWSDy5pRSdC18ADYpa7Sb6fTBfnHuqqlW3fBUiTiVqUCqAUobspZmffaVSqMjs
         KKv0YRPr3olpluUGYOvg8Ag9skt1GGfyE7qYerLM5mDfINooqTs2bA7Y2s+jbRHrt4EG
         8UlwaUAbQCiGEG8+1B+dCH76sILuhUEwbAq5KYfBasdZld8IhwuW6niW8XlHFsA7QqxW
         GBCw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760939632; x=1761544432;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=SWNUGj0NiD3hC9NE4Xx5P4ljV476HfXn2ly5pkw26og=;
        b=RgSvxZUbHqH0/uziLNp39TijdSShHpuyAGt6X28MtWKgm+U+nuNjQq11zDRBxtDBqQ
         HNzIUWZvRLAiQVfvAHcaqZ1qg9+W16HzoC6m2YIcQpqGIrvKsvpWZKcIFMOt6RqNOHLl
         Y9fLVop+l6ad52hFqymd7xaHxTP+cS2hmls19my5q6Ms9LuAA5GpT+fM/u5t2LpE3POv
         EIhRwbMdsNILdx1S9rUtPiYlRcW4BRofXE+oUrrj5fBs45vyCGVnNaXB10tj5gxJmYl0
         lOPMA2zEoZaz5zQKpiQR0VifZ2fSVXzQ6NizXO4dafYsGFbxx6G1NSjjD7188M/HQhj5
         bFhw==
X-Gm-Message-State: AOJu0YxyK5G3Z98jS6/q9ENot6xXJCV8xLeMu2PooSi6XbOwQNqF44mv
	6X1u4YSxP/gQNSGfmGLVo+xcSpDRQZ8ljEexsrJ01hAytbtczj5P+ugUmsapEnILOg==
X-Gm-Gg: ASbGncuIwNfB35JV8SwTw3KxfthgdEHoteYjLSk5ATyIM9+KHnXNlcoTerdiOjlljE/
	iTWD2CfGairLWOSpiAub+/WLksomWdi+mIT2HkOw87w9COoVte1TkpoTt0rds9tLDNccNtrw2ar
	/eyY6rQdOjV0I0NyMxgNn6o4UAtwhtQu6dGPFODdRj6hqGvWELJX5n04ElGMJGTFU3PcrYDbchS
	+moIycws44VuTdQLL0sjC8+VsNeNyQIiIK356+VHVoYg3tpsXal05Ha3vwOZ+BEXoNURuEbcG9E
	fB7Xl/pEQfou7UYHLoVKRrPysTNSm3PvLRTduoDXYGrbBuH9k9LgJ0oIRhY/hxh+ckUmyvAShqj
	VmgKjjRB0zdlH2GVrucjB9in6Qa52Uj1FK39qCNKTMDNboy7syTQ64HCzlxjgF03R3Y5ui1ui3G
	pZO9Q/v8IduF1tsrDrNBp7M5ymVbe3FA37+a9kAXW2UX4HL0d43gOyreO/2CaMyLNyjTq4o2gw5
	bv0ISKyRuqE4/pOBxo1JiB3lQ4n1pGDgCxU5w==
X-Google-Smtp-Source: AGHT+IHzlfj6wsgPJg2MuueUtINxTxfgAo4RlUIEShzS5NfUGjP3s3uI0rFfOfo9lKJp4xI2Xpjevg==
X-Received: by 2002:a05:600c:8a16:10b0:46e:24a4:c247 with SMTP id 5b1f17b1804b1-471099254f6mr93066515e9.5.1760939632548;
        Sun, 19 Oct 2025 22:53:52 -0700 (PDT)
Message-ID: <1e14d71a-4c23-46d9-a123-475a22bdc856@suse.com>
Date: Mon, 20 Oct 2025 07:53:51 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21 03/10] x86/HPET: use single, global, low-priority
 vector for broadcast IRQ
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <8d94abf8-70d1-478c-885e-ff9a960ac72d@suse.com>
 <64d52793-be70-4ae8-9bae-ad88f6379395@suse.com> <aPEc3VWLI0ofq22f@Mac.lan>
 <39f00b12-a3f7-4185-a8fa-2c99c43695d9@suse.com> <aPH8Waqi5hJyCuzO@Mac.lan>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <aPH8Waqi5hJyCuzO@Mac.lan>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 17.10.2025 10:20, Roger Pau MonnÃ© wrote:
> On Fri, Oct 17, 2025 at 09:15:08AM +0200, Jan Beulich wrote:
>> On 16.10.2025 18:27, Roger Pau MonnÃ© wrote:
>>> On Thu, Oct 16, 2025 at 09:32:04AM +0200, Jan Beulich wrote:
>>>> @@ -497,6 +503,7 @@ static void set_channel_irq_affinity(str
>>>>      spin_lock(&desc->lock);
>>>>      hpet_msi_mask(desc);
>>>>      hpet_msi_set_affinity(desc, cpumask_of(ch->cpu));
>>>> +    per_cpu(vector_irq, ch->cpu)[HPET_BROADCAST_VECTOR] = ch->msi.irq;
>>>
>>> I would set the vector table ahead of setting the affinity, in case we
>>> can drop the mask calls around this block of code.
>>
>> Isn't there a problematic window either way round? I can make the change,
>> but I don't see that addressing anything. The new comparator value will
>> be written later anyway, and interrupts up to that point aren't of any
>> interest anyway. I.e. it doesn't matter which of the CPUs gets to handle
>> them.
> 
> It's preferable to get a silent stray interrupt (if the per-cpu vector
> table is correctly setup), rather than to get a message from Xen that
> an unknown vector has been received?
> 
> If a vector is injected ahead of vector_irq being set Xen would
> complain in do_IRQ() that that's no handler for such vector.

As of now, setup_vector_irq() makes sure the field isn't uninitialized
(i.e. left at INT_MIN). With that change dropped (see below), there
would indeed be such a risk (on the first instance on each CPU).

>>>> --- a/xen/arch/x86/include/asm/irq-vectors.h
>>>> +++ b/xen/arch/x86/include/asm/irq-vectors.h
>>>> @@ -18,6 +18,15 @@
>>>>  /* IRQ0 (timer) is statically allocated but must be high priority. */
>>>>  #define IRQ0_VECTOR             0xf0
>>>>  
>>>> +/*
>>>> + * Low-priority (for now statically allocated) vectors, sharing entry
>>>> + * points with exceptions in the 0x10 ... 0x1f range, as long as the
>>>> + * respective exception has an error code.
>>>> + */
>>>> +#define FIRST_LOPRIORITY_VECTOR 0x10
>>>> +#define HPET_BROADCAST_VECTOR   X86_EXC_AC
>>>> +#define LAST_LOPRIORITY_VECTOR  0x1f
>>>
>>> I wonder if it won't be clearer to simply reserve a vector if the HPET
>>> is used, instead of hijacking the AC one.  It's one vector less, but
>>> arguably now that we unconditionally use physical destination mode our
>>> pool of vectors has expanded considerably.
>>
>> Well, I'd really like to avoid consuming an otherwise usable vector, if
>> at all possible (as per Andrew's FRED plans, that won't be possible
>> there anymore then).
> 
> If re-using the AC vector is not possible with FRED we might want to
> do this uniformly and always consume a vector then?

Right now it saves us a vector. I'd leave the FRED side for when that's
going to be implemented. Which - aiui - isn't going to be straightforward
anyway, due to (at least) requirements around IRQ_MOVE_CLEANUP_VECTOR.

>>>> --- a/xen/arch/x86/irq.c
>>>> +++ b/xen/arch/x86/irq.c
>>>> @@ -755,8 +755,9 @@ void setup_vector_irq(unsigned int cpu)
>>>>          if ( !irq_desc_initialized(desc) )
>>>>              continue;
>>>>          vector = irq_to_vector(irq);
>>>> -        if ( vector >= FIRST_HIPRIORITY_VECTOR &&
>>>> -             vector <= LAST_HIPRIORITY_VECTOR )
>>>> +        if ( vector <= (vector >= FIRST_HIPRIORITY_VECTOR
>>>> +                        ? LAST_HIPRIORITY_VECTOR
>>>> +                        : LAST_LOPRIORITY_VECTOR) )
>>>>              cpumask_set_cpu(cpu, desc->arch.cpu_mask);
>>>
>>> I think this is wrong.  The low priority vector used by the HPET will
>>> only target a single CPU at a time, and hence adding extra CPUs to
>>> that mask as part of AP bringup is not correct.
>>
>> I'm not sure about "wrong". It's not strictly necessary for the HPET one,
>> I expect, but it's generally what would be necessary. For the HPET one,
>> hpet_msi_set_affinity() replaces the value anyway. (I can add a sentence
>> to this effect to the description, if that helps.)
> 
> I do think it's wrong, it's just not harmful per-se apart from showing
> up in the output of dump_irqs().  The value in desc->arch.cpu_mask
> should be the CPU that's the destination of the interrupt.  In this
> case, the HPET interrupt does have a single destination at a give
> time, and adding another one will make the output of dump_irqs() show
> two destinations, when the interrupt will target a single interrupt.

Just that as soon as the interrupt is actually in use, what is done
here doesn't matter anymore.

I continue to think the change is correct for the general case: I'd
expect these special vectors to normally (just not here) be used as
"direct APIC vectors", in which case the IRQ does have multiple
destinations.

Problem is - if I don't make this change, I still expect I ought to
make _some_ change here, as the following "else if()" might be getting
in the way. Then again the vector_irq[] assignment also isn't strictly
needed this early, as set_channel_irq_affinity() deals with that
anyway.

Bottom line - I guess I'll drop this change, realizing that adding
something here later on may then be harder to understand.

> If anything you should add the CPU to the affinity set
> (desc->affinity), but that's not needed since you already init the
> affinity mask with cpumask_setall().

Indeed.

> FWIW, I'm working on tentatively getting rid of the
> desc->arch.{cpu,old_cpu,pending}_mask fields and converting them to
> plain unsigned ints after we have dropped logical interrupt delivery
> for external interrupts.

I'm aware, yes. And I realize this change - for the HPET case - would
be getting in the way (to some degree).

Jan


From xen-devel-bounces@lists.xenproject.org Mon Oct 20 06:26:52 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 06:26:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1145987.1478483 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAjLy-0005Rc-Kz; Mon, 20 Oct 2025 06:26:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1145987.1478483; Mon, 20 Oct 2025 06:26:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAjLy-0005RV-Hj; Mon, 20 Oct 2025 06:26:46 +0000
Received: by outflank-mailman (input) for mailman id 1145987;
 Mon, 20 Oct 2025 06:26:45 +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
 <SRS0=uuZq=45=gmail.com=freddy77@srs-se1.protection.inumbo.net>)
 id 1vAjLx-0005RO-DV
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 06:26:45 +0000
Received: from mail-yx1-xb131.google.com (mail-yx1-xb131.google.com
 [2607:f8b0:4864:20::b131])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id be5d2fd1-ad7d-11f0-980a-7dc792cee155;
 Mon, 20 Oct 2025 08:26:43 +0200 (CEST)
Received: by mail-yx1-xb131.google.com with SMTP id
 956f58d0204a3-63d97bcb898so5600464d50.0
 for <xen-devel@lists.xenproject.org>; Sun, 19 Oct 2025 23:26:43 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: be5d2fd1-ad7d-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760941602; x=1761546402; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ko2sldK7uY2DT4qb99pibLMwYTBNreOTJ9xVOLP0KHM=;
        b=AEQkeyRdh+AnpO5inFktuwg9nFQ47H0ZGEhzlORTrxBCEhNtm02+RUWAM62kcMSxeT
         kOrtuzYydnGUJUcmzBy/z3NPQubQ+eADrOnxvfivMGSLpzY3nTKid2fe3LB3OgRuloHJ
         wGBGP4MV+L1yFQPvwGQXQojZKitL6Yfb7thT0SySdfP008r3t98mQrAGdaC/v5pvAX0Q
         5FCbFSG/lnlQaamjv94/F2a+XSPJVeFsMIJeVsOgfm9ppDNxKBbMyMiYaqGokjU/VOKP
         LO/FOCPL+KMxDbb52iaSHHK6DLgBX3ZLDGulAO4QlX+/3Yv6Q2P0UxmQcRlM9qEjcrup
         FBcw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760941602; x=1761546402;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=ko2sldK7uY2DT4qb99pibLMwYTBNreOTJ9xVOLP0KHM=;
        b=ka5hqk8u0J8/vQTWiIXbEfFWG/EPU6EzRE1u0yLnhtTJByXtBwKlnDY4VZ3lrtS5la
         1OLwzBDtxnqPO/KH+qo5th8eKue9xbx8/l+uEVBK6l/02Q2cZAkP76Q+VSeZGFA+bSAM
         wAvMP1v0r35vcQT3qaINkQx5IO6Tl/PZFbjKW3081BYtas5db+IT8Nh1/71T5YI6mm0W
         8EwV58JyxlwsVJ6Mzxgi+91rlFmvNRHWQzNy+R9UIDjpA7iC0+BL+hpTiVUZaFU9KdJh
         9DNMZPcYJnFU4XlBrMoiHjoYXMgAbKhNLDa2ZQ6lgjoxHRIHg9kBCB8QWJxIsnSVT716
         Q1Wg==
X-Gm-Message-State: AOJu0YysGLhfeXfv0PBRLnzTasWM1UTJdb7oXG7VMW4iwSyc4OosQfm8
	I7fVEGT9WBLVl/tIhmTsssehCdRuOEnX6uOOn2vwtNjcBF4l/+r9DYSAbi5wxcqn0gdskqKFi/v
	p9jj2gqq3cdaZtOeL20XARa4Smzu06ok=
X-Gm-Gg: ASbGncvFhE7EEdBZ/N9s8hYLLhsTatxW33MkxxnEwcMUhGAaVj6PABvHqhxBfD5vSp6
	qKQlTbi/gfhZrvjDXcP2RnELe8gqDQFi4UIOhJ6evzKmmhf8nRAbc1U87OLJOit3pAe5FNVZjBx
	bzFgLqVCtktsOkATFyrXAczAAUGRzZkheqrlg0zpV9n/N7HMkgj2sl+0k1GQPZm2FZmb8TVgfPb
	8lkDNzzO5ckFC1OdThq8OdQeRokPjdQbgncKYJtYCEmrHMsWNEs/wRJyHK0gFzNbTVzhkE=
X-Google-Smtp-Source: AGHT+IFFC016dxyZqOTJWu6xLttimZVvuqxYgVeY4dk8a2s+5rL+u4tSJUR7m5KYiuWAp5Ol7+VkqNInXCBJLijJwf8=
X-Received: by 2002:a05:690e:400d:b0:63e:1521:c29f with SMTP id
 956f58d0204a3-63e1521c72fmr10017493d50.17.1760941601867; Sun, 19 Oct 2025
 23:26:41 -0700 (PDT)
MIME-Version: 1.0
References: <bdead1be-cd8f-4cca-ae70-e9744ae8b556@citrix.com>
In-Reply-To: <bdead1be-cd8f-4cca-ae70-e9744ae8b556@citrix.com>
From: Frediano Ziglio <freddy77@gmail.com>
Date: Mon, 20 Oct 2025 07:26:30 +0100
X-Gm-Features: AS18NWACJdVPlNTj6k-dlWH22XaDvU1RCo1p4X4sOGpLnjUCpr53TV-dXr4FHjM
Message-ID: <CAHt6W4eRvy_Y3w5WbnVFaOrWYZDT1SqY-vLLG8-0ha=Ckf3Ldw@mail.gmail.com>
Subject: Re: lost serial characters on boot
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>, Jan Beulich <jbeulich@suse.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Denis Mukhin <dmkhn@proton.me>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, Oct 17, 2025 at 6:16=E2=80=AFPM Andrew Cooper <andrew.cooper3@citri=
x.com> wrote:
>
> Hi,
>
> I think we've got a bug with the serial console.  I'm reliably loosing a
> small part of the boot message. e.g.:
>
> (XEN) Latest ChangeSet: Fri Oct 17 17:24:59 2025 git:5e79cfcd2100
> (XEN) build-id: d1536ff6698b3e3ba307d551abf
>  Family 25 (0x19 Stepping 1 (raw 00a00f11)
> (XEN) BSP microcode revision: 0x0a001137
>
> whereas from xl dmesg after the system boots, we see things correctly:
>
> (XEN) Latest ChangeSet: Fri Oct 17 17:24:59 2025 git:5e79cfcd2100
> (XEN) build-id: d1536ff6698b3b8968e883fc39e3ba307d551abf
> (XEN) CPU Vendor: AMD, Family 25 (0x19), Model 1 (0x1), Stepping 1 (raw
> 00a00f11)
> (XEN) BSP microcode revision: 0x0a001137
>
>
> The lost bit of text differs even when rebooting the same Xen binary,
> but it's always around this area, very early on boot.
>
> I've been seeing this for a little while, but one of my common dev
> machines is showing it fairly reliably at the moment.
>
> Checking a transcript of the terminal, we're missing characters, rather
> than having additional control characters causing the corruption.
>
> I suppose I need to stare at console_init_preirq() some more, but if
> anyone has ideas, I'm all ears.
>
> ~Andrew
>

Which kind of serial do you have ? Standard ns16550 ?

Frediano


From xen-devel-bounces@lists.xenproject.org Mon Oct 20 07:47:02 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 07:47:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146001.1478494 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAkbO-0006Sl-5F; Mon, 20 Oct 2025 07:46:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146001.1478494; Mon, 20 Oct 2025 07:46:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAkbO-0006Se-2V; Mon, 20 Oct 2025 07:46:46 +0000
Received: by outflank-mailman (input) for mailman id 1146001;
 Mon, 20 Oct 2025 07:46:44 +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 <SRS0=7iz2=45=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vAkbM-0006SX-Hq
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 07:46:44 +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 eb3e6f5e-ad88-11f0-980a-7dc792cee155;
 Mon, 20 Oct 2025 09:46:42 +0200 (CEST)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-471131d6121so32021865e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 20 Oct 2025 00:46:42 -0700 (PDT)
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-471144d17cdsm214764755e9.18.2025.10.20.00.46.41
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 20 Oct 2025 00:46:41 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eb3e6f5e-ad88-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760946402; x=1761551202; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=B1HadU0t8k4JN7ZRq6l7r8ZkLRgJxDZMIeBI0AtYhIA=;
        b=L9DYYjH0CiTJ9BbD/xSVAJUtaFHu6xvoDvhu1Q+i8IMoYeN+GTWmEMmsR9V3tq1fqM
         83cFOzk2dj3EHKrqqc3yfOS7w4gVuS81rPQhwkMZ8XlYT8i3PchDcM4pveZqCXeUN01D
         LOFrc+6hXILbFrSVgozYpLCKT29Bz7dlLFWGJbDp4e9gqK2JmyamLedZGEMRIpllwF0M
         JcDFARz7bjqbMXNLhrl2WsEoczd9p0ol2LQx0GiiHH1FJiZNAw7OXV+doTAZHmCsr9Uk
         6oHuAnz+7FLIyOa67jqvTHvovhKcpv7lQo96qxSRn8JZu1G4QjrEUD4RH7+aP5QKLSv6
         MHtQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760946402; x=1761551202;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=B1HadU0t8k4JN7ZRq6l7r8ZkLRgJxDZMIeBI0AtYhIA=;
        b=LphLR8c59qNdCWr5htzJVoYFhp9ptYnAJbTgqJPPE/cjr/WMzXAXAbnbYG1w1cyM4Y
         M2Od087LDztI+BJAddcS7l2mNgcZRnGIxECoU/eyRGAnogO15qlwZcF2wPuyGRJkEBDa
         PWmwD6I0ZvNtofL9RKsQMb4v3NZ8+fD5LIxbeSuEsIj5kHYQ1NuCey4KD+lwRH8PXD2V
         u9YEU4izM9Ilx36sTtW0HDkjEQkaV9zJC3eWzrlBd83FYlRdR2PIIdrafvvYRKFgkYqL
         sBmP24pk4r8kr1HxLIFOGo4dxS/0gf9Mi9yxYsGt/QjbE6i6LD0Iv8FriPxNcbeTSl2U
         MDqg==
X-Forwarded-Encrypted: i=1; AJvYcCXKsMS84wPSCDsZzsvvkjD4qEWyYX8BCgHE2yCzeHqqD3BmoDepGsbySQrHNEsz6esZqjreZRrAh80=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx1CR4nyPboz/VM62osv8RwzPVycnEdCx8bPfhiQ4o4Zg+Gxy3G
	9luEJdVGQzftbq0djNXROOBbW6P9ukXcDOSgj6wbAP+PSeJgAasvudaGPqtM5Ar9nQ==
X-Gm-Gg: ASbGncuUjXXTMK62xhP1gcbn8ZVqkL4X5A+HJGJiQJ6h1o1c28sw654Ufngjewkr87m
	QLY2Luv7pO+UaJGvcBYzRR5VwInJgjuso52PXbETJUizTviwxSAC8H1/mFzz89+uYml6fa74KcC
	of3UzLBfkEptg5fc49sxWrGBeH1sgE8Za0F0Atd6zxaFGM1TlyEdHTHs+5J432P6lNrXN8IbNLZ
	lWdEWKPRkTWk64m+LEzP00B5cH4IArmpA/mHD/wcUvufLTvd5JWzqcVpb+uC9ZWiVJtN6adJVjC
	7PfgZaexNOmwLHvH+G5zmTrdZ+Hllt5YZs0l6PBzHISwfECLcz0k06tikWKIfKpOQA4kkih41kJ
	PtRB0xN0x00ENyY+UEapLvPf7jlJ/uw/hV2bH4Uq7VDbg0HzKk1+kCDYOKLqwmZXYyIhd1kVtnc
	A/6kAzCQvC1nexs2x0SxLDG2dMoW0ZT6CVsXFHunQpW3B0Csn2/1t4YEqlWFmI
X-Google-Smtp-Source: AGHT+IHd6HETIH55DBmeOw9uKWSCE2czgfajJ+6IOmLC/7qhsU/lcidBkFkqHiFFx+WVYuGMhIOTEw==
X-Received: by 2002:a05:600c:670a:b0:45d:d97c:236c with SMTP id 5b1f17b1804b1-471179017f3mr74140645e9.21.1760946401750;
        Mon, 20 Oct 2025 00:46:41 -0700 (PDT)
Message-ID: <706663d2-61dd-4fb0-b278-d3282dc7b5ca@suse.com>
Date: Mon, 20 Oct 2025 09:46:42 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21] tools/libxc: fix xc_physdev_map_pirq_msi() with
 PCI segments != 0
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: oleksii.kurochko@gmail.com, Anthony PERARD <anthony.perard@vates.tech>,
 Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
References: <20251017141434.15205-1-roger.pau@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251017141434.15205-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 17.10.2025 16:14, Roger Pau Monne wrote:
> Otherwise it's not possible for device models to map IRQs of devices on
> segments different than 0.  Keep the same function prototype and pass the
> segment in the high 16bits of the bus parameter, like it's done for the
> hypercall itself.

While easiest, that's an odd interface, though. Should, at the very least the
function parameter then be named e.g. "segbus", along the lines of "devfn"?

> Fixes: 7620c0cf9a4d ("PCI multi-seg: add new physdevop-s")

This commit wasn't about tool stack uses of the interfaces at all.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Oct 20 07:50:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 07:50:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146012.1478503 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAkez-0007xm-Kg; Mon, 20 Oct 2025 07:50:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146012.1478503; Mon, 20 Oct 2025 07:50:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAkez-0007xf-HH; Mon, 20 Oct 2025 07:50:29 +0000
Received: by outflank-mailman (input) for mailman id 1146012;
 Mon, 20 Oct 2025 07:50:28 +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 <SRS0=7iz2=45=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vAkey-0007xX-CZ
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 07:50:28 +0000
Received: from mail-wr1-x432.google.com (mail-wr1-x432.google.com
 [2a00:1450:4864:20::432])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 707ea979-ad89-11f0-980a-7dc792cee155;
 Mon, 20 Oct 2025 09:50:26 +0200 (CEST)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-3f0ae439b56so2970467f8f.3
 for <xen-devel@lists.xenproject.org>; Mon, 20 Oct 2025 00:50:26 -0700 (PDT)
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-427ea5bab52sm13811498f8f.22.2025.10.20.00.50.24
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 20 Oct 2025 00:50:25 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 707ea979-ad89-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760946625; x=1761551425; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=2AVMTbuE9hXKs1hVmKfa47hih711OJ9ionbspIQ+ilc=;
        b=gKZmnUW7lDzazBrJ/MX9/GSmatwtVZIOcJSEuSo9Y3fcxoHGkCMzez6KbkPbz+D5hs
         VKBWCeMAULzHu7ojR8Z1i1Gb3NQG6hMskOg28zuTmzoRh9QR3bFQXqKRE+iiBOUwxb+i
         93NnZMV7O4gGIEXj3PzQ8n3ZWssOpiuCbAVBBtBHCrTX7u95rHdBui0TwXUfm4K2wuDq
         7AhCE3JaNibQObB8/KeCcTr6zQmMxArlh2AwRUUu+h0abFtuKMaeNJvSF8IinH++0OGe
         CfW+XBM7Hj7YTn/b99jRp4XuJF7mS3lR66GzfWTBqp3yUpdK401nnWeSpgyNXE4110Us
         lTRg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760946625; x=1761551425;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=2AVMTbuE9hXKs1hVmKfa47hih711OJ9ionbspIQ+ilc=;
        b=nFfPIIZ9WkuK58UqEYGYz4zvg936ifI/Qs/yUqtCWXXaAeuqXKE3ZgnCcYzm/9MOKx
         WxJAR0LBnEBwGgyRx2K1axTzTdxP+iSONe204EKKt4v713Lqs8eQ3zxjuBVJFR4VFQ4W
         pikG1HFjiWK2w29gZEmnT+ZMWAcdplOIdg5LM7ysdNKUjuM+y1b4qIpr1yJUDbwfepfp
         su8Nus5QsC25Sibm2ipC/MOx3cDW+lCPDW1S1lg8hDObofdENfxuDmn7xl92rTnwZFYh
         PNro12MWWj1zVmQpYcToUkIC0WfJPR6ChsPHspLZzCjLgX2U13Qefhj/W76Lb38be1Ph
         pI5A==
X-Gm-Message-State: AOJu0YwGAwQYsWoWl1Va3xvv4bjcBWN4NxXr5MnlxwgM3Am/NFDBIyV3
	bc+DKtwx23OFhVQnWhb1XE61oExX7Z06jAGBT2t6YSkD6RLhc+D9/E3z3H9GMOWpFQ==
X-Gm-Gg: ASbGnctBIslVyyPc94z2Asbr+etqEQxw5Ca5YwceFDRDevM3aly6rQvKLEEkuLfDQZW
	mOksJLDP4XV9ZaulPzQ0IccGUjioi1fTxa21F59u3VhIPXPZQW3urpkqJ1bL9fKOJmA1Q+CPeUv
	aoyizpvEfZgymnSHYkgASuEBykp+1V5d/d8jUsX8m4hKLji9PvXViiy3lRBuPlbEMfxcvOtgAmX
	SO4tN0KkhbWsIwQPz8vgoOjPIAZeLzWVOTI20fTwa8iMJoRCCuaRRK7Lzv09HqtxkAwyQpTgpmD
	vUauaIHD/eLXCYG048RM55K4Rhp+EwzmOlkPcCQEQaP/6rYWAyLD+jYztXzhVnseL8UI7EGlCeI
	CLFmiWOnu70eNsgn8uQNV64rjDCQDtAOqZPIhx58aAhiKCj/d4uWIaSgthK+HlqCsqGO+HOYQ74
	0Vss6IDakNLyAVLhY0qE1rXnAdlNuZOydSv/elGZR8339bs9rXluhl82xHrP4M
X-Google-Smtp-Source: AGHT+IF3kNNuFWb7kNd9lmeCnDuXmdnmUTMdsxQpAXAE3F0UP3oM5LRLMFnLfhFDZf1pQCztzTZDaw==
X-Received: by 2002:a05:6000:2dc3:b0:426:d54d:224d with SMTP id ffacd0b85a97d-42704d7ebbamr9134942f8f.27.1760946625330;
        Mon, 20 Oct 2025 00:50:25 -0700 (PDT)
Message-ID: <d41d4d43-de76-4454-a198-6463feb9df8b@suse.com>
Date: Mon, 20 Oct 2025 09:50:26 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21] tools/libxc: fix xc_physdev_map_pirq_msi() with
 PCI segments != 0
To: Frediano Ziglio <freddy77@gmail.com>
Cc: xen-devel@lists.xenproject.org, oleksii.kurochko@gmail.com,
 Anthony PERARD <anthony.perard@vates.tech>, Juergen Gross <jgross@suse.com>,
 Roger Pau Monne <roger.pau@citrix.com>
References: <20251017141434.15205-1-roger.pau@citrix.com>
 <CAHt6W4dAEBH_9EF4nXB6_W0ehpawKpz+bMpZ__vN29OdVZxGQw@mail.gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <CAHt6W4dAEBH_9EF4nXB6_W0ehpawKpz+bMpZ__vN29OdVZxGQw@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 18.10.2025 06:46, Frediano Ziglio wrote:
> On Fri, Oct 17, 2025 at 3:26â€¯PM Roger Pau Monne <roger.pau@citrix.com> wrote:
>>
>> Otherwise it's not possible for device models to map IRQs of devices on
>> segments different than 0.  Keep the same function prototype and pass the
>> segment in the high 16bits of the bus parameter, like it's done for the
>> hypercall itself.
>>
>> Fixes: 7620c0cf9a4d ("PCI multi-seg: add new physdevop-s")
>> Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
>> ---
>> I think it's 4.21 material, as otherwise it's not possible to passthrough
>> PCI devices on segments != 0.
>> ---
>>  tools/libs/ctrl/xc_physdev.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/tools/libs/ctrl/xc_physdev.c b/tools/libs/ctrl/xc_physdev.c
>> index 25e686d7b389..1307d6836d72 100644
>> --- a/tools/libs/ctrl/xc_physdev.c
>> +++ b/tools/libs/ctrl/xc_physdev.c
>> @@ -79,7 +79,7 @@ int xc_physdev_map_pirq_msi(xc_interface *xch,
>>      }
>>      memset(&map, 0, sizeof(struct physdev_map_pirq));
>>      map.domid = domid;
>> -    map.type = MAP_PIRQ_TYPE_MSI;
>> +    map.type = MAP_PIRQ_TYPE_MSI_SEG;
>>      map.index = index;
>>      map.pirq = *pirq;
>>      map.bus = bus;
> 
> Reviewed-by: Frediano Ziglio <frediano.ziglio@citrx.com>
> 
> This was tested on a real machine.
> 
> About MAP_PIRQ_TYPE_MSI and MAP_PIRQ_TYPE_MSI_SEG, do we need to keep
> ABI compatibility or we should just remove MAP_PIRQ_TYPE_MSI_SEG and
> make MAP_PIRQ_TYPE_MSI consider the segment ?

Assuming you talk about the hypervisor interface, could you explain how
you see breaking ABI compatibility to not break anything? These aren't
tools-only interfaces, after all.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Oct 20 08:44:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 08:44:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146030.1478514 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAlVP-0006Lh-Se; Mon, 20 Oct 2025 08:44:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146030.1478514; Mon, 20 Oct 2025 08:44:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAlVP-0006La-Pl; Mon, 20 Oct 2025 08:44:39 +0000
Received: by outflank-mailman (input) for mailman id 1146030;
 Mon, 20 Oct 2025 08:44:39 +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
 <SRS0=abR8=45=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1vAlVO-0006LU-VD
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 08:44:39 +0000
Received: from SJ2PR03CU001.outbound.protection.outlook.com
 (mail-westusazlp170120002.outbound.protection.outlook.com
 [2a01:111:f403:c001::2])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 01d75b9a-ad91-11f0-9d15-b5c5bf9af7f9;
 Mon, 20 Oct 2025 10:44:37 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by BN8PR03MB5105.namprd03.prod.outlook.com (2603:10b6:408:d7::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.16; Mon, 20 Oct
 2025 08:44:33 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9228.016; Mon, 20 Oct 2025
 08:44:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 01d75b9a-ad91-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=EBFAAxYaFXo5W6CvZx/DZpJptSVEwF6V2m2AKisl9R/ftBISnl5QRNxQdgjcqVyd85wokt/6O+LniiLU4fZ6p4mNtL1T6E8D1ylycdGcg+hKhDzgR5qJsiY/HYR5BW9ilZE4KqV/2I1a8q/jxQTeAtBCD0HWwvDnpXbF2mbKh5HcPt2DVU0ORYfquPQdYILtlm9HViZXVHhRf63wOlzrOIISpAHe0sgZXkUWs+B2/PmLtHcSmjN//ALErDhAoRwvaNCx41cxJVzbxCAkPwDFksnW1Lxf3bZCnS3DcsHQsVM1nP4zmZz3+MhFnMDo6myT0QpA50hl8P1N6OvNz14jaA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=h6y6fC2D3pRQcEtFl24XaertPUovKtXxTty5LotGOpc=;
 b=PmexT2AaJOVJLkN1pk2vhsnT4T0/rs/tAfJ//0GNKtMJPIwk97PfRHAXo6U1cktrd8sQwfBSURTbKF+jqwYfd/EX9sZo3UU6TM2Rmjwkx8MxswYUzDozN8chH35nHApFV2N1lWKnocA8uPsBAmDXuzdwxK+B4K0KbMb+RF8X6HccuGAywX8Od/o0X0/CaejDV4ybSAXSxrmCruCLn5mEqF1Df67m/L0AFt76Ysif7eGyulLU0DjdK+BHJ43Cab961fRHVlku19vex84aDugrjD2JCcs88yEWiTtTb+vdQnqVrhjBZNtD1vfGBtMHLDyutCmF25WUDXcDl8ml1QFYLQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=h6y6fC2D3pRQcEtFl24XaertPUovKtXxTty5LotGOpc=;
 b=iTFgQcq1QtBHfXwCcved865QZYhSfN10469ZQdIecjsAPVymAdpcdNM0Th12wGCPixpIuRE62O2Hi1HxvfOpjoZwISqjVG9Au7jEFkePTJKVUEod/NTEih+OOFwwdzEOH+aJ5koRlbnVgtH2Ldodgh6yOfjORVzu2dqBSbuUmL0=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Mon, 20 Oct 2025 09:44:29 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Demi Marie Obenour <demiobenour@gmail.com>
Cc: Alejandro Vallejo <alejandro.garciavallejo@amd.com>,
	Jan Beulich <jbeulich@suse.com>,
	Grygorii Strashko <grygorii_strashko@epam.com>,
	Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Paul Durrant <paul@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v5] x86: make Viridian support optional
Message-ID: <aPX2bbm2Zaa9o1hs@Mac.lan>
References: <20250930125215.1087214-1-grygorii_strashko@epam.com>
 <3e4e4bc5-aa47-4357-9327-df2a9b9c9a1b@suse.com>
 <DDH3W3VM2ZDJ.PMFSGBWBTS0S@amd.com>
 <9248eda6-cf9b-4fdf-ab32-66e777585f65@gmail.com>
 <DDKPUZKA0UHL.2WRO9M23R4G3E@amd.com>
 <a7a2b126-489b-4bdc-ba0c-d0c92f8df822@gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <a7a2b126-489b-4bdc-ba0c-d0c92f8df822@gmail.com>
X-ClientProxiedBy: LO4P123CA0411.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:189::20) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|BN8PR03MB5105:EE_
X-MS-Office365-Filtering-Correlation-Id: fe781176-a31b-4e08-90ce-08de0fb4e3f3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|366016;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?TGM5VDlqcUN0SU5XL3RGUVFpWjR0bTB3R29weVk1cVV0alE2b1pFYVIxMDhN?=
 =?utf-8?B?R1F4N3duZkQ3bCt1enlIQTV1RjlsTGxRVjhxUVNSTFJ6enlMMXVkNjJHZHZU?=
 =?utf-8?B?dUh5c3hHT0IzcVp5Uk90VytJcUdmV0tZV1d1Qm82N3ZWR0Q0QzcrdUZDNzlw?=
 =?utf-8?B?am1NK2l0eUV2UHl4R3ZKTXpOZXdFazFlREQyT3g5RWVrRVpHNVhIOFd1SWlh?=
 =?utf-8?B?aVlDSFZLZitJMHlpZ3VKcVh1NHpaREpsSHJMc0tJZXRONUdCYURKdjg1dFIr?=
 =?utf-8?B?NzRMbENPaGg4UDhSMGU3cEhIMTN0UFJpajlGT3kyb0ltYjRXemQxYU9jRUdY?=
 =?utf-8?B?NHV3R0ljOVdKVExURTk3L040Vi9ud28yei9nWm9seGM2SGthYmVRdEN3UjBJ?=
 =?utf-8?B?enBKSU54MFU2eS9iSk1ZVlNrRHFXYUV4R01ZRXlYdnBubjBlemdRaFdLNm9W?=
 =?utf-8?B?WExxdS9UNGs4Y1VxL2RTa3NqOXZrM0FTM2FmTStaSnRtL1ltQisxbnpmamlL?=
 =?utf-8?B?SVp1R3czc3lCaUZDZTZSNmdzd1pycVpLVnNvVmdPbXhpT25sdVM1d1l5em8v?=
 =?utf-8?B?V25aSDFBZkJBUWVLZ0owRGRFdjh3Y1FIdkExaVVoMVU5bU95YklpSkV0bW9h?=
 =?utf-8?B?RVNRZUpHRFlTL3FVRkFXUmRIdkFQc25YYTFlMUszR3QxaFYyOVRkOEFXQURi?=
 =?utf-8?B?SU9IQW15alRCVlNjRHN5QjNTaWlHd3NGdE1JUUxpemQzVkx1K0tqb1FhWGZ4?=
 =?utf-8?B?NlBKNkIrT1E3ek5FZVJZNGtwNWtoU0hBcy9BdkZqbUZVVk1UR3pxcU1iNWwx?=
 =?utf-8?B?RWxZMGg5UVBHaDBUeFdNWk9VWVRvSkZqVk9WR2dOTitBbTFjUGV5azllb2d6?=
 =?utf-8?B?OTNhRzdmbzFsclpmbldHUkRiMG5LVUZZazU1SHEzallwYlNnME9xcGo3azkr?=
 =?utf-8?B?b1VNcFhCQ1daRFI1QlJUaXBWZ0JkMlVlZmpMTnBweTg3aWFod0pBcmJpSG9h?=
 =?utf-8?B?VW9ZaDZmenlzMHBnMWxmTnRIdWdmb1JKM2pFYzhySEV5bVgwSUhxblAyaldi?=
 =?utf-8?B?MlgxNE82L3k0dnpWK3hSNkhSOE5oWGFtUkdPN2pMRFcycXRvZWZZNVg5S0xZ?=
 =?utf-8?B?TXFKWjkxUDY1K0tGYTZqb3dINTA0bE9vVXgrZU40anRLTVFSKzhldTc2MFZT?=
 =?utf-8?B?NWpyK2Q1ZlcrT3JMbndQNnllNmZXZDRoajlwWUM5OWowcWo3SjB6NE8wbzFM?=
 =?utf-8?B?N0JVbk1tUlA1MW1yVE9abWVBc3pCaTZ4OWRPeHgxcGdEcmtaK0hMbmRLdThG?=
 =?utf-8?B?cFExU3lscFpHbXFJUGZ6WjM2eHhkVDRiZWszWHBaTnlXRi82K203UjllZC9y?=
 =?utf-8?B?aGt1NzVOZUF2aFdCbk0zU29SbXYvWkFmaGR4c1dxWDE2RXU2WkdRV005UzVy?=
 =?utf-8?B?M1VtZm5ka2I4QU9WdkloQitzRmYwT3hPRnRrc09uTDh2eWo2cUg1VGladFQr?=
 =?utf-8?B?b0pidWpPdHUyR2VzbzVxK2F5RHcvOUdzbHlJYlpOTENmZDNpeU03RHp0OEwx?=
 =?utf-8?B?RkkyTVZhYllYdHJZMzdURUMvbjRNMTZKYm0wQkZoS2prZG1ZcUFNdGdsZVhy?=
 =?utf-8?B?eGFXVzRTUkFYVUtLcGkvQlhybWxieGM5YU1HRFEzbXc5U05kUG9kTHlkOFBj?=
 =?utf-8?B?bmg5WUtwaHhqblA4bmpOREZKbklMVmplMjN2aGJIQ1hpSmFlWDllb0VBWnJI?=
 =?utf-8?B?bGNpanNWMVZxK0FNSTdFYmF2VXZud3M2TE9ybUlhTlEyQUhOdGpQU3F4MWxJ?=
 =?utf-8?B?ZmdDUUlSV1NjNTd0R1FXbEtnYnI5SFRrZSs0NFpNSGJQQjB0c3RtMzg5UVZx?=
 =?utf-8?B?ZFR1N3FmdWh6SjJ5TUxPRGJEQ2ErQkJYVVUvTStOTjNYZEpyTDZEaUdIbWQr?=
 =?utf-8?Q?AhBDIAO3NlBkgr3TkF3258k5RgUEVqdC?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SC9XOERJOHBkd3hTRkNsZEFuWklVSHpiTEI4QTdzWnRIYlVSU0kxWXJMWlVZ?=
 =?utf-8?B?Nmp3L0U2TVVsa2xzd1hsV1o4VTdZWEFUYTd4NGNLdDBEMTJJb21LSTRPYTZi?=
 =?utf-8?B?bURVbFJPOTExbjN0QUFpanhUVHlwbm1BVVFheXI1L0V5emdVS0R6Q1o0Nnd2?=
 =?utf-8?B?ajVUL0dndlhMVEhITkpoUjJWdXZLUU5vTU42NjAyRkMrbHNML2llRTk2enow?=
 =?utf-8?B?NE05YnB4T3B5NWFHWExFOE96T1Q1UjNET1V1eU0xNGx1VlpyK2NzRjBWMU1h?=
 =?utf-8?B?ZGw0NU5iK1lzK3Z1QVYrVWhoM3hjYlRZYXlaRmhnMDdxR2kvbUxLRVdoWTQ0?=
 =?utf-8?B?YnpkNkFOeFdOOVhydVIrVnc1aUJGTTFTK3NNQkFVUXFabjM5dVB6TGJ5WWtS?=
 =?utf-8?B?VWNQUFNBcWVtWlk2eFp2aGgxM0RVRklUSGFnNmxLbC9sSjBwQ2hUT2FmVzFV?=
 =?utf-8?B?cXNZT2k0SGJLaGJjakpiK0ZsdXlSYy85SDZjRG1qVUMvWkN6cWJvU3lBUzNB?=
 =?utf-8?B?cmpRejZlWkUwbmJvNnZXRE9nZHM5VTZEcnluT3gxZDNOdytra3gzRmlHMUt1?=
 =?utf-8?B?Y1VNcFZDSVMrR0JjMGVUdldGcG9XZndQZkV0UVA2bk5QcjBxMC9IQ0xkVWFM?=
 =?utf-8?B?MHhuSVUxMGFjRHlML2UzcXlWd2lYWllWeDJiSnVVRU4wQ2s5ano0MFZmeHd4?=
 =?utf-8?B?UkV5V3dxRTBzNGMzWHQ2Tlc2M0t4MTUrekRoT1lHSUQrckorNXBxODdiV2w5?=
 =?utf-8?B?VDhBMFJzdWprOEtoNDRmOHgySXBHZmxRbjdrSjZIa29ZSFQwOXV2Y2c0UlFk?=
 =?utf-8?B?UzBBNHV0UThjTVVWSVVISVh4WGpoMGVOb1Jsbng2QVYvK1JUOWdHa0tkZ2V5?=
 =?utf-8?B?Q1U5MXlqUWVqeFlrS3pMYnhsRGFZNzNBNjh0OFJ3QlFZYTJyMkFlVnAxR3kv?=
 =?utf-8?B?NFNPekhBUDZMcG1ZK2xYK3YwRmpiNGt4d29QR2VSWDFJKzJqREdCSnprY0ww?=
 =?utf-8?B?ckFySGFESk1DQi9CeXNKcDI2OHB3M2lYeW0yUlJRS09KQU9hd2FTaFV6blFM?=
 =?utf-8?B?Tm55SXJsTzhMRmg3OVJOT1dERlltUHhvbDkxS0lDUXdLdHJOeDBNczZnWkNi?=
 =?utf-8?B?YnR1M2I4aXBmNklvQ2lOaWVHYldsMDgwRENFb0lFdWlkemUyNnZQZWhGYlFP?=
 =?utf-8?B?ZDdlRGJpTldvWFMzWGxMbG5YZWNTeXoxOHVnWU54Q2xwVTJkV092Zm0vNTY1?=
 =?utf-8?B?VXl5YTdQeDVmRkRLKzg0SnQ2RjNRUGVySjJmNE1QTklyWExwY0ZpdnNJWUV0?=
 =?utf-8?B?VDlHY0VFTmk4MitPYnN1WHVwTlozQ3F2bTNyaTVrSnZ6aEl0S2plVGdzTTYv?=
 =?utf-8?B?eTduZGJ2aHlDcDBIUEYybThveEgzbDg4RDBJcjhiOXpudmR0ZGxpR1pVRW15?=
 =?utf-8?B?dlZ3K2tMQ2RyMkNybVhQRnllYWZOc202d3BsaUI3WjcrWmdRMGlwRzVhWEhM?=
 =?utf-8?B?bkNJUlRIc3pIQmVzUGEwZnBTMDRXUXJuckh4OU1kQnppN3MxQXcxMEg0NUpi?=
 =?utf-8?B?eXVpRGFEeHlBZDIyU2YzVG5jZXlKa3dXS3pSeElSYW1jcWN2M2hhWlQ3c3N0?=
 =?utf-8?B?eEFVYi9ZN2xrV3JtU3hLQjd1ZE1mRkJUS1dXeU5UVjJCUzA5L3ZaeHI0bEY5?=
 =?utf-8?B?T2ZYWkI1d3FrZkdQdklWVjd5SllQb3RVYUZaVkxSR0lWazB0aVpCTllaUWRF?=
 =?utf-8?B?TWRBTGxCaWlmNlZDdmhaN29NL1BEMkFNVDRCT05YMjhRQnlmUWUrUkJuMzF6?=
 =?utf-8?B?TlFmSkxOL0YwV1dUZTJRUmJKNElKMXhuYXlDbmxNRjZkRjRheFRRUW5TMTRW?=
 =?utf-8?B?RTBSbXdMazcrTS9RMCtxdXE0MjVDZ0Rvc0pUVVlJR2pocy9KcWRYTkFoY0Nu?=
 =?utf-8?B?a3hvT08xT2FpU1creGdZTUo2Z1orYmNCbzdmT3hsUkxKSjVsSnBTZlhWb2F6?=
 =?utf-8?B?US9jazM0ZnpWbmlNRkl2ZHhHcTM0Mi9nbzJnYllidUREOEtWWEdEQ251TllH?=
 =?utf-8?B?UDl3NXBiUmxpbjFSQmxiejJHRk1rcldzTFJYTktwU0dYZ2pjRGFhUFJnMWtQ?=
 =?utf-8?Q?mNZq1i8zP8j/Dkw/9Ks6TK73f?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fe781176-a31b-4e08-90ce-08de0fb4e3f3
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Oct 2025 08:44:33.1443
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 1uS354yAu1wnIPUrSkeyGoW6t/ijX0ZmrId3bSH2vLnr5W4/Fmcw9S2giCXwkSybpz1KcHxtwV+/gom3xPd5sA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR03MB5105

On Sat, Oct 18, 2025 at 09:21:37PM -0400, Demi Marie Obenour wrote:
> On 10/17/25 11:52, Alejandro Vallejo wrote:
> > On Wed Oct 15, 2025 at 7:58 AM CEST, Demi Marie Obenour wrote:
> >> On 10/13/25 06:01, Alejandro Vallejo wrote:
> >>> On Wed Oct 8, 2025 at 6:04 PM CEST, Jan Beulich wrote:
> >>>> On 30.09.2025 14:52, Grygorii Strashko wrote:
> >>>>> --- a/xen/arch/x86/hvm/Kconfig
> >>>>> +++ b/xen/arch/x86/hvm/Kconfig
> >>>>> @@ -62,6 +62,16 @@ config ALTP2M
> >>>>>  
> >>>>>  	  If unsure, stay with defaults.
> >>>>>  
> >>>>> +config VIRIDIAN
> >>>>> +	bool "Hyper-V enlightenments for guests" if EXPERT
> >>>>> +	default y
> >>>>> +	help
> >>>>> +	  Support optimizations for Hyper-V guests such as faster hypercalls,
> >>>>> +	  efficient timer and interrupt handling, and enhanced paravirtualized
> >>>>> +	  I/O. This is to improve performance and compatibility of Windows VMs.
> >>>>
> >>>> What is "paravirtualized I/O" about in this context?
> >>>
> >>> Hypervisor-assisted IPIs, TLB flushes, etc. Or so I understood back when I said
> >>> that looked ok. I see there could be confusion with Xen PV device protocols,
> >>> but as far as the user of the help message is concerned it makes no difference.
> >>>
> >>> One could even remove the examples and leave it as "... for Hyper-V guests. This
> >>> is to...". They are truly inconsequential.
> >>>
> >>> All that matters is that (modern) Windows won't run without it, and that it
> >>> provides some indeterminate hypervisor-provided assists to try to reduce some
> >>> virtualization overheads.
> >>
> >> Qubes OS doesn't expose Viridian at all, which is why it wasn't
> >> vulnerable to XSA-472.  It still runs Windows guests just fine.
> > 
> > Can you run Windows 11?
> 
> I haven't tried it, but it is documented as working.
> 
> > I don't remember which, but I do know some versions of Windows refuse to boot
> > if they determine they are virtualised and don't see the mandatory parts of
> > the TLFS.
> > 
> > If 11 works, maybe Windows Server?
> 
> Windows Server is more likely.

FTR, for unrelated reasons I've tested Windows Server 2025 without
Viridian, and it does work, albeit painfully slow.

Regards, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Oct 20 09:07:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 09:07:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146042.1478524 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAlrc-0000m2-Ky; Mon, 20 Oct 2025 09:07:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146042.1478524; Mon, 20 Oct 2025 09:07:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAlrc-0000lv-I0; Mon, 20 Oct 2025 09:07:36 +0000
Received: by outflank-mailman (input) for mailman id 1146042;
 Mon, 20 Oct 2025 09:07:35 +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
 <SRS0=abR8=45=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1vAlrb-0000ln-Gv
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 09:07:35 +0000
Received: from BL0PR03CU003.outbound.protection.outlook.com
 (mail-eastusazlp170120007.outbound.protection.outlook.com
 [2a01:111:f403:c101::7])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3634f6a7-ad94-11f0-9d15-b5c5bf9af7f9;
 Mon, 20 Oct 2025 11:07:33 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by BN8PR03MB5011.namprd03.prod.outlook.com (2603:10b6:408:7d::24) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.17; Mon, 20 Oct
 2025 09:07:30 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9228.016; Mon, 20 Oct 2025
 09:07:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3634f6a7-ad94-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Cx+HF7lHfx53jFGDakom7J4D1X5251ZWc0vIFNez0bEmsyBDWc23vJsnIF357lbxcW6dQgzSjBb+EArSrDexjfkBmNLP4ZLtLy8qaavjFUtLWzEickRlt94gA8Mt5Ma0ZN46QgraIqgpzVAUlQABGzygzGXy/PKgCbWVEGQwB9GYVScPo9WWtSNiAXyxldEc0LnX+r6v2EFw0Clb7KrClHwXYPEKxlwi8BZcQEpsoUtnlDy8PTN8hB/ZU2hWXAiqaa0I4Bli8scZpZObYbVaS9h3ZW+qjTe9L4idUhTT7w5JWNDO8lNWs3gmfGsGBJ8ljnbnqSLaZ9L6wOTGbSwJgg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fq3oPh2Gf2ty83ad98IjOROqdIgyjSf3rcrLzj4Fbu0=;
 b=y1bLDJOjoIcxwlDCULbVtZaP71fSyQwDywTDD89QLHO8xBCJjqRSBsKnY/5y8tOeS6THVF9agXpXFzxM/NBDcF1Xxwn81o/yJe4MgpeGVaxpawQUdm3jPGnR9fWqh+mmcsP/U2Mo+rHUCX7oQYrHycNCigMa/sMloWhBYu/sO6z2binGBZzf+x5vznFhnjow+LoZzCeBLJo5xZmKDQ4CiUctDhpvctAutb2sE6oAFPLzhJCnLD2tXb+/tyOgmYQTkNDzj4NTf5aBQJk3qqDUr+05wwBtOJZnqzobvQ2vYuzul4jc4mT62ikj1KJZW1sakjfTxPfhx+f7XB4KCMtnyw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fq3oPh2Gf2ty83ad98IjOROqdIgyjSf3rcrLzj4Fbu0=;
 b=Q8ZW6R2NaHbF1kuUqXPwKxYpTT/ZXEv6DAm16kWVORSUM4I33l890d2WcuTnmJqCbhzjFv4lurQg5sTiUmV8OsdU/vjpudDW+fjuieGCAI+39+3LFsWertPFDC6HOsQ4WNrEqvJyXMaRr/MND4fYYgKcDHS2UVpx68WQYRY2cJU=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Mon, 20 Oct 2025 10:07:25 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: oleksii.kurochko@gmail.com, Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Subject: Re: [PATCH for-4.21] tools/libxc: fix xc_physdev_map_pirq_msi() with
 PCI segments != 0
Message-ID: <aPX7zfet83VZm6wq@Mac.lan>
References: <20251017141434.15205-1-roger.pau@citrix.com>
 <706663d2-61dd-4fb0-b278-d3282dc7b5ca@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <706663d2-61dd-4fb0-b278-d3282dc7b5ca@suse.com>
X-ClientProxiedBy: MA3P292CA0009.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:2c::10) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|BN8PR03MB5011:EE_
X-MS-Office365-Filtering-Correlation-Id: 2bb3edd5-3857-4168-e42d-08de0fb818a2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?N2F0TGZPNkJwZnJFQmZDMEFsWmxjeXFvNHJ4NmhGczlqY2Y4eVBMeFVUdEdO?=
 =?utf-8?B?a1VHSWR1WW5RL0VsendWS0JEVzAxVnQ5cFNLWTdUL2l4eTI2d0cveVR5cnRC?=
 =?utf-8?B?M3luSFRuYlhidC9HTEtJQmFVMkdjemZMeXdKL3ZhSGg3cWw5UlVrM0hNeUds?=
 =?utf-8?B?bEdWTFNmYk5xaXM4aWtjdWl5ZzRIbGtkcEQwYndEek1VcUlzYmlON3lQSU9Z?=
 =?utf-8?B?ZjRsYTg2RUh4TmtDRzN0eXBkZkF5SWNvZGFwZ3Bnb2R4MWdMMW5ZTWR6N3RS?=
 =?utf-8?B?M0xKRllGSGIxcDJKZ3pZZzRGSVRnNW1kNitzYmc2TFRPY1UzSVlVUG1ZWHBq?=
 =?utf-8?B?c1BMOE9sUnh4cldyS2doaGVxREpwdFJnY1NOZTlpSi9XWlgxUzFRQ2s2bWk1?=
 =?utf-8?B?d2x6T2YwUUkwalFoOStoV2d0NEdJTkdOZkprbVgvbDhQUjRpUjhxSWREUW1T?=
 =?utf-8?B?cCtIUkZ1OTgrbDBxZHlvejVLcXhHeTRENGNKbHNINHRiV2o5NXNza04wKzlE?=
 =?utf-8?B?NVJheFRMTGtpbEsyMVVxbEFmQ2hEQi9PY285bEFmK29kNlhXcFBKTzY3c2pv?=
 =?utf-8?B?dGFkZUpIRWV5MjlxZFdDaHVVYm1FOGlkNEVSWERCR0JNKzBFNElFNjFTa0c0?=
 =?utf-8?B?QjlwY0pHZnhiQ3g0Y2VqTnRvc3V2L3V5MUNDZXJSRDcvVW1zcDQvRThDU0Zx?=
 =?utf-8?B?L2Y2RWR6VElnaEszVFhEWWhxMGVlMWZKbitLUUZwYW9OZTk3S0E1VXZVNTNv?=
 =?utf-8?B?OURITlE0NXkrcUFzSmZsTFBtemV3OFhhVHIwR2VCaUlsemtZV2ZHOHJZMkFB?=
 =?utf-8?B?THFXODhtbUc3MGFUa1NuQUJBREJiRUcvNW41TFRMQ01mVmxWRXdWamRGazFP?=
 =?utf-8?B?NDMyakNvQmJWL2szdHkzOHlSZ3UyLzh6b0VCMU1vcjBVRG9hemFtYzVFeGha?=
 =?utf-8?B?MUY1bWlSeHlUZFc3Qm9ueisva05hcFhuMnhmaFRhMzNDa3lQQkoxdm9vMWVx?=
 =?utf-8?B?S1dkYVdsSkdYSGkzVDFLdU9PdzBoQ0c1aVo0bXV3L0kyUkpCT3FuaGhibDJu?=
 =?utf-8?B?dFVXdm5pdHEyZE14Tnc1a3lOdEFKWHlvMldMVDJ3Z1F6bElWNFBKODZSUW5K?=
 =?utf-8?B?VXZwYUZyQ3hobGpVdVExNWRWZ1Y4eXVqbkV2UXViN09tbE9tL0MwdWZENXRM?=
 =?utf-8?B?UlIrTEpVNVYrOUdSam5aTXBIREJpUzMrSzNoSXJNQWZBd0pXcFFWaDdzRXFh?=
 =?utf-8?B?OW5Wbi9abkhBaVBsMXVLRHJtY1ZnOGdtaWt4MGZSOUNDaGtDOEJESjNRM002?=
 =?utf-8?B?aFI4VGMrNCtGamRGenBEcVZjakdPZmhQVm4yZFBmekpYa2x3YkxkYmp1dzNt?=
 =?utf-8?B?ZDFxY050MG5Bekx6QjlvakxGNWhzN21VZU9Xa0hiaytOR2lNQk9iWE5pN2sr?=
 =?utf-8?B?ejNMczJRUHZIWmhubHpseVRkTFpPZm0vajFLZ05FQkt6ZGowbDV0ZUdUalZs?=
 =?utf-8?B?Sld3SkYvakRBanJPMG5WUit4THVYK3Q2cVE4TkV5S0tjYVd4T3gzYWVWNDIy?=
 =?utf-8?B?NExQMWRBZUp0ZmR2MnY4OTVjT3k4TkxwbW5DSnFGaGN1MER5VVpZWFI4bmFi?=
 =?utf-8?B?bnRRdS9oSE5YZEtQYmlBbjNsTzdDSVFyU1lnd0VSVkpBRFl4Q3RadVNqRi9S?=
 =?utf-8?B?UGl0U1NlZ3dxQnJvVC9veEUzR3NRRkJWOGlKaFB0UXNhWTRiWjhtK1U5b01W?=
 =?utf-8?B?ZlR0ZE5oUWRFK1h0bC9HNGF5bng2WktYRldSb3pLV3FiK3Z0bE94bWoxVXg5?=
 =?utf-8?B?bmJXZnZtMkN0bzFCUFlQVElaU1R6NWI2enNHbzlEZHVkbXVXbFZSeTI3YlRO?=
 =?utf-8?B?aUdvdFVoVXB4RjViMjJGZlZac0ZnL0ZzeTFpY2toRUNRamNHMkhXbUh3UFk5?=
 =?utf-8?Q?G8ZDAa9PuxN3OivumpVFcbItZgN4W6dl?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cUpTK3M3ZXBuL1phRjN0cTNnNlVvT0hLa3p3aXhxT1hEZTVkelB6L1FPem8r?=
 =?utf-8?B?RVd4eVNFNVhDakw5RElTUFJUR2xpZVQrL212UXN1ZlBUWTcrdVFZbnNsWEtw?=
 =?utf-8?B?MERYZXo1VWpocGNSSGU4SU9CUVZaTVBGdS8vb0F4VnVJQ0MvOFF1SDBvV09T?=
 =?utf-8?B?eXlKV25DbEZseWkwVzNPWXVmNDc2UW1UcFc0SE1ibTRtV25IN3FtWDN2RFlL?=
 =?utf-8?B?VUllZlQ3dmhoQ2Rrc2VHNWhaNGtsK0lQdElGdEZKTk1sMEg4aE1kNUR4bWpM?=
 =?utf-8?B?cXorQ1h4d0xDUlBVNU00S2JrYXJiNGRKOXhJU01FWVd5cU5jV0hFWUMxU3Bh?=
 =?utf-8?B?Z2RqWGNJWmxxaHdleTlSRGtnanYvZDRSbVBTQW5kRmNyWkZMUEYyUDN5UE9r?=
 =?utf-8?B?dE1kdmZGN29BcVlKcGhQL2t1cGd2RkdPd3h1cWY5R21oajRpMXg4Yi9TOFlP?=
 =?utf-8?B?djcxUmliUU9HVjgzbXFiRTJ3Y0hiQm95MnRXRW1VaUh0aU4zN1lSSHFMK0o1?=
 =?utf-8?B?bCtoSmxkVjJocWxrdG5tYUNjR3NzT2tIT0dScmhYaVloL3NpY0pYclQ1ZzNp?=
 =?utf-8?B?UC8wMU1TOE11QmFoYjFwYm40V3hoekM1dzZDTEhRL09vUzBXQURwTUFpZWNs?=
 =?utf-8?B?VzNBK250RXhzb3dYYmVxbFJsM0wvTGdtT29hYW1yU0pNRzRnT2lIVjNhTEhn?=
 =?utf-8?B?S0d6NG1ZYzcwUGY2OUQxc0FxdHo3YzdWK3k4MHp1ay85eEhWbldKL3VFaE51?=
 =?utf-8?B?bXJIZ1lObkg5Vkp4M2c1aDllR2VBZUxVUXdzK3pYYTNHejVHT3lzQ0UrQVQ4?=
 =?utf-8?B?c3VNMXplS1J6NWhxMkxjcWo3MllyLzZqS2c4K3FxU0VMMlRyY0ZpNGNsNjBz?=
 =?utf-8?B?bFcxRjdjT2l1UXF4SVBRRytQWk9WQ0gzdGRaTExaUWJFMUNVLzNLQWJNVXZU?=
 =?utf-8?B?OXRoL2xQczJ0dERxV1hOQXJDNGpsd1M0VDFrMEhQSThZYnZMQzZlQzhlWVdo?=
 =?utf-8?B?azB5YTl4ZUlnUEcvVWJwSmFJTHJKczVTa0t5TG5sU3J4Yy95RUtwbTVGTy9M?=
 =?utf-8?B?Z0txSmgvVHFuYjlTTTN1UExpNHljRlV5M05jSzNYUkRPMFZsZmJoK2xLaGNk?=
 =?utf-8?B?eXlvV2hZbFBkZ3VvK0dGWndtdElhdzlud08ya0VPSmVPRVRlMW5DYlFUTWRK?=
 =?utf-8?B?b0NzNXd2cktNVHQ4Qjh1L0c4RlpIUnVycm82USt3N09hZHYyZlFSeHFYWC9o?=
 =?utf-8?B?V2Z0K04zVFI2emZ2ZFcxYk9uem13ck5SWVlTQTFsYWJta0IxcXd2NEtnR0hM?=
 =?utf-8?B?YjBhM09nNlUyVjNZZVRkNG40a3lkMUROdm9lUk96VG5FT1NwRjd5dzR0YXAv?=
 =?utf-8?B?L0QzK3c3cmtsSyt2VlFCNDZBTjBvWkV6aGkrdEtxam9HSEY3T1BiaW9jOWZx?=
 =?utf-8?B?VW1DWHZxSk40SXBjcERMMmdRbkNZUDd2eGlxRVlRZDNUY0pHTW0zbWVMcVlt?=
 =?utf-8?B?VVpTeEM1b0NNZUNnM3VVWHZjU0lMQ1dFWEJwWjNPcHdoNUI2NExTbkI0dHc0?=
 =?utf-8?B?UVd6RHozOE8xYnhoRVlSOFJldXRRbVR1b1hKVHhXVGJKellxS2JJdEFHT0Fz?=
 =?utf-8?B?UC9VbVVYNWtvRFQwTlc2S01IUDFxaGdsTGtLMC9hSDkrTE56OWZBTGU1cHZj?=
 =?utf-8?B?NnVTM1V5a2ZtR29TY0ZjdVQ2WnVEOGlMTXVwY0RvaEw2VkN2RXk1RSt6Y09p?=
 =?utf-8?B?RzBkbkk1ak1uOTZTYkFNSTlUQzcrQ0pzNWplZWpTMjYzbHhHUTQ0TllkcDRh?=
 =?utf-8?B?NlZ2S3FZYUQvYTJBYnV3NWJ4THEzZktVS2lGaFlyVUNmY3IrQnhCTkx3U3Zh?=
 =?utf-8?B?R0l1dk5RMjdsckZuNGZnWklUNTZaNzJoVnZyUmZWWUpiR09jTVB3cVBadlBn?=
 =?utf-8?B?RTJPYnBrYlRFZXA3dW1XTDlqMFJXZ0U0M1ZiTzlUSjM2WHVkN3p2SVBYb3B5?=
 =?utf-8?B?NFFvU3MrSGhoK2pLOThqTHIvdXlJTGNhT0YraVVsbWk1SEJkZnRxVDNsbmdu?=
 =?utf-8?B?NW1QclhGQnhWeVBRRmxZYXdDU0dwYVNkbFkzRVRHeXdEV2lFTXlKRTVJRGFz?=
 =?utf-8?Q?+4WEs6s43RcVtFr64+2JIQV5H?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2bb3edd5-3857-4168-e42d-08de0fb818a2
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Oct 2025 09:07:30.6068
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: VZcQOezYS7K/wjkO9bPNtMV8szGw0vPK+RNTvQpQtGcF0+3QKDAwb0VQdoSSRftVZPRw2URGjdelhgC9Y5y0aQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR03MB5011

On Mon, Oct 20, 2025 at 09:46:42AM +0200, Jan Beulich wrote:
> On 17.10.2025 16:14, Roger Pau Monne wrote:
> > Otherwise it's not possible for device models to map IRQs of devices on
> > segments different than 0.  Keep the same function prototype and pass the
> > segment in the high 16bits of the bus parameter, like it's done for the
> > hypercall itself.
> 
> While easiest, that's an odd interface, though. Should, at the very least the
> function parameter then be named e.g. "segbus", along the lines of "devfn"?

I certainly don't mind using segbus instead of plain bus, will adjust
now.

> > Fixes: 7620c0cf9a4d ("PCI multi-seg: add new physdevop-s")
> 
> This commit wasn't about tool stack uses of the interfaces at all.

But there should have been a tools side change somewhere to make use
of that interface, at the point that support for multi-segment was
added to Xen?  Otherwise the support feels like half done.

Would you prefer me to use the "Amends:" tag?  Or no tag at all.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Oct 20 09:57:37 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 09:57:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146058.1478533 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAmdv-0006ww-3i; Mon, 20 Oct 2025 09:57:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146058.1478533; Mon, 20 Oct 2025 09:57:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAmdv-0006wp-14; Mon, 20 Oct 2025 09:57:31 +0000
Received: by outflank-mailman (input) for mailman id 1146058;
 Mon, 20 Oct 2025 09:57:29 +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
 <SRS0=iYer=45=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1vAmdt-0006wj-6U
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 09:57:29 +0000
Received: from fout-a4-smtp.messagingengine.com
 (fout-a4-smtp.messagingengine.com [103.168.172.147])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2e503e92-ad9b-11f0-9d15-b5c5bf9af7f9;
 Mon, 20 Oct 2025 11:57:26 +0200 (CEST)
Received: from phl-compute-04.internal (phl-compute-04.internal [10.202.2.44])
 by mailfout.phl.internal (Postfix) with ESMTP id 4C07EEC0009;
 Mon, 20 Oct 2025 05:57:25 -0400 (EDT)
Received: from phl-mailfrontend-01 ([10.202.2.162])
 by phl-compute-04.internal (MEProxy); Mon, 20 Oct 2025 05:57:25 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 20 Oct 2025 05:57:23 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2e503e92-ad9b-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:content-type:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:subject:subject:to:to; s=fm2; t=1760954245;
	 x=1761040645; bh=wpyzH9gwE++5tx2gzcWwYIYBt4oY1z4RM5ZzelUnXnI=; b=
	27/hsRRbK8gdkRLmK8PoBrCS4L5QXw0lcqtaPF5Bp01fFLn3N5cP8LD9Ef4chLZP
	4iAZchH4vUVPl/MYIceKysdG2bGKKGcl0hp5ge1XNjUEsrTdVAdn86EYhRKlnbDZ
	DP1gWS3NCqX4t5/qjBm8whBKzyHyiuGJxkL6G2z7JlX06rmW7Zh+FzK1gC4bKTLx
	AjW7L3hUk4FXnokFE716iOhT7OdJQ38PRjuRQf/a7kpMjQSe8oT9ivdRjRsikTwd
	ArXOKT7SDEuJyGhD102PuPdCteh5LsCLk4VOHMqPDz3n87Cys9lqyMmRpVAG8HSi
	DhMrNu0PavJyG7DPTaXkKw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:content-type:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:subject:subject:to
	:to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=
	1760954245; x=1761040645; bh=wpyzH9gwE++5tx2gzcWwYIYBt4oY1z4RM5Z
	zelUnXnI=; b=uQN9zrjkoCDn1B8UV2l0G79HQyPDx42emCkaKLAC5EsPhnqXVIM
	07QiPCllEFx0UONPb785ipP4sb3TCBOAHwUW9yxqV2d9PMS05UL0aFnZr5u3Zv3A
	TZ52L9RQonmaw3Utk4xImuHiHUCVXEosGD1F5hq4XpxK2OqWOJv8ECGqIawL9vYG
	/XnYxV7JlQZ1oa5mv/0VBhoupzdKY3zjDY963nuWUYM9E98AZ1eQ/Cieb3ztyEFV
	5X6CmltBJ3hcoyz+VoC2izN2hV9ivDIWGXefCJsjc8JrhM+HH4QDhQrt/6gx0+kO
	z3dy0hGYMMWq8mha2Y1Yq6CG7+qlWL4Ad4Q==
X-ME-Sender: <xms:hAf2aEFhIXKpLu68uiUYkoIwePMN7XV5EjqNV1M168qylqK6I27IRw>
    <xme:hAf2aP6uNs5va2y8atqZgH9hxVdY1cdCINrNN39zRBo_eURAx7hQM7coIfl-JnEty
    SHXwlmlesJ0-NNZMBevBpMdjQS9AySw9G8rVRMAQAJCH73AhA>
X-ME-Received: <xmr:hAf2aByLxgt9gSmT-ZmUqmHBXjRTWQxYZyco4A2HBZtBO9lvDRMWdRm4tUhJIATkI-UlWBopps_RUaaX2vxOWI1lMgTWvZq8FlI>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdeggddufeejheduucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu
    rghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujf
    gurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgvkhcu
    ofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinhhvih
    hsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepgfduleet
    feevhfefheeiteeliefhjefhleduveetteekveettddvgeeuteefjedunecuvehluhhsth
    gvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghksehi
    nhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomhdpnhgspghrtghpthhtohepledpmh
    houggvpehsmhhtphhouhhtpdhrtghpthhtoheprhhoghgvrhdrphgruhestghithhrihig
    rdgtohhmpdhrtghpthhtohepuggvmhhiohgsvghnohhurhesghhmrghilhdrtghomhdprh
    gtphhtthhopegrlhgvjhgrnhgurhhordhgrghrtghirghvrghllhgvjhhosegrmhgurdgt
    ohhmpdhrtghpthhtohepjhgsvghulhhitghhsehsuhhsvgdrtghomhdprhgtphhtthhope
    hgrhihghhorhhiihgpshhtrhgrshhhkhhosegvphgrmhdrtghomhdprhgtphhtthhopehs
    vghrghhihigpkhhisghrihhksegvphgrmhdrtghomhdprhgtphhtthhopegrnhgurhgvfi
    drtghoohhpvghrfeestghithhrihigrdgtohhmpdhrtghpthhtohepphgruhhlseigvghn
    rdhorhhgpdhrtghpthhtohepgigvnhdquggvvhgvlheslhhishhtshdrgigvnhhprhhojh
    gvtghtrdhorhhg
X-ME-Proxy: <xmx:hAf2aGMY4feK0S465BDms5GUEAaLpxhhcjBKnyKBSDjXZPKti3pLUg>
    <xmx:hAf2aPmDhJ3JFBo-gtDfaotBmDZCafBFV32cTTy3gVfi6s0yZxR4XA>
    <xmx:hAf2aDSdK8kcKoc4tlsFZYbJKxYKazkPOHz2PysKBRNwXofbqAGqVw>
    <xmx:hAf2aGWjxaNJFSmlkHgeO0T-zdtFfYyWdiGElUh_i-UclGS_z4D0vQ>
    <xmx:hQf2aDZ47fX0MrjGCzm4_eqK7EyrVH_HhZwNjEm_giI3e_Y2xWaT4t40>
Feedback-ID: i1568416f:Fastmail
Date: Mon, 20 Oct 2025 11:57:21 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
Cc: Demi Marie Obenour <demiobenour@gmail.com>,
	Alejandro Vallejo <alejandro.garciavallejo@amd.com>,
	Jan Beulich <jbeulich@suse.com>,
	Grygorii Strashko <grygorii_strashko@epam.com>,
	Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Paul Durrant <paul@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v5] x86: make Viridian support optional
Message-ID: <aPYHgX1T3vev-YkX@mail-itl>
References: <20250930125215.1087214-1-grygorii_strashko@epam.com>
 <3e4e4bc5-aa47-4357-9327-df2a9b9c9a1b@suse.com>
 <DDH3W3VM2ZDJ.PMFSGBWBTS0S@amd.com>
 <9248eda6-cf9b-4fdf-ab32-66e777585f65@gmail.com>
 <DDKPUZKA0UHL.2WRO9M23R4G3E@amd.com>
 <a7a2b126-489b-4bdc-ba0c-d0c92f8df822@gmail.com>
 <aPX2bbm2Zaa9o1hs@Mac.lan>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="5SrPJmT8nbMEI5gx"
Content-Disposition: inline
In-Reply-To: <aPX2bbm2Zaa9o1hs@Mac.lan>


--5SrPJmT8nbMEI5gx
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Mon, 20 Oct 2025 11:57:21 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
Cc: Demi Marie Obenour <demiobenour@gmail.com>,
	Alejandro Vallejo <alejandro.garciavallejo@amd.com>,
	Jan Beulich <jbeulich@suse.com>,
	Grygorii Strashko <grygorii_strashko@epam.com>,
	Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Paul Durrant <paul@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v5] x86: make Viridian support optional

On Mon, Oct 20, 2025 at 09:44:29AM +0100, Roger Pau Monn=C3=A9 wrote:
> On Sat, Oct 18, 2025 at 09:21:37PM -0400, Demi Marie Obenour wrote:
> > On 10/17/25 11:52, Alejandro Vallejo wrote:
> > > On Wed Oct 15, 2025 at 7:58 AM CEST, Demi Marie Obenour wrote:
> > >> On 10/13/25 06:01, Alejandro Vallejo wrote:
> > >>> On Wed Oct 8, 2025 at 6:04 PM CEST, Jan Beulich wrote:
> > >>>> On 30.09.2025 14:52, Grygorii Strashko wrote:
> > >>>>> --- a/xen/arch/x86/hvm/Kconfig
> > >>>>> +++ b/xen/arch/x86/hvm/Kconfig
> > >>>>> @@ -62,6 +62,16 @@ config ALTP2M
> > >>>>> =20
> > >>>>>  	  If unsure, stay with defaults.
> > >>>>> =20
> > >>>>> +config VIRIDIAN
> > >>>>> +	bool "Hyper-V enlightenments for guests" if EXPERT
> > >>>>> +	default y
> > >>>>> +	help
> > >>>>> +	  Support optimizations for Hyper-V guests such as faster hyper=
calls,
> > >>>>> +	  efficient timer and interrupt handling, and enhanced paravirt=
ualized
> > >>>>> +	  I/O. This is to improve performance and compatibility of Wind=
ows VMs.
> > >>>>
> > >>>> What is "paravirtualized I/O" about in this context?
> > >>>
> > >>> Hypervisor-assisted IPIs, TLB flushes, etc. Or so I understood back=
 when I said
> > >>> that looked ok. I see there could be confusion with Xen PV device p=
rotocols,
> > >>> but as far as the user of the help message is concerned it makes no=
 difference.
> > >>>
> > >>> One could even remove the examples and leave it as "... for Hyper-V=
 guests. This
> > >>> is to...". They are truly inconsequential.
> > >>>
> > >>> All that matters is that (modern) Windows won't run without it, and=
 that it
> > >>> provides some indeterminate hypervisor-provided assists to try to r=
educe some
> > >>> virtualization overheads.
> > >>
> > >> Qubes OS doesn't expose Viridian at all, which is why it wasn't
> > >> vulnerable to XSA-472.  It still runs Windows guests just fine.
> > >=20
> > > Can you run Windows 11?
> >=20
> > I haven't tried it, but it is documented as working.
> >=20
> > > I don't remember which, but I do know some versions of Windows refuse=
 to boot
> > > if they determine they are virtualised and don't see the mandatory pa=
rts of
> > > the TLFS.
> > >=20
> > > If 11 works, maybe Windows Server?
> >=20
> > Windows Server is more likely.
>=20
> FTR, for unrelated reasons I've tested Windows Server 2025 without
> Viridian, and it does work, albeit painfully slow.

Windows 11 works too, but also "painfully slow". Interestingly, Windows
10 works much better in the same environment (but still far from native
performance).

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--5SrPJmT8nbMEI5gx
Content-Type: application/pgp-signature; name=signature.asc

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmj2B4EACgkQ24/THMrX
1yydrQf6Aphndmr/JnddbuFddNMV0U7k2cCI4DERcaXAqAd/u7za65qKnjsh4k5L
q4f6LX22Lvlu+LWeAPgUcatuo0VXCcTc2zUrSNO4Qwo44QT3uybkNmKhEqG9TrTK
/QwMssVjcXqoALGS/qm/Z8N2mnUGlZ7rS6WekknRVcsAm4xbHf2TPc+T6ycANvC6
EDUBuMFwNLzXlnj0NK1uO/rmPz7r9TTf6XwoqzXgfT062pog/omPzkwmbc//Koff
vYvLOSi2C5BkoHsoGhXGbQ5eN8fF7ogu4qNuze1KbidDoadMf4+eWT68R61QSpry
UCP7i71TudkbtS0RsxOvUI8jMS2Edg==
=RvOQ
-----END PGP SIGNATURE-----

--5SrPJmT8nbMEI5gx--


From xen-devel-bounces@lists.xenproject.org Mon Oct 20 10:33:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 10:33:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146073.1478544 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAnCK-0003aD-IX; Mon, 20 Oct 2025 10:33:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146073.1478544; Mon, 20 Oct 2025 10:33:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAnCK-0003a6-Fh; Mon, 20 Oct 2025 10:33:04 +0000
Received: by outflank-mailman (input) for mailman id 1146073;
 Mon, 20 Oct 2025 10:33:03 +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
 <SRS0=HAV6=45=arm.com=kevin.brodsky@srs-se1.protection.inumbo.net>)
 id 1vAnCJ-0003a0-C6
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 10:33:03 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 24c575cb-ada0-11f0-980a-7dc792cee155;
 Mon, 20 Oct 2025 12:32:57 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id C576E1063;
 Mon, 20 Oct 2025 03:32:48 -0700 (PDT)
Received: from [10.57.65.147] (unknown [10.57.65.147])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 924903F63F;
 Mon, 20 Oct 2025 03:32:48 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 24c575cb-ada0-11f0-980a-7dc792cee155
Message-ID: <2338a99c-665c-4545-accb-c9ebffef45fa@arm.com>
Date: Mon, 20 Oct 2025 12:32:44 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 06/13] mm: introduce generic lazy_mmu helpers
To: Alexander Gordeev <agordeev@linux.ibm.com>
Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org,
 Andreas Larsson <andreas@gaisler.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, Borislav Petkov
 <bp@alien8.de>, Catalin Marinas <catalin.marinas@arm.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 Dave Hansen <dave.hansen@linux.intel.com>,
 David Hildenbrand <david@redhat.com>, "David S. Miller"
 <davem@davemloft.net>, "H. Peter Anvin" <hpa@zytor.com>,
 Ingo Molnar <mingo@redhat.com>, Jann Horn <jannh@google.com>,
 Juergen Gross <jgross@suse.com>, "Liam R. Howlett"
 <Liam.Howlett@oracle.com>, Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>, Michal Hocko <mhocko@suse.com>,
 Mike Rapoport <rppt@kernel.org>, Nicholas Piggin <npiggin@gmail.com>,
 Peter Zijlstra <peterz@infradead.org>, Ryan Roberts <ryan.roberts@arm.com>,
 Suren Baghdasaryan <surenb@google.com>, Thomas Gleixner
 <tglx@linutronix.de>, Vlastimil Babka <vbabka@suse.cz>,
 Will Deacon <will@kernel.org>, Yeoreum Yun <yeoreum.yun@arm.com>,
 linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org,
 sparclinux@vger.kernel.org, xen-devel@lists.xenproject.org, x86@kernel.org
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
 <20251015082727.2395128-7-kevin.brodsky@arm.com>
 <55f8b155-5468-43fc-b6fc-f509f4becd5b-agordeev@linux.ibm.com>
Content-Language: en-GB
From: Kevin Brodsky <kevin.brodsky@arm.com>
In-Reply-To: <55f8b155-5468-43fc-b6fc-f509f4becd5b-agordeev@linux.ibm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 17/10/2025 17:54, Alexander Gordeev wrote:
> On Wed, Oct 15, 2025 at 09:27:20AM +0100, Kevin Brodsky wrote:
>
> Hi Kevin,
>
> ...
>> * lazy_mmu_mode_pause() ... lazy_mmu_mode_resume()
>>     This is for situations where the mode is temporarily disabled
>>     by first calling pause() and then resume() (e.g. to prevent any
>>     batching from occurring in a critical section).
> ...
>> +static inline void lazy_mmu_mode_pause(void)
>> +{
>> +	arch_leave_lazy_mmu_mode();
> I think it should have been arch_pause_lazy_mmu_mode(), wich defaults
> to  arch_leave_lazy_mmu_mode(), as we discussed in v2:
>
> https://lore.kernel.org/linux-mm/d407a381-099b-4ec6-a20e-aeff4f3d750f@arm.com/#t

See my comment on patch 7 - these new arch callbacks can easily be
introduced later, I don't see much point in introducing them now if they
default to leave/enter on every architecture.

- Kevin


From xen-devel-bounces@lists.xenproject.org Mon Oct 20 10:37:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 10:37:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146084.1478555 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAnH0-0004BT-4r; Mon, 20 Oct 2025 10:37:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146084.1478555; Mon, 20 Oct 2025 10:37:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAnH0-0004BM-0G; Mon, 20 Oct 2025 10:37:54 +0000
Received: by outflank-mailman (input) for mailman id 1146084;
 Mon, 20 Oct 2025 10:37:53 +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
 <SRS0=HAV6=45=arm.com=kevin.brodsky@srs-se1.protection.inumbo.net>)
 id 1vAnGz-0004BG-JW
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 10:37:53 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id d3cbba15-ada0-11f0-9d15-b5c5bf9af7f9;
 Mon, 20 Oct 2025 12:37:51 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 6116D1063;
 Mon, 20 Oct 2025 03:37:42 -0700 (PDT)
Received: from [10.57.65.147] (unknown [10.57.65.147])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id DB2C53F63F;
 Mon, 20 Oct 2025 03:37:41 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d3cbba15-ada0-11f0-9d15-b5c5bf9af7f9
Message-ID: <3836a43f-809e-419d-a85d-74606d9daa0f@arm.com>
Date: Mon, 20 Oct 2025 12:37:38 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 05/13] mm: introduce CONFIG_ARCH_LAZY_MMU
To: Mike Rapoport <rppt@kernel.org>
Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org,
 Alexander Gordeev <agordeev@linux.ibm.com>,
 Andreas Larsson <andreas@gaisler.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, Borislav Petkov
 <bp@alien8.de>, Catalin Marinas <catalin.marinas@arm.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 Dave Hansen <dave.hansen@linux.intel.com>,
 David Hildenbrand <david@redhat.com>, "David S. Miller"
 <davem@davemloft.net>, "H. Peter Anvin" <hpa@zytor.com>,
 Ingo Molnar <mingo@redhat.com>, Jann Horn <jannh@google.com>,
 Juergen Gross <jgross@suse.com>, "Liam R. Howlett"
 <Liam.Howlett@oracle.com>, Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>, Michal Hocko <mhocko@suse.com>,
 Nicholas Piggin <npiggin@gmail.com>, Peter Zijlstra <peterz@infradead.org>,
 Ryan Roberts <ryan.roberts@arm.com>, Suren Baghdasaryan <surenb@google.com>,
 Thomas Gleixner <tglx@linutronix.de>, Vlastimil Babka <vbabka@suse.cz>,
 Will Deacon <will@kernel.org>, Yeoreum Yun <yeoreum.yun@arm.com>,
 linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org,
 sparclinux@vger.kernel.org, xen-devel@lists.xenproject.org, x86@kernel.org
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
 <20251015082727.2395128-6-kevin.brodsky@arm.com>
 <aPNjd2dg3YN-TZKH@kernel.org>
Content-Language: en-GB
From: Kevin Brodsky <kevin.brodsky@arm.com>
In-Reply-To: <aPNjd2dg3YN-TZKH@kernel.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 18/10/2025 11:52, Mike Rapoport wrote:
>> @@ -231,7 +231,7 @@ static inline int pmd_dirty(pmd_t pmd)
>>   * held, but for kernel PTE updates, no lock is held). Nesting is not permitted
>>   * and the mode cannot be used in interrupt context.
>>   */
>> -#ifndef __HAVE_ARCH_ENTER_LAZY_MMU_MODE
>> +#ifndef CONFIG_ARCH_LAZY_MMU
>>  static inline void arch_enter_lazy_mmu_mode(void) {}
>>  static inline void arch_leave_lazy_mmu_mode(void) {}
>>  static inline void arch_flush_lazy_mmu_mode(void) {}
>> diff --git a/mm/Kconfig b/mm/Kconfig
>> index 0e26f4fc8717..2fdcb42ca1a1 100644
>> --- a/mm/Kconfig
>> +++ b/mm/Kconfig
>> @@ -1372,6 +1372,9 @@ config PT_RECLAIM
>>  config FIND_NORMAL_PAGE
>>  	def_bool n
>>  
>> +config ARCH_LAZY_MMU
>> +	bool
>> +
> I think a better name would be ARCH_HAS_LAZY_MMU and the config option fits
> better to arch/Kconfig.

Sounds fine by me - I'm inclined to make it slightly longer still,
ARCH_HAS_LAZY_MMU_MODE, to avoid making "LAZY_MMU" sound like some HW
feature.

- Kevin


From xen-devel-bounces@lists.xenproject.org Mon Oct 20 10:50:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 10:50:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146095.1478563 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAnTA-0006pX-3d; Mon, 20 Oct 2025 10:50:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146095.1478563; Mon, 20 Oct 2025 10:50:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAnTA-0006pQ-14; Mon, 20 Oct 2025 10:50:28 +0000
Received: by outflank-mailman (input) for mailman id 1146095;
 Mon, 20 Oct 2025 10:50:27 +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 <SRS0=7iz2=45=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vAnT9-0006pK-7S
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 10:50:27 +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 954781e0-ada2-11f0-980a-7dc792cee155;
 Mon, 20 Oct 2025 12:50:25 +0200 (CEST)
Received: by mail-wr1-x42b.google.com with SMTP id
 ffacd0b85a97d-3f0ae439bc3so2133307f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 20 Oct 2025 03:50:25 -0700 (PDT)
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-47152959b6dsm135758145e9.7.2025.10.20.03.50.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 20 Oct 2025 03:50:24 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 954781e0-ada2-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760957424; x=1761562224; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Vpc2NxMxtB3rCj7ZgMzRtPtewSOi2sqGb62WosMYCbg=;
        b=WWWEqMfpYihaoddzGzR84UB+X7KWaqh2mDZWQBHz8QTSCjYhHUf+v3HWeHR9I7GB0m
         IRYLAMbMXKHIB7hrFdhNuDHlgOgprYc15XLykBnUjsVXsYyGc6Diotwh5JY3Ix/7LpcA
         BdsftAFHaYXFu+lAqeBI0yPW/XI+EaNlN+f36yTmHkyFvglZ5V6AAfqs09RoqWDv2rg7
         2JsR6aMYHxhhJyHjZU3xK7Tz0yUf2lvLIq0ZPSpb2jfGBc2eXjP0VG3fcIUm4DP5stw6
         jfk99fTj6SkV0/iHDV8AiHsX2JJiMQxMwWgtw/c5u6mhGb/jwBxwwOBRRLsQ5bzgc8bM
         GQrw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760957424; x=1761562224;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Vpc2NxMxtB3rCj7ZgMzRtPtewSOi2sqGb62WosMYCbg=;
        b=MpxRbiaR63ZZCEWYuprWYm75Cz3G/sI4Oqbr7DnJTLuMr1z71SrcTcWGV7OWrrHqF4
         iBonErPJrD5mvt/Vz/p9Pii0DUB3rYbDaNQ+m4RZiFra3cx6TWznYNPxhHypzfVwfgiK
         MlLhvHV3CTY8GEC3K+f0H9s5IUYsLv28ExDJ4V3mN0qn1L5Du1QPDQRBLg7VSDxiplxt
         KphT//x/dphILixSKaTirfx+ZqCx/tTXTIe7fX023TueN7JM4zP4+x1J3Ll/pE7LhEfo
         2m+lqkb80p8wW8GbdbnNTgmWXVVJOWojA0Zhe0RCMsXgsDFcN8fTrMpGFs3zv/3bxa12
         bSRg==
X-Forwarded-Encrypted: i=1; AJvYcCUNCcdyf7NIpuM4albEBeQFXCMLOXZYFMp4oiLTflYG16gPwOak5urKLdbFxFnH1YZ2b4Yagb2Gcwg=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywsqdg2qJd1Xp0B6ELNa3yt3kLnIbjxUGtW5TBjRc3J50HVgsiq
	0H+vAuknoYTdTCvR//CtKvV519z1CRRVW+PjPS5vU7JK0EH4mEZHYRjeCdOmYgMQEA==
X-Gm-Gg: ASbGncv74XyzsCAD9uKFG89GhCqs1OKJdTMKQsm8Ea2Ve56dy4nrmngScFg//xfm8Gl
	DlaOKOCERMYs48aw+70/HbP98oLsGtc3ayCQ/JkPf1K6X+iXyYjCBA0KtqMbgivaYiVm6Djyfv5
	L1drLGIz1H+AISUvcOwJ6GyG5mnOgWKnHjKMjxhLenNrzgI/K/cuFI6nkhEd2ZPWxIE4f/Nsr4G
	hKIPsWah/UEkimQmEdPm5+eefpCJq6PYY6g8ALMXxhrEiCexxs8vxVVv7pIVu6gXyE/LFdSwaxc
	VoEm9mXyjOOEEndMX50dcJMgnuBN5o3eIlO59b65QBEgfuUVfz9AE++Gv6wD/+7KhRTZ8qeuXpC
	GWpTHHPky74BCVyfihueH2mTvwFSmwcU/0pyPHPJbHJBjz8Lot6bZ24c5b86O+qZupcKoAWOwrH
	GvAN/+tEGUb0tRYs+FKWcak1C5lKp6XAhIiC64tLvuMcPZLZy0QtQxivuC6agk8we0PZO+4p2j9
	Cm446qwaQ==
X-Google-Smtp-Source: AGHT+IGGq3EMIeBaXtKS60R9azv/AhQ2nqKrL6o8CBZEDpD++8rP4ID0wl+xY15jjwyAaDXAN/H4QA==
X-Received: by 2002:a05:6000:248a:b0:428:3c9e:472 with SMTP id ffacd0b85a97d-4283c9e0668mr5413786f8f.39.1760957424502;
        Mon, 20 Oct 2025 03:50:24 -0700 (PDT)
Message-ID: <c424b6dd-0d81-4045-b0f4-bfc5fd5873df@suse.com>
Date: Mon, 20 Oct 2025 12:50:25 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21] tools/libxc: fix xc_physdev_map_pirq_msi() with
 PCI segments != 0
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: oleksii.kurochko@gmail.com, Anthony PERARD <anthony.perard@vates.tech>,
 Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
References: <20251017141434.15205-1-roger.pau@citrix.com>
 <706663d2-61dd-4fb0-b278-d3282dc7b5ca@suse.com> <aPX7zfet83VZm6wq@Mac.lan>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <aPX7zfet83VZm6wq@Mac.lan>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 20.10.2025 11:07, Roger Pau MonnÃ© wrote:
> On Mon, Oct 20, 2025 at 09:46:42AM +0200, Jan Beulich wrote:
>> On 17.10.2025 16:14, Roger Pau Monne wrote:
>>> Otherwise it's not possible for device models to map IRQs of devices on
>>> segments different than 0.  Keep the same function prototype and pass the
>>> segment in the high 16bits of the bus parameter, like it's done for the
>>> hypercall itself.
>>
>> While easiest, that's an odd interface, though. Should, at the very least the
>> function parameter then be named e.g. "segbus", along the lines of "devfn"?
> 
> I certainly don't mind using segbus instead of plain bus, will adjust
> now.
> 
>>> Fixes: 7620c0cf9a4d ("PCI multi-seg: add new physdevop-s")
>>
>> This commit wasn't about tool stack uses of the interfaces at all.
> 
> But there should have been a tools side change somewhere to make use
> of that interface, at the point that support for multi-segment was
> added to Xen?  Otherwise the support feels like half done.

Perhaps. I was after kernel functionality only at that point, and I
would really have liked toolstack folks to have picked up any work
needed there.

> Would you prefer me to use the "Amends:" tag?  Or no tag at all.

Both would be fine with me.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Oct 20 10:56:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 10:56:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146106.1478574 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAnZ2-0007VA-Nt; Mon, 20 Oct 2025 10:56:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146106.1478574; Mon, 20 Oct 2025 10:56:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAnZ2-0007V3-L7; Mon, 20 Oct 2025 10:56:32 +0000
Received: by outflank-mailman (input) for mailman id 1146106;
 Mon, 20 Oct 2025 10:56:31 +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
 <SRS0=abR8=45=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1vAnZ1-0007Uv-67
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 10:56:31 +0000
Received: from PH7PR06CU001.outbound.protection.outlook.com
 (mail-westus3azlp170100009.outbound.protection.outlook.com
 [2a01:111:f403:c107::9])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6e804b1d-ada3-11f0-9d15-b5c5bf9af7f9;
 Mon, 20 Oct 2025 12:56:30 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by PH7PR03MB7105.namprd03.prod.outlook.com (2603:10b6:510:2b8::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.17; Mon, 20 Oct
 2025 10:56:25 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9228.016; Mon, 20 Oct 2025
 10:56:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6e804b1d-ada3-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=WkEKtVKtK1Esz6rEHZmimu8I4qUIwOxFjRehK8nutK29aavxtkoHMeHuzG5MVgMcPshJJJGfaFB4mbx0JMj9gp5s0cWV3aPc+Uf+Xkqb4g0+Bp9BjXzACBCvd/kXixEtArWJmtDn0wcSPQ2Mpji1zsmZfMp4gdGXgguAf8timyw5rZjZdKxMFBHKWxIw/THt9YnzU+MaAuZJv2J7IVBINM13lD1ZignHv8Nozurw3fkukvBDzQTzt8S1C8uYitrZ8YhG/FWdD/seY3iZ2ABkvwuW6a6Z6oHAd4oslu9SCy2S9VH8WWyQYyN+76WpW6qHwwxvBLXx8gaH4KXODYM6jw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wrwlop6MtEn8afNsBgXKFqQUKS5/2hoBvFlRGPQ9hmY=;
 b=sdEOM0NEwf4jPDx4wqHc7MZz3Fqe9ymfdIy6kMkLKkbquFzwWu39nY9sOvmjGxfFMSAtusmbL/S8VK5HJWMSCUkWjpEWe1AUwrNJzOcG0MJK06/jSUTVu4l/ax4tpfvue0AO22uyzYTcJbfa+rD1dMUrzr3LSAT6PoTuKUEdtNzKmsjePnzEmWxmBudG8Jg0dSFQoSSew57m0Rpm7/vt0kl8f55/yXI467dO9rRGXauWwzbsX2C1mWoVLS+biQLGJ+GF4v4MecI+3Rj+DjtJ6C0Tn0p5CJtgtKzsmkq3n9kDii7oseqYAXNqEDGtufrfNFMEY9RVAESukqriRr4AnQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wrwlop6MtEn8afNsBgXKFqQUKS5/2hoBvFlRGPQ9hmY=;
 b=lZjIfuhGr5iL8keL7N5OD998pJue147ctfMpbtVarYd8+dF1IyTZh1bo1MOzc0ZJohmemYvknfAh4LG5gE8SFMGyllG030N3Erl9eAem2UxRx6Zpgx+nZDtvMbmXBDjCPvJpK/b7L1oTL8VNJx0NCkIsM06/9pB85oyOzUvUjuo=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: oleksii.kurochko@gmail.com,
	Roger Pau Monne <roger.pau@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH for-4.21 v2] tools/libxc: fix xc_physdev_map_pirq_msi() with PCI segments != 0
Date: Mon, 20 Oct 2025 11:56:13 +0100
Message-ID: <20251020105613.53636-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.51.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MA3P292CA0029.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:47::16) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|PH7PR03MB7105:EE_
X-MS-Office365-Filtering-Correlation-Id: 0a170b08-aad0-461a-9091-08de0fc75027
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?TkhGSE1NUEhyejlseEpyVnJUeXdRTGJVdjdibXgxVW1QRnY4RUhTVEZteXJJ?=
 =?utf-8?B?cjZOUmhIVy9EY2ZyMmZVZTh0UlIxdlkrU2tSTEh3dlg4N0Q3S081ZVpIU2Q5?=
 =?utf-8?B?ZmVmZkg3MlR4WUNucTNwY0MzS0pGc3ZzT0E0VXVMNzFvTmJxaUNjbisvQ3Ex?=
 =?utf-8?B?eFpza3hjVVhtbEF4WkdxdFI4VVFuTGhoVzU0V2NLRmR6SEQ0L0lCQUhlbVFI?=
 =?utf-8?B?bUVWWlVENjJ2SXRERXB2RS9TcnUydmd5Z1NFREovekpIYU1RNytRd3JMZy9k?=
 =?utf-8?B?dU4yOGxwc05MYkxlNlFzZnNkdVNQbXV3eDZtQjlvOFpNTzZFbVk4d2pmdkxN?=
 =?utf-8?B?QzZ6YVBKamRTa3VpWElxYVpGUnAwbDVaMnpMSmMzT1RhcTdGUndpeGs0NkJv?=
 =?utf-8?B?TXRXTDkvTys2b1o0ckowanR1by9qbXV3djlpZmYwb2hCWUl5SFdTemdEWEJD?=
 =?utf-8?B?eVoxNnRqRWQyczBwR3ZmQk1FSVRLU3NnQmNSbG9FMGo4SVp3YXJRRXhISUZV?=
 =?utf-8?B?Z09ZS0ZxOStMcE1ZeE5pRWpXQmVMbzBLamtqTXBBMTVQTURoREs2dE1wVlJ1?=
 =?utf-8?B?K3dJQ0tCSlZuSFhKUUJHT0VidThkVlZ1U2thYVlwQkZKMXVTL2hTdlE0aXBy?=
 =?utf-8?B?TVE1RVFJQ01qTFdpYURGbFB6dGszbzZqMVk5ZzNtRUI4dGNWWm8zZGtsYmRk?=
 =?utf-8?B?T1oxcnNRSCtlajVwaTdCYWpXdGEybGdWUi9DQURJZ3p0ckZQeDRJS3dBL0pF?=
 =?utf-8?B?eUdPVXVOTWk4OHhyTlZUSVhzcGkrVWR2anh6OEJoT21VZ2h5MWVXRlNRK2VH?=
 =?utf-8?B?RjJJR1cwNTJiWTRZODU5VFlZbGJXWDNOT05HaGxiOVFmUk9XSlhxZ0prc2hi?=
 =?utf-8?B?UFJyM09iNVpZUE5WaTNkeXpqbWpnQUUyTFRWRFlMZXdDdURnQWNONTRyV3E4?=
 =?utf-8?B?ODlVV20yS2FmUzJQaW52emFqaDlMcnJ5OVdreDYyMjNFUG1nVUlIMmthdG8w?=
 =?utf-8?B?SGlVUXJyVGtJVUI5Y2FMcUtpaTltSkJ1VGxzaUFwazFGZmEvYTI3a2lTL3JC?=
 =?utf-8?B?Q1BlTVNhdlBLREUvZDU2L0hzdWhqRHlHZjlRT0hOdmRPZkUySjFlem9objk1?=
 =?utf-8?B?NHBGcmdwcmNtSmlneS8wYmJDQ08zRy9tSXUwZjJIZTA1TlJnaElqNzFKbDBM?=
 =?utf-8?B?OG1wbXpNTTd4ZHVIZ1U3Z3pOZzg5Q2hYZElXeEh6MWk2ZUhjKzFvckUwQlV6?=
 =?utf-8?B?MjR2Rng3QjFrNUQ0YXZwWkt6SHhTalhOSE0veW9pQ0FlY0FUQlpOTjVIajAy?=
 =?utf-8?B?b0NSVlNpSFF0WnRTaGRBQXVONERwVXI2M1Mwa1JiRjdjSjhrbjh2OGtjUGJK?=
 =?utf-8?B?b3M3cmZQQitDRmE0TFJLVkR6SkJXYTZabWxnNDVtNWMwaUtLejBuSnhJeFNW?=
 =?utf-8?B?WHdCRFUwQ2ZFYVpoTlh4anlWMzZnQVJJaVVYMEkxK2tsUE8yTzF0NVNiL1dT?=
 =?utf-8?B?cWE1a1BCTy9wSlZEV1JEOGdISXNVTHNJbTdZQTNLbWxiUlpEOFQ4YW5TUVVs?=
 =?utf-8?B?Uy81dmdmZEVVbEdHUWppWHBLUXZjUHJ1RWkyM20rTGFxQmovVVpxTFNqN0N5?=
 =?utf-8?B?Q3VxZUVUdnZTTmt1N0VoQStDK1ZoRzZDT0Q3ZXFQUW5USHZqS2lYd3duWTJV?=
 =?utf-8?B?VFRJQ2dmWldNWXovWWE4QWxtdXZkd29lZzdTeVVvR3VORDJuZzZEWU90ME56?=
 =?utf-8?B?VEh6ck1FWHlMcGVsNC9Kd1I1MGpZUXpWNytubXpiZjFISy9LWmdFemM4Ty9l?=
 =?utf-8?B?TWMvODVtZGJsOFVPVGd0YzVkTjlTZ3BFSzkzcVFkb2xnY2Z2WGZybElHMVht?=
 =?utf-8?B?SFAzb3NHbHRGd2R5VkNEbTcvK0ZKSVRDb1AxVEs1NGltcU1lOXdFRnpIbE9L?=
 =?utf-8?Q?l6hNXeq5EsawgcoBWUcMQ5gkKQLdnY9u?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?enNFWkpWOTJnMTIyaTRENVVpcGtPV3BBdTd3S3JaNGxVbmpyMElVL3JxYUNS?=
 =?utf-8?B?TjRlVlNDL1pmYWl2Z1YyNVZiZWpYeFJhb3FMQWxvaGZEMXdrdzQzMTV4UjVn?=
 =?utf-8?B?UXBpd0w1VGxpTU00WU9JSjVVcGpPRldqRXdXN0dmai9POVlJSy9oOFIxcmVX?=
 =?utf-8?B?RytOQ05oMXB2Uk5uZ0xYMU5NRzFwTk1Yby8yanpsUUsvM2JWdFh6bFpkY0VF?=
 =?utf-8?B?M1FYZkN4YURyK0t2Zk5sU202UXQyV284OGNvSW52L3VwVitjVXkwM2RXYzJ0?=
 =?utf-8?B?aG9xaUFWSmYzd1lDWHB6WWNqTHBabVVuNE1rWk9aKzBVUEVKcDJSR0ZUMm9w?=
 =?utf-8?B?bmlRMVBCODVlTDFTYXJiYi9zN3NZSEs0SUI3aEFlTldETjlXdDhIWUhkNXFy?=
 =?utf-8?B?TTlkSVc1L0ZuTG5pdXgxbk5HUjU2NGZ5NGZTb3lBQ2VrTzUvREpIdFlMVEVV?=
 =?utf-8?B?ZnpXSHVlQWthUWNjNVhMQTlMdVE5aWszT3JuQ2c0ekZMaE9Bd1J0Z1Q0cVBJ?=
 =?utf-8?B?SnU4S3RYUERVeVdJUFpmT0FKYWZEY1ZKLysrVjcwVGdnQzB6YnZKc0FUeGlL?=
 =?utf-8?B?Q2J6bkhrS2U1RU9LS2U5RXIvWTRLVFNjR1htakx1bDQ1bGlkMGdPUndvTTN4?=
 =?utf-8?B?djNicFEweGlBY3lCWUJKRGNheEZuUTcvQW04aXdNVmhDdG5xcmtETmlxRnRv?=
 =?utf-8?B?d096dVliQ3AwV1RUU0pWd0JOMm95WjJwczJJZ1lDdXFZZ2pDczNwOVc5ckdp?=
 =?utf-8?B?V0N1VStETUJIMnpTQkxKMTRkVlVWY0NHTDR3dCt2UXJKUlo0c21CMWExWnYz?=
 =?utf-8?B?dVpmVGZnemMzUmlWQmZ1alhodWVzOHRtcWRYL0tYM1pYdGw3Wk9LellGRkNK?=
 =?utf-8?B?eHdlOEhBYVJnMGY5UFJ2QmpVZllqWTlidUlWTDZrUGhYRTRsdjRPUWtCVVpn?=
 =?utf-8?B?S1VWbW00S2k2b1dnQTA3cDZxeHg3SWdNUFpXamFDNnFqY1dUUzg3Z2NWL1Za?=
 =?utf-8?B?NnQyN2xHaE1iY2xiWUw1UEQ4Nk80K1FCK2t2SDQrclh2eEpkZUZjdytUTGdP?=
 =?utf-8?B?c3RTemhwQjkxZGFPeG5Ic3Y1UXdyY2dKNXYwbldrTGw0SzVxOWpkT2pXM2M1?=
 =?utf-8?B?cGVKSkhldC91ZktPcHVaOHNqb3FheDJpcXUyRjAySDc1ZlJ1UWtGL2pXeEFW?=
 =?utf-8?B?SmE4U0FRdUFJbGdjQVJTQUlUYys4Ujc0RzJtazdsSjdZaHhKUDJHQ3ovNlhK?=
 =?utf-8?B?TjQwbXhZT2NCYWVWRGxWZ0U1OXkvVHJ1eUNjcTR6MjNaajlPd2FXOU1EdHFw?=
 =?utf-8?B?a0JoY2UyclpaUEg3WnJCY0Eva1cva3FXWHBEM2ZHa1h5UzIrOUs1VGc5NlJi?=
 =?utf-8?B?dFN1a1RUOG1abm8yeUN5c1J1a1JsOHc5VTFTRldtZnRnS2RhOUdPeXoveWxo?=
 =?utf-8?B?cnQ0MEhBOWxvMkFncFdRRWsvSVBodGxkY09KaGhpeHgyUTBBb0cwOW8yNWx0?=
 =?utf-8?B?UHJNN3VIa0gveWJKNXp4WThhckhUUkVSQmJTUTJIOEloV1d3VWlxSGZSMnUw?=
 =?utf-8?B?UXU0bkNPMFFhQVc1aXZSTlNPYzBsSERzbnM1aEVVWTZzbTJmTjdUTnNhSHdx?=
 =?utf-8?B?bnNPMlduNzhhTUZkbkhFY3ZnempQUUlDSGsvaHQxUzJHUlhURTBXNU5HSEpC?=
 =?utf-8?B?T3h3UzhCY292eFFvclJ0TmNTY0N0Z1E1T3J0Z1cwdDg0RGZtYmtDNTRGdGt1?=
 =?utf-8?B?L05XRW5XcEMzWTRKWmM0bFdCSnRQdlI0WW9GQktmYlBDSjc3S3RWWUFobEdX?=
 =?utf-8?B?OGVlWWwrK1dOR1BrUUlQT1Myc1oveXNpQWZtUzNOZHJaZnJQZGJGRWxReGMx?=
 =?utf-8?B?ckdOR0F1Tmh3N3NrV2tFcUNSQ1pEaE1qSWFtd3JSNWRNSjBRdEdIQURwR2di?=
 =?utf-8?B?NU1RWU10bk5JdU4yajU5dWo5RGtQQVhnMzhOMjI4aEN5Mm80WGJhcXVOOTht?=
 =?utf-8?B?ejhBTEZneGFxM0pJREgxbU55eGZhTUwrb01SbnJpeDdCQUhaRUR6aitZUHZL?=
 =?utf-8?B?T3FiOE5VT0xDUFVUM0dzYWordFM2WU9KVENKNnJlMkd1U3hleWNCS2lORHFa?=
 =?utf-8?Q?Xj+WkmA/pcI5WoWqWWDINeEld?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0a170b08-aad0-461a-9091-08de0fc75027
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Oct 2025 10:56:25.3137
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: X959JoRdNqD3IKbMzld7RamvTXYHn+DuaaU9rDp34jlDwFZZCRqJQkHkYrPWbUXqciphQsENfOlP9vYgdMOHCw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR03MB7105

Otherwise it's not possible for device models to map IRQs of devices on
segments different than 0.  Keep the same function prototype and pass the
segment in the high 16bits of the bus parameter, like it's done for the
hypercall itself.

Amends: 7620c0cf9a4d ("PCI multi-seg: add new physdevop-s")
Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
Release-Acked-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 tools/include/xenctrl.h      | 2 +-
 tools/libs/ctrl/xc_physdev.c | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index c14ecd66aa9c..d5dbf69c8968 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -1623,7 +1623,7 @@ int xc_physdev_map_pirq_msi(xc_interface *xch,
                             int index,
                             int *pirq,
                             int devfn,
-                            int bus,
+                            int segbus,
                             int entry_nr,
                             uint64_t table_base);
 
diff --git a/tools/libs/ctrl/xc_physdev.c b/tools/libs/ctrl/xc_physdev.c
index 25e686d7b389..9fb78536ea7b 100644
--- a/tools/libs/ctrl/xc_physdev.c
+++ b/tools/libs/ctrl/xc_physdev.c
@@ -65,7 +65,7 @@ int xc_physdev_map_pirq_msi(xc_interface *xch,
                             int index,
                             int *pirq,
                             int devfn,
-                            int bus,
+                            int segbus,
                             int entry_nr,
                             uint64_t table_base)
 {
@@ -79,10 +79,10 @@ int xc_physdev_map_pirq_msi(xc_interface *xch,
     }
     memset(&map, 0, sizeof(struct physdev_map_pirq));
     map.domid = domid;
-    map.type = MAP_PIRQ_TYPE_MSI;
+    map.type = MAP_PIRQ_TYPE_MSI_SEG;
     map.index = index;
     map.pirq = *pirq;
-    map.bus = bus;
+    map.bus = segbus;
     map.devfn = devfn;
     map.entry_nr = entry_nr;
     map.table_base = table_base;
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Mon Oct 20 11:17:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 11:17:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146117.1478583 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAnso-0001ya-AB; Mon, 20 Oct 2025 11:16:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146117.1478583; Mon, 20 Oct 2025 11:16:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAnso-0001yT-7Z; Mon, 20 Oct 2025 11:16:58 +0000
Received: by outflank-mailman (input) for mailman id 1146117;
 Mon, 20 Oct 2025 11:16:56 +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 <SRS0=7iz2=45=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vAnsm-0001y1-Pl
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 11:16:56 +0000
Received: from mail-wr1-x42b.google.com (mail-wr1-x42b.google.com
 [2a00:1450:4864:20::42b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 492af9b8-ada6-11f0-9d15-b5c5bf9af7f9;
 Mon, 20 Oct 2025 13:16:55 +0200 (CEST)
Received: by mail-wr1-x42b.google.com with SMTP id
 ffacd0b85a97d-421851bca51so3444032f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 20 Oct 2025 04:16:55 -0700 (PDT)
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-427f00b9853sm14798435f8f.33.2025.10.20.04.16.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 20 Oct 2025 04:16:54 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 492af9b8-ada6-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760959015; x=1761563815; darn=lists.xenproject.org;
        h=content-transfer-encoding:autocrypt:content-language:cc:to:subject
         :from:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=e/ONRLBiwb0u95emNu2vHO0/vhT8ppXOZWSNVX9TF64=;
        b=F4cP3X0/mhR8GaXlyi1tMoqWVdT6q002INQrryn3FNKC3QLZ19KTVSOURmHmcgDZAw
         1zEKY7/7RYlNneQB9/0IuT+hqA1z9PjQFJtnAC+hWzKos9pcoJfnKNFJfZR1zKLyf+C+
         7L+oOvYLUtw+mcMVdoTp8ggQA5yUw91GJcTz2MwGhKSp4VHNwvPLfCzQ0PoOTKgR2ng4
         a2+/wU6GuOm6I9nWDHsSfnvdJP+LC7XsFrBtsabD68pWLfhj6vqvZBC64o7yx2CLZ/z1
         MrNVHaTcGTty+pK40Pq5SGVeRPHheRseuqz+hO761WxDwjnL294mEkGm250h7JtFcp9H
         47+Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760959015; x=1761563815;
        h=content-transfer-encoding:autocrypt:content-language:cc:to:subject
         :from:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=e/ONRLBiwb0u95emNu2vHO0/vhT8ppXOZWSNVX9TF64=;
        b=N0i53aEfVyqFB2ETVSAbn+GCa6UAsKx2JkdQnsKfLaEPGo3LYjnASZ5v6YrHZiEI1F
         LHRcqJC+3mgtmKxbbRtgamkRKx0XNCqfHZzo/N4b/j3CZuRZ3mgYPUXVWFbrBmbIufDP
         Ub7s/EWebQktT6+o00ZeyOzmvbv41gU5SDBLBR39RzcYBicmi+ZK+U4Vi/e98q06SG82
         /1yiKAV+Oc6FOT9A/EoZACkGv3rWXTqPiaPMI97Citwb9NrxA1Uv0aZFsHeLkD3ylZqJ
         R8gyBjJTZpextiUCsnGbjlduEcQ6PZFuYEUvMCvVUc3f5enXGpk7Vcl3V7d2t3tB8pmU
         rzAw==
X-Gm-Message-State: AOJu0Ywe/ZCP0ahmKPhyzr6XQbw9Sy8YGSUkqOGr3cyT5+Po63iw1Ljh
	vgJgxI5eeWHsW/V5fXPlw7ksUW/TTNYdoovjnZJBdXIrjDDRpToeY5EoZz/9Oeke8KfCZlL6wsN
	15zw=
X-Gm-Gg: ASbGncuc++GaB3nOFLxqA10D4plkr9xpl+CVJtqQKB5kI7hlAjOT7nHJ8mcuRLAUUHa
	qMk4lotuMrh98I4B+x17JlRPpGU7DLHceIn+gss7WryVEgPlxRsdcjkgg9fthzmN7WKA/mmcLHl
	klEUHA7esCHoVDLmCB5D6aR75CSJTLXnExjiOb5iy7SedPfqxtHhaK7Qg8ZcSbLQHIWqK3CnjrZ
	Pfu7mLAieDXtKt1S2QFuihywKo6+aOVYxIpnT5aLQ7KcoCAZPpmzVD2tBAew0g+AzKAVLu8m68B
	zLqWRU77DNABwjE8lUMencFMiUAJG1ailDZ6liwpL3PrJK8n/NLN0HlKQkphrbkUp7kR7kkAIui
	c40iwj9h/ruWW50ZxNe+/p5vgVGJXSG4b4+SQ6YUXxlPC+V5rbhz6grnUSddittWFjYhWte2nQo
	v4YzJOysOXyxhv1XA4sXIIeJpqCDeG9FQ+LOXSSXLN7v4QtVClEjb/OOD6XY0q1uXr5SfnBCh3G
	QLcaXwdlw==
X-Google-Smtp-Source: AGHT+IGfIi0s58MFq1cn1p5UIr2UK3jbBCI/HtaK+nSxNqB7TP83BfhJrGoGZWTD/hMinp0+RJy05g==
X-Received: by 2002:a5d:64e4:0:b0:3ec:dd26:6405 with SMTP id ffacd0b85a97d-42704d900edmr9264192f8f.26.1760959014761;
        Mon, 20 Oct 2025 04:16:54 -0700 (PDT)
Message-ID: <b66ea488-2d47-472c-9520-8590fdf89e0e@suse.com>
Date: Mon, 20 Oct 2025 13:16:55 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2 for-4.21 0/9] x86/HPET: broadcast IRQ and other
 improvements
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.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
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

While 1db7829e5657 ("x86/hpet: do local APIC EOI after interrupt processing")
helped quite a bit, nested interrupts could still occur. First and foremost
as a result of IRQ migration (where we don't have any control over the vectors
chosen). Hence besides reducing the number of IRQs that can be raised (first
patch), the main goal here is to eliminate the potential for nested IRQs
(patch 2). These patches are imo 4.21 candidates. Patches 3 and onwards likely
aren't important enough anymore at this point of the release cycle, even if
those with a Fixes: tag may end up being backported later on.

v2 has 3 patches dropped and 2 new ones introduced, plus in particular a fair
bit of rework of the "main" patch. See individual patches for details.

1: disable unused channels
2: use single, global, low-priority vector for broadcast IRQ
3: replace handle_hpet_broadcast()'s on-stack cpumask_t
4: avoid indirect call to event handler
5: make another channel flags update atomic
6: move legacy tick IRQ count adjustment
7: reduce hpet_next_event() call sites
8: don't use hardcoded 0 for "long timeout"
9: simplify "expire" check a little in reprogram_hpet_evt_channel()

Jan


From xen-devel-bounces@lists.xenproject.org Mon Oct 20 11:18:18 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 11:18:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146131.1478594 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAnu4-0002X0-P1; Mon, 20 Oct 2025 11:18:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146131.1478594; Mon, 20 Oct 2025 11:18:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAnu4-0002Wt-M2; Mon, 20 Oct 2025 11:18:16 +0000
Received: by outflank-mailman (input) for mailman id 1146131;
 Mon, 20 Oct 2025 11:18: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 <SRS0=7iz2=45=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vAnu3-0002Wn-Mh
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 11:18:15 +0000
Received: from mail-wr1-x431.google.com (mail-wr1-x431.google.com
 [2a00:1450:4864:20::431])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 77d64fd8-ada6-11f0-980a-7dc792cee155;
 Mon, 20 Oct 2025 13:18:13 +0200 (CEST)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-426ed6f4db5so2795930f8f.0
 for <xen-devel@lists.xenproject.org>; Mon, 20 Oct 2025 04:18:13 -0700 (PDT)
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-471144b5c34sm238288115e9.10.2025.10.20.04.18.12
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 20 Oct 2025 04:18:12 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 77d64fd8-ada6-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760959093; x=1761563893; 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=KVGn4sSgSWJeCO6UHgtOAx+xuyuXxHCg46TnMeapxz4=;
        b=Eia43L4yoT3jzNAxTNf9azSIxr57j3FQQDyZXH1Ztp5r5lCfh7kgteWbbhTz+d405m
         3omkGcBJGSdq3ygJVTFUzaBlJv9mUt5NqmLuETE+gopW11eCtjQ5h0WePun0/lR9qsj3
         jC0Ry7LvLKIFoQymCXHcm1vh43DSDWn1gbUmBhCiCKzB6BrjnzDeqP66asn3aqJ4bs+G
         2xmidKOPw1xJWqB9hlcNlAVK/Unz9XHzJSWsWv4WPc6MWJSGhhPHji/n94u8mmA8Kkx8
         P1jJyKEUrhGq23aJCZCQYg60RGY/thmj/BcGRRts4kzI4l6SpbNpLNH4crZblWWXHPwm
         RVQQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760959093; x=1761563893;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=KVGn4sSgSWJeCO6UHgtOAx+xuyuXxHCg46TnMeapxz4=;
        b=Pg24slOp1Lxh37+lguwoaTsgiYCli7QUZ87uLZpdC5xMFCZrjQ5Vb4Czl5M1mWFxzA
         DQsZjWVtuqWvQPH6LAjHtsVHhZbAYm/eZi6lapzYmpyOVpJqvTvG54qxhfDSZnPZO1X7
         /x4355K6PYC1FBpHY0E2bKtmGPk3t85F3QNBtAcj3S256wAip3U4ozMBbWCltp2niACA
         9OcNI0zui6P4kUBy2EME4h/EI7mtrOxlvrgJ8q00Nl3FXIxvLGzf2S1SjWl9GZUVyY9P
         AsuxblniRE/6rB+dTtjU4wvO0vGxUCKAZf4rGR0BmS7tGMhRkD1Q3N6ITxjWDURNk9Ha
         mI3A==
X-Gm-Message-State: AOJu0YzBaSrbLjH0wshqPgQd1QalBTSPNQbF/5w7xRFcBi1YjVgS3Pty
	DtpSZ70eiYLJJXgLT6s9umhbopbvD/KPdjqmc1wA8HnRenEBeUZ4ACvUSEqC69Y9sQjfxrPGx9v
	bJwg=
X-Gm-Gg: ASbGnctZG0H3U/8bN176Xio+mMokrVEzeRIcAi3AGZbh/1oaBJ10oJ5iexOmKHF6K4e
	NSd4T3awFfvpfjL4xJxZyb85hqN2wKNxceQO0Xt8sGVFLATFRwvgIlgwxP2ez7285qIRqWT05Dx
	Uo/Ka0vgVkolsZ3F8CC1tCEts68s/D6tW8ASgA2btzIPMDigSYiWzRzpGsMjU7Wq/2LxDUAwh7l
	KZ0eUA8qCWoGGCjIhFDKs2R2tO5+tUg+YasAOnXVQ3Q3TxC0q+eT5TZzueaGAie2ZeqUKlg5yyv
	7I0rGp/TjGhnStv7vBxMlYWybbU1TY1YK5UG3SzEalUbpw9Tz7EteM73k8hRTCET0ITMy8vkOU9
	B8vB0aKAnzYLeh4twFEqTf9aYyA7WXbNCkHRGy9OCvm1iH+18qyS8QFw8gwzu17JwSgFwFKm+Bj
	jUuMcWxsoHpcA5+Dy0NjZnL9TWNnXbQkbK81lrcqcKXGmZPL3v0SM44/HHbpb5XqgsR0IMwmU=
X-Google-Smtp-Source: AGHT+IEeLtHxI4cjVnB/zNhFXjIUxVciyqMKTfrEeVESCvrehyFM9Jjg2xcIxTZfTBWwfCknjNsJ/Q==
X-Received: by 2002:a05:6000:2c0c:b0:3df:22a3:d240 with SMTP id ffacd0b85a97d-426fb6a1c87mr11575515f8f.4.1760959093082;
        Mon, 20 Oct 2025 04:18:13 -0700 (PDT)
Message-ID: <53011168-7b4c-4232-9295-f33399580578@suse.com>
Date: Mon, 20 Oct 2025 13:18:13 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v2 for-4.21 1/9] x86/HPET: disable unused channels
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <b66ea488-2d47-472c-9520-8590fdf89e0e@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: <b66ea488-2d47-472c-9520-8590fdf89e0e@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Keeping channels enabled when they're unused is only causing problems:
Extra interrupts harm performance, and extra nested interrupts could even
have caused worse problems.

Note that no explicit "enable" is necessary - that's implicitly done by
set_channel_irq_affinity() once the channel goes into use again.

Along with disabling the counter, also "clear" the channel's "next event",
for it to be properly written by whatever the next user is going to want
(possibly avoiding too early an IRQ).

Further, along the same lines, don't enable channels early when starting
up an IRQ. This similarly should happen no earlier than from
set_channel_irq_affinity() (here: once a channel goes into use the very
first time). This eliminates a single instance of

(XEN) [VT-D]INTR-REMAP: Request device [0000:00:1f.0] fault index 0
(XEN) [VT-D]INTR-REMAP: reason 25 - Blocked a compatibility format interrupt request

during boot. (Why exactly there's only one instance, when we use multiple
counters and hence multiple IRQs, I can't tell. My understanding would be
that this was due to __hpet_setup_msi_irq() being called only after
request_irq() [and hence the .startup handler], yet that should have
affected all channels.)

Fixes: 3ba523ff957c ("CPUIDLE: enable MSI capable HPET for timer broadcast")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
Release-Acked-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>
---
A window still remains for IRQs to be caused by stale comparator values:
hpet_attach_channel() is called ahead of reprogram_hpet_evt_channel().
Should we also write the comparator to "far into the future"?

Furthermore this prolongues the window until "old" vectors may be released
again, as this way we potentially (and intentionally) delay the ocurrence
of the next IRQ for the channel in question. (This issue will disappear
once we switch to a fixed, global vector.)

--- a/xen/arch/x86/hpet.c
+++ b/xen/arch/x86/hpet.c
@@ -262,10 +262,9 @@ static void cf_check hpet_msi_unmask(str
     ch->msi.msi_attrib.host_masked = 0;
 }
 
-static void cf_check hpet_msi_mask(struct irq_desc *desc)
+static void hpet_disable_channel(struct hpet_event_channel *ch)
 {
     u32 cfg;
-    struct hpet_event_channel *ch = desc->action->dev_id;
 
     cfg = hpet_read32(HPET_Tn_CFG(ch->idx));
     cfg &= ~HPET_TN_ENABLE;
@@ -273,6 +272,11 @@ static void cf_check hpet_msi_mask(struc
     ch->msi.msi_attrib.host_masked = 1;
 }
 
+static void cf_check hpet_msi_mask(struct irq_desc *desc)
+{
+    hpet_disable_channel(desc->action->dev_id);
+}
+
 static int hpet_msi_write(struct hpet_event_channel *ch, struct msi_msg *msg)
 {
     ch->msi.msg = *msg;
@@ -295,12 +299,6 @@ static int hpet_msi_write(struct hpet_ev
     return 0;
 }
 
-static unsigned int cf_check hpet_msi_startup(struct irq_desc *desc)
-{
-    hpet_msi_unmask(desc);
-    return 0;
-}
-
 #define hpet_msi_shutdown hpet_msi_mask
 
 static void cf_check hpet_msi_set_affinity(
@@ -326,7 +324,7 @@ static void cf_check hpet_msi_set_affini
  */
 static hw_irq_controller hpet_msi_type = {
     .typename   = "HPET-MSI",
-    .startup    = hpet_msi_startup,
+    .startup    = irq_startup_none,
     .shutdown   = hpet_msi_shutdown,
     .enable	    = hpet_msi_unmask,
     .disable    = hpet_msi_mask,
@@ -526,6 +524,8 @@ static void hpet_detach_channel(unsigned
         spin_unlock_irq(&ch->lock);
     else if ( (next = cpumask_first(ch->cpumask)) >= nr_cpu_ids )
     {
+        hpet_disable_channel(ch);
+        ch->next_event = STIME_MAX;
         ch->cpu = -1;
         clear_bit(HPET_EVT_USED_BIT, &ch->flags);
         spin_unlock_irq(&ch->lock);



From xen-devel-bounces@lists.xenproject.org Mon Oct 20 11:18:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 11:18:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146136.1478604 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAnuO-0002vP-1W; Mon, 20 Oct 2025 11:18:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146136.1478604; Mon, 20 Oct 2025 11:18:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAnuN-0002vI-UZ; Mon, 20 Oct 2025 11:18:35 +0000
Received: by outflank-mailman (input) for mailman id 1146136;
 Mon, 20 Oct 2025 11:18:35 +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 <SRS0=7iz2=45=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vAnuN-0001y1-4x
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 11:18:35 +0000
Received: from mail-wr1-x42b.google.com (mail-wr1-x42b.google.com
 [2a00:1450:4864:20::42b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 842da1ca-ada6-11f0-9d15-b5c5bf9af7f9;
 Mon, 20 Oct 2025 13:18:34 +0200 (CEST)
Received: by mail-wr1-x42b.google.com with SMTP id
 ffacd0b85a97d-4270491e9easo2582076f8f.2
 for <xen-devel@lists.xenproject.org>; Mon, 20 Oct 2025 04:18:34 -0700 (PDT)
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-427f00b97f8sm14777104f8f.36.2025.10.20.04.18.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 20 Oct 2025 04:18:33 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 842da1ca-ada6-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760959114; x=1761563914; 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=xp3ZzG5lh8bOBtP+FhKCPfyNrES6CNI7e8J4OO1+r18=;
        b=dJduLkdmSR+qE9Wi4WZhd5/c6F2jl2cG0jK3qQpnaJbLrS26rH/+SsCZYu7Wv5Fb83
         qoXNMl7EcN8ApqJMmAVNPaoct7KAHQKtwxIkqZIG8wODBVWQ/EJ7j+ly1jxZLqiO4FS3
         486ejycvEOSx+ZqbN446PnkZs07HX5OzTxCMDDcrK3uN0z89GbRLa0kza34Ggmbh3iBf
         cpHU4WLQS03OnV0mi+eEUKcGTpQddXnUTP4hKzdabfuDVJNcP0KkBm+Ndl/I0LagOSBA
         To7sm6yKEwCsh30zWbpISNafKde453DoFmCg2zfTseEobYVNhlL0IMRIQfdUHzT84JOT
         Xi7w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760959114; x=1761563914;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=xp3ZzG5lh8bOBtP+FhKCPfyNrES6CNI7e8J4OO1+r18=;
        b=RAehYwv7VO/NjJvAZ+p8sbyaX7qFhSre5AveHKZ9fqr4rbs9u4c+0qKDjtMP3eqNnP
         DRMbFYRJTMEGpxRW7+y68Q0SXuSposPpoa9lMly9Gw1c7iciqLZrkPp9mTrt8HucwQpq
         pPyJeocAPCeaG6/WBRanDbG2+vzW1JYQ80EccXp5JbzTeHb1pm+wm4GdO1ojcbFG/h6X
         GHWIt+mz0RQWbopTx0hJJc9//9cVN2U6RusLLMvntqjgpU8Q5oVr81wMMdNSRGWqK3su
         rcAnclHjnajh8g/fVsYLFLPLly2Qki0Gv494c4Oc6hAN+DWjrHNrHDDjbYPJDHFbTWzI
         xbJA==
X-Gm-Message-State: AOJu0YwiZE1geGKyfV1eual0QonzpkEuRlAdqyX3TPtF9GFx+yHn/vbX
	ONPwf9KREPlZKQB2Sy7WQINCjWNHl5KF8Pe3ipCaCnHCYWPE4RkbRa4jtyFgJ8ADINgxb7O2InW
	58ec=
X-Gm-Gg: ASbGnctVc1GeqltqnkgAphbR1K5lV44RD0uww58zhUkPFHPrrzwMwT5AMBrhyg2QITB
	VtPXRHeaqq2BuC/zBh8ftdtA+J0kr7NdqiEftxynIN/cyis4l8URgkoMBj6neE1Z7XSl80QyH6W
	u7WFagPsTTtwNZozMqKhWNkLHCZKA485OssXLcM3L6jxndtVxHGdWV8tFL7W1ZcZrrfWKGRZOmc
	+Tyydoa8J6VxHn3nXtCqaOhLyavapkd+c3Gt5QO6Vhoy7Vp/v+F5rZ72mHaw3wQRhZItPJTjqN9
	h1t3694Z5o1HcTwNaAkOYVDBHgAFydwEXvUQQ+V1rKLKUlmJ5Hlf5gJ9r2WA1a8M28TjfC5dt21
	wDO053LxdB0X+2McG2O+8cPnmMvz6wNNbnRfZnaZVDrlyc1WXBgyoUAgUvVU14Fw+dqkwJ5DX8H
	kQ8RoTUqz8ukb1wlXhX0TmTo/JeyOVcTdPPt07GkQ1LHpDQa6X42qgh+RSxxGZvc5VBNRsvB0=
X-Google-Smtp-Source: AGHT+IERMekt1Z9Tal+0KY4nEFISAZZNXuyoDQC7eKhFKqV/SBqcnPeOcBTKpr9xTKiruHgXmMfnZg==
X-Received: by 2002:a05:6000:2303:b0:427:6cb:74a4 with SMTP id ffacd0b85a97d-42706cb74a9mr8432642f8f.39.1760959113689;
        Mon, 20 Oct 2025 04:18:33 -0700 (PDT)
Message-ID: <c8c124c4-71c5-41e7-8d84-fd45ffd6af14@suse.com>
Date: Mon, 20 Oct 2025 13:18:34 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v2 for-4.21 2/9] x86/HPET: use single, global, low-priority
 vector for broadcast IRQ
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <b66ea488-2d47-472c-9520-8590fdf89e0e@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: <b66ea488-2d47-472c-9520-8590fdf89e0e@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Using dynamically allocated / maintained vectors has several downsides:
- possible nesting of IRQs due to the effects of IRQ migration,
- reduction of vectors available for devices,
- IRQs not moving as intended if there's shortage of vectors,
- higher runtime overhead.

As the vector also doesn't need to be of any priority (first and foremost
it really shouldn't be of higher or same priority as the timer IRQ, as
that raises TIMER_SOFTIRQ anyway), avoid any "ordinary" vectors altogther
and use a vector from the 0x10...0x1f exception vector space. Exception vs
interrupt can easily be distinguished by checking for the presence of an
error code.

With a fixed vector, less updating is now necessary in
set_channel_irq_affinity(); in particular channels don't need transiently
masking anymore, as the necessary update is now atomic. To fully leverage
this, however, we want to stop using hpet_msi_set_affinity() there. With
the transient masking dropped, we're no longer at risk of missing events.

In principle a change to setup_vector_irq() would be necessary, but only
if we used low-prio vectors as direct-APIC ones. Since the change would be
at best benign here, it is being omitted.

Fixes: 996576b965cc ("xen: allow up to 16383 cpus")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Release-Acked-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>
---
This is an alternative proposal to
https://lists.xen.org/archives/html/xen-devel/2014-03/msg00399.html.

Should we keep hpet_msi_set_affinity() at all? We'd better not have the
generic IRQ subsystem play with our IRQs' affinities ... (If so, this
likely would want to be a separate patch, though.)

The hpet_enable_channel() call could in principle be made (effectively)
conditional, at the price of introducing a check in hpet_enable_channel().
However, as much as eliminating the masking didn't help with the many
excess (early) IRQs I'm observing on Intel hardware, doing so doesn't help
either.

The Fixes: tag indicates where the problem got signficantly worse; in
principle it was there already before (crashing at perhaps 6 or 7 levels
of nested IRQs).
---
v2: Re-work set_channel_irq_affinity() intensively. Re-base over the
    dropping of another patch. Drop setup_vector_irq() change.

--- a/xen/arch/x86/hpet.c
+++ b/xen/arch/x86/hpet.c
@@ -9,17 +9,19 @@
 #include <xen/timer.h>
 #include <xen/smp.h>
 #include <xen/softirq.h>
+#include <xen/cpuidle.h>
 #include <xen/irq.h>
 #include <xen/numa.h>
 #include <xen/param.h>
 #include <xen/sched.h>
 
 #include <asm/apic.h>
-#include <asm/fixmap.h>
 #include <asm/div64.h>
+#include <asm/fixmap.h>
+#include <asm/genapic.h>
 #include <asm/hpet.h>
+#include <asm/irq-vectors.h>
 #include <asm/msi.h>
-#include <xen/cpuidle.h>
 
 #define MAX_DELTA_NS MILLISECS(10*1000)
 #define MIN_DELTA_NS MICROSECS(20)
@@ -251,10 +253,9 @@ static void cf_check hpet_interrupt_hand
     ch->event_handler(ch);
 }
 
-static void cf_check hpet_msi_unmask(struct irq_desc *desc)
+static void hpet_enable_channel(struct hpet_event_channel *ch)
 {
     u32 cfg;
-    struct hpet_event_channel *ch = desc->action->dev_id;
 
     cfg = hpet_read32(HPET_Tn_CFG(ch->idx));
     cfg |= HPET_TN_ENABLE;
@@ -262,6 +263,11 @@ static void cf_check hpet_msi_unmask(str
     ch->msi.msi_attrib.host_masked = 0;
 }
 
+static void cf_check hpet_msi_unmask(struct irq_desc *desc)
+{
+    hpet_enable_channel(desc->action->dev_id);
+}
+
 static void hpet_disable_channel(struct hpet_event_channel *ch)
 {
     u32 cfg;
@@ -307,15 +313,13 @@ static void cf_check hpet_msi_set_affini
     struct hpet_event_channel *ch = desc->action->dev_id;
     struct msi_msg msg = ch->msi.msg;
 
-    msg.dest32 = set_desc_affinity(desc, mask);
-    if ( msg.dest32 == BAD_APICID )
-        return;
+    /* This really is only for dump_irqs(). */
+    cpumask_copy(desc->arch.cpu_mask, mask);
 
-    msg.data &= ~MSI_DATA_VECTOR_MASK;
-    msg.data |= MSI_DATA_VECTOR(desc->arch.vector);
+    msg.dest32 = cpu_mask_to_apicid(mask);
     msg.address_lo &= ~MSI_ADDR_DEST_ID_MASK;
     msg.address_lo |= MSI_ADDR_DEST_ID(msg.dest32);
-    if ( msg.data != ch->msi.msg.data || msg.dest32 != ch->msi.msg.dest32 )
+    if ( msg.dest32 != ch->msi.msg.dest32 )
         hpet_msi_write(ch, &msg);
 }
 
@@ -328,7 +332,7 @@ static hw_irq_controller hpet_msi_type =
     .shutdown   = hpet_msi_shutdown,
     .enable	    = hpet_msi_unmask,
     .disable    = hpet_msi_mask,
-    .ack        = ack_nonmaskable_msi_irq,
+    .ack        = irq_actor_none,
     .end        = end_nonmaskable_irq,
     .set_affinity   = hpet_msi_set_affinity,
 };
@@ -347,6 +351,12 @@ static int __init hpet_setup_msi_irq(str
     u32 cfg = hpet_read32(HPET_Tn_CFG(ch->idx));
     irq_desc_t *desc = irq_to_desc(ch->msi.irq);
 
+    clear_irq_vector(ch->msi.irq);
+    ret = bind_irq_vector(ch->msi.irq, HPET_BROADCAST_VECTOR, &cpu_online_map);
+    if ( ret )
+        return ret;
+    cpumask_setall(desc->affinity);
+
     if ( iommu_intremap != iommu_intremap_off )
     {
         ch->msi.hpet_id = hpet_blockid;
@@ -476,19 +486,50 @@ static struct hpet_event_channel *hpet_g
 static void set_channel_irq_affinity(struct hpet_event_channel *ch)
 {
     struct irq_desc *desc = irq_to_desc(ch->msi.irq);
+    struct msi_msg msg = ch->msi.msg;
 
     ASSERT(!local_irq_is_enabled());
     spin_lock(&desc->lock);
-    hpet_msi_mask(desc);
-    hpet_msi_set_affinity(desc, cpumask_of(ch->cpu));
-    hpet_msi_unmask(desc);
+
+    per_cpu(vector_irq, ch->cpu)[HPET_BROADCAST_VECTOR] = ch->msi.irq;
+
+    /*
+     * Open-coding a reduced form of hpet_msi_set_affinity() here.  With the
+     * actual update below (either of the IRTE or of [just] message address;
+     * with interrupt remapping message address/data don't change) now being
+     * atomic, we can avoid masking the IRQ around the update.  As a result
+     * we're no longer at risk of missing IRQs (provided hpet_broadcast_enter()
+     * keeps setting the new deadline only afterwards).
+     */
+    cpumask_copy(desc->arch.cpu_mask, cpumask_of(ch->cpu));
+
     spin_unlock(&desc->lock);
 
-    spin_unlock(&ch->lock);
+    msg.dest32 = cpu_physical_id(ch->cpu);
+    msg.address_lo &= ~MSI_ADDR_DEST_ID_MASK;
+    msg.address_lo |= MSI_ADDR_DEST_ID(msg.dest32);
+    if ( msg.dest32 != ch->msi.msg.dest32 )
+    {
+        ch->msi.msg = msg;
+
+        if ( iommu_intremap != iommu_intremap_off )
+        {
+            int rc = iommu_update_ire_from_msi(&ch->msi, &msg);
 
-    /* We may have missed an interrupt due to the temporary masking. */
-    if ( ch->event_handler && ch->next_event < NOW() )
-        ch->event_handler(ch);
+            ASSERT(rc <= 0);
+            if ( rc > 0 )
+            {
+                ASSERT(msg.data == hpet_read32(HPET_Tn_ROUTE(ch->idx)));
+                ASSERT(msg.address_lo ==
+                       hpet_read32(HPET_Tn_ROUTE(ch->idx) + 4));
+            }
+        }
+        else
+            hpet_write32(msg.address_lo, HPET_Tn_ROUTE(ch->idx) + 4);
+    }
+
+    hpet_enable_channel(ch);
+    spin_unlock(&ch->lock);
 }
 
 static void hpet_attach_channel(unsigned int cpu,
--- a/xen/arch/x86/include/asm/irq-vectors.h
+++ b/xen/arch/x86/include/asm/irq-vectors.h
@@ -18,6 +18,15 @@
 /* IRQ0 (timer) is statically allocated but must be high priority. */
 #define IRQ0_VECTOR             0xf0
 
+/*
+ * Low-priority (for now statically allocated) vectors, sharing entry
+ * points with exceptions in the 0x10 ... 0x1f range, as long as the
+ * respective exception has an error code.
+ */
+#define FIRST_LOPRIORITY_VECTOR 0x10
+#define HPET_BROADCAST_VECTOR   X86_EXC_AC
+#define LAST_LOPRIORITY_VECTOR  0x1f
+
 /* Legacy PIC uses vectors 0x20-0x2f. */
 #define FIRST_LEGACY_VECTOR     FIRST_DYNAMIC_VECTOR
 #define LAST_LEGACY_VECTOR      (FIRST_LEGACY_VECTOR + 0xf)
@@ -40,7 +49,7 @@
 /* There's no IRQ2 at the PIC. */
 #define IRQ_MOVE_CLEANUP_VECTOR (FIRST_LEGACY_VECTOR + 2)
 
-#define FIRST_IRQ_VECTOR        FIRST_DYNAMIC_VECTOR
+#define FIRST_IRQ_VECTOR        FIRST_LOPRIORITY_VECTOR
 #define LAST_IRQ_VECTOR         LAST_HIPRIORITY_VECTOR
 
 #endif /* _ASM_IRQ_VECTORS_H */
--- a/xen/arch/x86/msi.c
+++ b/xen/arch/x86/msi.c
@@ -158,7 +158,7 @@ void msi_compose_msg(unsigned vector, co
 {
     memset(msg, 0, sizeof(*msg));
 
-    if ( vector < FIRST_DYNAMIC_VECTOR )
+    if ( vector < FIRST_LOPRIORITY_VECTOR )
         return;
 
     if ( cpu_mask )
--- a/xen/arch/x86/x86_64/entry.S
+++ b/xen/arch/x86/x86_64/entry.S
@@ -1045,7 +1045,13 @@ END(entry_GP)
 
 FUNC(entry_AC)
         ENDBR64
+        /* #AC shares its entry point with the HPET broadcast interrupt. */
+        test  $8, %spl
+        jz    .Lac
+        push  $0
+.Lac:
         movb  $X86_EXC_AC, EFRAME_entry_vector(%rsp)
+        jnz   common_interrupt
         jmp   handle_exception
 END(entry_AC)
 



From xen-devel-bounces@lists.xenproject.org Mon Oct 20 11:19:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 11:19:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146150.1478614 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAnv9-0003YR-9c; Mon, 20 Oct 2025 11:19:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146150.1478614; Mon, 20 Oct 2025 11:19:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAnv9-0003YK-6c; Mon, 20 Oct 2025 11:19:23 +0000
Received: by outflank-mailman (input) for mailman id 1146150;
 Mon, 20 Oct 2025 11:19:22 +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 <SRS0=7iz2=45=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vAnv8-0003Y5-9L
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 11:19:22 +0000
Received: from mail-wr1-x42f.google.com (mail-wr1-x42f.google.com
 [2a00:1450:4864:20::42f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9f9a3ed0-ada6-11f0-980a-7dc792cee155;
 Mon, 20 Oct 2025 13:19:20 +0200 (CEST)
Received: by mail-wr1-x42f.google.com with SMTP id
 ffacd0b85a97d-4283be7df63so1014106f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 20 Oct 2025 04:19:20 -0700 (PDT)
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-427ea5b3acfsm14781399f8f.14.2025.10.20.04.19.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 20 Oct 2025 04:19:19 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9f9a3ed0-ada6-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760959160; x=1761563960; 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=AI0XfI34h1Zl5StAh9WFtTOYxg7ZUNHMx3r652w6/xg=;
        b=W+/4+05DNcG+00bPdjuUWXuROpZ3FqlT41iNBgHt6vawcicItb8l7tsQGJyDvUpwJR
         zJxD0fPLdWootS0mrlCLf9OBDQ37M4zEV4fGim45rf6MXTLmanf0IiQ6C5t9qAWw+uT1
         9mBh458RtyBjytlXxhGnOx4oKcUyGEgNKwfReTrj0rmKKdickxzgNmEdFqtWBFlpUWbA
         T1qLIzmIsUYKJyXQFqXQeRpu6SuwXt3QvpeOifbCXahQR1DgI5dk8uJm9tAjFLUZTTQ2
         Lcx+Be+gYYPbAKm/rQbzEeHikj9Vu6rDXaycbsZ2dY8fNQujHqDyN5kk/tUljJOvHaX9
         qrWw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760959160; x=1761563960;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=AI0XfI34h1Zl5StAh9WFtTOYxg7ZUNHMx3r652w6/xg=;
        b=NY+9pUAPDYtj+OvrEbN7IfFYrMOtATLKi726ctO5E358fIdQhRPJBRWTkE+gjAzn9j
         +byqIEyTebapcnPKGyLP8mSNkYfG+akCm+LJailiYyCGHCYTFEz0p0JFzpYhYrdi6QgE
         s2AbY8EjJMMxbhk7THFRvLlerZqHkwh6pffSeZa/oLVVCXwubMTO1O8LBoCJtsVwXQsa
         uu20e/H9F36X02fomFPMUF6ZyLmIFC52YJinJO/4hHnBzt8uDDfVtvXdHYuJd/pzpxaW
         nJg4J6w62u0qjTSxvR10NewWD+LnYM6H142L832A810i3dey4+QFk8ncGca/CF5IVjQE
         UvgA==
X-Gm-Message-State: AOJu0YwOPCJHccCmNEqrpgccWOMJa4To2vGqSr1EQl68/e8uq34Bn8Cs
	JEZCHbwZSl8w+aJeK67NNXxCkoJhNKDVAueLeBTiZy0XDIY3X7VF4eACGCIPZVVPacUlMeUiVbo
	XWkk=
X-Gm-Gg: ASbGnct69Ft2seR7yvFEup1LGFB25IJyd8iwUqfclLLU2I3/O1aqTjKWK+MFm9vvOLV
	nDELtc1/UNYpB8JoKlW097//wdBnDd7jc6IgZgBrf0w5/HZ4CM6b8IlpMlgsUbTasNflfod7EVw
	E/YCKatKlRTUa0Oo3CUSbJ66+vxC3wwi8BeQWbCCAweN89odL8xIXUO8pq40QVTLRBQc9kF+VkC
	x0g56CB3y+6UaqeL/R/YoS0ZEJa8JsnT+5GkSC0eVXAAImCPzNdfqMxIMv5KHM6Gh6dlo03mDMX
	+3ji7ec8T3C8ST0DGdViJLQ47SvNdqAAuPscyMqgpMKsuGUlpIG1qZwnj7ATzLeojRinuCLPGPx
	gFsy9HZ21LMCEa1jy94OMXYgUhph2DgSa0YYtnpbn/2bwUssys9kLzHWBXK1YY5cWXaSDMguuii
	dNl2WfMOix2VxgHUcI0/cprsqirGx3dCMYjnFCKPXaK4QDhfyHJZyumOISCZuN
X-Google-Smtp-Source: AGHT+IHCXE0dJDtsjlPTRwNty5pqiwlUd1ly4yT/a6uQB5hIdfdbppAaqSjA3JntMNUWWYupbhdqPA==
X-Received: by 2002:a05:6000:2301:b0:428:3e62:3225 with SMTP id ffacd0b85a97d-4283e6236f6mr5165411f8f.60.1760959159759;
        Mon, 20 Oct 2025 04:19:19 -0700 (PDT)
Message-ID: <c357cb79-a10d-4d81-9695-9d16a4080595@suse.com>
Date: Mon, 20 Oct 2025 13:19:20 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v2 for-4.21 3/9] x86/HPET: replace handle_hpet_broadcast()'s
 on-stack cpumask_t
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <b66ea488-2d47-472c-9520-8590fdf89e0e@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: <b66ea488-2d47-472c-9520-8590fdf89e0e@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

With large NR_CPUS on-stack cpumask_t variables are problematic. Now that
the IRQ handler can't be invoked in a nested manner anymore, we can
instead use a per-CPU variable. While we can't use scratch_cpumask in code
invoked from IRQ handlers, simply amend that one with a HPET-special form.
(Note that only one of the two IRQ handling functions can come into play
at any one time.)

Fixes: 996576b965cc ("xen: allow up to 16383 cpus")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
While doing this I noticed that this and all pre-existing uses of
DEFINE_PER_CPU_READ_MOSTLY() aren't quite right: When the type is
cpumask_var_t, the variable is read-mostly only when NR_CPUS <=
2 * BITS_PER_LONG. That'll want sorting separately, though.

It is important for this to not be moved ahead of "x86/HPET: use single,
global, low-priority vector for broadcast IRQ", as the original call here
from set_channel_irq_affinity() may not use the new variable (it would
need to use scratch_cpumask instead).
---
v2: New.

--- a/xen/arch/x86/hpet.c
+++ b/xen/arch/x86/hpet.c
@@ -196,7 +196,7 @@ static void evt_do_broadcast(cpumask_t *
 
 static void cf_check handle_hpet_broadcast(struct hpet_event_channel *ch)
 {
-    cpumask_t mask;
+    cpumask_t *scratch = this_cpu(hpet_scratch_cpumask);
     s_time_t now, next_event;
     unsigned int cpu;
     unsigned long flags;
@@ -209,7 +209,7 @@ again:
     spin_unlock_irqrestore(&ch->lock, flags);
 
     next_event = STIME_MAX;
-    cpumask_clear(&mask);
+    cpumask_clear(scratch);
     now = NOW();
 
     /* find all expired events */
@@ -218,13 +218,13 @@ again:
         s_time_t deadline = ACCESS_ONCE(per_cpu(timer_deadline, cpu));
 
         if ( deadline <= now )
-            __cpumask_set_cpu(cpu, &mask);
+            __cpumask_set_cpu(cpu, scratch);
         else if ( deadline < next_event )
             next_event = deadline;
     }
 
     /* wakeup the cpus which have an expired event. */
-    evt_do_broadcast(&mask);
+    evt_do_broadcast(scratch);
 
     if ( next_event != STIME_MAX )
     {
--- a/xen/arch/x86/include/asm/smp.h
+++ b/xen/arch/x86/include/asm/smp.h
@@ -22,6 +22,7 @@
 DECLARE_PER_CPU(cpumask_var_t, cpu_sibling_mask);
 DECLARE_PER_CPU(cpumask_var_t, cpu_core_mask);
 DECLARE_PER_CPU(cpumask_var_t, scratch_cpumask);
+DECLARE_PER_CPU(cpumask_var_t, hpet_scratch_cpumask);
 DECLARE_PER_CPU(cpumask_var_t, send_ipi_cpumask);
 
 /*
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -55,6 +55,9 @@ DEFINE_PER_CPU_READ_MOSTLY(cpumask_var_t
 DEFINE_PER_CPU_READ_MOSTLY(cpumask_var_t, scratch_cpumask);
 static cpumask_t scratch_cpu0mask;
 
+DEFINE_PER_CPU_READ_MOSTLY(cpumask_var_t, hpet_scratch_cpumask);
+static cpumask_t hpet_scratch_cpu0mask;
+
 DEFINE_PER_CPU_READ_MOSTLY(cpumask_var_t, send_ipi_cpumask);
 static cpumask_t send_ipi_cpu0mask;
 
@@ -976,6 +979,8 @@ static void cpu_smpboot_free(unsigned in
         FREE_CPUMASK_VAR(per_cpu(cpu_core_mask, cpu));
         if ( per_cpu(scratch_cpumask, cpu) != &scratch_cpu0mask )
             FREE_CPUMASK_VAR(per_cpu(scratch_cpumask, cpu));
+        if ( per_cpu(hpet_scratch_cpumask, cpu) != &hpet_scratch_cpu0mask )
+            FREE_CPUMASK_VAR(per_cpu(hpet_scratch_cpumask, cpu));
         if ( per_cpu(send_ipi_cpumask, cpu) != &send_ipi_cpu0mask )
             FREE_CPUMASK_VAR(per_cpu(send_ipi_cpumask, cpu));
     }
@@ -1112,6 +1117,7 @@ static int cpu_smpboot_alloc(unsigned in
     if ( !(cond_zalloc_cpumask_var(&per_cpu(cpu_sibling_mask, cpu)) &&
            cond_zalloc_cpumask_var(&per_cpu(cpu_core_mask, cpu)) &&
            cond_alloc_cpumask_var(&per_cpu(scratch_cpumask, cpu)) &&
+           cond_alloc_cpumask_var(&per_cpu(hpet_scratch_cpumask, cpu)) &&
            cond_alloc_cpumask_var(&per_cpu(send_ipi_cpumask, cpu))) )
         goto out;
 
@@ -1239,6 +1245,7 @@ void __init smp_prepare_boot_cpu(void)
     cpumask_set_cpu(cpu, &cpu_present_map);
 #if NR_CPUS > 2 * BITS_PER_LONG
     per_cpu(scratch_cpumask, cpu) = &scratch_cpu0mask;
+    per_cpu(hpet_scratch_cpumask, cpu) = &hpet_scratch_cpu0mask;
     per_cpu(send_ipi_cpumask, cpu) = &send_ipi_cpu0mask;
 #endif
 



From xen-devel-bounces@lists.xenproject.org Mon Oct 20 11:21:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 11:21:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146159.1478623 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAnxb-00058R-Ra; Mon, 20 Oct 2025 11:21:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146159.1478623; Mon, 20 Oct 2025 11:21:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAnxb-00058K-OM; Mon, 20 Oct 2025 11:21:55 +0000
Received: by outflank-mailman (input) for mailman id 1146159;
 Mon, 20 Oct 2025 11:21:54 +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 <SRS0=7iz2=45=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vAnxa-00058E-5Q
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 11:21:54 +0000
Received: from mail-wm1-x332.google.com (mail-wm1-x332.google.com
 [2a00:1450:4864:20::332])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f9b12817-ada6-11f0-980a-7dc792cee155;
 Mon, 20 Oct 2025 13:21:51 +0200 (CEST)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-47100eae3e5so39349555e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 20 Oct 2025 04:21:51 -0700 (PDT)
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-47160987184sm59788055e9.11.2025.10.20.04.21.50
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 20 Oct 2025 04:21:50 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f9b12817-ada6-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760959311; x=1761564111; 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=Yfju5TuSYr1gnKBFs17R38Pvw/Jb2fzNTTH63D/Pa3U=;
        b=EVoV4FFZ9R4OPzh/RUdqZM4nmyJL+xldLXM4kiY2Wh5WHuxUNmt3hkYP2VN6o0t8n3
         mQ+FZwkeO5numFXz1RsRwhZ+5DTMkw4y8Djwwid0rBACSot/+lKQlW4I2K1R6W0z1DzV
         aywrOlKgwEuegsyQsfo+vVPl4CHs0I8gHiy9F+buQcekxChHEbeOKBkZ7Ref4zoGtI68
         Rb0BfjfeGl+sQWlMrI2LZEIamCIP+Sbs84XPQT2yDLObFcmj6vo9tqQ28SYvy7H26iC8
         CCRFwzY2ly3sOFfxRoflEAfYJrkeCk5U7C3d0qQ+4Sx7QXWk/JfP3p9Cy+LdlT/1Au2b
         4ung==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760959311; x=1761564111;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=Yfju5TuSYr1gnKBFs17R38Pvw/Jb2fzNTTH63D/Pa3U=;
        b=GKNyAdiyAxYdYPXvRjtddNLnaciCAF/GSWgTmHeMF+MyB1s9uk7Ee1+NTESOY68jfL
         RuPdCSyN7JCJsRZI6FHA5GW1Amazkg0n1u88ebtby0V3ozTMEwm14GfcjEC3bteddDnt
         cE1G+Di1kygZRtpbDIHHs6ZwxvEjTWyGx33PSyIA2gTh3G94sL94WKYhq4Gv+OCmtdYj
         iImuN8frufq5cq2sKqYjNc3qVFI7C4EZGJ0gQaYAirZ7KPMeQb3w2heHi16wjXHpy8Un
         DVAuiZc/eXbATKzI3UcNhlZDQR5cueQHBvKT15yw1KRrgxwkYpcpAMbKbm49TmhVaIBM
         iAgQ==
X-Gm-Message-State: AOJu0YxN4BHJCYI6jYZqNTQ367e6vO5W+gM9K0hH30a/UCPA7nOFDBtr
	l7eDRyxsVDHdDPgfWTSaYVlPi27lSeYEAtJHwnxWyT6GGqmnGB/qbByNKbY7GvqA4vigzTAbz+w
	gdv8=
X-Gm-Gg: ASbGncs9I8MDNLPaQyztjrxvOWLtgK4hUSKASuYCgqlrVa++QOwBhDCxLGWWQtaRYqt
	d86UXzDK10X1BDL9gwd/oHdQAJIwfuZ5s0kneULiI77/ySIMpCnUarG4Ust5z7C88fbkzhUi2qf
	/SZ0SU8xmKuccMmuzyYk4qBTvs4kGCSgbTluTO986ALB8MBUV6XxPlOx+uDux5FhfRkvcM8ij+6
	K64GY0KA8xq/aMVUXF4zMUZmErgaOoQECg3TZhuUs6QGRRj7ln+VLxQoARw9EfIV7c4yL9rH52O
	0MdNa15wPKjlpABWcLM21EHRJtfxNa3I9o41ulAdBPeol/OYyFPPX9ittq62DJLyRpmnXmikgo5
	sYl/EBJ/ek5lUOmFiQWFTiWOuwIybdzjomQn0AQn/Gi2dQTgyabXCows1OmqwoPXUuHACJVwAPr
	Pky0EWUR0TZzZNLgDNHcrmPNjS5KrP/mNlHlFesDN8VgVY9EYlP4S1M1RXHV2NOKPmhTIMAMs=
X-Google-Smtp-Source: AGHT+IEtmGDyRsBl9htJ526cm9h+9wIw5KznJsMXYVif6/SuHdjk7VYyyZ1p99weciLPSfTIwx7dXw==
X-Received: by 2002:a05:600c:3488:b0:459:e398:ed89 with SMTP id 5b1f17b1804b1-4711786c586mr89914955e9.1.1760959311006;
        Mon, 20 Oct 2025 04:21:51 -0700 (PDT)
Message-ID: <65b6c05b-49f4-4a3e-aa13-abf5da99f9cb@suse.com>
Date: Mon, 20 Oct 2025 13:21:51 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v2 9/9] x86/HPET: simplify "expire" check a little in
 reprogram_hpet_evt_channel()
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <b66ea488-2d47-472c-9520-8590fdf89e0e@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: <b66ea488-2d47-472c-9520-8590fdf89e0e@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

When this was added, the log message was updated correctly, but the zero
case was needlessly checked separately: hpet_broadcast_enter() had a zero
check added at the same time, while handle_hpet_broadcast() can't possibly
pass 0 here anyway.

Fixes: 7145897cfb81 ("cpuidle: Fix for timer_deadline==0 case")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: New.

--- a/xen/arch/x86/hpet.c
+++ b/xen/arch/x86/hpet.c
@@ -147,10 +147,10 @@ static int reprogram_hpet_evt_channel(
     int64_t delta;
     int ret;
 
-    if ( (ch->flags & HPET_EVT_DISABLE) || (expire == 0) )
+    if ( ch->flags & HPET_EVT_DISABLE )
         return 0;
 
-    if ( unlikely(expire < 0) )
+    if ( unlikely(expire <= 0) )
     {
         printk(KERN_DEBUG "reprogram: expire <= 0\n");
         return -ETIME;



From xen-devel-bounces@lists.xenproject.org Mon Oct 20 11:24:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 11:24:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146170.1478634 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAnze-0005gw-6V; Mon, 20 Oct 2025 11:24:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146170.1478634; Mon, 20 Oct 2025 11:24:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAnze-0005gp-2r; Mon, 20 Oct 2025 11:24:02 +0000
Received: by outflank-mailman (input) for mailman id 1146170;
 Mon, 20 Oct 2025 11:24:00 +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 <SRS0=7iz2=45=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vAnzc-0005gi-DN
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 11:24:00 +0000
Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com
 [2a00:1450:4864:20::32e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 455a51ac-ada7-11f0-980a-7dc792cee155;
 Mon, 20 Oct 2025 13:23:58 +0200 (CEST)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-4710022571cso35607365e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 20 Oct 2025 04:23:58 -0700 (PDT)
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-427f00ce586sm14983938f8f.49.2025.10.20.04.23.57
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 20 Oct 2025 04:23:57 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 455a51ac-ada7-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760959438; x=1761564238; 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=/zKwOgFsJ+escWGS1RH8zYddiH3sUvl+3amT5w/Xcic=;
        b=dtDCwUMIK9rKyDzc4bC+C2XtyCPyUNnx/GeJZBs0o3mHns67bOT9+Fd0iCRRSE5oik
         Lglo/kHrEEYiATdebTmUUTZg822BtxW6F7ajGu9G5tE71/C3dWQkTGCnHXazoByGZWyY
         yF815Zbju7KXjhngIkhg2mht8m1Ipw7MYNQorp+FqAQwzbdn4wsiIOoN1NUJTTosBURe
         iVSGYv4pHb11XhsxzEAJamhhyG8xcdCr2oOf7E19jqipdL5SXaFu39hPYA6wmfxOxpJQ
         MLyQNmNpoJu7RVTj908EfnxO6taHiQ8cSWgSjYobnEI+726NLVXVdBTG10hnzdX26YSt
         VPbg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760959438; x=1761564238;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=/zKwOgFsJ+escWGS1RH8zYddiH3sUvl+3amT5w/Xcic=;
        b=m+VtmFJsaaKqT+lSer/tzRJKH7TsLpCwlc0UMU2Wu9szmsxrGtIaRa3YFsCpSPKc21
         R9k78fRjtv0CmZkWgK7Lj5gEgPoljaZbx1j2upzKOg6IuVK3YGjbDc2cX5+sJNPgtPGi
         0nCYYONT26xgmyv6yG9iCereUT4QgQkUjg5Nq6SeLNenzsUxljh/+ps0iv9MKHzLNMGe
         47sWtyjkvNAfkNX/xgoAzf96KqiRCFdEG40DkTFwn21qXhYtn5bJVb0n5Q/oE5NVkpgZ
         3Bd/wrYvjLq3Hz8GglJDVqzBPkAP0DKhoiaK8rINzz3Y5IGGr3dVeDXzMTkrFZGlZEDl
         lQ9A==
X-Forwarded-Encrypted: i=1; AJvYcCWKVsssaun4927jtdDmDcn1KotAg1A0uA4+XkTNX63fGtMDRJkjSDV9zz/ouZXURItfT7Ky2At45YA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwrGLAPlVvrsNz3cHhGgGKXiwbVICebcVaSQBH769RGmnzCtX+2
	PBGYH++ZME6W6pXeks3b0hN+MzXrusJ/chyBif3oRo3SqJe9xhwdf7JPcUtUKzxO/A==
X-Gm-Gg: ASbGncv5Sq8GaFIfF/Ut14Kpt3oGMxZK4Smfb4wKxf0uDzw7gafD2kXH3v9cnuIOtRu
	hQez4TAPGDCzEdHtXw/0WjyYDGwrJm+3cUiqWhOyERdV9l/oww2sbSghB8nXPn10KC+N7GntUVZ
	Fw5bbnznvwIrCr3onJlphpsTHHJyOJOV/FD7YjyPpXprrP+okxXHDrZRvlrENgys4CsLYzzAubP
	st4MQznvSCXbN3Fs1ZCJkDjm3pUlGOBuFfJZnSuHFtPVqmu9npp6opNig6f5alTZfezRAjxQmcE
	7myqkQuA0HHL/gfhgFK22Lgz2nGdmRUIDKI73de2R0LJ2MfQMDciwvyY4Qrf/9xGJb/+0co6ti7
	EunKjo5bQY+Qa9sfEAly+wWPQEOLMQ5aRyzXGbMBGwgVnLN9vFrnpZ13cFaGrrzh5IBNIu8eAXD
	T281IKIUeeCoqq3ZW7314puJbrzXJXVO3Q9eZwDQCcTPSRfJJHZLTTWp3oirA2
X-Google-Smtp-Source: AGHT+IHCMT8pkREDRh8vcsOLrEwgx8WBTUiIFazGz6CHpUZcsCDm5Wltl6b23+TLwQe9PYUepbk0ZA==
X-Received: by 2002:a05:600c:354a:b0:471:152a:e566 with SMTP id 5b1f17b1804b1-4711787a2d8mr65059285e9.13.1760959437881;
        Mon, 20 Oct 2025 04:23:57 -0700 (PDT)
Message-ID: <204b0382-5a7a-460d-99c3-075ed742b105@suse.com>
Date: Mon, 20 Oct 2025 13:23:58 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 for-4.21 3/9] x86/HPET: replace
 handle_hpet_broadcast()'s on-stack cpumask_t
From: Jan Beulich <jbeulich@suse.com>
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <b66ea488-2d47-472c-9520-8590fdf89e0e@suse.com>
 <c357cb79-a10d-4d81-9695-9d16a4080595@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: <c357cb79-a10d-4d81-9695-9d16a4080595@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 20.10.2025 13:19, Jan Beulich wrote:
> With large NR_CPUS on-stack cpumask_t variables are problematic. Now that
> the IRQ handler can't be invoked in a nested manner anymore, we can
> instead use a per-CPU variable. While we can't use scratch_cpumask in code
> invoked from IRQ handlers, simply amend that one with a HPET-special form.
> (Note that only one of the two IRQ handling functions can come into play
> at any one time.)
> 
> Fixes: 996576b965cc ("xen: allow up to 16383 cpus")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

While the cover letter (intentionally) says otherwise, I decided to leave the
4.21 tag in place here: We may want to consider this one, as making the
original problem less severe (leaving patch 2 out of the picture).

Jan


From xen-devel-bounces@lists.xenproject.org Mon Oct 20 11:24:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 11:24:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146181.1478644 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAo0E-0006Ag-Dw; Mon, 20 Oct 2025 11:24:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146181.1478644; Mon, 20 Oct 2025 11:24:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAo0E-0006AZ-Ar; Mon, 20 Oct 2025 11:24:38 +0000
Received: by outflank-mailman (input) for mailman id 1146181;
 Mon, 20 Oct 2025 11:24: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 <SRS0=7iz2=45=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vAo0D-0005zY-VL
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 11:24:37 +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 5c92d08a-ada7-11f0-9d15-b5c5bf9af7f9;
 Mon, 20 Oct 2025 13:24:37 +0200 (CEST)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-46b303f7469so32962125e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 20 Oct 2025 04:24:37 -0700 (PDT)
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-4710e8037aasm116190085e9.2.2025.10.20.04.24.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 20 Oct 2025 04:24:36 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5c92d08a-ada7-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760959477; x=1761564277; 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=z7lDet0ueS3QIWpFGzrj7YZUGOkgcoCn65sGx8bPK1U=;
        b=B2KuE+wH07nUylMuWfVghE9pwlK5F84rYMV5ALktfZ6fsP7tv+zgmYqzlqnxAVyQYe
         2/w44obk1YEhI5lW2V5Eq51k8TJaVuOh0Z5rexbeZaNOyFe7z8TjGDdEwtYt33DRB+Wm
         IiU1DUFTeN9NTsJScRBzRBOeMkMPaNzbsF2A2uDxFk3xXk5dgkgbV6+cFNDFE6GMIgCT
         5jSAEPMBCDUyS4MtxCtg+GPLWaTeFqiaNKMIWpWT9kJA8K8R2lA9IiNc8FHBeQynZz4a
         K/VpCzuyMC6QT7oerF1P8oW1d/uDPpqEKDsFvUQlgHdl4epMx3megTRlJE7NOFaXl53e
         1SvA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760959477; x=1761564277;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=z7lDet0ueS3QIWpFGzrj7YZUGOkgcoCn65sGx8bPK1U=;
        b=iaaqfkULLDPvYsGUen+rRKLvoR6qD6VZPNbcnmSsJ6LGu6T2TOocD6x28/DDoZtzpS
         1WgorQ2+lxMhg78hmuBdgbxRlAetWbnUQw5QHiC+95DiXrVbVVviQz7hIpW0Pc2p9f+x
         aBjAaBU7k2o897RZkCmZiDnv0a29rCT7qp2DJ3j4KMmNsdgdh6pLNheiC/4poa3JHCDB
         A3r6QHALn199t4/244joRtOjCqcMIHe1SkPYvzObZ0KTO+DFI25W11Vb840PqJRm6AHA
         funMXmq8sjXM6YUxcTfcaIPCacnPReFb2DVpeG3rwOtUjxjKD0un1GcVH/1iLLzNKYcf
         uxCA==
X-Gm-Message-State: AOJu0Ywb/FVT5dY8wDcSJf26nW0QyssyGQYJ8l+3/71YOTEdhcyt5ORn
	P5xH1rq4UA4rfx0bN8xCm0mYQLawRH30t6RmS1guDRZ4ExE7hCH6BQmtq18Nx/BZLQOEJG1ekZf
	tIQM=
X-Gm-Gg: ASbGncuieJxXh/00z7i/W81hvnJ0EH/uXllBzaM8SDoQyfrqjU06vTvJZTSROHSdaCd
	ZXJKGtT4tHXxAbJMsK38mInVe0r7XhLhk01hd6j8t37mq6kVTJjqso3u51NvoL+sjttVgO3CCRl
	xfrxq32YzPZ5+Koki3LaVt1Ue4PYZjT+kgFrD+/UMS2DiRDozVZ0iHmaAqEG0B5hr37Ellx/pKO
	XYtfVzBhMudmuBSqJ28MFnX+8KzusNdr7M8xb1oK7/mCzTAJmd2NtrnedV4OShySwAsYB6r207s
	g3IdJ3QlEuKgEvcVf4scmc28/y6XZLiq8ic7YfX6hrPFtrXa7+iiAlSf/6QQqMOAHwu3EtK31X2
	dw054Yq25wwMn3uMDy/SiB7xGCj7oHYU6VNoCq9mZll5TDl+qEjfd2lqzxtaCE3e0HZ0LOxAB6h
	ELyoc1vEyH4SD0U5jeLqjjpakeukbePUuNbbNPNY0IS4lYQ7ggc18JTzHUabZVfKCDjuvpvdU=
X-Google-Smtp-Source: AGHT+IFcAyomxZU7B8r5cZ9r+rLSxn8Y0aspcTwDeY4dt3ZL7oRazLUe6WHmqYagBWC7USPEfa1CSw==
X-Received: by 2002:a05:600c:3b03:b0:46e:42fa:ffce with SMTP id 5b1f17b1804b1-471178747f6mr104142365e9.2.1760959476825;
        Mon, 20 Oct 2025 04:24:36 -0700 (PDT)
Message-ID: <de07fd27-db68-47f1-9baa-c262333366c4@suse.com>
Date: Mon, 20 Oct 2025 13:24:37 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 for-4.21 8/9] x86/HPET: don't use hardcoded 0 for "long
 timeout"
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <b66ea488-2d47-472c-9520-8590fdf89e0e@suse.com>
 <2e140536-6e24-4de7-a5f6-0c0e19951f13@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: <2e140536-6e24-4de7-a5f6-0c0e19951f13@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 20.10.2025 13:21, Jan Beulich wrote:
> With 32-bit counters, writing 0 means on average half the wrapping period
> until an interrupt would be raised. Yet of course in extreme cases an
> interrupt would be raised almost right away. Write the present counter
> value instead, to make the timeout predicatbly a full wrapping period.
> 
> Fixes: e862b83e8433 ("CPUIDLE: Avoid remnant HPET intr while force hpetbroadcast")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Whereas here I'm sorry: I screwed up and left the 4.21 tag in place.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Oct 20 11:26:10 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 11:26:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146193.1478653 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAo1g-0006ml-NP; Mon, 20 Oct 2025 11:26:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146193.1478653; Mon, 20 Oct 2025 11:26:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAo1g-0006me-Kt; Mon, 20 Oct 2025 11:26:08 +0000
Received: by outflank-mailman (input) for mailman id 1146193;
 Mon, 20 Oct 2025 11:26:07 +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 <SRS0=7iz2=45=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vAnx1-0001y1-9g
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 11:21:19 +0000
Received: from mail-wm1-x334.google.com (mail-wm1-x334.google.com
 [2a00:1450:4864:20::334])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e6213609-ada6-11f0-9d15-b5c5bf9af7f9;
 Mon, 20 Oct 2025 13:21:18 +0200 (CEST)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-4711f156326so28740375e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 20 Oct 2025 04:21:18 -0700 (PDT)
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-427f00b9f9dsm14822154f8f.39.2025.10.20.04.21.17
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 20 Oct 2025 04:21:17 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e6213609-ada6-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760959278; x=1761564078; 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=/bovBnMZlpdcR5xnSOmFdCORNaMff19Gz4ZDC+SsaVo=;
        b=Jwm/qoTpS3+DoZnfu86ydyF6w/oTxnqUmDQB5AMCzMjW2wC0zPt+s50TZo4/N6HrTY
         3OVcPFUAjOacGiJVuOJHELNgITz4QMKl0SOuvPcWVFGRE6acvwMdfBnxNtf0CHH971PG
         j4caC0/fHjoJ50Q8nbJ9lEA/NXtJWig9xIczh7YhU1prRZ1Yk/h6coYiFplNpkV7BLWk
         5biM0TEG2uY8Tq665if81DqRbgvd9cFjMhH9CSUSmTi3vujDMh4YerWxBTCNST1rjiUa
         bxQG+0c64uNaVJ1zCuYrooOznVsV2wYpbA2r3/eCPbKc91gigms2s2YMzwB+TygOK7u6
         HSyw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760959278; x=1761564078;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=/bovBnMZlpdcR5xnSOmFdCORNaMff19Gz4ZDC+SsaVo=;
        b=t8JUjwcoDKaKcSRpzV0T5Qs5ghD6eudIo5KROzYrrf9QOTm2serACO8RBu4uZQxxxE
         CnA9RN/n/0oVKmFfdtbrt23wfRa/3OPEh+20MNSlakq3jXg1QNwi/qVaaBWRL2BUDDDN
         molrHaJRgH8b0wIO7YfF7c2xJKgoxwV6K3RsD8yFOs08rhqtVcX1FFdPuHxY3RBrXfjZ
         jh7Z3yRV3xcLuFfI5rbpjwk9NeQrsrsoK6OLgKO2K3lhG09tNpNfyFwhh9j8WUyOhKzQ
         lEB/ht1GkvPMaTcWbZ/J8MVOFphKWasJAJ9qBZwyq16k7nNblBYF/4Ac4l7X+1B7PiDS
         npfA==
X-Gm-Message-State: AOJu0YxRRD7XtSvIQVxQh5d7+MkryB0S4oHLLri1xAEftohGi6oVhazl
	4HAqH3AdAfXtq/LRPhn684RNlFWMbbnZi6YRQphlvpX9uIBxTMgBgCm6PXgI0I8Oow5u+7KmTRf
	jvSE=
X-Gm-Gg: ASbGncvfpxBy4aQ6XwSUHQNhWzTyMFqie7tFSFiul3uQcGH7F2GWmxcwrpCnQMjJ1oL
	IGc4nqTdX1IrFABtHpF7Od/gz8hzwUJvDCiimEOCYvS0TKfzljPKT1BkS2zEDa+ObiQ8T46Gvsu
	z1IUQgnuYeS1r9ebGdrtocKp9GHgtLOOSy++c7JBTVuMXz+Ut381TvXB0iHLbUEqxfMZ4fdj5m6
	on7G1LYghDgnBohnJbpDupeHG4gn4LlmctjlyeOPhaYSNjXfLVj6sT0fqdUkkNe8qWM0ZXL8QjD
	wg6nDuwXnZKgIYZFMZm9CEBaPWhd9cwSkXmB8mvAXumt/1XfASudCAGvyIjJkpTrT2HnmVcxRxV
	V1/KsQ0Ba1wcaHFz3C/ZzQAKcVcxLHpYAcOe0RS0cghiEg2AQqN0PUZacaDmUhcg6qK9eiHnD1r
	/q+DsVaskij7GZj2e6Q/VKskg1MouWhQMcSeCH/3VdEl20RyziWSiBdfcb8cziFjFIoIqQY9M=
X-Google-Smtp-Source: AGHT+IGZVHllDvy8xBuSDysKAU/0iFJ7N0bKLzv76WL3TZeTF1MU7jcqslieCUYBzpX92bNpmmdgUg==
X-Received: by 2002:a05:6000:22c5:b0:427:492:79e5 with SMTP id ffacd0b85a97d-42704d7504emr7602131f8f.21.1760959278154;
        Mon, 20 Oct 2025 04:21:18 -0700 (PDT)
Message-ID: <2e140536-6e24-4de7-a5f6-0c0e19951f13@suse.com>
Date: Mon, 20 Oct 2025 13:21:18 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v2 for-4.21 8/9] x86/HPET: don't use hardcoded 0 for "long
 timeout"
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <b66ea488-2d47-472c-9520-8590fdf89e0e@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: <b66ea488-2d47-472c-9520-8590fdf89e0e@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

With 32-bit counters, writing 0 means on average half the wrapping period
until an interrupt would be raised. Yet of course in extreme cases an
interrupt would be raised almost right away. Write the present counter
value instead, to make the timeout predicatbly a full wrapping period.

Fixes: e862b83e8433 ("CPUIDLE: Avoid remnant HPET intr while force hpetbroadcast")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Actually - can't we just disable the channel instead of setting a "long"
timeout? Of course we'd then also need to enable it a few lines down. Yet
in turn we could then remove the enabling from set_channel_irq_affinity().

--- a/xen/arch/x86/hpet.c
+++ b/xen/arch/x86/hpet.c
@@ -165,7 +165,7 @@ static int reprogram_hpet_evt_channel(
     if ( expire == STIME_MAX )
     {
         /* We assume it will take a long time for the timer to wrap. */
-        hpet_write32(0, HPET_Tn_CMP(ch->idx));
+        hpet_write32(hpet_read32(HPET_COUNTER), HPET_Tn_CMP(ch->idx));
         return 0;
     }
 



From xen-devel-bounces@lists.xenproject.org Mon Oct 20 11:26:18 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 11:26:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146197.1478664 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAo1p-00077k-Uy; Mon, 20 Oct 2025 11:26:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146197.1478664; Mon, 20 Oct 2025 11:26:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAo1p-00077a-Rf; Mon, 20 Oct 2025 11:26:17 +0000
Received: by outflank-mailman (input) for mailman id 1146197;
 Mon, 20 Oct 2025 11:26:16 +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 <SRS0=7iz2=45=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vAnwI-0001y1-2l
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 11:20:34 +0000
Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com
 [2a00:1450:4864:20::32b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cb3dacea-ada6-11f0-9d15-b5c5bf9af7f9;
 Mon, 20 Oct 2025 13:20:33 +0200 (CEST)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-471191ac79dso34219125e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 20 Oct 2025 04:20:33 -0700 (PDT)
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-4714fb1b668sm160551465e9.0.2025.10.20.04.20.32
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 20 Oct 2025 04:20:32 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cb3dacea-ada6-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760959233; x=1761564033; 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=gZ3R8cULpQMQwOc+UqUj9nrwmmhaEMKCYifki/vLVNU=;
        b=DceKL+9YLPjkm+el3qQR0zM0kdrAAILTW7+s99QFuTdkECgcvCUqCnXuOS1YKFmAPz
         yVODD3cuJutIbU4IOBXUpF4qVJ0dSDLxslOvxFdsXOd6POfFx2KQwRraFRXghJlNKrOI
         RT5Zck581EgKzeK6uFCDHVzmtC9blw5PeWqKN+pX+AsBSBgUXQFBMKDaRi7kVscKTS5m
         WeLUUe2wWn91Flqh83DicYEh7TXyFs7AMf1b8Sekbfw8mZurZ/pUk8v9B6V7DUEwPmMm
         RActOaAw1Oym0yFJqOVafdYxFHdnvEkWjIYDX5k7hBhYsJQWuq3L7vCND2+UVOP6v9u5
         XHwg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760959233; x=1761564033;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=gZ3R8cULpQMQwOc+UqUj9nrwmmhaEMKCYifki/vLVNU=;
        b=FBuFaqSTZeiGy5kNFYIO1oqSxMI7rzGh3Q65M1yfKvV+kxmH7Quyno36AGeog5V6Lm
         k8ONaylJFIlmHJMTWeSZ307DfKZunBhHlCwbGbJkdH76VXnlOsIPhlPOSuLRlYDJnKT2
         gQX4itjCfTZMf7y8FxfXS9ZrK0U/7TIxl4rtJN2JHovwnn6Eh2qT7E3yihanUN3fAIpn
         Bq4Y5CR80/vhcpF+S2vxtA7yPUCczhEjgR9OE1K/WZcEOTY3NioF3vGrsm5t62aTNTYW
         pmoCDRmoqpz+FWT/3cfocOdnKUxvq6zNiJriIyt5noI3YvZLHesDA+8a0yxxfkr1iPMY
         tDiA==
X-Gm-Message-State: AOJu0YwcAJrx2STC82MfxipS8Qt8cHCSDCOzI60NtIVlRHTWONW/Rx7y
	Me3mtAL36q9UIFoEpFYKE3CdK93VImSzSDk7kjJBoPFmlIKOhacsoHlSWoM9XSo7AkGfJN5z9TS
	Acng=
X-Gm-Gg: ASbGncvNiFe0mFBECcDOlRDYxzAkqAp3Ai/lDizyV+w5zKRA/l50HpToyvqsofzfXuV
	sbxZfL3LkmFmcpD8uWZn2gkPb/IanlEzR+CfIRQGM1BjGh1ckWfnp0oxQ/XmR3hyQKdY0eNJGfV
	kIaKRIhLvS2Wx/0U9nJ7ZW48EmQPcd7a50Qfbg4/HAYo0d01OKa4OaMQcvqe+6EhEBC4jAJ+FEm
	4Ee6hvZqsJoSENkfv5yJ1CthkyJkopARGuHrKFEK5tYx9xONr+DeNMTYoeM3Nsntp3Xn9RpYK9S
	ssrJeh2N+KQo5d4GlrJRzPsDJJ2fczefTjDGS9vbTOwdnqfzUBK394SDrwvEPgoPi6sqhLiCHvM
	1PYohOXKT5PxfvHMWBLX7b0yvI1dEffVwZ+P4aJ4V0H6EjFmUmeF0iCGOBkLyYFqfxcQqYNzhms
	A6BZD/O2NXbZrHRTCMDS9nrnpJgjAW0eADXRu4/Zr7vqJjQ3EMAE7bYhvPwvIF5JK6NZz+z5g=
X-Google-Smtp-Source: AGHT+IEi0i5z6/lAoElAu4dVvd6h16qlzj2i2NBbrigFv4RURjPUaGqDEzcD3w8BLdN8pnmTaMGhjw==
X-Received: by 2002:a05:600c:3b0a:b0:46e:4499:ba30 with SMTP id 5b1f17b1804b1-47117917a33mr109948755e9.30.1760959233050;
        Mon, 20 Oct 2025 04:20:33 -0700 (PDT)
Message-ID: <4cdeac0d-8f73-44cf-a78e-8e3490047dd6@suse.com>
Date: Mon, 20 Oct 2025 13:20:33 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v2 6/9] x86/HPET: move legacy tick IRQ count adjustment
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <b66ea488-2d47-472c-9520-8590fdf89e0e@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: <b66ea488-2d47-472c-9520-8590fdf89e0e@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

If already we play with the IRQ count, we should do so only if we actually
"consume" the interrupt; normal timer IRQs should not have any adjustment
done.

Fixes: 353533232730 ("cpuidle: fix the menu governor to enhance IO performance")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
_Why_ we do these adjustments (also elsewhere) I don't reeally know.

--- a/xen/arch/x86/hpet.c
+++ b/xen/arch/x86/hpet.c
@@ -802,13 +802,13 @@ int hpet_broadcast_is_available(void)
 
 int hpet_legacy_irq_tick(void)
 {
-    this_cpu(irq_count)--;
-
     if ( !hpet_events ||
          (hpet_events->flags & (HPET_EVT_DISABLE|HPET_EVT_LEGACY)) !=
          HPET_EVT_LEGACY )
         return 0;
 
+    this_cpu(irq_count)--;
+
     handle_hpet_broadcast(hpet_events);
 
     return 1;



From xen-devel-bounces@lists.xenproject.org Mon Oct 20 11:26:18 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 11:26:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146198.1478669 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAo1q-0007Ac-8K; Mon, 20 Oct 2025 11:26:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146198.1478669; Mon, 20 Oct 2025 11:26:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAo1q-00079J-21; Mon, 20 Oct 2025 11:26:18 +0000
Received: by outflank-mailman (input) for mailman id 1146198;
 Mon, 20 Oct 2025 11:26:16 +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 <SRS0=7iz2=45=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vAnvY-0001y1-QE
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 11:19:48 +0000
Received: from mail-wm1-x336.google.com (mail-wm1-x336.google.com
 [2a00:1450:4864:20::336])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b030de25-ada6-11f0-9d15-b5c5bf9af7f9;
 Mon, 20 Oct 2025 13:19:48 +0200 (CEST)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-471b80b994bso21402135e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 20 Oct 2025 04:19:48 -0700 (PDT)
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-427ea5a0f88sm14360924f8f.7.2025.10.20.04.19.47
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 20 Oct 2025 04:19:47 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b030de25-ada6-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760959188; x=1761563988; 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=CR7zFEwvrxzSG3gB+46rCvPXK38/dK1o+Nvm/MzzJ9E=;
        b=KU37/lenM3sFxXsCG7bWjyd56Lab/YJ7K6KDTHxjLUxriGFt4jS/6528MyWhd2EuHl
         GiXuP5jUDXfyzSAKgwCcCxF6Wn1n+oS9ZupoDFOxmO8DzlXNId1OQyyUdVhH5ULRFVFR
         L2x/3ZlDBO0BWVUwM4t9JqefQ7d8bSa0Kb2ouV6/S54EbYzOAaGGLvYNGE5ZLfRYQc/U
         uYLvlVGQKZl46uVEH0Imes1poM+7Bt4jR57kWatTSp7BRkkl5ZUYQBcXAw1hco8mry7F
         wMvRiUTR4F3eRqyVSnnO1zmj4VA8LzvScFWbKN86XuvoM7LcKgdL6B+hCjy/cFiOSSUE
         b4Ww==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760959188; x=1761563988;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=CR7zFEwvrxzSG3gB+46rCvPXK38/dK1o+Nvm/MzzJ9E=;
        b=VMCyGFYaptIEFXWs3dvFy8mLpz7wlbtcCGmGE22bFQeOGtBlr1dC6qOPjdDm+SAPrY
         J/Xrphr5vqkEptMUojeV26CG0WaJrBM1C5YO0w7jqHFf8D/K37F80l3b8eHRbJ1o4nMP
         14kG+FGTYQFX3c3G3EnAB+VIbCnh6rNRpqpb+EhwvSN4FQSR1HrFNZwQo3wV5wy77m/n
         dGuNemw0S77t5G8zn/gibOuX4p4ilwsiggjvjs7q5eITB4KordunxGzEzDfwX5Aq+bVR
         yE0IVLhnQQZNxSscVXEYQXSy9BsbNMFDigngGUXlRW9jICXcuhDKzwS43ajzxQ7NOBJz
         yImg==
X-Gm-Message-State: AOJu0Yxo2Dhzxj4iJoB+rj0p7LYlD7ooEJsa7JODbpp2SeL9TYdPdc+l
	j7FNjvEXADbVuf7D0AvG0dhBysHRQThTofovYQte8jHkJ2pUfKVBzxgUcLyH28VCzdqfcsDwpTo
	rEH8=
X-Gm-Gg: ASbGncvGTPFnwTvn/2qBEJBIVmpF8tyihHj5DB0q0FZj05IadvbylqVoSzGdtPr7QEZ
	bqW5ZfuW8xVOq2QYTXBdGVqjNTRRH88VmvK/RffpG57gf/gvW+HIeP2evOcvXt51ySnjnKkbeB3
	8onTEIEJre688Q/MJfYZnUMeDqXMVp6eNPNFtvLUIALSWh5jtHYGSX/SDhSRoJI9mMQ6GCW6IoL
	hXjnbX8L+k2ffEXAM7UhJY3lahaBidCRf8kBBAnWAIjNYCMnaFa7cA/1emMQ/Vvvk1Sc9rs8NHN
	YG6HQ+wNF3IptQdVi3wi1kfoEc80e+rsyO3vvaEnEnqnv/yh/Uo3uzaD7/DAAHJndy5ilRiKo7P
	53wO84BUUcJNdoP+oNI3TH+di9/nGTkrbKq+p4yNartbNyn3J4JcIny/nqXpmGJXa9czkqBcpQJ
	NhgFo/jXhTyPAnDk8KK8Ap5ym+vQLuSQpgE52hKbTkpicA1MZ5iJo+WYAo0r9gUbqXBwXzJRQ=
X-Google-Smtp-Source: AGHT+IEd49XdP31L+DSylBiy/DOCgThBkpasnl3hoODQF5+iU+ABD66x9VEEnjzlv83dAxeMPWlKDQ==
X-Received: by 2002:a05:600c:4e86:b0:471:13fc:4ad3 with SMTP id 5b1f17b1804b1-4711787847bmr109747565e9.2.1760959187605;
        Mon, 20 Oct 2025 04:19:47 -0700 (PDT)
Message-ID: <ce20e740-5f5c-48c2-a1a2-b0029be268b7@suse.com>
Date: Mon, 20 Oct 2025 13:19:48 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v2 4/9] x86/HPET: avoid indirect call to event handler
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <b66ea488-2d47-472c-9520-8590fdf89e0e@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: <b66ea488-2d47-472c-9520-8590fdf89e0e@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

It's only ever handle_hpet_broadcast() that's used. While we now don't
enable IRQs right away, still play safe and convert the function pointer
to a boolean, to make sure no calls occur too early.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: Re-base over changes earlier in the series.

--- a/xen/arch/x86/hpet.c
+++ b/xen/arch/x86/hpet.c
@@ -40,7 +40,7 @@ struct hpet_event_channel
     s_time_t      next_event;
     cpumask_var_t cpumask;
     spinlock_t    lock;
-    void          (*event_handler)(struct hpet_event_channel *ch);
+    bool          event_handler;
 
     unsigned int idx;   /* physical channel idx */
     unsigned int cpu;   /* msi target */
@@ -194,7 +194,7 @@ static void evt_do_broadcast(cpumask_t *
        cpumask_raise_softirq(mask, TIMER_SOFTIRQ);
 }
 
-static void cf_check handle_hpet_broadcast(struct hpet_event_channel *ch)
+static void handle_hpet_broadcast(struct hpet_event_channel *ch)
 {
     cpumask_t *scratch = this_cpu(hpet_scratch_cpumask);
     s_time_t now, next_event;
@@ -250,7 +250,7 @@ static void cf_check hpet_interrupt_hand
         return;
     }
 
-    ch->event_handler(ch);
+    handle_hpet_broadcast(ch);
 }
 
 static void hpet_enable_channel(struct hpet_event_channel *ch)
@@ -657,7 +657,7 @@ void __init hpet_broadcast_init(void)
         hpet_events[i].next_event = STIME_MAX;
         spin_lock_init(&hpet_events[i].lock);
         smp_wmb();
-        hpet_events[i].event_handler = handle_hpet_broadcast;
+        hpet_events[i].event_handler = true;
 
         hpet_events[i].msi.msi_attrib.maskbit = 1;
         hpet_events[i].msi.msi_attrib.pos = MSI_TYPE_HPET;
@@ -808,7 +808,9 @@ int hpet_legacy_irq_tick(void)
          (hpet_events->flags & (HPET_EVT_DISABLE|HPET_EVT_LEGACY)) !=
          HPET_EVT_LEGACY )
         return 0;
-    hpet_events->event_handler(hpet_events);
+
+    handle_hpet_broadcast(hpet_events);
+
     return 1;
 }
 



From xen-devel-bounces@lists.xenproject.org Mon Oct 20 11:26:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 11:26:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146229.1478684 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAo2H-0008Nz-LX; Mon, 20 Oct 2025 11:26:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146229.1478684; Mon, 20 Oct 2025 11:26:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAo2H-0008Ns-Ir; Mon, 20 Oct 2025 11:26:45 +0000
Received: by outflank-mailman (input) for mailman id 1146229;
 Mon, 20 Oct 2025 11:26:44 +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 <SRS0=7iz2=45=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vAnwg-0001y1-S1
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 11:20:58 +0000
Received: from mail-wm1-x330.google.com (mail-wm1-x330.google.com
 [2a00:1450:4864:20::330])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d9fd58f3-ada6-11f0-9d15-b5c5bf9af7f9;
 Mon, 20 Oct 2025 13:20:58 +0200 (CEST)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-46fcf9f63b6so22311905e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 20 Oct 2025 04:20:58 -0700 (PDT)
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-47154d38309sm142168915e9.9.2025.10.20.04.20.57
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 20 Oct 2025 04:20:57 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d9fd58f3-ada6-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760959258; x=1761564058; 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=rds4jnnN9NVrTZyuc+q65+QBQEjCAV7rC8oJIxMqDF8=;
        b=DvtaxUr3fc0WHOImWZeiK+H6ToJPY9jRlhe5DyKLGXpsTfurc0yvR/3pEatQsaBg7v
         Jzlwqzwv0NrBJ5Kk+KbmTaelbXiC1uZKMRIQQULlIhfM5nkec8hAGgO9+5IYUf5G9tja
         XWyt8T64Iy8pZGjJZkCs+dQNG0KKpk9tMDAXSisogRHhWU7y/s3/Kca/+cke6WBuxykN
         1XWpuBFH95MIsDHzVncHH09a2c3OwUYtQ11xH8kKVFy/lCqq7/zIVq3aEN7mVSCra7ii
         MiRPnTHjWX66jsiySarVIF2ppdP9oLpBUtn3a03X38to4k8t+5eeEGwFQ2Uj44400Wmr
         Nb2Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760959258; x=1761564058;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=rds4jnnN9NVrTZyuc+q65+QBQEjCAV7rC8oJIxMqDF8=;
        b=qg8m1RMzcaEQvWBt7nzBW/lc7jj63GYMvq/PAAi70lZRlXRtGotbnLlbVp9LThTdVR
         C2Mki77hXYtewVBPa+r4eR6vbUxSkunG3W9CZfoUNvOxSkq2j17mGy9CROpd68Ux/eTQ
         0iMYrk3c69m21UwaGJUnJUYFXGN8xmVRq4RgsNHPmgH5heRyxMR/bpHf1eZ43t+H0qAw
         xIuJWw7qJ5O4Mm+o6DAJv9hMoD0UNU65J2Vl/cx3ujnWCyLl8QavczP1YJ7uGclOeNMF
         JUhtNd1EzrCWP64Q8jGZTE0Z98ha+IVR3QW24JZWGMwTOQjwfTuYrhuMuyo+wu/bumEy
         tXrg==
X-Gm-Message-State: AOJu0Yz4MDQR7EB6maWUsV/rxs4i92EbuBhgOjkwUPYJCg2Oby1HJmja
	/i1gkvmlpXXxxyRh/bukA9Lsl/Uxt9LX/Fl0sx8DnVsgBsSHrnDYAzfyMsNp1uLWElvGrTVe38C
	2EMU=
X-Gm-Gg: ASbGncvXnkp1TFWRV/R3BKVKmsrh26Sii7YqHfW2/yWTVAvX+lc/4BaPfkUYKlFCxQq
	guDr7q/48VSTmBC1nJNnYgwhzelN7IuCdzueiGlYsnJZj/z0r9OW0PrsBZTQ5UBapbK+5SJ2L9p
	3oTB8xANYCbYV5lCBR92zu4LdC2UmoHUUrTa8FGsYnJeJjBZwX/fPHvx6x1hNGtbysLhPUkzSf4
	62VSKcQ/4DZQ/8QB75svI1zQhMihNP1WGUBJhMl3Vi9BAidFQ+Hzao+SPnKiuzoiex/HCuWYQXA
	7DVQeo5gBXTTyUZOvqlXapTyx2QeyyBAoOGAvfp0OdoBA2ef2Ao5oUjQCqxKX5pktYE1UVdYilM
	unBdMUHMleoooPAVsPEC0Bl8pBbE9VfGsAtZcrnxUG8xrUvt6T2XjTcthCgBONPY4j9XDjtb0nB
	I7zFHiwUTOfWDhAcZOxmLToIVXGAvLnHCyp8nVuZbhq/CoYxheHN3ObjupFXKqC+yU2OHFWayYr
	Yv2hMpBgg==
X-Google-Smtp-Source: AGHT+IFxeSoKZVTafA7dqmByPVATZl0pltbsEYB4cctuuaQSYVLfZrncYc3yd+dH+OjUjxxC/ofeWQ==
X-Received: by 2002:a05:600c:6385:b0:458:a7fa:211d with SMTP id 5b1f17b1804b1-47117912365mr94081455e9.29.1760959257809;
        Mon, 20 Oct 2025 04:20:57 -0700 (PDT)
Message-ID: <7e376968-1eb6-4f0d-a9eb-167b26d90786@suse.com>
Date: Mon, 20 Oct 2025 13:20:58 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v2 7/9] x86/HPET: reduce hpet_next_event() call sites
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <b66ea488-2d47-472c-9520-8590fdf89e0e@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: <b66ea488-2d47-472c-9520-8590fdf89e0e@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

I'm surprised gcc doesn't manage to do that: At least in debug builds two
call sites exist, just like source code has it. That's not necessary
though - by using do/while we can reduce this to a single call site. Then
the function will be inlined.

While improving code gen, also switch the function's 2nd parameter to
unsigned.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Oddly enough the CDQE is replaced by an entirely unnecessary 32-bit MOV of
a register to itself (i.e. zero-extending to 64 bits), as that's
immediately preceded by a 32-bit ADD targeting the same register.

--- a/xen/arch/x86/hpet.c
+++ b/xen/arch/x86/hpet.c
@@ -124,7 +124,7 @@ static inline unsigned long ns2ticks(uns
     return (unsigned long) tmp;
 }
 
-static int hpet_next_event(unsigned long delta, int timer)
+static int hpet_next_event(unsigned long delta, unsigned int timer)
 {
     uint32_t cnt, cmp;
     unsigned long flags;
@@ -173,12 +173,10 @@ static int reprogram_hpet_evt_channel(
     delta = max_t(int64_t, delta, MIN_DELTA_NS);
     delta = ns2ticks(delta, ch->shift, ch->mult);
 
-    ret = hpet_next_event(delta, ch->idx);
-    while ( ret && force )
-    {
-        delta += delta;
+    do {
         ret = hpet_next_event(delta, ch->idx);
-    }
+        delta += delta;
+    } while ( ret && force );
 
     return ret;
 }



From xen-devel-bounces@lists.xenproject.org Mon Oct 20 11:26:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 11:26:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146231.1478690 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAo2I-0008Pv-1D; Mon, 20 Oct 2025 11:26:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146231.1478690; Mon, 20 Oct 2025 11:26:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAo2H-0008PU-P1; Mon, 20 Oct 2025 11:26:45 +0000
Received: by outflank-mailman (input) for mailman id 1146231;
 Mon, 20 Oct 2025 11:26:45 +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 <SRS0=7iz2=45=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vAnvv-0001y1-Hx
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 11:20:11 +0000
Received: from mail-wr1-x435.google.com (mail-wr1-x435.google.com
 [2a00:1450:4864:20::435])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bdb4c719-ada6-11f0-9d15-b5c5bf9af7f9;
 Mon, 20 Oct 2025 13:20:11 +0200 (CEST)
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-426f1574a14so3118878f8f.3
 for <xen-devel@lists.xenproject.org>; Mon, 20 Oct 2025 04:20:11 -0700 (PDT)
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-427ea5b3c65sm14775468f8f.15.2025.10.20.04.20.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 20 Oct 2025 04:20:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bdb4c719-ada6-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760959210; x=1761564010; 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=4ft3MIA/0HMfE9mn1CrSRGwasVj918sVnbBRryONFvI=;
        b=KchrSwBYdFKlg9rBgtvq/FVuIq6lS4C1xMIgvoSd5JSUeIcHo5kxFzs6Ys7gvkuO/q
         VClNQIvVIuYjLzdhJ8nqroP8S5zJQSGHyKFMUjiU5gOTceQHN16sq2eF7dib9B5RFaFa
         2aIT+uO4/Idxi3vZ/3bGZX3OGx/ZZX+O/qpyGUuZwp8sHnzRQy732GamQ4bWfAwMjg/6
         oSVIlSUXMQjYuIQiUxbvRw4saMPv4tBPIqCCUiye28hC1O3O6Xi0ua/KmSkingw5qBwr
         5CSw3NOKNNwt+mfZaYLqyjTmhqbKPO8x1JE+AapC7RBgEBQYx0yxKt66RNWTlF/ZGFC2
         VYCQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760959210; x=1761564010;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=4ft3MIA/0HMfE9mn1CrSRGwasVj918sVnbBRryONFvI=;
        b=gjQRpF3Qw8RgXuYENend5CveGLTQdVVdS0e0w17mDnP5rNeLUFQBC3uZ4k5YQxf9Zc
         zaE62Am8F45ArStqLIIGuX9DFr5cJ+hgvoo8G+ATiuBpXA2i6WdgUq1t+pl18fwU9onM
         NQq/0kXafENP83dAVHYAoTFWF9c7tCIqPldt3BCDART6+0R6U2BAAYfyFL0Gy7AFybLS
         c23RpHBowjGIBWmjkY0jo9W8dwpuEz9bGxXhPKjhksW2E+GnzbP3KDByYc8H2dLeSkJp
         k0ZzmuiJQ2pDJuNItjHxRJI55ZFm1rdgY+ny/1W7bkvytPRoAuaT0vV3sDHIXppTGFmd
         eZhw==
X-Gm-Message-State: AOJu0Yw9FMjXYWPm4zNp/PuckvHUQl1kepwEUtl5cbeoPe24Y4Ermd78
	1zl6/Wqy3331SF5JTF5I9regnEG7Ley4XkZL9h/kVmCFRtBU4wJ/Yt5/MVaXRRLbNTvclRPAX21
	MH9Y=
X-Gm-Gg: ASbGncuebV0MQ0HdB1VcBfeB/FAJ1UXJ4OI3x02MA6KR/ezYkNL+4EKBg/KKFREF2oz
	wgUQA53z17brIyt4F/V9M9xzviO14ecRd3t9Xj50Fi2cbUlVBDRLdf6mnx2nGXSFNsekVcPHbVy
	N+yRn+Vv+roSg15KM4FSE6rfcnVL/N5Wr3yYDbJipTauFAaXMZjcAIqwuk9qBke2eiY0WIHweCL
	rAlHsqOg1xwEUo5PmfyxGWu3XW+XbKCgVR2RwliqOyGBVG6ObRwZ5i0jfLfslBM+dCiG/YN/xDe
	fPFiXPcFaorqt5RbjwR1+ujjpJH4WdDtQpTGrm+7BYuRk/UdRmHdyZ6JznZmzwB4XN7FIGIHZg8
	MlLQRNeSBFNMwY0yn3GoYajr9RtdqY/IKPtw9oIki9tfbMLgENW8PPdq2SgLc5g+GYT1Hl31nWZ
	oJfznc6pT52JjRdkLqpS6GkeOCew/fY2ktk/TH8NqFkPvMYSq0d4nFoLYI7pW/
X-Google-Smtp-Source: AGHT+IFtQTKy/kD9PVEIcrRDmAyEd7RxNmjmlzPY/NFMDBBs2q9i+v800+Wp2aSt0Pa8jb5qSvSR5A==
X-Received: by 2002:a05:600c:8185:b0:46f:b43a:aeed with SMTP id 5b1f17b1804b1-4711792cc0cmr88221065e9.40.1760959210236;
        Mon, 20 Oct 2025 04:20:10 -0700 (PDT)
Message-ID: <95d977f5-6ccc-4a86-9ddd-bce0f70bc476@suse.com>
Date: Mon, 20 Oct 2025 13:20:10 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v2 5/9] x86/HPET: make another channel flags update atomic
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <b66ea488-2d47-472c-9520-8590fdf89e0e@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: <b66ea488-2d47-472c-9520-8590fdf89e0e@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Unlike the setting of HPET_EVT_LEGACY in hpet_broadcast_init(), the
setting of HPET_EVT_DISABLE in hpet_disable_legacy_broadcast() isn't init-
only and hence can race other flag manipulation (not all of which occur
while holding the channel's lock). While possibly any such updates would
only ever occur when HPET_EVT_LEGACY isn't set in the first place, this
doesn't look straightforward to prove, so better be on the safe side.

Fixes: d09486dba36a ("cpuidle: Enable hpet broadcast by default")
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/hpet.c
+++ b/xen/arch/x86/hpet.c
@@ -723,7 +723,7 @@ void hpet_disable_legacy_broadcast(void)
 
     spin_lock_irqsave(&hpet_events->lock, flags);
 
-    hpet_events->flags |= HPET_EVT_DISABLE;
+    set_bit(HPET_EVT_DISABLE_BIT, &hpet_events->flags);
 
     /* disable HPET T0 */
     cfg = hpet_read32(HPET_Tn_CFG(0));



From xen-devel-bounces@lists.xenproject.org Mon Oct 20 11:33:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 11:33:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146254.1478704 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAo8s-0002C5-H7; Mon, 20 Oct 2025 11:33:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146254.1478704; Mon, 20 Oct 2025 11:33:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAo8s-0002By-E2; Mon, 20 Oct 2025 11:33:34 +0000
Received: by outflank-mailman (input) for mailman id 1146254;
 Mon, 20 Oct 2025 11:33:33 +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 <SRS0=7iz2=45=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vAo8r-0002Bs-7d
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 11:33:33 +0000
Received: from mail-wm1-x336.google.com (mail-wm1-x336.google.com
 [2a00:1450:4864:20::336])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9b46c778-ada8-11f0-9d15-b5c5bf9af7f9;
 Mon, 20 Oct 2025 13:33:32 +0200 (CEST)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-47112a73785so31811895e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 20 Oct 2025 04:33:32 -0700 (PDT)
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-427ea5bbc50sm15078896f8f.21.2025.10.20.04.33.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 20 Oct 2025 04:33:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9b46c778-ada8-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760960011; x=1761564811; darn=lists.xenproject.org;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id:from:to:cc
         :subject:date:message-id:reply-to;
        bh=46Bf/VSE6u35UXxeYlvIeOHNNfL83DMU4t1ZdQZIehg=;
        b=EWiBVKWuNUX3Sy3ZbPkkEXa/2awpmjzpKkvZ22QrUmXYtARZdkNVb6cFR6GrpLJmgK
         IUgcEoN9uq3LQ7sFH1ZF3RU9aOBotySRSzqBFJxe0RwBMpYbNLgs4uACclJX/YIbFCQE
         S5SqnIgf2JqaSgK7Fe2AnLhg/RybPjuvbIXQ++siX1e96n9Zl858uKVKeb1Oruz04x+s
         vh5WaPcQ5hEIn0Ja6E4hfhiNoVwy9h1TTpt0xDRuEv+qaUHVd24MDtpQV0bSiXzGSfC3
         NLxMwSTzDv6uqRdSgAgKfXB8xwJ3r7aFkgYWvYpr8jOuX2CSxOVqfFxFs+BSoLG3BrRm
         +GRw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760960011; x=1761564811;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=46Bf/VSE6u35UXxeYlvIeOHNNfL83DMU4t1ZdQZIehg=;
        b=qaRrcsFUXz+oKzSQTAjdFzEE/Pqt6PJ4BRRBkgZvMB+xOZw3pveF+DC74N+i5qLsir
         bLIhfxO8Taq9jsJ8LAP9Bt6TGbN6CeE+hNO3mS0n9L1W+/RM8iBqrSyGhhrsbKdLDC0H
         mVQJA1N1fccugEMlyRbVasl4rcvxr2g2YL4PLKeERGU8b4Lse980bnxWfZGyLnTwwllX
         G9WalKY++1ZL4itqE7UjUUl8KRRU4XYkl39J9I+C4bnTO9IdJj+8Ic5R+mtGKZkAcoBH
         Tt1/DUgt0VrAVoJlxStYJmeDP0Xtbw6Uo0qQBFgrNjX8MMOUViFnwwwEMkhe3GUUkGKG
         ANhw==
X-Gm-Message-State: AOJu0Yw1Zu15YdAsLdE7mSW0fB/gnVQaCQOLG+7d1xO+Wfp5pHIrfEVv
	wYMHfTGgD+44kdNb+AX1d/Q6jwOUSf6UTBxZdqI83fHpbHSQBZSeDepCRrC5PMjcv5IUiyRfnRj
	szb4=
X-Gm-Gg: ASbGncvaVwn8bkvDlxtsQhklqmF5GhCzmRUM7UCJN1s/G2uwELOD+ySM93hXG8zomrg
	76GWpftOe2dP6nLrOk51vAGxMJhyyeOR1uznnD8HlyakbAKWzfZquyRg87vncTVDXKUTQhwehbT
	BCnJ0mOLxQoukajQA6d3nMz1XDxSRrpbLA/r+BsKS2/7Wql26N+7fIxgcP5+eahSLc3VE/58tOZ
	oBOz25eLl7snOIWkPRlUSIOWHGhJsJx/lDesvTsYYX1qfpNz4XP9PzLdKAw0aQYlxUk3IXVuP2E
	DadAbaopkp+TOZV1JAjNhvT3uFfw2CyfNII8MVzU5fuaEVCYke/cz3JhQDwEtkL0JAG3n/i6lQH
	kpW797118vVaKEoglRbVf4zUx9RhWNMVJECWiwJovSNEUbtdukl1rb2yUYEP9hTGHb70yCg93lp
	90YhX3f3BNGMoBQBpYXYiQWDesQvS76LzxEomDObcMUYYHA9VboVKAesYuBlp0Vfes4x4ACs8=
X-Google-Smtp-Source: AGHT+IHigUySwhYMRXt/XkZl5TxFET2wRjjq1CaWgHeG3HM3OEVmtZZo2MfhPjrZlR0zQ9UdxBB10g==
X-Received: by 2002:a05:600c:a4c:b0:46e:37fc:def0 with SMTP id 5b1f17b1804b1-471178a23c5mr94194715e9.9.1760960011232;
        Mon, 20 Oct 2025 04:33:31 -0700 (PDT)
Message-ID: <13d8a3ff-ed58-4b35-ae3c-0411cd34f7b8@suse.com>
Date: Mon, 20 Oct 2025 13:33:31 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH for-4.21?] xl: drop redundant return value check from
 list_domains_details()
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
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The check that was added to address a Coverity report renderned another,
later check dead, which Coverity again complains about.

Fixes: d0193c6d6716 ("tools/xl: check return value of printf_info_one_json() in list_domains_details()")
Coverity ID: 1667251
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/tools/xl/xl_info.c
+++ b/tools/xl/xl_info.c
@@ -593,10 +593,7 @@ static void list_domains_details(const l
         } else
             printf_info_sexp(info[i].domid, &d_config, stdout);
         libxl_domain_config_dispose(&d_config);
-#ifdef HAVE_LIBJSONC
-        if (rc)
-            goto out;
-#elif defined(HAVE_LIBYAJL)
+#ifdef HAVE_LIBYAJL
         if (s != yajl_gen_status_ok)
             goto out;
 #endif


From xen-devel-bounces@lists.xenproject.org Mon Oct 20 12:21:35 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 12:21:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146275.1478714 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAotE-000110-2P; Mon, 20 Oct 2025 12:21:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146275.1478714; Mon, 20 Oct 2025 12:21:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAotD-00010t-VD; Mon, 20 Oct 2025 12:21:27 +0000
Received: by outflank-mailman (input) for mailman id 1146275;
 Mon, 20 Oct 2025 12:21:26 +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
 <SRS0=abR8=45=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1vAotC-00010n-5G
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 12:21:26 +0000
Received: from PH8PR06CU001.outbound.protection.outlook.com
 (mail-westus3azlp170120001.outbound.protection.outlook.com
 [2a01:111:f403:c107::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 480f2340-adaf-11f0-980a-7dc792cee155;
 Mon, 20 Oct 2025 14:21:20 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by SA6PR03MB7688.namprd03.prod.outlook.com (2603:10b6:806:440::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.16; Mon, 20 Oct
 2025 12:21:16 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9228.016; Mon, 20 Oct 2025
 12:21:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 480f2340-adaf-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Xoz8ZYlsPE9MHCrFKzHGagRH6WRYIIOm9GtMNoFHauMHj5IfwX01GV0O46P4bZo1dv3duZvbyH1SDzyhvvV87ciAXHwQnVcPHKd1nkozNmZ1wTnWHAaIHXaUCu01HC0xT9/pCCih1bKvEzfY/fIpkslyIAsnylaC6IszZ7UmvfYrMtGRnQKDlO2Gm4qUjPSr96CzHjo/tqTDBabBLUbGtv/axg6tw7o1P+XLZrkJ5eiFq2OK6oGhVMhZUO5b5N9Yegn16W8wvekM4FlWFEowlm6XQ85+HrJVXOQXQTPRf2a/YT87c5zRH0pGzJQGuyhfNOP+rwrmhXD/oLi5KHwILw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=W8lGfR1TvN2D25hNGTy1nzdUjimJEtQYwoLxwiFrF3Y=;
 b=QBTQUPk9vdLEuvK2N/pCzIYuujRqIW7XkOhZBOHVTKXgT70fiGpJVAMyU/y0g+21nsF8u4hVOZfkYwqEhv/1ijkZAy7csTxd0NSazmeMo0/lMgaVx+O8H9bvfHiiT0Ybx5+CrGJjfqIVilfCJXPUg1pzRrIFiPrVRi1rbp0ZcC/sLyOtceYCcM/if2dvlXMvwGXR/K2YBLAs0ziA2/ShAc5WT3Rh22PL1NL6F4UCB/g+0Xlq7REW9z5AB/M5ehxOJoD9sHVanob84yFy7riuSNDXkNNP1xU+v7oCs7bRSXcCybpO4Di36ftHxOW+2LBtCGQrJIONDim4ROe6/a0X4g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=W8lGfR1TvN2D25hNGTy1nzdUjimJEtQYwoLxwiFrF3Y=;
 b=aJRqeUQgrA/T7UMn8BFa4PpaStMhx4KNfhJt0vC0xnPxneVCmLwL5dQuF0bMn80sGLAnG/61rtzlU8lPY/6aeWs/wXgOZ4UonW3oEsIRI/64dEe54RhtAZ3YNt0Oo/xQim++x72yXKB0KeT/Er8UO6z3H0yeRMfnlFgOx0YLgBs=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: oleksii.kurochko@gmail.com,
	Roger Pau Monne <roger.pau@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>
Subject: [PATCH for-4.21] tools/xl: fix for dead code in list_domains_details()
Date: Mon, 20 Oct 2025 13:19:59 +0100
Message-ID: <20251020121959.54337-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.51.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MA2P292CA0003.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:1::20) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|SA6PR03MB7688:EE_
X-MS-Office365-Filtering-Correlation-Id: 455f8e07-a4c8-4a50-1b7f-08de0fd32a8c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?YnVvOUZ2eFhlckdYUVBjbERhQmRxaUd0Znk4WGxYdzljME1YRmI5Z1VnMXhH?=
 =?utf-8?B?WFlMRk1EbzZQRmxPUHJjbnlmLzFTQyt5Ryttb3YvZE16cGJYSVladWgyd3Yz?=
 =?utf-8?B?T1ZvTnlDOXB0TVdqUE5kaWV6N2Q3YUdHTzBGdEtQdUY0ZmpDS3RENjdGWWlw?=
 =?utf-8?B?RzNwQVlMRHZmNThOUXBwUkdSOTFBdFJ4Q20wbzhkazV6S2g0SWZSV1R1bHJ4?=
 =?utf-8?B?am5Na0h2WmRwTFJhRWxrYU5ELzVJWWd5UUUvYlBSZXpBTFFxZXQvQXNTN2hI?=
 =?utf-8?B?M2h6bm5QWXlRK1RkcU93cmVpckJPWmhxMFRmYmVNT0Y2dmNGMWM3WFRlQURK?=
 =?utf-8?B?RVhsNUlJazJPMnQwdkdkQWFydnMvU0lSbXpIandZM3RTSDRpZW9SVVVGbStP?=
 =?utf-8?B?am9BaVFIWDBqWTJiWUpKek1ONURlL0FxR2ZrRWMxMmYwTTk3MFROTy9BTzBj?=
 =?utf-8?B?dXZtR2gyOWJpQS96SDhLck53QS94MzJrWDN3bmp3NWQ1Z3BQMnpiZjlOM2hD?=
 =?utf-8?B?RkJRNSt1MkJHV1lpRWg0MmwrdnNsVERVS2g2cG9ZZjlWK2tNcHZ2eDRyUWt6?=
 =?utf-8?B?dTExdXpjZ0RhTTlzN1JIOXJna3VQVUxrWkpsaVRUSXh2RDdRWWMySitWNVdI?=
 =?utf-8?B?VW9rSlRraDQxeFo4cGd4c3UwMTRrcTZ4NlZLa0JpSlQ2NEZoSVlMYjVLdmpk?=
 =?utf-8?B?MloyZ0lab2lmTnpSbVU5ZnFkZEdvTFRMcXVuOHJKeGt2bEhJU2tseis3a3V6?=
 =?utf-8?B?RUJSaC92UGVWZjNTL3pLWDhoanZPTHZFVGdjUmJFMFppY2V3ZlRVRTR3L2Ix?=
 =?utf-8?B?MFVFQmR5Y0s5MENwaXlXaEM5UjQ3RWZPejlOWXVmQXVJck95R1BkZGd0ckNM?=
 =?utf-8?B?MXAyaEczZ2NqSFhmTnlqSTRBeFlEdnFUdytUbHM4RGUwb3RUV0lNUzQ0UDRq?=
 =?utf-8?B?NzdwdnJ1Wi9oeFZSU3ZzVklRQVlkeGIxeTJ6c2lFUFMweVhsQTZObHdqK0VZ?=
 =?utf-8?B?dHNQN1Z3bDNwSGxGdEY2bzJ2UDFmY2dTYjdDZG1JUWh3a0JVS1pLUk4yenor?=
 =?utf-8?B?NWc5WUU1WHY3Um9mdGprS0pRVkU3YW5JWk9HTDZMUkZtUzJlbzdIeDlFNXJS?=
 =?utf-8?B?d0Ivd0MvWUVRb014OHN1ai9Pd0FBeWN5bWFiUnZ1TzJac2lreTBJYTNWbW9Z?=
 =?utf-8?B?bk4ySnNYa0ZrQkt2bFJreGV0TENuZUlUZGkzZ1Z4MlUwSTQwelRlSEttVkIx?=
 =?utf-8?B?UmFTMDNZMmw1clhkWlJoaGszd0VxTnpOcVRveTdGVTgyNk1oNDZZVlJWTndr?=
 =?utf-8?B?K2FCNlFqb0xOYm9ZNExOdjBrMkRxTkFtOGR0WGEvZWx0Q3RLeHZlZlZXUmV3?=
 =?utf-8?B?a0V3eXh6NkJFckVSV2N2V3hBVjF0SWZKRWlrNkt0L0NaM3NyV1hORENHMERR?=
 =?utf-8?B?eGNXLzJ6L3VsdFNlekhOcVQxOXZNQ1R1TFljaG9ibkp5cEVRVFo3aFV1V255?=
 =?utf-8?B?USsvYlg1ciswOGd2WnRxb1RWWHFFbzh6V0tJTExSK3ZleXJrblRhblgxSFhV?=
 =?utf-8?B?eks1WU5ONndrNkpHSXMzbWR3Z1RveFZRS3F6MEIyMWZhWmFXSnpFMTBROVNu?=
 =?utf-8?B?dk1Ba2pJOFFlV3Bqd3FpcjJyZUF4R00wNjVoSjBub004NitDVmVHOU95MlYx?=
 =?utf-8?B?dkl1NFNQKzZTd0o2VlRUdTIrL1ZabEdWbDhEalBzYnFwVlBCeXhaOWY1YW1F?=
 =?utf-8?B?ZnUxaC9hK3p5RDJlZ1JWS0VZcTVGS3NRT0V1MWVreTdlNGpwWlVrTGlvT3Yz?=
 =?utf-8?B?cGxSeE5NS3o3aEMxVmJEWkN1c3dXaDl1QTJaZ2RnaFJ4N3ZUYVRmNU8rVU9h?=
 =?utf-8?B?cDc4a2h2NEFzQXIrajczazNPRkhZVkN4bWxjaXJPVzZ0aU5SWldoYzNhTVhL?=
 =?utf-8?Q?TkPO8JOQd1njNJ1Q46C+shlOPDF8+oPk?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RXlqUWRmWjNjdU9SaW8xV3BqRDgwelhwNEZjSkREWHl1OEt2OGREVlFVMDdv?=
 =?utf-8?B?MTF0RFg2Q2hCS3FFSUpndXBuaTJlQ2xwdEw0THhzblBjbS9yVjBkLzVHQ0xr?=
 =?utf-8?B?S2swTE5NUjBwK3FCQ2ZGck4wZWthMitLNXpCTWMrV1Z0VnlOK0tUOXh4bjd1?=
 =?utf-8?B?ajRzQXZtRlczZFV3REprRkpSRmg4bVVpa21BdFBxQmdabGl1UkVQYlhZM0g0?=
 =?utf-8?B?cVdIY1MxZGkvSGtkUXFvQXZjSnUrTFhFdG52aUxLWkVPblFRbVZWQStYNUZY?=
 =?utf-8?B?NzBwYzB5a282Y2F0ZUFQb1hsbDc5K2Vpd2NDbzRLQXZzUmhtTlQyN2NzZ0Ur?=
 =?utf-8?B?eE9oT01IT0xVZWdzYTZ6WUNUOWUzZjdHKzFHWW9CYmg3WjFuaGNBSy8wclFO?=
 =?utf-8?B?WlRNNzIxS2JOM3BjalJGVkNYUDd1VGY0SkJiSTVWY2FjWFd2SEZmdU1zdERO?=
 =?utf-8?B?aFptcG5qZHd5R2JCREhETDdzTUpqNDZBMk1nVzdjNDk5cDREUzdZZS9aaHNy?=
 =?utf-8?B?eE5vSjVlNm95MU1JVVZTZ2dWQXdyZ0FYblh6U2hCNlQ3TUxSUjlTdTliY2gr?=
 =?utf-8?B?Ly9GWml4ZzZFRzFHV3ErYzRicFN4c0tvN2ZsOTJmeGlvTTdtSFc4ZzF1MXgz?=
 =?utf-8?B?cFJZWDFCaEZ6NGFySGlSZ2FhcG51aFJwdUZwSWdlaE9oRWVjYzVJdFdUdytO?=
 =?utf-8?B?WGhaOHFCeUpMQ2dxQlNIU0owTUVXTHc4dUlyaGpRVHVLalIvakcwcHpISnc4?=
 =?utf-8?B?YmFyaGFWZjlVUkVLRHNlOGhWZnN5UFVPQXExMXpSRjAvWGdlZWk3V2lMYXkx?=
 =?utf-8?B?am4wNmVMaTQ0RkM2SURWSjl5R0RuZXhmVmZCTDlUaG1IR09lZHVBaDhTZTRm?=
 =?utf-8?B?MTl3VVlEY0UwYTdiamJ6cTRFTlgxV2FWcDNFaUpDZENEK1h6bjVOZCtxazlu?=
 =?utf-8?B?K1VNdEMxRThBUTdVMUEwMkFhalowcTNPUnNHT1ZRRmFXMVltWDFuY3NMcnJj?=
 =?utf-8?B?OHhGOE9ibFNqdzZGT3NpVUs1V1JnOTdGb3JXMTdZV1ZIQlRaUW9vVjVjZ29y?=
 =?utf-8?B?ejF0MU85Y1VlZHVMZUJ5U25lUFlyeVUraGV1c1loTHJOZHN2RkF2SzVVQitx?=
 =?utf-8?B?eVlWNEdYdHE3Z2x3N0Y0NWtXZnJqeXdFRHdxRWY5QnJHYkVxRGZscFNGdDRq?=
 =?utf-8?B?dXU5YlkzczBnVXZlQ3Z1VmpGbGRON1ByWnR2d1Y5SUJQeVI5RCs1UHRETVZo?=
 =?utf-8?B?SFVjWk5Md0o1TWVmVFQvWlo5YUtRUnhWdnZ1OVVmb2xUVzNEQTMwRnhoZnNH?=
 =?utf-8?B?VUdRS1p6cllRQnJ3Sk5iUXlDQnB6Q0xGRWhWbTRJdkJjSDFPcXAxai9sMHBu?=
 =?utf-8?B?eVNUQjZ1UVRDa3VrUHRLQzVYS29iMDBRZ1dTRi9yckl6ekxnS2pOVnRrZEVN?=
 =?utf-8?B?SVVML3dDdVVEdGgxendkb2ZURDR2OVlrbDRhdFFBVEdEVXBTRGNXaWRrTm9z?=
 =?utf-8?B?NG1abXNudDlnVWJzU0gxb1FDWmFvWnNRaCtKUHFrc2F5UHYwQlRVRk0zVTJi?=
 =?utf-8?B?MXpRbjBFUzZHWjRjd0RDWUMwSEk1ME5sNWg1MmhPaXVkeDZjT3VXWTdpc29z?=
 =?utf-8?B?THRMQjJuZkZBZXYrUjZZNFdkcksvcWl1SS8veUlyWS9jZjVOb2gyR01FYktq?=
 =?utf-8?B?dno0RHBuVlpZa3JodmpUbXlNMjNUYmxCTTk3Y3pSa0pPVjdTZ0JPdUFwYjd4?=
 =?utf-8?B?aDNjQWtCZWpodFQyS253aEd4UG5CR2VvN0IzQWxITU9TZUdDbHhWb045TVZl?=
 =?utf-8?B?ZWpPaEpsaktEdXl6dWkrOFJ5TEFEakd0ZTVNVnB6NVNjYU5jYzVmR0plNFdB?=
 =?utf-8?B?N1dWWi95ajBEaE9yZ2tQc1NqSXdCL3hzeTh4MktZeW9USzdYWGE4Zi8xRE1I?=
 =?utf-8?B?QTZNNVRxUWVPZ3U0Zjd3WFFINFJyaW5ZZVpQV1NzMDF2UU0zZi92ZEhZNmFk?=
 =?utf-8?B?UXcrSVgzaE82U0dscHowQmdTTEw4emMrL1JOUXJ0SWNjUXpKajFKRUYyS3pu?=
 =?utf-8?B?anhnQmtXSTBzZUxtcFd2ZzdON3djLzFFdFQ4c0hPaVNJcGlsTUdSVkVwMCt5?=
 =?utf-8?Q?I0079NPbtO+hpL9/pfCdW5FBT?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 455f8e07-a4c8-4a50-1b7f-08de0fd32a8c
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Oct 2025 12:21:16.1626
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 7AdceMrukc1RADLJ4JqrwbeYB439nAUC742p2UKPSn3gl3ZQYeQW7EEb62jGcD9NvIW6sWOlAZw1jtOgg6gJFw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA6PR03MB7688

Commit d0193c6d6716 introduced checking for the return value of
printf_info_one_json(), but failed to remove a further check down, which
now Coverity complains is dead code.

The correct fix is to make the call to json_object_array_add() conditional
on printf_info_one_json() having been successful, so that the further call
to libxl_domain_config_dispose() is not avoided.

CID: 1667251
Fixes: d0193c6d6716 ("tools/xl: check return value of printf_info_one_json() in list_domains_details()")
Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
---
As with previous fixes, needs to be considered for 4.21.
---
 tools/xl/xl_info.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/tools/xl/xl_info.c b/tools/xl/xl_info.c
index dbb682cc52a6..98fc879e636c 100644
--- a/tools/xl/xl_info.c
+++ b/tools/xl/xl_info.c
@@ -584,9 +584,8 @@ static void list_domains_details(const libxl_dominfo *info, int nb_domain)
 #ifdef HAVE_LIBJSONC
             json_object *jso_value;
             rc = printf_info_one_json(&jso_value, info[i].domid, &d_config);
-            if (rc)
-                goto out;
-            json_object_array_add(jso, jso_value);
+            if (!rc)
+                json_object_array_add(jso, jso_value);
 #elif defined(HAVE_LIBYAJL)
             s = printf_info_one_json(hand, info[i].domid, &d_config);
 #endif
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Mon Oct 20 13:20:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 13:20:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146291.1478768 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vApnz-0000nN-Bc; Mon, 20 Oct 2025 13:20:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146291.1478768; Mon, 20 Oct 2025 13:20:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vApnz-0000my-89; Mon, 20 Oct 2025 13:20:07 +0000
Received: by outflank-mailman (input) for mailman id 1146291;
 Mon, 20 Oct 2025 13:20:05 +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
 <SRS0=ZoK0=45=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1vApnx-0007gg-Aj
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 13:20:05 +0000
Received: from mail-wr1-x434.google.com (mail-wr1-x434.google.com
 [2a00:1450:4864:20::434])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7d75b6b2-adb7-11f0-9d15-b5c5bf9af7f9;
 Mon, 20 Oct 2025 15:20:04 +0200 (CEST)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-3ece0e4c5faso4394940f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 20 Oct 2025 06:20:04 -0700 (PDT)
Received: from localhost.localdomain (host-78-149-11-196.as13285.net.
 [78.149.11.196]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-427ea5b3c65sm15267835f8f.15.2025.10.20.06.20.02
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 20 Oct 2025 06:20:02 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7d75b6b2-adb7-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1760966404; x=1761571204; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=aiMBgNSpV6Z/AQuEKw3FQ4WzlNp/3uFz69n7J0JInTY=;
        b=QJN7loJ7PmgaxCuuwvcAYIuFXC3XXrCdVm10nNt5MhH27fpjdEZAJRH72PfzCyPgV3
         dTZSQRL5FJcZHAtRNyuxn5R99rS2qQjmZ1dE5s5JLUA0MjCvtRVgHsM1kxJXw9CB5Soh
         1F0PAfWG9iEOcGGvFgRIOakz9asEjmekmLZ3E=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760966404; x=1761571204;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=aiMBgNSpV6Z/AQuEKw3FQ4WzlNp/3uFz69n7J0JInTY=;
        b=BvPovgGbtyRUVfXT3Fl58hiuDX+DqQcTYz5NbylMHCqqDV7DiRjDKx7V4yQu0mgLmO
         RAAM0JN9sStkGArglXf9JmxBzuGsoqe7aIxpfo0UMue7rdJe6iQuTf3CHw9Rhi7JLB3B
         zBF0yXXwMMkXlq9Tx9ElGTqt4aNwcMd7YViCgQRLNjAQQDE7hQZk74ArFD0JcBVqzA+z
         Hg0OBTOiPsuDyTdYnTPIgO7vlFWSIBsequ/VQvnPd7+CvzQSgI0N7TO4uv8BFhM2QZk5
         B/llFrzeCa0YPQE42aIkBjuTFq1nXXrnQ1MFzDZVJX1Pdta+8f6oVEM4Q3fJzvEJmj6a
         Kp4w==
X-Gm-Message-State: AOJu0Yx4D//57yw6UNhzP+cqY8fXRP8Cb6UQB+0944cSDUYXS0kxEaKs
	x5rT7il3eRbPMAjHoFv8rpT7n078YuM4Px4tMFZ5mMUR1iWLvTXlaGUakR0t4aBRiG0AkbK7N+3
	AJAkig4fwWA==
X-Gm-Gg: ASbGncvLRmoa8ZYn2VlNXyqb8JBmweiP/DgSD84d4eD+mtPsXEOxLao6A8PSiy3PsPQ
	9eOdudaFZJ6LokWOZwtK6eAKtE/rbcDwBioYhw6KHpRDBePCbyxl92Gx0Mr8lFB0KhP7G7YhyL9
	xwiD1FWorb1xk0k37z1K4wGAj1pvZPN9tdxdjghrUFLHSFxcNJWLpB+ESo/NtuGSxP17hqP1U1j
	lAN7Zh7jI81RudokJ4/khCIjx7okKJb15yy8YEHsi7UnP3/0qJwjIyDOz4gnZqIIBhrEIqRrh0d
	cB+OCdpbamYMQkODLF4pAYRDAyRGQfGTMXnkpNQFmnGpw+dFBvY7r8X9yuA2M0y8JoFW7lynsqE
	7qbjRSU2fHXdR7TghicyFbJb5s57voMBodb+JERiL494CiWA22+nDZqYWh929lLy1NR98gXXC4s
	Yy3i0WWhijD6OsC9Tlp8ngO9vfMEWx9mf5//trEnXp3VnylEBKBC85tZxPdMON0w==
X-Google-Smtp-Source: AGHT+IH3MbQNWKdt1hTlmBLRBjbMqSexQnDeS9k5yRzFvZq0vyl2IymUVAu6WK/5tEVjbQgkznVQTQ==
X-Received: by 2002:a05:6000:1ac5:b0:3ee:141a:ede5 with SMTP id ffacd0b85a97d-42704dc6d3cmr7956436f8f.57.1760966403591;
        Mon, 20 Oct 2025 06:20:03 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH 4/5] x86/ucode: Cross check the minimum revision
Date: Mon, 20 Oct 2025 14:19:54 +0100
Message-Id: <20251020131955.2928261-5-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20251020131955.2928261-1-andrew.cooper3@citrix.com>
References: <20251020131955.2928261-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

For Zen3-5 microcode blobs signed with the updated signature scheme, the
checksum field has been reused to be a min_revision field, referring to the
microcode revision which fixed Entrysign (SB-7033, CVE-2024-36347).

Cross-check this when trying to load microcode, but allow --force to override
it.  If the signature scheme is genuinely different, a #GP will occur.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
---
 xen/arch/x86/cpu/microcode/amd.c | 48 +++++++++++++++++++++++++++++++-
 1 file changed, 47 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/cpu/microcode/amd.c b/xen/arch/x86/cpu/microcode/amd.c
index 7ff702c06caf..30bddc89da0a 100644
--- a/xen/arch/x86/cpu/microcode/amd.c
+++ b/xen/arch/x86/cpu/microcode/amd.c
@@ -42,7 +42,10 @@ struct microcode_patch {
     uint8_t  mc_patch_data_id[2];
     uint8_t  mc_patch_data_len;
     uint8_t  init_flag;
-    uint32_t mc_patch_data_checksum;
+    union {
+        uint32_t checksum; /* Fam12h and earlier */
+        uint32_t min_rev;  /* Zen3-5, post Entrysign */
+    };
     uint32_t nb_dev_id;
     uint32_t sb_dev_id;
     uint16_t processor_rev_id;
@@ -270,6 +273,41 @@ static int cf_check amd_compare(
     return compare_revisions(old->patch_id, new->patch_id);
 }
 
+/*
+ * Check whether this patch has a minimum revision given, and whether the
+ * condition is satisfied.
+ *
+ * In linux-firmware, blobs signed with the updated signature algorithm have
+ * reused the checksum field as a min-revision field.  From public archives,
+ * the checksum field appears to have been unused since Fam12h.
+ *
+ * Returns false if there is a min revision given, and it suggests that that
+ * the patch cannot be loaded on the current system.  True otherwise.
+ */
+static bool check_min_rev(const struct microcode_patch *patch)
+{
+    ASSERT(microcode_fits_cpu(patch));
+
+    if ( patch->processor_rev_id < 0xa000 || /* pre Zen3? */
+         patch->min_rev == 0 )               /* No min rev specified */
+        return true;
+
+    /*
+     * Sanity check, as this is a reused field.  If this is a true
+     * min_revision field, it will differ only in the bottom byte from the
+     * patch_id.  Otherwise, it's probably a checksum.
+     */
+    if ( (patch->patch_id ^ patch->min_rev) & ~0xff )
+    {
+        printk(XENLOG_WARNING
+               "microcode: patch %#x has unexpected min_rev %#x\n",
+               patch->patch_id, patch->min_rev);
+        return true;
+    }
+
+    return this_cpu(cpu_sig).rev >= patch->min_rev;
+}
+
 static int cf_check apply_microcode(const struct microcode_patch *patch,
                                     unsigned int flags)
 {
@@ -299,6 +337,14 @@ static int cf_check apply_microcode(const struct microcode_patch *patch,
         return -ENXIO;
     }
 
+    if ( !ucode_force && !check_min_rev(patch) )
+    {
+        printk(XENLOG_ERR
+               "microcode: CPU%u current rev %#x below patch min_rev %#x\n",
+               cpu, sig->rev, patch->min_rev);
+        return -ENXIO;
+    }
+
     hw_err = wrmsr_safe(MSR_AMD_PATCHLOADER, (unsigned long)patch);
 
     /* get patch id after patching */
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Oct 20 13:20:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 13:20:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146292.1478778 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vApo0-00019z-Jt; Mon, 20 Oct 2025 13:20:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146292.1478778; Mon, 20 Oct 2025 13:20:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vApo0-00019o-Fl; Mon, 20 Oct 2025 13:20:08 +0000
Received: by outflank-mailman (input) for mailman id 1146292;
 Mon, 20 Oct 2025 13:20:07 +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
 <SRS0=ZoK0=45=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1vApnz-0007j7-8I
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 13:20:07 +0000
Received: from mail-wr1-x432.google.com (mail-wr1-x432.google.com
 [2a00:1450:4864:20::432])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7e1128d1-adb7-11f0-980a-7dc792cee155;
 Mon, 20 Oct 2025 15:20:05 +0200 (CEST)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-42421b1514fso2728824f8f.2
 for <xen-devel@lists.xenproject.org>; Mon, 20 Oct 2025 06:20:05 -0700 (PDT)
Received: from localhost.localdomain (host-78-149-11-196.as13285.net.
 [78.149.11.196]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-427ea5b3c65sm15267835f8f.15.2025.10.20.06.20.03
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 20 Oct 2025 06:20:03 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7e1128d1-adb7-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1760966405; x=1761571205; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=A7U1lvFhiTkuuq1fJOCE2O4Cy9uGnElIdZlJyTgO8ts=;
        b=ko2hxvCooupRyF8dxh/FUnLeLK38/sWeG2E1/wHlHtZADmcKo4aQkUplJyu5wm2VSi
         RdsKtWzUfjjBdoLeFLuztavppwo4oCsLMHAAHFYjfgkkfblM+pyGRR6NYN61VN9EkSNz
         auLCXBLybyrL5vitUqgzSm2taRkdwsIUZHbmA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760966405; x=1761571205;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=A7U1lvFhiTkuuq1fJOCE2O4Cy9uGnElIdZlJyTgO8ts=;
        b=t7qsDktxJZodJ/ZR3CYR14Ihh/kHNow7cjFsdpffmsLhqIHBeJQ3yqy0Z+WcLo9/79
         swQbV31/126K+/dpqNZorhsWolMPNRUNURKax28kjK30n/TCXf0Z4IFPLz+H4igJm3jI
         4PHq3MSKvEbSDGxunHcdiGRa43KjEIeyWFyEjgtNwwcJ8rFhUZLEqkDFQWBPpePW3ods
         0+b8LAHQZMZea/Y0Duoh3k9HNQMmDkRpnl99KR+dCu3BRDfIFz+ONcrgtki4afRAeaTO
         HvX34gY7tee7IS69IEJDzRP1x3M65KfYRHEEJF/js+9pEXq7QPjnuWD/cnU4vakCUsUc
         Dz8A==
X-Gm-Message-State: AOJu0Ywq/jDUY7yxo/huuIplVa6/VLmabeXjFsoSWjCc5rW/Y2fla/BZ
	D/L++uclKd9nYmPyIuT3hgaQU6N3nIq4I5jc9aN2YF29dg7PbFphwMy8bDOwXb2EvRUStbndatj
	IZD+tO741bA==
X-Gm-Gg: ASbGncvCyTeu5Lw7WG8xUvwrhNwSR2cTBlqYVBZx3zz7yk9Dy3gvYATwN++jmByoqB4
	k+s3Q6M7M8ZikufsiHMJvA0AkMegqPrQGH89mmvOjit4BCDnVC3tEUwIrUnGTA6St0puvRXUrYF
	yRcyrfZ93fiy29vAYg+ozdPV2nuwa2aMQxuzhXyMlUQhmTrwJkEL0FrUy6Jooh5z3Z9Eiv3Njoj
	KIMZiLwWHm09Va/qUNOxeHxN8DXQ4xH/N9fwLlnoVo3tmXkXek78//UYtZtJTVa8AeXCbqxyiHY
	t+ZLLS74QomDOkqGXUCw2IefHURDGEp10hBJGF02sTdVElBxpwEu/iNiRoWgrZL9m7d4jBZoUPG
	LJsq3E3gXmgopeb2Bl3j4h+1mP9PZFEF64GLci6V85W0dw5iJHD2K0hB24AQ5Q8wW2l0f9tZC2E
	CTfjFWNNi9Ht/Wi1TJKbUawF3N0XlyXD1de4ujh8Brs/l/wC2XjSw=
X-Google-Smtp-Source: AGHT+IGt6etmuW+YxtwxSmoDBmcjvGWaKMcSQvb4fjMnId8i03Gd+DIzD2e48xJxhfNX75dr+WafbQ==
X-Received: by 2002:a05:6000:2884:b0:428:3f70:4b2 with SMTP id ffacd0b85a97d-4283f70078cmr5018119f8f.63.1760966404696;
        Mon, 20 Oct 2025 06:20:04 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH 5/5] x86/ucode: Relax digest check when Entrysign is fixed in firmware
Date: Mon, 20 Oct 2025 14:19:55 +0100
Message-Id: <20251020131955.2928261-6-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20251020131955.2928261-1-andrew.cooper3@citrix.com>
References: <20251020131955.2928261-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

When Entrysign has been mitigated in firwmare, it is believed to be safe to
pass blobs to the CPU again.  This avoids us needing to update the digest
table for new microcodes.

Relax the digest check when firmware looks to be up to date, and leave behind
a clear message when not.

This is best-effort only.  If a malicious microcode has been loaded prior to
Xen running, then all bets are off.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>

I need to double check the revision table.  I think I need to submit a
correction to Linux first.
---
 xen/arch/x86/cpu/microcode/amd.c     | 81 +++++++++++++++++++++++++++-
 xen/arch/x86/cpu/microcode/core.c    |  2 +
 xen/arch/x86/cpu/microcode/private.h |  2 +
 3 files changed, 84 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/cpu/microcode/amd.c b/xen/arch/x86/cpu/microcode/amd.c
index 30bddc89da0a..b5b55b7a00cd 100644
--- a/xen/arch/x86/cpu/microcode/amd.c
+++ b/xen/arch/x86/cpu/microcode/amd.c
@@ -101,6 +101,7 @@ static const struct patch_digest {
 } patch_digests[] = {
 #include "amd-patch-digests.c"
 };
+static bool __ro_after_init entrysign_mitigiated_in_firmware;
 
 static int cf_check cmp_patch_id(const void *key, const void *elem)
 {
@@ -125,7 +126,7 @@ static bool check_digest(const struct container_microcode *mc)
      * microcode updates.  Mitigate by checking the digest of the patch
      * against a list of known provenance.
      */
-    if ( boot_cpu_data.family < 0x17 ||
+    if ( boot_cpu_data.family < 0x17 || entrysign_mitigiated_in_firmware ||
          !opt_digest_check )
         return true;
 
@@ -597,3 +598,81 @@ static void __init __constructor test_digests_sorted(void)
     }
 }
 #endif /* CONFIG_SELF_TESTS */
+
+/*
+ * The Entrysign vulnerability affects all Zen1 thru Zen5 CPUs.  Firmware
+ * fixes were produced in Nov/Dec 2025.  Zen3 thru Zen5 can continue to take
+ * OS-loadable microcode updates using a new signature scheme, as long as
+ * firmware has been updated first.
+ */
+void __init amd_check_entrysign(void)
+{
+    unsigned int curr_rev;
+    uint8_t fixed_rev;
+
+    if ( boot_cpu_data.vendor != X86_VENDOR_AMD ||
+         boot_cpu_data.family < 0x17 ||
+         boot_cpu_data.family > 0x1a )
+        return;
+
+    /*
+     * Table taken from Linux, which is the only known source of information
+     * about client revisions.
+     */
+    curr_rev = this_cpu(cpu_sig).rev;
+    switch ( curr_rev >> 8 )
+    {
+    case 0x080012: fixed_rev = 0x6f; break;
+    case 0x080082: fixed_rev = 0x0f; break;
+    case 0x083010: fixed_rev = 0x7c; break;
+    case 0x086001: fixed_rev = 0x0e; break;
+    case 0x086081: fixed_rev = 0x08; break;
+    case 0x087010: fixed_rev = 0x34; break;
+    case 0x08a000: fixed_rev = 0x0a; break;
+    case 0x0a0010: fixed_rev = 0x7a; break;
+    case 0x0a0011: fixed_rev = 0xda; break;
+    case 0x0a0012: fixed_rev = 0x43; break;
+    case 0x0a0082: fixed_rev = 0x0e; break;
+    case 0x0a1011: fixed_rev = 0x53; break;
+    case 0x0a1012: fixed_rev = 0x4e; break;
+    case 0x0a1081: fixed_rev = 0x09; break;
+    case 0x0a2010: fixed_rev = 0x2f; break;
+    case 0x0a2012: fixed_rev = 0x12; break;
+    case 0x0a4041: fixed_rev = 0x09; break;
+    case 0x0a5000: fixed_rev = 0x13; break;
+    case 0x0a6012: fixed_rev = 0x0a; break;
+    case 0x0a7041: fixed_rev = 0x09; break;
+    case 0x0a7052: fixed_rev = 0x08; break;
+    case 0x0a7080: fixed_rev = 0x09; break;
+    case 0x0a70c0: fixed_rev = 0x09; break;
+    case 0x0aa001: fixed_rev = 0x16; break;
+    case 0x0aa002: fixed_rev = 0x18; break;
+    case 0x0b0021: fixed_rev = 0x46; break;
+    case 0x0b1010: fixed_rev = 0x46; break;
+    case 0x0b2040: fixed_rev = 0x31; break;
+    case 0x0b4040: fixed_rev = 0x31; break;
+    case 0x0b6000: fixed_rev = 0x31; break;
+    case 0x0b7000: fixed_rev = 0x31; break;
+    default:
+        printk(XENLOG_WARNING
+               "Unrecognised CPU %02x-%02x-%02x ucode 0x%08x, assuming vulnerable to Entrysign\n",
+               boot_cpu_data.family, boot_cpu_data.model,
+               boot_cpu_data.stepping, curr_rev);
+        return;
+    }
+
+    /*
+     * This check is best-effort.  If the platform looks to be out of date, it
+     * probably is.  If the platform looks to be fixed, it either genuinely
+     * is, or malware has gotten in before Xen booted and all bets are off.
+     */
+    if ( (uint8_t)curr_rev >= fixed_rev )
+    {
+        entrysign_mitigiated_in_firmware = true;
+        return;
+    }
+
+    printk(XENLOG_ERR
+           "Platform vulnerable to Entrysign (SB-7033, CVE-2024-36347) - firmware update required\n");
+    add_taint(TAINT_CPU_OUT_OF_SPEC);
+}
diff --git a/xen/arch/x86/cpu/microcode/core.c b/xen/arch/x86/cpu/microcode/core.c
index 2705bb43c97f..1d1a5aa4b097 100644
--- a/xen/arch/x86/cpu/microcode/core.c
+++ b/xen/arch/x86/cpu/microcode/core.c
@@ -750,6 +750,8 @@ static int __init early_microcode_load(struct boot_info *bi)
     int idx = opt_mod_idx;
     int rc;
 
+    amd_check_entrysign();
+
     /*
      * Cmdline parsing ensures this invariant holds, so that we don't end up
      * trying to mix multiple ways of finding the microcode.
diff --git a/xen/arch/x86/cpu/microcode/private.h b/xen/arch/x86/cpu/microcode/private.h
index f5e2bfee00d9..e6c965dc99dd 100644
--- a/xen/arch/x86/cpu/microcode/private.h
+++ b/xen/arch/x86/cpu/microcode/private.h
@@ -81,8 +81,10 @@ extern bool opt_digest_check;
  */
 #ifdef CONFIG_AMD
 void ucode_probe_amd(struct microcode_ops *ops);
+void amd_check_entrysign(void);
 #else
 static inline void ucode_probe_amd(struct microcode_ops *ops) {}
+static inline void amd_check_entrysign(void) {}
 #endif
 
 #ifdef CONFIG_INTEL
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Oct 20 13:20:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 13:20:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146290.1478759 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vApny-0000N5-0s; Mon, 20 Oct 2025 13:20:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146290.1478759; Mon, 20 Oct 2025 13:20:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vApnx-0000LA-QK; Mon, 20 Oct 2025 13:20:05 +0000
Received: by outflank-mailman (input) for mailman id 1146290;
 Mon, 20 Oct 2025 13:20:04 +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
 <SRS0=ZoK0=45=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1vApnw-0007gg-Af
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 13:20:04 +0000
Received: from mail-wr1-x442.google.com (mail-wr1-x442.google.com
 [2a00:1450:4864:20::442])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7cd5eb4d-adb7-11f0-9d15-b5c5bf9af7f9;
 Mon, 20 Oct 2025 15:20:03 +0200 (CEST)
Received: by mail-wr1-x442.google.com with SMTP id
 ffacd0b85a97d-3ecde0be34eso3095128f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 20 Oct 2025 06:20:03 -0700 (PDT)
Received: from localhost.localdomain (host-78-149-11-196.as13285.net.
 [78.149.11.196]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-427ea5b3c65sm15267835f8f.15.2025.10.20.06.20.01
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 20 Oct 2025 06:20:02 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7cd5eb4d-adb7-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1760966403; x=1761571203; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=oeBO6Pv9prlvTRwuZU49UrWO/g3oMFaQ1LhxvNL2gBU=;
        b=JCx4pfdwZTklG1nV4tY140Ezy7iRgqXIQvo4/n68vLPqz3DSbzkUVNrR3r1NYVRuxm
         LYoKRdWH2XwWL0OHz9v6NziItdQ8dXnGioL96pvR8c11RKPu3NLbStXE1pp8EUaxh4G5
         pYTs5FbrxJL0U1ELuJDYNEd0F+RVCGpePdb3E=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760966403; x=1761571203;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=oeBO6Pv9prlvTRwuZU49UrWO/g3oMFaQ1LhxvNL2gBU=;
        b=kOLO8Ag49DcpXMHJjPEqkojMAlwzgiR4FVayQsMGk5aPbPYZeH/A+vTV0icFyBADqj
         DeXG0W3pLz61aB9ovurRHh2KxbagI/UeLSXrXbjuE3VmLuLJiAtC9kRQZnfy16ruFelO
         5dI96rHVRmqMMAI2CrIOSLHBwae5OvTDAi2REgiKCrHWmQ53lkXQsEmIEYtAgnkPWa7S
         YlC9U3Zw9PZgY9TqNYnfcYNWp9rLLARK5RIv9NoqavPV5mRWgtRycKqrXg/1WWKSea74
         OIBIVMQWuga1uhYf+GDD6FaViWB7Bgb2gb+A1+0RFBn4dwaJp4H2brUugSP84xy/DdG5
         k/pw==
X-Gm-Message-State: AOJu0Yxlg8+c7l4WbIXk6RawUtBM6/IX0TCWC7VNKrEQJi80H2xfNEDR
	lRtRJ+a4I+5twD7AbQAUwCqGqrP/5KPfpaeRz6yavFmcAUFMkuoUtR7VFH8AdiC+DVk7neU01jp
	QPq84j5z2Xm6N
X-Gm-Gg: ASbGncsios4qcxbveR5rfgx0XQ3KamZPty1Z+x72FV6yxfv/tqOJh8z3jEezg3Dj57R
	/sAVlIq4cnVCzT7WkbyGZjkhX0tLGbcZIsCKwR5zi/UBbjqRMMq+XAjozF/Yz0PXRAxghcW4GFj
	a3ynnhAhn33/9VTzXmjZ3iwx5AngXPCMu/Ouwl/ponI/gNQ8QJsREMtsDMOxa9BkBx4Q3y9lGbg
	KPpN3pDOgYP10UzgtR+VvriZrzcbYRvY5T4tDuSWV7MRjCOuokoPmQ0ugu+K8nNklcMZzh/vDQS
	VnQItUs/9vq7y0bdM8U9PHpP2r0ZVilK9thEK9IlRQyxgOUWfOPhomGlollaE21eBSS1C9bQ5mR
	h/o+PrZQSRLfA982tFFKfWtYMP2jqnlRjB4ZGnQpgcfUUmgC/jfhvMi78mxhZR/iwRbM5qYqpno
	pY2SUsFchlHCs0bEjylHjNg5w6NAIckMiKxghsqCtRCSaZX68gp+Oee4+xBURz5KDpWuyMZnC9
X-Google-Smtp-Source: AGHT+IER6ICzkL2n8lei/6i4csotkzlCDa/kIlpUSGfsF3aRvPi4qahkAO0j7r/zmP4iNSUNmJjvPQ==
X-Received: by 2002:a05:6000:2308:b0:426:da92:d39d with SMTP id ffacd0b85a97d-42704beea3fmr9649737f8f.24.1760966402605;
        Mon, 20 Oct 2025 06:20:02 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH 3/5] x86/ucode: Refine TLB flush fix for AMD Fam17h CPUs
Date: Mon, 20 Oct 2025 14:19:53 +0100
Message-Id: <20251020131955.2928261-4-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20251020131955.2928261-1-andrew.cooper3@citrix.com>
References: <20251020131955.2928261-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

In the time since Xen discovered this, Linux stubled on it too and AMD
produced a narrower fix, limited to Fam17h CPUs only.  To my knowledge,
there's no erratum or other public statement from AMD on the matter.

Adjust Xen to match the narrower fix.

Link: https://lore.kernel.org/lkml/ZyulbYuvrkshfsd2@antipodes/T/#u
Fixes: f19a199281a2 ("x86/AMD: flush TLB after ucode update")
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>

There is a difference in memory clobber with the invlpg() wrapper.
apply_microcode() specifically does not want a memory clobber, whereas
flush_area_local() doesn't need it as far as I can tell (there's nothing
unsafe to move across this instruction).
---
 xen/arch/x86/cpu/microcode/amd.c    | 14 +++++++++++---
 xen/arch/x86/flushtlb.c             |  3 +--
 xen/arch/x86/include/asm/flushtlb.h |  5 +++++
 3 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/xen/arch/x86/cpu/microcode/amd.c b/xen/arch/x86/cpu/microcode/amd.c
index 59332da2b827..7ff702c06caf 100644
--- a/xen/arch/x86/cpu/microcode/amd.c
+++ b/xen/arch/x86/cpu/microcode/amd.c
@@ -306,10 +306,18 @@ static int cf_check apply_microcode(const struct microcode_patch *patch,
     sig->rev = rev;
 
     /*
-     * Some processors leave the ucode blob mapping as UC after the update.
-     * Flush the mapping to regain normal cacheability.
+     * Family 0x17 processors leave the mapping of the ucode as UC after the
+     * update.  Flush the mapping to regain normal cacheability.
+     *
+     * We do not know the granularity of mapping, and at 3200 bytes in size
+     * there is a good chance of crossing a 4k page boundary.  Shoot-down the
+     * start and end just to be safe.
      */
-    flush_area_local(patch, FLUSH_TLB_GLOBAL | FLUSH_ORDER(0));
+    if ( boot_cpu_data.family == 0x17 )
+    {
+        invlpg(patch);
+        invlpg((const void *)patch + F17H_MPB_MAX_SIZE - 1);
+    }
 
     /* check current patch id and patch's id for match */
     if ( hw_err || (rev != patch->patch_id) )
diff --git a/xen/arch/x86/flushtlb.c b/xen/arch/x86/flushtlb.c
index 94b2a30e8d30..09e676c151fa 100644
--- a/xen/arch/x86/flushtlb.c
+++ b/xen/arch/x86/flushtlb.c
@@ -222,8 +222,7 @@ unsigned int flush_area_local(const void *va, unsigned int flags)
                 }
             }
             else
-                asm volatile ( "invlpg %0"
-                               : : "m" (*(const char *)(va)) : "memory" );
+                invlpg(va);
         }
         else
             do_tlb_flush();
diff --git a/xen/arch/x86/include/asm/flushtlb.h b/xen/arch/x86/include/asm/flushtlb.h
index 019d886f2b80..37bc203652b3 100644
--- a/xen/arch/x86/include/asm/flushtlb.h
+++ b/xen/arch/x86/include/asm/flushtlb.h
@@ -98,6 +98,11 @@ static inline unsigned long read_cr3(void)
     return cr3;
 }
 
+static inline void invlpg(const void *p)
+{
+    asm volatile ( "invlpg %0" :: "m" (*(const char *)p) );
+}
+
 /* Write pagetable base and implicitly tick the tlbflush clock. */
 void switch_cr3_cr4(unsigned long cr3, unsigned long cr4);
 
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Oct 20 13:20:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 13:20:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146289.1478741 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vApnw-0008Co-Oo; Mon, 20 Oct 2025 13:20:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146289.1478741; Mon, 20 Oct 2025 13:20:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vApnw-0008BB-HL; Mon, 20 Oct 2025 13:20:04 +0000
Received: by outflank-mailman (input) for mailman id 1146289;
 Mon, 20 Oct 2025 13:20:03 +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
 <SRS0=ZoK0=45=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1vApnv-0007gg-Jy
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 13:20:03 +0000
Received: from mail-wr1-x431.google.com (mail-wr1-x431.google.com
 [2a00:1450:4864:20::431])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7c3c3917-adb7-11f0-9d15-b5c5bf9af7f9;
 Mon, 20 Oct 2025 15:20:02 +0200 (CEST)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-3f99ac9acc4so3997894f8f.3
 for <xen-devel@lists.xenproject.org>; Mon, 20 Oct 2025 06:20:02 -0700 (PDT)
Received: from localhost.localdomain (host-78-149-11-196.as13285.net.
 [78.149.11.196]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-427ea5b3c65sm15267835f8f.15.2025.10.20.06.20.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 20 Oct 2025 06:20:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7c3c3917-adb7-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1760966402; x=1761571202; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=/sCYEgDbMO50bkVM5mQCUFddDlyiUtxNrLBekHY3/xE=;
        b=qLwUIkMdbI1GiFV84GnRnx0Oj0AE8i4TA3eHS6h/skKz80vQfmi445T/EtwHEzUTas
         cOQFRSMiquLClsT6SXt/ossKHFfURdvMvDppWRk7FKgAzSPX8JK5aSvWzNtqj3sPrzCJ
         Yq0KFRhy+TZaDvpgMY6Eq9zeZn4v7zgoIKCcg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760966402; x=1761571202;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=/sCYEgDbMO50bkVM5mQCUFddDlyiUtxNrLBekHY3/xE=;
        b=UGqwkpJvylVFHhrEg9b3J7dfv8veM2wsm5420GBHrSf9Ugj08aAhl2qDkOazM8jRgd
         uQZ9BWLYDSFmktC0qJ0E5/Zga6jy4qIkHJuxm/1V5bd92uBzLrOee0I5Di4xpcd6yRkS
         HtUEaqh5/iK/5O4fJEsLqRreMYeNUPiv9O/n03681gckl41OpIZEItOHpeTojctiHbWS
         czpPUfKyaTnhYNbUb3Jz2PFbRsusCwJo03ROpB/ZdBER/33QL4RmJTMxdTIDcgJ9/j7r
         nKFQtX09MSKrFd+9uyO0xErug8M7c0vosB1tmMC4wbXE74g6NrXtZu0gw8AZ+jiThheo
         oAyQ==
X-Gm-Message-State: AOJu0YxruX9IDQPnwYhROPK4hT03uHs1wcSvk0RxvLQWrydcGNuRaZvy
	3ug3i6hiV54Y/dy2Fta7POYXJywhVZoMQzJBj+kSVQungOZUG8CtIFw933P++cN5UjuJWPWtdBy
	tE7hE7L0CSw==
X-Gm-Gg: ASbGncuvwDQ1OOD3CW62Y1FnkAc++lKtQdQUIQktNJXICKePnmLqBrtKYnEXuPHMe/r
	t4tguMfWR0h13aPstxpbyjvaJz89ppth/WstiEYjVaRP6PY5No0D+v05rZ9AzLZH3u5I5R+8Ttr
	iDXhi/ZyvjnKAvjMUTI4TjcEhQ6J1iFkar5BN6zoDI9dsrT3GEmsgwFB/CUzxHI21AHxIgEvx0K
	KV83tNFiL/HwcJmm44WCBrG8bDTkrsGTNgbElJCgDPjWqSEXuCr4WhpERiM+1E4CJJiXN3CmvVu
	wPM2DGZMkJFGcVfG9wOarVTnmeMG6Ufd8gEqMi4afo4oaBABOOAtdqWxn3At+dJDa8bUZUYOzvj
	IL8P/toRxWq1tZTUJoXflWyuTjVB+FbL0TiNNOz9rxxGBFvMHT+VS+CnlbY1AbGUGL07+2PrVTd
	QJxHw+fC6cIT2bDOXGojRpSGo2GBtkdtFimlkeDgrD0z6Uqwj3UWc=
X-Google-Smtp-Source: AGHT+IGYT/rN2F18vBoC+pW1f/wS2gn1Q94YP1lnTzaJMcaQQIQM6eR0kcojLttKL9T2tL8wVI3onw==
X-Received: by 2002:a5d:5d05:0:b0:427:809:eff5 with SMTP id ffacd0b85a97d-4270809f252mr8584466f8f.53.1760966401644;
        Mon, 20 Oct 2025 06:20:01 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH 2/5] x86/ucode: Abort parallel load early on any control thread error
Date: Mon, 20 Oct 2025 14:19:52 +0100
Message-Id: <20251020131955.2928261-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20251020131955.2928261-1-andrew.cooper3@citrix.com>
References: <20251020131955.2928261-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

EIO is not the only error that ucode_ops.apply_microcode() can produce.
EINVAL, EEXISTS and ENXIO can be generated too, each of which mean that Xen is
unhappy in some way with the proposed blob.

Some of these can be bypassed with --force, which will cause the parallel load
to be attempted.

Fixes: 5ed12565aa32 ("microcode: rendezvous CPUs in NMI handler and load ucode")
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
---
 xen/arch/x86/cpu/microcode/core.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/cpu/microcode/core.c b/xen/arch/x86/cpu/microcode/core.c
index 1b093bc98a58..2705bb43c97f 100644
--- a/xen/arch/x86/cpu/microcode/core.c
+++ b/xen/arch/x86/cpu/microcode/core.c
@@ -392,10 +392,10 @@ static int control_thread_fn(const struct microcode_patch *patch,
         atomic_inc(&cpu_updated);
     atomic_inc(&cpu_out);
 
-    if ( ret == -EIO )
+    if ( ret )
     {
         printk(XENLOG_ERR
-               "Late loading aborted: CPU%u failed to update ucode\n", cpu);
+               "Late loading aborted: CPU%u failed to update ucode: %d\n", cpu, ret);
         goto out;
     }
 
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Oct 20 13:20:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 13:20:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146287.1478728 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vApnw-00081s-3e; Mon, 20 Oct 2025 13:20:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146287.1478728; Mon, 20 Oct 2025 13:20:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vApnv-00081V-W2; Mon, 20 Oct 2025 13:20:03 +0000
Received: by outflank-mailman (input) for mailman id 1146287;
 Mon, 20 Oct 2025 13:20:02 +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
 <SRS0=ZoK0=45=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1vApnu-0007j7-Rh
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 13:20:02 +0000
Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com
 [2a00:1450:4864:20::42e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7b341866-adb7-11f0-980a-7dc792cee155;
 Mon, 20 Oct 2025 15:20:00 +0200 (CEST)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-3ecdf2b1751so2454007f8f.0
 for <xen-devel@lists.xenproject.org>; Mon, 20 Oct 2025 06:20:00 -0700 (PDT)
Received: from localhost.localdomain (host-78-149-11-196.as13285.net.
 [78.149.11.196]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-427ea5b3c65sm15267835f8f.15.2025.10.20.06.19.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 20 Oct 2025 06:19:59 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7b341866-adb7-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1760966400; x=1761571200; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=5IaBFRI0HVSt9Cq5uv5vfSGl7wjiSLcV7S1/pivoqT8=;
        b=V1nTgH1UPpA7t5WmZ5djYR2payyQ1E93XWE5c2wbD7lF2xZS2y8OwG8xf62ZVNT99j
         zs8mnJIk52/qDCwc5X1jRkmyzOYrH5MEldhR1u/yPqxKx8S2ivf97RcFb7di5GHCGA1D
         ZcoyiIsmq5Dd3I+uXEZEg5fiztDBEk0vmtppM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760966400; x=1761571200;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=5IaBFRI0HVSt9Cq5uv5vfSGl7wjiSLcV7S1/pivoqT8=;
        b=ZBxCD9AVh+K+BSVk1O86lnohCwxiLn2YQB+Mo0W6OYGUEud4vXoDRZjswpv2l7b7my
         0GZBW7SymsOFCbxePevwdl7kJPzQ4z6BaeJCUcU9uHBLUcWlcv1jIkwx7kJ26rFUCCeo
         zzSH6NH3XSk2izFGFQ9c5pgEqfEPxAoTFk7SwcVDvkJ7E7EFSJWCPWcutaOwwGXjbNwo
         4QP/vt6q6IoiRp06smtbkBpmOx/QTXOniW5uT2fpzaDoekJ4NBIcay7D/djjjencsBdV
         EgmBRMTAKz5npywoaoI3a4bHTxIxHKGub39kV+DwU3O/bl2AyJyyw7q2u7Su9DeAg1v6
         vH+A==
X-Gm-Message-State: AOJu0YzPuofWjhLtc1sJh1+bRcGqZo8Kr+1HasWT+QkyM6Ik+nQb4h3H
	8rFs2usZ7NF6tnT7Ee5R2wkuwSM4D0BOYcbtu2lPh2qPPLCAAF7ICauOujKwZZrU32x694NNtB8
	Fp730zhU39g==
X-Gm-Gg: ASbGncuYDpWij9Z2Snfgyc7fA1QXwRcW08lF7OCeS36lXtZc+4T2wcsIsCCMqJXBUgu
	HZUPgVYAcgnAtIsE5JotYhztHvAAgXH6Td7qw/7PMVjGZXZqO9fyV2qiqiyD/EhiHiK70l1YI99
	3gSNw86Epv+y0LSfgeZgiYvcRctUH+u02tOP0q6Ec81cswDWYfkWO7FAp22DL45ObttKcFQj2DX
	7zJVglOZf9IUo1qHjmclQw96d4VFN16Tm4NRJqhpuwirs1nLLmBY/21LnhCCBsc/fTeDcunAhJ1
	6H0OuUqlSIYOO7aGZiDuD5nCa0rMUO71A019huShx72zzEKzXqU5pIqca17O4kq4P3lg2DtteDS
	0skH+HvylJl2yH1fUSQZWk4rinjn6WW4bGImYtwYmkQFGw7baxvOPwoTmkeLGBtqZZY4dBM7Npg
	Oas9jVDcYAFSHRXak2A1hX1BTbZGT98tkxn6yifeysfs9Codx1Za0=
X-Google-Smtp-Source: AGHT+IHx1GeyO8rjU1V8kZEzdPKeU0qqteQ7aCBYV6w53GJoxF6XaUjSjS+wLyYPa6m4TIicLBzB4g==
X-Received: by 2002:a05:6000:22c6:b0:427:15:ff3b with SMTP id ffacd0b85a97d-42704d145d4mr8830013f8f.13.1760966399907;
        Mon, 20 Oct 2025 06:19:59 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH for-4.21? 0/5] x86/ucode: Support loading latest ucode from linux-firwmare
Date: Mon, 20 Oct 2025 14:19:50 +0100
Message-Id: <20251020131955.2928261-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

linux-firmware now contains microcode signed with the new signature scheme.
Xen currently refuses to load these as we've not updated the digest list.

The plan was always to stop using the digest list in due course, which is what
this series does.

Patch 1 has already been posted and acked.  I included it again here for
completeness.

Andrew Cooper (5):
  x86/ucode: Fix missing printk() newline in ucode_probe_amd()
  x86/ucode: Abort parallel load early on any control thread error
  x86/ucode: Refine TLB flush fix for AMD Fam17h CPUs
  x86/ucode: Cross check the minimum revision
  x86/ucode: Relax digest check when Entrysign is fixed in firmware

 xen/arch/x86/cpu/microcode/amd.c     | 145 +++++++++++++++++++++++++--
 xen/arch/x86/cpu/microcode/core.c    |   6 +-
 xen/arch/x86/cpu/microcode/private.h |   2 +
 xen/arch/x86/flushtlb.c              |   3 +-
 xen/arch/x86/include/asm/flushtlb.h  |   5 +
 5 files changed, 151 insertions(+), 10 deletions(-)

-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Oct 20 13:20:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 13:20:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146288.1478734 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vApnw-000875-Ec; Mon, 20 Oct 2025 13:20:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146288.1478734; Mon, 20 Oct 2025 13:20:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vApnw-00085T-8a; Mon, 20 Oct 2025 13:20:04 +0000
Received: by outflank-mailman (input) for mailman id 1146288;
 Mon, 20 Oct 2025 13:20:03 +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
 <SRS0=ZoK0=45=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1vApnv-0007gg-Cn
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 13:20:03 +0000
Received: from mail-wm1-x32d.google.com (mail-wm1-x32d.google.com
 [2a00:1450:4864:20::32d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7bb903da-adb7-11f0-9d15-b5c5bf9af7f9;
 Mon, 20 Oct 2025 15:20:01 +0200 (CEST)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-47114a40161so47998145e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 20 Oct 2025 06:20:01 -0700 (PDT)
Received: from localhost.localdomain (host-78-149-11-196.as13285.net.
 [78.149.11.196]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-427ea5b3c65sm15267835f8f.15.2025.10.20.06.20.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 20 Oct 2025 06:20:00 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7bb903da-adb7-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1760966401; x=1761571201; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=YClZXLeX0pB5pdUdqdhEoYeXVD8Jv4KNegou1kZsW9k=;
        b=FB/lX7Zq3iEK/0ctor8sRECqCiyWO6JlzdJTia20bucoUSAUW1UFnEaw9/nyr/vq8s
         WOmGqW1+4uixJQSNdDj0XKGm716LyJ8wpIBJOiBvpIjyAkXAF+M9j6kOgLb3f8iCoVly
         Uj/65CpwzhNoZOSLLYz9S0Vjlk25BRUw/zmms=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760966401; x=1761571201;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=YClZXLeX0pB5pdUdqdhEoYeXVD8Jv4KNegou1kZsW9k=;
        b=wqUUcalCWxodBWjqApWpA6OSz51QKYqtqyz00sodtUaOjD2Lwft0Sv8842C7gIyI3x
         oIPM+QiDT8pkbSvy/B7XQ91YGean+QGDw0xCtw10lHU1WpnZ5g4RE2OaFfnVAXCN38yA
         fdUPIDhEtqcHP60pVy9rV+tCl33hBZa3d8IklrOLVm9jLGFt0Ll1RgnWw57mpKIn1oxc
         KPvJfyYNZbcuiukKt/REVO8Ded7Ya7ZBLMzyr3lPFdwFLpjjOuh+ns41JIlGKtJz5m8Q
         538xxsHrxzWc91dvvFaYwf6Hg0kHtrEqM4emsHffrwv62cwqnWH5m/9ftU9VwmyhhKqH
         oB8g==
X-Gm-Message-State: AOJu0YyGuOCLyN9HBHqr1Zfc+wob3lWhXrAvSABO2mvyZHHflGJ2caHe
	QRpOmcn6OeCNG64EncMkUBR0b3Grqz/5n9hIz54XCcW7IDJDyjeH57fZLInGGdyvB0bPDBJq9Sj
	qZnvLT4Fjyg==
X-Gm-Gg: ASbGncuGSCgwGj6IkymfSqKOxFMyV/Awa43UhMiZWSiRO/WY9vSlq8dUaVkvz0TjdJ1
	U8ST6rOTfo7nUkC5I4KZ7XaK44KtHb1tvccbdnKiwFTgwV2DehrcQpGrgYklO4edAbaQ5tsH/9e
	TPKLuzgt1AAYFQ1V6bUYiHDdzy7XVHXdpKe7GV7S1yuahlTcKgx827maYogo6Ewe4FtPmXz6E5/
	OgqrXTNzzdP0/X5eJ3EoRy88dl+4Kux/JHxwqYelgdxsvyOYKgyhsarF6qAEa6IAsS1aH8rFMix
	tFHQnpwcnQzdJJxjPqP6p86OYHLA/k9RsUxrgRWLd/yzCckHNDw35rUlzQJz0hDROqQRhqq/arv
	cLQ5kTio/nsJzGOv6+To8GC7osW4mNMLJ2v7GgKCZG3GaI+MxUqznLMwBFQ1U14L75qrlqXG8Mk
	JQCULptWJgNIjCy5SyYKthYOooW8SguNH69nKTJF3ocfdNZBk7vf0Eh4C9o54pRg==
X-Google-Smtp-Source: AGHT+IEiYUNYQCTl8KEffiDtETjildS3uhoapKNIU5qTRVtrY08cmVxTsc+VFs/0OXDzgECKAU5dCQ==
X-Received: by 2002:a05:600c:8b0c:b0:46e:731b:db0f with SMTP id 5b1f17b1804b1-47117912b5fmr108884555e9.28.1760966400759;
        Mon, 20 Oct 2025 06:20:00 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH 1/5] x86/ucode: Fix missing printk() newline in ucode_probe_amd()
Date: Mon, 20 Oct 2025 14:19:51 +0100
Message-Id: <20251020131955.2928261-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20251020131955.2928261-1-andrew.cooper3@citrix.com>
References: <20251020131955.2928261-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Fixes: 630e8875ab36 ("x86/ucode: Perform extra SHA2 checks on AMD Fam17h/19h microcode")
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>

For 4.21.  This is a formatting fix with basically 0 risk.

It is encouraging that no-one has reported this bug so far, because it
suggests that no-one has turned off digest checking and then looked at dmesg.
---
 xen/arch/x86/cpu/microcode/amd.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/cpu/microcode/amd.c b/xen/arch/x86/cpu/microcode/amd.c
index a5729229a403..59332da2b827 100644
--- a/xen/arch/x86/cpu/microcode/amd.c
+++ b/xen/arch/x86/cpu/microcode/amd.c
@@ -519,7 +519,7 @@ void __init ucode_probe_amd(struct microcode_ops *ops)
     if ( !opt_digest_check && boot_cpu_data.family >= 0x17 )
     {
         printk(XENLOG_WARNING
-               "Microcode patch additional digest checks disabled");
+               "Microcode patch additional digest checks disabled\n");
         add_taint(TAINT_CPU_OUT_OF_SPEC);
     }
 
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Oct 20 13:27:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 13:27:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146356.1478788 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vApud-0003Yl-7p; Mon, 20 Oct 2025 13:26:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146356.1478788; Mon, 20 Oct 2025 13:26:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vApud-0003Ye-55; Mon, 20 Oct 2025 13:26:59 +0000
Received: by outflank-mailman (input) for mailman id 1146356;
 Mon, 20 Oct 2025 13:26:58 +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
 <SRS0=7Uvc=45=bounce.vates.tech=bounce-md_30504962.68f6389f.v1-3969df7e5a8d4dc99235918e0b0fd196@srs-se1.protection.inumbo.net>)
 id 1vApuc-0003YF-98
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 13:26:58 +0000
Received: from mail187-3.suw11.mandrillapp.com
 (mail187-3.suw11.mandrillapp.com [198.2.187.3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 72b48e63-adb8-11f0-9d15-b5c5bf9af7f9;
 Mon, 20 Oct 2025 15:26:56 +0200 (CEST)
Received: from pmta09.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail187-3.suw11.mandrillapp.com (Mailchimp) with ESMTP id 4cqx6R0skzzDRJ8cB
 for <xen-devel@lists.xenproject.org>; Mon, 20 Oct 2025 13:26:55 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 3969df7e5a8d4dc99235918e0b0fd196; Mon, 20 Oct 2025 13:26:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 72b48e63-adb8-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1760966815; x=1761236815;
	bh=TQ69rgke9Gtn1nU23PxTlEo99KasN/5F5Gy2vl8dnTc=;
	h=From:Subject:Message-Id:To:Cc:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=u7rZxn4sdiJpHNKmowEkF6GWTOS3dnUrAVwaKiChEkF5TK/JRYhTj1TypW5egSDE+
	 +3JfPAGsNh/LyM9doRmnyYWEBurVHFXdJ2lf/51coakjoS6XCVyCy3jpcrIm/NCq5c
	 MGv2wCk26CNwJOnVSFcYE0C2BQQ1FsP8OO2MC3v+Wx+OgK2dAfCHgp2CMkoUYXRePi
	 gvPPLsSk7+/gxOs+OEw7479x++jerQuVBhE1+rQtNO4zE0QLuIy7Y0tKTMWooNDdYm
	 sM20q3JX7BqyPc98/u3xEDSBFrAX/l+/tJj/S5lmc2ke+f3dETED2p4v0ywXTprTYW
	 W8scBmyup1CUg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1760966815; x=1761227315; i=teddy.astie@vates.tech;
	bh=TQ69rgke9Gtn1nU23PxTlEo99KasN/5F5Gy2vl8dnTc=;
	h=From:Subject:Message-Id:To:Cc:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=l5QPv2M6q/ReWWM36vjkM0VX0ixjwrV/W8qrRwiBhnfl0p1uy0VlHaBgUZMQPO1Yb
	 Ww47EMBxzRsMAZuy9LGLzDZXkUcc0yLsTGNnlHKNmxDo7+a1PSFOjf4C2++u0BlEBc
	 L1yfhcWK1lR2p0uS7eYY+SCFTjNb1xxwyzh7OqRdpZ7QHD9GYv+BOoLFt1PkrpzNBu
	 WjbY8VOpuHzfg+yObsldci1QouzQh4NrhcfKaVFHTIfyntfOhED2BkCSGUzAPnrGAt
	 BQbylpWMs+Zvg5IlXuR5k6Ulk8hhQvdU7Z+grFdutswcene+kQncaxQfRI1FvDCNI6
	 yjf31msgb8IwQ==
From: "Teddy Astie" <teddy.astie@vates.tech>
Subject: =?utf-8?Q?Re:=20[RFC=20PATCH=204/9]=20hvm:=20Introduce=20"fixed=20memory=20layout"=20feature?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1760966813599
Message-Id: <c29f65b9-c513-4e91-a083-0773fa502b97@vates.tech>
To: "Jan Beulich" <jbeulich@suse.com>
Cc: "Andrew Cooper" <andrew.cooper3@citrix.com>, "Anthony PERARD" <anthony.perard@vates.tech>, "Michal Orzel" <michal.orzel@amd.com>, "Julien Grall" <julien@xen.org>, "=?utf-8?Q?Roger=20Pau=20Monn=C3=A9?=" <roger.pau@citrix.com>, "Stefano Stabellini" <sstabellini@kernel.org>, "Juergen Gross" <jgross@suse.com>, xen-devel@lists.xenproject.org
References: <cover.1755785258.git.teddy.astie@vates.tech> <640223e5e7ee18a73f62152dd27883bf5978fbfe.1755785258.git.teddy.astie@vates.tech> <5ba550db-5e36-4d98-bce7-cbb3e2d874b9@suse.com> <b3c490fc-e1ca-488e-b96c-e059bdbdb466@vates.tech> <0fa33a24-a6a4-40d9-88a8-af48350e1f4f@suse.com>
In-Reply-To: <0fa33a24-a6a4-40d9-88a8-af48350e1f4f@suse.com>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.3969df7e5a8d4dc99235918e0b0fd196?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20251020:md
Date: Mon, 20 Oct 2025 13:26:55 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Le 01/09/2025 =C3=A0 17:50, Jan Beulich a =C3=A9crit=C2=A0:
> On 29.08.2025 15:32, Teddy Astie wrote:
>> Le 28/08/2025 =C3=A0 14:30, Jan Beulich a =C3=A9crit=C2=A0:
>>> On 21.08.2025 17:25, Teddy Astie wrote:
>>>> --- a/xen/include/public/arch-x86/hvm/start_info.h
>>>> +++ b/xen/include/public/arch-x86/hvm/start_info.h
>>>> @@ -99,6 +99,13 @@
>>>>    #define XEN_HVM_MEMMAP_TYPE_DISABLED  6
>>>>    #define XEN_HVM_MEMMAP_TYPE_PMEM      7
>>>>    
>>>> +/* Xen-specific types (OEM-specific range of the ACPI spec) */
>>>> +#define XEN_HVM_MEMMAP_TYPE_SHARED_INFO   0xF0000001 /* Shared info p=
age */
>>>> +#define XEN_HVM_MEMMAP_TYPE_GRANT_TABLE   0xF0000002 /* Grant table p=
ages */
>>>> +#define XEN_HVM_MEMMAP_TYPE_GNTTAB_STATUS 0xF0000003 /* Grant table s=
tatus page (v2) */
>>>> +#define XEN_HVM_MEMMAP_TYPE_FOREIGN_REG   0xF0000004 /* Suitable regi=
on for grant mappings */
>>>> +                                                     /* and foreign m=
appings */
>>>
>>> I question it being legitimate for us to introduce new E820 types.
>>
>> These E820 types are (at least in ACPI specification) in the OEM-defined
>> range which seems appropriate for me to use for Xen-specific mappings.
> 
> Just that we're not an OEM.

How should such information be provided alternatively ?

Currently, premapped pages (xenstore, PV console, ...) locations are 
provided through hvm parameters, but I don't think introducing new hvm 
parameters is very wise.

One way of another, we would need to provide to the guest a xen-specific 
memory map for implementing this.

> 
> Jan
> 



--
Teddy Astie | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech




From xen-devel-bounces@lists.xenproject.org Mon Oct 20 13:37:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 13:37:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146368.1478801 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAq4f-0005Tj-4Q; Mon, 20 Oct 2025 13:37:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146368.1478801; Mon, 20 Oct 2025 13:37:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAq4f-0005Tc-1B; Mon, 20 Oct 2025 13:37:21 +0000
Received: by outflank-mailman (input) for mailman id 1146368;
 Mon, 20 Oct 2025 13:37:20 +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 <SRS0=7iz2=45=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vAq4e-0005TW-Er
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 13:37:20 +0000
Received: from mail-wr1-x42c.google.com (mail-wr1-x42c.google.com
 [2a00:1450:4864:20::42c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e57a746e-adb9-11f0-980a-7dc792cee155;
 Mon, 20 Oct 2025 15:37:18 +0200 (CEST)
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-3ecdf2b1751so2466837f8f.0
 for <xen-devel@lists.xenproject.org>; Mon, 20 Oct 2025 06:37:18 -0700 (PDT)
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-4283e7804f4sm13317032f8f.10.2025.10.20.06.37.17
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 20 Oct 2025 06:37:17 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e57a746e-adb9-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760967437; x=1761572237; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=D07EKDgYPATrS3ktcZ7kxH7F/Zwjg08YyjFuYG4DB1w=;
        b=EZhYtoyzoS/nNltQ5BPbjPyqOI6NEDEOnH9F7jPZZ+P+mMMq7sQXfNO9hWD6dEEgRF
         J2jebGYLj+9kOozf3r5ojIeDzQ0CvCTNFfqlfmL9dOl+7lzpFsNY9EyzmiADS1QzvNQK
         oQ8SG0faVhSKWLpnKp+yo8iJg8IFKGEpZu5d2RYHPjlvKExWTrEUmSb7SxBD/YvGEdg+
         gX0JGQ/Gm70KmJnXeGSH6611Adh6aly8YfhEwgCGsfLSbUqxQQjJ9mGGiJSC9KFH4ukp
         wYThRI4wEtM0nDQWb9l/yCfhiQhQ3TN9uSgVMoXTDTOwDus/MhGP3RVZcBOVNFJXlge4
         Em9w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760967437; x=1761572237;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=D07EKDgYPATrS3ktcZ7kxH7F/Zwjg08YyjFuYG4DB1w=;
        b=aHt70rwDiAjAObQJ3lbGlN601M/jbXquWWmTPGGmigR0o821TXsuRcbyqHi/HNT0KW
         OwIOY9QE5fpK824o3pvsEHAQDM0bQimgba5yT2QZOd8sMwkMMtUV820dEF/1+JzmS3z5
         x9Jnvy9GvVnEg++NEJQ1z9eguQN9mttL+du41Rq4WqEMCGKal7n7FZNch9EHHsqCSWYF
         4BMjhIl+t2YFEXwrZfAl7Ho+X2IDQH0x1RD2KNyi9w58Hz0C/ZgGc2rZgZ4MfIHngXjc
         MJGDR4NuFS793psesIR326h9v2c6gw3hT57vY8JY3SX0gecuG2scPzyHx5tgy/nBeM1O
         ieZw==
X-Forwarded-Encrypted: i=1; AJvYcCW5xp76XZn/+Y1tBMSYDGTYZtc1R8NQmonOOPjdc2ekH944YX5dFurSLSryj5SeV1geopi6i15whgM=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzbly+i2QrAFWzsp1lUTJlH4kNvHJCW7oIiFUzjmfSwnDFzicN3
	RDx+HxQaw8ttHk+pw+IJU7HfcMQLerIVXRfw2GhVQ/6uWOTBYUtTfxvgIffdhGjahA==
X-Gm-Gg: ASbGncvKa13ils4dXRjoIrZWUwoUdTVLdPE9lI3KmrrXvqXA0Bj1nV9ONODfzoQEoH8
	8AsYmNEyQ6c4PHxPJQykidCNE0mKZrmlOwLywyn+DlHGdOp4Sy60b3QDc2pFktd1BD+jdQTDJvE
	YPOiZCzqORUxhkYKlSXuHrCagbloZOgk4eUg8x7NdcMEP8Fw8N/716CpN4u6HlxSsIL64YsbrsK
	HFtW+MMu1+JNLoU+PYOwnnIYrKH1nwc28qbZ1+ZDzTQEFNrJlSnzuSOcn7EAQLKGh5x9mmlVF/B
	qHoeYDADSmsPldiIvPpauBYfTSjZz9/+pUUnug8r0f/Y4Ym68y4wDdcOU2NJGJz+kQ3NuVxUwq3
	rcRw/XWOILo/cMf6zP/geeEQxx39/ruVpH6l4CJEz+zO0WmHz6sS4sdUDcWquy2daJOgU9tnssS
	gC1Atm6C9bSgcqiTqqgzTTfRewxqbi/bpL51XdYQ95u8kI11PlG8fqcqfZBKAPQEIZn8ZH8v8aI
	BNCpz1BkA==
X-Google-Smtp-Source: AGHT+IG0/3iL2V7M7pUEwtvbW23HlI3P69FTQCPorkzKy8RQyYjA9uQtB/2DysJOrL8FG3f0pxdDbw==
X-Received: by 2002:a05:6000:4604:b0:427:6eb:8499 with SMTP id ffacd0b85a97d-42706eb84acmr7907319f8f.24.1760967437494;
        Mon, 20 Oct 2025 06:37:17 -0700 (PDT)
Message-ID: <7c387055-0bb4-486a-997a-25fe0a5f68e1@suse.com>
Date: Mon, 20 Oct 2025 15:37:16 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/5] x86/ucode: Fix missing printk() newline in
 ucode_probe_amd()
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20251020131955.2928261-1-andrew.cooper3@citrix.com>
 <20251020131955.2928261-2-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251020131955.2928261-2-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 20.10.2025 15:19, Andrew Cooper wrote:
> Fixes: 630e8875ab36 ("x86/ucode: Perform extra SHA2 checks on AMD Fam17h/19h microcode")
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Looks like you got an ack and r-ack for this already, but you have lost them?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Oct 20 13:40:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 13:40:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146383.1478815 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAq89-00074C-2d; Mon, 20 Oct 2025 13:40:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146383.1478815; Mon, 20 Oct 2025 13:40:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAq88-000745-VL; Mon, 20 Oct 2025 13:40:56 +0000
Received: by outflank-mailman (input) for mailman id 1146383;
 Mon, 20 Oct 2025 13:40: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 <SRS0=7iz2=45=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vAq87-00073x-CW
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 13:40:55 +0000
Received: from mail-wm1-x32f.google.com (mail-wm1-x32f.google.com
 [2a00:1450:4864:20::32f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6643f369-adba-11f0-9d15-b5c5bf9af7f9;
 Mon, 20 Oct 2025 15:40:54 +0200 (CEST)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-4710665e7deso15003675e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 20 Oct 2025 06:40:54 -0700 (PDT)
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-427ea5b3c34sm15309410f8f.17.2025.10.20.06.40.53
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 20 Oct 2025 06:40:53 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6643f369-adba-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760967653; x=1761572453; darn=lists.xenproject.org;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id:from:to:cc
         :subject:date:message-id:reply-to;
        bh=rNJ/evPhOSp1+zEtF/q+JX8VqH873wcKiQbrlqKzHtE=;
        b=Ag8l1B2D5MYNmyTQEtLFv4Ovg7dz23UGxVNpSERLNhtdxefB7SDFtr9hTH/WC3Mihd
         bUKI61C5uieGNMYQKuunJPdOian74juhDZ96O5BoLswv1FNqox1dFa3zuu5rIm4+fVaG
         7lyk/rXbE7ghl1/P6AzGyDAGTFpNAEU/7IqvtHK886kiW6uJszl26+QRoHXyScLkS7Wn
         PLAfa6NdZFgQw/232ibMp5yTJO9FKPETy50YamD4Jtyw2QqkR6MI9+1ZWnB9WcLeIF4H
         bhR12CjlgHChngnjS6ljGxOc0ldnmExYfR/UMaQdhqn5iDhVQvaH3k1uMDr2w3QsV6fJ
         BAXQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760967653; x=1761572453;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=rNJ/evPhOSp1+zEtF/q+JX8VqH873wcKiQbrlqKzHtE=;
        b=J4NAIZYtqQ5pr0BHdG1P1eJPttUXjb131zDmjhT9uguGGtPnnrmA/CyT8NLUSk4QPX
         ekyYJQvRZlF+b7XmmIorhzDQLUhP64cpaez5TiZjLceNyVDZdOw0gQ6+iaSHFNbkNqJ1
         6Lir7EUPn6UIaH8s7YhgJRAy8YNP7vUROx8RFBKgc4Wzb01UYqjlYZbFfCVNJ160cXpZ
         DuaxSsNPjy6BAtLiW7QWYpMKRCqdek1jxujK4axGrFe8Y6uyYz/sPepWPKntXmkRbhG3
         ElrZYxXTtX90MZBn0w8VGlXVM9JnOdhfpakwedwzWRx9lSvDfaEzSZyNeMMlJbDhziJh
         Ynqg==
X-Gm-Message-State: AOJu0YwLRpcWXCraDD7TXC2brhz5iJfT5TXeC7TxQ40sBtPPSP0HwMlT
	q86o0d3Zd7epp+kVo8c0uV4IggRdh1+NW6x8bNspxXVWdtiDNclVjcczdFqWl6x/TmNAIid4o6s
	gsRE=
X-Gm-Gg: ASbGncvoy41Vrqpn4o/e3iPqXyayePGtsm/1sZ3UApzm+8qfbxwhiVXgiHolmaIDAVz
	JKn3hoevOoDVRos6jppLb1KG4NnO/i+alcOdGGpYrdB/QaOeAoFguEDvh1BNeRrKEJNu8kscyYr
	UJyhIUTT3KHtu7az2psYXfS6kpR4MMkODjXyVi34cC9FMP94TmVnw4nRyAz3FRy3Sv08Rbybono
	SAApQprCLHqSMvoPcJskMH4xxu0Ku4Z2GHjJq9hVehtf541rSy3ffkJSeYIRkuVCI7LLvTTiM63
	aoWfePq0S+4AW4fbQhK0nN6egJkEiv5NozxhxUAgK4Y3XmFxDk7mHfwp8E8BY9IYRHA64KURisM
	uJyu9t3gKyiEH5+AlIHnPROtkTof6gZpMeqt9EcHHvsLOYHeGkBbvF/SHsyp52yUhgaWbu+xpUv
	9UXypbXnRqPUIoitXSyRdGXb1PPh8vV7RMTPw2S4iuM5UIEP+5MZbtiQnk70fQPsrmFoYeaw4=
X-Google-Smtp-Source: AGHT+IEVtdBYctifmpuwnOwc1fw8vW+k3MYI2eFKEyzcpaYWCGnk8n9xQejsgQu7Bx6yWs5nb1ZseA==
X-Received: by 2002:a05:600c:540d:b0:45c:b53f:ad9 with SMTP id 5b1f17b1804b1-4711791d215mr105301435e9.33.1760967653536;
        Mon, 20 Oct 2025 06:40:53 -0700 (PDT)
Message-ID: <d385addc-ada1-4a75-b210-38146a1fad2f@suse.com>
Date: Mon, 20 Oct 2025 15:40:52 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Denis Mukhin <dmukhin@ford.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH for-4.21] tools/tests/domid: don't pass -E to sed
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
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Even the 2018 edition of The Open Group Base Specifications Issue 7 [1]
doesn't name -E as a standard option; only Issue 8 [2] does. As we can
easily avoid anything "extended" about the expression used, drop the -E,
escape the parentheses, and replace the sole + by *.

[1] https://pubs.opengroup.org/onlinepubs/9699919799/
[2] https://pubs.opengroup.org/onlinepubs/9799919799/

Fixes: b3d31533a047 ("tools/tests: introduce unit tests for domain ID allocator")
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/tools/tests/domid/Makefile
+++ b/tools/tests/domid/Makefile
@@ -10,8 +10,8 @@ include $(XEN_ROOT)/tools/Rules.mk
 TESTS := test-domid
 
 define list-c-headers
-$(shell sed -n -E \
-    's/^[ \t]*# *include[ \t]*[<"]([^">]+)[">].*/\1/p' $(1) 2>/dev/null)
+$(shell sed -n \
+    's/^[ \t]*# *include[ \t]*[<"]\([^">]*\)[">].*/\1/p' $(1) 2>/dev/null)
 endef
 
 # NB: $1 cannot be a list


From xen-devel-bounces@lists.xenproject.org Mon Oct 20 13:43:35 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 13:43:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146394.1478825 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAqAd-0007br-EU; Mon, 20 Oct 2025 13:43:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146394.1478825; Mon, 20 Oct 2025 13:43:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAqAd-0007bk-BW; Mon, 20 Oct 2025 13:43:31 +0000
Received: by outflank-mailman (input) for mailman id 1146394;
 Mon, 20 Oct 2025 13:43:29 +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 <SRS0=7iz2=45=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vAqAb-0007be-FK
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 13:43:29 +0000
Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com
 [2a00:1450:4864:20::329])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c24cb30b-adba-11f0-9d15-b5c5bf9af7f9;
 Mon, 20 Oct 2025 15:43:28 +0200 (CEST)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-46fcf9f63b6so23233855e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 20 Oct 2025 06:43:28 -0700 (PDT)
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-4715257d8b2sm172958215e9.3.2025.10.20.06.43.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 20 Oct 2025 06:43:27 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c24cb30b-adba-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760967808; x=1761572608; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=ODB2vxdrLVxgFP6LBf1Vtrqqvk5Vxxtq6W9bEq9jhl8=;
        b=Jf1eGB69OYk6BvcmuE9GRHRgDmzgvEjpapNRR1yVDfHZpxHdg8+i1Fh+YsicjE2V3Y
         lvWwBDtEH8mTv8NGn+zUKo/EmEcrY5Lv774WIa5zp9iYrhGbMOy79IPtDa6my+pEJRL3
         EHPdv4lJEDsoxnV92KPbxIdQ5DBqmlOgLLGkXuCgsG850oiMv1ikWXq+2YjQw7FH3aiZ
         KxLfPCEh3+kOdHkhQdu/jw2zQIdbQOEKuietRGbbveXWcH8v1w8HiUdURh14Hem189Y7
         tMnF7s7AvkOEK5GZ6+jLYDGIMPe+W0Wnngs3TbG49kF0o/d/gafH2gbWFytEvmTChl8g
         y3Kw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760967808; x=1761572608;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ODB2vxdrLVxgFP6LBf1Vtrqqvk5Vxxtq6W9bEq9jhl8=;
        b=M0Y2rvpBB0hmYfSILCb2RjVJAlpXO+h10v+epxrGkwpYdNaaOyWU81/be0ekeB4LM0
         voE3T9gmoNNz0ni23pBBv+DnU/0JTrZA62E2SDVQKkk6+nJAH2MbB7A23xGh2Habrjb5
         Lny0egKtSCCbUB2F3777zqfhdjDd7t1J2Mw/YSzXjajAklN4+30ZMS/D4pd7VIU7iWj8
         g+ZLgFoXsirqG0tWa1WHW3+RpSgRKWSMR7s2TicaT3RYnCupPZ31XoIMYEJhPXVsGk4d
         1yy+Y0m45Hw20WoHTTXaBuYciP6eigxWU9f6V4HHrSSxf6NPHbxvl1vZsFz9cDhdPd+5
         HEFQ==
X-Forwarded-Encrypted: i=1; AJvYcCUP2L//o3JVirZ1Y7X3vG1SVbVCmG7UDD5Oa+HIsn3G8SoeUh11/UKMh9r3/r4ASl3UetWLdXSKBaI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxS+kxp3GJEC7ukPj4XMdYjAkLRdDZdvCdi3P6gG9TUsljMZc95
	eW+FSySvnLkMehObfKtka+5wHLKlWfx1bIKHdYDg4jsH8scNrUm3XvUAELzp6cSg/tC6s61/2Ws
	yNqQ=
X-Gm-Gg: ASbGncvsKM6k2gMILcXZqdqoOdplYnD/+ErNrRjzP41RHdscHt+jY//8Kb1+w+r5fwm
	+MDrJ8hWA2uVbPpkL2VFPyoPsu0iOvh+giRtddDl8+6v/PuAcC/97CzTggwnnAUGu7uCAtwLflo
	mU9PvAJ4NX53Bywa85dTPUV6SSjhky3/cl4nF0mHEDvD8FEuem4PXciDL5utH/vwtS/VXgpI6v6
	Bn2Wpl5iOlkOky0J7QqOu0ERxgrgz2dpY52BA1JpdpH6g1GdA3Omeh7IaDaZSw/BguMBVM/4a9U
	J70a9PJtqXVsVSBafrHmB7M2FzwQZNmDzzubT7eeofEj+U24/Iml0M2xJj+oyPXM4FtMIv1MG+b
	gR6nJHPuI2SZJ7vGCe5/MQPuCWDp/Uu9CX4Ds9yjC8y25JEjF30dPkBV4LwU6zSg1RQ61xEx4+W
	xo84mW+86Zt2hPYSqpdTf8GmW5wTYJxFh1wr4li1XMsVtSO0oubyZDJ6pCILggj3is0CeEwjK3P
	9SaVxMb4Q==
X-Google-Smtp-Source: AGHT+IHKDSDYPvf2l/KD9cWFT5KU2yCXvOw5rruWtjgLUmIpkmzw6GefuOIqN3803azepriM0cXmQg==
X-Received: by 2002:a05:600d:41cc:b0:46f:d897:516f with SMTP id 5b1f17b1804b1-4711791c880mr110869945e9.34.1760967807959;
        Mon, 20 Oct 2025 06:43:27 -0700 (PDT)
Message-ID: <2b6bfd5e-7d55-442a-b46c-094cb4289f49@suse.com>
Date: Mon, 20 Oct 2025 15:43:26 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH 4/9] hvm: Introduce "fixed memory layout" feature
To: Teddy Astie <teddy.astie@vates.tech>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Juergen Gross
 <jgross@suse.com>, xen-devel@lists.xenproject.org
References: <cover.1755785258.git.teddy.astie@vates.tech>
 <640223e5e7ee18a73f62152dd27883bf5978fbfe.1755785258.git.teddy.astie@vates.tech>
 <5ba550db-5e36-4d98-bce7-cbb3e2d874b9@suse.com>
 <b3c490fc-e1ca-488e-b96c-e059bdbdb466@vates.tech>
 <0fa33a24-a6a4-40d9-88a8-af48350e1f4f@suse.com>
 <c29f65b9-c513-4e91-a083-0773fa502b97@vates.tech>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <c29f65b9-c513-4e91-a083-0773fa502b97@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 20.10.2025 15:26, Teddy Astie wrote:
> Le 01/09/2025 Ã  17:50, Jan Beulich a Ã©critÂ :
>> On 29.08.2025 15:32, Teddy Astie wrote:
>>> Le 28/08/2025 Ã  14:30, Jan Beulich a Ã©critÂ :
>>>> On 21.08.2025 17:25, Teddy Astie wrote:
>>>>> --- a/xen/include/public/arch-x86/hvm/start_info.h
>>>>> +++ b/xen/include/public/arch-x86/hvm/start_info.h
>>>>> @@ -99,6 +99,13 @@
>>>>>    #define XEN_HVM_MEMMAP_TYPE_DISABLED  6
>>>>>    #define XEN_HVM_MEMMAP_TYPE_PMEM      7
>>>>>    
>>>>> +/* Xen-specific types (OEM-specific range of the ACPI spec) */
>>>>> +#define XEN_HVM_MEMMAP_TYPE_SHARED_INFO   0xF0000001 /* Shared info page */
>>>>> +#define XEN_HVM_MEMMAP_TYPE_GRANT_TABLE   0xF0000002 /* Grant table pages */
>>>>> +#define XEN_HVM_MEMMAP_TYPE_GNTTAB_STATUS 0xF0000003 /* Grant table status page (v2) */
>>>>> +#define XEN_HVM_MEMMAP_TYPE_FOREIGN_REG   0xF0000004 /* Suitable region for grant mappings */
>>>>> +                                                     /* and foreign mappings */
>>>>
>>>> I question it being legitimate for us to introduce new E820 types.
>>>
>>> These E820 types are (at least in ACPI specification) in the OEM-defined
>>> range which seems appropriate for me to use for Xen-specific mappings.
>>
>> Just that we're not an OEM.
> 
> How should such information be provided alternatively ?
> 
> Currently, premapped pages (xenstore, PV console, ...) locations are 
> provided through hvm parameters, but I don't think introducing new hvm 
> parameters is very wise.
> 
> One way of another, we would need to provide to the guest a xen-specific 
> memory map for implementing this.

Yes, I don't think there's a way around something custom. (I am, btw, also
not overly happy about seeing "fixed memory layout" appear in the first
place.)

Jan


From xen-devel-bounces@lists.xenproject.org Mon Oct 20 14:15:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 14:15:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146408.1478834 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAqfg-0003r7-Rg; Mon, 20 Oct 2025 14:15:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146408.1478834; Mon, 20 Oct 2025 14:15:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAqfg-0003r0-Ow; Mon, 20 Oct 2025 14:15:36 +0000
Received: by outflank-mailman (input) for mailman id 1146408;
 Mon, 20 Oct 2025 14:15: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
 <SRS0=gwR3=45=epam.com=Mykyta_Poturai@srs-se1.protection.inumbo.net>)
 id 1vAqff-0003qu-Sk
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 14:15:36 +0000
Received: from AS8PR04CU009.outbound.protection.outlook.com
 (mail-westeuropeazlp170110003.outbound.protection.outlook.com
 [2a01:111:f403:c201::3])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3c02ec38-adbf-11f0-980a-7dc792cee155;
 Mon, 20 Oct 2025 16:15:30 +0200 (CEST)
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by AS8PR03MB9607.eurprd03.prod.outlook.com
 (2603:10a6:20b:5aa::6) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.16; Mon, 20 Oct
 2025 14:15:24 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::b8c6:f37a:987a:beb]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::b8c6:f37a:987a:beb%7]) with mapi id 15.20.9228.014; Mon, 20 Oct 2025
 14:15:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3c02ec38-adbf-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=tV4Qm8UvFYKwitFXmMzfAg97ctfyxalx0N8ddq631IOW+C6Uq+xCroTXYhmBut4Q1rzqAGjT6br7iGfW+7Iu1JRGkyR8G+Vmtb/myW1hPGwBmVYbzyZCqcDIDN6ZMdfGOUYxecvoPxRhYZGc7HZnCPtZWpAovfwmdCbQJ6nfA75uIt4KQDx+3a09XkaHOoRahc24yUmuO9D6JB4cKqwT3gnKrmfpwtryyU6kYb5Ussf7Hdgq5VabnVDY3MNhTAIuKcStdEU0JZhcLtuaOcIzLsLhxBpFRIYPf3OFFTfGsEEzeClbnWYi1rv72Dzd1bQE+oo/+ceTbujdPKNng6Ym5g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Ped0LGid1UcTE8vxOQhB6FJi6aLME1fw+i0UV6KNi38=;
 b=m7qbQBNDorxFNPs48ebtLqilBysQwue4FuqIdeDszwNO4CwmQ9Zcoik8ug+MT2g0eJFTJk8Y49Q8fG9gJRAjpgOm0ijjitmrm1puzKtgxb5y4/OJLtANGJkB4DficG8GIR2/Jc8V+UGCnOK9QxbiT72C1KVf6weO3eW7q7j7ZAdNFprCpeA1Dj1rs/SQo1l0nFl6T0Qz5Ke33J8hsDYFdfPkjMRJo65xYIWYbGgY/kdbAYp5cIV8HEz3w3I7Qxq2smzWEcHYQtTVYKsbdEK00wjcmGLMzvYdBz6jwtgI59VDjb+9XcV84kX6FnYpuu/MYAV7GCKqpYlyb3LyBYRB/A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Ped0LGid1UcTE8vxOQhB6FJi6aLME1fw+i0UV6KNi38=;
 b=VztjJVtVoZ6voaF0EfWk5lTPqHEVCbntDUCRBy3qAVzqlVCyk4tWieKCfVSMuk9gq6V/J23+exj4hkVgly5YXHE6TivB6Egswmv7x4ClBoTyAcpoeCahGuv3v1mUvdaVlL/8CvpzjyDMCdEqK0SFL8KPDf0vJixj+RhUU4aYqXpk/rfIQ+Or/LB9fnTAo1t8PyyLRr63yZpvi+MP1s94PYcv1GNlClBowDl1lE18zX1TLkEnL8lqZooaBJWOwVJQagTPmNINr1Ny9P7ySW3JavQRCtBXCbJ07HsUa8X0ogM+72Xvi8UOEtb1LP00x6QLp6E2JRVg6sxNjwJNKDqUmQ==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: Mykola Kvach <xakep.amatop@gmail.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand
 Marquis <bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, "Daniel P. Smith"
	<dpsmith@apertussolutions.com>, Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>
Subject: Re: [PATCH v3 0/5] Implement CPU hotplug on Arm
Thread-Topic: [PATCH v3 0/5] Implement CPU hotplug on Arm
Thread-Index: AQHcOcdPI3ki3mxsgkWwwomwd2VOcrTDfxsAgAelSIA=
Date: Mon, 20 Oct 2025 14:15:23 +0000
Message-ID: <2728d969-06fa-4f35-95a1-a79dd441242f@epam.com>
References: <cover.1760083684.git.mykyta_poturai@epam.com>
 <CAGeoDV-=ON+WSvCQnjaa9zU_74RuFHXrqa5+p8dAjM9fxpomxw@mail.gmail.com>
In-Reply-To:
 <CAGeoDV-=ON+WSvCQnjaa9zU_74RuFHXrqa5+p8dAjM9fxpomxw@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PAVPR03MB10102:EE_|AS8PR03MB9607:EE_
x-ms-office365-filtering-correlation-id: 362c8bc7-b203-4c4a-c743-08de0fe31c54
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|366016|7416014|1800799024|376014|38070700021;
x-microsoft-antispam-message-info:
 =?utf-8?B?QkFnNmhvRHBsVmlRT2VtV2VwK2JCWThUNVdLMDgzZE5jbDFEM20vNmQ0KzBJ?=
 =?utf-8?B?Sk5lK1pwL052MkcvWnRla3paWkNiWlJsR3VTclR2OFJ1SUwwdlNtMDU0QmJr?=
 =?utf-8?B?cW9LdVBUL0NYejZRT1YrWWRvQ3NQNWZKcWEzdjg2T1N3cWZpdFJiWWlTME44?=
 =?utf-8?B?MEhMN3UrdE1qZnZHSDFyZTNyNGdLeVVPbk1aODNkZHFIMU4zV2lrZGsrdkdC?=
 =?utf-8?B?T0RxZUpXZEJ0T3RYanB2ZGl2WnNpNG5oWU9GRzFnMU1BTVcyNUQ4Q0lEcXR5?=
 =?utf-8?B?anlMenJ3NTFLU09FckhFZld0a3E5OGlyUkVGV2NzOTV2enVhWjhSRVdrREVz?=
 =?utf-8?B?WkxYR1kxWDRVRSsrKzJPRXBXRHFXTnpISWNrZ1d6U0xVVUwzMnUvYnFYcDd1?=
 =?utf-8?B?TG1xTURaU09lSFYxQWd5RFB5RnZUOTMxMmJDL1Q4ZUFpUEMxdG5taE9kbW5o?=
 =?utf-8?B?cWQ5bUl2MTdlT3Uzb2h1RUNnRmo1SURCaWs2M0hLY2d3K0hydW9VSCt1K3Zs?=
 =?utf-8?B?S1BUNnJuTXdLUUV1V2swV0JWVE1PbjNMNjhKZXFSSGNPSGdVNy9PQXQ0cDJ3?=
 =?utf-8?B?V2tBV2ZqNFdOOHhucWNNUWhSUlcrZElQZS94NmlCcjMxL3lrbDB6Rzh3RUg5?=
 =?utf-8?B?MVJTUmNhSFErSllySTM0ZFZmdVNTN2tCYjh4eTJUcWszMk9FaUc1VXN5bWNW?=
 =?utf-8?B?WU1TRnErTVR6bE9QTFdzT2tHLzlNdURTK25ISWJEZkF1U1k2T09TV3BnWHYz?=
 =?utf-8?B?YVVBSHVOS0ZxL2RTQ0lBVGhuTEpjajkvajVsTVgvTEs5bU0weWZMNFA0V24r?=
 =?utf-8?B?NkIxV0lPT1hmcnJ5ZEJGTDM4WERzZG52cUZGZXJ2cHFLTVVRek1UaEN4dlRR?=
 =?utf-8?B?VUxwK1hFNWhkKzNZb0JZMmV6Smp6ZkZMWHVwQ2pJZVRzODhoR0daZEMrY2tG?=
 =?utf-8?B?OHVUNVQvOXJPS0taQnVXZ29NNC9ISXhWTHJ6VmNYVHRaeDNkbmhya3RjMlVN?=
 =?utf-8?B?a09VakxWeTlaNXdQN2x6QjVUeUNNUk1nYjRzZzlzVHlVMU1IMGhYOHdBaE01?=
 =?utf-8?B?SDFXaWJPMXhBZXMybStnQ1pOUFRqK1loN3ZpR2pROVplbWhyeHR5b0lwM29O?=
 =?utf-8?B?L05BT3RLM2VtSUpnd0JmZ0RKemhHOEhhbEkxQ1JXKzRGWFAvTWRhMjhJQUhq?=
 =?utf-8?B?RlhoYWJCd3lVY0FSRXJuMTdiZ2YxN1J5TG45Vm44UUJQeFhRcW9mRURGOTNF?=
 =?utf-8?B?QW8vODVCR2Q3TDczQ01sYXJlcGhEVGVaMis5ZjJ4bTQ3QTFjR0d2alhSWWdn?=
 =?utf-8?B?aTlsay9XNDhvaGNIME4yTVJaZnFtSmpGV0JnR2k5cHlUZGQ3RC9ybTV5MVVx?=
 =?utf-8?B?VGVVQW1DOEpOTEREc29IeWpSbkx0VUpnOGxLaFlORCtLNUdWbVM4UXd0NldI?=
 =?utf-8?B?cC83ZzEraGc3QU02NEc3WERjaEVUMnhJaDBTOHQvN3d0Rlo3NXF5SWtoZ1lM?=
 =?utf-8?B?V2xIVGdrYWF4WlVoOGw4RkovTG91b3JrbmtSNzd3bUY0aHFUSFdjSjZobFlV?=
 =?utf-8?B?WlZmRHdnM3FKV0RiMjFYbGszb0JjMDNpR3M4UHlzVHVjYW9RaHdxSXpPdEpq?=
 =?utf-8?B?T2hWZHFiUzJKelBXc0R6NVo5dng3b2hOZUFFRTR3T1JNdGF2WTlNZ2toS2k4?=
 =?utf-8?B?L09Cdm1kMWlkQUJQemN2SnNkbFNTMDdmY1ViQkpxUngrR0poYWJQYTlOdVhZ?=
 =?utf-8?B?MGVPZFR5ZC8vR2lWUFkzQVFDMjA0clNYck9iMkdWV1pSdkJBRVZicGgvWCtK?=
 =?utf-8?B?NENHNHBoL3dZeTNER1N1NzB6SVJ6djB1NXBwc3NlN1dRVXZvUlEvL25EbFd0?=
 =?utf-8?B?NGNoM255N2pPamVodmFERDVWeVJpcXVMd0xha1QzUWRqYUIrbG4ycTF3VEkv?=
 =?utf-8?B?amsxTEswdExuK0pFbkt6NEV4SkdjcmZONmplclB3cFlxbVp6em1MTHI5UFd5?=
 =?utf-8?B?djV3bWlSZWRMQUdjNExkWnYvNFpaREhTbERacm1aUVVoekh1ZXFtVDRiTXk0?=
 =?utf-8?Q?JmGX3D?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAVPR03MB10102.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(7416014)(1800799024)(376014)(38070700021);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?ejkxZ3B3cVh2OWM3SEgxbnNBS1NkSDNsT0YrSUhNemhFQW9wNHBreERyVXZ1?=
 =?utf-8?B?N2kzVXpkZ01ZZ0hRaW5JbVhKcHV6NkJHUGp2MWdVNnZCeVR6bTJLMnM4RHpk?=
 =?utf-8?B?NEh0VmQ3UXZ6QStySWowSEdWeXREZVI2OVRtU0lzV1Rta1pIK2hCNGFpYlNZ?=
 =?utf-8?B?clNtOU1wWmpJTGdTT203YjJRZUpOSkt0MVkydnAvV0xJR1d0Y2dIT1ZFU2ox?=
 =?utf-8?B?NUIzYXZraXY0TTNyN2hYd2tDenZTWDV3SWNTVmI2bHJWcExaMEU2dWdRcmdU?=
 =?utf-8?B?TUpMTkh5YTJyWHoxTGUvWXZibVVwdHFiVE5UaVp4UnRpSzRTK3JEWHg0dEZO?=
 =?utf-8?B?SkZwc2Q3engrVWxtd1lvdEZsc0ZoSUNndVVLL00zcU5ZUGs4emdSRU5FY3lI?=
 =?utf-8?B?QXVOWWNac2g3TTZDbXBldFZYSnJYVmVXQkQvR1BPdGdYUElmQVpSY3gxRjJU?=
 =?utf-8?B?d0ZlQ0tXSTZicnVKTmtCWWRSNm1zNTgxQU12alZFK2daeVRnNEh5d29neFpx?=
 =?utf-8?B?ZTN6cUdnOHo2eUlOeUdwZFZNU29FSFIzcXZrcDFneHY2VjRSWWExYTdUaFo2?=
 =?utf-8?B?d3NpOWxERVkvUVh6akV3TEdPZHhrL0d0VHFlb090VG0yQ0VqU0I5MG5aSm1H?=
 =?utf-8?B?bXZ0YWxFMjRjdUF5a3I3R21IUm0wdHdmcVY2Y1dnKzI5TTEwRFB3dmlCQWNQ?=
 =?utf-8?B?cXRiRzg0R3JSNnZTaGdDYjlld25kOENtVmpBWEcrYTFiZCtoYjhna0UxekJW?=
 =?utf-8?B?NTBmK0RjRkMrYUIvcGF4eHRrTUt2ZWhKWXA3S3FWY0QrR0lPN3FzZncwS1hO?=
 =?utf-8?B?NDAxeWFWRERBMGFJbGVySU91N1d1TlBSQ0hOOC9DbXB5R3JqY2c4V1d6a0VD?=
 =?utf-8?B?NXpwY2IrWEdyYkI1Y1p6amgrN21UWG14QWVSYUNsM2hCMFpYZkRvL0tJTVNm?=
 =?utf-8?B?OXdnRGRlUkxzQUEwUEJCT2JrVXVlSDJtQkhZdmVHWm0vaE9MWmV1SEZPZUZM?=
 =?utf-8?B?RndhWSthSytpdHQzVnhyQXVXbERuZVFkbzZQSVBxbndZc3R6TktjSm9GWEp5?=
 =?utf-8?B?VHpMNG1ITkw2cGFQY0dEWFZzTmdLMWt3TTU5K2tTaXVrN3NmSFBrMHRVR2Ux?=
 =?utf-8?B?VC9iZGdQLzZaZlMrc1IzWjNVcWFCV0VpQUlUNGtZb3E4VTNtRDdLQUluc0hz?=
 =?utf-8?B?QUY3bW9sU0UrMDNTNWdTTFdCZjVKVm5MZEFTVGZkdGVKb3E3eGdzZnozclpn?=
 =?utf-8?B?d2NQVXh2dERHZmxTTHF5RjI3RWFBNk5ONjZxRWdyK21BcWhYMFpENFVhWUhK?=
 =?utf-8?B?cXVtbVluZDdpcjhZYzEyY3ZQTjlpbWhtamwvNVQ1NDlXUFBlSFhrY1o2QnBV?=
 =?utf-8?B?VmE5ZUdhQ2dkbmlkVVNVL3czdStNeTBROGlxWmVWWHBCVGtPT2xvTHJITVRE?=
 =?utf-8?B?MDRlck1EZnZJNkZuejRzN043dmRDMHhvQVo3bnJqZzUvYytnZmVrUDRyWnho?=
 =?utf-8?B?WXRCNFF1ZmYzT0lEdXZHY2xoZ08wRkxWbnhvT1lKdDdLLzRpcDU2Qi9WVlNN?=
 =?utf-8?B?aUF3cDRjZ0hSdVViOGFzaDFxbU41OWJRU1podTQ3RjR1cEllT0hxS3FWcGlY?=
 =?utf-8?B?SWxPMmVVME96UGF6eFY3RGRPTlJhUGF3TnBTSXBFYmRiQlRmaUFpZUxTSXI5?=
 =?utf-8?B?bFk0ZE15b1dDZUR3MU5iQTJtaDducytYMEJqYXhIcFZrOG9NMzlOM0syQ0VY?=
 =?utf-8?B?Uk1UdzFVVEkxdGQyZ1lkdUQ4MEpicmVsK2ZjQ3pFcDhBTUpyNHo4b2hReWhI?=
 =?utf-8?B?R1VxNFhNY3RMWEl0ekhXcEJNNDJFTllXSzRULzl0alRnWUQ5Z2R2d1pIL0k5?=
 =?utf-8?B?cHVHQTBmcGVPSWJ1YlVhWWZjTnBndWtLN2lKakM4eGtRYWZqZzA5azRqaHF4?=
 =?utf-8?B?Ni9ublhDbGV4NGZiZEFUZHdrTTRpVFFjV0NNSVlXdFBkeng1aURPVHFkdnpm?=
 =?utf-8?B?TDlVV2p4VTFhUHdxSEt5bWd2Nk5lOU1WcXNmN1ZZTWFVZHJrUHRlVDZucGx2?=
 =?utf-8?B?Y1R5TFRLd2xxb2tDTHIvajVDZExBNjRrQXhoaStjVUsybXFiZS9Dd0d0MlZF?=
 =?utf-8?B?SzBsVUdTTVNiOVRNTmNCZnJKbGc2VWpTcHNZSUFoVGQ3OFVsN0J3LzU2b2xy?=
 =?utf-8?B?TVE9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <724D8716F9DD134AA367E5440A33714F@eurprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PAVPR03MB10102.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 362c8bc7-b203-4c4a-c743-08de0fe31c54
X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Oct 2025 14:15:24.0075
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: oGCc7hqFXxEXGLVtCSenIBPFXP3Xs05iEiq/J6vDmUraIqXprWXU9ysW+6AmLknz6qwjk5+Wtn3p+GQbbn8DTg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR03MB9607

T24gMTUuMTAuMjUgMjA6MzAsIE15a29sYSBLdmFjaCB3cm90ZToNCj4gSGkgTXlreXRhLA0KPiAN
Cj4gVGhhbmtzIGZvciB0aGUgc2VyaWVzLg0KPiANCj4gSXQgc2VlbXMgdGhlcmUgbWlnaHQgYmUg
aXNzdWVzIGhlcmUgLS0gcGxlYXNlIHRha2UgYSBsb29rIGFuZCBsZXQgbWUNCj4ga25vdyBpZiBt
eSBjb25jZXJucyBhcmUgdmFsaWQ6DQo+IA0KPiAxLiBGRi1BIG5vdGlmaWNhdGlvbiBJUlE6IGFm
dGVyIGEgQ1BVIGRvd24tPnVwIGN5Y2xlIHRoZSBJUlENCj4gY29uZmlndXJhdGlvbiBtYXkgYmUg
bG9zdC4NCg0KT1BURUUgYW5kIEZGQSBhcmUgbWFya2VkIGFzIHVuc3VwcG9ydGVkLg0KDQo+IDIu
IEdJQ3YzIExQSXM6IGEgQ1BVIG1heSBmYWlsIHRvIGNvbWUgYmFjayB1cCB1bmxlc3MgaXRzIExQ
SSBwZW5kaW5nDQo+IHRhYmxlIGV4aXN0cyAoaXMgYWxsb2NhdGVkKSBvbiBicmluZy11cC4gU2Vl
DQo+IGdpY3YzX2xwaV9hbGxvY2F0ZV9wZW5kdGFibGUoKSBhbmQgaXRzIGNhbGwgY2hhaW4uDQoN
CklUUyBpcyBtYXJrZWQgYXMgdW5zdXBwb3J0ZWQuIEkgaGF2ZSBhIHBsYW4gdG8gZGVhbCB3aXRo
IHRoaXMsIGJ1dCBpdCBpcyANCm91dCBvZiBzY29wZSBvZiB0aGlzIHNlcmllcy4NCg0KPiAzLiBJ
UlEgbWlncmF0aW9uIG9uIENQVSBkb3duOiBpZiBhbiBJUlEgdGFyZ2V0cyBhIENQVSBiZWluZyBv
ZmZsaW5lZCwNCj4gaXRzIGFmZmluaXR5IHNob3VsZCBiZSBtb3ZlZCB0byBhbiBvbmxpbmUgQ1BV
IGJlZm9yZSBjb21wbGV0aW5nIHRoZQ0KPiBvZmZsaW5pbmcuDQoNCkFsbCBndWVzdCB0aWVkIElS
USBtaWdyYXRpb24gaXMgaGFuZGxlZCBieSB0aGUgc2NoZWR1bGVyLiBSZWdhcmRpbmcgdGhlIA0K
aXJxcyB1c2VkIGJ5IFhlbiwgSSBkaWRuJ3QgZmluZCBhbnkgd2l0aCBhZmZpbml0eSB0byBvdGhl
ciBDUFVzIHRoYW4gQ1BVIA0KMCwgd2hpY2ggY2FuJ3QgYmUgZGlzYWJsZWQuIEkgdGhpbmsgdGhl
b3JldGljYWxseSBpdCBpcyBwb3NzaWJsZSBmb3IgDQp0aGVtIHRvIGhhdmUgZGlmZmVyZW50IGFm
ZmluaXR5LCBidXQgaXQgc2VlbXMgdW5saWtlbHkgY29uc2lkZXJpbmcgdGhhdCANCng4NiBob3Rw
bHVnIGNvZGUgYWxzbyBkb2Vzbid0IHNlZW0gdG8gZG8gYW55IFhlbiBpcnEgbWlncmF0aW9uIEFG
QUlVLg0KDQo+IDQuIFJhY2UgYmV0d2VlbiB0aGUgbmV3IGh5cGVyY2FsbHMgYW5kIGRpc2FibGUv
ZW5hYmxlX25vbmJvb3RfY3B1cygpOg0KPiBkaXNhYmxlX25vbmJvb3RfY3B1cyBpcyBjYWxsZWQs
IGVuYWJsZV9ub25ib290X2NwdXMoKSByZWFkcw0KPiBmcm96ZW5fY3B1cywgYW5kIGJlZm9yZSBp
dCBjYWxscyBjcHVfdXAoKSBhIGh5cGVyY2FsbCBvbmxpbmVzIHRoZSBDUFUuDQo+IGNwdV91cCgp
IHRoZW4gZmFpbHMgYXMgImFscmVhZHkgb25saW5lIiwgYnV0IHRoZSBDUFVfUkVTVU1FX0ZBSUxF
RA0KPiBwYXRoIG1heSBzdGlsbCBydW4gZm9yIGFuIGFscmVhZHktb25saW5lIENQVSwgcmlza2lu
ZyB1c2UtYWZ0ZXItZnJlZQ0KPiBvZiBwZXItQ1BVIHN0YXRlIChlLmcuIHZpYSBmcmVlX3BlcmNw
dV9hcmVhKCkpIGFuZCBvdGhlciBpc3N1ZXMNCj4gcmVsYXRlZCB0byBDUFVfUkVTVU1FX0ZBSUxF
RCBub3RpZmljYXRpb24uDQo+IA0KDQpUaGVyZSBkb24ndCBzZWVtIHRvIGJlIGFueSBjYWxscyB0
byBkaXNhYmxlL2VuYWJsZV9ub25ib290X2NwdXMoKSBvbiANCkFybS4gSWYgd2UgdGFrZSB4ODYg
YXMgYW4gZXhhbXBsZSwgdGhlbiB0aGV5IGFyZSBjYWxsZWQgd2l0aCBhbGwgZG9tYWlucyANCmFs
cmVhZHkgcGF1c2VkLCBhbmQgSSBkb24ndCBzZWUgaG93IHBhdXNlZCBkb21haW5zIGNhbiBpc3N1
ZSBoeXBlcmNhbGxzLg0KDQo+IA0KPiBCZXN0IHJlZ2FyZHMsDQo+IE15a29sYQ0KDQotLSANCk15
a3l0YQ==


From xen-devel-bounces@lists.xenproject.org Mon Oct 20 14:16:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 14:16:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146417.1478845 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAqgP-0004PC-3o; Mon, 20 Oct 2025 14:16:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146417.1478845; Mon, 20 Oct 2025 14:16:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAqgP-0004P5-17; Mon, 20 Oct 2025 14:16:21 +0000
Received: by outflank-mailman (input) for mailman id 1146417;
 Mon, 20 Oct 2025 14:16:20 +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 <SRS0=7iz2=45=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vAqgN-0004KG-Ro
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 14:16:19 +0000
Received: from mail-wm1-x336.google.com (mail-wm1-x336.google.com
 [2a00:1450:4864:20::336])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5658f4cc-adbf-11f0-980a-7dc792cee155;
 Mon, 20 Oct 2025 16:16:14 +0200 (CEST)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-471076f819bso35474725e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 20 Oct 2025 07:16:14 -0700 (PDT)
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-427f009a976sm15776556f8f.32.2025.10.20.07.16.13
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 20 Oct 2025 07:16:14 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5658f4cc-adbf-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760969774; x=1761574574; darn=lists.xenproject.org;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id:from:to:cc
         :subject:date:message-id:reply-to;
        bh=QqfIIo6PgW0lz2KZFcKSDOnylps/yjtNFJ13LO/S3Ec=;
        b=GIdAGA7iv3uz62d9+zVDG2zF1/LotXC+d3myX6hnhXEoH7i0U1rymHrw+ih5lmykvT
         kyz/C5sHQt+zfFoexmDBhJm/j3c0km5Pofn+2v00cFb5F909oa1KUpRCZNEtf7YkPFiN
         T1BJTeMZOKhvsDQf/FUAusCsO+UmGJKcA9Lo8XaB5ltt3UyPOwT7ZsmQji1yXFTdsR1+
         f2tpoyxD3uErNGl7DcxovPVWtpexLDQaGtV7BPoY5y/G6z6vHLWppbQTVMFGfSMLGxTC
         qq8u98RPdjFkTI9Rupb2ynm3cZOmPWb3dyBuGoRQ3Ao2j5mTAFWjBGEpp+4BxT4idIws
         dE5Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760969774; x=1761574574;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=QqfIIo6PgW0lz2KZFcKSDOnylps/yjtNFJ13LO/S3Ec=;
        b=U8yiJCOCktHiKkjsV+UTYW2Xi+Ym6tVDgChI+2Sn8CfMpWi5tonB4dRKB4iba84DPg
         Ovo9Y5jdEv7QVSYf/816gX7lQ+k4WNk06mv2haf6FceLM5sxROuzEmNHXJzGRxDQAEiP
         Pd49u/M7AvY+lKj64SK4EDMDs/Yt9KEbW9sTVNUnMniw0caxhzwMj9TxgbM+QnXgezy4
         bNokJEQ7XuoV0DxTMjkhdWSVk/ZGzj6aOjiu1BTGZ4uc6rQrSfmzSUYewGC+XGPcqpZj
         RUwfZgdazMwY1i7Z8gsaJfZog+v7pzjb6x8xHAWC6IV/JZ2ItqVQnAcI5jc0xkmi3vlD
         mNBQ==
X-Gm-Message-State: AOJu0Ywg2heQzCPaDlJhf/BynQlovPYVOKK0jWnRtg02GsbFwc5IpWR8
	AoAvT6BF3/ijekyr2CJmrKXytpl4i2qG3Zo5g3AToyVSMvOR9JRfB8zGeJ2yOwmg435Honml1I0
	rfkA=
X-Gm-Gg: ASbGnct4/sxbEsy3NEc2VRAS+bQsrZWrZUuLe+VoH+oZU87hsnM4E0+9A3OYRVTaONs
	TV9oyJsiEKYkLC2aYRpWrs93VDB6KhHKCz5sCm2WRwD3UlbsBWl3GgKvUPHRizv/n9KEmYkq+s5
	EZ2M2ZljjaqoTIhxmpF4wc1ZOuL1yna94WWAwgknx6JNB/0uWNpEqXFCS/rFWloz7NOZckL2SlM
	ampDF4OWbNjnTAipE3wYLECb5P4FhCVT2Im6xj0A6Qq29z7n2BONqbPmWz8ROD3HPWuSbPDqYCK
	6qmXbePrcHFMivI9PBhMBa20tv8O3E5dyj2GYhZpHM/3pMWp8LByik1LrWHK58HhrT+UsEIixz+
	ogiEHH0nSsvWgag5XHf2WKRvcuji6hAtAJvW8cXiIpQk+DhfcHjDHUkhCn532TVIncJTghSygin
	sWRQNps/owQ9WtoseC2OHGW/4qfwJAfpYnKuqUgGt7PIk2rsFaDSgP8zBK62vF6mjYN7zJxTU=
X-Google-Smtp-Source: AGHT+IFWE1QaKjWzKyNk1bCcxuJUT7rYs3sHnyTRfp4cruvDT0F2PMRqQY4VTDgl46U8DTfsVodS3w==
X-Received: by 2002:a05:600c:3581:b0:45d:d5df:ab2d with SMTP id 5b1f17b1804b1-4711790bf23mr92699555e9.26.1760969774332;
        Mon, 20 Oct 2025 07:16:14 -0700 (PDT)
Message-ID: <3cfa136c-3689-4d47-8a69-ce7af12ed9d0@suse.com>
Date: Mon, 20 Oct 2025 16:16:13 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Jason Andryuk <jason.andryuk@amd.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH for-4.21?] AMD/IOMMU: unshare IRQ .ack and .disable handlers
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
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

A .disable handler can't typically be re-used for .ack: The latter needs
to deal with IRQ migration, while the former shouldn't. Furthermore
invoking just irq_complete_move() isn't enough; one of
move_{native,masked}_irq() also need invoking.

Fixes: 487a1cffd71a ("x86: Implement per-cpu vector for xen hypervisor")
Fixes: f821102450a1 ("x86: IRQ Migration logic enhancement")
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/drivers/passthrough/amd/iommu_init.c
+++ b/xen/drivers/passthrough/amd/iommu_init.c
@@ -428,8 +428,6 @@ static void cf_check iommu_msi_mask(stru
     unsigned long flags;
     struct amd_iommu *iommu = desc->action->dev_id;
 
-    irq_complete_move(desc);
-
     spin_lock_irqsave(&iommu->lock, flags);
     amd_iommu_msi_enable(iommu, IOMMU_CONTROL_DISABLED);
     spin_unlock_irqrestore(&iommu->lock, flags);
@@ -442,6 +440,13 @@ static unsigned int cf_check iommu_msi_s
     return 0;
 }
 
+static void cf_check iommu_msi_ack(struct irq_desc *desc)
+{
+    irq_complete_move(desc);
+    iommu_msi_mask(desc);
+    move_masked_irq(desc);
+}
+
 static void cf_check iommu_msi_end(struct irq_desc *desc, u8 vector)
 {
     iommu_msi_unmask(desc);
@@ -455,7 +460,7 @@ static hw_irq_controller iommu_msi_type
     .shutdown = iommu_msi_mask,
     .enable = iommu_msi_unmask,
     .disable = iommu_msi_mask,
-    .ack = iommu_msi_mask,
+    .ack = iommu_msi_ack,
     .end = iommu_msi_end,
     .set_affinity = set_msi_affinity,
 };


From xen-devel-bounces@lists.xenproject.org Mon Oct 20 15:00:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 15:00:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146435.1478858 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vArNI-0002QU-EO; Mon, 20 Oct 2025 15:00:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146435.1478858; Mon, 20 Oct 2025 15:00:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vArNI-0002QN-BS; Mon, 20 Oct 2025 15:00:40 +0000
Received: by outflank-mailman (input) for mailman id 1146435;
 Mon, 20 Oct 2025 15:00: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
 <SRS0=BTWa=45=citrix.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1vArNG-0002QG-Gl
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 15:00:38 +0000
Received: from CH5PR02CU005.outbound.protection.outlook.com
 (mail-northcentralusazlp170120005.outbound.protection.outlook.com
 [2a01:111:f403:c105::5])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 88c0c785-adc5-11f0-9d15-b5c5bf9af7f9;
 Mon, 20 Oct 2025 17:00:37 +0200 (CEST)
Received: from DM4PR03MB7015.namprd03.prod.outlook.com (2603:10b6:8:42::8) by
 SA3PR03MB8352.namprd03.prod.outlook.com (2603:10b6:806:466::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.16; Mon, 20 Oct
 2025 15:00:34 +0000
Received: from DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9]) by DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9%3]) with mapi id 15.20.9228.015; Mon, 20 Oct 2025
 15:00:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 88c0c785-adc5-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=hu4M0M61zwYfy/zxavxNnvq7BnLKfvFOPft/9QitiVpYOfEwchHTzJDcS7XFUkzokTYiqDux1egxmEGNaQK0dCVMdPZykimDgUDvwHKITRsVzL6bnA8sGxDJAZTAvCCZKMHc7eql/rgY9Hsp/6NPCSwnt/Ob0bCdOnn66wZaoXBa5ZNOXOx1yiKtukfP4nH+sFTUmt8DJT+nGIK+HHaJfx+Je1YmuRj4oiX5w9Tj4P5jxtPshhYLAWaVh4OUu16nbAG8Yee0LhHq6iOKhRn2APHNI9sNghcyRJoDY0ZyS/wRdLmoufA/LaP/OMebuwuWx0pnW6ozjZoosZQcFiQG6Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YWxbX23uEUq0kzfK3bsK6XYoDI6gIyQg6E+HUZfj9ao=;
 b=zQsMcDIv4FiiLrKHuuolVi/6qlEQ/70yQcEPba4Cui7GIAhsgSL/N99Av/D4v2hS1IFVee5FywQPjjXELQ88jOMZY5mFDDbpjtydeVnfig76kIibk8T+/p++ZBip40hXv/JGw+1VrXmOzDHvi9dMIDssRoGdTf0GxwXxE4L/3/JXBln+A57D/tdvQ0n/GmV6lt/g5Rm57tHwFY/mV4Nd8rSlE0iJii5fS7ycdkWBIqZ2QPEisYsCdNhFl4JvfSiB+yPT5m0c4Xssnyu2j41eqaDSCGZkzB/zN8l6X/DdRiuJJ8Xl9/dhC29i56bbtm0ekwiWGmc2sQj79YdQslb6iQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=YWxbX23uEUq0kzfK3bsK6XYoDI6gIyQg6E+HUZfj9ao=;
 b=uEOUeXAZ/VX1bWvB58FBu/qYEM2SvkDZuTowvZEkPzShg5iMu8ygl/IQgIQjfCCrPSmgV2JRq4UOavymI7P3aX8kTHeTREcDtC2mE7EmrGbmAV2e0pzDBeI6HpQdum88sDXmifQXo0k7cXcTqd/WNhWJwMj4poqfHvIC0b1zf0w=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <ac702bb6-9cc1-4489-a427-943c16c95f89@citrix.com>
Date: Mon, 20 Oct 2025 16:00:30 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21] tools/tests/domid: don't pass -E to sed
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Denis Mukhin <dmukhin@ford.com>
References: <d385addc-ada1-4a75-b210-38146a1fad2f@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <d385addc-ada1-4a75-b210-38146a1fad2f@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO2P265CA0063.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:60::27) To DM4PR03MB7015.namprd03.prod.outlook.com
 (2603:10b6:8:42::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM4PR03MB7015:EE_|SA3PR03MB8352:EE_
X-MS-Office365-Filtering-Correlation-Id: 716bcd1b-c7b8-4eae-7b91-08de0fe96b82
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|366016|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?NHpkUG54SmNDOHZTQTBWVEIrang2UERlVzA3c0FhV1o4TFRlUXUyaUtEYmdF?=
 =?utf-8?B?TjZLQjVib2NTeWRIc0tEaS9xTnJteElxaEZ0bytzeEgyT21SaEZMTDJYc2pS?=
 =?utf-8?B?dnBYR0E5WWVkQ1NpeHBmMlNUZ3JVcndZdXQ3TUM4UnB4bWgvanNSTlVwdDhq?=
 =?utf-8?B?eXJiQUJmTE1nSmZocWdRSEpaV3R4cU11S01jNnVRMjlhOWZMbTRKNnZVcGVu?=
 =?utf-8?B?YVhzWVNZQzNGdklWRWdCTW5qV2pvUWVGdjRtWnJudzkyUTdmYllYVHpLeXZW?=
 =?utf-8?B?SHdzZWhPRVp3eHowSWcxWHFTbXhoTFZHVzlrQkIybHdycmVOdW5HdUszQ3pw?=
 =?utf-8?B?UTdDbUl1VTdzRHFOalZJbXZuR2o0NlBTZXR4L0N6dUMvaEhhaEdyZVV2bDBm?=
 =?utf-8?B?b2NiQVo1eU0ycEtGV0FXdmc3UVdiaHRpYmNMTFlKRG5EeEFHSXBpaTMyR0Zp?=
 =?utf-8?B?WmFLK1FsanR4aXhMS2hsS3NIcVlxcDZhNmYxZnE4ZEczQlJyNy9MVzd3VVV6?=
 =?utf-8?B?YzIybEU2Sk9nZ3llMVN1dk1QdVlwaFZmMmFOZ1RrZnVSNW9waUllOXp1V1Qx?=
 =?utf-8?B?SCtTQ1V0WGhESWkrZ3N0alY0UUhZZEE1VEs3S0REdVhwT05lYzJ6bUhIU0s2?=
 =?utf-8?B?MXJsUnFWblE0NnVCN0I3dUhkLzhQYk9lNkFoZ0JzS29ya2lsS2lkRDBwV04w?=
 =?utf-8?B?QTI2UWxTSGpqeFRzRnFJdGJkRjJTWlFWMlI1M20rbU9xM1MvOVp4enNqVDN0?=
 =?utf-8?B?Tm0xOGZQelFyZGduKytFZ1RzVlk4QWRvMDcwY1JERWExUFdIWDdQSUlORDZl?=
 =?utf-8?B?RWo1d05YMXBLTHp3ckVhcmdPTnlSUEw2ZEFDQXRCQ3dPUEFBazBZTGZIMXFs?=
 =?utf-8?B?dlBRQVdLQ3RVejVZeHpQcTVSS2Rib0NGWEtNQkZWTGZpL3NVd2xRSDM5YzZO?=
 =?utf-8?B?dmo3dk9ra2JrUUk1bmhDc1JPSmRuY0l1TFdJYWxaWTMySkZyMnVQY3pYRTh5?=
 =?utf-8?B?TVlVc25kK3o5TlRacDJJMGRkRVMwWHJYNTFrNnRjK3NrMlJmVCtQWVdGSUsw?=
 =?utf-8?B?YTZVNEw2S1gyYVdWZFNIUVkzQWpoMGIvNjRHNnpaSVlqTTN5QkpqTWxqdTk4?=
 =?utf-8?B?QjQxMWdUbkFqc0RXdGpLbS94WlNGZkVmbVY5SzAwMEV1Vng2UkswNWlER0dQ?=
 =?utf-8?B?OCt6T1d0cm5tLzJ5N050R2gxWHBjaUtYMXc0UnMveXZwVEF4Vk1rWmNSQVEv?=
 =?utf-8?B?bCtKdzl2NlhLV001VUphNXBCcUM2aUxEd3l2YkRlWUl6LzBXMnpHclp4S0Qz?=
 =?utf-8?B?WVljTnFDK2xtRzBDcDM0R2Fic3lTcnA2L0IwaTJLK054a1ZTbkZGZlhuNm5z?=
 =?utf-8?B?SmpYYmNMNDA3RmdCckR6MEx1NjF5VkU0ZXZONmR2eFdmV2ZpNXFQd0Z1VEl3?=
 =?utf-8?B?WUF2QStZSzVlNjRBMU1oMW5xem9uUUZweG5ZTWJzMERuTlhXaWVIY2c2NFEr?=
 =?utf-8?B?cGVyRnByUlBzekpoZXFCd2liWldJUHRqRnlrSktMVTM4TkRWVGd0Zis2cndN?=
 =?utf-8?B?Ylp3Vk9OUjN2MXZQeWxRWCs2NUhycnYrejVwVFBmR0pKMFNuc2VkNXpxMS9v?=
 =?utf-8?B?c21vSFFBb3J3WjhpVis0a2JVZjRUTTB2T1V1b1FXU2ZXRzk4Z2FvcitiVmMw?=
 =?utf-8?B?QWVZd1Z2MjM3VnJ3SHFQaXBRMDRIS0VpRkt5ditMKytYVkZnSW5WS2YrdDJT?=
 =?utf-8?B?NE5mMVpCM2MydlFabm81WW1wblJlbzEwVCtFQ0R2b2FBZ3NWZWFiRkNBQUVm?=
 =?utf-8?B?YmhqMHlSZVlobjZZb09YQjBTcTdGQkgrUlVycXZ1Vjlqd2ZXS2U2dWZrZGNW?=
 =?utf-8?B?SGxiWjlGMjVIL1ltWnF4MUF2bFRZZVM4RkNYN01MeUp6NThxOVVRelF6a0pH?=
 =?utf-8?B?UzRnT1FlUVcyQzlndU1HT3pEYmlGSzFzdzk3cHk3NTdmd2txYkJjYlkvR0Iw?=
 =?utf-8?B?Vk1yZW9JQzlBPT0=?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR03MB7015.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?N2g0d0VRWVRyNUU5VTM0K3ZXMEpmV3lrL0U4U2xscjdyd2VwRHAzb3N3ODhU?=
 =?utf-8?B?akpXc29CaWJlK21Ka0V3YzA3UWI1RFRCU0N5dlVZR0xIRmh4K1dxaXRlZjcx?=
 =?utf-8?B?SE94cEYvbVZGNTJIeWJhNjZCK1pURDNLdC80VzJRelJvcTZhOGVpc2c2NGxj?=
 =?utf-8?B?MUJpZ1c2WVZMLzJNUUttMFYrNExyZVFaeURsVldMSm1ma0NBYXlHV1BGY3o5?=
 =?utf-8?B?OXdoYVJEcG94U050QVpyQzF2cGNESENkcWdLMEl1Z1l2a3hmb29uVmxnaTZG?=
 =?utf-8?B?YUxTRERacEozakNJdzI0bkdYNGFMRFRweU1IVFBnM3dIU00wdXp0SUlzN0pC?=
 =?utf-8?B?QS9Pc0x3OFVWeEtLTnN3OVRPV2JBSEpIV094MzBiWmFjS29MdEdjampxSkpq?=
 =?utf-8?B?WGJBOExoTDhPcm9sSGpWOWRMN2lWVVFVK0J0K0ROZk1YWnNaOXNkQVl2Zkll?=
 =?utf-8?B?S2svYVo3YjJIaWh2WGpIa1BIUXovWFg5NVovQm1WU2pMUkhTQnFRR3I1S0xF?=
 =?utf-8?B?emwyb2s0RTM0dHRmamNSbVZMVnIyYUw0UlFUc3NGTXBaS0hpeEkyRERObDVX?=
 =?utf-8?B?Z2ZKMTN2SXdPSUpEQzllWjVkbHI4N1hwcFAwRHhDdEl0VGIyNXNvNVdjckg0?=
 =?utf-8?B?bzBYaERMT2dWbmVIU1FNc3MxOTQ1RnJIaFhUVjkxNHZ0c2NsRXFaNlhLU0Jj?=
 =?utf-8?B?VVd5dEFYOTNSS2x6NFJ3M1VGc3JHVW5Wbkg0YXJzRVQwRHNMdUZsQk1sODQ3?=
 =?utf-8?B?VlVrZTFaN0J3SmllQVUxQm1RU3NzSjJGZ2gzNU5hVk9rdDJHRGM1RnNtdGhm?=
 =?utf-8?B?bis1dHF2OE9VeStkcTIxUTZZWDRKdFVjMEZHR3k3UWJoY3lpS3NNMFVCRzYv?=
 =?utf-8?B?Y1dwRGlxVU84Qms5SlVicmpVRUlwNG9ua1BqTHQ2QXczMm9vOXNmMTRpMTFl?=
 =?utf-8?B?K3R3R0lWVXZ3YkszdVVCV2cxSlpHTkw4Qi80clVqUkI0V2xSdnBRMW5WV3oy?=
 =?utf-8?B?OXRxa3lXdldQWDJXbEl1dkEybDJqOU1ZUGRYK0NzSExGRHJmWlBITG9jMng3?=
 =?utf-8?B?N0FpWnlndE1EY0sySDRJT2hqYzJUSTFuenlKSXp2dDNENUI2U0RTTWJPR1po?=
 =?utf-8?B?UFlFcDVrM3FhYm0yQ2JYejMvOEFRVXdPeTd1UFJYSUhsWVVEblV3ZTF0SnQ4?=
 =?utf-8?B?dlk3bGJBQTlVZnorTncvb3FWcDNFTWtRVmdIMVF1UlBwcFhtVFZEVTdzeCs3?=
 =?utf-8?B?Smk4N1A1MkhZeEwyVW1lTUl3S0I3YVcySlRoSEZOUXlIMkFBeHVLRWgvdjg4?=
 =?utf-8?B?SGhqNXFYcTAxQkcwbW9uZTlwZU9CZFNOOStqMHNCTzFSL25DS21nV3dGWnJo?=
 =?utf-8?B?SFpWVUNsd2dIYXYrN09uQStjdjk2bC9tbnkzcGVsUC82VElSVlgwcXVVVzlG?=
 =?utf-8?B?UWZDZCtjbkVzaXhTblNlazNObExnMWlRVTdoZHcvSjhjTVg2emE5OVZYWXk2?=
 =?utf-8?B?ZnYwbzZZMlJab21GOENsMTdaMW9UaC9QUG5EbTEzbVRsM1JiOXhRL0ZLc01K?=
 =?utf-8?B?S3hqTTRpVU1vam5nZDJmL1FUb0hGUVluU3dQd2FHUWJKSTQyYlF2VnI1Vm9n?=
 =?utf-8?B?T0J2QlJHVWtKV1ZzYlRYUlNuUGM1SUxSREJ3RkNyWTU4K29aNEd4bWd5K0dH?=
 =?utf-8?B?OWkveXJVQWZGZzNndW5qNUZKRkxhT29Ea0huRWVucXE3KzlVZFNCbXZ3bkVV?=
 =?utf-8?B?cVlzVFhqR0x0Z0hDbkNWK3AvRDRBVzBoT0wvZlJBNW42b2owTlRCNDF0ZURv?=
 =?utf-8?B?MjNrYldXd0JkY3VZM28ySmh6SkMyK1QyZExud21UYTZBdENUbGdHeXVRVHdx?=
 =?utf-8?B?SFJlRFMrVzJvaFFybUJoOEZqR1FxYkJDeVRHUXhid1RXdHNDK3lVd1pSMk4v?=
 =?utf-8?B?dHhFdTJtbmNQLzRQREZtK2RtbFJyUlhldG5RdU1GcUNYVXRvYnRJaXRnc0c4?=
 =?utf-8?B?S2JPa056WW1adUtaZ0xFNjU3UTVoTS83b3hWSUR0MjcyYkhYR0syK2FHeFVy?=
 =?utf-8?B?cGlUcDdpL2QxVXF3bDhsb01Nb1pUdzVGeUVEckJhQTk4NEJFMTkyWUw0TFdp?=
 =?utf-8?B?b2VyR2xLakxFSTFhT2xDR0tFTVhFeURzNk9ML0xzQjRkaGxuWVRFckpiQVJE?=
 =?utf-8?B?Wmc9PQ==?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 716bcd1b-c7b8-4eae-7b91-08de0fe96b82
X-MS-Exchange-CrossTenant-AuthSource: DM4PR03MB7015.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Oct 2025 15:00:34.3868
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: qwslCmPRG5jvDC16RllhgAOMTqY5xxSijrRNfOY956j/23QXu2752cYjIjyhHd1q2rEn2Exx1MQ9GZFlEHhudn7s/nqjNbCOm7ksKjqCAyw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR03MB8352

On 20/10/2025 2:40 pm, Jan Beulich wrote:
> Even the 2018 edition of The Open Group Base Specifications Issue 7 [1]
> doesn't name -E as a standard option; only Issue 8 [2] does. As we can
> easily avoid anything "extended" about the expression used, drop the -E,
> escape the parentheses, and replace the sole + by *.
>
> [1] https://pubs.opengroup.org/onlinepubs/9699919799/
> [2] https://pubs.opengroup.org/onlinepubs/9799919799/
>
> Fixes: b3d31533a047 ("tools/tests: introduce unit tests for domain ID allocator")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>


From xen-devel-bounces@lists.xenproject.org Mon Oct 20 15:02:10 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 15:02:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146446.1478868 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vArOj-0002vB-Nq; Mon, 20 Oct 2025 15:02:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146446.1478868; Mon, 20 Oct 2025 15:02:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vArOj-0002v4-L2; Mon, 20 Oct 2025 15:02:09 +0000
Received: by outflank-mailman (input) for mailman id 1146446;
 Mon, 20 Oct 2025 15:02:08 +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
 <SRS0=BTWa=45=citrix.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1vArOi-0002uw-92
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 15:02:08 +0000
Received: from BL0PR03CU003.outbound.protection.outlook.com
 (mail-eastusazlp170120007.outbound.protection.outlook.com
 [2a01:111:f403:c101::7])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id be9afa03-adc5-11f0-9d15-b5c5bf9af7f9;
 Mon, 20 Oct 2025 17:02:07 +0200 (CEST)
Received: from DM4PR03MB7015.namprd03.prod.outlook.com (2603:10b6:8:42::8) by
 SA6PR03MB7567.namprd03.prod.outlook.com (2603:10b6:806:43e::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.16; Mon, 20 Oct
 2025 15:02:04 +0000
Received: from DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9]) by DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9%3]) with mapi id 15.20.9228.015; Mon, 20 Oct 2025
 15:02:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: be9afa03-adc5-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=UA/3XrocGMbEctI9dx5XdGZnZn37QfRCEALaUdcCMsguJWV2BizxtodpaiZ1nT6jtS8MU8jmoiqfdEf/qvWlQcIXhNau3VC5NKLjWkjZavjOE2OLfNpHnBkSNQack6TXq/xF62F7+xejTuQ0Pagn9RquF/9zcOesaFcGm84fIjbL1xmvRL0TbnAFrtZpUrp7n6NabcHXaf6Pk8YbKy7eKUinX33Kg7CIWbqWnehgg3C6Q0C13wshjgqMIb4kPMu/ZCadc4gL95dybNtXXXXo3nrQVl13RAq0kH11px0X01Wn2j8ewD8e57xn3ipu6xzBYSfLzTtfpY4X0IB4Lhz6cQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KiIPfcOa+ixrFeeRbsU4tuw2ho30qNBiWMI7pE+gWQM=;
 b=Vm3LlHbaf7zbDpx3FcRzQHE33c5lkpFnHHtj2AycWEjAY/JUTJ/PvF/V7WjUsxMrRRiq24TQQ8xqXQeUqxWANZ8a8hc9MWqa+FsWswmShqugezrB9/ldG0CTLC3zG0igZWFp56r1M41BIRJmZKW7fVuMYP9qpzgOwovwDXgAHfbCT7Ov2zrY2RVc7QGFxrToK7wchDAFFdsWO2MjJeP1vuAFK48WShLKv3OBLG4bQltGq/4q3Dxo4aeO3WFbbZWrc9HJ1w1/DGVE2VPzcKNPKKsjznzlhxOrC4FdWKn6X6WTlRzIExtjUqBU4JZpW7dhRd5iMpZyeqpYF3SzNBC1PA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KiIPfcOa+ixrFeeRbsU4tuw2ho30qNBiWMI7pE+gWQM=;
 b=UmF+VMcSzMyX6YhGjuPzDP/PPVQNysGLxpj6pwNTQU3trQkqCYf4JkvLPl+bYAFwxUQYqeJ4Y+FOBYigviCCgXxKOtJSZGMraQG2pslnNeDAGqIAf9i2mfPfbvGokhl7bIfNdOkAGeYHj/+JDh6EHH7FditClhy53hJR1ekooYg=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <e0f978df-e838-4f62-838b-1789208c24ac@citrix.com>
Date: Mon, 20 Oct 2025 16:02:00 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21?] AMD/IOMMU: unshare IRQ .ack and .disable
 handlers
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Jason Andryuk <jason.andryuk@amd.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <3cfa136c-3689-4d47-8a69-ce7af12ed9d0@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <3cfa136c-3689-4d47-8a69-ce7af12ed9d0@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO2P265CA0054.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:60::18) To DM4PR03MB7015.namprd03.prod.outlook.com
 (2603:10b6:8:42::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM4PR03MB7015:EE_|SA6PR03MB7567:EE_
X-MS-Office365-Filtering-Correlation-Id: 7c5fcd90-3faa-452f-9eee-08de0fe9a12f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?enRZU0dZMXZhdzliYnJZV1Zmekx5MS9vNTFLZTdSNFlQdFZBM1A0OG00UUR6?=
 =?utf-8?B?cjl6aEtXRmVYVkZpVEd5b3pZMjVuLzRlSHhTRUMwcUlFU1V0aHJEVWFzYkRx?=
 =?utf-8?B?ZHNURjBvb2pwV0w1dVBIRUNSWFE5SUw3eFpreUVvcUxqdXhzUVRsTXMvZ2N1?=
 =?utf-8?B?Q09NRHF5bzhDMFVOdkQrd3c3MzlJQkZWNmJDNjNpQVY3MkhNNGttN2RvZ0JN?=
 =?utf-8?B?QS9yR2JGMmtxb3U2VzFIUCtWSTg4cC9iQkV1Tk8zUnlaRFNmR0w2ZFpIZDY2?=
 =?utf-8?B?TmtHVDVFbHVpbk5mMnNUUE12ME9qR1hUTWpHQWZCOXZjaHNTNERFS0JnMzZC?=
 =?utf-8?B?MjlENjlrdVVuSzdKUXpmbmtibXo3cTNNS1NUZG1YN210NkdvNHkrZnNBcjZB?=
 =?utf-8?B?RXNQMnpLK085M0o0d3dueFl0WlFiYUs2L2h6VHYyRXdQTjFhYzNEVFFucVR1?=
 =?utf-8?B?SXhBbW1DenE3MUIzZmMxWXlIaXdXaW95MmcyRGxadjdRTGNPZ1RqTHE3akNO?=
 =?utf-8?B?RWhtbU1lNTlQYnV0UE9GWDhVWnRYM090MDFtRGlyOERXNmdmaDVLVHN5V25v?=
 =?utf-8?B?dERRSVgySXZUVXc3T0ZEM0JFam56QVpFbDNCY0VycFJ5Snh2SXdJNGNsR0Ux?=
 =?utf-8?B?RTl2d0FiMHJQTDNWSDhUTDJodHlUV0tkQUtGNjE2cDZlLytKcXJIMG5ZTmtN?=
 =?utf-8?B?ZHkxcnRFbTNFbXhra1p6Y082bUdKRG5uMFdSZUlKUHRLMkgzMlhEbkRrVUg2?=
 =?utf-8?B?Q0JBeVdxeTMrUU16Mjl1R1A3QTF5dC94TDYwNjhza0VLL1hkZ09oOGE5Wjd5?=
 =?utf-8?B?V0tBUzBKc3BXcjZCWWd0dTdTeVlzUFJuUXpabGg3UXJlYS9BNkVsS3ZjZXVY?=
 =?utf-8?B?VUdZcmpzU2pnem9DVU1ZVTRjWW9tcnRFUWZQckJ4ZDRwYjRHdlM0QjBQTkZB?=
 =?utf-8?B?Y3RnNmt4UHZzcWFtRUJsWHNIWEhOMWhiSVZUc29RaldXRzI5allZRjhWOEZQ?=
 =?utf-8?B?bEJVZUVNdHJFbWlQYkloVDdLYndiL3g4SnVZbnE4dkxtZFNldEMydE15aFcy?=
 =?utf-8?B?dzVDSDhsTU1wZVhXL0Z0OXkvZnRuSUwxTUZqQjFwb0ttYU16ZFdNcXp6cXpM?=
 =?utf-8?B?REhRZVpFNUt5UjJkd1dqN0luaXhzMm9kSFRiSDVwbk5zaURvSXl5dG5SakRE?=
 =?utf-8?B?MU9UelMrTVZnb0hoSzlyU3JBMitSemIzY0gvQlpCYnBmSzFIeCtnTk9od0Rs?=
 =?utf-8?B?bzdkbEdENW5KVWNzQjFXZTQxK0pMeEZzMEVTMnEzclVlaTVEQ0FuWCtST0Rz?=
 =?utf-8?B?d2dVMUFraWNSUDRaKzJYOG41N0Yzdk1QTkN5M3RkcVYvNFhUVkhyWVprK05a?=
 =?utf-8?B?Qk4yZktuRThXc1k1NWhWY1UwbjV5bEFNTGRIVXJQZnFjU1UzY25wSmZieHda?=
 =?utf-8?B?VjNpS1A4WTNBa3d5ME4rT0N1d0w5YWNXTU1hTi9CeWVCa3RQbTZNdURiZVdW?=
 =?utf-8?B?YTBFZFdtVXhTZnBNS25vZWpPMG1IVmtHWHdkV3ZCMWc5cDlBSVRIVENxVlYw?=
 =?utf-8?B?Yk5FY3V3Z2Joc1VYUlNyMlF3djJlaU5tZjAraVBUMmlJMW1WWDJVSXNaK0dI?=
 =?utf-8?B?VEtKUmRnV1dTcDRGTm1IL3pSZk53YmJEazJacy90SVJQODFaRjFrVGVaRUJL?=
 =?utf-8?B?OWFqN2orQzR1Sy85T3R4V01DL0ZFZTYraW0xbkVxRndLVy9HSHJJZ2c1ZkY3?=
 =?utf-8?B?MjM5UklvdFZNOEovc1M5N0hyU3hSMllQQnNTZnNxWlZnSDY0dWJBemxjV3VT?=
 =?utf-8?B?cWZzK3RPQUN0Z2tRQ0YwcTZaaUdOL3JOUEo0U1lmK2g5OVU3OWRQelYwVkI4?=
 =?utf-8?B?YnFJSW5UQ25DOWg1K251WVljRHZJRm9oTkk0bm5kc3U4cTJualp5UkJDM1NB?=
 =?utf-8?Q?r4csyIOtyJxKx8lrkqbY/Eq1rQh4NanZ?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR03MB7015.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?c2hRQlMrR2hXNXUzSFR5b1ptWVdQUjgwQW9kRHR5TWdZRU9ReEswVTN5eE5K?=
 =?utf-8?B?NmFZODAxOXhlTjZqUk0rSURURXZDSFkwRjVnZWROcDUwTnFnMmhHbk4zcDVZ?=
 =?utf-8?B?bUc2ZDh1ZzBUZnM1akJDMDR0alhOamk2Q280K3BUMHBwajRXQ0dWSHFIOFVO?=
 =?utf-8?B?MXptVFNzMGZGdGkxbEhWYVlzb1ZDb0RlQWxGbWNHNkpGMUJFeDdFUTNUdWM0?=
 =?utf-8?B?ZnY5aVpBRkJPNjY2cHBBNVc3dlpZT3BzaTZlQTU5VXRRMTdZbVZFRS9ERitB?=
 =?utf-8?B?T1NOTmwvd1k5NmN0SlNQUWszaW1LVEcwa1o2M2xpWnZMb1RucDJFRE9aT1I5?=
 =?utf-8?B?aDdpLzViUHlmclhiUzRhZ3RyNHVRaFJxWTRnT3k0aktldVJtbjNzaEc4d0V4?=
 =?utf-8?B?aXN6S2dFTVZFUWFFUWlrUDBLZXpBTUUvRGh5UjZkWk56eDhqR2FZRVNwV3NY?=
 =?utf-8?B?VGdoUHZTbzBlbU9vV05xaytWRUdTSkowWldUblhyNEtud0dZeUJBSG95V0ZH?=
 =?utf-8?B?MXc4MjV6eVgxUGN3YTNjRVdrWlFUaWFBWVd5cUoyU1hoWXVyMWxpQldXTnRN?=
 =?utf-8?B?OFB4YjJoeVhzamc0SndhUXBKRWdTK1c0ZFMweUFUU052R2R3K1ExT0w0Q1hU?=
 =?utf-8?B?QkYyTkFISUJHY1ZpTW9OMGUxT25jSzhQb3NnVk5seFpSc3V6YmtFYzdpNDV2?=
 =?utf-8?B?R1d2VXJMd1ZlQThOVVFPMlpZM2xuUENER3hZSCtjVUtvM3h1TlQ5TExpb21Y?=
 =?utf-8?B?YlM0UDV2Y0xoeVFEeXRFczUzclUwS1JKU0VNQ0Z4c2NIMlJFay94VVlYaENC?=
 =?utf-8?B?Tk45eWEycFZmRDltWE1PaFlHb3UyLzNkajN1V0NOcW8rYVpMZVlEZmNsR0xu?=
 =?utf-8?B?ZEt3K0xPUno0UE9rQ2V0UnVmVDhibzB4dUVseW1vRW5ReW4rS3N0UW0ybGhq?=
 =?utf-8?B?dVQ4YjR6TXltSWVIY2FBb0cxaHNyd0N2dDBQU2pLdXViZkNseWJ4RURueUFz?=
 =?utf-8?B?WWNvWUswUGxLRXI5anZESFl1V1VFbXRiclBTM1JlTWxEZnZITWFKRnprSlE4?=
 =?utf-8?B?Sk5UclpyM0tGTklnSFE3SG0yV253aVg1c3BQWE1LdjZsQk9icWE4WEhaV0pP?=
 =?utf-8?B?MDFoUWpxTzJVZytqZElxdmRBellINmxVZHhYa1ZTQUdRZTloODhTSU1iNGtJ?=
 =?utf-8?B?NHNKR1luSUlxd3UrNlBVQjlPbDRIWGZIVXBBaFNMeHd6VlFaQzZyaDhaaEw2?=
 =?utf-8?B?SmZ5dDk3S1hYUVZXWVNBMG5xNWRtUkpNS0xkcnFnU0RHcjU5eXB0c1I3alRS?=
 =?utf-8?B?czJ5VDZuQWtlT3ZWMUNxdWVWbzNmbnhSNVJwUHIydVdLVEtTSEplazY4RWd1?=
 =?utf-8?B?dkZoYm9GekIxRG10L1F6NkpwaW9nZ25saXV2Z1ljcUNDcnlvUmhpUDVVME04?=
 =?utf-8?B?a2pjK1F6SWhHRDloMjliRmVVS0pta3lHenEwUFRTNjlRVDUxVHdCeUIzRGJV?=
 =?utf-8?B?NWVaclNEc2doWVo5bVdYL1hpYzlxTkdtUW5tOS9EeVFCMTN0aEJzOHNZanZM?=
 =?utf-8?B?bkRQRjBLREdVQ1lxSjdQV0diMysvd0dUc0dmVkhGVmpPWGZNOEorWlU4Q0Nx?=
 =?utf-8?B?R0dtdmxUTHJOYlJRa2t5R0NNVGdveTFEVnRrK01GYVJOdHlqMENEUkt2OG16?=
 =?utf-8?B?MEFXQWZxemFUbVo2QmZ3Um1PamFsNlZRbm53b1RLSjhzVXpHY0ZiM093NFli?=
 =?utf-8?B?Q3Njb091TWllWmNhcTZaaHFuMldDdWNIWWM2RTA5UlArZTFIZWw4eU1MWFU3?=
 =?utf-8?B?S1JhaTZ1YzRvbVdRWWZISE9NaWxlL3BKbGVVSFRaV2ZhK1g2Z095N09pSHJz?=
 =?utf-8?B?UHhjL05XYVYrd2laZHZ0OUdvc3I1OGc5Y1lnRjZVR3JjQU44MS9ENnpiN0to?=
 =?utf-8?B?Tm04NTIwcDMzV2JYVmxaZmZLNWw4TitWZlljVUpvVUkvWnlIK2xxTDAxQlRY?=
 =?utf-8?B?amMzN3JIN2lCNEFqNlpoTjE5cXJEZkpBVzBaMUJVZllCbGxYV2xxZEtqTnRG?=
 =?utf-8?B?ck40aGF0d0RCcnNuZGczb2dOYWxrKzdOOTcvOHdMUUcxRzMyNmRVN1pSN29k?=
 =?utf-8?B?cDBPcGJ5aThxZnhCdE5neXBBN2hSZjFhSWhVOXNQYnhtWkNlU3FkNjdFKzdS?=
 =?utf-8?B?QWc9PQ==?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7c5fcd90-3faa-452f-9eee-08de0fe9a12f
X-MS-Exchange-CrossTenant-AuthSource: DM4PR03MB7015.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Oct 2025 15:02:04.3901
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: g9ibRmjX6cx6leitflWwm/l+sLtvq/GXic7XQHnPSoPuj2PbNlVKr+tt3eeokEzWoHEq1YYH2Ptfo5/hJmKdA5+12tmrGftUbM4v2pe4ZGU=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA6PR03MB7567

On 20/10/2025 3:16 pm, Jan Beulich wrote:
> A .disable handler can't typically be re-used for .ack: The latter needs
> to deal with IRQ migration, while the former shouldn't. Furthermore
> invoking just irq_complete_move() isn't enough; one of
> move_{native,masked}_irq() also need invoking.
>
> Fixes: 487a1cffd71a ("x86: Implement per-cpu vector for xen hypervisor")
> Fixes: f821102450a1 ("x86: IRQ Migration logic enhancement")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>


From xen-devel-bounces@lists.xenproject.org Mon Oct 20 15:03:02 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 15:03:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146457.1478878 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vArPZ-0003PQ-WF; Mon, 20 Oct 2025 15:03:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146457.1478878; Mon, 20 Oct 2025 15:03:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vArPZ-0003PJ-TY; Mon, 20 Oct 2025 15:03:01 +0000
Received: by outflank-mailman (input) for mailman id 1146457;
 Mon, 20 Oct 2025 15:03:00 +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
 <SRS0=BTWa=45=citrix.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1vArPY-0002uw-JB
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 15:03:00 +0000
Received: from BL0PR03CU003.outbound.protection.outlook.com
 (mail-eastusazlp170120007.outbound.protection.outlook.com
 [2a01:111:f403:c101::7])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ddfb8c08-adc5-11f0-9d15-b5c5bf9af7f9;
 Mon, 20 Oct 2025 17:03:00 +0200 (CEST)
Received: from DM4PR03MB7015.namprd03.prod.outlook.com (2603:10b6:8:42::8) by
 SA0PR03MB5449.namprd03.prod.outlook.com (2603:10b6:806:bd::12) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9228.17; Mon, 20 Oct 2025 15:02:57 +0000
Received: from DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9]) by DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9%3]) with mapi id 15.20.9228.015; Mon, 20 Oct 2025
 15:02:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ddfb8c08-adc5-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=UR/LmzUqD9oc3FoGiLVT3+pmEEjF5iZCLbqlXPh4vHgOjORxQMAMjG98HHhrBt8SQ/BZyAJihcmYobxU04XFcYaRumMKG/dTQh6tvHY2zOkdDcGP4TQIztZtgeholu4M76Wic/Lex983nheMlSkoqv5UexjfBFwVHKvhX5VaGwj6OxBMyJ5OuQeoyBeCccryAtkYhFZjuUGuLRKkuOmHhrAL0RCy9s1TW1dfuJcZVvp1zGMpDiX017HqVgvZIdx+HeOybWJx3O8fShYWtxYN15yi/zCQlokYxbXvp/cOSTNrNJTUyT1ZuL57iYW6zAAZz9MVzZFKdR0CxU17v1DgJw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CUbRl/+Ktua4Xwc7LTUR4FaE+k9ELZBC085dTtOk1l4=;
 b=gH70cTYaeJq4kfl4s8uAGmrUY3nhLEl4msGJCJQA8rXOYwPonIfjHSiYR/GSCzyH5lmVviZTOwy2EhwSn2p3zY5B9jkmy3Xwk+kQWrFJMx8WSJHVmK8fLPGdNZmUXMG5lFl9CpaFQmGsaR/KVNGOIJ6AJWSkTgPRTbtL4+808oS/tB6cbZ6VpWSn5ZAL0ohj/YGQdmHRPufVb7B0ndz/Y798VRjj5DEV7fTG7d2I86Lw4s6R+gCqA24nLcOfWiavZkiQ4rAIHfjn+/7y49J7Qp0jpgfmsUT6psB4gi0ESSFI/ZbaUsTSfVRFc0UBEPK63kLbAvUMqMCmo8Z3OmONWQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CUbRl/+Ktua4Xwc7LTUR4FaE+k9ELZBC085dTtOk1l4=;
 b=tRSEtQDm53O4P1gJ8X6Vjf1TGWU66vK8IbDs7uS6XenTwBZnQJ2bjsfp8svWAnVj6v2Z7P/8+0nwwf2ErBlPCDsyVCfMdVIhg5au4eftu3bJoPZCiuUJfCaeMgZFKwilcOm/fYUjkibPjCETlbCSPMlaZQ7qqytvOBRgIeHcZ60=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <d6571dd6-5471-4c3c-a538-9c37b4ae322b@citrix.com>
Date: Mon, 20 Oct 2025 16:02:52 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/5] x86/ucode: Fix missing printk() newline in
 ucode_probe_amd()
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20251020131955.2928261-1-andrew.cooper3@citrix.com>
 <20251020131955.2928261-2-andrew.cooper3@citrix.com>
 <7c387055-0bb4-486a-997a-25fe0a5f68e1@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <7c387055-0bb4-486a-997a-25fe0a5f68e1@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LNXP265CA0030.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:5c::18) To DM4PR03MB7015.namprd03.prod.outlook.com
 (2603:10b6:8:42::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM4PR03MB7015:EE_|SA0PR03MB5449:EE_
X-MS-Office365-Filtering-Correlation-Id: ca4265c7-995e-4cfe-be71-08de0fe9c08e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?T05aZVZ1K2RISGdlNTE4OCtaQjlkejM5SVVaWDk0QS9zWVlJU1lEeHVTRGVJ?=
 =?utf-8?B?elN2OUszTENrTWlPNHh1QzFFSE9zSTBGUEdTcHZtMHF3VnpNVkE3eVliTHdU?=
 =?utf-8?B?M0oxam0rQ3BaWGI5dzJOQWNibGdsL2F2ZEdUS2xFTGdNWG5LOUt2Ym0yUVlY?=
 =?utf-8?B?QnhQTk5mM2pVMEQ4R0N6YlhiNW02MmFnTWswWG9YNlJMbjBEME05VEVaWVpS?=
 =?utf-8?B?elg1cHhNdlN0cEhqYUhVTUtoZitodGNlZi9BQ1NTQjJzSE1sVjl4d2pKSVBx?=
 =?utf-8?B?dk1icmZIN3pUbm0xbFJHbTRIb2t2cUlXSEppOVBES2MwamVOL1ozV0djNmxP?=
 =?utf-8?B?Qzl0UkQvMkVYU0wvVWJGcUM3RXFVVTltZUkxcjhJaHV4OFhCdzBmMWo0U2dI?=
 =?utf-8?B?anRhc21TZ2p2bmxyMWJPcG1sUmowc0pqYTEzWFpYWi9VL1hjZ0F2NDFPRWJx?=
 =?utf-8?B?TTVuV2FZZ3BrZkd0SFllOXRZWXgrb0JBNHNPTEFVZkQvT0FNQUVkek1iSllF?=
 =?utf-8?B?TWFCeFpNK09vbUliQS9QWVBxS01tcVBKZlZxQkg2NzNJek5TeHd5QkYrY3pD?=
 =?utf-8?B?QmFsTGZZY1hpNXUySEFKclBUeiswZjRERWRDZ1JHYWFJVFU3a2RqWFBPUFlx?=
 =?utf-8?B?YXBMdXduUVdkZWJoU2x1Yk5KQTlSdGQwbkkyL1JXSDBPQXphUW9iYTBqOHlh?=
 =?utf-8?B?T2NlVnV2RW5qdnY0SGF4Mm1waDdUSS9GbDk5TFc2NU9tVW9uL08zaWhSTjE2?=
 =?utf-8?B?NDRQQm85UWdGT0oxZUg3NDVBSmhidkdCNjZBOTFBTU0vUHc0UklVQitLM1cv?=
 =?utf-8?B?eXh3VGtPZy9MMjRhdVV6ZWR0WnV4OHIwWGNoalIzSjFhV3RQeWYzMTAxcWFK?=
 =?utf-8?B?aGNFenVBb00vMER1Qml5UmwrQVF1MHp4VEhlTUFNeE5WUmtiSWh3aVZrdHBT?=
 =?utf-8?B?b3VFMmNMNU1EWXlpMGptcTJ6ZVFKNTRINXRZaU5hbG1wOHZqZjRhWW00MVdz?=
 =?utf-8?B?S3dWSEV5VzRDcFVKQkthZUVLTHdrV3NEUytySlRJL3BlZ3FXUkxtOWhsbFZX?=
 =?utf-8?B?d2hmejlMYld4RGYvT3dtamdyLysxZUQ4T1BiRmJINU9KM1NGenhUeFB5NFBr?=
 =?utf-8?B?UW12ekhpQnQveTZVcmJVN3VwSTJiYUpjeEtNK2pPQ3UybkxoQ0dhbmtXQlc3?=
 =?utf-8?B?VUp5YkluNklnejlZMUs5T2FlY3pTR29IeFVsK3hYRnJIcEgyMlhOaU9UQUhX?=
 =?utf-8?B?dXAxejBwdDYrYjF2WGF6UnV5azB2SFdzOElVVjZuemhkb001VG1aSWI3VEpt?=
 =?utf-8?B?QnJzNFlWaHpvcVM1d0FrZHZWQnBVTmJGTmRyc3ArMnZUY25UVVowN0VzN2xC?=
 =?utf-8?B?amRTMk1WaVBWT3RTTHhncFBaUlVCQWtSWmp3QlZZS2FmbENXZTdHU3gySXlq?=
 =?utf-8?B?UUFqckZjc2V2OTBwbi9tUmNwV3BGdTZqSDFhR0RKbHYwVTFXYms3L0RUbWJ5?=
 =?utf-8?B?YlA5OC9wS2tiSUpUWjBwL1pnSlRpb2xQVGZySHprczVmZmszdXVJR0dBVmtJ?=
 =?utf-8?B?RXdja2syQVFvb1Y2eTJNNFFVd1Z4VjQ5U2V1Rit1cVBVMUdienYzVU1tM2Vp?=
 =?utf-8?B?SHBHZ1E5WkMrTEVZWkVrcDNuVEQ5SHlsZVhEeGJmUExqZXlYZmpyMkZScWZx?=
 =?utf-8?B?U2duZllNdGhEOE1PV1MwUEI2bjMvUStzMVdrQjc4ZHYyM1hBQ0s2eEZaOS90?=
 =?utf-8?B?QXFaZWVpbkNqaitJcnZudmx1YUhFOVh6ZUltcW1yc25nK3h0YmtlV1VUU1Zq?=
 =?utf-8?B?OWFONjZPTGlXditLaXRTOEJPTy9rdXdveit6bjVHMTc1SGxoeEVobWNlSjJm?=
 =?utf-8?B?ZVd0QjBRQzEwdW03anhGbXEyR2x1aGpJUXZDTDdwcDcvOGQ3SGdzRUduTjVp?=
 =?utf-8?Q?mPTyrublByTKy3qk4mpGGuycCTYXv/ua?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR03MB7015.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UU84eFNKbkJmeWgzcGtndXFXY1kwYWt5TFU0b2UwRDlUclV3Y0RRa0EwMW15?=
 =?utf-8?B?TVVSQ3JYNkNmVENqQWI0WHc4YU42L2J6ZXdPcVJ2V0RKUE1sTXR5YnBUMU9o?=
 =?utf-8?B?eWNETC9vOXJGMFN4UnJaVDZuZ0ZkbFJkSnErMHBiKzNiUmRDVWN3QlJHbVFl?=
 =?utf-8?B?QjVvcnNOM0hBU3k5OG8vQmRCd1Bndm51c2xmNUdvQjlHSHJoVHBSYmpjczBt?=
 =?utf-8?B?SDJ1WDNGbStmLy9VQlFPcDVCYUVMOEFFc0h4YTBZUnk4UFgxbFh3T3A3UUpy?=
 =?utf-8?B?QzFkVXJwOXBhSE83QlhENlp4TmpNdjZVa0FZQkdQSUN3b2wxbER3WXllZ2tP?=
 =?utf-8?B?aGlMcVplMS9yUzBqdDBoL0RNbWhVWnRuZWtDcUtEbWphMTRkK0Z4Q00xejY2?=
 =?utf-8?B?STBHcytsQytOeWRzRlNDRDZMV2VPUXAzbTBGNjh4TXA5SkRId3JJMHp1ZnRM?=
 =?utf-8?B?VkdPUzBmUkFUN2xKeXl5NUFSSFJ3Z3JyaTlLcEV4bkFoY2NaWUJPMWhYQTMw?=
 =?utf-8?B?ZVZKSFZOS2dPMmxmNW5UUmJwVXdCQ20wNGFVZEI4Sk5taERTc3VFZnhNdmJR?=
 =?utf-8?B?VUhQYVo4cHgvTkFSVnVCcDdIWWtYaGNKS3FxTWVoWlhRYmRJWGtrd3RwZFF3?=
 =?utf-8?B?TUdGZVNaTURuY0xDeU1iakRaVHJMZVo3UEF2eXhETnpHbEtMVUkveHVPQmU5?=
 =?utf-8?B?NXMzT2Zmck9nQUgrRFdsQ2E4U1NuL0ZjWFNKc3BwR0NTb0tPVjRtVnRuckpz?=
 =?utf-8?B?QXpGTFVMTTVYOXdLZkE5TFJNYUI3dGdyZFhwSlBma29sVnJKdUR2ak01VkxT?=
 =?utf-8?B?c0NKSW0vTmt5cDJydndwZVU1Wkp5MGp6Y09hK2J1KzlXQytSb0drWEorbUZY?=
 =?utf-8?B?TGg2dUFlRFl5eDB0dnJycW82T1k0Y1ZodXBvV2JnQTRUczJwcnROblVvSlJF?=
 =?utf-8?B?NERDZzAwQWY4M1Y3ZGJRd3VmMmJZVS9xdE5KSjFHMzNDNUh0SnZQbHFucUVM?=
 =?utf-8?B?V0RobEM1QWxlS0wzVytnMGhXcnlNazUxV2tWU3hqMmRXcytCanV1dGlWdUVV?=
 =?utf-8?B?UU94WnhqUWxqNTBxOUtEMmo4VU9hYmhUa3JQeUFTQkNta3A3a0luQXhpVE03?=
 =?utf-8?B?MkRnbGsrVkh1eHJCMGxEU2R4QmVhL2QwcHpjdzVrRXJqRVplU0RldWdWazlX?=
 =?utf-8?B?amwxYmt5VFVDODRrN1RqZGRmN09mVzhlcitaaGZyd091Z3J4bDhaM0RQTU92?=
 =?utf-8?B?Zm1MUEExV1gyaWcwVTN2VmxzOHhIWmE3VWp0Nnp4bmFITXBsUzRpeCtxV213?=
 =?utf-8?B?U0ZjWHQ2ZW1vcUprTnU2UEdrUlhpYU9CeWV2MGc3M05GRlMrcmdhZ3kyWHYv?=
 =?utf-8?B?Y3hWMURYRSt6STdIY01BT093dWJtQU1meDBOYTBNTkgvSGpmbHR6L1Vac1Fw?=
 =?utf-8?B?L1JmUURSb1FKZGNaTWdjRDU4bkIyL2R1MWU4YTh6UVVXb3pjK0YwN3R3Ym9y?=
 =?utf-8?B?VlNxUVhLTnN2NnFCeUpzeVRRSmhBZHE3RmZCK253KzBoekpaVlRBd29PcXRQ?=
 =?utf-8?B?NXJxdzhjOW1KV2szNzVZNU5BMnhVQnhqL0d5STA3dHBucTZla04xY3VQSVNz?=
 =?utf-8?B?Q2MvUW1nUmo2QUc2MGRYSEMyZGw4Q2ZiNEZEQitZNXo0SHUzNkJvRFhYb29a?=
 =?utf-8?B?WXc2RkpDUDVtZFovVy9RMFAwSzFRTFBud1FhdWtlaml0WTJwYW1UQlpKOGQ4?=
 =?utf-8?B?L1krMUNTem5kdThZOVYvRkViNUZ3R0lZZ2Q0WitEVmNjZFh3YVd0SlU3K0hL?=
 =?utf-8?B?MlZTOFpRRXU0S28vK1daSVZsUDlJWURobHpDVFdrWjFBWWZlbWRTNStUc3Ev?=
 =?utf-8?B?YW9DTGh0ODNpM3hBQjh5a1ptdFlDOGx1UC8rSERINkVMU3o4SmtsSUNMY2p4?=
 =?utf-8?B?cGhEbllvWS9GQkVHR0w4b0tUVTl5Z3YyOTdIRzRMVnZJU0pEY3NLR01PTUQr?=
 =?utf-8?B?R0dSYTNxVDAyc1p5ZGdaVHYwR2cvTFlobktCT0crTnU5Y3Vpek0xWnhHcHVu?=
 =?utf-8?B?dnlUZjRiN3ppYzIzbHlGUDNwNE9NRGRPN2JzVHhubUFUWHkzRUwrenBtRWlI?=
 =?utf-8?B?VWpKb0NlZU8vU29ERzRGVFJDMm5vYkpIczY3c3FxUi8rZk5CVnF1SzVtNUI4?=
 =?utf-8?B?b0E9PQ==?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ca4265c7-995e-4cfe-be71-08de0fe9c08e
X-MS-Exchange-CrossTenant-AuthSource: DM4PR03MB7015.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Oct 2025 15:02:56.9441
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: o2GI1GOxgSiFbKoYUOnhJKDngYHQVWcTPYY/4aYTtxnAM0XwpI24NrtsXpgVpomt9vr9gMeH72OIFRlkS897P189Lhzcgt2GPtwHZOoPW8c=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR03MB5449

On 20/10/2025 2:37 pm, Jan Beulich wrote:
> On 20.10.2025 15:19, Andrew Cooper wrote:
>> Fixes: 630e8875ab36 ("x86/ucode: Perform extra SHA2 checks on AMD Fam17h/19h microcode")
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Looks like you got an ack and r-ack for this already, but you have lost them?

Bah, forgot to include them here.Â  I did note this in the cover letter.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Oct 20 15:06:41 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 15:06:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146471.1478887 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vArT3-0004Ek-Gv; Mon, 20 Oct 2025 15:06:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146471.1478887; Mon, 20 Oct 2025 15:06:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vArT3-0004Ed-EG; Mon, 20 Oct 2025 15:06:37 +0000
Received: by outflank-mailman (input) for mailman id 1146471;
 Mon, 20 Oct 2025 15:06: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
 <SRS0=BTWa=45=citrix.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1vArT2-0004EX-6L
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 15:06:36 +0000
Received: from CO1PR03CU002.outbound.protection.outlook.com
 (mail-westus2azlp170100005.outbound.protection.outlook.com
 [2a01:111:f403:c005::5])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5b2cf1f2-adc6-11f0-980a-7dc792cee155;
 Mon, 20 Oct 2025 17:06:31 +0200 (CEST)
Received: from DM4PR03MB7015.namprd03.prod.outlook.com (2603:10b6:8:42::8) by
 SA6PR03MB7567.namprd03.prod.outlook.com (2603:10b6:806:43e::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.16; Mon, 20 Oct
 2025 15:06:25 +0000
Received: from DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9]) by DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9%3]) with mapi id 15.20.9228.015; Mon, 20 Oct 2025
 15:06:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5b2cf1f2-adc6-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=NyA+gKBCv+Pqbjw3lZTolgfKiohLBLtdKv+muvfTTSERxFLpoqu7jSEi1kYGAWHEv5CgP29H/tb6v16nA20VNI44EIxdIlI+4h1gZ43j9lTFcS3woVINUFMatNoaFE+8Q7/Bt53dvHeUMhBspgI7PSU7UkVD3SbMLEaAqi4da6Mco8WEXSOqUlLFKzWojKhkTYGUudCHG1OZ3WlWaFD8mr55powdp9Z1h5C/P7WPoxtAhzwMKYDMEgdvsD7BY1Sh8lC1U4D1vcBwkDi1u7FYwpP7VX8DX+r6QV+raj6gLpYiXf63GycYLe4TAmIU46vBYDRQUYMPFU4/BxfARugyTQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=RYOqrP2rWqbDMKyo9GU2OkPr+tthQ9fgDuo01I0j74o=;
 b=FKIxnNW3xtwYXtdKxdLI3QEM7gCOajmwNF750Tl6PN0Dxq3A0kUDFkbjqG132hMXogMX14cW3Ebg5jam9Y2D917SLULGtEKgGCp5B8F4XVmg0pOWMO7NLSKa+5LkJ3aZgRIT/yl/JIcPIGs4zptSI4hqTP4APwMqmZm+Iv0YDjWv/MwNn3Owr/07e7jatFpN1cpThOLOVsb3J1pyJbMe5JYJjnIyvdob99n66zo2n7pSS1xwcwMwj0JNp5FXgsy6BZOdYGK0KeJrKlRcey6EgkNMctIq7yGCLAsYjsuYYeEik9PkAR6sb3UkNN9cEfM7hccFEIWfmEoJChs5F6uJ6Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=RYOqrP2rWqbDMKyo9GU2OkPr+tthQ9fgDuo01I0j74o=;
 b=st90mh4fIGqnTCcBYcJJvWbJDczznujqRQQON350qNT+QDFVLdH9GIZE+ixQW/sAHMbdiVFEMybhgl70mNtTOBO8izxR+bvLctVeNQPZjSb3eEcRa8OS9a8c+6N6iMsTgqXL9X/F+FSxIRrvg9lGM/09piz8a/v+rX6pb1g6W2E=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <bac7d354-f0f3-457a-9b11-3200506c1f2d@citrix.com>
Date: Mon, 20 Oct 2025 16:06:22 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/5] x86/ucode: Relax digest check when Entrysign is fixed
 in firmware
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Jan Beulich <JBeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <20251020131955.2928261-1-andrew.cooper3@citrix.com>
 <20251020131955.2928261-6-andrew.cooper3@citrix.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <20251020131955.2928261-6-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0248.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:350::8) To DM4PR03MB7015.namprd03.prod.outlook.com
 (2603:10b6:8:42::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM4PR03MB7015:EE_|SA6PR03MB7567:EE_
X-MS-Office365-Filtering-Correlation-Id: 35aefa9b-a712-484e-bc13-08de0fea3d16
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?UFB0OFlrekFJdlNQbk02TCtVOHdHV0lTQkxHRFVGS1diVVNnK1I3eUlOcGtt?=
 =?utf-8?B?L2tMU25xNUI5VEtLYnZUMVVwZ3E4eDZYN3FFdGFGTERnb1B6bko0blFoejBS?=
 =?utf-8?B?WmdQNGFxSjN5WTFyY05VTjIxRmFqdDlwZmNXd2JPRG9ZR2NQQUxhL0dvaVA1?=
 =?utf-8?B?U0hYbHljUU4vTUdsbC9FNkZoUUVTS1prYi93cVpaSmlOWW8rWmorNER3YThT?=
 =?utf-8?B?TitoOGlCQmpTU0pvK0ROdTNFZnB5MlNTZFN4b25LRFo1MWV4VjJLRjlhVm1l?=
 =?utf-8?B?aDJjUHNhQU1tTVVWaDdtTk5iTWxLbFdyV3NyS3FMdit6OFhQd3V2bXJ5NFVi?=
 =?utf-8?B?ZTlZUnlKQU5oTTlHemQ0Y05YanFNY0d4ZVRnZnVwRVRzZGVpU1BOMXBCd0pw?=
 =?utf-8?B?TTBIRmpPN0JZREJoVzR6dU5DS0lJSy84c3JJQ3JzNnRqQ2xnQy9hN1lkVFND?=
 =?utf-8?B?bHBEQkpQNVJubTdRSU5xanJCSi9ZT3RKUFR6ODF6Z01oVWpZd1h4SHZ1bHdP?=
 =?utf-8?B?VVZEMWNqNXBnUENEWHVNdjQrSENCcEhHWVVZK0VBaDl1LzRtbEFwcUJ6NTJO?=
 =?utf-8?B?QXhKSCsrVy9yaG9hc0phUWQ0NkxYRDkzYS9CSGZEeDVIUHBQMUFMdFBuLzlv?=
 =?utf-8?B?RWxsTHlNK3JaRE54SG1aVnhFL1NuWjFrOGFlRktHKzl3ZkVjMGQ1SUw3SnRv?=
 =?utf-8?B?MlhQYXQvK0tlS3lnRlFrSG00QUkxOXgrTmU2ZS9VWHVYUEpDUnRkdVJGMHl4?=
 =?utf-8?B?QUVSclROTEg3YTdhOVBCYm1LMGRXSWZvYmczTk4zenFLOWxhaExBZlNjT3pW?=
 =?utf-8?B?ZHlDTG9lcGRRVUQxMjFmSmVRd1JhaFkyRmNkczlRUHk0b0lVUmlwRjFqMWps?=
 =?utf-8?B?ZnlQWWZES24vS2VUeWNDZ3h4NkpRekViSjF5dG1FdGg1VWsxYU9BWmhBaWx4?=
 =?utf-8?B?STFRZkxrTXRqTEZ2OGQxRTBMQkFBME80aXlWc1BidlBHMXMrb0FYK080Z3VE?=
 =?utf-8?B?bStaM0V5NVJQV0VlZkJkNXZJeHlld0JwWkdUYmFnOUl3VDk1V3RTekdCZ1Ar?=
 =?utf-8?B?M09QbEVFVUhHS3pQQmx3eXArc2xaQUh4RTdDdGErK2tySEYzb2FobEhVNmxz?=
 =?utf-8?B?NkhsZTR6YmhJU2s0ZktjK1duREROQUhUR0RjQjlMTi9aaHJ3R1loQm9LOXp4?=
 =?utf-8?B?VEZMVFBmT1RsWHB5YUJwNjh5WjVWWlg3YWw2d1pFdGRqZWo1ejZ3SnNhQkRB?=
 =?utf-8?B?TTRtbHA0dFJiTi9kNjhuMWtRZ1lKU0htY2V3WkhoaDRHaWRjSmNmMVVjOUN5?=
 =?utf-8?B?S25WTlIrT3NiSUpTZWtxUWlnOHRsbUxPUUMvS1dhWHg0eXpTSS9XcEpORWxo?=
 =?utf-8?B?d1NtMCtZR2pSeUZmYVVyd0I3ZHBrUWF4b0dUSDByL3BJaXFqS3Q1bzdHVWFw?=
 =?utf-8?B?UVIvbi9weG5OVWFBTGl4YitNbVJrSk12WGJtNXN2alAxL0NHRjVtMS9MZ0Jw?=
 =?utf-8?B?U1YxQ2JSek1FVFUwL2UzcU5qWkdVMGZIOTVKK1hwbU5CWHFIMU5McWhyYy9r?=
 =?utf-8?B?aDY5amx0MlJyOEVaamdFOWZ6U3RuWTliTGxEb21tVGEzV25yOVRTK0dYZWlS?=
 =?utf-8?B?d0FrNk0yVWFiWDlKZ1BPZG9Yc3FoMDNQa0FMU2dtakhoN0xlOUlVTWNVd2h2?=
 =?utf-8?B?ZDVQRFMwRHdVZnpNUGQrMGxSM0YwSG5RbzlraGhqelNIbnMwbnZuUUVmMTA0?=
 =?utf-8?B?ckN2dXZBdFBpZjdqVnYzRERFa2tkcGY2WWY4NFNHMkdoZWZCSlFhWENUSmpZ?=
 =?utf-8?B?d1FJN2MwTTZlR3JYSGdUcWtsTm9oaVRGb2VDWFc4bUREZjFOekpBWWp0eTN0?=
 =?utf-8?B?YzBlZnM3MXpBWVpuOGNXMVlsbnNWSzk2eFpKaDFuQmQ1R3F4SHlVZE9raE1r?=
 =?utf-8?B?N3lERkt6c1I3eUs1aWZ3dkZmYkhTbmNsMWM0UXh2M2JmTDhEWlBwbGFrbkhD?=
 =?utf-8?B?Yi9zR0xOa2F3PT0=?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR03MB7015.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WHJZV3hyV21udDh1NmVYVjBpNTUycC8vVzBML2RPUzNaVWNZZXBBSDNTN0Q1?=
 =?utf-8?B?L2RRVWtRMkdIR2pJbGQ1ZVJPZU5oY2pZc3UrVWplV29HazZ0RWZobEFLVS9s?=
 =?utf-8?B?UDdoOUpVUlV1V2VkTVhpclNrSXJ3NlUrNWhlL3RxUlprMFhuN2d1UWxFNnVB?=
 =?utf-8?B?dXBtb0c1SC9Scng2ZEtWRjZIQ09WZUZqTktkT2U3S2ZBUjVOeVk2Y09uUFNI?=
 =?utf-8?B?UStKK0lHSXVHTHlkcHl0ZHJpbms1L2dSNmRUYW8yYVZCVDRFbEo5QS81LytE?=
 =?utf-8?B?c1VRY0NaTjRyRzlldjJ1ZTlMbDVoSXBmV0xCQnRZMkpmRDF3dzY5L3luWWNx?=
 =?utf-8?B?a2FxRGlNWWV2QzlxY3hEZ3NvSlBBNXVRUzBEUG4rSk91cFM3NmdDWVNaY242?=
 =?utf-8?B?N3JzYWorQ1B2N2pyeHAxZXQ4WVRjb0JZQnVaVnYrTjlxVnN2NXhMdWRVOTFB?=
 =?utf-8?B?U1RiSlhNRkROMzNzc1MweFdmRG5WOHVoYWtCTzgxVzlHeUFTWmpLNlphRjNW?=
 =?utf-8?B?akpPYjB1ZERteWpvMGVxVjl4RzRFMGZOWHVhNHhHWG15QXphcEhzSkJhVDlz?=
 =?utf-8?B?QUcwNkRVVmFVYldNYnl3cFZRYW9RVXR5clVVYTFWQlM1KzZ4SU0wMW9tVlFQ?=
 =?utf-8?B?T2lvSlRsQ2R5UXkwL3B1OGNuazE4cVpHTnNZdStRNGpORCtxdmYvaWJuYTMw?=
 =?utf-8?B?WTRYR2VjTGpCQUtjVk1Mc1hvTDZtL1hZWHJCb29la3h1Ylp5elhJNCtDMGRl?=
 =?utf-8?B?UWdZZkR5bmhyTmUzQ0pYZzdzQ3VnM2NneUtDN3N2bnFLcUw3NlQ2TURLU0E4?=
 =?utf-8?B?Wk84Ym1WUXJSa2JDMW9TT1h3QWFneUp5K1N3ZTVuZWpuSDNOd0Q1UzJrNURl?=
 =?utf-8?B?U1FmTlZqb09vVFFwQmFubG53RGlLRFZERDhOQUtwZkpxcWs1OFpwclJZcnJz?=
 =?utf-8?B?UEthdG0xNzdSYXlVRG91UUdCcDBLTVFyT2JtRFVQcE9pdCtLemtPVkJTeEdG?=
 =?utf-8?B?QzZIckZ1MjcrSkhxNlhwOU5YTEEvZ0FUTi9aREJNZjBpK20vUVhWV1FmWHoz?=
 =?utf-8?B?WHVOVGRPMjNiYTRrTXBxOGQrY09Ed1VsT01yVENUNzJWVFFhaThEeGp0c2VG?=
 =?utf-8?B?N3lMOFpWaDkxa3lINFRJa2NKM0NBMWoyN2ZkMS95eWxiRjdoelBNY3pmTTlT?=
 =?utf-8?B?UTFyd29wQ0RNV0VjNnNSci9yV0VJbm4rQ2FPQjRPZXMrV0NJaUFSODJkUjlY?=
 =?utf-8?B?ZDM0UXc3VnBHOVU1bk5FVnF0U2Q2R2RMazdWNVFxOXk0RjV1M2VKQnZZcnZr?=
 =?utf-8?B?RjcwcWY2UWJvSEU1TU0yZFlyZndPMk9nWHJKa1lSMSs5d2drTTAybGdUZVhN?=
 =?utf-8?B?R1N5YllieUVqVHAwbTYxTEd5elJMdWdIWGdtalRWbGpLSk5rUnI3V0JpSkEx?=
 =?utf-8?B?ZE15Q0pBdGUzcEtUMWt6M05Wb2gwNFh6ZWFhZjBGZ2tUR09hM25UTURid3hJ?=
 =?utf-8?B?ZEo3dzh2dEFaNWM0eSswUWs1UEUwa3NWS2swWTdpbC9PWHI1c1ZQNTdtMkl0?=
 =?utf-8?B?NXV3UzV0L3p0clBzTmpjUTRIMWlGSUVhMzZUdXlCektqUmRMY2NFalR5Vi9z?=
 =?utf-8?B?bVdiYk1qcXBUeVRLeXJWQVIzc2E4UUhjUHV5NEtKVElWbDJFa1RwQXBrRnVs?=
 =?utf-8?B?dDVrNlVSR1ZLZzRoU2xRRHJOcERKSERSeXFmeGFJYVR0R2pYVFFLallScGxR?=
 =?utf-8?B?MThLQmNtM2F0QzM0ZEF1aVpjSjNpUWFZdC92Ykx4cE45cjNKUWpXbzluWExG?=
 =?utf-8?B?UUJQWW9hNHdmWHI3SnRybm1iNDk4QmpnZmpGaHJjK0tUbk9UWGtsZjE2c1A1?=
 =?utf-8?B?Y1ZxWS9GVisyOTJiTkFFRkJJSWdld0JXTFl2WFZ2Z3BDY210LzZCbmNLZHAw?=
 =?utf-8?B?SWZnN3NBZGYrQjh3ZEtIaDAyM0ZCaHQwbEM5Ym1rUTZlUVR3RVhMZmhLUXZZ?=
 =?utf-8?B?SFdmRllTT3hKQkhGWHkvaGtWb2Zzc1UyTlpDTk1weVkyKzNDdzhtZzZFS05D?=
 =?utf-8?B?VFk2UlM2ZlVYMWNSeC9JOVpvLzlQak01V1lodnVLQ0ZJVkFZdkpoaXFLa0pM?=
 =?utf-8?B?RFpPQlVoSUs3dUVaZkNpVy9pYll1YjA2ZVpKelZHV1E4WUFFL1hKYUFUeVFC?=
 =?utf-8?B?UlE9PQ==?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 35aefa9b-a712-484e-bc13-08de0fea3d16
X-MS-Exchange-CrossTenant-AuthSource: DM4PR03MB7015.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Oct 2025 15:06:25.8040
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: lMEpHKmJdTZ7FvH6x6BAdvGNsNO53afIxJH6zsTkr542bmGhN08kgGev6Q+w8Ks0GpeubM5C9TGJ3Sdn0L1kNbHJZAyUjSOWbm3E4/IHnOI=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA6PR03MB7567

On 20/10/2025 2:19 pm, Andrew Cooper wrote:
> When Entrysign has been mitigated in firwmare, it is believed to be safe to
> pass blobs to the CPU again.  This avoids us needing to update the digest
> table for new microcodes.
>
> Relax the digest check when firmware looks to be up to date, and leave behind
> a clear message when not.
>
> This is best-effort only.  If a malicious microcode has been loaded prior to
> Xen running, then all bets are off.
>
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
>
> I need to double check the revision table.  I think I need to submit a
> correction to Linux first.

Yes.Â 
https://lore.kernel.org/lkml/20251020144124.2930784-1-andrew.cooper3@citrix.com/T/#u

Also there's a general off-by-one error in the revisions, owing to a
difference in how Linux and Xen are using the boundaries.

Both fixed locally for v2.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Oct 20 15:49:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 15:49:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146482.1478897 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAs8o-00011b-KE; Mon, 20 Oct 2025 15:49:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146482.1478897; Mon, 20 Oct 2025 15:49:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAs8o-00011U-Hk; Mon, 20 Oct 2025 15:49:46 +0000
Received: by outflank-mailman (input) for mailman id 1146482;
 Mon, 20 Oct 2025 15:49:45 +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
 <SRS0=abR8=45=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1vAs8m-00011O-Tr
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 15:49:45 +0000
Received: from SN4PR0501CU005.outbound.protection.outlook.com
 (mail-southcentralusazlp170110003.outbound.protection.outlook.com
 [2a01:111:f403:c10d::3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 64a16352-adcc-11f0-9d15-b5c5bf9af7f9;
 Mon, 20 Oct 2025 17:49:43 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by PH0PR03MB7081.namprd03.prod.outlook.com (2603:10b6:510:29c::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.16; Mon, 20 Oct
 2025 15:49:38 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9228.016; Mon, 20 Oct 2025
 15:49:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 64a16352-adcc-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=XJVqvYlyDKzDiJnv5nY4lUo/ct4xw/BVo+ekQpAsby3QQxjjskIIYr5DUNIzVpfJRD5pI3etl+mXIK+rtGmkSejySlCNmcKNFLiXXGtpeR3bxgjE7mS9BCOIMue3whAz/6ICzqNGOUey5M4YWdA6247004d+qu3EyLrjzEYWFnhnyN41IzMlmdJ7kUXqxxuzUZtQ5BQIkgrs1Qe1SqgFeoZoneiw8iMsm88kUHNf8gq+LhKhVdGyRAvTBxsYRQ2kByAMZ7o2apPX0Ymty3gWDybmxPeZ3DCeJh3xXe9lod5gOr7KpNo9GAjkE1WgSONEpqEqzqZoW6hUUPQLs+7Lrg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=k5yqGut900tx9/A6PfDezcUhZewG2tafuI9dz8d6f3U=;
 b=rTg7YqLTERmQljRX+odvbhQPdBL7C57zTKHJLTDHKQsbcJoNx8mpvNsT3QFnitTEJtYrGYbK7P+oQAGAhHz3wjcoswc6C85kUqHnZcnubcr39RWE7uttZCDVGGuOWUpSMjr5xMlCfx2zN4Ec/fUGuhNwQy0Ov2GYVvjwwy6wM93OIeVrGwOBZLh7C2KZOggg1/foqxl0OaInTylEVQFnUVvb3gGFDNhipm0Q8IHmupOLJjC0Lc8x69J9yZ+OGw+zKyLYdNv/Y0z1Q9ilhEd5PdxeZFwMYqfWbb1RWKqvA4YteoW+4jaHHUBS90BHL1BmL7VkAxVKVFcnI4h9Csf/Eg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=k5yqGut900tx9/A6PfDezcUhZewG2tafuI9dz8d6f3U=;
 b=H34SuzMwBQwsWcIZInlEfh92c/KmhW90ML1QiMb+Dff9iVOLGwhtQSKMwaRuMrdlX6Hg/1YnxlZ+Hq0VNmR1f2kulFUuXQ9j1eiAsMjVxe+SVA7ZKxeKk0twwm0vCCSCT/X3/n8f7fFMSMnbTDyF5F7wtR1yZIBrncMsB7sbwQE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Mon, 20 Oct 2025 16:49:32 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.21 03/10] x86/HPET: use single, global,
 low-priority vector for broadcast IRQ
Message-ID: <aPZaDJZiPsOazcHN@Mac.lan>
References: <8d94abf8-70d1-478c-885e-ff9a960ac72d@suse.com>
 <64d52793-be70-4ae8-9bae-ad88f6379395@suse.com>
 <aPEc3VWLI0ofq22f@Mac.lan>
 <39f00b12-a3f7-4185-a8fa-2c99c43695d9@suse.com>
 <aPH8Waqi5hJyCuzO@Mac.lan>
 <1e14d71a-4c23-46d9-a123-475a22bdc856@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <1e14d71a-4c23-46d9-a123-475a22bdc856@suse.com>
X-ClientProxiedBy: PAYP264CA0035.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:102:11f::22) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|PH0PR03MB7081:EE_
X-MS-Office365-Filtering-Correlation-Id: 936b0776-5c5d-4b64-5c50-08de0ff045b5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?MWVLa2pFZ2RzaUw3STVib0R6SjQ0djc3NGV2TTc0WG56andzc1JzekNHOHFG?=
 =?utf-8?B?bmRoYW1TTDIxRmhxUkRqYlpPM0Zjd0V3RGJVTGxBR0dzTW1sUjREajBPaEtq?=
 =?utf-8?B?aStORVlhMWhGNGMrcktXSWFyVFQ5WDAxSnhDSU53RXV6eUI2cmJqdFBneFF0?=
 =?utf-8?B?UWRoVjVZdmIvbHM0ZGdSbkR1RmllYU1uZEtlcWhHdmpBZjFCckRKbUFmam5W?=
 =?utf-8?B?Q0VwcGVzT050YjRXdmQ0cFloTkNXMGtTbnBlWDNvZGxOSU0vOFYwQnkxQTlG?=
 =?utf-8?B?ZStBME1UdmtDSHd5cXpxMk5Ob1dCTTRUSk0rMTJLcFAxZ2R1M3Vla1gxQmpl?=
 =?utf-8?B?empYZjZXUUg1Z3g2UmFMV1ZsdE1yTEhoVEVaQWlkcFp2US8zdUtRTVlkbk9M?=
 =?utf-8?B?b3RrKzVVYmRTRk5CcVhlajhWZFJCejZHZ1J3NDc0a0UwQjJLNnRsTEg5aWZh?=
 =?utf-8?B?anY5czVjV3lPcWlFako3S1JycDdIcDhvS1Z3dm9POUlacE12azVLZzliRU4x?=
 =?utf-8?B?Q09ScldmdGFIS2E5WDNlOVRzUWhmS3hNOWZmU1p5MEJOTkF6cVlLZHRTZnpQ?=
 =?utf-8?B?b2dyRnIzNUZxMzdXRkxQRmpaL3ZNaTVoYTFGYUR3Y2x1ZFVCZnp0OHVHQlI3?=
 =?utf-8?B?OVNrdTlRRHc1bnhvVnY2cGZGRFo5b3ladVV4a21TTzRNVW85Nk1LN1duN2to?=
 =?utf-8?B?VHhWOFN5Mk5jRUdlTmVyQ1V6ZS9WbUlxOWZNNTlieVlJR3N3alMreVhHb3N2?=
 =?utf-8?B?M2RFcnovQ0t4eUZ4SGtXY2xlcFQvbGNUNlFhd2tGWGpVMklzT0F1UVlkVkxJ?=
 =?utf-8?B?QUhJTnFiS2FVV0ZhNlkzSHk0SVhBV0hRaGtUa2lPZTVHM0oyRmk5WURPRjRh?=
 =?utf-8?B?VGRZWnFiVHBPa0o0cXUyZlk2eFBjMzhDWDJaQkpEMWdocTdhZXFsRFBoS0Jy?=
 =?utf-8?B?aHRiZmRpMmdESWE3bzl1Zm5QUm1CazZGSUtzQzlTVkYramFydzZZSlloeEVm?=
 =?utf-8?B?SzNTakttbDh2VEt4ZGtJYVRVZXk3YW1hdDgraE0zbUUwRGo5aGFnZmdmcmp0?=
 =?utf-8?B?cGg1SXkwZFVYWFZoYmJ0OWtPZGpzUkh3TGRDajgwbWRSYS9zVUFpSDF1SzRj?=
 =?utf-8?B?cm9XRHZSRnNwMlQyTFRGRlE2REFsaTd0ZEFKL2tsMWFuZ2g1NllnUndHanZU?=
 =?utf-8?B?NEZmVkxaMnA4L2lqZE9Yc0k1eG9keGlBc0taQk9wYUFWUzQvR1k1bHdUZG96?=
 =?utf-8?B?ZU5vWmJ3NVQrcEFHR1dRWFNaRWZLYjRTVlZ2cXQvM09QdWpENjVPT0o3N1Zz?=
 =?utf-8?B?VjhZR2M4Z0xqaTJxYmhTWkU5czZCbzFsOWVsbjdtUjdMQTB5V2RSN2J3WjlQ?=
 =?utf-8?B?ak16VE9iV0E4NXJVS0Rzcjh1OFFqZG9nK1JRc0xiRHVDS2t0T3NLZWkxb0tj?=
 =?utf-8?B?SlA2TUpXd3A0c1B6Ky9kSGNyT3pGMGhVNmludHJ6eGJtcCtnYTdsQU9QdkNv?=
 =?utf-8?B?MWJlblg2aWRRVkhuMGdKczhuNWQrSE00SW5CSU1Yd3pVSGRvSmxUOUlrYXBM?=
 =?utf-8?B?cWwrSGlVSnVxQ3p4WUZPS1RlblVsc3k3clQwMThSeGFxVjIrRlBpNkdXcXBn?=
 =?utf-8?B?YTBINHlsWm5hL3NEclh6ZzVLb0Y5dDQ1WTBJell2Tzc5MFRRZzlNQThZcm9M?=
 =?utf-8?B?R25IRzNtdnl6S28yYjJsTVYyb0JwazhWN2FqUkZpNHIzS2RPeHh1Vm1SVFRl?=
 =?utf-8?B?NWwzdzRWZUFmS1RMRytMelBUQzdDNTNjeVBDMVJyNXZIVDVISmMvN0pwYnpn?=
 =?utf-8?B?RUZMN3l6cDYvMEc2WVhCdnhoaTJ6ekpQU0ZMRHZZOFo0Vmw3Z2Y0bVFXcFZ5?=
 =?utf-8?B?NDRMelBRY0JTSVNXbW1YeXo4NkJWWDBBbkRGVHoyZ3hIdG8xV0xzbWpSVG9C?=
 =?utf-8?Q?9iunoP8Z7PfVPNfIm4SYNVtZz+ia5DFf?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?enZTSlpwci85NzRRU2N0VkR5QktyZ2JvQTlZK1VTd1hGcXRxb1Fyck0vMkUv?=
 =?utf-8?B?ejVCOC9HazdFZm9UOVk2djE4bTQyaEFiVmhJZWJYb25Rc0xnWjRka1Bid1Er?=
 =?utf-8?B?OURhUzd2R3NTR1NEZWRmNjJRSTVOMUwvZnlNUVVxcCtDWnVUampHZ2YrbEpC?=
 =?utf-8?B?bU5Ed3NGd1c0MHBGODFDSGMrb3JwVk5GTFJnR2VsMDF0Z3NXekxtbzY0bTl1?=
 =?utf-8?B?S1hwdDVQVlFsZXpsNm9KTlQxVHZ3SDVtZ290TlN6MEFzVjdKeSs5Ti9hN1pS?=
 =?utf-8?B?c2srTkplWU11N1FOdzlBZEtOZm04MFR4eXlXZVhGN3hGYW9Pc0RubStGdm5t?=
 =?utf-8?B?bitKQnhEQTJ1L3pSTGVHRjJ3dmhCdHZ1d2VOUU5mY05xZlR2UWE5M2FvbEEw?=
 =?utf-8?B?T2ZablRYTEpQeXVoelV1eGpyMExYZ3pySEZCaExrUk82RXg1QkpQdWJyVFBo?=
 =?utf-8?B?bGh4WWlsRmllUmliaVJobVNLTUcweEc4eFNOWFFVdUZLVlZ1dkszNlpxclVI?=
 =?utf-8?B?QW8wUTJxd2xrOVJBYkxoQWRrVWlHdU5VeE81VXBEZDh4ZVJsczlocG9VelZk?=
 =?utf-8?B?bTFtL3FXOVo0aW9LaEJGTHQ2NWh6NDVWNUdDV1lwb1BEVnlVQ1FoQ1Rrakxl?=
 =?utf-8?B?REhaZm1pUHQyQzR3ZFJYd3o4NHg2WVVmMXRNWll4dWlxQXI3Y0VpSG5Fc3hI?=
 =?utf-8?B?WWQyRHVDMmxHYnh5dE1aeERpdDhicmFheHFPMkM4UHNQYWQ4cDNKcDJIakhE?=
 =?utf-8?B?UEdhUnNoamIyZXNyTnhMcTBsQmxIYVA0Z25qS0RLOUdjckZ3Snd5V08xbnJR?=
 =?utf-8?B?ZDVIdm9rMHVQa0Q5Ynd2S1VxcVhxT3ZhZy84R0NLamM2T1kwUG9wNHU5dzRH?=
 =?utf-8?B?N2JMelR3MDJxVWVGL0RpNXlxSVQ0M0VKTzlmZ1RjS3hRaTRVZDVKMUJhUGNH?=
 =?utf-8?B?ZkZhRzVlUCtWK2FCTU5YZzYrOWlCTU1VeVdqUW5EMjY4TnBBTEV4cktxaml1?=
 =?utf-8?B?cGZQRzJzcFR1M1BNcUNxWVR2SExzM0RxZEpWUVIwNWxrVFZBT3RRZWpZR0JF?=
 =?utf-8?B?bktaU2JYUVNDVE90dXFNZEd0MTJGZDJqdzZ4YjNQVm1icVo3ckh4L0U2THBM?=
 =?utf-8?B?WDZHemNDMEVCUW9xR0dCZ3ZIUXVVT2JIbjJCSUR3Q1JnY0tMRVVkZjJVYnI1?=
 =?utf-8?B?aktnTTU3UGlUcTdGS2lUYmthK3dXOTJsa3YwaHlvb2dIVEcxcjBsSVU3cTd2?=
 =?utf-8?B?ZC9zVjgrZ0ZoMDhnQmV2am9mQjJSbXpmdnFjcEExR256ZmNyMTBweXFlVE90?=
 =?utf-8?B?RGRGMzdTSjA2YVkzdnRMQUFQMk5zbTczTHB4b3E4RFRyNStCNExYRmpiazFC?=
 =?utf-8?B?MjVINmlaVWFsL3pNNWZhdk8zdkUvd20wZHFIdnVENUpndUdyV3B4NHRlV1NG?=
 =?utf-8?B?MnBJdGNjeUVEL2FUbnpZRCtaRWdtNzM1ZHMxc2gxbFVKNmVjYVBCUGtNTTVW?=
 =?utf-8?B?eUJQVzJYc3ZUZjFsVFE4ZGZGKzdvbllZTE5objJNc3graDNkbFdYVmVjWWYy?=
 =?utf-8?B?N0VBb1dkNm5zV2QzRk1OTWZrSFpwaXIyQlR4REtGT1d2SHVEL2dpNldSaG1O?=
 =?utf-8?B?YkxqSHQxb25MMUdFci9CcEpmSms0d3dZdEFzdGFjWW41YVFmSklwZ2hrYXRD?=
 =?utf-8?B?K3FUZ0tZTUI1bWZ3dmFBekVtdVRRcnFxbGl5ZlF2WkFEUEZaSndKSC9RZzhM?=
 =?utf-8?B?bExUVksyZFJkZ0M3OFNSQ3pZRjFUdnF4blk0NG12Ym9rbWlqZHZlNXcrVUhJ?=
 =?utf-8?B?cFBzZDdWUDhKcXhIOXphN3lsajZKeWFmd3NVc1NtdzlsYkNOZW5wYmVVZytt?=
 =?utf-8?B?aHN1QmJYTzFZL0VwcjVTbzNxbUdld2V0OFFQME80cXpYOHVNRVovY1AxczRZ?=
 =?utf-8?B?V0VFaW9pTm9YeEo2emZUV3BZNU9Jbmk2YkNSMnF0Q2Z6SHl2eWV2R0hXeXZr?=
 =?utf-8?B?QVN5NXRlVnpkVDVVWTdNOGk1OHJsczcrUXc1bDMxTVI3YU4zU2xleEx3bldC?=
 =?utf-8?B?VjJHczNPWDk4U0FudEUxZGhQSTk5cFJXNDYzdzJneE9WYWExVnRBUVAzVHAr?=
 =?utf-8?Q?SgQGe4dICDbwRr2mnrsGKz10D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 936b0776-5c5d-4b64-5c50-08de0ff045b5
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Oct 2025 15:49:38.3907
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: MfiocohZWd0uL65C8+ub/ApKTBMxLPgoN7R9o7mOfYaEebFKXEyaKQBJtHgr56RePZhIy+mteLyYbYRSkLirJA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB7081

On Mon, Oct 20, 2025 at 07:53:51AM +0200, Jan Beulich wrote:
> On 17.10.2025 10:20, Roger Pau MonnÃ© wrote:
> > On Fri, Oct 17, 2025 at 09:15:08AM +0200, Jan Beulich wrote:
> >> On 16.10.2025 18:27, Roger Pau MonnÃ© wrote:
> >>> On Thu, Oct 16, 2025 at 09:32:04AM +0200, Jan Beulich wrote:
> >>>> @@ -497,6 +503,7 @@ static void set_channel_irq_affinity(str
> >>>>      spin_lock(&desc->lock);
> >>>>      hpet_msi_mask(desc);
> >>>>      hpet_msi_set_affinity(desc, cpumask_of(ch->cpu));
> >>>> +    per_cpu(vector_irq, ch->cpu)[HPET_BROADCAST_VECTOR] = ch->msi.irq;
> >>>
> >>> I would set the vector table ahead of setting the affinity, in case we
> >>> can drop the mask calls around this block of code.
> >>
> >> Isn't there a problematic window either way round? I can make the change,
> >> but I don't see that addressing anything. The new comparator value will
> >> be written later anyway, and interrupts up to that point aren't of any
> >> interest anyway. I.e. it doesn't matter which of the CPUs gets to handle
> >> them.
> > 
> > It's preferable to get a silent stray interrupt (if the per-cpu vector
> > table is correctly setup), rather than to get a message from Xen that
> > an unknown vector has been received?
> > 
> > If a vector is injected ahead of vector_irq being set Xen would
> > complain in do_IRQ() that that's no handler for such vector.
> 
> As of now, setup_vector_irq() makes sure the field isn't uninitialized
> (i.e. left at INT_MIN). With that change dropped (see below), there
> would indeed be such a risk (on the first instance on each CPU).
> 
> >>>> --- a/xen/arch/x86/irq.c
> >>>> +++ b/xen/arch/x86/irq.c
> >>>> @@ -755,8 +755,9 @@ void setup_vector_irq(unsigned int cpu)
> >>>>          if ( !irq_desc_initialized(desc) )
> >>>>              continue;
> >>>>          vector = irq_to_vector(irq);
> >>>> -        if ( vector >= FIRST_HIPRIORITY_VECTOR &&
> >>>> -             vector <= LAST_HIPRIORITY_VECTOR )
> >>>> +        if ( vector <= (vector >= FIRST_HIPRIORITY_VECTOR
> >>>> +                        ? LAST_HIPRIORITY_VECTOR
> >>>> +                        : LAST_LOPRIORITY_VECTOR) )
> >>>>              cpumask_set_cpu(cpu, desc->arch.cpu_mask);
> >>>
> >>> I think this is wrong.  The low priority vector used by the HPET will
> >>> only target a single CPU at a time, and hence adding extra CPUs to
> >>> that mask as part of AP bringup is not correct.
> >>
> >> I'm not sure about "wrong". It's not strictly necessary for the HPET one,
> >> I expect, but it's generally what would be necessary. For the HPET one,
> >> hpet_msi_set_affinity() replaces the value anyway. (I can add a sentence
> >> to this effect to the description, if that helps.)
> > 
> > I do think it's wrong, it's just not harmful per-se apart from showing
> > up in the output of dump_irqs().  The value in desc->arch.cpu_mask
> > should be the CPU that's the destination of the interrupt.  In this
> > case, the HPET interrupt does have a single destination at a give
> > time, and adding another one will make the output of dump_irqs() show
> > two destinations, when the interrupt will target a single interrupt.
> 
> Just that as soon as the interrupt is actually in use, what is done
> here doesn't matter anymore.
> 
> I continue to think the change is correct for the general case: I'd
> expect these special vectors to normally (just not here) be used as
> "direct APIC vectors", in which case the IRQ does have multiple
> destinations.

I think it depends on the usage of the vector.  There are indeed
vectors that are active on all CPUs at the same time (like the current
hi priority ones).  However in the case of the HPET vector that's not
the case, it targets a single CPU specifically.

I think it would be best if vectors that are used on all CPUs at the
same time are initialized using cpumask_all or cpumask_setall(), and
avoid having to add a new bit every time a CPU is started.  It's fine
for cpu_mask to contain offline CPUs.

> Problem is - if I don't make this change, I still expect I ought to
> make _some_ change here, as the following "else if()" might be getting
> in the way. Then again the vector_irq[] assignment also isn't strictly
> needed this early, as set_channel_irq_affinity() deals with that
> anyway.
> 
> Bottom line - I guess I'll drop this change, realizing that adding
> something here later on may then be harder to understand.

I have plans to change this soonish hopefully, which I expect will
make this clearer.

> > If anything you should add the CPU to the affinity set
> > (desc->affinity), but that's not needed since you already init the
> > affinity mask with cpumask_setall().
> 
> Indeed.
> 
> > FWIW, I'm working on tentatively getting rid of the
> > desc->arch.{cpu,old_cpu,pending}_mask fields and converting them to
> > plain unsigned ints after we have dropped logical interrupt delivery
> > for external interrupts.
> 
> I'm aware, yes. And I realize this change - for the HPET case - would
> be getting in the way (to some degree).

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Oct 20 15:55:41 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 15:55:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146494.1478917 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAsEX-0002mB-KM; Mon, 20 Oct 2025 15:55:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146494.1478917; Mon, 20 Oct 2025 15:55:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAsEX-0002m4-HJ; Mon, 20 Oct 2025 15:55:41 +0000
Received: by outflank-mailman (input) for mailman id 1146494;
 Mon, 20 Oct 2025 15:55:39 +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
 <SRS0=Li3P=45=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1vAsEV-0002lN-IQ
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 15:55:39 +0000
Received: from mail-ej1-x631.google.com (mail-ej1-x631.google.com
 [2a00:1450:4864:20::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 38e12041-adcd-11f0-9d15-b5c5bf9af7f9;
 Mon, 20 Oct 2025 17:55:38 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-b48d8deafaeso1014546166b.1
 for <xen-devel@lists.xenproject.org>; Mon, 20 Oct 2025 08:55:38 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-146-38.play-internet.pl.
 [109.243.146.38]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-b65e7e984f2sm816258366b.13.2025.10.20.08.55.37
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 20 Oct 2025 08:55:37 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 38e12041-adcd-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760975738; x=1761580538; darn=lists.xenproject.org;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ThQETuoXn7cxOD/oIVKc+9fzFoNw5UcTeMPEgY2rLAk=;
        b=NsBPbUa/xCiuX0ath4MqrAf8sGqc/Tga4wDMsSzZ8v0bqDjiIOAjvhoR1ubpmHbhUZ
         cyrOuGXPMCgteUPfdj+g8LsDgoF46nRGuw8lOnfxaEeRE/m4rMMyVdq+xv2jxfrxxFMH
         3ll65TWFHvZNWoqAOEXsJ8NzqsNMYbjPTVNsFvE8yTUn3eiSiRoYdlZb/+vhJsAh1pRg
         esY5tjuX7Fqf1+4HJBtBi8YzbCN4zyv69w+SAkYzM/x8++8vyozMkLIrJHNX01Nwrc51
         zAKM1aiWFIxiO+QlmDy5wAbmSJb6MNzTgQLWwSkt1e/kMqQVhFyBQIhc8CQTkQysBO0x
         COTg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760975738; x=1761580538;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=ThQETuoXn7cxOD/oIVKc+9fzFoNw5UcTeMPEgY2rLAk=;
        b=CtESQpk61rh3Noyin7ELUFVC7wFvVGWt/A1jHpw2BmGnpE4QQtJ7KYUh0C8lQcku2d
         +yBlD2pe4G946aUJlNMDbP7cTRPTN5dA/0H+dFwwSze7Su+S3xv/TocRiDZOjGziM0iA
         2a36dY6Dzy5nlSAPqkNAU9f0mPjYLr1rb7a458+TT5UxLEpnEw4dCwY5cX/Z/3zWFuoS
         vWsiILOlyLDOAG1RVQvt2vDmH5M30cgjxRZ0V6eepztJKeKIl/eItZPoDYDL9FdYKxbf
         WGcniNCuX9+EC30RyRR3aWoOWYFfU2462XVOKbpk30n0jzCLI2WaZzxHWbIEpay2HCkj
         TrEw==
X-Forwarded-Encrypted: i=1; AJvYcCVyIvpbxBC/e3hayl1FqHxuG6LrFGJQ0/atkgLxcm14UNDMN2IQIQsQgVPhhYF/w1g27bZVUgaA6sE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxjeaP0FVnVoGajqHR8hwMoPHOYr7Oer8AjFX5RiOXxThs/OVeK
	2Xtio2NJzvQRxlfpmtwqf/m/K+89iFY5QuP8xXwOSSm6ZCIUCcdr+KN9
X-Gm-Gg: ASbGncvudTbZFbXmJDqHY/4uVTsm+8huzXFcjtyBbgh9gBij665CnlzMdRxw9015ckE
	WykLFZXfDlcjom/pWMh9FLryh7ts6IcX6U8qPqDSrv9UpJ6GBBopnTkHutIxQllTjygHWQaO0Mg
	pKj94OxpP6SvOSrLi0bOOdGpJnJJ1nj/3t+156+TZ4W5OPMrrRM6mJngYyfgwMO9xEwbwcOTVON
	ph8afEWLCBzwgNAoFFms6Vkm8PO2Sx3otCZYM+QS+dR1C3josvI1EHAa3FMUCM9TJ/MuBriuzsd
	sev7gJ+VTYGWx1ycuaEWAjhFVYyuZXQIt81Wk0TxWz0mmLjE7wkrGkXkQwKn59eKO9x5od83ZnK
	31PI0yhuCynuzN7l/UzceMxUIrLMJIBIzDA71kxTrRK+akJfE6nFTtUfNnH1QKezWc3W7FHtpra
	MuA3wfKee34TUjV55rpQfPFfgfBtYA3+Q5OnobFhNN8arvZtb3s37oYov2
X-Google-Smtp-Source: AGHT+IFW9XxPOP3LRHdZ5MORxM+TJExE/hRhts+OxFK5mVAnJiRT4kZFS/lCBBBThYpVX5GtOBIH6Q==
X-Received: by 2002:a17:907:7f17:b0:b3c:31c2:b57d with SMTP id a640c23a62f3a-b64742428b8mr1838138566b.55.1760975737575;
        Mon, 20 Oct 2025 08:55:37 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------b6en5kAIvZ0ooMLpiqXcSV3h"
Message-ID: <686e3e17-d1c2-40a7-b363-c1cc42b388d0@gmail.com>
Date: Mon, 20 Oct 2025 17:55:36 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21] tools/xl: fix for dead code in
 list_domains_details()
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Anthony PERARD <anthony.perard@vates.tech>
References: <20251020121959.54337-1-roger.pau@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20251020121959.54337-1-roger.pau@citrix.com>

This is a multi-part message in MIME format.
--------------b6en5kAIvZ0ooMLpiqXcSV3h
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit


On 10/20/25 2:19 PM, Roger Pau Monne wrote:
> Commit d0193c6d6716 introduced checking for the return value of
> printf_info_one_json(), but failed to remove a further check down, which
> now Coverity complains is dead code.
>
> The correct fix is to make the call to json_object_array_add() conditional
> on printf_info_one_json() having been successful, so that the further call
> to libxl_domain_config_dispose() is not avoided.
>
> CID: 1667251
> Fixes: d0193c6d6716 ("tools/xl: check return value of printf_info_one_json() in list_domains_details()")
> Signed-off-by: Roger Pau MonnÃ©<roger.pau@citrix.com>
> ---
> As with previous fixes, needs to be considered for 4.21.

Release-Acked-By: Oleksii Kurochko<oleksii.kurochko@gmail.com>

Thanks.

~ Oleksii

> ---
>   tools/xl/xl_info.c | 5 ++---
>   1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/tools/xl/xl_info.c b/tools/xl/xl_info.c
> index dbb682cc52a6..98fc879e636c 100644
> --- a/tools/xl/xl_info.c
> +++ b/tools/xl/xl_info.c
> @@ -584,9 +584,8 @@ static void list_domains_details(const libxl_dominfo *info, int nb_domain)
>   #ifdef HAVE_LIBJSONC
>               json_object *jso_value;
>               rc = printf_info_one_json(&jso_value, info[i].domid, &d_config);
> -            if (rc)
> -                goto out;
> -            json_object_array_add(jso, jso_value);
> +            if (!rc)
> +                json_object_array_add(jso, jso_value);
>   #elif defined(HAVE_LIBYAJL)
>               s = printf_info_one_json(hand, info[i].domid, &d_config);
>   #endif
--------------b6en5kAIvZ0ooMLpiqXcSV3h
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 10/20/25 2:19 PM, Roger Pau Monne
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:20251020121959.54337-1-roger.pau@citrix.com">
      <pre wrap="" class="moz-quote-pre">Commit d0193c6d6716 introduced checking for the return value of
printf_info_one_json(), but failed to remove a further check down, which
now Coverity complains is dead code.

The correct fix is to make the call to json_object_array_add() conditional
on printf_info_one_json() having been successful, so that the further call
to libxl_domain_config_dispose() is not avoided.

CID: 1667251
Fixes: d0193c6d6716 ("tools/xl: check return value of printf_info_one_json() in list_domains_details()")
Signed-off-by: Roger Pau MonnÃ© <a class="moz-txt-link-rfc2396E" href="mailto:roger.pau@citrix.com">&lt;roger.pau@citrix.com&gt;</a>
---
As with previous fixes, needs to be considered for 4.21.</pre>
    </blockquote>
    <pre>Release-Acked-By: Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a>

Thanks.

~ Oleksii</pre>
    <blockquote type="cite"
      cite="mid:20251020121959.54337-1-roger.pau@citrix.com">
      <pre wrap="" class="moz-quote-pre">
---
 tools/xl/xl_info.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/tools/xl/xl_info.c b/tools/xl/xl_info.c
index dbb682cc52a6..98fc879e636c 100644
--- a/tools/xl/xl_info.c
+++ b/tools/xl/xl_info.c
@@ -584,9 +584,8 @@ static void list_domains_details(const libxl_dominfo *info, int nb_domain)
 #ifdef HAVE_LIBJSONC
             json_object *jso_value;
             rc = printf_info_one_json(&amp;jso_value, info[i].domid, &amp;d_config);
-            if (rc)
-                goto out;
-            json_object_array_add(jso, jso_value);
+            if (!rc)
+                json_object_array_add(jso, jso_value);
 #elif defined(HAVE_LIBYAJL)
             s = printf_info_one_json(hand, info[i].domid, &amp;d_config);
 #endif
</pre>
    </blockquote>
  </body>
</html>

--------------b6en5kAIvZ0ooMLpiqXcSV3h--


From xen-devel-bounces@lists.xenproject.org Mon Oct 20 15:55:41 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 15:55:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146493.1478908 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAsET-0002XQ-8y; Mon, 20 Oct 2025 15:55:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146493.1478908; Mon, 20 Oct 2025 15:55:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAsET-0002XJ-5Y; Mon, 20 Oct 2025 15:55:37 +0000
Received: by outflank-mailman (input) for mailman id 1146493;
 Mon, 20 Oct 2025 15:55: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 <SRS0=7iz2=45=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vAsES-0002XD-A6
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 15:55:36 +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 3667586a-adcd-11f0-980a-7dc792cee155;
 Mon, 20 Oct 2025 17:55:34 +0200 (CEST)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-42421b1514fso2843765f8f.2
 for <xen-devel@lists.xenproject.org>; Mon, 20 Oct 2025 08:55:34 -0700 (PDT)
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-427ea5b3affsm15797534f8f.12.2025.10.20.08.55.32
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 20 Oct 2025 08:55:33 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3667586a-adcd-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760975734; x=1761580534; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=/mJqCJK536KJp7Bt1rJ0cF+KFLkuGGe4GVR33t3Qo3w=;
        b=eJOBko3FJqx+7cG5xMzDo8hAVKN2JqgcvLSow00PniBVKTQ5osAYm7S68hfz2IsP1F
         h2CsR765AobRwL5K1o9t34bBIx2yL2E7bstlZk5XuVZnzknXk7cae11WuNcCV0NqfobZ
         Y5BhOYhPPOYpNMhWKdKP2pnqGTvwnd2KxT0/00u8d113qPQpNX8mbGzgF9OE5GPAFVYa
         THxDeIqNj4+BEJJD+hP4Wen9o+NHx/L2U0ar06xEwdXSwIvUyG+1uSsoE3OH9gD0tQ80
         byGRavnACO76fgOFLanjBKDTMWrm36+YIne5hX+Qiiu+OcxX/d4oRLPMAuzdcJdeptFU
         yBpw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760975734; x=1761580534;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=/mJqCJK536KJp7Bt1rJ0cF+KFLkuGGe4GVR33t3Qo3w=;
        b=TDd/yYQQrQlY/P8sNvFxnqpV8sqD876adz9DAazxAZQGkRFuMDn3mu6Yj80iPdtA89
         0DLeHKWg7Or0Td8Qn19tB4sDwz6dvPA65XbwjMJ4gV4c8+vLU8CtsTDZhnm3RgbI6iUL
         geNWL7ubVNezXaK6AZRLE9s9aMjaLVV0Lp8dPv0e+vwMwkKknJjxr6dcpKLsDsfocQMh
         gtJTm8oqrRiTYAJuJqIE0k2s4olG0szZqBJe74s3Dus+VJIiVExCfRoxAMrxPwdQRm/N
         OGjFKz9b93bW7BAjwTYxuzt0+wkhLGHXDAEKZOnpBqHZXxKFncAgyALJHpuem2csJh8z
         mMAg==
X-Forwarded-Encrypted: i=1; AJvYcCU7IYnrtvdSaAMLyIL7vM77/uiKCkL2oK5wwWd+qtQOiLAa3+C5s0abwW758OxxDnV/a3NtmBZRe6w=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyzhLOAifaUrEZO/FR2thqA1Zwkf9d/UxeerUU0WI+qmHsVtJkO
	TDAtNuY/Y/XD2u/bV5Ygr119a+c9bJzEyI6cEhIEvXrT8UDjRSNkZ66rrC4vy2W3Sw==
X-Gm-Gg: ASbGncv9vpm4uGPJBUC2haQr9z4WQFAf8LhdvNUmva9fcmCpbt4hWe9jLQ2MWzxbmU5
	nGBg70uiT4LrUGzKxMt59A+2YQaBC21bivz9uJp9KkFwZTrbuh+F90nNPJS92kFrdXNbCBHDWb2
	0MKSSQfnnjl8/n0cUkPo6jj3ot9/Z6VstsfeTF7qD2d9m9aUBIZIjd/1yZlIEwe5cR3AY6YTf6s
	7nuFTW2nJhbdRQpWBrLVTkCeUk9MR6TSzlntTYeAa64tm5JF9e5ge+QCQsitZY0t+S+IjXAaXLy
	7l6WbAqiTJ76pYVaE7NRSBhY8E8NCCWoNa9bxhJY37YqdTjD6NukB0uAB5hmGvYPo97Fhf+Z18s
	uhHQrdMpaoh5SEZt/FedlRaTDPhhqijfI1xB+A+YGBeHiUIyycq/1pD99Fjq4wnCoCdzqXqznhW
	3nprTx4wNKmzhDckeQ8Dbz5vdcCeA2dP6LgvJOpspe++pk4hv1JWsVWY4uHN8r
X-Google-Smtp-Source: AGHT+IHFQtXih/chSI0CpS559EkllQ9i6USZBEZFWp2wGYev8qWWd6KVaiEJiyiASHhL7LWW7V56Wg==
X-Received: by 2002:a05:6000:2406:b0:427:9d7:870f with SMTP id ffacd0b85a97d-42709d78818mr7884343f8f.5.1760975733657;
        Mon, 20 Oct 2025 08:55:33 -0700 (PDT)
Message-ID: <4fb57b9e-2a39-471a-a629-e8cd00997f22@suse.com>
Date: Mon, 20 Oct 2025 17:55:32 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/5] x86/ucode: Abort parallel load early on any control
 thread error
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20251020131955.2928261-1-andrew.cooper3@citrix.com>
 <20251020131955.2928261-3-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251020131955.2928261-3-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 20.10.2025 15:19, Andrew Cooper wrote:
> EIO is not the only error that ucode_ops.apply_microcode() can produce.
> EINVAL, EEXISTS and ENXIO can be generated too, each of which mean that Xen is
> unhappy in some way with the proposed blob.

Yes, yet wasn't that the case already when the EIO check was added? Were we
perhaps trying to deal with a certain level of asymmetry in the system? I
think a little more is needed here, also to ...

> Some of these can be bypassed with --force, which will cause the parallel load
> to be attempted.
> 
> Fixes: 5ed12565aa32 ("microcode: rendezvous CPUs in NMI handler and load ucode")

... justify there being a Fixes: tag. It would also seem possible that the
check was intentional and correct at the time of introduction, but was
rendered stale by some later change.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Oct 20 15:56:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 15:56:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146511.1478928 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAsFG-0003dz-UP; Mon, 20 Oct 2025 15:56:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146511.1478928; Mon, 20 Oct 2025 15:56:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAsFG-0003dn-QX; Mon, 20 Oct 2025 15:56:26 +0000
Received: by outflank-mailman (input) for mailman id 1146511;
 Mon, 20 Oct 2025 15:56:26 +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
 <SRS0=Li3P=45=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1vAsFF-0002lN-Vu
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 15:56:25 +0000
Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com
 [2a00:1450:4864:20::62a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 54d6ab8b-adcd-11f0-9d15-b5c5bf9af7f9;
 Mon, 20 Oct 2025 17:56:25 +0200 (CEST)
Received: by mail-ej1-x62a.google.com with SMTP id
 a640c23a62f3a-b3c2c748bc8so575554966b.2
 for <xen-devel@lists.xenproject.org>; Mon, 20 Oct 2025 08:56:25 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-146-38.play-internet.pl.
 [109.243.146.38]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-b65eb725f3fsm822375366b.68.2025.10.20.08.56.22
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 20 Oct 2025 08:56:24 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 54d6ab8b-adcd-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760975785; x=1761580585; darn=lists.xenproject.org;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=W/QUp5p47LDDd9qx96BTBl6dTboIUsi/SViHEUGHmlU=;
        b=cCe/NWp16CCm1zD6tmDjjpa8xh9CkeVARdlEDQgNY174dtC7qVmOzpJOnvi4YaA4mR
         JBGUEgNn+NFG7OvCEO8NOMtuGAvFCVf2aQzZk2N/Z/ayOVeIlnNZv1Pqw3UWpHPCjFSk
         EcOU/l7I8kueEnDrZMt3g/WLs5s/W7Ra3ke8Yn2KTMCtVWn4HvWG4pVYn1VsgRs8b+GA
         qF3H+v76RvhSe3YnbRmV8JTgTMQnfX6IbrmFF/j/CXAfnqK09agPG0uzAPnt5u0NiZ5S
         8xAjSCkUaNs8pdZNjdVRiQRkXIK9VpYdSrM7fKPQ9dyHnK+kZPu1xl3n/MoKnSTc9HLM
         auKA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760975785; x=1761580585;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=W/QUp5p47LDDd9qx96BTBl6dTboIUsi/SViHEUGHmlU=;
        b=e/zdnwAvEJ3iNzpZjpk2jQHxdQ79sSM5scxpaihkE9e7dXAXNSU6vMGwYOznyD2cnY
         3B5b35VE2EAh0lFS000s7WRjo609KuqsxBQt8mdB9gUvYEH2kS2cIZf1wJQ10yiUfhfd
         f4u2JwBsePb5fD/5Wamv6UEFzfJ37us6vsEI/FxGMr03OGuodln3WZKYW8CCOeuevaN9
         c+A2LS1YtAc9J6XJh2JXpp6cVvE3tnrbz18Z8+SAR2+aDqXDc7z/Z5QWfTk+cMxMC1Ec
         OUrBuxGqdHfYwZA2xiJ4CtXuE7Rti1ar3HcJbMmrhUcrc1DpU69b/lggmESB3qMgP3Vz
         DslQ==
X-Forwarded-Encrypted: i=1; AJvYcCWQoUqhY9SpmzoCDTKmm2LvIiYHfPgZW/Ke7S2UrUkQp/NByLyLOWIpgag5yVJZlJbt4p4b7ViMVLo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwXsWPNMJ+30pR2FQ5wPAMeZyTwSOoyPMVITKyvjNS7vrqPhhoM
	sJh4pxGdqlA93LpNog5YSfTAWJ/tWEhpSKD4ZL9QTnrzZbxzbB7Tqk3y
X-Gm-Gg: ASbGncv2EyVAdlQhMLYMoyW19CxZkX5NAwMSjKhg3mBz1Ou1IA9j6CO8I3w3wJjFPxU
	MeX1EqxsQftFi2lXnDlcebmbbGIoMnflQnXoi0SnsQJ8p6TkYz4q3gFGGJ7GmDU7Hhs5QZiX7l1
	buGJs8fSJJ/9MbzrADFXx3qJDfc0A5X8pE7tVjhoq7YNcIyHSvnFi+euYOORtddRt6iEX7WAX4B
	FTktJuSLcMohJ29MfY3wQfwYEQ3JNzW3ZyHkyl/cyozgwv0sBrKTODDYuEhV/ATVyKYEqZZ8IIu
	MLgmRVdBHtCB7yNvI9l7g4eAdYaymIxqMYTSBSbMXPHD8x7cvQw49eUdK4veqTRULPCjildX7z7
	MGwK7rtkGQ6VGiZYuDzhPHMlSvLd9s+URqU9Z7J0MNCJcWE1dcYQhndOWpXXYVWz+CuwuN6sj+6
	Pk8B48PMTcpxxSt8PZzO+qydS/eRQj1FRG8f8CVnb/GRps7Rn4EhUyPORFFCW5iQUihHY=
X-Google-Smtp-Source: AGHT+IFz4sH4WCAOKJiUXdLRLVEuOnDhhnUQhj8E3LyU2gv896qyq8WQJ08Wi7OTO/T2SbtyjmLM0w==
X-Received: by 2002:a17:907:6d02:b0:b40:fba8:4491 with SMTP id a640c23a62f3a-b647463a1d1mr1527340366b.17.1760975784352;
        Mon, 20 Oct 2025 08:56:24 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------Ul3Vo0XrvlJLDHaGWJkS6c2X"
Message-ID: <3f98f469-7da1-4356-916c-a4523f887001@gmail.com>
Date: Mon, 20 Oct 2025 17:56:22 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21?] xl: drop redundant return value check from
 list_domains_details()
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <13d8a3ff-ed58-4b35-ae3c-0411cd34f7b8@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <13d8a3ff-ed58-4b35-ae3c-0411cd34f7b8@suse.com>

This is a multi-part message in MIME format.
--------------Ul3Vo0XrvlJLDHaGWJkS6c2X
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit


On 10/20/25 1:33 PM, Jan Beulich wrote:
> The check that was added to address a Coverity report renderned another,
> later check dead, which Coverity again complains about.
>
> Fixes: d0193c6d6716 ("tools/xl: check return value of printf_info_one_json() in list_domains_details()")
> Coverity ID: 1667251
> Signed-off-by: Jan Beulich<jbeulich@suse.com>

Release-Acked-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>

Thanks.

~ Oleksii

>
> --- a/tools/xl/xl_info.c
> +++ b/tools/xl/xl_info.c
> @@ -593,10 +593,7 @@ static void list_domains_details(const l
>           } else
>               printf_info_sexp(info[i].domid, &d_config, stdout);
>           libxl_domain_config_dispose(&d_config);
> -#ifdef HAVE_LIBJSONC
> -        if (rc)
> -            goto out;
> -#elif defined(HAVE_LIBYAJL)
> +#ifdef HAVE_LIBYAJL
>           if (s != yajl_gen_status_ok)
>               goto out;
>   #endif
--------------Ul3Vo0XrvlJLDHaGWJkS6c2X
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 10/20/25 1:33 PM, Jan Beulich wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:13d8a3ff-ed58-4b35-ae3c-0411cd34f7b8@suse.com">
      <pre wrap="" class="moz-quote-pre">The check that was added to address a Coverity report renderned another,
later check dead, which Coverity again complains about.

Fixes: d0193c6d6716 ("tools/xl: check return value of printf_info_one_json() in list_domains_details()")
Coverity ID: 1667251
Signed-off-by: Jan Beulich <a class="moz-txt-link-rfc2396E" href="mailto:jbeulich@suse.com">&lt;jbeulich@suse.com&gt;</a></pre>
    </blockquote>
    <pre>Release-Acked-by: Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a>

Thanks.

~ Oleksii</pre>
    <blockquote type="cite"
      cite="mid:13d8a3ff-ed58-4b35-ae3c-0411cd34f7b8@suse.com">
      <pre wrap="" class="moz-quote-pre">

--- a/tools/xl/xl_info.c
+++ b/tools/xl/xl_info.c
@@ -593,10 +593,7 @@ static void list_domains_details(const l
         } else
             printf_info_sexp(info[i].domid, &amp;d_config, stdout);
         libxl_domain_config_dispose(&amp;d_config);
-#ifdef HAVE_LIBJSONC
-        if (rc)
-            goto out;
-#elif defined(HAVE_LIBYAJL)
+#ifdef HAVE_LIBYAJL
         if (s != yajl_gen_status_ok)
             goto out;
 #endif
</pre>
    </blockquote>
  </body>
</html>

--------------Ul3Vo0XrvlJLDHaGWJkS6c2X--


From xen-devel-bounces@lists.xenproject.org Mon Oct 20 15:57:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 15:57:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146522.1478938 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAsGj-0004Dd-82; Mon, 20 Oct 2025 15:57:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146522.1478938; Mon, 20 Oct 2025 15:57:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAsGj-0004DW-3t; Mon, 20 Oct 2025 15:57:57 +0000
Received: by outflank-mailman (input) for mailman id 1146522;
 Mon, 20 Oct 2025 15:57:56 +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
 <SRS0=Li3P=45=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1vAsGi-0004DQ-6W
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 15:57:56 +0000
Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com
 [2a00:1450:4864:20::62b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8a5b162a-adcd-11f0-9d15-b5c5bf9af7f9;
 Mon, 20 Oct 2025 17:57:55 +0200 (CEST)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-b3b27b50090so817315266b.0
 for <xen-devel@lists.xenproject.org>; Mon, 20 Oct 2025 08:57:55 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-146-38.play-internet.pl.
 [109.243.146.38]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-b65e7da25d4sm818947166b.9.2025.10.20.08.57.53
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 20 Oct 2025 08:57:54 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8a5b162a-adcd-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760975874; x=1761580674; darn=lists.xenproject.org;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=nEGWSW0icQ11mKsWNcRWZNRmXo8pekAg8xtpdKTqbgE=;
        b=ODA/XA3y6dPJ4xY5JL+wOCoITxVwvLro3vTYLFiYJWDl3wu4/t006QSkPebO5NhTUG
         KTPhXZT8MYMcCrqWaJgHx0t+QRzevJ/7vmlq8Rm4cPRBVa7hiM5xE7PbKFpcqkGgpyrq
         2d94yj6ZmsvwEVraT4jwGVqT0uWGfRzE3fALzmtDzVdsMhhQj5S0iYBF3LNdAjm1I281
         Oz3Obqc0aZBFZXSNZVjy65ejwp0fY5JEfX1/QbtKIHQFvQNEBVFNJsTsepNDxPL1uiB6
         oOQ9BaRGOSz3O0Vsxd87ZbgbrtCYVL8xPqr3rt2/C0UoGQYh5f4U2SLBUdOKVKZi9IzC
         +bkg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760975874; x=1761580674;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=nEGWSW0icQ11mKsWNcRWZNRmXo8pekAg8xtpdKTqbgE=;
        b=JsXVsRQ5rns3mFdQikwge+sR2xEacSBgPrOO4mC3YTiKn+VIm48Hd1KeR/20iRS+sI
         bYNuvggaDoFqh9JXdlqZBCQiLmVjv7AmOsumSZniuuijrrvhH9l1mAqyyQiOMef6Fy9N
         zttamb55cTIbsiGthcmE5bFetE2sEuFEmjiL2l6AZIJ7f0gJhxrg/kcbVo8G+Gc4JeLc
         pdR1gHAoLxMpEu6u6DwTZvujgGJQ+o8rEZwzbdTch4sCjWf2774v+OvG3KcXUOeCvoDx
         BNcGiI4+rc9OviE0k83QL+JF5ZfJK58+OSRNXBY9fHDILGg+tWl2lW4/AfiqhwCoQEsd
         m30w==
X-Forwarded-Encrypted: i=1; AJvYcCU/Bh61tx4mYAQQ8f2NteeAmy57WB7fimhIwZSZfhXuG2DZHCUX816tjQCgkuD21pJPCXftwiAnL4I=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy+8jy78/AnTQeuU2S77eEr4PxmkBPRRn810tkXofSVQAONqkR9
	G2sWtgAgcb5DN00KVXwIDYsu4UwNoDRkKvpsHyucBfCQmmzaAojt4nNC8XxMtg==
X-Gm-Gg: ASbGncupVSRZwL5toEJ5zqnkIq5u7N4uVaOxUfwTQY9SG2dbIQF4bhPKrYUObtFPCg+
	+ewawFMnU8BbZOOV99zwpQMs/RW7O23WGkULOpXCfUZhODOg7R/8+1lmSEacQCwEV2gJzvHsyer
	gopopVTjlEkGdcmW+uP1hQkWuLIb/OEP+wb2uQX/tCSvlsA9wRWOKsKeMM+bAlt9BnUrFILzqSg
	8GsulQPb66ph91uUmE7QiVd2Mdnh7VK37pi2RotjsajvpWOsWnb1VFFcG26l/AsUVLdcnwmrMRq
	sr4LyHpXDKkyA3AqyQmiQhdoAJ7y4BiLiwX8QaQOxWnUN0AP0ppIw3EBVWFClSr0HisRyKhSgCn
	OM+TM59Dyp35hwz8E8VgJJ5YuimFr6BYD/WP04eAbYHlXmWT1rc73Ain03cT7GpQ6RQzqrbJFAi
	XvfGF5SOELsXibslE8YJRmoaYvK2jk4l5ScQC1skJfW/HD+b5B+RMm9Bs5
X-Google-Smtp-Source: AGHT+IHU+kMF7sAH70F0vMTbNKaU8F2mupR74+3eIU5eTqaOTlknQALhsJFRhwpKJ0prtzxTBDO5WA==
X-Received: by 2002:a17:906:7947:b0:b2d:830a:8c17 with SMTP id a640c23a62f3a-b6475706b33mr1559583466b.56.1760975874420;
        Mon, 20 Oct 2025 08:57:54 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------Ylxqce0dq5AWYx1gl6UG3Mv3"
Message-ID: <6d64fe13-b931-46c3-923a-cdd1ce3894da@gmail.com>
Date: Mon, 20 Oct 2025 17:57:53 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21] tools/tests/domid: don't pass -E to sed
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Denis Mukhin <dmukhin@ford.com>
References: <d385addc-ada1-4a75-b210-38146a1fad2f@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <d385addc-ada1-4a75-b210-38146a1fad2f@suse.com>

This is a multi-part message in MIME format.
--------------Ylxqce0dq5AWYx1gl6UG3Mv3
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit


On 10/20/25 3:40 PM, Jan Beulich wrote:
> Even the 2018 edition of The Open Group Base Specifications Issue 7 [1]
> doesn't name -E as a standard option; only Issue 8 [2] does. As we can
> easily avoid anything "extended" about the expression used, drop the -E,
> escape the parentheses, and replace the sole + by *.
>
> [1]https://pubs.opengroup.org/onlinepubs/9699919799/
> [2]https://pubs.opengroup.org/onlinepubs/9799919799/
>
> Fixes: b3d31533a047 ("tools/tests: introduce unit tests for domain ID allocator")
> Signed-off-by: Jan Beulich<jbeulich@suse.com>

Release-Acked-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>

~ Oleksii

>
> --- a/tools/tests/domid/Makefile
> +++ b/tools/tests/domid/Makefile
> @@ -10,8 +10,8 @@ include $(XEN_ROOT)/tools/Rules.mk
>   TESTS := test-domid
>   
>   define list-c-headers
> -$(shell sed -n -E \
> -    's/^[ \t]*# *include[ \t]*[<"]([^">]+)[">].*/\1/p' $(1) 2>/dev/null)
> +$(shell sed -n \
> +    's/^[ \t]*# *include[ \t]*[<"]\([^">]*\)[">].*/\1/p' $(1) 2>/dev/null)
>   endef
>   
>   # NB: $1 cannot be a list
--------------Ylxqce0dq5AWYx1gl6UG3Mv3
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 10/20/25 3:40 PM, Jan Beulich wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:d385addc-ada1-4a75-b210-38146a1fad2f@suse.com">
      <pre wrap="" class="moz-quote-pre">Even the 2018 edition of The Open Group Base Specifications Issue 7 [1]
doesn't name -E as a standard option; only Issue 8 [2] does. As we can
easily avoid anything "extended" about the expression used, drop the -E,
escape the parentheses, and replace the sole + by *.

[1] <a class="moz-txt-link-freetext" href="https://pubs.opengroup.org/onlinepubs/9699919799/">https://pubs.opengroup.org/onlinepubs/9699919799/</a>
[2] <a class="moz-txt-link-freetext" href="https://pubs.opengroup.org/onlinepubs/9799919799/">https://pubs.opengroup.org/onlinepubs/9799919799/</a>

Fixes: b3d31533a047 ("tools/tests: introduce unit tests for domain ID allocator")
Signed-off-by: Jan Beulich <a class="moz-txt-link-rfc2396E" href="mailto:jbeulich@suse.com">&lt;jbeulich@suse.com&gt;</a></pre>
    </blockquote>
    <pre>Release-Acked-by: Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a>

~ Oleksii</pre>
    <blockquote type="cite"
      cite="mid:d385addc-ada1-4a75-b210-38146a1fad2f@suse.com">
      <pre wrap="" class="moz-quote-pre">

--- a/tools/tests/domid/Makefile
+++ b/tools/tests/domid/Makefile
@@ -10,8 +10,8 @@ include $(XEN_ROOT)/tools/Rules.mk
 TESTS := test-domid
 
 define list-c-headers
-$(shell sed -n -E \
-    's/^[ \t]*# *include[ \t]*[&lt;"]([^"&gt;]+)["&gt;].*/\1/p' $(1) 2&gt;/dev/null)
+$(shell sed -n \
+    's/^[ \t]*# *include[ \t]*[&lt;"]\([^"&gt;]*\)["&gt;].*/\1/p' $(1) 2&gt;/dev/null)
 endef
 
 # NB: $1 cannot be a list
</pre>
    </blockquote>
  </body>
</html>

--------------Ylxqce0dq5AWYx1gl6UG3Mv3--


From xen-devel-bounces@lists.xenproject.org Mon Oct 20 15:58:13 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 15:58:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146527.1478948 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAsGz-0004Zh-EB; Mon, 20 Oct 2025 15:58:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146527.1478948; Mon, 20 Oct 2025 15:58:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAsGz-0004Za-Av; Mon, 20 Oct 2025 15:58:13 +0000
Received: by outflank-mailman (input) for mailman id 1146527;
 Mon, 20 Oct 2025 15:58:12 +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
 <SRS0=Li3P=45=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1vAsGy-0004DQ-79
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 15:58:12 +0000
Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com
 [2a00:1450:4864:20::62c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9422407f-adcd-11f0-9d15-b5c5bf9af7f9;
 Mon, 20 Oct 2025 17:58:11 +0200 (CEST)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-b403bb7843eso837228166b.3
 for <xen-devel@lists.xenproject.org>; Mon, 20 Oct 2025 08:58:11 -0700 (PDT)
Received: from fedora (user-109-243-146-38.play-internet.pl. [109.243.146.38])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-63c48ab560esm6966067a12.12.2025.10.20.08.58.09
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 20 Oct 2025 08:58:10 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9422407f-adcd-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760975891; x=1761580691; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=AAAAcMWBhBxylKcZtSq/DZF9jlzUAjaFiUSj3AuRmhc=;
        b=Ncy0H+2ksP0S0kcwbyiHHTygc8nVWRirQAZQJwPXtOyeQf6RW2Iqp7AzsfWCzHoPcz
         5+FQ0v/EEffls9m3uJCkkcMK28yPNe13xSeYj8l88kNrxC/fLBWvWyB91ISvz2PMvGyS
         Qd1g1PaX0R70SU8I7WQLr7BQT0RK6jHew10xMADF4XHION25fXSp16UrlAD2slxQvMk9
         ErLNkuGs1YDEdUVdMt8RMocOR58fMqb6D9bH5tVaWmIy4O9TfGdSS9I1fQoGhAjJ/qgZ
         5REAMc0LhzghZ7QirZdta/xI4TWB3XmLeZxxabTzk/gt5ttxgBc/uUHGnYAoYAHbiWXu
         OmRw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760975891; x=1761580691;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=AAAAcMWBhBxylKcZtSq/DZF9jlzUAjaFiUSj3AuRmhc=;
        b=pY3upC81/d/lY2uK84Qc11tTQbt4wxoVDSdyyEdVDcmk1B3pnIoTrhSGeFsUZjuTkM
         2yoz7P3dYqihbYawhzktGcCDJ7Duhla5GD+XsmDVaZ1cDbP14w2RX4v39WDuPdvnrc4R
         96cmoITpiug8XhRVrQThLMBCrk5NaJ2VzS7UddMzPR5xxyRU9QIYzZLNx4E2HPEmAge0
         XCOLnhJlGcph6FA6maeoHmxaaS8GWWPqwzh96PzAAya6vOt3R29PeYRI0dYMDzx4wTjK
         SXF/Ays9nTEkQRqmuK4CA5LsdGLE9GNIH1o1DGpw0tpHHdDHv0snp4iEdMHxGZ0T8NlG
         zkhA==
X-Gm-Message-State: AOJu0YzdlZJcRXPAw0SsgXmG9QyMFOLzt3e0FnaNK6TN55PM4qqLmiuO
	kdY6c9MNmwpL5FHYwGEYWArybH+TzGctUrm7uNGr0d/9YMk+cYQumN4AH7HIig==
X-Gm-Gg: ASbGncvER3Jcq+/U42moQS+2apjcLLHF994EdleyI5DUFqDYgItI9AyuQdGvQKgGJTi
	QEpLHZ2RKpr5rBOxSZmwqd9DYxRr503mkn29wDKuZMMAkQ/x/EOYrJ2Ftyw6kUp9ibhzBDkaI4X
	KaTY0rg0h9Vf/GTcqb2UQp3Yos28MQ3gj8iW6VIZ2Om860mjShvchnO02d+vuFBUzLohQosaVIY
	JkhSl3TJ6A9R/fkM3OPOzv0FTxlLB0GHmYY3vs7zKPbtzXUiwtk8rDOUzxumQGhS7jheUUfiPIN
	1k/oLqI6fXHCPaK4XDfTf4DwQApDEQ+Psz4ge1bqP0wW/kFObBP438E0CgdiYHVpD68k9/ap2tG
	Y6vU8T0NhtiVQ3OEUYiaghGqqgwOq95OsuL2qjqaajA0kh4KPBPcPwzuw3kwyA1d64pEWtEhlJa
	Dn6g3hg7mVsGJyTVnK+C2m0omeJANUzoKuYmwQrJy1C2TBqzQ/pS/fvlG28A==
X-Google-Smtp-Source: AGHT+IERGa9Gycy/DAA1FGoWTbukcN1BQpnNIDAzNa4GlHAeBF+BUoerkI8EHIoW0RL9P/ugXfaXFg==
X-Received: by 2002:a17:907:6d0f:b0:b0c:b51b:81f6 with SMTP id a640c23a62f3a-b647423c403mr1718978666b.43.1760975890637;
        Mon, 20 Oct 2025 08:58:10 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [for 4.22 v5 00/18] xen/riscv: introduce p2m functionality
Date: Mon, 20 Oct 2025 17:57:43 +0200
Message-ID: <cover.1760974017.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.51.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

In this patch series are introduced necessary functions to build and manage
RISC-V guest page tables and MMIO/RAM mappings.

---
Changes in V5:
 - Addressed comments for v4.
 - The following patches were Acked-by:
   - [v5 16/18] xen/riscv: implement mfn_valid() and page
   - [v5 15/18] xen/riscv: implement put_page()
   - [v5 14/18] xen/riscv: Implement superpage splitting for p2m mappings
   - [v5 09/18] xen/riscv: implement function to map memory in guest p2m
   - [v5 07/18] xen/riscv: add new p2m types and helper macros for type classification
   - [v5 03/18] xen/riscv: introduce things necessary for p2m initialization
---
Changes in V4:
 - Merged to staging:
   - xen/riscv: introduce sbi_remote_hfence_gvma()
   - xen/riscv: introduce sbi_remote_hfence_gvma_vmid()
 - Drop "xen/riscv: introduce page_{get,set}_xenheap_gfn()" as grant tables aren't going to be introduced for the moment. Also, drops other parts connected to grant tables support.
 - All other changes are patch specific.
---
Changes in V3:
 - Introduce metadata table to store P2M types.
 - Use x86's way to allocate VMID.
 - Abstract Arm-specific p2m type name for device MMIO mappings.
 - All other updates please look at specific patch.
---
Changes in V2:
 - Merged to staging:
   - [PATCH v1 1/6] xen/riscv: add inclusion of xen/bitops.h to asm/cmpxchg.h
 - New patches:
   - xen/riscv: implement sbi_remote_hfence_gvma{_vmid}().
 - Split patch "xen/riscv: implement p2m mapping functionality" into smaller
   one patches:
   - xen/riscv: introduce page_set_xenheap_gfn()
   - xen/riscv: implement guest_physmap_add_entry() for mapping GFNs to MFNs
   - xen/riscv: implement p2m_set_entry() and __p2m_set_entry()
   - xen/riscv: Implement p2m_free_entry() and related helpers
   - xen/riscv: Implement superpage splitting for p2m mappings
   - xen/riscv: implement p2m_next_level()
   - xen/riscv: Implement p2m_entry_from_mfn() and support PBMT configuration
 - Move root p2m table allocation to separate patch:
   xen/riscv: add root page table allocation
 - Drop dependency of this patch series from the patch witn an introduction of
   SvPBMT as it was merged.
 - Patch "[PATCH v1 4/6] xen/riscv: define pt_t and pt_walk_t structures" was
   renamed to xen/riscv: introduce pte_{set,get}_mfn() as after dropping of
   bitfields for PTE structure, this patch introduce only pte_{set,get}_mfn().
 - Rename "xen/riscv: define pt_t and pt_walk_t structures" to
   "xen/riscv: introduce pte_{set,get}_mfn()" as pt_t and pt_walk_t were
   dropped.
 - Introduce guest domain's VMID allocation and manegement.
 - Add patches necessary to implement p2m lookup:
   - xen/riscv: implement mfn_valid() and page reference, ownership handling helpers
   - xen/riscv: add support of page lookup by GFN
 - Re-sort patch series.
 - All other changes are patch-specific. Please check them.
---

Oleksii Kurochko (18):
  xen/riscv: detect and initialize G-stage mode
  xen/riscv: introduce VMID allocation and manegement
  xen/riscv: introduce things necessary for p2m initialization
  xen/riscv: construct the P2M pages pool for guests
  xen/riscv: add root page table allocation
  xen/riscv: introduce pte_{set,get}_mfn()
  xen/riscv: add new p2m types and helper macros for type classification
  xen/dom0less: abstract Arm-specific p2m type name for device MMIO
    mappings
  xen/riscv: implement function to map memory in guest p2m
  xen/riscv: implement p2m_set_range()
  xen/riscv: Implement p2m_free_subtree() and related helpers
  xen/riscv: Implement p2m_pte_from_mfn() and support PBMT configuration
  xen/riscv: implement p2m_next_level()
  xen/riscv: Implement superpage splitting for p2m mappings
  xen/riscv: implement put_page()
  xen/riscv: implement mfn_valid() and page reference, ownership
    handling helpers
  xen/riscv: add support of page lookup by GFN
  xen/riscv: introduce metadata table to store P2M type

 xen/arch/arm/include/asm/p2m.h              |    5 +
 xen/arch/riscv/Makefile                     |    3 +
 xen/arch/riscv/cpufeature.c                 |    1 +
 xen/arch/riscv/include/asm/Makefile         |    1 -
 xen/arch/riscv/include/asm/cpufeature.h     |    1 +
 xen/arch/riscv/include/asm/domain.h         |   23 +
 xen/arch/riscv/include/asm/flushtlb.h       |   13 +-
 xen/arch/riscv/include/asm/mm.h             |   29 +-
 xen/arch/riscv/include/asm/p2m.h            |  182 ++-
 xen/arch/riscv/include/asm/page.h           |   37 +
 xen/arch/riscv/include/asm/paging.h         |   20 +
 xen/arch/riscv/include/asm/riscv_encoding.h |    7 +
 xen/arch/riscv/include/asm/vmid.h           |   14 +
 xen/arch/riscv/mm.c                         |   69 +-
 xen/arch/riscv/p2m.c                        | 1381 +++++++++++++++++++
 xen/arch/riscv/paging.c                     |  139 ++
 xen/arch/riscv/setup.c                      |    3 +
 xen/arch/riscv/stubs.c                      |    5 -
 xen/arch/riscv/vmid.c                       |  193 +++
 xen/common/device-tree/dom0less-build.c     |    2 +-
 20 files changed, 2103 insertions(+), 25 deletions(-)
 create mode 100644 xen/arch/riscv/include/asm/paging.h
 create mode 100644 xen/arch/riscv/include/asm/vmid.h
 create mode 100644 xen/arch/riscv/p2m.c
 create mode 100644 xen/arch/riscv/paging.c
 create mode 100644 xen/arch/riscv/vmid.c

-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Mon Oct 20 15:58:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 15:58:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146529.1478958 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAsH1-0004sW-Pl; Mon, 20 Oct 2025 15:58:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146529.1478958; Mon, 20 Oct 2025 15:58:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAsH1-0004sN-Mx; Mon, 20 Oct 2025 15:58:15 +0000
Received: by outflank-mailman (input) for mailman id 1146529;
 Mon, 20 Oct 2025 15: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
 <SRS0=Li3P=45=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1vAsH0-0004nC-Hi
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 15:58:14 +0000
Received: from mail-ed1-x530.google.com (mail-ed1-x530.google.com
 [2a00:1450:4864:20::530])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 94bbea18-adcd-11f0-980a-7dc792cee155;
 Mon, 20 Oct 2025 17:58:12 +0200 (CEST)
Received: by mail-ed1-x530.google.com with SMTP id
 4fb4d7f45d1cf-634cef434beso9263363a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 20 Oct 2025 08:58:12 -0700 (PDT)
Received: from fedora (user-109-243-146-38.play-internet.pl. [109.243.146.38])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-63c48ab560esm6966067a12.12.2025.10.20.08.58.10
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 20 Oct 2025 08:58:11 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 94bbea18-adcd-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760975892; x=1761580692; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=GWmGSToibzivUmDVNGwha0MNrT+uREcaCidL9vM2xZk=;
        b=dp1Jynl06ZtZwUHAOUnCZxQQr6hVXN8kWZyn9eJMliUPtWHCY5zMHIIX6AWA2Bnq+x
         +QOXHBUChiUpdOQ9YvId60ZINR+Izac008R57skPNgbpw3OYS6fCdOLjEHPs2RvqBQK/
         HnUMq9g4GsXFiYVKqF/7RJ3v/QuHa/a1D+bVnJqsvPWJHGUyxnyGe95aqdoW+yVzv9ve
         NdOYgCD2Syz68ByNXHk16A9AIyuVk78sZQQLL8SYpMLAEGiTtxq9KmhcUCUaBgDBp0I7
         MxZ8wN8nFW7PhqY17xXOjCQVMHyux778Ygz6/2t5OXsmRoP6w5mPO4zwoTwb7YpmReuN
         LvJA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760975892; x=1761580692;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=GWmGSToibzivUmDVNGwha0MNrT+uREcaCidL9vM2xZk=;
        b=pfKU9CGiyAVvDMzX2ZbsVaHsyHVpXsAkJtq2vjLsCc1PncY0AwsIqe9wTe5KzS1p9n
         LHIq14ZbEmLh3sPvOkFTsUrXVrZKnK9kJIA0WIt/MB6hc+c/IJSOwVRVRyCb5K7THgZs
         wZT8sqa4Vy8dLHCVqJMr0cqbgQ1sqrC+3HYxcRLbNFmxkJo9wOy/VvBbp7PgHOLwnbMz
         w5getPvapEkK6Ii/Ie4LHI1WLI6VfKh0UQY6r3kT7gkBs9vd9ylelCG6RZ+zT2+ViCu+
         nHdIMgjIxqB8Xrg/e+gEcxMFkZEOsxrp48QMcEnPTnd6pIyy0TIDUaZX5ajiofDlz2xT
         GtLA==
X-Gm-Message-State: AOJu0YxtTLeyQkxZKkCy2Q0H/szoPKlfa23PcrUg1rPWpZUNv6DSB92h
	ufan9g5a4Iwz1I0RxiqR7OX02OVANjx2HMbyfvfglfXGDEZbkeYoCepjw19K3g==
X-Gm-Gg: ASbGncuGEryuoOjwqfQVnUv1hJi7k+RfQRpHrkOUbXKbLeHZaXHs/dWQEGSv/xRwLqB
	2+MOKF5dPo3GG1O5xrYox3RNv4NwlrPAtWltpkVKcNyroiuH9oZ8GQq4JD5mLF9NVkMlxAHEzMi
	nmNStau55YG+Kc9rKsU9ON897CWyoc3llBp9OMlUOkRJdUFluSA5fca1DYC3yvgeS3+uaQmUB2y
	eKq+983XSqWLI2wUkBdWOrjB6OarkahWI1G+GhuCYsKz1vVsECXDpw5lQOIk72vvDWExXbiSDPg
	KDiYGMKzWuRsVDBLwQRRHWdW/PBLvE2nFSYkzzXcucIcsokOzCec/J4i6xwGUDYmsygrDfUeurD
	sCffzkfFbpr1G0wrmFBT0edhUSm7II+UIJ7ACepjq1Vg/dayV5Y9NIL2MMS0jDtexW7l1u5mox/
	CFOOwYLOQe1OrSOy4IJi2sL9Dn1+4eRflb0PFbn/xVrQr+/rM=
X-Google-Smtp-Source: AGHT+IFl+kXYnOxPqXJWpZLPfIZDmmF4pOU+pMLRYn1GhrHeEIZviS1P/RPV0h5ObYnjvrDi9oXOhw==
X-Received: by 2002:a05:6402:42c8:b0:63c:13b9:58b0 with SMTP id 4fb4d7f45d1cf-63c1e1f1fb8mr13945057a12.5.1760975891510;
        Mon, 20 Oct 2025 08:58:11 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [for 4.22 v5 01/18] xen/riscv: detect and initialize G-stage mode
Date: Mon, 20 Oct 2025 17:57:44 +0200
Message-ID: <2b21348b3300c741b276a47d5942e71d306846eb.1760974017.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <cover.1760974017.git.oleksii.kurochko@gmail.com>
References: <cover.1760974017.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce gstage_mode_detect() and pre_gstage_init() to probe supported
G-stage paging modes at boot. The function iterates over possible
HGATP modes (Sv32x4 on RV32, Sv39x4/Sv48x4/Sv57x4 on RV64) and selects
the first valid one by programming CSR_HGATP and reading it back.

The selected mode is stored in gstage_mode (marked __ro_after_init)
and reported via printk. If no supported mode is found, Xen panics
since Bare mode is not expected to be used.

Finally, CSR_HGATP is cleared and a local_hfence_gvma_all() is issued
to avoid any potential speculative pollution of the TLB, as required
by the RISC-V spec.

The following issue starts to occur:
 ./<riscv>/asm/flushtlb.h:37:55: error: 'struct page_info'  declared inside
   parameter list will not be visible outside of this definition or
   declaration [-Werror]
 37 | static inline void page_set_tlbflush_timestamp(struct page_info *page)
To resolve it, forward declaration of struct page_info is added to
<asm/flushtlb.h.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V5:
 - Add static and __initconst for local variable modes[] in
   gstage_mode_detect().
 - Change type for gstage_mode from 'unsigned long' to 'unsigned char'.
 - Update the comment inisde defintion if modes[] variable in
   gstage_mode_detect():
   - Add information about Bare mode.
   - Drop "a paged virtual-memory scheme described in Section 10.3" as it isn't
     relevant here.
 - Drop printing of function name when chosen G-stage mode message is printed.
 - Drop the call of gstage_mode_detect() from start_xen(). It will be added into
   p2m_init() when the latter will be introduced.
 - Introduce pre_gstage_init().
 - make gstage_mode_detect() static.
---
Changes in V4:
 - New patch.
---
 xen/arch/riscv/Makefile                     |  1 +
 xen/arch/riscv/include/asm/flushtlb.h       |  7 ++
 xen/arch/riscv/include/asm/p2m.h            |  4 +
 xen/arch/riscv/include/asm/riscv_encoding.h |  5 ++
 xen/arch/riscv/p2m.c                        | 96 +++++++++++++++++++++
 xen/arch/riscv/setup.c                      |  3 +
 6 files changed, 116 insertions(+)
 create mode 100644 xen/arch/riscv/p2m.c

diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
index e2b8aa42c8..264e265699 100644
--- a/xen/arch/riscv/Makefile
+++ b/xen/arch/riscv/Makefile
@@ -7,6 +7,7 @@ obj-y += intc.o
 obj-y += irq.o
 obj-y += mm.o
 obj-y += pt.o
+obj-y += p2m.o
 obj-$(CONFIG_RISCV_64) += riscv64/
 obj-y += sbi.o
 obj-y += setup.o
diff --git a/xen/arch/riscv/include/asm/flushtlb.h b/xen/arch/riscv/include/asm/flushtlb.h
index 51c8f753c5..e70badae0c 100644
--- a/xen/arch/riscv/include/asm/flushtlb.h
+++ b/xen/arch/riscv/include/asm/flushtlb.h
@@ -7,6 +7,13 @@
 
 #include <asm/sbi.h>
 
+struct page_info;
+
+static inline void local_hfence_gvma_all(void)
+{
+    asm volatile ( "hfence.gvma zero, zero" ::: "memory" );
+}
+
 /* Flush TLB of local processor for address va. */
 static inline void flush_tlb_one_local(vaddr_t va)
 {
diff --git a/xen/arch/riscv/include/asm/p2m.h b/xen/arch/riscv/include/asm/p2m.h
index e43c559e0c..3a5066f360 100644
--- a/xen/arch/riscv/include/asm/p2m.h
+++ b/xen/arch/riscv/include/asm/p2m.h
@@ -6,6 +6,8 @@
 
 #include <asm/page-bits.h>
 
+extern unsigned char gstage_mode;
+
 #define paddr_bits PADDR_BITS
 
 /*
@@ -88,6 +90,8 @@ static inline bool arch_acquire_resource_check(struct domain *d)
     return false;
 }
 
+void pre_gstage_init(void);
+
 #endif /* ASM__RISCV__P2M_H */
 
 /*
diff --git a/xen/arch/riscv/include/asm/riscv_encoding.h b/xen/arch/riscv/include/asm/riscv_encoding.h
index 6cc8f4eb45..b15f5ad0b4 100644
--- a/xen/arch/riscv/include/asm/riscv_encoding.h
+++ b/xen/arch/riscv/include/asm/riscv_encoding.h
@@ -131,13 +131,16 @@
 #define HGATP_MODE_SV32X4		_UL(1)
 #define HGATP_MODE_SV39X4		_UL(8)
 #define HGATP_MODE_SV48X4		_UL(9)
+#define HGATP_MODE_SV57X4		_UL(10)
 
 #define HGATP32_MODE_SHIFT		31
+#define HGATP32_MODE_MASK		_UL(0x80000000)
 #define HGATP32_VMID_SHIFT		22
 #define HGATP32_VMID_MASK		_UL(0x1FC00000)
 #define HGATP32_PPN			_UL(0x003FFFFF)
 
 #define HGATP64_MODE_SHIFT		60
+#define HGATP64_MODE_MASK		_ULL(0xF000000000000000)
 #define HGATP64_VMID_SHIFT		44
 #define HGATP64_VMID_MASK		_ULL(0x03FFF00000000000)
 #define HGATP64_PPN			_ULL(0x00000FFFFFFFFFFF)
@@ -170,6 +173,7 @@
 #define HGATP_VMID_SHIFT		HGATP64_VMID_SHIFT
 #define HGATP_VMID_MASK			HGATP64_VMID_MASK
 #define HGATP_MODE_SHIFT		HGATP64_MODE_SHIFT
+#define HGATP_MODE_MASK			HGATP64_MODE_MASK
 #else
 #define MSTATUS_SD			MSTATUS32_SD
 #define SSTATUS_SD			SSTATUS32_SD
@@ -181,6 +185,7 @@
 #define HGATP_VMID_SHIFT		HGATP32_VMID_SHIFT
 #define HGATP_VMID_MASK			HGATP32_VMID_MASK
 #define HGATP_MODE_SHIFT		HGATP32_MODE_SHIFT
+#define HGATP_MODE_MASK			HGATP32_MODE_MASK
 #endif
 
 #define TOPI_IID_SHIFT			16
diff --git a/xen/arch/riscv/p2m.c b/xen/arch/riscv/p2m.c
new file mode 100644
index 0000000000..00fe676089
--- /dev/null
+++ b/xen/arch/riscv/p2m.c
@@ -0,0 +1,96 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <xen/init.h>
+#include <xen/lib.h>
+#include <xen/macros.h>
+#include <xen/sections.h>
+
+#include <asm/csr.h>
+#include <asm/flushtlb.h>
+#include <asm/riscv_encoding.h>
+
+unsigned char __ro_after_init gstage_mode;
+
+static void __init gstage_mode_detect(void)
+{
+    static const struct {
+        unsigned char mode;
+        unsigned int paging_levels;
+        const char name[8];
+    } modes[] __initconst = {
+        /*
+         * Based on the RISC-V spec:
+         *   Bare mode is always supported, regardless of SXLEN.
+         *   When SXLEN=32, the only other valid setting for MODE is Sv32.
+         *   When SXLEN=64, three paged virtual-memory schemes are defined:
+         *   Sv39, Sv48, and Sv57.
+         */
+#ifdef CONFIG_RISCV_32
+        { HGATP_MODE_SV32X4, 2, "Sv32x4" }
+#else
+        { HGATP_MODE_SV39X4, 3, "Sv39x4" },
+        { HGATP_MODE_SV48X4, 4, "Sv48x4" },
+        { HGATP_MODE_SV57X4, 5, "Sv57x4" },
+#endif
+    };
+
+    unsigned int mode_idx;
+
+    gstage_mode = HGATP_MODE_OFF;
+
+    for ( mode_idx = 0; mode_idx < ARRAY_SIZE(modes); mode_idx++ )
+    {
+        unsigned long mode = modes[mode_idx].mode;
+
+        csr_write(CSR_HGATP, MASK_INSR(mode, HGATP_MODE_MASK));
+
+        if ( MASK_EXTR(csr_read(CSR_HGATP), HGATP_MODE_MASK) == mode )
+        {
+            gstage_mode = mode;
+            break;
+        }
+    }
+
+    if ( gstage_mode == HGATP_MODE_OFF )
+        panic("Xen expects that G-stage won't be Bare mode\n");
+
+    printk("G-stage mode is %s\n", modes[mode_idx].name);
+
+    csr_write(CSR_HGATP, 0);
+
+    /*
+     * From RISC-V spec:
+     *   Speculative executions of the address-translation algorithm behave as
+     *   non-speculative executions of the algorithm do, except that they must
+     *   not set the dirty bit for a PTE, they must not trigger an exception,
+     *   and they must not create address-translation cache entries if those
+     *   entries would have been invalidated by any SFENCE.VMA instruction
+     *   executed by the hart since the speculative execution of the algorithm
+     *   began.
+     * The quote above mention explicitly SFENCE.VMA, but I assume it is true
+     * for HFENCE.VMA.
+     *
+     * Also, despite of the fact here it is mentioned that when V=0 two-stage
+     * address translation is inactivated:
+     *   The current virtualization mode, denoted V, indicates whether the hart
+     *   is currently executing in a guest. When V=1, the hart is either in
+     *   virtual S-mode (VS-mode), or in virtual U-mode (VU-mode) atop a guest
+     *   OS running in VS-mode. When V=0, the hart is either in M-mode, in
+     *   HS-mode, or in U-mode atop an OS running in HS-mode. The
+     *   virtualization mode also indicates whether two-stage address
+     *   translation is active (V=1) or inactive (V=0).
+     * But on the same side, writing to hgatp register activates it:
+     *   The hgatp register is considered active for the purposes of
+     *   the address-translation algorithm unless the effective privilege mode
+     *   is U and hstatus.HU=0.
+     *
+     * Thereby it leaves some room for speculation even in this stage of boot,
+     * so it could be that we polluted local TLB so flush all guest TLB.
+     */
+    local_hfence_gvma_all();
+}
+
+void __init pre_gstage_init(void)
+{
+    gstage_mode_detect();
+}
diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
index 483cdd7e17..c4f7793151 100644
--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -22,6 +22,7 @@
 #include <asm/early_printk.h>
 #include <asm/fixmap.h>
 #include <asm/intc.h>
+#include <asm/p2m.h>
 #include <asm/sbi.h>
 #include <asm/setup.h>
 #include <asm/traps.h>
@@ -148,6 +149,8 @@ void __init noreturn start_xen(unsigned long bootcpu_id,
 
     console_init_postirq();
 
+    pre_gstage_init();
+
     printk("All set up\n");
 
     machine_halt();
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Mon Oct 20 15:58:17 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 15:58:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146530.1478967 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAsH3-00058n-4l; Mon, 20 Oct 2025 15:58:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146530.1478967; Mon, 20 Oct 2025 15:58:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAsH3-00058f-1M; Mon, 20 Oct 2025 15:58:17 +0000
Received: by outflank-mailman (input) for mailman id 1146530;
 Mon, 20 Oct 2025 15:58: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
 <SRS0=Li3P=45=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1vAsH1-0004nC-7b
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 15:58:15 +0000
Received: from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com
 [2a00:1450:4864:20::52c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9550868d-adcd-11f0-980a-7dc792cee155;
 Mon, 20 Oct 2025 17:58:13 +0200 (CEST)
Received: by mail-ed1-x52c.google.com with SMTP id
 4fb4d7f45d1cf-62fca01f0d9so9337683a12.3
 for <xen-devel@lists.xenproject.org>; Mon, 20 Oct 2025 08:58:13 -0700 (PDT)
Received: from fedora (user-109-243-146-38.play-internet.pl. [109.243.146.38])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-63c48ab560esm6966067a12.12.2025.10.20.08.58.11
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 20 Oct 2025 08:58:12 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9550868d-adcd-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760975893; x=1761580693; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=/y05n2DKnmJHAJJHwjH/Vcvfok/SLwNyKqUSGzwe0iw=;
        b=Qk2CnEbHmsiBxLmnUNcDPiPsWtvQEHwrXWCoXsSEWBc5fy5MzQ94mswq0hMWWBTd7u
         eo20HZgEvwOoxtr/LiX/HWI4BDOyhVAI+mnK0p1HPkTf+MNuJ9gJIIHvfUbzocAgE7dn
         q6Gqoo4wfFndxZqBmtRu+glMSX2zHt1T6mhmXcUWQF0+mtGsYQ6HNnqjwODg3Gpoh0Eq
         0UmrwDjLf4uk51uEk5F8erAHJYHSFbZgURE7Ogrn490adNtqZZV16BdRgSfzF/0ZrwWp
         r6xh/aoYlNLARLnWP/fmq/Oj3hUnpUHjn7QD87SS3EPXqgTsv2A4iZnyV8FyYE90B+54
         kMUw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760975893; x=1761580693;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=/y05n2DKnmJHAJJHwjH/Vcvfok/SLwNyKqUSGzwe0iw=;
        b=Ll6MZEyAydozKz9dgmBVv7Z48I2p2EyEnuplD6ZJkbX/eZrlfBiTQlP6J99dxqq/JH
         Sv91o15SANKOq9pUN09sSNljsAhqQipfTfjSwDm3/35PiRhLB7YOFFqvtsT1a1kpJ88g
         qUTlMHW1FEqtGma4Yl7U3ywtktFTQmZVYQiUqlbBrp7Rdx7KphqnqqzD7uYS5TPLLVe2
         f9/XFBXHmE8dmwUob+XJyIja/BeuDMLrOPUO6YM+bFuXFAmr3egiT/F7qRaeg2PHiSBM
         6KFI7VCcSUhN89OnWfUG1YlJdMlLoxFkUktK+ro3snioeWixtwVmRilIW4bdZz/UJ/DC
         KsmQ==
X-Gm-Message-State: AOJu0Yw9s0b9zT3gk1qP0jbJPD6XQzn7IFvh3Nnj/nSvFuqPrC8Giq8h
	RKjbKNTwkUsFWqHiMPGZo/TZTQKG5Ucc6GDDtfpvUO0Brs/u43F7PFGP60UH8g==
X-Gm-Gg: ASbGncsLov48qtHP06aV+QlFxCS7FhKMx8d1caGfhwNyV8OPd5kP06NsVJ5GXPnp9+K
	bPsVtAeBnY1U/hLbpbw56pGEPS3vYfOuKLJVQ6JYoby+Xmu8uQ2JNRwlpEBZYrdewLOuDDBavBY
	9/FzMLHKRwknxhMcrK6QxEKagQT+D5HzL8kofLtJa6n8+26wZItmLwExR9CN2o5PwUmTI9oyl2Q
	Z0mHxbsd2JMo94Ws6j7GA7I2KGEkM3wpqxJHgHiCzZOBcLzPxWQQnghrW44M3eRt9u0huVtEqx0
	eANCf105ZEANu/vCY89/ahCB/bdPw0QifJxQpVUAUCTm4uLTbTMmDKj5gFkWR9MQU8YqtX1frJk
	FsO0CteswQt6iRoboYQPDu6SeIB/pt9fG7JWGRS7f1IszMKsgZB6GjLoFpl7bBFuyTpBluUtfDp
	mwa8RHOtc3FADRLQNClKUOzxCztEzPOQyPPSapBNkxroaNsf480BND6PgFhQ==
X-Google-Smtp-Source: AGHT+IFoTak8cjvxQ9wSERYZP5+g/J05ZFd8if40eyHWghby7dkpCqP86idSOalUSXml7xX4uhDbhg==
X-Received: by 2002:a05:6402:909:b0:639:f7b5:9c2d with SMTP id 4fb4d7f45d1cf-63c1f641924mr13404041a12.9.1760975892456;
        Mon, 20 Oct 2025 08:58:12 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [for 4.22 v5 02/18] xen/riscv: introduce VMID allocation and manegement
Date: Mon, 20 Oct 2025 17:57:45 +0200
Message-ID: <bdbe6c13991c2d166614795d43db3f71d790c00f.1760974017.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <cover.1760974017.git.oleksii.kurochko@gmail.com>
References: <cover.1760974017.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Current implementation is based on x86's way to allocate VMIDs:
  VMIDs partition the physical TLB. In the current implementation VMIDs are
  introduced to reduce the number of TLB flushes. Each time a guest-physical
  address space changes, instead of flushing the TLB, a new VMID is
  assigned. This reduces the number of TLB flushes to at most 1/#VMIDs.
  The biggest advantage is that hot parts of the hypervisor's code and data
  retain in the TLB.

  VMIDs are a hart-local resource.  As preemption of VMIDs is not possible,
  VMIDs are assigned in a round-robin scheme. To minimize the overhead of
  VMID invalidation, at the time of a TLB flush, VMIDs are tagged with a
  64-bit generation. Only on a generation overflow the code needs to
  invalidate all VMID information stored at the VCPUs with are run on the
  specific physical processor. When this overflow appears VMID usage is
  disabled to retain correctness.

Only minor changes are made compared to the x86 implementation.
These include using RISC-V-specific terminology, adding a check to ensure
the type used for storing the VMID has enough bits to hold VMIDLEN,
and introducing a new function vmidlen_detect() to clarify the VMIDLEN
value, rename stuff connected to VMID enable/disable to "VMID use
enable/disable".

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V5:
 - Rename opt_vmid_use_enabled with opt_vmid to be in sync with command line
   option.
 - Invert the expression for data->used = ... and swap "dis" and "en". Also,
   invert usage of data->used elsewhere.
 - s/vcpu_vmid_flush_vcpu/vmid_flush_vcpu.
 - Add prototypes to asm/vmid.h which could be used outside vmid.c.
 - Update the comment in vmidlen_detect(): instead of Section 3.7 ->
   Section "Physical Memory Protection".
 - Move vmid_init() call to pre_gstage_init().
---
Changes in V4:
 - s/guest's virtual/guest-physical in the comment inside vmid.c
   and in commit message.
 - Drop x86-related numbers in the comment about "Sketch of the Implementation".
 - s/__read_only/__ro_after_init in declaration of opt_vmid_enabled.
 - s/hart_vmid_generation/generation.
 - Update vmidlen_detect() to work with unsigned int type for vmid_bits
   variable.
 - Drop old variable im vmdidlen_detetct, it seems like there is no any reason
   to restore old value of hgatp with no guest running on a hart yet.
 - Update the comment above local_hfence_gvma_all() in vmidlen_detect().
 - s/max_availalbe_bits/max_available_bits.
 - use BITS_PER_BYTE, instead of "<< 3".
 - Add BUILD_BUILD_BUG_ON() instead run-time check that an amount of set bits
   can be held in vmid_data->max_vmid.
 - Apply changes from the patch "x86/HVM: polish hvm_asid_init() a little" here
   (changes connected to g_disabled) with the following minor changes:
   Update the printk() message to "VMIDs use is...".
   Rename g_disabled to g_vmid_used.
 - Rename member 'disabled' of vmid_data structure to used.
 - Use gstage_mode to properly detect VMIDLEN.
---
Changes in V3:
 - Reimplemnt VMID allocation similar to what x86 has implemented.
---
Changes in V2:
 - New patch.
---
 xen/arch/riscv/Makefile             |   1 +
 xen/arch/riscv/include/asm/domain.h |   6 +
 xen/arch/riscv/include/asm/vmid.h   |  14 ++
 xen/arch/riscv/p2m.c                |   3 +
 xen/arch/riscv/vmid.c               | 193 ++++++++++++++++++++++++++++
 5 files changed, 217 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/vmid.h
 create mode 100644 xen/arch/riscv/vmid.c

diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
index 264e265699..e2499210c8 100644
--- a/xen/arch/riscv/Makefile
+++ b/xen/arch/riscv/Makefile
@@ -17,6 +17,7 @@ obj-y += smpboot.o
 obj-y += stubs.o
 obj-y += time.o
 obj-y += traps.o
+obj-y += vmid.o
 obj-y += vm_event.o
 
 $(TARGET): $(TARGET)-syms
diff --git a/xen/arch/riscv/include/asm/domain.h b/xen/arch/riscv/include/asm/domain.h
index c3d965a559..aac1040658 100644
--- a/xen/arch/riscv/include/asm/domain.h
+++ b/xen/arch/riscv/include/asm/domain.h
@@ -5,6 +5,11 @@
 #include <xen/xmalloc.h>
 #include <public/hvm/params.h>
 
+struct vcpu_vmid {
+    uint64_t generation;
+    uint16_t vmid;
+};
+
 struct hvm_domain
 {
     uint64_t              params[HVM_NR_PARAMS];
@@ -14,6 +19,7 @@ struct arch_vcpu_io {
 };
 
 struct arch_vcpu {
+    struct vcpu_vmid vmid;
 };
 
 struct arch_domain {
diff --git a/xen/arch/riscv/include/asm/vmid.h b/xen/arch/riscv/include/asm/vmid.h
new file mode 100644
index 0000000000..1c500c4aff
--- /dev/null
+++ b/xen/arch/riscv/include/asm/vmid.h
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#ifndef ASM_RISCV_VMID_H
+#define ASM_RISCV_VMID_H
+
+struct vcpu;
+struct vcpu_vmid;
+
+void vmid_init(void);
+bool vmid_handle_vmenter(struct vcpu_vmid *vmid);
+void vmid_flush_vcpu(struct vcpu *v);
+void vmid_flush_hart(void);
+
+#endif /* ASM_RISCV_VMID_H */
diff --git a/xen/arch/riscv/p2m.c b/xen/arch/riscv/p2m.c
index 00fe676089..d8027a270f 100644
--- a/xen/arch/riscv/p2m.c
+++ b/xen/arch/riscv/p2m.c
@@ -8,6 +8,7 @@
 #include <asm/csr.h>
 #include <asm/flushtlb.h>
 #include <asm/riscv_encoding.h>
+#include <asm/vmid.h>
 
 unsigned char __ro_after_init gstage_mode;
 
@@ -93,4 +94,6 @@ static void __init gstage_mode_detect(void)
 void __init pre_gstage_init(void)
 {
     gstage_mode_detect();
+
+    vmid_init();
 }
diff --git a/xen/arch/riscv/vmid.c b/xen/arch/riscv/vmid.c
new file mode 100644
index 0000000000..885d177e9f
--- /dev/null
+++ b/xen/arch/riscv/vmid.c
@@ -0,0 +1,193 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <xen/domain.h>
+#include <xen/init.h>
+#include <xen/sections.h>
+#include <xen/lib.h>
+#include <xen/param.h>
+#include <xen/percpu.h>
+
+#include <asm/atomic.h>
+#include <asm/csr.h>
+#include <asm/flushtlb.h>
+#include <asm/p2m.h>
+
+/* Xen command-line option to enable VMIDs */
+static bool __ro_after_init opt_vmid = true;
+boolean_param("vmid", opt_vmid);
+
+/*
+ * VMIDs partition the physical TLB. In the current implementation VMIDs are
+ * introduced to reduce the number of TLB flushes. Each time a guest-physical
+ * address space changes, instead of flushing the TLB, a new VMID is
+ * assigned. This reduces the number of TLB flushes to at most 1/#VMIDs.
+ * The biggest advantage is that hot parts of the hypervisor's code and data
+ * retain in the TLB.
+ *
+ * Sketch of the Implementation:
+ *
+ * VMIDs are a hart-local resource.  As preemption of VMIDs is not possible,
+ * VMIDs are assigned in a round-robin scheme. To minimize the overhead of
+ * VMID invalidation, at the time of a TLB flush, VMIDs are tagged with a
+ * 64-bit generation. Only on a generation overflow the code needs to
+ * invalidate all VMID information stored at the VCPUs with are run on the
+ * specific physical processor. When this overflow appears VMID usage is
+ * disabled to retain correctness.
+ */
+
+/* Per-Hart VMID management. */
+struct vmid_data {
+   uint64_t generation;
+   uint16_t next_vmid;
+   uint16_t max_vmid;
+   bool used;
+};
+
+static DEFINE_PER_CPU(struct vmid_data, vmid_data);
+
+static unsigned int vmidlen_detect(void)
+{
+    unsigned int vmid_bits;
+
+    /*
+     * According to the RISC-V Privileged Architecture Spec:
+     *   When MODE=Bare, guest physical addresses are equal to supervisor
+     *   physical addresses, and there is no further memory protection
+     *   for a guest virtual machine beyond the physical memory protection
+     *   scheme described in Section "Physical Memory Protection".
+     *   In this case, the remaining fields in hgatp must be set to zeros.
+     * Thereby it is necessary to set gstage_mode not equal to Bare.
+     */
+    ASSERT(gstage_mode != HGATP_MODE_OFF);
+    csr_write(CSR_HGATP,
+              MASK_INSR(gstage_mode, HGATP_MODE_MASK) | HGATP_VMID_MASK);
+    vmid_bits = MASK_EXTR(csr_read(CSR_HGATP), HGATP_VMID_MASK);
+    vmid_bits = flsl(vmid_bits);
+    csr_write(CSR_HGATP, _AC(0, UL));
+
+    /*
+     * From RISC-V spec:
+     *   Speculative executions of the address-translation algorithm behave as
+     *   non-speculative executions of the algorithm do, except that they must
+     *   not set the dirty bit for a PTE, they must not trigger an exception,
+     *   and they must not create address-translation cache entries if those
+     *   entries would have been invalidated by any SFENCE.VMA instruction
+     *   executed by the hart since the speculative execution of the algorithm
+     *   began.
+     *
+     * Also, despite of the fact here it is mentioned that when V=0 two-stage
+     * address translation is inactivated:
+     *   The current virtualization mode, denoted V, indicates whether the hart
+     *   is currently executing in a guest. When V=1, the hart is either in
+     *   virtual S-mode (VS-mode), or in virtual U-mode (VU-mode) atop a guest
+     *   OS running in VS-mode. When V=0, the hart is either in M-mode, in
+     *   HS-mode, or in U-mode atop an OS running in HS-mode. The
+     *   virtualization mode also indicates whether two-stage address
+     *   translation is active (V=1) or inactive (V=0).
+     * But on the same side, writing to hgatp register activates it:
+     *   The hgatp register is considered active for the purposes of
+     *   the address-translation algorithm unless the effective privilege mode
+     *   is U and hstatus.HU=0.
+     *
+     * Thereby it leaves some room for speculation even in this stage of boot,
+     * so it could be that we polluted local TLB so flush all guest TLB.
+     */
+    local_hfence_gvma_all();
+
+    return vmid_bits;
+}
+
+void vmid_init(void)
+{
+    static int8_t g_vmid_used = -1;
+
+    unsigned int vmid_len = vmidlen_detect();
+    struct vmid_data *data = &this_cpu(vmid_data);
+
+    BUILD_BUG_ON((HGATP_VMID_MASK >> HGATP_VMID_SHIFT) >
+                 (BIT((sizeof(data->max_vmid) * BITS_PER_BYTE), UL) - 1));
+
+    data->max_vmid = BIT(vmid_len, U) - 1;
+    data->used = opt_vmid && (vmid_len > 1);
+
+    if ( g_vmid_used < 0 )
+    {
+        g_vmid_used = data->used;
+        printk("VMIDs use is %sabled\n", data->used ? "en" : "dis");
+    }
+    else if ( g_vmid_used != data->used )
+        printk("CPU%u: VMIDs use is %sabled\n", smp_processor_id(),
+               data->used ? "en" : "dis");
+
+    /* Zero indicates 'invalid generation', so we start the count at one. */
+    data->generation = 1;
+
+    /* Zero indicates 'VMIDs use disabled', so we start the count at one. */
+    data->next_vmid = 1;
+}
+
+void vmid_flush_vcpu(struct vcpu *v)
+{
+    write_atomic(&v->arch.vmid.generation, 0);
+}
+
+void vmid_flush_hart(void)
+{
+    struct vmid_data *data = &this_cpu(vmid_data);
+
+    if ( !data->used )
+        return;
+
+    if ( likely(++data->generation != 0) )
+        return;
+
+    /*
+     * VMID generations are 64 bit.  Overflow of generations never happens.
+     * For safety, we simply disable ASIDs, so correctness is established; it
+     * only runs a bit slower.
+     */
+    printk("%s: VMID generation overrun. Disabling VMIDs.\n", __func__);
+    data->used = false;
+}
+
+bool vmid_handle_vmenter(struct vcpu_vmid *vmid)
+{
+    struct vmid_data *data = &this_cpu(vmid_data);
+
+    /* Test if VCPU has valid VMID. */
+    if ( read_atomic(&vmid->generation) == data->generation )
+        return 0;
+
+    /* If there are no free VMIDs, need to go to a new generation. */
+    if ( unlikely(data->next_vmid > data->max_vmid) )
+    {
+        vmid_flush_hart();
+        data->next_vmid = 1;
+        if ( !data->used )
+            goto disabled;
+    }
+
+    /* Now guaranteed to be a free VMID. */
+    vmid->vmid = data->next_vmid++;
+    write_atomic(&vmid->generation, data->generation);
+
+    /*
+     * When we assign VMID 1, flush all TLB entries as we are starting a new
+     * generation, and all old VMID allocations are now stale.
+     */
+    return (vmid->vmid == 1);
+
+ disabled:
+    vmid->vmid = 0;
+    return 0;
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Mon Oct 20 15:58:17 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 15:58:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146531.1478976 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAsH3-0005FZ-Qt; Mon, 20 Oct 2025 15:58:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146531.1478976; Mon, 20 Oct 2025 15:58:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAsH3-0005ER-H1; Mon, 20 Oct 2025 15:58:17 +0000
Received: by outflank-mailman (input) for mailman id 1146531;
 Mon, 20 Oct 2025 15:58:16 +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
 <SRS0=Li3P=45=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1vAsH2-0004DQ-1W
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 15:58:16 +0000
Received: from mail-ed1-x532.google.com (mail-ed1-x532.google.com
 [2a00:1450:4864:20::532])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 96753a5a-adcd-11f0-9d15-b5c5bf9af7f9;
 Mon, 20 Oct 2025 17:58:15 +0200 (CEST)
Received: by mail-ed1-x532.google.com with SMTP id
 4fb4d7f45d1cf-63bf76fc9faso8302567a12.2
 for <xen-devel@lists.xenproject.org>; Mon, 20 Oct 2025 08:58:15 -0700 (PDT)
Received: from fedora (user-109-243-146-38.play-internet.pl. [109.243.146.38])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-63c48ab560esm6966067a12.12.2025.10.20.08.58.13
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 20 Oct 2025 08:58:14 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 96753a5a-adcd-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760975895; x=1761580695; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=xwDKzNBkEuRF0ZdPhrZFeDoixfetRhPSzH8aOqVCTKk=;
        b=Az5YSpuSkFEsODa2pwj0oG85ysGEUab0+Bd6PDkeafdv+TWBR6EzjLA7dMxGIBGj3E
         KpaAhx6odOT6Q+7/cyDGi+QQZcTaTSpiEqZjiSVwL9aQ4+pjwx5qLL02NOWBEyBChTlW
         aUlFrF2c1Y7cfnrCTpAAJ5R12A+qgDovN2CqAg19T0ZBFEKMmXPo9LIylXX6+LnEgt7v
         mNLSmwH0xPykvsKuJxKmgBeOAXOiaN2NoRA9F8itG9JsO7xfoApj6ZRBViuKOfKGvJ3g
         0pCqi8spjhJjRaHxYDC9LyRZwTkVdX1PeI4igdOaKbmKmYnSsRdbyBxhcqKMObnKY05Q
         o6TQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760975895; x=1761580695;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=xwDKzNBkEuRF0ZdPhrZFeDoixfetRhPSzH8aOqVCTKk=;
        b=J8c/eil00v6TUdwrRNxfpJV1/kpM0L1Gg8xtgmB9TMdvLCgxXk0gTzqvPGjPusht/K
         ePMIr/ejDrO+CgQkSpbKKGXA7Lrwk04CxezYoVWLG0CjBY6VhJUj30X2dOrNbntS6wDR
         7hS6+bMc+muCA9yTUwdCpmfsbV0+3V6AMw54EnPU4Z3hJBjhweL46ToHcWuTvei48IaT
         bRj2CQPpAQ8EBUfkXrNPB1I4/sIvOaR5QxH0+rGfNZntY87s/nxXDK/qXfiyrlIjoqqd
         KQS+9OH1/+H27XRNXdi259z5iWHIfJ2JOoexTaoCr4IIniDanSF9INiL4r4F8Dq5oJ5O
         08Qw==
X-Gm-Message-State: AOJu0Yz/6ZgNAENRq4hU2LQ0F0cDLflvysM4N8BAatRGsnBvVaF52Lr3
	IVPwmnezIzHFoqCB2F52zwsNFaWNj/X5XXQGYnKM08tk1bvF2lj32sbvCGXlmA==
X-Gm-Gg: ASbGncsW28PG4reKyhOv9MLo7g3ZfGWcECqev7HjN7C0ChwHtPJSzh3t31rLWDydAoV
	/NT5afD/ZDz37rMYQwBqvg6bFew5nXH+OYI/6sO8qGpOynukgG21vGWGctQgnVbTcdLUhxJKszd
	t/6YiXcEsVZ5rdY2ia8PABfwxnE6bEjzKj2XrkjXY70oqTDdeIbZ+nQcCHbYuESWLsTwk7wwD4p
	LXd7gG/vLROqyndz2L6c/lBN5yS0bqY9eiFL8LdAn9b7HrUqvSz3n1dNGbVo543jYTodeFa1SB6
	cZW0FyLdZrAwLchbEznj/imkZm77yBYburrk1lrGRd+6Xm8Z6EZQ/sucZ1zpbUZISZIjZx8EoPh
	9OKUyp2BtzbmLsGXY6knQhBajh41VZRq3torAk4aygtkOi/IGgfL+fbfcHrq7fQtKcnmJGC0Mo5
	QjUwHxZsDIUU+go4SgoBsFuiRyBez7Z0s0vQEYXrzl9HXNzBo=
X-Google-Smtp-Source: AGHT+IGl4ntJ2yzEV41chreIWSts04kN3vEIg0tLJQTkQG3AV3/i81AYKX2trmATKDRQtdj0FhAuHA==
X-Received: by 2002:a05:6402:3585:b0:636:240f:9ece with SMTP id 4fb4d7f45d1cf-63c1f6d90d0mr13129399a12.34.1760975894485;
        Mon, 20 Oct 2025 08:58:14 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [for 4.22 v5 04/18] xen/riscv: construct the P2M pages pool for guests
Date: Mon, 20 Oct 2025 17:57:47 +0200
Message-ID: <4e0449c9c337f64df5251dd0aa089171a4847d4e.1760974017.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <cover.1760974017.git.oleksii.kurochko@gmail.com>
References: <cover.1760974017.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Implement p2m_set_allocation() to construct p2m pages pool for guests
based on required number of pages.

This is implemented by:
- Adding a `struct paging_domain` which contains a freelist, a
  counter variable and a spinlock to `struct arch_domain` to
  indicate the free p2m pages and the number of p2m total pages in
  the p2m pages pool.
- Adding a helper `p2m_set_allocation` to set the p2m pages pool
  size. This helper should be called before allocating memory for
  a guest and is called from domain_p2m_set_allocation(), the latter
  is a part of common dom0less code.
- Adding implementation of paging_freelist_adjust() and
  paging_domain_init().

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V5:
 - Nothing changed. Only rebase.
---
Changes in V4:
 - s/paging_freelist_init/paging_freelist_adjust.
 - Add empty line between definiton of paging_freelist_adjust()
   and paging_domain_init().
 - Update commit message.
 - Add Acked-by: Jan Beulich <jbeulich@suse.com>.
---
Changes in v3:
 - Drop usage of p2m_ prefix inside struct paging_domain().
 - Introduce paging_domain_init() to init paging struct.
---
Changes in v2:
 - Drop the comment above inclusion of <xen/event.h> in riscv/p2m.c.
 - Use ACCESS_ONCE() for lhs and rhs for the expressions in
   p2m_set_allocation().
---
 xen/arch/riscv/Makefile             |  1 +
 xen/arch/riscv/include/asm/Makefile |  1 -
 xen/arch/riscv/include/asm/domain.h | 12 ++++++
 xen/arch/riscv/include/asm/paging.h | 13 ++++++
 xen/arch/riscv/p2m.c                | 18 ++++++++
 xen/arch/riscv/paging.c             | 65 +++++++++++++++++++++++++++++
 6 files changed, 109 insertions(+), 1 deletion(-)
 create mode 100644 xen/arch/riscv/include/asm/paging.h
 create mode 100644 xen/arch/riscv/paging.c

diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
index e2499210c8..6b912465b9 100644
--- a/xen/arch/riscv/Makefile
+++ b/xen/arch/riscv/Makefile
@@ -6,6 +6,7 @@ obj-y += imsic.o
 obj-y += intc.o
 obj-y += irq.o
 obj-y += mm.o
+obj-y += paging.o
 obj-y += pt.o
 obj-y += p2m.o
 obj-$(CONFIG_RISCV_64) += riscv64/
diff --git a/xen/arch/riscv/include/asm/Makefile b/xen/arch/riscv/include/asm/Makefile
index bfdf186c68..3824f31c39 100644
--- a/xen/arch/riscv/include/asm/Makefile
+++ b/xen/arch/riscv/include/asm/Makefile
@@ -6,7 +6,6 @@ generic-y += hardirq.h
 generic-y += hypercall.h
 generic-y += iocap.h
 generic-y += irq-dt.h
-generic-y += paging.h
 generic-y += percpu.h
 generic-y += perfc_defn.h
 generic-y += random.h
diff --git a/xen/arch/riscv/include/asm/domain.h b/xen/arch/riscv/include/asm/domain.h
index e688980efa..316e7c6c84 100644
--- a/xen/arch/riscv/include/asm/domain.h
+++ b/xen/arch/riscv/include/asm/domain.h
@@ -2,6 +2,8 @@
 #ifndef ASM__RISCV__DOMAIN_H
 #define ASM__RISCV__DOMAIN_H
 
+#include <xen/mm.h>
+#include <xen/spinlock.h>
 #include <xen/xmalloc.h>
 #include <public/hvm/params.h>
 
@@ -24,11 +26,21 @@ struct arch_vcpu {
     struct vcpu_vmid vmid;
 };
 
+struct paging_domain {
+    spinlock_t lock;
+    /* Free pages from the pre-allocated pool */
+    struct page_list_head freelist;
+    /* Number of pages from the pre-allocated pool */
+    unsigned long total_pages;
+};
+
 struct arch_domain {
     struct hvm_domain hvm;
 
     /* Virtual MMU */
     struct p2m_domain p2m;
+
+    struct paging_domain paging;
 };
 
 #include <xen/sched.h>
diff --git a/xen/arch/riscv/include/asm/paging.h b/xen/arch/riscv/include/asm/paging.h
new file mode 100644
index 0000000000..98d8b06d45
--- /dev/null
+++ b/xen/arch/riscv/include/asm/paging.h
@@ -0,0 +1,13 @@
+#ifndef ASM_RISCV_PAGING_H
+#define ASM_RISCV_PAGING_H
+
+#include <asm-generic/paging.h>
+
+struct domain;
+
+int paging_domain_init(struct domain *d);
+
+int paging_freelist_adjust(struct domain *d, unsigned long pages,
+                           bool *preempted);
+
+#endif /* ASM_RISCV_PAGING_H */
diff --git a/xen/arch/riscv/p2m.c b/xen/arch/riscv/p2m.c
index 1b5fc7ffff..d670e7612a 100644
--- a/xen/arch/riscv/p2m.c
+++ b/xen/arch/riscv/p2m.c
@@ -11,6 +11,7 @@
 
 #include <asm/csr.h>
 #include <asm/flushtlb.h>
+#include <asm/paging.h>
 #include <asm/riscv_encoding.h>
 #include <asm/vmid.h>
 
@@ -112,8 +113,25 @@ int p2m_init(struct domain *d)
      */
     p2m->domain = d;
 
+    paging_domain_init(d);
+
     rwlock_init(&p2m->lock);
     INIT_PAGE_LIST_HEAD(&p2m->pages);
 
     return 0;
 }
+
+/*
+ * Set the pool of pages to the required number of pages.
+ * Returns 0 for success, non-zero for failure.
+ * Call with d->arch.paging.lock held.
+ */
+int p2m_set_allocation(struct domain *d, unsigned long pages, bool *preempted)
+{
+    int rc;
+
+    if ( (rc = paging_freelist_adjust(d, pages, preempted)) )
+        return rc;
+
+    return 0;
+}
diff --git a/xen/arch/riscv/paging.c b/xen/arch/riscv/paging.c
new file mode 100644
index 0000000000..2df8de033b
--- /dev/null
+++ b/xen/arch/riscv/paging.c
@@ -0,0 +1,65 @@
+#include <xen/event.h>
+#include <xen/lib.h>
+#include <xen/mm.h>
+#include <xen/sched.h>
+#include <xen/spinlock.h>
+
+int paging_freelist_adjust(struct domain *d, unsigned long pages,
+                           bool *preempted)
+{
+    struct page_info *pg;
+
+    ASSERT(spin_is_locked(&d->arch.paging.lock));
+
+    for ( ; ; )
+    {
+        if ( d->arch.paging.total_pages < pages )
+        {
+            /* Need to allocate more memory from domheap */
+            pg = alloc_domheap_page(d, MEMF_no_owner);
+            if ( pg == NULL )
+            {
+                printk(XENLOG_ERR "Failed to allocate pages.\n");
+                return -ENOMEM;
+            }
+            ACCESS_ONCE(d->arch.paging.total_pages)++;
+            page_list_add_tail(pg, &d->arch.paging.freelist);
+        }
+        else if ( d->arch.paging.total_pages > pages )
+        {
+            /* Need to return memory to domheap */
+            pg = page_list_remove_head(&d->arch.paging.freelist);
+            if ( pg )
+            {
+                ACCESS_ONCE(d->arch.paging.total_pages)--;
+                free_domheap_page(pg);
+            }
+            else
+            {
+                printk(XENLOG_ERR
+                       "Failed to free pages, freelist is empty.\n");
+                return -ENOMEM;
+            }
+        }
+        else
+            break;
+
+        /* Check to see if we need to yield and try again */
+        if ( preempted && general_preempt_check() )
+        {
+            *preempted = true;
+            return -ERESTART;
+        }
+    }
+
+    return 0;
+}
+
+/* Domain paging struct initialization. */
+int paging_domain_init(struct domain *d)
+{
+    spin_lock_init(&d->arch.paging.lock);
+    INIT_PAGE_LIST_HEAD(&d->arch.paging.freelist);
+
+    return 0;
+}
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Mon Oct 20 15:58:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 15:58:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146534.1478988 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAsH5-0005bi-1l; Mon, 20 Oct 2025 15:58:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146534.1478988; Mon, 20 Oct 2025 15:58:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAsH4-0005bV-Tj; Mon, 20 Oct 2025 15:58:18 +0000
Received: by outflank-mailman (input) for mailman id 1146534;
 Mon, 20 Oct 2025 15:58:17 +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
 <SRS0=Li3P=45=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1vAsH3-0004nC-7n
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 15:58:17 +0000
Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com
 [2a00:1450:4864:20::62f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 95ea76c2-adcd-11f0-980a-7dc792cee155;
 Mon, 20 Oct 2025 17:58:14 +0200 (CEST)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-b3ee18913c0so870538066b.3
 for <xen-devel@lists.xenproject.org>; Mon, 20 Oct 2025 08:58:14 -0700 (PDT)
Received: from fedora (user-109-243-146-38.play-internet.pl. [109.243.146.38])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-63c48ab560esm6966067a12.12.2025.10.20.08.58.12
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 20 Oct 2025 08:58:13 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 95ea76c2-adcd-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760975894; x=1761580694; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=wecPnZFJv0wnMS4ig6zr3MGm5VBHMau7nZwYYP2IRvA=;
        b=J+JGg8e06sxdtJoZZzHvJnio8X767UEvYyWTUF4K7gmGH6QLbGrM4YP59/3dmYNzMe
         V/l3djYvKtYO6c2fP8iHFaWrhPMCcQ+BpGlM1NWH9GoAbVSL9fd2PBHpzAOTmCHMlXt9
         9YaQ9b5a2EOt0qo6pxbLRlolX/eumHJ7rKn2Lj/jgMosrsxVo0QV01L4iC3LwdMfXLTX
         DM5tf+qL1f/22IxOhrDr6Zn0f965YPJYwV90JPjr1yUgXWElfs8oUz4Qsow6z+j0cqyc
         wKnxuTQRUzT+bHSifRIQhkNywPNboQcgOfszAi8coG8ORYhlN+yEjciQiqgh+ZhFKrSM
         14sA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760975894; x=1761580694;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=wecPnZFJv0wnMS4ig6zr3MGm5VBHMau7nZwYYP2IRvA=;
        b=evr2GY/xZFn6TYwu6kKtQ63efRWiA4YZ5lejsENiRT6l8tSyOtWM2i78ZARmBqn8gE
         /OxBxiEPB5/T3je7CZmprjYuN/pZWUXxvPt4j96zMWLTswvyC/u6BLD/hVLF/VKye8dr
         DqBnPhjf5Hm52nnIDVbXYZJUpOWHBqnWuDRuh0qWoRKCnr7f1grnwDzBB5ji9xQiOy1F
         UQZigjvEqjWzzeozJmdzBlIObUD50Mj7PDAKh0Rxvs/m27fhO1v3RWmAJ2qWbsHGTgeX
         oks8hG7YATb2P71wtn3xeHSTR/LJAGZ7jf9UDJm5qRNzk61E5PojwV/QQSkHnnqw5jIo
         2I1Q==
X-Gm-Message-State: AOJu0YxYi2paf94Bv12wj20mr5vdEUJPobqt5J2a1jw8sdtr+8jZh+PP
	NemvTVm8Iq7QQCAW6yYdHGvSX8BudLX+DvQbZXz44LKxXYf3zl4WTDmU3zPy+A==
X-Gm-Gg: ASbGncs16fbepDdCZ6V78oTOpcgSNreuPIBtJCz/4r7wSsOYhFFgdPiTy48bxn+re5x
	5DR1NOK1pG/YBcEyja8DY+mA2Kge7oEmPRHAaY7rJ31cRcc9fSgjhecinu9+hOetOHOBqGQk+k9
	uGxK64e7rqNPtcl/9UpKZZyXZUlwhlFpsITVVMsqd2m9CEN4aYVJsuMxlgIiUgGVa5/bqxzUgWQ
	w8B6D8//onW0+dXQssFlWZbyLwgMogz+RHtgEbcZDCdE3H2cLYYBJPLskZhXpoVT6bjhQO4Pvqf
	ziNCEIeFlLbuHKGa7R1lhlJImtbiViB6e8M9p8MBDRW89bjM7Q3uFMjthRg/hpzJkI7+fvJpGld
	SF7B5YNpjSwTMTynJbnsiNRknkvUSwYY8mgI4dYvQrOdRDD9vxFTZWxUtdTBCteEHG6rCIeDlpE
	OaH/Doq5ldW4TvPYnSn4pwhzDqw6kqAI89ght+a8BFSybC9Y4bRpMaCl4cpA==
X-Google-Smtp-Source: AGHT+IG1rAVrZN6lyAO+M3rLhzh4FyxcVFnr6yzjtfxJw4qj0QErTQbCo7BJhuzhFlm7zXj9egTUew==
X-Received: by 2002:a17:907:6d02:b0:b4a:d0cf:8748 with SMTP id a640c23a62f3a-b647254f6a7mr1485479566b.13.1760975893464;
        Mon, 20 Oct 2025 08:58:13 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [for 4.22 v5 03/18] xen/riscv: introduce things necessary for p2m initialization
Date: Mon, 20 Oct 2025 17:57:46 +0200
Message-ID: <661ae486683d1ea9846c9a2ade39037f220c2ee0.1760974017.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <cover.1760974017.git.oleksii.kurochko@gmail.com>
References: <cover.1760974017.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce the following things:
- Update p2m_domain structure, which describe per p2m-table state, with:
  - lock to protect updates to p2m.
  - pool with pages used to construct p2m.
  - back pointer to domain structure.
- p2m_init() to initalize members introduced in p2m_domain structure.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V5:
 - Acked-by: Jan Beulich <jbeulich@suse.com>.
---
Changes in V4:
 - Move an introduction of clean_pte member of p2m_domain structure to the
   patch where it is started to be used:
     xen/riscv: add root page table allocation
 - Add prototype of p2m_init() to asm/p2m.h.
---
Changes in V3:
 - s/p2m_type/p2m_types.
 - Drop init. of p2m->clean_pte in p2m_init() as CONFIG_HAS_PASSTHROUGH is
   going to be selected unconditionaly. Plus CONFIG_HAS_PASSTHROUGH isn't
   ready to be used for RISC-V.
   Add compilation error to not forget to init p2m->clean_pte.
 - Move defintion of p2m->domain up in p2m_init().
 - Add iommu_use_hap_pt() when p2m->clean_pte is initialized.
 - Add the comment above p2m_types member of p2m_domain struct.
 - Add need_flush member to p2m_domain structure.
 - Move introduction of p2m_write_(un)lock() and p2m_tlb_flush_sync()
   to the patch where they are really used:
     xen/riscv: implement guest_physmap_add_entry() for mapping GFNs to MFN
 - Add p2m member to arch_domain structure.
 - Drop p2m_types from struct p2m_domain as P2M type for PTE will be stored
   differently.
 - Drop default_access as it isn't going to be used for now.
 - Move defintion of p2m_is_write_locked() to "implement function to map memory
   in guest p2m"  where it is really used.
---
Changes in V2:
 - Use introduced erlier sbi_remote_hfence_gvma_vmid() for proper implementation
   of p2m_force_tlb_flush_sync() as TLB flushing needs to happen for each pCPU
   which potentially has cached a mapping, what is tracked by d->dirty_cpumask.
 - Drop unnecessary blanks.
 - Fix code style for # of pre-processor directive.
 - Drop max_mapped_gfn and lowest_mapped_gfn as they aren't used now.
 - [p2m_init()] Set p2m->clean_pte=false if CONFIG_HAS_PASSTHROUGH=n.
 - [p2m_init()] Update the comment above p2m->domain = d;
 - Drop p2m->need_flush as it seems to be always true for RISC-V and as a
   consequence drop p2m_tlb_flush_sync().
 - Move to separate patch an introduction of root page table allocation.
---
 xen/arch/riscv/include/asm/domain.h |  5 +++++
 xen/arch/riscv/include/asm/p2m.h    | 33 +++++++++++++++++++++++++++++
 xen/arch/riscv/p2m.c                | 20 +++++++++++++++++
 3 files changed, 58 insertions(+)

diff --git a/xen/arch/riscv/include/asm/domain.h b/xen/arch/riscv/include/asm/domain.h
index aac1040658..e688980efa 100644
--- a/xen/arch/riscv/include/asm/domain.h
+++ b/xen/arch/riscv/include/asm/domain.h
@@ -5,6 +5,8 @@
 #include <xen/xmalloc.h>
 #include <public/hvm/params.h>
 
+#include <asm/p2m.h>
+
 struct vcpu_vmid {
     uint64_t generation;
     uint16_t vmid;
@@ -24,6 +26,9 @@ struct arch_vcpu {
 
 struct arch_domain {
     struct hvm_domain hvm;
+
+    /* Virtual MMU */
+    struct p2m_domain p2m;
 };
 
 #include <xen/sched.h>
diff --git a/xen/arch/riscv/include/asm/p2m.h b/xen/arch/riscv/include/asm/p2m.h
index 3a5066f360..a129ed8392 100644
--- a/xen/arch/riscv/include/asm/p2m.h
+++ b/xen/arch/riscv/include/asm/p2m.h
@@ -3,6 +3,9 @@
 #define ASM__RISCV__P2M_H
 
 #include <xen/errno.h>
+#include <xen/mm.h>
+#include <xen/rwlock.h>
+#include <xen/types.h>
 
 #include <asm/page-bits.h>
 
@@ -10,6 +13,34 @@ extern unsigned char gstage_mode;
 
 #define paddr_bits PADDR_BITS
 
+/* Get host p2m table */
+#define p2m_get_hostp2m(d) (&(d)->arch.p2m)
+
+/* Per-p2m-table state */
+struct p2m_domain {
+    /*
+     * Lock that protects updates to the p2m.
+     */
+    rwlock_t lock;
+
+    /* Pages used to construct the p2m */
+    struct page_list_head pages;
+
+    /* Back pointer to domain */
+    struct domain *domain;
+
+    /*
+     * P2M updates may required TLBs to be flushed (invalidated).
+     *
+     * Flushes may be deferred by setting 'need_flush' and then flushing
+     * when the p2m write lock is released.
+     *
+     * If an immediate flush is required (e.g, if a super page is
+     * shattered), call p2m_tlb_flush_sync().
+     */
+    bool need_flush;
+};
+
 /*
  * List of possible type for each page in the p2m entry.
  * The number of available bit per page in the pte for this purpose is 2 bits.
@@ -92,6 +123,8 @@ static inline bool arch_acquire_resource_check(struct domain *d)
 
 void pre_gstage_init(void);
 
+int p2m_init(struct domain *d);
+
 #endif /* ASM__RISCV__P2M_H */
 
 /*
diff --git a/xen/arch/riscv/p2m.c b/xen/arch/riscv/p2m.c
index d8027a270f..1b5fc7ffff 100644
--- a/xen/arch/riscv/p2m.c
+++ b/xen/arch/riscv/p2m.c
@@ -3,6 +3,10 @@
 #include <xen/init.h>
 #include <xen/lib.h>
 #include <xen/macros.h>
+#include <xen/mm.h>
+#include <xen/paging.h>
+#include <xen/rwlock.h>
+#include <xen/sched.h>
 #include <xen/sections.h>
 
 #include <asm/csr.h>
@@ -97,3 +101,19 @@ void __init pre_gstage_init(void)
 
     vmid_init();
 }
+
+int p2m_init(struct domain *d)
+{
+    struct p2m_domain *p2m = p2m_get_hostp2m(d);
+
+    /*
+     * "Trivial" initialisation is now complete.  Set the backpointer so the
+     * users of p2m could get an access to domain structure.
+     */
+    p2m->domain = d;
+
+    rwlock_init(&p2m->lock);
+    INIT_PAGE_LIST_HEAD(&p2m->pages);
+
+    return 0;
+}
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Mon Oct 20 15:58:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 15:58:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146535.1478993 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAsH5-0005gq-Hp; Mon, 20 Oct 2025 15:58:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146535.1478993; Mon, 20 Oct 2025 15:58:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAsH5-0005fh-8p; Mon, 20 Oct 2025 15:58:19 +0000
Received: by outflank-mailman (input) for mailman id 1146535;
 Mon, 20 Oct 2025 15:58:17 +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
 <SRS0=Li3P=45=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1vAsH3-0004DQ-DH
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 15:58:17 +0000
Received: from mail-ed1-x534.google.com (mail-ed1-x534.google.com
 [2a00:1450:4864:20::534])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 970d4cf2-adcd-11f0-9d15-b5c5bf9af7f9;
 Mon, 20 Oct 2025 17:58:16 +0200 (CEST)
Received: by mail-ed1-x534.google.com with SMTP id
 4fb4d7f45d1cf-63c4b41b38cso5340706a12.3
 for <xen-devel@lists.xenproject.org>; Mon, 20 Oct 2025 08:58:16 -0700 (PDT)
Received: from fedora (user-109-243-146-38.play-internet.pl. [109.243.146.38])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-63c48ab560esm6966067a12.12.2025.10.20.08.58.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 20 Oct 2025 08:58:15 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 970d4cf2-adcd-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760975896; x=1761580696; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=d4LeRwtBJOEwSyKwlZa0Bl0iTw2Zj2W4a/5enu+YqJ8=;
        b=hSR6k43tg7soNRAVefJQhOPIKNx15U/hqBuDaqMKcFBu2W4ClNJr0PqCmS6aXMo6Xa
         TMmB7KRh8lf7u9ZnvNh6rC2oME9SwmNHlDUVQvzKTUg3KzmZ/e9TejgtGUJZoiGy8xFr
         Ou/vNcLqBAOFnDA3M+JodtUywSCOcqkUysy+8EvdY1ksLOPtlPt7vp7Eltv6zGlajw/6
         RiM31WJLhlpyu58+7yyXja7KSOaapO0mgUg47jTYtiwl7i51iRCTr8fb8413IbLE2mN2
         0QQyyLWkLhZfLxIDbnK3Og9vHd3RPmJMRlVwRyx9uQnbEedIcS3lZk1jEdH+RmmUwwih
         +9vQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760975896; x=1761580696;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=d4LeRwtBJOEwSyKwlZa0Bl0iTw2Zj2W4a/5enu+YqJ8=;
        b=qHXG4vkXU6HEx5tUolwfEkdUdybgG4CBTrSo3DiDCrnMf7fo0vBYyrTrPuyjzG/O5J
         8HMmSxAXPLfltsFak8f6l2HFKI8+dkOYYHewKnYKLpoR7TH8ybflFhsFjQ/aBC+Gnor9
         yAlvjPCcg+YjroPeJyEzZ9hS70ZYGnpMNmr9wsu+1oS+gXr9lXvI3l+kYomzQ6W8S4dn
         rE9i4o2O3sH4LoIbb5TngmBRtrfxf6MXwmZpgzJcFnp06T1dx0e+fzvUcN/gbvG1LxAr
         O9MT8gJevIG+tB6JEOTdYtCInZsclxLaQ86taoSTYRGE3FoZz46F2S9u9SNGf+toiyN4
         Ct4Q==
X-Gm-Message-State: AOJu0YySKX8+m+CP0PckFttvOiLlkisLFSPsKDaclE8n/zuHKhwcel72
	KdY7D6u3wE2dfJQlTKqJMfWrkebvCbnTMuInE5ZZlpSzZ8eYxiKos7hL2ZeWKQ==
X-Gm-Gg: ASbGncsAkOHPQq2g+C9CDOIIh8MzG9kZbgC3CwybNqzRIAvducyKhTGzP738t3LV3Wi
	gR/2oEEfIE+828tYpPrgl+phVC+jEcvxWFMW8rrLLA3kTstPGLUkAdHl8lCQxnN6KG66Dgj0XXp
	TmPGglX+bui6kdR5BHbjcOed+GbSFtBckv4tHuxYQg1fbn+UNlTIoAmyGaZ/mmyhhaEXcokJdC2
	2v/DZ7MRx39pc9CYYVL8U8RLS40FomvjyILanV5QCX4+GDVJxLRraxRfgqasS3oElbL7VfiieTv
	ehrimj/hvVXATLDm+ufFbL0gGWEBtqrVKpEELubOoDnisaZcR6lRYtSqBP5hfa/0xtN0GyyxANI
	kGjiJgANAWYDiDoTycUer2ui68gv12L9xjhztS34c2tu5V5OVPfBlZ8aBoDUeVQhaYb1YtCBXaQ
	b+87wbp8YMOIED5K6UHG/4dZ2ldZ9CkUaKvxPCwfJW3otXhqkMTEhjjTHnEA==
X-Google-Smtp-Source: AGHT+IFJQ4tzjCRFl1l5SlcEZOMRZ3mRDVgFRBD3B/BNJiHeEfvqumBQ/X1gqPJN+ZQTGtPRx2od8w==
X-Received: by 2002:a05:6402:1e95:b0:634:5381:530b with SMTP id 4fb4d7f45d1cf-63c1f64596dmr12858074a12.13.1760975895488;
        Mon, 20 Oct 2025 08:58:15 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [for 4.22 v5 05/18] xen/riscv: add root page table allocation
Date: Mon, 20 Oct 2025 17:57:48 +0200
Message-ID: <81d36dc5277d4756442f3ad5d64f37148787394a.1760974017.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <cover.1760974017.git.oleksii.kurochko@gmail.com>
References: <cover.1760974017.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce support for allocating and initializing the root page table
required for RISC-V stage-2 address translation.

To implement root page table allocation the following is introduced:
- p2m_get_clean_page() and p2m_alloc_root_table(), p2m_allocate_root()
  helpers to allocate and zero a 16 KiB root page table, as mandated
  by the RISC-V privileged specification for Sv32x4/Sv39x4/Sv48x4/Sv57x4
  modes.
- Update p2m_init() to inititialize p2m_root_order.
- Add maddr_to_page() and page_to_maddr() macros for easier address
  manipulation.
- Introduce paging_ret_to_domheap() to return some pages before
  allocate 16 KiB pages for root page table.
- Allocate root p2m table after p2m pool is initialized.
- Add construct_hgatp() to construct the hgatp register value based on
  p2m->root, p2m->hgatp_mode and VMID.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V5:
 - Update proto of construct_hgatp(): make first argument pointer-to-const.
 - Code style fixes.
 - s/paging_ret_pages_to_freelist/paging_refill_from_domheap.
 - s/paging_ret_pages_to_domheap/paging_ret_to_domheap.
 - s/paging_ret_page_to_freelist/paging_add_page_to_freelist.
 - Drop ACCESS_ONCE() as all the cases where it is used are used under spinlock() hence ACCESS_ONCE() is redundant.
---
Changes in V4:
 - Drop hgatp_mode from p2m_domain as gstage_mode was introduced and
   initlialized earlier patch. So use gstage_mode instead.
 - s/GUEST_ROOT_PAGE_TABLE_SIZE/GSTAGE_ROOT_PAGE_TABLE_SIZE.
 - Drop p2m_root_order and re-define P2M_ROOT_ORDER:
     #define P2M_ROOT_ORDER  (ilog2(GSTAGE_ROOT_PAGE_TABLE_SIZE) - PAGE_SHIFT)
 - Update implementation of construct_hgatp(): use introduced gstage_mode
   and use MASK_INSRT() to construct ppn value.
 - Drop nr_root_pages variable inside p2m_alloc_root_table().
 - Update the printk's message inside paging_ret_pages_to_domheap().
 - Add an introduction of clean_pte member of p2m_domain structure to this
   patch as it is started to be used here.
   Rename clean_pte to clean_dcache.
 - Drop p2m_allocate_root() function as it is going to be used only in one
   place.
 - Propogate rc from p2m_alloc_root_table() in p2m_set_allocation().
 - Return P2M_ROOT_PAGES to freelist in case of allocation of root page
   table failed.
 - Add allocated root tables pages to p2m->pages pool so a usage of pages
   could be properly taken into account.
---
Changes in v3:
 - Drop insterting of p2m->vmid in hgatp_from_page() as now vmid is allocated
   per-CPU, not per-domain, so it will be inserted later somewhere in
   context_switch or before returning control to a guest.
 - use BIT() to init nr_pages in p2m_allocate_root() instead of open-code
   BIT() macros.
 - Fix order in clear_and_clean_page().
 - s/panic("Specify more xen,domain-p2m-mem-mb\n")/return NULL.
 - Use lock around a procedure of returning back pages necessary for p2m
   root table.
 - Update the comment about allocation of page for root page table.
 - Update an argument of hgatp_from_page() to "struct page_info *p2m_root_page"
   to be consistent with the  function name.
 - Use p2m_get_hostp2m(d) instead of open-coding it.
 - Update the comment above the call of p2m_alloc_root_table().
 - Update the comments in p2m_allocate_root().
 - Move part which returns some page to domheap before root page table allocation
   to paging.c.
 - Pass p2m_domain * instead of struct domain * for p2m_alloc_root_table().
 - Introduce construct_hgatp() instead of hgatp_from_page().
 - Add vmid and hgatp_mode member of struct p2m_domain.
 - Add explanatory comment above clean_dcache_va_range() in
   clear_and_clean_page().
 - Introduce P2M_ROOT_ORDER and P2M_ROOT_PAGES.
 - Drop vmid member from p2m_domain as now we are using per-pCPU
   VMID allocation.
 - Update a declaration of construct_hgatp() to recieve VMID as it
   isn't per-VM anymore.
 - Drop hgatp member of p2m_domain struct as with the new VMID scheme
   allocation construction of hgatp will be needed more often.
 - Drop is_hardware_domain() case in p2m_allocate_root(), just always
   allocate root using p2m pool pages.
 - Refactor p2m_alloc_root_table() and p2m_alloc_table().
---
Changes in v2:
 - This patch was created from "xen/riscv: introduce things necessary for p2m
   initialization" with the following changes:
   - [clear_and_clean_page()] Add missed call of clean_dcache_va_range().
   - Drop p2m_get_clean_page() as it is going to be used only once to allocate
     root page table. Open-code it explicittly in p2m_allocate_root(). Also,
     it will help avoid duplication of the code connected to order and nr_pages
     of p2m root page table.
   - Instead of using order 2 for alloc_domheap_pages(), use
     get_order_from_bytes(KB(16)).
   - Clear and clean a proper amount of allocated pages in p2m_allocate_root().
   - Drop _info from the function name hgatp_from_page_info() and its argument
     page_info.
   - Introduce HGATP_MODE_MASK and use MASK_INSR() instead of shift to calculate
     value of hgatp.
   - Drop unnecessary parentheses in definition of page_to_maddr().
   - Add support of VMID.
   - Drop TLB flushing in p2m_alloc_root_table() and do that once when VMID
     is re-used. [Look at p2m_alloc_vmid()]
   - Allocate p2m root table after p2m pool is fully initialized: first
     return pages to p2m pool them allocate p2m root table.
---
 xen/arch/riscv/include/asm/mm.h             |   4 +
 xen/arch/riscv/include/asm/p2m.h            |  15 +++
 xen/arch/riscv/include/asm/paging.h         |   3 +
 xen/arch/riscv/include/asm/riscv_encoding.h |   2 +
 xen/arch/riscv/p2m.c                        |  90 +++++++++++++++-
 xen/arch/riscv/paging.c                     | 110 +++++++++++++++-----
 6 files changed, 195 insertions(+), 29 deletions(-)

diff --git a/xen/arch/riscv/include/asm/mm.h b/xen/arch/riscv/include/asm/mm.h
index 9283616c02..dd8cdc9782 100644
--- a/xen/arch/riscv/include/asm/mm.h
+++ b/xen/arch/riscv/include/asm/mm.h
@@ -167,6 +167,10 @@ extern struct page_info *frametable_virt_start;
 #define mfn_to_page(mfn)    (frametable_virt_start + mfn_x(mfn))
 #define page_to_mfn(pg)     _mfn((pg) - frametable_virt_start)
 
+/* Convert between machine addresses and page-info structures. */
+#define maddr_to_page(ma) mfn_to_page(maddr_to_mfn(ma))
+#define page_to_maddr(pg) mfn_to_maddr(page_to_mfn(pg))
+
 static inline void *page_to_virt(const struct page_info *pg)
 {
     return mfn_to_virt(mfn_x(page_to_mfn(pg)));
diff --git a/xen/arch/riscv/include/asm/p2m.h b/xen/arch/riscv/include/asm/p2m.h
index a129ed8392..85e67516c4 100644
--- a/xen/arch/riscv/include/asm/p2m.h
+++ b/xen/arch/riscv/include/asm/p2m.h
@@ -2,6 +2,7 @@
 #ifndef ASM__RISCV__P2M_H
 #define ASM__RISCV__P2M_H
 
+#include <xen/bitops.h>
 #include <xen/errno.h>
 #include <xen/mm.h>
 #include <xen/rwlock.h>
@@ -11,6 +12,9 @@
 
 extern unsigned char gstage_mode;
 
+#define P2M_ROOT_ORDER  (ilog2(GSTAGE_ROOT_PAGE_TABLE_SIZE) - PAGE_SHIFT)
+#define P2M_ROOT_PAGES  BIT(P2M_ROOT_ORDER, U)
+
 #define paddr_bits PADDR_BITS
 
 /* Get host p2m table */
@@ -26,6 +30,9 @@ struct p2m_domain {
     /* Pages used to construct the p2m */
     struct page_list_head pages;
 
+    /* The root of the p2m tree. May be concatenated */
+    struct page_info *root;
+
     /* Back pointer to domain */
     struct domain *domain;
 
@@ -39,6 +46,12 @@ struct p2m_domain {
      * shattered), call p2m_tlb_flush_sync().
      */
     bool need_flush;
+
+    /*
+     * Indicate if it is required to clean the cache when writing an entry or
+     * when a page is needed to be fully cleared and cleaned.
+     */
+    bool clean_dcache;
 };
 
 /*
@@ -125,6 +138,8 @@ void pre_gstage_init(void);
 
 int p2m_init(struct domain *d);
 
+unsigned long construct_hgatp(const struct p2m_domain *p2m, uint16_t vmid);
+
 #endif /* ASM__RISCV__P2M_H */
 
 /*
diff --git a/xen/arch/riscv/include/asm/paging.h b/xen/arch/riscv/include/asm/paging.h
index 98d8b06d45..01be45528f 100644
--- a/xen/arch/riscv/include/asm/paging.h
+++ b/xen/arch/riscv/include/asm/paging.h
@@ -10,4 +10,7 @@ int paging_domain_init(struct domain *d);
 int paging_freelist_adjust(struct domain *d, unsigned long pages,
                            bool *preempted);
 
+int paging_ret_to_domheap(struct domain *d, unsigned int nr_pages);
+int paging_refill_from_domheap(struct domain *d, unsigned int nr_pages);
+
 #endif /* ASM_RISCV_PAGING_H */
diff --git a/xen/arch/riscv/include/asm/riscv_encoding.h b/xen/arch/riscv/include/asm/riscv_encoding.h
index b15f5ad0b4..8890b903e1 100644
--- a/xen/arch/riscv/include/asm/riscv_encoding.h
+++ b/xen/arch/riscv/include/asm/riscv_encoding.h
@@ -188,6 +188,8 @@
 #define HGATP_MODE_MASK			HGATP32_MODE_MASK
 #endif
 
+#define GSTAGE_ROOT_PAGE_TABLE_SIZE	KB(16)
+
 #define TOPI_IID_SHIFT			16
 #define TOPI_IID_MASK			0xfff
 #define TOPI_IPRIO_MASK		0xff
diff --git a/xen/arch/riscv/p2m.c b/xen/arch/riscv/p2m.c
index d670e7612a..c9ffad393f 100644
--- a/xen/arch/riscv/p2m.c
+++ b/xen/arch/riscv/p2m.c
@@ -3,6 +3,7 @@
 #include <xen/init.h>
 #include <xen/lib.h>
 #include <xen/macros.h>
+#include <xen/domain_page.h>
 #include <xen/mm.h>
 #include <xen/paging.h>
 #include <xen/rwlock.h>
@@ -103,6 +104,70 @@ void __init pre_gstage_init(void)
     vmid_init();
 }
 
+static void clear_and_clean_page(struct page_info *page, bool clean_dcache)
+{
+    clear_domain_page(page_to_mfn(page));
+
+    /*
+     * If the IOMMU doesn't support coherent walks and the p2m tables are
+     * shared between the CPU and IOMMU, it is necessary to clean the
+     * d-cache.
+     */
+    if ( clean_dcache )
+        clean_dcache_va_range(page, PAGE_SIZE);
+}
+
+unsigned long construct_hgatp(const struct p2m_domain *p2m, uint16_t vmid)
+{
+    return MASK_INSR(mfn_x(page_to_mfn(p2m->root)), HGATP_PPN) |
+           MASK_INSR(gstage_mode, HGATP_MODE_MASK) |
+           MASK_INSR(vmid, HGATP_VMID_MASK);
+}
+
+static int p2m_alloc_root_table(struct p2m_domain *p2m)
+{
+    struct domain *d = p2m->domain;
+    struct page_info *page;
+    int rc;
+
+    /*
+     * Return back P2M_ROOT_PAGES to assure the root table memory is also
+     * accounted against the P2M pool of the domain.
+     */
+    if ( (rc = paging_ret_to_domheap(d, P2M_ROOT_PAGES)) )
+        return rc;
+
+    /*
+     * As mentioned in the Priviliged Architecture Spec (version 20240411)
+     * in Section 18.5.1, for the paged virtual-memory schemes  (Sv32x4,
+     * Sv39x4, Sv48x4, and Sv57x4), the root page table is 16 KiB and must
+     * be aligned to a 16-KiB boundary.
+     */
+    page = alloc_domheap_pages(d, P2M_ROOT_ORDER, MEMF_no_owner);
+    if ( !page )
+    {
+        /*
+         * If allocation of root table pages fails, the pages acquired above
+         * must be returned to the freelist to maintain proper freelist
+         * balance.
+         */
+        paging_refill_from_domheap(d, P2M_ROOT_PAGES);
+
+        return -ENOMEM;
+    }
+
+    for ( unsigned int i = 0; i < P2M_ROOT_PAGES; i++ )
+    {
+        clear_and_clean_page(page + i, p2m->clean_dcache);
+
+        page_list_add(page + i, &p2m->pages);
+    }
+
+    p2m->root = page;
+
+    return 0;
+}
+
 int p2m_init(struct domain *d)
 {
     struct p2m_domain *p2m = p2m_get_hostp2m(d);
@@ -118,6 +183,19 @@ int p2m_init(struct domain *d)
     rwlock_init(&p2m->lock);
     INIT_PAGE_LIST_HEAD(&p2m->pages);
 
+    /*
+     * Currently, the infrastructure required to enable CONFIG_HAS_PASSTHROUGH
+     * is not ready for RISC-V support.
+     *
+     * When CONFIG_HAS_PASSTHROUGH=y, p2m->clean_dcache must be properly
+     * initialized.
+     * At the moment, it defaults to false because the p2m structure is
+     * zero-initialized.
+     */
+#ifdef CONFIG_HAS_PASSTHROUGH
+#   error "Add init of p2m->clean_dcache"
+#endif
+
     return 0;
 }
 
@@ -128,10 +206,20 @@ int p2m_init(struct domain *d)
  */
 int p2m_set_allocation(struct domain *d, unsigned long pages, bool *preempted)
 {
+    struct p2m_domain *p2m = p2m_get_hostp2m(d);
     int rc;
 
     if ( (rc = paging_freelist_adjust(d, pages, preempted)) )
         return rc;
 
-    return 0;
+    /*
+     * First, initialize p2m pool. Then allocate the root
+     * table so that the necessary pages can be returned from the p2m pool,
+     * since the root table must be allocated using alloc_domheap_pages(...)
+     * to meet its specific requirements.
+     */
+    if ( !p2m->root )
+        rc = p2m_alloc_root_table(p2m);
+
+    return rc;
 }
diff --git a/xen/arch/riscv/paging.c b/xen/arch/riscv/paging.c
index 2df8de033b..c87e9b7f7f 100644
--- a/xen/arch/riscv/paging.c
+++ b/xen/arch/riscv/paging.c
@@ -4,46 +4,67 @@
 #include <xen/sched.h>
 #include <xen/spinlock.h>
 
+static int paging_ret_page_to_domheap(struct domain *d)
+{
+    struct page_info *page;
+
+    ASSERT(spin_is_locked(&d->arch.paging.lock));
+
+    /* Return memory to domheap. */
+    page = page_list_remove_head(&d->arch.paging.freelist);
+    if( page )
+    {
+        d->arch.paging.total_pages--;
+        free_domheap_page(page);
+    }
+    else
+    {
+        printk(XENLOG_ERR
+                "Failed to free P2M pages, P2M freelist is empty.\n");
+        return -ENOMEM;
+    }
+
+    return 0;
+}
+
+static int paging_add_page_to_freelist(struct domain *d)
+{
+    struct page_info *page;
+
+    ASSERT(spin_is_locked(&d->arch.paging.lock));
+
+    /* Need to allocate more memory from domheap */
+    page = alloc_domheap_page(d, MEMF_no_owner);
+    if ( page == NULL )
+    {
+        printk(XENLOG_ERR "Failed to allocate pages.\n");
+        return -ENOMEM;
+    }
+    d->arch.paging.total_pages++;
+    page_list_add_tail(page, &d->arch.paging.freelist);
+
+    return 0;
+}
+
 int paging_freelist_adjust(struct domain *d, unsigned long pages,
                            bool *preempted)
 {
-    struct page_info *pg;
-
     ASSERT(spin_is_locked(&d->arch.paging.lock));
 
     for ( ; ; )
     {
+        int rc = 0;
+
         if ( d->arch.paging.total_pages < pages )
-        {
-            /* Need to allocate more memory from domheap */
-            pg = alloc_domheap_page(d, MEMF_no_owner);
-            if ( pg == NULL )
-            {
-                printk(XENLOG_ERR "Failed to allocate pages.\n");
-                return -ENOMEM;
-            }
-            ACCESS_ONCE(d->arch.paging.total_pages)++;
-            page_list_add_tail(pg, &d->arch.paging.freelist);
-        }
+            rc = paging_add_page_to_freelist(d);
         else if ( d->arch.paging.total_pages > pages )
-        {
-            /* Need to return memory to domheap */
-            pg = page_list_remove_head(&d->arch.paging.freelist);
-            if ( pg )
-            {
-                ACCESS_ONCE(d->arch.paging.total_pages)--;
-                free_domheap_page(pg);
-            }
-            else
-            {
-                printk(XENLOG_ERR
-                       "Failed to free pages, freelist is empty.\n");
-                return -ENOMEM;
-            }
-        }
+            rc = paging_ret_page_to_domheap(d);
         else
             break;
 
+        if ( rc )
+            return rc;
+
         /* Check to see if we need to yield and try again */
         if ( preempted && general_preempt_check() )
         {
@@ -55,6 +76,39 @@ int paging_freelist_adjust(struct domain *d, unsigned long pages,
     return 0;
 }
 
+int paging_refill_from_domheap(struct domain *d, unsigned int nr_pages)
+{
+    ASSERT(spin_is_locked(&d->arch.paging.lock));
+
+    for ( unsigned int i = 0; i < nr_pages; i++ )
+    {
+        int rc = paging_add_page_to_freelist(d);
+
+        if ( rc )
+            return rc;
+    }
+
+    return 0;
+}
+
+int paging_ret_to_domheap(struct domain *d, unsigned int nr_pages)
+{
+    ASSERT(spin_is_locked(&d->arch.paging.lock));
+
+    if ( d->arch.paging.total_pages < nr_pages )
+        return false;
+
+    for ( unsigned int i = 0; i < nr_pages; i++ )
+    {
+        int rc = paging_ret_page_to_domheap(d);
+
+        if ( rc )
+            return rc;
+    }
+
+    return 0;
+}
+
 /* Domain paging struct initialization. */
 int paging_domain_init(struct domain *d)
 {
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Mon Oct 20 15:58:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 15:58:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146536.1479003 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAsH6-0005uI-Ei; Mon, 20 Oct 2025 15:58:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146536.1479003; Mon, 20 Oct 2025 15:58:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAsH6-0005sv-2R; Mon, 20 Oct 2025 15:58:20 +0000
Received: by outflank-mailman (input) for mailman id 1146536;
 Mon, 20 Oct 2025 15:58:18 +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
 <SRS0=Li3P=45=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1vAsH4-0004DQ-28
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 15:58:18 +0000
Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com
 [2a00:1450:4864:20::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 97a5e038-adcd-11f0-9d15-b5c5bf9af7f9;
 Mon, 20 Oct 2025 17:58:17 +0200 (CEST)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-b3c2db014easo998559666b.0
 for <xen-devel@lists.xenproject.org>; Mon, 20 Oct 2025 08:58:17 -0700 (PDT)
Received: from fedora (user-109-243-146-38.play-internet.pl. [109.243.146.38])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-63c48ab560esm6966067a12.12.2025.10.20.08.58.15
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 20 Oct 2025 08:58:16 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 97a5e038-adcd-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760975897; x=1761580697; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=CweJfrPabX9qr27+BJlL85E9LD+o5VwLJH3d1PbUUo0=;
        b=A1rJLV2Bojo32TjohZAYcakLk8owctkKxGQ+iyjit0dOpz7qTJWYRzEWhEZO74YVlA
         eKPUnUEC36B/sV1nDJJZPvZhIB/EW4kk4hN+UxnRwhN6hc6CGz5h+dVwM7daXcSfxPUS
         Fz6QaApOblqYOQs4zrJIP7GIMkYYCvbAXOd2ElFuEr4F7DiqfD7jfUhYP2cQ98Lus3P1
         SUE7a5lt9Lb0b56GPvQ+2XM0854v0LUW9S6bAqdfFMNRBzXXvzTj3TZCztCNYEHckTHM
         zVUALk5xZFDtK7F0k/Hy+6WlXQy9EitzhhIp2OAqaOljfBPyekKSfCcWvFpPtgWRC4VP
         xNCA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760975897; x=1761580697;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=CweJfrPabX9qr27+BJlL85E9LD+o5VwLJH3d1PbUUo0=;
        b=vo8/Ud4NNfCnsN8zTYQdziGVGOXwy55E+3dSidu/5dQqYlP9gYNUiahXoNphouoSCs
         5naVNV6GCzKsGhWiKrV0ylCly61BkNuRPq7N/m+8FCZ2PNLj7nVgK/Fmbel8W4YPnIP5
         21vL7TTQa92OWD0EZHKN+pXrQCbUZ1w8+ohK4hNWJ9RMkYKPp9XurxyFBwbV5QIBMiCx
         vKqJ49hnLLYcFkVaT938DcXtBvgyUk73SaQZFr2SVJMasTAoblmxasedA8Ealzn9KzhY
         yB3uIGQeT7EZ5gSQqYca25P9SGbrW7yag7/uqBhmsuocrOtKV3OKQUthFPqtzOWodX/2
         Rzyw==
X-Gm-Message-State: AOJu0YwxBpJBAQGy80GpHETUQyt0rfOx3tZMn29Dn68AueV/p4dlS1bW
	ly851M1HDzS5RYAXEmLgWY9vjNU4914Rb3Rm9w5lyym9hQE0T4DK1fSnmS5Q8A==
X-Gm-Gg: ASbGnctIaLzX0a2P7nGeZZn2+og9U6/LdLm+3JufSzz/6DtfiTjkjYPGUy1ebXErFN6
	NBf0xarXBlOgPVVpAoR9fjkKO2n/ESsGBMlKo/pDakUN2hPrZq3lWyfraJgTK2KHM+Q6ahyGYS6
	AFysOUPWvXaFrg87n19/yC6R1wh+Sviv5/Bu+ZJxG/SasmD9VqJmvUJEc6/KrKLuqGK17dUIBiC
	hrqjvO0EOq4sodYwDGAmwJWL7wwgCrGEvEau5BrNUNFcHq79wGDN7NUZvcT4bm4/7h6ZYvOdQGv
	48XKpaOBjFwSDtgAIILfAgAQJhPBK9z0ZxenWzcoz63VxrZDbJ8fpt8aCqwpzzC6XB5CM3H2X0v
	BmGZQD9/vr8bR5B64ujlyHeGmtlKvUAEumNg1kTLd+De4vT/Dv0yt8Ifku9vDZNAqqmrfwd1p/R
	t8ScAxK1NnHMBv8OzprAGl50KVYxnOzU/Z1D9188RlK0BSoxw=
X-Google-Smtp-Source: AGHT+IHoIhJtsof26UvSvFaoP8y38nf7VSxnKgXGly/gx12d4R9mgwEIQTznUSFJA/rx/fkav7aYaA==
X-Received: by 2002:a17:907:1c9e:b0:b40:6d68:349a with SMTP id a640c23a62f3a-b647493fe5dmr1583199466b.39.1760975896477;
        Mon, 20 Oct 2025 08:58:16 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [for 4.22 v5 06/18] xen/riscv: introduce pte_{set,get}_mfn()
Date: Mon, 20 Oct 2025 17:57:49 +0200
Message-ID: <15707c6a76bb3ac4680499dfd1272d6161a126e8.1760974017.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <cover.1760974017.git.oleksii.kurochko@gmail.com>
References: <cover.1760974017.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce helpers pte_{set,get}_mfn() to simplify setting and getting
of mfn.

Also, introduce PTE_PPN_MASK and add BUILD_BUG_ON() to be sure that
PTE_PPN_MASK remains the same for all MMU modes except Sv32.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V4-V5:
 - Nothing changed. Only Rebase.
---
Changes in V3:
 - Add Acked-by: Jan Beulich <jbeulich@suse.com>.
---
Changes in V2:
 - Patch "[PATCH v1 4/6] xen/riscv: define pt_t and pt_walk_t structures" was
   renamed to xen/riscv: introduce pte_{set,get}_mfn() as after dropping of
   bitfields for PTE structure, this patch introduce only pte_{set,get}_mfn().
 - As pt_t and pt_walk_t were dropped, update implementation of
   pte_{set,get}_mfn() to use bit operations and shifts instead of bitfields.
 - Introduce PTE_PPN_MASK to be able to use MASK_INSR for setting/getting PPN.
 - Add BUILD_BUG_ON(RV_STAGE1_MODE > SATP_MODE_SV57) to be sure that when
   new MMU mode will be added, someone checks that PPN is still bits 53:10.
---
 xen/arch/riscv/include/asm/page.h | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/xen/arch/riscv/include/asm/page.h b/xen/arch/riscv/include/asm/page.h
index ddcc4da0a3..66cb192316 100644
--- a/xen/arch/riscv/include/asm/page.h
+++ b/xen/arch/riscv/include/asm/page.h
@@ -112,6 +112,30 @@ typedef struct {
 #endif
 } pte_t;
 
+#if RV_STAGE1_MODE != SATP_MODE_SV32
+#define PTE_PPN_MASK _UL(0x3FFFFFFFFFFC00)
+#else
+#define PTE_PPN_MASK _U(0xFFFFFC00)
+#endif
+
+static inline void pte_set_mfn(pte_t *p, mfn_t mfn)
+{
+    /*
+     * At the moment spec provides Sv32 - Sv57.
+     * If one day new MMU mode will be added it will be needed
+     * to check that PPN mask still continue to cover bits 53:10.
+     */
+    BUILD_BUG_ON(RV_STAGE1_MODE > SATP_MODE_SV57);
+
+    p->pte &= ~PTE_PPN_MASK;
+    p->pte |= MASK_INSR(mfn_x(mfn), PTE_PPN_MASK);
+}
+
+static inline mfn_t pte_get_mfn(pte_t p)
+{
+    return _mfn(MASK_EXTR(p.pte, PTE_PPN_MASK));
+}
+
 static inline bool pte_is_valid(pte_t p)
 {
     return p.pte & PTE_VALID;
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Mon Oct 20 15:58:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 15:58:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146537.1479007 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAsH6-00061x-RH; Mon, 20 Oct 2025 15:58:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146537.1479007; Mon, 20 Oct 2025 15:58:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAsH6-000606-Im; Mon, 20 Oct 2025 15:58:20 +0000
Received: by outflank-mailman (input) for mailman id 1146537;
 Mon, 20 Oct 2025 15:58:19 +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
 <SRS0=Li3P=45=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1vAsH5-0004DQ-2V
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 15:58:19 +0000
Received: from mail-ed1-x530.google.com (mail-ed1-x530.google.com
 [2a00:1450:4864:20::530])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 982e4fa1-adcd-11f0-9d15-b5c5bf9af7f9;
 Mon, 20 Oct 2025 17:58:18 +0200 (CEST)
Received: by mail-ed1-x530.google.com with SMTP id
 4fb4d7f45d1cf-63c31c20b64so5172609a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 20 Oct 2025 08:58:18 -0700 (PDT)
Received: from fedora (user-109-243-146-38.play-internet.pl. [109.243.146.38])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-63c48ab560esm6966067a12.12.2025.10.20.08.58.16
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 20 Oct 2025 08:58:17 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 982e4fa1-adcd-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760975897; x=1761580697; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Z6BAq3H0KqE2yjNiry0QdQgxMPMOFJPPmMH3FkExtuw=;
        b=Vt37kjDVBC7ac+59ZZRb+k9OR+3aT46+U+XMVfRZKEt09wIcUUR8j1Q6OYkc2isU0f
         bI9oTR5PexfONaRbTcyh85isa18kY2ZU5e+zqta9ae3UzIR7ZaNDTq9Ua6glHYJtOL5A
         +rP4tSY2h9oyvpUun6cXBLICHx3cB1PzGvSiRZS9kyFO1xh7rkDUCakWruYWAy8NTwA2
         9zmVF1pe4d62UfAXC0lhfuviQa2M0NOUrQCoevA1AEScLyPulUOGuImbjG59zoUtFTtR
         GfPOsJIp/3siohdxBYFK4Wog3ojrkZ85yNpd45ynr3Dz1nlktJ5T+LSSL0475l1JU3Do
         1VHw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760975897; x=1761580697;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Z6BAq3H0KqE2yjNiry0QdQgxMPMOFJPPmMH3FkExtuw=;
        b=PKEQ33ypcX0lkJ7WTsJmLMJx/xzY2cvLgRgM4ydBpTf9S36gqxswy6EVjvxKwDXqeN
         S962qhVzS0WSZa/GY3h3bEtlJhTSd4RwMoKejCXw8vcD/piNZWzKTYjLs+PndktRXAP0
         rAsKT+V11i2mLCtuJiVn4PjbqfrIle3FrUQgRzOs5j3F+A9FwAziCTurx8l/K/ZxnwvS
         +mgp40/wdux6HIhbSQ35bvo2MWV18LY9NvqEs48fwzu9AZtVKTd29hPZrhvVFVQB1E96
         rnymaWnP5vq6B4oIZAGAIrGRGfShVVAnC9GMFxk+zt6k5UNzjaN+zfy5A6F0cGeqhcux
         +VZg==
X-Gm-Message-State: AOJu0YwVs+loHGqfVa5rXYC0ru+kycetvuATHLuCqwo/H496ZUPolZeT
	iZAL6xLbHfZq3mkJlA1C4/Y3opvCla446EO5gytVjh2xcxk7XSrcSrvvgdu1fQ==
X-Gm-Gg: ASbGncufpInSw/hfH56PV9Gs1zceOWtb7vfisQFrldCXQ9hq6hXP+8DGwnUDifiKB10
	kxcrI5B67JvxGGxxacZ/st1NdOUkTg7YX+Ti0de5nJvVPTDwjbzS46PuJ56SVON8OoW+Udv4tkC
	v+/JYbVHd56av3v3Sn23uR8NsXDTYtgZHQQN1Coqa0jHqpfctCHQe9UPTrAdDO3VAGmNg+tmEEI
	oRU2Se3ujwfV+/c3s5ECtFa6WpyRlVA6KckOv5EMd7Y4cczIiqLXzZTeLAtpgtffccqCGNinsgN
	X59dolVJfHx/zhTqYJIMnmV811XuZ0bKYWFMLV//BSwk+8eRzl62FHVEhQSDXIwUNm+Q0RS//nl
	decynkAuVrP8BqeEMV0mOkm7HQtNEtTePDU2lxbKw7FHzmRSdQtRiducfZ8tO4Hplw+UEDBDNN+
	tjQ/3iXxXIdBThmolPevSnUbReya+5KVE5721Y+D4M8NiAcow=
X-Google-Smtp-Source: AGHT+IFiZ7nj4wU6MknH+3QUfh/hnhNU+QAzJrXYZzJn1FzMXfELhNoZQK66Qe7EBad08EhJquSbBg==
X-Received: by 2002:a05:6402:144e:b0:63c:2d6:f471 with SMTP id 4fb4d7f45d1cf-63c1f6e047cmr14844618a12.26.1760975897467;
        Mon, 20 Oct 2025 08:58:17 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [for 4.22 v5 07/18] xen/riscv: add new p2m types and helper macros for type classification
Date: Mon, 20 Oct 2025 17:57:50 +0200
Message-ID: <ece4dc97a40a8da06f46242ae7dcc1ce6bc20947.1760974017.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <cover.1760974017.git.oleksii.kurochko@gmail.com>
References: <cover.1760974017.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

- Extended p2m_type_t with additional types: p2m_mmio_direct,
  p2m_ext_storage.
- Added macros to classify memory types: P2M_RAM_TYPES.
- Introduced helper predicates: p2m_is_ram(), p2m_is_any_ram().
- Introduce arch_dt_passthrough() to tell handle_passthrough_prop()
  from common code how to map device memory.
- Introduce p2m_first_external for detection for relational operations
  with p2m type which is stored outside P2M's PTE bits.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V4:
 - Drop underscores for argumets of p2m_is_ram() and p2m_is_any_ram().
 - Add Acked-by: Jan Beulich <jbeulich@suse.com>.
---
Changes in V4:
 - Drop underscode in p2m_to_mask()'s argument and for other similar helpers.
 - Introduce arch_dt_passthrough_p2m_type() instead of p2m_mmio_direct.
 - Drop for the moment grant tables related stuff as it isn't going to be used in the nearest future.
---
Changes in V3:
 - Drop p2m_ram_ro.
 - Rename p2m_mmio_direct_dev to p2m_mmio_direct_io to make it more RISC-V specicific.
 - s/p2m_mmio_direct_dev/p2m_mmio_direct_io.
---
Changes in V2:
 - Drop stuff connected to foreign mapping as it isn't necessary for RISC-V
   right now.
---
 xen/arch/riscv/include/asm/p2m.h | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/xen/arch/riscv/include/asm/p2m.h b/xen/arch/riscv/include/asm/p2m.h
index 85e67516c4..46ee0b93f2 100644
--- a/xen/arch/riscv/include/asm/p2m.h
+++ b/xen/arch/riscv/include/asm/p2m.h
@@ -64,8 +64,29 @@ struct p2m_domain {
 typedef enum {
     p2m_invalid = 0,    /* Nothing mapped here */
     p2m_ram_rw,         /* Normal read/write domain RAM */
+    p2m_mmio_direct_io, /* Read/write mapping of genuine Device MMIO area,
+                           PTE_PBMT_IO will be used for such mappings */
+    p2m_ext_storage,    /* Following types'll be stored outsude PTE bits: */
+
+    /* Sentinel â€” not a real type, just a marker for comparison */
+    p2m_first_external = p2m_ext_storage,
 } p2m_type_t;
 
+static inline p2m_type_t arch_dt_passthrough_p2m_type(void)
+{
+    return p2m_mmio_direct_io;
+}
+
+/* We use bitmaps and mask to handle groups of types */
+#define p2m_to_mask(t) BIT(t, UL)
+
+/* RAM types, which map to real machine frames */
+#define P2M_RAM_TYPES (p2m_to_mask(p2m_ram_rw))
+
+/* Useful predicates */
+#define p2m_is_ram(t) (p2m_to_mask(t) & P2M_RAM_TYPES)
+#define p2m_is_any_ram(t) (p2m_to_mask(t) & P2M_RAM_TYPES)
+
 #include <xen/p2m-common.h>
 
 static inline int get_page_and_type(struct page_info *page,
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Mon Oct 20 15:58:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 15:58:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146539.1479024 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAsH8-0006UA-Fy; Mon, 20 Oct 2025 15:58:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146539.1479024; Mon, 20 Oct 2025 15:58:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAsH8-0006St-5N; Mon, 20 Oct 2025 15:58:22 +0000
Received: by outflank-mailman (input) for mailman id 1146539;
 Mon, 20 Oct 2025 15:58:20 +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
 <SRS0=Li3P=45=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1vAsH6-0004nC-P8
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 15:58:20 +0000
Received: from mail-ed1-x529.google.com (mail-ed1-x529.google.com
 [2a00:1450:4864:20::529])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 98c24f20-adcd-11f0-980a-7dc792cee155;
 Mon, 20 Oct 2025 17:58:19 +0200 (CEST)
Received: by mail-ed1-x529.google.com with SMTP id
 4fb4d7f45d1cf-634cef434beso9263516a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 20 Oct 2025 08:58:19 -0700 (PDT)
Received: from fedora (user-109-243-146-38.play-internet.pl. [109.243.146.38])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-63c48ab560esm6966067a12.12.2025.10.20.08.58.17
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 20 Oct 2025 08:58:18 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 98c24f20-adcd-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760975898; x=1761580698; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=4bBWp0cZZfbhFMln+pmHCUN44UHPmvo/arXunhT5jKE=;
        b=TzdxuHks/JptFCI0GTpHHjlb8Pw+IxBip8LxvSDziFwQuqGxnE9JgzWI8lzzOtkC4v
         J9+8eP3pb3tCFfmBpbwDJ2lvy71Pz0cr7eRpyk0Rt+K6vj6u6vZbrGnzs1HrNzFV/1dw
         9yYbfK96RCoRO8iGk+CuRseHKpkXmZ4G6A9pjrqTKtgff9W8ibKBOodjFYa7yi5A0KAQ
         MQ494ET/TztiofIM3gd4WYKcMCkdavc3PcdJIIDQyALthlMmIAyHieNQ4v2DRlYOUxQL
         VyRw7GHQkuX0TGTiJwa3yeQVzObj7/e0QnZirNRyb9tqHqr0K1kgulIcGLOZJJLVLt2M
         61BQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760975898; x=1761580698;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=4bBWp0cZZfbhFMln+pmHCUN44UHPmvo/arXunhT5jKE=;
        b=DhDTDA1DWyiqgnG3PtR1jwhrdjM9uz+oGF3UsnpQKbpUaHpBp34xSs4WobnBtyxFsg
         h6Yz0zQJdSRVxQN8toPVwU20LS8V2EZ+Vg03UKM47+M7tEKDn9qtmOhQV0b65zEd5psM
         33DkZWJ15kaTqYn8jh8bpHbjkax+O6f1sq2rtY1zWwiCsTNHm/39Fd7sDRUcT8L8Az6G
         K6Il25W5sd0R5dD9K5Mh23k0ZUluOPCDBHnyeWr6int8X9trj1ng0wAM/AJjmB/tJayT
         K2cdwLHRKIS9nmooSKIqg11LgHprfe41FwGtz9vDIrgenx6dDhSnHt8X+Y6XPhqRRAeK
         uBKw==
X-Gm-Message-State: AOJu0YziQDlWEkL11OVDciSrDgTqAe0E2cxrnH5hwsb4lZ6mwNFkjJBI
	C/Qg7JLd9TC8yczdbv0XodcrvpON3onHIS+viTtSnXoPyK6zJgS+z3b8wwoI9A==
X-Gm-Gg: ASbGncscUcSXgEgmVDnNNb2nFRmR/UhKiW7xAvjgMVs06pJHMZsI6J1yAmq4msvTksU
	rCUjJjGdX5/Sg249wOsxaxpQJslFtb9Eha25kE5MJM+OSs19xFJG9wdlEak6Ch2xOPRqUoyDl4V
	WGwA9bLlzqSPP6TdneSwD+KqVbNXkyI4JotCb5LXT7qxIJEm/ylvJ8kkpHhBB7kLcrcdtHLiPdg
	tzGCFxoLlaDsxfuxOVo6acNdTkfvDubM+PKTM7Icdkc7S7CXcYCKZ05GTE0oRMzx3R2KbgVtOf9
	Xt0XNzoP1OX8Qbkw+x4hxh8CN2wHtQ3gsiq86ChaUgFU2RI8CSYDMo7RaRVlMuTgnfvS/wdpzsy
	glNUqW/AUQ8uOhab3gN+eeCevvogbNubFt5veHIJhYdVfvi7XXF8XCJHIkPc4d5fuNwrZOf2xR6
	i5oMhPF/KvfqWQuaSRfWSxtsulN+Das+uT5lZS0H3iPWrJrA4=
X-Google-Smtp-Source: AGHT+IHKzfgKW4bZ1DeL5o8aeZFWZ/+PF8Y+PPAhdeMS/8XKyHNiU4gsFiCPZ1uP6C2Xem5giTelUw==
X-Received: by 2002:aa7:d698:0:b0:631:6acd:fa3a with SMTP id 4fb4d7f45d1cf-63bfcdd5015mr13393417a12.4.1760975898483;
        Mon, 20 Oct 2025 08:58:18 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: [for 4.22 v5 08/18] xen/dom0less: abstract Arm-specific p2m type name for device MMIO mappings
Date: Mon, 20 Oct 2025 17:57:51 +0200
Message-ID: <4cd92470b044ea63ebfb2170734ca2a68e0bf420.1760974017.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <cover.1760974017.git.oleksii.kurochko@gmail.com>
References: <cover.1760974017.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Introduce arch_dt_passthrough_p2m_type() and use it instead of
`p2m_mmio_direct_dev` to avoid leaking Arm-specific naming into
common Xen code, such as dom0less passthrough property handling.

This helps reduce platform-specific terminology in shared logic and
improves clarity for future non-Arm ports (e.g. RISC-V or PowerPC).

No functional changes â€” the definition is preserved via a static inline
function for Arm.

Suggested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V5:
 - Nothing changed. Only rebase.
---
Changes in V4:
 - Introduce arch_dt_passthrough_p2m_type() instead of re-defining of
   p2m_mmio_direct.
---
Changes in V3:
 - New patch.
---
 xen/arch/arm/include/asm/p2m.h          | 5 +++++
 xen/common/device-tree/dom0less-build.c | 2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/include/asm/p2m.h b/xen/arch/arm/include/asm/p2m.h
index ef98bc5f4d..010ce8c9eb 100644
--- a/xen/arch/arm/include/asm/p2m.h
+++ b/xen/arch/arm/include/asm/p2m.h
@@ -137,6 +137,11 @@ typedef enum {
     p2m_max_real_type,  /* Types after this won't be store in the p2m */
 } p2m_type_t;
 
+static inline p2m_type_t arch_dt_passthrough_p2m_type(void)
+{
+    return p2m_mmio_direct_dev;
+}
+
 /* We use bitmaps and mask to handle groups of types */
 #define p2m_to_mask(_t) (1UL << (_t))
 
diff --git a/xen/common/device-tree/dom0less-build.c b/xen/common/device-tree/dom0less-build.c
index 9fd004c42a..8214a6639f 100644
--- a/xen/common/device-tree/dom0less-build.c
+++ b/xen/common/device-tree/dom0less-build.c
@@ -185,7 +185,7 @@ static int __init handle_passthrough_prop(struct kernel_info *kinfo,
                                gaddr_to_gfn(gstart),
                                PFN_DOWN(size),
                                maddr_to_mfn(mstart),
-                               p2m_mmio_direct_dev);
+                               arch_dt_passthrough_p2m_type());
         if ( res < 0 )
         {
             printk(XENLOG_ERR
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Mon Oct 20 15:58:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 15:58:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146540.1479031 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAsH9-0006YS-1O; Mon, 20 Oct 2025 15:58:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146540.1479031; Mon, 20 Oct 2025 15:58:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAsH8-0006XK-Ho; Mon, 20 Oct 2025 15:58:22 +0000
Received: by outflank-mailman (input) for mailman id 1146540;
 Mon, 20 Oct 2025 15:58:21 +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
 <SRS0=Li3P=45=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1vAsH6-0004DQ-V9
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 15:58:20 +0000
Received: from mail-ed1-x534.google.com (mail-ed1-x534.google.com
 [2a00:1450:4864:20::534])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 996e77d1-adcd-11f0-9d15-b5c5bf9af7f9;
 Mon, 20 Oct 2025 17:58:20 +0200 (CEST)
Received: by mail-ed1-x534.google.com with SMTP id
 4fb4d7f45d1cf-63b9da57cecso7761000a12.0
 for <xen-devel@lists.xenproject.org>; Mon, 20 Oct 2025 08:58:20 -0700 (PDT)
Received: from fedora (user-109-243-146-38.play-internet.pl. [109.243.146.38])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-63c48ab560esm6966067a12.12.2025.10.20.08.58.18
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 20 Oct 2025 08:58:19 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 996e77d1-adcd-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760975900; x=1761580700; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ES4z+eBDTLVhxr/atl2Kpe+U8TAzLTl/NEVlGrsCRw8=;
        b=fZLc1mTzUhCZtnban2FsgKcEuROmUCnZ9pBCAluKEtp4bt5OVMsoRx/nON7auHk/N9
         kPTHVXmrHYaHmnDRFOg25qxMi2grgkQCqi1ox/rCI8Idsj/LiQyLy0rybuUa9weeLjEs
         6pkdbsYJ5dQVKxXQNZPL6A+8708MbjPJnvT66Vy5z19+WzbK+NTcdhtH14GSqJhuIt8I
         gipzk8w4bs7E9VX/m77mBOyLdZ0bDHefvtkeK1FUQG2HMJuVR0jVRzYRPG0uW4JHTB73
         WwfgIzYfNmIGTcjoe7AFV75cSLUKcfWCh6N61LfF/UUgqbwryO4BcxFm00tDVO8WX9mm
         skgw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760975900; x=1761580700;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=ES4z+eBDTLVhxr/atl2Kpe+U8TAzLTl/NEVlGrsCRw8=;
        b=W4ZGO06ljDsBa6MvTfya5QD9ny1Cu48FEGqQdQeE+PqncmQhGM1jidjGqJLoj7evip
         W6kY46AiCrVJNI7z3UeH4IA1EQ+n7Ya1fWFriun663cm3qNBMJ36bF0au7lhZDl2Lx4/
         MqjI5o8dkEKWFh3AQVd4Li+9wt2vyCS9o+L8UtKaZXJDLZW7dsUTBDr2fV72K3itabi7
         2MCSYz5U0dFx/FraZj7rUal/DZa9YzhoBvFIoRWBq+14xjVvHxHn/Rsp6AJ5WPZ9sSv1
         J6lFLtSmYBu4Mkn60vySviteWAy4OOeDTFxdkdW3cLqTjnivxqNPD1sFGLLE5t2bZ2kO
         W6oQ==
X-Gm-Message-State: AOJu0YyuF2IfjaUITqvVX7sceFT9eNY6biPuSDKYMwaEynd3BM+WTFBW
	DimwsAiv05ZOlWVOTR1Uu1uYwuy6A/2ILHsYYe5Y0EGDuQyGc1ykfqaQ5OAQTw==
X-Gm-Gg: ASbGncuBQfdo0Omz+90BQDRMkwQh9do7fEAgnMOLqtxhAzGzYRBqMU3jhSR2rxi54C0
	V86jc0+06aMzBGCOHCpIdVJw01//5VYfh3YGzBtY2U0+nnH/WM+f5kJAq206HBdWz95bp9xkE8M
	CUxsJj5P5yYv+jEqzcIXNa+gHDdDCZ/z2bGuM5tqVh2dgP0/BG+57PmSc/SOZTgJMvliaROGUHA
	ViE1qWBlSrKvYHlwgTfIYT78D78zqGF9S4kCGJzG4lvsyp1zbDYmcxezKTBV/aKiMLF7DcpjC3z
	yQ9AH7Oi3TG9LQem+llUmr5EQDcKn39jji8MA7VfLQfSDfipF7Crmd/5GV7OsQtOzFntgNSveOe
	6QyagY6PGL+rLIhSKFBkkjitKaBkOiT4keDlaT5Z38YRrVZaaSamgxniP6erH9yGWnHlIM/D/0o
	58o0kzRLzDruLAwjO70j2Y7ykUxV+CWxvBAvjXfkGhtOvEMyNeg21smh4Yt5f/FjZiJSUD
X-Google-Smtp-Source: AGHT+IFFWGAdE0K3CnBOI7ij5mSq0h3xh7q7yy/oEcUmu6Jb29bkG68wCGxaRvSYNwGSu2IA5e7grQ==
X-Received: by 2002:a05:6402:234a:b0:63b:ed9c:dd16 with SMTP id 4fb4d7f45d1cf-63c1f631b11mr14149225a12.3.1760975899350;
        Mon, 20 Oct 2025 08:58:19 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [for 4.22 v5 09/18] xen/riscv: implement function to map memory in guest p2m
Date: Mon, 20 Oct 2025 17:57:52 +0200
Message-ID: <3e25d1b522edb4b97d8fddf8ea93805e4f2b9b69.1760974017.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <cover.1760974017.git.oleksii.kurochko@gmail.com>
References: <cover.1760974017.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Implement map_regions_p2mt() to map a region in the guest p2m with
a specific p2m type. The memory attributes will be derived from the
p2m type. This function is used in dom0less common
code.

To implement it, introduce:
- p2m_write_(un)lock() to ensure safe concurrent updates to the P2M.
  As part of this change, introduce p2m_tlb_flush_sync() and
  p2m_force_tlb_flush_sync().
- A stub for p2m_set_range() to map a range of GFNs to MFNs.
- p2m_insert_mapping().
- p2m_is_write_locked().

Drop guest_physmap_add_entry() and call map_regions_p2mt() directly
from guest_physmap_add_page(), making guest_physmap_add_entry()
unnecessary.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V5:
 - Put "p2m->need_flush = false;" before TLB flush.
 - Correct the comment above p2m_write_unlock().
 - Add Acked-by: Jan Beulich <jbeulich@suse.com>.
---
Changes in V4:
 - Update the comment above declaration of map_regions_p2mt():
   s/guest p2m/guest's hostp2m.
 - Add const for p2m_force_tlb_flush_sync()'s local variable `d`.
 - Stray 'w' in the comment inside p2m_write_unlock().
 - Drop p2m_insert_mapping() and leave only map_regions_p2mt() as it
   is just re-use insert_mapping().
 - Rename p2m_force_tlb_flush_sync() to p2m_tlb_flush().
 - Update prototype of p2m_is_write_locked() to return bool instead of
   int.
---
Changes in v3:
 - Introudce p2m_write_lock() and p2m_is_write_locked().
 - Introduce p2m_force_tlb_flush_sync() and p2m_flush_tlb() to flush TLBs
   after p2m table update.
 - Change an argument of p2m_insert_mapping() from struct domain *d to
   p2m_domain *p2m.
 - Drop guest_physmap_add_entry() and use map_regions_p2mt() to define
   guest_physmap_add_page().
 - Add declaration of map_regions_p2mt() to asm/p2m.h.
 - Rewrite commit message and subject.
 - Drop p2m_access_t related stuff.
 - Add defintion of  p2m_is_write_locked().
---
Changes in v2:
 - This changes were part of "xen/riscv: implement p2m mapping functionality".
   No additional signigicant changes were done.
---
 xen/arch/riscv/include/asm/p2m.h | 31 ++++++++++++-----
 xen/arch/riscv/p2m.c             | 60 ++++++++++++++++++++++++++++++++
 2 files changed, 82 insertions(+), 9 deletions(-)

diff --git a/xen/arch/riscv/include/asm/p2m.h b/xen/arch/riscv/include/asm/p2m.h
index 46ee0b93f2..4fafb26e1e 100644
--- a/xen/arch/riscv/include/asm/p2m.h
+++ b/xen/arch/riscv/include/asm/p2m.h
@@ -122,21 +122,22 @@ static inline int guest_physmap_mark_populate_on_demand(struct domain *d,
     return -EOPNOTSUPP;
 }
 
-static inline int guest_physmap_add_entry(struct domain *d,
-                                          gfn_t gfn, mfn_t mfn,
-                                          unsigned long page_order,
-                                          p2m_type_t t)
-{
-    BUG_ON("unimplemented");
-    return -EINVAL;
-}
+/*
+ * Map a region in the guest's hostp2m p2m with a specific p2m type.
+ * The memory attributes will be derived from the p2m type.
+ */
+int map_regions_p2mt(struct domain *d,
+                     gfn_t gfn,
+                     unsigned long nr,
+                     mfn_t mfn,
+                     p2m_type_t p2mt);
 
 /* Untyped version for RAM only, for compatibility */
 static inline int __must_check
 guest_physmap_add_page(struct domain *d, gfn_t gfn, mfn_t mfn,
                        unsigned int page_order)
 {
-    return guest_physmap_add_entry(d, gfn, mfn, page_order, p2m_ram_rw);
+    return map_regions_p2mt(d, gfn, BIT(page_order, UL), mfn, p2m_ram_rw);
 }
 
 static inline mfn_t gfn_to_mfn(struct domain *d, gfn_t gfn)
@@ -159,6 +160,18 @@ void pre_gstage_init(void);
 
 int p2m_init(struct domain *d);
 
+static inline void p2m_write_lock(struct p2m_domain *p2m)
+{
+    write_lock(&p2m->lock);
+}
+
+void p2m_write_unlock(struct p2m_domain *p2m);
+
+static inline bool p2m_is_write_locked(struct p2m_domain *p2m)
+{
+    return rw_is_write_locked(&p2m->lock);
+}
+
 unsigned long construct_hgatp(const struct p2m_domain *p2m, uint16_t vmid);
 
 #endif /* ASM__RISCV__P2M_H */
diff --git a/xen/arch/riscv/p2m.c b/xen/arch/riscv/p2m.c
index c9ffad393f..e571257022 100644
--- a/xen/arch/riscv/p2m.c
+++ b/xen/arch/riscv/p2m.c
@@ -104,6 +104,41 @@ void __init pre_gstage_init(void)
     vmid_init();
 }
 
+/*
+ * Force a synchronous P2M TLB flush.
+ *
+ * Must be called with the p2m lock held.
+ */
+static void p2m_tlb_flush(struct p2m_domain *p2m)
+{
+    const struct domain *d = p2m->domain;
+
+    ASSERT(p2m_is_write_locked(p2m));
+
+    p2m->need_flush = false;
+
+    sbi_remote_hfence_gvma(d->dirty_cpumask, 0, 0);
+}
+
+void p2m_tlb_flush_sync(struct p2m_domain *p2m)
+{
+    if ( p2m->need_flush )
+        p2m_tlb_flush(p2m);
+}
+
+/* Unlock the P2M and do a P2M TLB flush if necessary */
+void p2m_write_unlock(struct p2m_domain *p2m)
+{
+    /*
+     * The final flush is done with the P2M write lock taken to avoid
+     * someone else modifying the P2M before the TLB invalidation has
+     * completed.
+     */
+    p2m_tlb_flush_sync(p2m);
+
+    write_unlock(&p2m->lock);
+}
+
 static void clear_and_clean_page(struct page_info *page, bool clean_dcache)
 {
     clear_domain_page(page_to_mfn(page));
@@ -223,3 +258,28 @@ int p2m_set_allocation(struct domain *d, unsigned long pages, bool *preempted)
 
     return rc;
 }
+
+static int p2m_set_range(struct p2m_domain *p2m,
+                         gfn_t sgfn,
+                         unsigned long nr,
+                         mfn_t smfn,
+                         p2m_type_t t)
+{
+    return -EOPNOTSUPP;
+}
+
+int map_regions_p2mt(struct domain *d,
+                     gfn_t gfn,
+                     unsigned long nr,
+                     mfn_t mfn,
+                     p2m_type_t p2mt)
+{
+    struct p2m_domain *p2m = p2m_get_hostp2m(d);
+    int rc;
+
+    p2m_write_lock(p2m);
+    rc = p2m_set_range(p2m, gfn, nr, mfn, p2mt);
+    p2m_write_unlock(p2m);
+
+    return rc;
+}
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Mon Oct 20 15:58:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 15:58:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146543.1479046 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAsHB-0007Ik-QM; Mon, 20 Oct 2025 15:58:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146543.1479046; Mon, 20 Oct 2025 15:58:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAsHB-0007H9-Ck; Mon, 20 Oct 2025 15:58:25 +0000
Received: by outflank-mailman (input) for mailman id 1146543;
 Mon, 20 Oct 2025 15:58:23 +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
 <SRS0=Li3P=45=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1vAsH9-0004nC-Bm
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 15:58:23 +0000
Received: from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com
 [2a00:1450:4864:20::52c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9a10beb1-adcd-11f0-980a-7dc792cee155;
 Mon, 20 Oct 2025 17:58:21 +0200 (CEST)
Received: by mail-ed1-x52c.google.com with SMTP id
 4fb4d7f45d1cf-62fca01f0d9so9337929a12.3
 for <xen-devel@lists.xenproject.org>; Mon, 20 Oct 2025 08:58:21 -0700 (PDT)
Received: from fedora (user-109-243-146-38.play-internet.pl. [109.243.146.38])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-63c48ab560esm6966067a12.12.2025.10.20.08.58.19
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 20 Oct 2025 08:58:20 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9a10beb1-adcd-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760975901; x=1761580701; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=AfS5FANeXCoY4Zhsy/t9BHhWxI7P3NDzOuDkNE6RLcc=;
        b=k57Z819PT7SHx49NeX1XenDLl4oulWp5YC5zbiTYHUI8thurnU49a4sKQGqpMLIc3/
         TGJWTAkZ2QBduolkJIvBSlMa3eJyaPwZUZlFSVhSyqGSyCU0Z2h5513yg0y8qrRLlkgY
         jr7dcKDwkx9lN83xCMs8lO+NzSOFqQs3WJ4GZWl+Luss97YrBE5/IpaHla1XQViTDEgQ
         Eqo70BPg9hZQDfxPxUY+zZFH2sWaZ1tkGbj8RSF1h18Y6B62FhFPgaKDRz1Wx6n3rNuC
         A7NfpADo9+hK5jB1IMtGbPTuFEk9OBeOjrsZSwgraSqLH0YV9++LT+JxPk/PPmnu6NNc
         oaAw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760975901; x=1761580701;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=AfS5FANeXCoY4Zhsy/t9BHhWxI7P3NDzOuDkNE6RLcc=;
        b=Zoe90ySvEjGevLuV5A7T2S+rLL39D/qx7760kvyOW6lJkNUcu35zCCFQYfVepftixE
         97DCTIbs4AcSTL49VCsaotKe9pPM/B5XyrL0KEpWIHa/uHIcBozbIvofcLKpPyRmmOGp
         nQTzTvKnnQCoLWjE2i2v3QubeI14OCfpeptwmxmfA3uI3GRHuUkKl0oh3KrUWc7rra1T
         WhRhrjZEQGqYgybttJK46ka6qP4gNhl6t4BRBO7ZQz4pphWMPZVIg27111z319BVvj8b
         IliRLzXPzXAmI4WdMJvCYwj0yekrg2QxivaA4aqmR/WHejGAAeVGw4OXw78WjoOVmOUM
         9LIg==
X-Gm-Message-State: AOJu0Ywr3GEJgDGieGtXAEtKppfErlgh60lIS28ZU4O9v5ji03FeqBmo
	BMArBSYWLi1nbx5xrI241xhVeD8z7fMlUUMH/cGVJmu9biGlfrdcJ1FpLyt+Cg==
X-Gm-Gg: ASbGncuzUqKXyh8TmLGDLKlXYWrTSKKfl1WWi9dFYMw8USYIgFmHCPDqdFkP+/tHBk5
	jH5j6M5dybD9qn9bcEeSZ+5EtBPcS7UlQHjnlGZ6pN/D++FmxpS9eBSOg4cQHaPVgSSuOr8O+yS
	foKxF0hvSJ0Xk2+zazQ7iINmu0nF6UlPJL4LkrmexQU1FLaEusmdKwE7MSfJ5nUy6WIB0wBGPF7
	yPiOor7VraEF5Shd3TvdCMUHqyHFdGnkwyBruYkMDFueNxAaq2MPYP8ClfR+4zpO9l83QSm8kVG
	YyrH0fDOdEJpUejElJOpZlz7EtI+VwE74uiEP1mN7ow/Z9P+JNTcQNWDCxmCJh3WJLQ5C2qj27p
	AZuEENrUtuFGv8fyTd0D4OEIk6NopqiTZV8o24dJNYV+j/gRHJ4kcew0box5nB8njAhzArbTHqS
	5Nv1ezWtsfQf4rwLx+nolMkOcl+ETnlaQpTmxtalDyJZ1gKY2rDRNU+eYDTw==
X-Google-Smtp-Source: AGHT+IHVIf/TL2QYySrNY2TnZAAzFDqzO4600vue0hhiBBlr9O/L2+dEvjK30uZBQGZVTrUz8DDffg==
X-Received: by 2002:a05:6402:4316:b0:637:ee0d:383d with SMTP id 4fb4d7f45d1cf-63c1f62cad5mr13735515a12.3.1760975900403;
        Mon, 20 Oct 2025 08:58:20 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [for 4.22 v5 10/18] xen/riscv: implement p2m_set_range()
Date: Mon, 20 Oct 2025 17:57:53 +0200
Message-ID: <d689c48582505b0dab6896b414d01d844d834bd5.1760974017.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <cover.1760974017.git.oleksii.kurochko@gmail.com>
References: <cover.1760974017.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This patch introduces p2m_set_range() and its core helper p2m_set_entry() for
RISC-V, based loosely on the Arm implementation, with several RISC-V-specific
modifications.

The main changes are:
- Simplification of Break-Before-Make (BBM) approach as according to RISC-V
  spec:
    It is permitted for multiple address-translation cache entries to co-exist
    for the same address. This represents the fact that in a conventional
    TLB hierarchy, it is possible for multiple entries to match a single
    address if, for example, a page is upgraded to a superpage without first
    clearing the original non-leaf PTEâ€™s valid bit and executing an SFENCE.VMA
    with rs1=x0, or if multiple TLBs exist in parallel at a given level of the
    hierarchy. In this case, just as if an SFENCE.VMA is not executed between
    a write to the memory-management tables and subsequent implicit read of the
    same address: it is unpredictable whether the old non-leaf PTE or the new
    leaf PTE is used, but the behavior is otherwise well defined.
  In contrast to the Arm architecture, where BBM is mandatory and failing to
  use it in some cases can lead to CPU instability, RISC-V guarantees
  stability, and the behavior remains safe â€” though unpredictable in terms of
  which translation will be used.
- Unlike Arm, the valid bit is not repurposed for other uses in this
  implementation. Instead, entry validity is determined based solely on P2M
  PTE's valid bit.

The main functionality is in p2m_set_entry(), which handles mappings aligned
to page table block entries (e.g., 1GB, 2MB, or 4KB with 4KB granularity).

p2m_set_range() breaks a region down into block-aligned mappings and calls
p2m_set_entry() accordingly.

Stub implementations (to be completed later) include:
- p2m_free_subtree()
- p2m_next_level()
- p2m_pte_from_mfn()

Note: Support for shattering block entries is not implemented in this
patch and will be added separately.

Additionally, some straightforward helper functions are now implemented:
- p2m_write_pte()
- p2m_remove_pte()
- p2m_get_root_pointer()

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V5:
 - Update the comment above p2m_get_root_pointer().
 - Fix an identation for p2m_set_entry()'s arguments.
 - Update the comment in p2m_set_entry() where lookup is happening.
 - Drop part of the comment above p2m_set_entry() as it is not really
   needed anymore.
 - Introduce P2M_DECLARE_OFFSETS() to use it insetead of
   DECLARE_OFFSETS() as the latter could have an issue with P2M code.
 - Update p2m_get_root_pointer() to work only with P2M root properties.
 - Update the comment inside in p2m_set_entry() for the case when
   p2m_next_level() returns P2M_TABLE_MAP_{NONE,NOMEM}.
 - Simplify a little bit a condition when p2m_free_subtree() by removing
   a case when removing && mfn(0) are checked explicitly.
---
Changes in V4:
 - Introduce gstage_root_level and use it for defintion of P2M_ROOT_LEVEL.
 - Introduce P2M_LEVEL_ORDER() macros and P2M_PAGETABLE_ENTRIES().
 - Add the TODO comment in p2m_write_pte() about possible perfomance
   optimization.
 - Use compound literal for `pte` variable inside p2m_clean_pte().
 - Fix the comment above p2m_next_level().
 - Update ASSERT() inside p2m_set_entry() and leave only a check of a
   target as p2m_mapping_order() that page_order will be correctly
   aligned.
 - Update the comment above declaration of `removing_mapping` in
   p2m_set_entry().
 - Stray blanks.
 - Handle possibly overflow of an amount of unmapped GFNs in case of
   some failute in p2m_set_range().
 - Handle a case when MFN is 0 and removing of such MFN is happening in
   p2m_set_entry.
 - Fix p2m_get_root_pointer() to return correct pointer to root page table.
---
Changes in V3:
 - Drop p2m_access_t connected stuff as it isn't going to be used, at least
   now.
 - Move defintion of P2M_ROOT_ORDER and P2M_ROOT_PAGES to earlier patches.
 - Update the comment above lowest_mapped_gfn declaration.
 - Update the comment above p2m_get_root_pointer(): s/"...ofset of the root
   table"/"...ofset into root table".
 - s/p2m_remove_pte/p2m_clean_pte.
 - Use plain 0 instead of 0x00 in p2m_clean_pte().
 - s/p2m_entry_from_mfn/p2m_pte_from_mfn.
 - s/GUEST_TABLE_*/P2M_TABLE_*.
 - Update the comment above p2m_next_level(): "GFN entry" -> "corresponding
   the entry corresponding to the GFN".
 - s/__p2m_set_entry/_p2m_set_entry.
 - drop "s" for sgfn and smfn prefixes of _p2m_set_entry()'s arguments
   as this function work only with one GFN and one MFN.
 - Return correct return code when p2m_next_level() faild in _p2m_set_entry(),
   also drop "else" and just handle case (rc != P2M_TABLE_NORMAL) separately.
 - Code style fixes.
 - Use unsigned int for "order" in p2m_set_entry().
 - s/p2m_set_entry/p2m_free_subtree.
 - Update ASSERT() in __p2m_set_enty() to check that page_order is propertly
   aligned.
 - Return -EACCES instead of -ENOMEM in the chase when domain is dying and
   someone called p2m_set_entry.
 - s/p2m_set_entry/p2m_set_range.
 - s/__p2m_set_entry/p2m_set_entry
 - s/p2me_is_valid/p2m_is_valid()
 - Return a number of successfully mapped GFNs in case if not all were mapped
   in p2m_set_range().
 - Use BIT(order, UL) instead of 1 << order.
 - Drop IOMMU flushing code from p2m_set_entry().
 - set p2m->need_flush=true when entry in p2m_set_entry() is changed.
 - Introduce p2m_mapping_order() to support superpages.
 - Drop p2m_is_valid() and use pte_is_valid() instead as there is no tricks
   with copying of valid bit anymore.
 - Update p2m_pte_from_mfn() prototype: drop p2m argument.
---
Changes in V2:
 - New patch. It was a part of a big patch "xen/riscv: implement p2m mapping
   functionality" which was splitted to smaller.
 - Update the way when p2m TLB is flushed:
 - RISC-V does't require BBM so there is no need to remove PTE before making
   new so drop 'if /*pte_is_valid(orig_pte) */' and remove PTE only removing
   has been requested.
 - Drop p2m->need_flush |= !!pte_is_valid(orig_pte); for the case when
   PTE's removing is happening as RISC-V could cache invalid PTE and thereby
   it requires to do a flush each time and it doesn't matter if PTE is valid
   or not at the moment when PTE removing is happening.
 - Drop a check if PTE is valid in case of PTE is modified as it was mentioned
   above as BBM isn't required so TLB flushing could be defered and there is
   no need to do it before modifying of PTE.
 - Drop p2m->need_flush as it seems like it will be always true.
 - Drop foreign mapping things as it isn't necessary for RISC-V right now.
 - s/p2m_is_valid/p2me_is_valid.
 - Move definition and initalization of p2m->{max_mapped_gfn,lowest_mapped_gfn}
   to this patch.
---
 xen/arch/riscv/include/asm/p2m.h |  43 ++++
 xen/arch/riscv/p2m.c             | 331 ++++++++++++++++++++++++++++++-
 2 files changed, 373 insertions(+), 1 deletion(-)

diff --git a/xen/arch/riscv/include/asm/p2m.h b/xen/arch/riscv/include/asm/p2m.h
index 4fafb26e1e..ce8bcb944f 100644
--- a/xen/arch/riscv/include/asm/p2m.h
+++ b/xen/arch/riscv/include/asm/p2m.h
@@ -8,12 +8,45 @@
 #include <xen/rwlock.h>
 #include <xen/types.h>
 
+#include <asm/page.h>
 #include <asm/page-bits.h>
 
 extern unsigned char gstage_mode;
+extern unsigned int gstage_root_level;
 
 #define P2M_ROOT_ORDER  (ilog2(GSTAGE_ROOT_PAGE_TABLE_SIZE) - PAGE_SHIFT)
 #define P2M_ROOT_PAGES  BIT(P2M_ROOT_ORDER, U)
+#define P2M_ROOT_LEVEL  gstage_root_level
+
+/*
+ * According to the RISC-V spec:
+ *   When hgatp.MODE specifies a translation scheme of Sv32x4, Sv39x4, Sv48x4,
+ *   or Sv57x4, G-stage address translation is a variation on the usual
+ *   page-based virtual address translation scheme of Sv32, Sv39, Sv48, or
+ *   Sv57, respectively. In each case, the size of the incoming address is
+ *   widened by 2 bits (to 34, 41, 50, or 59 bits).
+ *
+ * P2M_LEVEL_ORDER(lvl) defines the bit position in the GFN from which
+ * the index for this level of the P2M page table starts. The extra 2
+ * bits added by the "x4" schemes only affect the root page table width.
+ *
+ * Therefore, this macro can safely reuse XEN_PT_LEVEL_ORDER() for all
+ * levels: the extra 2 bits do not change the indices of lower levels.
+ *
+ * The extra 2 bits are only relevant if one tried to address beyond the
+ * root level (i.e., P2M_LEVEL_ORDER(P2M_ROOT_LEVEL + 1)), which is
+ * invalid.
+ */
+#define P2M_LEVEL_ORDER(lvl) XEN_PT_LEVEL_ORDER(lvl)
+
+#define P2M_ROOT_EXTRA_BITS(lvl) (2 * ((lvl) == P2M_ROOT_LEVEL))
+
+#define P2M_PAGETABLE_ENTRIES(lvl) \
+    (BIT(PAGETABLE_ORDER + P2M_ROOT_EXTRA_BITS(lvl), UL))
+
+#define GFN_MASK(lvl) (P2M_PAGETABLE_ENTRIES(lvl) - 1UL)
+
+#define P2M_LEVEL_SHIFT(lvl) (P2M_LEVEL_ORDER(lvl) + PAGE_SHIFT)
 
 #define paddr_bits PADDR_BITS
 
@@ -52,6 +85,16 @@ struct p2m_domain {
      * when a page is needed to be fully cleared and cleaned.
      */
     bool clean_dcache;
+
+    /* Highest guest frame that's ever been mapped in the p2m */
+    gfn_t max_mapped_gfn;
+
+    /*
+     * Lowest mapped gfn in the p2m. When releasing mapped gfn's in a
+     * preemptible manner this is updated to track where to resume
+     * the search. Apart from during teardown this can only decrease.
+     */
+    gfn_t lowest_mapped_gfn;
 };
 
 /*
diff --git a/xen/arch/riscv/p2m.c b/xen/arch/riscv/p2m.c
index e571257022..f13458712a 100644
--- a/xen/arch/riscv/p2m.c
+++ b/xen/arch/riscv/p2m.c
@@ -9,6 +9,7 @@
 #include <xen/rwlock.h>
 #include <xen/sched.h>
 #include <xen/sections.h>
+#include <xen/xvmalloc.h>
 
 #include <asm/csr.h>
 #include <asm/flushtlb.h>
@@ -17,6 +18,43 @@
 #include <asm/vmid.h>
 
 unsigned char __ro_after_init gstage_mode;
+unsigned int __ro_after_init gstage_root_level;
+
+/*
+ * The P2M root page table is extended by 2 bits, making its size 16KB
+ * (instead of 4KB for non-root page tables). Therefore, P2M root page
+ * is allocated as four consecutive 4KB pages (since alloc_domheap_pages()
+ * only allocates 4KB pages).
+ */
+#define ENTRIES_PER_ROOT_PAGE \
+    (P2M_PAGETABLE_ENTRIES(P2M_ROOT_LEVEL) / P2M_ROOT_ORDER)
+
+static inline unsigned int calc_offset(unsigned int lvl, vaddr_t va)
+{
+    unsigned int offset = (va >> P2M_LEVEL_SHIFT(lvl)) & GFN_MASK(lvl);
+
+    /*
+     * For P2M_ROOT_LEVEL, `offset` ranges from 0 to 2047, since the root
+     * page table spans 4 consecutive 4KB pages.
+     * We want to return an index within one of these 4 pages.
+     * The specific page to use is determined by `p2m_get_root_pointer()`.
+     *
+     * Example: if `offset == 512`:
+     *  - A single 4KB page holds 512 entries.
+     *  - Therefore, entry 512 corresponds to index 0 of the second page.
+     *
+     * At all other levels, only one page is allocated, and `offset` is
+     * always in the range 0 to 511, since the VPN is 9 bits long.
+     */
+    return offset % ENTRIES_PER_ROOT_PAGE;
+}
+
+#define P2M_MAX_ROOT_LEVEL 4
+
+#define P2M_DECLARE_OFFSETS(var, addr) \
+    unsigned int var[P2M_MAX_ROOT_LEVEL] = {-1};\
+    for ( unsigned int i = 0; i <= gstage_root_level; i++ ) \
+        var[i] = calc_offset(i, addr);
 
 static void __init gstage_mode_detect(void)
 {
@@ -54,6 +92,14 @@ static void __init gstage_mode_detect(void)
         if ( MASK_EXTR(csr_read(CSR_HGATP), HGATP_MODE_MASK) == mode )
         {
             gstage_mode = mode;
+            gstage_root_level = modes[mode_idx].paging_levels - 1;
+            /*
+             * The highest supported mode at the moment is Sv57, where L4
+             * is the root page table.
+             * If this changes in the future, P2M_MAX_ROOT_LEVEL must be
+             * updated accordingly.
+             */
+            ASSERT(gstage_root_level <= P2M_MAX_ROOT_LEVEL);
             break;
         }
     }
@@ -218,6 +264,9 @@ int p2m_init(struct domain *d)
     rwlock_init(&p2m->lock);
     INIT_PAGE_LIST_HEAD(&p2m->pages);
 
+    p2m->max_mapped_gfn = _gfn(0);
+    p2m->lowest_mapped_gfn = _gfn(ULONG_MAX);
+
     /*
      * Currently, the infrastructure required to enable CONFIG_HAS_PASSTHROUGH
      * is not ready for RISC-V support.
@@ -259,13 +308,293 @@ int p2m_set_allocation(struct domain *d, unsigned long pages, bool *preempted)
     return rc;
 }
 
+/*
+ * Map one of the four root pages of the P2M root page table.
+ *
+ * The P2M root page table is larger than normal (16KB instead of 4KB),
+ * so it is allocated as four consecutive 4KB pages. This function selects
+ * the appropriate 4KB page based on the given GFN and returns a mapping
+ * to it.
+ *
+ * The caller is responsible for unmapping the page after use.
+ *
+ * Returns NULL if the calculated offset into the root table is invalid.
+ */
+static pte_t *p2m_get_root_pointer(struct p2m_domain *p2m, gfn_t gfn)
+{
+    unsigned long root_table_indx;
+
+    root_table_indx = gfn_x(gfn) >> P2M_LEVEL_ORDER(P2M_ROOT_LEVEL);
+    if ( root_table_indx >= P2M_ROOT_PAGES )
+        return NULL;
+
+    /*
+     * The P2M root page table is extended by 2 bits, making its size 16KB
+     * (instead of 4KB for non-root page tables). Therefore, p2m->root is
+     * allocated as four consecutive 4KB pages (since alloc_domheap_pages()
+     * only allocates 4KB pages).
+     *
+     * Initially, `root_table_indx` is derived directly from `va`.
+     * To locate the correct entry within a single 4KB page,
+     * we rescale the offset so it falls within one of the 4 pages.
+     *
+     * Example: if `root_table_indx == 512`
+     * - A 4KB page holds 512 entries.
+     * - Thus, entry 512 corresponds to index 0 of the second page.
+     */
+    root_table_indx /= ENTRIES_PER_ROOT_PAGE;
+
+    return __map_domain_page(p2m->root + root_table_indx);
+}
+
+static inline void p2m_write_pte(pte_t *p, pte_t pte, bool clean_pte)
+{
+    write_pte(p, pte);
+
+    /*
+     * TODO: if multiple adjacent PTEs are written without releasing
+     *       the lock, this then redundant cache flushing can be a
+     *       performance issue.
+     */
+    if ( clean_pte )
+        clean_dcache_va_range(p, sizeof(*p));
+}
+
+static inline void p2m_clean_pte(pte_t *p, bool clean_pte)
+{
+    pte_t pte = { .pte = 0 };
+
+    p2m_write_pte(p, pte, clean_pte);
+}
+
+static pte_t p2m_pte_from_mfn(mfn_t mfn, p2m_type_t t)
+{
+    panic("%s: hasn't been implemented yet\n", __func__);
+
+    return (pte_t) { .pte = 0 };
+}
+
+#define P2M_TABLE_MAP_NONE 0
+#define P2M_TABLE_MAP_NOMEM 1
+#define P2M_TABLE_SUPER_PAGE 2
+#define P2M_TABLE_NORMAL 3
+
+/*
+ * Take the currently mapped table, find the entry corresponding to the GFN,
+ * and map the next-level table if available. The previous table will be
+ * unmapped if the next level was mapped (e.g., when P2M_TABLE_NORMAL is
+ * returned).
+ *
+ * `alloc_tbl` parameter indicates whether intermediate tables should
+ * be allocated when not present.
+ *
+ * Return values:
+ *  P2M_TABLE_MAP_NONE: a table allocation isn't permitted.
+ *  P2M_TABLE_MAP_NOMEM: allocating a new page failed.
+ *  P2M_TABLE_SUPER_PAGE: next level or leaf mapped normally.
+ *  P2M_TABLE_NORMAL: The next entry points to a superpage.
+ */
+static int p2m_next_level(struct p2m_domain *p2m, bool alloc_tbl,
+                          unsigned int level, pte_t **table,
+                          unsigned int offset)
+{
+    panic("%s: hasn't been implemented yet\n", __func__);
+
+    return P2M_TABLE_MAP_NONE;
+}
+
+/* Free pte sub-tree behind an entry */
+static void p2m_free_subtree(struct p2m_domain *p2m,
+                             pte_t entry, unsigned int level)
+{
+    panic("%s: hasn't been implemented yet\n", __func__);
+}
+
+/* Insert an entry in the p2m */
+static int p2m_set_entry(struct p2m_domain *p2m,
+                         gfn_t gfn,
+                         unsigned long page_order,
+                         mfn_t mfn,
+                         p2m_type_t t)
+{
+    unsigned int level;
+    unsigned int target = page_order / PAGETABLE_ORDER;
+    pte_t *entry, *table, orig_pte;
+    int rc;
+    /*
+     * A mapping is removed only if the MFN is explicitly set to INVALID_MFN.
+     * Other MFNs that are considered invalid by mfn_valid() (e.g., MMIO)
+     * are still allowed.
+     */
+    bool removing_mapping = mfn_eq(mfn, INVALID_MFN);
+    P2M_DECLARE_OFFSETS(offsets, gfn_to_gaddr(gfn));
+
+    ASSERT(p2m_is_write_locked(p2m));
+
+    /*
+     * Check if the level target is valid: we only support
+     * 4K - 2M - 1G mapping.
+     */
+    ASSERT(target <= 2);
+
+    table = p2m_get_root_pointer(p2m, gfn);
+    if ( !table )
+        return -EINVAL;
+
+    for ( level = P2M_ROOT_LEVEL; level > target; level-- )
+    {
+        /*
+         * Don't try to allocate intermediate page table if the mapping
+         * is about to be removed.
+         */
+        rc = p2m_next_level(p2m, !removing_mapping,
+                            level, &table, offsets[level]);
+        if ( (rc == P2M_TABLE_MAP_NONE) || (rc == P2M_TABLE_MAP_NOMEM) )
+        {
+            rc = (rc == P2M_TABLE_MAP_NONE) ? -ENOENT : -ENOMEM;
+            /*
+             * We are here because p2m_next_level has failed to map
+             * the intermediate page table (e.g the table does not exist
+             * and none should be allocated). It is a valid case
+             * when removing a mapping as it may not exist in the
+             * page table. In this case, just ignore lookup failure.
+             */
+            rc = removing_mapping ? 0 : rc;
+            goto out;
+        }
+
+        if ( rc != P2M_TABLE_NORMAL )
+            break;
+    }
+
+    entry = table + offsets[level];
+
+    /*
+     * If we are here with level > target, we must be at a leaf node,
+     * and we need to break up the superpage.
+     */
+    if ( level > target )
+    {
+        panic("Shattering isn't implemented\n");
+    }
+
+    /*
+     * We should always be there with the correct level because all the
+     * intermediate tables have been installed if necessary.
+     */
+    ASSERT(level == target);
+
+    orig_pte = *entry;
+
+    if ( removing_mapping )
+        p2m_clean_pte(entry, p2m->clean_dcache);
+    else
+    {
+        pte_t pte = p2m_pte_from_mfn(mfn, t);
+
+        p2m_write_pte(entry, pte, p2m->clean_dcache);
+
+        p2m->max_mapped_gfn = gfn_max(p2m->max_mapped_gfn,
+                                      gfn_add(gfn, BIT(page_order, UL) - 1));
+        p2m->lowest_mapped_gfn = gfn_min(p2m->lowest_mapped_gfn, gfn);
+    }
+
+    p2m->need_flush = true;
+
+    /*
+     * Currently, the infrastructure required to enable CONFIG_HAS_PASSTHROUGH
+     * is not ready for RISC-V support.
+     *
+     * When CONFIG_HAS_PASSTHROUGH=y, iommu_iotlb_flush() should be done
+     * here.
+     */
+#ifdef CONFIG_HAS_PASSTHROUGH
+#   error "add code to flush IOMMU TLB"
+#endif
+
+    rc = 0;
+
+    /*
+     * In case of a VALID -> INVALID transition, the original PTE should
+     * always be freed.
+     *
+     * In case of a VALID -> VALID transition, the original PTE should be
+     * freed only if the MFNs are different. If the MFNs are the same
+     * (i.e., only permissions differ), there is no need to free the
+     * original PTE.
+     */
+    if ( pte_is_valid(orig_pte) &&
+         (!pte_is_valid(*entry) ||
+         !mfn_eq(pte_get_mfn(*entry), pte_get_mfn(orig_pte))) )
+        p2m_free_subtree(p2m, orig_pte, level);
+
+ out:
+    unmap_domain_page(table);
+
+    return rc;
+}
+
+/* Return mapping order for given gfn, mfn and nr */
+static unsigned long p2m_mapping_order(gfn_t gfn, mfn_t mfn, unsigned long nr)
+{
+    unsigned long mask;
+    /* 1gb, 2mb, 4k mappings are supported */
+    unsigned int level = min(P2M_ROOT_LEVEL, _AC(2, U));
+    unsigned long order = 0;
+
+    mask = !mfn_eq(mfn, INVALID_MFN) ? mfn_x(mfn) : 0;
+    mask |= gfn_x(gfn);
+
+    for ( ; level != 0; level-- )
+    {
+        if ( !(mask & (BIT(P2M_LEVEL_ORDER(level), UL) - 1)) &&
+             (nr >= BIT(P2M_LEVEL_ORDER(level), UL)) )
+        {
+                order = P2M_LEVEL_ORDER(level);
+                break;
+        }
+    }
+
+    return order;
+}
+
 static int p2m_set_range(struct p2m_domain *p2m,
                          gfn_t sgfn,
                          unsigned long nr,
                          mfn_t smfn,
                          p2m_type_t t)
 {
-    return -EOPNOTSUPP;
+    int rc = 0;
+    unsigned long left = nr;
+
+    /*
+     * Any reference taken by the P2M mappings (e.g. foreign mapping) will
+     * be dropped in relinquish_p2m_mapping(). As the P2M will still
+     * be accessible after, we need to prevent mapping to be added when the
+     * domain is dying.
+     */
+    if ( unlikely(p2m->domain->is_dying) )
+        return -EACCES;
+
+    while ( left )
+    {
+        unsigned long order = p2m_mapping_order(sgfn, smfn, left);
+
+        rc = p2m_set_entry(p2m, sgfn, order, smfn, t);
+        if ( rc )
+            break;
+
+        sgfn = gfn_add(sgfn, BIT(order, UL));
+        if ( !mfn_eq(smfn, INVALID_MFN) )
+           smfn = mfn_add(smfn, BIT(order, UL));
+
+        left -= BIT(order, UL);
+    }
+
+    if ( left > INT_MAX )
+        rc = -EOVERFLOW;
+
+    return !left ? rc : left;
 }
 
 int map_regions_p2mt(struct domain *d,
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Mon Oct 20 15:58:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 15:58:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146546.1479053 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAsHC-0007PI-Hs; Mon, 20 Oct 2025 15:58:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146546.1479053; Mon, 20 Oct 2025 15:58:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAsHC-0007Nz-34; Mon, 20 Oct 2025 15:58:26 +0000
Received: by outflank-mailman (input) for mailman id 1146546;
 Mon, 20 Oct 2025 15:58:24 +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
 <SRS0=Li3P=45=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1vAsHA-0004nC-8g
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 15:58:24 +0000
Received: from mail-ed1-x530.google.com (mail-ed1-x530.google.com
 [2a00:1450:4864:20::530])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9aa75bd2-adcd-11f0-980a-7dc792cee155;
 Mon, 20 Oct 2025 17:58:22 +0200 (CEST)
Received: by mail-ed1-x530.google.com with SMTP id
 4fb4d7f45d1cf-63c3d7e2217so5395228a12.3
 for <xen-devel@lists.xenproject.org>; Mon, 20 Oct 2025 08:58:22 -0700 (PDT)
Received: from fedora (user-109-243-146-38.play-internet.pl. [109.243.146.38])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-63c48ab560esm6966067a12.12.2025.10.20.08.58.20
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 20 Oct 2025 08:58:21 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9aa75bd2-adcd-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760975902; x=1761580702; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=g2KWXdalaoCO3eHHEG1+R++H65GmAYdKBSXTe3SNxGA=;
        b=MRNvdlo2kOMuLQ1CKV/N3ofw6+j6tnHNLxKiO9lCDAQ68o3MxDQWS9v2JIULMWPy9v
         0bdgre2cI7iSsmx2KqW3Yzl4v64CVmqCtYiqfsli8XpRnTBws9pIlnr4RjVWSsyBEg1O
         3q5Nhi8wZ+TmmJ+a2nQg8WO7f9Xb7pNnpcN2jAyzBeEbPsGlYaT67rB6UlxlIVVRygvQ
         p0wv+wyIBz0gSjWfPNIouJwgSlmLy8dk8zpB9Izo1dZ9378VXB6//7+0TNNkGWZs7lNd
         TkifmkV+/8mf6uAFS8e7PkTVjLWdBZCDAZsxaD0HfIQDmbap+0I+cQUPK2viWnsrNF5C
         4aYg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760975902; x=1761580702;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=g2KWXdalaoCO3eHHEG1+R++H65GmAYdKBSXTe3SNxGA=;
        b=YkqBRGVBk2pqFsssOZQ6IZwszSWLNpJoWnR0MPWJIP3p2GZRb4tA+DmQZZvPxJMtoQ
         bKo9RZg+IirZgvgEFrxoEJUppfjODtOF4iJd1s2e6aBL8tN+MsFxeCCITBWGbcXRZfjH
         57UzP/DPPhpDR8/JItA1zXZiwh5VBfksyREm7QXBOk/QxikiaQo63KPc7wLyGcM4UvlW
         uonnfDx2r/mX/BKs1bZu6hcyo6Rgd/4ReXkz7zEBqyq8bxI0h4ntmL/kzGkCB4q/fTIX
         2hP1vIF8Gheh41y/5YeTjpy3YOBnGEe79Rlsoa5J3zarhj5eZoGqKSZ3b0i+Q4Y0OKKJ
         iqQA==
X-Gm-Message-State: AOJu0YwqXpXij7vNFh2PzKPLFCkYtFgKg+6jmi+a11DcD/ubfiCr+xlN
	TeCuhudEtCJLRz9TsjYd/Kme8lEM0URF34FdWX4HyznvAtPUafKRiJWO4xdrBg==
X-Gm-Gg: ASbGncuww77a+Y2wf57Wyy9NCmBoPoBVhp83L8zHf+iW2oHE5mLBQQIMQ3xlQ6Zp9Zr
	dTms32O4UREAWcElfa6PuUGjPo6tmNWYaEw/l0NJanw8T5TLNf2ipghJdx+RQs9AGJNJuXouKsr
	8zqseQK+IzTz117su/Gj/oEvAXK9mPUJ38f+YlQhrfBDLVmqZfiuOJo9UP19DiXHQbRqrq7wjEg
	+Ei4+kI2AgYpMJwy76lTxEzTee06jkbFhBF2FVfwagDO3Otd8Oc4FpRSA8+ASJsoq7YLEjUzsAz
	AhHEK24EQLfRwt1ObnDsaTL/N/YZSl5UwasLEoh4XwUPokJ3MheI8z3984aT7C15IchtkfCfiXv
	L+YsgpYfCZIG/4R3QjKXOQotGpViZyn3IsF/BPj4FeztNsXWAjHisuwJN8m+P6LLXtldidHIBTT
	XNspldpChplNHafvUKy9i4shHV2Y72l4VXjhD+yt3Rqn2vDMc=
X-Google-Smtp-Source: AGHT+IFEt7PJeHyGdjrKoopVZ6Rl8B8afix4LXASkCKVumgtjZ9RU1Irl+fWe4tVx4l9DJOM5aoEow==
X-Received: by 2002:a05:6402:524f:b0:634:518b:c431 with SMTP id 4fb4d7f45d1cf-63c1f6347c9mr12052128a12.11.1760975901458;
        Mon, 20 Oct 2025 08:58:21 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [for 4.22 v5 11/18] xen/riscv: Implement p2m_free_subtree() and related helpers
Date: Mon, 20 Oct 2025 17:57:54 +0200
Message-ID: <24928a25f63f81ee72b78830306881b2c4c5a1e4.1760974017.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <cover.1760974017.git.oleksii.kurochko@gmail.com>
References: <cover.1760974017.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This patch introduces a working implementation of p2m_free_subtree() for RISC-V
based on ARM's implementation of p2m_free_entry(), enabling proper cleanup
of page table entries in the P2M (physical-to-machine) mapping.

Only few things are changed:
- Introduce and use p2m_get_type() to get a type of p2m entry as
  RISC-V's PTE doesn't have enough space to store all necessary types so
  a type is stored outside PTE. But, at the moment, handle only types
  which fit into PTE's bits.

Key additions include:
- p2m_free_subtree(): Recursively frees page table entries at all levels. It
  handles both regular and superpage mappings and ensures that TLB entries
  are flushed before freeing intermediate tables.
- p2m_put_page() and helpers:
  - p2m_put_4k_page(): Clears GFN from xenheap pages if applicable.
  - p2m_put_2m_superpage(): Releases foreign page references in a 2MB
    superpage.
  - p2m_get_type(): Extracts the stored p2m_type from the PTE bits.
- p2m_free_page(): Returns a page to a domain's freelist.
- Introduce p2m_is_foreign() and connected to it things.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V5:
 - Rewrite the comment inside p2m_put_foreign_page().
 - s/assert_failed/ASSERT_UNREACHABLE.
 - Use p2mt variable when p2m_free_subtree() is called intead of
   p2m_get_type(entry).
 - Update the commit message: drop info about defintion of XEN_PT_ENTRIES
 - Drop also defintion of XEN_PT_ENTRIES as the macro isn't used anymore.
 - Drop ACCESS_ONCE() for paging_free_page() as it is redundant in the
   case when a code is wrapped by a spinlock.
---
Changes in V4:
 - Stray blanks.
 - Implement arch_flush_tlb_mask() to make the comment in p2m_put_foreign()
   clear and explicit.
 - Update the comment above p2m_is_ram() in p2m_put_4k_page() with an explanation
   why p2m_is_ram() is used.
 - Add a type check inside p2m_put_2m_superpage().
 - Swap two conditions around in p2m_free_subtree():
     if ( (level == 0) || pte_is_superpage(entry, level) )
 - Add ASSERT() inside p2m_free_subtree() to check that level is <= 2; otherwise,
   it could consume a lot of time and big memory usage because of recursion.
 - Drop page_list_del() before p2m_free_page() as page_list_del() is called
   inside p2m_free_page().
 - Update p2m_freelist's total_pages when a page is added to p2m_freelist in
   paging_free_page().
 - Introduce P2M_SUPPORTED_LEVEL_MAPPING and use it in ASSERTs() which check
   supported level.
 - Use P2M_PAGETABLE_ENTRIES as XEN_PT_ENTRIES
   doesn't takeinto  into acount that G stage root page table is
   extended by 2 bits.
 - Update prototype of p2m_put_page() to not have unnecessary changes later.
---
Changes in V3:
 - Use p2m_tlb_flush_sync(p2m) instead of p2m_force_tlb_flush_sync() in
   p2m_free_subtree().
 - Drop p2m_is_valid() implementation as pte_is_valid() is going to be used
   instead.
 - Drop p2m_is_superpage() and introduce pte_is_superpage() instead.
 - s/p2m_free_entry/p2m_free_subtree.
 - s/p2m_type_radix_get/p2m_get_type.
 - Update implementation of p2m_get_type() to get type both from PTE bits,
   other cases will be covered in a separate patch. This requires an
   introduction of new P2M_TYPE_PTE_BITS_MASK macros.
 - Drop p2m argument of p2m_get_type() as it isn't needed anymore.
 - Put cheapest checks first in p2m_is_superpage().
 - Use switch() in p2m_put_page().
 - Update the comment in p2m_put_foreign_page().
 - Code style fixes.
 - Move p2m_foreign stuff to this commit.
 - Drop p2m argument of p2m_put_page() as itsn't used anymore.
---
Changes in V2:
 - New patch. It was a part of 2ma big patch "xen/riscv: implement p2m mapping
   functionality" which was splitted to smaller.
 - s/p2m_is_superpage/p2me_is_superpage.
---
 xen/arch/riscv/include/asm/flushtlb.h |   6 +-
 xen/arch/riscv/include/asm/p2m.h      |  15 +++
 xen/arch/riscv/include/asm/page.h     |   5 +
 xen/arch/riscv/include/asm/paging.h   |   2 +
 xen/arch/riscv/p2m.c                  | 152 +++++++++++++++++++++++++-
 xen/arch/riscv/paging.c               |   8 ++
 xen/arch/riscv/stubs.c                |   5 -
 7 files changed, 184 insertions(+), 9 deletions(-)

diff --git a/xen/arch/riscv/include/asm/flushtlb.h b/xen/arch/riscv/include/asm/flushtlb.h
index e70badae0c..ab32311568 100644
--- a/xen/arch/riscv/include/asm/flushtlb.h
+++ b/xen/arch/riscv/include/asm/flushtlb.h
@@ -41,8 +41,10 @@ static inline void page_set_tlbflush_timestamp(struct page_info *page)
     BUG_ON("unimplemented");
 }
 
-/* Flush specified CPUs' TLBs */
-void arch_flush_tlb_mask(const cpumask_t *mask);
+static inline void arch_flush_tlb_mask(const cpumask_t *mask)
+{
+    sbi_remote_hfence_gvma(mask, 0, 0);
+}
 
 #endif /* ASM__RISCV__FLUSHTLB_H */
 
diff --git a/xen/arch/riscv/include/asm/p2m.h b/xen/arch/riscv/include/asm/p2m.h
index ce8bcb944f..6a17cd52fc 100644
--- a/xen/arch/riscv/include/asm/p2m.h
+++ b/xen/arch/riscv/include/asm/p2m.h
@@ -110,6 +110,8 @@ typedef enum {
     p2m_mmio_direct_io, /* Read/write mapping of genuine Device MMIO area,
                            PTE_PBMT_IO will be used for such mappings */
     p2m_ext_storage,    /* Following types'll be stored outsude PTE bits: */
+    p2m_map_foreign_rw, /* Read/write RAM pages from foreign domain */
+    p2m_map_foreign_ro, /* Read-only RAM pages from foreign domain */
 
     /* Sentinel â€” not a real type, just a marker for comparison */
     p2m_first_external = p2m_ext_storage,
@@ -120,15 +122,28 @@ static inline p2m_type_t arch_dt_passthrough_p2m_type(void)
     return p2m_mmio_direct_io;
 }
 
+/*
+ * Bits 8 and 9 are reserved for use by supervisor software;
+ * the implementation shall ignore this field.
+ * We are going to use to save in these bits frequently used types to avoid
+ * get/set of a type from radix tree.
+ */
+#define P2M_TYPE_PTE_BITS_MASK  0x300
+
 /* We use bitmaps and mask to handle groups of types */
 #define p2m_to_mask(t) BIT(t, UL)
 
 /* RAM types, which map to real machine frames */
 #define P2M_RAM_TYPES (p2m_to_mask(p2m_ram_rw))
 
+/* Foreign mappings types */
+#define P2M_FOREIGN_TYPES (p2m_to_mask(p2m_map_foreign_rw) | \
+                           p2m_to_mask(p2m_map_foreign_ro))
+
 /* Useful predicates */
 #define p2m_is_ram(t) (p2m_to_mask(t) & P2M_RAM_TYPES)
 #define p2m_is_any_ram(t) (p2m_to_mask(t) & P2M_RAM_TYPES)
+#define p2m_is_foreign(t) (p2m_to_mask(t) & P2M_FOREIGN_TYPES)
 
 #include <xen/p2m-common.h>
 
diff --git a/xen/arch/riscv/include/asm/page.h b/xen/arch/riscv/include/asm/page.h
index 66cb192316..78e53981ac 100644
--- a/xen/arch/riscv/include/asm/page.h
+++ b/xen/arch/riscv/include/asm/page.h
@@ -182,6 +182,11 @@ static inline bool pte_is_mapping(pte_t p)
     return (p.pte & PTE_VALID) && (p.pte & PTE_ACCESS_MASK);
 }
 
+static inline bool pte_is_superpage(pte_t p, unsigned int level)
+{
+    return (level > 0) && pte_is_mapping(p);
+}
+
 static inline int clean_and_invalidate_dcache_va_range(const void *p,
                                                        unsigned long size)
 {
diff --git a/xen/arch/riscv/include/asm/paging.h b/xen/arch/riscv/include/asm/paging.h
index 01be45528f..fe462be223 100644
--- a/xen/arch/riscv/include/asm/paging.h
+++ b/xen/arch/riscv/include/asm/paging.h
@@ -13,4 +13,6 @@ int paging_freelist_adjust(struct domain *d, unsigned long pages,
 int paging_ret_to_domheap(struct domain *d, unsigned int nr_pages);
 int paging_refill_from_domheap(struct domain *d, unsigned int nr_pages);
 
+void paging_free_page(struct domain *d, struct page_info *pg);
+
 #endif /* ASM_RISCV_PAGING_H */
diff --git a/xen/arch/riscv/p2m.c b/xen/arch/riscv/p2m.c
index f13458712a..71b211410b 100644
--- a/xen/arch/riscv/p2m.c
+++ b/xen/arch/riscv/p2m.c
@@ -17,6 +17,8 @@
 #include <asm/riscv_encoding.h>
 #include <asm/vmid.h>
 
+#define P2M_SUPPORTED_LEVEL_MAPPING 2
+
 unsigned char __ro_after_init gstage_mode;
 unsigned int __ro_after_init gstage_root_level;
 
@@ -347,6 +349,16 @@ static pte_t *p2m_get_root_pointer(struct p2m_domain *p2m, gfn_t gfn)
     return __map_domain_page(p2m->root + root_table_indx);
 }
 
+static p2m_type_t p2m_get_type(const pte_t pte)
+{
+    p2m_type_t type = MASK_EXTR(pte.pte, P2M_TYPE_PTE_BITS_MASK);
+
+    if ( type == p2m_ext_storage )
+        panic("unimplemented\n");
+
+    return type;
+}
+
 static inline void p2m_write_pte(pte_t *p, pte_t pte, bool clean_pte)
 {
     write_pte(p, pte);
@@ -403,11 +415,147 @@ static int p2m_next_level(struct p2m_domain *p2m, bool alloc_tbl,
     return P2M_TABLE_MAP_NONE;
 }
 
+static void p2m_put_foreign_page(struct page_info *pg)
+{
+    /*
+     * Itâ€™s safe to call put_page() here because arch_flush_tlb_mask()
+     * will be invoked if the page is reallocated, which will trigger a
+     * flush of the guest TLBs.
+     */
+    put_page(pg);
+}
+
+/* Put any references on the single 4K page referenced by mfn. */
+static void p2m_put_4k_page(mfn_t mfn, p2m_type_t type)
+{
+    /* TODO: Handle other p2m types */
+
+    if ( p2m_is_foreign(type) )
+    {
+        ASSERT(mfn_valid(mfn));
+        p2m_put_foreign_page(mfn_to_page(mfn));
+    }
+}
+
+/* Put any references on the superpage referenced by mfn. */
+static void p2m_put_2m_superpage(mfn_t mfn, p2m_type_t type)
+{
+    struct page_info *pg;
+    unsigned int i;
+
+    /*
+     * TODO: Handle other p2m types, but be aware that any changes to handle
+     * different types should require an update on the relinquish code to
+     * handle preemption.
+     */
+    if ( !p2m_is_foreign(type) )
+        return;
+
+    ASSERT(mfn_valid(mfn));
+
+    pg = mfn_to_page(mfn);
+
+    for ( i = 0; i < P2M_PAGETABLE_ENTRIES(1); i++, pg++ )
+        p2m_put_foreign_page(pg);
+}
+
+/* Put any references on the page referenced by pte. */
+static void p2m_put_page(const pte_t pte, unsigned int level, p2m_type_t p2mt)
+{
+    mfn_t mfn = pte_get_mfn(pte);
+
+    ASSERT(pte_is_valid(pte));
+
+    /*
+     * TODO: Currently we don't handle level 2 super-page, Xen is not
+     * preemptible and therefore some work is needed to handle such
+     * superpages, for which at some point Xen might end up freeing memory
+     * and therefore for such a big mapping it could end up in a very long
+     * operation.
+     */
+    switch ( level )
+    {
+    case 1:
+        return p2m_put_2m_superpage(mfn, p2mt);
+
+    case 0:
+        return p2m_put_4k_page(mfn, p2mt);
+
+    default:
+        ASSERT_UNREACHABLE();
+        break;
+    }
+}
+
+static void p2m_free_page(struct p2m_domain *p2m, struct page_info *pg)
+{
+    page_list_del(pg, &p2m->pages);
+
+    paging_free_page(p2m->domain, pg);
+}
+
 /* Free pte sub-tree behind an entry */
 static void p2m_free_subtree(struct p2m_domain *p2m,
                              pte_t entry, unsigned int level)
 {
-    panic("%s: hasn't been implemented yet\n", __func__);
+    unsigned int i;
+    pte_t *table;
+    mfn_t mfn;
+    struct page_info *pg;
+
+    /*
+     * Check if the level is valid: only 4K - 2M - 1G mappings are supported.
+     * To support levels > 2, the implementation of p2m_free_subtree() would
+     * need to be updated, as the current recursive approach could consume
+     * excessive time and memory.
+     */
+    ASSERT(level <= P2M_SUPPORTED_LEVEL_MAPPING);
+
+    /* Nothing to do if the entry is invalid. */
+    if ( !pte_is_valid(entry) )
+        return;
+
+    if ( (level == 0) || pte_is_superpage(entry, level) )
+    {
+        p2m_type_t p2mt = p2m_get_type(entry);
+
+#ifdef CONFIG_IOREQ_SERVER
+        /*
+         * If this gets called then either the entry was replaced by an entry
+         * with a different base (valid case) or the shattering of a superpage
+         * has failed (error case).
+         * So, at worst, the spurious mapcache invalidation might be sent.
+         */
+        if ( p2m_is_ram(p2mt) &&
+             domain_has_ioreq_server(p2m->domain) )
+            ioreq_request_mapcache_invalidate(p2m->domain);
+#endif
+
+        p2m_put_page(entry, level, p2mt);
+
+        return;
+    }
+
+    table = map_domain_page(pte_get_mfn(entry));
+    for ( i = 0; i < P2M_PAGETABLE_ENTRIES(level); i++ )
+        p2m_free_subtree(p2m, table[i], level - 1);
+
+    unmap_domain_page(table);
+
+    /*
+     * Make sure all the references in the TLB have been removed before
+     * freing the intermediate page table.
+     * XXX: Should we defer the free of the page table to avoid the
+     * flush?
+     */
+    p2m_tlb_flush_sync(p2m);
+
+    mfn = pte_get_mfn(entry);
+    ASSERT(mfn_valid(mfn));
+
+    pg = mfn_to_page(mfn);
+
+    p2m_free_page(p2m, pg);
 }
 
 /* Insert an entry in the p2m */
@@ -435,7 +583,7 @@ static int p2m_set_entry(struct p2m_domain *p2m,
      * Check if the level target is valid: we only support
      * 4K - 2M - 1G mapping.
      */
-    ASSERT(target <= 2);
+    ASSERT(target <= P2M_SUPPORTED_LEVEL_MAPPING);
 
     table = p2m_get_root_pointer(p2m, gfn);
     if ( !table )
diff --git a/xen/arch/riscv/paging.c b/xen/arch/riscv/paging.c
index c87e9b7f7f..773c737ab5 100644
--- a/xen/arch/riscv/paging.c
+++ b/xen/arch/riscv/paging.c
@@ -109,6 +109,14 @@ int paging_ret_to_domheap(struct domain *d, unsigned int nr_pages)
     return 0;
 }
 
+void paging_free_page(struct domain *d, struct page_info *pg)
+{
+    spin_lock(&d->arch.paging.lock);
+    page_list_add_tail(pg, &d->arch.paging.freelist);
+    d->arch.paging.total_pages++;
+    spin_unlock(&d->arch.paging.lock);
+}
+
 /* Domain paging struct initialization. */
 int paging_domain_init(struct domain *d)
 {
diff --git a/xen/arch/riscv/stubs.c b/xen/arch/riscv/stubs.c
index 1a8c86cd8d..ad6fdbf501 100644
--- a/xen/arch/riscv/stubs.c
+++ b/xen/arch/riscv/stubs.c
@@ -65,11 +65,6 @@ int arch_monitor_domctl_event(struct domain *d,
 
 /* smp.c */
 
-void arch_flush_tlb_mask(const cpumask_t *mask)
-{
-    BUG_ON("unimplemented");
-}
-
 void smp_send_event_check_mask(const cpumask_t *mask)
 {
     BUG_ON("unimplemented");
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Mon Oct 20 15:58:28 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 15:58:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146549.1479062 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAsHE-0007pa-G6; Mon, 20 Oct 2025 15:58:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146549.1479062; Mon, 20 Oct 2025 15:58:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAsHD-0007mg-Va; Mon, 20 Oct 2025 15:58:27 +0000
Received: by outflank-mailman (input) for mailman id 1146549;
 Mon, 20 Oct 2025 15:58:26 +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
 <SRS0=Li3P=45=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1vAsHC-0004nC-1C
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 15:58:26 +0000
Received: from mail-ed1-x531.google.com (mail-ed1-x531.google.com
 [2a00:1450:4864:20::531])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9bd70ab4-adcd-11f0-980a-7dc792cee155;
 Mon, 20 Oct 2025 17:58:24 +0200 (CEST)
Received: by mail-ed1-x531.google.com with SMTP id
 4fb4d7f45d1cf-63c12ff0c5eso9063757a12.0
 for <xen-devel@lists.xenproject.org>; Mon, 20 Oct 2025 08:58:24 -0700 (PDT)
Received: from fedora (user-109-243-146-38.play-internet.pl. [109.243.146.38])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-63c48ab560esm6966067a12.12.2025.10.20.08.58.22
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 20 Oct 2025 08:58:23 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9bd70ab4-adcd-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760975904; x=1761580704; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=fl6njmwO7phQtt0aJWG/R6XFA+PJ+of6uOBGuf6H+j4=;
        b=dDu9vmuO1ImA9uOS1svQPUlbguaEhPYVDcH7ea/YAwdf9GtW/SpFqcuiWIjR/4UCuZ
         4orQnNP5aSMv9a2F2sleG/rbyJT4xVKn/shdEt/8kvwhnnnXWjUwNLZjqMHqCuGLLU9I
         pBu2pNo+aEH58DJg1VseLdUP3nDN/f/UZ0PUx0FxLG0R7CwiApH26w6fJNHrCUW4twQT
         nvDC6di4PtGVNOxpgf+jmYNfCrRt3PjjZMJ8RylO4UzP3lBsMJrLqCNAcT21mqLwY1dr
         5JrqgTMYub2Tl6sRc6RrU7El2P4oqlhHSSTInFVPu2sNxsXD8dmDgG6w3SJvtOSC5UYr
         Az1Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760975904; x=1761580704;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=fl6njmwO7phQtt0aJWG/R6XFA+PJ+of6uOBGuf6H+j4=;
        b=bbfG8DSH7n3Lc0ZZ0KAfeOhk+DoN48ZRpQzwlbBj8c6WNPuFCELaenmCDFs5cqXLIs
         guTvrN9IQwkjnxuII2Wf+CluSjaaRN7kkVAYuSUVdnFUeTPhcnGKkVOtcjusu/edJwTc
         qlRqux8/6W954TkLGLXxykS907VCRaCSMo69nL4Tt/aMxohY6oc+++b1VGhQ6sw2Xhua
         6MZ/tC0isQFm30iTWYe0oFiMjKUg7lzo0LjbF/s0Bc4bGh8eZLXqvQL16oixVc7S/n0w
         pYeuTvqfBfsTKUShE4fSshu3+qTEA871d7NnjEmiQu6KxIoev+Pltatbar829E9VQraP
         3gMw==
X-Gm-Message-State: AOJu0YwUeDgdMKSDANk7ewAobms5G5aUUBoCaIcjAbPqZghT86BGOVCc
	fCR2i5RjnLU1+RY2hJJBWvI5CcHXW6wwIsVQxm0+hccUp4+6jifFXA++N4MA6Q==
X-Gm-Gg: ASbGncvAkTi7TVZZwV4ep8+wrdLr3TSLxjgnnBVvfVo193SIe++nM67YkdWeI+63m3A
	2VCHjh5XT5w4uZns11/XkvFE82wfA8VQacQwQotaKk0r079lsUw6PFrgzGEYVuBrvZoAgW0YLXW
	Qxh8TaBKQ5YLywvU+csjojVRGsgOmDj289JzD8Ui1sIb0p1yGsEdZ6ZFD3g5gLvoaUCQLU4MibC
	5tUJ3yyQ6PXXl/DdeyEeuT1TRZo3EFpePqmGxOGe3Ac6+AMYnONlv77SZswLjZv65Lm8N6qXJ04
	f7oogopJGPJgnau+yeJllcnv8oak+ILUttQntWWzyj+vd8IhKFkBSgYktxM9IOT6dphCN1vNSy5
	Jbg/9gceq4b6CJhoZDWbEIpYc7lVbN+PHIxrR/4HNmnlDZSFYkpScQ3Mwvim13uAAuDwb4h9Cwb
	rQ2DVZ2BDZz0waMzuJTd2XsW7NrMp3LSuKv7JRiEJkgKmnrzkqyQHKsFFOjA==
X-Google-Smtp-Source: AGHT+IFqYwk6IErozHNrOYoOlvnnYBZkkOkaDefBUAsTfJtncYT6UbDNoZgGPSEf65bw8j2mOAaAvQ==
X-Received: by 2002:a05:6402:3585:b0:62f:4828:c7d5 with SMTP id 4fb4d7f45d1cf-63c1e283083mr14050514a12.16.1760975903512;
        Mon, 20 Oct 2025 08:58:23 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [for 4.22 v5 13/18] xen/riscv: implement p2m_next_level()
Date: Mon, 20 Oct 2025 17:57:56 +0200
Message-ID: <cfcec559252a365368d1ce19ea75ea41e8e8ee7b.1760974017.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <cover.1760974017.git.oleksii.kurochko@gmail.com>
References: <cover.1760974017.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Implement the p2m_next_level() function, which enables traversal and dynamic
allocation of intermediate levels (if necessary) in the RISC-V
p2m (physical-to-machine) page table hierarchy.

To support this, the following helpers are introduced:
- page_to_p2m_table(): Constructs non-leaf PTEs pointing to next-level page
  tables with correct attributes.
- p2m_alloc_page(): Allocates page table pages, supporting both hardware and
  guest domains.
- p2m_create_table(): Allocates and initializes a new page table page and
  installs it into the hierarchy.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V5:
 - Stray more blanks after * in declaration of functions.
 - Correct the comment above p2m_create_table() as metadata pages isn't
   allocated anymore in this function.
 - Move call of     clear_and_clean_page(page, p2m->clean_dcache); from
   p2m_create_table() to p2m_alloc_page().
 - Drop ACCESS_ONCE() in paging_alloc_page().
---
Changes in V4:
 - make `page` argument of page_to_p2m_table pointer-to-const.
 - Move p2m_next_level()'s local variable `ret` to the more narrow space where
   it is really used.
 - Drop stale ASSERT() in p2m_next_level().
 - Stray blank after * in declaration of paging_alloc_page().
 - Decrease p2m_freelist.total_pages when a page is taken from the p2m freelist.
---
Changes in V3:
 - s/p2me_is_mapping/p2m_is_mapping to be in syc with other p2m_is_*() functions.
 - clear_and_clean_page() in p2m_create_table() instead of clear_page() to be
   sure that page is cleared and d-cache is flushed for it.
 - Move ASSERT(level != 0) in p2m_next_level() ahead of trying to allocate a
   page table.
 - Update p2m_create_table() to allocate metadata page to store p2m type in it
   for each entry of page table.
 - Introduce paging_alloc_page() and use it inside p2m_alloc_page().
 - Add allocated page to p2m->pages list in p2m_alloc_page() to simplify
   a caller code a little bit.
 - Drop p2m_is_mapping() and use pte_is_mapping() instead as P2M PTE's valid
   bit doesn't have another purpose anymore.
 - Update an implementation and prototype of page_to_p2m_table(), it is enough
   to pass only a page as an argument.
---
Changes in V2:
 - New patch. It was a part of a big patch "xen/riscv: implement p2m mapping
   functionality" which was splitted to smaller.
 - s/p2m_is_mapping/p2m_is_mapping.
---
 xen/arch/riscv/include/asm/paging.h |  2 +
 xen/arch/riscv/p2m.c                | 77 ++++++++++++++++++++++++++++-
 xen/arch/riscv/paging.c             | 12 +++++
 3 files changed, 89 insertions(+), 2 deletions(-)

diff --git a/xen/arch/riscv/include/asm/paging.h b/xen/arch/riscv/include/asm/paging.h
index fe462be223..c1d225d02b 100644
--- a/xen/arch/riscv/include/asm/paging.h
+++ b/xen/arch/riscv/include/asm/paging.h
@@ -15,4 +15,6 @@ int paging_refill_from_domheap(struct domain *d, unsigned int nr_pages);
 
 void paging_free_page(struct domain *d, struct page_info *pg);
 
+struct page_info *paging_alloc_page(struct domain *d);
+
 #endif /* ASM_RISCV_PAGING_H */
diff --git a/xen/arch/riscv/p2m.c b/xen/arch/riscv/p2m.c
index f4658e2560..6018cac336 100644
--- a/xen/arch/riscv/p2m.c
+++ b/xen/arch/riscv/p2m.c
@@ -350,6 +350,19 @@ static pte_t *p2m_get_root_pointer(struct p2m_domain *p2m, gfn_t gfn)
     return __map_domain_page(p2m->root + root_table_indx);
 }
 
+static struct page_info *p2m_alloc_page(struct p2m_domain *p2m)
+{
+    struct page_info *pg = paging_alloc_page(p2m->domain);
+
+    if ( pg )
+    {
+        page_list_add(pg, &p2m->pages);
+        clear_and_clean_page(pg, p2m->clean_dcache);
+    }
+
+    return pg;
+}
+
 static int p2m_set_type(pte_t *pte, p2m_type_t t)
 {
     int rc = 0;
@@ -490,6 +503,33 @@ static pte_t p2m_pte_from_mfn(mfn_t mfn, p2m_type_t t, bool is_table)
     return e;
 }
 
+/* Generate table entry with correct attributes. */
+static pte_t page_to_p2m_table(const struct page_info *page)
+{
+    /*
+     * p2m_invalid will be ignored inside p2m_pte_from_mfn() as is_table is
+     * set to true and p2m_type_t shouldn't be applied for PTEs which
+     * describe an intermidiate table.
+     */
+    return p2m_pte_from_mfn(page_to_mfn(page), p2m_invalid, true);
+}
+
+/* Allocate a new page table page and hook it in via the given entry. */
+static int p2m_create_table(struct p2m_domain *p2m, pte_t *entry)
+{
+    struct page_info *page;
+
+    ASSERT(!pte_is_valid(*entry));
+
+    page = p2m_alloc_page(p2m);
+    if ( page == NULL )
+        return -ENOMEM;
+
+    p2m_write_pte(entry, page_to_p2m_table(page), p2m->clean_dcache);
+
+    return 0;
+}
+
 #define P2M_TABLE_MAP_NONE 0
 #define P2M_TABLE_MAP_NOMEM 1
 #define P2M_TABLE_SUPER_PAGE 2
@@ -514,9 +554,42 @@ static int p2m_next_level(struct p2m_domain *p2m, bool alloc_tbl,
                           unsigned int level, pte_t **table,
                           unsigned int offset)
 {
-    panic("%s: hasn't been implemented yet\n", __func__);
+    pte_t *entry;
+    mfn_t mfn;
+
+    /* The function p2m_next_level() is never called at the last level */
+    ASSERT(level != 0);
+
+    entry = *table + offset;
+
+    if ( !pte_is_valid(*entry) )
+    {
+        int ret;
+
+        if ( !alloc_tbl )
+            return P2M_TABLE_MAP_NONE;
+
+        ret = p2m_create_table(p2m, entry);
+        if ( ret )
+            return P2M_TABLE_MAP_NOMEM;
+    }
+
+    if ( pte_is_mapping(*entry) )
+        return P2M_TABLE_SUPER_PAGE;
+
+    mfn = mfn_from_pte(*entry);
+
+    unmap_domain_page(*table);
+
+    /*
+     * TODO: There's an inefficiency here:
+     *       In p2m_create_table(), the page is mapped to clear it.
+     *       Then that mapping is torn down in p2m_create_table(),
+     *       only to be re-established here.
+     */
+    *table = map_domain_page(mfn);
 
-    return P2M_TABLE_MAP_NONE;
+    return P2M_TABLE_NORMAL;
 }
 
 static void p2m_put_foreign_page(struct page_info *pg)
diff --git a/xen/arch/riscv/paging.c b/xen/arch/riscv/paging.c
index 773c737ab5..162557dec4 100644
--- a/xen/arch/riscv/paging.c
+++ b/xen/arch/riscv/paging.c
@@ -117,6 +117,18 @@ void paging_free_page(struct domain *d, struct page_info *pg)
     spin_unlock(&d->arch.paging.lock);
 }
 
+struct page_info *paging_alloc_page(struct domain *d)
+{
+    struct page_info *pg;
+
+    spin_lock(&d->arch.paging.lock);
+    pg = page_list_remove_head(&d->arch.paging.freelist);
+    d->arch.paging.total_pages--;
+    spin_unlock(&d->arch.paging.lock);
+
+    return pg;
+}
+
 /* Domain paging struct initialization. */
 int paging_domain_init(struct domain *d)
 {
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Mon Oct 20 15:58:31 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 15:58:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146550.1479073 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAsHG-0008E3-MT; Mon, 20 Oct 2025 15:58:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146550.1479073; Mon, 20 Oct 2025 15:58:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAsHG-0008Ct-2d; Mon, 20 Oct 2025 15:58:30 +0000
Received: by outflank-mailman (input) for mailman id 1146550;
 Mon, 20 Oct 2025 15:58:27 +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
 <SRS0=Li3P=45=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1vAsHD-0004nC-2w
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 15:58:27 +0000
Received: from mail-ed1-x52a.google.com (mail-ed1-x52a.google.com
 [2a00:1450:4864:20::52a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9c72f692-adcd-11f0-980a-7dc792cee155;
 Mon, 20 Oct 2025 17:58:25 +0200 (CEST)
Received: by mail-ed1-x52a.google.com with SMTP id
 4fb4d7f45d1cf-63c4b41b38cso5340998a12.3
 for <xen-devel@lists.xenproject.org>; Mon, 20 Oct 2025 08:58:25 -0700 (PDT)
Received: from fedora (user-109-243-146-38.play-internet.pl. [109.243.146.38])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-63c48ab560esm6966067a12.12.2025.10.20.08.58.23
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 20 Oct 2025 08:58:24 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9c72f692-adcd-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760975905; x=1761580705; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=MkYFJ9zErQoksj5TICQm5GZ8ZBubAIBB0QgY0lfMcMo=;
        b=H9HzZC8+xyIf4gfgzxzRprsCXUB4eUqxt7O7OwToMdxLjJ0RITApRnna5X6WRgR+Yr
         l2mkC70Qy9zF9F18UulnkC2SmMgZji+103dgS6aKY+sCyCA+7D8VVYugd71SuUq8wfnu
         b736G9AyVevKx/VebwoyUMaKNTekquAtC8z5yc4BmoKVQE6MmAVy9MyrtWCjJwWKu6cO
         7LYOw7ThK22JgdYwr78bFvUiZYmgHurKLIzTs8rlXy0PdIHHueMaRviGWu4zbN9iI4Sj
         rXsImWfCfz7KYR4WqtRcMvtotoiz7HW29Iar0ZgAIGaKpIFSHa+B4Ujxzq3mVOJcwY0a
         Bbaw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760975905; x=1761580705;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=MkYFJ9zErQoksj5TICQm5GZ8ZBubAIBB0QgY0lfMcMo=;
        b=gd68dNMT/sCDJ0wH8bSyvYeaBloquxoWCh7ecvQZLdOFcn1ZuFZRf3yzyqF/3elPjz
         YlhIIdVDLJIsujPjhVAyswAmYyAwkhd921J0z7aA9VzzwoNTe0xB2kiFjmS7BRkid3Lf
         9V6tjlqRMYroEwLhFZHVAH6vEKuMuMRgi7tlzU01DMXcIbuDXY7GNafxyRARqUVpKAfe
         0xa91MwWFNmDaEe7D1XVpL1iyBmX7KkxUk+/jIwnC+4NsGKiddJYJ7yVWkgaFHJ6wpGv
         pbHulaGcnEDUnCXjmbZPaN1CY44diDSHXbZPPZkxYMcrKseVSiegdoDRDUej3JRJBTLV
         Ntcw==
X-Gm-Message-State: AOJu0YxZK0nZ/vEmRywRhQYr7C3bt1u4sCEe2WBslOM7f8mrznG45bKh
	B0X4afxJu1InTiGJHqDh8S/FNZk0/lUCkdDyagvZAefieBbl8opFBGXWh41jxg==
X-Gm-Gg: ASbGncu5ZcQmkpRJr59xEdyi17MioJl42yOsopFqi9mdIauEmV+9K0qpJOdeJTnXgHd
	JTZxLGD2wnWcXuNLBO9w6kuU8+Niio1fUUWHTBYpA7Q0dSf+hEnJAVHh5Tp9LZAwOwkYekLgdp9
	2cumWW5q2pvhStefecpW0zWEpwD8mcj1b8WpddoDPLW6GEAYQW39+N6tu0f/pT5PSsih4YXBxMW
	uy6ehkK9NDVKE3p/9c9hN0JQbwJ1PyMOcBGutwVlcc4rxyZMLRUnpBRpy1Bwkwr35diVxY1hP1v
	69BwUTgI4Zb4tDZ21vwI8t3kcb53ZzTUPS4sMjAWDX4G1vTDDb2IvFfkwsFAqfQ2KhVs+SVM3pl
	1v+6DC1cy/TlzYOdNKdB4NKQYGjL/8MjOvyI+0uzoRNgmoiqWf9eiOA/pTx6EjFOE77F9YWp7F+
	ITmDaaDQuCHAVAYJqi6dpgFEeWzDoxE/7wSpEkWCEcVZj1EZg=
X-Google-Smtp-Source: AGHT+IE+N6aBidIuBuDN8zDsY4bu5srQfeHwXqQ1F4VgjSOhMruGnk2DKADIDBYqol9L5KY/HiVu6A==
X-Received: by 2002:a05:6402:358a:b0:61c:9852:bb9f with SMTP id 4fb4d7f45d1cf-63c1f630745mr12406192a12.1.1760975904493;
        Mon, 20 Oct 2025 08:58:24 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [for 4.22 v5 14/18] xen/riscv: Implement superpage splitting for p2m mappings
Date: Mon, 20 Oct 2025 17:57:57 +0200
Message-ID: <5ee174bc9b0a5ad4de91d65116d7844ca2bcdceb.1760974017.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <cover.1760974017.git.oleksii.kurochko@gmail.com>
References: <cover.1760974017.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Add support for down large memory mappings ("superpages") in the RISC-V
p2m mapping so that smaller, more precise mappings ("finer-grained entries")
can be inserted into lower levels of the page table hierarchy.

To implement that the following is done:
- Introduce p2m_split_superpage(): Recursively shatters a superpage into
  smaller page table entries down to the target level, preserving original
  permissions and attributes.
- p2m_set_entry() updated to invoke superpage splitting when inserting
  entries at lower levels within a superpage-mapped region.

This implementation is based on the ARM code, with modifications to the part
that follows the BBM (break-before-make) approach, some parts are simplified
as according to RISC-V spec:
  It is permitted for multiple address-translation cache entries to co-exist
  for the same address. This represents the fact that in a conventional
  TLB hierarchy, it is possible for multiple entries to match a single
  address if, for example, a page is upgraded to a superpage without first
  clearing the original non-leaf PTEâ€™s valid bit and executing an SFENCE.VMA
  with rs1=x0, or if multiple TLBs exist in parallel at a given level of the
  hierarchy. In this case, just as if an SFENCE.VMA is not executed between
  a write to the memory-management tables and subsequent implicit read of the
  same address: it is unpredictable whether the old non-leaf PTE or the new
  leaf PTE is used, but the behavior is otherwise well defined.
In contrast to the Arm architecture, where BBM is mandatory and failing to
use it in some cases can lead to CPU instability, RISC-V guarantees
stability, and the behavior remains safe â€” though unpredictable in terms of
which translation will be used.

Additionally, the page table walk logic has been adjusted, as ARM uses the
opposite level numbering compared to RISC-V.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V5:
 - Add Acked-by: Jan Beulich <jbeulich@suse.com>.
 - use next_level when p2m_split_superpage() is recursively called
   instead of using "level-1".
---
Changes in V4:
 - s/number of levels/level numbering in the commit message.
 - s/permissions/attributes.
 - Remove redundant comment in p2m_split_superpage() about page
   splitting.
 - Use P2M_PAGETABLE_ENTRIES as XEN_PT_ENTRIES
   doesn't takeinto  into acount that G stage root page table is
   extended by 2 bits.
 - Use earlier introduced P2M_LEVEL_ORDER().
---
Changes in V3:
 - Move     page_list_add(page, &p2m->pages) inside p2m_alloc_page().
 - Use 'unsigned long' for local vairiable 'i' in p2m_split_superpage().
 - Update the comment above if ( next_level != target ) in p2m_split_superpage().
 - Reverse cycle to iterate through page table levels in p2m_set_entry().
 - Update p2m_split_superpage() with the same changes which are done in the
   patch "P2M: Don't try to free the existing PTE if we can't allocate a new table".
---
Changes in V2:
 - New patch. It was a part of a big patch "xen/riscv: implement p2m mapping
   functionality" which was splitted to smaller.
 - Update the commit above the cycle which creates new page table as
   RISC-V travserse page tables in an opposite to ARM order.
 - RISC-V doesn't require BBM so there is no needed for invalidating
   and TLB flushing before updating PTE.
---
 xen/arch/riscv/p2m.c | 116 ++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 114 insertions(+), 2 deletions(-)

diff --git a/xen/arch/riscv/p2m.c b/xen/arch/riscv/p2m.c
index 6018cac336..383047580a 100644
--- a/xen/arch/riscv/p2m.c
+++ b/xen/arch/riscv/p2m.c
@@ -735,7 +735,88 @@ static void p2m_free_subtree(struct p2m_domain *p2m,
     p2m_free_page(p2m, pg);
 }
 
-/* Insert an entry in the p2m */
+static bool p2m_split_superpage(struct p2m_domain *p2m, pte_t *entry,
+                                unsigned int level, unsigned int target,
+                                const unsigned int *offsets)
+{
+    struct page_info *page;
+    unsigned long i;
+    pte_t pte, *table;
+    bool rv = true;
+
+    /* Convenience aliases */
+    mfn_t mfn = pte_get_mfn(*entry);
+    unsigned int next_level = level - 1;
+    unsigned int level_order = P2M_LEVEL_ORDER(next_level);
+
+    /*
+     * This should only be called with target != level and the entry is
+     * a superpage.
+     */
+    ASSERT(level > target);
+    ASSERT(pte_is_superpage(*entry, level));
+
+    page = p2m_alloc_page(p2m);
+    if ( !page )
+    {
+        /*
+         * The caller is in charge to free the sub-tree.
+         * As we didn't manage to allocate anything, just tell the
+         * caller there is nothing to free by invalidating the PTE.
+         */
+        memset(entry, 0, sizeof(*entry));
+        return false;
+    }
+
+    table = __map_domain_page(page);
+
+    for ( i = 0; i < P2M_PAGETABLE_ENTRIES(next_level); i++ )
+    {
+        pte_t *new_entry = table + i;
+
+        /*
+         * Use the content of the superpage entry and override
+         * the necessary fields. So the correct attributes are kept.
+         */
+        pte = *entry;
+        pte_set_mfn(&pte, mfn_add(mfn, i << level_order));
+
+        write_pte(new_entry, pte);
+    }
+
+    /*
+     * Shatter superpage in the page to the level we want to make the
+     * changes.
+     * This is done outside the loop to avoid checking the offset
+     * for every entry to know whether the entry should be shattered.
+     */
+    if ( next_level != target )
+        rv = p2m_split_superpage(p2m, table + offsets[next_level],
+                                 next_level, target, offsets);
+
+    if ( p2m->clean_dcache )
+        clean_dcache_va_range(table, PAGE_SIZE);
+
+    /*
+     * TODO: an inefficiency here: the caller almost certainly wants to map
+     *       the same page again, to update the one entry that caused the
+     *       request to shatter the page.
+     */
+    unmap_domain_page(table);
+
+    /*
+     * Even if we failed, we should (according to the current implemetation
+     * of a way how sub-tree is freed if p2m_split_superpage hasn't been
+     * finished fully) install the newly allocated PTE
+     * entry.
+     * The caller will be in charge to free the sub-tree.
+     */
+    p2m_write_pte(entry, page_to_p2m_table(page), p2m->clean_dcache);
+
+    return rv;
+}
+
+/* Insert an entry in the p2m. */
 static int p2m_set_entry(struct p2m_domain *p2m,
                          gfn_t gfn,
                          unsigned long page_order,
@@ -800,7 +881,38 @@ static int p2m_set_entry(struct p2m_domain *p2m,
      */
     if ( level > target )
     {
-        panic("Shattering isn't implemented\n");
+        /* We need to split the original page. */
+        pte_t split_pte = *entry;
+
+        ASSERT(pte_is_superpage(*entry, level));
+
+        if ( !p2m_split_superpage(p2m, &split_pte, level, target, offsets) )
+        {
+            /* Free the allocated sub-tree */
+            p2m_free_subtree(p2m, split_pte, level);
+
+            rc = -ENOMEM;
+            goto out;
+        }
+
+        p2m_write_pte(entry, split_pte, p2m->clean_dcache);
+
+        p2m->need_flush = true;
+
+        /* Then move to the level we want to make real changes */
+        for ( ; level > target; level-- )
+        {
+            rc = p2m_next_level(p2m, true, level, &table, offsets[level]);
+
+            /*
+             * The entry should be found and either be a table
+             * or a superpage if level 0 is not targeted
+             */
+            ASSERT(rc == P2M_TABLE_NORMAL ||
+                   (rc == P2M_TABLE_SUPER_PAGE && target > 0));
+        }
+
+        entry = table + offsets[level];
     }
 
     /*
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Mon Oct 20 15:58:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 15:58:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146556.1479086 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAsHJ-0000Tj-CA; Mon, 20 Oct 2025 15:58:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146556.1479086; Mon, 20 Oct 2025 15:58:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAsHJ-0000Ru-34; Mon, 20 Oct 2025 15:58:33 +0000
Received: by outflank-mailman (input) for mailman id 1146556;
 Mon, 20 Oct 2025 15:58:30 +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
 <SRS0=Li3P=45=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1vAsHG-0004nC-1k
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 15:58:30 +0000
Received: from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com
 [2a00:1450:4864:20::52c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9e381f51-adcd-11f0-980a-7dc792cee155;
 Mon, 20 Oct 2025 17:58:28 +0200 (CEST)
Received: by mail-ed1-x52c.google.com with SMTP id
 4fb4d7f45d1cf-63c3429bb88so5100118a12.2
 for <xen-devel@lists.xenproject.org>; Mon, 20 Oct 2025 08:58:28 -0700 (PDT)
Received: from fedora (user-109-243-146-38.play-internet.pl. [109.243.146.38])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-63c48ab560esm6966067a12.12.2025.10.20.08.58.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 20 Oct 2025 08:58:27 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9e381f51-adcd-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760975908; x=1761580708; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ODbiJmURbFLDP/Eas229LJ7sWxc7yUWKL/v+EeBB7o4=;
        b=ilM1o0cljD3C3oQdKz83N9H1TxiJLCQAwYlZv3hwVEqYneM0FQHYqxsRh/ZsiCqFV7
         9ziA2wbtFX4w3VV9gK0FKMK6LqSnfgF1EGiFFOFNyflKJ9TAVbwe71dkedqtfryJo86n
         8oN8/bVka9ohtEn0aduuGuo/SEW1GoUCDLtdZdZGvdjfu/ycqW3Tzhs2WIDnoM2Fi8ng
         VUPA2GR5nEiIRTnHfLKa7qVWwLZWXWmriVw7CxCDwmJl17H0OIGhls4OP6ZNmsVolsDt
         ObTrvoDUVF1mSR/nTAMbazXy1gR+M65/GKb1yU5JwWB+YcnNjCvGoopdkV3JFUbrZWH5
         01Aw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760975908; x=1761580708;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=ODbiJmURbFLDP/Eas229LJ7sWxc7yUWKL/v+EeBB7o4=;
        b=sUx2aTFMRPGOpwjeG5+SbycLdXsHpbuqTrTsO/eeEskw5ngfFbW0y2t7PNhKYxyFBK
         BILthztA1Q1hJZKERWK5Khd1w3Cqv8jHbrv9p8YOZxoplngZkYjFthcuhLwtSsmsflE7
         6QXiDimUKqPALM/f/e+8mS7PtGzCFv0cP0bUN+uym2XLtuhjwFX8btjszveHB0Ym+Ipj
         FFgw97GzD0Isf9i/rpSSXFh4cCgE1JTJhqoZ171E205rKMRYHP40Ph7UepIYr0a8YomY
         qzUJWnHAxVD4vxepocG82buUSEQRcSWx5WYgg2a7osSGl02E9EB/HW/kdX4hWRVd7Lvd
         RzJg==
X-Gm-Message-State: AOJu0YwQJRaVpcUtLN/WUpZzXMuVwk4GRW/c/2FDaRmL5IGIDu44rCB/
	PeAWXQkunih9Mx2wmreZJ7auaBrJkJrri8HcYuGyrBtbSZ+t6Pz5iOkoLShT7Q==
X-Gm-Gg: ASbGncsqwlUNKv449WNeDaoa9NIW2Y8Z2ED9LfBi/l6YkX+Md4A5zSSa8/rRPG/hThO
	vzqBJaSKDK5u0+iPY8GeexqlCQXIV6fGL5j9Ti0vj2Cmh75bUQtWpqXgxD9/P6f1Te355J3wBLi
	7wKwrKkZasJrWdo6LcVcHiBrd3jqHBTDMHf0AQ/DEGRLk33LmAFx6O6gNMz5E67wvvIUPKZZ4wU
	sEgdShCa7nDrYBppnnYlIMHqn8OprgTGy8pjTNL5vZiFzenNpJrd+U2pHFLKnQOf8MHZueI6w5u
	3Rwf3k93QuXn+TJgmn6qejcKkiO8NoFgsVHZaCfWZdVA8i7Fjwl//pIfXLdR49XnpqvIUZsQhbx
	829e5UmpTzQKc1ZvxB95JBlOfJUwaH4zJ9vCHx84czwO1hR+nfYJO/Ji9pItJnBFSTe5jsOUTNl
	k3jSSLfrp7wee/maJnnx+Crz4JyEw0xuX0VZQwqxEBr2dVNklZP8DTlLEtQg==
X-Google-Smtp-Source: AGHT+IEkrU3AI9nfoLn2NykgKH7XRjY5rkT72M6PT3oypno/AIYPnzWYNX86BumqS209D7LLtRD12Q==
X-Received: by 2002:a05:6402:1ecd:b0:63c:6d2d:8dd0 with SMTP id 4fb4d7f45d1cf-63c6d2d8fcemr5716149a12.22.1760975907455;
        Mon, 20 Oct 2025 08:58:27 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [for 4.22 v5 17/18] xen/riscv: add support of page lookup by GFN
Date: Mon, 20 Oct 2025 17:58:00 +0200
Message-ID: <3eea04894401202666ea0bb7ee1240a23ba54d8a.1760974017.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <cover.1760974017.git.oleksii.kurochko@gmail.com>
References: <cover.1760974017.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce helper functions for safely querying the P2M (physical-to-machine)
mapping:
 - add p2m_read_lock(), p2m_read_unlock(), and p2m_is_locked() for managing
   P2M lock state.
 - Implement p2m_get_entry() to retrieve mapping details for a given GFN,
   including MFN, page order, and validity.
 - Introduce p2m_get_page_from_gfn() to convert a GFN into a page_info
   pointer, acquiring a reference to the page if valid.
 - Introduce get_page().

Implementations are based on Arm's functions with some minor modifications:
- p2m_get_entry():
  - Reverse traversal of page tables, as RISC-V uses the opposite level
    numbering compared to Arm.
  - Removed the return of p2m_access_t from p2m_get_entry() since
    mem_access_settings is not introduced for RISC-V.
  - Updated BUILD_BUG_ON() to check using the level 0 mask, which corresponds
    to Arm's THIRD_MASK.
  - Replaced open-coded bit shifts with the BIT() macro.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V5:
 - Use introduced in earlier patches P2M_DECLARE_OFFSETS() instead of
   DECLARE_OFFSETS().
 - Drop blank line before check_outside_boundary().
 - Use more readable version of if statements inside check_outside_boundary().
 - Accumulate mask in check_outside_boundary() instead of re-writing it for
   each page table level to have correct gfns for comparison.
 - Set argument `t` of p2m_get_entry() to p2m_invalid by default.
 - Drop checking of (rc == P2M_TABLE_MAP_NOMEM ) when p2m_next_level(...,false,...)
   is called.
 - Add ASSERT(mfn & (BIT(P2M_LEVEL_ORDER(level), UL) - 1)); in p2m_get_entry()
   to be sure that recieved `mfn` has cleared lowest bits.
 - Drop `valid` argument from p2m_get_entry(), it is not needed anymore.
 - Drop p2m_lookup(), use p2m_get_entry() explicitly inside p2m_get_page_from_gfn().
 - Update the commit message.
---
Changes in V4:
 - Update prototype of p2m_is_locked() to return bool and accept pointer-to-const.
 - Correct the comment above p2m_get_entry().
 - Drop the check "BUILD_BUG_ON(XEN_PT_LEVEL_MAP_MASK(0) != PAGE_MASK);" inside
   p2m_get_entry() as it is stale and it was needed to sure that 4k page(s) are
   used on L3 (in Arm terms) what is true for RISC-V. (if not special extension
   are used). It was another reason for Arm to have it (and I copied it to RISC-V),
   but it isn't true for RISC-V. (some details could be found in response to the
   patch).
 - Style fixes.
 - Add explanatory comment what the loop inside "gfn is higher then the highest
   p2m mapping" does. Move this loop to separate function check_outside_boundary()
   to cover both boundaries (lower_mapped_gfn and max_mapped_gfn).
 - There is not need to allocate a page table as it is expected that
   p2m_get_entry() normally would be called after a corresponding p2m_set_entry()
   was called. So change 'true' to 'false' in a page table walking loop inside
   p2m_get_entry().
 - Correct handling of p2m_is_foreign case inside p2m_get_page_from_gfn().
 - Introduce and use P2M_LEVEL_MASK instead of XEN_PT_LEVEL_MASK as it isn't take
   into account two extra bits for root table in case of P2M.
 - Drop stale item from "change in v3" - Add is_p2m_foreign() macro and connected stuff.
 - Add p2m_read_(un)lock().
---
Changes in V3:
 - Change struct domain *d argument of p2m_get_page_from_gfn() to
   struct p2m_domain.
 - Update the comment above p2m_get_entry().
 - s/_t/p2mt for local variable in p2m_get_entry().
 - Drop local variable addr in p2m_get_entry() and use gfn_to_gaddr(gfn)
   to define offsets array.
 - Code style fixes.
 - Update a check of rc code from p2m_next_level() in p2m_get_entry()
   and drop "else" case.
 - Do not call p2m_get_type() if p2m_get_entry()'s t argument is NULL.
 - Use struct p2m_domain instead of struct domain for p2m_lookup() and
   p2m_get_page_from_gfn().
 - Move defintion of get_page() from "xen/riscv: implement mfn_valid() and page reference, ownership handling helpers"
---
Changes in V2:
 - New patch.
---
 xen/arch/riscv/include/asm/p2m.h |  20 ++++
 xen/arch/riscv/mm.c              |  13 +++
 xen/arch/riscv/p2m.c             | 175 +++++++++++++++++++++++++++++++
 3 files changed, 208 insertions(+)

diff --git a/xen/arch/riscv/include/asm/p2m.h b/xen/arch/riscv/include/asm/p2m.h
index 6a17cd52fc..39cfc1fd9e 100644
--- a/xen/arch/riscv/include/asm/p2m.h
+++ b/xen/arch/riscv/include/asm/p2m.h
@@ -48,6 +48,8 @@ extern unsigned int gstage_root_level;
 
 #define P2M_LEVEL_SHIFT(lvl) (P2M_LEVEL_ORDER(lvl) + PAGE_SHIFT)
 
+#define P2M_LEVEL_MASK(lvl) (GFN_MASK(lvl) << P2M_LEVEL_SHIFT(lvl))
+
 #define paddr_bits PADDR_BITS
 
 /* Get host p2m table */
@@ -232,6 +234,24 @@ static inline bool p2m_is_write_locked(struct p2m_domain *p2m)
 
 unsigned long construct_hgatp(const struct p2m_domain *p2m, uint16_t vmid);
 
+static inline void p2m_read_lock(struct p2m_domain *p2m)
+{
+    read_lock(&p2m->lock);
+}
+
+static inline void p2m_read_unlock(struct p2m_domain *p2m)
+{
+    read_unlock(&p2m->lock);
+}
+
+static inline bool p2m_is_locked(const struct p2m_domain *p2m)
+{
+    return rw_is_locked(&p2m->lock);
+}
+
+struct page_info *p2m_get_page_from_gfn(struct p2m_domain *p2m, gfn_t gfn,
+                                        p2m_type_t *t);
+
 #endif /* ASM__RISCV__P2M_H */
 
 /*
diff --git a/xen/arch/riscv/mm.c b/xen/arch/riscv/mm.c
index e25f995b72..e9ce182d06 100644
--- a/xen/arch/riscv/mm.c
+++ b/xen/arch/riscv/mm.c
@@ -673,3 +673,16 @@ struct domain *page_get_owner_and_reference(struct page_info *page)
 
     return owner;
 }
+
+bool get_page(struct page_info *page, const struct domain *domain)
+{
+    const struct domain *owner = page_get_owner_and_reference(page);
+
+    if ( likely(owner == domain) )
+        return true;
+
+    if ( owner != NULL )
+        put_page(page);
+
+    return false;
+}
diff --git a/xen/arch/riscv/p2m.c b/xen/arch/riscv/p2m.c
index 383047580a..785d11aaff 100644
--- a/xen/arch/riscv/p2m.c
+++ b/xen/arch/riscv/p2m.c
@@ -1049,3 +1049,178 @@ int map_regions_p2mt(struct domain *d,
 
     return rc;
 }
+
+/*
+ * p2m_get_entry() should always return the correct order value, even if an
+ * entry is not present (i.e. the GFN is outside the range):
+ *   [p2m->lowest_mapped_gfn, p2m->max_mapped_gfn]).    (1)
+ *
+ * This ensures that callers of p2m_get_entry() can determine what range of
+ * address space would be altered by a corresponding p2m_set_entry().
+ * Also, it would help to avoid cost page walks for GFNs outside range (1).
+ *
+ * Therefore, this function returns true for GFNs outside range (1), and in
+ * that case the corresponding level is returned via the level_out argument.
+ * Otherwise, it returns false and p2m_get_entry() performs a page walk to
+ * find the proper entry.
+ */
+static bool check_outside_boundary(gfn_t gfn, gfn_t boundary, bool is_lower,
+                                   unsigned int *level_out)
+{
+    unsigned int level;
+
+    if ( is_lower ? gfn_x(gfn) < gfn_x(boundary)
+                  : gfn_x(gfn) > gfn_x(boundary) )
+    {
+        unsigned long mask = 0;
+
+        for ( level = P2M_ROOT_LEVEL; level; level-- )
+        {
+            unsigned long masked_gfn;
+
+            mask |= PFN_DOWN(P2M_LEVEL_MASK(level));
+            masked_gfn = gfn_x(gfn) & mask;
+
+            if ( is_lower ? masked_gfn < gfn_x(boundary)
+                          : masked_gfn > gfn_x(boundary) )
+            {
+                *level_out = level;
+                return true;
+            }
+        }
+    }
+
+    return false;
+}
+
+/*
+ * Get the details of a given gfn.
+ *
+ * If the entry is present, the associated MFN will be returned and the
+ * p2m type of the mapping.
+ * The page_order will correspond to the order of the mapping in the page
+ * table (i.e it could be a superpage).
+ *
+ * If the entry is not present, INVALID_MFN will be returned and the
+ * page_order will be set according to the order of the invalid range.
+ */
+static mfn_t p2m_get_entry(struct p2m_domain *p2m, gfn_t gfn,
+                           p2m_type_t *t,
+                           unsigned int *page_order)
+{
+    unsigned int level = 0;
+    pte_t entry, *table;
+    int rc;
+    mfn_t mfn = INVALID_MFN;
+    P2M_DECLARE_OFFSETS(offsets, gfn_to_gaddr(gfn));
+
+    ASSERT(p2m_is_locked(p2m));
+
+    if ( t )
+        *t = p2m_invalid;
+
+    if ( check_outside_boundary(gfn, p2m->lowest_mapped_gfn, true, &level) )
+        goto out;
+
+    if ( check_outside_boundary(gfn, p2m->max_mapped_gfn, false, &level) )
+        goto out;
+
+    table = p2m_get_root_pointer(p2m, gfn);
+
+    /*
+     * The table should always be non-NULL because the gfn is below
+     * p2m->max_mapped_gfn and the root table pages are always present.
+     */
+    if ( !table )
+    {
+        ASSERT_UNREACHABLE();
+        level = P2M_ROOT_LEVEL;
+        goto out;
+    }
+
+    for ( level = P2M_ROOT_LEVEL; level; level-- )
+    {
+        rc = p2m_next_level(p2m, false, level, &table, offsets[level]);
+        if ( rc == P2M_TABLE_MAP_NONE )
+            goto out_unmap;
+
+        if ( rc != P2M_TABLE_NORMAL )
+            break;
+    }
+
+    entry = table[offsets[level]];
+
+    if ( pte_is_valid(entry) )
+    {
+        if ( t )
+            *t = p2m_get_type(entry);
+
+        mfn = pte_get_mfn(entry);
+
+        ASSERT(!(mfn_x(mfn) & (BIT(P2M_LEVEL_ORDER(level), UL) - 1)));
+
+        /*
+         * The entry may point to a superpage. Find the MFN associated
+         * to the GFN.
+         */
+        mfn = mfn_add(mfn,
+                      gfn_x(gfn) & (BIT(P2M_LEVEL_ORDER(level), UL) - 1));
+    }
+
+ out_unmap:
+    unmap_domain_page(table);
+
+ out:
+    if ( page_order )
+        *page_order = P2M_LEVEL_ORDER(level);
+
+    return mfn;
+}
+
+struct page_info *p2m_get_page_from_gfn(struct p2m_domain *p2m, gfn_t gfn,
+                                        p2m_type_t *t)
+{
+    struct page_info *page;
+    p2m_type_t p2mt = p2m_invalid;
+    mfn_t mfn;
+
+    p2m_read_lock(p2m);
+    mfn = p2m_get_entry(p2m, gfn, t, NULL);
+
+    if ( !mfn_valid(mfn) )
+    {
+        p2m_read_unlock(p2m);
+        return NULL;
+    }
+
+    if ( t )
+        p2mt = *t;
+
+    page = mfn_to_page(mfn);
+
+    /*
+     * get_page won't work on foreign mapping because the page doesn't
+     * belong to the current domain.
+     */
+    if ( unlikely(p2m_is_foreign(p2mt)) )
+    {
+        const struct domain *fdom = page_get_owner_and_reference(page);
+
+        p2m_read_unlock(p2m);
+
+        if ( fdom )
+        {
+            if ( likely(fdom != p2m->domain) )
+                return page;
+
+            ASSERT_UNREACHABLE();
+            put_page(page);
+        }
+
+        return NULL;
+    }
+
+    p2m_read_unlock(p2m);
+
+    return get_page(page, p2m->domain) ? page : NULL;
+}
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Mon Oct 20 16:05:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 16:05:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146645.1479098 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAsNh-0005n4-Ca; Mon, 20 Oct 2025 16:05:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146645.1479098; Mon, 20 Oct 2025 16:05:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAsNh-0005mx-9s; Mon, 20 Oct 2025 16:05:09 +0000
Received: by outflank-mailman (input) for mailman id 1146645;
 Mon, 20 Oct 2025 16:05:07 +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 <SRS0=7iz2=45=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vAsNf-0005mo-7R
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 16:05:07 +0000
Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com
 [2a00:1450:4864:20::329])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8b1909bf-adce-11f0-9d15-b5c5bf9af7f9;
 Mon, 20 Oct 2025 18:05:06 +0200 (CEST)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-47106fc51faso53568835e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 20 Oct 2025 09:05:05 -0700 (PDT)
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-47154d382fesm145879025e9.10.2025.10.20.09.05.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 20 Oct 2025 09:05:04 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8b1909bf-adce-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760976305; x=1761581105; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=dKag40OVoDNWqRWhb5GZkDvtD2/NO5tIHkNU8RCgCIU=;
        b=duw5DKppFtl8yMej4tPHLOmdR500hS6m1Yg5gDxQKvbE/2lvbMMelQRogLd1ISjz/E
         v3AWhBHFSZ1HUIsPmKinrSAHHpoemPWxzKKHM5QBlEDXmQeeQPFIJvVxib/bQhGp8Gse
         CV/N94jjOg7N51qpOJGyGvi194Xq6IewtmDShjXAgucP6lbgRCbgzXhY+IqzfcvFa5c4
         V5ZuMuqg1inAkKHeAlIl0bwMVHDTRdHLNA15kGVfGhNk8ZtY+o9I4l4RgJ09gF5VvZFA
         atKsdPEXuYdXmQydV+WAAzQhblJCGIfT/nypHAE0dmsvhN54Z2QU2bI5sI2FdA22e1Pp
         ZIGw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760976305; x=1761581105;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=dKag40OVoDNWqRWhb5GZkDvtD2/NO5tIHkNU8RCgCIU=;
        b=M+ticmrBGQGlcLRQluF0juteqg6LWbdRcnyM+tZdOZsKB+0QslXw/4zT8zxRmTQDdA
         6zYt4X6RXAfCrhvX7Rg3iCG5Hf6sZcfYyrbMUZX+EivERSmePHxY2gPzsjhE2lGd4Sn5
         icM132OLCsvsxJEQhTbCEQoGuwqJ/xIvQt0ZBLVWdRWav9ZjzwyG5koU0G39SKJhkFgt
         +LM3CplkK4wJe+opcdzfCJqtHQap2PJt5PsNJyZ3x0Pj32WGr9fTZI9dht96rO0m3ObE
         hKTnKY8sA+kK71MIfFsg5Y7ID3Ciz/yEGZoeKWSscRCACI6M6NnMZRILcUSW2yKBV8zx
         GBRA==
X-Gm-Message-State: AOJu0YxOqdpyrQmKKrj2alSJWSOWOM4TdpFdgxXCA3zsMGFf90cfRRrJ
	+RJ4+BdX8muOHEn+Y5FkYp9T9zzUwXZhN0lJfHbcvdRxLbPHO80XI4msmEmuV+srXg==
X-Gm-Gg: ASbGncuze1lRKv7eNCnv9SkPLWCYLAA/rhBMl8Z5HainYdScJX0EjXEXxbXQs+IDTLO
	cAJLJvZSK4K7HyfJd45yrMs73lp2Ril9pU9ZpJn4/QxkrFZ3vke1XCvxvxyaIPtEh/7GX0yJ0/t
	5EEr/tTwHwp8AQLcFSQDnYaGh6YpeIuSnpMdehLTllbtBm4//ff92UErZW8rxn4KAPsN6M2j1/Y
	hvCyDXWRsNjRMuk3GwbM27wpDTwtqty0OGru6QAXFgb1SDbQiVprESosBSh/aOffZDlwjyaTo1b
	1LHAGXD+lDUzx+meH/FfX3icZY5IUdY3sfVCWb3+A/TJFzUewyEwvwQXTP+ja7DC9J9WI/oKx2J
	Z+Y7LY1wrboprYLC61ES7UwQxv5X5+FWeUie0aybugI9XlnngFA++mWdUpD8c7Rl5BFzif0xPU8
	x8taI3tD8QtAkhp0upsx/8bYxllYZT5aeVdgPveeQtndw9sQkBlepf1Xx4fM6I
X-Google-Smtp-Source: AGHT+IHNPnDzvutlaOJXL76wlWDFSvHX+7milEieDb9/3bx+KPX7qAXpYTroCVa7QrnoGTLRpRaBlQ==
X-Received: by 2002:a05:600c:3f08:b0:471:11a3:a6a9 with SMTP id 5b1f17b1804b1-4711791f738mr110028225e9.37.1760976305028;
        Mon, 20 Oct 2025 09:05:05 -0700 (PDT)
Message-ID: <c27a671f-0001-4c32-9fb5-41b19a3f0a49@suse.com>
Date: Mon, 20 Oct 2025 18:05:04 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21 03/10] x86/HPET: use single, global, low-priority
 vector for broadcast IRQ
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <8d94abf8-70d1-478c-885e-ff9a960ac72d@suse.com>
 <64d52793-be70-4ae8-9bae-ad88f6379395@suse.com> <aPEc3VWLI0ofq22f@Mac.lan>
 <39f00b12-a3f7-4185-a8fa-2c99c43695d9@suse.com> <aPH8Waqi5hJyCuzO@Mac.lan>
 <1e14d71a-4c23-46d9-a123-475a22bdc856@suse.com> <aPZaDJZiPsOazcHN@Mac.lan>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <aPZaDJZiPsOazcHN@Mac.lan>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 20.10.2025 17:49, Roger Pau MonnÃ© wrote:
> On Mon, Oct 20, 2025 at 07:53:51AM +0200, Jan Beulich wrote:
>> On 17.10.2025 10:20, Roger Pau MonnÃ© wrote:
>>> On Fri, Oct 17, 2025 at 09:15:08AM +0200, Jan Beulich wrote:
>>>> On 16.10.2025 18:27, Roger Pau MonnÃ© wrote:
>>>>> On Thu, Oct 16, 2025 at 09:32:04AM +0200, Jan Beulich wrote:
>>>>>> @@ -497,6 +503,7 @@ static void set_channel_irq_affinity(str
>>>>>>      spin_lock(&desc->lock);
>>>>>>      hpet_msi_mask(desc);
>>>>>>      hpet_msi_set_affinity(desc, cpumask_of(ch->cpu));
>>>>>> +    per_cpu(vector_irq, ch->cpu)[HPET_BROADCAST_VECTOR] = ch->msi.irq;
>>>>>
>>>>> I would set the vector table ahead of setting the affinity, in case we
>>>>> can drop the mask calls around this block of code.
>>>>
>>>> Isn't there a problematic window either way round? I can make the change,
>>>> but I don't see that addressing anything. The new comparator value will
>>>> be written later anyway, and interrupts up to that point aren't of any
>>>> interest anyway. I.e. it doesn't matter which of the CPUs gets to handle
>>>> them.
>>>
>>> It's preferable to get a silent stray interrupt (if the per-cpu vector
>>> table is correctly setup), rather than to get a message from Xen that
>>> an unknown vector has been received?
>>>
>>> If a vector is injected ahead of vector_irq being set Xen would
>>> complain in do_IRQ() that that's no handler for such vector.
>>
>> As of now, setup_vector_irq() makes sure the field isn't uninitialized
>> (i.e. left at INT_MIN). With that change dropped (see below), there
>> would indeed be such a risk (on the first instance on each CPU).
>>
>>>>>> --- a/xen/arch/x86/irq.c
>>>>>> +++ b/xen/arch/x86/irq.c
>>>>>> @@ -755,8 +755,9 @@ void setup_vector_irq(unsigned int cpu)
>>>>>>          if ( !irq_desc_initialized(desc) )
>>>>>>              continue;
>>>>>>          vector = irq_to_vector(irq);
>>>>>> -        if ( vector >= FIRST_HIPRIORITY_VECTOR &&
>>>>>> -             vector <= LAST_HIPRIORITY_VECTOR )
>>>>>> +        if ( vector <= (vector >= FIRST_HIPRIORITY_VECTOR
>>>>>> +                        ? LAST_HIPRIORITY_VECTOR
>>>>>> +                        : LAST_LOPRIORITY_VECTOR) )
>>>>>>              cpumask_set_cpu(cpu, desc->arch.cpu_mask);
>>>>>
>>>>> I think this is wrong.  The low priority vector used by the HPET will
>>>>> only target a single CPU at a time, and hence adding extra CPUs to
>>>>> that mask as part of AP bringup is not correct.
>>>>
>>>> I'm not sure about "wrong". It's not strictly necessary for the HPET one,
>>>> I expect, but it's generally what would be necessary. For the HPET one,
>>>> hpet_msi_set_affinity() replaces the value anyway. (I can add a sentence
>>>> to this effect to the description, if that helps.)
>>>
>>> I do think it's wrong, it's just not harmful per-se apart from showing
>>> up in the output of dump_irqs().  The value in desc->arch.cpu_mask
>>> should be the CPU that's the destination of the interrupt.  In this
>>> case, the HPET interrupt does have a single destination at a give
>>> time, and adding another one will make the output of dump_irqs() show
>>> two destinations, when the interrupt will target a single interrupt.
>>
>> Just that as soon as the interrupt is actually in use, what is done
>> here doesn't matter anymore.
>>
>> I continue to think the change is correct for the general case: I'd
>> expect these special vectors to normally (just not here) be used as
>> "direct APIC vectors", in which case the IRQ does have multiple
>> destinations.
> 
> I think it depends on the usage of the vector.  There are indeed
> vectors that are active on all CPUs at the same time (like the current
> hi priority ones).  However in the case of the HPET vector that's not
> the case, it targets a single CPU specifically.
> 
> I think it would be best if vectors that are used on all CPUs at the
> same time are initialized using cpumask_all or cpumask_setall(), and
> avoid having to add a new bit every time a CPU is started.  It's fine
> for cpu_mask to contain offline CPUs.

I don't think so. There may be less dependencies now, but look at e.g.
the check in _bind_irq_vector(). Or this loop

            for_each_cpu(cpu, desc->arch.cpu_mask)
                per_cpu(vector_irq, cpu)[desc->arch.vector] = irq;

in _assign_irq_vector() (that may be fine because of how the mask is
set just before the loop, but the loop itself very much assumes no
offline CPUs in there). The most problematic example may be in
fixup_irqs(), where cpumask_any(desc->arch.cpu_mask) is used.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Oct 20 16:06:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 16:06:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146655.1479107 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAsOZ-0006GN-Kg; Mon, 20 Oct 2025 16:06:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146655.1479107; Mon, 20 Oct 2025 16:06:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAsOZ-0006GG-Hz; Mon, 20 Oct 2025 16:06:03 +0000
Received: by outflank-mailman (input) for mailman id 1146655;
 Mon, 20 Oct 2025 16:06:02 +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 <SRS0=7iz2=45=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vAsOY-0006DT-CM
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 16:06:02 +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 abc7a0be-adce-11f0-980a-7dc792cee155;
 Mon, 20 Oct 2025 18:06:00 +0200 (CEST)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-4710683a644so40787155e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 20 Oct 2025 09:06:00 -0700 (PDT)
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-427f009a976sm16216312f8f.32.2025.10.20.09.05.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 20 Oct 2025 09:05:59 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: abc7a0be-adce-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1760976360; x=1761581160; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=vq3bhDlm8IpAKVIazdcJpU7iVvI7XNw/vJYPDKjfEf4=;
        b=Gqq49ZcDawyx2oILAeodSdsc7cZTMHk4W2gG934i84L5fGOdfAsPAhZB9TV/LflK6+
         3RDAFuqkGrBV7G3Yn+mUpX83f+HHfESN70kr3wY2cGf/mmifOsX50lJj9T6opyhaBO7J
         YQ4K9M4YajvXhItAupVfPHvBdnoWivgD+33ZU24JKKv9fXkILOQW3B8L571yhxb3MtYP
         qVJW08Sg9fhUvMrNRtc14PZ4lo/cvu4M3KxI+G2vluBCo+f0J65yC6obKnTmmD+HSfEy
         3F+89nhaqHlWAb5OZqY4c++aN9Oc6UaKPbCntRKDjrsBaCSGHu3Z92d8URUDtVg4ohUk
         Xqdw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760976360; x=1761581160;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=vq3bhDlm8IpAKVIazdcJpU7iVvI7XNw/vJYPDKjfEf4=;
        b=YTVc6Y35HSZMyXs2vFTF4nIMUCbWKYCt9QVmk4KWsXxdvs7GaXi3MpmhVMr5+7kauY
         2KCW08OSeyobUZUtmUPI+XKX/rtePwd08h/QbnfiQYLdL6JQd1MvcEerX8UZA6ir5iHw
         mUHRLjicLwDY6Z5+onuu0Jo0HGl/C3eQFhwOJqUzT1NBS2hcrUr2Y2/AC+qnDCJrZubr
         /nMTnq547EIv5JP49H9L8yjdUWUsopdblS7elM/d2W97NX+ptKzayBsLzZc5fswlVtbM
         BzgUTEZQMREHFLEKNjUBUKNEYVflmGZbHu4DdB8ondXlutp3i/BPGvaAkQaTC18WF92M
         ne9w==
X-Forwarded-Encrypted: i=1; AJvYcCWl4o188tGCfjh8h7Y/nEPaptys6Xem2RngWhu1NjTuXOkS+/h8aBwA2IYyfEtryGglP9bBea+VVDE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzkX/6gkS1ZwvhX7cYWKQrKcqVDUTtPdiDF2Gif086LtOQt9pMj
	yAuYOA1wds2iXhVrdEA7YSGT97uSg0dK4bqysfo5gwZDJBmgsTWee5iQ+DBByXcfHA==
X-Gm-Gg: ASbGncutZ0NwpJUShaD1fwMSsbZatNjkoEn4Ky3ioz3dcB+hxQv7NfiOi1Hb5mc4HWP
	2BIlXtCUMNimVXgjH2uM/F4rTmUQtqVs+RtazRCNitO3ZRj3+Gc0Kq1YP35Zi0O8/F8GoAzXEzg
	b8PBYLcq1enXMHQEi5hO5ZUN08gvwEDKF771MxbdFGY8aFXqNmpV0AvLj1rO3t/oQC0odohJDt4
	ee3LTgAeoqQuZpEIiEREuAbD3RHC36E97owwzm9vdEQCupb+ir42PfRuS6uL5b4d/lW8yJJvG++
	c4E1z0K33DSOXtB7Ofn1dUhI1e6w26QP1c+vmGlJnlX+oQAFKcFVSa1laSNMTFDWKbhGup49RxZ
	RZaslgSEi8vgF63AafcLHmeXZzbq2uw9ZV59EOLeAmXfqOJBYqGux8cndv/Rz6iJwmbFTN8aZ3S
	zXaLHDwPhfyjqHHjZmQHh3Qxnv4T4eQjYyJEsCWHc3WpoZEA1/UYTfs7jBYv3SJ6UWt4v147w=
X-Google-Smtp-Source: AGHT+IGZiFTe9Ohj1H5Wx/2HL1A4WoHx8ldE0tOu1qPCOLVYen//rj4yvzQsJJfCQRKs8I0McTinpg==
X-Received: by 2002:a05:600c:45c9:b0:46e:37d5:dbed with SMTP id 5b1f17b1804b1-471172d7ee5mr104765715e9.12.1760976360093;
        Mon, 20 Oct 2025 09:06:00 -0700 (PDT)
Message-ID: <9bd75b6b-4db2-494d-8926-416d533b89d3@suse.com>
Date: Mon, 20 Oct 2025 18:05:59 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21?] xl: drop redundant return value check from
 list_domains_details()
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <13d8a3ff-ed58-4b35-ae3c-0411cd34f7b8@suse.com>
 <3f98f469-7da1-4356-916c-a4523f887001@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <3f98f469-7da1-4356-916c-a4523f887001@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 20.10.2025 17:56, Oleksii Kurochko wrote:
> 
> On 10/20/25 1:33 PM, Jan Beulich wrote:
>> The check that was added to address a Coverity report renderned another,
>> later check dead, which Coverity again complains about.
>>
>> Fixes: d0193c6d6716 ("tools/xl: check return value of printf_info_one_json() in list_domains_details()")
>> Coverity ID: 1667251
>> Signed-off-by: Jan Beulich<jbeulich@suse.com>
> 
> Release-Acked-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>

Thanks, but we'll want to take Roger's fix (which you also did ack).

Jan


From xen-devel-bounces@lists.xenproject.org Mon Oct 20 16:09:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 16:09:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146722.1479118 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAsS7-0007jX-3i; Mon, 20 Oct 2025 16:09:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146722.1479118; Mon, 20 Oct 2025 16:09:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAsS7-0007jQ-0a; Mon, 20 Oct 2025 16:09:43 +0000
Received: by outflank-mailman (input) for mailman id 1146722;
 Mon, 20 Oct 2025 16:09:42 +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
 <SRS0=Li3P=45=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1vAsHD-0004DQ-4N
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 15:58:27 +0000
Received: from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com
 [2a00:1450:4864:20::52c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9cfef3c2-adcd-11f0-9d15-b5c5bf9af7f9;
 Mon, 20 Oct 2025 17:58:26 +0200 (CEST)
Received: by mail-ed1-x52c.google.com with SMTP id
 4fb4d7f45d1cf-637e74e9104so6216969a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 20 Oct 2025 08:58:26 -0700 (PDT)
Received: from fedora (user-109-243-146-38.play-internet.pl. [109.243.146.38])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-63c48ab560esm6966067a12.12.2025.10.20.08.58.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 20 Oct 2025 08:58:25 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9cfef3c2-adcd-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760975905; x=1761580705; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Cxtv3BMlv21jdp4Ip+HjiyNuW5KsWMFtWda7wHvVoac=;
        b=CsBk/M7DOc4rBsp3ZF7kBYm/jBGW70uoqtsdQKTZ6qXxoZHxhi+picsHiMGBKIPjit
         41E2LYgFlWqAVqwMNoT9d9abHt/nxPNbJhk5N+DiQkM3h6ecz7KXL40XztW1RDZVxf4b
         JVAA1JGKlR0QdItr8xyTtcFho6T7wSsYEEqW8QhOasSH5tyhVIxLnNYbl1NsyOBLvsvz
         W6UDvcQbDIhNxKAmXvYAsD5pHiszC3rpMwqWV7O7udNz9C1Z3o6NUrrc8CI0lwSfJmMv
         ye7mmmwp7fa62SRUn5nUH/zYSmLq5TL8IlFe6WsrVBvs18sBvaC0vPYLzPWw66MpzCwk
         D5pA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760975905; x=1761580705;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Cxtv3BMlv21jdp4Ip+HjiyNuW5KsWMFtWda7wHvVoac=;
        b=ZUmllFLwKRozhqMwedSGc2in6Mc6gwIb941nUp7sq+wN6Xu0xOVtzoztuTb+OKBF4Z
         bIo1kyseGJL09jx7FYZbD05Ln4PinGxeNGe0Gn1wnR53R8iPEC+6ETZPk8NRNs2xWMNv
         S8abHySf+tAQvgOq0lLRHwkN9VuGyu0/aJ+UwIROcG+jGUZ1ynbK6qk3yRTxBQnSGfTG
         IQcyneyZ9tJYlL8D8FwEYI2OrYALP7w1ckDi+eA+GYRwUFW9jEK3JF9WVfp2/XquMUGX
         2ATL9DXb/4QFa7Ib9rMPW7tbEG8mtlXIz3LgRoTt+ATX06psduJsNouF3n8m9dDm0xVH
         4nJw==
X-Gm-Message-State: AOJu0Yzcdjo8N/84Ox8wka1113BTFzqGAjT4yYMkPpNG/26ozH/S/EbZ
	LXc6UIwvE8Up+wcfd6HwNthdPSpQCZmV5Pap9P2oFlM4zsBX9dqfgBQNdEQzRA==
X-Gm-Gg: ASbGncv1zyqcMzJBl8Nu9UJPAjFZlNiSa5ELxE1oEIeXKyYxV2Ju0t26xojtxB+TGxX
	RbzNv+kkEAEJZzdbjyV7/j/faXX75juZ+tRZc0vO9z3I68BIUndhC/5IliH5tJKlffqNj4gKHS2
	VguWClcbV4UQEGbH/XRpibC0xOeiiR5PyA/Tl8LG1zkZe1Fs26mtV2vRBARpwkJ20axLwSfKDvz
	O9Mpzp0eU6xvwdzn0Zpvj3sr9GeuUV+dfOYSeW5VMwNrk+tHLWlqzM0kkoQIoz/nxGwi9FW+QqP
	8QsX+XhB33wyuyYsoKk0M58MvWrDAgdUNN3sg5E2YKHdOTWUxc36g6RbOmkAmas2qWPiAbj6s4w
	PUjojlEvcszw/2zObMTUJB9Ie58n+SE1n7yzihTZh09lUJXDrQYVGOBUod6iDJbRG9k6UBMq7Ey
	c3YGdwvgoLu67EIvF+RJfBuLnA4yQn5Pc9ElRLuO5YC1P+Qs8=
X-Google-Smtp-Source: AGHT+IF5ucbhQzw4jIkyq+gtZKbaydALhhXv5GV/+yNefqCo4pLvofWsWifLfqFebcjWNU0rfjICjQ==
X-Received: by 2002:a05:6402:5c8:b0:639:6bc8:c7bd with SMTP id 4fb4d7f45d1cf-63c1f645c25mr12323874a12.15.1760975905504;
        Mon, 20 Oct 2025 08:58:25 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [for 4.22 v5 15/18] xen/riscv: implement put_page()
Date: Mon, 20 Oct 2025 17:57:58 +0200
Message-ID: <6b2fa23a871eb6a8405265dcf3bbac51f29c84b6.1760974017.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <cover.1760974017.git.oleksii.kurochko@gmail.com>
References: <cover.1760974017.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Implement put_page(), as it will be used by  p2m_put_*-related code.

Although CONFIG_STATIC_MEMORY has not yet been introduced for RISC-V,
a stub for PGC_static is added to avoid cluttering the code of
put_page() with #ifdefs.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V5:
 - Correct code style of do-while loop in put_page().
 - Add Acked-by: Jan Beulich <jbeulich@suse.com>.
---
Changes in V4:
 - Update the comment message:
   s/p2m_put_code/p2m_put_*-related code.
   s/put_page_nr/put_page.
---
 xen/arch/riscv/include/asm/mm.h |  7 +++++++
 xen/arch/riscv/mm.c             | 24 +++++++++++++++++++-----
 2 files changed, 26 insertions(+), 5 deletions(-)

diff --git a/xen/arch/riscv/include/asm/mm.h b/xen/arch/riscv/include/asm/mm.h
index dd8cdc9782..0503c92e6c 100644
--- a/xen/arch/riscv/include/asm/mm.h
+++ b/xen/arch/riscv/include/asm/mm.h
@@ -264,6 +264,13 @@ static inline bool arch_mfns_in_directmap(unsigned long mfn, unsigned long nr)
 /* Page is Xen heap? */
 #define _PGC_xen_heap     PG_shift(2)
 #define PGC_xen_heap      PG_mask(1, 2)
+#ifdef CONFIG_STATIC_MEMORY
+/* Page is static memory */
+#define _PGC_static       PG_shift(3)
+#define PGC_static        PG_mask(1, 3)
+#else
+#define PGC_static     0
+#endif
 /* Page is broken? */
 #define _PGC_broken       PG_shift(7)
 #define PGC_broken        PG_mask(1, 7)
diff --git a/xen/arch/riscv/mm.c b/xen/arch/riscv/mm.c
index 1ef015f179..2e42293986 100644
--- a/xen/arch/riscv/mm.c
+++ b/xen/arch/riscv/mm.c
@@ -362,11 +362,6 @@ unsigned long __init calc_phys_offset(void)
     return phys_offset;
 }
 
-void put_page(struct page_info *page)
-{
-    BUG_ON("unimplemented");
-}
-
 void arch_dump_shared_mem_info(void)
 {
     BUG_ON("unimplemented");
@@ -627,3 +622,22 @@ void flush_page_to_ram(unsigned long mfn, bool sync_icache)
     if ( sync_icache )
         invalidate_icache();
 }
+
+void put_page(struct page_info *page)
+{
+    unsigned long nx, x, y = page->count_info;
+
+    do {
+        ASSERT((y & PGC_count_mask) >= 1);
+        x  = y;
+        nx = x - 1;
+    } while ( unlikely((y = cmpxchg(&page->count_info, x, nx)) != x) );
+
+    if ( unlikely((nx & PGC_count_mask) == 0) )
+    {
+        if ( unlikely(nx & PGC_static) )
+            free_domstatic_page(page);
+        else
+            free_domheap_page(page);
+    }
+}
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Mon Oct 20 16:10:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 16:10:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146747.1479127 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAsSl-0000ye-Cq; Mon, 20 Oct 2025 16:10:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146747.1479127; Mon, 20 Oct 2025 16:10:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAsSl-0000yX-A8; Mon, 20 Oct 2025 16:10:23 +0000
Received: by outflank-mailman (input) for mailman id 1146747;
 Mon, 20 Oct 2025 16:10:21 +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
 <SRS0=Li3P=45=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1vAsHB-0004DQ-40
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 15:58:25 +0000
Received: from mail-ed1-x533.google.com (mail-ed1-x533.google.com
 [2a00:1450:4864:20::533])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9b38b44e-adcd-11f0-9d15-b5c5bf9af7f9;
 Mon, 20 Oct 2025 17:58:23 +0200 (CEST)
Received: by mail-ed1-x533.google.com with SMTP id
 4fb4d7f45d1cf-63bea08a326so6228009a12.3
 for <xen-devel@lists.xenproject.org>; Mon, 20 Oct 2025 08:58:23 -0700 (PDT)
Received: from fedora (user-109-243-146-38.play-internet.pl. [109.243.146.38])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-63c48ab560esm6966067a12.12.2025.10.20.08.58.21
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 20 Oct 2025 08:58:22 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9b38b44e-adcd-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760975903; x=1761580703; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Nz0v58uF65Nd3P7Kv3kK5wYJ8EXqQLEhGN0DKb0NQDM=;
        b=mZBRH9phAyu9TqNVI/kLcmzijXXbma+t+1jjVOgmcU7zc0D+A/PeqJfKslgFvq9Qtg
         /pgJyuKDij8INphjAiuJBRenLXaEWrw5AYfFLrZPUrPK/re80ssQovTwConRILyv+wVh
         QUbpqxsBmd6K8uvOXsvc1Zo8ZGNL6jlx4/QV15z2HDGwiENKbN8OUM4PTLu0KbBy8hjn
         3zKkOEM/Dn8sgInGV1s6BSL/MuM42Urhlr2Ycdy3BLDiLrlH45X86d2WIYi5IwrnUhKv
         yRYtbSFwOttoMzj+Vwuns71B9D4Y/4N4/Fh6kOuERY7qaAqzBtyDJHvZHphNR4VC4F0K
         EdAw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760975903; x=1761580703;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Nz0v58uF65Nd3P7Kv3kK5wYJ8EXqQLEhGN0DKb0NQDM=;
        b=V4VHHG9X+AlfejI9Ywg3fni1hdcbjbfvOTB1fGYEAOeVwV9ehNJ387dyXPZ9RTiuPF
         PHJv4dZv5EYm+Id/SKsgjO+hZukUPrg91hJ/vfszpGkejzQaG7IsXHR3PNccsCG5e3iE
         WXpgoeLqWk0hq7mN25BkXWNrWlakUipOH/UosjKq4Y4aghgQql/pfkDXB1fZvkVDvaBU
         37UirZEhfS9g6OMPG8IsZX3Ykw7s3tpgulD7E7HTIwInYVEZ3e39RMa4gS9m/ErDszaX
         zgkidrgjTpiQ8UpSVCDqeUsb4GAXXLCWe0hKoD3VFvyxEjgRseapy8WJYdS8r9jvnfrI
         CfPg==
X-Gm-Message-State: AOJu0Yxjp9q+W9gLQS6qbVNiur122GXS3R5AUXyORmAup7X0XsElehN+
	EHR8LMR4Nv8A3ort7TXPl9gk/MDaCjnwJ4U4iVlbTK8WVIXc3fYcFajbD3cn2w==
X-Gm-Gg: ASbGncv6V24h9dBtVDO7lrimHUw8X6WUEj/2u3Z7ort1cPfKDwAF72ImXSgiy1kp9+I
	ai0QH/4ezrUVShm2kO5mTsxN2AWpmlDsan1Fwo9ESu+Jt5HTrBgK7JNLUrEpJ0OZ2vdaC4Vyfny
	buj7ISQHEVgQHjnCKQPrcCrkFRvdq0ph7nLWR1O1Oww47nJGIpIyujHGzbRLkrBdnV8V2W/hrhN
	UIitz1onTzOg3zwpXAg39SiZeXbrW+rVuJdTfs6thoVapqU3fFel7+tT3jjiJrnb92QhrNgQhUS
	XgXu4P8SK/EkZAxbhmx1PVhEtCNXjvWNJb7l+rC0U6cr/5Y5IP0vqOQhe+kheHnPlFoZCn7EBQy
	JF8xU/aZyuJxqoUlfpYiZdGyStlfuSK0vtWNvgImn4XgY8BLz3YXcwOwdLGUO3aa4Y+Rkxtcfkx
	GxMbpnXhJxeLW8wCZbyoTgtWWbjgkFlpZG3p6GzJZbZDvldiX0CqaawWZSiw==
X-Google-Smtp-Source: AGHT+IEfYFc25cCt39crucM9yAo5pb9EXJm0xsv9gKYbKcmDrTb+dHZrIkVBUdS6hkSITmcBDmUzRA==
X-Received: by 2002:a17:907:6d02:b0:b63:2000:72c8 with SMTP id a640c23a62f3a-b6474543490mr1481213666b.62.1760975902512;
        Mon, 20 Oct 2025 08:58:22 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [for 4.22 v5 12/18] xen/riscv: Implement p2m_pte_from_mfn() and support PBMT configuration
Date: Mon, 20 Oct 2025 17:57:55 +0200
Message-ID: <ff69e96dbb17e38e10468454d534061388201680.1760974017.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <cover.1760974017.git.oleksii.kurochko@gmail.com>
References: <cover.1760974017.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This patch adds the initial logic for constructing PTEs from MFNs in the RISC-V
p2m subsystem. It includes:
- Implementation of p2m_pte_from_mfn(): Generates a valid PTE using the
  given MFN, p2m_type_t, including permission encoding and PBMT attribute
  setup.
- New helper p2m_set_permission(): Encodes access rights (r, w, x) into the
  PTE based on both p2m type and access permissions.
- p2m_set_type(): Stores the p2m type in PTE's bits. The storage of types,
  which don't fit PTE bits, will be implemented separately later.
- Add detection of Svade extension to properly handle a possible page-fault
  if A and D bits aren't set.

PBMT type encoding support:
- Introduces an enum pbmt_type_t to represent the PBMT field values.
- Maps types like p2m_mmio_direct_dev to p2m_mmio_direct_io, others default
  to pbmt_pma.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V5:
 - Moved setting of p2m_mmio_direct_io inside (!is_table) case in p2m_pte_from_mfn().
 - Extend comment about the place of setting A/D bits with explanation
   why it is done in this way for now.
---
Changes in V4:
 - p2m_set_permission() updates:
   - Update permissions for p2m_ram_rw case, make it also executable.
   - Add pernissions setting for p2m_map_foreign_* types.
   - Drop setting peromissions for p2m_ext_storage.
   - Only turn off PTE_VALID bit for p2m_invalid, don't touch other bits.
 - p2m_pte_from_mfn() updates:
   - Update ASSERT(), add a check that mfn isn't INVALID_MFN (1)
     explicitly to avoid the case when PADDR_MASK isn't narrow enough to
     catch the case (1).
   - Drop unnessary check around call of p2m_set_type() as this check
     is already included inside p2m_set_type().
 - Introduce new p2m type p2m_first_external to detect that passed type
   is stored in external storage.
 - Add handling of PTE's A and D bits in pm2_set_permission. Also, set
   PTE_USER bit. For this cpufeatures.{h and c} were updated to be able
   to detect availability of Svade extension.
 - Drop grant table related code as it isn't going to be used at the moment.
---
Changes in V3:
 - s/p2m_entry_from_mfn/p2m_pte_from_mfn.
 - s/pbmt_type_t/pbmt_type.
 - s/pbmt_max/pbmt_count.
 - s/p2m_type_radix_set/p2m_set_type.
 - Rework p2m_set_type() to handle only types which are fited into PTEs bits.
   Other types will be covered separately.
   Update arguments of p2m_set_type(): there is no any reason for p2m anymore.
 - p2m_set_permissions() updates:
   - Update the code in p2m_set_permission() for cases p2m_raw_rw and
     p2m_mmio_direct_io to set proper type permissions.
   - Add cases for p2m_grant_map_rw and p2m_grant_map_ro.
   - Use ASSERT_UNEACHABLE() instead of BUG() in switch cases of
     p2m_set_permissions.
   - Add blank lines non-fall-through case blocks in switch cases.
 - Set MFN before permissions are set in p2m_pte_from_mfn().
 - Update prototype of p2m_entry_from_mfn().
---
Changes in V2:
 - New patch. It was a part of a big patch "xen/riscv: implement p2m mapping
   functionality" which was splitted to smaller.
---
 xen/arch/riscv/cpufeature.c             |   1 +
 xen/arch/riscv/include/asm/cpufeature.h |   1 +
 xen/arch/riscv/include/asm/page.h       |   8 ++
 xen/arch/riscv/p2m.c                    | 112 +++++++++++++++++++++++-
 4 files changed, 118 insertions(+), 4 deletions(-)

diff --git a/xen/arch/riscv/cpufeature.c b/xen/arch/riscv/cpufeature.c
index b846a106a3..02b68aeaa4 100644
--- a/xen/arch/riscv/cpufeature.c
+++ b/xen/arch/riscv/cpufeature.c
@@ -138,6 +138,7 @@ const struct riscv_isa_ext_data __initconst riscv_isa_ext[] = {
     RISCV_ISA_EXT_DATA(zbs),
     RISCV_ISA_EXT_DATA(smaia),
     RISCV_ISA_EXT_DATA(ssaia),
+    RISCV_ISA_EXT_DATA(svade),
     RISCV_ISA_EXT_DATA(svpbmt),
 };
 
diff --git a/xen/arch/riscv/include/asm/cpufeature.h b/xen/arch/riscv/include/asm/cpufeature.h
index 768b84b769..5f756c76db 100644
--- a/xen/arch/riscv/include/asm/cpufeature.h
+++ b/xen/arch/riscv/include/asm/cpufeature.h
@@ -37,6 +37,7 @@ enum riscv_isa_ext_id {
     RISCV_ISA_EXT_zbs,
     RISCV_ISA_EXT_smaia,
     RISCV_ISA_EXT_ssaia,
+    RISCV_ISA_EXT_svade,
     RISCV_ISA_EXT_svpbmt,
     RISCV_ISA_EXT_MAX
 };
diff --git a/xen/arch/riscv/include/asm/page.h b/xen/arch/riscv/include/asm/page.h
index 78e53981ac..4b6baeaaf2 100644
--- a/xen/arch/riscv/include/asm/page.h
+++ b/xen/arch/riscv/include/asm/page.h
@@ -73,6 +73,14 @@
 #define PTE_SMALL       BIT(10, UL)
 #define PTE_POPULATE    BIT(11, UL)
 
+enum pbmt_type {
+    pbmt_pma,
+    pbmt_nc,
+    pbmt_io,
+    pbmt_rsvd,
+    pbmt_count,
+};
+
 #define PTE_ACCESS_MASK (PTE_READABLE | PTE_WRITABLE | PTE_EXECUTABLE)
 
 #define PTE_PBMT_MASK   (PTE_PBMT_NOCACHE | PTE_PBMT_IO)
diff --git a/xen/arch/riscv/p2m.c b/xen/arch/riscv/p2m.c
index 71b211410b..f4658e2560 100644
--- a/xen/arch/riscv/p2m.c
+++ b/xen/arch/riscv/p2m.c
@@ -11,6 +11,7 @@
 #include <xen/sections.h>
 #include <xen/xvmalloc.h>
 
+#include <asm/cpufeature.h>
 #include <asm/csr.h>
 #include <asm/flushtlb.h>
 #include <asm/paging.h>
@@ -349,6 +350,18 @@ static pte_t *p2m_get_root_pointer(struct p2m_domain *p2m, gfn_t gfn)
     return __map_domain_page(p2m->root + root_table_indx);
 }
 
+static int p2m_set_type(pte_t *pte, p2m_type_t t)
+{
+    int rc = 0;
+
+    if ( t > p2m_first_external )
+        panic("unimplemeted\n");
+    else
+        pte->pte |= MASK_INSR(t, P2M_TYPE_PTE_BITS_MASK);
+
+    return rc;
+}
+
 static p2m_type_t p2m_get_type(const pte_t pte)
 {
     p2m_type_t type = MASK_EXTR(pte.pte, P2M_TYPE_PTE_BITS_MASK);
@@ -379,11 +392,102 @@ static inline void p2m_clean_pte(pte_t *p, bool clean_pte)
     p2m_write_pte(p, pte, clean_pte);
 }
 
-static pte_t p2m_pte_from_mfn(mfn_t mfn, p2m_type_t t)
+static void p2m_set_permission(pte_t *e, p2m_type_t t)
 {
-    panic("%s: hasn't been implemented yet\n", __func__);
+    e->pte &= ~PTE_ACCESS_MASK;
+
+    e->pte |= PTE_USER;
+
+    /*
+     * Two schemes to manage the A and D bits are defined:
+     *   â€¢ The Svade extension: when a virtual page is accessed and the A bit
+     *     is clear, or is written and the D bit is clear, a page-fault
+     *     exception is raised.
+     *   â€¢ When the Svade extension is not implemented, the following scheme
+     *     applies.
+     *     When a virtual page is accessed and the A bit is clear, the PTE is
+     *     updated to set the A bit. When the virtual page is written and the
+     *     D bit is clear, the PTE is updated to set the D bit. When G-stage
+     *     address translation is in use and is not Bare, the G-stage virtual
+     *     pages may be accessed or written by implicit accesses to VS-level
+     *     memory management data structures, such as page tables.
+     * Thereby to avoid a page-fault in case of Svade is available, it is
+     * necesssary to set A and D bits.
+     *
+     * TODO: For now, itâ€™s fine to simply set the A/D bits, since OpenSBI
+     *       delegates page faults to a lower privilege mode and so OpenSBI
+     *       isn't expect to handle page-faults occured in lower modes.
+     *       By setting the A/D bits here, page faults that would otherwise
+     *       be generated due to unset A/D bits will not occur in Xen.
+     *
+     *       Currently, Xen on RISC-V does not make use of the information
+     *       that could be obtained from handling such page faults, which
+     *       could otherwise be useful for several use cases such as demand
+     *       paging, cache-flushing optimizations, memory access tracking,etc.
+     *
+     *       To support the more general case and the optimizations mentioned
+     *       above, it would be better to stop setting the A/D bits here and
+     *       instead handle page faults that occur due to unset A/D bits.
+     */
+    if ( riscv_isa_extension_available(NULL, RISCV_ISA_EXT_svade) )
+        e->pte |= PTE_ACCESSED | PTE_DIRTY;
+
+    switch ( t )
+    {
+    case p2m_map_foreign_rw:
+    case p2m_mmio_direct_io:
+        e->pte |= PTE_READABLE | PTE_WRITABLE;
+        break;
+
+    case p2m_ram_rw:
+        e->pte |= PTE_ACCESS_MASK;
+        break;
+
+    case p2m_invalid:
+        e->pte &= ~PTE_VALID;
+        break;
+
+    case p2m_map_foreign_ro:
+        e->pte |= PTE_READABLE;
+        break;
+
+    default:
+        ASSERT_UNREACHABLE();
+        break;
+    }
+}
+
+static pte_t p2m_pte_from_mfn(mfn_t mfn, p2m_type_t t, bool is_table)
+{
+    pte_t e = (pte_t) { PTE_VALID };
+
+    pte_set_mfn(&e, mfn);
+
+    ASSERT(!(mfn_to_maddr(mfn) & ~PADDR_MASK) || mfn_eq(mfn, INVALID_MFN));
+
+    if ( !is_table )
+    {
+        switch ( t )
+        {
+        case p2m_mmio_direct_io:
+            e.pte |= PTE_PBMT_IO;
+            break;
+
+        default:
+            break;
+        }
+
+        p2m_set_permission(&e, t);
+        p2m_set_type(&e, t);
+    }
+    else
+        /*
+         * According to the spec and table "Encoding of PTE R/W/X fields":
+         *   X=W=R=0 -> Pointer to next level of page table.
+         */
+        e.pte &= ~PTE_ACCESS_MASK;
 
-    return (pte_t) { .pte = 0 };
+    return e;
 }
 
 #define P2M_TABLE_MAP_NONE 0
@@ -638,7 +742,7 @@ static int p2m_set_entry(struct p2m_domain *p2m,
         p2m_clean_pte(entry, p2m->clean_dcache);
     else
     {
-        pte_t pte = p2m_pte_from_mfn(mfn, t);
+        pte_t pte = p2m_pte_from_mfn(mfn, t, false);
 
         p2m_write_pte(entry, pte, p2m->clean_dcache);
 
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Mon Oct 20 16:10:31 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 16:10:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146752.1479138 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAsSt-0001Pe-PW; Mon, 20 Oct 2025 16:10:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146752.1479138; Mon, 20 Oct 2025 16:10:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAsSt-0001PV-MD; Mon, 20 Oct 2025 16:10:31 +0000
Received: by outflank-mailman (input) for mailman id 1146752;
 Mon, 20 Oct 2025 16:10:30 +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
 <SRS0=Li3P=45=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1vAsHJ-0004DQ-5f
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 15:58:33 +0000
Received: from mail-ed1-x52b.google.com (mail-ed1-x52b.google.com
 [2a00:1450:4864:20::52b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9ecbc962-adcd-11f0-9d15-b5c5bf9af7f9;
 Mon, 20 Oct 2025 17:58:29 +0200 (CEST)
Received: by mail-ed1-x52b.google.com with SMTP id
 4fb4d7f45d1cf-61feb87fe26so7452500a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 20 Oct 2025 08:58:29 -0700 (PDT)
Received: from fedora (user-109-243-146-38.play-internet.pl. [109.243.146.38])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-63c48ab560esm6966067a12.12.2025.10.20.08.58.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 20 Oct 2025 08:58:28 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9ecbc962-adcd-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760975909; x=1761580709; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=kDa93JYdlrJBVGYbKahVuI6TF95B0R8FzGilI4cTMac=;
        b=G7d8WHd5kiChlSga6XsZ7R2BgNOZ+HqTV5+8F8UC5KRJl0iFAFfpB3mmjRLEy97Vo2
         JpCOQZToy8+rT4mGANdj5nO0QOCSdKfra5u5FRy1z1oCkFEQs/EAtJB9XL7GAczeTgbL
         Z1c6REQDyeyhdBNDnV4pin5BCqnbp19RWTIIoiEWkE93Zf/L7rfT6qHM3rLmGPnCAUYq
         Akg9wGm/y3ATAMvGM9YN6j1hkcdlywme3JrBzi1n7eEKreanPDYTPp9jW4bnX2immqZf
         QptQQd0qtvcPU1jhjoPoIwM6NGFdvUMAe+uhe8Uperf4yTJY8ythMquyRA8HbQTShNng
         skcA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760975909; x=1761580709;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=kDa93JYdlrJBVGYbKahVuI6TF95B0R8FzGilI4cTMac=;
        b=VBB1wzrELt0+R3MPNklCmeXzTdYJUyDnJVtEr+Fv+/hFPkEbD5OcZZ8ttFScD/qT/h
         eHkS9T0mpH/hdMTWYHE6D9m229D/JJf3bqI+b9BK+HolE7LEIItOO5cvwVP+ngusa29u
         9W4/FrgmRqyiubHoTXU+46W5QiflLsXvanpqUpQI9vLnL+rosmiUDc8nT6fliQlBoxbD
         tO9Rit/EXlsI3yRBxbh8B6j3zXw3EZOZF/gMs4oCRazzdRfzPhUtkdwlCV7t02MSy55e
         MaHBJi83IB5qVfaIutP04ha509TTMFbNOXPygpnZoCQKJk1mvZwQaH5uwO/b2kGJKSes
         EPVg==
X-Gm-Message-State: AOJu0Yxb1zK6zYGn/3mI6Z6z+ECjGyhfqus8p61NCqIEGrVXsRFCO+a5
	fQqrJpXLA+K+bi7DdqCXMTxCwE4DhEc0GhWSePGYxT2VSf9lli6kW4kA8QLDuw==
X-Gm-Gg: ASbGncvADm4zAzGQFa7kpBq5QKtaXZtuDlICGHqEEEp1gAa1o0rA5GfAsK5UvJQ1MBD
	oIMAVSjX4a9EyOx6+Ca4BdAeotdyz/3RqwviF+jLCAa+Twip7SOAmvKzM6bZAEqWl86s9BLMnXP
	aO33K23cHmpqgJKZye1H7Wzq9vcQFp1i4bL0ajFBUCaIK6lwoHSq1ZCnThC6Zkyz+bNZzJP7tnR
	mlNuRDFSjjNeFpT0GMgMm88mwD369bo7mnmVG5q5xCBMqCnqoJs+RUItZSOX/OnDADNmfootQBu
	98ulyc6jPauNM48dFr47yVTwjV0UXUzaTbaFRnuihHOwf7kHWLR+4+rW29lWjvTdvdiu6mjWkBj
	HuHJ8YbFlQhUAZijARGFOneZDzjQe8ZHqiy3lLZ5imnR5oR5U10K/0BB73tAhIliR6d5lJXZ+U5
	SOVCyJtrtiUMXA3K2Qs60SBGsnbI/4Pb6f4KpxJ62/h7yUCD3hd554KL5Y6zPaUNl3EIov
X-Google-Smtp-Source: AGHT+IFr1+sijGlicdQIZ3Jl96itdkZYVPSX02NsTR/7zDEozik/UzSOH8RlkPgourkWJtcalOkeow==
X-Received: by 2002:a05:6402:50ca:b0:63c:4da1:9a0a with SMTP id 4fb4d7f45d1cf-63c4da19c6fmr8788792a12.30.1760975908429;
        Mon, 20 Oct 2025 08:58:28 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [for 4.22 v5 18/18] xen/riscv: introduce metadata table to store P2M type
Date: Mon, 20 Oct 2025 17:58:01 +0200
Message-ID: <d291d2efe7dcc6ddd3d16677a81c57d755c7ada2.1760974017.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <cover.1760974017.git.oleksii.kurochko@gmail.com>
References: <cover.1760974017.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

RISC-V's PTE has only two available bits that can be used to store the P2M
type. This is insufficient to represent all the current RISC-V P2M types.
Therefore, some P2M types must be stored outside the PTE bits.

To address this, a metadata table is introduced to store P2M types that
cannot fit in the PTE itself. Not all P2M types are stored in the
metadata tableâ€”only those that require it.

The metadata table is linked to the intermediate page table via the
`struct page_info`'s v.md.metadata field of the corresponding intermediate
page.
Such pages are allocated with MEMF_no_owner, which allows us to use
the v field for the purpose of storing the metadata table.

To simplify the allocation and linking of intermediate and metadata page
tables, `p2m_{alloc,free}_table()` functions are implemented.

These changes impact `p2m_split_superpage()`, since when a superpage is
split, it is necessary to update the metadata table of the new
intermediate page table â€” if the entry being split has its P2M type set
to `p2m_ext_storage` in its `P2M_TYPES` bits. In addition to updating
the metadata of the new intermediate page table, the corresponding entry
in the metadata for the original superpage is invalidated.

Also, update p2m_{get,set}_type to work with P2M types which don't fit
into PTE bits.

Suggested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V5:
 - Rename metadata member of stuct md inside struct page_info to pg.
 - Stray blank in the declaration of p2m_alloc_table().
 - Use "<" instead of "<=" in ASSERT() in p2m_set_type().
 - Move the check that ctx is provided to an earlier point in
   p2m_set_type().
 - Set `md_pg` after ASSERT() in p2m_set_type().
 - Add BUG_ON() insetead of ASSERT_UNREACHABLE() in p2m_set_type().
 - Drop a check that metadata isn't NULL before unmap_domain_page() is
   being called.
 - Make const `md` variable in p2m_get_type().
 - unmap correct domain's page in p2m_get_type: use `md` instead of
   ctx->pt_page->v.md.pg.
 - Add description of how p2m and p2m_pte_ctx is expected to be used
   in p2m_pte_from_mfn() and drop a comment from page_to_p2m_table().
 - Drop the stale part of the comment above p2m_alloc_table().
 - Drop ASSERT(tbl_pg->v.md.pg) from p2m_free_table() as tbl_pg->v.md.pg
   is created conditionally now.
 - Drop an introduction of p2m_alloc_table(), update p2m_alloc_page()
   correspondengly and use it instead.
 - Add missing blank in definition of level member for tmp_ctx variable
   in p2m_free_subtree(). Also, add the comma at the end.
 - Initialize old_type once before for-loop in p2m_split_superpage() as
   old type will be used for all newly created PTEs.
 - Properly initialize p2m_pte_ctx.level with next_level instead of
   level when p2m_set_type() is going to be called for new PTEs.
 - Fix identations.
 - Move ASSERT(p2m) on top of p2m_set_type() to be sure that NULL isn't
   passed for p2m argument of p2m_set_type().
 - s/virt_to_page(table)/mfn_to_page(domain_page_map_to_mfn(table))
   to recieve correct page for a table which is mapped by domain_page_map().
 - Add "return;" after domain_crash() in p2m_set_type() to avoid potential
   NULL pointer dereference of md_pg.
---
Changes in V4:
 - Add Suggested-by: Jan Beulich <jbeulich@suse.com>.
 - Update the comment above declation of md structure inside struct page_info to:
   "Page is used as an intermediate P2M page table".
 - Allocate metadata table on demand to save some memory. (1)
 - Rework p2m_set_type():
   - Add allocatation of metadata page only if needed.
   - Move a check what kind of type we are handling inside p2m_set_type().
 - Move mapping of metadata page inside p2m_get_type() as it is needed only
   in case if PTE's type is equal to p2m_ext_storage.
 - Add some description to p2m_get_type() function.
 - Drop blank after return type of p2m_alloc_table().
 - Drop allocation of metadata page inside p2m_alloc_table becaues of (1).
 - Fix p2m_free_table() to free metadata page only if it was allocated.
---
Changes in V3:
 - Add is_p2m_foreign() macro and connected stuff.
 - Change struct domain *d argument of p2m_get_page_from_gfn() to
   struct p2m_domain.
 - Update the comment above p2m_get_entry().
 - s/_t/p2mt for local variable in p2m_get_entry().
 - Drop local variable addr in p2m_get_entry() and use gfn_to_gaddr(gfn)
   to define offsets array.
 - Code style fixes.
 - Update a check of rc code from p2m_next_level() in p2m_get_entry()
   and drop "else" case.
 - Do not call p2m_get_type() if p2m_get_entry()'s t argument is NULL.
 - Use struct p2m_domain instead of struct domain for p2m_lookup() and
   p2m_get_page_from_gfn().
 - Move defintion of get_page() from "xen/riscv: implement mfn_valid() and page reference, ownership handling helpers"
---
Changes in V2:
 - New patch.
---
 xen/arch/riscv/include/asm/mm.h |   9 ++
 xen/arch/riscv/p2m.c            | 223 +++++++++++++++++++++++++++-----
 2 files changed, 198 insertions(+), 34 deletions(-)

diff --git a/xen/arch/riscv/include/asm/mm.h b/xen/arch/riscv/include/asm/mm.h
index 1b16809749..b18892e4fc 100644
--- a/xen/arch/riscv/include/asm/mm.h
+++ b/xen/arch/riscv/include/asm/mm.h
@@ -149,6 +149,15 @@ struct page_info
             /* Order-size of the free chunk this page is the head of. */
             unsigned int order;
         } free;
+
+        /* Page is used as an intermediate P2M page table */
+        struct {
+            /*
+             * Pointer to a page which store metadata for an intermediate page
+             * table.
+             */
+            struct page_info *pg;
+        } md;
     } v;
 
     union {
diff --git a/xen/arch/riscv/p2m.c b/xen/arch/riscv/p2m.c
index 785d11aaff..c8112faacb 100644
--- a/xen/arch/riscv/p2m.c
+++ b/xen/arch/riscv/p2m.c
@@ -20,6 +20,16 @@
 
 #define P2M_SUPPORTED_LEVEL_MAPPING 2
 
+/*
+ * P2M PTE context is used only when a PTE's P2M type is p2m_ext_storage.
+ * In this case, the P2M type is stored separately in the metadata page.
+ */
+struct p2m_pte_ctx {
+    struct page_info *pt_page;   /* Page table page containing the PTE. */
+    unsigned int index;          /* Index of the PTE within that page. */
+    unsigned int level;          /* Paging level at which the PTE resides. */
+};
+
 unsigned char __ro_after_init gstage_mode;
 unsigned int __ro_after_init gstage_root_level;
 
@@ -363,24 +373,89 @@ static struct page_info *p2m_alloc_page(struct p2m_domain *p2m)
     return pg;
 }
 
-static int p2m_set_type(pte_t *pte, p2m_type_t t)
+/*
+ * `pte` â€“ PTE entry for which the type `t` will be stored.
+ *
+ * If `t` is `p2m_ext_storage`, both `ctx` and `p2m` must be provided;
+ * otherwise, only p2m may be NULL.
+ */
+static void p2m_set_type(pte_t *pte, const p2m_type_t t,
+                         struct p2m_pte_ctx *ctx,
+                         struct p2m_domain *p2m)
 {
-    int rc = 0;
+    struct page_info **md_pg;
+    pte_t *metadata = NULL;
 
-    if ( t > p2m_first_external )
-        panic("unimplemeted\n");
-    else
+    ASSERT(p2m);
+
+     /* Be sure that an index correspondent to page level is passed. */
+    ASSERT(ctx && ctx->index < P2M_PAGETABLE_ENTRIES(ctx->level));
+
+    /*
+     * For the root page table (16 KB in size), we need to select the correct
+     * metadata table, since allocations are 4 KB each. In total, there are
+     * 4 tables of 4 KB each.
+     * For none-root page table index of ->pt_page[] will be always 0 as
+     * index won't be higher then 511. ASSERT() above verifies that.
+     */
+    md_pg = &ctx->pt_page[ctx->index / PAGETABLE_ENTRIES].v.md.pg;
+
+    if ( !*md_pg && (t >= p2m_first_external) )
+    {
+        BUG_ON(ctx->level > P2M_SUPPORTED_LEVEL_MAPPING);
+
+        if ( ctx->level <= P2M_SUPPORTED_LEVEL_MAPPING )
+        {
+            struct domain *d = p2m->domain;
+
+            *md_pg = p2m_alloc_page(p2m);
+            if ( !*md_pg )
+            {
+                printk("%s: can't allocate extra memory for dom%d\n",
+                       __func__, d->domain_id);
+                domain_crash(d);
+
+                return;
+            }
+        }
+    }
+
+    if ( *md_pg )
+        metadata = __map_domain_page(*md_pg);
+
+    if ( t < p2m_first_external )
+    {
         pte->pte |= MASK_INSR(t, P2M_TYPE_PTE_BITS_MASK);
 
-    return rc;
+        if ( metadata )
+            metadata[ctx->index].pte = p2m_invalid;
+    }
+    else
+    {
+        pte->pte |= MASK_INSR(p2m_ext_storage, P2M_TYPE_PTE_BITS_MASK);
+
+        metadata[ctx->index].pte = t;
+    }
+
+    unmap_domain_page(metadata);
 }
 
-static p2m_type_t p2m_get_type(const pte_t pte)
+/*
+ * `pte` -> PTE entry that stores the PTE's type.
+ *
+ * If the PTE's type is `p2m_ext_storage`, `ctx` should be provided;
+ * otherwise it could be NULL.
+ */
+static p2m_type_t p2m_get_type(const pte_t pte, const struct p2m_pte_ctx *ctx)
 {
     p2m_type_t type = MASK_EXTR(pte.pte, P2M_TYPE_PTE_BITS_MASK);
 
     if ( type == p2m_ext_storage )
-        panic("unimplemented\n");
+    {
+        const pte_t *md = __map_domain_page(ctx->pt_page->v.md.pg);
+        type = md[ctx->index].pte;
+        unmap_domain_page(md);
+    }
 
     return type;
 }
@@ -470,7 +545,15 @@ static void p2m_set_permission(pte_t *e, p2m_type_t t)
     }
 }
 
-static pte_t p2m_pte_from_mfn(mfn_t mfn, p2m_type_t t, bool is_table)
+/*
+ * If p2m_pte_from_mfn() is called with p2m_pte_ctx = NULL and p2m = NULL,
+ * it means the function is working with a page table for which the `t`
+ * should not be applicable. Otherwise, the function is handling a leaf PTE
+ * for which `t` is applicable.
+ */
+static pte_t p2m_pte_from_mfn(mfn_t mfn, p2m_type_t t,
+                              struct p2m_pte_ctx *p2m_pte_ctx,
+                              struct p2m_domain *p2m)
 {
     pte_t e = (pte_t) { PTE_VALID };
 
@@ -478,7 +561,7 @@ static pte_t p2m_pte_from_mfn(mfn_t mfn, p2m_type_t t, bool is_table)
 
     ASSERT(!(mfn_to_maddr(mfn) & ~PADDR_MASK) || mfn_eq(mfn, INVALID_MFN));
 
-    if ( !is_table )
+    if ( p2m_pte_ctx && p2m )
     {
         switch ( t )
         {
@@ -491,7 +574,7 @@ static pte_t p2m_pte_from_mfn(mfn_t mfn, p2m_type_t t, bool is_table)
         }
 
         p2m_set_permission(&e, t);
-        p2m_set_type(&e, t);
+        p2m_set_type(&e, t, p2m_pte_ctx, p2m);
     }
     else
         /*
@@ -506,12 +589,19 @@ static pte_t p2m_pte_from_mfn(mfn_t mfn, p2m_type_t t, bool is_table)
 /* Generate table entry with correct attributes. */
 static pte_t page_to_p2m_table(const struct page_info *page)
 {
-    /*
-     * p2m_invalid will be ignored inside p2m_pte_from_mfn() as is_table is
-     * set to true and p2m_type_t shouldn't be applied for PTEs which
-     * describe an intermidiate table.
-     */
-    return p2m_pte_from_mfn(page_to_mfn(page), p2m_invalid, true);
+    return p2m_pte_from_mfn(page_to_mfn(page), p2m_invalid, NULL, NULL);
+}
+
+static void p2m_free_page(struct p2m_domain *p2m, struct page_info *pg);
+
+/*
+ * Free page table's page and metadata page linked to page table's page.
+ */
+static void p2m_free_table(struct p2m_domain *p2m, struct page_info *tbl_pg)
+{
+    if ( tbl_pg->v.md.pg )
+        p2m_free_page(p2m, tbl_pg->v.md.pg);
+    p2m_free_page(p2m, tbl_pg);
 }
 
 /* Allocate a new page table page and hook it in via the given entry. */
@@ -673,12 +763,14 @@ static void p2m_free_page(struct p2m_domain *p2m, struct page_info *pg)
 
 /* Free pte sub-tree behind an entry */
 static void p2m_free_subtree(struct p2m_domain *p2m,
-                             pte_t entry, unsigned int level)
+                             pte_t entry,
+                             const struct p2m_pte_ctx *p2m_pte_ctx)
 {
     unsigned int i;
     pte_t *table;
     mfn_t mfn;
     struct page_info *pg;
+    unsigned int level = p2m_pte_ctx->level;
 
     /*
      * Check if the level is valid: only 4K - 2M - 1G mappings are supported.
@@ -694,7 +786,7 @@ static void p2m_free_subtree(struct p2m_domain *p2m,
 
     if ( (level == 0) || pte_is_superpage(entry, level) )
     {
-        p2m_type_t p2mt = p2m_get_type(entry);
+        p2m_type_t p2mt = p2m_get_type(entry, p2m_pte_ctx);
 
 #ifdef CONFIG_IOREQ_SERVER
         /*
@@ -713,9 +805,21 @@ static void p2m_free_subtree(struct p2m_domain *p2m,
         return;
     }
 
-    table = map_domain_page(pte_get_mfn(entry));
+    mfn = pte_get_mfn(entry);
+    ASSERT(mfn_valid(mfn));
+    table = map_domain_page(mfn);
+    pg = mfn_to_page(mfn);
+
     for ( i = 0; i < P2M_PAGETABLE_ENTRIES(level); i++ )
-        p2m_free_subtree(p2m, table[i], level - 1);
+    {
+        struct p2m_pte_ctx tmp_ctx = {
+            .pt_page = pg,
+            .index = i,
+            .level = level - 1,
+        };
+
+        p2m_free_subtree(p2m, table[i], &tmp_ctx);
+    }
 
     unmap_domain_page(table);
 
@@ -727,17 +831,13 @@ static void p2m_free_subtree(struct p2m_domain *p2m,
      */
     p2m_tlb_flush_sync(p2m);
 
-    mfn = pte_get_mfn(entry);
-    ASSERT(mfn_valid(mfn));
-
-    pg = mfn_to_page(mfn);
-
-    p2m_free_page(p2m, pg);
+    p2m_free_table(p2m, pg);
 }
 
 static bool p2m_split_superpage(struct p2m_domain *p2m, pte_t *entry,
                                 unsigned int level, unsigned int target,
-                                const unsigned int *offsets)
+                                const unsigned int *offsets,
+                                struct page_info *tbl_pg)
 {
     struct page_info *page;
     unsigned long i;
@@ -749,6 +849,10 @@ static bool p2m_split_superpage(struct p2m_domain *p2m, pte_t *entry,
     unsigned int next_level = level - 1;
     unsigned int level_order = P2M_LEVEL_ORDER(next_level);
 
+    struct p2m_pte_ctx p2m_pte_ctx;
+    /* Init with p2m_invalid just to make compiler happy. */
+    p2m_type_t old_type = p2m_invalid;
+
     /*
      * This should only be called with target != level and the entry is
      * a superpage.
@@ -770,6 +874,19 @@ static bool p2m_split_superpage(struct p2m_domain *p2m, pte_t *entry,
 
     table = __map_domain_page(page);
 
+    if ( MASK_EXTR(entry->pte, P2M_TYPE_PTE_BITS_MASK) == p2m_ext_storage )
+    {
+        p2m_pte_ctx.pt_page = tbl_pg;
+        p2m_pte_ctx.index = offsets[level];
+        /*
+         * It doesn't really matter what is a value for a level as
+         * p2m_get_type() doesn't need it, so it is initialized just in case.
+         */
+        p2m_pte_ctx.level = level;
+
+        old_type = p2m_get_type(*entry, &p2m_pte_ctx);
+    }
+
     for ( i = 0; i < P2M_PAGETABLE_ENTRIES(next_level); i++ )
     {
         pte_t *new_entry = table + i;
@@ -781,6 +898,15 @@ static bool p2m_split_superpage(struct p2m_domain *p2m, pte_t *entry,
         pte = *entry;
         pte_set_mfn(&pte, mfn_add(mfn, i << level_order));
 
+        if ( MASK_EXTR(pte.pte, P2M_TYPE_PTE_BITS_MASK) == p2m_ext_storage )
+        {
+            p2m_pte_ctx.pt_page = page;
+            p2m_pte_ctx.index = i;
+            p2m_pte_ctx.level = next_level;
+
+            p2m_set_type(&pte, old_type, &p2m_pte_ctx, p2m);
+        }
+
         write_pte(new_entry, pte);
     }
 
@@ -792,7 +918,7 @@ static bool p2m_split_superpage(struct p2m_domain *p2m, pte_t *entry,
      */
     if ( next_level != target )
         rv = p2m_split_superpage(p2m, table + offsets[next_level],
-                                 next_level, target, offsets);
+                                 next_level, target, offsets, page);
 
     if ( p2m->clean_dcache )
         clean_dcache_va_range(table, PAGE_SIZE);
@@ -883,13 +1009,21 @@ static int p2m_set_entry(struct p2m_domain *p2m,
     {
         /* We need to split the original page. */
         pte_t split_pte = *entry;
+        struct page_info *tbl_pg = mfn_to_page(domain_page_map_to_mfn(table));
 
         ASSERT(pte_is_superpage(*entry, level));
 
-        if ( !p2m_split_superpage(p2m, &split_pte, level, target, offsets) )
+        if ( !p2m_split_superpage(p2m, &split_pte, level, target, offsets,
+                                  tbl_pg) )
         {
+            struct p2m_pte_ctx tmp_ctx = {
+                .pt_page = tbl_pg,
+                .index = offsets[level],
+                .level = level,
+            };
+
             /* Free the allocated sub-tree */
-            p2m_free_subtree(p2m, split_pte, level);
+            p2m_free_subtree(p2m, split_pte, &tmp_ctx);
 
             rc = -ENOMEM;
             goto out;
@@ -927,7 +1061,13 @@ static int p2m_set_entry(struct p2m_domain *p2m,
         p2m_clean_pte(entry, p2m->clean_dcache);
     else
     {
-        pte_t pte = p2m_pte_from_mfn(mfn, t, false);
+        struct p2m_pte_ctx tmp_ctx = {
+            .pt_page = mfn_to_page(domain_page_map_to_mfn(table)),
+            .index =  offsets[level],
+            .level = level,
+        };
+
+        pte_t pte = p2m_pte_from_mfn(mfn, t, &tmp_ctx, p2m);
 
         p2m_write_pte(entry, pte, p2m->clean_dcache);
 
@@ -963,7 +1103,15 @@ static int p2m_set_entry(struct p2m_domain *p2m,
     if ( pte_is_valid(orig_pte) &&
          (!pte_is_valid(*entry) ||
          !mfn_eq(pte_get_mfn(*entry), pte_get_mfn(orig_pte))) )
-        p2m_free_subtree(p2m, orig_pte, level);
+    {
+        struct p2m_pte_ctx tmp_ctx = {
+            .pt_page = mfn_to_page(domain_page_map_to_mfn(table)),
+            .index = offsets[level],
+            .level = level,
+        };
+
+        p2m_free_subtree(p2m, orig_pte, &tmp_ctx);
+    }
 
  out:
     unmap_domain_page(table);
@@ -1153,7 +1301,14 @@ static mfn_t p2m_get_entry(struct p2m_domain *p2m, gfn_t gfn,
     if ( pte_is_valid(entry) )
     {
         if ( t )
-            *t = p2m_get_type(entry);
+        {
+            struct p2m_pte_ctx p2m_pte_ctx = {
+                .pt_page = mfn_to_page(domain_page_map_to_mfn(table)),
+                .index = offsets[level],
+            };
+
+            *t = p2m_get_type(entry, &p2m_pte_ctx);
+        }
 
         mfn = pte_get_mfn(entry);
 
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Mon Oct 20 16:10:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 16:10:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146756.1479147 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAsT0-0001n4-0c; Mon, 20 Oct 2025 16:10:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146756.1479147; Mon, 20 Oct 2025 16:10:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAsSz-0001mx-TZ; Mon, 20 Oct 2025 16:10:37 +0000
Received: by outflank-mailman (input) for mailman id 1146756;
 Mon, 20 Oct 2025 16:10:36 +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
 <SRS0=Li3P=45=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1vAsHH-0004DQ-52
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 15:58:31 +0000
Received: from mail-ed1-x533.google.com (mail-ed1-x533.google.com
 [2a00:1450:4864:20::533])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9d944734-adcd-11f0-9d15-b5c5bf9af7f9;
 Mon, 20 Oct 2025 17:58:27 +0200 (CEST)
Received: by mail-ed1-x533.google.com with SMTP id
 4fb4d7f45d1cf-63c523864caso5024935a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 20 Oct 2025 08:58:27 -0700 (PDT)
Received: from fedora (user-109-243-146-38.play-internet.pl. [109.243.146.38])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-63c48ab560esm6966067a12.12.2025.10.20.08.58.25
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 20 Oct 2025 08:58:26 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9d944734-adcd-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760975906; x=1761580706; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=9lK/gM70l8B95feEe910Sc4XNkb2hL034DdKe0NvGuM=;
        b=hF2aDSgQ0+YhL2+Oebl6fFkgpVB2xORwIGcMQErPcUogT/9Rcur5FtQJvnvQbRV/uU
         1ZP0lDb6xj9epigZII+5OzOxD7MYq4145eP/tLHRaqKrUXkfvscYphloQiKn3HLtPMS0
         AP6izIwviSbVMQifkmfWx6baRrCoH6BcShaUor7pK2bwaADH4vlPqabZkUdV8Qe3dLE6
         wSpZPO0rUjtYr/euB/diirt4Y4GOx3KndtA2OOrUmtH9LLnzpwfSw0TOYOAhyogVVWn1
         JG1c/kRt29ycXiY78Uvtjs0e0F/WNlDU4YOLpGHfoFshZON+nsVNw9sAlOl8PG6jhX45
         G14g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760975906; x=1761580706;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=9lK/gM70l8B95feEe910Sc4XNkb2hL034DdKe0NvGuM=;
        b=WMZ2zDbUMdGJLlVmTRlZ6E0i2bCfPQ5Q6mFAv+R4cIb5DrllW757MbcLsZQ4EmnScS
         bPsacHBGlzpv5EVtqUxv6Sz5srj97Jk3czhr9vrgngad4ZEQvUazoO0Y8Qt+6A+D48ko
         t514qehE54mDWRHU0/xT++8ectHGiHmDRVNwcQFsP9IkFU9QJSaiX8A2YzTa36guMkn7
         P8yq2ONpTXbL7sMyxn3UWy2HcRcweT4zt9ULDS3tJj6c8TzlchoHIdTlmZ9Z5vSlw5Nt
         bI/JWx9BZJ1UYyP6TdAJW9QnklBHc/ATz/xJqGHXhaml1d1mWKYImKhteNALC2/0vaAh
         YknA==
X-Gm-Message-State: AOJu0Yyn2PPGzg67vS50tgHOiOEWdOXqquzI1u5FbZh2XcC2W6/+/HmC
	EUeN7RaP+vwAyn1ipIoJm0GuxBbprD/ivgY4Il9ZirwWWFPRToxCxY3jVdN3Ig==
X-Gm-Gg: ASbGncvSkWqsAl+trkdL8U0bfoe1c+5aFxYo52sBLzN7Cplj+7amAXA8NlckLY2Q7oc
	QIt4++K3vOiDVbdDHoS4au4Os0gLeK4/zVRpSyoOSf/Tfr56YXV388NfEkRMKZW6Kq0rTYwpwwZ
	GkwLdhKICyXMZKUMKmJP1GOL9tk/Wfvs3+lxU1grN4fj5+MpyUriGgEwGTiU0UQM+Rb0lIE9vkV
	PBcdrN/ozZDnhmytoEt8KlbnRHpct5utiw5M12MR3V8mY1wGD9yhW5dnIVhKszb4X9I+EEfUrdz
	nQVU+BSsbXkwd1Gv/Spy0SF4f0UNc9x1YbhqzHxRhoiGjeYz8OKnF50PCZaeCXpc4z4cyq/qGo0
	EbvEf9g/S/pkbYp8heNRmtB8CsOtQzP+qrlHYdT30HsnyD1ivS8OOP9rDHzO2sOVjp/CFsfQQvG
	A28rikeccnZIqMZ0kh3UlIwfnNdvO8aQGKHz3WtCeYGL5a+b3L8dduBWMcq5ipSW5Nlmq2
X-Google-Smtp-Source: AGHT+IGMqGbsWLlJZuz66hkF8AYzDXsIRAAUCAzeiHaMP4/MfYq17MGblBDlDsbsdm7Ixm8oaUMAUw==
X-Received: by 2002:a05:6402:2707:b0:63c:4d42:993f with SMTP id 4fb4d7f45d1cf-63c4d429acfmr8313933a12.3.1760975906476;
        Mon, 20 Oct 2025 08:58:26 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [for 4.22 v5 16/18] xen/riscv: implement mfn_valid() and page reference, ownership handling helpers
Date: Mon, 20 Oct 2025 17:57:59 +0200
Message-ID: <32618e3dbffea2bc7705ba67ede0f781eee783e7.1760974017.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <cover.1760974017.git.oleksii.kurochko@gmail.com>
References: <cover.1760974017.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Implement the mfn_valid() macro to verify whether a given MFN is valid by
checking that it falls within the range [start_page, max_page).
These bounds are initialized based on the start and end addresses of RAM.

As part of this patch, start_page is introduced and initialized with the
PFN of the first RAM page.
Also, initialize pdx_group_valid() by calling set_pdx_range() when
memory banks are being mapped.

Also, after providing a non-stub implementation of the mfn_valid() macro,
the following compilation errors started to occur:
  riscv64-linux-gnu-ld: prelink.o: in function `alloc_heap_pages':
  /build/xen/common/page_alloc.c:1054: undefined reference to `page_is_offlinable'
  riscv64-linux-gnu-ld: /build/xen/common/page_alloc.c:1035: undefined reference to `page_is_offlinable'
  riscv64-linux-gnu-ld: prelink.o: in function `reserve_offlined_page':
  /build/xen/common/page_alloc.c:1151: undefined reference to `page_is_offlinable'
  riscv64-linux-gnu-ld: ./.xen-syms.0: hidden symbol `page_is_offlinable' isn't defined
  riscv64-linux-gnu-ld: final link failed: bad value
  make[2]: *** [arch/riscv/Makefile:28: xen-syms] Error 1

To resolve these errors, the following functions have also been introduced,
based on their Arm counterparts:
- page_get_owner_and_reference() and its variant to safely acquire a
  reference to a page and retrieve its owner.
- Implement page_is_offlinable() to return false for RISC-V.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V5:
- Move declaration/defintion of page_is_offlinale() before put_page() to have
  get_ and put_ functions together.
- Correct code style of do-while loop.
- Add Acked-by: Jan Beulich <jbeulich@suse.com>.
---
Changes in V4:
 - Rebase the patch on top of patch series "[PATCH v2 0/2] constrain page_is_ram_type() to x86".
 - Add implementation of page_is_offlinable() instead of page_is_ram().
 - Update the commit message.
---
Changes in V3:
 - Update defintion of mfn_valid().
 - Use __ro_after_init for variable start_page.
 - Drop ASSERT_UNREACHABLE() in page_get_owner_and_nr_reference().
 - Update the comment inside do/while in page_get_owner_and_nr_reference().
 - Define _PGC_static and drop "#ifdef CONFIG_STATIC_MEMORY" in put_page_nr().
 - Initialize pdx_group_valid() by calling set_pdx_range() when memory banks are mapped.
 - Drop page_get_owner_and_nr_reference() and implement page_get_owner_and_reference()
   without reusing of a page_get_owner_and_nr_reference() to avoid potential dead code.
 - Move defintion of get_page() to "xen/riscv: add support of page lookup by GFN", where
   it is really used.
---
Changes in V2:
 - New patch.
---
 xen/arch/riscv/include/asm/mm.h |  9 +++++++--
 xen/arch/riscv/mm.c             | 32 ++++++++++++++++++++++++++++++++
 2 files changed, 39 insertions(+), 2 deletions(-)

diff --git a/xen/arch/riscv/include/asm/mm.h b/xen/arch/riscv/include/asm/mm.h
index 0503c92e6c..1b16809749 100644
--- a/xen/arch/riscv/include/asm/mm.h
+++ b/xen/arch/riscv/include/asm/mm.h
@@ -5,6 +5,7 @@
 
 #include <public/xen.h>
 #include <xen/bug.h>
+#include <xen/compiler.h>
 #include <xen/const.h>
 #include <xen/mm-frame.h>
 #include <xen/pdx.h>
@@ -300,8 +301,12 @@ static inline bool arch_mfns_in_directmap(unsigned long mfn, unsigned long nr)
 #define page_get_owner(p)    (p)->v.inuse.domain
 #define page_set_owner(p, d) ((p)->v.inuse.domain = (d))
 
-/* TODO: implement */
-#define mfn_valid(mfn) ({ (void)(mfn); 0; })
+extern unsigned long start_page;
+
+#define mfn_valid(mfn) ({                                               \
+    unsigned long tmp_mfn = mfn_x(mfn);                                 \
+    likely((tmp_mfn >= start_page)) && likely(__mfn_valid(tmp_mfn));    \
+})
 
 #define domain_set_alloc_bitsize(d) ((void)(d))
 #define domain_clamp_alloc_bitsize(d, b) ((void)(d), (b))
diff --git a/xen/arch/riscv/mm.c b/xen/arch/riscv/mm.c
index 2e42293986..e25f995b72 100644
--- a/xen/arch/riscv/mm.c
+++ b/xen/arch/riscv/mm.c
@@ -521,6 +521,8 @@ static void __init setup_directmap_mappings(unsigned long base_mfn,
 #error setup_{directmap,frametable}_mapping() should be implemented for RV_32
 #endif
 
+unsigned long __ro_after_init start_page;
+
 /*
  * Setup memory management
  *
@@ -570,9 +572,13 @@ void __init setup_mm(void)
         ram_end = max(ram_end, bank_end);
 
         setup_directmap_mappings(PFN_DOWN(bank_start), PFN_DOWN(bank_size));
+
+        set_pdx_range(paddr_to_pfn(bank_start), paddr_to_pfn(bank_end));
     }
 
     setup_frametable_mappings(ram_start, ram_end);
+
+    start_page = PFN_DOWN(ram_start);
     max_page = PFN_DOWN(ram_end);
 }
 
@@ -623,6 +629,11 @@ void flush_page_to_ram(unsigned long mfn, bool sync_icache)
         invalidate_icache();
 }
 
+bool page_is_offlinable(mfn_t mfn)
+{
+    return false;
+}
+
 void put_page(struct page_info *page)
 {
     unsigned long nx, x, y = page->count_info;
@@ -641,3 +652,24 @@ void put_page(struct page_info *page)
             free_domheap_page(page);
     }
 }
+
+struct domain *page_get_owner_and_reference(struct page_info *page)
+{
+    unsigned long x, y = page->count_info;
+    struct domain *owner;
+
+    do {
+        x = y;
+        /*
+         * Count ==  0: Page is not allocated, so we cannot take a reference.
+         * Count == -1: Reference count would wrap, which is invalid.
+         */
+        if ( unlikely(((x + 1) & PGC_count_mask) <= 1) )
+            return NULL;
+    } while ( (y = cmpxchg(&page->count_info, x, x + 1)) != x );
+
+    owner = page_get_owner(page);
+    ASSERT(owner);
+
+    return owner;
+}
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Mon Oct 20 16:23:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 16:23:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146795.1479157 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAsf6-0004Rv-9B; Mon, 20 Oct 2025 16:23:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146795.1479157; Mon, 20 Oct 2025 16:23:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAsf6-0004Ro-6M; Mon, 20 Oct 2025 16:23:08 +0000
Received: by outflank-mailman (input) for mailman id 1146795;
 Mon, 20 Oct 2025 16:23:07 +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
 <SRS0=abR8=45=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1vAsf5-0004Ri-EZ
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 16:23:07 +0000
Received: from SJ2PR03CU001.outbound.protection.outlook.com
 (mail-westusazlp170120002.outbound.protection.outlook.com
 [2a01:111:f403:c001::2])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0bdf0499-add1-11f0-980a-7dc792cee155;
 Mon, 20 Oct 2025 18:23:02 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by DS0PR03MB7751.namprd03.prod.outlook.com (2603:10b6:8:200::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.16; Mon, 20 Oct
 2025 16:22:58 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9228.016; Mon, 20 Oct 2025
 16:22:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0bdf0499-add1-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=y6c6wJ5dvo8zZhWdHadsGAzmDOgW7J536ty8prd2x+ekBR8Yh9LNsHgRbv8CAX+f55Az1ARdb8zq+cynnqMVQiTVe7QBfMeJMF7KD1A0rR7lbyeMCOxpZSgOW+bnP50coUvF7cjmLNzVdqpjbtzu2STsW5kchvi67cj+0uf3tlg6pQlkvRI0ly07ynfJIwoPrFRazpKexqQRWnbV/gx7/XsUdynNNAGcbU+kflN5N2zK3Iw7x/avNcAQkPe46kvRBIG6iwV9qkK0CYzzN6kHYQqRvDyzgLf4OadvfwvIj2OrH9otlCaPXcPEWUi8bXfCjlhXHGysyTaL5cub3cg69Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LGQqv0Z3o1On+lcdHUw9WFunRhrZNO3XruIGeFNi6Y0=;
 b=fZEwkjb8/nNVTFyxfzuQP59xr3lhYA8EHdT0p7l94k3yzighV4g/PQqle6pJsQo5HLCN8R5vm7jYH//W1oJNQ5IzK+2Ft3tpu/ZkuX/Yaqr2YnDt7siQbFWLZqH3QdUyos8s9TBy+KgJZIHLiIikFtrD6RclM/IWg/efX7MDthJuaLtw6NpMMrx2w+FYMw4zPDg6YvnM3i3li8k8PogH+TYvh/Rc671KPTx0+YteFJLKMi7UoUWdZMn8OikVxnr+KwIM2z7Dw6WbHnthmQD9q7i8AD9maIowikwuq8EZ6TLFJ8dr5S8NnoLQ/NdFt4IsXDtscYnSA8hRcVUTPA1pXw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LGQqv0Z3o1On+lcdHUw9WFunRhrZNO3XruIGeFNi6Y0=;
 b=gKHVETTip6oRz2OFU4QDcckB8ZbvQo1FXGOA8sLNdy7y5/ruONWGo0BQlexng2VndGIY2TMmPqPXr66SFl+QyEnZsv9z4xxm6JW1tFtPXDsIJUPzTtnplUw1/K1bFJtJpdd3hgowAilKQo2P7ZJyOVgoJUYJnKMW+XKc8+/mvdQ=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Mon, 20 Oct 2025 17:22:53 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH v2 for-4.21 2/9] x86/HPET: use single, global,
 low-priority vector for broadcast IRQ
Message-ID: <aPZh3Y8W4QcV_oLs@Mac.lan>
References: <b66ea488-2d47-472c-9520-8590fdf89e0e@suse.com>
 <c8c124c4-71c5-41e7-8d84-fd45ffd6af14@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <c8c124c4-71c5-41e7-8d84-fd45ffd6af14@suse.com>
X-ClientProxiedBy: PAZP264CA0009.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:102:21::14) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|DS0PR03MB7751:EE_
X-MS-Office365-Filtering-Correlation-Id: c8731763-6bb3-4d32-d500-08de0ff4ee22
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?bis2a1poSHFPQnlKZHF6bktlUXZNWEtPR1pIS2lwUk9HUVQwNDN0aURlcE1v?=
 =?utf-8?B?Z2hJWWoxTTZ0SHlEemROTWJpb0dGeXloOVMxb1VuSWpUNDc1OCtQTW1xbEFk?=
 =?utf-8?B?Yk96WEN0MDJzQU52dzVkRUtETnBXQU1WR1dJcVFPOW85a3h4ZTkxUitPa0lU?=
 =?utf-8?B?bjJnaHdMcTRyMC9Bb0RsZjd1ejdFcEgxSDIxUEJtcG1JR0RoTTd5UVVIZUFN?=
 =?utf-8?B?TFQ4aGJLR2xWeXQzWC9nd3J2UUF4UlB1NUVhUzJ0SHBmZ1U5eUFLSDNCVnEw?=
 =?utf-8?B?TXhZUHp3YXY2VU8vL3JlYk05NmRzV3h1bitvWkh3NjRoNkZyc3NMM3VUeldI?=
 =?utf-8?B?Nm1BVW9oV2JoQ25hL1g5Ui82b2RTdmhZWEpWSEl5ZDZxMWpYVzBrZXJFQm9w?=
 =?utf-8?B?ZWtvdlk3STNBM3A3MnBBYmdTbUdwT2VONUZQQ2xjN291QUZJcC8rdlU3UU9i?=
 =?utf-8?B?c1JFM05ONjMvR3hmamtka0JKSU5zNG1nN1FjOUNDbjBNWkZCUm0zVjBjUE9X?=
 =?utf-8?B?Wng2ZlV1aXBQb2NLZUc3TlFON0lIaERoMDc4STVSb1c5YzJVUWZ6bzFUMW9w?=
 =?utf-8?B?a25idWd4bitsWHMwUXJwTUNOc0FJVkZYWFcyMnhJeUU3Yk9nUURZbEkwTEUz?=
 =?utf-8?B?MTVyNDhYcFFacXVHUkd4L0ZhRHVpYWFxUVRCTXVFcWFlWVora21NSWhrQi9y?=
 =?utf-8?B?QjFaZ29XbjFMd1QvUG1qcGgxS1ByaHkrdDF5UFVEV2FSMlNjWkpqS2VuYmha?=
 =?utf-8?B?UmozSVZFQVRSa0RzS05UbXliMXNnbmZnQkhraFZId1JaSE1SdFl2anBWaTVV?=
 =?utf-8?B?YTBTQUpyRktpbmZUY2sxR2hFUm9ESFNaazRnTC9PYS93aDI2UjMzM2YyOFlK?=
 =?utf-8?B?TVZ1aU9LT090SkoycmdaNFppL2R2UWs2Q0tDWVB3bDVYM0pxNmJsK3c3LzMy?=
 =?utf-8?B?RnZHTXNhUm5ybkY3b3ZvdFdEcWdZTk1OQlVIUHpvZHFyQW0yRUhjQm1YZjcv?=
 =?utf-8?B?UG56dndzQ3pVUVlzMGJPd0hNTXEyTnFRU2l5Q1ZUMlFZZWE4ZEVhZ2hFakti?=
 =?utf-8?B?RVQzbHVEMDQ4V1UvTUw1QW1RWHMyOW5BemdLVUtOY3BIQVBIOTY2bGJRdnV2?=
 =?utf-8?B?NWEzdENKY2JjZTBZMDRJOVZjb0Z4ZEVkaksvODJ5YVZjK3VqY3RhakVnYjhQ?=
 =?utf-8?B?TUlLSDNmcHpCdWEzUlBoQTBHdHBha0k4N3VOZ2VwWGNYY3ZDMGpXSEVkdFgx?=
 =?utf-8?B?U0ZFVU9uajRDUGgvOCsyUmVYU1F6MlJkRkF2azh5OEV4aW53MjdiTEVQaE5Q?=
 =?utf-8?B?RlNrV3pnWHAyR0RtTlFURDhiM0JqTXA1NmZpVHlLYkhSYU0vNkNadWJNczlL?=
 =?utf-8?B?KzBuUkpPbnZUTVFLMmowVkk0dDZXUDkxeFpZajJxUWt2dlZXRUlpRktKZ2Ur?=
 =?utf-8?B?c2plVjBmbEdPdHRIcmRGVjI4MHhlamQ1RVg4bW8yOEg0dWtLbWZZeEd4bHph?=
 =?utf-8?B?R3EzU0NuV2xKaVdwdG1BV3JSem5UaE9ibEdha1BCcUVFclRmcHNGeWg1UXRG?=
 =?utf-8?B?TkxURkczbC9WYklsL0d3MEhIYUdhenFkNTV3d3ZVS0xoZW1QY3gxOGxiaG14?=
 =?utf-8?B?ZDlsODdkemNnMDk2d1FVQXBEZ0VadzdJTGMwMXlQUCtXcklndHNEcGNpQTZn?=
 =?utf-8?B?STJvQ3ArUDhqc2xNU092cWk3L29hZDBQZHZ4cm9mS3owZFhOblJYQjdxN1ph?=
 =?utf-8?B?c0Q4c2ZkbU9LN2licEhDR0YrYlJUaG5UZ0Nmd3huNTN2OXBWVmxLWDk5Sk9s?=
 =?utf-8?B?OHJiT3ErbUpKRzh4UzF0WXhXQkhwcjZYcWFZUThwTkVkek8rTGZkQ3ZiYXZ6?=
 =?utf-8?B?Vko1NG5BcGRmdjFiV0VSeFhDVHdkOXlHUUVtOHJaQzdjeEU1WkdoUXIvaWNw?=
 =?utf-8?B?SmRDVFRvSU1ydytTOVR0WXpMM3RmelpUQ09VTkl2N0RwcTVzNjdZdEZLUnlQ?=
 =?utf-8?B?eHQ3TEJoNHdRPT0=?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dmxiM1lndHR5TGVFWjkvRE5EeE13NlVQK0xDL3ZqTXZNcEtlN0ZLQldxcVNC?=
 =?utf-8?B?a0hldWJUVk1BL3N6eU5uUU1HL1JuZUFDY3AxWFoyOU4yZ3I2cUxnKy9OblhJ?=
 =?utf-8?B?VERGenpTcXhKS1AzOWZaY292aER4a3RTdVViSnJ0WG1JWGdMc0pDcVhHbWsz?=
 =?utf-8?B?Y2N0Z0pQS3U0MzNxdGpzTThXVXpWRmEyWnBIZHdRME5jYkFIb3d0Wk5yckJU?=
 =?utf-8?B?aHdYVU9ja3E1U0c3UmVtVEdDVU5WUllRZmt1R2h0TTZNUnoyWW9xQzkzNC90?=
 =?utf-8?B?MU82VkNTT3VDeVZ0bXU0ZDc4OSthTEVOR3hUU1NtOWcvS0hUQk9qV2QxVURC?=
 =?utf-8?B?L3Y4UWVzcmRtU2p1SldoT2RFQ09QY25DMzNpTERLUStkeElVWEZ0eVlFRUFB?=
 =?utf-8?B?YzVteUZpNm1tamVHc3RmSDZDVWNuRlh4Rjh4MFBTZGhuaThRUndVZHVqeGc0?=
 =?utf-8?B?NDFXd21VUlRRQ0czVi81NmhiYk1KSVFoYWpJTmZxaWd1c20zaXB1bUwvMlJ6?=
 =?utf-8?B?OXUvbnowTEozTkxydFVMM004UGZKYi9oa3ZESDhhNUlBeDRxdWcrYnN6TmpB?=
 =?utf-8?B?eXdjY0VJTm1xUi9Ja3ZJb0RSUWx1SjVGVnpGV0J0RURTVFNqZ1ZCVXFyMUQ3?=
 =?utf-8?B?T3haTWxXK3crenNXN3l2ZVRrY0NJVG11dkQvSmdZSjMzM0VJd1RtZmk2cEdD?=
 =?utf-8?B?YmhLWmVsV3dCUG5qSzhWUkQ2YkpMNU41Y09lcUJGRFhPa2NQZmNVNFpTNUFT?=
 =?utf-8?B?emZNamZ2SDdscUo3RW1HbmtKRjQzYWxkRGdLMWhYdDJ4SWFZMmthUkt3ZEZM?=
 =?utf-8?B?NmY2UFNmODlRcHZLdzdNRm5FZ01oVlhPSGR6WDZwV3VhbkhiRWV5K0FYNjFC?=
 =?utf-8?B?cWNzdFdwVk50WFJsdEdFUUxzenA4dlRiLzNmcHJDdkd2dW11WFpFRi9oaG1W?=
 =?utf-8?B?ZCtLTnkzS1ZZUUMrUFN3TldIT0x6OGJNNG40YUI1SzlIMWt6dzZtS0VjSCtw?=
 =?utf-8?B?OW44L0VKWUpEb3B1N2xNS2p1TE1oVWE4ZTdQU2VVMWVqdlpEeEhZMlJ3OHcv?=
 =?utf-8?B?amNjY25VbmtKV0FBQjNKMXVKSGpLQ0RWb01QL1o1V015MlFMcy9QQlNoU21N?=
 =?utf-8?B?RmxFekwyTFZPazRiYm1NZ2wway9UYzk1QW1TbjJ1QjBCMVBKcDNuNjltU3Nz?=
 =?utf-8?B?SUF0SG0xUDV2ZlhFWTdSSDV3aWs5ZUI0QlRDTi9sVys2c2wzQnZrbFY1VXZI?=
 =?utf-8?B?TXNWc2NmZ2E5ellHV3M2VFZTTkF5ZklPVlNZNFFtZzFnU1FCcnpBVjdrNXYy?=
 =?utf-8?B?U1NFUytqY0VqRW44aiswUTRydzBtNy93cW9sMWpXZFYzd2s1Zit4TjlxNStj?=
 =?utf-8?B?QStjaXd1WVRRYm1uSVh1Q2Z5V3Q3ZTB2eWJndWt4N1Z3d1VGbHpFREQ3b0ZB?=
 =?utf-8?B?SHhtN0oxMjBmSTJySzJLVVJSWHlLckpGQ3FyNWZGYnEyNVBQSFF3UmNiS3Ro?=
 =?utf-8?B?U2QxbXliK3JxTmxPSnNCd3hPZkJ3MEVEMTFGUXlHWGZFSUluUCtJcUpENmV5?=
 =?utf-8?B?UXpLY3M5QlR1YWc3Tml0cDhDVys5N1Y4TTdaNTA3bzBmMmZub0VmdEFNc2Rz?=
 =?utf-8?B?aHdaR20vYkRHUzE2Q2tyekE1aTFOMnQrQXlRV3loaTZGeHR1ZzVLek1Hc0lk?=
 =?utf-8?B?RGsrWWhXTG9TN1RzYXlPUlkyWEJIaDFXaGRzWU4yMzJHTW5FSFE1d2dxaS92?=
 =?utf-8?B?YlJqb3MwTFV0a1dsUUdDVGsrZmNERm1Rb1dIQyt0dXBXWHBGeG9MTmtjWE9k?=
 =?utf-8?B?T1NFM2M2OWRSV3F3S1JITC9DWXhDczJ4Wk1UME4yTU4zd1laZXpGNmRyWDVq?=
 =?utf-8?B?dGpHNXhCWVhDTUZKL213ak80eUh3L1NOTWpWOE5QZHpKa1oydEZhcHQ1Z2Jy?=
 =?utf-8?B?ait0M0pqenNYcEMvUUpucnFyaUlZOUllR1ZxOUpBYUVHQ0Vkc1o4azR2TUt4?=
 =?utf-8?B?N2lGRTluZDFSQjEwMmpPaFgwS1dEeDBIS2UvYVV6WHUvcUgwc2VzZDZualZL?=
 =?utf-8?B?Rm83OWJ4VlhmU0h1VEpjT1htT2EvRlNnM1JybHZtb2k1WVJZOFRoNk1IUUda?=
 =?utf-8?Q?80c7PvAm1M+Qz6Qo4dfwwJelx?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c8731763-6bb3-4d32-d500-08de0ff4ee22
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Oct 2025 16:22:58.0939
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ViSOIXY6M/O+4qw4KJVxS133bLew7yuuR9ek6XNTYdeb59CkbLfCxPKWhDVQmBIna4f/n2/mIenNEnJ3WF2eYw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR03MB7751

On Mon, Oct 20, 2025 at 01:18:34PM +0200, Jan Beulich wrote:
> Using dynamically allocated / maintained vectors has several downsides:
> - possible nesting of IRQs due to the effects of IRQ migration,
> - reduction of vectors available for devices,
> - IRQs not moving as intended if there's shortage of vectors,
> - higher runtime overhead.
> 
> As the vector also doesn't need to be of any priority (first and foremost
> it really shouldn't be of higher or same priority as the timer IRQ, as
> that raises TIMER_SOFTIRQ anyway), avoid any "ordinary" vectors altogther
> and use a vector from the 0x10...0x1f exception vector space. Exception vs
> interrupt can easily be distinguished by checking for the presence of an
> error code.
> 
> With a fixed vector, less updating is now necessary in
> set_channel_irq_affinity(); in particular channels don't need transiently
> masking anymore, as the necessary update is now atomic. To fully leverage
> this, however, we want to stop using hpet_msi_set_affinity() there. With
> the transient masking dropped, we're no longer at risk of missing events.
> 
> In principle a change to setup_vector_irq() would be necessary, but only
> if we used low-prio vectors as direct-APIC ones. Since the change would be
> at best benign here, it is being omitted.
> 
> Fixes: 996576b965cc ("xen: allow up to 16383 cpus")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> Release-Acked-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>
> ---
> This is an alternative proposal to
> https://lists.xen.org/archives/html/xen-devel/2014-03/msg00399.html.
> 
> Should we keep hpet_msi_set_affinity() at all? We'd better not have the
> generic IRQ subsystem play with our IRQs' affinities ... (If so, this
> likely would want to be a separate patch, though.)

I think that needs to become a no-op, with possibly an ASSERT?  Is it
possibly for dom0 to try to balance this IRQ?  I would think not.

> The hpet_enable_channel() call could in principle be made (effectively)
> conditional, at the price of introducing a check in hpet_enable_channel().
> However, as much as eliminating the masking didn't help with the many
> excess (early) IRQs I'm observing on Intel hardware, doing so doesn't help
> either.

Let's go for the current approach.

> The Fixes: tag indicates where the problem got signficantly worse; in
> principle it was there already before (crashing at perhaps 6 or 7 levels
> of nested IRQs).
> ---
> v2: Re-work set_channel_irq_affinity() intensively. Re-base over the
>     dropping of another patch. Drop setup_vector_irq() change.
> 
> --- a/xen/arch/x86/hpet.c
> +++ b/xen/arch/x86/hpet.c
> @@ -9,17 +9,19 @@
>  #include <xen/timer.h>
>  #include <xen/smp.h>
>  #include <xen/softirq.h>
> +#include <xen/cpuidle.h>
>  #include <xen/irq.h>
>  #include <xen/numa.h>
>  #include <xen/param.h>
>  #include <xen/sched.h>
>  
>  #include <asm/apic.h>
> -#include <asm/fixmap.h>
>  #include <asm/div64.h>
> +#include <asm/fixmap.h>
> +#include <asm/genapic.h>
>  #include <asm/hpet.h>
> +#include <asm/irq-vectors.h>
>  #include <asm/msi.h>
> -#include <xen/cpuidle.h>
>  
>  #define MAX_DELTA_NS MILLISECS(10*1000)
>  #define MIN_DELTA_NS MICROSECS(20)
> @@ -251,10 +253,9 @@ static void cf_check hpet_interrupt_hand
>      ch->event_handler(ch);
>  }
>  
> -static void cf_check hpet_msi_unmask(struct irq_desc *desc)
> +static void hpet_enable_channel(struct hpet_event_channel *ch)
>  {
>      u32 cfg;
> -    struct hpet_event_channel *ch = desc->action->dev_id;
>  
>      cfg = hpet_read32(HPET_Tn_CFG(ch->idx));
>      cfg |= HPET_TN_ENABLE;
> @@ -262,6 +263,11 @@ static void cf_check hpet_msi_unmask(str
>      ch->msi.msi_attrib.host_masked = 0;
>  }
>  
> +static void cf_check hpet_msi_unmask(struct irq_desc *desc)
> +{
> +    hpet_enable_channel(desc->action->dev_id);
> +}
> +
>  static void hpet_disable_channel(struct hpet_event_channel *ch)
>  {
>      u32 cfg;
> @@ -307,15 +313,13 @@ static void cf_check hpet_msi_set_affini
>      struct hpet_event_channel *ch = desc->action->dev_id;
>      struct msi_msg msg = ch->msi.msg;
>  
> -    msg.dest32 = set_desc_affinity(desc, mask);
> -    if ( msg.dest32 == BAD_APICID )
> -        return;
> +    /* This really is only for dump_irqs(). */
> +    cpumask_copy(desc->arch.cpu_mask, mask);
>  
> -    msg.data &= ~MSI_DATA_VECTOR_MASK;
> -    msg.data |= MSI_DATA_VECTOR(desc->arch.vector);
> +    msg.dest32 = cpu_mask_to_apicid(mask);
>      msg.address_lo &= ~MSI_ADDR_DEST_ID_MASK;
>      msg.address_lo |= MSI_ADDR_DEST_ID(msg.dest32);
> -    if ( msg.data != ch->msi.msg.data || msg.dest32 != ch->msi.msg.dest32 )
> +    if ( msg.dest32 != ch->msi.msg.dest32 )
>          hpet_msi_write(ch, &msg);
>  }
>  
> @@ -328,7 +332,7 @@ static hw_irq_controller hpet_msi_type =
>      .shutdown   = hpet_msi_shutdown,
>      .enable	    = hpet_msi_unmask,
>      .disable    = hpet_msi_mask,
> -    .ack        = ack_nonmaskable_msi_irq,
> +    .ack        = irq_actor_none,
>      .end        = end_nonmaskable_irq,
>      .set_affinity   = hpet_msi_set_affinity,
>  };
> @@ -347,6 +351,12 @@ static int __init hpet_setup_msi_irq(str
>      u32 cfg = hpet_read32(HPET_Tn_CFG(ch->idx));
>      irq_desc_t *desc = irq_to_desc(ch->msi.irq);
>  
> +    clear_irq_vector(ch->msi.irq);
> +    ret = bind_irq_vector(ch->msi.irq, HPET_BROADCAST_VECTOR, &cpu_online_map);
> +    if ( ret )
> +        return ret;
> +    cpumask_setall(desc->affinity);
> +
>      if ( iommu_intremap != iommu_intremap_off )
>      {
>          ch->msi.hpet_id = hpet_blockid;
> @@ -476,19 +486,50 @@ static struct hpet_event_channel *hpet_g
>  static void set_channel_irq_affinity(struct hpet_event_channel *ch)
>  {
>      struct irq_desc *desc = irq_to_desc(ch->msi.irq);
> +    struct msi_msg msg = ch->msi.msg;
>  
>      ASSERT(!local_irq_is_enabled());
>      spin_lock(&desc->lock);
> -    hpet_msi_mask(desc);
> -    hpet_msi_set_affinity(desc, cpumask_of(ch->cpu));
> -    hpet_msi_unmask(desc);
> +
> +    per_cpu(vector_irq, ch->cpu)[HPET_BROADCAST_VECTOR] = ch->msi.irq;
> +
> +    /*
> +     * Open-coding a reduced form of hpet_msi_set_affinity() here.  With the
> +     * actual update below (either of the IRTE or of [just] message address;
> +     * with interrupt remapping message address/data don't change) now being
> +     * atomic, we can avoid masking the IRQ around the update.  As a result
> +     * we're no longer at risk of missing IRQs (provided hpet_broadcast_enter()
> +     * keeps setting the new deadline only afterwards).
> +     */
> +    cpumask_copy(desc->arch.cpu_mask, cpumask_of(ch->cpu));
> +
>      spin_unlock(&desc->lock);
>  
> -    spin_unlock(&ch->lock);
> +    msg.dest32 = cpu_physical_id(ch->cpu);
> +    msg.address_lo &= ~MSI_ADDR_DEST_ID_MASK;
> +    msg.address_lo |= MSI_ADDR_DEST_ID(msg.dest32);
> +    if ( msg.dest32 != ch->msi.msg.dest32 )
> +    {
> +        ch->msi.msg = msg;
> +
> +        if ( iommu_intremap != iommu_intremap_off )
> +        {
> +            int rc = iommu_update_ire_from_msi(&ch->msi, &msg);
>  
> -    /* We may have missed an interrupt due to the temporary masking. */
> -    if ( ch->event_handler && ch->next_event < NOW() )
> -        ch->event_handler(ch);
> +            ASSERT(rc <= 0);
> +            if ( rc > 0 )
> +            {
> +                ASSERT(msg.data == hpet_read32(HPET_Tn_ROUTE(ch->idx)));
> +                ASSERT(msg.address_lo ==
> +                       hpet_read32(HPET_Tn_ROUTE(ch->idx) + 4));
> +            }

The sequence of asserts seem wrong here, the asserts inside of the rc
> 0 check will never trigger, because there's an ASSERT(rc <= 0)
ahead of them?

> +        }
> +        else
> +            hpet_write32(msg.address_lo, HPET_Tn_ROUTE(ch->idx) + 4);

If you avoid the HPET register update here you possibly need to make
sure that both fields are unconditionally written on the first call
after resume from suspension.  hpet_resume() needs to somehow taint
the channels to signal that a re-write of the address and data fields
is mandatory regardless of what iommu_update_ire_from_msi() has
returned.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Oct 20 16:27:51 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 16:27:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146808.1479168 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAsjd-0006pv-QX; Mon, 20 Oct 2025 16:27:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146808.1479168; Mon, 20 Oct 2025 16:27:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAsjd-0006pT-NP; Mon, 20 Oct 2025 16:27:49 +0000
Received: by outflank-mailman (input) for mailman id 1146808;
 Mon, 20 Oct 2025 16:27:48 +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
 <SRS0=Y5of=45=samsung.com=m.szyprowski@srs-se1.protection.inumbo.net>)
 id 1vAsja-0006o6-Va
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 16:27:48 +0000
Received: from mailout1.w1.samsung.com (mailout1.w1.samsung.com
 [210.118.77.11]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b12a7174-add1-11f0-980a-7dc792cee155;
 Mon, 20 Oct 2025 18:27:39 +0200 (CEST)
Received: from eucas1p1.samsung.com (unknown [182.198.249.206])
 by mailout1.w1.samsung.com (KnoxPortal) with ESMTP id
 20251020162737euoutp01a7ea5ea3a3593576d6931ec88825e51e~wP9lezYs81013510135euoutp01e;
 Mon, 20 Oct 2025 16:27:37 +0000 (GMT)
Received: from eusmtip2.samsung.com (unknown [203.254.199.222]) by
 eucas1p1.samsung.com (KnoxPortal) with ESMTPA id
 20251020162736eucas1p1ef138572570fd17f7ba8cf6e6bc78ba6~wP9lIhm7s0044200442eucas1p1L;
 Mon, 20 Oct 2025 16:27:36 +0000 (GMT)
Received: from [106.210.134.192] (unknown [106.210.134.192]) by
 eusmtip2.samsung.com (KnoxPortal) with ESMTPA id
 20251020162733eusmtip2068f969d861135995e1cd515194afc64~wP9hxNWHW2552125521eusmtip2Y;
 Mon, 20 Oct 2025 16:27:33 +0000 (GMT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b12a7174-add1-11f0-980a-7dc792cee155
DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.w1.samsung.com 20251020162737euoutp01a7ea5ea3a3593576d6931ec88825e51e~wP9lezYs81013510135euoutp01e
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com;
	s=mail20170921; t=1760977657;
	bh=e1+m70MIpIyLz0CgkjVmG+Zs9EMNilUICX9qZOez4wM=;
	h=Date:Subject:To:Cc:From:In-Reply-To:References:From;
	b=KX6ZcktJJB15hpYlnrrgQKN5QMQizY7xdPAAhwp/El6wk7EM1ZJ6O6Pj837PofyJ0
	 migBg+i6L8vxe8bZ5F9hMcPUSOwsRbNZdnHxT7YLQRx589Age6y9jtnUV7j+rxCbcf
	 lscFl8Zw2Bwk6HlnV8xYW2UgmAXjN9fs/Wr5RS2Y=
Message-ID: <4a47088d-6542-45f2-917b-c91f7dd1eb1a@samsung.com>
Date: Mon, 20 Oct 2025 18:27:32 +0200
MIME-Version: 1.0
User-Agent: Betterbird (Windows)
Subject: Re: [PATCH v5 00/14] Remove DMA map_page/map_resource and their
 unmap callbacks
To: Leon Romanovsky <leon@kernel.org>, Robin Murphy <robin.murphy@arm.com>,
	Russell King <linux@armlinux.org.uk>, Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Oleksandr Tyshchenko
	<oleksandr_tyshchenko@epam.com>, Richard Henderson
	<richard.henderson@linaro.org>, Matt Turner <mattst88@gmail.com>, Thomas
	Bogendoerfer <tsbogend@alpha.franken.de>, "James E.J. Bottomley"
	<James.Bottomley@HansenPartnership.com>, Helge Deller <deller@gmx.de>,
	Madhavan Srinivasan <maddy@linux.ibm.com>, Michael Ellerman
	<mpe@ellerman.id.au>, Nicholas Piggin <npiggin@gmail.com>, Christophe Leroy
	<christophe.leroy@csgroup.eu>, Geoff Levand <geoff@infradead.org>, "David S.
 Miller" <davem@davemloft.net>, Andreas Larsson <andreas@gaisler.com>, Thomas
	Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>, Borislav
	Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>
Cc: iommu@lists.linux.dev, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, xen-devel@lists.xenproject.org,
	linux-alpha@vger.kernel.org, linux-mips@vger.kernel.org,
	linux-parisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
	sparclinux@vger.kernel.org, Magnus Lindholm <linmag7@gmail.com>, Jason
	Gunthorpe <jgg@ziepe.ca>
Content-Language: en-US
From: Marek Szyprowski <m.szyprowski@samsung.com>
In-Reply-To: <20251015-remove-map-page-v5-0-3bbfe3a25cdf@kernel.org>
Content-Transfer-Encoding: 7bit
X-CMS-MailID: 20251020162736eucas1p1ef138572570fd17f7ba8cf6e6bc78ba6
X-Msg-Generator: CA
Content-Type: text/plain; charset="utf-8"
X-RootMTR: 20251015091313eucas1p2426ae40b579d7f3b4f29b46e0e788c0d
X-EPHeader: CA
X-CMS-RootMailID: 20251015091313eucas1p2426ae40b579d7f3b4f29b46e0e788c0d
References: <CGME20251015091313eucas1p2426ae40b579d7f3b4f29b46e0e788c0d@eucas1p2.samsung.com>
	<20251015-remove-map-page-v5-0-3bbfe3a25cdf@kernel.org>

Dear All,

On 15.10.2025 11:12, Leon Romanovsky wrote:
> This series is a combination of previous two steps [1, 2] to reduce
> number of accesses to struct page in the code "below" DMA layer.
>
> In this series, the DMA .map_page/.map_resource/.unmap_page/.unmap_resource
> callbacks are converted to newly introduced .map_phys/.unmap_phys interfaces.

I would like to have some acks from respective arch maintainers before 
applying this patchset.

Best regards
-- 
Marek Szyprowski, PhD
Samsung R&D Institute Poland



From xen-devel-bounces@lists.xenproject.org Mon Oct 20 18:01:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Oct 2025 18:01:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146819.1479177 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAuCC-0007ke-6v; Mon, 20 Oct 2025 18:01:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146819.1479177; Mon, 20 Oct 2025 18:01:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vAuCC-0007kX-4D; Mon, 20 Oct 2025 18:01:24 +0000
Received: by outflank-mailman (input) for mailman id 1146819;
 Mon, 20 Oct 2025 18:01:23 +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
 <SRS0=lz8M=45=gmail.com=xakep.amatop@srs-se1.protection.inumbo.net>)
 id 1vAuCB-0007kR-As
 for xen-devel@lists.xenproject.org; Mon, 20 Oct 2025 18:01:23 +0000
Received: from mail-lf1-x134.google.com (mail-lf1-x134.google.com
 [2a00:1450:4864:20::134])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c8c96d14-adde-11f0-9d15-b5c5bf9af7f9;
 Mon, 20 Oct 2025 20:01:21 +0200 (CEST)
Received: by mail-lf1-x134.google.com with SMTP id
 2adb3069b0e04-57ea78e0618so5386170e87.0
 for <xen-devel@lists.xenproject.org>; Mon, 20 Oct 2025 11:01:21 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c8c96d14-adde-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1760983280; x=1761588080; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=j1YLNFjRs0TA+0dHt8vGa7mAWHo1dEa27OGdap+OqmY=;
        b=mFWj3QYhg2251/+xqsfuxKra2BhMrb52ebdn1mozwA5tqxb8iJOxnrgGR/Dhhs1q0z
         mDu9terB0IiJEcM2fH17RFk2xhNzGFar8ntAtXmyVnMktnpdblmVvFCwmwuYawG3u1+y
         wpglki8QrWSOrd0k0fSVE2rLtEfof3S5J3v443IAKWKEbLBEuezU2Zx0ruLZdjKt9tl7
         ekCQ11pIJnWYipVdnT2yTMtcO6Cv9Qx5ykUfPUhjSyf1Uo3h6z0a0TID8aeBbq8BXj3B
         c1VuGoplkM0ip5CIuEOpq5q8q4UfAS9ZwOABVQ7gjJnOIDy5nfakV0Cm8z9iruDPPw+s
         Bd1A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1760983280; x=1761588080;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=j1YLNFjRs0TA+0dHt8vGa7mAWHo1dEa27OGdap+OqmY=;
        b=rVFaBAL+fEVzhlfkhwsUhig07TbKNkbByC1/2Vp8+BSX9z9HC2wSWupuJw+pGuEMJ+
         ODyp28juVrEeqWXqIVJFY0UdgJWkXiKUtSTT/KrrALnVvsSe9tk1D+pTgsqbUXMnrNIU
         9hB11MOkgfuv5oXuKCYgFrft5sfLfaZGV1dYF3aneP8JJ5Mta0o+OEqRuxpVK4SAxNu3
         RGNiAOX4dRtx76sn+YVOHpJhnYFjQz069HLdGSy22ACmvVuTerBTiPzFRqgmq/j1xIFo
         aEr779zJuxs7d0oVmtVdoO+EBFFgUz60gOTt7OyR2eRBYdbNfGrCOz5rUnKbk8HE+/u9
         TGNg==
X-Gm-Message-State: AOJu0YwL1zX1v8mZ+ZmceqTRK7sWCXRezY54/W1IPVpb9k/a3ovAq9TS
	ZydPz8SJmyzir0UQLPbN4z4X7dEM3jH+ag+LcPrb9BGVi/2UX1DscFvQZVtqMzyo/4EbByx6Wfk
	VpMaVP5kAeQ9BUhRkJlE8S6Vlu3E7kec=
X-Gm-Gg: ASbGncvWPDY5rI/JkNA+6dqcqcpw2jCt/6Z1Iqn+nPWp8yIvWAB6TaCK+lI3Hc/K4pi
	+yj/+lCKENAMPScn71myMN12wRczBxgl97kMmUVT2zq/CUAYqIG8kumeofyQsYFOHbQWZdloVjM
	rQoaoS7jcLKLjfTctIVfsjNm7m7F0Jir+Eh21b0jgQTcZHZxrbxmkRxWg00uX5Ol91TkoGe0Z7z
	JS5O6gu9pmtiDhEvs8WAj6QIYSaPW5UQbBEQG0MTfkwgbMdbzPysEOu0IvL88u3As9Y/uQOaUM8
	ssJGYA==
X-Google-Smtp-Source: AGHT+IEKMNZm+sfa9Ln5Pe7VvNXiRBWsTRIFeil/C1huChu9kT/JEI7aJYKcqgpWni9Nfx1cSjdaaYvz9OxSpZ0P9Dw=
X-Received: by 2002:ac2:4e0c:0:b0:590:7b29:77c8 with SMTP id
 2adb3069b0e04-591d854a485mr5190959e87.17.1760983280274; Mon, 20 Oct 2025
 11:01:20 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1760083684.git.mykyta_poturai@epam.com> <CAGeoDV-=ON+WSvCQnjaa9zU_74RuFHXrqa5+p8dAjM9fxpomxw@mail.gmail.com>
 <2728d969-06fa-4f35-95a1-a79dd441242f@epam.com>
In-Reply-To: <2728d969-06fa-4f35-95a1-a79dd441242f@epam.com>
From: Mykola Kvach <xakep.amatop@gmail.com>
Date: Mon, 20 Oct 2025 21:00:00 +0300
X-Gm-Features: AS18NWAWedoCY2fOqxC0274T6O3iVZAsv7fgmMCKHw7WVys9SirOjd30rbAg84E
Message-ID: <CAGeoDV-0VVDzR-+OkK0y+_=xs-dzZnc2ZcQSs7DTUVOJn72QLA@mail.gmail.com>
Subject: Re: [PATCH v3 0/5] Implement CPU hotplug on Arm
To: Mykyta Poturai <Mykyta_Poturai@epam.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
	Bertrand Marquis <bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, 
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
	"Daniel P. Smith" <dpsmith@apertussolutions.com>, Anthony PERARD <anthony.perard@vates.tech>, 
	Juergen Gross <jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
	Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Mykyta,

Thank you for your answers

On Mon, Oct 20, 2025 at 5:15=E2=80=AFPM Mykyta Poturai <Mykyta_Poturai@epam=
.com> wrote:
>
> On 15.10.25 20:30, Mykola Kvach wrote:
> > Hi Mykyta,
> >
> > Thanks for the series.
> >
> > It seems there might be issues here -- please take a look and let me
> > know if my concerns are valid:
> >
> > 1. FF-A notification IRQ: after a CPU down->up cycle the IRQ
> > configuration may be lost.
>
> OPTEE and FFA are marked as unsupported.

Understood, thanks. Would it be worth documenting this?

>
> > 2. GICv3 LPIs: a CPU may fail to come back up unless its LPI pending
> > table exists (is allocated) on bring-up. See
> > gicv3_lpi_allocate_pendtable() and its call chain.
>
> ITS is marked as unsupported. I have a plan to deal with this, but it is
> out of scope of this series.

Thanks for the clarification. Should we document this somewhere?

>
> > 3. IRQ migration on CPU down: if an IRQ targets a CPU being offlined,
> > its affinity should be moved to an online CPU before completing the
> > offlining.
>
> All guest tied IRQ migration is handled by the scheduler. Regarding the
> irqs used by Xen, I didn't find any with affinity to other CPUs than CPU
> 0, which can't be disabled. I think theoretically it is possible for
> them to have different affinity, but it seems unlikely considering that
> x86 hotplug code also doesn't seem to do any Xen irq migration AFAIU.

What about arm_smmu_init_domain_context and its related call chains?
As far as I can see, some of these paths touch XEN_DOMCTL_* hypercalls,
and my understanding is they can be issued on any CPU. Should we add a
check that no enabled (e)SPIs owned by Xen are pinned to the offlining
CPU?

>
> > 4. Race between the new hypercalls and disable/enable_nonboot_cpus():
> > disable_nonboot_cpus is called, enable_nonboot_cpus() reads
> > frozen_cpus, and before it calls cpu_up() a hypercall onlines the CPU.
> > cpu_up() then fails as "already online", but the CPU_RESUME_FAILED
> > path may still run for an already-online CPU, risking use-after-free
> > of per-CPU state (e.g. via free_percpu_area()) and other issues
> > related to CPU_RESUME_FAILED notification.
> >
>
> There don't seem to be any calls to disable/enable_nonboot_cpus() on
> Arm. If we take x86 as an example, then they are called with all domains
> already paused, and I don't see how paused domains can issue hypercalls.

Agreed; this looks even less likely given that disable_* runs on CPU0 and
your new hypercalls execute on CPU0. The only plausible issue would be a
contrived case where code disables non-boot CPUs from CPU0 but enables them
from another CPU woken by a hypercall. That seems unrealistic.

>
> >
> > Best regards,
> > Mykola
>
> --
> Mykyta

Best regards,
Mykola


From xen-devel-bounces@lists.xenproject.org Tue Oct 21 06:42:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Oct 2025 06:42:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146852.1479203 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vB64Y-0002Bf-2s; Tue, 21 Oct 2025 06:42:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146852.1479203; Tue, 21 Oct 2025 06:42:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vB64X-0002BX-SX; Tue, 21 Oct 2025 06:42:17 +0000
Received: by outflank-mailman (input) for mailman id 1146852;
 Tue, 21 Oct 2025 06:42:17 +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 <SRS0=9TpK=46=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vB64W-0002BR-Ve
 for xen-devel@lists.xenproject.org; Tue, 21 Oct 2025 06:42:17 +0000
Received: from mail-wm1-x334.google.com (mail-wm1-x334.google.com
 [2a00:1450:4864:20::334])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 14c9733e-ae49-11f0-9d15-b5c5bf9af7f9;
 Tue, 21 Oct 2025 08:42:15 +0200 (CEST)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-47112a73785so39098115e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 20 Oct 2025 23:42:15 -0700 (PDT)
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-471144c82b8sm266431825e9.15.2025.10.20.23.42.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 20 Oct 2025 23:42:14 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 14c9733e-ae49-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761028935; x=1761633735; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=1R4fWVqOsFGpSYag2la9O7ZCyPs8UBS+bf4VqA6zqOk=;
        b=RtplIlbBU3zRBjw/YdQx1SNOjAq2jE77qeH9soHdq8CU1oJZm4zt/pPwLE9GZFnXdl
         GyazwinDB4l1pCpijZSCuoLiAhRYXpPa5fzMWVVxcsQQKXIVV+5AuIG1lTaWxY9uVcHD
         UuMC52GYWzIUaB3B2YLLhUZeri5AgEOvK0f8meHRnpAq30UNb2shhPDjU5onaMxfwOUK
         gqFsSAJ89gc2ChXjHguUZyo+zgb/mmHzF4gUctoJUAcNNkBDUe049sk0IM2y0dWStFqO
         bNewVQ6NmAgCakLgL6FAB+WNw2uxzCq+hlw+VLDJljwMxgkBPKI7gFWe1BaL8TNUbzEs
         P+xw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761028935; x=1761633735;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=1R4fWVqOsFGpSYag2la9O7ZCyPs8UBS+bf4VqA6zqOk=;
        b=O/FBhzDR7zJWm3NXf9puEvo1wW4Tw3IjK+uX8v+I8wIeZ7EejEvSWAGvAlFAqGU1cN
         tqZuomvcCtjGtBAzGaDvHnelHD2PGdFGuYtru+IZUmIlwUwU38m+S0YkMlY5bZa//9uJ
         flwE/3Ete7CqqjIUkzGLdV41NccxoCqt2XtwqmNM9bVMXsIt6jdx1yaHoPQKXQx1Yby+
         V8apxKIyTvJI3VPlN+w6Ke5qHUsLz30xOqZZifqFpBe2XHjunfu/4D+YrVgYYzE1O4O+
         VUchmFFWuXLUvA8qubXUESCDZNzmVYm9GRoLqEIZ6yCuYTsL3yBl1ocy/8QkV3lQUzCn
         c05A==
X-Gm-Message-State: AOJu0YxzZlVEaRibcBImVtcTsBUgbbYXlVADp39vgUqLCxUCzSVqFnZh
	pf17LskphOlmJQfqFRbY4gZigXBNxImwaS6NCKP9J3913Qx5HCSlfVCw96V76yzG7g==
X-Gm-Gg: ASbGncslkZ7+JJNq3RAIFZO1ea7X0Qsraavc0MsguBTeTf50rVKheqy4jUsP5wO/g2J
	HCPN7TOzHpvcEg7+JFW1iRmQv2v5IUHQAm3Z3Kp2VjGFcy5MHvFY9plZavmNi599rt3XOAaKXk+
	jVxSf7duGe+t+1qJ2GbL3CmoCSXC5p82l98J2F9rDsqrEEjBccRQ7CIdZKG3IbHsBZQPScii7Qb
	urorok3XHfKd74qtipcY5QDx8UBXY0G+S2WwqA5ierCKT5i4DhpOj3/Vdg0KcdtOcxB5pN3bcEm
	KHF1wI3s6L6FdcWpxRMxplLi+qYPTFgJzBQr5BO7wCou7VmR9HDfOeLUHu5vyWPepf7M2HG++Wj
	I8WGNdDJg+yWX7RgWS+VOzwuuhhNqm/DIEMENL/BTIv1I9svvadIy/nnKodM5ZkHTvntcg7PBDR
	tyRXEjtnN8xUAXjT7oR5vrTQ+8kRqDccuMi9ByKmeGieJxIgOWImDXDE+0RLSMWoBnXLrMm/U=
X-Google-Smtp-Source: AGHT+IG5vsDJvLDufxVzviiqldq6Ym6fmrrNqts90rMhobwjJY5oFUVc2nfmJuqw0L+J4MLC9vDaWg==
X-Received: by 2002:a05:600c:5287:b0:46e:6a6a:5cec with SMTP id 5b1f17b1804b1-47117876738mr133422055e9.2.1761028934788;
        Mon, 20 Oct 2025 23:42:14 -0700 (PDT)
Message-ID: <7128bbb5-d099-4584-8cd0-bfeec49b3e55@suse.com>
Date: Tue, 21 Oct 2025 08:42:13 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 for-4.21 2/9] x86/HPET: use single, global,
 low-priority vector for broadcast IRQ
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <b66ea488-2d47-472c-9520-8590fdf89e0e@suse.com>
 <c8c124c4-71c5-41e7-8d84-fd45ffd6af14@suse.com> <aPZh3Y8W4QcV_oLs@Mac.lan>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <aPZh3Y8W4QcV_oLs@Mac.lan>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 20.10.2025 18:22, Roger Pau MonnÃ© wrote:
> On Mon, Oct 20, 2025 at 01:18:34PM +0200, Jan Beulich wrote:
>> Using dynamically allocated / maintained vectors has several downsides:
>> - possible nesting of IRQs due to the effects of IRQ migration,
>> - reduction of vectors available for devices,
>> - IRQs not moving as intended if there's shortage of vectors,
>> - higher runtime overhead.
>>
>> As the vector also doesn't need to be of any priority (first and foremost
>> it really shouldn't be of higher or same priority as the timer IRQ, as
>> that raises TIMER_SOFTIRQ anyway), avoid any "ordinary" vectors altogther
>> and use a vector from the 0x10...0x1f exception vector space. Exception vs
>> interrupt can easily be distinguished by checking for the presence of an
>> error code.
>>
>> With a fixed vector, less updating is now necessary in
>> set_channel_irq_affinity(); in particular channels don't need transiently
>> masking anymore, as the necessary update is now atomic. To fully leverage
>> this, however, we want to stop using hpet_msi_set_affinity() there. With
>> the transient masking dropped, we're no longer at risk of missing events.
>>
>> In principle a change to setup_vector_irq() would be necessary, but only
>> if we used low-prio vectors as direct-APIC ones. Since the change would be
>> at best benign here, it is being omitted.
>>
>> Fixes: 996576b965cc ("xen: allow up to 16383 cpus")
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> Release-Acked-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>
>> ---
>> This is an alternative proposal to
>> https://lists.xen.org/archives/html/xen-devel/2014-03/msg00399.html.
>>
>> Should we keep hpet_msi_set_affinity() at all? We'd better not have the
>> generic IRQ subsystem play with our IRQs' affinities ... (If so, this
>> likely would want to be a separate patch, though.)
> 
> I think that needs to become a no-op, with possibly an ASSERT?  Is it
> possibly for dom0 to try to balance this IRQ?  I would think not.

I'd consider it an error if that was possible. But then the same goes for
other Xen-internal IRQs, like the IOMMU ones. They all implement a
.set_affinity hook ...

>> @@ -476,19 +486,50 @@ static struct hpet_event_channel *hpet_g
>>  static void set_channel_irq_affinity(struct hpet_event_channel *ch)
>>  {
>>      struct irq_desc *desc = irq_to_desc(ch->msi.irq);
>> +    struct msi_msg msg = ch->msi.msg;
>>  
>>      ASSERT(!local_irq_is_enabled());
>>      spin_lock(&desc->lock);
>> -    hpet_msi_mask(desc);
>> -    hpet_msi_set_affinity(desc, cpumask_of(ch->cpu));
>> -    hpet_msi_unmask(desc);
>> +
>> +    per_cpu(vector_irq, ch->cpu)[HPET_BROADCAST_VECTOR] = ch->msi.irq;
>> +
>> +    /*
>> +     * Open-coding a reduced form of hpet_msi_set_affinity() here.  With the
>> +     * actual update below (either of the IRTE or of [just] message address;
>> +     * with interrupt remapping message address/data don't change) now being
>> +     * atomic, we can avoid masking the IRQ around the update.  As a result
>> +     * we're no longer at risk of missing IRQs (provided hpet_broadcast_enter()
>> +     * keeps setting the new deadline only afterwards).
>> +     */
>> +    cpumask_copy(desc->arch.cpu_mask, cpumask_of(ch->cpu));
>> +
>>      spin_unlock(&desc->lock);
>>  
>> -    spin_unlock(&ch->lock);
>> +    msg.dest32 = cpu_physical_id(ch->cpu);
>> +    msg.address_lo &= ~MSI_ADDR_DEST_ID_MASK;
>> +    msg.address_lo |= MSI_ADDR_DEST_ID(msg.dest32);
>> +    if ( msg.dest32 != ch->msi.msg.dest32 )
>> +    {
>> +        ch->msi.msg = msg;
>> +
>> +        if ( iommu_intremap != iommu_intremap_off )
>> +        {
>> +            int rc = iommu_update_ire_from_msi(&ch->msi, &msg);
>>  
>> -    /* We may have missed an interrupt due to the temporary masking. */
>> -    if ( ch->event_handler && ch->next_event < NOW() )
>> -        ch->event_handler(ch);
>> +            ASSERT(rc <= 0);
>> +            if ( rc > 0 )
>> +            {
>> +                ASSERT(msg.data == hpet_read32(HPET_Tn_ROUTE(ch->idx)));
>> +                ASSERT(msg.address_lo ==
>> +                       hpet_read32(HPET_Tn_ROUTE(ch->idx) + 4));
>> +            }
> 
> The sequence of asserts seem wrong here, the asserts inside of the rc
> > 0 check will never trigger, because there's an ASSERT(rc <= 0)
> ahead of them?

Hmm. My way of thinking was that if we get back 1 (which we shouldn't),
we ought to check (and presumably fail on) data or address having changed.
Whereas when we get back 0, we're told "no change" anyway, and hence
checking isn't even needed. Did I misunderstand the purpose of the zero
vs positive return value here?

Of could I could switch to using "rc >= 0" anyway; I actually had it that
way first, but then decided the extra checks would be redundant in the 0
case.

>> +        }
>> +        else
>> +            hpet_write32(msg.address_lo, HPET_Tn_ROUTE(ch->idx) + 4);
> 
> If you avoid the HPET register update here you possibly need to make
> sure that both fields are unconditionally written on the first call
> after resume from suspension.  hpet_resume() needs to somehow taint
> the channels to signal that a re-write of the address and data fields
> is mandatory regardless of what iommu_update_ire_from_msi() has
> returned.

hpet_broadcast_resume() calls __hpet_setup_msi_irq() (and hence
hpet_msi_write()), which I thought is enough?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Oct 21 08:35:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Oct 2025 08:35:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146868.1479213 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vB7pT-0007e9-PS; Tue, 21 Oct 2025 08:34:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146868.1479213; Tue, 21 Oct 2025 08:34:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vB7pT-0007e2-MK; Tue, 21 Oct 2025 08:34:51 +0000
Received: by outflank-mailman (input) for mailman id 1146868;
 Tue, 21 Oct 2025 08:34:50 +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 <SRS0=9TpK=46=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vB7pS-0007dw-DY
 for xen-devel@lists.xenproject.org; Tue, 21 Oct 2025 08:34:50 +0000
Received: from mail-wm1-x331.google.com (mail-wm1-x331.google.com
 [2a00:1450:4864:20::331])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cbe7461e-ae58-11f0-980a-7dc792cee155;
 Tue, 21 Oct 2025 10:34:45 +0200 (CEST)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-4711b95226dso40674965e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 21 Oct 2025 01:34:45 -0700 (PDT)
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-427f009a797sm19171259f8f.27.2025.10.21.01.34.44
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 21 Oct 2025 01:34:44 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cbe7461e-ae58-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761035684; x=1761640484; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=ByRRGw9bHnq4l1+ZsV+7jUmDxAlCkzpoSYUe2E+MR6c=;
        b=Z0cXLI0GzU43SAyhurHkpzz+/j1GjndJZtifEzw2sYc+ibzqY+uhuESqoLieKrxk9A
         4O1Ywmy8sBkiywRZ440BR3+XOhNODMzflFQWCfbF2PdQ1qzZE2CrrlorjqjLmzDVFLe/
         d3jO6u1xF78GeLKwpLqz3jExfvZe9rle9sRj3kpGUlybNwYEjXU+CZo50iIxYAPSXbDS
         jyWCn+uMLUhMa+rnDPmsiAgokbjt7c3iqFonbe00KIrkE9vXDKzJbofZuYOB6iMkRCdm
         oqfMAw6tCVC87M7OcyP+C0mmguE0r0yB9nlnt/X61mTkYYRznJ87voAk1VCv6tj7d+rY
         0cmw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761035684; x=1761640484;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ByRRGw9bHnq4l1+ZsV+7jUmDxAlCkzpoSYUe2E+MR6c=;
        b=seXdJwDSMwerGVz1MejrUrnCKXPGAlCjCjGeu5cqrdrDQt/IENWWMzmwb28kJcOkd/
         pTh6d/dmPR6vxu9JRDl+q81w96y41CtMNvfDgbxwY+ADGfKoiV9I0SV5rPqTyxAh/kQZ
         /AFVgAHAcHXx5zZOhCvcrOf/GvyaveZ9gQEobu4wFZgkfdG0DpUIHeRe7UVV7hQfEh/l
         6GeYaGdNTqkpayfwJBfmqgAimg39HB1x8GbotJvk7BZahRgHrdXt6MhDvv8568R5cfnd
         Q6C3cnnCk4LWknFazQWa5HoO19PQ7yQ/uhVVEHU+VuTx6aSfyBLYN4RmKeibisWgr+hP
         RDRw==
X-Forwarded-Encrypted: i=1; AJvYcCXfPPy8FOG8R24Y40vhzy4ghQ7rXJdGs2+qIf34k5yV85oiAlQFixYJPHPRYVXi3wLaU6tr2qVkCPQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw36ZUhhIbNuAwHjYKDTdMp8M3/FNXJpZQ0nWTpeZcxH1VxD3xu
	tjbGQMSR5gULQpTTC0m8jBBFKmzHPLkT9nKRHpRGFVx7OzujjKcQ0vx3IDts3+ZfcQ==
X-Gm-Gg: ASbGncu9JdwjvkcSiJ3yVA+asSKUv4tbXlIn7FNIcgH1H+rJPB49q54C7N7rZXtGeNa
	Rc2GYFsRUmf60MpgX99/xqKTOqZoeVUoahgPBlJMijBqa6+oaXvRDOjX0+XScwZ4oGvcl2H+U/X
	2j5AwyvErtzXFkvKUg35Vd01ID8VIMSWKF798km/CyB2lyxpVt13pBLLWrnRS3R+nt3IpjXkflK
	6E6i2x89zkql1FF/JjJkLRtnvbERmCJ3ReUEhLC0nCyVurHf3R9MHh4aKfB3D/sK0zgLaHoRGBo
	iYup8Yn4I2u4Yi41i0pMgreNmQe79UvYQ+IZB3aX4VaDGmf5scLkGpY5EQes79tn+i/lqz3da6j
	SCq43r7YlKHcBm9dwuoICZ7MQfRO3IgVciGsjDGb1S1Wpg6Sykzd38XQWQt07hZJkL51tVJ1BJ8
	YB4o8dWThiRQkgudnLZg0OB/dLVGWer8JcwkGfIqGWUm4JMJHfneJFlqhH532EMc+oq7I933w=
X-Google-Smtp-Source: AGHT+IGX6WtL9XA3A/MrrbWjQ63udRkuMIsz5ecHfafRhzgl/X29pBZCOTjs4xvrP3REnTKDFdL6xQ==
X-Received: by 2002:a05:600c:4743:b0:471:ff3:a877 with SMTP id 5b1f17b1804b1-47117907a30mr104631645e9.20.1761035684516;
        Tue, 21 Oct 2025 01:34:44 -0700 (PDT)
Message-ID: <4934f4b2-f931-430e-b9a7-e8de38bd3f8d@suse.com>
Date: Tue, 21 Oct 2025 10:34:43 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/5] x86/ucode: Refine TLB flush fix for AMD Fam17h CPUs
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20251020131955.2928261-1-andrew.cooper3@citrix.com>
 <20251020131955.2928261-4-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251020131955.2928261-4-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 20.10.2025 15:19, Andrew Cooper wrote:
> In the time since Xen discovered this, Linux stubled on it too and AMD
> produced a narrower fix, limited to Fam17h CPUs only.  To my knowledge,
> there's no erratum or other public statement from AMD on the matter.
> 
> Adjust Xen to match the narrower fix.
> 
> Link: https://lore.kernel.org/lkml/ZyulbYuvrkshfsd2@antipodes/T/#u
> Fixes: f19a199281a2 ("x86/AMD: flush TLB after ucode update")
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
> 
> There is a difference in memory clobber with the invlpg() wrapper.
> apply_microcode() specifically does not want a memory clobber, whereas
> flush_area_local() doesn't need it as far as I can tell (there's nothing
> unsafe to move across this instruction).

The memory access(es) it would not want moving across would be page table
writes. With link-time optimization, wouldn't it in principle be possible
for flush_area_local() to be inlined, and the invlpg() then be moved?
Potentially ahead of a PTE write, seeing that read_cr4() is merely a
simple memory only, and hence the compiler could utilize knowledge it has
to short-circuit that as well?

For the ucode case things can't move unduly due to both rdmsrl() and
invlpg() using "asm volatile()".

With the clobber re-added
Acked-by: Jan Beulich <jbeulich@suse.com>

Otherwise I need to be further educated as to why omitting the clobber is
safe in all (present and future) cases.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Oct 21 08:37:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Oct 2025 08:37:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146879.1479223 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vB7s4-0008GB-6k; Tue, 21 Oct 2025 08:37:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146879.1479223; Tue, 21 Oct 2025 08:37:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vB7s4-0008G4-2n; Tue, 21 Oct 2025 08:37:32 +0000
Received: by outflank-mailman (input) for mailman id 1146879;
 Tue, 21 Oct 2025 08:37:30 +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
 <SRS0=M5X6=46=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1vB7s1-0008Fw-So
 for xen-devel@lists.xenproject.org; Tue, 21 Oct 2025 08:37:30 +0000
Received: from PH8PR06CU001.outbound.protection.outlook.com
 (mail-westus3azlp170120001.outbound.protection.outlook.com
 [2a01:111:f403:c107::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2a368cc6-ae59-11f0-980a-7dc792cee155;
 Tue, 21 Oct 2025 10:37:24 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by SA0PR03MB5404.namprd03.prod.outlook.com (2603:10b6:806:bb::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.12; Tue, 21 Oct
 2025 08:37:19 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9228.016; Tue, 21 Oct 2025
 08:37:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2a368cc6-ae59-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=I2paXRsfrTXAii+P90vrbJnePOArh502OJxXM/UM6+Eh9F00bzIcyEzUyVa2/chhbI99/XpO+l5hn2Vk2M9OmcxYP8/La4vMgcpZx9oE/uGMaqgVud4YTtHAgt8hXPMeQmfrlMBM/KsBrv/bjt/HVxFTTbZ+HdSUyfz9iBxFvgFnv1lLQ9YJbFmuW/6x63gGEGkSvUd7OmUXi3CuKgO5yJhRMhesF5oIO8OE0ejA9YyKnL7gG96/NGm4AguhgLpX8ozYcIzEGcyWY4rBkb7EvwQVmwSNWond62puKizfmkDzVebc5eLXVNqErqv2U0Ee5P6xOJKt7dSf4qm/mQvB9w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5LTqibx3g6wnI108TYsMuXRkTbyKk9frSN9hWkQXLeU=;
 b=atzkQ8JyJ52xo6jBnQx95/NXu3I5KT+bAvqTpWxQ2ozifHs06jaJO1jXM5YwioNoh+857jD8uYD/EDaKGRrC1lek9BlXMrZ3fdS9LcMvYs4hT3GWPe8Aw6TkTZkaQ0t22sv/0AE4PoJN3X+EGubj4SM1digPxDHpLENbopjY8/XJ93Fmd91qEimaw5HA1BLufN0B7q56Hyk6bxZEgBTewGPyaqNZvJt6VV5oo0PqGY/FdSQPgOICKgqyyYr9GOsYGcSC1grzhIIfTVGcE8P1Fnh1nnmCdF6cayupe9igXWHmPlQnrIsk72vuJSK3BopkUUAkjXkVhuF97sJaYFMJ2A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5LTqibx3g6wnI108TYsMuXRkTbyKk9frSN9hWkQXLeU=;
 b=T6fxiXjYTVInKiB+sCsx/tl70tWKiPn/tJ6F4onbD1xfs//N38YYijNlPDwzjjp3lMuNNJfXkPbKh1msIx4WwuAyRkztEFqzsPRdHeuXvhJZ6OVW3KRtGRs5wEhhVYHloXsZ86LTSztPOl1Yoq+BOO31yzN06Rofjo8z5foo59g=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 21 Oct 2025 09:37:13 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.21 03/10] x86/HPET: use single, global,
 low-priority vector for broadcast IRQ
Message-ID: <aPdGOSXPvrRH3SOM@Mac.lan>
References: <8d94abf8-70d1-478c-885e-ff9a960ac72d@suse.com>
 <64d52793-be70-4ae8-9bae-ad88f6379395@suse.com>
 <aPEc3VWLI0ofq22f@Mac.lan>
 <39f00b12-a3f7-4185-a8fa-2c99c43695d9@suse.com>
 <aPH8Waqi5hJyCuzO@Mac.lan>
 <1e14d71a-4c23-46d9-a123-475a22bdc856@suse.com>
 <aPZaDJZiPsOazcHN@Mac.lan>
 <c27a671f-0001-4c32-9fb5-41b19a3f0a49@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <c27a671f-0001-4c32-9fb5-41b19a3f0a49@suse.com>
X-ClientProxiedBy: MA3P292CA0004.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:2c::19) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|SA0PR03MB5404:EE_
X-MS-Office365-Filtering-Correlation-Id: 48f1f7fa-5dcb-4942-d159-08de107d0b7c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?dmwwQVJBOTFnNVJUaDFUekJFSTB0Sk1DZmNIcmRTaTUxNXdaZGx4bmZjU2lQ?=
 =?utf-8?B?Uk9Ub2RpbFRBZFB2K2Y3UlhMcGpFbnlPb3R3bDU2dElUNmxwbCtScmc3cjZl?=
 =?utf-8?B?Y0Z1YlV4ejFsOWx0QUx3MjV2U2pUV04yaDQ4RTUvOGFjRUsvdTB2SXdGd0Vo?=
 =?utf-8?B?VUtOWU9pcFlveU9wdGY0cmpZL3phd3VzK2phejkrbWV1UEQwVC9rVEljbnV0?=
 =?utf-8?B?ZTZIVTBoME4yRnk3ekdTMkI5N21ZTVREUlZPQUZRZEVFV1ZwZW9zei9jNWM2?=
 =?utf-8?B?V2N1Q3U5OUIzWGFubnl5VFNZNG9PTGpnVXl4N0RKZGVzUm9pQWZ1czZZUXdY?=
 =?utf-8?B?Z1VsS1piaUU4S1ltUUl4RGd5TXZZTXY2T3c2ZHc1aldFeE5Ibjl4M0pzdE5k?=
 =?utf-8?B?b1k2bDlrUnRqTjJ0bVJVR3RRQlcxb0ZKWTdNV1hHV2U4V3M4WXM5SWljVzYw?=
 =?utf-8?B?eEhmN1dudUlva25RbGQ0Sk9JV0dYVjZWZnQ0V3VqM0J3dGhuUjRQU0N6Qzdl?=
 =?utf-8?B?QWZRb3pHUmduTjYzQzZvb2hRUU1HNHJ2MnJvZk5WZEZFL1E2MWhUQUg3M0RQ?=
 =?utf-8?B?cEtZdWNjdm84cUg0dXpScWN5QWhwbGdPNEo4WnlielNZSm43UFA5L0d0bFlu?=
 =?utf-8?B?WTA5Vm9WYzN2WC9aS3JkZTR4cFkwZnliMmNCYjZyRmtXSjQxTXl6UmxCRldo?=
 =?utf-8?B?bm5kcndxYkNDYnFCSzl5MFpncy9RNm9BSGZXTkcvSEYzZ1RZd1k1K015eWtT?=
 =?utf-8?B?aDZNQUd1cTlSdWdxV2xnc2dsV3NRUktqay85QTY1ZlpKdmd4UlU5S1EzTXh4?=
 =?utf-8?B?anpVVnk2YzBmemJsTVdYc25HMkhVLzVlaGFPWThsMGJhZFRkajZTbWFlUk1z?=
 =?utf-8?B?SStYdUJDWEROSDE0cVRjWStXb3FsVy80WmE5eGhwMFBCTGxJeUdXZ25mMys2?=
 =?utf-8?B?YkkyeDJnd3EvQi9NNEN4eXczV1ZEOHB6TFFxMzdRWVUvTTRqVDBZdWJsckFV?=
 =?utf-8?B?L1JtaWF3VlhiZVNMUTc4a2svTGRDd1hGcW9FbjRZa2p2VUtjYUJGUnkvLzZO?=
 =?utf-8?B?Y1l2T3J4QWlaVHptWCtiLzdxUkxOdkg3UVhjenRSWitCSC9QWE83SHQxYjJH?=
 =?utf-8?B?ZHdJNHdkamJsdVdKQS9ycXpwS0IvTEtpNnZsbU9CK0RUOFd3ZUhEcytCM1d2?=
 =?utf-8?B?V0JjZkhlMTFqZGswdlM2Z2cvOGJiT2xOUmZwNUp3YmVWL2R3UUNCSEcxdC9m?=
 =?utf-8?B?dlFJTGJvUkpzUThUd0wwd3lUUU5IZDBEV01TblUveFM0SExjbVluZm9QZ3Jm?=
 =?utf-8?B?TWkyWDQvUHBWLzUxaUU2UDFKZ0NHTDUyMnpSV25lblU0TWJENFR1cnlHVW9q?=
 =?utf-8?B?eHVRTXBSMy9DdDhFUklGdVYzbjd2RXg0RUNXL2RlTHZxU3lPWmEra1MrOGZv?=
 =?utf-8?B?elJUeEx1SVM1MEs4SDZGZUVWM1BXOEtLeGJJVkdJQ25oclVSYmhYbWwxVzRG?=
 =?utf-8?B?a2NOUEpxZDdYcVJqYllkS3REZ1N3UW1WcXFjQWVVRkhVMkJZNStXV3NuNkpv?=
 =?utf-8?B?Smxnek1yb25pVW50RFhra0R6NS96S1NVMUx3d2JnREZiRlp6eGNaN3U5c1dp?=
 =?utf-8?B?cGxVYVZ0NTBaZkVLN3ZPUW1xSk1ZeFlYK2ZMaFh5TGRMWTBHc0ZCbGh2T1Vz?=
 =?utf-8?B?YjVIMGNxcmtLdldxWWllVGsya01KYmJDLzZyVzJWQm1vM2JBRE9PQ2VyWk8w?=
 =?utf-8?B?a0daTVJGdjVwblcxNGdzNXRHQ0dncDNaWWJtc0RFUC84dy9pSDRyYlNrczBr?=
 =?utf-8?B?MHhkUVh4Y3ViQzNaL1RYUUlTa1dDcXBoa2EzU1NXcE1YcitLVXFsem95Ni9E?=
 =?utf-8?B?MHZvc0pqS01Pc3l1MjV6clA1bDNyR0J5Wk9Mbmh5WGRKblVNVkZHQnFUa0NZ?=
 =?utf-8?Q?aIGTtiFj/Tu+Qo+48ajf12KEuRW4pMQs?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RGhUUUFmUzd4ZHRFZnZVdFE4VGs1WlZXUE9RVEtUL1NTcjFYRVFGQ2xOV0hz?=
 =?utf-8?B?NjIyQVQxQ0U1eDAyZWdhVkJLaGE4WkQrc0pLM295L21wY1dsQzBQMDdocFdk?=
 =?utf-8?B?TWFWcWV4d0sxUmo0RUJiYUFCeFZyN2xKWFVHWlE5U01yQms0bitmMjFUMXM3?=
 =?utf-8?B?Q09YZUxuNHJnUFBiQTJZRWVzZTE1NDJZL2VMMFM0cFUrSTJvbVk3ZTU0VDcr?=
 =?utf-8?B?YWxEcmlKaStqaW85L1pyenUxeGs1bE1WU2ptbjBFYml5TFJvTVBVQk1kV1Bu?=
 =?utf-8?B?K0hCbkh5NmtVcVdyNVZHWWkvVTZ4TE1nYkxScXA5N1ZZeDFvb3dvZmFxaXMv?=
 =?utf-8?B?N1lUc1R3YVpFaHhTZHdHZFF5MHIxYjVqQWd5T3l6ZllKL1lnamNrdDJicHRQ?=
 =?utf-8?B?WHAyNmluZXJHREgyM1pUVm1CS0hQb3FWMXhleHZQYklPendiM1o2SG5TakZl?=
 =?utf-8?B?Tk9xak15QlBsM0JJOTBXYUNJbTd5eld1REV3dDlHbDd6ckhnV1pUZFVNK2lv?=
 =?utf-8?B?TDZ2bnc2cDN4SXpNTlNCREEyNmJScmxjTFc1bmJiR2NqdmYxbmhqb0xkN3Fa?=
 =?utf-8?B?RUE4UHVCUUZ6MXhNdDBOK2JOQml0SEJGYllJNm5idXU0TnAvYTg0WGd0cjhG?=
 =?utf-8?B?cE40T3MxVXg5WU91Zkd6S1FkRUs4Q2xPV251dlhGc2tHcDJiemZnejZkRUx0?=
 =?utf-8?B?QlQwZ0t1ZFVRcndIY3EyQ3VGUVlkVERUeFYwbkhXV2lwV1F4T0RBR05mL2sw?=
 =?utf-8?B?dzlDQjBwdnNhYllEODVjb1FuMzRvOW84cUFJYXhLUlBHeUdGaTlpQ21BK3lN?=
 =?utf-8?B?T3kyK2FLbElZbnM3b3gxOFBsWlI2dDhNUzZwMFd4a2tWYkc3eHpCTXVnNUd6?=
 =?utf-8?B?UVRvK1ROZlBlRElKaDB6UXhwU3p3OXJTRnBsbUpIMFR0cFpkSEorYzJqN2Qy?=
 =?utf-8?B?ZFVkOXBmekt5b054MXlMbEFvNTI4Y1J4dXVubDRCSThvTTNFSDZJYUwwL3Jt?=
 =?utf-8?B?SnZQRGhQSnBZUXNCZDhrUEZUemRTc1ZnK0RxQXhtdXluVkw1aHlQQVFPbUxU?=
 =?utf-8?B?cTRFQlgvOVlmY0RHNEMvUm5uL1ROamR1OFlJbmxsZ1hsTXVYY1dHRE03WWZy?=
 =?utf-8?B?N0x6aW03REk1MFhvWTd1V052NzNmSTNxdGg5OE0ycldWNmFwWm5kZHVhWHJE?=
 =?utf-8?B?VEp4a1Rmc20yd0dXdjYvSnU5WkU2WHp3RXpiWXl5bENmYUI2UmZpWWxHd1B3?=
 =?utf-8?B?VW91bW1RVDF2VWVaWU5RVmZrSlZyK1h2MCsrNEZDVTg4UGRSYjdYVWlsaDQ5?=
 =?utf-8?B?L1FjVGxqV0JXeGd0Tnpvb0Z0amU4aHFJV1ZSR1c2ODRJUENFbFV6b2pHYitE?=
 =?utf-8?B?N3VJeUMxaWRyTnAwNENRNkFFWWFPSTZuZ3VUL1UrTzYrSmhjRUFhOFVkRVEr?=
 =?utf-8?B?U3FEZVordnNRdXhJSkdQQVozaHN6aWhBWkw1L2ZXMXhndjV0cTVvNEJUdFhH?=
 =?utf-8?B?OGZEcGJLajVhU2lZa0tzZ3g2NWNCVnJ4VEtMTWIvdk5pVTNyK3FGdXBaeS9M?=
 =?utf-8?B?MHloTkZNeDNWMDBSNWxOZW01aHZTNE5uT3FNY0pzNmNuTVlxRGIyVDczR2Mx?=
 =?utf-8?B?SjZtRzQwRkx4dE8vQ0dTVUNHa2VXY0JxeHNhblBPdVBmQ1ZVdFRaUVJjdmV6?=
 =?utf-8?B?cVZ5dm9sM01hMHNJTFdRRXNQUjU0S3NaaG95ZE1FZSt6cnR0UFc1dmFMaFRz?=
 =?utf-8?B?bEVSb2hjT3pQTlhNT2RWWHBwTWt5OW9TNmhvc05tRVNUZC90QWxtWThlckJx?=
 =?utf-8?B?V2Z3MFNFOVNqSnBGNHYrdmV6TTFmem51dWQzaXV0cUMzeVl6K2QrcWJpOEpJ?=
 =?utf-8?B?NUprVkdXdExUOGUwU3VZMmhKYUdaMGV5eUtLOTF3b1llbHNIMXhkc2s2aWk4?=
 =?utf-8?B?dmNuOW9YWGc1Um5XaUVYQUg3V3VJTEVwTGFiaG13OWtEYzNHSG9jcHQ0WXFC?=
 =?utf-8?B?eU9TUzJuWEJQOC9IeC9wdWhjWFZIL1Q3OTVSM0xIdFdPRWRhTWlvcXZ6c2x2?=
 =?utf-8?B?SDlWV2FoME5mZzM1ZDVxSUFQMzZYSmFCSE1Qbk8zeHlUeDFtNElzc3hFbXI1?=
 =?utf-8?Q?jY1YFzjS2nkEUml+uYH/A01/X?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 48f1f7fa-5dcb-4942-d159-08de107d0b7c
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Oct 2025 08:37:19.1211
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: b46mSG8LFwjB/btf4KZLivw5pWaoNs7XNBP2PtJQPMMdHB78ZpHglqCqvJGiO1arEAMsrUPQa0D8Txtce1ndbw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR03MB5404

On Mon, Oct 20, 2025 at 06:05:04PM +0200, Jan Beulich wrote:
> On 20.10.2025 17:49, Roger Pau MonnÃ© wrote:
> > On Mon, Oct 20, 2025 at 07:53:51AM +0200, Jan Beulich wrote:
> >> On 17.10.2025 10:20, Roger Pau MonnÃ© wrote:
> >>> On Fri, Oct 17, 2025 at 09:15:08AM +0200, Jan Beulich wrote:
> >>>> On 16.10.2025 18:27, Roger Pau MonnÃ© wrote:
> >>>>> On Thu, Oct 16, 2025 at 09:32:04AM +0200, Jan Beulich wrote:
> >>>>>> @@ -497,6 +503,7 @@ static void set_channel_irq_affinity(str
> >>>>>>      spin_lock(&desc->lock);
> >>>>>>      hpet_msi_mask(desc);
> >>>>>>      hpet_msi_set_affinity(desc, cpumask_of(ch->cpu));
> >>>>>> +    per_cpu(vector_irq, ch->cpu)[HPET_BROADCAST_VECTOR] = ch->msi.irq;
> >>>>>
> >>>>> I would set the vector table ahead of setting the affinity, in case we
> >>>>> can drop the mask calls around this block of code.
> >>>>
> >>>> Isn't there a problematic window either way round? I can make the change,
> >>>> but I don't see that addressing anything. The new comparator value will
> >>>> be written later anyway, and interrupts up to that point aren't of any
> >>>> interest anyway. I.e. it doesn't matter which of the CPUs gets to handle
> >>>> them.
> >>>
> >>> It's preferable to get a silent stray interrupt (if the per-cpu vector
> >>> table is correctly setup), rather than to get a message from Xen that
> >>> an unknown vector has been received?
> >>>
> >>> If a vector is injected ahead of vector_irq being set Xen would
> >>> complain in do_IRQ() that that's no handler for such vector.
> >>
> >> As of now, setup_vector_irq() makes sure the field isn't uninitialized
> >> (i.e. left at INT_MIN). With that change dropped (see below), there
> >> would indeed be such a risk (on the first instance on each CPU).
> >>
> >>>>>> --- a/xen/arch/x86/irq.c
> >>>>>> +++ b/xen/arch/x86/irq.c
> >>>>>> @@ -755,8 +755,9 @@ void setup_vector_irq(unsigned int cpu)
> >>>>>>          if ( !irq_desc_initialized(desc) )
> >>>>>>              continue;
> >>>>>>          vector = irq_to_vector(irq);
> >>>>>> -        if ( vector >= FIRST_HIPRIORITY_VECTOR &&
> >>>>>> -             vector <= LAST_HIPRIORITY_VECTOR )
> >>>>>> +        if ( vector <= (vector >= FIRST_HIPRIORITY_VECTOR
> >>>>>> +                        ? LAST_HIPRIORITY_VECTOR
> >>>>>> +                        : LAST_LOPRIORITY_VECTOR) )
> >>>>>>              cpumask_set_cpu(cpu, desc->arch.cpu_mask);
> >>>>>
> >>>>> I think this is wrong.  The low priority vector used by the HPET will
> >>>>> only target a single CPU at a time, and hence adding extra CPUs to
> >>>>> that mask as part of AP bringup is not correct.
> >>>>
> >>>> I'm not sure about "wrong". It's not strictly necessary for the HPET one,
> >>>> I expect, but it's generally what would be necessary. For the HPET one,
> >>>> hpet_msi_set_affinity() replaces the value anyway. (I can add a sentence
> >>>> to this effect to the description, if that helps.)
> >>>
> >>> I do think it's wrong, it's just not harmful per-se apart from showing
> >>> up in the output of dump_irqs().  The value in desc->arch.cpu_mask
> >>> should be the CPU that's the destination of the interrupt.  In this
> >>> case, the HPET interrupt does have a single destination at a give
> >>> time, and adding another one will make the output of dump_irqs() show
> >>> two destinations, when the interrupt will target a single interrupt.
> >>
> >> Just that as soon as the interrupt is actually in use, what is done
> >> here doesn't matter anymore.
> >>
> >> I continue to think the change is correct for the general case: I'd
> >> expect these special vectors to normally (just not here) be used as
> >> "direct APIC vectors", in which case the IRQ does have multiple
> >> destinations.
> > 
> > I think it depends on the usage of the vector.  There are indeed
> > vectors that are active on all CPUs at the same time (like the current
> > hi priority ones).  However in the case of the HPET vector that's not
> > the case, it targets a single CPU specifically.
> > 
> > I think it would be best if vectors that are used on all CPUs at the
> > same time are initialized using cpumask_all or cpumask_setall(), and
> > avoid having to add a new bit every time a CPU is started.  It's fine
> > for cpu_mask to contain offline CPUs.
> 
> I don't think so. There may be less dependencies now, but look at e.g.
> the check in _bind_irq_vector(). Or this loop
> 
>             for_each_cpu(cpu, desc->arch.cpu_mask)
>                 per_cpu(vector_irq, cpu)[desc->arch.vector] = irq;
> 
> in _assign_irq_vector() (that may be fine because of how the mask is
> set just before the loop, but the loop itself very much assumes no
> offline CPUs in there). The most problematic example may be in
> fixup_irqs(), where cpumask_any(desc->arch.cpu_mask) is used.

Then it looks like the comment ahead of the field declaration in irq.h
is wrong:

        /*
         * Except for high priority interrupts @cpu_mask may have bits set for
         * offline CPUs.  Consumers need to be careful to mask this down to
         * online ones as necessary.  There is supposed to always be a non-
         * empty intersection with cpu_online_map.
         */

I realize now the comment says "Except for high priority", but we
don't seem to make a such differentiation in most of the code (like
fixup_irqs()).

Hopefully this will be way more simple if I can get rid of the
cpumasks in arch_irq_desc.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Oct 21 09:19:02 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Oct 2025 09:19:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146896.1479235 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vB8W8-0005BG-BM; Tue, 21 Oct 2025 09:18:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146896.1479235; Tue, 21 Oct 2025 09:18:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vB8W8-0005B9-8i; Tue, 21 Oct 2025 09:18:56 +0000
Received: by outflank-mailman (input) for mailman id 1146896;
 Tue, 21 Oct 2025 09:18: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 <SRS0=9TpK=46=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vB8W7-00059W-IL
 for xen-devel@lists.xenproject.org; Tue, 21 Oct 2025 09:18:55 +0000
Received: from mail-wm1-x336.google.com (mail-wm1-x336.google.com
 [2a00:1450:4864:20::336])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f5f542df-ae5e-11f0-9d15-b5c5bf9af7f9;
 Tue, 21 Oct 2025 11:18:52 +0200 (CEST)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-4710683a644so47298875e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 21 Oct 2025 02:18:52 -0700 (PDT)
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-427f00ce3aesm19751841f8f.48.2025.10.21.02.18.50
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 21 Oct 2025 02:18:51 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f5f542df-ae5e-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761038332; x=1761643132; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=VJrom6d64dgZ+30a1s73gY+hvq5l5g97Qxx3m/Ozg/M=;
        b=Qvcut6jO8NSBdCs3ZIbksJXG1vOTXaarOt02BKgzyK8cL7q8bCdTOdIke0HfY31EgS
         lJPIBGXODFe72tSIMj/jNIjoZGJmHp5s6Aa4YtMXq5mGZ+ysINuYtciAeb4UL4mzG1w+
         EC6ofQhpOFPxas1oQNgL8mtOMNJ922pfzVuXRJEcqKhh6Zvgq5AtxsI2TgGULvxy6BGU
         Lxsh120yJnx3qXQ1lW37exTCWd8kkYZOEd78y+Yb/YT9aO3qFoVMVvWZT72KU0PyZNUa
         sqXx4gpV+1yp5UMS6KLjeID6NDMOi9XtbsP6ls3+K6Q4UzcPkp0PocjAvN67HVvwZx08
         Zp5w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761038332; x=1761643132;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=VJrom6d64dgZ+30a1s73gY+hvq5l5g97Qxx3m/Ozg/M=;
        b=l60DaGzsuMPRDOXT8608EqBJZuDOBQ/NXIjA0t/cYHqHTghJVDfQ5ElPdjtw5mtX0W
         PVnhqGO9YAiLWmUQPMgE3n8hAq0h3PAD9SXU94ATDfpTXp7Ju+ns2HjFF+jQ2SID6i/I
         xCcdI/aVTwyqMN/4naCBkCuvo/Bjf/Z1LDP9uwwS88UAVTBHoBbCkH8OfEb+EpMmdnoS
         eM2kpg7ZJrdWo3ie+fcGfhGZ3lk8cXRc+WCyNsErZTjf+XetZNlTHN17iDHPJHBSWlHT
         UY+CjBHtIjt6HMcKNX9B/Bz5cf/QQbR0XuvSV8mKzIsuFCQ9EYYbGdItar2g/JoHesAP
         d0jw==
X-Forwarded-Encrypted: i=1; AJvYcCVbJwwdVLtMAW1KlkAG2Gbw8YkKwJrS7hbLSg8Ri4rXHIm4O3ZMk8R2LoMk4VF7B8adiJibxaBKdmg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzBXTAV+rktDRJk1CEyVCBV9a2M2nSHzbk1uJasqlya/0pcvYi4
	s9tx+MqaK+Kh5Hbl92oAA9REm1qw/j9ybi/CXTULvRhKfymSNTmHqAur8yV21zbraA==
X-Gm-Gg: ASbGncvbdjZSGUIfKaNWL5LRP+6mNvCBp3DTkVqGqHtIVbSL2YU8wPIVffQWivZgc3S
	GBlK1IPkfO8wyGrJimtJ17E5NKQHx3JW+J67SbOzQ5UVbPZ0DEzGN0SRmy+kIu4R2FfIqytD/WK
	jJjaBijuVZQZbdxyJh5jSNk9dNfDE/KG5f/4gN2V5PQj0o2QhbsMjCKtXrxIhaLQwjNA9pDZ9Y4
	9YT0GkjQxpDxfbzNq1aTMvKx7V3ST+dl/HjhncMKwx1DDPspQNN2DavUr/owWDyS/s34Fetzd8V
	sc9lpW81b2R6mItlhdAEjZZJvzirJkgYxzHSG1gxdHqz5aJ0R5Nv7O9aevfG08wZJvGcLvKZz7e
	9r5mZ8tnDXmL4vInEK9FshzxFwZU5Q7LZftf1L3StGZTW0SquxgnkUc1uFeuao328WTpFPWNUtK
	96ziV0Im5wYeQ0KG+v9e7Ern8idZPYr0hK+VRbY/Lzl7yDUnPKK0Zk0nzKq86G1Pj9cpTGouU=
X-Google-Smtp-Source: AGHT+IH8UDJxwVaVl2HIm59aPXpOppG/MGsZfzxvo8WI55nBfwPqGJyRYVhyUcZo9D7FFmM0AieKmg==
X-Received: by 2002:a05:600c:2a94:b0:45b:92a6:63e3 with SMTP id 5b1f17b1804b1-47109a24fddmr98455465e9.9.1761038332010;
        Tue, 21 Oct 2025 02:18:52 -0700 (PDT)
Message-ID: <fa9e5a03-0b25-42a5-a51e-6e1c4af7d4a4@suse.com>
Date: Tue, 21 Oct 2025 11:18:50 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 4/5] x86/ucode: Cross check the minimum revision
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20251020131955.2928261-1-andrew.cooper3@citrix.com>
 <20251020131955.2928261-5-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251020131955.2928261-5-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 20.10.2025 15:19, Andrew Cooper wrote:
> For Zen3-5 microcode blobs signed with the updated signature scheme, the
> checksum field has been reused to be a min_revision field, referring to the
> microcode revision which fixed Entrysign (SB-7033, CVE-2024-36347).
> 
> Cross-check this when trying to load microcode, but allow --force to override
> it.  If the signature scheme is genuinely different, a #GP will occur.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Acked-by: Jan Beulich <jbeulich@suse.com>

Might be upgradable to R-b if only I knew where - if anywhere - this is
documented. I can't spot anything in PM vol 2 in particular.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Oct 21 09:24:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Oct 2025 09:24:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146907.1479246 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vB8bB-0006hR-Td; Tue, 21 Oct 2025 09:24:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146907.1479246; Tue, 21 Oct 2025 09:24:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vB8bB-0006hK-QY; Tue, 21 Oct 2025 09:24:09 +0000
Received: by outflank-mailman (input) for mailman id 1146907;
 Tue, 21 Oct 2025 09:24:08 +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
 <SRS0=3pTU=46=citrix.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1vB8bA-0006hE-PC
 for xen-devel@lists.xenproject.org; Tue, 21 Oct 2025 09:24:08 +0000
Received: from BL0PR03CU003.outbound.protection.outlook.com
 (mail-eastusazlp170120007.outbound.protection.outlook.com
 [2a01:111:f403:c101::7])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b1669aa4-ae5f-11f0-9d15-b5c5bf9af7f9;
 Tue, 21 Oct 2025 11:24:07 +0200 (CEST)
Received: from PH7PR03MB7004.namprd03.prod.outlook.com (2603:10b6:510:12f::22)
 by DS4PR03MB8132.namprd03.prod.outlook.com (2603:10b6:8:281::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.12; Tue, 21 Oct
 2025 09:24:05 +0000
Received: from PH7PR03MB7004.namprd03.prod.outlook.com
 ([fe80::58d9:f998:8591:d601]) by PH7PR03MB7004.namprd03.prod.outlook.com
 ([fe80::58d9:f998:8591:d601%6]) with mapi id 15.20.9228.015; Tue, 21 Oct 2025
 09:24:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b1669aa4-ae5f-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=J1snkiTOHIwYJcDODykzlnrLM3q1ar4PtWiP3g8GBT5vA3C23ovvLch2tdvzI5PCZ9pQSvvdi8hEBNdEKHQALHaqUCo84FSmUC3xfXaTFnYWjryd5v/Su0k9f+W1GU4ecPPAiZiTBXx0WsNJvfy1NZ7pno0f3eseV7BCA47P+1bA/8LnJ69y/8JQNXBtjVK21GIzQ0l+kaxAU18xvA/33t99yuzmJpvBkw741w1vayE1BWpTLDQpe8r+2TlVlOcHBoQs7xA2a37XzmlILqImKGpU+RaDuSvNJAiYZ5YDcK3lX1Cxn8QpzCNzRlYCzvT4PYMFNossasahnHtIv7KQwA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LK1ZSAwzYA80W1a/Y6p3pFYyUkbrpRl/Nu6AThUk9XI=;
 b=QuuL5jsanz/8iAlKF17HaGXuhcq5bZMmuDrG81/WKAuWp6umrd7MY9uaZILu5sSXWYhyLIk83Bc5ZCKPGBHy4r5nSM2cMK1/AE+ydDaeHrSwdjvyakfUz+4WQrkfV5hKmozqlOVGS/Eg7YrluQrGQF0/TEvhF8tdb1+SeewbW5fXCxYmtCE1S6ZSPQ6kOPQcoeuF/SKKnlqfvG0rHOFyPbuwyvAwd9/gbw6t506239Em4Cdt0gGVFJ8DBPTSFP094Srkxejiu/ahY16sQwgOzTrC4tJ8t7Qu/qJSTfsNP6vMkFmtn4GrjCW2MGKXXtl//AhHo5BRv5A6AHkKbynneQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LK1ZSAwzYA80W1a/Y6p3pFYyUkbrpRl/Nu6AThUk9XI=;
 b=KYM7wQOqd6m67g0MuS1bAdxt5prXFoWuMM4H+zNeYk1tyjYoe4JqWO3gFGyROySpezdXg58sZC9KFW4Wtb8mtu1FcykyYXaDUTtVcPpgY0AryRPtNDuKc9IQsE5/dKrc+Yv/TqMsmwcsIz8G8DOIbWAqaFLnwTkMNc9WgY7nY5w=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <734f191c-a172-4e29-8e97-2dc67c0b4015@citrix.com>
Date: Tue, 21 Oct 2025 10:24:00 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 4/5] x86/ucode: Cross check the minimum revision
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20251020131955.2928261-1-andrew.cooper3@citrix.com>
 <20251020131955.2928261-5-andrew.cooper3@citrix.com>
 <fa9e5a03-0b25-42a5-a51e-6e1c4af7d4a4@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <fa9e5a03-0b25-42a5-a51e-6e1c4af7d4a4@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P265CA0216.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:33a::8) To PH7PR03MB7004.namprd03.prod.outlook.com
 (2603:10b6:510:12f::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH7PR03MB7004:EE_|DS4PR03MB8132:EE_
X-MS-Office365-Filtering-Correlation-Id: f1e904dc-dbb4-4274-9e46-08de1083940a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?RkRyRm5FYTJIVE96ZjZmVERvcllENVloVStCcUtyeFF0ME1TOG1TQUY4Wmdu?=
 =?utf-8?B?RmVLUkpRa0JXd0JRdy9mUEltUVNJWlgvN0E1aUkxdVVJMGJJUnFpeEVaN2tj?=
 =?utf-8?B?YUFQamlhNkdDcUNTYTJYc0pmTXpSa05RbGFEa2Y2Ym1RbkpQTngyeFRMQWtv?=
 =?utf-8?B?WSt6SEpHN25NSzk5eWZKbG5NWHViY3JlVEdYWFFJRGlmWjBMcEZHQ1FkeW8w?=
 =?utf-8?B?Rjc1ZHNXQWFPdXRHbVZFVFhxYy95dTROemg2M2lYckZnem9ocHhiMm0ydmNh?=
 =?utf-8?B?UGEzTTBwbmU4RWQ5T1AwZ2gyVDh2U1V0STlGK3lnUmVSQWFQdkJQQ3RrbEhT?=
 =?utf-8?B?NEovalFvcEozZmlzM3hhTzlPekw1b1Ewcy9pb0s5ZlVweUpzNG9yMWRhOW04?=
 =?utf-8?B?SHF2dDhnVGc3bGhid0FnaVV6TmQwTmtaaDd0ankxYTNCNXJRSW9kbDQrdkk4?=
 =?utf-8?B?ZkZDRG82cTV4UmFqbS9rOGVBRGVUelBSTWRmQ29sSzNuNmt6Tkt1ZXFyb0lT?=
 =?utf-8?B?aEp4dnNYcmNNVS84bXU5NHRSc1kyaktIRjRCMlJiQi9RazJvM3FYUGh4TFBZ?=
 =?utf-8?B?RklPVGtwNXJTZ3hPcElqQzlEN09BQVNDRnJKM2xsWWRCT0svREFtVWhUYkhX?=
 =?utf-8?B?SE1ZUEhaRjhIMXl0azd2VEI1Nys3czJ2RzVyanAzWlBmcDRtOTZyNmlTSHhz?=
 =?utf-8?B?ZG9ORnVSR3NWTko4am5jWU1EMUU0WFUxbUlQa2taaU8vV1lDN2pDSERVcURD?=
 =?utf-8?B?U2YrTVgwd0kyeGFrTU9yMmVyaHdOdlJPOFhVRnFPWTRaQ3REbml3WTZDSEtn?=
 =?utf-8?B?WGRBZ3RMeXFJOWx5eGVkRGZKZUluVXUrTUlzYUJrMnZxYW5uRy96SC9TWklj?=
 =?utf-8?B?NlE1QjZwUjNWTzV0bGtUcGVCOXpUYkZoRHpGT25RK2E3S0ttckc1WkpZbXNn?=
 =?utf-8?B?dzV1dHhVTWpRNzR0TTRmMWs2Ri9PNGdzRC9zTzlqTHZOdkJoU3hTS3NxcWpt?=
 =?utf-8?B?R0thek94azRzZTQ4WlAvZU90bHZQMEh0Z0lIeUZ0YTJBQkl5MGZNYm1UdzFz?=
 =?utf-8?B?cEdPUWtRSGhqN3creHQ2cEdyUEtnZFhncFVPTGppaCttZ0FRdFR1VG9QQ1l5?=
 =?utf-8?B?T0lsSjU5TGl1djFlNGh0ZHpBaG8wTlRZRlY0Z29EaWp5QldBelhWbkxHNW1P?=
 =?utf-8?B?MHQ1VjBjQndjSldOeWFTQ3FYVndoYzJ0R0haY0Z5cjRGajZGTnRheDllZkZk?=
 =?utf-8?B?Rk5leVpjcnF1dnVmOXozUkZtcnlCaTd5c2Rrb1g5aHRIaVBTQk55VFVGU3F6?=
 =?utf-8?B?aFpiNlFZMmJuZHh4VlhoRHJxSWd0TTY3Tm9GOGd1eVpBeVprZmhuaWpvV1Ay?=
 =?utf-8?B?T2ZVNzNsVmZ0M3hXeEdJTU1tamp2ZkZYS00wTHVtVEVjTDEzYnhQeWNsbUV1?=
 =?utf-8?B?Tm0rT1ZibjU5WG5oRWJkOGpaV2tNL2FwRDhJd05PMEVvWFUySVJZOFBKamZj?=
 =?utf-8?B?VU5RdjA2dUJBN29nZG91UlM0YTY4b0VxaUt1cGVJUFRma2szQzNObnpQUDVm?=
 =?utf-8?B?VGdDOFpnaHoxU09QZEZMcVhvSEFsbjZhcW43WE1VWnVBcXEwQWx5TzlONWdo?=
 =?utf-8?B?NFdHVnJnbExBUWdSbVh4UU53MEo0ZEp4Rlk5VW9rVjVRaTBaYjJ3TlVselRI?=
 =?utf-8?B?MHNTVVdXQjljOGViVy9Xa3JtbDlSUnkwcFRlem94dmtkZTRJR3BoMmd1OUx4?=
 =?utf-8?B?UVRQZlVPWkM4ZjcxQXBVQVZVNExQUW5oM0xZY3ZLWE1wdmRld3M1TWhXMGJa?=
 =?utf-8?B?OUovMWRsQ1EyZ3NnLy9HR0lZSVRZVDBZb1grN1dMak0zZzNvaVJxdDlkclBI?=
 =?utf-8?B?OFNSMjUwT2lmL1hzRzM1RzV0T1B1cEhKWmJ0Q1hpUElmRGJaMSttUzZqK0Z3?=
 =?utf-8?B?cXdYWVJYNkFPdmlvNE1uY25va051cUJtT2tlQS9ORGxJSHg0QVdkUVBXakQz?=
 =?utf-8?B?enJlOGZJaTN3PT0=?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH7PR03MB7004.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RDFKZEJsRGU1YlV3TnozcnlONFlVWXVkNnN4bHl5T3Z3YkhUSVd5aHhsOUps?=
 =?utf-8?B?R2N6VHJ2UHZzRkhESWJWOUJERGo0U2k5c2p6OEZNYko0bkZpVURXT3BCS2p0?=
 =?utf-8?B?Q2NVenpDQ0ZjdFVwT0NORE5vSmczT0RNVHFWUE4xbVlRd2pHZCtyMFc0WjhD?=
 =?utf-8?B?L2UvM0x1VitGWE5IWmFaUjFRb2V2Y1FJcTJWamI1dlJ3Y2JEOE5CRXdwOHhp?=
 =?utf-8?B?Tnc2cG9abFVkSFdhRzRlNnZPV0YyekwrWnpyUnRESzZmUHkxczk5Zzd1RzQ5?=
 =?utf-8?B?UXlRc05wQ0VJMXZpVWgrYjlEaUkrTHhQcUY5VUFaRVp3eHFsUGxxYWZGWFJ6?=
 =?utf-8?B?WDJpT1NEL1BIRVltT2tPb2dUWGk5ZmhjOCt5cUxNSVJlK0x0R3A3aWFxc0lm?=
 =?utf-8?B?YmErQnRqUFR6NFdEVlYxTmU4bWtDTXRmRllrMGlKMHlpdmhwMmNZVkpqcExF?=
 =?utf-8?B?eXlEMXNMYko0ZFNRRGFVbXl0c1o3bWo2MFlWR3IrdjBoK00yQlQyb3JueS9a?=
 =?utf-8?B?MHpuNTNQVHc0WWhZSWM2REdPdUw1dXdQNWZCcDdna0YxSW0xQTJXbmxpYVhx?=
 =?utf-8?B?eWU1Q0ErRnhUNFpPODVzZ3ZiQ2hsOHZ4UjVSYkJKbFR0bzVPRFE1TWNhV3lQ?=
 =?utf-8?B?d2RMbDg0YUlnUDlvMU41UXpVK3RicTh3K2N2YkNzM2o4YTRRTFVjdjRzVGF3?=
 =?utf-8?B?OFl4Tk8zS2dPMjFzWGNsUGdZOUJoV1NGVDJRdC9wNWVka1FxT0x1UlJKMG1p?=
 =?utf-8?B?L2NDUVZoZmFHR0tKUTgwRk1ISVB1SllpYTIwT0xPM29xQzhQZHFEbC9wWkVX?=
 =?utf-8?B?TUlvUThYanBXSmRKK0x2NXJCeDVpYXQyWjRuU1hDaEhzYVlCVU9LbThSQTRZ?=
 =?utf-8?B?TU5INHZTdk9TUEQ1T2ZGTTdOVENuM0dNUEg5bnl5SmlnQ0diZ1FISlp2VFlE?=
 =?utf-8?B?eWNQOVpMRFhpNERZRWcreU00SlNmOTVKN0JaaW5yNEdVV1VGOUUwUytjUkNO?=
 =?utf-8?B?blpBVkJMM2h2NFFvV0dXU0x4bTB6RCtSTjRCZG1DSEppUlRGT2g0dE9NUUY4?=
 =?utf-8?B?NXVieGJaYXVNZjRMR3Uzc3dUSDhmRzkxSTFid21UNFUrcW0zQmFEWDVUazBz?=
 =?utf-8?B?TExRazZVbThzbUp0UTBYclUra3RvZ1dBdDZhUjBMYVFqeUtDeE5sUzFsekxo?=
 =?utf-8?B?WWloREsrbldhVUlRYUZsRWQ3WmlSN0VlN0VsaDBRcGN0WHRYWTYxVTZvNTB2?=
 =?utf-8?B?UG1KQkt2a2JJamU5WFJVR0l5alBUVlNWbE12eW1tbDBlNEFtaEY5MExGZGg2?=
 =?utf-8?B?RXJEOE1uZ3BlNWtTTUQ3b1h2VGc4bWlnd3hWRVlVdlV6UHRQSzNRQm52TmpC?=
 =?utf-8?B?OXp3RGxZajZyamNTM2NiMld4ZE5RWUFQckw5TFNXc3ZyUjBCWWZtdkhYNUpN?=
 =?utf-8?B?eHZtZUJ0TU5HTWFraDQwUDh5bzMyUVBld1dNc3AydFFaRkdZYk5JSFNGN2Fq?=
 =?utf-8?B?ZmVraTBqNW1FM1dQeVNoeUk5bVNXRDFTejdhaVZlT1ZIMlgrRjdOSkJnOUQy?=
 =?utf-8?B?WFp5eDFNOWFaaXo5YU5VTDJkbXBVWExJUHhkbWpFa29yZEFxZkNFVUFSaHJM?=
 =?utf-8?B?ZEdweWtOOHBaWUdsczFMdTJXUXFyMExmS29EcGpFU3h2YTF5WWVsRWNxdWcy?=
 =?utf-8?B?Smp2STljTmF4U0VWbjBrVFJpTEVzZ0gxRjk5WjdyelV6VTAxYUNETWZWTEF1?=
 =?utf-8?B?YmdwRWU4TDR6SFMzaEZnTkU3UDNHMm9oaWIvcVZrTlJPeG03RGlPYlFCRW1i?=
 =?utf-8?B?eVdhRW50OG5GdFU4TWhUSUIwRTBqMWVyaXN3Y3V6MjB0dlFNL3crSElzajY5?=
 =?utf-8?B?R2E2Vzc5Q2VqZWhsMFI3NFU4a1FqT2lpcXBqTmNZM1JKdTRrNkdIMkpIbkR6?=
 =?utf-8?B?SDlLeEZFRWNpWk0rcDkxVmNWZlNOQ2FIMUIzOEZZaGxMSmhtL1NHU0h3b0Jj?=
 =?utf-8?B?L1FrZFhibUVqR3J3cmpuTG5Tc0IzWEpIcWxMWmQxb1MxUmszSkY1SU1WdmVD?=
 =?utf-8?B?VCt4cGRrcmI1ckZQL2ZiNmVVVEtDa2xmNUZQb2JDVjJKemhlT3J4U2c3d0kw?=
 =?utf-8?B?eXZiWWJlWDIwbWErdDdOcTMxRlZmQjVLMHloVjdETTZFVjZSVVJCMFQ3Nzg4?=
 =?utf-8?B?V0E9PQ==?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f1e904dc-dbb4-4274-9e46-08de1083940a
X-MS-Exchange-CrossTenant-AuthSource: PH7PR03MB7004.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Oct 2025 09:24:04.7381
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: J0eYfBKPACsCNTiIIfew5lHc8TSIZScrDs/b3RKSOsANkTn0PZn2/z4oyqDNj2A+2xc9y4geavN/0ykZ7wJ3GqcdphiYXPU+VkX8XY1qwVA=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS4PR03MB8132

On 21/10/2025 10:18 am, Jan Beulich wrote:
> On 20.10.2025 15:19, Andrew Cooper wrote:
>> For Zen3-5 microcode blobs signed with the updated signature scheme, the
>> checksum field has been reused to be a min_revision field, referring to the
>> microcode revision which fixed Entrysign (SB-7033, CVE-2024-36347).
>>
>> Cross-check this when trying to load microcode, but allow --force to override
>> it.  If the signature scheme is genuinely different, a #GP will occur.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Acked-by: Jan Beulich <jbeulich@suse.com>

Thanks.

>
> Might be upgradable to R-b if only I knew where - if anywhere - this is
> documented. I can't spot anything in PM vol 2 in particular.

Like everything else about the ucode format, It's not documented at all.

In fact, this was discovered by people on the WinRaid forums, because
even
https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/commit/amd-ucode?id=3768c184de68a85b9df6697e7f93a2f61de90a99
doesn't say that the internal headers have been adjusted.

I've confirmed with AMD that it's intentional and expected to continue
like this for the lifetime of the Zen3-5 blobs.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Oct 21 09:47:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Oct 2025 09:47:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146918.1479256 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vB8xp-0001Wd-NS; Tue, 21 Oct 2025 09:47:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146918.1479256; Tue, 21 Oct 2025 09:47:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vB8xp-0001WW-K3; Tue, 21 Oct 2025 09:47:33 +0000
Received: by outflank-mailman (input) for mailman id 1146918;
 Tue, 21 Oct 2025 09:47:32 +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 <SRS0=9TpK=46=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vB8xo-0001WP-N4
 for xen-devel@lists.xenproject.org; Tue, 21 Oct 2025 09:47:32 +0000
Received: from mail-wr1-x435.google.com (mail-wr1-x435.google.com
 [2a00:1450:4864:20::435])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f68525a5-ae62-11f0-9d15-b5c5bf9af7f9;
 Tue, 21 Oct 2025 11:47:31 +0200 (CEST)
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-42701aa714aso3253941f8f.3
 for <xen-devel@lists.xenproject.org>; Tue, 21 Oct 2025 02:47:31 -0700 (PDT)
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-427f009a78csm19464505f8f.26.2025.10.21.02.47.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 21 Oct 2025 02:47:30 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f68525a5-ae62-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761040051; x=1761644851; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=fQ8gKscBDnG6jIRvXfBznZAd9m58mG4UlyOn08sZ7Zs=;
        b=Ki6FAu9Pe6+E8gxPhVjBXQCgNfadoQTInBEe7ES8GoBL0AsPdWEVXkW5xqNfSk4jj0
         d9JEAPDcSRnUd7AawKdlTuMgIFtAxw5WgMp+zwhHx4qRp3QrZMm3IBdeyoPgPdY7MNeG
         SXibhnaX9SDD1fcDxCcq0H98TKzL2A8Q+teFrK/a8VQ2cfwK47aFY9GX6sMkM3sa2bx8
         srznW11JWMEYn5F92uKVNmssaCGgq4UV+sklecB91NmbrStteF/9nMNNHqGhegZJ02g0
         svusbfd3B4TasGHfiyWBvdFFcXOq7w4MPu9+3J676XcQU5Qiq5pChVikmyw0qdLEXvjD
         4wmw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761040051; x=1761644851;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=fQ8gKscBDnG6jIRvXfBznZAd9m58mG4UlyOn08sZ7Zs=;
        b=er4FpRUKFBG3+2nMjnn3y1Xm7tfGpkjBK9GIoyaDUhbrRqYbc0bIUELgZ7t94ntRXl
         WDkGhw7/3q/l+h999PmHoSZQcmrV71bm2aamRODqNf4AYmivh+rCAy9hfeqhYu/7Fz2A
         0Z+spqcpKi9/fPNsP92Etw9SuHwlXlrqGWLIxP2NdATv56vtKPMDKCRRS2Vnw6fNGHmV
         fku+JdRqQxGjNBM04IYkQS6o73vIN1fRUCLMzhuc0Ufr2pPHN0KBFf16Tmu1S3jopVQd
         K/HAn3sosbO5egQGzW400EAlorWMZLE0eGQaZNUWGlJ02uPh5lSIajlxNc6hBJCQhRab
         Vk/g==
X-Forwarded-Encrypted: i=1; AJvYcCUUQZC8lsMT26nGOEw6CcREsNC3wByShKZFkLlBYBwxdMhme0MzejU37iFp5DFs4rselRzXuEGwi4U=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwYl2pjdHbYHPzj0UG4txpHzBMto8CQ5p7CBo6AQtyfMlxGXn9j
	4pU/KLIXioDsxX2PNovAe8BK9elVfZhsIB9b4Ul3Tqe7jYwEV7f3hDes+gjVm49Uxg==
X-Gm-Gg: ASbGnct/XJTSCFRdxDdPotpAO03VBxA9C3BisG8/g+WkBtq6Z7367rv5AYLthuLCd+9
	2edLsIdHHRadomK3KfAjab4jy7hA2kXOqwbXcVkKx3W0nB4LC5t3SXk8Slv/MaEfjUXd0hNAuZa
	GKtShZSmSTqqVrMSDGn4Y1c4BiCfrVBi4vkQWLLkyyYuDwta+TF/dVi6HzlV9ibePPMJqF+7MXL
	Ru1Ku4T6kKXcpL1op9t9fkpXaIzBK0d2IeCEg4rv6F9GTncXVjZZFbHdvDRyO2wyVlPi8wSkOfM
	qiQ4VjL7StfZl2LvPar1PqF/F0d3EQJkaHvtxQUZuDsN2+xLkoMINAKuf2RzpVe0GwJZc4JfT/Y
	1nb4vKAZ+QLsjsvxG+9IpDbfT1lwBKOzdItdKLLcXcpMJpV0NRPfihFTYLqN0QnWO6W4HE6a5Mx
	JQs0BIib7zPnfhdWaVbEzdcq8Kk5Z6n2SLJvPljB05mdWzMYwZ9dCP+JpI9lHkSOmcctmCmfQ=
X-Google-Smtp-Source: AGHT+IES0Ac/vQUnMVXQTrNGb3vQdoIKL/A0mp3asKsEsBHGfToNYkaTtjt1n1YWbGsTiay721T4hg==
X-Received: by 2002:a5d:5f52:0:b0:425:8538:d3f6 with SMTP id ffacd0b85a97d-42704d5354amr9902641f8f.19.1761040050901;
        Tue, 21 Oct 2025 02:47:30 -0700 (PDT)
Message-ID: <dbe8a444-daf2-4929-921f-704aa5f48cde@suse.com>
Date: Tue, 21 Oct 2025 11:47:29 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/5] x86/ucode: Relax digest check when Entrysign is fixed
 in firmware
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20251020131955.2928261-1-andrew.cooper3@citrix.com>
 <20251020131955.2928261-6-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251020131955.2928261-6-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 20.10.2025 15:19, Andrew Cooper wrote:
> @@ -597,3 +598,81 @@ static void __init __constructor test_digests_sorted(void)
>      }
>  }
>  #endif /* CONFIG_SELF_TESTS */
> +
> +/*
> + * The Entrysign vulnerability affects all Zen1 thru Zen5 CPUs.

And older ones are fine, or merely have no fixes produced?

>  Firmware
> + * fixes were produced in Nov/Dec 2025.  Zen3 thru Zen5 can continue to take
> + * OS-loadable microcode updates using a new signature scheme, as long as
> + * firmware has been updated first.
> + */

Yet what about Zen1/2?

> +void __init amd_check_entrysign(void)
> +{
> +    unsigned int curr_rev;
> +    uint8_t fixed_rev;
> +
> +    if ( boot_cpu_data.vendor != X86_VENDOR_AMD ||
> +         boot_cpu_data.family < 0x17 ||
> +         boot_cpu_data.family > 0x1a )
> +        return;
> +
> +    /*
> +     * Table taken from Linux, which is the only known source of information
> +     * about client revisions.
> +     */
> +    curr_rev = this_cpu(cpu_sig).rev;
> +    switch ( curr_rev >> 8 )
> +    {
> +    case 0x080012: fixed_rev = 0x6f; break;
> +    case 0x080082: fixed_rev = 0x0f; break;

In your reply you mentioned a "general off-by-1" when comparing with Linux,
but I'm in trouble understanding how both can be correct. Leaving aside the
1st line (for which you sent a Linux patch anyway), how can our
"(uint8_t)curr_rev >= fixed_rev" (i.e. "(uint8_t)curr_rev >= 0x0f") further
below be correct at the same time as Linux'es "return cur_rev <= 0x800820f"
(indicating to the caller whether a SHA check is needed) is also correct?
We say 0x0f is okay, while they demand a SHA check for that revision.

In any event, whatever (legitimate) off-by-1 it is that I'm failing to spot,
I think this would want explaining in the comment above.

> +    case 0x083010: fixed_rev = 0x7c; break;
> +    case 0x086001: fixed_rev = 0x0e; break;
> +    case 0x086081: fixed_rev = 0x08; break;
> +    case 0x087010: fixed_rev = 0x34; break;
> +    case 0x08a000: fixed_rev = 0x0a; break;
> +    case 0x0a0010: fixed_rev = 0x7a; break;
> +    case 0x0a0011: fixed_rev = 0xda; break;
> +    case 0x0a0012: fixed_rev = 0x43; break;
> +    case 0x0a0082: fixed_rev = 0x0e; break;
> +    case 0x0a1011: fixed_rev = 0x53; break;
> +    case 0x0a1012: fixed_rev = 0x4e; break;
> +    case 0x0a1081: fixed_rev = 0x09; break;
> +    case 0x0a2010: fixed_rev = 0x2f; break;
> +    case 0x0a2012: fixed_rev = 0x12; break;
> +    case 0x0a4041: fixed_rev = 0x09; break;
> +    case 0x0a5000: fixed_rev = 0x13; break;
> +    case 0x0a6012: fixed_rev = 0x0a; break;
> +    case 0x0a7041: fixed_rev = 0x09; break;
> +    case 0x0a7052: fixed_rev = 0x08; break;
> +    case 0x0a7080: fixed_rev = 0x09; break;
> +    case 0x0a70c0: fixed_rev = 0x09; break;
> +    case 0x0aa001: fixed_rev = 0x16; break;
> +    case 0x0aa002: fixed_rev = 0x18; break;
> +    case 0x0b0021: fixed_rev = 0x46; break;
> +    case 0x0b1010: fixed_rev = 0x46; break;
> +    case 0x0b2040: fixed_rev = 0x31; break;
> +    case 0x0b4040: fixed_rev = 0x31; break;
> +    case 0x0b6000: fixed_rev = 0x31; break;
> +    case 0x0b7000: fixed_rev = 0x31; break;

Without at least brief model related comments this looks extremely opaque.
Linux, as a minimal reference, at least has cpuid_to_ucode_rev() and the
accompanying union zen_patch_rev. Background of my remark is that I would
have expected there to be more models per Zen<N>, seeing in particular how
many different BKDGs / PPRs and RGs there are. Many RGs in particular say
they apply to a range of models, yet no similar ranges are covered here
(unless my deciphering attempts went wrong).

Jan


From xen-devel-bounces@lists.xenproject.org Tue Oct 21 09:49:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Oct 2025 09:49:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146929.1479266 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vB8zS-00024B-1K; Tue, 21 Oct 2025 09:49:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146929.1479266; Tue, 21 Oct 2025 09:49:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vB8zR-000244-Ua; Tue, 21 Oct 2025 09:49:13 +0000
Received: by outflank-mailman (input) for mailman id 1146929;
 Tue, 21 Oct 2025 09:49:12 +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
 <SRS0=M5X6=46=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1vB8zP-00023W-Uz
 for xen-devel@lists.xenproject.org; Tue, 21 Oct 2025 09:49:12 +0000
Received: from DM5PR21CU001.outbound.protection.outlook.com
 (mail-centralusazlp170110009.outbound.protection.outlook.com
 [2a01:111:f403:c111::9])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2eca128c-ae63-11f0-980a-7dc792cee155;
 Tue, 21 Oct 2025 11:49:06 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by CH0PR03MB6162.namprd03.prod.outlook.com (2603:10b6:610:d1::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.12; Tue, 21 Oct
 2025 09:49:02 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9228.016; Tue, 21 Oct 2025
 09:49:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2eca128c-ae63-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=N/Damgjetl/t8AZC/wLeG38ndezdDgifa67Herwe0nFHdEZIoxuw/1SFmqI1vjywlw8Qb504ypcKOIRc/JLLdoBsacW38mvZaAftx+pDOKXFg6NHy3HeNwJWUI5TJx6xcBk6sublXmqBDp6HSj5Q9NeIBcJN7p09b2hoJcbPDHEzn4yn+UBCDgS+uXMpxG8HGmbxpT5Q2W8sgQo1FKHdCUHhIXLyzHDndzh88axemTUpq8jlfk+Gky3NcspQnAiC2EKcYWiH9wuVbwNVCuDvHGlpakIM2f6dKcEKpPSKDHc2L3S4LRmT192A2yVP0V6L0qDIWzlYxLIukLXiMe/J9A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9xUQveSAMaTSWthRxxUkVrjXbBu/B05arQkqbfcOES0=;
 b=ZKNFnobMhfmdrH4uLemTv4f5MJ+bXDQrrmURRT03eOOW4nsaIFTVhLhQzFwZxCPQvPTexFVV10dKawsmzp9GSo9uRn4DETwa39bHO/GAwNBNTv2T1P8VW31sbejp93nFhyMSXNxWqRjeV6a1prZWjEetSpmVLoP7h2KGRON3OTYyEzXNY9vgHm/WbipDsC6SXxrMTBcQb9I90e6LCXDqCKRGli0eABvDQ9xfPlPVVhg60855SA4i5Ai67KVnhhw3KKCwZPuVrGQOrN5WiXc2eRo4ddB7eLUg0IKrf9puM2erfn+Bdw3i7CKF3fcvolGzCDZzVd8MFvlULrMu7ntSpg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9xUQveSAMaTSWthRxxUkVrjXbBu/B05arQkqbfcOES0=;
 b=pgi9vI3Pe+cDYwGIM3XMrhxvuwFgYdATKAn4RRzNX/9R+2KAskYgwH9XVufkeOzbDNzQF1UwPnFpC1da7IXKB+SRf5Kupbio5D5K7gOqj7zXxwzyE7kaNMtslCaZrkmgbimEiNmwrT4MlcjVMJM/EApC8AWlZQY/u3e3lkPIFfI=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 21 Oct 2025 10:48:57 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jason Andryuk <jason.andryuk@amd.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.21?] AMD/IOMMU: unshare IRQ .ack and .disable
 handlers
Message-ID: <aPdXCTvrcUHv2uQM@Mac.lan>
References: <3cfa136c-3689-4d47-8a69-ce7af12ed9d0@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <3cfa136c-3689-4d47-8a69-ce7af12ed9d0@suse.com>
X-ClientProxiedBy: MA2P292CA0013.ESPP292.PROD.OUTLOOK.COM (2603:10a6:250:1::6)
 To DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|CH0PR03MB6162:EE_
X-MS-Office365-Filtering-Correlation-Id: 386a02e2-258a-40fc-0e2c-08de10871082
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?NDZlRHpJK0FtczcrVlVwTDQ0VXI1Q1NsRUFyS1ZwUTR2RTlEdHVHQXpwWEU5?=
 =?utf-8?B?aDNjRnNrN1JoT0l2bEhlRndRZjUvYWxVYUxQbzQ0Uk1GSVB0ZWtnVlJjUHFw?=
 =?utf-8?B?M3l2bGZmcS9uSTFuNHVzdWM1Um50ME5aZkhNRjNucGVrOGtCdGNqeVhtM1Nn?=
 =?utf-8?B?NXczK25YM0pJMm93Z2g0bEZqSnBJVmhTYVlmY2RBeG1xUmNxNkFkVE5SZEEz?=
 =?utf-8?B?OS92ZkhxSW9sUnl4NWZRcEE4OUhJajJTWStmeFhNQk83YUMyTTBqaTZTUGUy?=
 =?utf-8?B?RWRzRlVLUTViZkhPbU5teWRxN3B3OC8reXVCajR2N1RlKytFbTJjVUVoVlJq?=
 =?utf-8?B?UTZ6SVpRME1tTHRTYnRNemJiTnB4NGlCSzEzeWtDdmVVREs2VWhtTVgrODBo?=
 =?utf-8?B?bzFUWlQ4cVFXRkNhREtib0xvNUxMcGVFQ21nNGtDejZoOFZmMGsxN21GWWpI?=
 =?utf-8?B?NXlDbGlvK0lZMDhRWkhrZ3h0Z25XaXBoTDcreTQvZDFwSVd1a1J2QjZkYjVk?=
 =?utf-8?B?Yll5NmQ1UjFwdzlJM2lGV3JNNmg0Zm0rYW5UeWtUREkvT0V6MnRadDQwUXRR?=
 =?utf-8?B?OXJKWGk1SC9UMWZLOFFxVVExbHZBdjRRZ1o4bUV4eFgvY3ZhSEpudlBRRHFO?=
 =?utf-8?B?VW0yK1lXeEJjVG1hbld5MlZuM05MRitBRUREMVNwOHRZTjI4SUpNQ1lEZHBa?=
 =?utf-8?B?Q0QxbkIrOTdsZjFiQ0VUQmYxdm9OWmtad1FSUjgya3FMbDE4ckNTMHZKL3ll?=
 =?utf-8?B?Rlp4V3JnNjZVWjIzSDg1cVJ2S3JpbG0vMTNwcmVyRWJJRVdPUTF2bUE3WXBZ?=
 =?utf-8?B?VmpJc2dLVlZoRGozSC9yY1BObFVSRk9DVFdERHBXTXpjVlFDcGpHUmRCbkpQ?=
 =?utf-8?B?dVFyaWttc1VKdjYvNVJFL2wrL2M5dTZsTytCMURsRnVzMGJhd29yUXRqRkNQ?=
 =?utf-8?B?eTUrRjRIOEdiTTBqa2pXUVBXejg3dGFkaCtIbWpNTlFhMHB4MmNWcWloRjBt?=
 =?utf-8?B?K0JNanBvMU5iVk9ETEdJMlRWaE1KVFExNVlkYjRHeWdQT0tONjlrZ3lYdDIw?=
 =?utf-8?B?OUl1Y01ocENEeEFzWUxqTStPM3FaVHh6RFdmcHlHN0EyeUtWZW9CUEVHVjc5?=
 =?utf-8?B?MDkyd0tRczJ1TWRTaTNyOUpLcjFVOVJSWHN6UUhFTkdqU3RONjJLMXBySTN0?=
 =?utf-8?B?RFdJY0hVbUxZdFFsWTBlTTgvclNVZnBmVm1INGhwNk5qZVl5WDB5K0NIQ2s1?=
 =?utf-8?B?anJ4ZWZCUVFwRTdNSDY0UDI0UXlSMWRkQTJzT3hEM0hVMEJ2TVpUU0NQcnRn?=
 =?utf-8?B?cXVZZ2lkT0pwTDdBaTQxYzdSR1dBbUdYRDYra3VaNjczdUNUZEJJQkpYU0dy?=
 =?utf-8?B?RFJkSVFoQnpiUzlOejl6ejhrWk82bGtxd3pJY21DRjRXNUsxdVVXeWJ2K2VR?=
 =?utf-8?B?STZaTlZzZmVHeWZyYys2RU1aelkxN25yUHE5SUxqU2l1NThvbnpFWExjM3Z4?=
 =?utf-8?B?VDV3UHA0aVhhS3VQQXRGVmF5SktBeWxpc0d5a3g4Z1FQUkFZZjQwKzNWNFlq?=
 =?utf-8?B?RmJrc244Wm5LM2VIQkNBbVdLcG9wVjV5L29ta2VPT3BScEVxQjR3OHA2c0pG?=
 =?utf-8?B?Q3lDRTdIRE1VQzB2b3ozT09UWldIaXZKM0g2UHNnMHZNemFxc1k3aEJQNDdJ?=
 =?utf-8?B?TEVSd1NQTkgwbWJYSzNyS3BCRjlmN3liZkxSZXlyMWovMmwvTmxUMHBsM1pL?=
 =?utf-8?B?OTA3dUtwSjRURmNGdlBUUk0rbFNoekZuVGg3Y1ByRmtzalpkdnVBL2VrTmNJ?=
 =?utf-8?B?WWNNRmI0S0YvbzVEQmFsdHlwaG9FTzhFbUJPSUlTTUFYcTZxcDdTV0VGY3Nk?=
 =?utf-8?B?Q3J1aHduNHkyOHlSL2xWaFhEYWNiZU9VQUUwUFhJbmJ3YzdOY2RXMjhSOUZp?=
 =?utf-8?Q?Skk0maQAbNF/MZ/akazUw1BX7hdH4Yne?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Mm1hNzNUcW5iU05vT2UzRW1VeFdOOC9NMDR0QXFnOW14K2gwVmx1b3ZpVDds?=
 =?utf-8?B?NGxhY0ZwR01INEdKOHRGQ1hVdUFvSDZnVHBvMDdOMlF1bnVKMVVDVS9ZWC8w?=
 =?utf-8?B?L2FMMVc5SjJDc2hKWXhXS2szRXZNM0M0a2d1ZHg3UHl4czQ1d3kvQXF3dmtX?=
 =?utf-8?B?N1VIZ1ZYN1oxMHo0WnVaa3lyaG9ieFFnN0VlT2Y0aDFQU0tpS1JucE9MS0ov?=
 =?utf-8?B?Z3J3blFjc0oxaUFxcm5taG1KMDd1bFhFb3J3YlQ5d1RXYlI3bGNvWEFWbDVC?=
 =?utf-8?B?NmtRaDJPODFZZGdLbmlVN2xIZGxVZ3VoR3dTTlhRUjZ3MHV2T2JEbmxLOG1B?=
 =?utf-8?B?ZHRoMGsrZXJxd3VvL2R1RnVmNGFhTC9NQ2lNN3BFc0xGaGtzb2ZQY3VHdEtN?=
 =?utf-8?B?eU4wY0VYeVppdmNNUjdVWmRPT0JzN25tekQyOUhZRWFPZFl0RFdRMXJjMDB2?=
 =?utf-8?B?NGZJRkg3QktveXF6Y242UzZxaG5KMHJIZEpWWlRHcTNTZkNFR05RR2RlRXFo?=
 =?utf-8?B?QW9Qc0xTYzRTY0hBOTNONWkyelNpeVVoalRsdXM5L210S0VNWUI2dFZVU2Zl?=
 =?utf-8?B?K21UZ3JBMk81bWNZd0gzSTl2KzBjcUo0bXFiVHdabEdlRUhaZ1JHZW5UdFVY?=
 =?utf-8?B?WFBFL09wK3JaakRrdXllOTVZOXZWQWZXYXBMZlFZbWx3YmJSbUpUTS9JWVlm?=
 =?utf-8?B?Z2NpNnNQcWhvT2xuUFAzbi80K2RqNy9uekEvczI4MWcvalNEaHJ1eHMvSXRa?=
 =?utf-8?B?WnQ2d0JwQm9QU2FCbUlUVWIxQ2pmcGk4dEVDSE1vbzE5MndiYkg1cmprckhJ?=
 =?utf-8?B?K2NUZkdGL2ZWSllBWEF1MTRXNm1odkZybmNvUGliQklrYVdQSjZWZnJzSkJJ?=
 =?utf-8?B?Wjd2VHhOUDJtdEFXeFhzbjQrb1lzUFQ0KzBuTENSU3UxYXk0T2xLOVVtUzNs?=
 =?utf-8?B?eGFucGxQR2hkbzgyNjVIQ3N1dW1sOHRVK0NLZWRXMjZnbXorTDV3MFI5VVlh?=
 =?utf-8?B?bFptM0NFUkhhY3B3aU9hVC9ZS2p2dExjNWI4bWJMc29vdWZHMXhwL1JMNHN3?=
 =?utf-8?B?dTkvUmlRWWdqb0pZdGxQQ0ZxTkRGZEZZNkQxVTg3Ly9rSndGbFZua0d6cVFX?=
 =?utf-8?B?ZXphUjgrY2EzWnkzYm10REIwZEE2Q3R1ZnpXVFR6SjB0L2NqU0VjMzk0Szdx?=
 =?utf-8?B?Q24vT3J3bVVYWVdTUm1raXo5VkNwUFBWYTlwb0l0VGhVaUNoNW9YMDlHZThq?=
 =?utf-8?B?K0VYM0szOS9aUkczUXI5S24rVDExRTBna1U2cHcvT2tBY1pRaW1PRnRJQm1F?=
 =?utf-8?B?QUVPYWJDWkpSOU15aXpvQ2tNaXRvbTEvNkIvbTZudWJueStLVWFtSlNVRjJy?=
 =?utf-8?B?bmNCQmtZa2JIcWl0N0JFU2FmOHhoek9HRU02NmN6NnRJRVZiVFZOclR5VElP?=
 =?utf-8?B?ZVpHcHNYNTI0WktkSkZQSEZwc3I0MUlTdFlsSGNlNlI2VFQ0VmVaLzZyZW1i?=
 =?utf-8?B?M0YxaDlhMlkrUFdIZy9RcWZkMTJuU2xFRkZSZEh1ZEF6Q25yeGt2T001WS9V?=
 =?utf-8?B?MDFIUDhncFUvalBvQzJYdWZHRHc2ZlBzMThsbkxTVWhqeVFyYkM1V05uNkVF?=
 =?utf-8?B?Y3ExTTN1Q2xGcEhWQnY1cFJ6UTZHTVkwTHZDVG9MaUpBL2RqMk5kUTlPVW5O?=
 =?utf-8?B?N21EelNMWFd5VnEyajVNTmJVSGpUb1RCRFIvSHAzczM2aVFRaGIxd3B6ZXMr?=
 =?utf-8?B?ZFRtcDMrT0NodTVESUJrdGlXRUd5WXNRMkw3ejlEdnVUOW9Kd3pQaEFXa3Bu?=
 =?utf-8?B?QU8yL0YzSmVGSkZYUnpleTIyTzRYR0MvNnpzM3NJVnRJMURnNDJRSks0a3Z3?=
 =?utf-8?B?bjFOandMdUtSMlNpcTErQWtSc0tpdlJyS2h5VkE1aTRIeFUvWkhGRS9FSUJL?=
 =?utf-8?B?bGs0aCtBWURqWGh3QkVpcGIrSVhaSGgydkpyWXlUU0t6cXF3RHVReW8rN25v?=
 =?utf-8?B?VnhOaDB2cXBYKzBEWGN1M0svNEpUVXNSOUFwOGxlUHA1M01VZEM2bDNSdnJD?=
 =?utf-8?B?a1FtY1lFMDFOcmNqWEx5Zmh6UzRJNHFaMWFlTEhtVER1bmduRkJoZE9CYUVk?=
 =?utf-8?Q?+7qIlBLuqf89waP0PT/whFJ8g?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 386a02e2-258a-40fc-0e2c-08de10871082
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Oct 2025 09:49:01.9787
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: TI+KbixX2NqklofQ+PEuW1c2VezyakUCg0jp+bqpMnkGfBAulmJWQweRmm19dCjKRfEJINTYcXR5ko/Cdtm7mg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR03MB6162

On Mon, Oct 20, 2025 at 04:16:13PM +0200, Jan Beulich wrote:
> A .disable handler can't typically be re-used for .ack: The latter needs
> to deal with IRQ migration, while the former shouldn't. Furthermore
> invoking just irq_complete_move() isn't enough; one of
> move_{native,masked}_irq() also need invoking.
> 
> Fixes: 487a1cffd71a ("x86: Implement per-cpu vector for xen hypervisor")
> Fixes: f821102450a1 ("x86: IRQ Migration logic enhancement")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> --- a/xen/drivers/passthrough/amd/iommu_init.c
> +++ b/xen/drivers/passthrough/amd/iommu_init.c
> @@ -428,8 +428,6 @@ static void cf_check iommu_msi_mask(stru
>      unsigned long flags;
>      struct amd_iommu *iommu = desc->action->dev_id;
>  
> -    irq_complete_move(desc);
> -
>      spin_lock_irqsave(&iommu->lock, flags);
>      amd_iommu_msi_enable(iommu, IOMMU_CONTROL_DISABLED);
>      spin_unlock_irqrestore(&iommu->lock, flags);
> @@ -442,6 +440,13 @@ static unsigned int cf_check iommu_msi_s
>      return 0;
>  }
>  
> +static void cf_check iommu_msi_ack(struct irq_desc *desc)
> +{
> +    irq_complete_move(desc);
> +    iommu_msi_mask(desc);
> +    move_masked_irq(desc);

Not sure it matters much, as I don't expect IOMMU interrupts to move
around frequently, but do we really need to mask the source?  The
update of the interrupt would be done atomically, as we know IOMMU is
available.  Anyway this can be done later, so:

Reviewed-by: Roger Pau MonnÃ© <roger.pau@citrix.com>

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Oct 21 09:56:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Oct 2025 09:56:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146943.1479276 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vB96e-0003nj-Rp; Tue, 21 Oct 2025 09:56:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146943.1479276; Tue, 21 Oct 2025 09:56:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vB96e-0003nc-P1; Tue, 21 Oct 2025 09:56:40 +0000
Received: by outflank-mailman (input) for mailman id 1146943;
 Tue, 21 Oct 2025 09:56:40 +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
 <SRS0=M5X6=46=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1vB96e-0003nW-6q
 for xen-devel@lists.xenproject.org; Tue, 21 Oct 2025 09:56:40 +0000
Received: from SJ2PR03CU001.outbound.protection.outlook.com
 (mail-westusazlp170120002.outbound.protection.outlook.com
 [2a01:111:f403:c001::2])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3c60b6ca-ae64-11f0-9d15-b5c5bf9af7f9;
 Tue, 21 Oct 2025 11:56:39 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by CH2PR03MB8057.namprd03.prod.outlook.com (2603:10b6:610:27c::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.12; Tue, 21 Oct
 2025 09:56:33 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9228.016; Tue, 21 Oct 2025
 09:56:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3c60b6ca-ae64-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=bQf5vRR7BBJUcxELEbjWDWuI4zmALUDZRpX7EQ/w2tu5lqbdSlG9A8u/bfW8xSKlYjBr74TlmCiWtMAH2kVrB0LGl+Rmeemxz2ZDQbHO+YbwYV+2ogDyud1rSFVZHfZvxxqHqPMLRz1/HcvdAeGQ7wy/rpMnhbBJf9DowK8EVD66/ss1tSmk3J15XfsZyGxM0lww2ekLJvwEzHjiOkYwGo+7hv3kYobxtE2tEf3FdwFIN6ybkO8Bk69LVx5nbgckfKljECQMK+dMA5F7nXB3RNR5r0VwFejUI5pmq81wzMQZjRaiH8MfypZHKqM/UQmDHlriopGxY1oqZUhm+Lkseg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=q6Rf6PVv7a2t+qr29NjigOfDiFIdJWfUU2V1r+0wO38=;
 b=vl55A6+50Fti/ElxQat23RljlSbfURcyGilm1ZeMGRd9vsb4Mk7QamkcW6FzRWyPFfe0vFFQCXupcayAJOXNI1uVX15yEx+2gg1z/ADSQ6dI1VWv/CSmMlOR8C3JkPSNqWvXYW4Y0usd0IyvuEer+0Gw2XZQTgTslv+q7KeW83+Qe6itPtM6Vd1JFHRWrGVjJ0uUTMOafhBomt+v9nsyICPwVOG/wj/uDITqXdwvT+o/AoCdLAFLFjJRDD2eBTeMIIs7boArXPh+NKPXx5sFNFXtxeCYykqGR9XvvC5J0ZqaeM2vhGMF44NdTioWdzhaalBDi3zQS/vuU8226dfTHA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=q6Rf6PVv7a2t+qr29NjigOfDiFIdJWfUU2V1r+0wO38=;
 b=N84q0eR/plaGL8jxWGfyRQtCKvnwcqZydbpPWD3ZDEcq2bJDF3AUzRFsJUYekIekdRP2YBQDC/ekKbKZ4TqVfBGmfWM72V1a7/GeE6eueE4AMrmfCt0g+3Jjwv8AE+7hSWFRgnlIidTPR3DsBHXkiOF7E5w4IVKRVdP3bvvH4yc=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 21 Oct 2025 10:56:28 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>
Subject: Re: [PATCH] symbols: discard stray file symbols
Message-ID: <aPdYzDVniMV6-bHd@Mac.lan>
References: <2412a7a0-bdcd-4647-8ea2-8d2a927dcde3@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <2412a7a0-bdcd-4647-8ea2-8d2a927dcde3@suse.com>
X-ClientProxiedBy: MA2P292CA0017.ESPP292.PROD.OUTLOOK.COM (2603:10a6:250::20)
 To DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|CH2PR03MB8057:EE_
X-MS-Office365-Filtering-Correlation-Id: 0f84b4f1-788f-40c2-4222-08de10881dae
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?bm9URjFnZWFEcExxTHYwcEh5YUEraEQvRXV3S0s0Q3V5MUJqRUlLVlp1NzN5?=
 =?utf-8?B?bGsyM1UzeS9DdVdZMjRBZ0hlSm5qMklQRkRUQ3dtNy95OGNNSU5vWnFUWm81?=
 =?utf-8?B?NnhCcnV3NUZ6TG1FaStMdGQxY0tKUU9BTExWM2hWd1NFVi9JVHZVcFhtZ0di?=
 =?utf-8?B?eFFQTUl6NmNsaHNSb3lkL2ptZEg4UXhJbFV1a25jOVRnaExhbzBzb1BpSE1K?=
 =?utf-8?B?UlJFeDBZV2c1Qi82S0VKNjliYkgxNS81S2FZZExsUkxIcXJxNElPUER5bnRH?=
 =?utf-8?B?MDJ6TVRYZWtoTG1NOTJXTDNCOTR5eFVpSVpQbUhyRWVFQ3ZJM2Y5TFhJRmRU?=
 =?utf-8?B?Ri9iekpnZWJYRVBQYy8weUhpTkVkbVJYbVBNS3VIaVQvb3N0QlBWY2p0bWlT?=
 =?utf-8?B?U0t4ZGIzZVc5bkFkRU5xTzJ4Z045bnZyc0VZdEJLZGhrZnpGUVBHb1RWNWhH?=
 =?utf-8?B?VkRVdVZMUUMxYkluMnJtNEdxWml0RUFWcVJoZi9YMEtWN2VlNTFDTDhBSlRI?=
 =?utf-8?B?WDMwVXpCZmxJUlp5ZWRLS1IxSDF6VVRHc2ZOV25tOHd6RkR6N2I4NTFVbjRE?=
 =?utf-8?B?VHRHUTJuVUUwM3RrSnBiQkVhOGd3Q0xjZWd1aDVnZXdTNlZHZFpGUXhNVmk1?=
 =?utf-8?B?WDFnQkE2R3hkZHdiTmJ0Y2pCaGhBZ3A4OFJPb0hNQ0J2QzdieFFOZFhpeU1h?=
 =?utf-8?B?eDNRS3puQklmb21jeDNKUXgvbG1sVUdqV2RXc0svcGRaaEhBMlBBRTg5SVIz?=
 =?utf-8?B?MjRhWHN0NHVZK2p0bzRra2toMUxvWmRlN216MUNuS3lqaFNEL2tiRy9hN3pu?=
 =?utf-8?B?c1prMzZyMnZQdTV3L2tnc2tMdTR2NG8xWGdXdUJzTm9kTE10YVdPeENaZDZH?=
 =?utf-8?B?QytRelRlclExOG9OZVc2Y1dobFJkV0duQzlNWVo0YVRKK3ZiSHFaZVU5ZWRt?=
 =?utf-8?B?L0tkV2JqVXZLdWpJRytYRVJFY3RpdjZ4bS93NFBnOU9DYnF6NmYwOWp1QlU4?=
 =?utf-8?B?WXllMVUzTnJEOVlaZksxWW1KOWJDb0tydjN1eVRTNGQ2NEtjL1p0N1Y2MzRJ?=
 =?utf-8?B?NzRDMWNQWGhVTmVFemZsYkNxaHR2WW5lMFBQcGhsZURiVlRKemVOSUZQYVhO?=
 =?utf-8?B?NmhnU3RtV0o0MUwyWEozVnJyandKVWlFSHJ3eUJLWWVuYkJnSDRRRGNyc1Ro?=
 =?utf-8?B?SnZUa2lONklVU3B0S0k5Y1RzWlZ6eDVjajNkdnVYenRZNmtRNjU5RTR0NzJz?=
 =?utf-8?B?TWRjcEtXUmZyOUZNV3J1RFNnNVI5bk1pNGZ3anBsckNsY2tVYmFWd1N6MEFD?=
 =?utf-8?B?b29TeUNwNDhLWDhDakxrRThTYUNoejNoeDJpK0E4SGozeStPamNZM085MHl4?=
 =?utf-8?B?cW4ySmdKZzhXeVVCeFFoaUtESS9FejBHZjhNTEpmajRiaEhOdFFoSWxnMGRN?=
 =?utf-8?B?aXdWYkIzU2t4K2ljRDNCQit5ek5ZOWMzaGcxOEJDRmtLZlNuRmU3NUxFbDdY?=
 =?utf-8?B?NDQwNkNWYVFwWE9TYVFmbnFndUdVQzZUays2ZVI4S2ZGZTRXSE1Va2hsN1ZW?=
 =?utf-8?B?cjVBamgrcTJiNHpHS1U3NUFJU2hSS3hnMmlRMWM5em1QR3BBR0w4M3c0ZVlm?=
 =?utf-8?B?bnhnOTRiazQ5cHFnczFhS1dJVXhNSVBVU04wVVhBNWNLN0puc1NtbWs3MkVm?=
 =?utf-8?B?NzBpOUdrR0xsaUNZSVlobnAzWGVoQ0c5OXJPd0N2TlByQndtUyt1MDVCVGJt?=
 =?utf-8?B?cytoQnREK05lS041NjBWV3RKNEp5d0Yxa0xFVmkyWUNJV0lPcU4rSzJSR0ZM?=
 =?utf-8?B?RXBLbUI0Q0h4cEpoVkw2TXB3SFhKL0V3YXlkVTczOXFNU0lBQ1E5Um45dkE5?=
 =?utf-8?B?Qm81ZDZsVWZLYVZ6UHNrQ2pxNjBBSzc5RVRhZkl3Zks1RlBnNVpqZlpVbXkz?=
 =?utf-8?Q?5vF2Pv8iEKTT1mLx/c9VwvE6dadWE+yL?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dTY3NlJpd2tjaFlWVjJCekpKaHNxWU56SE0yU2xsdEltYm54Yy81NUlVLzhP?=
 =?utf-8?B?SmF2eThQUnV1WU5hSXp1TVh5NHYvVGVrUTAxYytyZkNXM1ZKWDVZTGMzUlFP?=
 =?utf-8?B?Q1lUQzRmODRXdEtCeVkxTVdpdjR0SjlMdStqQ0tQWlFZaGV4UE9CZm12YTF5?=
 =?utf-8?B?aWthdlZibkZTVmhoenIvSUhrNURjb1BSNzlwRTBaejc3VTh6dFI4UkFnQ1lx?=
 =?utf-8?B?UGZ5VkhXejZ4ZENuOW5tSDdCWGY4emxhNHQvRXNSQnVNMXI0U0VxNVFVNWQ0?=
 =?utf-8?B?anBMYXhHZmtYcCs2dVdxeXEvQVF0YndxY3drdEQ1dmFObDl2OTZGOHNYZThU?=
 =?utf-8?B?RnQrR0lTTWd4am1lNmVGaXhPVXlzdkw4bHVQUXhkV2ErUkF4ZkJxVHhNcDVl?=
 =?utf-8?B?elN6YTltOFZ5T2toejFsaXlDdTRHdlkyT0ZyeFQzcEp1RHhoRE5Vc2ZDMzBF?=
 =?utf-8?B?aXpuLzByNWFUbFBXTWYycUpJa0hqd21ydittcVhLZ2NXVlk3bHhoUUV0VWlF?=
 =?utf-8?B?Tml1azd4aXJ3ZVBFRG1YRTZBajBLNXhtdE9IVVBCSHlvc2lXQmw4d2pMYWZn?=
 =?utf-8?B?czVqTDBRSXhVZjZ0WkZVMU02YTN5MzZtQUtlaHAwMmhVM3AzbklBZ2wwTWxv?=
 =?utf-8?B?WVJDMzRMQ3VkNU9zVDhKU1hXeG5Md09HbXp0SFg1MjZTbDA5S2pVVTkxbVg1?=
 =?utf-8?B?RUs5c0IrWC9WS2FrTnUxNDc1Y1BTYjlrNTZmRkFUcGJZWE0xVjltUHlRZXEr?=
 =?utf-8?B?RHptcjQrbGo2UjFicGJaaUxBSllVRXljK2lPU0l4MjBrZDRPUFp4dllhTDlh?=
 =?utf-8?B?RE9rMWJqS2diOXEzNUpBQk8rSk04SVJWdWw0a3ZPOGJyK1ZwRlFKenlEQ2tJ?=
 =?utf-8?B?WXozdVdxcnFERE5vbnNMY0tUaHQybTNNdUZZTzZUYitiTWJSNjFBczI2bzcw?=
 =?utf-8?B?UU82N2JtOUJIbTFMMUg0dmpURG10alFJNG9nRk1RbS9OaFgwblIrQmlXcmU2?=
 =?utf-8?B?SFdpb01wa2EweDdVcnRTRWFkU0R6RjF1MTNMdUJ4OWE3eklRSHd2dXhBampO?=
 =?utf-8?B?T2gxWEVLZHpwdDNxNU1wdG81ZmdObzFaYTFPTWhKN3VCU3VtaytCTk1zeEIr?=
 =?utf-8?B?dnFzRDdHeXNIL0NXYmc3NUgzVHFhbm4rU2FzMFpaYlpmUVZ1THlET20wSTF0?=
 =?utf-8?B?MkNiazF0SkU4Q3psc2lFNEI3NzlZYWRoai9xTy8rYzl6bmk4N0tJMzBuS3kw?=
 =?utf-8?B?dEF3emkzNHJLdnVNSTliY1RGbGtoeU1TTW1RY1p5czQvQ1N2Wjh3UThuTXJG?=
 =?utf-8?B?a2ZGWkhUTUlQZm8yT0hid01KZ0h1Rkd2a3M1eDJSYy9ObkpMVVk5QTFUUVlU?=
 =?utf-8?B?d0VjeHMyQTJmSEx6aXJJcmROVlk0VUYyYU1VUHQzakp1UEhNeXNkcm0xUWdU?=
 =?utf-8?B?RitDb3NSZWg5YXBielo5czFzT1pCTVpLNDQ4U3pJaUdTWUhMVXdOU2hTRTds?=
 =?utf-8?B?TkR6K29UM1ppZ3BiU0NKMGM1V1lkc003RjVRYTk4bnBOZ0gwVVdQOFY0VzZo?=
 =?utf-8?B?ejd4N2czbTVlUlVtbWFkU3FEUk40TlpzajZYNW4vSGhqMy9zWW10RzlrNDhz?=
 =?utf-8?B?VlhEazhxdUxBTmhmWlg5NXkxYWVoT0lnbytzVE9ydU5zNk5pdW93L0tIcnVz?=
 =?utf-8?B?VmZ2ZjlBc0IzNVhBNDIrQ1pseWlBTEhBTzBrT0xDTEgxelk0akJwczNHb0I0?=
 =?utf-8?B?alV3UEp2NkJ6UTB6UGJQWHNUUXNqK0sycm5KSVlVSUFIeHZwZGxFUWJvMWdj?=
 =?utf-8?B?TTN6YkMwaHYveEVXUXhZbnFoTWl4NVFkQnJsNEc5VWkxaXcreEt6d00yTUtD?=
 =?utf-8?B?QTkvUFJsRHNQUTJjdUEzZ0lWQTdIeDFteGdiaGhxVG5UNVo4a1NoaUh2b0Nk?=
 =?utf-8?B?UFNXR0tNd3VyZFFKa1BmM1o4TDNWbnpiWUpaSUxVZi9nRktwOVJXN0sxR0dU?=
 =?utf-8?B?REEyK05hUGxVazUySFFsVmQ3YVA5WTBPK0cxT3dFL1Z3WTdmQjBWUGpNNVZE?=
 =?utf-8?B?SXNWbE44UHovc0VicEp0Y1dGbU56OTFQMGVqZE5XeDNQN24rR25ndjlPNmxV?=
 =?utf-8?Q?5JYQqxKHrJUoKlJlfKrEOHJxG?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0f84b4f1-788f-40c2-4222-08de10881dae
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Oct 2025 09:56:33.6442
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /wsjGtJdVUOsq5qHuln+HTzAbmYR4eIH571WzSU57M1uNx1NTpPPjTubx8jzsTcgLuQqIWrzyeOP/YYTxgRuNw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR03MB8057

On Wed, Apr 16, 2025 at 11:00:57AM +0200, Jan Beulich wrote:
> By observation GNU ld 2.25 may emit file symbols for .data.read_mostly
> when linking xen.efi. Due to the nature of file symbols in COFF symbol
> tables (see the code comment) the symbols_offsets[] entries for such
> symbols would cause assembler warnings regarding value truncation. Of
> course the resulting entries would also be both meaningless and useless.
> Add a heuristic to get rid of them, really taking effect only when
> --all-symbols is specified (otherwise these symbols are discarded
> anyway).
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Roger Pau MonnÃ© <roger.pau@citrix.com>

> ---
> Factor 2 may in principle still be too small: We zap what looks like
> real file symbols already in read_symbol(), so table_cnt doesn't really
> reflect the number of symbol table entries encountered. It has proven to
> work for me in practice though, with still some leeway left.
> 
> --- a/xen/tools/symbols.c
> +++ b/xen/tools/symbols.c
> @@ -213,6 +213,16 @@ static int symbol_valid(struct sym_entry
>  	if (strstr((char *)s->sym + offset, "_compiled."))
>  		return 0;
>  
> +	/* At least GNU ld 2.25 may emit bogus file symbols referencing a
> +	 * section name while linking xen.efi. In COFF symbol tables the
> +	 * "value" of file symbols is a link (symbol table index) to the next
> +	 * file symbol. Since file (and other) symbols (can) come with one
> +	 * (or in principle more) auxiliary symbol table entries, the value in
> +	 * this heuristic is bounded to twice the number of symbols we have
> +	 * found. See also read_symbol() as to the '?' checked for here. */
> +	if (s->sym[0] == '?' && s->sym[1] == '.' && s->addr < table_cnt * 2)

Maybe a naive question, but couldn't you drop everything below
__XEN_VIRT_START, as we shouldn't have any symbols below that
address?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Oct 21 09:58:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Oct 2025 09:58:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146954.1479286 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vB97w-0004Ig-6L; Tue, 21 Oct 2025 09:58:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146954.1479286; Tue, 21 Oct 2025 09:58:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vB97w-0004IZ-3K; Tue, 21 Oct 2025 09:58:00 +0000
Received: by outflank-mailman (input) for mailman id 1146954;
 Tue, 21 Oct 2025 09:57:58 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <anthony@xenproject.org>) id 1vB97u-0004IP-ME
 for xen-devel@lists.xenproject.org; Tue, 21 Oct 2025 09:57:58 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <anthony@xenproject.org>) id 1vB97u-00CfXG-0F;
 Tue, 21 Oct 2025 09:57:58 +0000
Received: from [2a01:e0a:1da:8420:b77:bd5:6e45:7633] (helo=l14)
 by xenbits.xenproject.org with esmtpsa (TLS1.3) tls
 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96)
 (envelope-from <anthony@xenproject.org>) id 1vB97t-005Tey-2u;
 Tue, 21 Oct 2025 09:57:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=In-Reply-To:Content-Transfer-Encoding:
	Content-Type:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date;
	bh=1Gsvqf3e/LzqT4p8LcpYiLytYpOlg0dgQVtmRDGm5Bw=; b=f0oZ5aqtzoHgZNMwi5CuTJNSTQ
	pmn2ablG0HC0EEH60vhTsjFG+XYiVNkfKzxp4yVRYMTFeG7UIjXrpPhml3KDY6iLiULTpG/lvvYOm
	ZdWqFmeJqLLitDbDJQHSmktIqMB80JGPgwA/jJDB68RoQujhZYdeixqf+YUAJFDCTLxY=;
Date: Tue, 21 Oct 2025 11:57:56 +0200
From: Anthony PERARD <anthony@xenproject.org>
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, oleksii.kurochko@gmail.com,
	Anthony PERARD <anthony.perard@vates.tech>
Subject: Re: [PATCH for-4.21] tools/xl: fix for dead code in
 list_domains_details()
Message-ID: <aPdZJBdAOqiy1Bgl@l14>
References: <20251020121959.54337-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20251020121959.54337-1-roger.pau@citrix.com>

On Mon, Oct 20, 2025 at 01:19:59PM +0100, Roger Pau Monne wrote:
> Commit d0193c6d6716 introduced checking for the return value of
> printf_info_one_json(), but failed to remove a further check down, which
> now Coverity complains is dead code.
> 
> The correct fix is to make the call to json_object_array_add() conditional
> on printf_info_one_json() having been successful, so that the further call
> to libxl_domain_config_dispose() is not avoided.
> 
> CID: 1667251
> Fixes: d0193c6d6716 ("tools/xl: check return value of printf_info_one_json() in list_domains_details()")
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Oct 21 09:59:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Oct 2025 09:59:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146965.1479296 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vB992-0004qE-GS; Tue, 21 Oct 2025 09:59:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146965.1479296; Tue, 21 Oct 2025 09:59:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vB992-0004q7-C7; Tue, 21 Oct 2025 09:59:08 +0000
Received: by outflank-mailman (input) for mailman id 1146965;
 Tue, 21 Oct 2025 09:59:07 +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 <SRS0=9TpK=46=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vB991-0004pz-5f
 for xen-devel@lists.xenproject.org; Tue, 21 Oct 2025 09:59:07 +0000
Received: from mail-wm1-x336.google.com (mail-wm1-x336.google.com
 [2a00:1450:4864:20::336])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9496cc6f-ae64-11f0-9d15-b5c5bf9af7f9;
 Tue, 21 Oct 2025 11:59:06 +0200 (CEST)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-47495477241so5869705e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 21 Oct 2025 02:59:06 -0700 (PDT)
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-427ea5a0f7dsm19271386f8f.4.2025.10.21.02.59.05
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 21 Oct 2025 02:59:05 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9496cc6f-ae64-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761040746; x=1761645546; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=QZbqOoTIxWA7VAksPbBFHi9ACZ/PYH/YoqygEpm6rDM=;
        b=F7St/lgT/8uRwsKPJOOQKP/yj+HZEZCyKQS9YlnwxQRtUHqsfAAiAmvJ2AMNv+VPCd
         H21TCUypLX+Bl0wVkvaw42pWgBmPsdpPvYSEkrVbb/o1fVxZkgDfTpP3GOMI9OUODg4Z
         ydm4BgCrBZF/qX5WjchBN385l9ind30muq2FDIrusJXZvLgz8Y+DfCjfV8czTacUxf+Q
         Fy5MSNSctjS59rdIdWkysC73TSSOTAVEQDZMBxnYct/gNmkurMd4Au6rvxvbO1uyo2MR
         IFvDlqGkjYhKdALAreHG2Q4SU0fZVAG1ZaC9zd5nHHj7cmmSsdHoUwt5JK1aOM2SskVr
         d+QQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761040746; x=1761645546;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=QZbqOoTIxWA7VAksPbBFHi9ACZ/PYH/YoqygEpm6rDM=;
        b=jlybqVHNflGJV8YcZr2IuSeNd8XcPr0jivbiEdejWRJNhQ0VzvFW0iFWZJy4X00J+3
         fvQPmO4nEyi6vjJD8iB9gR1CbTnIdufXhNRvSuPfSub79kCVSyUALVlvCw0c3zQiKKLf
         L1CzIr32ViKCkgLmQj+apfOBW5IAVHdxlMOuCAgFiRXIGpWh6J1O73bM0gWgD1wWK8Bp
         FfJGT948CGvIBtA6hhyBvPVLmKyEbEHJRF9ImcjwBv4IC3O9yaGPt6xpUqQWSbrE7sSP
         GKAtbBytRWS+cSMztwm6F052CirTpdP/F1IxF4s2W5JRMasplBmMMK+9A+EQFJEorDgR
         vSIw==
X-Gm-Message-State: AOJu0Yzr2R0az1eecTkTVcELWswFfMBV/p0NngmDaQ/Tm7YkYQem8rlc
	BS/6omio8uAR6lsN4Ux/DSDfm8cdrDAABo4hpFmRhFhw4P3eySKQtq6l97BqbwuhzA==
X-Gm-Gg: ASbGncs7x+uZrZxty9/6xwCK/7fcA4ddYJBHzp3ovPxTqHlEvbQOugInByvg0GjAcjo
	1O4r5Rw/MnoQ41voZknO8yd2OQ2yJcKS+DeRnF19Uzz7obK+LesDCm6Ink440VBjNqxyvcwIW91
	i70kJw9epQGqI3ZIdh8ob7uQcqIRBbOwjKp8/tHGFhbpDRfWKmswBhFuXhMKX6FU9rDSHauqX3E
	RU3HDcBNCYCLcrNallghK9X+z84lRXcmu7LlKX2A6fw7X+FLVw5O8cq6Kmkm8mHDezZ+e1eFWO7
	PpobuZKcXEsiSYa0bIQPXKISmuSoN6oDh1viS2XP9NxJQfL53/wG9TWVlmw0tZI6IzoZMA9QdVo
	RMJVDFaBq25IOztnHMowijxqVncBLczxbGZH0NuCPNehMPl59VkMoqjGN94UmihDfEeX7DCHyE6
	V0F4qM8xFhxzmpphjkNyZzfMvHIC/Xn7tQS15bGIlkr+sinpL7GT3iUJurHeTqZbP20cmMnUk=
X-Google-Smtp-Source: AGHT+IHbExcTMZ02DgoZTE8/XYP0KdJQTGvqnXUpL5h+DpaMhQZSbE49EufdLN9g0eMbLduPMxZRTA==
X-Received: by 2002:a05:600c:8b30:b0:45d:f88f:9304 with SMTP id 5b1f17b1804b1-4711791cbcbmr123457725e9.30.1761040745669;
        Tue, 21 Oct 2025 02:59:05 -0700 (PDT)
Message-ID: <5b98c3a7-c3eb-41c5-af60-2ade0556085a@suse.com>
Date: Tue, 21 Oct 2025 11:59:04 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21?] AMD/IOMMU: unshare IRQ .ack and .disable
 handlers
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Jason Andryuk <jason.andryuk@amd.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <3cfa136c-3689-4d47-8a69-ce7af12ed9d0@suse.com>
 <aPdXCTvrcUHv2uQM@Mac.lan>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <aPdXCTvrcUHv2uQM@Mac.lan>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 21.10.2025 11:48, Roger Pau MonnÃ© wrote:
> On Mon, Oct 20, 2025 at 04:16:13PM +0200, Jan Beulich wrote:
>> A .disable handler can't typically be re-used for .ack: The latter needs
>> to deal with IRQ migration, while the former shouldn't. Furthermore
>> invoking just irq_complete_move() isn't enough; one of
>> move_{native,masked}_irq() also need invoking.
>>
>> Fixes: 487a1cffd71a ("x86: Implement per-cpu vector for xen hypervisor")
>> Fixes: f821102450a1 ("x86: IRQ Migration logic enhancement")
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>
>> --- a/xen/drivers/passthrough/amd/iommu_init.c
>> +++ b/xen/drivers/passthrough/amd/iommu_init.c
>> @@ -428,8 +428,6 @@ static void cf_check iommu_msi_mask(stru
>>      unsigned long flags;
>>      struct amd_iommu *iommu = desc->action->dev_id;
>>  
>> -    irq_complete_move(desc);
>> -
>>      spin_lock_irqsave(&iommu->lock, flags);
>>      amd_iommu_msi_enable(iommu, IOMMU_CONTROL_DISABLED);
>>      spin_unlock_irqrestore(&iommu->lock, flags);
>> @@ -442,6 +440,13 @@ static unsigned int cf_check iommu_msi_s
>>      return 0;
>>  }
>>  
>> +static void cf_check iommu_msi_ack(struct irq_desc *desc)
>> +{
>> +    irq_complete_move(desc);
>> +    iommu_msi_mask(desc);
>> +    move_masked_irq(desc);
> 
> Not sure it matters much, as I don't expect IOMMU interrupts to move
> around frequently, but do we really need to mask the source?  The
> update of the interrupt would be done atomically, as we know IOMMU is
> available.

First I wanted to keep things in sync with other, similar functions. Then
the masking here may be not only about the moving, but also about this
actually being the .ack handler. In fact, when taking into account the
combination of both aspects, don't we need to deal with the case of this
being the last IRQ on the "old" vector, with us wanting to prevent another
IRQ on the "new" vector until we actually handled the IRQ? The LAPIC ack
(only done in the .end handler) wouldn't guard against that, if the "new"
vector is a higher priority one than the "old" one.

>  Anyway this can be done later, so:
> 
> Reviewed-by: Roger Pau MonnÃ© <roger.pau@citrix.com>

Thanks.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Oct 21 10:02:44 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Oct 2025 10:02:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146975.1479305 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vB9CR-0006PU-Tl; Tue, 21 Oct 2025 10:02:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146975.1479305; Tue, 21 Oct 2025 10:02:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vB9CR-0006PN-R4; Tue, 21 Oct 2025 10:02:39 +0000
Received: by outflank-mailman (input) for mailman id 1146975;
 Tue, 21 Oct 2025 10:02: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 <SRS0=9TpK=46=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vB9CQ-0006PG-3s
 for xen-devel@lists.xenproject.org; Tue, 21 Oct 2025 10:02:38 +0000
Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com
 [2a00:1450:4864:20::32b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 117c8e90-ae65-11f0-980a-7dc792cee155;
 Tue, 21 Oct 2025 12:02:36 +0200 (CEST)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-46fcf9f63b6so29612095e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 21 Oct 2025 03:02:36 -0700 (PDT)
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-47494a91c47sm15476155e9.1.2025.10.21.03.02.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 21 Oct 2025 03:02:34 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 117c8e90-ae65-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761040955; x=1761645755; 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=CN10TbGqcRdEPaJIFMAwTedsuIkuHG9llWs0il6133g=;
        b=J+dWVM9JilkT5k7eVSgN52Iw0clxznSpwekpAvel5dzfMkpAK+rKs0J/vMhKQI8PTu
         JKXTTvodZRddls+RzheiJEYB+pM+pvBE3H0UtMIFqo04mz6aBk+9sncWaQe07Ag4NNoj
         h06Twpzdx21q7RYHapeVBPlfUh0fdm8EQmwRdIib4M4bo2Kb2nUApLDZdEERDOxS9TW9
         tznb9LqTTrzjAaqfWon3rZYmBk1mVL4flX4OUh1KbQLCxincolo+g9kbDOIcDVqaVUU6
         Zvsco/lmM9RegAZR/T8s6GCb5bHh8bYZ8ggF2TUrJ6LwWkBHvW0KnL+gSDviWSiISbTd
         Xkvw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761040955; x=1761645755;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=CN10TbGqcRdEPaJIFMAwTedsuIkuHG9llWs0il6133g=;
        b=jticGCORZkSazI8VCJS8W1jNDKhH2CfJ7U/+JmS3fKoj4VvIxsnx2gYjXS1rUAnppq
         flhJbIob/bs+/2yVl8HRWstbs8HyHKqGZviZpssufkCls1DxyweuV699JymzM9413NbH
         9R9+ISynN+VYELSLrtbHX3f6l8VRS6VIWjAtE2WtTCUfqpVh6VMLNZxiWmF1ljlEHqlE
         4GfaVjuH5AohRn1cf3zQ338uda32lFqRaFa5KweE5/4rG54z11L6GA0g38feecTxZvUS
         KSKfSTNhZelZAAeYCK5s9Fcm6l+/P9ubp4YtW78eRJb39+P5+HvYMu5pORIOHswMz8/z
         joiw==
X-Gm-Message-State: AOJu0YyJxsIWNHz1nQ3LrCvy6oULMTGSx1vQhOXjaX2gKGB8wNOvGZEW
	QruYNZa9+Ubzzu/Gpybyt7ze5X6Qj2AODi+9dugogVk5Gbz0d1P54napEaH3FqL8Gw==
X-Gm-Gg: ASbGncvwOFVQBodjZmz6gNalDueD+BBZGkdi0Kxy19gl5NLcEqw4MOpdzTW76KitEbg
	hLvSc/gvtI2IQuzysxaBXQ0WlWOq6gKMEHpfqobd4bXtE5BFJUOQJB39pnUBTrsOU99koLtbVZ7
	O0wLCIvOL5QfoEFemxMoZfBGs7pohbLl2C2ZB4169/l5juKdIu+aBpx4HnOSeCHJw4hJhvd3plN
	T9ewmxcL8vjwMZ7HywMsqy2pYcHUSOAApSijZFJoEpfjT9neLax+WlNl5lTuGRFQk+tcDkGSjVM
	UOpW22XZ0La8WsgicQzzwDmnKSUKPfrWKamxehAEMU9VORBn3nZtYNwB8FL3snBwosa0wlBlwf6
	8gOBdC7TR5wYHYrrLZU5RSSfRCYIXpO4jzvGMdG+sYqt8/XkOD3VuX5ebA0ajr1vA0wSm+gKIFi
	cmcj+YIfMFB5zMp9JZBYwL5vtDRu7tVdprlPB3RYfRKw6GvIag7+1mr34oHXWk
X-Google-Smtp-Source: AGHT+IGzCRu54PK1C2JKVlEeenAE9Zd1KXtiLJ/NP+4KRPksGpEApozLymKLUJ11J4I9Hxut54tn1g==
X-Received: by 2002:a05:600c:450a:b0:46e:442c:f5e1 with SMTP id 5b1f17b1804b1-4711791cb1fmr123629665e9.35.1761040955060;
        Tue, 21 Oct 2025 03:02:35 -0700 (PDT)
Message-ID: <434fd92e-911f-41f5-99c3-706122631960@suse.com>
Date: Tue, 21 Oct 2025 12:02:33 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21?] AMD/IOMMU: unshare IRQ .ack and .disable
 handlers
From: Jan Beulich <jbeulich@suse.com>
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Jason Andryuk <jason.andryuk@amd.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <3cfa136c-3689-4d47-8a69-ce7af12ed9d0@suse.com>
 <aPdXCTvrcUHv2uQM@Mac.lan> <5b98c3a7-c3eb-41c5-af60-2ade0556085a@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: <5b98c3a7-c3eb-41c5-af60-2ade0556085a@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 21.10.2025 11:59, Jan Beulich wrote:
> On 21.10.2025 11:48, Roger Pau MonnÃ© wrote:
>> On Mon, Oct 20, 2025 at 04:16:13PM +0200, Jan Beulich wrote:
>>> @@ -442,6 +440,13 @@ static unsigned int cf_check iommu_msi_s
>>>      return 0;
>>>  }
>>>  
>>> +static void cf_check iommu_msi_ack(struct irq_desc *desc)
>>> +{
>>> +    irq_complete_move(desc);
>>> +    iommu_msi_mask(desc);
>>> +    move_masked_irq(desc);
>>
>> Not sure it matters much, as I don't expect IOMMU interrupts to move
>> around frequently, but do we really need to mask the source?  The
>> update of the interrupt would be done atomically, as we know IOMMU is
>> available.
> 
> First I wanted to keep things in sync with other, similar functions. Then
> the masking here may be not only about the moving, but also about this
> actually being the .ack handler. In fact, when taking into account the
> combination of both aspects, don't we need to deal with the case of this
> being the last IRQ on the "old" vector, with us wanting to prevent another
> IRQ on the "new" vector until we actually handled the IRQ? The LAPIC ack
> (only done in the .end handler) wouldn't guard against that, if the "new"
> vector is a higher priority one than the "old" one.

... or on a different CPU.

Then again such nesting is avoided by generic logic, in particular via the
IRQ_INPROGRESS flag (in combination with the IRQ_PENDING one). So perhaps
you're right and the masking could be avoided (not just here).

Jan


From xen-devel-bounces@lists.xenproject.org Tue Oct 21 10:13:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Oct 2025 10:13:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1146992.1479315 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vB9Mc-0008Ej-0A; Tue, 21 Oct 2025 10:13:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1146992.1479315; Tue, 21 Oct 2025 10:13:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vB9Mb-0008Ec-Tn; Tue, 21 Oct 2025 10:13:09 +0000
Received: by outflank-mailman (input) for mailman id 1146992;
 Tue, 21 Oct 2025 10:13:08 +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 <SRS0=9TpK=46=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vB9MZ-0008EV-Vb
 for xen-devel@lists.xenproject.org; Tue, 21 Oct 2025 10:13:07 +0000
Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com
 [2a00:1450:4864:20::333])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 890e90ae-ae66-11f0-980a-7dc792cee155;
 Tue, 21 Oct 2025 12:13:05 +0200 (CEST)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-46b303f7469so43029725e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 21 Oct 2025 03:13:05 -0700 (PDT)
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-4715520d747sm212143205e9.14.2025.10.21.03.13.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 21 Oct 2025 03:13:04 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 890e90ae-ae66-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761041585; x=1761646385; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=wutynFZBcXRcMsIAmsA+KnDB/8GTv+QOo1vcX6g8QPI=;
        b=YBaPLuf0gV+O2Ep73BlG2C3+nyvyejbO9Yi3aT4mpC4IginlKYuNojLAc+1brgU9Ly
         YL3ArQDpnN5javG7R89VitYAnkCfXQhvIMEEc3+sibG2i1PE+EjEQxpXGBkbBVAJdUUA
         RZPC9J2QHVW0v9qUO5eIn91ZbUuqtsunC9DPX1DN9VIEAfy7aWO7hOO7P6ySP6GwjTyQ
         1J0AB9L+VKH0UpKP74RWA0M2OZO+NCYzrBy8flPDO+uxuHBf66GWkWHcLOD9ohh+EmfR
         kr5RrzBqwLojha2LiOa4nSnBI9kW42I32EWUETeiXEWCqp1jnEmCthxxFQfj29iop1DT
         hmgw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761041585; x=1761646385;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=wutynFZBcXRcMsIAmsA+KnDB/8GTv+QOo1vcX6g8QPI=;
        b=e3EQs+QPH6k+YWUrvMOpaVaayEA3AjVon7xx2RgVkZNTR+gWOjNnEc8kxycl3/gYtt
         t6+As9tL88BZLJ5lMu63Rjq0kfcQGXaijT9V9Xk4gnGnSMZXRSAZ+0AcAYY1FqisGkm8
         hoIXO0u3l+nTMiZQIRGsClmcs00D4Mw9SdXNxqfiFVr5FbjVJXGGAyxa32lEsylN6o7F
         NUmz5yZAmf2C0XCNIEGm11goDhZDj19FMA86ZMJZLJ3d+o+jQ3CUG6Qvj56VtH9/8x5g
         /t+hxSWaoBIPC/neVuezbqSy0yBQpffvsudBibTEu7wuNxRSvlIs5gaHmnCN+XG7Mfnu
         iwAQ==
X-Gm-Message-State: AOJu0YyQWUNf7rgfuqUmjxzrFkyMBX/spj4YpWjGnkvPZlPvfsEbYwMt
	n27JRND8P924a7amx2IuTApS2MKm0qAuSgpiLmQJnMXR+ox/8VANVy7BuaU5Imayeg==
X-Gm-Gg: ASbGncugu9HeA3gAQywSYMoCdfWZ0+iorzVHOYjN7B7DqlEBxVoCqtEN0o15Mbq1HoQ
	mS+TWlFMiNbPMkhjJ/24yjpJnnEy5a/N/WeaMUDSI4lWkLS7sKuYYfmwt3r+GtAiqoA1LmP6vS6
	/vwWulii3mPpNeeVQgOXym4PGiY1GloBNAnzh93inParkK5tysAvFqThBcDzWxthk9EGpRuCpd7
	7MK3vgGO20m5ch12fLdU25KRqNm+MwNbieD2n5Ji6NeQiHs/eLDQN4qwEpIoUi7P1THdrP3ykrO
	yd4MkfAG0RV/qSXrVqyetsu1xIOH8RgPRe554o1rkVuKONwrcYnCjmBa+sJGzMvii3aiRln80NP
	F60StkLYDm3TkYo3p3QPKBkBX89zwmlpv1zsTUlEBrWWoHU5tsvCJ5wyln160QpgiX72GQf18g6
	XKrqJlrF/iXzV0TapABgocxgiw1zEEYFJ2yLvzdlV7NgQWsz7a/JZ5rJ3EFg+w
X-Google-Smtp-Source: AGHT+IFjAfE/tbjSn66SHZHYE340ofswlzb7dEFCALaqncPFDpi1BFZLwh3rgSQqNQTv2IkrBtYPyw==
X-Received: by 2002:a05:600c:34d0:b0:470:fe41:a93d with SMTP id 5b1f17b1804b1-47117874cffmr119000645e9.4.1761041585342;
        Tue, 21 Oct 2025 03:13:05 -0700 (PDT)
Message-ID: <9e0053b8-d4dd-41e2-ba4f-d57464009512@suse.com>
Date: Tue, 21 Oct 2025 12:13:03 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] symbols: discard stray file symbols
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>
References: <2412a7a0-bdcd-4647-8ea2-8d2a927dcde3@suse.com>
 <aPdYzDVniMV6-bHd@Mac.lan>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <aPdYzDVniMV6-bHd@Mac.lan>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 21.10.2025 11:56, Roger Pau MonnÃ© wrote:
> On Wed, Apr 16, 2025 at 11:00:57AM +0200, Jan Beulich wrote:
>> By observation GNU ld 2.25 may emit file symbols for .data.read_mostly
>> when linking xen.efi. Due to the nature of file symbols in COFF symbol
>> tables (see the code comment) the symbols_offsets[] entries for such
>> symbols would cause assembler warnings regarding value truncation. Of
>> course the resulting entries would also be both meaningless and useless.
>> Add a heuristic to get rid of them, really taking effect only when
>> --all-symbols is specified (otherwise these symbols are discarded
>> anyway).
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Acked-by: Roger Pau MonnÃ© <roger.pau@citrix.com>

Thanks.

>> --- a/xen/tools/symbols.c
>> +++ b/xen/tools/symbols.c
>> @@ -213,6 +213,16 @@ static int symbol_valid(struct sym_entry
>>  	if (strstr((char *)s->sym + offset, "_compiled."))
>>  		return 0;
>>  
>> +	/* At least GNU ld 2.25 may emit bogus file symbols referencing a
>> +	 * section name while linking xen.efi. In COFF symbol tables the
>> +	 * "value" of file symbols is a link (symbol table index) to the next
>> +	 * file symbol. Since file (and other) symbols (can) come with one
>> +	 * (or in principle more) auxiliary symbol table entries, the value in
>> +	 * this heuristic is bounded to twice the number of symbols we have
>> +	 * found. See also read_symbol() as to the '?' checked for here. */
>> +	if (s->sym[0] == '?' && s->sym[1] == '.' && s->addr < table_cnt * 2)
> 
> Maybe a naive question, but couldn't you drop everything below
> __XEN_VIRT_START, as we shouldn't have any symbols below that
> address?

If we assumed so, then that might be an option. Such an assumption doesn't
look safe to me, though. See how e.g. hv_hcall_page is outside of the Xen
image (albeit still within __XEN_VIRT_{START,END}). I wouldn't want to
preclude architectures playing "interesting" games with symbols, in
particular when - unlike x86 - they have the entire VA space for their use.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Oct 21 10:43:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Oct 2025 10:43:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1147003.1479326 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vB9qJ-0003q2-8p; Tue, 21 Oct 2025 10:43:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1147003.1479326; Tue, 21 Oct 2025 10:43:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vB9qJ-0003pv-5s; Tue, 21 Oct 2025 10:43:51 +0000
Received: by outflank-mailman (input) for mailman id 1147003;
 Tue, 21 Oct 2025 10:43:50 +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
 <SRS0=End2=46=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1vB9qH-0003pp-RZ
 for xen-devel@lists.xenproject.org; Tue, 21 Oct 2025 10:43:50 +0000
Received: from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com
 [2a00:1450:4864:20::52c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d1d91ff1-ae6a-11f0-980a-7dc792cee155;
 Tue, 21 Oct 2025 12:43:46 +0200 (CEST)
Received: by mail-ed1-x52c.google.com with SMTP id
 4fb4d7f45d1cf-63c4f1e7243so4629569a12.3
 for <xen-devel@lists.xenproject.org>; Tue, 21 Oct 2025 03:43:46 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-146-38.play-internet.pl.
 [109.243.146.38]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-63c48a91e93sm9117147a12.6.2025.10.21.03.43.44
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 21 Oct 2025 03:43:44 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d1d91ff1-ae6a-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1761043425; x=1761648225; darn=lists.xenproject.org;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=54zEdGo/N/tkR8qg833ClVdCVpczJjRqXLjYtVkiHoc=;
        b=MHa0u14SpFllysnTWN5DOQ2CROH50qGFZqPlSetkYUc7jzCIXYpfT1bet1s/tGGiwl
         pXvyEs3Uxf6yGMFKRuRVZiVTfKSUjvlPyLpUWfwFJm2zQtvG140ulBJZ30sV4VWWrtF1
         xKVrtC0ynniyw3LhPjyvD/DvwnUsqRL0RCHZkblTv4VM6yWLEC2GeSSp7K3AOldjAfvb
         YAORmgMR17q5qf6BBq41Jxs207e+VcvDmmQYLAEzHiWJGZ5h7jNjU6Mgnm0YTmCK6xNp
         P36F57H1hlOuNWAbng2d1JY5DI9ErtJifxKwI8H7G+zbXgE+FICZ/jmt/JHzLqFUb2UJ
         kqPQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761043425; x=1761648225;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=54zEdGo/N/tkR8qg833ClVdCVpczJjRqXLjYtVkiHoc=;
        b=r1c27c33de/Q6MZ7rHzQQMRiQEv6KnOnAh6+dMv72OWyTTLEifoSPY6M/c/EKUqn1q
         pMMCwV6aye0HardaRNnyVGA0bzOGla4oLG6e/g7QhfIK6KT68g1yRJQux1MrfWosGAEA
         TD1W294NPvqVYqrFc9kd+BwiD+JPJSfmHKLVUhgSYG9MpX+C9mgufu6irUC/Q5nPV6Sa
         l2Q9iDIZNp/78kVoPBKr20JS9Rs87ec0jNHdZGIIaT5UALJad2Exq+5/gn+GxPzDd0I0
         A9Eg/99hix3fWeTQMrLIinF6zviM+Wkv/4mghqIeUgMQq2Evx/JXpV+A4H2eNAU6afyv
         gf3w==
X-Forwarded-Encrypted: i=1; AJvYcCXx+uWFS6o6ls7vdA3RGc+PxC7Rt0LDz0ibaO2UgCfnCzbtzIVE/6IHra6WrVSkgk0SGJVn1Wa03u0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwpaXabZGxA2jkv4H2Dc4m9mgtjE5+jNJBQMhYW2OGtdYmIuclm
	UZJDs5l0SoYcIWEiz/W4nN/OoTPMDndgMIOBpax+FkUEufAnVLX8bzbj
X-Gm-Gg: ASbGncsnwv2FJ0vdM6ipZxRj5YM0+i/b3QpUb+biAyDCUbKNV4kane/YRzOb2s1qwTH
	Yia6+MzXdwyybNgBlbiyHshDsV5qTSsdAxkrszcgAzn5KkDbW4qbT9jv1jpRB+4gNOf1lYY0d4h
	na7aorj+NoGGGjIbK1Och+OWJf1pxOM5/a+Nhcrqk2lVBYq4IUjWsz1/NvJilL/nUUzsak62VUH
	Tu9PFzFPWonC3m6AHK9jeSqoeNPEL8p+cdz7D26HsYpYJY6aiiw3x5yUYs1l0Nag7dEWiWr+WjA
	aRKB+jXev82+UkJUcLUW+hSUi3KM4v4maFbX9sC5rvE7b8MUXgT07NphIIgD9VUEjeeosIr+/c+
	zI6fa7YrMPuulhZSDOcrNk/dGUOTTCpZMWaOsMJ9sNPP5q/Y41Me1NvlOkkpxAjvhO/7kFAJJJc
	sj481b8R7sfaR8OQwYJAcWZgiEfSv0pnnqRpWDy73dzEzfrNutlBdiphkb
X-Google-Smtp-Source: AGHT+IHH4eepg5IwdHWjo9384H2bYDtRz5x/EI7O5AjXUa2XH++pKAG483IIjOp4V0R5EkVVLWCNDA==
X-Received: by 2002:a05:6402:510b:b0:63b:f157:bc2d with SMTP id 4fb4d7f45d1cf-63c1f62af3emr16004077a12.1.1761043425201;
        Tue, 21 Oct 2025 03:43:45 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------ZIyejUv1SEd5ycsgR7xZfFzn"
Message-ID: <2b49df90-ac99-4bf7-bf60-fc8358b63eb2@gmail.com>
Date: Tue, 21 Oct 2025 12:43:44 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21?] AMD/IOMMU: unshare IRQ .ack and .disable
 handlers
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Jason Andryuk <jason.andryuk@amd.com>
References: <3cfa136c-3689-4d47-8a69-ce7af12ed9d0@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <3cfa136c-3689-4d47-8a69-ce7af12ed9d0@suse.com>

This is a multi-part message in MIME format.
--------------ZIyejUv1SEd5ycsgR7xZfFzn
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit


On 10/20/25 4:16 PM, Jan Beulich wrote:
> A .disable handler can't typically be re-used for .ack: The latter needs
> to deal with IRQ migration, while the former shouldn't. Furthermore
> invoking just irq_complete_move() isn't enough; one of
> move_{native,masked}_irq() also need invoking.
>
> Fixes: 487a1cffd71a ("x86: Implement per-cpu vector for xen hypervisor")
> Fixes: f821102450a1 ("x86: IRQ Migration logic enhancement")
> Signed-off-by: Jan Beulich<jbeulich@suse.com>

Release-Acked-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>

~ Oleksii

>
> --- a/xen/drivers/passthrough/amd/iommu_init.c
> +++ b/xen/drivers/passthrough/amd/iommu_init.c
> @@ -428,8 +428,6 @@ static void cf_check iommu_msi_mask(stru
>       unsigned long flags;
>       struct amd_iommu *iommu = desc->action->dev_id;
>   
> -    irq_complete_move(desc);
> -
>       spin_lock_irqsave(&iommu->lock, flags);
>       amd_iommu_msi_enable(iommu, IOMMU_CONTROL_DISABLED);
>       spin_unlock_irqrestore(&iommu->lock, flags);
> @@ -442,6 +440,13 @@ static unsigned int cf_check iommu_msi_s
>       return 0;
>   }
>   
> +static void cf_check iommu_msi_ack(struct irq_desc *desc)
> +{
> +    irq_complete_move(desc);
> +    iommu_msi_mask(desc);
> +    move_masked_irq(desc);
> +}
> +
>   static void cf_check iommu_msi_end(struct irq_desc *desc, u8 vector)
>   {
>       iommu_msi_unmask(desc);
> @@ -455,7 +460,7 @@ static hw_irq_controller iommu_msi_type
>       .shutdown = iommu_msi_mask,
>       .enable = iommu_msi_unmask,
>       .disable = iommu_msi_mask,
> -    .ack = iommu_msi_mask,
> +    .ack = iommu_msi_ack,
>       .end = iommu_msi_end,
>       .set_affinity = set_msi_affinity,
>   };
--------------ZIyejUv1SEd5ycsgR7xZfFzn
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 10/20/25 4:16 PM, Jan Beulich wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:3cfa136c-3689-4d47-8a69-ce7af12ed9d0@suse.com">
      <pre class="moz-quote-pre" wrap="">A .disable handler can't typically be re-used for .ack: The latter needs
to deal with IRQ migration, while the former shouldn't. Furthermore
invoking just irq_complete_move() isn't enough; one of
move_{native,masked}_irq() also need invoking.

Fixes: 487a1cffd71a ("x86: Implement per-cpu vector for xen hypervisor")
Fixes: f821102450a1 ("x86: IRQ Migration logic enhancement")
Signed-off-by: Jan Beulich <a class="moz-txt-link-rfc2396E"
      href="mailto:jbeulich@suse.com" moz-do-not-send="true">&lt;jbeulich@suse.com&gt;</a></pre>
    </blockquote>
    <pre>Release-Acked-by: Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a>

~ Oleksii</pre>
    <blockquote type="cite"
      cite="mid:3cfa136c-3689-4d47-8a69-ce7af12ed9d0@suse.com">
      <pre class="moz-quote-pre" wrap="">

--- a/xen/drivers/passthrough/amd/iommu_init.c
+++ b/xen/drivers/passthrough/amd/iommu_init.c
@@ -428,8 +428,6 @@ static void cf_check iommu_msi_mask(stru
     unsigned long flags;
     struct amd_iommu *iommu = desc-&gt;action-&gt;dev_id;
 
-    irq_complete_move(desc);
-
     spin_lock_irqsave(&amp;iommu-&gt;lock, flags);
     amd_iommu_msi_enable(iommu, IOMMU_CONTROL_DISABLED);
     spin_unlock_irqrestore(&amp;iommu-&gt;lock, flags);
@@ -442,6 +440,13 @@ static unsigned int cf_check iommu_msi_s
     return 0;
 }
 
+static void cf_check iommu_msi_ack(struct irq_desc *desc)
+{
+    irq_complete_move(desc);
+    iommu_msi_mask(desc);
+    move_masked_irq(desc);
+}
+
 static void cf_check iommu_msi_end(struct irq_desc *desc, u8 vector)
 {
     iommu_msi_unmask(desc);
@@ -455,7 +460,7 @@ static hw_irq_controller iommu_msi_type
     .shutdown = iommu_msi_mask,
     .enable = iommu_msi_unmask,
     .disable = iommu_msi_mask,
-    .ack = iommu_msi_mask,
+    .ack = iommu_msi_ack,
     .end = iommu_msi_end,
     .set_affinity = set_msi_affinity,
 };</pre>
    </blockquote>
  </body>
</html>

--------------ZIyejUv1SEd5ycsgR7xZfFzn--


From xen-devel-bounces@lists.xenproject.org Tue Oct 21 11:05:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Oct 2025 11:05:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1147016.1479336 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBAAs-0006jT-UU; Tue, 21 Oct 2025 11:05:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1147016.1479336; Tue, 21 Oct 2025 11:05:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBAAs-0006jM-Qm; Tue, 21 Oct 2025 11:05:06 +0000
Received: by outflank-mailman (input) for mailman id 1147016;
 Tue, 21 Oct 2025 11:05: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
 <SRS0=TpUL=46=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1vBAAr-0006jG-KD
 for xen-devel@lists.xenproject.org; Tue, 21 Oct 2025 11:05:05 +0000
Received: from GVXPR05CU001.outbound.protection.outlook.com
 (mail-swedencentralazlp170130007.outbound.protection.outlook.com
 [2a01:111:f403:c202::7])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c43ef6e1-ae6d-11f0-980a-7dc792cee155;
 Tue, 21 Oct 2025 13:04:51 +0200 (CEST)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by AM7PR03MB6498.eurprd03.prod.outlook.com (2603:10a6:20b:1c2::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.12; Tue, 21 Oct
 2025 11:04:49 +0000
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593]) by AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593%3]) with mapi id 15.20.9228.016; Tue, 21 Oct 2025
 11:04:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c43ef6e1-ae6d-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=a4wklHSnIQzIPaLCXQCxiG+h3RHRqxaEV41Y/HvUBPvv9PIhcFHwB2bOI/QnbYj9ns1TaNnf4/9a+IZ0HEUe9eAJKwETbFUkkFv8XwQIx9ZQ8lqitzLUWrntijJ9VUe0fzNnOKualj5RMCy4/tC5aaDpLpmsMB4N61tuPsMtpd0DQDi2Wrs2MrTnLcFQUZoLENXh6Q5+cMr78zLV0gvFYLzjj7qVSBsPJDZmpM5sewM44gr92WlVhjSKHsztmnC3HlRhWW+PTbukzcqgqVdU2hexOkmi4MI+bND6NTvT/Nvc7TyRxaoLCQMkczPu2RmAsOsKRhQ9f82XR2Wb3dayTw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=di1JrnHa1J1gUIJrD2tLBxoKxPMKkUDFJNDjj5T7zFI=;
 b=BbgoXmQnywQ2krJ+UCpls90Az6qBiTaYbpFPLH0U2RRGWZnOCi22x4+Eubu3oyyjFDPQqgEY6YXQPah4nVNjuYPHKtbcnqsMuNcAkt2MhLjDxlHim2+NmtqZh8Jf7BBm1uAOzo/g3sUj3UszXMPB/f/ta4urtbNaftt+Onc9v+Dyh9M3nPRTJkSCzhGDjjOLbuxcEQljhkMXR/zF/m6ZS8peg1gMm+XRvl/x66RWZAE9Em6I+l3rvH/VNWVh5QEje8VvFO+KgqZHbbV+lVzGxVtwHJxn32ePuYqSuZGHDx6xmQOsRn+mZ6Lhqktl1S6keScavzCTiiU2231a9TcBkA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=di1JrnHa1J1gUIJrD2tLBxoKxPMKkUDFJNDjj5T7zFI=;
 b=jA5TOLJ4/TWbaEMb1Qo3yTU+VgwZdsE+CbDqH4fuVE8UnDVPH4mmnRIwxewOSyRs6N5m91pZX+08rpxxOWWmQQrbXipyaNAjrPUL1Mo5DI18vZ5jlI/rqXVh5eDsCTCreUVzVuIvV9MO4xlW5TAY/xggQKfCgtd5fX5/HUkSogkWXJO92pJRphtv343Ik9tklnAWUphm5u39w/52R0D2CPBA0Z+rF61jkYN/N5mNjtNhjlQCnexW1vEnQaXnoJM3Nhlgy6xEJS0Oofle/QqxBzlPY5c9eu1MsxJjAgGdzMJ6xOLxH7pBQ9ukou1esu5IGqEMVVhKXDTLiJZ4eX+K0w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <3bd3034c-c2c0-428d-8fa1-14a219ba40c3@epam.com>
Date: Tue, 21 Oct 2025 14:04:47 +0300
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5] x86: make Viridian support optional
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>,
 Alejandro Vallejo <alejandro.garciavallejo@amd.com>
References: <20250930125215.1087214-1-grygorii_strashko@epam.com>
 <aOzt8gfxkdQXZ6O1@Mac.lan> <e6972ea5-2139-4f4d-8d2c-2979fe2fad99@epam.com>
 <aO5gdh6C_uQoFHPH@Mac.lan> <afe544d3-575c-44e8-9068-8c79f69d6175@epam.com>
 <aO9UgQ3J27hVgGIa@Mac.lan> <06d540f0-38e6-46fd-b94d-58ac2797657f@epam.com>
 <aPHyd8m57y_UkSl-@Mac.lan>
Content-Language: en-US
From: Grygorii Strashko <grygorii_strashko@epam.com>
In-Reply-To: <aPHyd8m57y_UkSl-@Mac.lan>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR4P281CA0446.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:c6::12) To AS2PR03MB8907.eurprd03.prod.outlook.com
 (2603:10a6:20b:5e4::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS2PR03MB8907:EE_|AM7PR03MB6498:EE_
X-MS-Office365-Filtering-Correlation-Id: 2f7848d5-9c02-4460-0d98-08de1091a703
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?aXpvYzRac3RSakk0Y0JSZVlBYUp0Mk1hdmxDTVBwZk5xMlFOYWM1WjQ4VzRH?=
 =?utf-8?B?K09rOFI3MXc4cEdVNExpUllMR2hzM1pvd3hPUmNNWHdnL3JzVjYyRTNiZnM1?=
 =?utf-8?B?aW95QzhkTk01a0l5WUlrNUlQcUtuYW9IVDBmalZtc2E4dEZQMWNObFdzSEYy?=
 =?utf-8?B?Sk5WZEFkd3pPVkRVd1Z6RElOc0pBQTlKR2xLY25rTHM0K0pkTFl6L211U3dv?=
 =?utf-8?B?Z3hXUWhTSlRMbjQ0VExZY0xkZm1XR3o5WThiL1ExUU1uaHNLVDQ2VEtTS3hh?=
 =?utf-8?B?MDJYWE1zSEZpRzNoYk1GdjNJLytCQytRSVBqd1N2YWpJb0pnaGVQOFJmNDlm?=
 =?utf-8?B?ZWFwY3ViWTNmNEhIZnBuVFVYUUdWbkdDZjVrVUxlaEM4YU4xUXZTcHJteHhG?=
 =?utf-8?B?S0FHY1V1Z1JLN0FoSnd4Y0R5cUVBZXY4amNtNlp4aVdKZzhrZFpOa3ZQNDhj?=
 =?utf-8?B?anlHa0wyUXBkNjE4bWtIWTRnZFc2UkpSREpheVRiUVRITFBSUDVMMVYvZmEw?=
 =?utf-8?B?SGZmbC9aSk1VaWU4SklSODE1V2RpU1V2NmVuMkRvQVJ6M3A2TUkxcWpuczhP?=
 =?utf-8?B?U2N6QzBkMmV1N0RrdG9BTFlROVU3MkZJckNiZmFTelh1bkxzMmNPZy9oQ0tr?=
 =?utf-8?B?VTNWOTl5S1hjOXRTQXlvclBlZ2hkN3J5Wk1qYmtsQmF2SHFybUIrTVQweThk?=
 =?utf-8?B?YVZDR1Bnd1BDUXhNcFRwT2NHL1FIVk9lZ3loZlRPUkJkUjU3Y25nV2JBZTV6?=
 =?utf-8?B?SW10TGRrTVJFcWJCazBWbGdwN1Myc2Nrc0tMMW1IdXowUHdUcTNCYVBYd3Fr?=
 =?utf-8?B?VEpyRHhURkZicHpqdzNnZDdLYUxBOUp3azB0Z1ByL1hZZXFxcllWUExjY3FL?=
 =?utf-8?B?WTdMS0QxMHQvUzJCRHFGMk1Gck8zMTdZajJINEVycjdjcjNwNmVaRnBXOWU5?=
 =?utf-8?B?UVY4dnVYdnFYU0tSU2pNbTFDL0VUdXhHYStzQW5UUm94b3ZFTG5WWlorWTIz?=
 =?utf-8?B?Qkl0Y1ZYQnZpcjNTV1dYRlRjY0huL0N2OUJaRTBhVjRrL2FmWXdRTzV1YnMw?=
 =?utf-8?B?Q04zWHE2Y2NpcGRDUk94NWtHUEJGWnMzSUtLN2lBNHowR2lFcDJ5TVVSNTJ0?=
 =?utf-8?B?N0txQmhlVWZ1Yk1lS1pKWHhTWnlFNlpkZ2o1NEF4d3RERHppQWxZTCtIUzRX?=
 =?utf-8?B?UFRuQUdZak4yQnBLQUFSWGFId1F4MUwzZVFWMTJSdkpTR2JFS2FXV3ZVd1dt?=
 =?utf-8?B?NVlxbVY1TlF2d0UxZ0R0SncwMEZ4VmhQS0Z0dVJvMERzYytuMkExbk1ZVHk1?=
 =?utf-8?B?Zit6emRITUQ1eW1FbTlFd1pyUGNjZUoxWlZ0dFZnWHIvQzYzUzFlYWFEcFFQ?=
 =?utf-8?B?WVJWZjlDV0d5RG1yUU9uNGk3bTNkYVphdkk3czBnRWZWWnJTUHkvZEVGZUQz?=
 =?utf-8?B?SzNuZXhUdzFwekFkc3B5T296TUZNVWdvalo3RTNjY21xTURaQUpDSGJOWUhX?=
 =?utf-8?B?NnlEU1VjeU5hOThRWm1xR24zS3Y4SnQ0UHVPajRvTi8zTXFqaThocEx1M2lM?=
 =?utf-8?B?UlRCd2xxVzkyRXZ0V3h5MWRKQlNhMFJUbUwyVUZGS0x2amZoVXRlVnh6N2hn?=
 =?utf-8?B?S04raVJtZUVKTEVZVHFsWnFUSTlaQTlzL2FmL0dOLyszZlVoZ2MrbmJ0dlhR?=
 =?utf-8?B?RnM2emZDbk5lYUc1L2FCZTBvL2VJWGYvZmV3NGpEcDNlQThsaTIvSWw1WmZq?=
 =?utf-8?B?eURxSldKaEkxMVF4RjJPTnNOVFcwZ3NJNlJtbElwdXowL0d6eXRPMlhueUpK?=
 =?utf-8?B?QXVxMUwvQlRUa3N6T3F3Vnp6VlFTV21tYnVRTUYzc0ZuOXVVVi9OUXlzdyt5?=
 =?utf-8?B?U2JvUnN3QVhwUU92ZjlSaXJRNndMVmtlRTJjR004a2htUWpka1FWZWtMZEI2?=
 =?utf-8?B?S1NtM3pOam5xREpSQVpMMGtKVUtOeGF2YVY5czlOODk2M1M0dnRDSTVHYUVG?=
 =?utf-8?B?dVdiVUx1NG53PT0=?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS2PR03MB8907.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MGsvSmloZ0NMTWdpdVgrcEQvMWM5dThQOSsrQ3RET1ZqY2dnN3F3TjFUTmJ4?=
 =?utf-8?B?clkzZzNsMkhPVnBPVXRhTWk5NklZR25CYTFESGp3MCtISC9oQmQybTR2L0Uw?=
 =?utf-8?B?UHh6TVlOZXJRYjVvWmlTbTNEdXVEaVFlNlROdmJjT2gzMDZEb1A3NkVsTk9E?=
 =?utf-8?B?NDVtM29PNEFnKy9kaFcwWkQ5c1dFc21LcFZjemNBLzQ1bE5xdjJyb1ZaYXRW?=
 =?utf-8?B?c3I1VS9UbVNOYkFteUI4Q01kWkhzRi9XcXRPSXhLWmsvNHJmRHlrYXgyNmRW?=
 =?utf-8?B?Z2w0a3owTTJFRy80S2loVVlzOGJxQ2pJOVVqYnlLWXBOU3NkeTJpbG1yYjhw?=
 =?utf-8?B?TkxzZlljU2JlT0dDWEIvbnREM0syN0d1aHcwV3E5OXUyeHFHRlhEQnhrWlZZ?=
 =?utf-8?B?bDc2ditpUkNPMFpVa0pQS0RkVTY1RUdoTWN0UXhFdFFSRjFKTXdjVUhpR3ll?=
 =?utf-8?B?RmpRTVl0QlkvN3BPdEd2VUI1aU91cXJkWnlYS2FLZEJuOCtYMWFhSXcxcVp6?=
 =?utf-8?B?aFZacldGbGcrMTRlSlB2VnpUaWZtMXJLWnAyVGVpb2tlbG5HdlZMSi9ZYjVL?=
 =?utf-8?B?MTVYVHNRb1FhQ1NETndpY1FVWnFBRFIrbU44N21FK21MdUJadHNyWlRmdmtv?=
 =?utf-8?B?bSs1SGtlS0JtSnkwZWc0UzV0c2dHb2lrVURWcXB5NE82MzJsakMxWWNuV29U?=
 =?utf-8?B?Y1JWNlJjZ092emV2aC9NcHFlbkpTZlEwREVPUkVaWjNpdEY3dHpvUDREeERI?=
 =?utf-8?B?S3cyRVpxZjlYUEg2MEJQWGNGcHRzVTdMZjhycFcxYlZVZVE4amthMUhqNWlS?=
 =?utf-8?B?djBnNEs1dzBtZEVmbUxEb2Y5Y0cxMGhQY004Zk40cDFYeHZBMGp0Z1RDcG9x?=
 =?utf-8?B?UnZrRVpnWDd2enV6YmxtVTUvVEowQW8yQm5YQzZCZFZpU25qTUkybUs5TWZZ?=
 =?utf-8?B?NmM3bDRCSEpVYnp4elc1dUNCbG1rRi96Z244YXFwcVpJT2pqVzJUNUUwamNE?=
 =?utf-8?B?am4wTmV4U3BTVnV4dXZjbDR5ZWJSUTQxYjVrVS82RjJrcDYxcGFzZFVoTGpl?=
 =?utf-8?B?cUpoOEViRzZkYW5uSzhVVU5SSVhhYmJFTVRwVFk0bWVwSDRuUUx3Zkp6djl0?=
 =?utf-8?B?WkZTeENQaDEzZlJjUjB1dXJkMGVXUTBkbWJFN3ZUa0lJdDZBKytTSGZ5RE91?=
 =?utf-8?B?NXRCU2Z0SFU3QmwvdityV2N2d253UndlanZ3T3hKdzl1MkpQSGFPVVpGZ3hR?=
 =?utf-8?B?alVjbEJMbWtFOEdJaFpqV3FiOTVCbnE0Mm9STEMrN1c5SlZxRHloVTlCMFg3?=
 =?utf-8?B?dHRMMm0xdnJ5OWFlZW80VThnb2pWa05mYW8zZUZkQlZtZy9FMm8zS1orMHZw?=
 =?utf-8?B?U21ObTZlZW56S21wQ2ZGQ1hKam9xRC9LeUdjMVNyamoybkk2QlBYZ1dkcGIx?=
 =?utf-8?B?MCtud0dDV281SGQzc3RzZDdXUFJOYklwendDTWdLTFJSUFBQdnhGemUxOUJY?=
 =?utf-8?B?WmhQT0ZyeFM1RktwUFFmb2NzUUlqeVM0MW0zT2J0RGJ0OUlGVmdmclVhYmJ2?=
 =?utf-8?B?aFNJNmMwNC9UTnhFQ28wK014RE5LMlRaOUdlVTdvdEtsL251TUdYanJEZFFj?=
 =?utf-8?B?YUFpMnpjbmxBZ1RVMERjb0xvd0pWWGNtbW5BRHJmNDNjTXh0cDQ5R0JjRkd5?=
 =?utf-8?B?RVV0VWJ0dHMrZ3IwUEpjTFk3WEd1QVZDMFBWbG1TcmRrck9MUzZaVFVEcktM?=
 =?utf-8?B?eHdESWZlTU5OdzFCM3ZuNHFiTmtVU2J1UWQrZ0tIWCtVQkFHa3hscDdZZUQz?=
 =?utf-8?B?SGJ2eXMwMU1vNTZkVjE2VXhYekJWbjFqeVRoNjRKeUpvQVVnd1VERFpPb1JI?=
 =?utf-8?B?dlJoUXRNR1RBTnFGRENldGt0NHUwZE8wUFBreGYxd1FHeS9NajBkcFduU3g2?=
 =?utf-8?B?MUt3NVBwcTQvcktuU0dOdTZqbWMrZnl2bzQyQlNjVEpZL2RtL29qRW9mZjR5?=
 =?utf-8?B?MFUrUHREY0NOODBldHZnY1hsTEJuK1lpSDhFaHZjNmZJcXNkTVdicFFIZjFs?=
 =?utf-8?B?S2hmd291YVI4QzRiem96Yzd3eWtXZCtjdElMVTkrYktiVXlHeVJJLzVGMTN3?=
 =?utf-8?B?cEt4ZGNzaFhxdk01c09IZEYzQ0lPaEVuTlZ3eTdsZ1dUUlhKeUhjaG1CRS92?=
 =?utf-8?B?OFE9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2f7848d5-9c02-4460-0d98-08de1091a703
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Oct 2025 11:04:49.3677
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /f//efMTrxsQe7vAFIx6BNMJ0+2iaAN4pct4BU/ACXryQ7zgW08FLY6YDwobOAhb1/kpvILpflUOv1VoM5G7Q9wwSKAHD5jDmMDfjIKO++E=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR03MB6498



On 17.10.25 10:38, Roger Pau MonnÃ© wrote:
> On Fri, Oct 17, 2025 at 12:40:33AM +0300, Grygorii Strashko wrote:
>>
>>
>> On 15.10.25 11:00, Roger Pau MonnÃ© wrote:
>>> On Tue, Oct 14, 2025 at 06:48:23PM +0300, Grygorii Strashko wrote:
>>>>
>>>>
>>>> On 14.10.25 17:38, Roger Pau MonnÃ© wrote:
>>>>> On Tue, Oct 14, 2025 at 04:24:53PM +0300, Grygorii Strashko wrote:
>>>>>> On 13.10.25 15:17, Roger Pau MonnÃ© wrote:
>>>>>>> On Tue, Sep 30, 2025 at 12:52:16PM +0000, Grygorii Strashko wrote:
>>>>>>>> From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
>>>>>>>> +
>>>>>>>> +	  If unsure, say Y.
>>>>>>>> +
>>>>>>>>      config MEM_PAGING
>>>>>>>>      	bool "Xen memory paging support (UNSUPPORTED)" if UNSUPPORTED
>>>>>>>>      	depends on VM_EVENT
>>>>>>>> diff --git a/xen/arch/x86/hvm/Makefile b/xen/arch/x86/hvm/Makefile
>>>>>>>> index 6ec2c8f2db56..736eb3f966e9 100644
>>>>>>>> --- a/xen/arch/x86/hvm/Makefile
>>>>>>>> +++ b/xen/arch/x86/hvm/Makefile
>>>>>>>> @@ -1,6 +1,6 @@
>>>>>>>>      obj-$(CONFIG_AMD_SVM) += svm/
>>>>>>>>      obj-$(CONFIG_INTEL_VMX) += vmx/
>>>>>>>> -obj-y += viridian/
>>>>>>>> +obj-$(CONFIG_VIRIDIAN) += viridian/
>>>>>>>>      obj-y += asid.o
>>>>>>>>      obj-y += dm.o
>>>>>>>> diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
>>>>>>>> index 23bd7f078a1d..95a80369b9b8 100644
>>>>>>>> --- a/xen/arch/x86/hvm/hvm.c
>>>>>>>> +++ b/xen/arch/x86/hvm/hvm.c
>>>>>>>> @@ -701,9 +701,12 @@ int hvm_domain_initialise(struct domain *d,
>>>>>>>>          if ( hvm_tsc_scaling_supported )
>>>>>>>>              d->arch.hvm.tsc_scaling_ratio = hvm_default_tsc_scaling_ratio;
>>>>>>>> -    rc = viridian_domain_init(d);
>>>>>>>> -    if ( rc )
>>>>>>>> -        goto fail2;
>>>>>>>> +    if ( is_viridian_domain(d) )
>>>>>>>> +    {
>>>>>>>> +        rc = viridian_domain_init(d);
>>>>>>>> +        if ( rc )
>>>>>>>> +            goto fail2;
>>>>>>>> +    }
>>>>>>>
>>>>>>> Are you sure this works as expected?
>>>>>>>
>>>>>>> The viridian_feature_mask() check is implemented using an HVM param,
>>>>>>> and hence can only be possibly set after the domain object is created.
>>>>>>> AFAICT is_viridian_domain(d) will unconditionally return false when
>>>>>>> called from domain_create() context, because the HVM params cannot
>>>>>>> possibly be set ahead of the domain being created.
>>>>>>
>>>>>> You are right. Thanks for the this catch.
>>>>>>
>>>>>> Taking above into account above, it seems Jan's proposal to convert below
>>>>>> viridian APIs into wrappers for VIRIDIAN=n case is right way to move forward:
>>>>>>
>>>>>> int viridian_vcpu_init(struct vcpu *v);
>>>>>> int viridian_domain_init(struct domain *d);
>>>>>> void viridian_vcpu_deinit(struct vcpu *v);
>>>>>> void viridian_domain_deinit(struct domain *d);
>>>>>>
>>>>>> Right?
>>>>>
>>>>> Possibly. If you don't want to introduce a XEN_DOMCTL_createdomain
>>>>> flag you need to exclusively use the Kconfig option to decide whether
>>>>> the Viridian related structs must be allocated.  IOW: you could also
>>>>> solve it by using IS_ENABLED(CONFIG_VIRIDIAN) instead of
>>>>> is_viridian_domain() for most of the calls here.
>>>>>
>>>>> The wrapper option might be better IMO, rather than adding
>>>>> IS_ENABLED(CONFIG_VIRIDIAN) around.
>>>>
>>>> I'll do wrappers - less if(s) in common HVM code.
>>>>
>>>>>
>>>>>> [1] https://patchwork.kernel.org/comment/26595213/
>>>>>>
>>>>>>>
>>>>>>> If you want to do anything like this you will possibly need to
>>>>>>> introduce a new flag to XEN_DOMCTL_createdomain to signal whether the
>>>>>>> domain has Viridian extensions are enabled or not, so that it's know
>>>>>>> in the context where domain_create() gets called.
>>>>>>
>>>>>> In my opinion, it might be good not to go so far within this submission.
>>>>>> - It's not intended  to change existing behavior of neither Xen nor toolstack
>>>>>>      for VIRIDIAN=y (default)
>>
>> [1]
>>
>>>>>> - just optout Viridian support when not needed.
>>>>>
>>>>> OK, that's fine.
>>>>>
>>>>> On further request though: if Viridian is build-time disabled in
>>>>> Kconfig, setting or fetching HVM_PARAM_VIRIDIAN should return -ENODEV
>>>>> or similar error.  I don't think this is done as part of this patch.
>>>
>>> Another bit I've noticed, you will need to adjust write_hvm_params()
>>> so it can tolerate xc_hvm_param_get() returning an error when
>>> HVM_PARAM_VIRIDIAN is not implemented by the hypervisor.
>>>
>>> Implementing the Viridian features using an HVM parameter was a bad
>>> approach probably.
>>
>> I've just realized how toolstack need to be modified and all consequences...
>> Have to try to push back a little bit:
>>
>> VIRIDIAN=n: Now HVM_PARAM_VIRIDIAN will be R/W with functionality NOP.
>>
>> I'd prefer avoid modifying toolstack if possible.
>>
>> How about sanitizing HVM_PARAM_VIRIDIAN to be RAZ/WI for VIRIDIAN=n?
> 
> I've been thinking more into it, and we must still allow writes/reads
> to it, otherwise migration would fail when restoring a stream that
> contains a Viridian record, even if Viridian is not enabled for the
> domain.  Right now the HVM param is unconditionally part of the
> migration stream, even when Viridian is not enabled.
> 
> I think Xen could return an error when VIRIDIAN = n and a non-zero
> value is passed to HVM_PARAM_VIRIDIAN?

Right...
> 
> That shouldn't require any changes to the toolstack, as when Viridian
> is not enabled the toolstack will just set HVM_PARAM_VIRIDIAN = 0.  It
> would however still fail if toolstack attempts HVM_PARAM_VIRIDIAN != 0
> and Viridian has been build time disabled.

I was thinking about the same, in general:
Get HVM_PARAM_VIRIDIAN (VIRIDIAN = n):
  - no fail, expected to return 0

    [toolstack] write_hvm_params()
     ...
     for ( i = 0; i < ARRAY_SIZE(params); i++ )
     {
         ...
         rc = xc_hvm_param_get(xch, ctx->domid, index, &value);
         if ( rc )
         {
             PERROR("Failed to get HVMPARAM at index %u", index);
             return rc;
         }

         if ( value != 0 )
         {
             entries[hdr.count].index = index;
             entries[hdr.count].value = value;
             hdr.count++;
	}

         [gs] will skip HVM_PARAM_VIRIDIAN entry as it's 0 for VIRIDIAN = n

Set HVM_PARAM_VIRIDIAN (VIRIDIAN = n):
  - fail if value != 0 with -ENODEV

    [toolstack]  hvm_set_viridian_features() will fail and reject domain if
    Viridian is configured for domain, but VIRIDIAN = n

    [toolstack] xg_sr_restore_x86_hvm.c : handle_hvm_params() will fail on attempt to load
    domain with Viridian enabled (value != 0) under Xen with VIRIDIAN = n.
    The value == 0 will pass

Will send new version.


-- 
Best regards,
-grygorii



From xen-devel-bounces@lists.xenproject.org Tue Oct 21 12:00:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Oct 2025 12:00:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1147033.1479353 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBB2O-0005wN-AZ; Tue, 21 Oct 2025 12:00:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1147033.1479353; Tue, 21 Oct 2025 12:00:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBB2O-0005wF-44; Tue, 21 Oct 2025 12:00:24 +0000
Received: by outflank-mailman (input) for mailman id 1147033;
 Tue, 21 Oct 2025 12:00:22 +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
 <SRS0=DCT0=46=xenbits.xen.org=andrewcoop@srs-se1.protection.inumbo.net>)
 id 1vBB2M-0005sa-HI
 for xen-devel@lists.xen.org; Tue, 21 Oct 2025 12:00:22 +0000
Received: from mail.xenproject.org (mail.xenproject.org [104.130.215.37])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8281166a-ae75-11f0-9d15-b5c5bf9af7f9;
 Tue, 21 Oct 2025 14:00:20 +0200 (CEST)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <andrewcoop@xenbits.xen.org>) id 1vBB2B-00Chk7-1N;
 Tue, 21 Oct 2025 12:00:11 +0000
Received: from andrewcoop by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <andrewcoop@xenbits.xen.org>) id 1vBB2B-005gLp-1f;
 Tue, 21 Oct 2025 12:00:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8281166a-ae75-11f0-9d15-b5c5bf9af7f9
Content-Type: multipart/mixed; boundary="=separator"; charset="utf-8"
Content-Transfer-Encoding: binary
MIME-Version: 1.0
X-Mailer: MIME-tools 5.510 (Entity 5.510)
To: xen-announce@lists.xen.org, xen-devel@lists.xen.org,
 xen-users@lists.xen.org, oss-security@lists.openwall.com
From: Xen.org security team <security@xen.org>
CC: Xen.org security team <security-team-members@xen.org>
Subject: Xen Security Advisory 475 v2 (CVE-2025-58147,CVE-2025-58148) -
 x86: Incorrect input sanitisation in Viridian hypercalls
Message-Id: <E1vBB2B-005gLp-1f@xenbits.xenproject.org>
Date: Tue, 21 Oct 2025 12:00:11 +0000

--=separator
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

     Xen Security Advisory CVE-2025-58147,CVE-2025-58148 / XSA-475
                               version 2

       x86: Incorrect input sanitisation in Viridian hypercalls

UPDATES IN VERSION 2
====================

Public release.

ISSUE DESCRIPTION
=================

Some Viridian hypercalls can specify a mask of vCPU IDs as an input, in
one of three formats.  Xen has boundary checking bugs with all three
formats, which can cause out-of-bounds reads and writes while processing
the inputs.

 * CVE-2025-58147.  Hypercalls using the HV_VP_SET Sparse format can
   cause vpmask_set() to write out of bounds when converting the bitmap
   to Xen's format.

 * CVE-2025-58148.  Hypercalls using any input format can cause
   send_ipi() to read d->vcpu[] out-of-bounds, and operate on a wild
   vCPU pointer.

IMPACT
======

A buggy or malicious guest can cause Denial of Service (DoS) affecting
the entire host, information leaks, or elevation of privilege.

VULNERABLE SYSTEMS
==================

Xen versions 4.15 and newer are vulnerable.  Versions 4.14 and older are
not vulnerable.

Only x86 HVM guests which have Viridian enabled can leverage the
vulnerability.

With the `xl` toolstack, this means any `viridian=` setting in the VM's
configuration file.

Note - despite:

  `viridian=["!hcall_remote_tlb_flush", "!hcall_ipi", "!ex_processor_masks"]`

being documented to turns off the relevant functionality, this
configuration does not block the relevant hypercalls.

MITIGATION
==========

Not enabling Viridian will avoid the issuse.

CREDITS
=======

This issue was discovered by Teddy Astie of Vates

RESOLUTION
==========

Applying the appropriate set of attached patches resolves this issue.

Note that patches for released versions are generally prepared to
apply to the stable branches, and may not apply cleanly to the most
recent release tarball.  Downstreams are encouraged to update to the
tip of the stable branch before applying these patches.

xsa475-?.patch           xen-unstable - Xen 4.20.x
xsa475-4.19-?.patch      Xen 4.19.x - Xen 4.17.x

$ sha256sum xsa475*
25ba4933e4cf94e81d192f3ba522ec7b258c6e69015a43d169b0325e61957f42  xsa475-1.patch
d012541f99c69279b30554e8ea7a7da2790aaa6ff81b0d597f305e4498391369  xsa475-2.patch
6b820b116418e6fd376b6d23ede589e4f86fea4ea775e9afb5c631ceba44d05f  xsa475-4.19-1.patch
f94b48392179bc08f412ead900a91299ef3a27a6dd4f5fdcf7a152fd65d3a02b  xsa475-4.19-2.patch
$

DEPLOYMENT DURING EMBARGO
=========================

Deployment of the patches (but not mitigations) described above (or others
which are substantially similar) is permitted during the embargo, even on
public-facing systems with untrusted guest users and administrators.

This is because the mitigations are guest visible changes, and hence could
give hints to users about the upcoming vulnerabilities.

But: Distribution of updated software is prohibited (except to other
members of the predisclosure list).

Predisclosure list members who wish to deploy significantly different
patches and/or mitigations, please contact the Xen Project Security
Team.

(Note: this during-embargo deployment notice is retained in
post-embargo publicly released Xen Project advisories, even though it
is then no longer applicable.  This is to enable the community to have
oversight of the Xen Project Security Team's decisionmaking.)

For more information about permissible uses of embargoed information,
consult the Xen Project community's agreed Security Policy:
  http://www.xenproject.org/security-policy.html
-----BEGIN PGP SIGNATURE-----

iQFABAEBCAAqFiEEI+MiLBRfRHX6gGCng/4UyVfoK9kFAmj3daEMHHBncEB4ZW4u
b3JnAAoJEIP+FMlX6CvZnvgIAJzU/Bczr7/Gj3pIqop+rgDsoLw/PU2tGkwhumJQ
0lICxaHWlqrk8cL0y+Ll0nQV4DTwoZbhSm9Bz3S9ZKo6/Qby9YZzo0Tyt9U2OxNU
YTpiYGSwrSlCs8cpfj4gwKGzEZ0nNTBTVbAa9UfqIYcvNF4j/L0Tnl6cJOZ/xNhh
8BoH02j+vCF8B8ZInutJjHhKPtrmDta0/md9R4Ydrx4OrLlAoYA4hKnkOuBWfhHg
amL1aJ3vk9kNNkP6sO19Vnp5KTawnLGZwN95+FDlDGuh8n8ixKfURvZ9eK8Ycfir
naItP4wBkFC9ukzlvGtkwoHPDspxKjtFTYfNvVNvoV6JOWc=
=oSQZ
-----END PGP SIGNATURE-----

--=separator
Content-Type: application/octet-stream; name="xsa475-1.patch"
Content-Disposition: attachment; filename="xsa475-1.patch"
Content-Transfer-Encoding: base64

RnJvbTogVGVkZHkgQXN0aWUgPHRlZGR5LmFzdGllQHZhdGVzLnRlY2g+ClN1
YmplY3Q6IHg4Ni92aXJpZGlhbjogRW5mb3JjZSBib3VuZHMgY2hlY2sgaW4g
dnBtYXNrX3NldCgpCgpDYWxsZXJzIGNhbiBwYXNzIHZwL21hc2sgdmFsdWVz
IHdoaWNoIGV4Y2VlZCB0aGUgc2l6ZSBvZiB2cG1hc2stPm1hc2suICBFbnN1
cmUKd2Ugb25seSBzZXQgYml0cyB3aGljaCBhcmUgd2l0aGluIGJvdW5kcy4K
ClRoaXMgaXMgWFNBLTQ3NSAvIENWRS0yMDI1LTU4MTQ3LgoKRml4ZXM6IGI0
MTI0NjgyZGI2ZSAoInZpcmlkaWFuOiBhZGQgRXhQcm9jZXNzb3JNYXNrcyB2
YXJpYW50cyBvZiB0aGUgZmx1c2ggaHlwZXJjYWxscyIpClNpZ25lZC1vZmYt
Ynk6IFRlZGR5IEFzdGllIDx0ZWRkeS5hc3RpZUB2YXRlcy50ZWNoPgpSZXZp
ZXdlZC1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4
LmNvbT4KCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL3ZpcmlkaWFu
L3ZpcmlkaWFuLmMgYi94ZW4vYXJjaC94ODYvaHZtL3ZpcmlkaWFuL3Zpcmlk
aWFuLmMKaW5kZXggYzBiZTI0YmQyMjEwLi43MDNmOWFjOGJjYzEgMTAwNjQ0
Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vdmlyaWRpYW4vdmlyaWRpYW4uYwor
KysgYi94ZW4vYXJjaC94ODYvaHZtL3ZpcmlkaWFuL3ZpcmlkaWFuLmMKQEAg
LTU2Miw3ICs1NjIsOCBAQCBzdGF0aWMgdm9pZCB2cG1hc2tfc2V0KHN0cnVj
dCBoeXBlcmNhbGxfdnBtYXNrICp2cG1hc2ssIHVuc2lnbmVkIGludCB2cCwK
IAogICAgICAgICBpZiAoIG1hc2sgJiAxICkKICAgICAgICAgewotICAgICAg
ICAgICAgQVNTRVJUKHZwIDwgSFZNX01BWF9WQ1BVUyk7CisgICAgICAgICAg
ICBpZiAoIHZwID49IEhWTV9NQVhfVkNQVVMgKQorICAgICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICAgICAgX19zZXRfYml0KHZwLCB2cG1hc2stPm1h
c2spOwogICAgICAgICB9CiAK

--=separator
Content-Type: application/octet-stream; name="xsa475-2.patch"
Content-Disposition: attachment; filename="xsa475-2.patch"
Content-Transfer-Encoding: base64

RnJvbTogVGVkZHkgQXN0aWUgPHRlZGR5LmFzdGllQHZhdGVzLnRlY2g+ClN1
YmplY3Q6IHg4Ni92aXJpZGlhbjogRW5mb3JjZSBib3VuZHMgY2hlY2sgaW4g
c2VuZF9pcGkoKQoKQ2FsbGVycyBjYW4gcGFzcyBpbiBhIHZwbWFzayB3aGlj
aCBleGNlZWRzIGQtPm1heF92Y3B1cy4gIFByZXZlbnQgb3V0LW9mLWJvdW5k
CnJlYWRzIG9mIGQtPnZjcHVbXS4KClRoaXMgaXMgWFNBLTQ3NSAvIENWRS0y
MDI1LTU4MTQ4LgoKRml4ZXM6IDcyOGFjYmExYmE0YSAoInZpcmlkaWFuOiB1
c2UgaHlwZXJjYWxsX3ZwbWFzayBpbiBodmNhbGxfaXBpKCkiKQpTaWduZWQt
b2ZmLWJ5OiBUZWRkeSBBc3RpZSA8dGVkZHkuYXN0aWVAdmF0ZXMudGVjaD4K
UmV2aWV3ZWQtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNp
dHJpeC5jb20+CgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS92aXJp
ZGlhbi92aXJpZGlhbi5jIGIveGVuL2FyY2gveDg2L2h2bS92aXJpZGlhbi92
aXJpZGlhbi5jCmluZGV4IDcwM2Y5YWM4YmNjMS4uZjc5Y2ZmY2IzNzY3IDEw
MDY0NAotLS0gYS94ZW4vYXJjaC94ODYvaHZtL3ZpcmlkaWFuL3ZpcmlkaWFu
LmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS92aXJpZGlhbi92aXJpZGlhbi5j
CkBAIC01NzcsMjYgKzU3Nyw2IEBAIHN0YXRpYyB2b2lkIHZwbWFza19maWxs
KHN0cnVjdCBoeXBlcmNhbGxfdnBtYXNrICp2cG1hc2spCiAgICAgYml0bWFw
X2ZpbGwodnBtYXNrLT5tYXNrLCBIVk1fTUFYX1ZDUFVTKTsKIH0KIAotc3Rh
dGljIHVuc2lnbmVkIGludCB2cG1hc2tfZmlyc3QoY29uc3Qgc3RydWN0IGh5
cGVyY2FsbF92cG1hc2sgKnZwbWFzaykKLXsKLSAgICByZXR1cm4gZmluZF9m
aXJzdF9iaXQodnBtYXNrLT5tYXNrLCBIVk1fTUFYX1ZDUFVTKTsKLX0KLQot
c3RhdGljIHVuc2lnbmVkIGludCB2cG1hc2tfbmV4dChjb25zdCBzdHJ1Y3Qg
aHlwZXJjYWxsX3ZwbWFzayAqdnBtYXNrLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgdnApCi17Ci0gICAgLyoKLSAg
ICAgKiBJZiB2cCArIDEgPiBIVk1fTUFYX1ZDUFVTIHRoZW4gZmluZF9uZXh0
X2JpdCgpIHdpbGwgcmV0dXJuCi0gICAgICogSFZNX01BWF9WQ1BVUywgZW5z
dXJpbmcgdGhlIGZvcl9lYWNoX3ZwICggLi4uICkgbG9vcCB0ZXJtaW5hdGVz
LgotICAgICAqLwotICAgIHJldHVybiBmaW5kX25leHRfYml0KHZwbWFzay0+
bWFzaywgSFZNX01BWF9WQ1BVUywgdnAgKyAxKTsKLX0KLQotI2RlZmluZSBm
b3JfZWFjaF92cCh2cG1hc2ssIHZwKSBcCi0JZm9yICggKHZwKSA9IHZwbWFz
a19maXJzdCh2cG1hc2spOyBcCi0JICAgICAgKHZwKSA8IEhWTV9NQVhfVkNQ
VVM7IFwKLQkgICAgICAodnApID0gdnBtYXNrX25leHQodnBtYXNrLCB2cCkg
KQotCiBzdGF0aWMgdW5zaWduZWQgaW50IHZwbWFza19ucihjb25zdCBzdHJ1
Y3QgaHlwZXJjYWxsX3ZwbWFzayAqdnBtYXNrKQogewogICAgIHJldHVybiBi
aXRtYXBfd2VpZ2h0KHZwbWFzay0+bWFzaywgSFZNX01BWF9WQ1BVUyk7CkBA
IC04MTMsNyArNzkzLDcgQEAgc3RhdGljIHZvaWQgc2VuZF9pcGkoc3RydWN0
IGh5cGVyY2FsbF92cG1hc2sgKnZwbWFzaywgdWludDhfdCB2ZWN0b3IpCiAg
ICAgaWYgKCBuciA+IDEgKQogICAgICAgICBjcHVfcmFpc2Vfc29mdGlycV9i
YXRjaF9iZWdpbigpOwogCi0gICAgZm9yX2VhY2hfdnAgKCB2cG1hc2ssIHZw
ICkKKyAgICBiaXRtYXBfZm9yX2VhY2ggKCB2cCwgdnBtYXNrLT5tYXNrLCBj
dXJyZC0+bWF4X3ZjcHVzICkKICAgICB7CiAgICAgICAgIHN0cnVjdCB2bGFw
aWMgKnZsYXBpYyA9IHZjcHVfdmxhcGljKGN1cnJkLT52Y3B1W3ZwXSk7CiAK

--=separator
Content-Type: application/octet-stream; name="xsa475-4.19-1.patch"
Content-Disposition: attachment; filename="xsa475-4.19-1.patch"
Content-Transfer-Encoding: base64

RnJvbTogVGVkZHkgQXN0aWUgPHRlZGR5LmFzdGllQHZhdGVzLnRlY2g+ClN1
YmplY3Q6IHg4Ni92aXJpZGlhbjogRW5mb3JjZSBib3VuZHMgY2hlY2sgaW4g
dnBtYXNrX3NldCgpCgpDYWxsZXJzIGNhbiBwYXNzIHZwL21hc2sgdmFsdWVz
IHdoaWNoIGV4Y2VlZCB0aGUgc2l6ZSBvZiB2cG1hc2stPm1hc2suICBFbnN1
cmUKd2Ugb25seSBzZXQgYml0cyB3aGljaCBhcmUgd2l0aGluIGJvdW5kcy4K
ClRoaXMgaXMgWFNBLTQ3NSAvIENWRS0yMDI1LTU4MTQ3LgoKRml4ZXM6IGI0
MTI0NjgyZGI2ZSAoInZpcmlkaWFuOiBhZGQgRXhQcm9jZXNzb3JNYXNrcyB2
YXJpYW50cyBvZiB0aGUgZmx1c2ggaHlwZXJjYWxscyIpClNpZ25lZC1vZmYt
Ynk6IFRlZGR5IEFzdGllIDx0ZWRkeS5hc3RpZUB2YXRlcy50ZWNoPgpSZXZp
ZXdlZC1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4
LmNvbT4KCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL3ZpcmlkaWFu
L3ZpcmlkaWFuLmMgYi94ZW4vYXJjaC94ODYvaHZtL3ZpcmlkaWFuL3Zpcmlk
aWFuLmMKaW5kZXggYTQxYTcwZTM3YTI5Li40MWU5M2VmMjBmYjIgMTAwNjQ0
Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vdmlyaWRpYW4vdmlyaWRpYW4uYwor
KysgYi94ZW4vYXJjaC94ODYvaHZtL3ZpcmlkaWFuL3ZpcmlkaWFuLmMKQEAg
LTU2Miw3ICs1NjIsOCBAQCBzdGF0aWMgdm9pZCB2cG1hc2tfc2V0KHN0cnVj
dCBoeXBlcmNhbGxfdnBtYXNrICp2cG1hc2ssIHVuc2lnbmVkIGludCB2cCwK
IAogICAgICAgICBpZiAoIG1hc2sgJiAxICkKICAgICAgICAgewotICAgICAg
ICAgICAgQVNTRVJUKHZwIDwgSFZNX01BWF9WQ1BVUyk7CisgICAgICAgICAg
ICBpZiAoIHZwID49IEhWTV9NQVhfVkNQVVMgKQorICAgICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICAgICAgX19zZXRfYml0KHZwLCB2cG1hc2stPm1h
c2spOwogICAgICAgICB9CiAK

--=separator
Content-Type: application/octet-stream; name="xsa475-4.19-2.patch"
Content-Disposition: attachment; filename="xsa475-4.19-2.patch"
Content-Transfer-Encoding: base64

RnJvbTogVGVkZHkgQXN0aWUgPHRlZGR5LmFzdGllQHZhdGVzLnRlY2g+ClN1
YmplY3Q6IHg4Ni92aXJpZGlhbjogRW5mb3JjZSBib3VuZHMgY2hlY2sgaW4g
c2VuZF9pcGkoKQoKQ2FsbGVycyBjYW4gcGFzcyBpbiBhIHZwbWFzayB3aGlj
aCBleGNlZWRzIGQtPm1heF92Y3B1cy4gIFByZXZlbnQgb3V0LW9mLWJvdW5k
CnJlYWRzIG9mIGQtPnZjcHVbXS4KClRoaXMgaXMgWFNBLTQ3NSAvIENWRS0y
MDI1LTU4MTQ4LgoKRml4ZXM6IDcyOGFjYmExYmE0YSAoInZpcmlkaWFuOiB1
c2UgaHlwZXJjYWxsX3ZwbWFzayBpbiBodmNhbGxfaXBpKCkiKQpTaWduZWQt
b2ZmLWJ5OiBUZWRkeSBBc3RpZSA8dGVkZHkuYXN0aWVAdmF0ZXMudGVjaD4K
UmV2aWV3ZWQtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNp
dHJpeC5jb20+CgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS92aXJp
ZGlhbi92aXJpZGlhbi5jIGIveGVuL2FyY2gveDg2L2h2bS92aXJpZGlhbi92
aXJpZGlhbi5jCmluZGV4IDQxZTkzZWYyMGZiMi4uZDQ1NzUxMzY1ZmRlIDEw
MDY0NAotLS0gYS94ZW4vYXJjaC94ODYvaHZtL3ZpcmlkaWFuL3ZpcmlkaWFu
LmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS92aXJpZGlhbi92aXJpZGlhbi5j
CkBAIC01NzcsMjYgKzU3Nyw2IEBAIHN0YXRpYyB2b2lkIHZwbWFza19maWxs
KHN0cnVjdCBoeXBlcmNhbGxfdnBtYXNrICp2cG1hc2spCiAgICAgYml0bWFw
X2ZpbGwodnBtYXNrLT5tYXNrLCBIVk1fTUFYX1ZDUFVTKTsKIH0KIAotc3Rh
dGljIHVuc2lnbmVkIGludCB2cG1hc2tfZmlyc3QoY29uc3Qgc3RydWN0IGh5
cGVyY2FsbF92cG1hc2sgKnZwbWFzaykKLXsKLSAgICByZXR1cm4gZmluZF9m
aXJzdF9iaXQodnBtYXNrLT5tYXNrLCBIVk1fTUFYX1ZDUFVTKTsKLX0KLQot
c3RhdGljIHVuc2lnbmVkIGludCB2cG1hc2tfbmV4dChjb25zdCBzdHJ1Y3Qg
aHlwZXJjYWxsX3ZwbWFzayAqdnBtYXNrLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgdnApCi17Ci0gICAgLyoKLSAg
ICAgKiBJZiB2cCArIDEgPiBIVk1fTUFYX1ZDUFVTIHRoZW4gZmluZF9uZXh0
X2JpdCgpIHdpbGwgcmV0dXJuCi0gICAgICogSFZNX01BWF9WQ1BVUywgZW5z
dXJpbmcgdGhlIGZvcl9lYWNoX3ZwICggLi4uICkgbG9vcCB0ZXJtaW5hdGVz
LgotICAgICAqLwotICAgIHJldHVybiBmaW5kX25leHRfYml0KHZwbWFzay0+
bWFzaywgSFZNX01BWF9WQ1BVUywgdnAgKyAxKTsKLX0KLQotI2RlZmluZSBm
b3JfZWFjaF92cCh2cG1hc2ssIHZwKSBcCi0JZm9yICggKHZwKSA9IHZwbWFz
a19maXJzdCh2cG1hc2spOyBcCi0JICAgICAgKHZwKSA8IEhWTV9NQVhfVkNQ
VVM7IFwKLQkgICAgICAodnApID0gdnBtYXNrX25leHQodnBtYXNrLCB2cCkg
KQotCiBzdGF0aWMgdW5zaWduZWQgaW50IHZwbWFza19ucihjb25zdCBzdHJ1
Y3QgaHlwZXJjYWxsX3ZwbWFzayAqdnBtYXNrKQogewogICAgIHJldHVybiBi
aXRtYXBfd2VpZ2h0KHZwbWFzay0+bWFzaywgSFZNX01BWF9WQ1BVUyk7CkBA
IC04MTMsNyArNzkzLDcgQEAgc3RhdGljIHZvaWQgc2VuZF9pcGkoc3RydWN0
IGh5cGVyY2FsbF92cG1hc2sgKnZwbWFzaywgdWludDhfdCB2ZWN0b3IpCiAg
ICAgaWYgKCBuciA+IDEgKQogICAgICAgICBjcHVfcmFpc2Vfc29mdGlycV9i
YXRjaF9iZWdpbigpOwogCi0gICAgZm9yX2VhY2hfdnAgKCB2cG1hc2ssIHZw
ICkKKyAgICBmb3JfZWFjaF9zZXRfYml0ICggdnAsIHZwbWFzay0+bWFzaywg
Y3VycmQtPm1heF92Y3B1cyApCiAgICAgewogICAgICAgICBzdHJ1Y3Qgdmxh
cGljICp2bGFwaWMgPSB2Y3B1X3ZsYXBpYyhjdXJyZC0+dmNwdVt2cF0pOwog
Cg==

--=separator--


From xen-devel-bounces@lists.xenproject.org Tue Oct 21 12:26:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Oct 2025 12:26:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1147119.1479386 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBBRF-00028M-N8; Tue, 21 Oct 2025 12:26:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1147119.1479386; Tue, 21 Oct 2025 12:26:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBBRF-00028F-K8; Tue, 21 Oct 2025 12:26:05 +0000
Received: by outflank-mailman (input) for mailman id 1147119;
 Tue, 21 Oct 2025 12:26:04 +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
 <SRS0=qZV1=46=redhat.com=marcandre.lureau@srs-se1.protection.inumbo.net>)
 id 1vBBRD-00027u-EW
 for xen-devel@lists.xenproject.org; Tue, 21 Oct 2025 12:26:04 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.133.124])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 173a6322-ae79-11f0-980a-7dc792cee155;
 Tue, 21 Oct 2025 14:25:56 +0200 (CEST)
Received: from mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com
 (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,
 cipher=TLS_AES_256_GCM_SHA384) id us-mta-372-QJMlkcGONb-U-PWRl8c44g-1; Tue,
 21 Oct 2025 08:25:51 -0400
Received: from mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com
 (mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.111])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
 (No client certificate requested)
 by mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS
 id BCA8B1800345; Tue, 21 Oct 2025 12:25:44 +0000 (UTC)
Received: from localhost (unknown [10.44.22.9])
 by mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP
 id A8351180044F; Tue, 21 Oct 2025 12:25:36 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 173a6322-ae79-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1761049555;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=vbBkFIIDHQS08D0JuzSR3QUT6yTHsOMMFwKh54OcSe8=;
	b=XgIy5PcmbW8vt4+vjuX4QMythU5ANid3XK0lNq4xzWF8SPRuwPU38UDHr4FJiXHUI65y9l
	ohuf16FWvzmrvsyoCRuXIfLDL7AAHf6xh2zEJB7c/mN8kyJph8d5BCU3hPFlB4R0JvfF1d
	9XORVnS+YNaMymdNUTGwyj37F7qOAqc=
X-MC-Unique: QJMlkcGONb-U-PWRl8c44g-1
X-Mimecast-MFC-AGG-ID: QJMlkcGONb-U-PWRl8c44g_1761049546
From: marcandre.lureau@redhat.com
To: qemu-devel@nongnu.org
Cc: pbonzini@redhat.com,
	=?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Stefano Garzarella <sgarzare@redhat.com>,
	"Gonglei (Arei)" <arei.gonglei@huawei.com>,
	Zhenwei Pi <pizhenwei@bytedance.com>,
	Laurent Vivier <lvivier@redhat.com>,
	Amit Shah <amit@kernel.org>,
	Stefan Berger <stefanb@linux.vnet.ibm.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Peter Maydell <peter.maydell@linaro.org>,
	Igor Mitsyanko <i.mitsyanko@gmail.com>,
	=?UTF-8?q?Cl=C3=A9ment=20Chigot?= <chigot@adacore.com>,
	Frederic Konrad <konrad.frederic@yahoo.fr>,
	Alberto Garcia <berto@igalia.com>,
	Thomas Huth <huth@tuxfamily.org>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Jason Herne <jjherne@linux.ibm.com>,
	Yoshinori Sato <yoshinori.sato@nifty.com>,
	Magnus Damm <magnus.damm@gmail.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	"Collin L. Walling" <walling@linux.ibm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony@xenproject.org>,
	Paul Durrant <paul@xen.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Alistair Francis <alistair@alistair23.me>,
	=?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Corey Minyard <minyard@acm.org>,
	Paul Burton <paulburton@kernel.org>,
	Aleksandar Rikalo <arikalo@gmail.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Daniel Henrique Barboza <dbarboza@ventanamicro.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Michael Rolnik <mrolnik@gmail.com>,
	Antony Pavlov <antonynpavlov@gmail.com>,
	Joel Stanley <joel@jms.id.au>,
	Vijai Kumar K <vijai@behindbytes.com>,
	Samuel Tardieu <sam@rfc1149.net>,
	Gustavo Romero <gustavo.romero@linaro.org>,
	Raphael Norwitz <raphael@enfabrica.net>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	mzamazal@redhat.com (reviewer:vhost-user-scmi),
	Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp>,
	Dmitry Osipenko <dmitry.osipenko@collabora.com>,
	Fabiano Rosas <farosas@suse.de>,
	Markus Armbruster <armbru@redhat.com>,
	"Dr. David Alan Gilbert" <dave@treblig.org>,
	Zhang Chen <zhangckid@gmail.com>,
	Li Zhijian <lizhijian@fujitsu.com>,
	Jason Wang <jasowang@redhat.com>,
	Manos Pitsidianakis <manos.pitsidianakis@linaro.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Helge Deller <deller@gmx.de>,
	Max Filippov <jcmvbkbc@gmail.com>,
	Lukas Straub <lukasstraub2@web.de>,
	qemu-arm@nongnu.org (open list:Sharp SL-5500 Co...),
	qemu-s390x@nongnu.org (open list:S390 SCLP-backed...),
	qemu-ppc@nongnu.org (open list:sPAPR (pseries)),
	xen-devel@lists.xenproject.org (open list:X86 Xen CPUs),
	qemu-riscv@nongnu.org (open list:RISC-V TCG CPUs),
	virtio-fs@lists.linux.dev (open list:virtiofs),
	qemu-rust@nongnu.org (open list:Rust-related patc...)
Subject: [PATCH] char: rename CharBackend->CharFrontend
Date: Tue, 21 Oct 2025 16:25:31 +0400
Message-ID: <20251021122533.721467-1-marcandre.lureau@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.111

From: Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>

The actual backend is "Chardev", CharBackend is the frontend side of it,
let's rename it for readability.

Signed-off-by: Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
---
 chardev/chardev-internal.h           |  12 +-
 include/chardev/char-fe.h            |  67 +++++----
 include/chardev/char.h               |   4 +-
 include/hw/char/avr_usart.h          |   2 +-
 include/hw/char/bcm2835_aux.h        |   2 +-
 include/hw/char/cadence_uart.h       |   2 +-
 include/hw/char/cmsdk-apb-uart.h     |   2 +-
 include/hw/char/digic-uart.h         |   2 +-
 include/hw/char/escc.h               |   2 +-
 include/hw/char/goldfish_tty.h       |   2 +-
 include/hw/char/ibex_uart.h          |   2 +-
 include/hw/char/imx_serial.h         |   2 +-
 include/hw/char/max78000_uart.h      |   2 +-
 include/hw/char/nrf51_uart.h         |   2 +-
 include/hw/char/parallel.h           |   2 +-
 include/hw/char/pl011.h              |   2 +-
 include/hw/char/renesas_sci.h        |   2 +-
 include/hw/char/riscv_htif.h         |   2 +-
 include/hw/char/serial.h             |   2 +-
 include/hw/char/shakti_uart.h        |   2 +-
 include/hw/char/sifive_uart.h        |   2 +-
 include/hw/char/stm32f2xx_usart.h    |   2 +-
 include/hw/char/stm32l4x5_usart.h    |   2 +-
 include/hw/misc/ivshmem-flat.h       |   2 +-
 include/hw/qdev-properties-system.h  |   2 +-
 include/hw/virtio/vhost-user-base.h  |   2 +-
 include/hw/virtio/vhost-user-blk.h   |   2 +-
 include/hw/virtio/vhost-user-fs.h    |   2 +-
 include/hw/virtio/vhost-user-scmi.h  |   2 +-
 include/hw/virtio/vhost-user-vsock.h |   2 +-
 include/hw/virtio/vhost-user.h       |   8 +-
 include/hw/virtio/virtio-gpu.h       |   2 +-
 include/hw/virtio/virtio-scsi.h      |   2 +-
 include/system/qtest.h               |   4 +-
 include/system/vhost-user-backend.h  |   2 +-
 monitor/monitor-internal.h           |   2 +-
 backends/cryptodev-vhost-user.c      |   2 +-
 backends/rng-egd.c                   |   2 +-
 backends/tpm/tpm_emulator.c          |   4 +-
 chardev/char-fe.c                    | 142 +++++++++----------
 chardev/char-hub.c                   |  18 +--
 chardev/char-mux.c                   |  40 +++---
 chardev/char.c                       |   8 +-
 gdbstub/system.c                     |   2 +-
 hw/arm/strongarm.c                   |   2 +-
 hw/char/debugcon.c                   |   2 +-
 hw/char/exynos4210_uart.c            |   2 +-
 hw/char/grlib_apbuart.c              |   2 +-
 hw/char/ipoctal232.c                 |   2 +-
 hw/char/mcf_uart.c                   |   2 +-
 hw/char/sclpconsole-lm.c             |   2 +-
 hw/char/sclpconsole.c                |   2 +-
 hw/char/sh_serial.c                  |   2 +-
 hw/char/spapr_vty.c                  |   2 +-
 hw/char/terminal3270.c               |   2 +-
 hw/char/virtio-console.c             |   2 +-
 hw/char/xen_console.c                |   2 +-
 hw/char/xilinx_uartlite.c            |   2 +-
 hw/core/qdev-properties-system.c     |  16 +--
 hw/ipmi/ipmi_bmc_extern.c            |   2 +-
 hw/mips/boston.c                     |   2 +-
 hw/mips/malta.c                      |   2 +-
 hw/misc/ivshmem-pci.c                |   2 +-
 hw/ppc/spapr_rtas.c                  |   2 +-
 hw/riscv/riscv_hart.c                |   2 +-
 hw/usb/ccid-card-passthru.c          |   2 +-
 hw/usb/dev-serial.c                  |   2 +-
 hw/usb/redirect.c                    |   2 +-
 hw/virtio/vhost-stub.c               |   2 +-
 hw/virtio/vhost-user.c               |  20 +--
 net/colo-compare.c                   |  10 +-
 net/filter-mirror.c                  |   4 +-
 net/passt.c                          |   2 +-
 net/slirp.c                          |   2 +-
 net/vhost-user.c                     |   2 +-
 semihosting/console.c                |   6 +-
 system/qtest.c                       |  20 +--
 target/hppa/sys_helper.c             |   2 +-
 target/xtensa/xtensa-semi.c          |   2 +-
 tests/qtest/vhost-user-test.c        |  16 +--
 tests/unit/test-char.c               | 198 +++++++++++++--------------
 tests/unit/test-yank.c               |  12 +-
 rust/bindings/src/lib.rs             |   4 +-
 rust/chardev/src/bindings.rs         |   6 +-
 rust/chardev/src/chardev.rs          |  26 ++--
 rust/hw/char/pl011/src/device.rs     |  12 +-
 rust/hw/core/src/qdev.rs             |   2 +-
 87 files changed, 392 insertions(+), 393 deletions(-)

diff --git a/chardev/chardev-internal.h b/chardev/chardev-internal.h
index 9752dd75f7..8ea10414ab 100644
--- a/chardev/chardev-internal.h
+++ b/chardev/chardev-internal.h
@@ -37,9 +37,9 @@
 struct MuxChardev {
     Chardev parent;
     /* Linked frontends */
-    CharBackend *backends[MAX_MUX];
-    /* Linked backend */
-    CharBackend chr;
+    CharFrontend *frontends[MAX_MUX];
+    /* frontend of the underlying muxed chardev */
+    CharFrontend chr;
     unsigned long mux_bitset;
     int focus;
     bool term_got_escape;
@@ -64,8 +64,8 @@ typedef struct HubCharBackend HubCharBackend;
  * `hub->backends` array
  */
 struct HubCharBackend {
-    HubChardev   *hub;
-    CharBackend  be;
+    HubChardev *hub;
+    CharFrontend fe;
     unsigned int be_ind;
 };
 
@@ -108,7 +108,7 @@ DECLARE_INSTANCE_CHECKER(HubChardev, HUB_CHARDEV,
 #define CHARDEV_IS_HUB(chr)                                \
     object_dynamic_cast(OBJECT(chr), TYPE_CHARDEV_HUB)
 
-bool mux_chr_attach_frontend(MuxChardev *d, CharBackend *b,
+bool mux_chr_attach_frontend(MuxChardev *d, CharFrontend *c,
                              unsigned int *tag, Error **errp);
 bool mux_chr_detach_frontend(MuxChardev *d, unsigned int tag);
 void mux_set_focus(Chardev *chr, unsigned int focus);
diff --git a/include/chardev/char-fe.h b/include/chardev/char-fe.h
index 8ef05b3dd0..cb28692f38 100644
--- a/include/chardev/char-fe.h
+++ b/include/chardev/char-fe.h
@@ -8,12 +8,12 @@ typedef void IOEventHandler(void *opaque, QEMUChrEvent event);
 typedef int BackendChangeHandler(void *opaque);
 
 /**
- * struct CharBackend - back end as seen by front end
+ * struct CharFrontend - back end as seen by front end
  * @fe_is_open: the front end is ready for IO
  *
  * The actual backend is Chardev
  */
-struct CharBackend {
+struct CharFrontend {
     Chardev *chr;
     IOEventHandler *chr_event;
     IOCanReadHandler *chr_can_read;
@@ -27,53 +27,52 @@ struct CharBackend {
 /**
  * qemu_chr_fe_init:
  *
- * Initializes a front end for the given CharBackend and
- * Chardev. Call qemu_chr_fe_deinit() to remove the association and
- * release the driver.
+ * Initializes the frontend @c for the given Chardev backend @s. Call
+ * qemu_chr_fe_deinit() to remove the association and release the backend.
  *
  * Returns: false on error.
  */
-bool qemu_chr_fe_init(CharBackend *b, Chardev *s, Error **errp);
+bool qemu_chr_fe_init(CharFrontend *c, Chardev *s, Error **errp);
 
 /**
  * qemu_chr_fe_deinit:
- * @b: a CharBackend
+ * @c: a CharFrontend
  * @del: if true, delete the chardev backend
 *
- * Dissociate the CharBackend from the Chardev.
+ * Dissociate the CharFrontend from the Chardev.
  *
  * Safe to call without associated Chardev.
  */
-void qemu_chr_fe_deinit(CharBackend *b, bool del);
+void qemu_chr_fe_deinit(CharFrontend *c, bool del);
 
 /**
  * qemu_chr_fe_get_driver:
  *
- * Returns: the driver associated with a CharBackend or NULL if no
+ * Returns: the driver associated with a CharFrontend or NULL if no
  * associated Chardev.
  * Note: avoid this function as the driver should never be accessed directly,
  *       especially by the frontends that support chardevice hotswap.
  *       Consider qemu_chr_fe_backend_connected() to check for driver existence
  */
-Chardev *qemu_chr_fe_get_driver(CharBackend *be);
+Chardev *qemu_chr_fe_get_driver(CharFrontend *c);
 
 /**
  * qemu_chr_fe_backend_connected:
  *
- * Returns: true if there is a chardevice associated with @be.
+ * Returns: true if there is a chardevice associated with @c.
  */
-bool qemu_chr_fe_backend_connected(CharBackend *be);
+bool qemu_chr_fe_backend_connected(CharFrontend *c);
 
 /**
  * qemu_chr_fe_backend_open:
  *
- * Returns: true if chardevice associated with @be is open.
+ * Returns: true if chardevice associated with @c is open.
  */
-bool qemu_chr_fe_backend_open(CharBackend *be);
+bool qemu_chr_fe_backend_open(CharFrontend *c);
 
 /**
  * qemu_chr_fe_set_handlers_full:
- * @b: a CharBackend
+ * @c: a CharFrontend
  * @fd_can_read: callback to get the amount of data the frontend may
  *               receive
  * @fd_read: callback to receive data from char
@@ -91,7 +90,7 @@ bool qemu_chr_fe_backend_open(CharBackend *be);
  *
  * Without associated Chardev, nothing is changed.
  */
-void qemu_chr_fe_set_handlers_full(CharBackend *b,
+void qemu_chr_fe_set_handlers_full(CharFrontend *c,
                                    IOCanReadHandler *fd_can_read,
                                    IOReadHandler *fd_read,
                                    IOEventHandler *fd_event,
@@ -106,7 +105,7 @@ void qemu_chr_fe_set_handlers_full(CharBackend *b,
  *
  * Version of qemu_chr_fe_set_handlers_full() with sync_state = true.
  */
-void qemu_chr_fe_set_handlers(CharBackend *b,
+void qemu_chr_fe_set_handlers(CharFrontend *c,
                               IOCanReadHandler *fd_can_read,
                               IOReadHandler *fd_read,
                               IOEventHandler *fd_event,
@@ -122,14 +121,14 @@ void qemu_chr_fe_set_handlers(CharBackend *b,
  *
  * Without associated Chardev, nothing is changed.
  */
-void qemu_chr_fe_take_focus(CharBackend *b);
+void qemu_chr_fe_take_focus(CharFrontend *c);
 
 /**
  * qemu_chr_fe_accept_input:
  *
  * Notify that the frontend is ready to receive data
  */
-void qemu_chr_fe_accept_input(CharBackend *be);
+void qemu_chr_fe_accept_input(CharFrontend *c);
 
 /**
  * qemu_chr_fe_disconnect:
@@ -137,7 +136,7 @@ void qemu_chr_fe_accept_input(CharBackend *be);
  * Close a fd accepted by character backend.
  * Without associated Chardev, do nothing.
  */
-void qemu_chr_fe_disconnect(CharBackend *be);
+void qemu_chr_fe_disconnect(CharFrontend *c);
 
 /**
  * qemu_chr_fe_wait_connected:
@@ -145,7 +144,7 @@ void qemu_chr_fe_disconnect(CharBackend *be);
  * Wait for character backend to be connected, return < 0 on error or
  * if no associated Chardev.
  */
-int qemu_chr_fe_wait_connected(CharBackend *be, Error **errp);
+int qemu_chr_fe_wait_connected(CharFrontend *c, Error **errp);
 
 /**
  * qemu_chr_fe_set_echo:
@@ -156,17 +155,17 @@ int qemu_chr_fe_wait_connected(CharBackend *be, Error **errp);
  * can see what you type if you try to type QMP commands.
  * Without associated Chardev, do nothing.
  */
-void qemu_chr_fe_set_echo(CharBackend *be, bool echo);
+void qemu_chr_fe_set_echo(CharFrontend *c, bool echo);
 
 /**
  * qemu_chr_fe_set_open:
- * @be: a CharBackend
+ * @c: a CharFrontend
  * @is_open: the front end open status
  *
  * This is an indication that the front end is ready (or not) to begin
  * doing I/O. Without associated Chardev, do nothing.
  */
-void qemu_chr_fe_set_open(CharBackend *be, bool is_open);
+void qemu_chr_fe_set_open(CharFrontend *c, bool is_open);
 
 /**
  * qemu_chr_fe_printf:
@@ -176,7 +175,7 @@ void qemu_chr_fe_set_open(CharBackend *be, bool is_open);
  * function is thread-safe. It does nothing without associated
  * Chardev.
  */
-void qemu_chr_fe_printf(CharBackend *be, const char *fmt, ...)
+void qemu_chr_fe_printf(CharFrontend *c, const char *fmt, ...)
     G_GNUC_PRINTF(2, 3);
 
 
@@ -215,7 +214,7 @@ typedef gboolean (*FEWatchFunc)(void *do_not_use, GIOCondition condition, void *
  *
  * Returns: the source tag
  */
-guint qemu_chr_fe_add_watch(CharBackend *be, GIOCondition cond,
+guint qemu_chr_fe_add_watch(CharFrontend *c, GIOCondition cond,
                             FEWatchFunc func, void *user_data);
 
 /**
@@ -230,7 +229,7 @@ guint qemu_chr_fe_add_watch(CharBackend *be, GIOCondition cond,
  * Returns: the number of bytes consumed (0 if no associated Chardev)
  *          or -1 on error.
  */
-int qemu_chr_fe_write(CharBackend *be, const uint8_t *buf, int len);
+int qemu_chr_fe_write(CharFrontend *c, const uint8_t *buf, int len);
 
 /**
  * qemu_chr_fe_write_all:
@@ -245,7 +244,7 @@ int qemu_chr_fe_write(CharBackend *be, const uint8_t *buf, int len);
  * Returns: the number of bytes consumed (0 if no associated Chardev)
  *          or -1 on error.
  */
-int qemu_chr_fe_write_all(CharBackend *be, const uint8_t *buf, int len);
+int qemu_chr_fe_write_all(CharFrontend *c, const uint8_t *buf, int len);
 
 /**
  * qemu_chr_fe_read_all:
@@ -257,7 +256,7 @@ int qemu_chr_fe_write_all(CharBackend *be, const uint8_t *buf, int len);
  * Returns: the number of bytes read (0 if no associated Chardev)
  *          or -1 on error.
  */
-int qemu_chr_fe_read_all(CharBackend *be, uint8_t *buf, int len);
+int qemu_chr_fe_read_all(CharFrontend *c, uint8_t *buf, int len);
 
 /**
  * qemu_chr_fe_ioctl:
@@ -270,7 +269,7 @@ int qemu_chr_fe_read_all(CharBackend *be, uint8_t *buf, int len);
  *          associated Chardev, -ENOTSUP, otherwise the return
  *          value depends on the semantics of @cmd
  */
-int qemu_chr_fe_ioctl(CharBackend *be, int cmd, void *arg);
+int qemu_chr_fe_ioctl(CharFrontend *c, int cmd, void *arg);
 
 /**
  * qemu_chr_fe_get_msgfd:
@@ -283,7 +282,7 @@ int qemu_chr_fe_ioctl(CharBackend *be, int cmd, void *arg);
  *          this function will return -1 until a client sends a new file
  *          descriptor.
  */
-int qemu_chr_fe_get_msgfd(CharBackend *be);
+int qemu_chr_fe_get_msgfd(CharFrontend *c);
 
 /**
  * qemu_chr_fe_get_msgfds:
@@ -296,7 +295,7 @@ int qemu_chr_fe_get_msgfd(CharBackend *be);
  *          this function will return -1 until a client sends a new set of file
  *          descriptors.
  */
-int qemu_chr_fe_get_msgfds(CharBackend *be, int *fds, int num);
+int qemu_chr_fe_get_msgfds(CharFrontend *c, int *fds, int num);
 
 /**
  * qemu_chr_fe_set_msgfds:
@@ -309,6 +308,6 @@ int qemu_chr_fe_get_msgfds(CharBackend *be, int *fds, int num);
  *
  * Returns: -1 if fd passing isn't supported or no associated Chardev.
  */
-int qemu_chr_fe_set_msgfds(CharBackend *be, int *fds, int num);
+int qemu_chr_fe_set_msgfds(CharFrontend *c, int *fds, int num);
 
 #endif /* QEMU_CHAR_FE_H */
diff --git a/include/chardev/char.h b/include/chardev/char.h
index 429852f8d9..d7da966548 100644
--- a/include/chardev/char.h
+++ b/include/chardev/char.h
@@ -15,7 +15,7 @@
 #define IAC 255
 
 /* character device */
-typedef struct CharBackend CharBackend;
+typedef struct CharFrontend CharFrontend;
 
 typedef enum {
     CHR_EVENT_BREAK, /* serial break char */
@@ -60,7 +60,7 @@ struct Chardev {
     Object parent_obj;
 
     QemuMutex chr_write_lock;
-    CharBackend *be;
+    CharFrontend *be;
     char *label;
     char *filename;
     int logfd;
diff --git a/include/hw/char/avr_usart.h b/include/hw/char/avr_usart.h
index 0cc599e9b1..bd2d488f9a 100644
--- a/include/hw/char/avr_usart.h
+++ b/include/hw/char/avr_usart.h
@@ -66,7 +66,7 @@ struct AVRUsartState {
     /* <public> */
     MemoryRegion mmio;
 
-    CharBackend chr;
+    CharFrontend chr;
 
     bool enabled;
 
diff --git a/include/hw/char/bcm2835_aux.h b/include/hw/char/bcm2835_aux.h
index 9e081793a0..a11134f216 100644
--- a/include/hw/char/bcm2835_aux.h
+++ b/include/hw/char/bcm2835_aux.h
@@ -24,7 +24,7 @@ struct BCM2835AuxState {
     /*< public >*/
 
     MemoryRegion iomem;
-    CharBackend chr;
+    CharFrontend chr;
     qemu_irq irq;
 
     uint8_t read_fifo[BCM2835_AUX_RX_FIFO_LEN];
diff --git a/include/hw/char/cadence_uart.h b/include/hw/char/cadence_uart.h
index e7f7cd8468..c87c327357 100644
--- a/include/hw/char/cadence_uart.h
+++ b/include/hw/char/cadence_uart.h
@@ -47,7 +47,7 @@ struct CadenceUARTState {
     uint32_t rx_count;
     uint32_t tx_count;
     uint64_t char_tx_time;
-    CharBackend chr;
+    CharFrontend chr;
     qemu_irq irq;
     QEMUTimer *fifo_trigger_handle;
     Clock *refclk;
diff --git a/include/hw/char/cmsdk-apb-uart.h b/include/hw/char/cmsdk-apb-uart.h
index 7de8f8d1b9..3d0af26ceb 100644
--- a/include/hw/char/cmsdk-apb-uart.h
+++ b/include/hw/char/cmsdk-apb-uart.h
@@ -25,7 +25,7 @@ struct CMSDKAPBUART {
 
     /*< public >*/
     MemoryRegion iomem;
-    CharBackend chr;
+    CharFrontend chr;
     qemu_irq txint;
     qemu_irq rxint;
     qemu_irq txovrint;
diff --git a/include/hw/char/digic-uart.h b/include/hw/char/digic-uart.h
index f710a1a099..3eebdab8a0 100644
--- a/include/hw/char/digic-uart.h
+++ b/include/hw/char/digic-uart.h
@@ -38,7 +38,7 @@ struct DigicUartState {
     /*< public >*/
 
     MemoryRegion regs_region;
-    CharBackend chr;
+    CharFrontend chr;
 
     uint32_t reg_rx;
     uint32_t reg_st;
diff --git a/include/hw/char/escc.h b/include/hw/char/escc.h
index 8c4c6a7730..857f64699e 100644
--- a/include/hw/char/escc.h
+++ b/include/hw/char/escc.h
@@ -36,7 +36,7 @@ typedef struct ESCCChannelState {
     uint32_t reg;
     uint8_t wregs[ESCC_SERIAL_REGS], rregs[ESCC_SERIAL_REGS];
     ESCCSERIOQueue queue;
-    CharBackend chr;
+    CharFrontend chr;
     int e0_mode, led_mode, caps_lock_mode, num_lock_mode;
     int disabled;
     int clock;
diff --git a/include/hw/char/goldfish_tty.h b/include/hw/char/goldfish_tty.h
index d59733e5ae..70fdedd1d0 100644
--- a/include/hw/char/goldfish_tty.h
+++ b/include/hw/char/goldfish_tty.h
@@ -24,7 +24,7 @@ struct GoldfishTTYState {
 
     MemoryRegion iomem;
     qemu_irq irq;
-    CharBackend chr;
+    CharFrontend chr;
 
     uint32_t data_len;
     uint64_t data_ptr;
diff --git a/include/hw/char/ibex_uart.h b/include/hw/char/ibex_uart.h
index 9deadf223b..1ccbb602e6 100644
--- a/include/hw/char/ibex_uart.h
+++ b/include/hw/char/ibex_uart.h
@@ -64,7 +64,7 @@ struct IbexUartState {
 
     Clock *f_clk;
 
-    CharBackend chr;
+    CharFrontend chr;
     qemu_irq tx_watermark;
     qemu_irq rx_watermark;
     qemu_irq tx_empty;
diff --git a/include/hw/char/imx_serial.h b/include/hw/char/imx_serial.h
index 90ba3ff18c..2dcd2e6bcd 100644
--- a/include/hw/char/imx_serial.h
+++ b/include/hw/char/imx_serial.h
@@ -122,7 +122,7 @@ struct IMXSerialState {
     uint32_t ucr4;
 
     qemu_irq irq;
-    CharBackend chr;
+    CharFrontend chr;
 };
 
 #endif
diff --git a/include/hw/char/max78000_uart.h b/include/hw/char/max78000_uart.h
index cf90d51dbf..ac93f83389 100644
--- a/include/hw/char/max78000_uart.h
+++ b/include/hw/char/max78000_uart.h
@@ -72,7 +72,7 @@ struct Max78000UartState {
 
     Fifo8 rx_fifo;
 
-    CharBackend chr;
+    CharFrontend chr;
     qemu_irq irq;
 };
 #endif /* HW_STM32F2XX_USART_H */
diff --git a/include/hw/char/nrf51_uart.h b/include/hw/char/nrf51_uart.h
index 561b6383c4..03d8c2a20d 100644
--- a/include/hw/char/nrf51_uart.h
+++ b/include/hw/char/nrf51_uart.h
@@ -59,7 +59,7 @@ struct NRF51UARTState {
     SysBusDevice parent_obj;
 
     MemoryRegion iomem;
-    CharBackend chr;
+    CharFrontend chr;
     qemu_irq irq;
     guint watch_tag;
 
diff --git a/include/hw/char/parallel.h b/include/hw/char/parallel.h
index 7b04478226..3f8d9b59a7 100644
--- a/include/hw/char/parallel.h
+++ b/include/hw/char/parallel.h
@@ -15,7 +15,7 @@ typedef struct ParallelState {
     uint8_t control;
     qemu_irq irq;
     int irq_pending;
-    CharBackend chr;
+    CharFrontend chr;
     int hw_driver;
     int epp_timeout;
     uint32_t last_read_offset; /* For debugging */
diff --git a/include/hw/char/pl011.h b/include/hw/char/pl011.h
index 299ca9b18b..2d4ff01c81 100644
--- a/include/hw/char/pl011.h
+++ b/include/hw/char/pl011.h
@@ -47,7 +47,7 @@ struct PL011State {
     int read_pos;
     int read_count;
     int read_trigger;
-    CharBackend chr;
+    CharFrontend chr;
     qemu_irq irq[6];
     Clock *clk;
     bool migrate_clk;
diff --git a/include/hw/char/renesas_sci.h b/include/hw/char/renesas_sci.h
index a4764e3eee..90e784f36a 100644
--- a/include/hw/char/renesas_sci.h
+++ b/include/hw/char/renesas_sci.h
@@ -33,7 +33,7 @@ struct RSCIState {
 
     MemoryRegion memory;
     QEMUTimer timer;
-    CharBackend chr;
+    CharFrontend chr;
     qemu_irq irq[SCI_NR_IRQ];
 
     uint8_t smr;
diff --git a/include/hw/char/riscv_htif.h b/include/hw/char/riscv_htif.h
index ee0ca29902..9d61e60d0a 100644
--- a/include/hw/char/riscv_htif.h
+++ b/include/hw/char/riscv_htif.h
@@ -36,7 +36,7 @@ typedef struct HTIFState {
     hwaddr fromhost_offset;
     MemoryRegion mmio;
 
-    CharBackend chr;
+    CharFrontend chr;
     uint64_t pending_read;
 } HTIFState;
 
diff --git a/include/hw/char/serial.h b/include/hw/char/serial.h
index 4bf90a46f3..486c0e0f35 100644
--- a/include/hw/char/serial.h
+++ b/include/hw/char/serial.h
@@ -54,7 +54,7 @@ struct SerialState {
        it can be reset while reading iir */
     int thr_ipending;
     qemu_irq irq;
-    CharBackend chr;
+    CharFrontend chr;
     int last_break_enable;
     uint32_t baudbase;
     uint32_t tsr_retry;
diff --git a/include/hw/char/shakti_uart.h b/include/hw/char/shakti_uart.h
index 526c408233..e5e775d7c9 100644
--- a/include/hw/char/shakti_uart.h
+++ b/include/hw/char/shakti_uart.h
@@ -68,7 +68,7 @@ typedef struct {
     uint32_t uart_iq_cycles;
     uint32_t uart_rx_threshold;
 
-    CharBackend chr;
+    CharFrontend chr;
 } ShaktiUartState;
 
 #endif /* HW_SHAKTI_UART_H */
diff --git a/include/hw/char/sifive_uart.h b/include/hw/char/sifive_uart.h
index 0846cf6218..6486c3f4a5 100644
--- a/include/hw/char/sifive_uart.h
+++ b/include/hw/char/sifive_uart.h
@@ -67,7 +67,7 @@ struct SiFiveUARTState {
     /*< public >*/
     qemu_irq irq;
     MemoryRegion mmio;
-    CharBackend chr;
+    CharFrontend chr;
 
     uint32_t txfifo;
     uint32_t ie;
diff --git a/include/hw/char/stm32f2xx_usart.h b/include/hw/char/stm32f2xx_usart.h
index fdfa7424a7..f9018b8b8f 100644
--- a/include/hw/char/stm32f2xx_usart.h
+++ b/include/hw/char/stm32f2xx_usart.h
@@ -73,7 +73,7 @@ struct STM32F2XXUsartState {
     uint32_t usart_cr3;
     uint32_t usart_gtpr;
 
-    CharBackend chr;
+    CharFrontend chr;
     qemu_irq irq;
 };
 #endif /* HW_STM32F2XX_USART_H */
diff --git a/include/hw/char/stm32l4x5_usart.h b/include/hw/char/stm32l4x5_usart.h
index dd3866682a..cdf7419f53 100644
--- a/include/hw/char/stm32l4x5_usart.h
+++ b/include/hw/char/stm32l4x5_usart.h
@@ -53,7 +53,7 @@ struct Stm32l4x5UsartBaseState {
     uint32_t tdr;
 
     Clock *clk;
-    CharBackend chr;
+    CharFrontend chr;
     qemu_irq irq;
     guint watch_tag;
 };
diff --git a/include/hw/misc/ivshmem-flat.h b/include/hw/misc/ivshmem-flat.h
index 3eca99004e..d656e57808 100644
--- a/include/hw/misc/ivshmem-flat.h
+++ b/include/hw/misc/ivshmem-flat.h
@@ -65,7 +65,7 @@ struct IvshmemFTState {
     QTAILQ_HEAD(, IvshmemPeer) peer;
     IvshmemPeer own;
 
-    CharBackend server_chr;
+    CharFrontend server_chr;
 
     /* IRQ */
     qemu_irq irq;
diff --git a/include/hw/qdev-properties-system.h b/include/hw/qdev-properties-system.h
index 9601a11a09..5c6cc5eae8 100644
--- a/include/hw/qdev-properties-system.h
+++ b/include/hw/qdev-properties-system.h
@@ -38,7 +38,7 @@ extern const PropertyInfo qdev_prop_virtio_gpu_output_list;
     DEFINE_PROP_SIGNED(_n, _s, _f, _d, qdev_prop_pci_devfn, int32_t)
 
 #define DEFINE_PROP_CHR(_n, _s, _f)             \
-    DEFINE_PROP(_n, _s, _f, qdev_prop_chr, CharBackend)
+    DEFINE_PROP(_n, _s, _f, qdev_prop_chr, CharFrontend)
 #define DEFINE_PROP_NETDEV(_n, _s, _f)             \
     DEFINE_PROP(_n, _s, _f, qdev_prop_netdev, NICPeers)
 #define DEFINE_PROP_DRIVE(_n, _s, _f) \
diff --git a/include/hw/virtio/vhost-user-base.h b/include/hw/virtio/vhost-user-base.h
index 387e434b80..d5d2f081ae 100644
--- a/include/hw/virtio/vhost-user-base.h
+++ b/include/hw/virtio/vhost-user-base.h
@@ -20,7 +20,7 @@ struct VHostUserBase {
     VirtIODevice parent_obj;
 
     /* Properties */
-    CharBackend chardev;
+    CharFrontend chardev;
     uint16_t virtio_id;
     uint32_t num_vqs;
     uint32_t vq_size; /* can't exceed VIRTIO_QUEUE_MAX */
diff --git a/include/hw/virtio/vhost-user-blk.h b/include/hw/virtio/vhost-user-blk.h
index a10f785672..8158d4673d 100644
--- a/include/hw/virtio/vhost-user-blk.h
+++ b/include/hw/virtio/vhost-user-blk.h
@@ -29,7 +29,7 @@ OBJECT_DECLARE_SIMPLE_TYPE(VHostUserBlk, VHOST_USER_BLK)
 
 struct VHostUserBlk {
     VirtIODevice parent_obj;
-    CharBackend chardev;
+    CharFrontend chardev;
     int32_t bootindex;
     struct virtio_blk_config blkcfg;
     uint16_t num_queues;
diff --git a/include/hw/virtio/vhost-user-fs.h b/include/hw/virtio/vhost-user-fs.h
index 94c3aaa84e..5699ea03a1 100644
--- a/include/hw/virtio/vhost-user-fs.h
+++ b/include/hw/virtio/vhost-user-fs.h
@@ -24,7 +24,7 @@
 OBJECT_DECLARE_SIMPLE_TYPE(VHostUserFS, VHOST_USER_FS)
 
 typedef struct {
-    CharBackend chardev;
+    CharFrontend chardev;
     char *tag;
     uint16_t num_request_queues;
     uint16_t queue_size;
diff --git a/include/hw/virtio/vhost-user-scmi.h b/include/hw/virtio/vhost-user-scmi.h
index c90db77dd5..30ab0d7ab7 100644
--- a/include/hw/virtio/vhost-user-scmi.h
+++ b/include/hw/virtio/vhost-user-scmi.h
@@ -18,7 +18,7 @@ OBJECT_DECLARE_SIMPLE_TYPE(VHostUserSCMI, VHOST_USER_SCMI);
 
 struct VHostUserSCMI {
     VirtIODevice parent;
-    CharBackend chardev;
+    CharFrontend chardev;
     struct vhost_virtqueue *vhost_vqs;
     struct vhost_dev vhost_dev;
     VhostUserState vhost_user;
diff --git a/include/hw/virtio/vhost-user-vsock.h b/include/hw/virtio/vhost-user-vsock.h
index 67aa46c952..5db6938b8b 100644
--- a/include/hw/virtio/vhost-user-vsock.h
+++ b/include/hw/virtio/vhost-user-vsock.h
@@ -20,7 +20,7 @@
 OBJECT_DECLARE_SIMPLE_TYPE(VHostUserVSock, VHOST_USER_VSOCK)
 
 typedef struct {
-    CharBackend chardev;
+    CharFrontend chardev;
 } VHostUserVSockConf;
 
 struct VHostUserVSock {
diff --git a/include/hw/virtio/vhost-user.h b/include/hw/virtio/vhost-user.h
index 9a3f238b43..55d5725ef8 100644
--- a/include/hw/virtio/vhost-user.h
+++ b/include/hw/virtio/vhost-user.h
@@ -64,7 +64,7 @@ typedef struct VhostUserHostNotifier {
  * @memory_slots:
  */
 typedef struct VhostUserState {
-    CharBackend *chr;
+    CharFrontend *chr;
     GPtrArray *notifiers;
     int memory_slots;
     bool supports_config;
@@ -82,7 +82,7 @@ typedef struct VhostUserState {
  *
  * Return: true on success, false on error while setting errp.
  */
-bool vhost_user_init(VhostUserState *user, CharBackend *chr, Error **errp);
+bool vhost_user_init(VhostUserState *user, CharFrontend *chr, Error **errp);
 
 /**
  * vhost_user_cleanup() - cleanup state
@@ -96,7 +96,7 @@ void vhost_user_cleanup(VhostUserState *user);
 /**
  * vhost_user_async_close() - cleanup vhost-user post connection drop
  * @d: DeviceState for the associated device (passed to callback)
- * @chardev: the CharBackend associated with the connection
+ * @chardev: the CharFrontend associated with the connection
  * @vhost: the common vhost device
  * @cb: the user callback function to complete the clean-up
  *
@@ -108,7 +108,7 @@ void vhost_user_cleanup(VhostUserState *user);
 typedef void (*vu_async_close_fn)(DeviceState *cb);
 
 void vhost_user_async_close(DeviceState *d,
-                            CharBackend *chardev, struct vhost_dev *vhost,
+                            CharFrontend *chardev, struct vhost_dev *vhost,
                             vu_async_close_fn cb);
 
 #endif
diff --git a/include/hw/virtio/virtio-gpu.h b/include/hw/virtio/virtio-gpu.h
index 9f16f89a36..58e0f91fda 100644
--- a/include/hw/virtio/virtio-gpu.h
+++ b/include/hw/virtio/virtio-gpu.h
@@ -257,7 +257,7 @@ struct VhostUserGPU {
 
     VhostUserBackend *vhost;
     int vhost_gpu_fd; /* closed by the chardev */
-    CharBackend vhost_chr;
+    CharFrontend vhost_chr;
     QemuDmaBuf *dmabuf[VIRTIO_GPU_MAX_SCANOUTS];
     bool backend_blocked;
 };
diff --git a/include/hw/virtio/virtio-scsi.h b/include/hw/virtio/virtio-scsi.h
index 31e852ed6c..b6028bb5cd 100644
--- a/include/hw/virtio/virtio-scsi.h
+++ b/include/hw/virtio/virtio-scsi.h
@@ -58,7 +58,7 @@ struct VirtIOSCSIConf {
     uint32_t cmd_per_lun;
     char *vhostfd;
     char *wwpn;
-    CharBackend chardev;
+    CharFrontend chardev;
     uint32_t boot_tpgt;
     IOThread *iothread;
     IOThreadVirtQueueMappingList *iothread_vq_mapping_list;
diff --git a/include/system/qtest.h b/include/system/qtest.h
index 84b1f8c6ee..7f6dc01d14 100644
--- a/include/system/qtest.h
+++ b/include/system/qtest.h
@@ -23,8 +23,8 @@ static inline bool qtest_enabled(void)
     return qtest_allowed;
 }
 
-void G_GNUC_PRINTF(2, 3) qtest_sendf(CharBackend *chr, const char *fmt, ...);
-void qtest_set_command_cb(bool (*pc_cb)(CharBackend *chr, gchar **words));
+void G_GNUC_PRINTF(2, 3) qtest_sendf(CharFrontend *chr, const char *fmt, ...);
+void qtest_set_command_cb(bool (*pc_cb)(CharFrontend *chr, gchar **words));
 bool qtest_driver(void);
 
 void qtest_server_init(const char *qtest_chrdev, const char *qtest_log, Error **errp);
diff --git a/include/system/vhost-user-backend.h b/include/system/vhost-user-backend.h
index 5634ebdb2e..3184c8e799 100644
--- a/include/system/vhost-user-backend.h
+++ b/include/system/vhost-user-backend.h
@@ -32,7 +32,7 @@ struct VhostUserBackend {
     Object parent;
 
     char *chr_name;
-    CharBackend chr;
+    CharFrontend chr;
     VhostUserState vhost_user;
     struct vhost_dev dev;
     VirtIODevice *vdev;
diff --git a/monitor/monitor-internal.h b/monitor/monitor-internal.h
index 5676eb334e..7735c73108 100644
--- a/monitor/monitor-internal.h
+++ b/monitor/monitor-internal.h
@@ -93,7 +93,7 @@ typedef struct HMPCommand {
 } HMPCommand;
 
 struct Monitor {
-    CharBackend chr;
+    CharFrontend chr;
     int suspend_cnt;            /* Needs to be accessed atomically */
     bool is_qmp;
     bool skip_flush;
diff --git a/backends/cryptodev-vhost-user.c b/backends/cryptodev-vhost-user.c
index cb04e68b02..cc478d9902 100644
--- a/backends/cryptodev-vhost-user.c
+++ b/backends/cryptodev-vhost-user.c
@@ -46,7 +46,7 @@ struct CryptoDevBackendVhostUser {
     CryptoDevBackend parent_obj;
 
     VhostUserState vhost_user;
-    CharBackend chr;
+    CharFrontend chr;
     char *chr_name;
     bool opened;
     CryptoDevBackendVhost *vhost_crypto[MAX_CRYPTO_QUEUE_NUM];
diff --git a/backends/rng-egd.c b/backends/rng-egd.c
index 9fd3393ede..1d92bd71cf 100644
--- a/backends/rng-egd.c
+++ b/backends/rng-egd.c
@@ -24,7 +24,7 @@ OBJECT_DECLARE_SIMPLE_TYPE(RngEgd, RNG_EGD)
 struct RngEgd {
     RngBackend parent;
 
-    CharBackend chr;
+    CharFrontend chr;
     char *chr_name;
 };
 
diff --git a/backends/tpm/tpm_emulator.c b/backends/tpm/tpm_emulator.c
index dacfca5ab7..f32b67dac7 100644
--- a/backends/tpm/tpm_emulator.c
+++ b/backends/tpm/tpm_emulator.c
@@ -69,7 +69,7 @@ struct TPMEmulator {
     TPMBackend parent;
 
     TPMEmulatorOptions *options;
-    CharBackend ctrl_chr;
+    CharFrontend ctrl_chr;
     QIOChannel *data_ioc;
     TPMVersion tpm_version;
     uint32_t caps; /* capabilities of the TPM */
@@ -126,7 +126,7 @@ static int tpm_emulator_ctrlcmd(TPMEmulator *tpm, unsigned long cmd, void *msg,
                                 size_t msg_len_in, size_t msg_len_out_err,
                                 size_t msg_len_out_total)
 {
-    CharBackend *dev = &tpm->ctrl_chr;
+    CharFrontend *dev = &tpm->ctrl_chr;
     uint32_t cmd_no = cpu_to_be32(cmd);
     ssize_t n = sizeof(uint32_t) + msg_len_in;
     ptm_res res;
diff --git a/chardev/char-fe.c b/chardev/char-fe.c
index 158a5f4f55..fc72319dab 100644
--- a/chardev/char-fe.c
+++ b/chardev/char-fe.c
@@ -30,9 +30,9 @@
 #include "chardev/char-io.h"
 #include "chardev-internal.h"
 
-int qemu_chr_fe_write(CharBackend *be, const uint8_t *buf, int len)
+int qemu_chr_fe_write(CharFrontend *c, const uint8_t *buf, int len)
 {
-    Chardev *s = be->chr;
+    Chardev *s = c->chr;
 
     if (!s) {
         return 0;
@@ -41,9 +41,9 @@ int qemu_chr_fe_write(CharBackend *be, const uint8_t *buf, int len)
     return qemu_chr_write(s, buf, len, false);
 }
 
-int qemu_chr_fe_write_all(CharBackend *be, const uint8_t *buf, int len)
+int qemu_chr_fe_write_all(CharFrontend *c, const uint8_t *buf, int len)
 {
-    Chardev *s = be->chr;
+    Chardev *s = c->chr;
 
     if (!s) {
         return 0;
@@ -52,9 +52,9 @@ int qemu_chr_fe_write_all(CharBackend *be, const uint8_t *buf, int len)
     return qemu_chr_write(s, buf, len, true);
 }
 
-int qemu_chr_fe_read_all(CharBackend *be, uint8_t *buf, int len)
+int qemu_chr_fe_read_all(CharFrontend *c, uint8_t *buf, int len)
 {
-    Chardev *s = be->chr;
+    Chardev *s = c->chr;
     int offset = 0;
     int res;
 
@@ -95,9 +95,9 @@ int qemu_chr_fe_read_all(CharBackend *be, uint8_t *buf, int len)
     return offset;
 }
 
-int qemu_chr_fe_ioctl(CharBackend *be, int cmd, void *arg)
+int qemu_chr_fe_ioctl(CharFrontend *c, int cmd, void *arg)
 {
-    Chardev *s = be->chr;
+    Chardev *s = c->chr;
     int res;
 
     if (!s || !CHARDEV_GET_CLASS(s)->chr_ioctl || qemu_chr_replay(s)) {
@@ -109,11 +109,11 @@ int qemu_chr_fe_ioctl(CharBackend *be, int cmd, void *arg)
     return res;
 }
 
-int qemu_chr_fe_get_msgfd(CharBackend *be)
+int qemu_chr_fe_get_msgfd(CharFrontend *c)
 {
-    Chardev *s = be->chr;
+    Chardev *s = c->chr;
     int fd;
-    int res = (qemu_chr_fe_get_msgfds(be, &fd, 1) == 1) ? fd : -1;
+    int res = (qemu_chr_fe_get_msgfds(c, &fd, 1) == 1) ? fd : -1;
     if (s && qemu_chr_replay(s)) {
         error_report("Replay: get msgfd is not supported "
                      "for serial devices yet");
@@ -122,9 +122,9 @@ int qemu_chr_fe_get_msgfd(CharBackend *be)
     return res;
 }
 
-int qemu_chr_fe_get_msgfds(CharBackend *be, int *fds, int len)
+int qemu_chr_fe_get_msgfds(CharFrontend *c, int *fds, int len)
 {
-    Chardev *s = be->chr;
+    Chardev *s = c->chr;
 
     if (!s) {
         return -1;
@@ -134,9 +134,9 @@ int qemu_chr_fe_get_msgfds(CharBackend *be, int *fds, int len)
         CHARDEV_GET_CLASS(s)->get_msgfds(s, fds, len) : -1;
 }
 
-int qemu_chr_fe_set_msgfds(CharBackend *be, int *fds, int num)
+int qemu_chr_fe_set_msgfds(CharFrontend *c, int *fds, int num)
 {
-    Chardev *s = be->chr;
+    Chardev *s = c->chr;
 
     if (!s) {
         return -1;
@@ -146,9 +146,9 @@ int qemu_chr_fe_set_msgfds(CharBackend *be, int *fds, int num)
         CHARDEV_GET_CLASS(s)->set_msgfds(s, fds, num) : -1;
 }
 
-void qemu_chr_fe_accept_input(CharBackend *be)
+void qemu_chr_fe_accept_input(CharFrontend *c)
 {
-    Chardev *s = be->chr;
+    Chardev *s = c->chr;
 
     if (!s) {
         return;
@@ -160,7 +160,7 @@ void qemu_chr_fe_accept_input(CharBackend *be)
     qemu_notify_event();
 }
 
-void qemu_chr_fe_printf(CharBackend *be, const char *fmt, ...)
+void qemu_chr_fe_printf(CharFrontend *c, const char *fmt, ...)
 {
     char buf[CHR_READ_BUF_LEN];
     va_list ap;
@@ -168,28 +168,28 @@ void qemu_chr_fe_printf(CharBackend *be, const char *fmt, ...)
     vsnprintf(buf, sizeof(buf), fmt, ap);
     /* XXX this blocks entire thread. Rewrite to use
      * qemu_chr_fe_write and background I/O callbacks */
-    qemu_chr_fe_write_all(be, (uint8_t *)buf, strlen(buf));
+    qemu_chr_fe_write_all(c, (uint8_t *)buf, strlen(buf));
     va_end(ap);
 }
 
-Chardev *qemu_chr_fe_get_driver(CharBackend *be)
+Chardev *qemu_chr_fe_get_driver(CharFrontend *c)
 {
     /* this is unsafe for the users that support chardev hotswap */
-    assert(be->chr_be_change == NULL);
-    return be->chr;
+    assert(c->chr_be_change == NULL);
+    return c->chr;
 }
 
-bool qemu_chr_fe_backend_connected(CharBackend *be)
+bool qemu_chr_fe_backend_connected(CharFrontend *c)
 {
-    return !!be->chr;
+    return !!c->chr;
 }
 
-bool qemu_chr_fe_backend_open(CharBackend *be)
+bool qemu_chr_fe_backend_open(CharFrontend *c)
 {
-    return be->chr && be->chr->be_open;
+    return c->chr && c->chr->be_open;
 }
 
-bool qemu_chr_fe_init(CharBackend *b, Chardev *s, Error **errp)
+bool qemu_chr_fe_init(CharFrontend *c, Chardev *s, Error **errp)
 {
     unsigned int tag = 0;
 
@@ -197,49 +197,49 @@ bool qemu_chr_fe_init(CharBackend *b, Chardev *s, Error **errp)
         if (CHARDEV_IS_MUX(s)) {
             MuxChardev *d = MUX_CHARDEV(s);
 
-            if (!mux_chr_attach_frontend(d, b, &tag, errp)) {
+            if (!mux_chr_attach_frontend(d, c, &tag, errp)) {
                 return false;
             }
         } else if (s->be) {
             error_setg(errp, "chardev '%s' is already in use", s->label);
             return false;
         } else {
-            s->be = b;
+            s->be = c;
         }
     }
 
-    b->fe_is_open = false;
-    b->tag = tag;
-    b->chr = s;
+    c->fe_is_open = false;
+    c->tag = tag;
+    c->chr = s;
     return true;
 }
 
-void qemu_chr_fe_deinit(CharBackend *b, bool del)
+void qemu_chr_fe_deinit(CharFrontend *c, bool del)
 {
-    assert(b);
+    assert(c);
 
-    if (b->chr) {
-        qemu_chr_fe_set_handlers(b, NULL, NULL, NULL, NULL, NULL, NULL, true);
-        if (b->chr->be == b) {
-            b->chr->be = NULL;
+    if (c->chr) {
+        qemu_chr_fe_set_handlers(c, NULL, NULL, NULL, NULL, NULL, NULL, true);
+        if (c->chr->be == c) {
+            c->chr->be = NULL;
         }
-        if (CHARDEV_IS_MUX(b->chr)) {
-            MuxChardev *d = MUX_CHARDEV(b->chr);
-            mux_chr_detach_frontend(d, b->tag);
+        if (CHARDEV_IS_MUX(c->chr)) {
+            MuxChardev *d = MUX_CHARDEV(c->chr);
+            mux_chr_detach_frontend(d, c->tag);
         }
         if (del) {
-            Object *obj = OBJECT(b->chr);
+            Object *obj = OBJECT(c->chr);
             if (obj->parent) {
                 object_unparent(obj);
             } else {
                 object_unref(obj);
             }
         }
-        b->chr = NULL;
+        c->chr = NULL;
     }
 }
 
-void qemu_chr_fe_set_handlers_full(CharBackend *b,
+void qemu_chr_fe_set_handlers_full(CharFrontend *c,
                                    IOCanReadHandler *fd_can_read,
                                    IOReadHandler *fd_read,
                                    IOEventHandler *fd_event,
@@ -252,7 +252,7 @@ void qemu_chr_fe_set_handlers_full(CharBackend *b,
     Chardev *s;
     bool fe_open;
 
-    s = b->chr;
+    s = c->chr;
     if (!s) {
         return;
     }
@@ -263,20 +263,20 @@ void qemu_chr_fe_set_handlers_full(CharBackend *b,
     } else {
         fe_open = true;
     }
-    b->chr_can_read = fd_can_read;
-    b->chr_read = fd_read;
-    b->chr_event = fd_event;
-    b->chr_be_change = be_change;
-    b->opaque = opaque;
+    c->chr_can_read = fd_can_read;
+    c->chr_read = fd_read;
+    c->chr_event = fd_event;
+    c->chr_be_change = be_change;
+    c->opaque = opaque;
 
     qemu_chr_be_update_read_handlers(s, context);
 
     if (set_open) {
-        qemu_chr_fe_set_open(b, fe_open);
+        qemu_chr_fe_set_open(c, fe_open);
     }
 
     if (fe_open) {
-        qemu_chr_fe_take_focus(b);
+        qemu_chr_fe_take_focus(c);
         /* We're connecting to an already opened device, so let's make sure we
            also get the open event */
         if (sync_state && s->be_open) {
@@ -285,7 +285,7 @@ void qemu_chr_fe_set_handlers_full(CharBackend *b,
     }
 }
 
-void qemu_chr_fe_set_handlers(CharBackend *b,
+void qemu_chr_fe_set_handlers(CharFrontend *c,
                               IOCanReadHandler *fd_can_read,
                               IOReadHandler *fd_read,
                               IOEventHandler *fd_event,
@@ -294,62 +294,62 @@ void qemu_chr_fe_set_handlers(CharBackend *b,
                               GMainContext *context,
                               bool set_open)
 {
-    qemu_chr_fe_set_handlers_full(b, fd_can_read, fd_read, fd_event, be_change,
+    qemu_chr_fe_set_handlers_full(c, fd_can_read, fd_read, fd_event, be_change,
                                   opaque, context, set_open,
                                   true);
 }
 
-void qemu_chr_fe_take_focus(CharBackend *b)
+void qemu_chr_fe_take_focus(CharFrontend *c)
 {
-    if (!b->chr) {
+    if (!c->chr) {
         return;
     }
 
-    if (CHARDEV_IS_MUX(b->chr)) {
-        mux_set_focus(b->chr, b->tag);
+    if (CHARDEV_IS_MUX(c->chr)) {
+        mux_set_focus(c->chr, c->tag);
     }
 }
 
-int qemu_chr_fe_wait_connected(CharBackend *be, Error **errp)
+int qemu_chr_fe_wait_connected(CharFrontend *c, Error **errp)
 {
-    if (!be->chr) {
+    if (!c->chr) {
         error_setg(errp, "missing associated backend");
         return -1;
     }
 
-    return qemu_chr_wait_connected(be->chr, errp);
+    return qemu_chr_wait_connected(c->chr, errp);
 }
 
-void qemu_chr_fe_set_echo(CharBackend *be, bool echo)
+void qemu_chr_fe_set_echo(CharFrontend *c, bool echo)
 {
-    Chardev *chr = be->chr;
+    Chardev *chr = c->chr;
 
     if (chr && CHARDEV_GET_CLASS(chr)->chr_set_echo) {
         CHARDEV_GET_CLASS(chr)->chr_set_echo(chr, echo);
     }
 }
 
-void qemu_chr_fe_set_open(CharBackend *be, bool is_open)
+void qemu_chr_fe_set_open(CharFrontend *c, bool is_open)
 {
-    Chardev *chr = be->chr;
+    Chardev *chr = c->chr;
 
     if (!chr) {
         return;
     }
 
-    if (be->fe_is_open == is_open) {
+    if (c->fe_is_open == is_open) {
         return;
     }
-    be->fe_is_open = is_open;
+    c->fe_is_open = is_open;
     if (CHARDEV_GET_CLASS(chr)->chr_set_fe_open) {
         CHARDEV_GET_CLASS(chr)->chr_set_fe_open(chr, is_open);
     }
 }
 
-guint qemu_chr_fe_add_watch(CharBackend *be, GIOCondition cond,
+guint qemu_chr_fe_add_watch(CharFrontend *c, GIOCondition cond,
                             FEWatchFunc func, void *user_data)
 {
-    Chardev *s = be->chr;
+    Chardev *s = c->chr;
     GSource *src;
     guint tag;
 
@@ -369,9 +369,9 @@ guint qemu_chr_fe_add_watch(CharBackend *be, GIOCondition cond,
     return tag;
 }
 
-void qemu_chr_fe_disconnect(CharBackend *be)
+void qemu_chr_fe_disconnect(CharFrontend *c)
 {
-    Chardev *chr = be->chr;
+    Chardev *chr = c->chr;
 
     if (chr && CHARDEV_GET_CLASS(chr)->chr_disconnect) {
         CHARDEV_GET_CLASS(chr)->chr_disconnect(chr);
diff --git a/chardev/char-hub.c b/chardev/char-hub.c
index 16ffee2017..646c65a41a 100644
--- a/chardev/char-hub.c
+++ b/chardev/char-hub.c
@@ -54,7 +54,7 @@ static int hub_chr_write(Chardev *chr, const uint8_t *buf, int len)
     d->be_eagain_ind = -1;
 
     for (i = 0; i < d->be_cnt; i++) {
-        if (!d->backends[i].be.chr->be_open) {
+        if (!d->backends[i].fe.chr->be_open) {
             /* Skip closed backend */
             continue;
         }
@@ -64,7 +64,7 @@ static int hub_chr_write(Chardev *chr, const uint8_t *buf, int len)
             ret = MIN(written, ret);
             continue;
         }
-        r = qemu_chr_fe_write(&d->backends[i].be, buf, len);
+        r = qemu_chr_fe_write(&d->backends[i].fe, buf, len);
         if (r < 0) {
             if (errno == EAGAIN) {
                 /* Set index and expect to be called soon on watch wake up */
@@ -84,7 +84,7 @@ static int hub_chr_write(Chardev *chr, const uint8_t *buf, int len)
 static int hub_chr_can_read(void *opaque)
 {
     HubCharBackend *backend = opaque;
-    CharBackend *fe = backend->hub->parent.be;
+    CharFrontend *fe = backend->hub->parent.be;
 
     if (fe && fe->chr_can_read) {
         return fe->chr_can_read(fe->opaque);
@@ -96,7 +96,7 @@ static int hub_chr_can_read(void *opaque)
 static void hub_chr_read(void *opaque, const uint8_t *buf, int size)
 {
     HubCharBackend *backend = opaque;
-    CharBackend *fe = backend->hub->parent.be;
+    CharFrontend *fe = backend->hub->parent.be;
 
     if (fe && fe->chr_read) {
         fe->chr_read(fe->opaque, buf, size);
@@ -107,7 +107,7 @@ static void hub_chr_event(void *opaque, QEMUChrEvent event)
 {
     HubCharBackend *backend = opaque;
     HubChardev *d = backend->hub;
-    CharBackend *fe = d->parent.be;
+    CharFrontend *fe = d->parent.be;
 
     if (event == CHR_EVENT_OPENED) {
         /*
@@ -147,7 +147,7 @@ static GSource *hub_chr_add_watch(Chardev *s, GIOCondition cond)
     }
 
     assert(d->be_eagain_ind < d->be_cnt);
-    chr = qemu_chr_fe_get_driver(&d->backends[d->be_eagain_ind].be);
+    chr = qemu_chr_fe_get_driver(&d->backends[d->be_eagain_ind].fe);
     cc = CHARDEV_GET_CLASS(chr);
     if (!cc->chr_add_watch) {
         return NULL;
@@ -167,7 +167,7 @@ static bool hub_chr_attach_chardev(HubChardev *d, Chardev *chr,
                    d->parent.label);
         return false;
     }
-    ret = qemu_chr_fe_init(&d->backends[d->be_cnt].be, chr, errp);
+    ret = qemu_chr_fe_init(&d->backends[d->be_cnt].fe, chr, errp);
     if (ret) {
         d->backends[d->be_cnt].hub = d;
         d->backends[d->be_cnt].be_ind = d->be_cnt;
@@ -183,7 +183,7 @@ static void char_hub_finalize(Object *obj)
     int i;
 
     for (i = 0; i < d->be_cnt; i++) {
-        qemu_chr_fe_deinit(&d->backends[i].be, false);
+        qemu_chr_fe_deinit(&d->backends[i].fe, false);
     }
 }
 
@@ -193,7 +193,7 @@ static void hub_chr_update_read_handlers(Chardev *chr)
     int i;
 
     for (i = 0; i < d->be_cnt; i++) {
-        qemu_chr_fe_set_handlers_full(&d->backends[i].be,
+        qemu_chr_fe_set_handlers_full(&d->backends[i].fe,
                                       hub_chr_can_read,
                                       hub_chr_read,
                                       hub_chr_event,
diff --git a/chardev/char-mux.c b/chardev/char-mux.c
index 6b36290e2c..eeb7571b26 100644
--- a/chardev/char-mux.c
+++ b/chardev/char-mux.c
@@ -128,10 +128,10 @@ static void mux_print_help(Chardev *chr)
 static void mux_chr_send_event(MuxChardev *d, unsigned int mux_nr,
                                QEMUChrEvent event)
 {
-    CharBackend *be = d->backends[mux_nr];
+    CharFrontend *fe = d->frontends[mux_nr];
 
-    if (be && be->chr_event) {
-        be->chr_event(be->opaque, event);
+    if (fe && fe->chr_event) {
+        fe->chr_event(fe->opaque, event);
     }
 }
 
@@ -200,11 +200,11 @@ static void mux_chr_accept_input(Chardev *chr)
 {
     MuxChardev *d = MUX_CHARDEV(chr);
     int m = d->focus;
-    CharBackend *be = d->backends[m];
+    CharFrontend *fe = d->frontends[m];
 
-    while (be && d->prod[m] != d->cons[m] &&
-           be->chr_can_read && be->chr_can_read(be->opaque)) {
-        be->chr_read(be->opaque,
+    while (fe && d->prod[m] != d->cons[m] &&
+           fe->chr_can_read && fe->chr_can_read(fe->opaque)) {
+        fe->chr_read(fe->opaque,
                      &d->buffer[m][d->cons[m]++ & MUX_BUFFER_MASK], 1);
     }
 }
@@ -213,14 +213,14 @@ static int mux_chr_can_read(void *opaque)
 {
     MuxChardev *d = MUX_CHARDEV(opaque);
     int m = d->focus;
-    CharBackend *be = d->backends[m];
+    CharFrontend *fe = d->frontends[m];
 
     if ((d->prod[m] - d->cons[m]) < MUX_BUFFER_SIZE) {
         return 1;
     }
 
-    if (be && be->chr_can_read) {
-        return be->chr_can_read(be->opaque);
+    if (fe && fe->chr_can_read) {
+        return fe->chr_can_read(fe->opaque);
     }
 
     return 0;
@@ -231,7 +231,7 @@ static void mux_chr_read(void *opaque, const uint8_t *buf, int size)
     Chardev *chr = CHARDEV(opaque);
     MuxChardev *d = MUX_CHARDEV(opaque);
     int m = d->focus;
-    CharBackend *be = d->backends[m];
+    CharFrontend *fe = d->frontends[m];
     int i;
 
     mux_chr_accept_input(opaque);
@@ -239,9 +239,9 @@ static void mux_chr_read(void *opaque, const uint8_t *buf, int size)
     for (i = 0; i < size; i++)
         if (mux_proc_byte(chr, d, buf[i])) {
             if (d->prod[m] == d->cons[m] &&
-                be && be->chr_can_read &&
-                be->chr_can_read(be->opaque)) {
-                be->chr_read(be->opaque, &buf[i], 1);
+                fe && fe->chr_can_read &&
+                fe->chr_can_read(fe->opaque)) {
+                fe->chr_read(fe->opaque, &buf[i], 1);
             } else {
                 d->buffer[m][d->prod[m]++ & MUX_BUFFER_MASK] = buf[i];
             }
@@ -289,9 +289,9 @@ static void char_mux_finalize(Object *obj)
 
     bit = -1;
     while ((bit = find_next_bit(&d->mux_bitset, MAX_MUX, bit + 1)) < MAX_MUX) {
-        CharBackend *be = d->backends[bit];
+        CharFrontend *be = d->frontends[bit];
         be->chr = NULL;
-        d->backends[bit] = NULL;
+        d->frontends[bit] = NULL;
     }
     d->mux_bitset = 0;
     qemu_chr_fe_deinit(&d->chr, false);
@@ -311,7 +311,7 @@ static void mux_chr_update_read_handlers(Chardev *chr)
                                   chr->gcontext, true, false);
 }
 
-bool mux_chr_attach_frontend(MuxChardev *d, CharBackend *b,
+bool mux_chr_attach_frontend(MuxChardev *d, CharFrontend *c,
                              unsigned int *tag, Error **errp)
 {
     unsigned int bit;
@@ -328,7 +328,7 @@ bool mux_chr_attach_frontend(MuxChardev *d, CharBackend *b,
     }
 
     d->mux_bitset |= (1ul << bit);
-    d->backends[bit] = b;
+    d->frontends[bit] = c;
     *tag = bit;
 
     return true;
@@ -341,7 +341,7 @@ bool mux_chr_detach_frontend(MuxChardev *d, unsigned int tag)
     }
 
     d->mux_bitset &= ~(1ul << tag);
-    d->backends[tag] = NULL;
+    d->frontends[tag] = NULL;
 
     return true;
 }
@@ -357,7 +357,7 @@ void mux_set_focus(Chardev *chr, unsigned int focus)
     }
 
     d->focus = focus;
-    chr->be = d->backends[focus];
+    chr->be = d->frontends[focus];
     mux_chr_send_event(d, d->focus, CHR_EVENT_MUX_IN);
 }
 
diff --git a/chardev/char.c b/chardev/char.c
index bbebd246c3..cc631f0385 100644
--- a/chardev/char.c
+++ b/chardev/char.c
@@ -53,7 +53,7 @@ Object *get_chardevs_root(void)
 
 static void chr_be_event(Chardev *s, QEMUChrEvent event)
 {
-    CharBackend *be = s->be;
+    CharFrontend *be = s->be;
 
     if (!be || !be->chr_event) {
         return;
@@ -197,7 +197,7 @@ int qemu_chr_write(Chardev *s, const uint8_t *buf, int len, bool write_all)
 
 int qemu_chr_be_can_write(Chardev *s)
 {
-    CharBackend *be = s->be;
+    CharFrontend *be = s->be;
 
     if (!be || !be->chr_can_read) {
         return 0;
@@ -208,7 +208,7 @@ int qemu_chr_be_can_write(Chardev *s)
 
 void qemu_chr_be_write_impl(Chardev *s, const uint8_t *buf, int len)
 {
-    CharBackend *be = s->be;
+    CharFrontend *be = s->be;
 
     if (be && be->chr_read) {
         be->chr_read(be->opaque, buf, len);
@@ -1112,7 +1112,7 @@ err:
 ChardevReturn *qmp_chardev_change(const char *id, ChardevBackend *backend,
                                   Error **errp)
 {
-    CharBackend *be;
+    CharFrontend *be;
     const ChardevClass *cc, *cc_new;
     Chardev *chr, *chr_new;
     bool closed_sent = false;
diff --git a/gdbstub/system.c b/gdbstub/system.c
index 5221c579d9..e2220c1ae4 100644
--- a/gdbstub/system.c
+++ b/gdbstub/system.c
@@ -34,7 +34,7 @@
 
 /* System emulation specific state */
 typedef struct {
-    CharBackend chr;
+    CharFrontend chr;
     Chardev *mon_chr;
 } GDBSystemState;
 
diff --git a/hw/arm/strongarm.c b/hw/arm/strongarm.c
index 229c98ddd9..059b07907d 100644
--- a/hw/arm/strongarm.c
+++ b/hw/arm/strongarm.c
@@ -927,7 +927,7 @@ struct StrongARMUARTState {
     SysBusDevice parent_obj;
 
     MemoryRegion iomem;
-    CharBackend chr;
+    CharFrontend chr;
     qemu_irq irq;
 
     uint8_t utcr0;
diff --git a/hw/char/debugcon.c b/hw/char/debugcon.c
index bf44aaf9e4..bb323adda5 100644
--- a/hw/char/debugcon.c
+++ b/hw/char/debugcon.c
@@ -40,7 +40,7 @@ OBJECT_DECLARE_SIMPLE_TYPE(ISADebugconState, ISA_DEBUGCON_DEVICE)
 
 typedef struct DebugconState {
     MemoryRegion io;
-    CharBackend chr;
+    CharFrontend chr;
     uint32_t readback;
 } DebugconState;
 
diff --git a/hw/char/exynos4210_uart.c b/hw/char/exynos4210_uart.c
index 6521b4cedd..9e45d81990 100644
--- a/hw/char/exynos4210_uart.c
+++ b/hw/char/exynos4210_uart.c
@@ -154,7 +154,7 @@ struct Exynos4210UartState {
     QEMUTimer *fifo_timeout_timer;
     uint64_t wordtime;        /* word time in ns */
 
-    CharBackend       chr;
+    CharFrontend       chr;
     qemu_irq          irq;
     qemu_irq          dmairq;
 
diff --git a/hw/char/grlib_apbuart.c b/hw/char/grlib_apbuart.c
index 81c26e3389..b2d5a40bb4 100644
--- a/hw/char/grlib_apbuart.c
+++ b/hw/char/grlib_apbuart.c
@@ -84,7 +84,7 @@ struct UART {
     MemoryRegion iomem;
     qemu_irq irq;
 
-    CharBackend chr;
+    CharFrontend chr;
 
     /* registers */
     uint32_t status;
diff --git a/hw/char/ipoctal232.c b/hw/char/ipoctal232.c
index 752c6c818a..d0108d0b9a 100644
--- a/hw/char/ipoctal232.c
+++ b/hw/char/ipoctal232.c
@@ -99,7 +99,7 @@ typedef struct SCC2698Block SCC2698Block;
 
 struct SCC2698Channel {
     IPOctalState *ipoctal;
-    CharBackend dev;
+    CharFrontend dev;
     bool rx_enabled;
     uint8_t mr[2];
     uint8_t mr_idx;
diff --git a/hw/char/mcf_uart.c b/hw/char/mcf_uart.c
index 87bfcbebdc..f14de59530 100644
--- a/hw/char/mcf_uart.c
+++ b/hw/char/mcf_uart.c
@@ -36,7 +36,7 @@ struct mcf_uart_state {
     int tx_enabled;
     int rx_enabled;
     qemu_irq irq;
-    CharBackend chr;
+    CharFrontend chr;
 };
 
 #define TYPE_MCF_UART "mcf-uart"
diff --git a/hw/char/sclpconsole-lm.c b/hw/char/sclpconsole-lm.c
index 3e40d5e434..c51308f9c5 100644
--- a/hw/char/sclpconsole-lm.c
+++ b/hw/char/sclpconsole-lm.c
@@ -41,7 +41,7 @@ typedef struct OprtnsCommand {
 
 struct SCLPConsoleLM {
     SCLPEvent event;
-    CharBackend chr;
+    CharFrontend chr;
     bool echo;                  /* immediate echo of input if true        */
     uint32_t write_errors;      /* errors writing to char layer           */
     uint32_t length;            /* length of byte stream in buffer        */
diff --git a/hw/char/sclpconsole.c b/hw/char/sclpconsole.c
index 95e3045178..2abf861dbc 100644
--- a/hw/char/sclpconsole.c
+++ b/hw/char/sclpconsole.c
@@ -35,7 +35,7 @@ typedef struct ASCIIConsoleData {
 
 struct SCLPConsole {
     SCLPEvent event;
-    CharBackend chr;
+    CharFrontend chr;
     uint8_t iov[SIZE_BUFFER_VT220];
     uint32_t iov_sclp;      /* offset in buf for SCLP read operation       */
     uint32_t iov_bs;        /* offset in buf for char layer read operation */
diff --git a/hw/char/sh_serial.c b/hw/char/sh_serial.c
index 30447fa018..83227a84a6 100644
--- a/hw/char/sh_serial.c
+++ b/hw/char/sh_serial.c
@@ -67,7 +67,7 @@ struct SHSerialState {
     int flags;
     int rtrg;
 
-    CharBackend chr;
+    CharFrontend chr;
     QEMUTimer fifo_timeout_timer;
     uint64_t etu; /* Elementary Time Unit (ns) */
 
diff --git a/hw/char/spapr_vty.c b/hw/char/spapr_vty.c
index fc8ea604f8..766b2bfcac 100644
--- a/hw/char/spapr_vty.c
+++ b/hw/char/spapr_vty.c
@@ -14,7 +14,7 @@
 
 struct SpaprVioVty {
     SpaprVioDevice sdev;
-    CharBackend chardev;
+    CharFrontend chardev;
     uint32_t in, out;
     uint8_t buf[VTERM_BUFSIZE];
 };
diff --git a/hw/char/terminal3270.c b/hw/char/terminal3270.c
index d950c17292..c993f67b42 100644
--- a/hw/char/terminal3270.c
+++ b/hw/char/terminal3270.c
@@ -30,7 +30,7 @@
 
 struct Terminal3270 {
     EmulatedCcw3270Device cdev;
-    CharBackend chr;
+    CharFrontend chr;
     uint8_t inv[INPUT_BUFFER_SIZE];
     uint8_t outv[OUTPUT_BUFFER_SIZE];
     int in_len;
diff --git a/hw/char/virtio-console.c b/hw/char/virtio-console.c
index 0932a3572b..1b669c9be8 100644
--- a/hw/char/virtio-console.c
+++ b/hw/char/virtio-console.c
@@ -30,7 +30,7 @@ DECLARE_INSTANCE_CHECKER(VirtConsole, VIRTIO_CONSOLE,
 struct VirtConsole {
     VirtIOSerialPort parent_obj;
 
-    CharBackend chr;
+    CharFrontend chr;
     guint watch;
 };
 
diff --git a/hw/char/xen_console.c b/hw/char/xen_console.c
index 9c34a554bf..462476553f 100644
--- a/hw/char/xen_console.c
+++ b/hw/char/xen_console.c
@@ -53,7 +53,7 @@ struct XenConsole {
     char              *fe_path;
     unsigned int      ring_ref;
     void              *sring;
-    CharBackend       chr;
+    CharFrontend       chr;
     int               backlog;
 };
 typedef struct XenConsole XenConsole;
diff --git a/hw/char/xilinx_uartlite.c b/hw/char/xilinx_uartlite.c
index 8008171eea..8feb58a898 100644
--- a/hw/char/xilinx_uartlite.c
+++ b/hw/char/xilinx_uartlite.c
@@ -60,7 +60,7 @@ struct XilinxUARTLite {
 
     EndianMode model_endianness;
     MemoryRegion mmio;
-    CharBackend chr;
+    CharFrontend chr;
     qemu_irq irq;
 
     uint8_t rx_fifo[8];
diff --git a/hw/core/qdev-properties-system.c b/hw/core/qdev-properties-system.c
index 1f810b7ddf..c15371f8cd 100644
--- a/hw/core/qdev-properties-system.c
+++ b/hw/core/qdev-properties-system.c
@@ -258,10 +258,10 @@ const PropertyInfo qdev_prop_drive_iothread = {
 static void get_chr(Object *obj, Visitor *v, const char *name, void *opaque,
                     Error **errp)
 {
-    CharBackend *be = object_field_prop_ptr(obj, opaque);
+    CharFrontend *fe = object_field_prop_ptr(obj, opaque);
     char *p;
 
-    p = g_strdup(be->chr && be->chr->label ? be->chr->label : "");
+    p = g_strdup(fe->chr && fe->chr->label ? fe->chr->label : "");
     visit_type_str(v, name, &p, errp);
     g_free(p);
 }
@@ -271,7 +271,7 @@ static void set_chr(Object *obj, Visitor *v, const char *name, void *opaque,
 {
     ERRP_GUARD();
     const Property *prop = opaque;
-    CharBackend *be = object_field_prop_ptr(obj, prop);
+    CharFrontend *fe = object_field_prop_ptr(obj, prop);
     Chardev *s;
     char *str;
 
@@ -283,13 +283,13 @@ static void set_chr(Object *obj, Visitor *v, const char *name, void *opaque,
      * TODO Should this really be an error?  If no, the old value
      * needs to be released before we store the new one.
      */
-    if (!check_prop_still_unset(obj, name, be->chr, str, false, errp)) {
+    if (!check_prop_still_unset(obj, name, fe->chr, str, false, errp)) {
         return;
     }
 
     if (!*str) {
         g_free(str);
-        be->chr = NULL;
+        fe->chr = NULL;
         return;
     }
 
@@ -297,7 +297,7 @@ static void set_chr(Object *obj, Visitor *v, const char *name, void *opaque,
     if (s == NULL) {
         error_setg(errp, "Property '%s.%s' can't find value '%s'",
                    object_get_typename(obj), name, str);
-    } else if (!qemu_chr_fe_init(be, s, errp)) {
+    } else if (!qemu_chr_fe_init(fe, s, errp)) {
         error_prepend(errp, "Property '%s.%s' can't take value '%s': ",
                       object_get_typename(obj), name, str);
     }
@@ -307,9 +307,9 @@ static void set_chr(Object *obj, Visitor *v, const char *name, void *opaque,
 static void release_chr(Object *obj, const char *name, void *opaque)
 {
     const Property *prop = opaque;
-    CharBackend *be = object_field_prop_ptr(obj, prop);
+    CharFrontend *fe = object_field_prop_ptr(obj, prop);
 
-    qemu_chr_fe_deinit(be, false);
+    qemu_chr_fe_deinit(fe, false);
 }
 
 const PropertyInfo qdev_prop_chr = {
diff --git a/hw/ipmi/ipmi_bmc_extern.c b/hw/ipmi/ipmi_bmc_extern.c
index 9f1ba7b2f8..2c6c515579 100644
--- a/hw/ipmi/ipmi_bmc_extern.c
+++ b/hw/ipmi/ipmi_bmc_extern.c
@@ -67,7 +67,7 @@ OBJECT_DECLARE_SIMPLE_TYPE(IPMIBmcExtern, IPMI_BMC_EXTERN)
 struct IPMIBmcExtern {
     IPMIBmc parent;
 
-    CharBackend chr;
+    CharFrontend chr;
 
     bool connected;
 
diff --git a/hw/mips/boston.c b/hw/mips/boston.c
index 149a263bd5..8ecac41d47 100644
--- a/hw/mips/boston.c
+++ b/hw/mips/boston.c
@@ -68,7 +68,7 @@ struct BostonState {
     SerialMM *uart;
     Clock *cpuclk;
 
-    CharBackend lcd_display;
+    CharFrontend lcd_display;
     char lcd_content[8];
     bool lcd_inited;
 
diff --git a/hw/mips/malta.c b/hw/mips/malta.c
index 02da629b5a..a3b7632ad9 100644
--- a/hw/mips/malta.c
+++ b/hw/mips/malta.c
@@ -89,7 +89,7 @@ typedef struct {
     uint32_t i2coe;
     uint32_t i2cout;
     uint32_t i2csel;
-    CharBackend display;
+    CharFrontend display;
     char display_text[9];
     SerialMM *uart;
     bool display_inited;
diff --git a/hw/misc/ivshmem-pci.c b/hw/misc/ivshmem-pci.c
index 2748db9286..636d0b83de 100644
--- a/hw/misc/ivshmem-pci.c
+++ b/hw/misc/ivshmem-pci.c
@@ -94,7 +94,7 @@ struct IVShmemState {
 
     /* exactly one of these two may be set */
     HostMemoryBackend *hostmem; /* with interrupts */
-    CharBackend server_chr; /* without interrupts */
+    CharFrontend server_chr; /* without interrupts */
 
     /* registers */
     uint32_t intrmask;
diff --git a/hw/ppc/spapr_rtas.c b/hw/ppc/spapr_rtas.c
index 143bc8c379..0bb4afe139 100644
--- a/hw/ppc/spapr_rtas.c
+++ b/hw/ppc/spapr_rtas.c
@@ -551,7 +551,7 @@ static uint64_t qtest_rtas_call(char *cmd, uint32_t nargs, uint64_t args,
     return H_PARAMETER;
 }
 
-static bool spapr_qtest_callback(CharBackend *chr, gchar **words)
+static bool spapr_qtest_callback(CharFrontend *chr, gchar **words)
 {
     if (strcmp(words[0], "rtas") == 0) {
         uint64_t res, args, ret;
diff --git a/hw/riscv/riscv_hart.c b/hw/riscv/riscv_hart.c
index 7f2676008c..4d51a93dd5 100644
--- a/hw/riscv/riscv_hart.c
+++ b/hw/riscv/riscv_hart.c
@@ -78,7 +78,7 @@ static void csr_call(char *cmd, uint64_t cpu_num, int csrno, uint64_t *val)
     g_assert(ret == RISCV_EXCP_NONE);
 }
 
-static bool csr_qtest_callback(CharBackend *chr, gchar **words)
+static bool csr_qtest_callback(CharFrontend *chr, gchar **words)
 {
     if (strcmp(words[0], "csr") == 0) {
 
diff --git a/hw/usb/ccid-card-passthru.c b/hw/usb/ccid-card-passthru.c
index 1eea21a733..c8aada0988 100644
--- a/hw/usb/ccid-card-passthru.c
+++ b/hw/usb/ccid-card-passthru.c
@@ -56,7 +56,7 @@ typedef struct PassthruState PassthruState;
 
 struct PassthruState {
     CCIDCardState base;
-    CharBackend cs;
+    CharFrontend cs;
     uint8_t  vscard_in_data[VSCARD_IN_SIZE];
     uint32_t vscard_in_pos;
     uint32_t vscard_in_hdr;
diff --git a/hw/usb/dev-serial.c b/hw/usb/dev-serial.c
index 1c116d8b0f..2eb52b2e01 100644
--- a/hw/usb/dev-serial.c
+++ b/hw/usb/dev-serial.c
@@ -105,7 +105,7 @@ struct USBSerialState {
     uint8_t xoff;
     QEMUSerialSetParams params;
     int latency;        /* ms */
-    CharBackend cs;
+    CharFrontend cs;
 };
 
 #define TYPE_USB_SERIAL "usb-serial-dev"
diff --git a/hw/usb/redirect.c b/hw/usb/redirect.c
index f516ff42a1..d603a4a6f9 100644
--- a/hw/usb/redirect.c
+++ b/hw/usb/redirect.c
@@ -113,7 +113,7 @@ struct PacketIdQueue {
 struct USBRedirDevice {
     USBDevice dev;
     /* Properties */
-    CharBackend cs;
+    CharFrontend cs;
     bool enable_streams;
     bool suppress_remote_wake;
     bool in_write;
diff --git a/hw/virtio/vhost-stub.c b/hw/virtio/vhost-stub.c
index 52d42adab2..7321dc9210 100644
--- a/hw/virtio/vhost-stub.c
+++ b/hw/virtio/vhost-stub.c
@@ -12,7 +12,7 @@ unsigned int vhost_get_free_memslots(void)
     return UINT_MAX;
 }
 
-bool vhost_user_init(VhostUserState *user, CharBackend *chr, Error **errp)
+bool vhost_user_init(VhostUserState *user, CharFrontend *chr, Error **errp)
 {
     return false;
 }
diff --git a/hw/virtio/vhost-user.c b/hw/virtio/vhost-user.c
index 36c9c2e04d..aac98f898a 100644
--- a/hw/virtio/vhost-user.c
+++ b/hw/virtio/vhost-user.c
@@ -275,7 +275,7 @@ struct scrub_regions {
 static int vhost_user_read_header(struct vhost_dev *dev, VhostUserMsg *msg)
 {
     struct vhost_user *u = dev->opaque;
-    CharBackend *chr = u->user->chr;
+    CharFrontend *chr = u->user->chr;
     uint8_t *p = (uint8_t *) msg;
     int r, size = VHOST_USER_HDR_SIZE;
 
@@ -303,7 +303,7 @@ static int vhost_user_read_header(struct vhost_dev *dev, VhostUserMsg *msg)
 static int vhost_user_read(struct vhost_dev *dev, VhostUserMsg *msg)
 {
     struct vhost_user *u = dev->opaque;
-    CharBackend *chr = u->user->chr;
+    CharFrontend *chr = u->user->chr;
     uint8_t *p = (uint8_t *) msg;
     int r, size;
 
@@ -383,7 +383,7 @@ static int vhost_user_write(struct vhost_dev *dev, VhostUserMsg *msg,
                             int *fds, int fd_num)
 {
     struct vhost_user *u = dev->opaque;
-    CharBackend *chr = u->user->chr;
+    CharFrontend *chr = u->user->chr;
     int ret, size = VHOST_USER_HDR_SIZE + msg->hdr.size;
 
     /*
@@ -1680,7 +1680,7 @@ int vhost_user_get_shared_object(struct vhost_dev *dev, unsigned char *uuid,
                                  int *dmabuf_fd)
 {
     struct vhost_user *u = dev->opaque;
-    CharBackend *chr = u->user->chr;
+    CharFrontend *chr = u->user->chr;
     int ret;
     VhostUserMsg msg = {
         .hdr.request = VHOST_USER_GET_SHARED_OBJECT,
@@ -1721,7 +1721,7 @@ vhost_user_backend_handle_shared_object_lookup(struct vhost_user *u,
                                                VhostUserPayload *payload)
 {
     QemuUUID uuid;
-    CharBackend *chr = u->user->chr;
+    CharFrontend *chr = u->user->chr;
     Error *local_err = NULL;
     int dmabuf_fd = -1;
     int fd_num = 0;
@@ -2004,7 +2004,7 @@ static int vhost_user_postcopy_advise(struct vhost_dev *dev, Error **errp)
 {
 #ifdef CONFIG_LINUX
     struct vhost_user *u = dev->opaque;
-    CharBackend *chr = u->user->chr;
+    CharFrontend *chr = u->user->chr;
     int ufd;
     int ret;
     VhostUserMsg msg = {
@@ -2670,7 +2670,7 @@ static int vhost_user_get_inflight_fd(struct vhost_dev *dev,
     int fd;
     int ret;
     struct vhost_user *u = dev->opaque;
-    CharBackend *chr = u->user->chr;
+    CharFrontend *chr = u->user->chr;
     VhostUserMsg msg = {
         .hdr.request = VHOST_USER_GET_INFLIGHT_FD,
         .hdr.flags = VHOST_USER_VERSION,
@@ -2761,7 +2761,7 @@ static void vhost_user_state_destroy(gpointer data)
     vhost_user_host_notifier_remove(n, NULL, true);
 }
 
-bool vhost_user_init(VhostUserState *user, CharBackend *chr, Error **errp)
+bool vhost_user_init(VhostUserState *user, CharFrontend *chr, Error **errp)
 {
     if (user->chr) {
         error_setg(errp, "Cannot initialize vhost-user state");
@@ -2787,7 +2787,7 @@ void vhost_user_cleanup(VhostUserState *user)
 typedef struct {
     vu_async_close_fn cb;
     DeviceState *dev;
-    CharBackend *cd;
+    CharFrontend *cd;
     struct vhost_dev *vhost;
 } VhostAsyncCallback;
 
@@ -2806,7 +2806,7 @@ static void vhost_user_async_close_bh(void *opaque)
  * purposes.
  */
 void vhost_user_async_close(DeviceState *d,
-                            CharBackend *chardev, struct vhost_dev *vhost,
+                            CharFrontend *chardev, struct vhost_dev *vhost,
                             vu_async_close_fn cb)
 {
     if (!runstate_check(RUN_STATE_SHUTDOWN)) {
diff --git a/net/colo-compare.c b/net/colo-compare.c
index 0e1844ee4c..95018b4704 100644
--- a/net/colo-compare.c
+++ b/net/colo-compare.c
@@ -88,7 +88,7 @@ static uint32_t max_queue_size;
 typedef struct SendCo {
     Coroutine *co;
     struct CompareState *s;
-    CharBackend *chr;
+    CharFrontend *chr;
     GQueue send_list;
     bool notify_remote_frame;
     bool done;
@@ -108,10 +108,10 @@ struct CompareState {
     char *sec_indev;
     char *outdev;
     char *notify_dev;
-    CharBackend chr_pri_in;
-    CharBackend chr_sec_in;
-    CharBackend chr_out;
-    CharBackend chr_notify_dev;
+    CharFrontend chr_pri_in;
+    CharFrontend chr_sec_in;
+    CharFrontend chr_out;
+    CharFrontend chr_notify_dev;
     SocketReadState pri_rs;
     SocketReadState sec_rs;
     SocketReadState notify_rs;
diff --git a/net/filter-mirror.c b/net/filter-mirror.c
index 27734c91a7..8e01e98f40 100644
--- a/net/filter-mirror.c
+++ b/net/filter-mirror.c
@@ -37,8 +37,8 @@ struct MirrorState {
     NetFilterState parent_obj;
     char *indev;
     char *outdev;
-    CharBackend chr_in;
-    CharBackend chr_out;
+    CharFrontend chr_in;
+    CharFrontend chr_out;
     SocketReadState rs;
     bool vnet_hdr;
 };
diff --git a/net/passt.c b/net/passt.c
index 32ecffb763..9ed811a514 100644
--- a/net/passt.c
+++ b/net/passt.c
@@ -71,7 +71,7 @@ typedef struct NetPasstState {
     /* vhost user */
     VhostUserState *vhost_user;
     VHostNetState *vhost_net;
-    CharBackend vhost_chr;
+    CharFrontend vhost_chr;
     guint vhost_watch;
     uint64_t acked_features;
     bool started;
diff --git a/net/slirp.c b/net/slirp.c
index c627a9dd24..120eef6122 100644
--- a/net/slirp.c
+++ b/net/slirp.c
@@ -80,7 +80,7 @@ struct slirp_config_str {
 };
 
 struct GuestFwd {
-    CharBackend hd;
+    CharFrontend hd;
     struct in_addr server;
     int port;
     Slirp *slirp;
diff --git a/net/vhost-user.c b/net/vhost-user.c
index 8b96157145..a4bb49bbcf 100644
--- a/net/vhost-user.c
+++ b/net/vhost-user.c
@@ -65,7 +65,7 @@ static const int user_feature_bits[] = {
 
 typedef struct NetVhostUserState {
     NetClientState nc;
-    CharBackend chr; /* only queue index 0 */
+    CharFrontend chr; /* only queue index 0 */
     VhostUserState *vhost_user;
     VHostNetState *vhost_net;
     guint watch;
diff --git a/semihosting/console.c b/semihosting/console.c
index c3683a1566..9da05e9f16 100644
--- a/semihosting/console.c
+++ b/semihosting/console.c
@@ -30,7 +30,7 @@
 
 /* Access to this structure is protected by the BQL */
 typedef struct SemihostingConsole {
-    CharBackend         backend;
+    CharFrontend         frontend;
     Chardev             *chr;
     GSList              *sleeping_cpus;
     bool                got;
@@ -122,8 +122,8 @@ void qemu_semihosting_console_init(Chardev *chr)
     console.chr = chr;
     if  (chr) {
         fifo8_create(&console.fifo, FIFO_SIZE);
-        qemu_chr_fe_init(&console.backend, chr, &error_abort);
-        qemu_chr_fe_set_handlers(&console.backend,
+        qemu_chr_fe_init(&console.frontend, chr, &error_abort);
+        qemu_chr_fe_set_handlers(&console.frontend,
                                  console_can_read,
                                  console_read,
                                  NULL, NULL, &console,
diff --git a/system/qtest.c b/system/qtest.c
index fa42c9f921..e4d1cd75da 100644
--- a/system/qtest.c
+++ b/system/qtest.c
@@ -44,7 +44,7 @@ struct QTest {
     bool has_machine_link;
     char *chr_name;
     Chardev *chr;
-    CharBackend qtest_chr;
+    CharFrontend qtest_chr;
     char *log;
 };
 
@@ -293,20 +293,20 @@ static void G_GNUC_PRINTF(1, 2) qtest_log_send(const char *fmt, ...)
 static void qtest_server_char_be_send(void *opaque, const char *str)
 {
     size_t len = strlen(str);
-    CharBackend* chr = (CharBackend *)opaque;
+    CharFrontend* chr = (CharFrontend *)opaque;
     qemu_chr_fe_write_all(chr, (uint8_t *)str, len);
     if (qtest_log_fp && qtest_opened) {
         fprintf(qtest_log_fp, "%s", str);
     }
 }
 
-static void qtest_send(CharBackend *chr, const char *str)
+static void qtest_send(CharFrontend *chr, const char *str)
 {
     qtest_log_timestamp();
     qtest_server_send(qtest_server_send_opaque, str);
 }
 
-void qtest_sendf(CharBackend *chr, const char *fmt, ...)
+void qtest_sendf(CharFrontend *chr, const char *fmt, ...)
 {
     va_list ap;
     gchar *buffer;
@@ -324,16 +324,16 @@ static void qtest_irq_handler(void *opaque, int n, int level)
     qemu_set_irq(old_irq, level);
 
     if (irq_levels[n] != level) {
-        CharBackend *chr = &qtest->qtest_chr;
+        CharFrontend *chr = &qtest->qtest_chr;
         irq_levels[n] = level;
         qtest_sendf(chr, "IRQ %s %d\n",
                     level ? "raise" : "lower", n);
     }
 }
 
-static bool (*process_command_cb)(CharBackend *chr, gchar **words);
+static bool (*process_command_cb)(CharFrontend *chr, gchar **words);
 
-void qtest_set_command_cb(bool (*pc_cb)(CharBackend *chr, gchar **words))
+void qtest_set_command_cb(bool (*pc_cb)(CharFrontend *chr, gchar **words))
 {
     assert(!process_command_cb);  /* Switch to a list if we need more than one */
 
@@ -349,7 +349,7 @@ static void qtest_install_gpio_out_intercept(DeviceState *dev, const char *name,
     *disconnected = qdev_intercept_gpio_out(dev, icpt, name, n);
 }
 
-static void qtest_process_command(CharBackend *chr, gchar **words)
+static void qtest_process_command(CharFrontend *chr, gchar **words)
 {
     const gchar *command;
 
@@ -757,7 +757,7 @@ static void qtest_process_command(CharBackend *chr, gchar **words)
  * Process as much of @inbuf as we can in newline terminated chunks.
  * Remove the processed commands from @inbuf as we go.
  */
-static void qtest_process_inbuf(CharBackend *chr, GString *inbuf)
+static void qtest_process_inbuf(CharFrontend *chr, GString *inbuf)
 {
     char *end;
 
@@ -773,7 +773,7 @@ static void qtest_process_inbuf(CharBackend *chr, GString *inbuf)
 
 static void qtest_read(void *opaque, const uint8_t *buf, int size)
 {
-    CharBackend *chr = opaque;
+    CharFrontend *chr = opaque;
 
     g_string_append_len(inbuf, (const gchar *)buf, size);
     qtest_process_inbuf(chr, inbuf);
diff --git a/target/hppa/sys_helper.c b/target/hppa/sys_helper.c
index 6e65fadcc7..9a996c131e 100644
--- a/target/hppa/sys_helper.c
+++ b/target/hppa/sys_helper.c
@@ -135,7 +135,7 @@ void HELPER(rfi_r)(CPUHPPAState *env)
  */
 void HELPER(diag_console_output)(CPUHPPAState *env)
 {
-    CharBackend *serial_backend;
+    CharFrontend *serial_backend;
     Chardev *serial_port;
     unsigned char c;
 
diff --git a/target/xtensa/xtensa-semi.c b/target/xtensa/xtensa-semi.c
index 431c263dc5..98b003faf2 100644
--- a/target/xtensa/xtensa-semi.c
+++ b/target/xtensa/xtensa-semi.c
@@ -148,7 +148,7 @@ static uint32_t errno_h2g(int host_errno)
 }
 
 typedef struct XtensaSimConsole {
-    CharBackend be;
+    CharFrontend be;
     struct {
         char buffer[16];
         size_t offset;
diff --git a/tests/qtest/vhost-user-test.c b/tests/qtest/vhost-user-test.c
index 609ff24059..d2bb21d5b9 100644
--- a/tests/qtest/vhost-user-test.c
+++ b/tests/qtest/vhost-user-test.c
@@ -155,7 +155,7 @@ typedef struct TestServer {
     gchar *mig_path;
     gchar *chr_name;
     gchar *tmpfs;
-    CharBackend chr;
+    CharFrontend chr;
     int fds_num;
     int fds[VHOST_MEMORY_MAX_NREGIONS];
     VhostUserMemory memory;
@@ -180,10 +180,10 @@ struct vhost_user_ops {
 
     /* VHOST-USER commands. */
     uint64_t (*get_features)(TestServer *s);
-    void (*set_features)(TestServer *s, CharBackend *chr,
+    void (*set_features)(TestServer *s, CharFrontend *chr,
                          VhostUserMsg *msg);
     void (*get_protocol_features)(TestServer *s,
-                                  CharBackend *chr, VhostUserMsg *msg);
+                                  CharFrontend *chr, VhostUserMsg *msg);
 };
 
 static const char *init_hugepagefs(void);
@@ -331,7 +331,7 @@ static int chr_can_read(void *opaque)
 static void chr_read(void *opaque, const uint8_t *buf, int size)
 {
     TestServer *s = opaque;
-    CharBackend *chr = &s->chr;
+    CharFrontend *chr = &s->chr;
     VhostUserMsg msg;
     uint8_t *p = (uint8_t *) &msg;
     int fd = -1;
@@ -1051,7 +1051,7 @@ static uint64_t vu_net_get_features(TestServer *s)
     return features;
 }
 
-static void vu_net_set_features(TestServer *s, CharBackend *chr,
+static void vu_net_set_features(TestServer *s, CharFrontend *chr,
                                 VhostUserMsg *msg)
 {
     g_assert(msg->payload.u64 & (0x1ULL << VHOST_USER_F_PROTOCOL_FEATURES));
@@ -1061,7 +1061,7 @@ static void vu_net_set_features(TestServer *s, CharBackend *chr,
     }
 }
 
-static void vu_net_get_protocol_features(TestServer *s, CharBackend *chr,
+static void vu_net_get_protocol_features(TestServer *s, CharFrontend *chr,
         VhostUserMsg *msg)
 {
     /* send back features to qemu */
@@ -1148,7 +1148,7 @@ static uint64_t vu_gpio_get_features(TestServer *s)
  * that we support VHOST_USER_PROTOCOL_F_CONFIG as gpio would use it
  * talking to a read vhost-user daemon.
  */
-static void vu_gpio_get_protocol_features(TestServer *s, CharBackend *chr,
+static void vu_gpio_get_protocol_features(TestServer *s, CharFrontend *chr,
                                           VhostUserMsg *msg)
 {
     /* send back features to qemu */
@@ -1191,7 +1191,7 @@ static uint64_t vu_scmi_get_features(TestServer *s)
         0x1ULL << VHOST_USER_F_PROTOCOL_FEATURES;
 }
 
-static void vu_scmi_get_protocol_features(TestServer *s, CharBackend *chr,
+static void vu_scmi_get_protocol_features(TestServer *s, CharFrontend *chr,
                                           VhostUserMsg *msg)
 {
     msg->flags |= VHOST_USER_REPLY_MASK;
diff --git a/tests/unit/test-char.c b/tests/unit/test-char.c
index f30a39f61f..8924c2c1ff 100644
--- a/tests/unit/test-char.c
+++ b/tests/unit/test-char.c
@@ -107,18 +107,18 @@ static void char_console_test(void)
 static void char_stdio_test_subprocess(void)
 {
     Chardev *chr;
-    CharBackend be;
+    CharFrontend c;
     int ret;
 
     chr = qemu_chr_new("label", "stdio", NULL);
     g_assert_nonnull(chr);
 
-    qemu_chr_fe_init(&be, chr, &error_abort);
-    qemu_chr_fe_set_open(&be, true);
-    ret = qemu_chr_fe_write(&be, (void *)"buf", 4);
+    qemu_chr_fe_init(&c, chr, &error_abort);
+    qemu_chr_fe_set_open(&c, true);
+    ret = qemu_chr_fe_write(&c, (void *)"buf", 4);
     g_assert_cmpint(ret, ==, 4);
 
-    qemu_chr_fe_deinit(&be, true);
+    qemu_chr_fe_deinit(&c, true);
 }
 
 static void char_stdio_test(void)
@@ -132,7 +132,7 @@ static void char_ringbuf_test(void)
 {
     QemuOpts *opts;
     Chardev *chr;
-    CharBackend be;
+    CharFrontend c;
     char *data;
     int ret;
 
@@ -153,8 +153,8 @@ static void char_ringbuf_test(void)
     g_assert_nonnull(chr);
     qemu_opts_del(opts);
 
-    qemu_chr_fe_init(&be, chr, &error_abort);
-    ret = qemu_chr_fe_write(&be, (void *)"buff", 4);
+    qemu_chr_fe_init(&c, chr, &error_abort);
+    ret = qemu_chr_fe_write(&c, (void *)"buff", 4);
     g_assert_cmpint(ret, ==, 4);
 
     data = qmp_ringbuf_read("ringbuf-label", 4, false, 0, &error_abort);
@@ -165,7 +165,7 @@ static void char_ringbuf_test(void)
     g_assert_cmpstr(data, ==, "");
     g_free(data);
 
-    qemu_chr_fe_deinit(&be, true);
+    qemu_chr_fe_deinit(&c, true);
 
     /* check alias */
     opts = qemu_opts_create(qemu_find_opts("chardev"), "memory-label",
@@ -184,7 +184,7 @@ static void char_mux_test(void)
     Chardev *chr, *base;
     char *data;
     FeHandler h1 = { 0, false, 0, false, }, h2 = { 0, false, 0, false, };
-    CharBackend chr_be1, chr_be2;
+    CharFrontend chr_fe1, chr_fe2;
     Error *error = NULL;
 
     /* Create mux and chardev to be immediately removed */
@@ -210,8 +210,8 @@ static void char_mux_test(void)
     g_assert_nonnull(chr);
     qemu_opts_del(opts);
 
-    qemu_chr_fe_init(&chr_be1, chr, &error_abort);
-    qemu_chr_fe_set_handlers(&chr_be1,
+    qemu_chr_fe_init(&chr_fe1, chr, &error_abort);
+    qemu_chr_fe_set_handlers(&chr_fe1,
                              fe_can_read,
                              fe_read,
                              fe_event,
@@ -219,15 +219,15 @@ static void char_mux_test(void)
                              &h1,
                              NULL, true);
 
-    qemu_chr_fe_init(&chr_be2, chr, &error_abort);
-    qemu_chr_fe_set_handlers(&chr_be2,
+    qemu_chr_fe_init(&chr_fe2, chr, &error_abort);
+    qemu_chr_fe_set_handlers(&chr_fe2,
                              fe_can_read,
                              fe_read,
                              fe_event,
                              NULL,
                              &h2,
                              NULL, true);
-    qemu_chr_fe_take_focus(&chr_be2);
+    qemu_chr_fe_take_focus(&chr_fe2);
 
     base = qemu_chr_find("mux-label-base");
     g_assert_cmpint(qemu_chr_be_can_write(base), !=, 0);
@@ -271,8 +271,8 @@ static void char_mux_test(void)
     g_assert_cmpint(h2.last_event, ==, CHR_EVENT_MUX_OUT);
 
     /* open/close state and corresponding events */
-    g_assert_true(qemu_chr_fe_backend_open(&chr_be1));
-    g_assert_true(qemu_chr_fe_backend_open(&chr_be2));
+    g_assert_true(qemu_chr_fe_backend_open(&chr_fe1));
+    g_assert_true(qemu_chr_fe_backend_open(&chr_fe2));
     g_assert_true(h1.is_open);
     g_assert_false(h1.openclose_mismatch);
     g_assert_true(h2.is_open);
@@ -280,22 +280,22 @@ static void char_mux_test(void)
 
     h1.openclose_count = h2.openclose_count = 0;
 
-    qemu_chr_fe_set_handlers(&chr_be1, NULL, NULL, NULL, NULL,
+    qemu_chr_fe_set_handlers(&chr_fe1, NULL, NULL, NULL, NULL,
                              NULL, NULL, false);
-    qemu_chr_fe_set_handlers(&chr_be2, NULL, NULL, NULL, NULL,
+    qemu_chr_fe_set_handlers(&chr_fe2, NULL, NULL, NULL, NULL,
                              NULL, NULL, false);
     g_assert_cmpint(h1.openclose_count, ==, 0);
     g_assert_cmpint(h2.openclose_count, ==, 0);
 
     h1.is_open = h2.is_open = false;
-    qemu_chr_fe_set_handlers(&chr_be1,
+    qemu_chr_fe_set_handlers(&chr_fe1,
                              NULL,
                              NULL,
                              fe_event,
                              NULL,
                              &h1,
                              NULL, false);
-    qemu_chr_fe_set_handlers(&chr_be2,
+    qemu_chr_fe_set_handlers(&chr_fe2,
                              NULL,
                              NULL,
                              fe_event,
@@ -314,14 +314,14 @@ static void char_mux_test(void)
     g_assert_cmpint(h2.openclose_count, ==, 3);
     g_assert_false(h2.openclose_mismatch);
 
-    qemu_chr_fe_set_handlers(&chr_be2,
+    qemu_chr_fe_set_handlers(&chr_fe2,
                              fe_can_read,
                              fe_read,
                              fe_event,
                              NULL,
                              &h2,
                              NULL, false);
-    qemu_chr_fe_set_handlers(&chr_be1,
+    qemu_chr_fe_set_handlers(&chr_fe1,
                              fe_can_read,
                              fe_read,
                              fe_event,
@@ -330,7 +330,7 @@ static void char_mux_test(void)
                              NULL, false);
 
     /* remove first handler */
-    qemu_chr_fe_set_handlers(&chr_be1, NULL, NULL, NULL, NULL,
+    qemu_chr_fe_set_handlers(&chr_fe1, NULL, NULL, NULL, NULL,
                              NULL, NULL, true);
     qemu_chr_be_write(base, (void *)"hello", 6);
     g_assert_cmpint(h1.read_count, ==, 0);
@@ -349,13 +349,13 @@ static void char_mux_test(void)
     g_assert_cmpint(strlen(data), !=, 0);
     g_free(data);
 
-    qemu_chr_fe_deinit(&chr_be1, false);
+    qemu_chr_fe_deinit(&chr_fe1, false);
 
     qmp_chardev_remove("mux-label", &error);
     g_assert_cmpstr(error_get_pretty(error), ==, "Chardev 'mux-label' is busy");
     error_free(error);
 
-    qemu_chr_fe_deinit(&chr_be2, false);
+    qemu_chr_fe_deinit(&chr_fe2, false);
     qmp_chardev_remove("mux-label", &error_abort);
 }
 
@@ -366,7 +366,7 @@ static void char_hub_test(void)
     char *data;
     FeHandler h = { 0, false, 0, false, };
     Error *error = NULL;
-    CharBackend chr_be;
+    CharFrontend chr_fe;
     int ret, i;
 
 #define RB_SIZE 128
@@ -497,8 +497,8 @@ static void char_hub_test(void)
     qemu_opts_del(opts);
 
     /* Attach hub to a frontend */
-    qemu_chr_fe_init(&chr_be, hub, &error_abort);
-    qemu_chr_fe_set_handlers(&chr_be,
+    qemu_chr_fe_init(&chr_fe, hub, &error_abort);
+    qemu_chr_fe_set_handlers(&chr_fe,
                              fe_can_read,
                              fe_read,
                              fe_event,
@@ -507,7 +507,7 @@ static void char_hub_test(void)
                              NULL, true);
 
     /* Fails second time */
-    qemu_chr_fe_init(&chr_be, hub, &error);
+    qemu_chr_fe_init(&chr_fe, hub, &error);
     g_assert_cmpstr(error_get_pretty(error), ==, "chardev 'hub0' is already in use");
     error_free(error);
     error = NULL;
@@ -531,7 +531,7 @@ static void char_hub_test(void)
     h.read_count = 0;
 
     /* Write to frontend, chr_be */
-    ret = qemu_chr_fe_write(&chr_be, (void *)"heyhey", 6);
+    ret = qemu_chr_fe_write(&chr_fe, (void *)"heyhey", 6);
     g_assert_cmpint(ret, ==, 6);
 
     data = qmp_ringbuf_read("chr1", RB_SIZE, false, 0, &error_abort);
@@ -557,7 +557,7 @@ static void char_hub_test(void)
     error = NULL;
 
     /* Finalize frontend */
-    qemu_chr_fe_deinit(&chr_be, false);
+    qemu_chr_fe_deinit(&chr_fe, false);
 
     /* Finalize hub0 */
     qmp_chardev_remove("hub0", &error_abort);
@@ -632,8 +632,8 @@ static void char_hub_test(void)
         qemu_opts_del(opts);
 
         /* Attach hub to a frontend */
-        qemu_chr_fe_init(&chr_be, hub, &error_abort);
-        qemu_chr_fe_set_handlers(&chr_be,
+        qemu_chr_fe_init(&chr_fe, hub, &error_abort);
+        qemu_chr_fe_set_handlers(&chr_fe,
                                  fe_can_read,
                                  fe_read,
                                  fe_event,
@@ -642,7 +642,7 @@ static void char_hub_test(void)
                                  NULL, true);
 
         /* Write to frontend, chr_be */
-        ret = qemu_chr_fe_write(&chr_be, (void *)"thisis", 6);
+        ret = qemu_chr_fe_write(&chr_fe, (void *)"thisis", 6);
         g_assert_cmpint(ret, ==, 6);
 
         data = qmp_ringbuf_read("chr1", RB_SIZE, false, 0, &error_abort);
@@ -663,7 +663,7 @@ static void char_hub_test(void)
         close(fd);
 
         /* Add watch. 0 indicates no watches if nothing to wait for */
-        ret = qemu_chr_fe_add_watch(&chr_be, G_IO_OUT | G_IO_HUP,
+        ret = qemu_chr_fe_add_watch(&chr_fe, G_IO_OUT | G_IO_HUP,
                                     NULL, NULL);
         g_assert_cmpint(ret, ==, 0);
 
@@ -672,14 +672,14 @@ static void char_hub_test(void)
          * power of two to fit nicely the whole pipe buffer.
          */
         len = 0;
-        while ((ret = qemu_chr_fe_write(&chr_be, (void *)"thisisit", 8))
+        while ((ret = qemu_chr_fe_write(&chr_fe, (void *)"thisisit", 8))
                != -1) {
             len += ret;
         }
         g_assert_cmpint(errno, ==, EAGAIN);
 
         /* Further all writes should cause EAGAIN */
-        ret = qemu_chr_fe_write(&chr_be, (void *)"b", 1);
+        ret = qemu_chr_fe_write(&chr_fe, (void *)"b", 1);
         g_assert_cmpint(ret, ==, -1);
         g_assert_cmpint(errno, ==, EAGAIN);
 
@@ -687,7 +687,7 @@ static void char_hub_test(void)
          * Add watch. Non 0 indicates we have a blocked chardev, which
          * can wakes us up when write is possible.
          */
-        ret = qemu_chr_fe_add_watch(&chr_be, G_IO_OUT | G_IO_HUP,
+        ret = qemu_chr_fe_add_watch(&chr_fe, G_IO_OUT | G_IO_HUP,
                                     NULL, NULL);
         g_assert_cmpint(ret, !=, 0);
         g_source_remove(ret);
@@ -712,10 +712,10 @@ static void char_hub_test(void)
          * was already consumed and drained by the ring buffers, but
          * pipe have not recieved that yet.
          */
-        ret = qemu_chr_fe_write(&chr_be, (void *)"thisisit", 8);
+        ret = qemu_chr_fe_write(&chr_fe, (void *)"thisisit", 8);
         g_assert_cmpint(ret, ==, 8);
 
-        ret = qemu_chr_fe_write(&chr_be, (void *)"streamisrestored", 16);
+        ret = qemu_chr_fe_write(&chr_fe, (void *)"streamisrestored", 16);
         g_assert_cmpint(ret, ==, 16);
 
         data = qmp_ringbuf_read("chr1", RB_SIZE, false, 0, &error_abort);
@@ -744,7 +744,7 @@ static void char_hub_test(void)
         g_free(pipe);
 
         /* Finalize frontend */
-        qemu_chr_fe_deinit(&chr_be, false);
+        qemu_chr_fe_deinit(&chr_fe, false);
 
         /* Finalize hub0 */
         qmp_chardev_remove("hub0", &error_abort);
@@ -828,8 +828,8 @@ static void char_websock_test(void)
     const char *port;
     char *tmp;
     char *handshake_port;
-    CharBackend be;
-    CharBackend client_be;
+    CharFrontend fe;
+    CharFrontend client_fe;
     Chardev *chr_client;
     Chardev *chr = qemu_chr_new("server",
                                 "websocket:127.0.0.1:0,server=on,wait=off", NULL);
@@ -852,13 +852,13 @@ static void char_websock_test(void)
     handshake_port = g_strdup_printf(handshake, port, port);
     qobject_unref(qdict);
 
-    qemu_chr_fe_init(&be, chr, &error_abort);
-    qemu_chr_fe_set_handlers(&be, websock_server_can_read, websock_server_read,
+    qemu_chr_fe_init(&fe, chr, &error_abort);
+    qemu_chr_fe_set_handlers(&fe, websock_server_can_read, websock_server_read,
                              NULL, NULL, chr, NULL, true);
 
     chr_client = qemu_chr_new("client", tmp, NULL);
-    qemu_chr_fe_init(&client_be, chr_client, &error_abort);
-    qemu_chr_fe_set_handlers(&client_be, websock_client_can_read,
+    qemu_chr_fe_init(&client_fe, chr_client, &error_abort);
+    qemu_chr_fe_set_handlers(&client_fe, websock_client_can_read,
                              websock_client_read,
                              NULL, NULL, chr_client, NULL, true);
     g_free(tmp);
@@ -887,7 +887,7 @@ static void char_pipe_test(void)
     gchar *tmp_path = g_dir_make_tmp("qemu-test-char.XXXXXX", NULL);
     gchar *tmp, *in, *out, *pipe = g_build_filename(tmp_path, "pipe", NULL);
     Chardev *chr;
-    CharBackend be;
+    CharFrontend c;
     int ret, fd;
     char buf[10];
     FeHandler fe = { 0, };
@@ -906,9 +906,9 @@ static void char_pipe_test(void)
     g_assert_nonnull(chr);
     g_free(tmp);
 
-    qemu_chr_fe_init(&be, chr, &error_abort);
+    qemu_chr_fe_init(&c, chr, &error_abort);
 
-    ret = qemu_chr_fe_write(&be, (void *)"pipe-out", 9);
+    ret = qemu_chr_fe_write(&c, (void *)"pipe-out", 9);
     g_assert_cmpint(ret, ==, 9);
 
     fd = open(out, O_RDWR);
@@ -922,7 +922,7 @@ static void char_pipe_test(void)
     g_assert_cmpint(ret, ==, 8);
     close(fd);
 
-    qemu_chr_fe_set_handlers(&be,
+    qemu_chr_fe_set_handlers(&c,
                              fe_can_read,
                              fe_read,
                              fe_event,
@@ -935,7 +935,7 @@ static void char_pipe_test(void)
     g_assert_cmpint(fe.read_count, ==, 8);
     g_assert_cmpstr(fe.read_buf, ==, "pipe-in");
 
-    qemu_chr_fe_deinit(&be, true);
+    qemu_chr_fe_deinit(&c, true);
 
     g_assert(g_unlink(in) == 0);
     g_assert(g_unlink(out) == 0);
@@ -951,8 +951,8 @@ typedef struct SocketIdleData {
     GMainLoop *loop;
     Chardev *chr;
     bool conn_expected;
-    CharBackend *be;
-    CharBackend *client_be;
+    CharFrontend *fe;
+    CharFrontend *client_fe;
 } SocketIdleData;
 
 
@@ -993,7 +993,7 @@ static void char_udp_test_internal(Chardev *reuse_chr, int sock)
     struct sockaddr_in other;
     SocketIdleData d = { 0, };
     Chardev *chr;
-    CharBackend stack_be, *be = &stack_be;
+    CharFrontend stack_fe, *fe = &stack_fe;
     socklen_t alen = sizeof(other);
     int ret;
     char buf[10];
@@ -1001,7 +1001,7 @@ static void char_udp_test_internal(Chardev *reuse_chr, int sock)
 
     if (reuse_chr) {
         chr = reuse_chr;
-        be = chr->be;
+        fe = chr->be;
     } else {
         int port;
         sock = make_udp_socket(&port);
@@ -1009,11 +1009,11 @@ static void char_udp_test_internal(Chardev *reuse_chr, int sock)
         chr = qemu_chr_new("client", tmp, NULL);
         g_assert_nonnull(chr);
 
-        qemu_chr_fe_init(be, chr, &error_abort);
+        qemu_chr_fe_init(fe, chr, &error_abort);
     }
 
     d.chr = chr;
-    qemu_chr_fe_set_handlers(be, socket_can_read_hello, socket_read_hello,
+    qemu_chr_fe_set_handlers(fe, socket_can_read_hello, socket_read_hello,
                              NULL, NULL, &d, NULL, true);
     ret = qemu_chr_write_all(chr, (uint8_t *)"hello", 5);
     g_assert_cmpint(ret, ==, 5);
@@ -1028,7 +1028,7 @@ static void char_udp_test_internal(Chardev *reuse_chr, int sock)
 
     if (!reuse_chr) {
         close(sock);
-        qemu_chr_fe_deinit(be, true);
+        qemu_chr_fe_deinit(fe, true);
     }
     g_free(tmp);
 }
@@ -1042,7 +1042,7 @@ static void char_udp_test(void)
 typedef struct {
     int event;
     bool got_pong;
-    CharBackend *be;
+    CharFrontend *fe;
 } CharSocketTestData;
 
 
@@ -1063,13 +1063,13 @@ char_socket_event_with_error(void *opaque, QEMUChrEvent event)
 {
     static bool first_error;
     CharSocketTestData *data = opaque;
-    CharBackend *be = data->be;
+    CharFrontend *fe = data->fe;
     data->event = event;
     switch (event) {
     case CHR_EVENT_OPENED:
         if (!first_error) {
             first_error = true;
-            qemu_chr_fe_disconnect(be);
+            qemu_chr_fe_disconnect(fe);
         }
         return;
     case CHR_EVENT_CLOSED:
@@ -1185,7 +1185,7 @@ static void char_socket_server_test(gconstpointer opaque)
 {
     const CharSocketServerTestConfig *config = opaque;
     Chardev *chr;
-    CharBackend be = {0};
+    CharFrontend c = {0};
     CharSocketTestData data = {0};
     QObject *qaddr;
     SocketAddress *addr;
@@ -1224,12 +1224,12 @@ static void char_socket_server_test(gconstpointer opaque)
     visit_free(v);
     qobject_unref(qaddr);
 
-    qemu_chr_fe_init(&be, chr, &error_abort);
+    qemu_chr_fe_init(&c, chr, &error_abort);
 
  reconnect:
     data.event = -1;
-    data.be = &be;
-    qemu_chr_fe_set_handlers(&be, NULL, NULL,
+    data.fe = &c;
+    qemu_chr_fe_set_handlers(&c, NULL, NULL,
                              char_socket_event, NULL,
                              &data, NULL, true);
     g_assert(data.event == -1);
@@ -1260,13 +1260,13 @@ static void char_socket_server_test(gconstpointer opaque)
     data.event = -1;
 
     /* Send a greeting to the client */
-    ret = qemu_chr_fe_write_all(&be, (const uint8_t *)SOCKET_PING,
+    ret = qemu_chr_fe_write_all(&c, (const uint8_t *)SOCKET_PING,
                                 sizeof(SOCKET_PING));
     g_assert_cmpint(ret, ==, sizeof(SOCKET_PING));
     g_assert(data.event == -1);
 
     /* Setup a callback to receive the reply to our greeting */
-    qemu_chr_fe_set_handlers(&be, char_socket_can_read,
+    qemu_chr_fe_set_handlers(&c, char_socket_can_read,
                              char_socket_read,
                              char_socket_event, NULL,
                              &data, NULL, true);
@@ -1375,7 +1375,7 @@ static void char_socket_client_test(gconstpointer opaque)
     QIOChannelSocket *ioc;
     char *optstr;
     Chardev *chr;
-    CharBackend be = {0};
+    CharFrontend c = {0};
     CharSocketTestData data = {0};
     SocketAddress *addr;
     QemuThread thread;
@@ -1431,12 +1431,12 @@ static void char_socket_client_test(gconstpointer opaque)
                                           &error_abort));
     }
 
-    qemu_chr_fe_init(&be, chr, &error_abort);
+    qemu_chr_fe_init(&c, chr, &error_abort);
 
  reconnect:
     data.event = -1;
-    data.be = &be;
-    qemu_chr_fe_set_handlers(&be, NULL, NULL,
+    data.fe = &c;
+    qemu_chr_fe_set_handlers(&c, NULL, NULL,
                              event_cb, NULL,
                              &data, NULL, true);
     if (config->reconnect) {
@@ -1467,13 +1467,13 @@ static void char_socket_client_test(gconstpointer opaque)
     g_assert(object_property_get_bool(OBJECT(chr), "connected", &error_abort));
 
     /* Send a greeting to the server */
-    ret = qemu_chr_fe_write_all(&be, (const uint8_t *)SOCKET_PING,
+    ret = qemu_chr_fe_write_all(&c, (const uint8_t *)SOCKET_PING,
                                 sizeof(SOCKET_PING));
     g_assert_cmpint(ret, ==, sizeof(SOCKET_PING));
     g_assert(data.event == -1);
 
     /* Setup a callback to receive the reply to our greeting */
-    qemu_chr_fe_set_handlers(&be, char_socket_can_read,
+    qemu_chr_fe_set_handlers(&c, char_socket_can_read,
                              char_socket_read,
                              event_cb, NULL,
                              &data, NULL, true);
@@ -1521,7 +1521,7 @@ static void char_socket_server_two_clients_test(gconstpointer opaque)
 {
     SocketAddress *incoming_addr = (gpointer) opaque;
     Chardev *chr;
-    CharBackend be = {0};
+    CharFrontend c = {0};
     QObject *qaddr;
     SocketAddress *addr;
     Visitor *v;
@@ -1558,9 +1558,9 @@ static void char_socket_server_two_clients_test(gconstpointer opaque)
     visit_free(v);
     qobject_unref(qaddr);
 
-    qemu_chr_fe_init(&be, chr, &error_abort);
+    qemu_chr_fe_init(&c, chr, &error_abort);
 
-    qemu_chr_fe_set_handlers(&be, char_socket_can_read, char_socket_discard_read,
+    qemu_chr_fe_set_handlers(&c, char_socket_can_read, char_socket_discard_read,
                              count_closed_event, NULL,
                              &closed, NULL, true);
 
@@ -1570,7 +1570,7 @@ static void char_socket_server_two_clients_test(gconstpointer opaque)
 
     /* switch the chardev to another context */
     GMainContext *ctx = g_main_context_new();
-    qemu_chr_fe_set_handlers(&be, char_socket_can_read, char_socket_discard_read,
+    qemu_chr_fe_set_handlers(&c, char_socket_can_read, char_socket_discard_read,
                              count_closed_event, NULL,
                              &closed, ctx, true);
 
@@ -1649,7 +1649,7 @@ static void char_parallel_test(void)
 static void char_file_fifo_test(void)
 {
     Chardev *chr;
-    CharBackend be;
+    CharFrontend c;
     char *tmp_path = g_dir_make_tmp("qemu-test-char.XXXXXX", NULL);
     char *fifo = g_build_filename(tmp_path, "fifo", NULL);
     char *out = g_build_filename(tmp_path, "out", NULL);
@@ -1671,8 +1671,8 @@ static void char_file_fifo_test(void)
     chr = qemu_chardev_new("label-file", TYPE_CHARDEV_FILE, &backend,
                            NULL, &error_abort);
 
-    qemu_chr_fe_init(&be, chr, &error_abort);
-    qemu_chr_fe_set_handlers(&be,
+    qemu_chr_fe_init(&c, chr, &error_abort);
+    qemu_chr_fe_set_handlers(&c,
                              fe_can_read,
                              fe_read,
                              fe_event,
@@ -1692,7 +1692,7 @@ static void char_file_fifo_test(void)
     g_assert_cmpint(fe.read_count, ==, 8);
     g_assert_cmpstr(fe.read_buf, ==, "fifo-in");
 
-    qemu_chr_fe_deinit(&be, true);
+    qemu_chr_fe_deinit(&c, true);
 
     g_unlink(fifo);
     g_free(fifo);
@@ -1752,7 +1752,7 @@ static void char_null_test(void)
 {
     Error *err = NULL;
     Chardev *chr;
-    CharBackend be;
+    CharFrontend c;
     int ret;
 
     chr = qemu_chr_find("label-null");
@@ -1768,27 +1768,27 @@ static void char_null_test(void)
                  QEMU_CHAR_FEATURE_RECONNECTABLE) == false);
 
     /* check max avail */
-    qemu_chr_fe_init(&be, chr, &error_abort);
-    qemu_chr_fe_init(&be, chr, &err);
+    qemu_chr_fe_init(&c, chr, &error_abort);
+    qemu_chr_fe_init(&c, chr, &err);
     error_free_or_abort(&err);
 
     /* deinit & reinit */
-    qemu_chr_fe_deinit(&be, false);
-    qemu_chr_fe_init(&be, chr, &error_abort);
+    qemu_chr_fe_deinit(&c, false);
+    qemu_chr_fe_init(&c, chr, &error_abort);
 
-    qemu_chr_fe_set_open(&be, true);
+    qemu_chr_fe_set_open(&c, true);
 
-    qemu_chr_fe_set_handlers(&be,
+    qemu_chr_fe_set_handlers(&c,
                              fe_can_read,
                              fe_read,
                              fe_event,
                              NULL,
                              NULL, NULL, true);
 
-    ret = qemu_chr_fe_write(&be, (void *)"buf", 4);
+    ret = qemu_chr_fe_write(&c, (void *)"buf", 4);
     g_assert_cmpint(ret, ==, 4);
 
-    qemu_chr_fe_deinit(&be, true);
+    qemu_chr_fe_deinit(&c, true);
 }
 
 static void char_invalid_test(void)
@@ -1814,7 +1814,7 @@ static void char_hotswap_test(void)
 {
     char *chr_args;
     Chardev *chr;
-    CharBackend be;
+    CharFrontend c;
 
     gchar *tmp_path = g_dir_make_tmp("qemu-test-char.XXXXXX", NULL);
     char *filename = g_build_filename(tmp_path, "file", NULL);
@@ -1830,32 +1830,32 @@ static void char_hotswap_test(void)
     chr_args = g_strdup_printf("udp:127.0.0.1:%d", port);
 
     chr = qemu_chr_new("chardev", chr_args, NULL);
-    qemu_chr_fe_init(&be, chr, &error_abort);
+    qemu_chr_fe_init(&c, chr, &error_abort);
 
     /* check that chardev operates correctly */
     char_udp_test_internal(chr, sock);
 
     /* set the handler that denies the hotswap */
-    qemu_chr_fe_set_handlers(&be, NULL, NULL,
+    qemu_chr_fe_set_handlers(&c, NULL, NULL,
                              NULL, chardev_change_denied, NULL, NULL, true);
 
     /* now, change is denied and has to keep the old backend operating */
     ret = qmp_chardev_change("chardev", &backend, NULL);
     g_assert(!ret);
-    g_assert(be.chr == chr);
+    g_assert(c.chr == chr);
 
     char_udp_test_internal(chr, sock);
 
     /* now allow the change */
-    qemu_chr_fe_set_handlers(&be, NULL, NULL,
+    qemu_chr_fe_set_handlers(&c, NULL, NULL,
                              NULL, chardev_change, NULL, NULL, true);
 
     /* has to succeed now */
     ret = qmp_chardev_change("chardev", &backend, &error_abort);
-    g_assert(be.chr != chr);
+    g_assert(c.chr != chr);
 
     close(sock);
-    chr = be.chr;
+    chr = c.chr;
 
     /* run the file chardev test */
     char_file_test_internal(chr, filename);
diff --git a/tests/unit/test-yank.c b/tests/unit/test-yank.c
index 4acfb2f3f6..9fc86a2128 100644
--- a/tests/unit/test-yank.c
+++ b/tests/unit/test-yank.c
@@ -65,7 +65,7 @@ static void char_change_test(gconstpointer opaque)
     CharChangeTestConfig *conf = (gpointer) opaque;
     SocketAddress *addr;
     Chardev *chr;
-    CharBackend be;
+    CharFrontend fe;
     ChardevReturn *ret;
     QIOChannelSocket *ioc;
     QemuThread thread;
@@ -144,9 +144,9 @@ static void char_change_test(gconstpointer opaque)
         qemu_thread_join(&thread);
     }
 
-    qemu_chr_fe_init(&be, chr, &error_abort);
+    qemu_chr_fe_init(&fe, chr, &error_abort);
     /* allow chardev-change */
-    qemu_chr_fe_set_handlers(&be, NULL, NULL,
+    qemu_chr_fe_set_handlers(&fe, NULL, NULL,
                              NULL, chardev_change, NULL, NULL, true);
 
     if (conf->fail) {
@@ -154,7 +154,7 @@ static void char_change_test(gconstpointer opaque)
         ret = qmp_chardev_change("chardev", &fail_backend[conf->new_yank],
                                  NULL);
         g_assert_null(ret);
-        g_assert(be.chr == chr);
+        g_assert(fe.chr == chr);
         g_assert(is_yank_instance_registered() == conf->old_yank);
         g_unsetenv("QTEST_SILENT_ERRORS");
     } else {
@@ -168,11 +168,11 @@ static void char_change_test(gconstpointer opaque)
             qemu_thread_join(&thread);
         }
         g_assert_nonnull(ret);
-        g_assert(be.chr != chr);
+        g_assert(fe.chr != chr);
         g_assert(is_yank_instance_registered() == conf->new_yank);
     }
 
-    object_unparent(OBJECT(be.chr));
+    object_unparent(OBJECT(fe.chr));
     object_unref(OBJECT(ioc));
     qapi_free_ChardevReturn(ret);
     qapi_free_SocketAddress(addr);
diff --git a/rust/bindings/src/lib.rs b/rust/bindings/src/lib.rs
index 5bf03b1370..4c9bb794f7 100644
--- a/rust/bindings/src/lib.rs
+++ b/rust/bindings/src/lib.rs
@@ -28,8 +28,8 @@
 // BQL is taken, either directly or via `BqlCell` and `BqlRefCell`.
 // When bindings for character devices are introduced, this can be
 // moved to the Opaque<> wrapper in src/chardev.rs.
-unsafe impl Send for CharBackend {}
-unsafe impl Sync for CharBackend {}
+unsafe impl Send for CharFrontend {}
+unsafe impl Sync for CharFrontend {}
 
 // SAFETY: this is a pure data struct
 unsafe impl Send for CoalescedMemoryRange {}
diff --git a/rust/chardev/src/bindings.rs b/rust/chardev/src/bindings.rs
index c95dc89c56..85a416f3d1 100644
--- a/rust/chardev/src/bindings.rs
+++ b/rust/chardev/src/bindings.rs
@@ -34,7 +34,7 @@
 // BQL is taken, either directly or via `BqlCell` and `BqlRefCell`.
 // When bindings for character devices are introduced, this can be
 // moved to the Opaque<> wrapper in src/chardev.rs.
-unsafe impl Send for CharBackend {}
-unsafe impl Sync for CharBackend {}
+unsafe impl Send for CharFrontend {}
+unsafe impl Sync for CharFrontend {}
 
-unsafe impl Zeroable for CharBackend {}
+unsafe impl Zeroable for CharFrontend {}
diff --git a/rust/chardev/src/chardev.rs b/rust/chardev/src/chardev.rs
index 2014479674..f0b7975dbf 100644
--- a/rust/chardev/src/chardev.rs
+++ b/rust/chardev/src/chardev.rs
@@ -6,7 +6,7 @@
 //!
 //! Character devices in QEMU can run under the big QEMU lock or in a separate
 //! `GMainContext`. Here we only support the former, because the bindings
-//! enforce that the BQL is taken whenever the functions in [`CharBackend`] are
+//! enforce that the BQL is taken whenever the functions in [`CharFrontend`] are
 //! called.
 
 use std::{
@@ -32,25 +32,25 @@
 pub type ChardevClass = bindings::ChardevClass;
 pub type Event = bindings::QEMUChrEvent;
 
-/// A safe wrapper around [`bindings::CharBackend`], denoting the character
+/// A safe wrapper around [`bindings::CharFrontend`], denoting the character
 /// back-end that is used for example by a device.  Compared to the
 /// underlying C struct it adds BQL protection, and is marked as pinned
 /// because the QOM object ([`bindings::Chardev`]) contains a pointer to
-/// the `CharBackend`.
-pub struct CharBackend {
-    inner: BqlRefCell<bindings::CharBackend>,
+/// the `CharFrontend`.
+pub struct CharFrontend {
+    inner: BqlRefCell<bindings::CharFrontend>,
     _pin: PhantomPinned,
 }
 
-pub struct CharBackendMut<'a>(BqlRefMut<'a, bindings::CharBackend>);
+pub struct CharFrontendMut<'a>(BqlRefMut<'a, bindings::CharFrontend>);
 
-impl Write for CharBackendMut<'_> {
+impl Write for CharFrontendMut<'_> {
     fn flush(&mut self) -> io::Result<()> {
         Ok(())
     }
 
     fn write(&mut self, buf: &[u8]) -> io::Result<usize> {
-        let chr: &mut bindings::CharBackend = &mut self.0;
+        let chr: &mut bindings::CharFrontend = &mut self.0;
 
         let len = buf.len().try_into().unwrap();
         let r = unsafe { bindings::qemu_chr_fe_write(addr_of_mut!(*chr), buf.as_ptr(), len) };
@@ -58,7 +58,7 @@ fn write(&mut self, buf: &[u8]) -> io::Result<usize> {
     }
 
     fn write_all(&mut self, buf: &[u8]) -> io::Result<()> {
-        let chr: &mut bindings::CharBackend = &mut self.0;
+        let chr: &mut bindings::CharFrontend = &mut self.0;
 
         let len = buf.len().try_into().unwrap();
         let r = unsafe { bindings::qemu_chr_fe_write_all(addr_of_mut!(*chr), buf.as_ptr(), len) };
@@ -72,7 +72,7 @@ fn write_all(&mut self, buf: &[u8]) -> io::Result<()> {
     }
 }
 
-impl Debug for CharBackend {
+impl Debug for CharFrontend {
     fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
         // SAFETY: accessed just to print the values
         let chr = self.inner.as_ptr();
@@ -81,13 +81,13 @@ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
 }
 
 // FIXME: use something like PinnedDrop from the pinned_init crate
-impl Drop for CharBackend {
+impl Drop for CharFrontend {
     fn drop(&mut self) {
         self.disable_handlers();
     }
 }
 
-impl CharBackend {
+impl CharFrontend {
     /// Enable the front-end's character device handlers, if there is an
     /// associated `Chardev`.
     pub fn enable_handlers<
@@ -198,7 +198,7 @@ pub fn accept_input(&self) {
     /// the big QEMU lock while the character device is borrowed, as
     /// that might cause C code to write to the character device.
     pub fn borrow_mut(&self) -> impl Write + '_ {
-        CharBackendMut(self.inner.borrow_mut())
+        CharFrontendMut(self.inner.borrow_mut())
     }
 
     /// Send a continuous stream of zero bits on the line if `enabled` is
diff --git a/rust/hw/char/pl011/src/device.rs b/rust/hw/char/pl011/src/device.rs
index 8889d6e54f..5e9b13fdf9 100644
--- a/rust/hw/char/pl011/src/device.rs
+++ b/rust/hw/char/pl011/src/device.rs
@@ -5,7 +5,7 @@
 use std::{ffi::CStr, mem::size_of};
 
 use bql::BqlRefCell;
-use chardev::{CharBackend, Chardev, Event};
+use chardev::{CharFrontend, Chardev, Event};
 use common::{static_assert, uninit_field_mut};
 use hwcore::{
     Clock, ClockEvent, DeviceImpl, DeviceMethods, DeviceState, IRQState, InterruptSource,
@@ -106,7 +106,7 @@ pub struct PL011State {
     pub iomem: MemoryRegion,
     #[doc(alias = "chr")]
     #[property(rename = "chardev")]
-    pub char_backend: CharBackend,
+    pub char_frontend: CharFrontend,
     pub regs: BqlRefCell<PL011Registers>,
     /// QEMU interrupts
     ///
@@ -240,7 +240,7 @@ pub(self) fn write(&mut self, offset: RegisterOffset, value: u32, device: &PL011
                 }
                 let update = (self.line_control.send_break() != new_val.send_break()) && {
                     let break_enable = new_val.send_break();
-                    let _ = device.char_backend.send_break(break_enable);
+                    let _ = device.char_frontend.send_break(break_enable);
                     self.loopback_break(break_enable)
                 };
                 self.line_control = new_val;
@@ -561,7 +561,7 @@ fn read(&self, offset: hwaddr, _size: u32) -> u64 {
                 trace::trace_pl011_read(offset, result, c"");
                 if update_irq {
                     self.update();
-                    self.char_backend.accept_input();
+                    self.char_frontend.accept_input();
                 }
                 result.into()
             }
@@ -579,7 +579,7 @@ fn write(&self, offset: hwaddr, value: u64, _size: u32) {
                 let ch: [u8; 1] = [value as u8];
                 // XXX this blocks entire thread. Rewrite to use
                 // qemu_chr_fe_write and background I/O callbacks
-                let _ = self.char_backend.write_all(&ch);
+                let _ = self.char_frontend.write_all(&ch);
             }
 
             update_irq = self.regs.borrow_mut().write(field, value as u32, self);
@@ -645,7 +645,7 @@ fn event(&self, event: Event) {
     }
 
     fn realize(&self) -> util::Result<()> {
-        self.char_backend
+        self.char_frontend
             .enable_handlers(self, Self::can_receive, Self::receive, Self::event);
         Ok(())
     }
diff --git a/rust/hw/core/src/qdev.rs b/rust/hw/core/src/qdev.rs
index c3097a284d..4e983da28b 100644
--- a/rust/hw/core/src/qdev.rs
+++ b/rust/hw/core/src/qdev.rs
@@ -156,7 +156,7 @@ unsafe impl $crate::qdev::QDevProp for $type {
 impl_qdev_prop!(usize, qdev_prop_usize);
 impl_qdev_prop!(i32, qdev_prop_int32);
 impl_qdev_prop!(i64, qdev_prop_int64);
-impl_qdev_prop!(chardev::CharBackend, qdev_prop_chr);
+impl_qdev_prop!(chardev::CharFrontend, qdev_prop_chr);
 
 /// Trait to define device properties.
 ///
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Tue Oct 21 12:53:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Oct 2025 12:53:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1147140.1479401 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBBrh-0006AV-Tp; Tue, 21 Oct 2025 12:53:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1147140.1479401; Tue, 21 Oct 2025 12:53:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBBrh-0006AO-Qq; Tue, 21 Oct 2025 12:53:25 +0000
Received: by outflank-mailman (input) for mailman id 1147140;
 Tue, 21 Oct 2025 12:53:23 +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
 <SRS0=1L3Q=46=linaro.org=peter.maydell@srs-se1.protection.inumbo.net>)
 id 1vBBrf-0006AF-OE
 for xen-devel@lists.xenproject.org; Tue, 21 Oct 2025 12:53:23 +0000
Received: from mail-yx1-xb130.google.com (mail-yx1-xb130.google.com
 [2607:f8b0:4864:20::b130])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ec7ba834-ae7c-11f0-9d15-b5c5bf9af7f9;
 Tue, 21 Oct 2025 14:53:22 +0200 (CEST)
Received: by mail-yx1-xb130.google.com with SMTP id
 956f58d0204a3-633c1b740c5so5367214d50.3
 for <xen-devel@lists.xenproject.org>; Tue, 21 Oct 2025 05:53:22 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ec7ba834-ae7c-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1761051201; x=1761656001; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=IuSNCsRv/59+EAgZl2384UmefgwetvdfFm3jSW4yRDA=;
        b=apjHEYcICWm17qUH6OxQ5ySMAFD1gkosK2/oTaxnFuETIVo7hgbBG8nElogumAkkuy
         e5bIsgOLUq/yDaFcJ4gjEh7/slSd9fSH1C0mkKipFSsQ1lpQXuF1fr1BNLJwK5XIQh6G
         o7NiXZc3BVE2paxScDxaMB9kxTFqfC4xx3oa6tZ+xj+vSfK3S2q4MXcRJw7HDp5FhNPE
         A1zArpxwgjhIKTid/8yjocMHgG/GLrPNZjNNd3PnmRqVJNJ3bkLV92vu1HQfHPEQafAK
         dU4ol+ilFwSi/vV1Kq07iWwALEjZ95xbA9F9Gxai40CsbwYNxHWbKdrYtLkwK3KsK0hz
         N5vw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761051201; x=1761656001;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=IuSNCsRv/59+EAgZl2384UmefgwetvdfFm3jSW4yRDA=;
        b=IXwjk7LGBZEgeMmMGV7UepradIPPsVnQjqeYpZ6BQLfrFRk+VsjUah5SI2Hen7mOdA
         cmSpxS3j3/58NZSOACkXZa7Gw2aBChViRkPRd94CwhiOY/laayLEWlyUHmtRawyHpeV2
         mUMv/mDIZG/wJWf7RlNKDCZobv9kxt7eXqHvkRiEWuKvur+R0DFPhBehryNrlvsDvOuk
         afTKZEvTx/SQb1jd+Q1/BoUNYRxGFwTemvxgIXjNhLZuIieFy+h3s6s7Viz62/PayC/M
         bfD5dGchfSSDiP3U9WcTSgxWvQWSZaiOo80Yo4WMumKGzW0oanCu1Q6VO/3kRdhoBVSS
         tZ9g==
X-Forwarded-Encrypted: i=1; AJvYcCW2qVU2mb1+yYDKEpHdu4SsR9NKutEaWhparh/tBSTRGylHK6pMpJA/KgH4NROnjwoEa+A+7I/uNcE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxrZOWYRR08FS1HCSob+AqRvfV4ALWzEDa3X7fl2BVQzZTL9066
	ZrkQ+UKVplSq33WEL2kQy9M/gzdoREIvzRhi7CElT5zN6Qec9CmaBHh/Uc3IGUNsAwsGG39BBmF
	rC5zobILZXaXi2QUuI3MVxsIALnhEDso/gXAKQaeXTA==
X-Gm-Gg: ASbGncvwDw6Kh/FHg0+Cd0OCSkgHQaAs1aR0s4WfrRJCBj8nTSvj1EZ+WLv4KVGhAXM
	qA7rTvmINCJmExOMa0k3ejVgmkuF5EvTywSEBn8EFMcnuk7eRsrsEzDTUtuQDAxjNtqQ41044fI
	8FMIdErKBPRKrt3YiVTk6rVxKL//DFjNx8xtiXi2UQf7ihMxtfgwTtbyMqeCsBLUgqkh1IT4VPy
	4aAs41VOYNAaIgLV8N8W7R5cXbkK1F6sLOoH1bQj8nsJdhtKHSRnx+G7T8wQ2clZsmCwT7EBy10
	UWw42bg=
X-Google-Smtp-Source: AGHT+IFpbT82ve3LXltYZEPsfJS+RyLmbXt+5DVAMiKWeQCDlh+pMWALlMmxIYO912MM0kwsJVP4r1RcRcCjaeA4YeU=
X-Received: by 2002:a53:acd9:0:10b0:63d:7ac:b991 with SMTP id
 956f58d0204a3-63e16179374mr11700457d50.5.1761051201041; Tue, 21 Oct 2025
 05:53:21 -0700 (PDT)
MIME-Version: 1.0
References: <20251021122533.721467-1-marcandre.lureau@redhat.com>
In-Reply-To: <20251021122533.721467-1-marcandre.lureau@redhat.com>
From: Peter Maydell <peter.maydell@linaro.org>
Date: Tue, 21 Oct 2025 13:53:09 +0100
X-Gm-Features: AS18NWCp0ty09wq1HmsCT7-iy0cpel_3YH3JRfs8VpJn1hbNoYoCwcqrR0HZzqM
Message-ID: <CAFEAcA-jPE_onLYLMxgcAOB7dWRXOLJrWcGPnR0NUdjYytPDVA@mail.gmail.com>
Subject: Re: [PATCH] char: rename CharBackend->CharFrontend
To: marcandre.lureau@redhat.com
Cc: qemu-devel@nongnu.org, pbonzini@redhat.com, 
	"Michael S. Tsirkin" <mst@redhat.com>, Stefano Garzarella <sgarzare@redhat.com>, 
	"Gonglei (Arei)" <arei.gonglei@huawei.com>, Zhenwei Pi <pizhenwei@bytedance.com>, 
	Laurent Vivier <lvivier@redhat.com>, Amit Shah <amit@kernel.org>, 
	Stefan Berger <stefanb@linux.vnet.ibm.com>, =?UTF-8?B?QWxleCBCZW5uw6ll?= <alex.bennee@linaro.org>, 
	=?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= <philmd@linaro.org>, 
	Igor Mitsyanko <i.mitsyanko@gmail.com>, =?UTF-8?Q?Cl=C3=A9ment_Chigot?= <chigot@adacore.com>, 
	Frederic Konrad <konrad.frederic@yahoo.fr>, Alberto Garcia <berto@igalia.com>, 
	Thomas Huth <huth@tuxfamily.org>, Halil Pasic <pasic@linux.ibm.com>, 
	Christian Borntraeger <borntraeger@linux.ibm.com>, Jason Herne <jjherne@linux.ibm.com>, 
	Yoshinori Sato <yoshinori.sato@nifty.com>, Magnus Damm <magnus.damm@gmail.com>, 
	Nicholas Piggin <npiggin@gmail.com>, Harsh Prateek Bora <harshpb@linux.ibm.com>, 
	"Collin L. Walling" <walling@linux.ibm.com>, Stefano Stabellini <sstabellini@kernel.org>, 
	Anthony PERARD <anthony@xenproject.org>, Paul Durrant <paul@xen.org>, 
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>, Alistair Francis <alistair@alistair23.me>, 
	=?UTF-8?Q?Daniel_P=2E_Berrang=C3=A9?= <berrange@redhat.com>, 
	Eduardo Habkost <eduardo@habkost.net>, Corey Minyard <minyard@acm.org>, 
	Paul Burton <paulburton@kernel.org>, Aleksandar Rikalo <arikalo@gmail.com>, 
	Aurelien Jarno <aurelien@aurel32.net>, Palmer Dabbelt <palmer@dabbelt.com>, 
	Weiwei Li <liwei1518@gmail.com>, Daniel Henrique Barboza <dbarboza@ventanamicro.com>, 
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>, 
	Samuel Thibault <samuel.thibault@ens-lyon.org>, Michael Rolnik <mrolnik@gmail.com>, 
	Antony Pavlov <antonynpavlov@gmail.com>, Joel Stanley <joel@jms.id.au>, 
	Vijai Kumar K <vijai@behindbytes.com>, Samuel Tardieu <sam@rfc1149.net>, 
	Gustavo Romero <gustavo.romero@linaro.org>, Raphael Norwitz <raphael@enfabrica.net>, 
	Stefan Hajnoczi <stefanha@redhat.com>, "reviewer:vhost-user-scmi" <mzamazal@redhat.com>, 
	Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp>, 
	Dmitry Osipenko <dmitry.osipenko@collabora.com>, Fabiano Rosas <farosas@suse.de>, 
	Markus Armbruster <armbru@redhat.com>, "Dr. David Alan Gilbert" <dave@treblig.org>, Zhang Chen <zhangckid@gmail.com>, 
	Li Zhijian <lizhijian@fujitsu.com>, Jason Wang <jasowang@redhat.com>, 
	Manos Pitsidianakis <manos.pitsidianakis@linaro.org>, 
	Richard Henderson <richard.henderson@linaro.org>, Helge Deller <deller@gmx.de>, 
	Max Filippov <jcmvbkbc@gmail.com>, Lukas Straub <lukasstraub2@web.de>, 
	"open list:Sharp SL-5500 Co..." <qemu-arm@nongnu.org>, 
	"open list:S390 SCLP-backed..." <qemu-s390x@nongnu.org>, "open list:sPAPR (pseries)" <qemu-ppc@nongnu.org>, 
	"open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>, 
	"open list:RISC-V TCG CPUs" <qemu-riscv@nongnu.org>, "open list:virtiofs" <virtio-fs@lists.linux.dev>, 
	"open list:Rust-related patc..." <qemu-rust@nongnu.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Marc-Andr=C3=A9 Lureau <marcandre.lureau@redhat.com> wrote:
> The actual backend is "Chardev", CharBackend is the frontend side of it,
> let's rename it for readability.

I always thought the "frontend" was the device the guest
saw (the 16650 UART or whatever). invocation.html has bits
talking about "virtio hvc console frontend device" which
seem like they also use that terminology.

If we want to clean up the naming it might be helpful to have
a comment somewhere documenting the different components and
what names we give them and how they fit together (or even
better, something in docs/devel/...)

thanks
-- PMM


From xen-devel-bounces@lists.xenproject.org Tue Oct 21 13:25:17 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Oct 2025 13:25:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1147162.1479439 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBCMR-00029z-Gf; Tue, 21 Oct 2025 13:25:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1147162.1479439; Tue, 21 Oct 2025 13:25:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBCMR-00029s-Cu; Tue, 21 Oct 2025 13:25:11 +0000
Received: by outflank-mailman (input) for mailman id 1147162;
 Tue, 21 Oct 2025 13:25:10 +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
 <SRS0=aiYT=46=eik.bme.hu=balaton@srs-se1.protection.inumbo.net>)
 id 1vBCMQ-00029m-1N
 for xen-devel@lists.xenproject.org; Tue, 21 Oct 2025 13:25:10 +0000
Received: from zero.eik.bme.hu (zero.eik.bme.hu [152.66.115.2])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5cdb99ba-ae81-11f0-9d15-b5c5bf9af7f9;
 Tue, 21 Oct 2025 15:25:08 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by zero.eik.bme.hu (Postfix) with ESMTP id 832FD5972E3;
 Tue, 21 Oct 2025 15:25:07 +0200 (CEST)
Received: from zero.eik.bme.hu ([127.0.0.1])
 by localhost (zero.eik.bme.hu [127.0.0.1]) (amavis, port 10028) with ESMTP
 id Gg8qekahyVnk; Tue, 21 Oct 2025 15:25:05 +0200 (CEST)
Received: by zero.eik.bme.hu (Postfix, from userid 432)
 id 25D775972E4; Tue, 21 Oct 2025 15:25:05 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by zero.eik.bme.hu (Postfix) with ESMTP id 218E05972E1;
 Tue, 21 Oct 2025 15:25:05 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5cdb99ba-ae81-11f0-9d15-b5c5bf9af7f9
X-Virus-Scanned: amavis at eik.bme.hu
Date: Tue, 21 Oct 2025 15:25:05 +0200 (CEST)
From: BALATON Zoltan <balaton@eik.bme.hu>
To: =?ISO-8859-15?Q?Marc-Andr=E9_Lureau?= <marcandre.lureau@redhat.com>
cc: qemu-devel@nongnu.org, pbonzini@redhat.com, 
    "Michael S. Tsirkin" <mst@redhat.com>, 
    Stefano Garzarella <sgarzare@redhat.com>, 
    "Gonglei (Arei)" <arei.gonglei@huawei.com>, 
    Zhenwei Pi <pizhenwei@bytedance.com>, Laurent Vivier <lvivier@redhat.com>, 
    Amit Shah <amit@kernel.org>, Stefan Berger <stefanb@linux.vnet.ibm.com>, 
    =?ISO-8859-15?Q?Alex_Benn=E9e?= <alex.bennee@linaro.org>, 
    =?ISO-8859-15?Q?Philippe_Mathieu-Daud=E9?= <philmd@linaro.org>, 
    Peter Maydell <peter.maydell@linaro.org>, 
    Igor Mitsyanko <i.mitsyanko@gmail.com>, 
    =?ISO-8859-15?Q?Cl=E9ment_Chigot?= <chigot@adacore.com>, 
    Frederic Konrad <konrad.frederic@yahoo.fr>, 
    Alberto Garcia <berto@igalia.com>, Thomas Huth <huth@tuxfamily.org>, 
    Halil Pasic <pasic@linux.ibm.com>, 
    Christian Borntraeger <borntraeger@linux.ibm.com>, 
    Jason Herne <jjherne@linux.ibm.com>, 
    Yoshinori Sato <yoshinori.sato@nifty.com>, 
    Magnus Damm <magnus.damm@gmail.com>, Nicholas Piggin <npiggin@gmail.com>, 
    Harsh Prateek Bora <harshpb@linux.ibm.com>, 
    "Collin L. Walling" <walling@linux.ibm.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Anthony PERARD <anthony@xenproject.org>, Paul Durrant <paul@xen.org>, 
    "Edgar E. Iglesias" <edgar.iglesias@gmail.com>, 
    Alistair Francis <alistair@alistair23.me>, 
    =?ISO-8859-15?Q?Daniel_P=2E_Berrang=E9?= <berrange@redhat.com>, 
    Eduardo Habkost <eduardo@habkost.net>, Corey Minyard <minyard@acm.org>, 
    Paul Burton <paulburton@kernel.org>, Aleksandar Rikalo <arikalo@gmail.com>, 
    Aurelien Jarno <aurelien@aurel32.net>, Palmer Dabbelt <palmer@dabbelt.com>, 
    Weiwei Li <liwei1518@gmail.com>, 
    Daniel Henrique Barboza <dbarboza@ventanamicro.com>, 
    Liu Zhiwei <zhiwei_liu@linux.alibaba.com>, 
    Samuel Thibault <samuel.thibault@ens-lyon.org>, 
    Michael Rolnik <mrolnik@gmail.com>, 
    Antony Pavlov <antonynpavlov@gmail.com>, Joel Stanley <joel@jms.id.au>, 
    Vijai Kumar K <vijai@behindbytes.com>, Samuel Tardieu <sam@rfc1149.net>, 
    Gustavo Romero <gustavo.romero@linaro.org>, 
    Raphael Norwitz <raphael@enfabrica.net>, 
    Stefan Hajnoczi <stefanha@redhat.com>, 
    "reviewer:vhost-user-scmi" <mzamazal@redhat.com>, 
    Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp>, 
    Dmitry Osipenko <dmitry.osipenko@collabora.com>, 
    Fabiano Rosas <farosas@suse.de>, Markus Armbruster <armbru@redhat.com>, 
    "Dr. David Alan Gilbert" <dave@treblig.org>, 
    Zhang Chen <zhangckid@gmail.com>, Li Zhijian <lizhijian@fujitsu.com>, 
    Jason Wang <jasowang@redhat.com>, 
    Manos Pitsidianakis <manos.pitsidianakis@linaro.org>, 
    Richard Henderson <richard.henderson@linaro.org>, 
    Helge Deller <deller@gmx.de>, Max Filippov <jcmvbkbc@gmail.com>, 
    Lukas Straub <lukasstraub2@web.de>, 
    "open list:Sharp SL-5500 Co..." <qemu-arm@nongnu.org>, 
    "open list:S390 SCLP-backed..." <qemu-s390x@nongnu.org>, 
    "open list:sPAPR (pseries)" <qemu-ppc@nongnu.org>, 
    "open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>, 
    "open list:RISC-V TCG CPUs" <qemu-riscv@nongnu.org>, 
    "open list:virtiofs" <virtio-fs@lists.linux.dev>, 
    "open list:Rust-related patc..." <qemu-rust@nongnu.org>
Subject: Re: [PATCH] char: rename CharBackend->CharFrontend
In-Reply-To: <20251021122533.721467-1-marcandre.lureau@redhat.com>
Message-ID: <01a51fe7-4414-e787-ddf5-5ede0c1e1e74@eik.bme.hu>
References: <20251021122533.721467-1-marcandre.lureau@redhat.com>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="3866299591-1500696156-1761053105=:49605"

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--3866299591-1500696156-1761053105=:49605
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8BIT

On Tue, 21 Oct 2025, marcandre.lureau@redhat.com wrote:
> From: Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
>
> The actual backend is "Chardev", CharBackend is the frontend side of it,
> let's rename it for readability.
>
> Signed-off-by: Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
> ---
> chardev/chardev-internal.h           |  12 +-
> include/chardev/char-fe.h            |  67 +++++----
> include/chardev/char.h               |   4 +-
> include/hw/char/avr_usart.h          |   2 +-
> include/hw/char/bcm2835_aux.h        |   2 +-
> include/hw/char/cadence_uart.h       |   2 +-
> include/hw/char/cmsdk-apb-uart.h     |   2 +-
> include/hw/char/digic-uart.h         |   2 +-
> include/hw/char/escc.h               |   2 +-
> include/hw/char/goldfish_tty.h       |   2 +-
> include/hw/char/ibex_uart.h          |   2 +-
> include/hw/char/imx_serial.h         |   2 +-
> include/hw/char/max78000_uart.h      |   2 +-
> include/hw/char/nrf51_uart.h         |   2 +-
> include/hw/char/parallel.h           |   2 +-
> include/hw/char/pl011.h              |   2 +-
> include/hw/char/renesas_sci.h        |   2 +-
> include/hw/char/riscv_htif.h         |   2 +-
> include/hw/char/serial.h             |   2 +-
> include/hw/char/shakti_uart.h        |   2 +-
> include/hw/char/sifive_uart.h        |   2 +-
> include/hw/char/stm32f2xx_usart.h    |   2 +-
> include/hw/char/stm32l4x5_usart.h    |   2 +-
> include/hw/misc/ivshmem-flat.h       |   2 +-
> include/hw/qdev-properties-system.h  |   2 +-
> include/hw/virtio/vhost-user-base.h  |   2 +-
> include/hw/virtio/vhost-user-blk.h   |   2 +-
> include/hw/virtio/vhost-user-fs.h    |   2 +-
> include/hw/virtio/vhost-user-scmi.h  |   2 +-
> include/hw/virtio/vhost-user-vsock.h |   2 +-
> include/hw/virtio/vhost-user.h       |   8 +-
> include/hw/virtio/virtio-gpu.h       |   2 +-
> include/hw/virtio/virtio-scsi.h      |   2 +-
> include/system/qtest.h               |   4 +-
> include/system/vhost-user-backend.h  |   2 +-
> monitor/monitor-internal.h           |   2 +-
> backends/cryptodev-vhost-user.c      |   2 +-
> backends/rng-egd.c                   |   2 +-
> backends/tpm/tpm_emulator.c          |   4 +-
> chardev/char-fe.c                    | 142 +++++++++----------
> chardev/char-hub.c                   |  18 +--
> chardev/char-mux.c                   |  40 +++---
> chardev/char.c                       |   8 +-
> gdbstub/system.c                     |   2 +-
> hw/arm/strongarm.c                   |   2 +-
> hw/char/debugcon.c                   |   2 +-
> hw/char/exynos4210_uart.c            |   2 +-
> hw/char/grlib_apbuart.c              |   2 +-
> hw/char/ipoctal232.c                 |   2 +-
> hw/char/mcf_uart.c                   |   2 +-
> hw/char/sclpconsole-lm.c             |   2 +-
> hw/char/sclpconsole.c                |   2 +-
> hw/char/sh_serial.c                  |   2 +-
> hw/char/spapr_vty.c                  |   2 +-
> hw/char/terminal3270.c               |   2 +-
> hw/char/virtio-console.c             |   2 +-
> hw/char/xen_console.c                |   2 +-
> hw/char/xilinx_uartlite.c            |   2 +-
> hw/core/qdev-properties-system.c     |  16 +--
> hw/ipmi/ipmi_bmc_extern.c            |   2 +-
> hw/mips/boston.c                     |   2 +-
> hw/mips/malta.c                      |   2 +-
> hw/misc/ivshmem-pci.c                |   2 +-
> hw/ppc/spapr_rtas.c                  |   2 +-
> hw/riscv/riscv_hart.c                |   2 +-
> hw/usb/ccid-card-passthru.c          |   2 +-
> hw/usb/dev-serial.c                  |   2 +-
> hw/usb/redirect.c                    |   2 +-
> hw/virtio/vhost-stub.c               |   2 +-
> hw/virtio/vhost-user.c               |  20 +--
> net/colo-compare.c                   |  10 +-
> net/filter-mirror.c                  |   4 +-
> net/passt.c                          |   2 +-
> net/slirp.c                          |   2 +-
> net/vhost-user.c                     |   2 +-
> semihosting/console.c                |   6 +-
> system/qtest.c                       |  20 +--
> target/hppa/sys_helper.c             |   2 +-
> target/xtensa/xtensa-semi.c          |   2 +-
> tests/qtest/vhost-user-test.c        |  16 +--
> tests/unit/test-char.c               | 198 +++++++++++++--------------
> tests/unit/test-yank.c               |  12 +-
> rust/bindings/src/lib.rs             |   4 +-
> rust/chardev/src/bindings.rs         |   6 +-
> rust/chardev/src/chardev.rs          |  26 ++--
> rust/hw/char/pl011/src/device.rs     |  12 +-
> rust/hw/core/src/qdev.rs             |   2 +-
> 87 files changed, 392 insertions(+), 393 deletions(-)
>
> diff --git a/chardev/chardev-internal.h b/chardev/chardev-internal.h
> index 9752dd75f7..8ea10414ab 100644
> --- a/chardev/chardev-internal.h
> +++ b/chardev/chardev-internal.h
> @@ -37,9 +37,9 @@
> struct MuxChardev {
>     Chardev parent;
>     /* Linked frontends */
> -    CharBackend *backends[MAX_MUX];
> -    /* Linked backend */
> -    CharBackend chr;
> +    CharFrontend *frontends[MAX_MUX];
> +    /* frontend of the underlying muxed chardev */
> +    CharFrontend chr;
>     unsigned long mux_bitset;
>     int focus;
>     bool term_got_escape;
> @@ -64,8 +64,8 @@ typedef struct HubCharBackend HubCharBackend;
>  * `hub->backends` array
>  */
> struct HubCharBackend {
> -    HubChardev   *hub;
> -    CharBackend  be;
> +    HubChardev *hub;
> +    CharFrontend fe;
>     unsigned int be_ind;
> };
>
> @@ -108,7 +108,7 @@ DECLARE_INSTANCE_CHECKER(HubChardev, HUB_CHARDEV,
> #define CHARDEV_IS_HUB(chr)                                \
>     object_dynamic_cast(OBJECT(chr), TYPE_CHARDEV_HUB)
>
> -bool mux_chr_attach_frontend(MuxChardev *d, CharBackend *b,
> +bool mux_chr_attach_frontend(MuxChardev *d, CharFrontend *c,
>                              unsigned int *tag, Error **errp);
> bool mux_chr_detach_frontend(MuxChardev *d, unsigned int tag);
> void mux_set_focus(Chardev *chr, unsigned int focus);
> diff --git a/include/chardev/char-fe.h b/include/chardev/char-fe.h
> index 8ef05b3dd0..cb28692f38 100644
> --- a/include/chardev/char-fe.h
> +++ b/include/chardev/char-fe.h
> @@ -8,12 +8,12 @@ typedef void IOEventHandler(void *opaque, QEMUChrEvent event);
> typedef int BackendChangeHandler(void *opaque);
>
> /**
> - * struct CharBackend - back end as seen by front end
> + * struct CharFrontend - back end as seen by front end

I stopped here, haven't read the rest of the patch but the above comment 
seems to become inconsistent. Which is the front end and back end now?

Regards,
BALATON Zoltan
--3866299591-1500696156-1761053105=:49605--


From xen-devel-bounces@lists.xenproject.org Tue Oct 21 13:30:50 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Oct 2025 13:30:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1147178.1479448 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBCRj-0003lM-47; Tue, 21 Oct 2025 13:30:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1147178.1479448; Tue, 21 Oct 2025 13:30:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBCRj-0003lF-10; Tue, 21 Oct 2025 13:30:39 +0000
Received: by outflank-mailman (input) for mailman id 1147178;
 Tue, 21 Oct 2025 13:30: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
 <SRS0=GCgz=46=redhat.com=mlureau@srs-se1.protection.inumbo.net>)
 id 1vBCRh-0003l8-FE
 for xen-devel@lists.xenproject.org; Tue, 21 Oct 2025 13:30:37 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.129.124])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 20041c07-ae82-11f0-9d15-b5c5bf9af7f9;
 Tue, 21 Oct 2025 15:30:36 +0200 (CEST)
Received: from mail-pj1-f69.google.com (mail-pj1-f69.google.com
 [209.85.216.69]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-111-y5eDbybCOZ-iAdc-ht_x2w-1; Tue, 21 Oct 2025 09:30:32 -0400
Received: by mail-pj1-f69.google.com with SMTP id
 98e67ed59e1d1-33bdd0479a9so4445924a91.2
 for <xen-devel@lists.xenproject.org>; Tue, 21 Oct 2025 06:30:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 20041c07-ae82-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1761053435;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=Q8G6fSfFVaONhcxA1DHI9VcxajpmfGw7mPN/aSeM7JQ=;
	b=TYLMtjQiwwzASnf/uHR/Nu07AIpDho0lr/i7SQhIqrIWdzujJPpplh3/mpczznacvYXScq
	M7WjQA+wygu/MmS8tF/uUGpkAMeUdNsMXKfmDj25X1N1r3TaPI9wp2892+LNXSC8oES8z0
	+TSfK8ZeuODX1Epw3esi1xbKFKZkvh0=
X-MC-Unique: y5eDbybCOZ-iAdc-ht_x2w-1
X-Mimecast-MFC-AGG-ID: y5eDbybCOZ-iAdc-ht_x2w_1761053430
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761053430; x=1761658230;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=Q8G6fSfFVaONhcxA1DHI9VcxajpmfGw7mPN/aSeM7JQ=;
        b=umgjZgSLodCiiVK+urGmJOucQmY9k1Jn8tcLqQT59S4/eU8Kqx8Cb2E85Xejp6VMf0
         AoDziP45TqjC+onDWmX+O2HWqXk4KwxrSPX6B17fVDwR7r9IJjSAIRFAi5OSDiLaTgcn
         j6A7tJAS/qP9ZABXHF06l3NvB44XVItn5T7cvZoHODrFQE9gI++4d2tPmXQzjLPzPFsP
         KuGNvkbDpC5RFQmHlBhqL/z53ot1OH8XlnC//jzWFaUjK254JbuA0pBmw6dq/lRTajni
         HjHFSYVfQvmUzKh2AR6mIC1ljZHq5jlO7qzmBBM5Gmfeg9pPgcCXhK6VXra+F2fouERH
         E9Tw==
X-Forwarded-Encrypted: i=1; AJvYcCXnsFdIuxxpXo1UZUqtj2UBDRHj84Ss7KWZvDwhrDcy6kgKQryQ/6Yi3MQSxye6XYqEJOCeDhvWPpI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzSbPcfV4bOICO55dFc23PoedcAL2EKIUr02lBklpLHBLkOwIG1
	Qr/hY16T+jfS4ciZm3Y0BcVWE68apr5G9+STOV5MQcuu2A+Icjqt4oGJoJNZsviou66IDg9EO1x
	eGv21sMrWV04Qah/cy64w9AROGpwCiYou/P1qC4vR7dKMoIJb1rhEN+xc+B9o0hhz7+M7zcb3ZK
	c2Dkd/oRUvjldBlGdVCI82164a7zUJv+ub2czPH8kgMs8=
X-Gm-Gg: ASbGncvEuq4zLls706QWWhYCdZub6VcgjpTQJNd6EaqupKXPeqnKeYlWdFkSuVIt2h/
	7EifnT2r8JlIPTPjmiPU3wdkjJ8mVN7Z4bkhYpWxdb5kt1w1h9+y8u6Z0pss2udZAwGK2tCbUd3
	Kd3zV8Xse6UGgHJm2e8Xn5GXmT5ttVm//6hPLIjdfCt2ShbODhf8/1SifNO1nEbksV+KBIidw5f
	C7cA0hIN//RCTs=
X-Received: by 2002:a17:90b:3ec6:b0:339:ef05:3575 with SMTP id 98e67ed59e1d1-33bcf8f94c3mr25685614a91.26.1761053430081;
        Tue, 21 Oct 2025 06:30:30 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IGrcrzdwZmuF2cCRqH2vToyJMLy2bHoJ+Kx9jzECaxXzAzohnouc6v8JutWnCy0AcLWb81s8PtUoo7SVr1fd6U=
X-Received: by 2002:a17:90b:3ec6:b0:339:ef05:3575 with SMTP id
 98e67ed59e1d1-33bcf8f94c3mr25685486a91.26.1761053429385; Tue, 21 Oct 2025
 06:30:29 -0700 (PDT)
MIME-Version: 1.0
References: <20251021122533.721467-1-marcandre.lureau@redhat.com> <01a51fe7-4414-e787-ddf5-5ede0c1e1e74@eik.bme.hu>
In-Reply-To: <01a51fe7-4414-e787-ddf5-5ede0c1e1e74@eik.bme.hu>
From: =?UTF-8?B?TWFyYy1BbmRyw6kgTHVyZWF1?= <marcandre.lureau@redhat.com>
Date: Tue, 21 Oct 2025 17:30:18 +0400
X-Gm-Features: AS18NWC-i6fdjk32NEoXZbM96aNPF-p1sZDoFKybRPcKVdB4OOANWfiaSgrGQ2I
Message-ID: <CAMxuvaz8GueSp-vPHFWnbv+Odcy63Cz_hZHd3NzReWXp3pnsqg@mail.gmail.com>
Subject: Re: [PATCH] char: rename CharBackend->CharFrontend
To: BALATON Zoltan <balaton@eik.bme.hu>
Cc: qemu-devel@nongnu.org, pbonzini@redhat.com, 
	"Michael S. Tsirkin" <mst@redhat.com>, Stefano Garzarella <sgarzare@redhat.com>, 
	"Gonglei (Arei)" <arei.gonglei@huawei.com>, Zhenwei Pi <pizhenwei@bytedance.com>, 
	Laurent Vivier <lvivier@redhat.com>, Amit Shah <amit@kernel.org>, 
	Stefan Berger <stefanb@linux.vnet.ibm.com>, =?UTF-8?B?QWxleCBCZW5uw6ll?= <alex.bennee@linaro.org>, 
	=?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= <philmd@linaro.org>, 
	Peter Maydell <peter.maydell@linaro.org>, Igor Mitsyanko <i.mitsyanko@gmail.com>, 
	=?UTF-8?Q?Cl=C3=A9ment_Chigot?= <chigot@adacore.com>, 
	Frederic Konrad <konrad.frederic@yahoo.fr>, Alberto Garcia <berto@igalia.com>, 
	Thomas Huth <huth@tuxfamily.org>, Halil Pasic <pasic@linux.ibm.com>, 
	Christian Borntraeger <borntraeger@linux.ibm.com>, Jason Herne <jjherne@linux.ibm.com>, 
	Yoshinori Sato <yoshinori.sato@nifty.com>, Magnus Damm <magnus.damm@gmail.com>, 
	Nicholas Piggin <npiggin@gmail.com>, Harsh Prateek Bora <harshpb@linux.ibm.com>, 
	"Collin L. Walling" <walling@linux.ibm.com>, Stefano Stabellini <sstabellini@kernel.org>, 
	Anthony PERARD <anthony@xenproject.org>, Paul Durrant <paul@xen.org>, 
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>, Alistair Francis <alistair@alistair23.me>, 
	=?UTF-8?Q?Daniel_P=2E_Berrang=C3=A9?= <berrange@redhat.com>, 
	Eduardo Habkost <eduardo@habkost.net>, Corey Minyard <minyard@acm.org>, 
	Paul Burton <paulburton@kernel.org>, Aleksandar Rikalo <arikalo@gmail.com>, 
	Aurelien Jarno <aurelien@aurel32.net>, Palmer Dabbelt <palmer@dabbelt.com>, 
	Weiwei Li <liwei1518@gmail.com>, Daniel Henrique Barboza <dbarboza@ventanamicro.com>, 
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>, 
	Samuel Thibault <samuel.thibault@ens-lyon.org>, Michael Rolnik <mrolnik@gmail.com>, 
	Antony Pavlov <antonynpavlov@gmail.com>, Joel Stanley <joel@jms.id.au>, 
	Vijai Kumar K <vijai@behindbytes.com>, Samuel Tardieu <sam@rfc1149.net>, 
	Gustavo Romero <gustavo.romero@linaro.org>, Raphael Norwitz <raphael@enfabrica.net>, 
	Stefan Hajnoczi <stefanha@redhat.com>, "reviewer:vhost-user-scmi" <mzamazal@redhat.com>, 
	Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp>, 
	Dmitry Osipenko <dmitry.osipenko@collabora.com>, Fabiano Rosas <farosas@suse.de>, 
	Markus Armbruster <armbru@redhat.com>, "Dr. David Alan Gilbert" <dave@treblig.org>, Zhang Chen <zhangckid@gmail.com>, 
	Li Zhijian <lizhijian@fujitsu.com>, Jason Wang <jasowang@redhat.com>, 
	Manos Pitsidianakis <manos.pitsidianakis@linaro.org>, 
	Richard Henderson <richard.henderson@linaro.org>, Helge Deller <deller@gmx.de>, 
	Max Filippov <jcmvbkbc@gmail.com>, Lukas Straub <lukasstraub2@web.de>, 
	"open list:Sharp SL-5500 Co..." <qemu-arm@nongnu.org>, 
	"open list:S390 SCLP-backed..." <qemu-s390x@nongnu.org>, "open list:sPAPR (pseries)" <qemu-ppc@nongnu.org>, 
	"open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>, 
	"open list:RISC-V TCG CPUs" <qemu-riscv@nongnu.org>, "open list:virtiofs" <virtio-fs@lists.linux.dev>, 
	"open list:Rust-related patc..." <qemu-rust@nongnu.org>
X-Mimecast-Spam-Score: 0
X-Mimecast-MFC-PROC-ID: _VCx4hn6n4NYWc2pfHUAcDtUb3sc_cMAgNGnPEiHdrk_1761053430
X-Mimecast-Originator: redhat.com
Content-Type: multipart/alternative; boundary="00000000000016e15b0641ab341a"

--00000000000016e15b0641ab341a
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi

On Tue, Oct 21, 2025 at 5:25=E2=80=AFPM BALATON Zoltan <balaton@eik.bme.hu>=
 wrote:

> On Tue, 21 Oct 2025, marcandre.lureau@redhat.com wrote:
> > From: Marc-Andr=C3=A9 Lureau <marcandre.lureau@redhat.com>
> >
> > /**
> > - * struct CharBackend - back end as seen by front end
> > + * struct CharFrontend - back end as seen by front end
>
> I stopped here, haven't read the rest of the patch but the above comment
> seems to become inconsistent. Which is the front end and back end now?
>
>
It's the "frontend side" of a chardev "backend". Naming it CharBackend has
always been the source of confusion, since the actual backend is Chardev.
There was earlier attempt to rename it and various complains. I believe
this is is long overdue.

--00000000000016e15b0641ab341a
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr">Hi</div><br><div class=3D"gmail_quote gma=
il_quote_container"><div dir=3D"ltr" class=3D"gmail_attr">On Tue, Oct 21, 2=
025 at 5:25=E2=80=AFPM BALATON Zoltan &lt;<a href=3D"mailto:balaton@eik.bme=
.hu">balaton@eik.bme.hu</a>&gt; wrote:<br></div><blockquote class=3D"gmail_=
quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,=
204);padding-left:1ex">On Tue, 21 Oct 2025, <a href=3D"mailto:marcandre.lur=
eau@redhat.com" target=3D"_blank">marcandre.lureau@redhat.com</a> wrote:<br=
>
&gt; From: Marc-Andr=C3=A9 Lureau &lt;<a href=3D"mailto:marcandre.lureau@re=
dhat.com" target=3D"_blank">marcandre.lureau@redhat.com</a>&gt;<br>&gt;<br>
&gt; /**<br>
&gt; - * struct CharBackend - back end as seen by front end<br>
&gt; + * struct CharFrontend - back end as seen by front end<br>
<br>
I stopped here, haven&#39;t read the rest of the patch but the above commen=
t <br>
seems to become inconsistent. Which is the front end and back end now?<br><=
br></blockquote><div><br></div><div>It&#39;s the &quot;frontend side&quot; =
of a chardev &quot;backend&quot;. Naming it CharBackend has always been the=
 source of confusion, since the actual backend is Chardev. There was earlie=
r attempt to rename it and various complains. I believe this is is long ove=
rdue.</div></div></div>

--00000000000016e15b0641ab341a--



From xen-devel-bounces@lists.xenproject.org Tue Oct 21 13:31:18 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Oct 2025 13:31:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1147185.1479458 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBCSM-0004Do-IZ; Tue, 21 Oct 2025 13:31:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1147185.1479458; Tue, 21 Oct 2025 13:31:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBCSM-0004Dh-Fh; Tue, 21 Oct 2025 13:31:18 +0000
Received: by outflank-mailman (input) for mailman id 1147185;
 Tue, 21 Oct 2025 13:31:17 +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
 <SRS0=TpUL=46=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1vBCSK-0003l8-SS
 for xen-devel@lists.xenproject.org; Tue, 21 Oct 2025 13:31:17 +0000
Received: from GVXPR05CU001.outbound.protection.outlook.com
 (mail-swedencentralazlp170130007.outbound.protection.outlook.com
 [2a01:111:f403:c202::7])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3778c55b-ae82-11f0-9d15-b5c5bf9af7f9;
 Tue, 21 Oct 2025 15:31:15 +0200 (CEST)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by PA4PR03MB8271.eurprd03.prod.outlook.com (2603:10a6:102:271::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.12; Tue, 21 Oct
 2025 13:24:34 +0000
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593]) by AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593%3]) with mapi id 15.20.9228.016; Tue, 21 Oct 2025
 13:24:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3778c55b-ae82-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=TuvngszkDyElHzYXOk2ySwixI+dx3TR3f5B/mjVNNOZL1qRvTN+u12OYow6dWiphnqHS4eWcNJDbZbgFPMWYzE+h4sGxxsCXtIZlV9m/RTXb8oyZ0Ua54MQVbS0KwFZojqbHslZISwnUTF5XA64GlnT+/ZkUxPoaDZazIaolS6pdlcTzqDvQXz0sqDA7iTNbfea0RaTxtDos2EAtRQ52LPovF2MvRIGCem3wVyH1Tvf8scCST6zLUvye92qBjWPGwhnjzDtDuzRaHRsnzkzSbJR/8xGY8a6wMUCgQBt+iO8M9UlYWtdVst0pB/gxYnExnfkLCa2zQsIwbXU/wt1RaQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7MCQ6yF7y2Sz8aPUUQ+8LMfjwgj5AzYkrB9mgTF8An4=;
 b=L7QH7VgiSkjxsLJWZKDVn4ZZU63lpJ/3QanXvWm+0XnAT8LFc05Z6LNaIWbQBiAt2ShGIaChezsFdB8BYRm1Lb0l54un9I9oHlh7danddRi9gbPNxHW+CJCfjjN9/L4gefl3bouPSpaEjXlv9comGiaRi43YkhwPfYborXA2gIoIUgRLoI+oLRXtjGaQ7XMXkZKL1Nr7IDDOtN6KJ13blCoYk2krnubcZtrkmx/+0OgtLUg0zhcawSu75rsjuvzqpaYvoxxY0mD2W1HJmG81/R6U9vLOp+tRN80KFynilHoxkd70Sj7WDK2qCEdCYfnQLZyhvTz1ttAIYfRUGvf1oA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7MCQ6yF7y2Sz8aPUUQ+8LMfjwgj5AzYkrB9mgTF8An4=;
 b=kpyDPR90psDfW6T8mh1yq5hnMtJm//w9m6SK8GG2SV/PDIZ02bJqHff9SY0wW5nQIfKCvgI7KcmfP0dOjNBa1YcFdA+B+mOBaEBymxmPlpzOTDerMnkR7ppwmNWHpsBVGwSOn9F7pcG/ERbRHpi9YeXF5ccXkQSVlRX9S96tJsQuKAUMrceGOGQaNPMM/zORCrX71iq2SVUBqUybTt9dOfujyYe+ryaI5w9sbEKykXPBMC+uBZENKJ2Nzd+fmNAdLl345OlgA1w1qfKxe6iOETmXq5G1R86RGZjGNJ2FJUvwZCmfg4HnaJgA9XTZNWXwq6ttagCwjTiiRQtb/cdGPQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <e7f54b7c-e285-400d-bebf-699ae211ee83@epam.com>
Date: Tue, 21 Oct 2025 16:24:32 +0300
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 09/28] xen/vm_event: consolidate CONFIG_VM_EVENT
To: Penny Zheng <Penny.Zheng@amd.com>, xen-devel@lists.xenproject.org
Cc: ray.huang@amd.com, oleksii.kurochko@gmail.com,
 Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Tamas K Lengyel <tamas@tklengyel.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
 <20251013101540.3502842-10-Penny.Zheng@amd.com>
Content-Language: en-US
From: Grygorii Strashko <grygorii_strashko@epam.com>
In-Reply-To: <20251013101540.3502842-10-Penny.Zheng@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0041.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::17) To AS2PR03MB8907.eurprd03.prod.outlook.com
 (2603:10a6:20b:5e4::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS2PR03MB8907:EE_|PA4PR03MB8271:EE_
X-MS-Office365-Filtering-Correlation-Id: 45c4f362-1933-4521-d71a-08de10a52cfb
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|1800799024|7416014|366016|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?UkRhNktVSW15a01IMjFIWDVrR2k1ZDdPUHBHQ1JJTXV5MERvLzVlOWJFMkht?=
 =?utf-8?B?OWxQTy8zNzZvcUlFT05Weld4N0RYQ3VGTzFrWUdPL3IyVjM3QUZwdmlwMDFC?=
 =?utf-8?B?dFdPYW1VeFc0aDZqUExuUFptN2hzK2RpbXVOdGVZSzRiTXQycjAxd1B4OXU3?=
 =?utf-8?B?bUpFUldKazdOSFkrMDhiRzE1dXF3c05UV2tya3dLR1M2dFNuZlp5ZjZpYnBx?=
 =?utf-8?B?K1FTajkreFZBNTlVMzI4UGxqU1NERStBSCs1RmtmZ0NKSFJGSDF3d2pobnYr?=
 =?utf-8?B?alVvamNyRXJRZ08zSWpBcllFTzNGYTd3UlN1Wnl4QlhFZlpSR2MwNWhBc3JQ?=
 =?utf-8?B?bUdhNGswMnkvRmdNd09qcURUemZIWm9qajZzWklNcFVwRE02c0xCd3g5d1RZ?=
 =?utf-8?B?OWREMkJjMTNCd3VKeFBLQ0FGV05ZN2w0YXI3TnhvMUYrMGtjNGREekl1ektS?=
 =?utf-8?B?QUZyUWdLRnY4LytPd0ZhenlEZERZUFNmR3Mwb21rUE5Uc3E2eEZKZ1FmSm11?=
 =?utf-8?B?b1ZsdXlpeHJiQm1QMUJhUDh2VTNKaXlVM2xma3pYYzEwMmJFb3M3NGduRVl4?=
 =?utf-8?B?N0lTd3MvTG50SlNXMTJDbGZTMXdSRG9KSFVTZXkzOTRDeHdsR2lPMm15QzA5?=
 =?utf-8?B?emNWbFZkRWo3aWtUSmFvUFk1czFnQ21KOUdaQVFUeC9TZ0pvT1ZmTUZvazhq?=
 =?utf-8?B?c0liRmNvLzd5dlBuM2VzZkhmTFRlWWk3MElRYWhBNEVDQUtXSXgvajE4RmMr?=
 =?utf-8?B?SmxvVVJMRVNvZVFMNFM1UUxWRGV5MFNJZjdzTkxzeVNEamxNUW9Tc3BvdmFz?=
 =?utf-8?B?bmlzZzFyaCt3OSthWmFPZGc3TGhUOUNnL1ovblVaOVpDTzVqK3M1aFBhTGFP?=
 =?utf-8?B?bGJRZmZ5THR4VC9lelVSNG1UU2h2cnowZzRhaE8zQlhJYU5sa1lmU0VPQVBX?=
 =?utf-8?B?MTNkSmduU1YyUWxVQkg4dTVWL2RSQlFac3JwRjJ5N3hoWTV1Mnk4UVZOQ1By?=
 =?utf-8?B?ZFhvMkJZNTNxdWFJdlJYdmFDOHI3a0JIT210TDZxWFppYndpSElZSjZITWhn?=
 =?utf-8?B?Z2ZSTkJ3ZmhDZGdkMTA1OXZWb1lYbDhwNFhrS1F0NDh5NUJIOW4vc2ZqMllB?=
 =?utf-8?B?dzltdWNGcDF6NURuQnNZSDZQWXNVNVphWkpZTVBUd1Y5RGZ4VzZNdzJxSGlu?=
 =?utf-8?B?K2sxUHlWMEdUS2lyNVVKQVM0cisyK3VndGtuU2FTaldnakFUZVFNOVUrSkM1?=
 =?utf-8?B?d2JoMWVwZDYvb1RZbGZyV00xSE1qK1pmVkM3T2Zxa0FjNmRodVB6WXREYlps?=
 =?utf-8?B?Q0l4cTZpQVFmTkgwaTNaa21MR3hqN2lLNUZTRHpvWHY3KzFHb1pnMnNLYys0?=
 =?utf-8?B?Snh3OEwrQlhCNlpUeTNDd2hZWDFBdXptMVpjNkpyUW1FcEdERkNSZFFqbnVy?=
 =?utf-8?B?bTlsb2kvQzIrS0xDVTlNc2Q3OElqNW9KSUdpcHd0azB4dWkwam9VVXBJdExW?=
 =?utf-8?B?VDR5MFlISzJaTTdncXEwVUhDdUtBRWNUOFVuOU5WK3RsQWFmQ3RSWWJxVHlW?=
 =?utf-8?B?cU9MNXVWQVJ1Y2J0L1ZuWlpvWU14eWNqekl6cStSNjR6enAxRlFjOWlTL1Qy?=
 =?utf-8?B?UXM2Q2VGUXUvZVRmQUJBOWhYOVJyUDVPK3EyQ2YvdFhYTm95Sko2bFFXdHp0?=
 =?utf-8?B?bWpRZFR6Yy8vL2JKYmNoZjU1Q2szeWxWM2Q5ODBsWnNMbHVhdFFDR09oRUtY?=
 =?utf-8?B?VkJZbURoN1VlbDdWVGN6Skgwc2o4SjVhVGJ3WW1oekhVeUd6Q0ZBOVhUWHNm?=
 =?utf-8?B?Y1h6UEM2RjVVenphSzVSSW5nTjU5U1l0NVlMOVUvZE1VVDF2S21palJxTGlF?=
 =?utf-8?B?dGNBelF0cjJPTEp4SGszRlFkZkUyNEF4UE55eVRETGdhc0N6Z0wzQ3pJNUFV?=
 =?utf-8?Q?c4nfDstBY+Ivu5oqnH/J//VwIJl1Krv9?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS2PR03MB8907.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(7416014)(366016)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QVhJUy80cTRvcllhUHBaOEU5eFV0Zkx5cXpmWlg1cXZQWkcvcFFwUVkzVktX?=
 =?utf-8?B?S0dUSElLbE9kMGQyak9SL042OHZMOVZPZno5bEVXUUlWK0NHbmZsWDNxd0Ro?=
 =?utf-8?B?Yy9sNzZHYmNqZ2FXS2VYbytJUUlUTEtkNWF4UkYwZWYydE9MdkNaeUtReDc1?=
 =?utf-8?B?dlF6ZVc1V2RmOUdlSzBSODBwemlTR0JpdlBtNjJrT1M2Q3h5ckhzMExDVmxl?=
 =?utf-8?B?YmcxeTE4aFh4UEdIc0t6Q2Q3cDVhcjl0SWR2b3NaSFBIOWorUEllaHViLytL?=
 =?utf-8?B?YXA1VENkQ3ppYXlpQUs3MGJiWTVHaVFVamFTT0owNTBiYmtwTjIvcEtlakI2?=
 =?utf-8?B?dVlFZmZyN2hrOWNPVzFlZ3JGQ1dHeFU0VG90cUdnZ0ZKWUdMNy9sVHBlbzlu?=
 =?utf-8?B?ZTlqUHZZaGdmZklZU20yVkFmYmVUY0ZWV0twK0o3Q05KUlhqL3dkRWdUeEUz?=
 =?utf-8?B?VHhKNmczM1d1QnYwakZrRDNLc0h5M3BnVmhSb25nZUZUVXZFVW83Ni9kaVkz?=
 =?utf-8?B?TktkRHZWbUJiUEFsVndHUHppLzBmZ0dQWUNrL3hZZmhockgwc2lSazZ6MUNq?=
 =?utf-8?B?ZEtBdnl4THpiMHdZR3VFQ0t3alNKVWF1anlYSGFBam8ydERhWVdaVHU1Q2R2?=
 =?utf-8?B?SnBnbjZxUmg2VjNKVkpKZTFsdGdzcURPazFtTjZML0ZxbklPRGZhRFd3bzZW?=
 =?utf-8?B?aThSamVWWklKbi9EVzNwNTFPZGcxbGRkdmYweWsvcjFtY3ZXWnBOb0JLWHFH?=
 =?utf-8?B?N2R4dG4rRTFjVHZqSkJDS0F4MGVQN3VuZHlsR1NwZ051THk3dUlibHp0UEZL?=
 =?utf-8?B?Z3Uwc3ViTnlrbG9DZktwNUxkSW5idU1xT2VLYTV4TDNEN1dmc2V2VHUwVWdP?=
 =?utf-8?B?dDQzWEhySitQV01OTXkybjhidVdXSDVCQklxTFZSK3NnT2RNR0NndWZEMWdo?=
 =?utf-8?B?cXRRc2p6Z3V2TXlFM0huaENZbTlQcGRTV1M5UExFUFZkSEY5QnF2ODZNWEM1?=
 =?utf-8?B?QXNoNjFic1FXQ2RWY3E0cmMrQm14d1BKbllWWGNtM1Mzc3BzMklqSVBnRXo4?=
 =?utf-8?B?MjJNdGh5YWdrQ0pkRUVXTGhMWjNhZXo0bW5ja2dwMWZrRDRGRWxPU3h6M3hi?=
 =?utf-8?B?ZW1VclhLeFlQcjh1SXVEd2RWTWdmeGpIKzR6TkFuOFJVNzhWazloQ3V0TW1s?=
 =?utf-8?B?TDIvbllSQXljRnlqVVVGNnB3RHAzR3VtOTdQSGVLYzAwZ1grTHJvNnpZQnkz?=
 =?utf-8?B?TTV3MHcraDYycjdhSmpDTjNMUmNnQW1zQ1NVc0JMelpvSDdRaTlvK3NLeFVK?=
 =?utf-8?B?eUNCbjJRbFU3eEwra1RyRHpxVkxXdXdZTWx0Qjc3QUZYUFIxVVM0Y1k1ZUpM?=
 =?utf-8?B?R2Iycm55RVkzZHRNTEJLb1ZaWnk5UlQ3bHdkT2RBc05obHczNXNkSWR2SHJs?=
 =?utf-8?B?anZ2cmFna0ZyVk9LNHJJVjZsT0paMXJOa01EK2JCWU4rUndFSFhwZjFsUjBP?=
 =?utf-8?B?aFZTYTdmdGlvWEt2b0twN0xVNHJVQ3ZjZmpXOU95OE1GKzZrRmtyUkJ5citU?=
 =?utf-8?B?Z3o2MWl1eC91VzBmMTcyYWFreUhJeUJtZnVhZ2lhcTZwRkdjeGlXMzZseXdj?=
 =?utf-8?B?Q1lCQjJtMjJVWENhcmhYOW9CYjNtRzFGUFZxQ0lOQU15OVlqNFVFSmszNE52?=
 =?utf-8?B?UmhJYTQvTXZrNnZBVGVRbWUxcDVwMWZpY3dpQTlUUXljV0U4K3NLeXdLdWV5?=
 =?utf-8?B?eG02Q0N6VFNKWTZ3RmdMeTd0S0p5T1Z0WFNNeHo0bHRjbUJBcnFLenBCV0tp?=
 =?utf-8?B?ekU1TW5va2RyamhmUUppdkQzWWQ0Z216SmNWSys3YUZ1WVJxUFQ2Y1QvTVk0?=
 =?utf-8?B?TGkrbERJQnBtaE03eDdmTGhtNEJiaDgrS2F3a1RwdU9INWJramZaVjNwNmg1?=
 =?utf-8?B?UzZKWDJQaEhTMlBDVU5xUnRnSlJRaWYza1RGdkdWTU1rc0pDM0h3QmRvTFB1?=
 =?utf-8?B?R3FuMHNIZGVHa3hEQUJwWkJLVVNpbkJRQ0l0Mytyek5YNzFwb3hSeUZ6cUtT?=
 =?utf-8?B?MVloRm5vaklvbmh5emV4YjRaZWo0ek4xSmRmQnFMeXlHWWxsZ3B0bEZXdnRr?=
 =?utf-8?B?dlc1TEhiVDlnZGZoVkYxTm5XSEJFQ1A0SVBOaHMvZ0p5YzdVMFNmQTNHVnov?=
 =?utf-8?B?RGc9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 45c4f362-1933-4521-d71a-08de10a52cfb
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Oct 2025 13:24:34.5753
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: OqFlK+IUDywFvtP9uuLZ+fWUGC6WDGEfoU7x5ngm4WLvF0UT8USXgqZvPbLpWSCVneLOyCdgOB+Z4jupcldZNTC0c5Nn6gNovtzV56QrhGY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR03MB8271

Hi

On 13.10.25 13:15, Penny Zheng wrote:
> File hvm/vm_event.c and x86/vm_event.c are the extend to vm_event handling
> routines, and its compilation shall be guarded by CONFIG_VM_EVENT too.
> Futhermore, features about monitor_op and memory access are both based on
> vm event subsystem, so monitor.o/mem_access.o shall be wrapped under
> CONFIG_VM_EVENT.
> 
> Although CONFIG_VM_EVENT is right now forcibly enabled on x86 via
> MEM_ACCESS_ALWAYS_ON, we could disable it through disabling
> CONFIG_MGMT_HYPERCALLS later. So we remove MEM_ACCESS_ALWAYS_ON and
> make VM_EVENT=y on default only on x86 to retain the same.
> 
> In consequence, a few switch-blocks need in-place stubs in do_altp2m_op()
> to pass compilation when ALTP2M=y and VM_EVENT=n(, hence MEM_ACCESS=n), like
> HVMOP_altp2m_set_mem_access, etc.
> And the following functions still require stubs to pass compilation:
> - vm_event_check_ring()
> - p2m_mem_access_check()
> - xenmem_access_to_p2m_access()
> 
> The following functions are developed on the basis of vm event framework, or
> only invoked by vm_event.c/monitor.c/mem_access.c, so they all shall be
> wrapped with CONFIG_VM_EVENT (otherwise they will become unreachable and
> violate Misra rule 2.1 when VM_EVENT=n):
> - hvm_toggle_singlestep
> - hvm_fast_singlestep
> - hvm_enable_msr_interception
>    - hvm_function_table.enable_msr_interception
> - hvm_has_set_descriptor_access_existing
>    - hvm_function_table.set_descriptor_access_existing
> - arch_monitor_domctl_op
> - arch_monitor_allow_userspace
> - arch_monitor_get_capabilities
> - hvm_emulate_one_vm_event
> - hvmemul_write{,cmpxchg,rep_ins,rep_outs,rep_movs,rep_stos,read_io,write_io}_discard
> 
> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
> ---
> v1 -> v2:
> - split out XSM changes
> - remove unnecessary stubs
> - move "struct p2m_domain" declaration ahead of the #ifdef
> ---
> v2 -> v3:
> - move .enable_msr_interception and .set_descriptor_access_exiting together
> - with the introduction of "vm_event_is_enabled()", all hvm_monitor_xxx()
> stubs are no longer needed
> - change to use in-place stubs in do_altp2m_op()
> - no need to add stub for monitor_traps(), __vm_event_claim_slot(),
> vm_event_put_request() and vm_event_vcpu_pause()
> - remove MEM_ACCESS_ALWAYS_ON
> - return default p2m_access_rwx for xenmem_access_to_p2m_access() when
> VM_EVENT=n
> - add wrapping for hvm_emulate_one_vm_event/
> hvmemul_write{,cmpxchg,rep_ins,rep_outs,rep_movs,rep_stos,read_io,write_io}_discard
> ---
>   xen/arch/x86/Makefile                 |  2 +-
>   xen/arch/x86/hvm/Kconfig              |  1 -
>   xen/arch/x86/hvm/Makefile             |  4 +-
>   xen/arch/x86/hvm/emulate.c            | 58 ++++++++++++++-------------
>   xen/arch/x86/hvm/hvm.c                | 21 ++++++++++
>   xen/arch/x86/hvm/svm/svm.c            |  8 +++-
>   xen/arch/x86/hvm/vmx/vmx.c            | 10 +++++
>   xen/arch/x86/include/asm/hvm/hvm.h    |  9 ++++-
>   xen/arch/x86/include/asm/mem_access.h |  9 +++++
>   xen/arch/x86/include/asm/monitor.h    |  9 +++++
>   xen/common/Kconfig                    |  7 +---
>   xen/include/xen/mem_access.h          | 10 +++++
>   xen/include/xen/vm_event.h            |  7 ++++
>   13 files changed, 116 insertions(+), 39 deletions(-)
> 
> diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
> index 0f91ffcb9d..615cd101b8 100644
> --- a/xen/arch/x86/Makefile
> +++ b/xen/arch/x86/Makefile
> @@ -76,7 +76,7 @@ obj-y += usercopy.o
>   obj-y += x86_emulate.o
>   obj-$(CONFIG_TBOOT) += tboot.o
>   obj-y += hpet.o
> -obj-y += vm_event.o
> +obj-$(CONFIG_VM_EVENT) += vm_event.o
>   obj-y += xstate.o
>   
>   ifneq ($(CONFIG_PV_SHIM_EXCLUSIVE),y)
> diff --git a/xen/arch/x86/hvm/Kconfig b/xen/arch/x86/hvm/Kconfig
> index 5cb9f29042..e6b388dd0e 100644
> --- a/xen/arch/x86/hvm/Kconfig
> +++ b/xen/arch/x86/hvm/Kconfig
> @@ -3,7 +3,6 @@ menuconfig HVM
>   	default !PV_SHIM
>   	select COMPAT
>   	select IOREQ_SERVER
> -	select MEM_ACCESS_ALWAYS_ON
>   	help
>   	  Interfaces to support HVM domains.  HVM domains require hardware
>   	  virtualisation extensions (e.g. Intel VT-x, AMD SVM), but can boot
> diff --git a/xen/arch/x86/hvm/Makefile b/xen/arch/x86/hvm/Makefile
> index 6ec2c8f2db..952db00dd7 100644
> --- a/xen/arch/x86/hvm/Makefile
> +++ b/xen/arch/x86/hvm/Makefile
> @@ -16,7 +16,7 @@ obj-y += io.o
>   obj-y += ioreq.o
>   obj-y += irq.o
>   obj-y += mmio.o
> -obj-y += monitor.o
> +obj-$(CONFIG_VM_EVENT) += monitor.o
>   obj-y += mtrr.o
>   obj-y += nestedhvm.o
>   obj-y += pmtimer.o
> @@ -26,7 +26,7 @@ obj-y += save.o
>   obj-y += stdvga.o
>   obj-y += vioapic.o
>   obj-y += vlapic.o
> -obj-y += vm_event.o
> +obj-$(CONFIG_VM_EVENT) += vm_event.o
>   obj-y += vmsi.o
>   obj-y += vpic.o
>   obj-y += vpt.o
> diff --git a/xen/arch/x86/hvm/emulate.c b/xen/arch/x86/hvm/emulate.c
> index fe75b0516d..d56ef02baf 100644
> --- a/xen/arch/x86/hvm/emulate.c
> +++ b/xen/arch/x86/hvm/emulate.c
> @@ -1615,6 +1615,7 @@ static int cf_check hvmemul_blk(
>       return rc;
>   }
>   
> +#ifdef CONFIG_VM_EVENT
>   static int cf_check hvmemul_write_discard(
>       enum x86_segment seg,
>       unsigned long offset,
> @@ -1717,6 +1718,7 @@ static int cf_check hvmemul_cache_op_discard(
>   {
>       return X86EMUL_OKAY;
>   }
> +#endif /* CONFIG_VM_EVENT */
>   
>   static int cf_check hvmemul_cmpxchg(
>       enum x86_segment seg,
> @@ -2750,33 +2752,6 @@ static const struct x86_emulate_ops hvm_emulate_ops = {
>       .vmfunc        = hvmemul_vmfunc,
>   };
>   
> -static const struct x86_emulate_ops hvm_emulate_ops_no_write = {
> -    .read          = hvmemul_read,
> -    .insn_fetch    = hvmemul_insn_fetch,
> -    .write         = hvmemul_write_discard,
> -    .cmpxchg       = hvmemul_cmpxchg_discard,
> -    .rep_ins       = hvmemul_rep_ins_discard,
> -    .rep_outs      = hvmemul_rep_outs_discard,
> -    .rep_movs      = hvmemul_rep_movs_discard,
> -    .rep_stos      = hvmemul_rep_stos_discard,
> -    .read_segment  = hvmemul_read_segment,
> -    .write_segment = hvmemul_write_segment,
> -    .read_io       = hvmemul_read_io_discard,
> -    .write_io      = hvmemul_write_io_discard,
> -    .read_cr       = hvmemul_read_cr,
> -    .write_cr      = hvmemul_write_cr,
> -    .read_xcr      = hvmemul_read_xcr,
> -    .write_xcr     = hvmemul_write_xcr,
> -    .read_msr      = hvmemul_read_msr,
> -    .write_msr     = hvmemul_write_msr_discard,
> -    .cache_op      = hvmemul_cache_op_discard,
> -    .tlb_op        = hvmemul_tlb_op,
> -    .cpuid         = x86emul_cpuid,
> -    .get_fpu       = hvmemul_get_fpu,
> -    .put_fpu       = hvmemul_put_fpu,
> -    .vmfunc        = hvmemul_vmfunc,
> -};
> -
>   /*
>    * Note that passing VIO_no_completion into this function serves as kind
>    * of (but not fully) an "auto select completion" indicator.  When there's
> @@ -2887,6 +2862,34 @@ int hvm_emulate_one(
>       return _hvm_emulate_one(hvmemul_ctxt, &hvm_emulate_ops, completion);
>   }
>   
> +#ifdef CONFIG_VM_EVENT
> +static const struct x86_emulate_ops hvm_emulate_ops_no_write = {
> +    .read          = hvmemul_read,
> +    .insn_fetch    = hvmemul_insn_fetch,
> +    .write         = hvmemul_write_discard,
> +    .cmpxchg       = hvmemul_cmpxchg_discard,
> +    .rep_ins       = hvmemul_rep_ins_discard,
> +    .rep_outs      = hvmemul_rep_outs_discard,
> +    .rep_movs      = hvmemul_rep_movs_discard,
> +    .rep_stos      = hvmemul_rep_stos_discard,
> +    .read_segment  = hvmemul_read_segment,
> +    .write_segment = hvmemul_write_segment,
> +    .read_io       = hvmemul_read_io_discard,
> +    .write_io      = hvmemul_write_io_discard,
> +    .read_cr       = hvmemul_read_cr,
> +    .write_cr      = hvmemul_write_cr,
> +    .read_xcr      = hvmemul_read_xcr,
> +    .write_xcr     = hvmemul_write_xcr,
> +    .read_msr      = hvmemul_read_msr,
> +    .write_msr     = hvmemul_write_msr_discard,
> +    .cache_op      = hvmemul_cache_op_discard,
> +    .tlb_op        = hvmemul_tlb_op,
> +    .cpuid         = x86emul_cpuid,
> +    .get_fpu       = hvmemul_get_fpu,
> +    .put_fpu       = hvmemul_put_fpu,
> +    .vmfunc        = hvmemul_vmfunc,
> +};
> +
>   void hvm_emulate_one_vm_event(enum emul_kind kind, unsigned int trapnr,
>       unsigned int errcode)
>   {
> @@ -2949,6 +2952,7 @@ void hvm_emulate_one_vm_event(enum emul_kind kind, unsigned int trapnr,
>   
>       hvm_emulate_writeback(&ctx);
>   }
> +#endif /* CONFIG_VM_EVENT */
>   
>   void hvm_emulate_init_once(
>       struct hvm_emulate_ctxt *hvmemul_ctxt,
> diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
> index 48a293069b..e3dacc909b 100644
> --- a/xen/arch/x86/hvm/hvm.c
> +++ b/xen/arch/x86/hvm/hvm.c
> @@ -50,6 +50,7 @@
>   #include <asm/hvm/vm_event.h>
>   #include <asm/hvm/vpt.h>
>   #include <asm/i387.h>
> +#include <asm/mem_access.h>
>   #include <asm/mc146818rtc.h>
>   #include <asm/mce.h>
>   #include <asm/monitor.h>
> @@ -4861,15 +4862,20 @@ static int do_altp2m_op(
>           break;
>   
>       case HVMOP_altp2m_set_mem_access:
> +#ifdef CONFIG_VM_EVENT
>           if ( a.u.mem_access.pad )
>               rc = -EINVAL;
>           else
>               rc = p2m_set_mem_access(d, _gfn(a.u.mem_access.gfn), 1, 0, 0,
>                                       a.u.mem_access.access,
>                                       a.u.mem_access.view);
> +#else
> +        rc = -EOPNOTSUPP;
> +#endif
>           break;
>   
>       case HVMOP_altp2m_set_mem_access_multi:
> +#ifdef CONFIG_VM_EVENT
>           if ( a.u.set_mem_access_multi.pad ||
>                a.u.set_mem_access_multi.opaque > a.u.set_mem_access_multi.nr )
>           {
> @@ -4898,9 +4904,13 @@ static int do_altp2m_op(
>                                          &a, u.set_mem_access_multi.opaque) )
>                   rc = -EFAULT;
>           }
> +#else
> +        rc = -EOPNOTSUPP;
> +#endif
>           break;
>   
>       case HVMOP_altp2m_get_mem_access:
> +#ifdef CONFIG_VM_EVENT
>           if ( a.u.mem_access.pad )
>               rc = -EINVAL;
>           else
> @@ -4915,6 +4925,9 @@ static int do_altp2m_op(
>                   rc = __copy_to_guest(arg, &a, 1) ? -EFAULT : 0;
>               }
>           }
> +#else
> +        rc = -EOPNOTSUPP;
> +#endif
>           break;
>   
>       case HVMOP_altp2m_change_gfn:
> @@ -5030,6 +5043,7 @@ static int compat_altp2m_op(
>       switch ( a.cmd )
>       {
>       case HVMOP_altp2m_set_mem_access_multi:
> +#ifdef CONFIG_VM_EVENT
>   #define XLAT_hvm_altp2m_set_mem_access_multi_HNDL_pfn_list(_d_, _s_); \
>           guest_from_compat_handle((_d_)->pfn_list, (_s_)->pfn_list)
>   #define XLAT_hvm_altp2m_set_mem_access_multi_HNDL_access_list(_d_, _s_); \
> @@ -5038,6 +5052,7 @@ static int compat_altp2m_op(
>                                                &a.u.set_mem_access_multi);
>   #undef XLAT_hvm_altp2m_set_mem_access_multi_HNDL_pfn_list
>   #undef XLAT_hvm_altp2m_set_mem_access_multi_HNDL_access_list
> +#endif
>           break;
>   
>       default:
> @@ -5056,6 +5071,7 @@ static int compat_altp2m_op(
>       switch ( a.cmd )
>       {
>       case HVMOP_altp2m_set_mem_access_multi:
> +#ifdef CONFIG_VM_EVENT
>           if ( rc == -ERESTART )
>           {
>               a.u.set_mem_access_multi.opaque =
> @@ -5065,6 +5081,9 @@ static int compat_altp2m_op(
>                                          &a, u.set_mem_access_multi.opaque) )
>                   rc = -EFAULT;
>           }
> +#else
> +        rc = -EOPNOTSUPP;
> +#endif
>           break;
>   
>       default:
> @@ -5283,6 +5302,7 @@ int hvm_debug_op(struct vcpu *v, int32_t op)
>       return rc;
>   }
>   
> +#ifdef CONFIG_VM_EVENT
>   void hvm_toggle_singlestep(struct vcpu *v)
>   {
>       ASSERT(atomic_read(&v->pause_count));
> @@ -5292,6 +5312,7 @@ void hvm_toggle_singlestep(struct vcpu *v)
>   
>       v->arch.hvm.single_step = !v->arch.hvm.single_step;
>   }
> +#endif /* CONFIG_VM_EVENT */
>   
>   #ifdef CONFIG_ALTP2M
>   void hvm_fast_singlestep(struct vcpu *v, uint16_t p2midx)
> diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
> index 679ca3dacd..c8506c25c4 100644
> --- a/xen/arch/x86/hvm/svm/svm.c
> +++ b/xen/arch/x86/hvm/svm/svm.c
> @@ -299,6 +299,7 @@ void svm_intercept_msr(struct vcpu *v, uint32_t msr, int flags)
>           __clear_bit(msr * 2 + 1, msr_bit);
>   }
>   
> +#ifdef CONFIG_VM_EVENT
>   static void cf_check svm_enable_msr_interception(struct domain *d, uint32_t msr)
>   {
>       struct vcpu *v;
> @@ -306,6 +307,7 @@ static void cf_check svm_enable_msr_interception(struct domain *d, uint32_t msr)
>       for_each_vcpu ( d, v )
>           svm_intercept_msr(v, msr, MSR_INTERCEPT_WRITE);
>   }
> +#endif /* CONFIG_VM_EVENT */
>   
>   static void svm_save_dr(struct vcpu *v)
>   {
> @@ -826,6 +828,7 @@ static void cf_check svm_set_rdtsc_exiting(struct vcpu *v, bool enable)
>       vmcb_set_general2_intercepts(vmcb, general2_intercepts);
>   }
>   
> +#ifdef CONFIG_VM_EVENT
>   static void cf_check svm_set_descriptor_access_exiting(
>       struct vcpu *v, bool enable)
>   {
> @@ -843,6 +846,7 @@ static void cf_check svm_set_descriptor_access_exiting(
>   
>       vmcb_set_general1_intercepts(vmcb, general1_intercepts);
>   }
> +#endif /* CONFIG_VM_EVENT */
>   
>   static unsigned int cf_check svm_get_insn_bytes(struct vcpu *v, uint8_t *buf)
>   {
> @@ -2457,9 +2461,11 @@ static struct hvm_function_table __initdata_cf_clobber svm_function_table = {
>       .fpu_dirty_intercept  = svm_fpu_dirty_intercept,
>       .msr_read_intercept   = svm_msr_read_intercept,
>       .msr_write_intercept  = svm_msr_write_intercept,
> +#ifdef CONFIG_VM_EVENT
>       .enable_msr_interception = svm_enable_msr_interception,
> -    .set_rdtsc_exiting    = svm_set_rdtsc_exiting,
>       .set_descriptor_access_exiting = svm_set_descriptor_access_exiting,
> +#endif
> +    .set_rdtsc_exiting    = svm_set_rdtsc_exiting,
>       .get_insn_bytes       = svm_get_insn_bytes,
>   
>       .nhvm_vcpu_initialise = nsvm_vcpu_initialise,
> diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
> index a40af1db66..1996e139a0 100644
> --- a/xen/arch/x86/hvm/vmx/vmx.c
> +++ b/xen/arch/x86/hvm/vmx/vmx.c
> @@ -1520,6 +1520,7 @@ static void cf_check vmx_set_rdtsc_exiting(struct vcpu *v, bool enable)
>       vmx_vmcs_exit(v);
>   }
>   
> +#ifdef CONFIG_VM_EVENT
>   static void cf_check vmx_set_descriptor_access_exiting(
>       struct vcpu *v, bool enable)
>   {
> @@ -1534,6 +1535,7 @@ static void cf_check vmx_set_descriptor_access_exiting(
>       vmx_update_secondary_exec_control(v);
>       vmx_vmcs_exit(v);
>   }
> +#endif /* CONFIG_VM_EVENT */
>   
>   static void cf_check vmx_init_hypercall_page(void *p)
>   {
> @@ -2413,6 +2415,7 @@ static void cf_check vmx_handle_eoi(uint8_t vector, int isr)
>           printk_once(XENLOG_WARNING "EOI for %02x but SVI=%02x\n", vector, old_svi);
>   }
>   
> +#ifdef CONFIG_VM_EVENT
>   static void cf_check vmx_enable_msr_interception(struct domain *d, uint32_t msr)
>   {
>       struct vcpu *v;
> @@ -2420,6 +2423,7 @@ static void cf_check vmx_enable_msr_interception(struct domain *d, uint32_t msr)
>       for_each_vcpu ( d, v )
>           vmx_set_msr_intercept(v, msr, VMX_MSR_W);
>   }
> +#endif /* CONFIG_VM_EVENT */
>   
>   #ifdef CONFIG_ALTP2M
>   
> @@ -2871,7 +2875,9 @@ static struct hvm_function_table __initdata_cf_clobber vmx_function_table = {
>       .nhvm_domain_relinquish_resources = nvmx_domain_relinquish_resources,
>       .update_vlapic_mode = vmx_vlapic_msr_changed,
>       .nhvm_hap_walk_L1_p2m = nvmx_hap_walk_L1_p2m,
> +#ifdef CONFIG_VM_EVENT
>       .enable_msr_interception = vmx_enable_msr_interception,
> +#endif
>   #ifdef CONFIG_ALTP2M
>       .altp2m_vcpu_update_p2m = vmx_vcpu_update_eptp,
>       .altp2m_vcpu_update_vmfunc_ve = vmx_vcpu_update_vmfunc_ve,
> @@ -3079,9 +3085,11 @@ const struct hvm_function_table * __init start_vmx(void)
>   
>       vmx_function_table.caps.singlestep = cpu_has_monitor_trap_flag;
>   
> +#ifdef CONFIG_VM_EVENT
>       if ( cpu_has_vmx_dt_exiting )
>           vmx_function_table.set_descriptor_access_exiting =
>               vmx_set_descriptor_access_exiting;
> +#endif
>   
>       /*
>        * Do not enable EPT when (!cpu_has_vmx_pat), to prevent security hole
> @@ -3152,8 +3160,10 @@ void __init vmx_fill_funcs(void)
>       if ( !cpu_has_xen_ibt )
>           return;
>   
> +#ifdef CONFIG_VM_EVENT
>       vmx_function_table.set_descriptor_access_exiting =
>           vmx_set_descriptor_access_exiting;
> +#endif
>   
>       vmx_function_table.update_eoi_exit_bitmap = vmx_update_eoi_exit_bitmap;
>       vmx_function_table.process_isr            = vmx_process_isr;
> diff --git a/xen/arch/x86/include/asm/hvm/hvm.h b/xen/arch/x86/include/asm/hvm/hvm.h
> index f02183691e..473cf24b83 100644
> --- a/xen/arch/x86/include/asm/hvm/hvm.h
> +++ b/xen/arch/x86/include/asm/hvm/hvm.h
> @@ -192,7 +192,10 @@ struct hvm_function_table {
>       void (*handle_cd)(struct vcpu *v, unsigned long value);
>       void (*set_info_guest)(struct vcpu *v);
>       void (*set_rdtsc_exiting)(struct vcpu *v, bool enable);
> +#ifdef CONFIG_VM_EVENT
>       void (*set_descriptor_access_exiting)(struct vcpu *v, bool enable);
> +    void (*enable_msr_interception)(struct domain *d, uint32_t msr);
> +#endif
>   
>       /* Nested HVM */
>       int (*nhvm_vcpu_initialise)(struct vcpu *v);
> @@ -224,8 +227,6 @@ struct hvm_function_table {
>                                   paddr_t *L1_gpa, unsigned int *page_order,
>                                   uint8_t *p2m_acc, struct npfec npfec);
>   
> -    void (*enable_msr_interception)(struct domain *d, uint32_t msr);
> -
>   #ifdef CONFIG_ALTP2M
>       /* Alternate p2m */
>       void (*altp2m_vcpu_update_p2m)(struct vcpu *v);
> @@ -433,10 +434,12 @@ static inline bool using_svm(void)
>   
>   #define hvm_long_mode_active(v) (!!((v)->arch.hvm.guest_efer & EFER_LMA))
>   
> +#ifdef CONFIG_VM_EVENT
>   static inline bool hvm_has_set_descriptor_access_exiting(void)
>   {
>       return hvm_funcs.set_descriptor_access_exiting;
>   }
> +#endif
>   
>   static inline void hvm_domain_creation_finished(struct domain *d)
>   {
> @@ -679,10 +682,12 @@ static inline int nhvm_hap_walk_L1_p2m(
>           v, L2_gpa, L1_gpa, page_order, p2m_acc, npfec);
>   }
>   
> +#ifdef CONFIG_VM_EVENT
>   static inline void hvm_enable_msr_interception(struct domain *d, uint32_t msr)
>   {
>       alternative_vcall(hvm_funcs.enable_msr_interception, d, msr);
>   }
> +#endif
>   
>   static inline bool hvm_is_singlestep_supported(void)
>   {
> diff --git a/xen/arch/x86/include/asm/mem_access.h b/xen/arch/x86/include/asm/mem_access.h
> index 1a52a10322..c786116310 100644
> --- a/xen/arch/x86/include/asm/mem_access.h
> +++ b/xen/arch/x86/include/asm/mem_access.h
> @@ -14,6 +14,7 @@
>   #ifndef __ASM_X86_MEM_ACCESS_H__
>   #define __ASM_X86_MEM_ACCESS_H__
>   
> +#ifdef CONFIG_VM_EVENT
>   /*
>    * Setup vm_event request based on the access (gla is -1ull if not available).
>    * Handles the rw2rx conversion. Boolean return value indicates if event type
> @@ -25,6 +26,14 @@
>   bool p2m_mem_access_check(paddr_t gpa, unsigned long gla,
>                             struct npfec npfec,
>                             struct vm_event_st **req_ptr);
> +#else
> +static inline bool p2m_mem_access_check(paddr_t gpa, unsigned long gla,
> +                                        struct npfec npfec,
> +                                        struct vm_event_st **req_ptr)
> +{
> +    return false;
> +}
> +#endif /* CONFIG_VM_EVENT */
>   
>   /* Check for emulation and mark vcpu for skipping one instruction
>    * upon rescheduling if required. */
> diff --git a/xen/arch/x86/include/asm/monitor.h b/xen/arch/x86/include/asm/monitor.h
> index 3c64d8258f..1cd169f8f0 100644
> --- a/xen/arch/x86/include/asm/monitor.h
> +++ b/xen/arch/x86/include/asm/monitor.h
> @@ -32,6 +32,7 @@ struct monitor_msr_bitmap {
>       DECLARE_BITMAP(high, 8192);
>   };
>   
> +#ifdef COMFIG_VM_EVENT

Typo here causes build to fail.

With ^ fixed and patches 3 and 9 applied, and VM_EVENT=n there are still
build failures, like:

   xen/arch/x86/hvm/svm/svm.c:2757: undefined reference to `hvm_monitor_debug'

In my opinion, It might be reasonable to proceed with this patch (and related patches [3,?]) first,
as standalone series, to make VM_EVENT=n work and do MGMT_HYPERCALLS on top of it.

This patch, by itself, is big and included in even bigger series - which makes hard to
review and track changes.

[..]

-- 
Best regards,
-grygorii



From xen-devel-bounces@lists.xenproject.org Tue Oct 21 13:50:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Oct 2025 13:50:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1147234.1479579 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBCkQ-0007Qd-Ef; Tue, 21 Oct 2025 13:49:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1147234.1479579; Tue, 21 Oct 2025 13:49:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBCkQ-0007QW-BS; Tue, 21 Oct 2025 13:49:58 +0000
Received: by outflank-mailman (input) for mailman id 1147234;
 Tue, 21 Oct 2025 13:49:57 +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
 <SRS0=M5X6=46=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1vBCkO-0007Ct-R8
 for xen-devel@lists.xenproject.org; Tue, 21 Oct 2025 13:49:56 +0000
Received: from MW6PR02CU001.outbound.protection.outlook.com
 (mail-westus2azlp170120002.outbound.protection.outlook.com
 [2a01:111:f403:c007::2])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d2feb597-ae84-11f0-9d15-b5c5bf9af7f9;
 Tue, 21 Oct 2025 15:49:56 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by BN9PR03MB6108.namprd03.prod.outlook.com (2603:10b6:408:11d::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.12; Tue, 21 Oct
 2025 13:49:51 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9253.011; Tue, 21 Oct 2025
 13:49:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d2feb597-ae84-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=oYib2CYQa+Vx1hIeUTv6EoMnZg8hI+hEbkyimzC09wQQlhC7TatAoW2t0OdikbSH7++8rIM6oGZDsko0+o7rv3MTXTAZEMnYuASvjvizMtwq5XF8+b0HrzEU2DnulsMMR8gEJasvXLfZeAKPKiRcwmNzRuknK1CUTfcTPpS9H+t1PkwDmnvY3G1NVWnQrvwEXQefTPr/NQrc+FOXuY9KAE/TZEjpSNquG3pOTTArU3AwAwJC8rc0LHrjQMQdapb2rEf31pjhSfVAcLkxnsMj4aQ4JuIT1qP/Pyoh6aeEs2bdfiRNkioY6DkK3Z5XafQ+dVqnAias/Ufghq8IzNDt4Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8jM7wPd1hok6EuGBb0PaoWOgDB2IorXtzdr9mJMJro0=;
 b=j2kp9/+LmChVRcjM/nLLMpbdPs3Bz32W7Qj/QOeppWuHcUCn+Kstno+CFm5uhdHeRkKQHbPRCZsotiMcUV0cNrgw4cNptJez/VqFn15foZ5EKgKCTiZvj8cTMWo8qmv6I0lDQBbZd9ABc/YnLhQ8heWYjxw4MY+jVWxHJqb++RN1Z0XRm5ktoPrmwe+YUm/9MQH8RPRvdvS4x23+dpCY37FPEJlGATqaaY6ZDl+LfJG5I/mShmyTuUHGAPC4so1CBxxRY8JUkx8W2PV0qA515oV/2UwY7zFer9XQuDvOFqa5QfJ1s+6UBI13lQ6fGdVhzLIbFRbEx8QdjI1r8ZA6bg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8jM7wPd1hok6EuGBb0PaoWOgDB2IorXtzdr9mJMJro0=;
 b=A9AIBlK3EJ/JLYQMwljkkgQkDzIP4MoLZiA+QK9C536wQwhXLa51gAkRLBljqkwAgXXNq7YMzhSsuZUSOo4B/dtoXgssp0312HP3odmZtym70U4Pd2LSxmojB77WZIRzpqb4eeDdPbchKwtqt4cnFKN0bTqcSJUzsswPCDLfjKk=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 21 Oct 2025 14:49:46 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH v2 for-4.21 2/9] x86/HPET: use single, global,
 low-priority vector for broadcast IRQ
Message-ID: <aPePepQk3t6gxMR1@Mac.lan>
References: <b66ea488-2d47-472c-9520-8590fdf89e0e@suse.com>
 <c8c124c4-71c5-41e7-8d84-fd45ffd6af14@suse.com>
 <aPZh3Y8W4QcV_oLs@Mac.lan>
 <7128bbb5-d099-4584-8cd0-bfeec49b3e55@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <7128bbb5-d099-4584-8cd0-bfeec49b3e55@suse.com>
X-ClientProxiedBy: MA3P292CA0026.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:47::11) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|BN9PR03MB6108:EE_
X-MS-Office365-Filtering-Correlation-Id: 4ace9f3d-b08c-4a6c-76b7-08de10a8b4c9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?M3BZanJTVVlrUVFuaXA2SEk4ckJLVWw5ZEcwdTNMb3BZWElVeGFVZHJEakc1?=
 =?utf-8?B?L2VRYnRBV2o2NzF4OWt1dVNDMSt6WGFqaVZuK1NWeGpuaWRXU3hEYkpFek9J?=
 =?utf-8?B?RXRNZEU0MmRxWlZWTFVMamIrbVJDbVVzNGNRVjUvNjVIbE1BdEJrK1lzbC9W?=
 =?utf-8?B?SW1BM2NvY0o0eXNpR1FVKzNDalhEV1RXWlptSkpwMjZjQUdDMDBUelhCazVG?=
 =?utf-8?B?VzlSR010YkhBQk5EMUhsOW5UMm94eHpUcFBUOHB4NlNFTUVVQVlOY0FERnJh?=
 =?utf-8?B?V3kvVWZqbEd4TTdYejFVV2hnZmRkZGwrR1B6Rmg0ZHNVaXd1WlBDRUZwanJs?=
 =?utf-8?B?Z1BZMkZscjA2azI3ODhaeGEyMklYQUZ4OHFBdXdxZm91S1BhZTJacG5Gd3V3?=
 =?utf-8?B?Z0dncmx0c3FDMWl0enl3NjVQWlY2aDV6SFpEaHoyUnNYS0Q3WmdtZ3Mvc21O?=
 =?utf-8?B?alc1QjR6aUdwOGxYMWtlRzg3WXZJWTJWK0xBcE9yeGVKaXd0UVgvZE5VOThx?=
 =?utf-8?B?V0dsTytUOHVpeHJGb3VsUndQeGxpQytuZUNsMEtmUFdsQnVOZkkvOFJUOW9z?=
 =?utf-8?B?dWFBQkorMCtpa0NqemJ4NlBSL3NQWGFxeXBqN3lld0VNV0RXRk9wUUNQQ2g3?=
 =?utf-8?B?MHlPMzZrcUYwRzBLaC9CZDVwWmhTQWYreWVzd0J5M0NOa3c3QVBtcDR6RUNU?=
 =?utf-8?B?bWdjWU5YSFhDTk95a3AxUmVBQk56cmlxSVlIR2dPR1l4V0ozckwwZk9iMWpm?=
 =?utf-8?B?R2ZvUllzNXdTUC8zNUNHWFlJQWpYaU9pajhsT1AyVkh4N2oxVnE0VEtudzVm?=
 =?utf-8?B?dXBTaGMyVFpkNHhLYXB6U2tRWXROMFFwc2Q1WWZodm0rVEoveWR2VTFxbFFm?=
 =?utf-8?B?NlZIVVlMaDlkS3llbW1laHo0U3V2RTl1dzBDaTU4S3RWdTJmYWhvaVlwaGZW?=
 =?utf-8?B?YlZ6bkd2eDJoT1BBQ3B5aEUza1Z2M0hRc1hPb3YyUm9aakc1ZnJDV2l6dWtZ?=
 =?utf-8?B?WGphRTFNQ0tMRmRoZjFBcVJpWkVzTGtFemdYRVZML0l2cTExVE5aS05NcExI?=
 =?utf-8?B?ZmxSbTBhTURXQ3lHamdsb1RKWlZsVDJGQTU5R3VVMWlBQzFaRXl1NnRyNTNW?=
 =?utf-8?B?V3cxZlBXdjZCMlN2eUp3NENMZlZnYmxJY1F3RHR0K2J1M1NVdzFHYW5WSkRG?=
 =?utf-8?B?QlI0ZkxSOWtEQWxYL3Nzelc5ZERXUnZnTnN3Y3hya0s0ZysyLzN5K1RUdlQ3?=
 =?utf-8?B?aU9iZVRLbk9pRUgyRVNRZTFuRGtlT2R2MHltNTFiVUtQcEI2NUNHWkRxRjFV?=
 =?utf-8?B?Y3RLem1hbVJFbnJTcTZXVmdkN0JQaTFqK3pUay9KaHI1UEJZdmZpYlZTTEtu?=
 =?utf-8?B?MlRvK2k3Nk9lMjNlemozQkJYVml0QjV4R1p3aTUyclRqMlArRkpPREZKbnRs?=
 =?utf-8?B?Y0RkYXFFTlliQWhSNzFmS1ZPaUVuaVI0RHFmdjRGQUhMYU5zUTFvdkI5TFRx?=
 =?utf-8?B?bEczcHZjbTQ5cm12REJvL2MvakdXUEYrN2RqdFhPUVBwdHlBcDNOZkNMam51?=
 =?utf-8?B?RXJNNkFHRHZrZldEZ0VaSDN6aXgrSnNFaHljS1Rvem91RWFKOGVTSlA5NDJP?=
 =?utf-8?B?dlNnRk41dUh0ajlQN29YdWxnQ3pUcHZMV2gyVDEzVUNIZ2pMbENib3FUUnBJ?=
 =?utf-8?B?ZmVmVGFnMjRjQUYwYit3bGsxQWhNRFdQaTRwZW9oUVRZMUd6RHREdzAwUE55?=
 =?utf-8?B?enNmU0EwaFVScHhqcHIzYnhZTkxpb3FhNm93YWlnVGdXWTYxRzE5dWZpZ3Zn?=
 =?utf-8?B?aytMVC9qdzlpeWJjYmcrbmtTZzZHUnY4Qk9jU2hTRXp1QnJXOTZqTC9HS1F4?=
 =?utf-8?B?bGpQZDlnWlhDWEFnNmlzdlZ0WmRrQ2xpWTYwQWxUT2s2c29ZQ091NTNyZGhE?=
 =?utf-8?B?SUVEenpDY05sbjB1UTgxTHRkVE1QME5UQTZadmtZUEpWRFRrWDVSLzdwM0VR?=
 =?utf-8?B?MC9LUTgvOWpRPT0=?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZGlTOWY0c2lRMjI4V3lud09hWThlMjJVbXRSdy8zYnREU21DRVo2VW96Q2Iw?=
 =?utf-8?B?R3VJcDVSb2p1K0pOc2FVeDBiMnRmVEt2ODNTRkR5QjdGN29tbkJ6ZzM1S2xN?=
 =?utf-8?B?dWF1OXQyTDV4R3F5MnBXQWM2SVJQeGVYSHpJeit2YmNkNWZhNVV3Q29KcHFx?=
 =?utf-8?B?SlQ3ZjJxMVlDRGxJY1ZtWHJ4RmRlelNwYzlqM0NCU3Y2SFFuQUFYSUp0RnVp?=
 =?utf-8?B?ZnAzSjIwTFZaYTl2MUpSazBnK2ZmdEdkMk1reW1lWkxqbzVFc2dOQ2ZDNnV1?=
 =?utf-8?B?dVZTYUM3Zm5aR0doUlhrT1ZvYUpjbUcySU5EWk9YUHBPaTR1YTIwK1ZKN3VF?=
 =?utf-8?B?ZFNmMTRtUHA0S3JZa1ZHeG50MWlmNmZDQkxoMW1yQm9pSWVKNVdjcXJidlpC?=
 =?utf-8?B?OUJXZ0xvMVFnU2xRTktNeU5TSVRhdnQ3SVdFb09yQTZqM0pSL1lGcXNYQWpH?=
 =?utf-8?B?UW5RMWZsVkQ1RUIvMEgveUlnRFNocWRzMTlrSDhOcjh1bExuY2JmR2hPbURE?=
 =?utf-8?B?eFZPb3J5dFpyaE5nWGkwaW5CSHY4cCsxd2E5a0hRU1ZYaXBJSTFtMnBmUTE4?=
 =?utf-8?B?WGUyaUJzRS9jd2JWenZDRVZSSzZLOU5lYUJ2bFUyN211SGtVTWRydnE2SEYy?=
 =?utf-8?B?aWVsZUl0QXAyVVZyWUFON2ZGYVBWK2FHRGpFS1ZLN1duWThwcDF3cm02RW0z?=
 =?utf-8?B?aGM1VnpWRXR5SDl1Ukg4dmxlTEtjVTlZMkZWQytGWWRSLzdxUVFzTElTL2RC?=
 =?utf-8?B?SzVKVmJzU3paMVRla0F3Kzd2UXFKbk8rNFFLNTk4MTdJdzE5QmZJWGF4RWdy?=
 =?utf-8?B?ZFg5K3dhZENiSFpiNW5YVHpvb05SMndQOTZzSmZjUzhBam4zSE5abEZwL2Ji?=
 =?utf-8?B?R1NMOTY1UXBEeEI5eTNOYW80RjlzRUV4ZmczVlErcmorSWdCU0trOGgrdDBN?=
 =?utf-8?B?cDdySGV2YVpMbHdLQTFQYUpWU0RlVW5KRkFUT2grYUIra0F4OWlCTnVTdmhJ?=
 =?utf-8?B?b0UvanQxQld1WU5CTkFPbTFnb3NJelNyV1RWQmhYZTN4QzAycDRxOCtJTE9Y?=
 =?utf-8?B?NmxxUU1mLzB0WktaVmp0RGZPVzdqR3h2ejBZY2Y5bU5WRGdsSzJLTEpjamFh?=
 =?utf-8?B?UzRzMkd2SGw5Y0hmZDhNakMvTDFTMmMvUEZnbWZmYzhoTDJmaEtYcFh6WVdI?=
 =?utf-8?B?aWQ5eE9KTDJHOVc0dFNkRnZJaUJiYTJpYnBBL2w1OVBQSExEOVEzS245ZGp0?=
 =?utf-8?B?bUp2YVFtZmFueTdsOVl4ZzdJOWpoZnZlbVFXOUltY3lMbDFZeTZjRlh3YklM?=
 =?utf-8?B?TExkcFdLcGw2c0pGRGtER3JSSUVkbVJnalRxRHpSZG9YelUrL0k3YU1CLzBv?=
 =?utf-8?B?SWNwNGFYVEdKZFRyVnNQaWgyQmJ4ZmFjaWtpcklCZXhGbWFxUG5MVXdtVEpp?=
 =?utf-8?B?akZGZm9Sa2I2RjhPeHZiMXUyTGJuaDByelZXcE5jQS9ydVNKWUQ0aUQydmtl?=
 =?utf-8?B?UjRYbzNnUTlJUDMvM1p1TXFDdTl5YVBjbjRhV0FiWDFFWDdaSS96NCtCYVRt?=
 =?utf-8?B?blliTmx1dUwxMGdpTG8rZ1JJQy8vaUc0TDhTWk4zWncyTHFoOW1leHFFdzk5?=
 =?utf-8?B?WEQ5MFJRSnllUDZjWDdDSUsyOWhFdVFaSTBVeUlqYlRGWWhEbUk2bTNaSzl3?=
 =?utf-8?B?OXk5eE5tbTkzVTVmUDJ1M09xdFJGVDhGNUJkWGhTeXdvM1NmNmd4Zm8vWVJG?=
 =?utf-8?B?SFFxdCtzR3RtdUZqVFRNMXYyS0t0bFNZaGR3elpEUHpkZ1hKVEVYamVRZnVx?=
 =?utf-8?B?dFdVVElQZ0hmU0p4MWl3U3FjMjJ6RzlQVTVqN0xmVW5aUXJ2L29DZE1mOExI?=
 =?utf-8?B?WDZqcHNXd1F2VG9TZllMK2FGYnR3czhKSUZJSk0xUk5JTUZsaUVlRU92KzFq?=
 =?utf-8?B?TGdwbjhDM0JMZmN0dUZNOHJoNEo2WDFnY2FvazkzTlRiTUVsRzVhQTdrTUpl?=
 =?utf-8?B?MkJlNjBsR3RPZGFsSVdUb1lidVBYYk5ETXpHU3dMRnZzblFucnQvaW1SWHhw?=
 =?utf-8?B?UEMwbXJEVVV6MUZrVUJydTA4UE4veWdzR2ZpSjFkazhiZzdsYlQ3alNUNjN3?=
 =?utf-8?Q?Xrldhwfj0MAR+6525le6q4nrP?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4ace9f3d-b08c-4a6c-76b7-08de10a8b4c9
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Oct 2025 13:49:51.1712
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: svrKAEq4Sr0DkamnXNHIeHeTxC0MowctN5O0nwxXFoLG2B/igQWtf5SU9k9POUGcZ6IW19FhNv56Ue+BnFJlCw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR03MB6108

On Tue, Oct 21, 2025 at 08:42:13AM +0200, Jan Beulich wrote:
> On 20.10.2025 18:22, Roger Pau MonnÃ© wrote:
> > On Mon, Oct 20, 2025 at 01:18:34PM +0200, Jan Beulich wrote:
> >> Using dynamically allocated / maintained vectors has several downsides:
> >> - possible nesting of IRQs due to the effects of IRQ migration,
> >> - reduction of vectors available for devices,
> >> - IRQs not moving as intended if there's shortage of vectors,
> >> - higher runtime overhead.
> >>
> >> As the vector also doesn't need to be of any priority (first and foremost
> >> it really shouldn't be of higher or same priority as the timer IRQ, as
> >> that raises TIMER_SOFTIRQ anyway), avoid any "ordinary" vectors altogther
> >> and use a vector from the 0x10...0x1f exception vector space. Exception vs
> >> interrupt can easily be distinguished by checking for the presence of an
> >> error code.
> >>
> >> With a fixed vector, less updating is now necessary in
> >> set_channel_irq_affinity(); in particular channels don't need transiently
> >> masking anymore, as the necessary update is now atomic. To fully leverage
> >> this, however, we want to stop using hpet_msi_set_affinity() there. With
> >> the transient masking dropped, we're no longer at risk of missing events.
> >>
> >> In principle a change to setup_vector_irq() would be necessary, but only
> >> if we used low-prio vectors as direct-APIC ones. Since the change would be
> >> at best benign here, it is being omitted.
> >>
> >> Fixes: 996576b965cc ("xen: allow up to 16383 cpus")
> >> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> >> Release-Acked-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>
> >> ---
> >> This is an alternative proposal to
> >> https://lists.xen.org/archives/html/xen-devel/2014-03/msg00399.html.
> >>
> >> Should we keep hpet_msi_set_affinity() at all? We'd better not have the
> >> generic IRQ subsystem play with our IRQs' affinities ... (If so, this
> >> likely would want to be a separate patch, though.)
> > 
> > I think that needs to become a no-op, with possibly an ASSERT?  Is it
> > possibly for dom0 to try to balance this IRQ?  I would think not.
> 
> I'd consider it an error if that was possible. But then the same goes for
> other Xen-internal IRQs, like the IOMMU ones. They all implement a
> .set_affinity hook ...

We need such hook for fixup_irqs() at least, so that interrupts can be
evacuated when an AP goes offline.  However movement of Xen owned IRQs
should be limited to Xen (if it's not already).

> >> @@ -476,19 +486,50 @@ static struct hpet_event_channel *hpet_g
> >>  static void set_channel_irq_affinity(struct hpet_event_channel *ch)
> >>  {
> >>      struct irq_desc *desc = irq_to_desc(ch->msi.irq);
> >> +    struct msi_msg msg = ch->msi.msg;
> >>  
> >>      ASSERT(!local_irq_is_enabled());
> >>      spin_lock(&desc->lock);
> >> -    hpet_msi_mask(desc);
> >> -    hpet_msi_set_affinity(desc, cpumask_of(ch->cpu));
> >> -    hpet_msi_unmask(desc);
> >> +
> >> +    per_cpu(vector_irq, ch->cpu)[HPET_BROADCAST_VECTOR] = ch->msi.irq;
> >> +
> >> +    /*
> >> +     * Open-coding a reduced form of hpet_msi_set_affinity() here.  With the
> >> +     * actual update below (either of the IRTE or of [just] message address;
> >> +     * with interrupt remapping message address/data don't change) now being
> >> +     * atomic, we can avoid masking the IRQ around the update.  As a result
> >> +     * we're no longer at risk of missing IRQs (provided hpet_broadcast_enter()
> >> +     * keeps setting the new deadline only afterwards).
> >> +     */
> >> +    cpumask_copy(desc->arch.cpu_mask, cpumask_of(ch->cpu));
> >> +
> >>      spin_unlock(&desc->lock);
> >>  
> >> -    spin_unlock(&ch->lock);
> >> +    msg.dest32 = cpu_physical_id(ch->cpu);
> >> +    msg.address_lo &= ~MSI_ADDR_DEST_ID_MASK;
> >> +    msg.address_lo |= MSI_ADDR_DEST_ID(msg.dest32);
> >> +    if ( msg.dest32 != ch->msi.msg.dest32 )
> >> +    {
> >> +        ch->msi.msg = msg;
> >> +
> >> +        if ( iommu_intremap != iommu_intremap_off )
> >> +        {
> >> +            int rc = iommu_update_ire_from_msi(&ch->msi, &msg);
> >>  
> >> -    /* We may have missed an interrupt due to the temporary masking. */
> >> -    if ( ch->event_handler && ch->next_event < NOW() )
> >> -        ch->event_handler(ch);
> >> +            ASSERT(rc <= 0);
> >> +            if ( rc > 0 )
> >> +            {
> >> +                ASSERT(msg.data == hpet_read32(HPET_Tn_ROUTE(ch->idx)));
> >> +                ASSERT(msg.address_lo ==
> >> +                       hpet_read32(HPET_Tn_ROUTE(ch->idx) + 4));
> >> +            }
> > 
> > The sequence of asserts seem wrong here, the asserts inside of the rc
> > > 0 check will never trigger, because there's an ASSERT(rc <= 0)
> > ahead of them?
> 
> Hmm. My way of thinking was that if we get back 1 (which we shouldn't),
> we ought to check (and presumably fail on) data or address having changed.

Right, but the ASSERT(rc <= 0) will prevent reaching any of the
followup ASSERTs if rc == 1?  IOW, we possibly want:

            if ( rc > 0 )
            {
                dprintk(XENLOG_ERR,
                        "Unexpected HPET MSI setup returned: data: %#x address: %#lx expected data %#x address %#lx\n",
                        msg.data, msg.address,
                        ch->msi.msg.data, ch->msi.msg.address);
                ASSERT_UNREACHABLE();
                hpet_msi_mask(desc);
                hpet_write32(msg.data, HPET_Tn_ROUTE(ch->idx));
                hpet_write32(msg.address_lo, HPET_Tn_ROUTE(ch->idx) + 4);
                hpet_msi_unmask(desc);
            }
            ASSERT(!rc);

I'm unsure about attempting to propagate the returned values on release
builds, I guess it's slightly better than possibly using an outdated
RTE entry?  Albeit this should never happen.

Also, should the desc->arch.cpu_mask update only be done after the MSI
fields have correctly updated, so that in case of failure of
iommu_update_ire_from_msi(9 we could return early form the function
and avoid changing desc->arch.cpu_mask?

> Whereas when we get back 0, we're told "no change" anyway, and hence
> checking isn't even needed. Did I misunderstand the purpose of the zero
> vs positive return value here?
> 
> Of could I could switch to using "rc >= 0" anyway; I actually had it that
> way first, but then decided the extra checks would be redundant in the 0
> case.
> 
> >> +        }
> >> +        else
> >> +            hpet_write32(msg.address_lo, HPET_Tn_ROUTE(ch->idx) + 4);
> > 
> > If you avoid the HPET register update here you possibly need to make
> > sure that both fields are unconditionally written on the first call
> > after resume from suspension.  hpet_resume() needs to somehow taint
> > the channels to signal that a re-write of the address and data fields
> > is mandatory regardless of what iommu_update_ire_from_msi() has
> > returned.
> 
> hpet_broadcast_resume() calls __hpet_setup_msi_irq() (and hence
> hpet_msi_write()), which I thought is enough?

Oh, sorry, I was looking at hpet_resume(), not
hpet_broadcast_resume().

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Oct 21 13:50:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Oct 2025 13:50:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1147233.1479569 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBCkO-0007D6-7T; Tue, 21 Oct 2025 13:49:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1147233.1479569; Tue, 21 Oct 2025 13:49:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBCkO-0007Cz-4c; Tue, 21 Oct 2025 13:49:56 +0000
Received: by outflank-mailman (input) for mailman id 1147233;
 Tue, 21 Oct 2025 13:49: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 <SRS0=7+p/=46=treblig.org=dg@srs-se1.protection.inumbo.net>)
 id 1vBCkN-0007Ct-JF
 for xen-devel@lists.xenproject.org; Tue, 21 Oct 2025 13:49:55 +0000
Received: from mx.treblig.org (mx.treblig.org [2a00:1098:5b::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d1f6e874-ae84-11f0-9d15-b5c5bf9af7f9;
 Tue, 21 Oct 2025 15:49:53 +0200 (CEST)
Received: from dg by mx.treblig.org with local (Exim 4.96)
 (envelope-from <dg@treblig.org>) id 1vBCk5-000B3N-1t;
 Tue, 21 Oct 2025 13:49:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d1f6e874-ae84-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=treblig.org
	; s=bytemarkmx; h=Content-Type:MIME-Version:Message-ID:Subject:From:Date:From
	:Subject; bh=LHZXynPB0hLQ+CBy8lrGdpgfsv32Vai29vkeHTpK2ck=; b=AaJoJRCrdJAEQGZf
	w9YjMn4734mkUHeOBJkdePtpJDTHkk2w0ISZh4Y3GmCbHPFjkCYBAHHj37lXx1pDzaoAxr4GoJNko
	ZwfZbctB8awpat4JKKZzK7Ns6cbh8Df0Ji2xKMCszqHMUVVgd+wywJpLbDx1pMUVvMj6znwEbGZtz
	AWAU8OtbzMUmRs1NPVC7lRi8NwfLEQIBy3fgpb+xKUw0twzTBjxPeGCFLmMCFYapg2UIJJxgf8C88
	9cypXp+mGgtoL9b6Iw8hSZv5wYZgy/f40cHt/kKq6uZ5C0Hm2gJwc8Bz+y30h1MLM7USJRUv+fETC
	Ya35X/iXopHXlilz8A==;
Date: Tue, 21 Oct 2025 13:49:37 +0000
From: "Dr. David Alan Gilbert" <dave@treblig.org>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: marcandre.lureau@redhat.com, qemu-devel@nongnu.org, pbonzini@redhat.com,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Stefano Garzarella <sgarzare@redhat.com>,
	"Gonglei (Arei)" <arei.gonglei@huawei.com>,
	Zhenwei Pi <pizhenwei@bytedance.com>,
	Laurent Vivier <lvivier@redhat.com>, Amit Shah <amit@kernel.org>,
	Stefan Berger <stefanb@linux.vnet.ibm.com>,
	Alex =?iso-8859-1?Q?Benn=E9e?= <alex.bennee@linaro.org>,
	Philippe =?iso-8859-1?Q?Mathieu-Daud=E9?= <philmd@linaro.org>,
	Igor Mitsyanko <i.mitsyanko@gmail.com>,
	=?iso-8859-1?Q?Cl=E9ment?= Chigot <chigot@adacore.com>,
	Frederic Konrad <konrad.frederic@yahoo.fr>,
	Alberto Garcia <berto@igalia.com>, Thomas Huth <huth@tuxfamily.org>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Jason Herne <jjherne@linux.ibm.com>,
	Yoshinori Sato <yoshinori.sato@nifty.com>,
	Magnus Damm <magnus.damm@gmail.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	"Collin L. Walling" <walling@linux.ibm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony@xenproject.org>,
	Paul Durrant <paul@xen.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Alistair Francis <alistair@alistair23.me>,
	Daniel =?iso-8859-1?Q?P=2E_Berrang=E9?= <berrange@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Corey Minyard <minyard@acm.org>,
	Paul Burton <paulburton@kernel.org>,
	Aleksandar Rikalo <arikalo@gmail.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Daniel Henrique Barboza <dbarboza@ventanamicro.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Michael Rolnik <mrolnik@gmail.com>,
	Antony Pavlov <antonynpavlov@gmail.com>,
	Joel Stanley <joel@jms.id.au>,
	Vijai Kumar K <vijai@behindbytes.com>,
	Samuel Tardieu <sam@rfc1149.net>,
	Gustavo Romero <gustavo.romero@linaro.org>,
	Raphael Norwitz <raphael@enfabrica.net>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	"reviewer:vhost-user-scmi" <mzamazal@redhat.com>,
	Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp>,
	Dmitry Osipenko <dmitry.osipenko@collabora.com>,
	Fabiano Rosas <farosas@suse.de>,
	Markus Armbruster <armbru@redhat.com>,
	Zhang Chen <zhangckid@gmail.com>,
	Li Zhijian <lizhijian@fujitsu.com>,
	Jason Wang <jasowang@redhat.com>,
	Manos Pitsidianakis <manos.pitsidianakis@linaro.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Helge Deller <deller@gmx.de>, Max Filippov <jcmvbkbc@gmail.com>,
	Lukas Straub <lukasstraub2@web.de>,
	"open list:Sharp SL-5500 Co..." <qemu-arm@nongnu.org>,
	"open list:S390 SCLP-backed..." <qemu-s390x@nongnu.org>,
	"open list:sPAPR (pseries)" <qemu-ppc@nongnu.org>,
	"open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>,
	"open list:RISC-V TCG CPUs" <qemu-riscv@nongnu.org>,
	"open list:virtiofs" <virtio-fs@lists.linux.dev>,
	"open list:Rust-related patc..." <qemu-rust@nongnu.org>
Subject: Re: [PATCH] char: rename CharBackend->CharFrontend
Message-ID: <aPePcTKl6s4FoLCL@gallifrey>
References: <20251021122533.721467-1-marcandre.lureau@redhat.com>
 <CAFEAcA-jPE_onLYLMxgcAOB7dWRXOLJrWcGPnR0NUdjYytPDVA@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <CAFEAcA-jPE_onLYLMxgcAOB7dWRXOLJrWcGPnR0NUdjYytPDVA@mail.gmail.com>
X-Chocolate: 70 percent or better cocoa solids preferably
X-Operating-System: Linux/6.1.0-34-amd64 (x86_64)
X-Uptime: 13:49:19 up 176 days, 22:02,  1 user,  load average: 0.00, 0.00,
 0.00
User-Agent: Mutt/2.2.12 (2023-09-09)

* Peter Maydell (peter.maydell@linaro.org) wrote:
> Marc-André Lureau <marcandre.lureau@redhat.com> wrote:
> > The actual backend is "Chardev", CharBackend is the frontend side of it,
> > let's rename it for readability.
> 
> I always thought the "frontend" was the device the guest
> saw (the 16650 UART or whatever). invocation.html has bits
> talking about "virtio hvc console frontend device" which
> seem like they also use that terminology.
> 
> If we want to clean up the naming it might be helpful to have
> a comment somewhere documenting the different components and
> what names we give them and how they fit together (or even
> better, something in docs/devel/...)

Or something more descriptive like 'CharGuestSide'

Dave

> thanks
> -- PMM
-- 
 -----Open up your eyes, open up your mind, open up your code -------   
/ Dr. David Alan Gilbert    |       Running GNU/Linux       | Happy  \ 
\        dave @ treblig.org |                               | In Hex /
 \ _________________________|_____ http://www.treblig.org   |_______/


From xen-devel-bounces@lists.xenproject.org Tue Oct 21 13:50:37 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Oct 2025 13:50:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1147252.1479589 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBCl3-0000ej-PV; Tue, 21 Oct 2025 13:50:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1147252.1479589; Tue, 21 Oct 2025 13:50:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBCl3-0000ec-La; Tue, 21 Oct 2025 13:50:37 +0000
Received: by outflank-mailman (input) for mailman id 1147252;
 Tue, 21 Oct 2025 13:50:36 +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
 <SRS0=z7Ey=46=linux.dev=thorsten.blum@srs-se1.protection.inumbo.net>)
 id 1vBCl1-0007Ct-NJ
 for xen-devel@lists.xenproject.org; Tue, 21 Oct 2025 13:50:36 +0000
Received: from out-186.mta1.migadu.com (out-186.mta1.migadu.com
 [95.215.58.186]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ea52ca24-ae84-11f0-9d15-b5c5bf9af7f9;
 Tue, 21 Oct 2025 15:50:34 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ea52ca24-ae84-11f0-9d15-b5c5bf9af7f9
X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers.
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1;
	t=1761054633;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding;
	bh=xNqnht/v7r+E+ltgWbTdV/aRGJGim2ZUKdxu9dFf+lI=;
	b=pDg8Arzpu3AtNFSqHOUAcGfvodbeXkuXnFX6VcvHp47TmBb/4LwlLAYyIl8+JtUBi0ij1B
	JiCiRe57bYeHRRyIn6OUPhK8Gs0UcKKiPclQt6PijkFhHIuCBwwOHVCJ/edPrtDJaJCd6r
	V/EoUPlP0ds6CqUeKvf9WCHFnQlYK3M=
From: Thorsten Blum <thorsten.blum@linux.dev>
To: Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Jason Andryuk <jason.andryuk@amd.com>,
	"Dr. David Alan Gilbert" <linux@treblig.org>
Cc: Thorsten Blum <thorsten.blum@linux.dev>,
	xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH] drivers/xen/xenbus: Simplify return statement in join()
Date: Tue, 21 Oct 2025 15:49:58 +0200
Message-ID: <20251021135002.1228-2-thorsten.blum@linux.dev>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Migadu-Flow: FLOW_OUT

Don't unnecessarily negate 'buffer' and simplify the return statement.

Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
---
 drivers/xen/xenbus/xenbus_xs.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/xen/xenbus/xenbus_xs.c b/drivers/xen/xenbus/xenbus_xs.c
index 528682bf0c7f..7c6c12925326 100644
--- a/drivers/xen/xenbus/xenbus_xs.c
+++ b/drivers/xen/xenbus/xenbus_xs.c
@@ -407,7 +407,7 @@ static char *join(const char *dir, const char *name)
 		buffer = kasprintf(GFP_NOIO | __GFP_HIGH, "%s", dir);
 	else
 		buffer = kasprintf(GFP_NOIO | __GFP_HIGH, "%s/%s", dir, name);
-	return (!buffer) ? ERR_PTR(-ENOMEM) : buffer;
+	return buffer ?: ERR_PTR(-ENOMEM);
 }
 
 static char **split(char *strings, unsigned int len, unsigned int *num)
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Tue Oct 21 13:54:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Oct 2025 13:54:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1147263.1479599 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBCoZ-0001Or-6L; Tue, 21 Oct 2025 13:54:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1147263.1479599; Tue, 21 Oct 2025 13:54:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBCoZ-0001Ok-3W; Tue, 21 Oct 2025 13:54:15 +0000
Received: by outflank-mailman (input) for mailman id 1147263;
 Tue, 21 Oct 2025 13:54:13 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <anthony@xenproject.org>) id 1vBCoX-0001OO-Dq
 for xen-devel@lists.xenproject.org; Tue, 21 Oct 2025 13:54:13 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <anthony@xenproject.org>) id 1vBCoW-00CjtE-2k;
 Tue, 21 Oct 2025 13:54:13 +0000
Received: from [2a01:e0a:1da:8420:b77:bd5:6e45:7633] (helo=l14)
 by xenbits.xenproject.org with esmtpsa (TLS1.3) tls
 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96)
 (envelope-from <anthony@xenproject.org>) id 1vBCoW-005snB-2W;
 Tue, 21 Oct 2025 13:54:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=In-Reply-To:Content-Transfer-Encoding:
	Content-Type:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date;
	bh=l2IVI7vUwLs4FZ1p4ZwhBuBVdK4Anyz5K0UIMWO+32w=; b=cRDEWvambPTr29Bw8Z6j2ziMnE
	od55XYyguG4nGTSYFfcQp4UgAkthhDGtpeD84+czBKLKheoS3kH5Qz6XteTVuuF9B1U2cGXdcR4y5
	hjgKobucG/XSJW10H+XfeOCwGrYSp/qaTatbMzDbbq8KTqw7epzV4r1JwuZ9fbM+545E=;
Date: Tue, 21 Oct 2025 15:54:10 +0200
From: Anthony PERARD <anthony@xenproject.org>
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, oleksii.kurochko@gmail.com,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH for-4.21 v2] tools/libxc: fix xc_physdev_map_pirq_msi()
 with PCI segments != 0
Message-ID: <aPeQgsShSIWNDEEI@l14>
References: <20251020105613.53636-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20251020105613.53636-1-roger.pau@citrix.com>

On Mon, Oct 20, 2025 at 11:56:13AM +0100, Roger Pau Monne wrote:
> Otherwise it's not possible for device models to map IRQs of devices on
> segments different than 0.  Keep the same function prototype and pass the
> segment in the high 16bits of the bus parameter, like it's done for the
> hypercall itself.
> 
> Amends: 7620c0cf9a4d ("PCI multi-seg: add new physdevop-s")
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> Release-Acked-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Oct 21 13:55:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Oct 2025 13:55:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1147277.1479608 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBCpT-0001wr-HI; Tue, 21 Oct 2025 13:55:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1147277.1479608; Tue, 21 Oct 2025 13:55:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBCpT-0001wk-Eh; Tue, 21 Oct 2025 13:55:11 +0000
Received: by outflank-mailman (input) for mailman id 1147277;
 Tue, 21 Oct 2025 13:55:10 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <anthony@xenproject.org>) id 1vBCpS-0001wH-Br
 for xen-devel@lists.xenproject.org; Tue, 21 Oct 2025 13:55:10 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <anthony@xenproject.org>) id 1vBCpP-00CjuQ-0f;
 Tue, 21 Oct 2025 13:55:07 +0000
Received: from [2a01:e0a:1da:8420:b77:bd5:6e45:7633] (helo=l14)
 by xenbits.xenproject.org with esmtpsa (TLS1.3) tls
 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96)
 (envelope-from <anthony@xenproject.org>) id 1vBCpP-005stU-0I;
 Tue, 21 Oct 2025 13:55:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=In-Reply-To:Content-Transfer-Encoding:
	Content-Type:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date;
	bh=soAqTR95YKtmT/yWQ+zKpozInVkIEeOQhkWi/RjtcA0=; b=g/y2XQFpxz1k0HpbR3+1JHwlWa
	xl1cHz6qOAZR2nxQYlSXho4bM4ROdfRgg5Jfslhxmh0K/St4qVTmzeex1NVYp0RB4btFtKPKGSGRj
	ihqItw8GcRKxXfvSpgOTtjzYrnOEo79q4UIvG7NSZTWcUXtds5pbM8j1xj5POATtrMDQ=;
Date: Tue, 21 Oct 2025 15:55:05 +0200
From: Anthony PERARD <anthony@xenproject.org>
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: qemu-devel@nongnu.org, Stefano Stabellini <sstabellini@kernel.org>,
	Paul Durrant <paul@xen.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH] hw/xen: pass PCI domain to xc_physdev_map_pirq_msi()
Message-ID: <aPeQuREzCMBa8VXo@l14>
References: <20251017155136.16540-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20251017155136.16540-1-roger.pau@citrix.com>

On Fri, Oct 17, 2025 at 05:51:36PM +0200, Roger Pau Monne wrote:
> It's currently impossible for passthrough devices on segment different than
> 0 to work correctly, as the PCI domain is not provided to
> xc_physdev_map_pirq_msi(), and hence it's unconditionally assumed that all
> devices are on segment 0.
> 
> Adjust the call to xc_physdev_map_pirq_msi() to pass the PCI domain in the
> high 16bits of the bus parameter.  On versions of Xen where this is not
> supported the passed segment will be ignored and assume to be 0, no worse
> than the current state.
> 
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Oct 21 13:58:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Oct 2025 13:58:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1147288.1479619 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBCsd-0002Wl-W9; Tue, 21 Oct 2025 13:58:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1147288.1479619; Tue, 21 Oct 2025 13:58:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBCsd-0002We-T6; Tue, 21 Oct 2025 13:58:27 +0000
Received: by outflank-mailman (input) for mailman id 1147288;
 Tue, 21 Oct 2025 13:58:26 +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
 <SRS0=tGWz=46=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1vBCsc-0002WY-KL
 for xen-devel@lists.xenproject.org; Tue, 21 Oct 2025 13:58:26 +0000
Received: from mail-pg1-x52c.google.com (mail-pg1-x52c.google.com
 [2607:f8b0:4864:20::52c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 02789dfc-ae86-11f0-980a-7dc792cee155;
 Tue, 21 Oct 2025 15:58:24 +0200 (CEST)
Received: by mail-pg1-x52c.google.com with SMTP id
 41be03b00d2f7-b550eff972eso3825929a12.3
 for <xen-devel@lists.xenproject.org>; Tue, 21 Oct 2025 06:58:24 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 02789dfc-ae86-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1761055103; x=1761659903; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=pPdygudXA5Lxli1F/++PwS4Z3c1EOK1lIXgoZ6EeQsQ=;
        b=EQ4hWbW0KOWQSaV+VbSZtQJTTRkhsWi52UTMaWYx2NKnISeT2CM2A2n5QqPhuYqHCY
         EX1/cd9CZ0yTtdWufM4Cevpf88t+kxu9MuBtneoZLsG/z4witUdFHnnfjAQxgbmeJYZP
         +gGTclpC5YCUt/o+O7XZTQuH9WBFnOB1T2jU0bR4rVDJ0HssEKaSzOijMG7i2Yh9aMEk
         dt2VTw+k+Im6EZQuboFcWmm8Rpmt+1UyT8exHHH3pvjAxXdiAbpfV/Gje8nvjMR2UGBH
         /9ULuBTJAQ8MfMj+gZX3X00aD08E7QbDDx391/BiQAh8voXqOdgsLrV72462NIfuX7qb
         LPlQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761055103; x=1761659903;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=pPdygudXA5Lxli1F/++PwS4Z3c1EOK1lIXgoZ6EeQsQ=;
        b=hdpAnl+tDTCB2cgKU0FCGy3WGci9xdxFmRTldzPNV+zCdKDakFxT2O3ukUb3QLcQvZ
         VdU5CAuCvG6eS2jpayZd2TDu0VAXunw7WvNBBo/maRX4LegUf9824EUS6nJ4O8FR4Rh9
         HlxsDx5N/dE1VV9wK42tQeyy2IkjHY++O6vRcHevRamiGjgun6Sq0YIDpYbrShzBc6NO
         mjVsfcPcEFZ8IEP1Jbwi41UTeWlsg3JVf0e4zk+91jeDVwXe26eZ3N/ktsCXVGcPbGSN
         O7EkJTbHMDgjY4VGpbpx2I1jOzSLl6r5m7d4ED2jXPKk/jHkr5H3gMcyEMbQ7AgrQ9Dp
         AYFA==
X-Forwarded-Encrypted: i=1; AJvYcCUCIbYeXZAh7fQQrYbILNsa9j2EieAJtiPJSTuedlMIXwRKvieByvRHPB+hS6xYBtmdso8H+9FWT9A=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw4WrbbVTnFnfY0lZUPGFrFEm1xylFhD/MoCSVuWBl3F02dfigb
	7Hy0kOLxRZLeEt5OAuh8ED04D4q9qFxzooLNU6uh6Aw+t78MmyxEgg6gH6q/s4yD5Q+D5LitLkF
	2DFiuFKBRqV+uPfDoUTGkuZTzZvETYpg=
X-Gm-Gg: ASbGnctCKF0F4SpyKfJLaUj30q6pWNgevIGgtWuabQhm/jP6Y+Nt6z0BSR3HjENceOD
	VaARyJkNaY4W8gG6nn+D/aeIMGaQAg9ZHY+VZwfoc+wwzXG66jJ/gfVU4frxvvcyG5X4E/25ZaT
	VaQmKqOS5wYDPAmhaabnsxXqAwL5t69CMJk4rHU9JSl/OBQx3k8oOAdT9caEN10I6LZNoHu6C2G
	bFrARphfAJhIcoSA4eVbemzh5HTeLtUAAsCzrAk9XwLgA4ndYKHki4Z7ecAX6aH8kQkTQ==
X-Google-Smtp-Source: AGHT+IE0+jvJP+jHgFuOGd7AG/ldZHoV3AfhKDbcZoT/QZC6z/r+l4UHVkiL0/gXj0woSudmdvCYrWf6uSTZqfAxvCw=
X-Received: by 2002:a17:903:94e:b0:290:533b:25c9 with SMTP id
 d9443c01a7336-290c9c8ae4dmr192613605ad.2.1761055103171; Tue, 21 Oct 2025
 06:58:23 -0700 (PDT)
MIME-Version: 1.0
References: <20251017155136.16540-1-roger.pau@citrix.com>
In-Reply-To: <20251017155136.16540-1-roger.pau@citrix.com>
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
Date: Tue, 21 Oct 2025 15:58:09 +0200
X-Gm-Features: AS18NWA58CeS14FdkkCNsTOZQHqLAPZdt-7l1MEooVrAG7tg9H44TnVA3_KoSpQ
Message-ID: <CAJy5ezpoN0mdSWStgF_RjtrnkbfkaMMsnrHHGuiQqNd4aNp0nQ@mail.gmail.com>
Subject: Re: [PATCH] hw/xen: pass PCI domain to xc_physdev_map_pirq_msi()
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: qemu-devel@nongnu.org, Stefano Stabellini <sstabellini@kernel.org>, 
	Anthony PERARD <anthony@xenproject.org>, Paul Durrant <paul@xen.org>, xen-devel@lists.xenproject.org
Content-Type: multipart/alternative; boundary="000000000000dabea70641ab9724"

--000000000000dabea70641ab9724
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, Oct 17, 2025 at 5:51=E2=80=AFPM Roger Pau Monne <roger.pau@citrix.c=
om>
wrote:

> It's currently impossible for passthrough devices on segment different th=
an
> 0 to work correctly, as the PCI domain is not provided to
> xc_physdev_map_pirq_msi(), and hence it's unconditionally assumed that al=
l
> devices are on segment 0.
>
> Adjust the call to xc_physdev_map_pirq_msi() to pass the PCI domain in th=
e
> high 16bits of the bus parameter.  On versions of Xen where this is not
> supported the passed segment will be ignored and assume to be 0, no worse
> than the current state.
>
> Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
>

Reviewed-by: Edgar E. Iglesias <edgar.iglesias@amd.com>

--000000000000dabea70641ab9724
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote g=
mail_quote_container"><div dir=3D"ltr" class=3D"gmail_attr">On Fri, Oct 17,=
 2025 at 5:51=E2=80=AFPM Roger Pau Monne &lt;<a href=3D"mailto:roger.pau@ci=
trix.com">roger.pau@citrix.com</a>&gt; wrote:<br></div><blockquote class=3D=
"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(2=
04,204,204);padding-left:1ex">It&#39;s currently impossible for passthrough=
 devices on segment different than<br>
0 to work correctly, as the PCI domain is not provided to<br>
xc_physdev_map_pirq_msi(), and hence it&#39;s unconditionally assumed that =
all<br>
devices are on segment 0.<br>
<br>
Adjust the call to xc_physdev_map_pirq_msi() to pass the PCI domain in the<=
br>
high 16bits of the bus parameter.=C2=A0 On versions of Xen where this is no=
t<br>
supported the passed segment will be ignored and assume to be 0, no worse<b=
r>
than the current state.<br>
<br>
Signed-off-by: Roger Pau Monn=C3=A9 &lt;<a href=3D"mailto:roger.pau@citrix.=
com" target=3D"_blank">roger.pau@citrix.com</a>&gt;<br></blockquote><div><b=
r></div><div>Reviewed-by: Edgar E. Iglesias &lt;<a href=3D"mailto:edgar.igl=
esias@amd.com">edgar.iglesias@amd.com</a>&gt;</div><div><br></div></div></d=
iv>

--000000000000dabea70641ab9724--


From xen-devel-bounces@lists.xenproject.org Tue Oct 21 13:58:50 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Oct 2025 13:58:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1147295.1479628 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBCt0-0002wF-6N; Tue, 21 Oct 2025 13:58:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1147295.1479628; Tue, 21 Oct 2025 13:58:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBCt0-0002w8-3p; Tue, 21 Oct 2025 13:58:50 +0000
Received: by outflank-mailman (input) for mailman id 1147295;
 Tue, 21 Oct 2025 13:58:49 +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
 <SRS0=Ych8=46=gmail.com=marcandre.lureau@srs-se1.protection.inumbo.net>)
 id 1vBCsz-0002nm-3w
 for xen-devel@lists.xenproject.org; Tue, 21 Oct 2025 13:58:49 +0000
Received: from mail-qv1-xf34.google.com (mail-qv1-xf34.google.com
 [2607:f8b0:4864:20::f34])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 10d11f9b-ae86-11f0-9d15-b5c5bf9af7f9;
 Tue, 21 Oct 2025 15:58:48 +0200 (CEST)
Received: by mail-qv1-xf34.google.com with SMTP id
 6a1803df08f44-7ea50f94045so96039986d6.1
 for <xen-devel@lists.xenproject.org>; Tue, 21 Oct 2025 06:58:48 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 10d11f9b-ae86-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1761055127; x=1761659927; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=a9xo5iRU2UaVqUYhP+NOFPTLpT/CvAzz5jgCqB0Tc9s=;
        b=KLBo+UFtQNyuru6s+Ki0FjXwWM8MVlRKKKQcrVRb7ybIDkg3kbhvkK1cievOsw+gMu
         6Pj1RMYC6vcJOihhN7BrbvtxlHlESHIOUxT8wumj9HzT4AuHlNUbbYC87KRFsjX6g40Z
         /k0FStNGHB3JESdYaXncSW/Z3lE+QUjtLdAiu+9rBTLQzt66Bl1yLQ4US18DlzDgn1cW
         ktir1iiw7F83vBeDiHiD9Oak299noxYNmi0hr2euHWUCj1L+v2yDxw4ges4U+ZJHW22S
         QgsnSyK6pAg6qnrxLb9M5sh7Ja2l6CrxbgDxjDtpDeiEO3dnfQNjqaGSNHvBQ+7T2vBz
         q6Hg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761055127; x=1761659927;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=a9xo5iRU2UaVqUYhP+NOFPTLpT/CvAzz5jgCqB0Tc9s=;
        b=VVLuNUFFK53fR8E9b5T1Gx0a78KDQQpSECV9CBkFfuNK4mcsQ3N1RpoWefCpPs4hT6
         M31RqqoWHGMpEux35+05BMuNPbVIlY69Px/wHXor6VkKXgVEC5C35BY47N0JNwCrwqpw
         iblcpVyfE2OocN+P5WIn2FMdJh/K2tt6WpN7k9gAUgwlILuOeLY6CWKfTyLfZ7kg2XF4
         vYbCknzGcXEqrn6XI28/4tgAv0MtU4a9rCgZKNCG+hFkQSlUORGUKwEK5nel/nl/HR+6
         F9UqJCzr4L94NSvh/1K6sShBR8x1TvKZZcKFXTDVh18gKl8noCVqNB/xur9FQCu+KoVq
         DFCQ==
X-Forwarded-Encrypted: i=1; AJvYcCWdXldgAcC2YIk6x9wbL18WEP7M+Bd+jxgkz17fYLyLpe9J8p9vmJaGNMaYK49xv5+697z/cBe1bOs=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwYKeortY9Cvs5k7BDPaEz2F/UGAwBKubTW4+zzi57fvyu+Ode0
	R94PU/ncIV2IAp98PmUATzuj30HhZc7wpJEP2+E0RJWciYP0IIYDB6OklLfYIg5qmySnP3uLir3
	4CeEHQX+GLI7r7Iha3bGL70sz5F1Ag+M=
X-Gm-Gg: ASbGncvywNX5Qze1G6ANH1kg3iK+nUdI85kcnE+RTwEo3I/x2uZ7G5XNa3BCg+eMEw8
	lQaVaF33m1PVa1PKA9If09qs6cttRMA6DckJAel6fL4+1rbQFKk4ngfW5334gOsChTJB0ac5TN1
	BnkRFkd00b752JJvExnSYdhufpoYAJZ3c4+bQdLgHD5DHmdZFQ4/3bUfd2FyM2U1PQUWEv6zure
	ZSVzWJSv6EVovVBbd5PVR/3bPG9ChT/go49U94xk62sjmfClm92T4nVIcIQ9/ACWhrHm3n9UW9E
	WPBwnTBZUNuRSAjALvN9wkbE0ow=
X-Google-Smtp-Source: AGHT+IEASm5PEMuHtKd5e+Rzj4N98EYCKZGb9xbtNELXIkGVXPi9KMyBQu4pgO6iWCx6Ob5On+OEkhJoPBQQfEnXOkg=
X-Received: by 2002:ac8:6692:0:b0:4e8:9151:b743 with SMTP id
 d75a77b69052e-4e89151baaemr171529791cf.10.1761055127377; Tue, 21 Oct 2025
 06:58:47 -0700 (PDT)
MIME-Version: 1.0
References: <20251021122533.721467-1-marcandre.lureau@redhat.com>
 <CAFEAcA-jPE_onLYLMxgcAOB7dWRXOLJrWcGPnR0NUdjYytPDVA@mail.gmail.com> <aPePcTKl6s4FoLCL@gallifrey>
In-Reply-To: <aPePcTKl6s4FoLCL@gallifrey>
From: =?UTF-8?B?TWFyYy1BbmRyw6kgTHVyZWF1?= <marcandre.lureau@gmail.com>
Date: Tue, 21 Oct 2025 17:58:34 +0400
X-Gm-Features: AS18NWDhwyu6RSAqqb6h7ri3_0htqQRas44BMuTIvGK_fnZ9NOk0aSqeN68Q1lo
Message-ID: <CAJ+F1C+bGKtY6nf3LCXrwhZ2aEdu2npXJ9FapmsqgX0uLL5TUw@mail.gmail.com>
Subject: Re: [PATCH] char: rename CharBackend->CharFrontend
To: "Dr. David Alan Gilbert" <dave@treblig.org>
Cc: Peter Maydell <peter.maydell@linaro.org>, qemu-devel@nongnu.org, pbonzini@redhat.com, 
	"Michael S. Tsirkin" <mst@redhat.com>, Stefano Garzarella <sgarzare@redhat.com>, 
	"Gonglei (Arei)" <arei.gonglei@huawei.com>, Zhenwei Pi <pizhenwei@bytedance.com>, 
	Laurent Vivier <lvivier@redhat.com>, Amit Shah <amit@kernel.org>, 
	Stefan Berger <stefanb@linux.vnet.ibm.com>, =?UTF-8?B?QWxleCBCZW5uw6ll?= <alex.bennee@linaro.org>, 
	=?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= <philmd@linaro.org>, 
	Igor Mitsyanko <i.mitsyanko@gmail.com>, =?UTF-8?Q?Cl=C3=A9ment_Chigot?= <chigot@adacore.com>, 
	Frederic Konrad <konrad.frederic@yahoo.fr>, Alberto Garcia <berto@igalia.com>, 
	Thomas Huth <huth@tuxfamily.org>, Halil Pasic <pasic@linux.ibm.com>, 
	Christian Borntraeger <borntraeger@linux.ibm.com>, Jason Herne <jjherne@linux.ibm.com>, 
	Yoshinori Sato <yoshinori.sato@nifty.com>, Magnus Damm <magnus.damm@gmail.com>, 
	Nicholas Piggin <npiggin@gmail.com>, Harsh Prateek Bora <harshpb@linux.ibm.com>, 
	"Collin L. Walling" <walling@linux.ibm.com>, Stefano Stabellini <sstabellini@kernel.org>, 
	Anthony PERARD <anthony@xenproject.org>, Paul Durrant <paul@xen.org>, 
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>, Alistair Francis <alistair@alistair23.me>, 
	=?UTF-8?Q?Daniel_P=2E_Berrang=C3=A9?= <berrange@redhat.com>, 
	Eduardo Habkost <eduardo@habkost.net>, Corey Minyard <minyard@acm.org>, 
	Paul Burton <paulburton@kernel.org>, Aleksandar Rikalo <arikalo@gmail.com>, 
	Aurelien Jarno <aurelien@aurel32.net>, Palmer Dabbelt <palmer@dabbelt.com>, 
	Weiwei Li <liwei1518@gmail.com>, Daniel Henrique Barboza <dbarboza@ventanamicro.com>, 
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>, 
	Samuel Thibault <samuel.thibault@ens-lyon.org>, Michael Rolnik <mrolnik@gmail.com>, 
	Antony Pavlov <antonynpavlov@gmail.com>, Joel Stanley <joel@jms.id.au>, 
	Vijai Kumar K <vijai@behindbytes.com>, Samuel Tardieu <sam@rfc1149.net>, 
	Gustavo Romero <gustavo.romero@linaro.org>, Raphael Norwitz <raphael@enfabrica.net>, 
	Stefan Hajnoczi <stefanha@redhat.com>, "reviewer:vhost-user-scmi" <mzamazal@redhat.com>, 
	Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp>, 
	Dmitry Osipenko <dmitry.osipenko@collabora.com>, Fabiano Rosas <farosas@suse.de>, 
	Markus Armbruster <armbru@redhat.com>, Zhang Chen <zhangckid@gmail.com>, 
	Li Zhijian <lizhijian@fujitsu.com>, Jason Wang <jasowang@redhat.com>, 
	Manos Pitsidianakis <manos.pitsidianakis@linaro.org>, 
	Richard Henderson <richard.henderson@linaro.org>, Helge Deller <deller@gmx.de>, 
	Max Filippov <jcmvbkbc@gmail.com>, Lukas Straub <lukasstraub2@web.de>, 
	"open list:Sharp SL-5500 Co..." <qemu-arm@nongnu.org>, 
	"open list:S390 SCLP-backed..." <qemu-s390x@nongnu.org>, "open list:sPAPR (pseries)" <qemu-ppc@nongnu.org>, 
	"open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>, 
	"open list:RISC-V TCG CPUs" <qemu-riscv@nongnu.org>, "open list:virtiofs" <virtio-fs@lists.linux.dev>, 
	"open list:Rust-related patc..." <qemu-rust@nongnu.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi

On Tue, Oct 21, 2025 at 5:52=E2=80=AFPM Dr. David Alan Gilbert <dave@trebli=
g.org> wrote:
>
> * Peter Maydell (peter.maydell@linaro.org) wrote:
> > Marc-Andr=C3=A9 Lureau <marcandre.lureau@redhat.com> wrote:
> > > The actual backend is "Chardev", CharBackend is the frontend side of =
it,
> > > let's rename it for readability.
> >
> > I always thought the "frontend" was the device the guest
> > saw (the 16650 UART or whatever). invocation.html has bits
> > talking about "virtio hvc console frontend device" which
> > seem like they also use that terminology.
> >
> > If we want to clean up the naming it might be helpful to have
> > a comment somewhere documenting the different components and
> > what names we give them and how they fit together (or even
> > better, something in docs/devel/...)
>
> Or something more descriptive like 'CharGuestSide'

If we are talking about the Chardev frontend or user, that's too
restrictive. We have generic stream handling code (think
mux/hub/tests/client/server etc) that do not fit that usage naming.


--=20
Marc-Andr=C3=A9 Lureau


From xen-devel-bounces@lists.xenproject.org Tue Oct 21 14:08:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Oct 2025 14:08:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1147313.1479639 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBD2Q-0004so-Tq; Tue, 21 Oct 2025 14:08:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1147313.1479639; Tue, 21 Oct 2025 14:08:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBD2Q-0004sh-R7; Tue, 21 Oct 2025 14:08:34 +0000
Received: by outflank-mailman (input) for mailman id 1147313;
 Tue, 21 Oct 2025 14:08:34 +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
 <SRS0=M5X6=46=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1vBD2Q-0004sa-5R
 for xen-devel@lists.xenproject.org; Tue, 21 Oct 2025 14:08:34 +0000
Received: from BL0PR03CU003.outbound.protection.outlook.com
 (mail-eastusazlp170120007.outbound.protection.outlook.com
 [2a01:111:f403:c101::7])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6b1a6380-ae87-11f0-980a-7dc792cee155;
 Tue, 21 Oct 2025 16:08:29 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by CH5PR03MB7984.namprd03.prod.outlook.com (2603:10b6:610:215::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.12; Tue, 21 Oct
 2025 14:08:23 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9253.011; Tue, 21 Oct 2025
 14:08:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6b1a6380-ae87-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=S2NDB0BBUou1FlDeRl0oB9qIhj4AafKB1B75jw7k6nIwPoywF7e4pIWTLstcyj11z1Ok1K4xogobqJt+vkOStCg0iHEjvJWoeiG9iN9NysKU9xVjRBcSMLtkE9CPyb0WrSGeGzRkxFe+2r5FsHE5f97rTzdkwon/C9obX0XMVlSR3NduDIw/fHXZ9obUQt9zciTPYo6TLibYjpV+X8S7/a2IOI6yKq76jt68Jj5Z9HuStEnjuQRiIRQB21YVyN6LwvQbZntlWH9iBKhNDihLiuq8qmRVvnLCtMKqVkznGpm+5FOvLfbyiqUW1JjL5o8BxV9pbFt7MOvtZnF6rNtiTQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VtkUEkELIOA3Q/vj/pSp+bGE2mQzeFFvzy5eb0dweg0=;
 b=m3V0edd5/b9XI8ORZ5VSqFOU514MyPWsjLTNPJygjHsH6a3IN6RjRutk6AxlUNGGPU6tKmGf/u1s8kOUPbcmq9+1+KtHhn1+8sFwlOBIcOkJkanaJ9gAfVaV/qgd283xljkl1b2yGh3Dffkmu3DfUve5bRGxzrlCqJReNx07MBCaWusuXwczflPAfcpg4SRgOpoY6tmlWvluknFej67eNJJUJwjeZH0JVC5pt6Jqs0pNwKaSYWDCufkaUE1FHG91nPIVg1Ft4Y+JdH/1IjCeg0//u6zJm9v8Gt9lHV2joWUg+Ionw7/YGmJ+ByrWPc/bezxxGaB37Na8vn7cT05eIw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VtkUEkELIOA3Q/vj/pSp+bGE2mQzeFFvzy5eb0dweg0=;
 b=hhZjgh6GMCjF69+XDzOUEopUXrImDIvkWq6+NSFzIP1TJML7pVlKrNIB0sT0VxHLcRrIp/8LHXEvoFx3eUEWGGIlqSJk1hTCZjBx8PtXyfEetz2lj7my0ru1UBHKeQjJxxJVWcLMlTBAHn7h92PZ3N7e4nNUZBQXQornwfH1NSY=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 21 Oct 2025 15:08:18 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH v2 for-4.21 3/9] x86/HPET: replace
 handle_hpet_broadcast()'s on-stack cpumask_t
Message-ID: <aPeT0h-S7FVgk3TZ@Mac.lan>
References: <b66ea488-2d47-472c-9520-8590fdf89e0e@suse.com>
 <c357cb79-a10d-4d81-9695-9d16a4080595@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <c357cb79-a10d-4d81-9695-9d16a4080595@suse.com>
X-ClientProxiedBy: PR1P264CA0196.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:102:34d::7) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|CH5PR03MB7984:EE_
X-MS-Office365-Filtering-Correlation-Id: 28e954ef-d926-4a4e-8284-08de10ab4beb
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?WjNNWW1tbUJQL1ZQUEhYQ0o4SEVoZjhrYk9Ncjd5dWo4SWxmaHkweTV3RkZZ?=
 =?utf-8?B?bUJ6YUZUb1JkVlpTcEZmTGtLcW55M1lPdFNIMGxGcWtYc0dVVFBsbWFvcC81?=
 =?utf-8?B?Mko3T2FkQjZGWUFkY3RHMW11UDNvQnU5KzkxR01pVkRoYVl1TTAxL3hUZklW?=
 =?utf-8?B?WHlRd2JQQkVnYjBvZnE0R2J2QjNSZktqcUxtWmdxTUt0VzQrdEU1QW9nK2p5?=
 =?utf-8?B?S2g3NXFWS2xIM0NHZUxyamVkdTB4MTBqVkQyclE2cEw1S0dBcGw5NzJjelM3?=
 =?utf-8?B?SHpnRTVManlmTURvSG1LeGQ4OHhUbXh1NkFsMUFPazVpcTNyUk5WZi9ydzda?=
 =?utf-8?B?bnlHSzZsUDBaTkNoOHA0bHQ4c01FS0FPNkg5bnNSUXFCYXovSERsbWxWZkVj?=
 =?utf-8?B?SUdDRlk3VXpOeXpUT05uWDlURWliNDdPcjZVc3BpZW43MkxBYXNSN25PcUJL?=
 =?utf-8?B?QXZwcEdiYkZ3YlRCcTBGYnFpdVB3NzdGZGlXYnhiTzE0MjVkakx5UWFMOXdl?=
 =?utf-8?B?NDVNQTVnTGUyZkdickdLZGxzYmpoTmdPRysxcTB6UXcwemhyaWpLbks3Qmlu?=
 =?utf-8?B?ZFZKTzdUVmdVYlpzeVhKbCt5STFpdStKVjZVOVBVQWVhTlVESXBPY28wTEV0?=
 =?utf-8?B?dmNvK1MxSUFtWFVFaGRCc0lMNE9pbzZEWTNVb25TY3dmYXR1K0hDeWZBdDh2?=
 =?utf-8?B?VHBPcXhOVjVPSGVtc2NqMmJXbHJjWWpRT2pNb3JpNC9SSWlHQXFBY2pGVm1K?=
 =?utf-8?B?K1RkOEVpaVVSOUtSY21MeTE5ZTFmQ0FzS3cyMU1TS2NjNmh3ci9FdGNyL2lt?=
 =?utf-8?B?dUpWbXdJTHMvZy85WXdWaG9Hd29JMEdrVkFTTUJRclc2Uk5SdVFTbkphRmZk?=
 =?utf-8?B?QTh6cjE4amJIS0Z3dkw3RnNLblBxbHZpTVd0ZnVja0pVdSt0N3lLcjNoUG1P?=
 =?utf-8?B?SnJFZElQYjYzY0ttQkF6VEg1bm1NR1lvbFBQTzN2S3FIb2oySDNrTVBGV25s?=
 =?utf-8?B?ZU9uNVhBaGtRM1dXZFVHSDRzN2tUZG5jeFBObmU5YjcxNS8rNXIzcmhabDJl?=
 =?utf-8?B?TjgrMmI4UlhMU2pvcXorTUg5elIzWWdSVVloYm45V3pHU0hkWVRrVWtUUHFS?=
 =?utf-8?B?cm42VFY0WldIRUZaR0h0TlZ3K0tvbGlVa1kwVUQ5ODBBMU9tOW85a0hqNENY?=
 =?utf-8?B?NitvNThwc2xoa3ExTDZIZ29DeGxtWU9KNEZkUkRrVFBJQUxpRFZGVUUweUNw?=
 =?utf-8?B?MDFURUdDWlc0ZlZXMUZpeThvbXAzTW0xVExhS1V2clJwb1p6RVlDM01CR1Fq?=
 =?utf-8?B?ajJHdkFQZXhqL2NaRWtQUU5Tc3BpOWFnSkZDaXlqVllxUlQvVG52bDFvWkdk?=
 =?utf-8?B?dUZzQ3loeGNQUE90RlJndEEyZTNBL3UvRjE4QWZtVWI5RUpOUkdRQVBESFJI?=
 =?utf-8?B?RExTcGR0aEdlbVE1VHIxZnZKRmdHZXFBcGo0UmxFUWtsenkwVkFJZUFWY3N1?=
 =?utf-8?B?K0ZzNG8wWExKVVhNVW5QTU9hZWVqYUNJSVlJemlzVXdvUTc5OEE2aW1Xdmpk?=
 =?utf-8?B?V2FyV21ISmxHdDRTdlZqY3ltbm1saktFWmdDRHhQWXRZRlJ5U1AyNWZ1Y2Jy?=
 =?utf-8?B?TXhTNjdNMko1T2JIWnI3TktpVGdObVAwVUQ3dStwWVllcWtsbCt0M1JZRmwy?=
 =?utf-8?B?TTlBeXZGcGJSSkxyY3ZmYjVWQ1dHZVFaNnVpRnloK25YWlVHS29ySEljbEI5?=
 =?utf-8?B?Z2hpQ0dkRFE3Wk5pc0Y3VTlLaDlsZFJKVW84NFB2MmtDbGRlTStBRmx1cnQ2?=
 =?utf-8?B?WmlxVFRRanZuSjVLT28vVXFtdHVXL2RSNnpLUnQwRGt1bytmZzVNQnRvMVJh?=
 =?utf-8?B?SkZYakNRWm1rTnZMRmt2NkxFUS84VXJGcC9IRGQzVGNRdjN2dzNxQzRsV0ZQ?=
 =?utf-8?Q?T6Eutkr1oru1rIoYWjC/C3oZA7xoZ/DL?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?a2p5aEYxWHNFdlNhZFJNZFFKNzZTY2RmTDJCUTBPRVE1bDE5ZnhHZXVjdUNY?=
 =?utf-8?B?WHhsZ3BQNkg3YzNMVjgwY2NLcGIxTHdIMWRmcktjUFhhQUZnVHQ3cVhOK2F6?=
 =?utf-8?B?ekVMSWVKSXozc3ZWQ1VNS2ZZMTdJWjNGN1BySjc0Z0JhQXdPL2RZTkZCV2Jh?=
 =?utf-8?B?TUh1R3o0Q2FTYnBJVldmZ0crTU5QYVNsU2FPZEh3aVkvVWNmSXBvb0I5YlNL?=
 =?utf-8?B?SC9tM08rMnFXZmhGNEZ3aUVrMlhhRDF0UWtRWWlxeXUvYWlzc2F4cEc2V2lr?=
 =?utf-8?B?ZDF1V3I3M1UyODFkUGN3UjhyY0NVNy9ZbzNmWHpUZnlkckphdnJrcWQ0OTd4?=
 =?utf-8?B?Q24rcE95WU1CT001cnFBQzlnUEd2d0JlWUwyeG9lTFNDN0VxeGNGSmFuNFB5?=
 =?utf-8?B?cW1JQTlFMzlXaHEycGxOeTA3bkplWnhrZEMvUUpXMy9OMTNzV1p1MzBTSFdY?=
 =?utf-8?B?dlQyQ0RTNzlDRC82TWlZSGI1b1ZrWVRSdE1BYzlzVTlRaXRWK2FPRmRFTTVs?=
 =?utf-8?B?Zk9HUDVVUFF0Z2t5QWZLSFN1SnVDbjlMS3VMNmx1clVvY2RZYTJCNGVKY0Ro?=
 =?utf-8?B?Ny9MUjM3c3NHdDhTS2pZUjlHbHNLTm5iNUFQc1BXUXFoWTF1TTNYbnFpN1p6?=
 =?utf-8?B?dFExVS9EWXBYMTBKdzNrTmdmbk9jdGpjeVp3VFRHOEVORW1aSndkQy9ueU9D?=
 =?utf-8?B?TUNUOTJOUFJqbGdVZTRzcDB2b2grMG81VFhlaGJjclpvWEVqcUY0Wlk2dlJ0?=
 =?utf-8?B?WkMyVEV3cDdGWEg1T00zKzEwR2w1ZEU1TGZpRk1LM29XaHBSV3dRSUp4bi9y?=
 =?utf-8?B?dzVLczQ1TGw3ckFNT2RDdUx2MzRMUU9BcFJsY1pqS3dBb1NzdUlEazVUYUxI?=
 =?utf-8?B?bFN3VDh2a3hFM0VQQXVEL3UwV2ZZbWlzam1oTXZ6MHRZb0VBdTgvSG5jNWRB?=
 =?utf-8?B?M3dwRlRPQmhWT2Q5UFNSektQU2x0QllmaEN5Qm1aVldpRDk3UkJPbnJyRFRV?=
 =?utf-8?B?Zkx3S1kyL0EwaXp0UitkOTVGc3BIYTByQ29oVkdORFJxTndjQUpvc2h0elFM?=
 =?utf-8?B?bUxMVCtUYjFzVENkNWRyN2FIa1h3aDczWWlNL3RHbXIwQlFCRS9WSW5YMktD?=
 =?utf-8?B?YkQ5QU1MK1JtbjRKZzlxdVZOcmlrWEVnUmkwcmlSVmZXcWU5b0lJVXpZa0pW?=
 =?utf-8?B?VXRXQW1XQUhhcEgwWHJqaHVRTEVWZjBTZy9vb3FIcEhiK29UK1Yyd3hqbzlX?=
 =?utf-8?B?SkdMd2hwZTExOThZNUR1VjBPRW01Y2Vpelg3Vmw2dk1zU2lZa05NK1U5dnlj?=
 =?utf-8?B?V3JvZU05Y29zTk5OVC9tQnVNZ0szTUNtYVNBQUdoRlBWRElpMzQ5eFBHdGJM?=
 =?utf-8?B?aVF4RUtpdlViM3JEZTZjZzJEc3YrTk9YZ2VTVUpLeElkd0l2Ti9RSlJCd2NV?=
 =?utf-8?B?d2NDOXdDVXhmblNVaityTlRjRGhJaWREWDFjaGVjK0hhQzZLRlBneThyaGJt?=
 =?utf-8?B?cGpSeVpoSmQrRnRWWGtYTHJqaTE4a0F6TlhEblpWeGN4d0tLVUtKTlBmclAv?=
 =?utf-8?B?Y2VaR1FrRVpDZFpSUys0YWthL3FiM1NKTGJSSnJLc1BsRlRROHZ2M0VIUnpY?=
 =?utf-8?B?TDI0MUQ5c0lvRjA2ZnI1TjQyaDM5T1N0V0ZYMURPeVY2MWdGL3ZuNnlBU3VU?=
 =?utf-8?B?ckp1Zzk2L2tsVE9pdkUyQ05vY3lCS2FodkdPVTVkczJwS2t6SE9JMkN3UWlM?=
 =?utf-8?B?VktZSG9maCtwbFlMVTJJOWNMTnJDYkM5NW9CZHZTQmx6TmdONFlEMDZvcGh0?=
 =?utf-8?B?OG9hQTRVK3ZmZFNkSW10Unc0ZzRwQ1lXcFE5azA0eHYzcDdMNm96OURLclRN?=
 =?utf-8?B?dVJJOTJqaE9peGpBR0RtN0NJc2lRWkVFb3VHM3JPOTIzUDFpMW1BbHB6MFZi?=
 =?utf-8?B?TGhwa1k3ZDdKb0tFUFFXd2wwbFhvSmZZNk5vY2hmV1hOUVZxMzRDcmdLZHdh?=
 =?utf-8?B?bEtRU0dyekNIekF2a1QzVFVmRUFtKzJxdHl2YVV5K1VMVzBlMjBUQStOQitr?=
 =?utf-8?B?MFc3MnIwTEpVNjdIYjNTR2l0T1JodHoyY2Y0a09OL0tsanppaWZzRUFYd0Qx?=
 =?utf-8?Q?qDQAL3GQWxuFNUgwukE37QcVa?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 28e954ef-d926-4a4e-8284-08de10ab4beb
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Oct 2025 14:08:23.4875
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: iSe+FA3PPkdFZggVgPh/d0nntiARQFlvkMoyleIuSFvV4kb16TWiDuj8DqYj5UK0gfzoiyYBipC2SswoqXzb2Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH5PR03MB7984

On Mon, Oct 20, 2025 at 01:19:20PM +0200, Jan Beulich wrote:
> With large NR_CPUS on-stack cpumask_t variables are problematic. Now that
> the IRQ handler can't be invoked in a nested manner anymore, we can
> instead use a per-CPU variable. While we can't use scratch_cpumask in code
> invoked from IRQ handlers, simply amend that one with a HPET-special form.
> (Note that only one of the two IRQ handling functions can come into play
> at any one time.)
> 
> Fixes: 996576b965cc ("xen: allow up to 16383 cpus")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Roger Pau MonnÃ© <roger.pau@citrix.com>

> ---
> While doing this I noticed that this and all pre-existing uses of
> DEFINE_PER_CPU_READ_MOSTLY() aren't quite right: When the type is
> cpumask_var_t, the variable is read-mostly only when NR_CPUS <=
> 2 * BITS_PER_LONG. That'll want sorting separately, though.
> 
> It is important for this to not be moved ahead of "x86/HPET: use single,
> global, low-priority vector for broadcast IRQ", as the original call here
> from set_channel_irq_affinity() may not use the new variable (it would
> need to use scratch_cpumask instead).
> ---
> v2: New.
> 
> --- a/xen/arch/x86/hpet.c
> +++ b/xen/arch/x86/hpet.c
> @@ -196,7 +196,7 @@ static void evt_do_broadcast(cpumask_t *
>  
>  static void cf_check handle_hpet_broadcast(struct hpet_event_channel *ch)
>  {
> -    cpumask_t mask;
> +    cpumask_t *scratch = this_cpu(hpet_scratch_cpumask);
>      s_time_t now, next_event;
>      unsigned int cpu;
>      unsigned long flags;
> @@ -209,7 +209,7 @@ again:
>      spin_unlock_irqrestore(&ch->lock, flags);
>  
>      next_event = STIME_MAX;
> -    cpumask_clear(&mask);
> +    cpumask_clear(scratch);
>      now = NOW();
>  
>      /* find all expired events */
> @@ -218,13 +218,13 @@ again:
>          s_time_t deadline = ACCESS_ONCE(per_cpu(timer_deadline, cpu));
>  
>          if ( deadline <= now )
> -            __cpumask_set_cpu(cpu, &mask);
> +            __cpumask_set_cpu(cpu, scratch);
>          else if ( deadline < next_event )
>              next_event = deadline;
>      }
>  
>      /* wakeup the cpus which have an expired event. */
> -    evt_do_broadcast(&mask);
> +    evt_do_broadcast(scratch);
>  
>      if ( next_event != STIME_MAX )
>      {
> --- a/xen/arch/x86/include/asm/smp.h
> +++ b/xen/arch/x86/include/asm/smp.h
> @@ -22,6 +22,7 @@
>  DECLARE_PER_CPU(cpumask_var_t, cpu_sibling_mask);
>  DECLARE_PER_CPU(cpumask_var_t, cpu_core_mask);
>  DECLARE_PER_CPU(cpumask_var_t, scratch_cpumask);
> +DECLARE_PER_CPU(cpumask_var_t, hpet_scratch_cpumask);

Should this be declared in the hpet.h header?

>  DECLARE_PER_CPU(cpumask_var_t, send_ipi_cpumask);
>  
>  /*
> --- a/xen/arch/x86/smpboot.c
> +++ b/xen/arch/x86/smpboot.c
> @@ -55,6 +55,9 @@ DEFINE_PER_CPU_READ_MOSTLY(cpumask_var_t
>  DEFINE_PER_CPU_READ_MOSTLY(cpumask_var_t, scratch_cpumask);
>  static cpumask_t scratch_cpu0mask;
>  
> +DEFINE_PER_CPU_READ_MOSTLY(cpumask_var_t, hpet_scratch_cpumask);
> +static cpumask_t hpet_scratch_cpu0mask;

And then this defined in hpet.c.

Just thinking whether someone would like to introduce support for
build time disabling HPET in the future.

Can always be moved at a later time anyway.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Oct 21 14:21:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Oct 2025 14:21:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1147327.1479650 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBDF3-0007m9-6j; Tue, 21 Oct 2025 14:21:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1147327.1479650; Tue, 21 Oct 2025 14:21:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBDF3-0007m2-12; Tue, 21 Oct 2025 14:21:37 +0000
Received: by outflank-mailman (input) for mailman id 1147327;
 Tue, 21 Oct 2025 14:21:36 +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
 <SRS0=M5X6=46=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1vBDF2-0007lw-6x
 for xen-devel@lists.xenproject.org; Tue, 21 Oct 2025 14:21:36 +0000
Received: from PH8PR06CU001.outbound.protection.outlook.com
 (mail-westus3azlp170120001.outbound.protection.outlook.com
 [2a01:111:f403:c107::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3ee39414-ae89-11f0-9d15-b5c5bf9af7f9;
 Tue, 21 Oct 2025 16:21:35 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by DS7PR03MB5623.namprd03.prod.outlook.com (2603:10b6:5:2cf::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.17; Tue, 21 Oct
 2025 14:21:31 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9253.011; Tue, 21 Oct 2025
 14:21:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3ee39414-ae89-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=rU2phMCLVBYrJXoatzgYk8nCQ4eThBUs8YMMau7blz/LfZsRfmmdhXVLHHvcH7cMPkQmfDnw468z3VZmY17JHVLhhL0fWpB32pRE2vo4AJPoY1jF6GlFT4U00Bz9SIkXNuKkQyACwgR9TRaOgEZvK7zKfz8NHfGgajMIsrQ65DhlQEvQ7o/iF9581btBPzdrd/w+boKuJGAZ6YSwduIQr6isCq1gscQV/+7vRyoOew6hrcbMKSRcGY2tAN2cW21iGBYsTe77LuOqOGax/WxGLbfiDc8iO2VRbsuUmArzn5x9FFWUrGGBJQ1+LjeODl1BOUbANr9v4Dy0XINu1gQOTA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9OxUF/0kD7ZEzjMOi1Zx5DlVrHK0lK5HxUg+S0vDjAQ=;
 b=ghMnwZZQC0QgxOdlvWpApvguIjj9e7RFBAJd5J1j3chRC8Cn6T5bp6sneiowwA4GfT63M1pvH2/hhcSL+LeofIqQlgDddBv4F+Hp2kabcx8gZWS8TaiAhaNjEYjOX02HbHCMKd9CL5gT3/sZ6r6Iw5tqeTcuXAQCzLwRW2QsS+pDv1jjbbuCbrweMrukV7JSylgaIfkUBJ6TpZ+2fMZwMsUZsxkAOYBVo1nbhSOBsKcti16lqENQxyiczSHG4aX2IwIx4CBCHil2osngIKoXqXz24IGYvOViciXhTAf7GZUorgQes/Dqd0+ms46vWxhTOtdruMrFQPaDz3PenV9pWQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9OxUF/0kD7ZEzjMOi1Zx5DlVrHK0lK5HxUg+S0vDjAQ=;
 b=Mg5XOabby2nYA4EPDMEb+P6mWP28F/9ufyLnhwQxZXPJveHzou3FJIzqGE8dU/6PlHYos1KHzgqsKg7kdaCDweqUmQktCf/cTAqzfYRDiwsyRFzcy+EySwfhO0/2Ih8/QZCZvdLDimXiSBeHsOu07Hz4r6NId5k2g4R2T1Acgo8=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 21 Oct 2025 15:21:25 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH v2 for-4.21 8/9] x86/HPET: don't use hardcoded 0 for
 "long timeout"
Message-ID: <aPeW5RZgFKKF15hw@Mac.lan>
References: <b66ea488-2d47-472c-9520-8590fdf89e0e@suse.com>
 <2e140536-6e24-4de7-a5f6-0c0e19951f13@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <2e140536-6e24-4de7-a5f6-0c0e19951f13@suse.com>
X-ClientProxiedBy: PR3P191CA0053.EURP191.PROD.OUTLOOK.COM
 (2603:10a6:102:55::28) To CH2PR03MB5223.namprd03.prod.outlook.com
 (2603:10b6:610:9c::21)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|DS7PR03MB5623:EE_
X-MS-Office365-Filtering-Correlation-Id: d7a99d8e-1814-4dce-afd7-08de10ad20e5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?aWlHbVJxY0g0VVhFMEVDWWtiYXZ1NXIwa015WWYzWWovdkQ4dC9mUDdNdGxQ?=
 =?utf-8?B?SUNtM0FNN2NBcnp3eDJieVdwUFQzWGMvSlU2QTMrMXFTZDFpdk9BYXZ1WXdL?=
 =?utf-8?B?VUVHU2lQZ1djNlJ2STQ0TDBha29RQ3V6ZGNyNGlwd3hnSndHdzBZSlhtOU1o?=
 =?utf-8?B?Tk9WaHA3bmZMbXBKZE8zTXNkVVJiV2FaREl5dDZaekNZVEVISHluY0FVWG1M?=
 =?utf-8?B?WmpOekdpWG1XN3ArNk51U3UzUU54OExVYXBrK1hzQXk0MGh4WmRXL1VuUXY5?=
 =?utf-8?B?blNJMXlCYUgzWHROK0k3aGlkaTVCMTJYNlpZdHcyTEVNb2VwMWFUYUtITW1I?=
 =?utf-8?B?S1FjczU0OGJ5Ukp6U290bkllaUVhT0UxRVZ5ZG9ZL3lDQlNVcGdhOEQwYWN1?=
 =?utf-8?B?VVZ5RjRDbDd5Q3M3NjJMUHgwKyszTjJZVFhsQldyc2pjRnBhcURWMlNRTmJC?=
 =?utf-8?B?UDIzUHhSTkNsTnRHVzRielhLbk1QaVkwSGJZTWNjK0FuR2hmNFJnWVFTNUdB?=
 =?utf-8?B?ekJLWjNFbHFWdkprbTFmdG5EbmRDZFcxWHZRdFliSDdqTnRxOU8wd2dmMC9r?=
 =?utf-8?B?MWphbXlyTkFDK3lBMGtyQkZFRjVRTUFQZngwR0RUSHMrdVV4OE8yd1dLcHBE?=
 =?utf-8?B?K05ycVB4S1d0UDVVSnp6ZXBDY2J0S2lTdno5OE1YN3EvY0p5T2JSQnpYUlFu?=
 =?utf-8?B?NzEvU3J6OE8zY1BaNFFxRVErUHhPQ0pJQWpvakdMT2VHbmlFU3lBbUNlaHFi?=
 =?utf-8?B?Qmh3c1VabFJGL1JQYnRlYjZyQy9Rd2pKYXhYdk9lckhlMFp1c1p6MlpoSUtp?=
 =?utf-8?B?Yy9tMldxVjlPZmkwbk5TZzlRaUtNc2FRV1BNVzBubkpPUFZDR09IcnZ4NzNl?=
 =?utf-8?B?aUJIU25KOHR0elorTkk0L1RzL1FsWlovb1F3Yi84bnVDWFdNZU1kSDQ5ZzJw?=
 =?utf-8?B?MGtjVWszNzBzMzhwR1pjOXRxSjNLbUNrUUo5YlpCczNlR2Q0RmR4eGRrM3py?=
 =?utf-8?B?aTRDNlV2L0tmV0l3NlY3YVpNWkdJRE9WTXJsNXBwUWRDLy9naE1sajZSeGFw?=
 =?utf-8?B?YittSUVoWHd6b2g2NXYvZmJ4ZGphTDFBRGFQTjlHWFFJeEVXdG5pMDdHeXdJ?=
 =?utf-8?B?emRXUjJPbFY5OThyZXdIdXRVSXFjcjVCeTd1VEhvaFpFV09ySEpoTG8rYUd5?=
 =?utf-8?B?WkVnS081UlBFcVdFdEdHTE4zdXoyaVVaWmxNUWd4bnNtL1dMNzROYmVIMW5a?=
 =?utf-8?B?bTFGOWNPQWt3SjFMckRHTVpMb2FoUS82YlJUTXYxRHd6cWhIajNYWndIeTAr?=
 =?utf-8?B?RDVkd2ROb3A4WWZOU2JrU3c1Q0g5TFh2NnBwWG5mVGVBNzB3ajd2bEwvRzRN?=
 =?utf-8?B?dldyUFpYOTVmaWRNYkZQQ1RNUWkyS2ZhMC8rYjV5dG9oUStjS2JnZ2t1dThm?=
 =?utf-8?B?bDFWb3J5a3FKWlE5NmVKQ0g0a2F3T1BDdmMrSngzRXo4WFV6TzhpQkFZeXRj?=
 =?utf-8?B?MHNRYm43c002dVdXVDJ4a1VyckFXeEpQUHNWV0lwdFo3WW9ySTFBZFVoUGtX?=
 =?utf-8?B?Y2E2Nyt3dFB6cGg1RVozcEkyTkNXa1JWSlBvVUhKV29ob0k4V21BbmxacXY0?=
 =?utf-8?B?b2MwNnF6NU1GZlp3UGNqZEp5V3JiTjN2Y3RKNVNQS0RnbmIydXR4VEM2cFFq?=
 =?utf-8?B?NllZTUdoZXpONTEyVWxmU1NSc0dXc1EwcEpEUktmUUZXb1BMY1MwSktHbDJ0?=
 =?utf-8?B?SEd2TXV0ZlhRbUV6Rk85RXgrMHdGSFBCTEJqVkhvcGRVbjZNc1NZc3dneW82?=
 =?utf-8?B?a2ltcVlDZU9BdUdsdUY4SEdrRENvQkFTSi83ODh1SlBRWUtsUFhTZEpJcEt1?=
 =?utf-8?B?K205Y3ZGMHA3TW44algyR2FwaXYrcjBGNWZrc0hCVEs4cmJaUGFFRFJiODBz?=
 =?utf-8?Q?/OgtK7onmuVx4CVmwQvlAvOi4fxGCASO?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NW5QVCt1aEZuYnBiWlhWWkF2L3RBc1lBUjVkc3UzTjRXbXE2bktBbkNreWQ2?=
 =?utf-8?B?eENwKzVwcnR6UU5UQnlDNzUrWFhRbk42ck9aTFVIMWl4bm1hUjZUQTVxUnZm?=
 =?utf-8?B?U1VQajZBK2FZRDdmZEVxazFIa1ZpdTl4VEFJcXBrYTlEaFIrcldVL3lHMEk4?=
 =?utf-8?B?Tm4vNEk4eVQrU3JwMW82ZjlhajZSbGJhaURpc1hMM3JSRVp0NjE0Um9ER3o2?=
 =?utf-8?B?cEtQV2t1SGpXV1NJcU82a3BRSmN3ajBxZ3Q4d2NsWnp3SGNvb0lFVFMxMWRs?=
 =?utf-8?B?STU0cEhQdDVJMVRFWjh4T0tDU0NYc1hYc3NLQkNMVFVHcWdoWENUQ3hPd1ps?=
 =?utf-8?B?ZGxuT29adnlBaUR4VUtPbk96R3hBQ0p2cEptU1Nobndvb0hBVHducUdBcVQy?=
 =?utf-8?B?VXRGN1dwTzY1V28wdTRGZ21FZlVsRUxISTlUSzhoWDFSOXZFcWpFbHdVRnFm?=
 =?utf-8?B?bjBPbXlpVVZDWFoxL1NyZ2VEL1ZNRFVNT0tvOUFybFcreWEvVVZDeEt4M1BI?=
 =?utf-8?B?ZlV6czJoSjdzNGZ0WHRUTUNvK3M5RUw3ZmxQQU90UWdBUEdNcTlZTFdYc1Ex?=
 =?utf-8?B?MVJPWkd0Rng1RDZ6MVl2SitWSkJSQitYTW1mYnByeVZoNW9zVThlN2lZN2ZK?=
 =?utf-8?B?SXVlTGRhTGlwWjBlaGxMY0FIcmgrVU1uZVhkeWRhV2trZFJHMHhQQU1TQTV1?=
 =?utf-8?B?YnVMMTFWcUM3UzJuYkdMT1ovRjR2UnhFTXBKdEYySExSMkx2TEFFWFRESVRh?=
 =?utf-8?B?VUJCQi9sdXk4RkdiQnNzVEJFcUUyOG11cXZjaTRwSUU3UHJNRmFxRGpsQmRw?=
 =?utf-8?B?V2hyOVVqeGFzK1QyZ2l2TGQ4bEpkUCtUSEp2SlcvZThHT2hncU5HOXB1S1ZL?=
 =?utf-8?B?VGo5dnZnZGlFNlRacWxmL1c0OEx3TitNU3VoVmI2NDlGdHNyWVJPZG50ek03?=
 =?utf-8?B?dlppbmgyc3lpL3JGS3JIQmRZTjdRa09RaXJkNzlkaVJnYUxNYlQ4SHhrSTZL?=
 =?utf-8?B?R0VnWTU5UTdTYmRyVnJXOXRxT3JjZm5nU2o2elFpMFp3QnlSMjNGTU95bklF?=
 =?utf-8?B?VUlzZVprejVwbVNVOUdKQjllVE1HMExTbFF4Z0hyVXJ5QzlnUmdBaVZHblRF?=
 =?utf-8?B?aDlvZGRYTVB0T1FValVVY01xNlNtUkkxZlJpV3A1MTQxWWFxcm1HQVFoYjRH?=
 =?utf-8?B?M3dqOTdEaHNPbkdsMHNucTJBUUF0U2pUeHU3dldMUHEvTm5zWGxoYVVSMzlk?=
 =?utf-8?B?UWJUWm1XVnJkNFF1NEUyK1M5Qjl4NG5iV25iZmh1Nys0VHV5QW9MT242MnUx?=
 =?utf-8?B?aWhlWU5zSlQ4V2pjTndhOEREQUcrRzVFK1QwdmlaN1lRaE5NS093WERyQTBq?=
 =?utf-8?B?L1gxNkZTSm5zTUZwYTBEN2tUWGR6U1FRT1V6VmxHaFMzQ3YxZ21XaXZ1TXpt?=
 =?utf-8?B?YVRTbVgwUUpDZWxQQnEwTzg0RjlYbGJYTlI2WWFRaktKUGYxaXpxYU9LdnFt?=
 =?utf-8?B?WStBNnFIZ1doeVpRaXM0emhwRy9kck01V2Fqcit3Z1FpNEtLR3ZBUnZUNEhS?=
 =?utf-8?B?MHgrVGg5ZmZmOHAyL1UwRTEwR3ZhSEF2bFNkc1dkUm9JMHpHOXkzK3FwQ2Yw?=
 =?utf-8?B?SzhZZ252VEdqTGNmdFdjVWpMTndjcEgvNTZncGNadGpEMVRFS3JuanIvR1Vh?=
 =?utf-8?B?ZkxvVzVDcXQrZER1UHYyRklTZnV3bG9vdDFOTjIwZ1hOM2hWUE5XMjNTdjNV?=
 =?utf-8?B?TkpmdWUvY3VKWThIQ2dpYW1nU0dLZFRaUk1jWmV1MFRpNytWdmp5WExybi8y?=
 =?utf-8?B?ZWRWT29QTkNXY2N5bkduSFVDdExsQ21ZcGlVTWIreXNCekVtU1QvOHNuUExn?=
 =?utf-8?B?L0NoSU5HU1hlQUR5a3lnL3NaVGVLa2dLYlhwc2UvOGxtTTZtekpRVEpycnpF?=
 =?utf-8?B?TS94ZUNMS1JQQmpzMFRVcHVMY1c0blF0U2UwMmRjeGpYZU15V3ZRbU9ZbkJ4?=
 =?utf-8?B?WTJ6U2FzajFubWdoSzJocTNYQ2N6d2I0MVZhOWZiZWIweW9PMG9DTzdZeHJv?=
 =?utf-8?B?YUk1dHIzd1FjMGkxMjA3RlRpYTNNZ2prd2ZIakxHLzFISVQ2R2ZlOEpJaE5H?=
 =?utf-8?Q?LXas7wEm8vbqdSOkFcxIoYYvC?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d7a99d8e-1814-4dce-afd7-08de10ad20e5
X-MS-Exchange-CrossTenant-AuthSource: CH2PR03MB5223.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Oct 2025 14:21:31.1165
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: QwoxA+/KYoG3TZGZ7P0GxTYutneL9dRig7UvsyGvjUDRZQuS2Lgph1LbLCVdjhqPh7gVLPhzvStNEJnO4hJzag==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR03MB5623

On Mon, Oct 20, 2025 at 01:21:18PM +0200, Jan Beulich wrote:
> With 32-bit counters, writing 0 means on average half the wrapping period
> until an interrupt would be raised. Yet of course in extreme cases an
> interrupt would be raised almost right away. Write the present counter
> value instead, to make the timeout predicatbly a full wrapping period.
> 
> Fixes: e862b83e8433 ("CPUIDLE: Avoid remnant HPET intr while force hpetbroadcast")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Maybe I'm missing a path, but are there any callers that still pass
STIME_MAX to reprogram_hpet_evt_channel()?

hpet_broadcast_exit() no longer explicitly passes STIME_MAX like it
did in e862b83e8433, and then the per-cpu timer_deadline variable is
not set to STIME_MAX either in timer_softirq_action().

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Oct 21 14:23:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Oct 2025 14:23:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1147339.1479659 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBDGd-0008I7-FE; Tue, 21 Oct 2025 14:23:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1147339.1479659; Tue, 21 Oct 2025 14:23:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBDGd-0008I0-BL; Tue, 21 Oct 2025 14:23:15 +0000
Received: by outflank-mailman (input) for mailman id 1147339;
 Tue, 21 Oct 2025 14:23:13 +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 <SRS0=iH+j=46=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1vBDGb-0008HW-Hb
 for xen-devel@lists.xenproject.org; Tue, 21 Oct 2025 14:23:13 +0000
Received: from mail-wm1-x332.google.com (mail-wm1-x332.google.com
 [2a00:1450:4864:20::332])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 76dc23d5-ae89-11f0-980a-7dc792cee155;
 Tue, 21 Oct 2025 16:23:07 +0200 (CEST)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-471076f819bso44698665e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 21 Oct 2025 07:23:07 -0700 (PDT)
Received: from [192.168.69.221] (88-187-86-199.subs.proxad.net.
 [88.187.86.199]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-427f00cdf6csm20473949f8f.43.2025.10.21.07.23.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 21 Oct 2025 07:23:05 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 76dc23d5-ae89-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1761056587; x=1761661387; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=lujhmAKv4qj3zqFSyJwljj3Hbz9BgNvxk1iEvf3EvUc=;
        b=TzorcmDaCVINdx+SlB1wgqPXifCTx9ECjcjU6D+BYR0ZELchTGuKW6HfPQb3mWkttt
         iznO8nH8tY6j5AXrz1K1cpg+0CuYeVOI5Ku+4CUjxQ8mX0iPCUl5C2Q4MTTpAzT5hZdA
         a753gMUgi8Db00Aj96pMobM669BU2fQMeokjh5kLz9Qk86RCg53naNADuIb+EJ4HzZMa
         LYNVb61sx1RUHZYzV2nn8ixqDlyC/R4qJheT4lDz01od7CN4OClRj2ZWwFIXFEEw+hcx
         HaOvhzwWQMLITaFL/MhVCE+bayf5uBO6zuWuPoqB+KW2OzCd32cBLRuD3YFSV74Nc7G3
         z8nQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761056587; x=1761661387;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=lujhmAKv4qj3zqFSyJwljj3Hbz9BgNvxk1iEvf3EvUc=;
        b=gkejn4AbzIKV4yENLAmGPzmOwtnFEiuQlPax9fVNQO/XU9ayzv0XpcciFzdc9OnTPl
         fhJD7D4AZg2xk/dnCUHiToLeOiyBg6j4j8nGsx+dU+hyQ4Cc5RQLONaQ5T+5ffUraegk
         pYsPQXLu/fpjv6XtXhKv2uzjd6BcY0qqe5KAfcp0TQsdq8Eyqzu3pUIDeZQC8FtU4VDd
         cENWQF8qw7QmCUVvjnb60ZCi7eYL8udDteUCFCjE//K3usZeNvzivO31gTxn2Bi+0DNS
         Rre1jgfya7ssctjhcqCLPmAqmbfFwaegMbvOQjRyWXj94W/LLdXXLleHytwO3EXJv+cH
         zQFw==
X-Forwarded-Encrypted: i=1; AJvYcCWZs77qlh/KYkPQCWY1MS6HdVLv/498djJHBX7UlATtn4EapvUsJa9snYJSEDs1w/qvi+U3kLaqA0o=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzfbHg0xayTe+bTi4RqcaXfhEqUzPh7JoAPp8Rn+++1ERRzVM74
	YH8Ujsb5ZGPAPeSKAaBSyuA8kGiuBRQkGgySrIo5Pim/Fku6EZOw7XUNFvAu8Fr8bIQ=
X-Gm-Gg: ASbGnctjWSGq8FOWBufSs7aCp4uwp9TMiz+XAWz9D1QIXuyhaSDo2ZF+hcNuaU7W7UO
	HVO9GIKCxpNlv9tlG1pk6j31Yy7f7NfqcIn23eWt8zGXWAeZ/LKCBv8MQ24wINcqR3vmt1oZBbk
	2FaL68JtFO8lo/lz+LnocG9fPdxub3PSKhigyAI+4HnAOqEgXk+HxNgPOp/cyajoPtpxGe4++Qq
	W7xt3u7FhIDskdtx/Al0WpK7fs3Esy3B1/lDIXp93jnzg/guOJK8IvsdIEg6CJxuiQEg+ZnnDTk
	5CK8ThxrAhaUyMdhjlZLQo3lsK6IE5C6ynsczkTmhTZlVUBtC9wmqp+XzwJYq0q8O+VX+Woddl8
	+q8xo+EHFFScI+43K6ZUy7+TrlSqLOnGjZO4x+wSbmZsb8/6VPAOKu2Gc5C4YFeZgNXLOCGP5ic
	3nTEYKBgSNgTG+m8aM7T4Ho6cXXrrZWkU7PIFULNDouwQG8R3P150a2A==
X-Google-Smtp-Source: AGHT+IGpNQZriF03nrUdfXcsadeGS/wWcOcHtxrbwixqf2QWNQLelRmKaF2GA7cZAx1ECPorWCWExA==
X-Received: by 2002:a05:600c:820b:b0:46e:1fc2:f9ac with SMTP id 5b1f17b1804b1-4711787dc76mr114596775e9.10.1761056586906;
        Tue, 21 Oct 2025 07:23:06 -0700 (PDT)
Message-ID: <f764e4cf-d134-4c4d-a313-a5b7dd6620d0@linaro.org>
Date: Tue, 21 Oct 2025 16:23:03 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] char: rename CharBackend->CharFrontend
Content-Language: en-US
To: =?UTF-8?Q?Marc-Andr=C3=A9_Lureau?= <marcandre.lureau@gmail.com>,
 "Dr. David Alan Gilbert" <dave@treblig.org>
Cc: Peter Maydell <peter.maydell@linaro.org>, qemu-devel@nongnu.org,
 pbonzini@redhat.com, "Michael S. Tsirkin" <mst@redhat.com>,
 Stefano Garzarella <sgarzare@redhat.com>,
 "Gonglei (Arei)" <arei.gonglei@huawei.com>,
 Zhenwei Pi <pizhenwei@bytedance.com>, Laurent Vivier <lvivier@redhat.com>,
 Amit Shah <amit@kernel.org>, Stefan Berger <stefanb@linux.vnet.ibm.com>,
 =?UTF-8?Q?Alex_Benn=C3=A9e?= <alex.bennee@linaro.org>,
 Igor Mitsyanko <i.mitsyanko@gmail.com>, =?UTF-8?Q?Cl=C3=A9ment_Chigot?=
 <chigot@adacore.com>, Frederic Konrad <konrad.frederic@yahoo.fr>,
 Alberto Garcia <berto@igalia.com>, Thomas Huth <huth@tuxfamily.org>,
 Halil Pasic <pasic@linux.ibm.com>,
 Christian Borntraeger <borntraeger@linux.ibm.com>,
 Jason Herne <jjherne@linux.ibm.com>,
 Yoshinori Sato <yoshinori.sato@nifty.com>,
 Magnus Damm <magnus.damm@gmail.com>, Nicholas Piggin <npiggin@gmail.com>,
 Harsh Prateek Bora <harshpb@linux.ibm.com>,
 "Collin L. Walling" <walling@linux.ibm.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony@xenproject.org>, Paul Durrant <paul@xen.org>,
 "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
 Alistair Francis <alistair@alistair23.me>,
 =?UTF-8?Q?Daniel_P=2E_Berrang=C3=A9?= <berrange@redhat.com>,
 Eduardo Habkost <eduardo@habkost.net>, Corey Minyard <minyard@acm.org>,
 Paul Burton <paulburton@kernel.org>, Aleksandar Rikalo <arikalo@gmail.com>,
 Aurelien Jarno <aurelien@aurel32.net>, Palmer Dabbelt <palmer@dabbelt.com>,
 Weiwei Li <liwei1518@gmail.com>,
 Daniel Henrique Barboza <dbarboza@ventanamicro.com>,
 Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
 Samuel Thibault <samuel.thibault@ens-lyon.org>,
 Michael Rolnik <mrolnik@gmail.com>, Antony Pavlov <antonynpavlov@gmail.com>,
 Joel Stanley <joel@jms.id.au>, Vijai Kumar K <vijai@behindbytes.com>,
 Samuel Tardieu <sam@rfc1149.net>, Gustavo Romero
 <gustavo.romero@linaro.org>, Raphael Norwitz <raphael@enfabrica.net>,
 Stefan Hajnoczi <stefanha@redhat.com>,
 "reviewer:vhost-user-scmi" <mzamazal@redhat.com>,
 Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp>,
 Dmitry Osipenko <dmitry.osipenko@collabora.com>,
 Fabiano Rosas <farosas@suse.de>, Markus Armbruster <armbru@redhat.com>,
 Zhang Chen <zhangckid@gmail.com>, Li Zhijian <lizhijian@fujitsu.com>,
 Jason Wang <jasowang@redhat.com>,
 Manos Pitsidianakis <manos.pitsidianakis@linaro.org>,
 Richard Henderson <richard.henderson@linaro.org>,
 Helge Deller <deller@gmx.de>, Max Filippov <jcmvbkbc@gmail.com>,
 Lukas Straub <lukasstraub2@web.de>,
 "open list:Sharp SL-5500 Co..." <qemu-arm@nongnu.org>,
 "open list:S390 SCLP-backed..." <qemu-s390x@nongnu.org>,
 "open list:sPAPR (pseries)" <qemu-ppc@nongnu.org>,
 "open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>,
 "open list:RISC-V TCG CPUs" <qemu-riscv@nongnu.org>,
 "open list:virtiofs" <virtio-fs@lists.linux.dev>,
 "open list:Rust-related patc..." <qemu-rust@nongnu.org>
References: <20251021122533.721467-1-marcandre.lureau@redhat.com>
 <CAFEAcA-jPE_onLYLMxgcAOB7dWRXOLJrWcGPnR0NUdjYytPDVA@mail.gmail.com>
 <aPePcTKl6s4FoLCL@gallifrey>
 <CAJ+F1C+bGKtY6nf3LCXrwhZ2aEdu2npXJ9FapmsqgX0uLL5TUw@mail.gmail.com>
From: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>
In-Reply-To: <CAJ+F1C+bGKtY6nf3LCXrwhZ2aEdu2npXJ9FapmsqgX0uLL5TUw@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 21/10/25 15:58, Marc-AndrÃ© Lureau wrote:
> Hi
> 
> On Tue, Oct 21, 2025 at 5:52â€¯PM Dr. David Alan Gilbert <dave@treblig.org> wrote:
>>
>> * Peter Maydell (peter.maydell@linaro.org) wrote:
>>> Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com> wrote:
>>>> The actual backend is "Chardev", CharBackend is the frontend side of it,
>>>> let's rename it for readability.
>>>
>>> I always thought the "frontend" was the device the guest
>>> saw (the 16650 UART or whatever). invocation.html has bits
>>> talking about "virtio hvc console frontend device" which
>>> seem like they also use that terminology.
>>>
>>> If we want to clean up the naming it might be helpful to have
>>> a comment somewhere documenting the different components and
>>> what names we give them and how they fit together (or even
>>> better, something in docs/devel/...)
>>
>> Or something more descriptive like 'CharGuestSide'
> 
> If we are talking about the Chardev frontend or user, that's too
> restrictive. We have generic stream handling code (think
> mux/hub/tests/client/server etc) that do not fit that usage naming.

Isn't it

- backend -> host adapter
- frontend -> implementation used by guest

?


From xen-devel-bounces@lists.xenproject.org Tue Oct 21 14:28:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Oct 2025 14:28:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1147351.1479669 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBDLS-0000dB-07; Tue, 21 Oct 2025 14:28:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1147351.1479669; Tue, 21 Oct 2025 14:28:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBDLR-0000d4-TG; Tue, 21 Oct 2025 14:28:13 +0000
Received: by outflank-mailman (input) for mailman id 1147351;
 Tue, 21 Oct 2025 14:28:12 +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
 <SRS0=Ych8=46=gmail.com=marcandre.lureau@srs-se1.protection.inumbo.net>)
 id 1vBDLQ-0000cy-Kj
 for xen-devel@lists.xenproject.org; Tue, 21 Oct 2025 14:28:12 +0000
Received: from mail-qk1-x734.google.com (mail-qk1-x734.google.com
 [2607:f8b0:4864:20::734])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2b3a9eb7-ae8a-11f0-9d15-b5c5bf9af7f9;
 Tue, 21 Oct 2025 16:28:10 +0200 (CEST)
Received: by mail-qk1-x734.google.com with SMTP id
 af79cd13be357-890deb84f95so635552685a.1
 for <xen-devel@lists.xenproject.org>; Tue, 21 Oct 2025 07:28:10 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2b3a9eb7-ae8a-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1761056890; x=1761661690; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=fOkDZIYP624hXJ84QvSPoENvTgmCF83wfkY593GGoOU=;
        b=HFUf07gI8lsToZui/9DZ1QvAKPOkaoMV4fY6XW8PE0hF+XN5CS5LzayQeUPHjQBvT7
         y69svkphRvK1fXN+ciri1Anit7ju2Ird5UR+HMW4opj7q5/pd/XOB4K2FSkuQv7VQ9pS
         QU50Hxe95x/NVrl5GaHeMkF1i3zGSwf6PJh++da6DClYxslXc443oZQjKXrLlEqX78Gf
         fOEf4m7rfE6Fl2cPeDgaJZKA3Io1C4421zQnS6CaA+g8jaKky1qTd++ckBPJEg1VQXui
         jkRaEuikEWbuwFjSdvDczqgkmPjxfXlGz1KSg2lKjZPXOJoyr0Zpy6DtxWzmB/sAlN8e
         eZiA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761056890; x=1761661690;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=fOkDZIYP624hXJ84QvSPoENvTgmCF83wfkY593GGoOU=;
        b=sUvvqG/3Tt9/REyBAIyrsZBRSWaC2b3xelThn7xgz3pSK80W/7hGKMpFaFFnljbBVi
         hV5uncMaieSThgoDj8EVcNb3qwr6xRUyf7JimHMI8I6cCjLeMymwCVoB1E+7I/TXlCBg
         ihHyxzKwIYV+R4NiGIP2MsEnoc65Vchcb2W0o2PafT8GBeZxTjcciitJIflQQy3WvDUc
         PWACYjT4S5GuhK7hiNcNZ0/SxsUh2HH3LRGibu2QBVgBuIhid/I+B80XADfQ8CZ1q+UD
         CfgWMYDS0XQB/+TTkL53JLy+eapjP81+F8Ix+ekZMRAWjRraCB1DtXl/c1TIDwIzk1Jg
         Eurw==
X-Forwarded-Encrypted: i=1; AJvYcCUVmjt6r3/CudaWDr92BUTz5/yu3kjNHT3JxwaTSUUK8bqOJ9yumippJK2MPqL4gNzKi/Ue0s0GU64=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwnCbTpKKOQEGrzlW39OgDlyRzTghwFpiZ3QpD4Dxw9FThsLo/h
	+ETUtfBfeb3a54O+peu4Ec3O1Mp3DiO+QUdopO8mzg5+uDh3PUdxENlRlJaMVkSiC4X05nfb3VN
	00Bw9WdllFPR6azKrh2UoqSukpoo1IKg=
X-Gm-Gg: ASbGncv0Oyno8zvEqvichNvKHkja7HyZnNYyZQx0r9bIPKLnAQ0v9QED78XR5FcENnf
	9SWlwl9Y7jNeFoS4rPZVnpfsCbNAHeMYuONXrK/zxhxmUm1+/vRneHnwmSn8PNPPiap/556zfF6
	cOPcp+U6cuum8SHpNwFt2yftUK2gPRr3gzXiJSqPzHxhKf1461RkhJUL8qkwSlgOA+K9sEwg2Ui
	k2rfiSoLzdSh+VyAocfD7a0xdd/R3fl2BRsq3+KcR64FHH5Mo8Q2z+5D1YTdpfP6Av22iko6Mez
	OZ4pYB/cnxYoknDq
X-Google-Smtp-Source: AGHT+IGp+zf0u9SIF08iLE3a5Asq68ZbyrbibcTK8YXdD3xNkn5pXcBzDMuiMfZHuV9n++d97YerVbPf0S+nqo2EBIc=
X-Received: by 2002:a05:622a:310:b0:4d9:dea6:4ff0 with SMTP id
 d75a77b69052e-4e89d3d5924mr245955091cf.56.1761056889597; Tue, 21 Oct 2025
 07:28:09 -0700 (PDT)
MIME-Version: 1.0
References: <20251021122533.721467-1-marcandre.lureau@redhat.com>
 <CAFEAcA-jPE_onLYLMxgcAOB7dWRXOLJrWcGPnR0NUdjYytPDVA@mail.gmail.com>
 <aPePcTKl6s4FoLCL@gallifrey> <CAJ+F1C+bGKtY6nf3LCXrwhZ2aEdu2npXJ9FapmsqgX0uLL5TUw@mail.gmail.com>
 <f764e4cf-d134-4c4d-a313-a5b7dd6620d0@linaro.org>
In-Reply-To: <f764e4cf-d134-4c4d-a313-a5b7dd6620d0@linaro.org>
From: =?UTF-8?B?TWFyYy1BbmRyw6kgTHVyZWF1?= <marcandre.lureau@gmail.com>
Date: Tue, 21 Oct 2025 18:27:58 +0400
X-Gm-Features: AS18NWCtKDmDRRz11NBqNv3KECG8ofxt09PdE7ub3r-ykIF5WUP85WNT3b3fqdE
Message-ID: <CAJ+F1CKG1G=5o+bDBXmLm6ywWDD19z1OFBwQQnDMxMFytFQ2SQ@mail.gmail.com>
Subject: Re: [PATCH] char: rename CharBackend->CharFrontend
To: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= <philmd@linaro.org>
Cc: "Dr. David Alan Gilbert" <dave@treblig.org>, Peter Maydell <peter.maydell@linaro.org>, qemu-devel@nongnu.org, 
	pbonzini@redhat.com, "Michael S. Tsirkin" <mst@redhat.com>, 
	Stefano Garzarella <sgarzare@redhat.com>, "Gonglei (Arei)" <arei.gonglei@huawei.com>, 
	Zhenwei Pi <pizhenwei@bytedance.com>, Laurent Vivier <lvivier@redhat.com>, 
	Amit Shah <amit@kernel.org>, Stefan Berger <stefanb@linux.vnet.ibm.com>, 
	=?UTF-8?B?QWxleCBCZW5uw6ll?= <alex.bennee@linaro.org>, 
	Igor Mitsyanko <i.mitsyanko@gmail.com>, =?UTF-8?Q?Cl=C3=A9ment_Chigot?= <chigot@adacore.com>, 
	Frederic Konrad <konrad.frederic@yahoo.fr>, Alberto Garcia <berto@igalia.com>, 
	Thomas Huth <huth@tuxfamily.org>, Halil Pasic <pasic@linux.ibm.com>, 
	Christian Borntraeger <borntraeger@linux.ibm.com>, Jason Herne <jjherne@linux.ibm.com>, 
	Yoshinori Sato <yoshinori.sato@nifty.com>, Magnus Damm <magnus.damm@gmail.com>, 
	Nicholas Piggin <npiggin@gmail.com>, Harsh Prateek Bora <harshpb@linux.ibm.com>, 
	"Collin L. Walling" <walling@linux.ibm.com>, Stefano Stabellini <sstabellini@kernel.org>, 
	Anthony PERARD <anthony@xenproject.org>, Paul Durrant <paul@xen.org>, 
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>, Alistair Francis <alistair@alistair23.me>, 
	=?UTF-8?Q?Daniel_P=2E_Berrang=C3=A9?= <berrange@redhat.com>, 
	Eduardo Habkost <eduardo@habkost.net>, Corey Minyard <minyard@acm.org>, 
	Paul Burton <paulburton@kernel.org>, Aleksandar Rikalo <arikalo@gmail.com>, 
	Aurelien Jarno <aurelien@aurel32.net>, Palmer Dabbelt <palmer@dabbelt.com>, 
	Weiwei Li <liwei1518@gmail.com>, Daniel Henrique Barboza <dbarboza@ventanamicro.com>, 
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>, 
	Samuel Thibault <samuel.thibault@ens-lyon.org>, Michael Rolnik <mrolnik@gmail.com>, 
	Antony Pavlov <antonynpavlov@gmail.com>, Joel Stanley <joel@jms.id.au>, 
	Vijai Kumar K <vijai@behindbytes.com>, Samuel Tardieu <sam@rfc1149.net>, 
	Gustavo Romero <gustavo.romero@linaro.org>, Raphael Norwitz <raphael@enfabrica.net>, 
	Stefan Hajnoczi <stefanha@redhat.com>, "reviewer:vhost-user-scmi" <mzamazal@redhat.com>, 
	Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp>, 
	Dmitry Osipenko <dmitry.osipenko@collabora.com>, Fabiano Rosas <farosas@suse.de>, 
	Markus Armbruster <armbru@redhat.com>, Zhang Chen <zhangckid@gmail.com>, 
	Li Zhijian <lizhijian@fujitsu.com>, Jason Wang <jasowang@redhat.com>, 
	Manos Pitsidianakis <manos.pitsidianakis@linaro.org>, 
	Richard Henderson <richard.henderson@linaro.org>, Helge Deller <deller@gmx.de>, 
	Max Filippov <jcmvbkbc@gmail.com>, Lukas Straub <lukasstraub2@web.de>, 
	"open list:Sharp SL-5500 Co..." <qemu-arm@nongnu.org>, 
	"open list:S390 SCLP-backed..." <qemu-s390x@nongnu.org>, "open list:sPAPR (pseries)" <qemu-ppc@nongnu.org>, 
	"open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>, 
	"open list:RISC-V TCG CPUs" <qemu-riscv@nongnu.org>, "open list:virtiofs" <virtio-fs@lists.linux.dev>, 
	"open list:Rust-related patc..." <qemu-rust@nongnu.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi

On Tue, Oct 21, 2025 at 6:23=E2=80=AFPM Philippe Mathieu-Daud=C3=A9
<philmd@linaro.org> wrote:
>
> On 21/10/25 15:58, Marc-Andr=C3=A9 Lureau wrote:
> > Hi
> >
> > On Tue, Oct 21, 2025 at 5:52=E2=80=AFPM Dr. David Alan Gilbert <dave@tr=
eblig.org> wrote:
> >>
> >> * Peter Maydell (peter.maydell@linaro.org) wrote:
> >>> Marc-Andr=C3=A9 Lureau <marcandre.lureau@redhat.com> wrote:
> >>>> The actual backend is "Chardev", CharBackend is the frontend side of=
 it,
> >>>> let's rename it for readability.
> >>>
> >>> I always thought the "frontend" was the device the guest
> >>> saw (the 16650 UART or whatever). invocation.html has bits
> >>> talking about "virtio hvc console frontend device" which
> >>> seem like they also use that terminology.
> >>>
> >>> If we want to clean up the naming it might be helpful to have
> >>> a comment somewhere documenting the different components and
> >>> what names we give them and how they fit together (or even
> >>> better, something in docs/devel/...)
> >>
> >> Or something more descriptive like 'CharGuestSide'
> >
> > If we are talking about the Chardev frontend or user, that's too
> > restrictive. We have generic stream handling code (think
> > mux/hub/tests/client/server etc) that do not fit that usage naming.
>
> Isn't it
>
> - backend -> host adapter
> - frontend -> implementation used by guest
>

Sort of, but I think it's too restrictive to name them after "host"
and "guest", as they also have different purposes than strictly VM
components/side usage.

I believe talking about backend and frontend is usually the preferred
convention.


--=20
Marc-Andr=C3=A9 Lureau


From xen-devel-bounces@lists.xenproject.org Tue Oct 21 14:44:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Oct 2025 14:44:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1147363.1479678 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBDaY-0003OX-3s; Tue, 21 Oct 2025 14:43:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1147363.1479678; Tue, 21 Oct 2025 14:43:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBDaY-0003OQ-1C; Tue, 21 Oct 2025 14:43:50 +0000
Received: by outflank-mailman (input) for mailman id 1147363;
 Tue, 21 Oct 2025 14:43:48 +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 <SRS0=9TpK=46=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vBDaV-0003OK-Rd
 for xen-devel@lists.xenproject.org; Tue, 21 Oct 2025 14:43:47 +0000
Received: from mail-wm1-x334.google.com (mail-wm1-x334.google.com
 [2a00:1450:4864:20::334])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5700220d-ae8c-11f0-980a-7dc792cee155;
 Tue, 21 Oct 2025 16:43:42 +0200 (CEST)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-47114a40161so14201715e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 21 Oct 2025 07:43:42 -0700 (PDT)
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-4711c487dfesm281106825e9.17.2025.10.21.07.43.41
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 21 Oct 2025 07:43:41 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5700220d-ae8c-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761057822; x=1761662622; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=NCiRVNIwSQKY4xt0nueDodWSjVCFFmNSTZCQgicPUZQ=;
        b=XaI886lWvQiZ7qF7b/1dHSoAZ6wyc91FaWp/sYC3YVb2WalWMKAmZfjegDrUP38Ckd
         4Mg8KNkoTTSczPifBEU/NtW4yBaejukd/piw0UZejzKwE2ek8cjxwQwEfSIePlpsRoBt
         BWNpQCAD2CQR94buWEhQLH6ZbHdf5TBIBHbED6wu4DuHdeFaSueg0Ua/p07PQ1X/Rh2w
         llLcUSF2aDPaFc4nyQAwtk+VFJKKF0LULF4N9tX4clRtxCWSaBfReBhy7tVem6FmOA+x
         LCwpxd3S/qHcbQjGdbmZpcyXv1yovzfHE3lrKru2r0bXI3wTuuyInQg8sLGwMJ8KArZZ
         u9gg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761057822; x=1761662622;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=NCiRVNIwSQKY4xt0nueDodWSjVCFFmNSTZCQgicPUZQ=;
        b=K9gFY+yE7ozjnw9019VkEIPIHXQhh9qT2xno7xSoWRTQpeajkQJ/Gu/385QFmkyJ6G
         /a5lmvF89xy9D1izPW9naJ5Stku5JmFG802/Ey6+4zKECvWKCBRW4gD1hRFzgBasQqYP
         P6OEzxhQVtPN1+a443pqtvHmRre1umZuw/BNmZbphXmwyahLsXwGoZMduyAGhv2tZknB
         5ymO5KCP/p7D4VosenRJ+zQLJbEp247FAaBySlk5tll+v2JYuukPdalarFjIweVXjcFT
         U5cOeErxqYkFziVcbEuyFd3pMB/iEsdtArXIJK5lJxCN5iZP8q8sF8gYBcCYytCNlcpm
         yMOg==
X-Gm-Message-State: AOJu0YwSPBbn6ASUykA+vRlY7anFLixIZNni/+JLbOSRhzz3xI0o25OF
	h0rSHTPlvl+ESMuwB7cdAf2xeAHpQCqzcxVNz6TWP+BbamujNyQGyef6p/0vSlMN9Q==
X-Gm-Gg: ASbGncu6ZkqeJWnjCMIi7BskQsjmbgN5i9LzuDK+/71CbHJaP1tiIWYL4/1+I/3z+Vm
	JYZsAB0YN4+4KS56UZvc6UUgNPGlIYBZiYDDRXyla9r/s6ZmhETTrE3wrRYO1kpOuZqVopCbaRp
	0VLxCg+T15vl2sTlHk8BDs6qhmMQqbAsBz+ES+cVpCVvHn1IYZcf4x5crlM8vAl0h7jKglmZbdz
	3cFJs7hJuMHInqEhj/pVokOlZZSQ5w22ecnGMbPP0eFJJMpBcbtMnoIML4jna2Bg3trEcBLYGnM
	12PGssA1+H3S2CVbsQlg1Fqe2U6kOq1ByKW+qZIlNkM0n32ZaUggVOOkxX/xGP/1oaXfRt58Kn5
	iL2cN+92teTiWTNkyolZLRTfwHlPVUZ4KGOkQcenZeiQIz2EuYjx9gOHq8RltOdjs2sCOzTz+fY
	+HcSo4djeul6SYQnbwEAh+VlFZSQDBD+4g3WKdaW4dSvO1dTsBWEhTbMcsp6ndJbgdgN/j8YM=
X-Google-Smtp-Source: AGHT+IGnA36etHLkNOjfRYhU58FFNFx0d+Bm7xAyUKWUB6sg+Nk3aBuc/h4kn32ov/AL+gj2R6+q4Q==
X-Received: by 2002:a05:600c:354a:b0:46e:59bd:f7d3 with SMTP id 5b1f17b1804b1-47117903f24mr115967415e9.20.1761057822227;
        Tue, 21 Oct 2025 07:43:42 -0700 (PDT)
Message-ID: <e63e2953-27aa-43d7-93d5-6042fd12f8ac@suse.com>
Date: Tue, 21 Oct 2025 16:43:40 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 for-4.21 3/9] x86/HPET: replace
 handle_hpet_broadcast()'s on-stack cpumask_t
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <b66ea488-2d47-472c-9520-8590fdf89e0e@suse.com>
 <c357cb79-a10d-4d81-9695-9d16a4080595@suse.com> <aPeT0h-S7FVgk3TZ@Mac.lan>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <aPeT0h-S7FVgk3TZ@Mac.lan>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 21.10.2025 16:08, Roger Pau MonnÃ© wrote:
> On Mon, Oct 20, 2025 at 01:19:20PM +0200, Jan Beulich wrote:
>> With large NR_CPUS on-stack cpumask_t variables are problematic. Now that
>> the IRQ handler can't be invoked in a nested manner anymore, we can
>> instead use a per-CPU variable. While we can't use scratch_cpumask in code
>> invoked from IRQ handlers, simply amend that one with a HPET-special form.
>> (Note that only one of the two IRQ handling functions can come into play
>> at any one time.)
>>
>> Fixes: 996576b965cc ("xen: allow up to 16383 cpus")
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Reviewed-by: Roger Pau MonnÃ© <roger.pau@citrix.com>

Thanks.

>> --- a/xen/arch/x86/include/asm/smp.h
>> +++ b/xen/arch/x86/include/asm/smp.h
>> @@ -22,6 +22,7 @@
>>  DECLARE_PER_CPU(cpumask_var_t, cpu_sibling_mask);
>>  DECLARE_PER_CPU(cpumask_var_t, cpu_core_mask);
>>  DECLARE_PER_CPU(cpumask_var_t, scratch_cpumask);
>> +DECLARE_PER_CPU(cpumask_var_t, hpet_scratch_cpumask);
> 
> Should this be declared in the hpet.h header?

Imo not without also ...

>> --- a/xen/arch/x86/smpboot.c
>> +++ b/xen/arch/x86/smpboot.c
>> @@ -55,6 +55,9 @@ DEFINE_PER_CPU_READ_MOSTLY(cpumask_var_t
>>  DEFINE_PER_CPU_READ_MOSTLY(cpumask_var_t, scratch_cpumask);
>>  static cpumask_t scratch_cpu0mask;
>>  
>> +DEFINE_PER_CPU_READ_MOSTLY(cpumask_var_t, hpet_scratch_cpumask);
>> +static cpumask_t hpet_scratch_cpu0mask;
> 
> And then this defined in hpet.c.

... moving this. Which in turn I specifically avoided putting in hpet.c,
as otherwise the change would further grow, as would the risk of things
going out of sync.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Oct 21 14:45:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Oct 2025 14:45:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1147378.1479692 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBDcM-00041p-KZ; Tue, 21 Oct 2025 14:45:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1147378.1479692; Tue, 21 Oct 2025 14:45:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBDcM-00041i-I0; Tue, 21 Oct 2025 14:45:42 +0000
Received: by outflank-mailman (input) for mailman id 1147378;
 Tue, 21 Oct 2025 14:45:41 +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
 <SRS0=vC3x=46=bounce.vates.tech=bounce-md_30504962.68f79c93.v1-67efe091a7004ec5a13e520c0b6cb7ed@srs-se1.protection.inumbo.net>)
 id 1vBDcL-00041a-Sq
 for xen-devel@lists.xenproject.org; Tue, 21 Oct 2025 14:45:41 +0000
Received: from mail187-3.suw11.mandrillapp.com
 (mail187-3.suw11.mandrillapp.com [198.2.187.3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9ce1cff4-ae8c-11f0-9d15-b5c5bf9af7f9;
 Tue, 21 Oct 2025 16:45:40 +0200 (CEST)
Received: from pmta09.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail187-3.suw11.mandrillapp.com (Mailchimp) with ESMTP id 4crZpq2gWPzDRJ9QJ
 for <xen-devel@lists.xenproject.org>; Tue, 21 Oct 2025 14:45:39 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 67efe091a7004ec5a13e520c0b6cb7ed; Tue, 21 Oct 2025 14:45:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9ce1cff4-ae8c-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1761057939; x=1761327939;
	bh=eAyBFhluLadZ+1q0M6eMqGhRq5AQrdpORdrbrl3BA70=;
	h=From:Subject:To:Cc:Message-Id:Feedback-ID:Date:MIME-Version:
	 Content-Type:Content-Transfer-Encoding:CC:Date:Subject:From;
	b=iAj/JBI6MWhhbsZ/p6gz7laMLPeH/M7z1zPttgsjZQzR/GZU8TNMYeq2bcQfHcK5X
	 z+H7OOAkTIHgSF8K+dELgi6PFwho5Vdy8OQyw5eKqFRYasZoCxEKGpIW0CWLJweKTe
	 /EtqanBpOLCBgVPVK/b7NRRZL71SG6Cjmbw2zNwVDoHnh3qsNAz1N1OTRkdSD/jUgQ
	 k7LBYGfsbVg1ISro6DDyM7Qn6Bdu995FmWmg3hB7SHzunXf/H/5j7WY9FKQI0Y9RmX
	 inCYy2+ySNvXTuZQGZEV9ibSUool/4vwnWDSZS1iwApasfjBD7/DkSBu7MWMJaQN3a
	 KPBooawhp+AzA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1761057939; x=1761318439; i=teddy.astie@vates.tech;
	bh=eAyBFhluLadZ+1q0M6eMqGhRq5AQrdpORdrbrl3BA70=;
	h=From:Subject:To:Cc:Message-Id:Feedback-ID:Date:MIME-Version:
	 Content-Type:Content-Transfer-Encoding:CC:Date:Subject:From;
	b=ydq/PT9up5/Urs36y8RADcejoXwaFaOnwvmhSO3axqyhgsLN0k+0J3mQyAn8mtc0I
	 avphO8zmfamUXj9Ir+QTY/nUIxNATq3S1jMr5T5gsM40dQCKkQ63wZ/lwYKIEMwz9y
	 8Vs3CR8sjAZ2MMgkD5xA7qWXnS5p1fGKL39CtKhgcKuhQsnDFpSTPPSZyN+PIwu1DY
	 m1kMrHoiY7JIVEGHTFAKT+5EQlek4q0TPmPLVZX9jeJa5tDhr/li+Mj2b75qPoIEVn
	 AJth38Q/pRtqG9F4Pb/Azc4GbP+f0VFTKesg7OI4I+XNtPmffXuiQPPwps5NIOqsi/
	 aGW+C4qb+nvEg==
From: "Teddy Astie" <teddy.astie@vates.tech>
Subject: =?utf-8?Q?[PATCH]=20vtd:=20Inline=20redundant=20nr=5Fioapic=5Fentries=20macro?=
X-Mailer: git-send-email 2.51.0
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1761057937390
To: xen-devel@lists.xenproject.org
Cc: "Teddy Astie" <teddy.astie@vates.tech>, "Jan Beulich" <jbeulich@suse.com>, "Andrew Cooper" <andrew.cooper3@citrix.com>, "=?utf-8?Q?Roger=20Pau=20Monn=C3=A9?=" <roger.pau@citrix.com>
Message-Id: <f47bc8e2b6d3f28def51cc1861fda22d7658579d.1761057749.git.teddy.astie@vates.tech>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.67efe091a7004ec5a13e520c0b6cb7ed?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20251021:md
Date: Tue, 21 Oct 2025 14:45:39 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

This macro was there when ia64 was a thing, nowaday, this macro isn't meaningful
anymore and is actually a slightly disguised nr_ioapic_entries array access.

Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
---
 xen/drivers/passthrough/vtd/intremap.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/xen/drivers/passthrough/vtd/intremap.c b/xen/drivers/passthrough/vtd/intremap.c
index 9272a25113..7726ee618a 100644
--- a/xen/drivers/passthrough/vtd/intremap.c
+++ b/xen/drivers/passthrough/vtd/intremap.c
@@ -31,7 +31,6 @@
 
 #include <asm/apic.h>
 #include <asm/io_apic.h>
-#define nr_ioapic_entries(i)  nr_ioapic_entries[i]
 
 /*
  * source validation type (SVT)
@@ -68,7 +67,7 @@ static int init_apic_pin_2_ir_idx(void)
 
     nr_pins = 0;
     for ( i = 0; i < nr_ioapics; i++ )
-        nr_pins += nr_ioapic_entries(i);
+        nr_pins += nr_ioapic_entries[i];
 
     _apic_pin_2_ir_idx = xmalloc_array(int, nr_pins);
     apic_pin_2_ir_idx = xmalloc_array(int *, nr_ioapics);
@@ -86,7 +85,7 @@ static int init_apic_pin_2_ir_idx(void)
     for ( i = 0; i < nr_ioapics; i++ )
     {
         apic_pin_2_ir_idx[i] = &_apic_pin_2_ir_idx[nr_pins];
-        nr_pins += nr_ioapic_entries(i);
+        nr_pins += nr_ioapic_entries[i];
     }
 
     return 0;
-- 
2.51.0



--
Teddy Astie | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech



From xen-devel-bounces@lists.xenproject.org Tue Oct 21 14:49:02 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Oct 2025 14:49:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1147390.1479702 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBDfY-0004m7-3K; Tue, 21 Oct 2025 14:49:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1147390.1479702; Tue, 21 Oct 2025 14:49:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBDfY-0004m0-0f; Tue, 21 Oct 2025 14:49:00 +0000
Received: by outflank-mailman (input) for mailman id 1147390;
 Tue, 21 Oct 2025 14:48:58 +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 <SRS0=9TpK=46=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vBDfW-0004lr-JJ
 for xen-devel@lists.xenproject.org; Tue, 21 Oct 2025 14:48:58 +0000
Received: from mail-wm1-x336.google.com (mail-wm1-x336.google.com
 [2a00:1450:4864:20::336])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 127c9168-ae8d-11f0-9d15-b5c5bf9af7f9;
 Tue, 21 Oct 2025 16:48:57 +0200 (CEST)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-4711f156326so43825525e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 21 Oct 2025 07:48:57 -0700 (PDT)
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-427f009a96asm21010127f8f.31.2025.10.21.07.48.55
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 21 Oct 2025 07:48:55 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 127c9168-ae8d-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761058137; x=1761662937; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=o5YjeQyP+ESu4G3mgZF/wfORXL8CyBOWLqyn8VbZL4g=;
        b=E5KGGERpIdi+GKvDUxL1PAcav9Fzmi5CNONYBq4Mt0kI76VmuWdqV6Ht2X1Y7zv5NB
         LCZM0Mlp+r3UWKujJVy4Pw8/9Vn+QKY90TIkgdSDPRo7nkIMbHCdsQctxJaKmucNjXBz
         FzjD9EMJM+if1lJcuLZFLMMZN9xBHsC9B7MhaEbsAHHTTPLnQcjrQ8ud1o3e4c4p7YZE
         K8WaNyA6p+XZCT2Xy2FZcz5ZFJ7zTVcv8NsNkjjLqigjNO2N4eSKC6dh3NdEScSMfWLo
         9/oVR0N6SYMQL/YkUxMxc72rUm8mv1aXSUxs5K+TxvTm9Fs5msCqj5EAMOpCGK3CFOZN
         7b+g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761058137; x=1761662937;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=o5YjeQyP+ESu4G3mgZF/wfORXL8CyBOWLqyn8VbZL4g=;
        b=od4CnlFkKVpMbI25Yj1Qm+bX7o2LzhgQtYNGqeadggrEsxMN231Dfa/6auJ1AyFzYI
         vCl2o7i1yvwcpRT+QoPAR5VzQBSt6XLKFwWeW47hA8QMJh47OwQ57Y+dp8O77BK6P1CL
         zsXDCUnbwKOsAAyncGnKmzuopxkyYZiFHgxaXNroHRlW9tfqrzzyFaT/xNJkBaLr1vwC
         2YsU+ZSW+AFTTr6gVJRZfYWKBR6VdX4bg+iKBueAA1xNTWvAFJPKjNo/GvRMtEGSuHic
         pkdcTM7Mbb2XRCRCGKz3EKIsWmusOCczJXOvDGq+FAqrQdZp3AcMm+AevT9TMp+kab9o
         nDBA==
X-Gm-Message-State: AOJu0YxJmCwPavqj2jK1OkjQasZXo2AThnqxtF2CJgtVz79hp/vaZXR4
	fC24tgWXfOfMY6Ob3B/NO0U3mYBaUKdAuAwBIAb0VQHc56H6iuVy7/yIiQMxb1jOow==
X-Gm-Gg: ASbGnctQNQH5/v3KT94mDPwxEsA900EprPlGrt5KydXAf+bs0WBb/6bD7SyRkGLfNYZ
	MvDCo6B/bRHE71YmkMLjukA/euYAI5sCycptduHJDd+dAegkD1nUY40dq02pH52uTNcY6PoYMLI
	kiQ+I3gtvmUQ5GyNabplCVaSVG3Fmv5d9pEKQqcU8LFQ7mxfdNArD3ciGqo/cHX3MTfZsW8DIna
	K5von2QyQz17Niuuaehqwha6N4YE+u2EpnN4Upiu6jurstc8RgXw4kcexWyFZjb2Qf1UyYvbQkT
	gYBa9aQtQDoXYwFFSMD7MzxAQkrum5uOl2B9kWO227uhHzpJdCuf+/VYfSc9v3gc6bzHHjgApaV
	LSEs0hT9uc9RaLuMXaWjMw6FDCRb6q4sVSgAs3TOemzV+aVV3OCEXAtty7SHSO/VuvO+8J2V2Wq
	UoU19VlMZeXc1wHpyq2DG7StH2tVTWAaT8s+2+iR4lYuvyH0cRPYvUFQGUDjTvL7yzrJ7seJIwF
	7GWCzb6jA==
X-Google-Smtp-Source: AGHT+IH4Ors9ABc71kN8uImCF9L5M7KyNNuBpdDtO+/ICYH12ppqknBAtz+vcEXdN3O2R8Zyh6iGdQ==
X-Received: by 2002:a05:600c:1396:b0:46c:adf8:c845 with SMTP id 5b1f17b1804b1-471178aba5bmr116421875e9.16.1761058136812;
        Tue, 21 Oct 2025 07:48:56 -0700 (PDT)
Message-ID: <573ac758-0322-48d1-9028-64670655bdac@suse.com>
Date: Tue, 21 Oct 2025 16:48:54 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 for-4.21 8/9] x86/HPET: don't use hardcoded 0 for "long
 timeout"
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <b66ea488-2d47-472c-9520-8590fdf89e0e@suse.com>
 <2e140536-6e24-4de7-a5f6-0c0e19951f13@suse.com> <aPeW5RZgFKKF15hw@Mac.lan>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <aPeW5RZgFKKF15hw@Mac.lan>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 21.10.2025 16:21, Roger Pau MonnÃ© wrote:
> On Mon, Oct 20, 2025 at 01:21:18PM +0200, Jan Beulich wrote:
>> With 32-bit counters, writing 0 means on average half the wrapping period
>> until an interrupt would be raised. Yet of course in extreme cases an
>> interrupt would be raised almost right away. Write the present counter
>> value instead, to make the timeout predicatbly a full wrapping period.
>>
>> Fixes: e862b83e8433 ("CPUIDLE: Avoid remnant HPET intr while force hpetbroadcast")
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Maybe I'm missing a path, but are there any callers that still pass
> STIME_MAX to reprogram_hpet_evt_channel()?
> 
> hpet_broadcast_exit() no longer explicitly passes STIME_MAX like it
> did in e862b83e8433, and then the per-cpu timer_deadline variable is
> not set to STIME_MAX either in timer_softirq_action().

Good point. It was me missing the fact that "expire" is an unaltered function
argument; I (blindly) assumed it would be calculated there. So yes, that
check can simply go away.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Oct 21 14:51:57 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Oct 2025 14:51:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1147406.1479713 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBDiM-0006Fl-Fr; Tue, 21 Oct 2025 14:51:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1147406.1479713; Tue, 21 Oct 2025 14:51:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBDiM-0006Fe-Cw; Tue, 21 Oct 2025 14:51:54 +0000
Received: by outflank-mailman (input) for mailman id 1147406;
 Tue, 21 Oct 2025 14:51:53 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <anthony@xenproject.org>) id 1vBDiL-0006FY-01
 for xen-devel@lists.xenproject.org; Tue, 21 Oct 2025 14:51:53 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <anthony@xenproject.org>) id 1vBDiK-00CkzO-1e;
 Tue, 21 Oct 2025 14:51:52 +0000
Received: from [2a01:e0a:1da:8420:b77:bd5:6e45:7633] (helo=l14)
 by xenbits.xenproject.org with esmtpsa (TLS1.3) tls
 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96)
 (envelope-from <anthony@xenproject.org>) id 1vBDiK-005xLs-1J;
 Tue, 21 Oct 2025 14:51:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=In-Reply-To:Content-Type:MIME-Version:
	References:Message-ID:Subject:Cc:To:From:Date;
	bh=sdNiabHQHpTGKNuhV/3alLaPI7EUnoMUv33owjFBzvM=; b=SBmyJdiCAGpRZ4AWnTtoa0HuVh
	8+ngrsiT/5HvXIQpz53gSu6f4EkamSVty+/Hl9qttrS643xNbUI13YIeDQ9fCQ2LpeP/r0TKty0Ce
	UmZUF7mT4XQ3CJBoE6GYap/FII2iGC2/OzBS2OSR83LQN5KZK8rUefqvQrZhlafdiaAI=;
Date: Tue, 21 Oct 2025 16:51:50 +0200
From: Anthony PERARD <anthony@xenproject.org>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.21] libxl: make gentypes.py compatible with Python
 older than 3.9
Message-ID: <aPeeBoE-VDf-FsNt@l14>
References: <751bb140-3f00-47f1-9492-464c01ea1429@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <751bb140-3f00-47f1-9492-464c01ea1429@suse.com>

On Thu, Oct 16, 2025 at 01:22:30PM +0200, Jan Beulich wrote:
> removeprefix() was added only in 3.9. As long as the "jso_sub_" prefix is
> always going to be there anyway, switch to a less specific but more
> compatible construct.
> 
> Fixes: f6c6f2679d49 ("libxl: libxl__object_to_json() to json-c")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Anthony PERARD <anthony.perard@vates.tech>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Oct 21 15:17:35 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Oct 2025 15:17:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1147424.1479730 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBE77-0000xr-G6; Tue, 21 Oct 2025 15:17:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1147424.1479730; Tue, 21 Oct 2025 15:17:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBE77-0000xk-DO; Tue, 21 Oct 2025 15:17:29 +0000
Received: by outflank-mailman (input) for mailman id 1147424;
 Tue, 21 Oct 2025 15:17:27 +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
 <SRS0=3pTU=46=citrix.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1vBE75-0000xe-EU
 for xen-devel@lists.xenproject.org; Tue, 21 Oct 2025 15:17:27 +0000
Received: from PH0PR06CU001.outbound.protection.outlook.com
 (mail-westus3azlp170110003.outbound.protection.outlook.com
 [2a01:111:f403:c107::3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0c06eca4-ae91-11f0-9d15-b5c5bf9af7f9;
 Tue, 21 Oct 2025 17:17:26 +0200 (CEST)
Received: from DM4PR03MB7015.namprd03.prod.outlook.com (2603:10b6:8:42::8) by
 LV8PR03MB7424.namprd03.prod.outlook.com (2603:10b6:408:192::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.17; Tue, 21 Oct
 2025 15:17:13 +0000
Received: from DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9]) by DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9%3]) with mapi id 15.20.9253.011; Tue, 21 Oct 2025
 15:17:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0c06eca4-ae91-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=nDzwAmDsjhzRWVubBHhUsaTH5Ctb4eGcBM0hQQXAKw42RxQxEpMQUN4xR0J2ZPwQDunpQXBp6jsIqxvyoZH2syfqLfuVowA0fwVVYsN3LNa8zFU6QOJqksKXquvJnbBG9vlm+ctbpUZjYlA8wavFyaU673uewDg7bHVmhtiA8A2sRxXDwb9RzMVGwyn7l1x9mVSUEpqHoZHhihGsA8rOp9GxgQnQB+qWpTGG2hK1ilrG4C2pJsHklhsEW8yB6cWzfYedT3evRqZ+eeHhhvrk7j+8HZ4cws21rXliZllPgXaiPCxry8jGUoRU58dLnBXUlQC1t6ldqStfJJq2njtpow==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=eNRccFQkW9zyZSrbhB5i0/xoVRkVzNW/Qp35nnGE2Bg=;
 b=DfVl6L4YU4mQyc6EH1Yn49LPA9/POV9mi8U98G906w0dqZklivIl12lt2CSAx7Wn6w1kO+Dyt3sCnEQMfk5X3KeEPAS0miYgZ8xf2WvGBw0czpkr0ETBvGujSj35ZQmNmB9lwvIJ86C+Hi3hc9M6cjHCbBa4fCtFD08zF54MOIKqfxTvNW0pZGvVGhHxeQ0Dn2tzS00zWARkWFTbidfhpu87X/fhU028JrOXTOlV1HCADNUFcWWjs+3fgY6kJZa5a+E3EbdXm1adH734b+rcbDJY5ivXGNPdhKf4GbDIi60uzVDAd7tagul7s156vZ31l1XvI/aQmZ5/1m2Nc/JHBg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=eNRccFQkW9zyZSrbhB5i0/xoVRkVzNW/Qp35nnGE2Bg=;
 b=qp51OBHR6qsXpgj4uWsAq2QaQqoQ5xDL1pp4vyOFoFxVQTADqX8Krv5XxU0w3/3iEkNyC51F+fErWi4oHFqqcHomcMtWy4XTrbh4weQVWw9SfWDFNKks4kPl1KVpHMkkiXULVf2croYkExojx81HvVlaYiOZ9MPtx/WckNdNQ9Q=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <52edb3d0-537b-4f8a-8168-1b0efc519b0c@citrix.com>
Date: Tue, 21 Oct 2025 16:17:04 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] vtd: Inline redundant nr_ioapic_entries macro
To: Teddy Astie <teddy.astie@vates.tech>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <f47bc8e2b6d3f28def51cc1861fda22d7658579d.1761057749.git.teddy.astie@vates.tech>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <f47bc8e2b6d3f28def51cc1861fda22d7658579d.1761057749.git.teddy.astie@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P123CA0315.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:197::14) To DM4PR03MB7015.namprd03.prod.outlook.com
 (2603:10b6:8:42::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM4PR03MB7015:EE_|LV8PR03MB7424:EE_
X-MS-Office365-Filtering-Correlation-Id: fab082a0-2162-41f9-d6b6-08de10b4e677
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?czBmMVZJNkVRT3RURUpwa0w2WnE3SUpGU2Z3c0VRZHdSN3VmeE9VOGdlM01u?=
 =?utf-8?B?bS8vYVJWTnFHcldYTlE5ZjdpVjR2cVJGTVFEQ0JtQzJFZUE3bm1nS0V5Q0Qz?=
 =?utf-8?B?d1ZzQzcvL2xRZHZudmdEK25TeWtaU09qOExJU0g2SXRaN1MwaDJkcGgzcnFY?=
 =?utf-8?B?Y2x4R0pyRkdrRC8vUU5BdFFyVy9uamJEemhadmJ4STZJOUxDQ1ArWDNDNEQv?=
 =?utf-8?B?bjduV0w0aUx4UjdneEp5bk5mR05nU25ZQzFXNGZ1WmQ5L2R6S1pSY2VoRGNw?=
 =?utf-8?B?VkhUN1EwbU9KVXNKT0Y5OFFMUllnaFl6d1docGxsU1h0clF0NTFjQUZmS2Mr?=
 =?utf-8?B?R0VjOEFmcU9RT3ZiTXdmZ0lpanFscGEvMnRIbGpUTEdrT1VtVkxUWnVCSDlV?=
 =?utf-8?B?QVFRQy9GWEtOVXNSaW55K0ZqTW9oK24xSmh5L3FOaWJHRjFaYzI2SUtpQ2RX?=
 =?utf-8?B?VDJ0ajVUNTQ0L3pPWDRDNTJiMEw0QXR3bWxEd1Nvcmx6YjBvWUVaSUxjY3lN?=
 =?utf-8?B?aWZrQkszaktrY1dHcDEveWxEaEVWU05SZWttNWNzSjg4bDQzSzZsNlAwY1E1?=
 =?utf-8?B?QjFXQ1FLbitxUUpsU1VTL2RNeDk2MjN1L1hNVjB3OEVxamJnWTU2TVVRQmx1?=
 =?utf-8?B?WFUzZ0lmZldhRElLOVkwZ2EwbnJUa2RYejlZVGRXWkZjanVhUWtIODNLb3Ja?=
 =?utf-8?B?Q0NJdkFwcENnY04wRTRySVkzZE5qQm1TTWlXejZ4bGRQRDRTR21DRjVINUpW?=
 =?utf-8?B?b1JUbkxETlQvamluZ2ZFYzMzTzRuUmNmTlA3SjJVOHovdmxQc1dsWkI2NGdt?=
 =?utf-8?B?L3IrT1NaYVBQWnlERmV6VkNRNVhNazdHSG9uR1FRaWJxb2lRcHlQWC9ZM0t0?=
 =?utf-8?B?MnEzY0FMcHF6eGJYVUVQMnY0dXNERDd3aTN6ZElBRzltWm5XYVc5cTZPVW5n?=
 =?utf-8?B?UFd3ZGVGbVJ2K1ZWREc2SzBzT2NuZGltOEdSQTE1bTRXRkExL3JobFN0Z2di?=
 =?utf-8?B?ekY3VDhzUFdZVEFDUlJNdlF0MGhtV0tWTTNPcDNad1RwRTJaQ2RoUU9LYTk4?=
 =?utf-8?B?clZ5M1I1bEE0dFNneVBnM0xOalVmT0JJR2tEL1dCUlM5dzlJbWFRUmQrQW5q?=
 =?utf-8?B?VnNyeWJXQWIwRmp0YzNnWEErVGZxaUhzVjZaTG9iR2VxUlRvZVR5VDlzT21j?=
 =?utf-8?B?WDl5Q0Ewd1l1VGVZVHh2Vm5MWGZKUFRKRnFFUk1WOUcybzZUTlVxOGUvR29Q?=
 =?utf-8?B?dnNhZStmbC9ONzJiaDBydkt5Q1NvYVZzYk9aQS8vU3RBMytTVjlWMHFvSEV4?=
 =?utf-8?B?V2xxQ25WSXVrZmdNOUR6aTVqcUZFKzd5M1NnWmoxVzlSYlFqVGJra2FJK1ZS?=
 =?utf-8?B?dGNxanZ0V0Q4b0FjUWFtYXVHVmpuMHVGUktkb1hQMTVNZGtwdjNuNWlzQXVP?=
 =?utf-8?B?ZDhXRWJiR0c2NDVnQlVXOEp2OTBlZXFvSlIyUFBTK1Z2WTBNNnUxKzg4WFYz?=
 =?utf-8?B?SStHQ3Q1Ynlka1BmNDlXa2ZXM3JQWkNodVVkNFN4VWMxcENnVUt1RFRGcmVG?=
 =?utf-8?B?K2lDU1BHU2Z0Uk1rNDVhQkFGa0M5bExOYllmc0tVSUNMZnl5R3BNOFkrMW9T?=
 =?utf-8?B?WWt2ODFYS2pxcys5cCtRK1hGN3MwV3JMWmgyM3pkb0lWektsSWlTSTMyYVhK?=
 =?utf-8?B?Y1FoRHZGcG4yS2U0OTJUYU51aXExOGw5Nk0xWSs1bG50Vk5qM3h3SXZnRjlQ?=
 =?utf-8?B?cTAwY0NMWFh5QmVUZDJML3RQQUlYMlBYWWQ2a1FvYnRiSUx3U20zeGpGRFZP?=
 =?utf-8?B?WSsza0wxbXRabU1qTHFDd05UYm1XZzFGMjdBVEJWUWNoQTgxQmJ5aGxTUGxP?=
 =?utf-8?B?ZXVVR2tIazJob2tBQkxRZFdYZXVCeTl2aCtsYTcvRFRIaFhyRTlXb3U1em9o?=
 =?utf-8?Q?iLUOuwif031vO+5JRL4I8xOOcP7haxEP?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR03MB7015.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?amhrbGxtNmYrMjhGV0FPRnlqdlkyYzRNdnowVTBOeXRLTU5WY3N2SWl1RXhS?=
 =?utf-8?B?Um42UmtsWjhsdmdicXJ5SVcvR3QxbTA4V094bFpFd2JCcURtdWJhVndBN2VD?=
 =?utf-8?B?R1B2dWJrZTRpMERraUxhUjQ0TktvdXpqcGFVNWVOTEhzSFN0WXAyWkxuM29n?=
 =?utf-8?B?S1YydGxDTlB5azB4ZjhkVnZJZEZ0QUtmM1ZpSENBMDlJQld6alJIWXNFOHBX?=
 =?utf-8?B?NEtLenJFOHI1cWRIS1NlNWtuYlAzQzliQURqMEV1RGhxc210dkxSMnVUQ0kz?=
 =?utf-8?B?enhNUjVkbGNlR2s5K2xHT1pOS3VtTk84QldnQ2NvTnRCc3kraitSblZENjBs?=
 =?utf-8?B?K2dDY0JSZFZlQTBvdG9iVWk5TG56TlBIbDAwUU1sLzdwdG9vRHRzNWVhTVdt?=
 =?utf-8?B?OGdxRXRCc2lXcnB5dWFmMTBBUnlVYUpQK3FTMGUrbDFtejdkMytrQVEzUEQv?=
 =?utf-8?B?dGJZYzJBSlRGaXhQeFl4SDBPVGkzWlFHMUZVUjQ0dGd6OW05Qk1JajZvZmNh?=
 =?utf-8?B?ME42TTRTb1orSWFNTUY5dEZFQmdBK3p5RTBaSXQ4cERUaW5sbnZRREtZMzh1?=
 =?utf-8?B?VUg5YkpndEcyTE84RFZ1UEk2K0FLK1JhK3BLSStFYWlDRVR4UUlGMjBSMER6?=
 =?utf-8?B?QXlHS3BDcUo3dWlxN2hBWnFJczA1ckdVcGxEc3E4Uk1UdGgwaGJrMGZNa2I1?=
 =?utf-8?B?bVo3cGxIM09yS251Mkk5eVFwSHZtZUFCTVRrNzNvcHI1YWZtQmF6UCthbkVq?=
 =?utf-8?B?dG5NcC9uUm5NZHpHbW5USThsZWJxYUZiU0dHNkVvajU0bTg2TVhXei9iVFc4?=
 =?utf-8?B?NlowVHFFRTJWMncwNVhhTEwwSlROVXdlZnQ0U0g4THVISnBMMjVjbCswTWZ2?=
 =?utf-8?B?QkxLZW93NUowejMrMFJVNUJ3RGpaUGxodHVwVUhXZ3RaRHJnZStBeHl4aTNO?=
 =?utf-8?B?SW1ReXJmalE2VmpCaDdiTWhlalVVaTg3dXVDOUNFR2QvZXNYRllMRHJLNEVv?=
 =?utf-8?B?VHhWN1RJb1pwVmdQbmNJMW4xZFBtcnFHUUczMGtzVVVnSDc5UnFsRkJsRVFX?=
 =?utf-8?B?Snp0dnZFK011NUtTY0M4eG9FTjlZVmlNQ0VFU20yWDY5WXdETHZEN1Ava1Jp?=
 =?utf-8?B?Y1I3T0Zad0MvSVRuTnI4MjVvZ1VEOEFqWC9wQzZnZEVBUHdRcEJPa3BEMWVy?=
 =?utf-8?B?d2xYU1pHT3Q5SFJ1dVplUVFxdkhQZElGLzkrYW1nMzJHb2hGcHAzTm5pSkRU?=
 =?utf-8?B?WmpSRUtDNXpkU2w5QzRtMlh6Sk9ZZ3A1T0dDc29NaDdZRUJoa1V2d2xaeHVx?=
 =?utf-8?B?THpNQkdkLzQ4NFdGQ2FpajRua1pKb3l1NFFhdzd4YzlteVdBeXF6VVN1bnNz?=
 =?utf-8?B?RDhQMTZwNGJIcWlaaCswYjZibkkwQ1F0YWJNdHlhQnRFdkRZV3hhN1RyVkg0?=
 =?utf-8?B?MWRJU2FacVRyYmFpRTFjeXNXd1Q3OWRsL2VYaWtMb0hrV3lEWkh6MHJYZGZL?=
 =?utf-8?B?emFEYzBFUDl0enpYL0J0QXF1YWd5S3p1eVh0Zkdqby9wa2tHOU5sUm5hanBi?=
 =?utf-8?B?Smt0VlVwMGVvWFY5WlZ0VXpKeHd2SUwvektpMWFybEdDaGtzUHhIV24raVVV?=
 =?utf-8?B?bjlaR2t1TURIWkYvZ2ZsZzVDZ1YvY3ZPYnF2L1piajRZWFp5VklRREp5YXdY?=
 =?utf-8?B?elZ1aEZSa2pSOWFJSjFNQTJHSnpWd1NISVkxckxaa21BaHc1YVNVVEJISlds?=
 =?utf-8?B?dzhKcHNJcGJrVEpGUDJ6VTZyZGU1emxNUzNYa0xKM245S3hhSFcvcHZKNmNu?=
 =?utf-8?B?MHNKbk9pbG9ndDhQejBTU1pUaHdKWWV2Q01qbTNzQVlNQ1QwazU1cVNVRTJv?=
 =?utf-8?B?R3NVbkpocFU5bUk4OWY0Z04zSWl3TTFuTkF6SE40U1NUMnB6UFpTbXk4MUFD?=
 =?utf-8?B?UkYybStqYVF1bWdvSW9qSC9MQnJGSk1rQzB2R1l5QzFpMUNMdDdNeG9ZK29h?=
 =?utf-8?B?NGhLVGNCcStET1I5RUUxVWJEWmU0WUdRQ3Nla3FpaUJzRGVGQkJ4dGtGK1RL?=
 =?utf-8?B?MjdDK2lWOGlXbXhHajEwNms0eWJIRG5mRld0bVVWRFQzb2hlYkl1azRRWnRT?=
 =?utf-8?B?R1l1KzI5NkpuSjkxNXdGcGNrazZPUWwvd0IwaVNtdGcreVBJbHFTZXdGYTRG?=
 =?utf-8?B?RFE9PQ==?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fab082a0-2162-41f9-d6b6-08de10b4e677
X-MS-Exchange-CrossTenant-AuthSource: DM4PR03MB7015.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Oct 2025 15:17:08.9624
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ctPR2huERDrKMa+qxlmCsAh+paW+UxxD+7GDwk5lab54XRgqlTVeVnFmSEtKUpi2zYfVtO5C/DiH9EDgWNJ/LxiR6GcfRA562QH2uO2lEqU=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR03MB7424

On 21/10/2025 3:45 pm, Teddy Astie wrote:
> This macro was there when ia64 was a thing, nowaday, this macro isn't meaningful
> anymore and is actually a slightly disguised nr_ioapic_entries array access.
>
> Signed-off-by: Teddy Astie <teddy.astie@vates.tech>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

Queued in my branch of trivial things for 4.22.


From xen-devel-bounces@lists.xenproject.org Tue Oct 21 15:21:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Oct 2025 15:21:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1147434.1479741 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBEB5-0002Wh-0E; Tue, 21 Oct 2025 15:21:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1147434.1479741; Tue, 21 Oct 2025 15:21:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBEB4-0002Wa-Sx; Tue, 21 Oct 2025 15:21:34 +0000
Received: by outflank-mailman (input) for mailman id 1147434;
 Tue, 21 Oct 2025 15:21:34 +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 <SRS0=9TpK=46=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vBEB4-0002WU-1m
 for xen-devel@lists.xenproject.org; Tue, 21 Oct 2025 15:21:34 +0000
Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com
 [2a00:1450:4864:20::333])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9e8fb431-ae91-11f0-980a-7dc792cee155;
 Tue, 21 Oct 2025 17:21:30 +0200 (CEST)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-46b303f755aso61228235e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 21 Oct 2025 08:21:30 -0700 (PDT)
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-4711442d9e8sm287748075e9.7.2025.10.21.08.21.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 21 Oct 2025 08:21:29 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9e8fb431-ae91-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761060090; x=1761664890; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=1nJPlPGSrWSl4IKFpXLLiSVT9QsusT6mVCDR8zmenkQ=;
        b=J8mVT6xGUcR55Cj0ZMiKJhM/I3qhpZ3iSvWQFPjxfdnQbyvFmIa/ZGWogQYbnBtuCU
         fB6Llk+58dRf9O28VjqzuZIK5cAclJ4JYdpyyCXgprkE9x9hce6NFxl/A8jAeTyRcWXE
         rh8eLsUUt3vNRKAxnZcp5wDxV17lGkqK/5mX8uKtHLSdWWrknPEd9mae1SgihdqGe7u5
         K5RFv9PcTuPOLIikrr647RFbZ4bkT3AlipytgRucFcSHlva7+sMUCsKZUQIWKzuzjuIz
         CWHMcFj5iRK7iNv/e66EDq5YjYBen8mLPjwqAPX6OCJFqjheROY4xZovNJRoDT60h+/U
         SWNg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761060090; x=1761664890;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=1nJPlPGSrWSl4IKFpXLLiSVT9QsusT6mVCDR8zmenkQ=;
        b=jvbbPQ2UHMuFWmTpcfffMi9UYq3o1yKaB1nHC6LWOqnIDxcwvtUfnreJrzZRFYaBza
         s2irBJrxL5Dxa4r+LK1o/cBMbmt9bMawqAnNzouFG3a8J5soNSB7wQsq3TqKJmdjG3SO
         3FFIqDFaJiRqYzyr4ExYgmGCsLrJFUSBED6+kr6yXvScUbU1/egxrSPK7/q5Lw/5Lmby
         Vp1f61x63A/VB9d3/XJZ/pQWcVFJwnoVKejGn8UauA6wh1x5XKcMyQlglX5OjaqXQXXN
         YMR/eEGRa3KfkqdHWLR+2UOwABePAvba9yoyOxVW0v8gBpMRiYmS4dhKOnWXahbWJNUT
         lukg==
X-Gm-Message-State: AOJu0YxM4k3Fw9Iay1zE1Rz/9faAz9JkCcdhJmls8yyc4pPu/Up/gwJ5
	Dbk1xjsl57n+SdJfbwr3WAXtTvAhHkaJhlaO/ZAtrkGMWrcRRInAFUD+slEaTjqpmg==
X-Gm-Gg: ASbGncuEQeBN9juGC8o8CVr68Kv0hlC3WkIwKRSmmX8h7cHx9C8/q93f1IxIPKeWjVD
	3a1dF5j5Do3qIVaBOcNnsdNUF0hNW7TSmRCvEyt452CqkDOKQ5+Jiootv0mWnuXtRYqYP4nZtQs
	BBlbr8daGd/NPQzF3nMLy4oaHlTGIk1jSYk7zEsrkLqsY1RxS0gx45j3gV2azRoqSViXrRTBXfc
	sjSE6dxMjRpzLNav4JWBZ345ClnyW2bjjnnptPG01zWhCCCzytNOtdF+3AtDT+tXpzBoZMZxu2a
	hKfOY4qNCIRFUHCIHXLGZv3gZ5ulte6kWmAmJeBOY9BrIZKHDNHGAGQKCYeXrSyhSvRR/JSkDFJ
	pdbeJTbOZBcR4wMmEbnX4KbXZgBNpi7Vs+Q/WOYSOV/qTxlxrGugVZK+l8ORwAWATZiBvwqfoyc
	dZI5NZrWB7iiNT/UVM+jZPVphCUQkkzvuEcdzySw63wrkKqrqAk4AMQBmZryfl
X-Google-Smtp-Source: AGHT+IF+cJICHOi+5LwFvC5HHmurjmaRKSS36U9UPqfMU8Lw1qMew38leshdRSR7yriCHOw/LE6Kog==
X-Received: by 2002:a05:600c:871a:b0:46f:b42e:e395 with SMTP id 5b1f17b1804b1-4711791ffbemr105825005e9.38.1761060089783;
        Tue, 21 Oct 2025 08:21:29 -0700 (PDT)
Message-ID: <19102e47-f14c-4e45-b8d5-3c9d02829e3a@suse.com>
Date: Tue, 21 Oct 2025 17:21:28 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21] libxl: make gentypes.py compatible with Python
 older than 3.9
To: Anthony PERARD <anthony@xenproject.org>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Anthony PERARD <anthony.perard@vates.tech>, Juergen Gross <jgross@suse.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <751bb140-3f00-47f1-9492-464c01ea1429@suse.com>
 <aPeeBoE-VDf-FsNt@l14>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <aPeeBoE-VDf-FsNt@l14>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 21.10.2025 16:51, Anthony PERARD wrote:
> On Thu, Oct 16, 2025 at 01:22:30PM +0200, Jan Beulich wrote:
>> removeprefix() was added only in 3.9. As long as the "jso_sub_" prefix is
>> always going to be there anyway, switch to a less specific but more
>> compatible construct.
>>
>> Fixes: f6c6f2679d49 ("libxl: libxl__object_to_json() to json-c")
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Acked-by: Anthony PERARD <anthony.perard@vates.tech>

Thanks, but: So you prefer this variant over Jason's?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Oct 21 15:34:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Oct 2025 15:34:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1147455.1479778 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBEN8-0004gB-58; Tue, 21 Oct 2025 15:34:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1147455.1479778; Tue, 21 Oct 2025 15:34:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBEN8-0004g4-2S; Tue, 21 Oct 2025 15:34:02 +0000
Received: by outflank-mailman (input) for mailman id 1147455;
 Tue, 21 Oct 2025 15:34:00 +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
 <SRS0=Wbjj=46=redhat.com=pbonzini@srs-se1.protection.inumbo.net>)
 id 1vBEN6-0004fx-Qh
 for xen-devel@lists.xenproject.org; Tue, 21 Oct 2025 15:34:00 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.133.124])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 54a6e3fe-ae93-11f0-980a-7dc792cee155;
 Tue, 21 Oct 2025 17:33:46 +0200 (CEST)
Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com
 [209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-680-TaFOvQaTNZugk2UgP2J2qQ-1; Tue, 21 Oct 2025 11:33:43 -0400
Received: by mail-wm1-f71.google.com with SMTP id
 5b1f17b1804b1-46e4cb3e4deso21244545e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 21 Oct 2025 08:33:42 -0700 (PDT)
Received: from [192.168.10.27] ([151.61.22.175])
 by smtp.googlemail.com with ESMTPSA id
 5b1f17b1804b1-47114423862sm289444305e9.1.2025.10.21.08.33.37
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 21 Oct 2025 08:33:40 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 54a6e3fe-ae93-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1761060825;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
	bh=3cdsfW6EeBnamcgWBUdM1pu88AGzMF8ezjONmhdoV2w=;
	b=fI3FDI/qoi+pU88Or1yVhF5Swwcy0vQCpphnj3YwXGUi/ABuUBaa65NpdgE6+Ixq2oZF9A
	zpZz3L2tN8fh8iRdlJ/LFSf1Ghxm2Ue6dxF7x9sGtnAJUjOXZRSp2PfgbFYAccI7BktQiy
	xmMPcaDdc3dlhRRQGJR0JlyR1Unxe3k=
X-MC-Unique: TaFOvQaTNZugk2UgP2J2qQ-1
X-Mimecast-MFC-AGG-ID: TaFOvQaTNZugk2UgP2J2qQ_1761060822
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761060821; x=1761665621;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :from:references:cc:to:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=3cdsfW6EeBnamcgWBUdM1pu88AGzMF8ezjONmhdoV2w=;
        b=lCTNoR9UCeDo/+Ex7u9j5tTQa72/rdyRvB9UzTH7412dSdDXs7iQV+Za+lrFrLKmu5
         Tkt422Xl1oObDSZjzkC/bPR+W6IqRbrAioaM5Wb8tP78L8Em4gXfKiXaNBB9zkHy2WlK
         ld7JuuNMuT8kqxaM+Elu7Y5qh/il8TQEuqPEtlmj+nMpxEuDJp5fi1I5la5YvMAT4tiq
         XWcMyzGUS375OqB3R45TjHGgMrNSuQs11PeAuxilIT9xx5rTc8BKbAHcXzLEn+r6vrcX
         S8rNQK4P39a6iLHkOVr0Oz2594woHlDfM2r+mfolg/5ieIle7KjmSsRVBLkf2Ze5FCcW
         FUdg==
X-Forwarded-Encrypted: i=1; AJvYcCXy2MxByAcT17Hx0MNVZH6T7MdgrdYxZij5xtmgCZnzUrcWLrkRT/liJ8grckyvQW6Tw+VomURoz6k=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy8fxCL1mSvLdox4451BZ3KimheU6D/fQ4wFi7CxqZn6gn8tSHo
	llrDZCMMpLxHXz7N8P/3bZ3oTMhRx/kkeu7Sr2JVQ7DVUjLyonOW3aqi/8qviDrgxLbtAL4pwfU
	cGkiLll0R2Nb/dtUTEh1GrL1Mkuj5tlh3p/+joh0AMM3SCaZfK+DONseh0tuQuY1C0CuL
X-Gm-Gg: ASbGnct6byc2j05i815LVKSNABe1F1KAFcZKI0NM/Dn0fHZZggI1mfMIyT367ZoLUem
	qKrQ7/xOEQGOHN6BCxA/F53ew9mTG7iIzLR2i0ydV+ivFBQ0NrV5mcrE0aVrdRUT1AWlP2A8OYI
	GPb2XnedFO1PY8lob/IV00njSmSC3csrSZlO8yv72Bre5RDf/aw1e646Q64SBHUM8GNaCWUrpx1
	jn82L1mk6KmSMjdV38p8Yuh6aJNzqoVde4I7OuXRqC1a4kQLMH9F6XuxHUt9k9OofIL2W97zcU3
	qI0IjmhlgwDn/T48XyG7ZBwcweHUAoWnm/1JFn/itZcSMtub2zUKecaV+pBhijxMj8l8PRg6PDB
	3XpA7bW/HIAFOLX0jDO5KHP5j7Cqt6yb8DSGPKb6l/2vG5ewIGV8dEu5ZSlI1HDL1W73z0M3Cin
	7FYw==
X-Received: by 2002:a05:600c:6306:b0:46e:711c:efe9 with SMTP id 5b1f17b1804b1-475c3fda615mr392065e9.13.1761060821522;
        Tue, 21 Oct 2025 08:33:41 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IGV0hTec/tsruMD5xvsXhR4WbQsi/vpqU0IBFAMSoLN1HWd3S5vgwxQztGKB+0XOrizaVK6Mg==
X-Received: by 2002:a05:600c:6306:b0:46e:711c:efe9 with SMTP id 5b1f17b1804b1-475c3fda615mr391435e9.13.1761060821076;
        Tue, 21 Oct 2025 08:33:41 -0700 (PDT)
Message-ID: <61198e34-d7cf-43e6-b6d2-15cc423f5fd7@redhat.com>
Date: Tue, 21 Oct 2025 17:33:35 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] char: rename CharBackend->CharFrontend
To: =?UTF-8?Q?Marc-Andr=C3=A9_Lureau?= <marcandre.lureau@gmail.com>,
 =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>
Cc: "Dr. David Alan Gilbert" <dave@treblig.org>,
 Peter Maydell <peter.maydell@linaro.org>, qemu-devel@nongnu.org,
 "Michael S. Tsirkin" <mst@redhat.com>,
 Stefano Garzarella <sgarzare@redhat.com>,
 "Gonglei (Arei)" <arei.gonglei@huawei.com>,
 Zhenwei Pi <pizhenwei@bytedance.com>, Laurent Vivier <lvivier@redhat.com>,
 Amit Shah <amit@kernel.org>, Stefan Berger <stefanb@linux.vnet.ibm.com>,
 =?UTF-8?Q?Alex_Benn=C3=A9e?= <alex.bennee@linaro.org>,
 Igor Mitsyanko <i.mitsyanko@gmail.com>, =?UTF-8?Q?Cl=C3=A9ment_Chigot?=
 <chigot@adacore.com>, Frederic Konrad <konrad.frederic@yahoo.fr>,
 Alberto Garcia <berto@igalia.com>, Thomas Huth <huth@tuxfamily.org>,
 Halil Pasic <pasic@linux.ibm.com>,
 Christian Borntraeger <borntraeger@linux.ibm.com>,
 Jason Herne <jjherne@linux.ibm.com>,
 Yoshinori Sato <yoshinori.sato@nifty.com>,
 Magnus Damm <magnus.damm@gmail.com>, Nicholas Piggin <npiggin@gmail.com>,
 Harsh Prateek Bora <harshpb@linux.ibm.com>,
 "Collin L. Walling" <walling@linux.ibm.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony@xenproject.org>, Paul Durrant <paul@xen.org>,
 "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
 Alistair Francis <alistair@alistair23.me>,
 =?UTF-8?Q?Daniel_P=2E_Berrang=C3=A9?= <berrange@redhat.com>,
 Eduardo Habkost <eduardo@habkost.net>, Corey Minyard <minyard@acm.org>,
 Paul Burton <paulburton@kernel.org>, Aleksandar Rikalo <arikalo@gmail.com>,
 Aurelien Jarno <aurelien@aurel32.net>, Palmer Dabbelt <palmer@dabbelt.com>,
 Weiwei Li <liwei1518@gmail.com>,
 Daniel Henrique Barboza <dbarboza@ventanamicro.com>,
 Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
 Samuel Thibault <samuel.thibault@ens-lyon.org>,
 Michael Rolnik <mrolnik@gmail.com>, Antony Pavlov <antonynpavlov@gmail.com>,
 Joel Stanley <joel@jms.id.au>, Vijai Kumar K <vijai@behindbytes.com>,
 Samuel Tardieu <sam@rfc1149.net>, Gustavo Romero
 <gustavo.romero@linaro.org>, Raphael Norwitz <raphael@enfabrica.net>,
 Stefan Hajnoczi <stefanha@redhat.com>,
 "reviewer:vhost-user-scmi" <mzamazal@redhat.com>,
 Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp>,
 Dmitry Osipenko <dmitry.osipenko@collabora.com>,
 Fabiano Rosas <farosas@suse.de>, Markus Armbruster <armbru@redhat.com>,
 Zhang Chen <zhangckid@gmail.com>, Li Zhijian <lizhijian@fujitsu.com>,
 Jason Wang <jasowang@redhat.com>,
 Manos Pitsidianakis <manos.pitsidianakis@linaro.org>,
 Richard Henderson <richard.henderson@linaro.org>,
 Helge Deller <deller@gmx.de>, Max Filippov <jcmvbkbc@gmail.com>,
 Lukas Straub <lukasstraub2@web.de>,
 "open list:Sharp SL-5500 Co..." <qemu-arm@nongnu.org>,
 "open list:S390 SCLP-backed..." <qemu-s390x@nongnu.org>,
 "open list:sPAPR (pseries)" <qemu-ppc@nongnu.org>,
 "open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>,
 "open list:RISC-V TCG CPUs" <qemu-riscv@nongnu.org>,
 "open list:virtiofs" <virtio-fs@lists.linux.dev>,
 "open list:Rust-related patc..." <qemu-rust@nongnu.org>
References: <20251021122533.721467-1-marcandre.lureau@redhat.com>
 <CAFEAcA-jPE_onLYLMxgcAOB7dWRXOLJrWcGPnR0NUdjYytPDVA@mail.gmail.com>
 <aPePcTKl6s4FoLCL@gallifrey>
 <CAJ+F1C+bGKtY6nf3LCXrwhZ2aEdu2npXJ9FapmsqgX0uLL5TUw@mail.gmail.com>
 <f764e4cf-d134-4c4d-a313-a5b7dd6620d0@linaro.org>
 <CAJ+F1CKG1G=5o+bDBXmLm6ywWDD19z1OFBwQQnDMxMFytFQ2SQ@mail.gmail.com>
From: Paolo Bonzini <pbonzini@redhat.com>
Autocrypt: addr=pbonzini@redhat.com; keydata=
 xsEhBFRCcBIBDqDGsz4K0zZun3jh+U6Z9wNGLKQ0kSFyjN38gMqU1SfP+TUNQepFHb/Gc0E2
 CxXPkIBTvYY+ZPkoTh5xF9oS1jqI8iRLzouzF8yXs3QjQIZ2SfuCxSVwlV65jotcjD2FTN04
 hVopm9llFijNZpVIOGUTqzM4U55sdsCcZUluWM6x4HSOdw5F5Utxfp1wOjD/v92Lrax0hjiX
 DResHSt48q+8FrZzY+AUbkUS+Jm34qjswdrgsC5uxeVcLkBgWLmov2kMaMROT0YmFY6A3m1S
 P/kXmHDXxhe23gKb3dgwxUTpENDBGcfEzrzilWueOeUWiOcWuFOed/C3SyijBx3Av/lbCsHU
 Vx6pMycNTdzU1BuAroB+Y3mNEuW56Yd44jlInzG2UOwt9XjjdKkJZ1g0P9dwptwLEgTEd3Fo
 UdhAQyRXGYO8oROiuh+RZ1lXp6AQ4ZjoyH8WLfTLf5g1EKCTc4C1sy1vQSdzIRu3rBIjAvnC
 tGZADei1IExLqB3uzXKzZ1BZ+Z8hnt2og9hb7H0y8diYfEk2w3R7wEr+Ehk5NQsT2MPI2QBd
 wEv1/Aj1DgUHZAHzG1QN9S8wNWQ6K9DqHZTBnI1hUlkp22zCSHK/6FwUCuYp1zcAEQEAAc0j
 UGFvbG8gQm9uemluaSA8cGJvbnppbmlAcmVkaGF0LmNvbT7CwU0EEwECACMFAlRCcBICGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRB+FRAMzTZpsbceDp9IIN6BIA0Ol7MoB15E
 11kRz/ewzryFY54tQlMnd4xxfH8MTQ/mm9I482YoSwPMdcWFAKnUX6Yo30tbLiNB8hzaHeRj
 jx12K+ptqYbg+cevgOtbLAlL9kNgLLcsGqC2829jBCUTVeMSZDrzS97ole/YEez2qFpPnTV0
 VrRWClWVfYh+JfzpXmgyhbkuwUxNFk421s4Ajp3d8nPPFUGgBG5HOxzkAm7xb1cjAuJ+oi/K
 CHfkuN+fLZl/u3E/fw7vvOESApLU5o0icVXeakfSz0LsygEnekDbxPnE5af/9FEkXJD5EoYG
 SEahaEtgNrR4qsyxyAGYgZlS70vkSSYJ+iT2rrwEiDlo31MzRo6Ba2FfHBSJ7lcYdPT7bbk9
 AO3hlNMhNdUhoQv7M5HsnqZ6unvSHOKmReNaS9egAGdRN0/GPDWr9wroyJ65ZNQsHl9nXBqE
 AukZNr5oJO5vxrYiAuuTSd6UI/xFkjtkzltG3mw5ao2bBpk/V/YuePrJsnPFHG7NhizrxttB
 nTuOSCMo45pfHQ+XYd5K1+Cv/NzZFNWscm5htJ0HznY+oOsZvHTyGz3v91pn51dkRYN0otqr
 bQ4tlFFuVjArBZcapSIe6NV8C4cEiSTOwE0EVEJx7gEIAMeHcVzuv2bp9HlWDp6+RkZe+vtl
 KwAHplb/WH59j2wyG8V6i33+6MlSSJMOFnYUCCL77bucx9uImI5nX24PIlqT+zasVEEVGSRF
 m8dgkcJDB7Tps0IkNrUi4yof3B3shR+vMY3i3Ip0e41zKx0CvlAhMOo6otaHmcxr35sWq1Jk
 tLkbn3wG+fPQCVudJJECvVQ//UAthSSEklA50QtD2sBkmQ14ZryEyTHQ+E42K3j2IUmOLriF
 dNr9NvE1QGmGyIcbw2NIVEBOK/GWxkS5+dmxM2iD4Jdaf2nSn3jlHjEXoPwpMs0KZsgdU0pP
 JQzMUMwmB1wM8JxovFlPYrhNT9MAEQEAAcLBMwQYAQIACQUCVEJx7gIbDAAKCRB+FRAMzTZp
 sadRDqCctLmYICZu4GSnie4lKXl+HqlLanpVMOoFNnWs9oRP47MbE2wv8OaYh5pNR9VVgyhD
 OG0AU7oidG36OeUlrFDTfnPYYSF/mPCxHttosyt8O5kabxnIPv2URuAxDByz+iVbL+RjKaGM
 GDph56ZTswlx75nZVtIukqzLAQ5fa8OALSGum0cFi4ptZUOhDNz1onz61klD6z3MODi0sBZN
 Aj6guB2L/+2ZwElZEeRBERRd/uommlYuToAXfNRdUwrwl9gRMiA0WSyTb190zneRRDfpSK5d
 usXnM/O+kr3Dm+Ui+UioPf6wgbn3T0o6I5BhVhs4h4hWmIW7iNhPjX1iybXfmb1gAFfjtHfL
 xRUr64svXpyfJMScIQtBAm0ihWPltXkyITA92ngCmPdHa6M1hMh4RDX+Jf1fiWubzp1voAg0
 JBrdmNZSQDz0iKmSrx8xkoXYfA3bgtFN8WJH2xgFL28XnqY4M6dLhJwV3z08tPSRqYFm4NMP
 dRsn0/7oymhneL8RthIvjDDQ5ktUjMe8LtHr70OZE/TT88qvEdhiIVUogHdo4qBrk41+gGQh
 b906Dudw5YhTJFU3nC6bbF2nrLlB4C/XSiH76ZvqzV0Z/cAMBo5NF/w=
In-Reply-To: <CAJ+F1CKG1G=5o+bDBXmLm6ywWDD19z1OFBwQQnDMxMFytFQ2SQ@mail.gmail.com>
X-Mimecast-Spam-Score: 0
X-Mimecast-MFC-PROC-ID: WOknEmF3YASlPDgHH8dBNQX4pgkrlJDEy4LJFvQRfaI_1761060822
X-Mimecast-Originator: redhat.com
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 10/21/25 16:27, Marc-AndrÃ© Lureau wrote:
>>>>> I always thought the "frontend" was the device the guest
>>>>> saw (the 16650 UART or whatever). invocation.html has bits
>>>>> talking about "virtio hvc console frontend device" which
>>>>> seem like they also use that terminology.>>
>> Isn't it
>>
>> - backend -> host adapter
>> - frontend -> implementation used by guest

The frontend is whatever talks to the backend.  From QEMU's point of 
view it's the CharFrontend (which consists of a Chardev*, i.e. the 
backend, and some data identifying a specific frontend), from the user 
it could be /dev/hvc0 or whatever.

> Sort of, but I think it's too restrictive to name them after "host"
> and "guest", as they also have different purposes than strictly VM
> components/side usage.
> 
> I believe talking about backend and frontend is usually the preferred
> convention.
Yes, I agree.

Paolo



From xen-devel-bounces@lists.xenproject.org Tue Oct 21 16:00:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Oct 2025 16:00:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1147470.1479789 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBEmb-0000zZ-4u; Tue, 21 Oct 2025 16:00:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1147470.1479789; Tue, 21 Oct 2025 16:00:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBEmb-0000zS-1i; Tue, 21 Oct 2025 16:00:21 +0000
Received: by outflank-mailman (input) for mailman id 1147470;
 Tue, 21 Oct 2025 16:00:19 +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
 <SRS0=3pTU=46=citrix.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1vBEmZ-0000zM-Rl
 for xen-devel@lists.xenproject.org; Tue, 21 Oct 2025 16:00:19 +0000
Received: from BN8PR05CU002.outbound.protection.outlook.com
 (mail-eastus2azlp170110003.outbound.protection.outlook.com
 [2a01:111:f403:c110::3])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 06e60a0d-ae97-11f0-980a-7dc792cee155;
 Tue, 21 Oct 2025 18:00:14 +0200 (CEST)
Received: from DM4PR03MB7015.namprd03.prod.outlook.com (2603:10b6:8:42::8) by
 SJ2PR03MB7404.namprd03.prod.outlook.com (2603:10b6:a03:559::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.16; Tue, 21 Oct
 2025 16:00:09 +0000
Received: from DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9]) by DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9%3]) with mapi id 15.20.9253.011; Tue, 21 Oct 2025
 16:00:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 06e60a0d-ae97-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Pp06OFXHyIi4P7rCsZvQvtqgdur8lyMN3wDvrnRTZv2WOa2wta1RJJ29cuEKIR0fghA89Z1yi42qWQbXM/IuM4srNrxxAN//7Fd4LXXvMXh+jzreF+rkBCQv1qm9xxasAQ3nkGhS75Iu8U6vrmMexrlhtNv6YDihhLJLHvHPDzMrOXafdbP4IA635Pgjxn3avSFjKH81Uy2/gqs5cv/4k8349eCfxpamyCYxGeLjYWbkHegGqZ2DGHNtgrvW+nP2KruPBUWM8gGhMlM6Xve45zoPa5nZKM6eq5WSdq3dRgKTS/wHFZazrqtIbt1YkfPiTBmYR5ASzdGEMW2ZcMtcAw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PbIGtqr9eh8EqJk1Tm5rtipz030C7YccW48lvbw4m9w=;
 b=PwvJ2Uh+nzCaQgP0lzs1xP4a8pOc0wwzcKtWytCHE9xOyfhBH6WQJbaU2IVZi5g0KTQt9TrFapXEbqsc95KLSs8mInHGJbj5RzpltNAGTft2Y5Beeq0/28woTm22p2edheWBiGiEywDx1xKoXdi+IFZgKvAY3OVvws4382ehtsHJf8HoYTw3ecoeOtXAjsWhpZU6qqPvQ3/KR4+C911mRdWd8h41ih1Zj3nueyLUpLcLs9rc1kgN/w6iVU1+vAkD5sNo78EF7e822DUcFAxRxxg/5bJaERw+ouj/39ImJpDVbUHJ2DsSs5iAXz1tD8kPJNELRmWBwTIzNB6ss140+w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=PbIGtqr9eh8EqJk1Tm5rtipz030C7YccW48lvbw4m9w=;
 b=W1ZGchLsX0gWwbfbIaDEez4ZzNr5z7+1CqHwwsKKT85Q2z2Ulf7SC+fT17EE3VMgmGaxmKvYm44LLM1rdp6Xfw91H/08rhP1+t1W7tE6Tqd+26FyShh+yPdRVYpxebqbysiEMopHPczSmcedRYq8WP2bg2CpMcbMqlnujDYgFGU=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <ddf70bc3-b5c5-49e0-9f70-33d436737dcd@citrix.com>
Date: Tue, 21 Oct 2025 17:00:04 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] tools/libxl: Make gentypes.py compatible with older
 Python
To: Jason Andryuk <jason.andryuk@amd.com>,
 "jbeulich@suse.com" <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper@citrix.com>,
 "anthony.perard@vates.tech" <anthony.perard@vates.tech>,
 "jgross@suse.com" <jgross@suse.com>,
 "oleksii.kurochko@gmail.com" <oleksii.kurochko@gmail.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <81c56c9c-882e-4433-b41a-6952315efa25@suse.com>
 <0a78d0993fc44d6cae0a363cc875b6da@DM4PR03MB7015.namprd03.prod.outlook.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <0a78d0993fc44d6cae0a363cc875b6da@DM4PR03MB7015.namprd03.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P123CA0085.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:190::18) To DM4PR03MB7015.namprd03.prod.outlook.com
 (2603:10b6:8:42::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM4PR03MB7015:EE_|SJ2PR03MB7404:EE_
X-MS-Office365-Filtering-Correlation-Id: 03ac618b-e6f6-485c-8aec-08de10bae884
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?THpWOXEvVGhsODA1RlR2TjNaVHZ6eGMzdHdReG1JcWZ4MTJhckpIbzhBMEUw?=
 =?utf-8?B?NEJkU2t3aVBralIvWTY4QmNpRHJWUkV3OXVReUdFbkErYS8zVkZ3cG0ySTZO?=
 =?utf-8?B?UkdFN3Rra3JLV3d5dmpKYzdmVnJubXY0QUZsWGUyRnlVMGxsaXhUNHdGR0ZE?=
 =?utf-8?B?VFhYZzY2VjBVS1EvTUplM3lyWDJmc2xmZDFDbE1nVXVhZHI1VHQ5SnpIZWZH?=
 =?utf-8?B?Um5HZFdWelNOTitIZVRZbFZvMmx4NVZOOVNnVGZXTVlWcEIzb3M1YnNCVXZV?=
 =?utf-8?B?dzc0d3JGR2FuYUFwS0tlM2p2OG53d1ZkRmtEak1TNjhKMVNMdFkwZnRybnlH?=
 =?utf-8?B?RE5qSGZJelZQTDdNV2cwbjlZdUp4bDRhL0tUdVBkRHh6QjBlaUxvTWk0ODdu?=
 =?utf-8?B?VGVweDd2bFpRTk91QUc5Y2VxSldIUjdVK1RJQVdOeDF0VUJVYkk0WXBvdGd2?=
 =?utf-8?B?blRUbGVETG52SXlua2dWUSs1dEozSFo0YURXK3ZmZXo5NTljdVZ2OVhyUXBr?=
 =?utf-8?B?VnNJb3ozZENwaFNMeUI3MUtwOWJyMU5lSHBLT25JZUFBNzBVcHA3UWF0eENv?=
 =?utf-8?B?aFRkUUsrd2k1eWp5d3BiTFB2SHBzTENnVHEvTWlnVmhrT3Focm9ja1l5MWhu?=
 =?utf-8?B?NENYVXdrM0FMNjE5QU02K2dJb0s4R1JGYVdsTlU5Sk40WXhzQTBjckVpdHdl?=
 =?utf-8?B?UEJVdnVVN2p2ZjZmMEZsYW5UenlpRnFYSFBQdXFhR0pNTkd0VHVpWFYxY3dB?=
 =?utf-8?B?aloyYjFwek95VjRaM1d5QkcwSkZZM3dHUVdaU01aQXcrbzYwaXNza2pSMG5F?=
 =?utf-8?B?WnI1SW9uV0laOElISnVmc04vczdRT2tpQUx5ZDMwanJ1dWtHMFoxTEVrRVBy?=
 =?utf-8?B?QVlpeVBkYlhKQXlaaG4vYlNqTW1tZzMrUlFBbE4yRzlQdkFORXRwWTdiTm8w?=
 =?utf-8?B?ZWNIVVJIQnNVVHpscjRQWDZ6ZjFBb1dHckorbDhFcnJzL1ZGejFVMHh6Nndn?=
 =?utf-8?B?Y3VLYVJDYUFiMXF3WFhFYnlpOWgwZ29NdWI0WTBabHhDbktDdm91bWZBdzZ5?=
 =?utf-8?B?ZTZDcXE3clFOWGRicjA2WVdtM2hUWXRSSHdCVG5lanhhWSs1NHB1eVMyRSt3?=
 =?utf-8?B?amxEZm05VmdkQW5ZSFdPMnpObXpYM2hGSHBzWG13ckU1YTNMemZEd01tZXVQ?=
 =?utf-8?B?NmNHM0p4K1NnL1VwVDVkZHdRQnJFZGdrLzdxeVoxcmV1aTZMeW00UmNLVEND?=
 =?utf-8?B?VSsvRmU2OXVLTTJJS3ZvZDNMcjN1MGlyYURvcTkzeitlTWhYZ2wxYXFsbzEx?=
 =?utf-8?B?V3FqdU5ncURVcGxnRno3WVVqNm14emh0OUFISkFuQVFjYnNiTk5Hd2dqcWZL?=
 =?utf-8?B?RXBIRVoyajBGTUhvT0RnMk45YzFqMndYaGpMckFuclowN0d4UzJaMUdnWW5B?=
 =?utf-8?B?SHQ2R2ZSQUpLTFB6bnczNzBsUUpwcTYxSnBJcG1KR0lzcDRBYU1UY3VtbkQr?=
 =?utf-8?B?ZUt6RUZKOUV6S3ExWjRRdmpNWHlIREIvdjF2M0lVSXFpejVzdzlHU0RSYURl?=
 =?utf-8?B?Z0lwaEYrS1MxdnVzSDF2ekhlQXJEOXoyc1lhbDRhbS80VHBuRW9RSHNkYVZu?=
 =?utf-8?B?by9YbW52Z3haZUhDY1B6YUNqckpLWmFiN3l6S3RlaGtCTzlxWDVDLzJJd0Jm?=
 =?utf-8?B?QjMrS2tzR2ZaOXdmUUcxblYzOHpwMVNKeHhINzB1VDNBZ3VaWXJJSTN4RlBG?=
 =?utf-8?B?VWdwSGlDYUpiQW1HdFFDNUhQbHozS2RzQk8xWlFLb01FVlpIZGFQa3FoUTMv?=
 =?utf-8?B?TVV5a3ZVUjR2QVNaVDcwZTllNnVPMWtNM29Ma3NDOEVKWlFtOTRjcnBPTVEr?=
 =?utf-8?B?RFlxd0UyUlN4SkZySDZDOXdnZy9wdndoMUJkVFcvVEJvb25jZ01wUVlCMC84?=
 =?utf-8?Q?9lAWRChvgYuiLGbtWtS52rfyKXEk5b5A?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR03MB7015.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aHZGcC9xWFEyWlJ4WWZXdHhGbjdSMzdxM3MvZXRIdGx1RDAzN2M1czdXMnFt?=
 =?utf-8?B?b1g0NmNER2d4Q1ZUSWVoNVFXVDluYVl0a2RIRVpEbllKSkRYcWZneHZmS3RP?=
 =?utf-8?B?Q1NDbTVEbHlOczB3L2Yrb0RhVEUycTlnQUFGNDY2VWZ4ZUgrTWluTVdqN21z?=
 =?utf-8?B?by9LaDgxZ2pIR2s3bEgvanRTeWc3V3k5K2lMNE1QNTBJSDF0NW1uK0oyc1BN?=
 =?utf-8?B?K1lMc2NlUW16U2huckpaTTVtbGgyQnR2Q2FOWXJkckxEaTZtdGV6K2pOSit6?=
 =?utf-8?B?Q2owVldmdjBVeEhZbzBTTVI4NzFNRDR1YlNBY3lEMDVHb2hVdTVGeTcxM1pQ?=
 =?utf-8?B?dm10NU9PUVNFa3MvOXRSbEtkd21vTzdUZDFsUHVKdFdBRG5ObWN1MWVuU3lv?=
 =?utf-8?B?TTlpdXN3RFVFTitCa2VJbDk3OEVmeXFoeFBwVHNRZVRrajRmbXg3UGd1WEJi?=
 =?utf-8?B?ZmlZYSttWVhRR2ROV0tvRnVqMXk1VGlNbTQyVDhFRExTOXBMV09QU2d0bFNp?=
 =?utf-8?B?UHpaVkVQZzFodzNpSzdCOEJXUTg0R0E3VVRCWEgwUHNRQ0FWRGJIcTFrbzBN?=
 =?utf-8?B?OGZyYWVNYXAzdExhTUlqN1Y1b2s1eDhXaFErOGJSNXVyMWh0ekc0SEp6TmND?=
 =?utf-8?B?QkV5VVphNWF6dXB5TlFuSWZXNmcxOWFyRVRqZlVpbEIra3BkVHJYZDh4YzNj?=
 =?utf-8?B?c0F3bVBGZ0NQQ0FQTGpMZmVMWVJvemJnTmZYbEg5MjN5Rlc5TEdnbjltV3VQ?=
 =?utf-8?B?b2VSbHZ6clJlSTdySEYxNnFjbDNXWmhuNjdxMU1paWNHQmZzVlVvYjFwM2Fv?=
 =?utf-8?B?YlVKVXRtMzc5R0NXZEVtcG5zTlVNajVKdnlQZkNUaSsvamFSeGI1N1YxU2Vx?=
 =?utf-8?B?Zkoxai9OTzUzSitDVmlYWlN2TnQ4czVRazhZbXU4MjZPYy9iS2lVc2t5VzRE?=
 =?utf-8?B?czdrR0xHSmV5T0t1eWlBeVNXL2RPNTBRdDNjeW9zbmY4cGgrZThERTFuV1pT?=
 =?utf-8?B?U2tMS09uTkd0SXBCZGJsOUJ1dExRdzVLU0hpT3FJNVNXREswVzIzQmw4UndF?=
 =?utf-8?B?ZDRNRjIvZDlNOXNYNGtqcmRGSklXNUtpK0N0dmowWjllcHdiVllqNkRoMlEw?=
 =?utf-8?B?dTU4NlFPazVOejk1ZXRjVWF5eEZxdWdxbVJVWjJnblZQMUZLWW5vY2k4d3pP?=
 =?utf-8?B?TEF0RkJiRFFCNHRZMWJPbDJjMHF2c3pFaVM0TGlJcnJUWnAyRWg5Sjk1Vytv?=
 =?utf-8?B?ckc2cDBvMGVHbXBQTHFSSW12TzlGbDVkR1lORmY1M1NFUzJHSGRhby96Zlgr?=
 =?utf-8?B?MGlkeXU2MjhreC9ya0N2RzM0dCtEcHN6c1Nac0M3WXFpYTdOWXkrWE9EQm1Q?=
 =?utf-8?B?WXRLM0dWUW0zR0tKS0liN0NDajBxdmk2b2cwMjU3bDVQOWFRVExjeXI5NHYw?=
 =?utf-8?B?dE5lSlpYeUhXWjNoWWIyZFl1WGhoaVJZeERNTUlYeUJiNFZnZ1ZvQTJkeTcz?=
 =?utf-8?B?UTVBamVYZ1NHWENFcjhvNk5LWTVKcW1nUC9UTElJc3Rscys3T0ZNUUZvaVJE?=
 =?utf-8?B?eVA2ek5YejdzWUxVVGNLcnFZYVRscTdTalBSOGN5MTI1Snoxc0hRS2RLb3Qv?=
 =?utf-8?B?WkgvVjVWa3RGWXprYlRWbThsa0crYkk5YjV6Z3krM3hDQXVDR2hFWWJ1UWRS?=
 =?utf-8?B?MFNmTFJ5VXp5RFBiczI2b0RTem01TlBJUzk2Z0JSSTJuUFFWUU9QTkg1NWRF?=
 =?utf-8?B?dzAwNHArODBhRmZoZTJUNm5Ca0I0d3JhVXN3Zy9aTXBkdWFJWkxyOStGTmsr?=
 =?utf-8?B?eXl3MzVTWThqcjBaQUZ0MUFIU2JQWGlpUGRuYWtybnZDb0FKYjF1dzNtNFBx?=
 =?utf-8?B?eXE3VzNOa1pzK3FYZmwzMVNuMkV4R1c5M2psZnVTUnRhT2dIclRmbzlqTWZk?=
 =?utf-8?B?ZC9LWFpVWVpHUnYvQUxFM3Rsb0wvY3d5WW9nNGdaWnlkY1lVUXVFU2hhS01n?=
 =?utf-8?B?aGRvQjJSNWJFQllxS0JubnFYY2IrY3FXN09CVVJHK0JaL1RsSkpKclNvaXQ2?=
 =?utf-8?B?akEyR0hDZEtFMStVWDVTT2ZzTlRHQTNEcWg5TkxvSHYzOFV0NjZBQzYwdllO?=
 =?utf-8?B?VFdzamlWb1V6dnkrNTVCTmswS0RVZWhJd2RBczgzZEFJVndvaVlwaGtKNngy?=
 =?utf-8?B?L0E9PQ==?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 03ac618b-e6f6-485c-8aec-08de10bae884
X-MS-Exchange-CrossTenant-AuthSource: DM4PR03MB7015.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Oct 2025 16:00:09.1593
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: WtcYfSGLewH+rxQMy4ShUGJF3zYHbEUi06qX8q14OgJYKgs/YKl2CYV8D0T0Tx+R0ysQ7LryKOA8aKmd/WgwMgPHDBIo/vFF2vWoiC1azJY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR03MB7404

On 17/10/2025 3:06 am, Jason Andryuk wrote:
> removeprefix is only added in Python 3.9.
>
> Instead of the prefix removal, switch to passing in a "depth" parameter,
> and incrementing it for each level.
>
> There is a slight change in the generated _libxl_types.c.  instances of
> KeyedUnion increment depth without outputing any code.  The net result
> is some cases where jso_sub_1 is followed by jso_sub_3.  As an example:
>
> _libxl_types.c
> _libxl_types.c
> @@ -5535,12 +5535,12 @@
>                  if (!jso_sub_1)
>                      goto out;
>                  if (!libxl__string_is_default(&p->u.pty.path)) {
> -                    json_object *jso_sub_2 = NULL;
> -                    rc = libxl__string_gen_jso(&jso_sub_2, p->u.pty.path);
> +                    json_object *jso_sub_3 = NULL;
> +                    rc = libxl__string_gen_jso(&jso_sub_3, p->u.pty.path);
>                      if (rc)
>                          goto out;
> -                    if (json_object_object_add(jso_sub_1, "path", jso_sub_2)) {
> -                        json_object_put(jso_sub_2);
> +                    if (json_object_object_add(jso_sub_1, "path", jso_sub_3)) {
> +                        json_object_put(jso_sub_3);
>                          goto out;
>                      }
>                  }
>
> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>

Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

Personally, I think this is the nicest of the options posted.


From xen-devel-bounces@lists.xenproject.org Tue Oct 21 16:23:44 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Oct 2025 16:23:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1147483.1479799 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBF98-0004CG-TP; Tue, 21 Oct 2025 16:23:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1147483.1479799; Tue, 21 Oct 2025 16:23:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBF98-0004C9-QU; Tue, 21 Oct 2025 16:23:38 +0000
Received: by outflank-mailman (input) for mailman id 1147483;
 Tue, 21 Oct 2025 16:23:37 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <anthony@xenproject.org>) id 1vBF97-0004C3-O9
 for xen-devel@lists.xenproject.org; Tue, 21 Oct 2025 16:23:37 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <anthony@xenproject.org>) id 1vBF92-00CnC7-1z;
 Tue, 21 Oct 2025 16:23:32 +0000
Received: from [2a01:e0a:1da:8420:b77:bd5:6e45:7633] (helo=l14)
 by xenbits.xenproject.org with esmtpsa (TLS1.3) tls
 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96)
 (envelope-from <anthony@xenproject.org>) id 1vBF92-0068ng-1A;
 Tue, 21 Oct 2025 16:23:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=In-Reply-To:Content-Type:MIME-Version:
	References:Message-ID:Subject:Cc:To:From:Date;
	bh=YLOgb/qKCsYCy2YClbRBhA5CW/gMyZm6bME1hzSRxS0=; b=hdsr2G4vnfS3CugCZGCzjiu55D
	hYx2V20LtdBRtvdeqerF+8ApVbnmFIR6lp4LFRDNMesoKiH7mDXwdRkb03efqp3WFrEuPNVb2O6fP
	feR7zbVzBJCZzmlfyC0vKjtk2DLOqX68OzXSZHpde5F/Rnf2u4EMVCdOkHb7owB1nsLE=;
Date: Tue, 21 Oct 2025 18:23:30 +0200
From: Anthony PERARD <anthony@xenproject.org>
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: jbeulich@suse.com, andrew.cooper3@citrix.com, anthony.perard@vates.tech,
	jgross@suse.com, oleksii.kurochko@gmail.com,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH] tools/libxl: Make gentypes.py compatible with older
 Python
Message-ID: <aPezgmtiRHlDqFLE@l14>
References: <81c56c9c-882e-4433-b41a-6952315efa25@suse.com>
 <20251017020613.79855-1-jason.andryuk@amd.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20251017020613.79855-1-jason.andryuk@amd.com>

On Thu, Oct 16, 2025 at 10:06:13PM -0400, Jason Andryuk wrote:
> removeprefix is only added in Python 3.9.
> 
> Instead of the prefix removal, switch to passing in a "depth" parameter,
> and incrementing it for each level.
> 
> There is a slight change in the generated _libxl_types.c.  instances of
> KeyedUnion increment depth without outputing any code.  The net result
> is some cases where jso_sub_1 is followed by jso_sub_3.  As an example:
> 
> _libxl_types.c
> _libxl_types.c
> @@ -5535,12 +5535,12 @@
>                  if (!jso_sub_1)
>                      goto out;
>                  if (!libxl__string_is_default(&p->u.pty.path)) {
> -                    json_object *jso_sub_2 = NULL;
> -                    rc = libxl__string_gen_jso(&jso_sub_2, p->u.pty.path);
> +                    json_object *jso_sub_3 = NULL;
> +                    rc = libxl__string_gen_jso(&jso_sub_3, p->u.pty.path);
>                      if (rc)
>                          goto out;
> -                    if (json_object_object_add(jso_sub_1, "path", jso_sub_2)) {
> -                        json_object_put(jso_sub_2);
> +                    if (json_object_object_add(jso_sub_1, "path", jso_sub_3)) {
> +                        json_object_put(jso_sub_3);
>                          goto out;
>                      }
>                  }
> 
> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
> ---
> Here's an alternative approach to workaround removeprefix.

Yeah, this version is less obscure about what's going on. Let's go for
it.

Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>

>  tools/libs/light/gentypes.py | 14 ++++++++------
>  1 file changed, 8 insertions(+), 6 deletions(-)
> 
> diff --git a/tools/libs/light/gentypes.py b/tools/libs/light/gentypes.py
> index 006bea170a..0e45c04f49 100644
> --- a/tools/libs/light/gentypes.py
> +++ b/tools/libs/light/gentypes.py
> @@ -377,15 +377,16 @@ def get_default_expr(f, nparent, fexpr):
>      return "%s" % fexpr
>  
>  # For json-c gen_json functions
> -def libxl_C_type_gen_jso(ty, v, indent = "    ", parent = None, scope_object = "jso"):
> +def libxl_C_type_gen_jso(ty, v, indent = "    ", parent = None, scope_object = "jso", depth = 0):
>      s = ""
>      if parent is None:
>          s += "json_object *jso;\n"
>          s += "int rc;\n"
> -        sub_scope_object = "jso_sub_1"
> +        depth = 1
>      else:
> -        sub_scope_object = "jso_sub_%d" % (1+int(scope_object.removeprefix("jso_sub_")))
> +        depth += 1

We could simply do `depth += 1` regardless of the value of parent, it
would have the same effect, since depth start at 0. We just need to
create a new variable name that is different from the one created by the
callers (`depth=random.randrange(9999, 99999999)` actually works :-D,
but no guaranty of having different values). Anyway, the code is fine as
is, no need to make last minute edit.

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Oct 21 16:31:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Oct 2025 16:31:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1147497.1479808 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBFH0-0005s2-Kk; Tue, 21 Oct 2025 16:31:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1147497.1479808; Tue, 21 Oct 2025 16:31:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBFH0-0005rv-Ho; Tue, 21 Oct 2025 16:31:46 +0000
Received: by outflank-mailman (input) for mailman id 1147497;
 Tue, 21 Oct 2025 16:31:45 +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
 <SRS0=3pTU=46=citrix.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1vBFGz-0005ro-4p
 for xen-devel@lists.xenproject.org; Tue, 21 Oct 2025 16:31:45 +0000
Received: from SN4PR2101CU001.outbound.protection.outlook.com
 (mail-southcentralusazlp170120001.outbound.protection.outlook.com
 [2a01:111:f403:c10d::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6cecba1a-ae9b-11f0-980a-7dc792cee155;
 Tue, 21 Oct 2025 18:31:43 +0200 (CEST)
Received: from DM4PR03MB7015.namprd03.prod.outlook.com (2603:10b6:8:42::8) by
 BLAPR03MB5636.namprd03.prod.outlook.com (2603:10b6:208:297::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.17; Tue, 21 Oct
 2025 16:31:35 +0000
Received: from DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9]) by DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9%3]) with mapi id 15.20.9253.011; Tue, 21 Oct 2025
 16:31:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6cecba1a-ae9b-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=r9URm5qOg1lm+yYnnrcsD+Wxet1k6PomYClq7N31H5yuUrYCYkRuIGkG+hP04VNtuUarjQ4KymVUP8x84mN/62yxvj7065Mr/gFmNad4Z5G1D8qsIxhnYqaZoYyGSe31dl9IBD5KWncv6QUUHVGEKiCU6ORwIEpbDI6CsaadLYqH5Vlo8y2enNRKXZT0JwSL0Q1h8P3g7dPspAzgd8C/ZjJSu8BW+Vd3LGfcCQvc37H9crlffK+8ch30gPIeJ916DZQl/VGAMWVmXT+b5g3HxEJdSdldIkEzJeYHkebozxWPSnuGIUlMjYX74RiGuPgdF0CYYLMlePlpJx9ZhsMNhA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1SdSXyLrSvM8ncmCAP1pz+qYDIyNcDbgZ4liEgKk3Uk=;
 b=Z/HKoyvJuHIpV87PBIiY1hLhl4GWQaKe8Uf2Gv0fXjftrSO+foP32HMYLMGZUCgrTUzigzSRwfpwB+adq5I4iRn1T3fVhJqAEq4HvRpls8SzTRNNmpskq489ER+9Oef+815lJxhsNPjy+impH+iPtUQi5TQCpW8gPrQX5yQKi7xo8skVuzsbOA0G0wEKT2H8lEd1zGa9fPgwLIX826yq9FYaKjVl7X25iIcPwaTcN3Oh77IF1UwQxKkCkJGOeBsur82b/kC+BBWMjJZcc6CUaiOfcGqqSrpflXSQy6sfRVGmhwvDoBYShfbqlqF7Py0hCs2jB60E/t/80UZ2uDCHZw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1SdSXyLrSvM8ncmCAP1pz+qYDIyNcDbgZ4liEgKk3Uk=;
 b=ITNovcMEICENECJwmwz0v0amaNeGJ+9Sgcw1zrpOvTUa80MghgQSWb7XQffGHlP3amuoACbID6GnXxyw9e2EmFnEGTcuIItiCp2Vp46+hW7Lqz2/fwAQ/IVNBI4b3rQ2kUvvQ7bSDVbuhBO3c/K4+pAYEsh/76AnagU2mpIwV5o=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <fa9cf040-7acc-4bfb-bef3-5da5f9f5a558@citrix.com>
Date: Tue, 21 Oct 2025 17:31:30 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] tools/libxl: Make gentypes.py compatible with older
 Python
To: Anthony PERARD <anthony@xenproject.org>,
 Jason Andryuk <jason.andryuk@amd.com>
Cc: jbeulich@suse.com, anthony.perard@vates.tech, jgross@suse.com,
 oleksii.kurochko@gmail.com, xen-devel@lists.xenproject.org
References: <81c56c9c-882e-4433-b41a-6952315efa25@suse.com>
 <20251017020613.79855-1-jason.andryuk@amd.com> <aPezgmtiRHlDqFLE@l14>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <aPezgmtiRHlDqFLE@l14>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P265CA0057.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:60::21) To DM4PR03MB7015.namprd03.prod.outlook.com
 (2603:10b6:8:42::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM4PR03MB7015:EE_|BLAPR03MB5636:EE_
X-MS-Office365-Filtering-Correlation-Id: c0da0f43-9f87-4897-4157-08de10bf4cd3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|366016;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?RVVVWlYzaUVUbEdJamYxd0szRy9MZW1uNFV1SHhzN3pBeVZmaHlMTm54bm5I?=
 =?utf-8?B?OU56L2xBbmJJWGJlNkxGWVo4QnRRbU1FMHhadk1RdTdTNzdhS3B1bzVXUjRr?=
 =?utf-8?B?L0lUKy9VZ2ZldXRKTG0vMlQ0Z1dpaW5hUHBrWGN2S1I5bnJ1OWY1ZnNJV3da?=
 =?utf-8?B?djRQS0FIT1loU0JRcGNxRzZReGVwVFZNN21ObGZqa0EreUxrVEdGUFJZUlNK?=
 =?utf-8?B?R2ZZQmI4UjVnK0ljaHV5Q3JaQXJoVXJhemgybWF4Q0QzMW5JbUh3RFEzVzZt?=
 =?utf-8?B?cVl4R3MxNWFDZXd1bGkyaHlUWEtsVDNvT0NVUUtnNmFwZDQ3amlDeDFVVlRJ?=
 =?utf-8?B?Z3BNYjNMNEpNSG1HTmltaDBab2p2Mi81c2NhOFROazVWdTdRbThSdkZQTm9w?=
 =?utf-8?B?SUxZcStDOWxZdjlZdVhLOHc2V1VWUlY4enppYWZrRU5YdElxY2tnVjNBWTk5?=
 =?utf-8?B?NDA0aUxaRkRPbEExSXA1Mm9yOThtWUp4TjJpYlZVUWVxTlNYYXhJUmtvUEhR?=
 =?utf-8?B?eEFCbjNoNXE0R28rZE11T0YwV3dlbEVpVGFWSXk3amF1U2Y4RU1mWmorbURo?=
 =?utf-8?B?SXdFb0ZCZjZ1YWlReEhLcnhhQVQ0T2NCeFowMlB1ZXd4bmpyR0Y3aXc3NWdX?=
 =?utf-8?B?d29MUlJsTTRiU2gwTXZjQUlYd0F3QTNMYWczTjdEMXJRYjBBeUxUb2d6bzZm?=
 =?utf-8?B?ZHVUU2NnclVXTzg1ZUpVTEp0STcrSGxvb0pXa3ZUSU9iQjllamxDc3JLSjdK?=
 =?utf-8?B?dTZXOS9pcFBQd09NdkFFWlN2ckJRTFJqbFBWQVQvSjREMHFzMVFYL2M3cmxm?=
 =?utf-8?B?aVpVU1NtcTU0OHJuZVFJcmJTUnphd292a2NzamVBQ2o2eWRUSkxFM3M4SEtU?=
 =?utf-8?B?WnlTYTNKRDViRDhXNVBjblpUWks2cFdQY1I4MitpeUFPeE4rZ001SWx4OVFI?=
 =?utf-8?B?VWs3bHBQVCtrcGducmRVNGxsYStiSUg2ZjM2RGVXZzdiUktnakNETk1HS3M3?=
 =?utf-8?B?QjZCOFBOR2lXdjBFL2tLZEowOVkxUHBLU2F2QnVvUXR0VXJXTkRNTmVrK1Br?=
 =?utf-8?B?bk1veG9GNUYyY3hKSFJNWHBoUUExZ2IxWGhoUFJJL3lXeSt3Vk1xSitsOXRX?=
 =?utf-8?B?WGs3eDQ5SmsrQTZTSWFDRWhUbEtJNDJaMWlBeExGMHE2TjVraXNjMmM3WktF?=
 =?utf-8?B?UXB3UC93cDkxZndwODFTdjlEYTI0cnBLNHRjblo4OHVlNUJVSUJDWjFZVC9K?=
 =?utf-8?B?ZUNWajErNXJMNktXcnN4S2wwTHd2eW0rUVFaaDlQOTlud29iT0UybGFDTGda?=
 =?utf-8?B?WVVvUGF6UitjdlM1RWN3bGdPdXFrOHNGcjNRS1RjVG1CVHZJODJuZ1lVVmUr?=
 =?utf-8?B?ajVvcFdLL0M5QWd2OEliWEo2RGYydmo1Vy9HMUpVVHhYcS9pWVdJNXBrUVp5?=
 =?utf-8?B?Q2VrMk9yY2FrRnBuUjdKbTFiUmFOTHY3ait1OUdPK29Ta2VBdWR2ZEpXZito?=
 =?utf-8?B?M2RkRFRCcy9KdkJVTURVb3V3QStCQWJnaFRtYTBuSmJxWVpsWVFYd1FLVFh1?=
 =?utf-8?B?c1dCb1Y1T3ZTdDZkTm8zenFnMVRnOVQrTC8ybG8zbzZXc1l5OXVWYzZaWm5v?=
 =?utf-8?B?RXgvRDZnUzdCTDRva0ljTGl6WGF2aVh2WW9zQmcweG9EcUp6Y0hQQk9NRXJV?=
 =?utf-8?B?YWRJbGdhTktnbHRtS2ZaOTJtR1YwR2Z1czdOZ3VVeXJSaW5tK1RxZTBDVlJl?=
 =?utf-8?B?c3UwSE9RMWFlaFNpelV3Vi9ORU15S3M4UE50RW1sbk0vR2tJVU1uZDNnbmF0?=
 =?utf-8?B?OW11NlhrekRrbUJqems2S2lEWm55Mjd1NkZWUG16bWdzcERxK05acjQ0SE1W?=
 =?utf-8?B?MXJGY1ZKY1pLS1hyRG1NTGdRV1lZZ21pMUdydmc2Z1hJKzN2QWxKTXBoNXQ2?=
 =?utf-8?Q?wDaKlfvka7FdGtlvzFNj8/NrH2YJStfy?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR03MB7015.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NHU2Y2dINmNPejlMYng2LzdmSGNZcERUQ0R3ZDRBczJFakFxa1JCeHc1K3B1?=
 =?utf-8?B?RGtJZWdVR3AzR0hZc0FTaFpDUE13TjFyYlArRW1DLzJ6Mzg2aUJSeEZOVEF1?=
 =?utf-8?B?bFRvQkdsOWFnNjZ3SnVVaDc5bkc0bnJsNGJtc2RPajZmN1ZQMnpVM2wrSUhm?=
 =?utf-8?B?cFZKcWIwUzJPS1VTRXF2c0pIRjc0L0MzNGVSbzcrZk4yL1hUODlzcHltdVdU?=
 =?utf-8?B?OGtNdmFEU2p2SkcvKysrejBYdWN4RDkzVi9KUzdUQlpyWldNQVhlZE5KV1Zt?=
 =?utf-8?B?blVlNm8yWk1zeUpQMzJRUS91UnNLb2FpeWN0cEZYQm9jeUxHaXRhSHlsb3BL?=
 =?utf-8?B?ajVXNW9uTlJOV0RlL3hSbVlITkdocWdTVC9KOXZBZGMwbjVrMTFGRTZ5SlZ2?=
 =?utf-8?B?RFRMR3NmVlB5di90TGJvT01JVTdTZFEyQXV2akJHMlBaM2RnbUw5TGY0UUJN?=
 =?utf-8?B?bmZ3cUtpWXJraEFSMWY1UFF4cWZMTzB3WVVuTGErNldmd25ucndjVG5jcGhM?=
 =?utf-8?B?THJQSzVmcjREcFIwRGxZdi9BUXY5TnU0eTBaNkFiTEc5RG11UjA0K1pnN3N0?=
 =?utf-8?B?SGh5NFl1Nkk4VzYrREd5V3Awb01SVW5MRXBKNWJsN1ptcGpoZUJKT2kxOVRH?=
 =?utf-8?B?Q2tHcml1cDg5OXV0dGZZWHc5U0ZxWEZJbVlnbk5ET0NGc1VsK3dlU1VsVUgr?=
 =?utf-8?B?ZDhvcmhBT0lTbVNqY2lPa1dsM1ArZm9TWW1JSDE5bVd4dElCb2x3b0JmLzJn?=
 =?utf-8?B?SlB4c1ZSRkpRY25lWmpRaTFxSzNMQml2SFpicEVQMUF5TThLTmlCWHBXTFYv?=
 =?utf-8?B?Mnl3bVl5Q0pwcHZKYzhtSTVEOERZVHNrc25YbVphcjhIL0ZHdUl6NXhFb3do?=
 =?utf-8?B?bUFSaVpnM01vQ1RlVDRZVE9zWjgxeGJsS2dJMDNZdDgzTFl1bkpDbDFTS3Fy?=
 =?utf-8?B?Z0w2TGE5WWdMcCtIK2I0UVZRaVRpdXc5b21UYUZtU2FKM0VBaTk4ZDZ5K3Fv?=
 =?utf-8?B?cmZKMTYvcnc2T2dQUm1sUnQyb2tYZTkvZGgrbEQ5VFlYdzVITm8rb3k5VHpl?=
 =?utf-8?B?UzIrbzlBSEIxdW1ST0ZsUThxcmVLZWw1MDNjeXpUQ2twSU1nYTNnKzhFYSs4?=
 =?utf-8?B?WmErQlE2ZFJPUGl0WVhYV2U3K2xWTmpxejNOTGF4L0NBL0s1UzJqL0ZhWGRV?=
 =?utf-8?B?WFVlUjhDNEJienNobDJqbXUzY1U4VlBGODg2dzlqcXMwNmRhbEg2bnFLMDE2?=
 =?utf-8?B?UWNmeU4vUzNKa0t4djN1UzBJbzZBZ0lSU1ZRUmIyUlZacGh2Z0ExMmZDNmYw?=
 =?utf-8?B?T3NrVnorSW8wSGhzZzZkeUFjM2VPV2hZWVYrTVJxQ1BqcXhBcnBIcGZDTGtL?=
 =?utf-8?B?L3FMUno0bUtudSttdUVUR2J3Zi90dzN0VmxSNHBLQzB2M2xIZEg5M3lTVlN1?=
 =?utf-8?B?MTNuR29vclpUS3JpYXM2TGNlWEdYOXlJVy9MM1ZpMDhjOXBCL1F6TWtBMlJH?=
 =?utf-8?B?RnpSMFhHMTFSK1dXVUxIRFN1SDR3NFFRV0FTaEI1cktiZFFTSFZZdkN5NTJp?=
 =?utf-8?B?bWJHNStETGRoSnpIbk1Ma1VNSG5hQVZLMTFUSVJwUmpySnRVUUZFMEY5M1di?=
 =?utf-8?B?ZENGVGdUQU1lYWFHMjc0NFk4TnlPdlpCY09QNnBBK3NUaW9Rb0U4TUE5aTZx?=
 =?utf-8?B?U1pMbjJsaldmRDNtU0t1UGpyQWY2SjRiTlRKSTBmNnE4MjVmQmtmam05c0Ja?=
 =?utf-8?B?d0dsREswa2FVWDBwRXZZbmE0SkFhNno4K0pvdXVZb05UMm9aNVkwc3BqRWpn?=
 =?utf-8?B?M283Z2VRRnRQbFROVS94OWQwZG5qQkhwdmZyeW5ZVHFYdWZ2aUVwb2hDa3JN?=
 =?utf-8?B?K0pkR2tvaUhrZEo2NEdRLzcvaHVYK0lRUE16ZjJjVTNkT0VaWUF1ZUlzVUxP?=
 =?utf-8?B?Ylp2cE1QUUJmNWpocEViSlYyazBoQU5uRUEyKzFnc08yS3IxRDJqMkNRdURS?=
 =?utf-8?B?NEZucnFweDZ3TGZUZmsyUVgyTVFVaVpGUWxZcFZHejM4TzRWWGY0NHFORmZp?=
 =?utf-8?B?MFVXYU1Jd2c0RUtCYkordllmVHZmUld1SUxvMWl2VU9MK1pyai9jcCtuREVt?=
 =?utf-8?B?eHFrdkUvbzhRSndiSmxpcjF2Z3pRajE5bjBnSjZZRC83ckx3dm55c0FIeHYw?=
 =?utf-8?B?Mnc9PQ==?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c0da0f43-9f87-4897-4157-08de10bf4cd3
X-MS-Exchange-CrossTenant-AuthSource: DM4PR03MB7015.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Oct 2025 16:31:35.1514
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: pvvUWh37rjLKEK3WrTDE/3uOEKBmSSUrdgXaFNk+srqZ8/OoDBp23VSz9gNWzNyureQL7e6CxLn8IJfoKMM1+39uFTbYbCRvAZcRE/q+hDM=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR03MB5636

On 21/10/2025 5:23 pm, Anthony PERARD wrote:
> On Thu, Oct 16, 2025 at 10:06:13PM -0400, Jason Andryuk wrote:
>> removeprefix is only added in Python 3.9.
>>
>> Instead of the prefix removal, switch to passing in a "depth" parameter,
>> and incrementing it for each level.
>>
>> There is a slight change in the generated _libxl_types.c.  instances of
>> KeyedUnion increment depth without outputing any code.  The net result
>> is some cases where jso_sub_1 is followed by jso_sub_3.  As an example:
>>
>> _libxl_types.c
>> _libxl_types.c
>> @@ -5535,12 +5535,12 @@
>>                  if (!jso_sub_1)
>>                      goto out;
>>                  if (!libxl__string_is_default(&p->u.pty.path)) {
>> -                    json_object *jso_sub_2 = NULL;
>> -                    rc = libxl__string_gen_jso(&jso_sub_2, p->u.pty.path);
>> +                    json_object *jso_sub_3 = NULL;
>> +                    rc = libxl__string_gen_jso(&jso_sub_3, p->u.pty.path);
>>                      if (rc)
>>                          goto out;
>> -                    if (json_object_object_add(jso_sub_1, "path", jso_sub_2)) {
>> -                        json_object_put(jso_sub_2);
>> +                    if (json_object_object_add(jso_sub_1, "path", jso_sub_3)) {
>> +                        json_object_put(jso_sub_3);
>>                          goto out;
>>                      }
>>                  }
>>
>> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
>> ---
>> Here's an alternative approach to workaround removeprefix.
> Yeah, this version is less obscure about what's going on. Let's go for
> it.
>
> Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>

Thanks.Â  I'll take this version, and take the liberty of assuming that
the Release Ack is transferable to whichever solution the maintainers
prefer in the end.

>
>>  tools/libs/light/gentypes.py | 14 ++++++++------
>>  1 file changed, 8 insertions(+), 6 deletions(-)
>>
>> diff --git a/tools/libs/light/gentypes.py b/tools/libs/light/gentypes.py
>> index 006bea170a..0e45c04f49 100644
>> --- a/tools/libs/light/gentypes.py
>> +++ b/tools/libs/light/gentypes.py
>> @@ -377,15 +377,16 @@ def get_default_expr(f, nparent, fexpr):
>>      return "%s" % fexpr
>>  
>>  # For json-c gen_json functions
>> -def libxl_C_type_gen_jso(ty, v, indent = "    ", parent = None, scope_object = "jso"):
>> +def libxl_C_type_gen_jso(ty, v, indent = "    ", parent = None, scope_object = "jso", depth = 0):
>>      s = ""
>>      if parent is None:
>>          s += "json_object *jso;\n"
>>          s += "int rc;\n"
>> -        sub_scope_object = "jso_sub_1"
>> +        depth = 1
>>      else:
>> -        sub_scope_object = "jso_sub_%d" % (1+int(scope_object.removeprefix("jso_sub_")))
>> +        depth += 1
> We could simply do `depth += 1` regardless of the value of parent, it
> would have the same effect, since depth start at 0.

That makes the code even more simple, because it takes out the else.Â 
The net hunk is:

@@ -377,15 +377,14 @@ def get_default_expr(f, nparent, fexpr):
Â Â Â Â  return "%s" % fexpr
Â 
Â # For json-c gen_json functions
-def libxl_C_type_gen_jso(ty, v, indent = "Â Â Â  ", parent = None, scope_object = "jso"):
+def libxl_C_type_gen_jso(ty, v, indent = "Â Â Â  ", parent = None, scope_object = "jso", depth = 0):
Â Â Â Â  s = ""
Â Â Â Â  if parent is None:
Â Â Â Â Â Â Â Â  s += "json_object *jso;\n"
Â Â Â Â Â Â Â Â  s += "int rc;\n"
-Â Â Â Â Â Â Â  sub_scope_object = "jso_sub_1"
-Â Â Â  else:
-Â Â Â Â Â Â Â  sub_scope_object = "jso_sub_%d" % (1+int(scope_object.removeprefix("jso_sub_")))
Â 
+Â Â Â  depth += 1
+Â Â Â  sub_scope_object = "jso_sub_%d" % depth
Â Â Â Â  if isinstance(ty, idl.Array):
Â Â Â Â Â Â Â Â  if parent is None:
Â Â Â Â Â Â Â Â Â Â Â Â  raise Exception("Array type must have a parent")


~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Oct 21 17:21:31 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Oct 2025 17:21:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1147514.1479819 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBG2t-0003op-8X; Tue, 21 Oct 2025 17:21:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1147514.1479819; Tue, 21 Oct 2025 17:21:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBG2t-0003oi-4z; Tue, 21 Oct 2025 17:21:15 +0000
Received: by outflank-mailman (input) for mailman id 1147514;
 Tue, 21 Oct 2025 17:21: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
 <SRS0=bj24=46=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1vBG2s-0003oW-Bv
 for xen-devel@lists.xenproject.org; Tue, 21 Oct 2025 17:21:14 +0000
Received: from PH7PR06CU001.outbound.protection.outlook.com
 (mail-westus3azlp170100009.outbound.protection.outlook.com
 [2a01:111:f403:c107::9])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4f65ba08-aea2-11f0-980a-7dc792cee155;
 Tue, 21 Oct 2025 19:21:00 +0200 (CEST)
Received: from MW4P223CA0009.NAMP223.PROD.OUTLOOK.COM (2603:10b6:303:80::14)
 by IA1PR12MB6650.namprd12.prod.outlook.com (2603:10b6:208:3a1::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.12; Tue, 21 Oct
 2025 17:20:56 +0000
Received: from MWH0EPF000989E5.namprd02.prod.outlook.com
 (2603:10b6:303:80:cafe::67) by MW4P223CA0009.outlook.office365.com
 (2603:10b6:303:80::14) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9228.16 via Frontend Transport; Tue,
 21 Oct 2025 17:20:56 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 MWH0EPF000989E5.mail.protection.outlook.com (10.167.241.132) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9253.7 via Frontend Transport; Tue, 21 Oct 2025 17:20:56 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.2.2562.17; Tue, 21 Oct
 2025 10:20:55 -0700
Received: from satlexmb07.amd.com (10.181.42.216) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 21 Oct
 2025 12:20:55 -0500
Received: from [172.21.152.226] (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.17 via Frontend
 Transport; Tue, 21 Oct 2025 10:20:53 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4f65ba08-aea2-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=G9aXNOYmBxx3nGLRU5qzwJhhPvIk15wsC7GNJUnG4r6FaPn1BorYoKbH7TqMvQVAZGd0Psi1ojnav2TZJJnienKrc9BEveQ3yGn35fsBHZfWEshFzfyt6zv9NY84hJV5DYvJkvIvqWTsTZiT/jdLXCzk5Q1YF8WFvffHyv25MLo2qtLpEWTjSfy57lnANHgvbiEwLX52Sn32/+k7OEXd2tAVY37tIHwuSpLgVE6llr4YcBN19Js0Pa37zGc9zODDHzTHCWgM3AJH6AuPW52N8+3oE4R3lAw/e3hcO/R5O/MefLtAe9SDKMY8RyOv95craBUAMF/7XaQsSuSU4x4hGA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=C1a9B53zZi20Oa49So7sdfTfj5Oao41vAW32lubUwIE=;
 b=HXWx9u8w/7GCguc0TEGEPxOx1t4d9A7WNFEWUX2lRMq9hUAK29Yahz9Dmalkj4MiRZBqrRzeHQnDthW0RyCEfYmunHUDNc+IfsnfmIhwiWMVQjjSGvwHzmCuE0yyUd6/L0FGfdBOA7aLmcBSRWmLGTJsq7VwpftHoWumUuSaFf0O90OyvkE42hkL1BcwTgl4s7XQPFdGwNVrLQbfwiImJTNB3blfbz8Ij2kCJda7qAcB8krOAlterIINtdWI7WPJOer37B4/+ailEJ4vA/NRjZGmNqNdqObWuRLEutBwTeri6XepVSkjIst90dcIFRMGJ/9dADkwI9Bxz74BnShbhA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=citrix.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=C1a9B53zZi20Oa49So7sdfTfj5Oao41vAW32lubUwIE=;
 b=LSXeMAOnsZr2+ysTvoV0ZVvlCXsdbRgEswn4Q5w51uI1gmmCY7jdSy/OmPQKAtDAw5p1AEsNkwpuucnDlI1EYO5wni6ARqi+5kvMYmCCI03wHNUkQW1b15WBhxzfqRkSoMbHgb9WHLawrMeM1Rz81tigyq/Pz008MZBYhBCu4pY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
Message-ID: <11778663-c884-40f0-9a4b-04ff4aa80355@amd.com>
Date: Tue, 21 Oct 2025 13:20:58 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] tools/libxl: Make gentypes.py compatible with older
 Python
To: Andrew Cooper <andrew.cooper3@citrix.com>, Anthony PERARD
	<anthony@xenproject.org>
CC: <jbeulich@suse.com>, <anthony.perard@vates.tech>, <jgross@suse.com>,
	<oleksii.kurochko@gmail.com>, <xen-devel@lists.xenproject.org>
References: <81c56c9c-882e-4433-b41a-6952315efa25@suse.com>
 <20251017020613.79855-1-jason.andryuk@amd.com> <aPezgmtiRHlDqFLE@l14>
 <fa9cf040-7acc-4bfb-bef3-5da5f9f5a558@citrix.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <fa9cf040-7acc-4bfb-bef3-5da5f9f5a558@citrix.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
Received-SPF: None (SATLEXMB05.amd.com: jason.andryuk@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MWH0EPF000989E5:EE_|IA1PR12MB6650:EE_
X-MS-Office365-Filtering-Correlation-Id: 6a369a7d-9528-4de0-b568-08de10c6320e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|36860700013|1800799024|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?RVZCU2tweEVoVHg3ZWZ0M2psb2RDcEtGZ2dwQTRQeWIxUHFLT3RwbXI5R09r?=
 =?utf-8?B?NlhocXVsV256Y1ZFdUJuWUtyQkZPVWlLNUZBQk9PTE1iTk1qUG50YlBxRUFR?=
 =?utf-8?B?L0tWNTZVUjlFSzl1Y2tBUjZPOU02SXZ0aytuNVNJRlEvc2xlR09sSG03a0x2?=
 =?utf-8?B?RTdBZjRocnA2dkRWRm84RjlzL0dPOVN4WXk0U1hnQ0dLN081N2JHMlVLSjRF?=
 =?utf-8?B?QkFocWwvZlJaK01pYUNLMWpNUkZHcGFVK096TXIwNWtTT2J6ZUE1TjREZ0Vm?=
 =?utf-8?B?RUZDWDc4RUREcjlVc2tkQlBvOUZqQUxIU25lUWtjTTVpZ3ZiNXJDRlRlOU1o?=
 =?utf-8?B?MUppTktRYW5NZ2RhNnBCN2RWd3NURVFMbHg2VHFzUGxJcGNvaXVaMUMyMVdx?=
 =?utf-8?B?TW1CMmdjMjNDV1BQTE5KS21Xd3lWaWxEODNidnZiTytKcm9DbHFaUHJDZGhY?=
 =?utf-8?B?OWRUdGVZem5Wd0tmcDkzWTcrZTRwTENQZEJsWDNtNHZkbWttV1FNYmtPdE0z?=
 =?utf-8?B?VHo2dVVKcWZaVWxWOEZrL09sY2hZemVGM0hVL21uNjVQbHkzUktCMzlFVlVT?=
 =?utf-8?B?MFJ3ZXZ2OW1nazRuUm4reDJKQUdOOGJSRmd1NUMvOGFTT00rUGdsaDZPakFE?=
 =?utf-8?B?Y29pWVZuZkwvbU4zZ0ZudGVNZzJEaDlib1EySVNvbmgvclgwbFlKM2UxWWUx?=
 =?utf-8?B?eEFuRzQwUWljQTV1aSsxd1ZlS2FtUWt4S01UWTArMGxtQm5GYzBNa2NQeXFN?=
 =?utf-8?B?TlZtNUlBUXhEMzdBZ2oyQWd2VERNVzh3WHpkY3VITTcxTzQ2a2xoRjg4QUE2?=
 =?utf-8?B?Q1JJTVMzYzJDU2EzaHU0VnF3cW5yc1N2MEZYck5PMU9jR2VVM1ViSUpjQ2tq?=
 =?utf-8?B?VURTN2oyNCtXdHhIUnh4dWlEUVdPKzM4dEwrekwzcVloUDZoNUtFaFptUjl2?=
 =?utf-8?B?SVB2VUNDNUl1RUgwYndVOFAwU0lvWWNUelZ6c1BmSEJGQjZSZGhId0dmU0pI?=
 =?utf-8?B?L2RJcGpRSUhWZU9QbFJXbzBLbzE4N1VLUGN1b2xoODhoVTA3SUo5c1lWdUti?=
 =?utf-8?B?RCtPcmNiYXYvMmlrVktHNGwzeXNFU2FWeFVKc1d0NkJraUJITEx6RXM3Tmg0?=
 =?utf-8?B?R1FEV3ZFR0thanlRVkJoKzhoZTd6R3pSWFBxOXZnZi9NcEh3aURPWmNSWVpt?=
 =?utf-8?B?YmMxdnBZVFpJWlNXYUxNUVpNMlM4eHp0K3Y0TkhTMzJ1Nnc4dkdxODFrWXpO?=
 =?utf-8?B?dnJrd3luL0ZlUnFxaHlvUGJNVmVrYjJGOU9xQmNrb2tPVzJLTDZtNmxCb3N2?=
 =?utf-8?B?ZEN0Vzk0Q0tMa1REYjFEaGNmaGlGRDhKWFhOTFlHVUYxcndtMjhsdWEzOWtB?=
 =?utf-8?B?ajNUNWx3ZXdIZDI1R0pRRlBNM2x5RTBYZllKWnBHQ2lIY0czZDhYUEc2RTBR?=
 =?utf-8?B?d3RIbFI1OWxEMlVqaHBtZkRrRXpMdzJQQTBIUG1qbWkzMWhTQ1p0alR3cTRn?=
 =?utf-8?B?Zlp2UnJIWG5CS0h5RVQvYmlhQVVQWVRkN2k1OEtyR012cFhiL2JseWFySkRV?=
 =?utf-8?B?Snh4aVFMQVd0VDZ1SVRMMHVTaTVLRHJWT2U1d3lpNTZNWVZNVlFoT094VnNr?=
 =?utf-8?B?RzIwMjM1YUgwcTVtelF6TEt4aTZZei9QWkpScTQyRHlNbjMvWWFOM1JvQTh3?=
 =?utf-8?B?b2MxYU96WW1vWHZFd1JVOGtHaVlNZ2lZQ3NTWHZQb3hPR21ta3VqWG9Baks0?=
 =?utf-8?B?U1FCR01MdWkvVmMrdnlodkFTSWl2TmE1bFNkMnRCMW91OGprbmkvZTRlMll3?=
 =?utf-8?B?eXhKbDZYOCt3UU5iNm1qUFM1ODcrWmtoZFJXRHpEV2hpR3lCMUl4YnFzZmli?=
 =?utf-8?B?QlhPMkVlTi83KzBVc3J3THZaelRRWlNDM1pNdlYrQlQ4SDVDb2FpUk96a1hy?=
 =?utf-8?B?NEczNyt1MVNLQnpZS2srMEdLQk42V2JleHBGNmxpSFZEV3RCdTFINWZwb1B4?=
 =?utf-8?B?UnpFTXE0QS9meHJSRlhXSFprYnFPVWIyMmVwU3pXai9iSlVubHJlT01tRmFk?=
 =?utf-8?B?UkdTZEdrV3J3SDh5cjFvL0RjUzR2ZG9IU1RyS1VpMXJlWDF2YzljNlRkTkw4?=
 =?utf-8?Q?7+WQ=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(36860700013)(1800799024)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Oct 2025 17:20:56.1232
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6a369a7d-9528-4de0-b568-08de10c6320e
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	MWH0EPF000989E5.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6650

On 2025-10-21 12:31, Andrew Cooper wrote:
> On 21/10/2025 5:23 pm, Anthony PERARD wrote:
>> On Thu, Oct 16, 2025 at 10:06:13PM -0400, Jason Andryuk wrote:
>>> removeprefix is only added in Python 3.9.
>>>
>>> Instead of the prefix removal, switch to passing in a "depth" parameter,
>>> and incrementing it for each level.
>>>
>>> There is a slight change in the generated _libxl_types.c.  instances of
>>> KeyedUnion increment depth without outputing any code.  The net result
>>> is some cases where jso_sub_1 is followed by jso_sub_3.  As an example:
>>>
>>> _libxl_types.c
>>> _libxl_types.c
>>> @@ -5535,12 +5535,12 @@
>>>                   if (!jso_sub_1)
>>>                       goto out;
>>>                   if (!libxl__string_is_default(&p->u.pty.path)) {
>>> -                    json_object *jso_sub_2 = NULL;
>>> -                    rc = libxl__string_gen_jso(&jso_sub_2, p->u.pty.path);
>>> +                    json_object *jso_sub_3 = NULL;
>>> +                    rc = libxl__string_gen_jso(&jso_sub_3, p->u.pty.path);
>>>                       if (rc)
>>>                           goto out;
>>> -                    if (json_object_object_add(jso_sub_1, "path", jso_sub_2)) {
>>> -                        json_object_put(jso_sub_2);
>>> +                    if (json_object_object_add(jso_sub_1, "path", jso_sub_3)) {
>>> +                        json_object_put(jso_sub_3);
>>>                           goto out;
>>>                       }
>>>                   }
>>>
>>> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
>>> ---
>>> Here's an alternative approach to workaround removeprefix.
>> Yeah, this version is less obscure about what's going on. Let's go for
>> it.
>>
>> Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>
> 
> Thanks.Â  I'll take this version, and take the liberty of assuming that
> the Release Ack is transferable to whichever solution the maintainers
> prefer in the end.
> 
>>
>>>   tools/libs/light/gentypes.py | 14 ++++++++------
>>>   1 file changed, 8 insertions(+), 6 deletions(-)
>>>
>>> diff --git a/tools/libs/light/gentypes.py b/tools/libs/light/gentypes.py
>>> index 006bea170a..0e45c04f49 100644
>>> --- a/tools/libs/light/gentypes.py
>>> +++ b/tools/libs/light/gentypes.py
>>> @@ -377,15 +377,16 @@ def get_default_expr(f, nparent, fexpr):
>>>       return "%s" % fexpr
>>>   
>>>   # For json-c gen_json functions
>>> -def libxl_C_type_gen_jso(ty, v, indent = "    ", parent = None, scope_object = "jso"):
>>> +def libxl_C_type_gen_jso(ty, v, indent = "    ", parent = None, scope_object = "jso", depth = 0):
>>>       s = ""
>>>       if parent is None:
>>>           s += "json_object *jso;\n"
>>>           s += "int rc;\n"
>>> -        sub_scope_object = "jso_sub_1"
>>> +        depth = 1
>>>       else:
>>> -        sub_scope_object = "jso_sub_%d" % (1+int(scope_object.removeprefix("jso_sub_")))
>>> +        depth += 1
>> We could simply do `depth += 1` regardless of the value of parent, it
>> would have the same effect, since depth start at 0.
> 
> That makes the code even more simple, because it takes out the else.
> The net hunk is:
> 
> @@ -377,15 +377,14 @@ def get_default_expr(f, nparent, fexpr):
>  Â Â Â Â  return "%s" % fexpr
>   
>  Â # For json-c gen_json functions
> -def libxl_C_type_gen_jso(ty, v, indent = "Â Â Â  ", parent = None, scope_object = "jso"):
> +def libxl_C_type_gen_jso(ty, v, indent = "Â Â Â  ", parent = None, scope_object = "jso", depth = 0):
>  Â Â Â Â  s = ""
>  Â Â Â Â  if parent is None:
>  Â Â Â Â Â Â Â Â  s += "json_object *jso;\n"
>  Â Â Â Â Â Â Â Â  s += "int rc;\n"
> -Â Â Â Â Â Â Â  sub_scope_object = "jso_sub_1"
> -Â Â Â  else:
> -Â Â Â Â Â Â Â  sub_scope_object = "jso_sub_%d" % (1+int(scope_object.removeprefix("jso_sub_")))
>   
> +Â Â Â  depth += 1
> +Â Â Â  sub_scope_object = "jso_sub_%d" % depth
>  Â Â Â Â  if isinstance(ty, idl.Array):
>  Â Â Â Â Â Â Â Â  if parent is None:
>  Â Â Â Â Â Â Â Â Â Â Â Â  raise Exception("Array type must have a parent")
This works for me, thanks - I even tried it at some point while tracking 
down the jso_sub_2/3 difference from KeyedUnion.  I should have gone 
back to it :)

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Tue Oct 21 18:17:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Oct 2025 18:17:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1147540.1479832 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBGvd-00020p-7A; Tue, 21 Oct 2025 18:17:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1147540.1479832; Tue, 21 Oct 2025 18:17:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBGvd-00020i-3Z; Tue, 21 Oct 2025 18:17:49 +0000
Received: by outflank-mailman (input) for mailman id 1147540;
 Tue, 21 Oct 2025 18:17:47 +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 <SRS0=iH+j=46=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1vBGvb-00020c-Tj
 for xen-devel@lists.xenproject.org; Tue, 21 Oct 2025 18:17:47 +0000
Received: from mail-wr1-x431.google.com (mail-wr1-x431.google.com
 [2a00:1450:4864:20::431])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3a73c755-aeaa-11f0-9d15-b5c5bf9af7f9;
 Tue, 21 Oct 2025 20:17:39 +0200 (CEST)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-426fc536b5dso3306349f8f.3
 for <xen-devel@lists.xenproject.org>; Tue, 21 Oct 2025 11:17:39 -0700 (PDT)
Received: from [192.168.69.221] (88-187-86-199.subs.proxad.net.
 [88.187.86.199]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-47494aa0336sm23611425e9.1.2025.10.21.11.17.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 21 Oct 2025 11:17:38 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3a73c755-aeaa-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1761070659; x=1761675459; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=3By8Kfq8PqUAkjy9XCGQQ4sbeJUGg88Lrj9uzfNivJA=;
        b=DjRnGPJui2t9aOuhBWbcnot9EYjbPUlcuR8SczrQGHL/q4suklJh98B3VUvFH/JMc8
         okgdWAHIBYA000JG8KW0zo9k8KxCvbbt1ZwEJ7pucGEPduwlqwmnl+XXhgOx4DTQC8hU
         JF5NzNrf1bc5Pxtc9oF6LhlRl6kLxyWuXuy84zbDKg090RT5YNP/yWfPxr8fcvgWnxYn
         IfxI1rNaCiUqEQNR0aF90iMopzuQifEx7/wN7b7l/QxyKAyvZTTjxPjVecbERztcN1LQ
         E+KIcxYqonN0tTSCdJVGOKrjnpLhRkDmq4BZH0c/Lw+HrexnaWPSoW9LJuKh+o0pTGLK
         szLQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761070659; x=1761675459;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=3By8Kfq8PqUAkjy9XCGQQ4sbeJUGg88Lrj9uzfNivJA=;
        b=uIxYs1BL9qs1ihSkG9UBOXHTyrumSjnipc2meROmcUTow0vfC5mc2x76vTZDWYo6vf
         C4LrWlLyhVmIMaG5mNhCFlTZRt6a5wX2SAV8pD5wsqSKiTqZPJfZibEs4hYWlRdvniZo
         fDikfyvpmJegtaKtBInTL+KoNvA7izpp1Y0QnfnGqEvCCaP8zAb7VBN9jlJzsrKGR6vh
         bHIbko8RYIl3LpKandvcozP+35yT5kHG1bK+RqaTmQ9uJ8KmBDKFIakDWtH7SxRXM3Xc
         v2UtgAH2VLBNFYjKCsVGYmgChtwXWGJv1YCsFlPfy3+65tb+RsyNVKmyR1ugW+CitQjR
         Dptg==
X-Forwarded-Encrypted: i=1; AJvYcCWZfB3nzJoCeSugMLVvNGHzv8jZy/w7nn37mQ2vR/vyGD/zrB8CNf6ce80MU8NXuQdPNTmE7iW+tLM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxIlhx1WQ7A1OoymrVZkHzxVC2eoTkPRxCNaxXOr60GplngDzpc
	G2Vh+mxdFmJP+u5gq4UVe9FVaWy8lp/jvDXeJh53P5xfCu38VLGBA+GUesJMVAX0E0k=
X-Gm-Gg: ASbGncud1X52EtFRYW2wpVslCyiZWiMunYshevtjJTSB8TroNtE7AbT3A6tHMQqR3Qt
	w6SZwjVAmUDhrwu76r3YsOWU0fnVp1K4ADL9eBIhVXX8/zxaKG/9U4540V2aM5FL8gvryR6cG+L
	HQyk7Vwr1rAdzk/YJtEkK/sLRs41tLlr2uw4xxPGVN+ER/2Y9+LouJ8gfTxos+DS+hb/7htz23+
	Tom1UESlzEpItCWT/7GgN6qkUGfS1Cf/W1hLGh8qeyuXVcYP/BMJre5pmLYB8Z6hNn59apYEAbb
	wJlPNbTU+s/5TJ/C5lMfVXci0Sl+Bu6uZmUXEud0MNPtBYK+bAfd+va2JvmWCTCcTP3W+o77kvx
	W3IiW9ybRbeB6CllhNQVpAwdXWyAstW0qi/RBIrz999LoXJCXnGaCIWWCVf2MiirY9eJ4mUuDIh
	wIEU6iA+e9cqe3MVhUTf+vpNJTGfnsosef89h/hiz1qkE=
X-Google-Smtp-Source: AGHT+IFYvono0+s4yexjoDgBI8G1uVs124bbeyNjyszamDItzmgYjRHhATdxny95FDdp2D2tr30L9Q==
X-Received: by 2002:a05:6000:2404:b0:427:5e5:a09c with SMTP id ffacd0b85a97d-42705e5a09fmr10995058f8f.37.1761070659110;
        Tue, 21 Oct 2025 11:17:39 -0700 (PDT)
Message-ID: <d4bb9b02-5cdc-4da5-926b-7bb17f78bcfc@linaro.org>
Date: Tue, 21 Oct 2025 20:17:37 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] hw/xen: pass PCI domain to xc_physdev_map_pirq_msi()
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>, qemu-devel@nongnu.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony@xenproject.org>, Paul Durrant <paul@xen.org>,
 "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
 xen-devel@lists.xenproject.org
References: <20251017155136.16540-1-roger.pau@citrix.com>
From: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>
In-Reply-To: <20251017155136.16540-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 17/10/25 17:51, Roger Pau Monne wrote:
> It's currently impossible for passthrough devices on segment different than
> 0 to work correctly, as the PCI domain is not provided to
> xc_physdev_map_pirq_msi(), and hence it's unconditionally assumed that all
> devices are on segment 0.
> 
> Adjust the call to xc_physdev_map_pirq_msi() to pass the PCI domain in the
> high 16bits of the bus parameter.  On versions of Xen where this is not
> supported the passed segment will be ignored and assume to be 0, no worse
> than the current state.
> 
> Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
> ---
> Cc: Stefano Stabellini <sstabellini@kernel.org>
> Cc: Anthony PERARD <anthony@xenproject.org>
> Cc: Paul Durrant <paul@xen.org>
> Cc: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
> Cc: xen-devel@lists.xenproject.org
> ---
>   hw/xen/xen_pt_msi.c | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/hw/xen/xen_pt_msi.c b/hw/xen/xen_pt_msi.c
> index e9ba17317aba..df15ccf0d030 100644
> --- a/hw/xen/xen_pt_msi.c
> +++ b/hw/xen/xen_pt_msi.c
> @@ -138,6 +138,7 @@ static int msi_msix_setup(XenPCIPassthroughState *s,
>           rc = xc_physdev_map_pirq_msi(xen_xc, xen_domid, XEN_PT_AUTO_ASSIGN,
>                                        ppirq, PCI_DEVFN(s->real_device.dev,
>                                                         s->real_device.func),
> +                                     ((uint32_t)s->real_device.domain << 16) |
>                                        s->real_device.bus,

Alternatively:

   deposit32(s->real_device.bus, 16, 16, s->real_device.domain)

>                                        msix_entry, table_base);
>           if (rc) {
Patch queued, thanks!



From xen-devel-bounces@lists.xenproject.org Wed Oct 22 04:40:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Oct 2025 04:40:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1147628.1479848 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBQdk-0006rY-77; Wed, 22 Oct 2025 04:40:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1147628.1479848; Wed, 22 Oct 2025 04:40:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBQdk-0006rQ-20; Wed, 22 Oct 2025 04:40:00 +0000
Received: by outflank-mailman (input) for mailman id 1147628;
 Wed, 22 Oct 2025 04:39:59 +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
 <SRS0=KROf=47=amd.com=stefano.stabellini@srs-se1.protection.inumbo.net>)
 id 1vBQdj-0006rK-2g
 for xen-devel@lists.xenproject.org; Wed, 22 Oct 2025 04:39:59 +0000
Received: from SN4PR2101CU001.outbound.protection.outlook.com
 (mail-southcentralusazlp170120001.outbound.protection.outlook.com
 [2a01:111:f403:c10d::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 28aa1c4f-af01-11f0-9d15-b5c5bf9af7f9;
 Wed, 22 Oct 2025 06:39:57 +0200 (CEST)
Received: from BL1P221CA0031.NAMP221.PROD.OUTLOOK.COM (2603:10b6:208:5b5::10)
 by MN0PR12MB6101.namprd12.prod.outlook.com (2603:10b6:208:3cb::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.17; Wed, 22 Oct
 2025 04:39:52 +0000
Received: from MN1PEPF0000F0DF.namprd04.prod.outlook.com
 (2603:10b6:208:5b5:cafe::ef) by BL1P221CA0031.outlook.office365.com
 (2603:10b6:208:5b5::10) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9253.12 via Frontend Transport; Wed,
 22 Oct 2025 04:39:52 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 MN1PEPF0000F0DF.mail.protection.outlook.com (10.167.242.37) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9253.7 via Frontend Transport; Wed, 22 Oct 2025 04:39:51 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.2.2562.17; Tue, 21 Oct
 2025 21:39:50 -0700
Received: from satlexmb08.amd.com (10.181.42.217) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 21 Oct
 2025 23:39:49 -0500
Received: from SATLEXMB04.amd.com (10.180.168.240) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.17 via Frontend
 Transport; Tue, 21 Oct 2025 21:39:49 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 28aa1c4f-af01-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=FgmmREDKCNNzM2Cdb2pGeuiXF3HHPJETW8AQKv+paSRl7gSclpLBJ26wYeMn/0/W+TAnsSTKR49hP9njg2udwLJGDYtiJTWRUtb+y4ZEJ8mxMcnWABs5qpME6ww+UZj+d1EbAgtClqScwwNLasaRxt0pB+dQKwLpWT5NW1Ia9qWBRqpULZaL3Qvnxsdzgv6SpBQSLGPPrtqRAKfHkry5QrTDQ4HZEr3yXN0HGUhIn0vVRRSha6Uj5uHIgPMh7RXXNuVxypt8ebL9aDvN28gOzs5DyJBJY83dUYuT9YJpV4k+fO0oH/mT9Sb6DpE8lT9777fLinGu2fvkWQSQ9hebGQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gARv+zKauoR8mczy6uZqExysIqSaoputsMuET04rR3s=;
 b=DkBl8bZhvuW7ULh6pr3oPW9OPQ3STLOtQwH7OOm3Q6T4DINr/AuVnKcP+mXTQ+CkvlUHLQZ3wYP/vtRKjuXwwbKkOWeS8SHgFIflg8wKW84vyfInWYG2otjJo9y+eOaMFufzxykc/BoQtqVtfeAkHjCzTSRSsbQlQLpLAXGlna18V7B2Gg+HlSSP8HOCH0rsSvl+TC8g+8ScAlzjWCAz5C1a/Ad9v4hNq6ekTbg54xj9kssRtq8Uk+VvkcdVRfKed2NZgx7AzjY4RyZlsPY2sCl7PIvwEbgLd0v1KrC8H3MNLelKZgKFSayrpbgjDzJoIVQF/uCISxskzTMiCAWHQg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=gARv+zKauoR8mczy6uZqExysIqSaoputsMuET04rR3s=;
 b=MAghmb9u7+pDC3BUsMeqSUtPu7fK/wkI6N15YgtwoRLqj47narUT17099ChTeCjZMD/8DMS4D1HMgxNPh6anm+bst6VK297xg8ix0fyZppIEd3GzGvpyFh1+3K8KIbEdF79idCSqAyuJNnSRYdk0+49f6ywixF+WAdA0R4+Shhk=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Stefano Stabellini <stefano.stabellini@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <jbeulich@suse.com>,
	<andrew.cooper3@citrix.com>, <roger.pau@citrix.com>, Stefano Stabellini
	<stefano.stabellini@amd.com>, <Penny.Zheng@amd.com>
Subject: [PATCH] xen: fix randconfig build problems after introducing SYSCTL
Date: Tue, 21 Oct 2025 21:39:47 -0700
Message-ID: <20251022043947.949583-1-stefano.stabellini@amd.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MN1PEPF0000F0DF:EE_|MN0PR12MB6101:EE_
X-MS-Office365-Filtering-Correlation-Id: 32e1e29c-63ab-46c3-89f9-08de112509fc
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|376014|36860700013|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?j5Xmk440FECVGaDP3eoa2HJqypuMqTTJ3UEuUkXIvzCAEhbsfFPohfOrpWj9?=
 =?us-ascii?Q?2l2AjDbME0GBXdZWFETAkJvGi9oNJO3HEJIApDExr4IbvW7sDLTk5VD/esHs?=
 =?us-ascii?Q?AmUxROqGvMxto6B+9FESa/VO5Z4VEBVwF34qFhRFGHwRrbDUMfgqgXdQ+Quc?=
 =?us-ascii?Q?V8bu8wmSJUSGl63aJenuhijl0S0Re3/O+dcCyToPHLti9ESeQj/eytVXNbir?=
 =?us-ascii?Q?OmybZr5BuWzx1xXYFjlglrhBO8L5/4bv+vmNQRYD0VISndqkLhFwxRrl/LMx?=
 =?us-ascii?Q?u3XcMXtqDT0AVsKW9Mys9ehFwAfJSD0ekvkst1uR12adicBvVwOwMAI3vDBA?=
 =?us-ascii?Q?Q1vELrMGnZnicgei86iSwrEGYzAqNzhffIw1RGCBjKLHGr8wG6DfSB6aLgaa?=
 =?us-ascii?Q?Y3pCsQoqaKn1R1SfNO1oMAB0yYnruWkbOYdN1XI0W8QTK9gScuRjDUqpEkTb?=
 =?us-ascii?Q?4bwS0sE+lLbLUbjx6AnTzymWHqYCYXQshWC0dxne20zPjyVLPXpUdSy6posj?=
 =?us-ascii?Q?2wljZzF7W/jIvXuDJmohnEpN05VbDK90nVWm/jyhstTe81J+nUWKgZ+Gtqc4?=
 =?us-ascii?Q?Wsxh46FPuxSfpWZt3ijHN8ncwxNWirYuMWskttr3f0l5ZO1b/9ltt+mXRnCW?=
 =?us-ascii?Q?X3DQs2v7a/AnS+u84zzsuj4hfgeAs5s4Ig3qJd9OVsnoonzaM49hPRNi92EG?=
 =?us-ascii?Q?zCzmfLE3cGVKjpG6VQ5gb/FXDh1wj7O3NLdcT51J5y8yoCvWS2VEQ74DEirr?=
 =?us-ascii?Q?uztStHMZiUum8SqqLWT/fbDSCIdxXsbEbbB2owaVslRQ7kQyQtoGn1oD9viG?=
 =?us-ascii?Q?JtoR+l5dCeDoqkUbmMvsrqHb2E4dWR3L5Ma9Iueh7S1dhQO33zij9sf62EU1?=
 =?us-ascii?Q?dzxAFGXefQ8PAqdjxwXm1G2jkfTPlhWxd/MTPiww+h0Z4ApWZp/aVreL3qyz?=
 =?us-ascii?Q?Ri0TQywKsf4DOf1hOkJ90F4UkZIgJ8D8CwWGF7Ah/DkKyLK0p+Qw8EfepGOG?=
 =?us-ascii?Q?/2eKymk81YdOY/pTsd5zp3tEw3j2tTV8RnlsShxfINtC5wRf0Hkt1ODaxr0+?=
 =?us-ascii?Q?jsGXKObttdM3n0/X15ZHhlPR6fxHxnHVAvm1yWgaoY18ytb3CjBz9BYGMRVN?=
 =?us-ascii?Q?8yJoyWJuxry9EsZj05bYQ0hPoVniVBrBuagSU4FjR44BA8oScQCBCuEmeaQR?=
 =?us-ascii?Q?4ZwvFbxnghMmLOefAu5Mywf0raOw90l/tc/AY+fiP9Guyx41Ux8HXuj7AR83?=
 =?us-ascii?Q?Dt5461d2rNBhjLkhop1LPTg0NteJWGnIYFJzuV1x0dO2t0nT4rSXLEAiStff?=
 =?us-ascii?Q?8oYEPlIaQzUVwfnKMj0UjyAAMOe7ki0pdq3IixBCYYGs/gE92HYo46gHMaTE?=
 =?us-ascii?Q?9cLXccQTF+nxsT/gnry3BZN/7xnMkXsgCTIXhPfxkcZiShaODDGN/FEbxxlV?=
 =?us-ascii?Q?5L7EoGudYAKsKV1TUVGLXAEKzX6E3XfTD5X8U9ElQqQqI1Js5GHTcLX5ztBo?=
 =?us-ascii?Q?d/aRfquXxqW/A2BIWD/x/GwosiyBIg8KKd89xNtetpANeAm0SELwEQmTCvQK?=
 =?us-ascii?Q?CY/0ohYj1hQh0ObOTVQ=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(376014)(36860700013)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Oct 2025 04:39:51.1754
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 32e1e29c-63ab-46c3-89f9-08de112509fc
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	MN1PEPF0000F0DF.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB6101

Fix a few randconfig build breakages that started appearing after the
SYSCTL patch series.

First, reintroduce depends on !PV_SHIM_EXCLUSIVE for HVM, as it was
before 568f806cba4c.

Also, add depends on !PV_SHIM_EXCLUSIVE for SYSCTL, that way the
behavior goes back to what it was before 34317c508294.

These two changes are individual reverts, going back to the behavior
before SYSCTL was introduced.

Finally, change SHADOW_PAGING so that it depends on !PV_SHIM_EXCLUSIVE.
That is because xen/arch/x86/mm/paging.c:paging_domctl has a dependency
on domctl.c and domctl.c is disabled by PV_SHIM_EXCLUSIVE.
Alternatively, we could add #ifndef CONFIG_PV_SHIM_EXCLUSIVE around
paging_domctl.

Fixes: 568f806cba4c ("xen/x86: remove "depends on !PV_SHIM_EXCLUSIVE"")
Fixes: 34317c508294 ("xen/sysctl: wrap around sysctl hypercall")
Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
CC: jbeulich@suse.com
CC: andrew.cooper3@citrix.com
CC: roger.pau@citrix.com
CC: Penny.Zheng@amd.com
---
The new domctl series resolves the !PV_SHIM_EXCLUSIVE dependencies in a
clean and comprehensive way. As an example, the paging_domctl issue is
resolved by patch #3 and #5.
---
 xen/arch/x86/Kconfig     | 3 +--
 xen/arch/x86/hvm/Kconfig | 1 +
 xen/common/Kconfig       | 1 +
 3 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
index 3f0f3a0f3a..c2689a3f1c 100644
--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -144,8 +144,7 @@ config XEN_IBT
 
 config SHADOW_PAGING
 	bool "Shadow Paging"
-	default !PV_SHIM_EXCLUSIVE
-	depends on PV || HVM
+	depends on (PV || HVM) && !PV_SHIM_EXCLUSIVE
 	help
 
           Shadow paging is a software alternative to hardware paging support
diff --git a/xen/arch/x86/hvm/Kconfig b/xen/arch/x86/hvm/Kconfig
index 5cb9f29042..f10a2b3744 100644
--- a/xen/arch/x86/hvm/Kconfig
+++ b/xen/arch/x86/hvm/Kconfig
@@ -1,5 +1,6 @@
 menuconfig HVM
 	bool "HVM support"
+	depends on !PV_SHIM_EXCLUSIVE
 	default !PV_SHIM
 	select COMPAT
 	select IOREQ_SERVER
diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index 76f9ce705f..53f681bbb2 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -653,6 +653,7 @@ menu "Supported hypercall interfaces"
 
 config SYSCTL
 	bool "Enable sysctl hypercall"
+	depends on !PV_SHIM_EXCLUSIVE
 	default y
 	help
 	  This option shall only be disabled on some dom0less systems, or
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Oct 22 07:47:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Oct 2025 07:47:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1147659.1479858 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBTYR-0004hx-2z; Wed, 22 Oct 2025 07:46:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1147659.1479858; Wed, 22 Oct 2025 07:46:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBTYQ-0004hq-Uh; Wed, 22 Oct 2025 07:46:42 +0000
Received: by outflank-mailman (input) for mailman id 1147659;
 Wed, 22 Oct 2025 07:46:41 +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
 <SRS0=aW9D=47=redhat.com=marcandre.lureau@srs-se1.protection.inumbo.net>)
 id 1vBTYO-0004hk-VJ
 for xen-devel@lists.xenproject.org; Wed, 22 Oct 2025 07:46:41 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.133.124])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3cf3fe0a-af1b-11f0-9d15-b5c5bf9af7f9;
 Wed, 22 Oct 2025 09:46:37 +0200 (CEST)
Received: from mx-prod-mc-04.mail-002.prod.us-west-2.aws.redhat.com
 (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,
 cipher=TLS_AES_256_GCM_SHA384) id us-mta-84-mL0HSjVsMsi42gF2RLHJ7w-1; Wed,
 22 Oct 2025 03:46:33 -0400
Received: from mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com
 (mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.111])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
 (No client certificate requested)
 by mx-prod-mc-04.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS
 id 357EA19541A5; Wed, 22 Oct 2025 07:46:24 +0000 (UTC)
Received: from localhost (unknown [10.44.22.9])
 by mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP
 id 21171180044F; Wed, 22 Oct 2025 07:46:15 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3cf3fe0a-af1b-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1761119196;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=s4djhxQLVvjzFUkg68GPlnioBpQ6I9h3DJjctceou7E=;
	b=HSK6FE2UXK0buCsWRhFSqrnP+pKD4zN8IS/bQu61Wcalq3loF3olnkklkouIPQ+7s+8pv8
	i59yerA8/3B+la8nn0oGFudExjk5Y0tYHPPszreJgnTRIiXFVlgeZ5tOFiUtigC3iUVLEm
	a2Xa363NxoEJq4UGP2bIVBP+ThVxh4Q=
X-MC-Unique: mL0HSjVsMsi42gF2RLHJ7w-1
X-Mimecast-MFC-AGG-ID: mL0HSjVsMsi42gF2RLHJ7w_1761119187
From: marcandre.lureau@redhat.com
To: qemu-devel@nongnu.org
Cc: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@redhat.com>,
	"Gonglei (Arei)" <arei.gonglei@huawei.com>,
	Zhenwei Pi <pizhenwei@bytedance.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Stefano Garzarella <sgarzare@redhat.com>,
	Laurent Vivier <lvivier@redhat.com>,
	Amit Shah <amit@kernel.org>,
	Stefan Berger <stefanb@linux.vnet.ibm.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Peter Maydell <peter.maydell@linaro.org>,
	Igor Mitsyanko <i.mitsyanko@gmail.com>,
	=?UTF-8?q?Cl=C3=A9ment=20Chigot?= <chigot@adacore.com>,
	Frederic Konrad <konrad.frederic@yahoo.fr>,
	Alberto Garcia <berto@igalia.com>,
	Thomas Huth <huth@tuxfamily.org>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Jason Herne <jjherne@linux.ibm.com>,
	Yoshinori Sato <yoshinori.sato@nifty.com>,
	Magnus Damm <magnus.damm@gmail.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	"Collin L. Walling" <walling@linux.ibm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony@xenproject.org>,
	Paul Durrant <paul@xen.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Alistair Francis <alistair@alistair23.me>,
	=?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Richard Henderson <richard.henderson@linaro.org>,
	Helge Deller <deller@gmx.de>,
	Corey Minyard <minyard@acm.org>,
	Paul Burton <paulburton@kernel.org>,
	Aleksandar Rikalo <arikalo@gmail.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Daniel Henrique Barboza <dbarboza@ventanamicro.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Michael Rolnik <mrolnik@gmail.com>,
	Antony Pavlov <antonynpavlov@gmail.com>,
	Joel Stanley <joel@jms.id.au>,
	Vijai Kumar K <vijai@behindbytes.com>,
	Samuel Tardieu <sam@rfc1149.net>,
	Gustavo Romero <gustavo.romero@linaro.org>,
	Raphael Norwitz <raphael@enfabrica.net>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	mzamazal@redhat.com (reviewer:vhost-user-scmi),
	Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp>,
	Dmitry Osipenko <dmitry.osipenko@collabora.com>,
	Fabiano Rosas <farosas@suse.de>,
	Markus Armbruster <armbru@redhat.com>,
	"Dr. David Alan Gilbert" <dave@treblig.org>,
	Zhang Chen <zhangckid@gmail.com>,
	Li Zhijian <lizhijian@fujitsu.com>,
	Jason Wang <jasowang@redhat.com>,
	Manos Pitsidianakis <manos.pitsidianakis@linaro.org>,
	Max Filippov <jcmvbkbc@gmail.com>,
	Lukas Straub <lukasstraub2@web.de>,
	qemu-arm@nongnu.org (open list:Sharp SL-5500 Co...),
	qemu-s390x@nongnu.org (open list:S390 SCLP-backed...),
	qemu-ppc@nongnu.org (open list:sPAPR (pseries)),
	xen-devel@lists.xenproject.org (open list:X86 Xen CPUs),
	qemu-riscv@nongnu.org (open list:RISC-V TCG CPUs),
	virtio-fs@lists.linux.dev (open list:virtiofs),
	qemu-rust@nongnu.org (open list:Rust-related patc...)
Subject: [PATCH v2] char: rename CharBackend->CharFrontend
Date: Wed, 22 Oct 2025 11:46:10 +0400
Message-ID: <20251022074612.1258413-1-marcandre.lureau@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.111

From: Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>

The actual backend is "Chardev", CharBackend is the frontend side of
it (whatever talks to the backend), let's rename it for readability.

Signed-off-by: Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
---
 chardev/chardev-internal.h           |  12 +-
 include/chardev/char-fe.h            |  67 +++++----
 include/chardev/char.h               |   4 +-
 include/hw/char/avr_usart.h          |   2 +-
 include/hw/char/bcm2835_aux.h        |   2 +-
 include/hw/char/cadence_uart.h       |   2 +-
 include/hw/char/cmsdk-apb-uart.h     |   2 +-
 include/hw/char/digic-uart.h         |   2 +-
 include/hw/char/escc.h               |   2 +-
 include/hw/char/goldfish_tty.h       |   2 +-
 include/hw/char/ibex_uart.h          |   2 +-
 include/hw/char/imx_serial.h         |   2 +-
 include/hw/char/max78000_uart.h      |   2 +-
 include/hw/char/nrf51_uart.h         |   2 +-
 include/hw/char/parallel.h           |   2 +-
 include/hw/char/pl011.h              |   2 +-
 include/hw/char/renesas_sci.h        |   2 +-
 include/hw/char/riscv_htif.h         |   2 +-
 include/hw/char/serial.h             |   2 +-
 include/hw/char/shakti_uart.h        |   2 +-
 include/hw/char/sifive_uart.h        |   2 +-
 include/hw/char/stm32f2xx_usart.h    |   2 +-
 include/hw/char/stm32l4x5_usart.h    |   2 +-
 include/hw/misc/ivshmem-flat.h       |   2 +-
 include/hw/qdev-properties-system.h  |   2 +-
 include/hw/virtio/vhost-user-base.h  |   2 +-
 include/hw/virtio/vhost-user-blk.h   |   2 +-
 include/hw/virtio/vhost-user-fs.h    |   2 +-
 include/hw/virtio/vhost-user-scmi.h  |   2 +-
 include/hw/virtio/vhost-user-vsock.h |   2 +-
 include/hw/virtio/vhost-user.h       |   8 +-
 include/hw/virtio/virtio-gpu.h       |   2 +-
 include/hw/virtio/virtio-scsi.h      |   2 +-
 include/system/qtest.h               |   4 +-
 include/system/vhost-user-backend.h  |   2 +-
 monitor/monitor-internal.h           |   2 +-
 backends/cryptodev-vhost-user.c      |   2 +-
 backends/rng-egd.c                   |   2 +-
 backends/tpm/tpm_emulator.c          |   4 +-
 chardev/char-fe.c                    | 144 +++++++++----------
 chardev/char-hub.c                   |  18 +--
 chardev/char-mux.c                   |  40 +++---
 chardev/char.c                       |  44 +++---
 gdbstub/system.c                     |   2 +-
 hw/arm/strongarm.c                   |   2 +-
 hw/char/debugcon.c                   |   2 +-
 hw/char/exynos4210_uart.c            |   2 +-
 hw/char/grlib_apbuart.c              |   2 +-
 hw/char/ipoctal232.c                 |   2 +-
 hw/char/mcf_uart.c                   |   2 +-
 hw/char/sclpconsole-lm.c             |   2 +-
 hw/char/sclpconsole.c                |   2 +-
 hw/char/sh_serial.c                  |   2 +-
 hw/char/spapr_vty.c                  |   2 +-
 hw/char/terminal3270.c               |   2 +-
 hw/char/virtio-console.c             |   2 +-
 hw/char/xen_console.c                |   2 +-
 hw/char/xilinx_uartlite.c            |   2 +-
 hw/core/qdev-properties-system.c     |  16 +--
 hw/hppa/machine.c                    |   2 +-
 hw/ipmi/ipmi_bmc_extern.c            |   2 +-
 hw/mips/boston.c                     |   2 +-
 hw/mips/malta.c                      |   2 +-
 hw/misc/ivshmem-pci.c                |   2 +-
 hw/ppc/spapr_rtas.c                  |   2 +-
 hw/riscv/riscv_hart.c                |   2 +-
 hw/usb/ccid-card-passthru.c          |   2 +-
 hw/usb/dev-serial.c                  |   2 +-
 hw/usb/redirect.c                    |   2 +-
 hw/virtio/vhost-stub.c               |   2 +-
 hw/virtio/vhost-user.c               |  20 +--
 net/colo-compare.c                   |  10 +-
 net/filter-mirror.c                  |   4 +-
 net/passt.c                          |   2 +-
 net/slirp.c                          |   2 +-
 net/vhost-user.c                     |   2 +-
 semihosting/console.c                |   6 +-
 system/qtest.c                       |  20 +--
 target/hppa/sys_helper.c             |  12 +-
 target/xtensa/xtensa-semi.c          |  10 +-
 tests/qtest/vhost-user-test.c        |  16 +--
 tests/unit/test-char.c               | 202 +++++++++++++--------------
 tests/unit/test-yank.c               |  12 +-
 rust/bindings/src/lib.rs             |   4 +-
 rust/chardev/src/bindings.rs         |   6 +-
 rust/chardev/src/chardev.rs          |  26 ++--
 rust/hw/char/pl011/src/device.rs     |  12 +-
 rust/hw/core/src/qdev.rs             |   2 +-
 88 files changed, 423 insertions(+), 424 deletions(-)

diff --git a/chardev/chardev-internal.h b/chardev/chardev-internal.h
index 9752dd75f7..8ea10414ab 100644
--- a/chardev/chardev-internal.h
+++ b/chardev/chardev-internal.h
@@ -37,9 +37,9 @@
 struct MuxChardev {
     Chardev parent;
     /* Linked frontends */
-    CharBackend *backends[MAX_MUX];
-    /* Linked backend */
-    CharBackend chr;
+    CharFrontend *frontends[MAX_MUX];
+    /* frontend of the underlying muxed chardev */
+    CharFrontend chr;
     unsigned long mux_bitset;
     int focus;
     bool term_got_escape;
@@ -64,8 +64,8 @@ typedef struct HubCharBackend HubCharBackend;
  * `hub->backends` array
  */
 struct HubCharBackend {
-    HubChardev   *hub;
-    CharBackend  be;
+    HubChardev *hub;
+    CharFrontend fe;
     unsigned int be_ind;
 };
 
@@ -108,7 +108,7 @@ DECLARE_INSTANCE_CHECKER(HubChardev, HUB_CHARDEV,
 #define CHARDEV_IS_HUB(chr)                                \
     object_dynamic_cast(OBJECT(chr), TYPE_CHARDEV_HUB)
 
-bool mux_chr_attach_frontend(MuxChardev *d, CharBackend *b,
+bool mux_chr_attach_frontend(MuxChardev *d, CharFrontend *c,
                              unsigned int *tag, Error **errp);
 bool mux_chr_detach_frontend(MuxChardev *d, unsigned int tag);
 void mux_set_focus(Chardev *chr, unsigned int focus);
diff --git a/include/chardev/char-fe.h b/include/chardev/char-fe.h
index 8ef05b3dd0..7901856f95 100644
--- a/include/chardev/char-fe.h
+++ b/include/chardev/char-fe.h
@@ -8,12 +8,12 @@ typedef void IOEventHandler(void *opaque, QEMUChrEvent event);
 typedef int BackendChangeHandler(void *opaque);
 
 /**
- * struct CharBackend - back end as seen by front end
+ * struct CharFrontend - Chardev as seen by front end
  * @fe_is_open: the front end is ready for IO
  *
  * The actual backend is Chardev
  */
-struct CharBackend {
+struct CharFrontend {
     Chardev *chr;
     IOEventHandler *chr_event;
     IOCanReadHandler *chr_can_read;
@@ -27,53 +27,52 @@ struct CharBackend {
 /**
  * qemu_chr_fe_init:
  *
- * Initializes a front end for the given CharBackend and
- * Chardev. Call qemu_chr_fe_deinit() to remove the association and
- * release the driver.
+ * Initializes the frontend @c for the given Chardev backend @s. Call
+ * qemu_chr_fe_deinit() to remove the association and release the backend.
  *
  * Returns: false on error.
  */
-bool qemu_chr_fe_init(CharBackend *b, Chardev *s, Error **errp);
+bool qemu_chr_fe_init(CharFrontend *c, Chardev *s, Error **errp);
 
 /**
  * qemu_chr_fe_deinit:
- * @b: a CharBackend
+ * @c: a CharFrontend
  * @del: if true, delete the chardev backend
 *
- * Dissociate the CharBackend from the Chardev.
+ * Dissociate the CharFrontend from the Chardev.
  *
  * Safe to call without associated Chardev.
  */
-void qemu_chr_fe_deinit(CharBackend *b, bool del);
+void qemu_chr_fe_deinit(CharFrontend *c, bool del);
 
 /**
  * qemu_chr_fe_get_driver:
  *
- * Returns: the driver associated with a CharBackend or NULL if no
+ * Returns: the driver associated with a CharFrontend or NULL if no
  * associated Chardev.
  * Note: avoid this function as the driver should never be accessed directly,
  *       especially by the frontends that support chardevice hotswap.
  *       Consider qemu_chr_fe_backend_connected() to check for driver existence
  */
-Chardev *qemu_chr_fe_get_driver(CharBackend *be);
+Chardev *qemu_chr_fe_get_driver(CharFrontend *c);
 
 /**
  * qemu_chr_fe_backend_connected:
  *
- * Returns: true if there is a chardevice associated with @be.
+ * Returns: true if there is a backend associated with @c.
  */
-bool qemu_chr_fe_backend_connected(CharBackend *be);
+bool qemu_chr_fe_backend_connected(CharFrontend *c);
 
 /**
  * qemu_chr_fe_backend_open:
  *
- * Returns: true if chardevice associated with @be is open.
+ * Returns: true if the backend associated with @c is open.
  */
-bool qemu_chr_fe_backend_open(CharBackend *be);
+bool qemu_chr_fe_backend_open(CharFrontend *c);
 
 /**
  * qemu_chr_fe_set_handlers_full:
- * @b: a CharBackend
+ * @c: a CharFrontend
  * @fd_can_read: callback to get the amount of data the frontend may
  *               receive
  * @fd_read: callback to receive data from char
@@ -91,7 +90,7 @@ bool qemu_chr_fe_backend_open(CharBackend *be);
  *
  * Without associated Chardev, nothing is changed.
  */
-void qemu_chr_fe_set_handlers_full(CharBackend *b,
+void qemu_chr_fe_set_handlers_full(CharFrontend *c,
                                    IOCanReadHandler *fd_can_read,
                                    IOReadHandler *fd_read,
                                    IOEventHandler *fd_event,
@@ -106,7 +105,7 @@ void qemu_chr_fe_set_handlers_full(CharBackend *b,
  *
  * Version of qemu_chr_fe_set_handlers_full() with sync_state = true.
  */
-void qemu_chr_fe_set_handlers(CharBackend *b,
+void qemu_chr_fe_set_handlers(CharFrontend *c,
                               IOCanReadHandler *fd_can_read,
                               IOReadHandler *fd_read,
                               IOEventHandler *fd_event,
@@ -122,14 +121,14 @@ void qemu_chr_fe_set_handlers(CharBackend *b,
  *
  * Without associated Chardev, nothing is changed.
  */
-void qemu_chr_fe_take_focus(CharBackend *b);
+void qemu_chr_fe_take_focus(CharFrontend *c);
 
 /**
  * qemu_chr_fe_accept_input:
  *
  * Notify that the frontend is ready to receive data
  */
-void qemu_chr_fe_accept_input(CharBackend *be);
+void qemu_chr_fe_accept_input(CharFrontend *c);
 
 /**
  * qemu_chr_fe_disconnect:
@@ -137,7 +136,7 @@ void qemu_chr_fe_accept_input(CharBackend *be);
  * Close a fd accepted by character backend.
  * Without associated Chardev, do nothing.
  */
-void qemu_chr_fe_disconnect(CharBackend *be);
+void qemu_chr_fe_disconnect(CharFrontend *c);
 
 /**
  * qemu_chr_fe_wait_connected:
@@ -145,7 +144,7 @@ void qemu_chr_fe_disconnect(CharBackend *be);
  * Wait for character backend to be connected, return < 0 on error or
  * if no associated Chardev.
  */
-int qemu_chr_fe_wait_connected(CharBackend *be, Error **errp);
+int qemu_chr_fe_wait_connected(CharFrontend *c, Error **errp);
 
 /**
  * qemu_chr_fe_set_echo:
@@ -156,17 +155,17 @@ int qemu_chr_fe_wait_connected(CharBackend *be, Error **errp);
  * can see what you type if you try to type QMP commands.
  * Without associated Chardev, do nothing.
  */
-void qemu_chr_fe_set_echo(CharBackend *be, bool echo);
+void qemu_chr_fe_set_echo(CharFrontend *c, bool echo);
 
 /**
  * qemu_chr_fe_set_open:
- * @be: a CharBackend
+ * @c: a CharFrontend
  * @is_open: the front end open status
  *
  * This is an indication that the front end is ready (or not) to begin
  * doing I/O. Without associated Chardev, do nothing.
  */
-void qemu_chr_fe_set_open(CharBackend *be, bool is_open);
+void qemu_chr_fe_set_open(CharFrontend *c, bool is_open);
 
 /**
  * qemu_chr_fe_printf:
@@ -176,7 +175,7 @@ void qemu_chr_fe_set_open(CharBackend *be, bool is_open);
  * function is thread-safe. It does nothing without associated
  * Chardev.
  */
-void qemu_chr_fe_printf(CharBackend *be, const char *fmt, ...)
+void qemu_chr_fe_printf(CharFrontend *c, const char *fmt, ...)
     G_GNUC_PRINTF(2, 3);
 
 
@@ -215,7 +214,7 @@ typedef gboolean (*FEWatchFunc)(void *do_not_use, GIOCondition condition, void *
  *
  * Returns: the source tag
  */
-guint qemu_chr_fe_add_watch(CharBackend *be, GIOCondition cond,
+guint qemu_chr_fe_add_watch(CharFrontend *c, GIOCondition cond,
                             FEWatchFunc func, void *user_data);
 
 /**
@@ -230,7 +229,7 @@ guint qemu_chr_fe_add_watch(CharBackend *be, GIOCondition cond,
  * Returns: the number of bytes consumed (0 if no associated Chardev)
  *          or -1 on error.
  */
-int qemu_chr_fe_write(CharBackend *be, const uint8_t *buf, int len);
+int qemu_chr_fe_write(CharFrontend *c, const uint8_t *buf, int len);
 
 /**
  * qemu_chr_fe_write_all:
@@ -245,7 +244,7 @@ int qemu_chr_fe_write(CharBackend *be, const uint8_t *buf, int len);
  * Returns: the number of bytes consumed (0 if no associated Chardev)
  *          or -1 on error.
  */
-int qemu_chr_fe_write_all(CharBackend *be, const uint8_t *buf, int len);
+int qemu_chr_fe_write_all(CharFrontend *c, const uint8_t *buf, int len);
 
 /**
  * qemu_chr_fe_read_all:
@@ -257,7 +256,7 @@ int qemu_chr_fe_write_all(CharBackend *be, const uint8_t *buf, int len);
  * Returns: the number of bytes read (0 if no associated Chardev)
  *          or -1 on error.
  */
-int qemu_chr_fe_read_all(CharBackend *be, uint8_t *buf, int len);
+int qemu_chr_fe_read_all(CharFrontend *c, uint8_t *buf, int len);
 
 /**
  * qemu_chr_fe_ioctl:
@@ -270,7 +269,7 @@ int qemu_chr_fe_read_all(CharBackend *be, uint8_t *buf, int len);
  *          associated Chardev, -ENOTSUP, otherwise the return
  *          value depends on the semantics of @cmd
  */
-int qemu_chr_fe_ioctl(CharBackend *be, int cmd, void *arg);
+int qemu_chr_fe_ioctl(CharFrontend *c, int cmd, void *arg);
 
 /**
  * qemu_chr_fe_get_msgfd:
@@ -283,7 +282,7 @@ int qemu_chr_fe_ioctl(CharBackend *be, int cmd, void *arg);
  *          this function will return -1 until a client sends a new file
  *          descriptor.
  */
-int qemu_chr_fe_get_msgfd(CharBackend *be);
+int qemu_chr_fe_get_msgfd(CharFrontend *c);
 
 /**
  * qemu_chr_fe_get_msgfds:
@@ -296,7 +295,7 @@ int qemu_chr_fe_get_msgfd(CharBackend *be);
  *          this function will return -1 until a client sends a new set of file
  *          descriptors.
  */
-int qemu_chr_fe_get_msgfds(CharBackend *be, int *fds, int num);
+int qemu_chr_fe_get_msgfds(CharFrontend *c, int *fds, int num);
 
 /**
  * qemu_chr_fe_set_msgfds:
@@ -309,6 +308,6 @@ int qemu_chr_fe_get_msgfds(CharBackend *be, int *fds, int num);
  *
  * Returns: -1 if fd passing isn't supported or no associated Chardev.
  */
-int qemu_chr_fe_set_msgfds(CharBackend *be, int *fds, int num);
+int qemu_chr_fe_set_msgfds(CharFrontend *c, int *fds, int num);
 
 #endif /* QEMU_CHAR_FE_H */
diff --git a/include/chardev/char.h b/include/chardev/char.h
index 429852f8d9..b65e9981c1 100644
--- a/include/chardev/char.h
+++ b/include/chardev/char.h
@@ -15,7 +15,7 @@
 #define IAC 255
 
 /* character device */
-typedef struct CharBackend CharBackend;
+typedef struct CharFrontend CharFrontend;
 
 typedef enum {
     CHR_EVENT_BREAK, /* serial break char */
@@ -60,7 +60,7 @@ struct Chardev {
     Object parent_obj;
 
     QemuMutex chr_write_lock;
-    CharBackend *be;
+    CharFrontend *fe;
     char *label;
     char *filename;
     int logfd;
diff --git a/include/hw/char/avr_usart.h b/include/hw/char/avr_usart.h
index 0cc599e9b1..bd2d488f9a 100644
--- a/include/hw/char/avr_usart.h
+++ b/include/hw/char/avr_usart.h
@@ -66,7 +66,7 @@ struct AVRUsartState {
     /* <public> */
     MemoryRegion mmio;
 
-    CharBackend chr;
+    CharFrontend chr;
 
     bool enabled;
 
diff --git a/include/hw/char/bcm2835_aux.h b/include/hw/char/bcm2835_aux.h
index 9e081793a0..a11134f216 100644
--- a/include/hw/char/bcm2835_aux.h
+++ b/include/hw/char/bcm2835_aux.h
@@ -24,7 +24,7 @@ struct BCM2835AuxState {
     /*< public >*/
 
     MemoryRegion iomem;
-    CharBackend chr;
+    CharFrontend chr;
     qemu_irq irq;
 
     uint8_t read_fifo[BCM2835_AUX_RX_FIFO_LEN];
diff --git a/include/hw/char/cadence_uart.h b/include/hw/char/cadence_uart.h
index e7f7cd8468..c87c327357 100644
--- a/include/hw/char/cadence_uart.h
+++ b/include/hw/char/cadence_uart.h
@@ -47,7 +47,7 @@ struct CadenceUARTState {
     uint32_t rx_count;
     uint32_t tx_count;
     uint64_t char_tx_time;
-    CharBackend chr;
+    CharFrontend chr;
     qemu_irq irq;
     QEMUTimer *fifo_trigger_handle;
     Clock *refclk;
diff --git a/include/hw/char/cmsdk-apb-uart.h b/include/hw/char/cmsdk-apb-uart.h
index 7de8f8d1b9..3d0af26ceb 100644
--- a/include/hw/char/cmsdk-apb-uart.h
+++ b/include/hw/char/cmsdk-apb-uart.h
@@ -25,7 +25,7 @@ struct CMSDKAPBUART {
 
     /*< public >*/
     MemoryRegion iomem;
-    CharBackend chr;
+    CharFrontend chr;
     qemu_irq txint;
     qemu_irq rxint;
     qemu_irq txovrint;
diff --git a/include/hw/char/digic-uart.h b/include/hw/char/digic-uart.h
index f710a1a099..3eebdab8a0 100644
--- a/include/hw/char/digic-uart.h
+++ b/include/hw/char/digic-uart.h
@@ -38,7 +38,7 @@ struct DigicUartState {
     /*< public >*/
 
     MemoryRegion regs_region;
-    CharBackend chr;
+    CharFrontend chr;
 
     uint32_t reg_rx;
     uint32_t reg_st;
diff --git a/include/hw/char/escc.h b/include/hw/char/escc.h
index 8c4c6a7730..857f64699e 100644
--- a/include/hw/char/escc.h
+++ b/include/hw/char/escc.h
@@ -36,7 +36,7 @@ typedef struct ESCCChannelState {
     uint32_t reg;
     uint8_t wregs[ESCC_SERIAL_REGS], rregs[ESCC_SERIAL_REGS];
     ESCCSERIOQueue queue;
-    CharBackend chr;
+    CharFrontend chr;
     int e0_mode, led_mode, caps_lock_mode, num_lock_mode;
     int disabled;
     int clock;
diff --git a/include/hw/char/goldfish_tty.h b/include/hw/char/goldfish_tty.h
index d59733e5ae..70fdedd1d0 100644
--- a/include/hw/char/goldfish_tty.h
+++ b/include/hw/char/goldfish_tty.h
@@ -24,7 +24,7 @@ struct GoldfishTTYState {
 
     MemoryRegion iomem;
     qemu_irq irq;
-    CharBackend chr;
+    CharFrontend chr;
 
     uint32_t data_len;
     uint64_t data_ptr;
diff --git a/include/hw/char/ibex_uart.h b/include/hw/char/ibex_uart.h
index 9deadf223b..1ccbb602e6 100644
--- a/include/hw/char/ibex_uart.h
+++ b/include/hw/char/ibex_uart.h
@@ -64,7 +64,7 @@ struct IbexUartState {
 
     Clock *f_clk;
 
-    CharBackend chr;
+    CharFrontend chr;
     qemu_irq tx_watermark;
     qemu_irq rx_watermark;
     qemu_irq tx_empty;
diff --git a/include/hw/char/imx_serial.h b/include/hw/char/imx_serial.h
index 90ba3ff18c..2dcd2e6bcd 100644
--- a/include/hw/char/imx_serial.h
+++ b/include/hw/char/imx_serial.h
@@ -122,7 +122,7 @@ struct IMXSerialState {
     uint32_t ucr4;
 
     qemu_irq irq;
-    CharBackend chr;
+    CharFrontend chr;
 };
 
 #endif
diff --git a/include/hw/char/max78000_uart.h b/include/hw/char/max78000_uart.h
index cf90d51dbf..ac93f83389 100644
--- a/include/hw/char/max78000_uart.h
+++ b/include/hw/char/max78000_uart.h
@@ -72,7 +72,7 @@ struct Max78000UartState {
 
     Fifo8 rx_fifo;
 
-    CharBackend chr;
+    CharFrontend chr;
     qemu_irq irq;
 };
 #endif /* HW_STM32F2XX_USART_H */
diff --git a/include/hw/char/nrf51_uart.h b/include/hw/char/nrf51_uart.h
index 561b6383c4..03d8c2a20d 100644
--- a/include/hw/char/nrf51_uart.h
+++ b/include/hw/char/nrf51_uart.h
@@ -59,7 +59,7 @@ struct NRF51UARTState {
     SysBusDevice parent_obj;
 
     MemoryRegion iomem;
-    CharBackend chr;
+    CharFrontend chr;
     qemu_irq irq;
     guint watch_tag;
 
diff --git a/include/hw/char/parallel.h b/include/hw/char/parallel.h
index 7b04478226..3f8d9b59a7 100644
--- a/include/hw/char/parallel.h
+++ b/include/hw/char/parallel.h
@@ -15,7 +15,7 @@ typedef struct ParallelState {
     uint8_t control;
     qemu_irq irq;
     int irq_pending;
-    CharBackend chr;
+    CharFrontend chr;
     int hw_driver;
     int epp_timeout;
     uint32_t last_read_offset; /* For debugging */
diff --git a/include/hw/char/pl011.h b/include/hw/char/pl011.h
index 299ca9b18b..2d4ff01c81 100644
--- a/include/hw/char/pl011.h
+++ b/include/hw/char/pl011.h
@@ -47,7 +47,7 @@ struct PL011State {
     int read_pos;
     int read_count;
     int read_trigger;
-    CharBackend chr;
+    CharFrontend chr;
     qemu_irq irq[6];
     Clock *clk;
     bool migrate_clk;
diff --git a/include/hw/char/renesas_sci.h b/include/hw/char/renesas_sci.h
index a4764e3eee..90e784f36a 100644
--- a/include/hw/char/renesas_sci.h
+++ b/include/hw/char/renesas_sci.h
@@ -33,7 +33,7 @@ struct RSCIState {
 
     MemoryRegion memory;
     QEMUTimer timer;
-    CharBackend chr;
+    CharFrontend chr;
     qemu_irq irq[SCI_NR_IRQ];
 
     uint8_t smr;
diff --git a/include/hw/char/riscv_htif.h b/include/hw/char/riscv_htif.h
index ee0ca29902..9d61e60d0a 100644
--- a/include/hw/char/riscv_htif.h
+++ b/include/hw/char/riscv_htif.h
@@ -36,7 +36,7 @@ typedef struct HTIFState {
     hwaddr fromhost_offset;
     MemoryRegion mmio;
 
-    CharBackend chr;
+    CharFrontend chr;
     uint64_t pending_read;
 } HTIFState;
 
diff --git a/include/hw/char/serial.h b/include/hw/char/serial.h
index 4bf90a46f3..486c0e0f35 100644
--- a/include/hw/char/serial.h
+++ b/include/hw/char/serial.h
@@ -54,7 +54,7 @@ struct SerialState {
        it can be reset while reading iir */
     int thr_ipending;
     qemu_irq irq;
-    CharBackend chr;
+    CharFrontend chr;
     int last_break_enable;
     uint32_t baudbase;
     uint32_t tsr_retry;
diff --git a/include/hw/char/shakti_uart.h b/include/hw/char/shakti_uart.h
index 526c408233..e5e775d7c9 100644
--- a/include/hw/char/shakti_uart.h
+++ b/include/hw/char/shakti_uart.h
@@ -68,7 +68,7 @@ typedef struct {
     uint32_t uart_iq_cycles;
     uint32_t uart_rx_threshold;
 
-    CharBackend chr;
+    CharFrontend chr;
 } ShaktiUartState;
 
 #endif /* HW_SHAKTI_UART_H */
diff --git a/include/hw/char/sifive_uart.h b/include/hw/char/sifive_uart.h
index 0846cf6218..6486c3f4a5 100644
--- a/include/hw/char/sifive_uart.h
+++ b/include/hw/char/sifive_uart.h
@@ -67,7 +67,7 @@ struct SiFiveUARTState {
     /*< public >*/
     qemu_irq irq;
     MemoryRegion mmio;
-    CharBackend chr;
+    CharFrontend chr;
 
     uint32_t txfifo;
     uint32_t ie;
diff --git a/include/hw/char/stm32f2xx_usart.h b/include/hw/char/stm32f2xx_usart.h
index fdfa7424a7..f9018b8b8f 100644
--- a/include/hw/char/stm32f2xx_usart.h
+++ b/include/hw/char/stm32f2xx_usart.h
@@ -73,7 +73,7 @@ struct STM32F2XXUsartState {
     uint32_t usart_cr3;
     uint32_t usart_gtpr;
 
-    CharBackend chr;
+    CharFrontend chr;
     qemu_irq irq;
 };
 #endif /* HW_STM32F2XX_USART_H */
diff --git a/include/hw/char/stm32l4x5_usart.h b/include/hw/char/stm32l4x5_usart.h
index dd3866682a..cdf7419f53 100644
--- a/include/hw/char/stm32l4x5_usart.h
+++ b/include/hw/char/stm32l4x5_usart.h
@@ -53,7 +53,7 @@ struct Stm32l4x5UsartBaseState {
     uint32_t tdr;
 
     Clock *clk;
-    CharBackend chr;
+    CharFrontend chr;
     qemu_irq irq;
     guint watch_tag;
 };
diff --git a/include/hw/misc/ivshmem-flat.h b/include/hw/misc/ivshmem-flat.h
index 3eca99004e..d656e57808 100644
--- a/include/hw/misc/ivshmem-flat.h
+++ b/include/hw/misc/ivshmem-flat.h
@@ -65,7 +65,7 @@ struct IvshmemFTState {
     QTAILQ_HEAD(, IvshmemPeer) peer;
     IvshmemPeer own;
 
-    CharBackend server_chr;
+    CharFrontend server_chr;
 
     /* IRQ */
     qemu_irq irq;
diff --git a/include/hw/qdev-properties-system.h b/include/hw/qdev-properties-system.h
index 9601a11a09..5c6cc5eae8 100644
--- a/include/hw/qdev-properties-system.h
+++ b/include/hw/qdev-properties-system.h
@@ -38,7 +38,7 @@ extern const PropertyInfo qdev_prop_virtio_gpu_output_list;
     DEFINE_PROP_SIGNED(_n, _s, _f, _d, qdev_prop_pci_devfn, int32_t)
 
 #define DEFINE_PROP_CHR(_n, _s, _f)             \
-    DEFINE_PROP(_n, _s, _f, qdev_prop_chr, CharBackend)
+    DEFINE_PROP(_n, _s, _f, qdev_prop_chr, CharFrontend)
 #define DEFINE_PROP_NETDEV(_n, _s, _f)             \
     DEFINE_PROP(_n, _s, _f, qdev_prop_netdev, NICPeers)
 #define DEFINE_PROP_DRIVE(_n, _s, _f) \
diff --git a/include/hw/virtio/vhost-user-base.h b/include/hw/virtio/vhost-user-base.h
index 387e434b80..d5d2f081ae 100644
--- a/include/hw/virtio/vhost-user-base.h
+++ b/include/hw/virtio/vhost-user-base.h
@@ -20,7 +20,7 @@ struct VHostUserBase {
     VirtIODevice parent_obj;
 
     /* Properties */
-    CharBackend chardev;
+    CharFrontend chardev;
     uint16_t virtio_id;
     uint32_t num_vqs;
     uint32_t vq_size; /* can't exceed VIRTIO_QUEUE_MAX */
diff --git a/include/hw/virtio/vhost-user-blk.h b/include/hw/virtio/vhost-user-blk.h
index a10f785672..8158d4673d 100644
--- a/include/hw/virtio/vhost-user-blk.h
+++ b/include/hw/virtio/vhost-user-blk.h
@@ -29,7 +29,7 @@ OBJECT_DECLARE_SIMPLE_TYPE(VHostUserBlk, VHOST_USER_BLK)
 
 struct VHostUserBlk {
     VirtIODevice parent_obj;
-    CharBackend chardev;
+    CharFrontend chardev;
     int32_t bootindex;
     struct virtio_blk_config blkcfg;
     uint16_t num_queues;
diff --git a/include/hw/virtio/vhost-user-fs.h b/include/hw/virtio/vhost-user-fs.h
index 94c3aaa84e..5699ea03a1 100644
--- a/include/hw/virtio/vhost-user-fs.h
+++ b/include/hw/virtio/vhost-user-fs.h
@@ -24,7 +24,7 @@
 OBJECT_DECLARE_SIMPLE_TYPE(VHostUserFS, VHOST_USER_FS)
 
 typedef struct {
-    CharBackend chardev;
+    CharFrontend chardev;
     char *tag;
     uint16_t num_request_queues;
     uint16_t queue_size;
diff --git a/include/hw/virtio/vhost-user-scmi.h b/include/hw/virtio/vhost-user-scmi.h
index c90db77dd5..30ab0d7ab7 100644
--- a/include/hw/virtio/vhost-user-scmi.h
+++ b/include/hw/virtio/vhost-user-scmi.h
@@ -18,7 +18,7 @@ OBJECT_DECLARE_SIMPLE_TYPE(VHostUserSCMI, VHOST_USER_SCMI);
 
 struct VHostUserSCMI {
     VirtIODevice parent;
-    CharBackend chardev;
+    CharFrontend chardev;
     struct vhost_virtqueue *vhost_vqs;
     struct vhost_dev vhost_dev;
     VhostUserState vhost_user;
diff --git a/include/hw/virtio/vhost-user-vsock.h b/include/hw/virtio/vhost-user-vsock.h
index 67aa46c952..5db6938b8b 100644
--- a/include/hw/virtio/vhost-user-vsock.h
+++ b/include/hw/virtio/vhost-user-vsock.h
@@ -20,7 +20,7 @@
 OBJECT_DECLARE_SIMPLE_TYPE(VHostUserVSock, VHOST_USER_VSOCK)
 
 typedef struct {
-    CharBackend chardev;
+    CharFrontend chardev;
 } VHostUserVSockConf;
 
 struct VHostUserVSock {
diff --git a/include/hw/virtio/vhost-user.h b/include/hw/virtio/vhost-user.h
index 9a3f238b43..55d5725ef8 100644
--- a/include/hw/virtio/vhost-user.h
+++ b/include/hw/virtio/vhost-user.h
@@ -64,7 +64,7 @@ typedef struct VhostUserHostNotifier {
  * @memory_slots:
  */
 typedef struct VhostUserState {
-    CharBackend *chr;
+    CharFrontend *chr;
     GPtrArray *notifiers;
     int memory_slots;
     bool supports_config;
@@ -82,7 +82,7 @@ typedef struct VhostUserState {
  *
  * Return: true on success, false on error while setting errp.
  */
-bool vhost_user_init(VhostUserState *user, CharBackend *chr, Error **errp);
+bool vhost_user_init(VhostUserState *user, CharFrontend *chr, Error **errp);
 
 /**
  * vhost_user_cleanup() - cleanup state
@@ -96,7 +96,7 @@ void vhost_user_cleanup(VhostUserState *user);
 /**
  * vhost_user_async_close() - cleanup vhost-user post connection drop
  * @d: DeviceState for the associated device (passed to callback)
- * @chardev: the CharBackend associated with the connection
+ * @chardev: the CharFrontend associated with the connection
  * @vhost: the common vhost device
  * @cb: the user callback function to complete the clean-up
  *
@@ -108,7 +108,7 @@ void vhost_user_cleanup(VhostUserState *user);
 typedef void (*vu_async_close_fn)(DeviceState *cb);
 
 void vhost_user_async_close(DeviceState *d,
-                            CharBackend *chardev, struct vhost_dev *vhost,
+                            CharFrontend *chardev, struct vhost_dev *vhost,
                             vu_async_close_fn cb);
 
 #endif
diff --git a/include/hw/virtio/virtio-gpu.h b/include/hw/virtio/virtio-gpu.h
index 9f16f89a36..58e0f91fda 100644
--- a/include/hw/virtio/virtio-gpu.h
+++ b/include/hw/virtio/virtio-gpu.h
@@ -257,7 +257,7 @@ struct VhostUserGPU {
 
     VhostUserBackend *vhost;
     int vhost_gpu_fd; /* closed by the chardev */
-    CharBackend vhost_chr;
+    CharFrontend vhost_chr;
     QemuDmaBuf *dmabuf[VIRTIO_GPU_MAX_SCANOUTS];
     bool backend_blocked;
 };
diff --git a/include/hw/virtio/virtio-scsi.h b/include/hw/virtio/virtio-scsi.h
index 31e852ed6c..b6028bb5cd 100644
--- a/include/hw/virtio/virtio-scsi.h
+++ b/include/hw/virtio/virtio-scsi.h
@@ -58,7 +58,7 @@ struct VirtIOSCSIConf {
     uint32_t cmd_per_lun;
     char *vhostfd;
     char *wwpn;
-    CharBackend chardev;
+    CharFrontend chardev;
     uint32_t boot_tpgt;
     IOThread *iothread;
     IOThreadVirtQueueMappingList *iothread_vq_mapping_list;
diff --git a/include/system/qtest.h b/include/system/qtest.h
index 84b1f8c6ee..7f6dc01d14 100644
--- a/include/system/qtest.h
+++ b/include/system/qtest.h
@@ -23,8 +23,8 @@ static inline bool qtest_enabled(void)
     return qtest_allowed;
 }
 
-void G_GNUC_PRINTF(2, 3) qtest_sendf(CharBackend *chr, const char *fmt, ...);
-void qtest_set_command_cb(bool (*pc_cb)(CharBackend *chr, gchar **words));
+void G_GNUC_PRINTF(2, 3) qtest_sendf(CharFrontend *chr, const char *fmt, ...);
+void qtest_set_command_cb(bool (*pc_cb)(CharFrontend *chr, gchar **words));
 bool qtest_driver(void);
 
 void qtest_server_init(const char *qtest_chrdev, const char *qtest_log, Error **errp);
diff --git a/include/system/vhost-user-backend.h b/include/system/vhost-user-backend.h
index 5634ebdb2e..3184c8e799 100644
--- a/include/system/vhost-user-backend.h
+++ b/include/system/vhost-user-backend.h
@@ -32,7 +32,7 @@ struct VhostUserBackend {
     Object parent;
 
     char *chr_name;
-    CharBackend chr;
+    CharFrontend chr;
     VhostUserState vhost_user;
     struct vhost_dev dev;
     VirtIODevice *vdev;
diff --git a/monitor/monitor-internal.h b/monitor/monitor-internal.h
index 5676eb334e..7735c73108 100644
--- a/monitor/monitor-internal.h
+++ b/monitor/monitor-internal.h
@@ -93,7 +93,7 @@ typedef struct HMPCommand {
 } HMPCommand;
 
 struct Monitor {
-    CharBackend chr;
+    CharFrontend chr;
     int suspend_cnt;            /* Needs to be accessed atomically */
     bool is_qmp;
     bool skip_flush;
diff --git a/backends/cryptodev-vhost-user.c b/backends/cryptodev-vhost-user.c
index cb04e68b02..cc478d9902 100644
--- a/backends/cryptodev-vhost-user.c
+++ b/backends/cryptodev-vhost-user.c
@@ -46,7 +46,7 @@ struct CryptoDevBackendVhostUser {
     CryptoDevBackend parent_obj;
 
     VhostUserState vhost_user;
-    CharBackend chr;
+    CharFrontend chr;
     char *chr_name;
     bool opened;
     CryptoDevBackendVhost *vhost_crypto[MAX_CRYPTO_QUEUE_NUM];
diff --git a/backends/rng-egd.c b/backends/rng-egd.c
index 9fd3393ede..1d92bd71cf 100644
--- a/backends/rng-egd.c
+++ b/backends/rng-egd.c
@@ -24,7 +24,7 @@ OBJECT_DECLARE_SIMPLE_TYPE(RngEgd, RNG_EGD)
 struct RngEgd {
     RngBackend parent;
 
-    CharBackend chr;
+    CharFrontend chr;
     char *chr_name;
 };
 
diff --git a/backends/tpm/tpm_emulator.c b/backends/tpm/tpm_emulator.c
index dacfca5ab7..f32b67dac7 100644
--- a/backends/tpm/tpm_emulator.c
+++ b/backends/tpm/tpm_emulator.c
@@ -69,7 +69,7 @@ struct TPMEmulator {
     TPMBackend parent;
 
     TPMEmulatorOptions *options;
-    CharBackend ctrl_chr;
+    CharFrontend ctrl_chr;
     QIOChannel *data_ioc;
     TPMVersion tpm_version;
     uint32_t caps; /* capabilities of the TPM */
@@ -126,7 +126,7 @@ static int tpm_emulator_ctrlcmd(TPMEmulator *tpm, unsigned long cmd, void *msg,
                                 size_t msg_len_in, size_t msg_len_out_err,
                                 size_t msg_len_out_total)
 {
-    CharBackend *dev = &tpm->ctrl_chr;
+    CharFrontend *dev = &tpm->ctrl_chr;
     uint32_t cmd_no = cpu_to_be32(cmd);
     ssize_t n = sizeof(uint32_t) + msg_len_in;
     ptm_res res;
diff --git a/chardev/char-fe.c b/chardev/char-fe.c
index 158a5f4f55..34b83fc1c4 100644
--- a/chardev/char-fe.c
+++ b/chardev/char-fe.c
@@ -30,9 +30,9 @@
 #include "chardev/char-io.h"
 #include "chardev-internal.h"
 
-int qemu_chr_fe_write(CharBackend *be, const uint8_t *buf, int len)
+int qemu_chr_fe_write(CharFrontend *c, const uint8_t *buf, int len)
 {
-    Chardev *s = be->chr;
+    Chardev *s = c->chr;
 
     if (!s) {
         return 0;
@@ -41,9 +41,9 @@ int qemu_chr_fe_write(CharBackend *be, const uint8_t *buf, int len)
     return qemu_chr_write(s, buf, len, false);
 }
 
-int qemu_chr_fe_write_all(CharBackend *be, const uint8_t *buf, int len)
+int qemu_chr_fe_write_all(CharFrontend *c, const uint8_t *buf, int len)
 {
-    Chardev *s = be->chr;
+    Chardev *s = c->chr;
 
     if (!s) {
         return 0;
@@ -52,9 +52,9 @@ int qemu_chr_fe_write_all(CharBackend *be, const uint8_t *buf, int len)
     return qemu_chr_write(s, buf, len, true);
 }
 
-int qemu_chr_fe_read_all(CharBackend *be, uint8_t *buf, int len)
+int qemu_chr_fe_read_all(CharFrontend *c, uint8_t *buf, int len)
 {
-    Chardev *s = be->chr;
+    Chardev *s = c->chr;
     int offset = 0;
     int res;
 
@@ -95,9 +95,9 @@ int qemu_chr_fe_read_all(CharBackend *be, uint8_t *buf, int len)
     return offset;
 }
 
-int qemu_chr_fe_ioctl(CharBackend *be, int cmd, void *arg)
+int qemu_chr_fe_ioctl(CharFrontend *c, int cmd, void *arg)
 {
-    Chardev *s = be->chr;
+    Chardev *s = c->chr;
     int res;
 
     if (!s || !CHARDEV_GET_CLASS(s)->chr_ioctl || qemu_chr_replay(s)) {
@@ -109,11 +109,11 @@ int qemu_chr_fe_ioctl(CharBackend *be, int cmd, void *arg)
     return res;
 }
 
-int qemu_chr_fe_get_msgfd(CharBackend *be)
+int qemu_chr_fe_get_msgfd(CharFrontend *c)
 {
-    Chardev *s = be->chr;
+    Chardev *s = c->chr;
     int fd;
-    int res = (qemu_chr_fe_get_msgfds(be, &fd, 1) == 1) ? fd : -1;
+    int res = (qemu_chr_fe_get_msgfds(c, &fd, 1) == 1) ? fd : -1;
     if (s && qemu_chr_replay(s)) {
         error_report("Replay: get msgfd is not supported "
                      "for serial devices yet");
@@ -122,9 +122,9 @@ int qemu_chr_fe_get_msgfd(CharBackend *be)
     return res;
 }
 
-int qemu_chr_fe_get_msgfds(CharBackend *be, int *fds, int len)
+int qemu_chr_fe_get_msgfds(CharFrontend *c, int *fds, int len)
 {
-    Chardev *s = be->chr;
+    Chardev *s = c->chr;
 
     if (!s) {
         return -1;
@@ -134,9 +134,9 @@ int qemu_chr_fe_get_msgfds(CharBackend *be, int *fds, int len)
         CHARDEV_GET_CLASS(s)->get_msgfds(s, fds, len) : -1;
 }
 
-int qemu_chr_fe_set_msgfds(CharBackend *be, int *fds, int num)
+int qemu_chr_fe_set_msgfds(CharFrontend *c, int *fds, int num)
 {
-    Chardev *s = be->chr;
+    Chardev *s = c->chr;
 
     if (!s) {
         return -1;
@@ -146,9 +146,9 @@ int qemu_chr_fe_set_msgfds(CharBackend *be, int *fds, int num)
         CHARDEV_GET_CLASS(s)->set_msgfds(s, fds, num) : -1;
 }
 
-void qemu_chr_fe_accept_input(CharBackend *be)
+void qemu_chr_fe_accept_input(CharFrontend *c)
 {
-    Chardev *s = be->chr;
+    Chardev *s = c->chr;
 
     if (!s) {
         return;
@@ -160,7 +160,7 @@ void qemu_chr_fe_accept_input(CharBackend *be)
     qemu_notify_event();
 }
 
-void qemu_chr_fe_printf(CharBackend *be, const char *fmt, ...)
+void qemu_chr_fe_printf(CharFrontend *c, const char *fmt, ...)
 {
     char buf[CHR_READ_BUF_LEN];
     va_list ap;
@@ -168,28 +168,28 @@ void qemu_chr_fe_printf(CharBackend *be, const char *fmt, ...)
     vsnprintf(buf, sizeof(buf), fmt, ap);
     /* XXX this blocks entire thread. Rewrite to use
      * qemu_chr_fe_write and background I/O callbacks */
-    qemu_chr_fe_write_all(be, (uint8_t *)buf, strlen(buf));
+    qemu_chr_fe_write_all(c, (uint8_t *)buf, strlen(buf));
     va_end(ap);
 }
 
-Chardev *qemu_chr_fe_get_driver(CharBackend *be)
+Chardev *qemu_chr_fe_get_driver(CharFrontend *c)
 {
     /* this is unsafe for the users that support chardev hotswap */
-    assert(be->chr_be_change == NULL);
-    return be->chr;
+    assert(c->chr_be_change == NULL);
+    return c->chr;
 }
 
-bool qemu_chr_fe_backend_connected(CharBackend *be)
+bool qemu_chr_fe_backend_connected(CharFrontend *c)
 {
-    return !!be->chr;
+    return !!c->chr;
 }
 
-bool qemu_chr_fe_backend_open(CharBackend *be)
+bool qemu_chr_fe_backend_open(CharFrontend *c)
 {
-    return be->chr && be->chr->be_open;
+    return c->chr && c->chr->be_open;
 }
 
-bool qemu_chr_fe_init(CharBackend *b, Chardev *s, Error **errp)
+bool qemu_chr_fe_init(CharFrontend *c, Chardev *s, Error **errp)
 {
     unsigned int tag = 0;
 
@@ -197,49 +197,49 @@ bool qemu_chr_fe_init(CharBackend *b, Chardev *s, Error **errp)
         if (CHARDEV_IS_MUX(s)) {
             MuxChardev *d = MUX_CHARDEV(s);
 
-            if (!mux_chr_attach_frontend(d, b, &tag, errp)) {
+            if (!mux_chr_attach_frontend(d, c, &tag, errp)) {
                 return false;
             }
-        } else if (s->be) {
+        } else if (s->fe) {
             error_setg(errp, "chardev '%s' is already in use", s->label);
             return false;
         } else {
-            s->be = b;
+            s->fe = c;
         }
     }
 
-    b->fe_is_open = false;
-    b->tag = tag;
-    b->chr = s;
+    c->fe_is_open = false;
+    c->tag = tag;
+    c->chr = s;
     return true;
 }
 
-void qemu_chr_fe_deinit(CharBackend *b, bool del)
+void qemu_chr_fe_deinit(CharFrontend *c, bool del)
 {
-    assert(b);
+    assert(c);
 
-    if (b->chr) {
-        qemu_chr_fe_set_handlers(b, NULL, NULL, NULL, NULL, NULL, NULL, true);
-        if (b->chr->be == b) {
-            b->chr->be = NULL;
+    if (c->chr) {
+        qemu_chr_fe_set_handlers(c, NULL, NULL, NULL, NULL, NULL, NULL, true);
+        if (c->chr->fe == c) {
+            c->chr->fe = NULL;
         }
-        if (CHARDEV_IS_MUX(b->chr)) {
-            MuxChardev *d = MUX_CHARDEV(b->chr);
-            mux_chr_detach_frontend(d, b->tag);
+        if (CHARDEV_IS_MUX(c->chr)) {
+            MuxChardev *d = MUX_CHARDEV(c->chr);
+            mux_chr_detach_frontend(d, c->tag);
         }
         if (del) {
-            Object *obj = OBJECT(b->chr);
+            Object *obj = OBJECT(c->chr);
             if (obj->parent) {
                 object_unparent(obj);
             } else {
                 object_unref(obj);
             }
         }
-        b->chr = NULL;
+        c->chr = NULL;
     }
 }
 
-void qemu_chr_fe_set_handlers_full(CharBackend *b,
+void qemu_chr_fe_set_handlers_full(CharFrontend *c,
                                    IOCanReadHandler *fd_can_read,
                                    IOReadHandler *fd_read,
                                    IOEventHandler *fd_event,
@@ -252,7 +252,7 @@ void qemu_chr_fe_set_handlers_full(CharBackend *b,
     Chardev *s;
     bool fe_open;
 
-    s = b->chr;
+    s = c->chr;
     if (!s) {
         return;
     }
@@ -263,20 +263,20 @@ void qemu_chr_fe_set_handlers_full(CharBackend *b,
     } else {
         fe_open = true;
     }
-    b->chr_can_read = fd_can_read;
-    b->chr_read = fd_read;
-    b->chr_event = fd_event;
-    b->chr_be_change = be_change;
-    b->opaque = opaque;
+    c->chr_can_read = fd_can_read;
+    c->chr_read = fd_read;
+    c->chr_event = fd_event;
+    c->chr_be_change = be_change;
+    c->opaque = opaque;
 
     qemu_chr_be_update_read_handlers(s, context);
 
     if (set_open) {
-        qemu_chr_fe_set_open(b, fe_open);
+        qemu_chr_fe_set_open(c, fe_open);
     }
 
     if (fe_open) {
-        qemu_chr_fe_take_focus(b);
+        qemu_chr_fe_take_focus(c);
         /* We're connecting to an already opened device, so let's make sure we
            also get the open event */
         if (sync_state && s->be_open) {
@@ -285,7 +285,7 @@ void qemu_chr_fe_set_handlers_full(CharBackend *b,
     }
 }
 
-void qemu_chr_fe_set_handlers(CharBackend *b,
+void qemu_chr_fe_set_handlers(CharFrontend *c,
                               IOCanReadHandler *fd_can_read,
                               IOReadHandler *fd_read,
                               IOEventHandler *fd_event,
@@ -294,62 +294,62 @@ void qemu_chr_fe_set_handlers(CharBackend *b,
                               GMainContext *context,
                               bool set_open)
 {
-    qemu_chr_fe_set_handlers_full(b, fd_can_read, fd_read, fd_event, be_change,
+    qemu_chr_fe_set_handlers_full(c, fd_can_read, fd_read, fd_event, be_change,
                                   opaque, context, set_open,
                                   true);
 }
 
-void qemu_chr_fe_take_focus(CharBackend *b)
+void qemu_chr_fe_take_focus(CharFrontend *c)
 {
-    if (!b->chr) {
+    if (!c->chr) {
         return;
     }
 
-    if (CHARDEV_IS_MUX(b->chr)) {
-        mux_set_focus(b->chr, b->tag);
+    if (CHARDEV_IS_MUX(c->chr)) {
+        mux_set_focus(c->chr, c->tag);
     }
 }
 
-int qemu_chr_fe_wait_connected(CharBackend *be, Error **errp)
+int qemu_chr_fe_wait_connected(CharFrontend *c, Error **errp)
 {
-    if (!be->chr) {
+    if (!c->chr) {
         error_setg(errp, "missing associated backend");
         return -1;
     }
 
-    return qemu_chr_wait_connected(be->chr, errp);
+    return qemu_chr_wait_connected(c->chr, errp);
 }
 
-void qemu_chr_fe_set_echo(CharBackend *be, bool echo)
+void qemu_chr_fe_set_echo(CharFrontend *c, bool echo)
 {
-    Chardev *chr = be->chr;
+    Chardev *chr = c->chr;
 
     if (chr && CHARDEV_GET_CLASS(chr)->chr_set_echo) {
         CHARDEV_GET_CLASS(chr)->chr_set_echo(chr, echo);
     }
 }
 
-void qemu_chr_fe_set_open(CharBackend *be, bool is_open)
+void qemu_chr_fe_set_open(CharFrontend *c, bool is_open)
 {
-    Chardev *chr = be->chr;
+    Chardev *chr = c->chr;
 
     if (!chr) {
         return;
     }
 
-    if (be->fe_is_open == is_open) {
+    if (c->fe_is_open == is_open) {
         return;
     }
-    be->fe_is_open = is_open;
+    c->fe_is_open = is_open;
     if (CHARDEV_GET_CLASS(chr)->chr_set_fe_open) {
         CHARDEV_GET_CLASS(chr)->chr_set_fe_open(chr, is_open);
     }
 }
 
-guint qemu_chr_fe_add_watch(CharBackend *be, GIOCondition cond,
+guint qemu_chr_fe_add_watch(CharFrontend *c, GIOCondition cond,
                             FEWatchFunc func, void *user_data)
 {
-    Chardev *s = be->chr;
+    Chardev *s = c->chr;
     GSource *src;
     guint tag;
 
@@ -369,9 +369,9 @@ guint qemu_chr_fe_add_watch(CharBackend *be, GIOCondition cond,
     return tag;
 }
 
-void qemu_chr_fe_disconnect(CharBackend *be)
+void qemu_chr_fe_disconnect(CharFrontend *c)
 {
-    Chardev *chr = be->chr;
+    Chardev *chr = c->chr;
 
     if (chr && CHARDEV_GET_CLASS(chr)->chr_disconnect) {
         CHARDEV_GET_CLASS(chr)->chr_disconnect(chr);
diff --git a/chardev/char-hub.c b/chardev/char-hub.c
index 16ffee2017..d0967c2233 100644
--- a/chardev/char-hub.c
+++ b/chardev/char-hub.c
@@ -54,7 +54,7 @@ static int hub_chr_write(Chardev *chr, const uint8_t *buf, int len)
     d->be_eagain_ind = -1;
 
     for (i = 0; i < d->be_cnt; i++) {
-        if (!d->backends[i].be.chr->be_open) {
+        if (!d->backends[i].fe.chr->be_open) {
             /* Skip closed backend */
             continue;
         }
@@ -64,7 +64,7 @@ static int hub_chr_write(Chardev *chr, const uint8_t *buf, int len)
             ret = MIN(written, ret);
             continue;
         }
-        r = qemu_chr_fe_write(&d->backends[i].be, buf, len);
+        r = qemu_chr_fe_write(&d->backends[i].fe, buf, len);
         if (r < 0) {
             if (errno == EAGAIN) {
                 /* Set index and expect to be called soon on watch wake up */
@@ -84,7 +84,7 @@ static int hub_chr_write(Chardev *chr, const uint8_t *buf, int len)
 static int hub_chr_can_read(void *opaque)
 {
     HubCharBackend *backend = opaque;
-    CharBackend *fe = backend->hub->parent.be;
+    CharFrontend *fe = backend->hub->parent.fe;
 
     if (fe && fe->chr_can_read) {
         return fe->chr_can_read(fe->opaque);
@@ -96,7 +96,7 @@ static int hub_chr_can_read(void *opaque)
 static void hub_chr_read(void *opaque, const uint8_t *buf, int size)
 {
     HubCharBackend *backend = opaque;
-    CharBackend *fe = backend->hub->parent.be;
+    CharFrontend *fe = backend->hub->parent.fe;
 
     if (fe && fe->chr_read) {
         fe->chr_read(fe->opaque, buf, size);
@@ -107,7 +107,7 @@ static void hub_chr_event(void *opaque, QEMUChrEvent event)
 {
     HubCharBackend *backend = opaque;
     HubChardev *d = backend->hub;
-    CharBackend *fe = d->parent.be;
+    CharFrontend *fe = d->parent.fe;
 
     if (event == CHR_EVENT_OPENED) {
         /*
@@ -147,7 +147,7 @@ static GSource *hub_chr_add_watch(Chardev *s, GIOCondition cond)
     }
 
     assert(d->be_eagain_ind < d->be_cnt);
-    chr = qemu_chr_fe_get_driver(&d->backends[d->be_eagain_ind].be);
+    chr = qemu_chr_fe_get_driver(&d->backends[d->be_eagain_ind].fe);
     cc = CHARDEV_GET_CLASS(chr);
     if (!cc->chr_add_watch) {
         return NULL;
@@ -167,7 +167,7 @@ static bool hub_chr_attach_chardev(HubChardev *d, Chardev *chr,
                    d->parent.label);
         return false;
     }
-    ret = qemu_chr_fe_init(&d->backends[d->be_cnt].be, chr, errp);
+    ret = qemu_chr_fe_init(&d->backends[d->be_cnt].fe, chr, errp);
     if (ret) {
         d->backends[d->be_cnt].hub = d;
         d->backends[d->be_cnt].be_ind = d->be_cnt;
@@ -183,7 +183,7 @@ static void char_hub_finalize(Object *obj)
     int i;
 
     for (i = 0; i < d->be_cnt; i++) {
-        qemu_chr_fe_deinit(&d->backends[i].be, false);
+        qemu_chr_fe_deinit(&d->backends[i].fe, false);
     }
 }
 
@@ -193,7 +193,7 @@ static void hub_chr_update_read_handlers(Chardev *chr)
     int i;
 
     for (i = 0; i < d->be_cnt; i++) {
-        qemu_chr_fe_set_handlers_full(&d->backends[i].be,
+        qemu_chr_fe_set_handlers_full(&d->backends[i].fe,
                                       hub_chr_can_read,
                                       hub_chr_read,
                                       hub_chr_event,
diff --git a/chardev/char-mux.c b/chardev/char-mux.c
index 6b36290e2c..db9e89f441 100644
--- a/chardev/char-mux.c
+++ b/chardev/char-mux.c
@@ -128,10 +128,10 @@ static void mux_print_help(Chardev *chr)
 static void mux_chr_send_event(MuxChardev *d, unsigned int mux_nr,
                                QEMUChrEvent event)
 {
-    CharBackend *be = d->backends[mux_nr];
+    CharFrontend *fe = d->frontends[mux_nr];
 
-    if (be && be->chr_event) {
-        be->chr_event(be->opaque, event);
+    if (fe && fe->chr_event) {
+        fe->chr_event(fe->opaque, event);
     }
 }
 
@@ -200,11 +200,11 @@ static void mux_chr_accept_input(Chardev *chr)
 {
     MuxChardev *d = MUX_CHARDEV(chr);
     int m = d->focus;
-    CharBackend *be = d->backends[m];
+    CharFrontend *fe = d->frontends[m];
 
-    while (be && d->prod[m] != d->cons[m] &&
-           be->chr_can_read && be->chr_can_read(be->opaque)) {
-        be->chr_read(be->opaque,
+    while (fe && d->prod[m] != d->cons[m] &&
+           fe->chr_can_read && fe->chr_can_read(fe->opaque)) {
+        fe->chr_read(fe->opaque,
                      &d->buffer[m][d->cons[m]++ & MUX_BUFFER_MASK], 1);
     }
 }
@@ -213,14 +213,14 @@ static int mux_chr_can_read(void *opaque)
 {
     MuxChardev *d = MUX_CHARDEV(opaque);
     int m = d->focus;
-    CharBackend *be = d->backends[m];
+    CharFrontend *fe = d->frontends[m];
 
     if ((d->prod[m] - d->cons[m]) < MUX_BUFFER_SIZE) {
         return 1;
     }
 
-    if (be && be->chr_can_read) {
-        return be->chr_can_read(be->opaque);
+    if (fe && fe->chr_can_read) {
+        return fe->chr_can_read(fe->opaque);
     }
 
     return 0;
@@ -231,7 +231,7 @@ static void mux_chr_read(void *opaque, const uint8_t *buf, int size)
     Chardev *chr = CHARDEV(opaque);
     MuxChardev *d = MUX_CHARDEV(opaque);
     int m = d->focus;
-    CharBackend *be = d->backends[m];
+    CharFrontend *fe = d->frontends[m];
     int i;
 
     mux_chr_accept_input(opaque);
@@ -239,9 +239,9 @@ static void mux_chr_read(void *opaque, const uint8_t *buf, int size)
     for (i = 0; i < size; i++)
         if (mux_proc_byte(chr, d, buf[i])) {
             if (d->prod[m] == d->cons[m] &&
-                be && be->chr_can_read &&
-                be->chr_can_read(be->opaque)) {
-                be->chr_read(be->opaque, &buf[i], 1);
+                fe && fe->chr_can_read &&
+                fe->chr_can_read(fe->opaque)) {
+                fe->chr_read(fe->opaque, &buf[i], 1);
             } else {
                 d->buffer[m][d->prod[m]++ & MUX_BUFFER_MASK] = buf[i];
             }
@@ -289,9 +289,9 @@ static void char_mux_finalize(Object *obj)
 
     bit = -1;
     while ((bit = find_next_bit(&d->mux_bitset, MAX_MUX, bit + 1)) < MAX_MUX) {
-        CharBackend *be = d->backends[bit];
+        CharFrontend *be = d->frontends[bit];
         be->chr = NULL;
-        d->backends[bit] = NULL;
+        d->frontends[bit] = NULL;
     }
     d->mux_bitset = 0;
     qemu_chr_fe_deinit(&d->chr, false);
@@ -311,7 +311,7 @@ static void mux_chr_update_read_handlers(Chardev *chr)
                                   chr->gcontext, true, false);
 }
 
-bool mux_chr_attach_frontend(MuxChardev *d, CharBackend *b,
+bool mux_chr_attach_frontend(MuxChardev *d, CharFrontend *c,
                              unsigned int *tag, Error **errp)
 {
     unsigned int bit;
@@ -328,7 +328,7 @@ bool mux_chr_attach_frontend(MuxChardev *d, CharBackend *b,
     }
 
     d->mux_bitset |= (1ul << bit);
-    d->backends[bit] = b;
+    d->frontends[bit] = c;
     *tag = bit;
 
     return true;
@@ -341,7 +341,7 @@ bool mux_chr_detach_frontend(MuxChardev *d, unsigned int tag)
     }
 
     d->mux_bitset &= ~(1ul << tag);
-    d->backends[tag] = NULL;
+    d->frontends[tag] = NULL;
 
     return true;
 }
@@ -357,7 +357,7 @@ void mux_set_focus(Chardev *chr, unsigned int focus)
     }
 
     d->focus = focus;
-    chr->be = d->backends[focus];
+    chr->fe = d->frontends[focus];
     mux_chr_send_event(d, d->focus, CHR_EVENT_MUX_IN);
 }
 
diff --git a/chardev/char.c b/chardev/char.c
index bbebd246c3..30b21fedce 100644
--- a/chardev/char.c
+++ b/chardev/char.c
@@ -53,13 +53,13 @@ Object *get_chardevs_root(void)
 
 static void chr_be_event(Chardev *s, QEMUChrEvent event)
 {
-    CharBackend *be = s->be;
+    CharFrontend *fe = s->fe;
 
-    if (!be || !be->chr_event) {
+    if (!fe || !fe->chr_event) {
         return;
     }
 
-    be->chr_event(be->opaque, event);
+    fe->chr_event(fe->opaque, event);
 }
 
 void qemu_chr_be_event(Chardev *s, QEMUChrEvent event)
@@ -197,21 +197,21 @@ int qemu_chr_write(Chardev *s, const uint8_t *buf, int len, bool write_all)
 
 int qemu_chr_be_can_write(Chardev *s)
 {
-    CharBackend *be = s->be;
+    CharFrontend *fe = s->fe;
 
-    if (!be || !be->chr_can_read) {
+    if (!fe || !fe->chr_can_read) {
         return 0;
     }
 
-    return be->chr_can_read(be->opaque);
+    return fe->chr_can_read(fe->opaque);
 }
 
 void qemu_chr_be_write_impl(Chardev *s, const uint8_t *buf, int len)
 {
-    CharBackend *be = s->be;
+    CharFrontend *fe = s->fe;
 
-    if (be && be->chr_read) {
-        be->chr_read(be->opaque, buf, len);
+    if (fe && fe->chr_read) {
+        fe->chr_read(fe->opaque, buf, len);
     }
 }
 
@@ -307,8 +307,8 @@ static void char_finalize(Object *obj)
 {
     Chardev *chr = CHARDEV(obj);
 
-    if (chr->be) {
-        chr->be->chr = NULL;
+    if (chr->fe) {
+        chr->fe->chr = NULL;
     }
     g_free(chr->filename);
     g_free(chr->label);
@@ -335,7 +335,7 @@ static bool qemu_chr_is_busy(Chardev *s)
         MuxChardev *d = MUX_CHARDEV(s);
         return d->mux_bitset != 0;
     } else {
-        return s->be != NULL;
+        return s->fe != NULL;
     }
 }
 
@@ -798,7 +798,7 @@ static int qmp_query_chardev_foreach(Object *obj, void *data)
 
     value->label = g_strdup(chr->label);
     value->filename = g_strdup(chr->filename);
-    value->frontend_open = chr->be && chr->be->fe_is_open;
+    value->frontend_open = chr->fe && chr->fe->fe_is_open;
 
     QAPI_LIST_PREPEND(*list, value);
 
@@ -1112,7 +1112,7 @@ err:
 ChardevReturn *qmp_chardev_change(const char *id, ChardevBackend *backend,
                                   Error **errp)
 {
-    CharBackend *be;
+    CharFrontend *fe;
     const ChardevClass *cc, *cc_new;
     Chardev *chr, *chr_new;
     bool closed_sent = false;
@@ -1136,14 +1136,14 @@ ChardevReturn *qmp_chardev_change(const char *id, ChardevBackend *backend,
         return NULL;
     }
 
-    be = chr->be;
-    if (!be) {
+    fe = chr->fe;
+    if (!fe) {
         /* easy case */
         object_unparent(OBJECT(chr));
         return qmp_chardev_add(id, backend, errp);
     }
 
-    if (!be->chr_be_change) {
+    if (!fe->chr_be_change) {
         error_setg(errp, "Chardev user does not support chardev hotswap");
         return NULL;
     }
@@ -1171,13 +1171,13 @@ ChardevReturn *qmp_chardev_change(const char *id, ChardevBackend *backend,
         closed_sent = true;
     }
 
-    chr->be = NULL;
-    qemu_chr_fe_init(be, chr_new, &error_abort);
+    chr->fe = NULL;
+    qemu_chr_fe_init(fe, chr_new, &error_abort);
 
-    if (be->chr_be_change(be->opaque) < 0) {
+    if (fe->chr_be_change(fe->opaque) < 0) {
         error_setg(errp, "Chardev '%s' change failed", chr_new->label);
-        chr_new->be = NULL;
-        qemu_chr_fe_init(be, chr, &error_abort);
+        chr_new->fe = NULL;
+        qemu_chr_fe_init(fe, chr, &error_abort);
         if (closed_sent) {
             qemu_chr_be_event(chr, CHR_EVENT_OPENED);
         }
diff --git a/gdbstub/system.c b/gdbstub/system.c
index 5221c579d9..e2220c1ae4 100644
--- a/gdbstub/system.c
+++ b/gdbstub/system.c
@@ -34,7 +34,7 @@
 
 /* System emulation specific state */
 typedef struct {
-    CharBackend chr;
+    CharFrontend chr;
     Chardev *mon_chr;
 } GDBSystemState;
 
diff --git a/hw/arm/strongarm.c b/hw/arm/strongarm.c
index 229c98ddd9..059b07907d 100644
--- a/hw/arm/strongarm.c
+++ b/hw/arm/strongarm.c
@@ -927,7 +927,7 @@ struct StrongARMUARTState {
     SysBusDevice parent_obj;
 
     MemoryRegion iomem;
-    CharBackend chr;
+    CharFrontend chr;
     qemu_irq irq;
 
     uint8_t utcr0;
diff --git a/hw/char/debugcon.c b/hw/char/debugcon.c
index bf44aaf9e4..bb323adda5 100644
--- a/hw/char/debugcon.c
+++ b/hw/char/debugcon.c
@@ -40,7 +40,7 @@ OBJECT_DECLARE_SIMPLE_TYPE(ISADebugconState, ISA_DEBUGCON_DEVICE)
 
 typedef struct DebugconState {
     MemoryRegion io;
-    CharBackend chr;
+    CharFrontend chr;
     uint32_t readback;
 } DebugconState;
 
diff --git a/hw/char/exynos4210_uart.c b/hw/char/exynos4210_uart.c
index 6521b4cedd..9e45d81990 100644
--- a/hw/char/exynos4210_uart.c
+++ b/hw/char/exynos4210_uart.c
@@ -154,7 +154,7 @@ struct Exynos4210UartState {
     QEMUTimer *fifo_timeout_timer;
     uint64_t wordtime;        /* word time in ns */
 
-    CharBackend       chr;
+    CharFrontend       chr;
     qemu_irq          irq;
     qemu_irq          dmairq;
 
diff --git a/hw/char/grlib_apbuart.c b/hw/char/grlib_apbuart.c
index 81c26e3389..b2d5a40bb4 100644
--- a/hw/char/grlib_apbuart.c
+++ b/hw/char/grlib_apbuart.c
@@ -84,7 +84,7 @@ struct UART {
     MemoryRegion iomem;
     qemu_irq irq;
 
-    CharBackend chr;
+    CharFrontend chr;
 
     /* registers */
     uint32_t status;
diff --git a/hw/char/ipoctal232.c b/hw/char/ipoctal232.c
index 752c6c818a..d0108d0b9a 100644
--- a/hw/char/ipoctal232.c
+++ b/hw/char/ipoctal232.c
@@ -99,7 +99,7 @@ typedef struct SCC2698Block SCC2698Block;
 
 struct SCC2698Channel {
     IPOctalState *ipoctal;
-    CharBackend dev;
+    CharFrontend dev;
     bool rx_enabled;
     uint8_t mr[2];
     uint8_t mr_idx;
diff --git a/hw/char/mcf_uart.c b/hw/char/mcf_uart.c
index 87bfcbebdc..f14de59530 100644
--- a/hw/char/mcf_uart.c
+++ b/hw/char/mcf_uart.c
@@ -36,7 +36,7 @@ struct mcf_uart_state {
     int tx_enabled;
     int rx_enabled;
     qemu_irq irq;
-    CharBackend chr;
+    CharFrontend chr;
 };
 
 #define TYPE_MCF_UART "mcf-uart"
diff --git a/hw/char/sclpconsole-lm.c b/hw/char/sclpconsole-lm.c
index 3e40d5e434..c51308f9c5 100644
--- a/hw/char/sclpconsole-lm.c
+++ b/hw/char/sclpconsole-lm.c
@@ -41,7 +41,7 @@ typedef struct OprtnsCommand {
 
 struct SCLPConsoleLM {
     SCLPEvent event;
-    CharBackend chr;
+    CharFrontend chr;
     bool echo;                  /* immediate echo of input if true        */
     uint32_t write_errors;      /* errors writing to char layer           */
     uint32_t length;            /* length of byte stream in buffer        */
diff --git a/hw/char/sclpconsole.c b/hw/char/sclpconsole.c
index 95e3045178..2abf861dbc 100644
--- a/hw/char/sclpconsole.c
+++ b/hw/char/sclpconsole.c
@@ -35,7 +35,7 @@ typedef struct ASCIIConsoleData {
 
 struct SCLPConsole {
     SCLPEvent event;
-    CharBackend chr;
+    CharFrontend chr;
     uint8_t iov[SIZE_BUFFER_VT220];
     uint32_t iov_sclp;      /* offset in buf for SCLP read operation       */
     uint32_t iov_bs;        /* offset in buf for char layer read operation */
diff --git a/hw/char/sh_serial.c b/hw/char/sh_serial.c
index 30447fa018..83227a84a6 100644
--- a/hw/char/sh_serial.c
+++ b/hw/char/sh_serial.c
@@ -67,7 +67,7 @@ struct SHSerialState {
     int flags;
     int rtrg;
 
-    CharBackend chr;
+    CharFrontend chr;
     QEMUTimer fifo_timeout_timer;
     uint64_t etu; /* Elementary Time Unit (ns) */
 
diff --git a/hw/char/spapr_vty.c b/hw/char/spapr_vty.c
index fc8ea604f8..766b2bfcac 100644
--- a/hw/char/spapr_vty.c
+++ b/hw/char/spapr_vty.c
@@ -14,7 +14,7 @@
 
 struct SpaprVioVty {
     SpaprVioDevice sdev;
-    CharBackend chardev;
+    CharFrontend chardev;
     uint32_t in, out;
     uint8_t buf[VTERM_BUFSIZE];
 };
diff --git a/hw/char/terminal3270.c b/hw/char/terminal3270.c
index d950c17292..c993f67b42 100644
--- a/hw/char/terminal3270.c
+++ b/hw/char/terminal3270.c
@@ -30,7 +30,7 @@
 
 struct Terminal3270 {
     EmulatedCcw3270Device cdev;
-    CharBackend chr;
+    CharFrontend chr;
     uint8_t inv[INPUT_BUFFER_SIZE];
     uint8_t outv[OUTPUT_BUFFER_SIZE];
     int in_len;
diff --git a/hw/char/virtio-console.c b/hw/char/virtio-console.c
index 0932a3572b..1b669c9be8 100644
--- a/hw/char/virtio-console.c
+++ b/hw/char/virtio-console.c
@@ -30,7 +30,7 @@ DECLARE_INSTANCE_CHECKER(VirtConsole, VIRTIO_CONSOLE,
 struct VirtConsole {
     VirtIOSerialPort parent_obj;
 
-    CharBackend chr;
+    CharFrontend chr;
     guint watch;
 };
 
diff --git a/hw/char/xen_console.c b/hw/char/xen_console.c
index 9c34a554bf..462476553f 100644
--- a/hw/char/xen_console.c
+++ b/hw/char/xen_console.c
@@ -53,7 +53,7 @@ struct XenConsole {
     char              *fe_path;
     unsigned int      ring_ref;
     void              *sring;
-    CharBackend       chr;
+    CharFrontend       chr;
     int               backlog;
 };
 typedef struct XenConsole XenConsole;
diff --git a/hw/char/xilinx_uartlite.c b/hw/char/xilinx_uartlite.c
index 8008171eea..8feb58a898 100644
--- a/hw/char/xilinx_uartlite.c
+++ b/hw/char/xilinx_uartlite.c
@@ -60,7 +60,7 @@ struct XilinxUARTLite {
 
     EndianMode model_endianness;
     MemoryRegion mmio;
-    CharBackend chr;
+    CharFrontend chr;
     qemu_irq irq;
 
     uint8_t rx_fifo[8];
diff --git a/hw/core/qdev-properties-system.c b/hw/core/qdev-properties-system.c
index 1f810b7ddf..c15371f8cd 100644
--- a/hw/core/qdev-properties-system.c
+++ b/hw/core/qdev-properties-system.c
@@ -258,10 +258,10 @@ const PropertyInfo qdev_prop_drive_iothread = {
 static void get_chr(Object *obj, Visitor *v, const char *name, void *opaque,
                     Error **errp)
 {
-    CharBackend *be = object_field_prop_ptr(obj, opaque);
+    CharFrontend *fe = object_field_prop_ptr(obj, opaque);
     char *p;
 
-    p = g_strdup(be->chr && be->chr->label ? be->chr->label : "");
+    p = g_strdup(fe->chr && fe->chr->label ? fe->chr->label : "");
     visit_type_str(v, name, &p, errp);
     g_free(p);
 }
@@ -271,7 +271,7 @@ static void set_chr(Object *obj, Visitor *v, const char *name, void *opaque,
 {
     ERRP_GUARD();
     const Property *prop = opaque;
-    CharBackend *be = object_field_prop_ptr(obj, prop);
+    CharFrontend *fe = object_field_prop_ptr(obj, prop);
     Chardev *s;
     char *str;
 
@@ -283,13 +283,13 @@ static void set_chr(Object *obj, Visitor *v, const char *name, void *opaque,
      * TODO Should this really be an error?  If no, the old value
      * needs to be released before we store the new one.
      */
-    if (!check_prop_still_unset(obj, name, be->chr, str, false, errp)) {
+    if (!check_prop_still_unset(obj, name, fe->chr, str, false, errp)) {
         return;
     }
 
     if (!*str) {
         g_free(str);
-        be->chr = NULL;
+        fe->chr = NULL;
         return;
     }
 
@@ -297,7 +297,7 @@ static void set_chr(Object *obj, Visitor *v, const char *name, void *opaque,
     if (s == NULL) {
         error_setg(errp, "Property '%s.%s' can't find value '%s'",
                    object_get_typename(obj), name, str);
-    } else if (!qemu_chr_fe_init(be, s, errp)) {
+    } else if (!qemu_chr_fe_init(fe, s, errp)) {
         error_prepend(errp, "Property '%s.%s' can't take value '%s': ",
                       object_get_typename(obj), name, str);
     }
@@ -307,9 +307,9 @@ static void set_chr(Object *obj, Visitor *v, const char *name, void *opaque,
 static void release_chr(Object *obj, const char *name, void *opaque)
 {
     const Property *prop = opaque;
-    CharBackend *be = object_field_prop_ptr(obj, prop);
+    CharFrontend *fe = object_field_prop_ptr(obj, prop);
 
-    qemu_chr_fe_deinit(be, false);
+    qemu_chr_fe_deinit(fe, false);
 }
 
 const PropertyInfo qdev_prop_chr = {
diff --git a/hw/hppa/machine.c b/hw/hppa/machine.c
index cddca69b93..570bfb2736 100644
--- a/hw/hppa/machine.c
+++ b/hw/hppa/machine.c
@@ -149,7 +149,7 @@ static void io_cpu_write(void *opaque, hwaddr addr,
         ch = val;
         debugout = serial_hd(0);
         if (debugout) {
-            qemu_chr_fe_write_all(debugout->be, &ch, 1);
+            qemu_chr_fe_write_all(debugout->fe, &ch, 1);
         } else {
             fprintf(stderr, "%c", ch);
         }
diff --git a/hw/ipmi/ipmi_bmc_extern.c b/hw/ipmi/ipmi_bmc_extern.c
index 9f1ba7b2f8..2c6c515579 100644
--- a/hw/ipmi/ipmi_bmc_extern.c
+++ b/hw/ipmi/ipmi_bmc_extern.c
@@ -67,7 +67,7 @@ OBJECT_DECLARE_SIMPLE_TYPE(IPMIBmcExtern, IPMI_BMC_EXTERN)
 struct IPMIBmcExtern {
     IPMIBmc parent;
 
-    CharBackend chr;
+    CharFrontend chr;
 
     bool connected;
 
diff --git a/hw/mips/boston.c b/hw/mips/boston.c
index 149a263bd5..8ecac41d47 100644
--- a/hw/mips/boston.c
+++ b/hw/mips/boston.c
@@ -68,7 +68,7 @@ struct BostonState {
     SerialMM *uart;
     Clock *cpuclk;
 
-    CharBackend lcd_display;
+    CharFrontend lcd_display;
     char lcd_content[8];
     bool lcd_inited;
 
diff --git a/hw/mips/malta.c b/hw/mips/malta.c
index 02da629b5a..a3b7632ad9 100644
--- a/hw/mips/malta.c
+++ b/hw/mips/malta.c
@@ -89,7 +89,7 @@ typedef struct {
     uint32_t i2coe;
     uint32_t i2cout;
     uint32_t i2csel;
-    CharBackend display;
+    CharFrontend display;
     char display_text[9];
     SerialMM *uart;
     bool display_inited;
diff --git a/hw/misc/ivshmem-pci.c b/hw/misc/ivshmem-pci.c
index 2748db9286..636d0b83de 100644
--- a/hw/misc/ivshmem-pci.c
+++ b/hw/misc/ivshmem-pci.c
@@ -94,7 +94,7 @@ struct IVShmemState {
 
     /* exactly one of these two may be set */
     HostMemoryBackend *hostmem; /* with interrupts */
-    CharBackend server_chr; /* without interrupts */
+    CharFrontend server_chr; /* without interrupts */
 
     /* registers */
     uint32_t intrmask;
diff --git a/hw/ppc/spapr_rtas.c b/hw/ppc/spapr_rtas.c
index 143bc8c379..0bb4afe139 100644
--- a/hw/ppc/spapr_rtas.c
+++ b/hw/ppc/spapr_rtas.c
@@ -551,7 +551,7 @@ static uint64_t qtest_rtas_call(char *cmd, uint32_t nargs, uint64_t args,
     return H_PARAMETER;
 }
 
-static bool spapr_qtest_callback(CharBackend *chr, gchar **words)
+static bool spapr_qtest_callback(CharFrontend *chr, gchar **words)
 {
     if (strcmp(words[0], "rtas") == 0) {
         uint64_t res, args, ret;
diff --git a/hw/riscv/riscv_hart.c b/hw/riscv/riscv_hart.c
index 7f2676008c..4d51a93dd5 100644
--- a/hw/riscv/riscv_hart.c
+++ b/hw/riscv/riscv_hart.c
@@ -78,7 +78,7 @@ static void csr_call(char *cmd, uint64_t cpu_num, int csrno, uint64_t *val)
     g_assert(ret == RISCV_EXCP_NONE);
 }
 
-static bool csr_qtest_callback(CharBackend *chr, gchar **words)
+static bool csr_qtest_callback(CharFrontend *chr, gchar **words)
 {
     if (strcmp(words[0], "csr") == 0) {
 
diff --git a/hw/usb/ccid-card-passthru.c b/hw/usb/ccid-card-passthru.c
index 1eea21a733..c8aada0988 100644
--- a/hw/usb/ccid-card-passthru.c
+++ b/hw/usb/ccid-card-passthru.c
@@ -56,7 +56,7 @@ typedef struct PassthruState PassthruState;
 
 struct PassthruState {
     CCIDCardState base;
-    CharBackend cs;
+    CharFrontend cs;
     uint8_t  vscard_in_data[VSCARD_IN_SIZE];
     uint32_t vscard_in_pos;
     uint32_t vscard_in_hdr;
diff --git a/hw/usb/dev-serial.c b/hw/usb/dev-serial.c
index 1c116d8b0f..2eb52b2e01 100644
--- a/hw/usb/dev-serial.c
+++ b/hw/usb/dev-serial.c
@@ -105,7 +105,7 @@ struct USBSerialState {
     uint8_t xoff;
     QEMUSerialSetParams params;
     int latency;        /* ms */
-    CharBackend cs;
+    CharFrontend cs;
 };
 
 #define TYPE_USB_SERIAL "usb-serial-dev"
diff --git a/hw/usb/redirect.c b/hw/usb/redirect.c
index f516ff42a1..d603a4a6f9 100644
--- a/hw/usb/redirect.c
+++ b/hw/usb/redirect.c
@@ -113,7 +113,7 @@ struct PacketIdQueue {
 struct USBRedirDevice {
     USBDevice dev;
     /* Properties */
-    CharBackend cs;
+    CharFrontend cs;
     bool enable_streams;
     bool suppress_remote_wake;
     bool in_write;
diff --git a/hw/virtio/vhost-stub.c b/hw/virtio/vhost-stub.c
index 52d42adab2..7321dc9210 100644
--- a/hw/virtio/vhost-stub.c
+++ b/hw/virtio/vhost-stub.c
@@ -12,7 +12,7 @@ unsigned int vhost_get_free_memslots(void)
     return UINT_MAX;
 }
 
-bool vhost_user_init(VhostUserState *user, CharBackend *chr, Error **errp)
+bool vhost_user_init(VhostUserState *user, CharFrontend *chr, Error **errp)
 {
     return false;
 }
diff --git a/hw/virtio/vhost-user.c b/hw/virtio/vhost-user.c
index 36c9c2e04d..aac98f898a 100644
--- a/hw/virtio/vhost-user.c
+++ b/hw/virtio/vhost-user.c
@@ -275,7 +275,7 @@ struct scrub_regions {
 static int vhost_user_read_header(struct vhost_dev *dev, VhostUserMsg *msg)
 {
     struct vhost_user *u = dev->opaque;
-    CharBackend *chr = u->user->chr;
+    CharFrontend *chr = u->user->chr;
     uint8_t *p = (uint8_t *) msg;
     int r, size = VHOST_USER_HDR_SIZE;
 
@@ -303,7 +303,7 @@ static int vhost_user_read_header(struct vhost_dev *dev, VhostUserMsg *msg)
 static int vhost_user_read(struct vhost_dev *dev, VhostUserMsg *msg)
 {
     struct vhost_user *u = dev->opaque;
-    CharBackend *chr = u->user->chr;
+    CharFrontend *chr = u->user->chr;
     uint8_t *p = (uint8_t *) msg;
     int r, size;
 
@@ -383,7 +383,7 @@ static int vhost_user_write(struct vhost_dev *dev, VhostUserMsg *msg,
                             int *fds, int fd_num)
 {
     struct vhost_user *u = dev->opaque;
-    CharBackend *chr = u->user->chr;
+    CharFrontend *chr = u->user->chr;
     int ret, size = VHOST_USER_HDR_SIZE + msg->hdr.size;
 
     /*
@@ -1680,7 +1680,7 @@ int vhost_user_get_shared_object(struct vhost_dev *dev, unsigned char *uuid,
                                  int *dmabuf_fd)
 {
     struct vhost_user *u = dev->opaque;
-    CharBackend *chr = u->user->chr;
+    CharFrontend *chr = u->user->chr;
     int ret;
     VhostUserMsg msg = {
         .hdr.request = VHOST_USER_GET_SHARED_OBJECT,
@@ -1721,7 +1721,7 @@ vhost_user_backend_handle_shared_object_lookup(struct vhost_user *u,
                                                VhostUserPayload *payload)
 {
     QemuUUID uuid;
-    CharBackend *chr = u->user->chr;
+    CharFrontend *chr = u->user->chr;
     Error *local_err = NULL;
     int dmabuf_fd = -1;
     int fd_num = 0;
@@ -2004,7 +2004,7 @@ static int vhost_user_postcopy_advise(struct vhost_dev *dev, Error **errp)
 {
 #ifdef CONFIG_LINUX
     struct vhost_user *u = dev->opaque;
-    CharBackend *chr = u->user->chr;
+    CharFrontend *chr = u->user->chr;
     int ufd;
     int ret;
     VhostUserMsg msg = {
@@ -2670,7 +2670,7 @@ static int vhost_user_get_inflight_fd(struct vhost_dev *dev,
     int fd;
     int ret;
     struct vhost_user *u = dev->opaque;
-    CharBackend *chr = u->user->chr;
+    CharFrontend *chr = u->user->chr;
     VhostUserMsg msg = {
         .hdr.request = VHOST_USER_GET_INFLIGHT_FD,
         .hdr.flags = VHOST_USER_VERSION,
@@ -2761,7 +2761,7 @@ static void vhost_user_state_destroy(gpointer data)
     vhost_user_host_notifier_remove(n, NULL, true);
 }
 
-bool vhost_user_init(VhostUserState *user, CharBackend *chr, Error **errp)
+bool vhost_user_init(VhostUserState *user, CharFrontend *chr, Error **errp)
 {
     if (user->chr) {
         error_setg(errp, "Cannot initialize vhost-user state");
@@ -2787,7 +2787,7 @@ void vhost_user_cleanup(VhostUserState *user)
 typedef struct {
     vu_async_close_fn cb;
     DeviceState *dev;
-    CharBackend *cd;
+    CharFrontend *cd;
     struct vhost_dev *vhost;
 } VhostAsyncCallback;
 
@@ -2806,7 +2806,7 @@ static void vhost_user_async_close_bh(void *opaque)
  * purposes.
  */
 void vhost_user_async_close(DeviceState *d,
-                            CharBackend *chardev, struct vhost_dev *vhost,
+                            CharFrontend *chardev, struct vhost_dev *vhost,
                             vu_async_close_fn cb)
 {
     if (!runstate_check(RUN_STATE_SHUTDOWN)) {
diff --git a/net/colo-compare.c b/net/colo-compare.c
index 0e1844ee4c..95018b4704 100644
--- a/net/colo-compare.c
+++ b/net/colo-compare.c
@@ -88,7 +88,7 @@ static uint32_t max_queue_size;
 typedef struct SendCo {
     Coroutine *co;
     struct CompareState *s;
-    CharBackend *chr;
+    CharFrontend *chr;
     GQueue send_list;
     bool notify_remote_frame;
     bool done;
@@ -108,10 +108,10 @@ struct CompareState {
     char *sec_indev;
     char *outdev;
     char *notify_dev;
-    CharBackend chr_pri_in;
-    CharBackend chr_sec_in;
-    CharBackend chr_out;
-    CharBackend chr_notify_dev;
+    CharFrontend chr_pri_in;
+    CharFrontend chr_sec_in;
+    CharFrontend chr_out;
+    CharFrontend chr_notify_dev;
     SocketReadState pri_rs;
     SocketReadState sec_rs;
     SocketReadState notify_rs;
diff --git a/net/filter-mirror.c b/net/filter-mirror.c
index 27734c91a7..8e01e98f40 100644
--- a/net/filter-mirror.c
+++ b/net/filter-mirror.c
@@ -37,8 +37,8 @@ struct MirrorState {
     NetFilterState parent_obj;
     char *indev;
     char *outdev;
-    CharBackend chr_in;
-    CharBackend chr_out;
+    CharFrontend chr_in;
+    CharFrontend chr_out;
     SocketReadState rs;
     bool vnet_hdr;
 };
diff --git a/net/passt.c b/net/passt.c
index 32ecffb763..9ed811a514 100644
--- a/net/passt.c
+++ b/net/passt.c
@@ -71,7 +71,7 @@ typedef struct NetPasstState {
     /* vhost user */
     VhostUserState *vhost_user;
     VHostNetState *vhost_net;
-    CharBackend vhost_chr;
+    CharFrontend vhost_chr;
     guint vhost_watch;
     uint64_t acked_features;
     bool started;
diff --git a/net/slirp.c b/net/slirp.c
index c627a9dd24..120eef6122 100644
--- a/net/slirp.c
+++ b/net/slirp.c
@@ -80,7 +80,7 @@ struct slirp_config_str {
 };
 
 struct GuestFwd {
-    CharBackend hd;
+    CharFrontend hd;
     struct in_addr server;
     int port;
     Slirp *slirp;
diff --git a/net/vhost-user.c b/net/vhost-user.c
index 8b96157145..a4bb49bbcf 100644
--- a/net/vhost-user.c
+++ b/net/vhost-user.c
@@ -65,7 +65,7 @@ static const int user_feature_bits[] = {
 
 typedef struct NetVhostUserState {
     NetClientState nc;
-    CharBackend chr; /* only queue index 0 */
+    CharFrontend chr; /* only queue index 0 */
     VhostUserState *vhost_user;
     VHostNetState *vhost_net;
     guint watch;
diff --git a/semihosting/console.c b/semihosting/console.c
index c3683a1566..a4db8d8e76 100644
--- a/semihosting/console.c
+++ b/semihosting/console.c
@@ -30,7 +30,7 @@
 
 /* Access to this structure is protected by the BQL */
 typedef struct SemihostingConsole {
-    CharBackend         backend;
+    CharFrontend        frontend;
     Chardev             *chr;
     GSList              *sleeping_cpus;
     bool                got;
@@ -122,8 +122,8 @@ void qemu_semihosting_console_init(Chardev *chr)
     console.chr = chr;
     if  (chr) {
         fifo8_create(&console.fifo, FIFO_SIZE);
-        qemu_chr_fe_init(&console.backend, chr, &error_abort);
-        qemu_chr_fe_set_handlers(&console.backend,
+        qemu_chr_fe_init(&console.frontend, chr, &error_abort);
+        qemu_chr_fe_set_handlers(&console.frontend,
                                  console_can_read,
                                  console_read,
                                  NULL, NULL, &console,
diff --git a/system/qtest.c b/system/qtest.c
index fa42c9f921..e4d1cd75da 100644
--- a/system/qtest.c
+++ b/system/qtest.c
@@ -44,7 +44,7 @@ struct QTest {
     bool has_machine_link;
     char *chr_name;
     Chardev *chr;
-    CharBackend qtest_chr;
+    CharFrontend qtest_chr;
     char *log;
 };
 
@@ -293,20 +293,20 @@ static void G_GNUC_PRINTF(1, 2) qtest_log_send(const char *fmt, ...)
 static void qtest_server_char_be_send(void *opaque, const char *str)
 {
     size_t len = strlen(str);
-    CharBackend* chr = (CharBackend *)opaque;
+    CharFrontend* chr = (CharFrontend *)opaque;
     qemu_chr_fe_write_all(chr, (uint8_t *)str, len);
     if (qtest_log_fp && qtest_opened) {
         fprintf(qtest_log_fp, "%s", str);
     }
 }
 
-static void qtest_send(CharBackend *chr, const char *str)
+static void qtest_send(CharFrontend *chr, const char *str)
 {
     qtest_log_timestamp();
     qtest_server_send(qtest_server_send_opaque, str);
 }
 
-void qtest_sendf(CharBackend *chr, const char *fmt, ...)
+void qtest_sendf(CharFrontend *chr, const char *fmt, ...)
 {
     va_list ap;
     gchar *buffer;
@@ -324,16 +324,16 @@ static void qtest_irq_handler(void *opaque, int n, int level)
     qemu_set_irq(old_irq, level);
 
     if (irq_levels[n] != level) {
-        CharBackend *chr = &qtest->qtest_chr;
+        CharFrontend *chr = &qtest->qtest_chr;
         irq_levels[n] = level;
         qtest_sendf(chr, "IRQ %s %d\n",
                     level ? "raise" : "lower", n);
     }
 }
 
-static bool (*process_command_cb)(CharBackend *chr, gchar **words);
+static bool (*process_command_cb)(CharFrontend *chr, gchar **words);
 
-void qtest_set_command_cb(bool (*pc_cb)(CharBackend *chr, gchar **words))
+void qtest_set_command_cb(bool (*pc_cb)(CharFrontend *chr, gchar **words))
 {
     assert(!process_command_cb);  /* Switch to a list if we need more than one */
 
@@ -349,7 +349,7 @@ static void qtest_install_gpio_out_intercept(DeviceState *dev, const char *name,
     *disconnected = qdev_intercept_gpio_out(dev, icpt, name, n);
 }
 
-static void qtest_process_command(CharBackend *chr, gchar **words)
+static void qtest_process_command(CharFrontend *chr, gchar **words)
 {
     const gchar *command;
 
@@ -757,7 +757,7 @@ static void qtest_process_command(CharBackend *chr, gchar **words)
  * Process as much of @inbuf as we can in newline terminated chunks.
  * Remove the processed commands from @inbuf as we go.
  */
-static void qtest_process_inbuf(CharBackend *chr, GString *inbuf)
+static void qtest_process_inbuf(CharFrontend *chr, GString *inbuf)
 {
     char *end;
 
@@ -773,7 +773,7 @@ static void qtest_process_inbuf(CharBackend *chr, GString *inbuf)
 
 static void qtest_read(void *opaque, const uint8_t *buf, int size)
 {
-    CharBackend *chr = opaque;
+    CharFrontend *chr = opaque;
 
     g_string_append_len(inbuf, (const gchar *)buf, size);
     qtest_process_inbuf(chr, inbuf);
diff --git a/target/hppa/sys_helper.c b/target/hppa/sys_helper.c
index 6e65fadcc7..88109f0181 100644
--- a/target/hppa/sys_helper.c
+++ b/target/hppa/sys_helper.c
@@ -135,7 +135,7 @@ void HELPER(rfi_r)(CPUHPPAState *env)
  */
 void HELPER(diag_console_output)(CPUHPPAState *env)
 {
-    CharBackend *serial_backend;
+    CharFrontend *fe;
     Chardev *serial_port;
     unsigned char c;
 
@@ -145,14 +145,14 @@ void HELPER(diag_console_output)(CPUHPPAState *env)
         return;
     }
 
-    /* get serial_backend for the serial port */
-    serial_backend = serial_port->be;
-    if (!serial_backend ||
-        !qemu_chr_fe_backend_connected(serial_backend)) {
+    /* get the frontend for the serial port */
+    fe = serial_port->fe;
+    if (!fe ||
+        !qemu_chr_fe_backend_connected(fe)) {
         return;
     }
 
     c = (unsigned char)env->gr[26];
-    qemu_chr_fe_write(serial_backend, &c, sizeof(c));
+    qemu_chr_fe_write(fe, &c, sizeof(c));
 }
 #endif
diff --git a/target/xtensa/xtensa-semi.c b/target/xtensa/xtensa-semi.c
index 431c263dc5..552815ebfd 100644
--- a/target/xtensa/xtensa-semi.c
+++ b/target/xtensa/xtensa-semi.c
@@ -148,7 +148,7 @@ static uint32_t errno_h2g(int host_errno)
 }
 
 typedef struct XtensaSimConsole {
-    CharBackend be;
+    CharFrontend fe;
     struct {
         char buffer[16];
         size_t offset;
@@ -182,8 +182,8 @@ void xtensa_sim_open_console(Chardev *chr)
 {
     static XtensaSimConsole console;
 
-    qemu_chr_fe_init(&console.be, chr, &error_abort);
-    qemu_chr_fe_set_handlers(&console.be,
+    qemu_chr_fe_init(&console.fe, chr, &error_abort);
+    qemu_chr_fe_set_handlers(&console.fe,
                              sim_console_can_read,
                              sim_console_read,
                              NULL, NULL, &console,
@@ -227,7 +227,7 @@ void HELPER(simcall)(CPUXtensaState *env)
                     len -= io_sz;
                     if (fd < 3 && sim_console) {
                         if (is_write && (fd == 1 || fd == 2)) {
-                            io_done = qemu_chr_fe_write_all(&sim_console->be,
+                            io_done = qemu_chr_fe_write_all(&sim_console->fe,
                                                             buf, io_sz);
                             regs[3] = errno_h2g(errno);
                         } else if (!is_write && fd == 0) {
@@ -241,7 +241,7 @@ void HELPER(simcall)(CPUXtensaState *env)
                                         sim_console->input.buffer + io_done,
                                         sim_console->input.offset - io_done);
                                 sim_console->input.offset -= io_done;
-                                qemu_chr_fe_accept_input(&sim_console->be);
+                                qemu_chr_fe_accept_input(&sim_console->fe);
                             } else {
                                 io_done = -1;
                                 regs[3] = TARGET_EAGAIN;
diff --git a/tests/qtest/vhost-user-test.c b/tests/qtest/vhost-user-test.c
index 609ff24059..d2bb21d5b9 100644
--- a/tests/qtest/vhost-user-test.c
+++ b/tests/qtest/vhost-user-test.c
@@ -155,7 +155,7 @@ typedef struct TestServer {
     gchar *mig_path;
     gchar *chr_name;
     gchar *tmpfs;
-    CharBackend chr;
+    CharFrontend chr;
     int fds_num;
     int fds[VHOST_MEMORY_MAX_NREGIONS];
     VhostUserMemory memory;
@@ -180,10 +180,10 @@ struct vhost_user_ops {
 
     /* VHOST-USER commands. */
     uint64_t (*get_features)(TestServer *s);
-    void (*set_features)(TestServer *s, CharBackend *chr,
+    void (*set_features)(TestServer *s, CharFrontend *chr,
                          VhostUserMsg *msg);
     void (*get_protocol_features)(TestServer *s,
-                                  CharBackend *chr, VhostUserMsg *msg);
+                                  CharFrontend *chr, VhostUserMsg *msg);
 };
 
 static const char *init_hugepagefs(void);
@@ -331,7 +331,7 @@ static int chr_can_read(void *opaque)
 static void chr_read(void *opaque, const uint8_t *buf, int size)
 {
     TestServer *s = opaque;
-    CharBackend *chr = &s->chr;
+    CharFrontend *chr = &s->chr;
     VhostUserMsg msg;
     uint8_t *p = (uint8_t *) &msg;
     int fd = -1;
@@ -1051,7 +1051,7 @@ static uint64_t vu_net_get_features(TestServer *s)
     return features;
 }
 
-static void vu_net_set_features(TestServer *s, CharBackend *chr,
+static void vu_net_set_features(TestServer *s, CharFrontend *chr,
                                 VhostUserMsg *msg)
 {
     g_assert(msg->payload.u64 & (0x1ULL << VHOST_USER_F_PROTOCOL_FEATURES));
@@ -1061,7 +1061,7 @@ static void vu_net_set_features(TestServer *s, CharBackend *chr,
     }
 }
 
-static void vu_net_get_protocol_features(TestServer *s, CharBackend *chr,
+static void vu_net_get_protocol_features(TestServer *s, CharFrontend *chr,
         VhostUserMsg *msg)
 {
     /* send back features to qemu */
@@ -1148,7 +1148,7 @@ static uint64_t vu_gpio_get_features(TestServer *s)
  * that we support VHOST_USER_PROTOCOL_F_CONFIG as gpio would use it
  * talking to a read vhost-user daemon.
  */
-static void vu_gpio_get_protocol_features(TestServer *s, CharBackend *chr,
+static void vu_gpio_get_protocol_features(TestServer *s, CharFrontend *chr,
                                           VhostUserMsg *msg)
 {
     /* send back features to qemu */
@@ -1191,7 +1191,7 @@ static uint64_t vu_scmi_get_features(TestServer *s)
         0x1ULL << VHOST_USER_F_PROTOCOL_FEATURES;
 }
 
-static void vu_scmi_get_protocol_features(TestServer *s, CharBackend *chr,
+static void vu_scmi_get_protocol_features(TestServer *s, CharFrontend *chr,
                                           VhostUserMsg *msg)
 {
     msg->flags |= VHOST_USER_REPLY_MASK;
diff --git a/tests/unit/test-char.c b/tests/unit/test-char.c
index f30a39f61f..e321b88578 100644
--- a/tests/unit/test-char.c
+++ b/tests/unit/test-char.c
@@ -107,18 +107,18 @@ static void char_console_test(void)
 static void char_stdio_test_subprocess(void)
 {
     Chardev *chr;
-    CharBackend be;
+    CharFrontend c;
     int ret;
 
     chr = qemu_chr_new("label", "stdio", NULL);
     g_assert_nonnull(chr);
 
-    qemu_chr_fe_init(&be, chr, &error_abort);
-    qemu_chr_fe_set_open(&be, true);
-    ret = qemu_chr_fe_write(&be, (void *)"buf", 4);
+    qemu_chr_fe_init(&c, chr, &error_abort);
+    qemu_chr_fe_set_open(&c, true);
+    ret = qemu_chr_fe_write(&c, (void *)"buf", 4);
     g_assert_cmpint(ret, ==, 4);
 
-    qemu_chr_fe_deinit(&be, true);
+    qemu_chr_fe_deinit(&c, true);
 }
 
 static void char_stdio_test(void)
@@ -132,7 +132,7 @@ static void char_ringbuf_test(void)
 {
     QemuOpts *opts;
     Chardev *chr;
-    CharBackend be;
+    CharFrontend c;
     char *data;
     int ret;
 
@@ -153,8 +153,8 @@ static void char_ringbuf_test(void)
     g_assert_nonnull(chr);
     qemu_opts_del(opts);
 
-    qemu_chr_fe_init(&be, chr, &error_abort);
-    ret = qemu_chr_fe_write(&be, (void *)"buff", 4);
+    qemu_chr_fe_init(&c, chr, &error_abort);
+    ret = qemu_chr_fe_write(&c, (void *)"buff", 4);
     g_assert_cmpint(ret, ==, 4);
 
     data = qmp_ringbuf_read("ringbuf-label", 4, false, 0, &error_abort);
@@ -165,7 +165,7 @@ static void char_ringbuf_test(void)
     g_assert_cmpstr(data, ==, "");
     g_free(data);
 
-    qemu_chr_fe_deinit(&be, true);
+    qemu_chr_fe_deinit(&c, true);
 
     /* check alias */
     opts = qemu_opts_create(qemu_find_opts("chardev"), "memory-label",
@@ -184,7 +184,7 @@ static void char_mux_test(void)
     Chardev *chr, *base;
     char *data;
     FeHandler h1 = { 0, false, 0, false, }, h2 = { 0, false, 0, false, };
-    CharBackend chr_be1, chr_be2;
+    CharFrontend chr_fe1, chr_fe2;
     Error *error = NULL;
 
     /* Create mux and chardev to be immediately removed */
@@ -210,8 +210,8 @@ static void char_mux_test(void)
     g_assert_nonnull(chr);
     qemu_opts_del(opts);
 
-    qemu_chr_fe_init(&chr_be1, chr, &error_abort);
-    qemu_chr_fe_set_handlers(&chr_be1,
+    qemu_chr_fe_init(&chr_fe1, chr, &error_abort);
+    qemu_chr_fe_set_handlers(&chr_fe1,
                              fe_can_read,
                              fe_read,
                              fe_event,
@@ -219,15 +219,15 @@ static void char_mux_test(void)
                              &h1,
                              NULL, true);
 
-    qemu_chr_fe_init(&chr_be2, chr, &error_abort);
-    qemu_chr_fe_set_handlers(&chr_be2,
+    qemu_chr_fe_init(&chr_fe2, chr, &error_abort);
+    qemu_chr_fe_set_handlers(&chr_fe2,
                              fe_can_read,
                              fe_read,
                              fe_event,
                              NULL,
                              &h2,
                              NULL, true);
-    qemu_chr_fe_take_focus(&chr_be2);
+    qemu_chr_fe_take_focus(&chr_fe2);
 
     base = qemu_chr_find("mux-label-base");
     g_assert_cmpint(qemu_chr_be_can_write(base), !=, 0);
@@ -271,8 +271,8 @@ static void char_mux_test(void)
     g_assert_cmpint(h2.last_event, ==, CHR_EVENT_MUX_OUT);
 
     /* open/close state and corresponding events */
-    g_assert_true(qemu_chr_fe_backend_open(&chr_be1));
-    g_assert_true(qemu_chr_fe_backend_open(&chr_be2));
+    g_assert_true(qemu_chr_fe_backend_open(&chr_fe1));
+    g_assert_true(qemu_chr_fe_backend_open(&chr_fe2));
     g_assert_true(h1.is_open);
     g_assert_false(h1.openclose_mismatch);
     g_assert_true(h2.is_open);
@@ -280,22 +280,22 @@ static void char_mux_test(void)
 
     h1.openclose_count = h2.openclose_count = 0;
 
-    qemu_chr_fe_set_handlers(&chr_be1, NULL, NULL, NULL, NULL,
+    qemu_chr_fe_set_handlers(&chr_fe1, NULL, NULL, NULL, NULL,
                              NULL, NULL, false);
-    qemu_chr_fe_set_handlers(&chr_be2, NULL, NULL, NULL, NULL,
+    qemu_chr_fe_set_handlers(&chr_fe2, NULL, NULL, NULL, NULL,
                              NULL, NULL, false);
     g_assert_cmpint(h1.openclose_count, ==, 0);
     g_assert_cmpint(h2.openclose_count, ==, 0);
 
     h1.is_open = h2.is_open = false;
-    qemu_chr_fe_set_handlers(&chr_be1,
+    qemu_chr_fe_set_handlers(&chr_fe1,
                              NULL,
                              NULL,
                              fe_event,
                              NULL,
                              &h1,
                              NULL, false);
-    qemu_chr_fe_set_handlers(&chr_be2,
+    qemu_chr_fe_set_handlers(&chr_fe2,
                              NULL,
                              NULL,
                              fe_event,
@@ -314,14 +314,14 @@ static void char_mux_test(void)
     g_assert_cmpint(h2.openclose_count, ==, 3);
     g_assert_false(h2.openclose_mismatch);
 
-    qemu_chr_fe_set_handlers(&chr_be2,
+    qemu_chr_fe_set_handlers(&chr_fe2,
                              fe_can_read,
                              fe_read,
                              fe_event,
                              NULL,
                              &h2,
                              NULL, false);
-    qemu_chr_fe_set_handlers(&chr_be1,
+    qemu_chr_fe_set_handlers(&chr_fe1,
                              fe_can_read,
                              fe_read,
                              fe_event,
@@ -330,7 +330,7 @@ static void char_mux_test(void)
                              NULL, false);
 
     /* remove first handler */
-    qemu_chr_fe_set_handlers(&chr_be1, NULL, NULL, NULL, NULL,
+    qemu_chr_fe_set_handlers(&chr_fe1, NULL, NULL, NULL, NULL,
                              NULL, NULL, true);
     qemu_chr_be_write(base, (void *)"hello", 6);
     g_assert_cmpint(h1.read_count, ==, 0);
@@ -349,13 +349,13 @@ static void char_mux_test(void)
     g_assert_cmpint(strlen(data), !=, 0);
     g_free(data);
 
-    qemu_chr_fe_deinit(&chr_be1, false);
+    qemu_chr_fe_deinit(&chr_fe1, false);
 
     qmp_chardev_remove("mux-label", &error);
     g_assert_cmpstr(error_get_pretty(error), ==, "Chardev 'mux-label' is busy");
     error_free(error);
 
-    qemu_chr_fe_deinit(&chr_be2, false);
+    qemu_chr_fe_deinit(&chr_fe2, false);
     qmp_chardev_remove("mux-label", &error_abort);
 }
 
@@ -366,7 +366,7 @@ static void char_hub_test(void)
     char *data;
     FeHandler h = { 0, false, 0, false, };
     Error *error = NULL;
-    CharBackend chr_be;
+    CharFrontend chr_fe;
     int ret, i;
 
 #define RB_SIZE 128
@@ -497,8 +497,8 @@ static void char_hub_test(void)
     qemu_opts_del(opts);
 
     /* Attach hub to a frontend */
-    qemu_chr_fe_init(&chr_be, hub, &error_abort);
-    qemu_chr_fe_set_handlers(&chr_be,
+    qemu_chr_fe_init(&chr_fe, hub, &error_abort);
+    qemu_chr_fe_set_handlers(&chr_fe,
                              fe_can_read,
                              fe_read,
                              fe_event,
@@ -507,7 +507,7 @@ static void char_hub_test(void)
                              NULL, true);
 
     /* Fails second time */
-    qemu_chr_fe_init(&chr_be, hub, &error);
+    qemu_chr_fe_init(&chr_fe, hub, &error);
     g_assert_cmpstr(error_get_pretty(error), ==, "chardev 'hub0' is already in use");
     error_free(error);
     error = NULL;
@@ -531,7 +531,7 @@ static void char_hub_test(void)
     h.read_count = 0;
 
     /* Write to frontend, chr_be */
-    ret = qemu_chr_fe_write(&chr_be, (void *)"heyhey", 6);
+    ret = qemu_chr_fe_write(&chr_fe, (void *)"heyhey", 6);
     g_assert_cmpint(ret, ==, 6);
 
     data = qmp_ringbuf_read("chr1", RB_SIZE, false, 0, &error_abort);
@@ -557,7 +557,7 @@ static void char_hub_test(void)
     error = NULL;
 
     /* Finalize frontend */
-    qemu_chr_fe_deinit(&chr_be, false);
+    qemu_chr_fe_deinit(&chr_fe, false);
 
     /* Finalize hub0 */
     qmp_chardev_remove("hub0", &error_abort);
@@ -632,8 +632,8 @@ static void char_hub_test(void)
         qemu_opts_del(opts);
 
         /* Attach hub to a frontend */
-        qemu_chr_fe_init(&chr_be, hub, &error_abort);
-        qemu_chr_fe_set_handlers(&chr_be,
+        qemu_chr_fe_init(&chr_fe, hub, &error_abort);
+        qemu_chr_fe_set_handlers(&chr_fe,
                                  fe_can_read,
                                  fe_read,
                                  fe_event,
@@ -642,7 +642,7 @@ static void char_hub_test(void)
                                  NULL, true);
 
         /* Write to frontend, chr_be */
-        ret = qemu_chr_fe_write(&chr_be, (void *)"thisis", 6);
+        ret = qemu_chr_fe_write(&chr_fe, (void *)"thisis", 6);
         g_assert_cmpint(ret, ==, 6);
 
         data = qmp_ringbuf_read("chr1", RB_SIZE, false, 0, &error_abort);
@@ -663,7 +663,7 @@ static void char_hub_test(void)
         close(fd);
 
         /* Add watch. 0 indicates no watches if nothing to wait for */
-        ret = qemu_chr_fe_add_watch(&chr_be, G_IO_OUT | G_IO_HUP,
+        ret = qemu_chr_fe_add_watch(&chr_fe, G_IO_OUT | G_IO_HUP,
                                     NULL, NULL);
         g_assert_cmpint(ret, ==, 0);
 
@@ -672,14 +672,14 @@ static void char_hub_test(void)
          * power of two to fit nicely the whole pipe buffer.
          */
         len = 0;
-        while ((ret = qemu_chr_fe_write(&chr_be, (void *)"thisisit", 8))
+        while ((ret = qemu_chr_fe_write(&chr_fe, (void *)"thisisit", 8))
                != -1) {
             len += ret;
         }
         g_assert_cmpint(errno, ==, EAGAIN);
 
         /* Further all writes should cause EAGAIN */
-        ret = qemu_chr_fe_write(&chr_be, (void *)"b", 1);
+        ret = qemu_chr_fe_write(&chr_fe, (void *)"b", 1);
         g_assert_cmpint(ret, ==, -1);
         g_assert_cmpint(errno, ==, EAGAIN);
 
@@ -687,7 +687,7 @@ static void char_hub_test(void)
          * Add watch. Non 0 indicates we have a blocked chardev, which
          * can wakes us up when write is possible.
          */
-        ret = qemu_chr_fe_add_watch(&chr_be, G_IO_OUT | G_IO_HUP,
+        ret = qemu_chr_fe_add_watch(&chr_fe, G_IO_OUT | G_IO_HUP,
                                     NULL, NULL);
         g_assert_cmpint(ret, !=, 0);
         g_source_remove(ret);
@@ -712,10 +712,10 @@ static void char_hub_test(void)
          * was already consumed and drained by the ring buffers, but
          * pipe have not recieved that yet.
          */
-        ret = qemu_chr_fe_write(&chr_be, (void *)"thisisit", 8);
+        ret = qemu_chr_fe_write(&chr_fe, (void *)"thisisit", 8);
         g_assert_cmpint(ret, ==, 8);
 
-        ret = qemu_chr_fe_write(&chr_be, (void *)"streamisrestored", 16);
+        ret = qemu_chr_fe_write(&chr_fe, (void *)"streamisrestored", 16);
         g_assert_cmpint(ret, ==, 16);
 
         data = qmp_ringbuf_read("chr1", RB_SIZE, false, 0, &error_abort);
@@ -744,7 +744,7 @@ static void char_hub_test(void)
         g_free(pipe);
 
         /* Finalize frontend */
-        qemu_chr_fe_deinit(&chr_be, false);
+        qemu_chr_fe_deinit(&chr_fe, false);
 
         /* Finalize hub0 */
         qmp_chardev_remove("hub0", &error_abort);
@@ -803,10 +803,10 @@ static void websock_client_read(void *opaque, const uint8_t *buf, int size)
     Chardev *chr_client = opaque;
 
     if (websock_check_http_headers((char *) buf, size)) {
-        qemu_chr_fe_write(chr_client->be, ping, sizeof(ping));
+        qemu_chr_fe_write(chr_client->fe, ping, sizeof(ping));
     } else if (buf[0] == 0x8a && buf[1] == 0x05) {
         g_assert(strncmp((char *) buf + 2, "hello", 5) == 0);
-        qemu_chr_fe_write(chr_client->be, binary, sizeof(binary));
+        qemu_chr_fe_write(chr_client->fe, binary, sizeof(binary));
     } else {
         g_assert(buf[0] == 0x88 && buf[1] == 0x16);
         g_assert(strncmp((char *) buf + 4, "peer requested close", 10) == 0);
@@ -828,8 +828,8 @@ static void char_websock_test(void)
     const char *port;
     char *tmp;
     char *handshake_port;
-    CharBackend be;
-    CharBackend client_be;
+    CharFrontend fe;
+    CharFrontend client_fe;
     Chardev *chr_client;
     Chardev *chr = qemu_chr_new("server",
                                 "websocket:127.0.0.1:0,server=on,wait=off", NULL);
@@ -852,13 +852,13 @@ static void char_websock_test(void)
     handshake_port = g_strdup_printf(handshake, port, port);
     qobject_unref(qdict);
 
-    qemu_chr_fe_init(&be, chr, &error_abort);
-    qemu_chr_fe_set_handlers(&be, websock_server_can_read, websock_server_read,
+    qemu_chr_fe_init(&fe, chr, &error_abort);
+    qemu_chr_fe_set_handlers(&fe, websock_server_can_read, websock_server_read,
                              NULL, NULL, chr, NULL, true);
 
     chr_client = qemu_chr_new("client", tmp, NULL);
-    qemu_chr_fe_init(&client_be, chr_client, &error_abort);
-    qemu_chr_fe_set_handlers(&client_be, websock_client_can_read,
+    qemu_chr_fe_init(&client_fe, chr_client, &error_abort);
+    qemu_chr_fe_set_handlers(&client_fe, websock_client_can_read,
                              websock_client_read,
                              NULL, NULL, chr_client, NULL, true);
     g_free(tmp);
@@ -887,7 +887,7 @@ static void char_pipe_test(void)
     gchar *tmp_path = g_dir_make_tmp("qemu-test-char.XXXXXX", NULL);
     gchar *tmp, *in, *out, *pipe = g_build_filename(tmp_path, "pipe", NULL);
     Chardev *chr;
-    CharBackend be;
+    CharFrontend c;
     int ret, fd;
     char buf[10];
     FeHandler fe = { 0, };
@@ -906,9 +906,9 @@ static void char_pipe_test(void)
     g_assert_nonnull(chr);
     g_free(tmp);
 
-    qemu_chr_fe_init(&be, chr, &error_abort);
+    qemu_chr_fe_init(&c, chr, &error_abort);
 
-    ret = qemu_chr_fe_write(&be, (void *)"pipe-out", 9);
+    ret = qemu_chr_fe_write(&c, (void *)"pipe-out", 9);
     g_assert_cmpint(ret, ==, 9);
 
     fd = open(out, O_RDWR);
@@ -922,7 +922,7 @@ static void char_pipe_test(void)
     g_assert_cmpint(ret, ==, 8);
     close(fd);
 
-    qemu_chr_fe_set_handlers(&be,
+    qemu_chr_fe_set_handlers(&c,
                              fe_can_read,
                              fe_read,
                              fe_event,
@@ -935,7 +935,7 @@ static void char_pipe_test(void)
     g_assert_cmpint(fe.read_count, ==, 8);
     g_assert_cmpstr(fe.read_buf, ==, "pipe-in");
 
-    qemu_chr_fe_deinit(&be, true);
+    qemu_chr_fe_deinit(&c, true);
 
     g_assert(g_unlink(in) == 0);
     g_assert(g_unlink(out) == 0);
@@ -951,8 +951,8 @@ typedef struct SocketIdleData {
     GMainLoop *loop;
     Chardev *chr;
     bool conn_expected;
-    CharBackend *be;
-    CharBackend *client_be;
+    CharFrontend *fe;
+    CharFrontend *client_fe;
 } SocketIdleData;
 
 
@@ -993,7 +993,7 @@ static void char_udp_test_internal(Chardev *reuse_chr, int sock)
     struct sockaddr_in other;
     SocketIdleData d = { 0, };
     Chardev *chr;
-    CharBackend stack_be, *be = &stack_be;
+    CharFrontend stack_fe, *fe = &stack_fe;
     socklen_t alen = sizeof(other);
     int ret;
     char buf[10];
@@ -1001,7 +1001,7 @@ static void char_udp_test_internal(Chardev *reuse_chr, int sock)
 
     if (reuse_chr) {
         chr = reuse_chr;
-        be = chr->be;
+        fe = chr->fe;
     } else {
         int port;
         sock = make_udp_socket(&port);
@@ -1009,11 +1009,11 @@ static void char_udp_test_internal(Chardev *reuse_chr, int sock)
         chr = qemu_chr_new("client", tmp, NULL);
         g_assert_nonnull(chr);
 
-        qemu_chr_fe_init(be, chr, &error_abort);
+        qemu_chr_fe_init(fe, chr, &error_abort);
     }
 
     d.chr = chr;
-    qemu_chr_fe_set_handlers(be, socket_can_read_hello, socket_read_hello,
+    qemu_chr_fe_set_handlers(fe, socket_can_read_hello, socket_read_hello,
                              NULL, NULL, &d, NULL, true);
     ret = qemu_chr_write_all(chr, (uint8_t *)"hello", 5);
     g_assert_cmpint(ret, ==, 5);
@@ -1028,7 +1028,7 @@ static void char_udp_test_internal(Chardev *reuse_chr, int sock)
 
     if (!reuse_chr) {
         close(sock);
-        qemu_chr_fe_deinit(be, true);
+        qemu_chr_fe_deinit(fe, true);
     }
     g_free(tmp);
 }
@@ -1042,7 +1042,7 @@ static void char_udp_test(void)
 typedef struct {
     int event;
     bool got_pong;
-    CharBackend *be;
+    CharFrontend *fe;
 } CharSocketTestData;
 
 
@@ -1063,13 +1063,13 @@ char_socket_event_with_error(void *opaque, QEMUChrEvent event)
 {
     static bool first_error;
     CharSocketTestData *data = opaque;
-    CharBackend *be = data->be;
+    CharFrontend *fe = data->fe;
     data->event = event;
     switch (event) {
     case CHR_EVENT_OPENED:
         if (!first_error) {
             first_error = true;
-            qemu_chr_fe_disconnect(be);
+            qemu_chr_fe_disconnect(fe);
         }
         return;
     case CHR_EVENT_CLOSED:
@@ -1185,7 +1185,7 @@ static void char_socket_server_test(gconstpointer opaque)
 {
     const CharSocketServerTestConfig *config = opaque;
     Chardev *chr;
-    CharBackend be = {0};
+    CharFrontend c = {0};
     CharSocketTestData data = {0};
     QObject *qaddr;
     SocketAddress *addr;
@@ -1224,12 +1224,12 @@ static void char_socket_server_test(gconstpointer opaque)
     visit_free(v);
     qobject_unref(qaddr);
 
-    qemu_chr_fe_init(&be, chr, &error_abort);
+    qemu_chr_fe_init(&c, chr, &error_abort);
 
  reconnect:
     data.event = -1;
-    data.be = &be;
-    qemu_chr_fe_set_handlers(&be, NULL, NULL,
+    data.fe = &c;
+    qemu_chr_fe_set_handlers(&c, NULL, NULL,
                              char_socket_event, NULL,
                              &data, NULL, true);
     g_assert(data.event == -1);
@@ -1260,13 +1260,13 @@ static void char_socket_server_test(gconstpointer opaque)
     data.event = -1;
 
     /* Send a greeting to the client */
-    ret = qemu_chr_fe_write_all(&be, (const uint8_t *)SOCKET_PING,
+    ret = qemu_chr_fe_write_all(&c, (const uint8_t *)SOCKET_PING,
                                 sizeof(SOCKET_PING));
     g_assert_cmpint(ret, ==, sizeof(SOCKET_PING));
     g_assert(data.event == -1);
 
     /* Setup a callback to receive the reply to our greeting */
-    qemu_chr_fe_set_handlers(&be, char_socket_can_read,
+    qemu_chr_fe_set_handlers(&c, char_socket_can_read,
                              char_socket_read,
                              char_socket_event, NULL,
                              &data, NULL, true);
@@ -1375,7 +1375,7 @@ static void char_socket_client_test(gconstpointer opaque)
     QIOChannelSocket *ioc;
     char *optstr;
     Chardev *chr;
-    CharBackend be = {0};
+    CharFrontend c = {0};
     CharSocketTestData data = {0};
     SocketAddress *addr;
     QemuThread thread;
@@ -1431,12 +1431,12 @@ static void char_socket_client_test(gconstpointer opaque)
                                           &error_abort));
     }
 
-    qemu_chr_fe_init(&be, chr, &error_abort);
+    qemu_chr_fe_init(&c, chr, &error_abort);
 
  reconnect:
     data.event = -1;
-    data.be = &be;
-    qemu_chr_fe_set_handlers(&be, NULL, NULL,
+    data.fe = &c;
+    qemu_chr_fe_set_handlers(&c, NULL, NULL,
                              event_cb, NULL,
                              &data, NULL, true);
     if (config->reconnect) {
@@ -1467,13 +1467,13 @@ static void char_socket_client_test(gconstpointer opaque)
     g_assert(object_property_get_bool(OBJECT(chr), "connected", &error_abort));
 
     /* Send a greeting to the server */
-    ret = qemu_chr_fe_write_all(&be, (const uint8_t *)SOCKET_PING,
+    ret = qemu_chr_fe_write_all(&c, (const uint8_t *)SOCKET_PING,
                                 sizeof(SOCKET_PING));
     g_assert_cmpint(ret, ==, sizeof(SOCKET_PING));
     g_assert(data.event == -1);
 
     /* Setup a callback to receive the reply to our greeting */
-    qemu_chr_fe_set_handlers(&be, char_socket_can_read,
+    qemu_chr_fe_set_handlers(&c, char_socket_can_read,
                              char_socket_read,
                              event_cb, NULL,
                              &data, NULL, true);
@@ -1521,7 +1521,7 @@ static void char_socket_server_two_clients_test(gconstpointer opaque)
 {
     SocketAddress *incoming_addr = (gpointer) opaque;
     Chardev *chr;
-    CharBackend be = {0};
+    CharFrontend c = {0};
     QObject *qaddr;
     SocketAddress *addr;
     Visitor *v;
@@ -1558,9 +1558,9 @@ static void char_socket_server_two_clients_test(gconstpointer opaque)
     visit_free(v);
     qobject_unref(qaddr);
 
-    qemu_chr_fe_init(&be, chr, &error_abort);
+    qemu_chr_fe_init(&c, chr, &error_abort);
 
-    qemu_chr_fe_set_handlers(&be, char_socket_can_read, char_socket_discard_read,
+    qemu_chr_fe_set_handlers(&c, char_socket_can_read, char_socket_discard_read,
                              count_closed_event, NULL,
                              &closed, NULL, true);
 
@@ -1570,7 +1570,7 @@ static void char_socket_server_two_clients_test(gconstpointer opaque)
 
     /* switch the chardev to another context */
     GMainContext *ctx = g_main_context_new();
-    qemu_chr_fe_set_handlers(&be, char_socket_can_read, char_socket_discard_read,
+    qemu_chr_fe_set_handlers(&c, char_socket_can_read, char_socket_discard_read,
                              count_closed_event, NULL,
                              &closed, ctx, true);
 
@@ -1649,7 +1649,7 @@ static void char_parallel_test(void)
 static void char_file_fifo_test(void)
 {
     Chardev *chr;
-    CharBackend be;
+    CharFrontend c;
     char *tmp_path = g_dir_make_tmp("qemu-test-char.XXXXXX", NULL);
     char *fifo = g_build_filename(tmp_path, "fifo", NULL);
     char *out = g_build_filename(tmp_path, "out", NULL);
@@ -1671,8 +1671,8 @@ static void char_file_fifo_test(void)
     chr = qemu_chardev_new("label-file", TYPE_CHARDEV_FILE, &backend,
                            NULL, &error_abort);
 
-    qemu_chr_fe_init(&be, chr, &error_abort);
-    qemu_chr_fe_set_handlers(&be,
+    qemu_chr_fe_init(&c, chr, &error_abort);
+    qemu_chr_fe_set_handlers(&c,
                              fe_can_read,
                              fe_read,
                              fe_event,
@@ -1692,7 +1692,7 @@ static void char_file_fifo_test(void)
     g_assert_cmpint(fe.read_count, ==, 8);
     g_assert_cmpstr(fe.read_buf, ==, "fifo-in");
 
-    qemu_chr_fe_deinit(&be, true);
+    qemu_chr_fe_deinit(&c, true);
 
     g_unlink(fifo);
     g_free(fifo);
@@ -1752,7 +1752,7 @@ static void char_null_test(void)
 {
     Error *err = NULL;
     Chardev *chr;
-    CharBackend be;
+    CharFrontend c;
     int ret;
 
     chr = qemu_chr_find("label-null");
@@ -1768,27 +1768,27 @@ static void char_null_test(void)
                  QEMU_CHAR_FEATURE_RECONNECTABLE) == false);
 
     /* check max avail */
-    qemu_chr_fe_init(&be, chr, &error_abort);
-    qemu_chr_fe_init(&be, chr, &err);
+    qemu_chr_fe_init(&c, chr, &error_abort);
+    qemu_chr_fe_init(&c, chr, &err);
     error_free_or_abort(&err);
 
     /* deinit & reinit */
-    qemu_chr_fe_deinit(&be, false);
-    qemu_chr_fe_init(&be, chr, &error_abort);
+    qemu_chr_fe_deinit(&c, false);
+    qemu_chr_fe_init(&c, chr, &error_abort);
 
-    qemu_chr_fe_set_open(&be, true);
+    qemu_chr_fe_set_open(&c, true);
 
-    qemu_chr_fe_set_handlers(&be,
+    qemu_chr_fe_set_handlers(&c,
                              fe_can_read,
                              fe_read,
                              fe_event,
                              NULL,
                              NULL, NULL, true);
 
-    ret = qemu_chr_fe_write(&be, (void *)"buf", 4);
+    ret = qemu_chr_fe_write(&c, (void *)"buf", 4);
     g_assert_cmpint(ret, ==, 4);
 
-    qemu_chr_fe_deinit(&be, true);
+    qemu_chr_fe_deinit(&c, true);
 }
 
 static void char_invalid_test(void)
@@ -1814,7 +1814,7 @@ static void char_hotswap_test(void)
 {
     char *chr_args;
     Chardev *chr;
-    CharBackend be;
+    CharFrontend c;
 
     gchar *tmp_path = g_dir_make_tmp("qemu-test-char.XXXXXX", NULL);
     char *filename = g_build_filename(tmp_path, "file", NULL);
@@ -1830,32 +1830,32 @@ static void char_hotswap_test(void)
     chr_args = g_strdup_printf("udp:127.0.0.1:%d", port);
 
     chr = qemu_chr_new("chardev", chr_args, NULL);
-    qemu_chr_fe_init(&be, chr, &error_abort);
+    qemu_chr_fe_init(&c, chr, &error_abort);
 
     /* check that chardev operates correctly */
     char_udp_test_internal(chr, sock);
 
     /* set the handler that denies the hotswap */
-    qemu_chr_fe_set_handlers(&be, NULL, NULL,
+    qemu_chr_fe_set_handlers(&c, NULL, NULL,
                              NULL, chardev_change_denied, NULL, NULL, true);
 
     /* now, change is denied and has to keep the old backend operating */
     ret = qmp_chardev_change("chardev", &backend, NULL);
     g_assert(!ret);
-    g_assert(be.chr == chr);
+    g_assert(c.chr == chr);
 
     char_udp_test_internal(chr, sock);
 
     /* now allow the change */
-    qemu_chr_fe_set_handlers(&be, NULL, NULL,
+    qemu_chr_fe_set_handlers(&c, NULL, NULL,
                              NULL, chardev_change, NULL, NULL, true);
 
     /* has to succeed now */
     ret = qmp_chardev_change("chardev", &backend, &error_abort);
-    g_assert(be.chr != chr);
+    g_assert(c.chr != chr);
 
     close(sock);
-    chr = be.chr;
+    chr = c.chr;
 
     /* run the file chardev test */
     char_file_test_internal(chr, filename);
diff --git a/tests/unit/test-yank.c b/tests/unit/test-yank.c
index 4acfb2f3f6..9fc86a2128 100644
--- a/tests/unit/test-yank.c
+++ b/tests/unit/test-yank.c
@@ -65,7 +65,7 @@ static void char_change_test(gconstpointer opaque)
     CharChangeTestConfig *conf = (gpointer) opaque;
     SocketAddress *addr;
     Chardev *chr;
-    CharBackend be;
+    CharFrontend fe;
     ChardevReturn *ret;
     QIOChannelSocket *ioc;
     QemuThread thread;
@@ -144,9 +144,9 @@ static void char_change_test(gconstpointer opaque)
         qemu_thread_join(&thread);
     }
 
-    qemu_chr_fe_init(&be, chr, &error_abort);
+    qemu_chr_fe_init(&fe, chr, &error_abort);
     /* allow chardev-change */
-    qemu_chr_fe_set_handlers(&be, NULL, NULL,
+    qemu_chr_fe_set_handlers(&fe, NULL, NULL,
                              NULL, chardev_change, NULL, NULL, true);
 
     if (conf->fail) {
@@ -154,7 +154,7 @@ static void char_change_test(gconstpointer opaque)
         ret = qmp_chardev_change("chardev", &fail_backend[conf->new_yank],
                                  NULL);
         g_assert_null(ret);
-        g_assert(be.chr == chr);
+        g_assert(fe.chr == chr);
         g_assert(is_yank_instance_registered() == conf->old_yank);
         g_unsetenv("QTEST_SILENT_ERRORS");
     } else {
@@ -168,11 +168,11 @@ static void char_change_test(gconstpointer opaque)
             qemu_thread_join(&thread);
         }
         g_assert_nonnull(ret);
-        g_assert(be.chr != chr);
+        g_assert(fe.chr != chr);
         g_assert(is_yank_instance_registered() == conf->new_yank);
     }
 
-    object_unparent(OBJECT(be.chr));
+    object_unparent(OBJECT(fe.chr));
     object_unref(OBJECT(ioc));
     qapi_free_ChardevReturn(ret);
     qapi_free_SocketAddress(addr);
diff --git a/rust/bindings/src/lib.rs b/rust/bindings/src/lib.rs
index 5bf03b1370..4c9bb794f7 100644
--- a/rust/bindings/src/lib.rs
+++ b/rust/bindings/src/lib.rs
@@ -28,8 +28,8 @@
 // BQL is taken, either directly or via `BqlCell` and `BqlRefCell`.
 // When bindings for character devices are introduced, this can be
 // moved to the Opaque<> wrapper in src/chardev.rs.
-unsafe impl Send for CharBackend {}
-unsafe impl Sync for CharBackend {}
+unsafe impl Send for CharFrontend {}
+unsafe impl Sync for CharFrontend {}
 
 // SAFETY: this is a pure data struct
 unsafe impl Send for CoalescedMemoryRange {}
diff --git a/rust/chardev/src/bindings.rs b/rust/chardev/src/bindings.rs
index c95dc89c56..85a416f3d1 100644
--- a/rust/chardev/src/bindings.rs
+++ b/rust/chardev/src/bindings.rs
@@ -34,7 +34,7 @@
 // BQL is taken, either directly or via `BqlCell` and `BqlRefCell`.
 // When bindings for character devices are introduced, this can be
 // moved to the Opaque<> wrapper in src/chardev.rs.
-unsafe impl Send for CharBackend {}
-unsafe impl Sync for CharBackend {}
+unsafe impl Send for CharFrontend {}
+unsafe impl Sync for CharFrontend {}
 
-unsafe impl Zeroable for CharBackend {}
+unsafe impl Zeroable for CharFrontend {}
diff --git a/rust/chardev/src/chardev.rs b/rust/chardev/src/chardev.rs
index 2014479674..f0b7975dbf 100644
--- a/rust/chardev/src/chardev.rs
+++ b/rust/chardev/src/chardev.rs
@@ -6,7 +6,7 @@
 //!
 //! Character devices in QEMU can run under the big QEMU lock or in a separate
 //! `GMainContext`. Here we only support the former, because the bindings
-//! enforce that the BQL is taken whenever the functions in [`CharBackend`] are
+//! enforce that the BQL is taken whenever the functions in [`CharFrontend`] are
 //! called.
 
 use std::{
@@ -32,25 +32,25 @@
 pub type ChardevClass = bindings::ChardevClass;
 pub type Event = bindings::QEMUChrEvent;
 
-/// A safe wrapper around [`bindings::CharBackend`], denoting the character
+/// A safe wrapper around [`bindings::CharFrontend`], denoting the character
 /// back-end that is used for example by a device.  Compared to the
 /// underlying C struct it adds BQL protection, and is marked as pinned
 /// because the QOM object ([`bindings::Chardev`]) contains a pointer to
-/// the `CharBackend`.
-pub struct CharBackend {
-    inner: BqlRefCell<bindings::CharBackend>,
+/// the `CharFrontend`.
+pub struct CharFrontend {
+    inner: BqlRefCell<bindings::CharFrontend>,
     _pin: PhantomPinned,
 }
 
-pub struct CharBackendMut<'a>(BqlRefMut<'a, bindings::CharBackend>);
+pub struct CharFrontendMut<'a>(BqlRefMut<'a, bindings::CharFrontend>);
 
-impl Write for CharBackendMut<'_> {
+impl Write for CharFrontendMut<'_> {
     fn flush(&mut self) -> io::Result<()> {
         Ok(())
     }
 
     fn write(&mut self, buf: &[u8]) -> io::Result<usize> {
-        let chr: &mut bindings::CharBackend = &mut self.0;
+        let chr: &mut bindings::CharFrontend = &mut self.0;
 
         let len = buf.len().try_into().unwrap();
         let r = unsafe { bindings::qemu_chr_fe_write(addr_of_mut!(*chr), buf.as_ptr(), len) };
@@ -58,7 +58,7 @@ fn write(&mut self, buf: &[u8]) -> io::Result<usize> {
     }
 
     fn write_all(&mut self, buf: &[u8]) -> io::Result<()> {
-        let chr: &mut bindings::CharBackend = &mut self.0;
+        let chr: &mut bindings::CharFrontend = &mut self.0;
 
         let len = buf.len().try_into().unwrap();
         let r = unsafe { bindings::qemu_chr_fe_write_all(addr_of_mut!(*chr), buf.as_ptr(), len) };
@@ -72,7 +72,7 @@ fn write_all(&mut self, buf: &[u8]) -> io::Result<()> {
     }
 }
 
-impl Debug for CharBackend {
+impl Debug for CharFrontend {
     fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
         // SAFETY: accessed just to print the values
         let chr = self.inner.as_ptr();
@@ -81,13 +81,13 @@ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
 }
 
 // FIXME: use something like PinnedDrop from the pinned_init crate
-impl Drop for CharBackend {
+impl Drop for CharFrontend {
     fn drop(&mut self) {
         self.disable_handlers();
     }
 }
 
-impl CharBackend {
+impl CharFrontend {
     /// Enable the front-end's character device handlers, if there is an
     /// associated `Chardev`.
     pub fn enable_handlers<
@@ -198,7 +198,7 @@ pub fn accept_input(&self) {
     /// the big QEMU lock while the character device is borrowed, as
     /// that might cause C code to write to the character device.
     pub fn borrow_mut(&self) -> impl Write + '_ {
-        CharBackendMut(self.inner.borrow_mut())
+        CharFrontendMut(self.inner.borrow_mut())
     }
 
     /// Send a continuous stream of zero bits on the line if `enabled` is
diff --git a/rust/hw/char/pl011/src/device.rs b/rust/hw/char/pl011/src/device.rs
index 8889d6e54f..5e9b13fdf9 100644
--- a/rust/hw/char/pl011/src/device.rs
+++ b/rust/hw/char/pl011/src/device.rs
@@ -5,7 +5,7 @@
 use std::{ffi::CStr, mem::size_of};
 
 use bql::BqlRefCell;
-use chardev::{CharBackend, Chardev, Event};
+use chardev::{CharFrontend, Chardev, Event};
 use common::{static_assert, uninit_field_mut};
 use hwcore::{
     Clock, ClockEvent, DeviceImpl, DeviceMethods, DeviceState, IRQState, InterruptSource,
@@ -106,7 +106,7 @@ pub struct PL011State {
     pub iomem: MemoryRegion,
     #[doc(alias = "chr")]
     #[property(rename = "chardev")]
-    pub char_backend: CharBackend,
+    pub char_frontend: CharFrontend,
     pub regs: BqlRefCell<PL011Registers>,
     /// QEMU interrupts
     ///
@@ -240,7 +240,7 @@ pub(self) fn write(&mut self, offset: RegisterOffset, value: u32, device: &PL011
                 }
                 let update = (self.line_control.send_break() != new_val.send_break()) && {
                     let break_enable = new_val.send_break();
-                    let _ = device.char_backend.send_break(break_enable);
+                    let _ = device.char_frontend.send_break(break_enable);
                     self.loopback_break(break_enable)
                 };
                 self.line_control = new_val;
@@ -561,7 +561,7 @@ fn read(&self, offset: hwaddr, _size: u32) -> u64 {
                 trace::trace_pl011_read(offset, result, c"");
                 if update_irq {
                     self.update();
-                    self.char_backend.accept_input();
+                    self.char_frontend.accept_input();
                 }
                 result.into()
             }
@@ -579,7 +579,7 @@ fn write(&self, offset: hwaddr, value: u64, _size: u32) {
                 let ch: [u8; 1] = [value as u8];
                 // XXX this blocks entire thread. Rewrite to use
                 // qemu_chr_fe_write and background I/O callbacks
-                let _ = self.char_backend.write_all(&ch);
+                let _ = self.char_frontend.write_all(&ch);
             }
 
             update_irq = self.regs.borrow_mut().write(field, value as u32, self);
@@ -645,7 +645,7 @@ fn event(&self, event: Event) {
     }
 
     fn realize(&self) -> util::Result<()> {
-        self.char_backend
+        self.char_frontend
             .enable_handlers(self, Self::can_receive, Self::receive, Self::event);
         Ok(())
     }
diff --git a/rust/hw/core/src/qdev.rs b/rust/hw/core/src/qdev.rs
index c3097a284d..4e983da28b 100644
--- a/rust/hw/core/src/qdev.rs
+++ b/rust/hw/core/src/qdev.rs
@@ -156,7 +156,7 @@ unsafe impl $crate::qdev::QDevProp for $type {
 impl_qdev_prop!(usize, qdev_prop_usize);
 impl_qdev_prop!(i32, qdev_prop_int32);
 impl_qdev_prop!(i64, qdev_prop_int64);
-impl_qdev_prop!(chardev::CharBackend, qdev_prop_chr);
+impl_qdev_prop!(chardev::CharFrontend, qdev_prop_chr);
 
 /// Trait to define device properties.
 ///
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 22 08:10:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Oct 2025 08:10:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1147688.1479868 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBTux-0008Fw-9K; Wed, 22 Oct 2025 08:09:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1147688.1479868; Wed, 22 Oct 2025 08:09:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBTux-0008Fp-68; Wed, 22 Oct 2025 08:09:59 +0000
Received: by outflank-mailman (input) for mailman id 1147688;
 Wed, 22 Oct 2025 08:09:58 +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 <SRS0=vj3f=47=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1vBTuw-0008Fj-Hm
 for xen-devel@lists.xenproject.org; Wed, 22 Oct 2025 08:09:58 +0000
Received: from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com
 [2a00:1450:4864:20::32c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 78616883-af1e-11f0-9d15-b5c5bf9af7f9;
 Wed, 22 Oct 2025 10:09:45 +0200 (CEST)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-4711810948aso45686485e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 22 Oct 2025 01:09:45 -0700 (PDT)
Received: from [192.168.69.221] (88-187-86-199.subs.proxad.net.
 [88.187.86.199]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-427f00b985esm24733044f8f.34.2025.10.22.01.09.41
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 22 Oct 2025 01:09:43 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 78616883-af1e-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1761120585; x=1761725385; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=r5W3vw0dKWSTSqpjqiTpD1sBd7qgaB5sDy0DD3Bgxoo=;
        b=Bk0VdpgS6KO3zyJoADF2r+nyPTnH/bkhtiZSSvq6kYhcXl5VPRLm0gWF0Tm19Axtac
         i7h+rlj3nQaGjJWtvxwd8Yd9/SHLs+Z2U5l6q6jexrhko/MgHZ64aj12fNrhRtH748pa
         DgTiF9Hk5qhh/WcaaiBEfz8w8ZiF7Ed0HY1h4rXzDAqAkDvFgEDyODBOjOJOPu0dwGJ3
         zRoHOFz3xX+EfcPaP0I8IkrRBBeWGQTK7nm4zEmSLS8gQpqZ0Ez18lgDpA8NSQXLHUi7
         4UJp+MHFDQa/em9GDuFMmbVyIP+V9vu9a7SNH7dz2MAdK0ks4VLjB5R3RbDbqH2elR8I
         N8Rw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761120585; x=1761725385;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=r5W3vw0dKWSTSqpjqiTpD1sBd7qgaB5sDy0DD3Bgxoo=;
        b=pdifvdX4GzY0VPbJt9e/TAdJb2o15Hye6PbqsA6gqph+zwdzB6MbY5WN2Nu1H/fDPD
         U8jJW4xDFIsg+Ea9iuzCIEc62zb6RgPD8duI/xf2M1llNgg8xkdKJZzUp8I9HpZJ4mle
         eY5nNwI0YHZR9AQ+Z3hyynIP8ue31L0Rge75Hw0863s6nV5ufvgfZoPj4TA/KLjXD+ft
         bLp23X2xrVCG6rf6uII6juU/aveauh/bosP5hiR8B7jUZT1IMk4eNXIljrAu3Ib4mZDO
         BJ7O7APGkRPV2NttK8uEzqIf6Kf5pjQ2IZ/7CJRudSaNpkmXIMDtGS87or21y+v+Hc3X
         Gxrw==
X-Forwarded-Encrypted: i=1; AJvYcCV2kVJ9F5dz52g+9/3TWj3eVsttKlLLiTjgGw6WtgcUEKCYi05sNMAd63R479KH7TEZgnaXaSpHtsQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxvXZsKf091/Mn1HgPA5NDpyQL8Beb832EZ2sznWQXyrbI4CWdz
	CtvFN+pBGZ9uRzFcnZFN2yJavx+hU7YOP8oQ9sH3vNnXnoztMDfXllWyfu8h2Y4q8ME=
X-Gm-Gg: ASbGncvUOMVPKsVW0kIHtKQgYjT7DBL4Fwfs+mkKqZN/KuA+iXzLPnjSGiuYvSPrCun
	iwefnVbvNDnath2ihZ5ZcupEnQhrCkV94qzWm8/6SM8ynOr1+YI2nXywJT3t8NkgXkUuSWMfBVO
	lao88NX3Yirl/uZ5u0jvJaO7ni2ALKAIPHv0KwRwaPSzECn9TJ75jbl3D4AH0O5s4T8fJu2JGJY
	NmqhtAtGwKXgtoir1GiNwNRIPQoJXUszwylp/RSe4rXkLGXowLUoYXGbXTXmzzcWZr08RiYLp5G
	gL9aCVGwQsMYW1oV81vrFZZOxTojg9fnITpJuHIOBhbnhvoAKBjB9jdYhJ2bf3DHPsGsGPyvHp8
	cnkG4srSQ+SnRhw7PY5nw2wDVGWCmhBWxeI8W5v6YvM+V9GakvM8y1NcgFA+PD7CLcm7dNAXmXe
	+7KbGQ28YqFtIhblVp7SAs9xnJd7jr9RIvORKWIv/LgI+Ztr6v2DRD8BC8pSLTXPNY
X-Google-Smtp-Source: AGHT+IG5BpeXiJ6nHMocdx8fLCUYDlkFMY0PuWuFCGQMHFAZ8n3dQ7nToTymecUtEebWDB9IZS4Cfw==
X-Received: by 2002:a05:600c:3149:b0:470:bcc4:b0a0 with SMTP id 5b1f17b1804b1-47117925919mr168171395e9.34.1761120584565;
        Wed, 22 Oct 2025 01:09:44 -0700 (PDT)
Message-ID: <36b8e200-10ab-48b0-beda-9ca2c42f2b48@linaro.org>
Date: Wed, 22 Oct 2025 10:09:40 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] char: rename CharBackend->CharFrontend
Content-Language: en-US
To: marcandre.lureau@redhat.com, qemu-devel@nongnu.org
Cc: "Gonglei (Arei)" <arei.gonglei@huawei.com>,
 Zhenwei Pi <pizhenwei@bytedance.com>, "Michael S. Tsirkin" <mst@redhat.com>,
 Stefano Garzarella <sgarzare@redhat.com>, Laurent Vivier
 <lvivier@redhat.com>, Amit Shah <amit@kernel.org>,
 Stefan Berger <stefanb@linux.vnet.ibm.com>,
 Paolo Bonzini <pbonzini@redhat.com>, =?UTF-8?Q?Alex_Benn=C3=A9e?=
 <alex.bennee@linaro.org>, Peter Maydell <peter.maydell@linaro.org>,
 Igor Mitsyanko <i.mitsyanko@gmail.com>, =?UTF-8?Q?Cl=C3=A9ment_Chigot?=
 <chigot@adacore.com>, Frederic Konrad <konrad.frederic@yahoo.fr>,
 Alberto Garcia <berto@igalia.com>, Thomas Huth <huth@tuxfamily.org>,
 Halil Pasic <pasic@linux.ibm.com>,
 Christian Borntraeger <borntraeger@linux.ibm.com>,
 Jason Herne <jjherne@linux.ibm.com>,
 Yoshinori Sato <yoshinori.sato@nifty.com>,
 Magnus Damm <magnus.damm@gmail.com>, Nicholas Piggin <npiggin@gmail.com>,
 Harsh Prateek Bora <harshpb@linux.ibm.com>,
 "Collin L. Walling" <walling@linux.ibm.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony@xenproject.org>, Paul Durrant <paul@xen.org>,
 "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
 Alistair Francis <alistair@alistair23.me>,
 =?UTF-8?Q?Daniel_P=2E_Berrang=C3=A9?= <berrange@redhat.com>,
 Eduardo Habkost <eduardo@habkost.net>,
 Richard Henderson <richard.henderson@linaro.org>,
 Helge Deller <deller@gmx.de>, Corey Minyard <minyard@acm.org>,
 Paul Burton <paulburton@kernel.org>, Aleksandar Rikalo <arikalo@gmail.com>,
 Aurelien Jarno <aurelien@aurel32.net>, Palmer Dabbelt <palmer@dabbelt.com>,
 Weiwei Li <liwei1518@gmail.com>,
 Daniel Henrique Barboza <dbarboza@ventanamicro.com>,
 Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
 Samuel Thibault <samuel.thibault@ens-lyon.org>,
 Michael Rolnik <mrolnik@gmail.com>, Antony Pavlov <antonynpavlov@gmail.com>,
 Joel Stanley <joel@jms.id.au>, Vijai Kumar K <vijai@behindbytes.com>,
 Samuel Tardieu <sam@rfc1149.net>, Gustavo Romero
 <gustavo.romero@linaro.org>, Raphael Norwitz <raphael@enfabrica.net>,
 Stefan Hajnoczi <stefanha@redhat.com>,
 "reviewer:vhost-user-scmi" <mzamazal@redhat.com>,
 Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp>,
 Dmitry Osipenko <dmitry.osipenko@collabora.com>,
 Fabiano Rosas <farosas@suse.de>, Markus Armbruster <armbru@redhat.com>,
 "Dr. David Alan Gilbert" <dave@treblig.org>, Zhang Chen
 <zhangckid@gmail.com>, Li Zhijian <lizhijian@fujitsu.com>,
 Jason Wang <jasowang@redhat.com>,
 Manos Pitsidianakis <manos.pitsidianakis@linaro.org>,
 Max Filippov <jcmvbkbc@gmail.com>, Lukas Straub <lukasstraub2@web.de>,
 "open list:Sharp SL-5500 Co..." <qemu-arm@nongnu.org>,
 "open list:S390 SCLP-backed..." <qemu-s390x@nongnu.org>,
 "open list:sPAPR (pseries)" <qemu-ppc@nongnu.org>,
 "open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>,
 "open list:RISC-V TCG CPUs" <qemu-riscv@nongnu.org>,
 "open list:virtiofs" <virtio-fs@lists.linux.dev>,
 "open list:Rust-related patc..." <qemu-rust@nongnu.org>
References: <20251022074612.1258413-1-marcandre.lureau@redhat.com>
From: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>
In-Reply-To: <20251022074612.1258413-1-marcandre.lureau@redhat.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 22/10/25 09:46, marcandre.lureau@redhat.com wrote:
> From: Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
> 
> The actual backend is "Chardev", CharBackend is the frontend side of
> it (whatever talks to the backend), let's rename it for readability.
> 
> Signed-off-by: Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
> ---
>   chardev/chardev-internal.h           |  12 +-
>   include/chardev/char-fe.h            |  67 +++++----
>   include/chardev/char.h               |   4 +-
...

> diff --git a/chardev/chardev-internal.h b/chardev/chardev-internal.h
> index 9752dd75f7..8ea10414ab 100644
> --- a/chardev/chardev-internal.h
> +++ b/chardev/chardev-internal.h
> @@ -37,9 +37,9 @@
>   struct MuxChardev {
>       Chardev parent;
>       /* Linked frontends */
> -    CharBackend *backends[MAX_MUX];
> -    /* Linked backend */
> -    CharBackend chr;
> +    CharFrontend *frontends[MAX_MUX];
> +    /* frontend of the underlying muxed chardev */
> +    CharFrontend chr;
>       unsigned long mux_bitset;
>       int focus;
>       bool term_got_escape;
> diff --git a/include/chardev/char-fe.h b/include/chardev/char-fe.h
> index 8ef05b3dd0..7901856f95 100644
> --- a/include/chardev/char-fe.h
> +++ b/include/chardev/char-fe.h
> @@ -8,12 +8,12 @@ typedef void IOEventHandler(void *opaque, QEMUChrEvent event);
>   typedef int BackendChangeHandler(void *opaque);
>   
>   /**
> - * struct CharBackend - back end as seen by front end
> + * struct CharFrontend - Chardev as seen by front end
>    * @fe_is_open: the front end is ready for IO
>    *
>    * The actual backend is Chardev
>    */
> -struct CharBackend {
> +struct CharFrontend {
>       Chardev *chr;
>       IOEventHandler *chr_event;
>       IOCanReadHandler *chr_can_read;
> @@ -27,53 +27,52 @@ struct CharBackend {
>   /**
>    * qemu_chr_fe_init:
>    *
> - * Initializes a front end for the given CharBackend and
> - * Chardev. Call qemu_chr_fe_deinit() to remove the association and
> - * release the driver.
> + * Initializes the frontend @c for the given Chardev backend @s. Call
> + * qemu_chr_fe_deinit() to remove the association and release the backend.
>    *
>    * Returns: false on error.
>    */
> -bool qemu_chr_fe_init(CharBackend *b, Chardev *s, Error **errp);
> +bool qemu_chr_fe_init(CharFrontend *c, Chardev *s, Error **errp);

IMO even clearer for this API would be to use:

   bool qemu_chr_fe_init(CharFrontend *fe, Chardev *be, Error **errp);

and update documentation accordingly.

>   
>   /**
>    * qemu_chr_fe_deinit:
> - * @b: a CharBackend
> + * @c: a CharFrontend
>    * @del: if true, delete the chardev backend
>   *
> - * Dissociate the CharBackend from the Chardev.
> + * Dissociate the CharFrontend from the Chardev.
>    *
>    * Safe to call without associated Chardev.
>    */
> -void qemu_chr_fe_deinit(CharBackend *b, bool del);
> +void qemu_chr_fe_deinit(CharFrontend *c, bool del);
>   
>   /**
>    * qemu_chr_fe_get_driver:
>    *
> - * Returns: the driver associated with a CharBackend or NULL if no
> + * Returns: the driver associated with a CharFrontend or NULL if no
>    * associated Chardev.
>    * Note: avoid this function as the driver should never be accessed directly,
>    *       especially by the frontends that support chardevice hotswap.
>    *       Consider qemu_chr_fe_backend_connected() to check for driver existence
>    */
> -Chardev *qemu_chr_fe_get_driver(CharBackend *be);
> +Chardev *qemu_chr_fe_get_driver(CharFrontend *c);
>   
>   /**
>    * qemu_chr_fe_backend_connected:
>    *
> - * Returns: true if there is a chardevice associated with @be.
> + * Returns: true if there is a backend associated with @c.
>    */
> -bool qemu_chr_fe_backend_connected(CharBackend *be);
> +bool qemu_chr_fe_backend_connected(CharFrontend *c);

LGTM otherwise!


From xen-devel-bounces@lists.xenproject.org Wed Oct 22 09:00:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Oct 2025 09:00:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1147705.1479878 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBUhI-0006e7-PK; Wed, 22 Oct 2025 08:59:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1147705.1479878; Wed, 22 Oct 2025 08:59:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBUhI-0006e0-Lb; Wed, 22 Oct 2025 08:59:56 +0000
Received: by outflank-mailman (input) for mailman id 1147705;
 Wed, 22 Oct 2025 08:59:56 +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
 <SRS0=XfCa=47=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1vBUhH-0006du-UU
 for xen-devel@lists.xenproject.org; Wed, 22 Oct 2025 08:59:56 +0000
Received: from CH4PR04CU002.outbound.protection.outlook.com
 (mail-northcentralusazlp170130007.outbound.protection.outlook.com
 [2a01:111:f403:c105::7])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 768885b5-af25-11f0-980a-7dc792cee155;
 Wed, 22 Oct 2025 10:59:49 +0200 (CEST)
Received: from CH2PR03MB5223.namprd03.prod.outlook.com (2603:10b6:610:9c::21)
 by DS7PR03MB5446.namprd03.prod.outlook.com (2603:10b6:5:2c8::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.12; Wed, 22 Oct
 2025 08:59:45 +0000
Received: from CH2PR03MB5223.namprd03.prod.outlook.com
 ([fe80::64db:a9da:5b27:8665]) by CH2PR03MB5223.namprd03.prod.outlook.com
 ([fe80::64db:a9da:5b27:8665%4]) with mapi id 15.20.9253.011; Wed, 22 Oct 2025
 08:59:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 768885b5-af25-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=BgsO1s9UYQ58X2OjzRFobpkR7gOwyd3asxIgfSbd725Ynq/2KtnZcO9ozHXX0zNLK33zaFt91ieIWFk77v+E4yqdLelR7+85hh3tARUKKVc57JEzWRSBm4wTeU2lVqedulCGJE8Mh2cXVS9kgXEHgTlxjT3iThElmzOiRjoYIcvOs8MPAAtY/kO2lzGH560Huw00e6PIZa4/QEqLE7byv6oP17PbcLvB9UWUEwkwWv36E6SCIPEbyAH2s7qij1vp8RYTxdQmAR8WfVQgl3sIHLysa+HnKS1ac36lHH4FqUbhL696F1lzyC3lVGrgCcFg8PmC/aOw9cVC61KJ9Wgamw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cQ1xQgksZ9QFJl/KHo9ye+YP1I9gi0PFi1GsQ1K6tXY=;
 b=UYw9q3++rtjUgwIS3JZ98QLCLDVdxcvLLERfOHIY0tRSGOn1/84o+5oMdFNxbb36ztFgMipbRPrgK7G8+4gAb+hENppsBo3tf4AMhSdUIoCMC0Iig+vBGBf0KAUYCHgbG9QDXEQwt7bECK2INjW2aBbffu//k+XmkQ+4JQQjmSJwV+oPMPZ/c6xsGo9IPQxhrnzc5irPRzoYoq+DE60DhiuYXcdJfu6Oq6MaPCKczPhmQ5pmdYctzxy7WaqtwM1oLgPFl9hc8MIir2A8MDwRK5unfyFuVoStH0LhON/jy7PnZC1QpPnbCtvXFzhrfkm5yfAmv+ABu4/lkA+qvb7qSw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cQ1xQgksZ9QFJl/KHo9ye+YP1I9gi0PFi1GsQ1K6tXY=;
 b=zzd/W5j4/QsUCkq5zADkwmkhvFk6NnJIn6pIMpajhd6D00cJVBg6TBu52l+G6rlPSKtfQwopaYtTDaz5O4Q9V71LPeiMKc2w44oTHCrnQ2AoOkRYPrInYOCduU7Ld3X8zwvScfmBosWEsA5OHHVm3PCN1g9BiVsoOIpiD/vfO64=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	jbeulich@suse.com,
	stewart.hildebrand@amd.com
Subject: [PATCH for-4.{19,20}] xen/vpci: fix backport of 53859596c0d3
Date: Wed, 22 Oct 2025 09:59:09 +0100
Message-ID: <20251022085909.76402-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.51.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MA2P292CA0010.ESPP292.PROD.OUTLOOK.COM (2603:10a6:250:1::9)
 To CH2PR03MB5223.namprd03.prod.outlook.com (2603:10b6:610:9c::21)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH2PR03MB5223:EE_|DS7PR03MB5446:EE_
X-MS-Office365-Filtering-Correlation-Id: 35a87d81-fcd8-435b-b988-08de114958b6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?clBUZHh4blBPV2xtSVpvMjMxWmlibE03NWRIbmhXSmU3TjdENlluaENxU2du?=
 =?utf-8?B?ZnVLMU9KdEZveDFYcmJnMFlIN29GS1F0T1BJQ0hhL1Z0OVdXWWp6ZGg4dHI1?=
 =?utf-8?B?UU5pT3BaVDdjeDFrQll4ejJFVUlOOG5CeE1mUWVWMHNFaVp6elhRdjBxUlpR?=
 =?utf-8?B?enllT3o1VEdCbGFOVlpRVUhUV0Q0WThlczZEWG5XU0x2REp4YmlVV1VyNTFt?=
 =?utf-8?B?YTgxUDRVTVg5Sy9Yc00za0J5c1N2d25YdGQ1SG4xTEk0bklZeFdkUHNuLzNp?=
 =?utf-8?B?cWNpTEd6MXFYZmtKS2x4QmloT29YcGRCSjNSZXVmamdwU2p2K1NDNG9tNytG?=
 =?utf-8?B?YWlzTTNTVVVwSHlTL1owUjVwUjh6Szg5RmJMTnJ2cHVkeHhFeDZGb0svdHo0?=
 =?utf-8?B?dTZ2UnErZFNzL3k3eHRsZ0RuelQ5OEkxTFVBREFSeDhwdDhxT0hjNVdQUDBw?=
 =?utf-8?B?UDN4Ry9CMm5ob0hnWm1xejhBUEYyaGE2WEU1NktkNzRTSVE4Vld5U3B3b3U3?=
 =?utf-8?B?cG9lL3NFeWpwcittYTBYSkNLbGV4N2pCYkVXYkpzNkd4dUZqRUZjMkNYYUZw?=
 =?utf-8?B?eGt6OUx5REw0RFllZ1VNcDYzSHZIT2lwcE5VcE5hdTNhV01POHVEWldDcHp0?=
 =?utf-8?B?NGVKQ1dkdXBuRHZYUXRSUXlHOFVNdW14dGVDbjRHa01UNUxqeFVRMkFMUCs1?=
 =?utf-8?B?TktXbnlkNUxJeWFuSFhXd0F1ck8xWDdLVzhrdUJnVmVIL0p2bG1EdmRXMzNL?=
 =?utf-8?B?eStLS2k4QWxkeTRIVnlCUDVNUjJOcHpXNU96ZWN3Z0hiTHp3aUc0L3ZibHFI?=
 =?utf-8?B?ZG9kMU5DZGNkdnNidzUwTVpLZXZpbGNOM2RxMjlraWlCeWxIMGJEck5jRGlI?=
 =?utf-8?B?SUY5R0R4bHJuVFRqNXY3NXFjRS82OTJzRjFyNDVlanFYRzY0NWVtV2hneGVK?=
 =?utf-8?B?OHQwbnBrQW5IbGNkcW9nSjQ3a2tkNUViOENicEJ3Zm1qcTBpL1VqY2RVQlQx?=
 =?utf-8?B?S2orbVNZVVMrZVlBcTZlQnQxUlMyUHVidDVIRnZVMUNubVU4SjJFOG0wT1dP?=
 =?utf-8?B?aHYzOWlwa29Fclg3S0ZtVVROdVQwRkJvekpOOEhzUFJnN1c4cmZ3cm9DWjNw?=
 =?utf-8?B?QUljNTVhaDMwNllzU1dFTnJhbUpQL3F5bnArUFRzZk5mclhyVGFhd3MxbVhR?=
 =?utf-8?B?OVU4VFFtU1VnSFF6K3VGeVdLeFd0SkpFY0VBVWk4Q3N3RGtBNjg0dUk1YUdl?=
 =?utf-8?B?R1hYM215QmZOL2ZqTS92dkV0a3hOMm4vMnJPL1JoYmZYUERwd28yREpSWjZj?=
 =?utf-8?B?V3g3NG05VXd6T2UrQ1BoMjJ3UXhrZnNZUWVKc0FzVXBpRmZmZjRMbGZRUXNm?=
 =?utf-8?B?SVlOOUlRWkl3UHF6cmhEdVc3SGt6azFGSmtMNithalZzZCtYQmFYVlNPT2Ri?=
 =?utf-8?B?YzJlOGMrdmErQWZZVU5sWE1kUjlHVzlaK25ucDZQNWdmTHh0RFZhUzRRSDBW?=
 =?utf-8?B?ck5EM01HeW1ubjBjRGtQR2hhc2FKeTliMkNwUW5vb1RVN1o4YnBjMzM1RlZx?=
 =?utf-8?B?SXEyaDlkeDdscmV1bkJxNndFUEQ5Vk91MkdyRTNqaEdqRC81ejRCN2kvR2tn?=
 =?utf-8?B?dnhHS0ZMbExadnBKdTBCTzlKNFkxWm45Rks1ZkZhU2c2Mk1FUHE5Z2hIeG11?=
 =?utf-8?B?T29OWVdpVWhXenJtdFNITEdlY3c2QlJ5N1I2RXVQbjErek1OL3ZhWUt1Mkt2?=
 =?utf-8?B?dDBCa3pyOWZBNE9Wb1EzcThsT1R3Q2lpNU11MGRHZXdmMjUrakdOWEFwZG5r?=
 =?utf-8?B?TVBWRmdtYzljWHphdTZlMVFUcXdtN1lXcFE1a0I5WGlYV1VROE1BdGtiRzhL?=
 =?utf-8?B?SWtkRktwZWlWSzBPVngraDE4SUUzV3J6ZGltaThKM0NQUnRSRXBTVlUvMTcz?=
 =?utf-8?Q?++MGLVYphiiPvd0NGtpEwNMdLlNsb3hN?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH2PR03MB5223.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?c1NqTHE2VGtjelRNS3FPSDhmRzRVazlZM0RvZnlidVFra1lPQzRkK0lLbk9T?=
 =?utf-8?B?M2NVSC9BOFJ4bDZYSThncEhZU3J2azhNTnVkU1dXUlJwMFFrWVZSY0FJMEty?=
 =?utf-8?B?MGhFWFBBWTJ2YUVhWjViM09rSlZPRGlwWGUrTnBQamxCV09jdU9ncm55Q0JU?=
 =?utf-8?B?UnhndnBEVi9NcXhVUS96ZGhDcitmbnVXdDhiN2tsQ202bnJLajZ1dUJiNmR1?=
 =?utf-8?B?VU5yRWsrcWNJUENDaTJYcFZ4VkVJdVZOZXJqbDQ3aFpmMUR1SlhzZjJWVUdV?=
 =?utf-8?B?NFJWUHhBaXFINEhzKys2ckxUbzFoUjBNdjh3Z2RpQmJudVBIV1dXY0loc1F0?=
 =?utf-8?B?SlkxUXV1NlAxcW42Umh4MjJGMlk5eWFkOWkrWkR4N2VEcUpXVDltUlhXeEV3?=
 =?utf-8?B?UnJpTWQyajBHWE1ZV3kvN1FlQmUwUzFkMWVMUE84Q3UwVG1pWHB6RE4ydVFq?=
 =?utf-8?B?YlJjRHJMdFdYVDZWREY3SExNVjdwYlhDeUFiaTRycC8yQkxScXNUeW1HVEEy?=
 =?utf-8?B?TGFlVERWeGp6VTF0UnF4ZngxZG1FMm5kUVhleU53M1FDMlltN0IwMnpqNXpt?=
 =?utf-8?B?SVNXN0VaVWoxQ3hOZG9aS1M0V1BBNVBDd2hRSWxjWlRWWkRUZmtMdG5jd0t1?=
 =?utf-8?B?N052U0c1dnNwV2gzcXpqci9tOGkrUmptcHg4UVdCaytuNzFYZ3NTcVJuTGhj?=
 =?utf-8?B?enBCVWI4YW9kOGJ5UmZJV1JNb0NjMFZxS3dBMGRocXV5NTc0OXpVOXd0Y3lO?=
 =?utf-8?B?S0hqc1Bjdm5HM0Y3Tytqcys4UHN5NlcxVmlqK3NmT3o1di8vOFdmWGtJNGxC?=
 =?utf-8?B?dUgvMCtIWmtqTmc1OWY4Q25qcUVsZWVTQS9YYnB0Y3lvdXp0NTFXTXNBaVRF?=
 =?utf-8?B?YVhKUFZGdFlKQ1RyUHcxQ1FSaEVrTkV1VGhiQWxINUhKVHFFVUI2b3R6QTRq?=
 =?utf-8?B?MEFYQnpDWU45NHFjbDl2cXZ2VWsycThONHpxNWtnRXZVS0MzSHZqcTRKaDdQ?=
 =?utf-8?B?RVVHT1kxZytOTzMwa2t2V1J0YnpsSHhFWnBQL05WbnZwTWo4VEhacVJtM1ov?=
 =?utf-8?B?OE1RN2VYZlRPOEt2eTVrTjYybE5XTXU5cGsvanZVNkY2MjZNOGxlNENkQmJs?=
 =?utf-8?B?VFhJYnRhakg3NHQ0Qis2KzJ2b0J6dE5FRzI5czJXVUlDNGVMNVYwU0FSSHBx?=
 =?utf-8?B?R01XK1RUbFVxa2VwMXRKdXI0ZEh1SFhHVDN0cGhUQlJyN0lmN0lidmswL2xX?=
 =?utf-8?B?RHFsYjJkY3I1SGwrak52RGI4S24yV24xRVpkd1VaRmNGKzVPSEltY0Y3bGZk?=
 =?utf-8?B?czBUdWdqc1FKdlpwODh3RlZtNUczSlFRVjcwQnZrVmxsMW5nMWJQaStXbHgw?=
 =?utf-8?B?TFdrTGZjYzlXdjArcm9XWW1uM0ZzbHl4TXJTN0pxVWZFb0tCRExiU0tlRHVx?=
 =?utf-8?B?WVVCRXRXc3RkZEZVRmpPNlgyak1TMGNMMFBJRlVNdXc1THpvMDFqd1NtWnFq?=
 =?utf-8?B?T1FGTEMwSFdoRmZyS040MU9JNmRhQ1hiVS96YnhVRGFwUHliUW4vcnl3NkZM?=
 =?utf-8?B?aGNHa1FSM1U5ejBxVW9VWkI5cWxrZWFHSTdsUTFOTmFEMkN6OVRLbmE1eEZ1?=
 =?utf-8?B?UDh5Q0JmeEJWQ1Fpd2Q4VC9LNmFnOElwQ0lGd0NHT1R3YVEzeHhqWERMd1ZL?=
 =?utf-8?B?cXN2bkdGaVYyaWZkdXdBVVo1Q1BMOGlUR2lXN2NCR04wMUJHSUwrK3dvZzMv?=
 =?utf-8?B?akQ0TzRHZ2c4aktxdlFZS0xqa3JReEZmbW5UTElpUnZYNk9vYWZOZ1hQL2hr?=
 =?utf-8?B?N3VWTlJ4ayt3c0NsTDFsSlU5WUdjYXJZN3dsZ21ndXdMYTZuL0RQbXc1ZWhN?=
 =?utf-8?B?b2NOMmllQ1dqbGtIL2xqUDAwUExBajE4WXRjTkxjSW1NK1BVTjJici9aY2Zj?=
 =?utf-8?B?NktWZXUvdXBHWFErZlB4Qm8wQWs3RFhkRW5UcExUSXNqTXFaV3N3VGdDVVU2?=
 =?utf-8?B?MVFZRkc4S3NIVU1DZGw4OTN3d29FMDJCSWd3MlhNRU9qSnBEQyt5aWZOd3NF?=
 =?utf-8?B?aS8waTBvYWJhdzh0NC95Q2pGd3dIc2Rna1loejg3Z2IwL3lqd2txRmozdndJ?=
 =?utf-8?Q?ykL/9FrT/y0cjKsCY1UTCGeCZ?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 35a87d81-fcd8-435b-b988-08de114958b6
X-MS-Exchange-CrossTenant-AuthSource: CH2PR03MB5223.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Oct 2025 08:59:45.4205
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: jcL2Jbyt9CS/cteWsSdq+ztzpz89OYfonYEA9Tsee2INzOh/dDUfMCq+R/Hr46sZh9H1b9YDP9St2bHzUQsc7w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR03MB5446

Commit 53859596c0d3 depends on the behavioral change introduced in
ee2eb6849d50 that inverted the initialization of the MSI-X and header vPCI
handlers.  53859596c0d3 requires the header to be initialized before MSI-X.

Change the order of initialization and adjust init_msix() to carve holes
for the MSI-X tables if necessary, since it will now run after the BARs
have been possibly mapped into the domain p2m.

Fixes: f9aea52a9747 ("vpci/msix: improve handling of bogus MSI-X capabilities")
Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
---
Cc: jbeulich@suse.com
Cc: stewart.hildebrand@amd.com
---
 xen/drivers/vpci/header.c | 2 +-
 xen/drivers/vpci/msix.c   | 9 +++++++--
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
index 1f48f2aac64e..b002eb207243 100644
--- a/xen/drivers/vpci/header.c
+++ b/xen/drivers/vpci/header.c
@@ -1016,7 +1016,7 @@ static int cf_check init_header(struct pci_dev *pdev)
     pci_conf_write16(pdev->sbdf, PCI_COMMAND, cmd);
     return rc;
 }
-REGISTER_VPCI_INIT(init_header, VPCI_PRIORITY_MIDDLE);
+REGISTER_VPCI_INIT(init_header, VPCI_PRIORITY_HIGH);
 
 /*
  * Local variables:
diff --git a/xen/drivers/vpci/msix.c b/xen/drivers/vpci/msix.c
index faa7c1cd494a..94fb645377e5 100644
--- a/xen/drivers/vpci/msix.c
+++ b/xen/drivers/vpci/msix.c
@@ -792,9 +792,14 @@ static int cf_check init_msix(struct pci_dev *pdev)
     pdev->vpci->msix = msix;
     list_add(&msix->next, &d->arch.hvm.msix_tables);
 
-    return 0;
+    /*
+     * vPCI header initialization will have mapped the whole BAR into the
+     * p2m, as MSI-X capability was not yet initialized.  Crave a hole for
+     * the MSI-X table here, so that Xen can trap accesses.
+     */
+    return vpci_make_msix_hole(pdev);
 }
-REGISTER_VPCI_INIT(init_msix, VPCI_PRIORITY_HIGH);
+REGISTER_VPCI_INIT(init_msix, VPCI_PRIORITY_MIDDLE);
 
 /*
  * Local variables:
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 22 09:21:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Oct 2025 09:21:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1147716.1479888 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBV22-00028z-D1; Wed, 22 Oct 2025 09:21:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1147716.1479888; Wed, 22 Oct 2025 09:21:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBV22-00028q-9M; Wed, 22 Oct 2025 09:21:22 +0000
Received: by outflank-mailman (input) for mailman id 1147716;
 Wed, 22 Oct 2025 09:21:20 +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 <SRS0=pHug=47=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vBV20-00028k-HB
 for xen-devel@lists.xenproject.org; Wed, 22 Oct 2025 09:21:20 +0000
Received: from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com
 [2a00:1450:4864:20::32c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 768b1cd3-af28-11f0-9d15-b5c5bf9af7f9;
 Wed, 22 Oct 2025 11:21:17 +0200 (CEST)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-46e6ba26c50so42108785e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 22 Oct 2025 02:21:17 -0700 (PDT)
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-427ea5b3c34sm24057968f8f.17.2025.10.22.02.21.16
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 22 Oct 2025 02:21:16 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 768b1cd3-af28-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761124877; x=1761729677; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=QY6aoDLRkUV73YUObjsXqpWa8DSMsOni1KkIN5MaqQc=;
        b=MgqvHmGf8h63f6i+mJQ8rMI55B27FUgO+epPHzGxvhAM1qGuljksJe4ZFDp1Uc2q3j
         q6yAN8YqFk7/83LJZwnB1a2xTuupTlg9riDmmiNdBOSfmM+PmV9Sda9dSXwwAK/yfNmI
         u7MtUONreVBslDKb8+9RxIdYJLREgH5mnDZQx2eQ98rfYvYp93dz/ZFG33nbORd+zNJn
         mhjjdJE/cCaa92yJ4O52XAKyYGRsCDwjqinTNRxEmQ+jaPWrGLCa8wCQDDwYgaDB2nH1
         B599rN14iauRsZ59KLv51n/vbVmn+vwtDdT4+Qv82ACmb4QNU1+R6dY00vaV5LqVgYjr
         UGPg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761124877; x=1761729677;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=QY6aoDLRkUV73YUObjsXqpWa8DSMsOni1KkIN5MaqQc=;
        b=oDGaXC36E9jRuFh+9a/JXnW2d+82JojZxs8QT3MQuUdgvYI+CgWU4Fchb1oSeWlsDc
         x2uv3NWSGisUhGd6FIZsf+c6xu6NJ6hJitPDsoP+qklK0PSPKaSoAR/ydg0PMhW0abvn
         HHW2KPyE4+yFoM8owO04uYEc7bzhq1a/xrrBhu+xaOH3O/O5/UH/wmS+JusAkqyDYOGc
         19Q1vgLcuXqCpYk4ChZPkQ5PsWg1jLa2iT169rBpeUyUPC34vARlOmDQRP4NhOG6Xpu+
         8bzSzQh3tUivaXEFSCHn0yrl4N4NV5Uo2/ASN/wplvEckl8vkb4PLWFysXubnQLDBKNb
         8mqA==
X-Gm-Message-State: AOJu0Yw6dnh1RFLx2Eab307pVxgpxInVEzYSyBB2XuoKixtE5MEj2xRT
	WczA/EjDSd8Kh6RbGa50XCheuTb3O2yVxLfm3ZeJhwokmhjFacWbj2ZDyEz9DzVRsw==
X-Gm-Gg: ASbGncvAmmRHMVNKWPctpozksXqQDd8eGNQKLOP+Wcd5AX9XKNp6ABMClDpevMZbB9N
	iMrYFN8YWBg9G/KYidxnefjlouPViqflEHXSouTAmZ0Th1rSgT/jRPaYO/ipSKWNBW6uHaYky37
	+lq16AZwI8ueTy9uJ4q+ujIXJbaFSsfjDWPZ0EQfraYSze5VO42zoKV1HHkFo/Unf5fIMlk2p7A
	gryD5Hj8bnR0kqjSjTUSfT5B4bXp0K7OZSGQ+F+Ul+nQxv8Rc/PZV7KCT/QRN8Gq+/vOVFSoB0N
	vI6ozWSegACEYyk4Klt53kZxuPZ0bB0aa07FN8fQgdlTPPk0VFDytOn5r/WWlPpSpidWv6EdKLD
	VK3HGPKDhWSF6IcOJMggDX00lpt/VXbqGw5neoIDukbVmc/7jlAdQOsVIIjLu1KWvkDLZRsVVaG
	ji9gfY1l375UnVHjJtBZYsp7eaBVaz08z0D3kDML3e6rfWSpc0OqH+A2u9X+nX0Sniaqy1BbU=
X-Google-Smtp-Source: AGHT+IHz9ekCSpEi8VFfTFG0FP4qUO0KnD+ArYxSMJDqS/q+hmEr9WwiAWwTd6ZyqLT0eIUSeCoLeQ==
X-Received: by 2002:a05:600c:818f:b0:46f:b42e:e361 with SMTP id 5b1f17b1804b1-47117931c89mr138169825e9.41.1761124876695;
        Wed, 22 Oct 2025 02:21:16 -0700 (PDT)
Message-ID: <16d62ac6-6666-4bad-be59-324cec634a20@suse.com>
Date: Wed, 22 Oct 2025 11:21:15 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 for-4.21 2/9] x86/HPET: use single, global,
 low-priority vector for broadcast IRQ
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <b66ea488-2d47-472c-9520-8590fdf89e0e@suse.com>
 <c8c124c4-71c5-41e7-8d84-fd45ffd6af14@suse.com> <aPZh3Y8W4QcV_oLs@Mac.lan>
 <7128bbb5-d099-4584-8cd0-bfeec49b3e55@suse.com> <aPePepQk3t6gxMR1@Mac.lan>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <aPePepQk3t6gxMR1@Mac.lan>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 21.10.2025 15:49, Roger Pau MonnÃ© wrote:
> On Tue, Oct 21, 2025 at 08:42:13AM +0200, Jan Beulich wrote:
>> On 20.10.2025 18:22, Roger Pau MonnÃ© wrote:
>>> On Mon, Oct 20, 2025 at 01:18:34PM +0200, Jan Beulich wrote:
>>>> Using dynamically allocated / maintained vectors has several downsides:
>>>> - possible nesting of IRQs due to the effects of IRQ migration,
>>>> - reduction of vectors available for devices,
>>>> - IRQs not moving as intended if there's shortage of vectors,
>>>> - higher runtime overhead.
>>>>
>>>> As the vector also doesn't need to be of any priority (first and foremost
>>>> it really shouldn't be of higher or same priority as the timer IRQ, as
>>>> that raises TIMER_SOFTIRQ anyway), avoid any "ordinary" vectors altogther
>>>> and use a vector from the 0x10...0x1f exception vector space. Exception vs
>>>> interrupt can easily be distinguished by checking for the presence of an
>>>> error code.
>>>>
>>>> With a fixed vector, less updating is now necessary in
>>>> set_channel_irq_affinity(); in particular channels don't need transiently
>>>> masking anymore, as the necessary update is now atomic. To fully leverage
>>>> this, however, we want to stop using hpet_msi_set_affinity() there. With
>>>> the transient masking dropped, we're no longer at risk of missing events.
>>>>
>>>> In principle a change to setup_vector_irq() would be necessary, but only
>>>> if we used low-prio vectors as direct-APIC ones. Since the change would be
>>>> at best benign here, it is being omitted.
>>>>
>>>> Fixes: 996576b965cc ("xen: allow up to 16383 cpus")
>>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>>> Release-Acked-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>
>>>> ---
>>>> This is an alternative proposal to
>>>> https://lists.xen.org/archives/html/xen-devel/2014-03/msg00399.html.
>>>>
>>>> Should we keep hpet_msi_set_affinity() at all? We'd better not have the
>>>> generic IRQ subsystem play with our IRQs' affinities ... (If so, this
>>>> likely would want to be a separate patch, though.)
>>>
>>> I think that needs to become a no-op, with possibly an ASSERT?  Is it
>>> possibly for dom0 to try to balance this IRQ?  I would think not.
>>
>> I'd consider it an error if that was possible. But then the same goes for
>> other Xen-internal IRQs, like the IOMMU ones. They all implement a
>> .set_affinity hook ...
> 
> We need such hook for fixup_irqs() at least, so that interrupts can be
> evacuated when an AP goes offline.

Hmm, yes. Just not here.

>>>> @@ -476,19 +486,50 @@ static struct hpet_event_channel *hpet_g
>>>>  static void set_channel_irq_affinity(struct hpet_event_channel *ch)
>>>>  {
>>>>      struct irq_desc *desc = irq_to_desc(ch->msi.irq);
>>>> +    struct msi_msg msg = ch->msi.msg;
>>>>  
>>>>      ASSERT(!local_irq_is_enabled());
>>>>      spin_lock(&desc->lock);
>>>> -    hpet_msi_mask(desc);
>>>> -    hpet_msi_set_affinity(desc, cpumask_of(ch->cpu));
>>>> -    hpet_msi_unmask(desc);
>>>> +
>>>> +    per_cpu(vector_irq, ch->cpu)[HPET_BROADCAST_VECTOR] = ch->msi.irq;
>>>> +
>>>> +    /*
>>>> +     * Open-coding a reduced form of hpet_msi_set_affinity() here.  With the
>>>> +     * actual update below (either of the IRTE or of [just] message address;
>>>> +     * with interrupt remapping message address/data don't change) now being
>>>> +     * atomic, we can avoid masking the IRQ around the update.  As a result
>>>> +     * we're no longer at risk of missing IRQs (provided hpet_broadcast_enter()
>>>> +     * keeps setting the new deadline only afterwards).
>>>> +     */
>>>> +    cpumask_copy(desc->arch.cpu_mask, cpumask_of(ch->cpu));
>>>> +
>>>>      spin_unlock(&desc->lock);
>>>>  
>>>> -    spin_unlock(&ch->lock);
>>>> +    msg.dest32 = cpu_physical_id(ch->cpu);
>>>> +    msg.address_lo &= ~MSI_ADDR_DEST_ID_MASK;
>>>> +    msg.address_lo |= MSI_ADDR_DEST_ID(msg.dest32);
>>>> +    if ( msg.dest32 != ch->msi.msg.dest32 )
>>>> +    {
>>>> +        ch->msi.msg = msg;
>>>> +
>>>> +        if ( iommu_intremap != iommu_intremap_off )
>>>> +        {
>>>> +            int rc = iommu_update_ire_from_msi(&ch->msi, &msg);
>>>>  
>>>> -    /* We may have missed an interrupt due to the temporary masking. */
>>>> -    if ( ch->event_handler && ch->next_event < NOW() )
>>>> -        ch->event_handler(ch);
>>>> +            ASSERT(rc <= 0);
>>>> +            if ( rc > 0 )
>>>> +            {
>>>> +                ASSERT(msg.data == hpet_read32(HPET_Tn_ROUTE(ch->idx)));
>>>> +                ASSERT(msg.address_lo ==
>>>> +                       hpet_read32(HPET_Tn_ROUTE(ch->idx) + 4));
>>>> +            }
>>>
>>> The sequence of asserts seem wrong here, the asserts inside of the rc
>>>> 0 check will never trigger, because there's an ASSERT(rc <= 0)
>>> ahead of them?
>>
>> Hmm. My way of thinking was that if we get back 1 (which we shouldn't),
>> we ought to check (and presumably fail on) data or address having changed.
> 
> Right, but the ASSERT(rc <= 0) will prevent reaching any of the
> followup ASSERTs if rc == 1?

Which is no problem, as we'd be dead already anyway if the first assertion
triggered. Nevertheless I've switched the if() to >= 0 (which then pointed
out a necessary change in AMD IOMMU code).

>  IOW, we possibly want:
> 
>             if ( rc > 0 )
>             {
>                 dprintk(XENLOG_ERR,
>                         "Unexpected HPET MSI setup returned: data: %#x address: %#lx expected data %#x address %#lx\n",
>                         msg.data, msg.address,
>                         ch->msi.msg.data, ch->msi.msg.address);
>                 ASSERT_UNREACHABLE();
>                 hpet_msi_mask(desc);
>                 hpet_write32(msg.data, HPET_Tn_ROUTE(ch->idx));
>                 hpet_write32(msg.address_lo, HPET_Tn_ROUTE(ch->idx) + 4);
>                 hpet_msi_unmask(desc);
>             }
>             ASSERT(!rc);

To be honest, for my taste this goes too far as to what follows an
ASSERT_UNREACHABLE().

> I'm unsure about attempting to propagate the returned values on release
> builds, I guess it's slightly better than possibly using an outdated
> RTE entry?  Albeit this should never happen.

Yes to the last remark; I don't actually see what you would want to do
with the propagated return value.

> Also, should the desc->arch.cpu_mask update only be done after the MSI
> fields have correctly updated, so that in case of failure of
> iommu_update_ire_from_msi(9 we could return early form the function
> and avoid changing desc->arch.cpu_mask?

Hmm, yes, I could do that, but then also in hpet_msi_set_affinity().
However, as this needs doing under the IRQ descriptor lock, I'd have to
either extend the locked region here (again), or re-acquire the lock
later. Neither looks very attractive to me.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Oct 22 09:28:50 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Oct 2025 09:28:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1147731.1479898 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBV9C-0002xn-80; Wed, 22 Oct 2025 09:28:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1147731.1479898; Wed, 22 Oct 2025 09:28:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBV9C-0002xg-5C; Wed, 22 Oct 2025 09:28:46 +0000
Received: by outflank-mailman (input) for mailman id 1147731;
 Wed, 22 Oct 2025 09:28:45 +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 <SRS0=pHug=47=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vBV9A-0002xa-WA
 for xen-devel@lists.xenproject.org; Wed, 22 Oct 2025 09:28:44 +0000
Received: from mail-wm1-x32f.google.com (mail-wm1-x32f.google.com
 [2a00:1450:4864:20::32f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 80cda41e-af29-11f0-9d15-b5c5bf9af7f9;
 Wed, 22 Oct 2025 11:28:43 +0200 (CEST)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-47112a73785so50238015e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 22 Oct 2025 02:28:44 -0700 (PDT)
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-475c427c3bfsm39714715e9.3.2025.10.22.02.28.42
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 22 Oct 2025 02:28:43 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 80cda41e-af29-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761125323; x=1761730123; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=qz9P+bXWiJwS8DvsgPA8rn9Ph8jpMBi/zSwcLwRWuVQ=;
        b=WKryamQWip7Er4sd+3BrFRQt2ZWzGilLYv1finvj8D403Tww5xoxZvaYDBG7q8WfsO
         oAEGnzD1rcx/QeCUI9nrg6J1IRWkd48/LVdi+qivj6TYUuNMK9NI38nbiHNownM4ovXr
         DoRcmDHL1DCXAZ2/PzlQ2ru4d3BH0zN6RBCMoVjTOCyZXXo+QijYcdfvh8ieWzIKjIUN
         3/QvFsHxpIkqV0GXODlS/j+VHf+z5TCeRZtcW8fJ1WDbikBg23v9ANfPmQ/mOcsZd+ff
         qmd3M9nhiA9x6CARzKsyBiYn3vcvNHAGyxFiz0SBuXIkWUKLzGJRMQWOyTjvXRVwQhLX
         1xZQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761125323; x=1761730123;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=qz9P+bXWiJwS8DvsgPA8rn9Ph8jpMBi/zSwcLwRWuVQ=;
        b=iQ3X2Wb+XhgO8vPLNZUFNrIUI6+LB1PijETWWInk/zn9ej0EKvzqyEo9+RPAxh4b/x
         FNVoOJHfm7LMNlNurm3D7jJ1I0azbqQYELQSgAzlLUFwDCURAzzfPfbwdFPnDoI+W8Jf
         LrMLdztlcn2dAavULBN6sDJ5G9SnInJA4FqjUVL8XRgdFP3ps88yh+7g38PGzHhacajX
         nEzfYpjduOZHaGSybkA1ktoAbbcW5mIF8A2Ta3qqRPCiiJ+M/YT7i++r6bb0pogSp0V5
         Pk7J+apoy5YFVC9EQV0A73jjDqkECIJ+GiUnsH8qCIpFdi0QRD2/wBFM32OWRI2L8uXL
         zxHg==
X-Forwarded-Encrypted: i=1; AJvYcCWF8xi1RUz4ZEoWgM444C44oH/koodjc/BGr/rixARwYhR3ZsloxRupcYTPG+QdDjc3irEJuFjqIig=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw0WrKVQcqd7ADVq8wHi2O0/DoVPR5zLp5e0n+uF23gUgY3mWSV
	1M6BuVLMO9+huglOxd0ssERVVxRD8rJKrtGoqw6ULnd0NCOJo0Ik/bc3g4h+zDd9nA==
X-Gm-Gg: ASbGncs46anAwE0UIMh7nBxfsbCDEPjePL+nT/q3SOKBovXOAVuOjRYmO0/q7i3kM1h
	wMSMJ5cbrSZZsp5yrhDA5d7lR6IZ+hFUqWJH707jFVJLak0CxNLmO+AQWVLhzEm6GG9WHwoOo+j
	pQW9RlExzhJz7w9vAV8JH35DL52QSg0GRHldMc0MX7mrf43UJRlJLxrukk/6drEtOijYrMJVoiu
	KgeV4UR9WJpue4QK6UpseYvSXYKKjSMfsOLdN+HvWFEwMdazEwk3Kury1ed2u8pMtlCds8NLnMe
	bi9/6q8TlqqTPXGaKoMNqhrlLMztgovArqO/JDqOxRUa6pGgl0RzI5tHdRzYR2aZbqkUueMnMSQ
	lCIxTw39zp9VsAhFzyaHHT4Z4XNwWpyOvrvAA4UQL21mVPilJ8cgDc3xs+wOeDZno6iH6eqTkJf
	SOohTG/ofQunHVV35VhaX2qR9lpfJ2weWyVWJD/7pwuGIBhEAw1uT7ASTsD5uIYq7+jPl2+y4=
X-Google-Smtp-Source: AGHT+IG7eomIKqLWPr2BKkH/Prgkt15b+lj6vVBNaOMcOl5emDd/bKAPiI6iEAuwYWjHAV7IOnFBiQ==
X-Received: by 2002:a05:600c:870b:b0:46e:3709:d88a with SMTP id 5b1f17b1804b1-4711791cb7amr164036155e9.33.1761125323361;
        Wed, 22 Oct 2025 02:28:43 -0700 (PDT)
Message-ID: <1f05b129-3cb7-485c-a441-88cc17d4c84f@suse.com>
Date: Wed, 22 Oct 2025 11:28:42 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.{19,20}] xen/vpci: fix backport of 53859596c0d3
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: stewart.hildebrand@amd.com, xen-devel@lists.xenproject.org
References: <20251022085909.76402-1-roger.pau@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251022085909.76402-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 22.10.2025 10:59, Roger Pau Monne wrote:
> Commit 53859596c0d3 depends on the behavioral change introduced in
> ee2eb6849d50 that inverted the initialization of the MSI-X and header vPCI
> handlers.  53859596c0d3 requires the header to be initialized before MSI-X.
> 
> Change the order of initialization and adjust init_msix() to carve holes
> for the MSI-X tables if necessary, since it will now run after the BARs
> have been possibly mapped into the domain p2m.
> 
> Fixes: f9aea52a9747 ("vpci/msix: improve handling of bogus MSI-X capabilities")
> Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>

> --- a/xen/drivers/vpci/header.c
> +++ b/xen/drivers/vpci/header.c
> @@ -1016,7 +1016,7 @@ static int cf_check init_header(struct pci_dev *pdev)
>      pci_conf_write16(pdev->sbdf, PCI_COMMAND, cmd);
>      return rc;
>  }
> -REGISTER_VPCI_INIT(init_header, VPCI_PRIORITY_MIDDLE);
> +REGISTER_VPCI_INIT(init_header, VPCI_PRIORITY_HIGH);
>  
>  /*
>   * Local variables:
> --- a/xen/drivers/vpci/msix.c
> +++ b/xen/drivers/vpci/msix.c
> @@ -792,9 +792,14 @@ static int cf_check init_msix(struct pci_dev *pdev)
>      pdev->vpci->msix = msix;
>      list_add(&msix->next, &d->arch.hvm.msix_tables);
>  
> -    return 0;
> +    /*
> +     * vPCI header initialization will have mapped the whole BAR into the
> +     * p2m, as MSI-X capability was not yet initialized.  Crave a hole for
> +     * the MSI-X table here, so that Xen can trap accesses.
> +     */
> +    return vpci_make_msix_hole(pdev);
>  }
> -REGISTER_VPCI_INIT(init_msix, VPCI_PRIORITY_HIGH);
> +REGISTER_VPCI_INIT(init_msix, VPCI_PRIORITY_MIDDLE);

Aiui this could as well be VPCI_PRIORITY_LOW now, much like in staging init
order between MSI, MSI-X, and ReBar isn't enforced anymore?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Oct 22 09:51:31 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Oct 2025 09:51:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1147743.1479908 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBVV7-0006x2-Va; Wed, 22 Oct 2025 09:51:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1147743.1479908; Wed, 22 Oct 2025 09:51:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBVV7-0006wv-Sm; Wed, 22 Oct 2025 09:51:25 +0000
Received: by outflank-mailman (input) for mailman id 1147743;
 Wed, 22 Oct 2025 09:51:24 +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
 <SRS0=7+7G=47=bounce.vates.tech=bounce-md_30504962.68f8a918.v1-aaeda03b40e6405b814909a8b740954c@srs-se1.protection.inumbo.net>)
 id 1vBVV6-0006wo-Jm
 for xen-devel@lists.xenproject.org; Wed, 22 Oct 2025 09:51:24 +0000
Received: from mail180-10.suw31.mandrillapp.com
 (mail180-10.suw31.mandrillapp.com [198.2.180.10])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id aa2d2e9b-af2c-11f0-9d15-b5c5bf9af7f9;
 Wed, 22 Oct 2025 11:51:22 +0200 (CEST)
Received: from pmta11.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail180-10.suw31.mandrillapp.com (Mailchimp) with ESMTP id
 4cs4Dm6vqrz5Ql7wF
 for <xen-devel@lists.xenproject.org>; Wed, 22 Oct 2025 09:51:20 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 aaeda03b40e6405b814909a8b740954c; Wed, 22 Oct 2025 09:51:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aa2d2e9b-af2c-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1761126681; x=1761396681;
	bh=aKRaI3jaK4yfr76DmD5NuOKI+/Nb3OE8X0Ukz31rwg4=;
	h=From:Subject:To:Cc:Message-Id:Feedback-ID:Date:MIME-Version:
	 Content-Type:Content-Transfer-Encoding:CC:Date:Subject:From;
	b=S2UiLj4xInePi2FLfNfTh3oAlnPGAQA8nKs/mhUZgkEO0USpGDC8TiXk8AcpoTiE4
	 /cs2d3z4kbHHdvqtHNkDaH5KM+ZoZtBMhcNT5bFl+q0rQ0nwBwcmaJ/DXuO5fMFJCs
	 rZF0byre0/n9/O9M6crLvZZwTpA1uZa+dc3lB1dw3X9kznnGNqqrErX77CciBVG6W7
	 H2LDJQzSoXrKVrXaylQc/VdFYoPlGf1tL90G17UrYioG1dgIcpRWKkJJx6ESrXEOY6
	 HuME9T7yQ/yNYaJft/1bno02y8JLLLxumb55MoSD4hc5k/8Cn5S+UkfZUyfwFnQbaW
	 vONbdcKVeZ+yw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1761126681; x=1761387181; i=teddy.astie@vates.tech;
	bh=aKRaI3jaK4yfr76DmD5NuOKI+/Nb3OE8X0Ukz31rwg4=;
	h=From:Subject:To:Cc:Message-Id:Feedback-ID:Date:MIME-Version:
	 Content-Type:Content-Transfer-Encoding:CC:Date:Subject:From;
	b=mTacAvPlJybB11EbkGtE5r3fKCqgG5sCkdIrgElW0vsNurzHU1F2GEHFBB1eNZ1xD
	 si02/1wuX/OOgJF9171Elc3PdLWaLnGf7y8oOdOMcDgGh4KrkAu0fjvBMR2/5g8Ebs
	 FD4MGH9LeFPS69CDHvh5s17P9L0sWljhnr6QfSuBpa0E5LFf945wU4dxADxp+h/let
	 M8ZH2BFoUD6pQBler7JpBLjzCUr5g++Pmh1LwIEl+VpCCEdjLn3ubW0/bS5HqyhBc6
	 Am8kCIQivCWFp5eLOeNusBl2YhP6CTR7Yn0akmXOjilFC7HVuadd0lp0yHvRC2XsnU
	 sk6Pe4A0C8IVg==
From: "Teddy Astie" <teddy.astie@vates.tech>
Subject: =?utf-8?Q?[PATCH=200/4]=20Various=20IOMMU=20related=20simplifications?=
X-Mailer: git-send-email 2.51.1
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1761126679884
To: xen-devel@lists.xenproject.org
Cc: "Teddy Astie" <teddy.astie@vates.tech>, "Jan Beulich" <jbeulich@suse.com>, "Andrew Cooper" <andrew.cooper3@citrix.com>, "=?utf-8?Q?Roger=20Pau=20Monn=C3=A9?=" <roger.pau@citrix.com>
Message-Id: <cover.1761124632.git.teddy.astie@vates.tech>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.aaeda03b40e6405b814909a8b740954c?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20251022:md
Date: Wed, 22 Oct 2025 09:51:20 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

Various simplifications in the VT-d and IO-APIC code (mostly related to legacy ia64 code).

No functional change intended.

Teddy Astie (4):
  vtd: Move (un)map_vtd_domain_page to extern.h
  vtd: Collapse x86 subdirectory
  vtd: Remove IO_xAPIC_route_entry macro
  x86/ioapic: Don't open-code 32-bits rte reads

 xen/arch/x86/include/asm/io_apic.h          |  1 +
 xen/arch/x86/io_apic.c                      | 29 +++++--------
 xen/drivers/passthrough/iommu.c             | 10 +++++
 xen/drivers/passthrough/vtd/Makefile        |  3 +-
 xen/drivers/passthrough/vtd/{x86 => }/ats.c | 10 ++---
 xen/drivers/passthrough/vtd/extern.h        | 13 +++++-
 xen/drivers/passthrough/vtd/intremap.c      | 19 ++++----
 xen/drivers/passthrough/vtd/vtd.h           |  3 --
 xen/drivers/passthrough/vtd/x86/Makefile    |  2 -
 xen/drivers/passthrough/vtd/x86/vtd.c       | 48 ---------------------
 10 files changed, 47 insertions(+), 91 deletions(-)
 rename xen/drivers/passthrough/vtd/{x86 => }/ats.c (97%)
 delete mode 100644 xen/drivers/passthrough/vtd/x86/Makefile
 delete mode 100644 xen/drivers/passthrough/vtd/x86/vtd.c

-- 
2.51.1



--
Teddy Astie | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech



From xen-devel-bounces@lists.xenproject.org Wed Oct 22 09:51:32 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Oct 2025 09:51:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1147744.1479918 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBVVE-0007C9-6W; Wed, 22 Oct 2025 09:51:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1147744.1479918; Wed, 22 Oct 2025 09:51:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBVVE-0007C0-35; Wed, 22 Oct 2025 09:51:32 +0000
Received: by outflank-mailman (input) for mailman id 1147744;
 Wed, 22 Oct 2025 09:51:31 +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
 <SRS0=BD1N=47=bounce.vates.tech=bounce-md_30504962.68f8a919.v1-d0027f5a90814dada2a9af600a2f7328@srs-se1.protection.inumbo.net>)
 id 1vBVVD-0007BN-3e
 for xen-devel@lists.xenproject.org; Wed, 22 Oct 2025 09:51:31 +0000
Received: from mail187-3.suw11.mandrillapp.com
 (mail187-3.suw11.mandrillapp.com [198.2.187.3])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id aa2c1a93-af2c-11f0-980a-7dc792cee155;
 Wed, 22 Oct 2025 11:51:22 +0200 (CEST)
Received: from pmta09.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail187-3.suw11.mandrillapp.com (Mailchimp) with ESMTP id 4cs4Dn3tS7zDRHxTs
 for <xen-devel@lists.xenproject.org>; Wed, 22 Oct 2025 09:51:21 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 d0027f5a90814dada2a9af600a2f7328; Wed, 22 Oct 2025 09:51:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aa2c1a93-af2c-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1761126681; x=1761396681;
	bh=+LDeJfp4Fui1L+MoS/fNpSswgos6OApNk3YD5WlQ4s0=;
	h=From:Subject:To:Cc:Message-Id:In-Reply-To:References:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=bkTAEZ3Hkt1bK3S6oRGi1eTN1o9wwmG0skjWC/tjqKh8SUnEmgZfjMOJIvjiGyfA4
	 dyvtmLvSg+1aLjpwHNvexAERPb04YibRnooBn7urnkibJc50BVGNCjBDu4cOFiNSbf
	 du0XHBDMGdygeCDXwy9Wx5pkTdiO5qvFbq9BCagHynVeBPk76N2ULqrcaTRLqHaGKB
	 YDvA8w5c/D0+iGIz+MlFBkYyamc1eRm6/ZiRNT/6ff+tQQ56VkmZ2SJolf39HVOBN8
	 phrL/Yypo4gGtr2AswFNHZaxT8d2gNNxvt+8YDCoBj7QsECtvD4YMnYvHLhD/AfHLw
	 ncl0AqZ+vEVOA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1761126681; x=1761387181; i=teddy.astie@vates.tech;
	bh=+LDeJfp4Fui1L+MoS/fNpSswgos6OApNk3YD5WlQ4s0=;
	h=From:Subject:To:Cc:Message-Id:In-Reply-To:References:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=JlrepnyzKPqdmChY2/UGevb/AK5a/1wsIEAyJ0hki3aYS165JlFQVAmLdfYIkWZQr
	 dpdtqsbBb6K/sD0n4HTK5gFY1J7vrfbRrBpbuIoKz/Znh/UonyaTDKkcT2Q+OSIZew
	 sYSFSVDyW7nlYZXT4wmrLBc52JL1d4YCMDL9UWlZ3rxyIpubsVH9IUSCgbQwEpInow
	 A0f56z+mUvEhjTCEop2sEeFwQF5a1FKVBPJCvscmsQmyE42MAzvIqNA6ktBMe0i+xl
	 1i9mGJi/AsXhagZTGRXQosn7xfPV4W4FDkG6nkXOHVsyfBIsH+G4bZV+V++yL/emyf
	 9rZvAy1T44Sjg==
From: "Teddy Astie" <teddy.astie@vates.tech>
Subject: =?utf-8?Q?[PATCH=202/4]=20vtd:=20Collapse=20x86=20subdirectory?=
X-Mailer: git-send-email 2.51.1
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1761126680586
To: xen-devel@lists.xenproject.org
Cc: "Teddy Astie" <teddy.astie@vates.tech>, "Jan Beulich" <jbeulich@suse.com>, "=?utf-8?Q?Roger=20Pau=20Monn=C3=A9?=" <roger.pau@citrix.com>, "Andrew Cooper" <andrew.cooper3@citrix.com>
Message-Id: <0b9cda94fc8b69563a5f8783d6bc3ed22b0531d9.1761124632.git.teddy.astie@vates.tech>
In-Reply-To: <cover.1761124632.git.teddy.astie@vates.tech>
References: <cover.1761124632.git.teddy.astie@vates.tech>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.d0027f5a90814dada2a9af600a2f7328?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20251022:md
Date: Wed, 22 Oct 2025 09:51:21 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

As VT-d only exists on x86, it doesn't make sense to have a x86-specific
subdirectory. Moreover, now that vtd.c empty (once we moved the deprecated
iommu_inclusive_mapping parameter), only ats.c remain which could be moved to
the upper directory.

Collapse this directory to make the driver structure clearer.

Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
---
Do we care much about iommu_inclusive_mapping ?

 xen/drivers/passthrough/iommu.c             | 10 ++++++
 xen/drivers/passthrough/vtd/Makefile        |  3 +-
 xen/drivers/passthrough/vtd/{x86 => }/ats.c | 10 +++---
 xen/drivers/passthrough/vtd/x86/Makefile    |  2 --
 xen/drivers/passthrough/vtd/x86/vtd.c       | 38 ---------------------
 5 files changed, 16 insertions(+), 47 deletions(-)
 rename xen/drivers/passthrough/vtd/{x86 => }/ats.c (97%)
 delete mode 100644 xen/drivers/passthrough/vtd/x86/Makefile
 delete mode 100644 xen/drivers/passthrough/vtd/x86/vtd.c

diff --git a/xen/drivers/passthrough/iommu.c b/xen/drivers/passthrough/iommu.c
index c9425d6971..2e2037502d 100644
--- a/xen/drivers/passthrough/iommu.c
+++ b/xen/drivers/passthrough/iommu.c
@@ -57,6 +57,16 @@ bool __read_mostly iommu_hwdom_passthrough;
 bool __hwdom_initdata iommu_hwdom_inclusive;
 int8_t __hwdom_initdata iommu_hwdom_reserved = -1;
 
+#ifdef CONFIG_X86
+/*
+ * Deprecated
+ *
+ * iommu_inclusive_mapping: when set, all memory below 4GB is included in dom0
+ * 1:1 iommu mappings except xen and unusable regions.
+ */
+boolean_param("iommu_inclusive_mapping", iommu_hwdom_inclusive);
+#endif
+
 #ifndef iommu_hap_pt_share
 bool __read_mostly iommu_hap_pt_share = true;
 #endif
diff --git a/xen/drivers/passthrough/vtd/Makefile b/xen/drivers/passthrough/vtd/Makefile
index fde7555fac..328a014016 100644
--- a/xen/drivers/passthrough/vtd/Makefile
+++ b/xen/drivers/passthrough/vtd/Makefile
@@ -1,5 +1,4 @@
-obj-$(CONFIG_X86) += x86/
-
+obj-y += ats.o
 obj-y += iommu.o
 obj-y += dmar.o
 obj-y += utils.o
diff --git a/xen/drivers/passthrough/vtd/x86/ats.c b/xen/drivers/passthrough/vtd/ats.c
similarity index 97%
rename from xen/drivers/passthrough/vtd/x86/ats.c
rename to xen/drivers/passthrough/vtd/ats.c
index 61052ef580..d481eff6d7 100644
--- a/xen/drivers/passthrough/vtd/x86/ats.c
+++ b/xen/drivers/passthrough/vtd/ats.c
@@ -22,11 +22,11 @@
 #include <xen/pci.h>
 #include <xen/pci_regs.h>
 #include <asm/msi.h>
-#include "../iommu.h"
-#include "../dmar.h"
-#include "../vtd.h"
-#include "../extern.h"
-#include "../../ats.h"
+#include "iommu.h"
+#include "dmar.h"
+#include "vtd.h"
+#include "extern.h"
+#include "../ats.h"
 
 static LIST_HEAD(ats_dev_drhd_units);
 
diff --git a/xen/drivers/passthrough/vtd/x86/Makefile b/xen/drivers/passthrough/vtd/x86/Makefile
deleted file mode 100644
index fe20a0b019..0000000000
--- a/xen/drivers/passthrough/vtd/x86/Makefile
+++ /dev/null
@@ -1,2 +0,0 @@
-obj-y += ats.o
-obj-y += vtd.o
diff --git a/xen/drivers/passthrough/vtd/x86/vtd.c b/xen/drivers/passthrough/vtd/x86/vtd.c
deleted file mode 100644
index b0798dc6a1..0000000000
--- a/xen/drivers/passthrough/vtd/x86/vtd.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (c) 2008, Intel Corporation.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; If not, see <http://www.gnu.org/licenses/>.
- *
- * Copyright (C) Allen Kay <allen.m.kay@intel.com>
- * Copyright (C) Weidong Han <weidong.han@intel.com>
- */
-
-#include <xen/param.h>
-#include <xen/sched.h>
-#include <xen/softirq.h>
-#include <xen/domain_page.h>
-#include <asm/paging.h>
-#include <xen/iommu.h>
-#include <xen/irq.h>
-#include <xen/numa.h>
-#include <asm/fixmap.h>
-#include "../iommu.h"
-#include "../dmar.h"
-#include "../vtd.h"
-#include "../extern.h"
-
-/*
- * iommu_inclusive_mapping: when set, all memory below 4GB is included in dom0
- * 1:1 iommu mappings except xen and unusable regions.
- */
-boolean_param("iommu_inclusive_mapping", iommu_hwdom_inclusive);
-- 
2.51.1



--
Teddy Astie | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech



From xen-devel-bounces@lists.xenproject.org Wed Oct 22 09:51:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Oct 2025 09:51:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1147745.1479928 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBVVF-0007QO-Db; Wed, 22 Oct 2025 09:51:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1147745.1479928; Wed, 22 Oct 2025 09:51:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBVVF-0007QH-9p; Wed, 22 Oct 2025 09:51:33 +0000
Received: by outflank-mailman (input) for mailman id 1147745;
 Wed, 22 Oct 2025 09:51:31 +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
 <SRS0=q51i=47=bounce.vates.tech=bounce-md_30504962.68f8a919.v1-92eae8be8cab4148a34e7f6f293f1524@srs-se1.protection.inumbo.net>)
 id 1vBVVD-0007BN-Pr
 for xen-devel@lists.xenproject.org; Wed, 22 Oct 2025 09:51:31 +0000
Received: from mail187-3.suw11.mandrillapp.com
 (mail187-3.suw11.mandrillapp.com [198.2.187.3])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id aa2b547a-af2c-11f0-980a-7dc792cee155;
 Wed, 22 Oct 2025 11:51:22 +0200 (CEST)
Received: from pmta09.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail187-3.suw11.mandrillapp.com (Mailchimp) with ESMTP id 4cs4Dn13rHzDRJHK4
 for <xen-devel@lists.xenproject.org>; Wed, 22 Oct 2025 09:51:21 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 92eae8be8cab4148a34e7f6f293f1524; Wed, 22 Oct 2025 09:51:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aa2b547a-af2c-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1761126681; x=1761396681;
	bh=Z19jcW4y7eMkW61Dtah/xs2jKM8h/ya64whHhXGW4tg=;
	h=From:Subject:To:Cc:Message-Id:In-Reply-To:References:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=QQKlsMZshX+p3vUUNoOYyaGzsBbATBUUuLcQyevFZQ9H4QMKnKpriuGR3lsqu2Nn8
	 I+oItd0zNN9XPet/FoNe96tN8ujlaieqVeiQp4Tq9P5zsCOL2t0Vx7TUsluGPUAimv
	 IYiQa+UUo+NSuHZYU1cEeAnEXSeJw6Vfu+vJ9U7Fg4Qbgc+IT8b3a1ti72L0kbv/Ep
	 ToR7xHvHa2ZydKs0PAf/pE1JhttCC6v1m6ipKSzpIWYsaxlt8qc0XQBLMMQH1QFH+p
	 I7ogEKxYr8G6qvEGIroYP5082GyFK6p1xO9WJ8qyOTbjBkJv1HVVQ1XrJ8WdcC1e7l
	 hnveCPcY09PnA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1761126681; x=1761387181; i=teddy.astie@vates.tech;
	bh=Z19jcW4y7eMkW61Dtah/xs2jKM8h/ya64whHhXGW4tg=;
	h=From:Subject:To:Cc:Message-Id:In-Reply-To:References:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=GtRrB25h/64dSYrr2qcV3SFd3O/iXe07gwturj8JBks+cymloCicM9XAqbYb7Rww0
	 PQ1+uWfgt4m7Q9OIa1NflDFV4rF1u/m0ib1UvFEvu0pbwBGtUllPG4lZw5PqTI+tmN
	 pYlHVhBEI9+AEdPME1KK1kAbHhD4KOhE2o5c2Hiq6DWIjYjDOCxV5/2jBwVvROmUfJ
	 4R9VSGuC7bPpfPFnOmTkYp95k30tDMLrmK76rogOdDEnVdxfrzp6mBLNd7aIsMxnYs
	 BMaT6OeBddcWLqewLB2EdzZnIzCmFOEakGlnuXs1PvPVUUjVR8k2a35amyCDwgWq3e
	 zYErOhxSQML9g==
From: "Teddy Astie" <teddy.astie@vates.tech>
Subject: =?utf-8?Q?[PATCH=201/4]=20vtd:=20Move=20(un)map=5Fvtd=5Fdomain=5Fpage=20to=20extern.h?=
X-Mailer: git-send-email 2.51.1
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1761126680273
To: xen-devel@lists.xenproject.org
Cc: "Teddy Astie" <teddy.astie@vates.tech>, "Jan Beulich" <jbeulich@suse.com>, "Andrew Cooper" <andrew.cooper3@citrix.com>, "=?utf-8?Q?Roger=20Pau=20Monn=C3=A9?=" <roger.pau@citrix.com>
Message-Id: <74ff3496afcc0a0b747f9ea203d10f51e6b4d00c.1761124632.git.teddy.astie@vates.tech>
In-Reply-To: <cover.1761124632.git.teddy.astie@vates.tech>
References: <cover.1761124632.git.teddy.astie@vates.tech>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.92eae8be8cab4148a34e7f6f293f1524?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20251022:md
Date: Wed, 22 Oct 2025 09:51:21 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

These functions are basically wrappers of map_domain_page; move
them to the shared extern.h and make them inline to help with code
generation.

Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
---
 xen/drivers/passthrough/vtd/extern.h  | 13 +++++++++++--
 xen/drivers/passthrough/vtd/x86/vtd.c | 10 ----------
 2 files changed, 11 insertions(+), 12 deletions(-)

diff --git a/xen/drivers/passthrough/vtd/extern.h b/xen/drivers/passthrough/vtd/extern.h
index c16583c951..a62310b3e7 100644
--- a/xen/drivers/passthrough/vtd/extern.h
+++ b/xen/drivers/passthrough/vtd/extern.h
@@ -21,6 +21,7 @@
 #define DRIVERS__PASSTHROUGH__VTD__EXTERN_H
 
 #include "dmar.h"
+#include <xen/domain_page.h>
 #include <xen/keyhandler.h>
 
 #define VTDPREFIX "[VT-D]"
@@ -78,8 +79,6 @@ int __must_check qinval_device_iotlb_sync(struct vtd_iommu *iommu,
 
 uint64_t alloc_pgtable_maddr(unsigned long npages, nodeid_t node);
 void free_pgtable_maddr(u64 maddr);
-void *map_vtd_domain_page(u64 maddr);
-void unmap_vtd_domain_page(const void *va);
 int domain_context_mapping_one(struct domain *domain, struct vtd_iommu *iommu,
                                uint8_t bus, uint8_t devfn,
                                const struct pci_dev *pdev, domid_t domid,
@@ -114,4 +113,14 @@ void quirk_iommu_caps(struct vtd_iommu *iommu);
 bool platform_supports_intremap(void);
 bool platform_supports_x2apic(void);
 
+static inline void *map_vtd_domain_page(u64 maddr)
+{
+    return map_domain_page(_mfn(paddr_to_pfn(maddr)));
+}
+
+static inline void unmap_vtd_domain_page(const void *va)
+{
+    unmap_domain_page(va);
+}
+
 #endif // DRIVERS__PASSTHROUGH__VTD__EXTERN_H
diff --git a/xen/drivers/passthrough/vtd/x86/vtd.c b/xen/drivers/passthrough/vtd/x86/vtd.c
index 76f12adc23..b0798dc6a1 100644
--- a/xen/drivers/passthrough/vtd/x86/vtd.c
+++ b/xen/drivers/passthrough/vtd/x86/vtd.c
@@ -36,13 +36,3 @@
  * 1:1 iommu mappings except xen and unusable regions.
  */
 boolean_param("iommu_inclusive_mapping", iommu_hwdom_inclusive);
-
-void *map_vtd_domain_page(u64 maddr)
-{
-    return map_domain_page(_mfn(paddr_to_pfn(maddr)));
-}
-
-void unmap_vtd_domain_page(const void *va)
-{
-    unmap_domain_page(va);
-}
-- 
2.51.1



--
Teddy Astie | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech



From xen-devel-bounces@lists.xenproject.org Wed Oct 22 09:51:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Oct 2025 09:51:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1147746.1479938 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBVVG-0007f4-Jw; Wed, 22 Oct 2025 09:51:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1147746.1479938; Wed, 22 Oct 2025 09:51:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBVVG-0007el-Gr; Wed, 22 Oct 2025 09:51:34 +0000
Received: by outflank-mailman (input) for mailman id 1147746;
 Wed, 22 Oct 2025 09:51: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
 <SRS0=VLY2=47=bounce.vates.tech=bounce-md_30504962.68f8a919.v1-f0bf9ec886ff408dbd4f0076b9aef2da@srs-se1.protection.inumbo.net>)
 id 1vBVVE-0007BN-Py
 for xen-devel@lists.xenproject.org; Wed, 22 Oct 2025 09:51:32 +0000
Received: from mail180-10.suw31.mandrillapp.com
 (mail180-10.suw31.mandrillapp.com [198.2.180.10])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id aa4d1956-af2c-11f0-980a-7dc792cee155;
 Wed, 22 Oct 2025 11:51:22 +0200 (CEST)
Received: from pmta11.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail180-10.suw31.mandrillapp.com (Mailchimp) with ESMTP id
 4cs4Dn5Pydz5QlDfF
 for <xen-devel@lists.xenproject.org>; Wed, 22 Oct 2025 09:51:21 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 f0bf9ec886ff408dbd4f0076b9aef2da; Wed, 22 Oct 2025 09:51:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aa4d1956-af2c-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1761126681; x=1761396681;
	bh=pnFV+fDDYcmdoekdKwaFpxr/OuJxPCuCxIvebF8I08Q=;
	h=From:Subject:To:Cc:Message-Id:In-Reply-To:References:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=CInwWjjIfzU+YNFapjTNtvc/9G+d8E1dr2qA9M4ydqM3jD3dZd6A4+pT6zPlqtVD4
	 Jt5n75IxSrl8vkFvzmJX0iHmQm5RriW6tFiZ1au0/JhGKqdWdy3IcGTNBAj9qLOdKO
	 TwbOXKRviLtIwv675vOohC1dNkw/cMo8GK/mV9ybLIUAiDpNWxke276+cx3V640zpb
	 ivEW9OYrZy5jMWtdQdLwVs+yoMk1RJvceC4AXSykFDyPc39mjWbzGnURnwK6VpHOhS
	 bfCuoPy7MFU0NrIw1HFdbH21y/tuSPklWOq02eqpwy4kmHetfue6vyNsRQGi58mqnR
	 PkVE9pOXC26DA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1761126681; x=1761387181; i=teddy.astie@vates.tech;
	bh=pnFV+fDDYcmdoekdKwaFpxr/OuJxPCuCxIvebF8I08Q=;
	h=From:Subject:To:Cc:Message-Id:In-Reply-To:References:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=furiCssd/WYkv5hqSYcS8H86H7vKyIY88mZ6x3F19QbKn0EROQQDSPeRpDHIdDd1N
	 5kXN4U3NV+SI0oH1Ww+HLyQBeS8lBAuG04OaOxhjWr01uP/guoGteB7HGkHGmFswpn
	 SYaP9Ef4YpyryIwnxZ0+CdMmk7koEohTRbUpREwKxjjcLNHhL3gnIHgyKFFmNjLolx
	 Umk1gu4eauPUkWVUscL4uoLLix2+2ZJolR+rRylhMdnJ24j9ENKbfyMOI8RuQNBy45
	 Ppl8HI7bWVifYg7B9UhCTfwbpt9x/mDmoqS5WVWLxVvJ7Y+VaOIGaEw+ZtkBvfAJgQ
	 WtS2pt+KDP4NA==
From: "Teddy Astie" <teddy.astie@vates.tech>
Subject: =?utf-8?Q?[PATCH=203/4]=20vtd:=20Remove=20IO=5FxAPIC=5Froute=5Fentry=20macro?=
X-Mailer: git-send-email 2.51.1
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1761126680904
To: xen-devel@lists.xenproject.org
Cc: "Teddy Astie" <teddy.astie@vates.tech>, "Jan Beulich" <jbeulich@suse.com>, "Andrew Cooper" <andrew.cooper3@citrix.com>, "=?utf-8?Q?Roger=20Pau=20Monn=C3=A9?=" <roger.pau@citrix.com>
Message-Id: <540db157df0f0f6e27c7b50edc6a7d82fe668608.1761124632.git.teddy.astie@vates.tech>
In-Reply-To: <cover.1761124632.git.teddy.astie@vates.tech>
References: <cover.1761124632.git.teddy.astie@vates.tech>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.f0bf9ec886ff408dbd4f0076b9aef2da?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20251022:md
Date: Wed, 22 Oct 2025 09:51:21 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

This macro was introduced to abstract between IO-APIC and IO-SAPIC (ia64),
now that ia64 isn't supported anymore, this macro now only refers to IO-APIC.

Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
---
 xen/drivers/passthrough/vtd/intremap.c | 10 +++++-----
 xen/drivers/passthrough/vtd/vtd.h      |  3 ---
 2 files changed, 5 insertions(+), 8 deletions(-)

diff --git a/xen/drivers/passthrough/vtd/intremap.c b/xen/drivers/passthrough/vtd/intremap.c
index 7726ee618a..e0314aa469 100644
--- a/xen/drivers/passthrough/vtd/intremap.c
+++ b/xen/drivers/passthrough/vtd/intremap.c
@@ -268,7 +268,7 @@ static unsigned int alloc_remap_entry(struct vtd_iommu *iommu, unsigned int nr)
 }
 
 static int remap_entry_to_ioapic_rte(
-    struct vtd_iommu *iommu, int index, struct IO_xAPIC_route_entry *old_rte)
+    struct vtd_iommu *iommu, int index, struct IO_APIC_route_entry *old_rte)
 {
     struct iremap_entry *iremap_entry = NULL, *iremap_entries;
     unsigned long flags;
@@ -316,8 +316,8 @@ static int remap_entry_to_ioapic_rte(
 }
 
 static int ioapic_rte_to_remap_entry(struct vtd_iommu *iommu,
-    int apic, unsigned int ioapic_pin, struct IO_xAPIC_route_entry *old_rte,
-    struct IO_xAPIC_route_entry new_rte)
+    int apic, unsigned int ioapic_pin, struct IO_APIC_route_entry *old_rte,
+    struct IO_APIC_route_entry new_rte)
 {
     struct iremap_entry *iremap_entry = NULL, *iremap_entries;
     struct iremap_entry new_ire;
@@ -398,7 +398,7 @@ unsigned int cf_check io_apic_read_remap_rte(
 {
     unsigned int ioapic_pin = (reg - 0x10) / 2;
     int index;
-    struct IO_xAPIC_route_entry old_rte = { };
+    struct IO_APIC_route_entry old_rte = { };
     int rte_upper = (reg & 1) ? 1 : 0;
     struct vtd_iommu *iommu = ioapic_to_iommu(IO_APIC_ID(apic));
 
@@ -420,7 +420,7 @@ unsigned int cf_check io_apic_read_remap_rte(
 void cf_check io_apic_write_remap_rte(
     unsigned int apic, unsigned int pin, uint64_t rte)
 {
-    struct IO_xAPIC_route_entry old_rte = {}, new_rte;
+    struct IO_APIC_route_entry old_rte = {}, new_rte;
     struct vtd_iommu *iommu = ioapic_to_iommu(IO_APIC_ID(apic));
     int rc;
 
diff --git a/xen/drivers/passthrough/vtd/vtd.h b/xen/drivers/passthrough/vtd/vtd.h
index b95124517b..f0286b40c3 100644
--- a/xen/drivers/passthrough/vtd/vtd.h
+++ b/xen/drivers/passthrough/vtd/vtd.h
@@ -31,9 +31,6 @@
 #define MAP_ERROR_RECOVERY    (1u << 2)
 #define UNMAP_ME_PHANTOM_FUNC (1u << 3)
 
-/* Allow for both IOAPIC and IOSAPIC. */
-#define IO_xAPIC_route_entry IO_APIC_route_entry
-
 struct IO_APIC_route_remap_entry {
     union {
         u64 val;
-- 
2.51.1



--
Teddy Astie | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech



From xen-devel-bounces@lists.xenproject.org Wed Oct 22 09:51:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Oct 2025 09:51:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1147747.1479948 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBVVI-0007v2-1P; Wed, 22 Oct 2025 09:51:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1147747.1479948; Wed, 22 Oct 2025 09:51:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBVVH-0007us-TO; Wed, 22 Oct 2025 09:51:35 +0000
Received: by outflank-mailman (input) for mailman id 1147747;
 Wed, 22 Oct 2025 09:51:33 +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
 <SRS0=8P/j=47=bounce.vates.tech=bounce-md_30504962.68f8a919.v1-9b6d7c45405a405e9f943669d8d0ba31@srs-se1.protection.inumbo.net>)
 id 1vBVVF-0007BN-Pz
 for xen-devel@lists.xenproject.org; Wed, 22 Oct 2025 09:51:33 +0000
Received: from mail187-3.suw11.mandrillapp.com
 (mail187-3.suw11.mandrillapp.com [198.2.187.3])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id af993062-af2c-11f0-980a-7dc792cee155;
 Wed, 22 Oct 2025 11:51:31 +0200 (CEST)
Received: from pmta09.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail187-3.suw11.mandrillapp.com (Mailchimp) with ESMTP id 4cs4Dn66SVzDRJHhh
 for <xen-devel@lists.xenproject.org>; Wed, 22 Oct 2025 09:51:21 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 9b6d7c45405a405e9f943669d8d0ba31; Wed, 22 Oct 2025 09:51:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: af993062-af2c-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1761126681; x=1761396681;
	bh=u65tTbbGHDnLFDs3oLFBy6jWBaKMKOiRqgKclIL4gpA=;
	h=From:Subject:To:Cc:Message-Id:In-Reply-To:References:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=oY8+Hu1kq3Wi/xu+r2DIGUMCNtUAqPbMq8WOG3aKJS1we84QBENoQtwUaC+Oe2CIp
	 6qOytG8zBzLc/xTi64lZNf8EXYDzAQjuAb75pwTdCo0WeuU5/uwxAIh48q1hX9KdxQ
	 xUU6cdUInQAMF+OGivCx34EbXRYFqjusBguxtkPPUrtNe9XCI/c3n2Dz0zoD4JT23V
	 2J8dqQE709qE5HHV57igCK4vVRqeHr3CpG9CPnkwWuKTv1vBND/lICtKJqafSdSYxS
	 YbvoqOVzsqmHgnkMLHXc1W11VLXw+JZip8MWc/3KezJK/KqLIPkAiKygrcT3Xe2Tb3
	 pvixyq1VJ5Y4g==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1761126681; x=1761387181; i=teddy.astie@vates.tech;
	bh=u65tTbbGHDnLFDs3oLFBy6jWBaKMKOiRqgKclIL4gpA=;
	h=From:Subject:To:Cc:Message-Id:In-Reply-To:References:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=MSv240JMXfe4EWAytify7HzLpVtU0etqw/x9KwkOe760JELTkX6w8SPhNAjFcAyCb
	 ZjjVh3eCXG1ZZUlLTG3qqnTqd+hj7Ijv2mA3gZgAP35k6xfQAMuWm/ZZHKUbff8gYS
	 U53J0j4GQjO6Ztd+Fn8Q7vY//fyjQ8YKS4mY7H4hArCf4gA3V/wh4nzx//jxs11o+f
	 lprgTkqCFxfSBipzibQTujdPh4q8oSkbTlMxpAoClKsFtewi/qdx5HaBOP1BeRGjOI
	 7GARzsrgzDnIWiRzI6/tSu7fkOYqv8GoSxVE3JFzf7kKfwZSDkBCIF/UsU6GuSCtmb
	 Fv2FB5hrSP/GA==
From: "Teddy Astie" <teddy.astie@vates.tech>
Subject: =?utf-8?Q?[PATCH=204/4]=20x86/ioapic:=20Don't=20open-code=2032-bits=20rte=20reads?=
X-Mailer: git-send-email 2.51.1
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1761126681095
To: xen-devel@lists.xenproject.org
Cc: "Teddy Astie" <teddy.astie@vates.tech>, "Jan Beulich" <jbeulich@suse.com>, "Andrew Cooper" <andrew.cooper3@citrix.com>, "=?utf-8?Q?Roger=20Pau=20Monn=C3=A9?=" <roger.pau@citrix.com>
Message-Id: <819a011a32c608f4aefaf692aeac5ee47381a998.1761124632.git.teddy.astie@vates.tech>
In-Reply-To: <cover.1761124632.git.teddy.astie@vates.tech>
References: <cover.1761124632.git.teddy.astie@vates.tech>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.9b6d7c45405a405e9f943669d8d0ba31?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20251022:md
Date: Wed, 22 Oct 2025 09:51:21 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

There are many places where we use interesting ways of reading 32-bits
components of the RTE. Introduce and use low and high components directly
to the rte structure instead.

Also take the opportunity to simplify "x & 1 ? 1 : 0".

Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
---
 xen/arch/x86/include/asm/io_apic.h     |  1 +
 xen/arch/x86/io_apic.c                 | 29 ++++++++++----------------
 xen/drivers/passthrough/vtd/intremap.c |  9 +++-----
 3 files changed, 15 insertions(+), 24 deletions(-)

diff --git a/xen/arch/x86/include/asm/io_apic.h b/xen/arch/x86/include/asm/io_apic.h
index 4680dce9e1..0e85f2a860 100644
--- a/xen/arch/x86/include/asm/io_apic.h
+++ b/xen/arch/x86/include/asm/io_apic.h
@@ -122,6 +122,7 @@ struct IO_APIC_route_entry {
             } dest;
         };
         uint64_t raw;
+        struct { uint32_t low, high; };
     };
 };
 
diff --git a/xen/arch/x86/io_apic.c b/xen/arch/x86/io_apic.c
index 24447aef6c..9d2edec179 100644
--- a/xen/arch/x86/io_apic.c
+++ b/xen/arch/x86/io_apic.c
@@ -257,28 +257,23 @@ nomem:
     return NULL;
 }
 
-union entry_union {
-    struct { u32 w1, w2; };
-    struct IO_APIC_route_entry entry;
-};
-
 struct IO_APIC_route_entry __ioapic_read_entry(
     unsigned int apic, unsigned int pin, bool raw)
 {
-    union entry_union eu;
+    struct IO_APIC_route_entry entry;
 
     if ( raw || !iommu_intremap )
     {
-        eu.w1 = __io_apic_read(apic, 0x10 + 2 * pin);
-        eu.w2 = __io_apic_read(apic, 0x11 + 2 * pin);
+        entry.low  = __io_apic_read(apic, 0x10 + 2 * pin);
+        entry.high = __io_apic_read(apic, 0x11 + 2 * pin);
     }
     else
     {
-        eu.w1 = iommu_read_apic_from_ire(apic, 0x10 + 2 * pin);
-        eu.w2 = iommu_read_apic_from_ire(apic, 0x11 + 2 * pin);
+        entry.low  = iommu_read_apic_from_ire(apic, 0x10 + 2 * pin);
+        entry.high = iommu_read_apic_from_ire(apic, 0x11 + 2 * pin);
     }
 
-    return eu.entry;
+    return entry;
 }
 
 static struct IO_APIC_route_entry ioapic_read_entry(
@@ -297,12 +292,10 @@ void __ioapic_write_entry(
     unsigned int apic, unsigned int pin, bool raw,
     struct IO_APIC_route_entry e)
 {
-    union entry_union eu = { .entry = e };
-
     if ( raw || !iommu_intremap )
     {
-        __io_apic_write(apic, 0x11 + 2 * pin, eu.w2);
-        __io_apic_write(apic, 0x10 + 2 * pin, eu.w1);
+        __io_apic_write(apic, 0x11 + 2 * pin, e.high);
+        __io_apic_write(apic, 0x10 + 2 * pin, e.low);
         /*
          * Might be called before io_apic_pin_eoi is allocated.  Entry will be
          * initialized to the RTE value once the cache is allocated.
@@ -2235,7 +2228,7 @@ int ioapic_guest_read(unsigned long physbase, unsigned int reg, u32 *pval)
     dprintk(XENLOG_INFO, "IO-APIC: apic=%d, pin=%d, irq=%d\n" \
             XENLOG_INFO "IO-APIC: new_entry=%08x\n"           \
             XENLOG_INFO "IO-APIC: " f "\n",                   \
-            apic, pin, irq, *(u32 *)&rte, ##a )
+            apic, pin, irq, rte.low, ##a )
 
 int ioapic_guest_write(unsigned long physbase, unsigned int reg, u32 val)
 {
@@ -2254,7 +2247,7 @@ int ioapic_guest_write(unsigned long physbase, unsigned int reg, u32 val)
     pin = (reg - 0x10) >> 1;
 
     /* Write first half from guest; second half is target info. */
-    *(u32 *)&rte = val;
+    rte.low = val;
 
     /*
      * What about weird destination types?
@@ -2305,7 +2298,7 @@ int ioapic_guest_write(unsigned long physbase, unsigned int reg, u32 val)
         ret = io_apic_read(apic, 0x10 + 2 * pin);
         spin_unlock_irqrestore(&ioapic_lock, flags);
         rte.vector = desc->arch.vector;
-        if ( *(u32*)&rte != ret )
+        if ( rte.low != ret )
             WARN_BOGUS_WRITE("old_entry=%08x pirq=%d\n" XENLOG_INFO
                              "IO-APIC: Attempt to modify IO-APIC pin for in-use IRQ!",
                              ret, pirq);
diff --git a/xen/drivers/passthrough/vtd/intremap.c b/xen/drivers/passthrough/vtd/intremap.c
index e0314aa469..3cdb892559 100644
--- a/xen/drivers/passthrough/vtd/intremap.c
+++ b/xen/drivers/passthrough/vtd/intremap.c
@@ -399,7 +399,7 @@ unsigned int cf_check io_apic_read_remap_rte(
     unsigned int ioapic_pin = (reg - 0x10) / 2;
     int index;
     struct IO_APIC_route_entry old_rte = { };
-    int rte_upper = (reg & 1) ? 1 : 0;
+    unsigned int rte_upper = reg & 1;
     struct vtd_iommu *iommu = ioapic_to_iommu(IO_APIC_ID(apic));
 
     if ( !iommu->intremap.num ||
@@ -410,11 +410,8 @@ unsigned int cf_check io_apic_read_remap_rte(
 
     if ( remap_entry_to_ioapic_rte(iommu, index, &old_rte) )
         return __io_apic_read(apic, reg);
-
-    if ( rte_upper )
-        return (*(((u32 *)&old_rte) + 1));
-    else
-        return (*(((u32 *)&old_rte) + 0));
+    
+    return rte_upper ? old_rte.high : old_rte.low;
 }
 
 void cf_check io_apic_write_remap_rte(
-- 
2.51.1



--
Teddy Astie | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech



From xen-devel-bounces@lists.xenproject.org Wed Oct 22 09:58:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Oct 2025 09:58:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1147811.1479958 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBVc9-0001US-Nr; Wed, 22 Oct 2025 09:58:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1147811.1479958; Wed, 22 Oct 2025 09:58:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBVc9-0001UL-Kx; Wed, 22 Oct 2025 09:58:41 +0000
Received: by outflank-mailman (input) for mailman id 1147811;
 Wed, 22 Oct 2025 09:58:40 +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
 <SRS0=+n4a=47=citrix.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1vBVc8-0001UF-Be
 for xen-devel@lists.xenproject.org; Wed, 22 Oct 2025 09:58:40 +0000
Received: from SA9PR02CU001.outbound.protection.outlook.com
 (mail-southcentralusazlp170130001.outbound.protection.outlook.com
 [2a01:111:f403:c10c::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ae598f82-af2d-11f0-9d15-b5c5bf9af7f9;
 Wed, 22 Oct 2025 11:58:39 +0200 (CEST)
Received: from DM4PR03MB7015.namprd03.prod.outlook.com (2603:10b6:8:42::8) by
 CH3PR03MB7409.namprd03.prod.outlook.com (2603:10b6:610:195::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.12; Wed, 22 Oct
 2025 09:58:33 +0000
Received: from DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9]) by DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9%3]) with mapi id 15.20.9253.011; Wed, 22 Oct 2025
 09:58:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ae598f82-af2d-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=QctVF2UHCNiq6UYkZ6Z03FgWTKojTZOSMx19v32rVq0cng88MDrcWFaKJ2vLuMTnAPXWaXNzVdN9QDo0b/9CZvPRMG4dKFbM1nm5+mVK4oN4/Ze/uWgPfKwdaUQQhHbutG6kc1gl+vd6SoJRDHZuAMBR34VsnGxUypVdl2fJZc2XDVA3Ziq+91dhRM9AfLp3tSlG27jLHARi/yKiXnwplzAR/Oh/mkPxq9YaStXItDL1ThDfcIABJYYoCpS4nH4ub9wCnxOw68wes0OJHdZtbIoQXk7jLlAM+LHys0cHYlQCirOFqycarzloS0LmunG6uteB/qm5IdDoabKp+SBYbg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=AOHXihEUwjHwoXMW6yWGv9PJBf8ma/WW1N3dIzUNNaQ=;
 b=oAWnFwkWL/lckR78ULDH8UvzMpbf/VbayhTa29fqGjx8f/Q1e29BUdzPom8zCQcZr9gRHZ1ly9a3IR1zZr3s0lNWsJW2ZrHJT32LF9TKe8Z2lZb4w+Sc8/5nTl4uOePncBJ4mbYs+2laZN/DNosYBHKoIw17hSdFvRvBoq0mOWsz2xIUs1ETT7m/ltS4k2YR1jfGSHsnxoORdg+/m7HvXviPgTBkokeU92q6WeKX2cOQz88sf37dRjYY3icn0YROYtpn3EGXw4bBTKyrjhfpdpG9Q7aHYPKL7wDrt2SPfF5Ei8ht/cbUXwVWVj4T8NZZy6zFsvM+1zqEFkP6Avt+IQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=AOHXihEUwjHwoXMW6yWGv9PJBf8ma/WW1N3dIzUNNaQ=;
 b=MrwTMcVGexCphlcfYxAv/E4ZF713UNmaLs9YdxTyW2GGoiBlv5ELWxSJpptrudiMQJPQQILFIbSiLnwHvmrNZIx4/oK47hukN5XoQsgLwo199v/GYDdvaEFfBCn6VD2J1FcQEj8KQAZf4OTwq8NcRUWkiy/qOkj07gq1BJQK9wI=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <dcefb3b7-3640-4131-93b8-727ccaead991@citrix.com>
Date: Wed, 22 Oct 2025 10:58:30 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/4] vtd: Move (un)map_vtd_domain_page to extern.h
To: Teddy Astie <teddy.astie@vates.tech>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <cover.1761124632.git.teddy.astie@vates.tech>
 <74ff3496afcc0a0b747f9ea203d10f51e6b4d00c.1761124632.git.teddy.astie@vates.tech>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <74ff3496afcc0a0b747f9ea203d10f51e6b4d00c.1761124632.git.teddy.astie@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0041.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2ac::17) To DM4PR03MB7015.namprd03.prod.outlook.com
 (2603:10b6:8:42::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM4PR03MB7015:EE_|CH3PR03MB7409:EE_
X-MS-Office365-Filtering-Correlation-Id: 6e9346f0-c070-4adb-18dc-08de11518f91
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?TmllU0YxWCtXUU0zcDhjWmJLc2ZrSEZPRkpYclhkV1c2ZTFHMWN5YVZVQVlx?=
 =?utf-8?B?VVFkT2pidk50NUZmMW4yb3dnSFk3MjdXbVc2Tk93WHpZS3hzaFA3VTVFWVlQ?=
 =?utf-8?B?c0d4UUt6QU9KVlczVlUwRjNMclRXWWsxanJtUFkwcDB3Vnhtc2YvWS9hMnZ1?=
 =?utf-8?B?K1hDclN4c0Z0eVh6bjI5UTVabUNSSVNhSEsvNUkxT2ZvV2w0V3B6WTdHZE1D?=
 =?utf-8?B?SUZkL0d1T0RoVlVBVDNxUjdEbUc2c2hackFKSXgzNTh2Y2htRU5jaEZaWU96?=
 =?utf-8?B?MEdKRTZReDBvUTdXRmVGYWw5Y1BYT1NWK1FsNWR0c0ZteUs4RHoybk5DL3h3?=
 =?utf-8?B?Y25FNEVhQzE4aFlKZEp4d2c0SkR0QUkvRUxhU0lpZXdnV1pGQVY0Z2lwNFFE?=
 =?utf-8?B?allXRVZoU21uQit1QllnWWE4ZFZvVFo5dDcvdkw4M3pDQ0ZOYThqSitoQzJH?=
 =?utf-8?B?OTlnMHhrekh5TVdhV0F2TWRobmpSbnpnQ21aZW1SS2pmbjJIMEJpRjczYnpB?=
 =?utf-8?B?VStXUEVXTTB6SlFnT1NqWkpGVWJPQ3I2R0xSV0dFQ1QzbVVkUTBnbnRWTUNk?=
 =?utf-8?B?QzAwdmNoRG9HcnRYbzE2VGdoT1M5UklaV0RPaCtjaFFBV1VnYjIweTRUekhM?=
 =?utf-8?B?ZktoemZSaHNWZGpIc293ckJzSjBvT3E4cjVkYm1rSFhUMmxVd3Q1aFRqN09a?=
 =?utf-8?B?eEIvUDllL01OVEFmU3pzN1N0elBoL0pkVlZJZm9uSkRQaTlNZ1p3Qjg1bHBQ?=
 =?utf-8?B?Q2FaQ2w0ejNHMEZvK0Z6THEyQTlHTUd1eStQVkl2QlF2YnZMcmtwRnQ5VHFJ?=
 =?utf-8?B?d3JnZm9nS3VPR2dXS0k1bEJHRFN1ZkFFWkVpRXVKMGhvK3M1VzN5M212Y1o3?=
 =?utf-8?B?R2NRUDhjNnBIa1o1RjROWmJnT0Uwd2tkdDNNK3cyTkRYdEdFS2gxUm0ycW9Z?=
 =?utf-8?B?aHE0eGhmaEp2Nk14bzI1K0c4NVZETk51TmZ3UUFlY3RsMTRsQmVJYkNhSzQ3?=
 =?utf-8?B?cnBBREJWa09ZT3ZyRk0rTjhpN0RwR0JDcWhsbklkekQvdkNVRjdxLzFaS3A1?=
 =?utf-8?B?OVBaR1BEbHpTNnU0UGR5SGZhc05SWTVPbjVoUTAvRVBRZUZIbEhZVjZoMXQy?=
 =?utf-8?B?REhCOVNFQzJYdU9hOG9zcmREL3VkV2dvRXhNS0ZscUFILzlIMEtudUJhUzJH?=
 =?utf-8?B?aEg4SXNLait4bk5NSDQvanVyNzFubTY1VG5qbTdITkY1T2p5eU1EVnBPc3B1?=
 =?utf-8?B?ZC8vNkNRc0pZNHpRc0g0MjZXYmJPeXFjV0J3SmU2VG13ZFp2UHdwN3MvaXpv?=
 =?utf-8?B?NDQwNEFMTjdvQzVFVG9NUjM2LytOc3hXci94T0lOR0VTSnYwMXBFc3hZZGgy?=
 =?utf-8?B?UmJPK3ErcWgzSWVNMnJVcWswN3pLeHN2bnVjSG5BL1duYVdzb0NIZnVQYTdk?=
 =?utf-8?B?WmNZTk41U2plWXBiTU9zd2p2VFQ0ZXJCVGptUGdOWjQ2QWx1dUp1REplYys5?=
 =?utf-8?B?VDVjMVg2MDFRSFh6ZXdPOEdrYXNNY1VJUUUyZW5RamRMUkt4WW4wTHpkNGkv?=
 =?utf-8?B?eHYxZmNlS2dLbzgrS3NnemdXQ1ZqL0NnYnJTQVcwNGdXTzlVZE5rSUJJRVh3?=
 =?utf-8?B?ZlZlUElOalZZcWM0a3NJNVZqejNNOU82bXU1VytSK2xDMkRSckNrOGNvTnp5?=
 =?utf-8?B?dU1CSFlPZ3VHUlk3QitrKzY5MzdqZHdTRGk4RUJ0Y2Q4dTFvcURuREg4WG12?=
 =?utf-8?B?Rnk2aUR0SHdoa0llOFYyOFdXak9oV01BbGttajhaRFRYcUs3Q0taMjJtaXJL?=
 =?utf-8?B?RDNkRHp2bGRQd2FWZWVZNWJJMVRpaE1PMmFCSzdzQ05tOWdMNVhtVmdCN3NK?=
 =?utf-8?B?RTZIbnRha2VDb1ZjZjEzdVhWME8rR0lBT2tSTTFYUUY0SmV5WURKWHcrRExj?=
 =?utf-8?Q?nagw9fCO0JA6yJV/Dk8w9S0YsNC2DUOI?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR03MB7015.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ajYwRWY0MU9qMFFPWHhlZFRhZnlBUnB5ZzQ0WGt3aVFBUW5Qc1hOSVUyc0xN?=
 =?utf-8?B?YUpwclBEcTc5UldxS1JkVWFxczBrUWcvcG1tcjlVK1pmMzdxWjYxenk1SXVz?=
 =?utf-8?B?SUdDeERLeWN2Zm1BNkhuQmp1OVNMVFpMYkI3NlhUS2JpQTYwdkhzSHI3ZXo2?=
 =?utf-8?B?QVJ5bHZGekZEWWtuVUZPZXdSUTMxdmlqUzFJdUZWK3RNaFRXaHRmMEowWE0x?=
 =?utf-8?B?eGFTMmNXdk45VS9XUFcrYUNPYzR0U0xRcW1pdWhOUzlBZVNaN09oREtQNWR5?=
 =?utf-8?B?WDBVcW9WeFZob1krSHhISnpzR3BnVnVTTkE5NFdjZnVGVzZiY0FBcGJNRTVu?=
 =?utf-8?B?WktnWGN0cjNzTTdTcmNITnZZSi9nZENveDlpOHRwS3hJNE9IM25aYk9tMjRz?=
 =?utf-8?B?c1BSZU1sMTNsNnBvQnVjdVRQWWttVEpYZ0ZMVWIyR3BaOFdKZ2RaYnIwQWRC?=
 =?utf-8?B?aEZZaitrL29yd043eU5HRlNuSzA5emFDMzVqQzZ2VWYwNkhTSTB0ejBnM0ZL?=
 =?utf-8?B?dGp2dnZRWjJqcTdKbjdNSXN3SWJ6TmFGTzJabEkxNExEeEs5MmdGZXhGSFFp?=
 =?utf-8?B?NkJPdzdqSUdKdkhpcjJYaFErYVVDTEkwTlEzWk9ja0M3a3BUbytIZk83MUwv?=
 =?utf-8?B?QUFPV21idHhFQStNS3JBWUx4MGpyTzlWcjdLUk5yb0w5QUd3dlZGSXYvVW9h?=
 =?utf-8?B?TlpxWTlCeG1FMFd2M0g4Znk0MEJ4OWJESTVJa0FlOVI0T1Q0dHZyYmZpQU9a?=
 =?utf-8?B?Z1EwZ3hVbzM1aWs1Z3dtK1F6OWdwa0pUaTZYbUppV21hMHlldzJNV2VUZmY4?=
 =?utf-8?B?VHh6SkptQ1IrbVdramYxeSt3a1lGbnY0eVlHQjhMQnd1dzBQMXlXTjdXNUMv?=
 =?utf-8?B?aEVQaWsxMUJBYUJhT3FyNUVOejQrWkZWTjhqdlBEL2tvZjNheDFJNkcrYmhW?=
 =?utf-8?B?Y3lPcEExVkM4d0Yrb0xISjMrZURvZURTZ2dMWVJaMlVFZUp1S0k5dWhuRmpw?=
 =?utf-8?B?cmFWdVg2czRaUU5RenQ4Zk42RGlNYzMyU1BHQ0JielBhdGlqam90S0EvVUVl?=
 =?utf-8?B?NlVpS2h0bU4zYllqWWwvUndrQVNLa1BvdnNRSnZrQjMzRTE0VlhORExxWTlY?=
 =?utf-8?B?d0J5cDdsVnVhcG5PRkJ1SjJPQ3RXM215Nnl2bVc2UENVOEpNWG5vc0dzWW0y?=
 =?utf-8?B?M2tuK0hvYU9UMk9ZVTg2S2F0em9oQ21kRHZmUEdkNWx3THJLaUY5bGJzZGd4?=
 =?utf-8?B?VjZUZVNuNWN5MmFyV3VQRWNpd3BLMGJyaEVENncwQXZDKytJeDBQUW0waHZN?=
 =?utf-8?B?NisvUDVNcDR2STVQdE9VNUlBbWdWdmFHYnAvRjZsRS9sSmo0S25ZVnN5cno0?=
 =?utf-8?B?clBXSk81UWlmTDl1SFU4bVRiWXk3S1NydmZ1c2NxeGJWUzMya2w2QmhvK0dz?=
 =?utf-8?B?NXVYdGVjcEJ6WlBTUEQ2eHFIM0V4bE5yc1FFcCtuV01ZWmJUQlU4ejg0N25X?=
 =?utf-8?B?dU9PcE1ZaHNmcy9RNUdkVGZaWERBQXJHUERVbVJxU0MwbHFzZmxuNllPOGZ5?=
 =?utf-8?B?cWpjei82Z294Wi9XZ1RCVFFYdjNsSG15c2dxOGZUeFByTEIya21jWHhYcWNu?=
 =?utf-8?B?NzB1Y0tnanRsdGVnLzAxMkxhMm8waGVEWWIrMllXUmtWZDd1N1V6TEZxUGNG?=
 =?utf-8?B?dkJuZitZdzgxQkdCejJjUWtpcVJNWGJkNHdocXFpK3JzdXUzdk9XY2xoZWIz?=
 =?utf-8?B?MlZiQTRwQUZLOVUxZGU2TGxiRTM2dTZHdWdUT0FQUmxDMzlwa1NieXp6YTIz?=
 =?utf-8?B?eU13WDlJTFNBNm5BOC9Vc2czM3VWY3lWK3pxbzNybnNndFB6L2M5bGFvb3NS?=
 =?utf-8?B?ZTliQzZ5ci91SFZNc2tJaFBJQXNrMG9ad3VOdi9jRGtFN0xxSnpxWEE4d3E1?=
 =?utf-8?B?a201cmNIR09oMlpvanBYY0N2U3ZHSVpraGU4OEZ1dFB2QzlyOTZoMlJIbVd5?=
 =?utf-8?B?Qk1FTjliT1BzU3BlQjFSeDJSM3Z3TmQrbU1UV2VyVDAzdkZ6bk13ZWhFWjcr?=
 =?utf-8?B?WXNlZlZMTHJ4d2k5UXJ0blZ6YTQ4OVJLMlRyQjdDdGZsa3dzbVNSa1hZdWtj?=
 =?utf-8?B?d1pieGJsa3JvZFRCMnZnUUtoR2c3aUI4bDQvdjNMOFB6dGJiZzN6Q2tPcWZw?=
 =?utf-8?B?cFE9PQ==?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6e9346f0-c070-4adb-18dc-08de11518f91
X-MS-Exchange-CrossTenant-AuthSource: DM4PR03MB7015.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Oct 2025 09:58:33.5060
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: sjFMGZQO2L04JczirtcmvGpWBHMs0vhD2OHgyhbHxgswl0PkxYFPQNwkVe1Udh0iZP6j3hDTHSp3fQ6G71A9F8zDMtTeJmfnGPjP05vpxnw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR03MB7409

On 22/10/2025 10:51 am, Teddy Astie wrote:
> These functions are basically wrappers of map_domain_page; move

We tend to write map_domain_page() with brackets, to make it clearer
that we're talking about a function.

> diff --git a/xen/drivers/passthrough/vtd/extern.h b/xen/drivers/passthrough/vtd/extern.h
> index c16583c951..a62310b3e7 100644
> --- a/xen/drivers/passthrough/vtd/extern.h
> +++ b/xen/drivers/passthrough/vtd/extern.h
> @@ -114,4 +113,14 @@ void quirk_iommu_caps(struct vtd_iommu *iommu);
>  bool platform_supports_intremap(void);
>  bool platform_supports_x2apic(void);
>  
> +static inline void *map_vtd_domain_page(u64 maddr)
> +{
> +    return map_domain_page(_mfn(paddr_to_pfn(maddr)));

maddr_to_mfn() drops the _mfn() wrapper.Â  u64 wants to become paddr_t.

Otherwise, Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>.Â  I can
fix up when queueing.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Oct 22 10:04:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Oct 2025 10:04:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1147822.1479968 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBVhJ-00037P-9c; Wed, 22 Oct 2025 10:04:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1147822.1479968; Wed, 22 Oct 2025 10:04:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBVhJ-00037I-6z; Wed, 22 Oct 2025 10:04:01 +0000
Received: by outflank-mailman (input) for mailman id 1147822;
 Wed, 22 Oct 2025 10:04:00 +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
 <SRS0=+n4a=47=citrix.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1vBVhI-000376-Hk
 for xen-devel@lists.xenproject.org; Wed, 22 Oct 2025 10:04:00 +0000
Received: from CY3PR05CU001.outbound.protection.outlook.com
 (mail-westcentralusazlp170130007.outbound.protection.outlook.com
 [2a01:111:f403:c112::7])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 699343be-af2e-11f0-980a-7dc792cee155;
 Wed, 22 Oct 2025 12:03:53 +0200 (CEST)
Received: from DM4PR03MB7015.namprd03.prod.outlook.com (2603:10b6:8:42::8) by
 BL1PR03MB6008.namprd03.prod.outlook.com (2603:10b6:208:30a::8) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9253.12; Wed, 22 Oct 2025 10:03:50 +0000
Received: from DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9]) by DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9%3]) with mapi id 15.20.9253.011; Wed, 22 Oct 2025
 10:03:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 699343be-af2e-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=adUaiMNsgfjQcHUuhg3O5M8k3nntemIcdBVNxkyUn7jx/s2UCOuTTsNkhgDLbJ+qe4MZmL5MBRnWzv79GxZZzHfijjoOCh275nOofcCtWPWW8v/XJeRL9mR9VzjtRDFMgAOXfn1xHy+EjtbUuNVAyoqd89H8GNYAu9dSHhA21kSJl84J+4wtDI/R9KOu9NMro8JYN5fIiY2nXlLUfoCO9xEXa52UyJDdTAfdR7b/Yex8b0g9eGodlmRTzRhGEXgnYnT2eHJGD4xW9d7DrDwiaSUaBkQs+96DvS5Ym2kgLL3DlWtya5uK9U5OdQ9NLurvsnb22c0TlRskONK1RJTtpg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tBBImox+fihdQ9qDhw415JrC/z8uBTlfZ7bELqq6vRk=;
 b=h7Gre2DLZXdytmFfRQpHDc/KbJGLjrw9uranVR+ZUNiFqIArH+i/eq5m71C1XBZduxYQxZkrN56w+8nqHUqBBGTndhBEWzHw7NUhhA4LPyMCs+N5v5a6WZXrSM+ECp9K2tgZmY+9R44iCBBumaLlXr3qzAw+QUGvZeS/f/Vc+SSokVNWcZ5K8qef9I1OtQLxwKP88dPwNpPy7+OZi2RBnPhZzIPDYhYAlAdg16e5N6NCCN+YEzjVlv7Djxj5ULw/XqzbqRLMN0T2XY/Mm3ZNl4R5/PDGbeUhfu9sLGKIfpbh+iCrkyb59XHIBsiLM1oi7JylzNZQkAD6Bm50doeEDw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tBBImox+fihdQ9qDhw415JrC/z8uBTlfZ7bELqq6vRk=;
 b=oGuh9QnbTWs77CzIQavO06Qd1vrTuiiPIdhwlDUlPZ4nbSPdUf/OBKbn5kk9XJojBTEf0/X9Q31d9NXynIsbOiSFUdpUGMGfXLBfLQ3w2xIf7afKRglkWKQtPtYiAf31E0KbyS1IWaMkmLniDYEhP6aKoyW6P259R9dV6Iv00DE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <9bd9bbec-79e6-4b77-b42b-d6cc0456e4e3@citrix.com>
Date: Wed, 22 Oct 2025 11:03:46 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen: fix randconfig build problems after introducing
 SYSCTL
To: Stefano Stabellini <stefano.stabellini@amd.com>,
 xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, jbeulich@suse.com, roger.pau@citrix.com,
 Penny.Zheng@amd.com
References: <20251022043947.949583-1-stefano.stabellini@amd.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <20251022043947.949583-1-stefano.stabellini@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0284.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:38f::9) To DM4PR03MB7015.namprd03.prod.outlook.com
 (2603:10b6:8:42::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM4PR03MB7015:EE_|BL1PR03MB6008:EE_
X-MS-Office365-Filtering-Correlation-Id: 4f898b19-f2d2-49d7-6ea2-08de11524c35
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?N0pBTmwySWJyK1NSeHBZWHE5S1pCZVJ3RjZ6a0IzRlBVenROQ0RrR0NpVWlI?=
 =?utf-8?B?QTg5SFZmUUxweWxQMHVleGtaV0kwQnMyZmxoekl1WlhheTZtT2FrcklhMEFU?=
 =?utf-8?B?TkZHN2pvaitTZnhvTFVIb081TzFGaHRCMUo2dlBkYS96ZWI3dEVuK1dLbDdr?=
 =?utf-8?B?djNZY0xjVzlSR0ZvbDhrZCtMRU9nc2lDRVRpbURGQ0ZTMWpubVpkNEFucjhy?=
 =?utf-8?B?eGFvUzdNOEdGQTI0RG9pT2p3SG9PVEI5QUtCZkxqZVNwWFJXZDk3SHREallK?=
 =?utf-8?B?bm1WUGdWMEV4U1o0QnZ6KzdqRWVNUzlHaDhUekZPdUpSVkJjbDJJZCtDUjV4?=
 =?utf-8?B?UitOYmQvb2tEY0hlWXN3ZkwxazBYNjY0UDdjTDVkN3JGZ1IxNE5Zd2piOHZ6?=
 =?utf-8?B?VkNBSGhVUGFKMUVJdVVKMHphbmk0WjVkMTA3akdIdDVWbjkvcllIS1pWMVVC?=
 =?utf-8?B?MzBSV0pRY0NRdHBpMGRjb29wbzBNNVpYWHkzQm9VQ1RZTThzTHVEZTZzRk9R?=
 =?utf-8?B?NGVNUUxvZytaM1dNZmJKcWFiVlVsaUE3Q05LZnJ4MDBJTU9mbkxFUFlwY2dI?=
 =?utf-8?B?UzB0cWMwNjIxZDF5S3NUQUk4bXRqVnJLeS80MzlhUEI1TFVVUU5CT2NJRU9D?=
 =?utf-8?B?Y2RHU01HSFpXR1UvOC9HZXo4WnEwMmdhbEkxODA4cEZ4akoxQ29rNHV3UTVw?=
 =?utf-8?B?bDdKT0JueDIwTXk1WndmYVNYS0gvNW5qR3J2OUcvaDJiRyt3ZXFPbGE1STVK?=
 =?utf-8?B?Lys4YXh1RjNMU2JEZHlxSFVzeVlKSFdGb0dDVWgxdlhNOUlPZWEwMmZ5U09I?=
 =?utf-8?B?dkh6aHh5dmJDVXN0ajUybkEwNDh2Mi8zVnNWd0dESGxwSlVGTjcrK1hLTDdq?=
 =?utf-8?B?NGtDc0tNR2FVWEdDckx5ZThBR3VMWVZSVFoyMFNuN0xWV091QU1aTGNVSUVa?=
 =?utf-8?B?NGRCQXAzWkpVT1pISFZEc292TFp3Q1VzTXh6ZXdCdlJja2NZM1NIcFpicDg3?=
 =?utf-8?B?VXlkdnhIaTkwclBMM2h5eUNCR3pUQzhsUnJ4R0Zac0cxWWU4eG10b1BSd29r?=
 =?utf-8?B?Vy9BSDBTWXRka0NJTmpJckRWUFV6WWJkR3ZiVkdLMSsyclg3ekRSUmEzaWNU?=
 =?utf-8?B?ajdtTTd5NlRFMVZhVStpZXFBR0Qxbk5NWnExdFhYem5lQXJSL1RxbW05Mmpu?=
 =?utf-8?B?eWxZNnN6Z1BkYWZ0bjhHd0lBUHBTQ0x4UFVMcURIdnlYTlcrN2RIV3VnWjJB?=
 =?utf-8?B?VjdrMDNDNWlaWWVmYzF1SkFGbldvKzVMaE1XS0xVTW9nVTIvRlExclpsUTgz?=
 =?utf-8?B?L3ZRNmp6Z1pZYmtZMVpJdHF4TGxiMHZzWGdUTzVmZjJqZ2N2TklhTUdxUlpr?=
 =?utf-8?B?MVRqVUJWRnNUN2NSRUFsZFlFbXVUQTBNT215QTgyRk1VODRKTUlkNjU1OTJS?=
 =?utf-8?B?UytYcjNBM3RvR3ZZdFdMbCt2bFZwdklSVlRTVmRDK3k2RjlXZjVZV3hhellq?=
 =?utf-8?B?Q2xBZVljdDlNZHN0U1JKNnlvMGpGaEFOaUxFT25hM2gvODFsU2VMUHBVZ3A1?=
 =?utf-8?B?VTZhZDIyTUcrZVNlQnpnK3N4UDE1NEIrRUhrbGthVXFLMlp2V2trdVdOaXdo?=
 =?utf-8?B?MjFwdFExZDNKc2lEU3dTVEI5ZVBINnpXOUpQZmt1WDVXV1kzam42ZG9BOG51?=
 =?utf-8?B?MmZJZ2ttWC9CRk9JaGRSS1NIa3JsLzFNUHg1ZHhzUnB1bXQ2cllMY01kVmht?=
 =?utf-8?B?R1pFSUZSaGZjeWhRb0lncHMyK0VxN0ZvQzZLbUI0bkFtUjcwS2hIQnZpbU1j?=
 =?utf-8?B?ZUVkME5ROE1IcFJRQXFSTjQyc2ZQYzFZa2pIeW9NU0RVMVVmQ2Q1WXF1bExQ?=
 =?utf-8?B?N2lqbVhDZE9ZQ2VYWG9XT3lhWnJUK1pEcWVIMzVtZmtMRFA2c1lIWTEzOTU2?=
 =?utf-8?Q?YjBMuRAOzKgs3z9BRgxJlp7z2IkdEfW1?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR03MB7015.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZzhYMkEvNjlOV2VCajNKb01YYXZTVVd1ZytBa0p5SmttVUpOOG5VR3MyUzVL?=
 =?utf-8?B?OGRHWm94Z2dLQXhuTHgrYjBkUlUyTERpUHdHYTNCRW9vVHNRQk40cTVlUlBk?=
 =?utf-8?B?dThUS1Y5eHpoN1dBM1BLeVpNUUw3bkVza3h2UEhjNGEySVgyM3g5NzIrS3h0?=
 =?utf-8?B?dmpLQ1FnMU5xUG9ieWFGc1dBVkV1bVh2Umd3ZGcyOCs0YlkxYlB2V2xtendS?=
 =?utf-8?B?T0NoS0tXN3M2ZlVkS24vOUFOaHZScmpaNys2eGFDY3N0d0dBMldEbndWeCtu?=
 =?utf-8?B?bnhDTERNVjBIS05GU3hvQ0t6cXlKR3B5ODBJMHg5eUljcUg2QzgxUnVVWkZM?=
 =?utf-8?B?SEw5OVVQRXVSR1VaN09obUtKR1libHhYN3ZFYUp2bUFpK3FvV3RJY0Zrbk9X?=
 =?utf-8?B?dDBWeE5xVFdlZ25tMSthbVUya0lTenJZZm5YUSswUmw3R2FNVkt4d2pHQUQ5?=
 =?utf-8?B?UkFhbk41R21BUFlEQ09Jbk4xWU4zV21OTStUbWlGZUx6ZWpvMDdzdFQ2Mk1p?=
 =?utf-8?B?aUlXM1BvS3J0MEtYNmJ4d2VjUnR6aCs2ZkhYUGxCOWZMbXdMNjVLZkNBUmNm?=
 =?utf-8?B?bWtkbWFRY3RkT0YrV3FCSkdtbTN0U2Yxa3pDNXRDS1htekd5eERKMFk2Q29i?=
 =?utf-8?B?OXhjc282RzNLTjFhZm5DMzBlTVQ4Tzk5SUhURW1qUkJ4N2FqMWRhSnQ4ZU94?=
 =?utf-8?B?M1FnU0lQelRXSFFvTTF0eTBleVgxbFZldVlXb1k4NFRzamFabVhiTStKeXlz?=
 =?utf-8?B?WFBvditHUDVJQjFRVlYzZ1RwZFNMRUY5SGVXdzBBVThUSmErd2hKeFFmQU5I?=
 =?utf-8?B?ODg3UVlqOWRGVW9HcjI5dXVja0JUQ2hDcTdRWGNiK1B5WjlEVWhqUUkrdEhj?=
 =?utf-8?B?Z0t6dW9hTWZ6TzVtODRKMy9BTW44NFVzbHdudXRYVWZqL0tFaWw3MzQ0c2RE?=
 =?utf-8?B?TE1RSjFyNWphVm4yQkVjeVlYdHhjWndTTFgrakNueStnK1Evak8wRDJ3SHQ2?=
 =?utf-8?B?TEZJckNLNHBmL1IvSzZnTTF1dWZscG9sU0xaME9ha202QXNzRTZ4YllYbENv?=
 =?utf-8?B?bytzL0FHS0RaRnN5OENUUWUvVlJhdzNoZHg2U1FqNHkzcEtUMEhqdGQ4V205?=
 =?utf-8?B?Y2lMREhpdWlDL0JDaEJqUWM3Q1hmWG5OVGdJWnl3YWtPaDdYWEY2K2RMK1RO?=
 =?utf-8?B?TWVHNkZ2TVVyZUp6UnJobER1NmRDMHo0K3Y0eDVkUDlDK21BSUUwQlFyUmFu?=
 =?utf-8?B?N0dmOE5nWTh5Rk9FYmFKbm5ZZGpGKzhVRlNvV1VRY0I2TU40Y3ZnT2UzZkpB?=
 =?utf-8?B?WjhacjhDZ0hsL3IxdWFTUHBwbE9OTGxrMTBiOXVPUXRWRUxvaG5zemRpVHFO?=
 =?utf-8?B?cnhsQlJZRkNTSVJLL0Y5TU0yUGJEblFPeDc2UGM1NGREa3NkRTRueGNnU043?=
 =?utf-8?B?MFhjWXZ4ZzNjVG9IdllXVGRmR21Od3RwdngrYjVBR2VyVFhuRk9hRXpSQU1t?=
 =?utf-8?B?a2FXVXp2YlVmSUhoRTRaSVJGR0srd29XNDNzTnJrZTJXdVBhbnc5MzdaMzYy?=
 =?utf-8?B?eXNtNHB0TXdWMk9Ta04wR3h2bUsxb1cvaHRaQStaWTdBV01BWWgxUVdjdlVE?=
 =?utf-8?B?UURNOFc1VWpXc0hTTHlycXVhV3pMMFVlUC82RExYT2krVnlXdFNKOWg5a0Nn?=
 =?utf-8?B?ejkyd3plTTBFVWk3RmJWWGJBMFh5d1BvTmRHNm1GZUJQS1JUbEo5WWg4RmdT?=
 =?utf-8?B?RFlFZjMrZERSM082RWZydVRTcVR3UzJtajA4a3FsWHFTMkovSERnWm55Z2Er?=
 =?utf-8?B?MzlzbWFaMktlVmJ2cnl1QytuZExxMkVXNkloYnVSZWZ0SS92a20vK09TSkUy?=
 =?utf-8?B?M2t3Rkl6YjhIOUhPNHNYaWNFVGxVeUozNkJzTElIOUpoVWFYUTN3U2NJVHZD?=
 =?utf-8?B?Nll0MkRMbXpndG9xby9oZ0xtS2YrUGh5RmtqUXdydlQrUW1Ed211aUpONWIx?=
 =?utf-8?B?VEpzVzdBZXNOWVovMUswcHdKMW9NVThxdnk0SWlSb1JEZDRaZDV3MFZETndM?=
 =?utf-8?B?L2p3K1E4ajJGNERMcTdYdUJQcml2alFiVkhPVm9Gdnk1aENoc0pQUEEvakYy?=
 =?utf-8?B?YmcrbCtZbk9EaVIrK3BWaFdGSmllV3pDSzlLS0FtZ3JvMGlUU0F6SjZPSkNr?=
 =?utf-8?B?UkE9PQ==?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4f898b19-f2d2-49d7-6ea2-08de11524c35
X-MS-Exchange-CrossTenant-AuthSource: DM4PR03MB7015.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Oct 2025 10:03:50.0283
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: VhxzS9yKaPtU6F+IOrGGGAS5njt8BThBfmM/rOLjhfWJwTAqfegRQzkGx3warhpi5I5xQh9ujUtLz+oDUtd+CLvbBj6PQixvbaLpa1112Iw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR03MB6008

On 22/10/2025 5:39 am, Stefano Stabellini wrote:
> diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
> index 3f0f3a0f3a..c2689a3f1c 100644
> --- a/xen/arch/x86/Kconfig
> +++ b/xen/arch/x86/Kconfig
> @@ -144,8 +144,7 @@ config XEN_IBT
>  
>  config SHADOW_PAGING
>  	bool "Shadow Paging"
> -	default !PV_SHIM_EXCLUSIVE
> -	depends on PV || HVM
> +	depends on (PV || HVM) && !PV_SHIM_EXCLUSIVE
>  	help

Committing this would need an XSA to revert it.

As stated in the help text, shadow paging is needed for the PV-L1TF
security mitigation.Â  This includes PVShim.

The default is wrong too.Â  I ran out of energy trying to get it fixed.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Oct 22 10:14:00 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Oct 2025 10:14:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1147838.1479982 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBVqt-00055P-Ci; Wed, 22 Oct 2025 10:13:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1147838.1479982; Wed, 22 Oct 2025 10:13:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBVqt-000552-90; Wed, 22 Oct 2025 10:13:55 +0000
Received: by outflank-mailman (input) for mailman id 1147838;
 Wed, 22 Oct 2025 10:13:54 +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
 <SRS0=+n4a=47=citrix.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1vBVqs-00053v-8x
 for xen-devel@lists.xenproject.org; Wed, 22 Oct 2025 10:13:54 +0000
Received: from SN4PR0501CU005.outbound.protection.outlook.com
 (mail-southcentralusazlp170110003.outbound.protection.outlook.com
 [2a01:111:f403:c10d::3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cf18573e-af2f-11f0-9d15-b5c5bf9af7f9;
 Wed, 22 Oct 2025 12:13:53 +0200 (CEST)
Received: from DM4PR03MB7015.namprd03.prod.outlook.com (2603:10b6:8:42::8) by
 CH8PR03MB8202.namprd03.prod.outlook.com (2603:10b6:610:2c4::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.12; Wed, 22 Oct
 2025 10:13:50 +0000
Received: from DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9]) by DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9%3]) with mapi id 15.20.9253.011; Wed, 22 Oct 2025
 10:13:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cf18573e-af2f-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Fc+i5COOxaLkJOHHB+gWyGBley7r56SsbIbQa0g2oBpzQZCHXLqkOI6rnxVWvNGTsESYNrIIVX9d8nI+SmfUrSZj2Ha7SEuIe3HawpzMswJ8Qn44/l65IVHIj1UrOJctOLA1Tg/58v2PVBYiJ2S1GG/g0P/QBTlHVz2srkm2Skw1pa+VkUHmu87J0ynX4IqyF0ZcakAtjHUrm9dhg8kWMivrRqk1WBH06Q+5+TeHxAXhCo7eAhGZglcq9Cdb9gzNht/lMSV5QvqXEeXnHwAlabJsvNjbjjDGr1p3Kwy9LbhbPp9cJTYd94wzZA+DUKkOqvXQBBOW/55qIvewNjN1Hg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fX+8kL8hXMd+fXcnSs+8jpvv8rpvGXSdcl7GagP3dsQ=;
 b=juqyIUmqoUYHVLP4Fnc0MYfsBAnSwxCeBDGUaNUApYY9lZAhd4Jhj6yl15yHxpl7LdFB1Jwn0Xh8m6zFUKxFPRNm8khCuNDUyfsER8wyXfqO3CPMRKpxBZbtZg30NqAdDYyl1IeJsu14qLnK/PXMuEsqKK6SoXP0Jab3z4caexU8OxZSQI0BGdd1D9S8HVjgDwjvcUOm+u0HT11llFmXO/I1z81LQQAFk/ayVU6esayWFUEarp6XrcDjARahCo23OvqWX6XtMh+JnYX2D2Kr7wkSLI3cGMlqhB0buMJmiwOS6SiokdSNRy0LFDwaW1W3Sxu7cIjeZ4PMQEQaK8F+XA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fX+8kL8hXMd+fXcnSs+8jpvv8rpvGXSdcl7GagP3dsQ=;
 b=eitCO8Hefzjz+wKI6FgUV/jurHPORHueRtXSMirfatKlDVOEWBcpDaIJd7Ky+lzmuCpB5dOW+JT/iXERUlFNYxrwGc6sw+VrZU865krsBJju8oWRMkyP56OcNUy0/ew6pozf9lDR2DiYi3hhSPwsRsF6KEMRUtd2ql1TeYdgHr8=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <413a2226-bab8-41d6-b858-0255e25ee96e@citrix.com>
Date: Wed, 22 Oct 2025 11:13:47 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/4] vtd: Collapse x86 subdirectory
To: Teddy Astie <teddy.astie@vates.tech>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <cover.1761124632.git.teddy.astie@vates.tech>
 <0b9cda94fc8b69563a5f8783d6bc3ed22b0531d9.1761124632.git.teddy.astie@vates.tech>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <0b9cda94fc8b69563a5f8783d6bc3ed22b0531d9.1761124632.git.teddy.astie@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P265CA0390.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:f::18) To DM4PR03MB7015.namprd03.prod.outlook.com
 (2603:10b6:8:42::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM4PR03MB7015:EE_|CH8PR03MB8202:EE_
X-MS-Office365-Filtering-Correlation-Id: c89d3032-2a28-4685-5117-08de1153b21a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?WUF0Z3hKYm56cUhVTVd1K3NoengwWVdqNjcreUdJdGJ5WjVlZnhVMTNVNkhm?=
 =?utf-8?B?L0ovZ1RZMEgwQmwvbGVycU1TN3VLSlY0bmZiQnJ4TzdPR3RJalJMaVNqY1A2?=
 =?utf-8?B?Ymp5KzRhU05iVGlWR2x4ZXlsODNOR0xRNDRHc21pc2IxcU5yRDQvcmk2SHhO?=
 =?utf-8?B?ck9JUXl2dzNBNVMySDJHY2RpTGdaR0pOUUt3Y2JMRk96aXJ6dXo3Nzh1MXdu?=
 =?utf-8?B?NE80dWE1SEFVQWVpbTZRVXBDWUxuY2tmN2pXaG1OZTJKTHMrbC9vWlRUdUFK?=
 =?utf-8?B?cU9JN2hQNWFXYnY4dGNaV3M2M2l5V0pFN1JRN2swVEhIN3dZNnMyR2xYTUZv?=
 =?utf-8?B?bURMNUNDODAyczRER01oME0wOUk3amVSUjFkTVhvZURmNHBsam5CK0dSRGw3?=
 =?utf-8?B?d25mcUIvOWpOR2YwUUhBNW1uOUs2b0VDem1MZFl0eVlUeTMrYlZUeEtUL3Uy?=
 =?utf-8?B?bGpVRFN3VHV2Tno0VHZyZStSYkdoUkp5eEVSVVF2Y2RtTTdnb2NJRG4yMGZW?=
 =?utf-8?B?WnVOZ2YvUkNaWUN3MzJrbWhZZG5QamhON1NwMitlQlZWVEhjRGhIZC96bm1w?=
 =?utf-8?B?UmNIWFhYS1VRVElNcnZ3Ris1TE9VL3FmU0xoN2xxZlR0RDhPSHdXc2xjZU55?=
 =?utf-8?B?aUtTRm1GbENRakxZaGNvdkxKcllmN0JQbTBHNk9vdUJ6WjBLZTJCeHUwS29L?=
 =?utf-8?B?bDJQTTkxdjNzWnIyQURyUU1LaVpwQXcvQk5hMmVrOWNicDIxdmdUOFRWTktG?=
 =?utf-8?B?TUMvS21ZTnU4SStOSUtST1VFeUR5U25VNDJERTZvaWpuZ0pLSG9DQ2hoN0M2?=
 =?utf-8?B?UG1zQzFsNTJ6NWZVa01ZK0N1L21FQWF4QUV5ZGFpMnVKK2pHMkhhTTFxWkF1?=
 =?utf-8?B?YjJXM2ozZHA5bkhlL1BsUzNEUEo4QlZLUXJrWkdPc0VEeWhER2d2b0ttck9y?=
 =?utf-8?B?NW9WdTY5RGcrS3o4N01DRi9LbFdCeEgra2RqU3NndWJxdGcyZCtnTEluL3FN?=
 =?utf-8?B?OFVjWG9iNHlYQlR3ejFEQmwwU1pmMEJDeXdwdVQwS3BOeFRvbFJMNEYxNGZG?=
 =?utf-8?B?K1dUQ0wvdXNIOWxhTFJ0dklzT3V3ZjZSZXNuNXMydnk1T3lFOFFzN0tSQU5u?=
 =?utf-8?B?R2pYcURVUkwrWDVNdHdzc3MwSEQ0eTZYK3NpNll4MUV3ZkNmbWJwZXU4bkhj?=
 =?utf-8?B?WFlCV3J1b2lDNE0zWjQwMUNSVWo0TzlnalZPZnJCN2hhempIaENhdG9sUFMv?=
 =?utf-8?B?MklMU041b3huZ3dJQUUwb3BaUGQwblhKQTh2S2NuNCs5YXlwMWEwbHprK1BT?=
 =?utf-8?B?WE96Mjk3RlZsQ2FWUW5ORUdDc2VkNkdWMDhNdjlicmRFQzBUNzNiQW4rSWVV?=
 =?utf-8?B?Uk9Ed0dpY1NqYWJTYWVqN1haMnBUS2c4bExYTmtzanNjZklUbythd0NPUElj?=
 =?utf-8?B?Rmt4K1hOcEZtbjBrMGw4aGtqTFhsektqbENtU1FnWVVSbEcvWDF0aytROC9i?=
 =?utf-8?B?TGJZeExMZE9SWEcxVzlvQ0wrUlY5NmkwdTFuWHIxNVZOQm9oQVp0ZlRRWnM1?=
 =?utf-8?B?OW9vVVRIN3VVME1PMzFqV2ozejhOcmpxOFZCS1FJT2RIeWtUSjlNZG1YM2N2?=
 =?utf-8?B?RG5xMzh2aW1Ea2lHMEJISWIwdUZkdGtlVktEMXIyUDllbXNvTzJKbUk1YlY3?=
 =?utf-8?B?ZThoSjRLUnFya1FGU05UTDNvbWZWOFNBVmliT1FsWGI5TDVSdGRQSzgxZGda?=
 =?utf-8?B?SUlFNU9iaDJlZDAvaStGa3lHOHBuNE95Y3BLMk1ydVA1UXowSWdyR2dUVjU1?=
 =?utf-8?B?dHR1VzRsS0RGYmtpMG1MSzlrTGMxcTV3ZmhFOXQzWWdHTHVLRHdNejB4Sk9q?=
 =?utf-8?B?U1V6amZjeW9zc0lRNUdNVVhJaFdNSlI2MXk2U2dOMWpGUkVQUVFyY2kwZmx6?=
 =?utf-8?Q?Jdq2qsxbrSf/lYscOyNDG2EzDH+smsaR?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR03MB7015.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?M3pkaFBReEk4SlBXQjFBb09uNWZ0OEIxV2c4bzh6ZVhsYkRVVjVlRUdmaHpE?=
 =?utf-8?B?OXZJbVJtWSt6Vjc2MmdPb0YrSnVWbUtDYlpVTzVHR1p4eXRVSW9SQzJENUo3?=
 =?utf-8?B?TWlyQ3NWUmR2ZGlyVkh0LytnbklzSGxGMXoySTF2K1lRVloya2xZMzIzcXB3?=
 =?utf-8?B?NUpXdlpOaSt3QVFhdGxPeUJkbCt1Wkk2SkYzemFObjVheEo4NWxBeUdHektR?=
 =?utf-8?B?Zk54eDFibUN2TVRsM2lOQXROemxmNnZVbk1qcTBBZzFQN0xXeHpMTEFIMjlJ?=
 =?utf-8?B?SWFmWldNcUFtTUlTKzlCbUtBYU5PZVpCT0xlbGlWeXBnZlZkeEZaQXZRWm1O?=
 =?utf-8?B?Y0JpK1lSMklaWEttNkhrN0ZORlFkb1JOUjlJSmk0dXN1OVM3WTgzL1NCTWZ4?=
 =?utf-8?B?OTZyYUtrTmdJWFF6dktsN09xc1dobGFLOVE5Qi9sQlIvbXI3OFd3bDM1c0ZP?=
 =?utf-8?B?d3ZNbGNwZktOUlhiUDV4UGI3cmRhS3RKRVp5aVBaMUNVZnZkTVFNamJVYS9z?=
 =?utf-8?B?M1E5WU83aHQvQmtvN1B4VXI4d3B5aVlZU2F6djNsaCtwOEZqUnBSemtXTGlD?=
 =?utf-8?B?cmtpc1crQU5VSkVQZE9PRWxwbXR2eisvRm5yT3dmbVRPeG5ubDNkcDlySHFP?=
 =?utf-8?B?ME5ha1AyMFhyQ3hPT1pady9VR0RWMnl0Qkd3eEI0TFAvSmxrOWt5aU9NT3ZN?=
 =?utf-8?B?Z2FqY1VwZTYzNmt5SUFwR3p0ek1SVlVxYXQ2UWdLSEROSHo2bHFETGFrRU1U?=
 =?utf-8?B?TEJHNjVzYXBMQzNwT2tqbUo2ZWl0aWxoaHNzNWlvUllseGM0QWxwUUEyRUxx?=
 =?utf-8?B?bUVqTzJiLzZpVU80SEM3OE9qdDNSUTNlRHFXeU1pbHo3WWhweUNockxxVXBh?=
 =?utf-8?B?WVpMbTQ2YVNDcjRaUWcxZlJ1TmFHNXlUZU0xMEVzWFEvNzAvZGJpRlc1emE4?=
 =?utf-8?B?aW13RTY1WEdxNXlneDNzVjlaNTA5Tjdta2VNMi9ka1VPMUNMWlA2YUJpemlm?=
 =?utf-8?B?NWlIUjIxWjNpV0ZRbDFaZ2REaGpvVi9laVJ0S28vL0RYdndqK0hia2toQ09z?=
 =?utf-8?B?aUxYenpuc3Z1M25pSDZ4d3IxeHVkcGdYVXg2bysyWm1YbnhiZkFtMlBYTzVW?=
 =?utf-8?B?TE1ZZ0lvRVprM2lrVlJUWUJYY0g1QXZnWHBFN05ya2YxM09CS0lZdDhtdkJ5?=
 =?utf-8?B?ZCtCQ1BhdytFa2ZvZXZEWlM5eG5vQ3h1eGdLTUN5NWJxMGU0KzBvdllnbE1M?=
 =?utf-8?B?ZXBUMDJXRnpscWNWY3czS0pqdFpnTWtpeTBsQ0ZsTkNETHhyck03UjF0NzBP?=
 =?utf-8?B?ajhsZGFqSlFHZVhCQ29VTElUR3Z1NWc3ejBrZVZ1eHE5Q1ZxSDdoQVIwbnln?=
 =?utf-8?B?VlVpQWdCam1GWUF2dFZyaTBSOEJmSWFURlc4ZjJHd2dTMkh3U21idFU1UlFn?=
 =?utf-8?B?bGMwSkVOcWVDazJUdWpkNFZyNEV5OTMzb1NWcng1YWhnNGVCOGNYYldpbXJP?=
 =?utf-8?B?RGN5T0FrK0hUYTgvNzgvbDhZOXloS29Xemp6bXZlR2IxNTRCSTFmZmZxWnkw?=
 =?utf-8?B?ZG55elpZUExQeittcVg2bng5S3FXdSsvY2FkQ3QzZDNWWmg3MlQ3bmxOTXdt?=
 =?utf-8?B?VWFuR1dNeWhHNkNjbkZQWEduSURjcDVRVnlQYlVaUUlwVWtaTW1nNGE2bnFR?=
 =?utf-8?B?aEZ3dHBib3cweFFYTVp2VXZDZG11U1pEbDQyLzR4UkJhQnJiWEwvN2Vyd0hq?=
 =?utf-8?B?NzZMakp5ZkE5dWdON25aV1pZaWFiRjVCSjVlRlVQTWhWZjh1RDlaQjY5U1NO?=
 =?utf-8?B?ZFdsQ1R1VGZ6SnVnK2htQ2RCMy90dU1xZzg4YzRPWWpDa1lrN0NJK3BlRFM1?=
 =?utf-8?B?cTNqZ0JGZlUyTE9VbmJRR2N6UGRaMCtjRkNlRTk1STd0S09kcm9MOW9nUDlw?=
 =?utf-8?B?ZHFIS1F3T0p3blVCd3VvaGdoU3RMb1ZkRlVsZFRiSkZUVEtzR21yUjZTUkxB?=
 =?utf-8?B?dWVQTHcrbGZDeWNmNlUrN3I0aUwvMXhhRmltM1oyUHhHQ2hRSzJhTk45dzhQ?=
 =?utf-8?B?SjJzSG9DWnJDT2Q5M1d2eExsMlFNMFpPSmJVck0zVU5kSyswZzROdWRGV3RY?=
 =?utf-8?B?UHVhYTMyZEl4a2l1aEJWaGxzSm51SnNNVXp1MnRDWEVmMStsMUE3VVNDOTlD?=
 =?utf-8?B?K3c9PQ==?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c89d3032-2a28-4685-5117-08de1153b21a
X-MS-Exchange-CrossTenant-AuthSource: DM4PR03MB7015.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Oct 2025 10:13:50.3145
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: TahZ63vKtMKrwm2vZJvPfWf7+ZhXvb+oAzjS2Jca4psGkAKe4jk+OPNXqnkFM+lh+Ca4dIm2LaNxYuXXynksoyXaDKrSQVEw/f24Gq8wB5I=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH8PR03MB8202

On 22/10/2025 10:51 am, Teddy Astie wrote:
> As VT-d only exists on x86, it doesn't make sense to have a x86-specific
> subdirectory.

VT-d does exist elsewhere.

Xen (via the absence of ia64 support) only implements VT-d on x86.

>  Moreover, now that vtd.c empty (once we moved the deprecated
> iommu_inclusive_mapping parameter), only ats.c remain which could be moved to
> the upper directory.
>
> Collapse this directory to make the driver structure clearer.
>
> Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
> ---
> Do we care much about iommu_inclusive_mapping ?

What do you mean?Â  The functionality, yes.Â  The top-level option option
that's been listed as deprecated since Xen 4.12 (7 years now), probably not.

But if you're going to delete it, it should be in a patch of it's own,
including editing xen-command-line.pandoc.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Oct 22 10:15:48 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Oct 2025 10:15:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1147849.1479992 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBVsg-0005bZ-NI; Wed, 22 Oct 2025 10:15:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1147849.1479992; Wed, 22 Oct 2025 10:15:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBVsg-0005bS-KB; Wed, 22 Oct 2025 10:15:46 +0000
Received: by outflank-mailman (input) for mailman id 1147849;
 Wed, 22 Oct 2025 10:15:44 +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
 <SRS0=+n4a=47=citrix.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1vBVse-0005bJ-L0
 for xen-devel@lists.xenproject.org; Wed, 22 Oct 2025 10:15:44 +0000
Received: from SN4PR0501CU005.outbound.protection.outlook.com
 (mail-southcentralusazlp170110003.outbound.protection.outlook.com
 [2a01:111:f403:c10d::3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 110d2e21-af30-11f0-9d15-b5c5bf9af7f9;
 Wed, 22 Oct 2025 12:15:43 +0200 (CEST)
Received: from DM4PR03MB7015.namprd03.prod.outlook.com (2603:10b6:8:42::8) by
 CH8PR03MB8202.namprd03.prod.outlook.com (2603:10b6:610:2c4::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.12; Wed, 22 Oct
 2025 10:15:41 +0000
Received: from DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9]) by DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9%3]) with mapi id 15.20.9253.011; Wed, 22 Oct 2025
 10:15:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 110d2e21-af30-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=IG59CU4qbRmqIE+2drzehNDX2a0L11fFDFeHfhu43uU5C7j1lcvdHtnl48pJkrP6wJKakwhfk3FQc6w9qxKmpfbr36vXXFt51wJ1dD95SJ+jsFu5Va1v6VBHt+jB0Cuc6ML6w1ock/N38Yc415oCxDt1t0t1DXIfQa2lkV5xHl+4t1FIrGTXLhBGTGLoJDVEc9oN5jdaONFTwA2/8jPwhRsvkI98ejq3zWvtqmYHdwjMhkg8zK/hFa+HafN644GsaXmHj68vDljsqNt4Mbw/4M9mPH3Y7aA2VZGzlvTqpjarp9qvXKJ/OMoa58a85n/RAR/nn0fphwfSiSBL4bTLbw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6A1MJbIBK9f1FqQJdobW71kVnUKHWBjhSG3tjRRy1BU=;
 b=dBlt2EbgX2FUF4uFI0qvrU6opwELAvGXHtityvUwTSl0UJDzJ1ervMXQIERJ1RyhpM2/2yWWlpMFsfEgIKlR2r3HEk9RE3OKtFJFs39JZZq+H8Y3hxvfbQ8W9AFVWrPzyB9RCgYvF1PlPGY2KJYFCmPg1r1Ta8GctPJrPBH8YJsSW/qCzHBIsHqIe+rqFRPKUgJAXBHIT4Kfz0iiucBWoYmYH5dMiBPr695NjJfx0fcLSZb+p2d2lw/9jUPwHK7d2aV/G/MjCqc5SNcLC5Abt3ScTqSKWQyVLMdWXA0jhUVwzlyFYB/bWCXXs7P0hHKfCK3mOou8ea/P73fQ7QzueA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6A1MJbIBK9f1FqQJdobW71kVnUKHWBjhSG3tjRRy1BU=;
 b=iOxVQTD3QaxnD1iw+++GDDUQrNBniRVW+7laSoD+JaSD2uW2aWFenp7neppnzyFDHKbUoRH9+HOATMr6lxNpASP2rBC1h+GoPL7NTn7DI8tbIdI4qMaGoU3neh2rKfDyrpQ4BxV1HOc3JAnMAnIM6+sKjrSy/ebcLxwQMD+/mzQ=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <1dd932c3-07b4-4fb4-b974-7e4ed58d998a@citrix.com>
Date: Wed, 22 Oct 2025 11:15:38 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/4] vtd: Remove IO_xAPIC_route_entry macro
To: Teddy Astie <teddy.astie@vates.tech>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <cover.1761124632.git.teddy.astie@vates.tech>
 <540db157df0f0f6e27c7b50edc6a7d82fe668608.1761124632.git.teddy.astie@vates.tech>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <540db157df0f0f6e27c7b50edc6a7d82fe668608.1761124632.git.teddy.astie@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO2P265CA0404.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:f::32) To DM4PR03MB7015.namprd03.prod.outlook.com
 (2603:10b6:8:42::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM4PR03MB7015:EE_|CH8PR03MB8202:EE_
X-MS-Office365-Filtering-Correlation-Id: 36b70278-0d83-41d0-f4e4-08de1153f47d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?aGJHOGlmRlNONkZ3TUxMT2pPS2VzVkJZaWErb0JmZWdFM1U2cWlJcW9IMS9k?=
 =?utf-8?B?YVBxN2xmZFpZY2FYUE5vRVhNeDVKaFJLTHFHQ0JHS210NXRNMkYwWGZrdVNj?=
 =?utf-8?B?SkUySWF1Yy9Bb1JxM29zc2JDK1Fna3FTYmFxSWwrMk11S3RoVVlCTzRsK0sy?=
 =?utf-8?B?MCtyY3NOWllDUjlwZDRhdCtMaGpzT0Nrd2NvWmQyV1ZCSmVrWWUveE9vVity?=
 =?utf-8?B?dS9IRmhBbG1ENk4yem0yY2xEamFZcmVjVlhhWkRGSkFiWjF5ZGNwM1AvQ0VT?=
 =?utf-8?B?c1hYY0sxV1BVelFkTjhLbHFFUjE1SDZZOFJBU25kam9GS3JURFQycUlDQjhj?=
 =?utf-8?B?VWFVeGJ6UnR4YTNvUFI2T3QwaXcwaXcyZ2hoMWdyd3Q1UGdFUHkvcXZNOHd5?=
 =?utf-8?B?WlY4Zi9Ya2JYRFhjazZFRE84ZVIzRVhJMXYwVzRsOUQwU0lhUzFuVkwzcElq?=
 =?utf-8?B?MCtUbklkRTE4TkhlWjNYTTV4TnI5RFRUaG9kNnI3Zk9DMkJEY3FOMzlXeDFn?=
 =?utf-8?B?aG9JVkRKTDdSM2dXYWd4eEJNUkg2TE1CRFluak9OYS8wQ1JKTTNYajNlbkxT?=
 =?utf-8?B?Z1drNmwwK0FzTlVTY1lRYjY2Z0dYbzlIUHFFY1hvNVA0WFNBbmlxTERmWWla?=
 =?utf-8?B?bkNoSXoraEcvdUhQZGhLbTRiQ1BEbjg3WGt0bW1KVWxuNXBXeWlDMy8vNzFM?=
 =?utf-8?B?UitSZisybjZ4U3E4UVNTVXFDOWQ0SmxqWE5FN3M4QlVmMEllbHcvYXgwcGNP?=
 =?utf-8?B?WGx1M2NQR0F4UGUzaTg0enB6alRVZmhlRmZraFh4Zi9EZFF3aVNqbG0zZXNW?=
 =?utf-8?B?ODhjQ2E4MmRlU21GNys4NFhaL3dDdTRXa2MzL0tmai9tUTYzQ2NTUnhQS09D?=
 =?utf-8?B?RWZ6eGhVZzhkMHVDNUpyZU41OFE5UkZhd1RYazZBckY3SXJITDlyWE5mUms3?=
 =?utf-8?B?SnNJa2M0RGpwZ2JlNnNRVU5EWmxvRlJXQWR3ZkdWVnFaTEo5eSszcUl6aEli?=
 =?utf-8?B?TzV6RUlzTEplZk5idlRZc0hFS0I2ajlrNHZ0L1N2aXdYemx3QlRPOXQ3L3VB?=
 =?utf-8?B?TlBxYk9xS0hzT054ZG1Hdkp0RGNJU1hkUUFOamVpamxXank0Y1kzV1hyRXBY?=
 =?utf-8?B?NFlBZ3hTSVFXSU9wa1JoNkhtS1NVS01nQ2ZHNkYvYkRscGM1cFN5eUE1OXR1?=
 =?utf-8?B?TnZ4L2dqV1FCU3daR25rbngvcGFiVGZlZ1pqY0RzVVYyRTVpVE5GS1RwdytU?=
 =?utf-8?B?ZnQ3ZUJxYS9UNkcxVW1wQnJTaEIrRjlJYkxxVVZja0Q2MURtNDNhb1YwUlEv?=
 =?utf-8?B?RzJXRTZlcGp5bVNuZHVsV2w5ajNFSmtwQ016Ry9IRENHMlM5UElxMmcwdVNK?=
 =?utf-8?B?dkFyNUlJeXlTcVJxLy9iUzg0Sm9yZTY0dVRqYlplWjNyZElLU0ZiODdIeG84?=
 =?utf-8?B?VCsvcW9oRHFxRTg4NkF6WHp3Mkp1WkpKWHYrM0tiMkErVDNueDduR1ZNMHcx?=
 =?utf-8?B?cGhXeTBISVIrKzdwQmFFcmIvVjlIR1MyQ3BqRVR5VFFrRUZtNUNnbTRUbkJJ?=
 =?utf-8?B?M0pHK2NCUnpTT3U3VHpGV2xvNVo1SHFtTlB6ak0rcndBMFVFRndhRUYwQVhx?=
 =?utf-8?B?K1MyOGNkN2ZWSkdvU0FBU2lNbi9hSkNKRUF2bjcyNG1pTDJ0MHNxTzBvLytG?=
 =?utf-8?B?VzFHNlJwTmsxUWZmdTBvMkRFTFNFTlZxOFBSRzBXQTNpNGcxMU00WG04cTNv?=
 =?utf-8?B?ckdJeUJhb25vT1l2MkxHcTBkZ1RsUTlONWk2V01PY0lZTHd1Yy9rZWc3TVpv?=
 =?utf-8?B?VzJRcnJMN20zT2xDN3NmU2VLbUVCcmwrT1VYK2hydnFRb1dLY2lTVmNScXR5?=
 =?utf-8?B?SGlkNHdBTVVvTWhNMWxUUVR3aE5KdmxuendwdDBycXUrZVovamtxT3EyMjlz?=
 =?utf-8?Q?3nSZ9ahXGxwbxO1Rcdjzk5Fbms8XNxCu?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR03MB7015.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Y2xrellPaVN6L01HcWtXMGpjbTY5WjRtS2g3MmJLNlZETUVZem8zMmdCUlcz?=
 =?utf-8?B?emJLQ3VHTFNWeGdmZ3JnWXM4Nmp5c24xbFVLalBZWGpoUGhDYkpTWGZDUWY5?=
 =?utf-8?B?Mm4rNTYycHFjUnd3UXVoVjB0bDVUUyttcUc5cklpdWl4cXlQRThpUDVxeGV1?=
 =?utf-8?B?SUN0eTJOMWtWMWtyVU1uOXJaOTg2TUN0M1d0ZDFDdkd4SStpdWc3aGNvUkM2?=
 =?utf-8?B?V2IvMmtIUldEcTVMN0tEZjJjVThtRXdRN2JmdDZMNXQyMjhBZXVNUEE2TWpS?=
 =?utf-8?B?Z3RlQ0J3eU9BTFlVZjRHcFFCU0NVUEd2M1FpY3dmWkJiTnorQzZzWUNZRW9q?=
 =?utf-8?B?NDRNWHFvNTZRZjllMHY3Y3poYkRjOWhoNnhsZTlXa0FjVjRFM0JGVVF3cEEx?=
 =?utf-8?B?UWRkTVRFVXA5MW1Rb0JTaEFnVVRhR28yMGtLTmF4RDRkdVAya3lhL0pic1pC?=
 =?utf-8?B?aVo0eVp1aXhOMmtxVzBUN0VxZ01KUjlmeXlPcXN3OFlvbGpmWWw0VXB3Qml1?=
 =?utf-8?B?RDd3Uzl3MEFncXAxZnVEYUVkWVovYmc4WFpkSUZ6ZHJzODlvN2pDQnM5VHR0?=
 =?utf-8?B?ZnNlYzBWb083NlE0Y1I0Z2N6ZUd2N0RSeDEzWUFtRWFlOWlMUE5qR3p5bUdY?=
 =?utf-8?B?dDBHZHNiVWFkUk5CMjNOemFYSVBkQVh0aVJpZlpxVU1aZW9QVkpJNXFOU01y?=
 =?utf-8?B?MVRiZVBkeGhSTkxnYllRRDBSRlRCNUVBRkZaYkNvOVBUV2ZpZ2wvNWp1UWFK?=
 =?utf-8?B?eW0ya2RMSktHL0I2T0E0NXplUVR6QXRPVWlSaVkvNXNjYVlDcjVCVnJBRER4?=
 =?utf-8?B?L3lmYlJUN0phRWY3b1o0MUJidnJUc0xHdG9hZmllY1ppVEZueW02YkRzTGhR?=
 =?utf-8?B?NlkxanJwM2dpVUZ4ZG1pV3NXN0hUQmJpbWV0SWRzRWROTDZ1L3liTDJrRjFG?=
 =?utf-8?B?SGp6c2EyU0U3dUhZbjVreUZMaDNwa2pJazhtTnRYbHZNekxxcVVYOGJ4L3N0?=
 =?utf-8?B?ZVpwN3BmVVBmSy9xWlNHUERnaVJMV1ViQ1ZBTmJOZWx2SzNZR3VLYmhZV0t3?=
 =?utf-8?B?Yll0bEVoVFZVZG0wSVRRdWtIdGJaMFA3T1c3R3l3RTl6KzMvVGtqZFlNY3NM?=
 =?utf-8?B?T3pBeGxXZTBTYS9iYVk3Q1BSYzcvbEphc2lEdEliNkV1TWVOSE9vS0Zoc1VH?=
 =?utf-8?B?UHRBUW1QZ1hGelN3TWx4YTdhamJjdTZQSXc0eFlWR0hvVEFzU1REcWZBMm5v?=
 =?utf-8?B?eFNYY2NoVnhJc1dNT1FRMjZLaCtMcjhkbFowbk9VT0c1V1VXam9MMDFUWEVB?=
 =?utf-8?B?SVkwODVTQUN6VVNDc01tcTE5UytFUlRzM3F2TlUxcDNab3VlWFFNS1ZmbzVB?=
 =?utf-8?B?QUVnU1hzYnh3di9oc0tZRXkvcUhEay9DZ0dza2FUdUlsV2pKc3VOSVc1TGh4?=
 =?utf-8?B?RU9KTGZaSWJKcTJvRzFsRUp2MGROTUNKdmg2YjQ1VVN4cmgvSkM5QTdRQ0xi?=
 =?utf-8?B?aDdGSFFrUGNIdXhSUC9XREIxTVZVa0Z3Mit5dTd0SytEclUzUzZ3SUVCUHVC?=
 =?utf-8?B?OFl4NlQ2Y1Q2ZGkrSEpjSzZMZVhlZ0hQR2xuejN5NzJzVEpYVG9EUlhOSmxJ?=
 =?utf-8?B?UzhlTndid0R4SlJiLzhmS0JjaTdzdW1CSG1yeFlzcjJFMGMzRzdpOGV2U0wx?=
 =?utf-8?B?WlQvUVE4cHdMTnFteXNwZk9veVJ1RXZpUm5HQ2VUNnJucWs4ZnVtWERFVXhJ?=
 =?utf-8?B?ai9rY1ozNHhGaitaUTBOc25qc2JIZEhncEtxVXlsZStpYnR2YUxPdUc3S0w3?=
 =?utf-8?B?aW4zU0RINGE5UFRKNlo4OUloTC8vd0pFVzgyNjRWMlhqMEJJY0NiUmY1Q0pt?=
 =?utf-8?B?cUZJVTBwYmhteWJQMkJPOG1PcGJFWmw1amowYlBiTlF4MWtHbUtlU05lZVE0?=
 =?utf-8?B?L2YvU1dFdTRodlNSUUFwVGpOZDFQVzFGN3g3ZDNYU1MrdEkxV3FhT3V4d0ZT?=
 =?utf-8?B?MlJ2Tzh0dE4wT01yU1J3eVA4dm1RZkhaZzlEbGUwaC9MK0J3b2ZieEl0OEJh?=
 =?utf-8?B?Z1RTQnhaZzRwb1RoVDRlNFY5Wllrakg1UlFXZ0h0aHM2STF6eEZKblVHOVQ4?=
 =?utf-8?B?a3Y5WjhUZ2l6Y1l2eWZnQWowdFpWN2Q0S0c0dm9PK3YzNjFhVmViMnZvcGZL?=
 =?utf-8?B?ZkE9PQ==?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 36b70278-0d83-41d0-f4e4-08de1153f47d
X-MS-Exchange-CrossTenant-AuthSource: DM4PR03MB7015.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Oct 2025 10:15:41.6774
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: epOTBglLi++rrgV5vrpimv0LExbJneD3y/lRxRHjrIXsqxTBfB3+U/UzVputEaTStcNaxs4eeE5eR/gvAuEuBfGHt1hclZ+MVbKpvmUclBg=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH8PR03MB8202

On 22/10/2025 10:51 am, Teddy Astie wrote:
> This macro was introduced to abstract between IO-APIC and IO-SAPIC (ia64),
> now that ia64 isn't supported anymore, this macro now only refers to IO-APIC.
>
> Signed-off-by: Teddy Astie <teddy.astie@vates.tech>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

> diff --git a/xen/drivers/passthrough/vtd/intremap.c b/xen/drivers/passthrough/vtd/intremap.c
> index 7726ee618a..e0314aa469 100644
> --- a/xen/drivers/passthrough/vtd/intremap.c
> +++ b/xen/drivers/passthrough/vtd/intremap.c
> @@ -398,7 +398,7 @@ unsigned int cf_check io_apic_read_remap_rte(
>  {
>      unsigned int ioapic_pin = (reg - 0x10) / 2;
>      int index;
> -    struct IO_xAPIC_route_entry old_rte = { };
> +    struct IO_APIC_route_entry old_rte = { };

This should be tidied up to '= {};' as the line is being edited anyway.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Oct 22 10:20:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Oct 2025 10:20:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1147860.1480001 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBVxL-0007QF-7h; Wed, 22 Oct 2025 10:20:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1147860.1480001; Wed, 22 Oct 2025 10:20:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBVxL-0007Q8-58; Wed, 22 Oct 2025 10:20:35 +0000
Received: by outflank-mailman (input) for mailman id 1147860;
 Wed, 22 Oct 2025 10:20:34 +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 <SRS0=pHug=47=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vBVxK-0007Q2-M9
 for xen-devel@lists.xenproject.org; Wed, 22 Oct 2025 10:20:34 +0000
Received: from mail-wm1-x332.google.com (mail-wm1-x332.google.com
 [2a00:1450:4864:20::332])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bbd857e9-af30-11f0-980a-7dc792cee155;
 Wed, 22 Oct 2025 12:20:29 +0200 (CEST)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-47114a40161so24750865e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 22 Oct 2025 03:20:29 -0700 (PDT)
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-475c427c3ecsm37393835e9.2.2025.10.22.03.20.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 22 Oct 2025 03:20:28 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bbd857e9-af30-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761128429; x=1761733229; darn=lists.xenproject.org;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id:from:to:cc
         :subject:date:message-id:reply-to;
        bh=OmyU8a+oTryiBDhC1ea6lP/mMWMNCgBlacgVOl1qEEE=;
        b=V4pRpHoRJbBDX/7AlTqAFBwkMMelH8nXOaZnSqpws3TF7/0CaXZWClPQEgdQroL0B0
         9f8UHAT6b/X6DKmAqAQiZ2OnaS7irm5j7iveWMFwKutbbjhatGil2nhWa9q56wr7MkZD
         ZGxXMRFFDaqO8F5zZgvmHJTgqb4B0AipGmgZJrmF1izYXHlFh0wwiVUCMbQWxF8heYXm
         RsCt5bXvOOCjUJqRYr9DTdbRkCWDRii5bHPu4xEdhwIK4Y1anZcsWLoJYf82DqK2A8v3
         oUTAih9vH8M1h+Unnl5M9gQQAy/R/KmdQp/T08AYm51t47Y1PBJQ+l1Y0AznwoS56Ga+
         wwhA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761128429; x=1761733229;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=OmyU8a+oTryiBDhC1ea6lP/mMWMNCgBlacgVOl1qEEE=;
        b=Bs7IXDsL0+rwJhpn5VpiTyyB94tsW8a/3fLzLNfJmYpkgzh2k3xWETOiGK03KP+K66
         w/TpU/CycE64ylgNy64MBdenEilGVngyLf2qem8do5ol6Xv2nx5M0ghTNK3BnbKah9Ox
         lAMa3PRdbeSQULnI5SKHttLB8dQFLyHgrFsy/X4Ckp4gaK9bl75yuZMQLQvRtV5zYLhR
         wh0v0FjUhbR5oL2CS2fJ4kX8YedLW897Kux98eVobXF8ln/uajZhdQRqz+At4i+Ng8ro
         r7OXptntiHhElm8kwS2KoVQpj/euvMbe2MwPrSFq3yGf6APOWYPKrCnpVR1SbGE2H4F+
         n+Jg==
X-Gm-Message-State: AOJu0Yx6oZrojXSwqEsLzGZSDOLiezfAHcx0N63UBkl0gcmlJYusBFZl
	x97ox3IqaDvd8IjtcTrxpyKWm5AHpAGiC4hGpW0QPgRHm4MsNeslb8S5LymEugw4cQTqfDxQxT4
	/uVQ=
X-Gm-Gg: ASbGncuxZQ3k9Kl+2lLUig4tFtrLMrV0baP2u6JciKUgx4kn5dtzhHjJdXPSpSC9Sfd
	W2yZkj/KIZsMGWHdMzNGC1bv0kq0P7zV9Ea922/my7441WndLbCJrpH2VY7Y8BKpkPtPPM2YBJh
	tZ8PWcRSbhDZ+/Mrs2kwjRHdamFWz0B4aj9ye9V0CvkPxE7OsuGhzxfjgcg8w++Ry583CDd5/VV
	qXKbk8YG8ickyUO4eUM9AOIJubeNF938gChaGbYAJyFtGwTDgN2d/ZqV6wEOLqczoLIKhevqhF5
	jCODm8o9Gx6/sFcxE/lNEJg+7S9cH4u0FMPxqH825hOACsPe4WBuRJiSuhxbUbKX2rLXiH/RPHV
	jgzd9F9uniVO37WrlggUPTmVHNL/9U3UVmnxK7OSZtODWgOH0H75uYv6bePSXDF3WbdNlcHp45z
	9PGc4XfeialZpjwiqzAO/CLiYBtz6gBdTaxE7jecVa1/PWdaTxX1l0696ne0xoTOGfTuwfWuk=
X-Google-Smtp-Source: AGHT+IEDzStAWCaB/qWacxM9VmvAQo8aZ/fpTED/0LaOsYlXfnvYUYT9Jqdh6IueUfnGPFA4q5UsqA==
X-Received: by 2002:a05:600c:4e8e:b0:46e:46c7:b79a with SMTP id 5b1f17b1804b1-4711786c702mr177782865e9.2.1761128428933;
        Wed, 22 Oct 2025 03:20:28 -0700 (PDT)
Message-ID: <1fd73d73-ba59-4826-8940-4c557db5775c@suse.com>
Date: Wed, 22 Oct 2025 12:20:27 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Oleksii Kurochko <oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86/mm: correct PG_log_dirty definition again
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
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The earlier change wasn't correct as far as shim-exclusive mode goes:
Shadow mode is still to be enabled permitted there, yet the generic
paging-log-dirty (and more generally domctl) part of the code still is
unwanted (and cannot be used anyway, as domctl_lock_acquire() isn't
available).

Fixes: 2ae8a68df21e ("x86/mm: correct PG_log_dirty definition")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
While a backwards move, properly untangling this will need to be left for
later, I expect.

--- a/xen/arch/x86/include/asm/paging.h
+++ b/xen/arch/x86/include/asm/paging.h
@@ -55,7 +55,7 @@
 #define PG_translate   0
 #define PG_external    0
 #endif
-#ifdef CONFIG_PAGING
+#if defined(CONFIG_PAGING) && !defined(CONFIG_PV_SHIM_EXCLUSIVE)
 /* Enable log dirty mode */
 #define PG_log_dirty   (XEN_DOMCTL_SHADOW_ENABLE_LOG_DIRTY << PG_mode_shift)
 #else
--- a/xen/include/hypercall-defs.c
+++ b/xen/include/hypercall-defs.c
@@ -197,7 +197,7 @@ dm_op(domid_t domid, unsigned int nr_buf
 #ifdef CONFIG_SYSCTL
 sysctl(xen_sysctl_t *u_sysctl)
 #endif
-#if defined(CONFIG_X86) && defined(CONFIG_PAGING)
+#if defined(CONFIG_X86) && defined(CONFIG_PAGING) && !defined(CONFIG_PV_SHIM_EXCLUSIVE)
 paging_domctl_cont(xen_domctl_t *u_domctl)
 #endif
 #ifndef CONFIG_PV_SHIM_EXCLUSIVE
@@ -298,7 +298,7 @@ dm_op                              compa
 hypfs_op                           do       do       do       do       do
 #endif
 mca                                do       do       -        -        -
-#if defined(CONFIG_X86) && defined(CONFIG_PAGING)
+#if defined(CONFIG_X86) && defined(CONFIG_PAGING) && !defined(CONFIG_PV_SHIM_EXCLUSIVE)
 paging_domctl_cont                 do       do       do       do       -
 #endif
 


From xen-devel-bounces@lists.xenproject.org Wed Oct 22 10:22:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Oct 2025 10:22:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1147874.1480011 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBVzE-00080R-LS; Wed, 22 Oct 2025 10:22:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1147874.1480011; Wed, 22 Oct 2025 10:22:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBVzE-00080K-Iu; Wed, 22 Oct 2025 10:22:32 +0000
Received: by outflank-mailman (input) for mailman id 1147874;
 Wed, 22 Oct 2025 10:22:31 +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
 <SRS0=+n4a=47=citrix.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1vBVzD-000808-3i
 for xen-devel@lists.xenproject.org; Wed, 22 Oct 2025 10:22:31 +0000
Received: from BL0PR03CU003.outbound.protection.outlook.com
 (mail-eastusazlp170120007.outbound.protection.outlook.com
 [2a01:111:f403:c101::7])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 02640caa-af31-11f0-980a-7dc792cee155;
 Wed, 22 Oct 2025 12:22:28 +0200 (CEST)
Received: from DM4PR03MB7015.namprd03.prod.outlook.com (2603:10b6:8:42::8) by
 SJ0PR03MB5760.namprd03.prod.outlook.com (2603:10b6:a03:2d3::8) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9253.12; Wed, 22 Oct 2025 10:22:25 +0000
Received: from DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9]) by DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9%3]) with mapi id 15.20.9253.011; Wed, 22 Oct 2025
 10:22:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 02640caa-af31-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=bY4GqyXmCd1G+Py5M5vfPkvMrin1WlfKe0JZmlwEM93JlZQ98yZvS9LtAD6mWhK3jJOhctNK2xpt8OrvJ1HWrZ+XOrxqh2vMDGHjoaw7c1QblUaRYKiW4EQHjo6sXJIdGBep+cWyp5WaRJ5OZoK+g/rYkZd8+SdzJN5FPQwsD3UJx2NHKQ4QT5GecqsG6jTipYlA5I3URWDw0NbO1+gdro0XDKecPACUbCnBZ9hqKZJhO4HfJWp6Y7ihhO2J7chF1uWNBFZ5irUsvIDIiYN6NlK0PVyIyWo2p0UUUqRkNmu180Fs4qZA+Fj2w67I59i9S0xll0Y3BhmTY+LMYgSh3g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SuYiw2ae8Fg33zEpy9lQRUQxB0jHdD2BLe3ApLa6Alc=;
 b=qvVLfHpp4cjREEjW9jeDh5US4uNmvxNJTHTJY3ZzWHU6qNrZLrqG85xY4dEwMCIt0dzpWLQnT3ZRUI5l1ymhmi0MLBzxz9GryAZaxMtrAfa5R+32H9dqYojdEjiLtx7fcnZBlhJSJHJ6W00S4g4orQQE1Yw4L2eLxb090mErvSHc9UOjbWf8ucM5dmiUzXydDYyDJlI0hKhBpyyWd9R/Yf2IeJGU21qjOh969uReXXlJcMrlpqxFcZEAuXsWMpoxonswcrm47hbqCmYKNEd4uDH0ssodNLKYyNRRNdnXVPyPMx0QUUgCgn5CFGkr1N379eBIo2S9hebYz2eDppFCSQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SuYiw2ae8Fg33zEpy9lQRUQxB0jHdD2BLe3ApLa6Alc=;
 b=IppvCc17t20F5cS6c23hw3xrR/nlgIQ/Im52mO8f3fraLUQC66xHSLukijGpdTIFdDdfwpO4M9Ss5LPIlsMccgU7y6UY4mFmYY3G6bW7QSGYix7tEpKZz7IgU/7UPEFnYtHl4pF9NgOrey4SCeBvPqn/mjCynuytNSs6GVemAOM=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <f99480af-a67c-4e7e-b191-06859b625cdb@citrix.com>
Date: Wed, 22 Oct 2025 11:22:22 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 4/4] x86/ioapic: Don't open-code 32-bits rte reads
To: Teddy Astie <teddy.astie@vates.tech>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <cover.1761124632.git.teddy.astie@vates.tech>
 <819a011a32c608f4aefaf692aeac5ee47381a998.1761124632.git.teddy.astie@vates.tech>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <819a011a32c608f4aefaf692aeac5ee47381a998.1761124632.git.teddy.astie@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P123CA0027.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:151::14) To DM4PR03MB7015.namprd03.prod.outlook.com
 (2603:10b6:8:42::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM4PR03MB7015:EE_|SJ0PR03MB5760:EE_
X-MS-Office365-Filtering-Correlation-Id: bab6bbb2-fe93-4ff1-446a-08de1154e528
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?Tno1bXN3SGdFUjBlbTBzR084NGV3dUlFU3NYaHkrZSt5K1NvYUs0NmlQSXFQ?=
 =?utf-8?B?RmRYbWpUaXpDSXg3Z2o4VFpUQlFhNnprUW9vd0E5M1ZGRkFhWlhmUzZLblNR?=
 =?utf-8?B?NldxMUJSTWxXMm5XV2txWDZoMFZRbjNPK0xhSXhlNUtIVGhRUUJidUc2YWtK?=
 =?utf-8?B?RnVPTHZPbWpZWmlKYlQ1TVMxeFk4UjM4cGEwb25Tc1JVTXYySFFUYm1FREU4?=
 =?utf-8?B?amhwNUZMZFE2RUp4d1lsYWtscjB4N1lacGJaMEdZS210TWlRaUJFYnRxQklG?=
 =?utf-8?B?SUtuN1ZOc3g0YkpsR0VBeE9idzEyZlROYzdDMVBtUFBnQ0tzcFZiVm9yMjhI?=
 =?utf-8?B?RjVLcnppSWZQbkxDenZrLzhleHUrSlhxU3hWTTMrbytxcWJOeFRjMzFZZnIy?=
 =?utf-8?B?Zyt2SHNYWWgvRDZYNEhRM3Bhd2R6YmFsZWtUV3lOMkJSdTgxc2dwYU1vSHZo?=
 =?utf-8?B?OVUxWlIzcTJ2N1I5dmhNOFFqNHhlZTBDWExBUTRiOFhVbXBSVEFrUnZCNmRn?=
 =?utf-8?B?bWJtUXpQUGxZb1BmemdZTXlkcGpEWEZzZlROZm9jb1RhRFViTXZSOFM1RkVR?=
 =?utf-8?B?ZGZ5QzV4RVMxRnBKQitOU3VpQzAxL0tCSWxCMHdZNlk1cXBBcHJ6bjdwTnRM?=
 =?utf-8?B?T3FUY2I2Y3l3dStIaEl6Wmd3R1o2Sk9MdFhqYWwxQUlPUDExdGhvTlF6a1Yz?=
 =?utf-8?B?N2JJUmNEWEc3cG1iRkhlUmUvU3RaU2xMbWtqSExaVTNYZWRRdmo3UXRYV1lO?=
 =?utf-8?B?ZS9KU01tcFJBVlp6eXlVLzRKQ3IzVnk0T1VVaWttMVFMdzZPYWpZeENqREVr?=
 =?utf-8?B?clV1Z2pCOFdjWm43T0djT01MVlNIeE5tdGFBcEpMSHU5VHpTZ0o1SENNem00?=
 =?utf-8?B?cExQOXpUSE1JS1padVlrTGo2NmlvaEYwWkNYV3RjTlhId0tQYWY0elBMazE1?=
 =?utf-8?B?a0hBRnhLbEJ6Ly9KV2ZRNEYzYkZLUU1TYTFDdGJXRlp5cDQrRG9oakd2N0pr?=
 =?utf-8?B?bGxaT3dSYmdwUGV0aTRsN2hlQnBIcHFtS2owZzZ3NUxGZVRNUG1VT0VLcStj?=
 =?utf-8?B?bHlpUmVsbTdjZ2Z2WjZMZHZDdnNFZVlJaFV6M1g1RmRVMnZpeVBtb05rY210?=
 =?utf-8?B?c2xab1pOZ1I5MzRtQzEybXlIbTRsWHgzcnQwYWp0K3FFOWRaVkM0bzNBbHJR?=
 =?utf-8?B?ZHJIMEp6Q1ZocmV6RW1Jd1JDYjVyVE1MZStxa3pBdXRGQU9uaUhPajduUVFq?=
 =?utf-8?B?ZUhOQ2JIT1ZRTzB0cnA4emFYVHRqcjRvdHFxbGEzU1owb2EyM2ZsckxNRGcr?=
 =?utf-8?B?dmFTU0dJRXZIN213V0JuM21lNnY4bjNDZ1p4M29QYzJlaE02SEJTWDRad2t0?=
 =?utf-8?B?eUdxQjdZSVZvejI3cVpMRVpLRGNsQmJDSVRNUVFnRXFnTTR5cTlVL2U3S1Bw?=
 =?utf-8?B?TCtUaTYySlRxaWhuZEZUM3RNK1VTQnZvVEVaQlVaRkk4WXdVV1ZYaTdPa0dC?=
 =?utf-8?B?ZDJ3V09HRWdCeUJ2OVZISUNzSHZIcG90WGEwV1FqQU5kbnM2Yzh1QXJ5d1VW?=
 =?utf-8?B?eGNvSWV3aENiMGJSN1FJNHI2eEx2N21BMHVmaTlBSXduMElKOVpTY04zSFNk?=
 =?utf-8?B?NDNHVW04MzIzVkwyMWp1NXN2U3FyYUpnOGwrU2l4ZUFXd3lnYjFEU1pxWjN4?=
 =?utf-8?B?bm40MTFZV0R2Y0xoQzIrVFFxdE9vNmphUkhaSkJMdTVLc2V5MGZZZnNnRDhW?=
 =?utf-8?B?Qkk3enlNSW9Cd3ozSlgxQlJoYUljcTJMWUk2VU5TMVRqeXdVRURxQ3BkZEs0?=
 =?utf-8?B?TDVvRi9OeHp0QTdTOUJpNEhoNm9PbFJlNHVVdDJOWkpuUEpWYk15NmZzcWkz?=
 =?utf-8?B?c0d1eE9WYmtrRnY3L2FlM2phc0d4a0ZCcHZaWlJYVVhJKzI1azErNnI0ZmQ1?=
 =?utf-8?Q?85z/PQ/giC28s2aKQazogab4qLlsOv2e?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR03MB7015.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aytMeVBPNEErTnhSZ0dlcm9JaTZHL21md2NTUVRrQjdzbWJaRWEvS2EzZUt4?=
 =?utf-8?B?clBqbmkycWVteDdzSlFFdlFjS0NlbUErWGVHcmIzQ25DemllcnBhcXVWWFJ1?=
 =?utf-8?B?TjhZYnUydHorSkx3MFZVMnNGbFJTWXg5WjN2ODhDS3dYaisyNWJRQ0R3VDY1?=
 =?utf-8?B?UlR3aHdFV1dBVERydzNmTDVOd3BsV3JiTktHaDR6MzJzczl4ZDNrN0pCZm1P?=
 =?utf-8?B?bXkrbzNxaGJhVzRaMEZVUlUxVHVNRkVXcXFuS0xFc0dUL2UzRWVBUlB2NWtX?=
 =?utf-8?B?TFBZUjN3Z3pvNVpwLzYreUc3QTlHS09meHM5QXlLa3FmOTMvMzZCdVhzUlNk?=
 =?utf-8?B?cmljUzZIeU5Rb0pFakhhUDloY3diRmM5WDBXM1JvRXRoclQ0ejJMMk9RNEhl?=
 =?utf-8?B?NFQxUFQ5QWFzbE9nNHRxS3dlYVdUNFM2UUdkdzZkR1ZVM3dBam1TQmZaVmE4?=
 =?utf-8?B?RGtYdU5Wck01SkpaYkptSzBXL2E2RUl2MDNvTzBkc2QvYW1iYVlmeGhsZ1V4?=
 =?utf-8?B?WTllSE1WQXcrMjZraEN0eUhKdk9aM2QxU2tsdXJVVDgrRDNzcjFNa25pTk5U?=
 =?utf-8?B?SEpOTnZ0MnhxZUhSTnlkMERQVnJwS2QzbGExdGNMU2c3RVB4T1RLZUtacmVW?=
 =?utf-8?B?am1ieDVabEVXNmhJdUZDcXg5L1ZKOTBhMklIRDlHMWRidm5Xc1NkcEFnUkN6?=
 =?utf-8?B?VTlLOUdBdDc3Z0sxdFRCZjUrcERETlJLbmJsWGQ1aFk2MU9Od2Z4Nnh3ditM?=
 =?utf-8?B?UVI3SC9Fb25BaHBGdDRWZktpUDJESWFRVm5FNlhvc0tIeXVPN2N1VTlLVWdp?=
 =?utf-8?B?dWlGRTVUTENwNGR4clhRRk1Td2l5akJCWE9xeE02T3pzdkRZVW9YT2E0VjBu?=
 =?utf-8?B?WTI4allSU1gvc2hTL3Q0TXFQYUhHcnBreXkwdTNIRjRpUGw2OFR2cW5Gejcv?=
 =?utf-8?B?YzNjSUVjMU1UZGpyWk5RYmFRSWtoVU5ET2VVRkx1OHR4c0tjRmhGT0tpS1ZN?=
 =?utf-8?B?ZnJvVVBDWXlmM0xhcVlPZHordDhKZDZTYTBndnJiSGZPZHYraUZYVElqOEJP?=
 =?utf-8?B?c01qR2tzTkhWTnZSUFpQN0MvcExCMjZHK1ZCT2pnTmcyQ21yYkpUYytSbHRQ?=
 =?utf-8?B?QndNWkRzQXd3Ynh2Y1BQTUlMUUJvams0b2Y3U2hTZk1WdVlRRytjdkFhc3I5?=
 =?utf-8?B?ZVRNSGROZnFXZmQyNkVzd20zSCtsNTVRY1cveXVjQ0NIOHVkWGtpTXhwc3VH?=
 =?utf-8?B?Y2Y5VTgrcFVoWDVDOWNTSDB3V0dOam05Z2kzMzJ1cXdYZ2hXYW9JQkFzczlt?=
 =?utf-8?B?bzdEZHIzbmNuU3NuUDZhU2J5eENDVmIwTlQyWW95NE5UWkxybTZsczBwYVRi?=
 =?utf-8?B?OHFJTnJPTnNZRTBhYURFdkdUbE05K01HSGhNdWw2QVgzL0xDRTZTcXNvaVFl?=
 =?utf-8?B?Zjc1Z3dQeXcrNm9DQ000Mkpsb1dxL0llaGphZ3BteFUzM3V1cUxlZ3hBWnd6?=
 =?utf-8?B?dlhhdHdaT1Z1aUN0NEtIOXJsYVJYSDZUVkIvUVphSEVOUzZNbnJCZi95TnVU?=
 =?utf-8?B?QW9YMHFURkRKN3RFQUU5cVF1cnBXTDI5K0pYV2hmSVFGQjVPODh0aGtJQzlJ?=
 =?utf-8?B?eVJvMEVEMU9BTlJaY3N0UnppZmFzRkw0bVU0TWdWRGt2QlcvdXF2UDhEQS8v?=
 =?utf-8?B?dkgzMlhkTDF2c1ord1Uya1l4aGZ1MmNMSUZtNjVLTEcxRW13V3pGeU9CZmEy?=
 =?utf-8?B?UmFQaGVveWpNU3BENEFDU3Fpa21rSUphRG8zNWRCYjRwUXFua0xYclIxbTRP?=
 =?utf-8?B?M1FQRDZVemVsQkg2eWNYRVZDamhGeGVvTUdyOHZuZCthOW1Nek5yZk9vcDV2?=
 =?utf-8?B?WUQ2dVd2cDUrTDNKNHVJRElvcU1UNEtoTkE0bzRZVzlKWkZuSk1qd2J3WGRN?=
 =?utf-8?B?R2J4N1JzbXV1VndGQTJVbnF2WFViTVNxK1pkTkxQa21aR1JvYkptUlV0UENG?=
 =?utf-8?B?bEpidEp4V0dlZTFPSXdWNFNMTysrNkJvR3hyWCswcTNtbDFqL1RuMW96MHJt?=
 =?utf-8?B?TklraG5TQlA4SFVwaVBGVlMxNVBoRUJ6S2ZiN2dia0IwYjZPVTlWdjExUTRa?=
 =?utf-8?B?cDU2cHU1VFBka1RNTnlKRno0VGg0Qlo1K3AvdGpKOFA5SWdmb3RIbEhHaEt4?=
 =?utf-8?B?cGc9PQ==?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bab6bbb2-fe93-4ff1-446a-08de1154e528
X-MS-Exchange-CrossTenant-AuthSource: DM4PR03MB7015.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Oct 2025 10:22:25.4493
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Mh6jiUDWjArxoBqVLsK7ouoHd2WiKCBUDry1saiJ1NXKKKeI0zGEfTCBy+vHqI8NfHLiSog1FghAgpsnFb36XY24lDjNCQ0hfwWxdmNnYNY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5760

On 22/10/2025 10:51 am, Teddy Astie wrote:
> diff --git a/xen/drivers/passthrough/vtd/intremap.c b/xen/drivers/passthrough/vtd/intremap.c
> index e0314aa469..3cdb892559 100644
> --- a/xen/drivers/passthrough/vtd/intremap.c
> +++ b/xen/drivers/passthrough/vtd/intremap.c
> @@ -399,7 +399,7 @@ unsigned int cf_check io_apic_read_remap_rte(
>      unsigned int ioapic_pin = (reg - 0x10) / 2;
>      int index;
>      struct IO_APIC_route_entry old_rte = { };
> -    int rte_upper = (reg & 1) ? 1 : 0;
> +    unsigned int rte_upper = reg & 1;

bool?

But overall, a very nice cleanup.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Oct 22 10:26:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Oct 2025 10:26:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1147889.1480022 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBW2X-00007t-4z; Wed, 22 Oct 2025 10:25:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1147889.1480022; Wed, 22 Oct 2025 10:25:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBW2X-00007m-1q; Wed, 22 Oct 2025 10:25:57 +0000
Received: by outflank-mailman (input) for mailman id 1147889;
 Wed, 22 Oct 2025 10:25:55 +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 <SRS0=pHug=47=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vBW2V-00007e-Eb
 for xen-devel@lists.xenproject.org; Wed, 22 Oct 2025 10:25:55 +0000
Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com
 [2a00:1450:4864:20::32b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7cf95dbb-af31-11f0-980a-7dc792cee155;
 Wed, 22 Oct 2025 12:25:53 +0200 (CEST)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-4710a1f9e4cso49115785e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 22 Oct 2025 03:25:53 -0700 (PDT)
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-427ea5b3b45sm24744773f8f.11.2025.10.22.03.25.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 22 Oct 2025 03:25:52 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7cf95dbb-af31-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761128753; x=1761733553; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Deo/e7KGWxpx8xCv39w9VAACtJH/7mAMmGKMpExsP4o=;
        b=EJsTD7do++7k8c1ht46fQmYgHi9egE5tGB0wfPYpWnWjT2vgdFBBC4fF/Iyny+Xx4a
         kmpzRWIQkQD8U7bWKU8Sf2e1G5ge2Hui4LgjksfQv53X/R6lsZ+sewjQmj0O6GdLYRc7
         jgpzqqx7NDiJfSLWB+DV4wZ4CEVz8UsFBGcQARiRo3HIuuclXhu4YLXBRpry1ky6uYK7
         TPiPcWG6uxGVdWIChxLaZNFV1c9EaBl6p74MP9nihodMvCVwl9YK+uAFsu8/K3qLucHF
         3NZJ62tRmxaa4jLDnYawVo24FA8VFbCIxe2+UV4WKvUelSo7onFXvwoDTcM/7DKIzkht
         FdgA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761128753; x=1761733553;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Deo/e7KGWxpx8xCv39w9VAACtJH/7mAMmGKMpExsP4o=;
        b=XzeIKuGJ5Kdi1Ng3zTTlb8zI/mKJZSewYsJAcoaFmH6+kty2Jp3QktwvEg2sYX5sdh
         FafGgrD0gpglVaMt3LVlBc3vgQbfoQxMGgTQZphgtJ+0YL1itlexEDtFkmyFJdWAfu8J
         rjBQ1H+O6/kDRKBEKLdjLjuh3Kc0wh1vX5CG9oFaQrOYuYC4D/tk4iZ1TMycbMdLY4FW
         SXQTzCLT7F4llZLMheyFmXR5y+DyKTNF/kg3tTsS5tnNstYZKwCklQ7cU66SPN8v1/8k
         TxUHpZcnkf2bXR+Ua158isU/85XGlwMCYUFm14gZNNv0q17ECwuyvpvQvYG+mlmGOmcS
         IkkQ==
X-Forwarded-Encrypted: i=1; AJvYcCV60YlFszy5WKKDxYass0hqS+wqrYcmSouZ5CpKZPiD9coDj6a2Y94hsP0g+9zCKlh/o7YUlOUdSVs=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy5b83pdNFDd6bj4Y2XkFO1s+BJRk/CnT0/pApS2VYReMj+sCjF
	ccOIVj3jV7iN/E6fZmKA1cQgC8ibu5lfkETmj/CfhDdjvEXx3gcxnPFJKnR/b3OODA==
X-Gm-Gg: ASbGncuXMKLRzjDjF+/GAqhB48IKgNOuFmUyy3iwlrjB23VvcT0J5WxqalVLP56gxa9
	1g4WdBMNVjOeAJFk9xxZsGAxmqt3GQ+kYidqBWFeV84sMpYBj3Y3oX/qCyK8Vw+VSt99rsN6qkm
	crbLunVOZU9AyV6g01hxw/nlOW1GGPQuNgFXDpbWRzfmPGuNOsk5izvx5u9aN3BM1H818H4jiAQ
	M1Nc5mo7/vJq6NWjmrK76YS1Mi1hkcisd2flvNdgyWGUQGjtzaHNXYGPUzAmjPUxQWLNdZWHoKC
	4QFy4J7ZQB2FSOK15RrIAERjFTZUvD/lhzXtiyU2y4QKKMHDQQzTyJqPBElGxhXryCcY1cYXsTH
	Vm/mph8UV3+AD9MOEywU961hR1FcPLNX9SdNxzk3YRVP+9+rKVvaIr5B1aM4kx20ExBdUPlV/9k
	XoIa2ILF0PJhXn3Fdn8QvyjBLs67uByPEycNGrWA9TL27EPhSee3Fevc8an8E2
X-Google-Smtp-Source: AGHT+IFZtqgtN+IRIcuTxmrbaYwvq6oACJ5EobuaVRCLdiWcMfLkaIFlUwXbNdUD3v3lD5CEiJCK2A==
X-Received: by 2002:a05:6000:26d2:b0:427:a37:ea3e with SMTP id ffacd0b85a97d-4270a37ee98mr11969385f8f.52.1761128752880;
        Wed, 22 Oct 2025 03:25:52 -0700 (PDT)
Message-ID: <8b995718-26b3-4b66-9c0f-84855019366b@suse.com>
Date: Wed, 22 Oct 2025 12:25:51 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen: fix randconfig build problems after introducing
 SYSCTL
To: Stefano Stabellini <stefano.stabellini@amd.com>
Cc: sstabellini@kernel.org, andrew.cooper3@citrix.com, roger.pau@citrix.com,
 Penny.Zheng@amd.com, xen-devel@lists.xenproject.org
References: <20251022043947.949583-1-stefano.stabellini@amd.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251022043947.949583-1-stefano.stabellini@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 22.10.2025 06:39, Stefano Stabellini wrote:
> --- a/xen/arch/x86/Kconfig
> +++ b/xen/arch/x86/Kconfig
> @@ -144,8 +144,7 @@ config XEN_IBT
>  
>  config SHADOW_PAGING
>  	bool "Shadow Paging"
> -	default !PV_SHIM_EXCLUSIVE
> -	depends on PV || HVM
> +	depends on (PV || HVM) && !PV_SHIM_EXCLUSIVE
>  	help

On top of what Andrew said, I fear this is an issue I introduced. I just sent
a fix for it. Clearly with the pre-existing issues related to domctl_lock_*()
I failed to realize that some of the randconfig failures were due to a change
of mine rather than Penny's.

> --- a/xen/common/Kconfig
> +++ b/xen/common/Kconfig
> @@ -653,6 +653,7 @@ menu "Supported hypercall interfaces"
>  
>  config SYSCTL
>  	bool "Enable sysctl hypercall"
> +	depends on !PV_SHIM_EXCLUSIVE
>  	default y
>  	help
>  	  This option shall only be disabled on some dom0less systems, or

Didn't we say we'd drop the prompt? That would more cleanly be "going back to
what it was before 34317c508294".

Jan


From xen-devel-bounces@lists.xenproject.org Wed Oct 22 10:28:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Oct 2025 10:28:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1147900.1480032 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBW4Z-00013j-Fp; Wed, 22 Oct 2025 10:28:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1147900.1480032; Wed, 22 Oct 2025 10:28:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBW4Z-00013c-Cr; Wed, 22 Oct 2025 10:28:03 +0000
Received: by outflank-mailman (input) for mailman id 1147900;
 Wed, 22 Oct 2025 10:28:01 +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 <SRS0=pHug=47=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vBW4X-00013W-Qh
 for xen-devel@lists.xenproject.org; Wed, 22 Oct 2025 10:28:01 +0000
Received: from mail-wm1-x336.google.com (mail-wm1-x336.google.com
 [2a00:1450:4864:20::336])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c8ee03b9-af31-11f0-9d15-b5c5bf9af7f9;
 Wed, 22 Oct 2025 12:28:00 +0200 (CEST)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-47112a73785so50844735e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 22 Oct 2025 03:28:01 -0700 (PDT)
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-475c438caeesm36152615e9.18.2025.10.22.03.27.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 22 Oct 2025 03:28:00 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c8ee03b9-af31-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761128880; x=1761733680; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=9C9COks+l1CuXwtmwDqd+AZ7DZ340WLwUGQQ4RYQbOs=;
        b=NlF1cCG13fjdri1/9F3rbfWGCdbx3Tn9CqDNJQ67e5GKdnFIUViGaAE/9yMrkiOqMH
         XMZ6RV/73PLLqMq9EYDZaZkdcP09v27n1D1JLrovcyM8U2k7rtel2EjbS02c7IaAyvHa
         crJjtUWOU56yNi+JdJ/VVVJsjELyQuUS2Vd9iHfmit0h1K6DHl2/zMUivSfNYn1r1hUg
         +YEdUSi5pgEET2G6YLE4OKxexof+IU4BvFGR/kaZJuLgFjS5TjauUqNAklECfuvB4jHZ
         tkEMex30L9yUwJouZxIPDggQGvC4WvN0/sRNKIL9tpVb6OFkYuGIwian82atoRt9/shP
         +I+A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761128880; x=1761733680;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=9C9COks+l1CuXwtmwDqd+AZ7DZ340WLwUGQQ4RYQbOs=;
        b=f73tl6m3bsDoLWHCpLD/J/NTwB7DVHGX96ryR27R3LeBxzyjN+/O+Mat1p8NzKqPaB
         HcUiNzm6oypeoQh7EzTugF9Ql1vp8xIWN0wbWQyX8v0OoCxtmayx/YI4EYRBCnVbZSws
         Bjt5zOhDKHz3bGzJNy83nxruSgzcr6y9H4skCdwQMbKgw4k+E1z/iNsle3VCTPpvo21q
         WVvPoR4gZDQ2OkFdF/oHrflvpOy2Y43017KVOVULDTzpnYaa1BZGAKOVTbcZHJOGHLW3
         g4nXlwflIxJe3n1oDic815OBcMg8ZbhsFRvlPJ93wyqyATNmOUmMrXoqr3PYL0aRgYJn
         dMGg==
X-Forwarded-Encrypted: i=1; AJvYcCWGLBstKfVXjLV0cguA9OdVWbYoaNvu1tGz62Vbc54L3SOi0khYP3psvrmMRRD67bu9ltcRLoTuirk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwSf/0M/W/Cc96z2Wj1+uCJnK34GTU7WQRLK4729I26kuWD8UgZ
	aPMCsK2Ff2riwGitSEddSDOEmOQyk3vmvR6FGxWMvEFdOFquqAWWRE7a6Ui4TQcmOA==
X-Gm-Gg: ASbGncuTi+4FDQe3BOKp0FdLLtp4Z/HEMCbNLp5wLMKxqIQQYAXYwHxZRam1PF5AIL5
	Xiuc1p6pkU8fHt6AOHA7aYBWE8PUSRjFSJT6ECNpI8TSSr9+PkHnvNHiZBVyPIITlkBOj/mrkn0
	XaqfhBI9j/WEzP5MrSbYmUW9VMr3dq3PJISwxmjeQFrn/7hIVLMRoHFw68+HEm+OpKmEgN5vI2X
	d/9mNVMivO80hOSibIKxMOV73HnGGn/ksXMUEmowhn6ZhnXFHodabVMm0mjyF/1vtwNWCxojiIr
	LonnTin/TEcT3Qb+drt8cy5lj2fuBTifO/fLSJJXGFzqtwK4tLyGqHAVeZiZAsGnFp+toQ5AUQp
	q8lQEwS/xIz7VXTav9srtD+f615JJjJaZOGfRhxzP5Qyx+KfqaEQCVKTdYLTFPAhzFuJGri/6dt
	zM2hDqecxPN1/jaXIVF7Az+tl5cIa7vRyrOd9Ozl4OBJQUc+4CaVJ+dp/9gBDi
X-Google-Smtp-Source: AGHT+IFXpD4QGlChlInj2xKTFdpEVcIsLW0FRZppx2Q8oPvclMGlHiKo8EzMYTnOO7Oo44bs/vlv1w==
X-Received: by 2002:a05:600c:4507:b0:46e:376c:b1f0 with SMTP id 5b1f17b1804b1-47117876744mr159497095e9.7.1761128880463;
        Wed, 22 Oct 2025 03:28:00 -0700 (PDT)
Message-ID: <e8765029-3a8d-496d-a409-8e576618c1b8@suse.com>
Date: Wed, 22 Oct 2025 12:27:59 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/4] vtd: Move (un)map_vtd_domain_page to extern.h
To: Teddy Astie <teddy.astie@vates.tech>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1761124632.git.teddy.astie@vates.tech>
 <74ff3496afcc0a0b747f9ea203d10f51e6b4d00c.1761124632.git.teddy.astie@vates.tech>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <74ff3496afcc0a0b747f9ea203d10f51e6b4d00c.1761124632.git.teddy.astie@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 22.10.2025 11:51, Teddy Astie wrote:
> These functions are basically wrappers of map_domain_page;

Given this, ...

> move
> them to the shared extern.h and make them inline to help with code
> generation.

... rather than moving can't we just drop them?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Oct 22 10:34:10 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Oct 2025 10:34:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1147911.1480041 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBWAO-0002bw-3P; Wed, 22 Oct 2025 10:34:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1147911.1480041; Wed, 22 Oct 2025 10:34:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBWAO-0002bp-0z; Wed, 22 Oct 2025 10:34:04 +0000
Received: by outflank-mailman (input) for mailman id 1147911;
 Wed, 22 Oct 2025 10:34:02 +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 <SRS0=pHug=47=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vBWAM-0002bj-T0
 for xen-devel@lists.xenproject.org; Wed, 22 Oct 2025 10:34:02 +0000
Received: from mail-wr1-x435.google.com (mail-wr1-x435.google.com
 [2a00:1450:4864:20::435])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9f71efbc-af32-11f0-980a-7dc792cee155;
 Wed, 22 Oct 2025 12:34:00 +0200 (CEST)
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-42557c5cedcso3852019f8f.0
 for <xen-devel@lists.xenproject.org>; Wed, 22 Oct 2025 03:34:00 -0700 (PDT)
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-427ea5b3c56sm24755939f8f.18.2025.10.22.03.33.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 22 Oct 2025 03:33:59 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9f71efbc-af32-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761129240; x=1761734040; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=8utPLk7asuwld9WsOdy9VmdP/6Y1z95GdH//i3He3kQ=;
        b=PBNwTz6I7mQ1Bzq/1IOYi5jRm1TgazZJQqeKQ/RB97ShLHoH3n+8GwzrCWZp9Sv1g4
         qR/VDd69EHDxYOuacH6h6teVl9CVFU4NKXBaPZszEyUfiLwdTSBY4UMxfOSXp7bsgnjY
         ROS51x2PS4kg0DBp8/+DkOKwlMW7BIq7tP7NGWmSuwxiYw/KIdCOdwnRIM13Hi7fcS8I
         QaVG3mRvpFAL3Yv4P1szohaO219hIy4jzGZaUERlXMg6oOv+WXb+zjU62rKRIEZJqhvs
         /jyL4fcbgKKoQnj1uhiL++Bm2teeJG0m5ebi2laauK39mSMGgwg6OtWxD3fbQ+z2IX/D
         MhPA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761129240; x=1761734040;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=8utPLk7asuwld9WsOdy9VmdP/6Y1z95GdH//i3He3kQ=;
        b=FGi8govCskEOySQAXPCB3Aip79arQXcpmHUcPh9QS5U84xJUz5JKRLK5dPMk5i8Sk/
         A4Wi2yOZ1gynQQTG6EPkMN4GR3wYPovw/EmZ8u+BWIzfsFaliIIQ7SBfkk4AhcFvy+gy
         E1IfYRfLjFZgKZxCzmkq/KVnfkY/OS+1mPF+rVN5/x7fwK9zimZl6XRW2L0klgC4G/T6
         QNHbtnIdKTWAws/rJk/4ura4n3EqcUJwM4Z1ojOVXa4Ul9Gk57kmyEMXYMjOXqHwvbjG
         SuKdgteIe4VDJ37slB8rBKhq965Nv2JRdW0MfFFwISb64xRvHNOj4x1/vzAZzOcnI/sN
         afLA==
X-Forwarded-Encrypted: i=1; AJvYcCWIws72uwRUPmDhniGtXUtwlXfzovjs3yrjCnAEKNj6C6PND3xkZEHQ8NdRvEUreJw5/GKTsZV9WiM=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yyw4Y5WApoNhuB0sE7vC/x7kCNLP71aX5mEmhROUvAFcMUmFSK1
	jetnKPXJNxZ6ywRuSwm/dB2buSCXT26QR/D8763aFT8eqq3taFut2NpXs351hkw3Wg==
X-Gm-Gg: ASbGnctnDNNvDu+xCTuQ2FHSzhdgSf+Aow3NrERMd3imFU2TqUXc0TALT7tjCvwf9jM
	EID2JD651+cim8FB6W5bTqFxwfJ4z//BA/2H4ngWPHvKR/UmX0waG5iYzDBEUvtE8oVYNb4UXzJ
	MBvhWjxJDfvTaj3lH8y1rqYz3O2YpwJp0NcOWog+Jxi7jx90gtRHi5ECKq8Z6mKel89zk94yy2E
	ZUUgYdx4S8UdVB4NCm/7rdgRgQh0ZiSHC5K2jLuTh6cnoD3Lw0j0k5CNEpFcRPRhE/PPSijS77o
	zO0k8aR0v2smBtDNnv4A82BhoOB/ble9pkn0M0gZG4tV/kDS1OS0WQXNQ/nJNstDDWX+hZWJf/u
	qFJvBGYKkRHVfbi9tSMxayQcSvINI0GeHvPalY4LOaI3SM3Po3maV1cCu3xHvfcZ0vg1qq0e+LY
	315RXmJPUpt6Gh2d8v5dxbfrNB5mYRfLgc3B3v3vQb+rC0T02jfdTcSm3nXGJc73os309H0/w=
X-Google-Smtp-Source: AGHT+IES5ELJLvq2uZ21z6wPNQmZpHLwoKnvsOod5A+eO8BujQudgOiVlu4D7ezSEyLNn2TLDh7WwA==
X-Received: by 2002:a05:6000:3111:b0:427:900:68ac with SMTP id ffacd0b85a97d-4270900694bmr12210762f8f.39.1761129240286;
        Wed, 22 Oct 2025 03:34:00 -0700 (PDT)
Message-ID: <617e5690-b861-45d3-b8c6-e48ceece8c56@suse.com>
Date: Wed, 22 Oct 2025 12:33:58 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/4] vtd: Collapse x86 subdirectory
To: Teddy Astie <teddy.astie@vates.tech>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1761124632.git.teddy.astie@vates.tech>
 <0b9cda94fc8b69563a5f8783d6bc3ed22b0531d9.1761124632.git.teddy.astie@vates.tech>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <0b9cda94fc8b69563a5f8783d6bc3ed22b0531d9.1761124632.git.teddy.astie@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 22.10.2025 11:51, Teddy Astie wrote:
> As VT-d only exists on x86, it doesn't make sense to have a x86-specific
> subdirectory. Moreover, now that vtd.c empty (once we moved the deprecated
> iommu_inclusive_mapping parameter), only ats.c remain which could be moved to
> the upper directory.
> 
> Collapse this directory to make the driver structure clearer.
> 
> Signed-off-by: Teddy Astie <teddy.astie@vates.tech>

On top of what Andrew said, ...

> --- a/xen/drivers/passthrough/iommu.c
> +++ b/xen/drivers/passthrough/iommu.c
> @@ -57,6 +57,16 @@ bool __read_mostly iommu_hwdom_passthrough;
>  bool __hwdom_initdata iommu_hwdom_inclusive;
>  int8_t __hwdom_initdata iommu_hwdom_reserved = -1;
>  
> +#ifdef CONFIG_X86
> +/*
> + * Deprecated
> + *
> + * iommu_inclusive_mapping: when set, all memory below 4GB is included in dom0
> + * 1:1 iommu mappings except xen and unusable regions.
> + */
> +boolean_param("iommu_inclusive_mapping", iommu_hwdom_inclusive);
> +#endif

... such arch-specific #ifdef-ary is precisely what we'd like to avoid where
possible. Plus the way it's done you're now re-introducing the option even
to INTEL_IOMMU=n builds.

If we were to drop the option, besides editing the command line doc, a
ChangeLog entry would also be needed.

> --- a/xen/drivers/passthrough/vtd/Makefile
> +++ b/xen/drivers/passthrough/vtd/Makefile
> @@ -1,5 +1,4 @@
> -obj-$(CONFIG_X86) += x86/
> -
> +obj-y += ats.o

Losing the CONFIG_X86 dependency is likely right here (ATS is arch-independent
after all), but would imo want to come with explicit justification. The earlier
use of CONFIG_X86 was here for doc purposes (to somewhat help possible future
re-use for another architecture).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Oct 22 12:00:17 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Oct 2025 12:00:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1147944.1480085 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBXVe-0006R6-0X; Wed, 22 Oct 2025 12:00:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1147944.1480085; Wed, 22 Oct 2025 12:00:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBXVd-0006Qd-SR; Wed, 22 Oct 2025 12:00:05 +0000
Received: by outflank-mailman (input) for mailman id 1147944;
 Wed, 22 Oct 2025 12:00:04 +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 <SRS0=pHug=47=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vBXVc-000617-G9
 for xen-devel@lists.xenproject.org; Wed, 22 Oct 2025 12:00:04 +0000
Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com
 [2a00:1450:4864:20::32e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a35d8929-af3e-11f0-980a-7dc792cee155;
 Wed, 22 Oct 2025 14:00:01 +0200 (CEST)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-47106fc51faso80674225e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 22 Oct 2025 05:00:01 -0700 (PDT)
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-475c427f685sm42272675e9.2.2025.10.22.05.00.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 22 Oct 2025 05:00:00 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a35d8929-af3e-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761134401; x=1761739201; 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=PJyxVjm5q9bljcHkMoaY8oQ6BrWP7IUKRjYfmIzh2M8=;
        b=anc4yLkLN4iaCLwz7LLukxiK4XtyRc+rm75LcxIh6Nromow9uRQb1/qFJzBX2tWqoz
         DJFX+3L2kawSw+j0rVmRRrBNs+XbvEB/oi8fy/goANmsPD/YrtBXQL7yq/MmfRFBE/SG
         t0wCpFhK3bqWoOwl/wZn9b5pqm8WUVLc6rr/YY3jvneWApF6OdvoIMy42Ov0lThZQVfc
         bnB/qwqGgP6XGTYprWHFpE5330+/l3tcis7/DzpnaFcw5jr+f94Q8WhvUb4hixAWMjw9
         D/YXMNi7xDUvn9RRukbEjBz6G7SrHl2HYBv1IIHz5HV0AQOz/SGo14ACypbSTcg6jdSt
         /GZQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761134401; x=1761739201;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=PJyxVjm5q9bljcHkMoaY8oQ6BrWP7IUKRjYfmIzh2M8=;
        b=hlbac47Y+KdqkpHaOAei3EVV+Grcbaa1iB/lDxQbuW0CL9UBG1LGlmwn/rpgtiE9k9
         lIbo5gkoDsatAvGTs22jP41qGB4iJuu2dBXX0wy0mkhVecCClBjK0DtR5cT5Nt4PezMo
         2HtADR/grOniMNuxcN4SnG1bWu5KF5+RuF6rSf8zISzLyMyIVy+1h2XsEKhFSCSzr5Vx
         Y0gh28ZKHk3VZnGj29Mj/7afmMAq2C5JNWKbGJYVcfUsvbssCKW66+exBcoKF67Kc6ov
         L1rgR/u00/rBcl3x69Ld3i6ecnP+VKWiB/B/8ymxLCZscqv1MQD4tXDJJNlOhknNwKIw
         BL1g==
X-Gm-Message-State: AOJu0YwqOggAQWy6bBav8yC4P8CFvQEDX8b0ml6zlpD5Piq8TK/SJW/q
	AHzZIIqd0QmuDuhSJwhYlzhkZQGgt0q86sZpfCX7dqilfurAwQ19OqdX8NeZWvaGsw==
X-Gm-Gg: ASbGncv7VV553teF34udZh1Y0bSLvZk2MvEtR/jzTSOd+sYXWDzU3+rJky9Nw6ezgyx
	ZnUjjDqCAFxDpLsybeibeD8JLIihYBL66yXYxGyhoQwG4LKHx/kL5yt53MpSJ1P1RImiVrodR3d
	qYUeVIc7/BdMTVgWSS3AL6ux9MatVQo3ieV3jNh13H9m/Izy7znTG78EfOEPK6JBLchclMOyq6y
	wQg1H4uHJrUnQRDIIWDysHwlZ7j2rJWzYRu5wn8ks6sZbg8rzmeKYzs66ZvoNzZP7EdHcpJ5fPR
	HrvTVFsYSfLbsj4z3y9qqYyHqkLTiv3Ie/wVMhkEwZ1EoEvyrKvIIMIMd0rm7G8ZJJcPWRcl2Kn
	fqp0ybYFFlNVgpndidtUYmOvQR1H2HBF4aucHR+zlxYUoEsFIDVqdzTNjytV8rFoOEe3JAGrZyl
	4KN/1EZ6mkaLtAYA8pMt3SGfZDdZJ/xdrUjdQDaA9Y2c9K1/zKSQ200h4QAq5C
X-Google-Smtp-Source: AGHT+IFQzs2IRI5vtAVmbTfVaYh4EaG3Nw5t+ZtV96faELYn3Sv2FEwlKL7/XAlsBRmhZl8oyqeMDg==
X-Received: by 2002:a05:600c:46c9:b0:471:747:2116 with SMTP id 5b1f17b1804b1-471179303d0mr156249935e9.41.1761134400740;
        Wed, 22 Oct 2025 05:00:00 -0700 (PDT)
Message-ID: <5345f214-41ec-40b0-a083-26a1415d8076@suse.com>
Date: Wed, 22 Oct 2025 13:59:59 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 for-4.21 2/9] x86/HPET: use single, global,
 low-priority vector for broadcast IRQ
From: Jan Beulich <jbeulich@suse.com>
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <b66ea488-2d47-472c-9520-8590fdf89e0e@suse.com>
 <c8c124c4-71c5-41e7-8d84-fd45ffd6af14@suse.com> <aPZh3Y8W4QcV_oLs@Mac.lan>
 <7128bbb5-d099-4584-8cd0-bfeec49b3e55@suse.com> <aPePepQk3t6gxMR1@Mac.lan>
 <16d62ac6-6666-4bad-be59-324cec634a20@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: <16d62ac6-6666-4bad-be59-324cec634a20@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 22.10.2025 11:21, Jan Beulich wrote:
> On 21.10.2025 15:49, Roger Pau MonnÃ© wrote:
>> On Tue, Oct 21, 2025 at 08:42:13AM +0200, Jan Beulich wrote:
>>> On 20.10.2025 18:22, Roger Pau MonnÃ© wrote:
>>>> On Mon, Oct 20, 2025 at 01:18:34PM +0200, Jan Beulich wrote:
>>>>> @@ -476,19 +486,50 @@ static struct hpet_event_channel *hpet_g
>>>>>  static void set_channel_irq_affinity(struct hpet_event_channel *ch)
>>>>>  {
>>>>>      struct irq_desc *desc = irq_to_desc(ch->msi.irq);
>>>>> +    struct msi_msg msg = ch->msi.msg;
>>>>>  
>>>>>      ASSERT(!local_irq_is_enabled());
>>>>>      spin_lock(&desc->lock);
>>>>> -    hpet_msi_mask(desc);
>>>>> -    hpet_msi_set_affinity(desc, cpumask_of(ch->cpu));
>>>>> -    hpet_msi_unmask(desc);
>>>>> +
>>>>> +    per_cpu(vector_irq, ch->cpu)[HPET_BROADCAST_VECTOR] = ch->msi.irq;
>>>>> +
>>>>> +    /*
>>>>> +     * Open-coding a reduced form of hpet_msi_set_affinity() here.  With the
>>>>> +     * actual update below (either of the IRTE or of [just] message address;
>>>>> +     * with interrupt remapping message address/data don't change) now being
>>>>> +     * atomic, we can avoid masking the IRQ around the update.  As a result
>>>>> +     * we're no longer at risk of missing IRQs (provided hpet_broadcast_enter()
>>>>> +     * keeps setting the new deadline only afterwards).
>>>>> +     */
>>>>> +    cpumask_copy(desc->arch.cpu_mask, cpumask_of(ch->cpu));
>>>>> +
>>>>>      spin_unlock(&desc->lock);
>>>>>  
>>>>> -    spin_unlock(&ch->lock);
>>>>> +    msg.dest32 = cpu_physical_id(ch->cpu);
>>>>> +    msg.address_lo &= ~MSI_ADDR_DEST_ID_MASK;
>>>>> +    msg.address_lo |= MSI_ADDR_DEST_ID(msg.dest32);
>>>>> +    if ( msg.dest32 != ch->msi.msg.dest32 )
>>>>> +    {
>>>>> +        ch->msi.msg = msg;
>>>>> +
>>>>> +        if ( iommu_intremap != iommu_intremap_off )
>>>>> +        {
>>>>> +            int rc = iommu_update_ire_from_msi(&ch->msi, &msg);
>>>>>  
>>>>> -    /* We may have missed an interrupt due to the temporary masking. */
>>>>> -    if ( ch->event_handler && ch->next_event < NOW() )
>>>>> -        ch->event_handler(ch);
>>>>> +            ASSERT(rc <= 0);
>>>>> +            if ( rc > 0 )
>>>>> +            {
>>>>> +                ASSERT(msg.data == hpet_read32(HPET_Tn_ROUTE(ch->idx)));
>>>>> +                ASSERT(msg.address_lo ==
>>>>> +                       hpet_read32(HPET_Tn_ROUTE(ch->idx) + 4));
>>>>> +            }
>>>>
>>>> The sequence of asserts seem wrong here, the asserts inside of the rc
>>>>> 0 check will never trigger, because there's an ASSERT(rc <= 0)
>>>> ahead of them?
>>>
>>> Hmm. My way of thinking was that if we get back 1 (which we shouldn't),
>>> we ought to check (and presumably fail on) data or address having changed.
>>
>> Right, but the ASSERT(rc <= 0) will prevent reaching any of the
>> followup ASSERTs if rc == 1?
> 
> Which is no problem, as we'd be dead already anyway if the first assertion
> triggered. Nevertheless I've switched the if() to >= 0 (which then pointed
> out a necessary change in AMD IOMMU code).
> 
>>  IOW, we possibly want:
>>
>>             if ( rc > 0 )
>>             {
>>                 dprintk(XENLOG_ERR,
>>                         "Unexpected HPET MSI setup returned: data: %#x address: %#lx expected data %#x address %#lx\n",
>>                         msg.data, msg.address,
>>                         ch->msi.msg.data, ch->msi.msg.address);
>>                 ASSERT_UNREACHABLE();
>>                 hpet_msi_mask(desc);
>>                 hpet_write32(msg.data, HPET_Tn_ROUTE(ch->idx));
>>                 hpet_write32(msg.address_lo, HPET_Tn_ROUTE(ch->idx) + 4);
>>                 hpet_msi_unmask(desc);
>>             }
>>             ASSERT(!rc);
> 
> To be honest, for my taste this goes too far as to what follows an
> ASSERT_UNREACHABLE().

And it's insufficient: If we suspected the need for a non-atomic update,
the channel would need disabling before the IOMMU update.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Oct 22 12:09:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Oct 2025 12:09:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1147987.1480094 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBXeX-0007jo-Pp; Wed, 22 Oct 2025 12:09:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1147987.1480094; Wed, 22 Oct 2025 12:09:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBXeX-0007jh-NA; Wed, 22 Oct 2025 12:09:17 +0000
Received: by outflank-mailman (input) for mailman id 1147987;
 Wed, 22 Oct 2025 12:09:16 +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
 <SRS0=K0p8=47=bounce.vates.tech=bounce-md_30504962.68f8c969.v1-90857937d7ba46528d50ca0428bc5f5f@srs-se1.protection.inumbo.net>)
 id 1vBXeW-0007jb-5A
 for xen-devel@lists.xenproject.org; Wed, 22 Oct 2025 12:09:16 +0000
Received: from mail180-10.suw31.mandrillapp.com
 (mail180-10.suw31.mandrillapp.com [198.2.180.10])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ecdce19c-af3f-11f0-9d15-b5c5bf9af7f9;
 Wed, 22 Oct 2025 14:09:14 +0200 (CEST)
Received: from pmta11.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail180-10.suw31.mandrillapp.com (Mailchimp) with ESMTP id
 4cs7Hs1qnhz5QrJgy
 for <xen-devel@lists.xenproject.org>; Wed, 22 Oct 2025 12:09:13 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 90857937d7ba46528d50ca0428bc5f5f; Wed, 22 Oct 2025 12:09:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ecdce19c-af3f-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1761134953; x=1761404953;
	bh=//vHRL4R/JMjIYJBz1NJqCzAQ7RqV6Ej8/XRsbgmQsk=;
	h=From:Subject:Message-Id:To:Cc:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=M9oPxDzbY8GGXnd5vNwrpLEtOCZkOzVibLLOL2T3gwOdsIuxEAYbdtJaFrda77y2W
	 FLn4C6MDt95djr7aaNevx2f9LFpENPa4I5KAHyg5CldfIecN2NZrorZNKKCByms3Ib
	 it/aQg8vf/XDo5kKtp3nMsHM0v1JojVkAhXrq0BJV+dlgfRGNz11nYhzp2H1h2sDFd
	 YHRbmsEzRwoizA2hD6Cjimjfo1YZh16kJ+Vd52xsJOh4cFYqeOkY/nmtzNyCvEXfWc
	 Rwnz7YZKKhdeK4URWaDnYsWzPGpXPRRJC4VgzS8Uht0o2snlveQGLtAZOlHMVhZqbI
	 Dp2pn9rzFiPYw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1761134953; x=1761395453; i=teddy.astie@vates.tech;
	bh=//vHRL4R/JMjIYJBz1NJqCzAQ7RqV6Ej8/XRsbgmQsk=;
	h=From:Subject:Message-Id:To:Cc:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=y26Oyouz6CSOqzctBdYH5Vdw69+AVJYES1+W28yWua5D+By8rdabASL5dg6oUgwzk
	 RmxXj2Q+0tNzxvky0qpcwYHfdXDD+qWigNEoi/fsddWimP+4Qgk0B4o0/bUaLqgkxh
	 R3kGks33w8h0nuOisShcli9L1KIc3vgZ6+OOSCTqZsrrLqyPxN1EAI2o+B+l0CFPwN
	 vE4sUYdoNi9dF24P/RG/ZRXujwqx39BkzKSqbZ1PtZJsdW0ecjSz9x7kD6ytCkVwyx
	 67SI/6K5GSR/27EDClFxrJviMR4B6kYos50HOC1pIsVFNHKG39+jKbpMGcHfSrK8+b
	 XDwHzCXpxGWqg==
From: "Teddy Astie" <teddy.astie@vates.tech>
Subject: =?utf-8?Q?Re:=20[PATCH=202/4]=20vtd:=20Collapse=20x86=20subdirectory?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1761134952219
Message-Id: <be5aaddb-4531-4d60-9184-a7d7fc9bc4cf@vates.tech>
To: "Andrew Cooper" <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: "Jan Beulich" <jbeulich@suse.com>, "=?utf-8?Q?Roger=20Pau=20Monn=C3=A9?=" <roger.pau@citrix.com>
References: <cover.1761124632.git.teddy.astie@vates.tech> <0b9cda94fc8b69563a5f8783d6bc3ed22b0531d9.1761124632.git.teddy.astie@vates.tech> <413a2226-bab8-41d6-b858-0255e25ee96e@citrix.com>
In-Reply-To: <413a2226-bab8-41d6-b858-0255e25ee96e@citrix.com>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.90857937d7ba46528d50ca0428bc5f5f?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20251022:md
Date: Wed, 22 Oct 2025 12:09:13 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Le 22/10/2025 =C3=A0 12:13, Andrew Cooper a =C3=A9crit=C2=A0:
> On 22/10/2025 10:51 am, Teddy Astie wrote:
>> As VT-d only exists on x86, it doesn't make sense to have a x86-specific
>> subdirectory.
> 
> VT-d does exist elsewhere.
> 
> Xen (via the absence of ia64 support) only implements VT-d on x86.
> 
>>   Moreover, now that vtd.c empty (once we moved the deprecated
>> iommu_inclusive_mapping parameter), only ats.c remain which could be mov=
ed to
>> the upper directory.
>>
>> Collapse this directory to make the driver structure clearer.
>>
>> Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
>> ---
>> Do we care much about iommu_inclusive_mapping ?
> 
> What do you mean?=C2=A0 The functionality, yes.=C2=A0 The top-level optio=
n option
> that's been listed as deprecated since Xen 4.12 (7 years now), probably n=
ot.
> 

Yes, I'm speaking about iommu_inclusive_mapping=3D<boolean> command-line 
option (that lived in vtd code) that is actually deprecated and replaced 
by dom0-iommu=3Dmap-inclusive.

> But if you're going to delete it, it should be in a patch of it's own,
> including editing xen-command-line.pandoc.

I can add one (along with a approriate change in changelog).

> 
> ~Andrew



--
Teddy Astie | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech




From xen-devel-bounces@lists.xenproject.org Wed Oct 22 12:42:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Oct 2025 12:42:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148005.1480105 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBYAf-0004OF-T5; Wed, 22 Oct 2025 12:42:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148005.1480105; Wed, 22 Oct 2025 12:42:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBYAf-0004O8-QO; Wed, 22 Oct 2025 12:42:29 +0000
Received: by outflank-mailman (input) for mailman id 1148005;
 Wed, 22 Oct 2025 12:42:29 +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
 <SRS0=5FE9=47=bounce.vates.tech=bounce-md_30504962.68f8d132.v1-627da90903c946b391e574425b8800ad@srs-se1.protection.inumbo.net>)
 id 1vBYAf-0004Nm-9O
 for xen-devel@lists.xenproject.org; Wed, 22 Oct 2025 12:42:29 +0000
Received: from mail187-3.suw11.mandrillapp.com
 (mail187-3.suw11.mandrillapp.com [198.2.187.3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 90f33503-af44-11f0-9d15-b5c5bf9af7f9;
 Wed, 22 Oct 2025 14:42:28 +0200 (CEST)
Received: from pmta09.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail187-3.suw11.mandrillapp.com (Mailchimp) with ESMTP id 4cs82B3vlhzDRJLSq
 for <xen-devel@lists.xenproject.org>; Wed, 22 Oct 2025 12:42:26 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 627da90903c946b391e574425b8800ad; Wed, 22 Oct 2025 12:42:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 90f33503-af44-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1761136946; x=1761406946;
	bh=/rkX5HTSOxOTVXicfvozm1aHvVL81p4Pe3Kw9VEmMHg=;
	h=From:Subject:Message-Id:To:Cc:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=XRH9iiylyZq9L1o6jg5pSDKsVdMqmKd4qaaS/eXS1ES+QpWxqA8yJGBwUc7x+jCko
	 Cl7k+BvqLCwUNtoYvX419A7q0aw8iz5FOrQCxIABtqIaH542Zw+tNzx1UhhwFnYiMT
	 cJrH9J2O5KkxXMcSJ9sW9vlM7UJ1kLc/6bx93UQS/Ujm9f5iakSjNub0x9O4fmVs18
	 7tgbBwuknPzftWqIBGQhmM2ArvAjsFS0Kz5oRHhmZHInx8w7Lftxmof/oW+Mtx0iWG
	 /akbGKEf8eFhM92LdKEsmNO2aiWlHMzH2Fe3Ix2UV7i/g8qrZRN+F35ocSdP8xPgVz
	 R2t6hQwsTXNTQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1761136946; x=1761397446; i=teddy.astie@vates.tech;
	bh=/rkX5HTSOxOTVXicfvozm1aHvVL81p4Pe3Kw9VEmMHg=;
	h=From:Subject:Message-Id:To:Cc:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=WCTobzLpjTkr3nbojTYnc0nrDWHWvMtTNLZC+9+PAzbh5e1iZYpjJXQFsP4ZimGCc
	 WvZH3j64kBZ8yjz9GxFaJPD3moMicJ+JAMZOtgM1njPBgX+CEKgEnSYNcseLoINHta
	 k/ItCSry+MAzx70KwZygfzcDTO7MnO7HC11agBXfJpxgKaznpo1XhaHY8X44AtlnZX
	 uB6320KaZX6Egg+qwdDYdSBMdxpMJOgTqLHcHDJThTgQq6zkyPRS/tp45rhnJirOOJ
	 hurx3D42dGiCo62fmamExXeS/K9Aciqa0bfRoo7JjW+tlX1o88I7R2LHrc+y0/SgGg
	 uCLuQ/VJNCwgw==
From: "Teddy Astie" <teddy.astie@vates.tech>
Subject: =?utf-8?Q?Re:=20[PATCH=201/4]=20vtd:=20Move=20(un)map=5Fvtd=5Fdomain=5Fpage=20to=20extern.h?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1761136945591
Message-Id: <cc6aae2e-cbd4-4f5b-a558-5800a424e340@vates.tech>
To: "Jan Beulich" <jbeulich@suse.com>
Cc: "Andrew Cooper" <andrew.cooper3@citrix.com>, "=?utf-8?Q?Roger=20Pau=20Monn=C3=A9?=" <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1761124632.git.teddy.astie@vates.tech> <74ff3496afcc0a0b747f9ea203d10f51e6b4d00c.1761124632.git.teddy.astie@vates.tech> <e8765029-3a8d-496d-a409-8e576618c1b8@suse.com>
In-Reply-To: <e8765029-3a8d-496d-a409-8e576618c1b8@suse.com>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.627da90903c946b391e574425b8800ad?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20251022:md
Date: Wed, 22 Oct 2025 12:42:26 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Le 22/10/2025 =C3=A0 12:28, Jan Beulich a =C3=A9crit=C2=A0:
> On 22.10.2025 11:51, Teddy Astie wrote:
>> These functions are basically wrappers of map_domain_page;
> 
> Given this, ...
> 
>> move
>> them to the shared extern.h and make them inline to help with code
>> generation.
> 
> ... rather than moving can't we just drop them?
> 

That would be better, but that's a larger set of changes 
(map_vtd_domain_page uses maddr instead of mfn).
Ideally, we would want to change the code to use mfn directly and avoid 
converting all around between mfn and maddr when refering to pages.

> Jan



--
Teddy Astie | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech




From xen-devel-bounces@lists.xenproject.org Wed Oct 22 12:50:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Oct 2025 12:50:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148031.1480163 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBYI2-0006Kd-21; Wed, 22 Oct 2025 12:50:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148031.1480163; Wed, 22 Oct 2025 12:50:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBYI1-0006K4-V6; Wed, 22 Oct 2025 12:50:05 +0000
Received: by outflank-mailman (input) for mailman id 1148031;
 Wed, 22 Oct 2025 12:50:04 +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
 <SRS0=7Toh=47=redhat.com=pbonzini@srs-se1.protection.inumbo.net>)
 id 1vBYI0-00061T-EI
 for xen-devel@lists.xenproject.org; Wed, 22 Oct 2025 12:50:04 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.133.124])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a00535dd-af45-11f0-9d15-b5c5bf9af7f9;
 Wed, 22 Oct 2025 14:50:03 +0200 (CEST)
Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com
 [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-636-8J2MpIi7M2yK0ZJRMdvkPA-1; Wed, 22 Oct 2025 08:50:00 -0400
Received: by mail-wm1-f69.google.com with SMTP id
 5b1f17b1804b1-47111dc7bdbso52552075e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 22 Oct 2025 05:50:00 -0700 (PDT)
Received: from [192.168.10.48] ([151.61.22.175])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-475c428a534sm50029055e9.6.2025.10.22.05.49.55
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 22 Oct 2025 05:49:57 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a00535dd-af45-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1761137401;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=cyh9GNwkSeiWX8VVWJet6cmrStrv1Y1BhHYKMAKCy08=;
	b=aAilEOob8MMVFEkWURHCW9Vwkf2sd7OjrJ1WBZhbJ5MOrijxW6XleAuN0uUYh39DCDFF6w
	VFGLafRZMzWkZ37yctTzF1dU5+T9XI6+FZG7N5Fg6cQpvKYr+kQfa/3tqOIkpCMr95mT6X
	7n618B45nYcBF5hk8SmrWh2zc5/yd8s=
X-MC-Unique: 8J2MpIi7M2yK0ZJRMdvkPA-1
X-Mimecast-MFC-AGG-ID: 8J2MpIi7M2yK0ZJRMdvkPA_1761137399
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761137399; x=1761742199;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=cyh9GNwkSeiWX8VVWJet6cmrStrv1Y1BhHYKMAKCy08=;
        b=Ij4ZYtpg8KWv+7saqBtOadBzQIMUa8yKy/Lk7SdyEsP+qAEIL9pO271vKLWcSq9km0
         WCqbcfsc3ovvwozK91//E10Bnj5sYhg2TbCNd1Zt+D9XWzmlnc8QetalBdjSs7Va32oP
         Nz8YKTlxLZ+ljXHeIN2SYpg3txL1YBOmWNV2pkVgkRQqjZ3+K7eZgwa/pfplbpVIaCW5
         8h5mCC9exBk5FixES5EqjTkS3LNHGYhOxPKlzCa9ajtyyrmsv9Z3Nz1yI94ski4TTJRZ
         xnDuTelMoIO2MuUeGn7F43Wrng1sIPqJFRppsGjfm0a9vYgvZJGXo8ecgrsZtXjwjVlf
         nEUA==
X-Forwarded-Encrypted: i=1; AJvYcCUGalBExYcbJPJZIh7ifVAD6kJkK3219s0guLggqz1GuQBeniNzlchURZtVVWcxWcSLsOEZwTw5s0k=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwEb4KMDIE/aO31jIfN9KqDdd+2iWrYxZuF6BRdVCZ+qZxv4hY0
	2EKld1mtS2cnUJGHvfEid2Zb1/kWTgDPYYSGRQHTSm3vhuLVi0Ebd5NcsikHJNmtBtSLjnfL0No
	tXLHcqosnC0ZESr9rvSECljCLAOZpc5SWyKYOT16BieMCnsaYtQjasDvdYdy7ftwVyOyZ
X-Gm-Gg: ASbGnctt/CS1F74HQwvDEp+Fg33UjRR0US/+wPslCjz5za/d0ysjTFRFU1E3Y2p8ssM
	j1JK8OM12uaaanClLcLWD2HvE97mnyGhuPzrj9uBPjL/b29zzfm+uU8rSE9Er5VqonRkbOpTlop
	rZGXioeQZJuFOtGghc5+oZBGsNmfJ0e0+I2ZMtFJDn6uypUSIwkx5fZJRDBQpgIaNKLaR15GFhA
	lMN3yVLVD6/oGX+A5I8r80XgGxBw04J/8Gd2aVi/a7Ap/XvJgAmrG2xH7e9cnaNgV7NekCPRA45
	3Wk/G6Wug7rsOPGVMGoqws23f0NYNWfllVaz+fSyJTMLCoxX5hXSMDVXxKKi+5TGoRpskEr3gsa
	r/MhzNB4g5+G2vHBDycLAccFaE543LVSzmi9yqE2oS3ThhHsyR0SIkGHqAe1KCZTCZkYDfWOw05
	hQXg==
X-Received: by 2002:a05:600c:3e07:b0:468:7a5a:1494 with SMTP id 5b1f17b1804b1-4711787350dmr122416765e9.1.1761137399200;
        Wed, 22 Oct 2025 05:49:59 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IH/Hm2BY761ErfCQAW9TWE1D63G3DyFVH54t8V55V0H1jT6mBT86okovR2Of93UGrtI6FGtKQ==
X-Received: by 2002:a05:600c:3e07:b0:468:7a5a:1494 with SMTP id 5b1f17b1804b1-4711787350dmr122416435e9.1.1761137398787;
        Wed, 22 Oct 2025 05:49:58 -0700 (PDT)
From: Paolo Bonzini <pbonzini@redhat.com>
To: marcandre.lureau@redhat.com
Cc: qemu-devel@nongnu.org,
	Gonglei <arei.gonglei@huawei.com>,
	Zhenwei Pi <pizhenwei@bytedance.com>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Stefano Garzarella <sgarzare@redhat.com>,
	Laurent Vivier <lvivier@redhat.com>,
	Amit Shah <amit@kernel.org>,
	Stefan Berger <stefanb@linux.vnet.ibm.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Peter Maydell <peter.maydell@linaro.org>,
	Igor Mitsyanko <i.mitsyanko@gmail.com>,
	=?UTF-8?q?Cl=C3=A9ment=20Chigot?= <chigot@adacore.com>,
	Frederic Konrad <konrad.frederic@yahoo.fr>,
	Alberto Garcia <berto@igalia.com>,
	Thomas Huth <huth@tuxfamily.org>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Jason Herne <jjherne@linux.ibm.com>,
	Yoshinori Sato <yoshinori.sato@nifty.com>,
	Magnus Damm <magnus.damm@gmail.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	"Collin L . Walling" <walling@linux.ibm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony@xenproject.org>,
	Paul Durrant <paul@xen.org>,
	"Edgar E . Iglesias" <edgar.iglesias@gmail.com>,
	Alistair Francis <alistair@alistair23.me>,
	=?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Richard Henderson <richard.henderson@linaro.org>,
	Helge Deller <deller@gmx.de>,
	Corey Minyard <minyard@acm.org>,
	Paul Burton <paulburton@kernel.org>,
	Aleksandar Rikalo <arikalo@gmail.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Daniel Henrique Barboza <dbarboza@ventanamicro.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Michael Rolnik <mrolnik@gmail.com>,
	Antony Pavlov <antonynpavlov@gmail.com>,
	Joel Stanley <joel@jms.id.au>,
	Vijai Kumar K <vijai@behindbytes.com>,
	Samuel Tardieu <sam@rfc1149.net>,
	Gustavo Romero <gustavo.romero@linaro.org>,
	Raphael Norwitz <raphael@enfabrica.net>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	"reviewer : vhost-user-scmi" <mzamazal@redhat.com>,
	Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp>,
	Dmitry Osipenko <dmitry.osipenko@collabora.com>,
	Fabiano Rosas <farosas@suse.de>,
	Markus Armbruster <armbru@redhat.com>,
	"Dr . David Alan Gilbert" <dave@treblig.org>,
	Zhang Chen <zhangckid@gmail.com>,
	Li Zhijian <lizhijian@fujitsu.com>,
	Jason Wang <jasowang@redhat.com>,
	Manos Pitsidianakis <manos.pitsidianakis@linaro.org>,
	Max Filippov <jcmvbkbc@gmail.com>,
	Lukas Straub <lukasstraub2@web.de>,
	"open list : Sharp SL-5500 Co . . ." <qemu-arm@nongnu.org>,
	"open list : S390 SCLP-backed . . ." <qemu-s390x@nongnu.org>,
	"open list : sPAPR pseries" <qemu-ppc@nongnu.org>,
	"open list : X86 Xen CPUs" <xen-devel@lists.xenproject.org>,
	"open list : RISC-V TCG CPUs" <qemu-riscv@nongnu.org>,
	"open list : virtiofs" <virtio-fs@lists.linux.dev>,
	"open list : Rust-related patc . . ." <qemu-rust@nongnu.org>
Subject: Re: [PATCH v2] char: rename CharBackend->CharFrontend
Date: Wed, 22 Oct 2025 14:49:51 +0200
Message-ID: <20251022124952.3691010-1-pbonzini@redhat.com>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251022074612.1258413-1-marcandre.lureau@redhat.com>
References: 
MIME-Version: 1.0
X-Mimecast-Spam-Score: 0
X-Mimecast-MFC-PROC-ID: IYqCJQXPcbBdswq8Wt2sDQ3u__UJ-vuBopcxumrjlfw_1761137399
X-Mimecast-Originator: redhat.com
Content-Transfer-Encoding: 8bit
content-type: text/plain; charset="US-ASCII"; x-default=true

Queued, thanks.

Paolo



From xen-devel-bounces@lists.xenproject.org Wed Oct 22 13:09:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Oct 2025 13:09:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148048.1480173 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBYaz-0008Lm-KT; Wed, 22 Oct 2025 13:09:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148048.1480173; Wed, 22 Oct 2025 13:09:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBYaz-0008Lf-Gc; Wed, 22 Oct 2025 13:09:41 +0000
Received: by outflank-mailman (input) for mailman id 1148048;
 Wed, 22 Oct 2025 13:09:40 +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 <SRS0=pHug=47=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vBYay-0008LZ-Aj
 for xen-devel@lists.xenproject.org; Wed, 22 Oct 2025 13:09:40 +0000
Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com
 [2a00:1450:4864:20::32b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5c7a321d-af48-11f0-980a-7dc792cee155;
 Wed, 22 Oct 2025 15:09:37 +0200 (CEST)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-471131d6121so52249295e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 22 Oct 2025 06:09:37 -0700 (PDT)
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-47496b09bc4sm38635745e9.2.2025.10.22.06.09.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 22 Oct 2025 06:09:36 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5c7a321d-af48-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761138577; x=1761743377; darn=lists.xenproject.org;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Gk8Ho/nnBl7Unpb04ZHhRa2lZ43sIUqwJ2r5W2K6E0Y=;
        b=BHIHtpSyfEohBGgUC6LLooI9IFf+hmwTomhDHKEKOrB3EDodzowftVolGo+VS/OWEq
         GPNoNZPXqSiwgVe6GV0VBJUy3urLpOw6YBH435XmsIRNAfnR7VOqKUn1xEjzLfw/tMMq
         XEMJorPIoePn8VO8pbFdPradISOjcxrHPCad2iTBZWDzG2GSx5CQfKlTK/5rsdQe6/iN
         m+xpp7QtX1D4z1SnyQ8TFZtqFsz7SUEKPBK9dbFtA3jl0d20HPG7PCcxyfKdnDSDHZW0
         SIOMidlH19M6V50wK1HWgqFmAXn/yBer2HmgTQZcjj6ockX4DfMNqaAxJG7MubcvrHY/
         isog==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761138577; x=1761743377;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=Gk8Ho/nnBl7Unpb04ZHhRa2lZ43sIUqwJ2r5W2K6E0Y=;
        b=ijCgy9fe+SeR6nhE/hwLzxoj0D+hvXLHHZ69c6g4MKN3BxU/xq0qQzX/laVxL5wumw
         uirILAB/wy2vr00QQh3YYgcZ14brI7capS6nny5v53xo6nUKrZMWgs2VmfPMAoF8aTmd
         LMkKBe3pNE8swT1vpQArFikHmkoKqgPto9msmyUDj8L9Ul0appL0uGF8EW5/jdevJx/6
         ULy8geizUVByh1m4gL1z8VrwfRC7OwR5JTDFNOpuss44HFjHZ/dLtergpqOidZopAs1l
         xBPuQBImGbQo3049+8m+iFD7XJ+1PxqqO+KZPUVDzdWbtYghq2LQjQvGkfLih84w8/27
         kYbw==
X-Gm-Message-State: AOJu0YzV93AAdkfA8al3Xe3oMKy0nsUaEdT1hmUKSxBeVlVJBrgdFn8E
	F/GFZIgKEbjkIVMvSDxgrfz7eH0InoSCa3QACw7R8gwUvl4wAxHGciWtTOGZb1AJldmI8JvBN1X
	3QOQ=
X-Gm-Gg: ASbGncsV+5ehV0cA8lpoujsqqWGEXVDkERweJ4NklNTCH8aUlAkTg2xJMoGzbEhdOtY
	OT0xaHjJVfU+0ESYlDnVrW7MNce+JQwvjA2eZrSHk9vlfEV1ixL57jJppPjgQjNnF+TCkcrXATz
	AJ6NbQR8gUa1o9B/zoVRiiSqKmUfb3RcDCUHcYz+jvRQQvF2evqRXQ9LhGJF3fVTzgz1zunHhdr
	U5vDz4tuFvecqe8Bm54PKHqs+v4+Ykbq3bnKpzrQwm19O83ZUEqKhZ52cQZuwYJ8p70avMki0C9
	n03qtUkGAEdCeWfjlHxVYaGJe+j0Nt0XM/A+kNeW8RBO05oPJBSq+f6sqD7itipuG+f4aaA+2Mg
	jFlz67s9/p+Icmh1HmTil3NBq5URkYODs88YDBa1s3Yz1p1rcymu9WoSRdAUKX+pw09Dq45fHLo
	g/jo9Y667xNqAKQQ1Ctx9DPk2FpunHHWWw2zqoZ9gFbtKC8jnknVvTyimW7ygE
X-Google-Smtp-Source: AGHT+IF1bIF89c8TkbudzLMY5is1SmjjZfZu7SwkOvZwLM6hX/hD6ikYW7j41vVwUhX140zzauTrbA==
X-Received: by 2002:a05:600c:3b03:b0:46e:53cb:9e7f with SMTP id 5b1f17b1804b1-471178a3ff6mr149052565e9.18.1761138576792;
        Wed, 22 Oct 2025 06:09:36 -0700 (PDT)
Message-ID: <b579b375-c1d3-4ee0-b2fe-21ed02af74a3@suse.com>
Date: Wed, 22 Oct 2025 15:09:35 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Juergen Gross <jgross@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] Xen: limit XEN_ACPI further
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
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Most of what it controls is strictly Dom0-only. Exception being the PCI
backend driver, which in principle could also run in a driver domain.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/drivers/xen/Kconfig
+++ b/drivers/xen/Kconfig
@@ -317,7 +317,7 @@ config XEN_AUTO_XLATE
 
 config XEN_ACPI
 	def_bool y
-	depends on X86 && ACPI
+	depends on X86 && ACPI && (XEN_DOM0 || XEN_PCI_STUB)
 
 config XEN_SYMS
 	bool "Xen symbols"


From xen-devel-bounces@lists.xenproject.org Wed Oct 22 13:56:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Oct 2025 13:56:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148083.1480267 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBZKI-00075D-7q; Wed, 22 Oct 2025 13:56:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148083.1480267; Wed, 22 Oct 2025 13:56:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBZKI-000756-4R; Wed, 22 Oct 2025 13:56:30 +0000
Received: by outflank-mailman (input) for mailman id 1148083;
 Wed, 22 Oct 2025 13:56:28 +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
 <SRS0=0J7Y=47=epam.com=Mykyta_Poturai@srs-se1.protection.inumbo.net>)
 id 1vBZKG-0006dh-6a
 for xen-devel@lists.xenproject.org; Wed, 22 Oct 2025 13:56:28 +0000
Received: from DU2PR03CU002.outbound.protection.outlook.com
 (mail-northeuropeazlp170110003.outbound.protection.outlook.com
 [2a01:111:f403:c200::3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e6f080e1-af4e-11f0-9d15-b5c5bf9af7f9;
 Wed, 22 Oct 2025 15:56:26 +0200 (CEST)
Received: from AS2PR03MB10110.eurprd03.prod.outlook.com
 (2603:10a6:20b:57a::22) by DB9PR03MB7644.eurprd03.prod.outlook.com
 (2603:10a6:10:2c0::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.12; Wed, 22 Oct
 2025 13:56:19 +0000
Received: from AS2PR03MB10110.eurprd03.prod.outlook.com
 ([fe80::52f0:1815:60c9:8873]) by AS2PR03MB10110.eurprd03.prod.outlook.com
 ([fe80::52f0:1815:60c9:8873%3]) with mapi id 15.20.9253.011; Wed, 22 Oct 2025
 13:56:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e6f080e1-af4e-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=zRUEFeb6naTFFF9HKMNWPLAQmh6LMqUwojHCOhqx2zZLWbt+S13kDRMQXyZ+ead9TX2940m0R/VkPHKMz4T9rY3p4RtKjgqAr8s9rOMdfDwTCirZx/IkPYs0LKuqRmZq/NMD00qvbkR1/sNw5XZCWh/SWnhS+MZRW6CRFebw4ombXre4EkpMvg+2NyfnixUUi+Hubqz+6lX8bXOM5teMc0AARpOOBJSKUXZHvyJvgFBNJIKa1Z5h4WOSldE1bmqRRLL7Kbn7/MOxrcR/Xf2uYmCcbwkyDijsfFvKVz2MRQ7z35+tyxkED5wskT8MAuSx7+qsjbeeA+AF085UcbVrHg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LPxTbI3fjhFLgHNJUyp8kzC/zgVZ4dPfVWZM0M7pYVI=;
 b=yRGFb1Ijdo/EVhThhtGDGrbxFHizX3FeNA0K4mz30qLbgUHeh38vt2uy3MiwpAQNml1lSL0sZ8mmR59LGNAFKLHHUg90db4iMfUkqnx8n7K0s43BcHCeQ26pQ9dFKwvkpvhQrV15XewGmVdbUjtj+Z8hzbBZOu48sZ1SyEj/bgHaSY0h/KW7taUrggoDBAeDo9KWzONEdACdw7hh6pZ8zsWH5gZNmhtR19cLRZWXycRAULt0ySvGSjlDaHNQ2/bFFhi4PLRMAniyvntl4u22OHK537SenJ1uQD29ltCkUIHh9B3AR5MyiW75w6M4UxpwL2d7uhQVWtPSpaUpo9dwiA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LPxTbI3fjhFLgHNJUyp8kzC/zgVZ4dPfVWZM0M7pYVI=;
 b=AQ7E6YOqLnb0UtrFtu5Gu6aoPempqtfuVcbru/sSuQaplFBCkpnxv+zaVIjivl6OuZs5zxGGTG9XyYfbsI3Px5ksx1RLBnilTP74D8GVrsF2i7orKAEgLKich0eHLEcMyGgrcEBWtAYedCUH/kQdyi9PLg6d0eM841UI3ntE+13AbL+//2IDbPJ7odd+RAjJhSQCgbNFZfixdsHpOSrFVjc0y8aBkRgwVnVF8GNNrSQ7TYtze73byWN+aBKnGUT2ymFEAIzBhhrqguF0QdeAw5MZcp416/gKQX/Au3ctVLlVscyKRzSBMrloKLyv7fDxvdumSJTLsWnfF+xPoHP5Rg==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Stewart Hildebrand <stewart.hildebrand@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>, Mykyta Poturai
	<Mykyta_Poturai@epam.com>
Subject: [PATCH v2 2/7] xen/dt: pass flags to callback in dt_for_each_range()
Thread-Topic: [PATCH v2 2/7] xen/dt: pass flags to callback in
 dt_for_each_range()
Thread-Index: AQHcQ1ukOP0xPs6lvU2iptp+1DCmTA==
Date: Wed, 22 Oct 2025 13:56:18 +0000
Message-ID:
 <232319e4112fe7f36ba27f6bf33511f5b2125030.1761134829.git.mykyta_poturai@epam.com>
References: <cover.1761134829.git.mykyta_poturai@epam.com>
In-Reply-To: <cover.1761134829.git.mykyta_poturai@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AS2PR03MB10110:EE_|DB9PR03MB7644:EE_
x-ms-office365-filtering-correlation-id: b1a985c0-0847-4d1c-d60b-08de1172c6a5
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|376014|366016|38070700021;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?8CbvKnSPQPgA2P8nifJc3QcHqR3IPmaonqGYKU7wUAdtg1wnbwITzVmqT7?=
 =?iso-8859-1?Q?ycCGbHDAqjEKJ8Q/KYAOFSAiubnLY8hQXD46l0QhqvLIXcHyVjiz7oS0BM?=
 =?iso-8859-1?Q?omMBjF2vb46PGVe5cCKX+/f7Ts6m5uuaJg8zlEopnQ3x1zNrqS4cmM6Cdr?=
 =?iso-8859-1?Q?RzkvPVNj9gXUSDXKMKb8DfrvP64VYLHRWeYv1kP6mT1BuN3OrtVpCbKbaz?=
 =?iso-8859-1?Q?UQQaH/m63BMxBMIKYkXr2Qzeg7JNvuxeWXP0avBsuvUJocOLBUgb2FX1BR?=
 =?iso-8859-1?Q?6Y+XDzE/9+4AiYUCm302OpqxJ6/qigUmxHaScfIlj2A03LUBp1hQryKkem?=
 =?iso-8859-1?Q?AJOufZ4y8NfpVySQCjOrEOSY/Qy/b9viL7Tu4x9IA4MhjEdeiFD64gq4aX?=
 =?iso-8859-1?Q?ajr2Yta+GUjQ0+UbFXdCip0xgFJDcR8EoreIEccfHZEGitTSHyry2N+Zms?=
 =?iso-8859-1?Q?8aWSAzEPy4GylE6vzrdFzq+XAoOLk3DJOmTuIkTsEW6g8jshMoWBPCbPHI?=
 =?iso-8859-1?Q?Xa4/5jWJdOtUKhMPnotmbiWH02jgQAhGO1xy6VLFmS/xf8edWLjQ6dDsUV?=
 =?iso-8859-1?Q?OGov2mlqJbqf2814PGVeGoIIZqeAnUpNfap30FEYofWUeUx6hLMGD5FYw/?=
 =?iso-8859-1?Q?grGgeGRVDs49fO9+zeb7masyxQsuoxGD0rbbl0BdsDyBqHBVLypJ+y8/YB?=
 =?iso-8859-1?Q?fnGtW8ATx8z8GW2MHUVj0+lEr0z/pKf5ZZAxDwKfC99/zSJ3J/MPL4uGhc?=
 =?iso-8859-1?Q?L9iAbf0CJs4K4dqP0/DONmQ81ctxSzOwngJn2pxvv8ovvxNblra6xXKCAj?=
 =?iso-8859-1?Q?j9GLbdrvqGOvtEd9VAByOHE/HzT89SyDMnuHBb5JFMo2+2MMYBLlIZCnhg?=
 =?iso-8859-1?Q?r6XqusVE4zmS55Ru1MVJH+mrc/ZU7jzXz2CS4GkdXU1mjTtXP3L9pqOhWx?=
 =?iso-8859-1?Q?HGY+/Y8dBmY2m2M5hFmsAu3H7JRe80Fxk2vvExBGMIxfjT7Y48FtEVB/9o?=
 =?iso-8859-1?Q?YxsI5i9iSN4BJ5EGBWJmq2doT8Kt0Y4MIXcXxAD36edWbBtFxK2Xh/mz4Y?=
 =?iso-8859-1?Q?eNB8GAd1DzTcNQ+eOKV6Q83UvBaO+cUC/8FDLPvmQxndhkE/7M9aSPgBTA?=
 =?iso-8859-1?Q?6NVypX59VrvGqPQ3Q8DsS/Dg5vwmp4ceS24vomDOnKicGLIAmwKPeYRR5d?=
 =?iso-8859-1?Q?JmT9KryJAtoer5h225XlSvofI8bYVpTulMB5b6+dGpI56KzSJJfxHhoZl8?=
 =?iso-8859-1?Q?wZoDJcWmZMVu9daV+u6DFmIJkubpusrwATgelhjuhDOmamr97xx/8btAd1?=
 =?iso-8859-1?Q?elYv98nWTFy2K3Tp6eECt48bXj/WJ97k4Ozc/nHuOa7ouq9kNnkwgKgJBm?=
 =?iso-8859-1?Q?1ewqRG29ELvRh4rkku3g3SlfGrrZV4/RMrpui5keMbXKW5UDt7Y3ScOwC5?=
 =?iso-8859-1?Q?1KB+SDMHUc4OgxLCb52JlYgZkT8ZnXwbNj4rNUIpyJFZBTYVyAgUOSlObl?=
 =?iso-8859-1?Q?lMh6WYlMERkHVSC8qqF1P1/TogAwKgzXAKaZivW3Iqd/ZvdpvFi4QpSCzx?=
 =?iso-8859-1?Q?EBrr1WYb2EgPxKhMMY1/k60i5cu8?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS2PR03MB10110.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(38070700021);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?kkx/39+NGtbbjp12Dj6SqrqmI9yfUkKlEXYPKsGPJyXTKoS6YLJ+JTGbP2?=
 =?iso-8859-1?Q?VXKUT706fNL1/UFYPpoyObQs/RQljLji+I3VcOi/mjqgf3J1oICTCyjSfc?=
 =?iso-8859-1?Q?YjQzCS0YX4wgNy+EfglhnHrlOaW/tVTaauKBAghz3RX41OkC79KduqFZJC?=
 =?iso-8859-1?Q?UodTjToecpbpw75/mN1lmTfJLd9idroEWyyQz1ZQbxEh7w4jbxNaDXhNPM?=
 =?iso-8859-1?Q?NX+DUW/9KDC/qm0/OPri6yfzW5pLEXKwjXR4nVoeP/+kR7wlVKk9BLgz/x?=
 =?iso-8859-1?Q?AKDmCkvCmLwr+ZB6kkx2k5/XcR3RZ6R5LJ0ZmmUnfjhZ4Chw58ja9OkYOP?=
 =?iso-8859-1?Q?qeyQi+tiiqPomTpAj9NMm7Tvoyz0m6U7JNZKu3B/1DdsuXuoCfopeBsogK?=
 =?iso-8859-1?Q?CTSEBUDREMZK7hCELsobXCKjyS4cDcz23D++K9npxJJKQqQq9sP102EKG2?=
 =?iso-8859-1?Q?pA3oo7a8yY+F3VZaBdTNS46Q73aXxpRw81o07WhwIiO9C+AGoM+DsQRjVV?=
 =?iso-8859-1?Q?XD5H7xpuJtCKSN3jPmT7/lp7Fo6hV369M1cLwu7yv5lQzAsruBnFchZ8nN?=
 =?iso-8859-1?Q?qLVBWmV8XVILi4gcK5IRhy0oLBz/0jnOScQruuU1uR0qUf3eh/b6it3RDe?=
 =?iso-8859-1?Q?nv7PqVzkBBfbLpfJdHi4wqZ7VYjujZHiOY78k7wkyNB7a4NNfU8JJzZKS+?=
 =?iso-8859-1?Q?OKUMxf15oHuIpnC58PfqTLbaswGBtUJqe7lHFCozWXbXiEFqAz5DUGvHHU?=
 =?iso-8859-1?Q?uvcSlT6m9aRLcVOycngPg0lwL7pbf+9zTU148jaEU9t7eu//ff5bVUwGgW?=
 =?iso-8859-1?Q?phrgzzkSdoiiefwugxASD8uqQBB1VY49gU4NG6hHwAABzKiCov1p5GfX/F?=
 =?iso-8859-1?Q?f5DC6InD3jfnapxpXgeQ8Kgky4jRzLgi3j/iuJgZZrnUdVsn5blxd8NBoY?=
 =?iso-8859-1?Q?32ajlKqXaXKQptjk1giET+LMaKD/xWBThXtNIuie5RPkFK1LVKAjb54N4Y?=
 =?iso-8859-1?Q?w5NMNzXE4mvjdSO5NMSpXrZZ8B0M4armQeNl9x4RKABdTOSLH6Wsic7Ua7?=
 =?iso-8859-1?Q?LRr6Q/41NJqgsiGhn1W47xgmtSMH3wgchfIgRvqoYGjZIR/XXe9xHnykkW?=
 =?iso-8859-1?Q?ovb3YeEkr/8PPmmJpgKiAYzC3Tzb4l3OBIOj4iCTbQbiYZs7AKoN8QHwBr?=
 =?iso-8859-1?Q?1tjVvIP+VrCI+BJmfD01DUI3y3UlHiFfbZioN8vGo7YMlkEYRSl+Csl20Y?=
 =?iso-8859-1?Q?nTTeucwL70DdNE1UCU7e0li2gD7C/tpDHuZl8fFfOvm+m9JgmzTbAs0oVZ?=
 =?iso-8859-1?Q?ZCGp7K6iwrmqT0PGE5KF22+JIYRRzPynKcT60f7/64GOzk1CuMj2fQAUdH?=
 =?iso-8859-1?Q?Uulgxa05GQz9eBKinxYO9IUEpNaY2Oif9uQtOn4s8g0jmUFoTd5XX8qQFZ?=
 =?iso-8859-1?Q?FMOt1Q6ZhsP6ind0Jm9mv4+FaVAVXUSwwHnWdV8P10/xzsUx8GEhSLgErT?=
 =?iso-8859-1?Q?kdpJaCStS8Y/+JMGOyC1Ig9GH+xwlfY1m70PZcEx8opIInfMm8P4EanAEH?=
 =?iso-8859-1?Q?3j92Xjo6wEhKFHcMZKQ80MpKeoT1/J14W360uVvKyP06FmwqUudxjGU70i?=
 =?iso-8859-1?Q?EUHCmh/s0YIW2Dq3+p/HlBCyX2boHY9V6OnBZPBWYJE41AQ+JqBoXrKg?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB10110.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b1a985c0-0847-4d1c-d60b-08de1172c6a5
X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Oct 2025 13:56:18.7433
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: zSKbUdZ+soXEA0xhsMlWandgN5gpGfCNrZIT2ABRJQH1+byIKpP25xgXih4AhAiB97crEijhhoISnSfFxVsrrQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR03MB7644

From: Stewart Hildebrand <stewart.hildebrand@amd.com>

PCI ranges have prefetchable / non-prefetchable flags that will be
needed in the callback. Pass the flags to the callback.

Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
---
v1->v2:
* no changes
---
 xen/arch/arm/device.c                | 4 ++--
 xen/arch/arm/domain_build.c          | 3 ++-
 xen/arch/arm/include/asm/setup.h     | 2 +-
 xen/arch/arm/pci/pci-host-common.c   | 4 ++--
 xen/common/device-tree/device-tree.c | 5 +++--
 xen/include/xen/device_tree.h        | 2 +-
 6 files changed, 11 insertions(+), 9 deletions(-)

diff --git a/xen/arch/arm/device.c b/xen/arch/arm/device.c
index 74b54cad34..cc0759023e 100644
--- a/xen/arch/arm/device.c
+++ b/xen/arch/arm/device.c
@@ -50,7 +50,7 @@ int map_irq_to_domain(struct domain *d, unsigned int irq,
 }
=20
 int map_range_to_domain(const struct dt_device_node *dev,
-                        uint64_t addr, uint64_t len, void *data)
+                        uint32_t flags, uint64_t addr, uint64_t len, void =
*data)
 {
     struct map_range_data *mr_data =3D data;
     struct domain *d =3D mr_data->d;
@@ -325,7 +325,7 @@ int handle_device(struct domain *d, struct dt_device_no=
de *dev, p2m_type_t p2mt,
             return res;
         }
=20
-        res =3D map_range_to_domain(dev, addr, size, &mr_data);
+        res =3D map_range_to_domain(dev, 0, addr, size, &mr_data);
         if ( res )
             return res;
     }
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index fb8fbb1650..4bbffdf535 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -762,7 +762,8 @@ int __init add_ext_regions(unsigned long s_gfn, unsigne=
d long e_gfn,
 }
=20
 static int __init handle_pci_range(const struct dt_device_node *dev,
-                                   uint64_t addr, uint64_t len, void *data=
)
+                                   uint32_t flags, uint64_t addr, uint64_t=
 len,
+                                   void *data)
 {
     struct rangeset *mem_holes =3D data;
     paddr_t start, end;
diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/se=
tup.h
index 1eaf13bd66..97bc5f90a1 100644
--- a/xen/arch/arm/include/asm/setup.h
+++ b/xen/arch/arm/include/asm/setup.h
@@ -62,7 +62,7 @@ int map_device_irqs_to_domain(struct domain *d, struct dt=
_device_node *dev,
 int map_irq_to_domain(struct domain *d, unsigned int irq,
                       bool need_mapping, const char *devname);
=20
-int map_range_to_domain(const struct dt_device_node *dev,
+int map_range_to_domain(const struct dt_device_node *dev, uint32_t flags,
                         uint64_t addr, uint64_t len, void *data);
=20
 struct init_info
diff --git a/xen/arch/arm/pci/pci-host-common.c b/xen/arch/arm/pci/pci-host=
-common.c
index d3481b05eb..67447d8696 100644
--- a/xen/arch/arm/pci/pci-host-common.c
+++ b/xen/arch/arm/pci/pci-host-common.c
@@ -418,7 +418,7 @@ int __init pci_host_bridge_mappings(struct domain *d)
                     bridge->child_ops->need_p2m_hwdom_mapping(d, bridge, a=
ddr);
             if ( need_mapping )
             {
-                err =3D map_range_to_domain(dev, addr, size, &mr_data);
+                err =3D map_range_to_domain(dev, 0, addr, size, &mr_data);
                 if ( err )
                     return err;
             }
@@ -434,7 +434,7 @@ int __init pci_host_bridge_mappings(struct domain *d)
  * right place for alignment check.
  */
 static int is_bar_valid(const struct dt_device_node *dev,
-                        uint64_t addr, uint64_t len, void *data)
+                        uint32_t flags, uint64_t addr, uint64_t len, void =
*data)
 {
     struct pdev_bar_check *bar_data =3D data;
     paddr_t s =3D bar_data->start;
diff --git a/xen/common/device-tree/device-tree.c b/xen/common/device-tree/=
device-tree.c
index 0b5375f151..5ee1fa4eb1 100644
--- a/xen/common/device-tree/device-tree.c
+++ b/xen/common/device-tree/device-tree.c
@@ -976,7 +976,7 @@ int dt_device_get_paddr(const struct dt_device_node *de=
v, unsigned int index,
=20
 int dt_for_each_range(const struct dt_device_node *dev,
                       int (*cb)(const struct dt_device_node *dev,
-                                uint64_t addr, uint64_t length,
+                                uint32_t flags, uint64_t addr, uint64_t le=
ngth,
                                 void *data),
                       void *data)
 {
@@ -1041,13 +1041,14 @@ int dt_for_each_range(const struct dt_device_node *=
dev,
     {
         uint64_t a, s;
         int ret;
+        uint32_t flags =3D bus->get_flags(ranges);
=20
         memcpy(addr, ranges + na, 4 * pna);
=20
         a =3D __dt_translate_address(dev, addr, "ranges");
         s =3D dt_read_number(ranges + na + pna, ns);
=20
-        ret =3D cb(dev, a, s, data);
+        ret =3D cb(dev, flags, a, s, data);
         if ( ret )
         {
             dt_dprintk(" -> callback failed=3D%d\n", ret);
diff --git a/xen/include/xen/device_tree.h b/xen/include/xen/device_tree.h
index 06d7643622..1091e34a10 100644
--- a/xen/include/xen/device_tree.h
+++ b/xen/include/xen/device_tree.h
@@ -667,7 +667,7 @@ int dt_for_each_irq_map(const struct dt_device_node *de=
v,
  */
 int dt_for_each_range(const struct dt_device_node *dev,
                       int (*cb)(const struct dt_device_node *dev,
-                                uint64_t addr, uint64_t length,
+                                uint32_t flags, uint64_t addr, uint64_t le=
ngth,
                                 void *data),
                       void *data);
=20
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Wed Oct 22 13:56:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Oct 2025 13:56:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148081.1480246 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBZKG-0006e4-No; Wed, 22 Oct 2025 13:56:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148081.1480246; Wed, 22 Oct 2025 13:56:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBZKG-0006dx-LB; Wed, 22 Oct 2025 13:56:28 +0000
Received: by outflank-mailman (input) for mailman id 1148081;
 Wed, 22 Oct 2025 13:56:26 +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
 <SRS0=0J7Y=47=epam.com=Mykyta_Poturai@srs-se1.protection.inumbo.net>)
 id 1vBZKE-0006dh-RU
 for xen-devel@lists.xenproject.org; Wed, 22 Oct 2025 13:56:26 +0000
Received: from DU2PR03CU002.outbound.protection.outlook.com
 (mail-northeuropeazlp170110003.outbound.protection.outlook.com
 [2a01:111:f403:c200::3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e32710cf-af4e-11f0-9d15-b5c5bf9af7f9;
 Wed, 22 Oct 2025 15:56:20 +0200 (CEST)
Received: from AS2PR03MB10110.eurprd03.prod.outlook.com
 (2603:10a6:20b:57a::22) by DB9PR03MB7644.eurprd03.prod.outlook.com
 (2603:10a6:10:2c0::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.12; Wed, 22 Oct
 2025 13:56:18 +0000
Received: from AS2PR03MB10110.eurprd03.prod.outlook.com
 ([fe80::52f0:1815:60c9:8873]) by AS2PR03MB10110.eurprd03.prod.outlook.com
 ([fe80::52f0:1815:60c9:8873%3]) with mapi id 15.20.9253.011; Wed, 22 Oct 2025
 13:56:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e32710cf-af4e-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=D4pXiP18pRuIONgjSzUca9lBu5Lnx8SV5OC7va5VK2EjzF5YRapp7lcANmqFUFYyybnB4DskIAfDtoHxBSI2Y2iIUXDJEogXpBIXXhN3mJI3WsNBzhsKqQkf+aKhKnc7fxljUIu0hbTMx9HwiidVbHDDVZYm+L99in82H69TNHty+fzNe8pj/T+qTE9uOZJBpOUNsTkprJRXb98nVTTAzUsrOZwcV08hpJgRUxBn8mUBY7Z5AvjA3rYcrGKliXwj5Dn7PVM8GB4h2ifTntMGSX8FZrNQ/CTZR0MAdLSS8Nwxfjn2WUXHbDkm+BKoT/1lxTM7+3k5eojbT1cdZgfR6w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GhasN+xkNZWH6EeNo1u/Dqg3Log2UsAz+BS6llV8g1g=;
 b=td/uqdsSW4iy1jCsm8zUWYFCT+d86OROhPfgAH2ReJQyh84u0Tk6M9AA2cdBDT64buj+thYiyYdZIMnpeJggR+BnnKeEZyEAiPmA3wIVh0tw+so6bBHFg8A7+yjggBz1cxsArwS/ZIRKiVPXFTfDH/CtpO9LLo2uJiIiewN9tpYsXUVemqv5hL+pokkHEmajzr8Zw4H2CswKTlPUiqiZI8DQ9tBi0K/+HAePsxsrEm0xFNRWSaoak8PTqiQqrW6JERM69ClfS8KtutAeOQlOEeOmh6CFflFXj/HBLvCkhfUuHtsIk4pc0t2o07Nm+hesv1YgS5ScCgbhX44SwEComA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GhasN+xkNZWH6EeNo1u/Dqg3Log2UsAz+BS6llV8g1g=;
 b=B2Hr+otRRZ7L17yi1aB/VjFrE5KtAQVUHGU8Y22916Nt0Rgy9MxUA0xtOrU6NdI6NND3uXiTgozp0lLpJije7q7TxbEfJ+Fa/Dymzu74xXLFCrBL9OWjH0DVXfydVGbMu1WNyj298znG2HL7QFIcWF7BSJ8e1x6sWld2SvB+pdp+OUUASZ0e0oHWKPWCkAuWk1YxAZIQASJQPEccdSUCZJl8EiCGTJqf0i+RM+PLrFKyyOZRXhU57dq8YpQkoV/cLXGB0bM4/z+PjCPLfsjRyTEkBMSqC//55SZxbSWolcHXodb1iCcLlkXMbSjhWs2nDCq3OEujVcFYMpbJAmFAVg==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Mykyta Poturai <Mykyta_Poturai@epam.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>, Julien
 Grall <julien@xen.org>, =?iso-8859-1?Q?Roger_Pau_Monn=E9?=
	<roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>, Bertrand
 Marquis <bertrand.marquis@arm.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Stewart Hildebrand <stewart.hildebrand@amd.com>
Subject: [PATCH v2 0/7] Implement PCI device enumeration on Arm
Thread-Topic: [PATCH v2 0/7] Implement PCI device enumeration on Arm
Thread-Index: AQHcQ1uj/RZMssOFqEGEU57P0Hacnw==
Date: Wed, 22 Oct 2025 13:56:17 +0000
Message-ID: <cover.1761134829.git.mykyta_poturai@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AS2PR03MB10110:EE_|DB9PR03MB7644:EE_
x-ms-office365-filtering-correlation-id: 131552c2-78eb-4703-4ee2-08de1172c5fb
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|1800799024|376014|7416014|366016|38070700021;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?XQzvIAg/NftGvMSagF3yghW9t5qOBiBAJhPhjyh+gxO6O3byMCeegh0lZo?=
 =?iso-8859-1?Q?rbDXf0ecK5ecdy/HxglvrdewUVuV5N6Ldzb6/NkEXQATKjMMG7vebi2nLu?=
 =?iso-8859-1?Q?18cjBU2Bgi5Pm0xcdDgKhrjJENubRjJnf81za7NGG835TJW2A8lrc3jXFN?=
 =?iso-8859-1?Q?wtXyhlfffj4UjkmqXy8U9tYDyXYPrbhvzMyZ9BL/Wugf0slb/lD4fvox1o?=
 =?iso-8859-1?Q?Rc+i0Vvei0DeXQ6VOza+5+IBNGHt35VWw5XxCJdGfkeGvyGrxspEBkk1/J?=
 =?iso-8859-1?Q?qLMZE6CHSUSwiMenK5haUmkDH3aYuP7alioz+gBwukNiK8pE6jxmNPNHZJ?=
 =?iso-8859-1?Q?sVDYlQ0KyU3nw7z/RfTod7wtBNgA3FEpNnrKhmJQfiHYgGLEyYV8on283B?=
 =?iso-8859-1?Q?xSuyjG/gRVnebkbHWl4bh245jTHPp8oTVQBNsrAUQ8OS/sQZ5G8a4q65fg?=
 =?iso-8859-1?Q?Ty+Vv0wmxQ6k7UntoxehNI0DkMWhcBrXN5W/KX8scwbNFWv7JBUiN2gNdh?=
 =?iso-8859-1?Q?xPOYfj1ExIfWotisr1JmE5J076HQCCJtF1ZHdUaZpkwqhWoEMeS7sAUkwC?=
 =?iso-8859-1?Q?NuUEpKpLM77CdaH2CtnKYAlF3OUJC18ngwvyhBTAuh2XfwpVsgKOEQBUd9?=
 =?iso-8859-1?Q?YetWXj3/Yc49kEE9/MWwJYTZBn5fjeSgGoNGI7HJF+xB0Get5uxE1NZbRL?=
 =?iso-8859-1?Q?zE1vM+3khIWIT/U+2bYTsK8D5k18PA994fE1PxHf9NsusMdm3heqL72GJj?=
 =?iso-8859-1?Q?rm9qFHo42Ppza7+xH+QWA6uvjH35x3tBpFjiM+wTwObcI8NFfK4KnJ9dWF?=
 =?iso-8859-1?Q?hyg+ZTUZl5zQpDLnojx4USGBFxWcRbfU31raeZkyei8BTOozikxs9/XUCV?=
 =?iso-8859-1?Q?aCkpkNim0Fp2DhmZMA36XgOe1BD737bGv6TQA4hqL9azR4mcJQZupBLlqm?=
 =?iso-8859-1?Q?qY8Puyp/BrXYTthI0HO6lfXBhCHc2yf4kWBOgZkjfzHh/g/VJPUDE0Xp/m?=
 =?iso-8859-1?Q?UMnZ73BtXkqhpvJ6DOL3YRnr8NN6jcvkja0GX7qpeGFQoMFHEztne2L205?=
 =?iso-8859-1?Q?QhpffaS1WMsw0LGmgWE8vCE66YWjtdeiETd8FoSz7kXdKJIXk8sHxSNqfL?=
 =?iso-8859-1?Q?ocehYAG5DYZVDkfmtnHF00PJerMvY4BYtR9NTYoqzN9hHxDbCgCZRPomsV?=
 =?iso-8859-1?Q?xEiUygM5AplzcyIrN5m7XCbwI1LoxaQR0MAIfCBYMdilN3z8CbTYgZN/iM?=
 =?iso-8859-1?Q?HdiiKu9i8lFRmx8b0f1EtFnybwm/RZ9urc6MN8K7g09QGnH+y+Pgg3U1vc?=
 =?iso-8859-1?Q?DA8QujEaOTGVda1v3F22AADN1smgbJcjUh/fxoNfdM6KnYgFAIMwzBMzvJ?=
 =?iso-8859-1?Q?wkKU/uSRwlFTgRlmdNHBMRwDNktd6IL1fc5LJIBXhSNOhw2rHm4tG+ifWl?=
 =?iso-8859-1?Q?vmQTW83DDV829Guf/XHWpLGX9CZWklQB+KjEdWlZi+UhRgffnfTKxrskOq?=
 =?iso-8859-1?Q?qqJiay87DPmvG6lFA8AtFQO7CkJqt8Mry/f4riWkTGzS+7NT4DNbYz4C8j?=
 =?iso-8859-1?Q?fNhCasPWI2P/rxBBGDF7+7lGPG1K?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS2PR03MB10110.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(7416014)(366016)(38070700021);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?r9vnq0eOuSeLLN+zHuFxE7il2GAOv1unjBxZwXyF6eQam9guJKo5QsUsSV?=
 =?iso-8859-1?Q?FghSpG2s4rcJH3EOmgAG4yb0hwMfG4KIOwS5+7iSZZ/58T62OgpKk1ZMaY?=
 =?iso-8859-1?Q?3gj7SdATx7SVKjraHWcTeAbxEWynzgeXKSydbU4LLRTuFx6Uzn+6VeH+NZ?=
 =?iso-8859-1?Q?1lw/v+p0UA/D29yIYdlIvDCN/41kKbHNbrPZxnnFj7DZKy7g29LsyUd0HY?=
 =?iso-8859-1?Q?fqtSIkqlwxCkhO7ilWWbyilybXeLJsQ/nCoA1S/SLiJmELWZhD9iGYiKgc?=
 =?iso-8859-1?Q?YqEzIcwsJ3329I7To49DGOEgxzvXlZVRboG3KhkgOk2xcdYR6f2/ZjvWmE?=
 =?iso-8859-1?Q?kyPDsbfTYONlA0YhJYz1N6r72k85o7vmSuy36SNRsd/3gy4ik27UlfhrMR?=
 =?iso-8859-1?Q?AdIHzjkztuldrh6o0CkOHSIDXBC/iH0y2AcOYUEiCXXIhDzegSD4jje6Sz?=
 =?iso-8859-1?Q?LTft9wPJfSZWdNVoBLWFGIeRpFtQPRV+v+TOZXOfi7Jf5mCjBtAsxy18z/?=
 =?iso-8859-1?Q?mRw1UayLBqeWY7XW17GOQm1iq3C/G6yo9RDZx+kGO7LvpIDgXtQdi5PjSn?=
 =?iso-8859-1?Q?A+EJH/B99IGl9EkdX6oILi17mVZAnzR4xYtr4OvUKzk/DoijCwdxDqxoI8?=
 =?iso-8859-1?Q?4ftzcaJI2pE6Tez9faj2hp0+fyZv/LAo0oNZx1d1YF7U4avyw9KwtquEEx?=
 =?iso-8859-1?Q?MvGVBarpzWWGNVYeJ0zmRy6VZ+n7fmupFqKiKEOY+XtfC35AOE37f/fPSX?=
 =?iso-8859-1?Q?npHn2GW80yuQUn1McIFLjX6VHDHO+J+xA+mq/I3P/MfUzaa3Ei3du3jrtA?=
 =?iso-8859-1?Q?VeAJ4Z8pKkQssWOav5EzmLaTmnQJQBhWinxKa4EJTyF7i5sMlJaE/5AYjc?=
 =?iso-8859-1?Q?XhiOV/UfyicArQcbfGQfvcDk66NvoQLblvFKWKozncCxHKXctUopomYmia?=
 =?iso-8859-1?Q?+SP5A7ENusewGl7FMjHbKKYOyFDbS761+bd/HUICCPzI09MNvMuQR+478s?=
 =?iso-8859-1?Q?sqOrRNViIovlzIFVx855K1cAVpLA49wdTbVaABBQQDdQ31dLH3yBQEd0hL?=
 =?iso-8859-1?Q?AqpXZaWoPe3fUuXbj6QUM/YqTyX9+WVI5iPD5Zc+jU8agNML74BWVUGGLM?=
 =?iso-8859-1?Q?54RTurz7/IN21dYtYd4DYwx87eUCKUn2Xse74X5dB+XqnQrXSAIedKXzp8?=
 =?iso-8859-1?Q?QJysHOmEdOEM+A+UuQGk8LXmvqyHoJPLaG4IFkIRqgp+CfJDAnm+zrrjui?=
 =?iso-8859-1?Q?5nsJwtY48VXRA4W8Io8453goCKMNc7Y34GEOPtzMilAGO3I0YiwktFLWgk?=
 =?iso-8859-1?Q?3yKJLyJC3u4PTy92WkoD3Gjs4bSm6uMICQUsZrSzCmrKGcT2gT0VlubKTL?=
 =?iso-8859-1?Q?rPUVKKuq5iE4QVbRKz63sISdrEQm6IlrCer1nlbfA8SpfLkx2dKLcwasXI?=
 =?iso-8859-1?Q?U/F9Bc63iPPLE/iR1E382L1QRDcR8dCBddKP20XCNpMT9m8MvkQXX5L3NL?=
 =?iso-8859-1?Q?aTZm9N/ALHLGQ/mY+42ozKeac1alw90Nh0FyhvyBPWe5fkp9IwudAN568W?=
 =?iso-8859-1?Q?kq61pGsZlI1nIA+1OsK7Hx71ncZqmue9/cyQ+8wdQNiBODkC+qFLJ2HPI2?=
 =?iso-8859-1?Q?L3wnUNjiguykeWiV9WXbh2K3jjMaHjy8nQOZuqKadhHe/HnBs9dqE7xw?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB10110.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 131552c2-78eb-4703-4ee2-08de1172c5fb
X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Oct 2025 13:56:17.8400
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: JCeRcTKPJNAgCmZ/4MfKeM2hhAlydKDkun9DlWfczJNXDcN1RZf6/4iYMs8B9m8CbsTG+A8ej6UrUNhaHdmfGA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR03MB7644

This series adds basic PCI device enumeration in Xen on Arm. This will allo=
w us
to not rely on Dom0 enumeration for supported controllers, which will enabl=
e PCI
passthrough for dom0less setups.

Enumeration is disabled by default and can be enabled with "pci-scan" cmdli=
ne
option.

For now the discovered devices are only assigned to HW domain. To achieve t=
his,
several things need to be done:
1. A VPCI node is created for HW domain device tree, and the real PCI nodes=
 are
hidden from it.
2. Discovered devices BARs are initialized.
3. Register handles for VPCI are updated to change behaviour depending on
whether or not the calling domain uses VPCI or HW PCI, instead of relying o=
n
is_hardware_domain()

Tested on QEMU.
Arm:
* pci-scan=3Dyes pci-passthrough=3Dyes
* pci-scan=3Dno pci-passthrough=3Dyes
* pci-scan=3Dno pci-passthrough=3Dno
X86:
* no special options

v1->v2:
* drop xen/pci: disable pci_device_{add,remove} when hwdom uses vpci on arm
* see individual patches


Edward Pickup (1):
  arm/pci: Add pci-scan boot argument

Luca Fancellu (2):
  xen/pci: update DT for hwdom when it uses vpci
  xen/pci: assign discovered devices to hwdom

Mykyta Poturai (1):
  arm/pci: enable vpci for hwdom when pci-scan is enabled

Stefano Stabellini (1):
  xen/pci: introduce has_vpci_bridge

Stewart Hildebrand (2):
  xen/dt: pass flags to callback in dt_for_each_range()
  xen/pci: initialize BARs

 docs/misc/xen-command-line.pandoc    |   9 ++
 xen/arch/arm/device.c                |   4 +-
 xen/arch/arm/domain_build.c          | 154 ++++++++++++++++++++++++++-
 xen/arch/arm/include/asm/domain.h    |   3 +-
 xen/arch/arm/include/asm/pci.h       |  23 ++++
 xen/arch/arm/include/asm/setup.h     |   2 +-
 xen/arch/arm/pci/pci-host-common.c   |  81 +++++++++++++-
 xen/arch/arm/pci/pci.c               |  30 +++++-
 xen/arch/x86/include/asm/pci.h       |  20 ++++
 xen/common/device-tree/device-tree.c |   5 +-
 xen/common/rangeset.c                |  35 ++++++
 xen/drivers/passthrough/arm/iommu.c  |  13 +++
 xen/drivers/passthrough/pci.c        | 120 ++++++++++++++++++++-
 xen/drivers/vpci/header.c            |  14 +--
 xen/drivers/vpci/vpci.c              |   4 +-
 xen/include/xen/device_tree.h        |   2 +-
 xen/include/xen/rangeset.h           |   6 +-
 xen/include/xen/vpci.h               |   8 ++
 18 files changed, 508 insertions(+), 25 deletions(-)

--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Wed Oct 22 13:56:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Oct 2025 13:56:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148085.1480287 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBZKK-0007Xp-1i; Wed, 22 Oct 2025 13:56:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148085.1480287; Wed, 22 Oct 2025 13:56:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBZKJ-0007XE-TF; Wed, 22 Oct 2025 13:56:31 +0000
Received: by outflank-mailman (input) for mailman id 1148085;
 Wed, 22 Oct 2025 13:56:30 +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
 <SRS0=0J7Y=47=epam.com=Mykyta_Poturai@srs-se1.protection.inumbo.net>)
 id 1vBZKI-0006dh-6v
 for xen-devel@lists.xenproject.org; Wed, 22 Oct 2025 13:56:30 +0000
Received: from DU2PR03CU002.outbound.protection.outlook.com
 (mail-northeuropeazlp170110003.outbound.protection.outlook.com
 [2a01:111:f403:c200::3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e794f6af-af4e-11f0-9d15-b5c5bf9af7f9;
 Wed, 22 Oct 2025 15:56:27 +0200 (CEST)
Received: from AS2PR03MB10110.eurprd03.prod.outlook.com
 (2603:10a6:20b:57a::22) by DB9PR03MB7644.eurprd03.prod.outlook.com
 (2603:10a6:10:2c0::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.12; Wed, 22 Oct
 2025 13:56:20 +0000
Received: from AS2PR03MB10110.eurprd03.prod.outlook.com
 ([fe80::52f0:1815:60c9:8873]) by AS2PR03MB10110.eurprd03.prod.outlook.com
 ([fe80::52f0:1815:60c9:8873%3]) with mapi id 15.20.9253.011; Wed, 22 Oct 2025
 13:56:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e794f6af-af4e-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=bHT1vCv5OJ6Kw6yx2ndd7nfU8JjOfmIhqYuUxtaYTWJLOIHt1gtKZmy14izDShf/oW0UE0gJUYmM2/RxbdLpdLAi/GibId2ry+S4OZCPExyiKBQVtCPnqSet7W8FpM/3fwREwO5zhtRQshq4kvlcuja3PPUEGhj6MlBz3aUhXWqcc5jfrzupqZNsdqy4AfFadWQhACFcAaDEizNWFlbAIeprLUjUdJkJbFui6B9Cx68b4OlhiNJ7tLANNR5ASWjjsHMTLZhdSkYszhYK0a8aeWkMyH0qgvgBHI4HDgTaKC6VsnP8wfjNl7ib1/gi/c3jV94Hzz3EnW2KU+m+G+1WYA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=X4q2ERY8z1YkOJ/qzXcGeazI8Hc1TmtMX+FXKwqq1es=;
 b=U38DDnL8KUX0DelJK+QtKJ5WiLf0hLfygzkdNE/yq85za+dMJqONecGvQH9Az3h7XW4rupZpTBZakVoIq3D75OOZhX7EAQy2p2fwBgPJ+QlJIuYThlDpYXfmckJP4m3zhGZM4v24FiB4stGDgeDradlCSoZqFDvZ3TbTz7EllBQl+FYTC4CrtDZgnqbA2fjY9JvKsfCXK51Bko9hxy952+a3kz3O/rXqI5V97HtMKl9CTi1rUoTnoix01+Dlmj+URXBB8zWmuzsRVLyIkH1pETfAaZKYrIt2vrvZIM1pUmGkCbt/wxoSMNZW5WTTJ+icmjM+t9JVWOjCNDrtGCruUg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=X4q2ERY8z1YkOJ/qzXcGeazI8Hc1TmtMX+FXKwqq1es=;
 b=am5yJowA1oSfWPdPu+Odw4uvMWyGUb3gBZYpdCoQLO43TsdqzBfnyTGivrB9eEcwx4U4+iOSpRcFvKtPhYFyI18SGxLo2tdLm7F0vei23/CJNc/SbpCciif4K5pjW4xTtFLXluC/G551HIiS+xbjfiXjE42zKP/yvm5Ep6QWabDh9GnWreKKe9ChmN9LYcq1GQJhUxUblhkfd+blsUrE7jDorF8fgZPi6AoEeL2MshJo65FdBEJIisBbzuKA3zBUEDC2VcnnfrkYgIJMuEqyEPJPNMQWNAFoFfEAlII8R4cUcAIc4waqwzwyPVx0YZS8TXZlPqwD785u5wkjBFtx4Q==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <stefano.stabellini@amd.com>,
	=?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>, Stewart Hildebrand
	<stewart.hildebrand@amd.com>, Mykyta Poturai <Mykyta_Poturai@epam.com>
Subject: [PATCH v2 4/7] xen/pci: introduce has_vpci_bridge
Thread-Topic: [PATCH v2 4/7] xen/pci: introduce has_vpci_bridge
Thread-Index: AQHcQ1ukNEKjg16rGk+lyJ9FIGFVYg==
Date: Wed, 22 Oct 2025 13:56:19 +0000
Message-ID:
 <1695581f037a8361ef284a5e51bcbce9891b8110.1761134829.git.mykyta_poturai@epam.com>
References: <cover.1761134829.git.mykyta_poturai@epam.com>
In-Reply-To: <cover.1761134829.git.mykyta_poturai@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AS2PR03MB10110:EE_|DB9PR03MB7644:EE_
x-ms-office365-filtering-correlation-id: f266c880-ec5f-4ebd-beb6-08de1172c77e
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|376014|366016|38070700021;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?Z/c33tg0RKynQG99V+veQyq9zl+uz0zpyl9OTI1OjFWa4zBIJZIqYL9/99?=
 =?iso-8859-1?Q?2exZgW+4skRLQCz+RzWqnN9WUqX+aBDUQcekzAeMqkZzuQdbVXrx1jNLgG?=
 =?iso-8859-1?Q?QYRu7hsNzcB9y4ExQPqt1EvRgY2fvfTZeLl9Q44Lb0kRFNPgoHHSJsdTUl?=
 =?iso-8859-1?Q?ECGaTF5XqYAIUNDA/jI7ZZciV4wVNWNd3yMrJYtzx4pTbZ01ZPkHfiOzYH?=
 =?iso-8859-1?Q?/1XSktyrr235NA4yMGLD05UEz2hNV0UgkrPyE0XogLWy5uBmW+kqv6++kQ?=
 =?iso-8859-1?Q?4XfLXyLLA6XItCXZZHP7GY8TAo9mPoOns5rcnraDvW0CStYbVfwDtrOQNt?=
 =?iso-8859-1?Q?yda1WvGpAIqJj6OVHCeGP9EaFo3f+Tbgbinmc+Xvma0cpqEO2qNYuGp25f?=
 =?iso-8859-1?Q?hAz3P06INiO5vAsx0B1QjBW2Y4HBrIz50Xlj4Wrbx61AL/OJnatZOh11Gl?=
 =?iso-8859-1?Q?HvPqpvjceXux6WrzSBu3h12k2qz/GuChpj3HZ+tEK8CQvzgfcXtZPu60t9?=
 =?iso-8859-1?Q?6hyNelrdzpkGMqmxXrDh03wUw8GqBTE5S9wya7zNCV6fYs7LDP2YKdTehZ?=
 =?iso-8859-1?Q?uEFxrQCuy3v6dhT8Xq0vHcKcHX/DJ4c6y7X/nmdFZRgv5fcjEkNN6ymDFa?=
 =?iso-8859-1?Q?nZDRNiiArNG4wR0vK8tLnZoqfEG7S+JZcpqoBQP+hLmRpNH6cMzbl+0dbk?=
 =?iso-8859-1?Q?q59QglLr9rUqD0ETQiXyfcusy9xDo5APWvFmq15XCbMFjRyvT6tKvMgd5R?=
 =?iso-8859-1?Q?0fakfUrKEHupH4B4m1KfjI1pCPdim67UDcRZaLr1vhTZr9Dvj5ZAbVCqPN?=
 =?iso-8859-1?Q?nao5CgaLWnEAeHVIEp+zf75766XZR1VwTeyG51Zc4CVt3p8PYI3CBCiRqi?=
 =?iso-8859-1?Q?TwqIG9jey9i1nqBM4beflbZpXPtwZ+LsLrtrYXnAlQid7a9b9lYJLkWNrF?=
 =?iso-8859-1?Q?4dJ8bE3rvx3yvMg01KPQDhptO1Lg74kWhUgQexNoIah25fSJr/NOY8cupe?=
 =?iso-8859-1?Q?3qO+qhWc5F4I9qA4c7bHja2YzRYCaCezYPAqzcMcnjGg5WJJTuaP8x6xOA?=
 =?iso-8859-1?Q?5RBVsg0oJPtsmtsCDu4mIGhvgnwfyC2cplN5XPL24Ltk6YXqWxDlN+dvkq?=
 =?iso-8859-1?Q?dgqXvfAaawPg3r5YfX4I4luTqjaVp4gJYmL8IZLRWWn+lrsbA4UECIAt2E?=
 =?iso-8859-1?Q?01MhBCHbHgaQikP5z97i4TsSbGLkigBRaldptl0YlbqzVKmunqkDUO6Us/?=
 =?iso-8859-1?Q?gc+PgZNL0ENQH71qCxkRM1ILTsOTLJlZXOJnR2feiMT8A6dEb76W4Eq2JR?=
 =?iso-8859-1?Q?S70nJQJbZL22b/38I8GmKHxTVcgK7LgcRjxxMMTspxqB/2jwTURdR83Zd2?=
 =?iso-8859-1?Q?8s9sV6ncxewe5XDHmo22WTst11jkiM0IzOMf/hJ/e2sq3aHxauKdv6ZLiq?=
 =?iso-8859-1?Q?TlLFDPmUABo8zzyAfMtEoOWJpIrLFTydngss1CiVO7x2Yj4Te+6s8342gv?=
 =?iso-8859-1?Q?5RuYAguZ8SlN71AqsA1Kku2XVUB98mrSMd0+E1EUDXEaLJ5AXpwsdaj6Fd?=
 =?iso-8859-1?Q?Uf9SwzlcZuvIG9C6SOXkBO/7WLue?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS2PR03MB10110.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(38070700021);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?O5a4+rbrt2a/nV3BcUWlA6AQ/nhWXw8FCPl2B3BdIFy7ZswGLCrxC3aAnb?=
 =?iso-8859-1?Q?yT/FBJwYYdznOSSYrcEZKbd/jhqv1dUuIaQ18l4LB6ruM8/4vWfjltsqwT?=
 =?iso-8859-1?Q?pbKWtTa2XE3lW10MiPO0mTdrXCG5VW+VoddoYocvPxZ0nQFaDfdlOyhidj?=
 =?iso-8859-1?Q?zTZ8KoICgzDQtyQaG2s6N5m6IfzwhEZhGR5DNlggBWUcqERw1u2wJ2NMnY?=
 =?iso-8859-1?Q?cRbM27wYKAWeC6ygK0saaRzYURIzgr6/ahyRLhik4TbbJCbgvUt1In1P62?=
 =?iso-8859-1?Q?hSFQyuDVPMMbuAfzq9+3g/rJRYbF3F+cZETGwYbr9AaP0YINy8ZxKk7PE4?=
 =?iso-8859-1?Q?PZTPSHqVHvt3kvJRw7lIBqnzmRhuzqWTgvzxs3Tk0iirZEi2JLHwh4xeWR?=
 =?iso-8859-1?Q?stMQCY6w5AEx4qrPK09/8mmqC9bV7I431r24P0icAlvZygn3GJi+plIGRm?=
 =?iso-8859-1?Q?Q1yVPGZiooJLlsbuaxQz9n65w3Wv0wqSSVwFxFVi1hlSwmHQYT8Kzzs+/7?=
 =?iso-8859-1?Q?6Y8+OJFB0m9oskGjCuiP0vpOOhH1AaPxsSGRvIH5OGt/YnBMyvw8x/gQU/?=
 =?iso-8859-1?Q?AmUkTdEqLTRP4VD5ZL6pvtEZVwuyTaOJg37HMAmeKm3HbQETyvr9u57772?=
 =?iso-8859-1?Q?Y3uQFYRVJVP8zioWF6dOqYMymiEUMZgtekFq6KepaTZoQJB8EO9gDaHto/?=
 =?iso-8859-1?Q?djmALMRilN/dqVL3Ei3EmkspSusPshosOaUeNgbCaNBTdUGoW83OuFXA2B?=
 =?iso-8859-1?Q?hayKNkqhLC74KRc4+nO8FC7xZjNVsV21fX2QqeHVGFN3PtHDkER+Tq9QhR?=
 =?iso-8859-1?Q?OoowgIXkEfRF0ksKHOs2ELzc8ti/lMVxc6Nf5lA9lDe98QHM/fg5RlzdKb?=
 =?iso-8859-1?Q?2tkxV12GEVtvdt3KdKZpnfQZIVHLpgPPeNuR+0f6Xw368e8YY9U6PPLUHt?=
 =?iso-8859-1?Q?093dlxnen4TCdPTxSr4CKGJgYEja/5LLRFAw5rA/l/gV50ATbhWSqdUn4u?=
 =?iso-8859-1?Q?RqmSi8WRjGMdrBWuJSa5heC8JdlJ+tCzztFm8iZRUMI05aAPuTCKrqO/A+?=
 =?iso-8859-1?Q?t6iJ+exlvNuOUm9Kw58Zk558UBYZnQA4kjUU7lI2bxffajNM5cju4pNXKU?=
 =?iso-8859-1?Q?oVTQtnfqGTRowosWW5rk552cB3/wPSC17psmplRldFo094nBLOQVyoyzaL?=
 =?iso-8859-1?Q?B4Ek68v0pFKLf/iKqeocGV5fu1tDX6FqSm278A5ZUXET1izru3AdFnjr9i?=
 =?iso-8859-1?Q?gq3K2g+ElLKZtsVIdm9+pB04Rwiyg9w449v6aSs2vYtG330QaPKMD0Ewue?=
 =?iso-8859-1?Q?848mOQ6S+wzp9Ze50qlNO8/noqWXFQi3cICPVcN1v05p+7JuJX1rHWCXGg?=
 =?iso-8859-1?Q?mp445dvCOMFAJIBytOvxWTdFlZtMcEjU5+/kpryfFDhbYTRXKCkXCJOF1+?=
 =?iso-8859-1?Q?OV1/tw9fgJYzaY0IAO5vt7qBSi20rGY0Ogv2XV1eFIc5H94yrCQsUaNlME?=
 =?iso-8859-1?Q?uSdWPcMRaVCRI4M543lUokXvUs4BpY9GZawproUVP4H3/ZlA7HxCcmWxQE?=
 =?iso-8859-1?Q?K/fCleb59HIjl7xBZZkPUZSiTlF6wkF1Yo4vm1H4RHJDCZHCIAdjhwtOtd?=
 =?iso-8859-1?Q?WaXg9DFDUEzE+pMsbt+YvTKAMAFMZXFHaX/PDOnRlY9CvZ4+G5jLwe+Q?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB10110.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f266c880-ec5f-4ebd-beb6-08de1172c77e
X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Oct 2025 13:56:19.7991
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: AiM98QfBJbhpYEzW/YRDBjshwF62asKvT4lHlidRbBHuJDi6XSh0FGUR1wAuty1ZD6Z2tkQpAiMYBTUrCO+dQQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR03MB7644

From: Stefano Stabellini <stefano.stabellini@amd.com>

has_vpci_bridge is a macro to check if the domain is a domU or is dom0
with vPCI (pci-scan=3Dyes) enabled.

Use the macro in drivers/vpci.

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
---
v1->v2:
* simplify definition
---
 xen/drivers/vpci/header.c | 14 +++++++-------
 xen/drivers/vpci/vpci.c   |  4 ++--
 xen/include/xen/vpci.h    |  8 ++++++++
 3 files changed, 17 insertions(+), 9 deletions(-)

diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
index 469f497744..903168ff96 100644
--- a/xen/drivers/vpci/header.c
+++ b/xen/drivers/vpci/header.c
@@ -230,7 +230,7 @@ bool vpci_process_pending(struct vcpu *v)
=20
             read_unlock(&v->domain->pci_lock);
=20
-            if ( !is_hardware_domain(v->domain) )
+            if ( has_vpci_bridge(v->domain) )
                 domain_crash(v->domain);
=20
             return false;
@@ -492,7 +492,7 @@ static int modify_bars(const struct pci_dev *pdev, uint=
16_t cmd, bool rom_only)
             }
         }
=20
-        if ( !is_hardware_domain(d) )
+        if ( has_vpci_bridge(d) )
             break;
=20
         d =3D dom_xen;
@@ -522,7 +522,7 @@ static void cf_check cmd_write(
 {
     struct vpci_header *header =3D data;
=20
-    if ( !is_hardware_domain(pdev->domain) )
+    if ( has_vpci_bridge(pdev->domain) )
     {
         const struct vpci *vpci =3D pdev->vpci;
=20
@@ -564,7 +564,7 @@ static void cf_check bar_write(
     struct vpci_bar *bar =3D data;
     bool hi =3D false;
=20
-    ASSERT(is_hardware_domain(pdev->domain));
+    ASSERT(!has_vpci_bridge(pdev->domain));
=20
     if ( bar->type =3D=3D VPCI_BAR_MEM64_HI )
     {
@@ -747,7 +747,7 @@ static int vpci_init_capability_list(struct pci_dev *pd=
ev)
 {
     int rc;
     bool mask_cap_list =3D false;
-    bool is_hwdom =3D is_hardware_domain(pdev->domain);
+    bool is_hwdom =3D !has_vpci_bridge(pdev->domain);
=20
     if ( pci_conf_read16(pdev->sbdf, PCI_STATUS) & PCI_STATUS_CAP_LIST )
     {
@@ -829,7 +829,7 @@ static int vpci_init_ext_capability_list(const struct p=
ci_dev *pdev)
 {
     unsigned int pos =3D PCI_CFG_SPACE_SIZE;
=20
-    if ( !is_hardware_domain(pdev->domain) )
+    if ( has_vpci_bridge(pdev->domain) )
         /* Extended capabilities read as zero, write ignore for DomU */
         return vpci_add_register(pdev->vpci, vpci_read_val, NULL,
                                  pos, 4, (void *)0);
@@ -866,7 +866,7 @@ int vpci_init_header(struct pci_dev *pdev)
     struct vpci_header *header =3D &pdev->vpci->header;
     struct vpci_bar *bars =3D header->bars;
     int rc;
-    bool is_hwdom =3D is_hardware_domain(pdev->domain);
+    bool is_hwdom =3D !has_vpci_bridge(pdev->domain);
=20
     ASSERT(rw_is_write_locked(&pdev->domain->pci_lock));
=20
diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
index 07c7071d0a..8ea89b9805 100644
--- a/xen/drivers/vpci/vpci.c
+++ b/xen/drivers/vpci/vpci.c
@@ -48,7 +48,7 @@ static int assign_virtual_sbdf(struct pci_dev *pdev)
=20
     ASSERT(rw_is_write_locked(&pdev->domain->pci_lock));
=20
-    if ( is_hardware_domain(d) )
+    if ( !has_vpci_bridge(d) )
         return 0;
=20
     /*
@@ -429,7 +429,7 @@ static const struct pci_dev *translate_virtual_device(c=
onst struct domain *d,
 #ifdef CONFIG_HAS_VPCI_GUEST_SUPPORT
     const struct pci_dev *pdev;
=20
-    ASSERT(!is_hardware_domain(d));
+    ASSERT(has_vpci_bridge(d));
     ASSERT(rw_is_locked(&d->pci_lock));
=20
     for_each_pdev ( d, pdev )
diff --git a/xen/include/xen/vpci.h b/xen/include/xen/vpci.h
index 9ae75d946a..d4695cb353 100644
--- a/xen/include/xen/vpci.h
+++ b/xen/include/xen/vpci.h
@@ -339,6 +339,14 @@ static inline int __must_check vpci_reset_device(struc=
t pci_dev *pdev)
     return vpci_assign_device(pdev);
 }
=20
+#ifdef CONFIG_ARM
+#include <asm/pci.h>
+
+#define has_vpci_bridge(d) (!is_hardware_domain(d) || pci_scan_enabled)
+#else
+#define has_vpci_bridge(d) (!is_hardware_domain(d))
+#endif
+
 #endif
=20
 /*
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Wed Oct 22 13:56:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Oct 2025 13:56:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148084.1480273 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBZKI-0007Br-MV; Wed, 22 Oct 2025 13:56:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148084.1480273; Wed, 22 Oct 2025 13:56:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBZKI-0007Ad-J4; Wed, 22 Oct 2025 13:56:30 +0000
Received: by outflank-mailman (input) for mailman id 1148084;
 Wed, 22 Oct 2025 13:56:29 +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
 <SRS0=0J7Y=47=epam.com=Mykyta_Poturai@srs-se1.protection.inumbo.net>)
 id 1vBZKH-0006dh-6a
 for xen-devel@lists.xenproject.org; Wed, 22 Oct 2025 13:56:29 +0000
Received: from DU2PR03CU002.outbound.protection.outlook.com
 (mail-northeuropeazlp170110003.outbound.protection.outlook.com
 [2a01:111:f403:c200::3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e739be8c-af4e-11f0-9d15-b5c5bf9af7f9;
 Wed, 22 Oct 2025 15:56:27 +0200 (CEST)
Received: from AS2PR03MB10110.eurprd03.prod.outlook.com
 (2603:10a6:20b:57a::22) by DB9PR03MB7644.eurprd03.prod.outlook.com
 (2603:10a6:10:2c0::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.12; Wed, 22 Oct
 2025 13:56:20 +0000
Received: from AS2PR03MB10110.eurprd03.prod.outlook.com
 ([fe80::52f0:1815:60c9:8873]) by AS2PR03MB10110.eurprd03.prod.outlook.com
 ([fe80::52f0:1815:60c9:8873%3]) with mapi id 15.20.9253.011; Wed, 22 Oct 2025
 13:56:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e739be8c-af4e-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=W90sjyeldP+CrK1kcgTZ+o0ZFQk1AEote8o0b/ma+rNOAUOe6pxkjx9pqr2PsK9FyjRVFb2UPwX0bxRX4YbazcSYd7IzM07jJhzsyOy3ThpOw+1i+gNRtKzxeS/8aug1rnt/Ywnqueqlen9M2R7ulcDNWhBQPusMzKmauIHqZLmDLi4YPKLmP8J0K7vn2Jfa0sY0OaZWLNVXqylmkusb+atDwyVdAEQDYXMKsYmCxrxzy4Z7QXD8CAUeZT1qzyH4ws9TVqsK9JuRu8dWCf1Oo46103sPuWKo0COHP+t9mfnaSkUsumUdKkfDQ41rcSP4X/5ynBmWZLKCqi65OEKLEw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kAteDMPuz4wQYe1LkgAkri31ZmR4GYaLKrwtGk05O58=;
 b=ozM9N6uk89i0WA06g0ZdJ+kqxf2sc7z9eC2PStG8vTdLYiNajJm6fEy/bZ/w9qmssMPrtqmKzyGhSEbQIxaj2aFKJrAnc/Q+bRpXLfjBLG7P9BYGdWr7DBmEei6I53Eu8yN7d81uiD1GuEee/Hc4bMspmJazflmdO1JhBWIfXsMUvOYxjPxDO0AJGMPySCQXDUSazBlLmi6t+B66tXIJeX41EAmnUIjQtjc7LinrGtygNfI+nmcjCUzrz73LL1ExsojSnf0Cgloc/u3hfbqcUUPfmOyrFiBombPZasvVul/JfL6cPL27GIDmvU8LusOcTbthZ954yHLODhpMaCO/3g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kAteDMPuz4wQYe1LkgAkri31ZmR4GYaLKrwtGk05O58=;
 b=qAO27f3Fx8LJJtikuCDAOihrCRhukcAO4gtkbIc0rJJxaHTq828QH66IfR7POOVnPPq+oFzLUmSl0xQXP0gbQcPsC39ZeGvpU5/fkTq5PCQ14ojmGyyzWcoJYKyWzTnkR3yFT7ymJqbb8R074Xg+EyDmlbDP+MuFi9muYYqmSSXWErcd5776BTkUWfn+QgZR8XnzTN62CJffIoB0F8C9XAjPWoTPZ5p8qq1DMqkw8wK/HLWeTEgRA3Q+YwUqaTRqWuQqO80AjEY8QVZasVKK0iDWsGUFM2OhErgRbV8S9o4JVrW2ECpOoz+oGejtYmm42jiUV4ykxBrFHXOHKO87lA==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Luca Fancellu <luca.fancellu@arm.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>, Julien
 Grall <julien@xen.org>, =?iso-8859-1?Q?Roger_Pau_Monn=E9?=
	<roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>, Bertrand
 Marquis <bertrand.marquis@arm.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Stewart Hildebrand
	<stewart.hildebrand@amd.com>, Mykyta Poturai <Mykyta_Poturai@epam.com>
Subject: [PATCH v2 3/7] xen/pci: update DT for hwdom when it uses vpci
Thread-Topic: [PATCH v2 3/7] xen/pci: update DT for hwdom when it uses vpci
Thread-Index: AQHcQ1ukv10Lg9ahX0eJA+yvwZPGTQ==
Date: Wed, 22 Oct 2025 13:56:19 +0000
Message-ID:
 <a91a54d1aabc1bf88a570bb4827060cc5864f6a5.1761134829.git.mykyta_poturai@epam.com>
References: <cover.1761134829.git.mykyta_poturai@epam.com>
In-Reply-To: <cover.1761134829.git.mykyta_poturai@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AS2PR03MB10110:EE_|DB9PR03MB7644:EE_
x-ms-office365-filtering-correlation-id: 142839a6-afaa-49b8-3418-08de1172c715
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|1800799024|376014|7416014|366016|38070700021;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?4ygM9Sjhpj4DV1CQKLg8YCMMDT3B1gAJzZIuneB7Ats5sHaEU2QuVCe/Sl?=
 =?iso-8859-1?Q?niWoX9/QskX6/6fi+cWsXMDe0A/Afu/PbOi70tcuQTQ3tnRMSoQIoe6qv9?=
 =?iso-8859-1?Q?ODLztiWe0ucGX8DrEhBt5QCSZcDv52MbAW66nTRN1VKqY8DUq242eOfuJ6?=
 =?iso-8859-1?Q?sKFY5rFgEdeNyq7Z4MH6MF33UGJYpowq1wVY+ix4twssOufMbXsgeB9MnW?=
 =?iso-8859-1?Q?ryGDZ5uB9Win1v3yxjYrWLymdloanq8tlMSNmhbtbvtzT6XHL/oOz36YBo?=
 =?iso-8859-1?Q?0vXdtORCQfLIp4vPhtHHT/XrFfJjig7a7uRoymXZVBKuZ6ae22lzg3+1LT?=
 =?iso-8859-1?Q?XVX6A5Ei3e05668VpcoDHjut8yMMi/8h7nEbAydy7kkZOATo/8xcc6cG79?=
 =?iso-8859-1?Q?OerIxnb/xn9PnDTyE4tmPTNuWBDU6w7KbIr9NxWbHQWD0DPI7kS8bGjaRX?=
 =?iso-8859-1?Q?zzT+Ma1OtUlauS7UCUadUBhDZp3/oCWEENmpz5Bfcx785V3MIr4ZCKIY7G?=
 =?iso-8859-1?Q?A+dKeof2N7ViZlEqy75LF2BgjtStSqLwbPwnnGu1TYmzTVQxWMceLDdN/U?=
 =?iso-8859-1?Q?Yh6Sdypb/uSADW/qNx7RK9XcEi1Xr1rhGMSZhfj6PKD3tE37TFUcAIo4Il?=
 =?iso-8859-1?Q?PWeMYD2Osmmt0YekAkN9575FAppeIHA+8bCD3sBbGEJRMBnN0dTWjYFANZ?=
 =?iso-8859-1?Q?YHn1GGUM4ViR+yaj1Kc8f+aPgcCyBDAX+GvCilxUNKbuTVWsYxCdSUxBcy?=
 =?iso-8859-1?Q?4n4cql3joUJjVQLoBMYNxt0jvUSSlyXre1rzhsSg+euUiqZI1zkz7s74ot?=
 =?iso-8859-1?Q?QEoze41laeV8bzlDR4uGyS6Ax+BWbDmO3LfqDTW9mK5+EJQQN3cmdF9BH8?=
 =?iso-8859-1?Q?JdKTWcVdwDO8NL+bQDa0lDVciQDxayG9oSPtQWEJLDn0wYUnlFbEZj9naV?=
 =?iso-8859-1?Q?d9k6j0y7CjSY9T2PHH4IvSb0s9WiQkM3sHjh9d+F5SOPGF4uPfOzzRhd9v?=
 =?iso-8859-1?Q?n9Drea9dJzYIgUp9mgmzEEtqnZBxXg6noVVVug034CPwOF2+P81T8nndig?=
 =?iso-8859-1?Q?kRU/lU8+6F/Pb5SFkuQdgDVCtN1LY31DC3uHrJYUabbzy8NtcMPKvf7st9?=
 =?iso-8859-1?Q?W9y2GvAtRUoQd/sU377mnPxvzYNkoLGOJTpCLfNp6tC/ZtQiUzWwi1qRQH?=
 =?iso-8859-1?Q?vigRSp0MsSgMJS1OCwhwyDnLqvZ22UsPArF/lp9se37PpAh97QSrDrsv1h?=
 =?iso-8859-1?Q?bqRGhxVFBCjIJ/GG0wisx10AWOH9h2GYZP2Hiv7jFZhnUhIixoZJAS6AYq?=
 =?iso-8859-1?Q?iXAXU5urKeNcqXDaC2/GUyJi2YKJKKzF04Mcs8rE7TwB7iqJSi8zuCUPHI?=
 =?iso-8859-1?Q?rpj2662EpWuN0SgQSdB/ZlvKce+J18L5vARHSIfEpYQ7v0J5EELti2w3Oo?=
 =?iso-8859-1?Q?e63BIivQW572pesKROOwysH+QxHNgYomr50ZdxyFxoczmQGIZAII3Plxne?=
 =?iso-8859-1?Q?cqW8DV2YGKbH0wRSZqFZYRWVbYplU1zHN5O2jGbCJpsFEqmc+GHH41LHk8?=
 =?iso-8859-1?Q?tNmoxo3akinS7xfhMgLTtQsaKSZK?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS2PR03MB10110.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(7416014)(366016)(38070700021);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?GaApwbNHZ3ubmjiAsIqG9czFzeImJEm3S/M23wuQ8hgiSptTL+S5DoL1kv?=
 =?iso-8859-1?Q?EUuY1tvZshQTJ+bzQQ/eEVFY+ro5kyyDm3FJ1vgDEKNG2MVi1bxG9AquZb?=
 =?iso-8859-1?Q?K+wExPckTqUx0oqSBjONtmc4Ko6bMygbErQdFLOEjeW+S06nswLjrnjV0Q?=
 =?iso-8859-1?Q?loc+ZTvjY+GsyZFwe0b63LryoRfKmvaW0OHfhYIvmv1fiewm3jUO6QyBPP?=
 =?iso-8859-1?Q?gK/kB8c627bOZOCptZct0gQlJ1DDP8En/DBi6HXGWf/iZ2jzdIkwbit+f4?=
 =?iso-8859-1?Q?uSP5a8g8y0Y9MfY3yIRF/N+me+i+0979jT7n5fnbVCqjQEGYe++tQD0Drx?=
 =?iso-8859-1?Q?iB2fE1nZ6HKBkuFgojSCGPb2aIvpSXnIXcY28VDyihX3doMGwzyeoW75Ap?=
 =?iso-8859-1?Q?FHnWgJ+EaJOCbeE5WcYL5WhkegbCryVSRjQbKgcSOcOl5o2G4LQq6Q2izj?=
 =?iso-8859-1?Q?a8Yllt1i3wUVJZHtix2BegLl6B7VpPiP+2La1CS1TFrsDDb6wARd+o9OFN?=
 =?iso-8859-1?Q?J7Pexfo4h6I9/wbHQNumef6N7dGlJm86fsm3Y5mqQldg+1BOFR3gvunZjS?=
 =?iso-8859-1?Q?SK9ApQF7A8SjpxRdV3hhywl+9YNfF+B9BRBFAekny3IEVebHnNDgLnwLxL?=
 =?iso-8859-1?Q?gxlEjIyGuXIL5tp+legYJN1OlTNs4yrvHkVmEIKn7yVtWJHhXJIh8bdOK+?=
 =?iso-8859-1?Q?hQ9F+QVk3VfCI8SpsmOxwfqyNLDPrNA9qd4JNGKd36aKOtAsvfuVlnked4?=
 =?iso-8859-1?Q?oeOJbwWdnysvZaZ8brZIl8u/gqcBe64EUkcaFPZIzHhhc3btaqGW2yYL2T?=
 =?iso-8859-1?Q?Eik7sOTzTVxfjjnW8mpU1Q+J8vIEAdp1640MQiAdtTnuzoUmvPnPSIPOnk?=
 =?iso-8859-1?Q?bpnaHWRQJSe44d7qCvusvWF5RKAgdi/QVN4BVE+jeIhNophNYhJylY3VOn?=
 =?iso-8859-1?Q?XIzo1XPwkED7O7mkPSHfnHx+BSlj6BDOsMtlm0RqX+/b3+/t6W4U5GvCBt?=
 =?iso-8859-1?Q?ghTpsyM4nMg9S47rPwuo6e6FR7BNVAl/Nmzqcfii/gUQK7JCKA9c4tPz6B?=
 =?iso-8859-1?Q?89HbJhutc7UNuf/bni5j4KSat1ZXM0iYLOOuUAAkDTiNL1TUYsRPK9ZRHn?=
 =?iso-8859-1?Q?ca/MbucEe9fFwM2PkMjuJxeYmAGkpIhhtthxEnzFleBuhHg0ypwR/D8In9?=
 =?iso-8859-1?Q?epqJqPQ8ILGkuwMwAmL/HjIMGjsb38quADoAFxQh/xAkBR1EENbD9KzHME?=
 =?iso-8859-1?Q?N7/n2PdCW3Q4Qc+hRJzKMdJGVoh/HJABsfkzOozaOrlx7QRJMOtgmSZVG/?=
 =?iso-8859-1?Q?WT+UCBaOO5OSkLFrhUife58vLT6It5QrpbhWZBxzlZL9D4QBPoUXrBmaGS?=
 =?iso-8859-1?Q?fLu+QeM4fDMEDiF7TT0pua7WgMNBqjP9Dq0C72CIXcmiqvyjkqDFxd2ixd?=
 =?iso-8859-1?Q?0HMJ60wInH0kBuCAt5xYrmccweJdGEG7L783PLQRLiDGa88HkbWVaAQfzy?=
 =?iso-8859-1?Q?E+Yt/L7hNVyTqmjqJbwPlu+xNzv/EKVEJIGqIhudSniNyQUQLJVsi+eH5v?=
 =?iso-8859-1?Q?FoO4E00RShVGpLXsMCQpnRWVgiVPRHu9QNx6cbbr+oUkYubCV4SGJNdIfB?=
 =?iso-8859-1?Q?N4GWfqACLBfb8/5Lc7jCIgaaWMNXj9T4sptgCGJ0RCIPFkDbS9aAE78w?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB10110.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 142839a6-afaa-49b8-3418-08de1172c715
X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Oct 2025 13:56:19.3737
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: iSO2hRbn2KXYHheet2hSROoYFfVTjrZN9nfXGDtVSiQ5/8GbuAIElbV5TNnvWhAzIBS1yU/mv16MwO9snPwpig==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR03MB7644

From: Luca Fancellu <luca.fancellu@arm.com>

When pci-scan is enabled and Xen supports vpci for guests, Xen will
scan the pci bus to find devices and emulate the pci bus, so the hw
domain must see the emulated bus instead of the real one.

A new helper function, hwdom_uses_vpci, is implemented and returns true
when pci-scan is enabled and Xen is built with
CONFIG_HAS_VPCI_GUEST_SUPPORT=3Dy. When hwdom_uses_vpci() is true, a vpci
node is created for the hwdom device tree.

Depending on whether the guest is using vPCI or not, and whether the
domain is using host layout or not, generate the appropriate device tree
nodes for the guest and handle the right MMIO regions traps.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
---
v1->v2:
* make make_vpci_node static
---
 docs/misc/xen-command-line.pandoc |   4 +-
 xen/arch/arm/domain_build.c       | 151 +++++++++++++++++++++++++++++-
 xen/arch/arm/include/asm/pci.h    |  16 ++++
 xen/arch/arm/pci/pci.c            |   2 +-
 4 files changed, 170 insertions(+), 3 deletions(-)

diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line=
.pandoc
index 3a59b2fce1..1633116ee4 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -2084,7 +2084,9 @@ Flag to enable or disable support for PCI passthrough
=20
 > Default: `false`
=20
-Flag to enable or disable Xen PCI scan at boot.
+Flag to enable or disable Xen PCI scan at boot. When the flag is enabled, =
the
+hardware domain cannot have access to the real PCI bus, it will see the bu=
s
+emulated by Xen.
=20
 ### pcid (x86)
 > `=3D <boolean> | xpti=3D<bool>`
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 4bbffdf535..87a25396f6 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -41,6 +41,7 @@
 #include <xen/grant_table.h>
 #include <asm/grant_table.h>
 #include <xen/serial.h>
+#include <xen/resource.h>
=20
 static unsigned int __initdata opt_dom0_max_vcpus;
 integer_param("dom0_max_vcpus", opt_dom0_max_vcpus);
@@ -1557,6 +1558,142 @@ int __init make_chosen_node(const struct kernel_inf=
o *kinfo)
     return res;
 }
=20
+#ifdef CONFIG_HAS_VPCI_GUEST_SUPPORT
+struct vpci_param {
+   uint64_t vpci_ecam_base;
+   uint64_t vpci_ecam_size;
+   uint64_t vpci_mem_base;
+   uint64_t vpci_mem_size;
+   uint64_t vpci_mem_prefetch_base;
+   uint64_t vpci_mem_prefetch_size;
+};
+
+static int __init handle_vpci_range(const struct dt_device_node *dev,
+                                    uint32_t flags, uint64_t addr, uint64_=
t len,
+                                    void *data)
+{
+    struct vpci_param *vpci =3D (struct vpci_param *)data;
+
+    if ( !(flags & IORESOURCE_MEM) )
+        return 0;
+
+    if ( !(flags & IORESOURCE_PREFETCH) && addr < GB(4) )
+    {
+        vpci->vpci_mem_base =3D addr;
+        vpci->vpci_mem_size =3D len;
+    }
+    else if ( flags & IORESOURCE_PREFETCH )
+    {
+        vpci->vpci_mem_prefetch_base =3D addr;
+        vpci->vpci_mem_prefetch_size =3D len;
+    }
+    return 0;
+}
+
+static int __init make_vpci_node(struct domain *d, void *fdt)
+{
+    /* reg is sized to be used for all the needed properties below */
+    __be32 reg[((GUEST_ROOT_ADDRESS_CELLS * 2) + GUEST_ROOT_SIZE_CELLS + 1=
)
+               * 2];
+    __be32 *cells;
+    char buf[22]; /* pcie@ + max 16 char address + '\0' */
+    int res;
+    struct vpci_param vpci =3D {
+        .vpci_ecam_base =3D GUEST_VPCI_ECAM_BASE,
+        .vpci_ecam_size =3D GUEST_VPCI_ECAM_SIZE,
+        .vpci_mem_base =3D GUEST_VPCI_MEM_ADDR,
+        .vpci_mem_size =3D GUEST_VPCI_MEM_SIZE,
+        .vpci_mem_prefetch_base =3D GUEST_VPCI_PREFETCH_MEM_ADDR,
+        .vpci_mem_prefetch_size =3D GUEST_VPCI_PREFETCH_MEM_SIZE
+    };
+
+    if ( domain_use_host_layout(d) )
+    {
+        struct pci_host_bridge *bridge;
+
+        bridge =3D pci_find_host_bridge(0, 0);
+
+        vpci.vpci_ecam_base =3D bridge->cfg->phys_addr;
+        vpci.vpci_ecam_size =3D bridge->cfg->size;
+
+        res =3D dt_for_each_range(bridge->dt_node, handle_vpci_range, &vpc=
i);
+        if ( res < 0 )
+            return -EINVAL;
+    }
+
+    snprintf(buf, sizeof(buf), "pcie@%"PRIx64, vpci.vpci_ecam_base);
+    dt_dprintk("Create vpci node\n");
+    res =3D fdt_begin_node(fdt, buf);
+    if ( res )
+        return res;
+
+    res =3D fdt_property_string(fdt, "compatible", "pci-host-ecam-generic"=
);
+    if ( res )
+        return res;
+
+    res =3D fdt_property_string(fdt, "device_type", "pci");
+    if ( res )
+        return res;
+
+    /* Create reg property */
+    cells =3D &reg[0];
+    dt_child_set_range(&cells, GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_C=
ELLS,
+                       vpci.vpci_ecam_base, vpci.vpci_ecam_size);
+
+    res =3D fdt_property(fdt, "reg", reg,
+                       (GUEST_ROOT_ADDRESS_CELLS +
+                       GUEST_ROOT_SIZE_CELLS) * sizeof(*reg));
+    if ( res )
+        return res;
+
+    /* Create bus-range property */
+    cells =3D &reg[0];
+    dt_set_cell(&cells, 1, 0);
+    dt_set_cell(&cells, 1, 255);
+    res =3D fdt_property(fdt, "bus-range", reg, 2 * sizeof(*reg));
+    if ( res )
+        return res;
+
+    res =3D fdt_property_cell(fdt, "#address-cells", 3);
+    if ( res )
+        return res;
+
+    res =3D fdt_property_cell(fdt, "#size-cells", 2);
+    if ( res )
+        return res;
+
+    res =3D fdt_property_string(fdt, "status", "okay");
+    if ( res )
+        return res;
+
+    /*
+     * Create ranges property as:
+     * <(PCI bitfield) (PCI address) (CPU address) (Size)>
+     */
+    cells =3D &reg[0];
+    dt_set_cell(&cells, 1, GUEST_VPCI_ADDR_TYPE_MEM);
+    dt_set_cell(&cells, GUEST_ROOT_ADDRESS_CELLS, vpci.vpci_mem_base);
+    dt_set_cell(&cells, GUEST_ROOT_ADDRESS_CELLS, vpci.vpci_mem_base);
+    dt_set_cell(&cells, GUEST_ROOT_SIZE_CELLS, vpci.vpci_mem_size);
+    dt_set_cell(&cells, 1, GUEST_VPCI_ADDR_TYPE_PREFETCH_MEM);
+    dt_set_cell(&cells, GUEST_ROOT_ADDRESS_CELLS, vpci.vpci_mem_prefetch_b=
ase);
+    dt_set_cell(&cells, GUEST_ROOT_ADDRESS_CELLS, vpci.vpci_mem_prefetch_b=
ase);
+    dt_set_cell(&cells, GUEST_ROOT_SIZE_CELLS, vpci.vpci_mem_prefetch_size=
);
+    res =3D fdt_property(fdt, "ranges", reg, sizeof(reg));
+    if ( res )
+        return res;
+
+    res =3D fdt_end_node(fdt);
+
+    return res;
+}
+#else
+static inline int __init make_vpci_node(struct domain *d, void *fdt)
+{
+    return 0;
+}
+#endif
+
 static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
                               struct dt_device_node *node,
                               p2m_type_t p2mt)
@@ -1615,7 +1752,12 @@ static int __init handle_node(struct domain *d, stru=
ct kernel_info *kinfo,
         dt_dprintk("  Skip it (blacklisted)\n");
         return 0;
     }
-
+    /* If Xen is scanning the PCI devices, don't expose real bus to hwdom =
*/
+    if ( hwdom_uses_vpci() && dt_device_type_is_equal(node, "pci") )
+    {
+        dt_dprintk("  Skip it (pci-scan is enabled)\n");
+        return 0;
+    }
     /*
      * Replace these nodes with our own. Note that the original may be
      * used_by DOMID_XEN so this check comes first.
@@ -1766,6 +1908,13 @@ static int __init handle_node(struct domain *d, stru=
ct kernel_info *kinfo,
             if ( res )
                 return res;
         }
+
+        if ( hwdom_uses_vpci() )
+        {
+            res =3D make_vpci_node(d, kinfo->fdt);
+            if ( res )
+                return res;
+        }
     }
=20
     res =3D fdt_end_node(kinfo->fdt);
diff --git a/xen/arch/arm/include/asm/pci.h b/xen/arch/arm/include/asm/pci.=
h
index 08ffcd4438..7db36e7bc3 100644
--- a/xen/arch/arm/include/asm/pci.h
+++ b/xen/arch/arm/include/asm/pci.h
@@ -23,6 +23,7 @@
 #define pci_to_dev(pcidev) (&(pcidev)->arch.dev)
=20
 extern bool pci_passthrough_enabled;
+extern bool pci_scan_enabled;
=20
 struct rangeset;
=20
@@ -173,4 +174,19 @@ static inline int pci_get_new_domain_nr(void)
 }
=20
 #endif  /*!CONFIG_HAS_PCI*/
+
+#ifdef CONFIG_HAS_VPCI_GUEST_SUPPORT
+static inline bool hwdom_uses_vpci(void)
+{
+    return pci_scan_enabled;
+}
+
+#else  /*!CONFIG_HAS_VPCI_GUEST_SUPPORT*/
+
+static inline bool hwdom_uses_vpci(void)
+{
+    return false;
+}
+#endif  /*!CONFIG_HAS_VPCI_GUEST_SUPPORT*/
+
 #endif /* __ARM_PCI_H__ */
diff --git a/xen/arch/arm/pci/pci.c b/xen/arch/arm/pci/pci.c
index 3ddee5cdbb..31aa34153f 100644
--- a/xen/arch/arm/pci/pci.c
+++ b/xen/arch/arm/pci/pci.c
@@ -92,7 +92,7 @@ bool __read_mostly pci_passthrough_enabled;
 boolean_param("pci-passthrough", pci_passthrough_enabled);
=20
 /* By default pci scan is disabled. */
-static __initdata bool pci_scan_enabled;
+bool __ro_after_init pci_scan_enabled;
 boolean_param("pci-scan", pci_scan_enabled);
=20
 static int __init pci_init(void)
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Wed Oct 22 13:56:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Oct 2025 13:56:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148082.1480253 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBZKH-0006hA-1A; Wed, 22 Oct 2025 13:56:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148082.1480253; Wed, 22 Oct 2025 13:56:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBZKG-0006gf-S0; Wed, 22 Oct 2025 13:56:28 +0000
Received: by outflank-mailman (input) for mailman id 1148082;
 Wed, 22 Oct 2025 13:56:27 +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
 <SRS0=0J7Y=47=epam.com=Mykyta_Poturai@srs-se1.protection.inumbo.net>)
 id 1vBZKF-0006dh-6N
 for xen-devel@lists.xenproject.org; Wed, 22 Oct 2025 13:56:27 +0000
Received: from DU2PR03CU002.outbound.protection.outlook.com
 (mail-northeuropeazlp170110003.outbound.protection.outlook.com
 [2a01:111:f403:c200::3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e6ab83af-af4e-11f0-9d15-b5c5bf9af7f9;
 Wed, 22 Oct 2025 15:56:26 +0200 (CEST)
Received: from AS2PR03MB10110.eurprd03.prod.outlook.com
 (2603:10a6:20b:57a::22) by DB9PR03MB7644.eurprd03.prod.outlook.com
 (2603:10a6:10:2c0::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.12; Wed, 22 Oct
 2025 13:56:18 +0000
Received: from AS2PR03MB10110.eurprd03.prod.outlook.com
 ([fe80::52f0:1815:60c9:8873]) by AS2PR03MB10110.eurprd03.prod.outlook.com
 ([fe80::52f0:1815:60c9:8873%3]) with mapi id 15.20.9253.011; Wed, 22 Oct 2025
 13:56:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e6ab83af-af4e-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Zwvz2E3RRljI1iW5HoGRjCHe9trsbah4KZZJ8RoQ/3pCcmpFHiJPKtkhJxqPH0R+zS7zzzLqqNz4W4hzrHWxxXmNaOmqH/jkQiSqRy1fExVeDAwVN1ajI7lOFuOdPH6HjYhPPezwHfpiGpshkxr609IB0vQ2//K+317nV4WBA610nRzFR2lSumD+pECJ8QmvzReXt5hq1icKBUTsEy2yDgcQjdatrlwq5qKyGNVYvpdj1KetyWcpwTDbjmp1WhhkuVPmI7eMkHviDb799p5xvBvB9B6DJjAxKobVSOFm6H6fBsdG2E7/2fS4dKpB6vsihEtyesXXtxxVAtTRxM0NSw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=IUFW3uPowKzoVf+Zmjh1ybyh50HYabmWq1fqRE+JL1k=;
 b=BnG1IZw8/x/02Wf9kYlNsE1XqWIQcKG7L9gGwRnc4RGdoVhzG8v592HCdhzuiWLOCZ2eCxfdXYVEzZHhji83nvTfKFXZkAmxeSRqxlfHpU613iL8rLx9paGeFTneU8b9oJHKnHreY9Rdc2tRxjsod6nbIqJkziHOD44hrey2CmWQF3hNJctW9AR9IPUTlcwuB0OcYgTksOZDOJO9wHUrDlQBbFS5rJEcPuJdo2nPADuLtvIp8Fdn82CaP1BLIzLLVmLLRfpuyddrt3hWzbQl6cvdLQQoU1AmaY1n565ZossRHTgKPzL7vOER+FUXeuil+fRH4wE5lft/jF8noUApRg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IUFW3uPowKzoVf+Zmjh1ybyh50HYabmWq1fqRE+JL1k=;
 b=rbgTkfny5JoCKomSkZFbTN6zcqW7xik05HUdkkYR7HP9+WvGWuSbYOl4KdZw+ydckaRbBj+ZJWKq/GjQkhBYQG6OjI4uwbW1wyNAu2rv6bsz3f8aLYdAiny9zVS2FS6ydGdAyVNi/R01Fh/G+Yvjp6Hu7NCN6LNOb3azhaOhRdfkbdqh/Zpy8Uvk2YtbzInh4pB04xsD9308BkVTGPBGyjUVJGqbWPvZ1WAbEZ5CnrHILKrbJgdfE4fukt9lmJAAVe0PSzsivvLmVzf8i4yITBfG/3F7zBURjcR9RR51dXeZrQYlLmUm1iz9zMinAMdxfrt106l2iXaGjlPQIxDifg==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Edward Pickup <Edward.Pickup@arm.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>, Julien
 Grall <julien@xen.org>, =?iso-8859-1?Q?Roger_Pau_Monn=E9?=
	<roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>, Bertrand
 Marquis <bertrand.marquis@arm.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Luca Fancellu <luca.fancellu@arm.com>, Stewart
 Hildebrand <stewart.hildebrand@amd.com>, Mykyta Poturai
	<Mykyta_Poturai@epam.com>
Subject: [PATCH v2 1/7] arm/pci: Add pci-scan boot argument
Thread-Topic: [PATCH v2 1/7] arm/pci: Add pci-scan boot argument
Thread-Index: AQHcQ1ujfTqrR7NNFkeeHnU6acvuOw==
Date: Wed, 22 Oct 2025 13:56:18 +0000
Message-ID:
 <f9a6554e833ae226e1c36df6f57c67aa0941a2cf.1761134829.git.mykyta_poturai@epam.com>
References: <cover.1761134829.git.mykyta_poturai@epam.com>
In-Reply-To: <cover.1761134829.git.mykyta_poturai@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AS2PR03MB10110:EE_|DB9PR03MB7644:EE_
x-ms-office365-filtering-correlation-id: 6859d73f-ab3d-4b23-7a8e-08de1172c656
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|1800799024|376014|7416014|366016|38070700021;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?zd0mJz0NW/ict5WIka2wCgja4MW1/ngWOSNIGDSu2Mizf2eIt40bGHdQor?=
 =?iso-8859-1?Q?VG9bJ/P1kZLuknGjeGJeM+ms0QqAJ+lqY1Tg67w2Eq7LFlw9aar0jhw1hD?=
 =?iso-8859-1?Q?3UsInfmwQ96hFt5ftz4m0+fTovSpSNMZX8OS0pNzY62fz5vGqNxKpHhwFp?=
 =?iso-8859-1?Q?Y5TbFQgUMPaH750vMVzJ0wEOLUskXgAF/0JdvolNDfiPhLs03iwXGTylyJ?=
 =?iso-8859-1?Q?Ux51jIXtQ/Rpk6r7mlTwyX+5Dqx52Exag/H7NhUxnakRAwjNOMSdaCzKb9?=
 =?iso-8859-1?Q?pI220FDiEq7xe5FqB+zRzMXSFMcljmVw6FXi5hxN13ykp+ecBVkVxCy+vr?=
 =?iso-8859-1?Q?WI86eDNno5lWc0HHteoYyChzZ8iVKi2kgHADzX16F2OXL/VISKA1oeMhf1?=
 =?iso-8859-1?Q?u5wpLgmjuIFAeBxqCB/JyPD9+QTxyz9YtJDcTjhhVBOmLBzGfG3xIL/fDo?=
 =?iso-8859-1?Q?5/Rx+89ZWE1IOj9g5NfGdig3QnnMo230imnhddmevuRyKmiCy03ps99mf2?=
 =?iso-8859-1?Q?sgXKInxIMVnznBhGolBL//+uEIX+J/pSBGHf3lsrtBaWZscvc0W4bbzJcF?=
 =?iso-8859-1?Q?6V32FSizCgmAOsRmLgc8aVecZpbqmSOL8hMBF01Ijby0zhd+xBBoxiFLnA?=
 =?iso-8859-1?Q?FWzCmzJFZQWVCyGtuBmcUI+0Xsx+w5aezxHBm3N819cNL9vaViqoIU8e+o?=
 =?iso-8859-1?Q?saGaKd6mr6Cyn6DkoKfoBgvn9fv7d34+3P7CtE1e3fTWouvC5IuxG1E19f?=
 =?iso-8859-1?Q?cVZ+feVCnJ+tq5btWk97OeRWFtZyyZuaFATDtxKm7+V3Y5Q0MDwa/cBlW8?=
 =?iso-8859-1?Q?Xr+B/+jYEOjvZt0B9gQj9ebsGsvjQIJH7CcD+1qLtOJByYNEFL0vIn3vGS?=
 =?iso-8859-1?Q?wNZq1N9CjEfGcpWH4nvPwxmfxLjukFLSX7rwZSR6Y5V9Ot2lWPGOoylEda?=
 =?iso-8859-1?Q?zioDSrTYDbu7AvoZlNeo8bz7DfpdsPQFYCC8OJbdnUnJLDVRR3LWzTHrva?=
 =?iso-8859-1?Q?PFQNxaNUsavlCKeCL8wriD6diEjjQs+b1aNUeHC9JEx0TchIVQEIjbCHHe?=
 =?iso-8859-1?Q?gth8XuvMSXnbjXg8PaO65fhk4ZNlbGZy1/IN/58JyFhkK8WXNaWTT6DviZ?=
 =?iso-8859-1?Q?Y5StG9rrH89NIGrgRpWDk1Wv8NgRZsfntptdz6nWcId9GQSelFhDhetu/Q?=
 =?iso-8859-1?Q?9/gz5CL/8qr58tSxpkbNglOTe7OzZe9L0/dZpIpTFjv67XJXBhq3VOzX61?=
 =?iso-8859-1?Q?RJQeYwH7SwinJYsx4IhvbMa2w4X+7akGFkCl7cZhq87GT64S5lIWUp5MAU?=
 =?iso-8859-1?Q?qqFAy6g4STynUCyVihXGuVtL1rdlU96Uqqbimmpf1IsLmwk42hhZgB6epN?=
 =?iso-8859-1?Q?D181DE/wIMQAHPLD7O3voYmrt1nGE2ysZVyZwsgwX9aotbZv7WVfmE57HC?=
 =?iso-8859-1?Q?jPpAQozPWy6WrwcBoCUJK72a039BUBBM3VVp49Qk2qBdLYOjUZqqdA2Q/p?=
 =?iso-8859-1?Q?j5tACKp+ZI8tiQQ8n54oMNWNvcbdzbHSGbDgRZoMtqAiZA+7/oOeM/xKJy?=
 =?iso-8859-1?Q?egkjrG+46CrDbNT+H6rQuotUtIUC?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS2PR03MB10110.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(7416014)(366016)(38070700021);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?/XMancJVWi7XBr73fIoQ7hWC4Q9lG2motvx8v+DSZSCJFWpNF4UeLfnQXh?=
 =?iso-8859-1?Q?XjCiuK6+TV8KDQk6H9a013QiRit6a0zvxd5n7fenuaa4lHm+rebez4y7Zr?=
 =?iso-8859-1?Q?WI8+tX+5vQxbQmBVjAB/nly7pd/2Lp6v4bqO5Pf/Tzc8w0kJHriMRGHO5w?=
 =?iso-8859-1?Q?mW6PiI1E42IMDmNRY+o187R25VZXZj99VpZPaPCJd+RAGeCZJgk4K6bKRJ?=
 =?iso-8859-1?Q?RXHGckuAnFHcNDBLGVi3M6+q+jZmLyvEBIpvquLaUaL2B45vbQLdkNKcxF?=
 =?iso-8859-1?Q?E31ZuB5EWtZlwEAYmz2hL5QBYY79DUkmzfc+ef+Et3wlD8xBH8FH/3mfF1?=
 =?iso-8859-1?Q?BAu9tz7ECvJCn7+p2n7SoBOUvEMQwW+BD72H2cTCtOpM7NbMecBlqMuZCY?=
 =?iso-8859-1?Q?koK0PtxpfG8QF4IRj775i4HfhjRQtwsEGsAYQc9fjH2Hr4GxSDmTVPUJQ6?=
 =?iso-8859-1?Q?xY/lSFgGXl9JL2VEz7O2kHGKeF82D+V+sOPXUBbx//qCyDL2XsgkonaP72?=
 =?iso-8859-1?Q?W+eTI7bK5g/kSFTNW6CuQk2gqatwYluQHQ02/RU2hMIO0Vhto5GqVMvGiT?=
 =?iso-8859-1?Q?DjKYJhYxuQH9/gO1D04Iaqt/wo12kFn2E7xc9hFWH7KOlcH5iKRzdRWqi2?=
 =?iso-8859-1?Q?mJ81fn5j8TNlBYwWr0xVl+vnPgNCqpcBsyiArXfSWGZSKSzz6P1T1qS5Vz?=
 =?iso-8859-1?Q?rluo1hMzXBAyshf2jw3YfQw2nlMTMO41OjsVs1SHS5ELz6rH9bnje91CWc?=
 =?iso-8859-1?Q?eShb60kdjHKfFiPhrUpzc2VxQCLZMlCrok35GqCFdkFI+YYBTKEHAfJcv6?=
 =?iso-8859-1?Q?WD5EMjT8bKRv69k6qY6INhUbNvg3ovDt/U15ERfHQfuWMLTxT4rV0IVDdZ?=
 =?iso-8859-1?Q?/zwj4uy+VzXfW3PkJrmuZYxlFitKFjuELVvHsyFfdGHBAtUZlAuP/uaOOH?=
 =?iso-8859-1?Q?TliECloXy9tloMgChbNfVimyJWSAqKp6t1T2UsjTIOteoQs9gYPqKvuGft?=
 =?iso-8859-1?Q?JjTA547py6GwJYV3x9IUQ5QazDrh6dInwjm253jcj4hFCYZJqVH267rj1W?=
 =?iso-8859-1?Q?5D4oxN2LhL9H2rWgOkKugQmmYxvwH1SMerrtRUOBMwOOEWx6hkEMRuvOUh?=
 =?iso-8859-1?Q?SsZTB4jETYopIilrppPVSyQfGI+uHcyKAL7H+2nFt1PiA5GHJb4104v69v?=
 =?iso-8859-1?Q?t1r0b673OC+xi62+LCy9EBiWAl/CHQjzU7UTNz2VAKGGQvkpn7djZLxe/U?=
 =?iso-8859-1?Q?ZfqHcawI1jZv/4Z2fd1k3MgRv3ATPnCgR4TO4w+u1umTciS9efXeXh6BEB?=
 =?iso-8859-1?Q?cN0rSPRxRUCec/R5e+tm3H6kKK6xLoP5O/jEYVU9f4lewNYSOdRmzXoOJM?=
 =?iso-8859-1?Q?y1bq6dz2xE8kKzWqmkeUPv/6MDmPw5wZAG3jTMzRNo8bWLeFI0/nwGp6uh?=
 =?iso-8859-1?Q?oE1dp34J62kr8spoUzQ79RXi9Kqeumm8AYBmgw4MDfdMnMU29hbzhEIka8?=
 =?iso-8859-1?Q?//LGPInFPoqg/MNEFJzereFQh/wkBLvhrOYVHcLyHXkElYemlOUCjoATB7?=
 =?iso-8859-1?Q?WWAZD9BFbUBWbbye9HLJg0j3+mXN85ozELZtb2k4H4kAlr+QTuf0TZJd4L?=
 =?iso-8859-1?Q?RxGQSSiStvNLaiuidrHhxiPQGCU+8AkGpyO2iCKDhg520r4e1k4henqg?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB10110.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6859d73f-ab3d-4b23-7a8e-08de1172c656
X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Oct 2025 13:56:18.2920
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: SgvpKRPFgYSxA1MdLFY2bwvcNxploknWrinYKkSEv6bCKX2Bn1WV0MoYNMMsdYd5poEmP5g2xQCrHJHyDCLuLA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR03MB7644

From: Edward Pickup <Edward.Pickup@arm.com>

This patch adds a Xen boot arguments that, if enabled, causes a call to
existing code to scan pci devices enumerated by the firmware.

This will be needed ahead of dom0less support for pci passthrough on
arm.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
---

v1->v2:
* remove dead code
* don't return errors from pci_init, but report them

changes from previous series:
* remove is_pci_scan_enabled wrapper
* make pci_scan_enabled ro_after_init
* drop debug prints
* drop Edward's SOB
---
 docs/misc/xen-command-line.pandoc  |  7 +++++++
 xen/arch/arm/pci/pci-host-common.c |  1 +
 xen/arch/arm/pci/pci.c             | 30 ++++++++++++++++++++++++++++--
 3 files changed, 36 insertions(+), 2 deletions(-)

diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line=
.pandoc
index 28a98321c7..3a59b2fce1 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -2079,6 +2079,13 @@ This option can be specified more than once (up to 8=
 times at present).
=20
 Flag to enable or disable support for PCI passthrough
=20
+### pci-scan (arm)
+> `=3D <boolean>`
+
+> Default: `false`
+
+Flag to enable or disable Xen PCI scan at boot.
+
 ### pcid (x86)
 > `=3D <boolean> | xpti=3D<bool>`
=20
diff --git a/xen/arch/arm/pci/pci-host-common.c b/xen/arch/arm/pci/pci-host=
-common.c
index 487c545f3a..d3481b05eb 100644
--- a/xen/arch/arm/pci/pci-host-common.c
+++ b/xen/arch/arm/pci/pci-host-common.c
@@ -284,6 +284,7 @@ pci_host_common_probe(struct dt_device_node *dev,
     }
=20
     pci_add_host_bridge(bridge);
+    pci_add_segment(bridge->segment);
=20
     return bridge;
=20
diff --git a/xen/arch/arm/pci/pci.c b/xen/arch/arm/pci/pci.c
index beb1f971fa..3ddee5cdbb 100644
--- a/xen/arch/arm/pci/pci.c
+++ b/xen/arch/arm/pci/pci.c
@@ -91,8 +91,14 @@ bool arch_pci_device_physdevop(void)
 bool __read_mostly pci_passthrough_enabled;
 boolean_param("pci-passthrough", pci_passthrough_enabled);
=20
+/* By default pci scan is disabled. */
+static __initdata bool pci_scan_enabled;
+boolean_param("pci-scan", pci_scan_enabled);
+
 static int __init pci_init(void)
 {
+    int ret;
+
     /*
      * Enable PCI passthrough when has been enabled explicitly
      * (pci-passthrough=3Don).
@@ -104,9 +110,29 @@ static int __init pci_init(void)
         panic("Could not initialize PCI segment 0\n");
=20
     if ( acpi_disabled )
-        return dt_pci_init();
+        ret =3D dt_pci_init();
     else
-        return acpi_pci_init();
+        ret =3D acpi_pci_init();
+
+    if ( ret < 0 )
+    {
+        printk(XENLOG_ERR "PCI: Failed to initialize PCI host bridges (rc=
=3D%d)\n", ret);
+        return 0;
+    }
+
+    if ( pci_scan_enabled )
+    {
+        ret =3D scan_pci_devices();
+
+        if ( ret < 0 )
+        {
+            printk(XENLOG_ERR "PCI: Failed to scan PCI devices (rc=3D%d)\n=
", ret);
+            return 0;
+        }
+
+    }
+
+    return 0;
 }
 __initcall(pci_init);
=20
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Wed Oct 22 13:56:35 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Oct 2025 13:56:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148086.1480297 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBZKN-0007ro-CA; Wed, 22 Oct 2025 13:56:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148086.1480297; Wed, 22 Oct 2025 13:56:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBZKN-0007ra-94; Wed, 22 Oct 2025 13:56:35 +0000
Received: by outflank-mailman (input) for mailman id 1148086;
 Wed, 22 Oct 2025 13:56:33 +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
 <SRS0=0J7Y=47=epam.com=Mykyta_Poturai@srs-se1.protection.inumbo.net>)
 id 1vBZKL-0007mO-EH
 for xen-devel@lists.xenproject.org; Wed, 22 Oct 2025 13:56:33 +0000
Received: from AM0PR83CU005.outbound.protection.outlook.com
 (mail-westeuropeazlp170100001.outbound.protection.outlook.com
 [2a01:111:f403:c201::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e577b97c-af4e-11f0-980a-7dc792cee155;
 Wed, 22 Oct 2025 15:56:28 +0200 (CEST)
Received: from AS2PR03MB10110.eurprd03.prod.outlook.com
 (2603:10a6:20b:57a::22) by AS4PR03MB8460.eurprd03.prod.outlook.com
 (2603:10a6:20b:51b::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.16; Wed, 22 Oct
 2025 13:56:21 +0000
Received: from AS2PR03MB10110.eurprd03.prod.outlook.com
 ([fe80::52f0:1815:60c9:8873]) by AS2PR03MB10110.eurprd03.prod.outlook.com
 ([fe80::52f0:1815:60c9:8873%3]) with mapi id 15.20.9253.011; Wed, 22 Oct 2025
 13:56:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e577b97c-af4e-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Fq39xh+0o529LpXRQagL6R6WJNUkeoj8wFO9UybDk+IQhwi0/EFprmxTTbmKAyZmpedB7C0Wp2+zNn8vuOhtFQq8Ir2OgDKvnPKmH1WrGkPAjEh/rGD+ygAdY+5d90thAUdHBCLTjTpOgXBnGV22BQqTsrRXxc8TAo2EQfqu058qnlYEG3JOaT06bXke3v/ABFepGdCPajqLNM0SwjOfaPpN9JFOTu7sGdGvhQW93hmt4DTbob5n+0Dv9gU+Qflyt+WyWLT6tM1yxI4UmvInqDxJbCNtzt/3IbakNOX2jUNevdSBA076MYCChaYqP6KDBhNJMV1mGbQHuCBuPHspFw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Pz2SKUXhyaOpFrevDBWiPXtPPwhCIt/eOQsWqUwGY/w=;
 b=mkRQDJJzWBJAgzIWZ6RSiDETO9T34vg67HUgb8StdfVQVg+vtP9GnsSLf0jqOBUBoJJ3LJ0H/tGC55j07oh2IvbSK3TMRqd16IjlK2gVql7o0H43MLUDslWA8lIy5YsDl9D+4t4ZL5km2RNIc5rPjC9gjgn3cg4lsHx091X/lnnR0nrNIKLJiKEKK/RlU2hGvMgD1R4dSf11uZTgVCqeEzxPeYyv+GwOBIpJ+4G+s3obufNxeMUvTyt2d9hwMXDbUfobq6KImUvyKOP7P+X6vqKb6JCviDZXs6K/FNvmsdIxQBxtcQQzMXwYsNJ7V1YwFP2yHvs9BLYHvj6ir8k1Vw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Pz2SKUXhyaOpFrevDBWiPXtPPwhCIt/eOQsWqUwGY/w=;
 b=A2m47NCHLiG/Gwb2hKPZxv76vSRDb7m+JM86V8uALO61xqQUhzChkuLDCMgrUEi9Uxs5E7Ku6n+L1Z81doLHt6mi/b+gZbkb/rT1zmwMl7mJb0q2XNNJ7LybU+cqGAHI8NS6nQ4ICZJWBqclZlHotxJclSE71D5N5vHk2LRIKGL8mGOlHG48mNEML1s6+T0s0T4n4SlbbrMI5Pisbg3pzQePkwBYqzbQ4UNfvDqQs4Rl1Gf0K5Cr+GFedozw2Z0Xaw/snf9DgVNI7fB3nb2wSh4HJg2CL1e5Pn2Gjqnwimt6Zerm1sYBKiVcGhTYwQmFLTVxGvhcXgL6FWafG76Scw==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Stewart Hildebrand <stewart.hildebrand@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Anthony PERARD <anthony.perard@vates.tech>, Jan
 Beulich <jbeulich@suse.com>, =?iso-8859-1?Q?Roger_Pau_Monn=E9?=
	<roger.pau@citrix.com>, Mykyta Poturai <Mykyta_Poturai@epam.com>
Subject: [PATCH v2 5/7] xen/pci: initialize BARs
Thread-Topic: [PATCH v2 5/7] xen/pci: initialize BARs
Thread-Index: AQHcQ1ukkPUeQeZ06UaWcrHqayzGmQ==
Date: Wed, 22 Oct 2025 13:56:20 +0000
Message-ID:
 <0abec6521491db737f2fa061ddc748eb70f259b3.1761134829.git.mykyta_poturai@epam.com>
References: <cover.1761134829.git.mykyta_poturai@epam.com>
In-Reply-To: <cover.1761134829.git.mykyta_poturai@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AS2PR03MB10110:EE_|AS4PR03MB8460:EE_
x-ms-office365-filtering-correlation-id: 5d55bda9-377b-4eb0-c8d7-08de1172c7f2
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|1800799024|376014|366016|7416014|38070700021;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?LzabkyO5cWiiqZQyKTEUwPY8L64t5GPJWlrcnAv1BIoyM9yi+/GTZX0ZzJ?=
 =?iso-8859-1?Q?nyBHVqRV9ZNX/pXwvCSEIL9zexvC/7huP8bXGCtt7DqIA/9x38vs8wpb6T?=
 =?iso-8859-1?Q?3gFtKaZp6pz9up4Bx8wtaz33Ptcguv9uLU1MfPIQyQmrEl+aOSMBbC/HIu?=
 =?iso-8859-1?Q?MY3O6K0/FT1CkrDv5V80vZMWdTrmP6V1IK4xq/E05d5BykhnlSy7ZgwhKX?=
 =?iso-8859-1?Q?8RejKoR+PU4s67Fm0TcdKboBLBak+YajScHgi3KMNU5++yQh7Kq4KAMVx6?=
 =?iso-8859-1?Q?WgghaMeikud064CJstE1oQgqfQgcdYt2tYU1NqeFYiOIXQMe8JYCwITn+w?=
 =?iso-8859-1?Q?3jXNZwvVmp3VqOJ83t7v3MLn2AQG0VyctM/fx8afzw/aTQ0pugGAtQ7cRV?=
 =?iso-8859-1?Q?rOEMBKmA/C0GC7kfqRiGgSyTlLwt6ztaD5EG6Cn99Vag7y+gdDf331ZPaI?=
 =?iso-8859-1?Q?2NesYlDpw1T7pqJ2bmQVaO7mjvmdxWr7hH9K4unAVm2rT7FybdxnrltSMK?=
 =?iso-8859-1?Q?Rf7jxWzfMCq84hHs+gMv9bboGccRp77AkxmPdfQ2S2g/c/G+G9Uunebqpw?=
 =?iso-8859-1?Q?KFAtFBN9ZntUgViNl+SBPfrRBDfgTURew7NX2sf/bQU6FsYQ1cFRJZrtXK?=
 =?iso-8859-1?Q?5DHgdR1c9Gtwtz0EMMrjf6GS1tDWD0/pRb9MOAW6EIgwN9CNJpvLkK4IF9?=
 =?iso-8859-1?Q?KlG0YIEpSVfLPh90/tj8YaEjoZT9XXZQj798oGGlupU2UFgHor3Z4pzLbB?=
 =?iso-8859-1?Q?hsPQYoB/X7uZSNSs/mfkHzWG5/masuBETTfiYVWjbqNgC5ylfnOgn5loP3?=
 =?iso-8859-1?Q?5l9QpPyY55lQUQN0DSMX12wQFPMnAnXSYxXP51xXfGguToa7OSuxuAMC7t?=
 =?iso-8859-1?Q?RgvOx+coczYIFJWxHePtHWnRYT1+qWV4du5zecNiLrKJIiV9irlhBvJ96X?=
 =?iso-8859-1?Q?zsSbmDPgsLGZ9cTMnfG8tJ++JhszYQI47IlIbE8JtoA/kr+EzfFBZcgPgB?=
 =?iso-8859-1?Q?BKRVizPlJhVfc/W0vlrsam2144IzE9EZAntb8JanmHwStZ9FJcDQTOyn+q?=
 =?iso-8859-1?Q?NzISsImg3eNo4dFiq4IGA9TZIU1YVgolFAp3gTMMW+ZgTOuH8kiZBmXsJe?=
 =?iso-8859-1?Q?nx68wQ+GVIruN6TYwVLd2Q2fu7nz28tpWrdLbPdHzGswobfH5vbfXNrzse?=
 =?iso-8859-1?Q?worWs2g8EYIUrajg+XckEAyhcGDDQCqwbF9O0mvyJQDEn+owUSdBcyd+sz?=
 =?iso-8859-1?Q?S4rCO+v7LaiCUbda4Qc/eqnOcD3tGsqw3vMnWwoiyr+t55kfUbKjmPKue/?=
 =?iso-8859-1?Q?28hEAjQulakT6/Z0ucu5dkZVJdNeOKPQ3zw+xx/OW8j58FDw0mHnFIsPcd?=
 =?iso-8859-1?Q?69Xd5IO2tlhQriItS//pQsSm+ObAJWxzQtgZmZovE8yG5kSnW6FrCrwbOa?=
 =?iso-8859-1?Q?GtzCUfX1bUkjzMmpMv5eoNAC03DexUFZ87yRHCNQ6WvLSxXq+3C8bzVStK?=
 =?iso-8859-1?Q?PZrjN1eK6bhCAKUVSKOThwiU2XQ5liXIqrHe3KhKpxB8rj7dKBWVFKOOhU?=
 =?iso-8859-1?Q?ZZKcY2MOcx8g+kBHr0KVQV3myXU3?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS2PR03MB10110.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(7416014)(38070700021);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?aZhTFyZRffVMDnBhR4ZPtfjxsRYRAtNJkK94KedUOKX2rx+zKGkjjGLw2K?=
 =?iso-8859-1?Q?oSj8fs6JT6yxUfKPRDuZm1Zp9z1Rx0Q8nNBdYJQaC5Jnh6FKzfOnF1fHg1?=
 =?iso-8859-1?Q?yxPwqZ9mzVl8ZGf3exRWNgUMJDZz6+j4QBRLK2wdEsFTlxH2G5l3HnV0Bd?=
 =?iso-8859-1?Q?lzb/e5ipZ1kNJ6roP2zTxEq4Pt8SRydnQmOVoKC+WvHQfwrY8t2NANYCXy?=
 =?iso-8859-1?Q?qLbBkHxY0H2ypJQpFj61h/oSq0zN/WX8QCne8DA0Fx5kRxKlS0tlBWkiOG?=
 =?iso-8859-1?Q?D5gZ6VNGI5hcfHzDSR0DZpyt5kTn+kY6ysDLMKYmH1vneWtPxnS1GQzb0q?=
 =?iso-8859-1?Q?erJIAAcrwsgvifEQJ+AK7lNBg30n3+A66rjXb/OZptg3/m5c9ZrWR7WN0M?=
 =?iso-8859-1?Q?MeVJVEl2TM2kKAUic6Q4Cr9Ok/YnpxmgA0wFmOeX2LIZ0VoVOS+ktuME5r?=
 =?iso-8859-1?Q?cVHj1GWCld3oPc1a4Qa7HS/Up5oE5SaHzOGyQL58bAK03xd7eL5n+YW5q0?=
 =?iso-8859-1?Q?ZruFTZ+Vb7fhehSrKbiUmfV2wu7DjVGwHiErMqM8Jlddz8nW6HxITmr2zn?=
 =?iso-8859-1?Q?V/sZHGIJLUukCJsDh5PYMg/G5n1Ww78WjXZm74cqBVKhHSJTGZJgMw1wbw?=
 =?iso-8859-1?Q?NIOmVYfT9nYmVeYuZVxHLWSxPKnLuEAqaLm2OxLgRO3Yt5a0DEexWC5+v9?=
 =?iso-8859-1?Q?33GBF0tg7kePzZomCDiJjbMmxQ520C5ecra0Hvz2uu69moQi/gqe0GgHu4?=
 =?iso-8859-1?Q?BD73QNKuv0xFB6aU+PYEnfu5H/qT3mHS5Btr98z1KSpWE53GaKpcqE+IoM?=
 =?iso-8859-1?Q?TUwXSkXTCiAu9hMMVv9A7GGTxN0eN4iqoVMZ6ac5NVx1qJVxWFbUlOK55t?=
 =?iso-8859-1?Q?WkX/+J1WywVFhyiuzO3nGDjN8rQ3tC/MYBbkx6eQqy2UvddI19DjFM2T2g?=
 =?iso-8859-1?Q?Ms3H4sXZXwpXUx+cnLTQXAbbxxkOeBVxldOt5nzZ0Qe+1YYFyLyqIE127V?=
 =?iso-8859-1?Q?rNn0mRV/YfrLpwnGb5peYHwZRrmr2RlIdASkUhf+S7Efd9+8YPQInHlaEi?=
 =?iso-8859-1?Q?UrUdUQKM9XvSONqf6uGpZNQnDhrNMRwPBIHqMyZGWqBrN+gqeYXao0bHEL?=
 =?iso-8859-1?Q?KVAWOBsu4V4LUw3YFIkmgXothuBB8xQFjgC27LmiqnzhWYAdqLjI3BqrHj?=
 =?iso-8859-1?Q?41JnHTB5vQwrz/Ce/s4dSf5YEsT7b/DIia98UGi/ffUXKiP417FYrFvUwR?=
 =?iso-8859-1?Q?CfLHsCAl9xQu3RRGTJZVovWT0yuWWS26uyGE2cO0eoBvjVv6+z3k8xb8XN?=
 =?iso-8859-1?Q?sOzR3FVuI+GO9ss7o8aV/SWujNEtsmltKEUjwr2TiVPbyRK/kME+XeaP37?=
 =?iso-8859-1?Q?K6uabLs9KCuGL5woJhBsPVoj6s2ycVRNgOxMhvk5iH82APU/HQelVF7St6?=
 =?iso-8859-1?Q?kqnFo0q/TNbX0snCPS2tZcMJ0xLQG+FFN6rbMVa8rLBQTHWAcT0SGyvZQS?=
 =?iso-8859-1?Q?FU18kKgE4WEm3bbLiHhk1Z4I3eCuZH3fxJDIVahpeJiQaDX4retLW6pR/s?=
 =?iso-8859-1?Q?dGAYiMbbWxXe1q1k4W2Iw6VNGEvRYDswTOCeNXbe5obDmLKESTIByQJBXx?=
 =?iso-8859-1?Q?chhoStnJrtkF4ZiziY9HI1+EXcYlRweHH/s03FMwbl3bGxnFmvnBICOA?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB10110.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5d55bda9-377b-4eb0-c8d7-08de1172c7f2
X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Oct 2025 13:56:20.3621
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: KvTnXXczehpBNzTogJNnoqejM7sKPXrSk8u3+luxLSd3MT6RxpSUJbfyLPMN2L9cONPA8dtwFBTO4g7LHwEcFg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR03MB8460

From: Stewart Hildebrand <stewart.hildebrand@amd.com>

A PCI device must have valid BARs in order to assign it to a domain.  On
ARM, firmware is unlikely to have initialized the BARs, so we must do
this in Xen. During setup_hwdom_pci_devices(), check if each BAR is
valid. If the BAR happens to already be valid, remove the BAR range from
a rangeset of valid PCI ranges so as to avoid overlap when reserving a
new BAR. If not valid, reserve a new BAR address from the rangeset and
write it to the device.

Avaliable ranges are read from DT during init and stored in distinct
rangesets.

Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
---
v1->v2:
* move hwdom_uses_vpci to this patch
* fixup error reporting
---
 xen/arch/arm/include/asm/pci.h     |  7 +++
 xen/arch/arm/pci/pci-host-common.c | 76 ++++++++++++++++++++++++++++
 xen/arch/x86/include/asm/pci.h     | 20 ++++++++
 xen/common/rangeset.c              | 35 +++++++++++++
 xen/drivers/passthrough/pci.c      | 79 ++++++++++++++++++++++++++++++
 xen/include/xen/rangeset.h         |  6 ++-
 6 files changed, 222 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/include/asm/pci.h b/xen/arch/arm/include/asm/pci.=
h
index 7db36e7bc3..46bdc7713b 100644
--- a/xen/arch/arm/include/asm/pci.h
+++ b/xen/arch/arm/include/asm/pci.h
@@ -74,6 +74,8 @@ struct pci_host_bridge {
     struct pci_config_window *child_cfg;
     const struct pci_ops *child_ops;
     void *priv;                      /* Private data of the bridge. */
+    struct rangeset *bar_ranges;
+    struct rangeset *bar_ranges_prefetch;
 };
=20
 struct pci_ops {
@@ -154,6 +156,11 @@ void pci_generic_init_bus_range_child(struct dt_device=
_node *dev,
=20
 bool arch_pci_device_physdevop(void);
=20
+uint64_t pci_get_new_bar_addr(const struct pci_dev *pdev, uint64_t size,
+                              bool is_64bit, bool prefetch);
+int pci_reserve_bar_range(const struct pci_dev *pdev, uint64_t addr,
+                          uint64_t size, bool prefetch);
+
 #else   /*!CONFIG_HAS_PCI*/
=20
 struct pci_dev;
diff --git a/xen/arch/arm/pci/pci-host-common.c b/xen/arch/arm/pci/pci-host=
-common.c
index 67447d8696..86467e7cf6 100644
--- a/xen/arch/arm/pci/pci-host-common.c
+++ b/xen/arch/arm/pci/pci-host-common.c
@@ -21,6 +21,7 @@
 #include <xen/rwlock.h>
 #include <xen/sched.h>
 #include <xen/vmap.h>
+#include <xen/resource.h>
=20
 #include <asm/setup.h>
=20
@@ -232,6 +233,21 @@ static int pci_bus_find_domain_nr(struct dt_device_nod=
e *dev)
     return domain;
 }
=20
+static int add_bar_range(const struct dt_device_node *dev, uint32_t flags,
+                         uint64_t addr, uint64_t len, void *data)
+{
+    struct pci_host_bridge *bridge =3D data;
+
+    if ( !(flags & IORESOURCE_MEM) )
+        return 0;
+
+    if ( flags & IORESOURCE_PREFETCH )
+        return rangeset_add_range(bridge->bar_ranges_prefetch, addr,
+                                  addr + len - 1);
+    else
+        return rangeset_add_range(bridge->bar_ranges, addr, addr + len - 1=
);
+}
+
 struct pci_host_bridge *
 pci_host_common_probe(struct dt_device_node *dev,
                       const struct pci_ecam_ops *ops,
@@ -286,6 +302,14 @@ pci_host_common_probe(struct dt_device_node *dev,
     pci_add_host_bridge(bridge);
     pci_add_segment(bridge->segment);
=20
+    bridge->bar_ranges =3D rangeset_new(NULL, "BAR ranges",
+                                      RANGESETF_prettyprint_hex);
+    bridge->bar_ranges_prefetch =3D rangeset_new(NULL,
+                                               "BAR ranges (prefetchable)"=
,
+                                               RANGESETF_prettyprint_hex);
+    if ( bridge->bar_ranges && bridge->bar_ranges_prefetch )
+        dt_for_each_range(bridge->dt_node, add_bar_range, bridge);
+
     return bridge;
=20
 err_child:
@@ -476,6 +500,58 @@ bool pci_check_bar(const struct pci_dev *pdev, mfn_t s=
tart, mfn_t end)
=20
     return bar_data.is_valid;
 }
+
+uint64_t pci_get_new_bar_addr(const struct pci_dev *pdev, uint64_t size,
+                              bool is_64bit, bool prefetch)
+{
+    struct pci_host_bridge *bridge;
+    struct rangeset *range;
+    uint64_t addr;
+
+    bridge =3D pci_find_host_bridge(pdev->seg, pdev->bus);
+    if ( !bridge )
+        return 0;
+
+    range =3D prefetch ? bridge->bar_ranges_prefetch : bridge->bar_ranges;
+
+    if ( size < PAGE_SIZE )
+        size =3D PAGE_SIZE;
+
+    if ( is_64bit && !rangeset_find_aligned_range(range, size, GB(4), &add=
r) )
+    {
+        if ( rangeset_remove_range(range, addr, addr + size - 1) )
+            printk(XENLOG_ERR "Failed to remove BAR range %lx-%lx from ran=
geset\n",
+                   addr, addr + size - 1);
+        return addr;
+    }
+    if ( !rangeset_find_aligned_range(range, size, 0, &addr) )
+    {
+        if ( !is_64bit && addr >=3D GB(4) )
+            return 0;
+        if ( rangeset_remove_range(range, addr, addr + size - 1) )
+            printk(XENLOG_ERR "Failed to remove BAR range %lx-%lx from ran=
geset\n",
+                   addr, addr + size - 1);
+        return addr;
+    }
+
+    return 0;
+}
+
+int pci_reserve_bar_range(const struct pci_dev *pdev, uint64_t addr,
+                          uint64_t size, bool prefetch)
+{
+    struct pci_host_bridge *bridge;
+    struct rangeset *range;
+
+    bridge =3D pci_find_host_bridge(pdev->seg, pdev->bus);
+    if ( !bridge )
+        return 0;
+
+    range =3D prefetch ? bridge->bar_ranges_prefetch : bridge->bar_ranges;
+
+    return rangeset_remove_range(range, addr, addr + size - 1);
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/x86/include/asm/pci.h b/xen/arch/x86/include/asm/pci.=
h
index 0b98081aea..4cc3f2e853 100644
--- a/xen/arch/x86/include/asm/pci.h
+++ b/xen/arch/x86/include/asm/pci.h
@@ -76,4 +76,24 @@ int pci_sanitize_bar_memory(struct rangeset *r);
=20
 void pci_setup(void);
=20
+/* Unlike ARM, HW domain alyways uses vpci for x86 */
+static inline bool hwdom_uses_vpci(void)
+{
+    return true;
+}
+
+static inline uint64_t pci_get_new_bar_addr(const struct pci_dev *pdev,
+                                            uint64_t size, bool is_64bit,
+                                            bool prefetch)
+{
+    return 0;
+}
+
+static inline int pci_reserve_bar_range(const struct pci_dev *pdev,
+                                        uint64_t addr, uint64_t size,
+                                        bool prefetch)
+{
+    return 0;
+}
+
 #endif /* __X86_PCI_H__ */
diff --git a/xen/common/rangeset.c b/xen/common/rangeset.c
index 0e3b9acd35..c1c6f8610c 100644
--- a/xen/common/rangeset.c
+++ b/xen/common/rangeset.c
@@ -357,6 +357,41 @@ int rangeset_claim_range(struct rangeset *r, unsigned =
long size,
     return 0;
 }
=20
+int rangeset_find_aligned_range(struct rangeset *r, unsigned long size,
+                                unsigned long min, unsigned long *s)
+{
+    struct range *x;
+
+    /* Power of 2 check */
+    if ( (size & (size - 1)) !=3D 0 )
+    {
+        *s =3D 0;
+        return -EINVAL;
+    }
+
+    read_lock(&r->lock);
+
+    for ( x =3D first_range(r); x; x =3D next_range(r, x) )
+    {
+        /* Assumes size is a power of 2 */
+        unsigned long start_aligned =3D (x->s + size - 1) & ~(size - 1);
+
+        if ( x->e > start_aligned &&
+             (x->e - start_aligned) >=3D size &&
+             start_aligned >=3D min )
+        {
+            read_unlock(&r->lock);
+            *s =3D start_aligned;
+            return 0;
+        }
+    }
+
+    read_unlock(&r->lock);
+    *s =3D 0;
+
+    return -ENOSPC;
+}
+
 int rangeset_consume_ranges(struct rangeset *r,
                             int (*cb)(unsigned long s, unsigned long e,
                                       void *ctxt, unsigned long *c),
diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
index 3edcfa8a04..4f5de9a542 100644
--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -1172,6 +1172,80 @@ int __init scan_pci_devices(void)
     return ret;
 }
=20
+static void __init cf_check reserve_bar_range(struct pci_dev *pdev, uint8_=
t reg,
+                                              uint64_t addr, uint64_t size=
,
+                                              bool is_64bit, bool prefetch=
)
+{
+    if ( pci_check_bar(pdev, maddr_to_mfn(addr),
+                       maddr_to_mfn(addr + size - 1)) )
+        pci_reserve_bar_range(pdev, addr, size, prefetch);
+}
+
+static void __init cf_check get_new_bar_addr(struct pci_dev *pdev, uint8_t=
 reg,
+                                             uint64_t addr, uint64_t size,
+                                             bool is_64bit, bool prefetch)
+{
+    if ( !pci_check_bar(pdev, maddr_to_mfn(addr),
+                        maddr_to_mfn(addr + size - 1)) )
+    {
+        uint16_t cmd =3D pci_conf_read16(pdev->sbdf, PCI_COMMAND);
+
+        addr =3D pci_get_new_bar_addr(pdev, size, is_64bit, prefetch);
+
+        pci_conf_write16(pdev->sbdf, PCI_COMMAND,
+                         cmd & ~(PCI_COMMAND_MEMORY | PCI_COMMAND_IO));
+
+        pci_conf_write32(pdev->sbdf, reg,
+                         (addr & GENMASK(31, 0)) |
+                         (is_64bit ? PCI_BASE_ADDRESS_MEM_TYPE_64 : 0));
+
+        if ( is_64bit )
+            pci_conf_write32(pdev->sbdf, reg + 4, addr >> 32);
+
+        pci_conf_write16(pdev->sbdf, PCI_COMMAND, cmd);
+    }
+}
+
+static int __init cf_check bars_iterate(struct pci_seg *pseg, void *arg)
+{
+    struct pci_dev *pdev;
+    unsigned int i, ret, num_bars =3D PCI_HEADER_NORMAL_NR_BARS;
+    uint64_t addr, size;
+    void (*cb)(struct pci_dev *, uint8_t, uint64_t, uint64_t, bool, bool) =
=3D arg;
+
+    list_for_each_entry ( pdev, &pseg->alldevs_list, alldevs_list )
+    {
+        if ( (pci_conf_read8(pdev->sbdf, PCI_HEADER_TYPE) & 0x7f) =3D=3D
+             PCI_HEADER_TYPE_NORMAL )
+        {
+            for ( i =3D 0; i < num_bars; i +=3D ret )
+            {
+                uint8_t reg =3D PCI_BASE_ADDRESS_0 + i * 4;
+                bool prefetch;
+
+                if ( (pci_conf_read32(pdev->sbdf, reg) & PCI_BASE_ADDRESS_=
SPACE)
+                     =3D=3D PCI_BASE_ADDRESS_SPACE_IO )
+                {
+                    ret =3D 1;
+                    continue;
+                }
+
+                ret =3D pci_size_mem_bar(pdev->sbdf, reg, &addr, &size,
+                                      (i =3D=3D num_bars - 1) ? PCI_BAR_LA=
ST : 0);
+
+                if ( !size )
+                    continue;
+                prefetch =3D !!(pci_conf_read32(pdev->sbdf, reg) &
+                              PCI_BASE_ADDRESS_MEM_PREFETCH);
+
+                cb(pdev, reg, addr, size, ret =3D=3D 2, prefetch);
+            }
+        }
+    }
+
+    return 0;
+}
+
 struct setup_hwdom {
     struct domain *d;
     int (*handler)(uint8_t devfn, struct pci_dev *pdev);
@@ -1263,6 +1337,11 @@ void __hwdom_init setup_hwdom_pci_devices(
     struct setup_hwdom ctxt =3D { .d =3D d, .handler =3D handler };
=20
     pcidevs_lock();
+    if ( hwdom_uses_vpci() )
+    {
+        pci_segments_iterate(bars_iterate, reserve_bar_range);
+        pci_segments_iterate(bars_iterate, get_new_bar_addr);
+    }
     pci_segments_iterate(_setup_hwdom_pci_devices, &ctxt);
     pcidevs_unlock();
 }
diff --git a/xen/include/xen/rangeset.h b/xen/include/xen/rangeset.h
index 817505badf..e71e810f82 100644
--- a/xen/include/xen/rangeset.h
+++ b/xen/include/xen/rangeset.h
@@ -56,11 +56,15 @@ void rangeset_limit(
 bool __must_check rangeset_is_empty(
     const struct rangeset *r);
=20
-/* Add/claim/remove/query/purge a numeric range. */
+/* Add/claim/find/remove/query/purge a numeric range. */
 int __must_check rangeset_add_range(
     struct rangeset *r, unsigned long s, unsigned long e);
 int __must_check rangeset_claim_range(struct rangeset *r, unsigned long si=
ze,
                                       unsigned long *s);
+int __must_check rangeset_find_aligned_range(struct rangeset *r,
+                                             unsigned long size,
+                                             unsigned long min,
+                                             unsigned long *s);
 int __must_check rangeset_remove_range(
     struct rangeset *r, unsigned long s, unsigned long e);
 bool __must_check rangeset_contains_range(
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Wed Oct 22 13:56:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Oct 2025 13:56:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148087.1480306 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBZKO-00087j-KY; Wed, 22 Oct 2025 13:56:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148087.1480306; Wed, 22 Oct 2025 13:56:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBZKO-00086w-Gr; Wed, 22 Oct 2025 13:56:36 +0000
Received: by outflank-mailman (input) for mailman id 1148087;
 Wed, 22 Oct 2025 13:56:34 +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
 <SRS0=0J7Y=47=epam.com=Mykyta_Poturai@srs-se1.protection.inumbo.net>)
 id 1vBZKM-0007mO-QI
 for xen-devel@lists.xenproject.org; Wed, 22 Oct 2025 13:56:34 +0000
Received: from PA4PR04CU001.outbound.protection.outlook.com
 (mail-francecentralazlp170130007.outbound.protection.outlook.com
 [2a01:111:f403:c20a::7])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ea15af82-af4e-11f0-980a-7dc792cee155;
 Wed, 22 Oct 2025 15:56:33 +0200 (CEST)
Received: from AS2PR03MB10110.eurprd03.prod.outlook.com
 (2603:10a6:20b:57a::22) by AS8PR03MB7207.eurprd03.prod.outlook.com
 (2603:10a6:20b:2ed::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.12; Wed, 22 Oct
 2025 13:56:26 +0000
Received: from AS2PR03MB10110.eurprd03.prod.outlook.com
 ([fe80::52f0:1815:60c9:8873]) by AS2PR03MB10110.eurprd03.prod.outlook.com
 ([fe80::52f0:1815:60c9:8873%3]) with mapi id 15.20.9253.011; Wed, 22 Oct 2025
 13:56:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ea15af82-af4e-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=eMY3PpVDSvx51PdS7R0p6hIiC6DzOEWdBqvhDoUj0GLDMs6SEFzi5TELQiPKWuyOJ0uMBiblyHK9b/BqM1MXXVnqc5Wx5QwflkXsXPdMiaxMqjt2ekbQLEJI4npJAB1JISPuEadEmu7dgbBVcpvB8zALa8u9pWHsJRRC8p0DaXmo/XoxSeRN6XlVZlZsoVxu9HXf/i/uhqPLlfOhHOxjXhbuCtaHJPy/NCn5zfqLAQntwAEwxjHKPaEvCUsiYTC0S4+mH3Are1z05hfgUeKgl2e3BH0IWMKB0DJKXAMacjiP8wclqD+Aw0ctW33nMl1dljFb8lXHjCZrUzMeMyajNg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=uV3ooUt4bMxJtw+E9mpooKcv/os9pQmtGpE5zfwbG5Q=;
 b=kqH8yjiRe5p6yZZHc1qspKpvlFIz3FL5WUl/sVtU0Aj763VrhZe0klktY/Fmd6kYLtI8ux/scs0Lw+AoUSsAlwh1nmdimnMeBYD9j1mB1ZY2/yZJzFuoHlm7NDUoqlP6qW7Vc/+tln0sE8wL6iTa8Sh2QEAQBgKMtyHh9mS7qzwmRLz8EYk2gDRS2bGW1KgQuiaknq3DVvu4Z8KaL+XoSx9Agz/8w+nikbWkO4gQjUhJe8aHyjK1kFshhai/E/UuiJTCYVakDbRMQG5TTsLBYzLmtW7f4Gj0jq4mXXRFmvgCphbV4FlQFDZFoZehBNpUOM948QCoFa63LhrmpTmGTw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=uV3ooUt4bMxJtw+E9mpooKcv/os9pQmtGpE5zfwbG5Q=;
 b=BhHb06vA2NdMVDbMwCWv8MUObJkwdQlDNLCow7XkLI0iIy4e+4MbZDzlVTG909sHri0Uo0wgXzvpqO/7gBtLG0wjNNu/rf1hcLvv2jZPH3KAcsW57xQTGuFjis0pa/OFjVHjWanGG8SKFFFhraAE8HDZbxzwEJX5Z7NTp8kX0WiiQUjY0x3LVPNbO7phJvt114MSINfyneNcQ/XbnehNCttgMNHV5FCclI9HYuhrZg2kqTvDNysYqHruQCUvX28mKHpLL3V/cN7cZcxhO3VsSe0qDVxWcLagFsM+Y3eqg+jxE/0EHwJE55xX9ngWqgreCz9gIiywx0o1QM/VOugXVg==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Mykyta Poturai <Mykyta_Poturai@epam.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v2 7/7] arm/pci: enable vpci for hwdom when pci-scan is
 enabled
Thread-Topic: [PATCH v2 7/7] arm/pci: enable vpci for hwdom when pci-scan is
 enabled
Thread-Index: AQHcQ1ulGNmnLElVGE6aNZhUnk8W2g==
Date: Wed, 22 Oct 2025 13:56:21 +0000
Message-ID:
 <854d66486f316a6449a422e72204e870cd1933f0.1761134829.git.mykyta_poturai@epam.com>
References: <cover.1761134829.git.mykyta_poturai@epam.com>
In-Reply-To: <cover.1761134829.git.mykyta_poturai@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AS2PR03MB10110:EE_|AS8PR03MB7207:EE_
x-ms-office365-filtering-correlation-id: a738e794-1522-40a5-3b37-08de1172cad0
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|376014|366016|1800799024|38070700021;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?fGCyB3/1ttJ4ltfN4EdegW4mylaV2y9iOMPd3AsMYzmNNSJZ0oqpdSLl7F?=
 =?iso-8859-1?Q?UfuZIiLk5O+poXSUg2siz+TxoGlOUvLMKhyQdHAA/rfmB5Q7qiJ1Cr3ixY?=
 =?iso-8859-1?Q?YUATHXMCVu1gK/Mh8CfnZjiChhiY5epInz5zuonYwqgMf6BXPRxprfVhe9?=
 =?iso-8859-1?Q?dxknkuyGUXN48MBCccWADYbD/wiJLre3Sz1n1q6Byfnprxg2YtoVwjitlp?=
 =?iso-8859-1?Q?2KLT6EHjng69hlK46gyaIV1FKUIjw7rVEoNX4OTAxQHHMyxtT4z+prNeMj?=
 =?iso-8859-1?Q?cWwafiFipfvXzV8LnIWD78bhxOQoHSHh2yrw0FAiNpvn8YGFILBMr8Be7X?=
 =?iso-8859-1?Q?t336CwzULOC3ftRjI7hC8n+WlEaOeyReVEHPsuUEm1MlidNutcdbninMuB?=
 =?iso-8859-1?Q?eSUfruthDUf2R1FSc4U6gFuR5PJbuB1PhKhVfJMwVCFrKfpwEXGx/Vo5VI?=
 =?iso-8859-1?Q?x4En59BFceyXdYAD3NkJLmcF07i6RxNA/23JXHZzp6ilgoaiqb3hxhtoaj?=
 =?iso-8859-1?Q?Tafdnss68GEAp8jq1O+ANE4B1VdLXCQDaqz1Vh7/3GpdwA0a3xW8cLGDfL?=
 =?iso-8859-1?Q?y01aJVnV6g4KYw+aL6GK3jDZfjPu/vOAzVRr8VIkZUFie7eZwf+EdTqxaw?=
 =?iso-8859-1?Q?ia8BvP/uk5jtj/h20k3BA9/O9t6YsCZso6Qppg2mOiE5scE+fo9Scli2fg?=
 =?iso-8859-1?Q?ZzFEIMJzS0Wqry9czJ/7SARsgiFfbe9rGEtvCxxzk9ruO+LZ3Pu3RmVb1E?=
 =?iso-8859-1?Q?/540ybBIv4oIB+NE5hglrgJKiR+6G5y/5Vvf3duq+iu5sYbc+djrXTcaWd?=
 =?iso-8859-1?Q?TV32xGEe5uFrImdT6m4oprB7ZbTdFYE2yQyDk6D/2rSUJ11sE6TVIpAi4b?=
 =?iso-8859-1?Q?CSuHnL0O5VL2Ex3PYd+BzqLBR0GKCNczJdGLyDzb7x1Q83mDet+eEaiZav?=
 =?iso-8859-1?Q?g1IRyqUfPWHEJ7OeGVzSHq2krBi7rPFaC94T6XlzIsE0kv7kyIe2kfNDuz?=
 =?iso-8859-1?Q?/iI7uf0DcdJ68MbjAVP0k5xQo6LwZg9y1UGgeqvBN8+/LWKsegGyaWE4I3?=
 =?iso-8859-1?Q?aNPAYxTBYevB3G9+PsI75gda/eT3cim1QBBOMueLH3/sN4o0osFKltmG+T?=
 =?iso-8859-1?Q?kwOCRhXnT/B+8vSooDMwL/3HB7N6LBE4jTcXCzQPV/V7/TeX77P1kUwdo5?=
 =?iso-8859-1?Q?0JddzFYs4u/TLrqi2zLnxsNmlZdfmGN/3GAHsP65ABfNd+eKLrDGYrnBni?=
 =?iso-8859-1?Q?ZMlW1qzOavdX6vUo3DfebF1ryza2mE0VMARALf4NcnETt2YFZ8TsVQyIrW?=
 =?iso-8859-1?Q?/0JaSaacPfY2Fkf6r2Tbp0WKsxSpChB6Ei1wMsrPmOciFkgoJHDH17Ioj5?=
 =?iso-8859-1?Q?ATnxW9fkUZ5jKKwoqQLpUEgH1pjwxDNY8qnCappOWLtOPx/kB3BqkaYq1T?=
 =?iso-8859-1?Q?+GZtVFNMclPuzT/l3QIs8S7Ka0uqgCb54AOD1KkaqvP1s+3E1stm63iSqo?=
 =?iso-8859-1?Q?623k7RLY4VDRlueDioAJy72dNUKt+dBc0+AcQCt0tB5VLNs/pC/khZz6SN?=
 =?iso-8859-1?Q?4OAUWykOCCK7tgp5m/uDcaig3q4M?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS2PR03MB10110.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(38070700021);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?CuCmb7cKEnQ/FjX8MVE1l7AX/xdMp6OKV1nQTvMwTbVqNPgk7z2ws+/k2U?=
 =?iso-8859-1?Q?mdJlAwnVK0opufiuzRQGcMCxjm40AjeNhuAbO252gYi+IV9JafcoUZcQ8m?=
 =?iso-8859-1?Q?13etVRrByGCVDmRa8kZ0ofmEL6qM997lUVpsKV+3HfSMZl+VsdX/md7d4S?=
 =?iso-8859-1?Q?KuBBASW4MzLw2eTXWEeUz917QqpQ+ZIsVVK2nXVv0CxhcMBjBjEbLHUOzb?=
 =?iso-8859-1?Q?AHRD+JkgDGqbGxmImJl0L49H25/krK+qPmOxLxWaG9x7fMd1hTwnAC0jBp?=
 =?iso-8859-1?Q?pVNYf3IzfjYFJ4xk3TGtYCYDQcxbiTHJkRouB9+R+0xHXhlYLU4mlX9/FI?=
 =?iso-8859-1?Q?bw8Ioyg0jjdq0dFS0cBynzHEy4jV9CLMxr/DM4+nThL3uZQB2RTmVro5g3?=
 =?iso-8859-1?Q?ytMrBHbRuJHMRflgUyqjq2qx6yOFiKaWl37Xc93CuXuZpyCytTUcv1CZe3?=
 =?iso-8859-1?Q?goqtaaX+BGHTCnDyqcfcVKlztaqMVJ7XwrMdl3gaUc05NI70wmOpk9rkxK?=
 =?iso-8859-1?Q?QCim+QCJCQOydfdnryD//cmAlHsbAPo3F5k+urmgjbyYDCkSLchMfK9p4L?=
 =?iso-8859-1?Q?0g9++sEl6jtw2/cpZY3gipqWZ7Dk+Oz/sAjfFCcUM/yOdfwu1FHcfsx1SP?=
 =?iso-8859-1?Q?quqK4FP7Mtuh00JUQv0+4X8Dy72sXNONMElydZDiMzYD666RNOfYWjroXw?=
 =?iso-8859-1?Q?uCAvzFNO2IFCZc7a2TJ7zd7ldyLhdkF1J0+7L+l1GOVsYBFag801nYq8QJ?=
 =?iso-8859-1?Q?he4KmVUun53akxPk2HnAlJT1l3UrT7VL/bI3RBgwpcBXmFRoVKVyc0sHyR?=
 =?iso-8859-1?Q?ZgSCHIRLHv9ulB6LoIcgOtMYvdIBABMkqkgvoOrNGF4H8dvqbw0fl+fWn6?=
 =?iso-8859-1?Q?DnMQG+b5WEy932Az28HNdIb/xDQVRFKSCssgjLsYaq+W0MYv1+JdALgK4T?=
 =?iso-8859-1?Q?clytvxD60Y5IyTE61ALK6VsZ+ML1jwLpHHnDD91m29PX+UsOU+CPM/hxMa?=
 =?iso-8859-1?Q?BoRiV33XZc/4OSXZTSp7Pjbc/RB1V+3aT8bIm+EyRQzZkr3jYJYC6fjb8R?=
 =?iso-8859-1?Q?uTjoPSsMGtRpgFDEmQacDe1RTG33CGT7Nk/YqIInj9L8bUFF6JmQ/Ou2as?=
 =?iso-8859-1?Q?7GeE7GkxcwOPeyB+ylLYUELrD5N6Sj2lyLLdI/59usuMaH3TRYBKdxYa2n?=
 =?iso-8859-1?Q?XlYLBorEdPZSH675sF4CbUpADu7RwhUaFezJubQHscTPXu+GahnVEvMQ22?=
 =?iso-8859-1?Q?PIZPG+Mgu40Fxa4crKGM4bPU08JUVGMwbyuegBLz2G6yNVj8mxygxcdKRS?=
 =?iso-8859-1?Q?yq5umwJb9ab2uyTgdBL5UtPlfOFTxkgwPh2CLlL0QnBnpcWRnCJ4gUnOD2?=
 =?iso-8859-1?Q?0ncGya2KnnCVxdXk5rWgPlCvcUhzD3lM20IqrHBGo+2OIkZvXaXw+i19is?=
 =?iso-8859-1?Q?k3JtgRO8kTpGHPYQK7IbtVLS5gCTodYQ3pxTZiEhk09Zx24srJOXtZTfAD?=
 =?iso-8859-1?Q?+uCkyzUfXQ2oGVMZfWO7lYlJso20qWqOQEKh01VEOfSQpjiAyIvvYUY+Hb?=
 =?iso-8859-1?Q?ZqfKnzZWqflCvG/9i4Lj3n90t9fesmboD5WB3jNKhNO7gemgfU1JzFtJJu?=
 =?iso-8859-1?Q?M9Cj6RqleKM4YHhP7rLjMtmcv8umzKiCcV4ZoYUQZP5UsHiSGDW68uew?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB10110.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a738e794-1522-40a5-3b37-08de1172cad0
X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Oct 2025 13:56:21.5618
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: QC3PcECq2he6HowsslGzPYiz7xEu4ba8y2Z7AEi3UMVw46vfOHq1cpZPkpjbGfiEuu9V3J502YSSffpIaLcoEA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR03MB7207

With pci-scan implemented it is now possible to use vpci for hardware
domains. Update has_vpci to reflect this change.

Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
---
v1->v2:
* fix typo in commit message
---
 xen/arch/arm/include/asm/domain.h | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/xen/arch/arm/include/asm/domain.h b/xen/arch/arm/include/asm/d=
omain.h
index af3e168374..dbe3347cea 100644
--- a/xen/arch/arm/include/asm/domain.h
+++ b/xen/arch/arm/include/asm/domain.h
@@ -305,8 +305,7 @@ static inline void arch_vcpu_block(struct vcpu *v) {}
=20
 #define arch_vm_assist_valid_mask(d) (1UL << VMASST_TYPE_runstate_update_f=
lag)
=20
-/* vPCI is not available on Arm */
-#define has_vpci(d)    ({ (void)(d); false; })
+#define has_vpci(d)    (is_hardware_domain(d) && hwdom_uses_vpci())
=20
 struct arch_vcpu_io {
     struct instr_details dabt_instr; /* when the instruction is decoded */
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Wed Oct 22 13:56:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Oct 2025 13:56:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148088.1480317 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBZKQ-0008PF-3p; Wed, 22 Oct 2025 13:56:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148088.1480317; Wed, 22 Oct 2025 13:56:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBZKP-0008OT-UP; Wed, 22 Oct 2025 13:56:37 +0000
Received: by outflank-mailman (input) for mailman id 1148088;
 Wed, 22 Oct 2025 13:56: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
 <SRS0=0J7Y=47=epam.com=Mykyta_Poturai@srs-se1.protection.inumbo.net>)
 id 1vBZKO-0007mO-Eo
 for xen-devel@lists.xenproject.org; Wed, 22 Oct 2025 13:56:36 +0000
Received: from PA4PR04CU001.outbound.protection.outlook.com
 (mail-francecentralazlp170130007.outbound.protection.outlook.com
 [2a01:111:f403:c20a::7])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ebd79559-af4e-11f0-980a-7dc792cee155;
 Wed, 22 Oct 2025 15:56:34 +0200 (CEST)
Received: from AS2PR03MB10110.eurprd03.prod.outlook.com
 (2603:10a6:20b:57a::22) by AS8PR03MB7207.eurprd03.prod.outlook.com
 (2603:10a6:20b:2ed::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.12; Wed, 22 Oct
 2025 13:56:21 +0000
Received: from AS2PR03MB10110.eurprd03.prod.outlook.com
 ([fe80::52f0:1815:60c9:8873]) by AS2PR03MB10110.eurprd03.prod.outlook.com
 ([fe80::52f0:1815:60c9:8873%3]) with mapi id 15.20.9253.011; Wed, 22 Oct 2025
 13:56:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ebd79559-af4e-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ciYU5M6KkBIhG+vxgG7WcDNz1bQ0B/3sD1Xhud6N+hGivNQJ6oCr52Fg9iDTaYlAHjKLYwP6zjaUK4W2phCQfCPcbMhDOXWEo60TctltTAjqTZKf1VWUB6gL9KkfI9OSIWF3DFO6sa0dD1AZGr4tk23azpfkm6fwfhLg7dv3bR8SZvUlwbAUVhuOmVKcf/rBaL/hIeumEs5Gg2Eml0pfJ+A6ytCp3A1m3hTllKp03goJjx45xXww6PG6XQu+mSFa79rm25xi0d9Fg16NSMyrRXm3yoRYPDxU/mU6g0ePHW+lQix9xU+CvBYWWPM9cDwTMIR2MTIhlLLkEaLDHBxIiw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JvD4SVXF109JRWeMXAWwZhDsbGriXI8hVFD3jk6rbOM=;
 b=csLP9NueJwqz8PB4lcqlZMhSymIwV9WalxBt8q7K5oKhODsEPz5MQeoueSIZowhv/9GkNz3FNnw1Q+1mCc6uppi3Oha7DFIf4tT+ce4c3bX9Xadv+OD9A8xgg9NSuqBOVUc6JIIqJ7j/VQcRdKLSlmymqEQ8efwz7D3WmIzt+YDr+RP0RkmgO+1R7xtJa9uitQyVK2AHI2/EckEUK/TwoXE3lgZag4jpHZKhykdZ8UzjMVD9qeVwCtFh9Fg8zFk/Gj1CnFFhd1Z2BUpPFO5RQMPEN7Z4sAFJRhd+fv58dLPUkIp/9FeJn/3elU+tdMs0U68jm7PyPnB0JD+o5E8img==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JvD4SVXF109JRWeMXAWwZhDsbGriXI8hVFD3jk6rbOM=;
 b=ti/erpqJaOHdyNEWYQieGxHA/2WirVOzbgOqyflhzI2m4X64GSPM26m4N7dL8PyBcHiV9jSJswYuG6orVQ0twDuG6xUKmxwxmgNJK4Yf/8eGIS66v9g7UvwnnybTHuRqYrC8v8A0Hy8UHonQYNaTtPogUQcShhjnu7YzIH9ert9Sn1HLRoM0Q2HCCS7ClzZ9WQKBjaH9VCwjQEacqkEPHblUqXjBKH/ejblR8Fk+sjNq8GAynE3RkI2Bu+JYGWPq3bk//Unwwx17t2rO2I58ASjF0AKKFgnoH2/eCO7utAae0VdF6juCzAA6V+oQId3QlIxZYT09lYrr9Xbj3PE+IA==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Luca Fancellu <luca.fancellu@arm.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>, Jan Beulich <jbeulich@suse.com>,
	=?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>, Stewart Hildebrand
	<stewart.hildebrand@amd.com>, Mykyta Poturai <Mykyta_Poturai@epam.com>
Subject: [PATCH v2 6/7] xen/pci: assign discovered devices to hwdom
Thread-Topic: [PATCH v2 6/7] xen/pci: assign discovered devices to hwdom
Thread-Index: AQHcQ1ulK3woYnUqFUiLH6LfWB/DAA==
Date: Wed, 22 Oct 2025 13:56:21 +0000
Message-ID:
 <78c0e358bd15266b029b3b6d0d71b142ea7d84bb.1761134829.git.mykyta_poturai@epam.com>
References: <cover.1761134829.git.mykyta_poturai@epam.com>
In-Reply-To: <cover.1761134829.git.mykyta_poturai@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AS2PR03MB10110:EE_|AS8PR03MB7207:EE_
x-ms-office365-filtering-correlation-id: f1762035-645d-4616-08fb-08de1172c83d
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|376014|366016|1800799024|38070700021;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?2BDm2rMJYCDolcQJeAoy3Dlb/5ovgHYZeFkg59hQtfdnkudrHI83+dnvpX?=
 =?iso-8859-1?Q?2OfHa3qYhw1N5GtCn7h6/+K8iRFEi5IPnnM8VD/c/i0ptC/3P8XkXgo71e?=
 =?iso-8859-1?Q?2+mrX44ubofoWPOfsetTanon34e0WKnSIu3uA1nhjPnAaa2VEnwKRMVUnZ?=
 =?iso-8859-1?Q?lmODMQ4vIYdbymf2zJ6JxhD5Vy+haJ8styiphoVWFp09NWq+aNvHuuWTL8?=
 =?iso-8859-1?Q?BqQZuT3AuyBY6V0+Dc9FMWWK9sqdJhImVi2a+q8UpA0XZx5Oqol/wH+kyS?=
 =?iso-8859-1?Q?wmEffNRuWFR2xSlTpaBlCzkRA/CqtUciK2/281b5qov9NiAOPf+cMj8/wN?=
 =?iso-8859-1?Q?TvJrVT6k5s92zRskcSQ9s1pUeoClfwJ23+mcK308RzsuHB8zYD/oeJjlZz?=
 =?iso-8859-1?Q?mY3PeLxasbvhRmnZuKA6tHrIuO+V2K1P8y5dtZKyWYo44rXNRXG62CDGyJ?=
 =?iso-8859-1?Q?u4tLgxq7NjItkZl08m6R8D8R8PYypLy7fRQZuscg0vKTUsWyML6Xv8KmZd?=
 =?iso-8859-1?Q?GTZSTXABV6r8me+P6RzefQuIVmD1Duf++jVGIH7qfJ0+0Klf5pRI+Cy+NV?=
 =?iso-8859-1?Q?lZikNt+91Q7tkzYPJORoAchoD8tODVe4Xkbo/9cW8VwSllCDksvLfctZCV?=
 =?iso-8859-1?Q?sbC28EtrLzbf6KPMvzIXE8+I5QzAlGc7lnh3a/Bje64NXh78oq0PiI15mm?=
 =?iso-8859-1?Q?U6wBUyOc3RViz7L07HcbVeFmjajsubk2Ycv6Da0tSHcKdlI1DEBxIAtgrQ?=
 =?iso-8859-1?Q?CymvAkVPWaBGO81gtQ2bZSrZvanwvgl60Sh/abYr5LW+2BRW6jFFE0ZuDa?=
 =?iso-8859-1?Q?6UsnI9r3jJpP2SmGNSqmQTi8PH+z09ZRYu0Tjy5vnIj/dNl5KRJRejdQLb?=
 =?iso-8859-1?Q?l3kA3lLhDaKUsMvyKRSo2ER3hdmU0nnWSiQd4g33ZMtLeBaWf8fBD1ihiE?=
 =?iso-8859-1?Q?vnCjN6K8JfPCOWLQOeJ2LWU8z0DP8Y20HB+BrhBXkgQsKabA2xKAWDYbwF?=
 =?iso-8859-1?Q?b1B6cocpvYWhc5TOQzdjDIvhcBSphnQm7ww2bJRosSWwEjs3Ih52eOzc+h?=
 =?iso-8859-1?Q?yXToZkc93roIjWytTpUX9F1XAJKCXMAuvbZ7aSN/VJGKVoYQKowat9cPGb?=
 =?iso-8859-1?Q?EZ0Mccu+Iryf2b4rpjJ7MsyqFevTl4WHrEGdviMEpUzCDAA6tfc4MtDwdJ?=
 =?iso-8859-1?Q?BvAN6CxhsDYRFblal11MXArKNV3zOV61PfUZXYZmHlz1TpVIXRNemRA+Bn?=
 =?iso-8859-1?Q?AEPFr6VVJMmvZfi3H8lNluaeiGxm/58C+3/n9se3Yb62Q90pe2ZtxhcVu+?=
 =?iso-8859-1?Q?IMi+GWniAxF3u6BGyH2xyyFi+M7q9EVNVlVfTzWZxy6EBsiVCoht9adlcB?=
 =?iso-8859-1?Q?MVUJQka4NDE7+WmyM3i7hGq8KLgADND9PInQjz0+Xi8cWLdsf/KTGCgQct?=
 =?iso-8859-1?Q?x3eGRxQtejndJ/Wxn3X1KYwfAfN94ELtbxlGdFf4xA6gbHqwRp63/HiylU?=
 =?iso-8859-1?Q?37gAbITwG1zal3YDIPbPTYxh2a+zo0mNeLKCgkSlN00u/hxDJ58P53s5KL?=
 =?iso-8859-1?Q?MXxcz9ELU7bPAUtj+grACPQ0AXs8?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS2PR03MB10110.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(38070700021);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?l3cQHWlugOjquRp96jKGntfgMWki5Q6FFccVKTSS32CgdQSnJDjzLhMxu2?=
 =?iso-8859-1?Q?qdWk/6S0TzsiR4ChbFHVmSXgnB/Hb4G2GTjzjHnpQM7o6xUbwCCCF9FKbl?=
 =?iso-8859-1?Q?xeb/37sGO9qODahV9qvYlksAbXuHZpjYuI1CoQBqSxsMTyBqWR4KOBTFUM?=
 =?iso-8859-1?Q?KuXcG9Oal4O6zfjOGNcubPpAdQd1J6sczawyYi0uqc8e+pgjWkeuiPMDs+?=
 =?iso-8859-1?Q?O8wgtlxS9d22edFaNX2T/4cEY+Zrd5g6lcMPCnaSvF5KK4ToyDnP+tYcAE?=
 =?iso-8859-1?Q?VwEcgS65LDF5MW09qj7BDh/8RiLvVqWhX4WL4TNlyL9Y2KTRXg7T4EtqSV?=
 =?iso-8859-1?Q?eHl2Is8z3SJpATuMHkm+N5DqO1Do5hWh6fl6AlQali3/LWOdIjHy+a3t0u?=
 =?iso-8859-1?Q?s8yYVKRrW15coXvvmI8dJJ3Aph6sLX3qbzmKhoyrGMXxLOyv8M6bf5hYcz?=
 =?iso-8859-1?Q?OTZNay9oBIWMv+z4HDvtomWqWYT9NJwieMfoUcMV6HSqWSu/ca5+yeOmEe?=
 =?iso-8859-1?Q?i/xXX35ULh3vQOiZgVNjfISBr7bEb7lxqACfZvhUWVc3slTiJpvbm8pYJt?=
 =?iso-8859-1?Q?gHyeCAx7DfeGuh6nv6oNMA9xIBEwWWzRHThVlyD1rQE0ZqWBuSkSBiNM0M?=
 =?iso-8859-1?Q?tXf1XjjGmXzu/mCg8XIxvsKx4dF4VaFCGokVnFOpuhIMVE74hlnY3U4D30?=
 =?iso-8859-1?Q?AsREHGtSHCcZXI+bDRgs3Tw74Ml9714Gld6zv3ik2pxC2ADr/bDUolXQjZ?=
 =?iso-8859-1?Q?HB0hDGn7WE2M5r6AzA2+xwa2NUekcV1LAMtBPRlDvV8M5pNEQVQn6fcDMb?=
 =?iso-8859-1?Q?CfMjMaoOJ+uYlOLL+0R/Ug7d3ivHXD9CKEx08q9C054tbUqfXBXpsDVeoQ?=
 =?iso-8859-1?Q?P3YW/jwGPRJe6R7gonxreM7qNduwZfyXg0xPmbyfek9SGCbpL9xNqw3IUh?=
 =?iso-8859-1?Q?eQP72IZmcgtXx/eUoVuG31K5sGwnIfgNz+efA21uPR1UEAFSIpcK9RKKbm?=
 =?iso-8859-1?Q?ipdNm625+S3dXtfiDuvv0A6EHkZtL+smiPdgAiq5qGrWUyY/jx9Qrj0+TE?=
 =?iso-8859-1?Q?Zsc4FWC/PchxMRZXrWDXPwDN/lNObTwLcvuAcHMpfbJfOSiJWZqOVvmAxn?=
 =?iso-8859-1?Q?+2AIo4PTrgUzJgOaa79MSOvgLz83ggrOBmq1NEnGZ1uI6EpyeM8T8zP+7J?=
 =?iso-8859-1?Q?KhnbWgc9yFLfGnh59mUoEHoyPt2B/kFcr1iFvmXN3L5YqAdStlNKjEmVNE?=
 =?iso-8859-1?Q?0aRKW+LmPijeQf8eKx0/GcYpWUixkRpW498men8UcMcUPNhZkD2X6KccIB?=
 =?iso-8859-1?Q?H486i0kA3WEc8CzrwshwvsOJkcJ4RizI+7ClZ3/uwRyOnFRvnth6YII4zi?=
 =?iso-8859-1?Q?I+vO2EEDU3hXFfSQMlC0djeV+jmI703GUtqJgJeR2lQXC1M7Irl/yD1fcl?=
 =?iso-8859-1?Q?jZMLlauhC3aO9mj43mMjkMqe6CsEH4ofnfy6QQwPVzsKg0t8oU5D0Z/VDw?=
 =?iso-8859-1?Q?oNtIf4YO4iLOZh4cjkeGQRtP1h+PFdiWxLo7OelcNDwkDsN0rT2VOwvUg/?=
 =?iso-8859-1?Q?Wb6B0LG6vmlnyCpozvDX/sqxPk1Yrzgka4X0plzlmuZCdFTuD1iJfWC9Kp?=
 =?iso-8859-1?Q?0f7bb4EgEoZR57FRDkcbjURNhteOHr3vSfOrzbla89F3csuxoFV/xk/A?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB10110.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f1762035-645d-4616-08fb-08de1172c83d
X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Oct 2025 13:56:21.1372
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: gD9noOSLDGb06gUhIWfb4i4iVbEi/IdEgI9srRvf+31nIRy7Fym+JbtsMmHzE4iKo2DMB9uSIpu7Uq1l3tH1og==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR03MB7207

From: Luca Fancellu <luca.fancellu@arm.com>

Hook up existing PCI setup routines for hwdom into Arm iommu
initialization sequence, only assign endpoint devices.

During scanned PCI device assignment, also permit access to the BAR
ranges if hwdom is using vpci and hide host bridges from domains that
use the fully emulated one.

Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
---
v1->v2:
* add host bridge hiding
* fix build without CONFIG_HAS_PCI
---
 xen/drivers/passthrough/arm/iommu.c | 13 +++++++++
 xen/drivers/passthrough/pci.c       | 41 ++++++++++++++++++++++++++++-
 2 files changed, 53 insertions(+), 1 deletion(-)

diff --git a/xen/drivers/passthrough/arm/iommu.c b/xen/drivers/passthrough/=
arm/iommu.c
index 100545e23f..340659853d 100644
--- a/xen/drivers/passthrough/arm/iommu.c
+++ b/xen/drivers/passthrough/arm/iommu.c
@@ -19,6 +19,7 @@
 #include <xen/device_tree.h>
 #include <xen/iommu.h>
 #include <xen/lib.h>
+#include <xen/sched.h>
=20
 #include <asm/device.h>
=20
@@ -133,6 +134,14 @@ void arch_iommu_domain_destroy(struct domain *d)
 {
 }
=20
+#ifdef CONFIG_HAS_PCI
+static int iommu_add_hwdom_pci_device(u8 devfn, struct pci_dev *pdev)
+{
+    const struct domain_iommu *hd =3D dom_iommu(hardware_domain);
+    return iommu_call(hd->platform_ops, add_device, devfn, pci_to_dev(pdev=
));
+}
+#endif
+
 void __hwdom_init arch_iommu_hwdom_init(struct domain *d)
 {
     /* Set to false options not supported on ARM. */
@@ -142,6 +151,10 @@ void __hwdom_init arch_iommu_hwdom_init(struct domain =
*d)
     if ( iommu_hwdom_reserved =3D=3D 1 )
         printk(XENLOG_WARNING "map-reserved dom0-iommu option is not suppo=
rted on ARM\n");
     iommu_hwdom_reserved =3D 0;
+
+#ifdef CONFIG_HAS_PCI
+    setup_hwdom_pci_devices(d, iommu_add_hwdom_pci_device);
+#endif
 }
=20
 /*
diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
index 4f5de9a542..076739031b 100644
--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -20,6 +20,7 @@
 #include <xen/pci_ids.h>
 #include <xen/list.h>
 #include <xen/prefetch.h>
+#include <xen/iocap.h>
 #include <xen/iommu.h>
 #include <xen/irq.h>
 #include <xen/param.h>
@@ -1040,6 +1041,12 @@ enum pdev_type pdev_type(u16 seg, u8 bus, u8 devfn)
     return pos ? DEV_TYPE_PCIe_ENDPOINT : DEV_TYPE_PCI;
 }
=20
+static bool pdev_is_endpoint(struct pci_dev *pdev)
+{
+    enum pdev_type type =3D pdev_type(pdev->seg, pdev->bus, pdev->devfn);
+    return type =3D=3D DEV_TYPE_PCIe_ENDPOINT || type =3D=3D DEV_TYPE_PCI;
+}
+
 /*
  * find the upstream PCIe-to-PCI/PCIX bridge or PCI legacy bridge
  * return 0: the device is integrated PCI device or PCIe
@@ -1255,7 +1262,7 @@ static void __hwdom_init setup_one_hwdom_device(const=
 struct setup_hwdom *ctxt,
                                                 struct pci_dev *pdev)
 {
     u8 devfn =3D pdev->devfn;
-    int err;
+    int err, i, rc;
=20
     do {
         err =3D ctxt->handler(devfn, pdev);
@@ -1276,6 +1283,34 @@ static void __hwdom_init setup_one_hwdom_device(cons=
t struct setup_hwdom *ctxt,
     if ( err )
         printk(XENLOG_ERR "setup of vPCI for d%d failed: %d\n",
                ctxt->d->domain_id, err);
+
+    if ( !has_vpci_bridge(hardware_domain) )
+        return;
+
+    for ( i =3D 0; i < PCI_HEADER_NORMAL_NR_BARS; i +=3D rc )
+    {
+        uint64_t addr, size;
+        uint8_t reg =3D PCI_BASE_ADDRESS_0 + i * 4;
+
+        if ( (pci_conf_read32(pdev->sbdf, reg) & PCI_BASE_ADDRESS_SPACE)
+             =3D=3D PCI_BASE_ADDRESS_SPACE_IO )
+        {
+            rc =3D 1;
+            continue;
+        }
+
+        rc =3D pci_size_mem_bar(pdev->sbdf, reg, &addr, &size,
+                              (i =3D=3D PCI_HEADER_NORMAL_NR_BARS - 1)
+                                  ? PCI_BAR_LAST : 0);
+
+        if ( !size )
+            continue;
+
+        err =3D iomem_permit_access(hardware_domain, paddr_to_pfn(addr),
+                             paddr_to_pfn(PAGE_ALIGN(addr + size - 1)));
+        if ( err )
+            break;
+    }
 }
=20
 static int __hwdom_init cf_check _setup_hwdom_pci_devices(
@@ -1294,6 +1329,10 @@ static int __hwdom_init cf_check _setup_hwdom_pci_de=
vices(
             if ( !pdev )
                 continue;
=20
+            /* Hide real bridges from HWdom when it's using the emulated o=
ne */
+            if ( has_vpci_bridge(hardware_domain) && !pdev_is_endpoint(pde=
v) )
+                pci_hide_device(pdev->seg, pdev->bus, pdev->devfn);
+
             if ( !pdev->domain )
             {
                 pdev->domain =3D ctxt->d;
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Wed Oct 22 14:01:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Oct 2025 14:01:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148149.1480326 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBZP3-0003XV-KW; Wed, 22 Oct 2025 14:01:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148149.1480326; Wed, 22 Oct 2025 14:01:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBZP3-0003XO-Hs; Wed, 22 Oct 2025 14:01:25 +0000
Received: by outflank-mailman (input) for mailman id 1148149;
 Wed, 22 Oct 2025 14:01:24 +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 <SRS0=vj3f=47=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1vBZP2-0003XH-0A
 for xen-devel@lists.xenproject.org; Wed, 22 Oct 2025 14:01:24 +0000
Received: from mail-wm1-x336.google.com (mail-wm1-x336.google.com
 [2a00:1450:4864:20::336])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 951afbcf-af4f-11f0-980a-7dc792cee155;
 Wed, 22 Oct 2025 16:01:18 +0200 (CEST)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-47103b6058fso7519635e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 22 Oct 2025 07:01:18 -0700 (PDT)
Received: from localhost.localdomain ([88.187.86.199])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-427f009a993sm25420329f8f.24.2025.10.22.07.01.17
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Wed, 22 Oct 2025 07:01:17 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 951afbcf-af4f-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1761141678; x=1761746478; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=N5zOIT6yyRYMvDGxwuy/M05LXGeT1MKP7CDmxvvly/8=;
        b=JLHzvKSKzz4K2XVNy1AB3Lez06KdE7qdgneRoWkzRx1uM+0roJrZbGXkpe4ThLPCXW
         vKBMrQAoQM2IVyKAd9IxJ8VnrXfJc6pLG8nTEEo1feqUHvCr0h+D3Wjj/KtPa6UuMW/Y
         dNpVAFFd1rVbKwlmPvsFennSxcpDQJoaq5XXpZfGeQ1RHlH333SnfePUUV0i1KrtU29R
         cyKWc9tIyl5MCkODV1EvI5BrTJLClJ7ind6RV0bAQq9wMW/gH1fjBMtn3cae0qonAq05
         pQh4a36rXdYJ6avojxSmCLfyICndFKY9RgNWw9Ull6KEOwakYy3WhGJ72B0Yl8stgSSu
         Qt7g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761141678; x=1761746478;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=N5zOIT6yyRYMvDGxwuy/M05LXGeT1MKP7CDmxvvly/8=;
        b=NuLmtk1nLj3iSpCy2BOGVp8Bg7RcGwbQ3zrTj7QdCIVisNWMmd+ygWn9RjOt9SjjDf
         P6a/aSbD5Gse/OaF2dSLP0FY406NMEUr/RMYiiR17eGsCExDVXN8ZtqUN12cqyQgCMt/
         uEfWE1BXP4H8OZQq4M8An2IX+U+6DLTD8941TtOLs66C2sDUDaP/RQD6X59ruL3jQ8RV
         Ml4RvvhvtXyP2Ou98YsS50scVoNDgO8zN8MzDVy63FKicurSQtQLGJDm19ICNtB7BGBb
         gJtjJje9KKxhow/Gvn3frhq7YLsc6AmORkq7ORfibyruDZeNvqJp/KH7ToJZjBiihS8e
         GN8g==
X-Forwarded-Encrypted: i=1; AJvYcCVgQ/VaZ88u4ZjAy90z+fNEWhqpwog+GSoYTpbkyeeGxMsWnKwoVXrh9SQD/9pGcUFhiWKbdx44mGA=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxdm9cWOnzcfcMPPLl8Nw3qRR250ypSpju8N1NoECtjECBdmIk9
	erJcMgxnxo9wYMHRS3uik6W0YNW4o/qjoXnc+GeH4DgIj7VEdVajRnTQ/LHHfiPQ/2k=
X-Gm-Gg: ASbGnctwv4xUTdsOTN0NyqNVQm5rBUMgqqug/WClGlnO49VS/j/3lpw15RQC1+NVlwY
	KngMfnqt5Cu97YDin2TET0WSyo2xdFDV0kHF3DRTVGx/0fvyHySYLllY2e7j3kGztT/KFcxA9+F
	EiMoiV/wHrheqPKhEhBcGvN3ifjmzTh36PXZwFEdO5kEVS7FBBUtFQEaRMrF2DNxLHyoXUxYOfm
	WOiqzKr0IIy4HDdT7fesZtHiWBbEaE/hksQkY54fCDvsPsmID1Fyb70ijBi+aj2UO4zViNHH+En
	dIcTtctILtgN9t2peU/4es3bHr0Lh1tEzPxFCymfST0Fj2iMBMAf6zMBn/oXMGNH119gzndR5YJ
	NSWU+nH+c+zaRNzfQVWo/afa2RiLDUymAnOdHCPKOa58b+EIjT4GpzDxw3vjIjYs39GgG+yMJ4m
	gFw0mDUfmiMVCyGgCFFIgtFf8md46ufQ==
X-Google-Smtp-Source: AGHT+IHwD6XwUYTEWSIBNXw4avAFhtVwKLSbQflNayMy0B2n1fepXptONBhHDo/sWRqdW80YDOW2Yw==
X-Received: by 2002:a05:600c:8b17:b0:46f:a2ba:581f with SMTP id 5b1f17b1804b1-475c3fe35f4mr26669155e9.16.1761141678027;
        Wed, 22 Oct 2025 07:01:18 -0700 (PDT)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: qemu-devel@nongnu.org
Cc: Anthony PERARD <anthony@xenproject.org>,
	xen-devel@lists.xenproject.org,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>,
	Paul Durrant <paul@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anton Johansson <anjo@rev.ng>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
Subject: [PATCH 0/3] hw/xen: Build only once
Date: Wed, 22 Oct 2025 16:01:10 +0200
Message-ID: <20251022140114.72372-1-philmd@linaro.org>
X-Mailer: git-send-email 2.51.0
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit

Replace target-specific code to allow building
hw/xen/ files once.

Philippe Mathieu-DaudÃ© (3):
  hw/xen: Use BITS_PER_BYTE & MAKE_64BIT_MASK() in req_size_bits()
  hw/xen: Replace target_ulong by agnostic target_long_bits()
  hw/xen: Build only once

 hw/xen/xen-hvm-common.c |  9 ++++++---
 hw/xen/meson.build      | 22 +++++++++-------------
 2 files changed, 15 insertions(+), 16 deletions(-)

-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 22 14:01:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Oct 2025 14:01:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148150.1480337 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBZPE-0003pU-Qx; Wed, 22 Oct 2025 14:01:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148150.1480337; Wed, 22 Oct 2025 14:01:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBZPE-0003pM-OF; Wed, 22 Oct 2025 14:01:36 +0000
Received: by outflank-mailman (input) for mailman id 1148150;
 Wed, 22 Oct 2025 14:01:35 +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 <SRS0=vj3f=47=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1vBZPD-0003oA-4M
 for xen-devel@lists.xenproject.org; Wed, 22 Oct 2025 14:01:35 +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 9e5c4e6c-af4f-11f0-9d15-b5c5bf9af7f9;
 Wed, 22 Oct 2025 16:01:34 +0200 (CEST)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-475c1f433d8so12743565e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 22 Oct 2025 07:01:34 -0700 (PDT)
Received: from localhost.localdomain ([88.187.86.199])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-47496cf3b51sm37114995e9.9.2025.10.22.07.01.31
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Wed, 22 Oct 2025 07:01:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9e5c4e6c-af4f-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1761141694; x=1761746494; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=4HjNE4Xkg6Ebkq5X/NZT8seGp5EoTUwdTjpH6KQ8QUA=;
        b=cmWP+8HiMW+gMQYbyzsmixHWAZFjDIDK9BiCtDOJNasZWPJAV2YdcBMEPQSf6lRo37
         x9ql21bEejCHrsOlUV8cP1/SUsQQ6rAny98WlTgcc+TKMfaWNLDAIzQi4CQZ6dFL/Axe
         iXhAEJAcXkV2wKB0rQaVx06KjNobx1E+wOt5259tVeylTjSGjxOmCBq0lFucizrN3Jg7
         U7HeRTMOwkWzxPEyMWEJb+GWdYIJ3pMGoO5FGBGXxRZUyp0QEiwF+7fSd23jiYUZrk7Y
         cQdvz7YYkiTySIud8EjRYuPVjy5geIOgaT6dcEJ0myTWtIgt1os8I/gbFdHbMp/Xm6me
         iPyw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761141694; x=1761746494;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=4HjNE4Xkg6Ebkq5X/NZT8seGp5EoTUwdTjpH6KQ8QUA=;
        b=OiVOK0oF4d7usiWs3JMeAV+tIyxmfMWWHc2SgoHMqgCo6jcipCMi5G95gW5Sbl24ze
         C7FXrGZJwGCf8Qg1B3/OQ1y/w2U36vL/mjBeLLVAAmQhEEscgMsJCLWUgdTtIg+Hih96
         ggOwYhX3aCKkpEzV7iw/IqZZYCmvGX8qofm2w6GLbSbtHAIOMy/ptM6TmfpruA3rMwrJ
         YhINaw17gy+BDC4mzXZ8x5XrIn0rNs7g7D3/mXKgJ+rGtEx8CbOjMZYqMNmZJ4EU4UIT
         cJ+knT64AP6KiW6vveVRcZuIn3a7hpvDh1mUWbX2poZ0yH/UKz9X+pDngXO08kP//FEa
         ZtKw==
X-Forwarded-Encrypted: i=1; AJvYcCXsB38KzVkLBJWHrJWhv2VrHFHRfBGEN1MsxvzD8D+8sA5plOBnhA4fGLOgcD04lUI5dixvwYafZI4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyXTAGWXSjkmYl9Zo7ItRW8iQul21nHflXNpWPDb0OYpmRgGN76
	aolrhNbp8BlXezy2okN5uz9kxLSbNZvpcvAzRakwxISSxHVSxf9ZDZ/rP0kuJzraRYs=
X-Gm-Gg: ASbGncsM5xojJ0uU4/gYp2Vk3N8U9JB0t5ZLdhApJeI2MLZl0u+ksTLnEPITMpzwyhn
	hBntNKR2eWoj3jTjL8vksoFWIPup3Zse4WLRi78QdgGb6zHU8P0YXtadj2WPTJGPv/VdsqVxCfb
	LPBTVyE7B8P2BqwQXNZuDB7kTwzWLPT8eUpmSq4Y5znpsQkHGk9yNpL0+Zh7RjCIdbpXhA1UTj0
	f/qZ+oA4PjJa4E+vXAa1DpSkks9CTglOOeeI4w72xiO47dVG4Lv+iXR3xwMhFFaACxDQdcae86q
	ogp3J6WT+ISp+uNbsdndb+IrWMS9fqgpEq0MfJlDjtjIKmQhk1stZJfmRKk8G16UJnpeg/fjZqS
	HodaibD4bULYCfJkrm+Hii5IQyXBy0xOcccGeZxtKbEVr8QR86jHyWCi1lbIzeEHB+FKZU8ebb9
	NkTEDEX9IoPjp/BXAblV9skT9dwL2BuA==
X-Google-Smtp-Source: AGHT+IFQ7L4fBGIJoJXHNjn08SD4wzUmt9U1mWP674dDSbDfSAlvpQwuJQwgI77QmiqDAnGzdB8FEQ==
X-Received: by 2002:a05:600c:4511:b0:46e:1a5e:211 with SMTP id 5b1f17b1804b1-47117907a5dmr135379745e9.21.1761141692085;
        Wed, 22 Oct 2025 07:01:32 -0700 (PDT)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: qemu-devel@nongnu.org
Cc: Anthony PERARD <anthony@xenproject.org>,
	xen-devel@lists.xenproject.org,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>,
	Paul Durrant <paul@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anton Johansson <anjo@rev.ng>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
Subject: [PATCH 1/3] hw/xen: Use BITS_PER_BYTE & MAKE_64BIT_MASK() in req_size_bits()
Date: Wed, 22 Oct 2025 16:01:11 +0200
Message-ID: <20251022140114.72372-2-philmd@linaro.org>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251022140114.72372-1-philmd@linaro.org>
References: <20251022140114.72372-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Replace magic 8 by BITS_PER_BYTE, use MAKE_64BIT_MASK()
instead of open coding it.

Signed-off-by: Philippe Mathieu-DaudÃ© <philmd@linaro.org>
---
 hw/xen/xen-hvm-common.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/hw/xen/xen-hvm-common.c b/hw/xen/xen-hvm-common.c
index 52e2cce397a..258014370e1 100644
--- a/hw/xen/xen-hvm-common.c
+++ b/hw/xen/xen-hvm-common.c
@@ -1,5 +1,6 @@
 #include "qemu/osdep.h"
 #include "qemu/units.h"
+#include "qemu/bitops.h"
 #include "qemu/error-report.h"
 #include "qapi/error.h"
 #include "exec/target_long.h"
@@ -448,12 +449,14 @@ static void cpu_ioreq_config(XenIOState *state, ioreq_t *req)
 
 static void handle_ioreq(XenIOState *state, ioreq_t *req)
 {
+    size_t req_size_bits = req->size * BITS_PER_BYTE;
+
     trace_handle_ioreq(req, req->type, req->dir, req->df, req->data_is_ptr,
                        req->addr, req->data, req->count, req->size);
 
     if (!req->data_is_ptr && (req->dir == IOREQ_WRITE) &&
             (req->size < sizeof (target_ulong))) {
-        req->data &= ((target_ulong) 1 << (8 * req->size)) - 1;
+        req->data &= MAKE_64BIT_MASK(0, req_size_bits);
     }
 
     if (req->dir == IOREQ_WRITE)
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 22 14:01:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Oct 2025 14:01:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148158.1480347 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBZPR-0004Dy-38; Wed, 22 Oct 2025 14:01:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148158.1480347; Wed, 22 Oct 2025 14:01:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBZPR-0004Dr-0P; Wed, 22 Oct 2025 14:01:49 +0000
Received: by outflank-mailman (input) for mailman id 1148158;
 Wed, 22 Oct 2025 14:01:47 +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 <SRS0=vj3f=47=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1vBZPP-0003XH-GU
 for xen-devel@lists.xenproject.org; Wed, 22 Oct 2025 14:01:47 +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 a529406c-af4f-11f0-980a-7dc792cee155;
 Wed, 22 Oct 2025 16:01:45 +0200 (CEST)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-3ece1102998so5658263f8f.2
 for <xen-devel@lists.xenproject.org>; Wed, 22 Oct 2025 07:01:45 -0700 (PDT)
Received: from localhost.localdomain (88-187-86-199.subs.proxad.net.
 [88.187.86.199]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-427f00ce3e2sm25403441f8f.47.2025.10.22.07.01.44
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Wed, 22 Oct 2025 07:01:44 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a529406c-af4f-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1761141705; x=1761746505; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=qLHVl30GjqbT2sNGUrp6u7XODjWGOXYBV9cF9vJVcc4=;
        b=TM92pJ61n1SyIS4H6ljDsqCSfzkbuENXBMiiR5esiC8Q2BpNbAHdWw5AzGgqZng7Hp
         0BTd1BL5mOqrSlPasUhGX2MP+p8ndmO5fiZ6NqPO5Qqr6IP7CVeld8+SokR5VIzEJ3Z7
         LdMONE/soWsbY4BF98Rm8od4+l1K78+yPCotyhK2p0r+Gn4TOQkla0CrtnPtTo+IkR5o
         2PjH1eoeIcNH38e+46fBvFbUMXehBMhn/OrF7tv2AgcBxZ/FRHJRkC5Yzd2TmJm34j00
         A1a+mKvsSydY6e8DqsouFeEgJ/1LXjmOr41j0fBwl1RNmTsafAntet7f8MqRiP+Wy8SR
         Xrzw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761141705; x=1761746505;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=qLHVl30GjqbT2sNGUrp6u7XODjWGOXYBV9cF9vJVcc4=;
        b=en5UFf1YRgMug+pEcOYOTJ5LZmLlw9iFyHnW3M/Afx+Rbz4K39Zz3nrL96rIFXCVfv
         Gbq68MzBN162Ddy5XGVC/fSpnDoc+oRJAWwqSQOrGeRQpxUfebIsPFcmVME4wfCgjHr1
         PDQeaAUhISibo78vPziVl25Cg5r22rkJ4pQBCKrcxuVtdn45X5cN8GJzTgrk2tuGRlg/
         RP+LZX6jR8r3fLFiev2TNVWlIkrJjJAUUicsdstYu9g2m1Op43L3x1+pQUfIM+sVogka
         P3sHJXOyySsudfWMGiITdLi4Njv5thUnAaGZqoQI9C+WZtgT8vQ1sKD6AG3TSyTwimOU
         pNCg==
X-Forwarded-Encrypted: i=1; AJvYcCV0WbH2t/kMll0NE9ULNFTcxYA8foSiU5hfAN8Rev1a0eh7P17/IJ2zI4XVKClFA5ZNlBei0mCcFgE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxFtcWcs4GwI7zuueSZRnCz64+7KljUiMKWljBQ7nb3eaNo+CRy
	YO86e1LlhtLLSHzyvf0NrkHeb3D/2WTvQd4Ojo+2PJJCMkGqmJPyuiNdGM7yTJuhZEOvtaTrj8O
	80lcspc8=
X-Gm-Gg: ASbGncucK1JwiKMtw3ByWh29bLiaG2TBBob4/tkIrxMhyQgZcmq5S8i3TF2oftvYe0l
	NvYgmYDeykYCBjpsbhh5VSZupseTt54sjkaTgev7nLvG3fmIlHKzZVT50mQTigAnd5AGVBtayKe
	Gm6UHtn/FMvK3MwYPSqnNuKaADq/0NJSIcejhRUc4MSjTH7igaQT6eyYHMwTDHTFlYdPSH3OS3a
	5aWe6R5wTsxV2+k2A26KSiVVU5b7v6YG13Hqou60FPWHiQ9rtDH2P8xcAlPkHqURRf8hYyTZvoA
	d2U0Fqk2HR6fGvv19Gu9aGbz7yuUSer7dF57lRBeu0cPoXaWSW4Vmv9ON3csTVh26+lF8Lnxaoy
	vBLFfTiOZjZ13aZFj9/pBu7uLa5WPn8OtQ0qHOJOHPUiIXCpjzmXbZpj4AdADzJ6fKK91dgLJU4
	7lBwfun0saByY+DCIi0biwXutMc5BmXj70e2uc8GOFBCfl0NTe6XzAj01ecrO2qxFc9UZw3No=
X-Google-Smtp-Source: AGHT+IGHHb6FmERd2aST6drwPR4rAF24ZKe8dRavWtQqwCKBMgkph9S4iRBPtxPC9PIdkKTi8zgAlA==
X-Received: by 2002:a05:6000:420f:b0:428:51b2:18b4 with SMTP id ffacd0b85a97d-42851b22910mr3947461f8f.29.1761141705142;
        Wed, 22 Oct 2025 07:01:45 -0700 (PDT)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: qemu-devel@nongnu.org
Cc: Anthony PERARD <anthony@xenproject.org>,
	xen-devel@lists.xenproject.org,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>,
	Paul Durrant <paul@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anton Johansson <anjo@rev.ng>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
Subject: [PATCH 2/3] hw/xen: Replace target_ulong by agnostic target_long_bits()
Date: Wed, 22 Oct 2025 16:01:12 +0200
Message-ID: <20251022140114.72372-3-philmd@linaro.org>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251022140114.72372-1-philmd@linaro.org>
References: <20251022140114.72372-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Both are equivalent:

  target_long_bits()

  sizeof(target_u?long) * BITS_PER_BYTE

Prefer the former which is target-agnostic.

Signed-off-by: Philippe Mathieu-DaudÃ© <philmd@linaro.org>
---
 hw/xen/xen-hvm-common.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/hw/xen/xen-hvm-common.c b/hw/xen/xen-hvm-common.c
index 258014370e1..b40ae0b3af0 100644
--- a/hw/xen/xen-hvm-common.c
+++ b/hw/xen/xen-hvm-common.c
@@ -2,8 +2,8 @@
 #include "qemu/units.h"
 #include "qemu/bitops.h"
 #include "qemu/error-report.h"
+#include "qemu/target-info.h"
 #include "qapi/error.h"
-#include "exec/target_long.h"
 #include "exec/target_page.h"
 #include "trace.h"
 
@@ -455,7 +455,7 @@ static void handle_ioreq(XenIOState *state, ioreq_t *req)
                        req->addr, req->data, req->count, req->size);
 
     if (!req->data_is_ptr && (req->dir == IOREQ_WRITE) &&
-            (req->size < sizeof (target_ulong))) {
+            (req_size_bits < target_long_bits())) {
         req->data &= MAKE_64BIT_MASK(0, req_size_bits);
     }
 
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 22 14:02:00 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Oct 2025 14:02:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148168.1480356 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBZPc-0004de-ES; Wed, 22 Oct 2025 14:02:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148168.1480356; Wed, 22 Oct 2025 14:02:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBZPc-0004dX-Bg; Wed, 22 Oct 2025 14:02:00 +0000
Received: by outflank-mailman (input) for mailman id 1148168;
 Wed, 22 Oct 2025 14:01:59 +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 <SRS0=vj3f=47=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1vBZPb-0003XH-Cy
 for xen-devel@lists.xenproject.org; Wed, 22 Oct 2025 14:01:59 +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 ac59f505-af4f-11f0-980a-7dc792cee155;
 Wed, 22 Oct 2025 16:01:57 +0200 (CEST)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-47117f92e32so46581545e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 22 Oct 2025 07:01:57 -0700 (PDT)
Received: from localhost.localdomain (88-187-86-199.subs.proxad.net.
 [88.187.86.199]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-427f00ce586sm25929940f8f.49.2025.10.22.07.01.56
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Wed, 22 Oct 2025 07:01:56 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ac59f505-af4f-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1761141717; x=1761746517; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=UaZKulvsvyPazuPCESEO+VqOsAtzjlNqcxauSGwGk78=;
        b=l0cDCJmrtdbP8W2SOKaIeaZmoJPG4/MGO98r3PReYRBNXDeDQ1jH4vEh6kkecbpepB
         Ly2blq5SSaNGvNyasf2IlZPBZK6cmDSSebr5xr5KSmwCyebboziGqY6KswkAnttGSige
         RWCEWBzwtZlTvsmUVXD82dbQhRj0ajBYOpqMpZq9m4GbRklwmg4E4qZwC+z88Iyq6XQg
         GCrzrk7xfBb7J2I6QWmwKjuMiWaiX63r4P8rZ8vYQVD6KC9jxJqS3aHxVFW2V8ShuOrT
         Z0BDWAVR1u0oqMaornB8k527iv/F3KdbTFNaxWFiK3x76eVczlQusXIMcBXT13zJM13x
         +UfA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761141717; x=1761746517;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=UaZKulvsvyPazuPCESEO+VqOsAtzjlNqcxauSGwGk78=;
        b=sAie50RQ35tp4O0xdD/XIOrw7ajOIehv6t45H3hufdSruX8K+8m/VO3yFhSiqlUDBj
         GlSSCvB/49qjAoNdg7E0EhHhT4qo3z+X8TznI/tbGi4NIySVttbyszCXviy6K/k6Nr1E
         eLCLXercnEcd5pNheXlfFK8mvv63ns6R0tzu2CJ5QbZ6x85Doba7f2MfspAkcI3zT5HW
         mkW2Ed1loMqFU5JsYvECljmZKWIvCvVEwIvVVRLovF+yg8OJZ7fa1djTbFTorwj0F3Uc
         xPG1dgArUN0dovuodBL473Nk5cGDJOWQOsCo/rQPsaQ2ls+lhpdNwr1pI2Yt5Hj+Tt/j
         OfQA==
X-Forwarded-Encrypted: i=1; AJvYcCUuu24Bu2aeTGbT92yI5DuJ45oV+GZYF0ITF5eiEk9fqca9KZfMCSyRkG6wub0LEW1mgc8SkBJaZL8=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz400xq95lV45xfBpLF1zVvLhYS6q4Puxe/e5tHPAtw4i9FTL0N
	OYozPzxptmzUXx50ijdcZV0KUhJdGZ/AqEzi3I3Ecci/0x2k/l5tovF8UbVUK+oRJpg=
X-Gm-Gg: ASbGnctafoNBVEMS43chDM6UTP9G3tnOBJ5IreshvFZTzBZvLbvJtwyE5szTUQCcbM2
	lVKRl0HjIuN1NYN7jhQLPNOwJ1Skz8LpobesPk1Kg09CVHeY5XznZLX1/r4u4Vs6xMBt8szA1dQ
	uYZQj24/toAKfua8v9kKAvJHL1f4r2iZlKCHE80BqyxVp3L9MmxsE37mBbUSgw47gb7GmXrXDO6
	zUT8FguSXLSsXyf6onrLOApymWZ4XAukQA9B2rvQoWhd/OfXzqMxUtNqUz6dJwvX1n3iqdXYe5X
	Ug8nJ9NzzEMsYXQJjuSL1qvFOLFN3LneJPK7sSIWpXHNFm2s91XxCoabXJza5Y8iHmJmvO8Z2hV
	tKwOvsFFhkBLARi1GvcAyqrOt6EydcwUsNql3Yz4OPC5lcdIMrbi2Ik1wZNdFEiGiIQQcMDs5Uo
	572G1MOcZDs36gQrCwRcsnvwfaRlE9/pJnp6KYInQBJPU3tHk+JFm1iiKegmjY
X-Google-Smtp-Source: AGHT+IFjoAyFjm2+kFm7KY2q3aB2HGmRZNUqm25Wo0zJ7cEcAB/9ey5BsxA253c/AteFX/omR4r+QQ==
X-Received: by 2002:a05:600d:630a:b0:471:1b25:fa00 with SMTP id 5b1f17b1804b1-4711b25fd7cmr99064095e9.36.1761141717052;
        Wed, 22 Oct 2025 07:01:57 -0700 (PDT)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: qemu-devel@nongnu.org
Cc: Anthony PERARD <anthony@xenproject.org>,
	xen-devel@lists.xenproject.org,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>,
	Paul Durrant <paul@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anton Johansson <anjo@rev.ng>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
Subject: [PATCH 3/3] hw/xen: Build only once
Date: Wed, 22 Oct 2025 16:01:13 +0200
Message-ID: <20251022140114.72372-4-philmd@linaro.org>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251022140114.72372-1-philmd@linaro.org>
References: <20251022140114.72372-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Now than hw/xen/ files don't use any target-specific code,
we can build all file units once, removing the need for the
xen_specific_ss[] source set.

Signed-off-by: Philippe Mathieu-DaudÃ© <philmd@linaro.org>
---
 hw/xen/meson.build | 22 +++++++++-------------
 1 file changed, 9 insertions(+), 13 deletions(-)

diff --git a/hw/xen/meson.build b/hw/xen/meson.build
index a1850e76988..dcd2b7e1df3 100644
--- a/hw/xen/meson.build
+++ b/hw/xen/meson.build
@@ -7,21 +7,16 @@ system_ss.add(when: ['CONFIG_XEN_BUS'], if_true: files(
   'xen_pvdev.c',
 ))
 
-system_ss.add(when: ['CONFIG_XEN', xen], if_true: files(
-  'xen-operations.c',
-),
-if_false: files(
-  'xen_stubs.c',
-))
-
-xen_specific_ss = ss.source_set()
-xen_specific_ss.add(files(
-  'xen-mapcache.c',
+xen_common_ss = ss.source_set()
+xen_common_ss.add(files(
   'xen-hvm-common.c',
+  'xen-mapcache.c',
+  'xen-operations.c',
   'xen-pvh-common.c',
 ))
+
 if have_xen_pci_passthrough
-  xen_specific_ss.add(files(
+  xen_common_ss.add(files(
     'xen-host-pci-device.c',
     'xen_pt.c',
     'xen_pt_config_init.c',
@@ -30,7 +25,8 @@ if have_xen_pci_passthrough
     'xen_pt_msi.c',
   ))
 else
-  xen_specific_ss.add(files('xen_pt_stub.c'))
+  xen_common_ss.add(files('xen_pt_stub.c'))
 endif
 
-specific_ss.add_all(when: ['CONFIG_XEN', xen], if_true: xen_specific_ss)
+system_ss.add_all(when: ['CONFIG_XEN', xen], if_true: xen_common_ss)
+system_ss.add(when: ['CONFIG_XEN', xen], if_false: files('xen_stubs.c'))
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 22 14:07:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Oct 2025 14:07:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148225.1480366 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBZV7-00062r-13; Wed, 22 Oct 2025 14:07:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148225.1480366; Wed, 22 Oct 2025 14:07:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBZV6-00062k-UT; Wed, 22 Oct 2025 14:07:40 +0000
Received: by outflank-mailman (input) for mailman id 1148225;
 Wed, 22 Oct 2025 14:07:40 +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 <SRS0=pHug=47=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vBZV5-00062e-VC
 for xen-devel@lists.xenproject.org; Wed, 22 Oct 2025 14:07:40 +0000
Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com
 [2a00:1450:4864:20::32a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 774317d0-af50-11f0-9d15-b5c5bf9af7f9;
 Wed, 22 Oct 2025 16:07:38 +0200 (CEST)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-4710665e7deso27247495e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 22 Oct 2025 07:07:38 -0700 (PDT)
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-475c4369b3esm44564565e9.13.2025.10.22.07.07.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 22 Oct 2025 07:07:37 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 774317d0-af50-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761142057; x=1761746857; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Arp0s5Cl2gOBmoJutmdZpomDxecLvy3YN6J3GtqPhyc=;
        b=XBADqgfIbpZvhvLgPctRlp33RcIK5FvffiGFap+VQtmfOyi9yX7jYY/bmi3N+HNe6C
         r476uOjhguWVd0CtPVzzblfSidLDVQybQkZ7t7qen+COoV71KnK0YycJGTIaDGX3TqOE
         ZnSPgyekia4+ljeRBR8iXz8z062kSRuUCEfvX9xQ7NLQ1L1piRq0jKGg+rM7XGAAXoiP
         vrg0o2o+jGA6kF742ZB7+on2I1xH7Tia6gFtSBAmGbYK4dPkLE6arl/106Chs8V4LR9R
         o3+bm9glQggvXccK+vYSMeogckU+tvfWq+0kuVylL83qObr8CZWdRv2WhwR+YWxBvv6T
         GyBg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761142057; x=1761746857;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Arp0s5Cl2gOBmoJutmdZpomDxecLvy3YN6J3GtqPhyc=;
        b=E2uTr0+WCwo0jkbJaZT4H/xho1iCXuqWoqfatTPgLEmXn1shjS0GkDgvfb2pphcGru
         pIaIVOmePSWF/Dh2kPjbDocY98pdCDUqgWpo0bIMN5DTac4gkSWfl1tYjHdQF2/vEfn5
         sBJjX75Ql81/vLhTwsoqPzAmXnUIMOLPLKZUT5190Idto1Sa7M34VdPrv0yx0xHlhDN4
         fM4JAoW7LFKs19TaTHsPWDUebJiKAoAFlS160XLJq1b62Zu8kmZ0rk46VGgrNzDak9/X
         yGPevttomjyidwf8fRUX2qrhMKfbaOXH/IF8GA4E5kSZR2nGRVsD7+dZVctcoMHVITy8
         xBkg==
X-Forwarded-Encrypted: i=1; AJvYcCVGGIzlcdNGGu9+jVQTeXkmLULjEejX5p6pRt+xwFpksiVOXJKnS0e3Hf1FyKs7Snt2wmimvx1SKb8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyU/lIkWoI/MRGzXLwmqg3lGpl4PVNy1cHJlhl5vv8lzaazwr6U
	gHxVNg1fhG+PcsGIINZqaUEIytkRnZ5F728yVhKTHpQrbb1fTGe/viFdjBuXZ6/hNw==
X-Gm-Gg: ASbGnctLDGx3UbVF/4+++myQFS4dXivv7QmwiRu56g5gDeeO+7NrXZ/U4n3nyOFSYCB
	g8daSpljYPImEqns+fLNLyfG7/TJN+IEbXAgVJVAc8NOweswWwrkOYiHRjorEHm4OO57yD//HlS
	mbZoBTqQqCl/vXgPvp925aXrSWEpLvcJdrC26DWoinUd9Y8v8pgACqnlYFLMVOul5QCKxsBL8cB
	zaDrz+9xNcJrqOBF1o4QgRf1SRbf8+y9KKYeC2n3Z0Wa6SmvQ5QpTbLvtnVAMKTfIq8mynPMg+Z
	5WqJGTPZbeNzVZI6jL4ubFOgWVF0CofIGOASPh7GZB1UiJ75a5QLBBrfIp0QCmrOE7RU/HZAICx
	1Ij9RR0rDxFPa6mM3RNiX8uS84fSO+yfKh/Cuai5qiaPvxAm28azK4t4QuadZ1rDsu97NQ+y461
	vRzabqufAdRiXTX1o46+aQWPanQWlyJ/idPNKrsQz5hBcpKNbJD+jGI+1CSRFC
X-Google-Smtp-Source: AGHT+IFN69cLXP9YTn0LHyQLRk88mBMJ47wXU/+Zdx+weLlASGQLTiBpeKLAF1+BQ9nX+q+CXAfrDg==
X-Received: by 2002:a05:600d:4390:b0:471:b5d:2db9 with SMTP id 5b1f17b1804b1-471179119ccmr97133205e9.21.1761142057427;
        Wed, 22 Oct 2025 07:07:37 -0700 (PDT)
Message-ID: <45ad9ee7-e4a4-4f31-b8d0-723a97d7f45b@suse.com>
Date: Wed, 22 Oct 2025 16:07:35 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 10/22] x86/tpm.c: code for early hashing and extending
 PCRs (for TPM1.2)
To: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Ross Philipson <ross.philipson@oracle.com>,
 trenchboot-devel@googlegroups.com, xen-devel@lists.xenproject.org
References: <cover.1748611041.git.sergii.dmytruk@3mdeb.com>
 <0c249037eeda4809b565a55c6473bb21cdd0304e.1748611041.git.sergii.dmytruk@3mdeb.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <0c249037eeda4809b565a55c6473bb21cdd0304e.1748611041.git.sergii.dmytruk@3mdeb.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 30.05.2025 15:17, Sergii Dmytruk wrote:
> --- /dev/null
> +++ b/xen/arch/x86/include/asm/tpm.h
> @@ -0,0 +1,19 @@
> +/*
> + * SPDX-License-Identifier: GPL-2.0-or-later
> + *
> + * Copyright (c) 2022-2025 3mdeb Sp. z o.o. All rights reserved.
> + */
> +
> +#ifndef X86_TPM_H
> +#define X86_TPM_H
> +
> +#include <xen/types.h>
> +
> +#define TPM_TIS_BASE  0xfed40000U
> +#define TPM_TIS_SIZE  0x00010000U
> +
> +void tpm_hash_extend(unsigned loc, unsigned pcr, const uint8_t *buf,
> +                     unsigned size, uint32_t type, const uint8_t *log_data,
> +                     unsigned log_data_size);

Here and elsewhere: We prefer "unsigned int" over just "unsigned".

> --- /dev/null
> +++ b/xen/arch/x86/tpm.c
> @@ -0,0 +1,437 @@
> +/*
> + * SPDX-License-Identifier: GPL-2.0-or-later
> + *
> + * Copyright (c) 2022-2025 3mdeb Sp. z o.o. All rights reserved.
> + */
> +
> +#include <xen/sha1.h>
> +#include <xen/string.h>
> +#include <xen/types.h>
> +#include <asm/intel-txt.h>
> +#include <asm/slaunch.h>
> +#include <asm/tpm.h>
> +
> +#ifdef __EARLY_SLAUNCH__
> +
> +#ifdef __va
> +#error "__va defined in non-paged mode!"
> +#endif
> +
> +#define __va(x)     _p(x)
> +
> +/* Implementation of slaunch_get_slrt() for early TPM code. */
> +static uint32_t slrt_location;
> +struct slr_table *slaunch_get_slrt(void)
> +{
> +    return __va(slrt_location);
> +}
> +
> +/*
> + * The code is being compiled as a standalone binary without linking to any
> + * other part of Xen.  Providing implementation of builtin functions in this
> + * case is necessary if compiler chooses to not use an inline builtin.
> + */
> +void *(memcpy)(void *dest, const void *src, size_t n)
> +{
> +    const uint8_t *s = src;
> +    uint8_t *d = dest;
> +
> +    while ( n-- )
> +        *d++ = *s++;
> +
> +    return dest;
> +}
> +
> +#else   /* __EARLY_SLAUNCH__ */
> +
> +#include <xen/mm.h>
> +#include <xen/pfn.h>
> +
> +#endif  /* __EARLY_SLAUNCH__ */
> +
> +#define TPM_LOC_REG(loc, reg)   (0x1000 * (loc) + (reg))
> +
> +#define TPM_ACCESS_(x)          TPM_LOC_REG(x, 0x00)
> +#define ACCESS_REQUEST_USE       (1 << 1)
> +#define ACCESS_ACTIVE_LOCALITY   (1 << 5)
> +#define TPM_INTF_CAPABILITY_(x) TPM_LOC_REG(x, 0x14)
> +#define INTF_VERSION_MASK        0x70000000
> +#define TPM_STS_(x)             TPM_LOC_REG(x, 0x18)
> +#define TPM_FAMILY_MASK          0x0C000000
> +#define STS_DATA_AVAIL           (1 << 4)
> +#define STS_TPM_GO               (1 << 5)
> +#define STS_COMMAND_READY        (1 << 6)
> +#define STS_VALID                (1 << 7)
> +#define TPM_DATA_FIFO_(x)       TPM_LOC_REG(x, 0x24)
> +
> +#define swap16(x)       __builtin_bswap16(x)
> +#define swap32(x)       __builtin_bswap32(x)
> +
> +static inline volatile uint32_t tis_read32(unsigned reg)
> +{
> +    return *(volatile uint32_t *)__va(TPM_TIS_BASE + reg);
> +}
> +
> +static inline volatile uint8_t tis_read8(unsigned reg)
> +{
> +    return *(volatile uint8_t *)__va(TPM_TIS_BASE + reg);
> +}
> +
> +static inline void tis_write8(unsigned reg, uint8_t val)
> +{
> +    *(volatile uint8_t *)__va(TPM_TIS_BASE + reg) = val;
> +}
> +
> +static inline void request_locality(unsigned loc)
> +{
> +    tis_write8(TPM_ACCESS_(loc), ACCESS_REQUEST_USE);
> +    /* Check that locality was actually activated. */
> +    while ( (tis_read8(TPM_ACCESS_(loc)) & ACCESS_ACTIVE_LOCALITY) == 0 );

Here and below - please put such semicolons on a separate line, to make more
recognizable that no loop body follows. Also generally we prefer ! over == 0
for such checks.

> +}
> +
> +static inline void relinquish_locality(unsigned loc)
> +{
> +    tis_write8(TPM_ACCESS_(loc), ACCESS_ACTIVE_LOCALITY);
> +}
> +
> +static void send_cmd(unsigned loc, uint8_t *buf, unsigned i_size,
> +                     unsigned *o_size)
> +{
> +    /*
> +     * Value of "data available" bit counts only when "valid" field is set as
> +     * well.
> +     */
> +    const unsigned data_avail = STS_VALID | STS_DATA_AVAIL;
> +
> +    unsigned i;
> +
> +    /* Make sure TPM can accept a command. */
> +    if ( (tis_read8(TPM_STS_(loc)) & STS_COMMAND_READY) == 0 )
> +    {
> +        /* Abort current command. */
> +        tis_write8(TPM_STS_(loc), STS_COMMAND_READY);
> +        /* Wait until TPM is ready for a new one. */
> +        while ( (tis_read8(TPM_STS_(loc)) & STS_COMMAND_READY) == 0 );
> +    }
> +
> +    for ( i = 0; i < i_size; i++ )
> +        tis_write8(TPM_DATA_FIFO_(loc), buf[i]);
> +
> +    tis_write8(TPM_STS_(loc), STS_TPM_GO);
> +
> +    /* Wait for the first byte of response. */
> +    while ( (tis_read8(TPM_STS_(loc)) & data_avail) != data_avail);

Here you properly follow the comment at the top of the function, while ...

> +    for ( i = 0; i < *o_size && tis_read8(TPM_STS_(loc)) & data_avail; i++ )

... here you don't. Why?

> +        buf[i] = tis_read8(TPM_DATA_FIFO_(loc));
> +
> +    if ( i < *o_size )
> +        *o_size = i;

Is there any real need for this assignment to be conditional?

> +    tis_write8(TPM_STS_(loc), STS_COMMAND_READY);
> +}
> +
> +static inline bool is_tpm12(void)
> +{
> +    /*
> +     * If one of these conditions is true:
> +     *  - INTF_CAPABILITY_x.interfaceVersion is 0 (TIS <= 1.21)
> +     *  - INTF_CAPABILITY_x.interfaceVersion is 2 (TIS == 1.3)
> +     *  - STS_x.tpmFamily is 0
> +     * we're dealing with TPM1.2.
> +     */
> +    uint32_t intf_version = tis_read32(TPM_INTF_CAPABILITY_(0))
> +                          & INTF_VERSION_MASK;

Nit: The & wants to move to the previous line and indentation of the
continuation line wants to increase by 2.

> +    return (intf_version == 0x00000000 || intf_version == 0x20000000 ||
> +            (tis_read32(TPM_STS_(0)) & TPM_FAMILY_MASK) == 0);
> +}
> +
> +/****************************** TPM1.2 specific *******************************/
> +#define TPM_ORD_Extend              0x00000014
> +#define TPM_ORD_SHA1Start           0x000000A0
> +#define TPM_ORD_SHA1Update          0x000000A1
> +#define TPM_ORD_SHA1CompleteExtend  0x000000A3
> +
> +#define TPM_TAG_RQU_COMMAND         0x00C1
> +#define TPM_TAG_RSP_COMMAND         0x00C4
> +
> +/* All fields of following structs are big endian. */
> +struct tpm_cmd_hdr {
> +    uint16_t    tag;
> +    uint32_t    paramSize;
> +    uint32_t    ordinal;
> +} __packed;
> +
> +struct tpm_rsp_hdr {
> +    uint16_t    tag;
> +    uint32_t    paramSize;
> +    uint32_t    returnCode;
> +} __packed;
> +
> +struct extend_cmd {
> +    struct tpm_cmd_hdr h;
> +    uint32_t pcrNum;
> +    uint8_t inDigest[SHA1_DIGEST_SIZE];
> +} __packed;
> +
> +struct extend_rsp {
> +    struct tpm_rsp_hdr h;
> +    uint8_t outDigest[SHA1_DIGEST_SIZE];
> +} __packed;
> +
> +struct sha1_start_cmd {
> +    struct tpm_cmd_hdr h;
> +} __packed;
> +
> +struct sha1_start_rsp {
> +    struct tpm_rsp_hdr h;
> +    uint32_t maxNumBytes;
> +} __packed;
> +
> +struct sha1_update_cmd {
> +    struct tpm_cmd_hdr h;
> +    uint32_t numBytes;          /* Must be a multiple of 64 */
> +    uint8_t hashData[];
> +} __packed;
> +
> +struct sha1_update_rsp {
> +    struct tpm_rsp_hdr h;
> +} __packed;
> +
> +struct sha1_complete_extend_cmd {
> +    struct tpm_cmd_hdr h;
> +    uint32_t pcrNum;
> +    uint32_t hashDataSize;      /* 0-64, inclusive */
> +    uint8_t hashData[];
> +} __packed;
> +
> +struct sha1_complete_extend_rsp {
> +    struct tpm_rsp_hdr h;
> +    uint8_t hashValue[SHA1_DIGEST_SIZE];
> +    uint8_t outDigest[SHA1_DIGEST_SIZE];
> +} __packed;
> +
> +struct TPM12_PCREvent {
> +    uint32_t PCRIndex;
> +    uint32_t Type;
> +    uint8_t Digest[SHA1_DIGEST_SIZE];
> +    uint32_t Size;
> +    uint8_t Data[];
> +};
> +
> +struct txt_ev_log_container_12 {
> +    char        Signature[20];      /* "TXT Event Container", null-terminated */
> +    uint8_t     Reserved[12];
> +    uint8_t     ContainerVerMajor;
> +    uint8_t     ContainerVerMinor;
> +    uint8_t     PCREventVerMajor;
> +    uint8_t     PCREventVerMinor;
> +    uint32_t    ContainerSize;      /* Allocated size */
> +    uint32_t    PCREventsOffset;
> +    uint32_t    NextEventOffset;
> +    struct TPM12_PCREvent   PCREvents[];
> +};
> +
> +#ifdef __EARLY_SLAUNCH__
> +/*
> + * TPM1.2 is required to support commands of up to 1101 bytes, vendors rarely
> + * go above that. Limit maximum size of block of data to be hashed to 1024.
> + */
> +#define MAX_HASH_BLOCK      1024
> +#define CMD_RSP_BUF_SIZE    (sizeof(struct sha1_update_cmd) + MAX_HASH_BLOCK)
> +
> +union cmd_rsp {
> +    struct sha1_start_cmd start_c;
> +    struct sha1_start_rsp start_r;
> +    struct sha1_update_cmd update_c;
> +    struct sha1_update_rsp update_r;
> +    struct sha1_complete_extend_cmd finish_c;
> +    struct sha1_complete_extend_rsp finish_r;
> +    uint8_t buf[CMD_RSP_BUF_SIZE];
> +};
> +
> +/* Returns true on success. */
> +static bool tpm12_hash_extend(unsigned loc, const uint8_t *buf, unsigned size,
> +                              unsigned pcr, uint8_t *out_digest)
> +{
> +    union cmd_rsp cmd_rsp;
> +    unsigned max_bytes = MAX_HASH_BLOCK;
> +    unsigned o_size = sizeof(cmd_rsp);
> +    bool success = false;
> +
> +    request_locality(loc);
> +
> +    cmd_rsp.start_c = (struct sha1_start_cmd) {
> +        .h.tag = swap16(TPM_TAG_RQU_COMMAND),
> +        .h.paramSize = swap32(sizeof(struct sha1_start_cmd)),

While here it may be viewed as on the edge, ...

> +        .h.ordinal = swap32(TPM_ORD_SHA1Start),
> +    };
> +
> +    send_cmd(loc, cmd_rsp.buf, sizeof(struct sha1_start_cmd), &o_size);

... here and ...

> +    if ( o_size < sizeof(struct sha1_start_rsp) )

... here (and elsewhere) you would better use sizeof(<expression>), to make
the connection there more clear.

> +        goto error;
> +
> +    if ( max_bytes > swap32(cmd_rsp.start_r.maxNumBytes) )
> +        max_bytes = swap32(cmd_rsp.start_r.maxNumBytes);
> +
> +    while ( size > 64 )
> +    {
> +        if ( size < max_bytes )
> +            max_bytes = size & ~(64 - 1);

ROUNDDOWN(size, 64)

> +        o_size = sizeof(cmd_rsp);
> +
> +        cmd_rsp.update_c = (struct sha1_update_cmd){

Please, at least within a single patch, be consistent about whether there is
a blank between ) and {.

> +            .h.tag = swap16(TPM_TAG_RQU_COMMAND),
> +            .h.paramSize = swap32(sizeof(struct sha1_update_cmd) + max_bytes),
> +            .h.ordinal = swap32(TPM_ORD_SHA1Update),
> +            .numBytes = swap32(max_bytes),
> +        };
> +        memcpy(cmd_rsp.update_c.hashData, buf, max_bytes);
> +
> +        send_cmd(loc, cmd_rsp.buf, sizeof(struct sha1_update_cmd) + max_bytes,
> +                 &o_size);
> +        if ( o_size < sizeof(struct sha1_update_rsp) )
> +            goto error;
> +
> +        size -= max_bytes;
> +        buf += max_bytes;
> +    }
> +
> +    o_size = sizeof(cmd_rsp);
> +
> +    cmd_rsp.finish_c = (struct sha1_complete_extend_cmd) {
> +        .h.tag = swap16(TPM_TAG_RQU_COMMAND),
> +        .h.paramSize = swap32(sizeof(struct sha1_complete_extend_cmd) + size),
> +        .h.ordinal = swap32(TPM_ORD_SHA1CompleteExtend),
> +        .pcrNum = swap32(pcr),
> +        .hashDataSize = swap32(size),
> +    };
> +    memcpy(cmd_rsp.finish_c.hashData, buf, size);
> +
> +    send_cmd(loc, cmd_rsp.buf, sizeof(struct sha1_complete_extend_cmd) + size,
> +             &o_size);
> +    if ( o_size < sizeof(struct sha1_complete_extend_rsp) )
> +        goto error;
> +
> +    if ( out_digest != NULL )
> +        memcpy(out_digest, cmd_rsp.finish_r.hashValue, SHA1_DIGEST_SIZE);
> +
> +    success = true;
> +
> +error:

Nit: Labels indented by at least one blank please.

> +    relinquish_locality(loc);
> +    return success;
> +}
> +
> +#else
> +
> +union cmd_rsp {
> +    struct extend_cmd extend_c;
> +    struct extend_rsp extend_r;
> +};
> +
> +/* Returns true on success. */
> +static bool tpm12_hash_extend(unsigned loc, const uint8_t *buf, unsigned size,
> +                              unsigned pcr, uint8_t *out_digest)
> +{
> +    union cmd_rsp cmd_rsp;
> +    unsigned o_size = sizeof(cmd_rsp);
> +
> +    sha1_hash(out_digest, buf, size);
> +
> +    request_locality(loc);
> +
> +    cmd_rsp.extend_c = (struct extend_cmd) {
> +        .h.tag = swap16(TPM_TAG_RQU_COMMAND),
> +        .h.paramSize = swap32(sizeof(struct extend_cmd)),
> +        .h.ordinal = swap32(TPM_ORD_Extend),
> +        .pcrNum = swap32(pcr),
> +    };
> +
> +    memcpy(cmd_rsp.extend_c.inDigest, out_digest, SHA1_DIGEST_SIZE);
> +
> +    send_cmd(loc, (uint8_t *)&cmd_rsp, sizeof(struct extend_cmd), &o_size);
> +
> +    relinquish_locality(loc);
> +
> +    return (o_size >= sizeof(struct extend_rsp));
> +}
> +
> +#endif /* __EARLY_SLAUNCH__ */
> +
> +static void *create_log_event12(struct txt_ev_log_container_12 *evt_log,
> +                                uint32_t evt_log_size, uint32_t pcr,
> +                                uint32_t type, const uint8_t *data,
> +                                unsigned data_size)
> +{
> +    struct TPM12_PCREvent *new_entry;
> +
> +    new_entry = (void *)(((uint8_t *)evt_log) + evt_log->NextEventOffset);

   new_entry = (void *)evt_log + evt_log->NextEventOffset;

> +    /*
> +     * Check if there is enough space left for new entry.
> +     * Note: it is possible to introduce a gap in event log if entry with big
> +     * data_size is followed by another entry with smaller data. Maybe we should
> +     * cap the event log size in such case?
> +     */
> +    if ( evt_log->NextEventOffset + sizeof(struct TPM12_PCREvent) + data_size
> +         > evt_log_size )

Nit: Operator placement again.

> +        return NULL;
> +
> +    evt_log->NextEventOffset += sizeof(struct TPM12_PCREvent) + data_size;
> +
> +    new_entry->PCRIndex = pcr;
> +    new_entry->Type = type;
> +    new_entry->Size = data_size;
> +
> +    if ( data && data_size > 0 )
> +        memcpy(new_entry->Data, data, data_size);

What about "data && !data_size" or "!data && data_size"? Are these legal
inputs that are fine to ignore? Otherwise - why the if()?

> +    return new_entry->Digest;
> +}
> +
> +/************************** end of TPM1.2 specific ****************************/
> +
> +void tpm_hash_extend(unsigned loc, unsigned pcr, const uint8_t *buf,
> +                     unsigned size, uint32_t type, const uint8_t *log_data,
> +                     unsigned log_data_size)
> +{
> +    void *evt_log_addr;
> +    uint32_t evt_log_size;
> +
> +    find_evt_log(slaunch_get_slrt(), &evt_log_addr, &evt_log_size);
> +    evt_log_addr = __va((uintptr_t)evt_log_addr);
> +
> +    if ( is_tpm12() )
> +    {
> +        uint8_t sha1_digest[SHA1_DIGEST_SIZE];
> +
> +        struct txt_ev_log_container_12 *evt_log = evt_log_addr;
> +        void *entry_digest = create_log_event12(evt_log, evt_log_size, pcr,
> +                                                type, log_data, log_data_size);
> +
> +        /* We still need to write computed hash somewhere. */
> +        if ( entry_digest == NULL )
> +            entry_digest = sha1_digest;
> +
> +        if ( !tpm12_hash_extend(loc, buf, size, pcr, entry_digest) )
> +        {
> +#ifndef __EARLY_SLAUNCH__
> +            printk(XENLOG_ERR "Extending PCR%u failed\n", pcr);
> +#endif
> +        }
> +    }

And implicitly "else { ignore everything }"?

> +}
> +
> +#ifdef __EARLY_SLAUNCH__
> +void asmlinkage tpm_extend_mbi(uint32_t *mbi, uint32_t slrt_pa)

Pointer to const please, and then make sure ...

> +{
> +    /* Need this to implement slaunch_get_slrt() for early TPM code. */
> +    slrt_location = slrt_pa;
> +
> +    /* MBI starts with uint32_t total_size. */
> +    tpm_hash_extend(DRTM_LOC, DRTM_DATA_PCR, (uint8_t *)mbi, *mbi,

... not to cast away const-ness here.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Oct 22 14:11:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Oct 2025 14:11:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148236.1480377 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBZYu-0007YU-GB; Wed, 22 Oct 2025 14:11:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148236.1480377; Wed, 22 Oct 2025 14:11:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBZYu-0007YN-DF; Wed, 22 Oct 2025 14:11:36 +0000
Received: by outflank-mailman (input) for mailman id 1148236;
 Wed, 22 Oct 2025 14:11:35 +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 <SRS0=pHug=47=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vBZYt-0007YH-HA
 for xen-devel@lists.xenproject.org; Wed, 22 Oct 2025 14:11:35 +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 041270c3-af51-11f0-9d15-b5c5bf9af7f9;
 Wed, 22 Oct 2025 16:11:34 +0200 (CEST)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-471076f819bso55105865e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 22 Oct 2025 07:11:34 -0700 (PDT)
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-475c42d828asm46794955e9.17.2025.10.22.07.11.32
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 22 Oct 2025 07:11:32 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 041270c3-af51-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761142294; x=1761747094; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=SjjTeIOCsVDildLnxJ8P1TiHlAeqOVpi7i093PH7SuA=;
        b=IftySfWQN3Jv98QoAMDbKtDxpKSKXxiqGTfJMsJzffCnaYSbjs2rzFeCGwrCb0LsDt
         +oL1MfnK0E1LMGbQVBcx6LHd0lfXaomBbMQ5x45yZHSEAAnvRUnvHX7kyo5ZIO/+jZrj
         56DX75336if0oxQiNg7f480t+jQsIuczbkWVcTipgu7M5dCHT6WmIzPveevUJfGIUElM
         iPKSrBBaQb6WYk5govD2FtcqiiEkL6Ga9tqLT9A1sIs6lMUXPZpomqP5JpuQ1toFr0g1
         /zFEVvJ+I9bWNLbLoIFvQQuR9Rn6D8W16de5FxDKt42pRkO1Zxv960i72mfhjwv+BGK6
         MKBg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761142294; x=1761747094;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=SjjTeIOCsVDildLnxJ8P1TiHlAeqOVpi7i093PH7SuA=;
        b=pwHrQR+n0Z4yerlOHPmm6GasxmmZaj69VH9XVJluxLlk8PkKo7+cJUMRXL9tfpI1WW
         noM8Jlk91EAS8gTiDF+tLJezMPPsxff3N3XB+2/FmyrwefmqRD9vV2KQ+M7LH2jDMkmh
         OfH7anBndx5ewTW6Tr3UQSlfFs2i7y4OvkfGbC0pOfdqEjZP0/NIVcCPEXYu4ZFnlGOh
         tL/AjDtXk36ebQI7gQrgAU9Yuv3jlacMjLclG3KGGPQiRcIvC7rMSzX1GEbgaoncaE/W
         So6CM5l6bEkSUdnj+eIC1BtW8UAgAWQafbaXPZ/6Ji+KODEKdJMEaYNrLSnuVhLiaLcq
         8irw==
X-Forwarded-Encrypted: i=1; AJvYcCUDLFmunp0FaOTR/sjhA/HUReXwX+A5XIJC8qw+NMpFbuDA+BgmAFt8YVVKKDXISAqKxZtBnoocP8Y=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyVq2RGHHumr0QppD5i9vaxlc2yXvHeLUuKeZzpR5oPRR0A3MfZ
	ZmwJs1U9ZIJnjPz5UBCC8rx1eYIGLEsjNnkThZ5Y/EFO04INdTh60Bk1L51mOiFSKAvUjk8ELRj
	tgLg=
X-Gm-Gg: ASbGncuG4DqUd0+dCKMqCl6QZWd/ULtsZgZO0ejOYifYJ855VJLs4VXbxvUbGi87+9T
	eM6uMSFAlnPlU/hCGMECqh9Hufe8tX2hKrwO3GjOSRdq8Z7wm6Fp9QRHIew8k94PtNGNwmOOWSq
	d3IxmzKPIeOi7Cx8RoW2OpNEzESswjnUiKJBpYlz48OmYT2zP854LZIVAF/q7E53qgD9IQipsPU
	/uF7vzzRAipY2U88AI/Qwj0/oFm8S1osl2iCRsHAyEgqiBwjnODval594Q/+cTt1fPCA4DWp7oy
	EKTtfviuNI//tmhQh2j1w4k3ls0/KMMO3Jqd6Cl2JhIvA+gsJDF+y+4jDhOmmMR6LWbN8Ex3hd/
	U1xWFKD581SkDtnoHN1KiUbYFJtff17mZDLgVPJxJ89t399maSyRRck9m4I6fIThcKObrsKBNO6
	6xNpHsWuYiTEk661H2z+rFrU7ypVpphS84hvwgx7Uljyip3QqPdCEE2uAMwpNqvdCLjCWohZc=
X-Google-Smtp-Source: AGHT+IEEqo7OEB8PMqx9XuTR8jZGMlFu+QlTUZcqjHVo7J7rs8a6KcgBa2aiPlaJAMVn0IDUIOMwfA==
X-Received: by 2002:a05:600c:3b8d:b0:471:60c:1501 with SMTP id 5b1f17b1804b1-47117918c0cmr176442575e9.28.1761142293814;
        Wed, 22 Oct 2025 07:11:33 -0700 (PDT)
Message-ID: <f3ca8744-38c5-4d29-a216-b5e810adeb05@suse.com>
Date: Wed, 22 Oct 2025 16:11:31 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 4/7] xen/pci: introduce has_vpci_bridge
To: Mykyta Poturai <Mykyta_Poturai@epam.com>
Cc: Stefano Stabellini <stefano.stabellini@amd.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stewart Hildebrand <stewart.hildebrand@amd.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <cover.1761134829.git.mykyta_poturai@epam.com>
 <1695581f037a8361ef284a5e51bcbce9891b8110.1761134829.git.mykyta_poturai@epam.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <1695581f037a8361ef284a5e51bcbce9891b8110.1761134829.git.mykyta_poturai@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 22.10.2025 15:56, Mykyta Poturai wrote:
> From: Stefano Stabellini <stefano.stabellini@amd.com>
> 
> has_vpci_bridge is a macro to check if the domain is a domU or is dom0
> with vPCI (pci-scan=yes) enabled.
> 
> Use the macro in drivers/vpci.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
> Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
> ---
> v1->v2:
> * simplify definition
> ---
>  xen/drivers/vpci/header.c | 14 +++++++-------
>  xen/drivers/vpci/vpci.c   |  4 ++--
>  xen/include/xen/vpci.h    |  8 ++++++++
>  3 files changed, 17 insertions(+), 9 deletions(-)

With this diffstat, its the subject prefix missing a 'v' (xen/vpci:)?

> --- a/xen/drivers/vpci/header.c
> +++ b/xen/drivers/vpci/header.c
> @@ -230,7 +230,7 @@ bool vpci_process_pending(struct vcpu *v)
>  
>              read_unlock(&v->domain->pci_lock);
>  
> -            if ( !is_hardware_domain(v->domain) )
> +            if ( has_vpci_bridge(v->domain) )
>                  domain_crash(v->domain);

Here and perhaps everywhere else I wonder: Is this really an appropriately
named predicate for the purpose / context?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Oct 22 14:31:10 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Oct 2025 14:31:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148259.1480386 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBZrh-0002ST-4q; Wed, 22 Oct 2025 14:31:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148259.1480386; Wed, 22 Oct 2025 14:31:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBZrh-0002SM-2I; Wed, 22 Oct 2025 14:31:01 +0000
Received: by outflank-mailman (input) for mailman id 1148259;
 Wed, 22 Oct 2025 14:30:59 +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 <SRS0=pHug=47=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vBZrf-0002SE-GB
 for xen-devel@lists.xenproject.org; Wed, 22 Oct 2025 14:30:59 +0000
Received: from mail-wm1-x330.google.com (mail-wm1-x330.google.com
 [2a00:1450:4864:20::330])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b4f715b4-af53-11f0-9d15-b5c5bf9af7f9;
 Wed, 22 Oct 2025 16:30:50 +0200 (CEST)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-47100eae3e5so24405085e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 22 Oct 2025 07:30:50 -0700 (PDT)
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-47494b02475sm39690255e9.4.2025.10.22.07.30.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 22 Oct 2025 07:30:49 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b4f715b4-af53-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761143449; x=1761748249; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=FO5Vw28kFJsFl8Z0Dnz1r+91IPQsD9UzA+H6h+5FFvQ=;
        b=U3sl4+JQYkEG5GyxhsNSu2A8hxTc6ZGWfZPfn9SgzEDfO8WIrKGMilZuG2mdvSDoP5
         63x9/Y8nU3jAtURAyiNHO+jHY5hoXYWCquTIOWdKWI6kF9Yv23ipQak1vyxsTnM5Xvnt
         6+3oouKMFOy85SxCDLSL/tzERqYfkGDXryE33q2gucarz3F+pabIGN5169sIl4spVknM
         XabancuVKTiYUw2XOv2LnLiqct2CRHumq4vpkXsBZRv8ucNY+e6ECuXseDAsdRvUauaP
         /+dxVOcTW3ymcuuh/q3DlxEajLOHQYyNL2k3tsVjOYoYRHUa07ad494dhPgenlp8ScXd
         1Zdw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761143449; x=1761748249;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=FO5Vw28kFJsFl8Z0Dnz1r+91IPQsD9UzA+H6h+5FFvQ=;
        b=wjoN4PLMwjTMy2Ck8x5phWDFQyeTOvtk26Fy34O4n8ym5aDznJit3TnDhgxOoGEtfs
         VLPKFqzuXsevffKoKD71Nc/r5cOj20kqJ38Ns0+jBjcmiVExuXI13EwxQgT5StQuEE01
         3uTWCWS/+zuxK2xYmV5T0mnn/J5CFuXMuwLV2QeaF8Czn4FdassAAGzww7NYVl5/2jAM
         b8rLqQ1R8a1oZi3RGCm+4JdEof4BqrfqcyxJc78VhvA8HqWDMu4Bi6b81PMzk2I2szlI
         7IBiaXe4hFoDtow2eV+Yd37MfCWtIlNujGsuuZ5FPGtl5YVHWCSw6jolJFtjqoHpijvR
         CQug==
X-Forwarded-Encrypted: i=1; AJvYcCU8ETWgE8cI/U2UMHLivLBq0lUqjLafMP9XGUcm6uzcw+PP3ElT9mmep4uGmmhYYzaH3pKxPCqAKes=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxN49IDKrfJH72F2YEklNJMfgK5w/Cb+Qb0by/w0GqCfA7ANBjC
	3vcfBduqWuBMNFtdB55koi+9VmcAWNljFIapFaUbZfXY3b8tTJDp23INpxSDGzQKHw==
X-Gm-Gg: ASbGncsgTgJ4rbuNNu/uj3RkqkFxzV3vfm8yT2o6/K/v2vHd+pWORpM3m0Tf+MRPe6V
	tivn69F5F++BP2+BoIK+Rmm+nsLSks3HstihRUJihLOZViHhjTN5wGJgPMQ2e6DwGBzTFHz4+AN
	6DmzqSf7wpqXBzJrwMsTW80n0T5dsG0A3GSEDJd3d2Rgva2mfqnxlQSxTp+c/m/+Ph1L8YEwNtw
	c78kKr52Q0Wkc3q1KeLhlj4i+dFHtONeDiKsL5lOajWXgLuP7p8xyo0rg/x2I0XfBcBdkAYO7Bi
	Djp4GZ0KJkISAkaQJ9cfYZbe6g5MI5dfjyx6nbk6HDEOUhg8F2mlMp7kWKiDg8N9NCLbqlwLfci
	6oB8/ZBcJN1VPwK2Su/GrxpTECTUa1Eamz4+S0GxTY7gx1BHVr+Zi/bKwOC9XXLvE0tw9KR/Y/y
	Wt4xD1oPWjrdE+/2P8aB0EVBxoP1tWOkAdmLFHoj3CqnaKTzCY0D6c1Sfhz0Ee
X-Google-Smtp-Source: AGHT+IFIgQKMj5AbJAC82TOrW8kT5snn560+n2wggUqxWeZZMEpThpFRnppnD6eqGTL96fJ/iS3jBA==
X-Received: by 2002:a05:600c:3550:b0:471:14f5:126f with SMTP id 5b1f17b1804b1-471179141cfmr169645745e9.33.1761143449480;
        Wed, 22 Oct 2025 07:30:49 -0700 (PDT)
Message-ID: <a97160d0-bf01-4fa8-8dd8-f94b916e6253@suse.com>
Date: Wed, 22 Oct 2025 16:30:47 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 5/7] xen/pci: initialize BARs
To: Mykyta Poturai <Mykyta_Poturai@epam.com>
Cc: Stewart Hildebrand <stewart.hildebrand@amd.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <cover.1761134829.git.mykyta_poturai@epam.com>
 <0abec6521491db737f2fa061ddc748eb70f259b3.1761134829.git.mykyta_poturai@epam.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <0abec6521491db737f2fa061ddc748eb70f259b3.1761134829.git.mykyta_poturai@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 22.10.2025 15:56, Mykyta Poturai wrote:
> @@ -232,6 +233,21 @@ static int pci_bus_find_domain_nr(struct dt_device_node *dev)
>      return domain;
>  }
>  
> +static int add_bar_range(const struct dt_device_node *dev, uint32_t flags,
> +                         uint64_t addr, uint64_t len, void *data)
> +{
> +    struct pci_host_bridge *bridge = data;
> +
> +    if ( !(flags & IORESOURCE_MEM) )
> +        return 0;
> +
> +    if ( flags & IORESOURCE_PREFETCH )
> +        return rangeset_add_range(bridge->bar_ranges_prefetch, addr,
> +                                  addr + len - 1);
> +    else
> +        return rangeset_add_range(bridge->bar_ranges, addr, addr + len - 1);

Here and everywhere else you use rangesets: This loses significant bits on
Arm32. Iirc the plan was to select HAS_PCI only for Arm64, but that's entirely
invisible here. I think there want to be perhaps multiple BUILD_BUG_ON()s, at
the very least.

> --- a/xen/arch/x86/include/asm/pci.h
> +++ b/xen/arch/x86/include/asm/pci.h
> @@ -76,4 +76,24 @@ int pci_sanitize_bar_memory(struct rangeset *r);
>  
>  void pci_setup(void);
>  
> +/* Unlike ARM, HW domain alyways uses vpci for x86 */
> +static inline bool hwdom_uses_vpci(void)
> +{
> +    return true;
> +}

What the comment says is not true. It is true for PVH Dom0. The sole use
of the predicate therefore is questionable, too.

> +static inline uint64_t pci_get_new_bar_addr(const struct pci_dev *pdev,
> +                                            uint64_t size, bool is_64bit,
> +                                            bool prefetch)
> +{
> +    return 0;
> +}
> +
> +static inline int pci_reserve_bar_range(const struct pci_dev *pdev,
> +                                        uint64_t addr, uint64_t size,
> +                                        bool prefetch)
> +{
> +    return 0;
> +}

Neither here nor elsewhere is any word said on what these do, what a
"new BAR range" is, or what "reserving" would mean.

> --- a/xen/common/rangeset.c
> +++ b/xen/common/rangeset.c
> @@ -357,6 +357,41 @@ int rangeset_claim_range(struct rangeset *r, unsigned long size,
>      return 0;
>  }
>  
> +int rangeset_find_aligned_range(struct rangeset *r, unsigned long size,
> +                                unsigned long min, unsigned long *s)
> +{
> +    struct range *x;
> +
> +    /* Power of 2 check */
> +    if ( (size & (size - 1)) != 0 )
> +    {
> +        *s = 0;
> +        return -EINVAL;
> +    }
> +
> +    read_lock(&r->lock);
> +
> +    for ( x = first_range(r); x; x = next_range(r, x) )
> +    {
> +        /* Assumes size is a power of 2 */
> +        unsigned long start_aligned = (x->s + size - 1) & ~(size - 1);
> +
> +        if ( x->e > start_aligned &&
> +             (x->e - start_aligned) >= size &&
> +             start_aligned >= min )
> +        {
> +            read_unlock(&r->lock);

With this and ...

> +            *s = start_aligned;
> +            return 0;
> +        }
> +    }
> +
> +    read_unlock(&r->lock);

... this, how can the caller be sure the result they receive is not stale by
the time they get to look at and use it?

> --- a/xen/drivers/passthrough/pci.c
> +++ b/xen/drivers/passthrough/pci.c
> @@ -1172,6 +1172,80 @@ int __init scan_pci_devices(void)
>      return ret;
>  }
>  
> +static void __init cf_check reserve_bar_range(struct pci_dev *pdev, uint8_t reg,
> +                                              uint64_t addr, uint64_t size,
> +                                              bool is_64bit, bool prefetch)
> +{
> +    if ( pci_check_bar(pdev, maddr_to_mfn(addr),
> +                       maddr_to_mfn(addr + size - 1)) )
> +        pci_reserve_bar_range(pdev, addr, size, prefetch);
> +}
> +
> +static void __init cf_check get_new_bar_addr(struct pci_dev *pdev, uint8_t reg,
> +                                             uint64_t addr, uint64_t size,
> +                                             bool is_64bit, bool prefetch)
> +{
> +    if ( !pci_check_bar(pdev, maddr_to_mfn(addr),
> +                        maddr_to_mfn(addr + size - 1)) )
> +    {
> +        uint16_t cmd = pci_conf_read16(pdev->sbdf, PCI_COMMAND);
> +
> +        addr = pci_get_new_bar_addr(pdev, size, is_64bit, prefetch);
> +
> +        pci_conf_write16(pdev->sbdf, PCI_COMMAND,
> +                         cmd & ~(PCI_COMMAND_MEMORY | PCI_COMMAND_IO));
> +
> +        pci_conf_write32(pdev->sbdf, reg,
> +                         (addr & GENMASK(31, 0)) |
> +                         (is_64bit ? PCI_BASE_ADDRESS_MEM_TYPE_64 : 0));
> +
> +        if ( is_64bit )
> +            pci_conf_write32(pdev->sbdf, reg + 4, addr >> 32);
> +
> +        pci_conf_write16(pdev->sbdf, PCI_COMMAND, cmd);
> +    }
> +}
> +
> +static int __init cf_check bars_iterate(struct pci_seg *pseg, void *arg)
> +{
> +    struct pci_dev *pdev;
> +    unsigned int i, ret, num_bars = PCI_HEADER_NORMAL_NR_BARS;
> +    uint64_t addr, size;
> +    void (*cb)(struct pci_dev *, uint8_t, uint64_t, uint64_t, bool, bool) = arg;

There needs to be some build-time checking that this and the two callbacks
above actually match in type. Likely by way of using a function typedef.

> --- a/xen/include/xen/rangeset.h
> +++ b/xen/include/xen/rangeset.h
> @@ -56,11 +56,15 @@ void rangeset_limit(
>  bool __must_check rangeset_is_empty(
>      const struct rangeset *r);
>  
> -/* Add/claim/remove/query/purge a numeric range. */
> +/* Add/claim/find/remove/query/purge a numeric range. */
>  int __must_check rangeset_add_range(
>      struct rangeset *r, unsigned long s, unsigned long e);
>  int __must_check rangeset_claim_range(struct rangeset *r, unsigned long size,
>                                        unsigned long *s);
> +int __must_check rangeset_find_aligned_range(struct rangeset *r,
> +                                             unsigned long size,
> +                                             unsigned long min,
> +                                             unsigned long *s);

>From these parameter names I'm unable to tell what the "aligned" part of
the name is referring to. IOW it may be necessary to have an accompanying
comment.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Oct 22 14:44:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Oct 2025 14:44:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148272.1480397 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBa4p-0004IT-A6; Wed, 22 Oct 2025 14:44:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148272.1480397; Wed, 22 Oct 2025 14:44:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBa4p-0004IM-7A; Wed, 22 Oct 2025 14:44:35 +0000
Received: by outflank-mailman (input) for mailman id 1148272;
 Wed, 22 Oct 2025 14:44:34 +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 <SRS0=pHug=47=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vBa4o-0004IG-LO
 for xen-devel@lists.xenproject.org; Wed, 22 Oct 2025 14:44:34 +0000
Received: from mail-wr1-x435.google.com (mail-wr1-x435.google.com
 [2a00:1450:4864:20::435])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9f810b19-af55-11f0-9d15-b5c5bf9af7f9;
 Wed, 22 Oct 2025 16:44:33 +0200 (CEST)
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-426ff694c1fso1929026f8f.2
 for <xen-devel@lists.xenproject.org>; Wed, 22 Oct 2025 07:44:33 -0700 (PDT)
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-427e1be5d6csm25276014f8f.0.2025.10.22.07.44.31
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 22 Oct 2025 07:44:32 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9f810b19-af55-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761144272; x=1761749072; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=XuOnv6FJfcaIwZA6lb2WBt2EPovowxb58J9EXwF7wp0=;
        b=dO9Vf2Zrpqk3tjzIJqMrRoXPEpo+gbNqzq2ZnVjyOd8NmG/1QyZE5z3nmUZ2Li1Dxa
         1uYXWWd/67Ot7DLEYJnzBpbNZUX6ATJ6xA8YMixB3kB2ukCnbxizqLAj4Z+7GZ3Ie/bO
         q3/arcWWphT0bXFE2ZhC7lMlT20JIZg8AlAHvndIoTBKBH3EZpSJNGRkQYgbRf6YyyRS
         OkAIcJB/mTP0vFGJcdbHJjdmu9JpjKtfyYcD/SReLZmaaTiWlsMXagkE7zC89MB2q7RT
         /e7yTn5Rl8VS1QV2odU1ldxk6yhA5GWVCXfOz/Fq8LrbPIJyaTsuVdF5fxi3cxakDQuq
         R+dQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761144272; x=1761749072;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=XuOnv6FJfcaIwZA6lb2WBt2EPovowxb58J9EXwF7wp0=;
        b=fGOe9uPDxFp+X2j7q4y55R1oWw1LkRdHDeIA5oXYtUtnSycJfBLu8OwpQH+HY7qnhZ
         rdIYeNsMZ3W0gQgtgu7W/XuaRfoAkOuayAfjc/28rPmKuBE1g4AfEya37NUP/qDML/RX
         SVr5UPTbR677TyA5k+6nKy9GJEroXEgQgcJs0sGUeBj8lU2QcLPX00GeZBnUwf/sfbsp
         3+EiU0h3ZsTY9QdCyK8FsNF1IRQ7XsuFaBvblQ4XlNzYvmpqpdOfZiiZ8H7hsfaEu4k6
         GosLxHOYCYgS7TVEijzYUPg8Bc1gOQICiFUaFVfpRIyNldniRGepxoEYNXq+HKwCGdnv
         bK1A==
X-Forwarded-Encrypted: i=1; AJvYcCW9GPHo2d+EAnTGgFkaOf6yITyfZwbSh9KxeeJKp/+8siPF4809fRWdxGq/FXn/u85p3sv8bdBEqq4=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxi6HAnn+r+oOpnMS6hTCbbFWJDy+NYv3D165rw6+STLFSTb1RS
	y92ZhEqjKV4HVVjJCQlFmxPJDCvqz6Ajc7G9eVgi26J2fxs2pAuGrOEOABz2mrqEKA==
X-Gm-Gg: ASbGnctzVqIW1c251djQfePphC8SG30/w+f2qrO/ESVDMdK23DIFMm5cf5tVGwvB/il
	efuy/1yOjX8nqWDsLTf5m5L5CdZAeoujJSVxwJG29399cZk5iDBOQwSaZZIb8rSBW+0UHAN7If6
	N8DP4dAFf93LnxOmFcy/5Kj4G77g4s0p+IEhI4ZYTEbvcF7vncxtax4P/3QNdrORKY+lRtx4HGq
	I88wRl1P/G+fs+m6cmyTu2qf4gl33NNKIIKcUlc3uNtGyKSapfDqyVPIWlYO6fqr+J9Dc4ebwvx
	na1HnymqzGjlK8bt3ZdtoV+tbQ3NWmNM0bFYTwCp0pEsk6Dt/X0foI1ydVT4dqgb1WgVbp5P2RO
	q2mXNrpRQj1nU3sv49AjL92S87WHkwCPDERd7Whzh8kFakvIJBj0EELkM9Ohik73qpuDswkdI7c
	QteYPZ9GxncgQNjCdxxCnfEpgc24qPI7xx7+JJfGIk/nUIoQ/RWUvJg08S229J
X-Google-Smtp-Source: AGHT+IHCXbhQ2xZsVADmxs3/KRH2S/eKL+lxeus1nnT22jdVwiw0PEHsLYzMbn3HICFw5ESCQXgkmw==
X-Received: by 2002:a5d:5f82:0:b0:40f:288e:9968 with SMTP id ffacd0b85a97d-42704db9eb7mr14016299f8f.51.1761144272573;
        Wed, 22 Oct 2025 07:44:32 -0700 (PDT)
Message-ID: <e65f29f9-6005-42c1-9b66-706d8fa59796@suse.com>
Date: Wed, 22 Oct 2025 16:44:30 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 6/7] xen/pci: assign discovered devices to hwdom
To: Mykyta Poturai <Mykyta_Poturai@epam.com>
Cc: Luca Fancellu <luca.fancellu@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stewart Hildebrand <stewart.hildebrand@amd.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <cover.1761134829.git.mykyta_poturai@epam.com>
 <78c0e358bd15266b029b3b6d0d71b142ea7d84bb.1761134829.git.mykyta_poturai@epam.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <78c0e358bd15266b029b3b6d0d71b142ea7d84bb.1761134829.git.mykyta_poturai@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 22.10.2025 15:56, Mykyta Poturai wrote:
> From: Luca Fancellu <luca.fancellu@arm.com>
> 
> Hook up existing PCI setup routines for hwdom into Arm iommu
> initialization sequence, only assign endpoint devices.
> 
> During scanned PCI device assignment, also permit access to the BAR
> ranges if hwdom is using vpci and hide host bridges from domains that
> use the fully emulated one.
> 
> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
> Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>

From: and first S-o-b don't match, which either is wrong or needs an explanation.

> @@ -1255,7 +1262,7 @@ static void __hwdom_init setup_one_hwdom_device(const struct setup_hwdom *ctxt,
>                                                  struct pci_dev *pdev)
>  {
>      u8 devfn = pdev->devfn;
> -    int err;
> +    int err, i, rc;

I doubt i wants to be signed, and as per its use below rc also wants to be
unsigned. rc (generally standing for "return code") also may be a misleading
name for the variable. Elsewhere we use "ret".

> @@ -1276,6 +1283,34 @@ static void __hwdom_init setup_one_hwdom_device(const struct setup_hwdom *ctxt,
>      if ( err )
>          printk(XENLOG_ERR "setup of vPCI for d%d failed: %d\n",
>                 ctxt->d->domain_id, err);
> +
> +    if ( !has_vpci_bridge(hardware_domain) )
> +        return;

This (and the other one further down) is odd to see, as it'll expand to
!is_hardware_domain(hardware_domain) (with, for Arm, some 2nd check, yes).

> +    for ( i = 0; i < PCI_HEADER_NORMAL_NR_BARS; i += rc )

What about the ROM BAR?

> +    {
> +        uint64_t addr, size;
> +        uint8_t reg = PCI_BASE_ADDRESS_0 + i * 4;
> +
> +        if ( (pci_conf_read32(pdev->sbdf, reg) & PCI_BASE_ADDRESS_SPACE)
> +             == PCI_BASE_ADDRESS_SPACE_IO )
> +        {
> +            rc = 1;
> +            continue;
> +        }
> +
> +        rc = pci_size_mem_bar(pdev->sbdf, reg, &addr, &size,
> +                              (i == PCI_HEADER_NORMAL_NR_BARS - 1)
> +                                  ? PCI_BAR_LAST : 0);

Nit: Indentation.

> +        if ( !size )
> +            continue;
> +
> +        err = iomem_permit_access(hardware_domain, paddr_to_pfn(addr),
> +                             paddr_to_pfn(PAGE_ALIGN(addr + size - 1)));

Again.

Also this one may read better when you use PFN_DOWN() and PFN_UP(). Of course
I wonder what the result would be if there were non-page-aligned, multiple-of-
page-size BARs.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Oct 22 14:48:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Oct 2025 14:48:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148284.1480407 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBa8r-00052C-SU; Wed, 22 Oct 2025 14:48:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148284.1480407; Wed, 22 Oct 2025 14:48:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBa8r-000525-PZ; Wed, 22 Oct 2025 14:48:45 +0000
Received: by outflank-mailman (input) for mailman id 1148284;
 Wed, 22 Oct 2025 14:48:44 +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
 <SRS0=ZjTz=47=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1vBa8q-00051Z-KX
 for xen-devel@lists.xenproject.org; Wed, 22 Oct 2025 14:48:44 +0000
Received: from mail-ej1-x635.google.com (mail-ej1-x635.google.com
 [2a00:1450:4864:20::635])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 329c126e-af56-11f0-980a-7dc792cee155;
 Wed, 22 Oct 2025 16:48:40 +0200 (CEST)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-b3dbf11fa9eso1332082966b.0
 for <xen-devel@lists.xenproject.org>; Wed, 22 Oct 2025 07:48:40 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-146-38.play-internet.pl.
 [109.243.146.38]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-b6d36b0eba4sm152096566b.47.2025.10.22.07.48.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 22 Oct 2025 07:48:38 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 329c126e-af56-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1761144519; x=1761749319; darn=lists.xenproject.org;
        h=subject:from:cc:to:content-language:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=RysLH4Z6/v7Zc7nVBXq2y7fwG9r6bT2HCxe4AkVI1YI=;
        b=X/q4x4EOQiJqv05Xzxi+Ve8NH4lVQgLMBt8nlfiRccHVS7IcoV7OdRylrQkTchGCIg
         WDxVO/HrrzBuTjb7zhXLs9xOVTgECvV1QG77w4vEbfq45andauO0r1wmFKSvOtgzSnjQ
         dEl4KllrsVC316ShchF0s1TXjvbzbrXXkmYIo+RonjD4K4iNGchIA/RjTF4cMYmeynvd
         c+yN0YDvulc2VTeFuhohxQxk4yf9LdFu/dO426oINysUEiOgRKQ3fCBTkYfxc9mDBZtb
         wwuEmwYGtvfQf2aEhRi3CJfqC4ELlPADbVHzMEZbgI7/HB77Uu+v99EYa7kUPOyMYErE
         s35Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761144519; x=1761749319;
        h=subject:from:cc:to:content-language:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=RysLH4Z6/v7Zc7nVBXq2y7fwG9r6bT2HCxe4AkVI1YI=;
        b=fQBk6QvyHNThxyNttoWCuzIUsnlPBLcrk3OAeM/WCjuKitrkViUd6Q9Gt1sL1oIwSZ
         5cW+GwZyuuM9ww58k/YTBHBmbflyf00jI4VwgDm/LPMu6WfuqwMpbUNwfqmp44seMP08
         RHOLG40SUY9B1TfJoSgRMJwIoSxA+1J9s7b2s2ANr8Vff+9SMkoEpQ9+004W/oiigcri
         ZBB7GoChmzhGdpKDIJhye+eRcg1mHkeHP+yz5+OOZFFKrMJpc1tqWRnLWqO8VRpUei1b
         eSIW0TbUC5Ga12jWALsIBZmKfpNipxrlbifqeAzJ5yK5MMH+llMQ9jbO3OwQx2aZOM00
         b9YQ==
X-Gm-Message-State: AOJu0Yxh4rNolnRuRzFih9rxrFbBKdeP7VdbPxKcf1sxJ6jvPTof5ZWK
	ynQFK9sU4xHoLjHezidzgbnBG6m9/KnzUaTeX5El3UWS8jf7YPQzb8r+4Ij/Ag==
X-Gm-Gg: ASbGnct4mRjn3qhEcgzPCh8+/JoOhTCkktyzRfcifN598rkF+vE6wP1LVbGX/Nn7CLQ
	E8xXll83oj7BYl1HnY8YuI9yx5DWEJzT+9zK8TZ5QDXHbL8UnErZKjys3RmYP5H0FdJet0lZbiK
	gjAQ3/M2oU8yfYZAeVzwcGhFEAanrptUpwAjRwNNzZBVXjyRjmAscOKhtdboEPOP1Fis3YYQJw0
	Fy32BX0tGOLMKYzPjHTgAfVor5eJTqUJeehJ17goAF33a4khXmOi5dU72+0DBUvOrCBXjCjGraC
	HoxeWaCxf27adNB8KF68DndFrBhmWyrUTYbzS8WESlgD9OoU+5XVPRfGm/Pjtkit/Xe9PcveLH/
	ZbqtmGBJrHBRvZU+Zf2I5wBAylEXKnjV/tdY1YmwUTAN/H3ujrscEZuBTfGaGBN2hP27gS/nm4/
	oPiyW+tSQRmVIyZCpdEnv6DOJjd7ywXZb7+6HLILUOSnGYD7Hrsy1rnQMS
X-Google-Smtp-Source: AGHT+IHeFtW+4R8CQlGr5XX/R95uUw1wMnDxOuiAiKXvRtGrjMENC96vZsZBfQ7k+xUZZCBV7IIpVw==
X-Received: by 2002:a17:906:fd87:b0:b07:c5b1:b129 with SMTP id a640c23a62f3a-b647195b8c3mr2686811266b.1.1761144519101;
        Wed, 22 Oct 2025 07:48:39 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------QYI6grCkYridlXYS03aYmntk"
Message-ID: <e8788d97-70c4-4f95-ad1d-05d5e27df3f9@gmail.com>
Date: Wed, 22 Oct 2025 16:48:37 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: xen-users@lists.xenproject.org, xen-announce@lists.xenproject.org,
 Community Manager <community.manager@xenproject.org>,
 "committers@xenproject.org" <committers@xenproject.org>
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [ANNOUNCEMENT] Xen 4.21.0-rc2 is tagged

This is a multi-part message in MIME format.
--------------QYI6grCkYridlXYS03aYmntk
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hello everyone,

Xen 4.21 rc2 is tagged. You can check that out from xen.git: 
git://xenbits.xen.org/xen.git 4.21.0-rc2

For your convenience there is also a tarball and the signature at:
   https://downloads.xenproject.org/release/xen/4.21.0-rc2/xen-4.21.0-rc2.tar.gz

And the signature is at:
   https://downloads.xenproject.org/release/xen/4.21.0-rc2/xen-4.21.0-rc2.tar.gz.sig

Have a nice week!

~ Oleksii



--------------QYI6grCkYridlXYS03aYmntk
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit

<!DOCTYPE html>
<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <div class="moz-text-html" lang="x-unicode">
      <pre id="b"
style="font-size: 13px; font-family: monospace; background: rgb(255, 255, 255); white-space: pre-wrap; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">Hello everyone,

<span class="q"
style="font-size: 13px; font-family: monospace; background: rgb(255, 255, 255);">Xen 4.21 rc2 is tagged. You can check that out from xen.git:
</span><span class="q"
style="font-size: 13px; font-family: monospace; background: rgb(255, 255, 255);">  git://xenbits.xen.org/xen.git 4.21.0-rc2</span>

For your convenience there is also a tarball and the signature at:
  <a class="moz-txt-link-freetext" href="https://downloads.xenproject.org/release/xen/4.21.0-rc2/xen-4.21.0-rc2.tar.gz">https://downloads.xenproject.org/release/xen/4.21.0-rc2/xen-4.21.0-rc2.tar.gz</a>

And the signature is at:
  <a class="moz-txt-link-freetext" href="https://downloads.xenproject.org/release/xen/4.21.0-rc2/xen-4.21.0-rc2.tar.gz.sig">https://downloads.xenproject.org/release/xen/4.21.0-rc2/xen-4.21.0-rc2.tar.gz.sig</a>

Have a nice week!

~ Oleksii</pre>
      <p><br>
      </p>
    </div>
    <p><br>
    </p>
  </body>
</html>

--------------QYI6grCkYridlXYS03aYmntk--


From xen-devel-bounces@lists.xenproject.org Wed Oct 22 15:13:44 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Oct 2025 15:13:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148355.1480432 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBaWq-0001lb-42; Wed, 22 Oct 2025 15:13:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148355.1480432; Wed, 22 Oct 2025 15:13:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBaWq-0001lU-1G; Wed, 22 Oct 2025 15:13:32 +0000
Received: by outflank-mailman (input) for mailman id 1148355;
 Wed, 22 Oct 2025 15:13:30 +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 <SRS0=pHug=47=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vBaWo-0001l5-Kh
 for xen-devel@lists.xenproject.org; Wed, 22 Oct 2025 15:13:30 +0000
Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com
 [2a00:1450:4864:20::32b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a9fbef69-af59-11f0-9d15-b5c5bf9af7f9;
 Wed, 22 Oct 2025 17:13:29 +0200 (CEST)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-471193a9d9eso64620655e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 22 Oct 2025 08:13:28 -0700 (PDT)
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-475c41ca845sm49705055e9.0.2025.10.22.08.13.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 22 Oct 2025 08:13:27 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a9fbef69-af59-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761146008; x=1761750808; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=4S9B7yZSb7jJT+Z2y/p20PLFfa4EKggtE6jUb14D6HM=;
        b=GhMBQbTxRXG5zZ83FcZBls22qe2SulzdMBC1/N7o7/DP8qmEcC2O+dMYE30qQY+wth
         TPB7j4Gza2rbufnk333gvnq1V9Vyuui/5Zu0OeZ3H1Zft6mxEEYHwRIm+2aPIMySMsmh
         zNzuBR8NEjpuJ+tSKQEbw1BQ2Ql+lZr2qcjI+ip7n3pBK8wi0W6wutdn2R3cxBFUquf+
         /cglQL/DJ0tSWy5O6Fd531UoKjcyYZc/TgKzzjLqhW98/G4crb8esTaxXHxc+Puok05K
         cChx4fvA2XklTlf5ftuy0EDxBW5+IZdC9+i5yy47DxZ0Klu3hiXLTGSd/4Yi6PcMGPJ+
         t1RA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761146008; x=1761750808;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=4S9B7yZSb7jJT+Z2y/p20PLFfa4EKggtE6jUb14D6HM=;
        b=suUcfWInx/aMkVEpRv5Oiy3Gn9g61/ARnXmKH/HcWsB0yN0I25u3JmqtfP5kztMpiE
         5zJ9t2If8/PToT1NLHQZXk+arWUzPj2GkUkeM+/ixetm69A7QmUCV93OekU5b5Od6Avj
         E1jPNF4OCONINFk7965AaiKZKc/ScWFxTPcUQaqQyE1SAgxQN+JF35Ow86XLEOrKwmCw
         HO2Kd9z0hMkz0ILtJfp4DDodSDvB0Ly83t0jBIGq4TbYC7lj5dFBxJ8NpyjtmBmlwU7u
         pX5w4Ga0HGqx6iOFO+fsOy8/wo/3+VWaNHMt4DmH4r5qJudR/9F4vQOVinfrTnWE/Qc7
         PheQ==
X-Forwarded-Encrypted: i=1; AJvYcCURj6Yu/kYWTM7JZFKm0mSlEIhj6depDzti4TVk/B1U3gwskqdoVl3W77MCG3rHjRAcr9N4O8g2NEo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyfDDTO9JHtCAtB7mPAefYl6U/O9+ov31RrwSu4sSwRBtAtxw2/
	g1wgFAJuJcF8mX82WAnhcke15ks+LnDnw12kS4UwY/HRvn6KbfuOgYOcj8pkb1lo0A==
X-Gm-Gg: ASbGncuoX/rI5IpupD78U61TL5nvLilYMOPAv/MfggrNMoQM8kNrLi5XdEsEfxeKyg0
	EFXSDfVg/m3aFyC//mtLYLwpASoDYSn4ZeTwYAComTvyxhu4dbJ6MuznS92mbh7QgDP7O7z71Ij
	qqFqsPI1Nf9ov5Sb2KSFsl9bnaMAagI5qccQTiLZBuxsvnzy8OvtHUG1yNIT1OrNirOH9xUg/wc
	tL04fXjnibB2XGtn0HRQ2nAjG7xN4s7x2gBTFHLMASa3AOe5tjQXkZZUJN7rbU4JX19GeUEiBz7
	vydb5QVucdnl/lz+xjf+P7cmTfkpUJIPHIBCWBgbghUr2xqVjjhu+zPkIkf+4z2UyMCjz1E50Br
	FCe4o9M/cfj8VJ1gYl0UxVuCM/PYqKxVFf4M2ph37tNSStOZlocTYRCTdBZHMN1/REisJlIVnTW
	vbh/WLihiDjh5cyip7x0IY3xi12rv2QLsqbf13InoaDwk/JhdXOKMpfyIDMIjm
X-Google-Smtp-Source: AGHT+IGIFHkvYqHnI5cR2qi3XNXPuKOsQg2mUMYNtGumOOchd7GSyaWJn7sNvPt+D8WsfR5+BoOzzQ==
X-Received: by 2002:a05:600c:1d9c:b0:45f:2cb5:ecff with SMTP id 5b1f17b1804b1-47117917babmr170563505e9.31.1761146008020;
        Wed, 22 Oct 2025 08:13:28 -0700 (PDT)
Message-ID: <91835e2e-cf59-484e-9583-f0c07513cfc1@suse.com>
Date: Wed, 22 Oct 2025 17:13:26 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 11/22] x86/tpm.c: support extending PCRs of TPM2.0
To: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Ross Philipson <ross.philipson@oracle.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 trenchboot-devel@googlegroups.com, xen-devel@lists.xenproject.org
References: <cover.1748611041.git.sergii.dmytruk@3mdeb.com>
 <dae740e8eef63af59993791d27ce490095f7cca8.1748611041.git.sergii.dmytruk@3mdeb.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <dae740e8eef63af59993791d27ce490095f7cca8.1748611041.git.sergii.dmytruk@3mdeb.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 30.05.2025 15:17, Sergii Dmytruk wrote:
> @@ -146,14 +156,15 @@ static inline bool is_tpm12(void)
>              (tis_read32(TPM_STS_(0)) & TPM_FAMILY_MASK) == 0);
>  }
>  
> -/****************************** TPM1.2 specific *******************************/
> -#define TPM_ORD_Extend              0x00000014
> -#define TPM_ORD_SHA1Start           0x000000A0
> -#define TPM_ORD_SHA1Update          0x000000A1
> -#define TPM_ORD_SHA1CompleteExtend  0x000000A3
> +/****************************** TPM1.2 & TPM2.0 *******************************/
>  
> -#define TPM_TAG_RQU_COMMAND         0x00C1
> -#define TPM_TAG_RSP_COMMAND         0x00C4
> +/*
> + * TPM1.2 is required to support commands of up to 1101 bytes, vendors rarely
> + * go above that. Limit maximum size of block of data to be hashed to 1024.
> + *
> + * TPM2.0 should support hashing of at least 1024 bytes.
> + */
> +#define MAX_HASH_BLOCK      1024
>  
>  /* All fields of following structs are big endian. */
>  struct tpm_cmd_hdr {
> @@ -168,6 +179,17 @@ struct tpm_rsp_hdr {
>      uint32_t    returnCode;
>  } __packed;
>  
> +/****************************** TPM1.2 specific *******************************/
> +
> +#define TPM_ORD_Extend              0x00000014
> +#define TPM_ORD_SHA1Start           0x000000A0
> +#define TPM_ORD_SHA1Update          0x000000A1
> +#define TPM_ORD_SHA1CompleteExtend  0x000000A3
> +
> +#define TPM_TAG_RQU_COMMAND         0x00C1
> +#define TPM_TAG_RSP_COMMAND         0x00C4
> +
> +/* All fields of following structs are big endian. */
>  struct extend_cmd {
>      struct tpm_cmd_hdr h;
>      uint32_t pcrNum;

Can the previous patch please put these right in their final resting place?

> @@ -233,11 +255,6 @@ struct txt_ev_log_container_12 {
>  };
>  
>  #ifdef __EARLY_SLAUNCH__
> -/*
> - * TPM1.2 is required to support commands of up to 1101 bytes, vendors rarely
> - * go above that. Limit maximum size of block of data to be hashed to 1024.
> - */
> -#define MAX_HASH_BLOCK      1024
>  #define CMD_RSP_BUF_SIZE    (sizeof(struct sha1_update_cmd) + MAX_HASH_BLOCK)
>  
>  union cmd_rsp {
> @@ -393,6 +410,400 @@ static void *create_log_event12(struct txt_ev_log_container_12 *evt_log,
>  
>  /************************** end of TPM1.2 specific ****************************/
>  
> +/****************************** TPM2.0 specific *******************************/
> +
> +/*
> + * These constants are for TPM2.0 but don't have a distinct prefix to match
> + * names in the specification.
> + */
> +
> +#define TPM_HT_PCR   0x00
> +
> +#define TPM_RH_NULL  0x40000007
> +#define TPM_RS_PW    0x40000009
> +
> +#define HR_SHIFT     24
> +#define HR_PCR       (TPM_HT_PCR << HR_SHIFT)
> +
> +#define TPM_ST_NO_SESSIONS  0x8001
> +#define TPM_ST_SESSIONS     0x8002
> +
> +#define TPM_ALG_SHA1        0x0004
> +#define TPM_ALG_SHA256      0x000b
> +#define TPM_ALG_NULL        0x0010
> +
> +#define TPM2_PCR_Extend                 0x00000182
> +#define TPM2_PCR_HashSequenceStart      0x00000186
> +#define TPM2_PCR_SequenceUpdate         0x0000015C
> +#define TPM2_PCR_EventSequenceComplete  0x00000185
> +
> +#define PUT_BYTES(p, bytes, size)  do {  \
> +        memcpy((p), (bytes), (size));    \

Preferably without the excess parentheses, much like you have it ...

> +        (p) += (size);                   \
> +    } while ( 0 )
> +
> +#define PUT_16BIT(p, data) do {          \
> +        *(uint16_t *)(p) = swap16(data); \

... e.g. in the function call here.

> +        (p) += 2;                        \
> +    } while ( 0 )
> +
> +/* All fields of following structs are big endian. */
> +struct tpm2_session_header {
> +    uint32_t handle;
> +    uint16_t nonceSize;
> +    uint8_t nonce[0];
> +    uint8_t attrs;
> +    uint16_t hmacSize;
> +    uint8_t hmac[0];
> +} __packed;
> +
> +struct tpm2_extend_cmd {
> +    struct tpm_cmd_hdr h;
> +    uint32_t pcrHandle;
> +    uint32_t sessionHdrSize;
> +    struct tpm2_session_header pcrSession;
> +    uint32_t hashCount;
> +    uint8_t hashes[0];
> +} __packed;
> +
> +struct tpm2_extend_rsp {
> +    struct tpm_rsp_hdr h;
> +} __packed;
> +
> +struct tpm2_sequence_start_cmd {
> +    struct tpm_cmd_hdr h;
> +    uint16_t hmacSize;
> +    uint8_t hmac[0];
> +    uint16_t hashAlg;
> +} __packed;
> +
> +struct tpm2_sequence_start_rsp {
> +    struct tpm_rsp_hdr h;
> +    uint32_t sequenceHandle;
> +} __packed;
> +
> +struct tpm2_sequence_update_cmd {
> +    struct tpm_cmd_hdr h;
> +    uint32_t sequenceHandle;
> +    uint32_t sessionHdrSize;
> +    struct tpm2_session_header session;
> +    uint16_t dataSize;
> +    uint8_t data[0];
> +} __packed;
> +
> +struct tpm2_sequence_update_rsp {
> +    struct tpm_rsp_hdr h;
> +} __packed;
> +
> +struct tpm2_sequence_complete_cmd {
> +    struct tpm_cmd_hdr h;
> +    uint32_t pcrHandle;
> +    uint32_t sequenceHandle;
> +    uint32_t sessionHdrSize;
> +    struct tpm2_session_header pcrSession;
> +    struct tpm2_session_header sequenceSession;
> +    uint16_t dataSize;
> +    uint8_t data[0];
> +} __packed;
> +
> +struct tpm2_sequence_complete_rsp {
> +    struct tpm_rsp_hdr h;
> +    uint32_t paramSize;
> +    uint32_t hashCount;
> +    uint8_t hashes[0];
> +    /*
> +     * Each hash is represented as:
> +     * struct {
> +     *     uint16_t hashAlg;
> +     *     uint8_t hash[size of hashAlg];
> +     * };
> +     */
> +} __packed;
> +
> +/*
> + * These two structure are for convenience, they don't correspond to anything in
> + * any spec.
> + */
> +struct tpm2_log_hash {
> +    uint16_t alg;  /* TPM_ALG_* */
> +    uint16_t size;
> +    uint8_t *data; /* Non-owning reference to a buffer inside log entry. */
> +};
> +/* Should be more than enough for now and awhile in the future. */
> +#define MAX_HASH_COUNT 8
> +struct tpm2_log_hashes {
> +    uint32_t count;
> +    struct tpm2_log_hash hashes[MAX_HASH_COUNT];
> +};
> +
> +#ifdef __EARLY_SLAUNCH__
> +
> +union tpm2_cmd_rsp {
> +    uint8_t b[sizeof(struct tpm2_sequence_update_cmd) + MAX_HASH_BLOCK];
> +    struct tpm_cmd_hdr c;
> +    struct tpm_rsp_hdr r;
> +    struct tpm2_sequence_start_cmd start_c;
> +    struct tpm2_sequence_start_rsp start_r;
> +    struct tpm2_sequence_update_cmd update_c;
> +    struct tpm2_sequence_update_rsp update_r;
> +    struct tpm2_sequence_complete_cmd finish_c;
> +    struct tpm2_sequence_complete_rsp finish_r;
> +};
> +
> +static uint32_t tpm2_hash_extend(unsigned loc, const uint8_t *buf,
> +                                 unsigned size, unsigned pcr,
> +                                 struct tpm2_log_hashes *log_hashes)
> +{
> +    uint32_t seq_handle;
> +    unsigned max_bytes = MAX_HASH_BLOCK;
> +
> +    union tpm2_cmd_rsp cmd_rsp;
> +    unsigned o_size;
> +    unsigned i;
> +    uint8_t *p;
> +    uint32_t rc;
> +
> +    cmd_rsp.start_c = (struct tpm2_sequence_start_cmd) {
> +        .h.tag = swap16(TPM_ST_NO_SESSIONS),
> +        .h.paramSize = swap32(sizeof(cmd_rsp.start_c)),
> +        .h.ordinal = swap32(TPM2_PCR_HashSequenceStart),
> +        .hashAlg = swap16(TPM_ALG_NULL), /* Compute all supported hashes. */
> +    };
> +
> +    request_locality(loc);
> +
> +    o_size = sizeof(cmd_rsp);
> +    send_cmd(loc, cmd_rsp.b, swap32(cmd_rsp.c.paramSize), &o_size);
> +
> +    if ( cmd_rsp.r.tag == swap16(TPM_ST_NO_SESSIONS) &&
> +         cmd_rsp.r.paramSize == swap32(10) )
> +    {
> +        rc = swap32(cmd_rsp.r.returnCode);
> +        if ( rc != 0 )
> +            goto error;
> +    }
> +
> +    seq_handle = swap32(cmd_rsp.start_r.sequenceHandle);
> +
> +    while ( size > 64 )
> +    {
> +        if ( size < max_bytes )
> +            max_bytes = size & ~(64 - 1);
> +
> +        cmd_rsp.update_c = (struct tpm2_sequence_update_cmd) {
> +            .h.tag = swap16(TPM_ST_SESSIONS),
> +            .h.paramSize = swap32(sizeof(cmd_rsp.update_c) + max_bytes),
> +            .h.ordinal = swap32(TPM2_PCR_SequenceUpdate),
> +            .sequenceHandle = swap32(seq_handle),
> +            .sessionHdrSize = swap32(sizeof(struct tpm2_session_header)),
> +            .session.handle = swap32(TPM_RS_PW),
> +            .dataSize = swap16(max_bytes),
> +        };
> +
> +        memcpy(cmd_rsp.update_c.data, buf, max_bytes);
> +
> +        o_size = sizeof(cmd_rsp);
> +        send_cmd(loc, cmd_rsp.b, swap32(cmd_rsp.c.paramSize), &o_size);
> +
> +        if ( cmd_rsp.r.tag == swap16(TPM_ST_NO_SESSIONS) &&
> +             cmd_rsp.r.paramSize == swap32(10) )
> +        {
> +            rc = swap32(cmd_rsp.r.returnCode);
> +            if ( rc != 0 )
> +                goto error;
> +        }
> +
> +        size -= max_bytes;
> +        buf += max_bytes;
> +    }
> +
> +    cmd_rsp.finish_c = (struct tpm2_sequence_complete_cmd) {
> +        .h.tag = swap16(TPM_ST_SESSIONS),
> +        .h.paramSize = swap32(sizeof(cmd_rsp.finish_c) + size),
> +        .h.ordinal = swap32(TPM2_PCR_EventSequenceComplete),
> +        .pcrHandle = swap32(HR_PCR + pcr),
> +        .sequenceHandle = swap32(seq_handle),
> +        .sessionHdrSize = swap32(sizeof(struct tpm2_session_header)*2),

Why *2? Where to the two session headers go? (Also nit: blanks missing around *.)

> +        .pcrSession.handle = swap32(TPM_RS_PW),
> +        .sequenceSession.handle = swap32(TPM_RS_PW),
> +        .dataSize = swap16(size),
> +    };
> +
> +    memcpy(cmd_rsp.finish_c.data, buf, size);
> +
> +    o_size = sizeof(cmd_rsp);
> +    send_cmd(loc, cmd_rsp.b, swap32(cmd_rsp.c.paramSize), &o_size);
> +
> +    if ( cmd_rsp.r.tag == swap16(TPM_ST_NO_SESSIONS) &&
> +         cmd_rsp.r.paramSize == swap32(10) )
> +    {
> +        rc = swap32(cmd_rsp.r.returnCode);
> +        if ( rc != 0 )
> +            goto error;
> +    }
> +
> +    p = cmd_rsp.finish_r.hashes;
> +    for ( i = 0; i < swap32(cmd_rsp.finish_r.hashCount); ++i )
> +    {
> +        unsigned j;
> +        uint16_t hash_type;
> +
> +        hash_type = swap16(*(uint16_t *)p);
> +        p += sizeof(uint16_t);
> +
> +        for ( j = 0; j < log_hashes->count; ++j )
> +        {
> +            struct tpm2_log_hash *hash = &log_hashes->hashes[j];
> +            if ( hash->alg == hash_type )
> +            {
> +                memcpy(hash->data, p, hash->size);
> +                p += hash->size;
> +                break;
> +            }
> +        }
> +
> +        if ( j == log_hashes->count )
> +            /* Can't continue parsing without knowing hash size. */
> +            break;
> +    }
> +
> +    rc = 0;
> +
> +error:
> +    relinquish_locality(loc);
> +    return rc;
> +}
> +
> +#else
> +
> +union tpm2_cmd_rsp {
> +    /* Enough space for multiple hashes. */
> +    uint8_t b[sizeof(struct tpm2_extend_cmd) + 1024];
> +    struct tpm_cmd_hdr c;
> +    struct tpm_rsp_hdr r;
> +    struct tpm2_extend_cmd extend_c;
> +    struct tpm2_extend_rsp extend_r;
> +};
> +
> +static uint32_t tpm20_pcr_extend(unsigned loc, uint32_t pcr_handle,
> +                                 const struct tpm2_log_hashes *log_hashes)
> +{
> +    union tpm2_cmd_rsp cmd_rsp;
> +    unsigned o_size;
> +    unsigned i;
> +    uint8_t *p;
> +
> +    cmd_rsp.extend_c = (struct tpm2_extend_cmd) {
> +        .h.tag = swap16(TPM_ST_SESSIONS),
> +        .h.ordinal = swap32(TPM2_PCR_Extend),
> +        .pcrHandle = swap32(pcr_handle),
> +        .sessionHdrSize = swap32(sizeof(struct tpm2_session_header)),
> +        .pcrSession.handle = swap32(TPM_RS_PW),
> +        .hashCount = swap32(log_hashes->count),
> +    };
> +
> +    p = cmd_rsp.extend_c.hashes;
> +    for ( i = 0; i < log_hashes->count; ++i )
> +    {
> +        const struct tpm2_log_hash *hash = &log_hashes->hashes[i];
> +
> +        if ( p + sizeof(uint16_t) + hash->size > &cmd_rsp.b[sizeof(cmd_rsp)] )
> +        {
> +            printk(XENLOG_ERR "Hit TPM message size implementation limit: %ld\n",
> +                   sizeof(cmd_rsp));
> +            return -1;
> +        }
> +
> +        *(uint16_t *)p = swap16(hash->alg);
> +        p += sizeof(uint16_t);
> +
> +        memcpy(p, hash->data, hash->size);
> +        p += hash->size;
> +    }
> +
> +    /* Fill in command size (size of the whole buffer). */
> +    cmd_rsp.extend_c.h.paramSize = swap32(sizeof(cmd_rsp.extend_c) +
> +                                          (p - cmd_rsp.extend_c.hashes)),
> +
> +    o_size = sizeof(cmd_rsp);
> +    send_cmd(loc, cmd_rsp.b, swap32(cmd_rsp.c.paramSize), &o_size);
> +
> +    return swap32(cmd_rsp.r.returnCode);
> +}
> +
> +static bool tpm_supports_hash(unsigned loc, const struct tpm2_log_hash *hash)
> +{
> +    uint32_t rc;
> +    struct tpm2_log_hashes hashes = {
> +        .count = 1,
> +        .hashes[0] = *hash,
> +    };
> +
> +    /*
> +     * This is a valid way of checking hash support, using it to not implement
> +     * TPM2_GetCapability().
> +     */
> +    rc = tpm20_pcr_extend(loc, /*pcr_handle=*/TPM_RH_NULL, &hashes);
> +
> +    return rc == 0;
> +}
> +
> +static uint32_t tpm2_hash_extend(unsigned loc, const uint8_t *buf,
> +                                 unsigned size, unsigned pcr,
> +                                 const struct tpm2_log_hashes *log_hashes)
> +{
> +    uint32_t rc;
> +    unsigned i;
> +    struct tpm2_log_hashes supported_hashes = {0};
> +
> +    request_locality(loc);
> +
> +    for ( i = 0; i < log_hashes->count; ++i )
> +    {
> +        const struct tpm2_log_hash *hash = &log_hashes->hashes[i];
> +        if ( !tpm_supports_hash(loc, hash) )
> +        {
> +            printk(XENLOG_WARNING "Skipped hash unsupported by TPM: %d\n",
> +                   hash->alg);
> +            continue;
> +        }
> +
> +        if ( hash->alg == TPM_ALG_SHA1 )
> +        {
> +            sha1_hash(hash->data, buf, size);
> +        }
> +        else if ( hash->alg == TPM_ALG_SHA256 )
> +        {
> +            sha2_256_digest(hash->data, buf, size);
> +        }
> +        else

Is this really just "else", not "else if ( ... )"?

> +        {
> +            /* This is called "OneDigest" in TXT Software Development Guide. */
> +            memset(hash->data, 0, size);
> +            hash->data[0] = 1;
> +        }
> +
> +        if ( supported_hashes.count == MAX_HASH_COUNT )
> +        {
> +            printk(XENLOG_ERR "Hit hash count implementation limit: %d\n",
> +                   MAX_HASH_COUNT);
> +            return -1;

This is an odd return value for a function returning uint32_t. And it's also ...

> @@ -419,6 +830,35 @@ void tpm_hash_extend(unsigned loc, unsigned pcr, const uint8_t *buf,
>          {
>  #ifndef __EARLY_SLAUNCH__
>              printk(XENLOG_ERR "Extending PCR%u failed\n", pcr);
> +#endif
> +        }
> +    } else {
> +        uint8_t sha1_digest[SHA1_DIGEST_SIZE];
> +        uint8_t sha256_digest[SHA2_256_DIGEST_SIZE];
> +        uint32_t rc;
> +
> +        struct tpm2_log_hashes log_hashes = {
> +            .count = 2,
> +            .hashes = {
> +                {
> +                    .alg = TPM_ALG_SHA1,
> +                    .size = SHA1_DIGEST_SIZE,
> +                    .data = sha1_digest,
> +                },
> +                {
> +                    .alg = TPM_ALG_SHA256,
> +                    .size = SHA2_256_DIGEST_SIZE,
> +                    .data = sha256_digest,
> +                },
> +            },
> +        };
> +
> +        rc = tpm2_hash_extend(loc, buf, size, pcr, &log_hashes);
> +        if ( rc != 0 )
> +        {
> +#ifndef __EARLY_SLAUNCH__
> +            printk(XENLOG_ERR "Extending PCR%u failed with TPM error: 0x%08x\n",
> +                   pcr, rc);

... not exactly a TPM error.

Of course other comments given on the previous patch logically apply here (and
elsewhere) as well.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Oct 22 15:17:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Oct 2025 15:17:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148369.1480442 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBaat-0002gA-Mw; Wed, 22 Oct 2025 15:17:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148369.1480442; Wed, 22 Oct 2025 15:17:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBaat-0002g3-KP; Wed, 22 Oct 2025 15:17:43 +0000
Received: by outflank-mailman (input) for mailman id 1148369;
 Wed, 22 Oct 2025 15:17: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 <SRS0=pHug=47=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vBaas-0002fx-Ri
 for xen-devel@lists.xenproject.org; Wed, 22 Oct 2025 15:17:42 +0000
Received: from mail-wr1-x430.google.com (mail-wr1-x430.google.com
 [2a00:1450:4864:20::430])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4022977b-af5a-11f0-980a-7dc792cee155;
 Wed, 22 Oct 2025 17:17:40 +0200 (CEST)
Received: by mail-wr1-x430.google.com with SMTP id
 ffacd0b85a97d-3ece0e4c5faso6850675f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 22 Oct 2025 08:17:40 -0700 (PDT)
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-427ea5a0f7dsm25190309f8f.4.2025.10.22.08.17.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 22 Oct 2025 08:17:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4022977b-af5a-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761146260; x=1761751060; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=G2P9JZm+DdvlhD1OtJvx/Oox1Uok0kmfHvBuDHcXGDE=;
        b=JKKrUp4aXoYJaOV+6mhaA13ZCi9mIvV44mXWbTxa/jvcWbhpjTwNTmeO+hKt1iXRCF
         oEnU9l4KHm99Cn6xxp4OcZjR5nZBJqZOmFPxYEPS6HqixYsp30rJa86zEO07Kh3s1sep
         RZy8suw7j0Sc/nY8nuYrKaMW9JzfjINbhQZSpimPnnK0y0jB0uIWMi8mSvAKY53ht6ca
         ++4z+8nNxbpIvrjtVLfAFF6C4MMbsg7SFILNThvC+76yJqpi4qcPnpon+cvtGfs08sQg
         oVmMgplp7qCjPaar2PXEbxNtldyHLEDwNWNyIWCinivUkfkidqcUIFZxk4HkR7kfk9JY
         hY/g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761146260; x=1761751060;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=G2P9JZm+DdvlhD1OtJvx/Oox1Uok0kmfHvBuDHcXGDE=;
        b=F1FzvgNN512FXE01gh4fnbgoHus0JAmUpMCmykA0pwgvcE49Cg0Q4KSS5yDd68z1tD
         qbfdNAL67Zbt6bHKJOz3l/DuBy2Nw003V+wrrU81WQSIMPCDsaLOTeY5mJelwglsUl/Q
         T7L5FhPOZpzG2otxnpS/gk9T5w4yeA1Ic7RvRmvXhkBzKsGDg215UZ5FYr0o+hoZcEgg
         cO4JSngYC8YCYZH+tKaupSJqyQRr4qjgEepm3rCUJJEHyRRYz7hzs8qxC3ESjam/6anT
         V98G7aiYM885CMGsThTI9PJ4rnytZHwDBgv3Dd3bjH1XJS8v099vqqFV3TF5skEQylGR
         qnaA==
X-Forwarded-Encrypted: i=1; AJvYcCVH7tNlKRTYSGX6DnYvyxogq+nkdTamIj/HY3hqHrl5J79SEc59/40k1sXaTPzhmdVYxjrAOn8XAlY=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yyg4Bw3P/IL+p4U3p09ftoh1Wvhuyvtf3kYb9wuA7kG/pAPupdD
	hEKl1z5WzD+gRzAYpfz0OIplPYmGEOaJf7h2pCZmKF1sVaqvkHSBABOyvGHhUqaKMw==
X-Gm-Gg: ASbGncsLP1yVfo5Ce/kWwmvMRkOdr7uiaKhbIr+DceyRvmsLTWuIZ6XIOcm8HkscPQs
	mpKppbwmPH2DiImnfXp+UoCsAdbEChEP7OCh5Hby9TPTqIaMbvul2vpVTheH8nM+qxS7/rNXK7U
	JyjxbqLHWeaLJGVU4mYSmp759QeZVBDVNvxT2CcEygPi+jgW+jW2iuSB4TFq+TLuS7F3dGSGD0t
	ywnCdkSn/w0Iwaqfiaf9EG3NY2q/AZll9Ap/rEnXC/DdBk2RDOpEdlPAEVdXA/hZBYk8AV0eN04
	2TQ22uE7HdxTRQEPH6LXLiQxrLq0A3EOl4xeVxsI5xtJps1rp9Zga1UBoXOaAiGpNJDKugVnnHd
	eQQ7DSGOe+TAZeOkGvaR5i1xhA5hhxinc3dvUQNDRoIJRCjxOdLsXld82Bb6R18dxTPCbzrTzcr
	gND/KAM0GlEhD6BaXd03ePPbvzwm7ybzYbSev7lyq3ln2elTgWRuhs1VB5wKLsTrDiRvH+4No=
X-Google-Smtp-Source: AGHT+IH8pnKqtf6p3xNcX53dgpB44rxZwJs2M69bwgf2wu6TfflwO+FOQm4rl0rdrnKOxBOq1Vk4mw==
X-Received: by 2002:a05:6000:2888:b0:427:2e8:fe53 with SMTP id ffacd0b85a97d-42704d7eac3mr12240184f8f.6.1761146260117;
        Wed, 22 Oct 2025 08:17:40 -0700 (PDT)
Message-ID: <266ebf6f-6926-4401-aa66-8b2f180cd90a@suse.com>
Date: Wed, 22 Oct 2025 17:17:38 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 13/22] x86/tpm.c: implement event log for TPM2.0
To: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Ross Philipson <ross.philipson@oracle.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 trenchboot-devel@googlegroups.com, xen-devel@lists.xenproject.org
References: <cover.1748611041.git.sergii.dmytruk@3mdeb.com>
 <a86083c305921cabd2df33a9eda2e2854600b20b.1748611041.git.sergii.dmytruk@3mdeb.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <a86083c305921cabd2df33a9eda2e2854600b20b.1748611041.git.sergii.dmytruk@3mdeb.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 30.05.2025 15:17, Sergii Dmytruk wrote:
> @@ -769,19 +807,11 @@ static uint32_t tpm2_hash_extend(unsigned loc, const uint8_t *buf,
>          }
>  
>          if ( hash->alg == TPM_ALG_SHA1 )
> -        {
>              sha1_hash(hash->data, buf, size);
> -        }
>          else if ( hash->alg == TPM_ALG_SHA256 )
> -        {
>              sha2_256_digest(hash->data, buf, size);
> -        }
>          else

Please omit the braces then right when introducing the code.

> @@ -832,26 +958,15 @@ void tpm_hash_extend(unsigned loc, unsigned pcr, const uint8_t *buf,
>              printk(XENLOG_ERR "Extending PCR%u failed\n", pcr);
>  #endif
>          }
> -    } else {
> -        uint8_t sha1_digest[SHA1_DIGEST_SIZE];
> -        uint8_t sha256_digest[SHA2_256_DIGEST_SIZE];
> +    }
> +    else
> +    {

Similarly here - please get the style right when the code is first added.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Oct 22 15:44:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Oct 2025 15:44:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148381.1480452 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBb0Z-0006mJ-Nx; Wed, 22 Oct 2025 15:44:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148381.1480452; Wed, 22 Oct 2025 15:44:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBb0Z-0006mC-LL; Wed, 22 Oct 2025 15:44:15 +0000
Received: by outflank-mailman (input) for mailman id 1148381;
 Wed, 22 Oct 2025 15:44:14 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <anthony@xenproject.org>) id 1vBb0Y-0006m6-Q7
 for xen-devel@lists.xenproject.org; Wed, 22 Oct 2025 15:44:14 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <anthony@xenproject.org>) id 1vBb0Y-00EMVE-0j;
 Wed, 22 Oct 2025 15:44:14 +0000
Received: from [2a01:cb15:80df:da00:94d0:641e:16e6:ca4b] (helo=l14)
 by xenbits.xenproject.org with esmtpsa (TLS1.3) tls
 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96)
 (envelope-from <anthony@xenproject.org>) id 1vBb0Y-008zwF-0R;
 Wed, 22 Oct 2025 15:44:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=In-Reply-To:Content-Type:MIME-Version:
	References:Message-ID:Subject:Cc:To:From:Date;
	bh=kslds1OBdnCvK/T0brqthIDAdAGOYeZMymJennuqMqM=; b=VunTvxZlDPWI/8iyu6sxC4me2W
	4J1jEsYM3Zq6Px1jVThkLgYLB9Lu7CCHkbfpoEEDGV/ZREWzjQRFd64Es1UMV1kji/EuHcSdqpp8E
	R0s4glrBiEXo4Js2+YCy/pbkPesaUlUGsD88PdrsWoSIvDp72tMx300bwhrnLn4qJjiY=;
Date: Wed, 22 Oct 2025 17:44:12 +0200
From: Anthony PERARD <anthony@xenproject.org>
To: Jiqian Chen <Jiqian.Chen@amd.com>
Cc: xen-devel@lists.xenproject.org, Huang Rui <ray.huang@amd.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH v2 1/1] tools/libs/light: fix BAR memory address
 truncation
Message-ID: <aPj7zIQ0b0wYFQ6w@l14>
References: <20251013074533.67478-1-Jiqian.Chen@amd.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20251013074533.67478-1-Jiqian.Chen@amd.com>

On Mon, Oct 13, 2025 at 03:45:33PM +0800, Jiqian Chen wrote:
> diff --git a/tools/libs/light/libxl_pci.c b/tools/libs/light/libxl_pci.c
> index 2ea2caeb6624..ae416a162360 100644
> --- a/tools/libs/light/libxl_pci.c
> +++ b/tools/libs/light/libxl_pci.c
> @@ -2040,7 +2041,7 @@ static void pci_remove_detached(libxl__egc *egc,
>                                                   size, 0);
>                  if (rc < 0)
>                      LOGED(ERROR, domid,
> -                          "xc_domain_ioport_permission error 0x%x/0x%x",
> +                          "xc_domain_ioport_permission error %#"PRIx64"/%#"PRIx64,
>                            start,
>                            size);
>              } else {
> @@ -2050,7 +2051,7 @@ static void pci_remove_detached(libxl__egc *egc,
>                                                  0);
>                  if (rc < 0)
>                      LOGED(ERROR, domid,
> -                          "xc_domain_iomem_permission error 0x%x/0x%x",
> +                          "xc_domain_ioport_permission error %#"PRIx64"/%#"PRIx64,

Why does this message refer to "xc_domain_ioport_permission" now instead
of "xc_domain_iomem_permission" ? (I'm guessing overzealous copy/past
;-) from the previous error message)

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Wed Oct 22 16:14:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Oct 2025 16:14:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148394.1480466 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBbTq-00036f-Tn; Wed, 22 Oct 2025 16:14:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148394.1480466; Wed, 22 Oct 2025 16:14:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBbTq-00036Y-Qr; Wed, 22 Oct 2025 16:14:30 +0000
Received: by outflank-mailman (input) for mailman id 1148394;
 Wed, 22 Oct 2025 16:14:29 +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
 <SRS0=XfCa=47=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1vBbTp-00036S-FD
 for xen-devel@lists.xenproject.org; Wed, 22 Oct 2025 16:14:29 +0000
Received: from PH0PR06CU001.outbound.protection.outlook.com
 (mail-westus3azlp170110003.outbound.protection.outlook.com
 [2a01:111:f403:c107::3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2e919da9-af62-11f0-9d15-b5c5bf9af7f9;
 Wed, 22 Oct 2025 18:14:28 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by PH0PR03MB5864.namprd03.prod.outlook.com (2603:10b6:510:38::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.12; Wed, 22 Oct
 2025 16:14:24 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9253.011; Wed, 22 Oct 2025
 16:14:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2e919da9-af62-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=iJKk7hzK7XqI9RIWXCXmFQG8kKte3gnyKHxLIphKzDTeYzNtuq/37atiXSOJpMDUeodRGYGjLqtbV8JGOAnXMPLK2nlKNYzsiYJnd+wSo2M7oodZryEYvZnEra98LaE8lyEU3rEzG8DcpITWmjofydZYQ3onTqtDjGv3WqcEocuNrq+Es3ox2f097uNYvKzsxz7Qgz+gRvhNtMq4PjLkQUth/MmOJPfTtSBph5PM4fjSe4NlhkaW5d5Fs1Gv5SlD21c4w8lz9KUZxEdaivToIyDo2VpS4mBWr8IZNqjvNisuGVVIZ6qajfIJdTUP3ENEFmK4X0miUqWAAFZA/t8+fA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EIbqXo1tC881QVNAHQMGyj+F4ltBbM0TK8naUtJLPtY=;
 b=VwBB1BoiGHDnVDRSYue8mnGK7eRWG4D45UsxhKxj4PB/UvcFJirVqOfX6yOnjVHOTX+S3aCfXbYGbZlW+0/I/lHL4jLtk//zSoIpYlTxFKL5PsSnqr0gDfROuDDtqeqdlJRAou1tOUaMEOLPeRTklfqJSCimqSPanTcCzE6Tpgfir+8VHLzSCdgEYBxe/YFL/+CYrkRYHVFmdN8b4/Plyvy4FLQQBkDollyca4ylpfkYY1uz0T8/mfRzsDGq3UJdZrggf6PDFazL4oP8LRne2Dl0Y8Txjc1LHWgGCLOjyEkP7TRZXDUeGeH0uH+0F0Djlt7gwxhlhBg+x9PuKeZdMA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=EIbqXo1tC881QVNAHQMGyj+F4ltBbM0TK8naUtJLPtY=;
 b=beS2UgV1PShTGhYJaYqnFctcs8E9l0IRzetD6qjgv+KTO2aiACT/OudJ+LS8SS0n17M50HE4X87nnrK4lZhdhIRC83bVk9nCbqSGkonuV1d/ijno2FkeURwiSJO7ajii6MoH+jwiG4ibOr6dfJYEYluveAm021xYT7hj+ABywK0=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 22 Oct 2025 18:14:19 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: stewart.hildebrand@amd.com, xen-devel@lists.xenproject.org
Subject: Re: [PATCH for-4.{19,20}] xen/vpci: fix backport of 53859596c0d3
Message-ID: <aPi23q1S5cj02wvi@Mac.lan>
References: <20251022085909.76402-1-roger.pau@citrix.com>
 <1f05b129-3cb7-485c-a441-88cc17d4c84f@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <1f05b129-3cb7-485c-a441-88cc17d4c84f@suse.com>
X-ClientProxiedBy: PA7P264CA0405.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:102:39b::14) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|PH0PR03MB5864:EE_
X-MS-Office365-Filtering-Correlation-Id: f1eea22b-ed1a-4d6f-6914-08de118610cb
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?c1VXMUdLQW9tTllQdEtVem96WjdPaXpZR2dXaWNFYlphTGhvTGVQUnhTY01W?=
 =?utf-8?B?VHZRei9vTEl3cWdJL1A2V2ZOazFHZW8zcHVlaDRmNmpHaDJhcHFSUVAyWHVD?=
 =?utf-8?B?ZnBpMGl0NG1WMFl1QXkvYlBPYXJUd3lJUEpYQmpPZ3NkRjhNNzZXcjEvSDlh?=
 =?utf-8?B?WFBteGdUQm1kN09JWE0xRHAvT2ZMamFUL0VvM21iV0N0SkFjRUVEek1XbTBj?=
 =?utf-8?B?dkI3R2FqRTkxc0lvTXdlMThmdW1VL2FFek9aeC9Ba0M2YUtVWm5zSjhxd2xG?=
 =?utf-8?B?Q0paUHJBNnI3emhzbUViVy9yWkt3c0V4dzRvTGZXRTFKY25sSGlMRUZzc0Jy?=
 =?utf-8?B?bnpHdytoRC8vTktvL0N6ZjE5KzN1L1hUMzdpZzJZUUc3NzNOeW1JdXRSVjRI?=
 =?utf-8?B?YldIdkVQeW9CMmJtQkNzaStrSVVKUk5FZlFvY3liRnRKRmRVSFkvVlZvVUFu?=
 =?utf-8?B?TEZ3bUdGOUtQZmdwdDlTQjJLckQxQjk0TWs2NTU1c3VZOWh0MmU1eVZWcGpL?=
 =?utf-8?B?U2I1RTNadmovQ0NoZVZkU2Rvb2RuQmRCSExlbDd5blZEUXlCa1JGTWFKMm9a?=
 =?utf-8?B?MXB6MmhCNFFkb1dVekpHaEpKRVlnMU0vS3EyWUg4am8weDIzSktpdkwzNWF1?=
 =?utf-8?B?Y3Fac1VNUFlweW9veVRKQUJQRmUzUjV6SnRYM1J1YkpZc3pwK25CamlGL2pt?=
 =?utf-8?B?YVVDeXEwSFBlR2JPRHhPaHl4b1pFN2hreGpnTXpnZ0VTdml4bWwwRmlQUWV4?=
 =?utf-8?B?SHFpbUpDNXE0WHhSVDEvR05vMDBNKzEwQmhvNFZNY25CR2hFcmRnM3dhWm5h?=
 =?utf-8?B?ZXMwQlFBa2dqaUEzYjd4NGNRRXcvSmhXeEgycmhPNjR4VkhxTERTUVZEdFRQ?=
 =?utf-8?B?N2hPdXRpS2V4dVhYc2IzRExQNkNudlJUcy9ZYlBIODJDUkk2RFVTM1JjdWxN?=
 =?utf-8?B?UThJVUoyK2dmMm5wN2JmYVQ5WStHVjBqUVBneWFiTmdFMndBNzNkMjBidXZh?=
 =?utf-8?B?UWtQalRBTU1nNUFRYWtDSmlhTzdTMWYzOU1xczhSVnZuT2oxM2J0cmpuYlhv?=
 =?utf-8?B?VkFUb2NEaENBc0txZmtZNTJGc3N4VE4vYnBVSDBoM0Znd25waHZWbVVhNWtO?=
 =?utf-8?B?bTAycmpuY2gzWUlHTE92b2tWMnQ0N2VaOWtrMjNGL0REWWlhTXErd2thM0Ni?=
 =?utf-8?B?R002SWJDQm9LTXFRZmR1elY0M0srQXR6Ym02RUUrWVQrR2xnUitaUzQ0RGlp?=
 =?utf-8?B?WWFLSHB1L3I2K1dIeUpmNG0wRTBDTGRKditIZjdseFJUb1lwRjBmZEFTZFFG?=
 =?utf-8?B?Q1U0U2ZrZTdBYjJUTlU5cWd0UkwrZEtPbEFiZ0JBdWk2VThMU24vTGNxS25L?=
 =?utf-8?B?TnFmbzNrZ1lIazh2M0tlcWsxQjZSWXV6SjBKZXhMcGxHOTRhU045bVRhUFJr?=
 =?utf-8?B?VEt2YThqMGZyRHZUb1ZteGVwSGpJS1lVL0JaRkF3WGRReWxiMnk4dDJVQmN0?=
 =?utf-8?B?TWN2NFBzcUJpVFBWVVpmYk5TQ05JaFRueGpYOEwyVHNZbmYybHhOUEk2c1lY?=
 =?utf-8?B?Y2JxdHQ4YUQ3U2RzSGhreFhzL21KcGZLeHZ3Z3M0TUtDOFNYejRmTnJYYVlh?=
 =?utf-8?B?TnhQcUlhdkNRMi9FN0JWNHBXYXBMZjI4QzI5TThEUkEveHBKek01OHpjQUpW?=
 =?utf-8?B?Ry9EK1BMeUJCUjZveFpSakZRSGJuZkUrOW1HL2JmMEc5TjhHdDIyMWtIRWln?=
 =?utf-8?B?ZXlQU20yMDNBSVh4YUlXZkNJTnZtVE9OcVR6bEFTcEJEVnhIN1UyS1k3UnJF?=
 =?utf-8?B?QTQxMDI4V2ZkcFJ0QSs2YTFvU0JtYzdFcFVBRGE3L2pkM2t1dFlwVFkzRnhV?=
 =?utf-8?B?eWczK2p0TGVxSEZLeUVWakQvejJydGF6QVRZSEtrR2R4RytOZDY1cGEzOExW?=
 =?utf-8?Q?VTAGGgoMnyB64WfvKQtpEY32Njwou4Ao?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UTdaSVY1NjA1Zi9zbGpoTmIwMHBCOWZlZ2NLR1JXSHlGRkh0VnIyV0FwbEJh?=
 =?utf-8?B?MnhCSFN6NkdtL0dCKytSOFA2bzlOWkRkT216Y1dsMm8zeHBzeXovSWtIM21H?=
 =?utf-8?B?ZHY1RXloQWt5VEIwaHV0T1hob1o1MUhVOEROL0diSXdRZ1JUNC9YaWxGMmJv?=
 =?utf-8?B?alphNXQ2eEk2ZHh3VEV6RzU3TS9oUWJHdjVtcFZnbVZja3lWaTd5OVhKeGgv?=
 =?utf-8?B?VlAzUjFIYXdLR0VDQ0tiMlZuSWZyenRHNTVkcTZiMjJBRytPeitlanA1Mkht?=
 =?utf-8?B?Q01BbEZERHREZGwwTzFhWW1qL2twbWNwLzhFblRqL0xmWG5TbHVBNDFWNmNY?=
 =?utf-8?B?TjJ1cjNVRFArNzcvV1JSbzJMUThSM3hjSU9KV00zaVZKblp5aUNpRkl2SnMx?=
 =?utf-8?B?dEY0V0pJczVNWEhlbUt5NFliOWJjd0t3ZmlvSlV0V0xZQXhrdS80NFJnMnV0?=
 =?utf-8?B?TExxcXNmaHlIcDRPLzA3bXZkZllQNjZqY1JMOHNWRlZvMDFDY2JnVDFYem5B?=
 =?utf-8?B?YnhraEpQYjdwWWF3WjRlY2RuVXpjZDd5Y1lEMFN2bGN1dzhDRE10ZDBLUW93?=
 =?utf-8?B?ZE9PZEVsUitobUVuNjVxU1VvSEdMYnY5SFdFVHZNaXQ4NmtjRDh4b05Kd0l2?=
 =?utf-8?B?WmIxM0lGRjByL2xxVVdzZTNWYlNFQ0M1ZEtjSzVHTEUzN0MwRUZMcVZNaWZI?=
 =?utf-8?B?SllaaWI4OWVlMmxUVDhoeko2akZKWlpJd2xxUGg5Wm9lOWl1S0VhKzNGV3o0?=
 =?utf-8?B?TjJrUEJFWkV1NE9aaFRsQVFieWdHZnhVa0EyOGlrTllmZmZSNy9FcG54Mitk?=
 =?utf-8?B?dHpWTHBXOW43Q1c3TzhKbkNmcFlpTVNtVFBUd3drdnc2K0xZNmVETmlScDlV?=
 =?utf-8?B?cjJ2OGhRVXROdFJmM1g5ZnBJQUlJd05LUUhjQnQ2MkphTHNrVGxoZXRjL21P?=
 =?utf-8?B?VXlPQXBLN05OTzNlREtYdm9XcHE0K29PeCthUXdKU1pRMUpCWnZnWmZENFdl?=
 =?utf-8?B?eUl0VjZKVVEvdlArcXBDY2RVQVB1OWhvcHRrM05zUUFUYzhkRFVtbVVZSlNi?=
 =?utf-8?B?dHlLNWxMeVhMVU5kMGd1UVZwc2I4aENXUUcxeUxOdTlZTDlHMXk0dGdVekVj?=
 =?utf-8?B?d3Rwb0x4UkpNa2dhQVVHK1Y2LzgxSlN3TVhiMlRFd3pzSE94MzJjTzdIZFBr?=
 =?utf-8?B?N1RsREFsTE01aHNxaDAvNW5wclNVNkVYL3RhWUZIaDh2Y2RLdHRvYllVbkxK?=
 =?utf-8?B?UnZxdjVnSDY3RkFQWUcza3VWYklqNjR2Sm13OVpQTGd2Sll6VTd0VE5TclpG?=
 =?utf-8?B?MGR0TWVRYjhmRnM1ZXJudjZUL1JjUXpqUU8zWHVVYmdhMFkvNVdTV1pVYUJL?=
 =?utf-8?B?SDd5SGpPSWIvUGhYbEZmZ1F6aEd0TFZxVk5kTWJBUmdpc0xhVHBFNk04YVZH?=
 =?utf-8?B?cEw0MEhKSEh5WENxNEMycnJxN21laUN6TEFSZUNvMFRISDJkelZYYmg0ckh0?=
 =?utf-8?B?Y0xKS05GUnlOWWJjWHVyeEh0Y1hHNlQxQVgzVHluN3R0aVNsQWp0YjVyRmpH?=
 =?utf-8?B?SDE5dmJEcUNZMU04Nm5idXo5RXJPSlBXUkFlcmIvM3R1RDRXSFhERXNPT3dX?=
 =?utf-8?B?YlBVdE1uWUZld0ludkJBSHFyNmlxQWliR1pZTG05UzNwMXVzN0E0NXl5RDdM?=
 =?utf-8?B?UzV5WWFIVTQvSklWb3FMd2tEcENockNtM2Ezd0xmSTFQajFwUGI2VncxRkFO?=
 =?utf-8?B?SXNUQTJxWjJMSk44ZXBMQUVNOTJpQlUyVjJ4alJGQ3ZDendmTEpWVWFRRVg2?=
 =?utf-8?B?SFhrdXRUSGZZN0NhR3ZjUXN0d0tQenlrb1lXZjlJVjR3V25jL2ZyTUxmbGta?=
 =?utf-8?B?cm54QUR3bzF4NlNsT2NPa0ZGZDFkSjJRSmhWbm84dVBXdnllR0o1SE16YjVF?=
 =?utf-8?B?dmlzUTJrckJpYlFQcnc0OUtwTmhwUUtXN2xTQ0RhY3dQSCsrem8vUTBUTm5N?=
 =?utf-8?B?WEFYVmVQa2hyRGRoaVhKZmxpY1hpb2t2UVl2SkRNeUZWOFNmSnRJdllDYW0y?=
 =?utf-8?B?NHphT2RnU3JnUkx0VzhEUTA3OUs4MklTK1ZqWlFEczlFV25mZkU2NHN6QUV2?=
 =?utf-8?Q?JtpBJ8IzHb099aJfCap4kcrZl?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f1eea22b-ed1a-4d6f-6914-08de118610cb
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Oct 2025 16:14:24.1220
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: jVDiH4NDMGgG+evHGOY7EOkfJfS9AEeJklxnXICUpollooi9Yeg/xJaTggP9jic0fRYKX9PVgOQtl5Qhxg/87A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB5864

On Wed, Oct 22, 2025 at 11:28:42AM +0200, Jan Beulich wrote:
> On 22.10.2025 10:59, Roger Pau Monne wrote:
> > Commit 53859596c0d3 depends on the behavioral change introduced in
> > ee2eb6849d50 that inverted the initialization of the MSI-X and header vPCI
> > handlers.  53859596c0d3 requires the header to be initialized before MSI-X.
> > 
> > Change the order of initialization and adjust init_msix() to carve holes
> > for the MSI-X tables if necessary, since it will now run after the BARs
> > have been possibly mapped into the domain p2m.
> > 
> > Fixes: f9aea52a9747 ("vpci/msix: improve handling of bogus MSI-X capabilities")
> > Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
> 
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

Thanks.

> > --- a/xen/drivers/vpci/header.c
> > +++ b/xen/drivers/vpci/header.c
> > @@ -1016,7 +1016,7 @@ static int cf_check init_header(struct pci_dev *pdev)
> >      pci_conf_write16(pdev->sbdf, PCI_COMMAND, cmd);
> >      return rc;
> >  }
> > -REGISTER_VPCI_INIT(init_header, VPCI_PRIORITY_MIDDLE);
> > +REGISTER_VPCI_INIT(init_header, VPCI_PRIORITY_HIGH);
> >  
> >  /*
> >   * Local variables:
> > --- a/xen/drivers/vpci/msix.c
> > +++ b/xen/drivers/vpci/msix.c
> > @@ -792,9 +792,14 @@ static int cf_check init_msix(struct pci_dev *pdev)
> >      pdev->vpci->msix = msix;
> >      list_add(&msix->next, &d->arch.hvm.msix_tables);
> >  
> > -    return 0;
> > +    /*
> > +     * vPCI header initialization will have mapped the whole BAR into the
> > +     * p2m, as MSI-X capability was not yet initialized.  Crave a hole for
> > +     * the MSI-X table here, so that Xen can trap accesses.
> > +     */
> > +    return vpci_make_msix_hole(pdev);
> >  }
> > -REGISTER_VPCI_INIT(init_msix, VPCI_PRIORITY_HIGH);
> > +REGISTER_VPCI_INIT(init_msix, VPCI_PRIORITY_MIDDLE);
> 
> Aiui this could as well be VPCI_PRIORITY_LOW now, much like in staging init
> order between MSI, MSI-X, and ReBar isn't enforced anymore?

Yes, that's my understating also, I however didn't want to make that
change to avoid any surprises.  This way MSI-X and header are still
the first ones to initialize.  Also that would render
VPCI_PRIORITY_MIDDLE effectively unused in the code, which might be
confusing for readers.

Roger.


From xen-devel-bounces@lists.xenproject.org Wed Oct 22 19:28:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Oct 2025 19:28:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148450.1480475 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBeVZ-00008K-2O; Wed, 22 Oct 2025 19:28:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148450.1480475; Wed, 22 Oct 2025 19:28:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBeVY-00008D-VM; Wed, 22 Oct 2025 19:28:28 +0000
Received: by outflank-mailman (input) for mailman id 1148450;
 Wed, 22 Oct 2025 19:28:27 +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
 <SRS0=+n4a=47=citrix.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1vBeVX-00007z-4p
 for xen-devel@lists.xenproject.org; Wed, 22 Oct 2025 19:28:27 +0000
Received: from BN1PR04CU002.outbound.protection.outlook.com
 (mail-eastus2azlp170100001.outbound.protection.outlook.com
 [2a01:111:f403:c110::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 44b6d6f8-af7d-11f0-980a-7dc792cee155;
 Wed, 22 Oct 2025 21:28:21 +0200 (CEST)
Received: from DM4PR03MB7015.namprd03.prod.outlook.com (2603:10b6:8:42::8) by
 PH8PR03MB7269.namprd03.prod.outlook.com (2603:10b6:510:252::7) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9253.12; Wed, 22 Oct 2025 19:28:18 +0000
Received: from DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9]) by DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9%3]) with mapi id 15.20.9253.011; Wed, 22 Oct 2025
 19:28:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 44b6d6f8-af7d-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ZeZyFDvEkFBMl/E5rXDzOr881p9vQ/ynnYlEd+SWiolf9IXyjQ/DomaCdnocltRJIS5KRFv8r52tZNrWmZTtod8hhToq+y2m/9+3K1qV08oJpEEiXKHtqgafWuRHLlPbRH1FWfRsNT9zIcFP7nITRDUyjPnMwoyZd26Pc3B1Kxf66iNah17tsWLMaKTx0aNH4sM8QfCEZeTiF0zGojxYShu94TBoSvVvuQAENDyteTa7mdo0zPIHcUkjaE+XqRieaufa3c1HhOYs7gAFQvla8hKJPaFYdriokLJpoV8eyujY53qnUUs5A6iYlhZxrD3jJLwGsLpNb4nRe801nkOA2w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1wiwpXb9H5o2rwRD0HoxRXVJ0oBd7lMdccOSUWvLQ0c=;
 b=doc5AlP6R2nvBv9VD/5oAnE7n+XjX9umk5VhPZybJ2f1UfiGvBp4NNNuyxWqFDKIbqc1row7DT/MXbotEKyuzOhnsaMXh1UUhSmGG6TSmRoHY5Bz+ZzajWkTkna7w1dyDpNW01gUUyl/G3ttHizVGjsEEz7WtP4R0hplIEIM0bNYghRpPDw5Fv1pZ+AnJsZ8BWCDSBds1SdRkYu/zduVfHOdoNY9qJGi91GnVLOMelqJMwB0SkK0AXlbxWcap+sZPiy+Qt/jjqbo3ALAB+gT+5iEJ40z976/wn9gA34NRZ2DooWi/0rpZRtGPWU88s5cI+9t8ugsB79ZKPzgXPyyrg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1wiwpXb9H5o2rwRD0HoxRXVJ0oBd7lMdccOSUWvLQ0c=;
 b=dj0cqb5TGRwmDz2JAU1+W6Du8W1ijBTBGwkCZ9Yxmqybpta1+usDhFy6DNNpGSCV8GosJ3OXxo1wtWnzI+/z/b/j1ao589D+l42tr6Zj+MBtI6htYPwmLY77gemDHou1Ccq0DWidX2yairIEFTTCidXB082zc3lQdkXxnUmzvZc=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <342ead3d-3d10-46b9-bb2f-89f941582d96@citrix.com>
Date: Wed, 22 Oct 2025 20:28:10 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/5] x86/ucode: Abort parallel load early on any control
 thread error
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20251020131955.2928261-1-andrew.cooper3@citrix.com>
 <20251020131955.2928261-3-andrew.cooper3@citrix.com>
 <4fb57b9e-2a39-471a-a629-e8cd00997f22@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <4fb57b9e-2a39-471a-a629-e8cd00997f22@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO0P123CA0005.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:354::17) To DM4PR03MB7015.namprd03.prod.outlook.com
 (2603:10b6:8:42::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM4PR03MB7015:EE_|PH8PR03MB7269:EE_
X-MS-Office365-Filtering-Correlation-Id: a6fc9c25-b9ab-4ee7-76ba-08de11a1271e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?TWxmTVpkT1h3Z0ZvbkNFcjJpc3pGOWxmSlNnTk14cE5pYitYMDNBMGVGZ1g2?=
 =?utf-8?B?bDhuRy9IZ2ZSWDdwUDB1MEpBdk1vL3c2ZVROWWVWVzlwVktscm5yK3ZIdzRC?=
 =?utf-8?B?WWJtOGdRZFRRQzRRL3hHcDIvUFloU2VCTkhucVM1Sys1QURhdXM5c0xVeE50?=
 =?utf-8?B?Z2JaTk1YcFNTRTZvOW9EZUowejlyT2x3ZzFUQW5wckpUQzBmbXpQbUg5SWtS?=
 =?utf-8?B?anluSXdMaFZXZ1M1WTFQRTN2Z1duaWpGVm9PR1NsdnBZNGhzbkl6UFhYNFZq?=
 =?utf-8?B?TDlxd09ITmxyZGMyWTdmOUpDVkZOUVoxUWZDS3F2aStTT3dxb250M3BLemxZ?=
 =?utf-8?B?Q0R0RU9hT0cyRG9Jb05pUjJhNm1BZHFkdG13T2F6OFhicGh1TTYwWFJnTXdu?=
 =?utf-8?B?MUtWWDIraTgvV2t4N1lwVmVXSzRGQldFbFlsOXdNMk1NUnROR1l2NU0wMnNT?=
 =?utf-8?B?Q0c5NFAvMTZYbkR3SWIvVXBhVCsxaTJHdU5MR3JIdUJJQk9pV2p1NDlsQi8v?=
 =?utf-8?B?eWNyd1owME1PZy96TVJjSThFY29neG1DamF0UW5Ga1V1djc0Q1AvaUM5TUd0?=
 =?utf-8?B?aTk0RTNMQlV6a1R4VmE0cGdpc0NxRndRWjNUNDN5bXQrajdzWlJDSk5PMEp3?=
 =?utf-8?B?YlpEMDMvRFFVeEwxVFlFRWMxOStqMURPRW11alhwR2xMMHpRTDhXRkpETmkw?=
 =?utf-8?B?ZVZyR25LUEZ6YVYvS2xHOFpQaE9pY2FCS0RETy8yNU1jdGptZzdXcVYzRmFl?=
 =?utf-8?B?eTdGRzZmSkFzTzlxTzZwYngzYmFNdUExbndySWNncVFnUnBMeGoyODMzYnlO?=
 =?utf-8?B?KzVIV09nOHpBbHlZaGFzc2hvZlBsVEt6c3VjNktoT241amsyd2lsMlNmbzIv?=
 =?utf-8?B?QVdMM0Z3Q3FOM0FnWDlCSnJJZEl6UCtMWU9uZHBuSUNkN2U1aU02azlHK0lL?=
 =?utf-8?B?L2dVdTczck9jMVJxTUtsUGdwSTIwVnlMQVhCRExEQ3pUa3ZTUmRIZVVwVE9B?=
 =?utf-8?B?TUlLdS9TSkY0WmRja1kyQUYzUVVZWVlNcHNWSXk0ZnR3MFFITTE4bXJPZjdh?=
 =?utf-8?B?N0xvNW1aVE14KzlEM0NReXdtRHRTeGlYdVJpWmQ4RGVmL2xHWEFwUlZLUHZz?=
 =?utf-8?B?NUl1ZHEyYVp5KzJLSXFLRmh1SURCNzh5N3lZZlhiRUdJSkVrSmY4aWtmMU5Z?=
 =?utf-8?B?WG9KRXJDWjZxbkVnOXZBRndZZkkzSmoraUhvc0luRlRuak5sbHd3cVU5VWNH?=
 =?utf-8?B?VGdDYVlhenppUTBFaEVZdjAzeFNocmxoQ21VNWtJUW9jVVVRU3BmT3lHT09Q?=
 =?utf-8?B?dUlVMEtsWlJYbUc5UnVFZU9NaWl0aGJXL1VQS2QrRnNZQ1hFQW5JU1d6NWt5?=
 =?utf-8?B?VjF4VWJjTkpnN1d5Nk1kOTZOMmdSNXhtNE10Q0J6VGZXQXlRY1JmcmQxcFNp?=
 =?utf-8?B?S2hlTnFwOE9oWVJWd0ZyYzJMRVV4NWdxTmMwQVNQdloxaDlhTVZiWFY2UFVC?=
 =?utf-8?B?Q3NUdWUvTGQ5RDYxb29zRTJDbjJaejdJUW1ySmFLUGltOWxXakkzTFE2cHJ6?=
 =?utf-8?B?Tm5waFJUdmFOUFAxOEsxTTVNM0hlMCtPTnY1S0Q3RXQ5RWUyK0RMTnV1NEMy?=
 =?utf-8?B?SVZRK3hkeHk2U1lBbHIzWFZRdCtlcjNpQVg3K3ZTTkFmUW5wdjM0YVV6Slg3?=
 =?utf-8?B?UjQxTUludnlxY1prV3RIRkpMZnRNbldlbk9JL2prQzU1WnA5dDFIQ0hXMHpZ?=
 =?utf-8?B?UkFwZXNNbjBvc3RZVURqSGwydDVQMDU5TWl0VVRWeWNGY1orYm5pa2puZTJq?=
 =?utf-8?B?UG4zTjZ1cjhlcHRCeHN1RTBwcTlJVVNLQkNVeDFOMXhoaDZ1OThndDZISDJV?=
 =?utf-8?B?M3lldkllMkJUVkh5NUVONkpaODhNSUVhWFJHU0x1d3JFMXZQZzlQdTJSZmIx?=
 =?utf-8?Q?IUZYC8MUC9a5oJx2rnuJE8bVQ7xQ8Eca?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR03MB7015.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?K0hpZE1pVmtyc0pINmdGTWxkOUt6OWVscndzdjh1YU9SRXlMc2FWSVlaVUZY?=
 =?utf-8?B?YkI2enNkcUtEakFGbjhYaFNKWU04eGVKdnFuTDFVd3BIWXR2NW1iVFFqY2xv?=
 =?utf-8?B?aG5FRzRUK3phSUZDUTVzb09WZ1oyUGJlRmRKQ25SWWlMclo0QUxtSXZZbnFJ?=
 =?utf-8?B?dzJKRWc0cjhTc2NUSm9zRXJZVTEwS3B0cmhvaGo0aVREb3BFWlM4WWROTWtE?=
 =?utf-8?B?Q2piRitySExEMStTcnNobnRrcXBHeldGTThIY2VZZUlFV2c3SnFrSjl1bDd4?=
 =?utf-8?B?My9hcFZXZ3FNM1RGQ3NLOFR6eGhWcklVWGFucjVNbStvcTRvczFSQ2ZBc0x0?=
 =?utf-8?B?L21zM0JOUWpacGJXRW9SWmt4ZTJrTC9wTStrMjFkU2hZRS9VUklJdjFVb2U0?=
 =?utf-8?B?U2FKSXRBRlpWWFVzVzEweVJpZnFLMmcrM3lPZ3lEUldTNkZObFROVWMvNGtF?=
 =?utf-8?B?d0FxbHNGaFcraGVOWkZHOVFseGR0Rk1ZWGxjbUFObHpJSG9BMkdTUGZMZGtu?=
 =?utf-8?B?VFJ3YjcrWFRUVk1mQ2prcHNxVVZsY3NQTDZ0WWxrZGVuYjU0eElaZVp4bzEr?=
 =?utf-8?B?WFZ5SWFLeVV0MDI5ekVuZnFhMS9rMHZZR2NDdEZ5elRIUFNvLytONzhCcE5Q?=
 =?utf-8?B?TldFdytPSVRqcmE1WTdyUVVXRUYxUnBiOXZWeEhIWjFoZ0xCTVhqVm5xN1BE?=
 =?utf-8?B?eDhlbXNNQ0tlVExXQng1anJnSnpHMXB1eDBLRnA4dkdVMk9uMDJ0UzgvTHJn?=
 =?utf-8?B?aHhXOTZORXpoNUJQeVdwUkJDYktJNDNvekRvWEFjVENORk9BdFhERlg5aU1r?=
 =?utf-8?B?ckV0Uy8zdlMzOG1kNldZSnRwNUNTQU9CQ3kyRjROeDl5cll6eGNJVmR5U3NR?=
 =?utf-8?B?UW1OSXNLVEVjdmd0Rm1na0hmSHRHVEozTUNPZGMyb3pRNWpiYm9XbHovL3NU?=
 =?utf-8?B?V1hSSUdaTTBZalQxbE9WZTMwNHRvektrZllaVU5SMGNwS3Z0NlFIeTlBbHZF?=
 =?utf-8?B?MExBV0p3L3VSNGFac2prT2p5TFp0RDNkOHFaNTNnOHMvTzJRODgvdktjUUkx?=
 =?utf-8?B?VWQ4V0N3N2gvMlVYeGpDKzhCUmRYTHZRZDFTYi9TMWRFL2hXNk5HWHp1L1Jm?=
 =?utf-8?B?VHZJc0R4N0graTlzL3JRQWpUWkJOWG5Da2xHaWo0TFVzL2c2dnE1azF3djJa?=
 =?utf-8?B?SDcvcEJHcE52eU9UTGxranhmeDBnNSthdSs0Z2xSV0RJc1JZci8zVDJUNXVw?=
 =?utf-8?B?L21wSExQaHltM1B1MjVNMHZWaG9IQkRMRkFqbGRoZS9CRm9kaG10OE5uYTVN?=
 =?utf-8?B?YTd5SlpiZ0t5VXdOaVFEaWMyM1FGYWFmUzI2Y25yOFRjNTBiTHJLR0lXanBk?=
 =?utf-8?B?RXlSeTh4SXZaUUlxSytPZGxPdnMxcHZVR0xmNnU0M210ZVF3RnBMcm9nZnJ3?=
 =?utf-8?B?NU84MytwZWN4TEErUXFIejJIOFg5cm1ac2ZXbjByRGs1UENsNkxRazVNRXVp?=
 =?utf-8?B?TzFGSWNZSDBNa25OWGh5c0daZlF5NmMvUkNRdVpSOGYzNHU1N2dYU2pPWVVY?=
 =?utf-8?B?d3JYaWs1d2xDY1JLK0p3c1hSSGtQRWRtOVVJQmFJZG4rWkpsUzFNVnlsQ1VN?=
 =?utf-8?B?RC9uemUwWGhjVEZibEQvV1cyY3Z6VTltNTh4VEJjSThsZDUzMjNrRHpIWDJ5?=
 =?utf-8?B?QlN4ZVFScWd2N1BMdmptb1ozZ2dtd0lCTHU1QncySFA2M1hJbnV6R2piNzRR?=
 =?utf-8?B?ZFFqTGFOQzZhUHJhSTlaVDR2cjg2MktCblE2OGJTbGtCOWNUTnJvVzlDeXJ6?=
 =?utf-8?B?ZHRHYUZzYWtwTmFmRmp2Tm9qTVNxOW1vS2J1cWZ0a3loTmp1U1BoZXBMV1dt?=
 =?utf-8?B?eCsxeTBWVVBQd2hyVmtyRVZKcWk3bTg2S05FNy9Ba2laR0U1MmFqeXExQ2Q3?=
 =?utf-8?B?VEN0NXlPbm1QZFlZNlhsRTd0WW1CZFNZK1hwaE1yWUpENUpnUjhNYXRPaXJu?=
 =?utf-8?B?WlI5NW1aYzlFWnhHSStTMGtCeXVxdFFnZnBjejQ0Rmk4dEtaL2ZxbnoyL2c5?=
 =?utf-8?B?YzZTa3pJdzkzdDVBYkJOR3B3YUhkMUpCL2JZcVgva1gwWVJzNFpSeGRQU0dJ?=
 =?utf-8?B?b0txaWRpZ0NaM3BIVUM1Qk9scytKbE9WMEc2eGZlN1N1S0J2QkpobVVBTnN3?=
 =?utf-8?B?b1E9PQ==?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a6fc9c25-b9ab-4ee7-76ba-08de11a1271e
X-MS-Exchange-CrossTenant-AuthSource: DM4PR03MB7015.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Oct 2025 19:28:17.9573
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: vHegLW2ecy+x48SYA1TGlqm4KQVeVOO6UEyVTan7PPLIGat0VVebOjFyUXpfZfWk4ezvTtlZsh7KS2tK7Qro923V3iXBe9wE3R9RCBKMVw4=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR03MB7269

On 20/10/2025 4:55 pm, Jan Beulich wrote:
> On 20.10.2025 15:19, Andrew Cooper wrote:
>> EIO is not the only error that ucode_ops.apply_microcode() can produce.
>> EINVAL, EEXISTS and ENXIO can be generated too, each of which mean that Xen is
>> unhappy in some way with the proposed blob.
> Yes, yet wasn't that the case already when the EIO check was added? Were we
> perhaps trying to deal with a certain level of asymmetry in the system? I
> think a little more is needed here, also to ...
>
>> Some of these can be bypassed with --force, which will cause the parallel load
>> to be attempted.
>>
>> Fixes: 5ed12565aa32 ("microcode: rendezvous CPUs in NMI handler and load ucode")
> ... justify there being a Fixes: tag. It would also seem possible that the
> check was intentional and correct at the time of introduction, but was
> rendered stale by some later change.

The parallel load logic more bugs than lines of code.Â  What hasn't
already been rewritten either has pending patches, or pending bugs
needing fixing.

I didn't care to check why it was limited to EIO at the time.Â  It's
definitely wrong.

But if you insist that I waste time doing so, at the time EIO was
introduced, both apply_microcode()'s could fail with -ENOENT for a NULL
pointer, -EINVAL for "patch isn't for this CPU".

I.e. it was definitely wrong at the time too.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Oct 22 21:20:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Oct 2025 21:20:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148483.1480486 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBgFO-0004f3-Qo; Wed, 22 Oct 2025 21:19:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148483.1480486; Wed, 22 Oct 2025 21:19:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBgFO-0004ew-NB; Wed, 22 Oct 2025 21:19:54 +0000
Received: by outflank-mailman (input) for mailman id 1148483;
 Wed, 22 Oct 2025 21:19:53 +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
 <SRS0=+n4a=47=citrix.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1vBgFN-0004eq-GZ
 for xen-devel@lists.xenproject.org; Wed, 22 Oct 2025 21:19:53 +0000
Received: from CH4PR04CU002.outbound.protection.outlook.com
 (mail-northcentralusazlp170130007.outbound.protection.outlook.com
 [2a01:111:f403:c105::7])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d883fad1-af8c-11f0-9d15-b5c5bf9af7f9;
 Wed, 22 Oct 2025 23:19:52 +0200 (CEST)
Received: from DM4PR03MB7015.namprd03.prod.outlook.com (2603:10b6:8:42::8) by
 BY5PR03MB5170.namprd03.prod.outlook.com (2603:10b6:a03:22e::23) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.12; Wed, 22 Oct
 2025 21:19:47 +0000
Received: from DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9]) by DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9%3]) with mapi id 15.20.9253.011; Wed, 22 Oct 2025
 21:19:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d883fad1-af8c-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=GSDQ+yRdv50xeE84oMCxjaN7olFDt09VVlLjgEPQBkI869LWG3TRQ36CT9kGxe0oEufka5OKfEMX1wZtMuApPIeAlkGPGJfjQuXDL57xdcyU3/KZySopoIlNjUwZ5CiqTZIfP/gJKJh3MxyOLjT4rMxrJgZtY/m49LylEzJ9RTlz/HBHoHSdd6YGlQEXMDD0uE3aoz025xGgZ2Nx75AP/sJJ+ryyd3P7womNB03e7bcV4Ej6rfVOGr+u+K1kGICxG8F2tvHgk1yjyc6QPx5GN/x2q5yISmDDSqt3wyokAihTUQ0f0j49qwKFTmmCfOpsRbUWn35G/y9WMnGiwLUAMw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6gmVlJBoaVP7Z0N12LNPDhtfdaRkMo4eGpcvspqwYmk=;
 b=vVFYicy2gzE46MG4Dux7RDbSNVWb1srAWEyzVQz2/2xxdE7Nu4gSFxTp9OawJ5Ohxofp0tsQNNWhqaVy8+dxEYqdJlQA1cKxqbAd80nJE4n5QGN8bpehz4NuuWMghatm2a+0kqoZnwewHR1p8un3f3GUaFHC/Kk45QlqyPUZHlf9Fuee7RfRDw0ABAzxjofFfaZUmDsklChavO6TdO/g0JGjWeO7JikW1JQ5m0/NZoTz5di/IGZK9sGBGh864N+SUh6SE5Uub6larCbmt83gUhPAeTr3D/ONeYH7/Any5mPpzsYMJK8MYobqVWpv+RcfUwz2kl+Zzh54nri1oIH+vw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6gmVlJBoaVP7Z0N12LNPDhtfdaRkMo4eGpcvspqwYmk=;
 b=dpOvbM27FZD2IfwkIXiwYGPfM/Hm89YKyawAbWONCzwjtNZaoRlerN+3PNFW0LWiXN32M/vi7chytQIiZEK8f9gAeXsRSrBdHm5d54HILFpm5k/5pxQc9V3z6KwT/iF1vKkn9aSh3PuGfI4SY5Jv8KpFqCUld67OPK7yl0kAmhQ=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <8306217c-2f7b-4d69-b051-ae1e6b4f443a@citrix.com>
Date: Wed, 22 Oct 2025 22:19:44 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/5] x86/ucode: Relax digest check when Entrysign is fixed
 in firmware
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20251020131955.2928261-1-andrew.cooper3@citrix.com>
 <20251020131955.2928261-6-andrew.cooper3@citrix.com>
 <dbe8a444-daf2-4929-921f-704aa5f48cde@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <dbe8a444-daf2-4929-921f-704aa5f48cde@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0227.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1a6::16) To DM4PR03MB7015.namprd03.prod.outlook.com
 (2603:10b6:8:42::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM4PR03MB7015:EE_|BY5PR03MB5170:EE_
X-MS-Office365-Filtering-Correlation-Id: 447fa83b-484e-4f4d-3439-08de11b0ba93
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?VkVGbGlKTDJubUhUeHhyQTBWWExFaTF1Y1hPdFVZcjRsWnZwbWtXaS8vcTha?=
 =?utf-8?B?MnZrcWlIQ1VZSW9UZmVpVkVvUkZwelZoZzgxNnpLNllzVGtrYmpvZXoxbWRE?=
 =?utf-8?B?U1RJZjY5T2JGUGRnRTlYQ0NEUEJZMVkycWIzUC9GaSthOEpMa2J6SEtoOWht?=
 =?utf-8?B?ckRXVFFiRmxBSEU3dUV4THIxOW5GcndIUCtsVnhtNG9oeVZhQmtIR0sxQVBt?=
 =?utf-8?B?TW5ycVc5WGtjT0UvYlFrMmJWVzlYWlNKay9QN0ZwMXlCUzc3S1Yyb1IwNlVr?=
 =?utf-8?B?V0p0VzNlZmhtY01Bem8zcWVjYjBKaFE0L25zbWdCaFByZWYyRkRBVTFqZEYx?=
 =?utf-8?B?bVQ0R1RMSW40aW4vTkJUV3NJekgzRkw2Ny9zbTB1SE9Cb2xueTdwV3kzUFdU?=
 =?utf-8?B?T1Ixd01GQWVwSEVhOFN1bG5YV3JOOVEwSTB0VWlmc2NhbXVCbTVaNFgranp3?=
 =?utf-8?B?QnpJMnFIZWZuU3dHcjhWUUtQa0NCTElrOVV0UCtjMlQrK2h4WXRaMjZZeVFN?=
 =?utf-8?B?aXRoTjFnWElHWE1vajNLb3pNaEEvLy9rY0NORXh2UGpuK3ZMcnRZMTFhWmRh?=
 =?utf-8?B?VG45YkU0U29OVmd6d1FwbUhiNkQyU3E3NEEwYzdLN2NQdktsTm96eWlMSEsv?=
 =?utf-8?B?WVpOQ1U1SlJrMjB3amt6cWdPK2tCdUFnb3FZK2dSS3ZrRStJSkVYcXYwanpz?=
 =?utf-8?B?RklsVUdqVFBTSlNleFF6L3JzYkdrYlM0QU4wSXBvMlIzalRmSUV0NHpYcCtv?=
 =?utf-8?B?d3kybGxCSzIwL2pWbmhESjVqakIyUThmYVpMdnlWME5qT3JOdC9qMnI0N2xz?=
 =?utf-8?B?MmJLczRNd0NaclFMb2FodSttSXFaQUMwbk5JRXErMTdvaWc4RGM2YXVOQmQw?=
 =?utf-8?B?NEs4MVErMFBhT04rVkpVSHUwdGlIMkcrZUdOTGFnUFNzNVBtR3JGY0J1V3Iz?=
 =?utf-8?B?YVhGeEdQeE83U3dQSkFQN2MxM0k1SE5RTHpMazJmekxneXBNSlRGbDYxWDJj?=
 =?utf-8?B?bFRYZ3RNOHd4R2FvRjFoUWZSREhIRUxUOVNHaTVBTllaa3RkeVlVNGNzOFht?=
 =?utf-8?B?b3dEKzVtZmtna3NTeDVrYU13bDlWRHFkVlE2YlhSYXBibk5uRldZcDB1NWlV?=
 =?utf-8?B?eTVuK09VUE5JVVMzV1JWcXlIeHljMjJwRHpMZzFMU1N1QlVvTHNwdTloMmZH?=
 =?utf-8?B?NVhpY0VCVHVuUUxqc3pXVTZtTkpxMlRHdVhkQy9ZSTVZQjRaclFlL1ppL0dO?=
 =?utf-8?B?eEl5eUpPT3l6UUQvZUdFRnBxMHZzMHY3b0JTTDYvb0VhNUtjbnc5aTdTd2d0?=
 =?utf-8?B?RVlkbFV4NTBZMlB0ZjFwdWozemJUYUR4emN3THh0T3RWY3diMUFpR3V6WEVm?=
 =?utf-8?B?WmxESUJhcFhVa0VlZ3BqQjFVMXQxaTZCRCsyVENkQktTRXZubFA1YTl1c211?=
 =?utf-8?B?YUZDUVI2ejNQVDVFTHNnaDY0YU5tZDJ4SzdHaXNYbmFxSHp1R2FnYkNGYUVG?=
 =?utf-8?B?bXVTTjRjOE5RTXVENm0rd3FTRGtkZzNncHpZK01YMGZpTVI3V0NLL3V3dnZz?=
 =?utf-8?B?ZytPcmVOL3JkNG9BWm51SEkyRkNqclNKTkFGMklqcWZDNG4xS0xaNnkyNnNw?=
 =?utf-8?B?WlQ4UTlOUTAzQ0w1d0d3K1J6TGpoZWcyK21jYk1RdnFGcmwwU0xacUQ0V2pP?=
 =?utf-8?B?c3FEMkFRMzgwd1kxNWcrWWJHUWgzWjBsTGpJZDJWcHUrYTY3UjlrdWRkZ2NF?=
 =?utf-8?B?T2l6NldZRlZtQWd0R0JJdU1jSU9CUytVTUE3aGF2ZTNLM3RTdUNEVHVXdGpL?=
 =?utf-8?B?VG9RSG9GWjVvOXBoekphWURSYnE2N0QxY0IzN21NcDFtc0I1OXlRN0RWTWpj?=
 =?utf-8?B?NTEvQXlnblhrUjVrK01nYzlYN3hLeVV1aUt1bmxvYllLVnEyazhteitkRXRv?=
 =?utf-8?Q?N3jmv/DXkyBw3Fa5K8nTa71VRcKxwATI?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR03MB7015.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZE0wZ2RIUjhKcDNPMkM5L0N0ZCttSXZBZ1VwOFFwYThUUjQ4YzMwVFVvMVEz?=
 =?utf-8?B?WHBXREJLajBoTXArMUpNSVE1OFZBUUtXN2Q0WlNaQ282UVNpZnFzY2tBcUVK?=
 =?utf-8?B?QkZoaVZ5VW9YRlREb1hMS1dUcEwxMTlnczhSa3B1cXU5YmlyQ0xQNFl1RHFh?=
 =?utf-8?B?cmZndURoZ1dQZVVkbEJ3N3VWWWJVYXhzSmZkUTNKcEhLZEkyVEw4RmtnblIx?=
 =?utf-8?B?K2xJcjNXZmI5VDgwN01ndWlTaEpNM3lIbWs5YXQ0SXV2QkV1eHpJU2RBblVr?=
 =?utf-8?B?WHAvbXVWZEFSWlhaNjBlTCtNNFg4bFVyZEhaYkVEUGY1c2xTeGo5SjBFY081?=
 =?utf-8?B?bzRoajY4YjJFbW1FWjU2Y1NFd1ZOUmN5Q1RCeGJpeXphcFBYc3JtSm5pRVRp?=
 =?utf-8?B?UUdNNmtwQjBLaXF2NVkrSVpnS2crc1V6MWxmV1dtaVgyN0E5aUxBVmVrbHZV?=
 =?utf-8?B?V2ZjR042WmZiZ2lvNUNJN0J2REJFaUwrVFRSSTdRUmpidmRBS0w3akhoR3d6?=
 =?utf-8?B?UERtaDdCcFR4bVAvcDVxVXdzMlBvNEMzMkR3dzErcy9rRElva0F1MHhpMXU5?=
 =?utf-8?B?UG0ySTdreFNLclZCZk90RzNsaVZoN2psMXRjdUdtWG9NVTMwK3JRR3B3bmJh?=
 =?utf-8?B?bXV3NnVyd09walJXWDV0MEF1MzYrR1MxK0tadHZQNkh1K00yQjUrbWFBbjlM?=
 =?utf-8?B?OHZuVkxsek5ING5NQU0yWDRYOW02RnByKzEzTkFBK3RDSU1BYklrWFhtNnh4?=
 =?utf-8?B?eERrRUFVWWJqYUkvbkM3MkhDeUF1N2NzV2E3bEVUcGt2anZGTVFyMEk5aXBz?=
 =?utf-8?B?cC9LM2RoaWtKSW1GbUZ3VmdlWm9qOVR1bFVJbkJEWkZFQWlycW1CNmdlRHFn?=
 =?utf-8?B?U2xPNjNpeHB5QlBCY1ROcWlCdUtzelZlR2pWNmhYZDRpZWhlQWNBc2NoRUJF?=
 =?utf-8?B?WFc1SkhkT3M3cVZmYWpvSHRrYTlhZitGSnJ0UkorTGlINjJOamhlbzdWS0s3?=
 =?utf-8?B?cHpMQ3ZIUjNmZ1hCQnRzeS8vb1dmcDJwV3RNMmFUcmI2dkFKV05KMTJqSVJm?=
 =?utf-8?B?U2hKTE1EOWlSRWRGeVZaMFpZY21kQm9zYjJ4bmJQRmIrNkQzV2VqUllqSWxW?=
 =?utf-8?B?T25PdDNMSi9CZGkySVdjaFprMlVGUFcwcHF3Uk5kVDRWYXFTN1d6OGVhREhX?=
 =?utf-8?B?ODdkQStFYUd3K3ozVTVPaENKVVFYNHVEa2RJdGxDZEhCQmhIZElQeUx1UGJX?=
 =?utf-8?B?K1ZtS2V0K2hTT1MwMERYR0NTN3g5ejVBZmRzb0RRc3ptY0RxckVsNGdEZEt0?=
 =?utf-8?B?Y3IzS054a24vZ3dyemdpbGxJQUZJZWt5Y2JMWDNHdVNEeXJhRkJhb2ZDZWVZ?=
 =?utf-8?B?eTM1RHN0WmFpdkNQcE11NnJIdVdWQTV2UE4rdEVQZkNtRndacHBwcTJWOE9G?=
 =?utf-8?B?bVdlam5LSDdFclhGSzkxbnVVVmtjL3MybDJJNy82bTM0K3NXaXBaZUpJcHdQ?=
 =?utf-8?B?UW5uTjJzckViQnhvZGl6c05jQVFRT0k5YlZXV0MydmF0STlxY01Rd3VBRmdP?=
 =?utf-8?B?OWsyZUlYN1I1anhTdWpzQjhTVVlxQmRqRHF3NVFSRklSODFLM2F1YzRtS0Fw?=
 =?utf-8?B?aHZnSDl6cjM2K25uWjYrTUpDWmdJYU4vcEVjZnl4dDFqOVQ4ODB0aC9wQXN1?=
 =?utf-8?B?VExxZG9QKzNHRTcydmNUcS8vMXZjcVcwTGFBUUxsVmFMdDBQRjJWaVlpUzA3?=
 =?utf-8?B?QnJRK05obHZpNTJGR1pua3VnTlZ4SlJ2Ny9YeWN3YlFnN1BjRFZiYTZGUzNm?=
 =?utf-8?B?YmU5WFJWT280UFgwWUhOblB4Zjd4U29CMWFsUFIwWkJvdXJTZWlPeElQUGlo?=
 =?utf-8?B?TXdqdmJFTVBLQkduK1NsLzkrQjFRZ2lCWXI3R1hKaXovdDJKa1JjVnlrZ0Rq?=
 =?utf-8?B?U0t4OW1FQTBZK1NuMmdsQllhRUxuTURhV3dSS080SUZCOWMzdGVIMk1xZ2ZG?=
 =?utf-8?B?SzcrLzBENCtSektpVDU0WE9hbVF0cHYySXExVnhqQ0Nqcjh1Vkhjd3h0TFQr?=
 =?utf-8?B?bkVwMHZEQ2gvQUV0ZTVVM1VYaDBUdmo4OFk2VSs2dzNrYWM2ZXNic0JWZU1h?=
 =?utf-8?B?L2tRZ3RSZ0t2UHF1Z0dMZGhKbUVDb0syMjJLT3d3cEdSM2FscGcxUitvS1Za?=
 =?utf-8?B?aGc9PQ==?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 447fa83b-484e-4f4d-3439-08de11b0ba93
X-MS-Exchange-CrossTenant-AuthSource: DM4PR03MB7015.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Oct 2025 21:19:47.7846
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: wXInb5jMslBWA4EwAp/1pH5/cxicAMRIeSiVnQgJREWJrmRB1gkistKIa/02ndxa7Rm3u6IL+5lw1yivTNmZOW+Xi/4D0BL3QuVj60S7sc8=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR03MB5170

On 21/10/2025 10:47 am, Jan Beulich wrote:
> On 20.10.2025 15:19, Andrew Cooper wrote:
>> @@ -597,3 +598,81 @@ static void __init __constructor test_digests_sorted(void)
>>      }
>>  }
>>  #endif /* CONFIG_SELF_TESTS */
>> +
>> +/*
>> + * The Entrysign vulnerability affects all Zen1 thru Zen5 CPUs.
> And older ones are fine, or merely have no fixes produced?

Unknown.Â  Everything prior to Zen1 is fully out of support from AMD.

>
>>  Firmware
>> + * fixes were produced in Nov/Dec 2025.  Zen3 thru Zen5 can continue to take
>> + * OS-loadable microcode updates using a new signature scheme, as long as
>> + * firmware has been updated first.
>> + */
> Yet what about Zen1/2?

There's no signature fix for Zen1/2.Â  The "fix" disables microcode
loading, and firmware updates are the only way to get new fixes.

This is footnote 1 in the bulletin.Â  "Microcode cannot be hot-loaded
after updating to this PI version."

>
>> +void __init amd_check_entrysign(void)
>> +{
>> +    unsigned int curr_rev;
>> +    uint8_t fixed_rev;
>> +
>> +    if ( boot_cpu_data.vendor != X86_VENDOR_AMD ||
>> +         boot_cpu_data.family < 0x17 ||
>> +         boot_cpu_data.family > 0x1a )
>> +        return;
>> +
>> +    /*
>> +     * Table taken from Linux, which is the only known source of information
>> +     * about client revisions.
>> +     */
>> +    curr_rev = this_cpu(cpu_sig).rev;
>> +    switch ( curr_rev >> 8 )
>> +    {
>> +    case 0x080012: fixed_rev = 0x6f; break;
>> +    case 0x080082: fixed_rev = 0x0f; break;
> In your reply you mentioned a "general off-by-1" when comparing with Linux,
> but I'm in trouble understanding how both can be correct. Leaving aside the
> 1st line (for which you sent a Linux patch anyway), how can our
> "(uint8_t)curr_rev >= fixed_rev" (i.e. "(uint8_t)curr_rev >= 0x0f") further
> below be correct at the same time as Linux'es "return cur_rev <= 0x800820f"
> (indicating to the caller whether a SHA check is needed) is also correct?
> We say 0x0f is okay, while they demand a SHA check for that revision.
>
> In any event, whatever (legitimate) off-by-1 it is that I'm failing to spot,
> I think this would want explaining in the comment above.

What you've spotted is the off-by-one error.

Linux is written as "curr <= last-vuln-rev" in order to do the digest check.

Xen wants "cur >= first-fixed-rev"; I renamed the variable and forgot to
adjust the table to compensate.Â  I've already fixed it in v2, so this
line now reads fixed_rev = 0x0a.

>
>> +    case 0x083010: fixed_rev = 0x7c; break;
>> +    case 0x086001: fixed_rev = 0x0e; break;
>> +    case 0x086081: fixed_rev = 0x08; break;
>> +    case 0x087010: fixed_rev = 0x34; break;
>> +    case 0x08a000: fixed_rev = 0x0a; break;
>> +    case 0x0a0010: fixed_rev = 0x7a; break;
>> +    case 0x0a0011: fixed_rev = 0xda; break;
>> +    case 0x0a0012: fixed_rev = 0x43; break;
>> +    case 0x0a0082: fixed_rev = 0x0e; break;
>> +    case 0x0a1011: fixed_rev = 0x53; break;
>> +    case 0x0a1012: fixed_rev = 0x4e; break;
>> +    case 0x0a1081: fixed_rev = 0x09; break;
>> +    case 0x0a2010: fixed_rev = 0x2f; break;
>> +    case 0x0a2012: fixed_rev = 0x12; break;
>> +    case 0x0a4041: fixed_rev = 0x09; break;
>> +    case 0x0a5000: fixed_rev = 0x13; break;
>> +    case 0x0a6012: fixed_rev = 0x0a; break;
>> +    case 0x0a7041: fixed_rev = 0x09; break;
>> +    case 0x0a7052: fixed_rev = 0x08; break;
>> +    case 0x0a7080: fixed_rev = 0x09; break;
>> +    case 0x0a70c0: fixed_rev = 0x09; break;
>> +    case 0x0aa001: fixed_rev = 0x16; break;
>> +    case 0x0aa002: fixed_rev = 0x18; break;
>> +    case 0x0b0021: fixed_rev = 0x46; break;
>> +    case 0x0b1010: fixed_rev = 0x46; break;
>> +    case 0x0b2040: fixed_rev = 0x31; break;
>> +    case 0x0b4040: fixed_rev = 0x31; break;
>> +    case 0x0b6000: fixed_rev = 0x31; break;
>> +    case 0x0b7000: fixed_rev = 0x31; break;
> Without at least brief model related comments this looks extremely opaque.
> Linux, as a minimal reference, at least has cpuid_to_ucode_rev() and the
> accompanying union zen_patch_rev.

We have other tables like this in Xen.Â  Linux has even more.

These case labels are family/model/steppings, but not in the same format
as CPUID.1.EAX, and also not in the same format at patch->processor_id.

This is true even on CPUs prior to Zen1, making union zen_patch_rev
misleading and why I have intentionally not ported it across.Â  Fam11h
seems to be where this started being true in practice.

Fam10h has cases the same ucode applies to different steppings of CPUs.

>  Background of my remark is that I would
> have expected there to be more models per Zen<N>, seeing in particular how
> many different BKDGs / PPRs and RGs there are. Many RGs in particular say
> they apply to a range of models, yet no similar ranges are covered here
> (unless my deciphering attempts went wrong).

PPRs/RGs are generally per block of 0x10 models and all steppings
therewith.Â  This is quite often one production CPU and a handful of
preproduction steppings, but e.g. Milan and MilanX are two production
CPUs share a same PPR/RG, as they differ only by stepping.

Preproduction CPUs probably won't have a fix (other than the final two
rows which are A0 stepping of something presumably trying to get out of
the door when Entrysign was found.)Â  The list does look to be right
order of magnitude for the production CPUs.

The AMD bulletin only gives microcode versions for server.Â  Clients only
state AgesaPI versions, so I'm entirely reliant on Linux for the
microcode versions.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Oct 22 23:15:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Oct 2025 23:15:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148521.1480496 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBi2a-0001Ya-Tc; Wed, 22 Oct 2025 23:14:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148521.1480496; Wed, 22 Oct 2025 23:14:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBi2a-0001YT-P5; Wed, 22 Oct 2025 23:14:48 +0000
Received: by outflank-mailman (input) for mailman id 1148521;
 Wed, 22 Oct 2025 23:14:48 +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
 <SRS0=OYne=47=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1vBi2a-0001YN-0i
 for xen-devel@lists.xenproject.org; Wed, 22 Oct 2025 23:14:48 +0000
Received: from sea.source.kernel.org (sea.source.kernel.org [172.234.252.31])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e5397da5-af9c-11f0-9d15-b5c5bf9af7f9;
 Thu, 23 Oct 2025 01:14:45 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sea.source.kernel.org (Postfix) with ESMTP id 9C0B344F86;
 Wed, 22 Oct 2025 23:14:43 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 586AEC4CEE7;
 Wed, 22 Oct 2025 23:14:42 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e5397da5-af9c-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1761174883;
	bh=WiljlZzs+AD7oKJMv/iLoVv0hl3roM++6LHX2IMRJKI=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=t0RjZpB6td1qQQiDfzM8HFZW19Z/91Q6OAOD3PwcjXgbOiclMaLZou8XJmRZP89KX
	 jqL9fbHZOnR/c63p3tdTXdhsd0dXSknNKgcT4I4cMt/MfsAQK63lcPbyP/6afxuK9t
	 w48XCS0PmKV8mHASeRSrJuhXHcQe0vsZnBBPVCtwBLhB83e3EUM9oTK/CvHydcLGCM
	 tnPyOJQySHeH6eP6v9p1vzO2CHWvLuMYmehjP7q/EBikv1VBTW1geUfZc80nvO8a7p
	 w+HQ1dJhkeyauGmciFRchstVWYskKOCImTFQWGa/J1gAOwP1Us5TFow1q2TDUMsObt
	 IDV42YSdi6+dQ==
Date: Wed, 22 Oct 2025 16:14:41 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.com>
cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Anthony PERARD <anthony.perard@vates.tech>, 
    Michal Orzel <michal.orzel@amd.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH] x86/mm: correct PG_log_dirty definition again
In-Reply-To: <1fd73d73-ba59-4826-8940-4c557db5775c@suse.com>
Message-ID: <alpine.DEB.2.22.394.2510221614330.495094@ubuntu-linux-20-04-desktop>
References: <1fd73d73-ba59-4826-8940-4c557db5775c@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 21 Oct 2025, Jan Beulich wrote:
> The earlier change wasn't correct as far as shim-exclusive mode goes:
> Shadow mode is still to be enabled permitted there, yet the generic
> paging-log-dirty (and more generally domctl) part of the code still is
> unwanted (and cannot be used anyway, as domctl_lock_acquire() isn't
> available).
> 
> Fixes: 2ae8a68df21e ("x86/mm: correct PG_log_dirty definition")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> While a backwards move, properly untangling this will need to be left for
> later, I expect.

I also had considered this set of changes as an alternative of the
SHADOW_PAGING kconfig change I made. I tested this patch together with
mine and everything looks good so far:
https://gitlab.com/xen-project/people/sstabellini/xen/-/pipelines

Tested-by: Stefano Stabellini <sstabellini@kernel.org>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

I'll resend both patches together for simplicity.


> --- a/xen/arch/x86/include/asm/paging.h
> +++ b/xen/arch/x86/include/asm/paging.h
> @@ -55,7 +55,7 @@
>  #define PG_translate   0
>  #define PG_external    0
>  #endif
> -#ifdef CONFIG_PAGING
> +#if defined(CONFIG_PAGING) && !defined(CONFIG_PV_SHIM_EXCLUSIVE)
>  /* Enable log dirty mode */
>  #define PG_log_dirty   (XEN_DOMCTL_SHADOW_ENABLE_LOG_DIRTY << PG_mode_shift)
>  #else
> --- a/xen/include/hypercall-defs.c
> +++ b/xen/include/hypercall-defs.c
> @@ -197,7 +197,7 @@ dm_op(domid_t domid, unsigned int nr_buf
>  #ifdef CONFIG_SYSCTL
>  sysctl(xen_sysctl_t *u_sysctl)
>  #endif
> -#if defined(CONFIG_X86) && defined(CONFIG_PAGING)
> +#if defined(CONFIG_X86) && defined(CONFIG_PAGING) && !defined(CONFIG_PV_SHIM_EXCLUSIVE)
>  paging_domctl_cont(xen_domctl_t *u_domctl)
>  #endif
>  #ifndef CONFIG_PV_SHIM_EXCLUSIVE
> @@ -298,7 +298,7 @@ dm_op                              compa
>  hypfs_op                           do       do       do       do       do
>  #endif
>  mca                                do       do       -        -        -
> -#if defined(CONFIG_X86) && defined(CONFIG_PAGING)
> +#if defined(CONFIG_X86) && defined(CONFIG_PAGING) && !defined(CONFIG_PV_SHIM_EXCLUSIVE)
>  paging_domctl_cont                 do       do       do       do       -
>  #endif
>  
> 


From xen-devel-bounces@lists.xenproject.org Wed Oct 22 23:16:52 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Oct 2025 23:16:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148531.1480507 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBi4X-00027H-90; Wed, 22 Oct 2025 23:16:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148531.1480507; Wed, 22 Oct 2025 23:16:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBi4X-00027A-4o; Wed, 22 Oct 2025 23:16:49 +0000
Received: by outflank-mailman (input) for mailman id 1148531;
 Wed, 22 Oct 2025 23:16:47 +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
 <SRS0=OYne=47=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1vBi4V-000274-RA
 for xen-devel@lists.xenproject.org; Wed, 22 Oct 2025 23:16:47 +0000
Received: from tor.source.kernel.org (tor.source.kernel.org
 [2600:3c04:e001:324:0:1991:8:25])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2d133d8e-af9d-11f0-980a-7dc792cee155;
 Thu, 23 Oct 2025 01:16:45 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by tor.source.kernel.org (Postfix) with ESMTP id 42C0F63E43;
 Wed, 22 Oct 2025 23:16:44 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 07170C4CEE7;
 Wed, 22 Oct 2025 23:16:42 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2d133d8e-af9d-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1761175003;
	bh=sqeJ5K/8TClTsHGg91dfCmt8BAWwZh8OLebzvwh1gzA=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=qGFxpuK5qeS+H/doapkgwfAouuBHWhfNFauNHEOKIMum7CenuqA1psvC9BifCaCU2
	 etne6N1sX7I+0Jw99gg4aCXPRWcUFavHT2wzcpXk1ZcxZFWyAuhDYMc9DQ5Zy+hs72
	 LOhdnsdyI0flUM0arBq6GOP6/wqrYAfDLy+dtOURwjpuQhdOW77lyRpqbHqE/kDwxq
	 seDCaMV4RC2jeB4Sy4D0k73NMtw69pdK0YRIVhw9x05uh3IgQEndboPHd8eFPbNYeP
	 SnjU7eRFLl0dxuCCHa7weCWC7M/bQ5fXzqKr9sOp5RqQnefXN6OFSCkYJBPdKYraC/
	 YW37lYcA30JVg==
Date: Wed, 22 Oct 2025 16:16:41 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.com>
cc: Stefano Stabellini <stefano.stabellini@amd.com>, sstabellini@kernel.org, 
    andrew.cooper3@citrix.com, roger.pau@citrix.com, Penny.Zheng@amd.com, 
    xen-devel@lists.xenproject.org
Subject: Re: [PATCH] xen: fix randconfig build problems after introducing
 SYSCTL
In-Reply-To: <8b995718-26b3-4b66-9c0f-84855019366b@suse.com>
Message-ID: <alpine.DEB.2.22.394.2510221615060.495094@ubuntu-linux-20-04-desktop>
References: <20251022043947.949583-1-stefano.stabellini@amd.com> <8b995718-26b3-4b66-9c0f-84855019366b@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 22 Oct 2025, Jan Beulich wrote:
> On 22.10.2025 06:39, Stefano Stabellini wrote:
> > --- a/xen/arch/x86/Kconfig
> > +++ b/xen/arch/x86/Kconfig
> > @@ -144,8 +144,7 @@ config XEN_IBT
> >  
> >  config SHADOW_PAGING
> >  	bool "Shadow Paging"
> > -	default !PV_SHIM_EXCLUSIVE
> > -	depends on PV || HVM
> > +	depends on (PV || HVM) && !PV_SHIM_EXCLUSIVE
> >  	help
> 
> On top of what Andrew said,

I wasn't aware of it. I'll drop this change and...


> I fear this is an issue I introduced. I just sent
> a fix for it. Clearly with the pre-existing issues related to domctl_lock_*()
> I failed to realize that some of the randconfig failures were due to a change
> of mine rather than Penny's.

... and use your patch instead.


> > --- a/xen/common/Kconfig
> > +++ b/xen/common/Kconfig
> > @@ -653,6 +653,7 @@ menu "Supported hypercall interfaces"
> >  
> >  config SYSCTL
> >  	bool "Enable sysctl hypercall"
> > +	depends on !PV_SHIM_EXCLUSIVE
> >  	default y
> >  	help
> >  	  This option shall only be disabled on some dom0less systems, or
> 
> Didn't we say we'd drop the prompt? That would more cleanly be "going back to
> what it was before 34317c508294".

I prefer this change as it looks simpler and less intrusive. I am OK
with the alternative you suggested but I have tested this version.

For our own convenience I'll resend the two patches that I tested together.


From xen-devel-bounces@lists.xenproject.org Wed Oct 22 23:21:18 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Oct 2025 23:21:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148543.1480516 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBi8o-0003es-PO; Wed, 22 Oct 2025 23:21:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148543.1480516; Wed, 22 Oct 2025 23:21:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBi8o-0003el-Lh; Wed, 22 Oct 2025 23:21:14 +0000
Received: by outflank-mailman (input) for mailman id 1148543;
 Wed, 22 Oct 2025 23:21:13 +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
 <SRS0=KROf=47=amd.com=stefano.stabellini@srs-se1.protection.inumbo.net>)
 id 1vBi8m-0003eX-U6
 for xen-devel@lists.xenproject.org; Wed, 22 Oct 2025 23:21:13 +0000
Received: from SN4PR2101CU001.outbound.protection.outlook.com
 (mail-southcentralusazlp170120001.outbound.protection.outlook.com
 [2a01:111:f403:c10d::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c3edc56f-af9d-11f0-980a-7dc792cee155;
 Thu, 23 Oct 2025 01:20:59 +0200 (CEST)
Received: from CH3P220CA0005.NAMP220.PROD.OUTLOOK.COM (2603:10b6:610:1e8::7)
 by CH3PR12MB7642.namprd12.prod.outlook.com (2603:10b6:610:14a::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.13; Wed, 22 Oct
 2025 23:20:54 +0000
Received: from DS2PEPF0000343E.namprd02.prod.outlook.com
 (2603:10b6:610:1e8:cafe::bd) by CH3P220CA0005.outlook.office365.com
 (2603:10b6:610:1e8::7) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9253.13 via Frontend Transport; Wed,
 22 Oct 2025 23:20:51 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 DS2PEPF0000343E.mail.protection.outlook.com (10.167.18.41) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9253.7 via Frontend Transport; Wed, 22 Oct 2025 23:20:53 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.2.2562.17; Wed, 22 Oct
 2025 16:20:53 -0700
Received: from satlexmb08.amd.com (10.181.42.217) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 22 Oct
 2025 18:20:53 -0500
Received: from ubuntu-20.04.2-arm64.shared (10.180.168.240) by
 satlexmb08.amd.com (10.181.42.217) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.2562.17 via Frontend Transport; Wed, 22 Oct 2025 16:20:52 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c3edc56f-af9d-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=RLg3q0sRgMkDjM8WbhaExhtp3v7oFkWPM2iz7qrKkDnsLprbtXQHNO40vXEd/KleF+HxuC+jWRFcfR2vHdiER95jvWeS/5nJO6OJQXqYe2ghnQXiIsUb/ctsqtQeAR/2hwiKsBDTwo5jy017kI4jMAK2H6I5KSIYAaO+3Ohz3xyov4JNOnJLtRWgSibvWLeF4W7I82EtYaqAzbcVH6WZzzDvyjf4IWgx0I6pc+/yQ69YhHb7Dew3TQ3SbjYYgB+KG4BJGqnCwsROh5zvIb47tbx8ktX6RKcMYr2IrZ8eSZLA+zEK8nF2PGacd8pUW5YCLS2VOqdzP+vwTLopVa2Yug==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EBDo8oO7K/oh0KcAL7ZLWPFe2u1tB5p2aAe84ja1/3c=;
 b=F3C4JdBnskdaIMIcjjAynBoiweF+Jje8lX/A2ZzGse630z9ijkhnr1mSsp8O62sRQFuCn/IECyHtCeWUIs64HOmzrU78g3mOPf6mN4cg7zkxz+nyKkYXAcdLRbnzMs2TDHC5u2jdaqgiVOcgvtANRGaOnTZRwVVzGVJpY00Azr9l1cKXDpwWm+MTFB9XMDgAIjvXdZ1WcRoknFyECxeTd9+PhJ3HFbLHux8/JUgIV84EPWr4tm9EBT8ABAesqBD3J78IzGN7eAns/++SZr/gUFqJIvUuBNtSupOtSrHOmItPzaT0aYPnYKtfTeTeKrIZXkmqZFftaeWdU2UcTDIzPw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=EBDo8oO7K/oh0KcAL7ZLWPFe2u1tB5p2aAe84ja1/3c=;
 b=cx/j6gswp55WaHU4eqXzXCIPQxL77raC4R9OlzfkHVYCnt7VwR4PMEEYmV2+0nZNcNbKSTsNQ5/wuyyLqv1rcoQYOvwel6Y7y8M//sVTFHFhvgUZBCiht2rWe87QpySZiEtlC1sLmVV627vrLwN3c51k+9TtDtJ4yHB9nvknQkM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
Date: Wed, 22 Oct 2025 16:20:52 -0700
From: Stefano Stabellini <stefano.stabellini@amd.com>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: <xen-devel@lists.xenproject.org>
CC: <stefano.stabellini@amd.com>, <jbeulich@suse.com>,
	<andrew.cooper3@citrix.com>, <roger.pau@citrix.com>,
	<oleksii.kurochko@gmail.com>
Subject: [PATCH 0/2] xen: randconfig fixes
Message-ID: <alpine.DEB.2.22.394.2510221616570.495094@ubuntu-linux-20-04-desktop>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset="US-ASCII"
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS2PEPF0000343E:EE_|CH3PR12MB7642:EE_
X-MS-Office365-Filtering-Correlation-Id: de7ac679-f13b-4813-e103-08de11c1a591
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|82310400026|376014|36860700013|13003099007;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?jcvgwLqwYHXU8S34i6WdbyQrK7E0BTlc8COGCes76JXQPztuBTD+bafHDT7p?=
 =?us-ascii?Q?cWRJ1h9vU0Z+99uNadvUxW0y9YFl863Tj+VJ7tR1ASDNd9ejYsyIKzyUpCX8?=
 =?us-ascii?Q?eDV2E13iw3HN33PSUA2j84EfP+c8it2kigGmvHRJlJ2wm56Sexwui46I8vlk?=
 =?us-ascii?Q?E46TN6Z4/TflpxjeQOJRTr0MEcXFiLW5ohQPW3Uw2ULx7lPwxw/hRDTamXTz?=
 =?us-ascii?Q?NIS40GiIJOME1p4cvK5CMMP0ysN/Xcb/gS5263aQywdRSQw6hl/OcuVal6+x?=
 =?us-ascii?Q?256BxT0s+jfaeglQN2tBxDSa7FM87y5zXaLYYNA+Jz/3ngjua05dPHA2tQ4e?=
 =?us-ascii?Q?k/2HaALoEH7BBSY3HdutivrBUjT7912sTXHaw8+xakdMvCj7G4FPerGkuhxm?=
 =?us-ascii?Q?bo18xZBaShs62zoV22O1ZUvrMaH0pygUZZzYxH640pM0OfPhBJgqhWGk0M1+?=
 =?us-ascii?Q?d2hn1tZUVqx3p8gLeUfW4dnWpdxgND7Hzt7X5uxAO6i28m+uiKai2lvW1Waw?=
 =?us-ascii?Q?UbV4cAGAzjUBRprcL1IOFzxZ9MIemS6q2j+qSAelOn6eOuHtgfLRzPHrw7ZP?=
 =?us-ascii?Q?aiyxZxsWRx6JOxe8s1JYG2TqHg/csptMCLD9oXt3AwF63iRjGQlwa/NadOQZ?=
 =?us-ascii?Q?2eCV9RQWU9wko31uOfY62LC7qL4Til+KfcfyU6aMA4JTXBLHheXJRodUj9jp?=
 =?us-ascii?Q?HhKrVrUzKkGmTE80J2cxD4QK8NbrIOGLG1zu5barJqDbKNPFnLQTdE6uEYGH?=
 =?us-ascii?Q?eQkSVqCSxjqlK6IYsyVXAHF3TIJe6iQPOvY6FrFUc7N5CRIxxUSH58oX/sQ/?=
 =?us-ascii?Q?6ODaAOOMRorG5eht1fE+i1xcwcPEZUQeWMttVkc0uLyIm1hHH4ANOHwJ8e8u?=
 =?us-ascii?Q?/G5Ggj1oVTZJN3UE9KFBB5LmW6s76LehSYmw3ZZzGwT0R9OuJqk7hUeGH8kc?=
 =?us-ascii?Q?zDdf8aynmTU1xzqtb2JBz4IkQpidrPQx+cRVZsQz1s+Tw18/K/D43OUqDVn7?=
 =?us-ascii?Q?V3F5ST8ilYOuK6p0mj05o0DWaTz7piuC1ltcYrIiHma9X1J6xjB9iCvUOGYo?=
 =?us-ascii?Q?IRd5cOsZEwe1EDnY0S/pd6xdUhKPme/oHPc5jAtmyZ5QpeywToqAaRnfqc+B?=
 =?us-ascii?Q?lIO63tuzYsTxD0wXfnNjydbi3DLgWm/nUFXuLo5dF48Uw4mKgdRnSeMhJjOK?=
 =?us-ascii?Q?YGISnUDK7A/lhiFncSXfnDhWqKwK0ZZv+LRLvXC07ZjocmvtEZjtY1hk9tbp?=
 =?us-ascii?Q?+svh2sy8XKagkqru2wyT7+kelFZGIuM3wKP8JBq7FvyVhCiztdQF4EKr3E+T?=
 =?us-ascii?Q?G3wFgudjODjkFj2c2Q9BcFRIyRjf9kuo6mcFat5zqVpC30uljLM91j5KOTMx?=
 =?us-ascii?Q?vL9QNeq7LbTtKqcx5KAT5DcyTbEXAkxDVt5eeZsM6lTNpZCQEoVcz1ON95aR?=
 =?us-ascii?Q?XNh+lJhYrUtaQ8gtsLjJua1qqU3XCMDIi6KFXjnP56epnTA+CMf2sipG3lMV?=
 =?us-ascii?Q?xZ5FVOSojhmXjrLyNMInKYgP70hOWy6VA0uXxszLdQ21XqvWkH34z2NMcLOs?=
 =?us-ascii?Q?qDvRo3pAFm6bdk7Nn88=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(82310400026)(376014)(36860700013)(13003099007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Oct 2025 23:20:53.6598
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: de7ac679-f13b-4813-e103-08de11c1a591
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS2PEPF0000343E.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB7642

Hi all,

I tested the two fixes together for 1000 randconfig build tests here:
https://gitlab.com/xen-project/people/sstabellini/xen/-/pipelines/2114931367

And also locally on my workstation for a full day successfully.


Jan Beulich (1):
      x86/mm: correct PG_log_dirty definition again

Stefano Stabellini (1):
      xen: fix randconfig build problems after introducing SYSCTL

 xen/arch/x86/hvm/Kconfig          | 1 +
 xen/arch/x86/include/asm/paging.h | 2 +-
 xen/common/Kconfig                | 1 +
 xen/include/hypercall-defs.c      | 4 ++--
 4 files changed, 5 insertions(+), 3 deletions(-)


From xen-devel-bounces@lists.xenproject.org Wed Oct 22 23:21:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Oct 2025 23:21:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148554.1480526 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBi9K-0004A7-5j; Wed, 22 Oct 2025 23:21:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148554.1480526; Wed, 22 Oct 2025 23:21:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBi9K-0004A0-2f; Wed, 22 Oct 2025 23:21:46 +0000
Received: by outflank-mailman (input) for mailman id 1148554;
 Wed, 22 Oct 2025 23:21:45 +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
 <SRS0=KROf=47=amd.com=stefano.stabellini@srs-se1.protection.inumbo.net>)
 id 1vBi9J-0003eX-5z
 for xen-devel@lists.xenproject.org; Wed, 22 Oct 2025 23:21:45 +0000
Received: from SA9PR02CU001.outbound.protection.outlook.com
 (mail-southcentralusazlp170130001.outbound.protection.outlook.com
 [2a01:111:f403:c10c::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id decb1465-af9d-11f0-980a-7dc792cee155;
 Thu, 23 Oct 2025 01:21:43 +0200 (CEST)
Received: from BN9PR03CA0220.namprd03.prod.outlook.com (2603:10b6:408:f8::15)
 by DS7PR12MB9475.namprd12.prod.outlook.com (2603:10b6:8:251::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.12; Wed, 22 Oct
 2025 23:21:38 +0000
Received: from BN2PEPF000044A0.namprd02.prod.outlook.com
 (2603:10b6:408:f8:cafe::f0) by BN9PR03CA0220.outlook.office365.com
 (2603:10b6:408:f8::15) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9228.16 via Frontend Transport; Wed,
 22 Oct 2025 23:21:38 +0000
Received: from satlexmb08.amd.com (165.204.84.17) by
 BN2PEPF000044A0.mail.protection.outlook.com (10.167.243.151) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9253.7 via Frontend Transport; Wed, 22 Oct 2025 23:21:37 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.2.2562.17; Wed, 22 Oct
 2025 16:21:37 -0700
Received: from satlexmb08.amd.com (10.181.42.217) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 22 Oct
 2025 18:21:37 -0500
Received: from SATLEXMB04.amd.com (10.180.168.240) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.17 via Frontend
 Transport; Wed, 22 Oct 2025 16:21:36 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: decb1465-af9d-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=op3PEH06WZft9gCkpLAONNJ60f5OuOJo/QGHeAaT/Iz3vJytGpdwvcA4iAwF/0Ie48zJsw840l/W2y3aCzdhJ2So9HJM+v/TCmxyknb6vxx38sOW6eLsqiXxmkDu8t5TM9jLXt1RjFKkEAS/WF5JC1+cy5niVCzP5caYjz8Vi/6wA5TnSQtrID8ZP7ciLi/5wo7qhx0o+uZybTnm+fttdcgByNE5M1MIeP15pWUdAC+ush9dNix54hir6zWafqEUlCE1MkgbsIwlJQ1Y7Fw+BUAxRT9TmV4DAUqqs3jQh2YwviaD+IDanEPfBJXyH9+sVtgxnbK+2mu86KsfA+myJQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LZNtrUCtqCxFaK2QhoJpsm8umUnuvrY2vL1B+GJtJdk=;
 b=vTWACZAmcNBeACu+6JHqJxnEiI5iBOHliBaOo40eObn8RofygYa6+2cz368v5uo43+VD0d9kI6Rgp/eZdqdjR7u+QT6LsoVzl5buDjRUcPsqRzokqSXM7HeAA6njH1ML4cFSzjzeVxBvw12T8LaHDoj7PwZKcN1oYhAX6kPddf1UcQEHCZjmi6zhsWlDlSt+HI85PwIIl/6ohTZncn2S2zs6YZMagJieUtsqgKr3J70aRqE7gXBLJR3CUceJXYCYUvFcCEOR/MLR+aYoy0L0Ji7JtoWTaEkHD7614119Pj0BQyEMlMzhEXHFRcRji3pl6P3TeuTH1p8YgD2k48k5Zg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LZNtrUCtqCxFaK2QhoJpsm8umUnuvrY2vL1B+GJtJdk=;
 b=MkMy0/x3Yvm+y5JorYKvVaOSOFE/nuaivDpojotl4tpRpQL/p0aYA74Fapw4eSmMImp+24S4CYORDQQpZkvgojsGMmLN4lSeezxuKH27nPa1HIPy3kYel2hNIbibzPo/IDhB7AIf9kVEoJj90R/GHzBGJTg8Tf0ox+asUxVAhms=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C
From: Stefano Stabellini <stefano.stabellini@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <stefano.stabellini@amd.com>, <jbeulich@suse.com>,
	<andrew.cooper3@citrix.com>, <roger.pau@citrix.com>,
	<oleksii.kurochko@gmail.com>, Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH 2/2] x86/mm: correct PG_log_dirty definition again
Date: Wed, 22 Oct 2025 16:21:31 -0700
Message-ID: <20251022232131.1190867-2-stefano.stabellini@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <alpine.DEB.2.22.394.2510221616570.495094@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2510221616570.495094@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN2PEPF000044A0:EE_|DS7PR12MB9475:EE_
X-MS-Office365-Filtering-Correlation-Id: 15568535-719a-43eb-e49b-08de11c1bff6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|1800799024|82310400026|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?h5Wl8TT4qaYGG2tSyAVIPBbOk429EG1ap3yDg+5r8m6yraVsF30Up4lOwsbN?=
 =?us-ascii?Q?DUz65PN5Vd+RjSBpMNNT57heyx+18Uriqt7+qle73lzWtxwPUm7Aj9T9b3tY?=
 =?us-ascii?Q?c8497/uOec8mfpReHnimod5fZuW1+rlMYqlP6i004qceogI3jkTD4zxclfWa?=
 =?us-ascii?Q?9I0DYUNZdCyoUdnoXsHXVH9cs3+VTXosgOU8CiQeruKhBTPTJFi9PuJZtX9m?=
 =?us-ascii?Q?tpBZpXPacJJKGrOzk/LhvAjfo39R7DzSZgC66BSiVMImH75QlMUtKSMs01Rm?=
 =?us-ascii?Q?LjfXP0sG9tccRUIfwGnz/OyQi0R7jALbxcNUJ6j7vUvZ/vNVyI42LCIKb3bN?=
 =?us-ascii?Q?EVPJ76AQLFL8LJBGl7AmHQH8RGUNQ3jUMP/CMQlwsHfuTjLey7PmEbrFQzJb?=
 =?us-ascii?Q?nPiS52B47m8IsSLiWxLmKKnn3gwWnWGIIj+yxwKiTSdVyJSnUarQnfzja9oB?=
 =?us-ascii?Q?CcMkvU0TawNrEF52FOnj231JRo0508V2xBY0S/p6TraLPoiO45we1t7iyRYX?=
 =?us-ascii?Q?5jnU3lrAcfIGZMKSj7oEi7e+Z/irXcvN8CouYhfgvCKOrBNZmsxS3OAKM0T1?=
 =?us-ascii?Q?OG4zqYEYv/3dpoDmVBbAYHDkuHKtqlL1AnT4TFNhXzFjIf+iqauprujCoG/m?=
 =?us-ascii?Q?h6G47Cxjlp4eJYCzrEy772Spuoe0RmxO/S/cawI9/C1nXQWK/Oew+ms/PL5M?=
 =?us-ascii?Q?EVZa5dUcPQg2gHntXfWa+GzTuiaz7VKg8BtJnUXEFV08wUVcJxKaiXkQjn1T?=
 =?us-ascii?Q?DB+sYyxQWyzoLUvOVhZ3JNgH9H1/p6Kbn9cj7Z3F6ay8CTp37HDLLCbX9X91?=
 =?us-ascii?Q?FXqHrDPm10Guf6XcxjVbcDW93nddlxBtyFhoin16MXY/iVkvS3bsnV9TMKVT?=
 =?us-ascii?Q?DCn5b8/MjhPWa9zymD4tEvklPU9vaalagDDA4Ja+O/2XY9SuqHWN0MCTUtNE?=
 =?us-ascii?Q?SCHBm2Euv3vMxiJamCdfjDK1XyvSAhBC5DNlzAZddRjK1xr0Hc8oZ+m7IHSN?=
 =?us-ascii?Q?+vYwGxPNWyPxB6MOt0ebjCd0rU8c6O6FdZR8jGcfMUgMxmu/8ptEtmxCgz2m?=
 =?us-ascii?Q?Jb1K6DKPGagLfBsCeaOeOftCkAEqoVTCOQHk7WhLvpnahlTk4c4I4sVFchS4?=
 =?us-ascii?Q?PfxcEZ3HYQuEZRjZjKEdVpQdqu1YG5nSbMrZup9BJgUdU7kY7jxmEX3PreFu?=
 =?us-ascii?Q?yvQ9m9crL+24d3ModGkqacfvYXwJUdn9uHtjR+oTiNxWr0T/IPkeEtvf0gcG?=
 =?us-ascii?Q?f3VTSd8quBuIK//Cid4MrT3MtB96qVdl6cb+Sg+Gp05V18sXzc6q3YRyLAKa?=
 =?us-ascii?Q?zHlQE+YiCUcTM+5WPEDyjMAphzGB7Qbq5PHNyNU1tDkmKD/XBV7YF6rFHHj8?=
 =?us-ascii?Q?UbPPKktFHNF+AJAqx3ZSRqfQfbHcWJA9/axoHyMSvlmbhF9ohREjTqnvdbaE?=
 =?us-ascii?Q?3xv3dEGX1QhbOhPOuwuicsOhfchE2cPlcFMV3p3OZDf/ZZEHJZ1lxncT40dj?=
 =?us-ascii?Q?hpNt07PqTtnoEMKh9cXPAO3Ty/08kpgCjgMbuYMpaX0EpPYPf5itvIT1qDj2?=
 =?us-ascii?Q?pdKnqDNywE4CauYqeIU=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(1800799024)(82310400026)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Oct 2025 23:21:37.9751
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 15568535-719a-43eb-e49b-08de11c1bff6
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN2PEPF000044A0.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB9475

From: Jan Beulich <jbeulich@suse.com>

The earlier change wasn't correct as far as shim-exclusive mode goes:
Shadow mode is still to be enabled permitted there, yet the generic
paging-log-dirty (and more generally domctl) part of the code still is
unwanted (and cannot be used anyway, as domctl_lock_acquire() isn't
available).

Fixes: 2ae8a68df21e ("x86/mm: correct PG_log_dirty definition")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Tested-by: Stefano Stabellini <sstabellini@kernel.org>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
 xen/arch/x86/include/asm/paging.h | 2 +-
 xen/include/hypercall-defs.c      | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/include/asm/paging.h b/xen/arch/x86/include/asm/paging.h
index 1b0694bb36..0c06b0a7a8 100644
--- a/xen/arch/x86/include/asm/paging.h
+++ b/xen/arch/x86/include/asm/paging.h
@@ -55,7 +55,7 @@
 #define PG_translate   0
 #define PG_external    0
 #endif
-#ifdef CONFIG_PAGING
+#if defined(CONFIG_PAGING) && !defined(CONFIG_PV_SHIM_EXCLUSIVE)
 /* Enable log dirty mode */
 #define PG_log_dirty   (XEN_DOMCTL_SHADOW_ENABLE_LOG_DIRTY << PG_mode_shift)
 #else
diff --git a/xen/include/hypercall-defs.c b/xen/include/hypercall-defs.c
index 8370b4b289..cef08eeec1 100644
--- a/xen/include/hypercall-defs.c
+++ b/xen/include/hypercall-defs.c
@@ -197,7 +197,7 @@ dm_op(domid_t domid, unsigned int nr_bufs, xen_dm_op_buf_t *bufs)
 #ifdef CONFIG_SYSCTL
 sysctl(xen_sysctl_t *u_sysctl)
 #endif
-#if defined(CONFIG_X86) && defined(CONFIG_PAGING)
+#if defined(CONFIG_X86) && defined(CONFIG_PAGING) && !defined(CONFIG_PV_SHIM_EXCLUSIVE)
 paging_domctl_cont(xen_domctl_t *u_domctl)
 #endif
 #ifndef CONFIG_PV_SHIM_EXCLUSIVE
@@ -298,7 +298,7 @@ dm_op                              compat   do       compat   do       do
 hypfs_op                           do       do       do       do       do
 #endif
 mca                                do       do       -        -        -
-#if defined(CONFIG_X86) && defined(CONFIG_PAGING)
+#if defined(CONFIG_X86) && defined(CONFIG_PAGING) && !defined(CONFIG_PV_SHIM_EXCLUSIVE)
 paging_domctl_cont                 do       do       do       do       -
 #endif
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Oct 22 23:21:48 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Oct 2025 23:21:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148556.1480536 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBi9M-0004Oa-Cb; Wed, 22 Oct 2025 23:21:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148556.1480536; Wed, 22 Oct 2025 23:21:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBi9M-0004OT-9Y; Wed, 22 Oct 2025 23:21:48 +0000
Received: by outflank-mailman (input) for mailman id 1148556;
 Wed, 22 Oct 2025 23:21:47 +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
 <SRS0=KROf=47=amd.com=stefano.stabellini@srs-se1.protection.inumbo.net>)
 id 1vBi9K-0003eX-V3
 for xen-devel@lists.xenproject.org; Wed, 22 Oct 2025 23:21:46 +0000
Received: from MW6PR02CU001.outbound.protection.outlook.com
 (mail-westus2azlp170120002.outbound.protection.outlook.com
 [2a01:111:f403:c007::2])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id df2af161-af9d-11f0-980a-7dc792cee155;
 Thu, 23 Oct 2025 01:21:45 +0200 (CEST)
Received: from BN9PR03CA0227.namprd03.prod.outlook.com (2603:10b6:408:f8::22)
 by DM4PR12MB6039.namprd12.prod.outlook.com (2603:10b6:8:aa::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.12; Wed, 22 Oct
 2025 23:21:37 +0000
Received: from BN2PEPF000044A0.namprd02.prod.outlook.com
 (2603:10b6:408:f8:cafe::2a) by BN9PR03CA0227.outlook.office365.com
 (2603:10b6:408:f8::22) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9228.17 via Frontend Transport; Wed,
 22 Oct 2025 23:21:37 +0000
Received: from satlexmb08.amd.com (165.204.84.17) by
 BN2PEPF000044A0.mail.protection.outlook.com (10.167.243.151) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9253.7 via Frontend Transport; Wed, 22 Oct 2025 23:21:37 +0000
Received: from satlexmb10.amd.com (10.181.42.219) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Wed, 22 Oct
 2025 16:21:36 -0700
Received: from satlexmb08.amd.com (10.181.42.217) by satlexmb10.amd.com
 (10.181.42.219) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Wed, 22 Oct
 2025 16:21:36 -0700
Received: from SATLEXMB04.amd.com (10.180.168.240) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.17 via Frontend
 Transport; Wed, 22 Oct 2025 16:21:36 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: df2af161-af9d-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=R82Jvr4ADWm8F9AoiYmh8OOr+RfIhpoDhs5rGO5aCfzZGfDMozDypwRdwAxmuE7zYi8BaM0VH6gj5OktmFpmSzNkMbOk+C6jvrlZFsGaiyzh+GzwadH3z9tsP/gGabMI74EbS5bvWCeWeVpzBEjU0zSdTnRtKi23PpU9QU89NMgAMk0yXF257CfMUgpEhcLCf6c+oW7URZqoZXOiXnVGE559akRxeG8BhlAZrdkc1jl3khyVfTNGLQcCaaqngDE7sSxRRztcdBvRMvyAGI+bk2WW9OqbmAq6MYHGpt2yz1kv7v2VVpFYFlamSsi38vWsC+oFlcr1a+v2dd92Yd9cag==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=IsHimIMTsp2/hUmFO7m0Fj6zDKoxkBYdLmVHK3uqdOE=;
 b=YCDqpuUvixq1usU+rvObcYBh2N9GAjosR55GLrZs1/iVdOBH8UrXdDxOELwkJvyYTmOpWgf499y4JsyQ+2N6C7A8Vo3scljVpaf23AtplPtEefKA+X+a0hilsZj1zOqb0t2BWC4tujOcBIoHmmLA2kuAjzFA89GdOpylnatqEYgWVnDtGog3ENOzSnBSmyqdldFNzK7KMcbaq+JP0QGPdo9wwOmEt8ZS7/KMFEnFSd7xplisBtTxHL0RdoCeJ66vq5TYRGOUywOhyeD3dMmbiQjjxYgCQwSQ0zefu0dDM0rcQ3m5jmFlg9QgHv6Ki6/fZKRrxQ3r45TDjdxjcDy4+w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IsHimIMTsp2/hUmFO7m0Fj6zDKoxkBYdLmVHK3uqdOE=;
 b=Fcf8B4Uc1d6BH1NRUYacy53LVNrTI/O/rvDMMW54KupNypKwecoUN5qZuuHn3Jy2kERSHXB+g4zGRSDKHf9ruyk6mbYm3IUVNBANqzSWDtZcTz+A70z+dsNzOdgoXGjUh7Wi9TYcIeoAY1A3helcTPuVU2srJ0p0v7+hnF2mjeM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C
From: Stefano Stabellini <stefano.stabellini@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <stefano.stabellini@amd.com>, <jbeulich@suse.com>,
	<andrew.cooper3@citrix.com>, <roger.pau@citrix.com>,
	<oleksii.kurochko@gmail.com>, <Penny.Zheng@amd.com>
Subject: [PATCH 1/2] xen: fix randconfig build problems after introducing SYSCTL
Date: Wed, 22 Oct 2025 16:21:30 -0700
Message-ID: <20251022232131.1190867-1-stefano.stabellini@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <alpine.DEB.2.22.394.2510221616570.495094@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2510221616570.495094@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN2PEPF000044A0:EE_|DM4PR12MB6039:EE_
X-MS-Office365-Filtering-Correlation-Id: 03d8e847-0aef-4b8c-b05b-08de11c1bf6a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|82310400026|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?Dsm3kjhgOvde5K1GgCjR9rouyfFdDXzeLMFOaoAMYYx7HY+j9T6/j8tCUuyA?=
 =?us-ascii?Q?gKAmuzKuVmI0ANpbqrM9jCd2RTbXcykyoYJcPZoueX/Guft8QJOkK7mxZ6Dv?=
 =?us-ascii?Q?4SJQTmQTwcrvtDsCUoX3WyeICf7KqlwrxQYSlEAmqe8wGOJhsiOxZmx8m/ze?=
 =?us-ascii?Q?yDfVo7alKy8WUCSQI6z/jLl0ZxbFSVRmVJmuKhjbfvkWmXNyWWdbVryv+re+?=
 =?us-ascii?Q?oxEkFuutvVdjl0bzhZ/hu3WTHi442/5k3QIkM/2QRxtAome2gSsMvwPsBDZo?=
 =?us-ascii?Q?l/1TVvcihPEZwbLka1QhkbGuXkUDxYBRwq9mtfVhwa2cdoMVEd0iNTSgR8nF?=
 =?us-ascii?Q?5OfMk/zUi6F4zOaUiyVfWY8nozechWW9JeKmdOvKTM/kWZY6RBGrIEczdtH1?=
 =?us-ascii?Q?Oz4PzzidjH0JCaLk3NOSRESFGOAO0JWSBu3uxhLJ1pzoTV2WqV+nlIySziXL?=
 =?us-ascii?Q?0HcYMZaHZYHdoMtRaUVZaApgDN2Tlm9OGf9QCC7Gn85LtgnA0WTzOEV9cq/A?=
 =?us-ascii?Q?N7pdjCXe7ER+TMLbheVvUB6btWGY2re5pua1cbKgnPZIYLpQArYEbOCBbwkD?=
 =?us-ascii?Q?IVrwfGoE3YmMdCIw5JqnV6Zho23OZukil6PQh/k3YtqF7lyI7OmF1hjqbZgw?=
 =?us-ascii?Q?Ibiuf8lRm0I8Atdl4sp6jbrMNZoln/XamIb5AC6BMssV4i6BHUuCLcGrhPzH?=
 =?us-ascii?Q?Te0INhh6021tKuDhYAJY62FcUcI9sZGR3gsRGVDjS/AI324ri+zHaVtRjT6l?=
 =?us-ascii?Q?cluDrgNOJRorwWMLJ7U1APCKz0NFLfZGx4m/Cik2mmDKp+npFNwjY7PZia5r?=
 =?us-ascii?Q?Zz/wRkR10xp8UtpGpfaJA8oMVigavcXnjNuL9ZCci0bvKrvWwurBQYUrBvru?=
 =?us-ascii?Q?r565IEPxLoCOwQ6064yhDTcnmwaIsZksQ9GPmRHZ3jFPl7crTZiz3aV/75na?=
 =?us-ascii?Q?do0akWkaLyCW28eJ+TQRSrErW/LP1uXsB56Pbqk7BticNWqwM+y9ygXCay7T?=
 =?us-ascii?Q?T1rnhY7MngiQfTR82IVvi350s9V9cKQru1WKZFkDtGrWmmFi51FrLMpxF03x?=
 =?us-ascii?Q?an3yhuguhmqhJpar2415cNG7YleNxcBS0Q4hzsR42fuV+J300uw0aLotZoXo?=
 =?us-ascii?Q?kNBt34gzmQbOTHzaSH1fvP73oAvtNI2pxl1EbMgaVorfp1nHbw7YmNwx0MSl?=
 =?us-ascii?Q?eGKjZvmgI3xTrL28J5OXose1nubvHbLLgurVVXNpyC2R7WgYRUsKQBNqU/fc?=
 =?us-ascii?Q?8kxk7O3X5gIpcaW1wC9ytMm9N8T/p224cJpe43jABIFpYT0KAb0RFEoH5Mo+?=
 =?us-ascii?Q?TOgZAN3MHKzG53yH9cNYBTPVA3U1FwndeRf/XaKfXtLbcjMZA2Iok9+dszH9?=
 =?us-ascii?Q?MeTSAPTpvA/OgavEQQbUhKBgUXhon/PHTzXF9Qh0g27kfO70qBDGx4O4MwBe?=
 =?us-ascii?Q?tUMSc5Z+68fdTne+8Z+VzBoN2NhUPe2u/ciRtUQEVUnYbmF4p5Pxgn2z6HUP?=
 =?us-ascii?Q?Fkf1E4DWSdPfPtacNRG/KAo9h15wxDHf79lpiRNx7cCLash5qBHIV94VasVo?=
 =?us-ascii?Q?ep9sfHb75M8dpXZq9TQ=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(376014)(82310400026)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Oct 2025 23:21:37.0568
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 03d8e847-0aef-4b8c-b05b-08de11c1bf6a
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN2PEPF000044A0.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6039

Fix a few randconfig build breakages that started appearing after the
SYSCTL patch series.

First, reintroduce depends on !PV_SHIM_EXCLUSIVE for HVM, as it was
before 568f806cba4c.

Also, add depends on !PV_SHIM_EXCLUSIVE for SYSCTL, that way the
behavior goes back to what it was before 34317c508294.

Fixes: 568f806cba4c ("xen/x86: remove "depends on !PV_SHIM_EXCLUSIVE"")
Fixes: 34317c508294 ("xen/sysctl: wrap around sysctl hypercall")
Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
CC: jbeulich@suse.com
CC: andrew.cooper3@citrix.com
CC: roger.pau@citrix.com
CC: Penny.Zheng@amd.com
---
 xen/arch/x86/hvm/Kconfig | 1 +
 xen/common/Kconfig       | 1 +
 2 files changed, 2 insertions(+)

diff --git a/xen/arch/x86/hvm/Kconfig b/xen/arch/x86/hvm/Kconfig
index 5cb9f29042..f10a2b3744 100644
--- a/xen/arch/x86/hvm/Kconfig
+++ b/xen/arch/x86/hvm/Kconfig
@@ -1,5 +1,6 @@
 menuconfig HVM
 	bool "HVM support"
+	depends on !PV_SHIM_EXCLUSIVE
 	default !PV_SHIM
 	select COMPAT
 	select IOREQ_SERVER
diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index 76f9ce705f..53f681bbb2 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -653,6 +653,7 @@ menu "Supported hypercall interfaces"
 
 config SYSCTL
 	bool "Enable sysctl hypercall"
+	depends on !PV_SHIM_EXCLUSIVE
 	default y
 	help
 	  This option shall only be disabled on some dom0less systems, or
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Oct 23 02:25:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 02:25:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148621.1480546 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBl1G-0000rU-Ov; Thu, 23 Oct 2025 02:25:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148621.1480546; Thu, 23 Oct 2025 02:25:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBl1G-0000rM-KA; Thu, 23 Oct 2025 02:25:38 +0000
Received: by outflank-mailman (input) for mailman id 1148621;
 Thu, 23 Oct 2025 02:25: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
 <SRS0=yEuJ=5A=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1vBl1F-0000qx-9S
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 02:25:37 +0000
Received: from SN4PR2101CU001.outbound.protection.outlook.com
 (mail-southcentralusazlp170120001.outbound.protection.outlook.com
 [2a01:111:f403:c10d::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8d74c2d0-afb7-11f0-9d15-b5c5bf9af7f9;
 Thu, 23 Oct 2025 04:25:35 +0200 (CEST)
Received: from BL1PR12MB5849.namprd12.prod.outlook.com (2603:10b6:208:384::18)
 by LV2PR12MB5773.namprd12.prod.outlook.com (2603:10b6:408:17b::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.12; Thu, 23 Oct
 2025 02:25:30 +0000
Received: from BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::53da:e77e:261e:5a29]) by BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::53da:e77e:261e:5a29%6]) with mapi id 15.20.9253.011; Thu, 23 Oct 2025
 02:25:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8d74c2d0-afb7-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Xb55xaJy05uRO5uGPdBbDgHxsjj00Id94I/ByHaqS0vnzxF/CaUW51O2gxSGmIsYnkH/wn5Ryc4V3tmF0lwMPQiu4vjo8y5QjChsKIpAJdh3kyQeVf+CWhg8d/Jt23oLDQidR0SQ0J0mXyLMXN22Xqd27kFNDOYtsXauhWNIo6/WFVoW+HDVdUNBQfZozuomAu78WvWovsc1/I2X1Tg8pk1Rvya73yDz9SLDBpnp1pdQp17Bh8uy8bWJ68YgLeezND/+gsVUUmAzH/iRHLtrGzhjnfm7WDQeVI+QTxlrZgfugzpIYrKxDgYkHsCKMbZODJZOzpt81/X4HfXb+886qg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KwI8Jl+ChhvKoKQaMS6NJrodNHxjYspB7aG2ObOZ+OQ=;
 b=NYhxY7dGq/RLvdkAPjKh9O2aJmxK9mhJ0AnPmkguNMhXI5KVuAEsj/NbDOebHwAo9HfQR0ivhDMK3npoFi7UsGHkuSt0zonGFZ3tfqla1pBc12uQhSBcBosfX36JU5NiKv9lT6B06osk72T+lns79mdZ/lt+Uknik8bzuLJpcyshl7YL9WsEo9HXSwmbUvhrCiKMTrVGgd0spxc+nUXwAFVo45WKJ46qS6OVhVgkOm+cODpuKINl9LoioLK+Y0pzIMKoXwYYf0gbGByv0Nl9fQIClSdxVFwpjQ29fcowLlSELl5JFJpQJ9GB+5cO3zlir1UroLfrl5w4UwbFYPOpZA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KwI8Jl+ChhvKoKQaMS6NJrodNHxjYspB7aG2ObOZ+OQ=;
 b=d2yET/ptm5DwPQqTC4Ub//2nIH5PWa3v2B7np5YXSTcLmM8UaBacxnFyayG5+16GDiRtjYfasM4wdylOSaUJpDnLvyUjAhY/OgYEy1dnlG4Nks0vVzHtMmj9BkEp3/aHqlJ4bksCxhLgZ9172ozpAMdW8z6kBHhzN6OgbU7dDc8=
From: "Chen, Jiqian" <Jiqian.Chen@amd.com>
To: Anthony PERARD <anthony@xenproject.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Oleksii
 Kurochko <oleksii.kurochko@gmail.com>, Anthony PERARD
	<anthony.perard@vates.tech>, Juergen Gross <jgross@suse.com>, "Chen, Jiqian"
	<Jiqian.Chen@amd.com>
Subject: Re: [PATCH v2 1/1] tools/libs/light: fix BAR memory address
 truncation
Thread-Topic: [PATCH v2 1/1] tools/libs/light: fix BAR memory address
 truncation
Thread-Index: AQHcPBVojxVVZQBbcUyvi85wGyhb8bTOXUEAgAE5GYA=
Date: Thu, 23 Oct 2025 02:25:29 +0000
Message-ID:
 <BL1PR12MB584995CDDDB34F3CA6A03B50E7F0A@BL1PR12MB5849.namprd12.prod.outlook.com>
References: <20251013074533.67478-1-Jiqian.Chen@amd.com>
 <aPj7zIQ0b0wYFQ6w@l14>
In-Reply-To: <aPj7zIQ0b0wYFQ6w@l14>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-imapappendstamp: BL1PR12MB5849.namprd12.prod.outlook.com
 (15.20.9253.009)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BL1PR12MB5849:EE_|LV2PR12MB5773:EE_
x-ms-office365-filtering-correlation-id: a3f19bb8-1d8e-4bac-387c-08de11db6f93
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|366016|1800799024|376014|38070700021;
x-microsoft-antispam-message-info:
 =?utf-8?B?MG85RWt4Ly9WOFdMdGZIQWdwcTAvMnE0MHpjaEZkUDNsbjhldjhSVVVieEtR?=
 =?utf-8?B?clE2WFdGWkQ5emQwUU9yazBJUHNxbjNLSTNoVmNLZGxvaDlWa1VGcW5CS2ZF?=
 =?utf-8?B?OEpSc0krQzluRkpGbEVvKzRmdlNOUlVDZVZaVkR2ZlQvanNRMEdNd3ZtMVhS?=
 =?utf-8?B?ZzgzY2haWHhRSkMrMzNReDZSbkREbXlJTk9IMmNuaCtaR2NIbEVEcFpyL1Fq?=
 =?utf-8?B?NlZiRkY2TC9mRHdzaEtUYVpKb05LOFluakVQTU9rdm00SzI2R3hmMHovRHFT?=
 =?utf-8?B?ajlwa2tKdmlFYlpGblI2a0p4SlpkOGRldDFEaDd5R2RkNzVvR1NmU3oyYkhu?=
 =?utf-8?B?VzN5c3c1dzlIRjFuS3pIVU5PQmlURm1yVnFJKzI3RTMwOXB1YS9MdTlTK0pq?=
 =?utf-8?B?WDlCVG9SYmV2WXl6Z2RsZW9UK28xK3pBT2lZSENGK1Z1OGFORE54bzVhR3pz?=
 =?utf-8?B?WkxEMHRWWVpTV2tuN3dNS3I0S1UzSmJiUy9QT3pjVFlpR2ZPUlZ4VXZOOXha?=
 =?utf-8?B?V1Z5RnBuRWlZbU9pcmhETW5lS1VHaU1XOVB0eHFQV3JlU0crWTdvZ1NqUUV4?=
 =?utf-8?B?SUZNUXpBa3BaR1puLzB1M2ZVbU9LSTFvVWV4cWUyL1NzV09RRXZJMGlXQjdu?=
 =?utf-8?B?TEZtS2ZISHVoMDd1OUFtQ0NDb2ZJUkJTTEJPRThCTEVCa1oyUmRFM2kvT2RE?=
 =?utf-8?B?OGpJQU1WY2FzVXh5ZE0rYnlWbng4VENqeWJaYndjTWp0dHdsZjZGQ1ZtZFhK?=
 =?utf-8?B?QXVadHBoTFhydWRmQXIxYm5LQk9lQ3pNTWtaN1FYRkdBYjhWRU9tZG05SlVY?=
 =?utf-8?B?OGFaZFhHZndHZnJ3ZHFXdTVVMTFHcS90Yjk4N29FamZJYXAvUlFYcHZTUE5J?=
 =?utf-8?B?RFFwK0szd1FQY1FqRTZaWENva3BVeEhveVpXWnIxSE8rWENwZk1pbnA1cHRT?=
 =?utf-8?B?djF2OUpPMmNNSm9uSGxmNXVJOU1TbGFwWktDSXJ4KytNZGlKcGxndjBMY3VY?=
 =?utf-8?B?b3h5QWJZNXVZT1VhQVhMQU40djlpVTYweW9RUDlCbDhUalhPamRtdWNjeDVo?=
 =?utf-8?B?M3lXWnB6WjlNeWRFMXZKbUxFY0RCOEhnWk9sTDZlWld3WEJSREVOaTZCQ1Zm?=
 =?utf-8?B?WnpnRFI4RksrZUtNMzJGaFRGcTVxcUR0ZXJBSmpCc3UzV3VLN0pVVWRTdWFl?=
 =?utf-8?B?cC9GZHVHWnVRbkRxZjVBZDZndm1wMFFPc2hXbVk3b0Ewd2ZpTVBGY3RYOXJu?=
 =?utf-8?B?bmkvUjZRNlRaVy94MHN0KzVnZXZTZEJYV0NJdmRleWU3azFiRkV2RkpqSzNv?=
 =?utf-8?B?azNiZmRlYllwbGtWWCt3a1ZmSHhhNUMvaG1NQ0FlTTJVSG5RMFFLenpvN0Ev?=
 =?utf-8?B?M3ZsTFV1MC9YY3ptQ1dpYTBBekNWRDZhQmN4Tm1GZS8vU0paWnJkc1ZwRXc2?=
 =?utf-8?B?SDR0ZzZXQUE4M0FyT3puM3Iyb2dOYndHRlFiblZlVHpuZlBNMDRTWHRSUGp2?=
 =?utf-8?B?S2hkVStvOWRqMExUdmhLNTE2T3VRYmpWbU12d2xaMitHUyt6eGFhNTFsOFI1?=
 =?utf-8?B?aUhtMWI5REtaRXVSUEpZVEpTVEVtcFpGQkZHZ3ZNdElDR1JmZkFxZS9ZQTNK?=
 =?utf-8?B?VWNack5WZlNnWGdPbEUvMmlmbUNYZzRxeEkydDBndk51T00ySUlOdG43cUtJ?=
 =?utf-8?B?ZmdIK2Q2ZU56WThrcXdwM3hTN25Ed0dUTEdOUm15N0NMT0xhM1VOaTBEM0lT?=
 =?utf-8?B?RjFKVXE3K1VRbzUzNzZVN0JKU01vaWhjN2NQRThsV1VnbDNaRVBGM3cwcGNZ?=
 =?utf-8?B?bU5LZ29KRzhBZTMwU3F1bm1uL1h5MlAzMy9Pc0R6a09CYmd1MkcxK1R2UCtD?=
 =?utf-8?B?Sjh1citneWllcWZSc3lESlZRaXV1Mm8xZGVZYWx2aThJM21hQnhIU2s5Ritw?=
 =?utf-8?B?UG1BdW5HN3E5clRFRjVlaDNDODhNMHNubmZWZHplQjh3L1g2VDZVMlZqdlBs?=
 =?utf-8?B?cFdRc1l5QVpKWjc4cThSS2RaR1FYL0wxRUZ2dTZ6dHFkRCtFOWsxaFNsc2g1?=
 =?utf-8?Q?OTaiC7?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL1PR12MB5849.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(38070700021);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?L0tJL3Z2WXp3aTVuRlpwM3JMWDRyc1NJOERDNCtkYUJFcEI1amM4WmYwRnFW?=
 =?utf-8?B?UHJtbVY4azJaQ0lrZGpoWHk5NHBuZEltaW93dXA2UjBBUUZPeGdDVTUwWWNF?=
 =?utf-8?B?aGV4eHBQNmJobU9rMURvMG5reWxpMjY2Q0VkeVZQSElldkpjM1lmbWxxUHFm?=
 =?utf-8?B?cStKVnY5R0RLUXFiaEd2MzFEdHZ3UUhXQWtMRUVTeWhKUFJnRElqbzlWOXRE?=
 =?utf-8?B?ZzlXQjh2U0xHSjZCWHE3dFRPMVplQlljUFRYbzd0eU5rQ2RSWHhhbC9oN2hO?=
 =?utf-8?B?cUhKOEMrQkVtRWxESFI2ck9zVWdCZkp0Y0V4QmpCMjA0MVFTQnV5QzNDblpM?=
 =?utf-8?B?UWxpVXRYWitXSmJXU0dzdk9Pc2ZlcmVXMFhmNEc3SzdnSHY1eFN4SFFXNjdN?=
 =?utf-8?B?c1k4Zmhya3hGWVdjeDZpM29lV0NESHdZRDVPNlM5U1RJay9qZVlLSFhJM1Fm?=
 =?utf-8?B?TGxqd051V0tZZ1lzY1NtcGdaQWRhelB3OWNZS2hXbG5kT0c2TDdyeFkzeVlz?=
 =?utf-8?B?dWtBS1pJcnF2WEV3R1ljaXVEeDIrVHM1enZDOVVrYlMzTHFiYzd6NFBLNUs4?=
 =?utf-8?B?ajV0d3BmOTAvY2hpUEFocHFNWmViMHl3SXZranIzeW90QkJ6elMwNk9IVjVl?=
 =?utf-8?B?ZnI2NXExRWltS2ZxRzdzcWFueE9TL0VjbEtPVDQ1aVRqZVRncno1Y1N0VzZw?=
 =?utf-8?B?elk2Zy9uZFV2RXczd0pNSGRCREFnbEsvSkM2N1FYNWY5K3k3Z0lubkp1eVZZ?=
 =?utf-8?B?d2g3NDJhdWJURmZtM0xtb1hhZmJtc1p5dmVMZzQrVzZWUjhyY0pKUzJFeFEw?=
 =?utf-8?B?RVRPUXJVdkFuNENmN1NPRlY2dDZCalRsR2kxaTk0NEdHTlROckVrSUpGZGEv?=
 =?utf-8?B?SDNBMkR4NnFyWWF3QVdmVmJqNllqMFI3UkNIUUpQUWNLVmdhNUFJaHdVT1Ft?=
 =?utf-8?B?M2xwUjYzUEg2Uk43ZnI2UkczZWhzYmVHVGRoekxSQkVBOElLZG0rZVpTUCtv?=
 =?utf-8?B?eUVnSmlIeXdsa2RmcW5vNlV1NXFxSTI0aUVhTWNqOG1KZXBEWWF5ZnZWNkh1?=
 =?utf-8?B?RnVzT1k1VDFpN1BRcFk3N0FiNEkweSszUlRGdFZzSGl6V3ZwbjFzZFpoK3pJ?=
 =?utf-8?B?UEg1Y2d1cC9hc3FMVW8rcmhHUlFTVVlPT2pENVBaQThlQ0dUVE80VWdjWldi?=
 =?utf-8?B?TVlMM3pNaCtKOE9WczdJb2ZCRFMzMGJCYlhWS2NwOVhPVzJDVlcvOFZyMGRv?=
 =?utf-8?B?SFRrdXRvUmNISTVqczFzS3ZjUGxLNjRjUUZYT2I1dFlHUy9ISmVqT2V5NHZB?=
 =?utf-8?B?T0MvSWlHN0RBVUJrd3djcXR6ZlZ4MTJ4bmFUK3Y0SUJnOGovSWJCbXR4YzNE?=
 =?utf-8?B?MlMxdGgwSWl3Z2hNV29oaHJrdXFJcHIzb2t1b2hvUkVUUnZOUjNTSXpjQjFk?=
 =?utf-8?B?TEpiZklNdnVVVXppSCs3amEyajRLRGVuWk9rMjVvenpwMHNrTHVOUWd1b2tP?=
 =?utf-8?B?U1htdTEvTUdoWkNUMG9pZWpTbzRZbGNGcTFqRy9nVWlVMHNDc3htS21aYzFG?=
 =?utf-8?B?RTZST3N0Z21ITk9KOEV4S1BERTRnUExzZ1lxc0hRSVV3bWp0QlBudG8rQkVI?=
 =?utf-8?B?ZjFMVWdhYWZMQUVLREtWeVNQbTVoN0sxR3NXU3hkQmI0SmR1aVpLQkswR2dL?=
 =?utf-8?B?bU9Vams0Y1g4YzFkaTN6dTQxalBOVUg0dHFwR0pqR1hmMnFvYnJ6SG01SUZr?=
 =?utf-8?B?ei9MblU1RGNPNHM5RXh3aEJadGRubEtWQ1lSQ3dYSk82YUEvaTJHSzR2OStK?=
 =?utf-8?B?QXp3RDRJdU92WTJ6alNUMXlEdUtPQzVrODQzdWNWa2NNdmRxMGVqcXQwSi9Z?=
 =?utf-8?B?TGluRVV1czNSajRJZXlVelNodEtvTGVwR1NSVzN5SHp6QmltUTFTRDNsZFBF?=
 =?utf-8?B?TlVXQ0gvWmU5ZUx1V2dQL2I3MVg3azE0cXBVVEFDai9DR1AzZXprc2lFK015?=
 =?utf-8?B?Nm9ZTm13MDk0Q0FveFAyVWpIODJickNhb1diUXd5bEZQTmZTc1VzalVLblNC?=
 =?utf-8?B?ektqbWRqb0ZveGdNSE1xMkZaSFp3SGQ2T2dUNlNGOGs1MG13Q0tLM0NPZUY2?=
 =?utf-8?Q?ZH9E=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <AF96A154400C4844A840EF71AB04305E@amdcloud.onmicrosoft.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BL1PR12MB5849.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a3f19bb8-1d8e-4bac-387c-08de11db6f93
X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Oct 2025 02:25:30.0241
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: m3etiTSDOn6tl0RyNmuMzmJE3S41bbFnq9WCa4vO1vL163XkVGt1XNleV6hS5xwq6uQnlWq/wL9avSbizssKAA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV2PR12MB5773

T24gMjAyNS8xMC8yMiAyMzo0NCwgQW50aG9ueSBQRVJBUkQgd3JvdGU6DQo+IE9uIE1vbiwgT2N0
IDEzLCAyMDI1IGF0IDAzOjQ1OjMzUE0gKzA4MDAsIEppcWlhbiBDaGVuIHdyb3RlOg0KPj4gZGlm
ZiAtLWdpdCBhL3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxfcGNpLmMgYi90b29scy9saWJzL2xpZ2h0
L2xpYnhsX3BjaS5jDQo+PiBpbmRleCAyZWEyY2FlYjY2MjQuLmFlNDE2YTE2MjM2MCAxMDA2NDQN
Cj4+IC0tLSBhL3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxfcGNpLmMNCj4+ICsrKyBiL3Rvb2xzL2xp
YnMvbGlnaHQvbGlieGxfcGNpLmMNCj4+IEBAIC0yMDQwLDcgKzIwNDEsNyBAQCBzdGF0aWMgdm9p
ZCBwY2lfcmVtb3ZlX2RldGFjaGVkKGxpYnhsX19lZ2MgKmVnYywNCj4+ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZSwgMCk7DQo+PiAgICAgICAg
ICAgICAgICAgIGlmIChyYyA8IDApDQo+PiAgICAgICAgICAgICAgICAgICAgICBMT0dFRChFUlJP
UiwgZG9taWQsDQo+PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAieGNfZG9tYWluX2lvcG9y
dF9wZXJtaXNzaW9uIGVycm9yIDB4JXgvMHgleCIsDQo+PiArICAgICAgICAgICAgICAgICAgICAg
ICAgICAieGNfZG9tYWluX2lvcG9ydF9wZXJtaXNzaW9uIGVycm9yICUjIlBSSXg2NCIvJSMiUFJJ
eDY0LA0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnQsDQo+PiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBzaXplKTsNCj4+ICAgICAgICAgICAgICB9IGVsc2Ugew0KPj4gQEAg
LTIwNTAsNyArMjA1MSw3IEBAIHN0YXRpYyB2b2lkIHBjaV9yZW1vdmVfZGV0YWNoZWQobGlieGxf
X2VnYyAqZWdjLA0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDApOw0KPj4gICAgICAgICAgICAgICAgICBpZiAocmMgPCAwKQ0KPj4gICAgICAgICAg
ICAgICAgICAgICAgTE9HRUQoRVJST1IsIGRvbWlkLA0KPj4gLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgInhjX2RvbWFpbl9pb21lbV9wZXJtaXNzaW9uIGVycm9yIDB4JXgvMHgleCIsDQo+PiAr
ICAgICAgICAgICAgICAgICAgICAgICAgICAieGNfZG9tYWluX2lvcG9ydF9wZXJtaXNzaW9uIGVy
cm9yICUjIlBSSXg2NCIvJSMiUFJJeDY0LA0KPiANCj4gV2h5IGRvZXMgdGhpcyBtZXNzYWdlIHJl
ZmVyIHRvICJ4Y19kb21haW5faW9wb3J0X3Blcm1pc3Npb24iIG5vdyBpbnN0ZWFkDQo+IG9mICJ4
Y19kb21haW5faW9tZW1fcGVybWlzc2lvbiIgPyAoSSdtIGd1ZXNzaW5nIG92ZXJ6ZWFsb3VzIGNv
cHkvcGFzdA0KPiA7LSkgZnJvbSB0aGUgcHJldmlvdXMgZXJyb3IgbWVzc2FnZSkNClNvcnJ5LCB3
aWxsIGNoYW5nZS4NCg0KPiANCj4gQ2hlZXJzLA0KPiANCg0KLS0gDQpCZXN0IHJlZ2FyZHMsDQpK
aXFpYW4gQ2hlbi4NCg0K


From xen-devel-bounces@lists.xenproject.org Thu Oct 23 02:32:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 02:32:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148637.1480556 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBl7R-0002UV-GQ; Thu, 23 Oct 2025 02:32:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148637.1480556; Thu, 23 Oct 2025 02:32:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBl7R-0002UO-Dc; Thu, 23 Oct 2025 02:32:01 +0000
Received: by outflank-mailman (input) for mailman id 1148637;
 Thu, 23 Oct 2025 02:32:00 +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
 <SRS0=yEuJ=5A=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1vBl7Q-0002UI-Dv
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 02:32:00 +0000
Received: from BL0PR03CU003.outbound.protection.outlook.com
 (mail-eastusazlp170120007.outbound.protection.outlook.com
 [2a01:111:f403:c101::7])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 71c3eef3-afb8-11f0-980a-7dc792cee155;
 Thu, 23 Oct 2025 04:31:57 +0200 (CEST)
Received: from BY3PR04CA0001.namprd04.prod.outlook.com (2603:10b6:a03:217::6)
 by MW3PR12MB4346.namprd12.prod.outlook.com (2603:10b6:303:58::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.17; Thu, 23 Oct
 2025 02:31:51 +0000
Received: from SJ5PEPF000001E9.namprd05.prod.outlook.com
 (2603:10b6:a03:217:cafe::b9) by BY3PR04CA0001.outlook.office365.com
 (2603:10b6:a03:217::6) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9253.12 via Frontend Transport; Thu,
 23 Oct 2025 02:31:50 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 SJ5PEPF000001E9.mail.protection.outlook.com (10.167.242.197) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9253.7 via Frontend Transport; Thu, 23 Oct 2025 02:31:50 +0000
Received: from cjq-desktop.amd.com (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Wed, 22 Oct
 2025 19:31:48 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 71c3eef3-afb8-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ciLZh4e4K/7BrdkYhML1CnuRNtAD3opaOUJJrtIs4lYiQQBbU24l2LzE4QVkLwxbTLcrMoYY3NtTxMBmL11Wg087A/v6R6oUL1R3e3EAur50bgO06sHbPfMrlHPCIdy+EoVKnRmdTd4pflGWkbY488EDYs0WZSoq0RxOZ9cj8/HP7XBHbw1qffmJRfSLiSAns0JPA81vngsNUZ5V3lxvZ5k2fRLzKU60We470LJMzGUhn+9trd9gA6eFVvUrGxtyYi7xdHXbwLbmGUtzQP8VI9zFGhr5QVvxsrlBwbIYNvvBelZDpzon4KzY884TBhMMbm2h1KyfZL7n40X2jT/jFQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Jzzlbktxq2hou8uT/J3+lh+jDqmABPI0cz1BM5u8Ppc=;
 b=FYFSgsjYXGFNJD+kPpgPp0ej7jWTWhnH8nNJ6uJIj9iXJGuc1Tp21B+9nFgBaTDyZ41Lzk7LTbeiTb94w1qc34Qtebfv1zCF0LMzQyVjkorIICTgSHKIReq/+GkrgcNoumiorBxV95B5uqDeMouehzO53ARLI6p9WiNxw0nSz1i6KWWrwn2DB6CbhEipRNtzEwRXaPu4nuMQSx3rjj5TigTctpe9SfSpF/42//1fX8MKq4nc9uzx0nnlRWDQcog0GLRBOErr7krQ3iOxlMpXYy/e7efmP//QkCZgGStuSMhcUkuOBvADU3uJa8yFM0BBqc//Mq5bKnjkZEdabk4rjA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Jzzlbktxq2hou8uT/J3+lh+jDqmABPI0cz1BM5u8Ppc=;
 b=oyRDoNqpblDq9f1H6QEYxWa/ZSSjaPCPmgGVIkPAmqcPI6eeLshW7nj6e9X3omMb0jJPSpc5yZf4zxwmhE7H1oPupmFY2QXN7ZMi+jNbbY9BusCuKL+voclELUhKK01Es2qNb53FZZ7npvUDdg87ZxEhlVmwy0Vm3eRN8EHVU3Q=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
From: Jiqian Chen <Jiqian.Chen@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Huang Rui <ray.huang@amd.com>, Jiqian Chen <Jiqian.Chen@amd.com>, "Oleksii
 Kurochko" <oleksii.kurochko@gmail.com>, Juergen Gross <jgross@suse.com>,
	Anthony PERARD <anthony.perard@vates.tech>
Subject: [PATCH v3 for-4.21 1/1] tools/libs/light: fix BAR memory address truncation
Date: Thu, 23 Oct 2025 10:31:28 +0800
Message-ID: <20251023023128.11589-1-Jiqian.Chen@amd.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com
 (10.181.42.216)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ5PEPF000001E9:EE_|MW3PR12MB4346:EE_
X-MS-Office365-Filtering-Correlation-Id: 5beb4429-57ad-4644-175c-08de11dc527d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|376014|36860700013|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?vpwAcexLl07bun7UmxADnjXv0+vtDGIBycEB1WiQvngUnwACZ8dgaBcBNw7L?=
 =?us-ascii?Q?fMp0n1g0oyy3KU8uPae3aLqnIVs54nkrbfdqzzyX7Uw5KCEzJdgWMi0IFCgy?=
 =?us-ascii?Q?br+FpOBqu+mMT+x1TsYoxAiUpHa59McLL8qbfGPv3Fc74VYY6/uJxmV5ocyk?=
 =?us-ascii?Q?mybeOk+uzXGwRkAE80ie3TpSB4YyoeWMvJYl/yGGOMGwKgf/cu4jD1G5V3qj?=
 =?us-ascii?Q?lkmk9iSXNYlY7uUmHPcDIgRfyiRcCqKK1W/iosPpm0Jw5CdztzIrnGLssiYh?=
 =?us-ascii?Q?8Vr+MWTlYNx6uxIS3q97MeLdkEp+8aGpuuEsYSVeBj7bOlRd4LOdmpFe2cwe?=
 =?us-ascii?Q?u+FutFm2yZkepXio5pgr2a7RBuaLo4jRC2xryOWJvXTPgXlTT82d1HUxviLg?=
 =?us-ascii?Q?EdBuMGP/O+fXN98zpFugO7E/Rg47nNhkRBOZGKEtZ3LuS+DKdHJw3M7KcpC6?=
 =?us-ascii?Q?J1pxl16G+3DbxxUGsFXT3biq57JNXp1+8cGWB8gVQdr8R68RqZ3eaGXFmkwr?=
 =?us-ascii?Q?fcCuhTc1gSBkhtayQZ1qBpqvBDESHBFsTIhdKxFtBD3V/pIxTK8QFcuT6d1/?=
 =?us-ascii?Q?rtQYJCIXQzOgUmFQLRJGZGo4XU8M6H8IsoJveYOIYAnRabxoveW0vRT3Joni?=
 =?us-ascii?Q?+2AtwsQyZpoKTXXzCg2bwwZKQ73cbKK/+HAxsmvZ5D1z1ZBAxZNbZF1gSclw?=
 =?us-ascii?Q?zYlGk97mwu/1EAtDnr1DHMSLTX8QyKfYwsngklBhMndE1+2qniIo/u25ha5M?=
 =?us-ascii?Q?dZidWz8oBEORiUpidRJVIRK67e/Qj14okGxI2ooFO5Y+clmbaglqQE6tN9WZ?=
 =?us-ascii?Q?PRCcr6dw1tZS3t+mAc6yF8ICz1yBE/lpnYO96FE+ntt1ynmISJyJvoO0Jf+G?=
 =?us-ascii?Q?VtVe0g8w1kSb4MoxJbx6Kvhb0S1Wj3EFS1KZfMhXJXB/85Y0kUEifvq/CeYH?=
 =?us-ascii?Q?w4UKavo7YHo+iXSFW4XJAAm50NT99/vSXuIKvjicn+Ak3FDYlP5sTRttdinQ?=
 =?us-ascii?Q?tPRwXNFg1AwNlmRUBdgKZOJLOyzGDEmYkaP24mwwdCARJJjg33RS1dUNKrO0?=
 =?us-ascii?Q?rAjXeM0A6A7r7v9J1PfmAMEemR1inCvTq2iRAXZIX+Sq0B1OhF2zeopqIUcS?=
 =?us-ascii?Q?NzrxG/2HMcPtuRIhx8cnHmYaCW1uyBVj1t98LQrmj7g6KOA55chuCCkvj+24?=
 =?us-ascii?Q?LWwhXd7YtA/TVINnHriqn1pCzNvakO8qcgSDVIzboRHscmj9q3K8zrlEAaCI?=
 =?us-ascii?Q?lty5ts0p91lhn71YseRn4H0c4KnlY4bxMkOyAtNg6hEWVmBN7yh2nUV+o1ss?=
 =?us-ascii?Q?RVw6xojg8ZtLtb7iEmr+PEaAn1F0aR8nEZm8UbWgl8rJKTNBEkR6XCyhqtiZ?=
 =?us-ascii?Q?Az1xvB70B/YYzll+RLsFd+nw475uQaWSDq7II8j8w4vIp/JP9b4sL+cJn+1R?=
 =?us-ascii?Q?uFFX4TN3VqgycAH5Hxe2m7t9QDXvooT3nr3bIlVHdCjNJK3HQZleM8nbsQKz?=
 =?us-ascii?Q?cinDWa9nVO87Sp8Mjgo5wskWPUnsyzdd2LYzkeq5QnyYqOI7jENmOCl3qRBR?=
 =?us-ascii?Q?8xZ2TEXidRslnRMrSYs=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(376014)(36860700013)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Oct 2025 02:31:50.6284
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5beb4429-57ad-4644-175c-08de11dc527d
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ5PEPF000001E9.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR12MB4346

64-bit BAR memory address is truncated when removing a passthrough
pci device from guest since it uses "unsigned int".

So, change to use 64-bit type to fix this problem.

Fixes: b0a1af61678b ("libxenlight: implement pci passthrough")
Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
Release-Acked-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Reviewed-by: Juergen Gross <jgross@suse.com>
---
cc: Anthony PERARD <anthony.perard@vates.tech>
cc: Juergen Gross <jgross@suse.com>
---
v2->v3 changes:
* Split a line that is too long.
* No functional chianges.
* Add Juergen's Reviewed-by.

v1->v2 changes:
* Change to use uint64_t instead of unsigned long long and change
  corresponding fscanf and LOGED parameters.
---
 tools/libs/light/libxl_pci.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/tools/libs/light/libxl_pci.c b/tools/libs/light/libxl_pci.c
index 2ea2caeb6624..49d272d0de65 100644
--- a/tools/libs/light/libxl_pci.c
+++ b/tools/libs/light/libxl_pci.c
@@ -2001,7 +2001,8 @@ static void pci_remove_detached(libxl__egc *egc,
 {
     STATE_AO_GC(prs->aodev->ao);
     libxl_ctx *ctx = libxl__gc_owner(gc);
-    unsigned int start = 0, end = 0, flags = 0, size = 0, irq = 0;
+    uint64_t start = 0, end = 0, flags = 0, size = 0;
+    unsigned int irq = 0;
     int i, stubdomid = 0;
     const char *sysfs_path;
     FILE *f;
@@ -2031,7 +2032,8 @@ static void pci_remove_detached(libxl__egc *egc,
     }
 
     for (i = 0; i < PROC_PCI_NUM_RESOURCES; i++) {
-        if (fscanf(f, "0x%x 0x%x 0x%x\n", &start, &end, &flags) != 3)
+        if (fscanf(f, "0x%"SCNx64" 0x%"SCNx64" 0x%"SCNx64"\n",
+                   &start, &end, &flags) != 3)
             continue;
         size = end - start + 1;
         if (start) {
@@ -2040,7 +2042,7 @@ static void pci_remove_detached(libxl__egc *egc,
                                                  size, 0);
                 if (rc < 0)
                     LOGED(ERROR, domid,
-                          "xc_domain_ioport_permission error 0x%x/0x%x",
+                          "xc_domain_ioport_permission error %#"PRIx64"/%#"PRIx64,
                           start,
                           size);
             } else {
@@ -2050,7 +2052,7 @@ static void pci_remove_detached(libxl__egc *egc,
                                                 0);
                 if (rc < 0)
                     LOGED(ERROR, domid,
-                          "xc_domain_iomem_permission error 0x%x/0x%x",
+                          "xc_domain_iomem_permission error %#"PRIx64"/%#"PRIx64,
                           start,
                           size);
             }
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Oct 23 04:59:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 04:59:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148671.1480565 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBnQG-00021f-Mn; Thu, 23 Oct 2025 04:59:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148671.1480565; Thu, 23 Oct 2025 04:59:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBnQG-00021Y-Jw; Thu, 23 Oct 2025 04:59:36 +0000
Received: by outflank-mailman (input) for mailman id 1148671;
 Thu, 23 Oct 2025 04:59:34 +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
 <SRS0=r+PI=5A=rsg.ci.i.u-tokyo.ac.jp=odaki@srs-se1.protection.inumbo.net>)
 id 1vBnQD-00021S-Ow
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 04:59:34 +0000
Received: from www3579.sakura.ne.jp (www3579.sakura.ne.jp [49.212.243.89])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0a96b114-afcd-11f0-980a-7dc792cee155;
 Thu, 23 Oct 2025 06:59:25 +0200 (CEST)
Received: from [133.11.54.205] (h205.csg.ci.i.u-tokyo.ac.jp [133.11.54.205])
 (authenticated bits=0)
 by www3579.sakura.ne.jp (8.16.1/8.16.1) with ESMTPSA id 59N4q3NC011817
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO);
 Thu, 23 Oct 2025 13:52:03 +0900 (JST)
 (envelope-from odaki@rsg.ci.i.u-tokyo.ac.jp)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0a96b114-afcd-11f0-980a-7dc792cee155
DKIM-Signature: a=rsa-sha256; bh=9xxZpM2nB0o+d7uobfPXc5xWQTeCnn5dD9HEOV+8JfY=;
        c=relaxed/relaxed; d=rsg.ci.i.u-tokyo.ac.jp;
        h=Message-ID:Date:Subject:To:From;
        s=rs20250326; t=1761195124; v=1;
        b=jF3ibRwZ1YpqgeWufdnW0Y13nquI1Pea9esn0iH0zkCtqnmwPs1Eo+EIEzahu4CA
         WSZw53qbYxw0m3aVhmM+IPEFlo3TK+WItwGjAu0w7UJBltEaTmKC/DBhm09vQrLP
         dQ60t2nVw4sKFpv0ZPMZgjsDXfh3C2YvmsortOrOECMXVacOfWd1lT1uiVuqJNw2
         CSo6ZLtKggBnJn9SwpJYLxiv2CdD41GR2cHL3JnOehfoid2t0C2gwIkAicEOk0Z9
         nLwg0jqOUASUxIa5ejAJzD0x32S4I5/GL0PnYUXui+XlkKiJeSOQBLhxxCFKomD3
         GRrKSSfXhFwFh2hp75ZadQ==
Message-ID: <f4547020-0df2-40a7-a625-7628ae36db02@rsg.ci.i.u-tokyo.ac.jp>
Date: Thu, 23 Oct 2025 13:52:02 +0900
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] char: rename CharBackend->CharFrontend
To: marcandre.lureau@redhat.com, qemu-devel@nongnu.org
Cc: "Gonglei (Arei)" <arei.gonglei@huawei.com>,
        Zhenwei Pi <pizhenwei@bytedance.com>,
        "Michael S. Tsirkin" <mst@redhat.com>,
        Stefano Garzarella <sgarzare@redhat.com>,
        Laurent Vivier
 <lvivier@redhat.com>, Amit Shah <amit@kernel.org>,
        Stefan Berger <stefanb@linux.vnet.ibm.com>,
        Paolo Bonzini <pbonzini@redhat.com>,
        =?UTF-8?Q?Alex_Benn=C3=A9e?=
 <alex.bennee@linaro.org>,
        =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?=
 <philmd@linaro.org>,
        Peter Maydell <peter.maydell@linaro.org>,
        Igor Mitsyanko <i.mitsyanko@gmail.com>,
        =?UTF-8?Q?Cl=C3=A9ment_Chigot?=
 <chigot@adacore.com>,
        Frederic Konrad <konrad.frederic@yahoo.fr>,
        Alberto Garcia <berto@igalia.com>, Thomas Huth <huth@tuxfamily.org>,
        Halil Pasic <pasic@linux.ibm.com>,
        Christian Borntraeger <borntraeger@linux.ibm.com>,
        Jason Herne <jjherne@linux.ibm.com>,
        Yoshinori Sato <yoshinori.sato@nifty.com>,
        Magnus Damm <magnus.damm@gmail.com>,
        Nicholas Piggin <npiggin@gmail.com>,
        Harsh Prateek Bora <harshpb@linux.ibm.com>,
        "Collin L. Walling" <walling@linux.ibm.com>,
        Stefano Stabellini <sstabellini@kernel.org>,
        Anthony PERARD <anthony@xenproject.org>, Paul Durrant <paul@xen.org>,
        "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
        Alistair Francis <alistair@alistair23.me>,
        =?UTF-8?Q?Daniel_P=2E_Berrang=C3=A9?= <berrange@redhat.com>,
        Eduardo Habkost <eduardo@habkost.net>,
        Richard Henderson <richard.henderson@linaro.org>,
        Helge Deller <deller@gmx.de>, Corey Minyard <minyard@acm.org>,
        Paul Burton <paulburton@kernel.org>,
        Aleksandar Rikalo <arikalo@gmail.com>,
        Aurelien Jarno <aurelien@aurel32.net>,
        Palmer Dabbelt <palmer@dabbelt.com>, Weiwei Li <liwei1518@gmail.com>,
        Daniel Henrique Barboza <dbarboza@ventanamicro.com>,
        Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
        Samuel Thibault <samuel.thibault@ens-lyon.org>,
        Michael Rolnik <mrolnik@gmail.com>,
        Antony Pavlov <antonynpavlov@gmail.com>, Joel Stanley <joel@jms.id.au>,
        Vijai Kumar K <vijai@behindbytes.com>,
        Samuel Tardieu <sam@rfc1149.net>,
        Gustavo Romero
 <gustavo.romero@linaro.org>,
        Raphael Norwitz <raphael@enfabrica.net>,
        Stefan Hajnoczi <stefanha@redhat.com>,
        "reviewer:vhost-user-scmi" <mzamazal@redhat.com>,
        Dmitry Osipenko <dmitry.osipenko@collabora.com>,
        Fabiano Rosas <farosas@suse.de>, Markus Armbruster <armbru@redhat.com>,
        "Dr. David Alan Gilbert" <dave@treblig.org>,
        Zhang Chen
 <zhangckid@gmail.com>, Li Zhijian <lizhijian@fujitsu.com>,
        Jason Wang <jasowang@redhat.com>,
        Manos Pitsidianakis <manos.pitsidianakis@linaro.org>,
        Max Filippov <jcmvbkbc@gmail.com>, Lukas Straub <lukasstraub2@web.de>,
        "open list:Sharp SL-5500 Co..." <qemu-arm@nongnu.org>,
        "open list:S390 SCLP-backed..." <qemu-s390x@nongnu.org>,
        "open list:sPAPR (pseries)" <qemu-ppc@nongnu.org>,
        "open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>,
        "open list:RISC-V TCG CPUs" <qemu-riscv@nongnu.org>,
        "open list:virtiofs" <virtio-fs@lists.linux.dev>,
        "open list:Rust-related patc..." <qemu-rust@nongnu.org>
References: <20251022074612.1258413-1-marcandre.lureau@redhat.com>
Content-Language: en-US
From: Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp>
In-Reply-To: <20251022074612.1258413-1-marcandre.lureau@redhat.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 2025/10/22 16:46, marcandre.lureau@redhat.com wrote:
> From: Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>
> 
> The actual backend is "Chardev", CharBackend is the frontend side of
> it (whatever talks to the backend), let's rename it for readability.
> 
> Signed-off-by: Marc-AndrÃ© Lureau <marcandre.lureau@redhat.com>

Reviewed-by: Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp>


From xen-devel-bounces@lists.xenproject.org Thu Oct 23 06:18:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 06:18:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148693.1480576 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBoed-0003Ds-3e; Thu, 23 Oct 2025 06:18:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148693.1480576; Thu, 23 Oct 2025 06:18:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBoec-0003Dl-VO; Thu, 23 Oct 2025 06:18:30 +0000
Received: by outflank-mailman (input) for mailman id 1148693;
 Thu, 23 Oct 2025 06:18:30 +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 <SRS0=U0PU=5A=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vBoeb-0003Df-VO
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 06:18:29 +0000
Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com
 [2a00:1450:4864:20::333])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 14b43696-afd8-11f0-980a-7dc792cee155;
 Thu, 23 Oct 2025 08:18:24 +0200 (CEST)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-4712c6d9495so1933485e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 22 Oct 2025 23:18:24 -0700 (PDT)
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-475caea0468sm18626745e9.8.2025.10.22.23.18.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 22 Oct 2025 23:18:23 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 14b43696-afd8-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761200304; x=1761805104; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=b3K+l+9u+SrXcW82mEq90i5jarxTBQl+wZeP97TzEx4=;
        b=LV1mxYo7wQbwQsZX3p/xJGTPRxM307pBmuJAsLwXnA77FUSk/G6vzeuCLPLnRFMNpL
         1kcGGTivQpxGJ/IGSnOuq9t6WuLrVNsY3mZ2EdHHZYGUkSkjQBL/fI2KDhM9RoDqMOTt
         My0McPFkjjLAB6BGLaoboDmQRmcVt+NKidJqALuP/FURSFKwHDwk8Edds7bfK+ZDEqXZ
         6dSiCTy8xlKMwAwJc4LThdVsx44YwwR7LFa4BOCKR3fPjB5h1/Z+0sg5SEYeHN9GJLRK
         +LHKuKpoUb8ZWPh3Pt7uTqw9u7IBXTZv0i3cMgIzTFYTMvhBZ0SacimUurfKpZjU+0sA
         KKcA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761200304; x=1761805104;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=b3K+l+9u+SrXcW82mEq90i5jarxTBQl+wZeP97TzEx4=;
        b=b05PtWQGn3+WqQHy9y2EtllnyFP08qd2PRLmCCRJk5LrLDJisQaaL7yi9dDbs/T8lC
         x6RHAWUgDmaxVnzXDf7lJw2PqlXvAc58muY14WY7Y6UCfjf9cgTc5ZFcKUDy/K/oayDQ
         +4U+38F4ok1xr2cFTH/a0/2FElgSrNbCWX9oZHlbDK5O+4LrbueB9mj4NT4YsaPS2xy1
         D7KGIGDIaOsRGuvhDpHWHgKlgnrK/H27HnCawkZS4tPn20wTUsA9TudGIKungyXzW7Rj
         fD7VJsHSzh0S1RChpVL5tjzDaSaaUOzcbXH7cFttZ7FVyONQGBHuRgbtzA2CJAIM+oWv
         E3/g==
X-Forwarded-Encrypted: i=1; AJvYcCVQrCHPmXEzDWi0/hPAIECsrhKBt1ZyKgbBBQ3krpD60b5LaMqw2OgTmUfHsCmf54aNbJh2MMQAGZk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxV5bBI/etzzlgJHqczzuKWnhXjWChmVpmAbpz8cwEFS+0Bp4fk
	1X6DeLex9kGb5WDgpU6CxzL4cktZCM2aSWWf9m9venBeo/ySGPIcwUdccvuKhEpEQw==
X-Gm-Gg: ASbGncvP7++ruxfYPRZ69Ja/5s3+zEv9XkjFAjOMbKhmNgKDR55lnnX+VEng4OZWWFm
	+cva3elPnO6w856ZLX79fHvduAUwWVeOYZ7MLtSEpY74c6SM9E7WBlUjEXHFBtlUhk/WRg2FvsF
	O673ogesMMV5puBYmzwb2tlYeWQDk8Eew3+fxnCEo+MIYgYkzmWEqjZ25YwlAzH7dsFLo7F/O/L
	Oe3oODjpvXCivrj8EPs86teef/XcFxVCXMo2GFur+1g18ZUse41PXCEHJHa8X7eJhFBJ4P2HHlY
	7XmMRcKSYBKNa9GRSpB/XZa1VuVy3rNIEDBWJxuFfWw3QC80u9eae1+dmndWwYA+Pb5WLwKGPOj
	UVPbCRAZO2po3Q/StAvzbg8OVykILtwuI2oMHuOtc2NzGLhSEEDl9oGngT9ocphjO4zBy3uF/h/
	Hl61PZvTE7IdoyC4Aq5+uwEXVD+aoPRZswK3ygAXbjAVYNDYaUhTNx7FDqpDCb
X-Google-Smtp-Source: AGHT+IGneg/F+hJVb4EpO2FwlEQ+IX7nKRkqwLYxUt7LviPR5evO0I+fEOJMsYRppFSqRtuDNwWtuw==
X-Received: by 2002:a05:600c:3b03:b0:468:86e0:de40 with SMTP id 5b1f17b1804b1-4711786c6b9mr179458055e9.4.1761200303851;
        Wed, 22 Oct 2025 23:18:23 -0700 (PDT)
Message-ID: <52452f5f-1e1e-4b33-87c5-a93f20925b7b@suse.com>
Date: Thu, 23 Oct 2025 08:18:22 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/2] xen: fix randconfig build problems after introducing
 SYSCTL
To: Stefano Stabellini <stefano.stabellini@amd.com>
Cc: andrew.cooper3@citrix.com, roger.pau@citrix.com,
 oleksii.kurochko@gmail.com, Penny.Zheng@amd.com,
 xen-devel@lists.xenproject.org
References: <alpine.DEB.2.22.394.2510221616570.495094@ubuntu-linux-20-04-desktop>
 <20251022232131.1190867-1-stefano.stabellini@amd.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251022232131.1190867-1-stefano.stabellini@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 23.10.2025 01:21, Stefano Stabellini wrote:
> Fix a few randconfig build breakages that started appearing after the
> SYSCTL patch series.
> 
> First, reintroduce depends on !PV_SHIM_EXCLUSIVE for HVM, as it was
> before 568f806cba4c.
> 
> Also, add depends on !PV_SHIM_EXCLUSIVE for SYSCTL, that way the
> behavior goes back to what it was before 34317c508294.
> 
> Fixes: 568f806cba4c ("xen/x86: remove "depends on !PV_SHIM_EXCLUSIVE"")
> Fixes: 34317c508294 ("xen/sysctl: wrap around sysctl hypercall")
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>

As before, while ...

> --- a/xen/arch/x86/hvm/Kconfig
> +++ b/xen/arch/x86/hvm/Kconfig
> @@ -1,5 +1,6 @@
>  menuconfig HVM
>  	bool "HVM support"
> +	depends on !PV_SHIM_EXCLUSIVE
>  	default !PV_SHIM
>  	select COMPAT
>  	select IOREQ_SERVER

... this indeed is a straight (partial) revert of one of the two named
commits, ...

> --- a/xen/common/Kconfig
> +++ b/xen/common/Kconfig
> @@ -653,6 +653,7 @@ menu "Supported hypercall interfaces"
>  
>  config SYSCTL
>  	bool "Enable sysctl hypercall"
> +	depends on !PV_SHIM_EXCLUSIVE
>  	default y
>  	help
>  	  This option shall only be disabled on some dom0less systems, or

... this isn't when imo it should be. It has a benefit, though: Despite
being just a partial revert, it prevents sysctl.o from being built into
the shim binary. On that basis:

Acked-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 23 06:24:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 06:24:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148704.1480585 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBokI-0004ml-Ly; Thu, 23 Oct 2025 06:24:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148704.1480585; Thu, 23 Oct 2025 06:24:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBokI-0004me-JL; Thu, 23 Oct 2025 06:24:22 +0000
Received: by outflank-mailman (input) for mailman id 1148704;
 Thu, 23 Oct 2025 06:24:21 +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 <SRS0=U0PU=5A=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vBokH-0004mY-NO
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 06:24:21 +0000
Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com
 [2a00:1450:4864:20::32e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e83c4e4c-afd8-11f0-980a-7dc792cee155;
 Thu, 23 Oct 2025 08:24:19 +0200 (CEST)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-47495477241so2663395e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 22 Oct 2025 23:24:19 -0700 (PDT)
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-474949dd479sm56468035e9.0.2025.10.22.23.24.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 22 Oct 2025 23:24:18 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e83c4e4c-afd8-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761200659; x=1761805459; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=PhfqsrPZ622z/oB3nsmbRSlTKoV/AGG9b+zQEYUr06M=;
        b=Wcp75dyOsYyV4wOyNUR2Z4p0h8uBPGa/c3n2f9R8Qcl4gbhCjWLPtTlMbnDP6KTLr9
         vVozmdKjWTYbuRIvi0z1fwSoRN+nYuN7Y2W+K6/SuFfyM6pqkO4zX+SGg5OA7ncJRfN5
         8dDkjSVgRV5l4+1gIe0Cu9rnyLvbYHj18ASh2SaTetgal/JJoBMTR/bnZfNejTnKQjZg
         Kz2qY5lbpPIJez7hVjeTxAjRCvdCWDMvbs68C1vdIzf7SE7ower5TdGNQ8JzZgTCr/mQ
         ja7SmOpeGV+nuvyHFYMLoVfbcvkJ8/fljfMYjzrt5yv69gkIdBN0to9RXG9+pPlr8w0t
         9ujw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761200659; x=1761805459;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=PhfqsrPZ622z/oB3nsmbRSlTKoV/AGG9b+zQEYUr06M=;
        b=uRaBEnZ+KDScNdrrqSELQrHT7KBiwEcNOeOu0UcheftfLGv3eDNEFy+zB7qXmqA16p
         GLFtC22GNN0fBLJ9tR2cZX05P4C9oDWYx6CWtF+8M6CEn0+ytW5Zt3pGLnyiH2hIZnJv
         BXrMYUJ0Phfxm6PYO/uEWqY0zygU6GZoSj5KT7H0Fe3UY2SiIwWttMYoq3z/5OBu2PLD
         4aJgctGBtKX8hjOgsjDbU1tj3wawG6QYuwERo46ow5QHlHNOFaSFGh55kfcpYc0W2h3F
         qK+yYVh2mxohwFQI7I2cvHGn6gBYlwmMRw3Gr5mvtzPFtV/LrhVLbdugov9rWbKYV/w2
         npzg==
X-Forwarded-Encrypted: i=1; AJvYcCUD0n2wMnbb0LHDGohFmZD4tUcN+i43WHZSfpBpXaY0k01eKRjBUp4V5BnUKJOn90jOIJXB1AHgHpU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyAqFbz3vrnRbM+/yKvczzbr8tkVJI6khMsQ/M5AWmLzFb9QurU
	e/uZTMaqS+81PUKpzQWDo+k4ZJOy/HOM//KDzCewNGyv6Jm9FoPNs79LOC3AJ9j3Pw==
X-Gm-Gg: ASbGncsauEx2AZTRSCQsR3iWDWI00eORRWBTwJ+xtooHVIn83lrjbW7x3eRSP59hdzu
	aJ+pb5OjPMYuIAsgz/RxAjx2/AWCgK9bpW66V6uHSHoCWgRR1+VvJmGFmv4VaUEDoGIFpJNKLBU
	XL4YeGRHI08Y+H5lpHbBlQb7KspibqpJArF/Q9bJz+QV69pA5nlFOScvgL4Lzp2pBkpcFycd3wC
	enWCSiEiEveYWESu5jISwFuiE6PyVL/w+tPZ91A6S65GzwV1CINX4UIsQyBQxpegZUgBpgW2s4x
	J3MJdKYAUHC2obNZ91tQwo37IcG8q7t1xU0HoiWB1jZSlVEhCrKceUtkjXBfWkQbHGsIvjzF3/O
	77SET5/uokA9BQ3IwrpbIiNN92cji3k9Ja9edQ5jKMluBa/Q6YEhQKoQ5c9zbV2kAZFQqAUeVmu
	f1eLQcfoS155HJDjv4+XeGU4Ad5osygNd5bPAdc6BBNTvrSq36SvIBZym/h6CCKCKGs472ojQ=
X-Google-Smtp-Source: AGHT+IH4Wavi5UyGQxe1tHysAaQi9lf0/pSJ/JxTjqklucRS5R6cipeOkffLrh2cJvvmxo6HrWoGaA==
X-Received: by 2002:a05:600c:3e08:b0:46e:4921:9443 with SMTP id 5b1f17b1804b1-475cb066628mr7158065e9.37.1761200658747;
        Wed, 22 Oct 2025 23:24:18 -0700 (PDT)
Message-ID: <b62ae9fd-01db-43df-9966-98d028ca24e1@suse.com>
Date: Thu, 23 Oct 2025 08:24:17 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/5] x86/ucode: Abort parallel load early on any control
 thread error
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20251020131955.2928261-1-andrew.cooper3@citrix.com>
 <20251020131955.2928261-3-andrew.cooper3@citrix.com>
 <4fb57b9e-2a39-471a-a629-e8cd00997f22@suse.com>
 <342ead3d-3d10-46b9-bb2f-89f941582d96@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <342ead3d-3d10-46b9-bb2f-89f941582d96@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 22.10.2025 21:28, Andrew Cooper wrote:
> On 20/10/2025 4:55 pm, Jan Beulich wrote:
>> On 20.10.2025 15:19, Andrew Cooper wrote:
>>> EIO is not the only error that ucode_ops.apply_microcode() can produce.
>>> EINVAL, EEXISTS and ENXIO can be generated too, each of which mean that Xen is
>>> unhappy in some way with the proposed blob.
>> Yes, yet wasn't that the case already when the EIO check was added? Were we
>> perhaps trying to deal with a certain level of asymmetry in the system? I
>> think a little more is needed here, also to ...
>>
>>> Some of these can be bypassed with --force, which will cause the parallel load
>>> to be attempted.
>>>
>>> Fixes: 5ed12565aa32 ("microcode: rendezvous CPUs in NMI handler and load ucode")
>> ... justify there being a Fixes: tag. It would also seem possible that the
>> check was intentional and correct at the time of introduction, but was
>> rendered stale by some later change.
> 
> The parallel load logic more bugs than lines of code.Â  What hasn't
> already been rewritten either has pending patches, or pending bugs
> needing fixing.
> 
> I didn't care to check why it was limited to EIO at the time.Â  It's
> definitely wrong.
> 
> But if you insist that I waste time doing so, at the time EIO was
> introduced, both apply_microcode()'s could fail with -ENOENT for a NULL
> pointer, -EINVAL for "patch isn't for this CPU".

The latter fits my "trying to deal with a certain level of asymmetry" guess,
doesn't it?

And btw, why are you being so negative again? "Waste time" is a pretty clear
sign of you (once again) thinking that your view of the world is the only
possibly sensible one.

Nevertheless, considering that asymmetry is not something we really mean to
care about:

Acked-by: Jan Beulich <jbeulich@suse.com>

Jan

> I.e. it was definitely wrong at the time too.
> 
> ~Andrew



From xen-devel-bounces@lists.xenproject.org Thu Oct 23 06:56:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 06:56:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148728.1480596 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBpEs-0000OY-9R; Thu, 23 Oct 2025 06:55:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148728.1480596; Thu, 23 Oct 2025 06:55:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBpEs-0000OR-6P; Thu, 23 Oct 2025 06:55:58 +0000
Received: by outflank-mailman (input) for mailman id 1148728;
 Thu, 23 Oct 2025 06:55:56 +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 <SRS0=20m7=5A=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1vBpEq-0000OL-M8
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 06:55:56 +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 4feb80a4-afdd-11f0-980a-7dc792cee155;
 Thu, 23 Oct 2025 08:55:51 +0200 (CEST)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-471b80b994bso5483425e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 22 Oct 2025 23:55:51 -0700 (PDT)
Received: from [192.168.69.201] (88-187-86-199.subs.proxad.net.
 [88.187.86.199]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-429897ff3f5sm2354381f8f.22.2025.10.22.23.55.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 22 Oct 2025 23:55:50 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4feb80a4-afdd-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1761202551; x=1761807351; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=yBjsiZOdEn77FHXbaFH/pyzY5kAYbLCRT+sJz0dq6fA=;
        b=x3eRcqv0oHEnVJncJu6Fpwd9WXfYFRH+w5NkDfR1Ac2cmyJfZ5SeFa4yfcCQGwWk3b
         EiXxLDwMMMDIdBGdUDXJfvk4jcr/Q7GdyMvtbWHgqDTdYkG0crbp5vFtVmDHS+48SLLm
         Ie6OgQScja63iEmgoNOOeCZJRMyQCbFTrWvgrpd3DbJSnWZQlLiPAQqxOpi0LnbjeRyr
         aj+YGcXNmVLAYuihQzzN1tdIFEaEJ4z1rX8fYPlhMwlmBISw0qm5/rTSDjXtCQUz5uhg
         OmsMb2ST+3uQojwVm0A1J1v3CaarUJeG4bKLHFJhMtqIykGe87/Urxc2BtE/CfvB5L3B
         n9CQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761202551; x=1761807351;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=yBjsiZOdEn77FHXbaFH/pyzY5kAYbLCRT+sJz0dq6fA=;
        b=ny432XBT0GLsBETjU1K82as8ZWEMg6PgPjJlGU8DAxXXCTMaXekXyL8C9PD+ipA0Gj
         Z7pkQofEVUZeSOM/9wYrGPn5M7WvwUfWE28VofZjco98p/aNI8Z2HvvMufirYAeQl6bQ
         mTCsF6Dk5nC0Sb36VKpVDquzm5IWhd1piRo74+oYxBfun0KXSOAjvF/zvt/UIwNQIBpc
         hOgQgQL02WioDxqoLD1xSnP2BXTYih3rpmn+KscteCqxvyztDXq/UA1znXMHTS8VBNPR
         Ndlo8XMGNjgUYwvYIkH+FNo54jFFrW4xvTlUnxuHaLWz1ituHMc4de2NlgFW8dw9KH/K
         cniw==
X-Forwarded-Encrypted: i=1; AJvYcCXz8NjtKRp3ooKKETKVeSEw2u5q/mAzds4KhZW6ZV1g+Ozt+bahO5uZ7Hlee+oRi93p1hgRxJKV9K8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxZux6VWSeofNDnLYMJZ2rNssObVoPKyF9bqeYOHyohn2XZdtg+
	mz+TTIkwO1lxZdSCA2CRAt2BGBdseJ+uG/1afY0jgcZv4Yj1VJF6OhQaAYYDaKUTuMQ=
X-Gm-Gg: ASbGnctClkngfY/tAwwk4mMHGAri2+MTtqYaXv4NoJztb37ExVVh11fRk1bBEDzwGD1
	6ef41hFywS2yH2w79x56Zs6xi7YB6NdngqUp7XA2KN9p/mJUoCnFbpDimPZ5cdT8LtyprKEr+ji
	ObcycL/BBUa4mxr8eLmUDHVA8CwY+4d/uLlUyoJQS14obeI/IbEZP+KlMI+4X09vk/ufJ55HlaI
	TFqKs6t7Foq8vuNOMK0+eVCdGjXGY/tSZCoJOagzZCwzr7HESGF9OqN8aoRDzVyyPctBsUDTEpV
	TQlNAB/mGUwe2oU8XvVdzkSg82GVIZvwTeykQtA7kxTHf8H3UjGntpfr7pYbGqHeMJZ4lRxLs1u
	ZqWPXJTINyhKzOgD+mpKghmHOpeSgM45bepMa6UoXRZvogq3oFJ/XbXcn6w/cVvXl6sy85asLBa
	Jv/BWzz611QLSOEwPp9j9zOyFG+09PWuL0jfSyd5fp25aMxIb+WHOgQQ==
X-Google-Smtp-Source: AGHT+IFc7GZgQ+HjgYh3w9CjXImj+3Na+YnYobgCi3dJmLowW01x3YzXkb4t8JrWd9L/fU1Q9uMKFQ==
X-Received: by 2002:a05:600c:4ec9:b0:46e:2562:e7b8 with SMTP id 5b1f17b1804b1-471179123admr170521105e9.21.1761202550629;
        Wed, 22 Oct 2025 23:55:50 -0700 (PDT)
Message-ID: <c013adf2-9620-4766-8f5b-1000ed1a494a@linaro.org>
Date: Thu, 23 Oct 2025 08:55:47 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] remove redundant typedef when use
 OBJECT_DECLARE_SIMPLE_TYPE
Content-Language: en-US
To: Nguyen Dinh Phi <phind.uet@gmail.com>,
 "Gonglei (Arei)" <arei.gonglei@huawei.com>,
 Zhenwei Pi <pizhenwei@bytedance.com>, Alberto Garcia <berto@igalia.com>,
 =?UTF-8?Q?Marc-Andr=C3=A9_Lureau?= <marcandre.lureau@redhat.com>,
 Paolo Bonzini <pbonzini@redhat.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony@xenproject.org>, Paul Durrant <paul@xen.org>,
 "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
 Peter Maydell <peter.maydell@linaro.org>,
 Bernhard Beschow <shentey@gmail.com>, Jason Wang <jasowang@redhat.com>,
 Huacai Chen <chenhuacai@kernel.org>, Jiaxun Yang <jiaxun.yang@flygoat.com>,
 Nicholas Piggin <npiggin@gmail.com>,
 Harsh Prateek Bora <harshpb@linux.ibm.com>,
 Richard Henderson <richard.henderson@linaro.org>,
 Helge Deller <deller@gmx.de>, Tyrone Ting <kfting@nuvoton.com>,
 Hao Wu <wuhaotsh@google.com>, Aditya Gupta <adityag@linux.ibm.com>,
 Glenn Miles <milesg@linux.ibm.com>,
 Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
 Palmer Dabbelt <palmer@dabbelt.com>,
 Alistair Francis <alistair.francis@wdc.com>, Weiwei Li
 <liwei1518@gmail.com>, Daniel Henrique Barboza <dbarboza@ventanamicro.com>,
 Liu Zhiwei <zhiwei_liu@linux.alibaba.com>, Fam Zheng <fam@euphon.net>,
 Alex Williamson <alex@shazbot.org>, =?UTF-8?Q?C=C3=A9dric_Le_Goater?=
 <clg@redhat.com>, Laurent Vivier <lvivier@redhat.com>,
 Amit Shah <amit@kernel.org>, "Michael S. Tsirkin" <mst@redhat.com>,
 Pavel Pisa <pisa@cmp.felk.cvut.cz>,
 Francisco Iglesias <francisco.iglesias@amd.com>,
 Vikram Garhwal <vikram.garhwal@bytedance.com>
Cc: qemu-trivial@nongnu.org, qemu-devel@nongnu.org,
 xen-devel@lists.xenproject.org, qemu-arm@nongnu.org, qemu-ppc@nongnu.org,
 qemu-riscv@nongnu.org
References: <20251023063429.1400398-1-phind.uet@gmail.com>
From: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>
In-Reply-To: <20251023063429.1400398-1-phind.uet@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 23/10/25 08:34, Nguyen Dinh Phi wrote:
> When OBJECT_DECLARE_SIMPLE_TYPE is used, it automatically provides
> the typedef, so we donâ€™t have to define it ourselves.
> 
> Signed-off-by: Nguyen Dinh Phi <phind.uet@gmail.com>
> ---
>   backends/cryptodev-lkcf.c               | 1 -
>   hw/char/ipoctal232.c                    | 9 ++++-----
>   hw/char/xen_console.c                   | 1 -
>   hw/dma/pl330.c                          | 6 ++----
>   hw/net/fsl_etsec/etsec.h                | 1 -
>   hw/net/xen_nic.c                        | 2 --
>   hw/pci-host/bonito.c                    | 7 +++----
>   hw/ppc/pef.c                            | 1 -
>   hw/usb/dev-mtp.c                        | 7 +++----
>   hw/usb/dev-uas.c                        | 7 +++----
>   include/hw/char/serial.h                | 1 -
>   include/hw/input/lasips2.h              | 6 ++----
>   include/hw/misc/auxbus.h                | 7 +++----
>   include/hw/misc/bcm2835_mphi.h          | 7 ++-----
>   include/hw/misc/npcm7xx_pwm.h           | 7 ++-----
>   include/hw/pci-host/pnv_phb3.h          | 6 ++----
>   include/hw/pci-host/pnv_phb4.h          | 8 ++++----
>   include/hw/ppc/mac_dbdma.h              | 7 +++----
>   include/hw/riscv/iommu.h                | 3 ---
>   include/hw/scsi/scsi.h                  | 7 +++----
>   include/hw/vfio/vfio-container-legacy.h | 5 ++---
>   include/hw/virtio/virtio-serial.h       | 5 ++---
>   include/net/can_emu.h                   | 7 +++----
>   23 files changed, 43 insertions(+), 75 deletions(-)

Reviewed-by: Philippe Mathieu-DaudÃ© <philmd@linaro.org>



From xen-devel-bounces@lists.xenproject.org Thu Oct 23 07:05:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 07:05:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148739.1480606 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBpOH-00025R-5O; Thu, 23 Oct 2025 07:05:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148739.1480606; Thu, 23 Oct 2025 07:05:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBpOH-00025K-28; Thu, 23 Oct 2025 07:05:41 +0000
Received: by outflank-mailman (input) for mailman id 1148739;
 Thu, 23 Oct 2025 07:05:40 +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 <SRS0=U0PU=5A=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vBpOF-00025E-Vi
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 07:05:39 +0000
Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com
 [2a00:1450:4864:20::333])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ade0f175-afde-11f0-9d15-b5c5bf9af7f9;
 Thu, 23 Oct 2025 09:05:38 +0200 (CEST)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-47100eae3e5so4291205e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 23 Oct 2025 00:05:38 -0700 (PDT)
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-475c428dafesm79188535e9.6.2025.10.23.00.05.37
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Oct 2025 00:05:37 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ade0f175-afde-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761203138; x=1761807938; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=9yhHYyW+RiAuw4iOh9hbVcK0TAYMcVbtoumKvLWQUg4=;
        b=RmSeiOHTMSRoIydtdBNTAwscrhOzBZIVCRIekJCRcv4Lh9UbZSJ/DWGf3rX7K8dUBR
         rPihV8SIh2sfREIEx36zLm5Dd0pvakVsmybaJlAtP2bSHvG/UNaAHhcnKVdyaQ0kiE7e
         /VsOWFc4imQ6NWs6Hs8X3FMdAbBlcP7Ee7MR+dTHBhPFyyVBrU0VVT4+79glwXQ6Nt9U
         Sca/oJ//W31R1z80HQL1FmMbHXg+PlJdjlrbRo7dJzFI9cHbHn5zYfA7L4Fdz76ktB6W
         bBCe6DlmBLAIQlX7r0RIyBUExzpDKXh0ioqrMwop8mxGRfS9kel/aylOAGpOICXg99jM
         sorw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761203138; x=1761807938;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=9yhHYyW+RiAuw4iOh9hbVcK0TAYMcVbtoumKvLWQUg4=;
        b=qCnv3bucDhlXnI5FoXUySNkmo11KReRWsvW4qpL9l7/wIikbMWuBckB1aqxFSSDa6S
         hOq70TNwwhtOFhAN8RKbvnIySG6hTqrPrdjDax/3Upq/5hpZ+rw6wHvy6wY5pIRpTHIl
         AgyhwzkhJHylDx0qOIVzKgEUnkKtgWlpwDIIxFfhRkz87mfh6DWrho3KSOCB+saAV2xQ
         fMvkC1lGQXYMdusKvT6FnsbntDGP7JpwcfM1gUEY6iNsPWvDyba1jG8DTe00kAGphzZx
         BWQlQaOYw6oR+b2WkLo5KlEGvkiYs1s9fdQlbNpI4zBgJFXKeHtkzaWtY2ewrapJSRra
         xWIA==
X-Forwarded-Encrypted: i=1; AJvYcCWXTQrQxkNRxY2Jptaw6bUacO23Mm7ZE8qcnUOolXRRBnQVbfAOXSxOw7eS0wvT8D+qhIUrIeXLrAg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YykhfMQMlbZwWbjvVxkm48oRK+GISQxluMEVxeDPEVp2w593Q8O
	5Uirfr5EzJLJbIP3v7H+XOuhn5wmPWQ3YBnM7W+YAY4+C4L8D/UNBtl/0/ktv20+3w==
X-Gm-Gg: ASbGncvZB6ATqPw+hEp/liN73zZBh1mQQHlSPrnIhaHU5AK4rieBAr8edTnU9nFfE4w
	LQiBSAZ2k5UGlpOUWS/KyMbihJSkfyLwd1xNiq2bajRG4FE/xz7e15dfAPtmvOuKrOTDSXhgAM3
	M2wCSS5YUjCSLuiFTfJnO+c2LJ9GNqcwIy40+dOBM+l7V8uVd1aVTLc/Gvyg1sR9KD9/lT+XfWS
	Z9ytt/wsyJmkSjGbVZwuQh3yNU0M1oddGTH3tXowddz87wozwVLX5btBMfbiuLMnj7BMEkxxtxP
	VWxGT3Xwckb3wxR1lERX8lnegxim6V9/Zvw+YPr8Y4IX0GTaWEXJBimirBmHW56B9eTXLYMpUo7
	N4TnljvERcGeIdzgAHMZUfoI9BU7bRjtWWTJb6EXVQAtn5RDfslqLpqql2f8Rzn+VhpBaLjHDnB
	0Gx2OAxzwzmx8VyjIiNeuM5OhIWLNET6ZGq4ndqfqcZiyC0j1VapKTnBaJvwah
X-Google-Smtp-Source: AGHT+IFrKqLtlmjLKHOOhP9/Pne2Yy1O06us843vmnygeiHomUT6SQZdGIKHItFQtK0sSHFAb+KX4Q==
X-Received: by 2002:a05:600c:34d5:b0:46f:b42e:e39e with SMTP id 5b1f17b1804b1-4711791da0amr175755655e9.39.1761203137720;
        Thu, 23 Oct 2025 00:05:37 -0700 (PDT)
Message-ID: <78874979-52ed-48f6-a9ba-4ddb6c78c208@suse.com>
Date: Thu, 23 Oct 2025 09:05:35 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/5] x86/ucode: Relax digest check when Entrysign is fixed
 in firmware
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20251020131955.2928261-1-andrew.cooper3@citrix.com>
 <20251020131955.2928261-6-andrew.cooper3@citrix.com>
 <dbe8a444-daf2-4929-921f-704aa5f48cde@suse.com>
 <8306217c-2f7b-4d69-b051-ae1e6b4f443a@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <8306217c-2f7b-4d69-b051-ae1e6b4f443a@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 22.10.2025 23:19, Andrew Cooper wrote:
> On 21/10/2025 10:47 am, Jan Beulich wrote:
>> On 20.10.2025 15:19, Andrew Cooper wrote:
>>> +void __init amd_check_entrysign(void)
>>> +{
>>> +    unsigned int curr_rev;
>>> +    uint8_t fixed_rev;
>>> +
>>> +    if ( boot_cpu_data.vendor != X86_VENDOR_AMD ||
>>> +         boot_cpu_data.family < 0x17 ||
>>> +         boot_cpu_data.family > 0x1a )
>>> +        return;
>>> +
>>> +    /*
>>> +     * Table taken from Linux, which is the only known source of information
>>> +     * about client revisions.
>>> +     */
>>> +    curr_rev = this_cpu(cpu_sig).rev;
>>> +    switch ( curr_rev >> 8 )
>>> +    {
>>> +    case 0x080012: fixed_rev = 0x6f; break;
>>> +    case 0x080082: fixed_rev = 0x0f; break;
>> In your reply you mentioned a "general off-by-1" when comparing with Linux,
>> but I'm in trouble understanding how both can be correct. Leaving aside the
>> 1st line (for which you sent a Linux patch anyway), how can our
>> "(uint8_t)curr_rev >= fixed_rev" (i.e. "(uint8_t)curr_rev >= 0x0f") further
>> below be correct at the same time as Linux'es "return cur_rev <= 0x800820f"
>> (indicating to the caller whether a SHA check is needed) is also correct?
>> We say 0x0f is okay, while they demand a SHA check for that revision.
>>
>> In any event, whatever (legitimate) off-by-1 it is that I'm failing to spot,
>> I think this would want explaining in the comment above.
> 
> What you've spotted is the off-by-one error.
> 
> Linux is written as "curr <= last-vuln-rev" in order to do the digest check.
> 
> Xen wants "cur >= first-fixed-rev"; I renamed the variable and forgot to
> adjust the table to compensate.Â  I've already fixed it in v2, so this
> line now reads fixed_rev = 0x0a.

Now I'm even more confused. If Linux uses 0x0f for last-vuln-rev, how would
0x0a be first-fixed-ref?

>>> +    case 0x083010: fixed_rev = 0x7c; break;
>>> +    case 0x086001: fixed_rev = 0x0e; break;
>>> +    case 0x086081: fixed_rev = 0x08; break;
>>> +    case 0x087010: fixed_rev = 0x34; break;
>>> +    case 0x08a000: fixed_rev = 0x0a; break;
>>> +    case 0x0a0010: fixed_rev = 0x7a; break;
>>> +    case 0x0a0011: fixed_rev = 0xda; break;
>>> +    case 0x0a0012: fixed_rev = 0x43; break;
>>> +    case 0x0a0082: fixed_rev = 0x0e; break;
>>> +    case 0x0a1011: fixed_rev = 0x53; break;
>>> +    case 0x0a1012: fixed_rev = 0x4e; break;
>>> +    case 0x0a1081: fixed_rev = 0x09; break;
>>> +    case 0x0a2010: fixed_rev = 0x2f; break;
>>> +    case 0x0a2012: fixed_rev = 0x12; break;
>>> +    case 0x0a4041: fixed_rev = 0x09; break;
>>> +    case 0x0a5000: fixed_rev = 0x13; break;
>>> +    case 0x0a6012: fixed_rev = 0x0a; break;
>>> +    case 0x0a7041: fixed_rev = 0x09; break;
>>> +    case 0x0a7052: fixed_rev = 0x08; break;
>>> +    case 0x0a7080: fixed_rev = 0x09; break;
>>> +    case 0x0a70c0: fixed_rev = 0x09; break;
>>> +    case 0x0aa001: fixed_rev = 0x16; break;
>>> +    case 0x0aa002: fixed_rev = 0x18; break;
>>> +    case 0x0b0021: fixed_rev = 0x46; break;
>>> +    case 0x0b1010: fixed_rev = 0x46; break;
>>> +    case 0x0b2040: fixed_rev = 0x31; break;
>>> +    case 0x0b4040: fixed_rev = 0x31; break;
>>> +    case 0x0b6000: fixed_rev = 0x31; break;
>>> +    case 0x0b7000: fixed_rev = 0x31; break;
>> Without at least brief model related comments this looks extremely opaque.
>> Linux, as a minimal reference, at least has cpuid_to_ucode_rev() and the
>> accompanying union zen_patch_rev.
> 
> We have other tables like this in Xen.Â  Linux has even more.

The one in amd-patch-digests.c I'm aware of. Oh, and tsa_calculations().
But ...

> These case labels are family/model/steppings, but not in the same format
> as CPUID.1.EAX, and also not in the same format at patch->processor_id.

... none of them explaining what these numbers really mean isn't helpful.
I didn't question them earlier because I assumed them to be all "magic".
Now that I learned how they're encoded, I thought it might be (have been)
nice if they weren't left as "entirely magic".

>>  Background of my remark is that I would
>> have expected there to be more models per Zen<N>, seeing in particular how
>> many different BKDGs / PPRs and RGs there are. Many RGs in particular say
>> they apply to a range of models, yet no similar ranges are covered here
>> (unless my deciphering attempts went wrong).
> 
> PPRs/RGs are generally per block of 0x10 models and all steppings
> therewith.Â  This is quite often one production CPU and a handful of
> preproduction steppings, but e.g. Milan and MilanX are two production
> CPUs share a same PPR/RG, as they differ only by stepping.
> 
> Preproduction CPUs probably won't have a fix (other than the final two
> rows which are A0 stepping of something presumably trying to get out of
> the door when Entrysign was found.)Â  The list does look to be right
> order of magnitude for the production CPUs.

Sure, and my question wasn't towards steppings of individual models. My
question was towards models of individual families, where the docs
suggest far more exist than this table would cover. I guess that while
talking mainly of steppings, you really (also) meant to say that most of
the model numbers weren't used in practice (for production CPUs) either?

> The AMD bulletin only gives microcode versions for server.Â  Clients only
> state AgesaPI versions, so I'm entirely reliant on Linux for the
> microcode versions.

I did understand that, yes, as you have a code comment saying so.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 23 08:39:57 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 08:39:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148766.1480616 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBqrC-0004uw-TY; Thu, 23 Oct 2025 08:39:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148766.1480616; Thu, 23 Oct 2025 08:39:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBqrC-0004up-QV; Thu, 23 Oct 2025 08:39:38 +0000
Received: by outflank-mailman (input) for mailman id 1148766;
 Thu, 23 Oct 2025 08:39: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
 <SRS0=oXKG=5A=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1vBqrB-0004uj-NO
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 08:39:37 +0000
Received: from MW6PR02CU001.outbound.protection.outlook.com
 (mail-westus2azlp170120002.outbound.protection.outlook.com
 [2a01:111:f403:c007::2])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cdec7b31-afeb-11f0-9d15-b5c5bf9af7f9;
 Thu, 23 Oct 2025 10:39:36 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by SJ2PR03MB7527.namprd03.prod.outlook.com (2603:10b6:a03:559::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.12; Thu, 23 Oct
 2025 08:39:31 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9253.011; Thu, 23 Oct 2025
 08:39:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cdec7b31-afeb-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=hcCJ0MnotFlKRV8oyewUl+PmVPogLVH5DjC2UOkfjuB6X6udpeHlGRqFg/0z9dtU4KaI20FDfb8MdubCvj064b71xf9s6pOcmge3gxd/TC4rZQOWmFa5oT5eljRx/elP4MuU2ybGh1e+LuGG6QqYzQ973aoi5TdqhCYW3LYnaMlxcI4Gkk4dnnNceO3EbITeW1rsI4LoOUrGUsz38xCFxAoChqNjJGrkXEUqNHYY2VewW1nWQzwRqnSnKv2CsN5Laa9WKfAMq/wOpa4j/BAHa/Qlmj78zSQmOk/sc3OCUwuuJ6MRLe7vVAG9lXVHb3+PdYMKH1yGrQ3vxo4dAmT+Uw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=19eBYxrnfoAkcua0jE/me9wgh/Gl7m3Gny6ARk2Zz5U=;
 b=MH9EVcmEu/c0xB1aZ/BleZAmJWSWYJYoQxG4Gf7Sx/rF09zI/fR80Ok2yaDDb2sdEyv26BmNMtl09i+nUSItgco6ZcBb3fSnO3oWKwHNxQ0CpQHevIReuKB2kRMQrfYGiR7CFq66INL4IZifuWcGSbUHHn7qubcvDMJSg1QUVP1hpsfPjJjLW9WMciwIxeyolVtzhv+8iK6Hv22fJBIZ8J5+hiAiUCyWkOFxgY70XaTDqh94TRjR0CmT8fU5bld/NZJGf8s4zdOXODwM9NR1TrNTv2jmkccHwtlby/AZSYhRyPRKYT3eeNG2/pkw3TPwEx9s1RdXKZ1GWi9hkq1V6g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=19eBYxrnfoAkcua0jE/me9wgh/Gl7m3Gny6ARk2Zz5U=;
 b=TfKAlOPjvfSKvxSrYjTd6oB0MA40CeJLneJosHxe+3XW425oZqSRKJ4T7Ynb8JAHLxnVPaaang3QDfSMVbBdp0sJ7F+hTM2C3pYJr9ZbRnkZVn3LRtUuDXNbw1VvOE/31sISr9JKivIzVVFVmSw5LJjnFbqoKe0cbc9JdMwCLXk=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 23 Oct 2025 10:39:26 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH v2 for-4.21 2/9] x86/HPET: use single, global,
 low-priority vector for broadcast IRQ
Message-ID: <aPnpvtXOoYSXXsT-@Mac.lan>
References: <b66ea488-2d47-472c-9520-8590fdf89e0e@suse.com>
 <c8c124c4-71c5-41e7-8d84-fd45ffd6af14@suse.com>
 <aPZh3Y8W4QcV_oLs@Mac.lan>
 <7128bbb5-d099-4584-8cd0-bfeec49b3e55@suse.com>
 <aPePepQk3t6gxMR1@Mac.lan>
 <16d62ac6-6666-4bad-be59-324cec634a20@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <16d62ac6-6666-4bad-be59-324cec634a20@suse.com>
X-ClientProxiedBy: MA2P292CA0001.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:1::17) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|SJ2PR03MB7527:EE_
X-MS-Office365-Filtering-Correlation-Id: cf202505-56ba-4451-cb5e-08de120faf30
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?R1RUUU84cUhGTGdpUG9NQkpMc0FmOW5Sa013S2c3RlFYb25RU1VRR2w5OXpJ?=
 =?utf-8?B?cTYzV0tVVjVoNmZuc2NuTTRIc0xUd0NSQ1cxb2xlR3A4QTR6Q0pCek1iVVhI?=
 =?utf-8?B?ZXh5QldSZzJ3OWhjNk9xU2NOUjhaTXp6MDg3Zkx5dWs0WlI4UUpGdW5pdUFa?=
 =?utf-8?B?VFp6ZW11QjJ2dGlhWXlwZHFWRHNYZlVrSCsyREo5YzhWcW9hQjUrS1g5cjN0?=
 =?utf-8?B?b2RjV0N5ZkZGejFLOTg2UFMwczVmcVhIQmRmV2dqcGI4dzdmS2FaTGNaREVi?=
 =?utf-8?B?ZzIvSEdJN3p2M2dKV2lDcWdMc3ZDMHFHTWg0UlNSeDA1b1VZNXhOdXVqaFhk?=
 =?utf-8?B?SC9HV1RkZFErdFY5MXFFZVUybmJJZHdvcXNXeTd4UWwrR0p2dUJLRHVndUpr?=
 =?utf-8?B?ZlI3anVFSEVqaVZ0VWlBTmVhRmlaLy9tNnc4RitPUWQyQjVVZTRDM2pFQm0r?=
 =?utf-8?B?ZGx4Y1JVdkZBTFhuVXkwNlFHNDh3UUlQMytCWGlqQTBlTHBKQUNMR2JNQU13?=
 =?utf-8?B?dDY4SDJKbzlvek4vdElVYmI1UmRWd1lnWk1PdTU3c3ZlSG5YM25TUzNWUHRt?=
 =?utf-8?B?QXNLMFRkSmkreEZRL0xPVUFYOXFZUzAvbGgvTFZPWExnNzJsb0ZMNkZ1aTRT?=
 =?utf-8?B?ZUdvS0lNNWFEUWhWalI3VUdRWjF0ZExPOXhBVXFuU2tjRm5xMCtqV2EzMElL?=
 =?utf-8?B?RGxzSHYwNVU3eFhvYjcwUVFSZ0hkSGsralNRMkU3c1dwVEhnNDZQL01KR1RY?=
 =?utf-8?B?N0lpYmNLdjdWNDZ6UXBtVUpveDBiQ2FOSFNIcXIzL1QzNjl1R25CNVBjNlVp?=
 =?utf-8?B?TW50eFUxVUY0T0ZYRm5zWVlreHdqTm1zdnNLTmVxemtFUXNNNGVqdDBZcHJH?=
 =?utf-8?B?S0ZVbFRoOWJVUHhNQmdqOWNNdHFOVHJyL2VQQkpseHV0dGVDQjVlczRSc0Fm?=
 =?utf-8?B?V0RKSXoxTmplVExkdUkxV0FiVnJwNlZDODlzRWQzT3I0dVpJNWtGL21WUmRO?=
 =?utf-8?B?MkVGT2RVeUxncnFxNmVuQUtleVdsN0N4N0RpRGhrMjNZSzFhaE9aS3MwaFFo?=
 =?utf-8?B?TzBxcW1zY1pKejdxTFo5dEFDUElZNkpMWDNVRG5QSkIxS3NNdTRLdmFOVWQ1?=
 =?utf-8?B?RlBmeWkyZ2JRU3FPMGZSdFJlVGpSVUNGaTRPNHRHbmgwQ1FNRDVzUmloQXN0?=
 =?utf-8?B?TWZBUzE3eUR1RVpUL3RoTG1mVEI2NnJsbmNUd3pQMEJ4OU93M1FVZ2RQY2RT?=
 =?utf-8?B?c2VGakRRMUxMd1NvWEdjSFdET0hHRFVtWEI0NUoyc05mVG02akdJV0FkdThK?=
 =?utf-8?B?WFMrNWtsUFN6SlRwSlcrUHR2dkkyY2R5OUxLQ295MS85SExFdDgvMnYyc000?=
 =?utf-8?B?Zy90MFZHL3pkMVZpL3FMVXhtSkdVMHY3WUx1ZjBXTU5aNVd5OGVXbFN6SEpV?=
 =?utf-8?B?bVJpNFF0eStnUUl2dHFkRHQ2THc3WVJ4cTE0N3hFRkJaSGlxUGR3RHJpYzdQ?=
 =?utf-8?B?WVNBeXF3ZFh6Zll5cFVNMlp6N3VhVnhvblliU0p3TXFpS0pCSkpQMm9QbXEx?=
 =?utf-8?B?UndaMmxGbUpOR1NxOWpFT3gvdkFWUjhvWlhyZS9GU3BnUWhqaTNyMjc4V1Vw?=
 =?utf-8?B?dUg1NSs0a1R4N3diQXZOdTdNdkN6bzNCU2IxdzNFdFA2cTVFdmQ5clRJQkFV?=
 =?utf-8?B?UXplZjdWUHZxVjVRK29vN2tQckF2U2tMd2pTY08vdnZEN3RGVEMydnQydmNF?=
 =?utf-8?B?SEdFQmR5YTVlQUd6ekd0dlNwd0JEMEcwQ2ZOMG9MOVNYQXN5RzJKTXQvN1Y0?=
 =?utf-8?B?K3o2cDRVS09wUW80R00rcVBXMkI2clNEK1BxbzZ4bU4vQko1U3JBcFF2K1VJ?=
 =?utf-8?B?U1lUVFNRRnFCYnA2Y2I1TkExK3VyTEtIMmJEWkltV3VscHE0dXdzaUlHUFpj?=
 =?utf-8?B?NnlITk9PNDNLUVdNUkRXOVg5TzFRcktZOVZsOGFoQytDblFHdEM5YjNhQ1Q5?=
 =?utf-8?B?dmI5T3llTWRnPT0=?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?M0hwVVFxdDZLQVlYc2tZS2IyYW80YldNU1RpSXJQelhuaE4rY0pCQXc3R1lt?=
 =?utf-8?B?U1BQaWRHcDR6U2hnREZwb1lDN3REWkk5UW9WZG9tdGE0cVhKM21hV3pRS3pv?=
 =?utf-8?B?QjFMMzZpcEJOL015cUxISHYvYnAwQ2pCWFRRaWxwcitLSzZhL1dldG05WFZt?=
 =?utf-8?B?dENiSVFhT0FURzIxSjhLOFhyeDhFZnhGelBLdVMwd3EwbzdHOW4xTWlCdjY1?=
 =?utf-8?B?dGkzVWtPL3RYcm1FMzk5ckg2aER4cjQxT0ZrME40ZUhXUGVrUDF2cGYrelB3?=
 =?utf-8?B?U0labnlwSWZXQzR2MER4WUZCM3dyWmNWaDRlaW9XQlpYMFhZRUU3RFpJV2ZN?=
 =?utf-8?B?ak9qczU2ZkdLbEFHanVFWFNnRTBVK0txbWsydXJlUlBNdStQaU5BYXR1Qmxp?=
 =?utf-8?B?UVgwZmcvdWhoaUpPVmtsRE94dHhaN3JhSlpmVS9BT1pYSlVkUTFXN2tSNDhX?=
 =?utf-8?B?aktRbXVLN0VZK0pYOCtkejNETDA2R2N1Q0ljOFFVMFZoQ1JlZGZ4MFNkeEd5?=
 =?utf-8?B?Umo3Z09GQytwaU5mb2x6UFdBczR5Y2dLbE1ySHRFcDA2M09rRnk4TDg2STlG?=
 =?utf-8?B?M2lyZGV1eWNnaUtjR0hWcGwyNmZmNzdRUEIrQnp1WUJXSmwyeVh2N0tXcmVn?=
 =?utf-8?B?ZXlTT2pjR2lsVWZpcnVQemtSSHMvZzdDZkdyOHlzQW9UYVFKOWVKM2gxTkZP?=
 =?utf-8?B?SWtsdVYxTkVUUnpnbzU1bm9iTFBic2lERGJVeVVmSGxvSlpIc0FGZWJ1clc4?=
 =?utf-8?B?SkZyOXp0c0U0aEFmNHg4RkNSUkozWnlmTWVFS2p3R2F5S3E5bGJBSGk1bUhs?=
 =?utf-8?B?aWR1eHhvbkhmclhrTFFocDNNWWZHNWlCdHZKeVQ1cUpscWZhV0pBNFUxRmxp?=
 =?utf-8?B?Z09VT0FTMXVGNmozc2ZGQjNYcVYvN2xnQ0MwL1daM2ZueWt3UHRSb3BXdXE1?=
 =?utf-8?B?bHlaZXNDd1BxOVZ1WUUzbXhMbzBEdHBtbldsS2RVTWR3VzNCL0J2WGxUakhY?=
 =?utf-8?B?MnhteVg2cmg2VlJ2VkxoWHlkM0ljQnlzL05idXlCTmhKS084Q0dqY0pydWw1?=
 =?utf-8?B?TmUxMk5iZGVjdzNibkw3bkRiRXc4OGdidXVsbllyR25ibk0xaDQ4Q3pDbjVY?=
 =?utf-8?B?VVVyMGNPU3R4K21QVTczN04zcEwycWFuNlI5R0hlQmlKRnkybTVGeXdQdXJE?=
 =?utf-8?B?SzMzSm0xUTdQM1NXMWdjM3VwZWNsRzFHeGV5R1hoMTh0NWdHaXBqaGF5ZGUx?=
 =?utf-8?B?d0IxRVZLbjVpWmIwMU5XRW1kenZJb0dwYVdwM0lCbys0R2xMVXdqNVFUWFpm?=
 =?utf-8?B?d0JSc1pnNVZScGQ4T0ZqcmJneXRya09EczZPN3dEQUEzMjZDRjh5Z0dpSHJR?=
 =?utf-8?B?N2dLQ2NIQXNqUGNSUjFpcXp1TzA5YnhCZnc3bGtnSDhLK1lxZ2ZrQWRSeUVC?=
 =?utf-8?B?V1BRUHFDc29EQklmUGRNN0RnemwyZDBTT1VKai9BVHR3TVFTZGg3cGFrOEdY?=
 =?utf-8?B?dWIzTDBLTnV1a3psangveXNVYmJHOVNLL3QwMTl4NlNweXRrYi8reFphSG5t?=
 =?utf-8?B?NmVseTA2UzZlQU9yQ2JhTTAzSEplSjlpZ0hyN2UrbU1JMDVsdXBqRlRjZlA2?=
 =?utf-8?B?bE5TdWNGY0wxem50d2t2NW1oWlRhWVFsRTNHWWR5RVlFc1hRd0I1OHhyNE41?=
 =?utf-8?B?MFJqRjZJVk9Od0pmUVRnNjl1Y2JxUlhXK09BSCt5bzdOMzNSRkwzY1dNamMr?=
 =?utf-8?B?ZnJETXR6NU0yWlRLNUoyeG5YdXNIUmhQWjlFbW84MzRxcGtaTndkOEF2eFh5?=
 =?utf-8?B?NmorV2Y1NVpEcTd4Qm9mazBNZXBoRGg0WUp1ZGV4OUZWd3ZvT1VSUEhEOXRW?=
 =?utf-8?B?VWpUVnVHTWgwVHNiU1VWb0hoWC8rb2xCbC9OeERXRElsaVJJdkNwVHloNWpN?=
 =?utf-8?B?M041b3JPWU5NSXlLbUhRbUVLZDJYR2twR3owTWJydDY3RmJMMncyL1dHWVJv?=
 =?utf-8?B?MCs2NEFxZGFrYkpaRFV2RjBxSFlDOGNHZktXdnNSM241anppVC9SdUcybnln?=
 =?utf-8?B?RTQxWkRpNEN5UXdUSW1KVzNkNGw4VGIxazc0cVNYL3JLVUdZeGo2akZTUGVh?=
 =?utf-8?Q?HCJmznWDGo3UFnCw5LQ9ju8bi?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cf202505-56ba-4451-cb5e-08de120faf30
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Oct 2025 08:39:31.1505
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: w5gPFGy8hS4hTjU5S17nhMaxMdV1x8pkw1Y2djV+ahwfwZrlIYLnJDJid0MmTjZ6d/h/K5SOnmnNVjLFx3kVkQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR03MB7527

On Wed, Oct 22, 2025 at 11:21:15AM +0200, Jan Beulich wrote:
> On 21.10.2025 15:49, Roger Pau MonnÃ© wrote:
> > On Tue, Oct 21, 2025 at 08:42:13AM +0200, Jan Beulich wrote:
> >> On 20.10.2025 18:22, Roger Pau MonnÃ© wrote:
> >>> On Mon, Oct 20, 2025 at 01:18:34PM +0200, Jan Beulich wrote:
> >>>> Using dynamically allocated / maintained vectors has several downsides:
> >>>> - possible nesting of IRQs due to the effects of IRQ migration,
> >>>> - reduction of vectors available for devices,
> >>>> - IRQs not moving as intended if there's shortage of vectors,
> >>>> - higher runtime overhead.
> >>>>
> >>>> As the vector also doesn't need to be of any priority (first and foremost
> >>>> it really shouldn't be of higher or same priority as the timer IRQ, as
> >>>> that raises TIMER_SOFTIRQ anyway), avoid any "ordinary" vectors altogther
> >>>> and use a vector from the 0x10...0x1f exception vector space. Exception vs
> >>>> interrupt can easily be distinguished by checking for the presence of an
> >>>> error code.
> >>>>
> >>>> With a fixed vector, less updating is now necessary in
> >>>> set_channel_irq_affinity(); in particular channels don't need transiently
> >>>> masking anymore, as the necessary update is now atomic. To fully leverage
> >>>> this, however, we want to stop using hpet_msi_set_affinity() there. With
> >>>> the transient masking dropped, we're no longer at risk of missing events.
> >>>>
> >>>> In principle a change to setup_vector_irq() would be necessary, but only
> >>>> if we used low-prio vectors as direct-APIC ones. Since the change would be
> >>>> at best benign here, it is being omitted.
> >>>>
> >>>> Fixes: 996576b965cc ("xen: allow up to 16383 cpus")
> >>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> >>>> Release-Acked-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>
> >>>> ---
> >>>> This is an alternative proposal to
> >>>> https://lists.xen.org/archives/html/xen-devel/2014-03/msg00399.html.
> >>>>
> >>>> Should we keep hpet_msi_set_affinity() at all? We'd better not have the
> >>>> generic IRQ subsystem play with our IRQs' affinities ... (If so, this
> >>>> likely would want to be a separate patch, though.)
> >>>
> >>> I think that needs to become a no-op, with possibly an ASSERT?  Is it
> >>> possibly for dom0 to try to balance this IRQ?  I would think not.
> >>
> >> I'd consider it an error if that was possible. But then the same goes for
> >> other Xen-internal IRQs, like the IOMMU ones. They all implement a
> >> .set_affinity hook ...
> > 
> > We need such hook for fixup_irqs() at least, so that interrupts can be
> > evacuated when an AP goes offline.
> 
> Hmm, yes. Just not here.
> 
> >>>> @@ -476,19 +486,50 @@ static struct hpet_event_channel *hpet_g
> >>>>  static void set_channel_irq_affinity(struct hpet_event_channel *ch)
> >>>>  {
> >>>>      struct irq_desc *desc = irq_to_desc(ch->msi.irq);
> >>>> +    struct msi_msg msg = ch->msi.msg;
> >>>>  
> >>>>      ASSERT(!local_irq_is_enabled());
> >>>>      spin_lock(&desc->lock);
> >>>> -    hpet_msi_mask(desc);
> >>>> -    hpet_msi_set_affinity(desc, cpumask_of(ch->cpu));
> >>>> -    hpet_msi_unmask(desc);
> >>>> +
> >>>> +    per_cpu(vector_irq, ch->cpu)[HPET_BROADCAST_VECTOR] = ch->msi.irq;
> >>>> +
> >>>> +    /*
> >>>> +     * Open-coding a reduced form of hpet_msi_set_affinity() here.  With the
> >>>> +     * actual update below (either of the IRTE or of [just] message address;
> >>>> +     * with interrupt remapping message address/data don't change) now being
> >>>> +     * atomic, we can avoid masking the IRQ around the update.  As a result
> >>>> +     * we're no longer at risk of missing IRQs (provided hpet_broadcast_enter()
> >>>> +     * keeps setting the new deadline only afterwards).
> >>>> +     */
> >>>> +    cpumask_copy(desc->arch.cpu_mask, cpumask_of(ch->cpu));
> >>>> +
> >>>>      spin_unlock(&desc->lock);
> >>>>  
> >>>> -    spin_unlock(&ch->lock);
> >>>> +    msg.dest32 = cpu_physical_id(ch->cpu);
> >>>> +    msg.address_lo &= ~MSI_ADDR_DEST_ID_MASK;
> >>>> +    msg.address_lo |= MSI_ADDR_DEST_ID(msg.dest32);
> >>>> +    if ( msg.dest32 != ch->msi.msg.dest32 )
> >>>> +    {
> >>>> +        ch->msi.msg = msg;
> >>>> +
> >>>> +        if ( iommu_intremap != iommu_intremap_off )
> >>>> +        {
> >>>> +            int rc = iommu_update_ire_from_msi(&ch->msi, &msg);
> >>>>  
> >>>> -    /* We may have missed an interrupt due to the temporary masking. */
> >>>> -    if ( ch->event_handler && ch->next_event < NOW() )
> >>>> -        ch->event_handler(ch);
> >>>> +            ASSERT(rc <= 0);
> >>>> +            if ( rc > 0 )
> >>>> +            {
> >>>> +                ASSERT(msg.data == hpet_read32(HPET_Tn_ROUTE(ch->idx)));
> >>>> +                ASSERT(msg.address_lo ==
> >>>> +                       hpet_read32(HPET_Tn_ROUTE(ch->idx) + 4));
> >>>> +            }
> >>>
> >>> The sequence of asserts seem wrong here, the asserts inside of the rc
> >>>> 0 check will never trigger, because there's an ASSERT(rc <= 0)
> >>> ahead of them?
> >>
> >> Hmm. My way of thinking was that if we get back 1 (which we shouldn't),
> >> we ought to check (and presumably fail on) data or address having changed.
> > 
> > Right, but the ASSERT(rc <= 0) will prevent reaching any of the
> > followup ASSERTs if rc == 1?
> 
> Which is no problem, as we'd be dead already anyway if the first assertion
> triggered. Nevertheless I've switched the if() to >= 0 (which then pointed
> out a necessary change in AMD IOMMU code).

Right, so and adjusted if condition plus an ASSERT_UNREACHABLE() at
the end of the if code block?

> >  IOW, we possibly want:
> > 
> >             if ( rc > 0 )
> >             {
> >                 dprintk(XENLOG_ERR,
> >                         "Unexpected HPET MSI setup returned: data: %#x address: %#lx expected data %#x address %#lx\n",
> >                         msg.data, msg.address,
> >                         ch->msi.msg.data, ch->msi.msg.address);
> >                 ASSERT_UNREACHABLE();
> >                 hpet_msi_mask(desc);
> >                 hpet_write32(msg.data, HPET_Tn_ROUTE(ch->idx));
> >                 hpet_write32(msg.address_lo, HPET_Tn_ROUTE(ch->idx) + 4);
> >                 hpet_msi_unmask(desc);
> >             }
> >             ASSERT(!rc);
> 
> To be honest, for my taste this goes too far as to what follows an
> ASSERT_UNREACHABLE().

I can understand that.  It's the best way I've come up with attempting
to recover from a possible error in the release case, but I don't
particularly like it either.

> > I'm unsure about attempting to propagate the returned values on release
> > builds, I guess it's slightly better than possibly using an outdated
> > RTE entry?  Albeit this should never happen.
> 
> Yes to the last remark; I don't actually see what you would want to do
> with the propagated return value.

OK, I can this this not being clear.  By propagate here I mean
propagate to the hardware registers, not to the function caller.

> > Also, should the desc->arch.cpu_mask update only be done after the MSI
> > fields have correctly updated, so that in case of failure of
> > iommu_update_ire_from_msi(9 we could return early form the function
> > and avoid changing desc->arch.cpu_mask?
> 
> Hmm, yes, I could do that, but then also in hpet_msi_set_affinity().
> However, as this needs doing under the IRQ descriptor lock, I'd have to
> either extend the locked region here (again), or re-acquire the lock
> later. Neither looks very attractive to me.

Hm, I guess given the point in the release we can leave it as-is.  It
would be nice, but this change is big enough as it is.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Oct 23 08:47:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 08:47:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148780.1480626 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBqyq-0006b1-Oi; Thu, 23 Oct 2025 08:47:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148780.1480626; Thu, 23 Oct 2025 08:47:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBqyq-0006au-LY; Thu, 23 Oct 2025 08:47:32 +0000
Received: by outflank-mailman (input) for mailman id 1148780;
 Thu, 23 Oct 2025 08:47:31 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <anthony@xenproject.org>) id 1vBqyp-0006ao-Li
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 08:47:31 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <anthony@xenproject.org>) id 1vBqyn-00Fns8-13;
 Thu, 23 Oct 2025 08:47:29 +0000
Received: from [2a01:cb15:80df:da00:94d0:641e:16e6:ca4b] (helo=l14)
 by xenbits.xenproject.org with esmtpsa (TLS1.3) tls
 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96)
 (envelope-from <anthony@xenproject.org>) id 1vBqyn-00B4TW-0R;
 Thu, 23 Oct 2025 08:47:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=In-Reply-To:Content-Type:MIME-Version:
	References:Message-ID:Subject:Cc:To:From:Date;
	bh=7msVaFVLAOFaUAvt9ZPd4r5V/akvKxO8C2L4ouqbue8=; b=cCheWAwcFFve0Q09bIiPddwsnH
	7WvtpvTaNcfXKeaP/DcBQ9Sf/o5xzq0lMU4E+X8Sosn5e0W9WHq2CaTmTgXbIztO4ixTNgrL0YQXP
	0r54kYBHKK/Ks94LUsr0o+3jpnGvoUPv7KqE/msSj49RI6IFq2AHNJRzPjxfRs1SrxPA=;
Date: Thu, 23 Oct 2025 10:47:27 +0200
From: Anthony PERARD <anthony@xenproject.org>
To: Jan Beulich <jbeulich@suse.com>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
	Jason Andryuk <jason.andryuk@amd.com>,
	Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH v2 2/8] libxl: Convert libxl__json_parse() to use
 json-c
Message-ID: <aPnrn-0ZcjxZ6VHz@l14>
References: <20250929120756.46075-1-anthony@xenproject.org>
 <20250929120756.46075-3-anthony@xenproject.org>
 <5c8777cb-86c4-4600-83e2-e48700b2daab@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <5c8777cb-86c4-4600-83e2-e48700b2daab@suse.com>

On Thu, Oct 16, 2025 at 12:45:57PM +0200, Jan Beulich wrote:
> On 29.09.2025 14:07, Anthony PERARD wrote:
> > --- a/tools/libs/light/libxl_json.c
> > +++ b/tools/libs/light/libxl_json.c
> > @@ -16,7 +16,25 @@
> >  
> >  #include <math.h>
> >  
> > +#ifdef HAVE_LIBJSONC
> > +#include <json-c/json.h>
> > +#define USE_LIBJSONC_PARSER
> > +#endif
> > +
> > +#ifdef HAVE_LIBYAJL
> > +#  ifndef USE_LIBJSONC_PARSER
> > +#    define USE_LIBYAJL_PARSER
> > +#  endif
> > +#endif
> > +
> > +
> > +#ifdef USE_LIBJSONC_PARSER
> > +#include <json-c/json_visit.h>
> > +#endif
> 
> The version of json-c one of my systems is using also doesn't have this header.

Looks like this was introduced in 0.13, with json_c_visit().

> Plus (uses originating from other patches in this series)
> json_object_object_add() returns void there. Plus of course any number of further
> issues I'm going to see. The checking configure.ac is doing right now looks to be
> insufficient overall.

json_object_object_add() prototype was change in 0.13 it seems,
according to
https://github.com/json-c/json-c/blob/master/ChangeLog

Also, another patch (xenstat) was using a deprecated function
json_object_object_get(), but the deprecation seems to have been removed
in 0.13.

I've tried to build with our Ubuntu 20.04 docker image, on which we can
install json-c 0.13 and found other missing functions.

Both json_object_new_null() and json_object_new_uint64() are missing,
the first one isn't needed, but I think we need the second one. Both
were introduced in json-c 0.14.

And last one, json_object_new_array_ext() which was introduced in 0.15.
We could replace it by json_object_new_array() if needed.

Overall, is seems the current code needs json-c 0.15, so 
    -PKG_CHECK_MODULES([libjsonc], [json-c],
    +PKG_CHECK_MODULES([libjsonc], [json-c >= 0.15],

I'll prepare a patch.

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Thu Oct 23 08:56:13 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 08:56:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148794.1480636 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBr7B-0008DW-Gd; Thu, 23 Oct 2025 08:56:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148794.1480636; Thu, 23 Oct 2025 08:56:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBr7B-0008DP-Ds; Thu, 23 Oct 2025 08:56:09 +0000
Received: by outflank-mailman (input) for mailman id 1148794;
 Thu, 23 Oct 2025 08:56:07 +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
 <SRS0=oXKG=5A=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1vBr79-0008C1-NM
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 08:56:07 +0000
Received: from BL0PR03CU003.outbound.protection.outlook.com
 (mail-eastusazlp170120007.outbound.protection.outlook.com
 [2a01:111:f403:c101::7])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 16886fbd-afee-11f0-9d15-b5c5bf9af7f9;
 Thu, 23 Oct 2025 10:55:57 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by DS7PR03MB5445.namprd03.prod.outlook.com (2603:10b6:5:2d0::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.12; Thu, 23 Oct
 2025 08:55:54 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9253.011; Thu, 23 Oct 2025
 08:55:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 16886fbd-afee-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=W1Vba8K+JVf5WGQnl3tUe90ozK8smNw20MzvyFNVbi+wR3K5p0vmSBqpTUwizTBVKwGygeZBK8xpCCHuXCFT0H7CWa4aGH4DGM+0r3ykLIF1Uvr5yELwm+z2yGFuFSQN2jQkFK2tk+u3jrAi8tdiN9Fe0Vct0fksuvXJokh76+KrELArKEpxIUgCEODTbMEpmDwynVmPjbdtTS2QjQNTPC+AkDsEmMhzs8qwWDFjw5mzg+0QfOkU5ZQaJS/WD+SMl72ZV/yM48nnwdpc7zZQGO19EibDIGzcS3AvShkWa52CL7tUYtKU38IwjXJ2fIpSx5OL1TBGhxFtv3+Y3tCmSw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kzfwZCceF4wWOKQ3APZGG3TEWSaoZ0JykLg7ajLVIlo=;
 b=jQ+B2RmufF3+v/xucCM3gPwp6K1DsJopHO7GRkXVanOT1daODJpQ/Z7HWBUIaiWlQoxZk4ME/DFdM8r87ZusAAPkM59f0ac9AzLim5KLK28QVOLSZF77psfMAxuIgimvR2TG5Pto2QN9X1RDPro1mX15aFaUtAsEO/W42kBC02O9lvr/OmUp90BSZR7NBFK/4tkvNaf5OXRuYpLV2ZTO6KoIHZpPFOl0ZTFwxkYT6Cwq+dv5JSnibTo/THZpwBGxr2HOUf2D4VOOocWH9mrj+3jPWmmyRRdCTiahqwTpcPQRITrcBEoXS6jN56O0JSXyDonwMuZRfuIBuj7lxxA5xQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kzfwZCceF4wWOKQ3APZGG3TEWSaoZ0JykLg7ajLVIlo=;
 b=b1z1lEf11bEqSBGpXTrJzr/L7/v65haLPFWJTdU6qxOC2i16tJkYKE2qhfl8J29NoImfM3uYCajG+pdQL2dJgVAvCICULtmxk5tiV/snlIq98V7SkM49hT778CCvC6BxgmH+rdKx45ScZ9CvEx5VqFosgC0I/DXyvnnxNcCks2c=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 23 Oct 2025 10:55:49 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Philippe =?utf-8?Q?Mathieu-Daud=C3=A9?= <philmd@linaro.org>
Cc: qemu-devel@nongnu.org, Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony@xenproject.org>,
	Paul Durrant <paul@xen.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH] hw/xen: pass PCI domain to xc_physdev_map_pirq_msi()
Message-ID: <aPntlU6fPwU4jx_w@Mac.lan>
References: <20251017155136.16540-1-roger.pau@citrix.com>
 <d4bb9b02-5cdc-4da5-926b-7bb17f78bcfc@linaro.org>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <d4bb9b02-5cdc-4da5-926b-7bb17f78bcfc@linaro.org>
X-ClientProxiedBy: PR0P264CA0175.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:100:1c::19) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|DS7PR03MB5445:EE_
X-MS-Office365-Filtering-Correlation-Id: a64ef638-322b-416c-6544-08de1211f922
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?ZFBmcmpheTBiRnI5Wk5iZ3doZXppRGNxd3g2S1pINEFvWmI1TEZJclpHdU9u?=
 =?utf-8?B?QkNvLzVYdFIrd3F2ZHpBTkZFSy9mOHNUeHFsNFZKNlNDeXNpN2NObzNBWU5D?=
 =?utf-8?B?Y0lqcWx6dFlMT2VoRlBHNElvYlUwUWx3WVM5Z0wvclpIcUFHWDFBOWpxK1RB?=
 =?utf-8?B?Si9DcG9ockl0MW9VNkkrUWZ2WUpSclpiVmx3OVVJdVpRV2RJRm9iWEQ3MU5W?=
 =?utf-8?B?R2xPYVZqRldJZ3dvM0o3MFpvTThwTzJESTBBS2lvWTYrbnU2YzRvekNOVzND?=
 =?utf-8?B?ci92S2JFWHloUWRaS01MajE3eUlrazRQTjZKdmNNb1lEV240dk9SaEFLQW4z?=
 =?utf-8?B?OUZDWVhTSENvNHJQS1Z3czlSckRMTXQvUC9yMm9qUk5mZG9SZURPSHJjejJZ?=
 =?utf-8?B?ZjQ1VVJhRFN6b1c2THZWMks2clFYVnlZWXB1T1B5ci9BTGcrMFBWRHY2cG80?=
 =?utf-8?B?OTJhZ0lLUVRHOERJcllCMDFSZEZodWNIUUxCL1VUeUJGMHk3ZUxKRjg0N2xn?=
 =?utf-8?B?UXpCL1NIclk2aHhweTRRT29kOVpudk1VakVTWlk3RUZVc2dFYzlaekhMYm5l?=
 =?utf-8?B?c3VYY0c1NGhOTkMzOHNIQ1BpVUpOeXJzamdJek90TUhZRExsbWVsbzNKcUsy?=
 =?utf-8?B?eGFlclBoTk9JdmpNdWx5Tit3RG0yQkJkUXR3bFowMmRHcTNKY1ZNcUhZajFG?=
 =?utf-8?B?V2RvRCtSUHRtTDZNcjkvR0hzWVpOTGc5aEtoRHY1TjllUW81L1h3K1E1THpu?=
 =?utf-8?B?NW13bzRqWVB0NkRuVjE2NVQ1eWNseFZrYXJBekhuaVlYVjJpK2JmVWxwb0dM?=
 =?utf-8?B?OEYzb2JwVjBySDFPMmVteEFUeGdxUC9aYVoxeGpyWFpDcE9PSUJoNzVieTgz?=
 =?utf-8?B?T29TY2VlMk9LNU5LZWZ3VnJBVkVNYVVJc2E5K0F5d2JkUnBvS0QvMVo2RGRl?=
 =?utf-8?B?NVI3Q1A3aEpVdk1JbXFFbDVtdEh5dFRzMXN3Y1J6MEpKWElmMVJUTm9PbzQv?=
 =?utf-8?B?YmhyVWV3S0QvUXJQenBXZkdIM0o0L2NTWjdoT0doM2l2bEF1em5oUERGTmZ4?=
 =?utf-8?B?Wk1GcVZ0TjV1b2xpbEdPYkFzY3BYYWNDczQ0K2plMlR6WldjUEE0QXdJZ1Z1?=
 =?utf-8?B?UDlOSXlXaE40bDN4azhGaVFQQ2Z5S0E1c1FDYnBsMkUvNnJpcjYwMUhMN1d2?=
 =?utf-8?B?aEVaNnYrV1JuQi9qZnlGalMzYStkc01QUExTREJHcjQ3a0wwSStEMG1INU9G?=
 =?utf-8?B?TDQyK1dVSmlGSGQrRVB3c21VYWNxWUNaSkhLVi9pbnpYMThzUm5IeEJjKzhR?=
 =?utf-8?B?R2wxZHZJUzlGSlJCSkZNejIzNG1QNEExd1k3RGxSUFF1aUVDQXA3K2RJQ0R0?=
 =?utf-8?B?enNHb29JMHF6a1dHd2VyTy9OckFQaXlhc2o1L2cwQjVReWQrY1BWU2dIWVEr?=
 =?utf-8?B?Y0RpRXpCZ3JzMm5SSWxMcjdrRjk0d3Vic2lDNHY0QXNqM2ZJMWZxYWNOb0xa?=
 =?utf-8?B?VUtEVUFGK1l6aU9Hd3JUdG9pbXRHd3p1a2ZENTNOd3BRcnpxUzRZNStLa3gw?=
 =?utf-8?B?WHpwY2h0c0kyTCtVdlBVN25JWllXT20yVUNlanRLdk1sQ1dvL1F1UWFJeTBi?=
 =?utf-8?B?THdxSG1mcDczN244b0tOdCt4YzlQZTNnQ1FzL0R4VnFFQVREQWN0MlBTdU5D?=
 =?utf-8?B?RllzbW5CWnZMWnllOS9jMkdzZ0EreW85NnFJZjlBN1dtUFJDWlp0bjMrajBR?=
 =?utf-8?B?SGpwMGhOaGN5TXF0OEsweFB4OVl6M0Y0Vjg4Z2hzd2h0QnlqUUF0Vlg2b0dC?=
 =?utf-8?B?a25POE1aS1ZaOU9SNm1pOEFwZFpObVNqU0pYYVV6bVRJT05HT1dxajBQUEx4?=
 =?utf-8?B?aUFaWExyRGZ3SWxIV1pRTVQzYmd6WitiMXBuYnNEMVRHOVhDRlhaRmdEclRp?=
 =?utf-8?Q?ldzNw3QjhUxodiQk45V/XXWmpnH05TyJ?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MDJRU1hHUGo1NHc2QkRsWnNDVHJSVUJpdjR0YmQ1UmpqcERBMFBBTG1VWWdY?=
 =?utf-8?B?cTRzODU0WGU3MzZ6d1lyUGl4ZmRZQ2cyVHlBY1hyWUVUdDRGdStuVEREV2RC?=
 =?utf-8?B?WVptSlY5UmFNRHV6N1hubFRiV2x4QnAzRW5QalVjMGp6SkxkSVFpbXJ5SUdH?=
 =?utf-8?B?djVXdGVWY3QxVEJEVDhlS28vQUpqd0c3OVN4NHpiWU4ySkZEOGVVQ1ZLQXdU?=
 =?utf-8?B?MVpTcnFSMjhjRUwyc0VZZ1AreERjOCtCa3gwSFYwZTRGSUhRS24rMmxsSVNx?=
 =?utf-8?B?WHhiNUFJeVhIQVFubU9RemlGanpPS1VscTVVc00yRDk4b2R6eTQwUmJXc1A5?=
 =?utf-8?B?Ni90K3JoWjA4RVY2MlBWZXBRWkRibTIvUTB0R01GMHRMNGEzY3F6YmYxdVJN?=
 =?utf-8?B?ajZPUHg1bnQweGZGbnBGalk4UVVEYzVkWFNNMlNtVEQ5S25xa1EyWnNqa2hN?=
 =?utf-8?B?M0lmcHdYUUpWbkMxU2pWRm5DWkxIQWdpYzJRQngveXY5aXNSMG1WUzlzLzFV?=
 =?utf-8?B?RFQyVVRYa2lGQ3IzZWZLenJGMDducW5WbFppT01INDRtNVZzUEFSUEt3MFNQ?=
 =?utf-8?B?N3BpZTJtQ2ZYQjZUNXFHaXhBZWEvZ2IxQjZUdnVwcTZZRVgrTXVMMDQvOGI5?=
 =?utf-8?B?bjl4UzhuYThjeGFEbTUzUHlBemZIVE9pTlJEMlNXait5LzhUbVExd0VmMFpT?=
 =?utf-8?B?a3MvWlFEK0w4L3laSEdoSjUyb1BwaDhjME9GMEI2YkljbGt2dE1ja2NGR3R1?=
 =?utf-8?B?UW90N3VMaFNYbFh6SEUrQWhjNDJ1OEZtbDNhV1lURnVwRzB6aisvNGxHOG9Q?=
 =?utf-8?B?KzhCdjJ4V2RVeWVYSWVRMExOUlo3WnpweXNCSjRrbU56NEFiM0ZoRnhOaFg4?=
 =?utf-8?B?YWlNM2c2RXRlbkpPU0lxUnhiYWszMzVZVVBxUi9Ob3pUM053VDArbTNyOG9V?=
 =?utf-8?B?TWtzdlRPZmpxWWxaU0xyZVNtMjJQZ3ROa3cxa2tOMEJwMnJKTXUxRG5uZU12?=
 =?utf-8?B?S1U5OE54ODg1WC9ad3R2SXJTUDJ2OVBET3hKMTRSS29BcTZCeWZLWW85SmZS?=
 =?utf-8?B?ZG04UkJBNTFhckZiWTRXK0gyTnRLdm84VFdJNU1xSGt4dFk3WnFRZVBDKzA5?=
 =?utf-8?B?VHZvOUZQVmhOL3JiRjhjSW1NNSt1NmQrWElkK251ZDZNR1JVL3hyTHNDNFBC?=
 =?utf-8?B?dVMyWFRNSzN0aDU5S2VONjNxOGRhclUvem5CNDRxV3h5ZnczMlRpVmo1a2M1?=
 =?utf-8?B?OUl3Rm95eExscjV5clEra1pteGh4YlFnS3NMSThWQytXYUhmOFFqWS9nQnFq?=
 =?utf-8?B?WDJPME9EMEhpK042aWI4byt3ZWdoNnBqTm1TdThwUEx3OTYxTXk5L1JnV05U?=
 =?utf-8?B?Y2pGbFVNWVF0TUFZUVJzem5XMkROUFJFU0o3bzBhSzhCODBDSXlUNGhCVVM0?=
 =?utf-8?B?NXM2WnhoQm9LWVIrSkpuSXhnc2dkQkJLWHhIbzFqZ3pNZjJBaW1ZUWNPTjN5?=
 =?utf-8?B?bWJJbm5GeDI1am9BQ0RIV0tKa0xUQUtVdnJ5N0p0dGhtdFZHUjdoQ2dEVXda?=
 =?utf-8?B?QVkwNWlyWGJyaW5TdGljd08xZjFvUzV5ODNxN3MxZGdpUnhROUVsOUVZWHpC?=
 =?utf-8?B?WGhxWXUvOU5SQUFsQnFJNFhxQlJhTlU0bEdhalNKNnVINm5odzFHNG44M0ZM?=
 =?utf-8?B?Ylc5VU5rUnlLbFNwSG5WalJCbnFiQkZ4RzN1SHJhamdXUENOMFNaR2thdmRZ?=
 =?utf-8?B?dUVRbEN3djRTZkV3c0t2amJSWTJNdndZanF2aXBjTytmSVdHcjBtM0x5VllZ?=
 =?utf-8?B?RGlIc1B0WnVMMUVnczBmVjArNTBuT1pBZEpQZFZ5aFVyenZEMDZHbDJNVlFv?=
 =?utf-8?B?RlpUVjdlNmlrMGQxMmVZbGpIak5DTzNtUjNGUk94NXVJSzlPWWtUM1lBOUtp?=
 =?utf-8?B?Q2hIUUczbWxXWVZxc21JaWVFcEhBalNJZGRMVzlvcmlsUUtlbWVJTjByd05S?=
 =?utf-8?B?VzFKRTN2aWNjWjZQVU01dDRaV2JvaW96OC9tUThwVFY5eDNGa0dGUFlmME1F?=
 =?utf-8?B?UStNOGs0TUhPNDBRUWtTUTQ2U0RabmRtc1VCdGpvcXRURVdSS3FlOEhLd09C?=
 =?utf-8?Q?4x5il0UsgZ5XzBpbVT03KQkm/?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a64ef638-322b-416c-6544-08de1211f922
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Oct 2025 08:55:53.9766
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: OH4bLRXQrUNFa2Es/srlXGKqcjGUOZKe/pbRb6Zsuo+HfQNiEAHUs1R0Gq9+YR+nUqoMaNERFhrt5achv6QVnQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR03MB5445

On Tue, Oct 21, 2025 at 08:17:37PM +0200, Philippe Mathieu-DaudÃ© wrote:
> On 17/10/25 17:51, Roger Pau Monne wrote:
> > It's currently impossible for passthrough devices on segment different than
> > 0 to work correctly, as the PCI domain is not provided to
> > xc_physdev_map_pirq_msi(), and hence it's unconditionally assumed that all
> > devices are on segment 0.
> > 
> > Adjust the call to xc_physdev_map_pirq_msi() to pass the PCI domain in the
> > high 16bits of the bus parameter.  On versions of Xen where this is not
> > supported the passed segment will be ignored and assume to be 0, no worse
> > than the current state.
> > 
> > Signed-off-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
> > ---
> > Cc: Stefano Stabellini <sstabellini@kernel.org>
> > Cc: Anthony PERARD <anthony@xenproject.org>
> > Cc: Paul Durrant <paul@xen.org>
> > Cc: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
> > Cc: xen-devel@lists.xenproject.org
> > ---
> >   hw/xen/xen_pt_msi.c | 1 +
> >   1 file changed, 1 insertion(+)
> > 
> > diff --git a/hw/xen/xen_pt_msi.c b/hw/xen/xen_pt_msi.c
> > index e9ba17317aba..df15ccf0d030 100644
> > --- a/hw/xen/xen_pt_msi.c
> > +++ b/hw/xen/xen_pt_msi.c
> > @@ -138,6 +138,7 @@ static int msi_msix_setup(XenPCIPassthroughState *s,
> >           rc = xc_physdev_map_pirq_msi(xen_xc, xen_domid, XEN_PT_AUTO_ASSIGN,
> >                                        ppirq, PCI_DEVFN(s->real_device.dev,
> >                                                         s->real_device.func),
> > +                                     ((uint32_t)s->real_device.domain << 16) |
> >                                        s->real_device.bus,
> 
> Alternatively:
> 
>   deposit32(s->real_device.bus, 16, 16, s->real_device.domain)

Oh, I have to admit I'm not that well versed in QEMU, so didn't even
knew this existed.

Thanks for picking it up.


From xen-devel-bounces@lists.xenproject.org Thu Oct 23 08:58:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 08:58:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148810.1480645 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBr99-0000K1-Ra; Thu, 23 Oct 2025 08:58:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148810.1480645; Thu, 23 Oct 2025 08:58:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBr99-0000Ju-P2; Thu, 23 Oct 2025 08:58:11 +0000
Received: by outflank-mailman (input) for mailman id 1148810;
 Thu, 23 Oct 2025 08:58:09 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <anthony@xenproject.org>) id 1vBr97-0000Jo-LV
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 08:58:09 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <anthony@xenproject.org>) id 1vBr97-00Fo4G-0Q;
 Thu, 23 Oct 2025 08:58:09 +0000
Received: from [2a01:cb15:80df:da00:94d0:641e:16e6:ca4b] (helo=l14.home)
 by xenbits.xenproject.org with esmtpsa (TLS1.3) tls
 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96)
 (envelope-from <anthony@xenproject.org>) id 1vBr96-00B5aB-31;
 Thu, 23 Oct 2025 08:58:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:
	Message-ID:Date:Subject:Cc:To:From;
	bh=c6SRPqKmsyIJlIAnbiHatjWvff6Yy0MFaosq/o6UgTY=; b=u/X3GriWrix9yN9JCOkT7cige3
	WIYbzGW40cHgnDr2cxi4lhBig2wQp381SzcAzhRdumZKSVSdsABGqj/Zg6t/exmiJwI8C9Oms4WDC
	u9B+rTs2Qun1ojVhM2sNEKbu1Srfzz8Oa4mUn5p3bWx4Nxx6OJJxr0sARW/tQRDv8/qM=;
From: Anthony PERARD <anthony@xenproject.org>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Anthony PERARD <anthony.perard@vates.tech>
Subject: [XEN PATCH for-4.21] tools: require at least json-c 0.15
Date: Thu, 23 Oct 2025 10:57:30 +0200
Message-ID: <20251023085730.36628-1-anthony@xenproject.org>
X-Mailer: git-send-email 2.47.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Anthony PERARD <anthony.perard@vates.tech>

If not available, fallback to using YAJL.

The code is using json_c_visit() which was introduced in 0.13.
json_object_new_null() and json_object_new_uint64() where added to
0.14. And the last one json_object_new_array_ext() was introduced in
0.15.

Signed-off-by: Anthony PERARD <anthony.perard@vates.tech>
---
 tools/configure    | 16 ++++++++--------
 tools/configure.ac |  2 +-
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/tools/configure b/tools/configure
index 0eb7a0ab6a..d460f25529 100755
--- a/tools/configure
+++ b/tools/configure
@@ -9642,12 +9642,12 @@ if test -n "$libjsonc_CFLAGS"; then
     pkg_cv_libjsonc_CFLAGS="$libjsonc_CFLAGS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"json-c\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "json-c") 2>&5
+    { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"json-c >= 0.15\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "json-c >= 0.15") 2>&5
   ac_status=$?
   printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_libjsonc_CFLAGS=`$PKG_CONFIG --cflags "json-c" 2>/dev/null`
+  pkg_cv_libjsonc_CFLAGS=`$PKG_CONFIG --cflags "json-c >= 0.15" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -9659,12 +9659,12 @@ if test -n "$libjsonc_LIBS"; then
     pkg_cv_libjsonc_LIBS="$libjsonc_LIBS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"json-c\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "json-c") 2>&5
+    { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"json-c >= 0.15\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "json-c >= 0.15") 2>&5
   ac_status=$?
   printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_libjsonc_LIBS=`$PKG_CONFIG --libs "json-c" 2>/dev/null`
+  pkg_cv_libjsonc_LIBS=`$PKG_CONFIG --libs "json-c >= 0.15" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -9685,9 +9685,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        libjsonc_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "json-c" 2>&1`
+	        libjsonc_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "json-c >= 0.15" 2>&1`
         else
-	        libjsonc_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "json-c" 2>&1`
+	        libjsonc_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "json-c >= 0.15" 2>&1`
         fi
 	# Put the nasty error message in config.log where it belongs
 	echo "$libjsonc_PKG_ERRORS" >&5
diff --git a/tools/configure.ac b/tools/configure.ac
index 7267d02a04..285b4ea128 100644
--- a/tools/configure.ac
+++ b/tools/configure.ac
@@ -424,7 +424,7 @@ AC_SUBST([ZLIB_CFLAGS])
 AC_SUBST([ZLIB_LIBS])
 AX_CHECK_EXTFS
 AX_CHECK_PTHREAD
-PKG_CHECK_MODULES([libjsonc], [json-c],
+PKG_CHECK_MODULES([libjsonc], [json-c >= 0.15],
     [AC_DEFINE([HAVE_LIBJSONC], [1], [Use library json-c])],
     [AC_CHECK_LIB([yajl], [yajl_alloc],
         [AC_SUBST([YAJL_LIBS],[-lyajl])
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Thu Oct 23 09:06:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 09:06:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148823.1480656 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBrHA-00020g-L3; Thu, 23 Oct 2025 09:06:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148823.1480656; Thu, 23 Oct 2025 09:06:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBrHA-00020T-IN; Thu, 23 Oct 2025 09:06:28 +0000
Received: by outflank-mailman (input) for mailman id 1148823;
 Thu, 23 Oct 2025 09:06:27 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <anthony@xenproject.org>) id 1vBrH9-00020M-SE
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 09:06:27 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <anthony@xenproject.org>) id 1vBrH9-00FoE2-0h;
 Thu, 23 Oct 2025 09:06:27 +0000
Received: from [2a01:cb15:80df:da00:94d0:641e:16e6:ca4b] (helo=l14)
 by xenbits.xenproject.org with esmtpsa (TLS1.3) tls
 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96)
 (envelope-from <anthony@xenproject.org>) id 1vBrH9-00B6fA-02;
 Thu, 23 Oct 2025 09:06:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=In-Reply-To:Content-Type:MIME-Version:
	References:Message-ID:Subject:Cc:To:From:Date;
	bh=YnaJVaO1Spuw4SlTTtKsrj6tfNIiVezdEjkaRegrEFs=; b=P1tw0mPt0PpGBsYCzGdBHG+uM5
	wojvWS4ANgvygATCtk/C3GgvNOlWmFTksQ6207wQziZNzr2xQ30q42GxfPPT62czGAZT7i4s7EuXX
	gtYdlIzlSZOJoIdoMQRAXPmLcvu5qQbTMXkXoN6Dn3vbHi8Q52ESlo9e6eYgtG8d3VWk=;
Date: Thu, 23 Oct 2025 11:06:25 +0200
From: Anthony PERARD <anthony@xenproject.org>
To: Jiqian Chen <Jiqian.Chen@amd.com>
Cc: xen-devel@lists.xenproject.org, Huang Rui <ray.huang@amd.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Juergen Gross <jgross@suse.com>,
	Anthony PERARD <anthony.perard@vates.tech>
Subject: Re: [PATCH v3 for-4.21 1/1] tools/libs/light: fix BAR memory address
 truncation
Message-ID: <aPnwEfKCFPe6ia9H@l14>
References: <20251023023128.11589-1-Jiqian.Chen@amd.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20251023023128.11589-1-Jiqian.Chen@amd.com>

On Thu, Oct 23, 2025 at 10:31:28AM +0800, Jiqian Chen wrote:
> 64-bit BAR memory address is truncated when removing a passthrough
> pci device from guest since it uses "unsigned int".
> 
> So, change to use 64-bit type to fix this problem.
> 
> Fixes: b0a1af61678b ("libxenlight: implement pci passthrough")
> Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
> Release-Acked-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> Reviewed-by: Juergen Gross <jgross@suse.com>

Acked-by: Anthony PERARD <anthony.perard@vates.tech>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Thu Oct 23 09:12:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 09:12:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148834.1480666 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBrMq-0003Xx-92; Thu, 23 Oct 2025 09:12:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148834.1480666; Thu, 23 Oct 2025 09:12:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBrMq-0003Xq-5C; Thu, 23 Oct 2025 09:12:20 +0000
Received: by outflank-mailman (input) for mailman id 1148834;
 Thu, 23 Oct 2025 09:12:19 +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
 <SRS0=QiUI=5A=bounce.vates.tech=bounce-md_30504962.68f9f170.v1-920b4946db8a4b81a0e48242a6ea855a@srs-se1.protection.inumbo.net>)
 id 1vBrMp-0003Xf-FT
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 09:12:19 +0000
Received: from mail180-10.suw31.mandrillapp.com
 (mail180-10.suw31.mandrillapp.com [198.2.180.10])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5f2cf52b-aff0-11f0-9d15-b5c5bf9af7f9;
 Thu, 23 Oct 2025 11:12:18 +0200 (CEST)
Received: from pmta11.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail180-10.suw31.mandrillapp.com (Mailchimp) with ESMTP id
 4csgKD4Wczz5Qm5kF
 for <xen-devel@lists.xenproject.org>; Thu, 23 Oct 2025 09:12:16 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 920b4946db8a4b81a0e48242a6ea855a; Thu, 23 Oct 2025 09:12:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5f2cf52b-aff0-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1761210736; x=1761480736;
	bh=wXU0e4LjP4CzdmwZR2zK88YdKuGD/2VQavWbKojJYQs=;
	h=From:Subject:To:Cc:Message-Id:Feedback-ID:Date:MIME-Version:
	 Content-Type:Content-Transfer-Encoding:CC:Date:Subject:From;
	b=X3ObGt6ejJDa+unjpeRpL42FDZkEEmJ712yMz0aK167hR4axMHVUQF5WJ0I4yFCaa
	 kNZ7NdHc/UZ8cDAHVhYW71BA2cR9CfNwDTMV/d5u6ujwd8G4QVda4j2OTvRPKJAtaR
	 VRtc7qt96Y1po5RGwUmDPaxqSHQKKLiJeTgOm+qQfKU8tBskNMSKHzRFN0t1SEKuQc
	 Pgy6/nkCSITrPIZ2mG+OEKEb9QnI5/G6/KuVwMU2xCxmepRJUYrCEieJqi9ik2vEtp
	 8VGzyAU0a5ywLRfJ30JnG4ajVgRtw2UMX5OYQIAoHyc20C23YRkXeUjR+8VFcV4HnW
	 73PptoJrz1CJg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1761210736; x=1761471236; i=teddy.astie@vates.tech;
	bh=wXU0e4LjP4CzdmwZR2zK88YdKuGD/2VQavWbKojJYQs=;
	h=From:Subject:To:Cc:Message-Id:Feedback-ID:Date:MIME-Version:
	 Content-Type:Content-Transfer-Encoding:CC:Date:Subject:From;
	b=BrLH5sL3oPBZPaNsi64ItoqnYCkptiTIiSlNoL2Pra+jnLPiKZ0ybV6TaIdvxEOeF
	 08ZTJ3Pji6iyp4F9XnQnZjXtmVsKA5vLzskaN5tTir8RO1z8a95Worm6FR+J9OVZUs
	 A9WP1OswlsBMYxbkuABK2pEU+1TwD8gBeGlz6xU0XlnjS76z/Ja51SiiT18g8VHI6P
	 qR54pElaQKgPs+ZIj5uvguLTE+FeCmr+N1Lc/bBlbgHkmkCwt+sfSO7eYkNK2Ei3cs
	 eCYsbbpxuwCnnoRfSHimMIEW+MttRk3+RfNgM/yrgGII6PJhryZMOFo4XAafmwa8S9
	 +plOm3BvP5h5w==
From: "Teddy Astie" <teddy.astie@vates.tech>
Subject: =?utf-8?Q?[PATCH=20v2=200/5]=20Various=20IOMMU=20related=20simplifications?=
X-Mailer: git-send-email 2.51.1
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1761210736045
To: xen-devel@lists.xenproject.org
Cc: "Teddy Astie" <teddy.astie@vates.tech>
Message-Id: <cover.1761209564.git.teddy.astie@vates.tech>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.920b4946db8a4b81a0e48242a6ea855a?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20251023:md
Date: Thu, 23 Oct 2025 09:12:16 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

Various simplifications in the VT-d and IO-APIC code (mostly related to legacy ia64 code).

No functional change intended.

Changed in v2 :
 - drop (un)map_vtd_domain_page wrapper instead of moving it
 - drop deprecated and Intel-exclusive iommu_inclusive_mapping=<boolean>
 - description and formatting changes

Teddy Astie (5):
  vtd: Drop (un)map_vtd_domain_page wrapper
  vtd: Drop "iommu_inclusive_mapping" command-line option
  vtd: Collapse x86 subdirectory
  vtd: Remove IO_xAPIC_route_entry macro
  x86/ioapic: Don't open-code 32-bits rte reads

 CHANGELOG.md                                |  2 +
 docs/misc/xen-command-line.pandoc           |  6 --
 xen/arch/x86/include/asm/io_apic.h          |  1 +
 xen/arch/x86/io_apic.c                      | 29 +++----
 xen/drivers/passthrough/vtd/Makefile        |  3 +-
 xen/drivers/passthrough/vtd/{x86 => }/ats.c | 21 ++---
 xen/drivers/passthrough/vtd/dmar.c          |  2 +-
 xen/drivers/passthrough/vtd/extern.h        |  3 -
 xen/drivers/passthrough/vtd/intremap.c      | 34 ++++----
 xen/drivers/passthrough/vtd/iommu.c         | 88 ++++++++++-----------
 xen/drivers/passthrough/vtd/iommu.h         |  7 +-
 xen/drivers/passthrough/vtd/qinval.c        | 13 +--
 xen/drivers/passthrough/vtd/utils.c         | 25 +++---
 xen/drivers/passthrough/vtd/vtd.h           |  3 -
 xen/drivers/passthrough/vtd/x86/Makefile    |  2 -
 xen/drivers/passthrough/vtd/x86/vtd.c       | 48 -----------
 16 files changed, 108 insertions(+), 179 deletions(-)
 rename xen/drivers/passthrough/vtd/{x86 => }/ats.c (92%)
 delete mode 100644 xen/drivers/passthrough/vtd/x86/Makefile
 delete mode 100644 xen/drivers/passthrough/vtd/x86/vtd.c

-- 
2.51.1



--
Teddy Astie | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech



From xen-devel-bounces@lists.xenproject.org Thu Oct 23 09:12:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 09:12:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148835.1480675 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBrMr-0003li-Id; Thu, 23 Oct 2025 09:12:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148835.1480675; Thu, 23 Oct 2025 09:12:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBrMr-0003lb-G4; Thu, 23 Oct 2025 09:12:21 +0000
Received: by outflank-mailman (input) for mailman id 1148835;
 Thu, 23 Oct 2025 09:12:20 +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
 <SRS0=mvni=5A=bounce.vates.tech=bounce-md_30504962.68f9f171.v1-b988a4c6efea49f589ce491a220c8f88@srs-se1.protection.inumbo.net>)
 id 1vBrMq-0003Xf-2j
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 09:12:20 +0000
Received: from mail187-3.suw11.mandrillapp.com
 (mail187-3.suw11.mandrillapp.com [198.2.187.3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5f96bea7-aff0-11f0-9d15-b5c5bf9af7f9;
 Thu, 23 Oct 2025 11:12:18 +0200 (CEST)
Received: from pmta09.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail187-3.suw11.mandrillapp.com (Mailchimp) with ESMTP id 4csgKF26CBzDRJG7p
 for <xen-devel@lists.xenproject.org>; Thu, 23 Oct 2025 09:12:17 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 b988a4c6efea49f589ce491a220c8f88; Thu, 23 Oct 2025 09:12:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5f96bea7-aff0-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1761210737; x=1761480737;
	bh=uphiyDgxiUqnnF1yei7nNrbThGF81zpHRyjV+sbeQH0=;
	h=From:Subject:To:Cc:Message-Id:In-Reply-To:References:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=QnSxTE3OKLeQDJbkzIV7kdgNdgXZg54/VynYOdUFWCuHEUT2KqvD1kug2IvBpPh/t
	 VXReO9Pqn1sao8S+ueo9Sp5CDfzqppk4lbE6/8Lc7lZ7A+SD83BUCZaI5bAHln8hO5
	 SriND52KSTs8QXudeI/DeUvecfqeA/Rvv4XuEMZTbZGCvQFCaFwB5ZnLuxImV39m86
	 eLSlKErCI7Pm6qKQe9wA4li2p1TXA6bHhIyKxii5azknQ5SH8xoAc2Y+jfFG9aJ44k
	 2V6fN//hxvcBJWJxfDkPyUF5+9Hgqf3qEImwPlXnCvqmBl1fGv+0hl7krE+yI8Wgrd
	 uWrI5Sou13xeg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1761210737; x=1761471237; i=teddy.astie@vates.tech;
	bh=uphiyDgxiUqnnF1yei7nNrbThGF81zpHRyjV+sbeQH0=;
	h=From:Subject:To:Cc:Message-Id:In-Reply-To:References:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=cpNgC0oSI+AP8aIrLNViiUoXeCT09aeoGpowyV+lQo0pbmBzLQVQcgFMtKqqW11ho
	 1IpYDwc3td+YN/GOGCl03OHd1tC6T1mvtnRc2f7uitFoXQtAXh7YqWxa3dJkxEMSLj
	 2RP1AHxMQ3iir0EDC2V2peAI/CFHwdgw6tryf5sv0kAUBfLHOxG9JqPEWBZC4Rt77j
	 5sPDjgg1AXW83HXesizhT2ij2l1Oo4vOL3CG99aA50CJ0LDUdoyxNMIpBUHXZOSOma
	 vhcWeAIMq0fO7eoz9FXTmxC4ltnjYhyp6tA9bphameei2kaHK6T1tqywluD1i5D4dF
	 vqgjocnUrFE3w==
From: "Teddy Astie" <teddy.astie@vates.tech>
Subject: =?utf-8?Q?[PATCH=20v2=202/5]=20vtd:=20Drop=20"iommu=5Finclusive=5Fmapping"=20command-line=20option?=
X-Mailer: git-send-email 2.51.1
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1761210736644
To: xen-devel@lists.xenproject.org
Cc: "Teddy Astie" <teddy.astie@vates.tech>
Message-Id: <d12854b783c603aec99bbb9209b3b4be1769e5bd.1761209564.git.teddy.astie@vates.tech>
In-Reply-To: <cover.1761209564.git.teddy.astie@vates.tech>
References: <cover.1761209564.git.teddy.astie@vates.tech>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.b988a4c6efea49f589ce491a220c8f88?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20251023:md
Date: Thu, 23 Oct 2025 09:12:17 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

This command-line option is deprecated and super-seeded with
dom0-iommu=map-inclusive. Drop this command-line parameter and
delete vtd/x86/vtd.c which is now empty.

Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
---
v2:
 - new

 CHANGELOG.md                             |  2 ++
 docs/misc/xen-command-line.pandoc        |  6 ----
 xen/drivers/passthrough/vtd/x86/Makefile |  3 +-
 xen/drivers/passthrough/vtd/x86/vtd.c    | 38 ------------------------
 4 files changed, 3 insertions(+), 46 deletions(-)
 delete mode 100644 xen/drivers/passthrough/vtd/x86/vtd.c

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0cf9ad2d95..d4a22b8f8b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -50,6 +50,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
  - On x86:
    - GNTTABOP_cache_flush: it's unused on x86 and the implementation is
      broken.
+   - Intel-specific iommu_inclusive_mapping=<boolean> option: super-seeded
+     by dom0-iommu=map-inclusive since Xen 4.16.
 
  - Support of qemu-traditional has been removed.
 
diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index 28a98321c7..0af71e289a 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -1691,12 +1691,6 @@ Specify the timeout of the device IOTLB invalidation in milliseconds.
 By default, the timeout is 1000 ms. When you see error 'Queue invalidate
 wait descriptor timed out', try increasing this value.
 
-### iommu_inclusive_mapping
-> `= <boolean>`
-
-**WARNING: This command line option is deprecated, and superseded by
-_dom0-iommu=map-inclusive_ - using both options in combination is undefined.**
-
 ### irq-max-guests (x86)
 > `= <integer>`
 
diff --git a/xen/drivers/passthrough/vtd/x86/Makefile b/xen/drivers/passthrough/vtd/x86/Makefile
index fe20a0b019..82b3904a91 100644
--- a/xen/drivers/passthrough/vtd/x86/Makefile
+++ b/xen/drivers/passthrough/vtd/x86/Makefile
@@ -1,2 +1 @@
-obj-y += ats.o
-obj-y += vtd.o
+obj-y += ats.o
\ No newline at end of file
diff --git a/xen/drivers/passthrough/vtd/x86/vtd.c b/xen/drivers/passthrough/vtd/x86/vtd.c
deleted file mode 100644
index b0798dc6a1..0000000000
--- a/xen/drivers/passthrough/vtd/x86/vtd.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (c) 2008, Intel Corporation.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; If not, see <http://www.gnu.org/licenses/>.
- *
- * Copyright (C) Allen Kay <allen.m.kay@intel.com>
- * Copyright (C) Weidong Han <weidong.han@intel.com>
- */
-
-#include <xen/param.h>
-#include <xen/sched.h>
-#include <xen/softirq.h>
-#include <xen/domain_page.h>
-#include <asm/paging.h>
-#include <xen/iommu.h>
-#include <xen/irq.h>
-#include <xen/numa.h>
-#include <asm/fixmap.h>
-#include "../iommu.h"
-#include "../dmar.h"
-#include "../vtd.h"
-#include "../extern.h"
-
-/*
- * iommu_inclusive_mapping: when set, all memory below 4GB is included in dom0
- * 1:1 iommu mappings except xen and unusable regions.
- */
-boolean_param("iommu_inclusive_mapping", iommu_hwdom_inclusive);
-- 
2.51.1



--
Teddy Astie | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech



From xen-devel-bounces@lists.xenproject.org Thu Oct 23 09:12:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 09:12:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148836.1480687 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBrMs-0003zh-TZ; Thu, 23 Oct 2025 09:12:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148836.1480687; Thu, 23 Oct 2025 09:12:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBrMs-0003za-OS; Thu, 23 Oct 2025 09:12:22 +0000
Received: by outflank-mailman (input) for mailman id 1148836;
 Thu, 23 Oct 2025 09:12:21 +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
 <SRS0=vapE=5A=bounce.vates.tech=bounce-md_30504962.68f9f173.v1-291a88186bbd414a9eb5fb1b639043c2@srs-se1.protection.inumbo.net>)
 id 1vBrMr-0003Xf-33
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 09:12:21 +0000
Received: from mail180-10.suw31.mandrillapp.com
 (mail180-10.suw31.mandrillapp.com [198.2.180.10])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 607b37cf-aff0-11f0-9d15-b5c5bf9af7f9;
 Thu, 23 Oct 2025 11:12:20 +0200 (CEST)
Received: from pmta11.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail180-10.suw31.mandrillapp.com (Mailchimp) with ESMTP id
 4csgKH1Plkz5QlgsB
 for <xen-devel@lists.xenproject.org>; Thu, 23 Oct 2025 09:12:19 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 291a88186bbd414a9eb5fb1b639043c2; Thu, 23 Oct 2025 09:12:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 607b37cf-aff0-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1761210739; x=1761480739;
	bh=dmYymRXdQlvyIjJOCaPFoHAY8shqwbUzyg9v7qIutBA=;
	h=From:Subject:To:Cc:Message-Id:In-Reply-To:References:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=mPV/TU44iBbaoJW9BLPOGhcaSkRH05kyrPRkqHQ/82/ErTSdxQuUyEIOgSP8HCNk+
	 kvaLv6TyHpBjHS+cydUhkM97oemt9CEZXiSd92vgN5ShuYgv/G/KGX7c+SVPcQE4YP
	 jMEG9wir9j0+HWbfjXGudhRnOe//ow3TTTULBdzMfjXYWC4vI1OJOzkXM/eJpw9xPJ
	 Kv3r1tNZXuWH09kwamV9lihaJOaSP2DfPUMB/Ay/MncSEK0nM2aM0z20OY5RK287KA
	 o8adwnerk1/GlHv5EN4XC15g74J1rnm3XFwkDVr5XypLuQ2u8P4gbuos/9J20ikUjj
	 4M5vpq+ISWfoA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1761210739; x=1761471239; i=teddy.astie@vates.tech;
	bh=dmYymRXdQlvyIjJOCaPFoHAY8shqwbUzyg9v7qIutBA=;
	h=From:Subject:To:Cc:Message-Id:In-Reply-To:References:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=qqtzB1pAwuJg6H7CmJzuWQmt7vGlU7MBHGZ7zYXpKgH+wr+CPSW2jJf6WGrjRgaSY
	 z4wZSYd4nC6ViBCqcB62n2S0+LVqnB+qdZwcH+CAUdMb/7ens2vTb7GUAbwrTrN7XB
	 JXQ8jaAlZUKbQjJ2dhK3Z5wfepMm+IcvUFrP43MEX8v9B4Ck84xe8uwdayb8o8o/6Z
	 meuo0a0Aqxo+c/C1pc+iuh78yAeJd7khtvZPeMi9UuKMUTT1mvonewkuNKf7kiTpI8
	 Jgwdobq0KSZJOCxZTUoyjrsiq4iqggpJkEZ4KOEATrwI+8MmLUCFGy/R4tpZOvzGC4
	 bIMZIvN1cTSNA==
From: "Teddy Astie" <teddy.astie@vates.tech>
Subject: =?utf-8?Q?[PATCH=20v2=203/5]=20vtd:=20Collapse=20x86=20subdirectory?=
X-Mailer: git-send-email 2.51.1
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1761210736930
To: xen-devel@lists.xenproject.org
Cc: "Teddy Astie" <teddy.astie@vates.tech>
Message-Id: <3e9e5ea80bb534b69bd315099da6b5d049852823.1761209564.git.teddy.astie@vates.tech>
In-Reply-To: <cover.1761209564.git.teddy.astie@vates.tech>
References: <cover.1761209564.git.teddy.astie@vates.tech>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.291a88186bbd414a9eb5fb1b639043c2?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20251023:md
Date: Thu, 23 Oct 2025 09:12:19 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

The x86 subdirectory was originally meant to split x86-specific logic from
general VT-d code. Today, Xen only supports VT-d on x86 and the code actually
implemented in this subdirectory isn't x86-specific (e.g ATS code is not x86
specific).

As ats.c is the only remaining file in this directory, and isn't x86 specific,
move it up to vtd directory and remove the now empty x86 subdirectory.

Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
---
v2:
 - reviewed commit description

 xen/drivers/passthrough/vtd/Makefile        |  3 +--
 xen/drivers/passthrough/vtd/{x86 => }/ats.c | 10 +++++-----
 xen/drivers/passthrough/vtd/x86/Makefile    |  1 -
 3 files changed, 6 insertions(+), 8 deletions(-)
 rename xen/drivers/passthrough/vtd/{x86 => }/ats.c (97%)
 delete mode 100644 xen/drivers/passthrough/vtd/x86/Makefile

diff --git a/xen/drivers/passthrough/vtd/Makefile b/xen/drivers/passthrough/vtd/Makefile
index fde7555fac..328a014016 100644
--- a/xen/drivers/passthrough/vtd/Makefile
+++ b/xen/drivers/passthrough/vtd/Makefile
@@ -1,5 +1,4 @@
-obj-$(CONFIG_X86) += x86/
-
+obj-y += ats.o
 obj-y += iommu.o
 obj-y += dmar.o
 obj-y += utils.o
diff --git a/xen/drivers/passthrough/vtd/x86/ats.c b/xen/drivers/passthrough/vtd/ats.c
similarity index 97%
rename from xen/drivers/passthrough/vtd/x86/ats.c
rename to xen/drivers/passthrough/vtd/ats.c
index fed3588e8e..3b7c4028a6 100644
--- a/xen/drivers/passthrough/vtd/x86/ats.c
+++ b/xen/drivers/passthrough/vtd/ats.c
@@ -23,11 +23,11 @@
 #include <xen/pci.h>
 #include <xen/pci_regs.h>
 #include <asm/msi.h>
-#include "../iommu.h"
-#include "../dmar.h"
-#include "../vtd.h"
-#include "../extern.h"
-#include "../../ats.h"
+#include "iommu.h"
+#include "dmar.h"
+#include "vtd.h"
+#include "extern.h"
+#include "../ats.h"
 
 static LIST_HEAD(ats_dev_drhd_units);
 
diff --git a/xen/drivers/passthrough/vtd/x86/Makefile b/xen/drivers/passthrough/vtd/x86/Makefile
deleted file mode 100644
index 82b3904a91..0000000000
--- a/xen/drivers/passthrough/vtd/x86/Makefile
+++ /dev/null
@@ -1 +0,0 @@
-obj-y += ats.o
\ No newline at end of file
-- 
2.51.1



--
Teddy Astie | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech



From xen-devel-bounces@lists.xenproject.org Thu Oct 23 09:12:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 09:12:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148837.1480690 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBrMt-00042Y-4M; Thu, 23 Oct 2025 09:12:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148837.1480690; Thu, 23 Oct 2025 09:12:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBrMt-00040m-0O; Thu, 23 Oct 2025 09:12:23 +0000
Received: by outflank-mailman (input) for mailman id 1148837;
 Thu, 23 Oct 2025 09:12:22 +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
 <SRS0=tps2=5A=bounce.vates.tech=bounce-md_30504962.68f9f171.v1-153b393e8f7746baa02821dbf06fa66d@srs-se1.protection.inumbo.net>)
 id 1vBrMs-0003Xf-36
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 09:12:22 +0000
Received: from mail187-3.suw11.mandrillapp.com
 (mail187-3.suw11.mandrillapp.com [198.2.187.3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 609508d8-aff0-11f0-9d15-b5c5bf9af7f9;
 Thu, 23 Oct 2025 11:12:20 +0200 (CEST)
Received: from pmta09.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail187-3.suw11.mandrillapp.com (Mailchimp) with ESMTP id 4csgKF5HR4zDRJFM2
 for <xen-devel@lists.xenproject.org>; Thu, 23 Oct 2025 09:12:17 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 153b393e8f7746baa02821dbf06fa66d; Thu, 23 Oct 2025 09:12:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 609508d8-aff0-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1761210737; x=1761480737;
	bh=yTbHnfaf7GPXN/1gvP3xsR4YaZcOqdxNGFcNw4CUJhw=;
	h=From:Subject:To:Cc:Message-Id:In-Reply-To:References:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=D2PrbGnkwDSpCqU0k5INp9bxRMxl/G1PkVOKC5/D9IDaBMLjPMcDOpGOR6fcmnpqV
	 Pumwbvc2CYykPute7uVqeSorYD4LMfJcYJBzLalZt+3ccfULsZxjoPh1t/RZeGMYqq
	 k0IZe1NU0c2HCp+2VUkvQP5wTjZ+rSRYZrepIAcOmJ8UE8hIDsYWuV0fiX/RMoC/jR
	 JGTvXaIJ9UpkJbuNF+YA+4fUeIdC38p1Yf5CL9O5GCMneDIeruv+4AWHs0meWSuBAN
	 ZonZbiAjEM8YRnPPr6EiecDEZRn1xArJrQxVxC3NeVAVR62GNu65y+h/9VQswI9/cr
	 FCeA9qDDEZ8ig==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1761210737; x=1761471237; i=teddy.astie@vates.tech;
	bh=yTbHnfaf7GPXN/1gvP3xsR4YaZcOqdxNGFcNw4CUJhw=;
	h=From:Subject:To:Cc:Message-Id:In-Reply-To:References:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=dwDRODDyLKhf6wHnMLNc1bMRJLrmPYwDr0bIDRXZSGBGpBY3ZdyPwvMJ3Afdm8EPi
	 i4vNh9JDKBMrTEDAco4K+FwMSWb5gcYpORtPnbiPbTIMOUC5ryu5Kwj5VX1DmUuWVB
	 W5OWh8WWyZXFT+4mgQNEBm/RxNuGGj8leoEPNXmWDCJ40ktda6ReW+pZG6IsWrvVF6
	 keRDs0sVCij9y4IOo4h+t6c8ge/4MmBBMFjfm7WgycraG1539ZThG8BphfrMJ1JQrM
	 WIDAx+/zJqImdE1uoEHsYu4e8IZxO1zjLCfQDfOqrm0OfsSYgf6eJZWEo34vd9ZLev
	 q7+ow154HCxpA==
From: "Teddy Astie" <teddy.astie@vates.tech>
Subject: =?utf-8?Q?[PATCH=20v2=205/5]=20x86/ioapic:=20Don't=20open-code=2032-bits=20rte=20reads?=
X-Mailer: git-send-email 2.51.1
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1761210737228
To: xen-devel@lists.xenproject.org
Cc: "Teddy Astie" <teddy.astie@vates.tech>
Message-Id: <eab88bd79a65887961e0e1563f47360ef08e421a.1761209564.git.teddy.astie@vates.tech>
In-Reply-To: <cover.1761209564.git.teddy.astie@vates.tech>
References: <cover.1761209564.git.teddy.astie@vates.tech>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.153b393e8f7746baa02821dbf06fa66d?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20251023:md
Date: Thu, 23 Oct 2025 09:12:17 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

There are many places where we use interesting ways of reading 32-bits
components of the RTE. Introduce and use low and high components directly
to the rte structure instead.

Also take the opportunity to simplify "x & 1 ? 1 : 0".

Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
---
v2:
 - make rte_upper to use bool instead

 xen/arch/x86/include/asm/io_apic.h     |  1 +
 xen/arch/x86/io_apic.c                 | 29 ++++++++++----------------
 xen/drivers/passthrough/vtd/intremap.c |  9 +++-----
 3 files changed, 15 insertions(+), 24 deletions(-)

diff --git a/xen/arch/x86/include/asm/io_apic.h b/xen/arch/x86/include/asm/io_apic.h
index 4680dce9e1..0e85f2a860 100644
--- a/xen/arch/x86/include/asm/io_apic.h
+++ b/xen/arch/x86/include/asm/io_apic.h
@@ -122,6 +122,7 @@ struct IO_APIC_route_entry {
             } dest;
         };
         uint64_t raw;
+        struct { uint32_t low, high; };
     };
 };
 
diff --git a/xen/arch/x86/io_apic.c b/xen/arch/x86/io_apic.c
index 24447aef6c..9d2edec179 100644
--- a/xen/arch/x86/io_apic.c
+++ b/xen/arch/x86/io_apic.c
@@ -257,28 +257,23 @@ nomem:
     return NULL;
 }
 
-union entry_union {
-    struct { u32 w1, w2; };
-    struct IO_APIC_route_entry entry;
-};
-
 struct IO_APIC_route_entry __ioapic_read_entry(
     unsigned int apic, unsigned int pin, bool raw)
 {
-    union entry_union eu;
+    struct IO_APIC_route_entry entry;
 
     if ( raw || !iommu_intremap )
     {
-        eu.w1 = __io_apic_read(apic, 0x10 + 2 * pin);
-        eu.w2 = __io_apic_read(apic, 0x11 + 2 * pin);
+        entry.low  = __io_apic_read(apic, 0x10 + 2 * pin);
+        entry.high = __io_apic_read(apic, 0x11 + 2 * pin);
     }
     else
     {
-        eu.w1 = iommu_read_apic_from_ire(apic, 0x10 + 2 * pin);
-        eu.w2 = iommu_read_apic_from_ire(apic, 0x11 + 2 * pin);
+        entry.low  = iommu_read_apic_from_ire(apic, 0x10 + 2 * pin);
+        entry.high = iommu_read_apic_from_ire(apic, 0x11 + 2 * pin);
     }
 
-    return eu.entry;
+    return entry;
 }
 
 static struct IO_APIC_route_entry ioapic_read_entry(
@@ -297,12 +292,10 @@ void __ioapic_write_entry(
     unsigned int apic, unsigned int pin, bool raw,
     struct IO_APIC_route_entry e)
 {
-    union entry_union eu = { .entry = e };
-
     if ( raw || !iommu_intremap )
     {
-        __io_apic_write(apic, 0x11 + 2 * pin, eu.w2);
-        __io_apic_write(apic, 0x10 + 2 * pin, eu.w1);
+        __io_apic_write(apic, 0x11 + 2 * pin, e.high);
+        __io_apic_write(apic, 0x10 + 2 * pin, e.low);
         /*
          * Might be called before io_apic_pin_eoi is allocated.  Entry will be
          * initialized to the RTE value once the cache is allocated.
@@ -2235,7 +2228,7 @@ int ioapic_guest_read(unsigned long physbase, unsigned int reg, u32 *pval)
     dprintk(XENLOG_INFO, "IO-APIC: apic=%d, pin=%d, irq=%d\n" \
             XENLOG_INFO "IO-APIC: new_entry=%08x\n"           \
             XENLOG_INFO "IO-APIC: " f "\n",                   \
-            apic, pin, irq, *(u32 *)&rte, ##a )
+            apic, pin, irq, rte.low, ##a )
 
 int ioapic_guest_write(unsigned long physbase, unsigned int reg, u32 val)
 {
@@ -2254,7 +2247,7 @@ int ioapic_guest_write(unsigned long physbase, unsigned int reg, u32 val)
     pin = (reg - 0x10) >> 1;
 
     /* Write first half from guest; second half is target info. */
-    *(u32 *)&rte = val;
+    rte.low = val;
 
     /*
      * What about weird destination types?
@@ -2305,7 +2298,7 @@ int ioapic_guest_write(unsigned long physbase, unsigned int reg, u32 val)
         ret = io_apic_read(apic, 0x10 + 2 * pin);
         spin_unlock_irqrestore(&ioapic_lock, flags);
         rte.vector = desc->arch.vector;
-        if ( *(u32*)&rte != ret )
+        if ( rte.low != ret )
             WARN_BOGUS_WRITE("old_entry=%08x pirq=%d\n" XENLOG_INFO
                              "IO-APIC: Attempt to modify IO-APIC pin for in-use IRQ!",
                              ret, pirq);
diff --git a/xen/drivers/passthrough/vtd/intremap.c b/xen/drivers/passthrough/vtd/intremap.c
index 612e08bcec..a276518c52 100644
--- a/xen/drivers/passthrough/vtd/intremap.c
+++ b/xen/drivers/passthrough/vtd/intremap.c
@@ -400,7 +400,7 @@ unsigned int cf_check io_apic_read_remap_rte(
     unsigned int ioapic_pin = (reg - 0x10) / 2;
     int index;
     struct IO_APIC_route_entry old_rte = {};
-    int rte_upper = (reg & 1) ? 1 : 0;
+    bool rte_upper = reg & 1;
     struct vtd_iommu *iommu = ioapic_to_iommu(IO_APIC_ID(apic));
 
     if ( !iommu->intremap.num ||
@@ -411,11 +411,8 @@ unsigned int cf_check io_apic_read_remap_rte(
 
     if ( remap_entry_to_ioapic_rte(iommu, index, &old_rte) )
         return __io_apic_read(apic, reg);
-
-    if ( rte_upper )
-        return (*(((u32 *)&old_rte) + 1));
-    else
-        return (*(((u32 *)&old_rte) + 0));
+    
+    return rte_upper ? old_rte.high : old_rte.low;
 }
 
 void cf_check io_apic_write_remap_rte(
-- 
2.51.1



--
Teddy Astie | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech



From xen-devel-bounces@lists.xenproject.org Thu Oct 23 09:12:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 09:12:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148838.1480706 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBrMu-0004Rt-Eh; Thu, 23 Oct 2025 09:12:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148838.1480706; Thu, 23 Oct 2025 09:12:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBrMu-0004RL-A1; Thu, 23 Oct 2025 09:12:24 +0000
Received: by outflank-mailman (input) for mailman id 1148838;
 Thu, 23 Oct 2025 09:12:23 +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
 <SRS0=M9Zx=5A=bounce.vates.tech=bounce-md_30504962.68f9f172.v1-f64d70b8ebde43beb15453b031bfe318@srs-se1.protection.inumbo.net>)
 id 1vBrMt-0003Xf-3Q
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 09:12:23 +0000
Received: from mail187-3.suw11.mandrillapp.com
 (mail187-3.suw11.mandrillapp.com [198.2.187.3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 617fb943-aff0-11f0-9d15-b5c5bf9af7f9;
 Thu, 23 Oct 2025 11:12:21 +0200 (CEST)
Received: from pmta09.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail187-3.suw11.mandrillapp.com (Mailchimp) with ESMTP id 4csgKG6yMPzDRm0l3
 for <xen-devel@lists.xenproject.org>; Thu, 23 Oct 2025 09:12:18 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 f64d70b8ebde43beb15453b031bfe318; Thu, 23 Oct 2025 09:12:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 617fb943-aff0-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1761210739; x=1761480739;
	bh=TNIECHJXjAZW/QQA5DbqLyVqUBTsMMLyLzIaY0t8Vu8=;
	h=From:Subject:To:Cc:Message-Id:In-Reply-To:References:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=giNn3/G38rxzIH435qPlGZluIkS1JxThbQmMoRRyCh5Z5kJpXX5x6uyIVXLKU/Hrr
	 rhLg28VBTqesa6zdgMMrGe7FBvTVqvj5cuFCav0gkh0voWqp8R0obt2ebyfbXFfuph
	 tVan7uDI3tc4QDI9e6v5/VNEAklFBjRtkygQtvjD0hEQucXKfc4U9/HhHuoHvVWzYK
	 oGb4x9VJwa6GUt5u9DGzABkJa8dURi9Ir9AP+IZankh4tzFD0vjmzJqSoHBlf3mXqW
	 mmmCqiT6gamTLsV/vcq3wSfQ9xCY5CrIHrvx4w0Ota0WZbtT2+Ov7jpXMVIzg8f5eM
	 Xcdbu4WmPqVig==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1761210739; x=1761471239; i=teddy.astie@vates.tech;
	bh=TNIECHJXjAZW/QQA5DbqLyVqUBTsMMLyLzIaY0t8Vu8=;
	h=From:Subject:To:Cc:Message-Id:In-Reply-To:References:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=T7W8qKfDPzu3AwMJXSwDmsasvHXVYt7Y5wsIZ4KPz/x6LwjPvZHqjEIbs6V9iN19B
	 P6z4p6B61ZEki/4GZKYSTlkl0Y/YKf6C4/9nRhl49FlLZQPG+nYsAD2J/QAYeLQWlH
	 +2DlCom8jokAE3zUx8Hk+Ri8wC/lXvy6nqjYW7+4Xb/FX4k0EtHv5yFyaWvXpkG+Bx
	 LxWN22LhFCjGc9QisNQ5qhiEREznZkMLzkxIuS/WcnTb1NkqpC5un4kjK8zKLwOFJx
	 mu3bJN9ysthMTDA0rdhBob41N+y9bTE6YBgweiFSL36pPFCYzphulmMXRBXgzmRiYQ
	 xa/g1MMxhTj6Q==
From: "Teddy Astie" <teddy.astie@vates.tech>
Subject: =?utf-8?Q?[PATCH=20v2=201/5]=20vtd:=20Drop=20(un)map=5Fvtd=5Fdomain=5Fpage=20wrapper?=
X-Mailer: git-send-email 2.51.1
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1761210736376
To: xen-devel@lists.xenproject.org
Cc: "Teddy Astie" <teddy.astie@vates.tech>
Message-Id: <a832488afe6eeb8dd83ccd1214dff87c5e6b4fc0.1761209564.git.teddy.astie@vates.tech>
In-Reply-To: <cover.1761209564.git.teddy.astie@vates.tech>
References: <cover.1761209564.git.teddy.astie@vates.tech>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.f64d70b8ebde43beb15453b031bfe318?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20251023:md
Date: Thu, 23 Oct 2025 09:12:18 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

Replace use of (un)map_vtd_domain_page with its general
equivalents. Also take the opportunity to make iommu->root_page
(previously root_maddr) use struct page_info instead of u64.

Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
---
v2:
 - drop instead of moving
 - also replace `root_addr` with `root_page` (with struct page_info)

 xen/drivers/passthrough/vtd/dmar.c     |  2 +-
 xen/drivers/passthrough/vtd/extern.h   |  3 -
 xen/drivers/passthrough/vtd/intremap.c | 15 +++--
 xen/drivers/passthrough/vtd/iommu.c    | 88 ++++++++++++--------------
 xen/drivers/passthrough/vtd/iommu.h    |  7 +-
 xen/drivers/passthrough/vtd/qinval.c   | 13 ++--
 xen/drivers/passthrough/vtd/utils.c    | 25 ++++----
 xen/drivers/passthrough/vtd/x86/ats.c  | 11 ++--
 xen/drivers/passthrough/vtd/x86/vtd.c  | 10 ---
 9 files changed, 80 insertions(+), 94 deletions(-)

diff --git a/xen/drivers/passthrough/vtd/dmar.c b/xen/drivers/passthrough/vtd/dmar.c
index 91c22b8330..2380825f1c 100644
--- a/xen/drivers/passthrough/vtd/dmar.c
+++ b/xen/drivers/passthrough/vtd/dmar.c
@@ -1107,7 +1107,7 @@ int __init acpi_dmar_init(void)
         if ( rhsa )
             iommu->node = pxm_to_node(rhsa->proximity_domain);
 
-        if ( !(iommu->root_maddr = alloc_pgtable_maddr(1, iommu->node)) )
+        if ( !(iommu->root_page = maddr_to_page(alloc_pgtable_maddr(1, iommu->node))) )
             ret = -ENOMEM;
     }
 
diff --git a/xen/drivers/passthrough/vtd/extern.h b/xen/drivers/passthrough/vtd/extern.h
index c16583c951..2be50de168 100644
--- a/xen/drivers/passthrough/vtd/extern.h
+++ b/xen/drivers/passthrough/vtd/extern.h
@@ -77,9 +77,6 @@ int __must_check qinval_device_iotlb_sync(struct vtd_iommu *iommu,
                                           u16 did, u16 size, u64 addr);
 
 uint64_t alloc_pgtable_maddr(unsigned long npages, nodeid_t node);
-void free_pgtable_maddr(u64 maddr);
-void *map_vtd_domain_page(u64 maddr);
-void unmap_vtd_domain_page(const void *va);
 int domain_context_mapping_one(struct domain *domain, struct vtd_iommu *iommu,
                                uint8_t bus, uint8_t devfn,
                                const struct pci_dev *pdev, domid_t domid,
diff --git a/xen/drivers/passthrough/vtd/intremap.c b/xen/drivers/passthrough/vtd/intremap.c
index 7726ee618a..6c779d476d 100644
--- a/xen/drivers/passthrough/vtd/intremap.c
+++ b/xen/drivers/passthrough/vtd/intremap.c
@@ -17,6 +17,7 @@
  * Copyright (C) Xiaohui Xin <xiaohui.xin@intel.com>
  */
 
+#include <xen/domain_page.h>
 #include <xen/irq.h>
 #include <xen/sched.h>
 #include <xen/iommu.h>
@@ -222,7 +223,7 @@ static void free_remap_entry(struct vtd_iommu *iommu, int index)
     iommu_sync_cache(iremap_entry, sizeof(*iremap_entry));
     iommu_flush_iec_index(iommu, 0, index);
 
-    unmap_vtd_domain_page(iremap_entries);
+    unmap_domain_page(iremap_entries);
     iommu->intremap.num--;
 }
 
@@ -244,7 +245,7 @@ static unsigned int alloc_remap_entry(struct vtd_iommu *iommu, unsigned int nr)
         {
             /* This entry across page boundry */
             if ( iremap_entries )
-                unmap_vtd_domain_page(iremap_entries);
+                unmap_domain_page(iremap_entries);
 
             GET_IREMAP_ENTRY(iommu->intremap.maddr, i,
                              iremap_entries, p);
@@ -259,7 +260,7 @@ static unsigned int alloc_remap_entry(struct vtd_iommu *iommu, unsigned int nr)
     }
 
     if ( iremap_entries )
-        unmap_vtd_domain_page(iremap_entries);
+        unmap_domain_page(iremap_entries);
 
     if ( i < IREMAP_ENTRY_NR )
         iommu->intremap.num += nr;
@@ -291,7 +292,7 @@ static int remap_entry_to_ioapic_rte(
         dprintk(XENLOG_ERR VTDPREFIX,
                 "IO-APIC index (%d) has an empty entry\n",
                 index);
-        unmap_vtd_domain_page(iremap_entries);
+        unmap_domain_page(iremap_entries);
         spin_unlock_irqrestore(&iommu->intremap.lock, flags);
         return -EFAULT;
     }
@@ -309,7 +310,7 @@ static int remap_entry_to_ioapic_rte(
         old_rte->dest.logical.logical_dest = iremap_entry->remap.dst >> 8;
     }
 
-    unmap_vtd_domain_page(iremap_entries);
+    unmap_domain_page(iremap_entries);
     spin_unlock_irqrestore(&iommu->intremap.lock, flags);
 
     return 0;
@@ -388,7 +389,7 @@ static int ioapic_rte_to_remap_entry(struct vtd_iommu *iommu,
     iommu_sync_cache(iremap_entry, sizeof(*iremap_entry));
     iommu_flush_iec_index(iommu, 0, index);
 
-    unmap_vtd_domain_page(iremap_entries);
+    unmap_domain_page(iremap_entries);
     spin_unlock_irqrestore(&iommu->intremap.lock, flags);
     return 0;
 }
@@ -607,7 +608,7 @@ static int msi_msg_to_remap_entry(
     iommu_sync_cache(iremap_entry, sizeof(*iremap_entry));
     iommu_flush_iec_index(iommu, 0, index);
 
-    unmap_vtd_domain_page(iremap_entries);
+    unmap_domain_page(iremap_entries);
     spin_unlock_irqrestore(&iommu->intremap.lock, flags);
 
     return alloc;
diff --git a/xen/drivers/passthrough/vtd/iommu.c b/xen/drivers/passthrough/vtd/iommu.c
index 90f36ac22b..5bd4f19848 100644
--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -272,12 +272,6 @@ uint64_t alloc_pgtable_maddr(unsigned long npages, nodeid_t node)
     return page_to_maddr(pg);
 }
 
-void free_pgtable_maddr(u64 maddr)
-{
-    if ( maddr != 0 )
-        free_domheap_page(maddr_to_page(maddr));
-}
-
 /* context entry handling */
 static u64 bus_to_context_maddr(struct vtd_iommu *iommu, u8 bus)
 {
@@ -285,14 +279,14 @@ static u64 bus_to_context_maddr(struct vtd_iommu *iommu, u8 bus)
     u64 maddr;
 
     ASSERT(spin_is_locked(&iommu->lock));
-    root_entries = (struct root_entry *)map_vtd_domain_page(iommu->root_maddr);
+    root_entries = __map_domain_page(iommu->root_page);
     root = &root_entries[bus];
     if ( !root_present(*root) )
     {
         maddr = alloc_pgtable_maddr(1, iommu->node);
         if ( maddr == 0 )
         {
-            unmap_vtd_domain_page(root_entries);
+            unmap_domain_page(root_entries);
             return 0;
         }
         set_root_value(*root, maddr);
@@ -300,7 +294,7 @@ static u64 bus_to_context_maddr(struct vtd_iommu *iommu, u8 bus)
         iommu_sync_cache(root, sizeof(struct root_entry));
     }
     maddr = (u64) get_context_addr(*root);
-    unmap_vtd_domain_page(root_entries);
+    unmap_domain_page(root_entries);
     return maddr;
 }
 
@@ -344,7 +338,7 @@ static uint64_t addr_to_dma_page_maddr(struct domain *domain, daddr_t addr,
     }
 
     pte_maddr = hd->arch.vtd.pgd_maddr;
-    parent = map_vtd_domain_page(pte_maddr);
+    parent = map_domain_page(maddr_to_mfn(pte_maddr));
     while ( level > target )
     {
         offset = address_level_offset(addr, level);
@@ -388,7 +382,7 @@ static uint64_t addr_to_dma_page_maddr(struct domain *domain, daddr_t addr,
 
             if ( dma_pte_present(*pte) )
             {
-                struct dma_pte *split = map_vtd_domain_page(pte_maddr);
+                struct dma_pte *split = map_domain_page(maddr_to_mfn(pte_maddr));
                 unsigned long inc = 1UL << level_to_offset_bits(level - 1);
 
                 split[0].val |= pte->val & ~DMA_PTE_CONTIG_MASK;
@@ -400,7 +394,7 @@ static uint64_t addr_to_dma_page_maddr(struct domain *domain, daddr_t addr,
                         (split[offset - 1].val & ~DMA_PTE_CONTIG_MASK) + inc;
 
                 iommu_sync_cache(split, PAGE_SIZE);
-                unmap_vtd_domain_page(split);
+                unmap_domain_page(split);
 
                 if ( flush_flags )
                     *flush_flags |= IOMMU_FLUSHF_modified;
@@ -422,11 +416,11 @@ static uint64_t addr_to_dma_page_maddr(struct domain *domain, daddr_t addr,
             break;
         }
 
-        unmap_vtd_domain_page(parent);
-        parent = map_vtd_domain_page(pte_maddr);
+        unmap_domain_page(parent);
+        parent = map_domain_page(maddr_to_mfn(pte_maddr));
     }
 
-    unmap_vtd_domain_page(parent);
+    unmap_domain_page(parent);
  out:
     return pte_maddr;
 }
@@ -469,10 +463,10 @@ static paddr_t domain_pgd_maddr(struct domain *d, paddr_t pgd_maddr,
           agaw != level_to_agaw(nr_pt_levels);
           agaw-- )
     {
-        const struct dma_pte *p = map_vtd_domain_page(pgd_maddr);
+        const struct dma_pte *p = map_domain_page(maddr_to_mfn(pgd_maddr));
 
         pgd_maddr = dma_pte_addr(*p);
-        unmap_vtd_domain_page(p);
+        unmap_domain_page(p);
         if ( !pgd_maddr )
             return 0;
     }
@@ -815,7 +809,7 @@ static int iommu_set_root_entry(struct vtd_iommu *iommu)
     unsigned long flags;
 
     spin_lock_irqsave(&iommu->register_lock, flags);
-    dmar_writeq(iommu->reg, DMAR_RTADDR_REG, iommu->root_maddr);
+    dmar_writeq(iommu->reg, DMAR_RTADDR_REG, page_to_maddr(iommu->root_page));
 
     sts = dmar_readl(iommu->reg, DMAR_GSTS_REG);
     dmar_writel(iommu->reg, DMAR_GCMD_REG, sts | DMA_GCMD_SRTP);
@@ -1408,10 +1402,10 @@ void __init iommu_free(struct acpi_drhd_unit *drhd)
 
     drhd->iommu = NULL;
 
-    if ( iommu->root_maddr != 0 )
+    if ( iommu->root_page )
     {
-        free_pgtable_maddr(iommu->root_maddr);
-        iommu->root_maddr = 0;
+        free_domheap_page(iommu->root_page);
+        iommu->root_page = NULL;
     }
 
     if ( iommu->reg )
@@ -1504,7 +1498,7 @@ int domain_context_mapping_one(
         spin_unlock(&iommu->lock);
         return -ENOMEM;
     }
-    context_entries = (struct context_entry *)map_vtd_domain_page(maddr);
+    context_entries = map_domain_page(maddr_to_mfn(maddr));
     context = &context_entries[devfn];
     old = (lctxt = *context).full;
 
@@ -1521,7 +1515,7 @@ int domain_context_mapping_one(
         if ( !prev_dom )
         {
             spin_unlock(&iommu->lock);
-            unmap_vtd_domain_page(context_entries);
+            unmap_domain_page(context_entries);
             dprintk(XENLOG_DEBUG VTDPREFIX,
                     "no domain for did %u (nr_dom %u)\n",
                     prev_did, cap_ndoms(iommu->cap));
@@ -1544,7 +1538,7 @@ int domain_context_mapping_one(
         {
             spin_unlock(&hd->arch.mapping_lock);
             spin_unlock(&iommu->lock);
-            unmap_vtd_domain_page(context_entries);
+            unmap_domain_page(context_entries);
             if ( prev_dom )
                 rcu_unlock_domain(prev_dom);
             return -ENOMEM;
@@ -1564,7 +1558,7 @@ int domain_context_mapping_one(
     {
     unlock:
         spin_unlock(&iommu->lock);
-        unmap_vtd_domain_page(context_entries);
+        unmap_domain_page(context_entries);
         if ( prev_dom )
             rcu_unlock_domain(prev_dom);
         return rc;
@@ -1632,7 +1626,7 @@ int domain_context_mapping_one(
 
     set_bit(iommu->index, hd->arch.vtd.iommu_bitmap);
 
-    unmap_vtd_domain_page(context_entries);
+    unmap_domain_page(context_entries);
 
     if ( !seg && !rc )
         rc = me_wifi_quirk(domain, bus, devfn, domid, pgd_maddr, mode);
@@ -1864,13 +1858,13 @@ int domain_context_unmap_one(
         spin_unlock(&iommu->lock);
         return 0;
     }
-    context_entries = (struct context_entry *)map_vtd_domain_page(maddr);
+    context_entries = map_domain_page(maddr_to_mfn(maddr));
     context = &context_entries[devfn];
 
     if ( !context_present(*context) )
     {
         spin_unlock(&iommu->lock);
-        unmap_vtd_domain_page(context_entries);
+        unmap_domain_page(context_entries);
         return 0;
     }
 
@@ -1902,7 +1896,7 @@ int domain_context_unmap_one(
         rc = 0;
 
     spin_unlock(&iommu->lock);
-    unmap_vtd_domain_page(context_entries);
+    unmap_domain_page(context_entries);
 
     if ( !iommu->drhd->segment && !rc )
         rc = me_wifi_quirk(domain, bus, devfn, DOMID_INVALID, 0,
@@ -2101,7 +2095,7 @@ static int __must_check cf_check intel_iommu_map_page(
         return -ENOMEM;
     }
 
-    page = (struct dma_pte *)map_vtd_domain_page(pg_maddr);
+    page = map_domain_page(maddr_to_mfn(pg_maddr));
     pte = &page[address_level_offset(dfn_to_daddr(dfn), level)];
     old = *pte;
 
@@ -2119,7 +2113,7 @@ static int __must_check cf_check intel_iommu_map_page(
     if ( !((old.val ^ new.val) & ~DMA_PTE_CONTIG_MASK) )
     {
         spin_unlock(&hd->arch.mapping_lock);
-        unmap_vtd_domain_page(page);
+        unmap_domain_page(page);
         return 0;
     }
 
@@ -2142,7 +2136,7 @@ static int __must_check cf_check intel_iommu_map_page(
     {
         struct page_info *pg = maddr_to_page(pg_maddr);
 
-        unmap_vtd_domain_page(page);
+        unmap_domain_page(page);
 
         new.val &= ~(LEVEL_MASK << level_to_offset_bits(level));
         dma_set_pte_superpage(new);
@@ -2151,7 +2145,7 @@ static int __must_check cf_check intel_iommu_map_page(
                                           flush_flags, false);
         BUG_ON(pg_maddr < PAGE_SIZE);
 
-        page = map_vtd_domain_page(pg_maddr);
+        page = map_domain_page(maddr_to_mfn(pg_maddr));
         pte = &page[address_level_offset(dfn_to_daddr(dfn), level)];
         *pte = new;
         iommu_sync_cache(pte, sizeof(*pte));
@@ -2162,7 +2156,7 @@ static int __must_check cf_check intel_iommu_map_page(
     }
 
     spin_unlock(&hd->arch.mapping_lock);
-    unmap_vtd_domain_page(page);
+    unmap_domain_page(page);
 
     *flush_flags |= IOMMU_FLUSHF_added;
     if ( dma_pte_present(old) )
@@ -2209,13 +2203,13 @@ static int __must_check cf_check intel_iommu_unmap_page(
         return pg_maddr ? -ENOMEM : 0;
     }
 
-    page = map_vtd_domain_page(pg_maddr);
+    page = map_domain_page(maddr_to_mfn(pg_maddr));
     pte = &page[address_level_offset(addr, level)];
 
     if ( !dma_pte_present(*pte) )
     {
         spin_unlock(&hd->arch.mapping_lock);
-        unmap_vtd_domain_page(page);
+        unmap_domain_page(page);
         return 0;
     }
 
@@ -2230,12 +2224,12 @@ static int __must_check cf_check intel_iommu_unmap_page(
     {
         struct page_info *pg = maddr_to_page(pg_maddr);
 
-        unmap_vtd_domain_page(page);
+        unmap_domain_page(page);
 
         pg_maddr = addr_to_dma_page_maddr(d, addr, level, flush_flags, false);
         BUG_ON(pg_maddr < PAGE_SIZE);
 
-        page = map_vtd_domain_page(pg_maddr);
+        page = map_domain_page(maddr_to_mfn(pg_maddr));
         pte = &page[address_level_offset(addr, level)];
         dma_clear_pte(*pte);
         iommu_sync_cache(pte, sizeof(*pte));
@@ -2247,7 +2241,7 @@ static int __must_check cf_check intel_iommu_unmap_page(
 
     spin_unlock(&hd->arch.mapping_lock);
 
-    unmap_vtd_domain_page(page);
+    unmap_domain_page(page);
 
     *flush_flags |= IOMMU_FLUSHF_modified;
 
@@ -3052,7 +3046,7 @@ static void vtd_dump_page_table_level(paddr_t pt_maddr, int level, paddr_t gpa,
     if ( level < 1 )
         return;
 
-    pt_vaddr = map_vtd_domain_page(pt_maddr);
+    pt_vaddr = map_domain_page(maddr_to_mfn(pt_maddr));
 
     next_level = level - 1;
     for ( i = 0; i < PTE_NUM; i++ )
@@ -3077,7 +3071,7 @@ static void vtd_dump_page_table_level(paddr_t pt_maddr, int level, paddr_t gpa,
                    dma_pte_write(*pte) ? 'w' : '-');
     }
 
-    unmap_vtd_domain_page(pt_vaddr);
+    unmap_domain_page(pt_vaddr);
 }
 
 static void cf_check vtd_dump_page_tables(struct domain *d)
@@ -3119,9 +3113,9 @@ static int fill_qpt(struct dma_pte *this, unsigned int level,
 
                 if ( level )
                 {
-                    next = map_vtd_domain_page(page_to_maddr(pgs[level]));
+                    next = __map_domain_page(pgs[level]);
                     rc = fill_qpt(next, level - 1, pgs);
-                    unmap_vtd_domain_page(next);
+                    unmap_domain_page(next);
                 }
             }
 
@@ -3131,9 +3125,9 @@ static int fill_qpt(struct dma_pte *this, unsigned int level,
         }
         else if ( level && !dma_pte_superpage(*pte) )
         {
-            next = map_vtd_domain_page(dma_pte_addr(*pte));
+            next = map_domain_page(maddr_to_mfn(dma_pte_addr(*pte)));
             rc = fill_qpt(next, level - 1, pgs);
-            unmap_vtd_domain_page(next);
+            unmap_domain_page(next);
         }
     }
 
@@ -3204,9 +3198,9 @@ static int cf_check intel_iommu_quarantine_init(struct pci_dev *pdev,
         struct dma_pte *root;
         struct page_info *pgs[6] = {};
 
-        root = map_vtd_domain_page(pdev->arch.vtd.pgd_maddr);
+        root = map_domain_page(maddr_to_mfn(pdev->arch.vtd.pgd_maddr));
         rc = fill_qpt(root, level - 1, pgs);
-        unmap_vtd_domain_page(root);
+        unmap_domain_page(root);
 
         pdev->arch.leaf_mfn = page_to_mfn(pgs[0]);
     }
diff --git a/xen/drivers/passthrough/vtd/iommu.h b/xen/drivers/passthrough/vtd/iommu.h
index 29d350b23d..7c40f81408 100644
--- a/xen/drivers/passthrough/vtd/iommu.h
+++ b/xen/drivers/passthrough/vtd/iommu.h
@@ -19,6 +19,7 @@
 #ifndef DRIVERS__PASSTHROUGH__VTD__IOMMU_H
 #define DRIVERS__PASSTHROUGH__VTD__IOMMU_H
 
+#include <xen/domain_page.h>
 #include <xen/iommu.h>
 #include <asm/msi.h>
 
@@ -366,8 +367,8 @@ struct iremap_entry {
  */
 #define GET_IREMAP_ENTRY(maddr, index, entries, entry)                        \
 do {                                                                          \
-    entries = (struct iremap_entry *)map_vtd_domain_page(                     \
-              (maddr) + (( (index) >> IREMAP_ENTRY_ORDER ) << PAGE_SHIFT ) ); \
+    entries = (struct iremap_entry *)map_domain_page(maddr_to_mfn(            \
+              (maddr) + (( (index) >> IREMAP_ENTRY_ORDER ) << PAGE_SHIFT ) ));\
     entry = &entries[(index) % (1 << IREMAP_ENTRY_ORDER)];                    \
 } while(0)
 
@@ -482,7 +483,7 @@ struct vtd_iommu {
     u64	ecap;
     spinlock_t lock; /* protect context */
     spinlock_t register_lock; /* protect iommu register handling */
-    u64 root_maddr; /* root entry machine address */
+    struct page_info *root_page; /* root entry page */
     nodeid_t node;
     struct msi_desc msi;
     struct acpi_drhd_unit *drhd;
diff --git a/xen/drivers/passthrough/vtd/qinval.c b/xen/drivers/passthrough/vtd/qinval.c
index 036f3e8505..eb37832363 100644
--- a/xen/drivers/passthrough/vtd/qinval.c
+++ b/xen/drivers/passthrough/vtd/qinval.c
@@ -18,6 +18,7 @@
  */
 
 
+#include <xen/domain_page.h>
 #include <xen/sched.h>
 #include <xen/iommu.h>
 #include <xen/time.h>
@@ -81,7 +82,7 @@ static struct qinval_entry *qi_map_entry(const struct vtd_iommu *iommu,
 {
     paddr_t base = iommu->qinval_maddr +
                    ((index * sizeof(struct qinval_entry)) & PAGE_MASK);
-    struct qinval_entry *entries = map_vtd_domain_page(base);
+    struct qinval_entry *entries = map_domain_page(maddr_to_mfn(base));
 
     return &entries[index % (PAGE_SIZE / sizeof(*entries))];
 }
@@ -111,7 +112,7 @@ static int __must_check queue_invalidate_context_sync(struct vtd_iommu *iommu,
     qinval_update_qtail(iommu, index);
     spin_unlock_irqrestore(&iommu->register_lock, flags);
 
-    unmap_vtd_domain_page(qinval_entry);
+    unmap_domain_page(qinval_entry);
 
     return invalidate_sync(iommu);
 }
@@ -145,7 +146,7 @@ static int __must_check queue_invalidate_iotlb_sync(struct vtd_iommu *iommu,
     qinval_update_qtail(iommu, index);
     spin_unlock_irqrestore(&iommu->register_lock, flags);
 
-    unmap_vtd_domain_page(qinval_entry);
+    unmap_domain_page(qinval_entry);
 
     return invalidate_sync(iommu);
 }
@@ -176,7 +177,7 @@ static int __must_check queue_invalidate_wait(struct vtd_iommu *iommu,
     qinval_update_qtail(iommu, index);
     spin_unlock_irqrestore(&iommu->register_lock, flags);
 
-    unmap_vtd_domain_page(qinval_entry);
+    unmap_domain_page(qinval_entry);
 
     /* Now we don't support interrupt method */
     if ( sw )
@@ -277,7 +278,7 @@ int qinval_device_iotlb_sync(struct vtd_iommu *iommu, struct pci_dev *pdev,
     qinval_update_qtail(iommu, index);
     spin_unlock_irqrestore(&iommu->register_lock, flags);
 
-    unmap_vtd_domain_page(qinval_entry);
+    unmap_domain_page(qinval_entry);
 
     return dev_invalidate_sync(iommu, pdev, did);
 }
@@ -305,7 +306,7 @@ static int __must_check queue_invalidate_iec_sync(struct vtd_iommu *iommu,
     qinval_update_qtail(iommu, index);
     spin_unlock_irqrestore(&iommu->register_lock, flags);
 
-    unmap_vtd_domain_page(qinval_entry);
+    unmap_domain_page(qinval_entry);
 
     ret = invalidate_sync(iommu);
 
diff --git a/xen/drivers/passthrough/vtd/utils.c b/xen/drivers/passthrough/vtd/utils.c
index 7c4d032f4f..5d365ea4e9 100644
--- a/xen/drivers/passthrough/vtd/utils.c
+++ b/xen/drivers/passthrough/vtd/utils.c
@@ -18,6 +18,7 @@
 
 #include <xen/sched.h>
 #include <xen/delay.h>
+#include <xen/domain_page.h>
 #include <xen/iommu.h>
 #include <xen/time.h>
 #include <xen/pci.h>
@@ -99,38 +100,38 @@ void print_vtd_entries(struct vtd_iommu *iommu, int bus, int devfn, u64 gmfn)
            iommu->index, &PCI_SBDF(iommu->drhd->segment, bus, devfn),
            gmfn);
 
-    if ( iommu->root_maddr == 0 )
+    if ( iommu->root_page == NULL )
     {
-        printk("    iommu->root_maddr = 0\n");
+        printk("    iommu->root_maddr = NULL\n");
         return;
     }
 
-    root_entry = (struct root_entry *)map_vtd_domain_page(iommu->root_maddr);
+    root_entry = __map_domain_page(iommu->root_page);
 
     printk("    root_entry[%02x] = %"PRIx64"\n", bus, root_entry[bus].val);
     if ( !root_present(root_entry[bus]) )
     {
-        unmap_vtd_domain_page(root_entry);
+        unmap_domain_page(root_entry);
         printk("    root_entry[%02x] not present\n", bus);
         return;
     }
 
     val = root_entry[bus].val;
-    unmap_vtd_domain_page(root_entry);
-    ctxt_entry = map_vtd_domain_page(val);
+    unmap_domain_page(root_entry);
+    ctxt_entry = map_domain_page(maddr_to_mfn(val));
 
     val = ctxt_entry[devfn].lo;
     printk("    context[%02x] = %"PRIx64"_%"PRIx64"\n",
            devfn, ctxt_entry[devfn].hi, val);
     if ( !context_present(ctxt_entry[devfn]) )
     {
-        unmap_vtd_domain_page(ctxt_entry);
+        unmap_domain_page(ctxt_entry);
         printk("    ctxt_entry[%02x] not present\n", devfn);
         return;
     }
 
     level = agaw_to_level(context_address_width(ctxt_entry[devfn]));
-    unmap_vtd_domain_page(ctxt_entry);
+    unmap_domain_page(ctxt_entry);
     if ( level != VTD_PAGE_TABLE_LEVEL_3 &&
          level != VTD_PAGE_TABLE_LEVEL_4)
     {
@@ -140,10 +141,10 @@ void print_vtd_entries(struct vtd_iommu *iommu, int bus, int devfn, u64 gmfn)
 
     do
     {
-        l = map_vtd_domain_page(val);
+        l = map_domain_page(maddr_to_mfn(val));
         l_index = get_level_index(gmfn, level);
         pte.val = l[l_index];
-        unmap_vtd_domain_page(l);
+        unmap_domain_page(l);
         printk("    l%u[%03x] = %"PRIx64" %c%c\n", level, l_index, pte.val,
                dma_pte_read(pte) ? 'r' : '-',
                dma_pte_write(pte) ? 'w' : '-');
@@ -204,7 +205,7 @@ void cf_check vtd_dump_iommu_info(unsigned char key)
                 {
                     /* This entry across page boundry */
                     if ( iremap_entries )
-                        unmap_vtd_domain_page(iremap_entries);
+                        unmap_domain_page(iremap_entries);
 
                     GET_IREMAP_ENTRY(iremap_maddr, i,
                                      iremap_entries, p);
@@ -232,7 +233,7 @@ void cf_check vtd_dump_iommu_info(unsigned char key)
                 print_cnt++;
             }
             if ( iremap_entries )
-                unmap_vtd_domain_page(iremap_entries);
+                unmap_domain_page(iremap_entries);
             if ( iommu->intremap.num != print_cnt )
                 printk("Warning: Print %u IRTE (actually have %u)!\n",
                         print_cnt, iommu->intremap.num);
diff --git a/xen/drivers/passthrough/vtd/x86/ats.c b/xen/drivers/passthrough/vtd/x86/ats.c
index 61052ef580..fed3588e8e 100644
--- a/xen/drivers/passthrough/vtd/x86/ats.c
+++ b/xen/drivers/passthrough/vtd/x86/ats.c
@@ -16,6 +16,7 @@
  * Author: Allen Kay <allen.m.kay@intel.com>
  */
 
+#include <xen/domain_page.h>
 #include <xen/sched.h>
 #include <xen/iommu.h>
 #include <xen/time.h>
@@ -83,17 +84,17 @@ static bool device_in_domain(const struct vtd_iommu *iommu,
     unsigned int tt;
     bool found = false;
 
-    if ( unlikely(!iommu->root_maddr) )
+    if ( unlikely(!iommu->root_page) )
     {
         ASSERT_UNREACHABLE();
         return false;
     }
 
-    root_entry = map_vtd_domain_page(iommu->root_maddr);
+    root_entry = __map_domain_page(iommu->root_page);
     if ( !root_present(root_entry[pdev->bus]) )
         goto out;
 
-    ctxt_entry = map_vtd_domain_page(root_entry[pdev->bus].val);
+    ctxt_entry = map_domain_page(maddr_to_mfn(root_entry[pdev->bus].val));
     if ( context_domain_id(ctxt_entry[pdev->devfn]) != did )
         goto out;
 
@@ -104,10 +105,10 @@ static bool device_in_domain(const struct vtd_iommu *iommu,
     found = true;
 out:
     if ( root_entry )
-        unmap_vtd_domain_page(root_entry);
+        unmap_domain_page(root_entry);
 
     if ( ctxt_entry )
-        unmap_vtd_domain_page(ctxt_entry);
+        unmap_domain_page(ctxt_entry);
 
     return found;
 }
diff --git a/xen/drivers/passthrough/vtd/x86/vtd.c b/xen/drivers/passthrough/vtd/x86/vtd.c
index 76f12adc23..b0798dc6a1 100644
--- a/xen/drivers/passthrough/vtd/x86/vtd.c
+++ b/xen/drivers/passthrough/vtd/x86/vtd.c
@@ -36,13 +36,3 @@
  * 1:1 iommu mappings except xen and unusable regions.
  */
 boolean_param("iommu_inclusive_mapping", iommu_hwdom_inclusive);
-
-void *map_vtd_domain_page(u64 maddr)
-{
-    return map_domain_page(_mfn(paddr_to_pfn(maddr)));
-}
-
-void unmap_vtd_domain_page(const void *va)
-{
-    unmap_domain_page(va);
-}
-- 
2.51.1



--
Teddy Astie | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech



From xen-devel-bounces@lists.xenproject.org Thu Oct 23 09:12:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 09:12:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148839.1480716 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBrMw-0004l1-T7; Thu, 23 Oct 2025 09:12:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148839.1480716; Thu, 23 Oct 2025 09:12:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBrMw-0004kt-ON; Thu, 23 Oct 2025 09:12:26 +0000
Received: by outflank-mailman (input) for mailman id 1148839;
 Thu, 23 Oct 2025 09:12:24 +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
 <SRS0=xdiZ=5A=bounce.vates.tech=bounce-md_30504962.68f9f171.v1-62ce87008b414352a437bdf9322b8903@srs-se1.protection.inumbo.net>)
 id 1vBrMu-0004V7-Rw
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 09:12:24 +0000
Received: from mail187-3.suw11.mandrillapp.com
 (mail187-3.suw11.mandrillapp.com [198.2.187.3])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5fb59c3d-aff0-11f0-980a-7dc792cee155;
 Thu, 23 Oct 2025 11:12:18 +0200 (CEST)
Received: from pmta09.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail187-3.suw11.mandrillapp.com (Mailchimp) with ESMTP id 4csgKF3cy7zDRJJTy
 for <xen-devel@lists.xenproject.org>; Thu, 23 Oct 2025 09:12:17 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 62ce87008b414352a437bdf9322b8903; Thu, 23 Oct 2025 09:12:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5fb59c3d-aff0-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1761210737; x=1761480737;
	bh=ISwWHQVTQY5EpDzB9R3kRNbTEtx9jHYcJ14ZAaa+DSw=;
	h=From:Subject:To:Cc:Message-Id:In-Reply-To:References:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=tt6hASuV80FoYEEbV9VtZmoCQRQXXnb7fmE7MPrLiiPZFZumiVWVrl/ge/F3ZKYca
	 xtJJlhyJmCGFQyRk8BEKCdX+4rFZDpsoqft5dg2wHArN+InU325jlXs8NAZT3eloZe
	 l2Q7oSCMYUNMpI8VVGFhLw0FS0ZAZOVDsO0p7oCLVq9o+ov6b7+Jn08ZH4Wjp/oHnP
	 AAsfLiu7CCzVZHnbn5Bk/tugOMAFbpqTi08w+2jmaW0dE82/9Yb3YgetG00CVzRV7c
	 BXQ4nTmOMxc+Cx8sRjw3MRGOkV3M/grhosyixhfQ3/RPL0kvQCRxDIBcpRqa1fmi+L
	 trpQfOQ/txufQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1761210737; x=1761471237; i=teddy.astie@vates.tech;
	bh=ISwWHQVTQY5EpDzB9R3kRNbTEtx9jHYcJ14ZAaa+DSw=;
	h=From:Subject:To:Cc:Message-Id:In-Reply-To:References:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=WGI8GujYpaiADEOS4lxBEkSihptbwAXig2dMYUv72WYtGSWboqS3vugpdk819f2XU
	 ECGFJhoRqEb5URsW4JKJx/9dTnVSbBpwApenC5HPpW/s+oB0UbjhfjGef2MbBbBULC
	 QNJIlf6gMHArE/UdBZdp8pZFLnzGMfbVWWhgx4KYKjiL59tEmT4F6ZrPFitTagaEzg
	 iC8j8apoRf+keFE/rn1NmsLzrFUH7ostC7rYnienzZsc3rynjWyjdqleIgxkN3CkAV
	 sPoNbRK8enwUnf9kkuBZ/aKRLQ0Ll+OYHObJSD3/BK4pZufXQphNcgWuFkiolXmiS3
	 MElP2BpxfGObA==
From: "Teddy Astie" <teddy.astie@vates.tech>
Subject: =?utf-8?Q?[PATCH=20v2=204/5]=20vtd:=20Remove=20IO=5FxAPIC=5Froute=5Fentry=20macro?=
X-Mailer: git-send-email 2.51.1
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1761210737079
To: xen-devel@lists.xenproject.org
Cc: "Teddy Astie" <teddy.astie@vates.tech>
Message-Id: <5bd53445740ba85c8b49d9018b6600fd90eadb50.1761209564.git.teddy.astie@vates.tech>
In-Reply-To: <cover.1761209564.git.teddy.astie@vates.tech>
References: <cover.1761209564.git.teddy.astie@vates.tech>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.62ce87008b414352a437bdf9322b8903?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20251023:md
Date: Thu, 23 Oct 2025 09:12:17 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

This macro was introduced to abstract between IO-APIC and IO-SAPIC (ia64),
now that ia64 isn't supported anymore, this macro now only refers to IO-APIC.

Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
---
v2:
 - formatting changes

 xen/drivers/passthrough/vtd/intremap.c | 10 +++++-----
 xen/drivers/passthrough/vtd/vtd.h      |  3 ---
 2 files changed, 5 insertions(+), 8 deletions(-)

diff --git a/xen/drivers/passthrough/vtd/intremap.c b/xen/drivers/passthrough/vtd/intremap.c
index 6c779d476d..612e08bcec 100644
--- a/xen/drivers/passthrough/vtd/intremap.c
+++ b/xen/drivers/passthrough/vtd/intremap.c
@@ -269,7 +269,7 @@ static unsigned int alloc_remap_entry(struct vtd_iommu *iommu, unsigned int nr)
 }
 
 static int remap_entry_to_ioapic_rte(
-    struct vtd_iommu *iommu, int index, struct IO_xAPIC_route_entry *old_rte)
+    struct vtd_iommu *iommu, int index, struct IO_APIC_route_entry *old_rte)
 {
     struct iremap_entry *iremap_entry = NULL, *iremap_entries;
     unsigned long flags;
@@ -317,8 +317,8 @@ static int remap_entry_to_ioapic_rte(
 }
 
 static int ioapic_rte_to_remap_entry(struct vtd_iommu *iommu,
-    int apic, unsigned int ioapic_pin, struct IO_xAPIC_route_entry *old_rte,
-    struct IO_xAPIC_route_entry new_rte)
+    int apic, unsigned int ioapic_pin, struct IO_APIC_route_entry *old_rte,
+    struct IO_APIC_route_entry new_rte)
 {
     struct iremap_entry *iremap_entry = NULL, *iremap_entries;
     struct iremap_entry new_ire;
@@ -399,7 +399,7 @@ unsigned int cf_check io_apic_read_remap_rte(
 {
     unsigned int ioapic_pin = (reg - 0x10) / 2;
     int index;
-    struct IO_xAPIC_route_entry old_rte = { };
+    struct IO_APIC_route_entry old_rte = {};
     int rte_upper = (reg & 1) ? 1 : 0;
     struct vtd_iommu *iommu = ioapic_to_iommu(IO_APIC_ID(apic));
 
@@ -421,7 +421,7 @@ unsigned int cf_check io_apic_read_remap_rte(
 void cf_check io_apic_write_remap_rte(
     unsigned int apic, unsigned int pin, uint64_t rte)
 {
-    struct IO_xAPIC_route_entry old_rte = {}, new_rte;
+    struct IO_APIC_route_entry old_rte = {}, new_rte;
     struct vtd_iommu *iommu = ioapic_to_iommu(IO_APIC_ID(apic));
     int rc;
 
diff --git a/xen/drivers/passthrough/vtd/vtd.h b/xen/drivers/passthrough/vtd/vtd.h
index b95124517b..f0286b40c3 100644
--- a/xen/drivers/passthrough/vtd/vtd.h
+++ b/xen/drivers/passthrough/vtd/vtd.h
@@ -31,9 +31,6 @@
 #define MAP_ERROR_RECOVERY    (1u << 2)
 #define UNMAP_ME_PHANTOM_FUNC (1u << 3)
 
-/* Allow for both IOAPIC and IOSAPIC. */
-#define IO_xAPIC_route_entry IO_APIC_route_entry
-
 struct IO_APIC_route_remap_entry {
     union {
         u64 val;
-- 
2.51.1



--
Teddy Astie | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech



From xen-devel-bounces@lists.xenproject.org Thu Oct 23 09:15:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 09:15:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148890.1480726 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBrQ8-0006oR-BE; Thu, 23 Oct 2025 09:15:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148890.1480726; Thu, 23 Oct 2025 09:15:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBrQ8-0006oK-8O; Thu, 23 Oct 2025 09:15:44 +0000
Received: by outflank-mailman (input) for mailman id 1148890;
 Thu, 23 Oct 2025 09:15:42 +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
 <SRS0=aoY3=5A=bounce.vates.tech=bounce-md_30504962.68f9f23c.v1-858fa44fa26d4ebc8231ce3432493985@srs-se1.protection.inumbo.net>)
 id 1vBrQ6-0006nt-JL
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 09:15:42 +0000
Received: from mail187-3.suw11.mandrillapp.com
 (mail187-3.suw11.mandrillapp.com [198.2.187.3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d883c527-aff0-11f0-9d15-b5c5bf9af7f9;
 Thu, 23 Oct 2025 11:15:41 +0200 (CEST)
Received: from pmta09.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail187-3.suw11.mandrillapp.com (Mailchimp) with ESMTP id 4csgP84770zDRHxn2
 for <xen-devel@lists.xenproject.org>; Thu, 23 Oct 2025 09:15:40 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 858fa44fa26d4ebc8231ce3432493985; Thu, 23 Oct 2025 09:15:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d883c527-aff0-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1761210940; x=1761480940;
	bh=fS2nYPg56uNxja9sxFpyEUA5FhMOkr+Zpgx1j4cWTmk=;
	h=From:Subject:Message-Id:To:References:Cc:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=Kc4zE1a3vu55fVyn4jA27Ola9tu9nqvBxADJze+A9QDYoNgkbXCU6kuyVGaBG56j3
	 oAlIAiv6GK/iU91m7jvy8PfTU1Ko1vHWEvl70K8qn/ead7WLiZ8QDeWuw3wumWbYb+
	 g1/JbFzGCOopbzJ08eH1jkWwc3AUgzTF4qdno/+derpyisjnhy9Xs5pvJ0Ovj82nmz
	 bp90+gpw2sba2tPwHVqqXZUxcK5zn+XUEbjO/GrzV7U/wrGWtvR7jLlcangO10HAiv
	 HUwFx0gzL95Q7zowMiNBUDWJbJ8lY8T9hs/uvc2+qE0cNz1Yzd7XqIC2+PVYYp5kwu
	 KX80G5mjXLzAg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1761210940; x=1761471440; i=teddy.astie@vates.tech;
	bh=fS2nYPg56uNxja9sxFpyEUA5FhMOkr+Zpgx1j4cWTmk=;
	h=From:Subject:Message-Id:To:References:Cc:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=S07eKaYOyxxub7xwC4eBf8mRGY5/WdgOPK3Mv1A9enHI1nwotyTzY/LRUHvqlUAW/
	 zmidJzW2m+khDbWfN6nOnb6ui13YmQhQ/t5CJRmOwa0klL/5dOk7c7czeU39efrgPP
	 ei6dQEhimHZX7x4eIiY55E+EcRfQAeTuyXTxF7j8EZ6CjZ+BkI+2P5AhQ7TzECrcf4
	 RrT0DrCvn/HxB5IsF5DBOHLBJ19M1nTsaJoLJLG6VoA9GMUgi8dUCNchi40UcP48LL
	 PkKzUP2SknOD2aUH/hEwQSc6iPaE/aK6Yy7SonNyT5whAogbu/DiVKPi7qeEM2JcUK
	 MZeFnujtt+uDQ==
From: "Teddy Astie" <teddy.astie@vates.tech>
Subject: =?utf-8?Q?Re:=20[PATCH=20v2=200/5]=20Various=20IOMMU=20related=20simplifications?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1761210939064
Message-Id: <b9baa995-da2c-49d9-844c-6b4c625721c0@vates.tech>
To: "Teddy Astie" <teddy.astie@vates.tech>, xen-devel@lists.xenproject.org
References: <cover.1761209564.git.teddy.astie@vates.tech>
Cc: "Jan Beulich" <jbeulich@suse.com>, "Andrew Cooper" <andrew.cooper3@citrix.com>, "=?utf-8?Q?Roger=20Pau=20Monn=C3=A9?=" <roger.pau@citrix.com>, "Oleksii Kurochko" <oleksii.kurochko@gmail.com>, "Community Manager" <community.manager@xenproject.org>, "Anthony PERARD" <anthony.perard@vates.tech>, "Michal Orzel" <michal.orzel@amd.com>, "Julien Grall" <julien@xen.org>, "Stefano Stabellini" <sstabellini@kernel.org>
In-Reply-To: <cover.1761209564.git.teddy.astie@vates.tech>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.858fa44fa26d4ebc8231ce3432493985?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20251023:md
Date: Thu, 23 Oct 2025 09:15:40 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Le 23/10/2025 =C3=A0 11:12, Teddy Astie a =C3=A9crit=C2=A0:
> Various simplifications in the VT-d and IO-APIC code (mostly related to l=
egacy ia64 code).
> 
> No functional change intended.
> 
> Changed in v2 :
>   - drop (un)map_vtd_domain_page wrapper instead of moving it
>   - drop deprecated and Intel-exclusive iommu_inclusive_mapping=3D<boolea=
n>
>   - description and formatting changes
> 
> Teddy Astie (5):
>    vtd: Drop (un)map_vtd_domain_page wrapper
>    vtd: Drop "iommu_inclusive_mapping" command-line option
>    vtd: Collapse x86 subdirectory
>    vtd: Remove IO_xAPIC_route_entry macro
>    x86/ioapic: Don't open-code 32-bits rte reads
> 
>   CHANGELOG.md                                |  2 +
>   docs/misc/xen-command-line.pandoc           |  6 --
>   xen/arch/x86/include/asm/io_apic.h          |  1 +
>   xen/arch/x86/io_apic.c                      | 29 +++----
>   xen/drivers/passthrough/vtd/Makefile        |  3 +-
>   xen/drivers/passthrough/vtd/{x86 =3D> }/ats.c | 21 ++---
>   xen/drivers/passthrough/vtd/dmar.c          |  2 +-
>   xen/drivers/passthrough/vtd/extern.h        |  3 -
>   xen/drivers/passthrough/vtd/intremap.c      | 34 ++++----
>   xen/drivers/passthrough/vtd/iommu.c         | 88 ++++++++++-----------
>   xen/drivers/passthrough/vtd/iommu.h         |  7 +-
>   xen/drivers/passthrough/vtd/qinval.c        | 13 +--
>   xen/drivers/passthrough/vtd/utils.c         | 25 +++---
>   xen/drivers/passthrough/vtd/vtd.h           |  3 -
>   xen/drivers/passthrough/vtd/x86/Makefile    |  2 -
>   xen/drivers/passthrough/vtd/x86/vtd.c       | 48 -----------
>   16 files changed, 108 insertions(+), 179 deletions(-)
>   rename xen/drivers/passthrough/vtd/{x86 =3D> }/ats.c (92%)
>   delete mode 100644 xen/drivers/passthrough/vtd/x86/Makefile
>   delete mode 100644 xen/drivers/passthrough/vtd/x86/vtd.c
> 

I forgot to add the CC-ed people


--
Teddy Astie | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech




From xen-devel-bounces@lists.xenproject.org Thu Oct 23 09:36:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 09:36:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148919.1480736 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBrkK-0001tN-VB; Thu, 23 Oct 2025 09:36:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148919.1480736; Thu, 23 Oct 2025 09:36:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBrkK-0001tG-ST; Thu, 23 Oct 2025 09:36:36 +0000
Received: by outflank-mailman (input) for mailman id 1148919;
 Thu, 23 Oct 2025 09:36:35 +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 <SRS0=U0PU=5A=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vBrkJ-0001tA-Lt
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 09:36:35 +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 c14dedf4-aff3-11f0-980a-7dc792cee155;
 Thu, 23 Oct 2025 11:36:30 +0200 (CEST)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-4711f156326so5430895e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 23 Oct 2025 02:36:30 -0700 (PDT)
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-475c4342860sm86515375e9.11.2025.10.23.02.36.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Oct 2025 02:36:28 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c14dedf4-aff3-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761212190; x=1761816990; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:cc
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=BH8U/IUuQiAyqBVk8sJPwecDI+OHVavSfIRaEjX7xO4=;
        b=TjM6P3S0S2594o+OiTRQLjs7nnnxl4XMriu4Ruqp0XaBX/+gFpEDW24LSYhCsCMqGo
         TqDpotqNSpR5B+wrXFqxrGMAk/j7Y+Y2G3FNZjOx4blW32RPUgN3M1r28PoQSR/HfnR9
         11YAVHlvH33Dtlwh92+A2jbTeg0eAb0P/6gnAS8YI/ecMQCkDlyeJmGSSrlpnuABMAEN
         R2CifpWHpkk3K5CqomrPkaPy7xowF4xmWxID1r5MOMSwcTqUVyeOiOoCaBd7asakHA6a
         MM9sl4dkf8a/90yqdO/9wzqHaatVEaG1OP9/j+51ac5T1CJrl4tSlApjxhZhnhrqhMhI
         wi4Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761212190; x=1761816990;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:cc
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=BH8U/IUuQiAyqBVk8sJPwecDI+OHVavSfIRaEjX7xO4=;
        b=aZrtho8E5j0UB+AzsJkEFUlMKnqMBTceIqUQFujQNdBgHwOpwn9lTqsAsFk40/ephd
         HGOjKwNasS9F+IUR1zNboDNri2PuHrWoY6EXqSaiWLPPFkPUvqp0M1oT0Xf2POmRIiA6
         AGgdlp2ZULx/CBAiOguhkBN1fNjVp/+WQ4qClgNFZ9ER8YsU9viesF0WZaLDOFZ1+1iM
         aAtBbqW+lCd2Xh8/MiAisjgHpliI0qWU9LsM8qD1Evx0V0ThSwg5rWIY0Otc9jlWbwMY
         S+4VyHiT9lHQlsjpb9vgqyHqdcdxPacXZ+oSVotqUKoSltCtnSFvkAYwNuipKAWBnk9M
         7UEQ==
X-Gm-Message-State: AOJu0Yzi82na0+7W3s3wjzbHifwxKnjHRHg4Tb+clKPqX1YKp4SJyvAp
	MaT6L/6bxKugeCoRF/PV5B/3gWir61uh6jUb0rcS0e6clKCn6J38RGPtf6bNuAi31A==
X-Gm-Gg: ASbGncuO+2gQAM9z9N1dwflJOcw8fEb9rYOvOENfGABXF67cwu1fg9XjWVikf2974Te
	BjBXtF1IjxGrvZciBKNC707vXCLQd3EZa9PzAGq8smCms5i+3fQVtt8/Xo+3o9lilwQuWZUzDSm
	f5brhgp9cfxmfMI96Ec0FXPUCbpXr12P9RyW2e9u4FL+HYSbHlmY/Nrs1onbFO7bbU/N+djNU10
	7tt+U9Ya07s0aXxejsjusZZwjt1pH2HdmQMITttAEdGVpkDKnGAsjKigHe0AJyWcFS6X8qiWHCD
	M2AUJPyNZtj+GeAwF6JRktCY4wDJy5AzNQ07UC9nRGGGqVIrh6xirDAnTaHjw6BxZMUobMaEhTb
	gcIE9AbtdiDZp4Wz9Kw/XpDNNOubhIrdDFe4G4ahYLvhSrc5NQTLwn+KTneNo+wtYv1WPpSJQ0N
	r7Sr35d7RtFoXdNQO1PTT45oMCfUKa2s6N5F0B6K1kUCtOugnr2LnXtEzPMAZb
X-Google-Smtp-Source: AGHT+IGbo1XB5j1AZbc8YpaGjlVSAXhjYkffwA0Wy0pvZW57g06Q28pknjqN80rpdoFFXjaS85ZT1A==
X-Received: by 2002:a05:600c:3b8d:b0:45d:f81d:eae7 with SMTP id 5b1f17b1804b1-471179176b9mr202388915e9.28.1761212189922;
        Thu, 23 Oct 2025 02:36:29 -0700 (PDT)
Message-ID: <b6016150-4df7-42f1-8f30-82ad214bdc87@suse.com>
Date: Thu, 23 Oct 2025 11:36:27 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 4/5] vtd: Remove IO_xAPIC_route_entry macro
To: Teddy Astie <teddy.astie@vates.tech>
References: <cover.1761209564.git.teddy.astie@vates.tech>
 <5bd53445740ba85c8b49d9018b6600fd90eadb50.1761209564.git.teddy.astie@vates.tech>
Content-Language: en-US
Cc: xen-devel@lists.xenproject.org
From: Jan Beulich <jbeulich@suse.com>
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: <5bd53445740ba85c8b49d9018b6600fd90eadb50.1761209564.git.teddy.astie@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 23.10.2025 11:12, Teddy Astie wrote:
> This macro was introduced to abstract between IO-APIC and IO-SAPIC (ia64),
> now that ia64 isn't supported anymore, this macro now only refers to IO-APIC.
> 
> Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
> ---
> v2:
>  - formatting changes

But you could have retained Andrew's ack, I suppose?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 23 09:42:18 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 09:42:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148930.1480746 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBrpc-0003Yz-Hj; Thu, 23 Oct 2025 09:42:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148930.1480746; Thu, 23 Oct 2025 09:42:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBrpc-0003Ys-EN; Thu, 23 Oct 2025 09:42:04 +0000
Received: by outflank-mailman (input) for mailman id 1148930;
 Thu, 23 Oct 2025 09:42:03 +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 <SRS0=U0PU=5A=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vBrpb-0003Yk-GP
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 09:42:03 +0000
Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com
 [2a00:1450:4864:20::32b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 86006c38-aff4-11f0-980a-7dc792cee155;
 Thu, 23 Oct 2025 11:42:00 +0200 (CEST)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-47112edf9f7so3548535e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 23 Oct 2025 02:42:00 -0700 (PDT)
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-475cae9f8eesm27709675e9.6.2025.10.23.02.41.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Oct 2025 02:41:59 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 86006c38-aff4-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761212520; x=1761817320; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=BmZ0OHqn3bIAdqcpUVIWufPsgR7d8480d8zKVxKjUJ8=;
        b=DgRiB5CsNQ230Jrg4ywIkxqnDW2tz8kq/PWAVC8DNKaSAqzR2LemeLG9QgRWYfcbWl
         f6TPZ1X6/DEGSXXDZOWGZ3n09H9oMYePrW0UfEHW+BKKY+St7x3wTrcQg2ZefS0dHkVP
         t/OxI8v2K/FqJ/EOY9UxxqVCWFn+0swdZVe3wJgjpDqylSRRCuARakoPVKsjoVrpQ+7s
         UiI1J/DfCGjAZ2UuK02T5P7RFf98aUvDxPWFarBWg0oB1OFCDnvzNBp9Qacu0gk10QDf
         pVr0SGGXRxCwCXgEyTjXvmXQp1sosqPe0bAbYp2ieIfyXUqkATLp679qjO21BspLWgyH
         3dkQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761212520; x=1761817320;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=BmZ0OHqn3bIAdqcpUVIWufPsgR7d8480d8zKVxKjUJ8=;
        b=DAnKlR5vSktD1u2rEGhrfS7TS9PwXWVf4YI6qKIbBj4euCyxBU/1mb1Cu16g0+akxy
         SlsUzuWfbHd0QrJ0meB6nT8syYfQn92psqLhu8brQ7bgfWhvo48FVsX4WPN7+sCWGNbB
         dzqQJ947YLmxwDEIqcULWaQWA8giRlLFDhkP+8aNU+D9HLd3eqyxdUsNyqExq0ls1xaR
         P2i0Da8rnDHlcNqGWu0jETemcZ5NPni33JpPHDt+YS8CntrEAKJE5mbqTXZUBZbwcgnS
         CL5LAc4HP9WbDEFXnR+dI4UXMsGxpd5FV3K/Tff/Rb9UEcgvmJn9HpyEkKmI0YSCK/Fw
         CRyw==
X-Forwarded-Encrypted: i=1; AJvYcCXyzVaweUXtkPiwZNyg54ZF0aRtZ1xWvjSWs1gkr206ZKOMiiJsKgMfxtt/7wyyStVCSso6FzFuiqE=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw3aqz79hQMgnd1oBily45uMj3sZElVyH3kJHTNcevMQfc8qRen
	ZvDKnVvL2xYxPzoeuiZEy9e4Gpb5IVKjV0oxI7KbDiUEeT03D4X1QQoRUb9M7K2w4lSLEmGVJcO
	SVOo=
X-Gm-Gg: ASbGnctcjx1c21qYDLAhDea5H33hyCOhULeecHDPTiTIhAokSCx4iLVhSi00QTA8ppn
	DMu8/Z9Ulss3Dj48Fps2LqqT7okilrL3/UkWF+ZsN0ud1fp/mwopsAkrtTIWimbXdl877tpS6Aa
	iBRABI3AubGOiJqU+2DihGW9UilBtxXgmcrjIo9uTsSSmk9QR3vUwIZdZ2F3MNjlxmKdaS2X/+y
	RUka8TJwns9cf9ycDYTBSUMpuqnrPMajFW1xJgHCqvkWOHCCzsCzwUsEcgiN6/7tyDkb31YwMDF
	PjBgN3zsYMuN2QWP773vR6IsT/9B/TkbLR7z22A15nEpApKSpQnFKOhg6Xb2z8PJ18OkvNmZkCl
	Nagi9i2k7BY2lS9+dPWtOqFM1TJHZ1X5xW1hnL5VTZLxtDbsYkCL+m+B2jNb8X5U7G/3O56Pgqw
	xrNWwaRC1ueg/4UTXidWD76hAxG+OPtRcJrV640Ts/OeijBdecTzfqvRqwkww8Yz4N8w96ujc=
X-Google-Smtp-Source: AGHT+IFzLEGY09P9rggoZuWOVXyOHtIUFUFXvP+hiaX78GOl8//OPufXANrLkJqYhGuvb2VQQuiCVg==
X-Received: by 2002:a05:600c:4e8b:b0:46f:b32e:5094 with SMTP id 5b1f17b1804b1-475cb0452e7mr15090205e9.32.1761212519876;
        Thu, 23 Oct 2025 02:41:59 -0700 (PDT)
Message-ID: <8f7addb4-04d1-4586-811b-8e77ff668274@suse.com>
Date: Thu, 23 Oct 2025 11:41:58 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH for-4.21] tools: require at least json-c 0.15
To: Anthony PERARD <anthony@xenproject.org>
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Anthony PERARD <anthony.perard@vates.tech>, xen-devel@lists.xenproject.org
References: <20251023085730.36628-1-anthony@xenproject.org>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251023085730.36628-1-anthony@xenproject.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 23.10.2025 10:57, Anthony PERARD wrote:
> From: Anthony PERARD <anthony.perard@vates.tech>
> 
> If not available, fallback to using YAJL.
> 
> The code is using json_c_visit() which was introduced in 0.13.
> json_object_new_null() and json_object_new_uint64() where added to
> 0.14. And the last one json_object_new_array_ext() was introduced in
> 0.15.
> 
> Signed-off-by: Anthony PERARD <anthony.perard@vates.tech>

Thanks for sorting this. I can't really offer R-b on this, and A-b would
(at least formally) be meaningless. If you nevertheless want to apply the
A-b, feel free to do so.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 23 10:00:31 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 10:00:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148943.1480756 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBs7M-0006k2-W5; Thu, 23 Oct 2025 10:00:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148943.1480756; Thu, 23 Oct 2025 10:00:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBs7M-0006jv-T9; Thu, 23 Oct 2025 10:00:24 +0000
Received: by outflank-mailman (input) for mailman id 1148943;
 Thu, 23 Oct 2025 10:00:23 +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
 <SRS0=hBmZ=5A=epam.com=dmytro_prokopchuk1@srs-se1.protection.inumbo.net>)
 id 1vBs7L-0006jn-1d
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 10:00:23 +0000
Received: from OSPPR02CU001.outbound.protection.outlook.com
 (mail-norwayeastazlp170130007.outbound.protection.outlook.com
 [2a01:111:f403:c20f::7])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 14950999-aff7-11f0-980a-7dc792cee155;
 Thu, 23 Oct 2025 12:00:18 +0200 (CEST)
Received: from GV2PR03MB9572.eurprd03.prod.outlook.com (2603:10a6:150:da::5)
 by GVXPR03MB8403.eurprd03.prod.outlook.com (2603:10a6:150:7::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.13; Thu, 23 Oct
 2025 10:00:14 +0000
Received: from GV2PR03MB9572.eurprd03.prod.outlook.com
 ([fe80::edd1:842f:9b14:509e]) by GV2PR03MB9572.eurprd03.prod.outlook.com
 ([fe80::edd1:842f:9b14:509e%4]) with mapi id 15.20.9253.011; Thu, 23 Oct 2025
 10:00:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 14950999-aff7-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=IUeDHJCMW7W6IPZKHiF35XcdESvOJCzgJEUc9B64d+sAcaw0lMArrT6YmOICNpEJZQsvmyQxAuIXPcc5EyjFf/7EK0NFrP5kVcAwTzBiLQhrmYLG3jJz0k6++4d7b7OawY3Lf1Gb6ETqp0tf96D0nkk/Wgm9lAY4LB9nrSNzOs8tprt/iv8BNkcluwZuQvmi3UNSQ+pXF5qFbLHJ+IKF1kFIHsGIioBgKgGQc7Cb6eFjna3ddw3bTvPvef9X2fyS9bDbpNog3yW6RkzPhP1Bz6gUQzJYKP6y+blNINyTyEw14CO1wDLTvlHkO2dLonhMWNM4jGID2lJmy9iCPcKHcA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rabsGKobnCa5JgieRN6iv6k9/C+gcZ/PhdNVSQvyyQk=;
 b=hQzRqaGIp2OvqwFtxaiQupn4Bx9el11TcumHxD3NwYB3jygHWNOgI2qaAP0u+L39t4MeAOyl1HkfVE+0gEEzVF8/rvj8vklWM8LYqfbgUz/cH4aT8RN7ii0QjVZV1KQSBWiL14VVRKQudaW/SJuXOI+JvoFd4vJ8TjQlHkg18EauAnzycwO1BQrvGeIVCNoa/tTNrRA4cmn62zTZt8no0QXnoPHYdjIZXdyWH3aTP9OUW0Pk4a82jHVbUWz4fwbpJNxOKf0uhG1pG+cyCLUZLsbPxjuUyyzmyVD0/yW9ynprfjZcGIDvhDr3RiVkgC4pxvamVyYH/uICfdrwGhYWVg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rabsGKobnCa5JgieRN6iv6k9/C+gcZ/PhdNVSQvyyQk=;
 b=aAZabOm8WMWMKnNTl20ZV39+kaYQ4QI8GTa902rc+AGVHMjwjhgizApHR5cjWEhPJgPw5ON1OzSEvtFZ2Zi/WOLWMSCTwEf/xdDVfI/67eLdplrB0YFX0XHvvctLYs7BHOvc0Aaz6TjdyQcMuB5EmL8JoLPmakNjqLfJb+B8GEtmAY4cn1x9RGGWjg+/n3DS9YnWQvDqpqOC/ee7Sdg8tek/wNLYdFh4l+XYPtYJwodiozhO66/QOPfTla4rqbpCqTa+jTePxUbxLejIul6M9pp0v7kgl4R434Hbq89fz0h+zQjf/hPci3yul+5xaBww4FdOF+rxgGSKRZLT9sfj9A==
From: Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>
To: Nicola Vetrini <nicola.vetrini@bugseng.com>, Jan Beulich
	<jbeulich@suse.com>
CC: Doug Goldstein <cardoe@cardoe.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Andrew Cooper <andrew.cooper3@citrix.com>, Anthony
 PERARD <anthony.perard@vates.tech>, Michal Orzel <michal.orzel@amd.com>,
	Julien Grall <julien@xen.org>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v3] misra: consider conversion from UL or (void*) to
 function pointer as safe
Thread-Topic: [PATCH v3] misra: consider conversion from UL or (void*) to
 function pointer as safe
Thread-Index: AQHcPSX2fWa1eZv9x0mRzqs7fz2kjrTCvSwAgAMyXQCACZ3PAA==
Date: Thu, 23 Oct 2025 10:00:13 +0000
Message-ID: <0767a5c4-6a2c-4ed0-92d3-f9f89313ad85@epam.com>
References:
 <0e72c83102668dfa6f14c4e8f9839b4a73d30b3d.1760458094.git.dmytro_prokopchuk1@epam.com>
 <ceedeefa-c506-41ca-9dfc-76937979caa9@suse.com>
 <321363444f9a3d3471bf1b3b2e020047@bugseng.com>
In-Reply-To: <321363444f9a3d3471bf1b3b2e020047@bugseng.com>
Accept-Language: en-US, uk-UA, ru-RU
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: GV2PR03MB9572:EE_|GVXPR03MB8403:EE_
x-ms-office365-filtering-correlation-id: c20cfe48-f121-4f2a-cca2-08de121af5f8
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|376014|1800799024|366016|7416014|42112799006|38070700021;
x-microsoft-antispam-message-info:
 =?utf-8?B?Y1JCdUc4ZHNxRjg2OWV2dFZiSTJEc1BmNng3cC9kSDVHYXUvMnlPcXh0OS91?=
 =?utf-8?B?MnZjVjRvd3MxcWJOaGRKbkxIdlpKb1paOTdYN1BDdUtobTczYjh1YkhPaEdR?=
 =?utf-8?B?aS9CcGNLSHk5K3VOc0haVUJFWk9SajNJNVRiaDlBbGpYazQzMFM5T0Njb3dv?=
 =?utf-8?B?eUp5YXNsb1JleWo4ekMxMWE3K0JrQ0FuMFY3d291VDM4U1hwN3Vkdk1Ma3U0?=
 =?utf-8?B?YWcxVUZJdlRKZGNRUTVvOUVkR0hnVVBzcGFvSExSUTMvWGhBM0JxaGRBakJu?=
 =?utf-8?B?NHdka0pVZ3pkUTJTQ0p0NTYzYUdoU0ZSV3R1dCtqK0pMenhrYUEwSEJPNWJD?=
 =?utf-8?B?blpMTjZPYjQ5ZUc5VnhLME9MSmM3cmU4ZnhtN0pBZzgxbzdMQlp3bXR2NWtj?=
 =?utf-8?B?dlNyWEZsK2ZUdVpleE1kbVVOSWFUWVJDK2R3NncyWmxZTEU3b25GWFhjVSt4?=
 =?utf-8?B?VHY2NndHMVV4anVHOTJrK29QeENkRlZ2OGRIVEFTYnBJcXl5QUdjdG9PZ1RJ?=
 =?utf-8?B?aFQ5Vnh5eE8xRWFERGxkSUxPU2ZxMVpWanA2SVdmVHljTmJ0Z0tqOTl2Uk1p?=
 =?utf-8?B?NWVwQmFlSHJ2RENVN2R5NjJqK3l0TExwN3lMVmVUMnEvU0l6U2VKa0FwSE8r?=
 =?utf-8?B?OFlYd1ZsWU9PMlR6ck5iRVdWQi9aSlU3S25qMDVSVHh3bDBPNHFQN2FMQzQw?=
 =?utf-8?B?bXVobDhGN0hIblBYWkJTN0xKMXFZRTBra1BDQ0VOemtTcVRuZFNPangrRGcv?=
 =?utf-8?B?Q3Z5S2E2VlFaRFczVi9EWVNoTm1sSFlzT1FNNVpqZVQ5OFJkcCtmbm1RMlRF?=
 =?utf-8?B?ZW5UbUppMXdqbEs1dGxtQTkvcEduSUlUV1dnYmk2REVwTjhTZlNNcGVxYnZR?=
 =?utf-8?B?eUN2MitZU0lWL2pVd08zZVIxcVJQWkd6a1cwUVBUaGRRc1U5eWg4VXB3MVcx?=
 =?utf-8?B?TnJaRnRRNFBMc2JKTEhpdHhUOVdwSXpjalJIeW4vcFE2YXZpKy9YcmJ6K3pH?=
 =?utf-8?B?THFwODNGQXAvKzVGemVaejVMRmc2RVRCV2JuNEpLRjVRTHU2bjgwSXJnODNR?=
 =?utf-8?B?dEZ3bVB6RjRGV3VvdmIrMUdoQ1g1cCtOczJ2Wmp4aEpTcnd6bUV3ZHkzWkV1?=
 =?utf-8?B?ZWJrQXdtNlM3enpUQjFQaFNvcTZWeUZuMDZJRXVudnNodkhpTXFZeWJoV1pv?=
 =?utf-8?B?WnhJRFZpSXJuTDFSMDJreUYyVHVqTWNCWU5lYnEzSjVwdGhtQnJNWGJibGp5?=
 =?utf-8?B?OXJjSU82TlgzWkNES0NPQzZQdE9QM2pWbE1XbHhoTXE3N2ZaMDZOZm5sYVNw?=
 =?utf-8?B?bkd5eWVHNllsTmV0STQyV3hQV3EzajBDVGRuMHlKdkR5M0lNY3N1T1YyV1hI?=
 =?utf-8?B?Zi9yRTMxaStLMDQ0RWdHYWVaY0kyMEprcGl1bm9WWkZYc2U4WlJUVTJrcUwr?=
 =?utf-8?B?OVlpWUNQK2tiSVljanBFYm40ejhTcldIeG05YjdCakg2MTZZSWNUVVB2VXhB?=
 =?utf-8?B?T2dIcVZwdlpWVE11RDk1UHBHS0VDV1E5YytVM2tsVnJDSURrTkFyR3c0ODgz?=
 =?utf-8?B?NE5vcXNTUExWT0hIYWlpU0NkZFRRSnN4bks2MnMwVlIvSCtwVUJ4Q3VKOUVF?=
 =?utf-8?B?OVlyWDgwaVQ3ZmtqR0N6ZlAyM2FoNGtuVTJlWW8yUmh4S2MyZkVBS2QrSFZm?=
 =?utf-8?B?K2NMd1BnbS9lTE1obGE3eFlzVCtSV1hSTUU2RkxkckR4cnVrc1lRc1BraXpQ?=
 =?utf-8?B?MTllZ1ZQanVoaVRPekd4QWZnZ3RqYWFNSkFWV0RvMnV6a3RQN1F2dGJEYUJt?=
 =?utf-8?B?TEpiLzA3WmVuRU1qK2NFZGhaRGk5RVMwYjlGbjFFajZwcGhtcTVjcmQ0UU9x?=
 =?utf-8?B?RzlXaU5HR0xtM2ZsNU5UbE9ZckUra1ZXWmR3R0RwODhaakFMcHZUdThGV3Jy?=
 =?utf-8?B?bXc0ZDRpdm1Jd1NEbHJIOEpKNDR0OFUrQjZpVGhOMHR6SkdkenozKytIa0R0?=
 =?utf-8?B?QjlIeUZuS2hjSzFndTlzWFZkZDNrZHJEUHJBQVBZQzkrQms2WUI2cC9qSmxO?=
 =?utf-8?Q?QSYLWI?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:GV2PR03MB9572.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(7416014)(42112799006)(38070700021);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?WUNMditDdXRSN1FOUlZ3a0dkK3B0VkdkMG9tT09JK1JKcy9GWVVOd2tXd3Fz?=
 =?utf-8?B?VDlUbWd2ZHU2cmQwTUE4dmNjZkc0TWszMVFCcStEdzU2aFRLN0dPT0k3MER0?=
 =?utf-8?B?TmNEYy84L25tS1RIamtxb1NrOFJ4TzZGRVdlUjkxL2ppczZyQUdxSWdNNkJL?=
 =?utf-8?B?Z3l2TmtCSUNveGJEZlhqYUd3VVU0MlZUK0Y2MmpiRGthcXJ5cTZVWmEzZ1o4?=
 =?utf-8?B?SGgxYnNGcm05NWg0clpOWkZySU5mZUJ1ODEwUjVsM3lqUFJIV2hCNFZyK0hP?=
 =?utf-8?B?UzNjVEU5NkZ0bEk2VGUxRklXVkhFRkMyTGlWZ3Z1bE9xTGJ0UDV4YThwTVlZ?=
 =?utf-8?B?WHIwWFNaelh1VWpkQTQ0WGxWSTllK2pSY3VxMGZ2K2x2eTloa3prZDJxNkRZ?=
 =?utf-8?B?MHBmNFcrVU53OXNYdVpudzNtUmRGd0J2STl0S1JYb2ZjOXBqcll1bmpFNmtl?=
 =?utf-8?B?bW1qV0ZuNXViMG5COW4yamhzaEU4c1hUQTlLTkZxcVMzUXdoampzaVhJeVJj?=
 =?utf-8?B?UzVWWW5wWktkNGEyRW5KeHowVlBycTY0THh4MzB0ekhQUldML3RMUEMzcllQ?=
 =?utf-8?B?dW8rNXg0elBuZ2R3NGRRVzVwcGRVREhVaEhmM2t0dm9UUHVwczFWNlE2WVlw?=
 =?utf-8?B?NHBTYzBpTG16NzRlTC84ZGFzWGFxdTdHVnZRMldWcXlNSG8wWFhjbnNjRytI?=
 =?utf-8?B?SVN1WWpMMFV1YjU4NWx0ZlhESGtwSnlCeVo1dmhYOEZ2clBlbzZrZGx6YjBv?=
 =?utf-8?B?MllwbHlDbUFSM09CUnZ1YVllWjEzdHJzclRDL252NEJpTFpTQnJWZ0wxMzZD?=
 =?utf-8?B?cyswdFZiVlNCZTBTTVVKRkhobkJIeDcrVE5odmxDWE16QVBRemVSajB4N0tN?=
 =?utf-8?B?V3Rib01jbEROOTg2aC9CSnVUNXd2QS9LYWxsbndrcXJkSTR3dDAwYnJXcmxo?=
 =?utf-8?B?QXJqWTFzbmhSS1VjdmQyWHFwdHYvVG1XNVRzcWFYS3lwTHJTdGYwbTNSd2VF?=
 =?utf-8?B?Sm1jQmFjQ3FoWk42eFNlMjFvdnpMcW1yQnRpd2twdE5jeE1OeTJ1eGRTbVd4?=
 =?utf-8?B?dXE0R0Z4cStsaVArWmVGMWp0WnJxQkpsWkttYnAyUWlVZ2NHNXNMVXpDTVRR?=
 =?utf-8?B?UzE5MjVBcEhSK0pUU2phdzNDaTlyK3ZtVjdIclV3clBNdStIdzdLZTZ1aGlZ?=
 =?utf-8?B?VnpDVWpiak5xKzllZk43T29YOG04YTZRWXJoU09wUk45Mlphc2N4Yy9zcjFJ?=
 =?utf-8?B?aWVTOHdEcU41LzVwc0RzQlp5ZnA1Qm9WOVFKRnlhNzFlMmhvWGV2dkozQ2RU?=
 =?utf-8?B?K0p3eGNTdktKQjBzNXZOdjg0Q0VNTWFXQUlOa2s0Vnl0cVJhVk9ua3ZrWUwy?=
 =?utf-8?B?T2pva3BDUWYzUmxKQTR6SkwwaGxlVnBKWE5iN0xra0Z1QVRyNGQ0dWx0UExz?=
 =?utf-8?B?aFNudUhCaEF2QkNxWHcwOExZUHQwYnhNYWFvV2lYMUk2cWxmM3BRbFVsSzFk?=
 =?utf-8?B?MC9CWlgyNnhZblJMaXE1R0J4T0d5MSs5YWNqNmhQb0ROclZwR2ZRazRLVzNW?=
 =?utf-8?B?Unc5T0h2cEMwa1IyWHBubTV4OTRjcm1yLytPQ2ViT29rSXRjUkNyOS9QclRE?=
 =?utf-8?B?WlBodjJmMW14TjVPQmlIak1kR1hYYVVTL0krYjUzVXZxUTVlN0lOK1U5WWRF?=
 =?utf-8?B?dmUxMDBrN3o0c0NRZitkYmRZVXI0OFdTZ2o2NHoyUCt2dmphalU2WWxucnd3?=
 =?utf-8?B?RCtpc3VzRnBhRUUvSHpUb0JnR3JMdmFPajA5cmpNRDFSSHRMempldkl6bk0y?=
 =?utf-8?B?djdkZ1kzT1VqRWZnV29oZjJtUkVZTVlmeEVNNUh4alhOd05UazhHdUxicnk4?=
 =?utf-8?B?RDlJZ3NCZHk3c1NEd3FGRTdiMCtYOE1ybFM5VUtJNXFpN2lEOEhIVTJ1Wlgw?=
 =?utf-8?B?R3JMaGk0enhadVJLYW1tMXI1c3VUdGdLcXVZZDYyNzhqVmlyUmxsYU1aN215?=
 =?utf-8?B?U1BtbmZFbFBNNUZQT3FPanVYS1dqdk04bWpzYnVWMFZlYjZkdkErb0VjS1Rw?=
 =?utf-8?B?S1FOWVZPa0pzdnNmU2ZsRlF2bkR5SnVieHYyZVhSVGdYbTRZOVgwcnpZemN6?=
 =?utf-8?B?T3pLL3pYenVRUVBFcHI2YVFzVnQ4WStxUlAwTXZnNTFnSlhPQW1tS2hsbTBP?=
 =?utf-8?B?L0E9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <1272E8E32EADD547AD62D7A137B7B912@eurprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: GV2PR03MB9572.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c20cfe48-f121-4f2a-cca2-08de121af5f8
X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Oct 2025 10:00:13.7788
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 3Z6dk6aKM5zng+w2oOOS5PWHX74kpaVORXYmhAhG8aZLYl6tjddDPl+/MzDPa9CNTJX2YbexUneS3o+O7bs/MTjBvBnT8WiW2tbPuDFwH4Q=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR03MB8403

DQoNCk9uIDEwLzE3LzI1IDEwOjA5LCBOaWNvbGEgVmV0cmluaSB3cm90ZToNCj4gT24gMjAyNS0x
MC0xNSAwODoyMCwgSmFuIEJldWxpY2ggd3JvdGU6DQo+PiBPbiAxNC4xMC4yMDI1IDE4OjE2LCBE
bXl0cm8gUHJva29wY2h1azEgd3JvdGU6DQo+Pj4gLS0tIGEveGVuL2NvbW1vbi92ZXJzaW9uLmMN
Cj4+PiArKysgYi94ZW4vY29tbW9uL3ZlcnNpb24uYw0KPj4+IEBAIC0yMTcsNiArMjE3LDIwIEBA
IHZvaWQgX19pbml0IHhlbl9idWlsZF9pbml0KHZvaWQpDQo+Pj4gwqAjZW5kaWYgLyogQ09ORklH
X1g4NiAqLw0KPj4+IMKgfQ0KPj4+IMKgI2VuZGlmIC8qIEJVSUxEX0lEICovDQo+Pj4gKw0KPj4+
ICsjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVk
KF9fYXJtX18pIHx8IA0KPj4+IGRlZmluZWQoX19hYXJjaDY0X18pDQo+Pg0KPj4gV2h5IF9faTM4
Nl9fPyBBbHNvIChuaXQpOiBMaW5lIHRvbyBsb25nLg0KDQpXZWxsLCBJIGNvcGllZCB0aGlzIGxp
bmUgZnJvbSBYZW4gY29kZWJhc2UsDQpidXQgeWVhaCwgX19pMzg2X18gaXMgb3V0ZGF0ZWQgbm93
Lg0KSSdsbCByZW1vdmUgaXQuDQoNCj4+DQo+PiBBbmQgd2h5IHRoaXMgcmVzdHJpY3Rpb24gd2l0
aG91dCBhbnkgY29tbWVudCBoZXJlIG9yIC4uLg0KPj4NCj4+PiArc3RhdGljIHZvaWQgX19pbml0
IF9fbWF5YmVfdW51c2VkIGJ1aWxkX2Fzc2VydGlvbnModm9pZCkNCj4+PiArew0KPj4+ICvCoMKg
wqAgLyoNCj4+PiArwqDCoMKgwqAgKiBUbyBjb25maXJtIGNvbnZlcnNpb24gY29tcGF0aWJpbGl0
eSBiZXR3ZWVuIHVuc2lnbmVkIGxvbmcsIA0KPj4+ICh2b2lkICopDQo+Pj4gK8KgwqDCoMKgICog
YW5kIGZ1bmN0aW9uIHBvaW50ZXJzIGZvciBYODYgYW5kIEFSTSBhcmNoaXRlY3R1cmVzIG9ubHku
DQo+Pg0KPj4gLi4uIGV4cGxhbmF0aW9uIGhlcmU/IE1vcmUgZ2VuZXJhbGx5IC0gaG93IHdvdWxk
IHBlb3BsZSBrbm93IHRvIHVwZGF0ZQ0KPj4gdGhlIGNvbmRpdGlvbiBpZiBhbm90aGVyIHBvcnQg
d2FzIHRvIGJlIGNlcnRpZmllZD8NCj4+DQo+PiBGaW5hbGx5LCB3aXRoIHRoZSB2MyBhZGRpdGlv
biBoZXJlLCBpcyBOaWNvbGEncyBSLWIgcmVhbGx5IHN0aWxsIA0KPj4gYXBwbGljYWJsZT8NCj4+
DQo+IA0KPiBJIGFncmVlIHdpdGggdGhlIHBvaW50IHlvdSBtYWtlIGFib3V0IGkzODYgKGUuZy4s
IEMtbGFuZ3VhZ2UtIA0KPiB0b29sY2hhaW4ucnN0IG1heSBiZSBtZW50aW9uZWQgdG8gcHJvdmlk
ZSBzb21lIGNvbnRleHQgYWJvdXQgdGhlIA0KPiBwcmVwcm9jZXNzb3IgZ3VhcmQpOyB0aGF0IHNh
aWQsIG15IFItYnkgY2FuIGJlIHJldGFpbmVkDQo+IA0KPj4gSmFuDQo+Pg0KPj4+ICvCoMKgwqDC
oCAqLw0KPj4+ICsNCj4+PiArwqDCoMKgIEJVSUxEX0JVR19PTihzaXplb2YodW5zaWduZWQgbG9u
ZykgIT0gc2l6ZW9mKHZvaWQgKCopKHZvaWQpKSk7DQo+Pj4gK8KgwqDCoCBCVUlMRF9CVUdfT04o
c2l6ZW9mKHZvaWQgKikgIT0gc2l6ZW9mKHZvaWQgKCopKHZvaWQpKSk7DQo+Pj4gK30NCj4+PiAr
I2VuZGlmDQo+Pj4gKw0KPj4+IMKgLyoNCj4+PiDCoCAqIExvY2FsIHZhcmlhYmxlczoNCj4+PiDC
oCAqIG1vZGU6IEMNCj4gDQoNCkFuZCBwcm9iYWJseSB2NCBjYW4gaGF2ZSB0aGUgZm9sbG93aW5n
IHdvcmRpbmc6DQoNCi8qDQogICogVGhpcyBhc3NlcnRpb24gY2hlY2tzIGNvbXBhdGliaWxpdHkg
YmV0d2VlbiAndW5zaWduZWQgbG9uZycsICd2b2lkIConLA0KICAqIGFuZCBmdW5jdGlvbiBwb2lu
dGVycy4gVGhpcyBpcyB0cnVlIGZvciBYODYgKHg4Nl82NCkgYW5kIEFSTSAoYXJtLCANCmFhcmNo
NjQpDQogICogYXJjaGl0ZWN0dXJlcywgd2hpY2ggaXMgd2h5IHRoZSBjaGVjayBpcyByZXN0cmlj
dGVkIHRvIHRoZXNlLg0KICAqDQogICogRm9yIG1vcmUgY29udGV4dCBvbiBhcmNoaXRlY3R1cmUt
c3BlY2lmaWMgcHJlcHJvY2Vzc29yIGd1YXJkcywgc2VlDQogICogZG9jcy9taXNjL0MtbGFuZ3Vh
Z2UtdG9vbGNoYWluLnJzdC4NCiAgKg0KICAqIElmIFhlbiBpcyBwb3J0ZWQgdG8gYSBuZXcgYXJj
aGl0ZWN0dXJlLCB2ZXJpZnkgdGhhdCB0aGlzIA0KY29tcGF0aWJpbGl0eSBob2xkcw0KICAqIGJl
Zm9yZSBhZGRpbmcgaXRzIG1hY3JvIHRvIHRoZSBjb25kaXRpb24gYmVsb3cuIElmIHRoZSBjb21w
YXRpYmlsaXR5IA0KZG9lcyBub3QNCiAgKiBob2xkLCB0aGlzIGFzc2VydGlvbiBtYXkgbmVlZCB0
byBiZSByZXZpc2VkIG9yIHJlbW92ZWQgZm9yIHRoYXQgDQphcmNoaXRlY3R1cmUuDQogICovDQoN
CkJSLCBEbXl0cm8u


From xen-devel-bounces@lists.xenproject.org Thu Oct 23 10:04:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 10:04:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148957.1480766 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBsBV-0007N8-Ih; Thu, 23 Oct 2025 10:04:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148957.1480766; Thu, 23 Oct 2025 10:04:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBsBV-0007N1-G7; Thu, 23 Oct 2025 10:04:41 +0000
Received: by outflank-mailman (input) for mailman id 1148957;
 Thu, 23 Oct 2025 10:04:39 +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 <SRS0=U0PU=5A=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vBsBT-0007Mv-NE
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 10:04:39 +0000
Received: from mail-wm1-x334.google.com (mail-wm1-x334.google.com
 [2a00:1450:4864:20::334])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id af7c9085-aff7-11f0-9d15-b5c5bf9af7f9;
 Thu, 23 Oct 2025 12:04:38 +0200 (CEST)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-47118259fd8so3840065e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 23 Oct 2025 03:04:38 -0700 (PDT)
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-474949e0a3csm58781295e9.0.2025.10.23.03.04.37
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Oct 2025 03:04:37 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: af7c9085-aff7-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761213878; x=1761818678; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:cc
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=6ULq0ASa9hjDy9wXxwtLZUd3OI6CEawZCURdqRYqyTw=;
        b=bnHDE4g2C4oc3+H/+X1vnUMz+lc7aSvCOjjHGryedkXQJencczdL8VIuP/0TBQerNB
         G52T7/xsIFvLW79vgHyelWZ2S2dlX96ZPHZfHx8fFiyxyYI+KSUsTvPWrSuuEc3RXGXW
         1U1yJLq8msJIAzO5k4ZZyOC3306g2Tyv3AVTmbs1cdqQlIP7nVYbJpKeqj/mzOAmVxEa
         25WRgBrsUHqTVPudSYpprYa6z4XHB+3bnfeufuJaOXR8CzqWZtwGBFH90fbfKnTfUcXQ
         SDIHtuYS91Be93QyZhfi39ewLP7J1uh8zkJKT6Sdgfbv/M/2KAiQgGnircPNW2lF9/hw
         vUqg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761213878; x=1761818678;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:cc
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=6ULq0ASa9hjDy9wXxwtLZUd3OI6CEawZCURdqRYqyTw=;
        b=aRl79QOGxKIIUuzPtTKeaXR4OEyWqwq8BOZ73PxyLogukjIYo48gfRmP1t8ScqZf2a
         hmoUaOyFjUk3S+QA00XMEQmrnJ0lsJnpiu675zgwFihFJvvefjJgm8U6rtEdE8FJF6r6
         rmZ8I2cYmRUiDAzMymbLEvkKMy93VfV9VVDnrtoX5WmOVP4wXvnEYznhnhWVvQKt3AGC
         OdNTcV1uJnkFVbYFsbn2Mc8/TkgUz4D4GW6aad8nPPJgqmrnEGohU0/m7djEQRN0S0qJ
         B+3U/0SyDqL1sZgWHnCXL8PTWslh1KnhNMuYfedpBev83Iwn5EBUBftKyWr7aZkIooLL
         oURA==
X-Gm-Message-State: AOJu0YzwR2F9geywhq7aWb98leVSVek+1bKl92h7u0JLPBPyIMeH5FfT
	x3XUuAdZdSsnyznuaJtXc1dkn2pV7BX9XZPu+5ADqUDXWGo1uhj6WM0P/tyhSMFrSw==
X-Gm-Gg: ASbGncuG+ZWF4DTyYmPVCTkxJMG1qmRXNMSq/ckao7suzGTeI7HorGqxGkrTve2vQe8
	lY7C2StPhpNg3MajHK+Oksi25CpnpYqe58jfJqBePEgSP3Lssvsts/VZxd1nxrEa7C//S+MsJ4E
	cTeXcxpb8K2sWcZQwKIiQ1RWXJFbELBiVGEab5WhH1BO5YbXo3DLoo2o/eHR3yWdluNmjkTCSOf
	BdS+V/7nuiTRxSL9GmDEmyd9tyoZZ4CKbvoNHzPTT/W9OTvqn6i38P2wlCpIEyCtgHLKFDT3yLy
	PS5BPCxFpe7o5GNgNFgm4YffWFs6HRhyW+Aict1NNGE2+pPqlN2avDLPmoapqKb9xyE/LDsWbyX
	t2Twpd6Leg8tzFYD5pPw0uTGtR/tJTUvq5iLJcp0lavJ66udpjY3KLwjAdhwUYSNyqWIxTKycf7
	O+im5pLN61yMD99/XLo6uBFtJbP5RAvQKFj15yfb1MhxtWQ/PMc7iOJAGhxxMN
X-Google-Smtp-Source: AGHT+IG29kyt0dxHhJPHyqd5Lk1neZJlKjlI4wO1kVDCMgvVAFZa4ildmhvFQvGgg2gDZDR0xQhk0A==
X-Received: by 2002:a05:600c:3e0f:b0:471:803:6a26 with SMTP id 5b1f17b1804b1-4711791d945mr186435345e9.37.1761213877925;
        Thu, 23 Oct 2025 03:04:37 -0700 (PDT)
Message-ID: <7c179c6a-1bf8-4d8a-846b-e8673bf07fa0@suse.com>
Date: Thu, 23 Oct 2025 12:04:36 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/5] vtd: Drop (un)map_vtd_domain_page wrapper
To: Teddy Astie <teddy.astie@vates.tech>
References: <cover.1761209564.git.teddy.astie@vates.tech>
 <a832488afe6eeb8dd83ccd1214dff87c5e6b4fc0.1761209564.git.teddy.astie@vates.tech>
Content-Language: en-US
Cc: xen-devel@lists.xenproject.org
From: Jan Beulich <jbeulich@suse.com>
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: <a832488afe6eeb8dd83ccd1214dff87c5e6b4fc0.1761209564.git.teddy.astie@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 23.10.2025 11:12, Teddy Astie wrote:
> Replace use of (un)map_vtd_domain_page with its general
> equivalents. Also take the opportunity to make iommu->root_page
> (previously root_maddr) use struct page_info instead of u64.

free_pgtable_maddr() also goes away as it seems.

> @@ -244,7 +245,7 @@ static unsigned int alloc_remap_entry(struct vtd_iommu *iommu, unsigned int nr)
>          {
>              /* This entry across page boundry */
>              if ( iremap_entries )
> -                unmap_vtd_domain_page(iremap_entries);
> +                unmap_domain_page(iremap_entries);

Please can you also drop such redundant conditionals then? unmap_domain_page()
may validly be called with NULL. Overall it looks as if this patch could do
with splitting, as the unmap_vtd_domain_page() replacement is an entirely
mechanical one (and accounts for a fair part of the patch). I'm not going to
insist, though.

> @@ -366,8 +367,8 @@ struct iremap_entry {
>   */
>  #define GET_IREMAP_ENTRY(maddr, index, entries, entry)                        \
>  do {                                                                          \
> -    entries = (struct iremap_entry *)map_vtd_domain_page(                     \
> -              (maddr) + (( (index) >> IREMAP_ENTRY_ORDER ) << PAGE_SHIFT ) ); \
> +    entries = (struct iremap_entry *)map_domain_page(maddr_to_mfn(            \
> +              (maddr) + (( (index) >> IREMAP_ENTRY_ORDER ) << PAGE_SHIFT ) ));\
>      entry = &entries[(index) % (1 << IREMAP_ENTRY_ORDER)];                    \
>  } while(0)

You drop casts elsewhere - why not here? Also, as you touch the 2nd of the lines,
can you please also drop the excess blanks? And then, while only theoretically at
risk of overflowing, the open-coded left shift may also want replacing by e.g.
pfn_to_paddr(), i.e. something which incorporates a suitable cast to paddr_t.

> --- a/xen/drivers/passthrough/vtd/qinval.c
> +++ b/xen/drivers/passthrough/vtd/qinval.c
> @@ -18,6 +18,7 @@
>   */
>  
>  
> +#include <xen/domain_page.h>
>  #include <xen/sched.h>
>  #include <xen/iommu.h>
>  #include <xen/time.h>

Please could you take the opportunity and also get rid of one of the two blank
lines?

> @@ -99,38 +100,38 @@ void print_vtd_entries(struct vtd_iommu *iommu, int bus, int devfn, u64 gmfn)
>             iommu->index, &PCI_SBDF(iommu->drhd->segment, bus, devfn),
>             gmfn);
>  
> -    if ( iommu->root_maddr == 0 )
> +    if ( iommu->root_page == NULL )
>      {
> -        printk("    iommu->root_maddr = 0\n");
> +        printk("    iommu->root_maddr = NULL\n");

root_page here then as well?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 23 10:11:50 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 10:11:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148972.1480775 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBsIL-0000bx-7G; Thu, 23 Oct 2025 10:11:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148972.1480775; Thu, 23 Oct 2025 10:11:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBsIL-0000bq-4i; Thu, 23 Oct 2025 10:11:45 +0000
Received: by outflank-mailman (input) for mailman id 1148972;
 Thu, 23 Oct 2025 10:11:43 +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 <SRS0=U0PU=5A=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vBsIJ-0000bR-AY
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 10:11:43 +0000
Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com
 [2a00:1450:4864:20::32b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id abfe1fbd-aff8-11f0-9d15-b5c5bf9af7f9;
 Thu, 23 Oct 2025 12:11:42 +0200 (CEST)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-475c696ab23so3405105e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 23 Oct 2025 03:11:42 -0700 (PDT)
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-429897e763csm3248114f8f.6.2025.10.23.03.11.41
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Oct 2025 03:11:41 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: abfe1fbd-aff8-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761214302; x=1761819102; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:cc
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=m8TRGbWHynltFqZ6ZIi0CGiF+grBouisrLonxmtCvpk=;
        b=GFX1LR/7zV9UJ+Jm7debCCpulXspKMSmAMQAZ3MAg85sFUNgUkIKqUakUABpxS23Hc
         FDQ1v+TFC0IEkASr7Jtpi5Vh9vQ1yM33QWT8WLGjfrIAs4INedSfoHql/HbruvpkIuhS
         +NEy1iohKkU82d1o56vjMN8oEKhjnjNKHKZtm4KJ+/N31uD0qaEBdQJdiOZGOo/bZPi6
         0wbc1cCQNSnKd5UP1FRhKvNlYxxfziPZ+OiLoXnEBpwQVWC+CpQG8jiT0CYSgNtC8y58
         YPALH/7qGPzI2a0uHzxzRqzobAD0HZEddjRUhZRvCwufTuhZmN+yYXlGohkSSqGz1djy
         5/9w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761214302; x=1761819102;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:cc
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=m8TRGbWHynltFqZ6ZIi0CGiF+grBouisrLonxmtCvpk=;
        b=C1Nvm6Er1qzfq1inQZixj06CGvDlzx2alH2pBrp7rrAig7lqszljSokdQ1Tk+rT8km
         vcVOAS+fKViN1bckJddUGmPgaNnq8dvPnooXY/GRwgfaEgxAj0ns/wae1Z617jZCqJJj
         56h+dik8FyPc1pMEDX1MlBpK0RYBX6015yh246GX6e88uZTbZhoKPw8htEDZ4PUu3zbi
         DHqNygNBNt6akzGUPe/LWnX5VURR+rCXnRl57nM/ir745m9xYN9SAmnhT8tEWUw1kurv
         xBagshV8UEjwhjwlJvmG60YLSr3kA6+1IuLgmmO5wg3JbFB30r8Q5dlSaFgqeA/RFhp+
         RRaw==
X-Gm-Message-State: AOJu0YwqobrZIAkFy8T0XI5aR7jIjf83+JFVO+9JPzfXrD+KZ3vr9U9c
	efjM43C+idG0l5y2+xla5BC5TzZuejvOSmLQ35ZTcK8NFK99twHSREH1bNomsf2E0A==
X-Gm-Gg: ASbGncvltrr4+9VeLBttGxrd/wmpCKSIa4ZD84zReB4B4V5f0TSdGv7B3fg/7hNeNCa
	EIVJRElGXDGMszrMawyMRO1wbgH+EHyli3LM5WO/kGz8gywRU4B40F/KuE+q52BVu0g7ZBwAKTf
	koh/2Hc9F1ADW8ersU6j1dggiCX7hucjiRf6GCBoH47fc64EZ0/FnF9mnywNuA7jPOQZAMt9O9G
	PMWPsLgtlIyJZ9Aixqn09xhqJv0VLYrvuxtoP/pYq6Mnk5wxsMkdTciQ/UnVeSPIkshP5QGUE8M
	hcOsP/yWNNeYEfUnij2v1EmepcXr/Y1TmAmVmYv9p6CQq4uWbZVjGyJaMFHDj9rHt0IB+hKLHJk
	fTAxoOo22QO6n8wizDIcjGd0+w0LQV0Y3Cx4UfXhhA56IsptWJjFyomdi2H/UVYHXdWJUaF0+MO
	sFRaslic9k1DyplhPUFF4LkrW4kedF1tRzfxbzQNdleafkTMWJpOdB/c6aah49
X-Google-Smtp-Source: AGHT+IGXKqTPngiCJhQvWLhOfJ41W0c2WAgCv268+ce8QsOZnnwFoO3y9L/FJ8llXTeiz9VrzRJEjw==
X-Received: by 2002:a05:600c:37c7:b0:46d:3a07:73cd with SMTP id 5b1f17b1804b1-4711790c31emr143642915e9.23.1761214301673;
        Thu, 23 Oct 2025 03:11:41 -0700 (PDT)
Message-ID: <3d58ba00-dc27-428f-972a-0c54815b6bc2@suse.com>
Date: Thu, 23 Oct 2025 12:11:40 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/5] vtd: Drop "iommu_inclusive_mapping" command-line
 option
To: Teddy Astie <teddy.astie@vates.tech>
References: <cover.1761209564.git.teddy.astie@vates.tech>
 <d12854b783c603aec99bbb9209b3b4be1769e5bd.1761209564.git.teddy.astie@vates.tech>
Content-Language: en-US
Cc: xen-devel@lists.xenproject.org
From: Jan Beulich <jbeulich@suse.com>
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: <d12854b783c603aec99bbb9209b3b4be1769e5bd.1761209564.git.teddy.astie@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 23.10.2025 11:12, Teddy Astie wrote:
> --- a/CHANGELOG.md
> +++ b/CHANGELOG.md
> @@ -50,6 +50,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
>   - On x86:
>     - GNTTABOP_cache_flush: it's unused on x86 and the implementation is
>       broken.
> +   - Intel-specific iommu_inclusive_mapping=<boolean> option: super-seeded
> +     by dom0-iommu=map-inclusive since Xen 4.16.
>  
>   - Support of qemu-traditional has been removed.

This is the kind of change that isn't very useful to post during the freeze period.
The change to this file will need re-basing anyway after branching, when in fact it
may then still (wrongly) apply cleanly.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 23 10:18:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 10:18:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148983.1480785 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBsOO-0001KS-Pz; Thu, 23 Oct 2025 10:18:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148983.1480785; Thu, 23 Oct 2025 10:18:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBsOO-0001KL-N7; Thu, 23 Oct 2025 10:18:00 +0000
Received: by outflank-mailman (input) for mailman id 1148983;
 Thu, 23 Oct 2025 10:18:00 +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 <SRS0=U0PU=5A=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vBsOO-0001KF-Bm
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 10:18:00 +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 8b889017-aff9-11f0-980a-7dc792cee155;
 Thu, 23 Oct 2025 12:17:57 +0200 (CEST)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-4710683a644so5035275e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 23 Oct 2025 03:17:57 -0700 (PDT)
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-475c428f709sm90203545e9.8.2025.10.23.03.17.56
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Oct 2025 03:17:56 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8b889017-aff9-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761214677; x=1761819477; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:cc
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=EZ2Z2qjOuEgvZPG/O2T9DgtWZV25EusHjsEAAMevAJY=;
        b=XoX7aELpRg5rZ5jut4wmqfw6h2ktH/lfXxnnHHXNEs3ZDuEUotAwcqSsauPi1wRZ6k
         pAyAyHorgZO26d6PYN8ctw3moqx9L3u/unaAJzHItfD77vsus0SYVqGaPbQ9m6JQKQWv
         LiaOFTYnMI4NyM/Mxw9m1c1HF53077tKuLusAmBVzY6OjzZtIz0lfzSSnd1KEl6vHXN2
         BLetWl6s02HGtX6X7GjiqOOLDyRylcBPh4kSQ1fZQrdzo0uNAW7mCxuGf0ZWQ/auamE0
         v3xMCr2BkBNgnF+pj+e21MlimC34AixNr+V76B5ve6Bt5+QyGw6aYGBcmuElzhVX194s
         hYJg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761214677; x=1761819477;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:cc
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=EZ2Z2qjOuEgvZPG/O2T9DgtWZV25EusHjsEAAMevAJY=;
        b=jpOiOHjqmd/+oZdj0mrAaHZfHuPOxZ5iKfRZUZuhxqLRAvrbzbkvVOPsWN3gLqchSY
         1wm7rJaNZYifbAcGI9StQsrmvajjxvm7hGa2O8ZSbcbCyLRDqBFSVT/eYyUSijAQ3XEl
         v7pZEPXJfML/qn3ra0CbDaE9/z3pXKO699hY5tvw2oUxj+co8ggnjewBFGxLyPK7ftal
         IasYQmEOPxZ9Me+Ohrw6uI5O+wy3I8YtRB0NEbKn39CZ2RkLw45TwAnHx8X6Jq94tDDo
         TA8GGAhb/19JE7APlKjfxW6l2FKJdaxxyxi+jkkWuyUCqflfonNFB1GtQ27A79f52QLJ
         UNLQ==
X-Gm-Message-State: AOJu0YwSBk1wHvY956HOXGImFJtZcWtMS9KupCPzBV1dubyHENapqEHE
	zoekUak8J0ixqLH1R+ykAhs4QpPyKsmWlNj9zydv5pxvZlyFoBBcl4eY7QkA5qDtOQ==
X-Gm-Gg: ASbGncsxx5M2o6ma5hqh2SAzD6HD2cw/m2bjy2DBP0IFx6wf3mtyhJhJHXqw3GHWPI0
	ArFezS4ekFI0sCukCvk9J36wQ2pWeTz59xn1M80ZegDVaPXTcfLCF7U5tyVM27bD52g8pH/Ssf5
	B6kZDuPJQNvMUPzevJJ5cVW7FLMFPmGTEFAtEZra3vut0QcA1T3OJ9QS0U3T7MiFsxPW0ru5MKD
	jmgLQpLzqwnRcXup7Qzs1tXQj/glPXZKqxA58qoKYHBK+5iiouat6n2QLLZw2lVwVxgeSsimS6P
	yw8QasSe/lUCNb4UYe7pf2GhMbyfmGD85GuMsV32icrHOhCpl5b/iMPjuPtKMm5s7QvITfBou8p
	RzgwrPF4iMZQg1+inesWpwOjxgPIJFJFnicvuirkLZARU0yJGGXvKdk4YfmihjXzEmbkY1CKeTE
	uypgyFWJvhEG6Y5+cnYsl9Rvrl9ilA3DTJKaxv993LvHNNS5haoNP1RZyE46iF
X-Google-Smtp-Source: AGHT+IG1zN+uAQNPMwIykXAEgjpasQkCcp82c2UfP4X7BSIfAW9l7xbL+snCFFv06hDFOR5QOGKFTg==
X-Received: by 2002:a05:600c:4f11:b0:46e:37d5:dbed with SMTP id 5b1f17b1804b1-475c3fd5befmr54472755e9.12.1761214676681;
        Thu, 23 Oct 2025 03:17:56 -0700 (PDT)
Message-ID: <63e5addb-d109-4c57-a94f-88968c6d9382@suse.com>
Date: Thu, 23 Oct 2025 12:17:55 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 3/5] vtd: Collapse x86 subdirectory
To: Teddy Astie <teddy.astie@vates.tech>
References: <cover.1761209564.git.teddy.astie@vates.tech>
 <3e9e5ea80bb534b69bd315099da6b5d049852823.1761209564.git.teddy.astie@vates.tech>
Content-Language: en-US
Cc: xen-devel@lists.xenproject.org
From: Jan Beulich <jbeulich@suse.com>
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: <3e9e5ea80bb534b69bd315099da6b5d049852823.1761209564.git.teddy.astie@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 23.10.2025 11:12, Teddy Astie wrote:
> The x86 subdirectory was originally meant to split x86-specific logic from
> general VT-d code. Today, Xen only supports VT-d on x86 and the code actually
> implemented in this subdirectory isn't x86-specific (e.g ATS code is not x86
> specific).
> 
> As ats.c is the only remaining file in this directory, and isn't x86 specific,
> move it up to vtd directory and remove the now empty x86 subdirectory.
> 
> Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
> ---
> v2:
>  - reviewed commit description
> 
>  xen/drivers/passthrough/vtd/Makefile        |  3 +--
>  xen/drivers/passthrough/vtd/{x86 => }/ats.c | 10 +++++-----
>  xen/drivers/passthrough/vtd/x86/Makefile    |  1 -
>  3 files changed, 6 insertions(+), 8 deletions(-)
>  rename xen/drivers/passthrough/vtd/{x86 => }/ats.c (97%)
>  delete mode 100644 xen/drivers/passthrough/vtd/x86/Makefile

I should have remembered this when looking at v1 already: While some of your
other changes go farther (and hence are likely preferable), this one I'd rather
not see go in. I'd favor respective pieces of what's still pending from
https://lists.xen.org/archives/html/xen-devel/2024-02/msg00983.html. First and
foremost because ATS really is not only not x86-specific - it's not VT-d-
specific either.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 23 10:23:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 10:23:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1149003.1480795 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBsTg-0002rK-Bt; Thu, 23 Oct 2025 10:23:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1149003.1480795; Thu, 23 Oct 2025 10:23:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBsTg-0002rD-98; Thu, 23 Oct 2025 10:23:28 +0000
Received: by outflank-mailman (input) for mailman id 1149003;
 Thu, 23 Oct 2025 10:23:27 +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 <SRS0=U0PU=5A=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vBsTf-0002r7-Oy
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 10:23:27 +0000
Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com
 [2a00:1450:4864:20::42e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4bb68348-affa-11f0-9d15-b5c5bf9af7f9;
 Thu, 23 Oct 2025 12:23:19 +0200 (CEST)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-3ee64bc6b90so523209f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 23 Oct 2025 03:23:19 -0700 (PDT)
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-475caf152absm34838685e9.9.2025.10.23.03.23.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Oct 2025 03:23:18 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4bb68348-affa-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761214999; x=1761819799; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=e9pckMg9OLfO9T6ehFt7aH0wM/G15AH9tNKcWADy/tE=;
        b=cvtZyTL7A2AxWAMBrOcWWww45nOyss/NmylSfOUxshIogzvIIK/SD1VK30BmlY31Zy
         KG3S5ADlfEU50FPqlfUFrT2aXHIL7DOlAGTcHgmZnD4ckvnrWcuSLk2bGPtaSUqRi8E+
         w+kUR2Z0wpb0A7z+jIhjlqtTqfsgwTsXvCQXIgFg8pVLIHKR6AdHVifqbR+ZdVdfFRac
         F9S/lYCf/QqwqwF8vs1wTdrk8vLX8zoo1v+fYZI2o9NmlJLmS/kpTYdTu7X5Zdw88Ki8
         E6jtKhumTj339vGL0m2SQ3a3wYoV8tbDFllkvdN1asqrCHjl+mUdF81IzqSd86LrE1AV
         SuHw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761214999; x=1761819799;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=e9pckMg9OLfO9T6ehFt7aH0wM/G15AH9tNKcWADy/tE=;
        b=tvSA35yIUZQkZhjnWuv/cidjt8YFdc7OE7GsRTwLa0oUbbMkZy6ohgAOEAjWCLpQ6V
         cbFlWC3XRszDMP2GGPqxDAfU2dzrEHnxEBGF0Am4D3e2JB2iPzEBuXQqnoE6kOQn5ic0
         Z+EiFP35s7lSvTMDo/UJS6kYNLkVa3Tx7OyIKjeXRj4zYy1wgHU9DtkQlC6A3p+mMNRD
         VQaoNqALz32FuF4ZQgaoz1+fR6qjHNAj+sJAvHStcWlyeMJSjXu+XuA4+GY5TDwx62uM
         Zc3fyR4iMn1CoZ9cRtmdvQM2q0ezEGmCArLlC5OlSrue1kAwnnZ3jNChjovmiBsPsLe9
         Nc8w==
X-Forwarded-Encrypted: i=1; AJvYcCVCz+kX8H5siQMPWf4+5SStSAoppJv+/3ZflMnz15/8ByQnAtMlpMdouud2N9h3zIU8dyIxZE6oJqU=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw3bfqnWlf/Cj7v40WTQpNtFHijuKZKvE5Xyhzu9ct0GgwhR0IC
	fuM6hoHktEuK6F2envvFJm0qzJQOBtyghDOhYRRrGI5hRZXmyRhgMctWiAoN+vN6Qg==
X-Gm-Gg: ASbGncsUDyXlLiE3xcFpxg0QAo5umP2bNAh6BIaw+LyNOPz5uBfCD2Ub6X2zM0CQEn6
	Gl/9/AdZhNXib2A/P9s1u6BO+XCRe17YsBtGq7Ai11lWD6Eiv8tVEQP0XTd924vrCB33uVhn5gd
	w4tybG4pOTXK4TWQQwvyxqzYBR6UAQNPTPbWxqY+wGHk7j88j86r/fPeIaQ1T3OGooHYROpQs9O
	u9YaqJWhfk9WKLiP3bKR2PR2A/9pwhMb53L8ongSPIP2ujjT2b6p5EfI7CNE3MaKdpDphM12ne4
	MGghSS9vTuP9+ZTI7wY9AL1UrWP2J2WkRrcRFPHFwjANpThLiuGECZemSFnHK6SJRbz+7UuGfcW
	3D+upeff3OWUswofBpTux7T4p5XtAZZgBb4qseDNo29ILRFdqBS5r60cboD2MIj8UVIRULy7k1m
	AK1Ibt0VIOCeDvtrO4AUGGA10XdKmhJV8x2DnMQZ/XCi9nM4snlHI3GK0RVJNDHTo7zxyn4QI=
X-Google-Smtp-Source: AGHT+IGmIUvEx5qWqSjDPImlrC3N7HxCLg3i1skhnlT7Rjvr9RK7k1MjLs4I7CfOyHPXmZ0FLAp6bg==
X-Received: by 2002:a05:6000:1884:b0:3e9:ad34:2b2e with SMTP id ffacd0b85a97d-42704dc92bfmr16958373f8f.46.1761214999076;
        Thu, 23 Oct 2025 03:23:19 -0700 (PDT)
Message-ID: <64411f5b-a826-48b6-9122-bf80ac377c7a@suse.com>
Date: Thu, 23 Oct 2025 12:23:17 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] misra: consider conversion from UL or (void*) to
 function pointer as safe
To: Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: Doug Goldstein <cardoe@cardoe.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <0e72c83102668dfa6f14c4e8f9839b4a73d30b3d.1760458094.git.dmytro_prokopchuk1@epam.com>
 <ceedeefa-c506-41ca-9dfc-76937979caa9@suse.com>
 <321363444f9a3d3471bf1b3b2e020047@bugseng.com>
 <0767a5c4-6a2c-4ed0-92d3-f9f89313ad85@epam.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <0767a5c4-6a2c-4ed0-92d3-f9f89313ad85@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 23.10.2025 12:00, Dmytro Prokopchuk1 wrote:
> On 10/17/25 10:09, Nicola Vetrini wrote:
>> On 2025-10-15 08:20, Jan Beulich wrote:
>>> On 14.10.2025 18:16, Dmytro Prokopchuk1 wrote:
>>>> --- a/xen/common/version.c
>>>> +++ b/xen/common/version.c
>>>> @@ -217,6 +217,20 @@ void __init xen_build_init(void)
>>>> Â #endif /* CONFIG_X86 */
>>>> Â }
>>>> Â #endif /* BUILD_ID */
>>>> +
>>>> +#if defined(__i386__) || defined(__x86_64__) || defined(__arm__) || 
>>>> defined(__aarch64__)
>>>
>>> Why __i386__? Also (nit): Line too long.
> 
> Well, I copied this line from Xen codebase,
> but yeah, __i386__ is outdated now.
> I'll remove it.
> 
>>>
>>> And why this restriction without any comment here or ...
>>>
>>>> +static void __init __maybe_unused build_assertions(void)
>>>> +{
>>>> +Â Â Â  /*
>>>> +Â Â Â Â  * To confirm conversion compatibility between unsigned long, 
>>>> (void *)
>>>> +Â Â Â Â  * and function pointers for X86 and ARM architectures only.
>>>
>>> ... explanation here? More generally - how would people know to update
>>> the condition if another port was to be certified?
>>>
>>> Finally, with the v3 addition here, is Nicola's R-b really still 
>>> applicable?
>>>
>>
>> I agree with the point you make about i386 (e.g., C-language- 
>> toolchain.rst may be mentioned to provide some context about the 
>> preprocessor guard); that said, my R-by can be retained
>>
>>> Jan
>>>
>>>> +Â Â Â Â  */
>>>> +
>>>> +Â Â Â  BUILD_BUG_ON(sizeof(unsigned long) != sizeof(void (*)(void)));
>>>> +Â Â Â  BUILD_BUG_ON(sizeof(void *) != sizeof(void (*)(void)));
>>>> +}
>>>> +#endif
>>>> +
>>>> Â /*
>>>> Â  * Local variables:
>>>> Â  * mode: C
>>
> 
> And probably v4 can have the following wording:
> 
> /*
>   * This assertion checks compatibility between 'unsigned long', 'void *',
>   * and function pointers. This is true for X86 (x86_64) and ARM (arm, 
> aarch64)
>   * architectures, which is why the check is restricted to these.
>   *
>   * For more context on architecture-specific preprocessor guards, see
>   * docs/misc/C-language-toolchain.rst.
>   *
>   * If Xen is ported to a new architecture, verify that this 
> compatibility holds
>   * before adding its macro to the condition below. If the compatibility 
> does not
>   * hold, this assertion may need to be revised or removed for that 
> architecture.
>   */

Except that this doesn't address my concern. Imo the checks want to be there
unconditionally, and ports where they're _not_ applicable would then need
excluding (with suitable commentary and/or alternative checks).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 23 10:37:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 10:37:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1149018.1480805 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBshD-0004nY-EV; Thu, 23 Oct 2025 10:37:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1149018.1480805; Thu, 23 Oct 2025 10:37:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBshD-0004nR-Bw; Thu, 23 Oct 2025 10:37:27 +0000
Received: by outflank-mailman (input) for mailman id 1149018;
 Thu, 23 Oct 2025 10:37:26 +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 <SRS0=U0PU=5A=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vBshC-0004nL-KJ
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 10:37:26 +0000
Received: from mail-wr1-x429.google.com (mail-wr1-x429.google.com
 [2a00:1450:4864:20::429])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 43bdfd4d-affc-11f0-9d15-b5c5bf9af7f9;
 Thu, 23 Oct 2025 12:37:25 +0200 (CEST)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-3ee130237a8so389372f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 23 Oct 2025 03:37:25 -0700 (PDT)
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-429898add8bsm3121750f8f.23.2025.10.23.03.37.24
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Oct 2025 03:37:24 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 43bdfd4d-affc-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761215845; x=1761820645; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=6I3vE0DfaV1ZJBdjseuI+tY5tbGr8PllPuKgDjmX9E8=;
        b=afHmBjSYuAFX3K9pRumTJB84UG7NHU7W7kGytsLCFkMMZWVnb1+EiaYoXgWwNWjFNo
         Ck39goNUHN9yIQBZYTdZg06O2EPcYct6YeFABiTZK4kZ9z+gvYgT9CHlgJXN2zimnjsO
         TQfKJeMIAuihYp8RpwFDSYsUDFgNIKkDqxYKrCA3GKp4EhgMf5/+t7Ta+eWazybo2ELZ
         LgFRw/tfD4OmUABji20nlg93c0QVvYn7iFMc7NZ0pk84gwv+jDnSekuyQ4/EckZNOnZk
         6wJHzvJy8+VEXAcnwTZHQrFLu363zB12UOdAhzBUmBeLwOdbymzEuDfVtOk+JQ1WTdjg
         xJgA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761215845; x=1761820645;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=6I3vE0DfaV1ZJBdjseuI+tY5tbGr8PllPuKgDjmX9E8=;
        b=Ut597SEeOgzdkUEBXABBQVgwtkLvG0V+QVeTAd8izJlPKx3Q3aHoWCa6Zr7mVoNNSS
         iP+eEX257BbjDY35tDmbLL8pUpzYxJ3X8WQzZBEMr+/cGHV5zXZyuY10v9IvWmM5lTnC
         /BaV56bRFytSBWHmWqPQvRtaTdamZV6c/P/GES9cWe3YPLW0KV5OLmftGUWrhxwgYfeJ
         rpAbT7iBFyLmus3kuxyUbHo1hIVfiLewZTPVT/q3eBZAzlC++d3qALfGNCKv6j2TU1U1
         QlXRh9CXisRUTpJmSPpdap7eJiE8tDbRzkS8mT56NWSLc7JbHQj5fUR208rCC++3T4QD
         FSBQ==
X-Gm-Message-State: AOJu0Yy6lpKMaA2oEXw0bGQfDXAEbRRhxFgYTV2AiE3J5JYnE24xn5TN
	4pndG8c01aKIFEBd7viY9Zn8XIRG5EF6NaK9vzZjiUvVWhn2rR/oyK5c7kKNf7xBbw==
X-Gm-Gg: ASbGnctGM/NZztMVRSr88QuvRbUu+TyC+LNc0G9L1TPUjHYi3h4iRn6fKj0IRJ7gNHq
	YIX0mlqbC6iFMuTT3umbvcAE3jcE3SLC1sIddQmjfXfUBpjdK+bmfsGWZ8thnf65GlO89VzbYdW
	3mNvwcSyZTfMjjAWXhMgzqgosR3q/QN9aUPlUxEs05gHX4WzCI+wkUeeMWgwVRcdRINQ4dTaJaK
	zbn9KBe/zzrqx0R0coZwLM59Vw1iQYGsec6W3Ppn1L9vXwi88Mdg1l8Vuz3JspFfPWS7tXC4gZ3
	FGOgN/EjyXfjb9+MsYh3x8XiRAnN/W0ehNAewpBrfnHmPJvPsTfegihjIdWrTSh6wV/dlToD9sk
	YBiIkUSwGqj6LHjvxjXUnjstknWC5VY0tcBgllKMqoS0masGTfNIKSJT4oQ0HTSDzBx7xwpWsu2
	WjAKFrxFxANxwNdgjLVUxjob5FKaXFe5/+fvwy/icOaUlgizsmH2zvHla+UMH4gZCXva85fG0=
X-Google-Smtp-Source: AGHT+IFzD/HhXzJjhcOeevnQMVvIQuLiADeATMYqGpp6omX0fOF/F6TlFG+7HCH/LOoh2BrVPFngbQ==
X-Received: by 2002:a5d:5f47:0:b0:428:3ef4:9a0f with SMTP id ffacd0b85a97d-4283ef49e24mr9707845f8f.6.1761215844694;
        Thu, 23 Oct 2025 03:37:24 -0700 (PDT)
Message-ID: <47c1fb5e-abd5-40a8-b581-be8494be3861@suse.com>
Date: Thu, 23 Oct 2025 12:37:22 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 for-4.21 2/9] x86/HPET: use single, global,
 low-priority vector for broadcast IRQ
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <b66ea488-2d47-472c-9520-8590fdf89e0e@suse.com>
 <c8c124c4-71c5-41e7-8d84-fd45ffd6af14@suse.com> <aPZh3Y8W4QcV_oLs@Mac.lan>
 <7128bbb5-d099-4584-8cd0-bfeec49b3e55@suse.com> <aPePepQk3t6gxMR1@Mac.lan>
 <16d62ac6-6666-4bad-be59-324cec634a20@suse.com> <aPnpvtXOoYSXXsT-@Mac.lan>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <aPnpvtXOoYSXXsT-@Mac.lan>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 23.10.2025 10:39, Roger Pau MonnÃ© wrote:
> On Wed, Oct 22, 2025 at 11:21:15AM +0200, Jan Beulich wrote:
>> On 21.10.2025 15:49, Roger Pau MonnÃ© wrote:
>>> On Tue, Oct 21, 2025 at 08:42:13AM +0200, Jan Beulich wrote:
>>>> On 20.10.2025 18:22, Roger Pau MonnÃ© wrote:
>>>>> On Mon, Oct 20, 2025 at 01:18:34PM +0200, Jan Beulich wrote:
>>>>>> @@ -476,19 +486,50 @@ static struct hpet_event_channel *hpet_g
>>>>>>  static void set_channel_irq_affinity(struct hpet_event_channel *ch)
>>>>>>  {
>>>>>>      struct irq_desc *desc = irq_to_desc(ch->msi.irq);
>>>>>> +    struct msi_msg msg = ch->msi.msg;
>>>>>>  
>>>>>>      ASSERT(!local_irq_is_enabled());
>>>>>>      spin_lock(&desc->lock);
>>>>>> -    hpet_msi_mask(desc);
>>>>>> -    hpet_msi_set_affinity(desc, cpumask_of(ch->cpu));
>>>>>> -    hpet_msi_unmask(desc);
>>>>>> +
>>>>>> +    per_cpu(vector_irq, ch->cpu)[HPET_BROADCAST_VECTOR] = ch->msi.irq;
>>>>>> +
>>>>>> +    /*
>>>>>> +     * Open-coding a reduced form of hpet_msi_set_affinity() here.  With the
>>>>>> +     * actual update below (either of the IRTE or of [just] message address;
>>>>>> +     * with interrupt remapping message address/data don't change) now being
>>>>>> +     * atomic, we can avoid masking the IRQ around the update.  As a result
>>>>>> +     * we're no longer at risk of missing IRQs (provided hpet_broadcast_enter()
>>>>>> +     * keeps setting the new deadline only afterwards).
>>>>>> +     */
>>>>>> +    cpumask_copy(desc->arch.cpu_mask, cpumask_of(ch->cpu));
>>>>>> +
>>>>>>      spin_unlock(&desc->lock);
>>>>>>  
>>>>>> -    spin_unlock(&ch->lock);
>>>>>> +    msg.dest32 = cpu_physical_id(ch->cpu);
>>>>>> +    msg.address_lo &= ~MSI_ADDR_DEST_ID_MASK;
>>>>>> +    msg.address_lo |= MSI_ADDR_DEST_ID(msg.dest32);
>>>>>> +    if ( msg.dest32 != ch->msi.msg.dest32 )
>>>>>> +    {
>>>>>> +        ch->msi.msg = msg;
>>>>>> +
>>>>>> +        if ( iommu_intremap != iommu_intremap_off )
>>>>>> +        {
>>>>>> +            int rc = iommu_update_ire_from_msi(&ch->msi, &msg);
>>>>>>  
>>>>>> -    /* We may have missed an interrupt due to the temporary masking. */
>>>>>> -    if ( ch->event_handler && ch->next_event < NOW() )
>>>>>> -        ch->event_handler(ch);
>>>>>> +            ASSERT(rc <= 0);
>>>>>> +            if ( rc > 0 )
>>>>>> +            {
>>>>>> +                ASSERT(msg.data == hpet_read32(HPET_Tn_ROUTE(ch->idx)));
>>>>>> +                ASSERT(msg.address_lo ==
>>>>>> +                       hpet_read32(HPET_Tn_ROUTE(ch->idx) + 4));
>>>>>> +            }
>>>>>
>>>>> The sequence of asserts seem wrong here, the asserts inside of the rc
>>>>>> 0 check will never trigger, because there's an ASSERT(rc <= 0)
>>>>> ahead of them?
>>>>
>>>> Hmm. My way of thinking was that if we get back 1 (which we shouldn't),
>>>> we ought to check (and presumably fail on) data or address having changed.
>>>
>>> Right, but the ASSERT(rc <= 0) will prevent reaching any of the
>>> followup ASSERTs if rc == 1?
>>
>> Which is no problem, as we'd be dead already anyway if the first assertion
>> triggered. Nevertheless I've switched the if() to >= 0 (which then pointed
>> out a necessary change in AMD IOMMU code).
> 
> Right, so and adjusted if condition plus an ASSERT_UNREACHABLE() at
> the end of the if code block?

That is, instead of

            ASSERT(rc <= 0);
            if ( rc >= 0 )
            {
                ASSERT(msg.data == hpet_read32(HPET_Tn_ROUTE(ch->idx)));
                ASSERT(msg.address_lo ==
                       hpet_read32(HPET_Tn_ROUTE(ch->idx) + 4));
            }

you'd prefer

            if ( rc >= 0 )
            {
                ASSERT(msg.data == hpet_read32(HPET_Tn_ROUTE(ch->idx)));
                ASSERT(msg.address_lo ==
                       hpet_read32(HPET_Tn_ROUTE(ch->idx) + 4));
                ASSERT_UNREACHABLE();
            }

? That's wrong though (for rc == 0), i.e. I fear I don't see what you mean.

>>>  IOW, we possibly want:
>>>
>>>             if ( rc > 0 )
>>>             {
>>>                 dprintk(XENLOG_ERR,
>>>                         "Unexpected HPET MSI setup returned: data: %#x address: %#lx expected data %#x address %#lx\n",
>>>                         msg.data, msg.address,
>>>                         ch->msi.msg.data, ch->msi.msg.address);
>>>                 ASSERT_UNREACHABLE();
>>>                 hpet_msi_mask(desc);
>>>                 hpet_write32(msg.data, HPET_Tn_ROUTE(ch->idx));
>>>                 hpet_write32(msg.address_lo, HPET_Tn_ROUTE(ch->idx) + 4);
>>>                 hpet_msi_unmask(desc);
>>>             }
>>>             ASSERT(!rc);
>>
>> To be honest, for my taste this goes too far as to what follows an
>> ASSERT_UNREACHABLE().
> 
> I can understand that.  It's the best way I've come up with attempting
> to recover from a possible error in the release case, but I don't
> particularly like it either.
> 
>>> I'm unsure about attempting to propagate the returned values on release
>>> builds, I guess it's slightly better than possibly using an outdated
>>> RTE entry?  Albeit this should never happen.
>>
>> Yes to the last remark; I don't actually see what you would want to do
>> with the propagated return value.
> 
> OK, I can this this not being clear.  By propagate here I mean
> propagate to the hardware registers, not to the function caller.

I.e. you still think adding the two hpet_write32() is going to be useful?
The mask/unmask, as I did say in another reply to your comments, isn't
useful here anyway (for already not being atomic), so I wouldn't see much
sense in having them. Plus of course we'd want to avoid the writes on
release builds if the values actually match, i.e. the construct would then
rather end up as two if-mismatch-then-write-else-assert-unreachable ones.

Just to mention - apart from this I have a working v3 ready to post.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 23 12:24:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 12:24:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1149055.1480815 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBuMA-0001rb-T6; Thu, 23 Oct 2025 12:23:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1149055.1480815; Thu, 23 Oct 2025 12:23:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBuMA-0001rU-QV; Thu, 23 Oct 2025 12:23:50 +0000
Received: by outflank-mailman (input) for mailman id 1149055;
 Thu, 23 Oct 2025 12:23:49 +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
 <SRS0=0HOo=5A=bounce.vates.tech=bounce-md_30504962.68fa1e52.v1-f859c87c39984a608cb3f710fa939246@srs-se1.protection.inumbo.net>)
 id 1vBuM9-0001rO-6K
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 12:23:49 +0000
Received: from mail187-3.suw11.mandrillapp.com
 (mail187-3.suw11.mandrillapp.com [198.2.187.3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1f73aee5-b00b-11f0-9d15-b5c5bf9af7f9;
 Thu, 23 Oct 2025 14:23:47 +0200 (CEST)
Received: from pmta09.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail187-3.suw11.mandrillapp.com (Mailchimp) with ESMTP id 4cslZB1DlKzDRJFks
 for <xen-devel@lists.xenproject.org>; Thu, 23 Oct 2025 12:23:46 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 f859c87c39984a608cb3f710fa939246; Thu, 23 Oct 2025 12:23:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1f73aee5-b00b-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1761222226; x=1761492226;
	bh=0M2vauzDWHp/fmdcCzvBeXqQQx/Xrz5K7xA6hVscK8w=;
	h=From:Subject:Message-Id:To:Cc:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=hWJBtpsOHWLA8bOudRvobMHYkGcBABdXJUImEdO1yTxKXnDbRfSm8KyJIopWJic99
	 RF5m6CecGhSkXE/ywxmk7mJmKwWHtcFWylLB2WK4sI9TrhzdZ85FZkJq6YwXvD8olj
	 Fn66y7oELCFwyM99YT/g6bO8HI4I7kST44ltPZPRT1fZH77cDg3Xs2a4Sij9QHHZZd
	 5cIvwMh7UaTQO32s+875iXV/JxkrQzgwHxhfqtcxHU61u/g/ZPGB4uN/KV5C3kVDfD
	 kkdDQMXt6DNw+Qtdg7BG4HmWLMrGjD6dWbBTnE+3mY2INwT7880G6hbSfqtlDwmbre
	 h28KCMlB52c1Q==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1761222226; x=1761482726; i=teddy.astie@vates.tech;
	bh=0M2vauzDWHp/fmdcCzvBeXqQQx/Xrz5K7xA6hVscK8w=;
	h=From:Subject:Message-Id:To:Cc:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=EYA1JY9JK20w+L5efWex4Rsjsqr59sWKVEeKXvbx1rRsGWZLmeOd5tgiuqwMnG7Vt
	 07hped/ard0hc+8IaiItFiMGVbotbTdvp9LXDVUbPgJMZ6AoETJMQjMPkb65FjPVlX
	 /oD08/rCYnciZjzRQmBEFyi3whJDNlnM+X2HwCE1bnOjX5PMnQOYXyDFk7K9PNDyhn
	 X5ygh1pPx7xIhdbr5XSbpkbCPAKIooT1mk1w8lf/g1IeqxoLEN2DMpI2hq76mZxXtC
	 FKBlufeXQ3YF6EIRoedLoKIYF4QXhz2NINJsZeVASKTNpSQBAKRCNiZaVQdP9/vcUt
	 xvskp/sOg2wXA==
From: "Teddy Astie" <teddy.astie@vates.tech>
Subject: =?utf-8?Q?Re:=20[PATCH=20v2=203/5]=20vtd:=20Collapse=20x86=20subdirectory?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1761222225407
Message-Id: <53649137-a6bd-485b-9499-7fbf429714b2@vates.tech>
To: "Jan Beulich" <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org, "Jason Andryuk" <jason.andryuk@amd.com>
References: <cover.1761209564.git.teddy.astie@vates.tech> <3e9e5ea80bb534b69bd315099da6b5d049852823.1761209564.git.teddy.astie@vates.tech> <63e5addb-d109-4c57-a94f-88968c6d9382@suse.com>
In-Reply-To: <63e5addb-d109-4c57-a94f-88968c6d9382@suse.com>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.f859c87c39984a608cb3f710fa939246?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20251023:md
Date: Thu, 23 Oct 2025 12:23:46 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Le 23/10/2025 =C3=A0 12:20, Jan Beulich a =C3=A9crit=C2=A0:
> On 23.10.2025 11:12, Teddy Astie wrote:
>> The x86 subdirectory was originally meant to split x86-specific logic fr=
om
>> general VT-d code. Today, Xen only supports VT-d on x86 and the code act=
ually
>> implemented in this subdirectory isn't x86-specific (e.g ATS code is not=
 x86
>> specific).
>>
>> As ats.c is the only remaining file in this directory, and isn't x86 spe=
cific,
>> move it up to vtd directory and remove the now empty x86 subdirectory.
>>
>> Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
>> ---
>> v2:
>>   - reviewed commit description
>>
>>   xen/drivers/passthrough/vtd/Makefile        |  3 +--
>>   xen/drivers/passthrough/vtd/{x86 =3D> }/ats.c | 10 +++++-----
>>   xen/drivers/passthrough/vtd/x86/Makefile    |  1 -
>>   3 files changed, 6 insertions(+), 8 deletions(-)
>>   rename xen/drivers/passthrough/vtd/{x86 =3D> }/ats.c (97%)
>>   delete mode 100644 xen/drivers/passthrough/vtd/x86/Makefile
> 
> I should have remembered this when looking at v1 already: While some of y=
our
> other changes go farther (and hence are likely preferable), this one I'd =
rather
> not see go in. I'd favor respective pieces of what's still pending from
> https://lists.xen.org/archives/html/xen-devel/2024-02/msg00983.html. Firs=
t and
> foremost because ATS really is not only not x86-specific - it's not VT-d-
> specific either.

CC-ing Jason Andryuk now reviewer of AMD-Vi code and likely interested 
with https://lists.xen.org/archives/html/xen-devel/2024-02/msg00983.html 
at least for the AMD part.

I wasn't aware of this pending series. And some of my patches overlap 
with some of these ones, so I guess we need to complete it and then I 
rebase mine on top of it.

> 
> Jan
> 



--
Teddy Astie | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech




From xen-devel-bounces@lists.xenproject.org Thu Oct 23 12:26:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 12:26:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1149065.1480826 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBuOp-0002T0-9X; Thu, 23 Oct 2025 12:26:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1149065.1480826; Thu, 23 Oct 2025 12:26:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBuOp-0002St-67; Thu, 23 Oct 2025 12:26:35 +0000
Received: by outflank-mailman (input) for mailman id 1149065;
 Thu, 23 Oct 2025 12:26:33 +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 <SRS0=U0PU=5A=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vBuOn-0002Sn-Hs
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 12:26:33 +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 8155947a-b00b-11f0-980a-7dc792cee155;
 Thu, 23 Oct 2025 14:26:31 +0200 (CEST)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-3ee130237a8so466866f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 23 Oct 2025 05:26:31 -0700 (PDT)
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-429898adf99sm3911772f8f.28.2025.10.23.05.26.29
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Oct 2025 05:26:30 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8155947a-b00b-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761222390; x=1761827190; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=cncieIrzetjLr9FZj4bT30h3vkukjMlMQSI8yAmBUNQ=;
        b=ZYoutIhTxP8eGvMJtrq3aoKSS0qJmBnDF9G5+ZRA2oofuR4oZOKrdkyhfiD7d3t6Yu
         MGqtYjrDureWis5THy9qERNb86rqJMmWrNlV99rUNnmKdmZ6wbz+AxGBI3DJbe+xV/P4
         d/VndEofu7ZozmJIsLQ1s10ZFsHRgknp0Asx8TMgk+gl+JGzJ5zZH53w1BpDCHvla9qN
         yuHIRXW+IdeRHckW8TGOnzBJ40SIZowts6G5H8DFQI+OwbIhG1g4vcS+/C6i8s/HZksv
         cnhGcKbzTKH6o1H9aA8dKJMEbo0ny6lyqW15TN+SWSVn6EB77LhH+BAMsFdC5QwIyOKX
         kXWw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761222390; x=1761827190;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=cncieIrzetjLr9FZj4bT30h3vkukjMlMQSI8yAmBUNQ=;
        b=ZfaG5VPIwjsX/vIiIZcARoc5Zuygy65yzm7y5DHndEHvx+b2v0QG6EqsO8eV4zHifh
         YWXEfdYWVWAieXBESVDvHcS8vvaQCMgpFeI8r20EMvmt5+/Twa0yDzu+ssUHcWwNsAA2
         i3GR4EAwe2CHQC7APFqEg00D4/7pL+c38J7G94FnSn+mTkbLz5gul9aBGtmekNmAq+dK
         6ygkMIntK9QoBrsSpvAv4FHaCt2KSTiIllIt/GpNv+hNXRQ93VIVcVVhnV3IGI0XdyYX
         pXQJG6vzwld0nWAXj+/QJ2CgH0n4b21V5DK/emhkaBeQfqKuiNUN/tFvmSTEj+laaQ1b
         0HHQ==
X-Gm-Message-State: AOJu0Yz57ySZ6tUQ4DOVf0zegmaY/s2e4QedF+EQt1V2EO7QemTVg/0O
	Wfeo3BXnfNKVq/3EhiFbrgGkzXdJfe3mNl3Bi51v7R5Q7F2Z0iTAQzBRRBs+yyKK6w==
X-Gm-Gg: ASbGnct9t7SvDYJvqc8nI705kQ4cGEvV6WPojg02WRI1Q035iGyIM0F/LzLocq738mP
	TCg6XvkSgdw7Napyoz//EFZciQBCrG42t3JOruIvVZMggGfSAOyGUSdE8v4gdeIGicvK3ujGtJC
	0qcbNPDuzb9IKYbOJog0qONJyjgSrZpA00tDMR6zElLRkFbxK5eZt4kUdWbQkgib8rXa2+fDFR9
	0ym5kb3EMAxEevtVis6mC+YtyrLBktxYGxtutvVuCkRqKUVyWRRlQXpQ0kfVqbs77asiZnrkzE2
	JZ3s1rgofPyd1x5kpuP9VcJfAVpOyB2gKJs1D8P4O8QKHTVQ7yQ2Oy0zHQ/pWUS54LVVpF77UuS
	EOtyMXloxtyqoxiUzS1mNIqTqT41zA/4pUe5IthexrBUOQkRVCTKzjC2bAkcx0YnfPYCwwTj33D
	aPffX6+qdVah9QAi+5AWyLvAzMAuiAUrM7DRngZloi7M5nxLHsC9Al4FBAGyLh
X-Google-Smtp-Source: AGHT+IG5IHiiZqR6m8po0YRrtbVayMF7mZTnv7qq9u4khwK4QW2GK49pZuWAHuOhz722NIlAwbUCjA==
X-Received: by 2002:a5d:5f56:0:b0:3ed:f690:a390 with SMTP id ffacd0b85a97d-42704defec8mr16649023f8f.40.1761222390441;
        Thu, 23 Oct 2025 05:26:30 -0700 (PDT)
Message-ID: <a7df46ee-3153-4538-ae1c-ea4812e375a1@suse.com>
Date: Thu, 23 Oct 2025 14:26:28 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 3/5] vtd: Collapse x86 subdirectory
To: Teddy Astie <teddy.astie@vates.tech>
Cc: xen-devel@lists.xenproject.org, Jason Andryuk <jason.andryuk@amd.com>
References: <cover.1761209564.git.teddy.astie@vates.tech>
 <3e9e5ea80bb534b69bd315099da6b5d049852823.1761209564.git.teddy.astie@vates.tech>
 <63e5addb-d109-4c57-a94f-88968c6d9382@suse.com>
 <53649137-a6bd-485b-9499-7fbf429714b2@vates.tech>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <53649137-a6bd-485b-9499-7fbf429714b2@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 23.10.2025 14:23, Teddy Astie wrote:
> Le 23/10/2025 Ã  12:20, Jan Beulich a Ã©critÂ :
>> On 23.10.2025 11:12, Teddy Astie wrote:
>>> The x86 subdirectory was originally meant to split x86-specific logic from
>>> general VT-d code. Today, Xen only supports VT-d on x86 and the code actually
>>> implemented in this subdirectory isn't x86-specific (e.g ATS code is not x86
>>> specific).
>>>
>>> As ats.c is the only remaining file in this directory, and isn't x86 specific,
>>> move it up to vtd directory and remove the now empty x86 subdirectory.
>>>
>>> Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
>>> ---
>>> v2:
>>>   - reviewed commit description
>>>
>>>   xen/drivers/passthrough/vtd/Makefile        |  3 +--
>>>   xen/drivers/passthrough/vtd/{x86 => }/ats.c | 10 +++++-----
>>>   xen/drivers/passthrough/vtd/x86/Makefile    |  1 -
>>>   3 files changed, 6 insertions(+), 8 deletions(-)
>>>   rename xen/drivers/passthrough/vtd/{x86 => }/ats.c (97%)
>>>   delete mode 100644 xen/drivers/passthrough/vtd/x86/Makefile
>>
>> I should have remembered this when looking at v1 already: While some of your
>> other changes go farther (and hence are likely preferable), this one I'd rather
>> not see go in. I'd favor respective pieces of what's still pending from
>> https://lists.xen.org/archives/html/xen-devel/2024-02/msg00983.html. First and
>> foremost because ATS really is not only not x86-specific - it's not VT-d-
>> specific either.
> 
> CC-ing Jason Andryuk now reviewer of AMD-Vi code and likely interested 
> with https://lists.xen.org/archives/html/xen-devel/2024-02/msg00983.html 
> at least for the AMD part.
> 
> I wasn't aware of this pending series. And some of my patches overlap 
> with some of these ones, so I guess we need to complete it and then I 
> rebase mine on top of it.

It's going to be an intermix, I think. Your map/unmap changes are preferable
to mine, for example.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 23 12:49:50 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 12:49:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1149097.1480836 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBul9-0005eE-Vo; Thu, 23 Oct 2025 12:49:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1149097.1480836; Thu, 23 Oct 2025 12:49:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBul9-0005e7-T3; Thu, 23 Oct 2025 12:49:39 +0000
Received: by outflank-mailman (input) for mailman id 1149097;
 Thu, 23 Oct 2025 12:49: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
 <SRS0=oXKG=5A=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1vBul8-0005dw-FP
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 12:49:38 +0000
Received: from BL2PR02CU003.outbound.protection.outlook.com
 (mail-eastusazlp17011000f.outbound.protection.outlook.com
 [2a01:111:f403:c100::f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b8bf704e-b00e-11f0-980a-7dc792cee155;
 Thu, 23 Oct 2025 14:49:33 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by CH2PR03MB5301.namprd03.prod.outlook.com (2603:10b6:610:9d::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.13; Thu, 23 Oct
 2025 12:49:28 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9253.011; Thu, 23 Oct 2025
 12:49:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b8bf704e-b00e-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=LoswD2zGgnSVUddnm6f2cux1Jop16PFu4J5YWdP+gPV/W1wH7AFhvwW2KPLHXD7JKKpvXAgjnBCNtC8dNLZI5mio4lEEdq6hy1Iac7qM6HqWfq+yPVPeFBUW4XwgjZ0lYuC1V9Cr+kIN0PAPMYdP9+/xfKyZ2f6ndKttETCMjM6lUOlRYjbc+NCLuoH2w5Nruf7heFZQ3moOzmIDKAFn6om/IYNMOMc5UE4hT6ifiW1qKFx8ehcTTwRaloHUflWNgNqjcuYT3yr5F+crkZ8nmS3E+/aTGcVPqnTwozrA6eS2glY8RfRfmwxmpr73UGvjRt+1VVcQZYZODdST1y2J9w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jT07Q4pCbhQZlbFA7p7ZVwTicpcsFxE/NAEh+ocixTQ=;
 b=PY5hdaSmn0U9qgWylbgTjTE0+ZZLTTtqniVmCCgkZEwP/u3aucFO90Cu4i5/ylUA6xg0FIa1YZ6H/JCw8IB8d5NOIuz0GOztOU2Xq4/A5HRm5DXhvH26tcvNv5Usz6qTnV9uuldzl5A1CJp0Ao+8VbgaXaC6MPP72KCxDJqio1IhrfY9Q7fY7Ho8bdhNDif23Cwok8bnqxOcNaJRkvH8Zc6eO5rcc1Xex319wZu8Qy/WS5PHwrh+MZ7l73I+Ej9sMpSwackyoNWa2GZ8I8lySCBLm74iUOS6xcoNfMV536heFgDBLu600xYWtEacfexnIe9ROvh9X9Ej1HM6mxw90g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jT07Q4pCbhQZlbFA7p7ZVwTicpcsFxE/NAEh+ocixTQ=;
 b=sVY9J9gf2AvRm/JIt8hStoaR79FtdKaU47uhzWlzwdNqllBztb2WQ7eK6aW3t7CVq46iiSz8kBl23PSnQ48ihSnLKiTVSEtOB/ZJDDt2AGWQvL6q6PEcHDNj3p6Pfbv0NKWf9jgNoIJC9dG0GCbxLGlNgswe/RZyfBVJC2mniH4=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 23 Oct 2025 14:49:24 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH v2 for-4.21 2/9] x86/HPET: use single, global,
 low-priority vector for broadcast IRQ
Message-ID: <aPokVBHr760Zixcs@Mac.lan>
References: <b66ea488-2d47-472c-9520-8590fdf89e0e@suse.com>
 <c8c124c4-71c5-41e7-8d84-fd45ffd6af14@suse.com>
 <aPZh3Y8W4QcV_oLs@Mac.lan>
 <7128bbb5-d099-4584-8cd0-bfeec49b3e55@suse.com>
 <aPePepQk3t6gxMR1@Mac.lan>
 <16d62ac6-6666-4bad-be59-324cec634a20@suse.com>
 <aPnpvtXOoYSXXsT-@Mac.lan>
 <47c1fb5e-abd5-40a8-b581-be8494be3861@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <47c1fb5e-abd5-40a8-b581-be8494be3861@suse.com>
X-ClientProxiedBy: MA3P292CA0015.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:2c::11) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|CH2PR03MB5301:EE_
X-MS-Office365-Filtering-Correlation-Id: 0725962f-97b3-4990-e924-08de12329a2c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?czE1Q0ZPZnN4cmVrVU5jSDM4ZVNEbmlRWllobE5Wbk10WGdVcGRpb2ZXRkpa?=
 =?utf-8?B?WDU5VU9NY0NBSHlCc2JtV3B1U0Z5R2pvbi9MazZzVG44YVJqbkVYVHFXcm9o?=
 =?utf-8?B?U1FhL2tCUHNJQVo1cTFReWV5MmpKeWc4UE5OOERXREh2ZElDdTVPUk5jTlFM?=
 =?utf-8?B?dUdXVXNaclZNY0lpV2txOXd6dTlNYVVHWU5lUy9Fd1F2QmVYV3dONG0yNFU1?=
 =?utf-8?B?REJ1VnhGOVJHQlZuSXF6NVB2RjBZY1Z6UWFCZWRSaUVpYjgwL1duWCtzSkNU?=
 =?utf-8?B?SFp3RUd3NHpkM3VOVSt1NU1DYitHYXZnUldrWTVOMTU4bFRtUW9CRDFOcVNC?=
 =?utf-8?B?WEZTTnVRTEFUZzBGQWFsWGZxT1crTzhRYWtSN3hnSytSN210Rlo2RXpFMEdu?=
 =?utf-8?B?aHZReG1meVFNTWV1eStUaUJIcXhVNHYrQzhiY2hIU241TlZXNTBtQVhDRGJG?=
 =?utf-8?B?NHROcU9vUEpHWm03L1pOQzQxalNaMUFJZ1hkcFBlemZLd2s3cWc4WVJTc1Vj?=
 =?utf-8?B?bG1USllmWDNDL3MrYXZ6NzJqVTNYd0FuYlY4d05HeWV6OHJTclNobVVPRXpV?=
 =?utf-8?B?YnNBTG4vMy9vV0lhSldZYTZqOENHNUdOaExLM2xNUzZGWnBkalpxSGtpd0x5?=
 =?utf-8?B?eE13cSs0OU80UGN6U1VYZW1UMWpUTFowVlFUNGFBaFJMNm5OMVk0Qlp3MnRs?=
 =?utf-8?B?TTFQMXJvOVB6TUg0V0tHbjdBd3dyUGtSdzlqTEV3Y2VMVGZxZ0d5Z0lIM1Fi?=
 =?utf-8?B?elQxZmRGVjh6YUxkVXZHaFpPR0k2aW5QY0FaVUpydTRBREZDTlVMQzhYcm8v?=
 =?utf-8?B?b3N3Rm9sZjVNMTE5SkVsT0ZWSGpKc1d4aVhUNXptRzRDTTZ2enQzbmJPTG4v?=
 =?utf-8?B?bnpjTUtxNlJqU1F0UzFqNlJXV29selVlZU1TMG4xTkV4bnl2c08ySHBZdm5i?=
 =?utf-8?B?cnFZRTM2Q29pMXYxWHVpZkJKMUZkQ0RINlJJaVJmalNVZmJLZU1pRVdDelZw?=
 =?utf-8?B?VEZqbkNJVWJhQnVnYTR1dDNjbzBlZ0VvZjAva3ZUL2Rmb2ZQbnNseWxQRHdo?=
 =?utf-8?B?WDR2WXNDWjZTUXRaQlV0RVBxUCtoWXBCM2FHcTJKUENkM2FzNjFoUVJHanVj?=
 =?utf-8?B?ekdGeVVZVG90U2g3TmFVYjJCUGI2eWlWUEZXWkJ1cDQ4ZGU5bi9VWktwSTlQ?=
 =?utf-8?B?ai8zOE1VOWR2UEFuMkxyWFluc01MVlRLL2hSTmVZVFA0dmlyL0hJYmRUUS90?=
 =?utf-8?B?UXZlVExQQWUySDhHNjBiYWFwZzNzTGQvL2F5cFltdzdQOG1uVXBBY29PQmtX?=
 =?utf-8?B?OTZ0L0NGU1JaeE9hdE1aQk95UFd0bGRDenRqa29MemRROGVrOVdFQ2UxSHJr?=
 =?utf-8?B?QXJGQjU4UWhSOTJQcUp5MGR1aTBlS0hxUzJtYUFDYzhTdkJxOGdvM1VOeGhk?=
 =?utf-8?B?VHdHb2VoR0ZIMlBiTTRFSGEvMTQ1K2xyTmNWeDRoUW44RVdoR1FwaUVpRmNh?=
 =?utf-8?B?clg1RGVCbk11WjRrVFRGa1hZY2VFY3FDS21mallUcVpPL3BSNHl1a2JDMmwv?=
 =?utf-8?B?blNISDZSOE4wY1N6UmhTaTZCcUZ6M3JHb0ovMkx3c0xYVWc5dFgzRVBCWVRV?=
 =?utf-8?B?SC9xYXFoM2Q0eGJWMnFkMGVRQTNFY1ZlVzNJZEVESGUzU01FK0lKblhSVjBF?=
 =?utf-8?B?UFNpSDZvQTFENzFEbTNXcVJqa3R1UnM4RHUzRXZBaDI0WS9keVYyNzhxa2ow?=
 =?utf-8?B?NEhrOFJqUVpqSnBzblg1aVB4aE5HRmlxbTB2VnYreHdOMk12OGczdnpxK014?=
 =?utf-8?B?TkpIbzlrREFQSFJuSGIvSjNwalVVYUx2K0pQd21rZG9qdzJoc3dsVFVoVlFM?=
 =?utf-8?B?cmRWam1VSXVlQUVKemZHTzhtdVk4SFFISzduZ1VDWHlYaVpsUnRPenJUeVlk?=
 =?utf-8?Q?tQvih1kXC1DU4SK4S8JBl5ncEgPyMWkA?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UnJmbjIwaUtWa245aVlyRzhLWFlXdU5qdEQ0d2tYcmowcjMzRk5CaDN4WWhl?=
 =?utf-8?B?N3pybkk2MndNOTB1NzlVUFdSdHNVSExTZ0FPc1dPUWNGdy92dEV5aUpNUXBJ?=
 =?utf-8?B?ckFKM1lEcmpVRUsxNFVWRmorMWc4SW1ESWdkb2c3eXNvZW5Gcjhnc3oveVUw?=
 =?utf-8?B?Ri9tRnpJQUdCRUtGVzViQUVKbFVlWkV3aklNZnhXVEhsOS9iUytGa2NCYWg4?=
 =?utf-8?B?cVpTMzA1YVJVWjF5U0wrTUlpTlNWQUV2dzF6ZlQxRVd6T3JuOVExVlorTXhI?=
 =?utf-8?B?Z1RncTdTZTJDWU5YVGhJR2s3K2g5YUZuOXY4QkVNQ0d1QlljcCtHbE8rTWYy?=
 =?utf-8?B?d21DRHpTaUs2T0w5Skg4WHNFMUFqaXlwZyt6WkRGYkNvTjFWRW41b2tFNTVt?=
 =?utf-8?B?MlNZQnhNNllzMXRxU2xnM3ozMmFjQnhXc1JieFpkOVl5RTJlRmZrNDU1ajVB?=
 =?utf-8?B?L2tyUTZIdm1NTG56eUcyR3JSNFVvYUlHbDJ2YThyRlo0RktNNnVVZ2E3bERU?=
 =?utf-8?B?Z3N6NnlnTk9Dc1JGYkd4N0pvRzVQREZJYTRRVE55aEpqdWxPbllzWjlXRWl1?=
 =?utf-8?B?VExSLzBjWTVZRDczNGY5cU9SRG9nbzF0eGlZYmFkSlV1dzE2REN6bHl3bWJ4?=
 =?utf-8?B?TUY2KzBKTEJZZitFekE5NTA4TzA1Rk5PQmVZQWFpNVZNVERYRHBQazRaOXpz?=
 =?utf-8?B?dm5WSjdBeTJPSDZDdG9TUmlRL3JUR3oyN0FrUGladHNvQ2VvRWFWemZEalgz?=
 =?utf-8?B?T3FsVlF0RDhNYi9tWnR0YTNOWm9VSWdIZi9WWFY4QTFGWjhpbjFBN2trOWZi?=
 =?utf-8?B?SThvY3dSQnVpYjdvK2RQb2lXL3IvdUJGNXNqU1dsWUY3YVhvYXpuK0VaUlZ3?=
 =?utf-8?B?Z1pZYXprRmdSTXBEWnRuMnd2Zm9aNHNST2JuVnFnYzhFZ2hRRVNvYnhPaUQ5?=
 =?utf-8?B?aTNTRjJwV0hsSWlXbnBsQ1U2UzNNYmJndzZNRU5OUkdxQjdxQ0hvcURhNlZJ?=
 =?utf-8?B?SEJ6TXpMRFhQclVYenVON3BCWFZDRjc1TmcxY0hSaGFEc2dCaUs2T0o5RE9t?=
 =?utf-8?B?MzFtMXdUWU5MVnVoYlhwRHMvNE9vNDRQQ2NHTkZTeFdOeHVWWTlIR0NHeFVN?=
 =?utf-8?B?TUNaaklNN24rZnZpVHRld2JQT3V2M0hPTlVGZ1BmY0YwNko1Y0ZhK0xLelh2?=
 =?utf-8?B?eWVsOVZwL3lHdm5KZ2g3MHFZdGlyUFlCUUNlaGxZZ3hPQXB4KzVpMEJNOTJG?=
 =?utf-8?B?YXI4a3FmTnZnRUovMk0xZ0Z3Ty9OQ0lhWlBCNWE0YmpLeW0zMGw3T1JXekJz?=
 =?utf-8?B?UlpDZGpDcnE1bDBWd2Y0Tjl6cmVUL2VTOENEYTJjeW5nOS9zem9vbXpsWkM1?=
 =?utf-8?B?NElHdUN4K2VhLzFIcjhvek9rQUhacU1RSDIrdUpLeXNzcHVrOStQY1Bqd3V1?=
 =?utf-8?B?S2ZTNlhiM0F5czNUTUlVTDYycnB4dEd4MVRQclFCMUhoUld4bkp4NU4yaFRV?=
 =?utf-8?B?WlhWNDZhM0JaK2hsUXlpYmZ4QUNzVEdzRDg5Z1VtTnl4OFZRY3BXL0xmS2RZ?=
 =?utf-8?B?TE9TVGg2aGxsS0tXTnVCRlc3NlcveVQyditmdmtKNW9MOXFqY1ZLbllQQkN2?=
 =?utf-8?B?S3dlNnNTMDc0bjlPL1o3NERuNlY5Q3d5VEpySlNQbDNHekY4NmZ3d0tyb3JF?=
 =?utf-8?B?cW54OUFHb1RTek5OQXVUVkM0dU9jWnR5b2hsM2l2YTJNU250THI4Mkg2eERI?=
 =?utf-8?B?Z3dNUnhwU3JQbHZvSHQ4ZWpRMjlBNFFGM25aQTRjQ1JjdlJGTk8xcjB1Z3dr?=
 =?utf-8?B?VnRDUU5vQXFUSUhYZjEzcXkrMmx1bUJHL1FSbVNiZ1R3akZrOUlWVStwV1JZ?=
 =?utf-8?B?ZGlLMlV2cmpuSGxmanJpVXA5emZYajdQOFZiRHZ3d2xEbEltTDRQLzFFV2F2?=
 =?utf-8?B?d09XTFIwb0E3aWdiMS84YWM0Yy9uMCt3RmNDL3N1aEJEMjlyb3FEYWZQSDRw?=
 =?utf-8?B?MFc1b0tJbzVLZVBzSzJ5TnFtUFBJZXE2UUNNQXBtSjMraDdvYi9qSFVLVXlE?=
 =?utf-8?B?bXBVN2tMK01oaHNvYlJrZGUvVVQyWnU3UEU5dWZ4SktBckNVeTd2WjJYOEFv?=
 =?utf-8?Q?JfDgSS98LtILij/SGh2XxoQk5?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0725962f-97b3-4990-e924-08de12329a2c
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Oct 2025 12:49:28.4066
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Sc9cSzvLAp7MAZlqkqUew9yl3g5ebVQb+Y4NxsR9KPIxQHuQT6D8j0yhPKWfc0MLZmENz3vZDsboc7wEaTbfSw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR03MB5301

On Thu, Oct 23, 2025 at 12:37:22PM +0200, Jan Beulich wrote:
> On 23.10.2025 10:39, Roger Pau MonnÃ© wrote:
> > On Wed, Oct 22, 2025 at 11:21:15AM +0200, Jan Beulich wrote:
> >> On 21.10.2025 15:49, Roger Pau MonnÃ© wrote:
> >>> On Tue, Oct 21, 2025 at 08:42:13AM +0200, Jan Beulich wrote:
> >>>> On 20.10.2025 18:22, Roger Pau MonnÃ© wrote:
> >>>>> On Mon, Oct 20, 2025 at 01:18:34PM +0200, Jan Beulich wrote:
> >>>>>> @@ -476,19 +486,50 @@ static struct hpet_event_channel *hpet_g
> >>>>>>  static void set_channel_irq_affinity(struct hpet_event_channel *ch)
> >>>>>>  {
> >>>>>>      struct irq_desc *desc = irq_to_desc(ch->msi.irq);
> >>>>>> +    struct msi_msg msg = ch->msi.msg;
> >>>>>>  
> >>>>>>      ASSERT(!local_irq_is_enabled());
> >>>>>>      spin_lock(&desc->lock);
> >>>>>> -    hpet_msi_mask(desc);
> >>>>>> -    hpet_msi_set_affinity(desc, cpumask_of(ch->cpu));
> >>>>>> -    hpet_msi_unmask(desc);
> >>>>>> +
> >>>>>> +    per_cpu(vector_irq, ch->cpu)[HPET_BROADCAST_VECTOR] = ch->msi.irq;
> >>>>>> +
> >>>>>> +    /*
> >>>>>> +     * Open-coding a reduced form of hpet_msi_set_affinity() here.  With the
> >>>>>> +     * actual update below (either of the IRTE or of [just] message address;
> >>>>>> +     * with interrupt remapping message address/data don't change) now being
> >>>>>> +     * atomic, we can avoid masking the IRQ around the update.  As a result
> >>>>>> +     * we're no longer at risk of missing IRQs (provided hpet_broadcast_enter()
> >>>>>> +     * keeps setting the new deadline only afterwards).
> >>>>>> +     */
> >>>>>> +    cpumask_copy(desc->arch.cpu_mask, cpumask_of(ch->cpu));
> >>>>>> +
> >>>>>>      spin_unlock(&desc->lock);
> >>>>>>  
> >>>>>> -    spin_unlock(&ch->lock);
> >>>>>> +    msg.dest32 = cpu_physical_id(ch->cpu);
> >>>>>> +    msg.address_lo &= ~MSI_ADDR_DEST_ID_MASK;
> >>>>>> +    msg.address_lo |= MSI_ADDR_DEST_ID(msg.dest32);
> >>>>>> +    if ( msg.dest32 != ch->msi.msg.dest32 )
> >>>>>> +    {
> >>>>>> +        ch->msi.msg = msg;
> >>>>>> +
> >>>>>> +        if ( iommu_intremap != iommu_intremap_off )
> >>>>>> +        {
> >>>>>> +            int rc = iommu_update_ire_from_msi(&ch->msi, &msg);
> >>>>>>  
> >>>>>> -    /* We may have missed an interrupt due to the temporary masking. */
> >>>>>> -    if ( ch->event_handler && ch->next_event < NOW() )
> >>>>>> -        ch->event_handler(ch);
> >>>>>> +            ASSERT(rc <= 0);
> >>>>>> +            if ( rc > 0 )
> >>>>>> +            {
> >>>>>> +                ASSERT(msg.data == hpet_read32(HPET_Tn_ROUTE(ch->idx)));
> >>>>>> +                ASSERT(msg.address_lo ==
> >>>>>> +                       hpet_read32(HPET_Tn_ROUTE(ch->idx) + 4));
> >>>>>> +            }
> >>>>>
> >>>>> The sequence of asserts seem wrong here, the asserts inside of the rc
> >>>>>> 0 check will never trigger, because there's an ASSERT(rc <= 0)
> >>>>> ahead of them?
> >>>>
> >>>> Hmm. My way of thinking was that if we get back 1 (which we shouldn't),
> >>>> we ought to check (and presumably fail on) data or address having changed.
> >>>
> >>> Right, but the ASSERT(rc <= 0) will prevent reaching any of the
> >>> followup ASSERTs if rc == 1?
> >>
> >> Which is no problem, as we'd be dead already anyway if the first assertion
> >> triggered. Nevertheless I've switched the if() to >= 0 (which then pointed
> >> out a necessary change in AMD IOMMU code).
> > 
> > Right, so and adjusted if condition plus an ASSERT_UNREACHABLE() at
> > the end of the if code block?
> 
> That is, instead of
> 
>             ASSERT(rc <= 0);
>             if ( rc >= 0 )
>             {
>                 ASSERT(msg.data == hpet_read32(HPET_Tn_ROUTE(ch->idx)));
>                 ASSERT(msg.address_lo ==
>                        hpet_read32(HPET_Tn_ROUTE(ch->idx) + 4));
>             }
> 
> you'd prefer
> 
>             if ( rc >= 0 )
>             {
>                 ASSERT(msg.data == hpet_read32(HPET_Tn_ROUTE(ch->idx)));
>                 ASSERT(msg.address_lo ==
>                        hpet_read32(HPET_Tn_ROUTE(ch->idx) + 4));
>                 ASSERT_UNREACHABLE();
>             }
> 
> ? That's wrong though (for rc == 0), i.e. I fear I don't see what you mean.

Oh, I see, sorry for the suggestions, it's indeed wrong.  FTAOD, what
do you plan to use then here?

You could replace the ASSERT_UNREACHABLE() for ASSERT(rc == 0) in my
suggestion I think?

Or maybe just do:

ASSERT(rc <= 0);
if ( !rc )
{
    ASSERT(msg.data == hpet_read32(HPET_Tn_ROUTE(ch->idx)));
    ASSERT(msg.address_lo ==
           hpet_read32(HPET_Tn_ROUTE(ch->idx) + 4));
}

Was your original intention with those checks to ensure that for the
rc == 0 case the message fields remained unchanged?

> >>>  IOW, we possibly want:
> >>>
> >>>             if ( rc > 0 )
> >>>             {
> >>>                 dprintk(XENLOG_ERR,
> >>>                         "Unexpected HPET MSI setup returned: data: %#x address: %#lx expected data %#x address %#lx\n",
> >>>                         msg.data, msg.address,
> >>>                         ch->msi.msg.data, ch->msi.msg.address);
> >>>                 ASSERT_UNREACHABLE();
> >>>                 hpet_msi_mask(desc);
> >>>                 hpet_write32(msg.data, HPET_Tn_ROUTE(ch->idx));
> >>>                 hpet_write32(msg.address_lo, HPET_Tn_ROUTE(ch->idx) + 4);
> >>>                 hpet_msi_unmask(desc);
> >>>             }
> >>>             ASSERT(!rc);
> >>
> >> To be honest, for my taste this goes too far as to what follows an
> >> ASSERT_UNREACHABLE().
> > 
> > I can understand that.  It's the best way I've come up with attempting
> > to recover from a possible error in the release case, but I don't
> > particularly like it either.
> > 
> >>> I'm unsure about attempting to propagate the returned values on release
> >>> builds, I guess it's slightly better than possibly using an outdated
> >>> RTE entry?  Albeit this should never happen.
> >>
> >> Yes to the last remark; I don't actually see what you would want to do
> >> with the propagated return value.
> > 
> > OK, I can this this not being clear.  By propagate here I mean
> > propagate to the hardware registers, not to the function caller.
> 
> I.e. you still think adding the two hpet_write32() is going to be useful?
> The mask/unmask, as I did say in another reply to your comments, isn't
> useful here anyway (for already not being atomic), so I wouldn't see much
> sense in having them.

Right, for it to be correct the masking would need to include the
iommu_update_ire_from_msi() call also.

> Plus of course we'd want to avoid the writes on
> release builds if the values actually match, i.e. the construct would then
> rather end up as two if-mismatch-then-write-else-assert-unreachable ones.

My concern would be that after this change we won't cope anymore with
iommu_update_ire_from_msi() returning a value > 1.  Which might be
fine, as it's in theory not possible, but seems less robust than it
was before the change.  I guess it's the price to pay for avoiding the
masking (unless you have other options).

Looking at the existing code is likely no worse than when
iommu_update_ire_from_msi() returning an error, and that case is
already silently ignored by hpet_msi_set_affinity().  So I think
silently ignoring > 0 is not that different, and doesn't make the
current handling much worse.  It would be nice to handle those better,
but can be done separately.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Oct 23 13:30:35 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 13:30:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1149118.1480845 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBvOY-0003KS-4B; Thu, 23 Oct 2025 13:30:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1149118.1480845; Thu, 23 Oct 2025 13:30:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBvOY-0003KL-1Q; Thu, 23 Oct 2025 13:30:22 +0000
Received: by outflank-mailman (input) for mailman id 1149118;
 Thu, 23 Oct 2025 13:30:21 +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
 <SRS0=imNL=5A=bounce.vates.tech=bounce-md_30504962.68fa2de5.v1-32ac75dc8df34429bf4e588d5e23033d@srs-se1.protection.inumbo.net>)
 id 1vBvOW-0003KD-RQ
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 13:30:20 +0000
Received: from mail132-22.atl131.mandrillapp.com
 (mail132-22.atl131.mandrillapp.com [198.2.132.22])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6859c569-b014-11f0-980a-7dc792cee155;
 Thu, 23 Oct 2025 15:30:15 +0200 (CEST)
Received: from pmta09.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail132-22.atl131.mandrillapp.com (Mailchimp) with ESMTP id
 4csn2s4g0MzGlt2LG
 for <xen-devel@lists.xenproject.org>; Thu, 23 Oct 2025 13:30:13 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 32ac75dc8df34429bf4e588d5e23033d; Thu, 23 Oct 2025 13:30:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6859c569-b014-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1761226213; x=1761496213;
	bh=C3MUkLbc658lXkU5bJ8t2d23wVFkcki+lvsa95Pzq8I=;
	h=From:Subject:Message-Id:To:Cc:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=AowSXASw0DzhNfyQBOGPlAeZmgEc0Jp2oG0LLU30576h2P0K/YXF8lcaMItxvKHHt
	 YK7ySbZfE0xwVIGKDtbEroenAYDZ8XZWg6rhbyO6BeL+UgV72HOm58xepeBTxAeMOQ
	 wqQ3USqnMAWrowc7vlGBe+a5ODcSc2YdQmNAK7d4fxvZZkFmUDIJ/+MKqdBcX7IZze
	 a6vPh0EuE0T/uUaaUkNP7LBo19U1/5c+VZ67rT9fj3TLElKpxo+jO1DJDD3NeZsnr4
	 BDq7m02l/jbjSUOpoJTqJd4KPJ7WRNWvu9CqphHYxRz0Tl/eZcRpOg5c5ZOUPN3/aF
	 /FFgkfjsaf2FA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1761226213; x=1761486713; i=teddy.astie@vates.tech;
	bh=C3MUkLbc658lXkU5bJ8t2d23wVFkcki+lvsa95Pzq8I=;
	h=From:Subject:Message-Id:To:Cc:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=EPfbz4Llz4QNUNOm3/+Bxp2vlvStddX00SNmmvDbFsR4xZisAMKic2RyMpuGkQLej
	 KyGjibiSAYPXqpjjO1d8uJuVcaYSZBCsIj9K5382/eKwRtuwesSPqdlLHNQnxqqsnJ
	 7sp4ZfDBa0cr+Fi945WwVVrybsFJdj11FXS0rk7e+PL7YrwSADcRVfHgWN21aZp+TR
	 iFhb43SPawvfASOODiZqULV387s6D9IiCQNGxydGwWYPoR0RMpxw+hs7J4PCoRtpQm
	 E67pHMJFrsYUk1o+YJ1lKvN7T+bw429lJNFFumBcPPKaNwFRMsgrDRT1sD8ZlI4nHB
	 4dnj0zEoFpdCQ==
From: "Teddy Astie" <teddy.astie@vates.tech>
Subject: =?utf-8?Q?Re:=20[PATCH=20v2=2006/12]=20VT-d:=20respect=20ACPI=20SATC's=20ATC=5FREQUIRED=20flag?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1761226212719
Message-Id: <61df4103-7969-4f06-ad0f-374c17195653@vates.tech>
To: "Jan Beulich" <jbeulich@suse.com>, xen-devel@lists.xenproject.org
Cc: "=?utf-8?Q?Roger=20Pau=20Monn=C3=A9?=" <roger.pau@citrix.com>, "Andrew Cooper" <andrew.cooper3@citrix.com>
References: <64b028be-2197-4951-ae5b-32f9eabfa84a@suse.com> <e98daa41-c6b6-4f4e-b41d-84006011068d@suse.com>
In-Reply-To: <e98daa41-c6b6-4f4e-b41d-84006011068d@suse.com>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.32ac75dc8df34429bf4e588d5e23033d?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20251023:md
Date: Thu, 23 Oct 2025 13:30:13 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Le 23/10/2025 =C3=A0 15:14, Jan Beulich a =C3=A9crit=C2=A0:
> When the flag is set, permit Dom0 to control the device (no worse than
> what we had before and in line with other "best effort" behavior we use
> when it comes to Dom0), but suppress passing through to DomU-s unless
> ATS can actually be enabled for such devices (and was explicitly enabled
> on the command line).
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> v2: Re-base over new earlier patches.
> 
> --- a/docs/misc/xen-command-line.pandoc
> +++ b/docs/misc/xen-command-line.pandoc
> @@ -225,7 +225,11 @@ exceptions (watchdog NMIs and unexpected
>   > Default: `false`
>   
>   Permits Xen to set up and use PCI Address Translation Services.  This i=
s a
> -performance optimisation for PCI Passthrough.
> +performance optimisation for PCI Passthrough.  Note that firmware may in=
dicate
> +that certain devices need to have ATS enabled for proper operation. For =
such
> +devices ATS will be enabled by default, unless the option is used in its
> +negative form.  Such devices will still not be eligible for passing thro=
ugh to
> +guests, unless the option is used in its positive form.
>   
>   **WARNING: Xen cannot currently safely use ATS because of its synchrono=
us wait
>   loops for Queued Invalidation completions.**

Do we want to address the warning before attempting to unconditionnaly 
enable ATS in these scenarios ? A unstable hypervisor is likely worse 
than a non-functionning device to me.

Or at least log a warning that ATS is enabled due to a device requiring it.

> --- a/xen/drivers/passthrough/vtd/dmar.c
> +++ b/xen/drivers/passthrough/vtd/dmar.c
> @@ -253,6 +253,24 @@ struct acpi_atsr_unit *acpi_find_matched
>       return all_ports;
>   }
>   
> +const struct acpi_satc_unit *acpi_find_matched_satc_unit(
> +    const struct pci_dev *pdev)
> +{
> +    const struct acpi_satc_unit *satc;
> +
> +    list_for_each_entry ( satc, &acpi_satc_units, list )
> +    {
> +        if ( satc->segment !=3D pdev->seg )
> +            continue;
> +
> +        for ( unsigned int i =3D 0; i < satc->scope.devices_cnt; ++i )
> +            if ( satc->scope.devices[i] =3D=3D pdev->sbdf.bdf )
> +                return satc;
> +    }
> +
> +    return NULL;
> +}
> +
>   struct acpi_rhsa_unit *drhd_to_rhsa(const struct acpi_drhd_unit *drhd)
>   {
>       struct acpi_rhsa_unit *rhsa;
> --- a/xen/drivers/passthrough/vtd/dmar.h
> +++ b/xen/drivers/passthrough/vtd/dmar.h
> @@ -112,6 +112,8 @@ struct acpi_satc_unit {
>   
>   struct acpi_drhd_unit *acpi_find_matched_drhd_unit(const struct pci_dev=
 *);
>   struct acpi_atsr_unit *acpi_find_matched_atsr_unit(const struct pci_dev=
 *);
> +const struct acpi_satc_unit *acpi_find_matched_satc_unit(
> +    const struct pci_dev *pdev);
>   
>   #define DMAR_TYPE 1
>   #define RMRR_TYPE 2
> --- a/xen/drivers/passthrough/vtd/iommu.c
> +++ b/xen/drivers/passthrough/vtd/iommu.c
> @@ -2364,6 +2364,26 @@ static int cf_check intel_iommu_add_devi
>       if ( ret )
>           dprintk(XENLOG_ERR VTDPREFIX, "%pd: context mapping failed\n",
>                   pdev->domain);
> +    else if ( !pdev->broken )
> +    {
> +        const struct acpi_drhd_unit *drhd =3D acpi_find_matched_drhd_uni=
t(pdev);
> +        const struct acpi_satc_unit *satc =3D acpi_find_matched_satc_uni=
t(pdev);
> +
> +        /*
> +         * Prevent the device from getting assigned to an unprivileged d=
omain
> +         * when firmware indicates ATS is required, but ATS could not be=
 enabled
> +         * or was not explicitly enabled via command line option.
> +         */
> +        if ( satc && satc->atc_required &&
> +             (!drhd || ats_device(pdev, drhd) <=3D 0 ||
> +              !pci_ats_enabled(pdev->seg, pdev->bus, pdev->devfn) ||
> +              opt_ats < 0) )
> +        {
> +            printk(XENLOG_WARNING "ATS: %pp is not eligible for pass-thr=
ough\n",
> +                   &pdev->sbdf);
> +            pdev->broken =3D true;
> +        }
> +    }

I don't feel pdev->broken is the right way for signaling ineligibility 
for passthrough due to policy (ATS required).
Especially if we eventually consider in the future allowing on a 
per-domain basis the ability to use ATS (starting with Dom0).

>   
>       return ret;
>   }
> @@ -2375,12 +2395,26 @@ static int cf_check intel_iommu_enable_d
>   
>       pci_vtd_quirk(pdev);
>   
> -    if ( ret <=3D 0 )
> -        return ret;
> +    if ( ret <=3D 0 ||
> +         (ret =3D enable_ats_device(pdev, &drhd->iommu->ats_devices)) < =
0 ||
> +         opt_ats < 0 )
> +    {
> +        const struct acpi_satc_unit *satc =3D acpi_find_matched_satc_uni=
t(pdev);
> +
> +        /*
> +         * Besides in error cases also prevent the device from getting a=
ssigned
> +         * to an unprivileged domain when firmware indicates ATS is requ=
ired,
> +         * but ATS use was not explicitly enabled via command line optio=
n.
> +         */
> +        if ( satc && satc->atc_required && !pdev->broken )
> +        {
> +            printk(XENLOG_WARNING "ATS: %pp is not eligible for pass-thr=
ough\n",
> +                   &pdev->sbdf);
> +            pdev->broken =3D true;
> +        }
> +    }
>   
> -    ret =3D enable_ats_device(pdev, &drhd->iommu->ats_devices);
> -
> -    return ret >=3D 0 ? 0 : ret;
> +    return ret <=3D 0 ? ret : 0;
>   }
>   
>   static int cf_check intel_iommu_remove_device(u8 devfn, struct pci_dev =
*pdev)
> --- a/xen/drivers/passthrough/vtd/x86/ats.c
> +++ b/xen/drivers/passthrough/vtd/x86/ats.c
> @@ -45,8 +45,9 @@ int ats_device(const struct pci_dev *pde
>   {
>       struct acpi_drhd_unit *ats_drhd;
>       unsigned int pos, expfl =3D 0;
> +    const struct acpi_satc_unit *satc;
>   
> -    if ( opt_ats <=3D 0 || !iommu_qinval )
> +    if ( !opt_ats || !iommu_qinval )
>           return 0;
>   
>       if ( !ecap_queued_inval(drhd->iommu->ecap) ||
> @@ -61,6 +62,10 @@ int ats_device(const struct pci_dev *pde
>            !acpi_find_matched_atsr_unit(pdev) )
>           return 0;
>   
> +    satc =3D acpi_find_matched_satc_unit(pdev);
> +    if ( opt_ats < 0 && (!satc || !satc->atc_required) )
> +        return 0;
> +
>       ats_drhd =3D find_ats_dev_drhd(drhd->iommu);
>       pos =3D pci_find_ext_capability(pdev->sbdf, PCI_EXT_CAP_ID_ATS);
>   
> 
> 
>



--
Teddy Astie | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech




From xen-devel-bounces@lists.xenproject.org Thu Oct 23 13:57:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 13:57:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1149133.1480856 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBvob-0006Cw-07; Thu, 23 Oct 2025 13:57:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1149133.1480856; Thu, 23 Oct 2025 13:57:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBvoa-0006Cp-Sf; Thu, 23 Oct 2025 13:57:16 +0000
Received: by outflank-mailman (input) for mailman id 1149133;
 Thu, 23 Oct 2025 13:57: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
 <SRS0=hBmZ=5A=epam.com=dmytro_prokopchuk1@srs-se1.protection.inumbo.net>)
 id 1vBvoZ-0006Cj-J7
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 13:57:15 +0000
Received: from OSPPR02CU001.outbound.protection.outlook.com
 (mail-norwayeastazlp170130007.outbound.protection.outlook.com
 [2a01:111:f403:c20f::7])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2b14d19e-b018-11f0-980a-7dc792cee155;
 Thu, 23 Oct 2025 15:57:09 +0200 (CEST)
Received: from DB7PR03MB4140.eurprd03.prod.outlook.com (2603:10a6:5:34::10) by
 VI1PR03MB6238.eurprd03.prod.outlook.com (2603:10a6:800:13f::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.13; Thu, 23 Oct
 2025 13:57:05 +0000
Received: from DB7PR03MB4140.eurprd03.prod.outlook.com
 ([fe80::e16e:b655:974f:43f3]) by DB7PR03MB4140.eurprd03.prod.outlook.com
 ([fe80::e16e:b655:974f:43f3%4]) with mapi id 15.20.9253.011; Thu, 23 Oct 2025
 13:57:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2b14d19e-b018-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=COnYn1MliNsk2W+hbpPKYXBgOTGKPoOEpgStV8SE0SPxoM6T/zs5YLr7tCzMT0GxgIbRMi07EfZx740EiEBS8sHBd8BltaCzwqZW8c9InOlPvkBLg6rMZkghZN1YuoxGBD9fkk4v2Drtaue3y1Se+jJrvKVVVxP0Ihqzhlf0o9Y1DIyKHW7Ri9vmcmVL3aeXJaE0SJ1w0A2knezjpKWGae2OWRsvSSHkR8ZxM1fQWJjRO5SVBOF3YVJVWzUyPT//TNvwmuNQubGLyEXhaghEnbeq4YoZfo7HN65k6TaL1VRIUxt8ojC1X7OUf6rsBxnvoUsFtDqH7A15T/d7OFDSvA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=38o4BdJnOjDL7sfByaKkxBcCiR1+x8+EfHxbSYRpMzk=;
 b=mPFitM+cFXIXos4kkEb49cN5GbQUwuhsebZKJyWdroz6+SGP+QHON+zabyG8loEANF6UNvvm2rteRfgjc4WjFXSRLnyVSDywSsRHKF9GshDHGrPUT2qvum6Pk1bRTPiocIFkz6PAau9jJ8Cm9vaao6TGYUWbjnc/kWzvSsnH5jOlypomZc3gMYXxsuiGFrIPEOLgFQqYUyiZPernpSomXSy0JRRhNxVxUlx9mps6rqItIPy2k35D4dezNSZgnLVFI4i+Ns8A3al47mBeYGFfdh3Cjfp70iS6vQYJrwChY9VQVl+ARgqtPxbqiGv2rdXD+3p/Se0C6VejQZutYPawtg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=38o4BdJnOjDL7sfByaKkxBcCiR1+x8+EfHxbSYRpMzk=;
 b=N/sJwQwjQm4z5HYzght29LCDFqjCtUnmaziqhH+6ttGir7aTBwBtPuXG6q0jQjxZnI4y1RiXB/zekNj/tdrzk2s8DpZluM2kp6uS8Q4dbLXSF2y5N6eDqfjHuacMnpY40JXcMw95a9MNqPjJyWbBsSeL7DOJVVu3HwLai8BS+jl11oxLbt6L2dU3Q8OPadRDCWVIYUS3Im1n68nlvocj0J/td5cKRStkILFXuVIsSgNFjKoTLttKf0qcsLZssCe8QY80vM95p6fYXv0bxu74k2RExKvEM4hTkPB7lzMgvIEN52iNfVtsjiYSL8850TMm8RDSq8j7dXbGZ3hp01t57Q==
From: Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>
To: Jan Beulich <jbeulich@suse.com>, Nicola Vetrini
	<nicola.vetrini@bugseng.com>
CC: Doug Goldstein <cardoe@cardoe.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Andrew Cooper <andrew.cooper3@citrix.com>, Anthony
 PERARD <anthony.perard@vates.tech>, Michal Orzel <michal.orzel@amd.com>,
	Julien Grall <julien@xen.org>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v3] misra: consider conversion from UL or (void*) to
 function pointer as safe
Thread-Topic: [PATCH v3] misra: consider conversion from UL or (void*) to
 function pointer as safe
Thread-Index: AQHcPSX2fWa1eZv9x0mRzqs7fz2kjrTCvSwAgAMyXQCACZ3PAIAABnOAgAA7uwA=
Date: Thu, 23 Oct 2025 13:57:04 +0000
Message-ID: <9a09cbab-851c-46f1-8026-603a7cb9d79b@epam.com>
References:
 <0e72c83102668dfa6f14c4e8f9839b4a73d30b3d.1760458094.git.dmytro_prokopchuk1@epam.com>
 <ceedeefa-c506-41ca-9dfc-76937979caa9@suse.com>
 <321363444f9a3d3471bf1b3b2e020047@bugseng.com>
 <0767a5c4-6a2c-4ed0-92d3-f9f89313ad85@epam.com>
 <64411f5b-a826-48b6-9122-bf80ac377c7a@suse.com>
In-Reply-To: <64411f5b-a826-48b6-9122-bf80ac377c7a@suse.com>
Accept-Language: en-US, uk-UA, ru-RU
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DB7PR03MB4140:EE_|VI1PR03MB6238:EE_
x-ms-office365-filtering-correlation-id: 73f011cc-357b-4bb2-5c82-08de123c0c8a
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|366016|7416014|42112799006|376014|1800799024|38070700021;
x-microsoft-antispam-message-info:
 =?utf-8?B?RkR1cTJheXZjRkxNeGlmYjd6bFptbThSS1Zydm1OVVlxa0pRL3BvZUxIUjVO?=
 =?utf-8?B?bi9aZ201V29LQll5akZCNFBGTjVFRnQzUXArZTRlU21LcjdiNm9yOGRMYm5Y?=
 =?utf-8?B?WXoyMnlkM0E0NndBUEJaOVR6MHJmR0VCZlFuTWJQTTF1V2xNeXo4UURKNk9t?=
 =?utf-8?B?Vks0OHlaUG1pdzJFMlB1eXRia1dnQzZZMU1uVWJ1aWxnZFduVGxwSDF0NXlP?=
 =?utf-8?B?YWpvNHRBTmM5ZE9xRlQ3YkJBQzZyMXc1dVU1SHV4VXdvQ2tqaGdMM3JYdzBU?=
 =?utf-8?B?VWpXUzNMcUhjaTlqbk1oak56YTJHVkxPeERUY0FDcWVoY2pLTSs3Mll2ZWRt?=
 =?utf-8?B?WERmeHNyWFVFU2NtR3NOZ3MzZ25IeHBDc0E1OUVjaGN5M0dUcnVmYWorWE4x?=
 =?utf-8?B?YTFUWUl3MkVDeVkrMllzQmpaVCsxNE9IOEpGb2ZOeXc2TTJQM2tSRENzbnM0?=
 =?utf-8?B?N2pzZklQV3RvYlFIcnV3YnFBUTIvLzltL2tRRWhKd1hVZThwTE5uNDRNRUx1?=
 =?utf-8?B?UWRFdDlwYnB1ZiswNThmc3E5VUM1MTBUVG9ueWxUNEhsQjNhMzV5YmJxQ1BC?=
 =?utf-8?B?ZVhHalpEdzlsZDlLNGtncU5rUUp0bUxsbkpFTWNVRHJLU2Zma09ENk55eERB?=
 =?utf-8?B?Z2J0dGl6R1F6a3crQWFtS0psMzB5NnFXTHNmTW1weSt0dkpjMVF3emVZbm9r?=
 =?utf-8?B?Ylc3UDY1U2lJSjBvTGtET25Qak9BalB4dFBBNFNIQ0NSc3BRSGo1dERhWWxP?=
 =?utf-8?B?VnpDbW1UdFlic1JVMnBYRVJqTXpKL1gwNDRxM2E3dURoTG1va3FmV295R011?=
 =?utf-8?B?NWMxZEFXakZvdFdwMlMweTdVTThHbFhaampQUkFScWpjbEh2S3hEM0lrdXJZ?=
 =?utf-8?B?ekUwZlJ3VEVCZzM0aWM3L25kOUNEeEowQmQ4TUg0ZzU4bTBIRlh5MHNXM0d2?=
 =?utf-8?B?dXBTSEhUbTZMS0lwSFlUcnIvTVNuMXRySGRIODB0Vnd0MCszRWpWNlMyNGxl?=
 =?utf-8?B?RUVqUFVKaUMzNFVJWHdVVDZLaEFyQUovM2hGYnU3ODNXREFMYWQ3QTgrV2hp?=
 =?utf-8?B?OWhhbGpEbXBPZjVEUzRhY0w0NzBzMitCaks0aS96TGVwM0hrSkFIUmdZTk4x?=
 =?utf-8?B?TVdYeEU0V2U3bC9uc1dGZUtiN2pGQTJQZ1I2VTZVbkltR3FlWGVzODFobG1n?=
 =?utf-8?B?SEJkVncvajg1Zk5SbzE4T1luRmk3eEgvYUhtSjdFOHlhWnlBQ2dlZEdOdm1N?=
 =?utf-8?B?bU5MemdPeUdxQnh2Nzllc2gycUlyV0JGeWgrUVo0cUpJRHJNa2F3VUlOMFU3?=
 =?utf-8?B?cE9YTTZPN0FQckdCZkt5SlM4M2hLTWN2eTdheXdFOXU3cWorYUxRbzJqdDBz?=
 =?utf-8?B?aHQ2dkYyQ1pzNEIvTldzRlhoRWtLSUlERzJKQ3NKRnVBZUhka3VEVk5sUWth?=
 =?utf-8?B?d214a2NjMVl5K3o3OXFLaTJ2YWFVZE9ZK3JBT2t0VGEzU3ZzVFZsVEp3K0Fm?=
 =?utf-8?B?M3ZDTWMreEl2NWNSRWZwN2cwaGpDYjhZaGlZSi82MHlTRlR6b3grbUF3UjB5?=
 =?utf-8?B?N0Q3VFZpeThjSHVtMUduQ1hRd0V3dU5PY0N5Sm83SUE3czh0M3RwMDlUWk9u?=
 =?utf-8?B?STFKUzU3Lzk3Q0xXRFI0Z2NNRndJTVcxQ25WR09lQ0pGZUgxVlVVb0RXVGhi?=
 =?utf-8?B?by9YdmdhTTJOYzRqQit4aWJNYTR1RnpYL05mZEhTenpWS0p6TEZLV3BCUk1u?=
 =?utf-8?B?bGxBcHpzb29GWk9nUDFiQnFPaVdsdWdEWUlEaHk0MjMyVzFTWmdIa1V2Zk1n?=
 =?utf-8?B?QzN1VkVVV3k3YWpqNkh3SnU3WjkveU53aEJ3dVZPTjIyeDVyby9hUE4zZ09y?=
 =?utf-8?B?U3VuSzUyN05sRjdzYWN1dEdvbzhOdUNyRU83djNwS1FjS0ZMMWZubTNkWTdJ?=
 =?utf-8?B?UWQyTHNseXUzNTFHNXlvbmJHM3dqUkd0R1lTLzNGTm9PTDkrbFQyN1NGZXYr?=
 =?utf-8?B?alVSQkUzOFZzcVp2UHZHK3E0UGxvT1JEcnNodXdQekVwU1ZlZy9ZV2Jja01x?=
 =?utf-8?Q?FvuIZr?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB7PR03MB4140.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(7416014)(42112799006)(376014)(1800799024)(38070700021);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?N0xxeUlqaU5mMWRJbnRsU2dUNW5hYzlmM2pZakZtL0xIM004aTA4Q0J3cU5l?=
 =?utf-8?B?RTNiTTlOSGN6RHBvMHV0anFEb1dLeHYrNG5VY2FGUVZTWDdMazFZdEVLUjIx?=
 =?utf-8?B?SVpiZ3VlSUlybFZVK1BrWWZyODZYUEgxeUhrdEthZ0pjY0VLZ1RiY2h3Qk9u?=
 =?utf-8?B?czRnUnpFVDQzOUdiM0J6SUQ0NmpTbnNvdE4yaXQ0WS9DMHFiamNQeW5hWnJu?=
 =?utf-8?B?Tk1qWkNBZzdkWmlFZ0JOalJibFplaVhDU01qcjc3SzgvY0xHMXNUdDhLd2M4?=
 =?utf-8?B?UDFWaFBQOFh4dXlnSGpQVE1Gd3lsbm0zemViNkZxcXc3dGdmMEM4OHRCc2pY?=
 =?utf-8?B?Wk81a0pWcWNybFpyeGZKZ1lqTHdHZzhxUDdSUlRNcC9KZE03M0RVZDlPZTc4?=
 =?utf-8?B?b2RuQmY0cTd1aE9sZ2dJdS9OelRUTzdUUEs4L25vS3F4akRPUVFaOU5pNmFF?=
 =?utf-8?B?akJnOVlqUWs3Ym9aOEdYUlJ2UXBTWmQ4MG5zVWcxRjk5aElyak10NWRCWnF2?=
 =?utf-8?B?MytrOEsrWmdueTVidVZ6dXYxY1c0MHhTYlpCRTRuOFROS05rWlBCczhsZWdi?=
 =?utf-8?B?MGxwZ1Z2bGZCcmRjOUF6cThwWG14QnRIMUt4d1l5Y1lheWZvb2RKMDl4WGY0?=
 =?utf-8?B?cTQweHNNbjNGWXB2ZFlMSzhUVVlicHBpMmI3cUJXSk94M3J4QmFobFdpUU5v?=
 =?utf-8?B?MllmaGZobXRUVVNwekljbVBXalJIMUZ4Z0cvVUdZYTVUNU5zVlMwMnFkbThG?=
 =?utf-8?B?cFhsbFRQYlpMUEN5ZHNkZ1k2Si9XSk8vNGwvT2ZlOTRNeHpDdlFvUDZkRG5y?=
 =?utf-8?B?Q2FsUjdFRm9tRkw2Ykxtb2tMK29EZlhZMnFHWVpibWUzS3l1ZE5lYnRxWGVX?=
 =?utf-8?B?dnNURnBiUUFPaUtuRWxZanR4cFFXYTNrOUdMSXJYSGVFWkJ6QzBzTk8zS0xK?=
 =?utf-8?B?YTYyZy8xTVdLekFNRGRRYTM0Z3hPSS9lRk1lS0s2MFEzT2RLU1N2ZVhUbURv?=
 =?utf-8?B?a0JvVzhoOHVyNGQrenkvQmgyNTZaK0RSQmF2QVBSRVJraXF5S1V1WnpHdHNk?=
 =?utf-8?B?ZU1HelNUcWN4WFphcU1ERlJJK2tMam54TnFXNkwvVE41QVhGQi9VTG5lK2JF?=
 =?utf-8?B?K2pESG9Qb3VWbS9wUTNKT3N2M0QxL2tVYzZRNkZ6U1V4cStRbVNoaTRYdCt1?=
 =?utf-8?B?VnZRVU5teDZkdGlpWklSYjNFTTVtV3EreFhxZ3cyQ2Exd1h6Z2tYdWZoajdv?=
 =?utf-8?B?bnZvWEFuUmZYcDdMNkpHd3o0RlZsaGYvQXJiVFdvb3BlLzU3YUo0SU5jZnhk?=
 =?utf-8?B?TmxORnFLeDFuLzBaVDFDWVh1Qm9CTWV3N3I1RXhvcHpMMjIwUVo0UHZXdHVI?=
 =?utf-8?B?SUpRRUVjalJQZGdYSU1ld09ITHdNK1ZVWUxEYURyLzM5SUtCUVltN2QzV3Vq?=
 =?utf-8?B?ZGZwUlJnNThacUg5YXRlTEQ5azRpOUwwcUg2RDVha1Nuc0hLN3JNL1pwT1pm?=
 =?utf-8?B?SHkrcFU1OFduZDZkcW1YMkxEdjEzMnUxbjFLZDdOUjQzTzJGb0xFMy81TjlJ?=
 =?utf-8?B?K2RTODFOVzI4RHFwSUgzTDd3OWVObk9zM3VvOWl2dHVPUTNVUEthMER6OFRQ?=
 =?utf-8?B?bURsOGZnR000ekVNdENndXJtTE1XdnhHcWFpaVlUREpPRWVKZ3NvdFNzUlYr?=
 =?utf-8?B?SjNBRGRuUnBCQXFnYUNWSHZZU2lnTmovbm1IeFBTdVcwVmhPeFZCUGpKYWxV?=
 =?utf-8?B?bUJuckZNVUJCL3UrNlE3d1RqUTYxMUVieUNrWCszSmUzVEZFaWFFNU9zNFNy?=
 =?utf-8?B?M3N1a1U5RmkyV0lKd09IMXkzQVJKSGVsWjgxZVJ0QU5hd0lEbGpwUDVoWm5X?=
 =?utf-8?B?dEdyc0d6am5ja0ZiOGkvaG1mMmRuVzhRTERMUzQvWnNxRVEyejA0cXhPdmJN?=
 =?utf-8?B?Z0kxMjRjeU10V0x0Rm5zZkZzRXRxQklzQXY2WTNsdXh6Zm9OZlg0bFphM0kv?=
 =?utf-8?B?MW00VldmdWhoMjJQUkZZTWt0SnMxT0dmS2I3TzY2cTY5ekx1blU2a1VUdnN0?=
 =?utf-8?B?MU9rN1JSa2ErVHBSekh1M3hHNENVOXlMNnZCRFhGd0FpWGgwYm9JYnI4NHlU?=
 =?utf-8?B?WVduVTJlVW1tOHFDNzVJMEhoZmR1ZzFKVGVQa0E4dW9lSk1FQWQxUEVRTTRU?=
 =?utf-8?B?enc9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <874A5298B21DD1448B8248BCDB232401@eurprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DB7PR03MB4140.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 73f011cc-357b-4bb2-5c82-08de123c0c8a
X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Oct 2025 13:57:05.0296
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: Kj+KfU8nQF2j1Zs8Q4J5EefMFnNUSNeEh780hcEXLc4PJSsWuqxOaB9W5GGiiia6ArRUABbZxwTNY7sNNpN7YN0pUxymL9CWRxFNjLzx72I=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR03MB6238

DQoNCk9uIDEwLzIzLzI1IDEzOjIzLCBKYW4gQmV1bGljaCB3cm90ZToNCj4gT24gMjMuMTAuMjAy
NSAxMjowMCwgRG15dHJvIFByb2tvcGNodWsxIHdyb3RlOg0KPj4gT24gMTAvMTcvMjUgMTA6MDks
IE5pY29sYSBWZXRyaW5pIHdyb3RlOg0KPj4+IE9uIDIwMjUtMTAtMTUgMDg6MjAsIEphbiBCZXVs
aWNoIHdyb3RlOg0KPj4+PiBPbiAxNC4xMC4yMDI1IDE4OjE2LCBEbXl0cm8gUHJva29wY2h1azEg
d3JvdGU6DQo+Pj4+PiAtLS0gYS94ZW4vY29tbW9uL3ZlcnNpb24uYw0KPj4+Pj4gKysrIGIveGVu
L2NvbW1vbi92ZXJzaW9uLmMNCj4+Pj4+IEBAIC0yMTcsNiArMjE3LDIwIEBAIHZvaWQgX19pbml0
IHhlbl9idWlsZF9pbml0KHZvaWQpDQo+Pj4+PiAgwqAjZW5kaWYgLyogQ09ORklHX1g4NiAqLw0K
Pj4+Pj4gIMKgfQ0KPj4+Pj4gIMKgI2VuZGlmIC8qIEJVSUxEX0lEICovDQo+Pj4+PiArDQo+Pj4+
PiArI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5l
ZChfX2FybV9fKSB8fA0KPj4+Pj4gZGVmaW5lZChfX2FhcmNoNjRfXykNCj4+Pj4NCj4+Pj4gV2h5
IF9faTM4Nl9fPyBBbHNvIChuaXQpOiBMaW5lIHRvbyBsb25nLg0KPj4NCj4+IFdlbGwsIEkgY29w
aWVkIHRoaXMgbGluZSBmcm9tIFhlbiBjb2RlYmFzZSwNCj4+IGJ1dCB5ZWFoLCBfX2kzODZfXyBp
cyBvdXRkYXRlZCBub3cuDQo+PiBJJ2xsIHJlbW92ZSBpdC4NCj4+DQo+Pj4+DQo+Pj4+IEFuZCB3
aHkgdGhpcyByZXN0cmljdGlvbiB3aXRob3V0IGFueSBjb21tZW50IGhlcmUgb3IgLi4uDQo+Pj4+
DQo+Pj4+PiArc3RhdGljIHZvaWQgX19pbml0IF9fbWF5YmVfdW51c2VkIGJ1aWxkX2Fzc2VydGlv
bnModm9pZCkNCj4+Pj4+ICt7DQo+Pj4+PiArwqDCoMKgIC8qDQo+Pj4+PiArwqDCoMKgwqAgKiBU
byBjb25maXJtIGNvbnZlcnNpb24gY29tcGF0aWJpbGl0eSBiZXR3ZWVuIHVuc2lnbmVkIGxvbmcs
DQo+Pj4+PiAodm9pZCAqKQ0KPj4+Pj4gK8KgwqDCoMKgICogYW5kIGZ1bmN0aW9uIHBvaW50ZXJz
IGZvciBYODYgYW5kIEFSTSBhcmNoaXRlY3R1cmVzIG9ubHkuDQo+Pj4+DQo+Pj4+IC4uLiBleHBs
YW5hdGlvbiBoZXJlPyBNb3JlIGdlbmVyYWxseSAtIGhvdyB3b3VsZCBwZW9wbGUga25vdyB0byB1
cGRhdGUNCj4+Pj4gdGhlIGNvbmRpdGlvbiBpZiBhbm90aGVyIHBvcnQgd2FzIHRvIGJlIGNlcnRp
ZmllZD8NCj4+Pj4NCj4+Pj4gRmluYWxseSwgd2l0aCB0aGUgdjMgYWRkaXRpb24gaGVyZSwgaXMg
Tmljb2xhJ3MgUi1iIHJlYWxseSBzdGlsbA0KPj4+PiBhcHBsaWNhYmxlPw0KPj4+Pg0KPj4+DQo+
Pj4gSSBhZ3JlZSB3aXRoIHRoZSBwb2ludCB5b3UgbWFrZSBhYm91dCBpMzg2IChlLmcuLCBDLWxh
bmd1YWdlLQ0KPj4+IHRvb2xjaGFpbi5yc3QgbWF5IGJlIG1lbnRpb25lZCB0byBwcm92aWRlIHNv
bWUgY29udGV4dCBhYm91dCB0aGUNCj4+PiBwcmVwcm9jZXNzb3IgZ3VhcmQpOyB0aGF0IHNhaWQs
IG15IFItYnkgY2FuIGJlIHJldGFpbmVkDQo+Pj4NCj4+Pj4gSmFuDQo+Pj4+DQo+Pj4+PiArwqDC
oMKgwqAgKi8NCj4+Pj4+ICsNCj4+Pj4+ICvCoMKgwqAgQlVJTERfQlVHX09OKHNpemVvZih1bnNp
Z25lZCBsb25nKSAhPSBzaXplb2Yodm9pZCAoKikodm9pZCkpKTsNCj4+Pj4+ICvCoMKgwqAgQlVJ
TERfQlVHX09OKHNpemVvZih2b2lkICopICE9IHNpemVvZih2b2lkICgqKSh2b2lkKSkpOw0KPj4+
Pj4gK30NCj4+Pj4+ICsjZW5kaWYNCj4+Pj4+ICsNCj4+Pj4+ICDCoC8qDQo+Pj4+PiAgwqAgKiBM
b2NhbCB2YXJpYWJsZXM6DQo+Pj4+PiAgwqAgKiBtb2RlOiBDDQo+Pj4NCj4+DQo+PiBBbmQgcHJv
YmFibHkgdjQgY2FuIGhhdmUgdGhlIGZvbGxvd2luZyB3b3JkaW5nOg0KPj4NCj4+IC8qDQo+PiAg
ICAqIFRoaXMgYXNzZXJ0aW9uIGNoZWNrcyBjb21wYXRpYmlsaXR5IGJldHdlZW4gJ3Vuc2lnbmVk
IGxvbmcnLCAndm9pZCAqJywNCj4+ICAgICogYW5kIGZ1bmN0aW9uIHBvaW50ZXJzLiBUaGlzIGlz
IHRydWUgZm9yIFg4NiAoeDg2XzY0KSBhbmQgQVJNIChhcm0sDQo+PiBhYXJjaDY0KQ0KPj4gICAg
KiBhcmNoaXRlY3R1cmVzLCB3aGljaCBpcyB3aHkgdGhlIGNoZWNrIGlzIHJlc3RyaWN0ZWQgdG8g
dGhlc2UuDQo+PiAgICAqDQo+PiAgICAqIEZvciBtb3JlIGNvbnRleHQgb24gYXJjaGl0ZWN0dXJl
LXNwZWNpZmljIHByZXByb2Nlc3NvciBndWFyZHMsIHNlZQ0KPj4gICAgKiBkb2NzL21pc2MvQy1s
YW5ndWFnZS10b29sY2hhaW4ucnN0Lg0KPj4gICAgKg0KPj4gICAgKiBJZiBYZW4gaXMgcG9ydGVk
IHRvIGEgbmV3IGFyY2hpdGVjdHVyZSwgdmVyaWZ5IHRoYXQgdGhpcw0KPj4gY29tcGF0aWJpbGl0
eSBob2xkcw0KPj4gICAgKiBiZWZvcmUgYWRkaW5nIGl0cyBtYWNybyB0byB0aGUgY29uZGl0aW9u
IGJlbG93LiBJZiB0aGUgY29tcGF0aWJpbGl0eQ0KPj4gZG9lcyBub3QNCj4+ICAgICogaG9sZCwg
dGhpcyBhc3NlcnRpb24gbWF5IG5lZWQgdG8gYmUgcmV2aXNlZCBvciByZW1vdmVkIGZvciB0aGF0
DQo+PiBhcmNoaXRlY3R1cmUuDQo+PiAgICAqLw0KPiANCj4gRXhjZXB0IHRoYXQgdGhpcyBkb2Vz
bid0IGFkZHJlc3MgbXkgY29uY2Vybi4gSW1vIHRoZSBjaGVja3Mgd2FudCB0byBiZSB0aGVyZQ0K
PiB1bmNvbmRpdGlvbmFsbHksIGFuZCBwb3J0cyB3aGVyZSB0aGV5J3JlIF9ub3RfIGFwcGxpY2Fi
bGUgd291bGQgdGhlbiBuZWVkDQo+IGV4Y2x1ZGluZyAod2l0aCBzdWl0YWJsZSBjb21tZW50YXJ5
IGFuZC9vciBhbHRlcm5hdGl2ZSBjaGVja3MpLg0KPiANCj4gSmFuDQoNCk9rLCBiZWxvdyBpcyB0
aGUgdXBkYXRlZCBsb2dpYzoNCg0KLyoNCiAgKiBUaGlzIGFzc2VydGlvbiBjaGVja3MgY29tcGF0
aWJpbGl0eSBiZXR3ZWVuICd1bnNpZ25lZCBsb25nJywgJ3ZvaWQgKicsDQogICogYW5kIGZ1bmN0
aW9uIHBvaW50ZXJzLiBUaGlzIGlzIHRydWUgZm9yIG1vc3Qgc3VwcG9ydGVkIGFyY2hpdGVjdHVy
ZXMsDQogICogaW5jbHVkaW5nIFg4NiAoeDg2XzY0KSBhbmQgQVJNIChhcm0sIGFhcmNoNjQpLg0K
ICAqDQogICogRm9yIG1vcmUgY29udGV4dCBvbiBhcmNoaXRlY3R1cmUtc3BlY2lmaWMgcHJlcHJv
Y2Vzc29yIGd1YXJkcywgc2VlDQogICogZG9jcy9taXNjL0MtbGFuZ3VhZ2UtdG9vbGNoYWluLnJz
dC4NCiAgKg0KICAqIElmIHBvcnRpbmcgWGVuIHRvIGEgbmV3IGFyY2hpdGVjdHVyZSB3aGVyZSB0
aGlzIGNvbXBhdGliaWxpdHkgZG9lcyANCm5vdCBob2xkLA0KICAqIGV4Y2x1ZGUgdGhhdCBhcmNo
aXRlY3R1cmUgZnJvbSB0aGVzZSBjaGVja3MgYW5kIHByb3ZpZGUgc3VpdGFibGUgDQpjb21tZW50
YXJ5DQogICogYW5kL29yIGFsdGVybmF0aXZlIGNoZWNrcyBhcyBhcHByb3ByaWF0ZS4NCiAgKi8N
CnN0YXRpYyB2b2lkIF9faW5pdCBfX21heWJlX3VudXNlZCBidWlsZF9hc3NlcnRpb25zKHZvaWQp
DQp7DQogICAgIC8qDQogICAgICAqIEV4Y2x1ZGUgYXJjaGl0ZWN0dXJlcyB3aGVyZSBmdW5jdGlv
biBwb2ludGVycyBhcmUgbGFyZ2VyIHRoYW4gDQpkYXRhIHBvaW50ZXJzOg0KICAgICAgKiAtIElB
LTY0OiB1c2VzICdmYXQnIGZ1bmN0aW9uIHBvaW50ZXJzIChjb2RlIGFkZHJlc3MgKyBnbG9iYWwg
DQpwb2ludGVyKQ0KICAgICAgKi8NCiNpZiAhZGVmaW5lZChfX2lhNjRfXykNCiAgICAgQlVJTERf
QlVHX09OKHNpemVvZih1bnNpZ25lZCBsb25nKSAhPSBzaXplb2Yodm9pZCAoKikodm9pZCkpKTsN
CiAgICAgQlVJTERfQlVHX09OKHNpemVvZih2b2lkICopICE9IHNpemVvZih2b2lkICgqKSh2b2lk
KSkpOw0KI2VuZGlmDQp9DQoNCkRteXRyby4=


From xen-devel-bounces@lists.xenproject.org Thu Oct 23 14:35:31 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 14:35:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1149158.1480866 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBwPH-0002kr-LK; Thu, 23 Oct 2025 14:35:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1149158.1480866; Thu, 23 Oct 2025 14:35:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBwPH-0002kk-Ij; Thu, 23 Oct 2025 14:35:11 +0000
Received: by outflank-mailman (input) for mailman id 1149158;
 Thu, 23 Oct 2025 14:35:10 +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
 <SRS0=Pfyu=5A=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1vBwPF-0002ke-V3
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 14:35:10 +0000
Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com
 [2a00:1450:4864:20::62a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 79623778-b01d-11f0-9d15-b5c5bf9af7f9;
 Thu, 23 Oct 2025 16:35:08 +0200 (CEST)
Received: by mail-ej1-x62a.google.com with SMTP id
 a640c23a62f3a-b6d402422c2so218908966b.2
 for <xen-devel@lists.xenproject.org>; Thu, 23 Oct 2025 07:35:09 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-71-38.play-internet.pl.
 [109.243.71.38]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-b6d511f7027sm266002166b.25.2025.10.23.07.35.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Oct 2025 07:35:07 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 79623778-b01d-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1761230108; x=1761834908; darn=lists.xenproject.org;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=pE5tdVzRZHDl+TZBRnh6M3Cd8JWffdiXRMrYC2G5zQY=;
        b=KpWes+ZBLotCTTtP2WvHYjqTrLomatGcfW9aZXs03rJ+rJALZ3aLJUSoqDM8PvX9eW
         RTiYsMASiIW9YkCV79xCxOkSe8/ENylJ4q0BuiyEgC+G5qybvaZDHs1y4owf743knu5R
         YYsqI5RVBDhf9KUdH6o1NIELn4OoFZ0A9oKAvP46Iw44E8/BU5xYug88wAaDqtZPoLfQ
         pRByv+J86TteZ/kKidohuOGgLt8UD4Kp0TlnVNpgIwiaE0WfcMVnfbw8WhO9q5dgftkx
         7OuwrL0tzk49j/b99+/uNizGf6w15pYCZRNPU2pqRnjFwlXSEgeyLbxucR2ZTMX81lie
         HLsQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761230108; x=1761834908;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=pE5tdVzRZHDl+TZBRnh6M3Cd8JWffdiXRMrYC2G5zQY=;
        b=K0jiw50eAUBIyVCcCCjk4lRi/o/nIQW6WgROrTsuq2jB8KCG3i9ys4DEd0vAbvqMQ9
         wIICodvjolqh8h5rO21EPwVsQEE91kZmVEnwPs/MBWFcIB3dier1tzA3UVUTJgy98u83
         z9ejtuLYL1nMP2YMJu7IvEmN3kbsog2MrM3A7PiMUr0ByruWKbgdYky43wEUNkHvVDNR
         JoeqzT8GiLQpwLaEJxbe5sfkGuWXGf4WXVe7NRdMqvkhTIypIDNxzc0HKFTMby1+f0hT
         bR6+i5804have3nbuuztlvvkZT9X2Xs7XBablHoTVEwlF3pkv8GNXrKwrGNQvww6It+K
         bonQ==
X-Forwarded-Encrypted: i=1; AJvYcCWOW0KCXc4frSl6xCll3BOrs4t81KdhRznrndBRYE8t0+qHjWkmtxrJ1NfTckTtqcrSO0LHlF0VzKY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwGqEuFz3NtPxOfARCriIMGyNpFnAnYLcOF9NUU8b+UJ2GbhLse
	k7CcqRsRZIYBiqMoU8PuQN3BzcB2xo6FGtjCUMH8VCqGDPlh4M9DRfSv
X-Gm-Gg: ASbGnctVf5iYIfko8FE7ncKCbEjhElyVt/vFDIQyjDVncyb5HHAcMsUmKP0VQ9fiuC5
	TMnZBS24MOUl4dc3uMKEiBGfR+ba7eoCkI1IVl/M6C9gyWn8ZphFyn3uQQRieUgIsqjllAFzQVH
	XIofJD3qihS/AsHK67XB0VAySiEbNDHqOefmBFsA+YiRZFTu/fJHX7KAXAkZ7w/mdfXsVeEiwEY
	AmnHaLPY+G3x3yxdPKQbJVNrMLM3JwrEciHTFTYvB39kyuZBNXOThb5U7GEO3WpDur0DSzLwyvN
	L3YQNm6t4JUOFy4p/SLFcEFlylWMNl3H1U4CrildugIr+WwOeWNSgoGce/6mZTea1zszBGKPNFc
	DvGCY+vnPjBpOxWGLikRrvj560N+7bMNFxaP/kMZFWorLgM8NsCQonYZ+D/ETadQa58WR+q8ayU
	R0s7KtkLEA2TC8nxG6LoAmOvqxUawIGg7sN7u/AhFW/yynhGjcQ5pK4A==
X-Google-Smtp-Source: AGHT+IE2nYh95thbXiwUp4jgN67zcRjnXT8AVuiaxvtzaawGUqIzQQuxjSX0WykmLGBPU2A6AxDiDw==
X-Received: by 2002:a17:906:c106:b0:b6d:5262:a615 with SMTP id a640c23a62f3a-b6d5262afc3mr369862766b.41.1761230107825;
        Thu, 23 Oct 2025 07:35:07 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------CXGOxGRMdFHE9Zzozs5ZoitQ"
Message-ID: <62a66123-ec8c-4458-a2d6-edacba36cb81@gmail.com>
Date: Thu, 23 Oct 2025 16:35:06 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 0/5] Various IOMMU related simplifications
To: Teddy Astie <teddy.astie@vates.tech>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Community Manager
 <community.manager@xenproject.org>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <cover.1761209564.git.teddy.astie@vates.tech>
 <b9baa995-da2c-49d9-844c-6b4c625721c0@vates.tech>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <b9baa995-da2c-49d9-844c-6b4c625721c0@vates.tech>

This is a multi-part message in MIME format.
--------------CXGOxGRMdFHE9Zzozs5ZoitQ
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit


On 10/23/25 11:15 AM, Teddy Astie wrote:
> Le 23/10/2025 Ã  11:12, Teddy Astie a Ã©critÂ :
>> Various simplifications in the VT-d and IO-APIC code (mostly related to legacy ia64 code).

I think these changes isn't very critical for the current stage of release, so I suggest to
have them in 4.22.

Thanks.

~ Oleksii

>>
>> No functional change intended.
>>
>> Changed in v2 :
>>    - drop (un)map_vtd_domain_page wrapper instead of moving it
>>    - drop deprecated and Intel-exclusive iommu_inclusive_mapping=<boolean>
>>    - description and formatting changes
>>
>> Teddy Astie (5):
>>     vtd: Drop (un)map_vtd_domain_page wrapper
>>     vtd: Drop "iommu_inclusive_mapping" command-line option
>>     vtd: Collapse x86 subdirectory
>>     vtd: Remove IO_xAPIC_route_entry macro
>>     x86/ioapic: Don't open-code 32-bits rte reads
>>
>>    CHANGELOG.md                                |  2 +
>>    docs/misc/xen-command-line.pandoc           |  6 --
>>    xen/arch/x86/include/asm/io_apic.h          |  1 +
>>    xen/arch/x86/io_apic.c                      | 29 +++----
>>    xen/drivers/passthrough/vtd/Makefile        |  3 +-
>>    xen/drivers/passthrough/vtd/{x86 => }/ats.c | 21 ++---
>>    xen/drivers/passthrough/vtd/dmar.c          |  2 +-
>>    xen/drivers/passthrough/vtd/extern.h        |  3 -
>>    xen/drivers/passthrough/vtd/intremap.c      | 34 ++++----
>>    xen/drivers/passthrough/vtd/iommu.c         | 88 ++++++++++-----------
>>    xen/drivers/passthrough/vtd/iommu.h         |  7 +-
>>    xen/drivers/passthrough/vtd/qinval.c        | 13 +--
>>    xen/drivers/passthrough/vtd/utils.c         | 25 +++---
>>    xen/drivers/passthrough/vtd/vtd.h           |  3 -
>>    xen/drivers/passthrough/vtd/x86/Makefile    |  2 -
>>    xen/drivers/passthrough/vtd/x86/vtd.c       | 48 -----------
>>    16 files changed, 108 insertions(+), 179 deletions(-)
>>    rename xen/drivers/passthrough/vtd/{x86 => }/ats.c (92%)
>>    delete mode 100644 xen/drivers/passthrough/vtd/x86/Makefile
>>    delete mode 100644 xen/drivers/passthrough/vtd/x86/vtd.c
>>
> I forgot to add the CC-ed people
>
>
> --
> Teddy Astie | Vates XCP-ng Developer
>
> XCP-ng & Xen Orchestra - Vates solutions
>
> web:https://vates.tech
>
>
--------------CXGOxGRMdFHE9Zzozs5ZoitQ
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 10/23/25 11:15 AM, Teddy Astie
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:b9baa995-da2c-49d9-844c-6b4c625721c0@vates.tech">
      <pre wrap="" class="moz-quote-pre">Le 23/10/2025 Ã  11:12, Teddy Astie a Ã©critÂ :
</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">Various simplifications in the VT-d and IO-APIC code (mostly related to legacy ia64 code).</pre>
      </blockquote>
    </blockquote>
    <pre>I think these changes isn't very critical for the current stage of release, so I suggest to
have them in 4.22.

Thanks.

~ Oleksii

</pre>
    <blockquote type="cite"
      cite="mid:b9baa995-da2c-49d9-844c-6b4c625721c0@vates.tech">
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">

No functional change intended.

Changed in v2 :
  - drop (un)map_vtd_domain_page wrapper instead of moving it
  - drop deprecated and Intel-exclusive iommu_inclusive_mapping=&lt;boolean&gt;
  - description and formatting changes

Teddy Astie (5):
   vtd: Drop (un)map_vtd_domain_page wrapper
   vtd: Drop "iommu_inclusive_mapping" command-line option
   vtd: Collapse x86 subdirectory
   vtd: Remove IO_xAPIC_route_entry macro
   x86/ioapic: Don't open-code 32-bits rte reads

  CHANGELOG.md                                |  2 +
  docs/misc/xen-command-line.pandoc           |  6 --
  xen/arch/x86/include/asm/io_apic.h          |  1 +
  xen/arch/x86/io_apic.c                      | 29 +++----
  xen/drivers/passthrough/vtd/Makefile        |  3 +-
  xen/drivers/passthrough/vtd/{x86 =&gt; }/ats.c | 21 ++---
  xen/drivers/passthrough/vtd/dmar.c          |  2 +-
  xen/drivers/passthrough/vtd/extern.h        |  3 -
  xen/drivers/passthrough/vtd/intremap.c      | 34 ++++----
  xen/drivers/passthrough/vtd/iommu.c         | 88 ++++++++++-----------
  xen/drivers/passthrough/vtd/iommu.h         |  7 +-
  xen/drivers/passthrough/vtd/qinval.c        | 13 +--
  xen/drivers/passthrough/vtd/utils.c         | 25 +++---
  xen/drivers/passthrough/vtd/vtd.h           |  3 -
  xen/drivers/passthrough/vtd/x86/Makefile    |  2 -
  xen/drivers/passthrough/vtd/x86/vtd.c       | 48 -----------
  16 files changed, 108 insertions(+), 179 deletions(-)
  rename xen/drivers/passthrough/vtd/{x86 =&gt; }/ats.c (92%)
  delete mode 100644 xen/drivers/passthrough/vtd/x86/Makefile
  delete mode 100644 xen/drivers/passthrough/vtd/x86/vtd.c

</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
I forgot to add the CC-ed people


--
Teddy Astie | Vates XCP-ng Developer

XCP-ng &amp; Xen Orchestra - Vates solutions

web: <a class="moz-txt-link-freetext" href="https://vates.tech">https://vates.tech</a>


</pre>
    </blockquote>
  </body>
</html>

--------------CXGOxGRMdFHE9Zzozs5ZoitQ--


From xen-devel-bounces@lists.xenproject.org Thu Oct 23 14:41:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 14:41:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1149174.1480876 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBwVK-0004OT-FE; Thu, 23 Oct 2025 14:41:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1149174.1480876; Thu, 23 Oct 2025 14:41:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBwVK-0004OM-Bv; Thu, 23 Oct 2025 14:41:26 +0000
Received: by outflank-mailman (input) for mailman id 1149174;
 Thu, 23 Oct 2025 14:41:24 +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 <SRS0=U0PU=5A=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vBwVI-0004OG-M2
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 14:41:24 +0000
Received: from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com
 [2a00:1450:4864:20::32c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 58b4d566-b01e-11f0-9d15-b5c5bf9af7f9;
 Thu, 23 Oct 2025 16:41:23 +0200 (CEST)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-471b80b994bso12778065e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 23 Oct 2025 07:41:23 -0700 (PDT)
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-429897f57b7sm4316628f8f.16.2025.10.23.07.41.21
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Oct 2025 07:41:22 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 58b4d566-b01e-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761230483; x=1761835283; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=8fgE/KC4SJltnCyi7haaayIMb3G7u7CuGUQ2LqtW354=;
        b=N6lslltTVDsbEc9eydW29kmjsqehz1nzUnx6EHrPN5E2qQko1hn4tlOqBDcvsVE27O
         5wFYGOtzGBCQ8J2u9rkwseHHwOItcpNZwP3qJo3DKWCz9ITfVJ3LG6zB99qqtq/y12rE
         k1aSWfPF1ZQEQ6hd8IoOau22WDPBXfNJtFXnAYHJckpccNwLhCxYO39dezu1UnkicJkp
         iFjbri7w4tTFGZ0HfvyWG6ceyE06IURPykJZC0fmbe429/JK9OViWraWsbO5uo0frYqv
         TQ18y3h2VQrdE7hVob86s5z+dSWPdYR1XpH69zONA/oDZRfJyq6RAe8H0WtqIfx0O4bn
         bsYg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761230483; x=1761835283;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=8fgE/KC4SJltnCyi7haaayIMb3G7u7CuGUQ2LqtW354=;
        b=sKxLk/xsFdhV9qw7MgoMKHMmSFd3YGS94Lohtb6Py9CgPjuyN3KljFcuBhSIhYfIrR
         8DLj5iBrm1pfA/OimK/3pGX5IZ9dAEHA72AttYUHmn2lP40OKMPptI9TFdX9svfmEnTp
         HbluIL8I7XEDgl1J93G5PZQFx/rQcOqjGYiBpcaUaLMVAy/CO1Mg9KFRhD7fLy8EddBU
         rhR3YxBhF4MqJ/2BHETf5t9/N0BIi7W6V+R1rAqPeRQTxwipu/X6X6jMfPPZdqU6+E9e
         MlZQIPBOtw51pyioLCV+ahzJBxkO2b+GITvz14c2sf8xMhvji8kD8WrgCcRPLj96FGV3
         mjXA==
X-Forwarded-Encrypted: i=1; AJvYcCWU608vizE098Vv0OFJueqxgBralzSy212J4r2G0A2ukQ+3dvOGVkcaTnr60vk7d8V+6Na961t8ASQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzD0t0W3p8zNeHtg4K+grmP6GERQQ1OXDLWUx4Eo0rESjjVWqst
	GImMSSS13Be1IqR9nucXXUnvODxLWmzsi0V7PSZLmly/5WaPr6uOz7mpWxHKmq1xqA==
X-Gm-Gg: ASbGncstfEFKkXUdCFRSwLgoU2ADxJY2vEZsUhwqc1IDvhxiXojw6SAJU4fqs7DESv2
	kWL7WeD7HZ+4YLgc2z8sZXRhD9L4yUy1DkBXcw+x+PBnYQYy9JCLsAt4hb36F/qz7yItdqMuKkf
	uZlwAaeWIRW7E+BetdwPnPEXXAuvxol5bNWvpKSyEpYh/Edvk9haZFI9PJiZ6z792KRM6b9VSg8
	dZucS9WPV0y+Nvow0WEk5I5EaFwG/8Q/j1NbnodLDOP3F9JoUrKmJTfqrZ6B4TQvtQH1oG8HM18
	rU+4BJh9sGuIg7xfPVsNMujBddQ/6ivagEPdRhQEtBId98nFSDc9np7uMv8Vnh/r7AqdzS8yAkE
	7HHO/OSIxLD6dTIiCjz3HQpmc4QuiiZSsqxfJeQOb30t8ZRWPEridw8vdvGD4sgQdOPo4Tx4elF
	CpKZVNDRQWP/+jLy30qXfRWbAD2m1OqYCevHVoSrnoifcRzXtKyFSyfmd/szooDEnKP25Hn9k=
X-Google-Smtp-Source: AGHT+IExrqAjVHKujobi7mzXkEG7pQsvxwQR8KPboOwbDCqf1/uyAT9F2Aen+KP8O92hY6mPhh+SVg==
X-Received: by 2002:a05:600c:4e86:b0:471:13fc:4ad3 with SMTP id 5b1f17b1804b1-4711787847bmr218143765e9.2.1761230482765;
        Thu, 23 Oct 2025 07:41:22 -0700 (PDT)
Message-ID: <5a6d1670-ce9e-4264-bbea-786df5cc5679@suse.com>
Date: Thu, 23 Oct 2025 16:41:20 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] misra: consider conversion from UL or (void*) to
 function pointer as safe
To: Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>
Cc: Doug Goldstein <cardoe@cardoe.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>
References: <0e72c83102668dfa6f14c4e8f9839b4a73d30b3d.1760458094.git.dmytro_prokopchuk1@epam.com>
 <ceedeefa-c506-41ca-9dfc-76937979caa9@suse.com>
 <321363444f9a3d3471bf1b3b2e020047@bugseng.com>
 <0767a5c4-6a2c-4ed0-92d3-f9f89313ad85@epam.com>
 <64411f5b-a826-48b6-9122-bf80ac377c7a@suse.com>
 <9a09cbab-851c-46f1-8026-603a7cb9d79b@epam.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <9a09cbab-851c-46f1-8026-603a7cb9d79b@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 23.10.2025 15:57, Dmytro Prokopchuk1 wrote:
> 
> 
> On 10/23/25 13:23, Jan Beulich wrote:
>> On 23.10.2025 12:00, Dmytro Prokopchuk1 wrote:
>>> On 10/17/25 10:09, Nicola Vetrini wrote:
>>>> On 2025-10-15 08:20, Jan Beulich wrote:
>>>>> On 14.10.2025 18:16, Dmytro Prokopchuk1 wrote:
>>>>>> --- a/xen/common/version.c
>>>>>> +++ b/xen/common/version.c
>>>>>> @@ -217,6 +217,20 @@ void __init xen_build_init(void)
>>>>>>  Â #endif /* CONFIG_X86 */
>>>>>>  Â }
>>>>>>  Â #endif /* BUILD_ID */
>>>>>> +
>>>>>> +#if defined(__i386__) || defined(__x86_64__) || defined(__arm__) ||
>>>>>> defined(__aarch64__)
>>>>>
>>>>> Why __i386__? Also (nit): Line too long.
>>>
>>> Well, I copied this line from Xen codebase,
>>> but yeah, __i386__ is outdated now.
>>> I'll remove it.
>>>
>>>>>
>>>>> And why this restriction without any comment here or ...
>>>>>
>>>>>> +static void __init __maybe_unused build_assertions(void)
>>>>>> +{
>>>>>> +Â Â Â  /*
>>>>>> +Â Â Â Â  * To confirm conversion compatibility between unsigned long,
>>>>>> (void *)
>>>>>> +Â Â Â Â  * and function pointers for X86 and ARM architectures only.
>>>>>
>>>>> ... explanation here? More generally - how would people know to update
>>>>> the condition if another port was to be certified?
>>>>>
>>>>> Finally, with the v3 addition here, is Nicola's R-b really still
>>>>> applicable?
>>>>>
>>>>
>>>> I agree with the point you make about i386 (e.g., C-language-
>>>> toolchain.rst may be mentioned to provide some context about the
>>>> preprocessor guard); that said, my R-by can be retained
>>>>
>>>>> Jan
>>>>>
>>>>>> +Â Â Â Â  */
>>>>>> +
>>>>>> +Â Â Â  BUILD_BUG_ON(sizeof(unsigned long) != sizeof(void (*)(void)));
>>>>>> +Â Â Â  BUILD_BUG_ON(sizeof(void *) != sizeof(void (*)(void)));
>>>>>> +}
>>>>>> +#endif
>>>>>> +
>>>>>>  Â /*
>>>>>>  Â  * Local variables:
>>>>>>  Â  * mode: C
>>>>
>>>
>>> And probably v4 can have the following wording:
>>>
>>> /*
>>>    * This assertion checks compatibility between 'unsigned long', 'void *',
>>>    * and function pointers. This is true for X86 (x86_64) and ARM (arm,
>>> aarch64)
>>>    * architectures, which is why the check is restricted to these.
>>>    *
>>>    * For more context on architecture-specific preprocessor guards, see
>>>    * docs/misc/C-language-toolchain.rst.
>>>    *
>>>    * If Xen is ported to a new architecture, verify that this
>>> compatibility holds
>>>    * before adding its macro to the condition below. If the compatibility
>>> does not
>>>    * hold, this assertion may need to be revised or removed for that
>>> architecture.
>>>    */
>>
>> Except that this doesn't address my concern. Imo the checks want to be there
>> unconditionally, and ports where they're _not_ applicable would then need
>> excluding (with suitable commentary and/or alternative checks).
>>
>> Jan
> 
> Ok, below is the updated logic:
> 
> /*
>   * This assertion checks compatibility between 'unsigned long', 'void *',
>   * and function pointers. This is true for most supported architectures,
>   * including X86 (x86_64) and ARM (arm, aarch64).
>   *
>   * For more context on architecture-specific preprocessor guards, see
>   * docs/misc/C-language-toolchain.rst.
>   *
>   * If porting Xen to a new architecture where this compatibility does 
> not hold,
>   * exclude that architecture from these checks and provide suitable 
> commentary
>   * and/or alternative checks as appropriate.
>   */
> static void __init __maybe_unused build_assertions(void)
> {
>      /*
>       * Exclude architectures where function pointers are larger than 
> data pointers:
>       * - IA-64: uses 'fat' function pointers (code address + global 
> pointer)
>       */
> #if !defined(__ia64__)
>      BUILD_BUG_ON(sizeof(unsigned long) != sizeof(void (*)(void)));
>      BUILD_BUG_ON(sizeof(void *) != sizeof(void (*)(void)));
> #endif
> }

I would omit architectures we don't support, though. I gave IA-64 as an
example where things are more complicated (albeit iirc the checks would still
succeed there). However, I didn't expect any trace of it to be added to the
code base (again).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 23 14:44:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 14:44:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1148718.1480885 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBwYA-0004xs-U5; Thu, 23 Oct 2025 14:44:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1148718.1480885; Thu, 23 Oct 2025 14:44:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBwYA-0004xl-RJ; Thu, 23 Oct 2025 14:44:22 +0000
Received: by outflank-mailman (input) for mailman id 1148718;
 Thu, 23 Oct 2025 06:35:49 +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
 <SRS0=v3q3=5A=gmail.com=phind.uet@srs-se1.protection.inumbo.net>)
 id 1vBovN-0006VQ-A7
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 06:35:49 +0000
Received: from mail-pf1-x429.google.com (mail-pf1-x429.google.com
 [2607:f8b0:4864:20::429])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7f9a845f-afda-11f0-980a-7dc792cee155;
 Thu, 23 Oct 2025 08:35:43 +0200 (CEST)
Received: by mail-pf1-x429.google.com with SMTP id
 d2e1a72fcca58-7a26b04bfc8so548805b3a.2
 for <xen-devel@lists.xenproject.org>; Wed, 22 Oct 2025 23:35:43 -0700 (PDT)
Received: from ubuntu-VirtualBox.. ([122.11.166.8])
 by smtp.googlemail.com with ESMTPSA id
 d2e1a72fcca58-7a274bb22f6sm1355474b3a.56.2025.10.22.23.35.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 22 Oct 2025 23:35:41 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7f9a845f-afda-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1761201342; x=1761806142; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=O26TJJk9LEyMt5YJwhyM38ewlGmWhdC1le3aA1Yseo8=;
        b=ZC4e/ltquj2tSQC0Eiyn6gCqHT7rMZQr1dbHMPDBk5yXV5gF9mB8V7BsBdmdhXiswL
         COC1/lFkQbXKquFi1TMPiUEcBd2PSf9W0bX+hpilqH9Bq9Ems7ZrdGzCGzYpuGI/+Nvq
         QWxDQvcxE4Y7piXRJTxHN9u/pC9XqZHFBEaaD5OiWcPsqeKiRDnkrIiltQSsxicoluWc
         mfkx+Tk+/KE4FjRrajEEfJwzwDPw5SiPLhKWBOPTgJnT+qjuSa6/9tGz3ma7qoMUlMjC
         fHtD/OSk8kvqg8YT6BQWjEhMMNAlQqq1wv9AKrisPNoHLhqEkNOH1nGiB+SEF+rKPe7Q
         IK5A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761201342; x=1761806142;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=O26TJJk9LEyMt5YJwhyM38ewlGmWhdC1le3aA1Yseo8=;
        b=dA0I2hl/iA7FE2yC+ne3MyqnEz8ZP9pNG7HTuEqS/nGXnm0oscS+2EDl0XX/4y3Jig
         Jq2W2kmWt8ZQ2bLaolaWe95rrjrwqsKBkeTisAPAOwAFdU36c1fVS1x1d0aqTlA7r66Z
         7YbM7EWDQs/Mu2ejX3i7PUxB9broTHhX7Udku9ehC+enahVwNp96q5feZNsJwV/EXvCh
         cQHatL8Axj8QhxputZgj9L1pve21nSUMKHNxUqerjuogXCrcq5kEpXeSQP3bHePyMZAP
         2dqDht4/2fboZNR7JHu2fjgDcPAw+NIW4V3T4fbHSG4Noo8NdrRmWvStDl8u4Z7aQ1bO
         DOqQ==
X-Forwarded-Encrypted: i=1; AJvYcCX/gP9RoovTXNsvbRyiLzdFbt7c9xyMWJ7ncIoQpTvoAYGRNz3Wwze5JiwxM2Po2zo2Wi1sFhoEQlI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzHlZQPn8i4Lo8MSI4HTaY3uhZpHj2Favsygt5MBlhyw4AsLDZx
	TFCACiy2etB6w5Yjx5TNQ/xU1Z/k5/LnwF91vDiD/nSvrQ2slDbX9kfB
X-Gm-Gg: ASbGncuGcr0/uEVVofy9YiR+UtAIz/b7oPmoCicEPB5zpqaiv7sVMMPOa99Bbu4VW9g
	t2pjtwdREywndbeAWHC5lXiR0xKVfwp5QCbhL1PJA/wVOotLFs4pQ4VHeGSYKHj4jNIcRDfIGRQ
	jRulEAvqjfc6yjsemYqPzTCuYJDCMOGzEvZ/7n41n3t0hO5vK9zWVyXrVV9w98RR8tSjo5XelWH
	S6ZDImEQo2VuItfUu1weOh6nxYwLso4qk3N4Zd9ZsTS0LhnWLZdermILJM82OuiNHwDxK9ez1SZ
	AmfQ7nkVRiYEHFzEaBZmjeSFiAphEVcdWZzRgVzVzEMECD4UXNJyf80WnKln1503RUvlqgbfdFO
	sazXyjxSU5coX2BXhvyPI3lcB2r3aGCzY6pEbZpSrTOXxy0TgvubggUpV6dTq2MFGjB9qMt3ZZ0
	T7GjKZ7PH/JnbhCrnqaA4JZUmp8WxrFtkoeXS0miQ=
X-Google-Smtp-Source: AGHT+IEufHEgcImr1cB80v1RKMizy24lWngDNJvPq4U9Y2lHUkpAjMHeQBT/J9aq+3tfP/b1UNDLtQ==
X-Received: by 2002:a05:6a21:9986:b0:320:3da8:34d7 with SMTP id adf61e73a8af0-334a85661b7mr29758983637.22.1761201341733;
        Wed, 22 Oct 2025 23:35:41 -0700 (PDT)
From: Nguyen Dinh Phi <phind.uet@gmail.com>
To: "Gonglei (Arei)" <arei.gonglei@huawei.com>,
	Zhenwei Pi <pizhenwei@bytedance.com>,
	Alberto Garcia <berto@igalia.com>,
	=?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony@xenproject.org>,
	Paul Durrant <paul@xen.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Bernhard Beschow <shentey@gmail.com>,
	Jason Wang <jasowang@redhat.com>,
	Huacai Chen <chenhuacai@kernel.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Helge Deller <deller@gmx.de>,
	Tyrone Ting <kfting@nuvoton.com>,
	Hao Wu <wuhaotsh@google.com>,
	Aditya Gupta <adityag@linux.ibm.com>,
	Glenn Miles <milesg@linux.ibm.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Daniel Henrique Barboza <dbarboza@ventanamicro.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Fam Zheng <fam@euphon.net>,
	Alex Williamson <alex@shazbot.org>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@redhat.com>,
	Laurent Vivier <lvivier@redhat.com>,
	Amit Shah <amit@kernel.org>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Pavel Pisa <pisa@cmp.felk.cvut.cz>,
	Francisco Iglesias <francisco.iglesias@amd.com>,
	Vikram Garhwal <vikram.garhwal@bytedance.com>
Cc: qemu-trivial@nongnu.org,
	Nguyen Dinh Phi <phind.uet@gmail.com>,
	qemu-devel@nongnu.org,
	xen-devel@lists.xenproject.org,
	qemu-arm@nongnu.org,
	qemu-ppc@nongnu.org,
	qemu-riscv@nongnu.org
Subject: [PATCH] remove redundant typedef when use OBJECT_DECLARE_SIMPLE_TYPE
Date: Thu, 23 Oct 2025 14:34:28 +0800
Message-Id: <20251023063429.1400398-1-phind.uet@gmail.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

When OBJECT_DECLARE_SIMPLE_TYPE is used, it automatically provides
the typedef, so we donâ€™t have to define it ourselves.

Signed-off-by: Nguyen Dinh Phi <phind.uet@gmail.com>
---
 backends/cryptodev-lkcf.c               | 1 -
 hw/char/ipoctal232.c                    | 9 ++++-----
 hw/char/xen_console.c                   | 1 -
 hw/dma/pl330.c                          | 6 ++----
 hw/net/fsl_etsec/etsec.h                | 1 -
 hw/net/xen_nic.c                        | 2 --
 hw/pci-host/bonito.c                    | 7 +++----
 hw/ppc/pef.c                            | 1 -
 hw/usb/dev-mtp.c                        | 7 +++----
 hw/usb/dev-uas.c                        | 7 +++----
 include/hw/char/serial.h                | 1 -
 include/hw/input/lasips2.h              | 6 ++----
 include/hw/misc/auxbus.h                | 7 +++----
 include/hw/misc/bcm2835_mphi.h          | 7 ++-----
 include/hw/misc/npcm7xx_pwm.h           | 7 ++-----
 include/hw/pci-host/pnv_phb3.h          | 6 ++----
 include/hw/pci-host/pnv_phb4.h          | 8 ++++----
 include/hw/ppc/mac_dbdma.h              | 7 +++----
 include/hw/riscv/iommu.h                | 3 ---
 include/hw/scsi/scsi.h                  | 7 +++----
 include/hw/vfio/vfio-container-legacy.h | 5 ++---
 include/hw/virtio/virtio-serial.h       | 5 ++---
 include/net/can_emu.h                   | 7 +++----
 23 files changed, 43 insertions(+), 75 deletions(-)

diff --git a/backends/cryptodev-lkcf.c b/backends/cryptodev-lkcf.c
index bb7a81d5d0..97a8a8812c 100644
--- a/backends/cryptodev-lkcf.c
+++ b/backends/cryptodev-lkcf.c
@@ -68,7 +68,6 @@ typedef struct CryptoDevBackendLKCFSession {
     QCryptoAkCipherOptions akcipher_opts;
 } CryptoDevBackendLKCFSession;
 
-typedef struct CryptoDevBackendLKCF CryptoDevBackendLKCF;
 typedef struct CryptoDevLKCFTask CryptoDevLKCFTask;
 struct CryptoDevLKCFTask {
     CryptoDevBackendLKCFSession *sess;
diff --git a/hw/char/ipoctal232.c b/hw/char/ipoctal232.c
index 752c6c818a..0a7ffcd0b7 100644
--- a/hw/char/ipoctal232.c
+++ b/hw/char/ipoctal232.c
@@ -93,7 +93,10 @@
 #define ISR_RXRDY(CH) (((CH) & 1) ? BIT(5) : BIT(1))
 #define ISR_BREAK(CH) (((CH) & 1) ? BIT(6) : BIT(2))
 
-typedef struct IPOctalState IPOctalState;
+#define TYPE_IPOCTAL "ipoctal232"
+
+OBJECT_DECLARE_SIMPLE_TYPE(IPOctalState, IPOCTAL)
+
 typedef struct SCC2698Channel SCC2698Channel;
 typedef struct SCC2698Block SCC2698Block;
 
@@ -122,10 +125,6 @@ struct IPOctalState {
     uint8_t irq_vector;
 };
 
-#define TYPE_IPOCTAL "ipoctal232"
-
-OBJECT_DECLARE_SIMPLE_TYPE(IPOctalState, IPOCTAL)
-
 static const VMStateDescription vmstate_scc2698_channel = {
     .name = "scc2698_channel",
     .version_id = 1,
diff --git a/hw/char/xen_console.c b/hw/char/xen_console.c
index 9c34a554bf..0e73c2aee4 100644
--- a/hw/char/xen_console.c
+++ b/hw/char/xen_console.c
@@ -56,7 +56,6 @@ struct XenConsole {
     CharBackend       chr;
     int               backlog;
 };
-typedef struct XenConsole XenConsole;
 
 #define TYPE_XEN_CONSOLE_DEVICE "xen-console"
 OBJECT_DECLARE_SIMPLE_TYPE(XenConsole, XEN_CONSOLE_DEVICE)
diff --git a/hw/dma/pl330.c b/hw/dma/pl330.c
index a570bb08ec..f9c91f924b 100644
--- a/hw/dma/pl330.c
+++ b/hw/dma/pl330.c
@@ -111,7 +111,8 @@ typedef enum  {
     pl330_chan_fault = 15,
 } PL330ChanState;
 
-typedef struct PL330State PL330State;
+#define TYPE_PL330 "pl330"
+OBJECT_DECLARE_SIMPLE_TYPE(PL330State, PL330)
 
 typedef struct PL330Chan {
     uint32_t src;
@@ -274,9 +275,6 @@ struct PL330State {
     AddressSpace *mem_as;
 };
 
-#define TYPE_PL330 "pl330"
-OBJECT_DECLARE_SIMPLE_TYPE(PL330State, PL330)
-
 static const VMStateDescription vmstate_pl330 = {
     .name = "pl330",
     .version_id = 2,
diff --git a/hw/net/fsl_etsec/etsec.h b/hw/net/fsl_etsec/etsec.h
index 3860864a3f..bd2de3f99c 100644
--- a/hw/net/fsl_etsec/etsec.h
+++ b/hw/net/fsl_etsec/etsec.h
@@ -130,7 +130,6 @@ struct eTSEC {
     /* Whether we should flush the rx queue when buffer becomes available. */
     bool need_flush;
 };
-typedef struct eTSEC eTSEC;
 
 #define TYPE_ETSEC_COMMON "eTSEC"
 OBJECT_DECLARE_SIMPLE_TYPE(eTSEC, ETSEC_COMMON)
diff --git a/hw/net/xen_nic.c b/hw/net/xen_nic.c
index 34c6a1d0b0..e7bdc732de 100644
--- a/hw/net/xen_nic.c
+++ b/hw/net/xen_nic.c
@@ -62,8 +62,6 @@ struct XenNetDev {
     NICState              *nic;
 };
 
-typedef struct XenNetDev XenNetDev;
-
 #define TYPE_XEN_NET_DEVICE "xen-net-device"
 OBJECT_DECLARE_SIMPLE_TYPE(XenNetDev, XEN_NET_DEVICE)
 
diff --git a/hw/pci-host/bonito.c b/hw/pci-host/bonito.c
index 7d6251a78d..cbda068ef7 100644
--- a/hw/pci-host/bonito.c
+++ b/hw/pci-host/bonito.c
@@ -230,7 +230,9 @@ struct PCIBonitoState {
     MemoryRegion bonito_localio;
 
 };
-typedef struct PCIBonitoState PCIBonitoState;
+
+#define TYPE_PCI_BONITO "Bonito"
+OBJECT_DECLARE_SIMPLE_TYPE(PCIBonitoState, PCI_BONITO)
 
 struct BonitoState {
     PCIHostState parent_obj;
@@ -239,9 +241,6 @@ struct BonitoState {
     MemoryRegion pci_mem;
 };
 
-#define TYPE_PCI_BONITO "Bonito"
-OBJECT_DECLARE_SIMPLE_TYPE(PCIBonitoState, PCI_BONITO)
-
 static void bonito_writel(void *opaque, hwaddr addr,
                           uint64_t val, unsigned size)
 {
diff --git a/hw/ppc/pef.c b/hw/ppc/pef.c
index 254f570787..39b4ce94f1 100644
--- a/hw/ppc/pef.c
+++ b/hw/ppc/pef.c
@@ -19,7 +19,6 @@
 #define TYPE_PEF_GUEST "pef-guest"
 OBJECT_DECLARE_SIMPLE_TYPE(PefGuest, PEF_GUEST)
 
-typedef struct PefGuest PefGuest;
 typedef struct PefGuestClass PefGuestClass;
 
 struct PefGuestClass {
diff --git a/hw/usb/dev-mtp.c b/hw/usb/dev-mtp.c
index ce45c9cd06..afd7944b73 100644
--- a/hw/usb/dev-mtp.c
+++ b/hw/usb/dev-mtp.c
@@ -123,11 +123,13 @@ typedef struct {
 
 /* ----------------------------------------------------------------------- */
 
-typedef struct MTPState MTPState;
 typedef struct MTPControl MTPControl;
 typedef struct MTPData MTPData;
 typedef struct MTPObject MTPObject;
 
+#define TYPE_USB_MTP "usb-mtp"
+OBJECT_DECLARE_SIMPLE_TYPE(MTPState, USB_MTP)
+
 enum {
     EP_DATA_IN = 1,
     EP_DATA_OUT,
@@ -236,9 +238,6 @@ typedef struct {
     /* string and other data follows */
 } QEMU_PACKED ObjectInfo;
 
-#define TYPE_USB_MTP "usb-mtp"
-OBJECT_DECLARE_SIMPLE_TYPE(MTPState, USB_MTP)
-
 #define QEMU_STORAGE_ID 0x00010001
 
 #define MTP_FLAG_WRITABLE 0
diff --git a/hw/usb/dev-uas.c b/hw/usb/dev-uas.c
index 21cc2835c6..18ebe15d0c 100644
--- a/hw/usb/dev-uas.c
+++ b/hw/usb/dev-uas.c
@@ -109,10 +109,12 @@ typedef struct {
 #define UAS_STREAM_BM_ATTR  4
 #define UAS_MAX_STREAMS     (1 << UAS_STREAM_BM_ATTR)
 
-typedef struct UASDevice UASDevice;
 typedef struct UASRequest UASRequest;
 typedef struct UASStatus UASStatus;
 
+#define TYPE_USB_UAS "usb-uas"
+OBJECT_DECLARE_SIMPLE_TYPE(UASDevice, USB_UAS)
+
 struct UASDevice {
     USBDevice                 dev;
     SCSIBus                   bus;
@@ -133,9 +135,6 @@ struct UASDevice {
     USBPacket                 *status3[UAS_MAX_STREAMS + 1];
 };
 
-#define TYPE_USB_UAS "usb-uas"
-OBJECT_DECLARE_SIMPLE_TYPE(UASDevice, USB_UAS)
-
 struct UASRequest {
     uint16_t     tag;
     uint64_t     lun;
diff --git a/include/hw/char/serial.h b/include/hw/char/serial.h
index 4bf90a46f3..2cfeaed7fb 100644
--- a/include/hw/char/serial.h
+++ b/include/hw/char/serial.h
@@ -77,7 +77,6 @@ struct SerialState {
     QEMUTimer *modem_status_poll;
     MemoryRegion io;
 };
-typedef struct SerialState SerialState;
 
 extern const VMStateDescription vmstate_serial;
 extern const MemoryRegionOps serial_io_ops;
diff --git a/include/hw/input/lasips2.h b/include/hw/input/lasips2.h
index 01911c50f9..fd74883073 100644
--- a/include/hw/input/lasips2.h
+++ b/include/hw/input/lasips2.h
@@ -32,7 +32,8 @@ struct LASIPS2PortDeviceClass {
     DeviceRealize parent_realize;
 };
 
-typedef struct LASIPS2State LASIPS2State;
+#define TYPE_LASIPS2 "lasips2"
+OBJECT_DECLARE_SIMPLE_TYPE(LASIPS2State, LASIPS2)
 
 struct LASIPS2Port {
     DeviceState parent_obj;
@@ -74,7 +75,4 @@ struct LASIPS2State {
     qemu_irq irq;
 };
 
-#define TYPE_LASIPS2 "lasips2"
-OBJECT_DECLARE_SIMPLE_TYPE(LASIPS2State, LASIPS2)
-
 #endif /* HW_INPUT_LASIPS2_H */
diff --git a/include/hw/misc/auxbus.h b/include/hw/misc/auxbus.h
index ccd18ce209..0051e03947 100644
--- a/include/hw/misc/auxbus.h
+++ b/include/hw/misc/auxbus.h
@@ -29,13 +29,15 @@
 #include "hw/qdev-core.h"
 #include "qom/object.h"
 
-typedef struct AUXSlave AUXSlave;
 typedef enum AUXCommand AUXCommand;
 typedef enum AUXReply AUXReply;
 
 #define TYPE_AUXTOI2C "aux-to-i2c-bridge"
 OBJECT_DECLARE_SIMPLE_TYPE(AUXTOI2CState, AUXTOI2C)
 
+#define TYPE_AUX_SLAVE "aux-slave"
+OBJECT_DECLARE_SIMPLE_TYPE(AUXSlave, AUX_SLAVE)
+
 enum AUXCommand {
     WRITE_I2C = 0,
     READ_I2C = 1,
@@ -73,9 +75,6 @@ struct AUXBus {
     AddressSpace aux_addr_space;
 };
 
-#define TYPE_AUX_SLAVE "aux-slave"
-OBJECT_DECLARE_SIMPLE_TYPE(AUXSlave, AUX_SLAVE)
-
 struct AUXSlave {
     /* < private > */
     DeviceState parent_obj;
diff --git a/include/hw/misc/bcm2835_mphi.h b/include/hw/misc/bcm2835_mphi.h
index 751363f496..3f1997e5f2 100644
--- a/include/hw/misc/bcm2835_mphi.h
+++ b/include/hw/misc/bcm2835_mphi.h
@@ -23,7 +23,8 @@
 
 #define MPHI_MMIO_SIZE      0x1000
 
-typedef struct BCM2835MphiState BCM2835MphiState;
+#define TYPE_BCM2835_MPHI   "bcm2835-mphi"
+OBJECT_DECLARE_SIMPLE_TYPE(BCM2835MphiState, BCM2835_MPHI)
 
 struct BCM2835MphiState {
     SysBusDevice parent_obj;
@@ -37,8 +38,4 @@ struct BCM2835MphiState {
     uint32_t swirq;
 };
 
-#define TYPE_BCM2835_MPHI   "bcm2835-mphi"
-
-OBJECT_DECLARE_SIMPLE_TYPE(BCM2835MphiState, BCM2835_MPHI)
-
 #endif
diff --git a/include/hw/misc/npcm7xx_pwm.h b/include/hw/misc/npcm7xx_pwm.h
index bf953440ac..df92726620 100644
--- a/include/hw/misc/npcm7xx_pwm.h
+++ b/include/hw/misc/npcm7xx_pwm.h
@@ -35,8 +35,8 @@
  * value of 100,000 the duty cycle for that PWM is 10%.
  */
 #define NPCM7XX_PWM_MAX_DUTY 1000000
-
-typedef struct NPCM7xxPWMState NPCM7xxPWMState;
+#define TYPE_NPCM7XX_PWM "npcm7xx-pwm"
+OBJECT_DECLARE_SIMPLE_TYPE(NPCM7xxPWMState, NPCM7XX_PWM)
 
 /**
  * struct NPCM7xxPWM - The state of a single PWM channel.
@@ -100,7 +100,4 @@ struct NPCM7xxPWMState {
     uint32_t    piir;
 };
 
-#define TYPE_NPCM7XX_PWM "npcm7xx-pwm"
-OBJECT_DECLARE_SIMPLE_TYPE(NPCM7xxPWMState, NPCM7XX_PWM)
-
 #endif /* NPCM7XX_PWM_H */
diff --git a/include/hw/pci-host/pnv_phb3.h b/include/hw/pci-host/pnv_phb3.h
index 24ca3dddaa..682f62a638 100644
--- a/include/hw/pci-host/pnv_phb3.h
+++ b/include/hw/pci-host/pnv_phb3.h
@@ -14,7 +14,8 @@
 #include "qom/object.h"
 #include "hw/pci-host/pnv_phb.h"
 
-typedef struct PnvPHB3 PnvPHB3;
+#define TYPE_PNV_PHB3 "pnv-phb3"
+OBJECT_DECLARE_SIMPLE_TYPE(PnvPHB3, PNV_PHB3)
 
 /*
  * PHB3 XICS Source for MSIs
@@ -115,9 +116,6 @@ OBJECT_DECLARE_SIMPLE_TYPE(PnvPHB3RootBus, PNV_PHB3_ROOT_BUS)
 /*
  * PHB3 PCIe Host Bridge for PowerNV machines (POWER8)
  */
-#define TYPE_PNV_PHB3 "pnv-phb3"
-OBJECT_DECLARE_SIMPLE_TYPE(PnvPHB3, PNV_PHB3)
-
 #define PNV_PHB3_NUM_M64      16
 #define PNV_PHB3_NUM_REGS     (0x1000 >> 3)
 #define PNV_PHB3_NUM_LSI      8
diff --git a/include/hw/pci-host/pnv_phb4.h b/include/hw/pci-host/pnv_phb4.h
index 8a80c0c667..de996e718b 100644
--- a/include/hw/pci-host/pnv_phb4.h
+++ b/include/hw/pci-host/pnv_phb4.h
@@ -17,8 +17,11 @@
 #include "hw/ppc/xive.h"
 #include "qom/object.h"
 
+
+#define TYPE_PNV_PHB4 "pnv-phb4"
+OBJECT_DECLARE_SIMPLE_TYPE(PnvPHB4, PNV_PHB4)
+
 typedef struct PnvPhb4PecStack PnvPhb4PecStack;
-typedef struct PnvPHB4 PnvPHB4;
 
 /*
  * We have one such address space wrapper per possible device under
@@ -59,9 +62,6 @@ OBJECT_DECLARE_SIMPLE_TYPE(PnvPHB4RootBus, PNV_PHB4_ROOT_BUS)
 /*
  * PHB4 PCIe Host Bridge for PowerNV machines (POWER9)
  */
-#define TYPE_PNV_PHB4 "pnv-phb4"
-OBJECT_DECLARE_SIMPLE_TYPE(PnvPHB4, PNV_PHB4)
-
 #define PNV_PHB4_MAX_LSIs          8
 #define PNV_PHB4_MAX_INTs          4096
 #define PNV_PHB4_MAX_MIST          (PNV_PHB4_MAX_INTs >> 2)
diff --git a/include/hw/ppc/mac_dbdma.h b/include/hw/ppc/mac_dbdma.h
index 896ee4a2b1..7676488245 100644
--- a/include/hw/ppc/mac_dbdma.h
+++ b/include/hw/ppc/mac_dbdma.h
@@ -164,7 +164,9 @@ struct DBDMAState {
     DBDMA_channel channels[DBDMA_CHANNELS];
     QEMUBH *bh;
 };
-typedef struct DBDMAState DBDMAState;
+
+#define TYPE_MAC_DBDMA "mac-dbdma"
+OBJECT_DECLARE_SIMPLE_TYPE(DBDMAState, MAC_DBDMA)
 
 /* Externally callable functions */
 
@@ -173,7 +175,4 @@ void DBDMA_register_channel(void *dbdma, int nchan, qemu_irq irq,
                             void *opaque);
 void DBDMA_kick(DBDMAState *dbdma);
 
-#define TYPE_MAC_DBDMA "mac-dbdma"
-OBJECT_DECLARE_SIMPLE_TYPE(DBDMAState, MAC_DBDMA)
-
 #endif
diff --git a/include/hw/riscv/iommu.h b/include/hw/riscv/iommu.h
index 8a8acfc3f0..25f1a8b159 100644
--- a/include/hw/riscv/iommu.h
+++ b/include/hw/riscv/iommu.h
@@ -24,18 +24,15 @@
 
 #define TYPE_RISCV_IOMMU "riscv-iommu"
 OBJECT_DECLARE_SIMPLE_TYPE(RISCVIOMMUState, RISCV_IOMMU)
-typedef struct RISCVIOMMUState RISCVIOMMUState;
 
 #define TYPE_RISCV_IOMMU_MEMORY_REGION "riscv-iommu-mr"
 typedef struct RISCVIOMMUSpace RISCVIOMMUSpace;
 
 #define TYPE_RISCV_IOMMU_PCI "riscv-iommu-pci"
 OBJECT_DECLARE_SIMPLE_TYPE(RISCVIOMMUStatePci, RISCV_IOMMU_PCI)
-typedef struct RISCVIOMMUStatePci RISCVIOMMUStatePci;
 
 #define TYPE_RISCV_IOMMU_SYS "riscv-iommu-device"
 OBJECT_DECLARE_SIMPLE_TYPE(RISCVIOMMUStateSys, RISCV_IOMMU_SYS)
-typedef struct RISCVIOMMUStateSys RISCVIOMMUStateSys;
 
 #define FDT_IRQ_TYPE_EDGE_LOW 1
 
diff --git a/include/hw/scsi/scsi.h b/include/hw/scsi/scsi.h
index 90ee192b4d..044bd048b4 100644
--- a/include/hw/scsi/scsi.h
+++ b/include/hw/scsi/scsi.h
@@ -10,7 +10,9 @@
 
 #define MAX_SCSI_DEVS 255
 
-typedef struct SCSIBus SCSIBus;
+#define TYPE_SCSI_BUS "SCSI"
+OBJECT_DECLARE_SIMPLE_TYPE(SCSIBus, SCSI_BUS)
+
 typedef struct SCSIBusInfo SCSIBusInfo;
 typedef struct SCSIDevice SCSIDevice;
 typedef struct SCSIRequest SCSIRequest;
@@ -151,9 +153,6 @@ struct SCSIBusInfo {
     void (*drained_end)(SCSIBus *bus);
 };
 
-#define TYPE_SCSI_BUS "SCSI"
-OBJECT_DECLARE_SIMPLE_TYPE(SCSIBus, SCSI_BUS)
-
 struct SCSIBus {
     BusState qbus;
     int busnr;
diff --git a/include/hw/vfio/vfio-container-legacy.h b/include/hw/vfio/vfio-container-legacy.h
index ffd594e80d..fe82212526 100644
--- a/include/hw/vfio/vfio-container-legacy.h
+++ b/include/hw/vfio/vfio-container-legacy.h
@@ -12,7 +12,8 @@
 #include "hw/vfio/vfio-container.h"
 #include "hw/vfio/vfio-cpr.h"
 
-typedef struct VFIOLegacyContainer VFIOLegacyContainer;
+OBJECT_DECLARE_SIMPLE_TYPE(VFIOLegacyContainer, VFIO_IOMMU_LEGACY);
+
 typedef struct VFIODevice VFIODevice;
 
 typedef struct VFIOGroup {
@@ -35,6 +36,4 @@ struct VFIOLegacyContainer {
     VFIOContainerCPR cpr;
 };
 
-OBJECT_DECLARE_SIMPLE_TYPE(VFIOLegacyContainer, VFIO_IOMMU_LEGACY);
-
 #endif /* HW_VFIO_CONTAINER_LEGACY_H */
diff --git a/include/hw/virtio/virtio-serial.h b/include/hw/virtio/virtio-serial.h
index d87c62eab7..60641860bf 100644
--- a/include/hw/virtio/virtio-serial.h
+++ b/include/hw/virtio/virtio-serial.h
@@ -29,7 +29,8 @@ struct virtio_serial_conf {
 OBJECT_DECLARE_TYPE(VirtIOSerialPort, VirtIOSerialPortClass,
                     VIRTIO_SERIAL_PORT)
 
-typedef struct VirtIOSerial VirtIOSerial;
+#define TYPE_VIRTIO_SERIAL "virtio-serial-device"
+OBJECT_DECLARE_SIMPLE_TYPE(VirtIOSerial, VIRTIO_SERIAL)
 
 #define TYPE_VIRTIO_SERIAL_BUS "virtio-serial-bus"
 OBJECT_DECLARE_SIMPLE_TYPE(VirtIOSerialBus, VIRTIO_SERIAL_BUS)
@@ -221,7 +222,5 @@ size_t virtio_serial_guest_ready(VirtIOSerialPort *port);
  */
 void virtio_serial_throttle_port(VirtIOSerialPort *port, bool throttle);
 
-#define TYPE_VIRTIO_SERIAL "virtio-serial-device"
-OBJECT_DECLARE_SIMPLE_TYPE(VirtIOSerial, VIRTIO_SERIAL)
 
 #endif
diff --git a/include/net/can_emu.h b/include/net/can_emu.h
index 6f9b206bb5..777281bad9 100644
--- a/include/net/can_emu.h
+++ b/include/net/can_emu.h
@@ -85,7 +85,9 @@ typedef struct qemu_can_filter {
 #define QEMU_CAN_INV_FILTER 0x20000000U
 
 typedef struct CanBusClientState CanBusClientState;
-typedef struct CanBusState CanBusState;
+
+#define TYPE_CAN_BUS "can-bus"
+OBJECT_DECLARE_SIMPLE_TYPE(CanBusState, CAN_BUS)
 
 typedef struct CanBusClientInfo {
     bool (*can_receive)(CanBusClientState *);
@@ -105,9 +107,6 @@ struct CanBusClientState {
     bool fd_mode;
 };
 
-#define TYPE_CAN_BUS "can-bus"
-OBJECT_DECLARE_SIMPLE_TYPE(CanBusState, CAN_BUS)
-
 int can_bus_filter_match(struct qemu_can_filter *filter, qemu_canid_t can_id);
 
 int can_bus_insert_client(CanBusState *bus, CanBusClientState *client);
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Thu Oct 23 14:44:37 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 14:44:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1149202.1480895 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBwYP-0005Hm-Ah; Thu, 23 Oct 2025 14:44:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1149202.1480895; Thu, 23 Oct 2025 14:44:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBwYP-0005Hd-7e; Thu, 23 Oct 2025 14:44:37 +0000
Received: by outflank-mailman (input) for mailman id 1149202;
 Thu, 23 Oct 2025 14:44: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
 <SRS0=Pfyu=5A=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1vBwYO-0004uF-G1
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 14:44:36 +0000
Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com
 [2a00:1450:4864:20::634])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c8edbdc6-b01e-11f0-980a-7dc792cee155;
 Thu, 23 Oct 2025 16:44:31 +0200 (CEST)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-b6d5e04e0d3so71562966b.2
 for <xen-devel@lists.xenproject.org>; Thu, 23 Oct 2025 07:44:31 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-71-38.play-internet.pl.
 [109.243.71.38]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-b6d5130d570sm229073166b.10.2025.10.23.07.44.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Oct 2025 07:44:30 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c8edbdc6-b01e-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1761230671; x=1761835471; darn=lists.xenproject.org;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=OCl2HCRDV2i40PMplfn/hcDJ1SVM/uCEWPUsGMEipu8=;
        b=Nr5LFobVD7uWl1xuulxDfZGhPD2zdEySg9GktiuSI4aJRjX3D0ONriWWHxKKtqTcWg
         zhg/NUbA+uL3r3WyLWv1MJSTIrwsxHt35mNEUKXFRNlYuXrhmceBIWJiT16vmMMc6ezF
         LwZ5CiB0sOdP9Rd95foHG28sC1B+hZP40hh3M4M/YfzA57539leFp2VNkJTMZyDxDO8G
         PZ6N1BB3LC9tbXrZzSzuOJsT3R7znMEHeZdXlIdAC4vLzsodRNLY8WyO1ufufqznEfNk
         cImmeO1pTRTys+LfAAfexTXB9UVywJ565acyGI3zAgGOmQ3Ol0PFnJTF2fSgbtrSiRAF
         Kcww==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761230671; x=1761835471;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=OCl2HCRDV2i40PMplfn/hcDJ1SVM/uCEWPUsGMEipu8=;
        b=kMnaWRVnLjSi+RwKM4pmHqYl6fbyy3xU3Z5SWz1RB8r33KttYlzXWEuwOe29HLxM92
         ltjuZABBhGK8iwQTN3aexwMLDylUejfaX7nmwvhl1h8EE/nIwxGvlrc3Riwp9sblaJrh
         JAoaoGkW6yFoNOW67bkPtyqWnlhNiOX0yW5voEzrbnmcd7DvPz6kVULlE2m2V2c11BMv
         6pNsQbkIgOlOjGxifV4ggbFmdPtt0Ke8wUCmCTliCznB3efEvRFCgrR2OZx/PxGuwNDK
         QxVV69+IsFLuls3C98eK4j2fv7aLpQovNe7C1rfKhqGroP4TaX30r6c7GoqKhMb21qDq
         UAKw==
X-Forwarded-Encrypted: i=1; AJvYcCVKz9ST4SKZoakwAGnCRmuhKmUXT8K2GvReiqjAZ60LE804CGJXMbXkWYP0VwlIhoF/99NOz81a0AE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzKo9tWTH1EVMkdglxobuIJisA5FV59ttA2utQBaj00vXcfMCzC
	lUrNbM62t1mYVgeuA0cF2eLVp4WOj5sCBowTk/GJ/X13Uu3e+FRsjn1M
X-Gm-Gg: ASbGncs5PObGn8KiW/9bcxb2spxDMjS1HrzF/DhnbPkgPj/E3D1A38j9/+3puOvBW62
	DvXDbXRfpmPkqmBK1xIbPeN9Eo4DxpHt703PU7gmJ2A5+DvjrdIYNcXqpBU059grw8kV6B71AjI
	hSML6lHq1dEqXumMUzAozDpRj6vYb6OOtKhN9HbsEGccJCntElOMFOeB5qmX7D56Fm5ho0K5caD
	vpdGxu7Yxf0gbBcQHGbN7O0naPEpDWa+1tGy04z5RBGsINOupqmhTNq6RtTRRT6L4+m9Ks2bJhz
	swQUNZ4nLUXiMG06DXonbAImXfCF9MAzjjtaHlM18s2vBJFmcpn5mjZjd8g8RXIWZxddu6C7Gbq
	pTORNtdjd7OxbZYseLpqtbIq6QDIpbvDVz03jBd8IBtHqmH9jWT+Y1Ohrzeo/q0kGcXErFuUh2J
	2wjkIK2lL4RuzP48VruAvXn/BsNj8OOcKyEOCumkowsXnwW4BKtQT4sX3+9ZUenmli
X-Google-Smtp-Source: AGHT+IG3pHNIgJZev+8M+acscAebcHTNnZF0PAjtWoBycjKAnbmFmuZMxA9UcHZnRjfipDeYd2XS1Q==
X-Received: by 2002:a17:906:81d9:b0:b6d:5b0c:289e with SMTP id a640c23a62f3a-b6d5b0c447fmr121756466b.0.1761230670848;
        Thu, 23 Oct 2025 07:44:30 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------LQ5b6DOoQFRRaT8qcmI4FUv5"
Message-ID: <1a1fd748-05d4-4400-bf42-41a848cfc317@gmail.com>
Date: Thu, 23 Oct 2025 16:44:29 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH for-4.21] tools: require at least json-c 0.15
To: Anthony PERARD <anthony@xenproject.org>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
 Anthony PERARD <anthony.perard@vates.tech>
References: <20251023085730.36628-1-anthony@xenproject.org>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20251023085730.36628-1-anthony@xenproject.org>

This is a multi-part message in MIME format.
--------------LQ5b6DOoQFRRaT8qcmI4FUv5
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit


On 10/23/25 10:57 AM, Anthony PERARD wrote:
> From: Anthony PERARD<anthony.perard@vates.tech>
>
> If not available, fallback to using YAJL.
>
> The code is using json_c_visit() which was introduced in 0.13.
> json_object_new_null() and json_object_new_uint64() where added to
> 0.14. And the last one json_object_new_array_ext() was introduced in
> 0.15.
>
> Signed-off-by: Anthony PERARD<anthony.perard@vates.tech>

Release-Acked-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>

Thanks.

~ Oleksii

> ---
>   tools/configure    | 16 ++++++++--------
>   tools/configure.ac |  2 +-
>   2 files changed, 9 insertions(+), 9 deletions(-)
>
> diff --git a/tools/configure b/tools/configure
> index 0eb7a0ab6a..d460f25529 100755
> --- a/tools/configure
> +++ b/tools/configure
> @@ -9642,12 +9642,12 @@ if test -n "$libjsonc_CFLAGS"; then
>       pkg_cv_libjsonc_CFLAGS="$libjsonc_CFLAGS"
>    elif test -n "$PKG_CONFIG"; then
>       if test -n "$PKG_CONFIG" && \
> -    { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"json-c\""; } >&5
> -  ($PKG_CONFIG --exists --print-errors "json-c") 2>&5
> +    { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"json-c >= 0.15\""; } >&5
> +  ($PKG_CONFIG --exists --print-errors "json-c >= 0.15") 2>&5
>     ac_status=$?
>     printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
>     test $ac_status = 0; }; then
> -  pkg_cv_libjsonc_CFLAGS=`$PKG_CONFIG --cflags "json-c" 2>/dev/null`
> +  pkg_cv_libjsonc_CFLAGS=`$PKG_CONFIG --cflags "json-c >= 0.15" 2>/dev/null`
>   		      test "x$?" != "x0" && pkg_failed=yes
>   else
>     pkg_failed=yes
> @@ -9659,12 +9659,12 @@ if test -n "$libjsonc_LIBS"; then
>       pkg_cv_libjsonc_LIBS="$libjsonc_LIBS"
>    elif test -n "$PKG_CONFIG"; then
>       if test -n "$PKG_CONFIG" && \
> -    { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"json-c\""; } >&5
> -  ($PKG_CONFIG --exists --print-errors "json-c") 2>&5
> +    { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"json-c >= 0.15\""; } >&5
> +  ($PKG_CONFIG --exists --print-errors "json-c >= 0.15") 2>&5
>     ac_status=$?
>     printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
>     test $ac_status = 0; }; then
> -  pkg_cv_libjsonc_LIBS=`$PKG_CONFIG --libs "json-c" 2>/dev/null`
> +  pkg_cv_libjsonc_LIBS=`$PKG_CONFIG --libs "json-c >= 0.15" 2>/dev/null`
>   		      test "x$?" != "x0" && pkg_failed=yes
>   else
>     pkg_failed=yes
> @@ -9685,9 +9685,9 @@ else
>           _pkg_short_errors_supported=no
>   fi
>           if test $_pkg_short_errors_supported = yes; then
> -	        libjsonc_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "json-c" 2>&1`
> +	        libjsonc_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "json-c >= 0.15" 2>&1`
>           else
> -	        libjsonc_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "json-c" 2>&1`
> +	        libjsonc_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "json-c >= 0.15" 2>&1`
>           fi
>   	# Put the nasty error message in config.log where it belongs
>   	echo "$libjsonc_PKG_ERRORS" >&5
> diff --git a/tools/configure.ac b/tools/configure.ac
> index 7267d02a04..285b4ea128 100644
> --- a/tools/configure.ac
> +++ b/tools/configure.ac
> @@ -424,7 +424,7 @@ AC_SUBST([ZLIB_CFLAGS])
>   AC_SUBST([ZLIB_LIBS])
>   AX_CHECK_EXTFS
>   AX_CHECK_PTHREAD
> -PKG_CHECK_MODULES([libjsonc], [json-c],
> +PKG_CHECK_MODULES([libjsonc], [json-c >= 0.15],
>       [AC_DEFINE([HAVE_LIBJSONC], [1], [Use library json-c])],
>       [AC_CHECK_LIB([yajl], [yajl_alloc],
>           [AC_SUBST([YAJL_LIBS],[-lyajl])
--------------LQ5b6DOoQFRRaT8qcmI4FUv5
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 10/23/25 10:57 AM, Anthony PERARD
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:20251023085730.36628-1-anthony@xenproject.org">
      <pre wrap="" class="moz-quote-pre">From: Anthony PERARD <a class="moz-txt-link-rfc2396E" href="mailto:anthony.perard@vates.tech">&lt;anthony.perard@vates.tech&gt;</a>

If not available, fallback to using YAJL.

The code is using json_c_visit() which was introduced in 0.13.
json_object_new_null() and json_object_new_uint64() where added to
0.14. And the last one json_object_new_array_ext() was introduced in
0.15.

Signed-off-by: Anthony PERARD <a class="moz-txt-link-rfc2396E" href="mailto:anthony.perard@vates.tech">&lt;anthony.perard@vates.tech&gt;</a></pre>
    </blockquote>
    <pre>Release-Acked-by: Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a>

Thanks.

~ Oleksii</pre>
    <blockquote type="cite"
      cite="mid:20251023085730.36628-1-anthony@xenproject.org">
      <pre wrap="" class="moz-quote-pre">
---
 tools/configure    | 16 ++++++++--------
 tools/configure.ac |  2 +-
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/tools/configure b/tools/configure
index 0eb7a0ab6a..d460f25529 100755
--- a/tools/configure
+++ b/tools/configure
@@ -9642,12 +9642,12 @@ if test -n "$libjsonc_CFLAGS"; then
     pkg_cv_libjsonc_CFLAGS="$libjsonc_CFLAGS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" &amp;&amp; \
-    { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"json-c\""; } &gt;&amp;5
-  ($PKG_CONFIG --exists --print-errors "json-c") 2&gt;&amp;5
+    { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"json-c &gt;= 0.15\""; } &gt;&amp;5
+  ($PKG_CONFIG --exists --print-errors "json-c &gt;= 0.15") 2&gt;&amp;5
   ac_status=$?
   printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" &gt;&amp;5
   test $ac_status = 0; }; then
-  pkg_cv_libjsonc_CFLAGS=`$PKG_CONFIG --cflags "json-c" 2&gt;/dev/null`
+  pkg_cv_libjsonc_CFLAGS=`$PKG_CONFIG --cflags "json-c &gt;= 0.15" 2&gt;/dev/null`
 		      test "x$?" != "x0" &amp;&amp; pkg_failed=yes
 else
   pkg_failed=yes
@@ -9659,12 +9659,12 @@ if test -n "$libjsonc_LIBS"; then
     pkg_cv_libjsonc_LIBS="$libjsonc_LIBS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" &amp;&amp; \
-    { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"json-c\""; } &gt;&amp;5
-  ($PKG_CONFIG --exists --print-errors "json-c") 2&gt;&amp;5
+    { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"json-c &gt;= 0.15\""; } &gt;&amp;5
+  ($PKG_CONFIG --exists --print-errors "json-c &gt;= 0.15") 2&gt;&amp;5
   ac_status=$?
   printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" &gt;&amp;5
   test $ac_status = 0; }; then
-  pkg_cv_libjsonc_LIBS=`$PKG_CONFIG --libs "json-c" 2&gt;/dev/null`
+  pkg_cv_libjsonc_LIBS=`$PKG_CONFIG --libs "json-c &gt;= 0.15" 2&gt;/dev/null`
 		      test "x$?" != "x0" &amp;&amp; pkg_failed=yes
 else
   pkg_failed=yes
@@ -9685,9 +9685,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        libjsonc_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "json-c" 2&gt;&amp;1`
+	        libjsonc_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "json-c &gt;= 0.15" 2&gt;&amp;1`
         else
-	        libjsonc_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "json-c" 2&gt;&amp;1`
+	        libjsonc_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "json-c &gt;= 0.15" 2&gt;&amp;1`
         fi
 	# Put the nasty error message in config.log where it belongs
 	echo "$libjsonc_PKG_ERRORS" &gt;&amp;5
diff --git a/tools/configure.ac b/tools/configure.ac
index 7267d02a04..285b4ea128 100644
--- a/tools/configure.ac
+++ b/tools/configure.ac
@@ -424,7 +424,7 @@ AC_SUBST([ZLIB_CFLAGS])
 AC_SUBST([ZLIB_LIBS])
 AX_CHECK_EXTFS
 AX_CHECK_PTHREAD
-PKG_CHECK_MODULES([libjsonc], [json-c],
+PKG_CHECK_MODULES([libjsonc], [json-c &gt;= 0.15],
     [AC_DEFINE([HAVE_LIBJSONC], [1], [Use library json-c])],
     [AC_CHECK_LIB([yajl], [yajl_alloc],
         [AC_SUBST([YAJL_LIBS],[-lyajl])
</pre>
    </blockquote>
  </body>
</html>

--------------LQ5b6DOoQFRRaT8qcmI4FUv5--


From xen-devel-bounces@lists.xenproject.org Thu Oct 23 14:46:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 14:46:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1149221.1480906 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBwa6-00061N-LV; Thu, 23 Oct 2025 14:46:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1149221.1480906; Thu, 23 Oct 2025 14:46:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBwa6-00061G-IZ; Thu, 23 Oct 2025 14:46:22 +0000
Received: by outflank-mailman (input) for mailman id 1149221;
 Thu, 23 Oct 2025 14:46:21 +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
 <SRS0=Ct/T=5A=citrix.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1vBwa5-00060z-7x
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 14:46:21 +0000
Received: from PH8PR06CU001.outbound.protection.outlook.com
 (mail-westus3azlp170120001.outbound.protection.outlook.com
 [2a01:111:f403:c107::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ff3fea25-b01e-11f0-980a-7dc792cee155;
 Thu, 23 Oct 2025 16:46:03 +0200 (CEST)
Received: from DM4PR03MB7015.namprd03.prod.outlook.com (2603:10b6:8:42::8) by
 MN2PR03MB4990.namprd03.prod.outlook.com (2603:10b6:208:1a3::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.13; Thu, 23 Oct
 2025 14:45:59 +0000
Received: from DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9]) by DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9%3]) with mapi id 15.20.9253.011; Thu, 23 Oct 2025
 14:45:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ff3fea25-b01e-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=CIANcA9bjt6q2moQXZxQAgpfsREAjWICiH4u3TQ8WIXSOPw9nDXGGGOQjZ43t7P7tj69tXn2gOzzquTiHQUbhM7a1fRBzd4grZH99m9QNvkNMWS7bMu97278Ft9YRPbK9cXhcYP4YlEFJmEgmHZCUw61N2j2O416MsfNVx0rGqpXIaobdjCWZz2oGyNXPnBRi/1ykGqbtoHPk/mJKAD1IxL5eilAMnEhaYMPUGjjCfheZYD2ts4Utxv3mFDPJGMmh6EoLOE5PkaWjW8zx4yJXkVeSEVKuEg9tTx78fTKWxnG6YGzKbF3yE6fzk9U7zwBgvs0hXGCCu+nfZnZo0rR9Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bgbAAT8EsTp2lBPovP/Xa9rB/J0cfCEbCaY3hrZjNDI=;
 b=UDCoGn54ZlXbNRBN/1G6LZokv7Ui2MKgbMhWdRoRNZ8XA+HYEj8uQdgO9LkOo+lSpYdGK8LzXs6eI6ILQQ7kMQlpMlpTSb2H2HgkXn3Mya/wOHTq9UThMqwGDyTu5g4WP7KvaY8fYCD5wy4MCGDOBa/rBK0S+d3TOCEcDtkqTPa6OSgMnMN3LRSkinwwGxBBLE5U3MYnONYEDlcoKqE0wZe6I7IoMlZOwkR76au7g1hEMrjzpza+RrmvUuoNUCZFf9bGS8GivTwI9b63y+K5KHSNwQq/kZeSIl27gcVJInP8sTfJ8xqOyiCl3j+2U3c8XZyB65QRNc7yTHhR8ZnR3w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=bgbAAT8EsTp2lBPovP/Xa9rB/J0cfCEbCaY3hrZjNDI=;
 b=Rgyism8ePjPPSFlkzdayBDTGzVCiKGyxCiu/wJOZblZbAchOaGpsJ8Ay5/1b402J1za7NdMI/XDW5cfigep1xv04b6k5ThXYp5EKz01BkADk1l1YluzO5tsYqUqdHosQQLT5i5eNFVrmP2YkLnsj0sUPcDBgET3eI6TxYB+Ol3A=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <bd6c0e3f-f2bc-4399-adf6-d2dc18b06982@citrix.com>
Date: Thu, 23 Oct 2025 15:45:55 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH for-4.21] tools: require at least json-c 0.15
To: Anthony PERARD <anthony@xenproject.org>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Anthony PERARD <anthony.perard@vates.tech>
References: <20251023085730.36628-1-anthony@xenproject.org>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <20251023085730.36628-1-anthony@xenproject.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P302CA0037.GBRP302.PROD.OUTLOOK.COM
 (2603:10a6:600:317::9) To DM4PR03MB7015.namprd03.prod.outlook.com
 (2603:10b6:8:42::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM4PR03MB7015:EE_|MN2PR03MB4990:EE_
X-MS-Office365-Filtering-Correlation-Id: 61587b5e-2131-44ca-306a-08de1242e133
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?YVdFQmllTVVoSE9VOVJsWkRHUjNudkc0VXNtTHJkV0p6QnQycW5oZFBDUFo3?=
 =?utf-8?B?bHdtcHhaaFFyUDg5bFJsejBsR0Z2ZGhUbzUwWXR5SDNobXdub24zb09GYUI4?=
 =?utf-8?B?R1pmalFvMFJQWjZDUWFkcUNNck1CYUxySUQvdVR6U1Nna2lsamdkVkU3QlRN?=
 =?utf-8?B?SU05WUY2cWVHWitlTCtZb2tBeW1UNHBSdEg4bkh0Ym1yRXVMWC84Qkw4UmhJ?=
 =?utf-8?B?Z3ZFeTI0RHNxazBsanBYVEpacmE5NW04ZW1ORWYraElLa2ZENHRFamtvTm5w?=
 =?utf-8?B?dFJSY0ZWRlhZMXpPYVE4ZXdzUU45dmpkaUloVTJmaTMrRUIzQ3QvZEw3UkVP?=
 =?utf-8?B?Tjh4b1J4cmp1alVNTTBpVitBTHpxbjhmUnV5ZmpJOXN3elhRYXFIY0xlbWJm?=
 =?utf-8?B?Z1VzWUZPd21hTW1ENlEzejdDQ0VWazhIbDhvNTV0QTdzdzludHduYmNlR05V?=
 =?utf-8?B?eTZMdXdCU05BZUFIa25SbVJSQmhBTzRxV2FwS24xUThZZy9BNXZFZktUb2Fj?=
 =?utf-8?B?cHJub2E1cnpMYkRPNGx0UGVhR29CeWx0bXREcDVrc3ExQU42RjNzcklBTGVB?=
 =?utf-8?B?WWdXckE1ZHhqNnlzUkRkTG5pRGNFcUdvYnBXV2NYRm9HQTZRYWFpQXZNSENE?=
 =?utf-8?B?d2pPazhlTUJaYytuVTgzOW91ZnhiNEdVWmRlNlg3aWlGcEhFejd1bW9tVUw0?=
 =?utf-8?B?dWttOHZRdCtjNGp1N1RlYVlPTmtDdHdhUnhoODFvTmxmeWt0OFVyOVZ1alo3?=
 =?utf-8?B?SnlUNFhJZU1DSDdENTMzNGM0akh0eERDQmtQeFhvWW1Tdk53N0QyTGZ4amtX?=
 =?utf-8?B?SUhpTTd0cGE0U01pYTAzU0FDSTVtRmtYZjBRWHVNYjR4S3cyMi9HYmZYTURz?=
 =?utf-8?B?K2JNZnJBTklSY3FnNC93YVdBb1lMU3F4ZUUwTkhWTEc1OE1uem9Qb3BPM1Mz?=
 =?utf-8?B?VjZNYkJYRUxad2E2YVM2cEp5VXVHUXJXc1JNQUFWNWY0Y2d4TDhsU0hVSDNB?=
 =?utf-8?B?MUt4ZlR5M3VrZ0R3VFMxZGVCR1JieTRwZG4yWkJ4VFZ6VGVTbldqSTA2SGtV?=
 =?utf-8?B?QVdXd3pzUzVwb0tCNVU1ZFJyTmhCMUwrZzZ3alhoUW15b21kd0N3dnd1dU8v?=
 =?utf-8?B?ajl4Nmp1MmR0Zm9vYnFXVWNhZFI2UFRaSG5oakJLcVhNbXJYUGxtQzF0eEdP?=
 =?utf-8?B?MXBodTBGTE54RithVVl1ZzJjcDRXNmpsaHVHT2NnTXRDaEtNY1grTVUydHVY?=
 =?utf-8?B?ZEtnTUEyR3ZSVXNQcUFhYS9ETjZWMFo1VURnT3VCdklOSk9JWEVYbDhzb1B5?=
 =?utf-8?B?bExvdDB3cFdQNnFSK3VOYklsVWJMTTZKMDB2cWZnVlFVZVZJcm5raTFkYnkv?=
 =?utf-8?B?a2p5QjNMVEg2L1ZmWGJZSGxCUGtLOGxLSmZUM0xSdTBZeThUOGdiSFpQSlZa?=
 =?utf-8?B?TmlzQTFEeFR2UklkRE1SR0tPK1VEbDNWOG5vSXRxdWNRVVVSQ3cvNklCRXNY?=
 =?utf-8?B?amJCandvL29KRVpHT2YvSCtHMkdMT0hQc0Q1dW1rS3lQL3pocHU0VnFMS3dy?=
 =?utf-8?B?Y09lZ3I0NVdzNUJEUHdrUGEySW5mTTBPVmdmekFXTkVIUjk1RExvcUpabCtC?=
 =?utf-8?B?aHkwOVp4YlJaVzlhc3k2MDJRUjFTTFM4TCtNaU5WUnJnZjZ6RUFuU3RnNURU?=
 =?utf-8?B?VEdZVkRDUUIwb1ROeU9ReWhheWUxWVVzUG44RnNaNlZHMGxiOHhqby8yajd4?=
 =?utf-8?B?Y295aC9vS2xBMmtYY01jRU1HaEhLN2I1SjdFNTFaeU02bFM0Mkx2aEw4bWZD?=
 =?utf-8?B?NnV6NU45MjdTbXJ2MDc0WTBlVmpZR2JDS0ZVQU9ySVIvYVBFZEoyT0xrUDRG?=
 =?utf-8?B?eGFzR1NjZFQ1elArN3pXNWVWdVBLcmNsQkNyL0RGWG1zM216WUkwUjN5WUd0?=
 =?utf-8?Q?XwBQzPQ2s0g2LCYYfzrEiK6KgwEhooyk?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR03MB7015.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NHFka25sTUxqZURXRGQwVSt1RVVCQW5nUHYrOXh0Sm10b1JIWU9BQ2lhNTlG?=
 =?utf-8?B?bVlaMHJJRjF0YVFvM3J5ZXNKYm8yU1h2NU81QkpvTkRYTjVqejlyc3JVbzM2?=
 =?utf-8?B?eURFL3B2OTYrRFBXdm5yL3c4dDhTdWZxTUNvNjJnYk4wN094OHBsaG81UHJN?=
 =?utf-8?B?RUFrMlpJdTlOZkpWbWdHQXo4QytGOVpZTkxWK0J6Z0gxTm92ZTIvY1h0SXJT?=
 =?utf-8?B?d3VXTmF2dUw0bllvTlVlNTBQNmdPNjlNbGE1MGVVMk5NSVl1Mm9PMy9Xbm5H?=
 =?utf-8?B?NnZzNG1PRThpQ0FkckYyblNCQVBYbEVkTER2eHBnWjkzYXFNcisvcU9PTml1?=
 =?utf-8?B?SjZ2V1haNWlMa1ZGQmNNZUp5RksxWnBUZEsyYUtWNWdLcnpxMjNyZW0vdGlW?=
 =?utf-8?B?Szg5enRSVVdUZUJodmlQSFltbXN3ajVQaVFXY2ljcExYK1huMnNqVG1VS2oy?=
 =?utf-8?B?aG1EWWVhMzJRZm16Zk1XU1kyV01JcDkzY3dNY3h3K1B3RVQvbmJoaHdISFIv?=
 =?utf-8?B?SFBOdFc3TFgzaEFMWjAxTE9sN2tScng1b21HUitEdVNrVXIvN3JNMDBuN3pV?=
 =?utf-8?B?TndqRXhVQVovUTlBZFNORUIrQnlRRXJpVjR5UW9SVGNDVU90bkpkU0FiRHho?=
 =?utf-8?B?dWNMYjFzS1c3T1RUNHplUk45bGhHQ0J6YWZWcldtamdMaGwwd2wyMkRldC9O?=
 =?utf-8?B?RlhNK1FEZlVVUUhXWTZwcDB1SW9sY0FrS1U0UVRkd0YzK01VYkZERldpTDlE?=
 =?utf-8?B?NnlmdlowME9KVVd1U3FVQVlVTDg1bll3YkEySWRtdkZ3Zk0rYVR0UVJXUlRD?=
 =?utf-8?B?dUxHSEQycXlwYU1sa1daanZ0T0JSQ0FPTHFaQjhHZHVwN25obWEzTFpGazRN?=
 =?utf-8?B?YzVLeFB5dlBCWmo3L1UyZzBJQVZhV3lzajZ5T2RXVWxSM1V2NUljekF1dEZK?=
 =?utf-8?B?OU1Ebk9LV1NJR1U0ZFUzVmwzRUxudFBGZk1xZ3psR2hrM0dsbHc4Y0E1LzBo?=
 =?utf-8?B?OHI1d1I2NXc3Unk0eWpZZlJMa0NDaDk1MlJ5c1N3bWhzYkRqaTFIalVMSFBn?=
 =?utf-8?B?WjhPWHhJS1duQTRsNk9UbVJLMEF0N2l4akMvRXVnRk9UY2pIMjBvSXpBUjg0?=
 =?utf-8?B?dit3d1VNYUxPeWY5ZDkwVG9ObnRwSUhVSklmdGNlWmd2YjRocm9ZaUNQRFVQ?=
 =?utf-8?B?VlN3TG1OK0JDbVVRVzJvMVVidUxKVFhkaGp0dmUxSDBpdW9nNUZ2NlI3VnBw?=
 =?utf-8?B?UXN3Sys4dHh4NWZkcy9sbWhyR2pJYW81N3hJMjQxRk42R3ZHZXAzR2xwRlZR?=
 =?utf-8?B?bCs1QjlnSjZsM1NMUVdCR0Q4Q3dXcHJTaXNVWENveTZ1bDlkeVNCOXI3eVhF?=
 =?utf-8?B?Vk40UXFuVkVxcHREMXN5R3ZsaEd1NGZ3QUl2MVp1TXZ3Z0hhVjFZVGlYQmdK?=
 =?utf-8?B?RDBFRFBEcVJGNHJYdW1FWG5YQnRkM3MvZUxVT05lRDlHL2FCWEc0T09CZ29w?=
 =?utf-8?B?V084TEJoMEJOYVphbDhhYmxUUDlwOXQvZlNMTkJuQWw5V3RLNlB1NlZvdU9v?=
 =?utf-8?B?WW41aDB1RjVNRGdaaG4zRUhrTVNlM3pDenEzSit0YUZJUG5zZHVDV0xwQ2Ju?=
 =?utf-8?B?b3Fmc3dJYTVITUNFb3JIK2xxbXJ0TkdkRkZlcUY2RWFsZG1tSTN0RFVkeEpS?=
 =?utf-8?B?U2EwNjZxK3I2K3VKYy8xa2FRMS9Va3gwbkgxdEdJOFZBeDVZckhWUGw4bjJL?=
 =?utf-8?B?cmZBRmpTN1BuOHF5NFl1U3REOWlPMjZPTFpDaEFiaDN6NFNSZXRMTktPVFpa?=
 =?utf-8?B?bmVLanpHcm9IcE12K2J0Lzd2OGMyMzNHUFBxZFJWWitnNE1sa0tLQ1BqdXhk?=
 =?utf-8?B?M01YVU00SXFZSExlcVRqT01YQm5EOWx1djhmTFdpc0NTbFZHNXdleEY2VVR6?=
 =?utf-8?B?aG9YQnRDVGl2RENYbjhUL0YrRzg4RUNpK1NuZ0JFZFNGOWN5bzljTGJsSnRE?=
 =?utf-8?B?ZVN1c1haN2FaTks5SFoxdUhpekszTVkrN0xSUzBvTnBuMTVPeWJiVFE5THhv?=
 =?utf-8?B?eG9RQ1VOc3hPYUtLWkxDL2d5cjVPMkZJd1hjMENZUlJjZkdNZ1VyNmZqMlFz?=
 =?utf-8?B?Wm1lcnJvVTZValBLam1xQi9lcnVPZHFwSWp2bnJ6Ti82eFRLdmdWc054SW14?=
 =?utf-8?B?Z3c9PQ==?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 61587b5e-2131-44ca-306a-08de1242e133
X-MS-Exchange-CrossTenant-AuthSource: DM4PR03MB7015.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Oct 2025 14:45:59.2202
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: UWZS9Vw8KcsNUN7NvZUEvxggTr9b+ZTwyesiP+KQ+IFPE40V/QM05HhE41cEMR+mPevp0xjVnKaN9NXyaL4Gt0ZHMzN1Y83no2gB5MBRS2o=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR03MB4990

On 23/10/2025 9:57 am, Anthony PERARD wrote:
> From: Anthony PERARD <anthony.perard@vates.tech>
>
> If not available, fallback to using YAJL.
>
> The code is using json_c_visit() which was introduced in 0.13.
> json_object_new_null() and json_object_new_uint64() where added to
> 0.14. And the last one json_object_new_array_ext() was introduced in
> 0.15.
>
> Signed-off-by: Anthony PERARD <anthony.perard@vates.tech>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

However, you should adjust README and possibly Changelog.md to give this
new minimum version.


From xen-devel-bounces@lists.xenproject.org Thu Oct 23 14:51:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 14:51:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1149235.1480916 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBwep-0007fL-5i; Thu, 23 Oct 2025 14:51:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1149235.1480916; Thu, 23 Oct 2025 14:51:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBwep-0007fE-3A; Thu, 23 Oct 2025 14:51:15 +0000
Received: by outflank-mailman (input) for mailman id 1149235;
 Thu, 23 Oct 2025 14:51: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 <SRS0=U0PU=5A=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vBweo-0007f2-0H
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 14:51:14 +0000
Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com
 [2a00:1450:4864:20::42e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b7775fe1-b01f-11f0-980a-7dc792cee155;
 Thu, 23 Oct 2025 16:51:11 +0200 (CEST)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-3f2cf786abeso732664f8f.3
 for <xen-devel@lists.xenproject.org>; Thu, 23 Oct 2025 07:51:11 -0700 (PDT)
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-429898ccc60sm4534655f8f.34.2025.10.23.07.51.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Oct 2025 07:51:10 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b7775fe1-b01f-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761231071; x=1761835871; 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=W6IQUqU5y2BjJHB6T+rWPpfpRczNxrZxlcpdt3jP1ec=;
        b=HR7lNqLpbLaFVoT9gxrErNOMo2P8EW+ViIXkTf23mrRX/6UOY7vXwp83hdIq3rbQms
         tUXuYNI/L4+VJw7PfqUEoluKGm52XPxekn1AwlDW6hoGeDwFNpbGrSZvXT/WvnP/CFfQ
         ngcx4Zpj3/Tk7229D1nfpLkUCRKIX0cAIzVyEH0L3C0hENUdQQYcRdLmC1wmZNXU/Hhn
         33AE+KzEm7wOZjcVnwhaKIF0HB3m3IimTdcBl1pKTPw6FpkSdhbNa4yMLv+HBfVo1Dnl
         CuNPGmusSFwweF/975jVLp80OWqe6cr2pGO7B920HS+EcDJn4h5rhjW0NA0dGV2htxc5
         bKHw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761231071; x=1761835871;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=W6IQUqU5y2BjJHB6T+rWPpfpRczNxrZxlcpdt3jP1ec=;
        b=ofmav6Ov5a4euHdLux2jbMp5UQTJCOQnoqpP6WzmWzOn0znGv6PJx3EMezsJejN0C4
         7XbFdTfdpecfZ8jO/ql121FFXIt9dZIpSXqKtl7A9e9s2P5JZW4JSM2b7dsXfV8stXAc
         FBuXKmVWQokLU+a2mW1weu/Sr1s6QGQWNcujUSHtjca4Y2aZEUHZcEFzndFtCKAkdHLl
         7Uh9cBcUQW4LvfLOEYi/uQi3hgaHu6IS6idj9IHXMuYQY1IB+v2Nze2DDmGPEuoRWG1W
         V5qtb3t2rrOm9NFk8ZLbrXeowis6tEHaqslnJTBagiiGNoLMhCXkTO1AS3VqFzGoVusu
         CQHg==
X-Gm-Message-State: AOJu0Yyu4cBqLvDeFlFiczYpqElJ8CzQeTnvxcwdrZd+LU3N6qh6sI4R
	yFt1sCTyrvYyFt6FNAbFzfzHSU0bRi3+VwhMgyd2zSsV7QN6B6tjql0cU29zl+3+d8taU++kpss
	E0Pw=
X-Gm-Gg: ASbGnctrQLKUiHwbEP/VZVLgXBliia45eUriOhOg5IfUdBvgSjhtfhDoF26oHBkHQQy
	e9Mv57GbxaU4vhY3XMGoUe1xwlTSvd+FuTGq5+oFJYbWxE2SLx6Zi1VSr/aynttBixB6HZ8yTjq
	gwfLsIBgm5KIyV6cfTByg0xMjAzI+0fjn6BE4xRzxwsNwlEdD3ME+4meV3bBM61LXuJPQlbXjt4
	nbEXoDvcLREh647BNBmF8VQy+xJS2vmx+0kVZf0qFmJxJauETA5ycqd9VizjbBjq0LXssd1Z0QC
	HE2Rnhx21uHHsSw65UyGvcGgGQLZ60gz6UEnTGFNIH+z1vNQ1Kc/5dOnRoAf2eDnYfrReqpi7tV
	cHhAFn1/9wZ1wRnWDOpqkPDkJKBvSB27XXVrMyys6l6s75ocNM7GmjyjJqC9XaMNLcavRHJXP1j
	2ufrLqgs/XJ/S4/6Fx/65FA47STLB0fygKreILS5Pjn/nqr06SS8+xrPFj+/u3
X-Google-Smtp-Source: AGHT+IFByNgEABmj/Fwrdq+9iBo5cJ+VhJv7KIqhhK+YOgjAkm5+7L/vSIJqhN/b2kABX4DTSxn9cQ==
X-Received: by 2002:a05:6000:1a86:b0:3ee:109a:3a83 with SMTP id ffacd0b85a97d-42704d948c3mr16749248f8f.29.1761231071147;
        Thu, 23 Oct 2025 07:51:11 -0700 (PDT)
Message-ID: <496e8dcc-f389-4e87-be9d-c52f2914dbc9@suse.com>
Date: Thu, 23 Oct 2025 16:51:09 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 for-4.21 1/9] x86/HPET: disable unused channels
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <b66ea488-2d47-472c-9520-8590fdf89e0e@suse.com>
 <53011168-7b4c-4232-9295-f33399580578@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: <53011168-7b4c-4232-9295-f33399580578@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 20.10.2025 13:18, Jan Beulich wrote:
> @@ -526,6 +524,8 @@ static void hpet_detach_channel(unsigned
>          spin_unlock_irq(&ch->lock);
>      else if ( (next = cpumask_first(ch->cpumask)) >= nr_cpu_ids )
>      {
> +        hpet_disable_channel(ch);
> +        ch->next_event = STIME_MAX;
>          ch->cpu = -1;
>          clear_bit(HPET_EVT_USED_BIT, &ch->flags);
>          spin_unlock_irq(&ch->lock);

Now that I have everything else working, I thought I'd look into where the
excess IRQs come from on Intel hardware. Since my earlier experiment with
making conditional the write in hpet_enable_channel() / hpet_msi_unmask()
had failed, I was misguided into assuming some more complex logic in their
HPETs. It now appears to be as simple as I initially suspected: It's 0 -> 1
transitions of the ENABLE bit which cause immediate IRQs. And the reason
why the removal of the mask/unmask pairs in patch 2 weren't (sufficiently)
helpful is above: We better wouldn't disable the channels, to avoid said
(mis-)feature. Instead I'm now intending to merely write a long timeout
value here, along the lines of what I did in this version (code there fully
dropped in v3 though) in patch 8.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 23 15:04:37 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 15:04:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1149254.1480926 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBwrg-00012W-DI; Thu, 23 Oct 2025 15:04:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1149254.1480926; Thu, 23 Oct 2025 15:04:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBwrg-00012P-Af; Thu, 23 Oct 2025 15:04:32 +0000
Received: by outflank-mailman (input) for mailman id 1149254;
 Thu, 23 Oct 2025 15:04:30 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <anthony@xenproject.org>) id 1vBwre-00012J-S9
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 15:04:30 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <anthony@xenproject.org>) id 1vBwre-00Fus6-14;
 Thu, 23 Oct 2025 15:04:30 +0000
Received: from [2a01:cb15:80df:da00:94d0:641e:16e6:ca4b] (helo=l14)
 by xenbits.xenproject.org with esmtpsa (TLS1.3) tls
 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96)
 (envelope-from <anthony@xenproject.org>) id 1vBwre-00BmYF-0h;
 Thu, 23 Oct 2025 15:04:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=In-Reply-To:Content-Type:MIME-Version:
	References:Message-ID:Subject:Cc:To:From:Date;
	bh=j//sMLo5UWXQl/AXUvv4p0UoPjftxMybawNv57Uo0mQ=; b=QT2EurwF/Rf+wCepxZejocQwcA
	fOfNtRM5mhNi4CYcFZuAk50XlLoYw2wy55dLcbZn57pkQRJGv2g9ZJc9Q+NzUbrZXjcCqLe6vpKxz
	lulLSGO/AQ6ULsSsvlkHA0HIyF1Gdn4CQbmBwgD8bf9bSdJt7atPXpgvl8YBDaZtAAEE=;
Date: Thu, 23 Oct 2025 17:04:28 +0200
From: Anthony PERARD <anthony@xenproject.org>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Anthony PERARD <anthony.perard@vates.tech>
Subject: Re: [XEN PATCH for-4.21] tools: require at least json-c 0.15
Message-ID: <aPpD_G_oULdfeWbf@l14>
References: <20251023085730.36628-1-anthony@xenproject.org>
 <bd6c0e3f-f2bc-4399-adf6-d2dc18b06982@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <bd6c0e3f-f2bc-4399-adf6-d2dc18b06982@citrix.com>

On Thu, Oct 23, 2025 at 03:45:55PM +0100, Andrew Cooper wrote:
> On 23/10/2025 9:57 am, Anthony PERARD wrote:
> > From: Anthony PERARD <anthony.perard@vates.tech>
> >
> > If not available, fallback to using YAJL.
> >
> > The code is using json_c_visit() which was introduced in 0.13.
> > json_object_new_null() and json_object_new_uint64() where added to
> > 0.14. And the last one json_object_new_array_ext() was introduced in
> > 0.15.
> >
> > Signed-off-by: Anthony PERARD <anthony.perard@vates.tech>
> 
> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
> 
> However, you should adjust README and possibly Changelog.md to give this
> new minimum version.


Will this do?

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0cf9ad2d95..fc4f6d7c8a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -14,8 +14,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
  - Debian Trixie added to CI.  Debian Bullseye retired from CI for RISC-V due
    to the baseline change.
  - Linux based device model stubdomains are now fully supported.
- - New dependency on library json-c, the toolstack will prefer it to `YAJL`
-   when available.
+ - New dependency on library json-c 0.15 or later, the toolstack will prefer it
+   to `YAJL` when available.

  - On x86:
    - Restrict the cache flushing done as a result of guest physical memory map
diff --git a/README b/README
index eaee78bd73..53a4d5c2ae 100644
--- a/README
+++ b/README
@@ -53,7 +53,8 @@ provided by your OS distributor:
     * Development install of Python 2.7 or later (e.g., python-dev)
     * Development install of curses (e.g., libncurses-dev)
     * Development install of uuid (e.g. uuid-dev)
-    * Development install of json-c (e.g. libjson-c-dev) or yajl (e.g. libyajl-dev)
+    * Development install of json-c 0.15 or later (e.g. libjson-c-dev)
+      or yajl (e.g. libyajl-dev)
     * Development install of libaio (e.g. libaio-dev) version 0.3.107 or
       greater.
     * Development install of GLib v2.0 (e.g. libglib2.0-dev)

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Thu Oct 23 15:05:52 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 15:05:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1149263.1480936 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBwsx-0001VJ-NJ; Thu, 23 Oct 2025 15:05:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1149263.1480936; Thu, 23 Oct 2025 15:05:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBwsx-0001VC-Ji; Thu, 23 Oct 2025 15:05:51 +0000
Received: by outflank-mailman (input) for mailman id 1149263;
 Thu, 23 Oct 2025 15:05:50 +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
 <SRS0=5hDG=5A=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1vBwsw-0001V1-HE
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 15:05:50 +0000
Received: from GVXPR05CU001.outbound.protection.outlook.com
 (mail-swedencentralazlp170130007.outbound.protection.outlook.com
 [2a01:111:f403:c202::7])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c01f3743-b021-11f0-980a-7dc792cee155;
 Thu, 23 Oct 2025 17:05:45 +0200 (CEST)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by PAXPR03MB8116.eurprd03.prod.outlook.com (2603:10a6:102:22a::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.13; Thu, 23 Oct
 2025 15:05:42 +0000
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593]) by AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593%3]) with mapi id 15.20.9253.011; Thu, 23 Oct 2025
 15:05:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c01f3743-b021-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=lnr6GZW0N3nlTUb+Yg+BT7druvtoZYYh2dkycahnWneiPaDiV4fMo3OUnzGuaIPafAbSCxgGSWWwSDW6ln/Qh3kmrmC6NE6EDNJCBw/nhbPqMYXn1p0xR6adrKeNm+BGevvz+ktK1+o44OuAHi6TGt2VfM48Dv1W+qGOnJXY71Hjj6KV/5Ho1lZYXI/YSgVY5j9C3M7iDmLqV342q+QM+mcH7pUJyEuqD2tG9jGvgu4LJSc6pREO2X0k3Jh/LLHavz/FaxxBmKp5HRm8wmmfsPSjzD8O8vl1b30H7ubbzDcEe0egAxy+MhlbQruvcBsICqiSlPp65eizBpGC2Q1qlA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=IiiPwJEfsr6ungBjjkhX8zH549PdnKWpiqjw1o9TYKo=;
 b=kuiVX2T0ia8CPQqRne1dUmVQMErV3D1VyeqpWsbec2ERJbUvHU8buD9gtM4vGGtMAb4Gz34fdsIwCUuCtyTfAqPTK0jQ/ALzESi2fIcfpDUMV4O7PA+Npis+F3I2eaI2vUBzIzcE7CCYx8/QiuygFgqQk5xBhUwntwz+A1fI3LRUIeG48IZUftf4DLR/Okp7c6aZOr/W3E20pRCSpL1LY9XrtlAs7OZcUzqQFnRcIpanD7wr4AcuSektbQLXK/Lf7UZJuMwH5NX8lavMUk25APLnq9vS4OLkMHm+utjdtGG3YQjK2ij807xjStAZvKjn67mzo+ZB26OFqtkWYpomyg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IiiPwJEfsr6ungBjjkhX8zH549PdnKWpiqjw1o9TYKo=;
 b=js1PVwZE1gIIENbx71A/zgDweUWVBhfELSiKye1xh7WQNdNPhsVJ31jevNS5kceFUhSIHOrbkJ03ZpfN68KjbhS/TAmnzg9zoNJkvJe6Ie8fi2I7I15jWjMktmbuxu7m9FpfA3hw0TQ4IEJOzfyPm5x1Av+KNJYyb1UfPr+HR/f6GD3NSGraTz4ERhLnpklWT1/kt4ns9sCiyfu6Z23mEuvN6TKYX9uUIyn57+Jrof4u3D+xvE+6U9HOAqJlCoWel6aG8GDyd08F+nhNIMUQ+RynPG2HOHRIn7fRhPU5MVMlWhBUGZ4ClcvWnYUXQzPswKWLZyBlNx21Fc25MCGqtA==
From: Grygorii Strashko <grygorii_strashko@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Grygorii Strashko <grygorii_strashko@epam.com>, Jan Beulich
	<jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	=?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>
Subject: [XEN][PATCH] x86/hvm: vpt: make hvm_set_guest_time() static
Thread-Topic: [XEN][PATCH] x86/hvm: vpt: make hvm_set_guest_time() static
Thread-Index: AQHcRC5/qP+fMN7O8kOa05GaXy6E0g==
Date: Thu, 23 Oct 2025 15:05:42 +0000
Message-ID: <20251023150541.556368-1-grygorii_strashko@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AS2PR03MB8907:EE_|PAXPR03MB8116:EE_
x-ms-office365-filtering-correlation-id: ca4b0565-14b2-4045-ceff-08de1245a281
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|376014|366016|1800799024|38070700021;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?ahOvi0zPvgKFNzV/4OsIGIA731yuDItQp68TADfQaL/8XtkgVL6J0K09i9?=
 =?iso-8859-1?Q?EcS1tkUIA5CYBVzjX9niZl3xuxpSniO0fNySjQaXTGT6pY8HXiUmqo3pl6?=
 =?iso-8859-1?Q?1kzzo+SZ2KhcktNwj30VI9mBNn5yJOB/XGlk8Onn8ILwQeqlvR8CEtI8Rn?=
 =?iso-8859-1?Q?tvWEysP7LSJWxqmEouTddUgBCFu16MwLwHZdsfWXgE1/eii9pRA0ep0iu0?=
 =?iso-8859-1?Q?wyQQcWJSiwpLRaKEpA4z8XYIR2z1fRZ3Ccxrx9Eb7F15E+YOJzzhTNtmoc?=
 =?iso-8859-1?Q?ID00nUyIVWONlncLmU3tL3qiuc68p6n16VRj/w5ittx9Uo35Edg4pSouys?=
 =?iso-8859-1?Q?TdcvyfE6ZwbPUu6ctIC66csLU0ftLwEiYPePs5pT2X0G/0l+fabp+S6kty?=
 =?iso-8859-1?Q?HHg037kdplBh3heodR2GVIE+4JljVS8ypKnvSsqaJFgTqTXz90jC7nvMO1?=
 =?iso-8859-1?Q?xtR3izWt5rzPRvJH5DjmKGk4HbZyqjONhdSUSah05zXX3gHwIKNeEUeaQl?=
 =?iso-8859-1?Q?FZYBWRUsqYfkXkw9HamVnIayABTq0660N8faOlb1gj9jafkpGKqnNzQDrI?=
 =?iso-8859-1?Q?2YzlnOtJg7DRbt44YvKsgz1gpzURZwD39FbkeG2ubc+O7RGh7rtk93FKJZ?=
 =?iso-8859-1?Q?36WygeJttShXVDdiBgvq9EJ8YlURFkpb19c1Gmd8nP5zeDPpK+GOQznS0B?=
 =?iso-8859-1?Q?upoCPMQAvQMG68qDxDjL84ASAds1Xf79HO3GVCw9WWwZfIsJoHISbHYzyg?=
 =?iso-8859-1?Q?VdbiKK+bfo1fxImw2wdYTttwxsODoMobSQr/hRpaEZd6XvrzCuvhXQdiEt?=
 =?iso-8859-1?Q?FHx6U4C1JuCwVbbaDwKVdstUqx93CEV4F/JDUDx1uHU79WW46KKekMkeYu?=
 =?iso-8859-1?Q?BJ6JBo8Tl32YMj/MQS8VjJmfb3mSzrDHxRgKoiqvdXwo0UPSfOJFOEgs54?=
 =?iso-8859-1?Q?c9Yvm/sZ/YdAeylXRbz7rAnKHuL7tC3TbNKO1/zQO+C2amktcDp6f0B7Ut?=
 =?iso-8859-1?Q?Djd29knrUL+ejkUxUkvZPmqWJLwRQPv/SSUC7tmD+cSdxaeUoZdc1ONBnh?=
 =?iso-8859-1?Q?Twlkp8zQDwMrIu0j2355B5Lx7w2WWLrZsBeitbCt4ABwTkFr/P4nHV0Pqj?=
 =?iso-8859-1?Q?pCWIUTql6sUntE6G70HVDkQwSc2JzGwgPDslwNTc0VMDwOoDpWZ/sGg4xp?=
 =?iso-8859-1?Q?1ysA0a3nuteTR3PgqS9wOurwgftTMl+0AHSZykybCOcskfV6QOwitrRlP/?=
 =?iso-8859-1?Q?7AAGcP8M4ujISrSLXlZ1V85j88cFt+CAeiQiZa9CUGsPSOhPvTruiqVrVR?=
 =?iso-8859-1?Q?pf+0YJZ3+b22dVArIZtnTRS309Ps6087AFTHbOBW6GZzyliwSt0tjtqO0A?=
 =?iso-8859-1?Q?CEG3Wh81mYPA8ispNsLj2QM1S35flUnukcb37BFlX7Ey9EAWf2SuYNmVta?=
 =?iso-8859-1?Q?CSFf4voCpVqslfiiyd3oQp4CToXK/A890ZgEzXZfFUBkRrBBwR8l6tGnRR?=
 =?iso-8859-1?Q?FF0Cs3AboJqimPR/7sF/0/q7B/kzNseaZq0ZPsfw0gncsdvCE9ljW+ckAE?=
 =?iso-8859-1?Q?OMDTWIs7H+MS99GeKlApSNN8uxgE?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS2PR03MB8907.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(38070700021);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?EwLIgV06PwHuElMTBal3tOP6G5TP9gprkTxO845UKfKeeFAIQGmkZRAoEU?=
 =?iso-8859-1?Q?rf3TlQ4KrpJD+Q4cIxSKhTWzqqFkQ56+mTx+qvoXPue5vpob6syrAsipgM?=
 =?iso-8859-1?Q?sV7gboYrFwDIwyZht+AOICQO3o2+hQZOvERqVceI8FP96fuJPgQvWdxBqW?=
 =?iso-8859-1?Q?afAAwpKoLgdGG7veK/GhgxoKNlufspAL9rkOlTJtchxWsMu1pvGkW/dKE0?=
 =?iso-8859-1?Q?uokQI3s+vDikJoFP8mXF9ZW5+1rhmEqI91/pTBK56Ojvk2BA8hanXXL1Gy?=
 =?iso-8859-1?Q?bnhKTWwckdoRsId9aRmu1LZc+HvierLI/KKd4pRznqFJAMrtMbh0aK8LKY?=
 =?iso-8859-1?Q?wStguGjcFnyzrT2Jnq0T1iFupXiZ8nzZvz1emXQp0jxtK/sltnCWLOVAcF?=
 =?iso-8859-1?Q?HYkA97+00AFMqScnLEFuU6drvPpSvK88kxwZcO6QH0emXFtqQiKBFvX0Vv?=
 =?iso-8859-1?Q?zXF/Z5TNZqLaF0vsvMsFqFi1J2a8MOQXDNXQQReBHWEsoRbvLO6U2GLZgo?=
 =?iso-8859-1?Q?wHvUNIH5qjnahTyBfFOQHgValJuNaQDsbd81r/oLLgh9wmKyPkTG1FFSAz?=
 =?iso-8859-1?Q?7Cp+uqSO8usNwr5mUlLqcsuA1k3mUDYjZVQeEt03coN20UXMN8YQYgQxv1?=
 =?iso-8859-1?Q?5LddwRgx3xLqfjLMlA7lDwUp1vn718Bhz0o9iPOmXQb43kR5FFXEIgwMls?=
 =?iso-8859-1?Q?z0zHRCpLC2flSdXEndDDmP63whKsRFEslzz6kKelN4IrgwG5TMTm/DskGU?=
 =?iso-8859-1?Q?VgFyJ0NbjxsKGJNKizKFWe246yNuEoimjaYMBPQYOyS644qGH7bV+UeML7?=
 =?iso-8859-1?Q?NKHj+aEihAP2OUeHSOA0BsMCE+WoRNoN4OLd0yGXi01lpNqycB/P3AeX+2?=
 =?iso-8859-1?Q?QixlO2C0pmOufJW8xb/0pQPB6yu2rJhXFqZWYlXhr2LK0y8QoVWeiVMxAw?=
 =?iso-8859-1?Q?EU8Ump/UBeeAv51i0t2K4ZLOnszQS2KW8LUUmOTISXyQXvEUc1j63Geovq?=
 =?iso-8859-1?Q?bHB3P8N9T6FPO4f6Q0XQdEN3VT0YnTfwpN+L2INatPmIeXgaaQdMTrxK7k?=
 =?iso-8859-1?Q?Rl153gAtAJuTxS41Cj4rbxenzydOog3n8YqxswLjYclgIB/MEzItpB0dDK?=
 =?iso-8859-1?Q?xsCg+3cZ3ewHuhwnQKhU6qY8Qp+U4JphfjMHWVRTIVGrwo5A965bSAZSzf?=
 =?iso-8859-1?Q?JXtI0X35D4fzi+tulmJbk6KzprLLHNCMIhRBCKtrT+rBvnNvNeO/3R9ovW?=
 =?iso-8859-1?Q?/T/vaYyQZe6ziQ2yepDHdMqsp8KscKOeHd7EmfMU7gS4+Vb1+5X5clLMRt?=
 =?iso-8859-1?Q?SN4nFDZJAb2iTKyM9vrtyuRch+6kD1JwM5/UAaoTKZ/SzJdLdlOzXgJyqD?=
 =?iso-8859-1?Q?B4htMVSq0l4EMpYRExjD5FwOgu7J20+HC4UHuIvlfW5sD1K5yvmoUG6Fqc?=
 =?iso-8859-1?Q?RO68wj7uE2yCtggkiuvz9dKLkXbvEokKt9Na1om6IOHyVjc9m6vG3QMH9X?=
 =?iso-8859-1?Q?UahXFs1VDJ2CkfWg5GH3H4u7inEuCXhCtfvOcL2+UzCZ/E5TtODb0I2qJp?=
 =?iso-8859-1?Q?gnQgp0m9LYt+Q5m95frMw479du0drc4MH75WW2R/kLrmYXcZOxNdZi5ux4?=
 =?iso-8859-1?Q?nGL8hJmXmBdNxLq/s7g/9AC2uBHwZk3oRljBq8VATCHM4JL8+kDmBY7w?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ca4b0565-14b2-4045-ceff-08de1245a281
X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Oct 2025 15:05:42.1135
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: m8CJpp3lqO2tz72jootZ5xjYkgZpjZAOk/eBToNkIPv/ABpEo/i+smgNDJVHfEMhNndRf5DmyD/Ovn3Llb6QcQW5Mr6n5EF7XsIXY+x5nT8=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR03MB8116

From: Grygorii Strashko <grygorii_strashko@epam.com>

The hvm_set_guest_time() is used only inside vpt.c, so make it static.

Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
---
 xen/arch/x86/hvm/vpt.c             | 2 +-
 xen/arch/x86/include/asm/hvm/hvm.h | 1 -
 2 files changed, 1 insertion(+), 2 deletions(-)

diff --git a/xen/arch/x86/hvm/vpt.c b/xen/arch/x86/hvm/vpt.c
index 4d8683064479..50ed7389985a 100644
--- a/xen/arch/x86/hvm/vpt.c
+++ b/xen/arch/x86/hvm/vpt.c
@@ -48,7 +48,7 @@ uint64_t hvm_get_guest_time_fixed(const struct vcpu *v, u=
int64_t at_tsc)
     return now + v->arch.hvm.stime_offset;
 }
=20
-void hvm_set_guest_time(struct vcpu *v, u64 guest_time)
+static void hvm_set_guest_time(struct vcpu *v, u64 guest_time)
 {
     u64 offset =3D guest_time - hvm_get_guest_time(v);
=20
diff --git a/xen/arch/x86/include/asm/hvm/hvm.h b/xen/arch/x86/include/asm/=
hvm/hvm.h
index f02183691ea6..838ad5b59eb0 100644
--- a/xen/arch/x86/include/asm/hvm/hvm.h
+++ b/xen/arch/x86/include/asm/hvm/hvm.h
@@ -287,7 +287,6 @@ u64 hvm_scale_tsc(const struct domain *d, u64 tsc);
 u64 hvm_get_tsc_scaling_ratio(u32 gtsc_khz);
=20
 void hvm_init_guest_time(struct domain *d);
-void hvm_set_guest_time(struct vcpu *v, u64 guest_time);
 uint64_t hvm_get_guest_time_fixed(const struct vcpu *v, uint64_t at_tsc);
=20
 int vmsi_deliver(
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Thu Oct 23 15:06:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 15:06:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1149266.1480947 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBwtH-0001sH-Ve; Thu, 23 Oct 2025 15:06:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1149266.1480947; Thu, 23 Oct 2025 15:06:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBwtH-0001s9-RJ; Thu, 23 Oct 2025 15:06:11 +0000
Received: by outflank-mailman (input) for mailman id 1149266;
 Thu, 23 Oct 2025 15:06:10 +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
 <SRS0=Ct/T=5A=citrix.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1vBwtG-0001V1-O1
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 15:06:10 +0000
Received: from BN1PR04CU002.outbound.protection.outlook.com
 (mail-eastus2azlp170100001.outbound.protection.outlook.com
 [2a01:111:f403:c110::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cceb5743-b021-11f0-980a-7dc792cee155;
 Thu, 23 Oct 2025 17:06:08 +0200 (CEST)
Received: from DM4PR03MB7015.namprd03.prod.outlook.com (2603:10b6:8:42::8) by
 SA1PR03MB7031.namprd03.prod.outlook.com (2603:10b6:806:337::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.12; Thu, 23 Oct
 2025 15:06:01 +0000
Received: from DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9]) by DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9%3]) with mapi id 15.20.9253.011; Thu, 23 Oct 2025
 15:06:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cceb5743-b021-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=hBHIXmVvI5wanT1D2KG0mTPWptcSr5FZJ6PnPs1NC9yRiLy7Zq9FH73G6tup2HU1YItTjjS8E6EBGHfJQT/PY4RMxUCbvctdTi9LINm7nuOsVCvk1Ze1YPldcWlJRjgHpEdWMJpKd7dZGlwYRzwAsy/zyGPvKIofN34xDu3SqST4OzZl+jaGtTsySCGdhtoYANDWDLL+q13EAVjNFq1IxARubINrzlGLlO0poH9IYsjfQ7FrtogeePV9MSWeej+yZOvMiETaCsdWcu8leV4HBrHzHd3ivQexwHCT2j/H3R8C0TrnJtjawEOpx8HP/w9xN4KVYyQ/drtuvo9pjJYGBQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ep14Fjn2U69DKo4o9l0vy3NCooP1RZIdT7PiC9uK0LY=;
 b=N3k+p6fGCw3EgX3pNFxBTHtcc8TzC7h8FzODMyW8wQjFy+71FDxtKSYOI0LJALmWRjGzVVbOibYb3CCVMsCEhSHsEbJwQ79ZNvOJzkgThhWL4IcxlorEs9IvFMgsix1D59R1Dy+m+Q1bkgCJ+3CJsqNBOHjyXt9gjS1Zw3SgRC0NMiNRNf3lFzdDLOzBeyuhDsvPLXwSn1+xg1EbpmlexUSZ3wXC8K/bzJUoMASA0vgrx6UajB82/Ea5MmAxZlbCng+Eabo+FZUcbQPDpL2y1RtcZ2mtgFOWAnzRlzJ70U6Z3RJFDi7wOl1u1c0cy/pjczqp0NkAaWsee+75REZzfw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ep14Fjn2U69DKo4o9l0vy3NCooP1RZIdT7PiC9uK0LY=;
 b=bULuUWQ4wlkfgoxb204quDvMnVqdRiJWgyZ8/uLpPs4MGAgEb4Fpp9KuniP1ELeAtMRoOeaCQA1qX87+dkTR9V58yoaOTXg3XLl86fCUQWOpbX6rCqKUeEXzATaW4QhLydMGhUm/u/X6GGnImUY+vygo9RG75w3sTVKjb93OQL4=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <11af3953-ae52-474f-9d18-d12f79ff231c@citrix.com>
Date: Thu, 23 Oct 2025 16:05:56 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH for-4.21] tools: require at least json-c 0.15
To: Anthony PERARD <anthony@xenproject.org>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Anthony PERARD <anthony.perard@vates.tech>
References: <20251023085730.36628-1-anthony@xenproject.org>
 <bd6c0e3f-f2bc-4399-adf6-d2dc18b06982@citrix.com> <aPpD_G_oULdfeWbf@l14>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <aPpD_G_oULdfeWbf@l14>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0331.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:18c::12) To DM4PR03MB7015.namprd03.prod.outlook.com
 (2603:10b6:8:42::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM4PR03MB7015:EE_|SA1PR03MB7031:EE_
X-MS-Office365-Filtering-Correlation-Id: cc7cf26e-e791-44dd-6d2f-08de1245ad10
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?UWhCa3FDRzEvL1NMeVdIcVNhRWJtVXZzd3lNRU1HR1U5L0ZNN0lFQUJWM0NS?=
 =?utf-8?B?L2xzVEc2dDMwZ0FBeENYUHJpellOaFg4M0VTZzZWeTN4SzRqSnovaEczYkM5?=
 =?utf-8?B?ZmhRVjBDZDRoS1prNjR5KzF0RlVERUN6S2R0bnJ5RmRmckJzbVF0N3B6ZVd3?=
 =?utf-8?B?RWlVcFg1QlVlbjcyRU03dU51NlhRMi9aWDVKY2QvOUs2RnNnV3ZacDIrT1E3?=
 =?utf-8?B?Qm43YkxXNGdlTDBKWlZiM0haT2ZMUm1nMTQrZUQyWGZ3QURUWlZGUUJyYVQx?=
 =?utf-8?B?RjBXb2s4MWlPU2lsSE1Qbkc4SHgzblVjbGVtcVdDYlIxL1FoN2ZWR0dZZlc5?=
 =?utf-8?B?NUdPWUtoS1c4TzdaWGdCbmxQTzh6T3NkSFNPUWpyemZ1eUtqREQ5VHFHMC9j?=
 =?utf-8?B?YTdqamFFU0ZHWVMyRitiSXBNNkY3Q2hwZUpyZS85UFpaUEtVS1MxcTZPUTFV?=
 =?utf-8?B?Q3pZZVdpZzNWdlhDL2F4UGorazAwcm8rWWdwakhodUh1elM3ZzY4SDhETzNJ?=
 =?utf-8?B?cFVPSExBSk5EU3hWVzFmMkg2SWozTjd5MEpaeUs3a1RWN1ZnTzBZemg2U0RK?=
 =?utf-8?B?aHNhSkdLem1JdCs4NVRtZDFqVTF2NDVoRERXMEFUK0U3L0tNTTlnOHM0UUpK?=
 =?utf-8?B?aW5xSG9hNnF4QkdSREloZFRFS1h6K0FEM3FBeHo3Tkt2R0dMYUw4eE90TmMz?=
 =?utf-8?B?SW13TVE0YjlYWUNPNTRkM2RNNVpabURrdEROL1ZjZzkxQStVcDhQUE5jNC9H?=
 =?utf-8?B?c2NPWUljazc1RFVhNjN2STg1dDQ2anRQSVluYlQvUXI0dG8yZlJtVHhCZ09h?=
 =?utf-8?B?Q0l6VTh0bEk2L0tUVjlzQWRKL1BackJmSS8rMStrZG9lV0JjQ2lLQWhYWTRB?=
 =?utf-8?B?RWdFMDIxTlZWdmlCSUZ4L01wejg4bEV6eTErODRuR2t3M3NnbGhGMHhuR1BV?=
 =?utf-8?B?L1c5R0svQ1MyZnBIWXpjd216cHNNYW9OT2NWK2NSNUFhUWZ4em03cHlyUXls?=
 =?utf-8?B?bmFUTnI4UTBaMDJ5QVFuZGVYVXpnMW43OFp3bkNtWW9yODF4K1VIZkk2SFVI?=
 =?utf-8?B?UEJKZVAwbm5yYnFoNHp1WmZzWjFsSUxwejVncjhYQmpzaUI5YUh5dGRRNUR0?=
 =?utf-8?B?VXpHZmxnZ0tvVTdNaTJoYmRtcEdHT3JMcFZYSkV3djQ3aGVkdmlUalR3YUQ2?=
 =?utf-8?B?SFhJUkxra2ZJVmxuSmQySmRwbWhEUlBwMzdZSHN3UXlYNVRrbVkyZHJaSVBv?=
 =?utf-8?B?cTA1Q2t1czFrMngxcjZsbUhoOXl0Q1dRWUUxak1FTEQyTHJWamVES1ZJVjVT?=
 =?utf-8?B?NTBTdjJVbHM1U2d4cTJqdnhIRm5mWk5uYzRzQ0lEMytML0IwRTE0YnZPckps?=
 =?utf-8?B?cXYyUXppZGtGZHdzdXg4U2VRN21laWhESUNIZEpIazhmakk1b0s2eWJDZXdm?=
 =?utf-8?B?VDNMOThLeHlOdWlSazkydW80M0pjUkpxV1JjWmh1NFdsSmFEbktic3YwZUps?=
 =?utf-8?B?YmxTLzhGNEF6bVpneGxxdEl3d0p3V0N3UTdPZ1ZiUEp2clVQOTEycXZ3NkFm?=
 =?utf-8?B?bVo5aXBKY1BoVUZTTktkbUdLRTRCNnY5a2NuRjcyNS9QVnJaVUNaRGNFOG93?=
 =?utf-8?B?TE9PaXpCb2haQjhFd3ZaNzVCSkxHSXkxN1dzQ053N28weDFxWVIzY1I2MVhF?=
 =?utf-8?B?ZHljWmZDVWxyRzZWTWtDOCtLL0J5cFUwQTZkL0JUblRNd1NYbDZyQTZINkwv?=
 =?utf-8?B?TUxYMVB2UUNPYVg4ZUI2dXFsc1VQK2dHSEFGbU5BRFF0ZzJLb0VPSHgrMUk4?=
 =?utf-8?B?ZmZGUW5VZytvOXN4MnlMTi9nY3hnc01EbVJqUHJ3MmtsQ25hdVZaelpGdUdQ?=
 =?utf-8?B?dlAzRU9tVnBOcnI3amxFSXEzK2N5cmM3WTBKUkp3NlYrSlE9PQ==?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR03MB7015.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aEx1emxsRGkwenNCeXFIejlKaU11Y3Z3cjBGUWpEMWthMkxLTjZhQy96Nk1U?=
 =?utf-8?B?TjNzeUpjU0tQaEhEdGRnbXVQZkNBUEtnVW5XQlJ2SWJMZGcwMXhmZWNjZ2lH?=
 =?utf-8?B?dmZLR2VxYzBHbjl1ekJKZFJac0RmTGJob2xGeGt2K3dQOWFqQWhwVzNNTExE?=
 =?utf-8?B?djJOQytWQnBOTjBHd2QyY3VkaWJNVzVZSVRocFE4Wlp2djV2MkYvQXlDZUpz?=
 =?utf-8?B?cDA4ZkZwb25NeWh6L1pJMElncVRXWnRzb1dsMjcrRzhhbVdia3U0ZDZtQmg4?=
 =?utf-8?B?a1RLYUxZV3N3ZlA5a0FoSUFXcksrZ01KMWhaVHhGbE56blRuLzBTL3hoRGhP?=
 =?utf-8?B?WHpHOVlueVp0V1pEdVRWbk4rUDJ4djkyTXhPeTJqMURIVlM0THBTVFFPQXFo?=
 =?utf-8?B?WG84UHNWSlpuWkNtZGg0b1VYSUREckRpTHZoaVBaTUdOVnMzZWpwbDZmbldZ?=
 =?utf-8?B?UUlha0dPVTR1Y2hsQ0ppaHgxQ2pBNi9JSEdBTXFsUWFsL0x0dDFXV21mOW4w?=
 =?utf-8?B?dDZnSFMrakVMT3FnZUhhMktkTEpUelM1aS82ZW96VUNWa1k5SWVXMGV1NXNR?=
 =?utf-8?B?UDBnc3dWY3Q4azZIVFFjVjdFMC9hdURWbkJrTmVKVEp5ZEs3WFdvRGltWW9z?=
 =?utf-8?B?STAwcmNacTIzaVM5ekxpWmRxWnNzN3oxY3Z5bGszcU9PeWpPYVlpd1N3U1d5?=
 =?utf-8?B?MzFYZkR5K3diSkQ1bGlkc3gzY05MeWx1V3ViTXdYK1VvUGpRREZIS01rTGRQ?=
 =?utf-8?B?TDN5c1FIM1hFVFFwODJzUTduVHFsTllpRENqRUJDZFYvZzRwWFZlYkJMNXVC?=
 =?utf-8?B?enhJYnFvY3oyUmZ5THV0L1NBSnhwVEZYcUhZMExrbUtYWWp4MjF3Rlc4ZWl1?=
 =?utf-8?B?dDM3anFtTW5Va01qS2FIOWF0ak9QOGtKNjRsUy82OENZdHM5ODZkYUpMNzBh?=
 =?utf-8?B?Z2t5REFkNmhiWXB0a1NwT2NyUlhpQjhKZFRtV2FwaGJ3d2VKTGl1QUJrak5u?=
 =?utf-8?B?YkJwVFNScEpEdUV3NFljdjlhZG1CZmxQb3pMcmNwTkZ3ejIwVFhqdmpWUVhn?=
 =?utf-8?B?S0FzbDFlN1kwdHFoV1VRQVdxY0ozOVl1SzU2Zk5FRjlVcEZqRWxWZEltTmdh?=
 =?utf-8?B?djlQYlk4QnRtUk9weDJHV2dYU3J5VFk4QjJzWklVaWM0MXU1QS9IdXM4SSt6?=
 =?utf-8?B?a3BCN29IZm9RTUFKOUpDYUQyWkJLOXo3UGFTdVJNNkdsTW80b3lMd2tYTXZW?=
 =?utf-8?B?Sks5eUg2bFUwZUFMSUl1ZmcyMU10U1VnYVZ0MmI1Z3Q5RzlGdXk1YmVwSHcz?=
 =?utf-8?B?QTVsdTlCSE1BZnVFdW56Rk14YWVsZFhyN24rK1FrK0x4YlVkWWJ0SVVmQ1h1?=
 =?utf-8?B?MVZoLzVjSVMvdjdrSWhkaEg5bWZXcjF4ZlIwd0tUUDJuaDhWVjlOV0JOT01H?=
 =?utf-8?B?aXBNMDA2WklGamlFVmVoWDFkWnJ2ajE1RG1BZlI2VU1BYWN2U0J3bW9rQlJZ?=
 =?utf-8?B?TGdTeEtqQTdOUkRkbFRoK3lEc0VtYUh3Mlp0cGdINU1HRW12RTFVQ0toVThE?=
 =?utf-8?B?djZKMzgwVXV2cnkxUzhDNW5kai9iL09PMk82NGxneEtnTTNXcWhSdThZQnB0?=
 =?utf-8?B?RHZ1T21uUG9OMnBkZzg3WTZTS3VTdHRMWjZTTFZsc250a0ZYd2JHck5Ea3Vw?=
 =?utf-8?B?TEJGNTI0bThaajVaK1BtbnZQZjVtSmYveUdyTnFPVml1VERzOHNsN3YvN3NG?=
 =?utf-8?B?ZTM2YW5DdEtsUFV6T1BOZDVraUdsWTJxZzUrSGlaSlhKaEYrcTlYR0N4ejJ3?=
 =?utf-8?B?MUVGZFpablVOUnlRc20rZTJLbTB0ZndqTTF5OENKZGRSaXFnM25kejdjWEow?=
 =?utf-8?B?RE4vY1RFWk9QUm1rMVpvckcrdmpjMHkxazB6TUhwQkx4T29UQncrMHQwOGRh?=
 =?utf-8?B?Q1V1elFoSktMWEJteXp1V1BCWlRzUzdFSGxjVENUdm1JdnJvWWJHVmRicHBY?=
 =?utf-8?B?OGtVMnJKaEJ6RGo3RDBiWUVadkZnYStCZURuamRoZjN0QUlOeHoxaEZGMmN4?=
 =?utf-8?B?M2tpU1R1WDdyZExTVDdURDZyT2VhMlRRM1AxK1hwdHY3Zy9hMzNURk0wMk03?=
 =?utf-8?B?Ym1xQUJBdnJhMXFxZHdxZmNId2RjRkxJTUhteWhUelBpUCtNOTJzR2ExUmFB?=
 =?utf-8?B?bEE9PQ==?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cc7cf26e-e791-44dd-6d2f-08de1245ad10
X-MS-Exchange-CrossTenant-AuthSource: DM4PR03MB7015.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Oct 2025 15:06:00.3219
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: CgYvPAv6qhQc9LhYTdPhiQ9xZmtwPygZkgZVnNnmUOLiGoyW3CggBIKNV5O3s14mRIGnZtGNJ85PvDSvrsl2m6e1EEgZNU8MuL6UbOknUxE=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR03MB7031

On 23/10/2025 4:04 pm, Anthony PERARD wrote:
> On Thu, Oct 23, 2025 at 03:45:55PM +0100, Andrew Cooper wrote:
>> On 23/10/2025 9:57 am, Anthony PERARD wrote:
>>> From: Anthony PERARD <anthony.perard@vates.tech>
>>>
>>> If not available, fallback to using YAJL.
>>>
>>> The code is using json_c_visit() which was introduced in 0.13.
>>> json_object_new_null() and json_object_new_uint64() where added to
>>> 0.14. And the last one json_object_new_array_ext() was introduced in
>>> 0.15.
>>>
>>> Signed-off-by: Anthony PERARD <anthony.perard@vates.tech>
>> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>
>> However, you should adjust README and possibly Changelog.md to give this
>> new minimum version.
>
> Will this do?
>
> diff --git a/CHANGELOG.md b/CHANGELOG.md
> index 0cf9ad2d95..fc4f6d7c8a 100644
> --- a/CHANGELOG.md
> +++ b/CHANGELOG.md
> @@ -14,8 +14,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
>   - Debian Trixie added to CI.  Debian Bullseye retired from CI for RISC-V due
>     to the baseline change.
>   - Linux based device model stubdomains are now fully supported.
> - - New dependency on library json-c, the toolstack will prefer it to `YAJL`
> -   when available.
> + - New dependency on library json-c 0.15 or later, the toolstack will prefer it
> +   to `YAJL` when available.
>
>   - On x86:
>     - Restrict the cache flushing done as a result of guest physical memory map
> diff --git a/README b/README
> index eaee78bd73..53a4d5c2ae 100644
> --- a/README
> +++ b/README
> @@ -53,7 +53,8 @@ provided by your OS distributor:
>      * Development install of Python 2.7 or later (e.g., python-dev)
>      * Development install of curses (e.g., libncurses-dev)
>      * Development install of uuid (e.g. uuid-dev)
> -    * Development install of json-c (e.g. libjson-c-dev) or yajl (e.g. libyajl-dev)
> +    * Development install of json-c 0.15 or later (e.g. libjson-c-dev)
> +      or yajl (e.g. libyajl-dev)
>      * Development install of libaio (e.g. libaio-dev) version 0.3.107 or
>        greater.
>      * Development install of GLib v2.0 (e.g. libglib2.0-dev)

Yup.Â  LGTM.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Oct 23 15:18:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 15:18:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1149285.1480956 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBx53-0003kB-Uw; Thu, 23 Oct 2025 15:18:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1149285.1480956; Thu, 23 Oct 2025 15:18:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBx53-0003k4-SD; Thu, 23 Oct 2025 15:18:21 +0000
Received: by outflank-mailman (input) for mailman id 1149285;
 Thu, 23 Oct 2025 15:18:20 +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
 <SRS0=5hDG=5A=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1vBx52-0003jy-KF
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 15:18:20 +0000
Received: from DUZPR83CU001.outbound.protection.outlook.com
 (mail-northeuropeazlp170120005.outbound.protection.outlook.com
 [2a01:111:f403:c200::5])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7dbf66d5-b023-11f0-980a-7dc792cee155;
 Thu, 23 Oct 2025 17:18:13 +0200 (CEST)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by PAVPR03MB9678.eurprd03.prod.outlook.com (2603:10a6:102:318::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.13; Thu, 23 Oct
 2025 15:18:09 +0000
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593]) by AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593%3]) with mapi id 15.20.9253.011; Thu, 23 Oct 2025
 15:18:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7dbf66d5-b023-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=rFhmhv3rPidWMFRNQKrrSL32ZMgyBu2reNaqNbbaX0eWlmj9MIarE1sk9YPB9lu4yobZHreHKshgMgUWv6q0hL4ZgyG22CdHpXXr9kqKwIkGXvTa701XEMjB4v0fhimqGR/ATQ5i4nh0EK8TF5koC4U4NovpCeq7yDAvZ3uYipdvht/7nWkTHXWagpcQb7a/6E/5RL2qLRxQ8dn+bhpWcXO1MnDWHq7y4/E+FonRSptCxZwItCSyiSaRu9+QrYd6IXZGhOjphj18RLONdkC1i7M3NcOV5F9/b+egPEZhZQkhBwoN2uXRIHHu67XkR8p6ZNBDDtL3kiJaJ4nq2c2bVA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=y8MUb44F5n/7tiR1DwE+1zr6DgyXhJfN6Vs6OF7ubPI=;
 b=UQz756Sp41B2Zt40FQlf4m50ROHy6a3xCwstXV+6qzEAfQ3/T4LGmIrDPEuWatCa9SabRvYLCHMeqxb1xqKsymczazqglu654cKOOYz9DTFvyGPSoFqplZsu/Wl4qNuDfG7QqPVUznhee/l5k2NrqDRalZbXzKP9aFf+jIJvnftDwMknQl0QqizldQjVKn4nuZaH0BiTtUFerAR1zrM4xBH4VCDeWRP7C3H2+arxl1MJuIca7Wi9PbgCjzY/vI0OmmFzxLNim2RFxi7QlpCAKJDpYLxZ/u1KRBE1cg9IOrNhDngplmGqyLEiptIK9jtoFnyeWI1SLqBZeCbOSTLg0g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=y8MUb44F5n/7tiR1DwE+1zr6DgyXhJfN6Vs6OF7ubPI=;
 b=e5xZIRqvAvTdxSUAxU+fFlZ42lkJ6eNcx82ro2NUhvxygcuW24dc2VNAdYhMrupyZU4JvdiexLj3vSF3F7bzToj0XSELpPsc7RU2frevV7gAn2NxNOJ/qH2q+bWsqdhsDNc17c4n0UYboJvHP7dctEeSeykZ2kLvDcac6qFRvgoAvwk5hQcTmmMAIqurOj+q9Tpv53rPWeO5Ht+CsJ1gS8egB1hQFHjFAkmWcpEklel3uY6n8D1z7DxK1pexjXfPqNrAXM5VR579t1dKL3Tsx+Iuue6V3ylzsdRX7uMD1J9VLj5pyZdcfcbC+buYEZhY0mn9mqQ3I/rHeoJP/DzS3g==
From: Grygorii Strashko <grygorii_strashko@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Sergiy Kibrik <Sergiy_Kibrik@epam.com>, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, =?iso-8859-1?Q?Roger_Pau_Monn=E9?=
	<roger.pau@citrix.com>, Paul Durrant <paul@xen.org>, Grygorii Strashko
	<grygorii_strashko@epam.com>
Subject: [XEN][PATCH v5] x86: make Viridian support optional
Thread-Topic: [XEN][PATCH v5] x86: make Viridian support optional
Thread-Index: AQHcRDA9CIdNzsbPp0OC3kg4wBoldQ==
Date: Thu, 23 Oct 2025 15:18:08 +0000
Message-ID: <20251023151807.560843-1-grygorii_strashko@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AS2PR03MB8907:EE_|PAVPR03MB9678:EE_
x-ms-office365-filtering-correlation-id: b0115747-0fd8-4442-3fb2-08de12475f8e
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|376014|1800799024|366016|38070700021;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?mXWwcI4IKIxLi/R8QkqNgS4DUbuz5Yy7KBqof+c8rIEnWkurVWYGUwHDxT?=
 =?iso-8859-1?Q?B8WoWhevUUUv6lLYPI+YwYNSTQEYECsiZ3vaCpQrPYrNyCxsfJ3zIRZzuH?=
 =?iso-8859-1?Q?ldLNVZ8aUw3pmyXSV2vSg7zZtkF+weCCRQ+dYYHz6DGbQcz0ikmwLH84LH?=
 =?iso-8859-1?Q?S5hpOnJgqCFfZ7howw5nXIjX/1NTsx7k1ZBMkQA4AR38DVtc4OUfoyLrla?=
 =?iso-8859-1?Q?H+N2fqpLSFADbRCwv4ihasUWaz2Cv2xCRR+0ZkwnFVjhfckx/+fcVqad82?=
 =?iso-8859-1?Q?k9kzaVR2Yi3TgjxvOo5gm/uL2UTFWwGcxtpvPx/iL3lyM3bhU4Kgbsf5Ps?=
 =?iso-8859-1?Q?RbxS3GItuqgi3XECRZTFrk6qC7ts9hkIwCdE3jgZV4xy+V2yOAd9gZLKxI?=
 =?iso-8859-1?Q?CWvb2qyYFJuqGiAEQK9zlIV7Ok2w7zTfom4ay0D6fZeGxmD29k2mEFeJsL?=
 =?iso-8859-1?Q?bS9NMPwYv2tQFwGXJuqX9s3oxSsbNlcfiD41lQUoX12E+c8duTAAaBpxId?=
 =?iso-8859-1?Q?l42509s55Dt5ioBFPtA7c0co+OUccGfmDTZ17Am6pnph1yok0ZlWcOsJKT?=
 =?iso-8859-1?Q?izra+s0BbgrSoLtsw0JI/T9c0s72/3zfhOP/Tlj32ew38IVBjn93rfLJVt?=
 =?iso-8859-1?Q?+7IUb4xv5MoWlxiiNWSym5UpflW/3DhfrjBDk7U6lAYeVAsdO8U3PjiUEr?=
 =?iso-8859-1?Q?maPGw+eRSjHKDQsjhmFINhe+KAF+LS6eMJtFGaegdEUlqMFkLPpgPEPHpM?=
 =?iso-8859-1?Q?2Flr2h39gHLNG3w6YFbzjt1jsWpAMbowUqzHbOnb9jvEOezt4JtFDZprUx?=
 =?iso-8859-1?Q?Av29tZg2nKhI595otFgvlmtGUmRSEr34Y4ZXxGDVHvW3sS8xwjuYwDJG21?=
 =?iso-8859-1?Q?6gsd9kFXrYruxxNSyQzTilo2tg86ptrmvhHXirlMEWuMFd9MQjwvUnbB2f?=
 =?iso-8859-1?Q?XPZG0GgnhIDmSNYWamQY8Hvp1EZ8nx91yN3Q6lBqsST0Xv1mSHW9sR3qoJ?=
 =?iso-8859-1?Q?7aRq2SM5RagohJDoznbfZbj/gFr7GYTlJa7UHT6rvjx0lrExQ0/nHbWnlC?=
 =?iso-8859-1?Q?tyRi5OAJ39aTZx5QR43uBb/CxMjqiShJnIxezrrtDMZJVHiZFSAvxT1Atg?=
 =?iso-8859-1?Q?E/T+T3zsSM/iY7ICqEQYY74w5Bnigus/gHkC3Vda8RReTOJKh9WT3LIb7l?=
 =?iso-8859-1?Q?/uzOM5ldc89H2m/6Yv6MiTx1DM+1kqorLR/yxbj0VPpL7uua8o32qiJGxl?=
 =?iso-8859-1?Q?in9OT8WD0y/CJfORrZPoEbJuxXR7aooQ9Q/zKRQMBjLHj87+9HqcE/R772?=
 =?iso-8859-1?Q?MXbIa03ZmnFZYuHxxsZr45t60CDylOqht5G0P16PZDEkXyY0sQH/JWzfPQ?=
 =?iso-8859-1?Q?UAVc48Nl+avgr+o7sPJKbhqr6wYi7CYwiUdwwBGnT84nNXvjBQBHLdiXY0?=
 =?iso-8859-1?Q?r/X86EekmwGgkccMjx6ZzNvxSGQNVmYZ54vgdfRvgodfNbdBAjKLt8YXO1?=
 =?iso-8859-1?Q?3yoemzZhK40vjdbelDKyTYug2yGn2jOVDgNAO7bSGHT62uo/zEHOtTjqWD?=
 =?iso-8859-1?Q?qMBS7WySMLX20u1N8WD9n7O6p3F8?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS2PR03MB8907.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(38070700021);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?TstorkvqJFBDF8xsklNSO8LyuhP+gcS627t51fmCHQ9LAI9qJduqt9/XkD?=
 =?iso-8859-1?Q?z88WDbhIb2d6liMSE22M+K8oJD6rBzF54DCSTUiAjhNKFBeOTi6imBYHmN?=
 =?iso-8859-1?Q?cDPXV6SINjb3FlasNPi3Ac2UIwQdUymIr9T0Rx9JnrOKfYOgKaKMDoKIRS?=
 =?iso-8859-1?Q?pKP7e4DmxCkQqiMwP/PLV4Lmp1hCKk8Z7XIoCqedCeO7DFduKz1rfBwIAw?=
 =?iso-8859-1?Q?WvFCPV5T4+C1Ywsrr14nehz5u+3rw57JMKNF8BPqifELlzeGJqJmRb6oVM?=
 =?iso-8859-1?Q?4iumdG5cnlmTkpGZcHLX+UTy5GkNkjQaKi8yHwuvttX0KljvR7aCWvImtd?=
 =?iso-8859-1?Q?VbQFZZlOZhyj7Vijg/lmTYTrurL7VNDEIDfuUizQvDMVgnPsc9LgeDfk4i?=
 =?iso-8859-1?Q?ej7JGPK9ur7KKcQZNR31BtIyqgSPtYVnuUgLQGZPGupWbhXsjtiHD5+Bhz?=
 =?iso-8859-1?Q?pHjA+iaQbEQJOcaJd3nQoxfL0Kao8I2mgpyR6Cq/lqdN16e1K3ercE4pUN?=
 =?iso-8859-1?Q?FUpbUpk9G5qipT7TUSMkRk7NprEBppP8kw7ZE5TrrfAd8eZHg0tDQMp+jc?=
 =?iso-8859-1?Q?9BykRgHAEyF5aPG1+jpEJ+t9d60d31chraI4TgvQSPhDvcc5UX77amfovv?=
 =?iso-8859-1?Q?iZ2y5E+0m3OlJeNlkV5EnBJ7FAa68pO9vYWFGBq3BUiho0rXM6d4yRm2Kk?=
 =?iso-8859-1?Q?Fc12EFCu/myjdgjVuLE9oYrotfJRQkvqJp0FXZbv+URG9V6eYWTcyzz2Wu?=
 =?iso-8859-1?Q?XIgaojeQo0+6Qgju/ViJAsrw0+tRYZBS/hctZYwMUm7Sm1+w5iVzjixdVI?=
 =?iso-8859-1?Q?cgql0yW1Fh3S9jmnAZapuiCh33hntsOkO8eln4shzm3u55QUPBr/FjaU7F?=
 =?iso-8859-1?Q?3VBbHDO0Q4s/nOT6oXVx6y7BUkKtQ9LqKWNN7vYawmB4wxt4lPvyAP1Ubt?=
 =?iso-8859-1?Q?Daz0NFRAbHWO8sQCN8J2MbV5Q1603/XgFXyHgGX8lCXO7Syf9DC+mxBVaL?=
 =?iso-8859-1?Q?RBuQoeMs0+DpKmJ4mDIengnefszLabmy8l1znH6sVmb/ES81qdmhytmHMQ?=
 =?iso-8859-1?Q?RRDi1f54O3lAMwfqeysYa8qAB7QwwLyExqnWBXJWybYA3ppplLKcrgnV47?=
 =?iso-8859-1?Q?4XKmyM21ZUjGx5U0iNRQLKkT5gr7I//K29WX8Hi4B6yEWepn1TaaxgEmk2?=
 =?iso-8859-1?Q?we4Ut6kk6Hm0T0Ntkv+fbZIf+oEkZUCQWgX9TGRNX9VYQFHC/P+C4RwrQJ?=
 =?iso-8859-1?Q?8pQ67SiMzbSr+EVSs1/Ij1ZeKQUFxGFjJU3th9eAB3uMziMnGNsD25B8Vw?=
 =?iso-8859-1?Q?IwWFDbdVRYbTZEdrNt3MEZ1p2FWnIyS+V+peMfM1YfTDMcyI3HpfxZf7ik?=
 =?iso-8859-1?Q?W3kI986uAcXaJnXhtMkHzLB2UsUR79bTQyTIVD3A04ck29P7zH0mnT54Ll?=
 =?iso-8859-1?Q?m4ZIbVh8bLoemUq9Vmnk9AK7CfOPKi7tlZNldyjZAUjhhTgVrRLDI8Fqbq?=
 =?iso-8859-1?Q?/T7n5ISkV+6+4/jiRmgcZHjGqtpJcUfgkdLf50fvRhOp+P/n+cAJJZfZWe?=
 =?iso-8859-1?Q?lnJnpEhYP57uU7/aXVLzN5X90Jf7FQCskx+PxduC4UhMvtPWzH6nIXoGgh?=
 =?iso-8859-1?Q?gD1fVZDVRqRHfkszUk6Hra99O19O3By8NUtFxP7KLmW2CdNHbUTy6Cng?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b0115747-0fd8-4442-3fb2-08de12475f8e
X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Oct 2025 15:18:08.8108
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 9rPoR/i7oBUv6tM24IGSxCwXqcru8UogylrgGi7IPrhwBgXPGx0pfCYS/y2QSmMTGqrFf5Ytr6LMX/F7Jtrh0Ir/XRdgxPtAU7HP6dWFpD0=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR03MB9678

From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>

Add config option VIRIDIAN that covers viridian code within HVM.
Calls to viridian functions guarded by is_viridian_domain() and related mac=
ros.
Having this option may be beneficial by reducing code footprint for systems
that are not using Hyper-V.

[grygorii_strashko@epam.com: fixed NULL pointer deref in
viridian_save_domain_ctxt(); stub viridian_vcpu/domain_init/deinit()]
Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
---
changes in v6:
- add stubs for viridian_vcpu/domain_init/deinit()
- update Kconfig description
- make set(HVM_PARAM_VIRIDIAN) return -ENODEV
  if (!IS_ENABLED(CONFIG_VIRIDIAN) && value)

changes in v5:
- drop "depends on AMD_SVM || INTEL_VMX"
- return -EILSEQ from viridian_load_x() if !VIRIDIAN

changes in v4:
- s/HVM_VIRIDIAN/VIRIDIAN
- add "depends on AMD_SVM || INTEL_VMX"
- add guard !is_viridian_vcpu() checks in viridian_load_vcpu_ctxt/viridian_=
load_domain_ctxt

changes in v3:
- fixed NULL pointer deref in viridian_save_domain_ctxt() reported for v2,
  which caused v2 revert by commit 1fffcf10cd71 ("Revert "x86: make Viridia=
n
  support optional"")

v5: https://patchwork.kernel.org/project/xen-devel/patch/20250930125215.108=
7214-1-grygorii_strashko@epam.com/
v4: https://patchwork.kernel.org/project/xen-devel/patch/20250919163139.282=
1531-1-grygorii_strashko@epam.com/
v3: https://patchwork.kernel.org/project/xen-devel/patch/20250916134114.221=
4104-1-grygorii_strashko@epam.com/
v2: https://patchwork.kernel.org/project/xen-devel/patch/20250321092633.398=
2645-1-Sergiy_Kibrik@epam.com/

 xen/arch/x86/hvm/Kconfig                | 10 ++++++++++
 xen/arch/x86/hvm/Makefile               |  2 +-
 xen/arch/x86/hvm/hvm.c                  |  5 +++--
 xen/arch/x86/hvm/viridian/viridian.c    | 14 ++++++++++----
 xen/arch/x86/hvm/vlapic.c               | 11 +++++++----
 xen/arch/x86/include/asm/hvm/domain.h   |  2 ++
 xen/arch/x86/include/asm/hvm/hvm.h      |  3 ++-
 xen/arch/x86/include/asm/hvm/vcpu.h     |  2 ++
 xen/arch/x86/include/asm/hvm/viridian.h | 15 +++++++++++++++
 9 files changed, 52 insertions(+), 12 deletions(-)

diff --git a/xen/arch/x86/hvm/Kconfig b/xen/arch/x86/hvm/Kconfig
index f223104be03c..625262f97f43 100644
--- a/xen/arch/x86/hvm/Kconfig
+++ b/xen/arch/x86/hvm/Kconfig
@@ -62,6 +62,16 @@ config ALTP2M
=20
 	  If unsure, stay with defaults.
=20
+config VIRIDIAN
+	bool "Hyper-V enlightenments for guests" if EXPERT
+	default y
+	help
+	  Support optimizations for Hyper-V guests such as hypercalls, efficient
+	  timers and interrupt handling. This is to improve performance and
+	  compatibility of Windows VMs.
+
+	  If unsure, say Y.
+
 config MEM_PAGING
 	bool "Xen memory paging support (UNSUPPORTED)" if UNSUPPORTED
 	depends on VM_EVENT
diff --git a/xen/arch/x86/hvm/Makefile b/xen/arch/x86/hvm/Makefile
index 6ec2c8f2db56..736eb3f966e9 100644
--- a/xen/arch/x86/hvm/Makefile
+++ b/xen/arch/x86/hvm/Makefile
@@ -1,6 +1,6 @@
 obj-$(CONFIG_AMD_SVM) +=3D svm/
 obj-$(CONFIG_INTEL_VMX) +=3D vmx/
-obj-y +=3D viridian/
+obj-$(CONFIG_VIRIDIAN) +=3D viridian/
=20
 obj-y +=3D asid.o
 obj-y +=3D dm.o
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 3a30404d9940..6e0460984c09 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -4292,8 +4292,9 @@ static int hvm_set_param(struct domain *d, uint32_t i=
ndex, uint64_t value)
             rc =3D -EINVAL;
         break;
     case HVM_PARAM_VIRIDIAN:
-        if ( (value & ~HVMPV_feature_mask) ||
-             !(value & HVMPV_base_freq) )
+        if ( !IS_ENABLED(CONFIG_VIRIDIAN) && value )
+            rc =3D -ENODEV;
+        else if ( (value & ~HVMPV_feature_mask) || !(value & HVMPV_base_fr=
eq) )
             rc =3D -EINVAL;
         break;
     case HVM_PARAM_IDENT_PT:
diff --git a/xen/arch/x86/hvm/viridian/viridian.c b/xen/arch/x86/hvm/viridi=
an/viridian.c
index f79cffcb3767..b935803700fd 100644
--- a/xen/arch/x86/hvm/viridian/viridian.c
+++ b/xen/arch/x86/hvm/viridian/viridian.c
@@ -1097,14 +1097,14 @@ static int cf_check viridian_save_domain_ctxt(
 {
     const struct domain *d =3D v->domain;
     const struct viridian_domain *vd =3D d->arch.hvm.viridian;
-    struct hvm_viridian_domain_context ctxt =3D {
-        .hypercall_gpa =3D vd->hypercall_gpa.raw,
-        .guest_os_id =3D vd->guest_os_id.raw,
-    };
+    struct hvm_viridian_domain_context ctxt =3D {};
=20
     if ( !is_viridian_domain(d) )
         return 0;
=20
+    ctxt.hypercall_gpa =3D vd->hypercall_gpa.raw;
+    ctxt.guest_os_id =3D vd->guest_os_id.raw,
+
     viridian_time_save_domain_ctxt(d, &ctxt);
     viridian_synic_save_domain_ctxt(d, &ctxt);
=20
@@ -1117,6 +1117,9 @@ static int cf_check viridian_load_domain_ctxt(
     struct viridian_domain *vd =3D d->arch.hvm.viridian;
     struct hvm_viridian_domain_context ctxt;
=20
+    if ( !is_viridian_domain(d) )
+        return -EILSEQ;
+
     if ( hvm_load_entry_zeroextend(VIRIDIAN_DOMAIN, h, &ctxt) !=3D 0 )
         return -EINVAL;
=20
@@ -1153,6 +1156,9 @@ static int cf_check viridian_load_vcpu_ctxt(
     struct vcpu *v;
     struct hvm_viridian_vcpu_context ctxt;
=20
+    if ( !is_viridian_domain(d) )
+        return -EILSEQ;
+
     if ( vcpuid >=3D d->max_vcpus || (v =3D d->vcpu[vcpuid]) =3D=3D NULL )
     {
         dprintk(XENLOG_G_ERR, "HVM restore: dom%d has no vcpu%u\n",
diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
index 4121285daef8..b315e56d3f18 100644
--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -447,7 +447,8 @@ void vlapic_EOI_set(struct vlapic *vlapic)
      * priority vector and then recurse to handle the lower priority
      * vector.
      */
-    bool missed_eoi =3D viridian_apic_assist_completed(v);
+    bool missed_eoi =3D has_viridian_apic_assist(v->domain) &&
+                      viridian_apic_assist_completed(v);
     int vector;
=20
  again:
@@ -463,7 +464,7 @@ void vlapic_EOI_set(struct vlapic *vlapic)
      * NOTE: It is harmless to call viridian_apic_assist_clear() on a
      *       recursion, even though it is not necessary.
      */
-    if ( !missed_eoi )
+    if ( has_viridian_apic_assist(v->domain) && !missed_eoi )
         viridian_apic_assist_clear(v);
=20
     vlapic_clear_vector(vector, &vlapic->regs->data[APIC_ISR]);
@@ -1375,7 +1376,8 @@ int vlapic_has_pending_irq(struct vcpu *v)
      * If so, we need to emulate the EOI here before comparing ISR
      * with IRR.
      */
-    if ( viridian_apic_assist_completed(v) )
+    if ( has_viridian_apic_assist(v->domain) &&
+         viridian_apic_assist_completed(v) )
         vlapic_EOI_set(vlapic);
=20
     isr =3D vlapic_find_highest_isr(vlapic);
@@ -1388,7 +1390,8 @@ int vlapic_has_pending_irq(struct vcpu *v)
     if ( isr >=3D 0 &&
          (irr & 0xf0) <=3D (isr & 0xf0) )
     {
-        viridian_apic_assist_clear(v);
+        if ( has_viridian_apic_assist(v->domain) )
+            viridian_apic_assist_clear(v);
         return -1;
     }
=20
diff --git a/xen/arch/x86/include/asm/hvm/domain.h b/xen/arch/x86/include/a=
sm/hvm/domain.h
index 333501d5f2ac..95d9336a28f0 100644
--- a/xen/arch/x86/include/asm/hvm/domain.h
+++ b/xen/arch/x86/include/asm/hvm/domain.h
@@ -111,7 +111,9 @@ struct hvm_domain {
     /* hypervisor intercepted msix table */
     struct list_head       msixtbl_list;
=20
+#ifdef CONFIG_VIRIDIAN
     struct viridian_domain *viridian;
+#endif
=20
     /*
      * TSC value that VCPUs use to calculate their tsc_offset value.
diff --git a/xen/arch/x86/include/asm/hvm/hvm.h b/xen/arch/x86/include/asm/=
hvm/hvm.h
index 838ad5b59eb0..6f174ef658f1 100644
--- a/xen/arch/x86/include/asm/hvm/hvm.h
+++ b/xen/arch/x86/include/asm/hvm/hvm.h
@@ -509,7 +509,8 @@ hvm_get_cpl(struct vcpu *v)
     (has_hvm_params(d) ? (d)->arch.hvm.params[HVM_PARAM_VIRIDIAN] : 0)
=20
 #define is_viridian_domain(d) \
-    (is_hvm_domain(d) && (viridian_feature_mask(d) & HVMPV_base_freq))
+    (IS_ENABLED(CONFIG_VIRIDIAN) && \
+     is_hvm_domain(d) && (viridian_feature_mask(d) & HVMPV_base_freq))
=20
 #define is_viridian_vcpu(v) \
     is_viridian_domain((v)->domain)
diff --git a/xen/arch/x86/include/asm/hvm/vcpu.h b/xen/arch/x86/include/asm=
/hvm/vcpu.h
index 924af890c5b2..9ed9eaff3bc5 100644
--- a/xen/arch/x86/include/asm/hvm/vcpu.h
+++ b/xen/arch/x86/include/asm/hvm/vcpu.h
@@ -176,7 +176,9 @@ struct hvm_vcpu {
     /* Pending hw/sw interrupt (.vector =3D -1 means nothing pending). */
     struct x86_event     inject_event;
=20
+#ifdef CONFIG_VIRIDIAN
     struct viridian_vcpu *viridian;
+#endif
 };
=20
 #endif /* __ASM_X86_HVM_VCPU_H__ */
diff --git a/xen/arch/x86/include/asm/hvm/viridian.h b/xen/arch/x86/include=
/asm/hvm/viridian.h
index 47c9d13841ac..07ea95d4ae6e 100644
--- a/xen/arch/x86/include/asm/hvm/viridian.h
+++ b/xen/arch/x86/include/asm/hvm/viridian.h
@@ -86,11 +86,26 @@ viridian_hypercall(struct cpu_user_regs *regs);
 void viridian_time_domain_freeze(const struct domain *d);
 void viridian_time_domain_thaw(const struct domain *d);
=20
+#if defined(CONFIG_VIRIDIAN)
 int viridian_vcpu_init(struct vcpu *v);
 int viridian_domain_init(struct domain *d);
=20
 void viridian_vcpu_deinit(struct vcpu *v);
 void viridian_domain_deinit(struct domain *d);
+#else
+static inline int viridian_vcpu_init(struct vcpu *v)
+{
+    return 0;
+}
+
+static inline int viridian_domain_init(struct domain *d)
+{
+    return 0;
+}
+
+static inline void viridian_vcpu_deinit(struct vcpu *v) {}
+static inline void viridian_domain_deinit(struct domain *d) {}
+#endif
=20
 void viridian_apic_assist_set(const struct vcpu *v);
 bool viridian_apic_assist_completed(const struct vcpu *v);
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Thu Oct 23 15:19:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 15:19:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1149296.1480966 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBx5p-0004MT-8x; Thu, 23 Oct 2025 15:19:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1149296.1480966; Thu, 23 Oct 2025 15:19:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBx5p-0004MM-6J; Thu, 23 Oct 2025 15:19:09 +0000
Received: by outflank-mailman (input) for mailman id 1149296;
 Thu, 23 Oct 2025 15:19:07 +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
 <SRS0=5hDG=5A=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1vBx5n-00047y-9U
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 15:19:07 +0000
Received: from DUZPR83CU001.outbound.protection.outlook.com
 (mail-northeuropeazlp170120005.outbound.protection.outlook.com
 [2a01:111:f403:c200::5])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9dc24293-b023-11f0-9d15-b5c5bf9af7f9;
 Thu, 23 Oct 2025 17:19:06 +0200 (CEST)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by PAVPR03MB9678.eurprd03.prod.outlook.com (2603:10a6:102:318::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.13; Thu, 23 Oct
 2025 15:19:04 +0000
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593]) by AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593%3]) with mapi id 15.20.9253.011; Thu, 23 Oct 2025
 15:19:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9dc24293-b023-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Np3/vy5mZPiLFmy3hQcdffICSiS57VGjxPUsy/a76mhXW1KDxt/ABoo90b7jcGGo1Qw9REW7BSn502HmXCa9M+mjUqtPrZSJrlyD0mYAVCul2kLv6Xop/QSJ/RuA8cD76lJScui/FLahmeRIaay4vFNQF8EpL88Cua6nTDqVP0oBNwAyJ9Mf35QMb+BO4Irve2K22Qd0RTCz5KZOE00LrU4/QpNOqnBUQYhUTmwwl1uW0uhRpSYgZVPeAYxWmHkP5fggdZrx+rZbk+ij3kubRoncLbSiLLEtJegJaeBZ5kO98XFoJcGrMHRtDJEUCZvDZlmOc6R4zTlIhEpA4I37aQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=lf4vObzCaBm4wdgjFD62T5/q8tMdWMcoYac2NfD3EFM=;
 b=aS/Es6m5L4fHjD60HQC1L8ohzHPEMRrA6TcrsZRYCFLvVN0wHiof+WP93KiHJJw/ojrGS6gy37k68cm9Qbx6ydp9i95+3YIVjra5+/VA7vqUMbNVWRj4dkapCxSiiljP6d6p/A4QaJHpS2Cn8pneY9RGaXcdm4pIQt5cYgU0xGzU4ih+YdcjYh7jN5a4gIB13G8iWWnllYXXLHvX7TRut/jcRqlqSrDeNKOEngQKmp2Uu3BHHyxDwiYpPiWrPDXyRE2NCcqK+PxIsZbndhgc12AAGpyAJDHs0eRxY/0e1WvxFbu8SjafGiIYF4kSM5pnrGSj1btVZBgOx4uP6agnYQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=lf4vObzCaBm4wdgjFD62T5/q8tMdWMcoYac2NfD3EFM=;
 b=S/BifJ//4Z5MkV1nrk0U6XDVD0k7fOgob1lI9KikYRQjbGoSIO0BKROBomjsqBsv+OZzTQcmW40xaUGRiNy2SHkurhKlQrPSi9Fz5oVehCHPgg9N+RvOKNgt9ZzukTqWae0jEGIMZa6kDTvpD5qEfIKd0u0tX3FZpxiljgUi3jwyqVw7dIfmRm5AG3lp4jxQWTQbJ0vWMdYFmduukSrjgb1krMYaT9QCWcjZTX8vvDE4nzBP6WrxWV0eaxCNoQvSZXVGH9TZjLR/QTpw38QQXM7nTAP780CKIaL3/BNWZyUtIJq5EXeH6Ltgqea7u8/BQ4dGQS2aU5Wnpg0wGuXdnw==
From: Grygorii Strashko <grygorii_strashko@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Grygorii Strashko <grygorii_strashko@epam.com>, Jan Beulich
	<jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	=?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>
Subject: [XEN][PATCH] x86/hvm: move hvm_shadow_handle_cd() under
 CONFIG_INTEL_VMX ifdef
Thread-Topic: [XEN][PATCH] x86/hvm: move hvm_shadow_handle_cd() under
 CONFIG_INTEL_VMX ifdef
Thread-Index: AQHcRDBecqTU/OGuGUKeptIGBfYF6g==
Date: Thu, 23 Oct 2025 15:19:04 +0000
Message-ID: <20251023151903.560947-1-grygorii_strashko@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AS2PR03MB8907:EE_|PAVPR03MB9678:EE_
x-ms-office365-filtering-correlation-id: dd629445-1166-483b-0ae2-08de124780c2
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|376014|1800799024|366016|38070700021;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?ONNuyDXeLKw2uNQwAbMDBeNeHgtlJhPh44v0FZy+KLHRs8L39RoMj6eBI/?=
 =?iso-8859-1?Q?7sCQU8wfu3jPd1PC3EaGmnucOhX51yunPOOvIQ/LElK048LrsPggb72uWc?=
 =?iso-8859-1?Q?XEIvqwfI3O7+35v4H01KrtlzDS7UYBORA0bARGJ7nEdUD6Hp9trGn+kjIL?=
 =?iso-8859-1?Q?UiX8CopC6jHJWTokYHN/RvyIG97Rqrd3ElYL4CczZA2DoVhdju0jVlGClE?=
 =?iso-8859-1?Q?wl7oaF4qVgn9YIx2sAuuhL7uSY+s/bNbxhZy3s+iPLmFI71SOa0evbnYen?=
 =?iso-8859-1?Q?2BSJwp05RUmNXHRVEcmOPP/PJrM+/QfTjr/AGIaJMpsj1GG4dvSFxph0SG?=
 =?iso-8859-1?Q?7LgPL05MWNvrLgKqHaWp+AI7F1yBv4v1CRhVwlLzHARiBZBNWzGOqB969E?=
 =?iso-8859-1?Q?PA7+92niNWWRppx2T4dyEw6k7ZxqgTahnoFtPBvGKwx3Ky18HyYlU8Fa2a?=
 =?iso-8859-1?Q?5zKBX9yClP3w/sByhUUkSc09cpTBwYAB2l0DJwgPOvIdMOXnEUOfMJHtz4?=
 =?iso-8859-1?Q?blfM5Gu1id98Cb5n6lXMNajBZSLvrNPIL79IEM1U/kzZ+GU/YKbH8W7eoe?=
 =?iso-8859-1?Q?iPoZNr0JO4NCVJ8VooY76aUjb8x7IMpVS0xr4RiiFN/V0GnMQY9EuR5ZMB?=
 =?iso-8859-1?Q?pGC2i6G9m/cG0S4CgCupugIdmdniLRwxzfFz+MHTr1lLO7A0qqDH53YR2l?=
 =?iso-8859-1?Q?TY2O8CczWTjTKrDQVd5r4fFaroTNHoTPZer1mpEGnVaKWkmjR4ufDWWT2z?=
 =?iso-8859-1?Q?RFYYBtlZdNtPbQDFrJUG6Xah84OypGHpW5j7RKXfdP6FNG8ABuCjokdmG0?=
 =?iso-8859-1?Q?g3ip2oAt6unZugZ8W8vlAiiB1clTkGvjp0EC7cm3ZG97wMKicbkiZNBbpy?=
 =?iso-8859-1?Q?EVr78X7OpO/M5lE/PYev6gbsWEF4QpXhA5tDPCQMzEpwV/4yHb+m1sIxjn?=
 =?iso-8859-1?Q?04ROa7Zd6hkJ7T0pgaFPHLidiv+UjOnsJS5vKMriyWbVScmHtt+al6lOZ4?=
 =?iso-8859-1?Q?a6HFQdlZd0QwtuUc3m3l74dEaoj+QlUlbwyNveBq5oQGAT8jOHmIJG2FWH?=
 =?iso-8859-1?Q?wATGD9FscvQp+cCt94fcOsSqqyFL8EXcA74/8rwZzE+30zYlrG1BZBzUbl?=
 =?iso-8859-1?Q?6rUf/J9M3W6OCz3W8gvF3sUZ1T6JYr3vBJbvxDSKAE+Udg5FqkQMwzfETL?=
 =?iso-8859-1?Q?OoOaqk4phxvUEo53gtVnVJ8moywe51sXM0EI+18he7VSMaAtkSm6pzhdjN?=
 =?iso-8859-1?Q?haw5fhcTKEXlhPTbSKnIjGmXf2sLfPMyQhJvWNxXcBGxqTW0pwIt6pGCna?=
 =?iso-8859-1?Q?nOY/RHUVCfNgKTNr7Q68bGKhTEwG3b5MvOkcY7m4dc4gaZ6QJsvOPC+I4E?=
 =?iso-8859-1?Q?nQbSr2mcpBe+xLy4XtxuVQXCKM5D4TEORM9rVJ1GLnzqE0vkwcKIIkHl3q?=
 =?iso-8859-1?Q?3WQcgmSr/GhSXzFGJ5u+fOXlUjUOWQ0d+AqTXWPMKjTYHaJbYAYSovtufg?=
 =?iso-8859-1?Q?pDWBvP5PN5Lv176AZ23EVfJTPm2+PIfTTkomQXXdEC3IwJjv2hEq1KnABN?=
 =?iso-8859-1?Q?+efrIPSG9NN4+nYCD2F6YYcVSKR5?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS2PR03MB8907.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(38070700021);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?ov91ly+OLY0NRaEBEy4laqpNu6kdSh58IGLLMQNJfrsApBZBL/hvh3U1f+?=
 =?iso-8859-1?Q?c0NMM0xW2R6EEKU4AiSDHLh7nNTWh3ReDifHd6TNLazjOfryNEoxj/9yS1?=
 =?iso-8859-1?Q?/ICBycxXAt5UoMdfLIaOsLtxXasVFPq0uWWnqC3HIq1XTp7tQhQusRcOQf?=
 =?iso-8859-1?Q?P4dKiaI7VKRsS8oXQk3X81eNu6wl3CQQKtzULFECjkm045YLxEgFUA2JfG?=
 =?iso-8859-1?Q?IamSM4nZq+pxXhSYjFGD3sVRsmxv1EU8j/TeIl0gJMSXZ8lkN6M8bfJfT5?=
 =?iso-8859-1?Q?qVQFj38Dx2yae+uEVowmhun+4zPTDYKbepbP/lsNrgDbbyquxyo4P8k8k5?=
 =?iso-8859-1?Q?zsN9PUoXi7Xcth0Fb4wH0Y7Iq6mRvTvwGgjwBmdBAbQtgk4WIEZeMDeSvp?=
 =?iso-8859-1?Q?rw47hQ91Su/4n2X2f8NR1TzPCwkkLM2fx/voD1E1//UhFTG3QU14XJg7SV?=
 =?iso-8859-1?Q?g0ED2KtZhLY3kSwbGWqO3d+O02f3tLVvb0zX8nPW3ppNtPiEbIklWrGmdp?=
 =?iso-8859-1?Q?8P3lQaU3fkmn1Bh1loIgNDtz8GFXB+W+VTUDjuf91lRju8kZS/15WIJxV+?=
 =?iso-8859-1?Q?Tg3JmSsELogIl7Ydl1HU4cpVL3r05cp4ggz4r0QbulLFYLl6cxItkI4DjW?=
 =?iso-8859-1?Q?+zGUYHhb7x1vIDZ0n4M+Ym+54x8lwZBWcFMcCm1DXBej1LMEx8hL99z1Hs?=
 =?iso-8859-1?Q?/GeNvRT7IxJES+2T2Fwcvrkcm94qRPQLMkSJZg2bARLwoI4d0/+yNZZOVj?=
 =?iso-8859-1?Q?y96bn91Au82mmmiYtJR/+RBDaHGhb9eNLl7gYO5PwcRJQ+ltjEmFM8iKAC?=
 =?iso-8859-1?Q?xjs60LbXYuygwKkjq0VIQryLsxK4ovgvckaAbnW/Wv3p6hdgoH6lFyGgPi?=
 =?iso-8859-1?Q?zgwyjDsHZaQ8x2vdD+2pVk+pQmLBeEHKxdHNH4iBk+f900sHs3DFrV83PC?=
 =?iso-8859-1?Q?lMTNrWB5s9fLDE5EFdgGMyJBAMRnmXtODbmQdRtCd0Mlq9K8RdDgt1yDUb?=
 =?iso-8859-1?Q?EA9Hkd3rHFuZweZfv1BbZdAIgQeBQ8obsgV97+zoCrliFxAeLVBlJXpz2v?=
 =?iso-8859-1?Q?976mPrdDOUdT0xmaCgxhF8ULmWPvgyKZuX/J99bl9DZ4xCF79qHH3wPXFN?=
 =?iso-8859-1?Q?d4GvzvSj3d4vakS17INOw9OryPWZv+M7gxlqKO1byiPAl3TlpmCsiW1S2B?=
 =?iso-8859-1?Q?XFrZHRXZT7c1/sNQTY3H1fFd7xVRbKGZBepGqA6LmZHS3fQ0PPLUjnGmtp?=
 =?iso-8859-1?Q?kW1BwT2ZG6gKbvyGJx9vQS2dRveakdOnEtHG1FG6OJbTff3mqJpWBuccMs?=
 =?iso-8859-1?Q?3kv753o45ex7/2RYsCJswtv9GH5SVVatptYunnyZmERBWHAY1Zahk+12F1?=
 =?iso-8859-1?Q?Vd0kwv355FIV2nlTdKrOTPLAXngyn7xIfk8L/Ng9HE+LNLryl3A9Z2SaGn?=
 =?iso-8859-1?Q?viQ4jK/yIT5gN2vU2CQIRKR8A/PHWcqbR00tzA5T3C/93+Z5NjKTP/cqsE?=
 =?iso-8859-1?Q?PeQxpgr+jILKzQ6dfp5SAyCBWDdx4cH1U7xasb2r4araBuDM1ebCes63A4?=
 =?iso-8859-1?Q?HpEsF1/cW62VZc8TTzQ9MgLtOYNEKVVHX7YOn5mTTj3XyKhZpUD/cTBE/r?=
 =?iso-8859-1?Q?RGOdDuhyVRkfUBnwAYZgFWQxl9aidHbxv/aMIbcSjvle4BQzL44s5i3w?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: dd629445-1166-483b-0ae2-08de124780c2
X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Oct 2025 15:19:04.4841
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: xZ4rJUdU+X8cY7Q/vMknwHWudJd0H07UHcVviyuoyQbY43CHfiwMrdJm1rerS8of+w8kOTabGhOsOAt1tJ1Ip9vcOtiL6krN16ntwv5C81U=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR03MB9678

From: Grygorii Strashko <grygorii_strashko@epam.com>

Functions:
 hvm_shadow_handle_cd()
 hvm_set_uc_mode()
 domain_exit_uc_mode()
are used only by Intel VMX code, so move them under CONFIG_INTEL_VMX ifdef.

Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
---
 xen/arch/x86/hvm/hvm.c | 50 ++++++++++++++++++++++--------------------
 1 file changed, 26 insertions(+), 24 deletions(-)

diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index f1035fc9f645..3a30404d9940 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -2168,30 +2168,6 @@ int hvm_set_efer(uint64_t value)
     return X86EMUL_OKAY;
 }
=20
-/* Exit UC mode only if all VCPUs agree on MTRR/PAT and are not in no_fill=
. */
-static bool domain_exit_uc_mode(struct vcpu *v)
-{
-    struct domain *d =3D v->domain;
-    struct vcpu *vs;
-
-    for_each_vcpu ( d, vs )
-    {
-        if ( (vs =3D=3D v) || !vs->is_initialised )
-            continue;
-        if ( (vs->arch.hvm.cache_mode =3D=3D NO_FILL_CACHE_MODE) ||
-             mtrr_pat_not_equal(vs, v) )
-            return 0;
-    }
-
-    return 1;
-}
-
-static void hvm_set_uc_mode(struct vcpu *v, bool is_in_uc_mode)
-{
-    v->domain->arch.hvm.is_in_uc_mode =3D is_in_uc_mode;
-    shadow_blow_tables_per_domain(v->domain);
-}
-
 int hvm_mov_to_cr(unsigned int cr, unsigned int gpr)
 {
     struct vcpu *curr =3D current;
@@ -2273,6 +2249,31 @@ int hvm_mov_from_cr(unsigned int cr, unsigned int gp=
r)
     return X86EMUL_UNHANDLEABLE;
 }
=20
+#ifdef CONFIG_INTEL_VMX
+/* Exit UC mode only if all VCPUs agree on MTRR/PAT and are not in no_fill=
. */
+static bool domain_exit_uc_mode(struct vcpu *v)
+{
+    struct domain *d =3D v->domain;
+    struct vcpu *vs;
+
+    for_each_vcpu ( d, vs )
+    {
+        if ( (vs =3D=3D v) || !vs->is_initialised )
+            continue;
+        if ( (vs->arch.hvm.cache_mode =3D=3D NO_FILL_CACHE_MODE) ||
+             mtrr_pat_not_equal(vs, v) )
+            return 0;
+    }
+
+    return 1;
+}
+
+static void hvm_set_uc_mode(struct vcpu *v, bool is_in_uc_mode)
+{
+    v->domain->arch.hvm.is_in_uc_mode =3D is_in_uc_mode;
+    shadow_blow_tables_per_domain(v->domain);
+}
+
 void hvm_shadow_handle_cd(struct vcpu *v, unsigned long value)
 {
     if ( value & X86_CR0_CD )
@@ -2306,6 +2307,7 @@ void hvm_shadow_handle_cd(struct vcpu *v, unsigned lo=
ng value)
         spin_unlock(&v->domain->arch.hvm.uc_lock);
     }
 }
+#endif
=20
 static void hvm_update_cr(struct vcpu *v, unsigned int cr, unsigned long v=
alue)
 {
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Thu Oct 23 15:20:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 15:20:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1149306.1480976 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBx7O-0005sg-Je; Thu, 23 Oct 2025 15:20:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1149306.1480976; Thu, 23 Oct 2025 15:20:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBx7O-0005sZ-Ga; Thu, 23 Oct 2025 15:20:46 +0000
Received: by outflank-mailman (input) for mailman id 1149306;
 Thu, 23 Oct 2025 15:20:44 +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
 <SRS0=5hDG=5A=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1vBx7M-0005sQ-Ls
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 15:20:44 +0000
Received: from AS8PR04CU009.outbound.protection.outlook.com
 (mail-westeuropeazlp170110003.outbound.protection.outlook.com
 [2a01:111:f403:c201::3])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d6fe73bf-b023-11f0-980a-7dc792cee155;
 Thu, 23 Oct 2025 17:20:42 +0200 (CEST)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by GV2PR03MB9521.eurprd03.prod.outlook.com (2603:10a6:150:d3::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.12; Thu, 23 Oct
 2025 15:20:37 +0000
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593]) by AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593%3]) with mapi id 15.20.9253.011; Thu, 23 Oct 2025
 15:20:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d6fe73bf-b023-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=IWPxEH+MaBdKd1ofg5aFcCZ45DXnuYtafTPCrmrdGcyR55cJ8cIRSxxoSCuR1FCzUzZRurdoq8hUQBJ7zbHZDyA7GdSE4l1WV009fTV9ccz/Cn5hj99gcg1V0L3BRoFm4A16p6dI9e15bkpxMyR9UBs8e73FAmhQgUoXd3TusYHzG4JpU3vh9+o/eC1ZJBjx1r2MxxUvJm7fq07kuNOPg8q0ndxl8nfswniJ6KUkwcP0ViIzg0jWNANayIF85L0ri3QaF5WigMA8mO/AznXMV/XCbdnHPulc8mAO/S9HGBCBCRdICMkiY8IzDExZjyUBXAWv8K6CCYFOI43tJoMEsQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=642h5+FniBCLD4l5vas8nhJnb+JNQoIG1lDR7i0oVtA=;
 b=piUOCqWkSNIcY7B95S55Mh4x35KokgIHKPBw11sA24lWjkP3ZcV4WgpzHDwlq5eAgHUMIpXbnjmWDcr2QQTC85FoA0ijmwqqa89+0n3H+j/NO9uBSS7ffhpYHzmdIfqsFetCf2IVcQafGn9cr49CwXTRA9jxWVwyqzwxTYkIA+PIzPAuqrYozoB8Bv8KYxKuQ2rfnsBBO0+Sa8PlPvMTfxBL9kgYeZHJnH70dGWNK3abkeGwfNWOFpWN0hDPe9fWqgwmgkS4Sbg4wjw+8culOeEkdP88NVlviX4DETPr7tb9P0GzObLzzCBrloZL4B2CddkchCEgySo3MbXr8WLbXQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=642h5+FniBCLD4l5vas8nhJnb+JNQoIG1lDR7i0oVtA=;
 b=rrKRF3106G2HD1/oB/PZQIALt9Bh7FrdpSmgu6qIjSfDAgA9qN2HyI9K90bFMBNg1N9Az4TN1F/hZ7Zyr4dZ4sK88dUVB4hbfr00y/X5X5FJFZ8Gm7/xjuaY9nurt9gLWEhuOgZQahikI9cV2mVT08+AV+hVZFbgiv08LcM5HvoFAZb+FVa7EZVhheSJeGOJbm0Rx+Ap+KddSujeoYKW5e3ckKAgAjK9uKZwvGFes7PNNsXVAvZQQMwKMVURXEJ5Am/WCjOOHwgZynrbWnWxUJi8Y1yWPog0dhvALBMDeYOhdcngKsnfUZMrO//DNvKlpqXdrEqjnyUHjdYiB4wUpA==
From: Grygorii Strashko <grygorii_strashko@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Grygorii Strashko <grygorii_strashko@epam.com>, Jan Beulich
	<jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	=?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>
Subject: [XEN][PATCH] x86/hvm: vlapic: move vlapic_set_ppr/apicv_write() under
 CONFIG_INTEL_VMX
Thread-Topic: [XEN][PATCH] x86/hvm: vlapic: move vlapic_set_ppr/apicv_write()
 under CONFIG_INTEL_VMX
Thread-Index: AQHcRDCVvYQlUVcQfkOsfzQeJfAtOA==
Date: Thu, 23 Oct 2025 15:20:37 +0000
Message-ID: <20251023152036.561109-1-grygorii_strashko@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AS2PR03MB8907:EE_|GV2PR03MB9521:EE_
x-ms-office365-filtering-correlation-id: 4aaedbbf-c4b5-4d46-7613-08de1247b80f
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|366016|376014|1800799024|38070700021;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?/TLic6CimKtB/2Z9wZcRzoUS+qXqDUgs2ZPqZC8K+36arjzX6yVW0jN2Hi?=
 =?iso-8859-1?Q?m2lWumMJVrL82NdSbWT49QG0m6xk35jUpNdAyvlZpYZeRkw8U/cG7tBtCB?=
 =?iso-8859-1?Q?KLROQ1bJUVyBTWMQclY/TWBWCAHAgTm03WBWrZUe4Y0ww40GMQzyCDMN3C?=
 =?iso-8859-1?Q?bLTRp5Qt3iqPR2q2mIbC/gqLJs6fD/9DfPBbj3vKp9aXYXtA73IXI+9nrO?=
 =?iso-8859-1?Q?zWvUWV404UfGTnaq0S46stiFIm9ZdB0v+QR2GDGiSXs7Kc+ev7BEGS4v/T?=
 =?iso-8859-1?Q?XsOD5bFlETyAWkHLWjFvggcuj7oME5ALJS7JEEuUaYy4uElx5k9B4LqlTV?=
 =?iso-8859-1?Q?iLAjG6UaA6iI2006aGuYUkmeIfoYHmVGdoEVlaQj6usE65yckOYJv6Hqte?=
 =?iso-8859-1?Q?ZaybhGKSxWKFOA2Z3TjHiNDtgZJZO2Sdc1nts2x71Gkihu85hYGlFViAFZ?=
 =?iso-8859-1?Q?k85xMDuHU/JO1QrhpFbW4QK6rssqfwuVk3A9V66Lf06CtiCl7ULUV4UTOO?=
 =?iso-8859-1?Q?+rijefI6v5wPFKw92//bR1HZcbvaRxXBCQ9U4ECVUjmG8GQgMoo4XjZ74D?=
 =?iso-8859-1?Q?gijk2oSNPA5tO8gCYlrREJHO+P0Z7TFOi31JDoaVTxL495pLumtHsbwbmk?=
 =?iso-8859-1?Q?ANwyDkzUW++DPxm+GdKNun1GmegJF3pp+EHyzs+78wuEPe28qpyQhCiEb8?=
 =?iso-8859-1?Q?yIVBd1yurFFDZxJYdszMU+0vxQ3mCMuKYPqjG2wLybIa2kU3VGUQSAMiyb?=
 =?iso-8859-1?Q?Vmjx2vKwF7DRfzL2lDNHU3b7ai7l91q58e4JQ0YobpUPwf2cFuQZ7ngHdm?=
 =?iso-8859-1?Q?EpHVUPXVmqgGNiducASQTQO8BkbBhh4ANLeuu3JIDMhQjq0rMnlhk65pIr?=
 =?iso-8859-1?Q?WDxf54AbyJXV198qPFXABXlcwaEduh5pxcK3COf0nzCI3rsl/FUs9h76Lv?=
 =?iso-8859-1?Q?Q4F16eBf1XjH2istRk5OfF1mFMVV0Y8LXVPlj5APxNy0QCI9r08E14ztB8?=
 =?iso-8859-1?Q?glChNh/nFeQXZBu5iV77Qijsve0ZzeL6NbGBMCDc+Hd07gAwGZWZYdECXZ?=
 =?iso-8859-1?Q?tR546+Eq86TU66Ai5VUwG7xexgC912ysQFvFvWT7orHdmFhJSJrrWfZNsJ?=
 =?iso-8859-1?Q?eEu15W+OrrbfXoEmqCSGK4Qb10roxCu4x9NcMHjHpRg2aXTNT3XcHUd+8c?=
 =?iso-8859-1?Q?lGGRHpaPlGCiNB/WSVAbMnrOlu0i5hprhmSP1rCKcaymI9z/CT7yTLyY1T?=
 =?iso-8859-1?Q?O136pSFPwBTja201HLYFztHUIGRMqBHwAM6ljBkM+jQzCk12Vwn/WlnsQC?=
 =?iso-8859-1?Q?2O4PFpaA14DiPEkySQk/P4TP3gQE40sTRG4VGkMwo7MbPTB6sX55vX7seM?=
 =?iso-8859-1?Q?+iDzaMWXEI1UVBMZbrv27fGwiwnlm8zGHBCDC0UiSu9iTGYzbMjirQ8FrY?=
 =?iso-8859-1?Q?4gtX7AY5uKPC2qaQU+b/kzDZceOy6a8WW7ZTfE9bi8e16zXx5BtZxutsHQ?=
 =?iso-8859-1?Q?cdiTluyzHLyY5RKmSx++odXhhsyz6IEGCYTK/L3eE38Y8s/ziLlV4bFUDr?=
 =?iso-8859-1?Q?lRX/Q6rxQ+yv5ZWMWvCvATxDQ8wC?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS2PR03MB8907.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(38070700021);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?iIcn+ZPHjX2xci34cq1JjOJp3VGl/5lMlrq3F4GXue+iV0GxEPHEa6n9Fv?=
 =?iso-8859-1?Q?TPUk1U+bdrMc8oPmIMK7eYhquApE0Cd76Y/AIH4FZSk31Z0pS2/JfV5VL5?=
 =?iso-8859-1?Q?xfz3U4L3G1r1oP9JDxiVVx6xaB044gh506KNju9zmncUb0Uj0K2qrsge4v?=
 =?iso-8859-1?Q?mk9gkp7GWbI88JGgUqGdsMRKAyWRwrVabZqjunbfv4e8lUHik4qXp1Sq9J?=
 =?iso-8859-1?Q?89fKB1/NMbw5RkwaS+n5r/WuUZuR37Lwm+9tp9/GqaF4PBPKnJAhiCSn8J?=
 =?iso-8859-1?Q?tglE+pqxP3ZYSjlv2IyleAAQG9OqTavlQcVkyorzuT/zkljydywOnhyCTH?=
 =?iso-8859-1?Q?5Ut+yc/Q35omEaBrIE5msptciu+ZR7K+D0ZnEKqyFvdzmSAqHED4ziCW1E?=
 =?iso-8859-1?Q?Qgqm3WDdl6DbdKBF5jJfZVnvC+Mphu9f0JziwEBoeO2zvUFRmkxnAB36UK?=
 =?iso-8859-1?Q?IksPTajeBw1C7ls+cF7yjaL4rddSdGXGfkzG+2Bjuqlj1Mpkv0nCVOPHAq?=
 =?iso-8859-1?Q?9bWeXjl54S1t2Q6nQjo73580Mr/9XdMSnD8AcRtDbkQOItUdpgTJpYEm5A?=
 =?iso-8859-1?Q?PU57Vh6i3JpsgK/R+o1fahGgquGzpyN2bNFUSRsRUqwiPtIhqeXAU6KR5V?=
 =?iso-8859-1?Q?qIHKYFEU4jflWtyNZvn48s/JOZ+rXaEVa9YC1ayvoXXxqlx7ntTdEEeYQP?=
 =?iso-8859-1?Q?QNTKGybqaKdiO5eH8H/lxooCRDniTW6i7QVvzi1WVSuezOccel7g++phOP?=
 =?iso-8859-1?Q?08N3LRr0cD05l4jISUn5HLDFFxaFu4Kts1UxhmqUiG9DYCh63F6mIe26rV?=
 =?iso-8859-1?Q?wGvGORcRFj0HY0MW6eZ4bo32zA6SUjwoG5qKYjB+QGb0WvzrtKDpL7BZUl?=
 =?iso-8859-1?Q?hq0YNRzlILIgdQZ51CoxdVcuEW9myPwACBC55bhY71FNOgNPyc9QWLSX0H?=
 =?iso-8859-1?Q?acZxWiugZkEhno1uYn2LLBwWuxyJCuvGF/80qlGyZQdBbe3cjn9Y/sKpoL?=
 =?iso-8859-1?Q?APGOGKoey4yAIqHI81TXdyR41r24cbFMhI+k7bcvRLztDPtZrYyo8J+Dkj?=
 =?iso-8859-1?Q?3ZevmXcZSPmke16rJggG5AicVCa4TDrc3z1q0e1wJvXVEnGxurf4c4jgyU?=
 =?iso-8859-1?Q?kYOTUf25KuWJTMbmUl0iHWw/iq8Fj7GveDuymNywsGd4kYmiNeN+Fc6Ll+?=
 =?iso-8859-1?Q?tbgmyipy3gTNESu4QFZhT/enLU6hEZSZE+lVnnZ/NnMLHZRErLFVpy4X22?=
 =?iso-8859-1?Q?1cuHOcGJOl8Qa1rjTkwKcQgphdXcZ0EADIL3ncntMsd1KOt92tSmm411B4?=
 =?iso-8859-1?Q?l/iRIqeNiR9hgsAk0goXI8SKFJ0NOAZFp6dJ3xVdFD3UfgbU4C6ARAzHOb?=
 =?iso-8859-1?Q?S9dJfsf/1zg8J29nm5yL2vmbuT5eu9hq6hKcb0dC/iht4ZRbkPXNTJpcA7?=
 =?iso-8859-1?Q?sWbeB1k43qeMVvRpXAWkxKx+P2wBUUPxQ8qx6lpPZnL9U19OXCa6y8zf6M?=
 =?iso-8859-1?Q?Ly9qZ6BUNq5N+JumQFd7ULyM9GGDzXu15Xz8qY2SR451LLmVTsA25dYVhn?=
 =?iso-8859-1?Q?JWuEhoFXIByBookCiYQs5zUjhGpIOe4334JuemcdVITKUS7Lvipy/PD5x9?=
 =?iso-8859-1?Q?Vkh1qSa2RW501mPiR4QV+nl627v5OnG1+EZ+gs7PPUIR0WL/sj925HuQ?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4aaedbbf-c4b5-4d46-7613-08de1247b80f
X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Oct 2025 15:20:37.3112
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: GAES3hbRSCJ2U3wDeYTUEMRUHPtaYwby1RIm9KHPMeJ+8Qtbyr2L8MS80yR5QtTggmaWyC0/BrYR6hyYCQq2sUTev52WN5g+wgLixrsNjmw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR03MB9521

From: Grygorii Strashko <grygorii_strashko@epam.com>

Functions:
 - vlapic_apicv_write()
 - vlapic_set_ppr()
are used by Intel VMX code only, so move them under CONFIG_INTEL_VMX ifdef.

Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
---
 xen/arch/x86/hvm/vlapic.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
index 98a54efc7bdc..4121285daef8 100644
--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -215,6 +215,7 @@ static uint32_t vlapic_get_ppr(const struct vlapic *vla=
pic)
     return ppr;
 }
=20
+#ifdef CONFIG_INTEL_VMX
 uint32_t vlapic_set_ppr(struct vlapic *vlapic)
 {
    uint32_t ppr =3D vlapic_get_ppr(vlapic);
@@ -222,6 +223,7 @@ uint32_t vlapic_set_ppr(struct vlapic *vlapic)
    vlapic_set_reg(vlapic, APIC_PROCPRI, ppr);
    return ppr;
 }
+#endif
=20
 static bool vlapic_match_logical_addr(const struct vlapic *vlapic, uint32_=
t mda)
 {
@@ -984,6 +986,7 @@ static int cf_check vlapic_mmio_write(
     return X86EMUL_OKAY;
 }
=20
+#ifdef CONFIG_INTEL_VMX
 int vlapic_apicv_write(struct vcpu *v, unsigned int offset)
 {
     struct vlapic *vlapic =3D vcpu_vlapic(v);
@@ -1002,6 +1005,7 @@ int vlapic_apicv_write(struct vcpu *v, unsigned int o=
ffset)
=20
     return X86EMUL_OKAY;
 }
+#endif
=20
 int guest_wrmsr_x2apic(struct vcpu *v, uint32_t msr, uint64_t val)
 {
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Thu Oct 23 15:22:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 15:22:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1149316.1480985 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBx9G-0006Q9-U6; Thu, 23 Oct 2025 15:22:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1149316.1480985; Thu, 23 Oct 2025 15:22:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBx9G-0006Q2-RB; Thu, 23 Oct 2025 15:22:42 +0000
Received: by outflank-mailman (input) for mailman id 1149316;
 Thu, 23 Oct 2025 15:22:42 +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
 <SRS0=Pfyu=5A=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1vBx9F-0006Pw-Va
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 15:22:41 +0000
Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com
 [2a00:1450:4864:20::62a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1d633110-b024-11f0-9d15-b5c5bf9af7f9;
 Thu, 23 Oct 2025 17:22:40 +0200 (CEST)
Received: by mail-ej1-x62a.google.com with SMTP id
 a640c23a62f3a-b5a8184144dso157933866b.1
 for <xen-devel@lists.xenproject.org>; Thu, 23 Oct 2025 08:22:40 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-71-38.play-internet.pl.
 [109.243.71.38]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-b6d5130d570sm236629866b.10.2025.10.23.08.22.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Oct 2025 08:22:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1d633110-b024-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1761232960; x=1761837760; darn=lists.xenproject.org;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=uOqBEfEaONqTDbPzcyNxVdaTcrM3D1QJ3UqLDzuPDoY=;
        b=MuKBBz/R8VWGpinhdMX8/x0OLT61ba8aV+XVyjWWRmxqGDcNMBEX2US9sbmJDG2avp
         KrO8/QNyJei6lE6WYvFSc9jMPJj2dTOsjdJ32WA/1vVnyQd4HlBNSUcptLxE2cj1qAtS
         3h0PD8/IuA+TGaBEF1Up+JED+vywmAauoMcpTw8fv96JtBzcQj3a/woKNydehwn1dMae
         BnVcN2umncQRzLL0FZJGe4WXInBZ98fE91x/ZSFmLd9XB4JN489mofFl3TBjWmtSzalD
         6keUFz1TVn00RNYD0/ZGlGMm8vP3gP7aI+qRcEeEhflbdTiYgzDAmyw2o9ivuqCrqcgw
         7KPw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761232960; x=1761837760;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=uOqBEfEaONqTDbPzcyNxVdaTcrM3D1QJ3UqLDzuPDoY=;
        b=KKa8RMlu2walMJFipR9pctsW7iY0lC8oPZnQWagvLdEOschaIPG1KWqoDOXJ7kM+TM
         6d+eNQXVB6SaS75QTRupB+9E9I6rESWJqL464dH6fHx13vsnw4ZLCJLHOi4eetDFqpDn
         ofHcrIIGAwjEVqVFWsxaNdlWGV/5PdUnVYvh/5BAi/xk3JJ23cFdGWtu4ytCO03oL7Mh
         qHwQf6FCi9fU+sNERAwhjnMhQEtz9/eakLzHoPupN9OK4K23PVYtfOBFaqfWAxHIjtaf
         XEw4kMm4I1M2RXVGdAjANxAfChqKqiVBc1u7UlsxbD6sVw48nCXx0+61LEhQGv1j1ur3
         frDQ==
X-Gm-Message-State: AOJu0Yxa9rcJh0er35aswHJSlDolbjBmpNlLOiYP+oLlvGtyf2g7seGn
	2DE48hKZdl0hYKeoL6TuwhR22gjQ38WHk0iEF9jo73Q9XfD50L0NMC5v
X-Gm-Gg: ASbGncv1ZD1wtEd675fslo82r9Oy06S1Xrw73jUJgETF5bBx8NvJIV4DEjWNE8/S7+c
	7xyuajDmProcI0aT5d7T9NWVUa6lwqb+7762w/P/Yc1U4Bvk88jTFqCCoSus0Bt208Wek2N10ur
	4x0mDqV+bjvSYmn5rxJXMuRcVLB7zhJxVL4+wTNgxt2Q4L4mIjwNtSPU3fTUkMRS7jt8wjDV/zP
	816fkV6sguwK+eQhzyAjJqkczTZJk7M9X3ZC1WghoJznrwUV2ng8uhKw9Mn9znxhPxlOGQ8rfNS
	/UQFos1CIHemqA7WIPVrcBJ9fXbT36ofibQ06vUbQx2s+MQU2KsgwbginFORe2oK4yHzVPKvu1R
	+f/eJjKEPYHtcGMCYg82YbhOFdhsnPLBzVZHyXwZIeN9WQG1Ys4il7NWDal/KXq2ljzrhYkgAa5
	svinN8TI3Bx0alVHORSL+v4JtD1hT5K0HJHqi6LVq7yXSyDQvewiTCDg==
X-Google-Smtp-Source: AGHT+IHZNyWQ2v1/GJ5HLMe/HCSqR1+NZQ4hVy0/CACkQQWUTZRyBBl9FNlCx1mv+BozVZTgSZ9EHQ==
X-Received: by 2002:a17:907:2d09:b0:b40:6e13:1a7f with SMTP id a640c23a62f3a-b6474b3140amr3165501566b.27.1761232959900;
        Thu, 23 Oct 2025 08:22:39 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------Rl00sHTIiDyRHivOf9VZa0Zi"
Message-ID: <d9924b94-36d0-4d7e-9a9b-bd4ea38f538d@gmail.com>
Date: Thu, 23 Oct 2025 17:22:38 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH for-4.21] tools: require at least json-c 0.15
To: Anthony PERARD <anthony@xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
 Anthony PERARD <anthony.perard@vates.tech>
References: <20251023085730.36628-1-anthony@xenproject.org>
 <bd6c0e3f-f2bc-4399-adf6-d2dc18b06982@citrix.com> <aPpD_G_oULdfeWbf@l14>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <aPpD_G_oULdfeWbf@l14>

This is a multi-part message in MIME format.
--------------Rl00sHTIiDyRHivOf9VZa0Zi
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit


On 10/23/25 5:04 PM, Anthony PERARD wrote:
> On Thu, Oct 23, 2025 at 03:45:55PM +0100, Andrew Cooper wrote:
>> On 23/10/2025 9:57 am, Anthony PERARD wrote:
>>> From: Anthony PERARD<anthony.perard@vates.tech>
>>>
>>> If not available, fallback to using YAJL.
>>>
>>> The code is using json_c_visit() which was introduced in 0.13.
>>> json_object_new_null() and json_object_new_uint64() where added to
>>> 0.14. And the last one json_object_new_array_ext() was introduced in
>>> 0.15.
>>>
>>> Signed-off-by: Anthony PERARD<anthony.perard@vates.tech>
>> Acked-by: Andrew Cooper<andrew.cooper3@citrix.com>
>>
>> However, you should adjust README and possibly Changelog.md to give this
>> new minimum version.
>
> Will this do?
>
> diff --git a/CHANGELOG.md b/CHANGELOG.md
> index 0cf9ad2d95..fc4f6d7c8a 100644
> --- a/CHANGELOG.md
> +++ b/CHANGELOG.md
> @@ -14,8 +14,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
>    - Debian Trixie added to CI.  Debian Bullseye retired from CI for RISC-V due
>      to the baseline change.
>    - Linux based device model stubdomains are now fully supported.
> - - New dependency on library json-c, the toolstack will prefer it to `YAJL`
> -   when available.
> + - New dependency on library json-c 0.15 or later, the toolstack will prefer it
> +   to `YAJL` when available.
>
>    - On x86:
>      - Restrict the cache flushing done as a result of guest physical memory map
> diff --git a/README b/README
> index eaee78bd73..53a4d5c2ae 100644
> --- a/README
> +++ b/README
> @@ -53,7 +53,8 @@ provided by your OS distributor:
>       * Development install of Python 2.7 or later (e.g., python-dev)
>       * Development install of curses (e.g., libncurses-dev)
>       * Development install of uuid (e.g. uuid-dev)
> -    * Development install of json-c (e.g. libjson-c-dev) or yajl (e.g. libyajl-dev)
> +    * Development install of json-c 0.15 or later (e.g. libjson-c-dev)
> +      or yajl (e.g. libyajl-dev)
>       * Development install of libaio (e.g. libaio-dev) version 0.3.107 or
>         greater.
>       * Development install of GLib v2.0 (e.g. libglib2.0-dev)
>
> Cheers,

LGTM. Free to add my:

  Acked-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>

~ Oleksii

>
--------------Rl00sHTIiDyRHivOf9VZa0Zi
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 10/23/25 5:04 PM, Anthony PERARD
      wrote:<br>
    </div>
    <blockquote type="cite" cite="mid:aPpD_G_oULdfeWbf@l14">
      <pre wrap="" class="moz-quote-pre">On Thu, Oct 23, 2025 at 03:45:55PM +0100, Andrew Cooper wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">On 23/10/2025 9:57 am, Anthony PERARD wrote:
</pre>
        <blockquote type="cite">
          <pre wrap="" class="moz-quote-pre">From: Anthony PERARD <a class="moz-txt-link-rfc2396E" href="mailto:anthony.perard@vates.tech">&lt;anthony.perard@vates.tech&gt;</a>

If not available, fallback to using YAJL.

The code is using json_c_visit() which was introduced in 0.13.
json_object_new_null() and json_object_new_uint64() where added to
0.14. And the last one json_object_new_array_ext() was introduced in
0.15.

Signed-off-by: Anthony PERARD <a class="moz-txt-link-rfc2396E" href="mailto:anthony.perard@vates.tech">&lt;anthony.perard@vates.tech&gt;</a>
</pre>
        </blockquote>
        <pre wrap="" class="moz-quote-pre">
Acked-by: Andrew Cooper <a class="moz-txt-link-rfc2396E" href="mailto:andrew.cooper3@citrix.com">&lt;andrew.cooper3@citrix.com&gt;</a>

However, you should adjust README and possibly Changelog.md to give this
new minimum version.
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">

Will this do?

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0cf9ad2d95..fc4f6d7c8a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -14,8 +14,8 @@ The format is based on [Keep a Changelog](<a class="moz-txt-link-freetext" href="https://keepachangelog.com/en/1.0.0/">https://keepachangelog.com/en/1.0.0/</a>)
  - Debian Trixie added to CI.  Debian Bullseye retired from CI for RISC-V due
    to the baseline change.
  - Linux based device model stubdomains are now fully supported.
- - New dependency on library json-c, the toolstack will prefer it to `YAJL`
-   when available.
+ - New dependency on library json-c 0.15 or later, the toolstack will prefer it
+   to `YAJL` when available.

  - On x86:
    - Restrict the cache flushing done as a result of guest physical memory map
diff --git a/README b/README
index eaee78bd73..53a4d5c2ae 100644
--- a/README
+++ b/README
@@ -53,7 +53,8 @@ provided by your OS distributor:
     * Development install of Python 2.7 or later (e.g., python-dev)
     * Development install of curses (e.g., libncurses-dev)
     * Development install of uuid (e.g. uuid-dev)
-    * Development install of json-c (e.g. libjson-c-dev) or yajl (e.g. libyajl-dev)
+    * Development install of json-c 0.15 or later (e.g. libjson-c-dev)
+      or yajl (e.g. libyajl-dev)
     * Development install of libaio (e.g. libaio-dev) version 0.3.107 or
       greater.
     * Development install of GLib v2.0 (e.g. libglib2.0-dev)

Cheers,</pre>
    </blockquote>
    <pre>LGTM. Free to add my:

 Acked-by: Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a>

~ Oleksii</pre>
    <blockquote type="cite" cite="mid:aPpD_G_oULdfeWbf@l14">
      <pre wrap="" class="moz-quote-pre">

</pre>
    </blockquote>
  </body>
</html>

--------------Rl00sHTIiDyRHivOf9VZa0Zi--


From xen-devel-bounces@lists.xenproject.org Thu Oct 23 15:30:41 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 15:30:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1149335.1480996 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBxGu-00085u-Oh; Thu, 23 Oct 2025 15:30:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1149335.1480996; Thu, 23 Oct 2025 15:30:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBxGu-00085n-Lt; Thu, 23 Oct 2025 15:30:36 +0000
Received: by outflank-mailman (input) for mailman id 1149335;
 Thu, 23 Oct 2025 15:30:35 +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
 <SRS0=Ct/T=5A=citrix.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1vBxGt-00085h-8f
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 15:30:35 +0000
Received: from MW6PR02CU001.outbound.protection.outlook.com
 (mail-westus2azlp170120002.outbound.protection.outlook.com
 [2a01:111:f403:c007::2])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3637dcaf-b025-11f0-980a-7dc792cee155;
 Thu, 23 Oct 2025 17:30:33 +0200 (CEST)
Received: from DM4PR03MB7015.namprd03.prod.outlook.com (2603:10b6:8:42::8) by
 DM6PR03MB4987.namprd03.prod.outlook.com (2603:10b6:5:1eb::10) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9253.13; Thu, 23 Oct 2025 15:30:29 +0000
Received: from DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9]) by DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9%3]) with mapi id 15.20.9253.011; Thu, 23 Oct 2025
 15:30:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3637dcaf-b025-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=j5sX0DFy97TMA5v1vaY8mNxXdrcSxVJwnQZlU5sRZoFNmOGCW6B7WvZjPO00kBtZ2eweMD64oWwg6nl0+4kKISsBF81Uey8iFBhHKbPXUfw+UHTqpvSK5GaLe7t2IQLMaFd5TSwvxK8fyrDGcQtedQh8xFhPQ568Xc5u9kig/3B5GMN47PQx6jQ0N0JEa55AwG6yIxvLiEh++LN7wbmMkSZaOIm5guQ6+cREyz18/w0tkcBQBTos/9lyg1pQ1ZCUcurTkyE9A9PYatBjFs/t1yC3RTxk4FMnrWbArRUNUGkzi8HJrMKXqwW60nD16u1Wn96VWhxw9jaOnAsFjCvy0g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=s6BpgfENMwdRZxJi4fJcgdFSVq6aJwS6FJNe2jquDHI=;
 b=Ox7e1GxLYxvUGdCCe0pxsfSQtydK7fJkUKFOj9NYSWTRqM9eTNiA+iHafq4YtDMRuZv/SRkuw0ot+fxTGxLtBtvKn5N7fZd42LtKWNbBJEsQOOXlp3vJvuFeIogP3ENVWtf9lFxl9fy/WYVU5cqGjYboKs1Z6mtD2BFOPOAbiZNAc0drVkG+rvYG93u2aBKXnOuT5YtUzfulT1pLNbMkRJIumQhlxa61DF4V5tBK2kGhsrtUGa8YzhFASKqdlOaCLTZ0waK6vm712R0IqxEwVGOXtXeMl/r3uwj1P4OvnoRftJ9/ABsvjsIlydKlWwC/rv07kQqV82XmUue9M//teA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=s6BpgfENMwdRZxJi4fJcgdFSVq6aJwS6FJNe2jquDHI=;
 b=zw8If+B8LmjMhGZE2CNfTIRrijvau7ZUwDOBGYO317YARKXeETjnwhQ/NlWh/6GUi176WCxQ/ue7LM5bqUbsvEJozlW9RHHRh9lmO8ZB9VHCUuv8LoPyqxKgqa1ejVYTlFqIRwMikrWQf+967SFy++PWHxhKSorD2TR1EQj0f7Y=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <a6b61e9b-e1c2-472f-95d6-05b114b201d2@citrix.com>
Date: Thu, 23 Oct 2025 16:30:25 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN][PATCH] x86/hvm: vlapic: move vlapic_set_ppr/apicv_write()
 under CONFIG_INTEL_VMX
To: Grygorii Strashko <grygorii_strashko@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>
References: <20251023152036.561109-1-grygorii_strashko@epam.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <20251023152036.561109-1-grygorii_strashko@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0175.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:18a::18) To DM4PR03MB7015.namprd03.prod.outlook.com
 (2603:10b6:8:42::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM4PR03MB7015:EE_|DM6PR03MB4987:EE_
X-MS-Office365-Filtering-Correlation-Id: 9e2e3dd0-4afb-4f66-756b-08de124918e3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?U3hMT1d5NWt5ZWtTRnJzY0FEQ2pnamlRZzhvSmNSZWt1c0IvUDJBcURSZEIy?=
 =?utf-8?B?NzRxREF2TDJBbnpuTEZGQ0pSUU9JdktITmFDUEFEWjMzclRnTWJxK3d0SHg3?=
 =?utf-8?B?Mmx1RFAyN0lXSEpvTlB2Q0d4cXp2TjlQUG5LUm5hWUl1aTJ1aWh2RDBJSFRz?=
 =?utf-8?B?TmNGOXVlRzJ3UGl2MUFCTjZkYzNsWmpMR2lRK0JGaWRjcG9NVlE1S0lxaTR6?=
 =?utf-8?B?eGtjckU2TmcyZUFJV3lEeFJjTlN0aE8za080QkF6MGthclF5R1k1S3pIdmZP?=
 =?utf-8?B?UjVnblB3aVMrVFlORDZNSXpLOEpOUk8wRm1QL2dkeVVlWkNMTlJzTFhNMFFr?=
 =?utf-8?B?WFRWbTVSNGxJVnZRVWt2bHY2UkU1TFhoTnNjd0lJbkdVUlVnSG5NMnIySkFQ?=
 =?utf-8?B?UDVNb2VwVHYvQ0EwSjBKYTRKZUhFVEhPR3VFTjNXRGdqL3psQkQ5U1BOSS85?=
 =?utf-8?B?OVBoR1ZrUFU2UFBkS0V1MVhrbENQNVZ6R1UwbVBUNUlicmhybERtUGEwS0s2?=
 =?utf-8?B?RmVQZTZFYlJjT2ZZSWZVSEdJZlBtRjRuNEhUcmVQMSs5d3BzYmtYb0xiazlD?=
 =?utf-8?B?ZmhTNmpteWc1ZCtLeFdVZEJLZkxhdXdreWdHaTRqRCtUOThGZytJWDlicFk1?=
 =?utf-8?B?ajBxbTRzYmQxMXZDTVowUFpRVk1mWWVCd045ZDB5SmNoM0lPZ2duWGU3eVpv?=
 =?utf-8?B?Rms2Yzh1elM2cHYvSm0zMGIxclh3bFJaNWdtVCtuNWQ1MTBTb0xhUG1GMHVx?=
 =?utf-8?B?K2R4b0NzdGFaMTVsT2R4aDNIZU9yRGZyRHFPSkhyRUtUREliZGxzOTBBM1hR?=
 =?utf-8?B?c2FwbUxPUTdQd2RFVE94OWNaQ3c2TTlhYXRzQVRaelFZZ29QajYwTG9uMTNu?=
 =?utf-8?B?aHloVjVYVEtwWm4wcVdVN2pvVWgybTIvNjlHVUNtOEdlWkl0RE5CVWZ6cHI5?=
 =?utf-8?B?cXB1NWJiTmI2aUc2ZHVaU2hUY3hzNEJVS3lCSWRuWFo3Ukp6anFQczU4cks2?=
 =?utf-8?B?ckh3ZisrcUhYb0x3eERDYlBZWjJ3bkFpL0JtZUpRQkthSngwMDVvSU15SDBC?=
 =?utf-8?B?Rk83NmhQbU12VlhNU1BxNWwvSW1HazVJTWtpb1kwTGpOYU1tdXN4Vmd5ZWFh?=
 =?utf-8?B?VXpDNGJWK1JYbStHRTVILzhZRlk1NVhnWmN6MUxjL2p3ci9mM1dXSWluT1li?=
 =?utf-8?B?dVBsTWtPZm9qejBNeFRDU1VxcGtTQm1kWGdjS2xKT1IyeXVqQ0tja3Y3Qlo1?=
 =?utf-8?B?QXczd3U2Mkg3Q3RyTlhhQTA3V1lCd283dDhZYnRiNlYwUCs1eTlaVXhzV0FE?=
 =?utf-8?B?WERUS2dqQVNadnpJUmRhRnBNTlhZNHVTSUlYNXk1VThVa05iRW9QVTRnSjJP?=
 =?utf-8?B?MTIwWFZyQXhKaGdoRXkxYWZjanM1a1B0M3B5d095c0RoL1ZHMXltakk4aWhE?=
 =?utf-8?B?cGZ0Wm5oOFlBNjJQTmY0Qmk0NTNtK0pLSjJGZ05yaEpIMVM4bXlkdTVXYnZI?=
 =?utf-8?B?aUNMdjdla3p6SU1TclVSblVzTHBMZ25rblBVclU2Ri8rTTBJVGl1V3ZJOWM1?=
 =?utf-8?B?NWdPcnFLdDBKelZUbmdMeThmM3BiOWFra0FPUGJZTWUycXh0SFcxR1NLYjho?=
 =?utf-8?B?SjR2dmxZcGhFSytZZEM0MDJ0THRYSHB1Y2tWeG9uTWhvNzEzd010ajVHa2lD?=
 =?utf-8?B?bVJ0TEQxaVJqSUJidnFiZVJ4R2NCT28raER4M0w5UEhaV3F4NTFkallVN3pa?=
 =?utf-8?B?UjBBVXltL2pTRkhuMzRNbGRyQWdOSmJYS3hWOEpSSFJaMHBGR3d4SHhhTUR3?=
 =?utf-8?B?OTFZWlphd1ZMdUZoY3JwRzNmUUQrMFdDaFBBcW9EbzF2bE0rbTYrL3Nsb0xy?=
 =?utf-8?B?MmpQUTkyaDRPd3JsNktiY3FHRnhNYTQ5bG0wUlJSQXN5aVJjbTNsbFU2TWV6?=
 =?utf-8?Q?ni1e55zheNPDKxaDtmZAdmXK2wDPWSde?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR03MB7015.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TXQvSFlFZ1BoZGp6MUVkbDRCVzBpeWFYdHdoSVI5S29mb1o3cG1NRlBUdG9r?=
 =?utf-8?B?QUVnVWFvU0I4cWNmRjF6MXFGMGN5dGFGU1lOckN6azRoaWxFVlRZUG9QV0J4?=
 =?utf-8?B?T1pESnBQWTZJQUlZK1FEQWlMZTlSSjIyNFBEZW54djArQ1I5cFlzSHJ2QS9S?=
 =?utf-8?B?T3gyRkxpOVREVDlEYnhrRXkxc1c1QThES2gxT3VnMDFyTVBWaktRUVBUeEta?=
 =?utf-8?B?dEhGK1VUNUxPOFhRMGR0NUhhbXVwdTBjRlB0Zmh2ZDFwaWM5ckVaSXRSeWN3?=
 =?utf-8?B?U3o1emcwNktDeW5LSnZEK2lJQU1Oa0U2cDU2TjR2Y1ZibFVWN01FV0tNOWZi?=
 =?utf-8?B?QWdKMThtOG16Wnc1NUp2U0VIKzZ0TnFGYmhTc3M2TlpDSkNRS0xqTE8zcVJD?=
 =?utf-8?B?WE9sSSt1aGxxRVVFR3IzWkJ5cXdqd3ppblI5NjlKRFFFd3RyUFpjZld4cXVr?=
 =?utf-8?B?eGFETjF2ZUFHV1JmVU90NWpHdXRvRTFKbFAyeG1kRC9mZld6Rk12ZlFxL0J6?=
 =?utf-8?B?L05oeGg5ekZWY3drb293SS9qVmJSZlJaMzhWZ1R3RkE0WkVhQ1M3OEEyNGFY?=
 =?utf-8?B?Vmo3eXZEaEliOEZDWTlXS3BBb1dqc1M5TS8wSGNQY0s1L3JqS24yTWRQSWFh?=
 =?utf-8?B?ZXZOSzM2UFpUU1RzQisyNnA5K0d5eW9hQm45V0trMk9zbWxTeGtLc0Uxcng3?=
 =?utf-8?B?ZUZGeGYwSnlub1JvM2g5bVN5NDV4T2tHbnJGdU1lZ25MRzE5TVNuaVY3MzM1?=
 =?utf-8?B?dGM3OEJyYTI4TnpQRDZIa0RDRGZ1TTk1RGZjRXpEN3N0dVdGZm5QZ3B0dXYz?=
 =?utf-8?B?Ulkydzk4TXdMVWcrMmZZQ2hJWkNQbUtmcEZyeStuL0tXV0ZRQUg0aGFTL1A3?=
 =?utf-8?B?eWJQZXJrQXhIYTZlWGtXTjRiVW1wTzNUQ0tRMlZoRWM1REVoNkhhaHlpWDhS?=
 =?utf-8?B?MUJUckZ6ZWh2OFdQbmxiTUtZcnpzWVRRWVRDbjdNNHJna1RxaTB0QXBLYm1v?=
 =?utf-8?B?SGY4TWFGMlJSL2N6T0UxVkNQZncydHpTa01BZGpmaXNBcmtmWDJLbmt2QytW?=
 =?utf-8?B?a1Q5RXo5WkZIMWcwcXN2OTJURlByRThJQStUcEptbHNFWFlHT1hsZXp1OW5r?=
 =?utf-8?B?enVzaXBRTUFhNS9kMEJiUGpEUFl2dDB2ME81eVVIb3hDSUJEbUtzSXhUS01a?=
 =?utf-8?B?bEdrSktCNFhNQmh0c1lXNTZEb3BuRkszZlZzb1UvRkw4bEFvMWxuU01FTXQ5?=
 =?utf-8?B?eCsyZE5kb251MFF3ZFNLcC80MmlJUUsrTmpZRWpHYW1BbDB2NHFKNmJvNUhN?=
 =?utf-8?B?ODJTZE1Vd0tsSWVqaEdsSXRONnpMWTBxYlVKSFlNZ0dFQnZSc2FmVHNJbmlL?=
 =?utf-8?B?S1BIb0pYZlFTM3pXbEF1WjRneWthRmRHQXB4aEE5M3VHTFYvbUgzdWszdDVs?=
 =?utf-8?B?Vmx2em1LOWpMRk9QTFFOc0VQN2xMVWwrSUJhZnZmQVV3REpyVXZWYXRVamJQ?=
 =?utf-8?B?ejNPS2JoS2liNnhoMUJmaGR5Zi9vL055M09iYW9aOE9TUVJkMjF6eEg2VzFJ?=
 =?utf-8?B?aE5RUFhZUnJHL0VYWCt5S211T1ZYdFVodkhUdDBWUTFaK2ltTFlIZkUyWk1l?=
 =?utf-8?B?M040c3NDU09MOHp5WGFtaFpST1hwOWpwOVFUZVl1T2NWZFY5ZFFKUDRKL2xT?=
 =?utf-8?B?cmFqTTQ4bUppTWx4U1REWkcrZlJUQjhHQlA3THU0VTlvNG10YkZ1L0FDRzJ3?=
 =?utf-8?B?VkpQN1RlY2tlbXRwZVdKWUEzTFRjY2pYMjRoNFYxYUNuNGwyTDFpcko2RWNE?=
 =?utf-8?B?eXBOQlV4eGF0eWNGekdPODRDdHNROGRlK0JHSmRESEYveVpVZ08rUDJqMGlI?=
 =?utf-8?B?cXQwTEZ3YSs3UUhZYVludzlrcGEwN3hoa3pHT3poYXQ2NXg3M2U2ZDI2ZE91?=
 =?utf-8?B?MjBnQTZyV3c2elRTWkZPb3d6OHVObkkrVVRDeCtuV1JJcEtQWTh2U3Z4aG9W?=
 =?utf-8?B?N1VrN21zeUdoVnVtVm05M2lZTklxK1c2UjUwM1NsazBHdW1Kd2h2MUI4S29N?=
 =?utf-8?B?U01qY1N0ZWRqQnkxUGVjTEtVYlVuYmhVZDAvSDhSd09ma0hDazZ4dHZtOEY1?=
 =?utf-8?B?TVEzNllZWFVSMzdJOG1PYmNvT1QySXZFenh0WXN0cy93RGExK1J3NUNtdEVT?=
 =?utf-8?B?S1E9PQ==?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9e2e3dd0-4afb-4f66-756b-08de124918e3
X-MS-Exchange-CrossTenant-AuthSource: DM4PR03MB7015.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Oct 2025 15:30:29.5142
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 3apueVJjM9tbqT2Eb05HBpOSv+vYzulf+Zw7JeSOre177iIw8vstsO9QZMFQ8ivyWniEnHyKHfp3twiGZT3FSwZpP0ijSIZ8Yx0ehTwiWXw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB4987

On 23/10/2025 4:20 pm, Grygorii Strashko wrote:
> From: Grygorii Strashko <grygorii_strashko@epam.com>
>
> Functions:
>  - vlapic_apicv_write()
>  - vlapic_set_ppr()
> are used by Intel VMX code only, so move them under CONFIG_INTEL_VMX ifdef.
>
> Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>

Yes and no.Â  Yes right now, but this is needed for AMD AVIC, which I
understand is one one of the plans.

Throwing #ifdef's around like this in common files is fragile and will
lead to a randconfig nightmare.

There is an alternative which ought to work.Â  Turning on
-ffunction-sections (we already have this for livepatching), and
implementing link time --gc-sections (new work).

That way, the compiler/linker simply drops functions that are not
referenced in the final binary.

Personally I think it will be far nicer and more scalable than the
#ifdefary, (not to mention far easier - it gets rid of everything
unreferenced with one fell swoop).

Thoughts?

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Oct 23 15:36:32 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 15:36:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1149345.1481006 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBxMQ-0000Sq-Cf; Thu, 23 Oct 2025 15:36:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1149345.1481006; Thu, 23 Oct 2025 15:36:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBxMQ-0000Sj-9h; Thu, 23 Oct 2025 15:36:18 +0000
Received: by outflank-mailman (input) for mailman id 1149345;
 Thu, 23 Oct 2025 15:36:17 +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 <SRS0=U0PU=5A=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vBxMO-0000Sb-V9
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 15:36:16 +0000
Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com
 [2a00:1450:4864:20::32b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 032f7f43-b026-11f0-9d15-b5c5bf9af7f9;
 Thu, 23 Oct 2025 17:36:15 +0200 (CEST)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-4710665e7deso5003825e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 23 Oct 2025 08:36:15 -0700 (PDT)
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-475cae9f292sm41216065e9.5.2025.10.23.08.36.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Oct 2025 08:36:14 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 032f7f43-b026-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761233775; x=1761838575; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=qdJ4H98tRAS1gKh7YjwKN+5/C0yUxoA7rjs5WXIoDPw=;
        b=ZazIBsetwytqixS5UvjCKMTxCcxzoFr8BXjPKAFGxuLorpvSbYSnLeL9dyuxuhEyeI
         he9VSvM8rNU6JZhjV2E6zlsqdWuYONKSXoiDAgISXK2W7H2m0iaXyxSlwG5K4aku/6wl
         4JwrLyJPv9xV1x6Y2gr+p4CKYgghfWlFT769ATsCYrQLnm8IHXIFjgzqtqXzdtWR5BUR
         1jmDUQmc2EFL7kWvNl9L8rYpHMY2twMm9boSzd2/PHttHpfkD/cNCelIa2XvwCaVi09h
         FPxAXkLeEbmXhet8DyCfIzZP7S9zzJP3F99zloQivWZ2Hj8im9UhjHRRhTkGsCElfYQt
         1qUg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761233775; x=1761838575;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=qdJ4H98tRAS1gKh7YjwKN+5/C0yUxoA7rjs5WXIoDPw=;
        b=V8GpbsGf+vcDFr/brKJKnjmfjtKpcivbT6NE9B/iCIoUllv9gCb1/a4WZKWs3nqzle
         E4TMWxgVLc+vx/2rTmU/dWDYCYgBtRW2cMTyHSyjuC2Y1xBSlU/ZtNSRpuHcX2ZkCSmZ
         cuA1lucQJg/BioEvYi+3j+l9NqNTU/UZVNR+VPTdlycvoJjm/NIGXCPNGYpDTegFa0aF
         toVH5goxdupqCL5lANPpI+Zq3hphe1NyWH7zX6QshHJBfpHcApXZpxKbXH8NLHbk32mh
         12SuGSLb16zPm29Lldu34rm1h91CC8uHfP0bswG3iVp6gaoeryxVgg1d2iOtG8Vp9aEv
         /e8g==
X-Gm-Message-State: AOJu0YxfnE4d6BYUVATk/tKtKL2NoWwbJ6J4sulUCSi8wVUVDQ/SgXrZ
	m9J8bYGz79nRJIYCgZeE7iloGG5QAxlNLf8GTtCxQF067fSjBNQixixZ8hqS8OmX4Q==
X-Gm-Gg: ASbGnctpIN+3NtqhsHMxM3BSg47RTJQ3IvGmIXNIc+cveIbpxn1amorEttqsXGzM6CO
	6Pmcerf+T4eiiZyUMDakmy40gYjuedKrqOliCNZFaGMIbi5JbQzoAPVvMy14VQGRHXeuRoWpkj6
	iiqPCAtjib2mDjfiZjHmL5CncuX2W5yFGhe4v7Q41QsBzqMNDogy3dBggOsoU2Y3Uar34GaGSdK
	gmAG6rInrDh5ii+TszKlx2mHw/xzQVV4BflYxFoHr0GmVxqKofEDc8xW31aOhRQGZdL5DS3jTSm
	bq/YzNKJ5t2+zrIhpe6MUZeABG7ZmNt4Zm43xFuKgoi5lmTyEB4Ipp5kWGHu2eZoXdXWp7WxBbb
	ppQSsgnpk3rh2X+9J6TCTGbRJa6w3q1k4lfdUMHZKq4DUcuh5hhgrUM2pt2UXUxdf7L18Cu1GXX
	vA69PpeaViyTYfZ60BS5BIgEIF8VtpTgJUlFOxfzbV9xtieXD2IZsKUp5O2wTo
X-Google-Smtp-Source: AGHT+IGSJ9Nt/Ox1DX3GkH1wVEcsggwmfZDAuxZ3BKf3RvjJfux9wFCgSUP+Ullpbv8GDps9nlvAdQ==
X-Received: by 2002:a05:600c:4f09:b0:471:a73:9c49 with SMTP id 5b1f17b1804b1-475caf930dfmr26068025e9.2.1761233775200;
        Thu, 23 Oct 2025 08:36:15 -0700 (PDT)
Message-ID: <528772c4-1cc1-4f2b-a8fd-cf085a910ee6@suse.com>
Date: Thu, 23 Oct 2025 17:36:13 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 for-4.21 2/9] x86/HPET: use single, global,
 low-priority vector for broadcast IRQ
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <b66ea488-2d47-472c-9520-8590fdf89e0e@suse.com>
 <c8c124c4-71c5-41e7-8d84-fd45ffd6af14@suse.com> <aPZh3Y8W4QcV_oLs@Mac.lan>
 <7128bbb5-d099-4584-8cd0-bfeec49b3e55@suse.com> <aPePepQk3t6gxMR1@Mac.lan>
 <16d62ac6-6666-4bad-be59-324cec634a20@suse.com> <aPnpvtXOoYSXXsT-@Mac.lan>
 <47c1fb5e-abd5-40a8-b581-be8494be3861@suse.com> <aPokVBHr760Zixcs@Mac.lan>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <aPokVBHr760Zixcs@Mac.lan>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 23.10.2025 14:49, Roger Pau MonnÃ© wrote:
> On Thu, Oct 23, 2025 at 12:37:22PM +0200, Jan Beulich wrote:
>> On 23.10.2025 10:39, Roger Pau MonnÃ© wrote:
>>> On Wed, Oct 22, 2025 at 11:21:15AM +0200, Jan Beulich wrote:
>>>> On 21.10.2025 15:49, Roger Pau MonnÃ© wrote:
>>>>> On Tue, Oct 21, 2025 at 08:42:13AM +0200, Jan Beulich wrote:
>>>>>> On 20.10.2025 18:22, Roger Pau MonnÃ© wrote:
>>>>>>> On Mon, Oct 20, 2025 at 01:18:34PM +0200, Jan Beulich wrote:
>>>>>>>> @@ -476,19 +486,50 @@ static struct hpet_event_channel *hpet_g
>>>>>>>>  static void set_channel_irq_affinity(struct hpet_event_channel *ch)
>>>>>>>>  {
>>>>>>>>      struct irq_desc *desc = irq_to_desc(ch->msi.irq);
>>>>>>>> +    struct msi_msg msg = ch->msi.msg;
>>>>>>>>  
>>>>>>>>      ASSERT(!local_irq_is_enabled());
>>>>>>>>      spin_lock(&desc->lock);
>>>>>>>> -    hpet_msi_mask(desc);
>>>>>>>> -    hpet_msi_set_affinity(desc, cpumask_of(ch->cpu));
>>>>>>>> -    hpet_msi_unmask(desc);
>>>>>>>> +
>>>>>>>> +    per_cpu(vector_irq, ch->cpu)[HPET_BROADCAST_VECTOR] = ch->msi.irq;
>>>>>>>> +
>>>>>>>> +    /*
>>>>>>>> +     * Open-coding a reduced form of hpet_msi_set_affinity() here.  With the
>>>>>>>> +     * actual update below (either of the IRTE or of [just] message address;
>>>>>>>> +     * with interrupt remapping message address/data don't change) now being
>>>>>>>> +     * atomic, we can avoid masking the IRQ around the update.  As a result
>>>>>>>> +     * we're no longer at risk of missing IRQs (provided hpet_broadcast_enter()
>>>>>>>> +     * keeps setting the new deadline only afterwards).
>>>>>>>> +     */
>>>>>>>> +    cpumask_copy(desc->arch.cpu_mask, cpumask_of(ch->cpu));
>>>>>>>> +
>>>>>>>>      spin_unlock(&desc->lock);
>>>>>>>>  
>>>>>>>> -    spin_unlock(&ch->lock);
>>>>>>>> +    msg.dest32 = cpu_physical_id(ch->cpu);
>>>>>>>> +    msg.address_lo &= ~MSI_ADDR_DEST_ID_MASK;
>>>>>>>> +    msg.address_lo |= MSI_ADDR_DEST_ID(msg.dest32);
>>>>>>>> +    if ( msg.dest32 != ch->msi.msg.dest32 )
>>>>>>>> +    {
>>>>>>>> +        ch->msi.msg = msg;
>>>>>>>> +
>>>>>>>> +        if ( iommu_intremap != iommu_intremap_off )
>>>>>>>> +        {
>>>>>>>> +            int rc = iommu_update_ire_from_msi(&ch->msi, &msg);
>>>>>>>>  
>>>>>>>> -    /* We may have missed an interrupt due to the temporary masking. */
>>>>>>>> -    if ( ch->event_handler && ch->next_event < NOW() )
>>>>>>>> -        ch->event_handler(ch);
>>>>>>>> +            ASSERT(rc <= 0);
>>>>>>>> +            if ( rc > 0 )
>>>>>>>> +            {
>>>>>>>> +                ASSERT(msg.data == hpet_read32(HPET_Tn_ROUTE(ch->idx)));
>>>>>>>> +                ASSERT(msg.address_lo ==
>>>>>>>> +                       hpet_read32(HPET_Tn_ROUTE(ch->idx) + 4));
>>>>>>>> +            }
>>>>>>>
>>>>>>> The sequence of asserts seem wrong here, the asserts inside of the rc
>>>>>>>> 0 check will never trigger, because there's an ASSERT(rc <= 0)
>>>>>>> ahead of them?
>>>>>>
>>>>>> Hmm. My way of thinking was that if we get back 1 (which we shouldn't),
>>>>>> we ought to check (and presumably fail on) data or address having changed.
>>>>>
>>>>> Right, but the ASSERT(rc <= 0) will prevent reaching any of the
>>>>> followup ASSERTs if rc == 1?
>>>>
>>>> Which is no problem, as we'd be dead already anyway if the first assertion
>>>> triggered. Nevertheless I've switched the if() to >= 0 (which then pointed
>>>> out a necessary change in AMD IOMMU code).
>>>
>>> Right, so and adjusted if condition plus an ASSERT_UNREACHABLE() at
>>> the end of the if code block?
>>
>> That is, instead of
>>
>>             ASSERT(rc <= 0);
>>             if ( rc >= 0 )
>>             {
>>                 ASSERT(msg.data == hpet_read32(HPET_Tn_ROUTE(ch->idx)));
>>                 ASSERT(msg.address_lo ==
>>                        hpet_read32(HPET_Tn_ROUTE(ch->idx) + 4));
>>             }
>>
>> you'd prefer
>>
>>             if ( rc >= 0 )
>>             {
>>                 ASSERT(msg.data == hpet_read32(HPET_Tn_ROUTE(ch->idx)));
>>                 ASSERT(msg.address_lo ==
>>                        hpet_read32(HPET_Tn_ROUTE(ch->idx) + 4));
>>                 ASSERT_UNREACHABLE();
>>             }
>>
>> ? That's wrong though (for rc == 0), i.e. I fear I don't see what you mean.
> 
> Oh, I see, sorry for the suggestions, it's indeed wrong.  FTAOD, what
> do you plan to use then here?

The earlier of the two code fragments presented above.

> You could replace the ASSERT_UNREACHABLE() for ASSERT(rc == 0) in my
> suggestion I think?
> 
> Or maybe just do:
> 
> ASSERT(rc <= 0);
> if ( !rc )
> {
>     ASSERT(msg.data == hpet_read32(HPET_Tn_ROUTE(ch->idx)));
>     ASSERT(msg.address_lo ==
>            hpet_read32(HPET_Tn_ROUTE(ch->idx) + 4));
> }
> 
> Was your original intention with those checks to ensure that for the
> rc == 0 case the message fields remained unchanged?

Well, originally the condition was "rc > 0", mainly to document the expectations.
Now that I changed it to "rc >= 0" (helping to find an issue in AMD IOMMU code
that needed addressing), I'm indeed (also) after checking for "no change" in the
"rc == 0" case. Hence why I've ended up with the code fragment above.

I guess it might be best if I post v3 before leaving today, and we take it from
there.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 23 15:37:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 15:37:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1149354.1481017 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBxNy-000182-NO; Thu, 23 Oct 2025 15:37:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1149354.1481017; Thu, 23 Oct 2025 15:37:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBxNy-00017v-JY; Thu, 23 Oct 2025 15:37:54 +0000
Received: by outflank-mailman (input) for mailman id 1149354;
 Thu, 23 Oct 2025 15:37:53 +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 <SRS0=U0PU=5A=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vBxNx-00017p-8M
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 15:37:53 +0000
Received: from mail-wr1-x434.google.com (mail-wr1-x434.google.com
 [2a00:1450:4864:20::434])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3c9736dc-b026-11f0-9d15-b5c5bf9af7f9;
 Thu, 23 Oct 2025 17:37:52 +0200 (CEST)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-427015003eeso949290f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 23 Oct 2025 08:37:52 -0700 (PDT)
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-429897e7622sm4568989f8f.8.2025.10.23.08.37.51
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Oct 2025 08:37:51 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3c9736dc-b026-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761233871; x=1761838671; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=1dCvxMye9l7jXW04UbbLuCUVfTw9IP4T4rEWCeTm2P8=;
        b=VVN+4g0dnYuVoi0RgXcpIwCTCkA4d4LNKt/LPygU9CRKol8FATPrbWEmVwd3jIPdxF
         UXX5rV/mdh4aAs1WWy2yYalBDRKNDi7E93/GifeC6RD5/0M5+TFmh9gzh4LLeCuJ4nVC
         sb+LVChnVPp4u8+2xe643WFRHgZKnuH26dXtw4Hg6wJQkVYMgJ8fqxi48W7z71L+EOsY
         ctn8Lut9ToTiOsexIY6L77o+Q4doeJwIcSU4FLho8HLTt2qsB3JKHyKt9M9pJ5W0h4Cg
         lotsdXMawfUb1dQ9jhMLpFyH6Z09MB8ziGikkAmi5baLR40Lia04K/h73S+0D0rHKl7O
         BQQw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761233871; x=1761838671;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=1dCvxMye9l7jXW04UbbLuCUVfTw9IP4T4rEWCeTm2P8=;
        b=usligzRW+WxN+QJ/Q8wglNe5EGfihKEMJemAA7vZ48TPJNzaYxDGeH1Nn3z8Yvf668
         +IhOTgQ2rt3jkhwxX5AgpTd8+Qt1B/WwmUWyD1Td0CXhty+dnNm+hTMnp2P1EPMTOCp2
         Ip/k6J/az9qjF7iprY22XoCitmoOzV64lZ4Jm4MeddrBnBv5QvPM9IN4oOMUP+JXSFDK
         vvEF5RhqH97Utfl2O1jkJW6SqsOgPirHtFvBGJAeBjByJxmC6SrJG/T7Sdh6DFK7+REk
         KM450sEr6pOQX8240xJXHTATfTdMMTx0mRVBapmaxO6OVxJwIjV+eWa/iRMMTYKBcDHE
         Vtqg==
X-Forwarded-Encrypted: i=1; AJvYcCXq48tqHcAWtFWIZjpxoDT6MMxj1yO32t/cC/6qvjqD2alxP75lO0yMw4+XBwOG3jldKG6SMoybUjo=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy6bFbV+Dg5DOleQMR19AQ0MLJGVfxcj2Z+QwDi6jYofzWrsjPP
	Gpz0r16u4jmGbg+HVEguaKLxfNHP/DBsmjXvbGpVpcpHOllPQom4oKpLEBgmXjB3Kg==
X-Gm-Gg: ASbGncs4LEKR3i/Oz/KwkDUDsxT2SlKwvo0rlaFiW6shSHcs/Nisit4Bh5urGjO5VDM
	L3PUxh+yTZlM9T90d+CErKRcaa9+q2Z5lEG27xmVYWYshw9Yv58D7zFKHK1D2ZMUch/KzljLLzg
	DjzgfacdRQ3GF46+4g2L3pRZShJrv9vrBzDDHHYNS/IO6k9nMPsvjXP1SEzbGYjJkztf4Z0CB/J
	QS/Np4cmq7g19zNka5CfoMJ5fA1vMVmysnVYRA5YaFkqFGgC/Hx9IUKNCfoQxn6lgN9UoGFg75H
	5zUNASfkqUWL7t+d0EgKrF13OBXnsY/OwGAvt6dWL6pBq8VvoqO8guc3uWllpwE8gNACjY7rqnU
	M2FoLEG5BryyukeKroIw0izn79YsDFb7l/hfh2QRxtZA94DSrr1bvizcmcGrjOQpYJfQUwEkLdE
	H9MT2SYutTD727NJwQCpxp7JHqEQdU8obYBCYUqUSvsiqpAt7uG7mSztkF0eidJc/2E24wu1PMl
	5vXRurAEg==
X-Google-Smtp-Source: AGHT+IEofRnIbvNYMbDjhqCpAhsuxFlxmzEZ2G9rRAmsXDqgzaYqXfB/PvMoVxcC/Q9Su8L+2ak3Jw==
X-Received: by 2002:a05:6000:612:b0:427:151:3d9c with SMTP id ffacd0b85a97d-42704d8df8cmr18250658f8f.16.1761233871554;
        Thu, 23 Oct 2025 08:37:51 -0700 (PDT)
Message-ID: <e45956c8-89de-4c5e-a5ef-12bc5daa0fe1@suse.com>
Date: Thu, 23 Oct 2025 17:37:49 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN][PATCH] x86/hvm: vlapic: move vlapic_set_ppr/apicv_write()
 under CONFIG_INTEL_VMX
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Grygorii Strashko <grygorii_strashko@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20251023152036.561109-1-grygorii_strashko@epam.com>
 <a6b61e9b-e1c2-472f-95d6-05b114b201d2@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <a6b61e9b-e1c2-472f-95d6-05b114b201d2@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 23.10.2025 17:30, Andrew Cooper wrote:
> On 23/10/2025 4:20 pm, Grygorii Strashko wrote:
>> From: Grygorii Strashko <grygorii_strashko@epam.com>
>>
>> Functions:
>>  - vlapic_apicv_write()
>>  - vlapic_set_ppr()
>> are used by Intel VMX code only, so move them under CONFIG_INTEL_VMX ifdef.
>>
>> Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
> 
> Yes and no.Â  Yes right now, but this is needed for AMD AVIC, which I
> understand is one one of the plans.
> 
> Throwing #ifdef's around like this in common files is fragile and will
> lead to a randconfig nightmare.
> 
> There is an alternative which ought to work.Â  Turning on
> -ffunction-sections (we already have this for livepatching), and
> implementing link time --gc-sections (new work).
> 
> That way, the compiler/linker simply drops functions that are not
> referenced in the final binary.
> 
> Personally I think it will be far nicer and more scalable than the
> #ifdefary, (not to mention far easier - it gets rid of everything
> unreferenced with one fell swoop).
> 
> Thoughts?

We'd need to have Misra buy-off on such an approach. I'm not sure if Eclair's
scanning would take --gc-sections effects into account.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 23 15:48:48 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 15:48:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1149367.1481026 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBxYR-00031o-OY; Thu, 23 Oct 2025 15:48:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1149367.1481026; Thu, 23 Oct 2025 15:48:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBxYR-00031h-Ks; Thu, 23 Oct 2025 15:48:43 +0000
Received: by outflank-mailman (input) for mailman id 1149367;
 Thu, 23 Oct 2025 15:48:42 +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 <SRS0=U0PU=5A=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vBxYQ-00031b-0Y
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 15:48:42 +0000
Received: from mail-wr1-x42d.google.com (mail-wr1-x42d.google.com
 [2a00:1450:4864:20::42d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bf4277f7-b027-11f0-9d15-b5c5bf9af7f9;
 Thu, 23 Oct 2025 17:48:40 +0200 (CEST)
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-42701b29a7eso556129f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 23 Oct 2025 08:48:40 -0700 (PDT)
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-4298bd78c69sm2793173f8f.4.2025.10.23.08.48.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Oct 2025 08:48:40 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bf4277f7-b027-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761234520; x=1761839320; darn=lists.xenproject.org;
        h=content-transfer-encoding:autocrypt:content-language:cc:to:subject
         :from:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=gfPihCtXdL46vjX4tiPgS10Ir/uaij0i8pZE5giXkjA=;
        b=YiVR5ssg/VWIiK/0C50gPCZ8NOzJhr6NOhC6tRsq04RWyzp79Ej/kYa5hj2kosE4iZ
         caTvoiAEhtmf4O6p2pHDyRMO0hdcWEzAcLFAfq1q1J7RjBm0SdFKLvx6TlNCKx24C6Yx
         5n6E5oIjIrYXviHOffi6DKydVsknZoPOjm6DLchZMpj91bDenvAeIWCQgI7fSCNCoXvt
         8C2S1RI4tLfGesWqIKwOEEUxgueNrT8lWVA9hhzwGYHhFCh0M+nfAOQPfTwJTgTYFKkh
         ysSXnPXV+dj+26Y3SQCzJumwq671OuNntGkFk1jtm9Fn4TI4C7TEbc7319FcYUr9YoTQ
         5chg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761234520; x=1761839320;
        h=content-transfer-encoding:autocrypt:content-language:cc:to:subject
         :from:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=gfPihCtXdL46vjX4tiPgS10Ir/uaij0i8pZE5giXkjA=;
        b=Qe7f/X5zZIJ6FV0JIaw/lgHbTAXuk/3QVeZ7q4p9jGnGBx0hsIJfq3Zm2a4Cch4ido
         EBcC+OIcb+0tbzYfdBoDBtjSIC/r13/UDH7lZjd3odTuce0Rwhityq+MFnucxV/VIS4x
         5C+90VK5ogsdAaKp9LImkdYQoeb+yPfBcosoxFtJp+R3wIk+lJmizXoDKo7CPFnKi2Tr
         md41A/W1axbS27yn9S8qjIJvwqC/lecsOme2Or9dxSdiWywCkSH+wN+ZVgCgSx37GulQ
         gLTcab04MQjIwJOaKZDIu+oZhogfXRYka6k0a4m38ldx+PETvfxbXXG+V7sGTiixhnRQ
         5raQ==
X-Gm-Message-State: AOJu0YxuLmjPvRNhDD8mYgkRNV3dIKJlrVWG8Vz2HX5g8wrX1aZIoR+k
	IMoxBEUmVwu713RkybS+iMJsCKbRE/ibEv+ovrr/Hfau2rLOu89xO1jDDdHxXirCz7Q+cFLENrh
	eyjc=
X-Gm-Gg: ASbGnctxK78WV2XtLXLJd0s6zffKWmpJbSKJDWoptdnXwTmcsQU8h+iwO6RLJXjN8sF
	BwqZDWd1Sl4ix9uEqbGm81Xk9YN9e1xYbv7euBpAFfwSMOcVq+l4fG3Sbaux6sdUOmot+EuIeQb
	+2ooCJY8q7PPitMpfSQ9ahXp64KDdQNMcmK8DDp0pshUnPQh3VSMdi2OSToAGQTsLBktWFbm3nr
	4svBYtEK11lcSRtXeFLznRuudiCZuQ+RGe9lmouZwQLRvOIZ8X6tkLQwXwhl7bAOgoRsSkbc3Fe
	SfHGzWIDVNdzvrJg9f1Ot8wP+/NxDmS/dlQU69zrI0EJuc5JGa83f992/cjOFsuvNZX8WUlcHha
	sFjzSsv4dH9f624QhldHFHfEWDajI/1k6xW1vZuDCq3Xc2DqJwZbGd5hK3LCZTh+rCMRx6kpz83
	BkMJD45KxNjASFw0YFRrJhJUjRophwxsuiGghftHUnOFZcG8r9uMaqrzguUk4a
X-Google-Smtp-Source: AGHT+IHrSh/hYXSqvERqrQXNB04WxyfX29UWzd/FpT5aRDKW/RTGsyE/HDPRlcARKmI0A2InnaOSzg==
X-Received: by 2002:a05:6000:26d1:b0:411:3c14:3ad9 with SMTP id ffacd0b85a97d-4285326f9b4mr5512048f8f.21.1761234520228;
        Thu, 23 Oct 2025 08:48:40 -0700 (PDT)
Message-ID: <6a8a912c-7276-42bd-af2b-b94fc6ce4291@suse.com>
Date: Thu, 23 Oct 2025 17:48:38 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v3 for-4.21 0/9] x86/HPET: broadcast IRQ and other
 improvements
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.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
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

While 1db7829e5657 ("x86/hpet: do local APIC EOI after interrupt processing")
helped quite a bit, nested interrupts could still occur. First and foremost
as a result of IRQ migration (where we don't have any control over the vectors
chosen). Hence besides reducing the number of IRQs that can be raised (first
patch), the main goal here is to eliminate the potential for nested IRQs
(patch 2). These patches are imo 4.21 candidates. Patches 3 and onwards likely
aren't important enough anymore at this point of the release cycle, even if
those with a Fixes: tag may end up being backported later on.

v3 has again a fair bit of rework of (not only) the "main" patch. See
individual patches for details.

1: deal with unused channels
2: use single, global, low-priority vector for broadcast IRQ
3: replace handle_hpet_broadcast()'s on-stack cpumask_t
4: avoid indirect call to event handler
5: make another channel flags update atomic
6: move legacy tick IRQ count adjustment
7: reduce hpet_next_event() call sites
8: drop "long timeout" handling from reprogram_hpet_evt_channel()
9: simplify "expire" check a little in reprogram_hpet_evt_channel()

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 23 15:50:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 15:50:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1149377.1481037 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBxZj-0003pW-2P; Thu, 23 Oct 2025 15:50:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1149377.1481037; Thu, 23 Oct 2025 15:50:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBxZi-0003pA-UF; Thu, 23 Oct 2025 15:50:02 +0000
Received: by outflank-mailman (input) for mailman id 1149377;
 Thu, 23 Oct 2025 15:50:01 +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 <SRS0=U0PU=5A=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vBxZh-0003ZG-QU
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 15:50:01 +0000
Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com
 [2a00:1450:4864:20::32e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ee2c4cf3-b027-11f0-980a-7dc792cee155;
 Thu, 23 Oct 2025 17:49:59 +0200 (CEST)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-4711825a02bso8183095e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 23 Oct 2025 08:49:59 -0700 (PDT)
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-475c427f77bsm106482355e9.3.2025.10.23.08.49.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Oct 2025 08:49:58 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ee2c4cf3-b027-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761234599; x=1761839399; 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=xYN7wbVt5Z5S6tRDPU16XcW0H4EsCETtfXEP3dnQTa4=;
        b=JwW6nP4hN1bumgl1fWHqCRmoWFo/KyU4ZBjyXUmJe+S4AjDDRcozdZDxIs1eBqbSb3
         ozzV2C3ze7k8W5aXtfek16NUzkKq4h9Dp34TAqHcvGo60GDAiwek9a0I3IojjV9jZ5Ty
         QVidZwqdx4E+c0rxYzS+4oqmhLVf5cMUA51Ze/CirFMTj99Thr9C1+3zyUpxAYSJ4RMc
         VWZdVpiG6bdwJ7tjdYAV8+O4ape6j5QWnWlYjseHfrU5GsWMfKSi9eB2wdea9zFxEFB/
         ogXhkOiWHM3tgcd8G5ekATsKT80TAVTzRNd9q859G6nKWcOY97zCPUw8f0I6bU3POpD6
         gMOw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761234599; x=1761839399;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=xYN7wbVt5Z5S6tRDPU16XcW0H4EsCETtfXEP3dnQTa4=;
        b=BfI5l1v0/Uej+HRLLP6SwAjH9yAqsE7UsVUvnUY77OStDU88moahqckunibGWms54V
         QIA5xDkIbz3itb6QmX5zzhd4O/0+UMOgv+6LRCYoKNzA4R4VuJ1fTj/597IT7PnujwkW
         6f/mspe4iObKFAvBrUe7IHvKF89ZcDVKQjDmegMT4qCFS46FLLeytrcu078FMkPwznpl
         jfuigASOl/LmlYvxhgrfKTI8YlvpCdHNSf7u5mwtL0kdRJ2uDck0BLBzF3cPUhTGVWPx
         5YjqNZ0L4a9MPIxEjkJmy7IPYfTxkT3K+GvqlejExrMwnae8l+XBi4meGXMLtBIXThSa
         OvZQ==
X-Gm-Message-State: AOJu0YwvwqFfV0+3vbZOTcvrmM/lXd3o5Ju7P8tduR9Gn6x8FTYEDAwG
	7SmB+dFewqMCjgRYI3bI1VUdjyw4VQjaSJrRf+Kmq33ln74uhBO6KP6hzG3Zyx5OJiaSPx76GsM
	bUEE=
X-Gm-Gg: ASbGncumya9CqolUuAmECIZJFr5iwBgAwe50/2ey82ac+Az1i/0C/3oK2UndamSTJQR
	hcOOnT6ZtR/I+xPdNdlRjs4XQQiPZgQifnpgR8n2zG7IZc33VOhh9zSgQV1XmbNriZ0UkGJRnIJ
	udLgKRtsoMQRKe2sd5g7bFMOvsAv2/GSXIio8O6OVC7ri8uyyiwj8xs6s0RUxOgZk68VqH6HVPz
	fLBw/QCFV9LRqtbJ5R6eWjTmupnf9HCAmp1O+nydZrRq0aCQ/XeSdBJkjh4rFzKZX9VjbycZn4x
	OiT67rvFV65SBTAI+wVMwSno5aIx5Ekl67O2FvD9RKrwm0nSHrSUZOq2AGs7QP6DFyFvJh8pP7R
	o18vOA3hhJ+SyB7fOd+8tteTHXvLfFO8hU4bhuKHhuQpd63YVBmS5ZUy/s9G9+6nDmBOGzINTwa
	c+hI1IGIOmB869njEf3A5/ohApvfqhGg1AlrOsye3GVO6zjvHaSmZKUUILkL0N
X-Google-Smtp-Source: AGHT+IGnwDYxW5UufGMOiBlDPLZ2gPYdS3aIFPWYUR9OjKDI4sg/WJpI/GzVSBGD0n8f7kYKcmYcVw==
X-Received: by 2002:a05:600d:6357:b0:46e:1a07:7bd5 with SMTP id 5b1f17b1804b1-47160987501mr108488445e9.29.1761234598886;
        Thu, 23 Oct 2025 08:49:58 -0700 (PDT)
Message-ID: <86001bc5-de05-4a5b-9683-54d09c5fa8a8@suse.com>
Date: Thu, 23 Oct 2025 17:49:57 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v3 for-4.21 1/9] x86/HPET: deal with unused channels
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <6a8a912c-7276-42bd-af2b-b94fc6ce4291@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: <6a8a912c-7276-42bd-af2b-b94fc6ce4291@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Keeping channels enabled when they're unused is only causing problems:
Extra interrupts harm performance, and extra nested interrupts could even
have caused worse problems. However, on all Intel hardware I looked at
closely, a 0->1 transition of the enable bit causes an immediate IRQ.
Hence disabling channels isn't a good idea there. Set a "long" timeout
instead.

Along with that also "clear" the channel's "next event", for it to be
properly written by whatever the next user is going to want (possibly
avoiding too early an IRQ).

Further, along the same lines, don't enable channels early when starting
up an IRQ. This doesn't need to happen earlier than from
set_channel_irq_affinity() (once a channel goes into use the very first
time). This eliminates a single instance of

(XEN) [VT-D]INTR-REMAP: Request device [0000:00:1f.0] fault index 0
(XEN) [VT-D]INTR-REMAP: reason 25 - Blocked a compatibility format interrupt request

during boot. (Why exactly there's only one instance, when we use multiple
counters and hence multiple IRQs, I can't tell. My understanding would be
that this was due to __hpet_setup_msi_irq() being called only after
request_irq() [and hence the .startup handler], yet that should have
affected all channels.)

Fixes: 3ba523ff957c ("CPUIDLE: enable MSI capable HPET for timer broadcast")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Release-Acked-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>
---
A window still remains for IRQs to be caused by stale comparator values:
hpet_attach_channel() is called ahead of reprogram_hpet_evt_channel().
Should we also write the comparator to "far into the future"?

Furthermore this prolongues the window until "old" vectors may be released
again, as this way we potentially (and intentionally) delay the ocurrence
of the next IRQ for the channel in question. (This issue will disappear
once we switch to a fixed, global vector.)
---
v3: Don't disable channels, only set long timeouts.

--- a/xen/arch/x86/hpet.c
+++ b/xen/arch/x86/hpet.c
@@ -295,12 +295,6 @@ static int hpet_msi_write(struct hpet_ev
     return 0;
 }
 
-static unsigned int cf_check hpet_msi_startup(struct irq_desc *desc)
-{
-    hpet_msi_unmask(desc);
-    return 0;
-}
-
 #define hpet_msi_shutdown hpet_msi_mask
 
 static void cf_check hpet_msi_set_affinity(
@@ -326,7 +320,7 @@ static void cf_check hpet_msi_set_affini
  */
 static hw_irq_controller hpet_msi_type = {
     .typename   = "HPET-MSI",
-    .startup    = hpet_msi_startup,
+    .startup    = irq_startup_none,
     .shutdown   = hpet_msi_shutdown,
     .enable	    = hpet_msi_unmask,
     .disable    = hpet_msi_mask,
@@ -526,6 +520,8 @@ static void hpet_detach_channel(unsigned
         spin_unlock_irq(&ch->lock);
     else if ( (next = cpumask_first(ch->cpumask)) >= nr_cpu_ids )
     {
+        hpet_write32(hpet_read32(HPET_COUNTER), HPET_Tn_CMP(ch->idx));
+        ch->next_event = STIME_MAX;
         ch->cpu = -1;
         clear_bit(HPET_EVT_USED_BIT, &ch->flags);
         spin_unlock_irq(&ch->lock);



From xen-devel-bounces@lists.xenproject.org Thu Oct 23 15:50:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 15:50:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1149383.1481046 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBxa2-0004tm-86; Thu, 23 Oct 2025 15:50:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1149383.1481046; Thu, 23 Oct 2025 15:50:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBxa2-0004tf-4s; Thu, 23 Oct 2025 15:50:22 +0000
Received: by outflank-mailman (input) for mailman id 1149383;
 Thu, 23 Oct 2025 15:50:20 +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 <SRS0=U0PU=5A=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vBxa0-0004p6-IM
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 15:50:20 +0000
Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com
 [2a00:1450:4864:20::333])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fa4be06c-b027-11f0-9d15-b5c5bf9af7f9;
 Thu, 23 Oct 2025 17:50:19 +0200 (CEST)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-471b80b994bso13873525e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 23 Oct 2025 08:50:19 -0700 (PDT)
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-429898acd69sm4641473f8f.24.2025.10.23.08.50.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Oct 2025 08:50:19 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fa4be06c-b027-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761234619; x=1761839419; 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=a9ZNQQ7vTuQm2QNqSsqSv8lrn9EAqULHGC/5EXkGJlU=;
        b=PhhmBufmrDG1smwf4jQwEf9JMYqrsaHF04hdGxlW0UOyG5WA7vWTUDB3hQHtkfoo0O
         jMF20XKh4ytpm5b7bv9C7L4tNt4ujbitPt49R4ojd8bfRLJLZ6UofXeHT1dtHwvJeCcD
         8Xwa/Co98pkgoFdTAG5LJYlbMM9NxOuQFyPklcre3rIiLFkY81zxtOv5YrhJf+W+zvjC
         dnu5IK9CRDiTSnC68ryfw1TTvUTO1XLog3+m0/TcA/X4uOkmJMKi8QokOSbCXdiaTupz
         O0ocO08isRnHw79jCRtf1uMSigyhatoeIQ8Kv5Rb95WHjDyluApMXv/ygST8GMJCJt2E
         PUYQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761234619; x=1761839419;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=a9ZNQQ7vTuQm2QNqSsqSv8lrn9EAqULHGC/5EXkGJlU=;
        b=w4ZYIEqFKtm7TGS9g/4Afa0o88G1/En1A6IbufZTYPBl3grJgy4dwk6IT6QwWedWns
         3AehOLSFcMvQxLHkJJsn25iGHXn56sLn19vagJG9IH9zZRmy186PzMlIawXqI2a07Ddg
         pG1j3DUDFYQVNzrHYP9rHfQAlVZf8H4nN33D4RtUv2m3FLffIWuspfSWbWnFkGFUjya3
         zVLWHPsQfqWIHMvYsWzI+UCLqUHcf/c1tVWIfNnvlbS/DWklzU23ciaLNx2TzoMvRP2M
         lHQum6es6lFoP61DMTePBwA1g8wVDqghDDDTpkO73bjRr5CYXXgURFYrxfrqg+dGV47M
         8tQg==
X-Gm-Message-State: AOJu0Yw6uR9lBwZ4rmpJ7e3MNlkQ0R2PnHXfGngUomXrpNSC7POPVKYX
	/7jruTtJRzMRnTEQJlSiPk06e873zy9fPrx5HNFmBfqc7412d0M0am+ydrN3FlGapC6sjAQGKd6
	vZKM=
X-Gm-Gg: ASbGncsvYfp9To6cG0W/He5o/FgWMBXfc6E/xduEMdEsLYeIhyQNRfr8lCui42ykaAD
	q2NrNE0HJxjgRppC98uxp5EQzJfTBNoRTZAx7iI4zgwZN1+E8DojEwGsHDJhp3hgkh/p9Tfq5Yp
	wqdwMfk/sIX/oMfNJyuzAkY5PdmfXPEfV6AjhaB08GgEyVt3l3QWqK2dit23HhLkcqOte7qb4KT
	A804zwr5F+1Azj6F58EE9aqKuVdCQ4Q4T8VyuvssZJW5z1XsnDIjePdm5+rpmSY7IDouJN3o96c
	BBv/sXSZMkKcFmD41h47J0f6+FeXFXRgKlLImbUi5xszKnojdtWyrawGAtS0giEoQopgnGbbGBU
	TNuPWrXNg0aZFb8V+MMJF67oss5mF+DAXw6aN06Og30yj9nMM4y3fXywBb2lbniStQJm6rXjBLK
	6+DQwyxB20pveJ0oMrBkuCS9t0snIYkwg5vsgvA1dmY8j5tzTFAmS3guwhektAvVV24tfb9hQ=
X-Google-Smtp-Source: AGHT+IGQBPhlThbmlmJjl0yAMzuSuRiXUtmza9hOPOiw+uoESTecF6URo8jIeblThClQ4hlVqDPrWA==
X-Received: by 2002:a05:600c:4715:b0:45b:9a46:69e9 with SMTP id 5b1f17b1804b1-4711791c8c3mr184939895e9.31.1761234619230;
        Thu, 23 Oct 2025 08:50:19 -0700 (PDT)
Message-ID: <545d98e0-755d-471b-84c5-54f129a5aece@suse.com>
Date: Thu, 23 Oct 2025 17:50:17 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v3 for-4.21 2/9] x86/HPET: use single, global, low-priority
 vector for broadcast IRQ
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <6a8a912c-7276-42bd-af2b-b94fc6ce4291@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: <6a8a912c-7276-42bd-af2b-b94fc6ce4291@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Using dynamically allocated / maintained vectors has several downsides:
- possible nesting of IRQs due to the effects of IRQ migration,
- reduction of vectors available for devices,
- IRQs not moving as intended if there's shortage of vectors,
- higher runtime overhead.

As the vector also doesn't need to be of any priority (first and foremost
it really shouldn't be of higher or same priority as the timer IRQ, as
that raises TIMER_SOFTIRQ anyway), simply use the lowest one above the
legacy range. The vector needs reserving early, until it is known whether
it actually is used. If it isn't, it's made available for general use.

With a fixed vector, less updating is now necessary in
set_channel_irq_affinity(); in particular channels don't need transiently
masking anymore, as the necessary update is now atomic. To fully leverage
this, however, we want to stop using hpet_msi_set_affinity() there. With
the transient masking dropped, we're no longer at risk of missing events.

Fixes: 996576b965cc ("xen: allow up to 16383 cpus")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Release-Acked-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>
---
This is an alternative proposal to
https://lists.xen.org/archives/html/xen-devel/2014-03/msg00399.html.

Should we keep hpet_msi_set_affinity() at all? We'd better not have the
generic IRQ subsystem play with our IRQs' affinities, and fixup_irqs()
isn't relevant here. (If so, this likely would want to be a separate
patch, though.)

The hpet_enable_channel() call could in principle be made (effectively)
conditional, at the price of introducing a check in there. However, as
much as eliminating the masking didn't help with the many excess (early)
IRQs I'm observing on Intel hardware, doing so doesn't help either.

The Fixes: tag indicates where the problem got signficantly worse; in
principle it was there already before (crashing at perhaps 6 or 7 levels
of nested IRQs).
---
v3: Switch to using vector 0x30, to unbreak AMD, including an adjustment
    to AMD IOMMU intremap logic. Adjust condition around assertions in
    set_channel_irq_affinity().
v2: Re-work set_channel_irq_affinity() intensively. Re-base over the
    dropping of another patch. Drop setup_vector_irq() change.

--- a/xen/arch/x86/hpet.c
+++ b/xen/arch/x86/hpet.c
@@ -9,17 +9,19 @@
 #include <xen/timer.h>
 #include <xen/smp.h>
 #include <xen/softirq.h>
+#include <xen/cpuidle.h>
 #include <xen/irq.h>
 #include <xen/numa.h>
 #include <xen/param.h>
 #include <xen/sched.h>
 
 #include <asm/apic.h>
-#include <asm/fixmap.h>
 #include <asm/div64.h>
+#include <asm/fixmap.h>
+#include <asm/genapic.h>
 #include <asm/hpet.h>
+#include <asm/irq-vectors.h>
 #include <asm/msi.h>
-#include <xen/cpuidle.h>
 
 #define MAX_DELTA_NS MILLISECS(10*1000)
 #define MIN_DELTA_NS MICROSECS(20)
@@ -251,10 +253,9 @@ static void cf_check hpet_interrupt_hand
     ch->event_handler(ch);
 }
 
-static void cf_check hpet_msi_unmask(struct irq_desc *desc)
+static void hpet_enable_channel(struct hpet_event_channel *ch)
 {
     u32 cfg;
-    struct hpet_event_channel *ch = desc->action->dev_id;
 
     cfg = hpet_read32(HPET_Tn_CFG(ch->idx));
     cfg |= HPET_TN_ENABLE;
@@ -262,6 +263,11 @@ static void cf_check hpet_msi_unmask(str
     ch->msi.msi_attrib.host_masked = 0;
 }
 
+static void cf_check hpet_msi_unmask(struct irq_desc *desc)
+{
+    hpet_enable_channel(desc->action->dev_id);
+}
+
 static void cf_check hpet_msi_mask(struct irq_desc *desc)
 {
     u32 cfg;
@@ -303,15 +309,13 @@ static void cf_check hpet_msi_set_affini
     struct hpet_event_channel *ch = desc->action->dev_id;
     struct msi_msg msg = ch->msi.msg;
 
-    msg.dest32 = set_desc_affinity(desc, mask);
-    if ( msg.dest32 == BAD_APICID )
-        return;
+    /* This really is only for dump_irqs(). */
+    cpumask_copy(desc->arch.cpu_mask, mask);
 
-    msg.data &= ~MSI_DATA_VECTOR_MASK;
-    msg.data |= MSI_DATA_VECTOR(desc->arch.vector);
+    msg.dest32 = cpu_mask_to_apicid(mask);
     msg.address_lo &= ~MSI_ADDR_DEST_ID_MASK;
     msg.address_lo |= MSI_ADDR_DEST_ID(msg.dest32);
-    if ( msg.data != ch->msi.msg.data || msg.dest32 != ch->msi.msg.dest32 )
+    if ( msg.dest32 != ch->msi.msg.dest32 )
         hpet_msi_write(ch, &msg);
 }
 
@@ -324,7 +328,7 @@ static hw_irq_controller hpet_msi_type =
     .shutdown   = hpet_msi_shutdown,
     .enable	    = hpet_msi_unmask,
     .disable    = hpet_msi_mask,
-    .ack        = ack_nonmaskable_msi_irq,
+    .ack        = irq_actor_none,
     .end        = end_nonmaskable_irq,
     .set_affinity   = hpet_msi_set_affinity,
 };
@@ -343,6 +347,12 @@ static int __init hpet_setup_msi_irq(str
     u32 cfg = hpet_read32(HPET_Tn_CFG(ch->idx));
     irq_desc_t *desc = irq_to_desc(ch->msi.irq);
 
+    clear_irq_vector(ch->msi.irq);
+    ret = bind_irq_vector(ch->msi.irq, HPET_BROADCAST_VECTOR, &cpu_online_map);
+    if ( ret )
+        return ret;
+    cpumask_setall(desc->affinity);
+
     if ( iommu_intremap != iommu_intremap_off )
     {
         ch->msi.hpet_id = hpet_blockid;
@@ -472,19 +482,50 @@ static struct hpet_event_channel *hpet_g
 static void set_channel_irq_affinity(struct hpet_event_channel *ch)
 {
     struct irq_desc *desc = irq_to_desc(ch->msi.irq);
+    struct msi_msg msg = ch->msi.msg;
 
     ASSERT(!local_irq_is_enabled());
     spin_lock(&desc->lock);
-    hpet_msi_mask(desc);
-    hpet_msi_set_affinity(desc, cpumask_of(ch->cpu));
-    hpet_msi_unmask(desc);
+
+    per_cpu(vector_irq, ch->cpu)[HPET_BROADCAST_VECTOR] = ch->msi.irq;
+
+    /*
+     * Open-coding a reduced form of hpet_msi_set_affinity() here.  With the
+     * actual update below (either of the IRTE or of [just] message address;
+     * with interrupt remapping message address/data don't change) now being
+     * atomic, we can avoid masking the IRQ around the update.  As a result
+     * we're no longer at risk of missing IRQs (provided hpet_broadcast_enter()
+     * keeps setting the new deadline only afterwards).
+     */
+    cpumask_copy(desc->arch.cpu_mask, cpumask_of(ch->cpu));
+
     spin_unlock(&desc->lock);
 
-    spin_unlock(&ch->lock);
+    msg.dest32 = cpu_physical_id(ch->cpu);
+    msg.address_lo &= ~MSI_ADDR_DEST_ID_MASK;
+    msg.address_lo |= MSI_ADDR_DEST_ID(msg.dest32);
+    if ( msg.dest32 != ch->msi.msg.dest32 )
+    {
+        ch->msi.msg = msg;
 
-    /* We may have missed an interrupt due to the temporary masking. */
-    if ( ch->event_handler && ch->next_event < NOW() )
-        ch->event_handler(ch);
+        if ( iommu_intremap != iommu_intremap_off )
+        {
+            int rc = iommu_update_ire_from_msi(&ch->msi, &msg);
+
+            ASSERT(rc <= 0);
+            if ( rc >= 0 )
+            {
+                ASSERT(msg.data == hpet_read32(HPET_Tn_ROUTE(ch->idx)));
+                ASSERT(msg.address_lo ==
+                       hpet_read32(HPET_Tn_ROUTE(ch->idx) + 4));
+            }
+        }
+        else
+            hpet_write32(msg.address_lo, HPET_Tn_ROUTE(ch->idx) + 4);
+    }
+
+    hpet_enable_channel(ch);
+    spin_unlock(&ch->lock);
 }
 
 static void hpet_attach_channel(unsigned int cpu,
@@ -622,6 +663,12 @@ void __init hpet_broadcast_init(void)
         hpet_events->flags = HPET_EVT_LEGACY;
 }
 
+void __init hpet_broadcast_late_init(void)
+{
+    if ( !num_hpets_used )
+        free_lopriority_vector(HPET_BROADCAST_VECTOR);
+}
+
 void hpet_broadcast_resume(void)
 {
     u32 cfg;
--- a/xen/arch/x86/include/asm/hpet.h
+++ b/xen/arch/x86/include/asm/hpet.h
@@ -90,6 +90,7 @@ void hpet_disable_legacy_replacement_mod
  * rather than using the LAPIC timer. Used for Cx state entry.
  */
 void hpet_broadcast_init(void);
+void hpet_broadcast_late_init(void);
 void hpet_broadcast_resume(void);
 void cf_check hpet_broadcast_enter(void);
 void cf_check hpet_broadcast_exit(void);
--- a/xen/arch/x86/include/asm/irq.h
+++ b/xen/arch/x86/include/asm/irq.h
@@ -116,6 +116,7 @@ void cf_check call_function_interrupt(vo
 void cf_check irq_move_cleanup_interrupt(void);
 
 uint8_t alloc_hipriority_vector(void);
+void free_lopriority_vector(uint8_t vector);
 
 void set_direct_apic_vector(uint8_t vector, void (*handler)(void));
 void alloc_direct_apic_vector(uint8_t *vector, void (*handler)(void));
--- a/xen/arch/x86/include/asm/irq-vectors.h
+++ b/xen/arch/x86/include/asm/irq-vectors.h
@@ -22,6 +22,9 @@
 #define FIRST_LEGACY_VECTOR     FIRST_DYNAMIC_VECTOR
 #define LAST_LEGACY_VECTOR      (FIRST_LEGACY_VECTOR + 0xf)
 
+/* HPET broadcast is statically allocated and wants to be low priority. */
+#define HPET_BROADCAST_VECTOR   (LAST_LEGACY_VECTOR + 1)
+
 #ifdef CONFIG_PV32
 #define HYPERCALL_VECTOR        0x82
 #endif
--- a/xen/arch/x86/irq.c
+++ b/xen/arch/x86/irq.c
@@ -468,6 +468,12 @@ int __init init_irq_data(void)
           vector++ )
         __set_bit(vector, used_vectors);
 
+    /*
+     * Prevent the HPET broadcast vector from being used, until it is known
+     * whether it's actually needed.
+     */
+    __set_bit(HPET_BROADCAST_VECTOR, used_vectors);
+
     return 0;
 }
 
@@ -991,6 +997,13 @@ void alloc_direct_apic_vector(uint8_t *v
     spin_unlock(&lock);
 }
 
+/* This could free any vectors, but is needed only for low-prio ones. */
+void __init free_lopriority_vector(uint8_t vector)
+{
+    ASSERT(vector < FIRST_HIPRIORITY_VECTOR);
+    clear_bit(vector, used_vectors);
+}
+
 static void cf_check irq_ratelimit_timer_fn(void *data)
 {
     struct irq_desc *desc, *tmp;
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -2675,6 +2675,8 @@ static int __init cf_check disable_pit_i
                "Force enable with 'cpuidle'.\n");
     }
 
+    hpet_broadcast_late_init();
+
     return 0;
 }
 __initcall(disable_pit_irq);
--- a/xen/drivers/passthrough/amd/iommu_intr.c
+++ b/xen/drivers/passthrough/amd/iommu_intr.c
@@ -551,6 +551,13 @@ int cf_check amd_iommu_msi_msg_update_ir
         for ( i = 1; i < nr; ++i )
             msi_desc[i].remap_index = msi_desc->remap_index + i;
         msg->data = data;
+        /*
+         * While the low address bits don't matter, "canonicalize" the address
+         * by zapping the bits that were transferred to the IRTE.  This way
+         * callers can check for there actually needing to be an update to
+         * wherever the address is put.
+         */
+        msg->address_lo &= ~(MSI_ADDR_DESTMODE_MASK | MSI_ADDR_DEST_ID_MASK);
     }
 
     return rc;



From xen-devel-bounces@lists.xenproject.org Thu Oct 23 15:51:13 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 15:51:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1149398.1481056 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBxap-0005Z7-NB; Thu, 23 Oct 2025 15:51:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1149398.1481056; Thu, 23 Oct 2025 15:51:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBxap-0005Yy-Js; Thu, 23 Oct 2025 15:51:11 +0000
Received: by outflank-mailman (input) for mailman id 1149398;
 Thu, 23 Oct 2025 15:51:10 +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 <SRS0=U0PU=5A=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vBxao-0003ZG-7e
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 15:51:10 +0000
Received: from mail-wm1-x334.google.com (mail-wm1-x334.google.com
 [2a00:1450:4864:20::334])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 172fb32a-b028-11f0-980a-7dc792cee155;
 Thu, 23 Oct 2025 17:51:08 +0200 (CEST)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-47100eae3e5so9893755e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 23 Oct 2025 08:51:08 -0700 (PDT)
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-475caf2eb9csm43491125e9.14.2025.10.23.08.51.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Oct 2025 08:51:07 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 172fb32a-b028-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761234668; x=1761839468; 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=9TMhIC/Uy9aMDm9ORaG98m2uAOJkSyvYUFdpB79e4bk=;
        b=AIE/uE9fCfg2VPocl9Kpgm7YtQt+UB2V+mlfladaF2AuzRFVlRUH6uq6AlLfM1F59q
         XbL4r9rRsB0ELrBohL6LlgZPuDmcQ6jjz4KIF/jAjcemG6rbU8EnAw/U51J/L3cOqBZI
         3bqWISgirE0UOZunGqxHqNvC8CTsPM0I3KiVP6DmWMZ06EJNrgV/05RPBdhm/ul1eKhP
         qQKXbfaqpTkEqAr/ziuk1ERMy2jQ+WfGGKqhMJhHOxGG5YKM55kNnSsTAm9WfGR0sUS7
         5q1DIcDuxx65zLd6I+zS5KXS37k82t3T3fotYbaECOQuG/FcwlpxTMCdOTn7Ijjits3j
         /KGg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761234668; x=1761839468;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=9TMhIC/Uy9aMDm9ORaG98m2uAOJkSyvYUFdpB79e4bk=;
        b=SuMSAA+v43b9c1eiT+xv2UqOMSEAVdW1SROgk0iEx6034hc9lm9D6xwdgDNeED+4L6
         AcA2MQtJunPpjvL5E5gkQeLckBUD7Moh5S4xGZzckxkuTZD6+vg7B3APqy0PfZ3CTiMr
         WD3sA/2ztpQIJWRuAiTfsQVe9XPN4ptv+GginyVrFBq5iFBTfjgGpZFZJ8/KNqsPv27e
         tpr/lko9/Lt1ORrANR1LSg72apxpLbdIuhVrkI1fDqPNPubfOqwC0oHS8xRu9bv6LYQ9
         lPAaG27yPfS73x3fBiR/+ZP/n0CymeWZL3MEfVRnY08CfMG8UPJiW2lrQFbiU16M6vs1
         +U3w==
X-Gm-Message-State: AOJu0YwQSBU0YCfnjdNTcPc81ag2PfRniZ+Yz7lFmefNeY/i5U/4U9ET
	ELslbIkD8XgZeo9bGn3++BAgiFz6QvQYfMoC7OR6aCprQsMKKS5gkUEC1R/Rc85mfCRU9LaNJCV
	W4U4=
X-Gm-Gg: ASbGncvv+/BqJrkSadwgJAaE7Y7wIPlkT+vGogSyuAqE9z18rD7T4yA2kqLU/YzGMd7
	mdk7ujRMv/C+xIbnVeU1Uo/rjeIuQZi2TfKEq7v45k0Hp/7S9PqAmbwYG3osOo6xHZFC4VBtTDF
	a9pkSDOnq0s5FtDnUZtvu9mkN1SU4W2pOPpvrkB6bTHVM39X3bPa1STxwK29IZx962nL5cgwhsZ
	u7MH+f7oL6QrQfvFFlrGRgrO3vGD+1gt5PwFUKdQdNsqwZ055Hs4/+6/+QF7qAMkRnIuasmSdpm
	VE0UPUheqIJusYWfGXvgDqT4+RjsnVeIeO/0dFG0xzU+3ZjJYHSCTms9iu5k9tC7RcpRZIGrgJn
	hkhIE4WRLhE4whMuxI1kvkKW2IyKnh0r5Wz5jyWmd4JrmsoT6SlPNP9fzbF3Y3M5xp0XmWrjZ6w
	qmdOeR2hyaR1PRZbPLIlt4D8o3Hya0JIWjM0c/Lqc3MBvmdPF0xsVJsHhs5CQvdlsTdNc++iiLQ
	qb90mr3OA==
X-Google-Smtp-Source: AGHT+IGyXxh3f8geRhvyG8xnAOPitOOxj1G0PMMfhzwHd81bO351pZ/QkUzH9EzUUi5m7cTKG+k7CQ==
X-Received: by 2002:a05:600c:34d5:b0:46f:b42e:e39e with SMTP id 5b1f17b1804b1-4711791da0amr191684615e9.39.1761234667806;
        Thu, 23 Oct 2025 08:51:07 -0700 (PDT)
Message-ID: <dcea0975-8642-46b6-ad79-ec76cb8a76f1@suse.com>
Date: Thu, 23 Oct 2025 17:51:06 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v3 for-4.21 3/9] x86/HPET: replace handle_hpet_broadcast()'s
 on-stack cpumask_t
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <6a8a912c-7276-42bd-af2b-b94fc6ce4291@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: <6a8a912c-7276-42bd-af2b-b94fc6ce4291@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

With large NR_CPUS on-stack cpumask_t variables are problematic. Now that
the IRQ handler can't be invoked in a nested manner anymore, we can
instead use a per-CPU variable. While we can't use scratch_cpumask in code
invoked from IRQ handlers, simply amend that one with a HPET-special form.
(Note that only one of the two IRQ handling functions can come into play
at any one time.)

Fixes: 996576b965cc ("xen: allow up to 16383 cpus")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
---
While doing this I noticed that this and all pre-existing uses of
DEFINE_PER_CPU_READ_MOSTLY() aren't quite right: When the type is
cpumask_var_t, the variable is read-mostly only when NR_CPUS <=
2 * BITS_PER_LONG. That'll want sorting separately, though.

It is important for this to not be moved ahead of "x86/HPET: use single,
global, low-priority vector for broadcast IRQ", as the original call here
from set_channel_irq_affinity() may not use the new variable (it would
need to use scratch_cpumask instead).
---
v2: New.

--- a/xen/arch/x86/hpet.c
+++ b/xen/arch/x86/hpet.c
@@ -196,7 +196,7 @@ static void evt_do_broadcast(cpumask_t *
 
 static void cf_check handle_hpet_broadcast(struct hpet_event_channel *ch)
 {
-    cpumask_t mask;
+    cpumask_t *scratch = this_cpu(hpet_scratch_cpumask);
     s_time_t now, next_event;
     unsigned int cpu;
     unsigned long flags;
@@ -209,7 +209,7 @@ again:
     spin_unlock_irqrestore(&ch->lock, flags);
 
     next_event = STIME_MAX;
-    cpumask_clear(&mask);
+    cpumask_clear(scratch);
     now = NOW();
 
     /* find all expired events */
@@ -218,13 +218,13 @@ again:
         s_time_t deadline = ACCESS_ONCE(per_cpu(timer_deadline, cpu));
 
         if ( deadline <= now )
-            __cpumask_set_cpu(cpu, &mask);
+            __cpumask_set_cpu(cpu, scratch);
         else if ( deadline < next_event )
             next_event = deadline;
     }
 
     /* wakeup the cpus which have an expired event. */
-    evt_do_broadcast(&mask);
+    evt_do_broadcast(scratch);
 
     if ( next_event != STIME_MAX )
     {
--- a/xen/arch/x86/include/asm/smp.h
+++ b/xen/arch/x86/include/asm/smp.h
@@ -22,6 +22,7 @@
 DECLARE_PER_CPU(cpumask_var_t, cpu_sibling_mask);
 DECLARE_PER_CPU(cpumask_var_t, cpu_core_mask);
 DECLARE_PER_CPU(cpumask_var_t, scratch_cpumask);
+DECLARE_PER_CPU(cpumask_var_t, hpet_scratch_cpumask);
 DECLARE_PER_CPU(cpumask_var_t, send_ipi_cpumask);
 
 /*
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -55,6 +55,9 @@ DEFINE_PER_CPU_READ_MOSTLY(cpumask_var_t
 DEFINE_PER_CPU_READ_MOSTLY(cpumask_var_t, scratch_cpumask);
 static cpumask_t scratch_cpu0mask;
 
+DEFINE_PER_CPU_READ_MOSTLY(cpumask_var_t, hpet_scratch_cpumask);
+static cpumask_t hpet_scratch_cpu0mask;
+
 DEFINE_PER_CPU_READ_MOSTLY(cpumask_var_t, send_ipi_cpumask);
 static cpumask_t send_ipi_cpu0mask;
 
@@ -976,6 +979,8 @@ static void cpu_smpboot_free(unsigned in
         FREE_CPUMASK_VAR(per_cpu(cpu_core_mask, cpu));
         if ( per_cpu(scratch_cpumask, cpu) != &scratch_cpu0mask )
             FREE_CPUMASK_VAR(per_cpu(scratch_cpumask, cpu));
+        if ( per_cpu(hpet_scratch_cpumask, cpu) != &hpet_scratch_cpu0mask )
+            FREE_CPUMASK_VAR(per_cpu(hpet_scratch_cpumask, cpu));
         if ( per_cpu(send_ipi_cpumask, cpu) != &send_ipi_cpu0mask )
             FREE_CPUMASK_VAR(per_cpu(send_ipi_cpumask, cpu));
     }
@@ -1112,6 +1117,7 @@ static int cpu_smpboot_alloc(unsigned in
     if ( !(cond_zalloc_cpumask_var(&per_cpu(cpu_sibling_mask, cpu)) &&
            cond_zalloc_cpumask_var(&per_cpu(cpu_core_mask, cpu)) &&
            cond_alloc_cpumask_var(&per_cpu(scratch_cpumask, cpu)) &&
+           cond_alloc_cpumask_var(&per_cpu(hpet_scratch_cpumask, cpu)) &&
            cond_alloc_cpumask_var(&per_cpu(send_ipi_cpumask, cpu))) )
         goto out;
 
@@ -1239,6 +1245,7 @@ void __init smp_prepare_boot_cpu(void)
     cpumask_set_cpu(cpu, &cpu_present_map);
 #if NR_CPUS > 2 * BITS_PER_LONG
     per_cpu(scratch_cpumask, cpu) = &scratch_cpu0mask;
+    per_cpu(hpet_scratch_cpumask, cpu) = &hpet_scratch_cpu0mask;
     per_cpu(send_ipi_cpumask, cpu) = &send_ipi_cpu0mask;
 #endif
 



From xen-devel-bounces@lists.xenproject.org Thu Oct 23 15:51:35 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 15:51:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1149403.1481066 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBxbC-000633-UB; Thu, 23 Oct 2025 15:51:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1149403.1481066; Thu, 23 Oct 2025 15:51:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBxbC-00062w-RJ; Thu, 23 Oct 2025 15:51:34 +0000
Received: by outflank-mailman (input) for mailman id 1149403;
 Thu, 23 Oct 2025 15:51:33 +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 <SRS0=U0PU=5A=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vBxbB-0005s8-L0
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 15:51:33 +0000
Received: from mail-wr1-x431.google.com (mail-wr1-x431.google.com
 [2a00:1450:4864:20::431])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 25ff1f71-b028-11f0-9d15-b5c5bf9af7f9;
 Thu, 23 Oct 2025 17:51:33 +0200 (CEST)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-42966ce6dbdso683658f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 23 Oct 2025 08:51:33 -0700 (PDT)
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-429897f57cesm4840745f8f.17.2025.10.23.08.51.32
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Oct 2025 08:51:32 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 25ff1f71-b028-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761234693; x=1761839493; 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=4Cp/OnTGttesfQdpppyi71qgWTMBvTIXz79fP5OO8Os=;
        b=UplUv+CdUACd7PJm13hLdEqQZXGjjkVe+ITIw4W1VAOsdwWOZFIR4dbXzAkmcRQy91
         Wiw6UJGffJWO5yjrNTWUumRTGNbvma5kYQmZk9zAIA62Y6MQWaJhvV5CTMfn4eQTZYKU
         W6j++PUN/2ohplkU+YhEQyKZMFJRfmaq4Wx8coFz3kjk+ugY4yZf5LxtZtP2n5VqbFsv
         AVnSlayXHWEuEDjA/93kcecT21MfnmeX28KnFJCyCP0rcM2x7ZHRAzfqUie5AoZvZoAA
         hc6R2vobhtB3zLZcIvt/RbPVMH2LaTDuUp513C9iF4qt7Dgve7ELj3HQMKCPWuyPefSW
         6M8g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761234693; x=1761839493;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=4Cp/OnTGttesfQdpppyi71qgWTMBvTIXz79fP5OO8Os=;
        b=O5evsT/v2Vh5T9OC2auNbr62UkEK7E1Rw319CruShkcRfD5EXZau37bjIJmt3xQPHq
         lgSszdsN+qKWjvUiJyz0MEJdsJRvqLxmT0qBkep2RaPHE7Cp1aLfkY619TSnT1rIuw55
         sCyr/sPBRuQBzQXA8pEPNLDOtmHjDoKcLRT7cELdnCx51GNYKRTTkeVgKjcpXwSJv7XY
         xZfikp/FfaSSM72Xj60iYlP2hKIkQ/GLBjhNh+zGWGJhcmIRfvSY/BPD5EahSYgqDvW+
         m4ND7bRQ4Kz0y12vm4nXb+1cf5Xs063UGIQWWiWaOX0WTNNLlaOzRVEwtdjVfKip1wlr
         A+gQ==
X-Gm-Message-State: AOJu0YyeY+r7CwcaJBIs7Eayhp7Yr+IJUdjWQHz8L4bAyR+q+iYxhu8u
	EWaJXdlTkk09/z3glo2IO/YQqldN9zdSU70rS/RqtBpvOhX0ClCy8xjeEToPKRRMHT23GUn9KqY
	6pAY=
X-Gm-Gg: ASbGncvJhi4xYLN/zp9fKZpKq0xVmsIWtu97P5EguBcTjSOTurGOmlwBIE4/2dZQRM9
	QBOPFvcdnvdGXK7U2NlDcmFO2/JcDqDzd3ezT2zD4ZdEpcYrIcw4zdFD657qhGeTwTJsQG2oL+I
	gC7wyOWPgb2/g9HeDIdFYdOKNGo3cQGOlDEbwtJA2jEWbpIy4Me4ovm0kE7riVYoDSq6tyyP8iZ
	zt446+66rCc+cR29R9+bfvSgnKbvWVkYIvlBbXhdrD9OTMKBO/t5YeO0jzAvpf2lrOmg8asot6Y
	sq7RlWuTyOd+pZ5GMphvqopuYIP42daMDeZYBLXoq+cNoJdarIZpYOyvwFqvhzW/dlW+HJV+Dhy
	NDAYYMKI8z3GsdX9yBqLG2kACf53uTpMFNhrhGWrCNZGf2ZEH2aK9olR2iLkedYxI2EYfS/IIaP
	2EidCEBp76R38Rz0F+LeQTbC+N/t5EFy5e1Q4GZg9Wukgb6zlL4E5g/pFMmUgU
X-Google-Smtp-Source: AGHT+IGLFPt8XWzNziO8+TFnxf6btUr/x7MpRprI+egs57Qzic0bKY+EnzRQm2pRkFNcZvzYpSuh3g==
X-Received: by 2002:a05:6000:200f:b0:428:3e7f:88c3 with SMTP id ffacd0b85a97d-4283e7f8a82mr12867040f8f.50.1761234692571;
        Thu, 23 Oct 2025 08:51:32 -0700 (PDT)
Message-ID: <1a79b0dc-56ee-4dd2-905e-bf989e6a6aed@suse.com>
Date: Thu, 23 Oct 2025 17:51:30 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v3 4/9] x86/HPET: avoid indirect call to event handler
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <6a8a912c-7276-42bd-af2b-b94fc6ce4291@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: <6a8a912c-7276-42bd-af2b-b94fc6ce4291@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

It's only ever handle_hpet_broadcast() that's used. While we now don't
enable IRQs right away, still play safe and convert the function pointer
to a boolean, to make sure no calls occur too early.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: Re-base over changes earlier in the series.

--- a/xen/arch/x86/hpet.c
+++ b/xen/arch/x86/hpet.c
@@ -40,7 +40,7 @@ struct hpet_event_channel
     s_time_t      next_event;
     cpumask_var_t cpumask;
     spinlock_t    lock;
-    void          (*event_handler)(struct hpet_event_channel *ch);
+    bool          event_handler;
 
     unsigned int idx;   /* physical channel idx */
     unsigned int cpu;   /* msi target */
@@ -194,7 +194,7 @@ static void evt_do_broadcast(cpumask_t *
        cpumask_raise_softirq(mask, TIMER_SOFTIRQ);
 }
 
-static void cf_check handle_hpet_broadcast(struct hpet_event_channel *ch)
+static void handle_hpet_broadcast(struct hpet_event_channel *ch)
 {
     cpumask_t *scratch = this_cpu(hpet_scratch_cpumask);
     s_time_t now, next_event;
@@ -250,7 +250,7 @@ static void cf_check hpet_interrupt_hand
         return;
     }
 
-    ch->event_handler(ch);
+    handle_hpet_broadcast(ch);
 }
 
 static void hpet_enable_channel(struct hpet_event_channel *ch)
@@ -653,7 +653,7 @@ void __init hpet_broadcast_init(void)
         hpet_events[i].next_event = STIME_MAX;
         spin_lock_init(&hpet_events[i].lock);
         smp_wmb();
-        hpet_events[i].event_handler = handle_hpet_broadcast;
+        hpet_events[i].event_handler = true;
 
         hpet_events[i].msi.msi_attrib.maskbit = 1;
         hpet_events[i].msi.msi_attrib.pos = MSI_TYPE_HPET;
@@ -810,7 +810,9 @@ int hpet_legacy_irq_tick(void)
          (hpet_events->flags & (HPET_EVT_DISABLE|HPET_EVT_LEGACY)) !=
          HPET_EVT_LEGACY )
         return 0;
-    hpet_events->event_handler(hpet_events);
+
+    handle_hpet_broadcast(hpet_events);
+
     return 1;
 }
 



From xen-devel-bounces@lists.xenproject.org Thu Oct 23 15:51:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 15:51:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1149416.1481075 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBxba-0006Xp-58; Thu, 23 Oct 2025 15:51:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1149416.1481075; Thu, 23 Oct 2025 15:51:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBxba-0006Xi-2G; Thu, 23 Oct 2025 15:51:58 +0000
Received: by outflank-mailman (input) for mailman id 1149416;
 Thu, 23 Oct 2025 15:51:57 +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 <SRS0=U0PU=5A=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vBxbZ-0003ZG-Nc
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 15:51:57 +0000
Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com
 [2a00:1450:4864:20::329])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 336534cc-b028-11f0-980a-7dc792cee155;
 Thu, 23 Oct 2025 17:51:55 +0200 (CEST)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-46fcf9f63b6so5940215e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 23 Oct 2025 08:51:55 -0700 (PDT)
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-474949dd479sm67938045e9.0.2025.10.23.08.51.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Oct 2025 08:51:54 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 336534cc-b028-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761234715; x=1761839515; 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=+mHbAOKYHQAzDXnfae+5y/OBfyT/X7+SHGVm0yj/ZMY=;
        b=C5ML9nQ1XjcoZQ0ofrSnVDoYqzHb7TSd6mF1LLpNXfJqT8VpjoQsv39xNa4FOu0jFG
         WvLVMzPhKU+3zTLbtd11GRqyG9BVYdQuDv6vvi5SiXiyLMjYQDDRHerw3loSZpGPpMsJ
         FJp3ol8coinYfmAw+YcN8/YELJEs5atbg5C/vuQiVZjyyKDC9h0jzA+oGDqnGlHbJh0x
         bg29899PgSoRVfRgFYx+JWZWMrxOXaevhFZYFTxPS2jU0906Y5HiqOU8vG9pTUkEZW+F
         3QVF+r1OyHrHTadu+2dV2ZfKDs2A6g66ej2pw38EOwXJUQnr/0y6O+Z0xkiPgd3PngMJ
         MSFQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761234715; x=1761839515;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=+mHbAOKYHQAzDXnfae+5y/OBfyT/X7+SHGVm0yj/ZMY=;
        b=WrNlX9Oonw7J+5FlffNYC/QTOzlinDG5ZPRUheIZcA7GUlwA2QkV27soGjt+/S7luA
         g5zEa3JPfisVLaMS/D3p3YtSfdxI7JVhX2ssqMqvYtD4jITzE2xJGyc1ZOk1YKnhsRnZ
         G9B0ZITwnGV3nru66kasPsp7z2OQQLgtqZi7h9BgB4jBFMMvzZVVSg6WZHS3bhr5GcgQ
         DsN4MYGSNCcKbprKNfDlX2O7U599/QFTS5newkjnff/8ZLfg/hotCY52yik8fHBUFBWo
         zkor/KItOB5EKTsNkZQOb+XdTWOhhvLfkLfrmeJSwPmS3xYuUGq5YTuQVGhzwotHUlnT
         iWZQ==
X-Gm-Message-State: AOJu0Yw/VqXeAuT2vuxBJZJa4iirMalMhI28Gg3dI4b7Uij1IZOBabdi
	qvmCQ58sMF2+y/FEuSJUke+reKs8rY91ulblOpyIKFvc88Lni1LpxX5dK4sJS9Zs7dhqP3XgEwE
	3034=
X-Gm-Gg: ASbGncu/E7dJR5LBQlK/Txb2nkFT1xAOLbrZMn2Bj+ZVoDnCNh9GDHpJtnsZLwiZrfU
	70H8HLbDSyWukF2D3OK45ySuoYC6S5k2t6q1/tT4eL1KcvFX/NQvHHmaC3g6A3iXqnXI+cwPc6r
	TSxEKv12cg72WAG4PTuEqaQMwDwVpmGHPbqSJ0jlHBm1ha/H6e9RBy6lBEuU4rXsgJuScr4nIjX
	2fzmc05XlXdKa87La31JSJCgZih6QS7uf0XhkAJsJWC4ujbKgqLchzjMitawhV8YayE9lDQfHqZ
	D+XFW2+t1mh0FJTxEIknO9e4iQSWgrTmq1a9AwMNpjul1++cfXRQbL8FBVzkO4g1FKyn1/2stOm
	0vHTrYa7X6a3VuagXylNDHhgLlPngUvK69mnXkhaNuJAM0HNeX+2f2hIVDTUwqDoinV2X1zvvLO
	bh4Mm/+pWYJKXS/OZkgFdo/N5Qi0M4AycHOFN6PeA4Srls7AAk3kUvR73qUIs5+oo23T2iP/o=
X-Google-Smtp-Source: AGHT+IH25LbB6uYFvxruMTxCvVvSzakrZAUjmNAH48P1fuANhCw+Tv86aJwHv4rh3i481lwkSEmfew==
X-Received: by 2002:a05:600c:820f:b0:46f:b42e:e365 with SMTP id 5b1f17b1804b1-4711791dce8mr186824585e9.39.1761234715199;
        Thu, 23 Oct 2025 08:51:55 -0700 (PDT)
Message-ID: <a83cce00-77ab-496e-b9aa-a73019ac97c8@suse.com>
Date: Thu, 23 Oct 2025 17:51:53 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v3 5/9] x86/HPET: make another channel flags update atomic
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <6a8a912c-7276-42bd-af2b-b94fc6ce4291@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: <6a8a912c-7276-42bd-af2b-b94fc6ce4291@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Unlike the setting of HPET_EVT_LEGACY in hpet_broadcast_init(), the
setting of HPET_EVT_DISABLE in hpet_disable_legacy_broadcast() isn't init-
only and hence can race other flag manipulation (not all of which occur
while holding the channel's lock). While possibly any such updates would
only ever occur when HPET_EVT_LEGACY isn't set in the first place, this
doesn't look straightforward to prove, so better be on the safe side.

Fixes: d09486dba36a ("cpuidle: Enable hpet broadcast by default")
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/hpet.c
+++ b/xen/arch/x86/hpet.c
@@ -725,7 +725,7 @@ void hpet_disable_legacy_broadcast(void)
 
     spin_lock_irqsave(&hpet_events->lock, flags);
 
-    hpet_events->flags |= HPET_EVT_DISABLE;
+    set_bit(HPET_EVT_DISABLE_BIT, &hpet_events->flags);
 
     /* disable HPET T0 */
     cfg = hpet_read32(HPET_Tn_CFG(0));



From xen-devel-bounces@lists.xenproject.org Thu Oct 23 15:52:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 15:52:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1149423.1481086 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBxbu-00071a-Cc; Thu, 23 Oct 2025 15:52:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1149423.1481086; Thu, 23 Oct 2025 15:52:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBxbu-00071T-9U; Thu, 23 Oct 2025 15:52:18 +0000
Received: by outflank-mailman (input) for mailman id 1149423;
 Thu, 23 Oct 2025 15:52:17 +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 <SRS0=U0PU=5A=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vBxbt-0003ZG-Of
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 15:52:17 +0000
Received: from mail-wm1-x330.google.com (mail-wm1-x330.google.com
 [2a00:1450:4864:20::330])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3f83bd5e-b028-11f0-980a-7dc792cee155;
 Thu, 23 Oct 2025 17:52:16 +0200 (CEST)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-47103b6058fso7644415e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 23 Oct 2025 08:52:16 -0700 (PDT)
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-475c428f709sm104727735e9.8.2025.10.23.08.52.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Oct 2025 08:52:15 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3f83bd5e-b028-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761234735; x=1761839535; 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=Edc9JejnVOurqFLHJl7vyGwNsXxDwYwpev1b5zjSyqQ=;
        b=UgS0dPClJt7nMmT3hN4h+Y5IfJ9VZT2jN79tC16hPGvZaDBXsfgLbHi3Z+nEg3iN2U
         WwN8s3weT7wnq2Yxb6XHiFyQMmfjF6KDH07B1a9gvHFQDKZh3KjCrZGq6CC2uVeKcgX+
         qKJhIaxpM9DKqsVHtZZbo2wdszKMdPZrlcg4zA/n/RdhfF87igqUq547SEkeE/XYFfyi
         DUTLjWkus38EtreTG4kKVeCFayq6axK9QHXMPSku3fLZm45Zjvib9y3yq9zhFH7ctbuX
         XECRp+LjtpH8+nMNjiGWkDQ69Ewo2dI5LxWbZFqEXYbIcjQ149bCV1uYc+pvYFlf0s3C
         BoVQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761234735; x=1761839535;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=Edc9JejnVOurqFLHJl7vyGwNsXxDwYwpev1b5zjSyqQ=;
        b=rmcVxVtjNx+uX/QB7TzjObtgVaLQjMWHupLvtaaCzEEh6yOHYdZzHlxzc6850H9p6t
         Eftje5NQZ54zwN2AKSYlcua9MuFYnt/IwNtFbv0CmMJe4oBYqGmzQVY57lx0QJNSlDGO
         MyCitwwHM/QzaaQ3yWnZ7yuAdMCyleHWGTbW0LEjFUgSiD9cLqx3qMFLsSG6DiPhzqDN
         bbyr89gsRXGSm/1xV5KGqduf1rMlqtVb6Vbc/TRnADUc8TVJQZ0k6JQdmCYBZzJYdIJo
         ONPd/y7xHncFtN9Zhz74ACBBq+zw1aXfiFoim+b/Ob1X2B5AWyicVaFcd5nuESSCf1mX
         e+Yw==
X-Gm-Message-State: AOJu0YzWpxWhnLIshxpmv+bvaBp4VdBVhxd5QwOXu5YnyD80SuTY1Coj
	I2wYY+gkI1CQmCs9FO2yR5UuUCZba7unXE3kn74dIwwEyoxmaIIDN90FpACXsE6A6Tr9B6eqKU1
	dzjI=
X-Gm-Gg: ASbGncsBoUNMRkNOmIs6kHbyT2btMymg3kSHkNEII9o5Aqz5guWGJ6YHB0V+THQP/1Q
	vgpSKAOAIYMiTdI781yJ+M3v18AmbLF1OoH7fK81VE7KKSepx0psPKsM6Wg0nJBjvGb7Y1bRDVO
	gteVwc3vxZ5q9DjIAHusBYCTeO241Q+JFeIDDogNJ5zvgq2GqT08WELfGuTyd/sW5W38TacbhNW
	1Pj1yGD7ZOG25ZRO6cy/ENnf7qIT51T3zFEY7YnNVHZZBZ8ax3Yofm9IdrJDGRLwRkl5yAV4bGo
	Cw2UOv6G8htfISA3K2+j+lHYcbMHlpDfw6SLIPM+PnnMHT82vs6r9yeW9pm+J2PsPjHN/32L8ee
	AVtaWOVobWT57/uqmbY8n6isoHsJADgACwXaTpDZcgM7/rRy+PJvxyLZOGxUOIMhp+zF+ehKJFp
	3Ay6GEAD2NPvCoJoQ/dmmD2z70/Dkf7mZPMx7PQgOPCYJooXTr9S9HbYsB/AbHy5U5I02g5l4=
X-Google-Smtp-Source: AGHT+IH5gdWl4wMqnzk1J4RYATwheSuNMWvOGJi+6NGUWwBQatZNDjqUztJE5axxCaLk+yZUBVfO6A==
X-Received: by 2002:a05:600c:3f10:b0:46e:6339:79c5 with SMTP id 5b1f17b1804b1-475c3fa1f3emr64243325e9.5.1761234735503;
        Thu, 23 Oct 2025 08:52:15 -0700 (PDT)
Message-ID: <18f2e2b9-94f5-43c1-9801-e7ca7d7a74b0@suse.com>
Date: Thu, 23 Oct 2025 17:52:13 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v3 6/9] x86/HPET: move legacy tick IRQ count adjustment
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <6a8a912c-7276-42bd-af2b-b94fc6ce4291@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: <6a8a912c-7276-42bd-af2b-b94fc6ce4291@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

If already we play with the IRQ count, we should do so only if we actually
"consume" the interrupt; normal timer IRQs should not have any adjustment
done.

Fixes: 353533232730 ("cpuidle: fix the menu governor to enhance IO performance")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
_Why_ we do these adjustments (also elsewhere) I don't reeally know.

--- a/xen/arch/x86/hpet.c
+++ b/xen/arch/x86/hpet.c
@@ -804,13 +804,13 @@ int hpet_broadcast_is_available(void)
 
 int hpet_legacy_irq_tick(void)
 {
-    this_cpu(irq_count)--;
-
     if ( !hpet_events ||
          (hpet_events->flags & (HPET_EVT_DISABLE|HPET_EVT_LEGACY)) !=
          HPET_EVT_LEGACY )
         return 0;
 
+    this_cpu(irq_count)--;
+
     handle_hpet_broadcast(hpet_events);
 
     return 1;



From xen-devel-bounces@lists.xenproject.org Thu Oct 23 15:53:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 15:53:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1149434.1481095 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBxd2-0007hg-OL; Thu, 23 Oct 2025 15:53:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1149434.1481095; Thu, 23 Oct 2025 15:53:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBxd2-0007hZ-LN; Thu, 23 Oct 2025 15:53:28 +0000
Received: by outflank-mailman (input) for mailman id 1149434;
 Thu, 23 Oct 2025 15:53:27 +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 <SRS0=U0PU=5A=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vBxd1-0007hQ-BD
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 15:53:27 +0000
Received: from mail-wm1-x330.google.com (mail-wm1-x330.google.com
 [2a00:1450:4864:20::330])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 696c909a-b028-11f0-9d15-b5c5bf9af7f9;
 Thu, 23 Oct 2025 17:53:26 +0200 (CEST)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-47117e75258so7729415e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 23 Oct 2025 08:53:26 -0700 (PDT)
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-475c4281314sm103700925e9.4.2025.10.23.08.53.25
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Oct 2025 08:53:25 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 696c909a-b028-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761234806; x=1761839606; 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=Yfju5TuSYr1gnKBFs17R38Pvw/Jb2fzNTTH63D/Pa3U=;
        b=eBy4ZJit/ANNGxvUnlT9DNIEip8yiLFna+IZJKj0mS5k8gDU8I0FoBmQYAHN977b2c
         qv1eqvRSvNbgxKZbIPtRGDsjv7xeIPfe0cF+Li89eHqx9ste80G4oc41jAH3RuxXzZEx
         TZICiXIIGSwJzdhE7RZPcF6xD+9mMPie5kicm1PmNplg9EBYDMgD13H6KuNo/Y/4wqDL
         6T0V2N5tUXajq1HCtQWz7esFWKeXgQEqVEbDaUgOI3tcaO5Adpefl/rwpAv+49nSIl/E
         jssEEhbdu71e8FQPaQelp4RrTui41+1ffm/rrHUoYUeD+SIiI26F5QQZGjDNEJWPv6k3
         bB0Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761234806; x=1761839606;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=Yfju5TuSYr1gnKBFs17R38Pvw/Jb2fzNTTH63D/Pa3U=;
        b=dgATLl03eYsTSizBivoOSpoCd7P8OiRlwaR0TURVzTi4weZ2XTRVgytfDIccvjteoD
         9G7M6gT1IHN27MTynkBRPr6zuMMpJcEBqOF2gQ6iaDQnIsy0wytXqQEHPgm0BH6M6BG3
         ShiqHVvog6EjY3ZsmlH+8ywJWfOilMWBzRnoiTU+oQUv5QYszb0CIXn+SYMDOUFgGXDb
         YWilnzEJkDc6oX5pQW1INQkiIGZJYc1/BrL9gylUfrXw1R2oVMArP79n/CYVz6fdXvwi
         knHw9hkjtRu3iLpPNyfancFAIPmrlzgG1fxSCdI3l4naZ/imDovkPxjyYxntnaPuNvjr
         aI/Q==
X-Gm-Message-State: AOJu0YzgMteBUGgjeRcMSBu6TqRZ1HTTW0cqkXywjvlFdnnssaPGaTTe
	N86wJeOk1RL08qtSs0SL9rpA2z0a9+Ptc8ezbTm9UnFMG0hy/lYEZ5ONAA3N4KOAEdvlAwwNxof
	jrpM=
X-Gm-Gg: ASbGnctBhNRDb+bsBbE9QTgkq1oEh16R0IWoyezl/pUrbhB8Xz0Z3b52KAv3KPK3krE
	2fFA/0NHZjSl1KAYH7F7KmzhjCKpkc4WGuXuvrGfGoreQTgdgy0vPH/5mVLsRtL9SvZUcFtevp6
	QtXwJDG6kKgRyF5KlVEQXwzEHa6jlDiZItAgyhBhjoKLioxwLEbBAno9aK/5L8yNzMPgEUE85+K
	RdLt41CwglLCZmErB3DPHRqAmlkwjAX+yYCYf2WraILEqGMbtQ9kQlHmrTkw2sPa6uIo+uAiD2M
	bGgwp2JC2xHwnuWDVuWK4uxcB59S9E7AM+AB/3cjRGtc1chl4MtPxGq/9lKSjUqNFkjv/fIkzyM
	mZJJbJ9RGW51RdAIf55YgVP5QIT1KgVU3p+GyTQHfshNrUfykCrj+ioVNsQSMhJmXw0BSCKP4Q3
	VK7XDL3ua3KW8atIQkQmXCauzzzAHGuj1HmIOT+TN/tPJX+fEmwwaGXkz/stPT
X-Google-Smtp-Source: AGHT+IHeklUfRModfDEmbNU6EzqivzIwOReNcO1R1E45nwegGH4IqjeeVfWLsrm4xTPEWX7N8fLelA==
X-Received: by 2002:a05:600c:4695:b0:46e:32dd:1b1a with SMTP id 5b1f17b1804b1-475caf92922mr21227715e9.7.1761234805771;
        Thu, 23 Oct 2025 08:53:25 -0700 (PDT)
Message-ID: <f6783786-6cc1-4baf-bcdf-ab8d0a78266a@suse.com>
Date: Thu, 23 Oct 2025 17:53:24 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v3 9/9] x86/HPET: simplify "expire" check a little in
 reprogram_hpet_evt_channel()
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <6a8a912c-7276-42bd-af2b-b94fc6ce4291@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: <6a8a912c-7276-42bd-af2b-b94fc6ce4291@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

When this was added, the log message was updated correctly, but the zero
case was needlessly checked separately: hpet_broadcast_enter() had a zero
check added at the same time, while handle_hpet_broadcast() can't possibly
pass 0 here anyway.

Fixes: 7145897cfb81 ("cpuidle: Fix for timer_deadline==0 case")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: New.

--- a/xen/arch/x86/hpet.c
+++ b/xen/arch/x86/hpet.c
@@ -147,10 +147,10 @@ static int reprogram_hpet_evt_channel(
     int64_t delta;
     int ret;
 
-    if ( (ch->flags & HPET_EVT_DISABLE) || (expire == 0) )
+    if ( ch->flags & HPET_EVT_DISABLE )
         return 0;
 
-    if ( unlikely(expire < 0) )
+    if ( unlikely(expire <= 0) )
     {
         printk(KERN_DEBUG "reprogram: expire <= 0\n");
         return -ETIME;



From xen-devel-bounces@lists.xenproject.org Thu Oct 23 15:57:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 15:57:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1149445.1481105 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBxh1-0000Be-6H; Thu, 23 Oct 2025 15:57:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1149445.1481105; Thu, 23 Oct 2025 15:57:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBxh1-0000BP-3h; Thu, 23 Oct 2025 15:57:35 +0000
Received: by outflank-mailman (input) for mailman id 1149445;
 Thu, 23 Oct 2025 15:57:33 +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 <SRS0=U0PU=5A=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vBxcX-0003ZG-G8
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 15:52:57 +0000
Received: from mail-wr1-x435.google.com (mail-wr1-x435.google.com
 [2a00:1450:4864:20::435])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 57481c2d-b028-11f0-980a-7dc792cee155;
 Thu, 23 Oct 2025 17:52:55 +0200 (CEST)
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-4270a3464caso470211f8f.1
 for <xen-devel@lists.xenproject.org>; Thu, 23 Oct 2025 08:52:55 -0700 (PDT)
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-429898eac60sm4517747f8f.39.2025.10.23.08.52.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Oct 2025 08:52:55 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 57481c2d-b028-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761234775; x=1761839575; 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=PS7ucokoN9+hEjFZSIghu/GmWjPiHcD6tMlnYOR0lq8=;
        b=WuLmgoDMlTfnp7crL3D29ifCTcFUeb0DBuMatdNj8e3XZWUZbAOttwxdqIuXmWvyO1
         tksLcqURiXWYT2ALB83zhRpHBalHjZOOP23dPkFMRByUlvKqocEcViPJ+GgooPF/8+dW
         61Ux5UDO89HJUY+l5q7u2xtUyWM8A5S7OAxNU41ZXh9TahAd0EYLYYgDfWXa317KlZCH
         Hpl5gpFYEPDcZeyBnsmBmfCAgLlz+BzXRXxOvuK2+Lvnp26RKALCbe9GfK3jj6KXck5X
         vg1WsFV1VqzG/s7DmCXI+UjJ6vc5ABbYdOD1DlX+RQswxOFGKnkeumSb6yNoM22f7qG7
         gnkw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761234775; x=1761839575;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=PS7ucokoN9+hEjFZSIghu/GmWjPiHcD6tMlnYOR0lq8=;
        b=HtJV+fs70Jj77cjXRpF5qs358Dprh6c7T99V2kJAUBqgyxrLUjr3+NSexzYD7u8l7V
         6lHzl1xWG7ON0tTjB/jks8jJDHzReXjF2jR+zAs2jdhuYxYLNYCXc7WGFT0i0MUViGRO
         Mus1fZH+kg9r5aaUGbHGsQP62WTxAFwKOybA3GO5RYeOCwD5hE70z8p1+JRgQg7nAo1P
         +GwBIuYm2vRi7zoU0P5mfM+7eZRFfLsXtiKKXjMrU5Gx9T0rtPk3ozmiqd/OeMQP+fUQ
         oSDOt9w+t8Os2eODoC5iD5FndwLjTdEaR0a+eSJ/oOuxkZrRpNxGfe220ov5YFzH3JKw
         Vi/Q==
X-Gm-Message-State: AOJu0YzI5Rs94RJ8ZUGOorHP4XHlu3QYct7VKEd4RbcQ1OU40o2isWEe
	SDlLURdI7zIwEEcLlVKZp77dT+jSMQl2Cg3/HzW2o9u8E2/S9nLtAUJptobwXGDRebw1evLSjw6
	x7eA=
X-Gm-Gg: ASbGncueGt8SujS/h4k0+sZUygIOgO8Llp20UOY5IWFhjXLUAcf+HiCd501IBdq2oT1
	2pKGEkHGjzM9bI4qQwoi64o8SaOahwIAESdjuxehfL2ZQaFJLkxXxrfIWL7zA92bhWDHWn00cOX
	HJNdVENdZSj9S5U58uIyXgXFvylBVMxMqn2HHSwLpcexbN8vKvr+2he5ziB+vaV+nEypcmRgZ+/
	YqomjGaPfbIp2EzcfEX5FuU+WdKWXJ+imECHs6ogaBRDQcKqoDeEC3nNEa94KBXlJTzk7s/XhO7
	JZ4htuVKuKblnfYB2KQNcid2vc6FERYv5wMY6TWWxzb9GiQjbxZH3VzUPHGhSwqW66fN9fOZfW4
	/4R1K2diAtpktvxLhoBtVksag2UC4p+yOZdC1D3Au95tpZPTdH8KrnRwsK5cSvpknqKtrpdifae
	neBMWB3FUSYvWv605+L1fXfh2+gihk9TZh8NZ1+Eq5ydSITH+NzfAegz6AGAb1
X-Google-Smtp-Source: AGHT+IEw5vr3sX4/p69hMs8HEEAiC3uG/ZgZS22kpenU9sT4/lr2eWLaAk4CkFjapBhq7Fp+0eTpSg==
X-Received: by 2002:a5d:5f91:0:b0:428:3d14:7385 with SMTP id ffacd0b85a97d-4298a059f15mr1799694f8f.28.1761234775377;
        Thu, 23 Oct 2025 08:52:55 -0700 (PDT)
Message-ID: <b5cf4646-54aa-4d66-9475-b49068a7001f@suse.com>
Date: Thu, 23 Oct 2025 17:52:53 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v3 8/9] x86/HPET: drop "long timeout" handling from
 reprogram_hpet_evt_channel()
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <6a8a912c-7276-42bd-af2b-b94fc6ce4291@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: <6a8a912c-7276-42bd-af2b-b94fc6ce4291@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Neither caller passes STIME_MAX, so (bogusly) handling the case isn't
necessary.

"Bogusly" because with 32-bit counters, writing 0 means on average half
the wrapping period until an interrupt would be raised, while of course
in extreme cases an interrupt would be raised almost right away.

Amends: aa42fc0e9cd9 ("cpuidle: remove hpet access in hpet_broadcast_exit")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v3: Drop the code instead of adjusting it.

--- a/xen/arch/x86/hpet.c
+++ b/xen/arch/x86/hpet.c
@@ -162,13 +162,6 @@ static int reprogram_hpet_evt_channel(
 
     ch->next_event = expire;
 
-    if ( expire == STIME_MAX )
-    {
-        /* We assume it will take a long time for the timer to wrap. */
-        hpet_write32(0, HPET_Tn_CMP(ch->idx));
-        return 0;
-    }
-
     delta = min_t(int64_t, delta, MAX_DELTA_NS);
     delta = max_t(int64_t, delta, MIN_DELTA_NS);
     delta = ns2ticks(delta, ch->shift, ch->mult);



From xen-devel-bounces@lists.xenproject.org Thu Oct 23 15:58:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 15:58:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1149458.1481116 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBxhy-0000wN-FL; Thu, 23 Oct 2025 15:58:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1149458.1481116; Thu, 23 Oct 2025 15: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 <xen-devel-bounces@lists.xenproject.org>)
	id 1vBxhy-0000wG-Cd; Thu, 23 Oct 2025 15:58:34 +0000
Received: by outflank-mailman (input) for mailman id 1149458;
 Thu, 23 Oct 2025 15:58:33 +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 <SRS0=U0PU=5A=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vBxcF-0003ZG-DY
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 15:52:39 +0000
Received: from mail-wm1-x334.google.com (mail-wm1-x334.google.com
 [2a00:1450:4864:20::334])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4c84f619-b028-11f0-980a-7dc792cee155;
 Thu, 23 Oct 2025 17:52:37 +0200 (CEST)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-47103b6058fso7646845e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 23 Oct 2025 08:52:37 -0700 (PDT)
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-475cad4c81dsm45156035e9.0.2025.10.23.08.52.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Oct 2025 08:52:37 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4c84f619-b028-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761234757; x=1761839557; 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=rds4jnnN9NVrTZyuc+q65+QBQEjCAV7rC8oJIxMqDF8=;
        b=U/iVwEQbu9xhnKFHRnu/ngvhY7V+rmU8Uq0rSlbzCuB/TEtd5biqh08dXJ1be7zdB5
         etQMRTA3XLaW6NoMGKws66BvVx9269wUgLmMm2GViJLGNBreYAmD8BoVzBhUcFWdMd6o
         JVcQZq5ziIQa0dcUYHdgY+q/Phfzm4JDIxcVfKim03ivD10TPp3MkLTFyA0ezigquK5i
         KQ9tYcNzrAxsR1de+P3K+bs7x4OmzELn0Sxuqr77o2O+UQrRmqSDZCxCJ2MkwM9umFYr
         j7SNU5dZiRQzunc4UGZ865UblV/ZaEjz10Z4fq63FaRaCCFjiTAtZ5HTD/bJ7GwtcezH
         tl/Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761234757; x=1761839557;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=rds4jnnN9NVrTZyuc+q65+QBQEjCAV7rC8oJIxMqDF8=;
        b=rakPMWRbdyEtCnn5grP8TU7lDDX/iS27hHK3MMy9Gl9r3wiMKYHY8WQ46q7wwurTt9
         J7iUgdVHSSOfzRA3IwwXHyI5Mt0pDRISG1QAwuF1H/W45xwd89UHzyRzd9LV6blqxxHD
         NQxigGBcPuAkHOJcP3TdqOf2wYpLsdFilE04LgSbvDJ4kMIRbjapzqW8ZLYHrLpYos57
         qzekR5WXNO4ChDGTksSC+xdP+GYQv9MO2Zx67tqpPINLmjk6fo2rW5P1rpIs/ugUiTry
         rFGRfrRzVJbu7Glv6GLGGfEBI0+Lh8JYyoGqzj5WZtAUS3Imk2SUQSPYKxXOZm/qOMiv
         Q1aw==
X-Gm-Message-State: AOJu0YxCETzMugc9PlsxTkxx6XqaKg1UdyOj14Xq/nWu14lV5/X5zxm4
	zMunrsFfxYGB4ViEFS+GhccyMQcPetQ/hqq47/4U4gKNcB3y/Fxxn67wIv/UMuXbe20KHgZPuuf
	Zjm8=
X-Gm-Gg: ASbGncsUW4X5TlyWwvpe+zh2Yf0iRE8q2uIKAGtHPD5wq5bbnqu1XdkZZwODrdeeGbz
	MJ53Y0V7qwEs5IPJ0h2Q3E2kN0OLaMlWQfjcuxGKLadQuMRrcWOITTFdB/9Ojz5N04U1oiae1ec
	S9+BS5YPdBjgvPLy/ZA6NDePGr4rpXoXp/AK8fgy0F+ad4nEfBG5x9j9Fa6hidymNPY6ntliCkv
	PLQYMIjbjQ/Krm9tiocqdTYvWopUU8N9bWyLCij0B8M5d4NezflX6iTXic7TXFc+pd+sMGcCYdA
	6TZv076NxdJ7z59elvWJbe/E/DC+cwWy4fi5C4bCGaCgw6C//c8YAEBAwOlkqKe4tHMivMCMZdl
	WoA7W5WyUDLOr6Z7+g0rf3Yl8+sdGaPDP60VxOMdLMe6Y8Df8f+hb6YfhgZwv2+pEjiKTWWjCTM
	XC0/J5fHYpxqEbvK98KejjuCbSSEtJqbYROG/pp3qocVbKFbwYkCYwl2JTaBzcxbYnVNSEokY=
X-Google-Smtp-Source: AGHT+IE/BxDx1PZIGOupQL8eMkohjodSLG4a3UQ9TF5ZY/S5BZL6F1gt3BKwI+tTiRTTns/GDCeoKw==
X-Received: by 2002:a05:600c:55d6:b0:46f:b42e:e362 with SMTP id 5b1f17b1804b1-475c6f7076cmr35920245e9.19.1761234757309;
        Thu, 23 Oct 2025 08:52:37 -0700 (PDT)
Message-ID: <292960d3-37cd-4c07-b0fb-528b560ee44b@suse.com>
Date: Thu, 23 Oct 2025 17:52:35 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v3 7/9] x86/HPET: reduce hpet_next_event() call sites
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <6a8a912c-7276-42bd-af2b-b94fc6ce4291@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: <6a8a912c-7276-42bd-af2b-b94fc6ce4291@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

I'm surprised gcc doesn't manage to do that: At least in debug builds two
call sites exist, just like source code has it. That's not necessary
though - by using do/while we can reduce this to a single call site. Then
the function will be inlined.

While improving code gen, also switch the function's 2nd parameter to
unsigned.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Oddly enough the CDQE is replaced by an entirely unnecessary 32-bit MOV of
a register to itself (i.e. zero-extending to 64 bits), as that's
immediately preceded by a 32-bit ADD targeting the same register.

--- a/xen/arch/x86/hpet.c
+++ b/xen/arch/x86/hpet.c
@@ -124,7 +124,7 @@ static inline unsigned long ns2ticks(uns
     return (unsigned long) tmp;
 }
 
-static int hpet_next_event(unsigned long delta, int timer)
+static int hpet_next_event(unsigned long delta, unsigned int timer)
 {
     uint32_t cnt, cmp;
     unsigned long flags;
@@ -173,12 +173,10 @@ static int reprogram_hpet_evt_channel(
     delta = max_t(int64_t, delta, MIN_DELTA_NS);
     delta = ns2ticks(delta, ch->shift, ch->mult);
 
-    ret = hpet_next_event(delta, ch->idx);
-    while ( ret && force )
-    {
-        delta += delta;
+    do {
         ret = hpet_next_event(delta, ch->idx);
-    }
+        delta += delta;
+    } while ( ret && force );
 
     return ret;
 }



From xen-devel-bounces@lists.xenproject.org Thu Oct 23 16:01:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 16:01:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1149468.1481126 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBxkr-000301-Se; Thu, 23 Oct 2025 16:01:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1149468.1481126; Thu, 23 Oct 2025 16:01:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBxkr-0002zu-Pi; Thu, 23 Oct 2025 16:01:33 +0000
Received: by outflank-mailman (input) for mailman id 1149468;
 Thu, 23 Oct 2025 16:01: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
 <SRS0=hBmZ=5A=epam.com=dmytro_prokopchuk1@srs-se1.protection.inumbo.net>)
 id 1vBxkq-0002zo-GC
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 16:01:32 +0000
Received: from AS8PR04CU009.outbound.protection.outlook.com
 (mail-westeuropeazlp170110003.outbound.protection.outlook.com
 [2a01:111:f403:c201::3])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 862583d5-b029-11f0-980a-7dc792cee155;
 Thu, 23 Oct 2025 18:01:24 +0200 (CEST)
Received: from DB7PR03MB4140.eurprd03.prod.outlook.com (2603:10a6:5:34::10) by
 AS8PR03MB8928.eurprd03.prod.outlook.com (2603:10a6:20b:5be::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.13; Thu, 23 Oct
 2025 16:01:21 +0000
Received: from DB7PR03MB4140.eurprd03.prod.outlook.com
 ([fe80::e16e:b655:974f:43f3]) by DB7PR03MB4140.eurprd03.prod.outlook.com
 ([fe80::e16e:b655:974f:43f3%4]) with mapi id 15.20.9253.011; Thu, 23 Oct 2025
 16:01:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 862583d5-b029-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=WmfVv30YZnqP4BwRSTf2poPKUPp1Y043vwCnsXfWq7q0Kz/Ve4R/u/R94n973/Gay8nXoNffnDEZ9yOXZIVTLPLUsflN2wUtA4o3YEWQON/VgjrUVCRk5jXoKAJgQ3XzaDfw4uv4eJD5QaeknLo+/cE6e9LS0SJBuSe4Yi+bJtfIOqkoyzDkxwq7Eob2fzHlRBHWs/dN0I4NdcW8aIlxTVEQiqSf25qvAhP/zEChFpFNui6+mQxbcov/rixdg/ghsZr//n6W+bCOX3JGO57FqWAGf9q4PyxjRU80rdwHfkEht5UVKjHnI2YDDFHaFS5rkSJQyM2TpCp/rGlCbGzq9w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5+ei4kCdxzuRz9VNw4YKAGQ48mQ5DmteawX2DbpcDGE=;
 b=jftQnhVvH3tOXYV749agIrkbvAqu0ALHVTBmRiLpK8/L7Nswp3DpkxxxO0p3iyfut5xPYF1fH8cgGH5s/RvOY6abr7XmaKjYNzsSSbS8+w0RGxmeIngU56spHdwKqEDzir8va2h80aYrekcpfxfeFeG+vigkILi2ew1fGiEAev3x+5XXzV8EzwLeqODS44Guas3ytLvvknOaXbgArQccmqfov5FdiJ12dARibC774ksmwOafO9RiYTlwwRrEXnLAUSsfF9FFCN9YlPdZHY8LZSN+G/XFTtubxiWuYiYGB2iHtBMBYIpTl5+8bb+gX/X2tmTtaYPDSo9TrUAP8IpATw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5+ei4kCdxzuRz9VNw4YKAGQ48mQ5DmteawX2DbpcDGE=;
 b=NH/VPI6+N74tia7ILEwIs1fbDYrPgUDENfT21yNKQDYcwBsc84RN4oF5WEP5haQGzsJwKEiDcX5tvG6mDSDVcgkWwraIcT2ldHjlMdA5AesdLvfWMIZ2ye5wo1TUb7XjExdo0oZ4mipuTmHEwe0NaZY5LG4lus0hYrrXcy6jOoOeO/+yymx4HTvAfgaYAtHV0VsMwzoUc3QwxGIK0EC+/S9EMRz0irGHCiiU59B0nk9Xso+VMcibYRoHzOOx2xnvpoV9odfaGqWqsoJIzmP349w4aTD8gRHpaoGyRLA0sF5gL+heZcViH3YMNpuInawLHvk8Bt++WFfu/fkWsSxnXw==
From: Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Doug Goldstein <cardoe@cardoe.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Andrew Cooper <andrew.cooper3@citrix.com>, Anthony
 PERARD <anthony.perard@vates.tech>, Michal Orzel <michal.orzel@amd.com>,
	Julien Grall <julien@xen.org>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, Nicola Vetrini <nicola.vetrini@bugseng.com>
Subject: Re: [PATCH v3] misra: consider conversion from UL or (void*) to
 function pointer as safe
Thread-Topic: [PATCH v3] misra: consider conversion from UL or (void*) to
 function pointer as safe
Thread-Index:
 AQHcPSX2fWa1eZv9x0mRzqs7fz2kjrTCvSwAgAMyXQCACZ3PAIAABnOAgAA7uwCAAAxfAIAAFloA
Date: Thu, 23 Oct 2025 16:01:21 +0000
Message-ID: <276064a9-619c-4d08-ac9e-0f92f01cef10@epam.com>
References:
 <0e72c83102668dfa6f14c4e8f9839b4a73d30b3d.1760458094.git.dmytro_prokopchuk1@epam.com>
 <ceedeefa-c506-41ca-9dfc-76937979caa9@suse.com>
 <321363444f9a3d3471bf1b3b2e020047@bugseng.com>
 <0767a5c4-6a2c-4ed0-92d3-f9f89313ad85@epam.com>
 <64411f5b-a826-48b6-9122-bf80ac377c7a@suse.com>
 <9a09cbab-851c-46f1-8026-603a7cb9d79b@epam.com>
 <5a6d1670-ce9e-4264-bbea-786df5cc5679@suse.com>
In-Reply-To: <5a6d1670-ce9e-4264-bbea-786df5cc5679@suse.com>
Accept-Language: en-US, uk-UA, ru-RU
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DB7PR03MB4140:EE_|AS8PR03MB8928:EE_
x-ms-office365-filtering-correlation-id: 5e42f8ff-c02c-4b67-8c7d-08de124d68d8
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|1800799024|366016|42112799006|376014|7416014|38070700021;
x-microsoft-antispam-message-info:
 =?utf-8?B?MnY2SUw5ZjRQcmttMUlpZ01laHYwZTZVNFVieUhaRGlWN25NSm1uVWxPUGti?=
 =?utf-8?B?anpRRWIrUlF4MVFhUi85SlQvYmJkblFIMzl5Z0pPcXBHQm9iUnI3S1k1YWlw?=
 =?utf-8?B?c2R6QnI2bmR6a1QzYkRLQ2toa0dxRGpHNXBtRURmOHByRHpnR2MyNHUzRmlQ?=
 =?utf-8?B?OWN1SXhWWDJIMnpVVytnakpZZnlSOGJqZGd1Q1JnbkM5VDBJMUFTNXVOVTNK?=
 =?utf-8?B?SDJuNmVCNkl6b0dQczBoR04vRnhMcjQyQnBWZ3NzRlV1QnIyaVJGZ0MzQ1Vr?=
 =?utf-8?B?cjRoV1g4cGlNbm9wTGowRXJSazR1UlhPMEM4SDBiMDErWVoyZnF1NVpUOTNi?=
 =?utf-8?B?eHNUUXU4cHZPRmpZRUdSd2V6S0JBc1IxRnBTbW1INFI0QTFVaWxraFdyOFM5?=
 =?utf-8?B?REY2QkZxMS9FWnhUV2hxb2hpSGkvWjgwZitYS3dHdzRuK3VPS1V1NVJiMjZv?=
 =?utf-8?B?REY2eWllTnYxT2ZlTG1VVldNc3RVVGRlSkZVS3lES01hYStjYnlrNTFKOEtI?=
 =?utf-8?B?alNnZFpFMDlRblJQTWk0c3QrSmpEMnFLc1ZhcjdXNVFISG54WWkzK2pteG5x?=
 =?utf-8?B?T0ZsamV1WGNFVDJvMVZUcnVtd3RYd0JNcXMwMnpuTmJiejZUQ2JGWWdUNE5m?=
 =?utf-8?B?ZnpWSG5iclI1YkdTVVlwaEErT3krb2JVV2Y2K21SR256WjAwdWRXMFVxdnMz?=
 =?utf-8?B?SUJFRmFxb21VYXBENndCMHRpNW55bFp5MEJkbno5Z0VDd2VzM2NTNGVyQUtW?=
 =?utf-8?B?Y1NJSFg1Wmd4aDEvTjBYSUUzZWpuUkZOOEJkSmJWY29IWGRhTENlM0JwQzUw?=
 =?utf-8?B?SkswZWUvRXpIcTlvYWFVeU4wMTV5Qyt1YWcxV0pvSmRDc0ZVRUlMdktVbW1S?=
 =?utf-8?B?YkxPZEVDdzQzSkhGVy9tZUJJNy9ZVi90VkwvbnVFczR1bEFtMWVqalNJeFBy?=
 =?utf-8?B?NDVHZ3RFYm9KVHF5K3BDTEhzanFEMVhzVWg5dHc4M0xhVEt1N0tIZ01zaFN1?=
 =?utf-8?B?VFhISjNUK0VScmJFOVc3N3huRjdsMWRnU2Zvc09zZkwyUDE4NG5iZll3YnIr?=
 =?utf-8?B?eFU5a0pWelZxUFg2YlExTzFYbURJQ3d4WGN3U3JQUkZIOVVsKzE4QU1QODlm?=
 =?utf-8?B?UWRQclc1bm1IcGNQVlRKS0ZWVzExTm1hUTEzVXcrYmtzYUR4eGc4N2NhVSt0?=
 =?utf-8?B?ZDMwZktvbFlqZkhKWXowTmtpWUo4amhCUzlEamQ1SmIrSEFjY2l4QVZMbEdm?=
 =?utf-8?B?WElCZ0VpRnlpVTdYaVlKNHpWWjdoN3ZFTFdGTUpsMXVXR0x0eXRwbHBJTHNo?=
 =?utf-8?B?M2FRL1BSeENKNW5wUEdObzBvcGFLd2NQeUNCczRFV0VVb1BLYUVCdkJmWXdi?=
 =?utf-8?B?Q1o4ZG5LUzcvT2Z2azNvZkJWNmd0bEZUK1JhemFjOHpqZzhRZ0hEeHVUclo0?=
 =?utf-8?B?eVlzR2FtZmQ5NjVmYmYxSjBrcjVyWEtjQjArbG44R2R4dHljbjgvRjB3UEgx?=
 =?utf-8?B?M2FybnArUXZMWEgrcW54Y01RSGVBZ2tPb2dqTTNrQmZtbmV5RklyTmlzVjhE?=
 =?utf-8?B?MDcyaDd6ZjNVOGE4cGhmK0tra1VIYWMrakk4MDlRSVNDK2lwSWx3N09nbFRF?=
 =?utf-8?B?SWh3WVE5NWxtSEtLZ0thT2cxVnBoUDZkVFlWbHU4SmZudGhCbDExaHZ2MTF4?=
 =?utf-8?B?MVdJbkRWY01SenhkYUhpYjI5eFZMUUxMcHlEd2ExQ040MkYvdDlmc3I4STdk?=
 =?utf-8?B?bmd3bGd3OEthTkRjUldRMDRWWlJ3YTBSck1vZkw4dzNDL3dlMlVyOGZKeXY4?=
 =?utf-8?B?dnlFcEVlcmFMdkJKdWhxR3BsUmw4bjhuL2JpY0NhdUt2VlE0dGFCUTVseUI5?=
 =?utf-8?B?U25FLzRod1VyVzFpY0RXNGMxcTRkQndJMFNnRytJR3NZVzRhSGkyY1FteFFp?=
 =?utf-8?B?bFJ6STZNTjlOZHVsaU0rSW5EVGhha2hyZ212NHZmeTVYcjB3YkZkN3NUbHpz?=
 =?utf-8?B?YXRkRE5CWFIzd0JWbTB4MDhaVXA0cmFsUmtrNVNQWmlyMGxVNmROSFIzR2h0?=
 =?utf-8?Q?tH30BZ?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB7PR03MB4140.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(42112799006)(376014)(7416014)(38070700021);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?YWU4QzBNQmFZSW5sUm83eW9HZUZPcit3d08wT0pxNnNma1RuanRTMDhLdzdZ?=
 =?utf-8?B?eTgwWlU4Qi8rb045SGZkeU1jQTVPNHdudTEvN1JRdXhUL2t1Ty93aE5qYjAz?=
 =?utf-8?B?SmhjSXhSVlNtY1p2MjBrb1ZtelpiVXVjMXpUbkVGUThXZ3VjcFRKZi9GczRy?=
 =?utf-8?B?Nkhxa2R5Rmo2M1NYUEpqenlOQlh1SjllMXoxb0k0ajJ1T3V4VXU1NmcyejRo?=
 =?utf-8?B?dlp2b0RoYnQ4MVN1Z2k2TDNKTFlUYlVYdU9peUhSSGNxTjRLZzBOSDFXbUtU?=
 =?utf-8?B?QStlY1dDU1JQRksvZ1didzl5NVdDNUdrZ0ROZE1tYXBOOHM0a3Q5NW9mbGRh?=
 =?utf-8?B?NXRHQ2EwdTRuV1FkaFlSWk5KcjJlRXEvb2xqMFdvaFd2UFBzNU1YYkxCenh2?=
 =?utf-8?B?elR2QitLN2U2OWdJLzB4bEFORXdaZW1va0c5S1lIRUJBcmtEM2RPcms5UXFU?=
 =?utf-8?B?Ui9EYzhGQnczdzRpZXUrcjZoc2V2TEhsMVpsUytqNzVSSGhST0xDdFo4dVpi?=
 =?utf-8?B?dGRLYnNFNDBzMC9QUVVqZXFGR2hiOGh6YkJlb2tZdS9uOTdCaWJma2VqcUIx?=
 =?utf-8?B?SlVWcEN1ejFremhpTkdvZzRDNSszQk5aM1F2OHBXL01Pd0wxM3FYS3dtKzIy?=
 =?utf-8?B?VDJzc0xuNDhpRU9LcVRESmVPc0trODk1WXJCQ29BS0p5SkhEWWRTWS93NFVC?=
 =?utf-8?B?Z1NCMHhSN1BsaDBtZWtaTSszSTZFSk42RTJiQU1Kd0kvSEp4QlRqNHJsclhx?=
 =?utf-8?B?Y0dWeDRhR3RTNmFQdzkrRGZJMTN4UEtGSTVLS29HbUtvRkl2MS9IT0Z1alhv?=
 =?utf-8?B?NmVNbk9OWkpSK2F4L3hEZzZpKzBkTE5NKzF1R2VMWnhqVVhVZHBkOWRWSE1m?=
 =?utf-8?B?cHZhU01rS0l4aEF4Wm1seUQzUVR5cFFnZ0JJRVBoN0NUWWliY21aaWh2V2lF?=
 =?utf-8?B?bUg1MHAzQXJHZUhnZzFzeW1UaTRLa2VSTTM2WXgwZzI5RGV6M2pkSFdMZDJQ?=
 =?utf-8?B?QlZBOXBoZkY5UUwwd25LR2V1RDd0bGJLdlRtc1A3d2EzbmZFaHJJdEZSRWUw?=
 =?utf-8?B?c2dzVUlHVHBJcEpRMEN6WnBycERHRDdTcnhrcVI0YmlmU3VwcUZxTENKWFFs?=
 =?utf-8?B?U1VIeEVtaXNKRTd0eWpxRHlZUVgzY3puaU16S1RJckt4UkVSUFUveVREUzZj?=
 =?utf-8?B?UVU5UUdYMmZlZWJPU0NUcGFQbWZxMkwxQ1p5MVFFUnhVRXkzYzZHYzBZdzR5?=
 =?utf-8?B?RFBvaVZkRDU2ZlFYblU4WHVNZmczb0pTUTIwOFh6b2VKaDMyU1V3Q2JyVzdh?=
 =?utf-8?B?RTB0akgyQjYwT3Y2dGZJYUd6b3MzY095YkdUUmNEOWdZdXc5ZURLR2VtVUVP?=
 =?utf-8?B?K2l3T0t6ZEFkSEVQK0hQazJXcDZjQVlkNStabVptQi9wWlhQUStQWlhJc0FX?=
 =?utf-8?B?d3B5elJ2eERIQWdjTWtEVWszSi9hdXZaTTd4aTJTcUJXdUFBVjVZeUVqOERk?=
 =?utf-8?B?QlFWM2d6TDhOWVdDK0xlWTljMWFUL2dFckdKeEhqTHZqMVU5Nmdmbmdpa2V3?=
 =?utf-8?B?dW1PcWJHT3JLNUxIVTViekJ3RVNaT2pqMlVwVlZMVXBOakJLdVB5Q210ZXhP?=
 =?utf-8?B?cHVDWXRDZ25rVlo3cWRBVW44WkMwd0ZoRXFHd0ZXTDlEK01GeUdsYXo0SnNC?=
 =?utf-8?B?elJ0OGFWT2dDSHM1MlNVbmdJNTNJKzJHZ0hnejJYMVNGRytDQVRTN0dwY0tB?=
 =?utf-8?B?UjJiTU1YME1BYjV1L2RRQXJwSGpzcGlKcDR2WFBMOWFuWGNuNWEzRytRTTA1?=
 =?utf-8?B?ZDdCcjRvbnJYa1JJMUZJenMrb2g4Z05PMmd2enpGTldUSG53ZXdubzFzajhK?=
 =?utf-8?B?WlJjb3ljYWNGSG9FaEFMZUR5SzFYUGtqK0t6MXVzMHY0TW5Yb3VublFzLzhW?=
 =?utf-8?B?cFFCdmJiQm5iREVESE42Y25RUU5PQzNaQXNBMGFFWDlYSzVSSFJVQTAySFlk?=
 =?utf-8?B?ZUJuT1BJelJmSUwwTnVjMHJnQy82NDd6RWUwbDI3eVdJUmhxdHJSVmdabDVJ?=
 =?utf-8?B?STBqU3RVYm9rTWhpL00zeC9qMkhJa3A5VnIxdW91RkNYcE1aZ2NCT3BON3Ba?=
 =?utf-8?B?RFNkR1pXQ005MzlUR2xXMnhGSERYSlBRS2VPbHNQT3RCOHRabXNLK0psekd1?=
 =?utf-8?B?QVE9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <9603A114FBAFC74FBAA0B4AD20B3E181@eurprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DB7PR03MB4140.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5e42f8ff-c02c-4b67-8c7d-08de124d68d8
X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Oct 2025 16:01:21.3622
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: fI4zzPhcb16I/4iexZRyuMCw5XFIHTbk6QoCaIbuRRiFSrcGcHrvn0714mc4cPXRvx3JZxbtkw5XLv3ESnIXoa3EXwW7/C7L7i9GK7824Cc=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR03MB8928

DQoNCk9uIDEwLzIzLzI1IDE3OjQxLCBKYW4gQmV1bGljaCB3cm90ZToNCj4gT24gMjMuMTAuMjAy
NSAxNTo1NywgRG15dHJvIFByb2tvcGNodWsxIHdyb3RlOg0KPj4NCj4+DQo+PiBPbiAxMC8yMy8y
NSAxMzoyMywgSmFuIEJldWxpY2ggd3JvdGU6DQo+Pj4gT24gMjMuMTAuMjAyNSAxMjowMCwgRG15
dHJvIFByb2tvcGNodWsxIHdyb3RlOg0KPj4+PiBPbiAxMC8xNy8yNSAxMDowOSwgTmljb2xhIFZl
dHJpbmkgd3JvdGU6DQo+Pj4+PiBPbiAyMDI1LTEwLTE1IDA4OjIwLCBKYW4gQmV1bGljaCB3cm90
ZToNCj4+Pj4+PiBPbiAxNC4xMC4yMDI1IDE4OjE2LCBEbXl0cm8gUHJva29wY2h1azEgd3JvdGU6
DQo+Pj4+Pj4+IC0tLSBhL3hlbi9jb21tb24vdmVyc2lvbi5jDQo+Pj4+Pj4+ICsrKyBiL3hlbi9j
b21tb24vdmVyc2lvbi5jDQo+Pj4+Pj4+IEBAIC0yMTcsNiArMjE3LDIwIEBAIHZvaWQgX19pbml0
IHhlbl9idWlsZF9pbml0KHZvaWQpDQo+Pj4+Pj4+ICAgwqAjZW5kaWYgLyogQ09ORklHX1g4NiAq
Lw0KPj4+Pj4+PiAgIMKgfQ0KPj4+Pj4+PiAgIMKgI2VuZGlmIC8qIEJVSUxEX0lEICovDQo+Pj4+
Pj4+ICsNCj4+Pj4+Pj4gKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0
X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwNCj4+Pj4+Pj4gZGVmaW5lZChfX2FhcmNoNjRfXykN
Cj4+Pj4+Pg0KPj4+Pj4+IFdoeSBfX2kzODZfXz8gQWxzbyAobml0KTogTGluZSB0b28gbG9uZy4N
Cj4+Pj4NCj4+Pj4gV2VsbCwgSSBjb3BpZWQgdGhpcyBsaW5lIGZyb20gWGVuIGNvZGViYXNlLA0K
Pj4+PiBidXQgeWVhaCwgX19pMzg2X18gaXMgb3V0ZGF0ZWQgbm93Lg0KPj4+PiBJJ2xsIHJlbW92
ZSBpdC4NCj4+Pj4NCj4+Pj4+Pg0KPj4+Pj4+IEFuZCB3aHkgdGhpcyByZXN0cmljdGlvbiB3aXRo
b3V0IGFueSBjb21tZW50IGhlcmUgb3IgLi4uDQo+Pj4+Pj4NCj4+Pj4+Pj4gK3N0YXRpYyB2b2lk
IF9faW5pdCBfX21heWJlX3VudXNlZCBidWlsZF9hc3NlcnRpb25zKHZvaWQpDQo+Pj4+Pj4+ICt7
DQo+Pj4+Pj4+ICvCoMKgwqAgLyoNCj4+Pj4+Pj4gK8KgwqDCoMKgICogVG8gY29uZmlybSBjb252
ZXJzaW9uIGNvbXBhdGliaWxpdHkgYmV0d2VlbiB1bnNpZ25lZCBsb25nLA0KPj4+Pj4+PiAodm9p
ZCAqKQ0KPj4+Pj4+PiArwqDCoMKgwqAgKiBhbmQgZnVuY3Rpb24gcG9pbnRlcnMgZm9yIFg4NiBh
bmQgQVJNIGFyY2hpdGVjdHVyZXMgb25seS4NCj4+Pj4+Pg0KPj4+Pj4+IC4uLiBleHBsYW5hdGlv
biBoZXJlPyBNb3JlIGdlbmVyYWxseSAtIGhvdyB3b3VsZCBwZW9wbGUga25vdyB0byB1cGRhdGUN
Cj4+Pj4+PiB0aGUgY29uZGl0aW9uIGlmIGFub3RoZXIgcG9ydCB3YXMgdG8gYmUgY2VydGlmaWVk
Pw0KPj4+Pj4+DQo+Pj4+Pj4gRmluYWxseSwgd2l0aCB0aGUgdjMgYWRkaXRpb24gaGVyZSwgaXMg
Tmljb2xhJ3MgUi1iIHJlYWxseSBzdGlsbA0KPj4+Pj4+IGFwcGxpY2FibGU/DQo+Pj4+Pj4NCj4+
Pj4+DQo+Pj4+PiBJIGFncmVlIHdpdGggdGhlIHBvaW50IHlvdSBtYWtlIGFib3V0IGkzODYgKGUu
Zy4sIEMtbGFuZ3VhZ2UtDQo+Pj4+PiB0b29sY2hhaW4ucnN0IG1heSBiZSBtZW50aW9uZWQgdG8g
cHJvdmlkZSBzb21lIGNvbnRleHQgYWJvdXQgdGhlDQo+Pj4+PiBwcmVwcm9jZXNzb3IgZ3VhcmQp
OyB0aGF0IHNhaWQsIG15IFItYnkgY2FuIGJlIHJldGFpbmVkDQo+Pj4+Pg0KPj4+Pj4+IEphbg0K
Pj4+Pj4+DQo+Pj4+Pj4+ICvCoMKgwqDCoCAqLw0KPj4+Pj4+PiArDQo+Pj4+Pj4+ICvCoMKgwqAg
QlVJTERfQlVHX09OKHNpemVvZih1bnNpZ25lZCBsb25nKSAhPSBzaXplb2Yodm9pZCAoKikodm9p
ZCkpKTsNCj4+Pj4+Pj4gK8KgwqDCoCBCVUlMRF9CVUdfT04oc2l6ZW9mKHZvaWQgKikgIT0gc2l6
ZW9mKHZvaWQgKCopKHZvaWQpKSk7DQo+Pj4+Pj4+ICt9DQo+Pj4+Pj4+ICsjZW5kaWYNCj4+Pj4+
Pj4gKw0KPj4+Pj4+PiAgIMKgLyoNCj4+Pj4+Pj4gICDCoCAqIExvY2FsIHZhcmlhYmxlczoNCj4+
Pj4+Pj4gICDCoCAqIG1vZGU6IEMNCj4+Pj4+DQo+Pj4+DQo+Pj4+IEFuZCBwcm9iYWJseSB2NCBj
YW4gaGF2ZSB0aGUgZm9sbG93aW5nIHdvcmRpbmc6DQo+Pj4+DQo+Pj4+IC8qDQo+Pj4+ICAgICAq
IFRoaXMgYXNzZXJ0aW9uIGNoZWNrcyBjb21wYXRpYmlsaXR5IGJldHdlZW4gJ3Vuc2lnbmVkIGxv
bmcnLCAndm9pZCAqJywNCj4+Pj4gICAgICogYW5kIGZ1bmN0aW9uIHBvaW50ZXJzLiBUaGlzIGlz
IHRydWUgZm9yIFg4NiAoeDg2XzY0KSBhbmQgQVJNIChhcm0sDQo+Pj4+IGFhcmNoNjQpDQo+Pj4+
ICAgICAqIGFyY2hpdGVjdHVyZXMsIHdoaWNoIGlzIHdoeSB0aGUgY2hlY2sgaXMgcmVzdHJpY3Rl
ZCB0byB0aGVzZS4NCj4+Pj4gICAgICoNCj4+Pj4gICAgICogRm9yIG1vcmUgY29udGV4dCBvbiBh
cmNoaXRlY3R1cmUtc3BlY2lmaWMgcHJlcHJvY2Vzc29yIGd1YXJkcywgc2VlDQo+Pj4+ICAgICAq
IGRvY3MvbWlzYy9DLWxhbmd1YWdlLXRvb2xjaGFpbi5yc3QuDQo+Pj4+ICAgICAqDQo+Pj4+ICAg
ICAqIElmIFhlbiBpcyBwb3J0ZWQgdG8gYSBuZXcgYXJjaGl0ZWN0dXJlLCB2ZXJpZnkgdGhhdCB0
aGlzDQo+Pj4+IGNvbXBhdGliaWxpdHkgaG9sZHMNCj4+Pj4gICAgICogYmVmb3JlIGFkZGluZyBp
dHMgbWFjcm8gdG8gdGhlIGNvbmRpdGlvbiBiZWxvdy4gSWYgdGhlIGNvbXBhdGliaWxpdHkNCj4+
Pj4gZG9lcyBub3QNCj4+Pj4gICAgICogaG9sZCwgdGhpcyBhc3NlcnRpb24gbWF5IG5lZWQgdG8g
YmUgcmV2aXNlZCBvciByZW1vdmVkIGZvciB0aGF0DQo+Pj4+IGFyY2hpdGVjdHVyZS4NCj4+Pj4g
ICAgICovDQo+Pj4NCj4+PiBFeGNlcHQgdGhhdCB0aGlzIGRvZXNuJ3QgYWRkcmVzcyBteSBjb25j
ZXJuLiBJbW8gdGhlIGNoZWNrcyB3YW50IHRvIGJlIHRoZXJlDQo+Pj4gdW5jb25kaXRpb25hbGx5
LCBhbmQgcG9ydHMgd2hlcmUgdGhleSdyZSBfbm90XyBhcHBsaWNhYmxlIHdvdWxkIHRoZW4gbmVl
ZA0KPj4+IGV4Y2x1ZGluZyAod2l0aCBzdWl0YWJsZSBjb21tZW50YXJ5IGFuZC9vciBhbHRlcm5h
dGl2ZSBjaGVja3MpLg0KPj4+DQo+Pj4gSmFuDQo+Pg0KPj4gT2ssIGJlbG93IGlzIHRoZSB1cGRh
dGVkIGxvZ2ljOg0KPj4NCj4+IC8qDQo+PiAgICAqIFRoaXMgYXNzZXJ0aW9uIGNoZWNrcyBjb21w
YXRpYmlsaXR5IGJldHdlZW4gJ3Vuc2lnbmVkIGxvbmcnLCAndm9pZCAqJywNCj4+ICAgICogYW5k
IGZ1bmN0aW9uIHBvaW50ZXJzLiBUaGlzIGlzIHRydWUgZm9yIG1vc3Qgc3VwcG9ydGVkIGFyY2hp
dGVjdHVyZXMsDQo+PiAgICAqIGluY2x1ZGluZyBYODYgKHg4Nl82NCkgYW5kIEFSTSAoYXJtLCBh
YXJjaDY0KS4NCj4+ICAgICoNCj4+ICAgICogRm9yIG1vcmUgY29udGV4dCBvbiBhcmNoaXRlY3R1
cmUtc3BlY2lmaWMgcHJlcHJvY2Vzc29yIGd1YXJkcywgc2VlDQo+PiAgICAqIGRvY3MvbWlzYy9D
LWxhbmd1YWdlLXRvb2xjaGFpbi5yc3QuDQo+PiAgICAqDQo+PiAgICAqIElmIHBvcnRpbmcgWGVu
IHRvIGEgbmV3IGFyY2hpdGVjdHVyZSB3aGVyZSB0aGlzIGNvbXBhdGliaWxpdHkgZG9lcw0KPj4g
bm90IGhvbGQsDQo+PiAgICAqIGV4Y2x1ZGUgdGhhdCBhcmNoaXRlY3R1cmUgZnJvbSB0aGVzZSBj
aGVja3MgYW5kIHByb3ZpZGUgc3VpdGFibGUNCj4+IGNvbW1lbnRhcnkNCj4+ICAgICogYW5kL29y
IGFsdGVybmF0aXZlIGNoZWNrcyBhcyBhcHByb3ByaWF0ZS4NCj4+ICAgICovDQo+PiBzdGF0aWMg
dm9pZCBfX2luaXQgX19tYXliZV91bnVzZWQgYnVpbGRfYXNzZXJ0aW9ucyh2b2lkKQ0KPj4gew0K
Pj4gICAgICAgLyoNCj4+ICAgICAgICAqIEV4Y2x1ZGUgYXJjaGl0ZWN0dXJlcyB3aGVyZSBmdW5j
dGlvbiBwb2ludGVycyBhcmUgbGFyZ2VyIHRoYW4NCj4+IGRhdGEgcG9pbnRlcnM6DQo+PiAgICAg
ICAgKiAtIElBLTY0OiB1c2VzICdmYXQnIGZ1bmN0aW9uIHBvaW50ZXJzIChjb2RlIGFkZHJlc3Mg
KyBnbG9iYWwNCj4+IHBvaW50ZXIpDQo+PiAgICAgICAgKi8NCj4+ICNpZiAhZGVmaW5lZChfX2lh
NjRfXykNCj4+ICAgICAgIEJVSUxEX0JVR19PTihzaXplb2YodW5zaWduZWQgbG9uZykgIT0gc2l6
ZW9mKHZvaWQgKCopKHZvaWQpKSk7DQo+PiAgICAgICBCVUlMRF9CVUdfT04oc2l6ZW9mKHZvaWQg
KikgIT0gc2l6ZW9mKHZvaWQgKCopKHZvaWQpKSk7DQo+PiAjZW5kaWYNCj4+IH0NCj4gDQo+IEkg
d291bGQgb21pdCBhcmNoaXRlY3R1cmVzIHdlIGRvbid0IHN1cHBvcnQsIHRob3VnaC4gSSBnYXZl
IElBLTY0IGFzIGFuDQo+IGV4YW1wbGUgd2hlcmUgdGhpbmdzIGFyZSBtb3JlIGNvbXBsaWNhdGVk
IChhbGJlaXQgaWlyYyB0aGUgY2hlY2tzIHdvdWxkIHN0aWxsDQo+IHN1Y2NlZWQgdGhlcmUpLiBI
b3dldmVyLCBJIGRpZG4ndCBleHBlY3QgYW55IHRyYWNlIG9mIGl0IHRvIGJlIGFkZGVkIHRvIHRo
ZQ0KPiBjb2RlIGJhc2UgKGFnYWluKS4NCj4gDQo+IEphbg0KDQpXZWxsLCBsb29rcyBsaWtlIG9u
bHkgX19wb3dlcnBjX18gbWF0Y2hlcyB0aGVzZSBjcml0ZXJpYXMuDQpBdCBsZWFzdCwgSSBzZWUg
aXQgaW4gJ3hlbi9hcmNoJy4NCg0KQnV0LCB0aGlzIGFzc2VydGlvbiBkaWRuJ3QgdHJpZ2dlciBi
dWlsZCB0byBmYWlsLCB3aGVuIEkgcnVuIENJOg0KaHR0cHM6Ly9naXRsYWIuY29tL3hlbi1wcm9q
ZWN0L3Blb3BsZS9kaW1hcHJrcDRrL3hlbi8tL2pvYnMvMTE4MjI5NDA4ODQNCmJlY2F1c2UgUFBD
NjQgcG9pbnRlciBzaXplIGlzIDY0LWJpdHMgKGFjY29yZGluZyB0byB0aGUgDQpDLWxhbmd1YWdl
LXRvb2xjaGFpbi5yc3QpLg0KDQpJbiBhbnkgY2FzZSB0aGUgX19wb3dlcnBjX18gaXMgb3V0IG9m
IHNjb3BlIG9mIGNlcnRpZmljYXRpb24sIHNvIHRoaXMgDQphcmNoaXRlY3R1cmUgc2hvdWxkIGJl
IGV4Y2x1ZGVkLg0KDQpEbXl0cm8uDQoNCg==


From xen-devel-bounces@lists.xenproject.org Thu Oct 23 16:16:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 16:16:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1149480.1481135 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBxyw-00059Z-73; Thu, 23 Oct 2025 16:16:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1149480.1481135; Thu, 23 Oct 2025 16:16:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBxyw-00059S-3l; Thu, 23 Oct 2025 16:16:06 +0000
Received: by outflank-mailman (input) for mailman id 1149480;
 Thu, 23 Oct 2025 16:16: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
 <SRS0=sFMh=5A=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1vBxyu-00059B-K9
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 16:16:04 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8f39986c-b02b-11f0-980a-7dc792cee155;
 Thu, 23 Oct 2025 18:15:58 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 (Authenticated sender: nicola)
 by support.bugseng.com (Postfix) with ESMTPA id B09F34EEBEA4;
 Thu, 23 Oct 2025 18:15:56 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8f39986c-b02b-11f0-980a-7dc792cee155
Authentication-Results: bugseng.com; arc=none smtp.remote-ip=162.55.131.47
ARC-Seal: i=1; d=bugseng.com; s=openarc; a=rsa-sha256; cv=none; t=1761236156;
	b=ndS2bkNDFM1LpBtmINmlY3hE6f9mleleXmDX0AhUa4H5CVsW+IiL5DoOmrwR+dN/OZ49
	 HLtH2I1WRae4QGWSTvk2yNay00xtOPyve4OIAZJy6mmcm7pqdsJ8ry2tNLhZ5IktQDDPm
	 N3vZyeMQ2eq+s7yDL/7UZdKa5I5NEWgGHBQsUS9bSt0gCBpVYf1hMPiKzyuGoxQq+i/+3
	 PFxE1IvRoHFvS80GB4cWE752jwiDiioo7Jwwm/sbSt4ImuzDjFeudsz28Kcb65ac4DExj
	 jOfczaj6JKRLgwWqT5TQKgg4xQYYf4M7v5JCiJ8q7FMFsLMwKQRrxL2btQgzG24+0T94h
	 NzgrHt8uffsISEuVCsEvwC7LTtuEOngym6KjJ7IsWPWesZwj6hYngdgGIsDXfNiURHI9Q
	 kFQIprNxTe9P2iujbneu8UzYLmYfC/37TfM5ptHPSitlIwpPrFz6wD6JldiyHjxPc4E0r
	 em8xaHcoltr/Jekheyf3AVb8NckpvbnKjDf+fMNqJO1XphUCEldC/3MsSBE/Tp7UtGGna
	 Dex8eKyzCKx+GrWSOsB8ctTFokMsuBEKWakQYwPwpQsPS9wrkgia72dE9fKN7fb6k9llD
	 ZfYvU8PCSnmR1SbfrKvSV4rd5TwtrKTGfhX9R3TbunwINCbIKGHiGdwjstblPto=
ARC-Message-Signature: i=1; d=bugseng.com; s=openarc; a=rsa-sha256;
	c=relaxed/relaxed; t=1761236156;
	h=DKIM-Signature:MIME-Version:Date:From:To:Cc:Subject:In-Reply-To:
	 References:Message-ID:X-Sender:Organization:Content-Type:
	 Content-Transfer-Encoding;
	bh=UozdKfoZsjAi+/92oPIl9SJW0PZ3oD10egncKYftKFg=;
	b=OXPgxvijBUTqrpUiNibTzrHxJgzSdix7irsm1Ar6nkXhi5vHt5UoP9ut6GTiL/PvTI1H
	 Bv/Fd0K6ve28lZ6B00RDHq674hlr7MbAsBFjE4PdQMkRQmNDaoZZONemZmktHa2ySnGuJ
	 cxh7IZS+GcknBtEQwzQ9wTDKq1NXVZRFLSCIik0rjRt8tkcLvUj8UIOJL9O6XDA1AQe12
	 a+ttFhb+SMXInlVaLkHQoSO0ywXttFBowXiMTFdLPAZc/rHFir/lvryuiulgWxo0VuX6j
	 BGpn7M+HdVgGpkT5r4FR+Tf/l7j+4FByjWx/Uv2ZWMtg+quxUVZS7YH+AJWCtJF8KdpCd
	 lMNoCdNs37KujEPw+W7YbkkKXJZY2nZIC2EKrjtS3t9GglAJd32hD4USmosCRmCeBsKmB
	 zdf+o6ZbC6CziYXhe9r+2X9LN7MJXf26jcXTj5ACKPs61AhkzBcYrasksl+jbH9Jiv4AJ
	 yOFo7xp/pG7SpnZRulN4hZ3qmhywNhcV7qhucXL27EX6857MMwgAfFtATXuTISeuxeOYE
	 6rDprsG/UIgNUBY0r/l2MTS40aEP/S9a3DgiR2TpRGKGZtgpiQNdws25nKLOuKqs0moA5
	 8MZHVQCRYEc5I/SC1AjosFF0+LqBRQM8ZFqUJSdOZp1tuWcb4AaEzScGvNLzuMM=
ARC-Authentication-Results: i=1; bugseng.com; arc=none smtp.remote-ip=162.55.131.47
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1761236156; bh=D0IP52VtNGa/zU+9XHpZbqM0sChmjlulCvDlK9urYtc=;
	h=Date:From:To:Cc:Subject:In-Reply-To:References:From;
	b=lvrrwheMgP2hBtrc7NBLxnyZLGmLANxms5/a5eyfm1Tw0dDtMliy0O92UAcKTsp8w
	 a2LgVtEA5Kk1xsWOkOFl2WB97bvtRcaBZIhcfjo53TOVdCOGTsZdhRdFOLCqhREitm
	 Yf8Owd0SsvgtYwhDI/VdpaPKAKuy5Iw1c9mQ3mr2ZehDvi5e96Lv5fKRgIxAy2i6Ma
	 id2vNEMLR+Y7cc0ID3UlUdqNtEFumVysec/tMi0WjmKKpREfA+A9da5GunIsvZSyRP
	 WM1R5DPgWHu0szwgwdgT6in8+oYKdUBS406LYzjDmuzQ4zaFX3eDsMnaTqwj5D1e2M
	 UByFHEv/bPMlw==
MIME-Version: 1.0
Date: Thu, 23 Oct 2025 18:15:56 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn?=
 =?UTF-8?Q?=C3=A9?= <roger.pau@citrix.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Grygorii Strashko <grygorii_strashko@epam.com>,
 xen-devel@lists.xenproject.org
Subject: Re: [XEN][PATCH] x86/hvm: vlapic: move vlapic_set_ppr/apicv_write()
 under CONFIG_INTEL_VMX
In-Reply-To: <e45956c8-89de-4c5e-a5ef-12bc5daa0fe1@suse.com>
References: <20251023152036.561109-1-grygorii_strashko@epam.com>
 <a6b61e9b-e1c2-472f-95d6-05b114b201d2@citrix.com>
 <e45956c8-89de-4c5e-a5ef-12bc5daa0fe1@suse.com>
Message-ID: <e8f4631272fd390b1e0db00ee96f1bd2@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=UTF-8;
 format=flowed
Content-Transfer-Encoding: 8bit

On 2025-10-23 17:37, Jan Beulich wrote:
> On 23.10.2025 17:30, Andrew Cooper wrote:
>> On 23/10/2025 4:20 pm, Grygorii Strashko wrote:
>>> From: Grygorii Strashko <grygorii_strashko@epam.com>
>>> 
>>> Functions:
>>>  - vlapic_apicv_write()
>>>  - vlapic_set_ppr()
>>> are used by Intel VMX code only, so move them under CONFIG_INTEL_VMX 
>>> ifdef.
>>> 
>>> Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
>> 
>> Yes and no.Â  Yes right now, but this is needed for AMD AVIC, which I
>> understand is one one of the plans.
>> 
>> Throwing #ifdef's around like this in common files is fragile and will
>> lead to a randconfig nightmare.
>> 
>> There is an alternative which ought to work.Â  Turning on
>> -ffunction-sections (we already have this for livepatching), and
>> implementing link time --gc-sections (new work).
>> 
>> That way, the compiler/linker simply drops functions that are not
>> referenced in the final binary.
>> 
>> Personally I think it will be far nicer and more scalable than the
>> #ifdefary, (not to mention far easier - it gets rid of everything
>> unreferenced with one fell swoop).
>> 
>> Thoughts?
> 
> We'd need to have Misra buy-off on such an approach. I'm not sure if 
> Eclair's
> scanning would take --gc-sections effects into account.
> 
> Jan

Currently it doesn't, but we do have plans to implement something 
similar in the future. What might help in the meantime is using ECLAIR 
Code Scout to tag and hide unused program entities. Not sure if the 
mailing list is the best place to present the idea, but I'd be happy to 
illustrate it in a community call or something similar.

Basically the idea is that if something is possibly reachable it will be 
captured by Code Scout, and then a second analysis can use that input to 
selectively find and tag (e.g. "unused") the definitely unreachable 
entities. This could be limited to functions for instance, and then when 
the rule for unreachable code finds something unreachable, it can be 
silenced selectively for tagged functions, because we know that these 
are unreachable due to that reason. It's not 1:1 with the --gc-sections 
behaviour, but realistically it's much closer without resorting to 
#ifdefary all over the place.

-- 
Nicola Vetrini, B.Sc.
Software Engineer
BUGSENG (https://bugseng.com)
LinkedIn: https://www.linkedin.com/in/nicola-vetrini-a42471253


From xen-devel-bounces@lists.xenproject.org Thu Oct 23 17:52:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 17:52:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1149527.1481146 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBzTW-0000KL-Ob; Thu, 23 Oct 2025 17:51:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1149527.1481146; Thu, 23 Oct 2025 17:51:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBzTW-0000KE-Lf; Thu, 23 Oct 2025 17:51:46 +0000
Received: by outflank-mailman (input) for mailman id 1149527;
 Thu, 23 Oct 2025 17:51:45 +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
 <SRS0=YwCF=5A=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1vBzTV-0000K7-IU
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 17:51:45 +0000
Received: from sea.source.kernel.org (sea.source.kernel.org [172.234.252.31])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ec5b7cfa-b038-11f0-980a-7dc792cee155;
 Thu, 23 Oct 2025 19:51:40 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sea.source.kernel.org (Postfix) with ESMTP id 158474465D;
 Thu, 23 Oct 2025 17:51:37 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id C710DC4CEE7;
 Thu, 23 Oct 2025 17:51:35 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ec5b7cfa-b038-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1761241896;
	bh=gn6UH8np+oYtcgbB1GF2veKUFHfEzZ0+5+K6zjrqUyg=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=mUKWOtRX+LsL3nm9z/l4hJ2U1TobCP8gDawYG1mKxBmkrYmP3wj202FzJaWgWwYDI
	 dSrsF/6zTbthOB7zjoORG0iyUYM9FVcWBUHpHKDD/6cSZj/uyxk6JqW7Y8FIOKn1GR
	 pljf28/H1F5Ix1858lo04PnE/LxYedTx3VdtQlopaaBkBaKnmWtCc4IxCC3RQauFa4
	 32byro11YpXqS++jbWYWEeNjVyDpwZQ4cpqE0wS/0A3okqx2fO2WhSnaEVS3Sksw+f
	 tQpJ1tvjessbPHWE2Hrjo3AYG4Ya55Sjfnm3GIn4jzvQbF4koH0QQxMxJNwEXuVOm0
	 B36NGk30EpoIg==
Date: Thu, 23 Oct 2025 10:51:34 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: oleksii.kurochko@gmail.com
cc: xen-devel@lists.xenproject.org, jbeulich@suse.com, 
    andrew.cooper3@citrix.com, roger.pau@citrix.com, 
    oleksii.kurochko@gmail.com, sstabellini@kernel.org
Subject: Re: [PATCH 0/2] xen: randconfig fixes
In-Reply-To: <alpine.DEB.2.22.394.2510221616570.495094@ubuntu-linux-20-04-desktop>
Message-ID: <alpine.DEB.2.22.394.2510231051270.495094@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2510221616570.495094@ubuntu-linux-20-04-desktop>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

Hi Oleksii,

The two patches solved the problem and survived 1000 iterations on
gitlab. They are reviewed and acked.

Can I go ahead and commit them to staging so that they will be in RC3?

Cheers,

Stefano


On Wed, 22 Oct 2025, Stefano Stabellini wrote:
> Hi all,
> 
> I tested the two fixes together for 1000 randconfig build tests here:
> https://gitlab.com/xen-project/people/sstabellini/xen/-/pipelines/2114931367
> 
> And also locally on my workstation for a full day successfully.
> 
> 
> Jan Beulich (1):
>       x86/mm: correct PG_log_dirty definition again
> 
> Stefano Stabellini (1):
>       xen: fix randconfig build problems after introducing SYSCTL
> 
>  xen/arch/x86/hvm/Kconfig          | 1 +
>  xen/arch/x86/include/asm/paging.h | 2 +-
>  xen/common/Kconfig                | 1 +
>  xen/include/hypercall-defs.c      | 4 ++--
>  4 files changed, 5 insertions(+), 3 deletions(-)
> 


From xen-devel-bounces@lists.xenproject.org Thu Oct 23 18:00:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 18:00:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1149537.1481155 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBzbn-00020F-Gz; Thu, 23 Oct 2025 18:00:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1149537.1481155; Thu, 23 Oct 2025 18:00:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vBzbn-000208-Dz; Thu, 23 Oct 2025 18:00:19 +0000
Received: by outflank-mailman (input) for mailman id 1149537;
 Thu, 23 Oct 2025 18:00:17 +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
 <SRS0=hBmZ=5A=epam.com=dmytro_prokopchuk1@srs-se1.protection.inumbo.net>)
 id 1vBzbl-000202-Pg
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 18:00:17 +0000
Received: from AM0PR83CU005.outbound.protection.outlook.com
 (mail-westeuropeazlp170100001.outbound.protection.outlook.com
 [2a01:111:f403:c201::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 214e86f2-b03a-11f0-9d15-b5c5bf9af7f9;
 Thu, 23 Oct 2025 20:00:16 +0200 (CEST)
Received: from DB7PR03MB4140.eurprd03.prod.outlook.com (2603:10a6:5:34::10) by
 VI1PR03MB6159.eurprd03.prod.outlook.com (2603:10a6:800:141::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.13; Thu, 23 Oct
 2025 18:00:12 +0000
Received: from DB7PR03MB4140.eurprd03.prod.outlook.com
 ([fe80::e16e:b655:974f:43f3]) by DB7PR03MB4140.eurprd03.prod.outlook.com
 ([fe80::e16e:b655:974f:43f3%4]) with mapi id 15.20.9253.011; Thu, 23 Oct 2025
 18:00:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 214e86f2-b03a-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=L2MHE5U6yBxxz/w0Er2H3Ulz4mhRAhUcEh1V1wtPNVsp9foxwYWkxY11/h/diNoZm4Zl4GnaUxuOli6lKxhYbnOY7nwOMzyATrPG0BRoFD5VuWk7A55CWPkEg8k1EGV23iKg5XT2yi39SexNMe813fcJOVIJO9puVk7IkJs0N7ZZLen9YvVB2JJesD6mZwD/YrHM8YQdomKiT9lKy7yZq+/Hm1+JqtWpH86TZQDjnLrwjqu+zZrQPrHBkToA9Z1zpgfCFOC7B/zqUurAGal2FGAuw90zldD3zEzBQEq0lzQ2uZ2VQOCHMOWVEDKLHDbASmPDC/y/191BkL/jdDf2wg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=oxktiCwG7SjR7vO9m0WseD9BnXWQ15fGx/2XbUPLGjE=;
 b=UfmUqU/vsya5N7Zp97foemKn0iMgFHxYPngT3xfVI/Lc48Loi3HLZ1XxrEqrGmK1/GWYba2VvVIqWRqGDt44oMKWMS5de8zNeGtmvdfhsXJ9k3U/gpvAIvG0ZC/+vgAqI+mvMAz1tNXRTaHT1GUnbfRYqd4aoW7nX4fmDOkai4Iug5YuTRVpiiqBGf41ssjo9kC8E/oJJyRIoKwldAvdkPF+MWD+qwlpFPocPDXwHk0tPtGA9l7aIjh1b/eNz6wzdDyQmJ1bZcXn1cwj/40U7JFkNqIdg6pjRKfQ10YagGq6bANJZhsHBs58JDTFVqcfvk9dRPorXH7FY/KQLkFr2Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=oxktiCwG7SjR7vO9m0WseD9BnXWQ15fGx/2XbUPLGjE=;
 b=M6vurIc33X+AqWBK6JzpbxTmI4r7GiXalIoHJK64oxAf4oAzYvrnljRpl7IUwn6tR9cqesVa7eyzZ1szCj41aboP/1gScccXzDcoeNLSvO8LlarWQ/hzoACtN4j58aoSTOh2mLA/Xdf/xxdU/GDWZKLlODCeXlkQ4GPOpqed2UTKVGiHphGQiXFd8r731B8EY4091XlL5lBAOB3JdQk4GuBy8R3mNbR9/040MjF4Ov4PszTop4BP0mr92NRyLWfjg3EPWy18k69jujOaEMTKfX2jTM9WHvkCuL2gYCDFe9OKyRacP5AOSWizQPgoB1pXxGwlwuKV/xEVy2ViTdZUEg==
From: Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>, Julien
 Grall <julien@xen.org>, =?iso-8859-1?Q?Roger_Pau_Monn=E9?=
	<roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>, Bertrand
 Marquis <bertrand.marquis@arm.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>
Subject: [PATCH] misra: address Rule 11.3 for NextMemoryDescriptor macro
Thread-Topic: [PATCH] misra: address Rule 11.3 for NextMemoryDescriptor macro
Thread-Index: AQHcREbgd161cNZLPEqc4+KUMk5T6A==
Date: Thu, 23 Oct 2025 18:00:12 +0000
Message-ID:
 <78112778d6fd5f720f7102db7125c844b747a962.1761242341.git.dmytro_prokopchuk1@epam.com>
Accept-Language: en-US, uk-UA, ru-RU
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DB7PR03MB4140:EE_|VI1PR03MB6159:EE_
x-ms-office365-filtering-correlation-id: a3e35332-cbe4-4cae-0f1f-08de125e0376
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|1800799024|376014|366016|42112799006|38070700021;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?y43vzDBRxArVtoxR6xCgqUQACN3+IF/dyFaodoZbPK7xrCBpeF278RRGGH?=
 =?iso-8859-1?Q?tP4IfEYLaxbVDLUuQ1LgfkhwFPqU82RAkVZI93o25VEuAW2igdd47uGNst?=
 =?iso-8859-1?Q?J7wrmDFnjfaOotC5/LbWZQIuqbTrzZgWRAkRWu5+aUY5pnB2Y+vcIK65h5?=
 =?iso-8859-1?Q?GPoybVfvOV5dFw1zNl0rb4Ba4Zpq89aTuUmKs5Ol0fQ1WMGsWJYecjXrUy?=
 =?iso-8859-1?Q?WyblNSPZPurflrqdquBjKWW6O1OmhnIeuE1CfMC41sD1ZQ6zKvWGE3jCh9?=
 =?iso-8859-1?Q?QxRDovL5F7hTcRU+l9Ut8yfAr0HZKHuybSXxXwLXvT2R9t28RUNgkMoLgj?=
 =?iso-8859-1?Q?1oSfhl3LyJV9etg4ZMfNsSsljnzvr6oaOVl5yvOYGWQBgOWUw5i0E8evqW?=
 =?iso-8859-1?Q?aN/shZJlbFHGrxw59yBQcQSbbHABQSgvYwnp4yg2bafbCRlVD80+d48x8g?=
 =?iso-8859-1?Q?bbvfkJtOQ8SziY3UycA+oMyToL9QziYi0G77G3yHWCEfAbzkLYV29i5XsP?=
 =?iso-8859-1?Q?OUlFXqHwMsK2HeAIFE761NZ4MPLnyGv9V93angqzCgdQKvyvMPyJp+6p0x?=
 =?iso-8859-1?Q?i258Zg90VzU9bgsAlIUCt4ugVbSIznsxi+3jz5sp4xkbzme9gwdMvUCzLb?=
 =?iso-8859-1?Q?7G+S7THKn1Q15EYgXbtUUMI0J2z/hpPnME89iK8Wc3Ph71bRtavD8ew50X?=
 =?iso-8859-1?Q?Qxf28Xd2zelj5etJzuRKJArzDtAk2uD4WCBNPobCkQ2YhR3hfWAmWKSxRx?=
 =?iso-8859-1?Q?E2W4qkqsUj4aB7oPhajwabjMbZ0qb+69T1QUqZtfvtLuJV+c9i0hZEuc7U?=
 =?iso-8859-1?Q?NqVRYWYX4iNmSX3c/Xxu3zYR66CXrp1zqeBaJMrSlSdRtnWU8qhFLtJ7dF?=
 =?iso-8859-1?Q?pjCduIRj9Du/5V6DitIaDYK1sscktNy4zkliuUUHCM1FnwJMFnCTrdIo10?=
 =?iso-8859-1?Q?LtdeNH2bWEUEPvre6FDN/ADv8/olHJNjR+AJ03LmAm978G2WrqhUbu/H/V?=
 =?iso-8859-1?Q?GiFlw9dx7UV2KztWEYY6yV96kFO86ffkoasGthY3D7RxHeVP3DYO8uyFgv?=
 =?iso-8859-1?Q?ox94yBuZDDPSIae7AdSgDXCEwUW8Gr3TC7irJGgECtzGd/zZ5CbKgOmxo2?=
 =?iso-8859-1?Q?dEtrit0gcA2eTFUApeu0A02zqZ2pp1kuys/E3J2h0PV9ZrDuHJ/cXxmHqM?=
 =?iso-8859-1?Q?R3ou+t1SAGUxZPesWuQODQ2pycWpAptMQxX5wYBYoC9AtgDpV6eMyeK50O?=
 =?iso-8859-1?Q?LTQvuDetxdZITjeuL0L179DB+n6CUKhdkeucuAe4izk7y/5mpgkOU6lQSe?=
 =?iso-8859-1?Q?vW2esf/xrVA/lWvBhiu/kjgQ0meBtqxLZuWHVnQrd+65DQmr9Jbftj96mn?=
 =?iso-8859-1?Q?z6I6zwcGEBYJOmuIwjHTVjG6NkOKtfTC27I2teEgIl5PkRQoW1y2DC3VKS?=
 =?iso-8859-1?Q?lUthaluag/cXdC6F7WEALmgqDr95JY4/I2Ocy1TB7mM81mjSs7g19lqPlz?=
 =?iso-8859-1?Q?3TzThe23fSd5tpqkYpM2NluH04aDlpn2qnbMuPg55X8Z0gotGdAEHPbSLP?=
 =?iso-8859-1?Q?AnQe0u8Wir5yT++Hzq+NC0B/+pzD?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB7PR03MB4140.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(42112799006)(38070700021);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?JIHrXU7xYK+M15GaVoIkjtjBt2G7HThavv8OGhFwf5EEzEMPNMdaFCTF+B?=
 =?iso-8859-1?Q?M4+lU567vxT+pi8TikeOfEUmKSCpepkTzprtOl98E5JU6bDCkNgOI5uB8c?=
 =?iso-8859-1?Q?WI4X3LEc7fXGCY+Ue6Ur/hViKDw0fVXgCE8ZfuP8v+sPcGM2kjD+v1yHGP?=
 =?iso-8859-1?Q?FCDAsKYCnrb6cen82kXOUIVGmRdhF8mBCy2Z8MvJGxuUh80slWAxC5ItqW?=
 =?iso-8859-1?Q?Tzb6R3RXLtvWllNw5i0lBwk0CMO8d1SlN2T+f31tM6nNFm9eJlucSvRdpU?=
 =?iso-8859-1?Q?HOiBxuPY7NDdVimx0DdBSlzO5CxSijPVOC+GfcFvPmDUO/T4B7/2p0AEVB?=
 =?iso-8859-1?Q?gnk09C8OvkdwfGQbh+rpp0UqkrT1INkiBUAfV/KEmO24aMVz48PRlWb0U7?=
 =?iso-8859-1?Q?obyNo3Hp7XV990AqaqL5NpDjadhdugR8hXaVn2olpKaur1ObgexuRJj2t+?=
 =?iso-8859-1?Q?YuwQf3w+zvNSWXodtQMqf6dg4YzLxplqA4F7rZQaV6krYwFL8coL/qKsUp?=
 =?iso-8859-1?Q?lYkx0BR2eXq4K6Jlnlw3J/mz13CKi/WgteQ4zHWnzKy6zZTiUNkv9TwWz0?=
 =?iso-8859-1?Q?WA8gQGB5uqa+KfjwKfNc99yf6fOHkhy0tNKyzO9VQat5A333/espLW2Gu8?=
 =?iso-8859-1?Q?F1UahxR/3k7p4hUlbAfieiUUVbFH1N8UzirsS9+SLQzrylL+6pegGTl6NH?=
 =?iso-8859-1?Q?iDOnGkDhx9JSIn1lWhtSyaklqWDkw97ibM6e65C2cEeQYBiDV0WsNjM+KU?=
 =?iso-8859-1?Q?zkulzUH380T32sopoJJ40mDAqB3T6uaxPcqMOIgvgAxTn2WQ6ueM+hY/4+?=
 =?iso-8859-1?Q?TFSsiaHjwX10o1G5jkAZ7c/3vaBUFrbkCDQsEZ0ja6IGi1GLwUShKf0/Ms?=
 =?iso-8859-1?Q?1otXcq6UDz1+i5VnZdD/V/Br/Fii+forFfyAd3G3+vbF0YyAQ72039vyi/?=
 =?iso-8859-1?Q?clUZgWLwVtnmb9Rpz/lyGgfYMGql3/St4bz/U2KoZgWqNBN/2QUoLKk/8i?=
 =?iso-8859-1?Q?OJ6yYtS/rp+Y2PlVMYBSA4uhLHiGLupI16VzVzJS7B9wNZ34ubXhtCk216?=
 =?iso-8859-1?Q?8yMoDOd8KSG3NcbRkCvE4IiHc3zGCqtBaC8finNe8AMISj+RdZseGRV2HA?=
 =?iso-8859-1?Q?ir/dbUnDJvgkWqn4q6QUIbEppfwHD/t3nWwkTjmeAiwQHcoMP7PpksST08?=
 =?iso-8859-1?Q?Kpd5T62TnWP0XMvAvXMkjbeQGdqG3t4F5P7RPjP/Cf7xt9FofsFxZt6PfC?=
 =?iso-8859-1?Q?vfI7qDr1D3pKs9oj8HtWMxgD6CkRxYduwtg2fC04N9gks0Fdc+/gu4OXWf?=
 =?iso-8859-1?Q?4gwhj0mCApR1oDXTFR1TJVSprWKrQoBofZhiebwxJ+jgarVVY3DTEEeViW?=
 =?iso-8859-1?Q?dY+WpvpQ96YCtiCOTCD9SB92B0kDQwJDPLi3ZnkSGFYwEiH6FQlxtPJOlh?=
 =?iso-8859-1?Q?GRYV8wfYI9GnRNajWZe0IP/t7uM81iaP/gJ8NZfc8OYvbJcSQzC/Ffado1?=
 =?iso-8859-1?Q?huxVMpDuGOGVirumEkF4xfImvP8B0EavFxbrVmowzU4q3EfS/bZu5W/HoC?=
 =?iso-8859-1?Q?ALNfjOEKqQYs5UcCYZxH8CA4ow1l2eP2938OJJSQjwD84aKgwnGErKAi7x?=
 =?iso-8859-1?Q?guO6db6+PMfcLmoHrMw8QY9QDQ4wTizu3le1sGW9w9CpPdTqqa6VI+Tw?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DB7PR03MB4140.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a3e35332-cbe4-4cae-0f1f-08de125e0376
X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Oct 2025 18:00:12.7198
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: nHh8kKmihJzZcdo+mYf4XA0BKQIu+teMm+EmPpQvw9psaHZgf7NcAcWcY8mOIG/aDYRUq75c6oN8ogqAiAVh06DFJBj2YaeV6gwBub02A4Y=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR03MB6159

Given 'NextMemoryDescriptor()' macro is casting (UINT8 *) pointer to the
(EFI_MEMORY_DESCRIPTOR *) pointer, which is not allowed by the MISRA C
Rule 11.3 as they pointed to the different objects types.

This macro is a part of the EFI imported code ('xen/include/efi/') and
is deviated with a SAF comment.

Signed-off-by: Dmytro Prokopchuk <dmytro_prokopchuk1@epam.com>
---
 docs/misra/safe.json        | 8 ++++++++
 xen/arch/arm/efi/efi-boot.h | 1 +
 2 files changed, 9 insertions(+)

diff --git a/docs/misra/safe.json b/docs/misra/safe.json
index 3584cb90c6..c5e193e0f7 100644
--- a/docs/misra/safe.json
+++ b/docs/misra/safe.json
@@ -124,6 +124,14 @@
         },
         {
             "id": "SAF-15-safe",
+            "analyser": {
+                "eclair": "MC3A2.R11.3"
+            },
+            "name": "Rule 11.3: casting a pointer to object into a pointer=
 to a different object",
+            "text": "Violation due to the use of 'NextMemoryDescriptor()' =
macro is allowed, as that is EFI imported code."
+        },
+        {
+            "id": "SAF-16-safe",
             "analyser": {},
             "name": "Sentinel",
             "text": "Next ID to be used"
diff --git a/xen/arch/arm/efi/efi-boot.h b/xen/arch/arm/efi/efi-boot.h
index 7844b9529e..a87004001b 100644
--- a/xen/arch/arm/efi/efi-boot.h
+++ b/xen/arch/arm/efi/efi-boot.h
@@ -227,6 +227,7 @@ static EFI_STATUS __init efi_process_memory_map_bootinf=
o(EFI_MEMORY_DESCRIPTOR *
             }
         }
 #endif
+        /* SAF-15-safe casting a pointer */
         desc_ptr =3D NextMemoryDescriptor(desc_ptr, desc_size);
     }
=20
--=20
2.43.0


From xen-devel-bounces@lists.xenproject.org Thu Oct 23 19:38:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 19:38:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1149585.1481172 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vC18G-0004Vr-Kd; Thu, 23 Oct 2025 19:37:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1149585.1481172; Thu, 23 Oct 2025 19:37:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vC18G-0004UD-GB; Thu, 23 Oct 2025 19:37:56 +0000
Received: by outflank-mailman (input) for mailman id 1149585;
 Thu, 23 Oct 2025 19:37:55 +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 <SRS0=MccR=5A=redhat.com=david@srs-se1.protection.inumbo.net>)
 id 1vC18F-0004Pm-3T
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 19:37:55 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.133.124])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c2b7e31d-b047-11f0-980a-7dc792cee155;
 Thu, 23 Oct 2025 21:37:52 +0200 (CEST)
Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com
 [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-336-sLiV5guJO-ii2JPfckTYZQ-1; Thu, 23 Oct 2025 15:37:46 -0400
Received: by mail-wm1-f70.google.com with SMTP id
 5b1f17b1804b1-471125c8bc1so16183635e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 23 Oct 2025 12:37:46 -0700 (PDT)
Received: from ?IPV6:2003:d8:2f4e:3200:c99d:a38b:3f3a:d4b3?
 (p200300d82f4e3200c99da38b3f3ad4b3.dip0.t-ipconnect.de.
 [2003:d8:2f4e:3200:c99d:a38b:3f3a:d4b3])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-475c4369b5esm130845595e9.15.2025.10.23.12.37.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Oct 2025 12:37:44 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c2b7e31d-b047-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1761248268;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
	bh=mPouUhrqRxgjcMBstonzlhFIxQsnreNI+UXdXwtR76k=;
	b=Uv0IzlEYd9eMSrrtJk83Zko/JAjIpv8Gca/r2/ClRfUNPB0JBtETYDXa8P78bKNSD8PhDW
	nCTw+im79LyfxGL0fkKafqulvB3Ra7BuY9I8WS5g8pYoBPcwwq/exPZkP02FvAprPP7UIb
	toa3DMTDz5UkXD4e5r5aRIznLye2zcI=
X-MC-Unique: sLiV5guJO-ii2JPfckTYZQ-1
X-Mimecast-MFC-AGG-ID: sLiV5guJO-ii2JPfckTYZQ_1761248265
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761248265; x=1761853065;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :from:references:cc:to:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=mPouUhrqRxgjcMBstonzlhFIxQsnreNI+UXdXwtR76k=;
        b=IGvdBpCaHWHNLPCKEMFVbmk8wS3k63Vy8ZcDCBtyEvNlOw6Dq68Ns4keMDwK7sVjzF
         h/6k/hh//UZMO1Fxqw/P992lqhlpwBbFmOZr3O4Qbd1IT3Q3Y4b4lBwQnLH3vZC1j6aE
         rg0jIsCSPA445uothkmCQdcet642y1XYXZsSJISrclN4sJkvfdn1T30HvtAAk/6rkSCu
         IF2aGBmN7J7PvkxZnMBdslYA4aKTU4igwVmJe2nhkWXnxjl6IELm2AegZps5x0li9F4T
         p6ZagG/dUDZX+Z1VWzMVYHXxZlJUShwcorFucHTNmOvyCSi+wMAf4xwxAnoEujvrS+k3
         rOYQ==
X-Forwarded-Encrypted: i=1; AJvYcCW1wef6Fv4IPKTlgY4sweVg+6MfLQ8EZfO77eldmSDcDJw528NCeMOLjeLlOZ+GC0rOMfSbXtqMt7c=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxpWS4Tj+GPz/wEsV/xPxFyaWONe7GSdZdRgre+uOZbTNyIJz6s
	MK2cCMXr+k8CwzHvd91aOxb64S1128IU7SDHYTihjuZ3bBsqJlLDMmqZfQB/NGdl+Tej96sAFq4
	qnjE7TZR381uiVXIYTZksg4QMHCWiLRKJ7Ntifw3Ic52ZD1U7xLUk2oRPlGnQlZ0xtllL
X-Gm-Gg: ASbGncs7ARc8yW/lEkQg88uX31q8dac5vXJ2hkgEOcxUf1xmFhgPiU4awRqEaQ7x8Oc
	dQ0YiPJcCHqHicuPDzcI6FP3LD2+DwY7JBmFbPRKYupJ9xwmwD3T3hAcX/iQ/oAdtYezLXCD9jS
	S+VK5SLnwI1fvN7lPhElb/PE76Nww80QqZGJLKsWvw8lHiylwfX71pbfIB9SzdhTFrgH6UP2WFT
	pYrINjT6ep3/JDVVqsnDCtVOPYMPXlN/Ngiq2lEJ+XhgiRa2gttCFwQogJ8MrVQ/sh+bCS/kQWa
	nD1+7A3/w2xPAXKHqYmQ8jAeQNGLqZDZPM4ivMPYkm6V5cdFNa9xky7VIOiLw5RCh9zTVBFc+A+
	kaETwgkpkNiXCJrwVggtwx2UM/EyFFWn8aGlMtSCDou2cQB/sGWF4FFnku0zk2XdO8qe9LpADB2
	HOIDXDXQwLQPLRIcjdAoSVUMvetps=
X-Received: by 2002:a05:600c:3149:b0:46e:4b8b:75f2 with SMTP id 5b1f17b1804b1-471178a7ea5mr175792275e9.16.1761248265274;
        Thu, 23 Oct 2025 12:37:45 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IEZq8ETk/dxv6lw5okKbvprrCeAKa5W7ysoK9CYeQHAr2H0Pl+EqcgQ1cUF8EEIwcu7bpKOCw==
X-Received: by 2002:a05:600c:3149:b0:46e:4b8b:75f2 with SMTP id 5b1f17b1804b1-471178a7ea5mr175791855e9.16.1761248264842;
        Thu, 23 Oct 2025 12:37:44 -0700 (PDT)
Message-ID: <b0373792-a7fa-41c4-9bf8-979c10be49a0@redhat.com>
Date: Thu, 23 Oct 2025 21:37:42 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 04/13] sparc/mm: implement arch_flush_lazy_mmu_mode()
To: Kevin Brodsky <kevin.brodsky@arm.com>, linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org, Alexander Gordeev <agordeev@linux.ibm.com>,
 Andreas Larsson <andreas@gaisler.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, Borislav Petkov
 <bp@alien8.de>, Catalin Marinas <catalin.marinas@arm.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 Dave Hansen <dave.hansen@linux.intel.com>,
 "David S. Miller" <davem@davemloft.net>, "H. Peter Anvin" <hpa@zytor.com>,
 Ingo Molnar <mingo@redhat.com>, Jann Horn <jannh@google.com>,
 Juergen Gross <jgross@suse.com>, "Liam R. Howlett"
 <Liam.Howlett@oracle.com>, Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>, Michal Hocko <mhocko@suse.com>,
 Mike Rapoport <rppt@kernel.org>, Nicholas Piggin <npiggin@gmail.com>,
 Peter Zijlstra <peterz@infradead.org>, Ryan Roberts <ryan.roberts@arm.com>,
 Suren Baghdasaryan <surenb@google.com>, Thomas Gleixner
 <tglx@linutronix.de>, Vlastimil Babka <vbabka@suse.cz>,
 Will Deacon <will@kernel.org>, Yeoreum Yun <yeoreum.yun@arm.com>,
 linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org,
 sparclinux@vger.kernel.org, xen-devel@lists.xenproject.org, x86@kernel.org
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
 <20251015082727.2395128-5-kevin.brodsky@arm.com>
From: David Hildenbrand <david@redhat.com>
Autocrypt: addr=david@redhat.com; keydata=
 xsFNBFXLn5EBEAC+zYvAFJxCBY9Tr1xZgcESmxVNI/0ffzE/ZQOiHJl6mGkmA1R7/uUpiCjJ
 dBrn+lhhOYjjNefFQou6478faXE6o2AhmebqT4KiQoUQFV4R7y1KMEKoSyy8hQaK1umALTdL
 QZLQMzNE74ap+GDK0wnacPQFpcG1AE9RMq3aeErY5tujekBS32jfC/7AnH7I0v1v1TbbK3Gp
 XNeiN4QroO+5qaSr0ID2sz5jtBLRb15RMre27E1ImpaIv2Jw8NJgW0k/D1RyKCwaTsgRdwuK
 Kx/Y91XuSBdz0uOyU/S8kM1+ag0wvsGlpBVxRR/xw/E8M7TEwuCZQArqqTCmkG6HGcXFT0V9
 PXFNNgV5jXMQRwU0O/ztJIQqsE5LsUomE//bLwzj9IVsaQpKDqW6TAPjcdBDPLHvriq7kGjt
 WhVhdl0qEYB8lkBEU7V2Yb+SYhmhpDrti9Fq1EsmhiHSkxJcGREoMK/63r9WLZYI3+4W2rAc
 UucZa4OT27U5ZISjNg3Ev0rxU5UH2/pT4wJCfxwocmqaRr6UYmrtZmND89X0KigoFD/XSeVv
 jwBRNjPAubK9/k5NoRrYqztM9W6sJqrH8+UWZ1Idd/DdmogJh0gNC0+N42Za9yBRURfIdKSb
 B3JfpUqcWwE7vUaYrHG1nw54pLUoPG6sAA7Mehl3nd4pZUALHwARAQABzSREYXZpZCBIaWxk
 ZW5icmFuZCA8ZGF2aWRAcmVkaGF0LmNvbT7CwZoEEwEIAEQCGwMCF4ACGQEFCwkIBwICIgIG
 FQoJCAsCBBYCAwECHgcWIQQb2cqtc1xMOkYN/MpN3hD3AP+DWgUCaJzangUJJlgIpAAKCRBN
 3hD3AP+DWhAxD/9wcL0A+2rtaAmutaKTfxhTP0b4AAp1r/eLxjrbfbCCmh4pqzBhmSX/4z11
 opn2KqcOsueRF1t2ENLOWzQu3Roiny2HOU7DajqB4dm1BVMaXQya5ae2ghzlJN9SIoopTWlR
 0Af3hPj5E2PYvQhlcqeoehKlBo9rROJv/rjmr2x0yOM8qeTroH/ZzNlCtJ56AsE6Tvl+r7cW
 3x7/Jq5WvWeudKrhFh7/yQ7eRvHCjd9bBrZTlgAfiHmX9AnCCPRPpNGNedV9Yty2Jnxhfmbv
 Pw37LA/jef8zlCDyUh2KCU1xVEOWqg15o1RtTyGV1nXV2O/mfuQJud5vIgzBvHhypc3p6VZJ
 lEf8YmT+Ol5P7SfCs5/uGdWUYQEMqOlg6w9R4Pe8d+mk8KGvfE9/zTwGg0nRgKqlQXrWRERv
 cuEwQbridlPAoQHrFWtwpgYMXx2TaZ3sihcIPo9uU5eBs0rf4mOERY75SK+Ekayv2ucTfjxr
 Kf014py2aoRJHuvy85ee/zIyLmve5hngZTTe3Wg3TInT9UTFzTPhItam6dZ1xqdTGHZYGU0O
 otRHcwLGt470grdiob6PfVTXoHlBvkWRadMhSuG4RORCDpq89vu5QralFNIf3EysNohoFy2A
 LYg2/D53xbU/aa4DDzBb5b1Rkg/udO1gZocVQWrDh6I2K3+cCs7BTQRVy5+RARAA59fefSDR
 9nMGCb9LbMX+TFAoIQo/wgP5XPyzLYakO+94GrgfZjfhdaxPXMsl2+o8jhp/hlIzG56taNdt
 VZtPp3ih1AgbR8rHgXw1xwOpuAd5lE1qNd54ndHuADO9a9A0vPimIes78Hi1/yy+ZEEvRkHk
 /kDa6F3AtTc1m4rbbOk2fiKzzsE9YXweFjQvl9p+AMw6qd/iC4lUk9g0+FQXNdRs+o4o6Qvy
 iOQJfGQ4UcBuOy1IrkJrd8qq5jet1fcM2j4QvsW8CLDWZS1L7kZ5gT5EycMKxUWb8LuRjxzZ
 3QY1aQH2kkzn6acigU3HLtgFyV1gBNV44ehjgvJpRY2cC8VhanTx0dZ9mj1YKIky5N+C0f21
 zvntBqcxV0+3p8MrxRRcgEtDZNav+xAoT3G0W4SahAaUTWXpsZoOecwtxi74CyneQNPTDjNg
 azHmvpdBVEfj7k3p4dmJp5i0U66Onmf6mMFpArvBRSMOKU9DlAzMi4IvhiNWjKVaIE2Se9BY
 FdKVAJaZq85P2y20ZBd08ILnKcj7XKZkLU5FkoA0udEBvQ0f9QLNyyy3DZMCQWcwRuj1m73D
 sq8DEFBdZ5eEkj1dCyx+t/ga6x2rHyc8Sl86oK1tvAkwBNsfKou3v+jP/l14a7DGBvrmlYjO
 59o3t6inu6H7pt7OL6u6BQj7DoMAEQEAAcLBfAQYAQgAJgIbDBYhBBvZyq1zXEw6Rg38yk3e
 EPcA/4NaBQJonNqrBQkmWAihAAoJEE3eEPcA/4NaKtMQALAJ8PzprBEXbXcEXwDKQu+P/vts
 IfUb1UNMfMV76BicGa5NCZnJNQASDP/+bFg6O3gx5NbhHHPeaWz/VxlOmYHokHodOvtL0WCC
 8A5PEP8tOk6029Z+J+xUcMrJClNVFpzVvOpb1lCbhjwAV465Hy+NUSbbUiRxdzNQtLtgZzOV
 Zw7jxUCs4UUZLQTCuBpFgb15bBxYZ/BL9MbzxPxvfUQIPbnzQMcqtpUs21CMK2PdfCh5c4gS
 sDci6D5/ZIBw94UQWmGpM/O1ilGXde2ZzzGYl64glmccD8e87OnEgKnH3FbnJnT4iJchtSvx
 yJNi1+t0+qDti4m88+/9IuPqCKb6Stl+s2dnLtJNrjXBGJtsQG/sRpqsJz5x1/2nPJSRMsx9
 5YfqbdrJSOFXDzZ8/r82HgQEtUvlSXNaXCa95ez0UkOG7+bDm2b3s0XahBQeLVCH0mw3RAQg
 r7xDAYKIrAwfHHmMTnBQDPJwVqxJjVNr7yBic4yfzVWGCGNE4DnOW0vcIeoyhy9vnIa3w1uZ
 3iyY2Nsd7JxfKu1PRhCGwXzRw5TlfEsoRI7V9A8isUCoqE2Dzh3FvYHVeX4Us+bRL/oqareJ
 CIFqgYMyvHj7Q06kTKmauOe4Nf0l0qEkIuIzfoLJ3qr5UyXc2hLtWyT9Ir+lYlX9efqh7mOY
 qIws/H2t
In-Reply-To: <20251015082727.2395128-5-kevin.brodsky@arm.com>
X-Mimecast-Spam-Score: 0
X-Mimecast-MFC-PROC-ID: M6QqOmHgMNcNmRDqEeRpvbOkLQejCigCXf99NKvUIBs_1761248265
X-Mimecast-Originator: redhat.com
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 15.10.25 10:27, Kevin Brodsky wrote:
> Upcoming changes to the lazy_mmu API will cause
> arch_flush_lazy_mmu_mode() to be called when leaving a nested
> lazy_mmu section.
> 
> Move the relevant logic from arch_leave_lazy_mmu_mode() to
> arch_flush_lazy_mmu_mode() and have the former call the latter.
> 
> Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
> ---
>   arch/sparc/include/asm/tlbflush_64.h | 2 +-
>   arch/sparc/mm/tlb.c                  | 9 ++++++++-
>   2 files changed, 9 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/sparc/include/asm/tlbflush_64.h b/arch/sparc/include/asm/tlbflush_64.h
> index 8b8cdaa69272..925bb5d7a4e1 100644
> --- a/arch/sparc/include/asm/tlbflush_64.h
> +++ b/arch/sparc/include/asm/tlbflush_64.h
> @@ -43,8 +43,8 @@ void flush_tlb_kernel_range(unsigned long start, unsigned long end);
>   
>   void flush_tlb_pending(void);
>   void arch_enter_lazy_mmu_mode(void);
> +void arch_flush_lazy_mmu_mode(void);
>   void arch_leave_lazy_mmu_mode(void);
> -#define arch_flush_lazy_mmu_mode()      do {} while (0)
>   
>   /* Local cpu only.  */
>   void __flush_tlb_all(void);
> diff --git a/arch/sparc/mm/tlb.c b/arch/sparc/mm/tlb.c
> index a35ddcca5e76..7b5dfcdb1243 100644
> --- a/arch/sparc/mm/tlb.c
> +++ b/arch/sparc/mm/tlb.c
> @@ -59,12 +59,19 @@ void arch_enter_lazy_mmu_mode(void)
>   	tb->active = 1;
>   }
>   
> -void arch_leave_lazy_mmu_mode(void)
> +void arch_flush_lazy_mmu_mode(void)
>   {
>   	struct tlb_batch *tb = this_cpu_ptr(&tlb_batch);
>   
>   	if (tb->tlb_nr)
>   		flush_tlb_pending();
> +}
> +
> +void arch_leave_lazy_mmu_mode(void)
> +{
> +	struct tlb_batch *tb = this_cpu_ptr(&tlb_batch);
> +

Just like for ppc now a double this_cpu_ptr(). I'd similarly just 
replicate the two statements.

> +	arch_flush_lazy_mmu_mode();
>   	tb->active = 0;
>   	preempt_enable();
>   }


-- 
Cheers

David / dhildenb



From xen-devel-bounces@lists.xenproject.org Thu Oct 23 19:38:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 19:38:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1149584.1481166 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vC18G-0004QS-7N; Thu, 23 Oct 2025 19:37:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1149584.1481166; Thu, 23 Oct 2025 19:37:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vC18G-0004QL-40; Thu, 23 Oct 2025 19:37:56 +0000
Received: by outflank-mailman (input) for mailman id 1149584;
 Thu, 23 Oct 2025 19:37:54 +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 <SRS0=MccR=5A=redhat.com=david@srs-se1.protection.inumbo.net>)
 id 1vC17t-0004Pm-5D
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 19:37:54 +0000
Received: from us-smtp-delivery-124.mimecast.com (unknown [170.10.133.124])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a5da634d-b047-11f0-980a-7dc792cee155;
 Thu, 23 Oct 2025 21:37:07 +0200 (CEST)
Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com
 [209.85.221.70]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-664-eLGTSdYeO-e2IGdorTPUBg-1; Thu, 23 Oct 2025 15:36:56 -0400
Received: by mail-wr1-f70.google.com with SMTP id
 ffacd0b85a97d-4298da9fc21so134495f8f.1
 for <xen-devel@lists.xenproject.org>; Thu, 23 Oct 2025 12:36:55 -0700 (PDT)
Received: from ?IPV6:2003:d8:2f4e:3200:c99d:a38b:3f3a:d4b3?
 (p200300d82f4e3200c99da38b3f3ad4b3.dip0.t-ipconnect.de.
 [2003:d8:2f4e:3200:c99d:a38b:3f3a:d4b3])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-429898ecadbsm5715926f8f.45.2025.10.23.12.36.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Oct 2025 12:36:52 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a5da634d-b047-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1761248217;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
	bh=GAR+zcyIiLP0EmlRcHQPsRsm2ZVMdnZLABW6LHegPGk=;
	b=YYr/t9f88DnfRGtalD5RRA3EJOwyBFx2tqF4AsdZj2aulW97W4kocfQxs8R+UFqKUQFgxK
	xOIwzVhEuE+Bs/SPO/21gWS4GzYciF1a9N/18FHLBpd0VNi+zxRtq0sYa/0dns5B4MWzaU
	a7dh0ggzzpPG8UUbwMpNevka400Js0s=
X-MC-Unique: eLGTSdYeO-e2IGdorTPUBg-1
X-Mimecast-MFC-AGG-ID: eLGTSdYeO-e2IGdorTPUBg_1761248215
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761248215; x=1761853015;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :from:references:cc:to:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=GAR+zcyIiLP0EmlRcHQPsRsm2ZVMdnZLABW6LHegPGk=;
        b=IMXIcOGnK8eRfVwXkP0DMn9WrW2A/U/8vWXkFZDoJbx1ToaDU5qTeWFF/Zww8pBoEt
         ko7TiwX6XgJgkAu8xB+/rjIe/ousYLiCyO75porOpAKaqInq58XNWc5WVXM67F3K/X+z
         QtD06C/O/joLGG6vhKEhS3i7YMnpnjX/A9TrOGEXe0a/K0VRemFjJ5Pq25bskLQk5N6M
         CvKUpMnawWfS0WVQEAzeXw/YD+swHu0Q3O+zrhxetAaoi6bamffjVc5UOzVggWBQOKuI
         7dnXqRL0C4xAUfwnguvIPBbFepbrMf+EzSPc093tRg3Om7WqkT7/ADbteeM/zUWcuqiz
         +Paw==
X-Forwarded-Encrypted: i=1; AJvYcCW2CLgypEbyVmXD28uNYTN/rgPCTiJG8cvLbwdC7YErIEMQLVYeiorhz6VAX2TD/t9bo21aLORG+9o=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw87RSzCVqFfRFbATo0wm8JXttfXHpy+PpATSIrjRD/sA7YZvZc
	DU5c7HUs9mrU2c8dyABeSPurv1sQ7gqrSLdvGmYdndjKppJIytUUAHhWV4LdXzQaYjj7lZrYduM
	jl5SB/0frMzzSmxFka6TZcBOjgDt2XZNS7aaaKksJ5GiMvD/j2WXtKB2aHJZh5IORPUjl
X-Gm-Gg: ASbGncsWKUtYl0dTJTkdm4Z9dxIm7Mpy6K41hXcEyiMikWNDyrikXfNSBqysxrPh+QM
	NQr8wj4r0gRycbyGsHQunu0+hF6vUi8eVk0R28hzEusEORcdObGvbNU7+b3lJLZXmDKnVfmdaJv
	bmJFB5IFstVh8mJFe7tBP5YLoRJd+862O8joYu/w1lIj0LcsFtXJV3MZFG6lvumyC518m5COtUf
	weiwMB66yISExAlokkg84d4mBMgdA+B0GbYmjmxCJbkuJA76CXNz7P81W83ormSwPo8l7G4BkGV
	nXSvuhN5ZrP64xa5Pu1atwm59c239diTF9lF5JDBAJ/RyFD7B9IStYwXiNzD1LsRNnPYSqO26is
	RQFZVR4s7ifkyPPF/0gaMIawuHpQfRUf1FN7KA7v3LBwMl5fj7YZFd9xe6lOlxdxn6zxlMGBBtf
	wQVxR6mGfuLiW4w8ZFh8vka23AJS8=
X-Received: by 2002:a05:6000:2910:b0:426:d60f:746f with SMTP id ffacd0b85a97d-42704d94458mr15755887f8f.30.1761248214805;
        Thu, 23 Oct 2025 12:36:54 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IFLONoaoN3j9k7k2WPBjhOeKfFc12IEn3iCcAu7lFYqr51oTxzPTHNLcPx+/xVbrYtjrgs6YQ==
X-Received: by 2002:a05:6000:2910:b0:426:d60f:746f with SMTP id ffacd0b85a97d-42704d94458mr15755849f8f.30.1761248214388;
        Thu, 23 Oct 2025 12:36:54 -0700 (PDT)
Message-ID: <60c55686-87dd-46d0-884e-80f7d423663b@redhat.com>
Date: Thu, 23 Oct 2025 21:36:48 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 03/13] powerpc/mm: implement arch_flush_lazy_mmu_mode()
To: Kevin Brodsky <kevin.brodsky@arm.com>, linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org, Alexander Gordeev <agordeev@linux.ibm.com>,
 Andreas Larsson <andreas@gaisler.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, Borislav Petkov
 <bp@alien8.de>, Catalin Marinas <catalin.marinas@arm.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 Dave Hansen <dave.hansen@linux.intel.com>,
 "David S. Miller" <davem@davemloft.net>, "H. Peter Anvin" <hpa@zytor.com>,
 Ingo Molnar <mingo@redhat.com>, Jann Horn <jannh@google.com>,
 Juergen Gross <jgross@suse.com>, "Liam R. Howlett"
 <Liam.Howlett@oracle.com>, Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>, Michal Hocko <mhocko@suse.com>,
 Mike Rapoport <rppt@kernel.org>, Nicholas Piggin <npiggin@gmail.com>,
 Peter Zijlstra <peterz@infradead.org>, Ryan Roberts <ryan.roberts@arm.com>,
 Suren Baghdasaryan <surenb@google.com>, Thomas Gleixner
 <tglx@linutronix.de>, Vlastimil Babka <vbabka@suse.cz>,
 Will Deacon <will@kernel.org>, Yeoreum Yun <yeoreum.yun@arm.com>,
 linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org,
 sparclinux@vger.kernel.org, xen-devel@lists.xenproject.org, x86@kernel.org
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
 <20251015082727.2395128-4-kevin.brodsky@arm.com>
From: David Hildenbrand <david@redhat.com>
Autocrypt: addr=david@redhat.com; keydata=
 xsFNBFXLn5EBEAC+zYvAFJxCBY9Tr1xZgcESmxVNI/0ffzE/ZQOiHJl6mGkmA1R7/uUpiCjJ
 dBrn+lhhOYjjNefFQou6478faXE6o2AhmebqT4KiQoUQFV4R7y1KMEKoSyy8hQaK1umALTdL
 QZLQMzNE74ap+GDK0wnacPQFpcG1AE9RMq3aeErY5tujekBS32jfC/7AnH7I0v1v1TbbK3Gp
 XNeiN4QroO+5qaSr0ID2sz5jtBLRb15RMre27E1ImpaIv2Jw8NJgW0k/D1RyKCwaTsgRdwuK
 Kx/Y91XuSBdz0uOyU/S8kM1+ag0wvsGlpBVxRR/xw/E8M7TEwuCZQArqqTCmkG6HGcXFT0V9
 PXFNNgV5jXMQRwU0O/ztJIQqsE5LsUomE//bLwzj9IVsaQpKDqW6TAPjcdBDPLHvriq7kGjt
 WhVhdl0qEYB8lkBEU7V2Yb+SYhmhpDrti9Fq1EsmhiHSkxJcGREoMK/63r9WLZYI3+4W2rAc
 UucZa4OT27U5ZISjNg3Ev0rxU5UH2/pT4wJCfxwocmqaRr6UYmrtZmND89X0KigoFD/XSeVv
 jwBRNjPAubK9/k5NoRrYqztM9W6sJqrH8+UWZ1Idd/DdmogJh0gNC0+N42Za9yBRURfIdKSb
 B3JfpUqcWwE7vUaYrHG1nw54pLUoPG6sAA7Mehl3nd4pZUALHwARAQABzSREYXZpZCBIaWxk
 ZW5icmFuZCA8ZGF2aWRAcmVkaGF0LmNvbT7CwZoEEwEIAEQCGwMCF4ACGQEFCwkIBwICIgIG
 FQoJCAsCBBYCAwECHgcWIQQb2cqtc1xMOkYN/MpN3hD3AP+DWgUCaJzangUJJlgIpAAKCRBN
 3hD3AP+DWhAxD/9wcL0A+2rtaAmutaKTfxhTP0b4AAp1r/eLxjrbfbCCmh4pqzBhmSX/4z11
 opn2KqcOsueRF1t2ENLOWzQu3Roiny2HOU7DajqB4dm1BVMaXQya5ae2ghzlJN9SIoopTWlR
 0Af3hPj5E2PYvQhlcqeoehKlBo9rROJv/rjmr2x0yOM8qeTroH/ZzNlCtJ56AsE6Tvl+r7cW
 3x7/Jq5WvWeudKrhFh7/yQ7eRvHCjd9bBrZTlgAfiHmX9AnCCPRPpNGNedV9Yty2Jnxhfmbv
 Pw37LA/jef8zlCDyUh2KCU1xVEOWqg15o1RtTyGV1nXV2O/mfuQJud5vIgzBvHhypc3p6VZJ
 lEf8YmT+Ol5P7SfCs5/uGdWUYQEMqOlg6w9R4Pe8d+mk8KGvfE9/zTwGg0nRgKqlQXrWRERv
 cuEwQbridlPAoQHrFWtwpgYMXx2TaZ3sihcIPo9uU5eBs0rf4mOERY75SK+Ekayv2ucTfjxr
 Kf014py2aoRJHuvy85ee/zIyLmve5hngZTTe3Wg3TInT9UTFzTPhItam6dZ1xqdTGHZYGU0O
 otRHcwLGt470grdiob6PfVTXoHlBvkWRadMhSuG4RORCDpq89vu5QralFNIf3EysNohoFy2A
 LYg2/D53xbU/aa4DDzBb5b1Rkg/udO1gZocVQWrDh6I2K3+cCs7BTQRVy5+RARAA59fefSDR
 9nMGCb9LbMX+TFAoIQo/wgP5XPyzLYakO+94GrgfZjfhdaxPXMsl2+o8jhp/hlIzG56taNdt
 VZtPp3ih1AgbR8rHgXw1xwOpuAd5lE1qNd54ndHuADO9a9A0vPimIes78Hi1/yy+ZEEvRkHk
 /kDa6F3AtTc1m4rbbOk2fiKzzsE9YXweFjQvl9p+AMw6qd/iC4lUk9g0+FQXNdRs+o4o6Qvy
 iOQJfGQ4UcBuOy1IrkJrd8qq5jet1fcM2j4QvsW8CLDWZS1L7kZ5gT5EycMKxUWb8LuRjxzZ
 3QY1aQH2kkzn6acigU3HLtgFyV1gBNV44ehjgvJpRY2cC8VhanTx0dZ9mj1YKIky5N+C0f21
 zvntBqcxV0+3p8MrxRRcgEtDZNav+xAoT3G0W4SahAaUTWXpsZoOecwtxi74CyneQNPTDjNg
 azHmvpdBVEfj7k3p4dmJp5i0U66Onmf6mMFpArvBRSMOKU9DlAzMi4IvhiNWjKVaIE2Se9BY
 FdKVAJaZq85P2y20ZBd08ILnKcj7XKZkLU5FkoA0udEBvQ0f9QLNyyy3DZMCQWcwRuj1m73D
 sq8DEFBdZ5eEkj1dCyx+t/ga6x2rHyc8Sl86oK1tvAkwBNsfKou3v+jP/l14a7DGBvrmlYjO
 59o3t6inu6H7pt7OL6u6BQj7DoMAEQEAAcLBfAQYAQgAJgIbDBYhBBvZyq1zXEw6Rg38yk3e
 EPcA/4NaBQJonNqrBQkmWAihAAoJEE3eEPcA/4NaKtMQALAJ8PzprBEXbXcEXwDKQu+P/vts
 IfUb1UNMfMV76BicGa5NCZnJNQASDP/+bFg6O3gx5NbhHHPeaWz/VxlOmYHokHodOvtL0WCC
 8A5PEP8tOk6029Z+J+xUcMrJClNVFpzVvOpb1lCbhjwAV465Hy+NUSbbUiRxdzNQtLtgZzOV
 Zw7jxUCs4UUZLQTCuBpFgb15bBxYZ/BL9MbzxPxvfUQIPbnzQMcqtpUs21CMK2PdfCh5c4gS
 sDci6D5/ZIBw94UQWmGpM/O1ilGXde2ZzzGYl64glmccD8e87OnEgKnH3FbnJnT4iJchtSvx
 yJNi1+t0+qDti4m88+/9IuPqCKb6Stl+s2dnLtJNrjXBGJtsQG/sRpqsJz5x1/2nPJSRMsx9
 5YfqbdrJSOFXDzZ8/r82HgQEtUvlSXNaXCa95ez0UkOG7+bDm2b3s0XahBQeLVCH0mw3RAQg
 r7xDAYKIrAwfHHmMTnBQDPJwVqxJjVNr7yBic4yfzVWGCGNE4DnOW0vcIeoyhy9vnIa3w1uZ
 3iyY2Nsd7JxfKu1PRhCGwXzRw5TlfEsoRI7V9A8isUCoqE2Dzh3FvYHVeX4Us+bRL/oqareJ
 CIFqgYMyvHj7Q06kTKmauOe4Nf0l0qEkIuIzfoLJ3qr5UyXc2hLtWyT9Ir+lYlX9efqh7mOY
 qIws/H2t
In-Reply-To: <20251015082727.2395128-4-kevin.brodsky@arm.com>
X-Mimecast-Spam-Score: 0
X-Mimecast-MFC-PROC-ID: Ny2pIJLZ3hvCz3ahHC8KNBT_sLyh7JqNgFz0WoZjV7M_1761248215
X-Mimecast-Originator: redhat.com
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 15.10.25 10:27, Kevin Brodsky wrote:
> Upcoming changes to the lazy_mmu API will cause
> arch_flush_lazy_mmu_mode() to be called when leaving a nested
> lazy_mmu section.
> 
> Move the relevant logic from arch_leave_lazy_mmu_mode() to
> arch_flush_lazy_mmu_mode() and have the former call the latter.
> 
> Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
> ---
>   .../powerpc/include/asm/book3s/64/tlbflush-hash.h | 15 +++++++++++----
>   1 file changed, 11 insertions(+), 4 deletions(-)
> 
> diff --git a/arch/powerpc/include/asm/book3s/64/tlbflush-hash.h b/arch/powerpc/include/asm/book3s/64/tlbflush-hash.h
> index 146287d9580f..7704dbe8e88d 100644
> --- a/arch/powerpc/include/asm/book3s/64/tlbflush-hash.h
> +++ b/arch/powerpc/include/asm/book3s/64/tlbflush-hash.h
> @@ -41,6 +41,16 @@ static inline void arch_enter_lazy_mmu_mode(void)
>   	batch->active = 1;
>   }
>   
> +static inline void arch_flush_lazy_mmu_mode(void)
> +{
> +	struct ppc64_tlb_batch *batch;
> +
> +	batch = this_cpu_ptr(&ppc64_tlb_batch);

The downside is the double this_cpu_ptr() now on the 
arch_leave_lazy_mmu_mode() path.

You could just have a helper function that is called by either or just 
... leave arch_leave_lazy_mmu_mode() alone and just replicate the two 
statements here in arch_flush_lazy_mmu_mode().

I would do just that :)

-- 
Cheers

David / dhildenb



From xen-devel-bounces@lists.xenproject.org Thu Oct 23 19:38:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 19:38:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1149598.1481186 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vC18d-0005Ds-T4; Thu, 23 Oct 2025 19:38:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1149598.1481186; Thu, 23 Oct 2025 19:38:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vC18d-0005Dl-QI; Thu, 23 Oct 2025 19:38:19 +0000
Received: by outflank-mailman (input) for mailman id 1149598;
 Thu, 23 Oct 2025 19:38:18 +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 <SRS0=MccR=5A=redhat.com=david@srs-se1.protection.inumbo.net>)
 id 1vC18c-0004y7-Si
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 19:38:18 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.129.124])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d21dd692-b047-11f0-9d15-b5c5bf9af7f9;
 Thu, 23 Oct 2025 21:38:17 +0200 (CEST)
Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com
 [209.85.128.72]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-263-B-6kHokUMnKif1XAu_DuiA-1; Thu, 23 Oct 2025 15:38:14 -0400
Received: by mail-wm1-f72.google.com with SMTP id
 5b1f17b1804b1-47496b3c1dcso8857305e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 23 Oct 2025 12:38:14 -0700 (PDT)
Received: from ?IPV6:2003:d8:2f4e:3200:c99d:a38b:3f3a:d4b3?
 (p200300d82f4e3200c99da38b3f3ad4b3.dip0.t-ipconnect.de.
 [2003:d8:2f4e:3200:c99d:a38b:3f3a:d4b3])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-429898eb549sm5405252f8f.41.2025.10.23.12.38.11
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Oct 2025 12:38:12 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d21dd692-b047-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1761248296;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
	bh=VQ7IyiPkbQDl/6FlpFFPP3SSIBn2cmNYnYEr3eJHlB0=;
	b=QkjyFc65kpdNxryx1WPWWOCWXMaD8niycaI+HCyTEaWYS+WBVJK3umLwMSadZUCfgMs9io
	crQIyv+ql1Q/DuslTukWBpiW5wAGnrp8sRgPgXtQ55o6DsXZrP1ND1M1GawZj+EduKunDT
	wyGaaejFx1UlazlvjbKSOmYxDXdYuB0=
X-MC-Unique: B-6kHokUMnKif1XAu_DuiA-1
X-Mimecast-MFC-AGG-ID: B-6kHokUMnKif1XAu_DuiA_1761248293
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761248293; x=1761853093;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :from:references:cc:to:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=VQ7IyiPkbQDl/6FlpFFPP3SSIBn2cmNYnYEr3eJHlB0=;
        b=Dv0w66NF+/BRRMn7JpjvrpuLN2fdQ5XadgabWFI6edFst03NNknqr1sMCCepGD+P41
         eupZTKPsGw0Sejj5F2KbILhv4xeUozmgtE81EAWMsPwxVuog+o/UPenWEg3SXbEOkv+d
         lTVdopr2dSyaUJIPiosDp9ePVnIL0Z3hL0VAlHwvs1SaXA31jChmNavCBMD3Uy78Nx5S
         RLO4It3eRCu1oRdtEdmxYJYFbpfI9pMGmmtjsKD6L8CqadvXKfaLID7q983xZcdqrH+/
         k8gVrbIWlqpPPtTr8FMzpLRa2ipqyIBBv+3pO8LD0yYpoO061jIAmCmQ3z/HzowmvB9k
         1rfA==
X-Forwarded-Encrypted: i=1; AJvYcCWuyldQaUBhfWk3Sg0PkbB4Z8FTdoTr9PgqIgj1w2Dkxvkl+br0p/kV74XsXAcYdb3E+bVgROIucdc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxeYkv7SI1m8cXyND2ZSrElbVF8SHEl4PG1h3U1X+DJTmDvVgTD
	+HOFthxx4CFOQX4wgym928F7uYivcbt08+GJ73caoxNRdgsw0sV2uShOkPzKWITMk4BnxO6QdwU
	L+449YL6Uxuly5r+wr8xMq/YVpN0E4RQukqPbUKEXsr5E9cW/56KE6Tv1IHK8CU6w/Jim
X-Gm-Gg: ASbGncvDa1ke5YFeXJzLdPKlZ3GtR4QMTNIgz2BuFM5NsgGDHg5Ph5Qz+Bi2eMh20Sb
	Lg01RycLtHLfS40ZKAZ/oI/oL/mnc/cyd+hRsYj+6i+47Pd7Rq5k4beQx4yuye6lP71IlUlu6eo
	ZTTXTHV2ZN4M56zblbd4x2yBU7pjSd+UOmmWEVk8csdTs0Jhmq2ofW75m7JKO2yS0h0a+kmxhGm
	ZjFWaO48AVirOZIvKx+tlaC+AqbWvkJZ0UA/s9YuG4LIq2NUNSTc+oPp6Xtj3Xf6do9DPiL6t1f
	zqmLuv4N/22mSc33gCMBQ1j5X0CUhKMVQilb9jrkUYP/vEDnhQwDhuOZUsVlUv3wNbENjopdmem
	M0tcQVgpM6aF2d1wnyQ0IpLVSI2Yj+lTCL9ofuwpqZDSae220VsdqojGKtRaOGbxxm0G66fkMXv
	Xaxu4rMnkWp8g32qg8bAw74bNrMMc=
X-Received: by 2002:a05:600c:3145:b0:45d:e6b6:55fe with SMTP id 5b1f17b1804b1-4711791e7a4mr225365555e9.34.1761248293302;
        Thu, 23 Oct 2025 12:38:13 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IFK4kvb9VXDfRke79DTEDXEtAKVHmaVqzR/ZxHwP2FSjJo/KXXf7lv5KID4JKHr2iZrwUPcWA==
X-Received: by 2002:a05:600c:3145:b0:45d:e6b6:55fe with SMTP id 5b1f17b1804b1-4711791e7a4mr225365155e9.34.1761248292920;
        Thu, 23 Oct 2025 12:38:12 -0700 (PDT)
Message-ID: <dd3011ec-23cc-4431-95a3-a0c2965e7062@redhat.com>
Date: Thu, 23 Oct 2025 21:38:10 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 05/13] mm: introduce CONFIG_ARCH_LAZY_MMU
To: Kevin Brodsky <kevin.brodsky@arm.com>, Mike Rapoport <rppt@kernel.org>
Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org,
 Alexander Gordeev <agordeev@linux.ibm.com>,
 Andreas Larsson <andreas@gaisler.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, Borislav Petkov
 <bp@alien8.de>, Catalin Marinas <catalin.marinas@arm.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 Dave Hansen <dave.hansen@linux.intel.com>,
 "David S. Miller" <davem@davemloft.net>, "H. Peter Anvin" <hpa@zytor.com>,
 Ingo Molnar <mingo@redhat.com>, Jann Horn <jannh@google.com>,
 Juergen Gross <jgross@suse.com>, "Liam R. Howlett"
 <Liam.Howlett@oracle.com>, Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>, Michal Hocko <mhocko@suse.com>,
 Nicholas Piggin <npiggin@gmail.com>, Peter Zijlstra <peterz@infradead.org>,
 Ryan Roberts <ryan.roberts@arm.com>, Suren Baghdasaryan <surenb@google.com>,
 Thomas Gleixner <tglx@linutronix.de>, Vlastimil Babka <vbabka@suse.cz>,
 Will Deacon <will@kernel.org>, Yeoreum Yun <yeoreum.yun@arm.com>,
 linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org,
 sparclinux@vger.kernel.org, xen-devel@lists.xenproject.org, x86@kernel.org
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
 <20251015082727.2395128-6-kevin.brodsky@arm.com>
 <aPNjd2dg3YN-TZKH@kernel.org> <3836a43f-809e-419d-a85d-74606d9daa0f@arm.com>
From: David Hildenbrand <david@redhat.com>
Autocrypt: addr=david@redhat.com; keydata=
 xsFNBFXLn5EBEAC+zYvAFJxCBY9Tr1xZgcESmxVNI/0ffzE/ZQOiHJl6mGkmA1R7/uUpiCjJ
 dBrn+lhhOYjjNefFQou6478faXE6o2AhmebqT4KiQoUQFV4R7y1KMEKoSyy8hQaK1umALTdL
 QZLQMzNE74ap+GDK0wnacPQFpcG1AE9RMq3aeErY5tujekBS32jfC/7AnH7I0v1v1TbbK3Gp
 XNeiN4QroO+5qaSr0ID2sz5jtBLRb15RMre27E1ImpaIv2Jw8NJgW0k/D1RyKCwaTsgRdwuK
 Kx/Y91XuSBdz0uOyU/S8kM1+ag0wvsGlpBVxRR/xw/E8M7TEwuCZQArqqTCmkG6HGcXFT0V9
 PXFNNgV5jXMQRwU0O/ztJIQqsE5LsUomE//bLwzj9IVsaQpKDqW6TAPjcdBDPLHvriq7kGjt
 WhVhdl0qEYB8lkBEU7V2Yb+SYhmhpDrti9Fq1EsmhiHSkxJcGREoMK/63r9WLZYI3+4W2rAc
 UucZa4OT27U5ZISjNg3Ev0rxU5UH2/pT4wJCfxwocmqaRr6UYmrtZmND89X0KigoFD/XSeVv
 jwBRNjPAubK9/k5NoRrYqztM9W6sJqrH8+UWZ1Idd/DdmogJh0gNC0+N42Za9yBRURfIdKSb
 B3JfpUqcWwE7vUaYrHG1nw54pLUoPG6sAA7Mehl3nd4pZUALHwARAQABzSREYXZpZCBIaWxk
 ZW5icmFuZCA8ZGF2aWRAcmVkaGF0LmNvbT7CwZoEEwEIAEQCGwMCF4ACGQEFCwkIBwICIgIG
 FQoJCAsCBBYCAwECHgcWIQQb2cqtc1xMOkYN/MpN3hD3AP+DWgUCaJzangUJJlgIpAAKCRBN
 3hD3AP+DWhAxD/9wcL0A+2rtaAmutaKTfxhTP0b4AAp1r/eLxjrbfbCCmh4pqzBhmSX/4z11
 opn2KqcOsueRF1t2ENLOWzQu3Roiny2HOU7DajqB4dm1BVMaXQya5ae2ghzlJN9SIoopTWlR
 0Af3hPj5E2PYvQhlcqeoehKlBo9rROJv/rjmr2x0yOM8qeTroH/ZzNlCtJ56AsE6Tvl+r7cW
 3x7/Jq5WvWeudKrhFh7/yQ7eRvHCjd9bBrZTlgAfiHmX9AnCCPRPpNGNedV9Yty2Jnxhfmbv
 Pw37LA/jef8zlCDyUh2KCU1xVEOWqg15o1RtTyGV1nXV2O/mfuQJud5vIgzBvHhypc3p6VZJ
 lEf8YmT+Ol5P7SfCs5/uGdWUYQEMqOlg6w9R4Pe8d+mk8KGvfE9/zTwGg0nRgKqlQXrWRERv
 cuEwQbridlPAoQHrFWtwpgYMXx2TaZ3sihcIPo9uU5eBs0rf4mOERY75SK+Ekayv2ucTfjxr
 Kf014py2aoRJHuvy85ee/zIyLmve5hngZTTe3Wg3TInT9UTFzTPhItam6dZ1xqdTGHZYGU0O
 otRHcwLGt470grdiob6PfVTXoHlBvkWRadMhSuG4RORCDpq89vu5QralFNIf3EysNohoFy2A
 LYg2/D53xbU/aa4DDzBb5b1Rkg/udO1gZocVQWrDh6I2K3+cCs7BTQRVy5+RARAA59fefSDR
 9nMGCb9LbMX+TFAoIQo/wgP5XPyzLYakO+94GrgfZjfhdaxPXMsl2+o8jhp/hlIzG56taNdt
 VZtPp3ih1AgbR8rHgXw1xwOpuAd5lE1qNd54ndHuADO9a9A0vPimIes78Hi1/yy+ZEEvRkHk
 /kDa6F3AtTc1m4rbbOk2fiKzzsE9YXweFjQvl9p+AMw6qd/iC4lUk9g0+FQXNdRs+o4o6Qvy
 iOQJfGQ4UcBuOy1IrkJrd8qq5jet1fcM2j4QvsW8CLDWZS1L7kZ5gT5EycMKxUWb8LuRjxzZ
 3QY1aQH2kkzn6acigU3HLtgFyV1gBNV44ehjgvJpRY2cC8VhanTx0dZ9mj1YKIky5N+C0f21
 zvntBqcxV0+3p8MrxRRcgEtDZNav+xAoT3G0W4SahAaUTWXpsZoOecwtxi74CyneQNPTDjNg
 azHmvpdBVEfj7k3p4dmJp5i0U66Onmf6mMFpArvBRSMOKU9DlAzMi4IvhiNWjKVaIE2Se9BY
 FdKVAJaZq85P2y20ZBd08ILnKcj7XKZkLU5FkoA0udEBvQ0f9QLNyyy3DZMCQWcwRuj1m73D
 sq8DEFBdZ5eEkj1dCyx+t/ga6x2rHyc8Sl86oK1tvAkwBNsfKou3v+jP/l14a7DGBvrmlYjO
 59o3t6inu6H7pt7OL6u6BQj7DoMAEQEAAcLBfAQYAQgAJgIbDBYhBBvZyq1zXEw6Rg38yk3e
 EPcA/4NaBQJonNqrBQkmWAihAAoJEE3eEPcA/4NaKtMQALAJ8PzprBEXbXcEXwDKQu+P/vts
 IfUb1UNMfMV76BicGa5NCZnJNQASDP/+bFg6O3gx5NbhHHPeaWz/VxlOmYHokHodOvtL0WCC
 8A5PEP8tOk6029Z+J+xUcMrJClNVFpzVvOpb1lCbhjwAV465Hy+NUSbbUiRxdzNQtLtgZzOV
 Zw7jxUCs4UUZLQTCuBpFgb15bBxYZ/BL9MbzxPxvfUQIPbnzQMcqtpUs21CMK2PdfCh5c4gS
 sDci6D5/ZIBw94UQWmGpM/O1ilGXde2ZzzGYl64glmccD8e87OnEgKnH3FbnJnT4iJchtSvx
 yJNi1+t0+qDti4m88+/9IuPqCKb6Stl+s2dnLtJNrjXBGJtsQG/sRpqsJz5x1/2nPJSRMsx9
 5YfqbdrJSOFXDzZ8/r82HgQEtUvlSXNaXCa95ez0UkOG7+bDm2b3s0XahBQeLVCH0mw3RAQg
 r7xDAYKIrAwfHHmMTnBQDPJwVqxJjVNr7yBic4yfzVWGCGNE4DnOW0vcIeoyhy9vnIa3w1uZ
 3iyY2Nsd7JxfKu1PRhCGwXzRw5TlfEsoRI7V9A8isUCoqE2Dzh3FvYHVeX4Us+bRL/oqareJ
 CIFqgYMyvHj7Q06kTKmauOe4Nf0l0qEkIuIzfoLJ3qr5UyXc2hLtWyT9Ir+lYlX9efqh7mOY
 qIws/H2t
In-Reply-To: <3836a43f-809e-419d-a85d-74606d9daa0f@arm.com>
X-Mimecast-Spam-Score: 0
X-Mimecast-MFC-PROC-ID: iX0aaPrgzscP48RLsMPbxdbr3R0IkHxtqd-ZDoX-PsY_1761248293
X-Mimecast-Originator: redhat.com
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 20.10.25 12:37, Kevin Brodsky wrote:
> On 18/10/2025 11:52, Mike Rapoport wrote:
>>> @@ -231,7 +231,7 @@ static inline int pmd_dirty(pmd_t pmd)
>>>    * held, but for kernel PTE updates, no lock is held). Nesting is not permitted
>>>    * and the mode cannot be used in interrupt context.
>>>    */
>>> -#ifndef __HAVE_ARCH_ENTER_LAZY_MMU_MODE
>>> +#ifndef CONFIG_ARCH_LAZY_MMU
>>>   static inline void arch_enter_lazy_mmu_mode(void) {}
>>>   static inline void arch_leave_lazy_mmu_mode(void) {}
>>>   static inline void arch_flush_lazy_mmu_mode(void) {}
>>> diff --git a/mm/Kconfig b/mm/Kconfig
>>> index 0e26f4fc8717..2fdcb42ca1a1 100644
>>> --- a/mm/Kconfig
>>> +++ b/mm/Kconfig
>>> @@ -1372,6 +1372,9 @@ config PT_RECLAIM
>>>   config FIND_NORMAL_PAGE
>>>   	def_bool n
>>>   
>>> +config ARCH_LAZY_MMU
>>> +	bool
>>> +
>> I think a better name would be ARCH_HAS_LAZY_MMU and the config option fits
>> better to arch/Kconfig.
> 
> Sounds fine by me - I'm inclined to make it slightly longer still,
> ARCH_HAS_LAZY_MMU_MODE, to avoid making "LAZY_MMU" sound like some HW
> feature.

LGTM.

-- 
Cheers

David / dhildenb



From xen-devel-bounces@lists.xenproject.org Thu Oct 23 19:53:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 19:53:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1149619.1481195 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vC1Mt-0008IW-4D; Thu, 23 Oct 2025 19:53:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1149619.1481195; Thu, 23 Oct 2025 19:53:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vC1Mt-0008IP-1E; Thu, 23 Oct 2025 19:53:03 +0000
Received: by outflank-mailman (input) for mailman id 1149619;
 Thu, 23 Oct 2025 19:53:02 +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 <SRS0=MccR=5A=redhat.com=david@srs-se1.protection.inumbo.net>)
 id 1vC1Ms-0008IJ-63
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 19:53:02 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.133.124])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dfb91cef-b049-11f0-980a-7dc792cee155;
 Thu, 23 Oct 2025 21:52:59 +0200 (CEST)
Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com
 [209.85.221.71]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-176-OSjjeg1uPkOa7cfBaVXgqA-1; Thu, 23 Oct 2025 15:52:56 -0400
Received: by mail-wr1-f71.google.com with SMTP id
 ffacd0b85a97d-3ee888281c3so705819f8f.3
 for <xen-devel@lists.xenproject.org>; Thu, 23 Oct 2025 12:52:56 -0700 (PDT)
Received: from ?IPV6:2003:d8:2f4e:3200:c99d:a38b:3f3a:d4b3?
 (p200300d82f4e3200c99da38b3f3ad4b3.dip0.t-ipconnect.de.
 [2003:d8:2f4e:3200:c99d:a38b:3f3a:d4b3])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-429897ff3f5sm5656361f8f.22.2025.10.23.12.52.50
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Oct 2025 12:52:51 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dfb91cef-b049-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1761249177;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
	bh=lu8DXyr9e+174zCCLKyjaz62dq3PQM0ss4FpqXHktAg=;
	b=OrsR79zPxDTTcYjCpvym0L/LCuSjCZ19rXRX5x8xIg/IjiFD0Z+U1rgYVoQ52wuAFh3i5I
	YkUuNoQ6KaveSHE0yExl6xi8FkrL/HMGvz6wRae/OZlTy3CdzMGbVEa5aAh/ukn/KOI3R2
	71Fado/B76mpKrT7Vp34fQ9JgHCU1lQ=
X-MC-Unique: OSjjeg1uPkOa7cfBaVXgqA-1
X-Mimecast-MFC-AGG-ID: OSjjeg1uPkOa7cfBaVXgqA_1761249175
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761249175; x=1761853975;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :from:references:cc:to:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=lu8DXyr9e+174zCCLKyjaz62dq3PQM0ss4FpqXHktAg=;
        b=lYXLVTQmaRTRUiSZCOJ9jnm+e7Bj9txCPtqE+vgmtrdwttnTGZvqNblGtiK7v4xL4U
         i+TGIc6BTZeA6HJo0Fd+XYUBgov58Ss4ljMk+xgP6Aj7IZsjt1152pTL2vjyDIzf2HZ1
         VUU/Kfg78OzfrnFBip0mnZXsrOdhdyUsBTrPIROs6IbvorEwgnTYASnhB6tJKvS7mLMo
         iMBYhyvP91mzJ0RSfI8+oCaI5BofdDTCYdoWKUVK1/f9btRJ2t8k4neQNfoE8UifMV5Q
         kgzG7XGfVMeQqfzZW592LVLZ2NOHtqld/qQsZJUZWhpNJZOxLZ13ARbUJ3NhSmtaP5/Q
         Lvng==
X-Forwarded-Encrypted: i=1; AJvYcCUISbyZ0E1jU1GYoX+qFdxzKQfaTRa3UsEKmOp3ktOpWKLtr0fxSCIiFoi0xq7P+fSCjPW9QJJ5pUU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzbZvqbqG64ctR0J2+QpvbJfyLj0/mlAZNiQ/y5JtN4ufsxNhtj
	Cv4E8TH8RzZ3qPqir61nE5nmBaKsq5rBYyB2ujcSh64VYAuO2kugkE1vvnDCfKZ9i1qNxy+0oyb
	CakzibOKvywcxi56xwhrJKHEtBIqZosjM5m9wMzmld4KBaoB2lhIFxMdFNdcM1ESNpVdm
X-Gm-Gg: ASbGnctbIf+dG2ImAvSOqRC1DKpX/30QilU8/JKNfKIWSaqUc7PfDGSqWCKbzdwa1wp
	H5fMPGKnyp3XZr52pRyqbqv9pCW5WGTu2BseAlmi7W4rVrDjt3sZ4JVe8PfEDUfhw9hkopzlkTC
	uOxQHwAIFpdTaqMZdfzRShOBH57qIKdsqBhL3YqTL75OQb5Q1+F5UuCH5c+g8AkhXE6kUXmwwAC
	UsMiTNMQNv29nzFq10/25F1Z6v6YLo5IXfMWLWE73klBWlYUEpraMHt7CObKjO1PRvQFm4P8BUT
	hOVXqMHzDAj0OqZoPVtggwYMmBp1uouuJ6fG6hc4uCY3glLGU5Lx15g1ikJ4W/p7fc0l65f+cbr
	/tYiv5AXGVn4SLgFcDSaqSSKDEG7Kfhn4wSBZRB07gJXx9OxFFNVdsXmCo20oMGXiEKa8+I+0M4
	lzYwVBEKe0qDkyU/Id8GTQf6R5u2U=
X-Received: by 2002:a05:6000:2911:b0:3eb:df84:62e with SMTP id ffacd0b85a97d-42704d7e9f9mr18404408f8f.3.1761249174914;
        Thu, 23 Oct 2025 12:52:54 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IF7U9VemhLNzul4GpnpOHuDDlV+F0CKxszXYKlJ5dnYJh0XFPFjlnxCdm5Nc2+v3zIM+vRJGA==
X-Received: by 2002:a05:6000:2911:b0:3eb:df84:62e with SMTP id ffacd0b85a97d-42704d7e9f9mr18404377f8f.3.1761249174285;
        Thu, 23 Oct 2025 12:52:54 -0700 (PDT)
Message-ID: <73b274b7-f419-4e2e-8620-d557bac30dc2@redhat.com>
Date: Thu, 23 Oct 2025 21:52:49 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 06/13] mm: introduce generic lazy_mmu helpers
To: Kevin Brodsky <kevin.brodsky@arm.com>, linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org, Alexander Gordeev <agordeev@linux.ibm.com>,
 Andreas Larsson <andreas@gaisler.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, Borislav Petkov
 <bp@alien8.de>, Catalin Marinas <catalin.marinas@arm.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 Dave Hansen <dave.hansen@linux.intel.com>,
 "David S. Miller" <davem@davemloft.net>, "H. Peter Anvin" <hpa@zytor.com>,
 Ingo Molnar <mingo@redhat.com>, Jann Horn <jannh@google.com>,
 Juergen Gross <jgross@suse.com>, "Liam R. Howlett"
 <Liam.Howlett@oracle.com>, Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>, Michal Hocko <mhocko@suse.com>,
 Mike Rapoport <rppt@kernel.org>, Nicholas Piggin <npiggin@gmail.com>,
 Peter Zijlstra <peterz@infradead.org>, Ryan Roberts <ryan.roberts@arm.com>,
 Suren Baghdasaryan <surenb@google.com>, Thomas Gleixner
 <tglx@linutronix.de>, Vlastimil Babka <vbabka@suse.cz>,
 Will Deacon <will@kernel.org>, Yeoreum Yun <yeoreum.yun@arm.com>,
 linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org,
 sparclinux@vger.kernel.org, xen-devel@lists.xenproject.org, x86@kernel.org
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
 <20251015082727.2395128-7-kevin.brodsky@arm.com>
From: David Hildenbrand <david@redhat.com>
Autocrypt: addr=david@redhat.com; keydata=
 xsFNBFXLn5EBEAC+zYvAFJxCBY9Tr1xZgcESmxVNI/0ffzE/ZQOiHJl6mGkmA1R7/uUpiCjJ
 dBrn+lhhOYjjNefFQou6478faXE6o2AhmebqT4KiQoUQFV4R7y1KMEKoSyy8hQaK1umALTdL
 QZLQMzNE74ap+GDK0wnacPQFpcG1AE9RMq3aeErY5tujekBS32jfC/7AnH7I0v1v1TbbK3Gp
 XNeiN4QroO+5qaSr0ID2sz5jtBLRb15RMre27E1ImpaIv2Jw8NJgW0k/D1RyKCwaTsgRdwuK
 Kx/Y91XuSBdz0uOyU/S8kM1+ag0wvsGlpBVxRR/xw/E8M7TEwuCZQArqqTCmkG6HGcXFT0V9
 PXFNNgV5jXMQRwU0O/ztJIQqsE5LsUomE//bLwzj9IVsaQpKDqW6TAPjcdBDPLHvriq7kGjt
 WhVhdl0qEYB8lkBEU7V2Yb+SYhmhpDrti9Fq1EsmhiHSkxJcGREoMK/63r9WLZYI3+4W2rAc
 UucZa4OT27U5ZISjNg3Ev0rxU5UH2/pT4wJCfxwocmqaRr6UYmrtZmND89X0KigoFD/XSeVv
 jwBRNjPAubK9/k5NoRrYqztM9W6sJqrH8+UWZ1Idd/DdmogJh0gNC0+N42Za9yBRURfIdKSb
 B3JfpUqcWwE7vUaYrHG1nw54pLUoPG6sAA7Mehl3nd4pZUALHwARAQABzSREYXZpZCBIaWxk
 ZW5icmFuZCA8ZGF2aWRAcmVkaGF0LmNvbT7CwZoEEwEIAEQCGwMCF4ACGQEFCwkIBwICIgIG
 FQoJCAsCBBYCAwECHgcWIQQb2cqtc1xMOkYN/MpN3hD3AP+DWgUCaJzangUJJlgIpAAKCRBN
 3hD3AP+DWhAxD/9wcL0A+2rtaAmutaKTfxhTP0b4AAp1r/eLxjrbfbCCmh4pqzBhmSX/4z11
 opn2KqcOsueRF1t2ENLOWzQu3Roiny2HOU7DajqB4dm1BVMaXQya5ae2ghzlJN9SIoopTWlR
 0Af3hPj5E2PYvQhlcqeoehKlBo9rROJv/rjmr2x0yOM8qeTroH/ZzNlCtJ56AsE6Tvl+r7cW
 3x7/Jq5WvWeudKrhFh7/yQ7eRvHCjd9bBrZTlgAfiHmX9AnCCPRPpNGNedV9Yty2Jnxhfmbv
 Pw37LA/jef8zlCDyUh2KCU1xVEOWqg15o1RtTyGV1nXV2O/mfuQJud5vIgzBvHhypc3p6VZJ
 lEf8YmT+Ol5P7SfCs5/uGdWUYQEMqOlg6w9R4Pe8d+mk8KGvfE9/zTwGg0nRgKqlQXrWRERv
 cuEwQbridlPAoQHrFWtwpgYMXx2TaZ3sihcIPo9uU5eBs0rf4mOERY75SK+Ekayv2ucTfjxr
 Kf014py2aoRJHuvy85ee/zIyLmve5hngZTTe3Wg3TInT9UTFzTPhItam6dZ1xqdTGHZYGU0O
 otRHcwLGt470grdiob6PfVTXoHlBvkWRadMhSuG4RORCDpq89vu5QralFNIf3EysNohoFy2A
 LYg2/D53xbU/aa4DDzBb5b1Rkg/udO1gZocVQWrDh6I2K3+cCs7BTQRVy5+RARAA59fefSDR
 9nMGCb9LbMX+TFAoIQo/wgP5XPyzLYakO+94GrgfZjfhdaxPXMsl2+o8jhp/hlIzG56taNdt
 VZtPp3ih1AgbR8rHgXw1xwOpuAd5lE1qNd54ndHuADO9a9A0vPimIes78Hi1/yy+ZEEvRkHk
 /kDa6F3AtTc1m4rbbOk2fiKzzsE9YXweFjQvl9p+AMw6qd/iC4lUk9g0+FQXNdRs+o4o6Qvy
 iOQJfGQ4UcBuOy1IrkJrd8qq5jet1fcM2j4QvsW8CLDWZS1L7kZ5gT5EycMKxUWb8LuRjxzZ
 3QY1aQH2kkzn6acigU3HLtgFyV1gBNV44ehjgvJpRY2cC8VhanTx0dZ9mj1YKIky5N+C0f21
 zvntBqcxV0+3p8MrxRRcgEtDZNav+xAoT3G0W4SahAaUTWXpsZoOecwtxi74CyneQNPTDjNg
 azHmvpdBVEfj7k3p4dmJp5i0U66Onmf6mMFpArvBRSMOKU9DlAzMi4IvhiNWjKVaIE2Se9BY
 FdKVAJaZq85P2y20ZBd08ILnKcj7XKZkLU5FkoA0udEBvQ0f9QLNyyy3DZMCQWcwRuj1m73D
 sq8DEFBdZ5eEkj1dCyx+t/ga6x2rHyc8Sl86oK1tvAkwBNsfKou3v+jP/l14a7DGBvrmlYjO
 59o3t6inu6H7pt7OL6u6BQj7DoMAEQEAAcLBfAQYAQgAJgIbDBYhBBvZyq1zXEw6Rg38yk3e
 EPcA/4NaBQJonNqrBQkmWAihAAoJEE3eEPcA/4NaKtMQALAJ8PzprBEXbXcEXwDKQu+P/vts
 IfUb1UNMfMV76BicGa5NCZnJNQASDP/+bFg6O3gx5NbhHHPeaWz/VxlOmYHokHodOvtL0WCC
 8A5PEP8tOk6029Z+J+xUcMrJClNVFpzVvOpb1lCbhjwAV465Hy+NUSbbUiRxdzNQtLtgZzOV
 Zw7jxUCs4UUZLQTCuBpFgb15bBxYZ/BL9MbzxPxvfUQIPbnzQMcqtpUs21CMK2PdfCh5c4gS
 sDci6D5/ZIBw94UQWmGpM/O1ilGXde2ZzzGYl64glmccD8e87OnEgKnH3FbnJnT4iJchtSvx
 yJNi1+t0+qDti4m88+/9IuPqCKb6Stl+s2dnLtJNrjXBGJtsQG/sRpqsJz5x1/2nPJSRMsx9
 5YfqbdrJSOFXDzZ8/r82HgQEtUvlSXNaXCa95ez0UkOG7+bDm2b3s0XahBQeLVCH0mw3RAQg
 r7xDAYKIrAwfHHmMTnBQDPJwVqxJjVNr7yBic4yfzVWGCGNE4DnOW0vcIeoyhy9vnIa3w1uZ
 3iyY2Nsd7JxfKu1PRhCGwXzRw5TlfEsoRI7V9A8isUCoqE2Dzh3FvYHVeX4Us+bRL/oqareJ
 CIFqgYMyvHj7Q06kTKmauOe4Nf0l0qEkIuIzfoLJ3qr5UyXc2hLtWyT9Ir+lYlX9efqh7mOY
 qIws/H2t
In-Reply-To: <20251015082727.2395128-7-kevin.brodsky@arm.com>
X-Mimecast-Spam-Score: 0
X-Mimecast-MFC-PROC-ID: wDQYzUZFsQCjwVIILfsZ_qoECcjhNw9-Sem3daf0hjo_1761249175
X-Mimecast-Originator: redhat.com
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 15.10.25 10:27, Kevin Brodsky wrote:
> The implementation of the lazy MMU mode is currently entirely
> arch-specific; core code directly calls arch helpers:
> arch_{enter,leave}_lazy_mmu_mode().
> 
> We are about to introduce support for nested lazy MMU sections.
> As things stand we'd have to duplicate that logic in every arch
> implementing lazy_mmu - adding to a fair amount of logic
> already duplicated across lazy_mmu implementations.
> 
> This patch therefore introduces a new generic layer that calls the
> existing arch_* helpers. Two pair of calls are introduced:
> 
> * lazy_mmu_mode_enable() ... lazy_mmu_mode_disable()
>      This is the standard case where the mode is enabled for a given
>      block of code by surrounding it with enable() and disable()
>      calls.
> 
> * lazy_mmu_mode_pause() ... lazy_mmu_mode_resume()
>      This is for situations where the mode is temporarily disabled
>      by first calling pause() and then resume() (e.g. to prevent any
>      batching from occurring in a critical section).
> 
> The documentation in <linux/pgtable.h> will be updated in a
> subsequent patch.
> 
> No functional change should be introduced at this stage.
> The implementation of enable()/resume() and disable()/pause() is
> currently identical, but nesting support will change that.
> 
> Most of the call sites have been updated using the following
> Coccinelle script:
> 
> @@
> @@
> {
> ...
> - arch_enter_lazy_mmu_mode();
> + lazy_mmu_mode_enable();
> ...
> - arch_leave_lazy_mmu_mode();
> + lazy_mmu_mode_disable();
> ...
> }
> 
> @@
> @@
> {
> ...
> - arch_leave_lazy_mmu_mode();
> + lazy_mmu_mode_pause();
> ...
> - arch_enter_lazy_mmu_mode();
> + lazy_mmu_mode_resume();
> ...
> }
> 
> A couple of cases are noteworthy:
> 
> * madvise_*_pte_range() call arch_leave() in multiple paths, some
>    followed by an immediate exit/rescheduling and some followed by a
>    conditional exit. These functions assume that they are called
>    with lazy MMU disabled and we cannot simply use pause()/resume()
>    to address that. This patch leaves the situation unchanged by
>    calling enable()/disable() in all cases.

I'm confused, the function simply does

(a) enables lazy mmu
(b) does something on the page table
(c) disables lazy mmu
(d) does something expensive (split folio -> take sleepable locks,
     flushes tlb)
(e) go to (a)

Why would we use enable/disable instead?

> 
> * x86/Xen is currently the only case where explicit handling is
>    required for lazy MMU when context-switching. This is purely an
>    implementation detail and using the generic lazy_mmu_mode_*
>    functions would cause trouble when nesting support is introduced,
>    because the generic functions must be called from the current task.
>    For that reason we still use arch_leave() and arch_enter() there.

How does this interact with patch #11?

> 
> Note: x86 calls arch_flush_lazy_mmu_mode() unconditionally in a few
> places, but only defines it if PARAVIRT_XXL is selected, and we are
> removing the fallback in <linux/pgtable.h>. Add a new fallback
> definition to <asm/pgtable.h> to keep things building.

I can see a call in __kernel_map_pages() and 
arch_kmap_local_post_map()/arch_kmap_local_post_unmap().

I guess that is ... harmless/irrelevant in the context of this series?

[...]


-- 
Cheers

David / dhildenb



From xen-devel-bounces@lists.xenproject.org Thu Oct 23 20:00:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 20:00:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1149637.1481206 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vC1UB-0001p0-Vb; Thu, 23 Oct 2025 20:00:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1149637.1481206; Thu, 23 Oct 2025 20:00:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vC1UB-0001ot-SE; Thu, 23 Oct 2025 20:00:35 +0000
Received: by outflank-mailman (input) for mailman id 1149637;
 Thu, 23 Oct 2025 20:00:34 +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 <SRS0=MccR=5A=redhat.com=david@srs-se1.protection.inumbo.net>)
 id 1vC1UA-0001oh-IG
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 20:00:34 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.133.124])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id edeb358b-b04a-11f0-980a-7dc792cee155;
 Thu, 23 Oct 2025 22:00:32 +0200 (CEST)
Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com
 [209.85.221.70]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-164-qEggBGIhO9-npBI9RCKncA-1; Thu, 23 Oct 2025 16:00:29 -0400
Received: by mail-wr1-f70.google.com with SMTP id
 ffacd0b85a97d-427015f62a7so552966f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 23 Oct 2025 13:00:28 -0700 (PDT)
Received: from ?IPV6:2003:d8:2f4e:3200:c99d:a38b:3f3a:d4b3?
 (p200300d82f4e3200c99da38b3f3ad4b3.dip0.t-ipconnect.de.
 [2003:d8:2f4e:3200:c99d:a38b:3f3a:d4b3])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-429898ee8a9sm5476369f8f.46.2025.10.23.13.00.24
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Oct 2025 13:00:26 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: edeb358b-b04a-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1761249631;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
	bh=fgiDH3MpoD7uD2qK9rjnzvlUwoqe2VD6FKHIi7bhrcw=;
	b=d00KWeufa3AKSa8FKCpowxH3XRbDbA5BHwPakkGVmrcC9krGonCZu1o+7WaWJo+HSJFgrJ
	/gWrdOmzoElBEnJxHnDNJMMmQVgNPEbyrl9uVnhLBq/hsUjIFzKmcMvjsDoZl1G+MJuBJJ
	LJlW96uwuS7/v56TWKVba6edZsmDSQI=
X-MC-Unique: qEggBGIhO9-npBI9RCKncA-1
X-Mimecast-MFC-AGG-ID: qEggBGIhO9-npBI9RCKncA_1761249627
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761249627; x=1761854427;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :from:references:cc:to:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=fgiDH3MpoD7uD2qK9rjnzvlUwoqe2VD6FKHIi7bhrcw=;
        b=k2MnT1lYxgQSUIEHPX7Of8aRI7gdFSzaFXbvQXVIQ8U9+Dvcsvw0CYVtEJ46jP9R11
         ewXx4kN3nZBubeT2jdoIoAdVJ+fzsYA4vn8qjbXnWeXahZmEqgf4H6bN08GpYsRfsKTM
         jo3Hzc+NM9anokd47RpzANZ2BKyEAT9osJS0k1ufPb0D2P1Jhas6ZGALFXjXpUUhr8/v
         Mz6HwOdQAhBq7S0kgF3LiovFXM191vuNzWHtlfywWT9Aerq5fpoGUEU0RTBUrkq3bonC
         BE7j80Js3b9ycPqlMrvYz0T+FXRv3AbVgj/M4jmq8nZdToQRPGZtEu8o9GOJ8W5TOLZZ
         1dNA==
X-Forwarded-Encrypted: i=1; AJvYcCVu8fDIA+o/TBMO4zjL/6OT6Yrrfk39JLyCMLxkVgPRVVqayCMywVx5/wymY9fJ9Eq7xGyWj/vQoTM=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxdeee1Q2j5xRwBp3NkXjEh0emWd9rIN458NIwsGxKLzQQXFAXh
	B+77oiKsVJeBzWCqILJ5MwK54C9Vk8E6B3KRC5SjaIFti7SFGzvGQVK2knj3zApDZ+kMJgPYhai
	1C3iDGEfb8nMcfiW0VlgZzYGpr6bC1Z7gyJndTPQbDpyUgJeS80YeojzwZqkd44ltOabf
X-Gm-Gg: ASbGncuVa0DSQv9gTMHvDuvqltan7Noj5qr3IAm9qSg/RxotYui/6hK8zW64x2MMtn2
	8Prug1VJNeVFnAX5YEyeYCEL4Z5L+eOf76FIHMKSoqwuybOJ/5gODjzOIGtYIQ7RyV2ynj8gygU
	uOrHilw74Yh/ZbVS4WduIWFmfoSXFTe/RLElSGpzssKzNxvWSP71m5rfM1vhdiJJsotBrotVogH
	PjPXgYQPzlxVK4xqZ4lg7XzrIcn8z+9WiUQ6lp0EqtQNVjEdTgRK8I+nJchNFLFtwghicbrSWNK
	kcyI+TXMfIyJoH8JReGy80XDM0FUCTdy1rFr4niFENUx0APqDHfxcgcVnl6nKR08ZxTx43/CAq8
	+5cXQZYf+5ALLXZ2XVyyUwPcLRNkwEP7zAwSbHbaRUe3jQIxGOJkyJZ7TRENvN3v4kG4vJbq3Z2
	VqNneBfUBN62x22ha19BRntWYjAGQ=
X-Received: by 2002:a05:6000:2507:b0:427:370:20a3 with SMTP id ffacd0b85a97d-42704d96174mr19941783f8f.38.1761249627185;
        Thu, 23 Oct 2025 13:00:27 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IG+rZmuEcRX9PJVwcjwDKugYlruYrunINiyEqNzleVVHplYzNJRNIG0mWVdUdIxUb84AVBP9w==
X-Received: by 2002:a05:6000:2507:b0:427:370:20a3 with SMTP id ffacd0b85a97d-42704d96174mr19941727f8f.38.1761249626561;
        Thu, 23 Oct 2025 13:00:26 -0700 (PDT)
Message-ID: <2073294c-8003-451a-93e0-9aab81de4d22@redhat.com>
Date: Thu, 23 Oct 2025 22:00:23 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 07/13] mm: enable lazy_mmu sections to nest
To: Kevin Brodsky <kevin.brodsky@arm.com>, linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org, Alexander Gordeev <agordeev@linux.ibm.com>,
 Andreas Larsson <andreas@gaisler.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, Borislav Petkov
 <bp@alien8.de>, Catalin Marinas <catalin.marinas@arm.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 Dave Hansen <dave.hansen@linux.intel.com>,
 "David S. Miller" <davem@davemloft.net>, "H. Peter Anvin" <hpa@zytor.com>,
 Ingo Molnar <mingo@redhat.com>, Jann Horn <jannh@google.com>,
 Juergen Gross <jgross@suse.com>, "Liam R. Howlett"
 <Liam.Howlett@oracle.com>, Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>, Michal Hocko <mhocko@suse.com>,
 Mike Rapoport <rppt@kernel.org>, Nicholas Piggin <npiggin@gmail.com>,
 Peter Zijlstra <peterz@infradead.org>, Ryan Roberts <ryan.roberts@arm.com>,
 Suren Baghdasaryan <surenb@google.com>, Thomas Gleixner
 <tglx@linutronix.de>, Vlastimil Babka <vbabka@suse.cz>,
 Will Deacon <will@kernel.org>, Yeoreum Yun <yeoreum.yun@arm.com>,
 linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org,
 sparclinux@vger.kernel.org, xen-devel@lists.xenproject.org, x86@kernel.org
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
 <20251015082727.2395128-8-kevin.brodsky@arm.com>
From: David Hildenbrand <david@redhat.com>
Autocrypt: addr=david@redhat.com; keydata=
 xsFNBFXLn5EBEAC+zYvAFJxCBY9Tr1xZgcESmxVNI/0ffzE/ZQOiHJl6mGkmA1R7/uUpiCjJ
 dBrn+lhhOYjjNefFQou6478faXE6o2AhmebqT4KiQoUQFV4R7y1KMEKoSyy8hQaK1umALTdL
 QZLQMzNE74ap+GDK0wnacPQFpcG1AE9RMq3aeErY5tujekBS32jfC/7AnH7I0v1v1TbbK3Gp
 XNeiN4QroO+5qaSr0ID2sz5jtBLRb15RMre27E1ImpaIv2Jw8NJgW0k/D1RyKCwaTsgRdwuK
 Kx/Y91XuSBdz0uOyU/S8kM1+ag0wvsGlpBVxRR/xw/E8M7TEwuCZQArqqTCmkG6HGcXFT0V9
 PXFNNgV5jXMQRwU0O/ztJIQqsE5LsUomE//bLwzj9IVsaQpKDqW6TAPjcdBDPLHvriq7kGjt
 WhVhdl0qEYB8lkBEU7V2Yb+SYhmhpDrti9Fq1EsmhiHSkxJcGREoMK/63r9WLZYI3+4W2rAc
 UucZa4OT27U5ZISjNg3Ev0rxU5UH2/pT4wJCfxwocmqaRr6UYmrtZmND89X0KigoFD/XSeVv
 jwBRNjPAubK9/k5NoRrYqztM9W6sJqrH8+UWZ1Idd/DdmogJh0gNC0+N42Za9yBRURfIdKSb
 B3JfpUqcWwE7vUaYrHG1nw54pLUoPG6sAA7Mehl3nd4pZUALHwARAQABzSREYXZpZCBIaWxk
 ZW5icmFuZCA8ZGF2aWRAcmVkaGF0LmNvbT7CwZoEEwEIAEQCGwMCF4ACGQEFCwkIBwICIgIG
 FQoJCAsCBBYCAwECHgcWIQQb2cqtc1xMOkYN/MpN3hD3AP+DWgUCaJzangUJJlgIpAAKCRBN
 3hD3AP+DWhAxD/9wcL0A+2rtaAmutaKTfxhTP0b4AAp1r/eLxjrbfbCCmh4pqzBhmSX/4z11
 opn2KqcOsueRF1t2ENLOWzQu3Roiny2HOU7DajqB4dm1BVMaXQya5ae2ghzlJN9SIoopTWlR
 0Af3hPj5E2PYvQhlcqeoehKlBo9rROJv/rjmr2x0yOM8qeTroH/ZzNlCtJ56AsE6Tvl+r7cW
 3x7/Jq5WvWeudKrhFh7/yQ7eRvHCjd9bBrZTlgAfiHmX9AnCCPRPpNGNedV9Yty2Jnxhfmbv
 Pw37LA/jef8zlCDyUh2KCU1xVEOWqg15o1RtTyGV1nXV2O/mfuQJud5vIgzBvHhypc3p6VZJ
 lEf8YmT+Ol5P7SfCs5/uGdWUYQEMqOlg6w9R4Pe8d+mk8KGvfE9/zTwGg0nRgKqlQXrWRERv
 cuEwQbridlPAoQHrFWtwpgYMXx2TaZ3sihcIPo9uU5eBs0rf4mOERY75SK+Ekayv2ucTfjxr
 Kf014py2aoRJHuvy85ee/zIyLmve5hngZTTe3Wg3TInT9UTFzTPhItam6dZ1xqdTGHZYGU0O
 otRHcwLGt470grdiob6PfVTXoHlBvkWRadMhSuG4RORCDpq89vu5QralFNIf3EysNohoFy2A
 LYg2/D53xbU/aa4DDzBb5b1Rkg/udO1gZocVQWrDh6I2K3+cCs7BTQRVy5+RARAA59fefSDR
 9nMGCb9LbMX+TFAoIQo/wgP5XPyzLYakO+94GrgfZjfhdaxPXMsl2+o8jhp/hlIzG56taNdt
 VZtPp3ih1AgbR8rHgXw1xwOpuAd5lE1qNd54ndHuADO9a9A0vPimIes78Hi1/yy+ZEEvRkHk
 /kDa6F3AtTc1m4rbbOk2fiKzzsE9YXweFjQvl9p+AMw6qd/iC4lUk9g0+FQXNdRs+o4o6Qvy
 iOQJfGQ4UcBuOy1IrkJrd8qq5jet1fcM2j4QvsW8CLDWZS1L7kZ5gT5EycMKxUWb8LuRjxzZ
 3QY1aQH2kkzn6acigU3HLtgFyV1gBNV44ehjgvJpRY2cC8VhanTx0dZ9mj1YKIky5N+C0f21
 zvntBqcxV0+3p8MrxRRcgEtDZNav+xAoT3G0W4SahAaUTWXpsZoOecwtxi74CyneQNPTDjNg
 azHmvpdBVEfj7k3p4dmJp5i0U66Onmf6mMFpArvBRSMOKU9DlAzMi4IvhiNWjKVaIE2Se9BY
 FdKVAJaZq85P2y20ZBd08ILnKcj7XKZkLU5FkoA0udEBvQ0f9QLNyyy3DZMCQWcwRuj1m73D
 sq8DEFBdZ5eEkj1dCyx+t/ga6x2rHyc8Sl86oK1tvAkwBNsfKou3v+jP/l14a7DGBvrmlYjO
 59o3t6inu6H7pt7OL6u6BQj7DoMAEQEAAcLBfAQYAQgAJgIbDBYhBBvZyq1zXEw6Rg38yk3e
 EPcA/4NaBQJonNqrBQkmWAihAAoJEE3eEPcA/4NaKtMQALAJ8PzprBEXbXcEXwDKQu+P/vts
 IfUb1UNMfMV76BicGa5NCZnJNQASDP/+bFg6O3gx5NbhHHPeaWz/VxlOmYHokHodOvtL0WCC
 8A5PEP8tOk6029Z+J+xUcMrJClNVFpzVvOpb1lCbhjwAV465Hy+NUSbbUiRxdzNQtLtgZzOV
 Zw7jxUCs4UUZLQTCuBpFgb15bBxYZ/BL9MbzxPxvfUQIPbnzQMcqtpUs21CMK2PdfCh5c4gS
 sDci6D5/ZIBw94UQWmGpM/O1ilGXde2ZzzGYl64glmccD8e87OnEgKnH3FbnJnT4iJchtSvx
 yJNi1+t0+qDti4m88+/9IuPqCKb6Stl+s2dnLtJNrjXBGJtsQG/sRpqsJz5x1/2nPJSRMsx9
 5YfqbdrJSOFXDzZ8/r82HgQEtUvlSXNaXCa95ez0UkOG7+bDm2b3s0XahBQeLVCH0mw3RAQg
 r7xDAYKIrAwfHHmMTnBQDPJwVqxJjVNr7yBic4yfzVWGCGNE4DnOW0vcIeoyhy9vnIa3w1uZ
 3iyY2Nsd7JxfKu1PRhCGwXzRw5TlfEsoRI7V9A8isUCoqE2Dzh3FvYHVeX4Us+bRL/oqareJ
 CIFqgYMyvHj7Q06kTKmauOe4Nf0l0qEkIuIzfoLJ3qr5UyXc2hLtWyT9Ir+lYlX9efqh7mOY
 qIws/H2t
In-Reply-To: <20251015082727.2395128-8-kevin.brodsky@arm.com>
X-Mimecast-Spam-Score: 0
X-Mimecast-MFC-PROC-ID: C8EmdN0MVBuY0jR-qLCfooTXPZjGn2YrkFIkEso9bhQ_1761249627
X-Mimecast-Originator: redhat.com
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

[...]


> 
> In summary (count/enabled represent the values *after* the call):
> 
> lazy_mmu_mode_enable()		-> arch_enter()	    count=1 enabled=1
>      lazy_mmu_mode_enable()	-> Ã¸		    count=2 enabled=1
> 	lazy_mmu_mode_pause()	-> arch_leave()     count=2 enabled=0

The arch_leave..() is expected to do a flush itself, correct?

> 	lazy_mmu_mode_resume()	-> arch_enter()     count=2 enabled=1
>      lazy_mmu_mode_disable()	-> arch_flush()     count=1 enabled=1
> lazy_mmu_mode_disable()		-> arch_leave()     count=0 enabled=0
> 
> Note: in_lazy_mmu_mode() is added to <linux/sched.h> to allow arch
> headers included by <linux/pgtable.h> to use it.
> 
> Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
> ---
> Alexander Gordeev suggested that a future optimisation may need
> lazy_mmu_mode_{pause,resume}() to call distinct arch callbacks [1]. For
> now arch_{leave,enter}() are called directly, but introducing new arch
> callbacks should be straightforward.
> 
> [1] https://lore.kernel.org/all/5a0818bb-75d4-47df-925c-0102f7d598f4-agordeev@linux.ibm.com/
> ---

[...]

>   
> +struct lazy_mmu_state {
> +	u8 count;

I would have called this "enabled_count" or "nesting_level".

> +	bool enabled;

"enabled" is a bit confusing when we have lazy_mmu_mode_enable().

I'd have called this "active".

> +};
> +
>   #endif /* _LINUX_MM_TYPES_TASK_H */
> diff --git a/include/linux/pgtable.h b/include/linux/pgtable.h
> index 194b2c3e7576..269225a733de 100644
> --- a/include/linux/pgtable.h
> +++ b/include/linux/pgtable.h
> @@ -228,28 +228,89 @@ static inline int pmd_dirty(pmd_t pmd)
>    * of the lazy mode. So the implementation must assume preemption may be enabled
>    * and cpu migration is possible; it must take steps to be robust against this.
>    * (In practice, for user PTE updates, the appropriate page table lock(s) are
> - * held, but for kernel PTE updates, no lock is held). Nesting is not permitted
> - * and the mode cannot be used in interrupt context.
> + * held, but for kernel PTE updates, no lock is held). The mode cannot be used
> + * in interrupt context.
> + *
> + * The lazy MMU mode is enabled for a given block of code using:
> + *
> + *   lazy_mmu_mode_enable();
> + *   <code>
> + *   lazy_mmu_mode_disable();
> + *
> + * Nesting is permitted: <code> may itself use an enable()/disable() pair.
> + * A nested call to enable() has no functional effect; however disable() causes
> + * any batched architectural state to be flushed regardless of nesting. After a
> + * call to disable(), the caller can therefore rely on all previous page table
> + * modifications to have taken effect, but the lazy MMU mode may still be
> + * enabled.
> + *
> + * In certain cases, it may be desirable to temporarily pause the lazy MMU mode.
> + * This can be done using:
> + *
> + *   lazy_mmu_mode_pause();
> + *   <code>
> + *   lazy_mmu_mode_resume();
> + *
> + * This sequence must only be used if the lazy MMU mode is already enabled.
> + * pause() ensures that the mode is exited regardless of the nesting level;
> + * resume() re-enters the mode at the same nesting level. <code> must not modify
> + * the lazy MMU state (i.e. it must not call any of the lazy_mmu_mode_*
> + * helpers).
> + *
> + * in_lazy_mmu_mode() can be used to check whether the lazy MMU mode is
> + * currently enabled.
>    */
>   #ifdef CONFIG_ARCH_LAZY_MMU
>   static inline void lazy_mmu_mode_enable(void)
>   {
> -	arch_enter_lazy_mmu_mode();
> +	struct lazy_mmu_state *state = &current->lazy_mmu_state;
> +
> +	VM_BUG_ON(state->count == U8_MAX);

No VM_BUG_ON() please.

> +	/* enable() must not be called while paused */
> +	VM_WARN_ON(state->count > 0 && !state->enabled);
> +
> +	if (state->count == 0) {
> +		arch_enter_lazy_mmu_mode();
> +		state->enabled = true;
> +	}
> +	++state->count;

Can do

if (state->count++ == 0) {

>   }
>   
>   static inline void lazy_mmu_mode_disable(void)
>   {
> -	arch_leave_lazy_mmu_mode();
> +	struct lazy_mmu_state *state = &current->lazy_mmu_state;
> +
> +	VM_BUG_ON(state->count == 0);

Dito.

> +	VM_WARN_ON(!state->enabled);
> +
> +	--state->count;
> +	if (state->count == 0) {

Can do

if (--state->count == 0) {

> +		state->enabled = false;
> +		arch_leave_lazy_mmu_mode();
> +	} else {
> +		/* Exiting a nested section */
> +		arch_flush_lazy_mmu_mode();
> +	}
>   }
>   
>   static inline void lazy_mmu_mode_pause(void)
>   {
> +	struct lazy_mmu_state *state = &current->lazy_mmu_state;
> +
> +	VM_WARN_ON(state->count == 0 || !state->enabled);
> +
> +	state->enabled = false;
>   	arch_leave_lazy_mmu_mode();
>   }
>   
>   static inline void lazy_mmu_mode_resume(void)
>   {
> +	struct lazy_mmu_state *state = &current->lazy_mmu_state;
> +
> +	VM_WARN_ON(state->count == 0 || state->enabled);
> +
>   	arch_enter_lazy_mmu_mode();
> +	state->enabled = true;
>   }
>   #else
>   static inline void lazy_mmu_mode_enable(void) {}
> diff --git a/include/linux/sched.h b/include/linux/sched.h
> index cbb7340c5866..2862d8bf2160 100644
> --- a/include/linux/sched.h
> +++ b/include/linux/sched.h
> @@ -1441,6 +1441,10 @@ struct task_struct {
>   
>   	struct page_frag		task_frag;
>   
> +#ifdef CONFIG_ARCH_LAZY_MMU
> +	struct lazy_mmu_state		lazy_mmu_state;
> +#endif
> +
>   #ifdef CONFIG_TASK_DELAY_ACCT
>   	struct task_delay_info		*delays;
>   #endif
> @@ -1724,6 +1728,18 @@ static inline char task_state_to_char(struct task_struct *tsk)
>   	return task_index_to_char(task_state_index(tsk));
>   }
>   
> +#ifdef CONFIG_ARCH_LAZY_MMU
> +static inline bool in_lazy_mmu_mode(void)

So these functions will reveal the actual arch state, not whether
_enabled() was called.

As I can see in later patches, in interrupt context they are also
return "not in lazy mmu mode".

-- 
Cheers

David / dhildenb



From xen-devel-bounces@lists.xenproject.org Thu Oct 23 20:02:41 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 20:02:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1149646.1481216 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vC1WB-0002Kq-BF; Thu, 23 Oct 2025 20:02:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1149646.1481216; Thu, 23 Oct 2025 20:02:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vC1WB-0002Kj-7C; Thu, 23 Oct 2025 20:02:39 +0000
Received: by outflank-mailman (input) for mailman id 1149646;
 Thu, 23 Oct 2025 20:02: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 <SRS0=MccR=5A=redhat.com=david@srs-se1.protection.inumbo.net>)
 id 1vC1WA-0002Kb-RB
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 20:02:38 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.133.124])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 383a7f16-b04b-11f0-9d15-b5c5bf9af7f9;
 Thu, 23 Oct 2025 22:02:37 +0200 (CEST)
Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com
 [209.85.128.72]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-428-1l4tArRWMc6Y1oFyEGEkBQ-1; Thu, 23 Oct 2025 16:02:32 -0400
Received: by mail-wm1-f72.google.com with SMTP id
 5b1f17b1804b1-471168953bdso14435715e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 23 Oct 2025 13:02:32 -0700 (PDT)
Received: from ?IPV6:2003:d8:2f4e:3200:c99d:a38b:3f3a:d4b3?
 (p200300d82f4e3200c99da38b3f3ad4b3.dip0.t-ipconnect.de.
 [2003:d8:2f4e:3200:c99d:a38b:3f3a:d4b3])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-475caea0468sm54964965e9.8.2025.10.23.13.02.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Oct 2025 13:02:30 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 383a7f16-b04b-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1761249755;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
	bh=y4TTOO2cgFz3W+ccXXdCSitozQat0wJ24BVv7Ue1CUk=;
	b=ZBTbjO3hhmvFxI3OLGtkIaEr0cEMa3Tftrqp8EEvwqfTsn5DD6GjziA5RGjC4RBD8Nyvdc
	ywY1CGx8kQHzMqgHWT7+XiH5PetrqajEG06/si3Fvy6LbTpwG39e0pbZmQwW3DTDn9YBcD
	els7qo/+pwoPlIJCLbB0dUzaziDAkmU=
X-MC-Unique: 1l4tArRWMc6Y1oFyEGEkBQ-1
X-Mimecast-MFC-AGG-ID: 1l4tArRWMc6Y1oFyEGEkBQ_1761249751
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761249751; x=1761854551;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :from:references:cc:to:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=y4TTOO2cgFz3W+ccXXdCSitozQat0wJ24BVv7Ue1CUk=;
        b=QtOtylCCzzU6N3qS4iLIxqgX4Dq++OSYgiMotAzrjWaFP6iyOGmE3KewIeo4LGyroH
         hEq6/wSoMJy6epx9Hp57AkYuy2R8Fdji0fkQ66y2mi2UQGmqXs3z0n1kO/vJ+HL2zwFr
         jeyXLxYU+wcpndNmavO+bm0Hy4oQOhM6jqXMZOwGEclltDCY1kIG9azXj0qORICY6ES9
         QFjzQ9FEJRIAYvcwwVRHQ8HDnRrFQt9YScDWmZ9gH1LhkEDpyTftZHJIoBZk8sD/iaQw
         fLGDi1inFAjuVlqEN0dCgEQ96DZLKgbcTqhy3g/sUXb33s5VATNeMCr+tdnvWQhuLXgs
         7hcw==
X-Forwarded-Encrypted: i=1; AJvYcCXou2Xdmd7EJDJk6JgHzJeNuHSDBWaM6hkfOci/0SpiagiRyQA5qrsvzx166E3dfdfmVSgAvQs8O2Y=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzeKaCOwUnqe6ZdHsHs3OkYHh5k2xgKPXG8HiEQNgNS6dCLNIYJ
	h5HoQUeDnHAU4czmShxbo8VnfiRfqCEx05rFibgKVsHuZ+UCY6IDZtJey6YI48Xy54i07OBMguJ
	uXqd7YAM26alTYOb4Jj5iWkVoQM4uOH8hNQ2W1gfGzK9zPqW+UPduEwAw6wRmR6We2Pod
X-Gm-Gg: ASbGncu3/mUJqRT7i4ToJFgPfB88LLdPsoIV6QjwNzP51bBqN4+Ulnib+fQO3DUFjiM
	tSmdgu6w4Oa6q3xC+g52oEMmZMlqxv+uywxTTAzGcJutVGrhXZl9+F3LIfR5uPQShzFwKkEAe8H
	h/tebP4pjewM2BVqmNH/9KXodeTiXqhO3u285c2Hhe1DBIBodA2H8cMC/7ZCIYmjaDjfk2Uh97s
	mADQxiHsLW1tYoKbMbDMd0WiQldRGOgOxbvbeJcWgycrcvNtfbF5c4cwrYEjtYaubQ9BVOWay6/
	fyaxMc6FebxqKa+YsHZyJxyZbJXFpxPwlDoK9fXTaeAPN+0dNONSzYnnNnvfiFIywC+BKpXjAgX
	kt+Dvz8wEQm7uHlJB0/SsV19RO60EyyOIKugrRAl+3atQDH5UysigYy/GpRI2goxn83RBkFjFxc
	vZc0sQzizT0MEyPIcBD2t5PYM7fCg=
X-Received: by 2002:a05:600c:1f13:b0:46e:3b58:1b40 with SMTP id 5b1f17b1804b1-475d24125f6mr1089695e9.4.1761249751048;
        Thu, 23 Oct 2025 13:02:31 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IEMw+Op04CJGmhD/YPV6zz3oVUY6+u4w9wry9vJKgjouN71r54k9F5kFdt15tjjDg/5cU58MA==
X-Received: by 2002:a05:600c:1f13:b0:46e:3b58:1b40 with SMTP id 5b1f17b1804b1-475d24125f6mr1089255e9.4.1761249750674;
        Thu, 23 Oct 2025 13:02:30 -0700 (PDT)
Message-ID: <8d5243ec-3edd-49a6-ab51-16643a709d84@redhat.com>
Date: Thu, 23 Oct 2025 22:02:28 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 09/13] powerpc/mm: replace batch->active with
 in_lazy_mmu_mode()
To: Kevin Brodsky <kevin.brodsky@arm.com>, linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org, Alexander Gordeev <agordeev@linux.ibm.com>,
 Andreas Larsson <andreas@gaisler.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, Borislav Petkov
 <bp@alien8.de>, Catalin Marinas <catalin.marinas@arm.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 Dave Hansen <dave.hansen@linux.intel.com>,
 "David S. Miller" <davem@davemloft.net>, "H. Peter Anvin" <hpa@zytor.com>,
 Ingo Molnar <mingo@redhat.com>, Jann Horn <jannh@google.com>,
 Juergen Gross <jgross@suse.com>, "Liam R. Howlett"
 <Liam.Howlett@oracle.com>, Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>, Michal Hocko <mhocko@suse.com>,
 Mike Rapoport <rppt@kernel.org>, Nicholas Piggin <npiggin@gmail.com>,
 Peter Zijlstra <peterz@infradead.org>, Ryan Roberts <ryan.roberts@arm.com>,
 Suren Baghdasaryan <surenb@google.com>, Thomas Gleixner
 <tglx@linutronix.de>, Vlastimil Babka <vbabka@suse.cz>,
 Will Deacon <will@kernel.org>, Yeoreum Yun <yeoreum.yun@arm.com>,
 linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org,
 sparclinux@vger.kernel.org, xen-devel@lists.xenproject.org, x86@kernel.org
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
 <20251015082727.2395128-10-kevin.brodsky@arm.com>
From: David Hildenbrand <david@redhat.com>
Autocrypt: addr=david@redhat.com; keydata=
 xsFNBFXLn5EBEAC+zYvAFJxCBY9Tr1xZgcESmxVNI/0ffzE/ZQOiHJl6mGkmA1R7/uUpiCjJ
 dBrn+lhhOYjjNefFQou6478faXE6o2AhmebqT4KiQoUQFV4R7y1KMEKoSyy8hQaK1umALTdL
 QZLQMzNE74ap+GDK0wnacPQFpcG1AE9RMq3aeErY5tujekBS32jfC/7AnH7I0v1v1TbbK3Gp
 XNeiN4QroO+5qaSr0ID2sz5jtBLRb15RMre27E1ImpaIv2Jw8NJgW0k/D1RyKCwaTsgRdwuK
 Kx/Y91XuSBdz0uOyU/S8kM1+ag0wvsGlpBVxRR/xw/E8M7TEwuCZQArqqTCmkG6HGcXFT0V9
 PXFNNgV5jXMQRwU0O/ztJIQqsE5LsUomE//bLwzj9IVsaQpKDqW6TAPjcdBDPLHvriq7kGjt
 WhVhdl0qEYB8lkBEU7V2Yb+SYhmhpDrti9Fq1EsmhiHSkxJcGREoMK/63r9WLZYI3+4W2rAc
 UucZa4OT27U5ZISjNg3Ev0rxU5UH2/pT4wJCfxwocmqaRr6UYmrtZmND89X0KigoFD/XSeVv
 jwBRNjPAubK9/k5NoRrYqztM9W6sJqrH8+UWZ1Idd/DdmogJh0gNC0+N42Za9yBRURfIdKSb
 B3JfpUqcWwE7vUaYrHG1nw54pLUoPG6sAA7Mehl3nd4pZUALHwARAQABzSREYXZpZCBIaWxk
 ZW5icmFuZCA8ZGF2aWRAcmVkaGF0LmNvbT7CwZoEEwEIAEQCGwMCF4ACGQEFCwkIBwICIgIG
 FQoJCAsCBBYCAwECHgcWIQQb2cqtc1xMOkYN/MpN3hD3AP+DWgUCaJzangUJJlgIpAAKCRBN
 3hD3AP+DWhAxD/9wcL0A+2rtaAmutaKTfxhTP0b4AAp1r/eLxjrbfbCCmh4pqzBhmSX/4z11
 opn2KqcOsueRF1t2ENLOWzQu3Roiny2HOU7DajqB4dm1BVMaXQya5ae2ghzlJN9SIoopTWlR
 0Af3hPj5E2PYvQhlcqeoehKlBo9rROJv/rjmr2x0yOM8qeTroH/ZzNlCtJ56AsE6Tvl+r7cW
 3x7/Jq5WvWeudKrhFh7/yQ7eRvHCjd9bBrZTlgAfiHmX9AnCCPRPpNGNedV9Yty2Jnxhfmbv
 Pw37LA/jef8zlCDyUh2KCU1xVEOWqg15o1RtTyGV1nXV2O/mfuQJud5vIgzBvHhypc3p6VZJ
 lEf8YmT+Ol5P7SfCs5/uGdWUYQEMqOlg6w9R4Pe8d+mk8KGvfE9/zTwGg0nRgKqlQXrWRERv
 cuEwQbridlPAoQHrFWtwpgYMXx2TaZ3sihcIPo9uU5eBs0rf4mOERY75SK+Ekayv2ucTfjxr
 Kf014py2aoRJHuvy85ee/zIyLmve5hngZTTe3Wg3TInT9UTFzTPhItam6dZ1xqdTGHZYGU0O
 otRHcwLGt470grdiob6PfVTXoHlBvkWRadMhSuG4RORCDpq89vu5QralFNIf3EysNohoFy2A
 LYg2/D53xbU/aa4DDzBb5b1Rkg/udO1gZocVQWrDh6I2K3+cCs7BTQRVy5+RARAA59fefSDR
 9nMGCb9LbMX+TFAoIQo/wgP5XPyzLYakO+94GrgfZjfhdaxPXMsl2+o8jhp/hlIzG56taNdt
 VZtPp3ih1AgbR8rHgXw1xwOpuAd5lE1qNd54ndHuADO9a9A0vPimIes78Hi1/yy+ZEEvRkHk
 /kDa6F3AtTc1m4rbbOk2fiKzzsE9YXweFjQvl9p+AMw6qd/iC4lUk9g0+FQXNdRs+o4o6Qvy
 iOQJfGQ4UcBuOy1IrkJrd8qq5jet1fcM2j4QvsW8CLDWZS1L7kZ5gT5EycMKxUWb8LuRjxzZ
 3QY1aQH2kkzn6acigU3HLtgFyV1gBNV44ehjgvJpRY2cC8VhanTx0dZ9mj1YKIky5N+C0f21
 zvntBqcxV0+3p8MrxRRcgEtDZNav+xAoT3G0W4SahAaUTWXpsZoOecwtxi74CyneQNPTDjNg
 azHmvpdBVEfj7k3p4dmJp5i0U66Onmf6mMFpArvBRSMOKU9DlAzMi4IvhiNWjKVaIE2Se9BY
 FdKVAJaZq85P2y20ZBd08ILnKcj7XKZkLU5FkoA0udEBvQ0f9QLNyyy3DZMCQWcwRuj1m73D
 sq8DEFBdZ5eEkj1dCyx+t/ga6x2rHyc8Sl86oK1tvAkwBNsfKou3v+jP/l14a7DGBvrmlYjO
 59o3t6inu6H7pt7OL6u6BQj7DoMAEQEAAcLBfAQYAQgAJgIbDBYhBBvZyq1zXEw6Rg38yk3e
 EPcA/4NaBQJonNqrBQkmWAihAAoJEE3eEPcA/4NaKtMQALAJ8PzprBEXbXcEXwDKQu+P/vts
 IfUb1UNMfMV76BicGa5NCZnJNQASDP/+bFg6O3gx5NbhHHPeaWz/VxlOmYHokHodOvtL0WCC
 8A5PEP8tOk6029Z+J+xUcMrJClNVFpzVvOpb1lCbhjwAV465Hy+NUSbbUiRxdzNQtLtgZzOV
 Zw7jxUCs4UUZLQTCuBpFgb15bBxYZ/BL9MbzxPxvfUQIPbnzQMcqtpUs21CMK2PdfCh5c4gS
 sDci6D5/ZIBw94UQWmGpM/O1ilGXde2ZzzGYl64glmccD8e87OnEgKnH3FbnJnT4iJchtSvx
 yJNi1+t0+qDti4m88+/9IuPqCKb6Stl+s2dnLtJNrjXBGJtsQG/sRpqsJz5x1/2nPJSRMsx9
 5YfqbdrJSOFXDzZ8/r82HgQEtUvlSXNaXCa95ez0UkOG7+bDm2b3s0XahBQeLVCH0mw3RAQg
 r7xDAYKIrAwfHHmMTnBQDPJwVqxJjVNr7yBic4yfzVWGCGNE4DnOW0vcIeoyhy9vnIa3w1uZ
 3iyY2Nsd7JxfKu1PRhCGwXzRw5TlfEsoRI7V9A8isUCoqE2Dzh3FvYHVeX4Us+bRL/oqareJ
 CIFqgYMyvHj7Q06kTKmauOe4Nf0l0qEkIuIzfoLJ3qr5UyXc2hLtWyT9Ir+lYlX9efqh7mOY
 qIws/H2t
In-Reply-To: <20251015082727.2395128-10-kevin.brodsky@arm.com>
X-Mimecast-Spam-Score: 0
X-Mimecast-MFC-PROC-ID: u4ueXrp-06gPScj0cI0YzxRnMZ3hEdlsaFADri1L2bo_1761249751
X-Mimecast-Originator: redhat.com
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 15.10.25 10:27, Kevin Brodsky wrote:
> The generic lazy_mmu layer now tracks whether a task is in lazy MMU
> mode. As a result we no longer need to track whether the per-CPU TLB
> batch struct is active - we know it is if in_lazy_mmu_mode() returns
> true.

It's worth adding that disabling preemption while enabled makes sure 
that we cannot reschedule while in lazy MMU mode, so when the per-CPU 
TLB batch structure is active.


-- 
Cheers

David / dhildenb



From xen-devel-bounces@lists.xenproject.org Thu Oct 23 20:03:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 20:03:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1149657.1481225 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vC1Wl-0002pT-I0; Thu, 23 Oct 2025 20:03:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1149657.1481225; Thu, 23 Oct 2025 20:03:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vC1Wl-0002pM-F9; Thu, 23 Oct 2025 20:03:15 +0000
Received: by outflank-mailman (input) for mailman id 1149657;
 Thu, 23 Oct 2025 20:03: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 <SRS0=MccR=5A=redhat.com=david@srs-se1.protection.inumbo.net>)
 id 1vC1Wk-0002e1-LN
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 20:03:14 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.133.124])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4d5867e2-b04b-11f0-980a-7dc792cee155;
 Thu, 23 Oct 2025 22:03:12 +0200 (CEST)
Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com
 [209.85.221.71]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-352-n9FjZfDnPPW0TZhMmLagnA-1; Thu, 23 Oct 2025 16:03:09 -0400
Received: by mail-wr1-f71.google.com with SMTP id
 ffacd0b85a97d-429893e2905so889499f8f.3
 for <xen-devel@lists.xenproject.org>; Thu, 23 Oct 2025 13:03:09 -0700 (PDT)
Received: from ?IPV6:2003:d8:2f4e:3200:c99d:a38b:3f3a:d4b3?
 (p200300d82f4e3200c99da38b3f3ad4b3.dip0.t-ipconnect.de.
 [2003:d8:2f4e:3200:c99d:a38b:3f3a:d4b3])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-429897f57d9sm5671794f8f.20.2025.10.23.13.03.05
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Oct 2025 13:03:07 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4d5867e2-b04b-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1761249791;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
	bh=QPUi1jKCUzNIqjtqTEITsV04BJ5RU7P6py+r44ygz4A=;
	b=C2KaDHWG7NkDzutxTWids+XLugiaeS4pdBw2PEw4G5KADijNRXoP+kZdJRGUpc7OCDhvGV
	wQTpJ3Zjxp/J0QY/xZsEwhb4OntYlIwVOKZxlHxTUKnPK9i6fDuBzckpWsmaTdyUxMK5BH
	HuUwX27RWNDCCGP/vnSmOGGVvukmTFM=
X-MC-Unique: n9FjZfDnPPW0TZhMmLagnA-1
X-Mimecast-MFC-AGG-ID: n9FjZfDnPPW0TZhMmLagnA_1761249788
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761249788; x=1761854588;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :from:references:cc:to:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=QPUi1jKCUzNIqjtqTEITsV04BJ5RU7P6py+r44ygz4A=;
        b=Bz2Bb4AogRWZIG9OQtFsPi1OLRJS/6K+dJxIm7Gmxd05Swy2pXycjkcy/NruhdjrSY
         woZ3SUUYeTcpZp3/Su7SI86YjMpgyEaUO/sf9EXiOn/aOCHHNRi/+niH2EQb33vG6Mjn
         jJJQExQNCudEg0Ntjd24NMukQlGvtgPTgHxWDAtj20hJoOgRC3yU2kXJ17B1zkSe3t1n
         P2B8+xrT22L65XJRHlbIZ3yku308Awrwy98C7duJxUIfB0YFzN4QPZACTlvF/KVBBvQw
         w3UbOeT5DxreYSwO09UN91UYCPE608d2kv2Sdui2tgaEY1bM8rCQ6KQ1WrsWaaJyllJP
         jAiw==
X-Forwarded-Encrypted: i=1; AJvYcCUVEuz0E4ziWDwJhvRQgNq2qUZG8+znLix5hwG3bRKLMOWUxxlSf7Q2lty4YuNGgEG/OueNAd5mSGY=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy2slyRD60k5mnEGQYGTDrbsjK18pQBta2TqLQ6MNh+7fl9V3SY
	mqHs9BkGpX+96tIPB19y+VInxiGRH8ecxTntspfgl1RXwk0GCzVcCg/Z9oMAsXGCFckI6qXakAl
	4cPxWpl/JjNtk8hFwZuhA4+v3XMZ1JBXj9AWlzK4AvvwBCDZrH98ukAy04sLpXuhIm1vH
X-Gm-Gg: ASbGncvFEuZrs4oUIl8Sih2dqDSbHTmow3c1CxSZZuwzTLd2W9hblCLJ/xKgGRs/Pd0
	CzyFgYVeQtqkWjHOMXGUvVcEI7ozCiOLocGryLzXQzsq2DZRXV3qHzXTd9aRDgIElQTkEwlV11V
	2/d1yD21cu6fC1SKtHdDZmk/YUPg7c68LUSlTH+W1bNH1kvheBjf+MMNRug6XksMf0oeWDYjAu8
	/MrbQ+6QZei+eX0lsRFVRj+uL8ze+4vxQQvwB0IoaAEIlAwcjpSRDvhDVaoo4Afaz91GKhrNa1V
	Ign3CiRP92MWhgmsdUSrI8cwLmBcFESPfTmbyvPMMr+i8WtBCFkWvLhPCYtFw/UlszbCGaANmq4
	7sEdwYMik4z5ORd46eUjdqJefWNEKzNset5M9ADCO3gpiqMp297HrZaeDkSiWLQRRYQvoVbTTMU
	9W1P6Bmdf6AVHHYPGOBqEHI1FY7Pc=
X-Received: by 2002:a5d:5f54:0:b0:428:3e62:3220 with SMTP id ffacd0b85a97d-4283e6236ebmr11705615f8f.30.1761249787947;
        Thu, 23 Oct 2025 13:03:07 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IGVpW2WfIyt9mGiyfA1hGoENq2TIdXWY1dpXbpJHoGGtaDtHStMqMHIOiYdTKz+oFfHpZxtMw==
X-Received: by 2002:a5d:5f54:0:b0:428:3e62:3220 with SMTP id ffacd0b85a97d-4283e6236ebmr11705579f8f.30.1761249787533;
        Thu, 23 Oct 2025 13:03:07 -0700 (PDT)
Message-ID: <e8d31a8d-ad4b-4365-951a-dff0bc9535a5@redhat.com>
Date: Thu, 23 Oct 2025 22:03:04 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 10/13] sparc/mm: replace batch->active with
 in_lazy_mmu_mode()
To: Kevin Brodsky <kevin.brodsky@arm.com>, linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org, Alexander Gordeev <agordeev@linux.ibm.com>,
 Andreas Larsson <andreas@gaisler.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, Borislav Petkov
 <bp@alien8.de>, Catalin Marinas <catalin.marinas@arm.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 Dave Hansen <dave.hansen@linux.intel.com>,
 "David S. Miller" <davem@davemloft.net>, "H. Peter Anvin" <hpa@zytor.com>,
 Ingo Molnar <mingo@redhat.com>, Jann Horn <jannh@google.com>,
 Juergen Gross <jgross@suse.com>, "Liam R. Howlett"
 <Liam.Howlett@oracle.com>, Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>, Michal Hocko <mhocko@suse.com>,
 Mike Rapoport <rppt@kernel.org>, Nicholas Piggin <npiggin@gmail.com>,
 Peter Zijlstra <peterz@infradead.org>, Ryan Roberts <ryan.roberts@arm.com>,
 Suren Baghdasaryan <surenb@google.com>, Thomas Gleixner
 <tglx@linutronix.de>, Vlastimil Babka <vbabka@suse.cz>,
 Will Deacon <will@kernel.org>, Yeoreum Yun <yeoreum.yun@arm.com>,
 linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org,
 sparclinux@vger.kernel.org, xen-devel@lists.xenproject.org, x86@kernel.org
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
 <20251015082727.2395128-11-kevin.brodsky@arm.com>
From: David Hildenbrand <david@redhat.com>
Autocrypt: addr=david@redhat.com; keydata=
 xsFNBFXLn5EBEAC+zYvAFJxCBY9Tr1xZgcESmxVNI/0ffzE/ZQOiHJl6mGkmA1R7/uUpiCjJ
 dBrn+lhhOYjjNefFQou6478faXE6o2AhmebqT4KiQoUQFV4R7y1KMEKoSyy8hQaK1umALTdL
 QZLQMzNE74ap+GDK0wnacPQFpcG1AE9RMq3aeErY5tujekBS32jfC/7AnH7I0v1v1TbbK3Gp
 XNeiN4QroO+5qaSr0ID2sz5jtBLRb15RMre27E1ImpaIv2Jw8NJgW0k/D1RyKCwaTsgRdwuK
 Kx/Y91XuSBdz0uOyU/S8kM1+ag0wvsGlpBVxRR/xw/E8M7TEwuCZQArqqTCmkG6HGcXFT0V9
 PXFNNgV5jXMQRwU0O/ztJIQqsE5LsUomE//bLwzj9IVsaQpKDqW6TAPjcdBDPLHvriq7kGjt
 WhVhdl0qEYB8lkBEU7V2Yb+SYhmhpDrti9Fq1EsmhiHSkxJcGREoMK/63r9WLZYI3+4W2rAc
 UucZa4OT27U5ZISjNg3Ev0rxU5UH2/pT4wJCfxwocmqaRr6UYmrtZmND89X0KigoFD/XSeVv
 jwBRNjPAubK9/k5NoRrYqztM9W6sJqrH8+UWZ1Idd/DdmogJh0gNC0+N42Za9yBRURfIdKSb
 B3JfpUqcWwE7vUaYrHG1nw54pLUoPG6sAA7Mehl3nd4pZUALHwARAQABzSREYXZpZCBIaWxk
 ZW5icmFuZCA8ZGF2aWRAcmVkaGF0LmNvbT7CwZoEEwEIAEQCGwMCF4ACGQEFCwkIBwICIgIG
 FQoJCAsCBBYCAwECHgcWIQQb2cqtc1xMOkYN/MpN3hD3AP+DWgUCaJzangUJJlgIpAAKCRBN
 3hD3AP+DWhAxD/9wcL0A+2rtaAmutaKTfxhTP0b4AAp1r/eLxjrbfbCCmh4pqzBhmSX/4z11
 opn2KqcOsueRF1t2ENLOWzQu3Roiny2HOU7DajqB4dm1BVMaXQya5ae2ghzlJN9SIoopTWlR
 0Af3hPj5E2PYvQhlcqeoehKlBo9rROJv/rjmr2x0yOM8qeTroH/ZzNlCtJ56AsE6Tvl+r7cW
 3x7/Jq5WvWeudKrhFh7/yQ7eRvHCjd9bBrZTlgAfiHmX9AnCCPRPpNGNedV9Yty2Jnxhfmbv
 Pw37LA/jef8zlCDyUh2KCU1xVEOWqg15o1RtTyGV1nXV2O/mfuQJud5vIgzBvHhypc3p6VZJ
 lEf8YmT+Ol5P7SfCs5/uGdWUYQEMqOlg6w9R4Pe8d+mk8KGvfE9/zTwGg0nRgKqlQXrWRERv
 cuEwQbridlPAoQHrFWtwpgYMXx2TaZ3sihcIPo9uU5eBs0rf4mOERY75SK+Ekayv2ucTfjxr
 Kf014py2aoRJHuvy85ee/zIyLmve5hngZTTe3Wg3TInT9UTFzTPhItam6dZ1xqdTGHZYGU0O
 otRHcwLGt470grdiob6PfVTXoHlBvkWRadMhSuG4RORCDpq89vu5QralFNIf3EysNohoFy2A
 LYg2/D53xbU/aa4DDzBb5b1Rkg/udO1gZocVQWrDh6I2K3+cCs7BTQRVy5+RARAA59fefSDR
 9nMGCb9LbMX+TFAoIQo/wgP5XPyzLYakO+94GrgfZjfhdaxPXMsl2+o8jhp/hlIzG56taNdt
 VZtPp3ih1AgbR8rHgXw1xwOpuAd5lE1qNd54ndHuADO9a9A0vPimIes78Hi1/yy+ZEEvRkHk
 /kDa6F3AtTc1m4rbbOk2fiKzzsE9YXweFjQvl9p+AMw6qd/iC4lUk9g0+FQXNdRs+o4o6Qvy
 iOQJfGQ4UcBuOy1IrkJrd8qq5jet1fcM2j4QvsW8CLDWZS1L7kZ5gT5EycMKxUWb8LuRjxzZ
 3QY1aQH2kkzn6acigU3HLtgFyV1gBNV44ehjgvJpRY2cC8VhanTx0dZ9mj1YKIky5N+C0f21
 zvntBqcxV0+3p8MrxRRcgEtDZNav+xAoT3G0W4SahAaUTWXpsZoOecwtxi74CyneQNPTDjNg
 azHmvpdBVEfj7k3p4dmJp5i0U66Onmf6mMFpArvBRSMOKU9DlAzMi4IvhiNWjKVaIE2Se9BY
 FdKVAJaZq85P2y20ZBd08ILnKcj7XKZkLU5FkoA0udEBvQ0f9QLNyyy3DZMCQWcwRuj1m73D
 sq8DEFBdZ5eEkj1dCyx+t/ga6x2rHyc8Sl86oK1tvAkwBNsfKou3v+jP/l14a7DGBvrmlYjO
 59o3t6inu6H7pt7OL6u6BQj7DoMAEQEAAcLBfAQYAQgAJgIbDBYhBBvZyq1zXEw6Rg38yk3e
 EPcA/4NaBQJonNqrBQkmWAihAAoJEE3eEPcA/4NaKtMQALAJ8PzprBEXbXcEXwDKQu+P/vts
 IfUb1UNMfMV76BicGa5NCZnJNQASDP/+bFg6O3gx5NbhHHPeaWz/VxlOmYHokHodOvtL0WCC
 8A5PEP8tOk6029Z+J+xUcMrJClNVFpzVvOpb1lCbhjwAV465Hy+NUSbbUiRxdzNQtLtgZzOV
 Zw7jxUCs4UUZLQTCuBpFgb15bBxYZ/BL9MbzxPxvfUQIPbnzQMcqtpUs21CMK2PdfCh5c4gS
 sDci6D5/ZIBw94UQWmGpM/O1ilGXde2ZzzGYl64glmccD8e87OnEgKnH3FbnJnT4iJchtSvx
 yJNi1+t0+qDti4m88+/9IuPqCKb6Stl+s2dnLtJNrjXBGJtsQG/sRpqsJz5x1/2nPJSRMsx9
 5YfqbdrJSOFXDzZ8/r82HgQEtUvlSXNaXCa95ez0UkOG7+bDm2b3s0XahBQeLVCH0mw3RAQg
 r7xDAYKIrAwfHHmMTnBQDPJwVqxJjVNr7yBic4yfzVWGCGNE4DnOW0vcIeoyhy9vnIa3w1uZ
 3iyY2Nsd7JxfKu1PRhCGwXzRw5TlfEsoRI7V9A8isUCoqE2Dzh3FvYHVeX4Us+bRL/oqareJ
 CIFqgYMyvHj7Q06kTKmauOe4Nf0l0qEkIuIzfoLJ3qr5UyXc2hLtWyT9Ir+lYlX9efqh7mOY
 qIws/H2t
In-Reply-To: <20251015082727.2395128-11-kevin.brodsky@arm.com>
X-Mimecast-Spam-Score: 0
X-Mimecast-MFC-PROC-ID: 3-uUCNkhWpdPWRQxGLMyrQQ_Y7DXCIx1cKlVhUSekxU_1761249788
X-Mimecast-Originator: redhat.com
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 15.10.25 10:27, Kevin Brodsky wrote:
> The generic lazy_mmu layer now tracks whether a task is in lazy MMU
> mode. As a result we no longer need to track whether the per-CPU TLB
> batch struct is active - we know it is if in_lazy_mmu_mode() returns
> true.

Same here, document the dependency on disabled preemption.

-- 
Cheers

David / dhildenb



From xen-devel-bounces@lists.xenproject.org Thu Oct 23 20:06:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 20:06:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1149670.1481236 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vC1Zs-0003ZG-3a; Thu, 23 Oct 2025 20:06:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1149670.1481236; Thu, 23 Oct 2025 20:06:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vC1Zs-0003Z9-10; Thu, 23 Oct 2025 20:06:28 +0000
Received: by outflank-mailman (input) for mailman id 1149670;
 Thu, 23 Oct 2025 20:06:26 +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 <SRS0=MccR=5A=redhat.com=david@srs-se1.protection.inumbo.net>)
 id 1vC1Zq-0003Z3-LM
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 20:06:26 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.133.124])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c069b7e3-b04b-11f0-9d15-b5c5bf9af7f9;
 Thu, 23 Oct 2025 22:06:25 +0200 (CEST)
Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com
 [209.85.128.72]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-618-QOr4F48CNsOddcmQRh_HOw-1; Thu, 23 Oct 2025 16:06:19 -0400
Received: by mail-wm1-f72.google.com with SMTP id
 5b1f17b1804b1-4710d174c31so14786875e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 23 Oct 2025 13:06:18 -0700 (PDT)
Received: from ?IPV6:2003:d8:2f4e:3200:c99d:a38b:3f3a:d4b3?
 (p200300d82f4e3200c99da38b3f3ad4b3.dip0.t-ipconnect.de.
 [2003:d8:2f4e:3200:c99d:a38b:3f3a:d4b3])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-475c4342946sm113034495e9.10.2025.10.23.13.06.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Oct 2025 13:06:16 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c069b7e3-b04b-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1761249984;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
	bh=fRPhH8Afjh5WRImY9rdVIeUYAC30QvosEDEcq3KVJj4=;
	b=dxH/QGhnkFNpaIjjhYB4GMDfjwYHov3K+iGwVim+lOHO5p0LFDStOYTs1Ufdxj2Ccw5mJo
	qehYfU2ca1d+xyMqbiGnZGuujYYzmaLD2r3BOQUAl1ww5hs8fSluJbEyVpW+VcfzCErYgq
	LHQVnOspdmbpG9a4fQTKrfVWgpigyjY=
X-MC-Unique: QOr4F48CNsOddcmQRh_HOw-1
X-Mimecast-MFC-AGG-ID: QOr4F48CNsOddcmQRh_HOw_1761249978
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761249978; x=1761854778;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :from:references:cc:to:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=fRPhH8Afjh5WRImY9rdVIeUYAC30QvosEDEcq3KVJj4=;
        b=l9CzEOpr7BVcH/yPorhWLSjZXkO41VK/xxnsWsTM81K3/owsa+mbT+Rd3+0YV8Cb0Q
         ws2aGOcDXHHrhNZn5IHGrzuzt8oVK0ycSryvE8KqL1m3V/rPXGS1d/MXX5EdpiTcmOZs
         ParTiAXkXkgNz1h9jmPxNZGo5T1gG2JbA2/Mkbpt5q1Cwbr/2N6pkq6p+mTj0zCSiC6D
         zjIXEEHmso/+a625znm7DbuN/sEhbt94ZSYNetN94sx9CTqGbDvv2QtOCCQyYKWTlp+f
         /nGsL2UfiAcPwjmTF2eUCJJqSKWZ+enr/ysdDIRz1PYrV/1x9WOi5HzvZjjvVs+LuuZ4
         4hng==
X-Forwarded-Encrypted: i=1; AJvYcCXGr/U2maKFAi9c6c+KgdzZj4jtcReNFwOTPdsZ2/yBys46SLtVG7HTkoV0HAue/KnZyDDxnpcpdWw=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz03KOJp3I2ZYNS7n7ubK7IBdUUJhsecxdApeGkP0zBgZTQfSSw
	xLbBqUQMVLJx+fZxYKzs9jS0ItWOzrdh3L8iFqI4f/qACm4+Gf3X3S0UDvlB7aJLTwQas2Uj95D
	+q5LKGMqc4Wx7NLd9ClN8mIwlVReH587AOT3pSfM5d4oyjuH1EkNxyioOpfoHbIf5KgFC
X-Gm-Gg: ASbGncuLzhz4me9//kVVSGsYnY+Mr0lyn/GvshKOcA3b1nphp+4qsY3923fR1Igh+T+
	9NB+8ovK5ESywORAigw6lKJDBT1WIQB1DsMgXvb4PqRgEQQvWkaQHwADmf5xD5pFolNU/AlfZl8
	nyxsKHixWAK0uYCCe1FNqINxVieFvpn4pufoOCFYcGae/MDYdjz1h+6ikC3Jvc1wgYzKkvmJjx9
	pI+7gbbIxJJnZcabRuXsBwBEn9VVwEhhlRyF7tcYFCPW4jZa0fCCZwuVMQDwFw6EVUUyGVOp9lS
	aO4h8ZgwgD8LqYlUZ2P11rckLpZxutZ9VHS2tdhA3iJqYCswXBomZq+8l4QPAHzsFX6SOmkofkq
	vDBgUCOOklh5q4csNAiPqeKuvR34U9Ebc81TBVIbaalUb/F84+SBbk6i3yXbmpDmPtw2q3Fu939
	9xZ+diaK+z5mrXr6lg0MMp24Cmt7E=
X-Received: by 2002:a05:600c:3494:b0:46e:4744:add7 with SMTP id 5b1f17b1804b1-47117870715mr207116385e9.7.1761249977735;
        Thu, 23 Oct 2025 13:06:17 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IGGeb2fa1IYwsGJ0pSctmwGPF6xvoGIek/oRMhJoppZNw0DpnIDJSoz1KA7a/k0YpqsgRr1qQ==
X-Received: by 2002:a05:600c:3494:b0:46e:4744:add7 with SMTP id 5b1f17b1804b1-47117870715mr207115995e9.7.1761249977327;
        Thu, 23 Oct 2025 13:06:17 -0700 (PDT)
Message-ID: <f0067f35-1048-4788-8401-f71d297f56f3@redhat.com>
Date: Thu, 23 Oct 2025 22:06:14 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 11/13] x86/xen: use lazy_mmu_state when
 context-switching
To: Kevin Brodsky <kevin.brodsky@arm.com>, linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org, Alexander Gordeev <agordeev@linux.ibm.com>,
 Andreas Larsson <andreas@gaisler.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, Borislav Petkov
 <bp@alien8.de>, Catalin Marinas <catalin.marinas@arm.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 Dave Hansen <dave.hansen@linux.intel.com>,
 "David S. Miller" <davem@davemloft.net>, "H. Peter Anvin" <hpa@zytor.com>,
 Ingo Molnar <mingo@redhat.com>, Jann Horn <jannh@google.com>,
 Juergen Gross <jgross@suse.com>, "Liam R. Howlett"
 <Liam.Howlett@oracle.com>, Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>, Michal Hocko <mhocko@suse.com>,
 Mike Rapoport <rppt@kernel.org>, Nicholas Piggin <npiggin@gmail.com>,
 Peter Zijlstra <peterz@infradead.org>, Ryan Roberts <ryan.roberts@arm.com>,
 Suren Baghdasaryan <surenb@google.com>, Thomas Gleixner
 <tglx@linutronix.de>, Vlastimil Babka <vbabka@suse.cz>,
 Will Deacon <will@kernel.org>, Yeoreum Yun <yeoreum.yun@arm.com>,
 linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org,
 sparclinux@vger.kernel.org, xen-devel@lists.xenproject.org, x86@kernel.org
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
 <20251015082727.2395128-12-kevin.brodsky@arm.com>
From: David Hildenbrand <david@redhat.com>
Autocrypt: addr=david@redhat.com; keydata=
 xsFNBFXLn5EBEAC+zYvAFJxCBY9Tr1xZgcESmxVNI/0ffzE/ZQOiHJl6mGkmA1R7/uUpiCjJ
 dBrn+lhhOYjjNefFQou6478faXE6o2AhmebqT4KiQoUQFV4R7y1KMEKoSyy8hQaK1umALTdL
 QZLQMzNE74ap+GDK0wnacPQFpcG1AE9RMq3aeErY5tujekBS32jfC/7AnH7I0v1v1TbbK3Gp
 XNeiN4QroO+5qaSr0ID2sz5jtBLRb15RMre27E1ImpaIv2Jw8NJgW0k/D1RyKCwaTsgRdwuK
 Kx/Y91XuSBdz0uOyU/S8kM1+ag0wvsGlpBVxRR/xw/E8M7TEwuCZQArqqTCmkG6HGcXFT0V9
 PXFNNgV5jXMQRwU0O/ztJIQqsE5LsUomE//bLwzj9IVsaQpKDqW6TAPjcdBDPLHvriq7kGjt
 WhVhdl0qEYB8lkBEU7V2Yb+SYhmhpDrti9Fq1EsmhiHSkxJcGREoMK/63r9WLZYI3+4W2rAc
 UucZa4OT27U5ZISjNg3Ev0rxU5UH2/pT4wJCfxwocmqaRr6UYmrtZmND89X0KigoFD/XSeVv
 jwBRNjPAubK9/k5NoRrYqztM9W6sJqrH8+UWZ1Idd/DdmogJh0gNC0+N42Za9yBRURfIdKSb
 B3JfpUqcWwE7vUaYrHG1nw54pLUoPG6sAA7Mehl3nd4pZUALHwARAQABzSREYXZpZCBIaWxk
 ZW5icmFuZCA8ZGF2aWRAcmVkaGF0LmNvbT7CwZoEEwEIAEQCGwMCF4ACGQEFCwkIBwICIgIG
 FQoJCAsCBBYCAwECHgcWIQQb2cqtc1xMOkYN/MpN3hD3AP+DWgUCaJzangUJJlgIpAAKCRBN
 3hD3AP+DWhAxD/9wcL0A+2rtaAmutaKTfxhTP0b4AAp1r/eLxjrbfbCCmh4pqzBhmSX/4z11
 opn2KqcOsueRF1t2ENLOWzQu3Roiny2HOU7DajqB4dm1BVMaXQya5ae2ghzlJN9SIoopTWlR
 0Af3hPj5E2PYvQhlcqeoehKlBo9rROJv/rjmr2x0yOM8qeTroH/ZzNlCtJ56AsE6Tvl+r7cW
 3x7/Jq5WvWeudKrhFh7/yQ7eRvHCjd9bBrZTlgAfiHmX9AnCCPRPpNGNedV9Yty2Jnxhfmbv
 Pw37LA/jef8zlCDyUh2KCU1xVEOWqg15o1RtTyGV1nXV2O/mfuQJud5vIgzBvHhypc3p6VZJ
 lEf8YmT+Ol5P7SfCs5/uGdWUYQEMqOlg6w9R4Pe8d+mk8KGvfE9/zTwGg0nRgKqlQXrWRERv
 cuEwQbridlPAoQHrFWtwpgYMXx2TaZ3sihcIPo9uU5eBs0rf4mOERY75SK+Ekayv2ucTfjxr
 Kf014py2aoRJHuvy85ee/zIyLmve5hngZTTe3Wg3TInT9UTFzTPhItam6dZ1xqdTGHZYGU0O
 otRHcwLGt470grdiob6PfVTXoHlBvkWRadMhSuG4RORCDpq89vu5QralFNIf3EysNohoFy2A
 LYg2/D53xbU/aa4DDzBb5b1Rkg/udO1gZocVQWrDh6I2K3+cCs7BTQRVy5+RARAA59fefSDR
 9nMGCb9LbMX+TFAoIQo/wgP5XPyzLYakO+94GrgfZjfhdaxPXMsl2+o8jhp/hlIzG56taNdt
 VZtPp3ih1AgbR8rHgXw1xwOpuAd5lE1qNd54ndHuADO9a9A0vPimIes78Hi1/yy+ZEEvRkHk
 /kDa6F3AtTc1m4rbbOk2fiKzzsE9YXweFjQvl9p+AMw6qd/iC4lUk9g0+FQXNdRs+o4o6Qvy
 iOQJfGQ4UcBuOy1IrkJrd8qq5jet1fcM2j4QvsW8CLDWZS1L7kZ5gT5EycMKxUWb8LuRjxzZ
 3QY1aQH2kkzn6acigU3HLtgFyV1gBNV44ehjgvJpRY2cC8VhanTx0dZ9mj1YKIky5N+C0f21
 zvntBqcxV0+3p8MrxRRcgEtDZNav+xAoT3G0W4SahAaUTWXpsZoOecwtxi74CyneQNPTDjNg
 azHmvpdBVEfj7k3p4dmJp5i0U66Onmf6mMFpArvBRSMOKU9DlAzMi4IvhiNWjKVaIE2Se9BY
 FdKVAJaZq85P2y20ZBd08ILnKcj7XKZkLU5FkoA0udEBvQ0f9QLNyyy3DZMCQWcwRuj1m73D
 sq8DEFBdZ5eEkj1dCyx+t/ga6x2rHyc8Sl86oK1tvAkwBNsfKou3v+jP/l14a7DGBvrmlYjO
 59o3t6inu6H7pt7OL6u6BQj7DoMAEQEAAcLBfAQYAQgAJgIbDBYhBBvZyq1zXEw6Rg38yk3e
 EPcA/4NaBQJonNqrBQkmWAihAAoJEE3eEPcA/4NaKtMQALAJ8PzprBEXbXcEXwDKQu+P/vts
 IfUb1UNMfMV76BicGa5NCZnJNQASDP/+bFg6O3gx5NbhHHPeaWz/VxlOmYHokHodOvtL0WCC
 8A5PEP8tOk6029Z+J+xUcMrJClNVFpzVvOpb1lCbhjwAV465Hy+NUSbbUiRxdzNQtLtgZzOV
 Zw7jxUCs4UUZLQTCuBpFgb15bBxYZ/BL9MbzxPxvfUQIPbnzQMcqtpUs21CMK2PdfCh5c4gS
 sDci6D5/ZIBw94UQWmGpM/O1ilGXde2ZzzGYl64glmccD8e87OnEgKnH3FbnJnT4iJchtSvx
 yJNi1+t0+qDti4m88+/9IuPqCKb6Stl+s2dnLtJNrjXBGJtsQG/sRpqsJz5x1/2nPJSRMsx9
 5YfqbdrJSOFXDzZ8/r82HgQEtUvlSXNaXCa95ez0UkOG7+bDm2b3s0XahBQeLVCH0mw3RAQg
 r7xDAYKIrAwfHHmMTnBQDPJwVqxJjVNr7yBic4yfzVWGCGNE4DnOW0vcIeoyhy9vnIa3w1uZ
 3iyY2Nsd7JxfKu1PRhCGwXzRw5TlfEsoRI7V9A8isUCoqE2Dzh3FvYHVeX4Us+bRL/oqareJ
 CIFqgYMyvHj7Q06kTKmauOe4Nf0l0qEkIuIzfoLJ3qr5UyXc2hLtWyT9Ir+lYlX9efqh7mOY
 qIws/H2t
In-Reply-To: <20251015082727.2395128-12-kevin.brodsky@arm.com>
X-Mimecast-Spam-Score: 0
X-Mimecast-MFC-PROC-ID: h9r4md5Cq2TJYolFSt7B557juGcYACSSPAEwPvyjUko_1761249978
X-Mimecast-Originator: redhat.com
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 15.10.25 10:27, Kevin Brodsky wrote:
> We currently set a TIF flag when scheduling out a task that is in
> lazy MMU mode, in order to restore it when the task is scheduled
> again.
> 
> The generic lazy_mmu layer now tracks whether a task is in lazy MMU
> mode in task_struct::lazy_mmu_state. We can therefore check that
> state when switching to the new task, instead of using a separate
> TIF flag.
> 
> Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
> ---


Looks ok to me, but I hope we get some confirmation from x86 / xen folks.

-- 
Cheers

David / dhildenb



From xen-devel-bounces@lists.xenproject.org Thu Oct 23 20:08:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 20:08:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1149679.1481246 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vC1cC-0004Rz-G0; Thu, 23 Oct 2025 20:08:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1149679.1481246; Thu, 23 Oct 2025 20:08:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vC1cC-0004Rs-Cr; Thu, 23 Oct 2025 20:08:52 +0000
Received: by outflank-mailman (input) for mailman id 1149679;
 Thu, 23 Oct 2025 20:08:51 +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 <SRS0=MccR=5A=redhat.com=david@srs-se1.protection.inumbo.net>)
 id 1vC1cB-0004Rm-Gz
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 20:08:51 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.133.124])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 16b88e7c-b04c-11f0-9d15-b5c5bf9af7f9;
 Thu, 23 Oct 2025 22:08:50 +0200 (CEST)
Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com
 [209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-616-uGJXRFlmN0ioA_-zE7QBpQ-1; Thu, 23 Oct 2025 16:08:47 -0400
Received: by mail-wm1-f71.google.com with SMTP id
 5b1f17b1804b1-470fd59d325so5354225e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 23 Oct 2025 13:08:47 -0700 (PDT)
Received: from ?IPV6:2003:d8:2f4e:3200:c99d:a38b:3f3a:d4b3?
 (p200300d82f4e3200c99da38b3f3ad4b3.dip0.t-ipconnect.de.
 [2003:d8:2f4e:3200:c99d:a38b:3f3a:d4b3])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-475c4342373sm135497185e9.12.2025.10.23.13.08.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Oct 2025 13:08:45 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 16b88e7c-b04c-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1761250129;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
	bh=3/xqA5Sno72zZ6iNEmFJ5mtAMbJynT1rhUprvMytuFY=;
	b=bCF3xmyqGhAxt2D2zsQiWIznqj3FOVeCl8+sQxO6yKNFtnMpL135Jc/DC0DOkc1XLWUoc2
	pXdCjS8oBzwVVJ+12YJR+8XrsXAnhVOMz+56GtAw8+/GYjuqBssaC6vW/Gpnz3v8BQlVns
	H/8D9KEJKADshfRX0oPJFucs6QKMZ7g=
X-MC-Unique: uGJXRFlmN0ioA_-zE7QBpQ-1
X-Mimecast-MFC-AGG-ID: uGJXRFlmN0ioA_-zE7QBpQ_1761250126
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761250126; x=1761854926;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :from:references:cc:to:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=3/xqA5Sno72zZ6iNEmFJ5mtAMbJynT1rhUprvMytuFY=;
        b=b6St/AIyN7BfRcXIII5HevOZC01CR+CjfXa6AKTQmNfcg1l9IrvzK9OmcBpQ+D3NhU
         Bt+j5h06NNpkrnjIX1oEThp7Ds8jGcnVgAmlJqt+zkJe96bGEP7Bz2GGAHRsM0AwhdbX
         TIQgrBG+ad9Dy2CsgV2BfFzNd8SwW18LTrucl0EfuN3BF7ILHWWu7gAS97SCyjcGe0G3
         RuGDDnwlTR3gRwwUjOiW4i2yTvkiGQ/IRzNP7DqkjjUe0wz5532DEk8VibXRY++mrtuq
         EiUtHVXHPSa+rMbBFnGqxZPzKmi8TE4ZkS5BEELRAvYbwZ6njX3LlyeGZMOovfG2X8Zd
         yA2w==
X-Forwarded-Encrypted: i=1; AJvYcCUyetH1xUxQWKEVD4z+nPne9aQVl5qm59WhycFkOr0RpkQcPaDiHK7BJSEolEhUp9sjfhPCKQlWGm0=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yym69XzYOzc0HpoHouGbqnUrKi6DFvNEKKtfWbdt0U3LjhOL0rQ
	5RMcTE9cP6/uTPDSC6uBYq8zONDwcS42EUTUoNHGTJevRy1zCDFMOOcSXkOzCyBt/+PzXmaZvtH
	3V4TIuXtPGZRJBCdSgVCkYbqB2P4EBfQYc3rGZoKtM0frkc/0CUB9I3EDcTXJmAAPagYn
X-Gm-Gg: ASbGncvVtCV8abB9mVpcGQF3RZWj2MCdtnVOJLVPymbTmHoTW81I9DU6LT1J1x3FFYv
	rWQmNqSLK6CeI72aU9uJTEq1lN5ys7u8XUF22jupr1S5MNQKbFRbv15CtH4h9IZoCxpZQ61zk20
	HECtIjsfQT92YY89HzJWDyg//81gBRiwx5rZGXmcraway+9S3ArHaZlEpO4P7A3uE9w5SHpML/r
	JpsT+dogLmo9A1kUlHpvPtO4dsRlqvRnJi+h84DYcCex7vfqOMDtUCeULazyOVjmNupYJTDi60h
	sVnXFUjBc75MWRtB+Foy43X1TqQxjWE0KiWzUQgpV3W+5ePl7cQv2kPswImu40zC25mCYrrj0i9
	EUWBC1sX6YUE3FG/pBZlxkH59cu2UXasqT+6tPWJUdQGbvrBpFVXibB8tX1po7iPWE7wrWWQ1vc
	TN5neR6MbMXQ4GnE9aq9PCeiTD4KY=
X-Received: by 2002:a05:600c:4fd4:b0:471:13dd:bae7 with SMTP id 5b1f17b1804b1-4711791c5dfmr213019365e9.30.1761250126430;
        Thu, 23 Oct 2025 13:08:46 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IFhLOfkc2goKkbSV/WelWxssM1PnfK27SOZ93tRWz4irrY4Van7GhpXF/QUV/ppkvRzGCYJqQ==
X-Received: by 2002:a05:600c:4fd4:b0:471:13dd:bae7 with SMTP id 5b1f17b1804b1-4711791c5dfmr213018935e9.30.1761250125948;
        Thu, 23 Oct 2025 13:08:45 -0700 (PDT)
Message-ID: <28f2ebe9-cfed-41c3-803f-8756dca0e300@redhat.com>
Date: Thu, 23 Oct 2025 22:08:43 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 12/13] mm: bail out of lazy_mmu_mode_* in interrupt
 context
To: Kevin Brodsky <kevin.brodsky@arm.com>, linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org, Alexander Gordeev <agordeev@linux.ibm.com>,
 Andreas Larsson <andreas@gaisler.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, Borislav Petkov
 <bp@alien8.de>, Catalin Marinas <catalin.marinas@arm.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 Dave Hansen <dave.hansen@linux.intel.com>,
 "David S. Miller" <davem@davemloft.net>, "H. Peter Anvin" <hpa@zytor.com>,
 Ingo Molnar <mingo@redhat.com>, Jann Horn <jannh@google.com>,
 Juergen Gross <jgross@suse.com>, "Liam R. Howlett"
 <Liam.Howlett@oracle.com>, Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>, Michal Hocko <mhocko@suse.com>,
 Mike Rapoport <rppt@kernel.org>, Nicholas Piggin <npiggin@gmail.com>,
 Peter Zijlstra <peterz@infradead.org>, Ryan Roberts <ryan.roberts@arm.com>,
 Suren Baghdasaryan <surenb@google.com>, Thomas Gleixner
 <tglx@linutronix.de>, Vlastimil Babka <vbabka@suse.cz>,
 Will Deacon <will@kernel.org>, Yeoreum Yun <yeoreum.yun@arm.com>,
 linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org,
 sparclinux@vger.kernel.org, xen-devel@lists.xenproject.org, x86@kernel.org
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
 <20251015082727.2395128-13-kevin.brodsky@arm.com>
From: David Hildenbrand <david@redhat.com>
Autocrypt: addr=david@redhat.com; keydata=
 xsFNBFXLn5EBEAC+zYvAFJxCBY9Tr1xZgcESmxVNI/0ffzE/ZQOiHJl6mGkmA1R7/uUpiCjJ
 dBrn+lhhOYjjNefFQou6478faXE6o2AhmebqT4KiQoUQFV4R7y1KMEKoSyy8hQaK1umALTdL
 QZLQMzNE74ap+GDK0wnacPQFpcG1AE9RMq3aeErY5tujekBS32jfC/7AnH7I0v1v1TbbK3Gp
 XNeiN4QroO+5qaSr0ID2sz5jtBLRb15RMre27E1ImpaIv2Jw8NJgW0k/D1RyKCwaTsgRdwuK
 Kx/Y91XuSBdz0uOyU/S8kM1+ag0wvsGlpBVxRR/xw/E8M7TEwuCZQArqqTCmkG6HGcXFT0V9
 PXFNNgV5jXMQRwU0O/ztJIQqsE5LsUomE//bLwzj9IVsaQpKDqW6TAPjcdBDPLHvriq7kGjt
 WhVhdl0qEYB8lkBEU7V2Yb+SYhmhpDrti9Fq1EsmhiHSkxJcGREoMK/63r9WLZYI3+4W2rAc
 UucZa4OT27U5ZISjNg3Ev0rxU5UH2/pT4wJCfxwocmqaRr6UYmrtZmND89X0KigoFD/XSeVv
 jwBRNjPAubK9/k5NoRrYqztM9W6sJqrH8+UWZ1Idd/DdmogJh0gNC0+N42Za9yBRURfIdKSb
 B3JfpUqcWwE7vUaYrHG1nw54pLUoPG6sAA7Mehl3nd4pZUALHwARAQABzSREYXZpZCBIaWxk
 ZW5icmFuZCA8ZGF2aWRAcmVkaGF0LmNvbT7CwZoEEwEIAEQCGwMCF4ACGQEFCwkIBwICIgIG
 FQoJCAsCBBYCAwECHgcWIQQb2cqtc1xMOkYN/MpN3hD3AP+DWgUCaJzangUJJlgIpAAKCRBN
 3hD3AP+DWhAxD/9wcL0A+2rtaAmutaKTfxhTP0b4AAp1r/eLxjrbfbCCmh4pqzBhmSX/4z11
 opn2KqcOsueRF1t2ENLOWzQu3Roiny2HOU7DajqB4dm1BVMaXQya5ae2ghzlJN9SIoopTWlR
 0Af3hPj5E2PYvQhlcqeoehKlBo9rROJv/rjmr2x0yOM8qeTroH/ZzNlCtJ56AsE6Tvl+r7cW
 3x7/Jq5WvWeudKrhFh7/yQ7eRvHCjd9bBrZTlgAfiHmX9AnCCPRPpNGNedV9Yty2Jnxhfmbv
 Pw37LA/jef8zlCDyUh2KCU1xVEOWqg15o1RtTyGV1nXV2O/mfuQJud5vIgzBvHhypc3p6VZJ
 lEf8YmT+Ol5P7SfCs5/uGdWUYQEMqOlg6w9R4Pe8d+mk8KGvfE9/zTwGg0nRgKqlQXrWRERv
 cuEwQbridlPAoQHrFWtwpgYMXx2TaZ3sihcIPo9uU5eBs0rf4mOERY75SK+Ekayv2ucTfjxr
 Kf014py2aoRJHuvy85ee/zIyLmve5hngZTTe3Wg3TInT9UTFzTPhItam6dZ1xqdTGHZYGU0O
 otRHcwLGt470grdiob6PfVTXoHlBvkWRadMhSuG4RORCDpq89vu5QralFNIf3EysNohoFy2A
 LYg2/D53xbU/aa4DDzBb5b1Rkg/udO1gZocVQWrDh6I2K3+cCs7BTQRVy5+RARAA59fefSDR
 9nMGCb9LbMX+TFAoIQo/wgP5XPyzLYakO+94GrgfZjfhdaxPXMsl2+o8jhp/hlIzG56taNdt
 VZtPp3ih1AgbR8rHgXw1xwOpuAd5lE1qNd54ndHuADO9a9A0vPimIes78Hi1/yy+ZEEvRkHk
 /kDa6F3AtTc1m4rbbOk2fiKzzsE9YXweFjQvl9p+AMw6qd/iC4lUk9g0+FQXNdRs+o4o6Qvy
 iOQJfGQ4UcBuOy1IrkJrd8qq5jet1fcM2j4QvsW8CLDWZS1L7kZ5gT5EycMKxUWb8LuRjxzZ
 3QY1aQH2kkzn6acigU3HLtgFyV1gBNV44ehjgvJpRY2cC8VhanTx0dZ9mj1YKIky5N+C0f21
 zvntBqcxV0+3p8MrxRRcgEtDZNav+xAoT3G0W4SahAaUTWXpsZoOecwtxi74CyneQNPTDjNg
 azHmvpdBVEfj7k3p4dmJp5i0U66Onmf6mMFpArvBRSMOKU9DlAzMi4IvhiNWjKVaIE2Se9BY
 FdKVAJaZq85P2y20ZBd08ILnKcj7XKZkLU5FkoA0udEBvQ0f9QLNyyy3DZMCQWcwRuj1m73D
 sq8DEFBdZ5eEkj1dCyx+t/ga6x2rHyc8Sl86oK1tvAkwBNsfKou3v+jP/l14a7DGBvrmlYjO
 59o3t6inu6H7pt7OL6u6BQj7DoMAEQEAAcLBfAQYAQgAJgIbDBYhBBvZyq1zXEw6Rg38yk3e
 EPcA/4NaBQJonNqrBQkmWAihAAoJEE3eEPcA/4NaKtMQALAJ8PzprBEXbXcEXwDKQu+P/vts
 IfUb1UNMfMV76BicGa5NCZnJNQASDP/+bFg6O3gx5NbhHHPeaWz/VxlOmYHokHodOvtL0WCC
 8A5PEP8tOk6029Z+J+xUcMrJClNVFpzVvOpb1lCbhjwAV465Hy+NUSbbUiRxdzNQtLtgZzOV
 Zw7jxUCs4UUZLQTCuBpFgb15bBxYZ/BL9MbzxPxvfUQIPbnzQMcqtpUs21CMK2PdfCh5c4gS
 sDci6D5/ZIBw94UQWmGpM/O1ilGXde2ZzzGYl64glmccD8e87OnEgKnH3FbnJnT4iJchtSvx
 yJNi1+t0+qDti4m88+/9IuPqCKb6Stl+s2dnLtJNrjXBGJtsQG/sRpqsJz5x1/2nPJSRMsx9
 5YfqbdrJSOFXDzZ8/r82HgQEtUvlSXNaXCa95ez0UkOG7+bDm2b3s0XahBQeLVCH0mw3RAQg
 r7xDAYKIrAwfHHmMTnBQDPJwVqxJjVNr7yBic4yfzVWGCGNE4DnOW0vcIeoyhy9vnIa3w1uZ
 3iyY2Nsd7JxfKu1PRhCGwXzRw5TlfEsoRI7V9A8isUCoqE2Dzh3FvYHVeX4Us+bRL/oqareJ
 CIFqgYMyvHj7Q06kTKmauOe4Nf0l0qEkIuIzfoLJ3qr5UyXc2hLtWyT9Ir+lYlX9efqh7mOY
 qIws/H2t
In-Reply-To: <20251015082727.2395128-13-kevin.brodsky@arm.com>
X-Mimecast-Spam-Score: 0
X-Mimecast-MFC-PROC-ID: f_w3sJnX1btb3pAq-1vkA70moqmikK2DQcCXtfFpsvc_1761250126
X-Mimecast-Originator: redhat.com
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 15.10.25 10:27, Kevin Brodsky wrote:
> The lazy MMU mode cannot be used in interrupt context. This is
> documented in <linux/pgtable.h>, but isn't consistently handled
> across architectures.
> 
> arm64 ensures that calls to lazy_mmu_mode_* have no effect in
> interrupt context, because such calls do occur in certain
> configurations - see commit b81c688426a9 ("arm64/mm: Disable barrier
> batching in interrupt contexts"). Other architectures do not check
> this situation, most likely because it hasn't occurred so far.
> 
> Both arm64 and x86/Xen also ensure that any lazy MMU optimisation is
> disabled while in interrupt mode (see queue_pte_barriers() and
> xen_get_lazy_mode() respectively).
> 
> Let's handle this in the new generic lazy_mmu layer, in the same
> fashion as arm64: bail out of lazy_mmu_mode_* if in_interrupt(), and
> have in_lazy_mmu_mode() return false to disable any optimisation.
> Also remove the arm64 handling that is now redundant; x86/Xen has
> its own internal tracking so it is left unchanged.
> 
> Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
> ---
>   arch/arm64/include/asm/pgtable.h | 17 +----------------
>   include/linux/pgtable.h          | 16 ++++++++++++++--
>   include/linux/sched.h            |  3 +++
>   3 files changed, 18 insertions(+), 18 deletions(-)
> 
> diff --git a/arch/arm64/include/asm/pgtable.h b/arch/arm64/include/asm/pgtable.h
> index 944e512767db..a37f417c30be 100644
> --- a/arch/arm64/include/asm/pgtable.h
> +++ b/arch/arm64/include/asm/pgtable.h
> @@ -62,37 +62,22 @@ static inline void emit_pte_barriers(void)
>   
>   static inline void queue_pte_barriers(void)
>   {
> -	if (in_interrupt()) {
> -		emit_pte_barriers();
> -		return;
> -	}
> -

That took me a while. I guess this works because in_lazy_mmu_mode() == 0 
in interrupt context, so we keep calling emit_pte_barriers?


-- 
Cheers

David / dhildenb



From xen-devel-bounces@lists.xenproject.org Thu Oct 23 20:10:50 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 20:10:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1149689.1481256 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vC1e5-0005vp-Q3; Thu, 23 Oct 2025 20:10:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1149689.1481256; Thu, 23 Oct 2025 20:10:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vC1e5-0005vi-NI; Thu, 23 Oct 2025 20:10:49 +0000
Received: by outflank-mailman (input) for mailman id 1149689;
 Thu, 23 Oct 2025 20:10:48 +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 <SRS0=MccR=5A=redhat.com=david@srs-se1.protection.inumbo.net>)
 id 1vC1e4-0005vb-6z
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 20:10:48 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.133.124])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5c6a40ed-b04c-11f0-9d15-b5c5bf9af7f9;
 Thu, 23 Oct 2025 22:10:47 +0200 (CEST)
Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com
 [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-284-17Rt_d00PyK_kZ6BZMNE3Q-1; Thu, 23 Oct 2025 16:10:44 -0400
Received: by mail-wm1-f70.google.com with SMTP id
 5b1f17b1804b1-475c422fd70so7478675e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 23 Oct 2025 13:10:44 -0700 (PDT)
Received: from ?IPV6:2003:d8:2f4e:3200:c99d:a38b:3f3a:d4b3?
 (p200300d82f4e3200c99da38b3f3ad4b3.dip0.t-ipconnect.de.
 [2003:d8:2f4e:3200:c99d:a38b:3f3a:d4b3])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-429898cceebsm5532934f8f.37.2025.10.23.13.10.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Oct 2025 13:10:42 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5c6a40ed-b04c-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1761250246;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
	bh=vF8Hb3hnoXfLSdgr9uXEesJUum0OfpN/YlQIs62F7QU=;
	b=h/LiE1VLs76LoKbFzr32dVFOaHAicbQTFrMx7VjHQvFzjSLnZZlN3mCT7kVMnKE+2Ji+6Q
	Zk8ofKlt4iffiKUoeL8WbmY5j9rEe1mqHBeG5regsDPXCfT/Rs14xBgZMTCK7Ihlc7xOPE
	E92aNOSvYX1DuHMegPx3Es8RSpikEQY=
X-MC-Unique: 17Rt_d00PyK_kZ6BZMNE3Q-1
X-Mimecast-MFC-AGG-ID: 17Rt_d00PyK_kZ6BZMNE3Q_1761250243
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761250243; x=1761855043;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :from:references:cc:to:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=vF8Hb3hnoXfLSdgr9uXEesJUum0OfpN/YlQIs62F7QU=;
        b=xPpHPVMc+keshkY/6/i5riNCNH9uz/Atk8lJrZGZ2j0fBG1GCOdRIuWQOa4fkjRp19
         4qydBy9U0eWcw7ltT/bDhc4Oy7J/9XYCoyCJ348aj8DJ53a/dx3EGpr5obGsKixyotzT
         /Wx5OMaCsNCespZu5aQy7OS/RKIoAranOmopmqjN8I4ErmXoaY6kn+lfKm1JrybgWxdA
         2Xn9VzLuOU/DPj3gSmPv8wJbP0pHoy+uyqjDJOVu0ADVo7oTVyIPQ9kaIfyUx7hOVcqw
         AJ+Os7rdkZ+ZVtDsE1PW9N5/53J8jHlMe5SEQINB8kJ8Jdm2pUXNWfmMJoE5tHzBvafU
         lLlg==
X-Forwarded-Encrypted: i=1; AJvYcCVfKD2OHvI0ZZb2UV+IAh+jbYylb1dmSc1IccRjc1ju5KtwbvX8mBSNyxmwHE7Y+LT2ZREZ1PJJJFg=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy6oJUBiKbpeYmp54/6D/VgVgRX7hLtkltzpocJznYKm6wGNBZV
	qtFqfokQpfEMioVeZNglbSsPT6Fp97Dw2+zBtBiaICdf5ARFIeoy1kqORzPM1RW/lcEiUTtBkpP
	RqhvQxRxGKcnQJa6rCWV8YwnAX74l8mpg9npvek/Y4N3b36o3hgrW6imEhMa+yy5b/tvU
X-Gm-Gg: ASbGncvszg+GUI3mU6FpocIL1VhunwttsfZwGGslJHMCoA6tlfaGBFB7EN4ay528Hs+
	C0yyDD8YwaoZOeqYR1TDh0S4kZsVFWOkML07kxTzyglek9DlqZ6+JS7Hv8IKLWG4/9kPQfEARtx
	Kaqf9w3BLXQkGqD5FvhbRmaZ/4X1twVOdzKob1FUrWP68+lHpfeijXEjJuVGSAsjQSwm0ASESrX
	6xG1duaWDnfQ1uEup2KerkXC41DvyHD0m9cQBv0dGMr3gAx3jM72Dkv0MflOn401cLRlLLHo9U3
	kIbx0CLc5JfvpYUxCHKxaGgFfAN0y7vh0nbwk8TMC6/2z4h9cYiyhVrjlgDDgKRsTc9itEslTKj
	7Zy+teQXZXv0DDD+bnAvm66Z0Py9IMFyJ4Yc/O34D4ppnryx3CMnZzztdL+dpm3lS5cV/XvpLo8
	OjJGNVAJxUmKWZA5tPae1HFoavnrA=
X-Received: by 2002:a05:600c:6291:b0:471:a43:123f with SMTP id 5b1f17b1804b1-471178a6882mr200628425e9.9.1761250243297;
        Thu, 23 Oct 2025 13:10:43 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IEznsO/mZG7bXXGeVpf9lUsRK7DtoSEnI7rqyr8WVIAgGuBjLQ7Sb3p9c9Pj2m7/SEml5RHBQ==
X-Received: by 2002:a05:600c:6291:b0:471:a43:123f with SMTP id 5b1f17b1804b1-471178a6882mr200628295e9.9.1761250242917;
        Thu, 23 Oct 2025 13:10:42 -0700 (PDT)
Message-ID: <3d6bba2d-9739-41d0-8f3a-f8b11620c33f@redhat.com>
Date: Thu, 23 Oct 2025 22:10:39 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 13/13] mm: introduce arch_wants_lazy_mmu_mode()
To: Kevin Brodsky <kevin.brodsky@arm.com>, linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org, Alexander Gordeev <agordeev@linux.ibm.com>,
 Andreas Larsson <andreas@gaisler.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, Borislav Petkov
 <bp@alien8.de>, Catalin Marinas <catalin.marinas@arm.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 Dave Hansen <dave.hansen@linux.intel.com>,
 "David S. Miller" <davem@davemloft.net>, "H. Peter Anvin" <hpa@zytor.com>,
 Ingo Molnar <mingo@redhat.com>, Jann Horn <jannh@google.com>,
 Juergen Gross <jgross@suse.com>, "Liam R. Howlett"
 <Liam.Howlett@oracle.com>, Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>, Michal Hocko <mhocko@suse.com>,
 Mike Rapoport <rppt@kernel.org>, Nicholas Piggin <npiggin@gmail.com>,
 Peter Zijlstra <peterz@infradead.org>, Ryan Roberts <ryan.roberts@arm.com>,
 Suren Baghdasaryan <surenb@google.com>, Thomas Gleixner
 <tglx@linutronix.de>, Vlastimil Babka <vbabka@suse.cz>,
 Will Deacon <will@kernel.org>, Yeoreum Yun <yeoreum.yun@arm.com>,
 linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org,
 sparclinux@vger.kernel.org, xen-devel@lists.xenproject.org, x86@kernel.org
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
 <20251015082727.2395128-14-kevin.brodsky@arm.com>
From: David Hildenbrand <david@redhat.com>
Autocrypt: addr=david@redhat.com; keydata=
 xsFNBFXLn5EBEAC+zYvAFJxCBY9Tr1xZgcESmxVNI/0ffzE/ZQOiHJl6mGkmA1R7/uUpiCjJ
 dBrn+lhhOYjjNefFQou6478faXE6o2AhmebqT4KiQoUQFV4R7y1KMEKoSyy8hQaK1umALTdL
 QZLQMzNE74ap+GDK0wnacPQFpcG1AE9RMq3aeErY5tujekBS32jfC/7AnH7I0v1v1TbbK3Gp
 XNeiN4QroO+5qaSr0ID2sz5jtBLRb15RMre27E1ImpaIv2Jw8NJgW0k/D1RyKCwaTsgRdwuK
 Kx/Y91XuSBdz0uOyU/S8kM1+ag0wvsGlpBVxRR/xw/E8M7TEwuCZQArqqTCmkG6HGcXFT0V9
 PXFNNgV5jXMQRwU0O/ztJIQqsE5LsUomE//bLwzj9IVsaQpKDqW6TAPjcdBDPLHvriq7kGjt
 WhVhdl0qEYB8lkBEU7V2Yb+SYhmhpDrti9Fq1EsmhiHSkxJcGREoMK/63r9WLZYI3+4W2rAc
 UucZa4OT27U5ZISjNg3Ev0rxU5UH2/pT4wJCfxwocmqaRr6UYmrtZmND89X0KigoFD/XSeVv
 jwBRNjPAubK9/k5NoRrYqztM9W6sJqrH8+UWZ1Idd/DdmogJh0gNC0+N42Za9yBRURfIdKSb
 B3JfpUqcWwE7vUaYrHG1nw54pLUoPG6sAA7Mehl3nd4pZUALHwARAQABzSREYXZpZCBIaWxk
 ZW5icmFuZCA8ZGF2aWRAcmVkaGF0LmNvbT7CwZoEEwEIAEQCGwMCF4ACGQEFCwkIBwICIgIG
 FQoJCAsCBBYCAwECHgcWIQQb2cqtc1xMOkYN/MpN3hD3AP+DWgUCaJzangUJJlgIpAAKCRBN
 3hD3AP+DWhAxD/9wcL0A+2rtaAmutaKTfxhTP0b4AAp1r/eLxjrbfbCCmh4pqzBhmSX/4z11
 opn2KqcOsueRF1t2ENLOWzQu3Roiny2HOU7DajqB4dm1BVMaXQya5ae2ghzlJN9SIoopTWlR
 0Af3hPj5E2PYvQhlcqeoehKlBo9rROJv/rjmr2x0yOM8qeTroH/ZzNlCtJ56AsE6Tvl+r7cW
 3x7/Jq5WvWeudKrhFh7/yQ7eRvHCjd9bBrZTlgAfiHmX9AnCCPRPpNGNedV9Yty2Jnxhfmbv
 Pw37LA/jef8zlCDyUh2KCU1xVEOWqg15o1RtTyGV1nXV2O/mfuQJud5vIgzBvHhypc3p6VZJ
 lEf8YmT+Ol5P7SfCs5/uGdWUYQEMqOlg6w9R4Pe8d+mk8KGvfE9/zTwGg0nRgKqlQXrWRERv
 cuEwQbridlPAoQHrFWtwpgYMXx2TaZ3sihcIPo9uU5eBs0rf4mOERY75SK+Ekayv2ucTfjxr
 Kf014py2aoRJHuvy85ee/zIyLmve5hngZTTe3Wg3TInT9UTFzTPhItam6dZ1xqdTGHZYGU0O
 otRHcwLGt470grdiob6PfVTXoHlBvkWRadMhSuG4RORCDpq89vu5QralFNIf3EysNohoFy2A
 LYg2/D53xbU/aa4DDzBb5b1Rkg/udO1gZocVQWrDh6I2K3+cCs7BTQRVy5+RARAA59fefSDR
 9nMGCb9LbMX+TFAoIQo/wgP5XPyzLYakO+94GrgfZjfhdaxPXMsl2+o8jhp/hlIzG56taNdt
 VZtPp3ih1AgbR8rHgXw1xwOpuAd5lE1qNd54ndHuADO9a9A0vPimIes78Hi1/yy+ZEEvRkHk
 /kDa6F3AtTc1m4rbbOk2fiKzzsE9YXweFjQvl9p+AMw6qd/iC4lUk9g0+FQXNdRs+o4o6Qvy
 iOQJfGQ4UcBuOy1IrkJrd8qq5jet1fcM2j4QvsW8CLDWZS1L7kZ5gT5EycMKxUWb8LuRjxzZ
 3QY1aQH2kkzn6acigU3HLtgFyV1gBNV44ehjgvJpRY2cC8VhanTx0dZ9mj1YKIky5N+C0f21
 zvntBqcxV0+3p8MrxRRcgEtDZNav+xAoT3G0W4SahAaUTWXpsZoOecwtxi74CyneQNPTDjNg
 azHmvpdBVEfj7k3p4dmJp5i0U66Onmf6mMFpArvBRSMOKU9DlAzMi4IvhiNWjKVaIE2Se9BY
 FdKVAJaZq85P2y20ZBd08ILnKcj7XKZkLU5FkoA0udEBvQ0f9QLNyyy3DZMCQWcwRuj1m73D
 sq8DEFBdZ5eEkj1dCyx+t/ga6x2rHyc8Sl86oK1tvAkwBNsfKou3v+jP/l14a7DGBvrmlYjO
 59o3t6inu6H7pt7OL6u6BQj7DoMAEQEAAcLBfAQYAQgAJgIbDBYhBBvZyq1zXEw6Rg38yk3e
 EPcA/4NaBQJonNqrBQkmWAihAAoJEE3eEPcA/4NaKtMQALAJ8PzprBEXbXcEXwDKQu+P/vts
 IfUb1UNMfMV76BicGa5NCZnJNQASDP/+bFg6O3gx5NbhHHPeaWz/VxlOmYHokHodOvtL0WCC
 8A5PEP8tOk6029Z+J+xUcMrJClNVFpzVvOpb1lCbhjwAV465Hy+NUSbbUiRxdzNQtLtgZzOV
 Zw7jxUCs4UUZLQTCuBpFgb15bBxYZ/BL9MbzxPxvfUQIPbnzQMcqtpUs21CMK2PdfCh5c4gS
 sDci6D5/ZIBw94UQWmGpM/O1ilGXde2ZzzGYl64glmccD8e87OnEgKnH3FbnJnT4iJchtSvx
 yJNi1+t0+qDti4m88+/9IuPqCKb6Stl+s2dnLtJNrjXBGJtsQG/sRpqsJz5x1/2nPJSRMsx9
 5YfqbdrJSOFXDzZ8/r82HgQEtUvlSXNaXCa95ez0UkOG7+bDm2b3s0XahBQeLVCH0mw3RAQg
 r7xDAYKIrAwfHHmMTnBQDPJwVqxJjVNr7yBic4yfzVWGCGNE4DnOW0vcIeoyhy9vnIa3w1uZ
 3iyY2Nsd7JxfKu1PRhCGwXzRw5TlfEsoRI7V9A8isUCoqE2Dzh3FvYHVeX4Us+bRL/oqareJ
 CIFqgYMyvHj7Q06kTKmauOe4Nf0l0qEkIuIzfoLJ3qr5UyXc2hLtWyT9Ir+lYlX9efqh7mOY
 qIws/H2t
In-Reply-To: <20251015082727.2395128-14-kevin.brodsky@arm.com>
X-Mimecast-Spam-Score: 0
X-Mimecast-MFC-PROC-ID: 6AZQW4GNRISbOzf_of-gdEGKRB2sWcVyF0Rihm-8ifI_1761250243
X-Mimecast-Originator: redhat.com
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 15.10.25 10:27, Kevin Brodsky wrote:
> powerpc decides at runtime whether the lazy MMU mode should be used.
> 
> To avoid the overhead associated with managing
> task_struct::lazy_mmu_state if the mode isn't used, introduce
> arch_wants_lazy_mmu_mode() and bail out of lazy_mmu_mode_* if it
> returns false. Add a default definition returning true, and an
> appropriate implementation for powerpc.
> 
> Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
> ---
> This patch seemed like a good idea to start with, but now I'm not so
> sure that the churn added to the generic layer is worth it.

Exactly my thoughts :)

I think we need evidence that this is really worth it for optimizing out 
basically a counter update on powerpc.

-- 
Cheers

David / dhildenb



From xen-devel-bounces@lists.xenproject.org Thu Oct 23 23:34:28 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 23:34:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1149768.1481266 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vC4ow-0006YW-HM; Thu, 23 Oct 2025 23:34:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1149768.1481266; Thu, 23 Oct 2025 23:34:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vC4ow-0006YP-EP; Thu, 23 Oct 2025 23:34:14 +0000
Received: by outflank-mailman (input) for mailman id 1149768;
 Thu, 23 Oct 2025 23:34:13 +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
 <SRS0=Lpkf=5A=gmail.com=samaan.dehghan@srs-se1.protection.inumbo.net>)
 id 1vC4ov-0006YI-1X
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 23:34:13 +0000
Received: from mail-qk1-x72b.google.com (mail-qk1-x72b.google.com
 [2607:f8b0:4864:20::72b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c6d1fcfd-b068-11f0-9d15-b5c5bf9af7f9;
 Fri, 24 Oct 2025 01:34:11 +0200 (CEST)
Received: by mail-qk1-x72b.google.com with SMTP id
 af79cd13be357-88fca7a60cfso176008585a.2
 for <xen-devel@lists.xenproject.org>; Thu, 23 Oct 2025 16:34:11 -0700 (PDT)
Received: from localhost.localdomain
 (host-154-4.mdu.ilcmifre.champaign.il.us.clients.pavlovmedia.net.
 [66.253.154.4]) by smtp.gmail.com with ESMTPSA id
 af79cd13be357-89c0e97efa6sm257816385a.24.2025.10.23.16.34.08
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Thu, 23 Oct 2025 16:34:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c6d1fcfd-b068-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1761262450; x=1761867250; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=xHehQy1e5k8hHipmye8nXvoklSTRtT6iQd6sw0dqxjo=;
        b=bnyW8PysPCQFc9w0gkYD9YkRXHuMH0fVTzbARDrxO/P4AhtG33XxXzVqsdspBgFwID
         /nPj3g/fQ1/q/MgolybbcoofpaN6ny1B1pnzwab8+Lammwu3JoKgvjV59j5VEOT15Qjj
         CYYM6CEVoJ2174uQ88fh69Tix0ky5lOCYcFUtXujrGLXPY3cD7Ra/tyYRnjBzESYDdmH
         Bk8VXQSklAVUC+9ft87R6LMRc8RNXnQyQI163KPGs1whykUvb7CI97whkOS3rz+d6ehC
         HergKoBqbgs/N5ZcrC0YgiYJ/cGcNGRGxCKPqImqQlaNBBFJ8Dlik+9dPDuKvxaoociC
         bDRg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761262450; x=1761867250;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=xHehQy1e5k8hHipmye8nXvoklSTRtT6iQd6sw0dqxjo=;
        b=QtohaLp187w8rNQZZs3Woq1FP4maeunw/Rt5DmnrSVR+O5KbmTZjql7+wAtDaWHi+s
         on87cPfNqWxOP8PKKJ3R5VWPWlaabB+mw6vib02ZHqxBpmNgWWjB78RwtsdS4WQgnWJO
         a0G0wGjmL60phz7bwDP9ny8mVOK9t5bAWarnYKRjLnujbKPXJq9lsxc7wjNqfiq4iit9
         9yffaLWGQS5uTR1x7cj6TtnOBq8USQ5W3uB7YOGgEoHpX4zH9mroGZs9/mVkrFnoSLpl
         PfwOcdOj3BYIXw9Y0IvrtrqyxWhS3OG2O+QNKCHXngocmcqTdDTWd2tyX5AHhPhA9fZi
         sBiw==
X-Gm-Message-State: AOJu0YzjOnHAGMEIAduU9pZ9cIQrIOWh+ISCcwDUu5YVwE3f+at6ybQY
	PHuVD3EuDVU6dqZ3hMrko6rQ28to3OujLQipzIt3l/lHDk0Tl/nF/a6QjZdo
X-Gm-Gg: ASbGncuHvq4eJDSzPyUqkuPtt3xR+Nc1dOqEWrHI3RZTAhqHzC0G3Kal/THvwfIoyje
	8a/gkK77U38wRl2fGuaSKZIlC48KnYtZf5oXaFmppbKUqi5Lpuz6L/ZaZx+A2MzAT1JCF5qHBO4
	4KuN4G+tI3y/BJGIMcu639ejI11HCIcIHUndft9FTDLWDSCXbs+eDfCCXGQnTna7lNtM997z7IM
	M9uFqzHEEmMpvZYfr3lxvwoYdtk28oV+RpOr/k0lBdHZEZILGzzzwPWpXumcT1kVq1hmHYkAGvM
	lvnRVo129XI38RLoE6/kUfQ9h+jxy2pj/jI7ncW2ONVJDFJOBwDCby3r5yYo3ey7uEipwHxe9ew
	VoMvRgXKGK879Z4OaOHS1LC26BMnJeHfbt9zOUv45SYCYY+uteo6m+b963VX8J8+bv5/2c1d2gi
	gqpG0Pt4Xtuo33wL+8lhYZOWooAPb8ulCTjSsjzGShmvOG8ZvbQb1hhxBIHPKHS8aAWmsZ9jv/V
	/XepjAhgECZZFKkNWNxME4UIqmP5+gRs6MY2CydJll8gpU=
X-Google-Smtp-Source: AGHT+IGOpi6Tx172PyZLM83NDw1fTwRVUL2Q0werWHUcU2dbn5QyXLN0Rc01f/g+bTaWrpQIo34C9Q==
X-Received: by 2002:a05:620a:404a:b0:88f:4d97:152d with SMTP id af79cd13be357-8906e0dbd77mr3171207385a.15.1761262449849;
        Thu, 23 Oct 2025 16:34:09 -0700 (PDT)
From: Saman Dehghan <samaan.dehghan@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Wentao Zhang <wentaoz5@illinois.edu>
Subject: Support of building Xen with Clang/LLVM on Arm?
Date: Thu, 23 Oct 2025 18:34:06 -0500
Message-ID: <20251023233408.16245-1-samaan.dehghan@gmail.com>
X-Mailer: git-send-email 2.49.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Hi xen-devel,

When preparing and testing another of my patch for LLVM coverage [1], I
encountered a few problems with Clang/LLVM build on ARM 64 platforms.

The first two are clang errors.

I observe the following errors when building the Xen master branch
for ARM 64 with Clang 19 and 20. If I comment out 
"CFLAGS-$(CONFIG_ARM_64) += -mgeneral-regs-only" in "xen/arch/arm/arch.mk"
the error is gone but the build fails during linking (see the third). 

Error message:

arch/arm/arm64/vfp.c:9:18: error: instruction requires: fp-armv8  
    9 |     asm volatile("stp q0, q1, [%1, #16 * 0]\n\t"          
      |                  ^                                        
<inline asm>:1:2: note: instantiated into assembly here           
    1 |         stp q0, q1, [x8, #16 * 0]                        
      |         ^                                                 
arch/arm/arm64/vfp.c:9:46: error: instruction requires: fp-armv8                                                                    
    9 |     asm volatile("stp q0, q1, [%1, #16 * 0]\n\t"          
      |                                              ^            
<inline asm>:2:2: note: instantiated into assembly here           
    2 |         stp q2, q3, [x8, #16 * 2]                         
      |         ^                                                 
arch/arm/arm64/vfp.c:10:46: error: instruction requires: fp-armv8
   10 |                  "stp q2, q3, [%1, #16 * 2]\n\t"          
      |                                              ^           
<inline asm>:3:2: note: instantiated into assembly here
    3 |         stp q4, q5, [x8, #16 * 4]
      |         ^
arch/arm/arm64/vfp.c:11:46: error: instruction requires: fp-armv8
   11 |                  "stp q4, q5, [%1, #16 * 4]\n\t"
      |                                              ^
<inline asm>:4:2: note: instantiated into assembly here
    4 |         stp q6, q7, [x8, #16 * 6]
      |         ^
arch/arm/arm64/vfp.c:12:46: error: instruction requires: fp-armv8
   12 |                  "stp q6, q7, [%1, #16 * 6]\n\t"
      |                                              ^
<inline asm>:5:2: note: instantiated into assembly here
    5 |         stp q8, q9, [x8, #16 * 8]
      |         ^
arch/arm/arm64/vfp.c:13:46: error: instruction requires: fp-armv8
   13 |                  "stp q8, q9, [%1, #16 * 8]\n\t"
      |                                              ^
<inline asm>:6:2: note: instantiated into assembly here
    6 |         stp q10, q11, [x8, #16 * 10]
      |         ^

Reprroduction steps:

$ git clone https://xenbits.xen.org/git-http/xen
$ cd xen
$ git checkout eff32008be0d2718d32d60245650ff6f88fb3d13
$ make -C xen menuconfig clang=y
$ make xen clang=y

Tested with the following setup:

- Clang version: Ubuntu clang version 19.1.1 (1ubuntu1~24.04.2)
- Host: Ubuntu 24.04.3 LTS /  aarch64

Second, for Clang 18 or below there are another set of errors despite
commenting out the "-mgeneral-regs-only" flag:

arch/arm/arm64/mmu/head.S:288:13: error: expected writable system register or pstate
        msr TTBR0_EL2, x4
            ^
arch/arm/arm64/mmu/head.S:509:13: error: expected writable system register or pstate
        msr TTBR0_EL2, x0
            ^

Tested with:

- Clang version: Ubuntu clang version 18.1.3 (1ubuntu1)
- Host: Ubuntu 24.04.3 LTS /  aarch64

This works with GCC. It also works with Clang on x86 builds.

Third, if I specify "LD=ld.lld" with Clang 19 and 20 after commenting out
the "-mgeneral-regs-only" flag. I got this linking error:

ld.lld: error: common/device-tree/static-evtchn.init.o:(.rodata.str): offset is outside the section

As I read from the project README, under "C compiler and linker - For ARM",
only GCC is listed. So my general question is whether Xen supports building
with Clang/LLVM on ARM platforms.

Let me know if you need more details or a patch attempt.

[1] https://lists.xenproject.org/archives/html/xen-devel/2025-10/msg00010.html

Thanks,
Saman


From xen-devel-bounces@lists.xenproject.org Thu Oct 23 23:46:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Oct 2025 23:46:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1149778.1481276 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vC50O-0008B2-GV; Thu, 23 Oct 2025 23:46:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1149778.1481276; Thu, 23 Oct 2025 23:46:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vC50O-0008Av-Dl; Thu, 23 Oct 2025 23:46:04 +0000
Received: by outflank-mailman (input) for mailman id 1149778;
 Thu, 23 Oct 2025 23:46:03 +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
 <SRS0=Ct/T=5A=citrix.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1vC50N-0008Ap-BN
 for xen-devel@lists.xenproject.org; Thu, 23 Oct 2025 23:46:03 +0000
Received: from MW6PR02CU001.outbound.protection.outlook.com
 (mail-westus2azlp170120002.outbound.protection.outlook.com
 [2a01:111:f403:c007::2])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6ded15d7-b06a-11f0-9d15-b5c5bf9af7f9;
 Fri, 24 Oct 2025 01:46:02 +0200 (CEST)
Received: from DM4PR03MB7015.namprd03.prod.outlook.com (2603:10b6:8:42::8) by
 MN2PR03MB5183.namprd03.prod.outlook.com (2603:10b6:208:19e::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.13; Thu, 23 Oct
 2025 23:45:56 +0000
Received: from DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9]) by DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9%3]) with mapi id 15.20.9253.011; Thu, 23 Oct 2025
 23:45:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6ded15d7-b06a-11f0-9d15-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=qT492TYZAVLB8GgBOxtl4adiTkrJn8KKfasUMJs5ON2UkMdYaGwWSmIlw+bl5x6lLnpBL1yv09GlKE3Jxmbw1Gz73YXh0uls5xyFZBRnVXWLgT4UvuJwnFUO1Jkf1XQYtkH5Ovu+DX60t7pKvXS9Uf6Hcq/1YOGuFgzZu9OjE+j2qBPJbl6o78wL7ahZUbpwUDcz5xeSgYPzHG9dSDXrvbRdkHbkDG88LLPUEZtainSPkfWshSgdMTOcVvBNIlFN1ahvKi03P0sTClx8Gp9zcCR39rPpTTDjFg3k6DL4ie3y18qsfHQG+VnoUEKatIGrbvxL9Im1O/O2n3lxKLbGKQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sfiaqGUD8Ep+N6lp00WKhZ9MkCPJDxDmGXtlKRUfxBM=;
 b=Q+FZgRXsDaNs9s2dfEybwzSemA72IHmeJQRPgu55Qsn7cJ4UhYtXwgq8sfa0uygsX0prYc5yD+J92ko5ZBNPSCk6Axqf9zP6V8kFFGSzceWTHKbCWv5v0dJEtLmBxukhsuTLcqfu22xnn/eMW1UPuRb+EsvVF2mBi1zGWqs4UT7f/C3H0LKS03zQIbqxTBexXYRpObBwVttXHkhxre0fGjxRxs2sEbc2dBqoEdAzMa6DSY/BWIpD16O1mNq6BJUzE2JTkVyuW1HKGl9dR9WBpYiZ0hxeGgLCcauGe5WKLKjiwYgxdihNYhp9T8GdMrU8FNb9ux3W2S5aMH3u48T6RQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=sfiaqGUD8Ep+N6lp00WKhZ9MkCPJDxDmGXtlKRUfxBM=;
 b=eAfCNUFMRP94s2zy4JGjkC8V1T/OWGBQYhST7Ut33dK/5cIIPzTMUUcePpKO4CGDeLf/4+6cQ2/ez/l1eyhRzVZ+ww9dZB/5Aeo/PQkwytTsjNoCmWMcY+wcAH5+RFROViAmGKxGX9E/XP/aF0XK60mCi7MYKNmTrXe1DbzUg/k=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <f61d5a29-04f0-44cc-bef6-de05f240bbc8@citrix.com>
Date: Fri, 24 Oct 2025 00:45:53 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: Support of building Xen with Clang/LLVM on Arm?
To: Saman Dehghan <samaan.dehghan@gmail.com>, xen-devel@lists.xenproject.org
Cc: Wentao Zhang <wentaoz5@illinois.edu>
References: <20251023233408.16245-1-samaan.dehghan@gmail.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <20251023233408.16245-1-samaan.dehghan@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P123CA0063.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:153::14) To DM4PR03MB7015.namprd03.prod.outlook.com
 (2603:10b6:8:42::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM4PR03MB7015:EE_|MN2PR03MB5183:EE_
X-MS-Office365-Filtering-Correlation-Id: 9ab2406c-2c3b-4a7c-86bc-08de128e4fac
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|366016;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?ekxVNjFEYTFROVRZNC8vMWNzTVd0cHVCbWRpVHRDb2N0MjFERVRNOE9HeGVk?=
 =?utf-8?B?dWFxRmRlcTV3Ykp5aGhpNXZyKzkyVnlQcHpCME1yb2pQTlRYZjdsak16RTk4?=
 =?utf-8?B?bHRhOFZGaUVxTjBzODBSSVJYZmxRcFU5dEU5YmVEUXRqL2hBeTR3MThjUjdB?=
 =?utf-8?B?azZJUWZ6TDd1azI4ZlRMTTBhVmcrb0puSmxMYjNTQXg3M2wvYngzTDh5SjJ1?=
 =?utf-8?B?VVBkSkJnUGZ2eW14ZDRRUUFaT2NOTmRlYURza3ZvL3c0dnZaZGN2L3RxK0k3?=
 =?utf-8?B?WmExU3RBSHltdGtyZTZLU01aSkdwK0VEU2t0d0VPL2pqMzZ1VjdhUmVBRmJU?=
 =?utf-8?B?YnB3U3EzSVlnWllBWUFub0FuMGdZcGhLNUxYZ2dUcWpHUGdqR0NwMVl6NmRR?=
 =?utf-8?B?RjRURVc2RWtzNllhYXJwRHFuWUlEOWZSekN0dUdSOWlDY3BSMVBDYzV2TnlS?=
 =?utf-8?B?VWsvVXl4VklJdU1TS0Y5T0pJWkFad2s1bGgrcVUyNkhlVlZuaFh6TSt6aERY?=
 =?utf-8?B?ZU9ZTXY4WGlOU2EwSkJPamtMNnhybUIrNW9uWnpIOUxFUXljc3JDald6aGZC?=
 =?utf-8?B?eTVnMlBkQ1NLT1RXUGRJMjNpZXJjcEdWN0tYcGpyTjBHaVZVWVMvdWJrLzBp?=
 =?utf-8?B?ZWo0MTZJZFVqWXp0dHozYUt0aFdjWDhLV0N1ckc3N2lKZDNUSE9pMnNhYjZ5?=
 =?utf-8?B?ZDhqMUpxd0RlN0pYb0FkKzVjR20xWkhtOGszRm50Rm1pdks3a1BMQ0pJeUVM?=
 =?utf-8?B?ZnEzeDNkMGZ5dEUzOGFvQnQ3Y3l2dXlzenFpZnJUbzdjaDhQam5qUmhVM3lZ?=
 =?utf-8?B?dk96RzlDek1KS3pSOTFpOUZZaHdpNjVSQUZzNzJHV21pWE1YTUNCQjdFUzhS?=
 =?utf-8?B?RFJiK1F4WmpoL0lPeEZodWx3N1dkOXd3bFAycEd0VE43ZTVvVnVmeHNmV2Fy?=
 =?utf-8?B?bnlzNUpUTVZMSXA2OE5tMGw5WDNkckwzdE9HMGY3a3NnZm9EanZyTFFPbnMx?=
 =?utf-8?B?UWg1dzJSRVFsTFQxaitONk5Wa25uL1VCUVRSZkdkOGJCbmdGNGluQ3N5cHpB?=
 =?utf-8?B?MGhsVzZzaHhJZTdJSjVTTlJQSUJCdnBWTEpPRmdINTU2ZU5wTlllS1Rhb2Y5?=
 =?utf-8?B?SHR6L1lQY1c1b1VQWjRSZzRzanZUa2JiQXJwWmV5dk5CanNubjhvVEFmbEF5?=
 =?utf-8?B?Q0Q0QjhKVitXaGMvVUlLOWlJZ2RmYWFTUWpRZXRzODRMMmJCcWtnd1dEV3JC?=
 =?utf-8?B?ajlDdVdFS01ROFBHcldqdTI1MldOQXNiQ01CUGt3ZEZZSTZLRTI0NDZwOVVz?=
 =?utf-8?B?Y0ROQjBmQlRwM0k1QVNXSnk0MW1WVzRwRzJRRWY3Q0UwTG1iSm1QeVZGTmFt?=
 =?utf-8?B?UnVQdEh1SGlIaFIwUFpzeXZ3Z0duNTAwTnZ3a1kyK0k4OWpESW9CeGloZ1V5?=
 =?utf-8?B?eGhLUXQ1N3pSd0RqdXUyVUl4UEMzR3RVWE9abnY0VjRGR3ZEWEs3elBBSXU2?=
 =?utf-8?B?Q1pSTGhFNm1vRHpnSUF1SjVaLzM4M2hwbUk1c3p1c285ZVJnMHF3WjVJak54?=
 =?utf-8?B?MG96UzAvUVpiaG1UNEQ4b2o4MmtnZG9iZjhuVE43N2RJREZBMGtSVnVlS0dQ?=
 =?utf-8?B?cWhrR25TVUJKaG9SR216Rzc0NHFEbjlSUHdiS3BiWmNmeTFuUnBrWmhQZzd4?=
 =?utf-8?B?bFREbmZ3MVhJVkNvNTFadzlJNXBWVStiQ25SeFVlTVJkeC9PcnZ5a3ZuYTNh?=
 =?utf-8?B?VHNITUs0ZUJpcVpYZEdMaS9XekZSYklDWjlUcmo4b0pxQ3hPY3RVR1dKTXda?=
 =?utf-8?B?NzlCN3h1UHVZRW1OOUNNeEN1Y211ZHBFNm8wcHJSV3FWczhydGVzSEhGTGM0?=
 =?utf-8?B?SWpDTDZ5cHRyYlp5NXEydjJQMHhtZWw3Ni82RXk0bzZRUGswWitueGVIb2hG?=
 =?utf-8?B?WUlrdk5QNUkvT1N5a2pjeG5pZXcvcE42bkRaenNVNGVRTTQxYjQ0NUlFZnFr?=
 =?utf-8?B?dzFsRHZraXlnPT0=?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR03MB7015.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Q3Q3MzNjQUhuTFZpS0h6MnZpYXRvTDZrVDFRS1dTTEpONktrTzhwOFlSUFhw?=
 =?utf-8?B?aHp3c05QZ2dPNnZDcmdGSDJrMkRZSFB5YzdoSWtPQjhRK09RclllR0ZQQ3d4?=
 =?utf-8?B?aFNPRStNSWpjRHZjaGgxcUdkWTZJVUxUbWlCMUE5aEdpTERNbVgyQTRKdXpt?=
 =?utf-8?B?L1RIYWx6YTlnK21MZUE1THVVckdZQmV3YUw3NkFlRy9SejU4S3hmWXg3R1Fr?=
 =?utf-8?B?UysrOEZpRHY2QjRFZnNGcDA0TGlpK1VGRVhQQTZpYVVVaW0wdFpzYXNLaTZa?=
 =?utf-8?B?aUwvc1dlQjdSSi9FL29ldUlwMkRpb1pJWEpNVHlVczIrUHNBTjVtN0x5WWdB?=
 =?utf-8?B?UEJLV0drUGZCNzJFZm5uK01sRkk0VTJZUDNOVC9adENLTy8xZ2p6N1BzS04w?=
 =?utf-8?B?TDhMWDlLb0ZIYWFnUTdNSmQwZmt2R1JaUXBrcEw0aXBQZzJEV3F4YXBsT2N6?=
 =?utf-8?B?MjlVbndqdHAxT3YzUmRxSzBrWlo5OURpUHVGQ3lkUDJHS2hKaU1xUU9xVi82?=
 =?utf-8?B?TGt0dUtVcWFJWituK0hjR1phRjhRbXd4aU5jeC8xUTRPS3k5akc5NkFLNHJm?=
 =?utf-8?B?MkI2WTdrNUYxancyYU1VL3BiNC9vZnRaWW4ycGxVN3B2Zmg4SnpxQWxKeDU2?=
 =?utf-8?B?VTR2R3BnbDBUVngvL1lTb0lRbmpEekxIblNMWExSb3JtMDE1ZHAwa2xmNGow?=
 =?utf-8?B?U2Z0MkVxNmgyTlZBaHFZZmlDWkNMOTJreWZWZUZQdlE1NWVabnloajBucmJI?=
 =?utf-8?B?cXFOVUlJRThsRG9uaFRkNzlBVGM2S0xTN1dEa0p0Q0NiMjh3ZjV6VzRBRXRK?=
 =?utf-8?B?N1FFSDNLbWFRbXZYSTk5MFFVRHhjNHpKZXh3c0VTTWVTVlFUcDJjTnVUWklR?=
 =?utf-8?B?RGhVak0vdXhuSHYvU01BRFkvMGxLcmhmVkpmWW5UNEVwcSszSVQrU1FWZ2cr?=
 =?utf-8?B?Q0tieXNVcnM4NFMwazVpVWFaV3VrbWpIQ1NBTTd0SVREWWFUY1FXQjFQT25G?=
 =?utf-8?B?ZzRoS3h1S2pLa1RhZUI5MUZGYnpsaUNqcGgzVUZoMU5WcS9RQWFLYUtnWUpV?=
 =?utf-8?B?NDBRdVJiWUoySm9iUFNwblEwRFZvUk5XZTFGZGw3RkVtNE8vcmxDV0dQZHhk?=
 =?utf-8?B?MDQ3TythWGQ3M2wvcXRSd3dXclR3YldYYzdKbTR3WmdXTWp3SndZcmRrYTJk?=
 =?utf-8?B?T2xtZ0J6WHUrT0k1b1I4YkVtcFNlS1VvZ3pmdDFIZHppN3lrek9KbDVDWFBk?=
 =?utf-8?B?VUNpNGhJOGtsT0h5b1JHaVlxQlNIK3RBRUhuc3lrVDJwL0dQWVMya0pGK2du?=
 =?utf-8?B?S0ZTRm04UDNCS3pBV1hhVEZDR2FucUFBaDloS3FyWWdNdGxldjBMZ2JwSUNC?=
 =?utf-8?B?M09uRE1BTVlCS2NlUStWN1Z5UWJKaktkKzNYUVNaRU5jaC9aZkpzemZtTFM1?=
 =?utf-8?B?dDJ0cnpPTVJOZTNPaVBJVVdlampOTTNOQkVpM0RCeVhJNUVqcVJlVkh5OHJO?=
 =?utf-8?B?dXhKenAwZmppcGtpRXUyWVUyNG5FZW9yNm14cFJ2UkhRVXVFSmpHblBvcGM3?=
 =?utf-8?B?VStZNkgwb2daVVM1QTY2WlN3WElIcmtaZzExRWdDd0llMDUwdEQ1Tm1ieHpS?=
 =?utf-8?B?bjN1bjRhbkRSNFd6YWVwNkhUNFMyajBFczFmVkI5ZS9PZGFUaWNDR0s0K0Rm?=
 =?utf-8?B?TlpyL3JrdUxMM29YcW42MndtUWZSWXFIWDRQakJDaHBFQXI0a2VnOGJWd2Q2?=
 =?utf-8?B?NUkrckdOb1FHRzVUWWsyU0VLWUJlZU5ZaTM0SUw0MmMzZS9HSGlBd0dtdXpx?=
 =?utf-8?B?Mi9qTW5TMGRSTmh5RVR1eWF6Zno3NzA3L3BsVG9MdE5tZXpEVzVqZ1NJU1gr?=
 =?utf-8?B?WGRkeklsM0NUNGVINGw0ZytFeVc4WDBSc1dHbnIvSThzN1lBeTYralRxVmdD?=
 =?utf-8?B?NUp5REcrY1U0dEt3SERYQWxHa3JjcFNFeTRMT1B5Z3Y5TndRbHF3SDdlaFQ0?=
 =?utf-8?B?QUIxVlYzWk5VMVhScUpJRVVwVk0rYitMQUU4TDdzY2dzNElsWEY4d0VqQm9k?=
 =?utf-8?B?RmhtaEd5UzdnYTI4OXkxbWFuZkF4d29VSi81cWp0KytHSjJDdG50MTJhc3Za?=
 =?utf-8?B?RGVTMXR3ZGppRWdxT0ErU09heUpnUFEwWjZ4N1BSUTYzZ2dpeFROWlMvMHZa?=
 =?utf-8?B?OFE9PQ==?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9ab2406c-2c3b-4a7c-86bc-08de128e4fac
X-MS-Exchange-CrossTenant-AuthSource: DM4PR03MB7015.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Oct 2025 23:45:56.6270
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: siAGUO4axSS03hwxV784F/ZrfdBkSXcIbSvA0CpFE5p6rADh01d9Rh09RoMhNY3A3A03LDmRdQyb0/MHy/6JtU8tpoH4Zt5jtCbcVrKDw/8=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR03MB5183

On 24/10/2025 12:34 am, Saman Dehghan wrote:
> Hi xen-devel,
>
> When preparing and testing another of my patch for LLVM coverage [1], I
> encountered a few problems with Clang/LLVM build on ARM 64 platforms.
>
> The first two are clang errors.
>
> I observe the following errors when building the Xen master branch
> for ARM 64 with Clang 19 and 20. If I comment out 
> "CFLAGS-$(CONFIG_ARM_64) += -mgeneral-regs-only" in "xen/arch/arm/arch.mk"
> the error is gone but the build fails during linking (see the third). 
>
> Error message:
>
> arch/arm/arm64/vfp.c:9:18: error: instruction requires: fp-armv8  
>     9 |     asm volatile("stp q0, q1, [%1, #16 * 0]\n\t"          
>       |                  ^                                        
> <inline asm>:1:2: note: instantiated into assembly here           
>     1 |         stp q0, q1, [x8, #16 * 0]                        
>       |         ^                                                 
> arch/arm/arm64/vfp.c:9:46: error: instruction requires: fp-armv8                                                                    
>     9 |     asm volatile("stp q0, q1, [%1, #16 * 0]\n\t"          
>       |                                              ^            
> <inline asm>:2:2: note: instantiated into assembly here           
>     2 |         stp q2, q3, [x8, #16 * 2]                         
>       |         ^                                                 
> arch/arm/arm64/vfp.c:10:46: error: instruction requires: fp-armv8
>    10 |                  "stp q2, q3, [%1, #16 * 2]\n\t"          
>       |                                              ^           
> <inline asm>:3:2: note: instantiated into assembly here
>     3 |         stp q4, q5, [x8, #16 * 4]
>       |         ^
> arch/arm/arm64/vfp.c:11:46: error: instruction requires: fp-armv8
>    11 |                  "stp q4, q5, [%1, #16 * 4]\n\t"
>       |                                              ^
> <inline asm>:4:2: note: instantiated into assembly here
>     4 |         stp q6, q7, [x8, #16 * 6]
>       |         ^
> arch/arm/arm64/vfp.c:12:46: error: instruction requires: fp-armv8
>    12 |                  "stp q6, q7, [%1, #16 * 6]\n\t"
>       |                                              ^
> <inline asm>:5:2: note: instantiated into assembly here
>     5 |         stp q8, q9, [x8, #16 * 8]
>       |         ^
> arch/arm/arm64/vfp.c:13:46: error: instruction requires: fp-armv8
>    13 |                  "stp q8, q9, [%1, #16 * 8]\n\t"
>       |                                              ^
> <inline asm>:6:2: note: instantiated into assembly here
>     6 |         stp q10, q11, [x8, #16 * 10]
>       |         ^
>
> Reprroduction steps:
>
> $ git clone https://xenbits.xen.org/git-http/xen
> $ cd xen
> $ git checkout eff32008be0d2718d32d60245650ff6f88fb3d13
> $ make -C xen menuconfig clang=y
> $ make xen clang=y
>
> Tested with the following setup:
>
> - Clang version: Ubuntu clang version 19.1.1 (1ubuntu1~24.04.2)
> - Host: Ubuntu 24.04.3 LTS /  aarch64
>
> Second, for Clang 18 or below there are another set of errors despite
> commenting out the "-mgeneral-regs-only" flag:
>
> arch/arm/arm64/mmu/head.S:288:13: error: expected writable system register or pstate
>         msr TTBR0_EL2, x4
>             ^
> arch/arm/arm64/mmu/head.S:509:13: error: expected writable system register or pstate
>         msr TTBR0_EL2, x0
>             ^
>
> Tested with:
>
> - Clang version: Ubuntu clang version 18.1.3 (1ubuntu1)
> - Host: Ubuntu 24.04.3 LTS /  aarch64
>
> This works with GCC. It also works with Clang on x86 builds.
>
> Third, if I specify "LD=ld.lld" with Clang 19 and 20 after commenting out
> the "-mgeneral-regs-only" flag. I got this linking error:
>
> ld.lld: error: common/device-tree/static-evtchn.init.o:(.rodata.str): offset is outside the section
>
> As I read from the project README, under "C compiler and linker - For ARM",
> only GCC is listed. So my general question is whether Xen supports building
> with Clang/LLVM on ARM platforms.
>
> Let me know if you need more details or a patch attempt.

Clang/LLVM is only supported for x86.

Personally I think the other architectures would benefit from using both
compilers, but it's up to the relevant maintainers.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Oct 24 00:16:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Oct 2025 00:16:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1149791.1481286 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vC5Te-0004O4-UD; Fri, 24 Oct 2025 00:16:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1149791.1481286; Fri, 24 Oct 2025 00:16:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vC5Te-0004Nm-R2; Fri, 24 Oct 2025 00:16:18 +0000
Received: by outflank-mailman (input) for mailman id 1149791;
 Fri, 24 Oct 2025 00:16:17 +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
 <SRS0=EH92=5B=gmail.com=samaan.dehghan@srs-se1.protection.inumbo.net>)
 id 1vC5Td-0004MC-GO
 for xen-devel@lists.xenproject.org; Fri, 24 Oct 2025 00:16:17 +0000
Received: from mail-qk1-x733.google.com (mail-qk1-x733.google.com
 [2607:f8b0:4864:20::733])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a78058c3-b06e-11f0-9d15-b5c5bf9af7f9;
 Fri, 24 Oct 2025 02:16:16 +0200 (CEST)
Received: by mail-qk1-x733.google.com with SMTP id
 af79cd13be357-89cd189ada3so111676285a.1
 for <xen-devel@lists.xenproject.org>; Thu, 23 Oct 2025 17:16:15 -0700 (PDT)
Received: from localhost.localdomain
 (host-154-4.mdu.ilcmifre.champaign.il.us.clients.pavlovmedia.net.
 [66.253.154.4]) by smtp.gmail.com with ESMTPSA id
 af79cd13be357-89c1169a577sm267372385a.35.2025.10.23.17.16.13
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Thu, 23 Oct 2025 17:16:13 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a78058c3-b06e-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1761264974; x=1761869774; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=yJGAc5g1HlYm2yuCkMWbVplBSlxeGyWyA09NaRPJC28=;
        b=TJ/9ofhCY+avcUCkp3UvmYnIMvpeUpHTZHdWodHy8DKvi4XqNScpScHmB+pO9kkHvx
         1UEiMOr8zMkjRXfYtJyBg0Xr8wJwfvdcEoF+ITfhRBB1sYBPDSK4bo1t1v+gqrSEDAS4
         jBQKlQxd9koa6xO2GEQVBoF5jKtDkuT71Tz4/IoKeb534CkCMUbQAFN3yTfUvFgBQCXc
         pj7xjsvjrAwkFIt3sgQMWiVltTcqOhuP/Gcqt9DBKNaJD6e/xSjYTAu/vlb25cFuaaj2
         aZMB8xk1YrNiFLRxvSddziZ0GY+6K1heEjpC4e2RUzVeiE0bP/gNpdAmzO564+bKVFoP
         gDfw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761264974; x=1761869774;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=yJGAc5g1HlYm2yuCkMWbVplBSlxeGyWyA09NaRPJC28=;
        b=ELa2I4z4qaYiq28hk+JFW5QFf48r8rZ2Y6HV+7LMnUeM5XnaHooL2IPExFHRFlKatX
         Cik2546BfFfuffzkFAbw8DS8sak8XYuxSCkP7UdeUIon9ahf/5RP2hAOAvk7N5dCWa4N
         qXO4tfyc34WZxFxcxu+S34/0omeLymTI+bHkFWJr3PeIs0VyuJEIFcPoToFmsyzhqT2+
         UQ1wb2XgHnCvS2TxbVDnHnw9A4AVKR1gqUVWOFcX/dxK1bqAAfTzcw0zLe3+1tsCPNVx
         Dws1PKlvAP+J2aF5tjR+MQ4e6rVrJ7QoPjbMza8+KdnlrEn5C5BSBJAar88oc3BcOiXS
         +CTQ==
X-Gm-Message-State: AOJu0Yw9SrxxUAO6U8nM4ONaWPmRbcTEFqj+2sfGTMhD/jfShrC7k0pL
	qNONgSQVDoAaeSmTmgpFbEfYCsBuMei1f+XFQNsOKgR12XMEMf+AAL30MXZdQzM=
X-Gm-Gg: ASbGncsRruiwUb26xACqxLW0pPa+rnvGkbt3pRNLgwnZ3rDRT2cOT34kheg7bit1UME
	UHhe52yt8CSMa2Q4gGE+SAGJEjJeE/voXfh8lQbh07i1o6myzXkJsUXb+iXhjxw9yQI9VHZA6jy
	wkDe25ZenTXFvcXcKcsHukVw0cpRxQV8187XUlsfQF9PHtsoI9wI6u1oLqM3E5hjvmkMPXDa+/6
	hca9RTRcoEzM6gpRPeE+vL28ql3nKqStM8UY4PWh3N8WyDCiE8iZ1b3a9vMtrWQqHx7VlKyjhP/
	mE9GdZ2IuTdnOSW6rX6eTZg5ABmpTu/fFx7h+AauFOJkku3CDtwqnyIleGNixm44+eNrArWMGGJ
	etkPfp+qFObwf0QVwvubIIASi/a4wH0AutYHeq2I2ZDPfi3slanboWkrnF8wNZ9dzX6I8KrTc6R
	tN3/zuoHR/iHRCafO4EAm/xY/Im2ry7jurXJJagVyMFmvB0Fs36sOQ+dz9QiFTFewmXYbIxcuc/
	6Wj2z2l+Y0JPL5wGMlGwNqdGaT/R9hsnBlcgBxp+Q==
X-Google-Smtp-Source: AGHT+IHhywd/b+j7MZ4cLej2VfEKJgoicIWcip9gYUm5jxGqo6M5dskRGKl+5OdirElmYsxE/Fn4nw==
X-Received: by 2002:a05:620a:170a:b0:891:5a6a:fe9b with SMTP id af79cd13be357-89da2275963mr114774285a.33.1761264974088;
        Thu, 23 Oct 2025 17:16:14 -0700 (PDT)
From: Saman Dehghan <samaan.dehghan@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Wentao Zhang <wentaoz5@illinois.edu>,
	Matthew L Weber <matthew.l.weber3@boeing.com>
Subject: [PATCH v3] Support LLVM raw profile versions 5, 6, 7, 8, 9, and 10
Date: Thu, 23 Oct 2025 19:16:11 -0500
Message-ID: <06646f747f21c3f388cf6e9d59a20238a4a91170.1761263588.git.samaan.dehghan@gmail.com>
X-Mailer: git-send-email 2.49.0
In-Reply-To: <3dc1fe6ee55d973a25a0441d0f6b41e00a58227b.1759355762.git.samaan.dehghan@gmail.com>
References: <3dc1fe6ee55d973a25a0441d0f6b41e00a58227b.1759355762.git.samaan.dehghan@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This change enables compatibility for measuring code coverage
with Clang versions 14 through 20 by supporting their
respective raw profile formats.

1- Added support for LLVM raw profile versions 5, 6, 7, 8, 9, and 10.
2- Initialized llvm_profile_header for all versions based on llvm source code in
   compiler-rt/include/profile/InstrProfData.inc for each version.
3- We tested this patch for all Clang versions from 11 through 20 on x86 platform.
4- Fixed linking warnings related to coverage code in x86.

Signed-off-by: Saman Dehghan <samaan.dehghan@gmail.com>
---
 xen/arch/x86/xen.lds.S     |  6 ++++
 xen/common/coverage/llvm.c | 73 ++++++++++++++++++++++++++++++++++----
 xen/include/xen/xen.lds.h  | 18 ++++++++++
 3 files changed, 91 insertions(+), 6 deletions(-)

diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
index 966e514f20..5d02f83a40 100644
--- a/xen/arch/x86/xen.lds.S
+++ b/xen/arch/x86/xen.lds.S
@@ -186,6 +186,8 @@ SECTIONS
   } PHDR(note) PHDR(text)
 #endif
 
+  LLVM_COV_RO_DATA
+
   _erodata = .;
 
   . = ALIGN(SECTION_ALIGN);
@@ -323,6 +325,8 @@ SECTIONS
        *(.data .data.*)
   } PHDR(text)
 
+  LLVM_COV_RW_DATA
+
   DECL_SECTION(.bss) {
        __bss_start = .;
        *(.bss.page_aligned*)
@@ -357,6 +361,8 @@ SECTIONS
 
   DWARF2_DEBUG_SECTIONS
 
+  LLVM_COV_DEBUG
+
 #ifdef CONFIG_HYPERV_GUEST
   hv_hcall_page = ABSOLUTE(HV_HCALL_PAGE - XEN_VIRT_START + __XEN_VIRT_START);
 #endif
diff --git a/xen/common/coverage/llvm.c b/xen/common/coverage/llvm.c
index 517b2aa8c2..e3272a546f 100644
--- a/xen/common/coverage/llvm.c
+++ b/xen/common/coverage/llvm.c
@@ -44,27 +44,65 @@
     ((uint64_t)'f' << 16) | ((uint64_t)'R' << 8)  | ((uint64_t)129)
 #endif
 
-#define LLVM_PROFILE_VERSION    4
+#if __clang_major__ >= 19 && __clang_major__ <= 20
+#define LLVM_PROFILE_VERSION    10
+#define LLVM_PROFILE_NUM_KINDS  3
+#elif __clang_major__ == 18
+#define LLVM_PROFILE_VERSION    9
 #define LLVM_PROFILE_NUM_KINDS  2
+#elif __clang_major__ >= 14
+#define LLVM_PROFILE_VERSION    8
+#define LLVM_PROFILE_NUM_KINDS  2
+#elif __clang_major__ == 13
+#define LLVM_PROFILE_VERSION    7
+#define LLVM_PROFILE_NUM_KINDS  2
+#elif __clang_major__ >= 11
+#define LLVM_PROFILE_VERSION    5
+#define LLVM_PROFILE_NUM_KINDS  2
+#else
+#error "LLVM coverage selected but an unsupported clang version is used"
+#endif
 
 struct llvm_profile_data {
     uint64_t name_ref;
     uint64_t function_hash;
-    void *counter;
+    void *relative_counter;
+#if __clang_major__ >= 18
+    void *relative_bitmap;
+#endif
     void *function;
     void *values;
     uint32_t nr_counters;
     uint16_t nr_value_sites[LLVM_PROFILE_NUM_KINDS];
+#if __clang_major__ >= 18
+    uint32_t numbitmap_bytes;
+#endif
 };
 
 struct llvm_profile_header {
     uint64_t magic;
     uint64_t version;
-    uint64_t data_size;
-    uint64_t counters_size;
+#if __clang_major__ >= 13
+    uint64_t binary_ids_size;
+#endif
+    uint64_t num_data;
+    uint64_t padding_bytes_before_counters;
+    uint64_t num_counters;
+    uint64_t padding_bytes_after_counters;
+#if __clang_major__ >= 18
+    uint64_t num_bitmap_bytes;
+    uint64_t padding_bytes_after_bitmap_bytes;
+#endif
     uint64_t names_size;
     uint64_t counters_delta;
+#if __clang_major__ >= 18
+    uint64_t bitmap_delta;
+#endif
     uint64_t names_delta;
+#if __clang_major__ >= 19 && __clang_major__ <= 20
+    uint64_t num_vtables;
+    uint64_t vnames_size;
+#endif
     uint64_t value_kind_last;
 };
 
@@ -107,11 +145,34 @@ static int cf_check dump(
     struct llvm_profile_header header = {
         .magic = LLVM_PROFILE_MAGIC,
         .version = LLVM_PROFILE_VERSION,
-        .data_size = (END_DATA - START_DATA) / sizeof(struct llvm_profile_data),
-        .counters_size = (END_COUNTERS - START_COUNTERS) / sizeof(uint64_t),
+#if __clang_major__ >= 13
+        .binary_ids_size = 0,
+#endif
+        .num_data = ((END_DATA + sizeof(struct llvm_profile_data) - 1)
+                - START_DATA) / sizeof(struct llvm_profile_data),
+        .padding_bytes_before_counters = 0,
+        .num_counters = ((END_COUNTERS + sizeof(uint64_t) - 1)
+                - START_COUNTERS) / sizeof(uint64_t),
+        .padding_bytes_after_counters = 0,
+#if __clang_major__ >= 18
+        .num_bitmap_bytes = 0,
+        .padding_bytes_after_bitmap_bytes = 0,
+#endif
         .names_size = END_NAMES - START_NAMES,
+#if __clang_major__ >= 14
+        .counters_delta = START_COUNTERS - START_DATA,
+#else
         .counters_delta = (uintptr_t)START_COUNTERS,
+#endif
+
+#if __clang_major__ >= 18
+        .bitmap_delta = 0,
+#endif
         .names_delta = (uintptr_t)START_NAMES,
+#if __clang_major__ >= 19 && __clang_major__ <= 20
+        .num_vtables = 0,
+        .vnames_size = 0,
+#endif
         .value_kind_last = LLVM_PROFILE_NUM_KINDS - 1,
     };
     unsigned int off = 0;
diff --git a/xen/include/xen/xen.lds.h b/xen/include/xen/xen.lds.h
index b126dfe887..42550a85a2 100644
--- a/xen/include/xen/xen.lds.h
+++ b/xen/include/xen/xen.lds.h
@@ -81,6 +81,24 @@
   .stab.index 0 : { *(.stab.index) }         \
   .stab.indexstr 0 : { *(.stab.indexstr) }
 
+#if defined(CONFIG_COVERAGE) && defined(CONFIG_CC_IS_CLANG)
+
+#define LLVM_COV_RW_DATA                                   \
+    DECL_SECTION(__llvm_prf_cnts) { *(__llvm_prf_cnts) }   \
+    DECL_SECTION(__llvm_prf_data) { *(__llvm_prf_data) }   \
+    DECL_SECTION(__llvm_prf_bits) { *(__llvm_prf_bits) }
+
+#define LLVM_COV_RO_DATA                                   \
+    DECL_SECTION(__llvm_prf_names) { *(__llvm_prf_names) }
+
+#define LLVM_COV_DEBUG                                     \
+    DECL_DEBUG(__llvm_covfun, 8)                           \
+    DECL_DEBUG(__llvm_covmap, 8)
+#else
+#define LLVM_COV_RW_DATA
+#define LLVM_COV_RO_DATA
+#define LLVM_COV_DEBUG
+#endif
 /*
  * ELF sections.
  *
-- 
2.49.0



From xen-devel-bounces@lists.xenproject.org Fri Oct 24 02:06:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Oct 2025 02:06:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1149840.1481296 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vC7BZ-0000Ca-J0; Fri, 24 Oct 2025 02:05:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1149840.1481296; Fri, 24 Oct 2025 02:05:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vC7BZ-0000CT-GK; Fri, 24 Oct 2025 02:05:45 +0000
Received: by outflank-mailman (input) for mailman id 1149840;
 Fri, 24 Oct 2025 02:05:44 +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
 <SRS0=67mD=5B=illinois.edu=wentaoz5@srs-se1.protection.inumbo.net>)
 id 1vC7BX-0000CN-UY
 for xen-devel@lists.xenproject.org; Fri, 24 Oct 2025 02:05:44 +0000
Received: from mail-io1-xd2a.google.com (mail-io1-xd2a.google.com
 [2607:f8b0:4864:20::d2a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f0fc097e-b07d-11f0-9d15-b5c5bf9af7f9;
 Fri, 24 Oct 2025 04:05:41 +0200 (CEST)
Received: by mail-io1-xd2a.google.com with SMTP id
 ca18e2360f4ac-92b92e4b078so64734839f.0
 for <xen-devel@lists.xenproject.org>; Thu, 23 Oct 2025 19:05:41 -0700 (PDT)
Received: from localhost.localdomain
 (host-183-235.ilcmi2.champaign.il.us.clients.pavlovmedia.net.
 [66.253.183.235]) by smtp.gmail.com with ESMTPSA id
 8926c6da1cb9f-5abb4e4c156sm1566064173.2.2025.10.23.19.05.39
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Thu, 23 Oct 2025 19:05:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f0fc097e-b07d-11f0-9d15-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=illinois-edu.20230601.gappssmtp.com; s=20230601; t=1761271540; x=1761876340; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=toUcxKaTdf6XhP1RXsWOVnefPk5I1vVFbRnSeMcTxxU=;
        b=aqR6Hzi+VQ1orV5EDCTZ5acA51M2Yve2AZGOSldRcT8yh+vYJgiSXV8qj8XwcQzbay
         VdfKpvn33p3K4UTvMXX2di6Tbjd4OUON7nyhU8JF5eNhsQiHdIIJ7+cXulKetogaBigF
         y17kl7Djt7zEqOhDkdlC5dxVn7QitDIdPFePmSjUE5/Irtzl3/y0moXr3/saRthGFasA
         PmV50hfwPs5FpoIycl53aGJixTZNX5o0hfokHyF5mB7bD2ji1RWX6LTkIvOklp/wn4hx
         8t0yqwLtv3XIN+Jh3y4CoVcPkqLUYT+4s2MJV8WwI1ryOUjaJmHLL+Z62fO55V3qieWF
         emkg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761271540; x=1761876340;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=toUcxKaTdf6XhP1RXsWOVnefPk5I1vVFbRnSeMcTxxU=;
        b=Rx8XdHC/WsyTadHLSQcJq5jW5m21Mm0TJCtbfm6aLTC6e/66X87Eef7EpXdUqTKl05
         okGo/yi2xgU8XvD8/fe3kmM4bLsOnctxVU8zjPNFQBvsiNVnnRPQIztBCOKuwgxxU9AP
         v5RWJaS0x9ktybtYwj1jm8Ebd5e+NPjMtptMxjPJPQoHm6t4r1jStUgD8owBwDJrtTg/
         lNfklm/qWg4cM6aUBKbRu3qfD1nHw3asR3yGjp2dirxBq12LotWF4Pug0GpF7FZb5C/Q
         j9lg4YjbOz3VSVSpDh6dX+ui8zofzGj3501P8iktwhWH0bpD/06zHWpOWJBnDUxqKLUD
         8K5A==
X-Gm-Message-State: AOJu0YzFn9wygO6/f5wysp/yVXSZh6cFj1E/NXjaU9xUD8E4hOSsSSzn
	9THHlUO9QrhCGaLiqGu0cX/h4lDQApRrWJAz3n0FLS6trTFogvSp/AGCF82/P9pM9EZSa61lMIg
	CQOs=
X-Gm-Gg: ASbGncv4+8PolUVSbenrAk7O/rBKcLXny6DA9b86OEL9477PgRxsilRfwOC391IuF7L
	/VcDuIO6Q/OBaLugrg/enjRRUamRJDGt5e44Wx7I/RfSawGb6w9FDwRD92IGl3x+NSmw5jVCxM4
	cczSrUd94JIQeD7LqnLSyZqFU7A3OhIIabPfyssjA9b1d3S8eOcx/DOQfX0XYWMRZO4+3h8Wuei
	y/+1F1qzlLZ5GZqGXsVQ7vRzykgYlKA6sHJGbSIPYZhVKuKrIFsh1kU+ml+aAgGcm2c+7SqXUUi
	9WRFe187Nqof4GWwU3E0bvKotaIryBq0mcSP5OJN+gTRivs7se1Oems2u3ZtCnTBTP511jFmB18
	T4flCFc5jtgYBfF7zwXmaRDqr6/G1w3yP1wBlRoWUak5OyX6UU9VYzJ2n6BMkfYFwmK4qSja/k9
	Rj1HXSEJdz/+p+vNAxdv9AEcS4tDY9/kf1BfCmSzW/M46pBTDc8dyCVXhJZlqVO95wFJCs9yXL3
	QIS5YjiQURkDJsMH9Y5HleX
X-Google-Smtp-Source: AGHT+IFe7N7STSuo5JPlBs7roXn4Xrkrz8iUjqnTuNDzJMt08I+iQjDN0F5k5XlevheBWBVDuSK7WA==
X-Received: by 2002:a05:6602:29d2:b0:93e:8557:5b07 with SMTP id ca18e2360f4ac-93e85575d4amr3900039439f.7.1761271540042;
        Thu, 23 Oct 2025 19:05:40 -0700 (PDT)
From: Wentao Zhang <wentaoz5@illinois.edu>
To: xen-devel@lists.xenproject.org,
	Saman Dehghan <samaan.dehghan@gmail.com>
Cc: Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Matthew L Weber <matthew.l.weber3@boeing.com>
Subject: Re: [PATCH v3] Support LLVM raw profile versions 5, 6, 7, 8, 9, and 10
Date: Thu, 23 Oct 2025 21:05:38 -0500
Message-Id: <20251024020538.57764-1-wentaoz5@illinois.edu>
X-Mailer: git-send-email 2.39.5 (Apple Git-154)
In-Reply-To: <06646f747f21c3f388cf6e9d59a20238a4a91170.1761263588.git.samaan.dehghan@gmail.com>
References: <06646f747f21c3f388cf6e9d59a20238a4a91170.1761263588.git.samaan.dehghan@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Tested with Clang 20.1.8 on Debian bookworm x86_64 and arm64.

Carry this if appropriate:

Tested-by: Wentao Zhang <wentaoz5@illinois.edu>

Steps for build:

$ make CC=/lib/llvm-20/bin/clang -C xen defconfig
$ pushd xen
$ kconfig-tweak -d LIVEPATCH
$ kconfig-tweak -e COVERAGE
  # The below two are Arm only
$ kconfig-tweak -e UNSUPPORTED
$ kconfig-tweak -e ACPI
$ popd
$ make CC=/lib/llvm-20/bin/clang -C xen olddefconfig
$ /usr/bin/time -v make CC=/lib/llvm-20/bin/clang -j$(nproc) efi-y= dist-xen
$ sudo make CC=/lib/llvm-20/bin/clang -j$(nproc) efi-y= install-xen
$ sudo update-grub

Steps after reinstall:

$ COVERAGE_REPORT_DIR=`mktemp -d`
$ XEN_BUILD=$HOME/v4
$ sudo xencov read | tee >/dev/null default.profraw
$ file default.profraw
$ /lib/llvm-20/bin/llvm-profdata merge default.profraw -o default.profdata
$ file default.profdata
$ /lib/llvm-20/bin/llvm-cov show \
    -instr-profile default.profdata \
    -output-dir $COVERAGE_REPORT_DIR \
    -show-directory-coverage \
    -show-branches=count \
    -use-color=false \
    $XEN_BUILD/xen/xen-syms

Example reports:

$ less $COVERAGE_REPORT_DIR/index.txt
$ less $COVERAGE_REPORT_DIR/coverage/$XEN_BUILD/xen/common/coverage/llvm.c.txt

Notes:

1. On x86_64, LD=ld.lld also works (in fact, faster). On arm64, the build
   would fail.
2. On arm64, a workaround is needed regardless of the linker:

diff --git a/xen/arch/arm/arm64/vfp.c b/xen/arch/arm/arm64/vfp.c
index c4f89c7b0e..dbe87f3f34 100644
--- a/xen/arch/arm/arm64/vfp.c
+++ b/xen/arch/arm/arm64/vfp.c
@@ -4,6 +4,7 @@
 #include <asm/vfp.h>
 #include <asm/arm64/sve.h>

+__attribute__((target("+fp+simd")))
 static inline void save_state(uint64_t *fpregs)
 {
     asm volatile("stp q0, q1, [%1, #16 * 0]\n\t"
@@ -25,6 +26,7 @@ static inline void save_state(uint64_t *fpregs)
                  : "=Q" (*fpregs) : "r" (fpregs));
 }

+__attribute__((target("+fp+simd")))
 static inline void restore_state(const uint64_t *fpregs)
 {
     asm volatile("ldp q0, q1, [%1, #16 * 0]\n\t"
@@ -46,6 +48,7 @@ static inline void restore_state(const uint64_t *fpregs)
                  : : "Q" (*fpregs), "r" (fpregs));
 }

+__attribute__((target("+fp+simd")))
 void vfp_save_state(struct vcpu *v)
 {
     if ( !cpu_has_fp )
@@ -62,6 +65,7 @@ void vfp_save_state(struct vcpu *v)
         v->arch.vfp.fpexc32_el2 = READ_SYSREG(FPEXC32_EL2);
 }

+__attribute__((target("+fp+simd")))
 void vfp_restore_state(struct vcpu *v)
 {
     if ( !cpu_has_fp )

For the above two issues, see the report in [1].

Once this patch gets in, we can help update [2] with Andrew Cooper and
send a follow-up supporting llvm-cov MC/DC [3].

[1] https://lists.xenproject.org/archives/html/xen-devel/2025-10/msg00805.html
[2] https://xenbits.xen.org/docs/latest/hypervisor-guide/code-coverage.html
[3] https://clang.llvm.org/docs/SourceBasedCodeCoverage.html#mc-dc-instrumentation

Thanks,
Wentao


From xen-devel-bounces@lists.xenproject.org Fri Oct 24 06:51:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Oct 2025 06:51:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1149929.1481305 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCBeE-0008HR-Nx; Fri, 24 Oct 2025 06:51:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1149929.1481305; Fri, 24 Oct 2025 06:51:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCBeE-0008HK-LU; Fri, 24 Oct 2025 06:51:38 +0000
Received: by outflank-mailman (input) for mailman id 1149929;
 Fri, 24 Oct 2025 06:51: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 <SRS0=+XhT=5B=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vCBeE-0008HE-5A
 for xen-devel@lists.xenproject.org; Fri, 24 Oct 2025 06:51:38 +0000
Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com
 [2a00:1450:4864:20::42e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e26bdb40-b0a5-11f0-9d16-b5c5bf9af7f9;
 Fri, 24 Oct 2025 08:51:36 +0200 (CEST)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-42966ce6dbdso1095681f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 23 Oct 2025 23:51:36 -0700 (PDT)
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-429898add8bsm7472641f8f.23.2025.10.23.23.51.35
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Oct 2025 23:51:35 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e26bdb40-b0a5-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761288696; x=1761893496; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=/h4sGnBy5P+204SEtTP7BLrBaFVp0ezKagqLkinbr2I=;
        b=Bzo+VfV7ZWdlkJDJ6q9J4ryp+uIqahCfZkDqXZ897sToUJQnOzdYgkP8M6yyn/p2HP
         EfDeN0rUEnvmOv9JPRY13LxASJtrtITiBcKXf2EO/hed0zw3yjeFW4H5rbEqBGfBzSbu
         cFpXSQMuw/GyjQ7nA8NLax5fqUqaBsFtxNizvafOcjVJGxbx6GJhgI9uXuN5sCOjySo9
         Nv4fy2rYwmv459HI2t2PG2w7bqORWxBZtqDZhbpBCuvG0DhFRRdVGvxObro0ZwiwP/9F
         uYluiitzYPtcoNTRIK1Azoikp3XnWYBLN8jxNlS43/8MoqADDxSADX43/XyWB4eRsxbn
         DerQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761288696; x=1761893496;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=/h4sGnBy5P+204SEtTP7BLrBaFVp0ezKagqLkinbr2I=;
        b=Jy/TY12Bji0LAaYkwhQuFbQh+4yTe8L9cISSwcY3SMutshZRKiVI4fIyZvaZK5+4BT
         WLd+5d9mosr6XhSwae3F29zl/WvMi3aRPoAcZ9tkX5E7UuOe5kbUWx1oTIr4VcIPYatK
         m9xxTPoStdTdiqJV/MeMx0W0Qsp8AFy9oPDNKqePeUmv2mT7wNlF54njfkGTSUD3Jp/i
         N1qqO27oUBPvDu28+kCW47CNW0AAzO5C33W5vc9sMcMaJfFXp/Lx9raScHnluIDB1mie
         6DD2H+X9bFOni4j5/mrNJCtp+vprfKbDNRi+WaW3osWoWakaGhS9+oCQBvS9RFhJuY1z
         SENw==
X-Forwarded-Encrypted: i=1; AJvYcCXb921V8DTI2XZwg0p8PQ7qAsA8RxG5Z2LPiZN0GqpB7NXy7bz4se0L/q8gAMiZ0+tSmno/elMNhgQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyeG3EOb2Pr8ih3OY7F0+vuSxLxHgmG5rD+3IHlXvC/63dLK87W
	KiufBH1CVXqukvMCj94oCiPd824o6HobAVv19vMcSh+HaqGGhqtgFjJv0VXEN4Hu7Q==
X-Gm-Gg: ASbGncskKKcVkZMAemkEZ1mJ6tbWnabSjiQex0JX3lCq7LPXCVh4TiNKVGzB1PREmJm
	OUNdyCuCU19FDOkfLzOVW7GDjWo3O2GaeZ7LMb7TYai2hcuBrz/+LH5NBQYUztZOyrYdL6eztrX
	fT78xOffdiPv4P7Gj+2SrLFrqaHpK4BUWW9nbzq+Y7ZV4eqZJ5YmxvO1TMfv6wBiDzFZvsL9MF9
	uituAs3bKGtNcCBSbd1hgCWkPkMcUMZdqJf0SMJo0NJ7aLUADuDfNmhpfdoQkzBvW8lDiQ+v05J
	VkiRjaKTwe3qR9Q+NJYcw0rO7YooomSbYA2DhHpNpb25nKgiDmSr1NqxBCpPPfZdyG3bBM2F12V
	+hTYfaMCA+/zXzdC//kCotFzEHQCG26Ff0cW+Wjdsxp7HQshy84EPAaoGVK4KyrXkSUobxhVusr
	kw8DadBSjBP4apmpv1ptaSYFwcLAqBV9s+rzXIw4ry/exVWqfUJD7WAMyLHkSz
X-Google-Smtp-Source: AGHT+IFxYxxPqSA80BfjAf+Mbsemr4HP5Kkuatt8qMc55dWqgGKkMghT70p69uzE1ae7Yxtv2fKw/g==
X-Received: by 2002:a05:6000:200f:b0:428:3e7f:88c3 with SMTP id ffacd0b85a97d-4283e7f8a82mr14252514f8f.50.1761288695857;
        Thu, 23 Oct 2025 23:51:35 -0700 (PDT)
Message-ID: <cf91ebe9-7753-4f38-af2d-00b7b35cf1a3@suse.com>
Date: Fri, 24 Oct 2025 08:51:33 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] misra: consider conversion from UL or (void*) to
 function pointer as safe
To: Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>
Cc: Doug Goldstein <cardoe@cardoe.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>
References: <0e72c83102668dfa6f14c4e8f9839b4a73d30b3d.1760458094.git.dmytro_prokopchuk1@epam.com>
 <ceedeefa-c506-41ca-9dfc-76937979caa9@suse.com>
 <321363444f9a3d3471bf1b3b2e020047@bugseng.com>
 <0767a5c4-6a2c-4ed0-92d3-f9f89313ad85@epam.com>
 <64411f5b-a826-48b6-9122-bf80ac377c7a@suse.com>
 <9a09cbab-851c-46f1-8026-603a7cb9d79b@epam.com>
 <5a6d1670-ce9e-4264-bbea-786df5cc5679@suse.com>
 <276064a9-619c-4d08-ac9e-0f92f01cef10@epam.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <276064a9-619c-4d08-ac9e-0f92f01cef10@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 23.10.2025 18:01, Dmytro Prokopchuk1 wrote:
> On 10/23/25 17:41, Jan Beulich wrote:
>> On 23.10.2025 15:57, Dmytro Prokopchuk1 wrote:
>>> On 10/23/25 13:23, Jan Beulich wrote:
>>>> On 23.10.2025 12:00, Dmytro Prokopchuk1 wrote:
>>>>> On 10/17/25 10:09, Nicola Vetrini wrote:
>>>>>> On 2025-10-15 08:20, Jan Beulich wrote:
>>>>>>> On 14.10.2025 18:16, Dmytro Prokopchuk1 wrote:
>>>>>>>> --- a/xen/common/version.c
>>>>>>>> +++ b/xen/common/version.c
>>>>>>>> @@ -217,6 +217,20 @@ void __init xen_build_init(void)
>>>>>>>>   Â #endif /* CONFIG_X86 */
>>>>>>>>   Â }
>>>>>>>>   Â #endif /* BUILD_ID */
>>>>>>>> +
>>>>>>>> +#if defined(__i386__) || defined(__x86_64__) || defined(__arm__) ||
>>>>>>>> defined(__aarch64__)
>>>>>>>
>>>>>>> Why __i386__? Also (nit): Line too long.
>>>>>
>>>>> Well, I copied this line from Xen codebase,
>>>>> but yeah, __i386__ is outdated now.
>>>>> I'll remove it.
>>>>>
>>>>>>>
>>>>>>> And why this restriction without any comment here or ...
>>>>>>>
>>>>>>>> +static void __init __maybe_unused build_assertions(void)
>>>>>>>> +{
>>>>>>>> +Â Â Â  /*
>>>>>>>> +Â Â Â Â  * To confirm conversion compatibility between unsigned long,
>>>>>>>> (void *)
>>>>>>>> +Â Â Â Â  * and function pointers for X86 and ARM architectures only.
>>>>>>>
>>>>>>> ... explanation here? More generally - how would people know to update
>>>>>>> the condition if another port was to be certified?
>>>>>>>
>>>>>>> Finally, with the v3 addition here, is Nicola's R-b really still
>>>>>>> applicable?
>>>>>>>
>>>>>>
>>>>>> I agree with the point you make about i386 (e.g., C-language-
>>>>>> toolchain.rst may be mentioned to provide some context about the
>>>>>> preprocessor guard); that said, my R-by can be retained
>>>>>>>
>>>>>>>> +Â Â Â Â  */
>>>>>>>> +
>>>>>>>> +Â Â Â  BUILD_BUG_ON(sizeof(unsigned long) != sizeof(void (*)(void)));
>>>>>>>> +Â Â Â  BUILD_BUG_ON(sizeof(void *) != sizeof(void (*)(void)));
>>>>>>>> +}
>>>>>>>> +#endif
>>>>>>>> +
>>>>>>>>   Â /*
>>>>>>>>   Â  * Local variables:
>>>>>>>>   Â  * mode: C
>>>>>>
>>>>>
>>>>> And probably v4 can have the following wording:
>>>>>
>>>>> /*
>>>>>     * This assertion checks compatibility between 'unsigned long', 'void *',
>>>>>     * and function pointers. This is true for X86 (x86_64) and ARM (arm,
>>>>> aarch64)
>>>>>     * architectures, which is why the check is restricted to these.
>>>>>     *
>>>>>     * For more context on architecture-specific preprocessor guards, see
>>>>>     * docs/misc/C-language-toolchain.rst.
>>>>>     *
>>>>>     * If Xen is ported to a new architecture, verify that this
>>>>> compatibility holds
>>>>>     * before adding its macro to the condition below. If the compatibility
>>>>> does not
>>>>>     * hold, this assertion may need to be revised or removed for that
>>>>> architecture.
>>>>>     */
>>>>
>>>> Except that this doesn't address my concern. Imo the checks want to be there
>>>> unconditionally, and ports where they're _not_ applicable would then need
>>>> excluding (with suitable commentary and/or alternative checks).
>>>
>>> Ok, below is the updated logic:
>>>
>>> /*
>>>    * This assertion checks compatibility between 'unsigned long', 'void *',
>>>    * and function pointers. This is true for most supported architectures,
>>>    * including X86 (x86_64) and ARM (arm, aarch64).
>>>    *
>>>    * For more context on architecture-specific preprocessor guards, see
>>>    * docs/misc/C-language-toolchain.rst.
>>>    *
>>>    * If porting Xen to a new architecture where this compatibility does
>>> not hold,
>>>    * exclude that architecture from these checks and provide suitable
>>> commentary
>>>    * and/or alternative checks as appropriate.
>>>    */
>>> static void __init __maybe_unused build_assertions(void)
>>> {
>>>       /*
>>>        * Exclude architectures where function pointers are larger than
>>> data pointers:
>>>        * - IA-64: uses 'fat' function pointers (code address + global
>>> pointer)
>>>        */
>>> #if !defined(__ia64__)
>>>       BUILD_BUG_ON(sizeof(unsigned long) != sizeof(void (*)(void)));
>>>       BUILD_BUG_ON(sizeof(void *) != sizeof(void (*)(void)));
>>> #endif
>>> }
>>
>> I would omit architectures we don't support, though. I gave IA-64 as an
>> example where things are more complicated (albeit iirc the checks would still
>> succeed there). However, I didn't expect any trace of it to be added to the
>> code base (again).
> 
> Well, looks like only __powerpc__ matches these criterias.
> At least, I see it in 'xen/arch'.
> 
> But, this assertion didn't trigger build to fail, when I run CI:
> https://gitlab.com/xen-project/people/dimaprkp4k/xen/-/jobs/11822940884
> because PPC64 pointer size is 64-bits (according to the 
> C-language-toolchain.rst).

Right, because like for ia64 what is being passed around aren't function
pointers, but pointer to the function descriptors.

> In any case the __powerpc__ is out of scope of certification, so this 
> architecture should be excluded.

Not sure here.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Oct 24 07:36:13 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Oct 2025 07:36:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1149959.1481316 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCCLE-00052A-11; Fri, 24 Oct 2025 07:36:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1149959.1481316; Fri, 24 Oct 2025 07:36:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCCLD-000523-Tc; Fri, 24 Oct 2025 07:36:03 +0000
Received: by outflank-mailman (input) for mailman id 1149959;
 Fri, 24 Oct 2025 07:36:02 +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
 <SRS0=66m1=5B=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1vCCLC-00051x-2P
 for xen-devel@lists.xenproject.org; Fri, 24 Oct 2025 07:36:02 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 13d7af00-b0ac-11f0-980a-7dc792cee155;
 Fri, 24 Oct 2025 09:35:56 +0200 (CEST)
Received: from nico.lan (93-47-230-150.ip115.fastwebnet.it [93.47.230.150])
 (Authenticated sender: nicola)
 by support.bugseng.com (Postfix) with ESMTPSA id F0BFA4EEBC5A;
 Fri, 24 Oct 2025 09:35:53 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 13d7af00-b0ac-11f0-980a-7dc792cee155
Authentication-Results: bugseng.com; arc=none smtp.remote-ip=93.47.230.150
ARC-Seal: i=1; d=bugseng.com; s=openarc; a=rsa-sha256; cv=none; t=1761291355;
	b=gECyHvzPvHH9Mm/5GniWMF1jCUe3PZ+VpD8RFlk0gvMNQaEI4je40X5YHdquxaZs7IuQ
	 ootzGnkZ3Bk1cETVD38uU2QWi4yI15DEN7DXd/yzvsW0HBsogBTaatpzhq7m8ahkZcKCA
	 PS7kiJ7p7M9zIluD4fwNRWF4jSAImZzSbWkAaeclZjDJ0PJP+B5I0Udj/ti9elI/+/nwX
	 mgsXaw1OLLcSrNPpIOhBOEBUTsdotEIbHJsbvEtbBjRVqanYfnNQ8oOS4rHM74YjnzUTz
	 wHjHfBvyjVCQhZC/+EAUTk9QmRttl/BhtfhLdVwii1kbNY3NXTNq07gz6hWDgNPxSBYGi
	 EEnZAEeCA8h4AB5/YK4Z56BzhtNHfHUI2RD8Xc7xD1gJKqcDUU6qYtyZKAZtW/Wc/tE60
	 kYYKbSxwAMaZIzj6EMAKSS/D2yfNAquuXjPTnCIgYx0GBbEe0IZEnG4LSmK2SaH1DJCxK
	 mNscpfi5g2X+1llX/qzR9+tfUVdFOfMCKcqP3eGOWJtjbw7za0fSNL/+aJm2P7iFBYe8b
	 LTleariyV//daN56uo1mgYAq9GfBvENWUleDDOO3GP+O+fnhseAN5TNTIK0zZbYdCY6UU
	 CQu9Q4u9kwfaof798UGzsAmWCWSES4LKNkQIE/OIoxiTL5gX31AS7wIE9W59hnY=
ARC-Message-Signature: i=1; d=bugseng.com; s=openarc; a=rsa-sha256;
	c=relaxed/relaxed; t=1761291355;
	h=DKIM-Signature:From:To:Cc:Subject:Date:Message-ID:X-Mailer:
	 MIME-Version:Content-Transfer-Encoding;
	bh=k47XGGcI1tgMdIHAXpNsDfUaNH+qQL8siZGHBgpYaEg=;
	b=f3RCFznSCBd1QzsEbvnkUudzggBKknCLx8PMEsBm2AlpQiiCkpSs5uy5iraBqaDGE3F/
	 jjEzDhgbBqwVUTERdjNIDKvxwFZKuHgSop/ggQKbAjICMZC/6xymjWBmPK3sFiZPKENtd
	 9U1FM1dHtIfmcILBN2YKpVqtxM/+mK448F/yXtXsDC+J03Xx9NWAZTaj3wnMWHruuJb5l
	 W5fGPbSVnGakYYDzZ6ir+PEOuY6X3Q+pLQgHTuNG8DUQHslZnEmIwan7WC0t0eB9T5WL1
	 V3gaoceQVGzFc//xBuwHzPeITFyWH9tFK9wjhCPlvPfUAKngxb3sq5dnMY5cJOKyMQNAG
	 zk/u0efRj5wZgMVRtLULq4mnyrscVfvijIh2r4nnNjzVEUIPMhNQXF4MpelBU6SM/212B
	 M42MmIQCaL1IhxHyoGhogVdK24wixPsbrlkS4clojdj4u4Q3RuTei3d8XILv7MhK90+cX
	 CKZ74v3XxqrDsxPMF0zqwxREMxbCwvg+gm/npEiXCSWWc4YHjs5ROUOssKIAPRH/vH1Dr
	 lTQZ/+6W9N9EWPoeIWderrfRatJAuzi4USucGnLfdYPA1RODfv+GRxniGSIQVUwATb07z
	 njKsiFjauSrq+9nIbL1DmhtEWL/Yk2vTwNYx/cDFf5MDR7tpJ0ykR26LambGuQ4=
ARC-Authentication-Results: i=1; bugseng.com; arc=none smtp.remote-ip=93.47.230.150
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1761291355; bh=6YytjT5w7M/Sjkgqzf7fCX2zPkVFUTx6aC7wbOe9n4w=;
	h=From:To:Cc:Subject:Date:From;
	b=SoalW89+G4oFy3ttoapptw4mjCL1vEvEA4QXKWG/s+mONhluUm2PaUvkuAXzMHzck
	 nhopm+zavFbnC6xknj98BntK3TM5gJwMeW4ftMLd3Bcv9bRuzSRAdeFkd9YMlMVjoT
	 C63vCsaAkdkW5xUBYM1LjNy6nRYN5Z158tdofQjZ7BHmdHK4xYvOTi/sUkpRL//LI/
	 +RDVQgVwllXRgHHlHfRAudPCMTwyJ0bkY19t+KzCZTK8LdJZoR0wkZE+JIbE32BPoQ
	 o0rRksEUGj4UIYtKCa2kq65iFkNuubu3saIWTSBfGFP5KOVY+JccsfmTAmPpq63FTO
	 XPaiz0HVzrJ0g==
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Victor Lira <victorm.lira@amd.com>
Subject: [XEN PATCH v2] automation/eclair: add new analysis jobs with differing configurations
Date: Fri, 24 Oct 2025 09:35:27 +0200
Message-ID: <1591f6a0c0f3524c4c613328293ed4e03cfc93ef.1761291003.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The following analysis jobs are performed:
- eclair-{x86_64,ARM64}: analyze Xen using the default configuration for
  that architecture; runs on runners tagged `eclair-analysis'.

- eclair-{x86-64,ARM64}-safety: analyze Xen using the configuration for
  safety, which is more restricted; runs on runners tagged
  `eclair-analysis-safety`.

- eclair-{x86_64,ARM64}-testing: analyze Xen using the default
  configuration for the purposes of testing new runner updates; runs on
  runners tagged `eclair-analysis-testing`.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
Changes in v2:
- rebased to current staging;
- fixed regex path issue.
---
 automation/gitlab-ci/analyze.yaml | 38 +++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/automation/gitlab-ci/analyze.yaml b/automation/gitlab-ci/analyze.yaml
index d50721006740..7bd644d75074 100644
--- a/automation/gitlab-ci/analyze.yaml
+++ b/automation/gitlab-ci/analyze.yaml
@@ -45,6 +45,21 @@ eclair-x86_64:
     LOGFILE: "eclair-x86_64.log"
     VARIANT: "X86_64"
     RULESET: "monitored"
+
+eclair-x86_64-testing:
+  extends: eclair-x86_64
+  tags:
+    - eclair-analysis-testing
+  rules:
+    - if: $CI_PROJECT_PATH =~ /^xen-project\/people\/bugseng.*$/
+      when: always
+    - !reference [.eclair-analysis:triggered, rules]
+
+eclair-x86_64-safety:
+  extends: eclair-x86_64
+  tags:
+    - eclair-analysis-safety
+  variables:
     EXTRA_XEN_CONFIG: |
       CONFIG_AMD=y
       CONFIG_INTEL=n
@@ -75,6 +90,10 @@ eclair-x86_64:
       CONFIG_DEBUG_LOCKS=n
       CONFIG_SCRUB_DEBUG=n
       CONFIG_XMEM_POOL_POISON=n
+  rules:
+    - if: $CI_PROJECT_PATH =~ /^xen-project\/hardware\/xen$/ && $CI_COMMIT_BRANCH =~ /^staging$/
+      when: always
+    - !reference [.eclair-analysis:triggered, rules]
 
 eclair-ARM64:
   extends: .eclair-analysis:triggered
@@ -82,6 +101,21 @@ eclair-ARM64:
     LOGFILE: "eclair-ARM64.log"
     VARIANT: "ARM64"
     RULESET: "monitored"
+
+eclair-ARM64-testing:
+  extends: eclair-ARM64
+  tags:
+    - eclair-analysis-testing
+  rules:
+    - if: $CI_PROJECT_PATH =~ /^xen-project\/people\/bugseng.*$/
+      when: always
+    - !reference [.eclair-analysis:triggered, rules]
+
+eclair-ARM64-safety:
+  extends: eclair-ARM64
+  tags:
+    - eclair-analysis-safety
+  variables:
     EXTRA_XEN_CONFIG: |
       CONFIG_NR_CPUS=16
       CONFIG_GICV2=n
@@ -120,6 +154,10 @@ eclair-ARM64:
       CONFIG_DEBUG_LOCKS=n
       CONFIG_SCRUB_DEBUG=n
       CONFIG_XMEM_POOL_POISON=n
+  rules:
+    - if: $CI_PROJECT_PATH =~ /^xen-project\/hardware\/xen$/ && $CI_COMMIT_BRANCH =~ /^staging$/
+      when: always
+    - !reference [.eclair-analysis, rules]
 
 .eclair-analysis:on-schedule:
   extends: .eclair-analysis
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Oct 24 07:36:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Oct 2025 07:36:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1149966.1481326 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCCM1-0005UH-8Z; Fri, 24 Oct 2025 07:36:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1149966.1481326; Fri, 24 Oct 2025 07:36:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCCM1-0005U8-5K; Fri, 24 Oct 2025 07:36:53 +0000
Received: by outflank-mailman (input) for mailman id 1149966;
 Fri, 24 Oct 2025 07:36:51 +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 <SRS0=+XhT=5B=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vCCLz-0005K0-NP
 for xen-devel@lists.xenproject.org; Fri, 24 Oct 2025 07:36:51 +0000
Received: from mail-wm1-x32f.google.com (mail-wm1-x32f.google.com
 [2a00:1450:4864:20::32f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 345b8c04-b0ac-11f0-9d16-b5c5bf9af7f9;
 Fri, 24 Oct 2025 09:36:51 +0200 (CEST)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-47118259fd8so11248445e9.3
 for <xen-devel@lists.xenproject.org>; Fri, 24 Oct 2025 00:36:51 -0700 (PDT)
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-475c4342368sm142242915e9.9.2025.10.24.00.36.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 24 Oct 2025 00:36:50 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 345b8c04-b0ac-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761291410; x=1761896210; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=+2Cykt8ADAlDg0LMzqT6da8IvfV3wQHi37+72mLk5wU=;
        b=GRk+nd0h6yGgYyfzFqfv+sERte1cjxsdLaHAO95T9lAgMt7rcKc20ell7eMGEBGofs
         T6Qr1Rgs0hC2Tfb+EW/mpY6ygIXnP/sMSHigyJ6Ni6rhjz76AI64qVG+QOq1+JNU3lV2
         8WHjnnkMGNALPZm3qMaYEvWc+9j5h2pB2PaO2XI/BPk0sB1Ax1U1hYvRPK2IVJH7uxX6
         Ap86xOkcuK1tN0UqppKDWx4+Thh6fuMtmkBYEV6TewXrskjGWQ48Q2RzdfEaAHDMM3gT
         ICh3se23nHtCMU35HMdjp6y27KvJMvlN+umMsN+/edAHpLkIxM8zQYPIkTF++0iZ+YPT
         N+4g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761291410; x=1761896210;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=+2Cykt8ADAlDg0LMzqT6da8IvfV3wQHi37+72mLk5wU=;
        b=iTEJldNkoBqHEP/qy4bRkdPHSmL+7bNf/UEzLfYOkM56xrl7F4dfYZO42gb1i2ERIR
         74yVhJ1W81chdiumqnBxh/Z010CWp9ELwQNoAwPmgBnZhhSjqihl2k4vh2ApUS+sn1Do
         jTyLeFbQNL0GRCSUFGOinJguxQLZKJiU3U5mO+Sbl3EODFD8MuqM5Ete7STXrN6/2r9F
         KlCW1XHG1Bxc3QBhcHJVVzoohPX2Tl/cMEP0dkmUgVvn/EfTKJEgwcPHPytY9EC/27WW
         YSuUZst0SKCS/g8szYUZhtTLiv2hT74VLkBgSyWACc1XKI3aKKN56PjB5l1H/4xjrSWi
         aC2Q==
X-Forwarded-Encrypted: i=1; AJvYcCXXvXYrtJ7DWTWNxuzPVL9H6ha16OWzZoDk2pbFqeJDmvSTt1czi6fLvQQoGemfZkNUt/J4VynobHM=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yytw8g7iFnWFAIiTdo0d1XXo4ZaJkJtXiNDgyp/BY6b38i9q1Df
	6hGBAR2cYn5TDgSmXB38Sq62EU9hJJdpw3msB43yXyz1Gz5S+mZE04KpWO1eVwIlYQ==
X-Gm-Gg: ASbGncs9PrvEwVyYHIW700fo3PJyBhED6NSnGRtct82G3zol6XyVoj0SfK9w5MdUwTD
	s6/gW82u07FbQFPoTFGZDmQhzD7QoIJB9CeQTfQ8XA1totp7CqKcjJVTU1Varej8R8TuoenRafB
	eyTZIrnyz4PQ3qWZgh7FB+B+b1vRONGc6+Bb5ts2cHp0jkR7Lv3V3gEG5x8Uy+0P1UqM/wNgg2v
	5IjD371UDfwuFU45Uu+3ZsB//AiSjEH31CTwl3IWAB2XY+ajY2I1mz5c5aTTrK68eM2n9tGiBh0
	a6/HaBpOe7+uJABivWH9UdFQELd7PA4nKKsi1oJKT2zGMjtILwjULAR52d1tvbCyFPw/tbXjwW3
	Lw22Enp+yfnJvV1w8O7KSmAbCYtLoh9mRbRnVfh6Awqco2SuIbRMkuc6q/+ARwdZ3EQLfDSgHMd
	BdDwEQm+petvWm6hfa82QoUKLuNn8AFuuxlWYkdkV7/2A5iNcdfLFjD7+56wO2
X-Google-Smtp-Source: AGHT+IE9zPuGN9+xLD5cHm1aqPuTB1GAbtKtOS6F5iSybq50wNnc6rhrKBqzaFOkK8eXupMtYQ36Cg==
X-Received: by 2002:a05:600d:62b1:b0:46f:b43a:aef4 with SMTP id 5b1f17b1804b1-471b5341411mr94463235e9.38.1761291410307;
        Fri, 24 Oct 2025 00:36:50 -0700 (PDT)
Message-ID: <0cdcf77a-5387-4447-a4fe-56c8ae7300de@suse.com>
Date: Fri, 24 Oct 2025 09:36:48 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] Support LLVM raw profile versions 5, 6, 7, 8, 9, and
 10
To: Saman Dehghan <samaan.dehghan@gmail.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Wentao Zhang <wentaoz5@illinois.edu>,
 Matthew L Weber <matthew.l.weber3@boeing.com>, xen-devel@lists.xenproject.org
References: <3dc1fe6ee55d973a25a0441d0f6b41e00a58227b.1759355762.git.samaan.dehghan@gmail.com>
 <06646f747f21c3f388cf6e9d59a20238a4a91170.1761263588.git.samaan.dehghan@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <06646f747f21c3f388cf6e9d59a20238a4a91170.1761263588.git.samaan.dehghan@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 24.10.2025 02:16, Saman Dehghan wrote:
> This change enables compatibility for measuring code coverage
> with Clang versions 14 through 20 by supporting their
> respective raw profile formats.

Isn't the 14 here stale now?

> 1- Added support for LLVM raw profile versions 5, 6, 7, 8, 9, and 10.
> 2- Initialized llvm_profile_header for all versions based on llvm source code in
>    compiler-rt/include/profile/InstrProfData.inc for each version.
> 3- We tested this patch for all Clang versions from 11 through 20 on x86 platform.
> 4- Fixed linking warnings related to coverage code in x86.
> 
> Signed-off-by: Saman Dehghan <samaan.dehghan@gmail.com>
> ---
>  xen/arch/x86/xen.lds.S     |  6 ++++
>  xen/common/coverage/llvm.c | 73 ++++++++++++++++++++++++++++++++++----
>  xen/include/xen/xen.lds.h  | 18 ++++++++++
>  3 files changed, 91 insertions(+), 6 deletions(-)
> 
> diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
> index 966e514f20..5d02f83a40 100644
> --- a/xen/arch/x86/xen.lds.S
> +++ b/xen/arch/x86/xen.lds.S
> @@ -186,6 +186,8 @@ SECTIONS
>    } PHDR(note) PHDR(text)
>  #endif
>  
> +  LLVM_COV_RO_DATA
> +
>    _erodata = .;
>  
>    . = ALIGN(SECTION_ALIGN);
> @@ -323,6 +325,8 @@ SECTIONS
>         *(.data .data.*)
>    } PHDR(text)
>  
> +  LLVM_COV_RW_DATA
> +
>    DECL_SECTION(.bss) {
>         __bss_start = .;
>         *(.bss.page_aligned*)
> @@ -357,6 +361,8 @@ SECTIONS
>  
>    DWARF2_DEBUG_SECTIONS
>  
> +  LLVM_COV_DEBUG
> +
>  #ifdef CONFIG_HYPERV_GUEST
>    hv_hcall_page = ABSOLUTE(HV_HCALL_PAGE - XEN_VIRT_START + __XEN_VIRT_START);
>  #endif

Since only x86 is documented to support building with Clang, adding just to
x86's linker script is likely fine.

Oleksii, what's your thought towards still taking this for 4.21?

In any event, a ChangeLog entry should likely be added.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Oct 24 07:43:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Oct 2025 07:43:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1149984.1481335 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCCSC-0007Ae-Te; Fri, 24 Oct 2025 07:43:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1149984.1481335; Fri, 24 Oct 2025 07:43:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCCSC-0007AX-Qw; Fri, 24 Oct 2025 07:43:16 +0000
Received: by outflank-mailman (input) for mailman id 1149984;
 Fri, 24 Oct 2025 07:43: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 <SRS0=+XhT=5B=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vCCSB-0007AR-KD
 for xen-devel@lists.xenproject.org; Fri, 24 Oct 2025 07:43:15 +0000
Received: from mail-wr1-x433.google.com (mail-wr1-x433.google.com
 [2a00:1450:4864:20::433])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 18539af2-b0ad-11f0-980a-7dc792cee155;
 Fri, 24 Oct 2025 09:43:13 +0200 (CEST)
Received: by mail-wr1-x433.google.com with SMTP id
 ffacd0b85a97d-4298bada5bdso1298237f8f.2
 for <xen-devel@lists.xenproject.org>; Fri, 24 Oct 2025 00:43:13 -0700 (PDT)
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-429898ccd70sm9658695f8f.35.2025.10.24.00.43.12
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 24 Oct 2025 00:43:12 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 18539af2-b0ad-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761291793; x=1761896593; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=dj8/8WqA3zjtdSo4Vpgkj2IeFLmm4yVkTosgkKg6vbw=;
        b=GpsxbR4+wINsAXA2Zz0LyECTSocETz42aalGkmjTEbJofwsuDLlxzARg9a6SZ+DnnR
         VT+BBdG+0+yfPrE1LZ3pr4gABgL+VXZYCbykC0cCS7QB5iELDT0UwRJ3ZEM3qZVVBSl7
         hUy4mg/0U2II6N8tbYJCUyWQqizBNsJBxYu761qcCSMS0nBbL6HZznk/9Z0dyGA9BMkc
         OSdynmz4ZHsLasv5rFID4U1PPYh0THWVwIK5al77IpH+pS9XGRpFvbvhHEpOA/KzZVxr
         A5jGMtLq6njioMFHKdBdKJJNQDGvMXO9IZvG5EOL7KnfVLj6rQiEWriD7PwxxgMg7if5
         OGxw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761291793; x=1761896593;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=dj8/8WqA3zjtdSo4Vpgkj2IeFLmm4yVkTosgkKg6vbw=;
        b=FZqAflNIG51+qHJx17yt9uwhauafi8uer7HDLOLVSfMD/PVsyEv9vredcw7SGLh21O
         pdvJ4Hy3SGqhebfhLBxdYqp2wR2rLrx8gDtcVV5GFpd3iZNweVUeUX1gb1RvmpuQkN9l
         MYi0ya3jqFElvCVw+37mlGF2WzYZgepArHPStME5jvPJzTBNY79R4pKMy5YcDXwU3lkb
         zKXHr66SScWAdsaiJvIVR5l6yNv+IvQoGLu5YASNbiQjy4q3yDdoDKulbyCFtDktBsNg
         dyhk5wkIgB2EdsotVMPIZHcE3mn6EdKXME5D1Uecozrm23vxAcDYaa8eWa33QuXzTl+R
         cPpw==
X-Forwarded-Encrypted: i=1; AJvYcCX/C3TCziOb217RZkutd3BtGynEmLvggsSlUTYdKiS3j/VGuBJDDM/l7PTolrbx5Wggb2bsPz0qy88=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzanPs0OmYGm5VcDHKJq1kY60DjyzGTrnA1O+TO4P8d9pKjbgvw
	MiHLaZDe5Z1aIc+Sl/y4Vj2+MkAbKfIk4i3MIoOxEAA4utHT3OfbKtQUAVrbZ2plhA==
X-Gm-Gg: ASbGnct2TAEGQa18eDLrQmFFdN4MHHbBghvUltlxfTY64SLhILt4h0l18QiLRgFK3et
	gpih6vv+V2py/qg8c6WFQXZe/zFR0wRz4twpcbSQnpv322xju+4/8D+VNosD5UIUUEfyj1lCWyV
	5bNMHBHmr5Zjg3B+OUrzY58355SlpG5ii3zEto9iIVi/Cf26SAXxlu4ImZbJi+SFWghEIVgWny4
	6hVEEG7hhgvzR/diFWJmOsNeycJKXhnAHK8XuDdxpkmsPdygC3/EVDJeyqDsaJD+FzGZJTC0scu
	jYkKXJgpHnEXj3Qm8gzzgCCv9sLUXa4rR9h6IyBw3tu7nEUZYQoT5X7GDTRE7VqrZQ3s+R3MvoR
	HXkiIiwA9QWILcksOHvFBedcMC7MCrea63ipp0foNHu3AR3AqJsa2lQ9sgXnmGvQ7DOgZqxKsSF
	59xLTrDwmpUkr9Fq6Y9Z70jGd2N8IzjMfHYGu6Y1n2ZL4xpv0DrHcNnnqzhkzP
X-Google-Smtp-Source: AGHT+IEFZ+zhcRsf8lE4UgB8yh30+kO6p8wI9BEOkFjao9TzAMq8t1a4/+DEi7f+MiXjJWQ1s8lImA==
X-Received: by 2002:a05:6000:40cf:b0:3e0:a5a2:ec9b with SMTP id ffacd0b85a97d-42704dc2b32mr19651559f8f.52.1761291792726;
        Fri, 24 Oct 2025 00:43:12 -0700 (PDT)
Message-ID: <309b29ce-2e32-4f9a-9436-051cf65c0780@suse.com>
Date: Fri, 24 Oct 2025 09:43:10 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] misra: address Rule 11.3 for NextMemoryDescriptor macro
To: Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <78112778d6fd5f720f7102db7125c844b747a962.1761242341.git.dmytro_prokopchuk1@epam.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <78112778d6fd5f720f7102db7125c844b747a962.1761242341.git.dmytro_prokopchuk1@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 23.10.2025 20:00, Dmytro Prokopchuk1 wrote:
> --- a/xen/arch/arm/efi/efi-boot.h
> +++ b/xen/arch/arm/efi/efi-boot.h
> @@ -227,6 +227,7 @@ static EFI_STATUS __init efi_process_memory_map_bootinfo(EFI_MEMORY_DESCRIPTOR *
>              }
>          }
>  #endif
> +        /* SAF-15-safe casting a pointer */
>          desc_ptr = NextMemoryDescriptor(desc_ptr, desc_size);
>      }
>  

While at present we have only one use site, needing per-use-site comments
isn't very nice. Putting it into the imported header isn't nice either.
Could Arm perhaps get away without using the macro, just like x86 manages
to?

Jan


From xen-devel-bounces@lists.xenproject.org Fri Oct 24 09:33:57 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Oct 2025 09:33:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1150030.1481347 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCEB3-00045B-8m; Fri, 24 Oct 2025 09:33:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1150030.1481347; Fri, 24 Oct 2025 09:33:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCEB3-000454-4U; Fri, 24 Oct 2025 09:33:41 +0000
Received: by outflank-mailman (input) for mailman id 1150030;
 Fri, 24 Oct 2025 09:33:39 +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
 <SRS0=0w6I=5B=citrix.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1vCEB1-00044y-Ld
 for xen-devel@lists.xenproject.org; Fri, 24 Oct 2025 09:33:39 +0000
Received: from PH8PR06CU001.outbound.protection.outlook.com
 (mail-westus3azlp170120001.outbound.protection.outlook.com
 [2a01:111:f403:c107::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 84c40532-b0bc-11f0-9d16-b5c5bf9af7f9;
 Fri, 24 Oct 2025 11:33:38 +0200 (CEST)
Received: from DM4PR03MB7015.namprd03.prod.outlook.com (2603:10b6:8:42::8) by
 SA1PR03MB6321.namprd03.prod.outlook.com (2603:10b6:806:1b4::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.17; Fri, 24 Oct
 2025 09:33:34 +0000
Received: from DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9]) by DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9%3]) with mapi id 15.20.9253.011; Fri, 24 Oct 2025
 09:33:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 84c40532-b0bc-11f0-9d16-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=I1qa26IYjxb9lo81WV4FvieU+gNBQxXwG7ZrApp2+cQks+JUSWO93C4fz66RBC54L+y7WpaEwNSjc/2I3VpiYnl7ZAOQIgulxqK80aVHMGMdo/9V9OThNPWk7AcbDk/J6EcpviJFDdmLc8j6OgYkxwO9+Vd7L8xDiCuwsDizQ4gFoEowiWzjFtwv7NZMk5xxM5YTdgjnkKZ6fmWB8vnUmPgG0icdl1M9JS5fxPisIwh57e9MFpwYnGGsTE01mJGg7c0zHoGF5nQgKb0eQpi79ZICijh7hS3kI+EOD4w+5IoEGRaFCG4Oy5YIDWHkDmBPtxecHDdzNc7QpxyH4cC9GQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dm+4Pwx3kYjB7jxJ5WDHiU+ptwFy4CZJqJGq6BBHl7I=;
 b=acABWsAKJEU/Ztj+NOfE9HTH6ZnPGe3vr76Tz1u6ccQYOspgbxMOn9dEMVyGiL+X4j8TV7X2SOHcUwp3prDVKtSM6GOWgZ6qCpBoBxBmH7ItsTDvXx3FmKamYE4vW9f+ntGU7w/Divwq1UPVntmfKG0SoC6wLwowGbVb7C563100WrHv9Jor5VgNYdRY7iRnaRl25U5InKhti5SyY2vJIjH5k+GUvcNMq1yc8TBVJwEtOy2m5k+CijS5rvriQdAm9pEloKJCCOSQnSoKgDoIYP223ikKwbJQgvBJ7A6h+kG78y10aPe03gsI1M+VbVYu1YybttC5gw0rEFvnGnVvQg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dm+4Pwx3kYjB7jxJ5WDHiU+ptwFy4CZJqJGq6BBHl7I=;
 b=w3S8I4Ywhr9rwynUMJYJ8yoWdEl2z366hsp/yJpOaMWONbJdKc7mRfBJKawCd1beNZlVWy6gPJvlrUtifHitzYsfc76yCAzSOe2/lYb8o76FVAMVwSKQhmJIb5uKImAoWhLA4eouKohufCybPLSvvP/BeJ4v6N3TKzXr9UWBCwQ=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <c7397bc5-574d-444a-a8cf-e76e95ec20fd@citrix.com>
Date: Fri, 24 Oct 2025 10:33:30 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] Support LLVM raw profile versions 5, 6, 7, 8, 9, and
 10
To: Saman Dehghan <samaan.dehghan@gmail.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Wentao Zhang <wentaoz5@illinois.edu>,
 Matthew L Weber <matthew.l.weber3@boeing.com>
References: <3dc1fe6ee55d973a25a0441d0f6b41e00a58227b.1759355762.git.samaan.dehghan@gmail.com>
 <06646f747f21c3f388cf6e9d59a20238a4a91170.1761263588.git.samaan.dehghan@gmail.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <06646f747f21c3f388cf6e9d59a20238a4a91170.1761263588.git.samaan.dehghan@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0375.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:18e::20) To DM4PR03MB7015.namprd03.prod.outlook.com
 (2603:10b6:8:42::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM4PR03MB7015:EE_|SA1PR03MB6321:EE_
X-MS-Office365-Filtering-Correlation-Id: 93d93db0-ed66-4a72-8bc0-08de12e066f7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|7416014|1800799024|366016|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?Q3AxNU03UHFYUjNWaGN1QW94Q0tpcFgxMm05ZVRGdnVyUkY1T1J4YXdObWxa?=
 =?utf-8?B?a1Nua2tzS01UYVZFMHA0QXBuYjdyRXVnOGNLUFhLQ2RiankyWVZsRGlPTnEv?=
 =?utf-8?B?OGdSekdvQmdzM0F2amZ5NE5jUnJ0dE9ZeEJIUklha2tvZGFYQk95cndyUUV1?=
 =?utf-8?B?ZlB1R0dDNGVHcXAyenVndDV5dVZEa2l3WFlud016QXFMQnFUaW82ditLdW0y?=
 =?utf-8?B?M1B3czFxRXdSRFQwcjVhQ3JPaEVRRFdzc1lrOFZSUnB0ZDB2dUVLbE1ja2Zw?=
 =?utf-8?B?L012ak5aY3BFcWdKY1BqczN1YUJ1cHRqLzgwLzVBOWp2K0xQUk9RaEFpSUor?=
 =?utf-8?B?c2tUejFqZjJkQldHQUF6SHBqeWxuZ1lGcTVQSFBvUFk1RTN1bGVKaWRoUmtJ?=
 =?utf-8?B?OEYyNGZDLzNWemQ4dHVRRis4bFp0ZXRWSlI1RFhWeURiWnFqQXBBYU5EekN3?=
 =?utf-8?B?R3Fsd2lBNkpxVTRwT0dtOEtVV3RYWXBJcThKMnprMnBYcm9VbW1TZjU3OEUv?=
 =?utf-8?B?alE1b1pKKzdvcGZrTEM2Um9SR1JpRGVwd01wbkdSMW5zSnNkVE5Hc3lFSjJG?=
 =?utf-8?B?aVNmS0x6N3YzdE13T3MzTE9TRjAweHRKeCtNaTVFYmJqanUzUjBieGF6K1l4?=
 =?utf-8?B?cGpPcEtDbjE1TzBveng3c05VS0FqMW81Q1I3MUl5Nm54ajY2NlBiVW5FdmN0?=
 =?utf-8?B?a2lGSmNPckNjVTZSblNoQ3UyeWIwZXdLME5NQWVVZm0xeVV5YW1IUkE4S2tZ?=
 =?utf-8?B?ZFlRZlZyanNjM3FtVXMreVpuS2NadUtiUXB5blB1V3NYcGxGSkg1WW16dTVh?=
 =?utf-8?B?NjA1Q2k1cHJPWnNhaTJ0S2RNaXJKZmxkK2dJUzMwUkZjTkNlRW90QWErZ0JO?=
 =?utf-8?B?dkVWWUxoRWdnY2tMVE5lZDcxQk4yN1JhckFaQ3ByZW93ZWNMbFhJOHBXYy93?=
 =?utf-8?B?YmZQc0xNV0IvMUNnbXB4TTZWdkpVSHZlNnZub2FHV1pwNXc3YXlobnY3TXQx?=
 =?utf-8?B?OFBhN0JjNy9TY05ENDRuYUhHTE1Gd0hRenJpc0pCR0M2WHFhOUxzSm8zRGVO?=
 =?utf-8?B?OGFmdmFpdEk2ZWF3a21RbE5oeEI3UldBNVpoR1pEdnd2K1hLaVM5ZysrWXZi?=
 =?utf-8?B?YUErQXJsUC90MnNuV1lCT1kyNUNnZlBtck83cXBwOTN6SVAyVkozdFFUdnds?=
 =?utf-8?B?amFSazdPdHM5d2hiUUwwdVRlSEIxT0MwQnI2NDNpajJ5R3JFY0RjUDRTS1Y2?=
 =?utf-8?B?NDlEWGNoNmdQM0hUbTh3SFJPcmZqS1B5cld3VjJLV0FSdDZTUGZVcE0vcmJ3?=
 =?utf-8?B?L01OSHdNdlBVTFprVVdWRU52bURXWW9PaWZLL0RrZzJKSXR2Z21RWDN1M3Ns?=
 =?utf-8?B?WHVwVGMrelczWXJYbmVIU0FQdDN5VFg5R0g2eVdSK3ZnMitmRWUybTdCRUZE?=
 =?utf-8?B?TVkzbmcrRlFvYU15Z2ZEUkhCMys2ZkliZXFDdk5JRTFpSzBBaTd5bTVDN0J0?=
 =?utf-8?B?cCtxRXVNbVJMdG1IUU1sZW9Oby9sbEtjNjVKQzhuSTFXZm4yZWR3THNIdXZ6?=
 =?utf-8?B?dUhtMHpwV3RGSE1HS1V0Y2IrbzIzSi9CS0hWb1BKOWVYSGZpaE12SitYaWJi?=
 =?utf-8?B?YzduR1Q2UkpEQlA5R0o0dkFQVFNNT0FmQ003U1AwMk5NeGdzUE9FZU5veXJ6?=
 =?utf-8?B?RmcwUG0vSDZEMzFKYktPanZkaGNUS0NwWEpRUGxxcXNzUzBqWHZNVk92SlFv?=
 =?utf-8?B?WVFMZ2RtSWUzNWRXWXFHZkU2MitVLzlhcks3SzNYVHRiWGFNSXB1bmpXWllV?=
 =?utf-8?B?a1p0RGZQUFEwVDZXQk8zNUNEQTk0UWxoaFFGTldwNGl5WTBCVFp0QVQrYTdD?=
 =?utf-8?B?eURRUFVaSzNOUU5mcU4vTnYyNXlYOVNMSE9xd0xsUnByTzFyd1dzeDFnaVQw?=
 =?utf-8?Q?27bY2yeGLxGd4/A5NrVYU5F1DaFsLfTf?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR03MB7015.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(1800799024)(366016)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Q2xMV3dxbU5XdjZxVkRwK1h2K3lkUGdDc0JjWkR1ZE1NWFlxTW1hMXVGdnlD?=
 =?utf-8?B?anlYdWpIVkhzVGlqc2VDTDFXQUoxMjhENlU4TXJzQXQ2OE1TY1VOdnhtR0Nu?=
 =?utf-8?B?a2ZNSmw4MnNCMkIwSkZtUXFYSkNmbWY3djVkVzRadGpqM1JyY3RnY2RHNXZG?=
 =?utf-8?B?WXNJV014MjlNdUxrRjhYK29VZU45aU9qdVFOVzZ0ZWs5Z3ZiMDlHNkdvbFE3?=
 =?utf-8?B?dzBpcUVUSms4VE5PVk1pNzV4eUtqUTF3RmRVcEhuU0Zsd3NiOGVvTko4U1Rv?=
 =?utf-8?B?dU81aWRuSy9pVGVKakdNV0N0TXdoZFFvZEJYVG9XVmtIQmpYdE1KcEdyZkhD?=
 =?utf-8?B?eWFobDlCUkRaR01BZW1zbG5sbVRoNExQdDZyaFFlSVJuenNrekJuckpoNEtM?=
 =?utf-8?B?VjA5NytlTFlNdXVvTUtjcDIxckJ2ZDkzV0lPeEFCVkJ6dEdTRjUrL1hqb1Jp?=
 =?utf-8?B?NmhsNENYT2Z2b3FWWlprQ21tV1hNZkJDengvTmt3QlNXeXdWWThPWDdUQ3FN?=
 =?utf-8?B?c3lXWU1LdjNvTHZqbFN3UTVFMndoTjhVM2FVRVczZ0ltNEJhUHo3Z3F1Q1hT?=
 =?utf-8?B?RWhnTXRubDgxMHdSOFlzR0VhY0JndmhlQ05JeXFBVmluMXVrSzRVVzVXU21a?=
 =?utf-8?B?Rk0xWnplOE9ydUZlUmIzZ0hlQzY1TTBxUnNzS0xVWEd4d0Z2TkNhZzhWQWtL?=
 =?utf-8?B?ZmF4VUxmSWRLbnZFZEsraEI2UXFMcFh3TjBRTnhjTm5MQUs2M3Z2N1UxYUJ5?=
 =?utf-8?B?b252RHk0NGpxTDlkYVUvNk9QOXFBZ2FmKzdFN1JQSHFYcmdteFRxZGtDL2Ex?=
 =?utf-8?B?Y2NzS3dQc3BRSTY1SkpqY0t0cUQ3SFpYeFNQSTd4cVpsV1pFaS9rS1FwcFpB?=
 =?utf-8?B?ZElRVkEyYU5aeXBodWFiSUppNnBxL3VsVlQ3QVhpTmhDbnIvb2kzSlA0emlM?=
 =?utf-8?B?TDhuZVMwMUM0NFlPTjRlM2E0eW5hckVvalF0dTRFNEZQZFc1bnYrRmJLVGxP?=
 =?utf-8?B?Z1d3WDZSUkJxVXRHcFkrRno3ZDUrTm5PaWZwOUZidTkvNWt5QmpteFlhQ3Vz?=
 =?utf-8?B?MW1vbnRXRklIaVFIQlgzMGNCZllYUzNzaTE2WVBQQTBhZlcyL0NXeHFOR2tK?=
 =?utf-8?B?dW1KUnhSWGV0K3dCcFZ6MU16OEJNanZoMU0xUzVnWUxFR0YzeGJKckkwdDh4?=
 =?utf-8?B?MWZyQnkxenpudVNmN3ZTRjY1TnUyT1plVGtSQU8yYjFreDhFRUJxYnE3eldI?=
 =?utf-8?B?SVFjaVM5TngzOHdsZmVzUXRKVUFGdzlkWk91WnY3UE1GcjdzdFhBOUMxU0sx?=
 =?utf-8?B?cnN1WDVGM0FhVXh1MWRIZFJNOEltMVJUY2dCK3J1UkRjQ2lQQVNBK1IrRXdO?=
 =?utf-8?B?YXc1NTY5S0ppSGxrbWw1ZEk0YUE2L1RSVFJCbzhUM3k1Q3JrT29Tb1NxL3VR?=
 =?utf-8?B?eTVKQmM2bUc5OUQydHZtaEg0QlF0V3FLbzJjZVVmajJ1MiszRUwvYW9LcU43?=
 =?utf-8?B?UUY5bmdSZjVTK0RyNGlORnlOcVlqdTByQmE5cUpsSHlFcnBkc0c5WEFoV09K?=
 =?utf-8?B?dGhPbjFwV1c5eWoxVUgzaEFLajlVbHVrWW9rZTJqRGpSVEFCTUV4emJqRTJR?=
 =?utf-8?B?VmZyQkxLZy95VmtsemlEVWM1VEludzJ0VUE3MlZtdTAyN3BYcUdQUzNKSFl0?=
 =?utf-8?B?SldYM090SExvSVlGODNLWHZwWnUrL2t5SzZHcXg5TklHU0dmWWdZanpRclVZ?=
 =?utf-8?B?UWtKbFBzTml6MTZlOStKeWxHYkFQdi9kNHNpSzd1U1ptcmRha3R0WWl2dThn?=
 =?utf-8?B?VXo3MnR2VFVqUlZZNUEvemt2M3U3UDhQSks3aEJOaUg4eExrajBiVUs1eTNB?=
 =?utf-8?B?MWJveDh6dkk1aWxsMVZKb2UrRFkwcjNobFk3SGZacS9YQmtIWDVGSlZlM2ZL?=
 =?utf-8?B?NXhveFU5QWtxRU15TXdYUUprMXA1QnRqQmtpaG5MT3NHb3NwWVcvbVJ6UHhQ?=
 =?utf-8?B?Y3pWTllEaHp5TlZBdkNUU2F0MkQvWEJ0UnhEQUNaTHdldWI4MEdnR3lnNGRx?=
 =?utf-8?B?d1J6Smk5YUZ1ZTNCdWhxcGZKL2FQOTVHMkovK2ZjNDl5aW9vQ0VzMzRHWEcr?=
 =?utf-8?B?eVlYa2FCTFRSa3BISmhjWERGWU8ycHcwQlBWSFQxMjViazJyd09rTmFRRnVh?=
 =?utf-8?B?b3c9PQ==?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 93d93db0-ed66-4a72-8bc0-08de12e066f7
X-MS-Exchange-CrossTenant-AuthSource: DM4PR03MB7015.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Oct 2025 09:33:34.4503
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: XzbnoIfteNcMCN7JNrTHqSd80NXrK3Fg2AohVyNkBH2XrJu3qd1aJ93clWG0QQPXH+cf9liUKvQA5cXGjdcC4qwhGVTe+jFoTlBTXsq1e4M=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR03MB6321

The subject should have a "xen: " prefix, as this applies to the
hypervisor and not other

On 24/10/2025 1:16 am, Saman Dehghan wrote:
> This change enables compatibility for measuring code coverage
> with Clang versions 14 through 20 by supporting their

Stale 14?Â  It looks to be 11 now.

> respective raw profile formats.
>
> 1- Added support for LLVM raw profile versions 5, 6, 7, 8, 9, and 10.
> 2- Initialized llvm_profile_header for all versions based on llvm source code in
>    compiler-rt/include/profile/InstrProfData.inc for each version.
> 3- We tested this patch for all Clang versions from 11 through 20 on x86 platform.
> 4- Fixed linking warnings related to coverage code in x86.
>
> Signed-off-by: Saman Dehghan <samaan.dehghan@gmail.com>
> ---

When sending multiple revisions, it's customary to put a short list here
if what you've changed from the previous revision.

Also, you didn't accumulate your release ack from v2.

Release-Acked-By: Oleksii Kurochko <oleksii.kurochko@gmail.com>

>  xen/arch/x86/xen.lds.S     |  6 ++++
>  xen/common/coverage/llvm.c | 73 ++++++++++++++++++++++++++++++++++----
>  xen/include/xen/xen.lds.h  | 18 ++++++++++
>  3 files changed, 91 insertions(+), 6 deletions(-)
>
> diff --git a/xen/common/coverage/llvm.c b/xen/common/coverage/llvm.c
> index 517b2aa8c2..e3272a546f 100644
> --- a/xen/common/coverage/llvm.c
> +++ b/xen/common/coverage/llvm.c
> @@ -107,11 +145,34 @@ static int cf_check dump(
>      struct llvm_profile_header header = {
>          .magic = LLVM_PROFILE_MAGIC,
>          .version = LLVM_PROFILE_VERSION,
> -        .data_size = (END_DATA - START_DATA) / sizeof(struct llvm_profile_data),
> -        .counters_size = (END_COUNTERS - START_COUNTERS) / sizeof(uint64_t),
> +#if __clang_major__ >= 13
> +        .binary_ids_size = 0,
> +#endif
> +        .num_data = ((END_DATA + sizeof(struct llvm_profile_data) - 1)
> +                - START_DATA) / sizeof(struct llvm_profile_data),

There's a helper for this expression.

DIV_ROUND_UP(END_DATA - START_DATA, sizeof(llvm_profile_data))

> +        .padding_bytes_before_counters = 0,
> +        .num_counters = ((END_COUNTERS + sizeof(uint64_t) - 1)
> +                - START_COUNTERS) / sizeof(uint64_t),

DIV_ROUND_UP(END_COUNTERS - START_COUNTERS, sizeof(uint64_t))


> +        .padding_bytes_after_counters = 0,
> +#if __clang_major__ >= 18
> +        .num_bitmap_bytes = 0,
> +        .padding_bytes_after_bitmap_bytes = 0,
> +#endif
>          .names_size = END_NAMES - START_NAMES,
> +#if __clang_major__ >= 14
> +        .counters_delta = START_COUNTERS - START_DATA,
> +#else
>          .counters_delta = (uintptr_t)START_COUNTERS,
> +#endif
> +
> +#if __clang_major__ >= 18
> +        .bitmap_delta = 0,
> +#endif
>          .names_delta = (uintptr_t)START_NAMES,
> +#if __clang_major__ >= 19 && __clang_major__ <= 20
> +        .num_vtables = 0,
> +        .vnames_size = 0,
> +#endif

Because this is a structure initialiser, everything set explicitly to 0
can be omitted.Â  This removes all #ifdef-ary except the .counters_delta
I believe, as well as the .padding_byte_* fields.

The resulting diff is far smaller.

>          .value_kind_last = LLVM_PROFILE_NUM_KINDS - 1,
>      };
>      unsigned int off = 0;
> diff --git a/xen/include/xen/xen.lds.h b/xen/include/xen/xen.lds.h
> index b126dfe887..42550a85a2 100644
> --- a/xen/include/xen/xen.lds.h
> +++ b/xen/include/xen/xen.lds.h
> @@ -81,6 +81,24 @@
>    .stab.index 0 : { *(.stab.index) }         \
>    .stab.indexstr 0 : { *(.stab.indexstr) }
>  
> +#if defined(CONFIG_COVERAGE) && defined(CONFIG_CC_IS_CLANG)
> +
> +#define LLVM_COV_RW_DATA                                   \
> +    DECL_SECTION(__llvm_prf_cnts) { *(__llvm_prf_cnts) }   \
> +    DECL_SECTION(__llvm_prf_data) { *(__llvm_prf_data) }   \
> +    DECL_SECTION(__llvm_prf_bits) { *(__llvm_prf_bits) }
> +
> +#define LLVM_COV_RO_DATA                                   \
> +    DECL_SECTION(__llvm_prf_names) { *(__llvm_prf_names) }
> +
> +#define LLVM_COV_DEBUG                                     \
> +    DECL_DEBUG(__llvm_covfun, 8)                           \
> +    DECL_DEBUG(__llvm_covmap, 8)
> +#else
> +#define LLVM_COV_RW_DATA
> +#define LLVM_COV_RO_DATA
> +#define LLVM_COV_DEBUG
> +#endif

Newline here.

But, there's no problem stating sections which are unused.Â  I think the
outer #if/#else can be dropped.

Otherwise, Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

I can fix these all up on commit, seeing as it's release acked for 4.21

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Oct 24 12:09:57 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Oct 2025 12:09:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1150097.1481358 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCGc0-0004g9-3n; Fri, 24 Oct 2025 12:09:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1150097.1481358; Fri, 24 Oct 2025 12:09:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCGc0-0004g2-1A; Fri, 24 Oct 2025 12:09:40 +0000
Received: by outflank-mailman (input) for mailman id 1150097;
 Fri, 24 Oct 2025 12:09: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
 <SRS0=rNzd=5B=arm.com=kevin.brodsky@srs-se1.protection.inumbo.net>)
 id 1vCGby-0004ft-Rl
 for xen-devel@lists.xenproject.org; Fri, 24 Oct 2025 12:09:38 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 4cfdf048-b0d2-11f0-980a-7dc792cee155;
 Fri, 24 Oct 2025 14:09:33 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 9C614106F;
 Fri, 24 Oct 2025 05:09:24 -0700 (PDT)
Received: from [10.44.160.74] (e126510-lin.lund.arm.com [10.44.160.74])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 1BA303F66E;
 Fri, 24 Oct 2025 05:09:24 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4cfdf048-b0d2-11f0-980a-7dc792cee155
Message-ID: <604f26cb-46c6-4533-8110-0b174eed821d@arm.com>
Date: Fri, 24 Oct 2025 14:09:21 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 03/13] powerpc/mm: implement arch_flush_lazy_mmu_mode()
To: David Hildenbrand <david@redhat.com>, linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org, Alexander Gordeev <agordeev@linux.ibm.com>,
 Andreas Larsson <andreas@gaisler.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, Borislav Petkov
 <bp@alien8.de>, Catalin Marinas <catalin.marinas@arm.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 Dave Hansen <dave.hansen@linux.intel.com>,
 "David S. Miller" <davem@davemloft.net>, "H. Peter Anvin" <hpa@zytor.com>,
 Ingo Molnar <mingo@redhat.com>, Jann Horn <jannh@google.com>,
 Juergen Gross <jgross@suse.com>, "Liam R. Howlett"
 <Liam.Howlett@oracle.com>, Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>, Michal Hocko <mhocko@suse.com>,
 Mike Rapoport <rppt@kernel.org>, Nicholas Piggin <npiggin@gmail.com>,
 Peter Zijlstra <peterz@infradead.org>, Ryan Roberts <ryan.roberts@arm.com>,
 Suren Baghdasaryan <surenb@google.com>, Thomas Gleixner
 <tglx@linutronix.de>, Vlastimil Babka <vbabka@suse.cz>,
 Will Deacon <will@kernel.org>, Yeoreum Yun <yeoreum.yun@arm.com>,
 linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org,
 sparclinux@vger.kernel.org, xen-devel@lists.xenproject.org, x86@kernel.org
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
 <20251015082727.2395128-4-kevin.brodsky@arm.com>
 <60c55686-87dd-46d0-884e-80f7d423663b@redhat.com>
Content-Language: en-GB
From: Kevin Brodsky <kevin.brodsky@arm.com>
In-Reply-To: <60c55686-87dd-46d0-884e-80f7d423663b@redhat.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 23/10/2025 21:36, David Hildenbrand wrote:
> On 15.10.25 10:27, Kevin Brodsky wrote:
>> [...]
>>
>> diff --git a/arch/powerpc/include/asm/book3s/64/tlbflush-hash.h
>> b/arch/powerpc/include/asm/book3s/64/tlbflush-hash.h
>> index 146287d9580f..7704dbe8e88d 100644
>> --- a/arch/powerpc/include/asm/book3s/64/tlbflush-hash.h
>> +++ b/arch/powerpc/include/asm/book3s/64/tlbflush-hash.h
>> @@ -41,6 +41,16 @@ static inline void arch_enter_lazy_mmu_mode(void)
>> Â Â Â Â Â  batch->active = 1;
>> Â  }
>> Â  +static inline void arch_flush_lazy_mmu_mode(void)
>> +{
>> +Â Â Â  struct ppc64_tlb_batch *batch;
>> +
>> +Â Â Â  batch = this_cpu_ptr(&ppc64_tlb_batch);
>
> The downside is the double this_cpu_ptr() now on the
> arch_leave_lazy_mmu_mode() path.

This is only temporary, patch 9 removes it from arch_enter(). I don't
think having a redundant this_cpu_ptr() for a few commits is really a
concern?

Same idea for patch 4/10.

- Kevin


From xen-devel-bounces@lists.xenproject.org Fri Oct 24 12:13:51 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Oct 2025 12:13:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1150109.1481368 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCGg2-0006BP-JU; Fri, 24 Oct 2025 12:13:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1150109.1481368; Fri, 24 Oct 2025 12:13:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCGg2-0006BI-Gx; Fri, 24 Oct 2025 12:13:50 +0000
Received: by outflank-mailman (input) for mailman id 1150109;
 Fri, 24 Oct 2025 12:13:49 +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
 <SRS0=rNzd=5B=arm.com=kevin.brodsky@srs-se1.protection.inumbo.net>)
 id 1vCGg1-0006BC-7B
 for xen-devel@lists.xenproject.org; Fri, 24 Oct 2025 12:13:49 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id e43b3c96-b0d2-11f0-9d16-b5c5bf9af7f9;
 Fri, 24 Oct 2025 14:13:47 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 5EA231515;
 Fri, 24 Oct 2025 05:13:38 -0700 (PDT)
Received: from [10.44.160.74] (e126510-lin.lund.arm.com [10.44.160.74])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 6C2833F66E;
 Fri, 24 Oct 2025 05:13:38 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e43b3c96-b0d2-11f0-9d16-b5c5bf9af7f9
Message-ID: <390e41ae-4b66-40c1-935f-7a1794ba0b71@arm.com>
Date: Fri, 24 Oct 2025 14:13:35 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 06/13] mm: introduce generic lazy_mmu helpers
To: David Hildenbrand <david@redhat.com>, linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org, Alexander Gordeev <agordeev@linux.ibm.com>,
 Andreas Larsson <andreas@gaisler.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, Borislav Petkov
 <bp@alien8.de>, Catalin Marinas <catalin.marinas@arm.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 Dave Hansen <dave.hansen@linux.intel.com>,
 "David S. Miller" <davem@davemloft.net>, "H. Peter Anvin" <hpa@zytor.com>,
 Ingo Molnar <mingo@redhat.com>, Jann Horn <jannh@google.com>,
 Juergen Gross <jgross@suse.com>, "Liam R. Howlett"
 <Liam.Howlett@oracle.com>, Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>, Michal Hocko <mhocko@suse.com>,
 Mike Rapoport <rppt@kernel.org>, Nicholas Piggin <npiggin@gmail.com>,
 Peter Zijlstra <peterz@infradead.org>, Ryan Roberts <ryan.roberts@arm.com>,
 Suren Baghdasaryan <surenb@google.com>, Thomas Gleixner
 <tglx@linutronix.de>, Vlastimil Babka <vbabka@suse.cz>,
 Will Deacon <will@kernel.org>, Yeoreum Yun <yeoreum.yun@arm.com>,
 linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org,
 sparclinux@vger.kernel.org, xen-devel@lists.xenproject.org, x86@kernel.org
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
 <20251015082727.2395128-7-kevin.brodsky@arm.com>
 <73b274b7-f419-4e2e-8620-d557bac30dc2@redhat.com>
Content-Language: en-GB
From: Kevin Brodsky <kevin.brodsky@arm.com>
In-Reply-To: <73b274b7-f419-4e2e-8620-d557bac30dc2@redhat.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 23/10/2025 21:52, David Hildenbrand wrote:
> On 15.10.25 10:27, Kevin Brodsky wrote:
>> [...]
>>
>> * madvise_*_pte_range() call arch_leave() in multiple paths, some
>> Â Â  followed by an immediate exit/rescheduling and some followed by a
>> Â Â  conditional exit. These functions assume that they are called
>> Â Â  with lazy MMU disabled and we cannot simply use pause()/resume()
>> Â Â  to address that. This patch leaves the situation unchanged by
>> Â Â  calling enable()/disable() in all cases.
>
> I'm confused, the function simply does
>
> (a) enables lazy mmu
> (b) does something on the page table
> (c) disables lazy mmu
> (d) does something expensive (split folio -> take sleepable locks,
> Â Â Â  flushes tlb)
> (e) go to (a)

That step is conditional: we exit right away if pte_offset_map_lock()
fails. The fundamental issue is that pause() must always be matched with
resume(), but as those functions look today there is no situation where
a pause() would always be matched with a resume().

Alternatively it should be possible to pause(), unconditionally resume()
after the expensive operations are done and then leave() right away in
case of failure. It requires restructuring and might look a bit strange,
but can be done if you think it's justified.

>
> Why would we use enable/disable instead?
>
>>
>> * x86/Xen is currently the only case where explicit handling is
>> Â Â  required for lazy MMU when context-switching. This is purely an
>> Â Â  implementation detail and using the generic lazy_mmu_mode_*
>> Â Â  functions would cause trouble when nesting support is introduced,
>> Â Â  because the generic functions must be called from the current task.
>> Â Â  For that reason we still use arch_leave() and arch_enter() there.
>
> How does this interact with patch #11?Â 

It is a requirement for patch 11, in fact. If we called disable() when
switching out a task, then lazy_mmu_state.enabled would (most likely) be
false when scheduling it again.

By calling the arch_* helpers when context-switching, we ensure
lazy_mmu_state remains unchanged. This is consistent with what happens
on all other architectures (which don't do anything about lazy_mmu when
context-switching). lazy_mmu_state is the lazy MMU status *when the task
is scheduled*, and should be preserved on a context-switch.

>
>>
>> Note: x86 calls arch_flush_lazy_mmu_mode() unconditionally in a few
>> places, but only defines it if PARAVIRT_XXL is selected, and we are
>> removing the fallback in <linux/pgtable.h>. Add a new fallback
>> definition to <asm/pgtable.h> to keep things building.
>
> I can see a call in __kernel_map_pages() and
> arch_kmap_local_post_map()/arch_kmap_local_post_unmap().
>
> I guess that is ... harmless/irrelevant in the context of this series?

It should be. arch_flush_lazy_mmu_mode() was only used by x86 before
this series; we're adding new calls to it from the generic layer, but
existing x86 calls shouldn't be affected.

- Kevin


From xen-devel-bounces@lists.xenproject.org Fri Oct 24 12:14:35 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Oct 2025 12:14:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1150122.1481386 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCGgl-0006ll-4V; Fri, 24 Oct 2025 12:14:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1150122.1481386; Fri, 24 Oct 2025 12:14:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCGgl-0006ky-1V; Fri, 24 Oct 2025 12:14:35 +0000
Received: by outflank-mailman (input) for mailman id 1150122;
 Fri, 24 Oct 2025 12:14:34 +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
 <SRS0=CZgC=5B=xenbits.xen.org=andrewcoop@srs-se1.protection.inumbo.net>)
 id 1vCGgj-0006Wk-W4
 for xen-devel@lists.xen.org; Fri, 24 Oct 2025 12:14:34 +0000
Received: from mail.xenproject.org (mail.xenproject.org [104.130.215.37])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f6d9b689-b0d2-11f0-980a-7dc792cee155;
 Fri, 24 Oct 2025 14:14:19 +0200 (CEST)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <andrewcoop@xenbits.xen.org>) id 1vCGgP-00HRHW-0s;
 Fri, 24 Oct 2025 12:14:13 +0000
Received: from andrewcoop by xenbits.xenproject.org with local (Exim 4.96)
 (envelope-from <andrewcoop@xenbits.xen.org>) id 1vCGgP-00EOqt-1K;
 Fri, 24 Oct 2025 12:14:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f6d9b689-b0d2-11f0-980a-7dc792cee155
Content-Type: multipart/mixed; boundary="=separator"; charset="utf-8"
Content-Transfer-Encoding: binary
MIME-Version: 1.0
X-Mailer: MIME-tools 5.510 (Entity 5.510)
To: xen-announce@lists.xen.org, xen-devel@lists.xen.org,
 xen-users@lists.xen.org, oss-security@lists.openwall.com
From: Xen.org security team <security@xen.org>
CC: Xen.org security team <security-team-members@xen.org>
Subject: Xen Security Advisory 476 v1 (CVE-2025-58149) - Incorrect removal
 of permissions on PCI device unplug
Message-Id: <E1vCGgP-00EOqt-1K@xenbits.xenproject.org>
Date: Fri, 24 Oct 2025 12:14:13 +0000

--=separator
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

            Xen Security Advisory CVE-2025-58149 / XSA-476

         Incorrect removal of permissions on PCI device unplug

ISSUE DESCRIPTION
=================

When passing through PCI devices, the detach logic in libxl won't remove
access permissions to any 64bit memory BARs the device might have.  As a
result a domain can still have access any 64bit memory BAR when such
device is no longer assigned to the domain.

For PV domains the permission leak allows the domain itself to map the memory
in the page-tables.  For HVM it would require a compromised device model or
stubdomain to map the leaked memory into the HVM domain p2m.

IMPACT
======

A buggy or malicious PV guest can access memory of PCI devices no longer
assigned to it.

VULNERABLE SYSTEMS
==================

Xen versions 4.0 and newer are vulnerable.

Only PV guests with PCI passthrough devices can leverage the vulnerability.

Only domains whose PCI devices are managed by the libxl library are affected.
This includes the xl toolstack and xapi, which uses the xl toolstack when
dealing with PCI devices.

HVM guests are also affected, but accessing the leaked memory requires an
additional compromised component on the system.

MITIGATION
==========

Not doing hot unplug of PCI devices will avoid the vulnerability.

Passing through PCI devices to HVM domains only will also limit the impact, as
an attacker would require another compromised component to exploit it.

CREDITS
=======

This issue was discovered by Jiqian Chen of AMD and diagnosed as a
security issue by Roger Pau MonnÃ© of XenServer.

RESOLUTION
==========

Applying the attached patch resolves this issue.

Note that patches for released versions are generally prepared to
apply to the stable branches, and may not apply cleanly to the most
recent release tarball.  Downstreams are encouraged to update to the
tip of the stable branch before applying these patches.

xsa476.patch           xen-unstable
xsa476-4.20.patch      Xen 4.20.x - Xen 4.18.x
xsa476-4.17.patch      Xen 4.17.x

$ sha256sum xsa476*
ee4c2fa73d38c5c699006b6317ba53f20343af0593ff9a8c38e7e59b69a0beca  xsa476.patch
3b921545f023dc7d9d943d0d661e677711458a917630de14f0871b03db0f2148  xsa476-4.17.patch
5babfaa3680de9950d3391a78e4956b5c18d54eaac9938c6cde2433a2ad3f27d  xsa476-4.20.patch
$

NOTE REGARDING LACK OF EMBARGO
==============================

This issue was discussed in public already.
-----BEGIN PGP SIGNATURE-----

iQFABAEBCAAqFiEEI+MiLBRfRHX6gGCng/4UyVfoK9kFAmj7bXYMHHBncEB4ZW4u
b3JnAAoJEIP+FMlX6CvZEIEH/ApNvYmMcqqEyOMgGV/VVmEMcXsAy1Ps3rMdDe9U
YLsa7ugJLQ/kMI70y0qzws8Uc/kVftl6Z3NbvhpnBMdpurEbZnVuuPtV5I08BF7G
23Qij+NNXSFdUzZVtgqz+POuhpVmrZgEwmg2HXsL1h2KgirUgwh5Nbs4ZuAlbz/f
05tiljIdv4ntqz8sczUxUmtw3XuzcTu0GS8EtPSoAEC5paK72X+5i496qDKpgtqv
gdnxqDL2s5ue3G029e9JA3pscVQTMYa3InNiHK28GAM2BW10op1JaxVl/JLN1zzL
igpd+u6Fs73qNzcClXQ48YEBkCoTTIdhIrl0mSp4zTfN9dk=
=MBxa
-----END PGP SIGNATURE-----

--=separator
Content-Type: application/octet-stream; name="xsa476.patch"
Content-Disposition: attachment; filename="xsa476.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmlxaWFuIENoZW4gPEppcWlhbi5DaGVuQGFtZC5jb20+ClN1Ympl
Y3Q6IHRvb2xzL2xpYnMvbGlnaHQ6IGZpeCBCQVIgbWVtb3J5IGFkZHJlc3Mg
dHJ1bmNhdGlvbgoKNjQtYml0IEJBUiBtZW1vcnkgYWRkcmVzcyBpcyB0cnVu
Y2F0ZWQgd2hlbiByZW1vdmluZyBhIHBhc3N0aHJvdWdoCnBjaSBkZXZpY2Ug
ZnJvbSBndWVzdCBzaW5jZSBpdCB1c2VzICJ1bnNpZ25lZCBpbnQiLgoKU28s
IGNoYW5nZSB0byB1c2UgNjQtYml0IHR5cGUgdG8gZml4IHRoaXMgcHJvYmxl
bS4KClRoaXMgaXMgWFNBLTQ3NiAvIENWRS0yMDI1LTU4MTQ5LgoKRml4ZXM6
IGIwYTFhZjYxNjc4YiAoImxpYnhlbmxpZ2h0OiBpbXBsZW1lbnQgcGNpIHBh
c3N0aHJvdWdoIikKU2lnbmVkLW9mZi1ieTogSmlxaWFuIENoZW4gPEppcWlh
bi5DaGVuQGFtZC5jb20+ClJlbGVhc2UtQWNrZWQtYnk6IE9sZWtzaWkgS3Vy
b2Noa28gPG9sZWtzaWkua3Vyb2Noa29AZ21haWwuY29tPgpSZXZpZXdlZC1i
eTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPgpBY2tlZC1ieTog
QW50aG9ueSBQRVJBUkQgPGFudGhvbnkucGVyYXJkQHZhdGVzLnRlY2g+Cgpk
aWZmIC0tZ2l0IGEvdG9vbHMvbGlicy9saWdodC9saWJ4bF9wY2kuYyBiL3Rv
b2xzL2xpYnMvbGlnaHQvbGlieGxfcGNpLmMKaW5kZXggMmVhMmNhZWI2NjI0
Li40OWQyNzJkMGRlNjUgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnMvbGlnaHQv
bGlieGxfcGNpLmMKKysrIGIvdG9vbHMvbGlicy9saWdodC9saWJ4bF9wY2ku
YwpAQCAtMjAwMSw3ICsyMDAxLDggQEAgc3RhdGljIHZvaWQgcGNpX3JlbW92
ZV9kZXRhY2hlZChsaWJ4bF9fZWdjICplZ2MsCiB7CiAgICAgU1RBVEVfQU9f
R0MocHJzLT5hb2Rldi0+YW8pOwogICAgIGxpYnhsX2N0eCAqY3R4ID0gbGli
eGxfX2djX293bmVyKGdjKTsKLSAgICB1bnNpZ25lZCBpbnQgc3RhcnQgPSAw
LCBlbmQgPSAwLCBmbGFncyA9IDAsIHNpemUgPSAwLCBpcnEgPSAwOworICAg
IHVpbnQ2NF90IHN0YXJ0ID0gMCwgZW5kID0gMCwgZmxhZ3MgPSAwLCBzaXpl
ID0gMDsKKyAgICB1bnNpZ25lZCBpbnQgaXJxID0gMDsKICAgICBpbnQgaSwg
c3R1YmRvbWlkID0gMDsKICAgICBjb25zdCBjaGFyICpzeXNmc19wYXRoOwog
ICAgIEZJTEUgKmY7CkBAIC0yMDMxLDcgKzIwMzIsOCBAQCBzdGF0aWMgdm9p
ZCBwY2lfcmVtb3ZlX2RldGFjaGVkKGxpYnhsX19lZ2MgKmVnYywKICAgICB9
CiAKICAgICBmb3IgKGkgPSAwOyBpIDwgUFJPQ19QQ0lfTlVNX1JFU09VUkNF
UzsgaSsrKSB7Ci0gICAgICAgIGlmIChmc2NhbmYoZiwgIjB4JXggMHgleCAw
eCV4XG4iLCAmc3RhcnQsICZlbmQsICZmbGFncykgIT0gMykKKyAgICAgICAg
aWYgKGZzY2FuZihmLCAiMHglIlNDTng2NCIgMHglIlNDTng2NCIgMHglIlND
Tng2NCJcbiIsCisgICAgICAgICAgICAgICAgICAgJnN0YXJ0LCAmZW5kLCAm
ZmxhZ3MpICE9IDMpCiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAg
c2l6ZSA9IGVuZCAtIHN0YXJ0ICsgMTsKICAgICAgICAgaWYgKHN0YXJ0KSB7
CkBAIC0yMDQwLDcgKzIwNDIsNyBAQCBzdGF0aWMgdm9pZCBwY2lfcmVtb3Zl
X2RldGFjaGVkKGxpYnhsX19lZ2MgKmVnYywKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplLCAwKTsKICAg
ICAgICAgICAgICAgICBpZiAocmMgPCAwKQogICAgICAgICAgICAgICAgICAg
ICBMT0dFRChFUlJPUiwgZG9taWQsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICJ4Y19kb21haW5faW9wb3J0X3Blcm1pc3Npb24gZXJyb3IgMHgleC8w
eCV4IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgInhjX2RvbWFpbl9p
b3BvcnRfcGVybWlzc2lvbiBlcnJvciAlIyJQUkl4NjQiLyUjIlBSSXg2NCwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnQsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHNpemUpOwogICAgICAgICAgICAgfSBlbHNlIHsK
QEAgLTIwNTAsNyArMjA1Miw3IEBAIHN0YXRpYyB2b2lkIHBjaV9yZW1vdmVf
ZGV0YWNoZWQobGlieGxfX2VnYyAqZWdjLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCk7CiAgICAgICAgICAg
ICAgICAgaWYgKHJjIDwgMCkKICAgICAgICAgICAgICAgICAgICAgTE9HRUQo
RVJST1IsIGRvbWlkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAieGNf
ZG9tYWluX2lvbWVtX3Blcm1pc3Npb24gZXJyb3IgMHgleC8weCV4IiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgInhjX2RvbWFpbl9pb21lbV9wZXJt
aXNzaW9uIGVycm9yICUjIlBSSXg2NCIvJSMiUFJJeDY0LAogICAgICAgICAg
ICAgICAgICAgICAgICAgICBzdGFydCwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc2l6ZSk7CiAgICAgICAgICAgICB9Cg==

--=separator
Content-Type: application/octet-stream; name="xsa476-4.17.patch"
Content-Disposition: attachment; filename="xsa476-4.17.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmlxaWFuIENoZW4gPEppcWlhbi5DaGVuQGFtZC5jb20+ClN1Ympl
Y3Q6IHRvb2xzL2xpYnMvbGlnaHQ6IGZpeCBCQVIgbWVtb3J5IGFkZHJlc3Mg
dHJ1bmNhdGlvbgoKNjQtYml0IEJBUiBtZW1vcnkgYWRkcmVzcyBpcyB0cnVu
Y2F0ZWQgd2hlbiByZW1vdmluZyBhIHBhc3N0aHJvdWdoCnBjaSBkZXZpY2Ug
ZnJvbSBndWVzdCBzaW5jZSBpdCB1c2VzICJ1bnNpZ25lZCBpbnQiLgoKU28s
IGNoYW5nZSB0byB1c2UgNjQtYml0IHR5cGUgdG8gZml4IHRoaXMgcHJvYmxl
bS4KClRoaXMgaXMgWFNBLTQ3NiAvIENWRS0yMDI1LTU4MTQ5LgoKRml4ZXM6
IGIwYTFhZjYxNjc4YiAoImxpYnhlbmxpZ2h0OiBpbXBsZW1lbnQgcGNpIHBh
c3N0aHJvdWdoIikKU2lnbmVkLW9mZi1ieTogSmlxaWFuIENoZW4gPEppcWlh
bi5DaGVuQGFtZC5jb20+ClJlbGVhc2UtQWNrZWQtYnk6IE9sZWtzaWkgS3Vy
b2Noa28gPG9sZWtzaWkua3Vyb2Noa29AZ21haWwuY29tPgpSZXZpZXdlZC1i
eTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPgpBY2tlZC1ieTog
QW50aG9ueSBQRVJBUkQgPGFudGhvbnkucGVyYXJkQHZhdGVzLnRlY2g+Cgpk
aWZmIC0tZ2l0IGEvdG9vbHMvbGlicy9saWdodC9saWJ4bF9wY2kuYyBiL3Rv
b2xzL2xpYnMvbGlnaHQvbGlieGxfcGNpLmMKaW5kZXggZjRjNGYxNzU0NTRk
Li4zN2UyZTI2MjQ3N2UgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnMvbGlnaHQv
bGlieGxfcGNpLmMKKysrIGIvdG9vbHMvbGlicy9saWdodC9saWJ4bF9wY2ku
YwpAQCAtMTk5NSw3ICsxOTk1LDcgQEAgc3RhdGljIHZvaWQgZG9fcGNpX3Jl
bW92ZShsaWJ4bF9fZWdjICplZ2MsIHBjaV9yZW1vdmVfc3RhdGUgKnBycykK
ICAgICAgICAgY2hhciAqc3lzZnNfcGF0aCA9IEdDU1BSSU5URihTWVNGU19Q
Q0lfREVWIi8iUENJX0JERiIvcmVzb3VyY2UiLCBwY2ktPmRvbWFpbiwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwY2ktPmJ1cywg
cGNpLT5kZXYsIHBjaS0+ZnVuYyk7CiAgICAgICAgIEZJTEUgKmYgPSBmb3Bl
bihzeXNmc19wYXRoLCAiciIpOwotICAgICAgICB1bnNpZ25lZCBpbnQgc3Rh
cnQgPSAwLCBlbmQgPSAwLCBmbGFncyA9IDAsIHNpemUgPSAwOworICAgICAg
ICB1aW50NjRfdCBzdGFydCA9IDAsIGVuZCA9IDAsIGZsYWdzID0gMCwgc2l6
ZSA9IDA7CiAgICAgICAgIGludCBpcnEgPSAwOwogICAgICAgICBpbnQgaTsK
IApAQCAtMjAwNCw3ICsyMDA0LDggQEAgc3RhdGljIHZvaWQgZG9fcGNpX3Jl
bW92ZShsaWJ4bF9fZWdjICplZ2MsIHBjaV9yZW1vdmVfc3RhdGUgKnBycykK
ICAgICAgICAgICAgIGdvdG8gc2tpcDE7CiAgICAgICAgIH0KICAgICAgICAg
Zm9yIChpID0gMDsgaSA8IFBST0NfUENJX05VTV9SRVNPVVJDRVM7IGkrKykg
ewotICAgICAgICAgICAgaWYgKGZzY2FuZihmLCAiMHgleCAweCV4IDB4JXhc
biIsICZzdGFydCwgJmVuZCwgJmZsYWdzKSAhPSAzKQorICAgICAgICAgICAg
aWYgKGZzY2FuZihmLCAiMHglIlNDTng2NCIgMHglIlNDTng2NCIgMHglIlND
Tng2NCJcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICZzdGFydCwgJmVu
ZCwgJmZsYWdzKSAhPSAzKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwog
ICAgICAgICAgICAgc2l6ZSA9IGVuZCAtIHN0YXJ0ICsgMTsKICAgICAgICAg
ICAgIGlmIChzdGFydCkgewpAQCAtMjAxMiw3ICsyMDEzLDcgQEAgc3RhdGlj
IHZvaWQgZG9fcGNpX3JlbW92ZShsaWJ4bF9fZWdjICplZ2MsIHBjaV9yZW1v
dmVfc3RhdGUgKnBycykKICAgICAgICAgICAgICAgICAgICAgcmMgPSB4Y19k
b21haW5faW9wb3J0X3Blcm1pc3Npb24oY3R4LT54Y2gsIGRvbWlkLCBzdGFy
dCwgc2l6ZSwgMCk7CiAgICAgICAgICAgICAgICAgICAgIGlmIChyYyA8IDAp
CiAgICAgICAgICAgICAgICAgICAgICAgICBMT0dFRChFUlJPUiwgZG9tYWlu
aWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieGNfZG9tYWlu
X2lvcG9ydF9wZXJtaXNzaW9uIGVycm9yIDB4JXgvMHgleCIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAieGNfZG9tYWluX2lvcG9ydF9wZXJt
aXNzaW9uIGVycm9yICUjIlBSSXg2NCIvJSMiUFJJeDY0LAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3RhcnQsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzaXplKTsKICAgICAgICAgICAgICAgICB9IGVsc2Ug
ewpAQCAtMjAyMCw3ICsyMDIxLDcgQEAgc3RhdGljIHZvaWQgZG9fcGNpX3Jl
bW92ZShsaWJ4bF9fZWdjICplZ2MsIHBjaV9yZW1vdmVfc3RhdGUgKnBycykK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAoc2l6ZSsoWENfUEFHRV9TSVpFLTEpKT4+WENfUEFHRV9TSElG
VCwgMCk7CiAgICAgICAgICAgICAgICAgICAgIGlmIChyYyA8IDApCiAgICAg
ICAgICAgICAgICAgICAgICAgICBMT0dFRChFUlJPUiwgZG9tYWluaWQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieGNfZG9tYWluX2lvbWVt
X3Blcm1pc3Npb24gZXJyb3IgMHgleC8weCV4IiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJ4Y19kb21haW5faW9tZW1fcGVybWlzc2lvbiBl
cnJvciAlIyJQUkl4NjQiLyUjIlBSSXg2NCwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHN0YXJ0LAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc2l6ZSk7CiAgICAgICAgICAgICAgICAgfQo=

--=separator
Content-Type: application/octet-stream; name="xsa476-4.20.patch"
Content-Disposition: attachment; filename="xsa476-4.20.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmlxaWFuIENoZW4gPEppcWlhbi5DaGVuQGFtZC5jb20+ClN1Ympl
Y3Q6IHRvb2xzL2xpYnMvbGlnaHQ6IGZpeCBCQVIgbWVtb3J5IGFkZHJlc3Mg
dHJ1bmNhdGlvbgoKNjQtYml0IEJBUiBtZW1vcnkgYWRkcmVzcyBpcyB0cnVu
Y2F0ZWQgd2hlbiByZW1vdmluZyBhIHBhc3N0aHJvdWdoCnBjaSBkZXZpY2Ug
ZnJvbSBndWVzdCBzaW5jZSBpdCB1c2VzICJ1bnNpZ25lZCBpbnQiLgoKU28s
IGNoYW5nZSB0byB1c2UgNjQtYml0IHR5cGUgdG8gZml4IHRoaXMgcHJvYmxl
bS4KClRoaXMgaXMgWFNBLTQ3NiAvIENWRS0yMDI1LTU4MTQ5LgoKRml4ZXM6
IGIwYTFhZjYxNjc4YiAoImxpYnhlbmxpZ2h0OiBpbXBsZW1lbnQgcGNpIHBh
c3N0aHJvdWdoIikKU2lnbmVkLW9mZi1ieTogSmlxaWFuIENoZW4gPEppcWlh
bi5DaGVuQGFtZC5jb20+ClJlbGVhc2UtQWNrZWQtYnk6IE9sZWtzaWkgS3Vy
b2Noa28gPG9sZWtzaWkua3Vyb2Noa29AZ21haWwuY29tPgpSZXZpZXdlZC1i
eTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPgpBY2tlZC1ieTog
QW50aG9ueSBQRVJBUkQgPGFudGhvbnkucGVyYXJkQHZhdGVzLnRlY2g+Cgpk
aWZmIC0tZ2l0IGEvdG9vbHMvbGlicy9saWdodC9saWJ4bF9wY2kuYyBiL3Rv
b2xzL2xpYnMvbGlnaHQvbGlieGxfcGNpLmMKaW5kZXggMTY0N2ZkNmY0NzU2
Li43YWY2MDIyMjRhYmEgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnMvbGlnaHQv
bGlieGxfcGNpLmMKKysrIGIvdG9vbHMvbGlicy9saWdodC9saWJ4bF9wY2ku
YwpAQCAtMjE3OSw3ICsyMTc5LDcgQEAgc3RhdGljIHZvaWQgcGNpX3JlbW92
ZV9kZXRhY2hlZChsaWJ4bF9fZWdjICplZ2MsCiB7CiAgICAgU1RBVEVfQU9f
R0MocHJzLT5hb2Rldi0+YW8pOwogICAgIGxpYnhsX2N0eCAqY3R4ID0gbGli
eGxfX2djX293bmVyKGdjKTsKLSAgICB1bnNpZ25lZCBpbnQgc3RhcnQgPSAw
LCBlbmQgPSAwLCBmbGFncyA9IDAsIHNpemUgPSAwOworICAgIHVpbnQ2NF90
IHN0YXJ0ID0gMCwgZW5kID0gMCwgZmxhZ3MgPSAwLCBzaXplID0gMDsKICAg
ICBpbnQgIGlycSA9IDAsIGksIHN0dWJkb21pZCA9IDA7CiAgICAgY29uc3Qg
Y2hhciAqc3lzZnNfcGF0aDsKICAgICBGSUxFICpmOwpAQCAtMjIwOSw3ICsy
MjA5LDggQEAgc3RhdGljIHZvaWQgcGNpX3JlbW92ZV9kZXRhY2hlZChsaWJ4
bF9fZWdjICplZ2MsCiAgICAgfQogCiAgICAgZm9yIChpID0gMDsgaSA8IFBS
T0NfUENJX05VTV9SRVNPVVJDRVM7IGkrKykgewotICAgICAgICBpZiAoZnNj
YW5mKGYsICIweCV4IDB4JXggMHgleFxuIiwgJnN0YXJ0LCAmZW5kLCAmZmxh
Z3MpICE9IDMpCisgICAgICAgIGlmIChmc2NhbmYoZiwgIjB4JSJTQ054NjQi
IDB4JSJTQ054NjQiIDB4JSJTQ054NjQiXG4iLAorICAgICAgICAgICAgICAg
ICAgICZzdGFydCwgJmVuZCwgJmZsYWdzKSAhPSAzKQogICAgICAgICAgICAg
Y29udGludWU7CiAgICAgICAgIHNpemUgPSBlbmQgLSBzdGFydCArIDE7CiAg
ICAgICAgIGlmIChzdGFydCkgewpAQCAtMjIxOCw3ICsyMjE5LDcgQEAgc3Rh
dGljIHZvaWQgcGNpX3JlbW92ZV9kZXRhY2hlZChsaWJ4bF9fZWdjICplZ2Ms
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc2l6ZSwgMCk7CiAgICAgICAgICAgICAgICAgaWYgKHJjIDwgMCkK
ICAgICAgICAgICAgICAgICAgICAgTE9HRUQoRVJST1IsIGRvbWlkLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAieGNfZG9tYWluX2lvcG9ydF9wZXJt
aXNzaW9uIGVycm9yIDB4JXgvMHgleCIsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICJ4Y19kb21haW5faW9wb3J0X3Blcm1pc3Npb24gZXJyb3IgJSMi
UFJJeDY0Ii8lIyJQUkl4NjQsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
IHN0YXJ0LAogICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplKTsKICAg
ICAgICAgICAgIH0gZWxzZSB7CkBAIC0yMjI4LDcgKzIyMjksNyBAQCBzdGF0
aWMgdm9pZCBwY2lfcmVtb3ZlX2RldGFjaGVkKGxpYnhsX19lZ2MgKmVnYywK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDApOwogICAgICAgICAgICAgICAgIGlmIChyYyA8IDApCiAgICAgICAg
ICAgICAgICAgICAgIExPR0VEKEVSUk9SLCBkb21pZCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgInhjX2RvbWFpbl9pb21lbV9wZXJtaXNzaW9uIGVy
cm9yIDB4JXgvMHgleCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICJ4
Y19kb21haW5faW9tZW1fcGVybWlzc2lvbiBlcnJvciAlIyJQUkl4NjQiLyUj
IlBSSXg2NCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnQsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHNpemUpOwogICAgICAgICAgICAg
fQo=

--=separator--


From xen-devel-bounces@lists.xenproject.org Fri Oct 24 12:26:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Oct 2025 12:26:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1150212.1481419 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCGru-0001lO-Jv; Fri, 24 Oct 2025 12:26:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1150212.1481419; Fri, 24 Oct 2025 12:26:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCGru-0001lH-H3; Fri, 24 Oct 2025 12:26:06 +0000
Received: by outflank-mailman (input) for mailman id 1150212;
 Fri, 24 Oct 2025 12:26:05 +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
 <SRS0=rNzd=5B=arm.com=kevin.brodsky@srs-se1.protection.inumbo.net>)
 id 1vCGis-0006dK-4W
 for xen-devel@lists.xenproject.org; Fri, 24 Oct 2025 12:16:46 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 4e63f4c9-b0d3-11f0-9d16-b5c5bf9af7f9;
 Fri, 24 Oct 2025 14:16:45 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 73CC91515;
 Fri, 24 Oct 2025 05:16:36 -0700 (PDT)
Received: from [10.44.160.74] (e126510-lin.lund.arm.com [10.44.160.74])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id E88963F66E;
 Fri, 24 Oct 2025 05:16:36 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4e63f4c9-b0d3-11f0-9d16-b5c5bf9af7f9
Message-ID: <7a4e136b-66a5-4244-ab07-f0bcc3a26a83@arm.com>
Date: Fri, 24 Oct 2025 14:16:34 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 07/13] mm: enable lazy_mmu sections to nest
To: David Hildenbrand <david@redhat.com>, linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org, Alexander Gordeev <agordeev@linux.ibm.com>,
 Andreas Larsson <andreas@gaisler.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, Borislav Petkov
 <bp@alien8.de>, Catalin Marinas <catalin.marinas@arm.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 Dave Hansen <dave.hansen@linux.intel.com>,
 "David S. Miller" <davem@davemloft.net>, "H. Peter Anvin" <hpa@zytor.com>,
 Ingo Molnar <mingo@redhat.com>, Jann Horn <jannh@google.com>,
 Juergen Gross <jgross@suse.com>, "Liam R. Howlett"
 <Liam.Howlett@oracle.com>, Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>, Michal Hocko <mhocko@suse.com>,
 Mike Rapoport <rppt@kernel.org>, Nicholas Piggin <npiggin@gmail.com>,
 Peter Zijlstra <peterz@infradead.org>, Ryan Roberts <ryan.roberts@arm.com>,
 Suren Baghdasaryan <surenb@google.com>, Thomas Gleixner
 <tglx@linutronix.de>, Vlastimil Babka <vbabka@suse.cz>,
 Will Deacon <will@kernel.org>, Yeoreum Yun <yeoreum.yun@arm.com>,
 linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org,
 sparclinux@vger.kernel.org, xen-devel@lists.xenproject.org, x86@kernel.org
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
 <20251015082727.2395128-8-kevin.brodsky@arm.com>
 <2073294c-8003-451a-93e0-9aab81de4d22@redhat.com>
Content-Language: en-GB
From: Kevin Brodsky <kevin.brodsky@arm.com>
In-Reply-To: <2073294c-8003-451a-93e0-9aab81de4d22@redhat.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 23/10/2025 22:00, David Hildenbrand wrote:
> [...]
>
>
>>
>> In summary (count/enabled represent the values *after* the call):
>>
>> lazy_mmu_mode_enable()Â Â Â Â Â Â Â  -> arch_enter()Â Â Â Â Â Â Â  count=1 enabled=1
>> Â Â Â Â  lazy_mmu_mode_enable()Â Â Â  -> Ã¸Â Â Â Â Â Â Â Â Â Â Â  count=2 enabled=1
>> Â Â Â Â lazy_mmu_mode_pause()Â Â Â  -> arch_leave()Â Â Â Â  count=2 enabled=0
>
> The arch_leave..() is expected to do a flush itself, correct?

Correct, that's unchanged.

>
>> Â Â Â Â lazy_mmu_mode_resume()Â Â Â  -> arch_enter()Â Â Â Â  count=2 enabled=1
>> Â Â Â Â  lazy_mmu_mode_disable()Â Â Â  -> arch_flush()Â Â Â Â  count=1 enabled=1
>> lazy_mmu_mode_disable()Â Â Â Â Â Â Â  -> arch_leave()Â Â Â Â  count=0 enabled=0
>>
>> Note: in_lazy_mmu_mode() is added to <linux/sched.h> to allow arch
>> headers included by <linux/pgtable.h> to use it.
>>
>> Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
>> ---
>> Alexander Gordeev suggested that a future optimisation may need
>> lazy_mmu_mode_{pause,resume}() to call distinct arch callbacks [1]. For
>> now arch_{leave,enter}() are called directly, but introducing new arch
>> callbacks should be straightforward.
>>
>> [1]
>> https://lore.kernel.org/all/5a0818bb-75d4-47df-925c-0102f7d598f4-agordeev@linux.ibm.com/
>> ---
>
> [...]
>
>> Â  +struct lazy_mmu_state {
>> +Â Â Â  u8 count;
>
> I would have called this "enabled_count" or "nesting_level".

Might as well be explicit and say nesting_level, yes :)

>
>> +Â Â Â  bool enabled;
>
> "enabled" is a bit confusing when we have lazy_mmu_mode_enable().

Agreed, hadn't realised that.

> I'd have called this "active".

Sounds good, that also matches batch->active on powerpc/sparc.

>
>> +};
>> +
>> Â  #endif /* _LINUX_MM_TYPES_TASK_H */
>> diff --git a/include/linux/pgtable.h b/include/linux/pgtable.h
>> index 194b2c3e7576..269225a733de 100644
>> --- a/include/linux/pgtable.h
>> +++ b/include/linux/pgtable.h
>> @@ -228,28 +228,89 @@ static inline int pmd_dirty(pmd_t pmd)
>> Â Â  * of the lazy mode. So the implementation must assume preemption
>> may be enabled
>> Â Â  * and cpu migration is possible; it must take steps to be robust
>> against this.
>> Â Â  * (In practice, for user PTE updates, the appropriate page table
>> lock(s) are
>> - * held, but for kernel PTE updates, no lock is held). Nesting is
>> not permitted
>> - * and the mode cannot be used in interrupt context.
>> + * held, but for kernel PTE updates, no lock is held). The mode
>> cannot be used
>> + * in interrupt context.
>> + *
>> + * The lazy MMU mode is enabled for a given block of code using:
>> + *
>> + *Â Â  lazy_mmu_mode_enable();
>> + *Â Â  <code>
>> + *Â Â  lazy_mmu_mode_disable();
>> + *
>> + * Nesting is permitted: <code> may itself use an enable()/disable()
>> pair.
>> + * A nested call to enable() has no functional effect; however
>> disable() causes
>> + * any batched architectural state to be flushed regardless of
>> nesting. After a
>> + * call to disable(), the caller can therefore rely on all previous
>> page table
>> + * modifications to have taken effect, but the lazy MMU mode may
>> still be
>> + * enabled.
>> + *
>> + * In certain cases, it may be desirable to temporarily pause the
>> lazy MMU mode.
>> + * This can be done using:
>> + *
>> + *Â Â  lazy_mmu_mode_pause();
>> + *Â Â  <code>
>> + *Â Â  lazy_mmu_mode_resume();
>> + *
>> + * This sequence must only be used if the lazy MMU mode is already
>> enabled.
>> + * pause() ensures that the mode is exited regardless of the nesting
>> level;
>> + * resume() re-enters the mode at the same nesting level. <code>
>> must not modify
>> + * the lazy MMU state (i.e. it must not call any of the lazy_mmu_mode_*
>> + * helpers).
>> + *
>> + * in_lazy_mmu_mode() can be used to check whether the lazy MMU mode is
>> + * currently enabled.
>> Â Â  */
>> Â  #ifdef CONFIG_ARCH_LAZY_MMU
>> Â  static inline void lazy_mmu_mode_enable(void)
>> Â  {
>> -Â Â Â  arch_enter_lazy_mmu_mode();
>> +Â Â Â  struct lazy_mmu_state *state = &current->lazy_mmu_state;
>> +
>> +Â Â Â  VM_BUG_ON(state->count == U8_MAX);
>
> No VM_BUG_ON() please.

I did wonder if this would be acceptable!

What should we do in case of underflow/overflow then? Saturate or just
let it wrap around? If an overflow occurs we're probably in some
infinite recursion and we'll crash anyway, but an underflow is likely
due to a double disable() and saturating would probably allow to recover.

>
>> +Â Â Â  /* enable() must not be called while paused */
>> +Â Â Â  VM_WARN_ON(state->count > 0 && !state->enabled);
>> +
>> +Â Â Â  if (state->count == 0) {
>> +Â Â Â Â Â Â Â  arch_enter_lazy_mmu_mode();
>> +Â Â Â Â Â Â Â  state->enabled = true;
>> +Â Â Â  }
>> +Â Â Â  ++state->count;
>
> Can do
>
> if (state->count++ == 0) {

My idea here was to have exactly the reverse order between enable() and
disable(), so that arch_enter() is called before lazy_mmu_state is
updated, and arch_leave() afterwards. arch_* probably shouldn't rely on
this (or care), but I liked the symmetry.

>
>> Â  }
>> Â  Â  static inline void lazy_mmu_mode_disable(void)
>> Â  {
>> -Â Â Â  arch_leave_lazy_mmu_mode();
>> +Â Â Â  struct lazy_mmu_state *state = &current->lazy_mmu_state;
>> +
>> +Â Â Â  VM_BUG_ON(state->count == 0);
>
> Dito.
>
>> +Â Â Â  VM_WARN_ON(!state->enabled);
>> +
>> +Â Â Â  --state->count;
>> +Â Â Â  if (state->count == 0) {
>
> Can do
>
> if (--state->count == 0) {
>
>> +Â Â Â Â Â Â Â  state->enabled = false;
>> +Â Â Â Â Â Â Â  arch_leave_lazy_mmu_mode();
>> +Â Â Â  } else {
>> +Â Â Â Â Â Â Â  /* Exiting a nested section */
>> +Â Â Â Â Â Â Â  arch_flush_lazy_mmu_mode();
>> +Â Â Â  }
>> Â  }
>> Â  Â  static inline void lazy_mmu_mode_pause(void)
>> Â  {
>> +Â Â Â  struct lazy_mmu_state *state = &current->lazy_mmu_state;
>> +
>> +Â Â Â  VM_WARN_ON(state->count == 0 || !state->enabled);
>> +
>> +Â Â Â  state->enabled = false;
>> Â Â Â Â Â  arch_leave_lazy_mmu_mode();
>> Â  }
>> Â  Â  static inline void lazy_mmu_mode_resume(void)
>> Â  {
>> +Â Â Â  struct lazy_mmu_state *state = &current->lazy_mmu_state;
>> +
>> +Â Â Â  VM_WARN_ON(state->count == 0 || state->enabled);
>> +
>> Â Â Â Â Â  arch_enter_lazy_mmu_mode();
>> +Â Â Â  state->enabled = true;
>> Â  }
>> Â  #else
>> Â  static inline void lazy_mmu_mode_enable(void) {}
>> diff --git a/include/linux/sched.h b/include/linux/sched.h
>> index cbb7340c5866..2862d8bf2160 100644
>> --- a/include/linux/sched.h
>> +++ b/include/linux/sched.h
>> @@ -1441,6 +1441,10 @@ struct task_struct {
>> Â  Â Â Â Â Â  struct page_fragÂ Â Â Â Â Â Â  task_frag;
>> Â  +#ifdef CONFIG_ARCH_LAZY_MMU
>> +Â Â Â  struct lazy_mmu_stateÂ Â Â Â Â Â Â  lazy_mmu_state;
>> +#endif
>> +
>> Â  #ifdef CONFIG_TASK_DELAY_ACCT
>> Â Â Â Â Â  struct task_delay_infoÂ Â Â Â Â Â Â  *delays;
>> Â  #endif
>> @@ -1724,6 +1728,18 @@ static inline char task_state_to_char(struct
>> task_struct *tsk)
>> Â Â Â Â Â  return task_index_to_char(task_state_index(tsk));
>> Â  }
>> Â  +#ifdef CONFIG_ARCH_LAZY_MMU
>> +static inline bool in_lazy_mmu_mode(void)
>
> So these functions will reveal the actual arch state, not whether
> _enabled() was called.
>
> As I can see in later patches, in interrupt context they are also
> return "not in lazy mmu mode".Â 

Yes - the idea is that a task is in lazy MMU mode if it enabled it and
is in process context. The mode is never enabled in interrupt context.
This has always been the intention, but it wasn't formalised until patch
12 (except on arm64).

- Kevin


From xen-devel-bounces@lists.xenproject.org Fri Oct 24 12:26:13 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Oct 2025 12:26:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1150213.1481424 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCGru-0001oC-Rk; Fri, 24 Oct 2025 12:26:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1150213.1481424; Fri, 24 Oct 2025 12:26:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCGru-0001mt-Nw; Fri, 24 Oct 2025 12:26:06 +0000
Received: by outflank-mailman (input) for mailman id 1150213;
 Fri, 24 Oct 2025 12:26:05 +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
 <SRS0=XD6X=5B=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1vCGj8-0006dK-Fb
 for xen-devel@lists.xenproject.org; Fri, 24 Oct 2025 12:17:02 +0000
Received: from DM5PR21CU001.outbound.protection.outlook.com
 (mail-centralusazlp170110009.outbound.protection.outlook.com
 [2a01:111:f403:c111::9])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 57eaf281-b0d3-11f0-9d16-b5c5bf9af7f9;
 Fri, 24 Oct 2025 14:17:02 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by CH7PR03MB7785.namprd03.prod.outlook.com (2603:10b6:610:24f::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.13; Fri, 24 Oct
 2025 12:16:58 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9253.011; Fri, 24 Oct 2025
 12:16:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 57eaf281-b0d3-11f0-9d16-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=t5pXUGM7ygsJmPBh4l8lTE1ojOoBdYwII9szOOmHnL23Ya0u4k0o7xGF43IQiqsFl6MXTV6OlY51NafnZr7EJUyF3inguFIDFaUJrLG1R4Fmqz7+T4YQVA4Pmr39+Bs4xFCTydWSPTTjRnStM5T1rNNQDzeQX3kNU8MHnt89GFHGQ4fzwlpWmi5GBmOcXtHOUDDL018e1DZMZKUsY+JuOfw7AxgfZUT7RvrJIgmYG7Nq5I2HyxjFkvHE58mVyo8lQHs9W35PuSp54/dtviJAyIC0Kwt3wmQkf8Kg5IvTKt+T3lwVMQms5UPAJ5U0kfIlOMMJrrbXZUEqh2H4VWu6mA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UOPvwqV9dU3hISjRzvK9ZM+p+yeS0VFusSe3+GvKsYo=;
 b=GUI3c4odnBt9sdl6JRnMoH65AGP9Ik8hcV9qD17VpmPXjG5ihIVSbQSMXU6+ot71eosivakh2U1m2K5gU1aZJze5oGiiyp4E55UQgUCHJf1I0HFlCZrymAlNNrcw8i+3C482XVhhekk87kus6q8Z8012en/tVbRzp1sG0wIGNn7RAG+Gk03UOpSHsCWLOXJjtudXT7UKpC17Plo4DLqOxcwJyt5lE7vxFHMTLcKqK6vb9/X6zOXYGj2vQJCNghWbKntuDy8IbE5FLmXyhBS5hOZdeiXCKtU+kJ4IesYnNKvId6qDzNILXEY15CSzZvurUzoEyusW9Ycx2trUQm3pkw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UOPvwqV9dU3hISjRzvK9ZM+p+yeS0VFusSe3+GvKsYo=;
 b=SW+rBgskBsgORsk1pJpDgFJzpNACpPjAx77oQ/Aqt65vDc4koG/Z8JvBHcEToNiqGaWsINUcmOgQlG4+e/yOzusGxxZD48wU1LcucA5IUYOQFh5g8jkvIQxtTungmywRXEocdATD1pqmEHTOzCNpQrU+s8J/CR4cpdyy3gfogVY=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Fri, 24 Oct 2025 14:16:53 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH v3 for-4.21 1/9] x86/HPET: deal with unused channels
Message-ID: <aPtuNclNlRd7mx2E@Mac.lan>
References: <6a8a912c-7276-42bd-af2b-b94fc6ce4291@suse.com>
 <86001bc5-de05-4a5b-9683-54d09c5fa8a8@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <86001bc5-de05-4a5b-9683-54d09c5fa8a8@suse.com>
X-ClientProxiedBy: MA3P292CA0009.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:2c::10) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|CH7PR03MB7785:EE_
X-MS-Office365-Filtering-Correlation-Id: a0957b53-f190-4728-a548-08de12f739b3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?K1FmV05wcFRnRWZVY05JNld6Y3dpemxGblgxR0szMjBSa3ZhSE5VWDZDbEtT?=
 =?utf-8?B?dldubmFqTytZT0ZCMng4Z0Zjd1pxK2VBNFpPTEVtOTVKQTNybVZJVDdvRmFj?=
 =?utf-8?B?azdrZzVCL0VxSFBTL0dWSmdWS0JiaHVWSGN4cUZ1TUpzVEVDYUp2OWpJeFJJ?=
 =?utf-8?B?RVR1b01IOCsza3NZQ002QmgwRHBUWENkUURuM2lFQnNOdUFxM3NaMDJHNjJa?=
 =?utf-8?B?ZzdFL0tIcXEyNWY4ME5mcm9NVzZQRGtmWGpVQWNvV1ltTUlVbDh4VEwyTTJ4?=
 =?utf-8?B?bG9JQVE1MGN1eWQzNDAwNGIwSUEzYnhjMEhqTHFoR01IbHAxS3NjUmh1NzV2?=
 =?utf-8?B?ZGMvcW56aEVWNHdxVFZYcTM5L1dGakdzeUhuZDRLZmc0anhpa1E0SnppZ2Nj?=
 =?utf-8?B?Z1ZDYlRQa1VzYlplSWRZbG8ya1Q0UGkvYmRacS9yNWx3ZWhWbFZKcmpkUFdx?=
 =?utf-8?B?Qis5VlIxYVltcURPZTV5UzNMMzFvQlBvQ21KVFI5cVpsQmlJT3FGQ0ZaMDE0?=
 =?utf-8?B?d1JuZGx2dVBJWHhhL1NBcmkzVW5aZWhzZEN0NUZBa1RuMmlQdjB2SXdxbzFQ?=
 =?utf-8?B?cGw4eXI3RG1CSGpCdU43ZjZYTTRMMUIxd0JRdTZTdmJkd3BEbWkza2NqRUI1?=
 =?utf-8?B?d0h4a1FlaStXQW40Y0o2ZTJhWkl6N0V1cGZUZmNCWDZXMllUNmZIZVVCVzQw?=
 =?utf-8?B?RmlPLzRUK0xXS09Ua1NFS2JnZHNTeGlIaVVMeHBwRDVTZkxwcHphRVVDQUJq?=
 =?utf-8?B?M1BnNllEeGNSSTZmL1dKMG53MU52WVVNNHMxbFNob3ArN2Q2NmJCL3FFNlpW?=
 =?utf-8?B?MGt1U0ZaaFc1UWRMeWpGNEZROERTQWZzR0JFN2hKU2d1WkRoTXVCUFVEakdl?=
 =?utf-8?B?YmFvQ2RxVlZwa0RHUnBNb1RNZVJPWmozcVd3TENvSElQSU94R1BZc3BVOW0v?=
 =?utf-8?B?VWxlZGhBNERrZ1NIQUJiMnEvVGNLL2JYZzU5MTlyQWhWNS9xRWkrZUNqd3Mz?=
 =?utf-8?B?L3FGR25GK1lyZXVMeDcrS3hBWG9aUld6Tm9TWlFVMTc1aUwzc1FmakkyNkM1?=
 =?utf-8?B?cFpUeHBSTFNUb2tDQ3k5Rzd4WGd2WFZDcVpwc1RjNnU5WUg3Y3JvQWErWEZ4?=
 =?utf-8?B?TWI0WTJMcWhzQzVlMDg2YVhWaVZXbktzbGYwTWJqQURxSVVycGN5U3lGQkly?=
 =?utf-8?B?enAxT0V1N3VFQnFjTlhWb3FienpHQXBYdFBvS1UwVnJMTTRHSSswMm9remRW?=
 =?utf-8?B?cktkdmF5L0dyVWFzOTJWenU5cGRNN2FHUGJoT3JUR3lTSDVYMzVraDM4OUEz?=
 =?utf-8?B?dVlrdEhiQkZnZUhhS2QwTGVWenR0WU40M09UQitPL2lNNzBqMk0rZmpNdldu?=
 =?utf-8?B?L1B4K1VZSTl4MnpZV3RFWk1sRWxEOTNIejlmTGxiMnFTNmFnTmtNdTNNOUp1?=
 =?utf-8?B?NjY1RkFQWW5WRTVoNkxHZUJJOXl3WkQxTEpWaXI1T0F6eGw4R0w2eHkwU3M2?=
 =?utf-8?B?N0IzOWcxanlBM0pxYndUSlk0VWpzazdmbTJVVTFJOVNTajFGNXZRWm1EaGor?=
 =?utf-8?B?dGFOUDdad1FjSjlUaDg3dGcwNDVRSjMxc1hDV2Q4eTRQcVdvbU0vdDZZbjBq?=
 =?utf-8?B?ODQraExSR0JUdzlGUkY4QXNDQ2craUNvcTl6c1ZnN3ZYNjdkakJnQ3Z4ZCtZ?=
 =?utf-8?B?NEthRnZubVBNU0VlQ2VaTWlSQUlJL3NHZ1FvaDlsSUJQZGRyMnpmT0NDOEQr?=
 =?utf-8?B?OEc5aUpKNWFzWmEwTURSR3kzQ3JoOVo4M25rek1nNzNQay94cFFKaXc2U05N?=
 =?utf-8?B?My9lTytDOWRJa1VRWGprd0cvUWlMMGhwSHoxQVhtbE5yMW8zcS9iQ2JLcGVv?=
 =?utf-8?B?SC9MdmxXdGxTVVhzRXVBSW5QK1hveW1MdWJ6ZEkvQnFsK2NDNkhhUjJtNXJG?=
 =?utf-8?Q?0kcldxcqopCCFb4mGZIIojllgpojKVNp?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QWxVMjlKNm9IeXM2YVpIV1VoZVB2Z3VlSlRSbm4xZmZ6VFl5S1cxZkJDL25B?=
 =?utf-8?B?N3ZCS2NobERtbnpEMGVEWmhyRlJNSllHTW5jUzlHR0gvRVl4SVJBMjZTY29z?=
 =?utf-8?B?NkhFejlCR2NYanFXWG1kbkVsN3V1eCt0cVlKVGFrWjJ6WmlNbWY4WmlzZDRh?=
 =?utf-8?B?ZWNZcU9aUUQ5VFVFamt0YWJPcDlCWWxBNk8rSU5tWjVVdHdLL3EzTXJ0UkZ2?=
 =?utf-8?B?eFJIc2txelJ0Yis4Qk5aNnZWZEJ0TUY4RWVpOEFmM1hsNFZYdysyQlVaRkpx?=
 =?utf-8?B?aVJxQi9tckZreHZUZmJSUHNyaWFwN0dsOGpOTkc0U0xkdTROSUNBSi9kU3p5?=
 =?utf-8?B?WnhuZHBoZHlhejdXYi9sTzd2OG13ZEdvcDlHSGVqYWFhRm1BN0VwcUlNcjh4?=
 =?utf-8?B?eTdNREJMdHdwSWRDM3lQQjFNTVg3b012RXI4RlZQenRyenhyK2Evb0ozT0Rk?=
 =?utf-8?B?UXRCMThQNVgya0RvLzdkaXdaM1BZYUpZWUNvdVhyZU1zbzYwN3dRMkZRczFW?=
 =?utf-8?B?ak5Ma0VodW1QcTJPRU9aRHZ2ZTYwUVJEcTZGMUsxK1JtWnpCUGNnS2RmS09k?=
 =?utf-8?B?aVVKUU9QYTBKTHN5cldFZWp0UkhIZ2RPVW5aMUpWZldETFVGY05CTnRLMlls?=
 =?utf-8?B?TGxNUFAvTnlNd2dac3FENnJYYnZudHNKZ1BVWUdFV01JUnBlQVYyY3Y0OEVw?=
 =?utf-8?B?cjF5MHhxZDdySUh0ZHZzNS9ITWp5MEpWZmtybGNOZUhGR3VIeHJnV29mL2JX?=
 =?utf-8?B?R1dFVlJ6RCt6angyNHIrMllxZ216N1lpZnJNZGJqdXJtQ1pnN0p4U1N6N3BF?=
 =?utf-8?B?Y3dXR0syNVZuYkN1R3pvZVRoZ0JTeG5nRDZmdFNWYk11MlZSclZodXkxOGJL?=
 =?utf-8?B?Vlh1OTNvTXQ4RkRjQVRvS3dmZjI1WEhZc2MrOTQvam1KYWhxK25nNVFET2dr?=
 =?utf-8?B?VHh6L0pTakNIcGZzMldWZlNLOTExUDVWQUJTamRxUWhqYlFkWVp3N29sWUV5?=
 =?utf-8?B?dml2YjNXeldGZmI3bWpRazN5UEFXaHBaY0w1K0lRbFBvUVkzUkxzdTY5bWVW?=
 =?utf-8?B?cFlqUGE1eENrNzBpalFBQWM3YWszdEJWTHEvL3BNS09FYnliZDZML1BtcFVZ?=
 =?utf-8?B?aldkbFQ4WEsrSWRRSGcxVXQ1K1hSNVp4MDZ3QlUwd3IwZlI3bElIYW5rOXl6?=
 =?utf-8?B?WGRYUGc3SkNodW9XbzdaaVhDQjJ1cWh5Q3VYTWxBWEFWNER0bS9ucWdXU2Mx?=
 =?utf-8?B?R2pPb3lIQ0xPUzdUSXc1MjdQQTdzNWYwVzRJelAvQVNtQUVSS0M0YisyclJv?=
 =?utf-8?B?TTdodWczaSsyUXp3WkxlY09saGR1OCswZXRDV2dTb2s1aWRSRzJvK3pDVm83?=
 =?utf-8?B?TkJYOFlhZGprUTdKMTUrRmpNYmVuQWJaUFl3aWdMczA2RG45QjVNWlIyQTM1?=
 =?utf-8?B?RDdBd2dFRGNzUkZkVlA4REo2UDhyaFlsVnAwTTlRVjdGbnpMUTJlNE9aQnBM?=
 =?utf-8?B?czE5czRlei9jaXQ2S1J4RjlnRU0wNTF2a25JMEZqZjMrajVFc2d1WWs0Z3VU?=
 =?utf-8?B?NkNKcGxEc1RaYXEzd2x1a0lBT1RScy93TVNNQlBLdkQvUzM1RnBDS2dmWUtm?=
 =?utf-8?B?WHlIYUJzR1dlYXNhcUpJQWxFc2h2NnBMakZFWG56Zzdmb2I0YWlVYWIwT3dV?=
 =?utf-8?B?ZjI2SytNYmJ5amQzcEVUWXAxZHlzK3RxSklYa2dIRWFpSFpibjN0TU4xaUFk?=
 =?utf-8?B?dFpUS3JYcFIyTHBmUDVNRWxEOUN3VmcrUmtQUHdSOGp5UWdZeTlXR25rTDFL?=
 =?utf-8?B?M0ZzTTArQ2tycVFrbENZZWNyUHorRDZ6TVJ4clRHSWM4U0MxVXVRekN4STMy?=
 =?utf-8?B?WUtmS3AwT3hRVXlhWTRnZEhaWXB0b2pubkwyd1MvNHdta2c0SXFiWjB0RkFS?=
 =?utf-8?B?U2xxMXdyU1YzMGhZa0ZSZjd5em1ldENyWHRBVGZzcHRPYkhMTjNRV3A0cTA4?=
 =?utf-8?B?NTc4VU04alMxK2JFU3drN2twaUxBaEJHNkF2N1RseG43UUdoa3kvUUtWcnMz?=
 =?utf-8?B?SEJaVDhvN1lrb3dFVFdtTzhCZWRoUHhIZGtnL1l5QnBQU1pVY0pKUVZtZEtU?=
 =?utf-8?Q?EJdMiBP4lf2afFOe3ySA4kC62?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a0957b53-f190-4728-a548-08de12f739b3
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Oct 2025 12:16:57.9897
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: d7t67dKD5K5ozmRYsL0uE5LSHnYhQLeOJIiGPykkJkM5QVNl1DYz1mEnrDRjkhJaAOpiZXx8j2ADk7Y1UX6D/Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH7PR03MB7785

On Thu, Oct 23, 2025 at 05:49:57PM +0200, Jan Beulich wrote:
> Keeping channels enabled when they're unused is only causing problems:
> Extra interrupts harm performance, and extra nested interrupts could even
> have caused worse problems. However, on all Intel hardware I looked at
> closely, a 0->1 transition of the enable bit causes an immediate IRQ.
> Hence disabling channels isn't a good idea there. Set a "long" timeout
> instead.
> 
> Along with that also "clear" the channel's "next event", for it to be
> properly written by whatever the next user is going to want (possibly
> avoiding too early an IRQ).
> 
> Further, along the same lines, don't enable channels early when starting
> up an IRQ. This doesn't need to happen earlier than from
> set_channel_irq_affinity() (once a channel goes into use the very first
> time). This eliminates a single instance of
> 
> (XEN) [VT-D]INTR-REMAP: Request device [0000:00:1f.0] fault index 0
> (XEN) [VT-D]INTR-REMAP: reason 25 - Blocked a compatibility format interrupt request
> 
> during boot. (Why exactly there's only one instance, when we use multiple
> counters and hence multiple IRQs, I can't tell. My understanding would be
> that this was due to __hpet_setup_msi_irq() being called only after
> request_irq() [and hence the .startup handler], yet that should have
> affected all channels.)
> 
> Fixes: 3ba523ff957c ("CPUIDLE: enable MSI capable HPET for timer broadcast")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> Release-Acked-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>

Reviewed-by: Roger Pau MonnÃ© <roger.pau@citrix.com>

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Oct 24 12:26:13 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Oct 2025 12:26:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1150215.1481441 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCGs1-0002GR-8w; Fri, 24 Oct 2025 12:26:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1150215.1481441; Fri, 24 Oct 2025 12:26:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCGs1-0002GK-3t; Fri, 24 Oct 2025 12:26:13 +0000
Received: by outflank-mailman (input) for mailman id 1150215;
 Fri, 24 Oct 2025 12:26:12 +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
 <SRS0=rNzd=5B=arm.com=kevin.brodsky@srs-se1.protection.inumbo.net>)
 id 1vCGjB-0006Wk-5N
 for xen-devel@lists.xenproject.org; Fri, 24 Oct 2025 12:17:05 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 5960a1c8-b0d3-11f0-980a-7dc792cee155;
 Fri, 24 Oct 2025 14:17:03 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 03DAB1D34;
 Fri, 24 Oct 2025 05:16:55 -0700 (PDT)
Received: from [10.44.160.74] (e126510-lin.lund.arm.com [10.44.160.74])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 44C443F66E;
 Fri, 24 Oct 2025 05:16:55 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5960a1c8-b0d3-11f0-980a-7dc792cee155
Message-ID: <451403ce-f250-44ac-8e2f-b7b27ee9f588@arm.com>
Date: Fri, 24 Oct 2025 14:16:52 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 09/13] powerpc/mm: replace batch->active with
 in_lazy_mmu_mode()
To: David Hildenbrand <david@redhat.com>, linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org, Alexander Gordeev <agordeev@linux.ibm.com>,
 Andreas Larsson <andreas@gaisler.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, Borislav Petkov
 <bp@alien8.de>, Catalin Marinas <catalin.marinas@arm.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 Dave Hansen <dave.hansen@linux.intel.com>,
 "David S. Miller" <davem@davemloft.net>, "H. Peter Anvin" <hpa@zytor.com>,
 Ingo Molnar <mingo@redhat.com>, Jann Horn <jannh@google.com>,
 Juergen Gross <jgross@suse.com>, "Liam R. Howlett"
 <Liam.Howlett@oracle.com>, Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>, Michal Hocko <mhocko@suse.com>,
 Mike Rapoport <rppt@kernel.org>, Nicholas Piggin <npiggin@gmail.com>,
 Peter Zijlstra <peterz@infradead.org>, Ryan Roberts <ryan.roberts@arm.com>,
 Suren Baghdasaryan <surenb@google.com>, Thomas Gleixner
 <tglx@linutronix.de>, Vlastimil Babka <vbabka@suse.cz>,
 Will Deacon <will@kernel.org>, Yeoreum Yun <yeoreum.yun@arm.com>,
 linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org,
 sparclinux@vger.kernel.org, xen-devel@lists.xenproject.org, x86@kernel.org
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
 <20251015082727.2395128-10-kevin.brodsky@arm.com>
 <8d5243ec-3edd-49a6-ab51-16643a709d84@redhat.com>
Content-Language: en-GB
From: Kevin Brodsky <kevin.brodsky@arm.com>
In-Reply-To: <8d5243ec-3edd-49a6-ab51-16643a709d84@redhat.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 23/10/2025 22:02, David Hildenbrand wrote:
> On 15.10.25 10:27, Kevin Brodsky wrote:
>> The generic lazy_mmu layer now tracks whether a task is in lazy MMU
>> mode. As a result we no longer need to track whether the per-CPU TLB
>> batch struct is active - we know it is if in_lazy_mmu_mode() returns
>> true.
>
> It's worth adding that disabling preemption while enabled makes sure
> that we cannot reschedule while in lazy MMU mode, so when the per-CPU
> TLB batch structure is active.

Yes good point, otherwise this change doesn't make sense. I'll add that.

- Kevin


From xen-devel-bounces@lists.xenproject.org Fri Oct 24 12:26:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Oct 2025 12:26:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1150217.1481449 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCGs3-0002YH-E6; Fri, 24 Oct 2025 12:26:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1150217.1481449; Fri, 24 Oct 2025 12:26:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCGs3-0002Y6-BF; Fri, 24 Oct 2025 12:26:15 +0000
Received: by outflank-mailman (input) for mailman id 1150217;
 Fri, 24 Oct 2025 12:26: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
 <SRS0=rNzd=5B=arm.com=kevin.brodsky@srs-se1.protection.inumbo.net>)
 id 1vCGjc-0006Wk-Us
 for xen-devel@lists.xenproject.org; Fri, 24 Oct 2025 12:17:32 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 69f51a0c-b0d3-11f0-980a-7dc792cee155;
 Fri, 24 Oct 2025 14:17:31 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id BA3FF1515;
 Fri, 24 Oct 2025 05:17:22 -0700 (PDT)
Received: from [10.44.160.74] (e126510-lin.lund.arm.com [10.44.160.74])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 38C343F66E;
 Fri, 24 Oct 2025 05:17:23 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 69f51a0c-b0d3-11f0-980a-7dc792cee155
Message-ID: <35df96ba-a004-4eb4-8d26-5935892a852c@arm.com>
Date: Fri, 24 Oct 2025 14:17:20 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 13/13] mm: introduce arch_wants_lazy_mmu_mode()
To: David Hildenbrand <david@redhat.com>, linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org, Alexander Gordeev <agordeev@linux.ibm.com>,
 Andreas Larsson <andreas@gaisler.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, Borislav Petkov
 <bp@alien8.de>, Catalin Marinas <catalin.marinas@arm.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 Dave Hansen <dave.hansen@linux.intel.com>,
 "David S. Miller" <davem@davemloft.net>, "H. Peter Anvin" <hpa@zytor.com>,
 Ingo Molnar <mingo@redhat.com>, Jann Horn <jannh@google.com>,
 Juergen Gross <jgross@suse.com>, "Liam R. Howlett"
 <Liam.Howlett@oracle.com>, Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>, Michal Hocko <mhocko@suse.com>,
 Mike Rapoport <rppt@kernel.org>, Nicholas Piggin <npiggin@gmail.com>,
 Peter Zijlstra <peterz@infradead.org>, Ryan Roberts <ryan.roberts@arm.com>,
 Suren Baghdasaryan <surenb@google.com>, Thomas Gleixner
 <tglx@linutronix.de>, Vlastimil Babka <vbabka@suse.cz>,
 Will Deacon <will@kernel.org>, Yeoreum Yun <yeoreum.yun@arm.com>,
 linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org,
 sparclinux@vger.kernel.org, xen-devel@lists.xenproject.org, x86@kernel.org
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
 <20251015082727.2395128-14-kevin.brodsky@arm.com>
 <3d6bba2d-9739-41d0-8f3a-f8b11620c33f@redhat.com>
Content-Language: en-GB
From: Kevin Brodsky <kevin.brodsky@arm.com>
In-Reply-To: <3d6bba2d-9739-41d0-8f3a-f8b11620c33f@redhat.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 23/10/2025 22:10, David Hildenbrand wrote:
> On 15.10.25 10:27, Kevin Brodsky wrote:
>> powerpc decides at runtime whether the lazy MMU mode should be used.
>>
>> To avoid the overhead associated with managing
>> task_struct::lazy_mmu_state if the mode isn't used, introduce
>> arch_wants_lazy_mmu_mode() and bail out of lazy_mmu_mode_* if it
>> returns false. Add a default definition returning true, and an
>> appropriate implementation for powerpc.
>>
>> Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
>> ---
>> This patch seemed like a good idea to start with, but now I'm not so
>> sure that the churn added to the generic layer is worth it.
>
> Exactly my thoughts :)
>
> I think we need evidence that this is really worth it for optimizing
> out basically a counter update on powerpc.

Ack, I'll drop that patch in v4 unless someone sees a better
justification for it.

- Kevin


From xen-devel-bounces@lists.xenproject.org Fri Oct 24 12:26:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Oct 2025 12:26:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1150220.1481461 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCGs4-0002o9-OS; Fri, 24 Oct 2025 12:26:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1150220.1481461; Fri, 24 Oct 2025 12:26:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCGs4-0002nt-IO; Fri, 24 Oct 2025 12:26:16 +0000
Received: by outflank-mailman (input) for mailman id 1150220;
 Fri, 24 Oct 2025 12:26: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
 <SRS0=rNzd=5B=arm.com=kevin.brodsky@srs-se1.protection.inumbo.net>)
 id 1vCGjM-0006Wk-8Y
 for xen-devel@lists.xenproject.org; Fri, 24 Oct 2025 12:17:16 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 5fbc36fc-b0d3-11f0-980a-7dc792cee155;
 Fri, 24 Oct 2025 14:17:14 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 9F3401E2F;
 Fri, 24 Oct 2025 05:17:05 -0700 (PDT)
Received: from [10.44.160.74] (e126510-lin.lund.arm.com [10.44.160.74])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 881823F66E;
 Fri, 24 Oct 2025 05:17:04 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5fbc36fc-b0d3-11f0-980a-7dc792cee155
Message-ID: <ed949468-5425-4f82-826b-249c43a0df05@arm.com>
Date: Fri, 24 Oct 2025 14:17:04 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 12/13] mm: bail out of lazy_mmu_mode_* in interrupt
 context
To: David Hildenbrand <david@redhat.com>, linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org, Alexander Gordeev <agordeev@linux.ibm.com>,
 Andreas Larsson <andreas@gaisler.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, Borislav Petkov
 <bp@alien8.de>, Catalin Marinas <catalin.marinas@arm.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 Dave Hansen <dave.hansen@linux.intel.com>,
 "David S. Miller" <davem@davemloft.net>, "H. Peter Anvin" <hpa@zytor.com>,
 Ingo Molnar <mingo@redhat.com>, Jann Horn <jannh@google.com>,
 Juergen Gross <jgross@suse.com>, "Liam R. Howlett"
 <Liam.Howlett@oracle.com>, Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>, Michal Hocko <mhocko@suse.com>,
 Mike Rapoport <rppt@kernel.org>, Nicholas Piggin <npiggin@gmail.com>,
 Peter Zijlstra <peterz@infradead.org>, Ryan Roberts <ryan.roberts@arm.com>,
 Suren Baghdasaryan <surenb@google.com>, Thomas Gleixner
 <tglx@linutronix.de>, Vlastimil Babka <vbabka@suse.cz>,
 Will Deacon <will@kernel.org>, Yeoreum Yun <yeoreum.yun@arm.com>,
 linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org,
 sparclinux@vger.kernel.org, xen-devel@lists.xenproject.org, x86@kernel.org
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
 <20251015082727.2395128-13-kevin.brodsky@arm.com>
 <28f2ebe9-cfed-41c3-803f-8756dca0e300@redhat.com>
Content-Language: en-GB
From: Kevin Brodsky <kevin.brodsky@arm.com>
In-Reply-To: <28f2ebe9-cfed-41c3-803f-8756dca0e300@redhat.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 23/10/2025 22:08, David Hildenbrand wrote:
> On 15.10.25 10:27, Kevin Brodsky wrote:
>> The lazy MMU mode cannot be used in interrupt context. This is
>> documented in <linux/pgtable.h>, but isn't consistently handled
>> across architectures.
>>
>> arm64 ensures that calls to lazy_mmu_mode_* have no effect in
>> interrupt context, because such calls do occur in certain
>> configurations - see commit b81c688426a9 ("arm64/mm: Disable barrier
>> batching in interrupt contexts"). Other architectures do not check
>> this situation, most likely because it hasn't occurred so far.
>>
>> Both arm64 and x86/Xen also ensure that any lazy MMU optimisation is
>> disabled while in interrupt mode (see queue_pte_barriers() and
>> xen_get_lazy_mode() respectively).
>>
>> Let's handle this in the new generic lazy_mmu layer, in the same
>> fashion as arm64: bail out of lazy_mmu_mode_* if in_interrupt(), and
>> have in_lazy_mmu_mode() return false to disable any optimisation.
>> Also remove the arm64 handling that is now redundant; x86/Xen has
>> its own internal tracking so it is left unchanged.
>>
>> Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
>> ---
>> Â  arch/arm64/include/asm/pgtable.h | 17 +----------------
>> Â  include/linux/pgtable.hÂ Â Â Â Â Â Â Â Â  | 16 ++++++++++++++--
>> Â  include/linux/sched.hÂ Â Â Â Â Â Â Â Â Â Â  |Â  3 +++
>> Â  3 files changed, 18 insertions(+), 18 deletions(-)
>>
>> diff --git a/arch/arm64/include/asm/pgtable.h
>> b/arch/arm64/include/asm/pgtable.h
>> index 944e512767db..a37f417c30be 100644
>> --- a/arch/arm64/include/asm/pgtable.h
>> +++ b/arch/arm64/include/asm/pgtable.h
>> @@ -62,37 +62,22 @@ static inline void emit_pte_barriers(void)
>> Â  Â  static inline void queue_pte_barriers(void)
>> Â  {
>> -Â Â Â  if (in_interrupt()) {
>> -Â Â Â Â Â Â Â  emit_pte_barriers();
>> -Â Â Â Â Â Â Â  return;
>> -Â Â Â  }
>> -
>
> That took me a while. I guess this works because in_lazy_mmu_mode() ==
> 0 in interrupt context, so we keep calling emit_pte_barriers?

Yes exactly.

- Kevin


From xen-devel-bounces@lists.xenproject.org Fri Oct 24 12:54:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Oct 2025 12:54:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1150293.1481490 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCHJ9-00086g-0c; Fri, 24 Oct 2025 12:54:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1150293.1481490; Fri, 24 Oct 2025 12:54:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCHJ8-00086Z-TG; Fri, 24 Oct 2025 12:54:14 +0000
Received: by outflank-mailman (input) for mailman id 1150293;
 Fri, 24 Oct 2025 12:54:12 +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
 <SRS0=JByM=5B=bounce.vates.tech=bounce-md_30504962.68fb76f1.v1-e0b9cda4ec3245deac49e5747e2b1fa7@srs-se1.protection.inumbo.net>)
 id 1vCHJ6-00086P-Pm
 for xen-devel@lists.xenproject.org; Fri, 24 Oct 2025 12:54:12 +0000
Received: from mail187-33.suw11.mandrillapp.com
 (mail187-33.suw11.mandrillapp.com [198.2.187.33])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 889947ae-b0d8-11f0-980a-7dc792cee155;
 Fri, 24 Oct 2025 14:54:10 +0200 (CEST)
Received: from pmta09.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail187-33.suw11.mandrillapp.com (Mailchimp) with ESMTP id
 4ctNBn3LP8zBsVdN8
 for <xen-devel@lists.xenproject.org>; Fri, 24 Oct 2025 12:54:09 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 e0b9cda4ec3245deac49e5747e2b1fa7; Fri, 24 Oct 2025 12:54:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 889947ae-b0d8-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1761310449; x=1761580449;
	bh=q2RFmwZnM4aWV0w3Iiv1+6cCmev1FJjAH10GRNtWo0k=;
	h=From:Subject:Message-Id:References:To:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=MSlay0iWTxYyMb4318x+sjuJlAN4NBJu16J0J54vPWyVj/tDrpFy3ymCjHU+oyQiB
	 Dc1rTpHDrm/jxWME4RiWlWUR2RbDKvsCsV0oZYlJ5k5pWcOQL5GMAQxix6ZDUixbar
	 fPsOUb6jOJyzc/2/YKUlzfkgQ44ODh3pgcwy012a9hET40/buribsbLRXGwRgArwHw
	 GO3vCkerRyv1GZuz+3+QEXpPnSF/etwb6M+4J15dfz+89knLgn19AD+J0Uwr1U15eX
	 238a6cXAqxUJER9duQ6PwM356kybLGOBKpS+DvuyAk/VGjI+3kMcL2tcfU35GKgKQM
	 wertyTRMd5I/A==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1761310449; x=1761570949; i=teddy.astie@vates.tech;
	bh=q2RFmwZnM4aWV0w3Iiv1+6cCmev1FJjAH10GRNtWo0k=;
	h=From:Subject:Message-Id:References:To:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=Uwz296j00pmu6rElR7wCys9DorzZ5W94JNhe9VeC1ZBnoH0t8DE42DU5LuOYRwA+A
	 +fpmZDH36tLv2XWqN6MC7w4ab7UlQwyMlgR7bqX9rUv6niGuQ0ggQE2Izjxrp3XN4c
	 sGFTZ9uNmHaZj0HMKGwrLiMFfk4d+SxTeqblDtqx/cy+7o6oJUkc1ySc8ZjePtZKhg
	 PEA2Ckx+i820o6GpN4+Z3K2IGYfgyc78scnLdRyVkrx+jk5xFvo5WvmR9FAVOzkJNl
	 vXd7Uxh8Ls3FvhhAQSmR0Vp4zqdIwxec9TQdOqq3Sdb6bXXgFYn9GAAHehT73dTwAV
	 2QqUeevakbclQ==
From: "Teddy Astie" <teddy.astie@vates.tech>
Subject: =?utf-8?Q?Re:=20Xen=20Security=20Advisory=20476=20v1=20(CVE-2025-58149)=20-=20Incorrect=20removal=20of=20permissions=20on=20PCI=20device=20unplug?=
X-Forwarded-Message-Id: <83f26924-64cf-4825-9a9c-8e212452ff47@vates.tech>
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1761310448800
Message-Id: <df6ca4cb-a764-48e6-b78f-3122ac587048@vates.tech>
References: <83f26924-64cf-4825-9a9c-8e212452ff47@vates.tech>
To: Xen-devel <xen-devel@lists.xenproject.org>
In-Reply-To: <83f26924-64cf-4825-9a9c-8e212452ff47@vates.tech>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.e0b9cda4ec3245deac49e5747e2b1fa7?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20251024:md
Date: Fri, 24 Oct 2025 12:54:09 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Le 24/10/2025 =C3=A0 14:14, Xen.org security team a =C3=A9crit :
>              Xen Security Advisory CVE-2025-58149 / XSA-476
> 
>           Incorrect removal of permissions on PCI device unplug
> 
> ISSUE DESCRIPTION
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> 
> When passing through PCI devices, the detach logic in libxl won't remove
> access permissions to any 64bit memory BARs the device might have.  As a
> result a domain can still have access any 64bit memory BAR when such
> device is no longer assigned to the domain.
> 

It it exclusive to devices where bar is above 32-bits (which requires 
things like Above 4G Decoding / Resizable BAR) or all devices are affected =
?

> For PV domains the permission leak allows the domain itself to map the me=
mory
> in the page-tables.  For HVM it would require a compromised device model =
or
> stubdomain to map the leaked memory into the HVM domain p2m.
> 

Do HVM guests actually needs the device model to perform this ?

> IMPACT
> =3D=3D=3D=3D=3D=3D
> 
> A buggy or malicious PV guest can access memory of PCI devices no longer
> assigned to it.
> 
> VULNERABLE SYSTEMS
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> 
> Xen versions 4.0 and newer are vulnerable.
> 
> Only PV guests with PCI passthrough devices can leverage the vulnerabilit=
y.
> 
> Only domains whose PCI devices are managed by the libxl library are affec=
ted.
> This includes the xl toolstack and xapi, which uses the xl toolstack when
> dealing with PCI devices.
> 

XAPI doesn't appears to have PCI hotplug facilities, so shouldn't be 
able to trigger this vulnerability. Unless I missed something.

> HVM guests are also affected, but accessing the leaked memory requires an
> additional compromised component on the system.
> 
> MITIGATION
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> 
> Not doing hot unplug of PCI devices will avoid the vulnerability.
> 
> Passing through PCI devices to HVM domains only will also limit the impac=
t, as
> an attacker would require another compromised component to exploit it.
> 
> CREDITS
> =3D=3D=3D=3D=3D=3D=3D
> 
> This issue was discovered by Jiqian Chen of AMD and diagnosed as a
> security issue by Roger Pau Monn=C3=A9 of XenServer.
> 
> RESOLUTION
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> 
> Applying the attached patch resolves this issue.
> 
> Note that patches for released versions are generally prepared to
> apply to the stable branches, and may not apply cleanly to the most
> recent release tarball.  Downstreams are encouraged to update to the
> tip of the stable branch before applying these patches.
> 
> xsa476.patch           xen-unstable
> xsa476-4.20.patch      Xen 4.20.x - Xen 4.18.x
> xsa476-4.17.patch      Xen 4.17.x
> 
> $ sha256sum xsa476*
> ee4c2fa73d38c5c699006b6317ba53f20343af0593ff9a8c38e7e59b69a0beca  xsa476.=
patch
> 3b921545f023dc7d9d943d0d661e677711458a917630de14f0871b03db0f2148  xsa476-=
4.17.patch
> 5babfaa3680de9950d3391a78e4956b5c18d54eaac9938c6cde2433a2ad3f27d  xsa476-=
4.20.patch
> $
> 
> NOTE REGARDING LACK OF EMBARGO
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D
> 
> This issue was discussed in public already.


--
Teddy Astie | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech




From xen-devel-bounces@lists.xenproject.org Fri Oct 24 13:21:28 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Oct 2025 13:21:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1150307.1481499 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCHjJ-0003tm-1Q; Fri, 24 Oct 2025 13:21:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1150307.1481499; Fri, 24 Oct 2025 13:21:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCHjI-0003tf-V4; Fri, 24 Oct 2025 13:21:16 +0000
Received: by outflank-mailman (input) for mailman id 1150307;
 Fri, 24 Oct 2025 13:21:16 +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
 <SRS0=0w6I=5B=citrix.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1vCHjI-0003tZ-Gp
 for xen-devel@lists.xenproject.org; Fri, 24 Oct 2025 13:21:16 +0000
Received: from SN4PR2101CU001.outbound.protection.outlook.com
 (mail-southcentralusazlp170120001.outbound.protection.outlook.com
 [2a01:111:f403:c10d::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 50a2cb43-b0dc-11f0-9d16-b5c5bf9af7f9;
 Fri, 24 Oct 2025 15:21:15 +0200 (CEST)
Received: from DM4PR03MB7015.namprd03.prod.outlook.com (2603:10b6:8:42::8) by
 MN2PR03MB5101.namprd03.prod.outlook.com (2603:10b6:208:1b0::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.13; Fri, 24 Oct
 2025 13:21:11 +0000
Received: from DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9]) by DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9%3]) with mapi id 15.20.9253.011; Fri, 24 Oct 2025
 13:21:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 50a2cb43-b0dc-11f0-9d16-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=DZ4glljMiy2Th2S4qMLtIA8IebrIJAB0VTa/FmD1Fqksz3x1PQwtKXfk3xU9OlOjDtup61Mbti97jmBWPneotg+2GhjVkOmoFmKLtWYWmNkaii1KvzuJJzc6mU9tbvDEweuPA3S9da0HKHW4DLC5H5kmeiF+GikVbea/1BSec0GyL4rLvJjPwyxuu6iQ4Z8/toy57ZR+xLXhrPXCd1ssaM5x9K9BaIK5bjw1j35i5Td24K/cRjzwQXzc3ME78ZlQYeFya4O4+zRKL0cEL2YFA8vvu22tdndOJut8LgXUrxzN3yc3gGy7Q5f0JNUFsOshoIc0IYDAmyL9F4VMtuBoGA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=p1aorMdbM+F3PNBCtD6E5pOm7asDqKWtNCcTpurGV7w=;
 b=Jklz9XQIEeaQLh+LnA2KMIyxPeVBrKbe8gT/ZOTBesZG0Z6T5GtCm6+Xnd0EopytCMFN8GVTQ1oZ0gXRxHv6AjBXn0RVBpLfOEToK97O87RgVE0wJ7QWSCD+OWY5XPIn7zZ08uhe0IjoEtFDg+501pvXn28NMG1Exm1LAhJUgvDBbm/IbhTgo95em7PYqTfxL/Drn9lJK10gB0LLjT12hUHJMuRnWS/mUk/mvnOpRLcnw9uqgNEpSMLq2Pisy6hgS1hls4Aw0zo9CVh3Q3jvEhp5kPuGG/85ToPE8TzD5roCLgrDhYg9e1ibUilfGc+UWdkZBt+iKwvSv+N3nJPCOA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=p1aorMdbM+F3PNBCtD6E5pOm7asDqKWtNCcTpurGV7w=;
 b=MV6ga0AtzmbV6pT0RfGL8qobSFthut41i5lP6sxxn72sz43othGeCLQ1U1OkAyX7Bk9ZBewbGXfljpoaDOzsJls6W6eUJ9rSzTeam2KqmI1H/HkvNd0Id4BOvmxbeVdvFd4wLrK+yXlQ5B91bQCSlfoDSKZTkKvO0Xoiafoa900=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <57175ca3-81fe-4a24-b354-83eed11b413b@citrix.com>
Date: Fri, 24 Oct 2025 14:21:08 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: Xen Security Advisory 476 v1 (CVE-2025-58149) - Incorrect removal
 of permissions on PCI device unplug
To: Teddy Astie <teddy.astie@vates.tech>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <83f26924-64cf-4825-9a9c-8e212452ff47@vates.tech>
 <df6ca4cb-a764-48e6-b78f-3122ac587048@vates.tech>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <df6ca4cb-a764-48e6-b78f-3122ac587048@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0673.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:351::8) To DM4PR03MB7015.namprd03.prod.outlook.com
 (2603:10b6:8:42::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM4PR03MB7015:EE_|MN2PR03MB5101:EE_
X-MS-Office365-Filtering-Correlation-Id: c5fb7de1-c93a-4847-64c7-08de13003306
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?dmNEZzlQUkRZdVpWMDZWdER6SDJ2TGZNM0d1cFlBaDJYTmJIenNEMStYUW1N?=
 =?utf-8?B?SHZBQ3cxWGZqY3V1TG5MbDUrVUJMbml3OFQ4OWMyNXhmeHhWMUIvVi9PcFdB?=
 =?utf-8?B?TDNzM2prNHl4aHUyd245UjlKakZReTQyUGJSVkJUZlhCQ1gzYzRhQlNxVlVK?=
 =?utf-8?B?WTBvaHYyMTVCR3R0ZXZNK2ZtVnYxVk5rdThTaklwV2xhc3VYQzNzeWxGQlRw?=
 =?utf-8?B?bE5ISnBiTTFJSk0wUTdMRmxhdThkc1YreDBzbXdVT3NSNGRCR1c5d3llUld0?=
 =?utf-8?B?Y2FaKzZINEZHNGJXYTBwd01UcVFDWHRBdmJOUHhXdU8zVXdVdnZTYVlsTTU0?=
 =?utf-8?B?UUlhWlY5UUNoVitDcjJ5SSsyVkV6Ris1UDc4ZGtsQktaY1krVWQwdGFDMUho?=
 =?utf-8?B?dHBvMnFmdDFTbzNTRnAyT1NZNWpOKzF2Mnp6VExlZ2wvNEdzZDJuWXhIenV1?=
 =?utf-8?B?QWo2Y3B4aFBpdXIxTzArQ2pIVkNSUkd3Z2FJODZFbG0wa25SRzFRZHZkMXhm?=
 =?utf-8?B?Y2E2UXZhYlMyeFB6c29OWG5McmNrZ0JlL2JpaktGNzF1emJMazhUTUY0VFE3?=
 =?utf-8?B?YzlwRDQ5eEc1QjdTTTcxQndtR1JUSEdQa2lBZHpBQUlLaUsyMVV1d01YRlpO?=
 =?utf-8?B?d2dxVHBIa0FrOVZBV3FmTUFmRWFmVDZjVFpwSGN5eURCYnNCSFJ0amFlWXRS?=
 =?utf-8?B?bGhzeTJXVi94STNlREZEZFBIeW9CbjdTU0laVUc2bHREQkZmenFobmF4azgz?=
 =?utf-8?B?bEZaVmVNRmpDY0hNWS9zUlRpRmFiZXIyWjh3d2ZPRHpHZlZaQUFHd3ZHSEp6?=
 =?utf-8?B?Z2VvblZjT0ZzVElxT29MbUhPNnVWSDdmZzArQ0Z0bEk5R0hLSWVOMzZBTkhS?=
 =?utf-8?B?MWd3TTBISlBTbWYzQ2hTSkJNcXRqNU1ZTFZDYzRXWWZWL2o5V29NREt5cnNN?=
 =?utf-8?B?UHkzVWQ2enFVWWZMZllEK1hLQVNyTlV1aktaY2ZZQVpheGwzQXd6Q3dyVzVX?=
 =?utf-8?B?NGJReVIySjNKSE1TakdFdUZMdk00V3ZIOStYckVMWE03eXIzUXBvOGpNbldl?=
 =?utf-8?B?WXYyb3REVUJEa1RZWmswdXVJWTE5MUNFOXRBQTB2Q01RTlZiVDdQdGdTUDZY?=
 =?utf-8?B?SFJYckdOYUd2ZWRkV09ic29vaDZrMTZ1UU9zSU94amNLTmRTOVVsbmM5aWpX?=
 =?utf-8?B?OFMwYWxGRFp5aDFEZUxWR25iNHJwUnVIdlVBWDNBL0pMTzhtSTU5cHJIL2tx?=
 =?utf-8?B?dXNFc05YTXRid1ZpZWlrS2pFMmo2aXpQcUo1enE1QzhHazdORTVndytOUFRR?=
 =?utf-8?B?Y0NOVnRmVGlTclFWbUFxcHc4ZGp0NFhpKzV4VHNTVUpENlUwcU40aFpqL0pH?=
 =?utf-8?B?SmVmZnRHUkNabEd6NGJBL0h1dTZoYlpidFRzZzFLWHhDNmlXV1BpdU8yNzJK?=
 =?utf-8?B?N3J1RWxUVzY1d09UU1lZYm5ZMGJnTmhzTzIzaDUvUHZRdFNMRnNQa3YxdXdT?=
 =?utf-8?B?WGZHMHVKU0hnUWFBMlh6VVU1dVBGdmdYcTZkL2orK20xaGhOSE9YTDFXYkJJ?=
 =?utf-8?B?S1QyWHBTYWVibjVVVmJTRDVucEJUbUVia0UzSzQrUnhrSnh4L0wyN1l3YVRB?=
 =?utf-8?B?Qy9oUFFhaGpoTWF5Ym5JNDJxTFY3Z3lHL1ZGb3Q4eHAxcFcxclRoajVjL3pJ?=
 =?utf-8?B?SGFBeDgxRXFMYjNjSFlFdHpabzAzWnBuSHB2V25NZ1BtRWpxLzMwVzZoRm55?=
 =?utf-8?B?QktkTGo3ZUc5VzNUTHluTTE1bWw4MEltMVgwdDBhdFJOYUtNOG5rRVhaQjhT?=
 =?utf-8?B?RFRuNjJtdHhZSUtKU3JnaElicFFjSHozWmgzQ0pPZ3pCdHBQcTJEUWhPemxo?=
 =?utf-8?B?anZwc2dvTk1kZURvNjQ5YUs4VllwQ0Z3VTNCb3BiQlhhNXlnT1F5V3JNSEVr?=
 =?utf-8?Q?tq2CNUoQy4GscEMde3jLjoF7BJNp20j1?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR03MB7015.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TTlQaTl4L29DczlOblhiMEJ0V1FVUkwrRjRsSGlFL2VVRmR6aXdua0xCTzAx?=
 =?utf-8?B?YVp1Q3ExQXJqdUxLZjRSTmRvQnhyR3hXOGU0TW0xUE5XWkVNNGtlNXE2MVBT?=
 =?utf-8?B?SnhkelJzamZ2N0pNUmlzZEs0cDZGK2RlemZrcWNJOFJpNGIrc3V1cFU5MDlB?=
 =?utf-8?B?YzVCMVlwaSsvUnVXRGRJT2xiRm1wWHhyTnV2dk5ZVVNwalBwTVdrbnh5S3Vu?=
 =?utf-8?B?empFOHFDQmdMaERFcmhyTmduS1NQYTB6dnNzS3BHZmN6MTY5S3dCdDhsOUJV?=
 =?utf-8?B?NWhJZHBmMkNiZGJOR1ZNWnVVMzZta3FoT0VacmxrMy9iM0FWTnpLM0trZUZU?=
 =?utf-8?B?ZmdxSTE4UEdjSXR0di9ZQUxXMGkwR2x3dEFud1kwemdyZ0JjcURiWS82YW1s?=
 =?utf-8?B?WU93d2lTMVVQdTU5UERMYTJHcTJKc2VjbEI0emJhcVR5dXdXK3VwTC9TVy9Y?=
 =?utf-8?B?dFd4a0VnSHpISVlWeHpJdTVCbmZEdGlRcTZHMlU0WkMrMS9XSmZiQkxUQ3Vl?=
 =?utf-8?B?K3ZOdGh1VlJlQUczRUZmTmRWZng2cVJNRVJ6MHBacGJvM0VnYTNMWWJnbVBa?=
 =?utf-8?B?bWpFYVgwamw0UlpBckJOMnZha2N5anVuUFZjNzBhbGRDV0JhZFRWWEhGUjVR?=
 =?utf-8?B?KzJ2VkZOVi9WYnNuSGIwRnI4YlcvemxHdEdmeVU2SytWbzB1MlBwaUhYZzNv?=
 =?utf-8?B?TTM4a1I5S3duZExUa3dtc2dwZ1plY3RxQmliK3ZzQnRpNkxXcDJwNkpXVXBi?=
 =?utf-8?B?SVJJYzhBRmZGQWdoOFpYeDV1M3dZLzJSTkdEZldpSUh2L0xYejFUQUlTSVNi?=
 =?utf-8?B?MkFTbWtiSHpPVnNJWnp6U05OQVNBWjBqTWRaSzdOM1ZKNDdJM0QzZ1RLdnZr?=
 =?utf-8?B?bkVsVjhPcG1YZFAyZm0yQjh1bXRxaWJvS05QQU1Sc043TzdmMDl6QUxxTlJr?=
 =?utf-8?B?Rm02NUN2YkdKTDdHU3Y3N1pITlVqZHZaeHBtRTI4MzVFT2JuQ0EreGhVMWFx?=
 =?utf-8?B?RkRqajB4NFVESlExRGJaVFJYK296Ry96b2cydUFpUHAwZnZ2SGVUSmliVHh6?=
 =?utf-8?B?eUtORUZ6UXRqcFlKb0xhS2E5SnVySW12RWpUMVQ1VUV2UDFzY01QUWx1QUs3?=
 =?utf-8?B?aGowWjNYQ2JlSnVRVlg5akJ4dmF3aHV0c3plMFNHOVFIclpFVDhqZ1Jhd2hw?=
 =?utf-8?B?eDdtb2dIVWRvY1pJZDNRSXdFSDcvSXpsRnVldDRLWnUxWUU1U2RvV3BFZDAz?=
 =?utf-8?B?R1YvMmlJUEtKZ2R3L2NyOU9pall1Nm5PUTFJNUg1Y2w2NTUvZTFkdWZuNFNp?=
 =?utf-8?B?bWZ5TFZOOTRPQ011WERmQ25OQTZDK2tzT2Y1YVVYYXNIVE53WFBmakRKdFhq?=
 =?utf-8?B?S0tVd2FIL0ZNZGp0Y3J1QTVhdXB2YlpENjlMN0kwOU8wbzBPRWJFV0o1emtt?=
 =?utf-8?B?UTZkUVdnM05XbUF2R2JnU3JVSXRiQzFwNTJxUXhwMzdBeHRwcjc1L3YwcDhJ?=
 =?utf-8?B?RnQ4UlZtaXBsRnNXZFIvajZjQnJ2ZnlKbXlaOHVRMDl1eW9xR2YwdDZ5QXE4?=
 =?utf-8?B?MTJaT3BLNXgvVlZjTGJFY2dQMEx5L2dVVGx2R2YxK1hrdzVwRXRPc3hvcTRj?=
 =?utf-8?B?KzZIWGFWSzQ5WDdFek1rcFlXYkU3a2E3UmRJcWh5RitSQUIyNUFtUGYxRHZN?=
 =?utf-8?B?TWl3TVlldWgwTEpCdjhJbG1BdjhzYnord0lRNmZadmhsSEtYZnlBb3pQb0Jr?=
 =?utf-8?B?WkJIVmFUOTVpcVYvZTROeE9kOUV0Q0VTbUM4VnBXaEFQRTRDTzlYZE9FNVlK?=
 =?utf-8?B?NGE5elhvcW1PUmp6L2FDQ0QrOHNTeERjMGxjaVJkek14TVQ5dis1L09yczg1?=
 =?utf-8?B?dnhWeHlCeDZxZlU4QkRuYzBIeHFaUGZJamU1eU9LdVM0eFplTVgra3FnUTI1?=
 =?utf-8?B?NkYxTEdCRUFTSjEwUkY0aVk0Wmh4blpyM2wyK1pBMUNwTUoyMmd3NzFJMzJv?=
 =?utf-8?B?VUtPK3dFT3NTMGgzN0VuVTRHOGVTaWRxRzNZdlBWcDBkZjZ2QWJ6QTBxdVE3?=
 =?utf-8?B?NzI1S0R0elcxUmY2OU1VTlArZUd3bmJzMVMrUW1GdXNvOGtJYWpTM0hzTXpz?=
 =?utf-8?B?YVdwYTE3K0xhYTZoR0pBUFJTa1pIaVdVa2RIam5UenRZa094anFXWmJuSEIv?=
 =?utf-8?B?MFE9PQ==?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c5fb7de1-c93a-4847-64c7-08de13003306
X-MS-Exchange-CrossTenant-AuthSource: DM4PR03MB7015.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Oct 2025 13:21:11.2647
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: MYpLYwv2Iw/6+yP7C39pd6YXdtg5Is97QZAPScoGHHW6Z7AiuIWukb/d1p74DVTrvjL1PkHM1YGHuwt2K4bBK6ZboG0J14+c+7JpSX5Ci8k=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR03MB5101

On 24/10/2025 1:54 pm, Teddy Astie wrote:
> Le 24/10/2025 Ã  14:14, Xen.org security team a Ã©crit :
>>              Xen Security Advisory CVE-2025-58149 / XSA-476
>>
>>           Incorrect removal of permissions on PCI device unplug
>>
>> ISSUE DESCRIPTION
>> =================
>>
>> When passing through PCI devices, the detach logic in libxl won't remove
>> access permissions to any 64bit memory BARs the device might have.  As a
>> result a domain can still have access any 64bit memory BAR when such
>> device is no longer assigned to the domain.
>>
> It it exclusive to devices where bar is above 32-bits (which requires 
> things like Above 4G Decoding / Resizable BAR) or all devices are affected ?

The scanf() only gets the bottom 32 bits of the BAR address, and drops
the upper bits.

>
>> For PV domains the permission leak allows the domain itself to map the memory
>> in the page-tables.  For HVM it would require a compromised device model or
>> stubdomain to map the leaked memory into the HVM domain p2m.
>>
> Do HVM guests actually needs the device model to perform this ?

It's DOMCTL_memory_mapping which modifies the P2M.Â  An HVM guest would
need to get the device model to make this hypercall on it's behalf in a
non-standard way.

>
>> IMPACT
>> ======
>>
>> A buggy or malicious PV guest can access memory of PCI devices no longer
>> assigned to it.
>>
>> VULNERABLE SYSTEMS
>> ==================
>>
>> Xen versions 4.0 and newer are vulnerable.
>>
>> Only PV guests with PCI passthrough devices can leverage the vulnerability.
>>
>> Only domains whose PCI devices are managed by the libxl library are affected.
>> This includes the xl toolstack and xapi, which uses the xl toolstack when
>> dealing with PCI devices.
>>
> XAPI doesn't appears to have PCI hotplug facilities, so shouldn't be 
> able to trigger this vulnerability. Unless I missed something.

Xapi execs `xl pci-attach/detach`.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Oct 24 13:23:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Oct 2025 13:23:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1150318.1481511 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCHlp-0004PP-Et; Fri, 24 Oct 2025 13:23:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1150318.1481511; Fri, 24 Oct 2025 13:23:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCHlp-0004PI-Ay; Fri, 24 Oct 2025 13:23:53 +0000
Received: by outflank-mailman (input) for mailman id 1150318;
 Fri, 24 Oct 2025 13:23:52 +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 <SRS0=7Ac/=5B=redhat.com=david@srs-se1.protection.inumbo.net>)
 id 1vCHlo-0004PA-Mp
 for xen-devel@lists.xenproject.org; Fri, 24 Oct 2025 13:23:52 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.129.124])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ab1b49b3-b0dc-11f0-980a-7dc792cee155;
 Fri, 24 Oct 2025 15:23:46 +0200 (CEST)
Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com
 [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-625-CRbad2gAMDqFi0I-4z6edA-1; Fri, 24 Oct 2025 09:23:44 -0400
Received: by mail-wm1-f69.google.com with SMTP id
 5b1f17b1804b1-47113dcc15dso11591605e9.1
 for <xen-devel@lists.xenproject.org>; Fri, 24 Oct 2025 06:23:44 -0700 (PDT)
Received: from ?IPV6:2003:d8:2f4e:3200:c99d:a38b:3f3a:d4b3?
 (p200300d82f4e3200c99da38b3f3ad4b3.dip0.t-ipconnect.de.
 [2003:d8:2f4e:3200:c99d:a38b:3f3a:d4b3])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-429898ec1dfsm9461004f8f.43.2025.10.24.06.23.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 24 Oct 2025 06:23:42 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ab1b49b3-b0dc-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1761312225;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
	bh=9pZe05cqV5Y1PIBh8vBXPAYdFpy0cqXi9nRKa9E+n1Q=;
	b=GBJupbqVqUAUdDvfwoVXHEQvNxQNHPtqjlL0UvRrgEmCgrXPFUeEHJnCb/xs8Crcnw3FZk
	gUtMYd+FtPyTRvLNjApCbsiuZVIHD5552ZcCMNN4rJjdlqu4BJo+i1M80DJlvgHqETkMYz
	XsSVkcVh34thyORxxUUFDy0C03HtDs4=
X-MC-Unique: CRbad2gAMDqFi0I-4z6edA-1
X-Mimecast-MFC-AGG-ID: CRbad2gAMDqFi0I-4z6edA_1761312223
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761312223; x=1761917023;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :from:references:cc:to:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=9pZe05cqV5Y1PIBh8vBXPAYdFpy0cqXi9nRKa9E+n1Q=;
        b=ZhCAKlcr5DlG/BvNw8g20kj3QaSdQ1vYPKAvFSC/BenGUoovcbDJVp+ZCtdhL6dCp+
         lKurE/Zc1fhlbJlAJLho6xDMkLzQSMWgPpf2fLwRDNxCaeOovjXQId/j+OyHxIm2ZcWS
         5hGpnUDAj0aJPTMKVFUgc72X1fGSElMgNd7h0StiTR64d3/kvxBPMeHbgMraoAK5lTqA
         tDskfJS34Ye25Qk64Jpn3zTA0ESB3scBO6lRzbd689buhoqopCcj5DYxdchEZLo6RTEL
         TTurS0TBqEk/dIQD356i+YgXGJ7BbirzOAZkZyZeJA9MMYYAUl7S89N1z02iDiexXBEF
         5Stg==
X-Forwarded-Encrypted: i=1; AJvYcCXe8XA/QbrwE31xF9d+Cnkh2ZwHL32/BuDJkFK/wToG4qneL9YzkUUS9TaHgIKOEuAArlmanG+5JYo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxF/WBlRAFFu249JrwOZt/uSnuig5zwDl6MzJYpkH7nxb/zVW3i
	GLSCLD4dt5zHDttRFIVxdicJznskO3dbu/mTK/RH+Ar74IXsn5kppsyOfAiHiF62O+B2yGH6dVS
	cy7bciUED6Dt40SXSmkcU+g0bF0x3U8+xoKTFaJgCgKU/t97X0zSp516E0VoerUx+rynA
X-Gm-Gg: ASbGncs0Vpw2PKicw4uRa0QFd+9hxquF1lwNmk7LEND8RmGjSTiPNCnpZ6cAHvWgnsv
	5X1KhjyBo2Xi42zeLU5bzMUhJ50AMCrxhrTp9TwIKhpOGJ1VRwFV1jRY6khsPIuSTfDEJdRGBHi
	6f/zcN/iZFnCzPCddLWu8prBOhxry12x2NAziQJQYkTjmMrpxY7zbps23j0tCMW0OrslqoC8TVw
	NwfVEN61AdijRYU2HHUKFTlRjSdfm6MFwt6Sk75aNEhG3eTv56przEignd/+JIu7Eg4DVUPdHIS
	kJsH2gUELo87A8rrEEWz2evzTvbigkYvtZQGMPJuAykDuadUjVo2clum8TLKavd0ImSLeKwe/xb
	milZVhKxkL8eXyW4ADzvHvLNzJP+bUK9I3PPvufVZEa/tPyqFIpALpW23sVyW0rbZHbZKfzOArk
	9jQfDvqoL+quqerYLi6+/cR3a6hHg=
X-Received: by 2002:a05:600c:1d9b:b0:46e:38f7:625f with SMTP id 5b1f17b1804b1-471178771b6mr180789575e9.10.1761312223051;
        Fri, 24 Oct 2025 06:23:43 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IEtGsLBVTNfj/FZoaJq9YDf0YbzbT70oZVwx4vja/yfyCx4XWjsWfYr2kPeTBeEcFsrMCFiZA==
X-Received: by 2002:a05:600c:1d9b:b0:46e:38f7:625f with SMTP id 5b1f17b1804b1-471178771b6mr180789265e9.10.1761312222639;
        Fri, 24 Oct 2025 06:23:42 -0700 (PDT)
Message-ID: <af4414b6-617c-4dc8-bddc-3ea00d1f6f3b@redhat.com>
Date: Fri, 24 Oct 2025 15:23:39 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 07/13] mm: enable lazy_mmu sections to nest
To: Kevin Brodsky <kevin.brodsky@arm.com>, linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org, Alexander Gordeev <agordeev@linux.ibm.com>,
 Andreas Larsson <andreas@gaisler.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, Borislav Petkov
 <bp@alien8.de>, Catalin Marinas <catalin.marinas@arm.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 Dave Hansen <dave.hansen@linux.intel.com>,
 "David S. Miller" <davem@davemloft.net>, "H. Peter Anvin" <hpa@zytor.com>,
 Ingo Molnar <mingo@redhat.com>, Jann Horn <jannh@google.com>,
 Juergen Gross <jgross@suse.com>, "Liam R. Howlett"
 <Liam.Howlett@oracle.com>, Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>, Michal Hocko <mhocko@suse.com>,
 Mike Rapoport <rppt@kernel.org>, Nicholas Piggin <npiggin@gmail.com>,
 Peter Zijlstra <peterz@infradead.org>, Ryan Roberts <ryan.roberts@arm.com>,
 Suren Baghdasaryan <surenb@google.com>, Thomas Gleixner
 <tglx@linutronix.de>, Vlastimil Babka <vbabka@suse.cz>,
 Will Deacon <will@kernel.org>, Yeoreum Yun <yeoreum.yun@arm.com>,
 linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org,
 sparclinux@vger.kernel.org, xen-devel@lists.xenproject.org, x86@kernel.org
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
 <20251015082727.2395128-8-kevin.brodsky@arm.com>
 <2073294c-8003-451a-93e0-9aab81de4d22@redhat.com>
 <7a4e136b-66a5-4244-ab07-f0bcc3a26a83@arm.com>
From: David Hildenbrand <david@redhat.com>
Autocrypt: addr=david@redhat.com; keydata=
 xsFNBFXLn5EBEAC+zYvAFJxCBY9Tr1xZgcESmxVNI/0ffzE/ZQOiHJl6mGkmA1R7/uUpiCjJ
 dBrn+lhhOYjjNefFQou6478faXE6o2AhmebqT4KiQoUQFV4R7y1KMEKoSyy8hQaK1umALTdL
 QZLQMzNE74ap+GDK0wnacPQFpcG1AE9RMq3aeErY5tujekBS32jfC/7AnH7I0v1v1TbbK3Gp
 XNeiN4QroO+5qaSr0ID2sz5jtBLRb15RMre27E1ImpaIv2Jw8NJgW0k/D1RyKCwaTsgRdwuK
 Kx/Y91XuSBdz0uOyU/S8kM1+ag0wvsGlpBVxRR/xw/E8M7TEwuCZQArqqTCmkG6HGcXFT0V9
 PXFNNgV5jXMQRwU0O/ztJIQqsE5LsUomE//bLwzj9IVsaQpKDqW6TAPjcdBDPLHvriq7kGjt
 WhVhdl0qEYB8lkBEU7V2Yb+SYhmhpDrti9Fq1EsmhiHSkxJcGREoMK/63r9WLZYI3+4W2rAc
 UucZa4OT27U5ZISjNg3Ev0rxU5UH2/pT4wJCfxwocmqaRr6UYmrtZmND89X0KigoFD/XSeVv
 jwBRNjPAubK9/k5NoRrYqztM9W6sJqrH8+UWZ1Idd/DdmogJh0gNC0+N42Za9yBRURfIdKSb
 B3JfpUqcWwE7vUaYrHG1nw54pLUoPG6sAA7Mehl3nd4pZUALHwARAQABzSREYXZpZCBIaWxk
 ZW5icmFuZCA8ZGF2aWRAcmVkaGF0LmNvbT7CwZoEEwEIAEQCGwMCF4ACGQEFCwkIBwICIgIG
 FQoJCAsCBBYCAwECHgcWIQQb2cqtc1xMOkYN/MpN3hD3AP+DWgUCaJzangUJJlgIpAAKCRBN
 3hD3AP+DWhAxD/9wcL0A+2rtaAmutaKTfxhTP0b4AAp1r/eLxjrbfbCCmh4pqzBhmSX/4z11
 opn2KqcOsueRF1t2ENLOWzQu3Roiny2HOU7DajqB4dm1BVMaXQya5ae2ghzlJN9SIoopTWlR
 0Af3hPj5E2PYvQhlcqeoehKlBo9rROJv/rjmr2x0yOM8qeTroH/ZzNlCtJ56AsE6Tvl+r7cW
 3x7/Jq5WvWeudKrhFh7/yQ7eRvHCjd9bBrZTlgAfiHmX9AnCCPRPpNGNedV9Yty2Jnxhfmbv
 Pw37LA/jef8zlCDyUh2KCU1xVEOWqg15o1RtTyGV1nXV2O/mfuQJud5vIgzBvHhypc3p6VZJ
 lEf8YmT+Ol5P7SfCs5/uGdWUYQEMqOlg6w9R4Pe8d+mk8KGvfE9/zTwGg0nRgKqlQXrWRERv
 cuEwQbridlPAoQHrFWtwpgYMXx2TaZ3sihcIPo9uU5eBs0rf4mOERY75SK+Ekayv2ucTfjxr
 Kf014py2aoRJHuvy85ee/zIyLmve5hngZTTe3Wg3TInT9UTFzTPhItam6dZ1xqdTGHZYGU0O
 otRHcwLGt470grdiob6PfVTXoHlBvkWRadMhSuG4RORCDpq89vu5QralFNIf3EysNohoFy2A
 LYg2/D53xbU/aa4DDzBb5b1Rkg/udO1gZocVQWrDh6I2K3+cCs7BTQRVy5+RARAA59fefSDR
 9nMGCb9LbMX+TFAoIQo/wgP5XPyzLYakO+94GrgfZjfhdaxPXMsl2+o8jhp/hlIzG56taNdt
 VZtPp3ih1AgbR8rHgXw1xwOpuAd5lE1qNd54ndHuADO9a9A0vPimIes78Hi1/yy+ZEEvRkHk
 /kDa6F3AtTc1m4rbbOk2fiKzzsE9YXweFjQvl9p+AMw6qd/iC4lUk9g0+FQXNdRs+o4o6Qvy
 iOQJfGQ4UcBuOy1IrkJrd8qq5jet1fcM2j4QvsW8CLDWZS1L7kZ5gT5EycMKxUWb8LuRjxzZ
 3QY1aQH2kkzn6acigU3HLtgFyV1gBNV44ehjgvJpRY2cC8VhanTx0dZ9mj1YKIky5N+C0f21
 zvntBqcxV0+3p8MrxRRcgEtDZNav+xAoT3G0W4SahAaUTWXpsZoOecwtxi74CyneQNPTDjNg
 azHmvpdBVEfj7k3p4dmJp5i0U66Onmf6mMFpArvBRSMOKU9DlAzMi4IvhiNWjKVaIE2Se9BY
 FdKVAJaZq85P2y20ZBd08ILnKcj7XKZkLU5FkoA0udEBvQ0f9QLNyyy3DZMCQWcwRuj1m73D
 sq8DEFBdZ5eEkj1dCyx+t/ga6x2rHyc8Sl86oK1tvAkwBNsfKou3v+jP/l14a7DGBvrmlYjO
 59o3t6inu6H7pt7OL6u6BQj7DoMAEQEAAcLBfAQYAQgAJgIbDBYhBBvZyq1zXEw6Rg38yk3e
 EPcA/4NaBQJonNqrBQkmWAihAAoJEE3eEPcA/4NaKtMQALAJ8PzprBEXbXcEXwDKQu+P/vts
 IfUb1UNMfMV76BicGa5NCZnJNQASDP/+bFg6O3gx5NbhHHPeaWz/VxlOmYHokHodOvtL0WCC
 8A5PEP8tOk6029Z+J+xUcMrJClNVFpzVvOpb1lCbhjwAV465Hy+NUSbbUiRxdzNQtLtgZzOV
 Zw7jxUCs4UUZLQTCuBpFgb15bBxYZ/BL9MbzxPxvfUQIPbnzQMcqtpUs21CMK2PdfCh5c4gS
 sDci6D5/ZIBw94UQWmGpM/O1ilGXde2ZzzGYl64glmccD8e87OnEgKnH3FbnJnT4iJchtSvx
 yJNi1+t0+qDti4m88+/9IuPqCKb6Stl+s2dnLtJNrjXBGJtsQG/sRpqsJz5x1/2nPJSRMsx9
 5YfqbdrJSOFXDzZ8/r82HgQEtUvlSXNaXCa95ez0UkOG7+bDm2b3s0XahBQeLVCH0mw3RAQg
 r7xDAYKIrAwfHHmMTnBQDPJwVqxJjVNr7yBic4yfzVWGCGNE4DnOW0vcIeoyhy9vnIa3w1uZ
 3iyY2Nsd7JxfKu1PRhCGwXzRw5TlfEsoRI7V9A8isUCoqE2Dzh3FvYHVeX4Us+bRL/oqareJ
 CIFqgYMyvHj7Q06kTKmauOe4Nf0l0qEkIuIzfoLJ3qr5UyXc2hLtWyT9Ir+lYlX9efqh7mOY
 qIws/H2t
In-Reply-To: <7a4e136b-66a5-4244-ab07-f0bcc3a26a83@arm.com>
X-Mimecast-Spam-Score: 0
X-Mimecast-MFC-PROC-ID: -S5rdAMeyPxsMi0I3784dis3v8dWIxqAFBv06TMJd_g_1761312223
X-Mimecast-Originator: redhat.com
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

>>> + * currently enabled.
>>>  Â Â  */
>>>  Â  #ifdef CONFIG_ARCH_LAZY_MMU
>>>  Â  static inline void lazy_mmu_mode_enable(void)
>>>  Â  {
>>> -Â Â Â  arch_enter_lazy_mmu_mode();
>>> +Â Â Â  struct lazy_mmu_state *state = &current->lazy_mmu_state;
>>> +
>>> +Â Â Â  VM_BUG_ON(state->count == U8_MAX);
>>
>> No VM_BUG_ON() please.
> 
> I did wonder if this would be acceptable!

Use VM_WARN_ON_ONCE() and let early testing find any such issues.

VM_* is active in debug kernels only either way! :)

If you'd want to handle this in production kernels you'd need

if (WARN_ON_ONCE()) {
	/* Try to recover */
}

And that seems unnecessary/overly-complicated for something that should 
never happen, and if it happens, can be found early during testing.

> 
> What should we do in case of underflow/overflow then? Saturate or just
> let it wrap around? If an overflow occurs we're probably in some
> infinite recursion and we'll crash anyway, but an underflow is likely
> due to a double disable() and saturating would probably allow to recover.
> 
>>
>>> +Â Â Â  /* enable() must not be called while paused */
>>> +Â Â Â  VM_WARN_ON(state->count > 0 && !state->enabled);
>>> +
>>> +Â Â Â  if (state->count == 0) {
>>> +Â Â Â Â Â Â Â  arch_enter_lazy_mmu_mode();
>>> +Â Â Â Â Â Â Â  state->enabled = true;
>>> +Â Â Â  }
>>> +Â Â Â  ++state->count;
>>
>> Can do
>>
>> if (state->count++ == 0) {
> 
> My idea here was to have exactly the reverse order between enable() and
> disable(), so that arch_enter() is called before lazy_mmu_state is
> updated, and arch_leave() afterwards. arch_* probably shouldn't rely on
> this (or care), but I liked the symmetry.

I see, but really the arch callback should never have to care about that
value -- unless something is messed up :)

[...]

>>> +static inline bool in_lazy_mmu_mode(void)
>>
>> So these functions will reveal the actual arch state, not whether
>> _enabled() was called.
>>
>> As I can see in later patches, in interrupt context they are also
>> return "not in lazy mmu mode".
> 
> Yes - the idea is that a task is in lazy MMU mode if it enabled it and
> is in process context. The mode is never enabled in interrupt context.
> This has always been the intention, but it wasn't formalised until patch
> 12 (except on arm64).

Okay, thanks for clarifying.

-- 
Cheers

David / dhildenb



From xen-devel-bounces@lists.xenproject.org Fri Oct 24 13:24:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Oct 2025 13:24:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1150329.1481519 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCHmX-0004v4-Lt; Fri, 24 Oct 2025 13:24:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1150329.1481519; Fri, 24 Oct 2025 13: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 <xen-devel-bounces@lists.xenproject.org>)
	id 1vCHmX-0004ux-JF; Fri, 24 Oct 2025 13:24:37 +0000
Received: by outflank-mailman (input) for mailman id 1150329;
 Fri, 24 Oct 2025 13:24: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
 <SRS0=XD6X=5B=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1vCHmW-0004PA-Nw
 for xen-devel@lists.xenproject.org; Fri, 24 Oct 2025 13:24:36 +0000
Received: from MW6PR02CU001.outbound.protection.outlook.com
 (mail-westus2azlp170120002.outbound.protection.outlook.com
 [2a01:111:f403:c007::2])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c56dde8c-b0dc-11f0-980a-7dc792cee155;
 Fri, 24 Oct 2025 15:24:31 +0200 (CEST)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by CO1PR03MB5923.namprd03.prod.outlook.com (2603:10b6:303:6e::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.16; Fri, 24 Oct
 2025 13:24:27 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9253.011; Fri, 24 Oct 2025
 13:24:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c56dde8c-b0dc-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=id+7ouB/O14EOZiKj/lmsmNbuEMxfUpCYwLIHyb/BQueguBGXqB9mVdFUYKaJ3y6WodrIybqVt3Uzu5rGUJ7G1vpEXpZzrRWCLpT5yzLF5lE0EvbpR5i1o+ibsrI5p4yolxEtGG7/xg+BhsYIMG+OmGAwAEYAwFqeAniu/srZAW8dOK36RU1d4bmvn4ZPmDcz5vJY9g5I/KubQA5OUxr77cPapre/vT5EC51AZrTI7RriPn+Bu9l4JpNcRnqa2WQ9wgTFnP1TRKAhNMhTcBlEMJYISsp+xG/eQ71QZWl/0qQkA89PqVAvadz7tIoDyzWiDi/mlLqXl5UjGgx5E2gxQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1vOpCmfrQ6Ssls9FWPWQE0CnV8KyUWRoy2QthAaCISE=;
 b=PzfHrb5Hro15hbfeoKA12OAFrYAJ27jF3ZRW3UnvOr+Zemph0YbQEiA2NS5yi1iRIiP5aXsToSsby6Kt51f2FZRFVo9lgdVbqDEQE+gYYDYoVX8L/C9yK4IJ863AOzY9EeHVS4qemczJwasolfKkmrhrIR9vajZoYNiIjLpjHj8sHJuIcSzyk9juiNoN+kyNEX391W1cKFdp2nQ2rpCQpjCoMRVHu2cJMjBj8HwL3EXrbMTpN1uReAO6smyORUp0iBDufj/+3JQp0pnqWuSZ3www/Wvy1a0VmbSKzkVhFvFEICJL/hNCZ+JffroA47kgAqCLGD984pwO/KhulZ2xYg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1vOpCmfrQ6Ssls9FWPWQE0CnV8KyUWRoy2QthAaCISE=;
 b=d85VflJv/J1lpcrRk7helJGQZF87ZTdiBeBMFz+YfUgU6pTsyN+IJ6ncuaUSIWx/jCFHF+qc02UpTNciovvomfAGDB83xEdIsalLlfkIRIajL+rf30E7pCnaeegPt3qKZSCz9OcqjEAugi5M8G4/wVMdjKqoQ4Qg+shXYdM22GM=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Fri, 24 Oct 2025 15:24:23 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH v3 for-4.21 2/9] x86/HPET: use single, global,
 low-priority vector for broadcast IRQ
Message-ID: <aPt-B5R-FwJpQbZR@Mac.lan>
References: <6a8a912c-7276-42bd-af2b-b94fc6ce4291@suse.com>
 <545d98e0-755d-471b-84c5-54f129a5aece@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <545d98e0-755d-471b-84c5-54f129a5aece@suse.com>
X-ClientProxiedBy: MA4P292CA0003.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:2d::15) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|CO1PR03MB5923:EE_
X-MS-Office365-Filtering-Correlation-Id: 1b5b1a7f-4626-4b01-3bd4-08de1300a76b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|366016|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?SjVLWmtXUDA3TjUyK25TRWNRMGU2NHlzVmJsUkQ3ZGYxQXpmTldMUDhON0VB?=
 =?utf-8?B?b2krY2NhVDFqMkhkak9TUk1naC9sbElhZkh4TFU4NVhuSWRsUCs2cDgyVVEz?=
 =?utf-8?B?RFUvdTVCTXVOaFpkc1ZTTmowd3RrSkF5Tzh5YVNLSnlMZC91M2RDcUU4c2Q2?=
 =?utf-8?B?ZmhPRTByWEdIVGc2SUwrZjRIWlRPNVBmQUpTTzdUeFpmNGZkZmVNMGtsOEpF?=
 =?utf-8?B?MWdSVXZDTXlZVHNjbHk3WnVDOExoQXVqZ0tuQmJHeXJkZFQ2S1NRYTc0WVEr?=
 =?utf-8?B?RjZrR2ZjTnpyclpwOUxFaW1Ua2loYTVtdEw5TGp6MWVWVVNMNm10N1diekZs?=
 =?utf-8?B?cW9oZnZ6ekVaTlVuQUpyaUdmNzM3WGxCQTgwbkFhSUpDWU9WU3hHc0RRUkxX?=
 =?utf-8?B?VE9KcVVaUjBJaklac0F2c3NUVUJZODlXclJ5N3pxWXVsOTBzUi9lbllBMDZh?=
 =?utf-8?B?S3gyTzFRdUQzTjV3R0xYeU9jd2lnVXZpTmlHRUh1NUtCdzVoUVJmVUNDYjdZ?=
 =?utf-8?B?VnprM29aVUxUNjMzYTdTT3R2TWM1SEhIQXE0cTlHSWRLY3ZlN3NJbVAvR2VJ?=
 =?utf-8?B?M252QmRORVhLREdTMkpicFpQYmVZR2h1dG5BR0lidzlwV0gyVXNQMzE2NVh6?=
 =?utf-8?B?dHQ0RDBCcnFQTXhnMjBSRGZSQkd5eE82Qmg3SW9nOW9aMUJqTnh5Zk1PWk5I?=
 =?utf-8?B?c3pNMlBrcHc5Q2xRV0hKaVRqL0M4THBOa1JXL29LSTVQSDFaSkMyemlpY3RG?=
 =?utf-8?B?c01EeitTVVB5eEVCOURkYzdIOVFEWUlvbkRvUmpsZFZRRWc3YjJ3L084S01l?=
 =?utf-8?B?U0xPVWhOclI4bjNDeUwxVDhpaXg4K1N0c2dtSmdYMndvSTl6S3MreDdIUjhn?=
 =?utf-8?B?VnZGQU1jSmpFaTg2RkIwV3RHVjlKL2FOak9XWm5qZCtONmp1amhaZGJIOTB6?=
 =?utf-8?B?dUJiQzVLWWtSdUZNRW1DZUgrSDhWVTR3QXR2TkFyQ2JTcjJEeVhyS0JKeTZE?=
 =?utf-8?B?NHNQK3hVSmZtaU81TDFCMG1NeFVCWHJTZVpXK05DSzNLSDMvRVZ0R1lLYWJE?=
 =?utf-8?B?VnNGZUtGR1dUVlZVTlpWbnQ1ZUpsUDljVTJEN2RRVGFKVkdkM01vaHNHNC9Y?=
 =?utf-8?B?VTJkK3lOVmVhTnI0ZUcxNDJ0eURqQUl3ekk5cmVlVWVUOWNFMWhscXpXd0Rv?=
 =?utf-8?B?K1BMQmtrNmhnZ3plWWgzMklCRWRmbHNVeU5mcnEyOVFMY3dpeEdWNytzdHdT?=
 =?utf-8?B?MjhHUGt6cDZpZ01QL1BqV2ttaTV1dmVKakw3WXEvNlN3WmRBZCs4ckJCKzM1?=
 =?utf-8?B?N0RjNUJ1cGRKRUwwbC93Mmc1RVZYUGVjeG9rRHJvY1RBcWpuRE5kQldsN1Ix?=
 =?utf-8?B?YjhlWEJGTmhoTGZhY3pKeGxXei9Vc3VTaEJIMmhKWGNWeE9mQ3JsbHB4b0Zv?=
 =?utf-8?B?UE0yMDhzTDRmR0c2MERCL2pqWFRvU2xIRE9nRWVXRHdON012YU1sSjlUa3dD?=
 =?utf-8?B?K3A2L2tmWTVOSjA2QU9JRmhub2Q0OTN3YlVCQWI0V0cxVHVLS250dFdOVmRQ?=
 =?utf-8?B?TnVCMlBucDJONWhMNHJyR0RDNWF4MnJrclVQZEJwWXNEd3VGcDBQTjBqUmxC?=
 =?utf-8?B?UjI2bW05a3FRcDRrNnBVdDJSd292TzB4WUVlS3o1UEpHMlhTOXFHdk5UbjRR?=
 =?utf-8?B?VHplRjNIOGpsM2U5RkZyNUcwUDk0NmtSb0E4UjZMRVUyZHJMWUY0TkRvZVNl?=
 =?utf-8?B?d3N6QW1aWldKQVVObEJ5amxQYVV0V09NZ0JXenhkcld5Vy9lVU9sQjl3VEFa?=
 =?utf-8?B?WkYvbjVmaVBlbnplUzIxYU5tRlRjUE4reVpoeUtyTzg5RUs5WlRVYWJMWlNH?=
 =?utf-8?B?N3RoOWpQL3R4WkRMbkN5anZmaTluT2ZyYWRTWkpxWnBSaENRNU1pbGVGMDhG?=
 =?utf-8?B?VUJVTEVLbU5Wa1pFY3BlS0wwOEZ0bUZlcGRRQnozMEhoZG5HelR6UitPL3ZF?=
 =?utf-8?B?eHQ4NU9NTzdnPT0=?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VWZtYjdDNDY5Q3Q3WVEvSXZ5alFmeFhGbU52RWJRR2cxbnZSWVNCM0pJSVZp?=
 =?utf-8?B?SVBZUGhrb2NSRkh1cGFWaW1xcGVwUzAzZ0VjajU0OGFUOUc3NmlLTjUzbENQ?=
 =?utf-8?B?YzAvd1BxT0xwbTEwRENRNWIyQ3VwUEcxUTBTV3lSLzA0WjdFTWR5azN1THow?=
 =?utf-8?B?bTM2T25ZY2oxK2dncG9KNHR3NFN0emxZOGJxKzlCbkhUMWVNZ0lhaUlPbEF1?=
 =?utf-8?B?d285R2t6a216R1A1OXlPSERxVGFrenE5UVM5TUNUajBpTTNXZEdYMlk3UXBi?=
 =?utf-8?B?ZUFJMFlsR3gzU2FTVDBoS2FKZjliNXpQRlR4MkZjQ1cwYkZmNk9SazQvQnR0?=
 =?utf-8?B?bk1GME9YcmJjcUVCYWR6V1pzU0Juc2FxWTBtamZjWFpUWk9nd3l0MWhtUjlh?=
 =?utf-8?B?ZFh3am9VK0NSWU0xc2x1bDlPc2xOMmdVRCt1RU9YdFFVYjdkUXZyL3VNa1E0?=
 =?utf-8?B?UGwzNzBZemtGKzVzbXpnNTFMLzdCQ2RSSllwMkdSOHI1YmZwNHU4NmN2QnlT?=
 =?utf-8?B?dlZ6dmxkaHc4MHZhRHc2bk1yQzV1NExRVjAzclFGN0NvczZJd24zbUgvbjZt?=
 =?utf-8?B?b1U2aHloSlloeEZJWStJdkI5S2U3THpoNGVWRVpwRUdEVjN6bG9VS1c1WVE3?=
 =?utf-8?B?R2duZzB6bmQ1U1d1d1lmTXhLOERJYWt3Q1NyQ2pHMDdEVTN5ZndoNmFrbERO?=
 =?utf-8?B?Nkl5eTFnRWZFamdSR3lIVFFmQWFZZzYzWlA1MXdwZzFqZUVDcm1uMG03Z1ZG?=
 =?utf-8?B?ejIrNUh2cTU1aXFHUmJabnRqakJlWUpuSXRYdEkxVEtZa2hWbm9kZ3VQZXQw?=
 =?utf-8?B?VU1DUWZRQmw0RnNlWTVINVBKOVVHa09pWGg2NVcrN2xhMGgwSzlWSk1nSjhU?=
 =?utf-8?B?alhHRWVoLzV1aSthbHcxUXdKNjhwL3FzT0V0LzJDWHUyOFI0VzRrUWI5Q0xx?=
 =?utf-8?B?c25OMHZyVTA4NEF4VWIvT1JIN0h2cEhvdmc2R0NFcVRCYjVPSFM5OXhRTTVD?=
 =?utf-8?B?c1oyNzFNeWV5b0dXTXREOFRER25kem9rT291WjJvRmN3Q1N5TVFiS0FCaUVS?=
 =?utf-8?B?VlNMajhiZG41U1lxWThrU3Q4TDZsMmN1bnhJY2psbnl6R3J6dVVHNTJMbzNp?=
 =?utf-8?B?MUZBSGFnSEtnZ3NrcjVTaW52TVNpQzdiQkZNd1ZFVHJ0bFhiRnV6elE1dWpX?=
 =?utf-8?B?Tm5EeStzSXNrMlZ6N3IrelIrMFlMd2RaVU9JYnkrYmcxMmsvMDVKc3NtL01T?=
 =?utf-8?B?ZzB2RXdIU1NrdndvZHg3MTNKSlhFdDEvbkd3RXFXaXlYRDNtV1JweTFYZTZl?=
 =?utf-8?B?RmpTQS93eTZwYmpzWGZXWVlOR1hydUU5cXNYcUZKdU5xYit3eTdpNTNqdDJo?=
 =?utf-8?B?OG9BZUlaemRtZWVxL3hMRXVZSjMxeWdobkhCVnBKNzVUc2VOdEpXR2daZ2Y1?=
 =?utf-8?B?VUU2bk9ESHdxbnpDdHpHUnJ5RzlSeEtqSTVPMTZwRHRCbEwraW0zOTF4NFBk?=
 =?utf-8?B?UlFqaHlPSTY1K3hMV2J6MlA2NE5JbWZjNEx6UnpCN3lHaVV0SnRybWlUekdy?=
 =?utf-8?B?RHUwMmV4eVN3aDBqazIxSW1KQlNmalFPVmFLLzFSbXV0T2xtOFRqM0Fhd0Vt?=
 =?utf-8?B?V3hXVlNqQ1ArbzYrVWxodnBHeTBzdVpkdFZ3WlZJeWZjdWd6NHlOa2dndGdF?=
 =?utf-8?B?TEtMT25Rc2tCYVlIUlBxc3QwOU0vUnlmV1haemU4MFd3UTM2ZFo5V09MSERJ?=
 =?utf-8?B?UkVGZ0VQL3E4VHlDZDdxWDd1VEd1MXpjK2tSTkFMbzFIWVQySlJrZlNuU3pF?=
 =?utf-8?B?QW9sc0o1STM1UTJaUjVMSVJJQlA4TDlDZ2hXdDMwVEI3Rk9scU94NU9Qd3pK?=
 =?utf-8?B?MjVjYjdtTDFHbkhEeW9oc1RieEI0V3ludjZLSkVpK3ZiNlh2bTMvK0s0aHJx?=
 =?utf-8?B?TCtpQ1VMQTRNOTNTQ0djTk9zbDU2cE9BVGhoUUFONGJxdmhSekxaa280SVM1?=
 =?utf-8?B?c1VUK2V2YXRFNjhvSGZvL2RPdXZJdXJwanh5TWxTZW5kTjdFUklmWm1rbU5t?=
 =?utf-8?B?ZzkxOFFtOHUwdkpoNndXV1A0eWdPWTRmY2drdWkzRCtGdlJiTFZKMVdVMkpq?=
 =?utf-8?Q?TdJXb1KY4v5dRmFId4RV3IhQ5?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1b5b1a7f-4626-4b01-3bd4-08de1300a76b
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Oct 2025 13:24:27.3273
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: kdlnry0qFK6LJTls07XZemMi5D1/JJpiuE7Tf5jpGeV8WEEX+sNAVclct33xTBIVTII2udUxZui7QcNW+kYHjg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR03MB5923

On Thu, Oct 23, 2025 at 05:50:17PM +0200, Jan Beulich wrote:
> Using dynamically allocated / maintained vectors has several downsides:
> - possible nesting of IRQs due to the effects of IRQ migration,
> - reduction of vectors available for devices,
> - IRQs not moving as intended if there's shortage of vectors,
> - higher runtime overhead.
> 
> As the vector also doesn't need to be of any priority (first and foremost
> it really shouldn't be of higher or same priority as the timer IRQ, as
> that raises TIMER_SOFTIRQ anyway), simply use the lowest one above the
> legacy range. The vector needs reserving early, until it is known whether
> it actually is used. If it isn't, it's made available for general use.
> 
> With a fixed vector, less updating is now necessary in
> set_channel_irq_affinity(); in particular channels don't need transiently
> masking anymore, as the necessary update is now atomic. To fully leverage
> this, however, we want to stop using hpet_msi_set_affinity() there. With
> the transient masking dropped, we're no longer at risk of missing events.
> 
> Fixes: 996576b965cc ("xen: allow up to 16383 cpus")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> Release-Acked-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>
                                    ^ space?

Reviewed-by: Roger Pau MonnÃ© <roger.pau@citrix.com>

I've got some comments below, but they shouldn't affect functionality.
I leave it up to you whether you think some of those might be
beneficial.

> ---
> This is an alternative proposal to
> https://lists.xen.org/archives/html/xen-devel/2014-03/msg00399.html.
> 
> Should we keep hpet_msi_set_affinity() at all? We'd better not have the
> generic IRQ subsystem play with our IRQs' affinities, and fixup_irqs()
> isn't relevant here. (If so, this likely would want to be a separate
> patch, though.)
> 
> The hpet_enable_channel() call could in principle be made (effectively)
> conditional, at the price of introducing a check in there. However, as
> much as eliminating the masking didn't help with the many excess (early)
> IRQs I'm observing on Intel hardware, doing so doesn't help either.
> 
> The Fixes: tag indicates where the problem got signficantly worse; in
> principle it was there already before (crashing at perhaps 6 or 7 levels
> of nested IRQs).
> ---
> v3: Switch to using vector 0x30, to unbreak AMD, including an adjustment
>     to AMD IOMMU intremap logic. Adjust condition around assertions in
>     set_channel_irq_affinity().
> v2: Re-work set_channel_irq_affinity() intensively. Re-base over the
>     dropping of another patch. Drop setup_vector_irq() change.
> 
> --- a/xen/arch/x86/hpet.c
> +++ b/xen/arch/x86/hpet.c
> @@ -9,17 +9,19 @@
>  #include <xen/timer.h>
>  #include <xen/smp.h>
>  #include <xen/softirq.h>
> +#include <xen/cpuidle.h>
>  #include <xen/irq.h>
>  #include <xen/numa.h>
>  #include <xen/param.h>
>  #include <xen/sched.h>
>  
>  #include <asm/apic.h>
> -#include <asm/fixmap.h>
>  #include <asm/div64.h>
> +#include <asm/fixmap.h>
> +#include <asm/genapic.h>
>  #include <asm/hpet.h>
> +#include <asm/irq-vectors.h>
>  #include <asm/msi.h>
> -#include <xen/cpuidle.h>
>  
>  #define MAX_DELTA_NS MILLISECS(10*1000)
>  #define MIN_DELTA_NS MICROSECS(20)
> @@ -251,10 +253,9 @@ static void cf_check hpet_interrupt_hand
>      ch->event_handler(ch);
>  }
>  
> -static void cf_check hpet_msi_unmask(struct irq_desc *desc)
> +static void hpet_enable_channel(struct hpet_event_channel *ch)
>  {
>      u32 cfg;
> -    struct hpet_event_channel *ch = desc->action->dev_id;
>  
>      cfg = hpet_read32(HPET_Tn_CFG(ch->idx));
>      cfg |= HPET_TN_ENABLE;
> @@ -262,6 +263,11 @@ static void cf_check hpet_msi_unmask(str
>      ch->msi.msi_attrib.host_masked = 0;
>  }
>  
> +static void cf_check hpet_msi_unmask(struct irq_desc *desc)
> +{
> +    hpet_enable_channel(desc->action->dev_id);
> +}
> +
>  static void cf_check hpet_msi_mask(struct irq_desc *desc)
>  {
>      u32 cfg;
> @@ -303,15 +309,13 @@ static void cf_check hpet_msi_set_affini
>      struct hpet_event_channel *ch = desc->action->dev_id;
>      struct msi_msg msg = ch->msi.msg;
>  
> -    msg.dest32 = set_desc_affinity(desc, mask);
> -    if ( msg.dest32 == BAD_APICID )
> -        return;
> +    /* This really is only for dump_irqs(). */
> +    cpumask_copy(desc->arch.cpu_mask, mask);

To add some extra checks here for correctness, do you think it would
be helpful to add:

ASSERT(cpumask_weight(mask) == 1);
ASSERT(cpumask_intersects(mask, &cpu_online_mask));

Or that's too pedantic?

>  
> -    msg.data &= ~MSI_DATA_VECTOR_MASK;
> -    msg.data |= MSI_DATA_VECTOR(desc->arch.vector);
> +    msg.dest32 = cpu_mask_to_apicid(mask);
>      msg.address_lo &= ~MSI_ADDR_DEST_ID_MASK;
>      msg.address_lo |= MSI_ADDR_DEST_ID(msg.dest32);
> -    if ( msg.data != ch->msi.msg.data || msg.dest32 != ch->msi.msg.dest32 )
> +    if ( msg.dest32 != ch->msi.msg.dest32 )
>          hpet_msi_write(ch, &msg);
>  }
>  
> @@ -324,7 +328,7 @@ static hw_irq_controller hpet_msi_type =
>      .shutdown   = hpet_msi_shutdown,
>      .enable	    = hpet_msi_unmask,
>      .disable    = hpet_msi_mask,
> -    .ack        = ack_nonmaskable_msi_irq,
> +    .ack        = irq_actor_none,
>      .end        = end_nonmaskable_irq,
>      .set_affinity   = hpet_msi_set_affinity,
>  };
> @@ -343,6 +347,12 @@ static int __init hpet_setup_msi_irq(str
>      u32 cfg = hpet_read32(HPET_Tn_CFG(ch->idx));
>      irq_desc_t *desc = irq_to_desc(ch->msi.irq);
>  
> +    clear_irq_vector(ch->msi.irq);
> +    ret = bind_irq_vector(ch->msi.irq, HPET_BROADCAST_VECTOR, &cpu_online_map);

By passing cpu_online_map here, it leads to _bind_irq_vector() doing:

cpumask_copy(desc->arch.cpu_mask, &cpu_online_map);

Which strictly speaking is wrong.  However this is just a cosmetic
issue until the irq is used for the first time, at which point it will
be assigned to a concrete CPU.

You could do:

cpumask_clear(desc->arch.cpu_mask);
cpumask_set_cpu(cpumask_any(&cpu_online_map), desc->arch.cpu_mask);

(Or equivalent)

To assign the interrupt to a concrete CPU and reflex it on the
cpu_mask after the bind_irq_vector() call, but I can live with it
being like this.  I have patches to adjust _bind_irq_vector() myself,
which I hope I will be able to post soon.

> +    if ( ret )
> +        return ret;
> +    cpumask_setall(desc->affinity);
> +
>      if ( iommu_intremap != iommu_intremap_off )
>      {
>          ch->msi.hpet_id = hpet_blockid;
> @@ -472,19 +482,50 @@ static struct hpet_event_channel *hpet_g
>  static void set_channel_irq_affinity(struct hpet_event_channel *ch)
>  {
>      struct irq_desc *desc = irq_to_desc(ch->msi.irq);
> +    struct msi_msg msg = ch->msi.msg;
>  
>      ASSERT(!local_irq_is_enabled());
>      spin_lock(&desc->lock);
> -    hpet_msi_mask(desc);
> -    hpet_msi_set_affinity(desc, cpumask_of(ch->cpu));
> -    hpet_msi_unmask(desc);
> +
> +    per_cpu(vector_irq, ch->cpu)[HPET_BROADCAST_VECTOR] = ch->msi.irq;
> +
> +    /*
> +     * Open-coding a reduced form of hpet_msi_set_affinity() here.  With the
> +     * actual update below (either of the IRTE or of [just] message address;
> +     * with interrupt remapping message address/data don't change) now being
> +     * atomic, we can avoid masking the IRQ around the update.  As a result
> +     * we're no longer at risk of missing IRQs (provided hpet_broadcast_enter()
> +     * keeps setting the new deadline only afterwards).
> +     */
> +    cpumask_copy(desc->arch.cpu_mask, cpumask_of(ch->cpu));
> +
>      spin_unlock(&desc->lock);
>  
> -    spin_unlock(&ch->lock);
> +    msg.dest32 = cpu_physical_id(ch->cpu);
> +    msg.address_lo &= ~MSI_ADDR_DEST_ID_MASK;
> +    msg.address_lo |= MSI_ADDR_DEST_ID(msg.dest32);
> +    if ( msg.dest32 != ch->msi.msg.dest32 )
> +    {
> +        ch->msi.msg = msg;
>  
> -    /* We may have missed an interrupt due to the temporary masking. */
> -    if ( ch->event_handler && ch->next_event < NOW() )
> -        ch->event_handler(ch);
> +        if ( iommu_intremap != iommu_intremap_off )
> +        {
> +            int rc = iommu_update_ire_from_msi(&ch->msi, &msg);
> +
> +            ASSERT(rc <= 0);
> +            if ( rc >= 0 )

I don't think the rc > 0 part of this check is meaningful, as any rc
value > 0 will trigger the ASSERT(rc <= 0) ahead of it.  The code
inside of the if block itself only contains ASSERTs, so it's only
relevant for debug=y builds that will also have the rc <= 0 ASSERT.

You could possibly use:

ASSERT(rc <= 0);
if ( !rc )
{
    ASSERT(...

And achieve the same result?

> +            {
> +                ASSERT(msg.data == hpet_read32(HPET_Tn_ROUTE(ch->idx)));
> +                ASSERT(msg.address_lo ==
> +                       hpet_read32(HPET_Tn_ROUTE(ch->idx) + 4));
> +            }
> +        }
> +        else
> +            hpet_write32(msg.address_lo, HPET_Tn_ROUTE(ch->idx) + 4);
> +    }
> +
> +    hpet_enable_channel(ch);
> +    spin_unlock(&ch->lock);
>  }
>  
>  static void hpet_attach_channel(unsigned int cpu,
> @@ -622,6 +663,12 @@ void __init hpet_broadcast_init(void)
>          hpet_events->flags = HPET_EVT_LEGACY;
>  }
>  
> +void __init hpet_broadcast_late_init(void)
> +{
> +    if ( !num_hpets_used )
> +        free_lopriority_vector(HPET_BROADCAST_VECTOR);
> +}
> +
>  void hpet_broadcast_resume(void)
>  {
>      u32 cfg;
> --- a/xen/arch/x86/include/asm/hpet.h
> +++ b/xen/arch/x86/include/asm/hpet.h
> @@ -90,6 +90,7 @@ void hpet_disable_legacy_replacement_mod
>   * rather than using the LAPIC timer. Used for Cx state entry.
>   */
>  void hpet_broadcast_init(void);
> +void hpet_broadcast_late_init(void);
>  void hpet_broadcast_resume(void);
>  void cf_check hpet_broadcast_enter(void);
>  void cf_check hpet_broadcast_exit(void);
> --- a/xen/arch/x86/include/asm/irq.h
> +++ b/xen/arch/x86/include/asm/irq.h
> @@ -116,6 +116,7 @@ void cf_check call_function_interrupt(vo
>  void cf_check irq_move_cleanup_interrupt(void);
>  
>  uint8_t alloc_hipriority_vector(void);
> +void free_lopriority_vector(uint8_t vector);
>  
>  void set_direct_apic_vector(uint8_t vector, void (*handler)(void));
>  void alloc_direct_apic_vector(uint8_t *vector, void (*handler)(void));
> --- a/xen/arch/x86/include/asm/irq-vectors.h
> +++ b/xen/arch/x86/include/asm/irq-vectors.h
> @@ -22,6 +22,9 @@
>  #define FIRST_LEGACY_VECTOR     FIRST_DYNAMIC_VECTOR
>  #define LAST_LEGACY_VECTOR      (FIRST_LEGACY_VECTOR + 0xf)
>  
> +/* HPET broadcast is statically allocated and wants to be low priority. */
> +#define HPET_BROADCAST_VECTOR   (LAST_LEGACY_VECTOR + 1)
> +
>  #ifdef CONFIG_PV32
>  #define HYPERCALL_VECTOR        0x82
>  #endif
> --- a/xen/arch/x86/irq.c
> +++ b/xen/arch/x86/irq.c
> @@ -468,6 +468,12 @@ int __init init_irq_data(void)
>            vector++ )
>          __set_bit(vector, used_vectors);
>  
> +    /*
> +     * Prevent the HPET broadcast vector from being used, until it is known
> +     * whether it's actually needed.
> +     */
> +    __set_bit(HPET_BROADCAST_VECTOR, used_vectors);
> +
>      return 0;
>  }
>  
> @@ -991,6 +997,13 @@ void alloc_direct_apic_vector(uint8_t *v
>      spin_unlock(&lock);
>  }
>  
> +/* This could free any vectors, but is needed only for low-prio ones. */
> +void __init free_lopriority_vector(uint8_t vector)
> +{
> +    ASSERT(vector < FIRST_HIPRIORITY_VECTOR);
> +    clear_bit(vector, used_vectors);
> +}

I'm undecided whether we want to have such helper.  This is all very
specific to the single use by the HPET vector, and hence might be best
to simply put the clear_bit() inside of hpet_broadcast_late_init()
itself.

I could see for example other callers wanting to use this also
requiring cleanup of the per cpu vector_irq arrays.  Given it's (so
far) very limited usage it might be clearer to open-code the
clear_bit().

> +
>  static void cf_check irq_ratelimit_timer_fn(void *data)
>  {
>      struct irq_desc *desc, *tmp;
> --- a/xen/arch/x86/time.c
> +++ b/xen/arch/x86/time.c
> @@ -2675,6 +2675,8 @@ static int __init cf_check disable_pit_i
>                 "Force enable with 'cpuidle'.\n");
>      }
>  
> +    hpet_broadcast_late_init();
> +
>      return 0;
>  }
>  __initcall(disable_pit_irq);
> --- a/xen/drivers/passthrough/amd/iommu_intr.c
> +++ b/xen/drivers/passthrough/amd/iommu_intr.c
> @@ -551,6 +551,13 @@ int cf_check amd_iommu_msi_msg_update_ir
>          for ( i = 1; i < nr; ++i )
>              msi_desc[i].remap_index = msi_desc->remap_index + i;
>          msg->data = data;
> +        /*
> +         * While the low address bits don't matter, "canonicalize" the address
> +         * by zapping the bits that were transferred to the IRTE.  This way
> +         * callers can check for there actually needing to be an update to
> +         * wherever the address is put.
> +         */
> +        msg->address_lo &= ~(MSI_ADDR_DESTMODE_MASK | MSI_ADDR_DEST_ID_MASK);

You might want to mention this change on the commit message also, as
it could look unrelated to the rest of the code?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Oct 24 13:27:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Oct 2025 13:27:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1150345.1481531 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCHpX-0005s6-9d; Fri, 24 Oct 2025 13:27:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1150345.1481531; Fri, 24 Oct 2025 13:27:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCHpX-0005rz-5V; Fri, 24 Oct 2025 13:27:43 +0000
Received: by outflank-mailman (input) for mailman id 1150345;
 Fri, 24 Oct 2025 13:27:41 +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 <SRS0=7Ac/=5B=redhat.com=david@srs-se1.protection.inumbo.net>)
 id 1vCHpV-0005rp-MK
 for xen-devel@lists.xenproject.org; Fri, 24 Oct 2025 13:27:41 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.133.124])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 35c33ca4-b0dd-11f0-980a-7dc792cee155;
 Fri, 24 Oct 2025 15:27:39 +0200 (CEST)
Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com
 [209.85.221.69]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-548-_qyopINfMBarXZq66nnOrg-1; Fri, 24 Oct 2025 09:27:36 -0400
Received: by mail-wr1-f69.google.com with SMTP id
 ffacd0b85a97d-42700160169so1380811f8f.1
 for <xen-devel@lists.xenproject.org>; Fri, 24 Oct 2025 06:27:36 -0700 (PDT)
Received: from ?IPV6:2003:d8:2f4e:3200:c99d:a38b:3f3a:d4b3?
 (p200300d82f4e3200c99da38b3f3ad4b3.dip0.t-ipconnect.de.
 [2003:d8:2f4e:3200:c99d:a38b:3f3a:d4b3])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-429898ccc60sm9453555f8f.34.2025.10.24.06.27.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 24 Oct 2025 06:27:34 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 35c33ca4-b0dd-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1761312458;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
	bh=W95gCkBxowoa8sjYCMILYw6pqqluuwtxuEqICefNFQ8=;
	b=EQ9cqlHYeA+Irl1jc/Y/4xpr8sngwljhpizjQoVhiCDNTXiGWBR82HclDrm/eRDudUjJAb
	gZYQzvMaqbKKJf7PyubkSY//kEWLKKNnvErQzmDij9dZA54HZRmjZLa64DQHjp7pVxUcyd
	4owDdD+OpfREioM3SYxjzw8mz+wJ7DM=
X-MC-Unique: _qyopINfMBarXZq66nnOrg-1
X-Mimecast-MFC-AGG-ID: _qyopINfMBarXZq66nnOrg_1761312456
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761312455; x=1761917255;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :from:references:cc:to:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=W95gCkBxowoa8sjYCMILYw6pqqluuwtxuEqICefNFQ8=;
        b=N0ZT8b1RXk0lJC/1qe3UVPCTpkVQNNFVpXyDnXajx00gI8yLTld3OjzL+JdquQeOnQ
         Ce8TUclRp8TqNmVEYXXr2xc5pj/KkTbB0+PJBJ9PfEleAs2RT6vWnbOdTuE4pG20Coqt
         KgCfuOQaF/BzQ0fJZyx6HicxawsCO+6MpakwvWZg7MDD/G8Q8dogZwXMqQAjg1BJYOLg
         6e8/6Q2nE9Bc9r2LSrDsfLplWEbBUG3Gdkjg08T4X+y578W3wltlzEKqNvLSFpKoJQEK
         sF4vKl0+NCFfiazQeplZB5zcoQqJ09dYCHZpI+Nvx0p2Qo9XSeJYQe2vlr+/MrgO4zE1
         //Vg==
X-Forwarded-Encrypted: i=1; AJvYcCVguxGvkOCQBb1GjV2gzb+WpkotGu2SZhcgF3oILDPPuZjQ4NrI+6R4wRvjBfbAaCA+ENJzbwXrOrU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxTF7DjfMvdBaAtf0nzWaJq4PbAdMSlJGq+9J4GiCS2vdKs0iP0
	LNBltlTj71uje2/+JROAvplmbQMkDE37LXPKY8dez6q+OZ7Sr1qAYzANNP6asKrqXtwHqgredop
	jx3HsC+S1+z2Lxce2G3k3K6i8iHYI9G5/AaGWB1soDqUuUsRFjAsXIJT4CJHqeSVW60I0
X-Gm-Gg: ASbGncssXy+cUTSuUGi53e/nzjoxfVUKaxEETSRPqD86Yh+v4EBAv20vsLJexF6tb46
	1XbOZc+OcP90GIcpd7qxC8DlkndclTxlywXQ2TiOVObSO8bg8zl+JsEHpMAwItOGUNpG9DikHFG
	tv/6W6f/4wkB4/P+B7tzu+7T/sN7UwtiOuqySxqJvpCw+40nuMUgiwOTZ9JQ6uOJn8GuU1zcsZ1
	v/PyKpT2F+DzXsxBWlm5UzWt/vXuZwtlG/mY83sOoMaa7mko2yEgiylrYacIdbCVz7EFnpIfInV
	Nc/mlfEU0xT7d1X1oFXzo31XqQSgRXHmIcOPHIvLV1lbaJ/W9tSkf7bzr7o7gkTda+EhC27OD8L
	Y6bYuSagBC6ceFsefxvmRo0Dgbf+G8jZwXey5w139Y8VXRWC20zgM4GLQ/E/M2lhXLEc8xmQROF
	C3rGM/E1f60pHtHYAkoMOmLUDyoIY=
X-Received: by 2002:a5d:5f82:0:b0:3fa:5925:4b07 with SMTP id ffacd0b85a97d-42704d74f9fmr17804294f8f.18.1761312455514;
        Fri, 24 Oct 2025 06:27:35 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IE6q4w15VA7XMPgV1osu1aNNaqJ9bER4GrjuNDgzSEl5cHuxzuUI4S5/OhMi/rPVse+Lx9Gyg==
X-Received: by 2002:a5d:5f82:0:b0:3fa:5925:4b07 with SMTP id ffacd0b85a97d-42704d74f9fmr17804231f8f.18.1761312454926;
        Fri, 24 Oct 2025 06:27:34 -0700 (PDT)
Message-ID: <f8d22ae0-4e36-4537-903f-28164c850fdb@redhat.com>
Date: Fri, 24 Oct 2025 15:27:32 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 06/13] mm: introduce generic lazy_mmu helpers
To: Kevin Brodsky <kevin.brodsky@arm.com>, linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org, Alexander Gordeev <agordeev@linux.ibm.com>,
 Andreas Larsson <andreas@gaisler.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, Borislav Petkov
 <bp@alien8.de>, Catalin Marinas <catalin.marinas@arm.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 Dave Hansen <dave.hansen@linux.intel.com>,
 "David S. Miller" <davem@davemloft.net>, "H. Peter Anvin" <hpa@zytor.com>,
 Ingo Molnar <mingo@redhat.com>, Jann Horn <jannh@google.com>,
 Juergen Gross <jgross@suse.com>, "Liam R. Howlett"
 <Liam.Howlett@oracle.com>, Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>, Michal Hocko <mhocko@suse.com>,
 Mike Rapoport <rppt@kernel.org>, Nicholas Piggin <npiggin@gmail.com>,
 Peter Zijlstra <peterz@infradead.org>, Ryan Roberts <ryan.roberts@arm.com>,
 Suren Baghdasaryan <surenb@google.com>, Thomas Gleixner
 <tglx@linutronix.de>, Vlastimil Babka <vbabka@suse.cz>,
 Will Deacon <will@kernel.org>, Yeoreum Yun <yeoreum.yun@arm.com>,
 linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org,
 sparclinux@vger.kernel.org, xen-devel@lists.xenproject.org, x86@kernel.org
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
 <20251015082727.2395128-7-kevin.brodsky@arm.com>
 <73b274b7-f419-4e2e-8620-d557bac30dc2@redhat.com>
 <390e41ae-4b66-40c1-935f-7a1794ba0b71@arm.com>
From: David Hildenbrand <david@redhat.com>
Autocrypt: addr=david@redhat.com; keydata=
 xsFNBFXLn5EBEAC+zYvAFJxCBY9Tr1xZgcESmxVNI/0ffzE/ZQOiHJl6mGkmA1R7/uUpiCjJ
 dBrn+lhhOYjjNefFQou6478faXE6o2AhmebqT4KiQoUQFV4R7y1KMEKoSyy8hQaK1umALTdL
 QZLQMzNE74ap+GDK0wnacPQFpcG1AE9RMq3aeErY5tujekBS32jfC/7AnH7I0v1v1TbbK3Gp
 XNeiN4QroO+5qaSr0ID2sz5jtBLRb15RMre27E1ImpaIv2Jw8NJgW0k/D1RyKCwaTsgRdwuK
 Kx/Y91XuSBdz0uOyU/S8kM1+ag0wvsGlpBVxRR/xw/E8M7TEwuCZQArqqTCmkG6HGcXFT0V9
 PXFNNgV5jXMQRwU0O/ztJIQqsE5LsUomE//bLwzj9IVsaQpKDqW6TAPjcdBDPLHvriq7kGjt
 WhVhdl0qEYB8lkBEU7V2Yb+SYhmhpDrti9Fq1EsmhiHSkxJcGREoMK/63r9WLZYI3+4W2rAc
 UucZa4OT27U5ZISjNg3Ev0rxU5UH2/pT4wJCfxwocmqaRr6UYmrtZmND89X0KigoFD/XSeVv
 jwBRNjPAubK9/k5NoRrYqztM9W6sJqrH8+UWZ1Idd/DdmogJh0gNC0+N42Za9yBRURfIdKSb
 B3JfpUqcWwE7vUaYrHG1nw54pLUoPG6sAA7Mehl3nd4pZUALHwARAQABzSREYXZpZCBIaWxk
 ZW5icmFuZCA8ZGF2aWRAcmVkaGF0LmNvbT7CwZoEEwEIAEQCGwMCF4ACGQEFCwkIBwICIgIG
 FQoJCAsCBBYCAwECHgcWIQQb2cqtc1xMOkYN/MpN3hD3AP+DWgUCaJzangUJJlgIpAAKCRBN
 3hD3AP+DWhAxD/9wcL0A+2rtaAmutaKTfxhTP0b4AAp1r/eLxjrbfbCCmh4pqzBhmSX/4z11
 opn2KqcOsueRF1t2ENLOWzQu3Roiny2HOU7DajqB4dm1BVMaXQya5ae2ghzlJN9SIoopTWlR
 0Af3hPj5E2PYvQhlcqeoehKlBo9rROJv/rjmr2x0yOM8qeTroH/ZzNlCtJ56AsE6Tvl+r7cW
 3x7/Jq5WvWeudKrhFh7/yQ7eRvHCjd9bBrZTlgAfiHmX9AnCCPRPpNGNedV9Yty2Jnxhfmbv
 Pw37LA/jef8zlCDyUh2KCU1xVEOWqg15o1RtTyGV1nXV2O/mfuQJud5vIgzBvHhypc3p6VZJ
 lEf8YmT+Ol5P7SfCs5/uGdWUYQEMqOlg6w9R4Pe8d+mk8KGvfE9/zTwGg0nRgKqlQXrWRERv
 cuEwQbridlPAoQHrFWtwpgYMXx2TaZ3sihcIPo9uU5eBs0rf4mOERY75SK+Ekayv2ucTfjxr
 Kf014py2aoRJHuvy85ee/zIyLmve5hngZTTe3Wg3TInT9UTFzTPhItam6dZ1xqdTGHZYGU0O
 otRHcwLGt470grdiob6PfVTXoHlBvkWRadMhSuG4RORCDpq89vu5QralFNIf3EysNohoFy2A
 LYg2/D53xbU/aa4DDzBb5b1Rkg/udO1gZocVQWrDh6I2K3+cCs7BTQRVy5+RARAA59fefSDR
 9nMGCb9LbMX+TFAoIQo/wgP5XPyzLYakO+94GrgfZjfhdaxPXMsl2+o8jhp/hlIzG56taNdt
 VZtPp3ih1AgbR8rHgXw1xwOpuAd5lE1qNd54ndHuADO9a9A0vPimIes78Hi1/yy+ZEEvRkHk
 /kDa6F3AtTc1m4rbbOk2fiKzzsE9YXweFjQvl9p+AMw6qd/iC4lUk9g0+FQXNdRs+o4o6Qvy
 iOQJfGQ4UcBuOy1IrkJrd8qq5jet1fcM2j4QvsW8CLDWZS1L7kZ5gT5EycMKxUWb8LuRjxzZ
 3QY1aQH2kkzn6acigU3HLtgFyV1gBNV44ehjgvJpRY2cC8VhanTx0dZ9mj1YKIky5N+C0f21
 zvntBqcxV0+3p8MrxRRcgEtDZNav+xAoT3G0W4SahAaUTWXpsZoOecwtxi74CyneQNPTDjNg
 azHmvpdBVEfj7k3p4dmJp5i0U66Onmf6mMFpArvBRSMOKU9DlAzMi4IvhiNWjKVaIE2Se9BY
 FdKVAJaZq85P2y20ZBd08ILnKcj7XKZkLU5FkoA0udEBvQ0f9QLNyyy3DZMCQWcwRuj1m73D
 sq8DEFBdZ5eEkj1dCyx+t/ga6x2rHyc8Sl86oK1tvAkwBNsfKou3v+jP/l14a7DGBvrmlYjO
 59o3t6inu6H7pt7OL6u6BQj7DoMAEQEAAcLBfAQYAQgAJgIbDBYhBBvZyq1zXEw6Rg38yk3e
 EPcA/4NaBQJonNqrBQkmWAihAAoJEE3eEPcA/4NaKtMQALAJ8PzprBEXbXcEXwDKQu+P/vts
 IfUb1UNMfMV76BicGa5NCZnJNQASDP/+bFg6O3gx5NbhHHPeaWz/VxlOmYHokHodOvtL0WCC
 8A5PEP8tOk6029Z+J+xUcMrJClNVFpzVvOpb1lCbhjwAV465Hy+NUSbbUiRxdzNQtLtgZzOV
 Zw7jxUCs4UUZLQTCuBpFgb15bBxYZ/BL9MbzxPxvfUQIPbnzQMcqtpUs21CMK2PdfCh5c4gS
 sDci6D5/ZIBw94UQWmGpM/O1ilGXde2ZzzGYl64glmccD8e87OnEgKnH3FbnJnT4iJchtSvx
 yJNi1+t0+qDti4m88+/9IuPqCKb6Stl+s2dnLtJNrjXBGJtsQG/sRpqsJz5x1/2nPJSRMsx9
 5YfqbdrJSOFXDzZ8/r82HgQEtUvlSXNaXCa95ez0UkOG7+bDm2b3s0XahBQeLVCH0mw3RAQg
 r7xDAYKIrAwfHHmMTnBQDPJwVqxJjVNr7yBic4yfzVWGCGNE4DnOW0vcIeoyhy9vnIa3w1uZ
 3iyY2Nsd7JxfKu1PRhCGwXzRw5TlfEsoRI7V9A8isUCoqE2Dzh3FvYHVeX4Us+bRL/oqareJ
 CIFqgYMyvHj7Q06kTKmauOe4Nf0l0qEkIuIzfoLJ3qr5UyXc2hLtWyT9Ir+lYlX9efqh7mOY
 qIws/H2t
In-Reply-To: <390e41ae-4b66-40c1-935f-7a1794ba0b71@arm.com>
X-Mimecast-Spam-Score: 0
X-Mimecast-MFC-PROC-ID: bSz7jSgQdQx-n0kNcWJZSFwF6LDqgl1lHONW9zdH8DI_1761312456
X-Mimecast-Originator: redhat.com
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 24.10.25 14:13, Kevin Brodsky wrote:
> On 23/10/2025 21:52, David Hildenbrand wrote:
>> On 15.10.25 10:27, Kevin Brodsky wrote:
>>> [...]
>>>
>>> * madvise_*_pte_range() call arch_leave() in multiple paths, some
>>>  Â Â  followed by an immediate exit/rescheduling and some followed by a
>>>  Â Â  conditional exit. These functions assume that they are called
>>>  Â Â  with lazy MMU disabled and we cannot simply use pause()/resume()
>>>  Â Â  to address that. This patch leaves the situation unchanged by
>>>  Â Â  calling enable()/disable() in all cases.
>>
>> I'm confused, the function simply does
>>
>> (a) enables lazy mmu
>> (b) does something on the page table
>> (c) disables lazy mmu
>> (d) does something expensive (split folio -> take sleepable locks,
>>  Â Â Â  flushes tlb)
>> (e) go to (a)
> 
> That step is conditional: we exit right away if pte_offset_map_lock()
> fails. The fundamental issue is that pause() must always be matched with
> resume(), but as those functions look today there is no situation where
> a pause() would always be matched with a resume().

We have matches enable/disable, so my question is rather "why" you are 
even thinking about using pause/resume?

What would be the benefit of that? If there is no benefit then just drop 
this from the patch description as it's more confusing than just ... 
doing what the existing code does :)

>>
>> Why would we use enable/disable instead?
>>
>>>
>>> * x86/Xen is currently the only case where explicit handling is
>>>  Â Â  required for lazy MMU when context-switching. This is purely an
>>>  Â Â  implementation detail and using the generic lazy_mmu_mode_*
>>>  Â Â  functions would cause trouble when nesting support is introduced,
>>>  Â Â  because the generic functions must be called from the current task.
>>>  Â Â  For that reason we still use arch_leave() and arch_enter() there.
>>
>> How does this interact with patch #11?
> 
> It is a requirement for patch 11, in fact. If we called disable() when
> switching out a task, then lazy_mmu_state.enabled would (most likely) be
> false when scheduling it again.
> 
> By calling the arch_* helpers when context-switching, we ensure
> lazy_mmu_state remains unchanged. This is consistent with what happens
> on all other architectures (which don't do anything about lazy_mmu when
> context-switching). lazy_mmu_state is the lazy MMU status *when the task
> is scheduled*, and should be preserved on a context-switch.

Okay, thanks for clarifying. That whole XEN stuff here is rather horrible.

> 
>>
>>>
>>> Note: x86 calls arch_flush_lazy_mmu_mode() unconditionally in a few
>>> places, but only defines it if PARAVIRT_XXL is selected, and we are
>>> removing the fallback in <linux/pgtable.h>. Add a new fallback
>>> definition to <asm/pgtable.h> to keep things building.
>>
>> I can see a call in __kernel_map_pages() and
>> arch_kmap_local_post_map()/arch_kmap_local_post_unmap().
>>
>> I guess that is ... harmless/irrelevant in the context of this series?
> 
> It should be. arch_flush_lazy_mmu_mode() was only used by x86 before
> this series; we're adding new calls to it from the generic layer, but
> existing x86 calls shouldn't be affected.

Okay, I'd like to understand the rules when arch_flush_lazy_mmu_mode() 
would actually be required in such arch code, but that's outside of the 
scope of your patch series.


-- 
Cheers

David / dhildenb



From xen-devel-bounces@lists.xenproject.org Fri Oct 24 14:33:13 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Oct 2025 14:33:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1150396.1481543 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCIqg-0006jZ-J7; Fri, 24 Oct 2025 14:32:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1150396.1481543; Fri, 24 Oct 2025 14:32:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCIqg-0006jS-GW; Fri, 24 Oct 2025 14:32:58 +0000
Received: by outflank-mailman (input) for mailman id 1150396;
 Fri, 24 Oct 2025 14:32:57 +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
 <SRS0=rNzd=5B=arm.com=kevin.brodsky@srs-se1.protection.inumbo.net>)
 id 1vCIqf-0006jM-SA
 for xen-devel@lists.xenproject.org; Fri, 24 Oct 2025 14:32:57 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 5141bf03-b0e6-11f0-980a-7dc792cee155;
 Fri, 24 Oct 2025 16:32:50 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id BDD53175A;
 Fri, 24 Oct 2025 07:32:41 -0700 (PDT)
Received: from [10.44.160.74] (e126510-lin.lund.arm.com [10.44.160.74])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 3F9233F66E;
 Fri, 24 Oct 2025 07:32:42 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5141bf03-b0e6-11f0-980a-7dc792cee155
Message-ID: <28bf77c0-3aa9-4c41-aa2b-368321355dbb@arm.com>
Date: Fri, 24 Oct 2025 16:32:39 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 06/13] mm: introduce generic lazy_mmu helpers
To: David Hildenbrand <david@redhat.com>, linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org, Alexander Gordeev <agordeev@linux.ibm.com>,
 Andreas Larsson <andreas@gaisler.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, Borislav Petkov
 <bp@alien8.de>, Catalin Marinas <catalin.marinas@arm.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 Dave Hansen <dave.hansen@linux.intel.com>,
 "David S. Miller" <davem@davemloft.net>, "H. Peter Anvin" <hpa@zytor.com>,
 Ingo Molnar <mingo@redhat.com>, Jann Horn <jannh@google.com>,
 Juergen Gross <jgross@suse.com>, "Liam R. Howlett"
 <Liam.Howlett@oracle.com>, Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>, Michal Hocko <mhocko@suse.com>,
 Mike Rapoport <rppt@kernel.org>, Nicholas Piggin <npiggin@gmail.com>,
 Peter Zijlstra <peterz@infradead.org>, Ryan Roberts <ryan.roberts@arm.com>,
 Suren Baghdasaryan <surenb@google.com>, Thomas Gleixner
 <tglx@linutronix.de>, Vlastimil Babka <vbabka@suse.cz>,
 Will Deacon <will@kernel.org>, Yeoreum Yun <yeoreum.yun@arm.com>,
 linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org,
 sparclinux@vger.kernel.org, xen-devel@lists.xenproject.org, x86@kernel.org
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
 <20251015082727.2395128-7-kevin.brodsky@arm.com>
 <73b274b7-f419-4e2e-8620-d557bac30dc2@redhat.com>
 <390e41ae-4b66-40c1-935f-7a1794ba0b71@arm.com>
 <f8d22ae0-4e36-4537-903f-28164c850fdb@redhat.com>
Content-Language: en-GB
From: Kevin Brodsky <kevin.brodsky@arm.com>
In-Reply-To: <f8d22ae0-4e36-4537-903f-28164c850fdb@redhat.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 24/10/2025 15:27, David Hildenbrand wrote:
> On 24.10.25 14:13, Kevin Brodsky wrote:
>> On 23/10/2025 21:52, David Hildenbrand wrote:
>>> On 15.10.25 10:27, Kevin Brodsky wrote:
>>>> [...]
>>>>
>>>> * madvise_*_pte_range() call arch_leave() in multiple paths, some
>>>> Â Â Â  followed by an immediate exit/rescheduling and some followed by a
>>>> Â Â Â  conditional exit. These functions assume that they are called
>>>> Â Â Â  with lazy MMU disabled and we cannot simply use pause()/resume()
>>>> Â Â Â  to address that. This patch leaves the situation unchanged by
>>>> Â Â Â  calling enable()/disable() in all cases.
>>>
>>> I'm confused, the function simply does
>>>
>>> (a) enables lazy mmu
>>> (b) does something on the page table
>>> (c) disables lazy mmu
>>> (d) does something expensive (split folio -> take sleepable locks,
>>> Â Â Â Â  flushes tlb)
>>> (e) go to (a)
>>
>> That step is conditional: we exit right away if pte_offset_map_lock()
>> fails. The fundamental issue is that pause() must always be matched with
>> resume(), but as those functions look today there is no situation where
>> a pause() would always be matched with a resume().
>
> We have matches enable/disable, so my question is rather "why" you are
> even thinking about using pause/resume?
>
> What would be the benefit of that? If there is no benefit then just
> drop this from the patch description as it's more confusing than just
> ... doing what the existing code does :)

Ah sorry I misunderstood, I guess you originally meant: why would we use
pause()/resume()?

The issue is the one I mentioned in the commit message: using
enable()/disable(), we assume that the functions are called with lazy
MMU mode is disabled. Consider:

Â  lazy_mmu_mode_enable()
Â  madvise_cold_or_pageout_pte_range():
Â  Â Â lazy_mmu_mode_enable()
Â  Â  ...
Â  Â  if (need_resched()) {
Â  Â  Â Â lazy_mmu_mode_disable()
Â  Â  Â  cond_resched() // lazy MMU still enabled
Â  Â  }

This will explode on architectures that do not allow sleeping while in
lazy MMU mode. I'm not saying this is an actual problem - I don't see
why those functions would be called with lazy MMU mode enabled. But it
does go against the notion that nesting works everywhere.

>
>>>
>>> Why would we use enable/disable instead?
>>>
>>>>
>>>> * x86/Xen is currently the only case where explicit handling is
>>>> Â Â Â  required for lazy MMU when context-switching. This is purely an
>>>> Â Â Â  implementation detail and using the generic lazy_mmu_mode_*
>>>> Â Â Â  functions would cause trouble when nesting support is introduced,
>>>> Â Â Â  because the generic functions must be called from the current
>>>> task.
>>>> Â Â Â  For that reason we still use arch_leave() and arch_enter() there.
>>>
>>> How does this interact with patch #11?
>>
>> It is a requirement for patch 11, in fact. If we called disable() when
>> switching out a task, then lazy_mmu_state.enabled would (most likely) be
>> false when scheduling it again.
>>
>> By calling the arch_* helpers when context-switching, we ensure
>> lazy_mmu_state remains unchanged. This is consistent with what happens
>> on all other architectures (which don't do anything about lazy_mmu when
>> context-switching). lazy_mmu_state is the lazy MMU status *when the task
>> is scheduled*, and should be preserved on a context-switch.
>
> Okay, thanks for clarifying. That whole XEN stuff here is rather horrible.

Can't say I disagree... I tried to simplify it further, but the
Xen-specific "LAZY_CPU" mode makes it just too difficult.

>
>>
>>>
>>>>
>>>> Note: x86 calls arch_flush_lazy_mmu_mode() unconditionally in a few
>>>> places, but only defines it if PARAVIRT_XXL is selected, and we are
>>>> removing the fallback in <linux/pgtable.h>. Add a new fallback
>>>> definition to <asm/pgtable.h> to keep things building.
>>>
>>> I can see a call in __kernel_map_pages() and
>>> arch_kmap_local_post_map()/arch_kmap_local_post_unmap().
>>>
>>> I guess that is ... harmless/irrelevant in the context of this series?
>>
>> It should be. arch_flush_lazy_mmu_mode() was only used by x86 before
>> this series; we're adding new calls to it from the generic layer, but
>> existing x86 calls shouldn't be affected.
>
> Okay, I'd like to understand the rules when arch_flush_lazy_mmu_mode()
> would actually be required in such arch code, but that's outside of
> the scope of your patch series.Â 

Not too sure either. A little archaeology shows that the calls were
added by [1][2]. Chances are [1] is no longer relevant since lazy_mmu
isn't directly used in copy_page_range().Â 

I think [2] is still required - __kernel_map_pages() can be called while
lazy MMU is already enabled, and AIUI the mapping changes should take
effect by the time __kernel_map_pages() returns. On arm64 we shouldn't
have this problem by virtue of __kernel_map_pages() using lazy_mmu
itself, meaning that the nested call to disable() will trigger a flush.
(This case is in fact the original motivation for supporting nesting.)

- Kevin

[1]
https://lore.kernel.org/all/1319573279-13867-2-git-send-email-konrad.wilk@oracle.com/
[2]
https://lore.kernel.org/all/1365703192-2089-1-git-send-email-boris.ostrovsky@oracle.com/



From xen-devel-bounces@lists.xenproject.org Fri Oct 24 14:33:37 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Oct 2025 14:33:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1150404.1481553 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCIrJ-000799-RF; Fri, 24 Oct 2025 14:33:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1150404.1481553; Fri, 24 Oct 2025 14:33:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCIrJ-000792-OX; Fri, 24 Oct 2025 14:33:37 +0000
Received: by outflank-mailman (input) for mailman id 1150404;
 Fri, 24 Oct 2025 14:33: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
 <SRS0=rNzd=5B=arm.com=kevin.brodsky@srs-se1.protection.inumbo.net>)
 id 1vCIrI-0006jM-SU
 for xen-devel@lists.xenproject.org; Fri, 24 Oct 2025 14:33:36 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 6bd6138b-b0e6-11f0-980a-7dc792cee155;
 Fri, 24 Oct 2025 16:33:34 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 66B1C1516;
 Fri, 24 Oct 2025 07:33:26 -0700 (PDT)
Received: from [10.44.160.74] (e126510-lin.lund.arm.com [10.44.160.74])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id D7FEF3F66E;
 Fri, 24 Oct 2025 07:33:25 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6bd6138b-b0e6-11f0-980a-7dc792cee155
Message-ID: <f458fbed-266b-48a5-a6e0-745dc2893a34@arm.com>
Date: Fri, 24 Oct 2025 16:33:21 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 07/13] mm: enable lazy_mmu sections to nest
To: David Hildenbrand <david@redhat.com>, linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org, Alexander Gordeev <agordeev@linux.ibm.com>,
 Andreas Larsson <andreas@gaisler.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, Borislav Petkov
 <bp@alien8.de>, Catalin Marinas <catalin.marinas@arm.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 Dave Hansen <dave.hansen@linux.intel.com>,
 "David S. Miller" <davem@davemloft.net>, "H. Peter Anvin" <hpa@zytor.com>,
 Ingo Molnar <mingo@redhat.com>, Jann Horn <jannh@google.com>,
 Juergen Gross <jgross@suse.com>, "Liam R. Howlett"
 <Liam.Howlett@oracle.com>, Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>, Michal Hocko <mhocko@suse.com>,
 Mike Rapoport <rppt@kernel.org>, Nicholas Piggin <npiggin@gmail.com>,
 Peter Zijlstra <peterz@infradead.org>, Ryan Roberts <ryan.roberts@arm.com>,
 Suren Baghdasaryan <surenb@google.com>, Thomas Gleixner
 <tglx@linutronix.de>, Vlastimil Babka <vbabka@suse.cz>,
 Will Deacon <will@kernel.org>, Yeoreum Yun <yeoreum.yun@arm.com>,
 linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org,
 sparclinux@vger.kernel.org, xen-devel@lists.xenproject.org, x86@kernel.org
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
 <20251015082727.2395128-8-kevin.brodsky@arm.com>
 <2073294c-8003-451a-93e0-9aab81de4d22@redhat.com>
 <7a4e136b-66a5-4244-ab07-f0bcc3a26a83@arm.com>
 <af4414b6-617c-4dc8-bddc-3ea00d1f6f3b@redhat.com>
Content-Language: en-GB
From: Kevin Brodsky <kevin.brodsky@arm.com>
In-Reply-To: <af4414b6-617c-4dc8-bddc-3ea00d1f6f3b@redhat.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 24/10/2025 15:23, David Hildenbrand wrote:
>>>> + * currently enabled.
>>>> Â Â Â  */
>>>> Â Â  #ifdef CONFIG_ARCH_LAZY_MMU
>>>> Â Â  static inline void lazy_mmu_mode_enable(void)
>>>> Â Â  {
>>>> -Â Â Â  arch_enter_lazy_mmu_mode();
>>>> +Â Â Â  struct lazy_mmu_state *state = &current->lazy_mmu_state;
>>>> +
>>>> +Â Â Â  VM_BUG_ON(state->count == U8_MAX);
>>>
>>> No VM_BUG_ON() please.
>>
>> I did wonder if this would be acceptable!
>
> Use VM_WARN_ON_ONCE() and let early testing find any such issues.
>
> VM_* is active in debug kernels only either way! :)

That was my intention - I don't think the checking overhead is justified
in production.

>
> If you'd want to handle this in production kernels you'd need
>
> if (WARN_ON_ONCE()) {
> Â Â Â Â /* Try to recover */
> }
>
> And that seems unnecessary/overly-complicated for something that
> should never happen, and if it happens, can be found early during testing.

Got it. Then I guess I'll go for a VM_WARN_ON_ONCE() (because indeed
once the overflow/underflow occurs it'll go wrong on every
enable/disable pair).

>
>>
>> What should we do in case of underflow/overflow then? Saturate or just
>> let it wrap around? If an overflow occurs we're probably in some
>> infinite recursion and we'll crash anyway, but an underflow is likely
>> due to a double disable() and saturating would probably allow to
>> recover.
>>
>>>
>>>> +Â Â Â  /* enable() must not be called while paused */
>>>> +Â Â Â  VM_WARN_ON(state->count > 0 && !state->enabled);
>>>> +
>>>> +Â Â Â  if (state->count == 0) {
>>>> +Â Â Â Â Â Â Â  arch_enter_lazy_mmu_mode();
>>>> +Â Â Â Â Â Â Â  state->enabled = true;
>>>> +Â Â Â  }
>>>> +Â Â Â  ++state->count;
>>>
>>> Can do
>>>
>>> if (state->count++ == 0) {
>>
>> My idea here was to have exactly the reverse order between enable() and
>> disable(), so that arch_enter() is called before lazy_mmu_state is
>> updated, and arch_leave() afterwards. arch_* probably shouldn't rely on
>> this (or care), but I liked the symmetry.
>
> I see, but really the arch callback should never have to care about that
> value -- unless something is messed up :)

Fair enough, then I can fold those increments/decrements ;)

- Kevin


From xen-devel-bounces@lists.xenproject.org Fri Oct 24 14:42:28 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Oct 2025 14:42:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1150419.1481564 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCIzn-0000bm-MY; Fri, 24 Oct 2025 14:42:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1150419.1481564; Fri, 24 Oct 2025 14:42:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCIzn-0000bf-Jn; Fri, 24 Oct 2025 14:42:23 +0000
Received: by outflank-mailman (input) for mailman id 1150419;
 Fri, 24 Oct 2025 14:42:22 +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 <SRS0=7Ac/=5B=redhat.com=david@srs-se1.protection.inumbo.net>)
 id 1vCIzm-0000bZ-8m
 for xen-devel@lists.xenproject.org; Fri, 24 Oct 2025 14:42:22 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.129.124])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a1e059b5-b0e7-11f0-980a-7dc792cee155;
 Fri, 24 Oct 2025 16:42:15 +0200 (CEST)
Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com
 [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-487-IuZTu7vxOoKPTM3vXJ00bA-1; Fri, 24 Oct 2025 10:42:13 -0400
Received: by mail-wm1-f69.google.com with SMTP id
 5b1f17b1804b1-46e47d14dceso9549685e9.2
 for <xen-devel@lists.xenproject.org>; Fri, 24 Oct 2025 07:42:12 -0700 (PDT)
Received: from ?IPV6:2003:d8:2f4e:3200:c99d:a38b:3f3a:d4b3?
 (p200300d82f4e3200c99da38b3f3ad4b3.dip0.t-ipconnect.de.
 [2003:d8:2f4e:3200:c99d:a38b:3f3a:d4b3])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-475caf152absm113608615e9.9.2025.10.24.07.42.08
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 24 Oct 2025 07:42:10 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a1e059b5-b0e7-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1761316934;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
	bh=zuMO3Gm17MlJedQR/JASyV8PKolk4umw1nTXePw16OU=;
	b=afWfOESkDtwzZGo5pJQet3VG9cTO8tHC6nwtnUSbHnQCxnd/HlMR2cIApLL+Uwa+PxXcjz
	W37bi6MvfgCmAfN/4tb2YmpA/N1HCCnpCo/lXLmjdZ5NazVIotlX7gYZ/oz5NMF8o7xnGt
	zR14fWmmgnCkUjZ1edWTe67axk80fZU=
X-MC-Unique: IuZTu7vxOoKPTM3vXJ00bA-1
X-Mimecast-MFC-AGG-ID: IuZTu7vxOoKPTM3vXJ00bA_1761316932
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761316932; x=1761921732;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :from:references:cc:to:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=zuMO3Gm17MlJedQR/JASyV8PKolk4umw1nTXePw16OU=;
        b=oN7QsIhhwpxjz6Dg2jTncS6rIubdJklwjTPrtLC9HNJnf59GSfxysXJZjsYU/usS33
         GGPT2JkyzqcsvqTb4p3EYFcPnjECM42wrlHxcct7lspoX9mLz4ltx8T4KonPvQlkIOtS
         aosJFyFQy9DnGjVShqIURt5PoE91/QWvneiVmHKuWDWJ43ipmA3V+IMq+OW5c2mFbTPB
         hqAyBAJMlMYEFzec5MNxIYUY2k9lYjGUAQ5+K1BbGod3R9CMVXnfiXnpMkS5YyAVZoxb
         ntGW+hrQnnArSXqXF+2QUbq0zYidP8e0JbgWpHFm+lyzZI5iP5y9RKqJtkVWqX/8InLk
         d12A==
X-Forwarded-Encrypted: i=1; AJvYcCXO0kKSkJIw4DOGm5NVDxIZ5CHceKDlO1/ET/EGof9+0KRfVlzUMVP17Y9RFU4qJ2Bhz2K72qSj4qg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxVJbLgUb23O4Cdq3hyb16WNh4AKwbFA12j8mo+hIU53F+0IEml
	k/IMakclkrIgF8/1AgYMaEGxu+vVIAe3Qzk9RdJdIsHPyDL6GvBmGq93/PEbTqf4hND1DtdPNRm
	M0u2S85xq/sfIJGSn0KfcmSRN0gMxWU2lGAYSEXXup0cZSiE9qAT1Kfsg0qrdtNuNliGq
X-Gm-Gg: ASbGnctFnoZzy6i74p+2KCJroOSkmCi1hs0zg31oRkFeJvN2EROdhCkHCXy6/Ev6GhC
	zt4CYkrpLwptCW9aFfIeEe0/wzxyvGLoV3mY0iuv7bV822PcudWAe5HS8ShudwniUkTW3yetMYy
	ufTrllXpLphl44IpQwOxF80bNj5DqFOm/tzqOARhvyRf5GCZeM783CuGMivRKdUB6R+04fEnQ94
	MWVAt8ZxtgFv8wLvhMiBNvoDBoPDIae3X0ndHsL6JMrSFY884W5I/K27VfTy4pkfgushqZWUuO5
	jMs07cvfmGGIczvRg5iKXv4jqBQ9T9JxpqMt5Elon0BsOT9YMvkc1XfZHC9SaSX/fr8/fHPRxOA
	bNkywKnUIZSzsxmvd/GiLahjPN8sND/CdOp/79Ia+Kol4dFL3QYhjCYVj28H88KMFKl75VeTl+G
	iAC5i6u1IUJNzZkSqGrVaNAtEjyIs=
X-Received: by 2002:a05:600c:a4e:b0:46e:711c:efeb with SMTP id 5b1f17b1804b1-475cb02f5b9mr48174325e9.25.1761316931743;
        Fri, 24 Oct 2025 07:42:11 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IHVhLeriCo5qSkw1pxItKV2BmVweLyKW9vHw/E1IK25wn/MrmDSTPV2yNrI2gB0tW1RttofMw==
X-Received: by 2002:a05:600c:a4e:b0:46e:711c:efeb with SMTP id 5b1f17b1804b1-475cb02f5b9mr48173845e9.25.1761316931347;
        Fri, 24 Oct 2025 07:42:11 -0700 (PDT)
Message-ID: <5d5a85ec-0213-4af3-92a9-c02bb13da073@redhat.com>
Date: Fri, 24 Oct 2025 16:42:08 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 03/13] powerpc/mm: implement arch_flush_lazy_mmu_mode()
To: Kevin Brodsky <kevin.brodsky@arm.com>, linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org, Alexander Gordeev <agordeev@linux.ibm.com>,
 Andreas Larsson <andreas@gaisler.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, Borislav Petkov
 <bp@alien8.de>, Catalin Marinas <catalin.marinas@arm.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 Dave Hansen <dave.hansen@linux.intel.com>,
 "David S. Miller" <davem@davemloft.net>, "H. Peter Anvin" <hpa@zytor.com>,
 Ingo Molnar <mingo@redhat.com>, Jann Horn <jannh@google.com>,
 Juergen Gross <jgross@suse.com>, "Liam R. Howlett"
 <Liam.Howlett@oracle.com>, Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>, Michal Hocko <mhocko@suse.com>,
 Mike Rapoport <rppt@kernel.org>, Nicholas Piggin <npiggin@gmail.com>,
 Peter Zijlstra <peterz@infradead.org>, Ryan Roberts <ryan.roberts@arm.com>,
 Suren Baghdasaryan <surenb@google.com>, Thomas Gleixner
 <tglx@linutronix.de>, Vlastimil Babka <vbabka@suse.cz>,
 Will Deacon <will@kernel.org>, Yeoreum Yun <yeoreum.yun@arm.com>,
 linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org,
 sparclinux@vger.kernel.org, xen-devel@lists.xenproject.org, x86@kernel.org
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
 <20251015082727.2395128-4-kevin.brodsky@arm.com>
 <60c55686-87dd-46d0-884e-80f7d423663b@redhat.com>
 <604f26cb-46c6-4533-8110-0b174eed821d@arm.com>
From: David Hildenbrand <david@redhat.com>
Autocrypt: addr=david@redhat.com; keydata=
 xsFNBFXLn5EBEAC+zYvAFJxCBY9Tr1xZgcESmxVNI/0ffzE/ZQOiHJl6mGkmA1R7/uUpiCjJ
 dBrn+lhhOYjjNefFQou6478faXE6o2AhmebqT4KiQoUQFV4R7y1KMEKoSyy8hQaK1umALTdL
 QZLQMzNE74ap+GDK0wnacPQFpcG1AE9RMq3aeErY5tujekBS32jfC/7AnH7I0v1v1TbbK3Gp
 XNeiN4QroO+5qaSr0ID2sz5jtBLRb15RMre27E1ImpaIv2Jw8NJgW0k/D1RyKCwaTsgRdwuK
 Kx/Y91XuSBdz0uOyU/S8kM1+ag0wvsGlpBVxRR/xw/E8M7TEwuCZQArqqTCmkG6HGcXFT0V9
 PXFNNgV5jXMQRwU0O/ztJIQqsE5LsUomE//bLwzj9IVsaQpKDqW6TAPjcdBDPLHvriq7kGjt
 WhVhdl0qEYB8lkBEU7V2Yb+SYhmhpDrti9Fq1EsmhiHSkxJcGREoMK/63r9WLZYI3+4W2rAc
 UucZa4OT27U5ZISjNg3Ev0rxU5UH2/pT4wJCfxwocmqaRr6UYmrtZmND89X0KigoFD/XSeVv
 jwBRNjPAubK9/k5NoRrYqztM9W6sJqrH8+UWZ1Idd/DdmogJh0gNC0+N42Za9yBRURfIdKSb
 B3JfpUqcWwE7vUaYrHG1nw54pLUoPG6sAA7Mehl3nd4pZUALHwARAQABzSREYXZpZCBIaWxk
 ZW5icmFuZCA8ZGF2aWRAcmVkaGF0LmNvbT7CwZoEEwEIAEQCGwMCF4ACGQEFCwkIBwICIgIG
 FQoJCAsCBBYCAwECHgcWIQQb2cqtc1xMOkYN/MpN3hD3AP+DWgUCaJzangUJJlgIpAAKCRBN
 3hD3AP+DWhAxD/9wcL0A+2rtaAmutaKTfxhTP0b4AAp1r/eLxjrbfbCCmh4pqzBhmSX/4z11
 opn2KqcOsueRF1t2ENLOWzQu3Roiny2HOU7DajqB4dm1BVMaXQya5ae2ghzlJN9SIoopTWlR
 0Af3hPj5E2PYvQhlcqeoehKlBo9rROJv/rjmr2x0yOM8qeTroH/ZzNlCtJ56AsE6Tvl+r7cW
 3x7/Jq5WvWeudKrhFh7/yQ7eRvHCjd9bBrZTlgAfiHmX9AnCCPRPpNGNedV9Yty2Jnxhfmbv
 Pw37LA/jef8zlCDyUh2KCU1xVEOWqg15o1RtTyGV1nXV2O/mfuQJud5vIgzBvHhypc3p6VZJ
 lEf8YmT+Ol5P7SfCs5/uGdWUYQEMqOlg6w9R4Pe8d+mk8KGvfE9/zTwGg0nRgKqlQXrWRERv
 cuEwQbridlPAoQHrFWtwpgYMXx2TaZ3sihcIPo9uU5eBs0rf4mOERY75SK+Ekayv2ucTfjxr
 Kf014py2aoRJHuvy85ee/zIyLmve5hngZTTe3Wg3TInT9UTFzTPhItam6dZ1xqdTGHZYGU0O
 otRHcwLGt470grdiob6PfVTXoHlBvkWRadMhSuG4RORCDpq89vu5QralFNIf3EysNohoFy2A
 LYg2/D53xbU/aa4DDzBb5b1Rkg/udO1gZocVQWrDh6I2K3+cCs7BTQRVy5+RARAA59fefSDR
 9nMGCb9LbMX+TFAoIQo/wgP5XPyzLYakO+94GrgfZjfhdaxPXMsl2+o8jhp/hlIzG56taNdt
 VZtPp3ih1AgbR8rHgXw1xwOpuAd5lE1qNd54ndHuADO9a9A0vPimIes78Hi1/yy+ZEEvRkHk
 /kDa6F3AtTc1m4rbbOk2fiKzzsE9YXweFjQvl9p+AMw6qd/iC4lUk9g0+FQXNdRs+o4o6Qvy
 iOQJfGQ4UcBuOy1IrkJrd8qq5jet1fcM2j4QvsW8CLDWZS1L7kZ5gT5EycMKxUWb8LuRjxzZ
 3QY1aQH2kkzn6acigU3HLtgFyV1gBNV44ehjgvJpRY2cC8VhanTx0dZ9mj1YKIky5N+C0f21
 zvntBqcxV0+3p8MrxRRcgEtDZNav+xAoT3G0W4SahAaUTWXpsZoOecwtxi74CyneQNPTDjNg
 azHmvpdBVEfj7k3p4dmJp5i0U66Onmf6mMFpArvBRSMOKU9DlAzMi4IvhiNWjKVaIE2Se9BY
 FdKVAJaZq85P2y20ZBd08ILnKcj7XKZkLU5FkoA0udEBvQ0f9QLNyyy3DZMCQWcwRuj1m73D
 sq8DEFBdZ5eEkj1dCyx+t/ga6x2rHyc8Sl86oK1tvAkwBNsfKou3v+jP/l14a7DGBvrmlYjO
 59o3t6inu6H7pt7OL6u6BQj7DoMAEQEAAcLBfAQYAQgAJgIbDBYhBBvZyq1zXEw6Rg38yk3e
 EPcA/4NaBQJonNqrBQkmWAihAAoJEE3eEPcA/4NaKtMQALAJ8PzprBEXbXcEXwDKQu+P/vts
 IfUb1UNMfMV76BicGa5NCZnJNQASDP/+bFg6O3gx5NbhHHPeaWz/VxlOmYHokHodOvtL0WCC
 8A5PEP8tOk6029Z+J+xUcMrJClNVFpzVvOpb1lCbhjwAV465Hy+NUSbbUiRxdzNQtLtgZzOV
 Zw7jxUCs4UUZLQTCuBpFgb15bBxYZ/BL9MbzxPxvfUQIPbnzQMcqtpUs21CMK2PdfCh5c4gS
 sDci6D5/ZIBw94UQWmGpM/O1ilGXde2ZzzGYl64glmccD8e87OnEgKnH3FbnJnT4iJchtSvx
 yJNi1+t0+qDti4m88+/9IuPqCKb6Stl+s2dnLtJNrjXBGJtsQG/sRpqsJz5x1/2nPJSRMsx9
 5YfqbdrJSOFXDzZ8/r82HgQEtUvlSXNaXCa95ez0UkOG7+bDm2b3s0XahBQeLVCH0mw3RAQg
 r7xDAYKIrAwfHHmMTnBQDPJwVqxJjVNr7yBic4yfzVWGCGNE4DnOW0vcIeoyhy9vnIa3w1uZ
 3iyY2Nsd7JxfKu1PRhCGwXzRw5TlfEsoRI7V9A8isUCoqE2Dzh3FvYHVeX4Us+bRL/oqareJ
 CIFqgYMyvHj7Q06kTKmauOe4Nf0l0qEkIuIzfoLJ3qr5UyXc2hLtWyT9Ir+lYlX9efqh7mOY
 qIws/H2t
In-Reply-To: <604f26cb-46c6-4533-8110-0b174eed821d@arm.com>
X-Mimecast-Spam-Score: 0
X-Mimecast-MFC-PROC-ID: RAMRvUFV76t1mLc9Y7GBkCILxVh2m-FQ7HdoVcAQNY4_1761316932
X-Mimecast-Originator: redhat.com
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 24.10.25 14:09, Kevin Brodsky wrote:
> On 23/10/2025 21:36, David Hildenbrand wrote:
>> On 15.10.25 10:27, Kevin Brodsky wrote:
>>> [...]
>>>
>>> diff --git a/arch/powerpc/include/asm/book3s/64/tlbflush-hash.h
>>> b/arch/powerpc/include/asm/book3s/64/tlbflush-hash.h
>>> index 146287d9580f..7704dbe8e88d 100644
>>> --- a/arch/powerpc/include/asm/book3s/64/tlbflush-hash.h
>>> +++ b/arch/powerpc/include/asm/book3s/64/tlbflush-hash.h
>>> @@ -41,6 +41,16 @@ static inline void arch_enter_lazy_mmu_mode(void)
>>>  Â Â Â Â Â  batch->active = 1;
>>>  Â  }
>>>  Â  +static inline void arch_flush_lazy_mmu_mode(void)
>>> +{
>>> +Â Â Â  struct ppc64_tlb_batch *batch;
>>> +
>>> +Â Â Â  batch = this_cpu_ptr(&ppc64_tlb_batch);
>>
>> The downside is the double this_cpu_ptr() now on the
>> arch_leave_lazy_mmu_mode() path.
> 
> This is only temporary, patch 9 removes it from arch_enter(). I don't
> think having a redundant this_cpu_ptr() for a few commits is really a
> concern?

Oh, right. Consider mentioning in the patch description

"Note that follow-up patches will remove the double this_cpu_ptr() on 
the arch_leave_lazy_mmu_mode() path again."

-- 
Cheers

David / dhildenb



From xen-devel-bounces@lists.xenproject.org Fri Oct 24 14:48:26 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Oct 2025 14:48:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1150436.1481574 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCJ5Y-0001Sa-EQ; Fri, 24 Oct 2025 14:48:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1150436.1481574; Fri, 24 Oct 2025 14:48:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCJ5Y-0001ST-BI; Fri, 24 Oct 2025 14:48:20 +0000
Received: by outflank-mailman (input) for mailman id 1150436;
 Fri, 24 Oct 2025 14:48:19 +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
 <SRS0=WT84=5B=casper.srs.infradead.org=BATV+b7f0eb53100f8146c054+8097+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1vCJ5W-0001SN-2V
 for xen-devel@lists.xenproject.org; Fri, 24 Oct 2025 14:48:19 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 78f60148-b0e8-11f0-9d16-b5c5bf9af7f9;
 Fri, 24 Oct 2025 16:48:16 +0200 (CEST)
Received: from [2001:8b0:10b:5:d8ad:45c0:47cf:4bed]
 (helo=u09cd745991455d.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.98.2 #2 (Red Hat Linux))
 id 1vCJ4w-00000003ExO-3GpU; Fri, 24 Oct 2025 14:47:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 78f60148-b0e8-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=vqFLBMeCF7CFCbe19l4VmgAvbXXScMbZ2sOBRvHUFps=; b=IKkdLumcFBTV2g740ImMBco/ao
	zTxg88/C31loa/DvTJsAtejfRX51CjAeJWW/3zhHVaucxjAb1/O5wdm4k5Y/ZxKoyWOYrr/9qTAt0
	mzxnbI3iirB6ReChD9/pYVynbQsaGsv0X/xel2wytNJG4Zm9FkbCx31Zuz752zr1TnJZU3ZxGFQm/
	WU7s1ljot4DDGAldGT2wRQUQt3+LwfS22Czh25yAnm1XNj5HnjGeVq5W57wjo5Zz2odUTmZiDYYAp
	UlKEch7rkUmGzu80YLM7Xt2Ws2NLsw3KhwANFV03LwYEzLJZp71LOGRBuz7HJgUhJ9CM8lYmRAvmM
	/cnTMOvw==;
Message-ID: <348e5f1c5a90e4ab0f14b4d997baf7169745bf04.camel@infradead.org>
Subject: Re: [PATCH v3 11/13] x86/xen: use lazy_mmu_state when
 context-switching
From: David Woodhouse <dwmw2@infradead.org>
To: David Hildenbrand <david@redhat.com>, Kevin Brodsky
 <kevin.brodsky@arm.com>,  linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org, Alexander Gordeev
 <agordeev@linux.ibm.com>,  Andreas Larsson <andreas@gaisler.com>, Andrew
 Morton <akpm@linux-foundation.org>, Boris Ostrovsky
 <boris.ostrovsky@oracle.com>, Borislav Petkov <bp@alien8.de>, Catalin
 Marinas <catalin.marinas@arm.com>, Christophe Leroy
 <christophe.leroy@csgroup.eu>,  Dave Hansen <dave.hansen@linux.intel.com>,
 "David S. Miller" <davem@davemloft.net>, "H. Peter Anvin" <hpa@zytor.com>,
 Ingo Molnar <mingo@redhat.com>, Jann Horn <jannh@google.com>,  Juergen
 Gross <jgross@suse.com>, "Liam R. Howlett" <Liam.Howlett@oracle.com>,
 Lorenzo Stoakes <lorenzo.stoakes@oracle.com>, Madhavan Srinivasan
 <maddy@linux.ibm.com>,  Michael Ellerman <mpe@ellerman.id.au>, Michal Hocko
 <mhocko@suse.com>, Mike Rapoport <rppt@kernel.org>, Nicholas Piggin
 <npiggin@gmail.com>, Peter Zijlstra <peterz@infradead.org>, Ryan Roberts
 <ryan.roberts@arm.com>, Suren Baghdasaryan <surenb@google.com>, Thomas
 Gleixner <tglx@linutronix.de>, Vlastimil Babka <vbabka@suse.cz>, Will
 Deacon <will@kernel.org>, Yeoreum Yun <yeoreum.yun@arm.com>, 
 linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org, 
 sparclinux@vger.kernel.org, xen-devel@lists.xenproject.org, x86@kernel.org
Date: Fri, 24 Oct 2025 15:47:43 +0100
In-Reply-To: <f0067f35-1048-4788-8401-f71d297f56f3@redhat.com>
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
	 <20251015082727.2395128-12-kevin.brodsky@arm.com>
	 <f0067f35-1048-4788-8401-f71d297f56f3@redhat.com>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-KCNFYCezFnaGZQ+WN2tw"
User-Agent: Evolution 3.52.3-0ubuntu1 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html


--=-KCNFYCezFnaGZQ+WN2tw
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, 2025-10-23 at 22:06 +0200, David Hildenbrand wrote:
> On 15.10.25 10:27, Kevin Brodsky wrote:
> > We currently set a TIF flag when scheduling out a task that is in
> > lazy MMU mode, in order to restore it when the task is scheduled
> > again.
> >=20
> > The generic lazy_mmu layer now tracks whether a task is in lazy MMU
> > mode in task_struct::lazy_mmu_state. We can therefore check that
> > state when switching to the new task, instead of using a separate
> > TIF flag.
> >=20
> > Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
> > ---
>=20
>=20
> Looks ok to me, but I hope we get some confirmation from x86 / xen
> folks.


I know tglx has shouted at me in the past for precisely this reminder,
but you know you can test Xen guests under QEMU/KVM now and don't need
to actually run Xen? Has this been boot tested?

--=-KCNFYCezFnaGZQ+WN2tw
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCD9Aw
ggSOMIIDdqADAgECAhAOmiw0ECVD4cWj5DqVrT9PMA0GCSqGSIb3DQEBCwUAMGUxCzAJBgNVBAYT
AlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xJDAi
BgNVBAMTG0RpZ2lDZXJ0IEFzc3VyZWQgSUQgUm9vdCBDQTAeFw0yNDAxMzAwMDAwMDBaFw0zMTEx
MDkyMzU5NTlaMEExCzAJBgNVBAYTAkFVMRAwDgYDVQQKEwdWZXJva2V5MSAwHgYDVQQDExdWZXJv
a2V5IFNlY3VyZSBFbWFpbCBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMjvgLKj
jfhCFqxYyRiW8g3cNFAvltDbK5AzcOaR7yVzVGadr4YcCVxjKrEJOgi7WEOH8rUgCNB5cTD8N/Et
GfZI+LGqSv0YtNa54T9D1AWJy08ZKkWvfGGIXN9UFAPMJ6OLLH/UUEgFa+7KlrEvMUupDFGnnR06
aDJAwtycb8yXtILj+TvfhLFhafxroXrflspavejQkEiHjNjtHnwbZ+o43g0/yxjwnarGI3kgcak7
nnI9/8Lqpq79tLHYwLajotwLiGTB71AGN5xK+tzB+D4eN9lXayrjcszgbOv2ZCgzExQUAIt98mre
8EggKs9mwtEuKAhYBIP/0K6WsoMnQCcCAwEAAaOCAVwwggFYMBIGA1UdEwEB/wQIMAYBAf8CAQAw
HQYDVR0OBBYEFIlICOogTndrhuWByNfhjWSEf/xwMB8GA1UdIwQYMBaAFEXroq/0ksuCMS1Ri6en
IZ3zbcgPMA4GA1UdDwEB/wQEAwIBhjAdBgNVHSUEFjAUBggrBgEFBQcDBAYIKwYBBQUHAwIweQYI
KwYBBQUHAQEEbTBrMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wQwYIKwYB
BQUHMAKGN2h0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEFzc3VyZWRJRFJvb3RD
QS5jcnQwRQYDVR0fBD4wPDA6oDigNoY0aHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0
QXNzdXJlZElEUm9vdENBLmNybDARBgNVHSAECjAIMAYGBFUdIAAwDQYJKoZIhvcNAQELBQADggEB
ACiagCqvNVxOfSd0uYfJMiZsOEBXAKIR/kpqRp2YCfrP4Tz7fJogYN4fxNAw7iy/bPZcvpVCfe/H
/CCcp3alXL0I8M/rnEnRlv8ItY4MEF+2T/MkdXI3u1vHy3ua8SxBM8eT9LBQokHZxGUX51cE0kwa
uEOZ+PonVIOnMjuLp29kcNOVnzf8DGKiek+cT51FvGRjV6LbaxXOm2P47/aiaXrDD5O0RF5SiPo6
xD1/ClkCETyyEAE5LRJlXtx288R598koyFcwCSXijeVcRvBB1cNOLEbg7RMSw1AGq14fNe2cH1HG
W7xyduY/ydQt6gv5r21mDOQ5SaZSWC/ZRfLDuEYwggWbMIIEg6ADAgECAhAH5JEPagNRXYDiRPdl
c1vgMA0GCSqGSIb3DQEBCwUAMEExCzAJBgNVBAYTAkFVMRAwDgYDVQQKEwdWZXJva2V5MSAwHgYD
VQQDExdWZXJva2V5IFNlY3VyZSBFbWFpbCBHMjAeFw0yNDEyMzAwMDAwMDBaFw0yODAxMDQyMzU5
NTlaMB4xHDAaBgNVBAMME2R3bXcyQGluZnJhZGVhZC5vcmcwggIiMA0GCSqGSIb3DQEBAQUAA4IC
DwAwggIKAoICAQDali7HveR1thexYXx/W7oMk/3Wpyppl62zJ8+RmTQH4yZeYAS/SRV6zmfXlXaZ
sNOE6emg8WXLRS6BA70liot+u0O0oPnIvnx+CsMH0PD4tCKSCsdp+XphIJ2zkC9S7/yHDYnqegqt
w4smkqUqf0WX/ggH1Dckh0vHlpoS1OoxqUg+ocU6WCsnuz5q5rzFsHxhD1qGpgFdZEk2/c//ZvUN
i12vPWipk8TcJwHw9zoZ/ZrVNybpMCC0THsJ/UEVyuyszPtNYeYZAhOJ41vav1RhZJzYan4a1gU0
kKBPQklcpQEhq48woEu15isvwWh9/+5jjh0L+YNaN0I//nHSp6U9COUG9Z0cvnO8FM6PTqsnSbcc
0j+GchwOHRC7aP2t5v2stVx3KbptaYEzi4MQHxm/0+HQpMEVLLUiizJqS4PWPU6zfQTOMZ9uLQRR
ci+c5xhtMEBszlQDOvEQcyEG+hc++fH47K+MmZz21bFNfoBxLP6bjR6xtPXtREF5lLXxp+CJ6KKS
blPKeVRg/UtyJHeFKAZXO8Zeco7TZUMVHmK0ZZ1EpnZbnAhKE19Z+FJrQPQrlR0gO3lBzuyPPArV
hvWxjlO7S4DmaEhLzarWi/ze7EGwWSuI2eEa/8zU0INUsGI4ywe7vepQz7IqaAovAX0d+f1YjbmC
VsAwjhLmveFjNwIDAQABo4IBsDCCAawwHwYDVR0jBBgwFoAUiUgI6iBOd2uG5YHI1+GNZIR//HAw
HQYDVR0OBBYEFFxiGptwbOfWOtMk5loHw7uqWUOnMDAGA1UdEQQpMCeBE2R3bXcyQGluZnJhZGVh
ZC5vcmeBEGRhdmlkQHdvb2Rob3Uuc2UwFAYDVR0gBA0wCzAJBgdngQwBBQEBMA4GA1UdDwEB/wQE
AwIF4DAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwQwewYDVR0fBHQwcjA3oDWgM4YxaHR0
cDovL2NybDMuZGlnaWNlcnQuY29tL1Zlcm9rZXlTZWN1cmVFbWFpbEcyLmNybDA3oDWgM4YxaHR0
cDovL2NybDQuZGlnaWNlcnQuY29tL1Zlcm9rZXlTZWN1cmVFbWFpbEcyLmNybDB2BggrBgEFBQcB
AQRqMGgwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBABggrBgEFBQcwAoY0
aHR0cDovL2NhY2VydHMuZGlnaWNlcnQuY29tL1Zlcm9rZXlTZWN1cmVFbWFpbEcyLmNydDANBgkq
hkiG9w0BAQsFAAOCAQEAQXc4FPiPLRnTDvmOABEzkIumojfZAe5SlnuQoeFUfi+LsWCKiB8Uextv
iBAvboKhLuN6eG/NC6WOzOCppn4mkQxRkOdLNThwMHW0d19jrZFEKtEG/epZ/hw/DdScTuZ2m7im
8ppItAT6GXD3aPhXkXnJpC/zTs85uNSQR64cEcBFjjoQDuSsTeJ5DAWf8EMyhMuD8pcbqx5kRvyt
JPsWBQzv1Dsdv2LDPLNd/JUKhHSgr7nbUr4+aAP2PHTXGcEBh8lTeYea9p4d5k969pe0OHYMV5aL
xERqTagmSetuIwolkAuBCzA9vulg8Y49Nz2zrpUGfKGOD0FMqenYxdJHgDCCBZswggSDoAMCAQIC
EAfkkQ9qA1FdgOJE92VzW+AwDQYJKoZIhvcNAQELBQAwQTELMAkGA1UEBhMCQVUxEDAOBgNVBAoT
B1Zlcm9rZXkxIDAeBgNVBAMTF1Zlcm9rZXkgU2VjdXJlIEVtYWlsIEcyMB4XDTI0MTIzMDAwMDAw
MFoXDTI4MDEwNDIzNTk1OVowHjEcMBoGA1UEAwwTZHdtdzJAaW5mcmFkZWFkLm9yZzCCAiIwDQYJ
KoZIhvcNAQEBBQADggIPADCCAgoCggIBANqWLse95HW2F7FhfH9bugyT/danKmmXrbMnz5GZNAfj
Jl5gBL9JFXrOZ9eVdpmw04Tp6aDxZctFLoEDvSWKi367Q7Sg+ci+fH4KwwfQ8Pi0IpIKx2n5emEg
nbOQL1Lv/IcNiep6Cq3DiyaSpSp/RZf+CAfUNySHS8eWmhLU6jGpSD6hxTpYKye7PmrmvMWwfGEP
WoamAV1kSTb9z/9m9Q2LXa89aKmTxNwnAfD3Ohn9mtU3JukwILRMewn9QRXK7KzM+01h5hkCE4nj
W9q/VGFknNhqfhrWBTSQoE9CSVylASGrjzCgS7XmKy/BaH3/7mOOHQv5g1o3Qj/+cdKnpT0I5Qb1
nRy+c7wUzo9OqydJtxzSP4ZyHA4dELto/a3m/ay1XHcpum1pgTOLgxAfGb/T4dCkwRUstSKLMmpL
g9Y9TrN9BM4xn24tBFFyL5znGG0wQGzOVAM68RBzIQb6Fz758fjsr4yZnPbVsU1+gHEs/puNHrG0
9e1EQXmUtfGn4InoopJuU8p5VGD9S3Ikd4UoBlc7xl5yjtNlQxUeYrRlnUSmdlucCEoTX1n4UmtA
9CuVHSA7eUHO7I88CtWG9bGOU7tLgOZoSEvNqtaL/N7sQbBZK4jZ4Rr/zNTQg1SwYjjLB7u96lDP
sipoCi8BfR35/ViNuYJWwDCOEua94WM3AgMBAAGjggGwMIIBrDAfBgNVHSMEGDAWgBSJSAjqIE53
a4blgcjX4Y1khH/8cDAdBgNVHQ4EFgQUXGIam3Bs59Y60yTmWgfDu6pZQ6cwMAYDVR0RBCkwJ4ET
ZHdtdzJAaW5mcmFkZWFkLm9yZ4EQZGF2aWRAd29vZGhvdS5zZTAUBgNVHSAEDTALMAkGB2eBDAEF
AQEwDgYDVR0PAQH/BAQDAgXgMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDB7BgNVHR8E
dDByMDegNaAzhjFodHRwOi8vY3JsMy5kaWdpY2VydC5jb20vVmVyb2tleVNlY3VyZUVtYWlsRzIu
Y3JsMDegNaAzhjFodHRwOi8vY3JsNC5kaWdpY2VydC5jb20vVmVyb2tleVNlY3VyZUVtYWlsRzIu
Y3JsMHYGCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQuY29t
MEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vVmVyb2tleVNlY3VyZUVt
YWlsRzIuY3J0MA0GCSqGSIb3DQEBCwUAA4IBAQBBdzgU+I8tGdMO+Y4AETOQi6aiN9kB7lKWe5Ch
4VR+L4uxYIqIHxR7G2+IEC9ugqEu43p4b80LpY7M4KmmfiaRDFGQ50s1OHAwdbR3X2OtkUQq0Qb9
6ln+HD8N1JxO5nabuKbymki0BPoZcPdo+FeRecmkL/NOzzm41JBHrhwRwEWOOhAO5KxN4nkMBZ/w
QzKEy4PylxurHmRG/K0k+xYFDO/UOx2/YsM8s138lQqEdKCvudtSvj5oA/Y8dNcZwQGHyVN5h5r2
nh3mT3r2l7Q4dgxXlovERGpNqCZJ624jCiWQC4ELMD2+6WDxjj03PbOulQZ8oY4PQUyp6djF0keA
MYIDuzCCA7cCAQEwVTBBMQswCQYDVQQGEwJBVTEQMA4GA1UEChMHVmVyb2tleTEgMB4GA1UEAxMX
VmVyb2tleSBTZWN1cmUgRW1haWwgRzICEAfkkQ9qA1FdgOJE92VzW+AwDQYJYIZIAWUDBAIBBQCg
ggE3MBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTI1MTAyNDE0NDc0
M1owLwYJKoZIhvcNAQkEMSIEIOfSUBE+nGvcCdS59evaaEUM6X0l1dKQqIR2JuhOpcoFMGQGCSsG
AQQBgjcQBDFXMFUwQTELMAkGA1UEBhMCQVUxEDAOBgNVBAoTB1Zlcm9rZXkxIDAeBgNVBAMTF1Zl
cm9rZXkgU2VjdXJlIEVtYWlsIEcyAhAH5JEPagNRXYDiRPdlc1vgMGYGCyqGSIb3DQEJEAILMVeg
VTBBMQswCQYDVQQGEwJBVTEQMA4GA1UEChMHVmVyb2tleTEgMB4GA1UEAxMXVmVyb2tleSBTZWN1
cmUgRW1haWwgRzICEAfkkQ9qA1FdgOJE92VzW+AwDQYJKoZIhvcNAQEBBQAEggIAMciufJy9MYsd
WDeEJi4N/JtJvd8gDYSUyaj83ryN94rodLX7VsGJV0GMY0I5t4a1loCRKuIWocUO7VMyQndw4FMK
CD87Xv9h7CmQ6tnvJ3jx1pBPxCms8AMYDNO3psl26IMAf/pBtn2tK4o2ekbEydTz/HB5CU9eHPLV
6hrsUsiw9ELTG53GPQJx+au2JS59MKinh3d+fnIF1uaAksAwrSkko1T1ycGhO0JpoVqvNH18S8aL
lU1FZ6hXNw+0R/PrlIr7OgD2GxTw+5anbQS5kAAnRqarQ+T3tfm+Iv8kG8mJYVDmATySDmWyHl5V
ICeY/G1bGQxQkdmqVQb4uCHVMVVX60TdQa7YCnM3VEDG0WLBjXMmXSykmDUImZEAAxYuYx/fejHB
f6vXUJ6x33DqYjzS15hZExL2+alyKMf7Ib1A7i5kNgl84K4y4qsHU0Mm7ro71EXlbYYjgTR4FpoX
dMp+UqZDufv2snXQ5Hy0XHc0aEC2YIMr1gbWIYdJfsAqXf+B8z8F/snlrvMO0egz0MX2A3TJQxyO
++dEvJWyDBwCCn1+KreR8fCJQKqgZH1dpNtTLvcx1VM+WFzygiroB28JeYqGVmh6JdKQdCx9QJHU
zoV58DbEVN3gjtbuo/9SxAVum5oqvEguswdV/Lbw4vyZtoOXKhyzgxoNJajSsTsAAAAAAAA=


--=-KCNFYCezFnaGZQ+WN2tw--


From xen-devel-bounces@lists.xenproject.org Fri Oct 24 14:52:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Oct 2025 14:52:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1150448.1481584 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCJ98-0002yd-Sd; Fri, 24 Oct 2025 14:52:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1150448.1481584; Fri, 24 Oct 2025 14:52:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCJ98-0002yW-Po; Fri, 24 Oct 2025 14:52:02 +0000
Received: by outflank-mailman (input) for mailman id 1150448;
 Fri, 24 Oct 2025 14:52:01 +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 <SRS0=7Ac/=5B=redhat.com=david@srs-se1.protection.inumbo.net>)
 id 1vCJ97-0002y7-5Y
 for xen-devel@lists.xenproject.org; Fri, 24 Oct 2025 14:52:01 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.129.124])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fd9984aa-b0e8-11f0-9d16-b5c5bf9af7f9;
 Fri, 24 Oct 2025 16:51:59 +0200 (CEST)
Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com
 [209.85.221.70]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-619-wLhLEn2EOy223tcu6qVteg-1; Fri, 24 Oct 2025 10:51:54 -0400
Received: by mail-wr1-f70.google.com with SMTP id
 ffacd0b85a97d-4298955a6d9so1628388f8f.0
 for <xen-devel@lists.xenproject.org>; Fri, 24 Oct 2025 07:51:54 -0700 (PDT)
Received: from ?IPV6:2003:d8:2f4e:3200:c99d:a38b:3f3a:d4b3?
 (p200300d82f4e3200c99da38b3f3ad4b3.dip0.t-ipconnect.de.
 [2003:d8:2f4e:3200:c99d:a38b:3f3a:d4b3])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-429930e35casm833065f8f.30.2025.10.24.07.51.51
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 24 Oct 2025 07:51:52 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fd9984aa-b0e8-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1761317518;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
	bh=sFCSKz+pbfmgnJ7WA2aI9CGgIZh/9VpaZ5Xtmq9YRV8=;
	b=cgK8cgZnko6ZuR2Cu+bpHWRy9VwMYOxklEUJ3RFB09DTD7iyVilY21pLYvfZN+RISJNLCG
	3qx0of+rsKi2+YyUyqaZsFeMwq96YRYjpjW7DpEwRJ2pPKiJxMltXfKw6aCG2F/ialU91W
	5PFGN0Drj0bG51rvHAXRUuSCrQO7w84=
X-MC-Unique: wLhLEn2EOy223tcu6qVteg-1
X-Mimecast-MFC-AGG-ID: wLhLEn2EOy223tcu6qVteg_1761317513
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761317513; x=1761922313;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :from:references:cc:to:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=sFCSKz+pbfmgnJ7WA2aI9CGgIZh/9VpaZ5Xtmq9YRV8=;
        b=mdqJ+8Ru+h1V5QLn3TxzMoCL+QC9DNYAmG98yyqC6qoZciQrkfPSz03Eo4koqlWeDQ
         Td0IhRNhC4R0qRjay1dCQo6ZIgeq1lx2C2dWe+c/+JJuITQkaf4NZaKe6PhNNMh0eYYd
         tHKc9J/Adcg2kRzmoaZk1AAhPMvNjXLJs7AbwJPWVC+dOR0miMea05a/8VM1sBs1vCH8
         ousJmECwOCO2lj5j/VakjLAtCmfpmoSrxRwTHdtQ7lEgEIfD8Tc86tAB4E5myeTggP0o
         V1jrmNdNp67fVK5sm8dA0j96MhKOwt50ltmsja6HjI98w5a3ZceNdaUf5SZ+mEOwiSjf
         NgYQ==
X-Forwarded-Encrypted: i=1; AJvYcCXtz9tcnNNX3CF1DiXBZxcWoEi+ggNeODki0/wOZ1ZLUqkYoXe48ZbIdIMQ/X+Uw/bwJqvdna5PZgY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwhqIq40s+aiBLB5aDPohaOkshpgZexXi99/ZQtxebVx8BBhonH
	+jttvUP/P+vJe7pMybZFPFo8l00agjeG+/k+VwzBdilnllJYuv0Rd4KdwGDKXG5gjcQsXPhr4c5
	B+hIpAuUgR/yOir+eelQ89DtBkD8ALrrCbTxJW4O5s600a994mOQijfM43x6y8ND8Mq5a
X-Gm-Gg: ASbGncvvP0Wwg9qo0tY6giFHGU45NH6QHCBdzIsV2qLsPsyUDeFbrl6uRLWvASQkFem
	3DQlpmXtUM9ucjzPal7IjTP7xe+SypJNAANci9TLZm0lrnXwKfbrLqKXAmjK2aICyKOHKXEmdp9
	U6cVow0IyLdstnNqFEsJbagyVZPFj6RLkEAaFhUKIbdM3W81NYWfK6XraZ3f+LbwvdNaH4GuPls
	YE8lH73n/LqHIZ+a00Eh44oXe5t4LqXsAcLUyKkf7w/tEMYDfSjFpumiK341XGASt6EwRsHVGeY
	s1oYAIM6G20net8szDmdwdJs4sSybYy8jbYJLfJZj5YaqmkTha0E5dIF49RaYLEYE5X0Sxe1/Ne
	LzyTJCTjmWKwTxBKYbMacgrVcmA8DE7GHKcYQjk97P5gKNWpm9xZ7Gy8LYmbFWrhNehNj2aCj1t
	P1Yz6X69mYkqH0s+LP1FBuCHGpaOs=
X-Received: by 2002:a05:6000:2486:b0:429:8e79:a181 with SMTP id ffacd0b85a97d-4298e79a45dmr2899225f8f.56.1761317513375;
        Fri, 24 Oct 2025 07:51:53 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IFAsv5JgYFopD0erwd4B2+Ll31lxxEQOMyEBbus09iXdFkBdtTufzvXtldPYP1cAIE4GNfNHQ==
X-Received: by 2002:a05:6000:2486:b0:429:8e79:a181 with SMTP id ffacd0b85a97d-4298e79a45dmr2899181f8f.56.1761317512945;
        Fri, 24 Oct 2025 07:51:52 -0700 (PDT)
Message-ID: <70723f4a-f42b-4d94-9344-5824e48bfad1@redhat.com>
Date: Fri, 24 Oct 2025 16:51:50 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 11/13] x86/xen: use lazy_mmu_state when
 context-switching
To: David Woodhouse <dwmw2@infradead.org>,
 Kevin Brodsky <kevin.brodsky@arm.com>, linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org, Alexander Gordeev <agordeev@linux.ibm.com>,
 Andreas Larsson <andreas@gaisler.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, Borislav Petkov
 <bp@alien8.de>, Catalin Marinas <catalin.marinas@arm.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 Dave Hansen <dave.hansen@linux.intel.com>,
 "David S. Miller" <davem@davemloft.net>, "H. Peter Anvin" <hpa@zytor.com>,
 Ingo Molnar <mingo@redhat.com>, Jann Horn <jannh@google.com>,
 Juergen Gross <jgross@suse.com>, "Liam R. Howlett"
 <Liam.Howlett@oracle.com>, Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>, Michal Hocko <mhocko@suse.com>,
 Mike Rapoport <rppt@kernel.org>, Nicholas Piggin <npiggin@gmail.com>,
 Peter Zijlstra <peterz@infradead.org>, Ryan Roberts <ryan.roberts@arm.com>,
 Suren Baghdasaryan <surenb@google.com>, Thomas Gleixner
 <tglx@linutronix.de>, Vlastimil Babka <vbabka@suse.cz>,
 Will Deacon <will@kernel.org>, Yeoreum Yun <yeoreum.yun@arm.com>,
 linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org,
 sparclinux@vger.kernel.org, xen-devel@lists.xenproject.org, x86@kernel.org
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
 <20251015082727.2395128-12-kevin.brodsky@arm.com>
 <f0067f35-1048-4788-8401-f71d297f56f3@redhat.com>
 <348e5f1c5a90e4ab0f14b4d997baf7169745bf04.camel@infradead.org>
From: David Hildenbrand <david@redhat.com>
Autocrypt: addr=david@redhat.com; keydata=
 xsFNBFXLn5EBEAC+zYvAFJxCBY9Tr1xZgcESmxVNI/0ffzE/ZQOiHJl6mGkmA1R7/uUpiCjJ
 dBrn+lhhOYjjNefFQou6478faXE6o2AhmebqT4KiQoUQFV4R7y1KMEKoSyy8hQaK1umALTdL
 QZLQMzNE74ap+GDK0wnacPQFpcG1AE9RMq3aeErY5tujekBS32jfC/7AnH7I0v1v1TbbK3Gp
 XNeiN4QroO+5qaSr0ID2sz5jtBLRb15RMre27E1ImpaIv2Jw8NJgW0k/D1RyKCwaTsgRdwuK
 Kx/Y91XuSBdz0uOyU/S8kM1+ag0wvsGlpBVxRR/xw/E8M7TEwuCZQArqqTCmkG6HGcXFT0V9
 PXFNNgV5jXMQRwU0O/ztJIQqsE5LsUomE//bLwzj9IVsaQpKDqW6TAPjcdBDPLHvriq7kGjt
 WhVhdl0qEYB8lkBEU7V2Yb+SYhmhpDrti9Fq1EsmhiHSkxJcGREoMK/63r9WLZYI3+4W2rAc
 UucZa4OT27U5ZISjNg3Ev0rxU5UH2/pT4wJCfxwocmqaRr6UYmrtZmND89X0KigoFD/XSeVv
 jwBRNjPAubK9/k5NoRrYqztM9W6sJqrH8+UWZ1Idd/DdmogJh0gNC0+N42Za9yBRURfIdKSb
 B3JfpUqcWwE7vUaYrHG1nw54pLUoPG6sAA7Mehl3nd4pZUALHwARAQABzSREYXZpZCBIaWxk
 ZW5icmFuZCA8ZGF2aWRAcmVkaGF0LmNvbT7CwZoEEwEIAEQCGwMCF4ACGQEFCwkIBwICIgIG
 FQoJCAsCBBYCAwECHgcWIQQb2cqtc1xMOkYN/MpN3hD3AP+DWgUCaJzangUJJlgIpAAKCRBN
 3hD3AP+DWhAxD/9wcL0A+2rtaAmutaKTfxhTP0b4AAp1r/eLxjrbfbCCmh4pqzBhmSX/4z11
 opn2KqcOsueRF1t2ENLOWzQu3Roiny2HOU7DajqB4dm1BVMaXQya5ae2ghzlJN9SIoopTWlR
 0Af3hPj5E2PYvQhlcqeoehKlBo9rROJv/rjmr2x0yOM8qeTroH/ZzNlCtJ56AsE6Tvl+r7cW
 3x7/Jq5WvWeudKrhFh7/yQ7eRvHCjd9bBrZTlgAfiHmX9AnCCPRPpNGNedV9Yty2Jnxhfmbv
 Pw37LA/jef8zlCDyUh2KCU1xVEOWqg15o1RtTyGV1nXV2O/mfuQJud5vIgzBvHhypc3p6VZJ
 lEf8YmT+Ol5P7SfCs5/uGdWUYQEMqOlg6w9R4Pe8d+mk8KGvfE9/zTwGg0nRgKqlQXrWRERv
 cuEwQbridlPAoQHrFWtwpgYMXx2TaZ3sihcIPo9uU5eBs0rf4mOERY75SK+Ekayv2ucTfjxr
 Kf014py2aoRJHuvy85ee/zIyLmve5hngZTTe3Wg3TInT9UTFzTPhItam6dZ1xqdTGHZYGU0O
 otRHcwLGt470grdiob6PfVTXoHlBvkWRadMhSuG4RORCDpq89vu5QralFNIf3EysNohoFy2A
 LYg2/D53xbU/aa4DDzBb5b1Rkg/udO1gZocVQWrDh6I2K3+cCs7BTQRVy5+RARAA59fefSDR
 9nMGCb9LbMX+TFAoIQo/wgP5XPyzLYakO+94GrgfZjfhdaxPXMsl2+o8jhp/hlIzG56taNdt
 VZtPp3ih1AgbR8rHgXw1xwOpuAd5lE1qNd54ndHuADO9a9A0vPimIes78Hi1/yy+ZEEvRkHk
 /kDa6F3AtTc1m4rbbOk2fiKzzsE9YXweFjQvl9p+AMw6qd/iC4lUk9g0+FQXNdRs+o4o6Qvy
 iOQJfGQ4UcBuOy1IrkJrd8qq5jet1fcM2j4QvsW8CLDWZS1L7kZ5gT5EycMKxUWb8LuRjxzZ
 3QY1aQH2kkzn6acigU3HLtgFyV1gBNV44ehjgvJpRY2cC8VhanTx0dZ9mj1YKIky5N+C0f21
 zvntBqcxV0+3p8MrxRRcgEtDZNav+xAoT3G0W4SahAaUTWXpsZoOecwtxi74CyneQNPTDjNg
 azHmvpdBVEfj7k3p4dmJp5i0U66Onmf6mMFpArvBRSMOKU9DlAzMi4IvhiNWjKVaIE2Se9BY
 FdKVAJaZq85P2y20ZBd08ILnKcj7XKZkLU5FkoA0udEBvQ0f9QLNyyy3DZMCQWcwRuj1m73D
 sq8DEFBdZ5eEkj1dCyx+t/ga6x2rHyc8Sl86oK1tvAkwBNsfKou3v+jP/l14a7DGBvrmlYjO
 59o3t6inu6H7pt7OL6u6BQj7DoMAEQEAAcLBfAQYAQgAJgIbDBYhBBvZyq1zXEw6Rg38yk3e
 EPcA/4NaBQJonNqrBQkmWAihAAoJEE3eEPcA/4NaKtMQALAJ8PzprBEXbXcEXwDKQu+P/vts
 IfUb1UNMfMV76BicGa5NCZnJNQASDP/+bFg6O3gx5NbhHHPeaWz/VxlOmYHokHodOvtL0WCC
 8A5PEP8tOk6029Z+J+xUcMrJClNVFpzVvOpb1lCbhjwAV465Hy+NUSbbUiRxdzNQtLtgZzOV
 Zw7jxUCs4UUZLQTCuBpFgb15bBxYZ/BL9MbzxPxvfUQIPbnzQMcqtpUs21CMK2PdfCh5c4gS
 sDci6D5/ZIBw94UQWmGpM/O1ilGXde2ZzzGYl64glmccD8e87OnEgKnH3FbnJnT4iJchtSvx
 yJNi1+t0+qDti4m88+/9IuPqCKb6Stl+s2dnLtJNrjXBGJtsQG/sRpqsJz5x1/2nPJSRMsx9
 5YfqbdrJSOFXDzZ8/r82HgQEtUvlSXNaXCa95ez0UkOG7+bDm2b3s0XahBQeLVCH0mw3RAQg
 r7xDAYKIrAwfHHmMTnBQDPJwVqxJjVNr7yBic4yfzVWGCGNE4DnOW0vcIeoyhy9vnIa3w1uZ
 3iyY2Nsd7JxfKu1PRhCGwXzRw5TlfEsoRI7V9A8isUCoqE2Dzh3FvYHVeX4Us+bRL/oqareJ
 CIFqgYMyvHj7Q06kTKmauOe4Nf0l0qEkIuIzfoLJ3qr5UyXc2hLtWyT9Ir+lYlX9efqh7mOY
 qIws/H2t
In-Reply-To: <348e5f1c5a90e4ab0f14b4d997baf7169745bf04.camel@infradead.org>
X-Mimecast-Spam-Score: 0
X-Mimecast-MFC-PROC-ID: VE2UOfc4zVAQ2g41mc02zZ9_hcSHxRsrsD8YXqCHSg8_1761317513
X-Mimecast-Originator: redhat.com
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 24.10.25 16:47, David Woodhouse wrote:
> On Thu, 2025-10-23 at 22:06 +0200, David Hildenbrand wrote:
>> On 15.10.25 10:27, Kevin Brodsky wrote:
>>> We currently set a TIF flag when scheduling out a task that is in
>>> lazy MMU mode, in order to restore it when the task is scheduled
>>> again.
>>>
>>> The generic lazy_mmu layer now tracks whether a task is in lazy MMU
>>> mode in task_struct::lazy_mmu_state. We can therefore check that
>>> state when switching to the new task, instead of using a separate
>>> TIF flag.
>>>
>>> Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
>>> ---
>>
>>
>> Looks ok to me, but I hope we get some confirmation from x86 / xen
>> folks.
> 
> 
> I know tglx has shouted at me in the past for precisely this reminder,
> but you know you can test Xen guests under QEMU/KVM now and don't need
> to actually run Xen? Has this been boot tested?

And after that, boot-testing sparc as well? :D

If it's easy, why not. But other people should not suffer for all the 
XEN hacks we keep dragging along.

-- 
Cheers

David / dhildenb



From xen-devel-bounces@lists.xenproject.org Fri Oct 24 14:55:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Oct 2025 14:55:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1150462.1481594 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCJBy-0003Wz-8X; Fri, 24 Oct 2025 14:54:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1150462.1481594; Fri, 24 Oct 2025 14:54:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCJBy-0003Ws-57; Fri, 24 Oct 2025 14:54:58 +0000
Received: by outflank-mailman (input) for mailman id 1150462;
 Fri, 24 Oct 2025 14:54:57 +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
 <SRS0=rNzd=5B=arm.com=kevin.brodsky@srs-se1.protection.inumbo.net>)
 id 1vCJBx-0003WX-D6
 for xen-devel@lists.xenproject.org; Fri, 24 Oct 2025 14:54:57 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 67762173-b0e9-11f0-9d16-b5c5bf9af7f9;
 Fri, 24 Oct 2025 16:54:56 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 8AF2F1424;
 Fri, 24 Oct 2025 07:54:47 -0700 (PDT)
Received: from [10.57.67.38] (unknown [10.57.67.38])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 10A0E3F63F;
 Fri, 24 Oct 2025 07:54:47 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 67762173-b0e9-11f0-9d16-b5c5bf9af7f9
Message-ID: <1b658758-73dc-4e53-aa7f-696f59067067@arm.com>
Date: Fri, 24 Oct 2025 16:54:44 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 03/13] powerpc/mm: implement arch_flush_lazy_mmu_mode()
To: David Hildenbrand <david@redhat.com>, linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org, Alexander Gordeev <agordeev@linux.ibm.com>,
 Andreas Larsson <andreas@gaisler.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, Borislav Petkov
 <bp@alien8.de>, Catalin Marinas <catalin.marinas@arm.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 Dave Hansen <dave.hansen@linux.intel.com>,
 "David S. Miller" <davem@davemloft.net>, "H. Peter Anvin" <hpa@zytor.com>,
 Ingo Molnar <mingo@redhat.com>, Jann Horn <jannh@google.com>,
 Juergen Gross <jgross@suse.com>, "Liam R. Howlett"
 <Liam.Howlett@oracle.com>, Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>, Michal Hocko <mhocko@suse.com>,
 Mike Rapoport <rppt@kernel.org>, Nicholas Piggin <npiggin@gmail.com>,
 Peter Zijlstra <peterz@infradead.org>, Ryan Roberts <ryan.roberts@arm.com>,
 Suren Baghdasaryan <surenb@google.com>, Thomas Gleixner
 <tglx@linutronix.de>, Vlastimil Babka <vbabka@suse.cz>,
 Will Deacon <will@kernel.org>, Yeoreum Yun <yeoreum.yun@arm.com>,
 linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org,
 sparclinux@vger.kernel.org, xen-devel@lists.xenproject.org, x86@kernel.org
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
 <20251015082727.2395128-4-kevin.brodsky@arm.com>
 <60c55686-87dd-46d0-884e-80f7d423663b@redhat.com>
 <604f26cb-46c6-4533-8110-0b174eed821d@arm.com>
 <5d5a85ec-0213-4af3-92a9-c02bb13da073@redhat.com>
Content-Language: en-GB
From: Kevin Brodsky <kevin.brodsky@arm.com>
In-Reply-To: <5d5a85ec-0213-4af3-92a9-c02bb13da073@redhat.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 24/10/2025 16:42, David Hildenbrand wrote:
> On 24.10.25 14:09, Kevin Brodsky wrote:
>> On 23/10/2025 21:36, David Hildenbrand wrote:
>>> On 15.10.25 10:27, Kevin Brodsky wrote:
>>>> [...]
>>>>
>>>> diff --git a/arch/powerpc/include/asm/book3s/64/tlbflush-hash.h
>>>> b/arch/powerpc/include/asm/book3s/64/tlbflush-hash.h
>>>> index 146287d9580f..7704dbe8e88d 100644
>>>> --- a/arch/powerpc/include/asm/book3s/64/tlbflush-hash.h
>>>> +++ b/arch/powerpc/include/asm/book3s/64/tlbflush-hash.h
>>>> @@ -41,6 +41,16 @@ static inline void arch_enter_lazy_mmu_mode(void)
>>>> Â Â Â Â Â Â  batch->active = 1;
>>>> Â Â  }
>>>> Â Â  +static inline void arch_flush_lazy_mmu_mode(void)
>>>> +{
>>>> +Â Â Â  struct ppc64_tlb_batch *batch;
>>>> +
>>>> +Â Â Â  batch = this_cpu_ptr(&ppc64_tlb_batch);
>>>
>>> The downside is the double this_cpu_ptr() now on the
>>> arch_leave_lazy_mmu_mode() path.
>>
>> This is only temporary, patch 9 removes it from arch_enter(). I don't
>> think having a redundant this_cpu_ptr() for a few commits is really a
>> concern?
>
> Oh, right. Consider mentioning in the patch description
>
> "Note that follow-up patches will remove the double this_cpu_ptr() on
> the arch_leave_lazy_mmu_mode() path again."Â 

Sounds good, will do.

- Kevin


From xen-devel-bounces@lists.xenproject.org Fri Oct 24 15:05:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Oct 2025 15:05:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1150476.1481603 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCJM2-0005Ri-3h; Fri, 24 Oct 2025 15:05:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1150476.1481603; Fri, 24 Oct 2025 15:05:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCJM2-0005Rb-0y; Fri, 24 Oct 2025 15:05:22 +0000
Received: by outflank-mailman (input) for mailman id 1150476;
 Fri, 24 Oct 2025 15:05:21 +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
 <SRS0=rNzd=5B=arm.com=kevin.brodsky@srs-se1.protection.inumbo.net>)
 id 1vCJM1-0005RV-4x
 for xen-devel@lists.xenproject.org; Fri, 24 Oct 2025 15:05:21 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id daa34665-b0ea-11f0-980a-7dc792cee155;
 Fri, 24 Oct 2025 17:05:18 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 29D6E14BF;
 Fri, 24 Oct 2025 08:05:10 -0700 (PDT)
Received: from [10.57.67.38] (unknown [10.57.67.38])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 519063F63F;
 Fri, 24 Oct 2025 08:05:10 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: daa34665-b0ea-11f0-980a-7dc792cee155
Message-ID: <6ed9f404-9939-4e9f-b5aa-4253bef46df1@arm.com>
Date: Fri, 24 Oct 2025 17:05:07 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 11/13] x86/xen: use lazy_mmu_state when
 context-switching
To: David Woodhouse <dwmw2@infradead.org>,
 David Hildenbrand <david@redhat.com>, linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org, Alexander Gordeev <agordeev@linux.ibm.com>,
 Andreas Larsson <andreas@gaisler.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, Borislav Petkov
 <bp@alien8.de>, Catalin Marinas <catalin.marinas@arm.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 Dave Hansen <dave.hansen@linux.intel.com>,
 "David S. Miller" <davem@davemloft.net>, "H. Peter Anvin" <hpa@zytor.com>,
 Ingo Molnar <mingo@redhat.com>, Jann Horn <jannh@google.com>,
 Juergen Gross <jgross@suse.com>, "Liam R. Howlett"
 <Liam.Howlett@oracle.com>, Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>, Michal Hocko <mhocko@suse.com>,
 Mike Rapoport <rppt@kernel.org>, Nicholas Piggin <npiggin@gmail.com>,
 Peter Zijlstra <peterz@infradead.org>, Ryan Roberts <ryan.roberts@arm.com>,
 Suren Baghdasaryan <surenb@google.com>, Thomas Gleixner
 <tglx@linutronix.de>, Vlastimil Babka <vbabka@suse.cz>,
 Will Deacon <will@kernel.org>, Yeoreum Yun <yeoreum.yun@arm.com>,
 linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org,
 sparclinux@vger.kernel.org, xen-devel@lists.xenproject.org, x86@kernel.org
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
 <20251015082727.2395128-12-kevin.brodsky@arm.com>
 <f0067f35-1048-4788-8401-f71d297f56f3@redhat.com>
 <348e5f1c5a90e4ab0f14b4d997baf7169745bf04.camel@infradead.org>
Content-Language: en-GB
From: Kevin Brodsky <kevin.brodsky@arm.com>
In-Reply-To: <348e5f1c5a90e4ab0f14b4d997baf7169745bf04.camel@infradead.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 24/10/2025 16:47, David Woodhouse wrote:
> On Thu, 2025-10-23 at 22:06 +0200, David Hildenbrand wrote:
>> On 15.10.25 10:27, Kevin Brodsky wrote:
>>> We currently set a TIF flag when scheduling out a task that is in
>>> lazy MMU mode, in order to restore it when the task is scheduled
>>> again.
>>>
>>> The generic lazy_mmu layer now tracks whether a task is in lazy MMU
>>> mode in task_struct::lazy_mmu_state. We can therefore check that
>>> state when switching to the new task, instead of using a separate
>>> TIF flag.
>>>
>>> Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
>>> ---
>>
>> Looks ok to me, but I hope we get some confirmation from x86 / xen
>> folks.
>
> I know tglx has shouted at me in the past for precisely this reminder,
> but you know you can test Xen guests under QEMU/KVM now and don't need
> to actually run Xen? Has this been boot tested?

I considered boot-testing a Xen guest (considering the Xen-specific
changes in this series), but having no idea how to go about it I quickly
gave up... Happy to follow instructions :)

- Kevin


From xen-devel-bounces@lists.xenproject.org Fri Oct 24 15:14:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Oct 2025 15:14:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1150493.1481616 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCJUP-0007MD-10; Fri, 24 Oct 2025 15:14:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1150493.1481616; Fri, 24 Oct 2025 15:14:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCJUO-0007M6-Uj; Fri, 24 Oct 2025 15:14:00 +0000
Received: by outflank-mailman (input) for mailman id 1150493;
 Fri, 24 Oct 2025 15:13:59 +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
 <SRS0=WT84=5B=casper.srs.infradead.org=BATV+b7f0eb53100f8146c054+8097+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1vCJUN-0007Lv-MY
 for xen-devel@lists.xenproject.org; Fri, 24 Oct 2025 15:13:59 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0db190bf-b0ec-11f0-980a-7dc792cee155;
 Fri, 24 Oct 2025 17:13:54 +0200 (CEST)
Received: from [2001:8b0:10b:5:d8ad:45c0:47cf:4bed]
 (helo=u09cd745991455d.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.98.2 #2 (Red Hat Linux))
 id 1vCJU1-00000003aD0-2Hm3; Fri, 24 Oct 2025 15:13:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0db190bf-b0ec-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=eNmn1fLSP0kLi7slmOYWgfO5ZBIDJASSsEVFNGUunrQ=; b=cmuXuzrcDcR6cnPGY4MRqMreBj
	vsM7jnlVM/+OE68sC0BPMMkrhGkqWhl505LUs1mT2X1dAlOPetjXYW7NYM2cOQ+JSQQQDTx5QJUwz
	RA70hV92sxISNR3XEM7wCF9RXl7VOWC8E3Im64m2c8Un9W2HmQFk/+GgXgoNyiX/DvRLP2VhuAGeS
	YXjRtyLV0b/WmoZdKb6LLPANyYXzK521ghoXuEfx1pEYs0WWTpsJbErr4s9GRlRoK9VXCl8Umdclh
	GRacGbWse9kAFeENwXm4PVN/f4p8KjvrwEKEwxWs1zbsndok5ApCKT8hKr8eirIqp1IDCRursE8Ht
	DQqEp8sQ==;
Message-ID: <cbe0d305cce6d76e00b64e7209f15b4645c15033.camel@infradead.org>
Subject: Re: [PATCH v3 11/13] x86/xen: use lazy_mmu_state when
 context-switching
From: David Woodhouse <dwmw2@infradead.org>
To: David Hildenbrand <david@redhat.com>, Kevin Brodsky
 <kevin.brodsky@arm.com>,  linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org, Alexander Gordeev
 <agordeev@linux.ibm.com>,  Andreas Larsson <andreas@gaisler.com>, Andrew
 Morton <akpm@linux-foundation.org>, Boris Ostrovsky
 <boris.ostrovsky@oracle.com>, Borislav Petkov <bp@alien8.de>, Catalin
 Marinas <catalin.marinas@arm.com>, Christophe Leroy
 <christophe.leroy@csgroup.eu>,  Dave Hansen <dave.hansen@linux.intel.com>,
 "David S. Miller" <davem@davemloft.net>, "H. Peter Anvin" <hpa@zytor.com>,
 Ingo Molnar <mingo@redhat.com>, Jann Horn <jannh@google.com>,  Juergen
 Gross <jgross@suse.com>, "Liam R. Howlett" <Liam.Howlett@oracle.com>,
 Lorenzo Stoakes <lorenzo.stoakes@oracle.com>, Madhavan Srinivasan
 <maddy@linux.ibm.com>,  Michael Ellerman <mpe@ellerman.id.au>, Michal Hocko
 <mhocko@suse.com>, Mike Rapoport <rppt@kernel.org>, Nicholas Piggin
 <npiggin@gmail.com>, Peter Zijlstra <peterz@infradead.org>, Ryan Roberts
 <ryan.roberts@arm.com>, Suren Baghdasaryan <surenb@google.com>, Thomas
 Gleixner <tglx@linutronix.de>, Vlastimil Babka <vbabka@suse.cz>, Will
 Deacon <will@kernel.org>, Yeoreum Yun <yeoreum.yun@arm.com>, 
 linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org, 
 sparclinux@vger.kernel.org, xen-devel@lists.xenproject.org, x86@kernel.org
Date: Fri, 24 Oct 2025 16:13:37 +0100
In-Reply-To: <70723f4a-f42b-4d94-9344-5824e48bfad1@redhat.com>
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
	 <20251015082727.2395128-12-kevin.brodsky@arm.com>
	 <f0067f35-1048-4788-8401-f71d297f56f3@redhat.com>
	 <348e5f1c5a90e4ab0f14b4d997baf7169745bf04.camel@infradead.org>
	 <70723f4a-f42b-4d94-9344-5824e48bfad1@redhat.com>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-UlpuaII3GiKqUgTxbKZN"
User-Agent: Evolution 3.52.3-0ubuntu1 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html


--=-UlpuaII3GiKqUgTxbKZN
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, 2025-10-24 at 16:51 +0200, David Hildenbrand wrote:
> On 24.10.25 16:47, David Woodhouse wrote:
> > On Thu, 2025-10-23 at 22:06 +0200, David Hildenbrand wrote:
> > > On 15.10.25 10:27, Kevin Brodsky wrote:
> > > > We currently set a TIF flag when scheduling out a task that is in
> > > > lazy MMU mode, in order to restore it when the task is scheduled
> > > > again.
> > > >=20
> > > > The generic lazy_mmu layer now tracks whether a task is in lazy MMU
> > > > mode in task_struct::lazy_mmu_state. We can therefore check that
> > > > state when switching to the new task, instead of using a separate
> > > > TIF flag.
> > > >=20
> > > > Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
> > > > ---
> > >=20
> > >=20
> > > Looks ok to me, but I hope we get some confirmation from x86 / xen
> > > folks.
> >=20
> >=20
> > I know tglx has shouted at me in the past for precisely this reminder,
> > but you know you can test Xen guests under QEMU/KVM now and don't need
> > to actually run Xen? Has this been boot tested?
>=20
> And after that, boot-testing sparc as well? :D

Also not that hard in QEMU, I believe. Although I do have some SPARC
boxes in the shed...


--=-UlpuaII3GiKqUgTxbKZN
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCD9Aw
ggSOMIIDdqADAgECAhAOmiw0ECVD4cWj5DqVrT9PMA0GCSqGSIb3DQEBCwUAMGUxCzAJBgNVBAYT
AlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xJDAi
BgNVBAMTG0RpZ2lDZXJ0IEFzc3VyZWQgSUQgUm9vdCBDQTAeFw0yNDAxMzAwMDAwMDBaFw0zMTEx
MDkyMzU5NTlaMEExCzAJBgNVBAYTAkFVMRAwDgYDVQQKEwdWZXJva2V5MSAwHgYDVQQDExdWZXJv
a2V5IFNlY3VyZSBFbWFpbCBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMjvgLKj
jfhCFqxYyRiW8g3cNFAvltDbK5AzcOaR7yVzVGadr4YcCVxjKrEJOgi7WEOH8rUgCNB5cTD8N/Et
GfZI+LGqSv0YtNa54T9D1AWJy08ZKkWvfGGIXN9UFAPMJ6OLLH/UUEgFa+7KlrEvMUupDFGnnR06
aDJAwtycb8yXtILj+TvfhLFhafxroXrflspavejQkEiHjNjtHnwbZ+o43g0/yxjwnarGI3kgcak7
nnI9/8Lqpq79tLHYwLajotwLiGTB71AGN5xK+tzB+D4eN9lXayrjcszgbOv2ZCgzExQUAIt98mre
8EggKs9mwtEuKAhYBIP/0K6WsoMnQCcCAwEAAaOCAVwwggFYMBIGA1UdEwEB/wQIMAYBAf8CAQAw
HQYDVR0OBBYEFIlICOogTndrhuWByNfhjWSEf/xwMB8GA1UdIwQYMBaAFEXroq/0ksuCMS1Ri6en
IZ3zbcgPMA4GA1UdDwEB/wQEAwIBhjAdBgNVHSUEFjAUBggrBgEFBQcDBAYIKwYBBQUHAwIweQYI
KwYBBQUHAQEEbTBrMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wQwYIKwYB
BQUHMAKGN2h0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEFzc3VyZWRJRFJvb3RD
QS5jcnQwRQYDVR0fBD4wPDA6oDigNoY0aHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0
QXNzdXJlZElEUm9vdENBLmNybDARBgNVHSAECjAIMAYGBFUdIAAwDQYJKoZIhvcNAQELBQADggEB
ACiagCqvNVxOfSd0uYfJMiZsOEBXAKIR/kpqRp2YCfrP4Tz7fJogYN4fxNAw7iy/bPZcvpVCfe/H
/CCcp3alXL0I8M/rnEnRlv8ItY4MEF+2T/MkdXI3u1vHy3ua8SxBM8eT9LBQokHZxGUX51cE0kwa
uEOZ+PonVIOnMjuLp29kcNOVnzf8DGKiek+cT51FvGRjV6LbaxXOm2P47/aiaXrDD5O0RF5SiPo6
xD1/ClkCETyyEAE5LRJlXtx288R598koyFcwCSXijeVcRvBB1cNOLEbg7RMSw1AGq14fNe2cH1HG
W7xyduY/ydQt6gv5r21mDOQ5SaZSWC/ZRfLDuEYwggWbMIIEg6ADAgECAhAH5JEPagNRXYDiRPdl
c1vgMA0GCSqGSIb3DQEBCwUAMEExCzAJBgNVBAYTAkFVMRAwDgYDVQQKEwdWZXJva2V5MSAwHgYD
VQQDExdWZXJva2V5IFNlY3VyZSBFbWFpbCBHMjAeFw0yNDEyMzAwMDAwMDBaFw0yODAxMDQyMzU5
NTlaMB4xHDAaBgNVBAMME2R3bXcyQGluZnJhZGVhZC5vcmcwggIiMA0GCSqGSIb3DQEBAQUAA4IC
DwAwggIKAoICAQDali7HveR1thexYXx/W7oMk/3Wpyppl62zJ8+RmTQH4yZeYAS/SRV6zmfXlXaZ
sNOE6emg8WXLRS6BA70liot+u0O0oPnIvnx+CsMH0PD4tCKSCsdp+XphIJ2zkC9S7/yHDYnqegqt
w4smkqUqf0WX/ggH1Dckh0vHlpoS1OoxqUg+ocU6WCsnuz5q5rzFsHxhD1qGpgFdZEk2/c//ZvUN
i12vPWipk8TcJwHw9zoZ/ZrVNybpMCC0THsJ/UEVyuyszPtNYeYZAhOJ41vav1RhZJzYan4a1gU0
kKBPQklcpQEhq48woEu15isvwWh9/+5jjh0L+YNaN0I//nHSp6U9COUG9Z0cvnO8FM6PTqsnSbcc
0j+GchwOHRC7aP2t5v2stVx3KbptaYEzi4MQHxm/0+HQpMEVLLUiizJqS4PWPU6zfQTOMZ9uLQRR
ci+c5xhtMEBszlQDOvEQcyEG+hc++fH47K+MmZz21bFNfoBxLP6bjR6xtPXtREF5lLXxp+CJ6KKS
blPKeVRg/UtyJHeFKAZXO8Zeco7TZUMVHmK0ZZ1EpnZbnAhKE19Z+FJrQPQrlR0gO3lBzuyPPArV
hvWxjlO7S4DmaEhLzarWi/ze7EGwWSuI2eEa/8zU0INUsGI4ywe7vepQz7IqaAovAX0d+f1YjbmC
VsAwjhLmveFjNwIDAQABo4IBsDCCAawwHwYDVR0jBBgwFoAUiUgI6iBOd2uG5YHI1+GNZIR//HAw
HQYDVR0OBBYEFFxiGptwbOfWOtMk5loHw7uqWUOnMDAGA1UdEQQpMCeBE2R3bXcyQGluZnJhZGVh
ZC5vcmeBEGRhdmlkQHdvb2Rob3Uuc2UwFAYDVR0gBA0wCzAJBgdngQwBBQEBMA4GA1UdDwEB/wQE
AwIF4DAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwQwewYDVR0fBHQwcjA3oDWgM4YxaHR0
cDovL2NybDMuZGlnaWNlcnQuY29tL1Zlcm9rZXlTZWN1cmVFbWFpbEcyLmNybDA3oDWgM4YxaHR0
cDovL2NybDQuZGlnaWNlcnQuY29tL1Zlcm9rZXlTZWN1cmVFbWFpbEcyLmNybDB2BggrBgEFBQcB
AQRqMGgwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBABggrBgEFBQcwAoY0
aHR0cDovL2NhY2VydHMuZGlnaWNlcnQuY29tL1Zlcm9rZXlTZWN1cmVFbWFpbEcyLmNydDANBgkq
hkiG9w0BAQsFAAOCAQEAQXc4FPiPLRnTDvmOABEzkIumojfZAe5SlnuQoeFUfi+LsWCKiB8Uextv
iBAvboKhLuN6eG/NC6WOzOCppn4mkQxRkOdLNThwMHW0d19jrZFEKtEG/epZ/hw/DdScTuZ2m7im
8ppItAT6GXD3aPhXkXnJpC/zTs85uNSQR64cEcBFjjoQDuSsTeJ5DAWf8EMyhMuD8pcbqx5kRvyt
JPsWBQzv1Dsdv2LDPLNd/JUKhHSgr7nbUr4+aAP2PHTXGcEBh8lTeYea9p4d5k969pe0OHYMV5aL
xERqTagmSetuIwolkAuBCzA9vulg8Y49Nz2zrpUGfKGOD0FMqenYxdJHgDCCBZswggSDoAMCAQIC
EAfkkQ9qA1FdgOJE92VzW+AwDQYJKoZIhvcNAQELBQAwQTELMAkGA1UEBhMCQVUxEDAOBgNVBAoT
B1Zlcm9rZXkxIDAeBgNVBAMTF1Zlcm9rZXkgU2VjdXJlIEVtYWlsIEcyMB4XDTI0MTIzMDAwMDAw
MFoXDTI4MDEwNDIzNTk1OVowHjEcMBoGA1UEAwwTZHdtdzJAaW5mcmFkZWFkLm9yZzCCAiIwDQYJ
KoZIhvcNAQEBBQADggIPADCCAgoCggIBANqWLse95HW2F7FhfH9bugyT/danKmmXrbMnz5GZNAfj
Jl5gBL9JFXrOZ9eVdpmw04Tp6aDxZctFLoEDvSWKi367Q7Sg+ci+fH4KwwfQ8Pi0IpIKx2n5emEg
nbOQL1Lv/IcNiep6Cq3DiyaSpSp/RZf+CAfUNySHS8eWmhLU6jGpSD6hxTpYKye7PmrmvMWwfGEP
WoamAV1kSTb9z/9m9Q2LXa89aKmTxNwnAfD3Ohn9mtU3JukwILRMewn9QRXK7KzM+01h5hkCE4nj
W9q/VGFknNhqfhrWBTSQoE9CSVylASGrjzCgS7XmKy/BaH3/7mOOHQv5g1o3Qj/+cdKnpT0I5Qb1
nRy+c7wUzo9OqydJtxzSP4ZyHA4dELto/a3m/ay1XHcpum1pgTOLgxAfGb/T4dCkwRUstSKLMmpL
g9Y9TrN9BM4xn24tBFFyL5znGG0wQGzOVAM68RBzIQb6Fz758fjsr4yZnPbVsU1+gHEs/puNHrG0
9e1EQXmUtfGn4InoopJuU8p5VGD9S3Ikd4UoBlc7xl5yjtNlQxUeYrRlnUSmdlucCEoTX1n4UmtA
9CuVHSA7eUHO7I88CtWG9bGOU7tLgOZoSEvNqtaL/N7sQbBZK4jZ4Rr/zNTQg1SwYjjLB7u96lDP
sipoCi8BfR35/ViNuYJWwDCOEua94WM3AgMBAAGjggGwMIIBrDAfBgNVHSMEGDAWgBSJSAjqIE53
a4blgcjX4Y1khH/8cDAdBgNVHQ4EFgQUXGIam3Bs59Y60yTmWgfDu6pZQ6cwMAYDVR0RBCkwJ4ET
ZHdtdzJAaW5mcmFkZWFkLm9yZ4EQZGF2aWRAd29vZGhvdS5zZTAUBgNVHSAEDTALMAkGB2eBDAEF
AQEwDgYDVR0PAQH/BAQDAgXgMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDB7BgNVHR8E
dDByMDegNaAzhjFodHRwOi8vY3JsMy5kaWdpY2VydC5jb20vVmVyb2tleVNlY3VyZUVtYWlsRzIu
Y3JsMDegNaAzhjFodHRwOi8vY3JsNC5kaWdpY2VydC5jb20vVmVyb2tleVNlY3VyZUVtYWlsRzIu
Y3JsMHYGCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQuY29t
MEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vVmVyb2tleVNlY3VyZUVt
YWlsRzIuY3J0MA0GCSqGSIb3DQEBCwUAA4IBAQBBdzgU+I8tGdMO+Y4AETOQi6aiN9kB7lKWe5Ch
4VR+L4uxYIqIHxR7G2+IEC9ugqEu43p4b80LpY7M4KmmfiaRDFGQ50s1OHAwdbR3X2OtkUQq0Qb9
6ln+HD8N1JxO5nabuKbymki0BPoZcPdo+FeRecmkL/NOzzm41JBHrhwRwEWOOhAO5KxN4nkMBZ/w
QzKEy4PylxurHmRG/K0k+xYFDO/UOx2/YsM8s138lQqEdKCvudtSvj5oA/Y8dNcZwQGHyVN5h5r2
nh3mT3r2l7Q4dgxXlovERGpNqCZJ624jCiWQC4ELMD2+6WDxjj03PbOulQZ8oY4PQUyp6djF0keA
MYIDuzCCA7cCAQEwVTBBMQswCQYDVQQGEwJBVTEQMA4GA1UEChMHVmVyb2tleTEgMB4GA1UEAxMX
VmVyb2tleSBTZWN1cmUgRW1haWwgRzICEAfkkQ9qA1FdgOJE92VzW+AwDQYJYIZIAWUDBAIBBQCg
ggE3MBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTI1MTAyNDE1MTMz
N1owLwYJKoZIhvcNAQkEMSIEIBS2c2CYN69lzB90uM49t/lF1BNIwOpZ6X89gEyzl9XSMGQGCSsG
AQQBgjcQBDFXMFUwQTELMAkGA1UEBhMCQVUxEDAOBgNVBAoTB1Zlcm9rZXkxIDAeBgNVBAMTF1Zl
cm9rZXkgU2VjdXJlIEVtYWlsIEcyAhAH5JEPagNRXYDiRPdlc1vgMGYGCyqGSIb3DQEJEAILMVeg
VTBBMQswCQYDVQQGEwJBVTEQMA4GA1UEChMHVmVyb2tleTEgMB4GA1UEAxMXVmVyb2tleSBTZWN1
cmUgRW1haWwgRzICEAfkkQ9qA1FdgOJE92VzW+AwDQYJKoZIhvcNAQEBBQAEggIAAJ/TYa0lfOGp
Q0VR5GPbq8+nscvUoGvOpahth6n1O22m0RXsnVa+FN8lDTzwjHgMxjWgmBB/Y2N1krr/LHQF2t6e
B5n913XDbhQficu9PFF22DDBqf2pH5GQBYMsgUsSn78V7DsTRYtXdXmorFkRKpIDuTMLWcSIQn7k
gw1KlRXWW18cL6bJhkfF76Rly55Kk8ANSkv6NjJaUQ/nwnyN86hS6iP8t4UMfr95LPZCANXrGPar
XTMbTXjQpE4rAWwa0F9zYsdRqS1cm3bC7jlvUaj4sa3o0Lo8DBbrOWV2pBbZb5A8gvbFc1CSBfkf
wPmfgQtBV/dTm/v7tLV+XQqxlbWxkVX4/pnTDTYJh3B3ptfSjcFfNQhSQ+f7mu+kD6l6J1FLS5M6
OZ5W0xfedyXIfATXrr6Yu7k1HT5mb16kM5Sdfmau3I5IqP2alunQ2o1WuS1US8/HVenxfQ0m/HJl
e6qYWM516w+TWbIJRQGKP0q2U/UHT9Y5chHefvq+xHBYJiMOXu285icnkQND2dzQswtL0oZ/CLcL
4n8Gijg+UPjQGY9iQpUzWgnD1w35ZjIZ/ymeuvzlWpKcBLSxMUTtFhxW488KzODVmvDWDU4S8N+1
y4GStDb9afAzAMTexWQZ8abw9Df3q7TfKqoXaebtp76MNk2ydvAruvyKDSuLkKMAAAAAAAA=


--=-UlpuaII3GiKqUgTxbKZN--


From xen-devel-bounces@lists.xenproject.org Fri Oct 24 15:14:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Oct 2025 15:14:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1150494.1481628 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCJUd-0007dg-8z; Fri, 24 Oct 2025 15:14:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1150494.1481628; Fri, 24 Oct 2025 15:14:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCJUd-0007dZ-4s; Fri, 24 Oct 2025 15:14:15 +0000
Received: by outflank-mailman (input) for mailman id 1150494;
 Fri, 24 Oct 2025 15:14:13 +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
 <SRS0=a4Pi=5B=gmail.com=freddy77@srs-se1.protection.inumbo.net>)
 id 1vCJUb-0007d7-LC
 for xen-devel@lists.xenproject.org; Fri, 24 Oct 2025 15:14:13 +0000
Received: from mail-yw1-x112a.google.com (mail-yw1-x112a.google.com
 [2607:f8b0:4864:20::112a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 185e386a-b0ec-11f0-9d16-b5c5bf9af7f9;
 Fri, 24 Oct 2025 17:14:12 +0200 (CEST)
Received: by mail-yw1-x112a.google.com with SMTP id
 00721157ae682-783fa3aa122so28300627b3.0
 for <xen-devel@lists.xenproject.org>; Fri, 24 Oct 2025 08:14:12 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 185e386a-b0ec-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1761318851; x=1761923651; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:mime-version:from:to:cc:subject
         :date:message-id:reply-to;
        bh=WJ0DlXsWB3lXn6qzkmhT6yfFmHsMvuMvv+LUU+rxDZ4=;
        b=LEmTn1R+huN2Um+Xk7Pvxc/UhCouDv9DJEIWfhaK2MiJUv2x/X0b9VhLgmebsDnFDI
         Qxp5AguOkIMze/cVXZ+LC3h2HfRHWlUnzH9i7jmt1uQbedpdCYmpUs9FoOUJe8Lo2Elq
         +oMhYzH0HqcR7+GCegHe4QfdQiYFzkfwny5bvNVZ9QofCQ0l+r5fFJS9NpcekUlXGewJ
         HLxyHiSB1YXlccq/UkFcgpHGy7JoPM5CUujFMVV4aITnEFG4kSDj4FHE7WJO3rWvXrN0
         b7j2eNMhQNR4DY9rdu+sHGjP81Q1yz66GUWuD1DjlNEWl9eIw8su1cxBifVEtWclCnkJ
         kKcw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761318851; x=1761923651;
        h=cc:to:subject:message-id:date:from:mime-version:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=WJ0DlXsWB3lXn6qzkmhT6yfFmHsMvuMvv+LUU+rxDZ4=;
        b=TE/UcroNUVRfNywGxkucn3uyVbacIbJhHRS4u9h9NJJvrxixPoI5cp+DolS5O0l43O
         wI2elaf599OpyPUVgnYTEkUzUM/AlMDG56O4yJqCnCCj6Pa1NlXFk1/3HXV2rMheizC9
         BUQT+7+aE1JL/gJWhF0sTQyiRYrLOfQD6mlPuxrqrSCIjnvHs9uknp5AKfWQxHbKrqsL
         26OFdcE60tscvqc+gQVOrU6AJra9eWP9DZpVRJDWofXI05RxltEOIxP70AFRSuLLAkt9
         9cZqG62dre6UYTJTaXAViiNFccKa9Kp0py5Vwymg3uXlXXxLjFjwAhNC+FrqMjwkEv55
         h8Hw==
X-Gm-Message-State: AOJu0Yye+LewfCDQR6xHUtQjRItcBhshsH3HWhop7GSwJKt6vxA6q5ly
	i8dzpaEoy+tO6QQ7alThs/PNsME00AHkmZObbaNZt8CoOI1jWcuRw2SuKfGsomLoxcdxj2MTGd7
	cPoq0Xo2gg9xPrmMujt4Oqpe3xk5OXmu4Tz2A
X-Gm-Gg: ASbGnctzRteIfLBbQe1xz1men2mqcocKGUVqDj0srwikqwCSo8l750qrlorZR+dIotE
	NDrpCBXWqbp5E2TWZ2jyIuu0s+0ilfElke4Esy5RkeL64JM3wbwA/rgHIdPNVdnEVydGG5iraDf
	MAmhF9dPzPDFm/vJuNUJ8b7bRcpFsUU/3TMlskYiI8CC4+REOjGvaeHSpAUE9zovDK4kbi0Ubyx
	9m6DL65iQntNMcsSR0hD/YfpAa9mqcJKxGjflhEcsiFwDmyc2oSez7XWeqO/Lly5jOm3VU=
X-Google-Smtp-Source: AGHT+IEzJCApxnoXZOIUwZ1yJTXIVESfMYa0RWxpbxL8/5UuCmUAHSGKBNfckZRTx3ylp6Tv+SaFmIr33SWAs66RtMQ=
X-Received: by 2002:a05:690c:4681:b0:784:827c:1cd3 with SMTP id
 00721157ae682-785dd678943mr27358177b3.31.1761318850708; Fri, 24 Oct 2025
 08:14:10 -0700 (PDT)
MIME-Version: 1.0
From: Frediano Ziglio <freddy77@gmail.com>
Date: Fri, 24 Oct 2025 16:13:59 +0100
X-Gm-Features: AS18NWC6kts6ML4PoB1UbSIvaAjyE9HitqE8HXwWlW2I6g-WGKNUixJyq0aeLwU
Message-ID: <CAHt6W4dnM1pLMnDVyywc_2d-6nry7pFCYomSvRjyuH7sRm0J4Q@mail.gmail.com>
Subject: [PATCH] xen/pci: prevent infinite loop for faulty SR-IOV cards
To: xen-devel <xen-devel@lists.xenproject.org>
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Andrew Cooper <andrew.cooper3@citrix.com>
Content-Type: text/plain; charset="UTF-8"

If a SR-IOV card presents an I/O space inside a BAR the
code will continue to loop on the same card.
This is due to the missing increment of the cycle variable.

Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
---
 xen/drivers/passthrough/pci.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
index 3edcfa8a04..52c22fa50c 100644
--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -746,6 +746,7 @@ int pci_add_device(u16 seg, u8 bus, u8 devfn,
                     printk(XENLOG_WARNING
                            "SR-IOV device %pp with vf BAR%u in IO space\n",
                            &pdev->sbdf, i);
+                    ++i;
                     continue;
                 }
                 ret = pci_size_mem_bar(pdev->sbdf, idx, NULL,
-- 
2.43.0


From xen-devel-bounces@lists.xenproject.org Fri Oct 24 15:17:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Oct 2025 15:17:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1150516.1481636 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCJXO-0000Du-MT; Fri, 24 Oct 2025 15:17:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1150516.1481636; Fri, 24 Oct 2025 15:17:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCJXO-0000Dn-JR; Fri, 24 Oct 2025 15:17:06 +0000
Received: by outflank-mailman (input) for mailman id 1150516;
 Fri, 24 Oct 2025 15:17:05 +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 <SRS0=7Ac/=5B=redhat.com=david@srs-se1.protection.inumbo.net>)
 id 1vCJXN-0000Dh-6l
 for xen-devel@lists.xenproject.org; Fri, 24 Oct 2025 15:17:05 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.129.124])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7e692667-b0ec-11f0-9d16-b5c5bf9af7f9;
 Fri, 24 Oct 2025 17:17:03 +0200 (CEST)
Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com
 [209.85.221.71]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-235-lHG87oVMMO-ftEz0Wt1rMQ-1; Fri, 24 Oct 2025 11:17:01 -0400
Received: by mail-wr1-f71.google.com with SMTP id
 ffacd0b85a97d-4256fae4b46so1249292f8f.0
 for <xen-devel@lists.xenproject.org>; Fri, 24 Oct 2025 08:17:01 -0700 (PDT)
Received: from ?IPV6:2003:d8:2f4e:3200:c99d:a38b:3f3a:d4b3?
 (p200300d82f4e3200c99da38b3f3ad4b3.dip0.t-ipconnect.de.
 [2003:d8:2f4e:3200:c99d:a38b:3f3a:d4b3])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-475caf15498sm112647435e9.12.2025.10.24.08.16.57
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 24 Oct 2025 08:16:59 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7e692667-b0ec-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1761319022;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
	bh=GlFP+E/QMyxi4Ffg6P0msiZ7Co3+zXi/ANozyDYceBA=;
	b=B2hxrNmkX1tinv3AhswyXyixPP47UBsF5UlILIncv5woVdvnn8RK41PZX0/P8py3gVuInU
	7+tB7/eE5ctbvpTmakk+qzAFmL5jvYOlIkUiW+aA8zub1E8Nso7FIGEOzmXV6jHMXU09R4
	eqA5XfM1bn4UXUt6J7+jqWNJllYzBIY=
X-MC-Unique: lHG87oVMMO-ftEz0Wt1rMQ-1
X-Mimecast-MFC-AGG-ID: lHG87oVMMO-ftEz0Wt1rMQ_1761319020
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761319020; x=1761923820;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :from:references:cc:to:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=GlFP+E/QMyxi4Ffg6P0msiZ7Co3+zXi/ANozyDYceBA=;
        b=PxvmpGSnApo6oExpCXRgXhFFO0PN2w2X1dijHl7OWY+qHHcnEj4ptHnLlCLwlXgsmC
         fB1Kfmvt2VCrX6Q1FpKQu8s9qK6KL0UqtXOjqlJpIr1Hs0YBw3mS6g4yVSY2Wt2suoPK
         WjP4Yga3ypXlz0PjauP2vNnGg4RsuoRy6hApix6jJ6qPFkxBe4gTFPZ6IAKfdBXSDF2x
         jjre/IxEDz/EofRINa5ziybdUjwMUmGfBzlhJr8vsk+N4S0gW6QJ1gmpgIHl/rCaafp4
         ueKgxEoBpIJjm6SvCCB/Vb3wUisBZp28DaKpaCVhXLz4n0UP+3807LCFCiVjtLmDwIcv
         k6Xw==
X-Forwarded-Encrypted: i=1; AJvYcCVIQJxZzHAsl/ZM6Ca+8cPoxTAwJgaCqGlTMwvF67yT9B0ktLcm5HmDM3/HEJJpEqNf8FOpQwHK+bI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzZajE/5PWiqzDgL2EQiACo7WxpgnffInEnYJhEHZxfNqDYjSk7
	UcM1wO9JBFTgS16x85W/mO1NgLCTuvvx3RyvV7NL/nu3QqXVU4VbohMa6eS5kieHbgJcyztM/u8
	UV/nQssdKvZiYdm9bYDjWRxXupG1lUggYeADThvMEMFAXpvKepbksFeOFznCNroYMFOxu
X-Gm-Gg: ASbGnct5BmnwnaUKfApx3rgoXbrbQQTVOzLs/YuGdECAZJdP/hklMa6pQedztcdr5Yn
	cPGICMnvVZ7BAOPmX3L4sMbHuG3bllfzxk9mPKk2j7t1PbA7VHI/Lc+Cajk7C9MP2ejN44j3U/J
	Pla1zQTeN8z165Hq47Qg50nN+8diAXP41iQ5oRsfZbSsiy4ydyAJS7dB7VIzcRLWB9Fx2kLGbyf
	MR3xCStsEk2kaNI178ePdz6GXBoeyJkINEi+EsBe7j58LL+Hc5ZN2CcnYIhOIHTx7id27V7be/H
	f4dglA/brPm4THm+YgDLeA9PBJtUhQ7A3Xmwqn2hKGJQFxEic8DMDf+aEBYELHVbh0Q//2Pq4sY
	FMTkUl9fjyOfd3oQm42y3Nlrif0ndhySR6ZdFRf1S7jBFCqIsiLpyUbBYb0V387c8Q9tHZaLol0
	9bXhGDxkftYahwVvGE9H/1knG1uhI=
X-Received: by 2002:a05:6000:2383:b0:3eb:7f7d:aefb with SMTP id ffacd0b85a97d-42704dc3748mr22122798f8f.53.1761319020059;
        Fri, 24 Oct 2025 08:17:00 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IEtnwuBHyt8rK4Gm7hxH2zJL+lCurT6SdXrynTA2FlfcUyPVPmZWy8oSZeIJ0KwzcUvqy9foQ==
X-Received: by 2002:a05:6000:2383:b0:3eb:7f7d:aefb with SMTP id ffacd0b85a97d-42704dc3748mr22122761f8f.53.1761319019571;
        Fri, 24 Oct 2025 08:16:59 -0700 (PDT)
Message-ID: <1f81548e-18f2-49bf-82bc-e0dc667b78fd@redhat.com>
Date: Fri, 24 Oct 2025 17:16:56 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 11/13] x86/xen: use lazy_mmu_state when
 context-switching
To: David Woodhouse <dwmw2@infradead.org>,
 Kevin Brodsky <kevin.brodsky@arm.com>, linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org, Alexander Gordeev <agordeev@linux.ibm.com>,
 Andreas Larsson <andreas@gaisler.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, Borislav Petkov
 <bp@alien8.de>, Catalin Marinas <catalin.marinas@arm.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 Dave Hansen <dave.hansen@linux.intel.com>,
 "David S. Miller" <davem@davemloft.net>, "H. Peter Anvin" <hpa@zytor.com>,
 Ingo Molnar <mingo@redhat.com>, Jann Horn <jannh@google.com>,
 Juergen Gross <jgross@suse.com>, "Liam R. Howlett"
 <Liam.Howlett@oracle.com>, Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>, Michal Hocko <mhocko@suse.com>,
 Mike Rapoport <rppt@kernel.org>, Nicholas Piggin <npiggin@gmail.com>,
 Peter Zijlstra <peterz@infradead.org>, Ryan Roberts <ryan.roberts@arm.com>,
 Suren Baghdasaryan <surenb@google.com>, Thomas Gleixner
 <tglx@linutronix.de>, Vlastimil Babka <vbabka@suse.cz>,
 Will Deacon <will@kernel.org>, Yeoreum Yun <yeoreum.yun@arm.com>,
 linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org,
 sparclinux@vger.kernel.org, xen-devel@lists.xenproject.org, x86@kernel.org
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
 <20251015082727.2395128-12-kevin.brodsky@arm.com>
 <f0067f35-1048-4788-8401-f71d297f56f3@redhat.com>
 <348e5f1c5a90e4ab0f14b4d997baf7169745bf04.camel@infradead.org>
 <70723f4a-f42b-4d94-9344-5824e48bfad1@redhat.com>
 <cbe0d305cce6d76e00b64e7209f15b4645c15033.camel@infradead.org>
From: David Hildenbrand <david@redhat.com>
Autocrypt: addr=david@redhat.com; keydata=
 xsFNBFXLn5EBEAC+zYvAFJxCBY9Tr1xZgcESmxVNI/0ffzE/ZQOiHJl6mGkmA1R7/uUpiCjJ
 dBrn+lhhOYjjNefFQou6478faXE6o2AhmebqT4KiQoUQFV4R7y1KMEKoSyy8hQaK1umALTdL
 QZLQMzNE74ap+GDK0wnacPQFpcG1AE9RMq3aeErY5tujekBS32jfC/7AnH7I0v1v1TbbK3Gp
 XNeiN4QroO+5qaSr0ID2sz5jtBLRb15RMre27E1ImpaIv2Jw8NJgW0k/D1RyKCwaTsgRdwuK
 Kx/Y91XuSBdz0uOyU/S8kM1+ag0wvsGlpBVxRR/xw/E8M7TEwuCZQArqqTCmkG6HGcXFT0V9
 PXFNNgV5jXMQRwU0O/ztJIQqsE5LsUomE//bLwzj9IVsaQpKDqW6TAPjcdBDPLHvriq7kGjt
 WhVhdl0qEYB8lkBEU7V2Yb+SYhmhpDrti9Fq1EsmhiHSkxJcGREoMK/63r9WLZYI3+4W2rAc
 UucZa4OT27U5ZISjNg3Ev0rxU5UH2/pT4wJCfxwocmqaRr6UYmrtZmND89X0KigoFD/XSeVv
 jwBRNjPAubK9/k5NoRrYqztM9W6sJqrH8+UWZ1Idd/DdmogJh0gNC0+N42Za9yBRURfIdKSb
 B3JfpUqcWwE7vUaYrHG1nw54pLUoPG6sAA7Mehl3nd4pZUALHwARAQABzSREYXZpZCBIaWxk
 ZW5icmFuZCA8ZGF2aWRAcmVkaGF0LmNvbT7CwZoEEwEIAEQCGwMCF4ACGQEFCwkIBwICIgIG
 FQoJCAsCBBYCAwECHgcWIQQb2cqtc1xMOkYN/MpN3hD3AP+DWgUCaJzangUJJlgIpAAKCRBN
 3hD3AP+DWhAxD/9wcL0A+2rtaAmutaKTfxhTP0b4AAp1r/eLxjrbfbCCmh4pqzBhmSX/4z11
 opn2KqcOsueRF1t2ENLOWzQu3Roiny2HOU7DajqB4dm1BVMaXQya5ae2ghzlJN9SIoopTWlR
 0Af3hPj5E2PYvQhlcqeoehKlBo9rROJv/rjmr2x0yOM8qeTroH/ZzNlCtJ56AsE6Tvl+r7cW
 3x7/Jq5WvWeudKrhFh7/yQ7eRvHCjd9bBrZTlgAfiHmX9AnCCPRPpNGNedV9Yty2Jnxhfmbv
 Pw37LA/jef8zlCDyUh2KCU1xVEOWqg15o1RtTyGV1nXV2O/mfuQJud5vIgzBvHhypc3p6VZJ
 lEf8YmT+Ol5P7SfCs5/uGdWUYQEMqOlg6w9R4Pe8d+mk8KGvfE9/zTwGg0nRgKqlQXrWRERv
 cuEwQbridlPAoQHrFWtwpgYMXx2TaZ3sihcIPo9uU5eBs0rf4mOERY75SK+Ekayv2ucTfjxr
 Kf014py2aoRJHuvy85ee/zIyLmve5hngZTTe3Wg3TInT9UTFzTPhItam6dZ1xqdTGHZYGU0O
 otRHcwLGt470grdiob6PfVTXoHlBvkWRadMhSuG4RORCDpq89vu5QralFNIf3EysNohoFy2A
 LYg2/D53xbU/aa4DDzBb5b1Rkg/udO1gZocVQWrDh6I2K3+cCs7BTQRVy5+RARAA59fefSDR
 9nMGCb9LbMX+TFAoIQo/wgP5XPyzLYakO+94GrgfZjfhdaxPXMsl2+o8jhp/hlIzG56taNdt
 VZtPp3ih1AgbR8rHgXw1xwOpuAd5lE1qNd54ndHuADO9a9A0vPimIes78Hi1/yy+ZEEvRkHk
 /kDa6F3AtTc1m4rbbOk2fiKzzsE9YXweFjQvl9p+AMw6qd/iC4lUk9g0+FQXNdRs+o4o6Qvy
 iOQJfGQ4UcBuOy1IrkJrd8qq5jet1fcM2j4QvsW8CLDWZS1L7kZ5gT5EycMKxUWb8LuRjxzZ
 3QY1aQH2kkzn6acigU3HLtgFyV1gBNV44ehjgvJpRY2cC8VhanTx0dZ9mj1YKIky5N+C0f21
 zvntBqcxV0+3p8MrxRRcgEtDZNav+xAoT3G0W4SahAaUTWXpsZoOecwtxi74CyneQNPTDjNg
 azHmvpdBVEfj7k3p4dmJp5i0U66Onmf6mMFpArvBRSMOKU9DlAzMi4IvhiNWjKVaIE2Se9BY
 FdKVAJaZq85P2y20ZBd08ILnKcj7XKZkLU5FkoA0udEBvQ0f9QLNyyy3DZMCQWcwRuj1m73D
 sq8DEFBdZ5eEkj1dCyx+t/ga6x2rHyc8Sl86oK1tvAkwBNsfKou3v+jP/l14a7DGBvrmlYjO
 59o3t6inu6H7pt7OL6u6BQj7DoMAEQEAAcLBfAQYAQgAJgIbDBYhBBvZyq1zXEw6Rg38yk3e
 EPcA/4NaBQJonNqrBQkmWAihAAoJEE3eEPcA/4NaKtMQALAJ8PzprBEXbXcEXwDKQu+P/vts
 IfUb1UNMfMV76BicGa5NCZnJNQASDP/+bFg6O3gx5NbhHHPeaWz/VxlOmYHokHodOvtL0WCC
 8A5PEP8tOk6029Z+J+xUcMrJClNVFpzVvOpb1lCbhjwAV465Hy+NUSbbUiRxdzNQtLtgZzOV
 Zw7jxUCs4UUZLQTCuBpFgb15bBxYZ/BL9MbzxPxvfUQIPbnzQMcqtpUs21CMK2PdfCh5c4gS
 sDci6D5/ZIBw94UQWmGpM/O1ilGXde2ZzzGYl64glmccD8e87OnEgKnH3FbnJnT4iJchtSvx
 yJNi1+t0+qDti4m88+/9IuPqCKb6Stl+s2dnLtJNrjXBGJtsQG/sRpqsJz5x1/2nPJSRMsx9
 5YfqbdrJSOFXDzZ8/r82HgQEtUvlSXNaXCa95ez0UkOG7+bDm2b3s0XahBQeLVCH0mw3RAQg
 r7xDAYKIrAwfHHmMTnBQDPJwVqxJjVNr7yBic4yfzVWGCGNE4DnOW0vcIeoyhy9vnIa3w1uZ
 3iyY2Nsd7JxfKu1PRhCGwXzRw5TlfEsoRI7V9A8isUCoqE2Dzh3FvYHVeX4Us+bRL/oqareJ
 CIFqgYMyvHj7Q06kTKmauOe4Nf0l0qEkIuIzfoLJ3qr5UyXc2hLtWyT9Ir+lYlX9efqh7mOY
 qIws/H2t
In-Reply-To: <cbe0d305cce6d76e00b64e7209f15b4645c15033.camel@infradead.org>
X-Mimecast-Spam-Score: 0
X-Mimecast-MFC-PROC-ID: LbrCJtJl0UexWA_LwnW4Z0_uqDXxLuM7MW3-jJpGx5c_1761319020
X-Mimecast-Originator: redhat.com
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 24.10.25 17:13, David Woodhouse wrote:
> On Fri, 2025-10-24 at 16:51 +0200, David Hildenbrand wrote:
>> On 24.10.25 16:47, David Woodhouse wrote:
>>> On Thu, 2025-10-23 at 22:06 +0200, David Hildenbrand wrote:
>>>> On 15.10.25 10:27, Kevin Brodsky wrote:
>>>>> We currently set a TIF flag when scheduling out a task that is in
>>>>> lazy MMU mode, in order to restore it when the task is scheduled
>>>>> again.
>>>>>
>>>>> The generic lazy_mmu layer now tracks whether a task is in lazy MMU
>>>>> mode in task_struct::lazy_mmu_state. We can therefore check that
>>>>> state when switching to the new task, instead of using a separate
>>>>> TIF flag.
>>>>>
>>>>> Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
>>>>> ---
>>>>
>>>>
>>>> Looks ok to me, but I hope we get some confirmation from x86 / xen
>>>> folks.
>>>
>>>
>>> I know tglx has shouted at me in the past for precisely this reminder,
>>> but you know you can test Xen guests under QEMU/KVM now and don't need
>>> to actually run Xen? Has this been boot tested?
>>
>> And after that, boot-testing sparc as well? :D
> 
> Also not that hard in QEMU, I believe. Although I do have some SPARC
> boxes in the shed...

Yeah, I once went through the pain of getting a sparc64 system booting 
in QEMU with a distro (was it debian?) that was 7 years old or so.

Fantastic experience.

Only took me 2 days IIRC. Absolutely worth it to not break upstream 
kernels on a museum piece.

-- 
Cheers

David / dhildenb



From xen-devel-bounces@lists.xenproject.org Fri Oct 24 15:17:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Oct 2025 15:17:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1150525.1481647 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCJXv-0000gD-V2; Fri, 24 Oct 2025 15:17:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1150525.1481647; Fri, 24 Oct 2025 15:17:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCJXv-0000g6-S8; Fri, 24 Oct 2025 15:17:39 +0000
Received: by outflank-mailman (input) for mailman id 1150525;
 Fri, 24 Oct 2025 15:17:39 +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
 <SRS0=WT84=5B=casper.srs.infradead.org=BATV+b7f0eb53100f8146c054+8097+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1vCJXv-0000Dh-Bc
 for xen-devel@lists.xenproject.org; Fri, 24 Oct 2025 15:17:39 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 939cd2dc-b0ec-11f0-9d16-b5c5bf9af7f9;
 Fri, 24 Oct 2025 17:17:38 +0200 (CEST)
Received: from [2001:8b0:10b:5:d8ad:45c0:47cf:4bed]
 (helo=u09cd745991455d.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.98.2 #2 (Red Hat Linux))
 id 1vCJXb-00000003dWb-3ylw; Fri, 24 Oct 2025 15:17:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 939cd2dc-b0ec-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=vX6q5KsWvP/pqF1uXTr61P+nn+J2TSZ+8mTaeYcEPG8=; b=gDnU6DHIdceHt5TWtp/21TLKxG
	bT1wzsEr2z4OfNLbuXGb/Ro4AFnwD3sE52NY83fR9ieUwW3++4Vbdlivr6tKMTxJKEgK7vSXaTk/6
	FlOq0rg9uKxjcP2m0YoALKLYtt7MFUra347J67q3tsKaT18UHNM7bhlTlLmjdwroHsrgFzJJjHoaB
	/bztisngf7nkDl05L64bo+nRvlesqYJqVBBJXJZsouTKNEOgZtZcUbdDTudf5IGr2MfNpyJQcDk5n
	q4XHcqmpyDW/6JkaGWr9As1wex7kvmTF8YJfbtqj4IH8ksKLDblU1JkzzsVECbtAxPBhbGRvC5pB2
	WJLEMgqw==;
Message-ID: <7324616a8d2631aa8132f725f9f6551e3e6b21dd.camel@infradead.org>
Subject: Re: [PATCH v3 11/13] x86/xen: use lazy_mmu_state when
 context-switching
From: David Woodhouse <dwmw2@infradead.org>
To: Kevin Brodsky <kevin.brodsky@arm.com>, David Hildenbrand
 <david@redhat.com>,  linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org, Alexander Gordeev
 <agordeev@linux.ibm.com>,  Andreas Larsson <andreas@gaisler.com>, Andrew
 Morton <akpm@linux-foundation.org>, Boris Ostrovsky
 <boris.ostrovsky@oracle.com>, Borislav Petkov <bp@alien8.de>, Catalin
 Marinas <catalin.marinas@arm.com>, Christophe Leroy
 <christophe.leroy@csgroup.eu>,  Dave Hansen <dave.hansen@linux.intel.com>,
 "David S. Miller" <davem@davemloft.net>, "H. Peter Anvin" <hpa@zytor.com>,
 Ingo Molnar <mingo@redhat.com>, Jann Horn <jannh@google.com>,  Juergen
 Gross <jgross@suse.com>, "Liam R. Howlett" <Liam.Howlett@oracle.com>,
 Lorenzo Stoakes <lorenzo.stoakes@oracle.com>, Madhavan Srinivasan
 <maddy@linux.ibm.com>,  Michael Ellerman <mpe@ellerman.id.au>, Michal Hocko
 <mhocko@suse.com>, Mike Rapoport <rppt@kernel.org>, Nicholas Piggin
 <npiggin@gmail.com>, Peter Zijlstra <peterz@infradead.org>, Ryan Roberts
 <ryan.roberts@arm.com>, Suren Baghdasaryan <surenb@google.com>, Thomas
 Gleixner <tglx@linutronix.de>, Vlastimil Babka <vbabka@suse.cz>, Will
 Deacon <will@kernel.org>, Yeoreum Yun <yeoreum.yun@arm.com>, 
 linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org, 
 sparclinux@vger.kernel.org, xen-devel@lists.xenproject.org, x86@kernel.org
Date: Fri, 24 Oct 2025 16:17:20 +0100
In-Reply-To: <6ed9f404-9939-4e9f-b5aa-4253bef46df1@arm.com>
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
	 <20251015082727.2395128-12-kevin.brodsky@arm.com>
	 <f0067f35-1048-4788-8401-f71d297f56f3@redhat.com>
	 <348e5f1c5a90e4ab0f14b4d997baf7169745bf04.camel@infradead.org>
	 <6ed9f404-9939-4e9f-b5aa-4253bef46df1@arm.com>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-YI9KzXTKaCZlBvC3KOA8"
User-Agent: Evolution 3.52.3-0ubuntu1 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html


--=-YI9KzXTKaCZlBvC3KOA8
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, 2025-10-24 at 17:05 +0200, Kevin Brodsky wrote:
> On 24/10/2025 16:47, David Woodhouse wrote:
> > On Thu, 2025-10-23 at 22:06 +0200, David Hildenbrand wrote:
> > > On 15.10.25 10:27, Kevin Brodsky wrote:
> > > > We currently set a TIF flag when scheduling out a task that is in
> > > > lazy MMU mode, in order to restore it when the task is scheduled
> > > > again.
> > > >=20
> > > > The generic lazy_mmu layer now tracks whether a task is in lazy MMU
> > > > mode in task_struct::lazy_mmu_state. We can therefore check that
> > > > state when switching to the new task, instead of using a separate
> > > > TIF flag.
> > > >=20
> > > > Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
> > > > ---
> > >=20
> > > Looks ok to me, but I hope we get some confirmation from x86 / xen
> > > folks.
> >=20
> > I know tglx has shouted at me in the past for precisely this reminder,
> > but you know you can test Xen guests under QEMU/KVM now and don't need
> > to actually run Xen? Has this been boot tested?
>=20
> I considered boot-testing a Xen guest (considering the Xen-specific
> changes in this series), but having no idea how to go about it I quickly
> gave up... Happy to follow instructions :)

https://qemu-project.gitlab.io/qemu/system/i386/xen.html covers booting
Xen HVM guests, and near the bottom PV guests too (for which you do
need a copy of Xen to run in QEMU with '--kernel xen', and your
distro's build should suffice for that).

Let me know if you have any trouble. Here's a sample command line which
works here...

qemu-system-x86_64 -display none --accel kvm,xen-version=3D0x40011,kernel-i=
rqchip=3Dsplit -drive file=3D/var/lib/libvirt/images/fedora28.qcow2,if=3Dxe=
n -kernel ~/git/linux-2.6/arch/x86/boot/bzImage -append "root=3D/dev/xvda1 =
console=3DttyS0" -serial mon:stdio

--=-YI9KzXTKaCZlBvC3KOA8
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCD9Aw
ggSOMIIDdqADAgECAhAOmiw0ECVD4cWj5DqVrT9PMA0GCSqGSIb3DQEBCwUAMGUxCzAJBgNVBAYT
AlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xJDAi
BgNVBAMTG0RpZ2lDZXJ0IEFzc3VyZWQgSUQgUm9vdCBDQTAeFw0yNDAxMzAwMDAwMDBaFw0zMTEx
MDkyMzU5NTlaMEExCzAJBgNVBAYTAkFVMRAwDgYDVQQKEwdWZXJva2V5MSAwHgYDVQQDExdWZXJv
a2V5IFNlY3VyZSBFbWFpbCBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMjvgLKj
jfhCFqxYyRiW8g3cNFAvltDbK5AzcOaR7yVzVGadr4YcCVxjKrEJOgi7WEOH8rUgCNB5cTD8N/Et
GfZI+LGqSv0YtNa54T9D1AWJy08ZKkWvfGGIXN9UFAPMJ6OLLH/UUEgFa+7KlrEvMUupDFGnnR06
aDJAwtycb8yXtILj+TvfhLFhafxroXrflspavejQkEiHjNjtHnwbZ+o43g0/yxjwnarGI3kgcak7
nnI9/8Lqpq79tLHYwLajotwLiGTB71AGN5xK+tzB+D4eN9lXayrjcszgbOv2ZCgzExQUAIt98mre
8EggKs9mwtEuKAhYBIP/0K6WsoMnQCcCAwEAAaOCAVwwggFYMBIGA1UdEwEB/wQIMAYBAf8CAQAw
HQYDVR0OBBYEFIlICOogTndrhuWByNfhjWSEf/xwMB8GA1UdIwQYMBaAFEXroq/0ksuCMS1Ri6en
IZ3zbcgPMA4GA1UdDwEB/wQEAwIBhjAdBgNVHSUEFjAUBggrBgEFBQcDBAYIKwYBBQUHAwIweQYI
KwYBBQUHAQEEbTBrMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wQwYIKwYB
BQUHMAKGN2h0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEFzc3VyZWRJRFJvb3RD
QS5jcnQwRQYDVR0fBD4wPDA6oDigNoY0aHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0
QXNzdXJlZElEUm9vdENBLmNybDARBgNVHSAECjAIMAYGBFUdIAAwDQYJKoZIhvcNAQELBQADggEB
ACiagCqvNVxOfSd0uYfJMiZsOEBXAKIR/kpqRp2YCfrP4Tz7fJogYN4fxNAw7iy/bPZcvpVCfe/H
/CCcp3alXL0I8M/rnEnRlv8ItY4MEF+2T/MkdXI3u1vHy3ua8SxBM8eT9LBQokHZxGUX51cE0kwa
uEOZ+PonVIOnMjuLp29kcNOVnzf8DGKiek+cT51FvGRjV6LbaxXOm2P47/aiaXrDD5O0RF5SiPo6
xD1/ClkCETyyEAE5LRJlXtx288R598koyFcwCSXijeVcRvBB1cNOLEbg7RMSw1AGq14fNe2cH1HG
W7xyduY/ydQt6gv5r21mDOQ5SaZSWC/ZRfLDuEYwggWbMIIEg6ADAgECAhAH5JEPagNRXYDiRPdl
c1vgMA0GCSqGSIb3DQEBCwUAMEExCzAJBgNVBAYTAkFVMRAwDgYDVQQKEwdWZXJva2V5MSAwHgYD
VQQDExdWZXJva2V5IFNlY3VyZSBFbWFpbCBHMjAeFw0yNDEyMzAwMDAwMDBaFw0yODAxMDQyMzU5
NTlaMB4xHDAaBgNVBAMME2R3bXcyQGluZnJhZGVhZC5vcmcwggIiMA0GCSqGSIb3DQEBAQUAA4IC
DwAwggIKAoICAQDali7HveR1thexYXx/W7oMk/3Wpyppl62zJ8+RmTQH4yZeYAS/SRV6zmfXlXaZ
sNOE6emg8WXLRS6BA70liot+u0O0oPnIvnx+CsMH0PD4tCKSCsdp+XphIJ2zkC9S7/yHDYnqegqt
w4smkqUqf0WX/ggH1Dckh0vHlpoS1OoxqUg+ocU6WCsnuz5q5rzFsHxhD1qGpgFdZEk2/c//ZvUN
i12vPWipk8TcJwHw9zoZ/ZrVNybpMCC0THsJ/UEVyuyszPtNYeYZAhOJ41vav1RhZJzYan4a1gU0
kKBPQklcpQEhq48woEu15isvwWh9/+5jjh0L+YNaN0I//nHSp6U9COUG9Z0cvnO8FM6PTqsnSbcc
0j+GchwOHRC7aP2t5v2stVx3KbptaYEzi4MQHxm/0+HQpMEVLLUiizJqS4PWPU6zfQTOMZ9uLQRR
ci+c5xhtMEBszlQDOvEQcyEG+hc++fH47K+MmZz21bFNfoBxLP6bjR6xtPXtREF5lLXxp+CJ6KKS
blPKeVRg/UtyJHeFKAZXO8Zeco7TZUMVHmK0ZZ1EpnZbnAhKE19Z+FJrQPQrlR0gO3lBzuyPPArV
hvWxjlO7S4DmaEhLzarWi/ze7EGwWSuI2eEa/8zU0INUsGI4ywe7vepQz7IqaAovAX0d+f1YjbmC
VsAwjhLmveFjNwIDAQABo4IBsDCCAawwHwYDVR0jBBgwFoAUiUgI6iBOd2uG5YHI1+GNZIR//HAw
HQYDVR0OBBYEFFxiGptwbOfWOtMk5loHw7uqWUOnMDAGA1UdEQQpMCeBE2R3bXcyQGluZnJhZGVh
ZC5vcmeBEGRhdmlkQHdvb2Rob3Uuc2UwFAYDVR0gBA0wCzAJBgdngQwBBQEBMA4GA1UdDwEB/wQE
AwIF4DAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwQwewYDVR0fBHQwcjA3oDWgM4YxaHR0
cDovL2NybDMuZGlnaWNlcnQuY29tL1Zlcm9rZXlTZWN1cmVFbWFpbEcyLmNybDA3oDWgM4YxaHR0
cDovL2NybDQuZGlnaWNlcnQuY29tL1Zlcm9rZXlTZWN1cmVFbWFpbEcyLmNybDB2BggrBgEFBQcB
AQRqMGgwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBABggrBgEFBQcwAoY0
aHR0cDovL2NhY2VydHMuZGlnaWNlcnQuY29tL1Zlcm9rZXlTZWN1cmVFbWFpbEcyLmNydDANBgkq
hkiG9w0BAQsFAAOCAQEAQXc4FPiPLRnTDvmOABEzkIumojfZAe5SlnuQoeFUfi+LsWCKiB8Uextv
iBAvboKhLuN6eG/NC6WOzOCppn4mkQxRkOdLNThwMHW0d19jrZFEKtEG/epZ/hw/DdScTuZ2m7im
8ppItAT6GXD3aPhXkXnJpC/zTs85uNSQR64cEcBFjjoQDuSsTeJ5DAWf8EMyhMuD8pcbqx5kRvyt
JPsWBQzv1Dsdv2LDPLNd/JUKhHSgr7nbUr4+aAP2PHTXGcEBh8lTeYea9p4d5k969pe0OHYMV5aL
xERqTagmSetuIwolkAuBCzA9vulg8Y49Nz2zrpUGfKGOD0FMqenYxdJHgDCCBZswggSDoAMCAQIC
EAfkkQ9qA1FdgOJE92VzW+AwDQYJKoZIhvcNAQELBQAwQTELMAkGA1UEBhMCQVUxEDAOBgNVBAoT
B1Zlcm9rZXkxIDAeBgNVBAMTF1Zlcm9rZXkgU2VjdXJlIEVtYWlsIEcyMB4XDTI0MTIzMDAwMDAw
MFoXDTI4MDEwNDIzNTk1OVowHjEcMBoGA1UEAwwTZHdtdzJAaW5mcmFkZWFkLm9yZzCCAiIwDQYJ
KoZIhvcNAQEBBQADggIPADCCAgoCggIBANqWLse95HW2F7FhfH9bugyT/danKmmXrbMnz5GZNAfj
Jl5gBL9JFXrOZ9eVdpmw04Tp6aDxZctFLoEDvSWKi367Q7Sg+ci+fH4KwwfQ8Pi0IpIKx2n5emEg
nbOQL1Lv/IcNiep6Cq3DiyaSpSp/RZf+CAfUNySHS8eWmhLU6jGpSD6hxTpYKye7PmrmvMWwfGEP
WoamAV1kSTb9z/9m9Q2LXa89aKmTxNwnAfD3Ohn9mtU3JukwILRMewn9QRXK7KzM+01h5hkCE4nj
W9q/VGFknNhqfhrWBTSQoE9CSVylASGrjzCgS7XmKy/BaH3/7mOOHQv5g1o3Qj/+cdKnpT0I5Qb1
nRy+c7wUzo9OqydJtxzSP4ZyHA4dELto/a3m/ay1XHcpum1pgTOLgxAfGb/T4dCkwRUstSKLMmpL
g9Y9TrN9BM4xn24tBFFyL5znGG0wQGzOVAM68RBzIQb6Fz758fjsr4yZnPbVsU1+gHEs/puNHrG0
9e1EQXmUtfGn4InoopJuU8p5VGD9S3Ikd4UoBlc7xl5yjtNlQxUeYrRlnUSmdlucCEoTX1n4UmtA
9CuVHSA7eUHO7I88CtWG9bGOU7tLgOZoSEvNqtaL/N7sQbBZK4jZ4Rr/zNTQg1SwYjjLB7u96lDP
sipoCi8BfR35/ViNuYJWwDCOEua94WM3AgMBAAGjggGwMIIBrDAfBgNVHSMEGDAWgBSJSAjqIE53
a4blgcjX4Y1khH/8cDAdBgNVHQ4EFgQUXGIam3Bs59Y60yTmWgfDu6pZQ6cwMAYDVR0RBCkwJ4ET
ZHdtdzJAaW5mcmFkZWFkLm9yZ4EQZGF2aWRAd29vZGhvdS5zZTAUBgNVHSAEDTALMAkGB2eBDAEF
AQEwDgYDVR0PAQH/BAQDAgXgMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDB7BgNVHR8E
dDByMDegNaAzhjFodHRwOi8vY3JsMy5kaWdpY2VydC5jb20vVmVyb2tleVNlY3VyZUVtYWlsRzIu
Y3JsMDegNaAzhjFodHRwOi8vY3JsNC5kaWdpY2VydC5jb20vVmVyb2tleVNlY3VyZUVtYWlsRzIu
Y3JsMHYGCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQuY29t
MEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vVmVyb2tleVNlY3VyZUVt
YWlsRzIuY3J0MA0GCSqGSIb3DQEBCwUAA4IBAQBBdzgU+I8tGdMO+Y4AETOQi6aiN9kB7lKWe5Ch
4VR+L4uxYIqIHxR7G2+IEC9ugqEu43p4b80LpY7M4KmmfiaRDFGQ50s1OHAwdbR3X2OtkUQq0Qb9
6ln+HD8N1JxO5nabuKbymki0BPoZcPdo+FeRecmkL/NOzzm41JBHrhwRwEWOOhAO5KxN4nkMBZ/w
QzKEy4PylxurHmRG/K0k+xYFDO/UOx2/YsM8s138lQqEdKCvudtSvj5oA/Y8dNcZwQGHyVN5h5r2
nh3mT3r2l7Q4dgxXlovERGpNqCZJ624jCiWQC4ELMD2+6WDxjj03PbOulQZ8oY4PQUyp6djF0keA
MYIDuzCCA7cCAQEwVTBBMQswCQYDVQQGEwJBVTEQMA4GA1UEChMHVmVyb2tleTEgMB4GA1UEAxMX
VmVyb2tleSBTZWN1cmUgRW1haWwgRzICEAfkkQ9qA1FdgOJE92VzW+AwDQYJYIZIAWUDBAIBBQCg
ggE3MBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTI1MTAyNDE1MTcy
MFowLwYJKoZIhvcNAQkEMSIEIIUU83TFm9d5DeqzChjuYLSRaIbNzIAsod/MspuHnzkaMGQGCSsG
AQQBgjcQBDFXMFUwQTELMAkGA1UEBhMCQVUxEDAOBgNVBAoTB1Zlcm9rZXkxIDAeBgNVBAMTF1Zl
cm9rZXkgU2VjdXJlIEVtYWlsIEcyAhAH5JEPagNRXYDiRPdlc1vgMGYGCyqGSIb3DQEJEAILMVeg
VTBBMQswCQYDVQQGEwJBVTEQMA4GA1UEChMHVmVyb2tleTEgMB4GA1UEAxMXVmVyb2tleSBTZWN1
cmUgRW1haWwgRzICEAfkkQ9qA1FdgOJE92VzW+AwDQYJKoZIhvcNAQEBBQAEggIAtCYQJZ65jySB
ggxFo1IeuLM9/NpiFSWEHe6gqDHUdt1IPg1boHBROVnNBUdiWwfIMK5n1C3GTfokgSIa+07t5Lnt
Vx/xCqFDvpJpvZaOHSIY0B1wh543U501BBOyGYRjHId8gPD/1q10+XuuAQ2Vxtl3qq8z76bbGYCs
7pEYo5tyGGcpmX1RPTl9R6/k5Va8q41sud+qUPqDTu44AuionVzsRgYW3gr0Sj1Dh9zqlod0+eo1
MawTB7qZxvGKb44374TDmwMFTb4WEf5vs9qRAqB51rrxHgyIk2Zbt6KR3RltCxpRV5BiPZF7t9Pa
N6EAPLmbs3ArPHgUiAaLZEMEbjPN2ltxg+yNx6Y4lNPAQvHDbMtgbqWz+y03kWqED9qyOwD5C/PD
pg/8KLQ0JMq8WGHib+FN+z/wS4MaJR6W+9tOUVkKpPiSB1vXJAUARaFa2E8niyFpzm+haTr452Xd
LL0vO+kSiSv0QKBvKQB9KbL5cJzn06K2mgCt0snHOcRWUQHETSmvLsgGT0N4FrMnrr8LxUaBhv9A
eTTl/gRgVni08bazozq9Ulwvk5PvnbUMSSQ6pbgqcp3X6R2IiCNOeqam+OoqbMr2viVk3g0BvtWw
K1Q9zPY9RjSEYwP+GrtzxjDRh/rB8geb+8JvvdB1UPMFYiHbHwEeWgbIdtAIrWQAAAAAAAA=


--=-YI9KzXTKaCZlBvC3KOA8--


From xen-devel-bounces@lists.xenproject.org Fri Oct 24 15:37:52 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Oct 2025 15:37:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1150560.1481656 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCJrK-0003tg-My; Fri, 24 Oct 2025 15:37:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1150560.1481656; Fri, 24 Oct 2025 15:37:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCJrK-0003tZ-K8; Fri, 24 Oct 2025 15:37:42 +0000
Received: by outflank-mailman (input) for mailman id 1150560;
 Fri, 24 Oct 2025 15:37:41 +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
 <SRS0=QEVg=5B=arm.com=harry.ramsey@srs-se1.protection.inumbo.net>)
 id 1vCJrJ-0003nv-Jd
 for xen-devel@lists.xenproject.org; Fri, 24 Oct 2025 15:37:41 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 5c9f0cea-b0ef-11f0-980a-7dc792cee155;
 Fri, 24 Oct 2025 17:37:35 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 5246D1515;
 Fri, 24 Oct 2025 08:37:26 -0700 (PDT)
Received: from e134099.cambridge.arm.com (e134099.arm.com [10.1.198.34])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id EA6403F63F;
 Fri, 24 Oct 2025 08:37:32 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5c9f0cea-b0ef-11f0-980a-7dc792cee155
From: Harry Ramsey <harry.ramsey@arm.com>
To: xen-devel@lists.xenproject.org
Cc: luca.fancellu@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 0/3] Third MPU series
Date: Fri, 24 Oct 2025 16:37:16 +0100
Message-ID: <20251024153719.408806-1-harry.ramsey@arm.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Hello,

This series aims to further the ongoing work to introduce support for MPU
systems in xen.

The patches in this series implement the logic to map MPU regions.

Thanks,
Harry Ramsey

Harry Ramsey (2):
  arm/mpu: Implement setup_mm for MPU systems
  arm/mpu: Implement reference counting for overlapping regions

Luca Fancellu (1):
  arm/mpu: Implement ioremap_attr for MPU

 xen/arch/arm/arm32/asm-offsets.c         |   2 +
 xen/arch/arm/arm64/asm-offsets.c         |   2 +
 xen/arch/arm/arm64/mmu/mm.c              |  25 +----
 xen/arch/arm/include/asm/arm32/mpu.h     |   2 +
 xen/arch/arm/include/asm/arm64/mpu.h     |   2 +
 xen/arch/arm/include/asm/mm.h            |   2 +
 xen/arch/arm/include/asm/mpu/regions.inc |  11 ++-
 xen/arch/arm/mm.c                        |  45 +++++++++
 xen/arch/arm/mpu/mm.c                    | 121 +++++++++++++++++++----
 9 files changed, 166 insertions(+), 46 deletions(-)

--
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Oct 24 15:37:52 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Oct 2025 15:37:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1150563.1481686 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCJrO-0004ZU-DJ; Fri, 24 Oct 2025 15:37:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1150563.1481686; Fri, 24 Oct 2025 15:37:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCJrO-0004ZJ-AJ; Fri, 24 Oct 2025 15:37:46 +0000
Received: by outflank-mailman (input) for mailman id 1150563;
 Fri, 24 Oct 2025 15:37:45 +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
 <SRS0=QEVg=5B=arm.com=harry.ramsey@srs-se1.protection.inumbo.net>)
 id 1vCJrN-0003nv-Iu
 for xen-devel@lists.xenproject.org; Fri, 24 Oct 2025 15:37:45 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 6214e1ff-b0ef-11f0-980a-7dc792cee155;
 Fri, 24 Oct 2025 17:37:44 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 789161515;
 Fri, 24 Oct 2025 08:37:35 -0700 (PDT)
Received: from e134099.cambridge.arm.com (e134099.arm.com [10.1.198.34])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 21B953F63F;
 Fri, 24 Oct 2025 08:37:42 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6214e1ff-b0ef-11f0-980a-7dc792cee155
From: Harry Ramsey <harry.ramsey@arm.com>
To: xen-devel@lists.xenproject.org
Cc: luca.fancellu@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 3/3] arm: Implement ioremap_attr for MPU
Date: Fri, 24 Oct 2025 16:37:19 +0100
Message-ID: <20251024153719.408806-4-harry.ramsey@arm.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20251024153719.408806-1-harry.ramsey@arm.com>
References: <20251024153719.408806-1-harry.ramsey@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Implement the function `ioremap_attr` for MPU systems.

Signed-off-by: Harry Ramsey <harry.ramsey@arm.com>
---
 xen/arch/arm/mpu/mm.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/mpu/mm.c b/xen/arch/arm/mpu/mm.c
index c5128244b7..3570ce6b27 100644
--- a/xen/arch/arm/mpu/mm.c
+++ b/xen/arch/arm/mpu/mm.c
@@ -475,8 +475,13 @@ void free_init_memory(void)
 
 void __iomem *ioremap_attr(paddr_t start, size_t len, unsigned int flags)
 {
-    BUG_ON("unimplemented");
-    return NULL;
+    paddr_t start_pg = round_pgdown(start);
+    paddr_t end_pg = round_pgup(start_pg + len);
+    if ( xen_mpumap_update(start_pg, end_pg, flags) )
+        return NULL;
+
+    /* Mapped or already mapped */
+    return maddr_to_virt(start_pg);
 }
 
 /*
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Oct 24 15:37:52 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Oct 2025 15:37:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1150561.1481667 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCJrL-00047F-Ti; Fri, 24 Oct 2025 15:37:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1150561.1481667; Fri, 24 Oct 2025 15:37:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCJrL-000478-R5; Fri, 24 Oct 2025 15:37:43 +0000
Received: by outflank-mailman (input) for mailman id 1150561;
 Fri, 24 Oct 2025 15:37:42 +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
 <SRS0=QEVg=5B=arm.com=harry.ramsey@srs-se1.protection.inumbo.net>)
 id 1vCJrK-0003pW-LQ
 for xen-devel@lists.xenproject.org; Fri, 24 Oct 2025 15:37:42 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 60c17ecd-b0ef-11f0-9d16-b5c5bf9af7f9;
 Fri, 24 Oct 2025 17:37:41 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 475521E2F;
 Fri, 24 Oct 2025 08:37:33 -0700 (PDT)
Received: from e134099.cambridge.arm.com (e134099.arm.com [10.1.198.34])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id E14CD3F63F;
 Fri, 24 Oct 2025 08:37:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 60c17ecd-b0ef-11f0-9d16-b5c5bf9af7f9
From: Harry Ramsey <harry.ramsey@arm.com>
To: xen-devel@lists.xenproject.org
Cc: luca.fancellu@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 2/3] arm: Implement reference counting for overlapping regions
Date: Fri, 24 Oct 2025 16:37:18 +0100
Message-ID: <20251024153719.408806-3-harry.ramsey@arm.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20251024153719.408806-1-harry.ramsey@arm.com>
References: <20251024153719.408806-1-harry.ramsey@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Implement reference counting to enable overlapping MPU regions.
References are incremented and decremented in xen_mpumap_update_entry.

A region will be destoryed if the reference count is 0 upon calling
destroy_xen_mappings and if the full region range is specified.

Additionally XEN_MPUMAP_ENTRY_SHIFT and XEN_MPUMAP_ENTRY_SHIFT_ZERO are
no longer hardcoded and defined inside asm-offsets.c.

Signed-off-by: Harry Ramsey <harry.ramsey@arm.com>
---
 xen/arch/arm/arm32/asm-offsets.c         |  2 +
 xen/arch/arm/arm64/asm-offsets.c         |  2 +
 xen/arch/arm/include/asm/arm32/mpu.h     |  2 +
 xen/arch/arm/include/asm/arm64/mpu.h     |  2 +
 xen/arch/arm/include/asm/mpu/regions.inc | 11 +++-
 xen/arch/arm/mpu/mm.c                    | 73 +++++++++++++++++++-----
 6 files changed, 77 insertions(+), 15 deletions(-)

diff --git a/xen/arch/arm/arm32/asm-offsets.c b/xen/arch/arm/arm32/asm-offsets.c
index c203ce269d..951f8d03f3 100644
--- a/xen/arch/arm/arm32/asm-offsets.c
+++ b/xen/arch/arm/arm32/asm-offsets.c
@@ -79,6 +79,8 @@ void __dummy__(void)
 #ifdef CONFIG_MPU
    DEFINE(XEN_MPUMAP_MASK_sizeof, sizeof(xen_mpumap_mask));
    DEFINE(XEN_MPUMAP_sizeof, sizeof(xen_mpumap));
+   DEFINE(XEN_MPUMAP_ENTRY_SHIFT, ilog2(sizeof(pr_t)));
+   DEFINE(XEN_MPUMAP_ENTRY_ZERO_OFFSET, sizeof(prbar_t) + sizeof(prlar_t));
    BLANK();
 #endif
 }
diff --git a/xen/arch/arm/arm64/asm-offsets.c b/xen/arch/arm/arm64/asm-offsets.c
index 320289b281..38a3894a3b 100644
--- a/xen/arch/arm/arm64/asm-offsets.c
+++ b/xen/arch/arm/arm64/asm-offsets.c
@@ -73,6 +73,8 @@ void __dummy__(void)
 #ifdef CONFIG_MPU
    DEFINE(XEN_MPUMAP_MASK_sizeof, sizeof(xen_mpumap_mask));
    DEFINE(XEN_MPUMAP_sizeof, sizeof(xen_mpumap));
+   DEFINE(XEN_MPUMAP_ENTRY_SHIFT, ilog2(sizeof(pr_t)));
+   DEFINE(XEN_MPUMAP_ENTRY_ZERO_OFFSET, sizeof(prbar_t) + sizeof(prlar_t));
    BLANK();
 #endif
 }
diff --git a/xen/arch/arm/include/asm/arm32/mpu.h b/xen/arch/arm/include/asm/arm32/mpu.h
index 0a6930b3a0..137022d922 100644
--- a/xen/arch/arm/include/asm/arm32/mpu.h
+++ b/xen/arch/arm/include/asm/arm32/mpu.h
@@ -39,6 +39,8 @@ typedef union {
 typedef struct {
     prbar_t prbar;
     prlar_t prlar;
+    uint8_t refcount;
+    uint8_t pad[7];     /* Pad structure to 16 Bytes */
 } pr_t;
 
 #endif /* __ASSEMBLY__ */
diff --git a/xen/arch/arm/include/asm/arm64/mpu.h b/xen/arch/arm/include/asm/arm64/mpu.h
index f0ce344e78..17f62ccaf6 100644
--- a/xen/arch/arm/include/asm/arm64/mpu.h
+++ b/xen/arch/arm/include/asm/arm64/mpu.h
@@ -38,6 +38,8 @@ typedef union {
 typedef struct {
     prbar_t prbar;
     prlar_t prlar;
+    uint8_t refcount;
+    uint8_t pad[15];    /* Pad structure to 32 Bytes */
 } pr_t;
 
 #endif /* __ASSEMBLY__ */
diff --git a/xen/arch/arm/include/asm/mpu/regions.inc b/xen/arch/arm/include/asm/mpu/regions.inc
index 23fead3b21..0cdbb17bc3 100644
--- a/xen/arch/arm/include/asm/mpu/regions.inc
+++ b/xen/arch/arm/include/asm/mpu/regions.inc
@@ -14,14 +14,12 @@
 #define PRLAR_ELx_EN            0x1
 
 #ifdef CONFIG_ARM_64
-#define XEN_MPUMAP_ENTRY_SHIFT  0x4     /* 16 byte structure */
 
 .macro store_pair reg1, reg2, dst
     stp \reg1, \reg2, [\dst]
 .endm
 
 #else
-#define XEN_MPUMAP_ENTRY_SHIFT  0x3     /* 8 byte structure */
 
 .macro store_pair reg1, reg2, dst
     strd  \reg1, \reg2, [\dst]
@@ -97,6 +95,15 @@
 
 3:
 
+    /* Clear the rest of the xen_mpumap entry. */
+#ifdef CONFIG_ARM_64
+    stp xzr, xzr, [\base, #XEN_MPUMAP_ENTRY_ZERO_OFFSET]
+#else
+    mov \prbar, #0
+    mov \prlar, #0
+    strd \prbar, \prlar, [\base, #XEN_MPUMAP_ENTRY_ZERO_OFFSET]
+#endif
+
     add   \sel, \sel, #1
 
 1:
diff --git a/xen/arch/arm/mpu/mm.c b/xen/arch/arm/mpu/mm.c
index a058db19ef..c5128244b7 100644
--- a/xen/arch/arm/mpu/mm.c
+++ b/xen/arch/arm/mpu/mm.c
@@ -106,6 +106,7 @@ pr_t pr_of_addr(paddr_t base, paddr_t limit, unsigned int flags)
     region = (pr_t) {
         .prbar = prbar,
         .prlar = prlar,
+        .refcount = 0,
     };
 
     /* Set base address and limit address. */
@@ -170,6 +171,37 @@ int mpumap_contains_region(pr_t *table, uint8_t nr_regions, paddr_t base,
     return MPUMAP_REGION_NOTFOUND;
 }
 
+static bool is_mm_attr_match(pr_t *region, unsigned int attributes)
+{
+    bool ret = true;
+
+    if ( region->prbar.reg.ro != PAGE_RO_MASK(attributes) )
+    {
+        printk(XENLOG_WARNING
+               "Mismatched Access Permission attributes (%#x0 instead of %#x0)\n",
+               region->prbar.reg.ro, PAGE_RO_MASK(attributes));
+        ret = false;
+    }
+
+    if ( region->prbar.reg.xn != PAGE_XN_MASK(attributes) )
+    {
+        printk(XENLOG_WARNING
+               "Mismatched Execute Never attributes (%#x instead of %#x)\n",
+               region->prbar.reg.xn, PAGE_XN_MASK(attributes));
+        ret = false;
+    }
+
+    if ( region->prlar.reg.ai != PAGE_AI_MASK(attributes) )
+    {
+        printk(XENLOG_WARNING
+               "Mismatched Memory Attribute Index (%#x instead of %#x)\n",
+               region->prlar.reg.ai, PAGE_AI_MASK(attributes));
+        ret = false;
+    }
+
+    return ret;
+}
+
 /* Map a frame table to cover physical addresses ps through pe */
 void __init setup_frametable_mappings(paddr_t ps, paddr_t pe)
 {
@@ -287,19 +319,19 @@ static int xen_mpumap_update_entry(paddr_t base, paddr_t limit,
     /* Currently we don't support modifying an existing entry. */
     if ( flags_has_page_present && (rc >= MPUMAP_REGION_FOUND) )
     {
-        printk("Modifying an existing entry is not supported\n");
-        return -EINVAL;
-    }
+        if ( !is_mm_attr_match(&xen_mpumap[idx], flags) )
+        {
+            printk("Modifying an existing entry is not supported\n");
+            return -EINVAL;
+        }
 
-    /*
-     * Currently, we only support removing/modifying a *WHOLE* MPU memory
-     * region. Part-region removal/modification is not supported as in the worst
-     * case it will leave two/three fragments behind.
-     */
-    if ( rc == MPUMAP_REGION_INCLUSIVE )
-    {
-        printk("Part-region removal/modification is not supported\n");
-        return -EINVAL;
+        /* Check for overflow of refcount before incrementing.  */
+        if ( xen_mpumap[idx].refcount == 0xFF )
+        {
+            printk("Cannot allocate region as it would cause reference overflow\n");
+            return -ENOENT;
+        }
+        xen_mpumap[idx].refcount += 1;
     }
 
     /* We are inserting a mapping => Create new region. */
@@ -323,7 +355,22 @@ static int xen_mpumap_update_entry(paddr_t base, paddr_t limit,
             return -EINVAL;
         }
 
-        disable_mpu_region_from_index(idx);
+        if ( xen_mpumap[idx].refcount == 0 )
+        {
+            if (MPUMAP_REGION_FOUND == rc)
+            {
+                disable_mpu_region_from_index(idx);
+            }
+            else
+            {
+                printk("Cannot remove a partial region\n");
+                return -EINVAL;
+            }
+        }
+        else
+        {
+            xen_mpumap[idx].refcount -= 1;
+        }
     }
 
     return 0;
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Oct 24 15:37:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Oct 2025 15:37:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1150562.1481673 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCJrM-00049M-7O; Fri, 24 Oct 2025 15:37:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1150562.1481673; Fri, 24 Oct 2025 15:37:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCJrM-00048c-1k; Fri, 24 Oct 2025 15:37:44 +0000
Received: by outflank-mailman (input) for mailman id 1150562;
 Fri, 24 Oct 2025 15:37: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
 <SRS0=QEVg=5B=arm.com=harry.ramsey@srs-se1.protection.inumbo.net>)
 id 1vCJrK-0003nv-Si
 for xen-devel@lists.xenproject.org; Fri, 24 Oct 2025 15:37:42 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 5f0f4677-b0ef-11f0-980a-7dc792cee155;
 Fri, 24 Oct 2025 17:37:38 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 7FCA41D34;
 Fri, 24 Oct 2025 08:37:30 -0700 (PDT)
Received: from e134099.cambridge.arm.com (e134099.arm.com [10.1.198.34])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 096CF3F63F;
 Fri, 24 Oct 2025 08:37:36 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5f0f4677-b0ef-11f0-980a-7dc792cee155
From: Harry Ramsey <harry.ramsey@arm.com>
To: xen-devel@lists.xenproject.org
Cc: luca.fancellu@arm.com,
	Harry Ramsey <yourmail@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 1/3] arm: Implement setup_mm for MPU systems
Date: Fri, 24 Oct 2025 16:37:17 +0100
Message-ID: <20251024153719.408806-2-harry.ramsey@arm.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20251024153719.408806-1-harry.ramsey@arm.com>
References: <20251024153719.408806-1-harry.ramsey@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Harry Ramsey <your mail@arm.com>

Implement `setup_mm` for MPU systems. This variant does not require
setting up a direct map.

To reduce code duplication the common initalisation code for both MPU
and MMU Arm64 configurations is refactored into `setup_mm`. Platform-specific
setup steps are now handled by a new helper function `setup_mm_helper`.

Signed-off-by: Harry Ramsey <harry.ramsey@arm.com>
---
 xen/arch/arm/arm64/mmu/mm.c   | 26 +-------------------
 xen/arch/arm/include/asm/mm.h |  2 ++
 xen/arch/arm/mm.c             | 45 +++++++++++++++++++++++++++++++++++
 xen/arch/arm/mpu/mm.c         | 30 +++++++++++++++++++++--
 4 files changed, 76 insertions(+), 27 deletions(-)

diff --git a/xen/arch/arm/arm64/mmu/mm.c b/xen/arch/arm/arm64/mmu/mm.c
index 3e64be6ae6..70b53be032 100644
--- a/xen/arch/arm/arm64/mmu/mm.c
+++ b/xen/arch/arm/arm64/mmu/mm.c
@@ -4,8 +4,6 @@
 #include <xen/llc-coloring.h>
 #include <xen/mm.h>
 #include <xen/pfn.h>
-#include <xen/static-memory.h>
-#include <xen/static-shmem.h>
 
 #include <asm/setup.h>
 
@@ -240,33 +238,18 @@ static void __init setup_directmap_mappings(unsigned long base_mfn,
         panic("Unable to setup the directmap mappings.\n");
 }
 
-void __init setup_mm(void)
+void __init setup_mm_helper(void)
 {
     const struct membanks *banks = bootinfo_get_mem();
     paddr_t ram_start = INVALID_PADDR;
     paddr_t ram_end = 0;
-    paddr_t ram_size = 0;
     unsigned int i;
 
-    init_pdx();
-
-    /*
-     * We need some memory to allocate the page-tables used for the directmap
-     * mappings. But some regions may contain memory already allocated
-     * for other uses (e.g. modules, reserved-memory...).
-     *
-     * For simplicity, add all the free regions in the boot allocator.
-     */
-    populate_boot_allocator();
-
-    total_pages = 0;
-
     for ( i = 0; i < banks->nr_banks; i++ )
     {
         const struct membank *bank = &banks->bank[i];
         paddr_t bank_end = bank->start + bank->size;
 
-        ram_size = ram_size + bank->size;
         ram_start = min(ram_start, bank->start);
         ram_end = max(ram_end, bank_end);
 
@@ -274,16 +257,9 @@ void __init setup_mm(void)
                                  PFN_DOWN(bank->size));
     }
 
-    total_pages += ram_size >> PAGE_SHIFT;
-
     directmap_virt_end = XENHEAP_VIRT_START + ram_end - ram_start;
     directmap_mfn_start = maddr_to_mfn(ram_start);
     directmap_mfn_end = maddr_to_mfn(ram_end);
-
-    setup_frametable_mappings(ram_start, ram_end);
-
-    init_staticmem_pages();
-    init_sharedmem_pages();
 }
 
 /*
diff --git a/xen/arch/arm/include/asm/mm.h b/xen/arch/arm/include/asm/mm.h
index 7a93dad2ed..1f5b41e602 100644
--- a/xen/arch/arm/include/asm/mm.h
+++ b/xen/arch/arm/include/asm/mm.h
@@ -202,6 +202,8 @@ extern void remove_early_mappings(void);
 extern int prepare_secondary_mm(int cpu);
 /* Map a frame table to cover physical addresses ps through pe */
 extern void setup_frametable_mappings(paddr_t ps, paddr_t pe);
+/* Helper function to setup memory management */
+extern void setup_mm_helper(void);
 /* map a physical range in virtual memory */
 void __iomem *ioremap_attr(paddr_t start, size_t len, unsigned int attributes);
 
diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index 3b05b46ee0..f26c28aaf5 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -12,8 +12,12 @@
 #include <xen/grant_table.h>
 #include <xen/guest_access.h>
 #include <xen/mm.h>
+#include <xen/static-memory.h>
+#include <xen/static-shmem.h>
 #include <xen/vmap.h>
 
+#include <asm/setup.h>
+
 #include <xsm/xsm.h>
 
 #include <public/memory.h>
@@ -24,6 +28,47 @@
 
 unsigned long frametable_base_pdx __read_mostly;
 
+#if !defined(CONFIG_ARM_32) || defined(CONFIG_MPU)
+void __init setup_mm(void)
+{
+    const struct membanks *banks = bootinfo_get_mem();
+    paddr_t ram_start = INVALID_PADDR;
+    paddr_t ram_end = 0;
+    paddr_t ram_size = 0;
+    unsigned int i;
+
+    init_pdx();
+
+    /*
+     * We need some memory to allocate the page-tables used for the directmap
+     * mappings. But some regions may contain memory already allocated
+     * for other uses (e.g. modules, reserved-memory...).
+     *
+     * For simplicity, add all the free regions in the boot allocator.
+     */
+    populate_boot_allocator();
+
+    for ( i = 0; i < banks->nr_banks; i++ )
+    {
+        const struct membank *bank = &banks->bank[i];
+        paddr_t bank_end = bank->start + bank->size;
+
+        ram_size = ram_size + bank->size;
+        ram_start = min(ram_start, bank->start);
+        ram_end = max(ram_end, bank_end);
+    }
+
+    total_pages = ram_size >> PAGE_SHIFT;
+
+    setup_mm_helper();
+
+    setup_frametable_mappings(ram_start, ram_end);
+
+    init_staticmem_pages();
+    init_sharedmem_pages();
+}
+#endif
+
 bool flags_has_rwx(unsigned int flags)
 {
     /*
diff --git a/xen/arch/arm/mpu/mm.c b/xen/arch/arm/mpu/mm.c
index 3f155b7db2..a058db19ef 100644
--- a/xen/arch/arm/mpu/mm.c
+++ b/xen/arch/arm/mpu/mm.c
@@ -8,9 +8,11 @@
 #include <xen/sizes.h>
 #include <xen/spinlock.h>
 #include <xen/types.h>
+#include <xen/pfn.h>
 #include <asm/mpu.h>
 #include <asm/mpu/mm.h>
 #include <asm/page.h>
+#include <asm/setup.h>
 #include <asm/sysregs.h>
 
 struct page_info *frame_table;
@@ -378,9 +380,33 @@ int map_pages_to_xen(unsigned long virt, mfn_t mfn, unsigned long nr_mfns,
     return xen_mpumap_update(virt, mfn_to_maddr(mfn_add(mfn, nr_mfns)), flags);
 }
 
-void __init setup_mm(void)
+/*
+ * Heap must be statically configured in Device Tree through "xen,static-heap"
+ * on MPU systems, use setup_mm_helper() for that.
+ */
+void __init setup_mm_helper(void)
 {
-    BUG_ON("unimplemented");
+    const struct membanks *reserved_mem = bootinfo_get_reserved_mem();
+    unsigned int bank = 0;
+
+    for ( ; bank < reserved_mem->nr_banks; bank++ )
+    {
+        if ( reserved_mem->bank[bank].type == MEMBANK_STATIC_HEAP )
+        {
+            paddr_t bank_start = round_pgup(reserved_mem->bank[bank].start);
+            paddr_t bank_size = round_pgdown(reserved_mem->bank[bank].size);
+            paddr_t bank_end = bank_start + bank_size;
+
+            /* Map static heap with one MPU protection region */
+            if ( xen_mpumap_update(bank_start, bank_end, PAGE_HYPERVISOR) )
+                panic("Failed to map static heap\n");
+
+            break;
+        }
+    }
+
+    if ( bank == reserved_mem->nr_banks )
+        panic("No static heap memory bank found\n");
 }
 
 int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int nf)
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Oct 24 15:42:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Oct 2025 15:42:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1150588.1481696 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCJvZ-0006uu-Um; Fri, 24 Oct 2025 15:42:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1150588.1481696; Fri, 24 Oct 2025 15:42:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCJvZ-0006un-Ru; Fri, 24 Oct 2025 15:42:05 +0000
Received: by outflank-mailman (input) for mailman id 1150588;
 Fri, 24 Oct 2025 15:42:04 +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
 <SRS0=btSP=5B=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1vCJvY-0006uh-8j
 for xen-devel@lists.xenproject.org; Fri, 24 Oct 2025 15:42:04 +0000
Received: from MRWPR03CU001.outbound.protection.outlook.com
 (mail-francesouthazlp170110003.outbound.protection.outlook.com
 [2a01:111:f403:c207::3])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fa17ef03-b0ef-11f0-980a-7dc792cee155;
 Fri, 24 Oct 2025 17:41:59 +0200 (CEST)
Received: from DB3PR06CA0029.eurprd06.prod.outlook.com (2603:10a6:8:1::42) by
 DU0PR08MB9417.eurprd08.prod.outlook.com (2603:10a6:10:420::16) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9253.13; Fri, 24 Oct 2025 15:41:55 +0000
Received: from DU6PEPF0000B61C.eurprd02.prod.outlook.com
 (2603:10a6:8:1:cafe::1e) by DB3PR06CA0029.outlook.office365.com
 (2603:10a6:8:1::42) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9253.13 via Frontend Transport; Fri,
 24 Oct 2025 15:41:55 +0000
Received: from outbound-uk1.az.dlp.m.darktrace.com (4.158.2.129) by
 DU6PEPF0000B61C.mail.protection.outlook.com (10.167.8.135) with Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9253.7
 via Frontend Transport; Fri, 24 Oct 2025 15:41:55 +0000
Received: from DU2PR08MB7272.eurprd08.prod.outlook.com (2603:10a6:10:2d7::16)
 by DU0PR08MB8041.eurprd08.prod.outlook.com (2603:10a6:10:3e5::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.13; Fri, 24 Oct
 2025 15:41:22 +0000
Received: from DU2PR08MB7272.eurprd08.prod.outlook.com
 ([fe80::ab1e:55db:9d8:afbc]) by DU2PR08MB7272.eurprd08.prod.outlook.com
 ([fe80::ab1e:55db:9d8:afbc%5]) with mapi id 15.20.9253.011; Fri, 24 Oct 2025
 15:41:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fa17ef03-b0ef-11f0-980a-7dc792cee155
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=fMcNOTX5vGq+WwjGSdIFCUQ71vVvhgmDlefYyrv0dUsBTm/VuOSwRTiXWMcqIS3rqP+1YD+5QHReNQxkkv1DW5AVMZK85e6zAiX+lU7jG4zdGh5stQaKyAyYC5nzFNOiOzm7DV1vpUXEcJCXCp4vW3zZ4WZ58CRhzAIJlPn62ooI7cgXpW/MP5KyFK3qzuc5IaK58F52bJ7coKswMTsJdDuDBM35fBcXVBzhYJYKYvMCaVWTxWzHWzB3+qqEtlBD7sz2/eNqJryiBoKwbMiz8uT4rnZyGeb3LP/+cACiHdupoH81tdBHQQ8iEvV0rBvVdMxq3BShdo5tE+qS0rvjWA==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OBBqelmR6bkOUaL51ofDaDC3tEoXtyZOGD7eXlEuaBw=;
 b=DvBLjt6qjiHyX7wYqv2z16b6hoRBWa5bJ2Q9K59ST355yzGM9KYVd/nQDOtlWNS6BWFSbaXtFRKEbIt6PFuvg+4g0Qr50ryyRFyNzV98N0nMgJoGj9oRQE34XAPt7JBxddesx6ZsE4vzYjzHQAPoeDb/vFjDzU4g/m7xYvTOC7dNkNMGf6aLai9SFve1u7gL4XUQB5LnFogqnbLMkMK3EyK5wkpnbr0Bd9Y1bdBSp1v7ASxy024hdGUqTX/s7EsTJFrCnESfWxw2GKFxlG2DhgglADSY3Ly1rfUA/L9Kpv9uxIP0XcDgmWr25Zxyc8TbOJFZcc7kWWGqUBQ/zyisRw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 4.158.2.129) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1
 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OBBqelmR6bkOUaL51ofDaDC3tEoXtyZOGD7eXlEuaBw=;
 b=Q4lSzmiPdmdTAUPWLF1GNGJJma1RG0HBAcXk42Z+mEzfF5oXO06NVx3XLsk8w6C0efwv+6bpdJr5LA1GhHjTToVFY6LZlPQ3OCBIkedR8fi5qOQx6WFCE21sdy/voZwZTwsfhYrrji1QkAOCH+sx88XXvxxL4G1ZVWrcyVXVO2U=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 4.158.2.129)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=arm.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 4.158.2.129 as permitted sender) receiver=protection.outlook.com;
 client-ip=4.158.2.129; helo=outbound-uk1.az.dlp.m.darktrace.com; pr=C
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=y6xghRwnyxl1iXlOgyCKM0m2bOXkWErSms/7G/6WPTb3v2acHBxlUfQSViGFJ2qVxwU+nOG5fdQvNWZmkbFsVV1tTWyD19k4XQbL7cHPjC+bndLib8J3fhSNNLwl8VPDZN6tg882Q+9HVrDeaZXXflqsRs1wOeVJNA+xn+DeU9MswSmSzxDQObxX93cqfmdmm5lZdJD/DZgv0ZBDgS8ng2V9j8k6+I7J6GnSq42X5lOPdYSM1L4bQAPAG5YGjvYsQBa+7Unsstyw1ggRxTinnFW4M0OC/ouUqgM/iFDF6s9l/X5rB4uFkq39KujfUvYS6STA88z7/udBqtuFzlf9zw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OBBqelmR6bkOUaL51ofDaDC3tEoXtyZOGD7eXlEuaBw=;
 b=uFEpePaP/O0FrlKm9Fvd2ourYNnL0mj6gA613Oja3xbuStGIS8Ql84PwfCj5hEfZBHZvzOazhMcGz+UgYxN6WsTo/kNBRQYyhoMPl8E8e5acPLHUUOxo2hRMnHsyixp0zv1mh2O267hOvC0wH3CV89gXB1K0v4hnIBB0zfQ7C8/mObdld30DtTRP7mKpnDC2wckI76rUjAeumWFQZ9ZoAmAUnoTSzgGy5o8tB7x/2TxeqZfEta4iAT2FPYLi5Dx00D5ge+5Kh4jBjbm80eXBExI+0MTIcRIQwfssB5v+RrCx39b5EiM+frOBgRjP+oB/VNtmSbXGQzb7pdsJfLVBuw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OBBqelmR6bkOUaL51ofDaDC3tEoXtyZOGD7eXlEuaBw=;
 b=Q4lSzmiPdmdTAUPWLF1GNGJJma1RG0HBAcXk42Z+mEzfF5oXO06NVx3XLsk8w6C0efwv+6bpdJr5LA1GhHjTToVFY6LZlPQ3OCBIkedR8fi5qOQx6WFCE21sdy/voZwZTwsfhYrrji1QkAOCH+sx88XXvxxL4G1ZVWrcyVXVO2U=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Harry Ramsey <Harry.Ramsey@arm.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Harry
 Ramsey <yourmail@arm.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH 1/3] arm: Implement setup_mm for MPU systems
Thread-Topic: [PATCH 1/3] arm: Implement setup_mm for MPU systems
Thread-Index: AQHcRPwjhXV/u7H6OkO1vDTcVnOBzLTRby6A
Date: Fri, 24 Oct 2025 15:41:21 +0000
Message-ID: <A3747BFE-3210-491B-A745-8AA9CCD79C8C@arm.com>
References: <20251024153719.408806-1-harry.ramsey@arm.com>
 <20251024153719.408806-2-harry.ramsey@arm.com>
In-Reply-To: <20251024153719.408806-2-harry.ramsey@arm.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3826.700.81)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DU2PR08MB7272:EE_|DU0PR08MB8041:EE_|DU6PEPF0000B61C:EE_|DU0PR08MB9417:EE_
X-MS-Office365-Filtering-Correlation-Id: cb3d3d91-6724-41a2-c84a-08de1313dc27
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted:
 BCL:0;ARA:13230040|366016|376014|1800799024|38070700021;
X-Microsoft-Antispam-Message-Info-Original:
 =?utf-8?B?QW5qWmg1OFVSVVZuSHpiVHhKN0VaMHF4YmMzNmlWQklVMHVVazVxYllUTDY1?=
 =?utf-8?B?ZGxMbVB1ZXViVndsSlJxQXhneDU1TytyVkVOQ2Y4djZyMG1VdEt4QmJUclpR?=
 =?utf-8?B?Rndnbmo1VVJjSkRCenhLWnp3Y0dwYlZYNUtuTFZPRzV6dkhVWFV4YmlQNmV5?=
 =?utf-8?B?cVAxQlV3VUJuUWNKTnhwU3BVRVJPSzM2SUFTZHNDdnYyekxyQW9UYkZQU3ZW?=
 =?utf-8?B?Q0dMN3VwcjRxcXpBSDBaV3B4WkVRWlU1SXpnaUtJdDJCU09HRjEzaHFrckVa?=
 =?utf-8?B?SGZUa2hScFNFcHZnZWhvM0JIM3BKWHE3Q0ZteXVPUitPelFmUGg1Q24yL2Ny?=
 =?utf-8?B?am9yREsrVHlRMGNTdjFva21uRnZFdUhGVHB6bWIvZ1h0NFV0VXRrMG91VlVB?=
 =?utf-8?B?Yi9VNUk1Yzd0ZjJkb0N4RzJSTnNXT1dtZFlqUXlCbFRGMmR0dlYyQnVSVWFD?=
 =?utf-8?B?QVJaQkNDa01zVXo2WERqL3k3NHlUR01jZTVvTFZ2a0wvYnk2ZmxsMUVnRjhB?=
 =?utf-8?B?Uk03Z01DRnNGL0xrNXNvR2E3Vmh3bXhWMjdlM1ZNd0JRdEdjL3dneUx5dldP?=
 =?utf-8?B?bmR0WkZDTkZ5N3VMVDhWUEZCaE5GM2JBdjYxRW9wMUZwd1RyeGljR3o1T0Mz?=
 =?utf-8?B?U3BvT041ekpINnFxMTJNK2c2NzdFcndiNTUvWTBNQmlON21YaTc2TnRaeDho?=
 =?utf-8?B?cU5pMXkwYUZpM2dRSlpjSTluN2ZLWkpXbUFpRXNzRWR6TEEzeURRdEM4Z3d5?=
 =?utf-8?B?SXNFTkJ5YktmMWNkS3Y4NWdkOGFZOTRMOEwxajlrcEZreDljcG5STlpKZzFV?=
 =?utf-8?B?R0gxTldZbFlXOHVBRUJmTUp6MGxRaEZ2TUJxKzl2blVnQmdiSnZPdFdpZnpz?=
 =?utf-8?B?TDZhRTdyV1dQaGU1Y3lhZkZFWFRhVTFVODhvbkpjeVY1K1ZaNEpsWnRNcEZ4?=
 =?utf-8?B?cVFRZkJzd2tPWkVGTkhrTzU3aTljSjhEbk02OWJUMCs3d2V2ZkUzaitiWDA3?=
 =?utf-8?B?dWxWcEo0ZEQ4Q2dtSHVScWtRRW54T1ZVTDB2OHBFL3d1T1huQnhLQzFmS3oy?=
 =?utf-8?B?MFFaUWxTay9BUmU2RzhDNWFGYk12SzlRWWNTZ1Y3M3FSeWpCdTZnODJSYXZt?=
 =?utf-8?B?RW1LbFovNUo3TVNna0hHL2E4YnUvNTdicS9yM0VsQzV5UXk4cUgwRW93S1lG?=
 =?utf-8?B?WGRDMnNaT3lxQVlianNCMVFLWVcraGdnK1c1cFdsbGR1OVk0TU1OQU8xRS9B?=
 =?utf-8?B?eXZMOTNobnVsUlRycngwVnNLMnlMcVJzQTJMNzhaSGZlRXhEekpBbTdwcnRI?=
 =?utf-8?B?dG9JcDRqVHRCM2dHd1N5K2FWbGVFd3k0TzVaQVI3anV6VnBnaklLeGF6cE1w?=
 =?utf-8?B?NmtmWHNvUDRjWHFJWFBjV2NWdjRVU2hidktjU2l0SXRTWGQrSnRraWYrOHhI?=
 =?utf-8?B?VXZLMDdZWWFTeVh4SXdoT1NqazI0bFFpVGN2cE0wMXVHT1FoTWI5YVY0THdQ?=
 =?utf-8?B?Nitkdy93TERNY1NDU2hEZUZrMTNpSnpGNUd3RC8rOS9CZjdpOWtHanBqbFpj?=
 =?utf-8?B?amxWVkNPTzJIVlpORkVCQlo3b2tRM3M1U0hJRHhucnZFUlVvYVVTY0xCV1Q0?=
 =?utf-8?B?Y0dEMHpmSGNKZ3liekRHcUFwUkZTWEpac2o0U016emJNVlVqUFNDNXVPQWtQ?=
 =?utf-8?B?UHdVdGRvZHBETGI5Y2VkcnFTMDlWSkNoc3E1TzJrK25pVGMwa2FZcWZBRXJr?=
 =?utf-8?B?R1dZMS9kdlRCZzJldXh2dDFhb3RiUFBpbmRjMFh5eUpERUZjZ1VpdUFvRDVE?=
 =?utf-8?B?RXR6bU8xKzVPZXBjeGdNL1NCL0kwZ0hnVFFuZkY0a245Y3lOcm04WEs1Rk1F?=
 =?utf-8?B?TVkxYXVxMXVsVmM2b1kvK0FVTzFPRDdiMGMwM0FqNkJYWmdVbzFNbDVzcEVS?=
 =?utf-8?B?N3g4dmFwQktwVGh2SkJ0eHM2Z1ZhSzZqVDVKL3dnVDJYdGFWSFZzWkc2UG5N?=
 =?utf-8?B?TTlHTU9jNkNNeEZkREc0WWE5dGkranliS282WG1OWXM1VHlWZjl1NEE1NFBl?=
 =?utf-8?Q?bEykhz?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR08MB7272.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(38070700021);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <AA948D37F500284C8C9420884B44DDD8@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB8041
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DU6PEPF0000B61C.eurprd02.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	c12b509b-ed45-4476-7bd2-08de1313c826
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|376014|35042699022|1800799024|14060799003|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?bmNrOFAyZlNSSWlyMWQvVHZrWmZNUjBvdjJqQmQ5aG5IYzRmamVYZkZobUlT?=
 =?utf-8?B?Ykw1YUVsbzE3NUZMSGlrSXRoM1BIK25sY1VSL3lnejFUcXI1MGZGSG1YMklo?=
 =?utf-8?B?WWlYTDV1SGxRb3dFdW9sM05FTFkzY3ZwM2w0Y0c3Y1pVS0JMTDljZ2J2cmda?=
 =?utf-8?B?ajdNWWlSOCs4QkR5cjFjcW9CQUUyZVJhc0FUSDlpbVM5QVhUcWtidjdtSThJ?=
 =?utf-8?B?MlVjdjMrTVRlbzJ2WkIxRXRqc213alNVSUd3Nmk0YzFxV053elZYS3pvMGpB?=
 =?utf-8?B?eHJkeDlxZnVNdGVKa2VzV3dvZ1dZbk5ZamZURm5JSXFMV28xaVl3dk5BT2Rr?=
 =?utf-8?B?YzNxd3pBa3VJMlBSd2wvRS9WcDFBa1dPWmJvR2hXUTZGYXIyL0JIZ0hsSnNt?=
 =?utf-8?B?OFRLQU9aVDNsSFFUTkhyS1JoTGJJRGtSS3czTkI0NExQVkxRa1lES0h4WTZv?=
 =?utf-8?B?VUIwdC9SRk1mZ05YQWh6SWxDdWdvdUVqN05WQW9sRk1yL256N2hqZTlDY2Vx?=
 =?utf-8?B?Ni9pcXB4dnJQNWViN2pzMWlhUnJOYkZOMUlyYXNQbDZhUTFvZHdEQ21OYTRs?=
 =?utf-8?B?cnBnZjY0VWExYUZDUjcvQWpEOXA0K21QbGEzVkdSemZBWC9WdEVTb0dody9B?=
 =?utf-8?B?RTVvT0tWVW1hRVZzOTYzNjUyaFlmV05FWDMzVzFkSXhjQlk4czZVRmpFUFBy?=
 =?utf-8?B?ZkZOa0ZWTERjVGhRWEtRQVZGaTJIbmZsbG54R2hkZS9mNWtsdGF4SktrOXZa?=
 =?utf-8?B?QXI2aVJmZkwzL1JneFJSS1hJQ1Rua0F3ajduYTNWbXNjZDhJOUU3M0ZGalJl?=
 =?utf-8?B?TnZwVUM5S1VHWWRjYWRkUVBYWmlTZTIreXZuOFZLWERtWFRFTk1hR1RnUzRz?=
 =?utf-8?B?eVJTNVhjaXlFY3FhODFnSlhxRndSTHRSUk4wQ2s2aFlON2kzdlNxeGZXdDdG?=
 =?utf-8?B?TVAzYzYyTGZrQTlxREEwR1Y0bDZCaFJFeEEzaTlScS9nR01zUWphMG95TWIx?=
 =?utf-8?B?OENuZDdpVlhRNm8vbUVDVjUyazQ4RzRyazVzc3BTd0ZhaEhaUGl5RUtJbVNH?=
 =?utf-8?B?b0hLNVc5YXo5SHpHZ051cHFwcTllelhHNnNodUJMSkVRY3ZzbFp5anluMXQv?=
 =?utf-8?B?em5IZTU5ZlpRaW82WDhIMG0rek9GeDgrUXNod2ZzZkZmRUlHVWI5Z0lreTdC?=
 =?utf-8?B?TTJ1d3czRVlYcXhtVWNEZlNPL0R5cGl1aUdqOVJwVGxndlFPTzg3NTJoaFMv?=
 =?utf-8?B?WEdBMTZ3VEd5em1DckF2VWtCSC9CSmxUaVc3STVIWDZrck9GODVKaHZOZWFC?=
 =?utf-8?B?Y3VKK1NHRDVEcVYwVXhCS3hFdVE4dTlHeGk5MEROUEtCdDNjZmdDd1o5NlMw?=
 =?utf-8?B?eW0vRmQvTHVvWWRBUVpFbmxzaEtNMW5yZTJVV0NsMjYvMDRoRzJVdkxxZUJN?=
 =?utf-8?B?U0dXeFd5cnNQTGVzR3ViYnZlNUhIcklZVEJmUGJaTGdBTVVrVmg0R01vOVRN?=
 =?utf-8?B?WXlpa2x1YzZiSSszRHlrTWRiK2Y4bUd5M3ZNSTRhdC8xeG1RT2Zsdml2YVU1?=
 =?utf-8?B?Ti9lbDJFaU51K1JRRnYzUTA0U0h3SzNnNmhtbDdscGhyZzFRVEphMTliS3Yy?=
 =?utf-8?B?Z1RDbThNMmw1d1gydmlhNFBmUkdGYmtEVjNxQnNBc0VtbXJTd3pRbkxQWkVZ?=
 =?utf-8?B?T094MFZWTTJlMW1Wb2xuMDBmcGd4NkRPRlFqSDlGU3luanFFYi8rcGJKVUhL?=
 =?utf-8?B?SmxDYVNDK2pDbzFBcFRKTFNsR3dLLzZIWkkvbHV2aUpsYlphSHZSTGgwWGo3?=
 =?utf-8?B?cDVKNHpoU2VOTUwrOWo4eVc3Yk1UR3hUWGE3ZFNhQXVCeDFJcnJUVTJtdHM4?=
 =?utf-8?B?MEpTWTlFbGVMZlpOWDRKTmptMTM5emtGUkpqYmswcC96aXlWdVVCUW04aDNu?=
 =?utf-8?B?TWhYbUdjeC9XTzk1SXBuY0NqaGcyWnZoRWlRV3pteGNobXJOdUM5TnpTOVFO?=
 =?utf-8?B?Tjg2M1VoTnpuT09SV0daOEhlbTc4dHFNVmkyV0ZKSUZNZy9HZ3Z3K25yd0lG?=
 =?utf-8?B?Nm1FR2c1eDVqQ2MrS1hjaWM2ZkJKbXdIMEdTUGF2SXVWYTI0bk1KRDFka1Rh?=
 =?utf-8?Q?lWfk=3D?=
X-Forefront-Antispam-Report:
	CIP:4.158.2.129;CTRY:GB;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:outbound-uk1.az.dlp.m.darktrace.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(376014)(35042699022)(1800799024)(14060799003)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Oct 2025 15:41:55.1049
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: cb3d3d91-6724-41a2-c84a-08de1313dc27
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[4.158.2.129];Helo=[outbound-uk1.az.dlp.m.darktrace.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DU6PEPF0000B61C.eurprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB9417

SGkgSGFycnksDQoNCj4gT24gMjQgT2N0IDIwMjUsIGF0IDE2OjM3LCBIYXJyeSBSYW1zZXkgPEhh
cnJ5LlJhbXNleUBhcm0uY29tPiB3cm90ZToNCj4gDQo+IEZyb206IEhhcnJ5IFJhbXNleSA8eW91
ciBtYWlsQGFybS5jb20+DQoNCndlIHdpbGwgZml4IHRoZSBhdXRob3JzaGlwIGluIHYyLCBmb3Ig
bm93IGxldOKAmXMgbGVhdmUgdGhpcyBzZXJpZSB0byBjb2xsZWN0IHRoZSBjb21tZW50cyBmcm9t
DQp0aGUgbWFpbGluZyBsaXN0Lg0KDQpDaGVlcnMsDQpMdWNhDQoNCg==


From xen-devel-bounces@lists.xenproject.org Fri Oct 24 15:46:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Oct 2025 15:46:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1150618.1481707 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCJzb-0007cN-Jq; Fri, 24 Oct 2025 15:46:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1150618.1481707; Fri, 24 Oct 2025 15:46:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCJzb-0007cG-Fd; Fri, 24 Oct 2025 15:46:15 +0000
Received: by outflank-mailman (input) for mailman id 1150618;
 Fri, 24 Oct 2025 15:46: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
 <SRS0=pSNC=5B=zedat.fu-berlin.de=glaubitz@srs-se1.protection.inumbo.net>)
 id 1vCJsd-0003nv-43
 for xen-devel@lists.xenproject.org; Fri, 24 Oct 2025 15:39:03 +0000
Received: from outpost1.zedat.fu-berlin.de (outpost1.zedat.fu-berlin.de
 [130.133.4.66]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8db7d325-b0ef-11f0-980a-7dc792cee155;
 Fri, 24 Oct 2025 17:38:57 +0200 (CEST)
Received: from inpost2.zedat.fu-berlin.de ([130.133.4.69])
 by outpost.zedat.fu-berlin.de (Exim 4.98) with esmtps (TLS1.3)
 tls TLS_AES_256_GCM_SHA384
 (envelope-from <glaubitz@zedat.fu-berlin.de>)
 id 1vCJs4-00000000MJF-0C1i; Fri, 24 Oct 2025 17:38:28 +0200
Received: from p5b13aa34.dip0.t-ipconnect.de ([91.19.170.52]
 helo=suse-laptop.fritz.box) by inpost2.zedat.fu-berlin.de (Exim 4.98)
 with esmtpsa (TLS1.3) tls TLS_AES_256_GCM_SHA384
 (envelope-from <glaubitz@physik.fu-berlin.de>)
 id 1vCJs3-00000000KCV-30QZ; Fri, 24 Oct 2025 17:38:27 +0200
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8db7d325-b0ef-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=fu-berlin.de; s=fub01; h=MIME-Version:Content-Transfer-Encoding:
	Content-Type:References:In-Reply-To:Date:Cc:To:From:Subject:Message-ID:From:
	Reply-To:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:
	Content-Transfer-Encoding:Content-ID:Content-Description:In-Reply-To:
	References; bh=73Zwdq32M3wvIOvcsImSKjLgygutGdvwi4JFjWo6zTA=; t=1761320337;
	x=1761925137; b=lwp5Vy7CNybY1kA0EGickK9DaUcqBkrn3bXa/7XhYCixMwIA/1cKOlPBGYb++
	G/WF8Z0eYspyBI9b8+CkJQC/eXZvj0YFecE64LhcPjIVbOuBixtVYxpQGe4qE89JHLym27zMKyCRz
	I3tFw42f/EwZ70zR3tNk5cKlmlE1LXb6IuUvdQOrR0cfqRYgxpVrtQ8KQaJ+uUD8M41JQnz8Gpud7
	3Z/Sa8x42I7wy0w1D+v7hCe7CdEJwkNxNIzpCbCcV9FOMem+SVFpbMKHwg1SfV+WPL21neeboORkM
	glsZY/CFhgnVbvab7BBEO+evZcbAVJPH+HS4aM0plEGGxeFUWA==;
Message-ID: <fcd7b731d38b256e59edd532e792a00efa4e144e.camel@physik.fu-berlin.de>
Subject: Re: [PATCH v3 11/13] x86/xen: use lazy_mmu_state when
 context-switching
From: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
To: David Woodhouse <dwmw2@infradead.org>, David Hildenbrand
 <david@redhat.com>,  Kevin Brodsky <kevin.brodsky@arm.com>,
 linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org, Alexander Gordeev
 <agordeev@linux.ibm.com>,  Andreas Larsson <andreas@gaisler.com>, Andrew
 Morton <akpm@linux-foundation.org>, Boris Ostrovsky	
 <boris.ostrovsky@oracle.com>, Borislav Petkov <bp@alien8.de>, Catalin
 Marinas	 <catalin.marinas@arm.com>, Christophe Leroy
 <christophe.leroy@csgroup.eu>,  Dave Hansen <dave.hansen@linux.intel.com>,
 "David S. Miller" <davem@davemloft.net>, "H. Peter Anvin"	 <hpa@zytor.com>,
 Ingo Molnar <mingo@redhat.com>, Jann Horn <jannh@google.com>,  Juergen
 Gross <jgross@suse.com>, "Liam R. Howlett" <Liam.Howlett@oracle.com>,
 Lorenzo Stoakes	 <lorenzo.stoakes@oracle.com>, Madhavan Srinivasan
 <maddy@linux.ibm.com>,  Michael Ellerman <mpe@ellerman.id.au>, Michal Hocko
 <mhocko@suse.com>, Mike Rapoport <rppt@kernel.org>, Nicholas Piggin
 <npiggin@gmail.com>, Peter Zijlstra <peterz@infradead.org>, Ryan Roberts	
 <ryan.roberts@arm.com>, Suren Baghdasaryan <surenb@google.com>, Thomas
 Gleixner	 <tglx@linutronix.de>, Vlastimil Babka <vbabka@suse.cz>, Will
 Deacon	 <will@kernel.org>, Yeoreum Yun <yeoreum.yun@arm.com>, 
	linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org, 
	sparclinux@vger.kernel.org, xen-devel@lists.xenproject.org, x86@kernel.org
Date: Fri, 24 Oct 2025 17:38:26 +0200
In-Reply-To: <cbe0d305cce6d76e00b64e7209f15b4645c15033.camel@infradead.org>
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
		 <20251015082727.2395128-12-kevin.brodsky@arm.com>
		 <f0067f35-1048-4788-8401-f71d297f56f3@redhat.com>
		 <348e5f1c5a90e4ab0f14b4d997baf7169745bf04.camel@infradead.org>
		 <70723f4a-f42b-4d94-9344-5824e48bfad1@redhat.com>
	 <cbe0d305cce6d76e00b64e7209f15b4645c15033.camel@infradead.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.58.1 
MIME-Version: 1.0
X-Original-Sender: glaubitz@physik.fu-berlin.de
X-Originating-IP: 91.19.170.52
X-ZEDAT-Hint: PO

On Fri, 2025-10-24 at 16:13 +0100, David Woodhouse wrote:
> On Fri, 2025-10-24 at 16:51 +0200, David Hildenbrand wrote:
> > On 24.10.25 16:47, David Woodhouse wrote:
> > > On Thu, 2025-10-23 at 22:06 +0200, David Hildenbrand wrote:
> > > > On 15.10.25 10:27, Kevin Brodsky wrote:
> > > > > We currently set a TIF flag when scheduling out a task that is in
> > > > > lazy MMU mode, in order to restore it when the task is scheduled
> > > > > again.
> > > > >=20
> > > > > The generic lazy_mmu layer now tracks whether a task is in lazy M=
MU
> > > > > mode in task_struct::lazy_mmu_state. We can therefore check that
> > > > > state when switching to the new task, instead of using a separate
> > > > > TIF flag.
> > > > >=20
> > > > > Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
> > > > > ---
> > > >=20
> > > >=20
> > > > Looks ok to me, but I hope we get some confirmation from x86 / xen
> > > > folks.
> > >=20
> > >=20
> > > I know tglx has shouted at me in the past for precisely this reminder=
,
> > > but you know you can test Xen guests under QEMU/KVM now and don't nee=
d
> > > to actually run Xen? Has this been boot tested?
> >=20
> > And after that, boot-testing sparc as well? :D
>=20
> Also not that hard in QEMU, I believe. Although I do have some SPARC
> boxes in the shed...

Please have people test kernel changes on SPARC on real hardware. QEMU does=
 not
emulate sun4v, for example, and therefore testing in QEMU does not cover al=
l
of SPARC hardware.

There are plenty of people on the debian-sparc, gentoo-sparc and sparclinux
LKML mailing lists that can test kernel patches for SPARC. If SPARC-relevan=
t
changes need to be tested, please ask there and don't bury such things in a
deeply nested thread in a discussion which doesn't even have SPARC in the
mail subject.

Adrian

--=20
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer
`. `'   Physicist
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913


From xen-devel-bounces@lists.xenproject.org Fri Oct 24 15:47:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Oct 2025 15:47:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1150646.1481717 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCK0g-0008JY-Rw; Fri, 24 Oct 2025 15:47:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1150646.1481717; Fri, 24 Oct 2025 15:47:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCK0g-0008JR-PD; Fri, 24 Oct 2025 15:47:22 +0000
Received: by outflank-mailman (input) for mailman id 1150646;
 Fri, 24 Oct 2025 15:47:21 +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 <SRS0=7Ac/=5B=redhat.com=david@srs-se1.protection.inumbo.net>)
 id 1vCK0f-0008Ac-4k
 for xen-devel@lists.xenproject.org; Fri, 24 Oct 2025 15:47:21 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.129.124])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b8cf2a2d-b0f0-11f0-9d16-b5c5bf9af7f9;
 Fri, 24 Oct 2025 17:47:19 +0200 (CEST)
Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com
 [209.85.221.70]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-215-CzrCCR96OsaiSCR1aqIf6g-1; Fri, 24 Oct 2025 11:47:17 -0400
Received: by mail-wr1-f70.google.com with SMTP id
 ffacd0b85a97d-42814749a6fso1235591f8f.2
 for <xen-devel@lists.xenproject.org>; Fri, 24 Oct 2025 08:47:16 -0700 (PDT)
Received: from ?IPV6:2003:d8:2f4e:3200:c99d:a38b:3f3a:d4b3?
 (p200300d82f4e3200c99da38b3f3ad4b3.dip0.t-ipconnect.de.
 [2003:d8:2f4e:3200:c99d:a38b:3f3a:d4b3])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-429897e76b8sm10302003f8f.1.2025.10.24.08.47.12
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 24 Oct 2025 08:47:14 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b8cf2a2d-b0f0-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1761320838;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
	bh=Zh1ZhwP32aAGY6v6KALNNGN/uKhaB99XR778w+H01CM=;
	b=PdOL74X4IiWhsuA/QbO2n6nEqyiKBYRH9LZT14JYdVveQTcix9G0pEgiOHbjXBhKa/bAtK
	Ep6SrdOBsIudHC5HLspnNDPVsjeOgHpm0SQn7Gc13/TPoGSlHN/nBZVC27MsE+D3ck/UA+
	aSoQxuGAooyzOATZHCg4tWRH8CrOyE4=
X-MC-Unique: CzrCCR96OsaiSCR1aqIf6g-1
X-Mimecast-MFC-AGG-ID: CzrCCR96OsaiSCR1aqIf6g_1761320836
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761320836; x=1761925636;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :from:references:cc:to:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=Zh1ZhwP32aAGY6v6KALNNGN/uKhaB99XR778w+H01CM=;
        b=HfsNLnt+O8Zq9TA6yHdNrcGhdIywfVxwZ/mCHVP4UwBskXO8s7kesg6KJYnrus9Ooo
         zLwvuP8NG9ge6VVrmflBw1XC1Ef0yDIlgo/NB4aWKpTddcXCZvq5yFLScuXSWKSfNvte
         LhmWRKgH0V0O6/muvlQdifk49Q5QM20Js6r4CNAN8Kh5J/rFyKC3De/vwEqn9q09a07H
         au42C0zKk+LKbsFobl/lxSlKdMm+1c2QD161ieJsjOjStYE8WTgOh/Zm0Yeg6BfLR7cv
         Je3O8XmauBoVyyjtNgWcrDUwnjPSVghrFv3k8y/8iqCuImrAtz3tk368XAs/CgnmsOPZ
         fJWQ==
X-Forwarded-Encrypted: i=1; AJvYcCWhJVSsIBrWnYQVL5/SDoGjedWyZO4jXFLJmUvm1PMGv1v6N17mQcuKufL5+oh1Ka80PjSSMXDF1b4=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz0TxgBiPNGYl8C89hytE/SEUj8KMv+ooDRYMA7XYX5LsvnxUT2
	+OXTEF+JA2Xj0K5Ka+sOXU9yiEsIvLGCNNUT/a6YRMjKGHKhlOJ577sN3wBxopSjBPt6Iq9CS/t
	WztaUbHgk2cfb/k4073YLvO58yVvegoT/d8SDxbOO8xZn+hQXtuFnbFHoJtruId7xQHwK
X-Gm-Gg: ASbGncsboX97VJ8zADAE/4PUSKWBpNyM4G/UVshq08DxTozj03zcKGgbf/8MB54GZTK
	RIwZAeFfGhKORv0wX4iD4NgvrGgXz0wUpQokp+pJf8pggya/YzDH2IJFAdmFVaSKW7F2BnNkk20
	EMvaTlZ6Xq+mf9a1Up1PBSIRO95qSqZupVgSmQ2a0/vWUVGxaSW44xRY2oSlVDGrCCrxB2AHMJP
	l2vUMvUUAAVjQyCu87f+GmrOrpEAoZmZMcJdCwRaVOvnL0WJKqPjxkYbJei1oYXwEguPmkcVTHr
	6+vAE8prLFm2coje6cTiFizSb/DxezLwB8bUnHe0l+FCYeTB6tx5JmKAbezSX1qgUtpfduL1hrD
	CiwUotd4Xr9JHgr/KeJmobw0oulYl3iQXHQxBVQKevm3PIz1Ym7Iclb4yCfYYmJa84jiYXnloIF
	klaX7RRVBaeMi8U4vmXTa72zLE4mA=
X-Received: by 2002:a05:6000:2888:b0:3ec:dd12:54d3 with SMTP id ffacd0b85a97d-42704d9396fmr20967203f8f.35.1761320835774;
        Fri, 24 Oct 2025 08:47:15 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IG1IyVkNrFwdw3X0IHbQxiNfclxHzAPN9pR/bJWmUeOYxNVyIqqL3bIXH42bdfIqDr4yy7kTg==
X-Received: by 2002:a05:6000:2888:b0:3ec:dd12:54d3 with SMTP id ffacd0b85a97d-42704d9396fmr20967156f8f.35.1761320835282;
        Fri, 24 Oct 2025 08:47:15 -0700 (PDT)
Message-ID: <9faf750e-2369-4fae-b58a-ed9052cfd6f6@redhat.com>
Date: Fri, 24 Oct 2025 17:47:12 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 11/13] x86/xen: use lazy_mmu_state when
 context-switching
To: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
 David Woodhouse <dwmw2@infradead.org>, Kevin Brodsky
 <kevin.brodsky@arm.com>, linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org, Alexander Gordeev <agordeev@linux.ibm.com>,
 Andreas Larsson <andreas@gaisler.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, Borislav Petkov
 <bp@alien8.de>, Catalin Marinas <catalin.marinas@arm.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 Dave Hansen <dave.hansen@linux.intel.com>,
 "David S. Miller" <davem@davemloft.net>, "H. Peter Anvin" <hpa@zytor.com>,
 Ingo Molnar <mingo@redhat.com>, Jann Horn <jannh@google.com>,
 Juergen Gross <jgross@suse.com>, "Liam R. Howlett"
 <Liam.Howlett@oracle.com>, Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>, Michal Hocko <mhocko@suse.com>,
 Mike Rapoport <rppt@kernel.org>, Nicholas Piggin <npiggin@gmail.com>,
 Peter Zijlstra <peterz@infradead.org>, Ryan Roberts <ryan.roberts@arm.com>,
 Suren Baghdasaryan <surenb@google.com>, Thomas Gleixner
 <tglx@linutronix.de>, Vlastimil Babka <vbabka@suse.cz>,
 Will Deacon <will@kernel.org>, Yeoreum Yun <yeoreum.yun@arm.com>,
 linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org,
 sparclinux@vger.kernel.org, xen-devel@lists.xenproject.org, x86@kernel.org
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
 <20251015082727.2395128-12-kevin.brodsky@arm.com>
 <f0067f35-1048-4788-8401-f71d297f56f3@redhat.com>
 <348e5f1c5a90e4ab0f14b4d997baf7169745bf04.camel@infradead.org>
 <70723f4a-f42b-4d94-9344-5824e48bfad1@redhat.com>
 <cbe0d305cce6d76e00b64e7209f15b4645c15033.camel@infradead.org>
 <fcd7b731d38b256e59edd532e792a00efa4e144e.camel@physik.fu-berlin.de>
From: David Hildenbrand <david@redhat.com>
Autocrypt: addr=david@redhat.com; keydata=
 xsFNBFXLn5EBEAC+zYvAFJxCBY9Tr1xZgcESmxVNI/0ffzE/ZQOiHJl6mGkmA1R7/uUpiCjJ
 dBrn+lhhOYjjNefFQou6478faXE6o2AhmebqT4KiQoUQFV4R7y1KMEKoSyy8hQaK1umALTdL
 QZLQMzNE74ap+GDK0wnacPQFpcG1AE9RMq3aeErY5tujekBS32jfC/7AnH7I0v1v1TbbK3Gp
 XNeiN4QroO+5qaSr0ID2sz5jtBLRb15RMre27E1ImpaIv2Jw8NJgW0k/D1RyKCwaTsgRdwuK
 Kx/Y91XuSBdz0uOyU/S8kM1+ag0wvsGlpBVxRR/xw/E8M7TEwuCZQArqqTCmkG6HGcXFT0V9
 PXFNNgV5jXMQRwU0O/ztJIQqsE5LsUomE//bLwzj9IVsaQpKDqW6TAPjcdBDPLHvriq7kGjt
 WhVhdl0qEYB8lkBEU7V2Yb+SYhmhpDrti9Fq1EsmhiHSkxJcGREoMK/63r9WLZYI3+4W2rAc
 UucZa4OT27U5ZISjNg3Ev0rxU5UH2/pT4wJCfxwocmqaRr6UYmrtZmND89X0KigoFD/XSeVv
 jwBRNjPAubK9/k5NoRrYqztM9W6sJqrH8+UWZ1Idd/DdmogJh0gNC0+N42Za9yBRURfIdKSb
 B3JfpUqcWwE7vUaYrHG1nw54pLUoPG6sAA7Mehl3nd4pZUALHwARAQABzSREYXZpZCBIaWxk
 ZW5icmFuZCA8ZGF2aWRAcmVkaGF0LmNvbT7CwZoEEwEIAEQCGwMCF4ACGQEFCwkIBwICIgIG
 FQoJCAsCBBYCAwECHgcWIQQb2cqtc1xMOkYN/MpN3hD3AP+DWgUCaJzangUJJlgIpAAKCRBN
 3hD3AP+DWhAxD/9wcL0A+2rtaAmutaKTfxhTP0b4AAp1r/eLxjrbfbCCmh4pqzBhmSX/4z11
 opn2KqcOsueRF1t2ENLOWzQu3Roiny2HOU7DajqB4dm1BVMaXQya5ae2ghzlJN9SIoopTWlR
 0Af3hPj5E2PYvQhlcqeoehKlBo9rROJv/rjmr2x0yOM8qeTroH/ZzNlCtJ56AsE6Tvl+r7cW
 3x7/Jq5WvWeudKrhFh7/yQ7eRvHCjd9bBrZTlgAfiHmX9AnCCPRPpNGNedV9Yty2Jnxhfmbv
 Pw37LA/jef8zlCDyUh2KCU1xVEOWqg15o1RtTyGV1nXV2O/mfuQJud5vIgzBvHhypc3p6VZJ
 lEf8YmT+Ol5P7SfCs5/uGdWUYQEMqOlg6w9R4Pe8d+mk8KGvfE9/zTwGg0nRgKqlQXrWRERv
 cuEwQbridlPAoQHrFWtwpgYMXx2TaZ3sihcIPo9uU5eBs0rf4mOERY75SK+Ekayv2ucTfjxr
 Kf014py2aoRJHuvy85ee/zIyLmve5hngZTTe3Wg3TInT9UTFzTPhItam6dZ1xqdTGHZYGU0O
 otRHcwLGt470grdiob6PfVTXoHlBvkWRadMhSuG4RORCDpq89vu5QralFNIf3EysNohoFy2A
 LYg2/D53xbU/aa4DDzBb5b1Rkg/udO1gZocVQWrDh6I2K3+cCs7BTQRVy5+RARAA59fefSDR
 9nMGCb9LbMX+TFAoIQo/wgP5XPyzLYakO+94GrgfZjfhdaxPXMsl2+o8jhp/hlIzG56taNdt
 VZtPp3ih1AgbR8rHgXw1xwOpuAd5lE1qNd54ndHuADO9a9A0vPimIes78Hi1/yy+ZEEvRkHk
 /kDa6F3AtTc1m4rbbOk2fiKzzsE9YXweFjQvl9p+AMw6qd/iC4lUk9g0+FQXNdRs+o4o6Qvy
 iOQJfGQ4UcBuOy1IrkJrd8qq5jet1fcM2j4QvsW8CLDWZS1L7kZ5gT5EycMKxUWb8LuRjxzZ
 3QY1aQH2kkzn6acigU3HLtgFyV1gBNV44ehjgvJpRY2cC8VhanTx0dZ9mj1YKIky5N+C0f21
 zvntBqcxV0+3p8MrxRRcgEtDZNav+xAoT3G0W4SahAaUTWXpsZoOecwtxi74CyneQNPTDjNg
 azHmvpdBVEfj7k3p4dmJp5i0U66Onmf6mMFpArvBRSMOKU9DlAzMi4IvhiNWjKVaIE2Se9BY
 FdKVAJaZq85P2y20ZBd08ILnKcj7XKZkLU5FkoA0udEBvQ0f9QLNyyy3DZMCQWcwRuj1m73D
 sq8DEFBdZ5eEkj1dCyx+t/ga6x2rHyc8Sl86oK1tvAkwBNsfKou3v+jP/l14a7DGBvrmlYjO
 59o3t6inu6H7pt7OL6u6BQj7DoMAEQEAAcLBfAQYAQgAJgIbDBYhBBvZyq1zXEw6Rg38yk3e
 EPcA/4NaBQJonNqrBQkmWAihAAoJEE3eEPcA/4NaKtMQALAJ8PzprBEXbXcEXwDKQu+P/vts
 IfUb1UNMfMV76BicGa5NCZnJNQASDP/+bFg6O3gx5NbhHHPeaWz/VxlOmYHokHodOvtL0WCC
 8A5PEP8tOk6029Z+J+xUcMrJClNVFpzVvOpb1lCbhjwAV465Hy+NUSbbUiRxdzNQtLtgZzOV
 Zw7jxUCs4UUZLQTCuBpFgb15bBxYZ/BL9MbzxPxvfUQIPbnzQMcqtpUs21CMK2PdfCh5c4gS
 sDci6D5/ZIBw94UQWmGpM/O1ilGXde2ZzzGYl64glmccD8e87OnEgKnH3FbnJnT4iJchtSvx
 yJNi1+t0+qDti4m88+/9IuPqCKb6Stl+s2dnLtJNrjXBGJtsQG/sRpqsJz5x1/2nPJSRMsx9
 5YfqbdrJSOFXDzZ8/r82HgQEtUvlSXNaXCa95ez0UkOG7+bDm2b3s0XahBQeLVCH0mw3RAQg
 r7xDAYKIrAwfHHmMTnBQDPJwVqxJjVNr7yBic4yfzVWGCGNE4DnOW0vcIeoyhy9vnIa3w1uZ
 3iyY2Nsd7JxfKu1PRhCGwXzRw5TlfEsoRI7V9A8isUCoqE2Dzh3FvYHVeX4Us+bRL/oqareJ
 CIFqgYMyvHj7Q06kTKmauOe4Nf0l0qEkIuIzfoLJ3qr5UyXc2hLtWyT9Ir+lYlX9efqh7mOY
 qIws/H2t
In-Reply-To: <fcd7b731d38b256e59edd532e792a00efa4e144e.camel@physik.fu-berlin.de>
X-Mimecast-Spam-Score: 0
X-Mimecast-MFC-PROC-ID: JKLsulR2i4HZw25WYqUYIsjswgUNIVXrdTAZz1Kh308_1761320836
X-Mimecast-Originator: redhat.com
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 24.10.25 17:38, John Paul Adrian Glaubitz wrote:
> On Fri, 2025-10-24 at 16:13 +0100, David Woodhouse wrote:
>> On Fri, 2025-10-24 at 16:51 +0200, David Hildenbrand wrote:
>>> On 24.10.25 16:47, David Woodhouse wrote:
>>>> On Thu, 2025-10-23 at 22:06 +0200, David Hildenbrand wrote:
>>>>> On 15.10.25 10:27, Kevin Brodsky wrote:
>>>>>> We currently set a TIF flag when scheduling out a task that is in
>>>>>> lazy MMU mode, in order to restore it when the task is scheduled
>>>>>> again.
>>>>>>
>>>>>> The generic lazy_mmu layer now tracks whether a task is in lazy MMU
>>>>>> mode in task_struct::lazy_mmu_state. We can therefore check that
>>>>>> state when switching to the new task, instead of using a separate
>>>>>> TIF flag.
>>>>>>
>>>>>> Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
>>>>>> ---
>>>>>
>>>>>
>>>>> Looks ok to me, but I hope we get some confirmation from x86 / xen
>>>>> folks.
>>>>
>>>>
>>>> I know tglx has shouted at me in the past for precisely this reminder,
>>>> but you know you can test Xen guests under QEMU/KVM now and don't need
>>>> to actually run Xen? Has this been boot tested?
>>>
>>> And after that, boot-testing sparc as well? :D
>>
>> Also not that hard in QEMU, I believe. Although I do have some SPARC
>> boxes in the shed...
> 
> Please have people test kernel changes on SPARC on real hardware. QEMU does not
> emulate sun4v, for example, and therefore testing in QEMU does not cover all
> of SPARC hardware.
> 
> There are plenty of people on the debian-sparc, gentoo-sparc and sparclinux
> LKML mailing lists that can test kernel patches for SPARC. If SPARC-relevant
> changes need to be tested, please ask there and don't bury such things in a
> deeply nested thread in a discussion which doesn't even have SPARC in the
> mail subject.

Hi Adrian,

out of curiosity, do people monitor sparclinux@ for changes to actively 
offer testing when required -- like would it be sufficient to CC 
relevant maintainers+list (like done here) and raise in the cover letter 
that some testing help would be appreciated?

-- 
Cheers

David / dhildenb



From xen-devel-bounces@lists.xenproject.org Fri Oct 24 15:52:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Oct 2025 15:52:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1150658.1481726 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCK5P-0001QM-CU; Fri, 24 Oct 2025 15:52:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1150658.1481726; Fri, 24 Oct 2025 15:52:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCK5P-0001QF-9u; Fri, 24 Oct 2025 15:52:15 +0000
Received: by outflank-mailman (input) for mailman id 1150658;
 Fri, 24 Oct 2025 15:52:13 +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
 <SRS0=pSNC=5B=zedat.fu-berlin.de=glaubitz@srs-se1.protection.inumbo.net>)
 id 1vCK5N-0001Q9-P3
 for xen-devel@lists.xenproject.org; Fri, 24 Oct 2025 15:52:13 +0000
Received: from outpost1.zedat.fu-berlin.de (outpost1.zedat.fu-berlin.de
 [130.133.4.66]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 670f1972-b0f1-11f0-980a-7dc792cee155;
 Fri, 24 Oct 2025 17:52:11 +0200 (CEST)
Received: from inpost2.zedat.fu-berlin.de ([130.133.4.69])
 by outpost.zedat.fu-berlin.de (Exim 4.98) with esmtps (TLS1.3)
 tls TLS_AES_256_GCM_SHA384
 (envelope-from <glaubitz@zedat.fu-berlin.de>)
 id 1vCK55-00000000R61-3t7w; Fri, 24 Oct 2025 17:51:55 +0200
Received: from p5b13aa34.dip0.t-ipconnect.de ([91.19.170.52]
 helo=suse-laptop.fritz.box) by inpost2.zedat.fu-berlin.de (Exim 4.98)
 with esmtpsa (TLS1.3) tls TLS_AES_256_GCM_SHA384
 (envelope-from <glaubitz@physik.fu-berlin.de>)
 id 1vCK55-00000000Lvz-2RRr; Fri, 24 Oct 2025 17:51:55 +0200
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 670f1972-b0f1-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=fu-berlin.de; s=fub01; h=MIME-Version:Content-Transfer-Encoding:
	Content-Type:References:In-Reply-To:Date:Cc:To:From:Subject:Message-ID:From:
	Reply-To:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:
	Content-Transfer-Encoding:Content-ID:Content-Description:In-Reply-To:
	References; bh=+WGt0cv6lLjP7TTTzKdDcUwT/Nmru/ATJlKONEKntac=; t=1761321131;
	x=1761925931; b=O2mOHgwo/WUCiZK1qMkmx8dampv7DUQlqOnq3UZRS+Cw5n1AQQyRf+xCL61of
	R6z6az40uN1o3oBYO+uIxaYmiz5rx1xz3RRN+RHTSnkI3AS2gAGYpIuNIAOG7m0Lon7CtNfS/10ej
	sftCAHTcZJ9utyWCBINLeMTgeJJvl7W4AsAtEoLOp0fYv2ERFTJvvuDTSuER99u42oY5pH1Jecmi6
	sSKhi6NJm+go4aiFds8UITtCpYHw263uK6OygylxTAtuAAO+6PjnwFP+eqiT/xSqatoUTgmOzd8Ii
	TfrJJv9N78PxEaSglTji4T7XzX4ZXmiy/kQJTk7QJX6sKo4T4g==;
Message-ID: <1d9f416fd3665faf27841b6305b1e8d661427125.camel@physik.fu-berlin.de>
Subject: Re: [PATCH v3 11/13] x86/xen: use lazy_mmu_state when
 context-switching
From: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
To: David Hildenbrand <david@redhat.com>, David Woodhouse
 <dwmw2@infradead.org>,  Kevin Brodsky <kevin.brodsky@arm.com>,
 linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org, Alexander Gordeev
 <agordeev@linux.ibm.com>,  Andreas Larsson <andreas@gaisler.com>, Andrew
 Morton <akpm@linux-foundation.org>, Boris Ostrovsky	
 <boris.ostrovsky@oracle.com>, Borislav Petkov <bp@alien8.de>, Catalin
 Marinas	 <catalin.marinas@arm.com>, Christophe Leroy
 <christophe.leroy@csgroup.eu>,  Dave Hansen <dave.hansen@linux.intel.com>,
 "David S. Miller" <davem@davemloft.net>, "H. Peter Anvin"	 <hpa@zytor.com>,
 Ingo Molnar <mingo@redhat.com>, Jann Horn <jannh@google.com>,  Juergen
 Gross <jgross@suse.com>, "Liam R. Howlett" <Liam.Howlett@oracle.com>,
 Lorenzo Stoakes	 <lorenzo.stoakes@oracle.com>, Madhavan Srinivasan
 <maddy@linux.ibm.com>,  Michael Ellerman <mpe@ellerman.id.au>, Michal Hocko
 <mhocko@suse.com>, Mike Rapoport <rppt@kernel.org>, Nicholas Piggin
 <npiggin@gmail.com>, Peter Zijlstra <peterz@infradead.org>, Ryan Roberts	
 <ryan.roberts@arm.com>, Suren Baghdasaryan <surenb@google.com>, Thomas
 Gleixner	 <tglx@linutronix.de>, Vlastimil Babka <vbabka@suse.cz>, Will
 Deacon	 <will@kernel.org>, Yeoreum Yun <yeoreum.yun@arm.com>, 
	linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org, 
	sparclinux@vger.kernel.org, xen-devel@lists.xenproject.org, x86@kernel.org
Date: Fri, 24 Oct 2025 17:51:54 +0200
In-Reply-To: <9faf750e-2369-4fae-b58a-ed9052cfd6f6@redhat.com>
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
	 <20251015082727.2395128-12-kevin.brodsky@arm.com>
	 <f0067f35-1048-4788-8401-f71d297f56f3@redhat.com>
	 <348e5f1c5a90e4ab0f14b4d997baf7169745bf04.camel@infradead.org>
	 <70723f4a-f42b-4d94-9344-5824e48bfad1@redhat.com>
	 <cbe0d305cce6d76e00b64e7209f15b4645c15033.camel@infradead.org>
	 <fcd7b731d38b256e59edd532e792a00efa4e144e.camel@physik.fu-berlin.de>
	 <9faf750e-2369-4fae-b58a-ed9052cfd6f6@redhat.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.58.1 
MIME-Version: 1.0
X-Original-Sender: glaubitz@physik.fu-berlin.de
X-Originating-IP: 91.19.170.52
X-ZEDAT-Hint: PO

Hi David,

On Fri, 2025-10-24 at 17:47 +0200, David Hildenbrand wrote:
> > Please have people test kernel changes on SPARC on real hardware. QEMU =
does not
> > emulate sun4v, for example, and therefore testing in QEMU does not cove=
r all
> > of SPARC hardware.
> >=20
> > There are plenty of people on the debian-sparc, gentoo-sparc and sparcl=
inux
> > LKML mailing lists that can test kernel patches for SPARC. If SPARC-rel=
evant
> > changes need to be tested, please ask there and don't bury such things =
in a
> > deeply nested thread in a discussion which doesn't even have SPARC in t=
he
> > mail subject.
>=20
> out of curiosity, do people monitor sparclinux@ for changes to actively=
=20
> offer testing when required -- like would it be sufficient to CC=20
> relevant maintainers+list (like done here) and raise in the cover letter=
=20
> that some testing help would be appreciated?

Yes, that's definitely the case. But it should be obvious that from the sub=
ject
of the mail that the change affects SPARC as not everyone can read every ma=
il
they're receiving through mailing lists.

I'm trying to keep up, but since I'm on mailing lists for many different ar=
chitectures,
mails can slip through the cracks.

For people that want to test changes on SPARC regularly, I can also offer a=
ccounts
on SPARC test machines running on a Solaris LDOM (logical domain) on a SPAR=
C T4.

Adrian

--=20
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer
`. `'   Physicist
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913


From xen-devel-bounces@lists.xenproject.org Fri Oct 24 15:59:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Oct 2025 15:59:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1150671.1481737 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCKBv-0002Ok-2J; Fri, 24 Oct 2025 15:58:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1150671.1481737; Fri, 24 Oct 2025 15:58:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCKBu-0002Od-Uc; Fri, 24 Oct 2025 15:58:58 +0000
Received: by outflank-mailman (input) for mailman id 1150671;
 Fri, 24 Oct 2025 15:58:58 +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
 <SRS0=0w6I=5B=citrix.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1vCKBt-0002OX-V6
 for xen-devel@lists.xenproject.org; Fri, 24 Oct 2025 15:58:58 +0000
Received: from DM5PR21CU001.outbound.protection.outlook.com
 (mail-centralusazlp170110009.outbound.protection.outlook.com
 [2a01:111:f403:c111::9])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 55ba3032-b0f2-11f0-980a-7dc792cee155;
 Fri, 24 Oct 2025 17:58:52 +0200 (CEST)
Received: from DM4PR03MB7015.namprd03.prod.outlook.com (2603:10b6:8:42::8) by
 SJ0PR03MB6534.namprd03.prod.outlook.com (2603:10b6:a03:38e::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.13; Fri, 24 Oct
 2025 15:58:48 +0000
Received: from DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9]) by DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9%3]) with mapi id 15.20.9253.011; Fri, 24 Oct 2025
 15:58:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 55ba3032-b0f2-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=RCDjiUCmyLTqsIihqq/1MmpbauffOy9XF5A/+oGlzmyh4VvFeSlW8LAhoCqWhDP+ZYlnHxR1DAR71BhZeakPENbdib+TA6Wkyq40ROJJEA78tee4cWZLZNudAelhJAnP1HXybBVrd+a6Kiug0sp7U7OlsxkiwMInAxPFni1rauk7lgN7AeUUa8J13RO+RjE78+cLjnaVn/klqFgofcNpKLHsy9pU/63XyR+BXVAg8Ah4HxqDSIOsE+VuU259UR8L3xX8mCA9B9QIvJQEu/+px3erQPSX/ge10O5sSxnJuozzhsGt19QnUYmDrZ7YJz8DiypNfEO53pc5PfjuuKUmyg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=AQ4jZiYa1mFI+v3PreJeAKEmTZm5Gv6M8P2JfTG2QUs=;
 b=c0Mz0lDlGhMnxGETya94gpSrg/QGo080cv6YIRuzWxC+zGkEX2NHBtprMM32yTfmdsrmE8yx3jV7SfXdf2gq4DV/UARH1/jBCSO1vTv2A5M9bXdBZ6b8XWJ07jNPB0ymnwSs8LQcbqhPQ2/UbH2G7HLYGjYltnyw4PaTeCCtebyx1tblczjVoApkW7cjkQPEGMt+ne5eus79O7wBk5Jryg81qajpd1+lwYRmNjt/uwnS9tqNrI7VF2tvjEqmrnamX11EA5ijqDSoi5tW1ga9ihcbQDwx8Ht1mKjNveQQ8WmuhRt0+YRENxgXEby+x7VteFN8NQKsq8ohKRPvwwC0Bg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=AQ4jZiYa1mFI+v3PreJeAKEmTZm5Gv6M8P2JfTG2QUs=;
 b=m6EoAY/fsZhYqg6s16YBHukB5PoFQeMMIzkyWCBccrJACy4PESuI4es2UdfIeVtgnD4zTubMp0segf49k1FoJyfQ90QZcNMN2meJ04dXvW1VF6c8hdfDzLKR9TQJgA+5/rV0W3DZ6LxvlSpxcMr9PxKiepkLRFpRDLnxUWEKAk4=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <72a2f002-23fd-4d06-8c44-3e535533bec2@citrix.com>
Date: Fri, 24 Oct 2025 16:58:44 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/pci: prevent infinite loop for faulty SR-IOV cards
To: Frediano Ziglio <freddy77@gmail.com>,
 xen-devel <xen-devel@lists.xenproject.org>
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <CAHt6W4dnM1pLMnDVyywc_2d-6nry7pFCYomSvRjyuH7sRm0J4Q@mail.gmail.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <CAHt6W4dnM1pLMnDVyywc_2d-6nry7pFCYomSvRjyuH7sRm0J4Q@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0093.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2bc::18) To DM4PR03MB7015.namprd03.prod.outlook.com
 (2603:10b6:8:42::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM4PR03MB7015:EE_|SJ0PR03MB6534:EE_
X-MS-Office365-Filtering-Correlation-Id: 7d512a16-77a8-4f82-f22e-08de13163782
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|366016;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?T1NFSjJRWlVPOTFrdUZxQWdoeGZ1MENaUjcrdWlnQVJ3L3hSNm85ZFZvNEdI?=
 =?utf-8?B?amhCVC9wN0J1R01zRlVIeXBKUXhsYlp0K0dQRFZxM09Nd0hpTXZrM1liaGpH?=
 =?utf-8?B?aDRheEtycHpxeVlENXk2UCtQMloxOW90WGJBdmJFUU1UVmE1bS9paDYxUlZq?=
 =?utf-8?B?UTlNalZBdWtFUW5lUkRuc25ORWF4OFBhQ1pkV3dBVGVEbERQblNxeWljeWJz?=
 =?utf-8?B?VmNEQ0lNQ1RYS0JLNm90WTc2V2hsZXZGZjlVdEE1YzVjUHd4dnRpd3l4K3hn?=
 =?utf-8?B?Wi9EcFo4SEV4KzE1M3h5ams0cTNjbEg3cC9XMm9BZUgvYVlmMWtDV2NRRmVO?=
 =?utf-8?B?NWpSMWMweGU4MXBvNmkyYUNjUWhFSVlaNGtFcHdvcE96ekJkMVJMZWtuOEdT?=
 =?utf-8?B?elQ3aDBLbjFhUkh4YURFY09QM2xPcjR6Ri9XQ0QvdzRxcFlhMEJNMGdDL0o4?=
 =?utf-8?B?UEFsVEgyT2NmVFV5a3VtWEZOSGxIQmJEYk14TGZYc3AwRGhzVlJ2UnNHY2t2?=
 =?utf-8?B?cUhNNnY3eFpIbENUemgyaTN3UlRMS0owWEtWWHFBTzBhMTFlUEtFTUtmVzZN?=
 =?utf-8?B?L3grVUZuejRrMmdDc0QvelI0Y0taVmhwQTk3eS94cFp6K3NWN05uclVGVzM3?=
 =?utf-8?B?NW5vQ3FQNytVUmEwYU4wYTBJQXNSSnYxQXM3TjNjc3BPT3hkQUlCNHhWakRr?=
 =?utf-8?B?SlNZOG5uSURWYkxENitLQW9GdTVDeEhOZWVyTmRWUHdVcHFMdW5MbDM4ZGZQ?=
 =?utf-8?B?WDlLTFJMNkVRK3lmckNESkljaUFkSVBlMDNwYjVVUzFoZC9oeDd0UWQwNEtn?=
 =?utf-8?B?R0lNdFN1b3p6elJ5YkFUajdFbVB2L1VjNjdzaXEvV3NtUTI3WjMvR2FIM0Vn?=
 =?utf-8?B?eDBkdVNUcyt4cGp6VVhLaXZsM09ucUg3MmNiYlZYTEdVajAwL1BHcU9WYU1a?=
 =?utf-8?B?ZC9aUG9oQWtyVFhad1BIb2xQZE45Q1BBc1RnVWoxY1BOY2dvU2RkVnpXSFdR?=
 =?utf-8?B?clA4akhQV3FydFZ4aUppSWl2NmFab3FyY2NjY3N1eUFPeU52OGFSV0pRQ2tl?=
 =?utf-8?B?SnUxbytVekw1TEhFMmFEWWNEdEwrUjVtc25OMFZLbG5QZnRxUWNWZ3l6RitZ?=
 =?utf-8?B?Y3BsRlVMOUZrcEE1d0dOVHJqMm9KMDI5TzJna3dLVjlzUU9BTUJjejM0REo3?=
 =?utf-8?B?MkJXYVFjSW5QVTNBdHJOa2RrbmVBbmY4OFZIbzk4SVZub0hRdTQzNnBMdHdU?=
 =?utf-8?B?N2dFTUc3a3pRazJzM24rRkhaMEdWanplVVY3YjR2RWVKTXlUdXNVVXV4UVBZ?=
 =?utf-8?B?RjBnNHFOVmpaWEdHb1BNVkg3OC8xTkVaTVI2RStQVmg0enpqUmd3Z2FSQ2N6?=
 =?utf-8?B?V3NUSWQxVnowSi9kS1c1ZlIxay83cnFFK2RsMThlQkxDdTZCUUFHTXBsb2Rj?=
 =?utf-8?B?a0ZXdDVjNFBkbWhDMytOc3JmOVpnKzJzZUpQY2dBOVFVOTdteHVCY1NsV04x?=
 =?utf-8?B?ZDJtYWJhdktwdUc2bjY3ZDlaLytjaEdQK3k5RUxQTFhFMzBGKy9NNlRZZ0li?=
 =?utf-8?B?bENWWml6ajU1L1lMbTg5SXUzSER2U1dGbWFrZzgrSDlBMlRVMnVTUzVlb3gw?=
 =?utf-8?B?a3cvOHdITlpPdXdER3Y2bmdGTHgxbzJqTzZxWWZKU3dha2FabDllZGpzRHp1?=
 =?utf-8?B?OVFDaDNKeTU4ekZlZlFoUDBLUWs0NWZnRVNLQVlZUENPOHdIK1V3OUdGbThI?=
 =?utf-8?B?QkQvYjRDUHM3TGlOa0sxa0xRS3dmQWVIRnZwRlRPUi8zWDl0U3Y4M0lmREhV?=
 =?utf-8?B?bGd2MjFZTmREeGVYbGdkTXB6cmhmSm1RbWlhZHdBOWsyRWtlWDdZUFJwVCtW?=
 =?utf-8?B?eXRtM1hXdzBXNkZjNUlGb0VMbldaOVRWQnV0UjVhQTIzVnNUSEhJZTBGYTVC?=
 =?utf-8?Q?aws3Ml/81dGObadJa3xkfBCogKZ2F9AY?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR03MB7015.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?M2FrNnVoWWFlV1A2a3l0cHFJeFhiSWdZaXdqdTFYU3EycmJscXFDdW9XMDhY?=
 =?utf-8?B?ZTdBcWtnWWtIUkZwQTF6NUxUelgvUmhPbXYwNUtWQnlGRDM1MTJDRzBXcjRQ?=
 =?utf-8?B?dUNDWlBRL2JDSjNKSFlhT3ptU0NmWGVBa1JiaEZRVytTQmlKZi9VVHl5TC9u?=
 =?utf-8?B?aTg1dU1GSFRyekY2eXBmVndGNzZEdFVYeCtxV05JV0VtMFlqTVJpenNiaGVM?=
 =?utf-8?B?NnplTDJWRjZCT2pVNExTeVpTSUlvV0tKQW9DczNIRzNLZDQ2RkJpS0RkVDQy?=
 =?utf-8?B?dEcyYWFaT2d0Z0FoYVhBSENBOENOdnRSRk8ySVpuc0tielh6dHlML3NHRWlr?=
 =?utf-8?B?Z0NkNEgvZ2xReDIxNmlJc3BmUmZ5Z05Pbk1rbUdjWVArOVp2aEIzditUOW5n?=
 =?utf-8?B?Y3RwdGhEN3dhbnNlc2FFTThvUGdibjhpYSsvMFQxa0RSOEl6QVdWZ1dtSzdX?=
 =?utf-8?B?VENJU20rWHRSR0tXZE1qMzFMc3RrRy9nMGU1RlRpWWRubDcrM205OFJQRVNr?=
 =?utf-8?B?TEQxL1VsMWtwMFpoemhnd2J4RWZKbWcwYVErVCs3TVc0UXVHUjlGcHdER0xB?=
 =?utf-8?B?c3VrSGo2b3A4V2hud2Q5RUZ0dWlRMWs4ZTkvRDVGdUwvbzlZaWlTcmttcEpn?=
 =?utf-8?B?UTEvaU80b1FSZ0ZHQWpOT2JXTjR1NmovcTVkdFpUemhPT2pWR1hSd01TSnB4?=
 =?utf-8?B?NjJiakwyQTI5Q0lUM0JLTC9YNWFDNU9jZThpZlRzYytZbklvMzVQckRzc2Jr?=
 =?utf-8?B?S3NTSlRFa1JXaWZmRFljNTNiVVZXVGlHN1ZRdk1yUit2ZmNwZ0dPOW9zdy80?=
 =?utf-8?B?ekNRTFBwYjhCdjJOSFVHcG1VeDJCWjlEY3lEWFNwV0V2cHZsb24vRkNYaU1N?=
 =?utf-8?B?SnhXNUxudHlZT2xlZkxyZnVhSDlvMUorK1VqbVd1S3I4b2E0WlN6MFVlUGlZ?=
 =?utf-8?B?RndVMTllM3AwQkltdTdMUVF2UmZwWFhhMFA0V3RZMERWS29XTDhTaDBDdEEr?=
 =?utf-8?B?cEp2eS9UZktsVy9NMExsYnZlZDVqeDI4L1BoaW83WnROUUR2ZzllRTJ1T3hS?=
 =?utf-8?B?ZEdjWXRrZW56VlNQUDNCcjU5c2JhZWlyeFhlNVVqOS9VM0hHV0QwVXZHWHNG?=
 =?utf-8?B?bjlZZmhxemJVYzN5bTlGUTA3Q1h6Y0ZsWHEwS3dYVC9DZ1FtRzJiR2Ywbk1W?=
 =?utf-8?B?UVFNMU9QdzFDaThwWW5tYktvRzg0NWNCYkU0Q2ZKc3BQS3ZVQ3FWbWdSd2l3?=
 =?utf-8?B?NFVncTNLNmdkNFZoQmVFN1NUbjAxbU1UcVNYVHVmVXloQjFTRmZXdmlBcUxE?=
 =?utf-8?B?a1J6a0Rodk5qTTdxNElvaEFrN1JxSmZBdXRGMElJcTBpSEJiVDBvMCtwSkV3?=
 =?utf-8?B?dDdDYlRaekRTcDQ0ck8wZnlDUjRZT3krZUthVXp2cElXQWVpR3dmY2ZHb2lG?=
 =?utf-8?B?QVVaNkNvMXR5UGxkSXlGRjJLaldsL1I1eC9vOUV5NnNJeHVqWlRLVkFCVlA2?=
 =?utf-8?B?cGxUQm15RUUyemU3aGZPb2t5M3pOazYyQmo5WGU2enU2ZGRzYzZZZk55Mnl4?=
 =?utf-8?B?RkI4dkNBVnJYckZHSHlUZGdhVUNNNjJ2d04zRlZoTFZldVMvamdkakd2S09s?=
 =?utf-8?B?SzNDSGZJT25rTTJwRC93NE5BTGpRZVljTUYwcFE1ZXBNYkpMdjRmMWVpbVBV?=
 =?utf-8?B?NTJkdjFOZ1dMY0QveG0zS1h1OFh1cEhyRi96OFBSNXYvazYycGF6TXpHdTlH?=
 =?utf-8?B?L045NjVabEhERUxkOVhxamJEYTBMNk1qb0lDTmFPMUdqK3l1Q3VMdXZjVnpK?=
 =?utf-8?B?R2RvWVZQWlU1cE9iUGhmTDBQbUZUOCtTOFJGUzJBTWRiWkxNaEFtNWVMUFV3?=
 =?utf-8?B?Q2JFOUljRnpQbDB4Z0FvWUo1dnlIUklPQzArNEdnajh1a1FEeTh2KytKeXhK?=
 =?utf-8?B?akVLUCtENjRpYjZQcytuMyttSkhXem9tWlBqK3VZUGtzUHdEU01yS25QektP?=
 =?utf-8?B?R2xDRmt6N0wxRmdhR00xTGp3ZEVFaXdFZWxsRVNJWHduQTU0WDJxbGw1R2Rk?=
 =?utf-8?B?M1FxL3EzSmJuTDQ3aGxjWlQybUJVUVpmeVpjNXkwM1V1MXF5WFdqSERvdVQ5?=
 =?utf-8?B?dEpiMGZ3MjJoZjhkZEtZVmNYY0ZFcWxERWV6N25PcGkzQVVsY0I5cjFUelMy?=
 =?utf-8?B?c3c9PQ==?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7d512a16-77a8-4f82-f22e-08de13163782
X-MS-Exchange-CrossTenant-AuthSource: DM4PR03MB7015.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Oct 2025 15:58:47.8543
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: X5L2NbJbTZK4zlN864fmm1cBCviKb0DwD82c3oizUxcdyra2M65Ut8X33hCyMDByD4nxVF2GSwMGn/jr/n+qUQRFsejJwtB+riKgsO0aTek=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB6534

On 24/10/2025 4:13 pm, Frediano Ziglio wrote:
> If a SR-IOV card presents an I/O space inside a BAR the
> code will continue to loop on the same card.
> This is due to the missing increment of the cycle variable.
>
> Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>

Yes, that's buggy.Â  Was this from a real card, or just code inspection?

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Oct 24 16:00:41 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Oct 2025 16:00:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1150686.1481747 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCKDY-0004TL-Fr; Fri, 24 Oct 2025 16:00:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1150686.1481747; Fri, 24 Oct 2025 16:00:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCKDY-0004TE-Ct; Fri, 24 Oct 2025 16:00:40 +0000
Received: by outflank-mailman (input) for mailman id 1150686;
 Fri, 24 Oct 2025 16:00:39 +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
 <SRS0=JvoA=5B=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1vCKDX-0004T8-MQ
 for xen-devel@lists.xenproject.org; Fri, 24 Oct 2025 16:00:39 +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 944f41f1-b0f2-11f0-980a-7dc792cee155;
 Fri, 24 Oct 2025 18:00:36 +0200 (CEST)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-4711f156326so20709845e9.1
 for <xen-devel@lists.xenproject.org>; Fri, 24 Oct 2025 09:00:36 -0700 (PDT)
Received: from [192.168.1.32] (host-78-149-11-196.as13285.net. [78.149.11.196])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-429898cceebsm9994851f8f.37.2025.10.24.09.00.35
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 24 Oct 2025 09:00:35 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 944f41f1-b0f2-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1761321636; x=1761926436; 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=K0GqmAGN052aJuSevxt84+tUztQs6XB+96Dqy/eiJTw=;
        b=cM5MICT9gy6Am/M8Lb/30OQ+qLmNFou2gaXZhg3uac2VdR0XyWzxJFlTPn2bdaSqOl
         Ld/VQVajeV5W5GKLfD6O9IUeI6WM+MDfGqf0bLOelGxvWzeWaNrYSROQyPfqKjB0xgS/
         HcqslqznaiqaUHF8s9dBTb7+3wHzSvUoSdJVA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761321636; x=1761926436;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=K0GqmAGN052aJuSevxt84+tUztQs6XB+96Dqy/eiJTw=;
        b=HNG7DwgRkFgrHnDXypTsBk91wCkqTvXNGGDqpr+Ykv8F6VaEQyeFfPBn0yOBwE1Fet
         DJ38W4JB2wMx6RdVW6TSTArxHm0RYJa4zPECFBkeEmPqxq+BNGCfVQD+2rtyCSc0yjtN
         eYvNikYByJOhDeXLY7TbgF9Zbb+JEvC4l/EgU2Xg/GvLmqOa3hVAbFXGD5QeUmaPjBQN
         8J3M3yag/5yFATuq7b9eNGu4WILVBB8Zc+6VdDzmOBk7ytJKjbvGCK5t2uDYHVYl12M+
         nJ+DeJXjxhvAau/TgloaH69E43DIGeAEFrkL3rnRzX/IDP5kfD12pLPFjGll2QsLTpQ+
         YFKg==
X-Forwarded-Encrypted: i=1; AJvYcCXICsGGhGtWhK8MjC1ImUnD8CXv4XZptX8IR7M/5qepHo+z9u5rG4EQ7K+9GxzEsz6YQjndiJW4wn8=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw0VVETuzvBw4kY1vCyAE4gcvqCrvpKaHwTwoSadNiXguluslPc
	2m/sJI5XwWosu+ztw2MT6bPPqU5gTeVW0TOCraVdIEgJ+nCjwtS9Rf1uDnAfrMkshCk=
X-Gm-Gg: ASbGncvOn9G6tmcHxoOAVKuHGLGn1PNegr9Ubsz2zzobrt/vhjAFsXaThpjBgVrGa6s
	Ejgb0bcj6sf/Ztkcuc2bP7stUuIeMGvOYRXqfTJNGKZzxtw5cZMasOVYKUaTEbFw0mNejVjGOUD
	sSeDOLotTxXg9I9swhwCqH3JZLOxIBujzes7JHgV7mbn04xr5imEet0t6+njok2dqBsTCI8wtDp
	PY7gL4UYJVd+HXwnsZObmKooRQNkBSxHM9xo1eCTgn5KhAh3ULUX6Wyas2eMBq8PngvZRiHrd0P
	XAwO0eqLdY0I+Jy6El+3jqAEFJOgyoOfWzoQlJsUob2sGxGzjvraa9+koYPa+Z4466pR6+MZ/xs
	gscs18rEcMN/MdxP4UmhvhtGwHOi/IZPdSmFIHGcnzeBMLeh0eSWnO60Jp1h/YaPRjNv9K3CfAF
	sP5lY299kng2JqTJCZvmm0vDzEfbljvK7nRhaNz84iYw==
X-Google-Smtp-Source: AGHT+IHxLXwieKFU7SbuMvhAV5IuXKwh2uJK+nqqalJPbVbgX1whOpzVMwNYutAqY9sad8l/fIMvuw==
X-Received: by 2002:a05:600c:a02:b0:471:3b6:f2d with SMTP id 5b1f17b1804b1-47117931c36mr186999055e9.38.1761321636051;
        Fri, 24 Oct 2025 09:00:36 -0700 (PDT)
Message-ID: <9f202cce-71a8-4f15-967b-b2b109959c2a@citrix.com>
Date: Fri, 24 Oct 2025 17:00:34 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/pci: prevent infinite loop for faulty SR-IOV cards
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Frediano Ziglio <freddy77@gmail.com>,
 xen-devel <xen-devel@lists.xenproject.org>
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <CAHt6W4dnM1pLMnDVyywc_2d-6nry7pFCYomSvRjyuH7sRm0J4Q@mail.gmail.com>
 <72a2f002-23fd-4d06-8c44-3e535533bec2@citrix.com>
Content-Language: en-GB
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <72a2f002-23fd-4d06-8c44-3e535533bec2@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 24/10/2025 4:58 pm, Andrew Cooper wrote:
> On 24/10/2025 4:13 pm, Frediano Ziglio wrote:
>> If a SR-IOV card presents an I/O space inside a BAR the
>> code will continue to loop on the same card.
>> This is due to the missing increment of the cycle variable.
>>
>> Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
> Yes, that's buggy.Â  Was this from a real card, or just code inspection?

Sorry, sent too early.

This was broken by a1a6d59862f4 ("pci: split code to size BARs from
pci_add_device") when it changed the loop from having an increment, to not.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Oct 24 16:21:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Oct 2025 16:21:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1150704.1481756 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCKXY-0007m9-3x; Fri, 24 Oct 2025 16:21:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1150704.1481756; Fri, 24 Oct 2025 16:21:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCKXY-0007m2-0r; Fri, 24 Oct 2025 16:21:20 +0000
Received: by outflank-mailman (input) for mailman id 1150704;
 Fri, 24 Oct 2025 16:21:18 +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
 <SRS0=h56G=5B=citrix.com=ross.lagerwall@srs-se1.protection.inumbo.net>)
 id 1vCKXW-0007lw-N1
 for xen-devel@lists.xenproject.org; Fri, 24 Oct 2025 16:21:18 +0000
Received: from DM5PR21CU001.outbound.protection.outlook.com
 (mail-centralusazlp170110009.outbound.protection.outlook.com
 [2a01:111:f403:c111::9])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 76a3be14-b0f5-11f0-980a-7dc792cee155;
 Fri, 24 Oct 2025 18:21:16 +0200 (CEST)
Received: from DM6PR03MB4764.namprd03.prod.outlook.com (2603:10b6:5:183::31)
 by BL1PR03MB6055.namprd03.prod.outlook.com (2603:10b6:208:31b::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.12; Fri, 24 Oct
 2025 16:21:13 +0000
Received: from DM6PR03MB4764.namprd03.prod.outlook.com
 ([fe80::4f33:d9f5:18a2:28c7]) by DM6PR03MB4764.namprd03.prod.outlook.com
 ([fe80::4f33:d9f5:18a2:28c7%6]) with mapi id 15.20.9228.014; Fri, 24 Oct 2025
 16:21:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 76a3be14-b0f5-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=N5Z+a/GvLsGYtSEf70jhHJ39g11C/XMxbI0APvaz7Xr7bzEyAIB2thAyOKy9qfXnv1FPGbmYLJtsREYai7sT46mjPpvmUy2bfjCD/CzACj6QcBAup1WmnoNMm/oIO/vCTLDpiWsDyJj6/BXG4uqmuIGUWrLQwd8+Bd4mLRmn3OGAlSTcoWOMUcYuPZSQnayvcto/BDJfoKe+bL5s26jemgih6d3lzK08s1JzVozoLigVB1lVA081ju5S+W+6AayblY1EEew3tEaEhN+Cl+6DGNfiXh3NN4BKnHS01CFl0ZSOl3V5lKwOJ7GHVgTK2LRdRZwSce1erZipyxrS8t/IJA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6uUQTuet8fHMJ2w3FZTZuj/+41PlPOzUESjZXEwkEDA=;
 b=JuQgJwHboDcHXHZyT56hbHOwz6zCX2HkI/CRykevQdIZzpMVHChBPRn5kAJ0TgVyoU4Bn9fyJq0jMVVkMTfnP66yE6ZzEe5x3ul3uE1G1NbJSz0x75ru7xo4k2jNSnt1TRFWmw9+P3pA90CVEpoaVNgmDY8+GB0NF3VfUyH2l1kXXjNoWTTyrPbOfyMkD3pLW9ODWHmGhwja/vz8223fTTT2YagCwvPQAYvkFDZviGXbuUvIVDlGkBMy9dcj2uncCxFPP9UhrqnfTjidBiTskAD/n9Zc2DJdriQA0ohFkpRgyrPVxrMByenCVSSNJhhM2OVXE5IhHbIZzXp3hzD+Nw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6uUQTuet8fHMJ2w3FZTZuj/+41PlPOzUESjZXEwkEDA=;
 b=tSNqYWPtP870WtBp9FZV85cU++YpaSi0qe9PhogR1Q4ot6PqFUW5ZVBlNZz6HxUk8NL3yPDLpWrkq7Y6xqX7zv93eZqhUxYDWQqWgDXSku7eGq8CtPLcJ4VJGnjv038pqaT247sL+9cQZMfL2/alPyNYDQuGaGyH7HlQFvCMxEk=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Ross Lagerwall <ross.lagerwall@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Ross Lagerwall <ross.lagerwall@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH] vVMX: Cleanup partial vCPU initialization
Date: Fri, 24 Oct 2025 17:20:54 +0100
Message-ID: <20251024162054.2610454-1-ross.lagerwall@citrix.com>
X-Mailer: git-send-email 2.51.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: LO4P265CA0175.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:312::14) To DM6PR03MB4764.namprd03.prod.outlook.com
 (2603:10b6:5:183::31)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB4764:EE_|BL1PR03MB6055:EE_
X-MS-Office365-Filtering-Correlation-Id: 0a73758e-d087-4126-e0a3-08de13195947
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|366016;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?VU9wAYZStRdBwggOFhT2uM6Rz/3uAueIBekLiNLpRHg0e3k9g80GCX2LHI8b?=
 =?us-ascii?Q?rjZDYoYhKOKMS102kjabJbDEtrholp2DH5QCHNEd1lWqMXnWLSNrua7Z050k?=
 =?us-ascii?Q?p2zG4f20UISpaeSWTDV2simTc67eGhzN0VjpSa0I3JM4fcLhSDYziisbGmFn?=
 =?us-ascii?Q?W5C+E8oLxn19JmL8g9cuRRMxyExj7y6JmDoBEGyCNHLw2v7caHtKfXeAt2Dj?=
 =?us-ascii?Q?6TDV8r4cCdr2UwCjhiLb+KGHBFbKFNF2ogJgZ6E6uwL4K9XD1VvXefYTb2Yu?=
 =?us-ascii?Q?+KqQqcD8A+Tdqc32zWcCzprIOfWKp7coaW7UNwr7I1vb//g6uXMqdU0mWBCS?=
 =?us-ascii?Q?As6yITipMAyrIuhCXXGwFpJkFNuCrp4/KBfs4uqDbRbiKkPfFgakGnQKICZk?=
 =?us-ascii?Q?cVbfdILCFLyB3tuyvgeyzBxi1gGyb0/vfEREk8+OoD/XvrqbprzlO7HGPjyV?=
 =?us-ascii?Q?n/NQM9eTPYSqu+Jd8QrWjGouXAMSHyVthlJ6SCi1OVlAcwwlXxUIyE8VkN/l?=
 =?us-ascii?Q?KMfiZn0aAdiF5FKPzGm1md5uLWyl0o2smAjXTC2+y+9PDPUkFw/TLQLLbe7P?=
 =?us-ascii?Q?wJfYTL1aVPxNbPEQJ+2RHISHQYJbjbjsNpKkh9bujGnNGOaqDmAciUtInJ4t?=
 =?us-ascii?Q?UfYkI29mvVk3GyqbFNWPoqlA2Vbm+Mj4wXbGxTqJLDO1mqK5dHWb9Sj/qWGl?=
 =?us-ascii?Q?9ewoUtLvKTqVJ+JqUB7AcbPtVC+lMLnhF9F5gYw9fgHRPgbF1jt7ceSg3slz?=
 =?us-ascii?Q?3+DDkB7Y8CSX7qURpk6pmHF9hy7JXC9uwxr8Rgol3HM0ywvtuYr7q8LE7Hj1?=
 =?us-ascii?Q?kCoWDDAL4C5ruLE4X64imTe3DW8KsgIC21ChpR2mcPPslqHbJHj0vhE3cpTf?=
 =?us-ascii?Q?qj4IIVZJ6EZfJlNoV3P2crMj7SiQk71pywMpKBmdoAi10kHTTy12NaxqJHO+?=
 =?us-ascii?Q?AXt6/y6H0Mpt1tAijJjksE681xpRGwMbTJVGEte9HRexpujCYfIU5aQRHPE+?=
 =?us-ascii?Q?0KLWBjB+b/5f5noLSZ7jRTxAGhUaefHJPfWZfKoz/ussYxBQKt1n+eHPL2S3?=
 =?us-ascii?Q?FtYpulUPm74EJeGShe4PTx8ueyhIunipb0paREx5Wu2no+CuE/viLihj8R3L?=
 =?us-ascii?Q?x+OfOxKd0RhuCoF+h8oyWcdItiVtInhhxpc9scsJiXo0IOR0CvPYA8Di/wIf?=
 =?us-ascii?Q?zmsJ8IhKzToG3ODjFS8bKWOwMwq+oISkF3xSBj4WbtuFgC8G8fcsOHjapPtr?=
 =?us-ascii?Q?sbWJ/TPJ2c/RhX/ZRZdGDUsiRY2ksVfgZ3Ub4FwQsg1I119UyvVP0h9WNsu7?=
 =?us-ascii?Q?OV5ILidAVO9Z5eWOXNBFuvlKAWxVHw0wgSLGgz5K0yPi7ewPupkL0SswdQLD?=
 =?us-ascii?Q?5GDDWKXMEMIMhvfD1ntvOpOXQ/spVZCKiLBD4BBenhyjveCDUdIN2M4H+I18?=
 =?us-ascii?Q?TP2aS4C6b3XPQ5RVDvD6MUWsCs94qPBu?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB4764.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?vpbic0iwPY0jv/ZXQwCZJjyXiVf2bhSjRQUbpTqv2hD2jCyhjD0isQ1T+3uX?=
 =?us-ascii?Q?AWnH8e0snsvIu7MwSkTvIC4vp3no7bWXyVptvZl3tO6o6A00bVyNr31pSGt4?=
 =?us-ascii?Q?KGOjQVi31r2Vscu5gJ2f3/6Jn3/OaBqtHXDPO5SvVgZCUJbqDs8PweKRuKLu?=
 =?us-ascii?Q?UUv+ZrI9WHPsTGoPPPqDCJB8jC5OfWyC9bZvoWkIp/xHoMotKfRgUpn4P6cp?=
 =?us-ascii?Q?4dofcQ3dPhNGjN/BjvvWWnCYdXu50AwYtm9iePUFR+GPW/EY845f+kUMLMGa?=
 =?us-ascii?Q?N+vLA4nPmgxLNcMXDjgZWJUqDhrICbTIJdDO7Hl3OI3o5wGwPMXnl1uQfoa8?=
 =?us-ascii?Q?DNQk6IwhmmcvSzcZ+ySxBK2ep5xuQlV04QpWbww3awTmKRGaUMs5r+SQJV/Z?=
 =?us-ascii?Q?JAq792J2KpR5pRl4gwWXZZTK/E9nKvMsWa0jTuzXvVOfCMj8NJePg8gsGP4p?=
 =?us-ascii?Q?amWTDrQ3aDeCkfhjcb/NPlshFm/oZkVWSw08dcjoFT+opOGR+HD47NFxLJRM?=
 =?us-ascii?Q?PtuvrA4gBT/jK9swNHnpdUsoRHeAKHqq3S/pEQ0LZIt6BYHjgo5ewlG3ws/w?=
 =?us-ascii?Q?ACnKeRXHoPf//sIGv0bLbIk1F3nc9mcaw47i5i4Zy5Uvvp5A+VZeYEdITpdW?=
 =?us-ascii?Q?ziPWCgV/HPotuowIiDWXldiQnwtc60BW7Sipbxla5eszHAXYTcfmWaf1z3o5?=
 =?us-ascii?Q?k835ooqXzZB8DsifIOdF/2Xr/xQJ6mtQQJmsL7pnpQLex7ef7eTiJE3HphPL?=
 =?us-ascii?Q?1R5bYCs/LQe6EcwOq9i7JFz7D8EvM3xGgW0bOXGELkA8cX9T8urhoMWqd+UL?=
 =?us-ascii?Q?yJjpugnij9XhMiFC85n00N7fmPIBhURvXzZfU9zDyM5wBOInSEhzmPyju1R9?=
 =?us-ascii?Q?3u+fo85QLIFGOx3ZGMhna9UeXckXXJlxlt0mQmz+ozEObett39RnlO6N/d/N?=
 =?us-ascii?Q?qB6paCdBed0ngssp5EIPUzX/fSzIv+JOkFikBW3go1MXux9r+uJ0IMAH9kNe?=
 =?us-ascii?Q?jSeD4VFryu+3ISN6i++OYFIWd+OcoyGOb5H+pCrankDjwyOXU2Zs8HjJ7YIk?=
 =?us-ascii?Q?Xv/mw8LNaEy+g8kBO8NNGBO1Npz7wNSU8r0EEKG1NXhmLaIrpFv4IBsWwbUk?=
 =?us-ascii?Q?7Ue/g5ob4bYxCa+hSuvr2fRXL0ukAzAe3tjXX3TdGaUimaJuzS0UPdZeHV8C?=
 =?us-ascii?Q?g2vNpQQ1K3xYK2vdPEoTqdGruNYG6Jv/r7Q0XfYC3RH7+iJOGZbj+ljHbTHv?=
 =?us-ascii?Q?InlA6KwufF4N1dPD9c0GIUz4R6ismRJN5qxqZtAASI6NjckjiRRxbPvjqWJz?=
 =?us-ascii?Q?drlQ63mYjDlgNI5Yle0JQfglva/UE9wBiJtNM8B9Cx3yEMHvO3u4DRAgnIae?=
 =?us-ascii?Q?3O3+7c6dVu70rSxfkbcslNsMTEku0g7BVTa8dzq7W1DAkw4CZ5zgYQkAWPCx?=
 =?us-ascii?Q?zXA+ddWfJRLlNjc1sBGwnRCKlg8nPLEouDzQsKat/Xaf8O8ZgANltR1cNHV7?=
 =?us-ascii?Q?JDXhT277FQUBB+zLqRHqXN/bVu6MbcrFc48ujByR1eRcsrt0imgfsj+Basta?=
 =?us-ascii?Q?v30pvQmL2GWskTbpTVamA6n2onADwHfeKg4DxvUzjEmsW7sI9RpacBSghCaG?=
 =?us-ascii?Q?fQ=3D=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0a73758e-d087-4126-e0a3-08de13195947
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB4764.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Oct 2025 16:21:12.8377
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ZgOXTWVuB6etFvhPt/fHmljod3ZmBw+PXnTz7FrjmOOEVP7MKKfZo8EVsrfKA2DxvqrOX6jbJxBoT3AVC1sBx339j7S/NiA0MuVrt8XQo8k=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR03MB6055

If nested vCPU initialization fails, cleanup the allocated memory since
it is no longer handled by the caller.

Fixes: c47984aabead ("nvmx: implement support for MSR bitmaps")
Fixes: f5bdb4aaa165 ("x86/hvm: Obsolete the use of HVM_PARAM_NESTEDHVM")
Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
---
 xen/arch/x86/hvm/vmx/vvmx.c | 25 +++++++++++++++----------
 1 file changed, 15 insertions(+), 10 deletions(-)

diff --git a/xen/arch/x86/hvm/vmx/vvmx.c b/xen/arch/x86/hvm/vmx/vvmx.c
index e4f3a5fe4c71..cf9aecb4c3e4 100644
--- a/xen/arch/x86/hvm/vmx/vvmx.c
+++ b/xen/arch/x86/hvm/vmx/vvmx.c
@@ -53,6 +53,13 @@ void nvmx_cpu_dead(unsigned int cpu)
     XFREE(per_cpu(vvmcs_buf, cpu));
 }
 
+static void vcpu_relinquish_resources(struct vcpu *v)
+{
+    struct nestedvmx *nvmx = &vcpu_2_nvmx(v);
+
+    FREE_XENHEAP_PAGE(nvmx->msr_merged);
+}
+
 int cf_check nvmx_vcpu_initialise(struct vcpu *v)
 {
     struct domain *d = v->domain;
@@ -89,7 +96,7 @@ int cf_check nvmx_vcpu_initialise(struct vcpu *v)
         if ( !vmread_bitmap )
         {
             gdprintk(XENLOG_ERR, "nest: allocation for vmread bitmap failed\n");
-            return -ENOMEM;
+            goto err;
         }
         v->arch.hvm.vmx.vmread_bitmap = vmread_bitmap;
 
@@ -99,7 +106,7 @@ int cf_check nvmx_vcpu_initialise(struct vcpu *v)
         if ( !vmwrite_bitmap )
         {
             gdprintk(XENLOG_ERR, "nest: allocation for vmwrite bitmap failed\n");
-            return -ENOMEM;
+            goto err;
         }
         v->arch.hvm.vmx.vmwrite_bitmap = vmwrite_bitmap;
 
@@ -124,7 +131,7 @@ int cf_check nvmx_vcpu_initialise(struct vcpu *v)
     {
         nvmx->msr_merged = alloc_xenheap_page();
         if ( !nvmx->msr_merged )
-            return -ENOMEM;
+            goto err;
     }
 
     nvmx->ept.enabled = 0;
@@ -139,6 +146,11 @@ int cf_check nvmx_vcpu_initialise(struct vcpu *v)
     nvmx->msrbitmap = NULL;
     INIT_LIST_HEAD(&nvmx->launched_list);
     return 0;
+
+ err:
+    nvmx_vcpu_destroy(v);
+    vcpu_relinquish_resources(v);
+    return -ENOMEM;
 }
  
 void cf_check nvmx_vcpu_destroy(struct vcpu *v)
@@ -183,13 +195,6 @@ void cf_check nvmx_vcpu_destroy(struct vcpu *v)
     }
 }
 
-static void vcpu_relinquish_resources(struct vcpu *v)
-{
-    struct nestedvmx *nvmx = &vcpu_2_nvmx(v);
-
-    FREE_XENHEAP_PAGE(nvmx->msr_merged);
-}
-
 void cf_check nvmx_domain_relinquish_resources(struct domain *d)
 {
     struct vcpu *v;
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Fri Oct 24 16:58:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Oct 2025 16:58:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1150721.1481766 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCL6s-00044H-Qj; Fri, 24 Oct 2025 16:57:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1150721.1481766; Fri, 24 Oct 2025 16:57:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCL6s-00044A-OB; Fri, 24 Oct 2025 16:57:50 +0000
Received: by outflank-mailman (input) for mailman id 1150721;
 Fri, 24 Oct 2025 16:57:48 +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
 <SRS0=EH92=5B=gmail.com=samaan.dehghan@srs-se1.protection.inumbo.net>)
 id 1vCL6q-000444-Ev
 for xen-devel@lists.xenproject.org; Fri, 24 Oct 2025 16:57:48 +0000
Received: from mail-pl1-x633.google.com (mail-pl1-x633.google.com
 [2607:f8b0:4864:20::633])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8d32145d-b0fa-11f0-980a-7dc792cee155;
 Fri, 24 Oct 2025 18:57:41 +0200 (CEST)
Received: by mail-pl1-x633.google.com with SMTP id
 d9443c01a7336-27ee41e074dso23200355ad.1
 for <xen-devel@lists.xenproject.org>; Fri, 24 Oct 2025 09:57:41 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8d32145d-b0fa-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1761325060; x=1761929860; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=KNJrqv1LdgGD9htqF+5iWwwnUHevdWmdVSMSUdoUNTA=;
        b=B+Sta8PyJLebtsBbWphTiJgXwB4lFKPA7TBkGg+1TXY+3gbnqpojwF3MJmbAJmIzUL
         6qnUz/2aH4I0ZWWh1CfSgDMdB4FvAMHPtDIBb9XLPBJAttHECIRVJp4UVdw1d0VbwnR3
         cyxjkoWaiSl0lUZ1u+XZULJP574YcagE5oQK8TQQADRWWCt3kgA4V6wsMJt8dBGZMlV9
         dPt0FSoxd8zYq0+He7OXe/xlw+YHKb/o2RXGS1hnOyNaFmrdxsE/FSDY+1OfFn+iZXDc
         uoml48sQBhNuO8ddI+9FyNm2my5awEXbvhPpwfl66tQXUrivIzINbNGaaSt2aQ3OiQso
         zphA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761325060; x=1761929860;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=KNJrqv1LdgGD9htqF+5iWwwnUHevdWmdVSMSUdoUNTA=;
        b=Txw5sdr3rR86E6JdRSMws8nsSpAX0Tcxf3ptA0mKcM7aeYdNy81zpbRFefudqDn9UY
         6G5OMNVbQJRKVIxKuMm8HQTstZuooJQ+4XgkhlFQ8QC+dtfjSBZYyl/IjhViJuiHorWo
         fD8J2ol6U4Ty7dbw/I7upzBR4O2NB7cknp3Kx4VupiR8ovQJqWFTauQybpyntnsum/BU
         rjkK9ZW+EvBHChVCWoRmnSjKw7xBor6bvpMgsammWr61ZbfVuh2SPi2SRaQin+RlzD3N
         NYuHyvlpDrKOQoTWaa2XhD+JgQYMxdEgBpehrMnhIZDzPviHiVHhFUNzLpr1xZ9X4KvU
         3XxQ==
X-Gm-Message-State: AOJu0Yzofsvj3/bxVo2xjhKx7AagfNZObAKLYpeIvV81srClvamGDepd
	8xmfJ2P2RLeoBWw3idkhVPyx6JlS8PIWtUakCLOFnEUauVXlu5nkCA9XcMQ2NYS/sawYSY2gXBE
	APg3MzNddrkm3pFytYKff8HNbO1sy7g==
X-Gm-Gg: ASbGncuizaMaeszGSlmI9CYRpicu2wPM6IHRv3zN5/4ZV26sJe5sMDGCfSnl6vTEV82
	N2rL+0cE9PyeED3Y8QbC6LcpLTa8z5Ja+5P3FWJpPNyx7caZbiPnTRkC0sUxrWKi2KTPItpLmMv
	Nb1puNxHvJFdMeFsCYK9wWEniv+5rEFnfC0kkPcbPtlawlrKNpbALbo64J146opneA1+dKoNndx
	yRGyN7ahxvHSxXRjAdQ1V9pAvZ8mmdqv/8NwJaOJc4jZOG3fGNEsbxTD0A27xM3tGm6
X-Google-Smtp-Source: AGHT+IEhQga1Ro4sSWNWpbqx0MH6zTfvm1Ez8rZwiQl+qaWpv9DT1yHNb1nYiy03nR+Uh4kAb92gkg4xp7SuFSApmnA=
X-Received: by 2002:a17:902:e80e:b0:293:623:3260 with SMTP id
 d9443c01a7336-2930623372dmr106086055ad.57.1761325059637; Fri, 24 Oct 2025
 09:57:39 -0700 (PDT)
MIME-Version: 1.0
References: <20251023233408.16245-1-samaan.dehghan@gmail.com> <f61d5a29-04f0-44cc-bef6-de05f240bbc8@citrix.com>
In-Reply-To: <f61d5a29-04f0-44cc-bef6-de05f240bbc8@citrix.com>
From: saman dehghan <samaan.dehghan@gmail.com>
Date: Fri, 24 Oct 2025 11:57:28 -0500
X-Gm-Features: AS18NWAX7C4t-jfUL_sa9Kd-MFxDlmLrnQ3bnN2FrQzfuupM8DPB9D6LHY6Fw5M
Message-ID: <CAHFNDNg3TLo9vOiLcAXtMSwWVatrG5ObKqe5=zQboTG-XMY+0Q@mail.gmail.com>
Subject: Re: Support of building Xen with Clang/LLVM on Arm?
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org, Wentao Zhang <wentaoz5@illinois.edu>
Content-Type: multipart/alternative; boundary="0000000000008384f20641ea7294"

--0000000000008384f20641ea7294
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Thank you Andrew for your prompt clarification.
We'll see what the best we can contribute while developing our coverage
patch.

Thanks,
Saman

On Thu, Oct 23, 2025 at 6:45=E2=80=AFPM Andrew Cooper <andrew.cooper3@citri=
x.com>
wrote:

> On 24/10/2025 12:34 am, Saman Dehghan wrote:
> > Hi xen-devel,
> >
> > When preparing and testing another of my patch for LLVM coverage [1], I
> > encountered a few problems with Clang/LLVM build on ARM 64 platforms.
> >
> > The first two are clang errors.
> >
> > I observe the following errors when building the Xen master branch
> > for ARM 64 with Clang 19 and 20. If I comment out
> > "CFLAGS-$(CONFIG_ARM_64) +=3D -mgeneral-regs-only" in "xen/arch/arm/
> arch.mk"
> > the error is gone but the build fails during linking (see the third).
> >
> > Error message:
> >
> > arch/arm/arm64/vfp.c:9:18: error: instruction requires: fp-armv8
> >     9 |     asm volatile("stp q0, q1, [%1, #16 * 0]\n\t"
> >       |                  ^
> > <inline asm>:1:2: note: instantiated into assembly here
> >     1 |         stp q0, q1, [x8, #16 * 0]
> >       |         ^
> > arch/arm/arm64/vfp.c:9:46: error: instruction requires: fp-armv8
>
> >     9 |     asm volatile("stp q0, q1, [%1, #16 * 0]\n\t"
> >       |                                              ^
> > <inline asm>:2:2: note: instantiated into assembly here
> >     2 |         stp q2, q3, [x8, #16 * 2]
> >       |         ^
> > arch/arm/arm64/vfp.c:10:46: error: instruction requires: fp-armv8
> >    10 |                  "stp q2, q3, [%1, #16 * 2]\n\t"
> >       |                                              ^
> > <inline asm>:3:2: note: instantiated into assembly here
> >     3 |         stp q4, q5, [x8, #16 * 4]
> >       |         ^
> > arch/arm/arm64/vfp.c:11:46: error: instruction requires: fp-armv8
> >    11 |                  "stp q4, q5, [%1, #16 * 4]\n\t"
> >       |                                              ^
> > <inline asm>:4:2: note: instantiated into assembly here
> >     4 |         stp q6, q7, [x8, #16 * 6]
> >       |         ^
> > arch/arm/arm64/vfp.c:12:46: error: instruction requires: fp-armv8
> >    12 |                  "stp q6, q7, [%1, #16 * 6]\n\t"
> >       |                                              ^
> > <inline asm>:5:2: note: instantiated into assembly here
> >     5 |         stp q8, q9, [x8, #16 * 8]
> >       |         ^
> > arch/arm/arm64/vfp.c:13:46: error: instruction requires: fp-armv8
> >    13 |                  "stp q8, q9, [%1, #16 * 8]\n\t"
> >       |                                              ^
> > <inline asm>:6:2: note: instantiated into assembly here
> >     6 |         stp q10, q11, [x8, #16 * 10]
> >       |         ^
> >
> > Reprroduction steps:
> >
> > $ git clone https://xenbits.xen.org/git-http/xen
> > $ cd xen
> > $ git checkout eff32008be0d2718d32d60245650ff6f88fb3d13
> > $ make -C xen menuconfig clang=3Dy
> > $ make xen clang=3Dy
> >
> > Tested with the following setup:
> >
> > - Clang version: Ubuntu clang version 19.1.1 (1ubuntu1~24.04.2)
> > - Host: Ubuntu 24.04.3 LTS /  aarch64
> >
> > Second, for Clang 18 or below there are another set of errors despite
> > commenting out the "-mgeneral-regs-only" flag:
> >
> > arch/arm/arm64/mmu/head.S:288:13: error: expected writable system
> register or pstate
> >         msr TTBR0_EL2, x4
> >             ^
> > arch/arm/arm64/mmu/head.S:509:13: error: expected writable system
> register or pstate
> >         msr TTBR0_EL2, x0
> >             ^
> >
> > Tested with:
> >
> > - Clang version: Ubuntu clang version 18.1.3 (1ubuntu1)
> > - Host: Ubuntu 24.04.3 LTS /  aarch64
> >
> > This works with GCC. It also works with Clang on x86 builds.
> >
> > Third, if I specify "LD=3Dld.lld" with Clang 19 and 20 after commenting=
 out
> > the "-mgeneral-regs-only" flag. I got this linking error:
> >
> > ld.lld: error: common/device-tree/static-evtchn.init.o:(.rodata.str):
> offset is outside the section
> >
> > As I read from the project README, under "C compiler and linker - For
> ARM",
> > only GCC is listed. So my general question is whether Xen supports
> building
> > with Clang/LLVM on ARM platforms.
> >
> > Let me know if you need more details or a patch attempt.
>
> Clang/LLVM is only supported for x86.
>
> Personally I think the other architectures would benefit from using both
> compilers, but it's up to the relevant maintainers.
>
> ~Andrew
>

--0000000000008384f20641ea7294
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_default" style=3D"font-family:georgia,=
serif">Thank you Andrew for your prompt clarification.</div><div class=3D"g=
mail_default" style=3D"font-family:georgia,serif">We&#39;ll see what the be=
st we can contribute while developing our coverage patch.<br></div><div cla=
ss=3D"gmail_default" style=3D"font-family:georgia,serif"><br></div><div cla=
ss=3D"gmail_default" style=3D"font-family:georgia,serif">Thanks,</div><div =
class=3D"gmail_default" style=3D"font-family:georgia,serif">Saman</div></di=
v><br><div class=3D"gmail_quote gmail_quote_container"><div dir=3D"ltr" cla=
ss=3D"gmail_attr">On Thu, Oct 23, 2025 at 6:45=E2=80=AFPM Andrew Cooper &lt=
;<a href=3D"mailto:andrew.cooper3@citrix.com">andrew.cooper3@citrix.com</a>=
&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px =
0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-col=
or:rgb(204,204,204);padding-left:1ex">On 24/10/2025 12:34 am, Saman Dehghan=
 wrote:<br>
&gt; Hi xen-devel,<br>
&gt;<br>
&gt; When preparing and testing another of my patch for LLVM coverage [1], =
I<br>
&gt; encountered a few problems with Clang/LLVM build on ARM 64 platforms.<=
br>
&gt;<br>
&gt; The first two are clang errors.<br>
&gt;<br>
&gt; I observe the following errors when building the Xen master branch<br>
&gt; for ARM 64 with Clang 19 and 20. If I comment out <br>
&gt; &quot;CFLAGS-$(CONFIG_ARM_64) +=3D -mgeneral-regs-only&quot; in &quot;=
xen/arch/arm/<a href=3D"http://arch.mk" rel=3D"noreferrer" target=3D"_blank=
">arch.mk</a>&quot;<br>
&gt; the error is gone but the build fails during linking (see the third). =
<br>
&gt;<br>
&gt; Error message:<br>
&gt;<br>
&gt; arch/arm/arm64/vfp.c:9:18: error: instruction requires: fp-armv8=C2=A0=
 <br>
&gt;=C2=A0 =C2=A0 =C2=A09 |=C2=A0 =C2=A0 =C2=A0asm volatile(&quot;stp q0, q=
1, [%1, #16 * 0]\n\t&quot;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 <br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 ^=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 <br>
&gt; &lt;inline asm&gt;:1:2: note: instantiated into assembly here=C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0<br>
&gt;=C2=A0 =C2=A0 =C2=A01 |=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0stp q0, q1, [x=
8, #16 * 0]=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 <br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0^=C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0<br>
&gt; arch/arm/arm64/vfp.c:9:46: error: instruction requires: fp-armv8=C2=A0=
 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 <br>
&gt;=C2=A0 =C2=A0 =C2=A09 |=C2=A0 =C2=A0 =C2=A0asm volatile(&quot;stp q0, q=
1, [%1, #16 * 0]\n\t&quot;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 <br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^=C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 <br>
&gt; &lt;inline asm&gt;:2:2: note: instantiated into assembly here=C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0<br>
&gt;=C2=A0 =C2=A0 =C2=A02 |=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0stp q2, q3, [x=
8, #16 * 2]=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0^=C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0<br>
&gt; arch/arm/arm64/vfp.c:10:46: error: instruction requires: fp-armv8<br>
&gt;=C2=A0 =C2=A0 10 |=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 &quot;stp q2, q3, [%1, #16 * 2]\n\t&quot;=C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 <br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^=C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0<br>
&gt; &lt;inline asm&gt;:3:2: note: instantiated into assembly here<br>
&gt;=C2=A0 =C2=A0 =C2=A03 |=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0stp q4, q5, [x=
8, #16 * 4]<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0^<br>
&gt; arch/arm/arm64/vfp.c:11:46: error: instruction requires: fp-armv8<br>
&gt;=C2=A0 =C2=A0 11 |=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 &quot;stp q4, q5, [%1, #16 * 4]\n\t&quot;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^<br>
&gt; &lt;inline asm&gt;:4:2: note: instantiated into assembly here<br>
&gt;=C2=A0 =C2=A0 =C2=A04 |=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0stp q6, q7, [x=
8, #16 * 6]<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0^<br>
&gt; arch/arm/arm64/vfp.c:12:46: error: instruction requires: fp-armv8<br>
&gt;=C2=A0 =C2=A0 12 |=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 &quot;stp q6, q7, [%1, #16 * 6]\n\t&quot;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^<br>
&gt; &lt;inline asm&gt;:5:2: note: instantiated into assembly here<br>
&gt;=C2=A0 =C2=A0 =C2=A05 |=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0stp q8, q9, [x=
8, #16 * 8]<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0^<br>
&gt; arch/arm/arm64/vfp.c:13:46: error: instruction requires: fp-armv8<br>
&gt;=C2=A0 =C2=A0 13 |=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 &quot;stp q8, q9, [%1, #16 * 8]\n\t&quot;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^<br>
&gt; &lt;inline asm&gt;:6:2: note: instantiated into assembly here<br>
&gt;=C2=A0 =C2=A0 =C2=A06 |=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0stp q10, q11, =
[x8, #16 * 10]<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0^<br>
&gt;<br>
&gt; Reprroduction steps:<br>
&gt;<br>
&gt; $ git clone <a href=3D"https://xenbits.xen.org/git-http/xen" rel=3D"no=
referrer" target=3D"_blank">https://xenbits.xen.org/git-http/xen</a><br>
&gt; $ cd xen<br>
&gt; $ git checkout eff32008be0d2718d32d60245650ff6f88fb3d13<br>
&gt; $ make -C xen menuconfig clang=3Dy<br>
&gt; $ make xen clang=3Dy<br>
&gt;<br>
&gt; Tested with the following setup:<br>
&gt;<br>
&gt; - Clang version: Ubuntu clang version 19.1.1 (1ubuntu1~24.04.2)<br>
&gt; - Host: Ubuntu 24.04.3 LTS /=C2=A0 aarch64<br>
&gt;<br>
&gt; Second, for Clang 18 or below there are another set of errors despite<=
br>
&gt; commenting out the &quot;-mgeneral-regs-only&quot; flag:<br>
&gt;<br>
&gt; arch/arm/arm64/mmu/head.S:288:13: error: expected writable system regi=
ster or pstate<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0msr TTBR0_EL2, x4<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0^<br>
&gt; arch/arm/arm64/mmu/head.S:509:13: error: expected writable system regi=
ster or pstate<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0msr TTBR0_EL2, x0<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0^<br>
&gt;<br>
&gt; Tested with:<br>
&gt;<br>
&gt; - Clang version: Ubuntu clang version 18.1.3 (1ubuntu1)<br>
&gt; - Host: Ubuntu 24.04.3 LTS /=C2=A0 aarch64<br>
&gt;<br>
&gt; This works with GCC. It also works with Clang on x86 builds.<br>
&gt;<br>
&gt; Third, if I specify &quot;LD=3Dld.lld&quot; with Clang 19 and 20 after=
 commenting out<br>
&gt; the &quot;-mgeneral-regs-only&quot; flag. I got this linking error:<br=
>
&gt;<br>
&gt; ld.lld: error: common/device-tree/static-evtchn.init.o:(.rodata.str): =
offset is outside the section<br>
&gt;<br>
&gt; As I read from the project README, under &quot;C compiler and linker -=
 For ARM&quot;,<br>
&gt; only GCC is listed. So my general question is whether Xen supports bui=
lding<br>
&gt; with Clang/LLVM on ARM platforms.<br>
&gt;<br>
&gt; Let me know if you need more details or a patch attempt.<br>
<br>
Clang/LLVM is only supported for x86.<br>
<br>
Personally I think the other architectures would benefit from using both<br=
>
compilers, but it&#39;s up to the relevant maintainers.<br>
<br>
~Andrew<br>
</blockquote></div>

--0000000000008384f20641ea7294--


From xen-devel-bounces@lists.xenproject.org Fri Oct 24 18:08:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Oct 2025 18:08:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1150768.1481777 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCMD4-0004b7-R3; Fri, 24 Oct 2025 18:08:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1150768.1481777; Fri, 24 Oct 2025 18:08:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCMD4-0004b0-NR; Fri, 24 Oct 2025 18:08:18 +0000
Received: by outflank-mailman (input) for mailman id 1150768;
 Fri, 24 Oct 2025 18:08:17 +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
 <SRS0=0w6I=5B=citrix.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1vCMD3-0004as-DA
 for xen-devel@lists.xenproject.org; Fri, 24 Oct 2025 18:08:17 +0000
Received: from CY7PR03CU001.outbound.protection.outlook.com
 (mail-westcentralusazlp170100005.outbound.protection.outlook.com
 [2a01:111:f403:c112::5])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6598e2d2-b104-11f0-980a-7dc792cee155;
 Fri, 24 Oct 2025 20:08:12 +0200 (CEST)
Received: from DM4PR03MB7015.namprd03.prod.outlook.com (2603:10b6:8:42::8) by
 BY5PR03MB5281.namprd03.prod.outlook.com (2603:10b6:a03:226::24) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.13; Fri, 24 Oct
 2025 18:08:05 +0000
Received: from DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9]) by DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9%3]) with mapi id 15.20.9253.011; Fri, 24 Oct 2025
 18:08:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6598e2d2-b104-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=TTcKydf99bXSEW6g+RGmuSma1gWKsyKU3WJ3iyJmNKL9fRcM++6CigR+2Cdb6KAi8sFsO2ozp+HBk0DhcJF+bn+R0+BgAPGczBOldLo0RCjhODdMwoQup3LCrUm2WztQs07rL+nnEVdbYIEOR+YQFkkAYf0FT9uxR0fG9sPs7fHImHDogK36ICnpk3huWLzlU9vgLFHdpHQbxJnoGQaHcgCkIZeQ0R4WhXOhUFJFg2fJH85a5bAxBOjywI5zgJiUWscXY+ykuruJL8t6zmdCiRnc7ATEN+qHB6fr6L2ROsDvGTo+/Yd2/lT86gE9aoNp8sd9eQt3HegLoEfQcQS1SQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QXSdLoQI8GYo8dq1cVgYo9cAPdrEKz5fUSfvlSu5Ewg=;
 b=YZeZX9R8sSo2h1fLKy7df0vVcrE+1xv4pev/2xz1RzmZBg92cDZUP+dmNUN2UaBSdfSla5+Em96iEaDrnDBpg7MQ9tFNmkxFijNZnCGf4DLx7SPSPuzH16cGeJZtmi356JxJDu5VEhsgK4nnkqlna+EelqL9nAX5vVZhqWmPJRUv4AxeShrnnp9gYvg3IbFL19NX0ricJt/Q3skaPSPlNIIYoiUEWV0wX4F7xqld7b55p5wivrIM49Vt116NLhP9O/YftjnGmintpWDFZj0v4tbZmOk8tyy5TbRzLUyllOyTSyhG49gwPaqoXIzFSZYa/7LxC3yolOzuLChB1Y/TtQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QXSdLoQI8GYo8dq1cVgYo9cAPdrEKz5fUSfvlSu5Ewg=;
 b=PfSH/Yl3myBhAPWRPl3xbmuOn/3PL1uN8Tv4gEiun7nx6Be1eHrLO7YG3uRliPTX7GhrGrKpW9hCnAqne0tcChTA4PowRBa+2KcKLXqcVaPhu22c6i5rW+FbIUeIlRMde89FzO7OOlJFrsb4JJ0rngZhWGhZ10jWdBOvufnr5lE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <213b6d6a-9d97-4ce6-a4b1-e41e8380656a@citrix.com>
Date: Fri, 24 Oct 2025 19:08:01 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] vVMX: Cleanup partial vCPU initialization
To: Ross Lagerwall <ross.lagerwall@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <20251024162054.2610454-1-ross.lagerwall@citrix.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <20251024162054.2610454-1-ross.lagerwall@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P265CA0420.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:a0::24) To DM4PR03MB7015.namprd03.prod.outlook.com
 (2603:10b6:8:42::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM4PR03MB7015:EE_|BY5PR03MB5281:EE_
X-MS-Office365-Filtering-Correlation-Id: fe3bf8e6-a358-4bbf-d8be-08de1328475a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?YU1adnRualRMVW9FWFVrT1AvTUZmVWFnbDVzUGJZRWEvclhCUlljZmc1ZVdh?=
 =?utf-8?B?VGloWnUwZFZPZUgwZENMWFh2VUpWd0dJUDYzRUZHSmhlcjRDZ2FoTUx1Zi8z?=
 =?utf-8?B?alNHLzdxQ2IyUGdEYkVEcHd5bnpKZTVobVlzbnFlSDVrejFreEU0OWY2bUtm?=
 =?utf-8?B?NktqSW5qU2VRbkMvTEp3MFh0ajBOMkxmKzBxRlhZT050UWkzTXlaMU9hb2pk?=
 =?utf-8?B?R244S3U3VEhLRFhncTRORXdIRWJvZkp6dWRobXFadmhKOFRxLzVpZHpaUWs2?=
 =?utf-8?B?U1Nwajd1SGhhYUgyOTROc0R4azI0S2xTRDBxYy9RNGphL1NJbGtReWI4OUhu?=
 =?utf-8?B?ZjdNM1p6dTE5UmFFeWVYNGxVS0kwS2lKQjJycmVibGExVnhWZ1BaWFlRSWRV?=
 =?utf-8?B?K0ZYNWIrcGRqNW5meVlGN1l2V3B4K2tLN1g1alM2cklNNnM5R2VsSEp4RWJ5?=
 =?utf-8?B?N2Q3c2lrOHlXWFVZcXorckZINnJMRThuUzljUTQ1aW91clF4anZ3TmZ1UnYx?=
 =?utf-8?B?bzVNR0lTMUNsL2Vac3BIRkk5b0F5QmEwZitwTHhhQnBOUExSbHFpMzJvaVlO?=
 =?utf-8?B?bGJseWNtVFZjN2UyejZjTE11Z08rS2E5V0dzUHRZMzRWMDRyakVWcldKVlJF?=
 =?utf-8?B?dXBYVzZvTTNLdEtvSkpNUTBuR0FqWGdvb0tkcEVrOEl6WTMwN1NGRHd3OEx1?=
 =?utf-8?B?eWQ3Ly9EUjBOWGQ0cG1remt1ODlaZmFwMEYzSnBCeFYrZ2lrQW03V0RKSHl6?=
 =?utf-8?B?NGt0S2cyMU9yMkdjTEJnYmE2M2RBaHZEdkxNRnhzejNTZmk1QXg5UndJdTZy?=
 =?utf-8?B?QU9oc1RwRGRjbDNKc2o2Nk5BYmFwbnpjKzBuNnlPY29wMm1YTS9yY29zU0lE?=
 =?utf-8?B?d1NLTnd6c0o1U1dvSklSa1c2T09WcjRiQkpIQ3JrTWtXOGJsYk91L0k2cE5s?=
 =?utf-8?B?NGRCYktWY1VKTHgzd3NBb1RMV0hFRm02Z2dON0dDR3JGQmNzVGVlMjNEOXB1?=
 =?utf-8?B?NXptbGZLMmVnNHRkNkMrYWtwUDc3S1BGU2JTZXI1dUQrcjJld3BhaWw0WDZ5?=
 =?utf-8?B?RVo4WldBdHJBZ0NtbkIra3JRTTZ5YTJUK2d2N1ZUbExLcWJXb0hHTm9UaEl6?=
 =?utf-8?B?Zll3cU41a0xmTjIrQktTN2VFNVZIc2VxY3hEVExlVng0by8rR0hYMC9rMlFQ?=
 =?utf-8?B?VHVKSEo2ZFJTY09jbmcxNk9aUzZvbkV5azdhem0xY3JpZzhzZkpmRWp1SUxH?=
 =?utf-8?B?UzFzZmRoVjZwSEJYUTh0WDNrSTY2V3RWOXV2UzJ3QmdOVjVaOVM2RGsxMEZF?=
 =?utf-8?B?cWVnZ3ZlbEwzYmxJSitCbHFoMmNFV1Q1L2ppcFo0QWtmSVYyN3BCd0VnRUVa?=
 =?utf-8?B?dGd5aEpmRkZheEI5QS9rRG56TElVZ1BUYXpEVWdEcWlEdHlkWUVvQW9SbXBv?=
 =?utf-8?B?ai8vNExxeE1HSWttNU1kLzc4UC84VDVuOVhVejFqQTgremZtb1g2QXlueFNL?=
 =?utf-8?B?MmhTdVM4aFZQdDlWVyt4dWxrSlNJR1VzS3BvTHpETDFhZ0tHVTYxQmtnalRs?=
 =?utf-8?B?aklEWEVyWFk3YXl4ejY3ZGRPWVJOellFdXZUR0UwMFpEaEZOTlpLL0ZySHFt?=
 =?utf-8?B?WlNwNWE1aTBBczFMZk1YMnpjMVZ1TGZjN1Q5aFhnVXZCU0U1a0pNYVdlaTBH?=
 =?utf-8?B?UXZZWWhNdXErU2JhU3drdUdFRC8xcml5QzBXWVI4VkNYZnBtYjlxVjFlekFu?=
 =?utf-8?B?ZEJDL2JpczNNQXlscDFQYTFicTVmbXRIc3BLMFJVZ2o1c2hyWUxyWlhKM1FI?=
 =?utf-8?B?NmFRQ0I1OXVBNlVCVVJJTVdDNndFUEsybXJWaG1vNzVJNkU1NXFtamx0YzY2?=
 =?utf-8?B?TGEyMlRyem0rMzRlZFpqbmlIRnUxczZQV1ZXQ1psQkNtYkdwNWsxVUVwanVM?=
 =?utf-8?Q?VcJnEtOIv/kRLIomlO88MW7kCo7cEUUm?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR03MB7015.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?K1VzZmJLajVMQ21ESDhJalVsTXI4N0N5R3VRY21Zb1NSNnR2T0s0eUpLUFVa?=
 =?utf-8?B?VDNhQW05WkYxVmtyeTRuZ1I2UGI0UTZ4RC9zVmJ6MjZSeDkxMnFvRnhzNmtz?=
 =?utf-8?B?eDRMa00wbUJ5TVAzcXZMM2VoRjlTR3JqQjFuNDBCaXBtdHpLbmxUeW01R0Ft?=
 =?utf-8?B?TXN5RjlwZWZoQkVpd1VkcVZ5RVNKKzFPNlBpMlc0SVQ5anhKcmxpOTVSdWU5?=
 =?utf-8?B?elJuY3FTWmxkd0E5TzdzOStmblJ3Vkp1WVd3ODdmcDYrN2t2NzFvMTJRRzN3?=
 =?utf-8?B?SkRKOXdTSFh2d2RJOUVsTXF2VjdVYW01YUFIZTIrV3k1REdxaHBiOE94TVd5?=
 =?utf-8?B?VEkvQ1VDYmo4MTBpQ1VnRS9vYlBQVklISTRBNXFQbld5cWIySDBVOElqYzFT?=
 =?utf-8?B?MkxMbVR5dGJRODZyaDBZSXRmVnBHaHdUdmExYjE1NkxIVnFyMWxxcVZIYmEy?=
 =?utf-8?B?aU9rL0NBWVJCMmR6U3VweWQrSWVIWUMyQ3lsaHBEWGVwL0dKYVdoK0pNOFpq?=
 =?utf-8?B?UnBRWmpMbkpSYmRaRlBnaEw0eDQ3TjdSbUNNd3c1MGhzZ0p1K3BpOWloc1Fz?=
 =?utf-8?B?VVkrOUJkSFZrN3AzK0kvOEdpYjR4WTk2eVNvRjlva3RTY1lCSmtFVVJjcmoy?=
 =?utf-8?B?ZmNqRFJzQU1mYVcrS0VqUEpyVUhIeHVnbDZxTW13eWZaQXJwcGVzbjlwZXhi?=
 =?utf-8?B?MUtCS3ZEM0dWUG1mbWVrTUZ4TDNYY01PTWY1NG5NRkVXZGFNSElOaW5acjhQ?=
 =?utf-8?B?ZVF3MWxOMm1hanhkZU9KdTNyNjMxNHNRaE9FL0hteUMwRllNSkVEbGJSSnJ6?=
 =?utf-8?B?K2dQeVBCMVNZTWs4dEs3MnNKbE5oSVVkTGxKSEx1Z3FkVld0Z1ZFQUZVUmZz?=
 =?utf-8?B?c2lIakxkdjVHVzVCWXFNWmNScGM4cUxBeWRUaWplbS9yNDBHWENzaDZtL0cx?=
 =?utf-8?B?TnI3NEpPdEtBUHc3eEgrT1lkYm5UZEt6ZnpIUEs1TlpxVVhVeXI4OVplUlli?=
 =?utf-8?B?ZFZsb2tCdDhTL3B5NUZHSlhyWlBoSUtKQndvb2hyTW5zdWdlMXoyTDlpZTNm?=
 =?utf-8?B?d0tISk0wMkVML0dqRVVZVm5JdGtMaEtFYUp1ZzdUTTVmVmo2eFRzK1ltQlV4?=
 =?utf-8?B?TEx5Q2x6VGdvZU5hVlRZNERqS2ZCTytybTYwaXNIVDJXenFFTTRFcHlwRDJs?=
 =?utf-8?B?NVNyelJTSnpJZmFtTXpzN3Q2L1YxZ280cXJKOGRxSy9BM1Z1M0JGQXZkbFZG?=
 =?utf-8?B?ckVVaEVVUlBMY3N4elRyL1FQY1hoNXo0dU03RjZLbGh4c1UzMndlV1NGS0E5?=
 =?utf-8?B?Z1JveUtENFJFTUxRQTRGa043OVJ0VVF1L3hYODFMbkdvcWN2MlRmYXBQT1dh?=
 =?utf-8?B?UmhJOHB3LytnL2t3RDI1aS9ibHNUeWRTMVQ0RUdwbXRLRnJ5Q25zS1c1UXRs?=
 =?utf-8?B?a2hmanp0c3h1dXJFOGRtYXN6b3lQWVR1eWdMVDcwRi8xOHBRbUthcUhjcEFN?=
 =?utf-8?B?a2grYm4xMkZWOGRpYVI2eWVqT3JZSldHMk9ENURsak9pTGdXVXpWY0JBcUJn?=
 =?utf-8?B?RzZ3ZFRqU1lESGJjOEJ1WlRSczUzMHlGcU9NNDQzZkNKcW1hUHpvWVRhUmhC?=
 =?utf-8?B?YW5TanRYWlpvaVRnK3ZtOURGQzQ2b29VMEJ5QlRQYjNzUE1BUStaUmE3SFlN?=
 =?utf-8?B?TjRFSG81d2dIREJwMFBCU1g5VHpsQlFBNWRSTDJ6UjZDTktkbGhBaHpxYUlp?=
 =?utf-8?B?WmM3dmZPOWV1ck9oVEtVcFRQN3FvajJKU2x6bWltaHQrUkxWdzVWd09jTlhP?=
 =?utf-8?B?M0gzdzZGdktHMEU0ak9mMXd2UmdQUG1xaFhKN3lPQ1NETThSejBkdWtaVnd5?=
 =?utf-8?B?ZElzOHRpY3VUQlF6YlUzd2NPeEpnQkZzdlZGK3BQRHpScWlkVmUzbUNobVcz?=
 =?utf-8?B?ZmRKcWJ5T3o3dFlLRjZlMjFSSjFUQngzaXBML0loM201S1lrSUxiRVBJUjFD?=
 =?utf-8?B?STVYMjZtR1RXRys0U0ZoRW0ySWZlcThVNnlTQWNyWXkyWlR1ZWJHQXE0cTFl?=
 =?utf-8?B?T0VmSHc4MTRlR0pYaUExZC80NnV2cU1ZSHIrbmRQaVVOR1lsOFJHbGFMRGlm?=
 =?utf-8?B?WElsMlRYRU1SaExLb0ZJNnh0bzQ2TVczdUlJMXFiY1lCby9kbmJPb21heFho?=
 =?utf-8?B?Zmc9PQ==?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fe3bf8e6-a358-4bbf-d8be-08de1328475a
X-MS-Exchange-CrossTenant-AuthSource: DM4PR03MB7015.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Oct 2025 18:08:05.2921
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 8YlsgaYW5n+tvaSaiCzx21s0nX3RfHwHSFGKAeA6pD4Rnsys9QZGKVGf4qm4I3jGnRmUQc170Us6ZRKd7sD9o3Wos1TEvy9h0y30UIFhusk=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR03MB5281

On 24/10/2025 5:20 pm, Ross Lagerwall wrote:
> If nested vCPU initialization fails, cleanup the allocated memory since
> it is no longer handled by the caller.
>
> Fixes: c47984aabead ("nvmx: implement support for MSR bitmaps")
> Fixes: f5bdb4aaa165 ("x86/hvm: Obsolete the use of HVM_PARAM_NESTEDHVM")
> Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>

AFAICT, this is because of hvm_vcpu_initialise() not calling
nestedhvm_vcpu_destroy() if nestedhvm_vcpu_initialise() fails?

I think this is an improvement in the short term, but we really need to
fix our object lifecycle.Â  Relatedly, I should dust off the fault-ttl
series because it would be able to find this failure automatically.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Oct 24 18:41:28 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Oct 2025 18:41:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1150792.1481790 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCMj4-00017N-8E; Fri, 24 Oct 2025 18:41:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1150792.1481790; Fri, 24 Oct 2025 18:41:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCMj4-00017G-5W; Fri, 24 Oct 2025 18:41:22 +0000
Received: by outflank-mailman (input) for mailman id 1150792;
 Fri, 24 Oct 2025 18:41:21 +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
 <SRS0=lOOD=5B=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1vCMj2-000178-S0
 for xen-devel@lists.xenproject.org; Fri, 24 Oct 2025 18:41:20 +0000
Received: from CO1PR03CU002.outbound.protection.outlook.com
 (mail-westus2azlp170100005.outbound.protection.outlook.com
 [2a01:111:f403:c005::5])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fc78398f-b108-11f0-980a-7dc792cee155;
 Fri, 24 Oct 2025 20:41:01 +0200 (CEST)
Received: from SJ0P220CA0003.NAMP220.PROD.OUTLOOK.COM (2603:10b6:a03:41b::34)
 by DM4PR12MB7551.namprd12.prod.outlook.com (2603:10b6:8:10d::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.13; Fri, 24 Oct
 2025 18:40:57 +0000
Received: from MWH0EPF000A6731.namprd04.prod.outlook.com
 (2603:10b6:a03:41b:cafe::9b) by SJ0P220CA0003.outlook.office365.com
 (2603:10b6:a03:41b::34) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9253.13 via Frontend Transport; Fri,
 24 Oct 2025 18:40:43 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 MWH0EPF000A6731.mail.protection.outlook.com (10.167.249.23) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9253.7 via Frontend Transport; Fri, 24 Oct 2025 18:40:56 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.2.2562.17; Fri, 24 Oct
 2025 11:40:54 -0700
Received: from satlexmb08.amd.com (10.181.42.217) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 24 Oct
 2025 13:40:54 -0500
Received: from [172.21.152.226] (10.180.168.240) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.17 via Frontend
 Transport; Fri, 24 Oct 2025 11:40:53 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fc78398f-b108-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Wn2TbGIWvGnAh5Sgp3nQQGNjV6+XIZ9Yosby4kWYSikGvOazt1w2FAoDC1RHiqmMllMYQpv4JDmmDisLUwxbL58craIRItrjl9vz715UV/Z2VrlV5sXi4SYGryqprHisNTRdx9P+TPIZR8KkO1USJZZ/XWDa2fvVlB6bK3J/0xw/Z+RBCrlBW0n5wl9mQi1R0SZEbNisHDGxxqwzjnOIaQimAtq13ELuzD8t99D8J5/d1YlQDGxS3jThm/BuTHoZeWBZGG3GoCowyIdMPj2VzCJiA2A3Ns8ZBgcReUXouNgPFvRQU+MqAIQXDkCYNupSE3hF4XWY7vJpw1WSLip4ZQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=azMy5Xm2ACUGY/+rJ9kbJ2jgnTVd7ULOB2HUNSftaik=;
 b=GBjcEiNcdLDtRhDU7tLg1BRmt/NqAGEqZQnMEfCB9CQpiFqtN6wAPn5nNpOCTHLgvQaXMggbMR4UEP3n/LVv7/MAmQdh8Q5EEqYFfGYkaMubnIcivZYgY8DthYg2qfrYvmH7Ra4GEyNlzPIn66V7KimBjh/50cYifjDAY+ybzSveu0VpySkpnxKxKIAPpTWHvdcf1a45nUGRHGDrvZJvEKIczxtfnjRMR54VYGmAm4xWyFQmXYYK4utEO0dxptHYLLGKCsRFXCT1dUrxko3fOKkwgcwuaicRF0qLKjMkteR3WeFujYP0PyW2+X9P/WMmXkKJZo36A9RyV4I9O4I7sw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=epam.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=azMy5Xm2ACUGY/+rJ9kbJ2jgnTVd7ULOB2HUNSftaik=;
 b=hy66ijzc0MxV/v70nZmKTBFD6c+tNvFpdUyeGIzuBAoJwDM/MKrcysA0VC8WdiEM6yRcJtsJxYEjmEvzKS2l2FrxzZlO7slq+nsdloGE6th9k+oAiYiFxDtjVzqQDhmMomlh5ujio2a0fv0u/ad73s8GeGGk/BSLCm2Jag+QHgQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
Message-ID: <94ab0a1b-63ce-41e5-9cf8-54fda5f3b6c9@amd.com>
Date: Fri, 24 Oct 2025 14:40:53 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN][PATCH] x86/hvm: vpt: make hvm_set_guest_time() static
To: Grygorii Strashko <grygorii_strashko@epam.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
	<roger.pau@citrix.com>
References: <20251023150541.556368-1-grygorii_strashko@epam.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <20251023150541.556368-1-grygorii_strashko@epam.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MWH0EPF000A6731:EE_|DM4PR12MB7551:EE_
X-MS-Office365-Filtering-Correlation-Id: c553a3b3-e4fc-41c0-9918-08de132cde90
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|36860700013|376014|1800799024|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?VjJ2dDVablJHWmg3MWFQYUEybElNbFlrQTN5TWVhNWtJeVQ0YmlUSFpVaHdv?=
 =?utf-8?B?RHhBakh1OFVrU01Mc1pWdkVHNE9FeEdHdVA5MFVPaytxMWppR3laRzZBR1lN?=
 =?utf-8?B?RXZoQ1JIcE4yczc4LzVKMEpHRHMwQkVGN3h2RVZWY2psejlHNmFRYVNseXhC?=
 =?utf-8?B?Q3pEckE1bHRwZkxSbG5NMER6ZTRTak1lMGxqTFIvK0U0ck9EelduZzVPaDFw?=
 =?utf-8?B?SjRiZnFQV0RsTWJCZXd3ZkFTckhIOUVQUU92dUdNeVB3T0ZjNml5WFYwbmdE?=
 =?utf-8?B?RW9ieUg2TTlIN1BBQU1KODJMakI4dTBEaFVwK1FReUwxR1JOUHRtYXhiOTZI?=
 =?utf-8?B?aktWTmVxenlqbk9YdXZFK09mZk82Z3pENE5xSTg5Si8yREpOWUMvT3RpdHZr?=
 =?utf-8?B?WjFLVG55TmJORStkenIxTGpRTGxMRVczZ3RFQzMyMk96aGtoNnVnZzZ0VTVy?=
 =?utf-8?B?QmY0LzZ5bUFRTzJneEdTazBoQm1wL2tQM3NPbXkrL2U3cDJYQWNDbGh2UVBn?=
 =?utf-8?B?ZEdNdXRRZ1Jrb21kR05qbm52a1JyOWVwT2w5Yng3Z3MyQmYwb3dJRzVZeXd0?=
 =?utf-8?B?amNZbVVHN0Jrb0E4UzZDWlhXTVlRaWU0SFAxZEY2UlNCTlYxa1k3dlk0MzRi?=
 =?utf-8?B?WlBGTC9ycEZBR2k4bkFiLzF6bVk0Mjlrak9xM3dNa05KNXZ3U0hkUmh6am1S?=
 =?utf-8?B?MEV3SjY2TnNIZUlZUldxbVRMZFlMZURGK3I3TVhkd1dQUzYyQXlLRFlXQk1s?=
 =?utf-8?B?VlRNL0JzYWtCSW5WcEJkTzllMDJWaENoaUdUR1JWamtsM2F1bksvY1NZVFhw?=
 =?utf-8?B?ZWtTeUZsQzlpYUNwL0pNb2E4VXFPdm9IeWRjL1FzemE3YWMyTjI0czUrTzYx?=
 =?utf-8?B?ZWxOM2pycUJhaVpXaHBNdmFhWGE1clRLNU5KZG5kaGY0OVFyVWxraWFCWk9h?=
 =?utf-8?B?NGN3Y0xUUzZnSU56OG9BVFFyeVJtTnJESU1oQ3o2NkFJN0FTN2t5NE5LTWdF?=
 =?utf-8?B?UGdhV0NRaXFnbTVjZFdTckkvUkFkaHAra2VVNjFtSHJkM201TUEyM241RGpa?=
 =?utf-8?B?bHRwTlk3QlNaZE1QdE5UWmduc0hYR3ZvKy9ld0ZYUHAzbERLSGh1WERmYW1n?=
 =?utf-8?B?Y2dhWXE4TDhVQkVxWmRSbjI3b3c1clQxRHdseDUvZ0lHblpOS3dZdXh6eGpz?=
 =?utf-8?B?bHB6MTFHTUx0RHdOelVyaEh2QW9xZ2s1dlR5bkJZcko3Z2RoYU9Ncm1IZkJ5?=
 =?utf-8?B?Vnl0T2VORGsveFlkczI0dVJEUHRIY0E3NGVXc1RFYXJWSlNKNjg0VndvckNp?=
 =?utf-8?B?RWxWaDEweXpRczlIMm01cUlCQWI0dVZzWE5EK3hCUitMbWhIeWsvN2FLaGVn?=
 =?utf-8?B?MURyVVFiSVVCZ2ZrZGNpM2FhZENqV1JLY2pNdXh0Y3I0K0dHYWNMdGdzOWRo?=
 =?utf-8?B?Q1NJOHltUGlmYTRlYmNvSnhPWXRBZFlFZVFBdEg3MXpwWWhwVExsdnRteHdZ?=
 =?utf-8?B?UFZ0SUxISWpJeW5EVXNYbTRXTEl3c0pwcTdlQnBzOU50eFNBRTJnSVJqclFt?=
 =?utf-8?B?VFcvV3laYm9qOXE4RklsWGczLzFWbDFTSVRwaFlGVWJEU3pEOGkxdnJRdFdh?=
 =?utf-8?B?RzRKRXJJNGxHZ0NjQU1GNjVISDJLVHVWNDR5TlBvUDZKUGY3NlRPSUsvdjVx?=
 =?utf-8?B?ODcrSlFEWGNGL3Vaa1lFMFB3dis2ZG0rd3lqajNIdy9zOEhXZHVrb0JSUUZH?=
 =?utf-8?B?N0xKU0U0TjF0OTRCYUg1QTVlUzdGdWNiZ1FJTG1hdmVLYjVlbjlkN2xYeWY2?=
 =?utf-8?B?ME93ZUlkVUYwZCt6bUF1bXNnaVI5TVNFR25MSER3YTBBNzNKQTlJKzduaHR4?=
 =?utf-8?B?cTdqUFpPdFkyTlNJejlkRG4wZE16NHIreVpmczBJQUk0QjAyMmp4NjhranNu?=
 =?utf-8?B?em1zN3RNdFBUMnhoRHhXVkFvTkdoSVE4MFQ2UEx0K1FPTm1pS3QyZFBMdWVn?=
 =?utf-8?B?M0xidzdaeFVlc1JuU3BlczVOVVBienFINTlSTnFqS0c4T2E3Z2s5R1RIL0oz?=
 =?utf-8?B?SHZaZ3M5Z1ZlMEhHV3lmd1ErVjk3eHJnS0ZZZkpLc2RZd3BaZW5xT2VaNENL?=
 =?utf-8?Q?dZdg=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(36860700013)(376014)(1800799024)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Oct 2025 18:40:56.5337
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c553a3b3-e4fc-41c0-9918-08de132cde90
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	MWH0EPF000A6731.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB7551

On 2025-10-23 11:05, Grygorii Strashko wrote:
> From: Grygorii Strashko <grygorii_strashko@epam.com>
> 
> The hvm_set_guest_time() is used only inside vpt.c, so make it static.
> 
> Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>

Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>


From xen-devel-bounces@lists.xenproject.org Fri Oct 24 18:42:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Oct 2025 18:42:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1150801.1481800 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCMk5-0001az-Gp; Fri, 24 Oct 2025 18:42:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1150801.1481800; Fri, 24 Oct 2025 18:42:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCMk5-0001aq-E6; Fri, 24 Oct 2025 18:42:25 +0000
Received: by outflank-mailman (input) for mailman id 1150801;
 Fri, 24 Oct 2025 18:42:24 +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
 <SRS0=0w6I=5B=citrix.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1vCMk4-0001Ng-84
 for xen-devel@lists.xenproject.org; Fri, 24 Oct 2025 18:42:24 +0000
Received: from BL0PR03CU003.outbound.protection.outlook.com
 (mail-eastusazlp170120007.outbound.protection.outlook.com
 [2a01:111:f403:c101::7])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2d8ea93d-b109-11f0-9d16-b5c5bf9af7f9;
 Fri, 24 Oct 2025 20:42:23 +0200 (CEST)
Received: from DM4PR03MB7015.namprd03.prod.outlook.com (2603:10b6:8:42::8) by
 CH7PR03MB7788.namprd03.prod.outlook.com (2603:10b6:610:251::9) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9253.13; Fri, 24 Oct 2025 18:42:19 +0000
Received: from DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9]) by DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9%3]) with mapi id 15.20.9253.011; Fri, 24 Oct 2025
 18:42:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2d8ea93d-b109-11f0-9d16-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Kc9IRSwX6zSkjkkzIy0CfdHhe+5BOyUcFYeitL6+bqJh9fuKIIh2OPAUV5VqD3UrqFrpo2+6sVbHb2JIJaVH2+oP1HkE/rSs5E7EsZKFLDK0nVTdh6o1H0IXCTdj/tNcvKtIq72h8WGh8M52Fz/A/XVhUnEgjjdGkfbdPQDq2NIK9T0ACbdsIEQ1+b04x949BcP+3ymNQW+DVVcRGaLyBKIaK8N/awJWmMTe/tPTEDehPSU2VlY/Ru1XGz4LfJTyhKP8JQwi0PhM9i6xTRJO/GUsTCU9UUl7TckCe0AoqRqvI5tOHDFzqF3SKQLbBRzpZzkJ7PZksGB0TBOnO66YEg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1vE1y6FNzT4pI7/8DOdPBsWCnWxSInWmP+RqtgYTDOQ=;
 b=dYt+8oOYOBm6sR8jWOHkt2Ojh/cpz5o2vA7Je0L91OnQjnT53DZNPih2GleckTdkw4fmX8EKD2f7F5YzhX34l1guP0vuW4j5xNtC8uVdZbqTuNTcDOWQnkMRHI5uqtUmkTKKc+PuLhnDPKHAvl5Ogd2/ZJqQHkQOkt9hTwoTE0QI7sYw62Dq7MfDMmZOL6/zI4HdOAoKnDHV0kqsFG1M6W0i72dOEIz7hRJPXJwCYfomMRvegJxZAlf8IgPRXjM0tsOyWG26Uxw42GCMyfzEngou1RTq8Kev0w846m0vFkGu0rRd6ye0iln0x3eFBxKmRCZpubhOejb7o05u78a7IA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1vE1y6FNzT4pI7/8DOdPBsWCnWxSInWmP+RqtgYTDOQ=;
 b=hFvyx6xmmCLrP7Z3TtFTHYmJGBsQs4m0vJsM9auUz19XcxFWK7AFaemmekQQIjqxxoVd0NyOxSJSM7A2LyFhqkMCJM9vVpZXQHIAXxRdGezHwigc12QuJSo+9CiXoOmL7dD7YxB4X4v0r8d60AHkMjtXFMyk5P1Ig5U17JEwz0M=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <88682de6-b736-4809-a29c-7add716abf6e@citrix.com>
Date: Fri, 24 Oct 2025 19:42:15 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN][PATCH] x86/hvm: vpt: make hvm_set_guest_time() static
To: Jason Andryuk <jason.andryuk@amd.com>,
 Grygorii Strashko <grygorii_strashko@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <20251023150541.556368-1-grygorii_strashko@epam.com>
 <94ab0a1b-63ce-41e5-9cf8-54fda5f3b6c9@amd.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <94ab0a1b-63ce-41e5-9cf8-54fda5f3b6c9@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P265CA0137.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2c4::15) To DM4PR03MB7015.namprd03.prod.outlook.com
 (2603:10b6:8:42::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM4PR03MB7015:EE_|CH7PR03MB7788:EE_
X-MS-Office365-Filtering-Correlation-Id: bd793c24-93f1-477f-3817-08de132d0f5a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?ai8zbS92cmJjWEhGRG9TZlZJb29Gd3M5bkRPZit5Y0NSMkRjQ1ZaY1pJU2F2?=
 =?utf-8?B?RldhT282MllabklwVEorcUtiVVRtdXdOMkcxWm5vdlBpOXRST2dKRFFTRHE2?=
 =?utf-8?B?cXJCUzB4TkZuQ2JTMXRjaWh0ck5KUG54Sms5dk1vTGNobzRqNXYvalR2Nk5h?=
 =?utf-8?B?NjZCRzBqMVdJMkJ3ZDkrY1BUSU9pMkNUSk1nRFJvSVVlU2poSmozN2FpOVho?=
 =?utf-8?B?Z1FGRTFuTWhSRjBkMjFCU1kzSHpYZlNXTjk5TXV0VXJxL2hEa1hxcjdGL1VC?=
 =?utf-8?B?NEIzMHpIdjlwU3BBMU56V2U5dmgzTzRRdGRXVlltYWNmNGkxUElEWlh4NUdE?=
 =?utf-8?B?OFlJUFVoRE5rNlFQU2JscmF4eTcrM1pkbS95QjhpTDlHZ3VQN2ZsTWdNeUQ5?=
 =?utf-8?B?R0lqcDZrZVB6VjNRZWZFTmpXTTNYZ00wWEVUYkh2bDlocCtBVU5aVG9NNjFN?=
 =?utf-8?B?SWx6cnVwbG82anhWSURHU2NwTHk0Y2hiVjNab25qWGd3MEZZSXhYUCtMcDVW?=
 =?utf-8?B?a3h1UU1iem9XSU9kZjB2cU1aNnNVYnJDUHlSbHAwZkM4RmdDazZpZ3JWVlQy?=
 =?utf-8?B?WlZwUW9oNWM1UElBekREbmttSTlLdkFlQXRMa0RjK09LZjQ0T1RQNWs4OHBm?=
 =?utf-8?B?Y05ENlRCZHN6d0pWYVdmbW44dGQxQzFHUEFmSEZQRWJBcFBQYjBIbEpRQlVq?=
 =?utf-8?B?SmVWWWkwQ0VTS0pXUFBPTGMrVk5ycjE4ZTNvZCthUmhQSDI1WjE4Y0U0ODJU?=
 =?utf-8?B?OWduS0lvbHh3VVJXRlVDMVVJWXZSQ3U4dFJBS0dtTkYyVDlaTnFyT3o1MVg3?=
 =?utf-8?B?ekMvckRKem9KamlLSkY1ZHJ6Skl2RkpoNmUyMjIxdGpHU2pJZzBUVlZMR2F3?=
 =?utf-8?B?QWhpMUJuMXI0NENpejJqZEM5VW9sbVBMR1dDZUpDQnpXSTR0MHNhZFA0ZGFR?=
 =?utf-8?B?bVU0c3k4R0w4OG5EQTQrMEdhbStrYUdNMSt2alVUa1EyMC9uTzBnRSs0aExT?=
 =?utf-8?B?OThtRzB5SHR6K0IwcU82L00vS2w5Q3lSUExqaTh6K3IzcXp5WlVWa3dsMzJw?=
 =?utf-8?B?Y3FYVVZKZGo3ZzJNNWlveE9WWjB1RzNTTE5FYUUzTnJQUGdEYVVKU0VOd0JI?=
 =?utf-8?B?dTF5YnZtMndXcHJyeGFPS2tQT2hNcEZKcFpnUlE2dHo4Zmpia0I3NjlvaWdj?=
 =?utf-8?B?dTlMdE4zbElVUFQxSitPV1gyK2xaaDZSMWJvZTJIOFcrZXZDell0UytmWGZD?=
 =?utf-8?B?R2ZMMmZ6YWwwVUNmUjgyWG5PV0pzY3A0bjV3eUsrK2lpMGlpcjRQTzUrT1Y5?=
 =?utf-8?B?bWlPYlk1RU81NnBZUzM4Z0I0amtHanZDYVpjZlJiOGJxMHplVVNmWWoxZFZW?=
 =?utf-8?B?SEM4aWlaRnMvZzhadmJUM1Bucno1ODZ0QW9rNXlJdmxjVTRPSHFkRlYyOWxo?=
 =?utf-8?B?UE5jZXVrVUpQSTJiK3RXN2VQRW9zbE1rOWpBTVMrL1NpWTJyTkxQNjNURmxa?=
 =?utf-8?B?Zm41TjFVL2ZzaEYyMm5hNGJyVERDSGtqSkpxaHRYQ1BValRqMEJhSDBUdG9V?=
 =?utf-8?B?ZVZNQXM3a3ZmL1N4azhMcGRPU0pLd2JkbVFhaW9iMjVYYmdSdzR1NTQvbUIv?=
 =?utf-8?B?ekwzalJ6M2pQbVdtUklpQk9CTWNsWEVvcnRUTnNnbXVHN1hKSHJRbEVsTUVs?=
 =?utf-8?B?UWVlbEJZd0lybm90ajA5cHJ6cnUwS0dDWUliMURISXc5ZnByUHRBMTMyMk14?=
 =?utf-8?B?UDViZFkyaUdGUUxqekk4cW9FQWI4SHljU3JsbzlpK3dndTVhbTVuV2RzMmNP?=
 =?utf-8?B?akxCeHlwT0pXdys4T2VydkRiRTJ3bUFNcysvQ2pZV0VKU0pYQlhwTHV3OUJo?=
 =?utf-8?B?eDlqZFRJc0ZWWkpMenU4U1drR0RCS1NHalpqcUFseFZYellPbDFRbWhxZUU4?=
 =?utf-8?Q?JoZENe//1kzb7essB4Q8bFl+FWggRs1f?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR03MB7015.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YmtuTk1aeVMyVDIxZ1ZBUEd4aDhoMkxqWG5zek5rUnBjcWtwSkxpdll0Y1A5?=
 =?utf-8?B?bnZBK0JQSkp0dlBKOFU0b3VFN0JrNGhFMW1Nd1k1N3Z6VDBDUnZ1VG9sVmpY?=
 =?utf-8?B?VUdETEJIWkwxVURoNzZXTGo2QXV5MXdwNEkwT0EvaWNwUGE0dHVhUWNuTm5r?=
 =?utf-8?B?NEZnejRtU0lFbnBra0Z2NWp2VDFmOVZML0dkY2h0OUUzREQzVnRTSnRENnJX?=
 =?utf-8?B?ZGZJTzdXY0pUM2N2U3JjL3JYZWF6TXNId1RsSXVSZmRGUUFua2RTMUh1Vm4v?=
 =?utf-8?B?QnlyRFZZTW9kOEg4N3Y2bTlBdkY3YkFyUGsxdllVY0ZpWDc1Z3NiNy9maVpv?=
 =?utf-8?B?V0FiWnlrUEhhalZLVC9aVzVsNXp6VjY2RmQ2UTh2dkR3dHNTL1ZtaEJyTVpU?=
 =?utf-8?B?bGNabVdTWWZMTFlaa28renY2MEFqcExGNEtnR25ZWmxkeDc2S2VrV1V3eVpi?=
 =?utf-8?B?dEVPMmFLRXVnQjN2eDdXcWFodlNsd09FbCtlVWgyQ2JnVzBkWSsrN1ZwOTM5?=
 =?utf-8?B?RkMzMGhmMVIrNnF2MGtEbGZJN2ZCQlFIbllkcm9sanU4WS9tME10dVVLTmI5?=
 =?utf-8?B?Qk82SFZoZ2NwRExueWlVaDREKzlFcjBXdmh0d0RXVzdvL1VLb0pWY3RNM29t?=
 =?utf-8?B?ZDZQOWUrTm1PVlJya2NRT0srMzRCd0hQZDRZVS9GTE9IbzRHK3l0TXpiUjM5?=
 =?utf-8?B?dkliaURoZHZ0bEZqeEpISS9DbHNHWXdtSjhRNzU2NUxsVEtrM3RCQXdDWFZS?=
 =?utf-8?B?RUxxRlNhTHlTZmNoSTdRYjhjZlV2YTlGQVZXRUQ2Vk1TdFIwRlFybnpSWmJH?=
 =?utf-8?B?NVUzSHVCM3k5aEt0Ri9jSUxFeHJFbDY1SzdZOWJwYzlCOFNURWxYaTMyK080?=
 =?utf-8?B?UG5RS0grZWwxSHEyYlp0Q0JHZWJwVVRmU3U4bEkwWmh4WnJsbEZ1V0FaalFx?=
 =?utf-8?B?dHNrYUs0b3RlaElOOGZXcHdLeUYzRU54NkZXdlZFcmZSWXNWTWo5VHpWNXZH?=
 =?utf-8?B?YlZ0b0FvdkRVODZCWTZidW5qRHNvaDZJZ3BFMVZsMnhJYS93RWNITTF0MWxS?=
 =?utf-8?B?dndTUlBFNEFXcHlpMzJtci9EMUtaRmV1ZGpZQmUrS2ZNdEV0azNMTjFMOW9D?=
 =?utf-8?B?TXFTbnN1bHVrVmRDZCtPWldGUmh5VUs5VzREM2crOHhKTTBnUjlZT0xvM2Nm?=
 =?utf-8?B?emx1MHI5dmJlVlFnZmJXa2Z6L2V3THJLbW1XWUVMRllCMTBlNnBrV2kxZGt6?=
 =?utf-8?B?a0FEWjlwTkpZTitFZWlJSGl3N1FMWGZUOUpqU0RVcjJRdHlWWG50MjgySTFB?=
 =?utf-8?B?ZWV5QWp6NmN4T0xnZmFxL2xhalRZbGRxenJ3bDBTNlZHTUpFalIzSEhlTU4r?=
 =?utf-8?B?QjBxeFVMUkFYRitweFBkMjRHQjRzaFNPRks0ZjcxeWNUNUNncmE5d2VwZDRR?=
 =?utf-8?B?SWVOaXRkM2Y2Y3IzbHlsQlhOY3ByaW4ySG8rVWpFKzd3Wm96WU45N1ZWdSsw?=
 =?utf-8?B?UjdwdU5Zd3RFSXFueHZncUJzdzREblE5dDN5NlJja0dFMk5ieml3bnhyTnQz?=
 =?utf-8?B?YzdnZGVyWHJOQm44RTgxYUs5Sk9Oek80Z3hRVi9IZlN6ZFJFdEhnVlFSeEtt?=
 =?utf-8?B?bmxYV01ybVBHdUducGxVRnByODZNV2FGc1V3WEY2a3c4d2FFcG1XSTlORXR4?=
 =?utf-8?B?emQxbnplL1ZGb0JEazkzTTBnMnlmanF1Vmd4bWwxVTdKNzZaMVJ3c2dKWC8z?=
 =?utf-8?B?b1Jld3h0OExoajFaSjZ0SU5zRGJDRGV4TGMrT2diTWc1ZDlhQ3BvVUlZWWdk?=
 =?utf-8?B?OGhnZFhhNml4NXVseTUwUTluMmxjSVdaZ2xNWHRPZ25RelpBM09NRDRWL3p4?=
 =?utf-8?B?NmV1R2pBYWlDOUh6K2VTdzNiTUl2aGhiNEViVVdWYzErNlpZdG90ZUxVMmVK?=
 =?utf-8?B?K3RLWmxzWm5KdzJSUEZObUdiUy9sWk54VFRPYjlNbi9GQjMzUUZvbHJ5aVVh?=
 =?utf-8?B?NUF3OGlNblVBVGhQVUQ1N2tvVkJlcUtEWXZDV1dzVlBPSmhXdVlmaGErSy9p?=
 =?utf-8?B?YWw3Rm91c0ZIYWhsVDQ5Rjl2bU11QmluZ1YyN1dvTTA4dmZ5WVhlaTc0VWJB?=
 =?utf-8?B?VmttYWtpN3ZOSUNVZWdDd3BScSs5STFxdFZ0MWFNc0ZhWVhQS1hHbFJZWHlU?=
 =?utf-8?B?aXc9PQ==?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bd793c24-93f1-477f-3817-08de132d0f5a
X-MS-Exchange-CrossTenant-AuthSource: DM4PR03MB7015.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Oct 2025 18:42:18.8386
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Ca/yOg08WhUc7aYfmV7pQNaCAisjyOh2ER4UYlQdpOaLaZbmelvJZtd7ocUUbgATfD6/RaPjMCABC2KOTJ/knQtJup8LZLcjcUNXJ6v4eH0=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH7PR03MB7788

On 24/10/2025 7:40 pm, Jason Andryuk wrote:
> On 2025-10-23 11:05, Grygorii Strashko wrote:
>> From: Grygorii Strashko <grygorii_strashko@epam.com>
>>
>> The hvm_set_guest_time() is used only inside vpt.c, so make it static.
>>
>> Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
>
> Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

Queued for 4.22.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Oct 24 18:55:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Oct 2025 18:55:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1150817.1481810 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCMwx-0003RQ-OC; Fri, 24 Oct 2025 18:55:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1150817.1481810; Fri, 24 Oct 2025 18:55:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCMwx-0003RJ-Le; Fri, 24 Oct 2025 18:55:43 +0000
Received: by outflank-mailman (input) for mailman id 1150817;
 Fri, 24 Oct 2025 18:55:42 +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
 <SRS0=lOOD=5B=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1vCMww-0003Pq-C7
 for xen-devel@lists.xenproject.org; Fri, 24 Oct 2025 18:55:42 +0000
Received: from CY3PR05CU001.outbound.protection.outlook.com
 (mail-westcentralusazlp170130007.outbound.protection.outlook.com
 [2a01:111:f403:c112::7])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 08a283b9-b10b-11f0-9d16-b5c5bf9af7f9;
 Fri, 24 Oct 2025 20:55:40 +0200 (CEST)
Received: from BN9PR03CA0521.namprd03.prod.outlook.com (2603:10b6:408:131::16)
 by DM4PR12MB6445.namprd12.prod.outlook.com (2603:10b6:8:bd::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.13; Fri, 24 Oct
 2025 18:55:36 +0000
Received: from BN1PEPF00005FFE.namprd05.prod.outlook.com
 (2603:10b6:408:131:cafe::52) by BN9PR03CA0521.outlook.office365.com
 (2603:10b6:408:131::16) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9253.13 via Frontend Transport; Fri,
 24 Oct 2025 18:55:36 +0000
Received: from satlexmb08.amd.com (165.204.84.17) by
 BN1PEPF00005FFE.mail.protection.outlook.com (10.167.243.230) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9253.7 via Frontend Transport; Fri, 24 Oct 2025 18:55:36 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.2.2562.17; Fri, 24 Oct
 2025 11:55:36 -0700
Received: from satlexmb07.amd.com (10.181.42.216) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 24 Oct
 2025 13:55:36 -0500
Received: from [172.21.152.226] (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.17 via Frontend
 Transport; Fri, 24 Oct 2025 11:55:35 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 08a283b9-b10b-11f0-9d16-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=OrhqbMBM48xO4eCFXG8EIpUIQNq3+QiZbdXdltBuVLWIfNMbJq7/o7uRn2E3XVQtUhSq0BZep2AhDED56/iQa6e+3PvPMKKefwJor/5Or0yqztmkqhmZbNw8xtXWfc9aYWdTsvGjxkcMXt4UmW7Kbq6pk0+ZHQBr478bsew+gN7fKveljuqYt1l5DQjKb8CH4Qjyv5I1G8UWH8HWS6zS1BmEV0UhHGJCo8PgYcsIIEttS4h9TveHupXNN7ZDk/ef5zGjLaqg3hs+FD/jswk5W+Cws03fetOl9aOOg1UOjrQVTlJN4kOlteStAmV1aFzc0mrbovn63QOtujI7rGpqFQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ibERSIjWiw3lqYXNt4HxNx1HOXMAhQLE2KkAnV79nkg=;
 b=DG+txKAuaRE+vb6tghO3xPTvchBnHeeAFJ4aD77nPQ9IZdRLUVKVWB4Ww5P36K1qgUn15LRcVbdiLG1zWJceh+OHJ2+DG8rNN1wzVkH4hlaBvilNZHIEjbDEfzWefje3L5xAdSkTFOV7KopOkwQALuwf2uJqegF5ZjVGe4OpzwBtHxqYiLHWSErdCawaqLFK7vrmq+mgvPAaWfySbTXF7rly7n1qGOIYGe61jlHhH1Cvjqk6hHjEwFz1RExIEnHwcSNo7mvbHQ63AE9OWjj4xD2Dqe/gX7nDyFZHMMaeKedThiC3JubYb6gepoBjI4yUDq0VfO2Gs+McuSpEBsdDgA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=epam.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ibERSIjWiw3lqYXNt4HxNx1HOXMAhQLE2KkAnV79nkg=;
 b=A3Xgmu9J6B9zXj0Mb8ni5odavinvv3RUtd4buKl9LC1du0ePuQAXpA34u4ZCNWLEQVHeWkWF5xVmc7b2G6MG0QJceg/umnmy1o+6wx+SUB30OK7jqTluCS2Lh0YprodG7Kja/1MY2XwLZZty3hzhTFtVrVutU8KGrkrDCqcol9M=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C
Message-ID: <cf7f5cad-06cb-4702-a10b-e0b087060fb3@amd.com>
Date: Fri, 24 Oct 2025 14:55:35 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN][PATCH v5] x86: make Viridian support optional
To: Grygorii Strashko <grygorii_strashko@epam.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Sergiy Kibrik <Sergiy_Kibrik@epam.com>, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
	<roger.pau@citrix.com>, Paul Durrant <paul@xen.org>
References: <20251023151807.560843-1-grygorii_strashko@epam.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <20251023151807.560843-1-grygorii_strashko@epam.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF00005FFE:EE_|DM4PR12MB6445:EE_
X-MS-Office365-Filtering-Correlation-Id: 6abdbbfb-4a4a-42c0-d173-08de132eeb0d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|376014|36860700013|1800799024|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?QVVuMkM2S0xFeWJoVXVXeGxJa3pIaEI5QngydnZSblltY0g5Y0VLYXM4VEZk?=
 =?utf-8?B?Y0dSYldmUDVZcTZibFR3SEpSL3Q0WnhnaTRKOWQ0UkZucFpsajNyZGkzNVZR?=
 =?utf-8?B?ckJIS1F4am4ydkVSMEZvR0FsNENOWTVsMEE0Wkw5TUp0WVgwSWd4Z1lCSVRR?=
 =?utf-8?B?eWlWby9YWU1LNlBXNkFoYlFqKy9NMyszRmxXekphc3owdEFXd2xsUkhzR3M0?=
 =?utf-8?B?UXRWaXY0SEtWVW4rajJsVDZTQTI2M1VqTGR5NTFJcTc1Z2pZZ0J6ajdkdFFt?=
 =?utf-8?B?ZjZqSmY4VkVxWVgwS1BaSy8ydjdKNC9yUkFoUjFEM3RVbkR3TnYrMzVtOWx3?=
 =?utf-8?B?NkhUZE55Nk5GMnFYU2FSakw4cGdQaTNaQ1hDRzlmUSswVkpWRXdYZXlDajZZ?=
 =?utf-8?B?bk9GajJtK1JSeG1PNklwbEUvQm9WQUFCZ0ZSRXgzL3dVdjd5UTNrRWJWeGFl?=
 =?utf-8?B?akVZME0vaWVLWHcxOHBLRHhLa2xhNHFiY3UveW9aOVhURmFnT3NkTE0rNzVT?=
 =?utf-8?B?SXJIbHUwbHlWUFRXbGF0N3EyOWZEZ3hUcG9wdTFzYWlBQUF5djdLTEdNM0Z1?=
 =?utf-8?B?TU9sVDJvNFU4ZW85UEZQMmxGdm1YbHBkTVViTDBMUlVjTWVKQlpGT2FCeVRk?=
 =?utf-8?B?cFJITWRoR1pBa0RnTkFJR0dqWGZ3NjY1OVhnTnhJQ2NWWkQ5ZUs4dTlGK2px?=
 =?utf-8?B?NDhFL0k1c2lzaXl4VXZCcFA0bVJyK0hJZ0RJcjdlTVhNNExvbjNuT2gwTGMv?=
 =?utf-8?B?aDhFbUtnUzI1dUVYSHdndVN6Q2JMWjJCWUhFYm5tZm5rOHFRNDlIU2RmT1A3?=
 =?utf-8?B?QkhlOFp2T1ZIYlpPRHhBaUp2ait6blpqTVBYSnZYaTZDT2R5S005UHcrak1r?=
 =?utf-8?B?NURkcEZWTFJ2VjNKZGthZEJMdVVvQ3F1aGUwY1JLRndLeFZORUVzTDBpYXBv?=
 =?utf-8?B?cGlEdnZvQ1pzbXJBclZObHcwRDYwR0NwRXhWa0NjMXFCU2V6UFFKNXROWlJW?=
 =?utf-8?B?N21sdm01bnNsNUgxa1Z1QmNpZGNxSFpjMHV1WmozNStnZGFIYTkwbFQwQnhp?=
 =?utf-8?B?SDFOVmRTR2xNTWlmTEk0RjRYZCswMkdNK053a205LzNkMkx2ZEJONWNkRkVh?=
 =?utf-8?B?eHJDNXZSaFVaeGUxekJnSkJXWFNoUmh2MS9rYjRYM2I5SlRML2wvcTYwT3d2?=
 =?utf-8?B?Y1dsTjhKK1lIUzVrV0ZEdWdsNnNzaVdLaWlnZWlUWHpidExZZTJ0TlpKVGZk?=
 =?utf-8?B?Y0JzZUdoYVR3MGFpUTJHMW9uM1dlcUc2VERKNk00WU5QdkNxc2xGRzJKdmJp?=
 =?utf-8?B?L29BQjlzM1FuUlkwUGx3VHkyNGNpUEQ1NzdRVGV5ZERWaWltWTBVTExwMjFp?=
 =?utf-8?B?ck92ajQzTHlsKy9ESVNzNEtDRHhQejdvN1JOVmRjcWdPelZqeE41bUJXMUVh?=
 =?utf-8?B?VGRqWlh1eXpkYzBYalpZcG8wZEpLQi94SGwxay9FYUZpMm83VVJuTzFDVkVy?=
 =?utf-8?B?QTc4VHVZbG0reGhsRkFVbVlEdjFMTGh3citJSE50eXc4aEdleHMzSnA4UTdM?=
 =?utf-8?B?SzBnMFl2a2tGbkJlWVVSQzJxMUNzVkp0ZWdpdWJIV1NhYklsRVJ2OFFKZWw5?=
 =?utf-8?B?Wm0vTUhXeUU5UHBJVjI3Vzd5cE83UVNZd1hNTU5iY2FZMDZkSktCcWw3RDRS?=
 =?utf-8?B?Y3FBQlM4WFNRQnA2WmxZc0l1NzZPZVZKOEpvLzFNdDMzVHFLQmhxQnFCK0xm?=
 =?utf-8?B?NWZiVTB1bXpxTUprbytPQVJ1TjVUbDB5cHNLK0Q2WGRtMFNUTnZtcU9ubXh3?=
 =?utf-8?B?MVJPQS9EMDdTcVBZV1ZsajVXZk8ySkNLcjhqcTNudi9YYXpYeElqL0luTUxY?=
 =?utf-8?B?NWFsdlhVSnBOUzZUZ09NUHRSL216a09kMndqVTEzK29mZXZkekIrU0IyeGYx?=
 =?utf-8?B?YTNPRnl4QVIxSzEzSXhMT1YxdGFHWGpLbXZVdXNsd2szdGJ4bTFFN2FrdEhw?=
 =?utf-8?B?ZFoxY2xpOHdCYTJtR2hPVGJMdCtHYnhKK1YzWEJTWHR1eXR4bC9IdW92NTBk?=
 =?utf-8?B?WW1qd0Q1Z1ZUTVA0OHcvbnhXekpQWVdLL0gvekk2WjIxdzBuaWx2QVhjZTcr?=
 =?utf-8?Q?SEPY=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(376014)(36860700013)(1800799024)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Oct 2025 18:55:36.5729
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6abdbbfb-4a4a-42c0-d173-08de132eeb0d
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN1PEPF00005FFE.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6445

On 2025-10-23 11:18, Grygorii Strashko wrote:
> From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
> 
> Add config option VIRIDIAN that covers viridian code within HVM.
> Calls to viridian functions guarded by is_viridian_domain() and related macros.
> Having this option may be beneficial by reducing code footprint for systems
> that are not using Hyper-V.
> 
> [grygorii_strashko@epam.com: fixed NULL pointer deref in
> viridian_save_domain_ctxt(); stub viridian_vcpu/domain_init/deinit()]
> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
> Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
> ---

> diff --git a/xen/arch/x86/hvm/viridian/viridian.c b/xen/arch/x86/hvm/viridian/viridian.c
> index f79cffcb3767..b935803700fd 100644
> --- a/xen/arch/x86/hvm/viridian/viridian.c
> +++ b/xen/arch/x86/hvm/viridian/viridian.c

> @@ -1153,6 +1156,9 @@ static int cf_check viridian_load_vcpu_ctxt(
>       struct vcpu *v;
>       struct hvm_viridian_vcpu_context ctxt;
>   
> +    if ( !is_viridian_domain(d) )
> +        return -EILSEQ;

Given:

  #define is_viridian_domain(d) \
     (IS_ENABLED(CONFIG_VIRIDIAN) && \
      is_hvm_domain(d) && (viridian_feature_mask(d) & HVMPV_base_freq))

CONFIG_VIRIDIAN=n is okay because of the IS_ENABLED.

For CONFIG_VIRIDIAN=y && a viridian domain, is HVM_PARAM_VIRIDIAN 
guaranteed to be loaded before viridian_load_vcpu_ctxt() is called, so 
that HVMPV_base_freq can be checked properly?  I don't know, but it 
seems a little fragile if this relies on implicit ordering.  Maybe just do:

if ( !IS_ENABLED(CONFIG_VIRIDIAN) )
     return -EILSEQ;

?

Everything else looks good.

Thanks,
Jason

> +
>       if ( vcpuid >= d->max_vcpus || (v = d->vcpu[vcpuid]) == NULL )
>       {
>           dprintk(XENLOG_G_ERR, "HVM restore: dom%d has no vcpu%u\n",



From xen-devel-bounces@lists.xenproject.org Fri Oct 24 18:57:13 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Oct 2025 18:57:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1150827.1481821 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCMyL-00045G-1i; Fri, 24 Oct 2025 18:57:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1150827.1481821; Fri, 24 Oct 2025 18:57:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCMyK-000459-VF; Fri, 24 Oct 2025 18:57:08 +0000
Received: by outflank-mailman (input) for mailman id 1150827;
 Fri, 24 Oct 2025 18:57:08 +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
 <SRS0=lOOD=5B=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1vCMyK-000451-3G
 for xen-devel@lists.xenproject.org; Fri, 24 Oct 2025 18:57:08 +0000
Received: from BL0PR03CU003.outbound.protection.outlook.com
 (mail-eastusazlp170120007.outbound.protection.outlook.com
 [2a01:111:f403:c101::7])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3c10580e-b10b-11f0-9d16-b5c5bf9af7f9;
 Fri, 24 Oct 2025 20:57:06 +0200 (CEST)
Received: from MW4PR03CA0281.namprd03.prod.outlook.com (2603:10b6:303:b5::16)
 by SA5PPF8BD1FB094.namprd12.prod.outlook.com
 (2603:10b6:80f:fc04::8d3) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.13; Fri, 24 Oct
 2025 18:57:03 +0000
Received: from MWH0EPF000A6730.namprd04.prod.outlook.com
 (2603:10b6:303:b5:cafe::dd) by MW4PR03CA0281.outlook.office365.com
 (2603:10b6:303:b5::16) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9253.12 via Frontend Transport; Fri,
 24 Oct 2025 18:57:03 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 MWH0EPF000A6730.mail.protection.outlook.com (10.167.249.22) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9253.7 via Frontend Transport; Fri, 24 Oct 2025 18:57:02 +0000
Received: from satlexmb10.amd.com (10.181.42.219) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Fri, 24 Oct
 2025 11:57:01 -0700
Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb10.amd.com
 (10.181.42.219) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Fri, 24 Oct
 2025 11:57:01 -0700
Received: from [172.21.152.226] (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.17 via Frontend
 Transport; Fri, 24 Oct 2025 11:57:00 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3c10580e-b10b-11f0-9d16-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=re7dF9kcPa+X2uQuxJPrsDzbCq1iyoBZWKRgeKRk+Fgx4huSCzXtTxV9XP6B2d3SeoI8J1SSGvLgTlUTe8wa9WN6hfvK7ZzCBaFWQHOm+vwQ8BzEv1QdwqDcWJ/yx/xfCQnNYCLKN37qD1II/s6ZP7ceQkgTVYKwU0mYy7uOM+L53AgbxZXeeaEHEs97JbGyIridc7hS1iC4/IZnzzB2+mDFRGRRs3bzqsFYOIzY11kevs+HcC1lPQekUd2kf35eSwvHvIGOYIqFFEca8WBrm5WnquCqcpAfX/JnzH86ojL9vZb+1ZKQdpFemR/Dr6AdftkEv9mLT1HjzAgbAF14+g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Zd7tZbzvmqgrEPzDypRJePt6QWP8hgz93pJrXN1EH+o=;
 b=b0BMeuXK0Anms2g4lOP8ucLdqVYQKHLRtcx/1hU632E3DjTewcW+BBR+Jj7s/MrYoxYqpHFXny4wAVZnlSccgBKK2yfkgHXEiXrnRJ76R5bKs0zilDERsxwKjtmDJCoBiNJX13sGzE7VZRUjTdjgSlsDVyb6Sm953fiVHjEJmJwm1sgtma/h510q+Nwl/2B/xr0kVNZsUCTOLqad0cBu1vGR2O9A7NqijMxsIry8vaGCBtGlupDuT5TsdtgIX0+Bh9vVph+ZpsCR/UKgM9DwjT1QKrtB8i5H0r+kjvr4JIhODsOF8ocDaCxrNtKI+wvn7bfHoM01GH9N8aC6UN1vog==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=epam.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Zd7tZbzvmqgrEPzDypRJePt6QWP8hgz93pJrXN1EH+o=;
 b=iHE4nfj5pmSPXY4vG6G6M7BzhLaPYRN9xutgCKZrplSttHRE9o+nYuj4Ke/9vvDiVhSbKUvqOQdIMM4/ymP9zt0d0a+z2uqWqk6Y6J9yRDocuIo6Fz07BXRnL/YG1zecXy3axk62ZXCQ4l732T6jWejIM65Jte8X6cbPJ2jVjyg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
Message-ID: <057f4722-114d-47ea-9c99-ad7ee0c6763a@amd.com>
Date: Fri, 24 Oct 2025 14:56:57 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN][PATCH] x86/hvm: move hvm_shadow_handle_cd() under
 CONFIG_INTEL_VMX ifdef
To: Grygorii Strashko <grygorii_strashko@epam.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
	<roger.pau@citrix.com>
References: <20251023151903.560947-1-grygorii_strashko@epam.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <20251023151903.560947-1-grygorii_strashko@epam.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MWH0EPF000A6730:EE_|SA5PPF8BD1FB094:EE_
X-MS-Office365-Filtering-Correlation-Id: df3a7787-ed31-419e-594b-08de132f1e94
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|376014|1800799024|36860700013|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?MVhZcC9sZGZ5ZWJMeWs1c1pJRDEyVllsaWRmQ0RuRWVYMzltbkthUVFubmpw?=
 =?utf-8?B?cEdLWXB2ZFk0RU5jbW9WakoxYmkwQlNYaG02elZPenUzWlZBbXR3bmMxemU4?=
 =?utf-8?B?NW5VNHZsSjdKWkh2N3pHdGRZSjN2cE5oaXJ4K09iRmlOVHBTc3M1Nm1xdzR0?=
 =?utf-8?B?V280TzZ6OGh3QkFxZTR0QTNvRkZvN1E2MkV5Ty9BNkI1ckJvUnJia1pQZGJK?=
 =?utf-8?B?ZU1IVFUrNERTZTltcTluQytac2FMVzFIb1F2RWRxYkZIejd0UkM4YWlOcWli?=
 =?utf-8?B?eXV6RXRQNzE5WE0vM1pUa09QaVFZRVJKNjlUN0NId3libE9Celh4OG1LcGo1?=
 =?utf-8?B?NTk1QmUzVDRrcG9LVHRoaE5qeVFmVlFBMHdjMm5sZGdQVHptUHJFRUFmZGor?=
 =?utf-8?B?SktLVmkrTGtQUll1RE8wWmlHVFNMY3VheHZxNzZGckpYUWtVYnB6RTc2YThO?=
 =?utf-8?B?aElyY1JFK2l0RVVqZTZGYXMwcjRhNG9jQzFmYUhPWnNIRndrTTEzWTZodnRa?=
 =?utf-8?B?TWZVTERyZHJsaHRlY3VLajZ2dlltc2dJUllVc3h4ZHBLdDUwTWlXL1A3bGRQ?=
 =?utf-8?B?YmtJMzE1djRaZm1MWFQyMElPR0ltL1oyTzdXM1V6NGNCOGoxOEV6dEU1ci84?=
 =?utf-8?B?RVludG5vYnkyNzVRclFtT3NjRnprWUFuTUt6WUZicEZhUEJlZHhkRnd6ckJE?=
 =?utf-8?B?S3VQcitKTVQyMTlLZDBNSmltSlN1KzhRTFpsVm53ZE9aaVhjWkp0c1NBVThz?=
 =?utf-8?B?YkdXRTVnLzI4QTV1V3F4YXZJV3N6WExzS010NlRmaXpacFRuL3cyWUQxdVZw?=
 =?utf-8?B?MDAvMjk0QlNzRFJxNlVDOTFqUmpEOWFmMnEyN01sK1BCdi8za0hVc3I5cmJq?=
 =?utf-8?B?eGZIQ003VGM5ZjlFQU5mYitFZzVGTWtQRlozU2JxNnpGaGJNOUQ4UHVjWVZT?=
 =?utf-8?B?dVJQWWlCU0h2MmJLQWNDZEpibWQ2TnFOOVFvanozaHJYcnE3Q1JTeWFLWmJY?=
 =?utf-8?B?bmIrUWtuOEFPL2JBWjdHQTBEdEpwL1pad1pnYlNJZ3pmMXNtOFcwSEZ3SXNW?=
 =?utf-8?B?R0JrcFRMWUlWV1JDSi9tcEZPT2laRERUcW5xVFNhUjFwcjBieHhBaWFhUFVJ?=
 =?utf-8?B?REF6Y0owL2xBWVJLUjM5djF3TDlFM2xGajB3ajhKMjExSmJNWGlIUzNIWkpO?=
 =?utf-8?B?ZU5YUnQxN3Fad1ZEMGJDME1pR0NHMG04UDhCS3grUUg0U2FSVUhCRUM0Sk1u?=
 =?utf-8?B?QTYxcUN1N21xZE5qNWY2K1daTG1KRUE1clN2S1Y4MzM0TWxaSjZEN2dBM28x?=
 =?utf-8?B?cStWVnlMQzBsZVZpUXhxLzI0Q3NOMVBUTXY1UjQzTmgvRGdUbTF6LzIxem04?=
 =?utf-8?B?eFRIWmVDTUdCNXBHUjlrSXFzRGp2YjFkVGVLSEUrNDYrTnhRWExMNGhMcXl0?=
 =?utf-8?B?WEVwZWhjTlNRMGNuUTB5MnVKS0hSaUpnd21QZVhrM09wUitqZ0FYbDZBMlZv?=
 =?utf-8?B?cGFEWkJmcUZqRWZEQXF5anVKWHJacXM5Y0FwbUVoalV4UjgxQTZ3NTVad29y?=
 =?utf-8?B?ZURVRzZEcFBzc3NiNDhXSmZOWW9LV0tUL2wyZURUK3hRbE5YR3NWM2xqaTZT?=
 =?utf-8?B?bS95a2hSaElOSkwrQzE1SURyY0hMbGR4ZGJsU2M5VkNsL1pEM0tUcWhKU1lP?=
 =?utf-8?B?VkVQVkZkMU1Scld5VnZQc0FhSkhrOG12cHBwSDlYVFQ2NGRZVU5wdy9IYVpP?=
 =?utf-8?B?Q1J4ZzQ0dFJIRlo3dit1S010SjFZYlFMbVVaLzR6d3RMU0xFU0ZRTlNOckRm?=
 =?utf-8?B?YUw3ckNZWnVSY0tyVTcvcVNELzhLdUdoNHQ0RXg0N2RzKzZxcy92N2RUcktW?=
 =?utf-8?B?WlovRE1BZlNZZUFQUzc0dWw0dTFOd00wa0JYOXVnVWJWS0ZlTzdMenNFWjRU?=
 =?utf-8?B?dk9JRTZJaWlQSnZkNmFlR05oRTk1ZExMSVhuSDZwR0pqTzBkRmxYT2xZMGlH?=
 =?utf-8?B?N3h4bk80RG9TMkp1aVB0eGtGcXlsbXRQMDN3a0RueG9GNXQ2bmNnWkxOT0hr?=
 =?utf-8?B?clIrQkp3SFltL0xMUS9OTzI3OXdjeTFuUEFORVV3aFdnT1dZb2RybzdEY3kz?=
 =?utf-8?Q?o5QI=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(376014)(1800799024)(36860700013)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Oct 2025 18:57:02.9200
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: df3a7787-ed31-419e-594b-08de132f1e94
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	MWH0EPF000A6730.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA5PPF8BD1FB094

On 2025-10-23 11:19, Grygorii Strashko wrote:
> From: Grygorii Strashko <grygorii_strashko@epam.com>
> 
> Functions:
>   hvm_shadow_handle_cd()
>   hvm_set_uc_mode()
>   domain_exit_uc_mode()
> are used only by Intel VMX code, so move them under CONFIG_INTEL_VMX ifdef.
> 
> Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>

Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>


From xen-devel-bounces@lists.xenproject.org Fri Oct 24 19:04:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Oct 2025 19:04:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1150839.1481831 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCN59-0005gg-OH; Fri, 24 Oct 2025 19:04:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1150839.1481831; Fri, 24 Oct 2025 19:04:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCN59-0005gZ-LJ; Fri, 24 Oct 2025 19:04:11 +0000
Received: by outflank-mailman (input) for mailman id 1150839;
 Fri, 24 Oct 2025 19:04:10 +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
 <SRS0=lOOD=5B=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1vCN58-0005gT-Nc
 for xen-devel@lists.xenproject.org; Fri, 24 Oct 2025 19:04:10 +0000
Received: from PH8PR06CU001.outbound.protection.outlook.com
 (mail-westus3azlp170120001.outbound.protection.outlook.com
 [2a01:111:f403:c107::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 371a6367-b10c-11f0-980a-7dc792cee155;
 Fri, 24 Oct 2025 21:04:08 +0200 (CEST)
Received: from PH7P221CA0071.NAMP221.PROD.OUTLOOK.COM (2603:10b6:510:328::24)
 by SA0PR12MB4448.namprd12.prod.outlook.com (2603:10b6:806:94::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.13; Fri, 24 Oct
 2025 19:04:03 +0000
Received: from CO1PEPF000044F6.namprd21.prod.outlook.com
 (2603:10b6:510:328:cafe::d8) by PH7P221CA0071.outlook.office365.com
 (2603:10b6:510:328::24) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9253.13 via Frontend Transport; Fri,
 24 Oct 2025 19:04:03 +0000
Received: from satlexmb08.amd.com (165.204.84.17) by
 CO1PEPF000044F6.mail.protection.outlook.com (10.167.241.196) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9298.0 via Frontend Transport; Fri, 24 Oct 2025 19:04:02 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.2.2562.17; Fri, 24 Oct
 2025 12:04:01 -0700
Received: from satlexmb07.amd.com (10.181.42.216) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 24 Oct
 2025 14:04:01 -0500
Received: from [172.21.152.226] (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.17 via Frontend
 Transport; Fri, 24 Oct 2025 12:04:01 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 371a6367-b10c-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=pHDP7OCDjyz/oMgGUBOc5LCYHO9wbQpgo7xS+9qNS05VpSxWglgavTshQw6Nw6Ao7knANiSQFMqBL0LvZ0F5bJp2JvwUazwb6Qq3j5c6GdM4JskDzXDAoAGhBJUttxH7sHuK0/hMbLXObAZFUbQkdCSzEjrHxDQPUA7JcZhRI0p+oXc07G6V2yVzXmwaGw1ZLGQMLDXIWhhqgKKiNrKhq6lucAAkLfRlOIzpINv/CnT1GQu2JZelKGIzhCSMa8KBkGQ9aqWMRlwe0NAujdThbspa8lf00WvtldXUeqVSMmn+errdtdSiMq3nfEUlUN2G7g5FUY0DmTCBIsb4+8Zntg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8T1rlYStEE/yrdDRrGf8S0554bESBnR4FUtrJlxJAnE=;
 b=IaaPYNsR56JgV2Phus90vSSjLFC3Z9k186At9c+2tweNZuD5HwCEwuvELmoEqG3/25qeQYhnrKfqMq6k6Imt8143FDROsc1zz5HlSTKdqpgos7MGeiYLF8VD2xeENcn0Dwd8muBe0fhpFm+F7dL3d5OitReAbdEdTZQKoifWajTjuw2+UBrkWyBS/MuU/gr2lYVdFL3OCFXYNeg5WHKbUhzdShW7czs5K8awT2q2nCmL6emQBkJml3tDXakio4ILehC2DUITJ1K5qsc+FpsByMYWlNOoQFOxJTsvZNocvFnN/+Wcv0Q/mM+Mw0/UWebBGM6cZIcoEQUdCLnaAzNjwg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8T1rlYStEE/yrdDRrGf8S0554bESBnR4FUtrJlxJAnE=;
 b=zbtkMvqpElp1gJVFeA6MJqvoMCs5hvWA0ghgnWcSsAmOjGvWsVgA96MV4DGRuRgM2M1eDIf6K8k2L2ZDzvamZ5uwb/YiKAatIF1YrltGEzeXAhdLPrLeJOZKAH53O0bHZYE6CzWbzq4x18vfn1SaZjBArQN1JULnaUqvICnpnSI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C
Message-ID: <42edeeb3-3879-4433-8c1f-1790d35e2aae@amd.com>
Date: Fri, 24 Oct 2025 15:03:58 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH for-4.21] tools: require at least json-c 0.15
To: Anthony PERARD <anthony@xenproject.org>, <xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Oleksii Kurochko
	<oleksii.kurochko@gmail.com>, Anthony PERARD <anthony.perard@vates.tech>
References: <20251023085730.36628-1-anthony@xenproject.org>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <20251023085730.36628-1-anthony@xenproject.org>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB05.amd.com: jason.andryuk@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000044F6:EE_|SA0PR12MB4448:EE_
X-MS-Office365-Filtering-Correlation-Id: 32a6c224-ceb9-4909-545a-08de13301898
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|82310400026|1800799024|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?WUh4L2wzeE1mcW9FMkpvWGRpQytiQ1hnckVZZkdVY3FhNUd3a09Ka3A1dFVF?=
 =?utf-8?B?WHVRdTh1Z25QdHI3L0dKS296WDJjcUs5T1RwbmhrOGhQSHkzS1hzeWFMUnR0?=
 =?utf-8?B?K1RuZlFERUs4VysvTU9NdVByLzhDbzFmbE0ybzkyL2lFa3d5ZklNZ0Z1RkxO?=
 =?utf-8?B?MHdMc0UyUW5OMFFranV0aTRpcUtmbHJwNWZTckFGRUNIM2Z4djBqbThYcHBr?=
 =?utf-8?B?cmxnV1Q1RHBUSGgyQzNjVXBwb2NtTG5xSkplZVprSy9KL3NTVzFrWFkxZ1Fw?=
 =?utf-8?B?RGNROEExSGN1Q1hHQWkxcGpGT1VxdVNybVFiTTl3VlB2M2hVdkcvd2ZKbWdW?=
 =?utf-8?B?U3dqQlJxVC9VdThuTHA1SDlXR09LUEk0K3Y1bXBUM3hEZDlZVGhiT2ZwMlFm?=
 =?utf-8?B?emJFQmw4dEYyMmcyNVd1THJSS2pUWnJ4RWNXdklnZnJSNUxPWWVubS96VGNZ?=
 =?utf-8?B?UDQzeGtlam9WMmc0TXYzd1FSTlRDcmhpaHJUdUdXZWN6bitBbVAwSWlkVFAr?=
 =?utf-8?B?S3g2bmVXS2owaUx6R3hUQWNtUWxJREwzdU9TVi8vMGdnZE9NeVhGeEU4dUUv?=
 =?utf-8?B?UnhYZzhxN2xNMW9BcmZwU1A2NjJBckxuZ0xUR2tsMVVRTHBiTlNDanF0ZlE0?=
 =?utf-8?B?MVBzclVsaW8wTGs5NnlXWk5PclpTUWZaRVI2c1FGcDJLVEZSbXFJb3BzcXEv?=
 =?utf-8?B?LzQ1SXJ5SWh5N1RzY1NyWkZwUk1ETGVEbVZSaFVMWkRBOW52SnlsU3VZazhN?=
 =?utf-8?B?dnpGNDQ2dytwWkdWTkFUR2wxWnBuMEhKUVQrRHNxdHNkSUtHeXl5bWtBZUNX?=
 =?utf-8?B?WkVXZ1ZzNitJOGNScnFhcWprbHB5YmxxN0ZOU29HTGJEbXI4anl6QytISldH?=
 =?utf-8?B?SXZRTjNCWFNCczZ6cUlObnVkYmppUnJWSXR0cjgwVkV4VjBndERPMHBMOTFi?=
 =?utf-8?B?TTdXWmdKa09mQVVQbHlRK3d2dTIya0g1b3pOdy9VdmJWeU92N3hlVFh5RUxF?=
 =?utf-8?B?T2xsNkQ0cnE5cC82VTByOXR2T2FsNjdqaXRVenJGTTlta2M4SFdPVUFYdkFY?=
 =?utf-8?B?RXFhd3UxUmorbjhvT2pZWjdLQVFvUnZuTURzR0V4VHBhVlVvQ1lSc1ZMVEpV?=
 =?utf-8?B?Slpac0hEUktvZUIyOEtnSmxNQ3lsOUFyNkI4eUxLVnNKZC9QaWhqdk5ZdGlE?=
 =?utf-8?B?T0x4NFNUWFJLTDZFaGJPMHlqRE1TOURjWlJoRXRwQ1ZRcmh3RytaS3FxR0Ey?=
 =?utf-8?B?ek55RUc5MTJRWXpETE9yVnFmNHExS2J3cGVva0d6Z2FHTktrOHRSV01Hbzcw?=
 =?utf-8?B?V1BRWXFlU3lHdENoYUlMakV6YjN2eGhqTUgzejJpN3QxOFJFNnJXMUk5UkEw?=
 =?utf-8?B?L2NlTC9PYlJvb2lBRFk3ZlRQenExSFFIZlVhM2tjSHkra1FBZG9rZm5KL0dM?=
 =?utf-8?B?OFJRcVNENytKYzhQUmJVMkl1U0QxMDlFWElEbE5IT25iWVZDV0k3Q2Q0Tm41?=
 =?utf-8?B?WXo4SmFtdkRaMGh3YVNZblpOZ3Qzby9hckM4SjlWMG1WNkQ3RE1FQWFmUkZn?=
 =?utf-8?B?K3pJV08wNnBrdU1nU3hIK3BhRC95eWd1RnMzbGNSY0R6S0luUHowamprK2xr?=
 =?utf-8?B?V0I2VEFEazBITXRjcmNMYmlMTnFoUmxLdjhzR3RsUVFIVzQ5ZUpPT3Z3cldO?=
 =?utf-8?B?TFdVU0xLOHNPNXRQM3FkSFBqQ25VbTJrUFVxTG5TQW1tMHdDL2Z1L1hEdThV?=
 =?utf-8?B?VFRaRHFLbEMvS1A3QnNxZm5TRXFtRGEwWU1LZTRVUjd2bVlEUXRsTWRaekpW?=
 =?utf-8?B?RGVLSXhDanJLaDJjRWxKZ3lrNUsyNjc1VHZCWUhmd09KbXVmQ1hMS0RCTFNZ?=
 =?utf-8?B?UTNuaHJFZmtoUVJJY21aeVI3L0FETWVPL1lEaS8yOWtzSFFWd05iNWZHdHox?=
 =?utf-8?B?ajJCUkJmelhtRzUrYWxwOVYrZy83Y3BCaDlQZVM1ZFQ0L2MzeG5MNXdnbzRt?=
 =?utf-8?B?OWdDQzVJQ0orUWR6akJyVXpONXA1SW41TW9iNGkyUEFRMjdlOWVkOERYMU5h?=
 =?utf-8?Q?K3TIQj?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(82310400026)(1800799024)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Oct 2025 19:04:02.3841
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 32a6c224-ceb9-4909-545a-08de13301898
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1PEPF000044F6.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR12MB4448

On 2025-10-23 04:57, Anthony PERARD wrote:
> From: Anthony PERARD <anthony.perard@vates.tech>
> 
> If not available, fallback to using YAJL.
> 
> The code is using json_c_visit() which was introduced in 0.13.
> json_object_new_null() and json_object_new_uint64() where added to
> 0.14. And the last one json_object_new_array_ext() was introduced in
> 0.15.
> 
> Signed-off-by: Anthony PERARD <anthony.perard@vates.tech>

Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>


From xen-devel-bounces@lists.xenproject.org Fri Oct 24 20:52:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Oct 2025 20:52:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1150897.1481845 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCOlt-0002rd-CN; Fri, 24 Oct 2025 20:52:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1150897.1481845; Fri, 24 Oct 2025 20:52:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCOlt-0002rW-8u; Fri, 24 Oct 2025 20:52:25 +0000
Received: by outflank-mailman (input) for mailman id 1150897;
 Fri, 24 Oct 2025 20:52:23 +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
 <SRS0=lOOD=5B=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1vCOlr-0002rP-57
 for xen-devel@lists.xenproject.org; Fri, 24 Oct 2025 20:52:23 +0000
Received: from PH0PR06CU001.outbound.protection.outlook.com
 (mail-westus3azlp170110003.outbound.protection.outlook.com
 [2a01:111:f403:c107::3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 55a31734-b11b-11f0-9d16-b5c5bf9af7f9;
 Fri, 24 Oct 2025 22:52:21 +0200 (CEST)
Received: from MN2PR03CA0013.namprd03.prod.outlook.com (2603:10b6:208:23a::18)
 by PH7PR12MB6977.namprd12.prod.outlook.com (2603:10b6:510:1b7::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.12; Fri, 24 Oct
 2025 20:52:18 +0000
Received: from BL02EPF00021F69.namprd02.prod.outlook.com
 (2603:10b6:208:23a:cafe::a6) by MN2PR03CA0013.outlook.office365.com
 (2603:10b6:208:23a::18) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9253.13 via Frontend Transport; Fri,
 24 Oct 2025 20:52:17 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 BL02EPF00021F69.mail.protection.outlook.com (10.167.249.5) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9253.7 via Frontend Transport; Fri, 24 Oct 2025 20:52:17 +0000
Received: from satlexmb10.amd.com (10.181.42.219) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Fri, 24 Oct
 2025 13:52:16 -0700
Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb10.amd.com
 (10.181.42.219) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Fri, 24 Oct
 2025 13:52:16 -0700
Received: from [172.21.152.226] (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.17 via Frontend
 Transport; Fri, 24 Oct 2025 13:52:15 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 55a31734-b11b-11f0-9d16-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=jHWtAaiQgV1awx8gTZhhAZcCKAEvVWMLHkUCCREK5yGcX3HtllUPSQ6smTN7iW1dLI1/S7WwOl/yN44yEuBc/5Nsj/ib4R2vj8zRZXWbGZRhCzYmAwDEBOs+QNU56u1PhCTr1zab68ewxtVYuz9JAfTMl8RxGKsHXbaHYarSW5Y7v0XbIuvRwvBQtkADt5rPnpiSnf/Ckzoh0x+1T/N75cOFf6B+sLesX5egBB/ep7zuvm5K0tJ9SnXWQXRHXlQmtY9jO6yqk1AhiO6pjhjAEI+vtRe6UCTSx4y90iNHKUDr5J6XijLJE6t2TcoJkPyJjvKs9ssgX/1S5RX8Loaz4g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SLUAowvK4OzKsAR4PaJV61wrPmQ1FXnvFjtbDbBn8JU=;
 b=uV6VHcjx2jbjugF+AaDS8WTtTry/y1jrbzDW2JGHACDkdt5pfECWKJzCMu83HhcaX586TPoEjDGPccaRIqNht4WUf8WKgmSpqbQeIks9CPiqSwLQqlJVdkSalATKKllCxtkeIwhvBq4dX33Rz5I61BEAVnRQH7ZMcxJ/GrnXEIOVtTGHUiaAgWDj2OGn89J0EYLNz/GVnBK6Z1GVzcsJ+nkfOodB+i+llneq4mIB4jFGmORa7pIX2OEvtgAgvnPQ1Zuc3GTS9TERPrSs5FtMmjb8t4ZYBKV0YNL7fCjVP3nR+HxbYygYhwyEKjJ8Ri/752YejiLTTOG0fe+suVOKkA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=linux.dev smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SLUAowvK4OzKsAR4PaJV61wrPmQ1FXnvFjtbDbBn8JU=;
 b=gR8gz8Q0D1aI7yNlkERa0YIcGwnws4aUdFXRjSXWlRRx23ymGi2YePhLJrl9e18/5hxK/UiuU0zlNTmcxyhoKyHlXPfy3ZSfKGWVAplSlKHVRL/uKQYfsyLy8Txdu5LaFacCaaZxY1DE34xb1FdClesgLG73kivSb00At4wrKOg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
Message-ID: <fe02ec8c-a765-483d-8ad2-c3ee713001ef@amd.com>
Date: Fri, 24 Oct 2025 16:52:10 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] drivers/xen/xenbus: Simplify return statement in join()
To: Thorsten Blum <thorsten.blum@linux.dev>, Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Oleksandr Tyshchenko
	<oleksandr_tyshchenko@epam.com>, "Dr. David Alan Gilbert" <linux@treblig.org>
CC: <xen-devel@lists.xenproject.org>, <linux-kernel@vger.kernel.org>
References: <20251021135002.1228-2-thorsten.blum@linux.dev>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <20251021135002.1228-2-thorsten.blum@linux.dev>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL02EPF00021F69:EE_|PH7PR12MB6977:EE_
X-MS-Office365-Filtering-Correlation-Id: 8dde6dbd-591e-4e20-b6a3-08de133f37d1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|36860700013|376014|1800799024|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?MXYxVnNXVU5FRGJGV2dYTllmcnJPMFNGR2lJV3lXMU5Eejl1Um82SUkybG8x?=
 =?utf-8?B?a25Gb1ZYTy9IVVVYRnVWQjNoYllqUVZrSS94WkhuNFVQMHd1Q1BqS0djOUZs?=
 =?utf-8?B?Q1ROVnVadTFFNzVweWpOeU1sK1YzdUtqMVV6REFhOXhqdTFaMW1TOVVmdEhO?=
 =?utf-8?B?Z0lEZkdWZnNYR3lTUk0vWmlPOUFYcFA4bjcyMUZtdHRIMmZJMjNkWHkvM0VU?=
 =?utf-8?B?K3BVcDA0QzZQM3l4N3JsMDc3WDZHcE5qZGlTMUswMGh0eFM3bHFTWkIzcmVI?=
 =?utf-8?B?MlV6TS9UME1XSjg0R0N1c2FNR214emNNazYyVFREdDJlMGdob3lsZlUzSDJ3?=
 =?utf-8?B?ZDRUZzJsM1RlY2o2eUJxTDZhMzFXNmhEQ09ka2U1emNQOFRHWUlMZWZycHBE?=
 =?utf-8?B?RWJ4cE14MkwrbXVUY2dKNzh1dnRydjg4UGlaMmJPRE1nTXNZNE03REFkN2lq?=
 =?utf-8?B?L0hoTjIzNGlranFERFVid3hGZXk0TXFDS3c2ZG9NdTZkRnNnOXcyZmNNNHM5?=
 =?utf-8?B?VmtUOXpXQlZVV21nOGh4SkV6VlJUUGVtUVA3ekZwMzlIMTdYcWxmUHVIalUx?=
 =?utf-8?B?RzNoTXJkSGZ3em5tOU1OUytKNWMzWDVibE96ZG83TWNRS0RnVFBhRGRBOFJu?=
 =?utf-8?B?V29YcEtWMkhiQncyUEttakxmWWh2MjVZMmVxcFVDM2NYS2xsR1FoblVjRE9H?=
 =?utf-8?B?Qll6V3dxTVZRbDZwdWRFNzdsTUV1Qi9aek9GMGlNMEovQzMwVXV0R1ppT3Fq?=
 =?utf-8?B?L0NibDU3QkN5KzdHNFd4TkRoalRlNmhEV3UwUHE1UlFBTlFVd05UYW9tU3Zi?=
 =?utf-8?B?cWlxcmFuMkZCcmtQUkNXRkdGRWk5YStxc20rQ3lPbXVYNnQ0TTZyT01TNTF6?=
 =?utf-8?B?SWxkOWZzaXREa01CSXVWVHh6N2lxd0l4c2ZCTmtlaVJCRUFFNVphMkxnY0V3?=
 =?utf-8?B?STQ1bEx6UmRydVVIZmE5TlVhcXpQY3ZwWXR0aWtvdDN1ZlA1S1hiUFQyQ2Z3?=
 =?utf-8?B?ZlpkN0tkdGtMRFA1RjBHNWJCdjFoN1MvWWU4dG1nZG8wM1ppOFFRRXhIeDE4?=
 =?utf-8?B?VVBJZ3B5czR2YXJUaGNaMzFMYVZsSUw2L3Z5RzNHOUxqa1UrN3NaME5XT3Yw?=
 =?utf-8?B?RFByOTE4QWZnLzJKTTBSN1hNWUE3SU10dlBsZXU2ODlNUXpJdERiem1HSDlv?=
 =?utf-8?B?M3g4d3k1MXJZZDgvS2YyZlV5czl0dnF2N1JhS1k3cW1QbXNTNTRWY3U4OXoz?=
 =?utf-8?B?TDZSSDQxVkJZd3pBNzl6cVBRWnRCeHRCMzNvRHN6Z2hKRkZJQUJzSmJhNVl3?=
 =?utf-8?B?YlorY1YxZTBtRXMyaEdPMlUyam13ZlJVR1FubzFmUlhtcmdyV2RLb2J5eGZp?=
 =?utf-8?B?MjZjcjJubmJ6bmpXMHRkejA0ZEJXbElHaXBWYlJGcUxXc2RlUkViTmlSREo3?=
 =?utf-8?B?YkFJTmppNk5XaytNb3cvand3c2U0R3NaRFdwbXhJQlQwRDJUWjd2S05oN1lT?=
 =?utf-8?B?dDZ5THljRVNOemJiRjNCNmNyUCtvdFRwVCtMQXNOb3dVbVQ3Mmh2VjQ5QnRt?=
 =?utf-8?B?Y0dXK2tjRnptUWxkSzc0ekhWRXZvTDh1NkFVdWdTSUxGaWxZQUZlREp6bnNk?=
 =?utf-8?B?eU9pZ2RmeW1GWm84S2o5RW5raUtSRnpzclUrWGxQME50NWZCTlFNOHVHQzNa?=
 =?utf-8?B?TExEeW1vYXZUaFBwaHQwQ05mTUZrZ0orcmlVTWhYOUhGT2Y3cEJpZWRva2Rq?=
 =?utf-8?B?NFE5cEJPZ2QvbXpqdXRKZzI0ZWNyeXpzTWhqSkhiVDgydkM1cUIrdG03ck9S?=
 =?utf-8?B?TlNpZUdjQy9PdkkvZzF2bnM4bGNQNGk0aEkxbEhSYWNCTUJwMWNTVmVyeWhr?=
 =?utf-8?B?bzVvZkRCRzBpU0JHOTRramg3SWFkaDdHSmJ3RFpNeVYrZGxsM0RVLzcwRm1O?=
 =?utf-8?B?NStsQnoxUWo4MmU5ZS9LQmZqLzY3blNNQWYvRnByVEltUzNiQWZCSndLOVZp?=
 =?utf-8?B?SHRIbmNXQ0RqM2p1MmxPVmpJVmpGVnFGMEJ5UysxOFBKM25YeTFjem1BV1RN?=
 =?utf-8?B?YnhIWkJydklqcktaU0pnM0JKTWZhdHZuOHZVMzNPQjYxd1J0UGF3WFEyTTM4?=
 =?utf-8?Q?/G28=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(36860700013)(376014)(1800799024)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Oct 2025 20:52:17.3107
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8dde6dbd-591e-4e20-b6a3-08de133f37d1
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL02EPF00021F69.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB6977

On 2025-10-21 09:49, Thorsten Blum wrote:
> Don't unnecessarily negate 'buffer' and simplify the return statement.
> 
> Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>

Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>


From xen-devel-bounces@lists.xenproject.org Fri Oct 24 22:53:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Oct 2025 22:53:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1150934.1481854 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCQeg-0000Lf-M7; Fri, 24 Oct 2025 22:53:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1150934.1481854; Fri, 24 Oct 2025 22:53:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCQeg-0000LY-Jc; Fri, 24 Oct 2025 22:53:06 +0000
Received: by outflank-mailman (input) for mailman id 1150934;
 Fri, 24 Oct 2025 22:53: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
 <SRS0=NQRg=5B=gmail.com=demiobenour@srs-se1.protection.inumbo.net>)
 id 1vCQef-0000LS-Ep
 for xen-devel@lists.xenproject.org; Fri, 24 Oct 2025 22:53:05 +0000
Received: from mail-yx1-xb132.google.com (mail-yx1-xb132.google.com
 [2607:f8b0:4864:20::b132])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 31887fac-b12c-11f0-980a-7dc792cee155;
 Sat, 25 Oct 2025 00:53:02 +0200 (CEST)
Received: by mail-yx1-xb132.google.com with SMTP id
 956f58d0204a3-63d8788b18dso2945445d50.2
 for <xen-devel@lists.xenproject.org>; Fri, 24 Oct 2025 15:53:02 -0700 (PDT)
Received: from [10.138.34.110]
 (h96-60-249-169.cncrtn.broadband.dynamic.tds.net. [96.60.249.169])
 by smtp.gmail.com with ESMTPSA id
 956f58d0204a3-63f4c471b31sm115469d50.25.2025.10.24.15.52.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 24 Oct 2025 15:53:00 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 31887fac-b12c-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1761346381; x=1761951181; darn=lists.xenproject.org;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=/mmyfUlxIO9G+mnEZZtfRPMoHw8LWeBFeTEO3Heos1A=;
        b=QyKOJbXQ6j+lrMlwFhuxUGdjazefdFoIw6l12zg7+u4TEigD0/CHBRt7TvIsWU+4sz
         VOT7eoRKx5t5W3dtOIrRwMLYACwNbedmnHj/DaH/X5I6PMu1YxwPALgPFuXxM5sfg4dE
         f8+y6BeR5Rf4Xpz+pD2fL0BstPw1DkjgF5zfAbE7zcHUREHV59pzgOjLurLcjOFYmgLp
         cRBGT56iYJVv0308i5G2cWcfogRHLY1dFXUlPBdOY2sy0y/3CtyUEFU8qRS6CLDQ90VQ
         8gYJlBkoDoRGWp8YfEi8TlUmRo5LInVAahi6JL/aG/OY0LfgM+2AKk4kVDlygh2mHDGR
         MZbQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761346381; x=1761951181;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=/mmyfUlxIO9G+mnEZZtfRPMoHw8LWeBFeTEO3Heos1A=;
        b=Vlgkbs/ScsxJH5LySaRwqXKGfQCB64GcIDInPy+6KFCuQc1bKOnRQd+1KDMLU87M1X
         a0dSHfPcVW38J7dRMKv0cd8rqwHfV/Xh5wA5JicsnNa/0xis3/QsBxpb39WJq3vDMB+t
         eY437R1cypX2kORfCo18wHJp/KzuoPfmP0AXKUA3uxnekwLT+TMmnlXdTZyfYELm1nAU
         HzwMx0LsSk6NPGeWi1r9hY0BvoQ+nIEONBppG43kMJglQChZ4iwe339KK1qNENESf8v4
         yXxYAb94Gdlog2LaILizACT56SxSsToJSJMKLEHpq9yk/AKgUw8RSLLLBkqqosMZAzdD
         IIkw==
X-Forwarded-Encrypted: i=1; AJvYcCVcvs9WavQBoR54cRNkjEdVbppSjfnno8Z76InJeKprU26LEX1fg613GceERYh/nR+83xeWOoD2xI8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzreodtoQxw9fHAYJRMZZNQkdDBHrQezCxCGlx77GUNYpTEnb5y
	qNSI8pD4QHehXeEfHTksIlpU4bJrDANGVX+DiP7G+lx9Q+zdb2+NRA7q
X-Gm-Gg: ASbGncvZWWgevGV2AcxDVYTHC6BowvG6V6cU9qEcYdiKwWGBNCUncHfWJe1o3DHDn04
	SA6dcxKz1loYDdt+osObGVRUE8yzY5TyX5+M+eqezl8U51qsBeU/NPXdRBNIVo/TWUfKLRQMYRh
	vz7sNiwDkRF45M7hgF2CGf0hwxRAMRFQVCiaLil9bi8h6MibtBvNtpCA4NhyQuKMi5X6sC6UFMd
	qaUa6cfGrJhRsP5Rx+uUb1SgTh+sZhGg9s7l3XOufZXKxyMs1JuElaLYdtcU3tlC0KHP2Bo+TKY
	f/s96FucoT338/iZOuj73a8FyEgk17d1oWEbJ0VGqypfvyT2tE9bYY9H5tbvYjOIn8ig85ZyHOE
	exxbt6u8qNI10jgWhP6Ix8Up6/oK0BVXjJ/KSUNxqJGO9mJEUyYH0eLYYjNhkB+NojSG7ChBIs2
	YEuI7KcQc9FyEIA3P7N6ZUu65orKU3iZGZqQJMchuu79BiYndNfherR8SOBGDro9DfMsoeqbZCB
	bLfsB/y8zrUlG38N4rtOwj73Pk=
X-Google-Smtp-Source: AGHT+IGWAvoqHmVALDLkkW4Nv74dFC4bxZqcncsjw3cv6YCeH3p7CQGTYcT90n3c9hPTMMA9o7Hw5g==
X-Received: by 2002:a05:690e:11cc:b0:63e:1943:ce46 with SMTP id 956f58d0204a3-63e1943d20cmr24087137d50.38.1761346380903;
        Fri, 24 Oct 2025 15:53:00 -0700 (PDT)
Message-ID: <3ff4aaeb-61ce-4b72-ba90-1b66374b1b95@gmail.com>
Date: Fri, 24 Oct 2025 18:52:50 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 11/13] x86/xen: use lazy_mmu_state when
 context-switching
To: David Hildenbrand <david@redhat.com>,
 David Woodhouse <dwmw2@infradead.org>, Kevin Brodsky
 <kevin.brodsky@arm.com>, linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org, Alexander Gordeev <agordeev@linux.ibm.com>,
 Andreas Larsson <andreas@gaisler.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, Borislav Petkov
 <bp@alien8.de>, Catalin Marinas <catalin.marinas@arm.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 Dave Hansen <dave.hansen@linux.intel.com>,
 "David S. Miller" <davem@davemloft.net>, "H. Peter Anvin" <hpa@zytor.com>,
 Ingo Molnar <mingo@redhat.com>, Jann Horn <jannh@google.com>,
 Juergen Gross <jgross@suse.com>, "Liam R. Howlett"
 <Liam.Howlett@oracle.com>, Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>, Michal Hocko <mhocko@suse.com>,
 Mike Rapoport <rppt@kernel.org>, Nicholas Piggin <npiggin@gmail.com>,
 Peter Zijlstra <peterz@infradead.org>, Ryan Roberts <ryan.roberts@arm.com>,
 Suren Baghdasaryan <surenb@google.com>, Thomas Gleixner
 <tglx@linutronix.de>, Vlastimil Babka <vbabka@suse.cz>,
 Will Deacon <will@kernel.org>, Yeoreum Yun <yeoreum.yun@arm.com>,
 linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org,
 sparclinux@vger.kernel.org, xen-devel@lists.xenproject.org, x86@kernel.org
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
 <20251015082727.2395128-12-kevin.brodsky@arm.com>
 <f0067f35-1048-4788-8401-f71d297f56f3@redhat.com>
 <348e5f1c5a90e4ab0f14b4d997baf7169745bf04.camel@infradead.org>
 <70723f4a-f42b-4d94-9344-5824e48bfad1@redhat.com>
Content-Language: en-US
From: Demi Marie Obenour <demiobenour@gmail.com>
Autocrypt: addr=demiobenour@gmail.com; keydata=
 xsFNBFp+A0oBEADffj6anl9/BHhUSxGTICeVl2tob7hPDdhHNgPR4C8xlYt5q49yB+l2nipd
 aq+4Gk6FZfqC825TKl7eRpUjMriwle4r3R0ydSIGcy4M6eb0IcxmuPYfbWpr/si88QKgyGSV
 Z7GeNW1UnzTdhYHuFlk8dBSmB1fzhEYEk0RcJqg4AKoq6/3/UorR+FaSuVwT7rqzGrTlscnT
 DlPWgRzrQ3jssesI7sZLm82E3pJSgaUoCdCOlL7MMPCJwI8JpPlBedRpe9tfVyfu3euTPLPx
 wcV3L/cfWPGSL4PofBtB8NUU6QwYiQ9Hzx4xOyn67zW73/G0Q2vPPRst8LBDqlxLjbtx/WLR
 6h3nBc3eyuZ+q62HS1pJ5EvUT1vjyJ1ySrqtUXWQ4XlZyoEFUfpJxJoN0A9HCxmHGVckzTRl
 5FMWo8TCniHynNXsBtDQbabt7aNEOaAJdE7to0AH3T/Bvwzcp0ZJtBk0EM6YeMLtotUut7h2
 Bkg1b//r6bTBswMBXVJ5H44Qf0+eKeUg7whSC9qpYOzzrm7+0r9F5u3qF8ZTx55TJc2g656C
 9a1P1MYVysLvkLvS4H+crmxA/i08Tc1h+x9RRvqba4lSzZ6/Tmt60DPM5Sc4R0nSm9BBff0N
 m0bSNRS8InXdO1Aq3362QKX2NOwcL5YaStwODNyZUqF7izjK4QARAQABzTxEZW1pIE1hcmll
 IE9iZW5vdXIgKGxvdmVyIG9mIGNvZGluZykgPGRlbWlvYmVub3VyQGdtYWlsLmNvbT7CwXgE
 EwECACIFAlp+A0oCGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJELKItV//nCLBhr8Q
 AK/xrb4wyi71xII2hkFBpT59ObLN+32FQT7R3lbZRjVFjc6yMUjOb1H/hJVxx+yo5gsSj5LS
 9AwggioUSrcUKldfA/PKKai2mzTlUDxTcF3vKx6iMXKA6AqwAw4B57ZEJoMM6egm57TV19kz
 PMc879NV2nc6+elaKl+/kbVeD3qvBuEwsTe2Do3HAAdrfUG/j9erwIk6gha/Hp9yZlCnPTX+
 VK+xifQqt8RtMqS5R/S8z0msJMI/ajNU03kFjOpqrYziv6OZLJ5cuKb3bZU5aoaRQRDzkFIR
 6aqtFLTohTo20QywXwRa39uFaOT/0YMpNyel0kdOszFOykTEGI2u+kja35g9TkH90kkBTG+a
 EWttIht0Hy6YFmwjcAxisSakBuHnHuMSOiyRQLu43ej2+mDWgItLZ48Mu0C3IG1seeQDjEYP
 tqvyZ6bGkf2Vj+L6wLoLLIhRZxQOedqArIk/Sb2SzQYuxN44IDRt+3ZcDqsPppoKcxSyd1Ny
 2tpvjYJXlfKmOYLhTWs8nwlAlSHX/c/jz/ywwf7eSvGknToo1Y0VpRtoxMaKW1nvH0OeCSVJ
 itfRP7YbiRVc2aNqWPCSgtqHAuVraBRbAFLKh9d2rKFB3BmynTUpc1BQLJP8+D5oNyb8Ts4x
 Xd3iV/uD8JLGJfYZIR7oGWFLP4uZ3tkneDfYzsFNBFp+A0oBEAC9ynZI9LU+uJkMeEJeJyQ/
 8VFkCJQPQZEsIGzOTlPnwvVna0AS86n2Z+rK7R/usYs5iJCZ55/JISWd8xD57ue0eB47bcJv
 VqGlObI2DEG8TwaW0O0duRhDgzMEL4t1KdRAepIESBEA/iPpI4gfUbVEIEQuqdqQyO4GAe+M
 kD0Hy5JH/0qgFmbaSegNTdQg5iqYjRZ3ttiswalql1/iSyv1WYeC1OAs+2BLOAT2NEggSiVO
 txEfgewsQtCWi8H1SoirakIfo45Hz0tk/Ad9ZWh2PvOGt97Ka85o4TLJxgJJqGEnqcFUZnJJ
 riwoaRIS8N2C8/nEM53jb1sH0gYddMU3QxY7dYNLIUrRKQeNkF30dK7V6JRH7pleRlf+wQcN
 fRAIUrNlatj9TxwivQrKnC9aIFFHEy/0mAgtrQShcMRmMgVlRoOA5B8RTulRLCmkafvwuhs6
 dCxN0GNAORIVVFxjx9Vn7OqYPgwiofZ6SbEl0hgPyWBQvE85klFLZLoj7p+joDY1XNQztmfA
 rnJ9x+YV4igjWImINAZSlmEcYtd+xy3Li/8oeYDAqrsnrOjb+WvGhCykJk4urBog2LNtcyCj
 kTs7F+WeXGUo0NDhbd3Z6AyFfqeF7uJ3D5hlpX2nI9no/ugPrrTVoVZAgrrnNz0iZG2DVx46
 x913pVKHl5mlYQARAQABwsFfBBgBAgAJBQJafgNKAhsMAAoJELKItV//nCLBwNIP/AiIHE8b
 oIqReFQyaMzxq6lE4YZCZNj65B/nkDOvodSiwfwjjVVE2V3iEzxMHbgyTCGA67+Bo/d5aQGj
 gn0TPtsGzelyQHipaUzEyrsceUGWYoKXYyVWKEfyh0cDfnd9diAm3VeNqchtcMpoehETH8fr
 RHnJdBcjf112PzQSdKC6kqU0Q196c4Vp5HDOQfNiDnTf7gZSj0BraHOByy9LEDCLhQiCmr+2
 E0rW4tBtDAn2HkT9uf32ZGqJCn1O+2uVfFhGu6vPE5qkqrbSE8TG+03H8ecU2q50zgHWPdHM
 OBvy3EhzfAh2VmOSTcRK+tSUe/u3wdLRDPwv/DTzGI36Kgky9MsDC5gpIwNbOJP2G/q1wT1o
 Gkw4IXfWv2ufWiXqJ+k7HEi2N1sree7Dy9KBCqb+ca1vFhYPDJfhP75I/VnzHVssZ/rYZ9+5
 1yDoUABoNdJNSGUYl+Yh9Pw9pE3Kt4EFzUlFZWbE4xKL/NPno+z4J9aWemLLszcYz/u3XnbO
 vUSQHSrmfOzX3cV4yfmjM5lewgSstoxGyTx2M8enslgdXhPthZlDnTnOT+C+OTsh8+m5tos8
 HQjaPM01MKBiAqdPgksm1wu2DrrwUi6ChRVTUBcj6+/9IJ81H2P2gJk3Ls3AVIxIffLoY34E
 +MYSfkEjBz0E8CLOcAw7JIwAaeBT
In-Reply-To: <70723f4a-f42b-4d94-9344-5824e48bfad1@redhat.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------fVWE7l0lJ0S6BZqVtKd8YErV"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------fVWE7l0lJ0S6BZqVtKd8YErV
Content-Type: multipart/mixed; boundary="------------7Vdm9KUmuSRGLGKvKHtq4xxx";
 protected-headers="v1"
From: Demi Marie Obenour <demiobenour@gmail.com>
To: David Hildenbrand <david@redhat.com>,
 David Woodhouse <dwmw2@infradead.org>, Kevin Brodsky
 <kevin.brodsky@arm.com>, linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org, Alexander Gordeev <agordeev@linux.ibm.com>,
 Andreas Larsson <andreas@gaisler.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, Borislav Petkov
 <bp@alien8.de>, Catalin Marinas <catalin.marinas@arm.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 Dave Hansen <dave.hansen@linux.intel.com>,
 "David S. Miller" <davem@davemloft.net>, "H. Peter Anvin" <hpa@zytor.com>,
 Ingo Molnar <mingo@redhat.com>, Jann Horn <jannh@google.com>,
 Juergen Gross <jgross@suse.com>, "Liam R. Howlett"
 <Liam.Howlett@oracle.com>, Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>, Michal Hocko <mhocko@suse.com>,
 Mike Rapoport <rppt@kernel.org>, Nicholas Piggin <npiggin@gmail.com>,
 Peter Zijlstra <peterz@infradead.org>, Ryan Roberts <ryan.roberts@arm.com>,
 Suren Baghdasaryan <surenb@google.com>, Thomas Gleixner
 <tglx@linutronix.de>, Vlastimil Babka <vbabka@suse.cz>,
 Will Deacon <will@kernel.org>, Yeoreum Yun <yeoreum.yun@arm.com>,
 linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org,
 sparclinux@vger.kernel.org, xen-devel@lists.xenproject.org, x86@kernel.org
Message-ID: <3ff4aaeb-61ce-4b72-ba90-1b66374b1b95@gmail.com>
Subject: Re: [PATCH v3 11/13] x86/xen: use lazy_mmu_state when
 context-switching
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
 <20251015082727.2395128-12-kevin.brodsky@arm.com>
 <f0067f35-1048-4788-8401-f71d297f56f3@redhat.com>
 <348e5f1c5a90e4ab0f14b4d997baf7169745bf04.camel@infradead.org>
 <70723f4a-f42b-4d94-9344-5824e48bfad1@redhat.com>
In-Reply-To: <70723f4a-f42b-4d94-9344-5824e48bfad1@redhat.com>
Autocrypt-Gossip: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==

--------------7Vdm9KUmuSRGLGKvKHtq4xxx
Content-Type: multipart/mixed; boundary="------------uG9jzKpwHHYZUrEKmkQI4i0A"

--------------uG9jzKpwHHYZUrEKmkQI4i0A
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On 10/24/25 10:51, David Hildenbrand wrote:
> On 24.10.25 16:47, David Woodhouse wrote:
>> On Thu, 2025-10-23 at 22:06 +0200, David Hildenbrand wrote:
>>> On 15.10.25 10:27, Kevin Brodsky wrote:
>>>> We currently set a TIF flag when scheduling out a task that is in
>>>> lazy MMU mode, in order to restore it when the task is scheduled
>>>> again.
>>>>
>>>> The generic lazy_mmu layer now tracks whether a task is in lazy MMU
>>>> mode in task_struct::lazy_mmu_state. We can therefore check that
>>>> state when switching to the new task, instead of using a separate
>>>> TIF flag.
>>>>
>>>> Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
>>>> ---
>>>
>>>
>>> Looks ok to me, but I hope we get some confirmation from x86 / xen
>>> folks.
>>
>>
>> I know tglx has shouted at me in the past for precisely this reminder,=

>> but you know you can test Xen guests under QEMU/KVM now and don't need=

>> to actually run Xen? Has this been boot tested?
>=20
> And after that, boot-testing sparc as well? :D
>=20
> If it's easy, why not. But other people should not suffer for all the=20
> XEN hacks we keep dragging along.

Which hacks?  Serious question.  Is this just for Xen PV or is HVM
also affected?
--=20
Sincerely,
Demi Marie Obenour (she/her/hers)
--------------uG9jzKpwHHYZUrEKmkQI4i0A
Content-Type: application/pgp-keys; name="OpenPGP_0xB288B55FFF9C22C1.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB288B55FFF9C22C1.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsFNBFp+A0oBEADffj6anl9/BHhUSxGTICeVl2tob7hPDdhHNgPR4C8xlYt5q49y
B+l2nipdaq+4Gk6FZfqC825TKl7eRpUjMriwle4r3R0ydSIGcy4M6eb0IcxmuPYf
bWpr/si88QKgyGSVZ7GeNW1UnzTdhYHuFlk8dBSmB1fzhEYEk0RcJqg4AKoq6/3/
UorR+FaSuVwT7rqzGrTlscnTDlPWgRzrQ3jssesI7sZLm82E3pJSgaUoCdCOlL7M
MPCJwI8JpPlBedRpe9tfVyfu3euTPLPxwcV3L/cfWPGSL4PofBtB8NUU6QwYiQ9H
zx4xOyn67zW73/G0Q2vPPRst8LBDqlxLjbtx/WLR6h3nBc3eyuZ+q62HS1pJ5EvU
T1vjyJ1ySrqtUXWQ4XlZyoEFUfpJxJoN0A9HCxmHGVckzTRl5FMWo8TCniHynNXs
BtDQbabt7aNEOaAJdE7to0AH3T/Bvwzcp0ZJtBk0EM6YeMLtotUut7h2Bkg1b//r
6bTBswMBXVJ5H44Qf0+eKeUg7whSC9qpYOzzrm7+0r9F5u3qF8ZTx55TJc2g656C
9a1P1MYVysLvkLvS4H+crmxA/i08Tc1h+x9RRvqba4lSzZ6/Tmt60DPM5Sc4R0nS
m9BBff0Nm0bSNRS8InXdO1Aq3362QKX2NOwcL5YaStwODNyZUqF7izjK4QARAQAB
zTxEZW1pIE9iZW5vdXIgKElUTCBFbWFpbCBLZXkpIDxhdGhlbmFAaW52aXNpYmxl
dGhpbmdzbGFiLmNvbT7CwY4EEwEIADgWIQR2h02fEza6IlkHHHGyiLVf/5wiwQUC
X6YJvQIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgAAKCRCyiLVf/5wiwWRhD/0Y
R+YYC5Kduv/2LBgQJIygMsFiRHbR4+tWXuTFqgrxxFSlMktZ6gQrQCWe38WnOXkB
oY6n/5lSJdfnuGd2UagZ/9dkaGMUkqt+5WshLFly4BnP7pSsWReKgMP7etRTwn3S
zk1OwFx2lzY1EnnconPLfPBc6rWG2moA6l0WX+3WNR1B1ndqpl2hPSjT2jUCBWDV
rGOUSX7r5f1WgtBeNYnEXPBCUUM51pFGESmfHIXQrqFDA7nBNiIVFDJTmQzuEqIy
Jl67pKNgooij5mKzRhFKHfjLRAH4mmWZlB9UjDStAfFBAoDFHwd1HL5VQCNQdqEc
/9lZDApqWuCPadZN+pGouqLysesIYsNxUhJ7dtWOWHl0vs7/3qkWmWun/2uOJMQh
ra2u8nA9g91FbOobWqjrDd6x3ZJoGQf4zLqjmn/P514gb697788e573WN/MpQ5XI
Fl7aM2d6/GJiq6LC9T2gSUW4rbPBiqOCeiUx7Kd/sVm41p9TOA7fEG4bYddCfDsN
xaQJH6VRK3NOuBUGeL+iQEVF5Xs6Yp+U+jwvv2M5Lel3EqAYo5xXTx4ls0xaxDCu
fudcAh8CMMqx3fguSb7Mi31WlnZpk0fDuWQVNKyDP7lYpwc4nCCGNKCj622ZSocH
AcQmX28L8pJdLYacv9pU3jPy4fHcQYvmTavTqowGnM08RGVtaSBNYXJpZSBPYmVu
b3VyIChsb3ZlciBvZiBjb2RpbmcpIDxkZW1pb2Jlbm91ckBnbWFpbC5jb20+wsF4
BBMBAgAiBQJafgNKAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRCyiLVf
/5wiwYa/EACv8a2+MMou9cSCNoZBQaU+fTmyzft9hUE+0d5W2UY1RY3OsjFIzm9R
/4SVccfsqOYLEo+S0vQMIIIqFEq3FCpXXwPzyimotps05VA8U3Bd7yseojFygOgK
sAMOAee2RCaDDOnoJue01dfZMzzHPO/TVdp3OvnpWipfv5G1Xg96rwbhMLE3tg6N
xwAHa31Bv4/Xq8CJOoIWvx6fcmZQpz01/lSvsYn0KrfEbTKkuUf0vM9JrCTCP2oz
VNN5BYzqaq2M4r+jmSyeXLim922VOWqGkUEQ85BSEemqrRS06IU6NtEMsF8EWt/b
hWjk/9GDKTcnpdJHTrMxTspExBiNrvpI2t+YPU5B/dJJAUxvmhFrbSIbdB8umBZs
I3AMYrEmpAbh5x7jEjoskUC7uN3o9vpg1oCLS2ePDLtAtyBtbHnkA4xGD7ar8mem
xpH9lY/i+sC6CyyIUWcUDnnagKyJP0m9ks0GLsTeOCA0bft2XA6rD6aaCnMUsndT
ctrab42CV5XypjmC4U1rPJ8JQJUh1/3P48/8sMH+3krxpJ06KNWNFaUbaMTGiltZ
7x9DngklSYrX0T+2G4kVXNmjaljwkoLahwLla2gUWwBSyofXdqyhQdwZsp01KXNQ
UCyT/Pg+aDcm/E7OMV3d4lf7g/CSxiX2GSEe6BlhSz+Lmd7ZJ3g32M1ARGVtaSBN
YXJpZSBPYmVub3VyIChJVEwgRW1haWwgS2V5KSA8ZGVtaUBpbnZpc2libGV0aGlu
Z3NsYWIuY29tPsLBjgQTAQgAOBYhBHaHTZ8TNroiWQcccbKItV//nCLBBQJgOEV+
AhsDBQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJELKItV//nCLBKwoP/1WSnFdv
SAD0g7fD0WlF+oi7ISFT7oqJnchFLOwVHK4Jg0e4hGn1ekWsF3Ha5tFLh4V/7UUu
obYJpTfBAA2CckspYBqLtKGjFxcaqjjpO1I2W/jeNELVtSYuCOZICjdNGw2Hl9yH
KRZiBkqc9u8lQcHDZKq4LIpVJj6ZQV/nxttDX90ax2No1nLLQXFbr5wb465LAPpU
lXwunYDij7xJGye+VUASQh9datye6orZYuJvNo8Tr3mAQxxkfR46LzWgxFCPEAZJ
5P56Nc0IMHdJZj0Uc9+1jxERhOGppp5jlLgYGK7faGB/jTV6LaRQ4Ad+xiqokDWp
mUOZsmA+bMbtPfYjDZBz5mlyHcIRKIFpE1l3Y8F7PhJuzzMUKkJi90CYakCV4x/a
Zs4pzk5E96c2VQx01RIEJ7fzHF7lwFdtfTS4YsLtAbQFsKayqwkGcVv2B1AHeqdo
TMX+cgDvjd1ZganGlWA8Sv9RkNSMchn1hMuTwERTyFTr2dKPnQdA1F480+jUap41
ClXgn227WkCIMrNhQGNyJsnwyzi5wS8rBVRQ3BOTMyvGM07j3axUOYaejEpg7wKi
wTPZGLGH1sz5GljD/916v5+v2xLbOo5606j9dWf5/tAhbPuqrQgWv41wuKDi+dDD
EKkODF7DHes8No+QcHTDyETMn1RYm7t0RKR4zsFNBFp+A0oBEAC9ynZI9LU+uJkM
eEJeJyQ/8VFkCJQPQZEsIGzOTlPnwvVna0AS86n2Z+rK7R/usYs5iJCZ55/JISWd
8xD57ue0eB47bcJvVqGlObI2DEG8TwaW0O0duRhDgzMEL4t1KdRAepIESBEA/iPp
I4gfUbVEIEQuqdqQyO4GAe+MkD0Hy5JH/0qgFmbaSegNTdQg5iqYjRZ3ttiswalq
l1/iSyv1WYeC1OAs+2BLOAT2NEggSiVOtxEfgewsQtCWi8H1SoirakIfo45Hz0tk
/Ad9ZWh2PvOGt97Ka85o4TLJxgJJqGEnqcFUZnJJriwoaRIS8N2C8/nEM53jb1sH
0gYddMU3QxY7dYNLIUrRKQeNkF30dK7V6JRH7pleRlf+wQcNfRAIUrNlatj9Txwi
vQrKnC9aIFFHEy/0mAgtrQShcMRmMgVlRoOA5B8RTulRLCmkafvwuhs6dCxN0GNA
ORIVVFxjx9Vn7OqYPgwiofZ6SbEl0hgPyWBQvE85klFLZLoj7p+joDY1XNQztmfA
rnJ9x+YV4igjWImINAZSlmEcYtd+xy3Li/8oeYDAqrsnrOjb+WvGhCykJk4urBog
2LNtcyCjkTs7F+WeXGUo0NDhbd3Z6AyFfqeF7uJ3D5hlpX2nI9no/ugPrrTVoVZA
grrnNz0iZG2DVx46x913pVKHl5mlYQARAQABwsFfBBgBAgAJBQJafgNKAhsMAAoJ
ELKItV//nCLBwNIP/AiIHE8boIqReFQyaMzxq6lE4YZCZNj65B/nkDOvodSiwfwj
jVVE2V3iEzxMHbgyTCGA67+Bo/d5aQGjgn0TPtsGzelyQHipaUzEyrsceUGWYoKX
YyVWKEfyh0cDfnd9diAm3VeNqchtcMpoehETH8frRHnJdBcjf112PzQSdKC6kqU0
Q196c4Vp5HDOQfNiDnTf7gZSj0BraHOByy9LEDCLhQiCmr+2E0rW4tBtDAn2HkT9
uf32ZGqJCn1O+2uVfFhGu6vPE5qkqrbSE8TG+03H8ecU2q50zgHWPdHMOBvy3Ehz
fAh2VmOSTcRK+tSUe/u3wdLRDPwv/DTzGI36Kgky9MsDC5gpIwNbOJP2G/q1wT1o
Gkw4IXfWv2ufWiXqJ+k7HEi2N1sree7Dy9KBCqb+ca1vFhYPDJfhP75I/VnzHVss
Z/rYZ9+51yDoUABoNdJNSGUYl+Yh9Pw9pE3Kt4EFzUlFZWbE4xKL/NPno+z4J9aW
emLLszcYz/u3XnbOvUSQHSrmfOzX3cV4yfmjM5lewgSstoxGyTx2M8enslgdXhPt
hZlDnTnOT+C+OTsh8+m5tos8HQjaPM01MKBiAqdPgksm1wu2DrrwUi6ChRVTUBcj
6+/9IJ81H2P2gJk3Ls3AVIxIffLoY34E+MYSfkEjBz0E8CLOcAw7JIwAaeBTzsFN
BGbyLVgBEACqClxh50hmBepTSVlan6EBq3OAoxhrAhWZYEwN78k+ENhK68KhqC5R
IsHzlL7QHW1gmfVBQZ63GnWiraM6wOJqFTL4ZWvRslga9u28FJ5XyK860mZLgYhK
9BzoUk4s+dat9jVUbq6LpQ1Ot5I9vrdzo2p1jtQ8h9WCIiFxSYy8s8pZ3hHh5T64
GIj1m/kY7lG3VIdUgoNiREGf/iOMjUFjwwE9ZoJ26j9p7p1U+TkKeF6wgswEB1T3
J8KCAtvmRtqJDq558IU5jhg5fgN+xHB8cgvUWulgK9FIF9oFxcuxtaf/juhHWKMO
RtL0bHfNdXoBdpUDZE+mLBUAxF6KSsRrvx6AQyJs7VjgXJDtQVWvH0PUmTrEswgb
49nNU+dLLZQAZagxqnZ9Dp5l6GqaGZCHERJcLmdY/EmMzSf5YazJ6c0vO8rdW27M
kn73qcWAplQn5mOXaqbfzWkAUPyUXppuRHfrjxTDz3GyJJVOeMmMrTxH4uCaGpOX
Z8tN6829J1roGw4oKDRUQsaBAeEDqizXMPRc+6U9vI5FXzbAsb+8lKW65G7JWHym
YPOGUt2hK4DdTA1PmVo0DxH00eWWeKxqvmGyX+Dhcg+5e191rPsMRGsDlH6KihI6
+3JIuc0y6ngdjcp6aalbuvPIGFrCRx3tnRtNc7He6cBWQoH9RPwluwARAQABwsOs
BBgBCgAgFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmbyLVgCGwICQAkQsoi1X/+c
IsHBdCAEGQEKAB0WIQSilC2pUlbVp66j3+yzNoc6synyUwUCZvItWAAKCRCzNoc6
synyU85gD/0T1QDtPhovkGwoqv4jUbEMMvpeYQf+oWgm/TjWPeLwdjl7AtY0G9Ml
ZoyGniYkoHi37Gnn/ShLT3B5vtyI58ap2+SSa8SnGftdAKRLiWFWCiAEklm9FRk8
N3hwxhmSFF1KR/AIDS4g+HIsZn7YEMubBSgLlZZ9zHl4O4vwuXlREBEW97iL/FSt
VownU2V39t7PtFvGZNk+DJH7eLO3jmNRYB0PL4JOyyda3NH/J92iwrFmjFWWmmWb
/Xz8l9DIs+Z59pRCVTTwbBEZhcUc7rVMCcIYL+q1WxBG2e6lMn15OQJ5WfiE6E0I
sGirAEDnXWx92JNGx5l+mMpdpsWhBZ5iGTtttZesibNkQfd48/eCgFi4cxJUC4PT
UQwfD9AMgzwSTGJrkI5XGy+XqxwOjL8UA0iIrtTpMh49zw46uV6kwFQCgkf32jZM
OLwLTNSzclbnA7GRd8tKwezQ/XqeK3dal2n+cOr+o+Eka7yGmGWNUqFbIe8cjj9T
JeF3mgOCmZOwMI+wIcQYRSf+e5VTMO6TNWH5BI3vqeHSt7HkYuPlHT0pGum88d4a
pWqhulH4rUhEMtirX1hYx8Q4HlUOQqLtxzmwOYWkhl1C+yPObAvUDNiHCLf9w28n
uihgEkzHt9J4VKYulyJM9fe3ENcyU6rpXD7iANQqcr87ogKXFxknZ97uEACvSucc
RbnnAgRqZ7GDzgoBerJ2zrmhLkeREZ08iz1zze1JgyW3HEwdr2UbyAuqvSADCSUU
GN0vtQHsPzWl8onRc7lOPqPDF8OO+UfN9NAfA4wl3QyChD1GXl9rwKQOkbvdlYFV
UFx9u86LNi4ssTmU8p9NtHIGpz1SYMVYNoYy9NU7EVqypGMguDCL7gJt6GUmA0sw
p+YCroXiwL2BJ7RwRqTpgQuFL1gShkA17D5jK4mDPEetq1d8kz9rQYvAR/sTKBsR
ImC3xSfn8zpWoNTTB6lnwyP5Ng1bu6esS7+SpYprFTe7ZqGZF6xhvBPf1Ldi9UAm
U2xPN1/eeWxEa2kusidmFKPmN8lcT4miiAvwGxEnY7Oww9CgZlUB+LP4dl5VPjEt
sFeAhrgxLdpVTjPRRwTd9VQF3/XYl83j5wySIQKIPXgT3sG3ngAhDhC8I8GpM36r
8WJJ3x2yVzyJUbBPO0GBhWE2xPNIfhxVoU4cGGhpFqz7dPKSTRDGq++MrFgKKGpI
ZwT3CPTSSKc7ySndEXWkOYArDIdtyxdE1p5/c3aoz4utzUU7NDHQ+vVIwlnZSMiZ
jek2IJP3SZ+COOIHCVxpUaZ4lnzWT4eDqABhMLpIzw6NmGfg+kLBJhouqz81WITr
EtJuZYM5blWncBOJCoWMnBEcTEo/viU3GgcVRw=3D=3D
=3Dx94R
-----END PGP PUBLIC KEY BLOCK-----

--------------uG9jzKpwHHYZUrEKmkQI4i0A--

--------------7Vdm9KUmuSRGLGKvKHtq4xxx--

--------------fVWE7l0lJ0S6BZqVtKd8YErV
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEopQtqVJW1aeuo9/sszaHOrMp8lMFAmj8A0MACgkQszaHOrMp
8lML0hAAigIfQ+XuV1xY2lVweZbTOXQw4gbWwhzVyP5xYwcJ9cNpopsO8QhCpx+l
CD051fg3GGh9GbWDiXJaF0OuflawLIQruAU58oGe3FGMJu5FQ6lt3h0U4YHX13hy
XrZY6Y780Rb6BIhcQFP1hLNZ2xWiYi1jORBEsIiNe5B+wKhV4eEz8jaJuqmnnG5i
i660PErOwV5kmXYGn/r/nBwTtPTGUSmqOZwiY7YkpVFmPT+qiA3+RN5fsRvKu8sY
AI+sEbqdGDfYtzp2lKYDpKtme2lOAVONjzlJa6TAKa6Vmi8roDfCLCZ2yWxXviAo
FVhfUH+hEsP2Q8i/vCtT/iJ2ErSRrijlH9x+bMV/YaS/ZYpvHmM/MbAGl0+1//6B
3p6Y9nNSGk+CegsiOExJ/bGAFLKUU0CQxCXVw1AiaRNW6DtvIK35tkUhWWXflRik
9dW8T/OoFJE3hknF5zoa6nhlKYiZWc2OsXp64Q4KMwRuthqW+c23mTXuQO10NZvi
5eEDTPW1vN6hldCnAh5kwurHM/apb7KU4df/6oZkhER/I9LERfeURsayC6G2r7+l
kEytsJtUNMlh5yDMkUUPz9diUvqLEcJWq7oHHFT+eeLRnxa4uml9vV9buKCs7/DV
Ph6CGtySx1Gy494nr/xHj3MGjiIE90cASt1hOR7x1CKivw3/384=
=wFBt
-----END PGP SIGNATURE-----

--------------fVWE7l0lJ0S6BZqVtKd8YErV--


From xen-devel-bounces@lists.xenproject.org Fri Oct 24 23:39:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Oct 2025 23:39:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1150951.1481865 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCRNB-0005hl-38; Fri, 24 Oct 2025 23:39:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1150951.1481865; Fri, 24 Oct 2025 23:39:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCRNA-0005he-Vk; Fri, 24 Oct 2025 23:39:04 +0000
Received: by outflank-mailman (input) for mailman id 1150951;
 Fri, 24 Oct 2025 23:39:03 +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
 <SRS0=EH92=5B=gmail.com=samaan.dehghan@srs-se1.protection.inumbo.net>)
 id 1vCRN9-0005hY-0t
 for xen-devel@lists.xenproject.org; Fri, 24 Oct 2025 23:39:03 +0000
Received: from mail-pf1-x42e.google.com (mail-pf1-x42e.google.com
 [2607:f8b0:4864:20::42e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9dde1073-b132-11f0-9d16-b5c5bf9af7f9;
 Sat, 25 Oct 2025 01:39:01 +0200 (CEST)
Received: by mail-pf1-x42e.google.com with SMTP id
 d2e1a72fcca58-7811a02316bso1967686b3a.3
 for <xen-devel@lists.xenproject.org>; Fri, 24 Oct 2025 16:39:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9dde1073-b132-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1761349140; x=1761953940; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=/BzBb5BmwK5xm3uHZKtiITHLjGhguS3/7go288IiswA=;
        b=fnpWe8vT6HipPqad8d0U0tBF7WkQBvmm0rKCgZmtLRvEHTwnkmz9v3nmytFGNXgEkl
         wSvxGS/YNfBsCNuajtXk3g1w/PKmJSyP5gmo0xRJXz7/bunVDl4A6hSLOZy2wgDmhX1Q
         50JtYl1sRUcZZyvM0sJC4SgwE+96sZoCDPXH9Zzz1FhRdD/41e31MnsWM2QVahdKmYuR
         8GkUO13fC1Gl9bcJPTsi1d0ackBM1BwNf5Xn+MlNrsGvILjHIettjB/EHaQNjh5cn1Dr
         RLbO8z3EY81Dv/j0vVzXoui78WsTD+HqOh+cICc8fEO5XqZPXFN1n8TRNffm4ICnme3/
         v7ww==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761349140; x=1761953940;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=/BzBb5BmwK5xm3uHZKtiITHLjGhguS3/7go288IiswA=;
        b=PQnbaCGa8QHVBSaShhy+REpgQ4iqda4xc3B4iQfD0kqHa5Bw8pm+/cTvDY2Tii7rma
         L1MB/jm2KR/YkyWXxHQNwVi+0r8D883MIwKslZJM9/8ajPvGyr4tBTnDVSBW708d5q4e
         t10KYWn80IQZN7VKsdSHG6nqf+j3tLv4BI3M3IofZuN0ZO1OeO5kp0HxwAmeujkIp1A/
         E5gMHrR+5I3vnvid8S5RNwp53W8LsHY1pkD+3rdKQW9b1dQO1slpfYxe6NGVeZUVNd5o
         4Gfu7Lo4cf8ihVVhWpCpyGH3+HW6pyaEuoUy9E1fq+88YUl2mWJyEr5zjsXVWQVz0tIs
         ZjvA==
X-Gm-Message-State: AOJu0YzRUcsSU6vp2gTQcp53D08ytYJ9CvWbFvBdts0mu4egBJZzTNEc
	MsXpkFxvmtT55xLhHutcc845Occxj3LbC4ROClZUb8wE6Hy0hkNTE9Gz/UY8ktR4wC9aCK709ho
	APO8JxQwtTkr0WzAMAnClNcmjCbw8Dw==
X-Gm-Gg: ASbGnctRu14LRIWB2PpPD4ZWQbbaWTt4q5L/xaXw5YNP87RZjivojuFk8uSCMbwuEq9
	0okXuG2oMxx1v4MO+Tyey9CGRWqXQWiCG4tgBtr+87mpT71wIABaxWgYKq+E0q8Ota1WX6Sz/aG
	l38JLlSwZ07UWbTgQEdIlmTjSHXikotvV4ncn/667RDvlp1StOPB70P5bJIekCErghFWi6eVcGE
	s//45FNLCusf9E6E9LtoBvEM1NHSimTn3a5izyYG5j41vHIJ9fwaarV5w==
X-Google-Smtp-Source: AGHT+IETFcs6e7jVZ8dcgrjXaY3Cbsx5t0PRZZZY52X7+Fsw0EI9//i8csZbQZRCnb/FXapCYAusRN/z7qDzYKd+6qA=
X-Received: by 2002:a05:6a21:999e:b0:340:ecf3:5fc1 with SMTP id
 adf61e73a8af0-340ecf361dfmr1374818637.43.1761349139999; Fri, 24 Oct 2025
 16:38:59 -0700 (PDT)
MIME-Version: 1.0
References: <3dc1fe6ee55d973a25a0441d0f6b41e00a58227b.1759355762.git.samaan.dehghan@gmail.com>
 <06646f747f21c3f388cf6e9d59a20238a4a91170.1761263588.git.samaan.dehghan@gmail.com>
 <c7397bc5-574d-444a-a8cf-e76e95ec20fd@citrix.com>
In-Reply-To: <c7397bc5-574d-444a-a8cf-e76e95ec20fd@citrix.com>
From: Saman Dehghan <samaan.dehghan@gmail.com>
Date: Fri, 24 Oct 2025 18:38:49 -0500
X-Gm-Features: AS18NWA1O0HP1cPKqOZAJGQZp4TD6m0fkHgd09cHpk4Ws7evkSQpfa2tkM2JOjA
Message-ID: <CAHFNDNhMCe--4z9CL49Yk8Rf4FA+G7-7VozJfhLcVESaByU7qg@mail.gmail.com>
Subject: Re: [PATCH v3] Support LLVM raw profile versions 5, 6, 7, 8, 9, and 10
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Anthony PERARD <anthony.perard@vates.tech>, Michal Orzel <michal.orzel@amd.com>, 
	Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, 
	Oleksii Kurochko <oleksii.kurochko@gmail.com>, Wentao Zhang <wentaoz5@illinois.edu>, 
	Matthew L Weber <matthew.l.weber3@boeing.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, Oct 24, 2025 at 4:33=E2=80=AFAM Andrew Cooper <andrew.cooper3@citri=
x.com> wrote:
>
> The subject should have a "xen: " prefix, as this applies to the
> hypervisor and not other
>
> On 24/10/2025 1:16 am, Saman Dehghan wrote:
> > This change enables compatibility for measuring code coverage
> > with Clang versions 14 through 20 by supporting their
>
> Stale 14?  It looks to be 11 now.

Sorry for the mistake. I meant "with Clang versions 11 through 20 by
supporting their...".

>
> > respective raw profile formats.
> >
> > 1- Added support for LLVM raw profile versions 5, 6, 7, 8, 9, and 10.
> > 2- Initialized llvm_profile_header for all versions based on llvm sourc=
e code in
> >    compiler-rt/include/profile/InstrProfData.inc for each version.
> > 3- We tested this patch for all Clang versions from 11 through 20 on x8=
6 platform.
> > 4- Fixed linking warnings related to coverage code in x86.
> >
> > Signed-off-by: Saman Dehghan <samaan.dehghan@gmail.com>
> > ---
>
> When sending multiple revisions, it's customary to put a short list here
> if what you've changed from the previous revision.

Changes since version 2:
  1- Additionally support raw profile version 5, 6, 7 in clang 11, 12, 13.
  2- Fix coverage related linking warnings in x86.
  3- Revert unnecessary type changes, casting, etc.

>
> Also, you didn't accumulate your release ack from v2.
>
> Release-Acked-By: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Sorry we missed this. Thanks for reminding us.

>
> >  xen/arch/x86/xen.lds.S     |  6 ++++
> >  xen/common/coverage/llvm.c | 73 ++++++++++++++++++++++++++++++++++----
> >  xen/include/xen/xen.lds.h  | 18 ++++++++++
> >  3 files changed, 91 insertions(+), 6 deletions(-)
> >
> > diff --git a/xen/common/coverage/llvm.c b/xen/common/coverage/llvm.c
> > index 517b2aa8c2..e3272a546f 100644
> > --- a/xen/common/coverage/llvm.c
> > +++ b/xen/common/coverage/llvm.c
> > @@ -107,11 +145,34 @@ static int cf_check dump(
> >      struct llvm_profile_header header =3D {
> >          .magic =3D LLVM_PROFILE_MAGIC,
> >          .version =3D LLVM_PROFILE_VERSION,
> > -        .data_size =3D (END_DATA - START_DATA) / sizeof(struct llvm_pr=
ofile_data),
> > -        .counters_size =3D (END_COUNTERS - START_COUNTERS) / sizeof(ui=
nt64_t),
> > +#if __clang_major__ >=3D 13
> > +        .binary_ids_size =3D 0,
> > +#endif
> > +        .num_data =3D ((END_DATA + sizeof(struct llvm_profile_data) - =
1)
> > +                - START_DATA) / sizeof(struct llvm_profile_data),
>
> There's a helper for this expression.
>
> DIV_ROUND_UP(END_DATA - START_DATA, sizeof(llvm_profile_data))
>
> > +        .padding_bytes_before_counters =3D 0,
> > +        .num_counters =3D ((END_COUNTERS + sizeof(uint64_t) - 1)
> > +                - START_COUNTERS) / sizeof(uint64_t),
>
> DIV_ROUND_UP(END_COUNTERS - START_COUNTERS, sizeof(uint64_t))
>
>
> > +        .padding_bytes_after_counters =3D 0,
> > +#if __clang_major__ >=3D 18
> > +        .num_bitmap_bytes =3D 0,
> > +        .padding_bytes_after_bitmap_bytes =3D 0,
> > +#endif
> >          .names_size =3D END_NAMES - START_NAMES,
> > +#if __clang_major__ >=3D 14
> > +        .counters_delta =3D START_COUNTERS - START_DATA,
> > +#else
> >          .counters_delta =3D (uintptr_t)START_COUNTERS,
> > +#endif
> > +
> > +#if __clang_major__ >=3D 18
> > +        .bitmap_delta =3D 0,
> > +#endif
> >          .names_delta =3D (uintptr_t)START_NAMES,
> > +#if __clang_major__ >=3D 19 && __clang_major__ <=3D 20
> > +        .num_vtables =3D 0,
> > +        .vnames_size =3D 0,
> > +#endif
>
> Because this is a structure initialiser, everything set explicitly to 0
> can be omitted.  This removes all #ifdef-ary except the .counters_delta
> I believe, as well as the .padding_byte_* fields.
>

Is it undefined behaviour to leave struct members uninitialized for
local variables?

> The resulting diff is far smaller.
>
> >          .value_kind_last =3D LLVM_PROFILE_NUM_KINDS - 1,
> >      };
> >      unsigned int off =3D 0;
> > diff --git a/xen/include/xen/xen.lds.h b/xen/include/xen/xen.lds.h
> > index b126dfe887..42550a85a2 100644
> > --- a/xen/include/xen/xen.lds.h
> > +++ b/xen/include/xen/xen.lds.h
> > @@ -81,6 +81,24 @@
> >    .stab.index 0 : { *(.stab.index) }         \
> >    .stab.indexstr 0 : { *(.stab.indexstr) }
> >
> > +#if defined(CONFIG_COVERAGE) && defined(CONFIG_CC_IS_CLANG)
> > +
> > +#define LLVM_COV_RW_DATA                                   \
> > +    DECL_SECTION(__llvm_prf_cnts) { *(__llvm_prf_cnts) }   \
> > +    DECL_SECTION(__llvm_prf_data) { *(__llvm_prf_data) }   \
> > +    DECL_SECTION(__llvm_prf_bits) { *(__llvm_prf_bits) }
> > +
> > +#define LLVM_COV_RO_DATA                                   \
> > +    DECL_SECTION(__llvm_prf_names) { *(__llvm_prf_names) }
> > +
> > +#define LLVM_COV_DEBUG                                     \
> > +    DECL_DEBUG(__llvm_covfun, 8)                           \
> > +    DECL_DEBUG(__llvm_covmap, 8)
> > +#else
> > +#define LLVM_COV_RW_DATA
> > +#define LLVM_COV_RO_DATA
> > +#define LLVM_COV_DEBUG
> > +#endif
>
> Newline here.
>
> But, there's no problem stating sections which are unused.  I think the
> outer #if/#else can be dropped.
>
> Otherwise, Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
>
> I can fix these all up on commit, seeing as it's release acked for 4.21

Thank you for offering to fix them up. Let me know how I can help or
if I need to send another version.

Thanks,
Saman

>
> ~Andrew


From xen-devel-bounces@lists.xenproject.org Sat Oct 25 12:23:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 25 Oct 2025 12:23:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151143.1481875 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCdIz-0000Po-QJ; Sat, 25 Oct 2025 12:23:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151143.1481875; Sat, 25 Oct 2025 12:23:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCdIz-0000Pg-MU; Sat, 25 Oct 2025 12:23:33 +0000
Received: by outflank-mailman (input) for mailman id 1151143;
 Sat, 25 Oct 2025 12:23:32 +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
 <SRS0=hxaW=5C=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1vCdIy-0000Pa-Gi
 for xen-devel@lists.xenproject.org; Sat, 25 Oct 2025 12:23:32 +0000
Received: from fhigh-b8-smtp.messagingengine.com
 (fhigh-b8-smtp.messagingengine.com [202.12.124.159])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6871f739-b19d-11f0-9d16-b5c5bf9af7f9;
 Sat, 25 Oct 2025 14:23:30 +0200 (CEST)
Received: from phl-compute-04.internal (phl-compute-04.internal [10.202.2.44])
 by mailfhigh.stl.internal (Postfix) with ESMTP id 53A217A0187
 for <xen-devel@lists.xenproject.org>; Sat, 25 Oct 2025 08:23:26 -0400 (EDT)
Received: from phl-mailfrontend-01 ([10.202.2.162])
 by phl-compute-04.internal (MEProxy); Sat, 25 Oct 2025 08:23:26 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA for
 <xen-devel@lists.xenproject.org>; Sat, 25 Oct 2025 08:23:25 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6871f739-b19d-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:content-type:content-type:date:date
	:from:from:in-reply-to:message-id:mime-version:reply-to:subject
	:subject:to:to; s=fm2; t=1761395006; x=1761481406; bh=73SxmiYObq
	DtUnuCSzXP/l4C7MXseGGba+KsyngShX4=; b=chwpCb5K2pCAteoqX+3Q5GQyQO
	egCtoG67d4FNfCRpaXudtb2T/4cZ1CNCGO0SYzPT59q75pywgzT9NBn+k6rwCNhB
	W/Vt6uwPsei4eL0mw6OCtnR1ae0Qyd8FD4BrkjrohliLjCTdHtGX5sdl3qd36UxA
	1RrXM/f3goDy64VeQ60QsJEjOAJKYhJblZMLyDCCSTZQLeHVrJxQSH5NPNrJz6tM
	U+WnUn1Pg8AKTJojOkVn2dJlSFcbiWO5pB9qe6kQXbXeW3UcopWm9Lg6JYOIZnCw
	DvcutzB9UWqE6+yVTE1t6600i0wNE8vzxVhoBPFnWi9zGuq0FU+lGAWblXSg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:content-type:content-type:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:message-id
	:mime-version:reply-to:subject:subject:to:to:x-me-proxy
	:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1761395006; x=
	1761481406; bh=73SxmiYObqDtUnuCSzXP/l4C7MXseGGba+KsyngShX4=; b=k
	H+v4du/GGzcvfGnkxsO5ZJHKg5xkH3btiIyMmGED+89U/mqXya1R7MRHxOvp1voA
	YHXGEmPE4atGJEZH6cV8DrK9C4PyDjHEP1CyWkrdTAl3guu9XGsvf4z2FEPYnFnJ
	bgsGI8O3npPOWIKFtYAmzthB6ewDg9qXKJKwQnHrSi0cP0FZ6QnhxKfE6sjGfQ0b
	LoBksB9rmWk7iVcoQXDXCHJ+GKc5lcRcnFFYMEL+eY6wH1DmZUcZn86mLUSLJwJP
	0dc6LR6u7j8lly7yrF24fao48antkaoQGfIe1BNY9GQCpmhyHt/wIf72zEjI+90S
	7QbM1yFv6Wd7G4yrEoEkA==
X-ME-Sender: <xms:PcH8aAuMdWCVxZtUTJ6STLQDJYdV8orNCQ7fBdURjV6QhMEPZsAVUw>
    <xme:PcH8aEaXoviO1wFLCqiVgnL1GsbVqCJ_mOPsCd1cxXdNt7VEzT22j2QvraMLUTi4F
    zTrCp9zCbChy_2GXv5GUC4nyaftpre_E8WSlCMWf6zYI-Aylg>
X-ME-Received: <xmr:PcH8aBa4zZXljnHlG1RiHNTOmKGm4IzRceSwrukIBlhtqXCIY7wM1mJNwQZy_rzyNPYuAtfKnsRJR2TvYBvgT2zY-gc0UlStLWw>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdeggdduhedvvdduucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu
    rghilhhouhhtmecufedttdenucenucfjughrpeffhffvuffkgggtugesghdtreertddtje
    enucfhrhhomhepofgrrhgvkhcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceo
    mhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecugg
    ftrfgrthhtvghrnheptddugfetudevudeiveevgfetueejlefggffghffhhfehtdfffeef
    gfduueegfefhnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrh
    homhepmhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomhdp
    nhgspghrtghpthhtohepuddpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepgigvnh
    dquggvvhgvlheslhhishhtshdrgigvnhhprhhojhgvtghtrdhorhhg
X-ME-Proxy: <xmx:PcH8aIWmuMwp4WhrGUM2cJQhg7oByvVAsgqGzHgRiMT2Dh5n10Pr9w>
    <xmx:PcH8aA1a-4muf3hV6XuAPQWL6RFFdAgXX3Jb3RGnSpkKvcChThtjsQ>
    <xmx:PcH8aHbyk572IM0Zqv_iqhbcnphlJSx4fGaBVuAg0AqZju7QYKVqEA>
    <xmx:PcH8aLpJm1iZhBBbtnuvbxUcsGL1c3QVqCW_Lux-XUT13yff6dqEoA>
    <xmx:PsH8aGOAVM0f4GMhP2xMpGnTGguJ9bkZv034gSs9g6Pg9Cwieey2_aBp>
Feedback-ID: i1568416f:Fastmail
Date: Sat, 25 Oct 2025 14:23:23 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel <xen-devel@lists.xenproject.org>
Subject: Slow (higher scheduling latency?) system after S3 - regression 4.17
 -> 4.19 ?
Message-ID: <aPzBO_eW8mQHM66u@mail-itl>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="A1SV/O2zRZEmtWwj"
Content-Disposition: inline


--A1SV/O2zRZEmtWwj
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Sat, 25 Oct 2025 14:23:23 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel <xen-devel@lists.xenproject.org>
Subject: Slow (higher scheduling latency?) system after S3 - regression 4.17
 -> 4.19 ?

Hi,

After updating from Xen 4.17 to 4.19 it appears that I have some
performance issues if system was suspended before. For now this is just
vague observation, as I don't have much data yet.

Generally, the user observable effect is that audio playback (over
Qubes's PV audio thing) becomes very choppy, beyond usefulness (cannot
make audio calls anymore, music/video playback also becomes useless with
some players. For me this suggests some increased latency in scheduling
- maybe some timer fires too late?

This doesn't happen always, but I'd say quite often after S3, sometimes
may need two or three suspend cycles to trigger the issue. But it's
possible it is also some other factor, like which pCPU the VM gets
scheduled on, maybe? But for now I didn't hit this issue before
performing any S3. I don't have a reliable reproducer yet.

While I write it's related to 4.17 -> 4.19 update, there is also slight
possibility it's related to hardware change (CFL -> MTL). But, it's
unlikely, since I'd probably get much more bug reports about that (the
stable Qubes version uses 4.17, and we have many users on MTL).

What would be the method to collect some useful debugging info? Some
debug-keys (r? a?), some cmdline options?

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--A1SV/O2zRZEmtWwj
Content-Type: application/pgp-signature; name=signature.asc

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmj8wTsACgkQ24/THMrX
1yytNAf8CassPSpe1fiuiTOW9UxqT4+1Sc/TvSG/mYx6P+D268biE/3vqEl8Z5cW
kniCZAg9uxeAoBcjM2qUPyhP0AXxg1P4A4XmGFZG4xm8pdzi+0ezBHn9NNUUg2nC
O1g4dpNpSFGcYCVhl8EyzSnPWqEJaoiOOaJzp8NypM3nP1ARVxBeUJWQDtJFukRY
ceDCCwEWtYP5kWnPpG0M5D4TzMJ4GDTjkYdv7QyK5rR2r3Gr3n17Cxo4uOY2bzVz
8S4bVQq8bv20ALZhxbV4pHY1a+HYj3UpDHwwKoX0EMoDsOiFLBeMJ9zcCHG0TDIA
/5QIG/q7/zc2ZmbXtwsHm3/1n/Az+Q==
=vgOB
-----END PGP SIGNATURE-----

--A1SV/O2zRZEmtWwj--


From xen-devel-bounces@lists.xenproject.org Sat Oct 25 18:10:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 25 Oct 2025 18:10:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151199.1481885 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCiic-0006K3-Tl; Sat, 25 Oct 2025 18:10:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151199.1481885; Sat, 25 Oct 2025 18:10:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCiic-0006Jw-R4; Sat, 25 Oct 2025 18:10:22 +0000
Received: by outflank-mailman (input) for mailman id 1151199;
 Sat, 25 Oct 2025 18:10:21 +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
 <SRS0=vYYd=5C=bounce.vates.tech=bounce-md_30504962.68fd1285.v1-befac1088e9f4280b9041a139ae034aa@srs-se1.protection.inumbo.net>)
 id 1vCiib-0006Jq-Hp
 for xen-devel@lists.xenproject.org; Sat, 25 Oct 2025 18:10:21 +0000
Received: from mail187-33.suw11.mandrillapp.com
 (mail187-33.suw11.mandrillapp.com [198.2.187.33])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id da768a5a-b1cd-11f0-980a-7dc792cee155;
 Sat, 25 Oct 2025 20:10:15 +0200 (CEST)
Received: from pmta09.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail187-33.suw11.mandrillapp.com (Mailchimp) with ESMTP id
 4cv7911NzwzBsThR4
 for <xen-devel@lists.xenproject.org>; Sat, 25 Oct 2025 18:10:13 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 befac1088e9f4280b9041a139ae034aa; Sat, 25 Oct 2025 18:10:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: da768a5a-b1cd-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1761415813; x=1761685813;
	bh=UROwWJJex9hr+E0Pstr7k3l3mLjCNT/PysfNOKnSM/o=;
	h=From:Subject:Message-Id:To:Cc:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=sic4UEW6pqn2oZyWcEvjAvH0tJdNDyUsQ7jSccXVHcCZqxtfwEXBMYlR4dYCTw1cQ
	 sc3MnQiIoLPY07jKFqyEB7gZ+j56xj+KYGYtjB6FRTeHT5Miio+YV2Hkk+EtTH9JrC
	 8hgDBy25EAMEK57jGwrL/u4LTkykxtNzZJ/i87v/zLYp/vzd9Jla2h6EZwc46E7gJy
	 buX+2MqbozWOBa8ZlkDypuDdTDb7YBj1d1s3IwNlyz3Vrh3HDvyv0uhlWHliHZebHz
	 dEhjjDfToxZqdkaQNSHrG/C/PoBWi043nI5HXhEbpVPIUidTiqq9gj0T/xtQ93hawd
	 YeLfIAQzUYxXg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1761415813; x=1761676313; i=teddy.astie@vates.tech;
	bh=UROwWJJex9hr+E0Pstr7k3l3mLjCNT/PysfNOKnSM/o=;
	h=From:Subject:Message-Id:To:Cc:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=MHEo7oRGa3g9XVemyqbZi4ur2SvibGsf41Z+XRcC+r9QGlbU9+BITJp/QrNcc9iic
	 WsIZ0VYcZN/pEE7l2MK5iktjoSLnZXBmpCsQjPtoBpZRE9bIbtgg7KPdWWB5WTORkl
	 Nw6k/JyMagSLZ89A+dUWeBsKLSyrpRJDAIndMe3V7+4WgN7tWs1vVtPQD5ZB8G95yj
	 Wd3vcVAUTOYb3nDZwHStbgKK23upLTokyqWf9326T+DUAkO63gwsHFWztKJlbXSQTI
	 EEYf3uH3NptsgGUH8vt8KrY7tT1sN+38OPduHorUqsengEoO/OMI1WXmCdIxQfblwE
	 xPlfr8+dexP5w==
From: "Teddy Astie" <teddy.astie@vates.tech>
Subject: =?utf-8?Q?Re:=20[XEN][PATCH]=20x86/hvm:=20move=20hvm=5Fshadow=5Fhandle=5Fcd()=20under=20CONFIG=5FINTEL=5FVMX=20ifdef?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1761415812020
Message-Id: <eaf5e6bd-e7b8-4a3d-8b5b-33d1a9630619@vates.tech>
To: "Grygorii Strashko" <grygorii_strashko@epam.com>, xen-devel@lists.xenproject.org
Cc: "Jan Beulich" <jbeulich@suse.com>, "Andrew Cooper" <andrew.cooper3@citrix.com>, "=?utf-8?Q?Roger=20Pau=20Monn=C3=A9?=" <roger.pau@citrix.com>
References: <20251023151903.560947-1-grygorii_strashko@epam.com>
In-Reply-To: <20251023151903.560947-1-grygorii_strashko@epam.com>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.befac1088e9f4280b9041a139ae034aa?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20251025:md
Date: Sat, 25 Oct 2025 18:10:13 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Le 23/10/2025 =C3=A0 17:22, Grygorii Strashko a =C3=A9crit=C2=A0:
> From: Grygorii Strashko <grygorii_strashko@epam.com>
> 
> Functions:
>   hvm_shadow_handle_cd()
>   hvm_set_uc_mode()
>   domain_exit_uc_mode()
> are used only by Intel VMX code, so move them under CONFIG_INTEL_VMX ifde=
f.
> 

If they are actually Intel VMX specific, they should rather be moved to 
VMX code (and named appropriately) rather than if-defed in shared hvm 
code. If AMD code happens to need these functions in the future, it 
would make things break pretty confusingly (as headers are not updated 
consistently).

> Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
> ---
>   xen/arch/x86/hvm/hvm.c | 50 ++++++++++++++++++++++--------------------
>   1 file changed, 26 insertions(+), 24 deletions(-)
> 
> diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
> index f1035fc9f645..3a30404d9940 100644
> --- a/xen/arch/x86/hvm/hvm.c
> +++ b/xen/arch/x86/hvm/hvm.c
> @@ -2168,30 +2168,6 @@ int hvm_set_efer(uint64_t value)
>       return X86EMUL_OKAY;
>   }
>   
> -/* Exit UC mode only if all VCPUs agree on MTRR/PAT and are not in no_fi=
ll. */
> -static bool domain_exit_uc_mode(struct vcpu *v)
> -{
> -    struct domain *d =3D v->domain;
> -    struct vcpu *vs;
> -
> -    for_each_vcpu ( d, vs )
> -    {
> -        if ( (vs =3D=3D v) || !vs->is_initialised )
> -            continue;
> -        if ( (vs->arch.hvm.cache_mode =3D=3D NO_FILL_CACHE_MODE) ||
> -             mtrr_pat_not_equal(vs, v) )
> -            return 0;
> -    }
> -
> -    return 1;
> -}
> -
> -static void hvm_set_uc_mode(struct vcpu *v, bool is_in_uc_mode)
> -{
> -    v->domain->arch.hvm.is_in_uc_mode =3D is_in_uc_mode;
> -    shadow_blow_tables_per_domain(v->domain);
> -}
> -
>   int hvm_mov_to_cr(unsigned int cr, unsigned int gpr)
>   {
>       struct vcpu *curr =3D current;
> @@ -2273,6 +2249,31 @@ int hvm_mov_from_cr(unsigned int cr, unsigned int =
gpr)
>       return X86EMUL_UNHANDLEABLE;
>   }
>   
> +#ifdef CONFIG_INTEL_VMX
> +/* Exit UC mode only if all VCPUs agree on MTRR/PAT and are not in no_fi=
ll. */
> +static bool domain_exit_uc_mode(struct vcpu *v)
> +{
> +    struct domain *d =3D v->domain;
> +    struct vcpu *vs;
> +
> +    for_each_vcpu ( d, vs )
> +    {
> +        if ( (vs =3D=3D v) || !vs->is_initialised )
> +            continue;
> +        if ( (vs->arch.hvm.cache_mode =3D=3D NO_FILL_CACHE_MODE) ||
> +             mtrr_pat_not_equal(vs, v) )
> +            return 0;
> +    }
> +
> +    return 1;
> +}
> +
> +static void hvm_set_uc_mode(struct vcpu *v, bool is_in_uc_mode)
> +{
> +    v->domain->arch.hvm.is_in_uc_mode =3D is_in_uc_mode;
> +    shadow_blow_tables_per_domain(v->domain);
> +}
> +
>   void hvm_shadow_handle_cd(struct vcpu *v, unsigned long value)
>   {
>       if ( value & X86_CR0_CD )
> @@ -2306,6 +2307,7 @@ void hvm_shadow_handle_cd(struct vcpu *v, unsigned =
long value)
>           spin_unlock(&v->domain->arch.hvm.uc_lock);
>       }
>   }
> +#endif
>   
>   static void hvm_update_cr(struct vcpu *v, unsigned int cr, unsigned lon=
g value)
>   {

Teddy


--
Teddy Astie | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech




From xen-devel-bounces@lists.xenproject.org Sat Oct 25 18:48:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 25 Oct 2025 18:48:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151215.1481895 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCjJE-00020e-KU; Sat, 25 Oct 2025 18:48:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151215.1481895; Sat, 25 Oct 2025 18:48:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCjJE-00020X-H1; Sat, 25 Oct 2025 18:48:12 +0000
Received: by outflank-mailman (input) for mailman id 1151215;
 Sat, 25 Oct 2025 18:48:11 +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
 <SRS0=DSsM=5C=citrix.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1vCjJD-00020R-A9
 for xen-devel@lists.xenproject.org; Sat, 25 Oct 2025 18:48:11 +0000
Received: from BN1PR04CU002.outbound.protection.outlook.com
 (mail-eastus2azlp170100001.outbound.protection.outlook.com
 [2a01:111:f403:c110::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 23fcc456-b1d3-11f0-980a-7dc792cee155;
 Sat, 25 Oct 2025 20:48:05 +0200 (CEST)
Received: from DM4PR03MB7015.namprd03.prod.outlook.com (2603:10b6:8:42::8) by
 CH0PR03MB5988.namprd03.prod.outlook.com (2603:10b6:610:e3::16) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9253.15; Sat, 25 Oct 2025 18:48:01 +0000
Received: from DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9]) by DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9%3]) with mapi id 15.20.9253.013; Sat, 25 Oct 2025
 18:48:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 23fcc456-b1d3-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=lZmkRA/VRMdqKgqNjZ1QggOUUKEyV+a9kJgjn6k+UzR24W08rtGdEzBlps6xuib6iWoGhijozM5TSMnin4lvIieJb9DlkbkikX+SZBy9dSPk/F7iCyqmL1X4GIY34/iuJdEWjOXMcu5FWi5/+We4wNyBxBTNF82rRZT2jFWsQEnRoXseKWnJcTxCcHSGGa44d9YqBDK1odYPlr84fQFivEjq3Ry8lR1X1oJnD1cuckqVIrSlwDitB+FKijNPZExRZD89ctbnxBVmK3DvNMzGq8jGfRx6DzfJ6TAO+8TzvEVHdND7jtKgHLGtzi3UYS6vcrKAHzY3vYeMr8lmYNJfYA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=N2YZOMGoAecLwEcYCX+Z6IfXrcGFzExwVl+rR4COTHs=;
 b=NQIIqK5kwqHR1DJG3JleOniAu5g057fwxibAG+tJqPCYr8eVH7a2pTPmVSUGZubbmcz4HNewm3dloDbuUX26prC2NO0mD31qzButTjnsC4bSixoxEDIZ7IawTIHIYWBXkGUc3TyU9pCYZS6+ys3Hq6W40S7Jc4czp9lrjNWMmiQ2xo4lhJqQtOTVbRDSz0gh7xZZjEafMN1G/mJZHqbKICRRJKRtWdKS43I8CpA3SE7/XjFlLF/xwCxfEfLBv0o2r+LmUK8EiszMWeaFKW1gdQDjY4EueX3q4DrRxldV81I3on+2C2DGAKjnZzrKDus94JgIOtRNzLK0hhaqSShq+Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=N2YZOMGoAecLwEcYCX+Z6IfXrcGFzExwVl+rR4COTHs=;
 b=vzcTsSx7hmCM08Be7kcB8wAl3DziC+jb4DcOWz/fWKPPaTRz2OYAT6fquj8H7M+HCBfcnRIxeEx1F/PNoIpSLnLQteIovk84ej7WGbG0fdyEduPMXaSTmPAkxOE9n9SRXA27uMrBazph0+9c5zwrEH/t3qljvTFkoq+m4G7zmuM=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <b15b6ed8-11dd-4d03-9c82-979d99af2867@citrix.com>
Date: Sat, 25 Oct 2025 19:47:57 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] Support LLVM raw profile versions 5, 6, 7, 8, 9, and
 10
To: Saman Dehghan <samaan.dehghan@gmail.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Wentao Zhang <wentaoz5@illinois.edu>,
 Matthew L Weber <matthew.l.weber3@boeing.com>
References: <3dc1fe6ee55d973a25a0441d0f6b41e00a58227b.1759355762.git.samaan.dehghan@gmail.com>
 <06646f747f21c3f388cf6e9d59a20238a4a91170.1761263588.git.samaan.dehghan@gmail.com>
 <c7397bc5-574d-444a-a8cf-e76e95ec20fd@citrix.com>
 <CAHFNDNhMCe--4z9CL49Yk8Rf4FA+G7-7VozJfhLcVESaByU7qg@mail.gmail.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <CAHFNDNhMCe--4z9CL49Yk8Rf4FA+G7-7VozJfhLcVESaByU7qg@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0206.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1a5::13) To DM4PR03MB7015.namprd03.prod.outlook.com
 (2603:10b6:8:42::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM4PR03MB7015:EE_|CH0PR03MB5988:EE_
X-MS-Office365-Filtering-Correlation-Id: 36020da0-f156-4cc8-3de9-08de13f705bb
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|7416014|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?UWxSZGIrZGFqN2F2UWlob0tIZ0w1dm5xYWdleUNmcGd4bjVLWStyaDk4eS9v?=
 =?utf-8?B?S2hxWXhnMmY4Q0ZoOXFMTXI5MzdQTlF2R1J4WTYwNnd5QkZjem5LUm5YMklB?=
 =?utf-8?B?V2VBenhlajhaUkh5SWNMc2hNY0sxVllBTFQrc0ZuYUFXYk5yQWdaRy9DOEJ3?=
 =?utf-8?B?bnpKNUxGdW1jZkhNTkdsM3VRT3VDVzhCWjRUQmZYQmNURWxSY2dnTGovWmdB?=
 =?utf-8?B?Y3RVYUJadTRCWSt4OVIrM0Nqek1aZm9XYmJqa0dycWpDNEhpNlg2aE9oS084?=
 =?utf-8?B?aEpTNGROcGVTUFBoa3lwMk9zSUZveDcwdlRvUm1tdEt1WGI2aVJZRXNPcFRN?=
 =?utf-8?B?dzNtaHB6Vm55VllnenR2cHEwUzdVT0pLZGN6dTlxQWxWc0k1d0NLU1NjTzVQ?=
 =?utf-8?B?bVpHR1N3OEhNNEFRWjR1MGt1YW9qeWJEK2M5U3ZJQTc3WGR6QnVXRnp5VUZL?=
 =?utf-8?B?cnBlVUMvRnVzOEhnaE1jSlB5TWJYa3QvaXlDMWJHT0ZJV0xyZUs1SDlaM2th?=
 =?utf-8?B?NC8xYnRhWWRMK3ZJZEdnTmloQzROVGFHaXRpa2pQZjBiNy9MR1VKbUtvMisv?=
 =?utf-8?B?a2hYRlZxSDJFVUxmSjhPd0dubTdiSEFHT1V5L285djB4WjR3U0lGY2xOekZQ?=
 =?utf-8?B?MTBBUHdRVU90bmM4Q2JMWkhKcTZ0QTRNRGR2b0NIUk5JWmtvVm5Eb1duSzVz?=
 =?utf-8?B?R2tkdzVzckVkR01qMjdhemNiUXNTOEFOdzJTRkRUcUhEVzFMUk9SNlRHSU16?=
 =?utf-8?B?TVhtbG9xbzhXSmhYZklKU25YbzRLUHZjaUhvT2Y3cEpLL3loSEFSRU96T083?=
 =?utf-8?B?M2tVVGdRUjdmdHdnK01BT3NBT1dGWDl2QUVwMFB0eGhQdmpaUFBIeHIvVlV6?=
 =?utf-8?B?NkRGZ0lzSjB1ZmRVYXFTakMrUjNFVFBiZ1BCOFhzRWp5SDRrVEVrNW9lMzlH?=
 =?utf-8?B?aEYzSjV1TE9MaHl6MHFCUlZ2ck1FMzIyd0hhWSthSDdxVHJEUmxDTS9TVGxL?=
 =?utf-8?B?ZUZBakdIenV6WUxPSWZ0MVNKdk43SFdtVVhYdWp3T20rU0dQMjh2REVPak5r?=
 =?utf-8?B?amd5WUFTNWgwOTcxZlBoSUZaYlExZEhCaFpPN1NHU0RTU25BRzNUaEc2ZUoy?=
 =?utf-8?B?MXVLMXFKdUk0bGtOLzVsYmcwSkRWOW5EVUNsalNNRjhxcWJXVXU2MDJJTkJt?=
 =?utf-8?B?WnJ6bVlsWG9BOGhCYi9tN2IxbzNIRXYvTFNmSStFNmQ5Nzc0bWp0dzVwMTht?=
 =?utf-8?B?VFF1eDhMUStIcnVuQkxZZUNuY25Fc1MyMngvVjdxaGxEbFd3T0NIenc5NUdG?=
 =?utf-8?B?czBwME81UXlUOGpkUmY0ZzNKbDF1Nno0cHYzMS9SSjNyRTBSU0E1bnhIam5D?=
 =?utf-8?B?YVc3VmlVbzZnSm9jd0d2Nk10NWFPbjFmTkNWZmMrSzZnUTVIMUJSNW9vSDYx?=
 =?utf-8?B?WkZPWUxVQ3orR0JWM28zYXBHT1FUV0Z6bTQ0bHhwMGQ0dlMvSWIyTm5DNGVi?=
 =?utf-8?B?a0JTQmZ1VlFnNDJIMG1wNzBBQ2ptbU83VWtwKy82RFA0MkE0VHlzWjdhakp3?=
 =?utf-8?B?M0ZrNzhKaWhGb2lDaFc3cm1zVWpLcjE4R1JQcmgxV1JTSm15Uk1keDF0NW56?=
 =?utf-8?B?V2JraDdhYlNZb3djUFc3Zlk5bjhpRTFKeXNmVFlNODVCcUhMYUladWpVOGNR?=
 =?utf-8?B?QnRieTJYYzFiUWpHcnlsNlRURU53ZEYrRUpNYjAvNkg1Smo1SlRNQ2VkUUxQ?=
 =?utf-8?B?N1BtclZLNmhoSDhwY3BEQWM2SElsTDdXam1vOWxMeTYzYkpLUkwybmdoYmpU?=
 =?utf-8?B?WDkxMHkxNHBKbEdzQ1I1WWMvcmlleHRIUGNMNFp0R2VZTDFudFhxZExJdHBS?=
 =?utf-8?B?QnduNUhtUVVKNWtXb0tiOUluRWIweHJkUUdrVmtNMDRrWmo3Y05ub25kT3c4?=
 =?utf-8?Q?tWAgCoSQpKv2DgGLQQZa5Tf4Q1CA9FQ+?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR03MB7015.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(7416014)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eUJRUVhSRmt2NVlHZ2UvU09aZHdYT2FZMnptMTlPY0xxWGRiNnBGWjlqbnVI?=
 =?utf-8?B?Snk4YlBpazdTVGlHTE9PTjJXamZnSmhDT2dQbGdPOEJzTjQ2a2xzQ3VTeUp5?=
 =?utf-8?B?UW8vek0yN3pNRmhaaEtVUXNza0w2ZHBYMWYyZHM2a1dIT3BlOHpYQStmU3Mx?=
 =?utf-8?B?SjJXWks0bmlQOHduVWVKbmRTbkV2UXppTHZvTEFjeFpmR2FYVVdwUTN1QkdM?=
 =?utf-8?B?YXJrLzRBZ3BoSU1hdW0wVzJHaGwyR2pXcXh1WmozUzAwZ0hnL2ZKSjlKekxN?=
 =?utf-8?B?NU5pNjRpZzhrZndSUHorM1BmZ25xdC91UjlnTDRqdlJPNUJGbVVvd1ErSURt?=
 =?utf-8?B?dWlGV1FMNDc3K01GNWFGWWxHTTJ5QUR3T0hTS01WQll4bllCMHpBMHZ4N0t5?=
 =?utf-8?B?byt1VnpZN1gzRGNoZ2c1L0gyZFI0Q2VQTXNHT1RxWEROUm5DOHNEdW9HR3Y5?=
 =?utf-8?B?MFd3dWpaSlRBYXFKcnMvZCtBYlhUK0VEK0NWZTAzeE1sZTI3ekNESVFtUkk4?=
 =?utf-8?B?QWZ1TVFrdnUwZkdQUEZLOXRabTAvcGtOU2diMGNIUmVIcml2RDRUdWNYaEo3?=
 =?utf-8?B?UnV3OUd5L0E3aFJVaGhmK2VkcGovMU1IcG11eVI0cDZUUmo4RjVqbnJlUTBL?=
 =?utf-8?B?QjRxS09KSkJyQ0xkeDZJUEJLblBQNzUxc28rb1VRRXBrSkc3MFpacDRJSTZw?=
 =?utf-8?B?SFA0c3FBb2tpY1B0amFQVDF5SHVqbGQ2cFkva3FvSWswUE5DTVJPSW1LbmFQ?=
 =?utf-8?B?N1FKYnBvL3RxbEN3M09abE1ZUDBNWlhQQlRQZ0J1SlREUHEyVXRySTVwUnhj?=
 =?utf-8?B?OHpNZE5vTW9lckV3S3ZTV21SVlFLeEEwYmlKWWphOW9SRnlZWXlRcGd0SW0x?=
 =?utf-8?B?eEhTby94eUtMTFV4U1VxY1hzTmtuY29PSFFUMm5KZHFZcWYvUmlRZFVXVG0x?=
 =?utf-8?B?blc2bFhJVXZPT05yM0dydTZwS0FXeVo2Y2R1Ulg2MGN3U0hDd2FFdThCcG5r?=
 =?utf-8?B?cU8xYXpDb3JMZTVCbmVHcTRLLzNWcjRrVkZZcnIwWmJNVXU3U1NJSExZSWlp?=
 =?utf-8?B?TU1qS0hRejl6TnhrMFdWdE0xTjQ2SnhxTDZFL1gvMXlPejBTeFZjd2RRVUs3?=
 =?utf-8?B?eGZBdWpTVmdydFVhV0RqUXB6VmVCWk1OVStSZGkrTXlKWjUvSkxBeTIrdUcz?=
 =?utf-8?B?a1M5L05xN0JnaHFmTm8ydUtFVVlkM01nMk1BSDVURlFaQkFRVmdBT3ZNcE5J?=
 =?utf-8?B?dnJUZjBibTJkeklISU82YVArRk1ka2pFYi83WEJoTFkrU1haNjF2RUdBNjJO?=
 =?utf-8?B?QXhYRi8yaHFvbEw2OEJzVmdNQW5BalNhRHZNTDYyTlUzUU5HZW1oTzFkWUY0?=
 =?utf-8?B?SGF0V2ZBa2ZrU0lrcFg1bHdBQ2pBMHZxMFlRRWV0aWdqRkl5VTF3WVpoVytY?=
 =?utf-8?B?TitOZFczS0xDNUhGbTVNY2pCMXF4VFhSMkVSTTM0Y2ZDVU16WUZVeER5OXAw?=
 =?utf-8?B?WWF0MEFaSWVIZkZXRkZXK2dsSWNla2ZxcjR1Q1dQMHF1MTBtNWVlNVRWK0JR?=
 =?utf-8?B?SGZFek5SbC9GbGpiWFJta2VIdm83cXNFNzhQYzRmWnBWc2FBZzRMSVJEQUNT?=
 =?utf-8?B?RTJPenVDSDM3QkR1MzVqMTZTYXJTaEVKVFZSOVo5MEdTUWduaHBoL29WOXlG?=
 =?utf-8?B?R3Q3djVMdC80RGYwQ3ZJNEQ0anhoWjRnV3RCcWRtdndLWEJ4U2NMRmxSNHhK?=
 =?utf-8?B?R2lmYlV5Zm82bTR2RkpPc05Ta25xWXl5V2p1cXk1Zldjb1F6bnRPdDRUMUxR?=
 =?utf-8?B?MUJqZm1Zd29YRVczK3QwOGdETFRYSGFmd3NoR0dpWG1oSnRFd2hDZFRHYUs2?=
 =?utf-8?B?elh0ZXVhVFNzQ2RVUkpqNkd2VjRUSmpscTNCSEFiQWNOaVFQZlIwcHBYYW1T?=
 =?utf-8?B?SGY1SkpjZDd3czNIcC9zcTk3cUQvTkJ3WFVaWEc4T0tsODNPWVhZU0NEeWc3?=
 =?utf-8?B?ZGlHbUpueEl3NjdpaFdsMlJTRGRnMERjZTN6RXozdHVXcU1xMjBVQndGOXlI?=
 =?utf-8?B?TmlJcGVoY1JSS3VIekN1Y2dha1hWREhtZHB5clJLTkpHYkJ4MlFoRGhhdklz?=
 =?utf-8?B?NVorODdBRk54WDY4WUxoZit6U3RBRERYbVJYSldpdllDL055SFdVN1drWndt?=
 =?utf-8?B?NXc9PQ==?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 36020da0-f156-4cc8-3de9-08de13f705bb
X-MS-Exchange-CrossTenant-AuthSource: DM4PR03MB7015.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Oct 2025 18:48:00.8687
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: tv8zHGSzXJH0eBH91VnDiGWH43DeP1P0QcqFmi+7IxRB5EUikGj1avWczNb2SFtuGiOmAiXASpHQsFaTIo4soIspERHCeo40Pa0moqSKHPw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR03MB5988

On 25/10/2025 12:38 am, Saman Dehghan wrote:
>>> +        .padding_bytes_after_counters = 0,
>>> +#if __clang_major__ >= 18
>>> +        .num_bitmap_bytes = 0,
>>> +        .padding_bytes_after_bitmap_bytes = 0,
>>> +#endif
>>>          .names_size = END_NAMES - START_NAMES,
>>> +#if __clang_major__ >= 14
>>> +        .counters_delta = START_COUNTERS - START_DATA,
>>> +#else
>>>          .counters_delta = (uintptr_t)START_COUNTERS,
>>> +#endif
>>> +
>>> +#if __clang_major__ >= 18
>>> +        .bitmap_delta = 0,
>>> +#endif
>>>          .names_delta = (uintptr_t)START_NAMES,
>>> +#if __clang_major__ >= 19 && __clang_major__ <= 20
>>> +        .num_vtables = 0,
>>> +        .vnames_size = 0,
>>> +#endif
>> Because this is a structure initialiser, everything set explicitly to 0
>> can be omitted.  This removes all #ifdef-ary except the .counters_delta
>> I believe, as well as the .padding_byte_* fields.
>>
> Is it undefined behaviour to leave struct members uninitialized for
> local variables?

They are well defined as 0 when using a structure initialiser.

>
>> The resulting diff is far smaller.
>>
>>>          .value_kind_last = LLVM_PROFILE_NUM_KINDS - 1,
>>>      };
>>>      unsigned int off = 0;
>>> diff --git a/xen/include/xen/xen.lds.h b/xen/include/xen/xen.lds.h
>>> index b126dfe887..42550a85a2 100644
>>> --- a/xen/include/xen/xen.lds.h
>>> +++ b/xen/include/xen/xen.lds.h
>>> @@ -81,6 +81,24 @@
>>>    .stab.index 0 : { *(.stab.index) }         \
>>>    .stab.indexstr 0 : { *(.stab.indexstr) }
>>>
>>> +#if defined(CONFIG_COVERAGE) && defined(CONFIG_CC_IS_CLANG)
>>> +
>>> +#define LLVM_COV_RW_DATA                                   \
>>> +    DECL_SECTION(__llvm_prf_cnts) { *(__llvm_prf_cnts) }   \
>>> +    DECL_SECTION(__llvm_prf_data) { *(__llvm_prf_data) }   \
>>> +    DECL_SECTION(__llvm_prf_bits) { *(__llvm_prf_bits) }
>>> +
>>> +#define LLVM_COV_RO_DATA                                   \
>>> +    DECL_SECTION(__llvm_prf_names) { *(__llvm_prf_names) }
>>> +
>>> +#define LLVM_COV_DEBUG                                     \
>>> +    DECL_DEBUG(__llvm_covfun, 8)                           \
>>> +    DECL_DEBUG(__llvm_covmap, 8)
>>> +#else
>>> +#define LLVM_COV_RW_DATA
>>> +#define LLVM_COV_RO_DATA
>>> +#define LLVM_COV_DEBUG
>>> +#endif
>> Newline here.
>>
>> But, there's no problem stating sections which are unused.  I think the
>> outer #if/#else can be dropped.
>>
>> Otherwise, Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>
>> I can fix these all up on commit, seeing as it's release acked for 4.21
> Thank you for offering to fix them up. Let me know how I can help or
> if I need to send another version.

This is the version with the fixups I suggested, run through CI:

https://gitlab.com/xen-project/hardware/xen-staging/-/pipelines/2118913271
https://gitlab.com/xen-project/hardware/xen-staging/-/commit/c06dadb80a1e4058c7cdef4144a7e4c4799a38a7

However, one further thing I noticed.Â  On v2, Roger asked you to express
struct llvm_profile_{header,data} in terms of LLVM_PROFILE_VERSION,
rather than __clang_major__.

If you want to start from the version I cleaned up, and then submit a v4
addressing Roger's feedback, please feel free.Â  This will save needing
to fix it up later.

~Andrew


From xen-devel-bounces@lists.xenproject.org Sat Oct 25 20:09:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 25 Oct 2025 20:09:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151233.1481904 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCkZq-00039F-2z; Sat, 25 Oct 2025 20:09:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151233.1481904; Sat, 25 Oct 2025 20:09:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCkZq-000398-0T; Sat, 25 Oct 2025 20:09:26 +0000
Received: by outflank-mailman (input) for mailman id 1151233;
 Sat, 25 Oct 2025 20:09:24 +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
 <SRS0=aHFQ=5C=gmail.com=freddy77@srs-se1.protection.inumbo.net>)
 id 1vCkZn-000392-Th
 for xen-devel@lists.xenproject.org; Sat, 25 Oct 2025 20:09:23 +0000
Received: from mail-yx1-xb12d.google.com (mail-yx1-xb12d.google.com
 [2607:f8b0:4864:20::b12d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7e08c03b-b1de-11f0-980a-7dc792cee155;
 Sat, 25 Oct 2025 22:09:21 +0200 (CEST)
Received: by mail-yx1-xb12d.google.com with SMTP id
 956f58d0204a3-63e35e48a27so3289725d50.0
 for <xen-devel@lists.xenproject.org>; Sat, 25 Oct 2025 13:09:21 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7e08c03b-b1de-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1761422960; x=1762027760; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:mime-version:from:to:cc:subject
         :date:message-id:reply-to;
        bh=rsTuzccq5BBMJUG6ObPUHlp6hFKmAerwIxImdU/w9aw=;
        b=JFhwc9XhAyHMZNHxpgxwVHjpqyOAChaUDZoN9IJ33bxB9RaPToLW1LOnuAnUckaBHP
         TVF24FznVo6m+p+kd1GBQe8pfAnJoeY1SgEL700324wXOkVPX9b9JECfZLQGNybNviPV
         ySIa4WMhmATjNSWYdmN3a1F9CqD9lDqUQBE634xg5pdq/sHMBrk7BLrdnzXfIy5GWhQX
         q57sazno/CC6uGQaKAlrr+qfQ5berUsPuBDnu4mRBqrlzBCz42De6PURtzeriRGCGbVf
         HQyRcxuiFpmK/U1r8SDGIh6Su3D1YUzY4O9Rfkl3AVbaApyCnlwg9qNe4as8qdvJlDKA
         aZug==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761422960; x=1762027760;
        h=cc:to:subject:message-id:date:from:mime-version:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=rsTuzccq5BBMJUG6ObPUHlp6hFKmAerwIxImdU/w9aw=;
        b=DLLNH6Wqvj2EDF2cKW4X6+yQkTtfGnc9A4pqAKFqi7mp183BZwUgvQRRgiulyMMO4U
         RVAUkn5r62Pg7QCGI9/Ldgy0SRAtbXxzOVlNG5E/LOAroBVyTBdyppF4821+XG3wixjO
         xz3922QnDcz5wjjsvsQKYJBV0G31bVsRpEo0uA4FQqjWTXfHSbgBzOQsveQHZND7lf+l
         7jXQvIFRHUYXHKAI/YgZaGmT6anVa7gRDgmjlqjlWuojnUajPKQUdmqZhcrMGcyZsDNl
         plY+QcoAC3XOgC7dtjx5/FfyjllEyUd4pZx/ovyDITzcg+JDR54aE8SxwJCyeOFrubjz
         6NYw==
X-Gm-Message-State: AOJu0YyZSeUs0vurC4Z1yx4GY6tZMpnYtsi3DOCbV4X54pOowEmgM184
	g6yhP/1c+GiVU/1BaQS4XlKZXIX2txwD1pQbUSblIVWBXnsFKvFkksnQcBgETRpb6xA+8uT0/88
	8RiERjhHWYnyCJ+Z6ixScVP1QPjuhJOTICiSr
X-Gm-Gg: ASbGncsElyV4nKTAp1KQRMWyoB2mGYS9JkV1LRL7aEaY2TuJg+cvqojjASk+gtUYNjr
	zMcqo9ZDU9r3Y5sroHA1C/fM/TqqUu+NLIJXjewH+2QgRru8jUpfhNzZMmazfaEoZYmVwyjKskQ
	RsurZjxNtJdqCP5nuJn6CSj+/3Vjt0fK7kEo3WD9Y2hSJzlgdf2RMhHOHv9r7QjRHLs1NsSi09o
	Mq7SFIj9bXLosgzFPJywhjfzsr7MglfOFI/hMZswspIfS8MyEMZtx6g9WWK
X-Google-Smtp-Source: AGHT+IEPJLFh+9PuUvoA8kwP4K0mNmrcllMgyWgkTlwYzLHdppceX0an36fMdS+ugtCHXaIzXatBiKv9QQXVUNEod5A=
X-Received: by 2002:a05:690e:1593:10b0:63b:5b6e:2967 with SMTP id
 956f58d0204a3-63e16109f8bmr22981869d50.5.1761422959632; Sat, 25 Oct 2025
 13:09:19 -0700 (PDT)
MIME-Version: 1.0
From: Frediano Ziglio <freddy77@gmail.com>
Date: Sat, 25 Oct 2025 21:09:08 +0100
X-Gm-Features: AS18NWB3-kwS9AMxjFSzJTXWkcnR_V9pU7FD_O0PGt461J0JMJRcwyEwkP3BK9I
Message-ID: <CAHt6W4e1XOoqO-W0O1mEU4UCr_ik=J9bRGQQPeNL3YLQSyV7_w@mail.gmail.com>
Subject: [PATCH v2] xen/pci: prevent infinite loop for faulty SR-IOV cards
To: xen-devel <xen-devel@lists.xenproject.org>
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Andrew Cooper <andrew.cooper3@citrix.com>
Content-Type: text/plain; charset="UTF-8"

If a SR-IOV card presents an I/O space inside a BAR the
code will continue to loop on the same card.
This is due to the missing increment of the cycle variable.

Fixes: a1a6d59862f4 ("pci: split code to size BARs from pci_add_device")
Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
---
Changes since v1:
- add Fixes comment
---
 xen/drivers/passthrough/pci.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
index 3edcfa8a04..52c22fa50c 100644
--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -746,6 +746,7 @@ int pci_add_device(u16 seg, u8 bus, u8 devfn,
                     printk(XENLOG_WARNING
                            "SR-IOV device %pp with vf BAR%u in IO space\n",
                            &pdev->sbdf, i);
+                    ++i;
                     continue;
                 }
                 ret = pci_size_mem_bar(pdev->sbdf, idx, NULL,
-- 
2.43.0


From xen-devel-bounces@lists.xenproject.org Sat Oct 25 20:10:10 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 25 Oct 2025 20:10:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151243.1481916 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCkaY-0004aH-GS; Sat, 25 Oct 2025 20:10:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151243.1481916; Sat, 25 Oct 2025 20:10:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCkaY-0004aA-By; Sat, 25 Oct 2025 20:10:10 +0000
Received: by outflank-mailman (input) for mailman id 1151243;
 Sat, 25 Oct 2025 20:10:09 +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
 <SRS0=aHFQ=5C=gmail.com=freddy77@srs-se1.protection.inumbo.net>)
 id 1vCkaX-000392-GS
 for xen-devel@lists.xenproject.org; Sat, 25 Oct 2025 20:10:09 +0000
Received: from mail-yx1-xb133.google.com (mail-yx1-xb133.google.com
 [2607:f8b0:4864:20::b133])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 99dab77f-b1de-11f0-980a-7dc792cee155;
 Sat, 25 Oct 2025 22:10:07 +0200 (CEST)
Received: by mail-yx1-xb133.google.com with SMTP id
 956f58d0204a3-63e393c4a8aso3925787d50.2
 for <xen-devel@lists.xenproject.org>; Sat, 25 Oct 2025 13:10:07 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 99dab77f-b1de-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1761423006; x=1762027806; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=TZHvKenrpBFiKUIp59zxttbgmMI64UBGFdP5y2QzeKQ=;
        b=S+hByAWsvQwMqT+rFMGAsSLjMPceIq7HznJSzhdKHCxwG2LB/CPpcTkpZZOx8gsW5E
         xJkRB8yvGn8O5U6BSFSh4wJzYYV59a6eFqdxaNo1whXN8cHPAljjgHmgqlrYFUghgM6s
         QtVPrSEaHBQkZs4ZQo0GgxZogSmmShpKxgfaVCXqjXffSYEClg3HbDm0TRuPZONMLx7C
         O4ag3Ku5v9U55MeySnAIDO4rV6L4s9xo0qBEJUX7X9ZOL/Vdq1R1vfhWiC4kq/ivBf+B
         00PFk0J0UdfvTaogtAlWpmanDvMkmZDjWl8xxbuFjb7YlvQCiQfR/YW2KvcrmJYch9C2
         4qkw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761423006; x=1762027806;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=TZHvKenrpBFiKUIp59zxttbgmMI64UBGFdP5y2QzeKQ=;
        b=I/8YQlUKgxtIts+b5Bz7HybsBr3WEPEmQt40B3oxlqWqxE8h28cxlW4UAdLUpSvz8f
         o1PdtWmh4jjutCHgdP77+jPrccyRjerEymbU12if1B2q+Qo/H59ZuQZhYQE+i3M15iwi
         bSxOisWxxCVP3H7BmSrsBCNJgI3Zq92gAuqXldgTQk9XO8AvP3rZ8LPHFKRXhVXmv6ZK
         AkkubTDU8lVqxfQe1a3pKB8wxV55f1o/fA8y0VXtTdRhIyoRwLz8MygkOPvWES0oyhbt
         UzaGdgg9mgvYN3OlK1uEt2LsIWxyRrVdmuWyM4H0Y9HsBOLSvsSAKgikMJ58goCaiw0p
         /sQg==
X-Gm-Message-State: AOJu0YxCDpZCwM+6OlwOKFXbMm5EV6wpxTGewCt4DNCMPG4FFjNJi/lE
	MgGGBHQ8ig+edJj2hWPr/E2/D32g2cN1lStM7vmyMXgh4gXRL1j8AsUvEWBy7t3e2Gc3fx2eQ3t
	BWg5l1yXoeF+yPgu9PKjtnFojHbRUxIcRrA==
X-Gm-Gg: ASbGncuYEGXKSVeeHCONR/9xepfOmUBXsUOfE38dFLy2t0XnHn4E7gKMtgra2czW5a0
	+IaEMEgi6UGv/Z2zj2xT97pO3L3r6MnoFvSctykAFOuzmmU7VBv1Bq0768gRXGpqnf3uKFDldpW
	MSqYREAfY67X7Wi8aiYXgDnvieUl3vJX0ykwp9xj4tAm0QLfeWOofqcPK43wWN3d1wYYsAWWJmQ
	ZVdY8/Imklywjim8KwEKt3y88wrTe3bJM3Pi7T0bOatnUOvbDA4M0Vv3eey
X-Google-Smtp-Source: AGHT+IEwga0Gy48EGTX6J/zYPv3IOrrKdqpKEO1MgqtzAx0IfS28AlLbWfUe2jHUmEThmR4P7BrOBqAr0hO/ak7Nq7Q=
X-Received: by 2002:a05:690e:1483:b0:63e:29ad:ad8 with SMTP id
 956f58d0204a3-63e29ad0e51mr18247718d50.25.1761423006511; Sat, 25 Oct 2025
 13:10:06 -0700 (PDT)
MIME-Version: 1.0
References: <CAHt6W4dnM1pLMnDVyywc_2d-6nry7pFCYomSvRjyuH7sRm0J4Q@mail.gmail.com>
 <72a2f002-23fd-4d06-8c44-3e535533bec2@citrix.com>
In-Reply-To: <72a2f002-23fd-4d06-8c44-3e535533bec2@citrix.com>
From: Frediano Ziglio <freddy77@gmail.com>
Date: Sat, 25 Oct 2025 21:09:54 +0100
X-Gm-Features: AS18NWBrAfHa2q4j67EgIj2tXQtQPp61krvPOaAIoeeBoq2I19sOGmwSfLy8G80
Message-ID: <CAHt6W4cumdaGHzwNTMzyYvFVCs8X8FoddT1KaiGrmAVgUYgw+g@mail.gmail.com>
Subject: Re: [PATCH] xen/pci: prevent infinite loop for faulty SR-IOV cards
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>, Jan Beulich <jbeulich@suse.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Content-Type: text/plain; charset="UTF-8"

On Fri, 24 Oct 2025 at 16:58, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>
> On 24/10/2025 4:13 pm, Frediano Ziglio wrote:
> > If a SR-IOV card presents an I/O space inside a BAR the
> > code will continue to loop on the same card.
> > This is due to the missing increment of the cycle variable.
> >
> > Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
>
> Yes, that's buggy.  Was this from a real card, or just code inspection?
>

Code inspection.

> ~Andrew

Frediano


From xen-devel-bounces@lists.xenproject.org Sat Oct 25 21:51:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 25 Oct 2025 21:51:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151162.1481926 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCmAI-0007sT-C1; Sat, 25 Oct 2025 21:51:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151162.1481926; Sat, 25 Oct 2025 21:51:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCmAI-0007sM-8Q; Sat, 25 Oct 2025 21:51:10 +0000
Received: by outflank-mailman (input) for mailman id 1151162;
 Sat, 25 Oct 2025 13:47:00 +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
 <SRS0=rCcB=5C=failmail.dev=patrick@srs-se1.protection.inumbo.net>)
 id 1vCebk-0001KO-SQ
 for xen-devel@lists.xen.org; Sat, 25 Oct 2025 13:47:00 +0000
Received: from failmail.dev (failmail.dev [162.55.49.44])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 100f32b9-b1a9-11f0-980a-7dc792cee155;
 Sat, 25 Oct 2025 15:46:53 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 100f32b9-b1a9-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; s=rsa_default; d=failmail.dev; c=relaxed/relaxed; r=y;
	h=Subject:From:To:Date:Message-ID; t=1761399891; bh=BpAzC6KqIFyvNtFl55X1Ecu
	3ee15Bu1PFYWXuX/7qXE=; b=VF+V2Ha9ChWjTi3OitXixXe9x+Kt9TpmzRdevxWob3IboTo4yB
	K6oZYgmODKPTZXDy4qPJORspMGoPj9fNnGanbkGKDfm47gA679begvzO8ah5RpA0ZIlo8792Pdn
	3jA8dWMgKCw5Srb+yLIHoNn/39doLMOZsWtOroO1xBufHIBYfmz3vro79RWL3xBizTL6zhPjOuS
	Ws/JaMpg3KK3fUmm3pkbN+EtPNswG/wwINu7rzg2YH683T8h6A04Vq0PPgtK5Ff+jUvHGaOsxvt
	c2daZGOQlGc/86xO6laSfWxxgDcL/jv+14bUwCTbWaLnJ83xfTpvZth+UKPqH4/o4jw==;
DKIM-Signature: v=1; a=ed25519-sha256; s=ed_default; d=failmail.dev; c=relaxed/relaxed; r=y;
	h=Subject:From:To:Date:Message-ID; t=1761399891; bh=BpAzC6KqIFyvNtFl55X1Ecu
	3ee15Bu1PFYWXuX/7qXE=; b=s4PNiwtqa4hcz0EmNJrdVkBBZ2Mh0Y52j8kMordcOU02MYNl/p
	ZbAMNdQFtPKK8WC5y8DonYJAz5fOy4bwoDCQ==;
Message-ID: <ab3a978a-2088-4a39-a4c1-822ae5050fe6@failmail.dev>
Date: Sat, 25 Oct 2025 13:44:00 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
To: xen-devel@lists.xen.org
From: Patrick <patrick@failmail.dev>
Content-Language: en-US
Subject: [BUG]: Crashing Xen when nestedhvm is enabled
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Dear all,

I think I have found a way for a guest to crash the hypervisor,
when hardware nesting is enabled and we are running on Intel using VMX.

This is done by executing the following steps in the non nested guest:

- Enable VMX and set a vmcs active
- Override the revision id of the active vmcs using memory access to any invalid id
- call vmwrite to write the `MSR_BITMAP`

Basically this:
```C
vmxon();
vmcs = alloc();
*(uint32_t*)vmcs = correct_vmcs_revision_id;
vmptrld(vmcs);
*vmcs = invalide_vmcs_revision_id;
vmwrite(MSR_BITMAP, NULL);
```

The `vmptrld` will set the provided vmcs as the link pointer as seen in
`xen/arch/x86/hvm/vmx/vvmx.c:1834`
```
if ( cpu_has_vmx_vmcs_shadowing )
    nvmx_set_vmcs_pointer(v, nvcpu->nv_vvmcx);
```

If the guest now calls `VMWRITE` it will access that vmcs directly,
execpt if writing/reading the `IO_BITMAP` or the `MSR_BITMAP`

`xen/arch/x86/hvm/vmx/vvmx.c:107`
```
/*
* For the following 6 encodings, we need to handle them in VMM.
* Let them vmexit as usual.
*/
set_bit(IO_BITMAP_A, vw);
set_bit(VMCS_HIGH(IO_BITMAP_A), vw);
set_bit(IO_BITMAP_B, vw);
set_bit(VMCS_HIGH(IO_BITMAP_B), vw);
set_bit(MSR_BITMAP, vw);
set_bit(VMCS_HIGH(MSR_BITMAP), vw);
```

If we now execute `vmwrite(MSR_BITMAP, 0)` in the guest it will execute this stack:
```
nvmx_handle_vmwrite
set_vvmcs_safe
set_vvmcs_real_safe
virtual_vmcs_vmwrite_safe
virtual_vmcs_enter
__vmptrld
```
The vmcs pointer being loaded in the last step being the one supplied by the guest
that has been overwritten.
Since we have overwritten the `vmcs_revision_id` the hardware will reject the vmptrld, which
will call `BUG()`.

---
A secondary similar bug happens when calling `VMXOFF` while a shadow vmcs is active.
This will not clear the shadow vmcs, and crash the guest if it ever writes to the vmcs again.
Effectively locking the page of being modified until a new vmcs is set active.
This should be fixed by applying this patch:

diff --git a/xen/arch/x86/hvm/vmx/vvmx.c b/xen/arch/x86/hvm/vmx/vvmx.c
index 2432af58e0..3895dd158a 100644
--- a/xen/arch/x86/hvm/vmx/vvmx.c
+++ b/xen/arch/x86/hvm/vmx/vvmx.c
@@ -1589,6 +1589,8 @@ static int nvmx_handle_vmxoff(struct cpu_user_regs *regs)
     struct vcpu *v=current;
     struct nestedvmx *nvmx = &vcpu_2_nvmx(v);
 
+	if ( cpu_has_vmx_vmcs_shadowing )
+		nvmx_clear_vmcs_pointer(v, nvcpu->nv_vvmcx);
     nvmx_purge_vvmcs(v);
     nvmx->vmxon_region_pa = INVALID_PADDR;

As far as I have read it is not specifically stated in the Intel SDM that a VMXOFF clears the active vmcs, however it
does also not state anything otherwise and I thinks it's saner to clear it than to crash the guest because of an
vmcs error, when it has vmx disabled.
 



From xen-devel-bounces@lists.xenproject.org Sun Oct 26 07:38:57 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 26 Oct 2025 07:38:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151312.1481935 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCvKp-0006MO-Mm; Sun, 26 Oct 2025 07:38:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151312.1481935; Sun, 26 Oct 2025 07:38:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCvKp-0006MH-Jd; Sun, 26 Oct 2025 07:38:39 +0000
Received: by outflank-mailman (input) for mailman id 1151312;
 Sun, 26 Oct 2025 07:38: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 <SRS0=W+PR=5D=kernel.org=leon@srs-se1.protection.inumbo.net>)
 id 1vCvKo-0006MB-Km
 for xen-devel@lists.xenproject.org; Sun, 26 Oct 2025 07:38:38 +0000
Received: from tor.source.kernel.org (tor.source.kernel.org
 [2600:3c04:e001:324:0:1991:8:25])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c6eca9b4-b23e-11f0-9d16-b5c5bf9af7f9;
 Sun, 26 Oct 2025 08:38:35 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by tor.source.kernel.org (Postfix) with ESMTP id 10582602B6;
 Sun, 26 Oct 2025 07:38:33 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id BBEC0C4CEE7;
 Sun, 26 Oct 2025 07:38:31 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c6eca9b4-b23e-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1761464312;
	bh=tE6duDWkMhf/izPfcVJAu0QGF5RniuWMZJNurHMPV4k=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=m+Fmvy/TkbKsHE/ly3nNuV5cMvplX6wPfLQ8hDaDmyX3wLacnUE7JOG/nZvuUxvmv
	 CczVISfw5M2fl/jL4dxMpQZjR+1heTwgUYiFF7wTs743d7UeCv0GILFXzjGlxgVBC0
	 oE76qdMbU/6QmYSolZLhh/1ehXnuAH4Wfx1TxENucSoXAohh6TFciSEQZaKMP7NYm1
	 JNqz8+TYhassoC4ST69Mi5FA0Qr+hRmr+2UhbjR5EKFyOegX19oAs4ZZ/0v57u0VQ0
	 /l9R6yk8RlGVj+rmA/30TcaUiEVUwLELSxYEgJrK1wn3ZV8WITcnHNlOkzodvgsSHW
	 uuxeQvWuJFb7A==
Date: Sun, 26 Oct 2025 09:38:28 +0200
From: Leon Romanovsky <leon@kernel.org>
To: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: Robin Murphy <robin.murphy@arm.com>,
	Russell King <linux@armlinux.org.uk>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Matt Turner <mattst88@gmail.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	"James E.J. Bottomley" <James.Bottomley@hansenpartnership.com>,
	Helge Deller <deller@gmx.de>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Geoff Levand <geoff@infradead.org>,
	"David S. Miller" <davem@davemloft.net>,
	Andreas Larsson <andreas@gaisler.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>, x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>, iommu@lists.linux.dev,
	linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	xen-devel@lists.xenproject.org, linux-alpha@vger.kernel.org,
	linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org, sparclinux@vger.kernel.org,
	Magnus Lindholm <linmag7@gmail.com>, Jason Gunthorpe <jgg@ziepe.ca>
Subject: Re: [PATCH v5 00/14] Remove DMA map_page/map_resource and their
 unmap callbacks
Message-ID: <20251026073828.GC12554@unreal>
References: <CGME20251015091313eucas1p2426ae40b579d7f3b4f29b46e0e788c0d@eucas1p2.samsung.com>
 <20251015-remove-map-page-v5-0-3bbfe3a25cdf@kernel.org>
 <4a47088d-6542-45f2-917b-c91f7dd1eb1a@samsung.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <4a47088d-6542-45f2-917b-c91f7dd1eb1a@samsung.com>

On Mon, Oct 20, 2025 at 06:27:32PM +0200, Marek Szyprowski wrote:
> Dear All,
> 
> On 15.10.2025 11:12, Leon Romanovsky wrote:
> > This series is a combination of previous two steps [1, 2] to reduce
> > number of accesses to struct page in the code "below" DMA layer.
> >
> > In this series, the DMA .map_page/.map_resource/.unmap_page/.unmap_resource
> > callbacks are converted to newly introduced .map_phys/.unmap_phys interfaces.
> 
> I would like to have some acks from respective arch maintainers before 
> applying this patchset.

If to judge by git log and lore for some of these arch (didn't check all),
you won't get any response and will need to make a call by yourself.

Thanks

> 
> Best regards
> -- 
> Marek Szyprowski, PhD
> Samsung R&D Institute Poland
> 


From xen-devel-bounces@lists.xenproject.org Sun Oct 26 10:53:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 26 Oct 2025 10:53:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151341.1481944 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCyNG-0004MO-6L; Sun, 26 Oct 2025 10:53:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151341.1481944; Sun, 26 Oct 2025 10:53:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vCyNG-0004MH-3s; Sun, 26 Oct 2025 10:53:22 +0000
Received: by outflank-mailman (input) for mailman id 1151341;
 Sun, 26 Oct 2025 10:53:20 +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
 <SRS0=1QZq=5D=wanadoo.fr=christophe.jaillet@srs-se1.protection.inumbo.net>)
 id 1vCyND-0004M9-IX
 for xen-devel@lists.xenproject.org; Sun, 26 Oct 2025 10:53:20 +0000
Received: from smtp.smtpout.orange.fr (smtp-74.smtpout.orange.fr
 [80.12.242.74]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f7cee1de-b259-11f0-980a-7dc792cee155;
 Sun, 26 Oct 2025 11:53:13 +0100 (CET)
Received: from fedora.home ([IPv6:2a01:cb10:785:b00:8347:f260:7456:7662])
 by smtp.orange.fr with ESMTPA
 id CyN1vAKxM7TjyCyN1vOFVf; Sun, 26 Oct 2025 11:53:11 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f7cee1de-b259-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=wanadoo.fr;
	s=t20230301; t=1761475991;
	bh=nLTWNBJbJPgxe0pVePlYQcmuPVBtcUlK4ki+WghVXJE=;
	h=From:To:Subject:Date:Message-ID:MIME-Version;
	b=dN663kkOmoL1Yqtgf9bVfvFh8G1TTPKem18dWi4I2911mqyC5iut+ymVsKal1toGP
	 GK2J+gdGuZka/JHwzkIIsdZqTBFkb0js8kNl5iB3pR50ziH/u1rNduIQ4sO0mvhz+h
	 r0haMKkGv2xttG7+CRbFMzhDseidaiRZA0//eHz8jxK7n7Q2LEpT7ZFzk9UhGDS2vQ
	 hs7S09rfKLv1agePW2zPKkANzCpOxohm204s/HZ6MMIfoxg7+caSI+oC8vej2XXr2W
	 bFem56uVJRHEESHx87OXSlVcO7/2+dZYhcXcm0zf3u7Wkrklk7P+L1lzkkfi5Myktc
	 +gIqKDc6ftgpA==
X-ME-Helo: fedora.home
X-ME-Auth: Y2hyaXN0b3BoZS5qYWlsbGV0QHdhbmFkb28uZnI=
X-ME-Date: Sun, 26 Oct 2025 11:53:11 +0100
X-ME-IP: 2a01:cb10:785:b00:8347:f260:7456:7662
From: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
To: Juergen Gross <jgross@suse.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linux-kernel@vger.kernel.org,
	kernel-janitors@vger.kernel.org,
	Christophe JAILLET <christophe.jaillet@wanadoo.fr>,
	xen-devel@lists.xenproject.org,
	linux-usb@vger.kernel.org
Subject: [PATCH] xen/usb: Constify struct hc_driver
Date: Sun, 26 Oct 2025 11:51:04 +0100
Message-ID: <63241c9e857646d895ce615b998d41ee4829f9e3.1761475831.git.christophe.jaillet@wanadoo.fr>
X-Mailer: git-send-email 2.51.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

'struct hc_driver' is not modified in this driver.

Constifying this structure moves some data to a read-only section, so
increases overall security, especially when the structure holds some
function pointers.

On a x86_64, with allmodconfig, as an example:
Before:
======
   text	   data	    bss	    dec	    hex	filename
  52065	  23176	    256	  75497	  126e9	drivers/usb/host/xen-hcd.o

After:
=====
   text	   data	    bss	    dec	    hex	filename
  52897	  22344	    256	  75497	  126e9	drivers/usb/host/xen-hcd.o

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
---
 drivers/usb/host/xen-hcd.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/usb/host/xen-hcd.c b/drivers/usb/host/xen-hcd.c
index 1c2a95fe41e5..0a94d302911a 100644
--- a/drivers/usb/host/xen-hcd.c
+++ b/drivers/usb/host/xen-hcd.c
@@ -1388,7 +1388,7 @@ static int xenhcd_get_frame(struct usb_hcd *hcd)
 	return 0;
 }
 
-static struct hc_driver xenhcd_usb20_hc_driver = {
+static const struct hc_driver xenhcd_usb20_hc_driver = {
 	.description = "xen-hcd",
 	.product_desc = "Xen USB2.0 Virtual Host Controller",
 	.hcd_priv_size = sizeof(struct xenhcd_info),
@@ -1413,7 +1413,7 @@ static struct hc_driver xenhcd_usb20_hc_driver = {
 #endif
 };
 
-static struct hc_driver xenhcd_usb11_hc_driver = {
+static const struct hc_driver xenhcd_usb11_hc_driver = {
 	.description = "xen-hcd",
 	.product_desc = "Xen USB1.1 Virtual Host Controller",
 	.hcd_priv_size = sizeof(struct xenhcd_info),
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Sun Oct 26 21:38:13 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 26 Oct 2025 21:38:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151421.1481967 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vD8R0-0002B4-8r; Sun, 26 Oct 2025 21:37:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151421.1481967; Sun, 26 Oct 2025 21:37:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vD8R0-0002Aw-3f; Sun, 26 Oct 2025 21:37:54 +0000
Received: by outflank-mailman (input) for mailman id 1151421;
 Sun, 26 Oct 2025 21:37:52 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1vD8Qy-0002Ao-Po
 for xen-devel@lists.xenproject.org; Sun, 26 Oct 2025 21:37:52 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <julien@xen.org>) id 1vD8Qr-003Hno-2U;
 Sun, 26 Oct 2025 21:37:45 +0000
Received: from [2a02:8012:3a1:0:287b:7bf1:36a7:b05c]
 by xenbits.xenproject.org with esmtpsa (TLS1.3) tls
 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96)
 (envelope-from <julien@xen.org>) id 1vD8Qr-0047Px-2F;
 Sun, 26 Oct 2025 21:37:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=lR75HtxH0VG8ik5u8bR3hExd/hFpyEulQCaOmsO/oPY=; b=FHSw6KLXLRbl79Pvw5Dxm9Yz+C
	i/BQV3+AO0TDwHbgrU8HanLpqZ/po8BRV7N1g5cvehf0VTKQeG+UKPm3o6kOdiSr6G5XXNigQLb9K
	cw6NeEpjn/yCQqE9x1GiTt8Cuefg1BwDuhTDKjlHrMUUtlozqWv4FwpX4hb9lIDie/dQ=;
Message-ID: <c64c1733-e2bb-4fff-b969-5b075ce75f04@xen.org>
Date: Sun, 26 Oct 2025 21:37:43 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] misra: address Rule 11.3 for NextMemoryDescriptor macro
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <78112778d6fd5f720f7102db7125c844b747a962.1761242341.git.dmytro_prokopchuk1@epam.com>
 <309b29ce-2e32-4f9a-9436-051cf65c0780@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <309b29ce-2e32-4f9a-9436-051cf65c0780@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 24/10/2025 08:43, Jan Beulich wrote:
> On 23.10.2025 20:00, Dmytro Prokopchuk1 wrote:
>> --- a/xen/arch/arm/efi/efi-boot.h
>> +++ b/xen/arch/arm/efi/efi-boot.h
>> @@ -227,6 +227,7 @@ static EFI_STATUS __init efi_process_memory_map_bootinfo(EFI_MEMORY_DESCRIPTOR *
>>               }
>>           }
>>   #endif
>> +        /* SAF-15-safe casting a pointer */
>>           desc_ptr = NextMemoryDescriptor(desc_ptr, desc_size);
>>       }
>>   
> 
> While at present we have only one use site, needing per-use-site comments
> isn't very nice. Putting it into the imported header isn't nice either.
> Could Arm perhaps get away without using the macro, just like x86 manages
> to?


IIUC, you mean something like:

EFI_MEMORY_DESCRIPTOR *desc = efi_memmap + i;

If so, this would work for me.

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Mon Oct 27 08:43:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Oct 2025 08:43:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151449.1481977 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDIot-0002Od-5I; Mon, 27 Oct 2025 08:43:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151449.1481977; Mon, 27 Oct 2025 08:43:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDIot-0002OW-2S; Mon, 27 Oct 2025 08:43:15 +0000
Received: by outflank-mailman (input) for mailman id 1151449;
 Mon, 27 Oct 2025 08:43: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
 <SRS0=e0hQ=5E=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1vDIor-0002OQ-TW
 for xen-devel@lists.xenproject.org; Mon, 27 Oct 2025 08:43:14 +0000
Received: from CY3PR05CU001.outbound.protection.outlook.com
 (mail-westcentralusazlp170130007.outbound.protection.outlook.com
 [2a01:111:f403:c112::7])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f793a3c0-b310-11f0-980a-7dc792cee155;
 Mon, 27 Oct 2025 09:43:11 +0100 (CET)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by DM4PR03MB5984.namprd03.prod.outlook.com (2603:10b6:5:38b::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.19; Mon, 27 Oct
 2025 08:43:08 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9253.018; Mon, 27 Oct 2025
 08:43:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f793a3c0-b310-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=eJ7QVMsGvS7ex7VgB0VgoDeSFc8SlqhAawz4w6Uj1PwS0nigov8ycZIX0ilFTNA6zXcw7pEwgz5WM0ddaKe+wfi5yUlFqEpJHFZso18VnyhP6TbdWqhDC6uwXrUBZBMRi0OYollI5KIGtL64Hpv73QSLbvHbYi3UFj0BbQU/V0UNPPHn5AYUSbtQpgdfenqcOp86tNhPFzMKcGCg8EtEvOQ4y0dqoXenuQE2Vj/Nqoj7/mION4SNg86gEzCy33+Mzk6YBBd2LWWQAvar3WTjTs6IVioGvdX06u/HXpKXTAN6qVqMFKZFxH/VrP0S+cOEfFJX9mX4NmSqwGuVwJ+FwA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=q/7Z10zYOAsa/TEjiw0CG+ZreGNRAvcNEKHiSQlFDO8=;
 b=qrr9zgTtYfpRWvD235+Mbev9cdgbcDz0//tBqOOKACRq643eyUx5GHfbZQea6s0U9TgUr8dP983CBXr64T3MwbSgN6zpYTwoRQGIQpi48XkJmr+HPmDxhvXW1SUyZB/JX0Ftl27pRRdnLpcYCz/nk2TdzM6WH2Ygi56D1T8y8OH1/aQpvrgbJwhqwBxQqKu0XKiVwoqxQR/m1qEhRVR2As2VXSqXg/kIJvRMDuqvmLPSmgbzFRa42L6xrSHQPC1h/XlsoDFVtWIChoz3mQFuK3Ie80bO6Fk41a83TGD6RjFSPWgKf8YED1KSdct6lTgifGs9c8tWYqUdKgeOEYilPw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=q/7Z10zYOAsa/TEjiw0CG+ZreGNRAvcNEKHiSQlFDO8=;
 b=nUsCNlwUFs7Kh0+iVaWQ530FOOX6f0Bi/MtF/D77ExmC9fnfF8x9qS4g2VggLStcRVetXHuS68+ARvJmYMNhnTBa/UHw4F2inV0uzFZYCFBNYX8uVvJxYJNwuy9yAm62aH8ULT9atpJhOAfT4ekfWl41kfXUu7hzYLlSvV/2gBE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Mon, 27 Oct 2025 09:43:04 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Frediano Ziglio <freddy77@gmail.com>,
	xen-devel <xen-devel@lists.xenproject.org>,
	Jan Beulich <jbeulich@suse.com>
Subject: Re: [PATCH] xen/pci: prevent infinite loop for faulty SR-IOV cards
Message-ID: <aP8wmPXdt7gsb8cI@Mac.lan>
References: <CAHt6W4dnM1pLMnDVyywc_2d-6nry7pFCYomSvRjyuH7sRm0J4Q@mail.gmail.com>
 <72a2f002-23fd-4d06-8c44-3e535533bec2@citrix.com>
 <9f202cce-71a8-4f15-967b-b2b109959c2a@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <9f202cce-71a8-4f15-967b-b2b109959c2a@citrix.com>
X-ClientProxiedBy: MA3P292CA0007.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:2c::13) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|DM4PR03MB5984:EE_
X-MS-Office365-Filtering-Correlation-Id: 919fc285-74fb-4aed-c911-08de1534da2a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?VkVVdDZlOHBpbkhCRHZkVXhMS1A2OGUydVJXbUNBTytoTmE2a0dFbHRIUE1h?=
 =?utf-8?B?VUpKcGpyQWNHRlFNaWtCWHJPUHl3eTkxMUVkTlJrMmVsTkdWR3dtUGVhQnhJ?=
 =?utf-8?B?aFQwQ1F0OUxPUUwycVNUK2xqUUNVN0tyNFc4QlpxV0RVK0VIMmZvSENXYjhN?=
 =?utf-8?B?a0tXMlRYdko1aVM5UGMrL1k0OUR5L1hPdXhuMnB6aXZMbzRRSXo3RlQ2M2J4?=
 =?utf-8?B?VUVyQzlJQkVuUDhtUG5nczBSYXRqdW1qRnlyWWRYWDVlOG1MMjhEODNMSlFp?=
 =?utf-8?B?d0pJeXpUZ1ZSTTlYblN6TjBNWk5TZUlQNmczd1FVdFBlREJubUQrcnRFekIy?=
 =?utf-8?B?RVNSUFVHU1IyeW02M25kTEdTbUllUGJqZGZyYWxCMzd2UitZY3lZQ3RtY0xw?=
 =?utf-8?B?M1VENithU2U1K1dsWStnMnpiTGk2REVtOEpRUk9aa3Q0SHFJYkMvcStmYUg3?=
 =?utf-8?B?cXNKZ21JdG9iSU41bWROdjVOS3lVRGd2Sm5OZWtrZy9lTVkxeEEyQ0NCemJZ?=
 =?utf-8?B?TVdVQ0xBbG4vNHgyTTRkUFhxRTVjMkdSdytiVHU1cit3M042cXExK3FDbmgy?=
 =?utf-8?B?enFLRmZ6MVp5VHQ4d2hrcnloN1RqdnV5VDM3OExRS1pkVFpFNHhzdk16Q3gv?=
 =?utf-8?B?M0k4QUdJOTVYcHZudktmcEg1STVScE9KRDJITDhWV1RQSm9ZWW50UzVYeW9Y?=
 =?utf-8?B?UnJZbFlGazF1SXFaaUlGeGNOSlhCRlFYQ01jMW1CeHRQQXprUUZ3ajhubGJs?=
 =?utf-8?B?WEZhN1NVRmx0YnYyYVlRbCttUlBsY0VuVXFzTEN4azJQSnQ4alpNWHJTMWZn?=
 =?utf-8?B?ZkNCbVBmaFhSZm5JR0ZuemwzQ1lNL0RjV0R1SFQyTGJQWW1aK1Rtczlaazly?=
 =?utf-8?B?MkR1bzZZaHQ5R0lxYU5OLzZGcDc2bmRhODY3Q3BmNWxadVc1WVQ2UVdwOTl3?=
 =?utf-8?B?Rk9JNzQrM1hYeStTd0RXZVlSSklTTzBXOTNZbG5Jc2s3MjlGUjhlMlFOREd0?=
 =?utf-8?B?Z0dJV1R3a1YxRGpFdmlvNGhnYTZPK3c5U21KdFBoMmt3akt0S1hvVmttb25D?=
 =?utf-8?B?SWp6U3pndnBoZnlOSUhmRlZlaThLTFhqWmxUSjhvNTYwNHNUaGVzS1ZGYU9i?=
 =?utf-8?B?NU90VUtUU0FCZUJ5eWdvdnlnZURqNW1qb2xEYndTc1hnRWQ3NFM4YXdNMUh0?=
 =?utf-8?B?OWJYcWt5ZVFDdUJQY0IreXIvK3AxV2d2UmpwR1FNclhmbEZsOXhlSDA0dVU5?=
 =?utf-8?B?dlB2NHY3SFFIU09zQ0xDTWNpbU5TTDVRako1ZlIzbG1QR01UZUV2d2x6VG5O?=
 =?utf-8?B?QnNKNWF0Q2EyQUhDUk5EczNqa01udWZKSVhpOElOd1luSkZ4dE9XV3JWTHBt?=
 =?utf-8?B?eHU3Zk5TNFdZOW10ZG1VbFhMRzhtOUE0SlRXZDNlejNYZ0ROSkdWd1kxM3Jv?=
 =?utf-8?B?bmUweWs2WU40Z2I0dEJrM0ZoRkZBdFl0UXhDZHhQNFlOQllJbWxDTHloT0RM?=
 =?utf-8?B?VFVoTFVjVGlpLys0UlBQSThRbXdUcGZOcFlHa1hBWUFlNzZPSW1LSVE4YW52?=
 =?utf-8?B?VXFtTERPeU4xRERKdk53UHpqMDlvU1hETTZwRkovcmp5d0lFWFFqem1MQUZT?=
 =?utf-8?B?TnpaejVXZnpOeUMrTkZHbXJpWHNBd3dSZXFreXdkTEVZWlFkVEFPbDlSSUc0?=
 =?utf-8?B?QWRvV0RMZ1ZmaG5tUWIvNTNXQXR2ampld3BNNUVOWXk1RFdJNVU0eGlRa0E4?=
 =?utf-8?B?VTdVNU0xL3IzZjgrVjVjbHBoWWs3MDJkVzNTc1VvTE4vWm1Mcm42WXlVYWVL?=
 =?utf-8?B?ZUZQdzFXK0RQdWZzUTg2ZDFYNjVWUFFPUUJLNXVzMHNYaDZ4a2dsSGtSNUdH?=
 =?utf-8?B?dCtJTkhNVlJRSUlxbG1uL1IvVlpnRTkwR3QwOWJ6NzliT3BhVmMzQTFTRTN3?=
 =?utf-8?Q?GLf3UB9R3Qwa7ejH3vOjCn6ct+zfMF7v?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VlRkYVdTcDhrc1R5ekxvWThtajl0ODZGcTdQNVcxeEIwL1FUS05xcnJ5YzZE?=
 =?utf-8?B?SjNPTlBOc2JBazNwVWdSY0VvM1k3SVo2dkJkVU5qV3NySnQ0OWlFc2xFMnFD?=
 =?utf-8?B?c0loL3FzOGRjSkIxWi90NTlPMmpHTkMzS3RWSnN5UlI3WEhYL01QenpDNkhw?=
 =?utf-8?B?THBqNEJCV0RmK1REZUJtUVVudVR0RE84U1FZZi9hU3MxRFV1OUkrOThWTEZn?=
 =?utf-8?B?NkNEVVlEZ1hYcXJubWswdS9UV1hCb2dOL3E1bFR0Y1pQd3hTbE5tZTQ3U1BD?=
 =?utf-8?B?cXVCM0I2V0E2eU92QUQvU1NjMFl3MklrS3JCb3VsVXNyMkRnY0tPVktCWjV5?=
 =?utf-8?B?NzZQd0p4ZCtmQ1l5UHFCeGlubUJPeHNLUXhkY1FFZ2hjN3UyV1g0ZkwrNnNB?=
 =?utf-8?B?WjRVU0gyRmRPVFYxWVN6MWNGMS8vUVZRd0NzN294REFjK3M4eEMwWHNvd1Bx?=
 =?utf-8?B?U2tTdDRnZk5XOUxUczFtSjQzVWFRZG5vcjhpdGYzK243dlJsNHhNY1Q0RjE5?=
 =?utf-8?B?OEIrV0t1emV5QnJTR3VBTWJtUTU1T0p2SUtkS2JRaVdwSmlrRkFvdVRXa3JJ?=
 =?utf-8?B?R0NrZEpVWFFBRGJvT25WZVBNUzAwTWVkZG84bjZmRnlFREp1Z25Xb3NZSWkz?=
 =?utf-8?B?emEzU2ZlWDBtL2pvaGZFOXNQK25rRXZabzV2b2NRQkpzRDBYTGcwMFFGTC83?=
 =?utf-8?B?TjJ2bW9oaXh3VHN3czVmZzJlRkozWFhncHdyalpsbmtWTGVDam82TDdVc2J5?=
 =?utf-8?B?ZlZ2TEhYSVJKQTZJL0NOK1RBL3FsZGhLYVV4TFZRUVBKc1Q3V3dGQlR5OE1z?=
 =?utf-8?B?a2VqNCswbGxzR1pxWHRWeVcxcVkyWGtzOExKTWk3dis4d2drTnFqRlBWUnpQ?=
 =?utf-8?B?MHA0Nzhyc3ZvTVFFTHFQa3UvQVFXd2lqL1hxWlBndFJwaVRiNkNGRVZvR3U4?=
 =?utf-8?B?QkNOblNVcllLRVZ2OHpLVHpJaWdpc2M3MFd3MXA3TUdRZGZYNXFGa2pIdEUz?=
 =?utf-8?B?TGh0S3ZvelB1LzRuaURjbXJvblkrZ2NFend1SzExNjVSUklGYkNBMXFyQ0VX?=
 =?utf-8?B?SVczc2ZEVFpmRUpUdkNMOUhXZ0dZSlBUZzVIbnVac1ZzaCtXNVhGKzJ3N0JD?=
 =?utf-8?B?WWprUSs0SVpYaGFlWHlnbTIzM1BlMmU2cmFPb1d1dzM2Zmd3ZlFjMlAwMjhT?=
 =?utf-8?B?Q0pxZDNINUVYVFk3ckV2VUErd3N2ODROOFFWTWExVHBwbTl6bVFuWjYwR0JJ?=
 =?utf-8?B?Z1JRdFBvRkwwZTZEMXR5d2owdldyU3RKMDZ0a0hMSzRnT1NjaGkwTUh6TktX?=
 =?utf-8?B?czlIajRlL0cvN20yZHJvUVpMNHVEY0pQY1grTHYwWXlGRG94WGtnWGFTMDFm?=
 =?utf-8?B?bHdmajFEbjhyTzVGa3BmY0R6QnpPaGE0REJ5cXRPMHpITGFuS0NsS2N2V2ZJ?=
 =?utf-8?B?OHhlMkRkVWZkL0pGZUtrYWZzbHhGbVZ4M0JhQjBKQXl1b3hCaWx0K2tPNlVX?=
 =?utf-8?B?R254MzAyL0YwTG44bTFHYStTU05TV1U0K0tDUllvMTV1OVBtVE16VzMvQklr?=
 =?utf-8?B?MUx3QlJEMHB4REh0bUV2ZGw0RktmdDZJelpocVQ2ekJESzVwYTN4Q3dhL2tD?=
 =?utf-8?B?VlhrY2k2QkcxWHVtSjZ6SzdoVmVUN2ZGSFI5M09NaHdBZE9nd2hjcHZ6d1R6?=
 =?utf-8?B?eWY4alFMQWRvTGhzMmFEM2wwWmJMRmJXU0hOdGdOQVZVeWRPM0VzekRkd2to?=
 =?utf-8?B?WFNPQ0Nkc3Q3RHpNeldZczgrWC9PdHRmU1luNlJSNEJ1SWxwYU5XQkpIYWZM?=
 =?utf-8?B?RTFUZDBSaWpaQjNqS1F1MFQwZFFDS21xVVZaaUNIOEp4YVIyNDF1WEtOUXRB?=
 =?utf-8?B?MTkwQU1LVGU2dG1IbFZYcHJ3Yll0YkxNZjFtRmJXWWlpaVJIek9VblRQUnc2?=
 =?utf-8?B?Q25OeEFkdXE5OEZSMi9UUjM4alJWb255a3hwV1FGVXUweVNFS1ZFVVlrMDhG?=
 =?utf-8?B?L1Mxb0ozOUtpYXBDMGpmVkxzZEt4Z2s1bkVJU3ZMNEtlOXozNmR1ZklTRGx5?=
 =?utf-8?B?ekxEWWowZ2NiODFxcVF6YXlYSzRURVZIcHArMW5vblNiWXBmRHc0UTk3V1RV?=
 =?utf-8?Q?+2IlNaFVr5TWmPfjM25Z395n/?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 919fc285-74fb-4aed-c911-08de1534da2a
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Oct 2025 08:43:08.3347
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ajSdROI2nsOlh1y6sqWdKCQQFJGYzUWuRYjPeQyPnTXRpVXy9TCn3qCBZHQr4O3Rhefx+3b5jrfEFZmFR58hIA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR03MB5984

On Fri, Oct 24, 2025 at 05:00:34PM +0100, Andrew Cooper wrote:
> On 24/10/2025 4:58 pm, Andrew Cooper wrote:
> > On 24/10/2025 4:13 pm, Frediano Ziglio wrote:
> >> If a SR-IOV card presents an I/O space inside a BAR the
> >> code will continue to loop on the same card.
> >> This is due to the missing increment of the cycle variable.
> >>
> >> Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
> > Yes, that's buggy.Â  Was this from a real card, or just code inspection?
> 
> Sorry, sent too early.
> 
> This was broken by a1a6d59862f4 ("pci: split code to size BARs from
> pci_add_device") when it changed the loop from having an increment, to not.

That was my fault.

Reviewed-by: Roger Pau MonnÃ© <roger.pau@citrix.com>

I think we want to consider, this for 4.21, what's your opinion
Oleksii?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Oct 27 08:50:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Oct 2025 08:50:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151458.1481987 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDIvV-0003qn-Qg; Mon, 27 Oct 2025 08:50:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151458.1481987; Mon, 27 Oct 2025 08:50:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDIvV-0003qU-O4; Mon, 27 Oct 2025 08:50:05 +0000
Received: by outflank-mailman (input) for mailman id 1151458;
 Mon, 27 Oct 2025 08:50:04 +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 <SRS0=UVx/=5E=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vDIvU-0003da-Sf
 for xen-devel@lists.xenproject.org; Mon, 27 Oct 2025 08:50:04 +0000
Received: from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com
 [2a00:1450:4864:20::32c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id edc56fa5-b311-11f0-9d16-b5c5bf9af7f9;
 Mon, 27 Oct 2025 09:50:03 +0100 (CET)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-4711810948aso31235535e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 27 Oct 2025 01:50:03 -0700 (PDT)
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-475dd489fa4sm120133095e9.16.2025.10.27.01.50.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 27 Oct 2025 01:50:02 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: edc56fa5-b311-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761555003; x=1762159803; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=/1Uy4zDMOSSEuO9C4w5QxnZvsyeYy0E7LdgUlH6gkIw=;
        b=fvJr7WEKOTHtDP0+Lr5C7DlRS7LMWLC0UHh66BBJVj+L1gURmgYvt7+Qc3XL+aTeyb
         pO8OrGbZNSJjdFdYuG3cLsmkl7uoQRnH7+VrP0tUPOmVHIFNNQVFh35//XDIRv8EVGEG
         FXpb2M/jSeWq0656TY0gSeaCOOgwho4eaQWXy4xC7DihCk6aG8TrXQvGeUeHTpOBUMRw
         5/15wVJvDUM6Z4rGYC/QL8+sCswIH0golO6c+H/26L9mo/X5TyKDGIcpwfpmyaYmsBzj
         PzjgEer93Tz4PLVjcQkITNrqDLeZf83QHin9VK3DFP53esCX1q0fcpn9ZBUw1HQ2n4xJ
         uR9A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761555003; x=1762159803;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=/1Uy4zDMOSSEuO9C4w5QxnZvsyeYy0E7LdgUlH6gkIw=;
        b=iOZzk4n8I5FjeOhML9CMHKg2aFn3CdZqULpE83Yv+s0I9cMEyNXMQHEPd5cHYf2z4w
         ekUJmE6unLBH3oHh8NNOaFyzpo1IuI6nARH/KfWCnweQLOrGQgFLBqIpAfLGnjDi3WxE
         KLhaZcphN4ZWZVnqWyBC/8yZLBVD7sIolLZEGqI2zeMUgb+5OYMtIkMkJChTLGq6OSzh
         aA2IOJesQ2eosZg2uDEOviYqX/5bh0iDEA5anH/iXW50OL5MlogIxFl/5Nth2NUS4TSn
         qrfv7nAeMgaTtjqFid9XIIL/6IfMTYCEZ6LoQ1BsK9hh5cV0NxudDzH9JzM01b1mq8NU
         OKNg==
X-Forwarded-Encrypted: i=1; AJvYcCXvbQu1uveI/X9mMiJp599bynYmDc6H+fGfuxDM5fbYR6YLU2vOL6uAtu5s3gH5H5yU7m9FMviDEmI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxWqJFPvAx54rvJ9qEsacywK+PgFERxf39e14M4l9/M93AQqfwE
	CEYKBidO4/r9BMrpKB+Hcc3Jrn+5TDrIKCXlLTLEJ2KLaMf0fIzJ6xdtlNCv0MtEgw==
X-Gm-Gg: ASbGnculBGo+Wk28Iy/5XYAhPZBULCGPd/TxiDVvYuFKoDcTSUOuzbKMOYqO1QTJcD5
	4lTCeEwSXCxBUNYLHX0H0ES2DL7v+o287nxgFXuEx6Y9peBLnoUlDwkIAzuSLgwP0II0T2+xNx2
	uxPXRX6AiFQEwhFxS4VNO4LNfYWDk50CI2u2wFfwVshsYoyifGaAXtn3NVIWqMwEElU5JDJF8HL
	EcmHcWOymD0wFMUy9g6B5fFArG1MTDtLfYNSNNa42Me/HnHAFXnmpF3NSp6FZR7qSFw00WBUuEF
	2VUNQsMkFwYuiKiPlsv/QAurpJRGV/2y0mjAEyhfy9RdcJhSY0mzrdeuLUWfKWJpNQlmCIupnxC
	E+e5Ctxyeahj4agQLQJ0TqZ8ZdZBikyxB4bc3bZMx8hq8UaiBTtpo6mt9vqqqabdDsgZo+G+iKS
	Ur+qHkjVp0IxGukPBaM0/HmWPrj5L5anpKThveamCtEtin9xZq4/P7mYiKMCCTGWIy7pANbbg=
X-Google-Smtp-Source: AGHT+IE2NCaUyjlCPjXOd84544ntfS+RHamEJPWhcBsWm4LXgltSsDrmHl7uS3UQKkz1GnCuYSjroQ==
X-Received: by 2002:a05:600c:3513:b0:46e:49fb:4776 with SMTP id 5b1f17b1804b1-471178a2547mr282885325e9.11.1761555002889;
        Mon, 27 Oct 2025 01:50:02 -0700 (PDT)
Message-ID: <f927e76c-6221-4833-b4ff-2e9cb0673ada@suse.com>
Date: Mon, 27 Oct 2025 09:50:04 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] misra: address Rule 11.3 for NextMemoryDescriptor macro
To: Julien Grall <julien@xen.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>
References: <78112778d6fd5f720f7102db7125c844b747a962.1761242341.git.dmytro_prokopchuk1@epam.com>
 <309b29ce-2e32-4f9a-9436-051cf65c0780@suse.com>
 <c64c1733-e2bb-4fff-b969-5b075ce75f04@xen.org>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <c64c1733-e2bb-4fff-b969-5b075ce75f04@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 26.10.2025 22:37, Julien Grall wrote:
> Hi Jan,
> 
> On 24/10/2025 08:43, Jan Beulich wrote:
>> On 23.10.2025 20:00, Dmytro Prokopchuk1 wrote:
>>> --- a/xen/arch/arm/efi/efi-boot.h
>>> +++ b/xen/arch/arm/efi/efi-boot.h
>>> @@ -227,6 +227,7 @@ static EFI_STATUS __init efi_process_memory_map_bootinfo(EFI_MEMORY_DESCRIPTOR *
>>>               }
>>>           }
>>>   #endif
>>> +        /* SAF-15-safe casting a pointer */
>>>           desc_ptr = NextMemoryDescriptor(desc_ptr, desc_size);
>>>       }
>>>   
>>
>> While at present we have only one use site, needing per-use-site comments
>> isn't very nice. Putting it into the imported header isn't nice either.
>> Could Arm perhaps get away without using the macro, just like x86 manages
>> to?
> 
> 
> IIUC, you mean something like:
> 
> EFI_MEMORY_DESCRIPTOR *desc = efi_memmap + i;
> 
> If so, this would work for me.

Right, provided that efi_memmap is of type void * or const void *.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Oct 27 09:07:18 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Oct 2025 09:07:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151467.1481997 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDJC6-0005vk-5u; Mon, 27 Oct 2025 09:07:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151467.1481997; Mon, 27 Oct 2025 09:07:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDJC6-0005vd-3M; Mon, 27 Oct 2025 09:07:14 +0000
Received: by outflank-mailman (input) for mailman id 1151467;
 Mon, 27 Oct 2025 09:07:12 +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 <SRS0=UVx/=5E=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vDJC4-0005vX-LE
 for xen-devel@lists.xenproject.org; Mon, 27 Oct 2025 09:07:12 +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 4fafdbab-b314-11f0-980a-7dc792cee155;
 Mon, 27 Oct 2025 10:07:06 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-47118259fd8so31971505e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 27 Oct 2025 02:07:06 -0700 (PDT)
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-429952df6b9sm13502196f8f.44.2025.10.27.02.07.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 27 Oct 2025 02:07:04 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4fafdbab-b314-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761556026; x=1762160826; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=MXvldelJJBjyzboKFUC2bviJUHAK4JHmQrjcZbjMQ50=;
        b=ZVegaPDcVYQqBMwBxcpnu3M3tomGBoAYkNUDVkL4W/nt6R4ARKH2HGYwWcUtysajpK
         LJVHotfZZJfFVNYBQLQVDzFyScf+IqubHaPWMwkxKQoW7tw9E47ORUMJP1cpHXJY5fau
         fehpWcXOkM9sswbv4cgUUnR0mqKJF9c8TL1jp/rqDzWyMFPx5gbJJ42ZLmZaTT7Wce1F
         686D/uq2GcKzvNscI1Gnlx8m8utUb6GYDaaCQZKe/zZTSbAcq0Wf8LhS8LMadupfQ4sA
         WPImBIiWuqV4Ej9uxj314chpEGE9jBgT+oXmKIWs/88Vs6tQVZa14X7r03anWdDty0+M
         8Q7w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761556026; x=1762160826;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=MXvldelJJBjyzboKFUC2bviJUHAK4JHmQrjcZbjMQ50=;
        b=lUMMc3BmMQ0fpjd1ufJ9QHFSgqhCbXXwG/ud+I8HjN+8KES4H5fIdHujme1HqncN9f
         gv5/sppjRrpvoPhE8SoSjsQrobQYN2Zk83BeXYCXS6ma8Z62wbhv7eNSuRbOCtkiFbNs
         7kbbuCL0R0isJSV6bvJ1wbC36cTiueNOwfAre5zXL/1QvRZdpNfEoPrCjcOOSq97DqTg
         QtInFo0tmaLO8Q6VpI1kFA80EsQjGOa6v3KsSKZwLOHaVX/OIML07PFZWKj2DBccJoAm
         SJFh9un56VRYAJbI264I65xf4r7/QaZwIob5JpGgt0tTgm6iRVXJMGK1331/UHHBeC2R
         QS/Q==
X-Forwarded-Encrypted: i=1; AJvYcCUEu77rvhqwpAKHKITR+4A8fWnM8cS5drR5JHlGE3TxNkt2AbUJ/pdkpdMdDidAxM/Ruv0YY+HLhVA=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx5JJ3pLq+qQsohOaBjNxESelZsWtDjekxESPxF+hlEUoib1wNY
	musO+e9DIWFdti1eEp3XzByuc5MHraupbB/+GQkh0mNQsWOrFLe38TDPgTvzqul6dQ==
X-Gm-Gg: ASbGncupmbvaVmMNSfW6YyiUKZGRitwrxw0Zx4SM8t1tP7+aTA3k9m8zBoh1RL4HTSL
	RX93XJzwlBd60FrEmnsLQTmwzZCPqbGUXk9QldA4c00X6CwzWsThQhvx2rgCS2XPOxeimjcpWTO
	QudOp2XN7iYTc513xX3mJe8bNz3zxHahXomv533z6Pn6Zu23p3h6lmNsxd1cyewg/XSfckbcpuO
	5WmqV8UpK2Qt/acw4/m/nTlCHxqTW+7bK8RqarO5DhpLONE32E8ChfpYeYAo3YaycuFm8bdoBFU
	+NoBcbd2lpIMZJlzjuLZJdNOnWPzxCLPdk7FowT/lE9zF0exTHKkrUeHFo8IvJ2wdP2GYnvTVHq
	VAPfRVtG2WTxUHggl23M5z6qq4DjSA8z9nkN1ylQomlyQ4dhkGvG+aaIC3QAnbjqX8KrPQ8qEWx
	PXUx/+NXG1qd5E2hsoJw2zo8f2iSc2OGotGfD4TNmreJKPkqMrpiVWjs/RgSJe
X-Google-Smtp-Source: AGHT+IFp2UzDiCyMs2Fw71pzOZmkFi32mx+H0yPYwWfB0F9smPinwPMGf1r/+9qG7T4tyo8CpCQKbg==
X-Received: by 2002:a05:6000:420c:b0:429:8a71:d63 with SMTP id ffacd0b85a97d-4298a711381mr9193419f8f.37.1761556026059;
        Mon, 27 Oct 2025 02:07:06 -0700 (PDT)
Message-ID: <c06a70c8-747d-422a-8fb8-431608631f84@suse.com>
Date: Mon, 27 Oct 2025 10:07:06 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 for-4.21?] xen/pci: prevent infinite loop for faulty
 SR-IOV cards
To: Frediano Ziglio <freddy77@gmail.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 xen-devel <xen-devel@lists.xenproject.org>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <CAHt6W4e1XOoqO-W0O1mEU4UCr_ik=J9bRGQQPeNL3YLQSyV7_w@mail.gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <CAHt6W4e1XOoqO-W0O1mEU4UCr_ik=J9bRGQQPeNL3YLQSyV7_w@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 25.10.2025 22:09, Frediano Ziglio wrote:
> If a SR-IOV card presents an I/O space inside a BAR the
> code will continue to loop on the same card.
> This is due to the missing increment of the cycle variable.
> 
> Fixes: a1a6d59862f4 ("pci: split code to size BARs from pci_add_device")
> Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>

I have to admit though that "faulty" to me suggests more like active misbehavior
than the presenting of a bogus BAR. But maybe that's just me ...

Oleksii, thoughts towards 4.21?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Oct 27 09:53:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Oct 2025 09:53:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151485.1482013 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDJur-0004aZ-KG; Mon, 27 Oct 2025 09:53:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151485.1482013; Mon, 27 Oct 2025 09:53:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDJur-0004aS-H4; Mon, 27 Oct 2025 09:53:29 +0000
Received: by outflank-mailman (input) for mailman id 1151485;
 Mon, 27 Oct 2025 09:53:28 +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
 <SRS0=psOz=5E=citrix.com=ross.lagerwall@srs-se1.protection.inumbo.net>)
 id 1vDJuq-0004aE-0D
 for xen-devel@lists.xenproject.org; Mon, 27 Oct 2025 09:53:28 +0000
Received: from CY7PR03CU001.outbound.protection.outlook.com
 (mail-westcentralusazlp170100005.outbound.protection.outlook.com
 [2a01:111:f403:c112::5])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c72734c5-b31a-11f0-980a-7dc792cee155;
 Mon, 27 Oct 2025 10:53:25 +0100 (CET)
Received: from DM6PR03MB4764.namprd03.prod.outlook.com (2603:10b6:5:183::31)
 by IA1PR03MB8061.namprd03.prod.outlook.com (2603:10b6:208:593::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.19; Mon, 27 Oct
 2025 09:53:21 +0000
Received: from DM6PR03MB4764.namprd03.prod.outlook.com
 ([fe80::4f33:d9f5:18a2:28c7]) by DM6PR03MB4764.namprd03.prod.outlook.com
 ([fe80::4f33:d9f5:18a2:28c7%6]) with mapi id 15.20.9253.017; Mon, 27 Oct 2025
 09:53:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c72734c5-b31a-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=CeARPfWDNDh5DjZ++6lFJJuzyES0pVYS3OqHjqQwcGFVNoweLQKVb338mvNn1R2x+FkD4V3s1jho3HCNHU37lWKq5/w0vyY5USg/Lprt1h/5v9K5UEZOGWNfMtvGi3yMS4O/N2T1sh80Cmw+/FWmV6rbSs1I1Rw9kkSYCUOm05S2Y6cgQswHi5ldoLzKH8FeZ+LZhpUDXDVIYMI/it+utx95tT/TWg9uGdvM7FU4/7YqWxf8FpL+QeeI6zKJDBiOqah+kdUEY5/g01jP8KevY6RnBu1UmVfn4T/NnbZxKpDieLDIgTYMxqEX4qxVk7rIvN9S5zVBWi5FI7i7QS657A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UtgKoyOCh6PYcXV+V7eu72pNy1m714ueBTbxQkipoEY=;
 b=eHUIxy4JxyuSrXc6RD/ELvx3JhHYZ8XWz8MKnn4+Xc3OSETDpKiqGSFG3iXjSmt4/RV8HhaH+us88xC3hAxn0QmuhM71TB1USb5WRR2g2H5yOsPQB3LKiJ9qH2UYpJEWwUqCwQwfmlDDojx0ar2T/2FnwhGagGaI7axhFlGvCgiG50WX/2u7ofzM1TV+MTj9TO96Tx5xUhiRb4LCnGFiDi+YjTYhbkAUC2lOolsdFaG6Ho0eQFc8BXWKR1TgXhLEsKOnmqmnj+/d0Ea7BJ2sRjhMb2711iY0IXquVp5VYoSVo2ECbsuZKlum2fjR3idw2e70aRIeV76KCMvoTUmM+Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UtgKoyOCh6PYcXV+V7eu72pNy1m714ueBTbxQkipoEY=;
 b=iWKm09+BZJfYHWjPk+4iYlYRXmgfd7Y7eU02hBIYxPpxKTZwfS/hWTtk6HHanIqoxs9gdAkdvUgXaY5wno61aksk7DPzKrFa0YtjWfijxYyzwIVa3xa0xEiqxhEjmgO7Cm6bRAFbTdSAapZI3xnPoiTf3dCg3n/SoVWfIJCMKMU=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <d289cbb1-33e4-4c03-b032-ec943cda8723@citrix.com>
Date: Mon, 27 Oct 2025 09:53:15 +0000
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] vVMX: Cleanup partial vCPU initialization
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <20251024162054.2610454-1-ross.lagerwall@citrix.com>
 <213b6d6a-9d97-4ce6-a4b1-e41e8380656a@citrix.com>
Content-Language: en-US
From: Ross Lagerwall <ross.lagerwall@citrix.com>
In-Reply-To: <213b6d6a-9d97-4ce6-a4b1-e41e8380656a@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0276.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:37a::16) To DM6PR03MB4764.namprd03.prod.outlook.com
 (2603:10b6:5:183::31)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB4764:EE_|IA1PR03MB8061:EE_
X-MS-Office365-Filtering-Correlation-Id: f12cd5da-8a9c-4d17-7bdf-08de153ea992
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?b0JFempwcFJYYTZOTUxUdkhQVXpZYjUxakRQK2xCaGtqTmZublVVdENEUGpi?=
 =?utf-8?B?NEFYRm5OaFZmQnhzalZ6WGJvVy9rcmQ1N01hM3ZHczJmaEpkWHZXdnBhZU93?=
 =?utf-8?B?WXJlSUc3L1FUZ2JrWWRvNU5udUpvMlh2Q3RURjNlcHF4YldlV08xNkJGZGZI?=
 =?utf-8?B?M1RkVU4rc0tEVlNiSVZUVWUvbERiQ0g3VkcwemVtTGhkcEF3REE4OTBLU2E1?=
 =?utf-8?B?eWorQUthU2pKc3cvODY0RGZmZ043MXFUdHpjMHlGWWFUS0xvaVFrdHlQUTgr?=
 =?utf-8?B?YlgxdUZJdUp0TmIvbWEwNjk1VVl6dkx1cm1OMGdPby9UMzVackNaa2J2RFhr?=
 =?utf-8?B?cGgxdzdlbStEYkRzSzJEOTZRcExwQWxNV1pSdVova3loZHNyN3B6Y252ZDhI?=
 =?utf-8?B?a3l5NUFGaFhWa09LaEQyUll6MGFHMlVVVTFNZlVpNDNvZUE3bjN5YnMwdHRz?=
 =?utf-8?B?S1RCV1VSUlAxMmMwYm9vZmtxL3dMQjJsTWtrYVNBZkZyd3FPeThna3lHa2VC?=
 =?utf-8?B?U3c0MTRmL2FBQUp2N2Nnd0U5K3JVUERzdTVaQlY3SFVveHVVZjZlWkdKZGVN?=
 =?utf-8?B?KzlUc2psamlEcFc1OXpRZjNqUG5MZEVrYS9RRkk2cytjbWpZRU9iMGJPWDVD?=
 =?utf-8?B?MWVodE1Sd2hhbWRoaHY5aGJyUngySTZzNXA5b3VIS3pZbmJjdjZoQkVsUGhD?=
 =?utf-8?B?ZnIzUzB3SmU4TWV5SVpPRU8rTzNhaG5xNjZPUGJDbHEzanFhWldkYzZBTkR2?=
 =?utf-8?B?RFk0YjBJUUpWd0dlQkF1TkVXK3lQKzZhSFAxRVVBTEMvZzE2L3JYaWJnaWgv?=
 =?utf-8?B?WjF1ZG5WcnR5YU0zem8xRWtmL0pUZTIwRFR6cFNaUy9KU1cyeHVYMDhJWUo5?=
 =?utf-8?B?d0dOc3JKWk5FMnVod3UrV2F2WmE4MWpPemRRQUNBZ0tzRU5kV0k1alFEeUdl?=
 =?utf-8?B?WjJ4OEZEVS9lcm00YTVaYW9raE94ZG5HZU5pOUQvdnQwaUNCZ3B6SkloUjdF?=
 =?utf-8?B?YzF4VDJ2Qk13T3hVQ0lGa0tkbmtoMFI1NnNnVGNvTm5vNnZMRENhSHI5OUFD?=
 =?utf-8?B?eWczdUNQbVVUcml1cXE5d1YxMzBDdW12akk0dGdVeThqZWtMNDBWTndnM01T?=
 =?utf-8?B?S3VZQWRvaDNLN2MxVm4zQ1BoK0JqSWVoak5wWTBaLzRTbnZGaE40N25zbkJu?=
 =?utf-8?B?eXYwMlVwYXNIdDlDNlhmZWJJemFlT2FFeE56dmZuT3VCSlgxSTltSU1ucVpl?=
 =?utf-8?B?TWphdDRvbE5UbGxKTER2RGpRY2R1enh6MjVyTjkrQy93c2ErVGUrMkEzNDg0?=
 =?utf-8?B?U2R2NGpYbFdEZzhHNlRaNkl3N0VPVk5sbDZielhGeUFPQnBEOWl3TFM5dElB?=
 =?utf-8?B?TnFEMDNvQmUrbDlhOXlqbzdTNXpZeTJtZDZwc3F4RWlOVWZyR3BzS044L2dt?=
 =?utf-8?B?Q3VtU2tkYklIWGFubHFKcURaOGMrVzNHSEsrMDREeDBKc0RNejI5RG1PdjdQ?=
 =?utf-8?B?d1RtYXE5M05Ud2tlQ0RGb0YydlBRM09FT2M3MkkvUStkcndhV1M4QkhJbzVI?=
 =?utf-8?B?dWVrbG10MkVjb2pXWjFqRU9KdWxvY0lwcmJSbVgzNlo2eEo0NVJlYXpKMU9i?=
 =?utf-8?B?TTNkZFh4ZnY4MWtQNTFFZWhhNkJJeFZ1TUttVkdYN0NkbW1KWDdjelFDK3dy?=
 =?utf-8?B?cDEzbGF6bUNrRXJaYW0vejhqQ0k2N0F4WndRbUpnckEwcHEzYUFocVM4RU5D?=
 =?utf-8?B?VXdnZEdvTVIwR1VDcjBxdTMxS2dxWW5FTzU2ZVROY25iZ3R0cis1VCt2NUwz?=
 =?utf-8?B?OVJ1V2VXR2xYWTgySDNLSU0rVUdyTGUwdFk0U3RlREQrOEs0aDRQSmRZMXN2?=
 =?utf-8?B?eWt5NGxlRi9tR0dHVUhMQU1sdFNKSnpVdDI4ejJISTc1RlptV3JqVVIvT05w?=
 =?utf-8?Q?C7Y8yXMfcyvzh92kV3Q9LuyUFjmwyHhD?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB4764.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OXVVeU5lR1R1NVhGRE1zM1N0QzB0WjdGR0krY3I0VE5pSGdTMW8yNUk2MmVX?=
 =?utf-8?B?RVFqaHI0Mm5qRDJocGJnbldxa2paVm9SelJwWVdBblZpbUU0b05yWkgwVVUy?=
 =?utf-8?B?WWtLdUUycjJZcXlza0hjR3lNR0NhVlRpWERORmgwb2pFRmVOYXV1Uk41VjJU?=
 =?utf-8?B?ajFjYmZ6T3JyeTRhMitJM2tzMjVWWnFKWEkrZFNGY1k3ajdvK2RnZ1J0bnZG?=
 =?utf-8?B?MVlwRC9CTUdGbEM5VEJsMXh3Z0Z3ZiszWFcyOFhsTmo1WE9VZ093K04yY1cv?=
 =?utf-8?B?WUZlZWhleXlodkVZT1FZVGFHa3dGeDRJQUFPSklNaGpSSEsvSFp4b09icW8w?=
 =?utf-8?B?Si9KeVF0R1NlUlQ5RkNMdDVYMXZuQ3JSY1FoN1pqTWFBWWZyR1BlL2Qvdzlj?=
 =?utf-8?B?cXdiUFBBcHM1V1dHWU1aRCtOMlZnSE9xQ2JpTHI5NW1MbjdsM2pCWlcxMWpW?=
 =?utf-8?B?c1VYZTBTZWZaQ0c0MHhjWGNBdDEveHNybCs0U2U4eTZ5cXRVcTFiSjNDU3hq?=
 =?utf-8?B?OGQ2aDFZdHhsS0hiWkN4TTlaRk9kM2tQSEtualBuUWVVUVRSV1BaaDQzQW03?=
 =?utf-8?B?MXE2RUhyMU9tbG1QYUJqNmt0eTcwaVQxNWtUYnF3Vm0vVmhVNm85cmpzUnJl?=
 =?utf-8?B?V0IwSmFteld2WnpsSjhkTytac1poQzUvbk5ZdHgvTC8yOExQZ0xUVGtqc1Zn?=
 =?utf-8?B?emhHb1J2WGppVGdOUXp1RUg3ejRHTEFUYjF1SlRMT3dsU1lwb0drdHBnc0cw?=
 =?utf-8?B?VnVvQWxHeWRKdDRLYWVHS1pVdk1yRmhoZmwvdFJVWFhWSWxvRTNxYU9Xaktz?=
 =?utf-8?B?eHhvdExpZ3RXWXZtSndBSWhsWWdSQXZzcGlRWlhzSzc0S1lpeW5nMGlSWm9V?=
 =?utf-8?B?ZXRma1h1ZUV2bFNXbkJDWEplYkxEMllGMDRreVlGNGMwT1RRUCtCeE5xNUpl?=
 =?utf-8?B?cmVRVTBldkdmREpNdEs2eHk4WW4vWG4zWUhzbjJMclFReFBVV0NrMjBhU3Z5?=
 =?utf-8?B?Y082TmFyTG40TngwQ2pNUktLdnZQeFhXQzE0MHVrSUxGTG1Ubk5EdEdCWmNv?=
 =?utf-8?B?Z3UvdUJyL0ZQRjhlTDhJT0syRTNzQjAvV0NMQ1o2cUprZU41ci96MUJablhM?=
 =?utf-8?B?azR3SXhkaUZ6ZUhPNDFqTVBUd01hSGF0SnN0RVc0UHFHcnIzZTNhQ241RzVr?=
 =?utf-8?B?SUhHRUNIcExESTdYMHdzSkhDNXpweVdTWHQzWXQzcTM4d2xDQjNQZUNXZUQ1?=
 =?utf-8?B?eWpJOXpVS3BSemVNY05HTGt5cmVCbUs4Y3J6WFRiYmQwUlNVTXkrUDFDM1M5?=
 =?utf-8?B?aEg2bmVxS0xuNjJ5T3QxSHFadXVwb2J3OUNpZVI5anhEelo3UVNPaWR5dlU0?=
 =?utf-8?B?NnN4U2s1bDZKQnYyUjRYSHRVZUcyUnozTFJ2eEFlQzdiQWRDamdLeUduRzh6?=
 =?utf-8?B?OXl6ci95UTFSTERhSUtyM3c4bDhzWHpLa05ZemhVVFJ2MytsSDZDYW1YQXJB?=
 =?utf-8?B?R094cHd6STdBNXI4di9oUFA3NVFWR1l5QnR5cTZvSGcyMktqOG12dVdObkZu?=
 =?utf-8?B?N1hUL2x2dXhGd3gzTWtGU3JCdWxkL2RuTkR1Rnd2cVhPcTJUQjFaVUUwd01K?=
 =?utf-8?B?eWpMUDByd2o5N09EM3RxSlVwS0ZaL01FdEVDL0VNYzBmaGhJZUNiQ2V1SzFV?=
 =?utf-8?B?QVE0R1cwelp4OENSc0NOdFlPZGIyWFdCdUN1SldIMjQ4NjRkMnp0bTRvV2JP?=
 =?utf-8?B?SmZoTjU2RXhGLzBBY3BSVHc3Wk1NNXpxSXVIMmNIL09CaU5Fbzl2L05pbHl5?=
 =?utf-8?B?OE9BWXpqU25hVko3amdXUkVWaUtwOU1SQWwrcUUreTJaYnZiczZJazVEN3Jq?=
 =?utf-8?B?VzhoQVJzY2ZOR2lVSEVyaGhpR3ZVK09peW9uSGNUUU1XT2RWamdXbURiOXRU?=
 =?utf-8?B?VWl6V05OZW5iT0lZMWJqbEx3dlREL3pkOVBGRFpkV3p2bkxWd0FiWlRVVlAz?=
 =?utf-8?B?bW96Ni9nMEwwNmc0eG5qU2FMWVZTZTkzMTFBbW1hKzM1ZHpwVC9aRXIvQVJK?=
 =?utf-8?B?UVVUSGFqUDlQQVExUWtucUxjUzVmSFRGWHRDVmpJcFRoSzAxcjN4Si9IaEM3?=
 =?utf-8?B?NHBHZVJxUnp6eWxiRDluYnZjWU95ckJaS2VYZW11Y1pqaUZqWjJWZnR6ZnlF?=
 =?utf-8?B?ZWc9PQ==?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f12cd5da-8a9c-4d17-7bdf-08de153ea992
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB4764.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Oct 2025 09:53:21.2313
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: dCH+BxWMtVQp6xZNUBQZMRXWmIW+rJOuLIyLZBAuELTIQ7U1IG8RTZiOl/Rbl31gwA6eU1idaqzt2x1eM9TvDfnebMXip9ICvECbeYTO8NU=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR03MB8061

On 10/24/25 7:08 PM, Andrew Cooper wrote:
> On 24/10/2025 5:20 pm, Ross Lagerwall wrote:
>> If nested vCPU initialization fails, cleanup the allocated memory since
>> it is no longer handled by the caller.
>>
>> Fixes: c47984aabead ("nvmx: implement support for MSR bitmaps")
>> Fixes: f5bdb4aaa165 ("x86/hvm: Obsolete the use of HVM_PARAM_NESTEDHVM")
>> Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
> 
> AFAICT, this is because of hvm_vcpu_initialise() not calling
> nestedhvm_vcpu_destroy() if nestedhvm_vcpu_initialise() fails?
> 
> I think this is an improvement in the short term, but we really need to
> fix our object lifecycle.Â  Relatedly, I should dust off the fault-ttl
> series because it would be able to find this failure automatically.
> 
> ~Andrew

Having hvm_vcpu_initialise() call nestedhvm_vcpu_destroy() would be one 
way of fixing it (albeit it is complicated because some cleanup is also 
done in vcpu_relinquish_resources()). But IMO generally a partial 
failure of an initialization function should be handled up internally 
rather than expecting the caller to deal with it.

Ross


From xen-devel-bounces@lists.xenproject.org Mon Oct 27 10:24:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Oct 2025 10:24:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151496.1482023 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDKOQ-0001KA-TS; Mon, 27 Oct 2025 10:24:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151496.1482023; Mon, 27 Oct 2025 10:24:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDKOQ-0001K3-QV; Mon, 27 Oct 2025 10:24:02 +0000
Received: by outflank-mailman (input) for mailman id 1151496;
 Mon, 27 Oct 2025 10:24:01 +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 <SRS0=UVx/=5E=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vDKOP-0001Ju-EV
 for xen-devel@lists.xenproject.org; Mon, 27 Oct 2025 10:24:01 +0000
Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com
 [2a00:1450:4864:20::333])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0c791d0a-b31f-11f0-980a-7dc792cee155;
 Mon, 27 Oct 2025 11:23:58 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-47112edf9f7so27392005e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 27 Oct 2025 03:23:58 -0700 (PDT)
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-475dd4a5cc4sm126784805e9.11.2025.10.27.03.23.56
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 27 Oct 2025 03:23:57 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0c791d0a-b31f-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761560638; x=1762165438; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=QOacaics3LEeVvEn8gBiaP/TnigQQ9ZBTQK3ngtkuMg=;
        b=fAqsk8syw5SzV9dfYB7qMY/Y9X+Szf4IWcRy1X63mzc41w7q0b9k0WS2Boo3HwUr+7
         gxe0J1pydq/2CR+Qq47doehpIT33UtTQyhGRz25NqESonNhxGx1MoNUtXRwB6ULMJKjs
         fDv/5VE46VnmfXYiBLqppDE4wcpv/Q6JrrAAQvQC4LYzp4YWBMSM23pkxE93bRW5sFMk
         zeHhyBnpbyLTA8qnTtCrKLNNTNyH0ikq1GYKM14JsIQLN5o6cLmOU2lRsxv0ZAmePoBt
         ocAR28AiwVdMTbhQiIR/sY+Q63P3hgDcdJL3QbRGlFVVNkP7Bcuw3oVy9RJs9XcCGyGL
         HVBA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761560638; x=1762165438;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=QOacaics3LEeVvEn8gBiaP/TnigQQ9ZBTQK3ngtkuMg=;
        b=Stno8VHVpDJAJsuz0T2gzuBVCGAdv1MCViQCFSL+7AifglQVXT307q/gNCdIg6A+O/
         0lOpAGXG6B3tJfzvOjxZE8iUe8K8zc61lQIN27FYYN5GFdP615kcxTILn+kwYNfjFvRJ
         QJBO7ZwtDZBEvkxwvAu6NGyT0Q/EtgxZTj4UWrRaG21ecfF13NaoqOtk2eVdTrCLU+nW
         ctgiaQTxBbuHcJ9uUOWJdPqMjRIbbfDyoc8njgoPikrhFlJl7rEDJnwVCltuhIsIGQQM
         hXP7Hf1H9gdQqUhyyoEtwLVy5Oxi1oAUnGJjSgf3g49y3ih8GIWLGEB3XpzX6lShtgug
         O3Ug==
X-Gm-Message-State: AOJu0YwPfWzcUbkaxad+vTHrOMMfEdVRL40JmVLYZo0Op5Uaur5Bl+F5
	Jj84PE/Dwqrf1AIusskYtRNcwbzXrjN3cCL1EtXAWF2W0VhdPEbtGXSOCcw1wDO6HQ==
X-Gm-Gg: ASbGncuLWGvjxy2A+koWiRlDZvBCREw7gJYRtxksgcM8LT6njUfswA4T5IeAJpOmbVF
	Eo2u10GlDQocqWs1eCmlwXr8qFeXhE2tvWHIo3S10QH2E+UsT4jhVyR8SG4iUZp6dNuNWsD/tVy
	J9/SVvsn6IyInt9vi/d/Jx92vQQ5spoxKsaNIUyV74sSOk/32ILxcpK7QnBconJ2pPUqQhzYcxg
	eib53wsZJfSZgCgNDtU2AmMmME8CBUUgs2MVJ2u5IS2QFBzTfqGsOA/eBBuYwKP+dGaF0yof1fJ
	StMLU7yOEp36X51bh9W8a2yQ/muRju2mA9dwAvG1WEORoKso+LLyaewb/isPWxnUgWoIOea8PVC
	CaKJcgYupxDYbUD30be+juVqZ4eRax3LSXjmfiBAQ7wU0s5QGXy04QlebuIkHjxhyZGPLCusPpJ
	JOg0wLr86KuqxsZTPYLZanqmycbZgHfsf+jvt1h+WcG/CfhUtIXt8jqtbcDEKdHnE/1PK6Mxg=
X-Google-Smtp-Source: AGHT+IFdeTz2fmCyuoV7xx1BtbLfsFs8H2lxpb2Jy7HcXmbpXz6autG5gGzWvlPxrvAxH/xoYRJ5zA==
X-Received: by 2002:a05:600c:3b0a:b0:477:b93:a7af with SMTP id 5b1f17b1804b1-4770b93a9d9mr39276015e9.0.1761560637619;
        Mon, 27 Oct 2025 03:23:57 -0700 (PDT)
Message-ID: <6428217d-b5f6-4948-aff2-b007a6cfcfc0@suse.com>
Date: Mon, 27 Oct 2025 11:23:58 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 for-4.21 2/9] x86/HPET: use single, global,
 low-priority vector for broadcast IRQ
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <6a8a912c-7276-42bd-af2b-b94fc6ce4291@suse.com>
 <545d98e0-755d-471b-84c5-54f129a5aece@suse.com> <aPt-B5R-FwJpQbZR@Mac.lan>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <aPt-B5R-FwJpQbZR@Mac.lan>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 24.10.2025 15:24, Roger Pau MonnÃ© wrote:
> On Thu, Oct 23, 2025 at 05:50:17PM +0200, Jan Beulich wrote:
>> Using dynamically allocated / maintained vectors has several downsides:
>> - possible nesting of IRQs due to the effects of IRQ migration,
>> - reduction of vectors available for devices,
>> - IRQs not moving as intended if there's shortage of vectors,
>> - higher runtime overhead.
>>
>> As the vector also doesn't need to be of any priority (first and foremost
>> it really shouldn't be of higher or same priority as the timer IRQ, as
>> that raises TIMER_SOFTIRQ anyway), simply use the lowest one above the
>> legacy range. The vector needs reserving early, until it is known whether
>> it actually is used. If it isn't, it's made available for general use.
>>
>> With a fixed vector, less updating is now necessary in
>> set_channel_irq_affinity(); in particular channels don't need transiently
>> masking anymore, as the necessary update is now atomic. To fully leverage
>> this, however, we want to stop using hpet_msi_set_affinity() there. With
>> the transient masking dropped, we're no longer at risk of missing events.
>>
>> Fixes: 996576b965cc ("xen: allow up to 16383 cpus")
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> Release-Acked-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>
>                                     ^ space?

Looks like I simply took what was provided; I've added the blank now (also
in patch 1).

> Reviewed-by: Roger Pau MonnÃ© <roger.pau@citrix.com>

Thanks.

>> @@ -303,15 +309,13 @@ static void cf_check hpet_msi_set_affini
>>      struct hpet_event_channel *ch = desc->action->dev_id;
>>      struct msi_msg msg = ch->msi.msg;
>>  
>> -    msg.dest32 = set_desc_affinity(desc, mask);
>> -    if ( msg.dest32 == BAD_APICID )
>> -        return;
>> +    /* This really is only for dump_irqs(). */
>> +    cpumask_copy(desc->arch.cpu_mask, mask);
> 
> To add some extra checks here for correctness, do you think it would
> be helpful to add:
> 
> ASSERT(cpumask_weight(mask) == 1);
> ASSERT(cpumask_intersects(mask, &cpu_online_mask));
> 
> Or that's too pedantic?

Imo that would be pretty pointless in particular since the function is to go
away anyway.

>> @@ -343,6 +347,12 @@ static int __init hpet_setup_msi_irq(str
>>      u32 cfg = hpet_read32(HPET_Tn_CFG(ch->idx));
>>      irq_desc_t *desc = irq_to_desc(ch->msi.irq);
>>  
>> +    clear_irq_vector(ch->msi.irq);
>> +    ret = bind_irq_vector(ch->msi.irq, HPET_BROADCAST_VECTOR, &cpu_online_map);
> 
> By passing cpu_online_map here, it leads to _bind_irq_vector() doing:
> 
> cpumask_copy(desc->arch.cpu_mask, &cpu_online_map);
> 
> Which strictly speaking is wrong.  However this is just a cosmetic
> issue until the irq is used for the first time, at which point it will
> be assigned to a concrete CPU.
> 
> You could do:
> 
> cpumask_clear(desc->arch.cpu_mask);
> cpumask_set_cpu(cpumask_any(&cpu_online_map), desc->arch.cpu_mask);
> 
> (Or equivalent)
> 
> To assign the interrupt to a concrete CPU and reflex it on the
> cpu_mask after the bind_irq_vector() call, but I can live with it
> being like this.  I have patches to adjust _bind_irq_vector() myself,
> which I hope I will be able to post soon.

Hmm, I wrongly memorized hpet_broadcast_init() as being pre-SMP-init only.
It has three call sites:
- mwait_idle_init(), called from cpuidle_presmp_init(),
- amd_cpuidle_init(), calling in only when invoked the very first time,
  which is again from cpuidle_presmp_init(),
- _disable_pit_irq(), called from the regular initcall disable_pit_irq().
I.e. for the latter you're right that the CPU mask is too broad (in only a
cosmetic way though). Would be you okay if I used cpumask_of(0) in place
of &cpu_online_map?

>> @@ -472,19 +482,50 @@ static struct hpet_event_channel *hpet_g
>>  static void set_channel_irq_affinity(struct hpet_event_channel *ch)
>>  {
>>      struct irq_desc *desc = irq_to_desc(ch->msi.irq);
>> +    struct msi_msg msg = ch->msi.msg;
>>  
>>      ASSERT(!local_irq_is_enabled());
>>      spin_lock(&desc->lock);
>> -    hpet_msi_mask(desc);
>> -    hpet_msi_set_affinity(desc, cpumask_of(ch->cpu));
>> -    hpet_msi_unmask(desc);
>> +
>> +    per_cpu(vector_irq, ch->cpu)[HPET_BROADCAST_VECTOR] = ch->msi.irq;
>> +
>> +    /*
>> +     * Open-coding a reduced form of hpet_msi_set_affinity() here.  With the
>> +     * actual update below (either of the IRTE or of [just] message address;
>> +     * with interrupt remapping message address/data don't change) now being
>> +     * atomic, we can avoid masking the IRQ around the update.  As a result
>> +     * we're no longer at risk of missing IRQs (provided hpet_broadcast_enter()
>> +     * keeps setting the new deadline only afterwards).
>> +     */
>> +    cpumask_copy(desc->arch.cpu_mask, cpumask_of(ch->cpu));
>> +
>>      spin_unlock(&desc->lock);
>>  
>> -    spin_unlock(&ch->lock);
>> +    msg.dest32 = cpu_physical_id(ch->cpu);
>> +    msg.address_lo &= ~MSI_ADDR_DEST_ID_MASK;
>> +    msg.address_lo |= MSI_ADDR_DEST_ID(msg.dest32);
>> +    if ( msg.dest32 != ch->msi.msg.dest32 )
>> +    {
>> +        ch->msi.msg = msg;
>>  
>> -    /* We may have missed an interrupt due to the temporary masking. */
>> -    if ( ch->event_handler && ch->next_event < NOW() )
>> -        ch->event_handler(ch);
>> +        if ( iommu_intremap != iommu_intremap_off )
>> +        {
>> +            int rc = iommu_update_ire_from_msi(&ch->msi, &msg);
>> +
>> +            ASSERT(rc <= 0);
>> +            if ( rc >= 0 )
> 
> I don't think the rc > 0 part of this check is meaningful, as any rc
> value > 0 will trigger the ASSERT(rc <= 0) ahead of it.  The code
> inside of the if block itself only contains ASSERTs, so it's only
> relevant for debug=y builds that will also have the rc <= 0 ASSERT.
> 
> You could possibly use:
> 
> ASSERT(rc <= 0);
> if ( !rc )
> {
>     ASSERT(...
> 
> And achieve the same result?

Yes, except that I'd like to keep the >= to cover the case if the first
assertion was dropped / commented out, as well as to have a doc effect.

>> @@ -991,6 +997,13 @@ void alloc_direct_apic_vector(uint8_t *v
>>      spin_unlock(&lock);
>>  }
>>  
>> +/* This could free any vectors, but is needed only for low-prio ones. */
>> +void __init free_lopriority_vector(uint8_t vector)
>> +{
>> +    ASSERT(vector < FIRST_HIPRIORITY_VECTOR);
>> +    clear_bit(vector, used_vectors);
>> +}
> 
> I'm undecided whether we want to have such helper.  This is all very
> specific to the single use by the HPET vector, and hence might be best
> to simply put the clear_bit() inside of hpet_broadcast_late_init()
> itself.

I wanted to avoid making used_vectors non-static.

> I could see for example other callers wanting to use this also
> requiring cleanup of the per cpu vector_irq arrays.  Given it's (so
> far) very limited usage it might be clearer to open-code the
> clear_bit().

Dealing with vector_irq[] is a separate thing, though, isn't it?

>> --- a/xen/drivers/passthrough/amd/iommu_intr.c
>> +++ b/xen/drivers/passthrough/amd/iommu_intr.c
>> @@ -551,6 +551,13 @@ int cf_check amd_iommu_msi_msg_update_ir
>>          for ( i = 1; i < nr; ++i )
>>              msi_desc[i].remap_index = msi_desc->remap_index + i;
>>          msg->data = data;
>> +        /*
>> +         * While the low address bits don't matter, "canonicalize" the address
>> +         * by zapping the bits that were transferred to the IRTE.  This way
>> +         * callers can check for there actually needing to be an update to
>> +         * wherever the address is put.
>> +         */
>> +        msg->address_lo &= ~(MSI_ADDR_DESTMODE_MASK | MSI_ADDR_DEST_ID_MASK);
> 
> You might want to mention this change on the commit message also, as
> it could look unrelated to the rest of the code?

I thought the comment here provided enough context and detail. I've added
"AMD interrupt remapping code so far didn't "return" a consistent MSI
 address when translating an MSI message. Clear respective fields there, to
 keep the respective assertion in set_channel_irq_affinity() from
 triggering."

Jan


From xen-devel-bounces@lists.xenproject.org Mon Oct 27 11:23:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Oct 2025 11:23:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151507.1482042 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDLJz-0000ij-5O; Mon, 27 Oct 2025 11:23:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151507.1482042; Mon, 27 Oct 2025 11:23:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDLJz-0000ic-1L; Mon, 27 Oct 2025 11:23:31 +0000
Received: by outflank-mailman (input) for mailman id 1151507;
 Mon, 27 Oct 2025 11:23:29 +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 <SRS0=UVx/=5E=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vDLJx-0000iW-Ff
 for xen-devel@lists.xenproject.org; Mon, 27 Oct 2025 11:23:29 +0000
Received: from mail-wr1-x42d.google.com (mail-wr1-x42d.google.com
 [2a00:1450:4864:20::42d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5b89d6a6-b327-11f0-980a-7dc792cee155;
 Mon, 27 Oct 2025 12:23:27 +0100 (CET)
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-4285169c005so2089233f8f.0
 for <xen-devel@lists.xenproject.org>; Mon, 27 Oct 2025 04:23:27 -0700 (PDT)
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-429952d5773sm14607684f8f.27.2025.10.27.04.23.25
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 27 Oct 2025 04:23:26 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5b89d6a6-b327-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761564206; x=1762169006; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=BkwsnQODftF4uCX0TVyMWbqOUknjJKQ7lA5pGWE3VHA=;
        b=Pf7V/SSZB9Zy0kaOBnjD5J1RKbHwnZabdOSIIgZyIOtiQIlXz3TukK4uZRjT+I4jmG
         evwsORco1lUDlXQDpEhpioydz8I6Bos9UqaBZhXQ14eDDorGefzx6xpBhF6jio95r01L
         B8DRPeBqkYNgobuklzxst6mbADStB+tZBR4iz9H4D52wFyR/+eeRbBypa3Dd7flzK18j
         D5JQQhnyCJ6dKK3ngN2zhuEaWy3dAYyFOyJM0w/CS1uT2S1nJii6sk7PJH2PAcEZ8Gg1
         4RAqWvzY8o+E6OKO/6pxeirzdK2VRRYYfQ7md5Hk6JZL4woJhgUIZs22Dp5ly4aNahjS
         CsiA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761564206; x=1762169006;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=BkwsnQODftF4uCX0TVyMWbqOUknjJKQ7lA5pGWE3VHA=;
        b=Kq5b9haLVZYtl6m8SBTboR7vqOwtX+ZLtE3f7sCFB03mK9xRhchPgA/iDu1rGqIFnr
         oTRcMmU8DY5tlH+ZZ/az6DVLYa6ZvN2c8oY1GzD4A0PTuO49y6FZeCgawpIyHyVfYmtk
         FBmUoBqO8C6XgCyp4RKYZA+AxpU2zmjVhPj0nuEGAEKrLQQ6m+ov32oozUkV8wwjE8jR
         7Edo9fq3Y0jNePzNI7B7eAZtrMUY82E1so5gUsyPHft45iU62DH3GdjE7JJoLArSewbU
         hZ1O/YDBWkie9vIk6RRwlNFF+t3xaq8UNaEPq+SqQZj+eord/J59Y0X/nMfMMOaz3EH0
         mk+g==
X-Forwarded-Encrypted: i=1; AJvYcCUgM3ZTBS7l3J6Ue9FUZDMTdcioAB89nnd6Bb9QPm/a5cf2cduaUwjmcX5APLKHH3Uum0BQQsWtOKo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxRei6PjE/tN7MFcm2zr22FNChFy1NQAXkuCfdEM/7xSbWTn0ch
	d458l1sV7ozsJxXYkrIYi6zGWBpClOiYX1qF/DINYSZCFZESZQma4+qnSn2yzuZgbg==
X-Gm-Gg: ASbGnctS8ZsKwtigX7tbY5eSYCmXK1G+V/s9XjDiuJYv+lMNQrhZ6+ZWd0b7ykjHo7u
	T7rekuE5iaBralK8ceSI3yjjquc2gMhIKEt8LtDj1+E9xx1lPpkiyf+FJ75knGb8gh19XrpwYAu
	qoV6Ek2b2o+Htj8+0YLNlpefUIjdobeR0OQ/CsoAilE2ROsU0V6GnaCenoHLkiUpDr/0aE97PB8
	va72mht2zigvBgpEUz7h3qypmf1YP1hz0i5Lp00KHqRAH850rwMNTFSi3VMCp/ldmEdI5RdyMr+
	PY+mBzLmFVeradfY5OFBFt9ScRSem+jgQbELZKHNHYM71ZGAB3aNY0TUOAXDLNikiYMFZSpThkN
	WE7uzUUY50rrRHiVmWS9fDBUG04a8TE/iEqCGC8G3bbGBJ8FQ9MSSIi4H1w4bre8AMIx+Ezstfc
	+7i4sThA+fu9rGsqK09mvGn54D78R5iKP6oJY4q8AhrA8dCjKSibKyXLIdmjTpWxt665bT9wQ=
X-Google-Smtp-Source: AGHT+IE2Y82AeaV5oSbXpvnEYhiWxKJU3Wuu1S3Hx8z73zucAE+K63bW1gUL9Yshm9sXYTKbmlVC5Q==
X-Received: by 2002:a05:6000:1848:b0:428:4354:aa27 with SMTP id ffacd0b85a97d-4284354abc4mr19933932f8f.46.1761564206418;
        Mon, 27 Oct 2025 04:23:26 -0700 (PDT)
Message-ID: <39bad1c0-d134-4766-a051-273740caab14@suse.com>
Date: Mon, 27 Oct 2025 12:23:27 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 06/12] VT-d: respect ACPI SATC's ATC_REQUIRED flag
To: Teddy Astie <teddy.astie@vates.tech>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <64b028be-2197-4951-ae5b-32f9eabfa84a@suse.com>
 <e98daa41-c6b6-4f4e-b41d-84006011068d@suse.com>
 <61df4103-7969-4f06-ad0f-374c17195653@vates.tech>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <61df4103-7969-4f06-ad0f-374c17195653@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 23.10.2025 15:30, Teddy Astie wrote:
> Le 23/10/2025 Ã  15:14, Jan Beulich a Ã©critÂ :
>> When the flag is set, permit Dom0 to control the device (no worse than
>> what we had before and in line with other "best effort" behavior we use
>> when it comes to Dom0), but suppress passing through to DomU-s unless
>> ATS can actually be enabled for such devices (and was explicitly enabled
>> on the command line).
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> v2: Re-base over new earlier patches.
>>
>> --- a/docs/misc/xen-command-line.pandoc
>> +++ b/docs/misc/xen-command-line.pandoc
>> @@ -225,7 +225,11 @@ exceptions (watchdog NMIs and unexpected
>>   > Default: `false`
>>   
>>   Permits Xen to set up and use PCI Address Translation Services.  This is a
>> -performance optimisation for PCI Passthrough.
>> +performance optimisation for PCI Passthrough.  Note that firmware may indicate
>> +that certain devices need to have ATS enabled for proper operation. For such
>> +devices ATS will be enabled by default, unless the option is used in its
>> +negative form.  Such devices will still not be eligible for passing through to
>> +guests, unless the option is used in its positive form.
>>   
>>   **WARNING: Xen cannot currently safely use ATS because of its synchronous wait
>>   loops for Queued Invalidation completions.**
> 
> Do we want to address the warning before attempting to unconditionnaly 
> enable ATS in these scenarios ? A unstable hypervisor is likely worse 
> than a non-functionning device to me.

Addressing this requires, afaict, lots of changes. Such devices also can still
only be used by Dom0 unless ATS is explicitly enabled from the command line.
Whether a non-functioning device is worse than a (only possibly) "unstable"
hypervisor is also hard to tell. Dom0 may fail to boot if the "right" device is
affected. ("Possibly" because the synchronous wait loops of course are of
concern only if they end up taking long.)

> Or at least log a warning that ATS is enabled due to a device requiring it.

This would need to be a per-device message, which may not scale very well.

>> --- a/xen/drivers/passthrough/vtd/iommu.c
>> +++ b/xen/drivers/passthrough/vtd/iommu.c
>> @@ -2364,6 +2364,26 @@ static int cf_check intel_iommu_add_devi
>>       if ( ret )
>>           dprintk(XENLOG_ERR VTDPREFIX, "%pd: context mapping failed\n",
>>                   pdev->domain);
>> +    else if ( !pdev->broken )
>> +    {
>> +        const struct acpi_drhd_unit *drhd = acpi_find_matched_drhd_unit(pdev);
>> +        const struct acpi_satc_unit *satc = acpi_find_matched_satc_unit(pdev);
>> +
>> +        /*
>> +         * Prevent the device from getting assigned to an unprivileged domain
>> +         * when firmware indicates ATS is required, but ATS could not be enabled
>> +         * or was not explicitly enabled via command line option.
>> +         */
>> +        if ( satc && satc->atc_required &&
>> +             (!drhd || ats_device(pdev, drhd) <= 0 ||
>> +              !pci_ats_enabled(pdev->seg, pdev->bus, pdev->devfn) ||
>> +              opt_ats < 0) )
>> +        {
>> +            printk(XENLOG_WARNING "ATS: %pp is not eligible for pass-through\n",
>> +                   &pdev->sbdf);
>> +            pdev->broken = true;
>> +        }
>> +    }
> 
> I don't feel pdev->broken is the right way for signaling ineligibility 
> for passthrough due to policy (ATS required).
> Especially if we eventually consider in the future allowing on a 
> per-domain basis the ability to use ATS (starting with Dom0).

Well, pdev->broken is what we have available. Anything better can come later,
imo. For now the goal has been to at least get in line with the spec. That said,
while - afaik - not written down anywhere, back at the time I got indications
that the "required" in ATC_REQUIRED may not be as strict an indication as the
word may suggest.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Oct 27 11:33:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Oct 2025 11:33:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151520.1482051 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDLTx-0002Wt-5F; Mon, 27 Oct 2025 11:33:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151520.1482051; Mon, 27 Oct 2025 11:33:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDLTx-0002Wm-1R; Mon, 27 Oct 2025 11:33:49 +0000
Received: by outflank-mailman (input) for mailman id 1151520;
 Mon, 27 Oct 2025 11:33:48 +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
 <SRS0=e0hQ=5E=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1vDLTw-0002Wg-1Y
 for xen-devel@lists.xenproject.org; Mon, 27 Oct 2025 11:33:48 +0000
Received: from PH0PR06CU001.outbound.protection.outlook.com
 (mail-westus3azlp170110003.outbound.protection.outlook.com
 [2a01:111:f403:c107::3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cc4f6006-b328-11f0-9d16-b5c5bf9af7f9;
 Mon, 27 Oct 2025 12:33:47 +0100 (CET)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by CH2PR03MB5287.namprd03.prod.outlook.com (2603:10b6:610:9e::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.18; Mon, 27 Oct
 2025 11:33:41 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9253.018; Mon, 27 Oct 2025
 11:33:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cc4f6006-b328-11f0-9d16-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=J2QD8twNkeNDoet19gln7qV+tPgMMzUhDfIDULTns0v/HPefj3BFnMwNYbGL7KDxiCn/5K9sqX7/kc7KCbj/YZ6dyIZo2s+A0/maoE0Iq7zdJN89qKCZKov8ST4FUN3Qz2Cv13MVxc/Fu4ZzN2mM0lRfSaOyN7eiqpZ42l9Wic8M2Mjzhc02CTyDosp4LQrit1I4wemqspgNgTGZKElYWFor+oaqkYKRpHrJ+GH7CrQePJMLU2fe6qRCWINRZpCMHHw1Wl1YNaiD3pM8217oWByv2c30EO+Cw+rJhujLnhIp+jyFRRE+gtrLkGvZtpBcHY85FzW5nY1nCFfXv+WumQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9x+48BY8Y19X6DkNc3fenIfDrpmoHJjRz71Yrta7NV4=;
 b=oBAtSEx/zI+bpf1XkJyxU4OBAu8VUUqDIA6rvI1WWtDUc0fZEBh5/V1xwSDGcUBx7Ae8CBNioA+CA8Ojv+EHtYysZQUgVrklv9BA3T5tf+hecv9kMnWfEeRq9DJB8Pv+NgKigL8npW5KHZQVS6aZEErUwMUBDbDyMwTH4V+yNh1xV9usXOq1Hxg8FIFVsLHqm2IAtb1qKPbiRWrk2EeZwkXxoyVAr8hXEyFQER0CHon1tyO/tACyk+zQ84jqajJYjOZRxzJ66rV/acOFmnpWWQizWbrbr/LFwlrmIdvpZRDGk6SFDFawyfjYE3WbvvQV4jLbDHP5mVnmVsJRmez7NQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9x+48BY8Y19X6DkNc3fenIfDrpmoHJjRz71Yrta7NV4=;
 b=xKuZbr8e16tsl8vhlPZYOpx7jYbZjT+z/pMHQPkBW8GPYoIuen7iRRdA1F/RCRYClekDsjz3GVYpZCh3GNDTZjV+TsVciHuRXYIr2aOMdcIWCPb+b6xoRfqRicqUXad0u8HCq9NaEEevNtaeuVuWbECW9fv9/y9J913DyYMgY9g=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Mon, 27 Oct 2025 12:33:36 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH v3 for-4.21 2/9] x86/HPET: use single, global,
 low-priority vector for broadcast IRQ
Message-ID: <aP9YkLo782XbfMQM@Mac.lan>
References: <6a8a912c-7276-42bd-af2b-b94fc6ce4291@suse.com>
 <545d98e0-755d-471b-84c5-54f129a5aece@suse.com>
 <aPt-B5R-FwJpQbZR@Mac.lan>
 <6428217d-b5f6-4948-aff2-b007a6cfcfc0@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <6428217d-b5f6-4948-aff2-b007a6cfcfc0@suse.com>
X-ClientProxiedBy: MA2P292CA0016.ESPP292.PROD.OUTLOOK.COM (2603:10a6:250::14)
 To DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|CH2PR03MB5287:EE_
X-MS-Office365-Filtering-Correlation-Id: c5888c9f-c4c9-4cb1-581f-08de154cad95
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?ZGpmQ2FialBrL2pwbXpaQzdVS2YyUk4zYUUzVW55OVNEUHJjL2cyMjFuVXdT?=
 =?utf-8?B?MG02RENDTFdNaUFQUVVDUjNKN1RMS1U0VnR6WXVDM1hlaCtubDhCWTRpZkFm?=
 =?utf-8?B?cHFhZGhqMzNXa0s1dUErTkcyN01ua0g2aGpKK1I4d3Z0U2V2aUhvM1A4aFU4?=
 =?utf-8?B?Tk5GaXgyeWdaeThXOU9RbzhMeENMZE5qUkFjL3ZiZDZYQnBWSE1xOWIxVmZh?=
 =?utf-8?B?SHhxVXhMTWNzblpnYlhQMHREZ0lUSjFoYjQ2MFBybTJaSDI0RXF0VmliaU1S?=
 =?utf-8?B?Y0JDOFhGS1BZTEpwT1pXb0ptbmFMMFh0TU4xMlJ2ZEMvemRQQ3NFSEtXTHh3?=
 =?utf-8?B?eGdoaHZXdUEvZ0xYV3JWVFZGRFhERldBNWZCckR3aWxrVU5tb1JFaHowaEFL?=
 =?utf-8?B?R2dXRHM0OEl3cU84UytGUGRaTlEwMnhxQUVXa2lkVFFQUFN3UlUwTjE2ck51?=
 =?utf-8?B?NE41RWhEN3dWUHVTL1NHRnZrTGxEaUZUdmNLbkZTNTVvSHRqMGZxcFNoWW02?=
 =?utf-8?B?ZzF6akFCVE5wNVVNbVJDN09WOVlzSEk0N3RQV1JKcFkxRkM5WU9PQzNmTHNw?=
 =?utf-8?B?Rm1vWnd0N05xSC9NVWttc1BFaUVzc0VwcmRjUXB3MkNjNmR1bm1uRTJJR2ZG?=
 =?utf-8?B?VnRHSUlLdVZYRlJxYUFBTWNRemxXc3FEMGhqeng5c3F1VkNGdU1jdVVCUmlW?=
 =?utf-8?B?RkNSMHNkd0xLVkYrVGF6VC9BWHA2SEhUdlZYc2M5MDZFN254Szc3QmFFT0tn?=
 =?utf-8?B?RkhtL0ZzL0NoemVGai9wK2kySEJDbVJ4UTM0RVErdUJRcEN3aGRTZzd2dmZZ?=
 =?utf-8?B?MGNtR3VzS2dUaXZlcjBNaE0vL0tIWTRaZzhqMjBhelZ3czQ3Z1hUV3ZmTEo5?=
 =?utf-8?B?THFtTlNyRjlhZlQydDRRTmdDeG1qeWxSSFVtVG8ycHAxdXJvdWhHOGs0MC9N?=
 =?utf-8?B?MW8xUVNmREZOc3MrSTFNcitJUVR0SVJWTTFQb01SUXhZRUR1Q0RtK0orWUc3?=
 =?utf-8?B?MU5ZWjhxSkVOS0dJS3U2bjBGS1RtVU04TmNHVWFmYmYxeFJPY2VCN1BoVldR?=
 =?utf-8?B?MTlxd2pDNUxzTEovTzhwcThpTzhWUkZPOTQzNEUyNEFvZXAyZWU1RW9IWmE4?=
 =?utf-8?B?bHZGMzBuUitDeEFKK1hSWFZpUHNxblJGY0xUNzNCMWRZNVRaa0lJempDYUJH?=
 =?utf-8?B?ZUZ2MkdlUG1OSWg2NEhlNnNsdm9INnBQOXJibnZ2b2wyb0pDRkVtNGpyWGFh?=
 =?utf-8?B?dXlObkxCWWZ6VjFBM1ROOElxdmdVRkdMcHZWMjQ1REh6RW1aYmUzRlNDSTd0?=
 =?utf-8?B?eFlMaWp4bStjVUpISVU1NmZPODBTb1M3RnV6TUlzVDJXUkZlK1ZIR3UwR2tS?=
 =?utf-8?B?VXFVUm43dHhWV0U4ellNL0Z1MmJDK1NpaEs2S3JRVnlYYWhvUmFlR3BQTzlk?=
 =?utf-8?B?eW1naWJaRWQ2ak82bVpOMjFCanh6TUliWisxaGQ5RHJYTG9qRU1NU1pCenVU?=
 =?utf-8?B?dFhzeE9VTWNzV3dWcHlTSEt6UDNQRU9CNUFKK3VBd2ZGYzBKemhFeVo3RVNX?=
 =?utf-8?B?MWJWdmc5R3hlRVhvOG9SL01ueUFkcldKZmNsK2NXMFk2cDczTDdRbFlCaGNH?=
 =?utf-8?B?MmpTNU1mSVd0ZlVCcXVFd0tjNWN4ZzRNd1pwM1BscUpCVGVlTlJNV0kybHVl?=
 =?utf-8?B?dXJPZ1B5UHNLeXRoaCtCN0cyNkdXVnFiWjdBMWdyaUxWZ25ZcFo0NHRXWmpX?=
 =?utf-8?B?NlEzRUlhWGVCZHR6ZHJKc2xDUEpySnBFbkE0dmdsTVRWTjk4Yjljdi9oaHBL?=
 =?utf-8?B?WE45TlI0bFhUL3VOTDkvMmlyTTczaUxsVGdaWS9OTTAzRzRJeVh5SUY2Rzdz?=
 =?utf-8?B?dVQ5ZmZSQnh1Q2R6NjBieTlDL1Nhbkpxc3Z4YUJqalZ4bDRkQ2tnN0hnT3dF?=
 =?utf-8?Q?ZXW3W8kJ1aDHxCxDL8f+YB0jbYlD2WWf?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ODA2VzcyRkZwbC9ESUttS0ZNd3hIL3NhdmFiUjlZYWpiTFpOV2xpeEdRVGc3?=
 =?utf-8?B?dzNsUERBc1kwZ0plRmtyWFVWNWpuTVZFWXNYd1ZVcEtXci91ZnpML2NEOXZu?=
 =?utf-8?B?bE1zVHlNSzdlNE5NQ1NZTFJqcmhQN1VraWM0T0RLZG4vR1FwcnJnSFN3NHQ4?=
 =?utf-8?B?bWlKSitsQW9EM2wxWnZhVXVZbzhudXpaYlM0dmRCM3Z2MUltTTI5RitwaUlY?=
 =?utf-8?B?RmlKWVVZei96bncvWnBUOEYxQUw0TktBYUtGS2s0R1o3d2JYbEVBRHZxMWlS?=
 =?utf-8?B?NEZFY2lENzZIT3FQc2NpWFZ3OHBFTXQwZU9HRTUwelNFR3hlT1hKbkRkNXVi?=
 =?utf-8?B?VER1QjJlNnliVHJrV3ZpUkFTMDZtVzJQZzZvaWU1cFZDcnRXVUx6cWRRcWJk?=
 =?utf-8?B?VzZ4VUVoaWVOU0p1UGZla1JxRmpVWHRVUStJSklGSFZuRS9Yak9YNlp3eTBE?=
 =?utf-8?B?ejFneW9TMTNRc1ZoOFc0M0lQamZCUmxKNWQyKytiU1NpUWRWUkVYYWRzMEQ4?=
 =?utf-8?B?VVNZb0JPUjE5bVYxbTc1d2tvaWx6cUVWbHZST3htM1FMeG1JOFhuWDIrMjJa?=
 =?utf-8?B?VXlUNTVGRkpBTWw0emxOOWlqdmY3SlM5NzhlQzhGQzJkWjFESU8vNnpHU2xF?=
 =?utf-8?B?TlE4czNKZGRLVlVJbTNvQytaWlNHMVBwQ3FEQlBLYW8xRTRHZExPMnlnVXdW?=
 =?utf-8?B?bUZOTUdadGxKc0dnNll1WURoU2pTRlBsUmt2STFRcHRTVS9ndUFsNk9VaS9B?=
 =?utf-8?B?dDhYdE5GRzZXQ2hyK2ltTnZva2dPQklLdms4bW40VUdmeHpHb2lVaDRKK2po?=
 =?utf-8?B?b1NSNkJndnBkb05iL005RkxyenduVElLSWxncHZGM3BCMmR1aDRienBUdlJp?=
 =?utf-8?B?aGRrVXZ6Q2xHSG5KU0dIcFFscXRZd281UjB0NVd0c3IxR3hPUTVtOHJkZnN3?=
 =?utf-8?B?YlVoeXkrSVVGMlJrLzRJUE5QTlJ3dmJBU2tmR1FuYWh4ZDNoaVQvQnV2TllX?=
 =?utf-8?B?WitEU3FKa1hyOThTRWVub0FVOWxVSmdib2ZpTmQxcE4zRVNpaTVEQ21CekFO?=
 =?utf-8?B?aE5xR1ZtQ2dlMjdzMGpYRXJ6MGpmVi9KbGgvRG1SNTlnL1krMlpYUnUwS0Ix?=
 =?utf-8?B?WHYwRkIwTnhVd3V2Wm5aam5KQm9HTE8veUVYbDU4RmpjenJQdWhFZXJkbW1W?=
 =?utf-8?B?MTFmT3d6V2lLQ2hpRW56cFNLOHZtclRnSUNnWk5oemlxUjZ6cmc3Z0pJdGVN?=
 =?utf-8?B?RC9oMDJnelltckI1TnBVOUtHWldSRUdnTm9mVG0wMjNoOEZHaW94THY1OWRa?=
 =?utf-8?B?aDhJdGliYkowNi9OQUJiUUJjMitWMmhEZnk2bVNGb053cWppVXJNNkdMeHZ2?=
 =?utf-8?B?Zy8wZzdiZlJxeXpSL2FYQTV4dEFQZm9DNjF2bGJxbWVXbE56NHowcXhxSkx4?=
 =?utf-8?B?TlF4V09VVG83TTVaYUw3U21sL1ovN1hzZnlOK0ZlT2R5dktaN3Fua201ejdi?=
 =?utf-8?B?OFNIYmczRitnNDQ4K1B2QmxZcTR5UmQrQVEzdjkvNmQ2QXNva0RFN1lzeUFl?=
 =?utf-8?B?bzRYRFZ4YUpJZmVjMmhwckdLWXdoLy9IQm9vZ0JBd0w5cUpqRmF3c0c3WU9M?=
 =?utf-8?B?Q2hFNkYrS0Z1d1hFa3hKdW5wWExTdlpyYWVqOExuMkNQVW1JYkhKSXBxdHpW?=
 =?utf-8?B?K0lOODkvSEt2Y0Q3YjMxaGRjZndHTGRNTGZsNzhydmJ0T2dhZU43NmVNRm5n?=
 =?utf-8?B?ZzVSUG9PR2hibUZBUDNDaTViS0doMkl2STJZUGZrMVdPcUxYRlI2dDZJZW9u?=
 =?utf-8?B?UXFiazVtekEwQ2ZKdnlNOW1ZejRvRG1KWXVOQWNuUFFkRTNZeDh3WWxod0dn?=
 =?utf-8?B?MHhsYVhEeFVSTGl6VzF4NnZlendvY211ZCt3cUh5VzdtYWdCYUROdVdqWk16?=
 =?utf-8?B?cmlqQkNFdjU0UXYxVktJMk1PMTUrbm8zUlBKcjlnd1JSL2FFTUh4QTRtZFZC?=
 =?utf-8?B?eDdzdm40ZkFUczBWRm5yM0tRSE5PbEtHcDlmTUtRb0NXK0V2VWRRaU5QV25q?=
 =?utf-8?B?Y2RmakozRnl6VlJYQm8zbFd4MWJvWjdtcHNQVHM2S3lRdGVRckJqY1lTYnlX?=
 =?utf-8?Q?jAMiW0N3XD4e0ICPQdOdXbu/P?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c5888c9f-c4c9-4cb1-581f-08de154cad95
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Oct 2025 11:33:41.3048
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: p2zNj6W+KGFLRxtsBAiLENBjOd0jeE6v5NabevMeCmUHwRMaf+zJyMZgUsToFjMQCj2el9MdhM2kY1K1LOXCgw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR03MB5287

On Mon, Oct 27, 2025 at 11:23:58AM +0100, Jan Beulich wrote:
> On 24.10.2025 15:24, Roger Pau MonnÃ© wrote:
> > On Thu, Oct 23, 2025 at 05:50:17PM +0200, Jan Beulich wrote:
> >> @@ -343,6 +347,12 @@ static int __init hpet_setup_msi_irq(str
> >>      u32 cfg = hpet_read32(HPET_Tn_CFG(ch->idx));
> >>      irq_desc_t *desc = irq_to_desc(ch->msi.irq);
> >>  
> >> +    clear_irq_vector(ch->msi.irq);
> >> +    ret = bind_irq_vector(ch->msi.irq, HPET_BROADCAST_VECTOR, &cpu_online_map);
> > 
> > By passing cpu_online_map here, it leads to _bind_irq_vector() doing:
> > 
> > cpumask_copy(desc->arch.cpu_mask, &cpu_online_map);
> > 
> > Which strictly speaking is wrong.  However this is just a cosmetic
> > issue until the irq is used for the first time, at which point it will
> > be assigned to a concrete CPU.
> > 
> > You could do:
> > 
> > cpumask_clear(desc->arch.cpu_mask);
> > cpumask_set_cpu(cpumask_any(&cpu_online_map), desc->arch.cpu_mask);
> > 
> > (Or equivalent)
> > 
> > To assign the interrupt to a concrete CPU and reflex it on the
> > cpu_mask after the bind_irq_vector() call, but I can live with it
> > being like this.  I have patches to adjust _bind_irq_vector() myself,
> > which I hope I will be able to post soon.
> 
> Hmm, I wrongly memorized hpet_broadcast_init() as being pre-SMP-init only.
> It has three call sites:
> - mwait_idle_init(), called from cpuidle_presmp_init(),
> - amd_cpuidle_init(), calling in only when invoked the very first time,
>   which is again from cpuidle_presmp_init(),
> - _disable_pit_irq(), called from the regular initcall disable_pit_irq().
> I.e. for the latter you're right that the CPU mask is too broad (in only a
> cosmetic way though). Would be you okay if I used cpumask_of(0) in place
> of &cpu_online_map?

Using cpumask_of(0) would be OK, as the per-cpu vector_irq array will
be updated ahead of assigning the interrupt to a CPU, and hence it
doesn't need to be done for all possible online CPUs in
_bind_irq_vector().

In the context here it would be more accurate to provide an empty CPU
mask, as the interrupt is not yet targeting any CPU.  Using CPU 0
would be a placeholder, which seems fine for the purpose.

> >> @@ -472,19 +482,50 @@ static struct hpet_event_channel *hpet_g
> >>  static void set_channel_irq_affinity(struct hpet_event_channel *ch)
> >>  {
> >>      struct irq_desc *desc = irq_to_desc(ch->msi.irq);
> >> +    struct msi_msg msg = ch->msi.msg;
> >>  
> >>      ASSERT(!local_irq_is_enabled());
> >>      spin_lock(&desc->lock);
> >> -    hpet_msi_mask(desc);
> >> -    hpet_msi_set_affinity(desc, cpumask_of(ch->cpu));
> >> -    hpet_msi_unmask(desc);
> >> +
> >> +    per_cpu(vector_irq, ch->cpu)[HPET_BROADCAST_VECTOR] = ch->msi.irq;
> >> +
> >> +    /*
> >> +     * Open-coding a reduced form of hpet_msi_set_affinity() here.  With the
> >> +     * actual update below (either of the IRTE or of [just] message address;
> >> +     * with interrupt remapping message address/data don't change) now being
> >> +     * atomic, we can avoid masking the IRQ around the update.  As a result
> >> +     * we're no longer at risk of missing IRQs (provided hpet_broadcast_enter()
> >> +     * keeps setting the new deadline only afterwards).
> >> +     */
> >> +    cpumask_copy(desc->arch.cpu_mask, cpumask_of(ch->cpu));
> >> +
> >>      spin_unlock(&desc->lock);
> >>  
> >> -    spin_unlock(&ch->lock);
> >> +    msg.dest32 = cpu_physical_id(ch->cpu);
> >> +    msg.address_lo &= ~MSI_ADDR_DEST_ID_MASK;
> >> +    msg.address_lo |= MSI_ADDR_DEST_ID(msg.dest32);
> >> +    if ( msg.dest32 != ch->msi.msg.dest32 )
> >> +    {
> >> +        ch->msi.msg = msg;
> >>  
> >> -    /* We may have missed an interrupt due to the temporary masking. */
> >> -    if ( ch->event_handler && ch->next_event < NOW() )
> >> -        ch->event_handler(ch);
> >> +        if ( iommu_intremap != iommu_intremap_off )
> >> +        {
> >> +            int rc = iommu_update_ire_from_msi(&ch->msi, &msg);
> >> +
> >> +            ASSERT(rc <= 0);
> >> +            if ( rc >= 0 )
> > 
> > I don't think the rc > 0 part of this check is meaningful, as any rc
> > value > 0 will trigger the ASSERT(rc <= 0) ahead of it.  The code
> > inside of the if block itself only contains ASSERTs, so it's only
> > relevant for debug=y builds that will also have the rc <= 0 ASSERT.
> > 
> > You could possibly use:
> > 
> > ASSERT(rc <= 0);
> > if ( !rc )
> > {
> >     ASSERT(...
> > 
> > And achieve the same result?
> 
> Yes, except that I'd like to keep the >= to cover the case if the first
> assertion was dropped / commented out, as well as to have a doc effect.

Oh, OK.  Fair enough, I wasn't taking into account that this could be
done in case code is modified.

> >> @@ -991,6 +997,13 @@ void alloc_direct_apic_vector(uint8_t *v
> >>      spin_unlock(&lock);
> >>  }
> >>  
> >> +/* This could free any vectors, but is needed only for low-prio ones. */
> >> +void __init free_lopriority_vector(uint8_t vector)
> >> +{
> >> +    ASSERT(vector < FIRST_HIPRIORITY_VECTOR);
> >> +    clear_bit(vector, used_vectors);
> >> +}
> > 
> > I'm undecided whether we want to have such helper.  This is all very
> > specific to the single use by the HPET vector, and hence might be best
> > to simply put the clear_bit() inside of hpet_broadcast_late_init()
> > itself.
> 
> I wanted to avoid making used_vectors non-static.
> 
> > I could see for example other callers wanting to use this also
> > requiring cleanup of the per cpu vector_irq arrays.  Given it's (so
> > far) very limited usage it might be clearer to open-code the
> > clear_bit().
> 
> Dealing with vector_irq[] is a separate thing, though, isn't it?

Possibly, that's part of the binding, rather than the allocation
itself (which is what you cover here).

> >> --- a/xen/drivers/passthrough/amd/iommu_intr.c
> >> +++ b/xen/drivers/passthrough/amd/iommu_intr.c
> >> @@ -551,6 +551,13 @@ int cf_check amd_iommu_msi_msg_update_ir
> >>          for ( i = 1; i < nr; ++i )
> >>              msi_desc[i].remap_index = msi_desc->remap_index + i;
> >>          msg->data = data;
> >> +        /*
> >> +         * While the low address bits don't matter, "canonicalize" the address
> >> +         * by zapping the bits that were transferred to the IRTE.  This way
> >> +         * callers can check for there actually needing to be an update to
> >> +         * wherever the address is put.
> >> +         */
> >> +        msg->address_lo &= ~(MSI_ADDR_DESTMODE_MASK | MSI_ADDR_DEST_ID_MASK);
> > 
> > You might want to mention this change on the commit message also, as
> > it could look unrelated to the rest of the code?
> 
> I thought the comment here provided enough context and detail. I've added
> "AMD interrupt remapping code so far didn't "return" a consistent MSI
>  address when translating an MSI message. Clear respective fields there, to
>  keep the respective assertion in set_channel_irq_affinity() from
>  triggering."

LGTM, I would possibly remove the last "respective" for being
repetitive given the previous one in the sentence.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Oct 27 11:53:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Oct 2025 11:53:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151530.1482060 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDLn5-0005Z5-Ks; Mon, 27 Oct 2025 11:53:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151530.1482060; Mon, 27 Oct 2025 11:53:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDLn5-0005Yy-IB; Mon, 27 Oct 2025 11:53:35 +0000
Received: by outflank-mailman (input) for mailman id 1151530;
 Mon, 27 Oct 2025 11:53:34 +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 <SRS0=UVx/=5E=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vDLn4-0005Yq-Ri
 for xen-devel@lists.xenproject.org; Mon, 27 Oct 2025 11:53:34 +0000
Received: from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com
 [2a00:1450:4864:20::32c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 905a4a72-b32b-11f0-9d16-b5c5bf9af7f9;
 Mon, 27 Oct 2025 12:53:33 +0100 (CET)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-475ca9237c2so25337825e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 27 Oct 2025 04:53:33 -0700 (PDT)
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-475dd4924a4sm134556335e9.7.2025.10.27.04.53.32
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 27 Oct 2025 04:53:32 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 905a4a72-b32b-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761566013; x=1762170813; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=0hkePjppX1XIU6ikWgg8zRVcODJECRudaAgSviJjimA=;
        b=GyWol96Ra7MAv6+m61ndadGZkl8OTl+fNPGfW4G5nXTHMmU+/lY8XTJRauo2KxYvZr
         wb0AtTfEBotyJ6kzktvXUaK9a7y0Fmmrx8IJLuhx7pW9d33HPU5/jSl4zYuqdA2XWJal
         0byz7La/DgmrM9ls6f+GTFADcatDxHWM15WaUj+JPQLmGzzt0tQ4V5zyqVfGfkXhybjs
         bO1iWY/mrMWONnBhhsI92YnlTExTZ+dZokZ215ao7r7edhjxz0Y7vj+ib4bOOcD3+Fx/
         qpc9anyNtdabKxG2vu0kfhhaHwhKoyxkS2hglZj1aSMdEZO8gkmVp1WMF30nH0MHsKUV
         rDYA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761566013; x=1762170813;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=0hkePjppX1XIU6ikWgg8zRVcODJECRudaAgSviJjimA=;
        b=Zu+PF6MG5GATl2s7+dvEm+kviRc0/49dbdHr/fzsUD/GqvfOOk3qnBYiymUAcys6KO
         TYPGJYBfesxrrfsK67bVUi8sBFxbuUSbK1NJj0tSZjtNCmIWexhlb1DEu5pwOxD08gH+
         CIyirJRadY2qD7v/f3g+tvZUcrySxxixgxrtSwuxflGvIwc1+iI0Lhs0aUrUXfMGub6P
         35NVSibOMNENr0szgrejp7Pe+WxO6fsOo/hR7o/dV/GAbW3vKyFNoJBQ18h5v9dbLSgt
         VuEyWNbayNW5HVx+3zs/UFfsPex4tcClzfVqd7e0T4mmLq5jhgsLVRs0/+qOCj+l0FXy
         glrw==
X-Gm-Message-State: AOJu0YzVRmPtzSmj0eCqurmPCpC6wXmXeDberbkWkVHBJCRZ3p7S/Ztm
	88YFX7r76Zn6rKxlF+PAUvjnljM3s5WX0mVa5XWn5IyetKV6KH3LzTQIz2sszq8Ejw==
X-Gm-Gg: ASbGncspcXDj2HmHgL/u2EMk63LRCPPzLVIQy8eJYafOFTsZNhUEoKUhrZzzWsETnbe
	BTg88PIqPqTDauLM0BOhjTA7ivqV7DFM02Sl0q+TqVQMNLSnuMvVlaH1EuPZ3fr9V0I6EsVjtp1
	kjWHIiDQcwZSmufNG/JWgoxhrDs15kPjWkWEkOeySsS5LAcjDTmw7/rKkt1tx6jmAjInr6B2f+H
	zHn34PdpDU7VIBejvkSCztev0NGrjOnC6vhvgIJ2fOh4DyybxnsIJ+nLzIKpKtjJDFupLJ34wz1
	J6bN+w6mXxhf++d7QQE/HXZYA3+rETiR+xjdREbPPUvUYWWCGV7xh8U2U14Y8HG11x07yxSoksp
	wjDK8TYXfSsMgEZGd8VkAS6sMKkH4rlQg4tqVAHwuSRyjCBkqHPo2tP6iqvpbsUe8W6wD4KXr/L
	lcF4qR2T4Tpty1AZgI3aJRxftUdcZG4fgo3/0MtSxl9exNy/hGQbnHi4Cre1R2xAxf2jV8ov757
	vhohqWeCw==
X-Google-Smtp-Source: AGHT+IHJT/zOrXI4Z1S8JJ4uAmoe1sEdEDEyeLV1PSHzs1xbPwlo+O9+/8l5MedMa6LnSADEPY72ng==
X-Received: by 2002:a05:600c:4446:b0:471:1717:421 with SMTP id 5b1f17b1804b1-475d2ebf3e0mr95683925e9.19.1761566012911;
        Mon, 27 Oct 2025 04:53:32 -0700 (PDT)
Message-ID: <536c4e25-1e32-4adf-865d-7750f08a2922@suse.com>
Date: Mon, 27 Oct 2025 12:53:34 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 for-4.21 2/9] x86/HPET: use single, global,
 low-priority vector for broadcast IRQ
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <6a8a912c-7276-42bd-af2b-b94fc6ce4291@suse.com>
 <545d98e0-755d-471b-84c5-54f129a5aece@suse.com> <aPt-B5R-FwJpQbZR@Mac.lan>
 <6428217d-b5f6-4948-aff2-b007a6cfcfc0@suse.com> <aP9YkLo782XbfMQM@Mac.lan>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <aP9YkLo782XbfMQM@Mac.lan>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 27.10.2025 12:33, Roger Pau MonnÃ© wrote:
> On Mon, Oct 27, 2025 at 11:23:58AM +0100, Jan Beulich wrote:
>> On 24.10.2025 15:24, Roger Pau MonnÃ© wrote:
>>> On Thu, Oct 23, 2025 at 05:50:17PM +0200, Jan Beulich wrote:
>>>> @@ -343,6 +347,12 @@ static int __init hpet_setup_msi_irq(str
>>>>      u32 cfg = hpet_read32(HPET_Tn_CFG(ch->idx));
>>>>      irq_desc_t *desc = irq_to_desc(ch->msi.irq);
>>>>  
>>>> +    clear_irq_vector(ch->msi.irq);
>>>> +    ret = bind_irq_vector(ch->msi.irq, HPET_BROADCAST_VECTOR, &cpu_online_map);
>>>
>>> By passing cpu_online_map here, it leads to _bind_irq_vector() doing:
>>>
>>> cpumask_copy(desc->arch.cpu_mask, &cpu_online_map);
>>>
>>> Which strictly speaking is wrong.  However this is just a cosmetic
>>> issue until the irq is used for the first time, at which point it will
>>> be assigned to a concrete CPU.
>>>
>>> You could do:
>>>
>>> cpumask_clear(desc->arch.cpu_mask);
>>> cpumask_set_cpu(cpumask_any(&cpu_online_map), desc->arch.cpu_mask);
>>>
>>> (Or equivalent)
>>>
>>> To assign the interrupt to a concrete CPU and reflex it on the
>>> cpu_mask after the bind_irq_vector() call, but I can live with it
>>> being like this.  I have patches to adjust _bind_irq_vector() myself,
>>> which I hope I will be able to post soon.
>>
>> Hmm, I wrongly memorized hpet_broadcast_init() as being pre-SMP-init only.
>> It has three call sites:
>> - mwait_idle_init(), called from cpuidle_presmp_init(),
>> - amd_cpuidle_init(), calling in only when invoked the very first time,
>>   which is again from cpuidle_presmp_init(),
>> - _disable_pit_irq(), called from the regular initcall disable_pit_irq().
>> I.e. for the latter you're right that the CPU mask is too broad (in only a
>> cosmetic way though). Would be you okay if I used cpumask_of(0) in place
>> of &cpu_online_map?
> 
> Using cpumask_of(0) would be OK, as the per-cpu vector_irq array will
> be updated ahead of assigning the interrupt to a CPU, and hence it
> doesn't need to be done for all possible online CPUs in
> _bind_irq_vector().
> 
> In the context here it would be more accurate to provide an empty CPU
> mask, as the interrupt is not yet targeting any CPU.  Using CPU 0
> would be a placeholder, which seems fine for the purpose.

Putting an empty mask there, while indeed logically correct, would (I fear)
again put us at risk with other code making various assumptions. I'll go
with cpumask_of(0).

>>>> --- a/xen/drivers/passthrough/amd/iommu_intr.c
>>>> +++ b/xen/drivers/passthrough/amd/iommu_intr.c
>>>> @@ -551,6 +551,13 @@ int cf_check amd_iommu_msi_msg_update_ir
>>>>          for ( i = 1; i < nr; ++i )
>>>>              msi_desc[i].remap_index = msi_desc->remap_index + i;
>>>>          msg->data = data;
>>>> +        /*
>>>> +         * While the low address bits don't matter, "canonicalize" the address
>>>> +         * by zapping the bits that were transferred to the IRTE.  This way
>>>> +         * callers can check for there actually needing to be an update to
>>>> +         * wherever the address is put.
>>>> +         */
>>>> +        msg->address_lo &= ~(MSI_ADDR_DESTMODE_MASK | MSI_ADDR_DEST_ID_MASK);
>>>
>>> You might want to mention this change on the commit message also, as
>>> it could look unrelated to the rest of the code?
>>
>> I thought the comment here provided enough context and detail. I've added
>> "AMD interrupt remapping code so far didn't "return" a consistent MSI
>>  address when translating an MSI message. Clear respective fields there, to
>>  keep the respective assertion in set_channel_irq_affinity() from
>>  triggering."
> 
> LGTM, I would possibly remove the last "respective" for being
> repetitive given the previous one in the sentence.

Oh, indeed. Replaced it by "related" rather than dropping it completely.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Oct 27 11:57:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Oct 2025 11:57:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151540.1482070 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDLrG-0006DQ-3k; Mon, 27 Oct 2025 11:57:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151540.1482070; Mon, 27 Oct 2025 11:57:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDLrG-0006DJ-1F; Mon, 27 Oct 2025 11:57:54 +0000
Received: by outflank-mailman (input) for mailman id 1151540;
 Mon, 27 Oct 2025 11:57:53 +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 <SRS0=UVx/=5E=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vDLrF-0006DB-7d
 for xen-devel@lists.xenproject.org; Mon, 27 Oct 2025 11:57:53 +0000
Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com
 [2a00:1450:4864:20::333])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2a7736b5-b32c-11f0-9d16-b5c5bf9af7f9;
 Mon, 27 Oct 2025 12:57:52 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-471b80b994bso64821345e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 27 Oct 2025 04:57:52 -0700 (PDT)
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-475dd494d5csm134704095e9.9.2025.10.27.04.57.50
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 27 Oct 2025 04:57:51 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2a7736b5-b32c-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761566271; x=1762171071; 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=czRsJIkeIQyDickI5ZiW35dj4RlYbVgngh7L36yZgVo=;
        b=ESc9ZkhdqoCf74/B5JPdL578SZ4odlH33XYuU3EHqI8QM2fNSVo7OJF7hPpEPEcJ7o
         znCbCXCvNOXJmVHJcJOtxoTGk3WiQgp0yrJgpxwt9ZOsRw9YuwY4oGA4HnMInMh/pO26
         KZvmPsFHdqmGwhpd5d/15kD2sZwacbwBFdtCsoWn058YGKQtO9E5np/MUJqu0jBeU3YC
         6jzfYeSkdh3FjG3PB3Ihwj74UDveI0AZwUmyxLx+6TgUd31Z/pmXaon3Br/t7fdA93Hj
         oOKZYbzjQbggmA/qCcrqyl+gx+dG9ZEkt+XXVpL9qhC/2uaFr4BDziCHErxWr/RD2BJm
         WoIQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761566271; x=1762171071;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=czRsJIkeIQyDickI5ZiW35dj4RlYbVgngh7L36yZgVo=;
        b=fr9W83soH/48mm04yzkCBhawt1j7dqVQBjKFBKnJUUifeF4ZqTlm+5/kheWdK1BEok
         cL/jdmrYoImN/9i2b63OzggQWlbuL0dzEm/IOXuBAeVBL1qDzS6w8UlASw9X10ATjWqL
         c2lNdoP0zU0zUHu/BM8Ok8TJXLXgaF6rIDJi4xrrMtzKyy3/nvqYYf3dTgUlGHLmekEs
         qOg4w17UgQ5LhNDOwHG5+EQId7Y3/etpKU82P6qUqpEa/d40vS63aMzxddaT+kcYV4Kf
         aB7ZknB64PMEzlR6dqqg4VdL/4fR/CWAC6JYwfAT0PiI9o6s/Zge5c0zFcw+iyGG/KPw
         mlFg==
X-Gm-Message-State: AOJu0YwkHUD9RzWM5RFL8gsXbZ2HMoY5PB5uvWbeUjKkjASz2g+cJQGL
	+4x/vOd8IUJi9YLOXjilczjKWXnEAM3r6lDgOVLAFLF9AgKtffCTpMHrMK9Q5cNOnrM9mYcsJJM
	ddl8=
X-Gm-Gg: ASbGncs4dT8OQn6PpRSMZlIZhj5/H7nPctHL7RPWUoKitXyV4cPO7dHpy1C7FFbTp1+
	SchcpOdnEakLp8jYwMuJCFtjvzVQdkW+ehj/vi2mdkt6nOktE0tCu1kXXBplwa28qW5e/tqpWaV
	GWAEkYvUVloX5dH5wwkNeL7/17aD5hQNXYoxo6OWfR4e3yhRv17h3mcmPiADB9BJNhEF7CL9t4j
	X9t2RHurUojZCpZ9WTW5C9Dl+BH1ww2AcDC2k3YFoAbU7BIL1iP6iNJ0LI4XQVKQc06tIe+ArOX
	ocz2xLS7hGmGICYxqzv6nW1ev74dNjHrlpRIQAoRHSnYfOqsNssz3uV72zwQXpamBARdkxLe6kM
	M2UF2vxiqxbOsdAhP71oid+IP/dLoX7pv6om9xS03cYppnbfiiNqcXHdfzmWq7SACG+bQ67XGCd
	+vQJnMjJfJdL2RCdDbrTW7g9MwygHgY7cOQmvmynq3Evqg1vBNf1vpJwTvSKzSx85H4EVibQ8=
X-Google-Smtp-Source: AGHT+IGX91LqigwF59GuTZwo94JcPcMRNw6IwY1xq0l/DF0p3H5km1ooN7GscEhqJhMRu+2A0PTkgA==
X-Received: by 2002:a05:600c:3e12:b0:45b:7d77:b592 with SMTP id 5b1f17b1804b1-471178a74demr270805175e9.12.1761566271530;
        Mon, 27 Oct 2025 04:57:51 -0700 (PDT)
Message-ID: <53fe0d0e-54a5-4ac0-8243-0199587a6d19@suse.com>
Date: Mon, 27 Oct 2025 12:57:52 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 for-4.21 2/9] x86/HPET: use single, global,
 low-priority vector for broadcast IRQ
From: Jan Beulich <jbeulich@suse.com>
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <6a8a912c-7276-42bd-af2b-b94fc6ce4291@suse.com>
 <545d98e0-755d-471b-84c5-54f129a5aece@suse.com> <aPt-B5R-FwJpQbZR@Mac.lan>
 <6428217d-b5f6-4948-aff2-b007a6cfcfc0@suse.com> <aP9YkLo782XbfMQM@Mac.lan>
 <536c4e25-1e32-4adf-865d-7750f08a2922@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: <536c4e25-1e32-4adf-865d-7750f08a2922@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 27.10.2025 12:53, Jan Beulich wrote:
> On 27.10.2025 12:33, Roger Pau MonnÃ© wrote:
>> On Mon, Oct 27, 2025 at 11:23:58AM +0100, Jan Beulich wrote:
>>> On 24.10.2025 15:24, Roger Pau MonnÃ© wrote:
>>>> On Thu, Oct 23, 2025 at 05:50:17PM +0200, Jan Beulich wrote:
>>>>> @@ -343,6 +347,12 @@ static int __init hpet_setup_msi_irq(str
>>>>>      u32 cfg = hpet_read32(HPET_Tn_CFG(ch->idx));
>>>>>      irq_desc_t *desc = irq_to_desc(ch->msi.irq);
>>>>>  
>>>>> +    clear_irq_vector(ch->msi.irq);
>>>>> +    ret = bind_irq_vector(ch->msi.irq, HPET_BROADCAST_VECTOR, &cpu_online_map);
>>>>
>>>> By passing cpu_online_map here, it leads to _bind_irq_vector() doing:
>>>>
>>>> cpumask_copy(desc->arch.cpu_mask, &cpu_online_map);
>>>>
>>>> Which strictly speaking is wrong.  However this is just a cosmetic
>>>> issue until the irq is used for the first time, at which point it will
>>>> be assigned to a concrete CPU.
>>>>
>>>> You could do:
>>>>
>>>> cpumask_clear(desc->arch.cpu_mask);
>>>> cpumask_set_cpu(cpumask_any(&cpu_online_map), desc->arch.cpu_mask);
>>>>
>>>> (Or equivalent)
>>>>
>>>> To assign the interrupt to a concrete CPU and reflex it on the
>>>> cpu_mask after the bind_irq_vector() call, but I can live with it
>>>> being like this.  I have patches to adjust _bind_irq_vector() myself,
>>>> which I hope I will be able to post soon.
>>>
>>> Hmm, I wrongly memorized hpet_broadcast_init() as being pre-SMP-init only.
>>> It has three call sites:
>>> - mwait_idle_init(), called from cpuidle_presmp_init(),
>>> - amd_cpuidle_init(), calling in only when invoked the very first time,
>>>   which is again from cpuidle_presmp_init(),
>>> - _disable_pit_irq(), called from the regular initcall disable_pit_irq().
>>> I.e. for the latter you're right that the CPU mask is too broad (in only a
>>> cosmetic way though). Would be you okay if I used cpumask_of(0) in place
>>> of &cpu_online_map?
>>
>> Using cpumask_of(0) would be OK, as the per-cpu vector_irq array will
>> be updated ahead of assigning the interrupt to a CPU, and hence it
>> doesn't need to be done for all possible online CPUs in
>> _bind_irq_vector().
>>
>> In the context here it would be more accurate to provide an empty CPU
>> mask, as the interrupt is not yet targeting any CPU.  Using CPU 0
>> would be a placeholder, which seems fine for the purpose.
> 
> Putting an empty mask there, while indeed logically correct, would (I fear)
> again put us at risk with other code making various assumptions.

And indeed: _bind_irq_vector() would reject an empty mask.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Oct 27 11:58:10 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Oct 2025 11:58:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151543.1482081 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDLrW-0006XK-Eg; Mon, 27 Oct 2025 11:58:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151543.1482081; Mon, 27 Oct 2025 11:58:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDLrW-0006XB-BK; Mon, 27 Oct 2025 11:58:10 +0000
Received: by outflank-mailman (input) for mailman id 1151543;
 Mon, 27 Oct 2025 11:58:08 +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
 <SRS0=e0hQ=5E=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1vDLrU-0006WO-Jv
 for xen-devel@lists.xenproject.org; Mon, 27 Oct 2025 11:58:08 +0000
Received: from CY7PR03CU001.outbound.protection.outlook.com
 (mail-westcentralusazlp170100005.outbound.protection.outlook.com
 [2a01:111:f403:c112::5])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 308da27e-b32c-11f0-980a-7dc792cee155;
 Mon, 27 Oct 2025 12:58:03 +0100 (CET)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by IA3PR03MB8023.namprd03.prod.outlook.com (2603:10b6:208:509::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.18; Mon, 27 Oct
 2025 11:58:00 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9253.018; Mon, 27 Oct 2025
 11:57:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 308da27e-b32c-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=hoN3w+I7qTmT9O2taSeeF9wmFxI2b+tRV2ucpZKdATliwB6F/jXZzA2hy4j9H3JTKtu8uifCMnJYVMKOvTDQxyPI8y9TmxPdY0mRLyo2vgIvjIJ3FX3fYW80eAM4/2/MHm/6xuSoFBTeS3LrDNzIAWiZgQhjpUM2uIt+eIze94BCcJPreAyAviRJHV/Q9/aDLhsEkreTl32tqGvR/iFWb/+IB1G/5N+EnILGC2rXdJFzJUX2k8fJ946Lexzdi2QxOvKn4YSd/V6sznf7uvIj53dt+BXLdT1uA1mylPE0J4h140qKH1iyjDCSgF9ptDFf1HbdU9EhJJfzZK6xRskJbQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HOtTMIADFGG3siFQlDAHSKDRs+JGGbR4zupmQ7zpFwo=;
 b=TXDZgLA1XQUX25gj69lPZljvkEm4s96sga7gWn4IM4QrUQTqQGABrmRF4+ZcXJUGToBXT5Ztz4medzFp0xFfoF6Cwy7fVGq1Cv44T2Qbb09IG++RrdwnGI+VRDzkFg1CG4Qke/t99GR4+TG5i+K2nw6H/+eMsJagW30Ax/P6bbA3fE9xFS/QwWTVf0RGrBgqk3QX4/6gc27mCUCp0kKjqPGZ8eJaQnaw/fO0qtKV5wPl/MCzDvUVNKdZ+Yio+ULDakpQZ7gpLaIWCy4RBbFf7dmKALDetvVu/MKkfbd1QrbxTO2f0XxXgSWPVmry6iO06XMyVRa61Ye7ZIc7+s71lA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HOtTMIADFGG3siFQlDAHSKDRs+JGGbR4zupmQ7zpFwo=;
 b=AX/b6UVEmGhLi02EO2rvmxDhjiX6I4GBA0jY2iVRc6HCpbWUwBXp4jKuYbo+wWIF559HDAaqrKLA2HP05nXMyYTz2903pBabazC8NUnSK1Dk5Tijpakk7G+NtSfcIwGCxj31ChBET54jMrExYy7wyKgCG++MOp9OCnD2iJ76eFU=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Mon, 27 Oct 2025 12:57:56 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH v3 for-4.21 2/9] x86/HPET: use single, global,
 low-priority vector for broadcast IRQ
Message-ID: <aP9eRN6U0twYEein@Mac.lan>
References: <6a8a912c-7276-42bd-af2b-b94fc6ce4291@suse.com>
 <545d98e0-755d-471b-84c5-54f129a5aece@suse.com>
 <aPt-B5R-FwJpQbZR@Mac.lan>
 <6428217d-b5f6-4948-aff2-b007a6cfcfc0@suse.com>
 <aP9YkLo782XbfMQM@Mac.lan>
 <536c4e25-1e32-4adf-865d-7750f08a2922@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <536c4e25-1e32-4adf-865d-7750f08a2922@suse.com>
X-ClientProxiedBy: MA2P292CA0027.ESPP292.PROD.OUTLOOK.COM (2603:10a6:250::16)
 To DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|IA3PR03MB8023:EE_
X-MS-Office365-Filtering-Correlation-Id: 4fa5ecb4-7399-46f3-333d-08de1550133a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?Y0p6YmY3Rkorczhlc00xU2s3NkZCaXpVcGlucHoxbkE1eXJDd284L3BxSWQz?=
 =?utf-8?B?WWtmclhBMDUvS3Y0L2FETG5TTHR4dlJnZVBEK0xrRmlKditKVVcwY1NQZy8z?=
 =?utf-8?B?MUpuUVgzY0I3U3F6NXk5c3M5VEt2UkRtZXd0SnFxalA2K0dJTjc2SFIybnht?=
 =?utf-8?B?VWFxOTZRK2hLNEI2MW1xU3RXck53U2thbzlmK0F0UHplVFh4OThwSVpZZWlw?=
 =?utf-8?B?OTZGV3YzMmVPZnRTNmVERS9lRUZYTnE5S3FuUDVwKzd4OWFqTHdmRmhBR2NX?=
 =?utf-8?B?N3FZL0xxaGJzeE50TWg1MzdDVFo2TEJjNXcrMnRQc0ZXejR1b1J6bWQzN0FX?=
 =?utf-8?B?Nkx5MmJCVXlzaC9uM1FkVW82UnhKU2p3UUhoN1BQRU1iVXVud0dITko2d29k?=
 =?utf-8?B?emxUZ0o0OEhqMUgvREoxZTZpWDhISng4b2NabCtCL3MwWjFxR0srSjNFNmtu?=
 =?utf-8?B?NkRjd1pzK3A1R3hQdlpTbFFFNzhHWDI1YlJqNHU1L3hUT0ZiMHhXTjBNcld4?=
 =?utf-8?B?dG9aMEhuYUZSRGltVUZhYllySm40bCtQckh6WnR0T3JDTkkvaVg2UytoSld5?=
 =?utf-8?B?d3d0UEVjaGtzMExOQXM3a0x2UFFycTAzS1B5LzRWeU9xQXNZZGhKdGh2ZnMw?=
 =?utf-8?B?VnZPbXV6V3RCamoyYmFJS0ZPendzYzVXcjhYWFdDMnJqN2dVZWU4Z016eFVF?=
 =?utf-8?B?T3Jqd294Y1lCUlZrL0RobXJnWEVhb3NHM2RlcklTY0RmbGo4dktERlZ0WlI4?=
 =?utf-8?B?Tlg2SkJqNFo0ekJCVlprMnA0N3QveWVMRjMvd0FrWS9RbmRzRVNpSHEzdldu?=
 =?utf-8?B?aDdONkt6d0RoVVZuR0FGWkFmaFlzazBFWUxlcDgxT01nZjhkb2xZWFpxOGVo?=
 =?utf-8?B?cEpVMjJrbG5OL25hVXFHQ1YxMkxHUjBEbk9GcUhHd0FIazQ5VkVjeTExbWNp?=
 =?utf-8?B?TUd1allrcUhZbEZiZ0Z4ZVc3eWtvbG5nNWFQSmJqV3E2NzF4VGs1SXVuWERj?=
 =?utf-8?B?NTVwU00zdTUzaVhzM0xOUGpXakc3V3kwZ2JIZng0UVRCNXJFaGhTN3VEVUY2?=
 =?utf-8?B?TTlWSnpvZm4wTFF4eVcrNFgvWS8zaWRjMzlBSHAxUktqcjBHVDRBazdtTWhw?=
 =?utf-8?B?bjVvSnpzTlJDdXNXVkE0QVpvM1RURFNCdjNiWERjYmdhU3E0OXhGK0FGM2ti?=
 =?utf-8?B?YkloTC9FeHlrbnEwR2tVdUdtekpoUGZEWHdlNTE4NEtSbVBrVUNlZSszUFpt?=
 =?utf-8?B?QzIrQ2pFajU1Uy9WR3ZlanQrWFo5Ums0NVJtWnFDa0M2RzN3eThvbkNVbzJH?=
 =?utf-8?B?cVhZSElVaW1NTFBBQkhLNzFpeVNsamdNcVZMSEQ0RnkwckxpY2ZSNStoV3FM?=
 =?utf-8?B?dkV0K25ocEo2QUdLUzR1MkhORVJPb2trZWNuNU1JTW5jSkRqVnhIWHUrTEQ4?=
 =?utf-8?B?cCthWWZKZEFiSGVibDIyTnZKYmJiY2pwQm45eUorWTI4d0ZLVDZaWmdnS2p1?=
 =?utf-8?B?eG9SWWd1OFZoc0NJeXJ5SDZSbE9IUnQ1VXFTZmNaak55enNneDRrU01UbnJV?=
 =?utf-8?B?VkNzUmhBWCs1SHQzT0VOUWsva1VpRlVVaUpKS0FoYis2MXhpbXdXVXU5VFZY?=
 =?utf-8?B?UGNOY3RaVHA3dXRidWc1eXpPQlhwSGZaUkMwOEJOd2plZURvVW1mWWVHaVUx?=
 =?utf-8?B?cWxBeXJvRFZxdkFzSm5PaWQ3bFR4U1A1UmJ0cDhlSDlhcGRVR1d4aHNkWWlq?=
 =?utf-8?B?eE42K3krQnJ4Q3draUo5NG9LcVBUMDc2SVFoMzNzTVdoM1A0RzdsQjRiSGdC?=
 =?utf-8?B?SmhoLzZ6WXEyZzFqYXdOZVV1cDVKUkVPOTR0cDJPcGlueXlxbHNBK2JCWDVV?=
 =?utf-8?B?ZlllcTFJM0V3WEIyTXgxRGRwbDNqSWw4N0QwTDB3dUhuWGljRmhyS3dXZkZo?=
 =?utf-8?Q?e3DLwW7bG6fJas8Nal+L5ZUD+QrrJ3zU?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UGZLSzJCU2lPVUozZDNiNCtnWmVmaStPSzJOcTlNOUxBUjFyQlp5RnRaS0RB?=
 =?utf-8?B?UXVrbncwN0FVZkZNSy8wT28vSzJOdmFRcC9qdkVkaU53MXVoU3BGSy9oTUNz?=
 =?utf-8?B?MHhMMzRDTE5wWTNaeE93WjV4ckZPR244SVlnSXNJdmdoL2tnejVvZFF1QUdK?=
 =?utf-8?B?UTdadDVwemg4aG9xTG5iSldYZDJSY253d0M3SHpWbXVTK3V5T1Uxc0RFZzl2?=
 =?utf-8?B?M0I1TEVySElpbHg3K2xTYUhvSjNObUpEdDVDNVR6WjJycno5NzRBNGUrc2ta?=
 =?utf-8?B?TDNpR3R0UnoyQnVtUmplQ0p0a1QyOHV1blhhdVBSa3hNMUF4a0trTUI0K3Ns?=
 =?utf-8?B?S2VER1hqa3FxelZiOFNicGFnMGswOXUwVDkzSTNmN0ZHRDduUkg5Z05JMUtl?=
 =?utf-8?B?R095NDJiMUdTVFVXMHNyYVhzR3R6b2lPSjljQmhkbzluTzRXT3JnYVU3OU1V?=
 =?utf-8?B?UE5YTnFVejVTdEFtcDYwQ3RGL0l0Y2U1M2RIdkI3K1pWaDkzeFFabEJVS2F2?=
 =?utf-8?B?R0RsN2FaQUEyZHBHTGkwcCtZL01UZ3AxRm1XNk14Y0FrN05DQ0tTZ0cwY1FY?=
 =?utf-8?B?dnl0UlIxcm52cmlBLy9pYmYxRndLQ3BiaXhnMGFyT1R0QWIxc29pUE1wcWEr?=
 =?utf-8?B?eG84OVRRUGd6a3dRN3ZJSTJKQ3pIZmlMb2F2VE9Rdkp3dGhzVlByOFpZbW9p?=
 =?utf-8?B?UjRVTTN0c3VLQ2p4QWRickZEU2ZFWDBvZWZ1OWQ4VHVIdit5dUFzTGxwT2wr?=
 =?utf-8?B?MnNFaGdQSUNFQXhmd2dqcG9acE95Y2RNV1FpQjIxa3laaWRrSURWRWhtdVow?=
 =?utf-8?B?R29qVzgxYUw4SGN2V0w3bGc4czhrRW03L3BvWThHckZZTzdnM1hpcHNTUHFo?=
 =?utf-8?B?NXZMMDNoQ1c0R1l5MVJMRDZaZkJCVCtYaE9JL1dITHAvclNkcGwwL3UwR1dC?=
 =?utf-8?B?Z2VNNDFmSVc0azcxTytGTEd1c05QQjNUb2lWcTEvR0J1QU13UHJZSnpXVTh3?=
 =?utf-8?B?NEQ5SytXMTBwSkNzNmpUaDdCWFgyQXQ0a1J3R05SRDN2a3ZHTFRiOTU1dzNm?=
 =?utf-8?B?UFNvZmFZMGsvd2h2d0FDbUt4REhGYmw3Mm9SbnpPRzlPUE5JTXRzeHo5UlRZ?=
 =?utf-8?B?UUJWT1JNQkJSZW55Y0E4Sm1uM0dDenhDaElOSVhJUU5zcytiWlRBL3llNWts?=
 =?utf-8?B?T1BVRndYK1lhWGhvNVoxRjlTbVhXcnJzekN0T0hhazc1NGt4SEtIRDBqMjdk?=
 =?utf-8?B?L21uZ0pBODQ2U1l4Wk1YcHA1ditIN1ZlOG9mcHBnWjhYS0F6TWhJOWF3OURD?=
 =?utf-8?B?SkVzcitzaHlyc3FnN1oxZ0lFZ0RvNEdTT3lCREcyNkRITVh2dU5NYWJ0RGJX?=
 =?utf-8?B?blFrTnFWM2Mydk9DWkdTN0k1MnNyS0M5bytlWlo1LzZkZ3RUY3pEWVM0WWRL?=
 =?utf-8?B?ZGxXMTVxWVZtSWd6d2RpT0N3K0VlNWdZcURiVWpyTXMwczMwZEQrRXIrc3lM?=
 =?utf-8?B?Vk95NEJDR1UwbDJ6Z0RHd1NtVUpjKzlEU0NYWU9oakN0UFgzY0ZDamFtWWZL?=
 =?utf-8?B?K2kzcmJDZkp1c3VmQWI4OWR0TjZOKzAySWJrRHdxd2I4Ky9KaWhhbFdBdXBi?=
 =?utf-8?B?QXBUTkRUN0NJWmEyTFI2bjJXNmttM0liakl5MWg3bEwycFlGaXVjdDdqMkg4?=
 =?utf-8?B?WVVpd3QzcUlvMFBIVFJTNm9Kanh6Z3JiZElNczE5UEVDZURpZWticnVCUVpp?=
 =?utf-8?B?eGFOWE5QZ21CS1A1SWJDWGVBYXdsa2VOTm0rdFdJaDBwWURFanVBcCtLZngy?=
 =?utf-8?B?K010SEg5a0FleUNoVE41VzgwVnhPM0lZODJ0eFY5dDF0Z1hQMG5zQjlFKzFE?=
 =?utf-8?B?N096R29FL0FobVU0a2JHV1RwdDZoOXk4UWVQTXk1bTA2U3Y0U1NKNHRUQks2?=
 =?utf-8?B?NktyM2hTSXNCSCtKbiszZW5lNTJRNmJOc3FucFEwU2p5Z2FxQXNQbzVWZ3gz?=
 =?utf-8?B?R2E4aWN2bDM3TWIrQzBjMG9qVnNpRG1jWXROY2ZzajVhVERMaVFZcHVpdmZK?=
 =?utf-8?B?Szk1dlFEOTZyWGlUTFVuamI0bVltTFVHTXNudmROMDQzZFh0N1ZkZ0hhbm9z?=
 =?utf-8?Q?QiX2ieMGrgoR/Rew2OnjVsI8+?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4fa5ecb4-7399-46f3-333d-08de1550133a
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Oct 2025 11:57:59.8828
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ZR3NacxTRvCQzWuZEBhOb363V6gcl5LX7F7YOIU9mNz9otsNzLs5aQQtyWFcjsMirDvxp/wgASudCG7cPl4nxA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA3PR03MB8023

On Mon, Oct 27, 2025 at 12:53:34PM +0100, Jan Beulich wrote:
> On 27.10.2025 12:33, Roger Pau MonnÃ© wrote:
> > On Mon, Oct 27, 2025 at 11:23:58AM +0100, Jan Beulich wrote:
> >> On 24.10.2025 15:24, Roger Pau MonnÃ© wrote:
> >>> On Thu, Oct 23, 2025 at 05:50:17PM +0200, Jan Beulich wrote:
> >>>> @@ -343,6 +347,12 @@ static int __init hpet_setup_msi_irq(str
> >>>>      u32 cfg = hpet_read32(HPET_Tn_CFG(ch->idx));
> >>>>      irq_desc_t *desc = irq_to_desc(ch->msi.irq);
> >>>>  
> >>>> +    clear_irq_vector(ch->msi.irq);
> >>>> +    ret = bind_irq_vector(ch->msi.irq, HPET_BROADCAST_VECTOR, &cpu_online_map);
> >>>
> >>> By passing cpu_online_map here, it leads to _bind_irq_vector() doing:
> >>>
> >>> cpumask_copy(desc->arch.cpu_mask, &cpu_online_map);
> >>>
> >>> Which strictly speaking is wrong.  However this is just a cosmetic
> >>> issue until the irq is used for the first time, at which point it will
> >>> be assigned to a concrete CPU.
> >>>
> >>> You could do:
> >>>
> >>> cpumask_clear(desc->arch.cpu_mask);
> >>> cpumask_set_cpu(cpumask_any(&cpu_online_map), desc->arch.cpu_mask);
> >>>
> >>> (Or equivalent)
> >>>
> >>> To assign the interrupt to a concrete CPU and reflex it on the
> >>> cpu_mask after the bind_irq_vector() call, but I can live with it
> >>> being like this.  I have patches to adjust _bind_irq_vector() myself,
> >>> which I hope I will be able to post soon.
> >>
> >> Hmm, I wrongly memorized hpet_broadcast_init() as being pre-SMP-init only.
> >> It has three call sites:
> >> - mwait_idle_init(), called from cpuidle_presmp_init(),
> >> - amd_cpuidle_init(), calling in only when invoked the very first time,
> >>   which is again from cpuidle_presmp_init(),
> >> - _disable_pit_irq(), called from the regular initcall disable_pit_irq().
> >> I.e. for the latter you're right that the CPU mask is too broad (in only a
> >> cosmetic way though). Would be you okay if I used cpumask_of(0) in place
> >> of &cpu_online_map?
> > 
> > Using cpumask_of(0) would be OK, as the per-cpu vector_irq array will
> > be updated ahead of assigning the interrupt to a CPU, and hence it
> > doesn't need to be done for all possible online CPUs in
> > _bind_irq_vector().
> > 
> > In the context here it would be more accurate to provide an empty CPU
> > mask, as the interrupt is not yet targeting any CPU.  Using CPU 0
> > would be a placeholder, which seems fine for the purpose.
> 
> Putting an empty mask there, while indeed logically correct, would (I fear)
> again put us at risk with other code making various assumptions. I'll go
> with cpumask_of(0).

Yeah, that's what I fear also.  It's in principle possible for
the cpu_mask to be empty, but since this targets 4.21 I think it's too
risky.  Using cpumask_of(0) is fine.  Please keep my RB.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Oct 27 12:25:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Oct 2025 12:25:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151576.1482090 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDMI8-0002wJ-PX; Mon, 27 Oct 2025 12:25:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151576.1482090; Mon, 27 Oct 2025 12:25:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDMI8-0002wC-Mg; Mon, 27 Oct 2025 12:25:40 +0000
Received: by outflank-mailman (input) for mailman id 1151576;
 Mon, 27 Oct 2025 12:25:39 +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 <SRS0=UVx/=5E=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vDMI7-0002w6-Hh
 for xen-devel@lists.xenproject.org; Mon, 27 Oct 2025 12:25:39 +0000
Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com
 [2a00:1450:4864:20::32b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0ae3c89f-b330-11f0-9d16-b5c5bf9af7f9;
 Mon, 27 Oct 2025 13:25:37 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-47112a73785so29022075e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 27 Oct 2025 05:25:37 -0700 (PDT)
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-475dd489e6dsm132995905e9.6.2025.10.27.05.25.35
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 27 Oct 2025 05:25:36 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0ae3c89f-b330-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761567936; x=1762172736; 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=SkwRuxwjBWAX4EHC0ocil+cJFvCSQACmhtofw/IlD2c=;
        b=DPTC3avRmiw+P46ONxu9jrgI7a5pOeQjFGIB5rXR5JJ6u5eU9plunlbzg07MQI52ub
         qSCrjko2eGB13kKFCS+jsC/DtZ2cYIlJx5GZYqD3ScjbxlVLpqKUPTKR63leQk96+FRq
         gasyIW2BrzStlT7bMKgual6ga79Ic2HUB8dBD+JEyPL4ITuULnsneTBYlQ8cCDhHo0r3
         2Qf+Bx4ChLoffvc2jKoAdOdjK00GQTP6opqzYPIKGCuBV6pAyn8xHxXl8rTgxACzLTan
         ZUv54ib40Jq+rdXWnx2Ph7o/hMjv9R6B/drts01qCsh7AaqCB6kO5c/6kf4C9f0wZHsR
         NtgQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761567936; x=1762172736;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=SkwRuxwjBWAX4EHC0ocil+cJFvCSQACmhtofw/IlD2c=;
        b=Cu2ctK20pKe8lfwpZyXgkb5xPEyCo3uBA6eMaNP6n6DuJiDeFHVUI2xxN64Ce1uSS7
         kFTj76iSFTzuHE8bxR/mcVQuIAn2AEHlvgTLf03kyaVvDAkCHqJcQEMKuv9IFjhLcF3r
         boGFxkqDpCxAOggoVC6votynBqymNnfhNsH3SVQ8oJogauQPEpLL7ADujevsPhkEU29J
         L4i0XC349f+svO5X0Qm5cPlQ557n9loNL7MDB1vG5S751Y56eLO7ojoq9h/XUKLg6OK6
         u3Ch3zB/8uJsTscWDwT2I2oUvPFHURKcGfsb9cIGq+wlg8sbXuQw9aEyQ+Mg5LDDkk+V
         Y4QQ==
X-Forwarded-Encrypted: i=1; AJvYcCWuJJOUvEW7v+kPCNAKF8X53S0UzbgBM/M4rom9Kr6XJNT7yE/GFYZADrxMaORJbeRB/5ZsdhL/f+s=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx6m0fpyxD2S2BUI03xUzYWR8MB5T5HZL/yFJCLXxqaM6pFLeFT
	LaJ1bLS9qn84tqSGtfJ+suGkGLjDXwClvY5WNF0+2ucGG/57DjKjGoOPbPDtWPAajw==
X-Gm-Gg: ASbGnct/emXOLA+RCfYfJt/HcEf1h9dr2dejk2d/S5bvRRZb2V3UA71sTUQxfj1/smu
	VJQf3JtJ9meyDrO2oIC38y/TKWFx1ja+pGL/Ef9hYnuZpgbM0DPhssA4sP3/twhWTWaJot6Ld/1
	LTxM+klPpZU8Z5wG2vxLXgQ/J4Nr7flIZBCSJCUo5r5yAz1jEfzdWET7TO7utmn137HMVmYMztc
	s2IgH+FML7vC40p+j+2LA6auw+wvgZwdU7QsJIJjMEZTVcTyoGUGd0+ozYSyQRWV2WPT1Wqu5DZ
	bKqMl6BJwrUhzH4hP6LRN28LZFiPwR0hYH/nMVPlMKqJ/epmq6FwhuriHBeGLWYTqgXnqI1ystY
	a7g/9dz/UHPQlv6IFRITCITxpa7kPAcpd6wnQpFvuS+UtDkaOKPdPbHOVUSqW2RTKR6z8M04x/3
	K+RPOnfipij/SxEl7WN8Srv3nrv1XzVj9AO7x25WkoWiHKqAh0Mr9/O0giF1a3
X-Google-Smtp-Source: AGHT+IHXFjQC1QIiOhrHAvgEA/ZuZSeqb1BnemUnk0mP5BZ2q6Z4IN0ITphrFF2WoWqBiYTNnWCHrg==
X-Received: by 2002:a05:600d:41cc:b0:471:13dd:baef with SMTP id 5b1f17b1804b1-4711791beadmr231053875e9.26.1761567936496;
        Mon, 27 Oct 2025 05:25:36 -0700 (PDT)
Message-ID: <b10cd3de-0449-483e-bc84-791ddda59c53@suse.com>
Date: Mon, 27 Oct 2025 13:25:35 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 for-4.21 3/9] x86/HPET: replace
 handle_hpet_broadcast()'s on-stack cpumask_t
From: Jan Beulich <jbeulich@suse.com>
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <6a8a912c-7276-42bd-af2b-b94fc6ce4291@suse.com>
 <dcea0975-8642-46b6-ad79-ec76cb8a76f1@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: <dcea0975-8642-46b6-ad79-ec76cb8a76f1@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 23.10.2025 17:51, Jan Beulich wrote:
> With large NR_CPUS on-stack cpumask_t variables are problematic. Now that
> the IRQ handler can't be invoked in a nested manner anymore, we can
> instead use a per-CPU variable. While we can't use scratch_cpumask in code
> invoked from IRQ handlers, simply amend that one with a HPET-special form.
> (Note that only one of the two IRQ handling functions can come into play
> at any one time.)
> 
> Fixes: 996576b965cc ("xen: allow up to 16383 cpus")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> Reviewed-by: Roger Pau MonnÃ© <roger.pau@citrix.com>

Views towards 4.21?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Oct 27 12:29:37 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Oct 2025 12:29:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151586.1482101 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDMLw-0003gw-8p; Mon, 27 Oct 2025 12:29:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151586.1482101; Mon, 27 Oct 2025 12:29:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDMLw-0003gp-56; Mon, 27 Oct 2025 12:29:36 +0000
Received: by outflank-mailman (input) for mailman id 1151586;
 Mon, 27 Oct 2025 12:29:35 +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 <SRS0=v/7+=5E=redhat.com=david@srs-se1.protection.inumbo.net>)
 id 1vDMLv-0003gh-30
 for xen-devel@lists.xenproject.org; Mon, 27 Oct 2025 12:29:35 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.133.124])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 94dab937-b330-11f0-980a-7dc792cee155;
 Mon, 27 Oct 2025 13:29:29 +0100 (CET)
Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com
 [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-554-Znzyrz1qN2OBa2YMfguy-Q-1; Mon, 27 Oct 2025 08:29:26 -0400
Received: by mail-wm1-f70.google.com with SMTP id
 5b1f17b1804b1-47496b3c1dcso33871425e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 27 Oct 2025 05:29:26 -0700 (PDT)
Received: from ?IPV6:2003:d8:2f3f:4b00:ee13:8c22:5cc5:d169?
 (p200300d82f3f4b00ee138c225cc5d169.dip0.t-ipconnect.de.
 [2003:d8:2f3f:4b00:ee13:8c22:5cc5:d169])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-429952db99asm14109118f8f.32.2025.10.27.05.29.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 27 Oct 2025 05:29:24 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 94dab937-b330-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1761568168;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
	bh=MxqhGs+kErj9QojSUYfqhMME1C+HzYz58U9mBz2oLoo=;
	b=GjzL7CDj0S0BLc5W69u1/FuWZP+xXmM0qsQ+oWjgr07ChdsV2F/b3jTNxuBUL6QHHgCelZ
	VLDaz/WWXZURQtMj2RN7LzIXgDso00pMrUat2qCbJ5oxy6Fs0IuzdP7yXHugMpLoCclouv
	QKCKBey16vgVRZWgmpx9u/rIram8z1E=
X-MC-Unique: Znzyrz1qN2OBa2YMfguy-Q-1
X-Mimecast-MFC-AGG-ID: Znzyrz1qN2OBa2YMfguy-Q_1761568166
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761568165; x=1762172965;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :from:references:cc:to:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=MxqhGs+kErj9QojSUYfqhMME1C+HzYz58U9mBz2oLoo=;
        b=BvLbNY6Z63XTwYWhK5SXf6Zq1TEb3C6KouaAqIsRKBi08l1WFma/yW9FHeGrpmafIn
         s88iyXQ6t2xUcZePOP94owmKzulVR3bpq94dvLjRY3ybF7bbQsSrDvjXuT1JJhZ0iipL
         01Ce9mgMiXL9eGB5JOKBv3nko4emHI6FCdUnuPPKM4uPY0JmE0KLPV/qtU8/r7t+iyDe
         zDsrivmp1ff6eztROlBZTgGUPgNAMQMeEbwqBxyWEMdFFJqaKdet5bzDylj2Cid0yMbE
         FJzZiMnN7HNwhWO9c/pahHG6MNFjdIcpAB8zznnuWzPPYm4ashbJKYRqjFM3U3Y0AvT4
         RFxA==
X-Forwarded-Encrypted: i=1; AJvYcCUAMncNnSkXufx6Y52iGiiVVS69tzrh0cuFrzdlrFWdw//VCIVAbeewQ2pRi+gaFAGiy8oejSFu2A4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxHNmU5phDF+gEI9zq5WZGG/vBi2iRmlR9bMqKpYIYXYcBq7t22
	2tzv+8gtb8pf6tZ//T8T+Z6WNfLFZ4HUvusHyElHeje2oVC9oX4FQvu6/VYb4u4WhAwh5Dt1N7t
	8Fx/VbRjdvfcdVDxqLy8RFSOI0vy8p0H9anlKnGniF+e2/7YmQZvTUggu1MAmwP15YgRK
X-Gm-Gg: ASbGncuMhpmWhNtXvuTiVXxPKDOSRvS6lWyfQxXR6ER6J4gua2K3Cy9z6wq5JTK2Mz9
	Lh6sVHHRinsdlOUyz8gpiLQp5kJjmlyOZcJjL3Rz+JavI12wSodOnQPEqPl0Dxbvw/5lJ0F9l5b
	jC6ZVjKeKrixFP4TGI9riibU09g3oeQC52tv2tFmH9IBte4xKDouVMeWNcsP7dt52F0Ds9WIk0o
	XqpejVmbN2SSPRZ4rlQwP8IGfd3c8810vreeQEtNUwMcQZAP2zqGyUMv7dMXMc1SPsb5qcrZh3N
	PoWAxlD1u2QYf4ioHZlHAIqyBvFyk0AFhkoa8PFB/IrGgGYnjaiDORtocnWqMGZTbrVw2jpGWds
	lKRICzfG0t54HhW2vgV8zq1OYvcIKbvzPMZoMGFoyR3lAKnjmC7fpHpHHtkOxnoVYVGb0ITYdQ2
	I6q4McV69WEt5SiDK2eqEaJvp1kxs=
X-Received: by 2002:a05:600c:6814:b0:46d:b665:1d95 with SMTP id 5b1f17b1804b1-475d2ed2703mr122459175e9.32.1761568165610;
        Mon, 27 Oct 2025 05:29:25 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IERhDOSgpdu7IOhGUhd5vG2oGfH+FtLLHQ8h3X53cAF/bER/zOT53Nw9I8J5TYzsbcubMUbyA==
X-Received: by 2002:a05:600c:6814:b0:46d:b665:1d95 with SMTP id 5b1f17b1804b1-475d2ed2703mr122458775e9.32.1761568165180;
        Mon, 27 Oct 2025 05:29:25 -0700 (PDT)
Message-ID: <6c9bd0c6-0968-41ac-b0b4-53c881748cfb@redhat.com>
Date: Mon, 27 Oct 2025 13:29:22 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 11/13] x86/xen: use lazy_mmu_state when
 context-switching
To: Demi Marie Obenour <demiobenour@gmail.com>,
 David Woodhouse <dwmw2@infradead.org>, Kevin Brodsky
 <kevin.brodsky@arm.com>, linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org, Alexander Gordeev <agordeev@linux.ibm.com>,
 Andreas Larsson <andreas@gaisler.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, Borislav Petkov
 <bp@alien8.de>, Catalin Marinas <catalin.marinas@arm.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 Dave Hansen <dave.hansen@linux.intel.com>,
 "David S. Miller" <davem@davemloft.net>, "H. Peter Anvin" <hpa@zytor.com>,
 Ingo Molnar <mingo@redhat.com>, Jann Horn <jannh@google.com>,
 Juergen Gross <jgross@suse.com>, "Liam R. Howlett"
 <Liam.Howlett@oracle.com>, Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>, Michal Hocko <mhocko@suse.com>,
 Mike Rapoport <rppt@kernel.org>, Nicholas Piggin <npiggin@gmail.com>,
 Peter Zijlstra <peterz@infradead.org>, Ryan Roberts <ryan.roberts@arm.com>,
 Suren Baghdasaryan <surenb@google.com>, Thomas Gleixner
 <tglx@linutronix.de>, Vlastimil Babka <vbabka@suse.cz>,
 Will Deacon <will@kernel.org>, Yeoreum Yun <yeoreum.yun@arm.com>,
 linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org,
 sparclinux@vger.kernel.org, xen-devel@lists.xenproject.org, x86@kernel.org
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
 <20251015082727.2395128-12-kevin.brodsky@arm.com>
 <f0067f35-1048-4788-8401-f71d297f56f3@redhat.com>
 <348e5f1c5a90e4ab0f14b4d997baf7169745bf04.camel@infradead.org>
 <70723f4a-f42b-4d94-9344-5824e48bfad1@redhat.com>
 <3ff4aaeb-61ce-4b72-ba90-1b66374b1b95@gmail.com>
From: David Hildenbrand <david@redhat.com>
Autocrypt: addr=david@redhat.com; keydata=
 xsFNBFXLn5EBEAC+zYvAFJxCBY9Tr1xZgcESmxVNI/0ffzE/ZQOiHJl6mGkmA1R7/uUpiCjJ
 dBrn+lhhOYjjNefFQou6478faXE6o2AhmebqT4KiQoUQFV4R7y1KMEKoSyy8hQaK1umALTdL
 QZLQMzNE74ap+GDK0wnacPQFpcG1AE9RMq3aeErY5tujekBS32jfC/7AnH7I0v1v1TbbK3Gp
 XNeiN4QroO+5qaSr0ID2sz5jtBLRb15RMre27E1ImpaIv2Jw8NJgW0k/D1RyKCwaTsgRdwuK
 Kx/Y91XuSBdz0uOyU/S8kM1+ag0wvsGlpBVxRR/xw/E8M7TEwuCZQArqqTCmkG6HGcXFT0V9
 PXFNNgV5jXMQRwU0O/ztJIQqsE5LsUomE//bLwzj9IVsaQpKDqW6TAPjcdBDPLHvriq7kGjt
 WhVhdl0qEYB8lkBEU7V2Yb+SYhmhpDrti9Fq1EsmhiHSkxJcGREoMK/63r9WLZYI3+4W2rAc
 UucZa4OT27U5ZISjNg3Ev0rxU5UH2/pT4wJCfxwocmqaRr6UYmrtZmND89X0KigoFD/XSeVv
 jwBRNjPAubK9/k5NoRrYqztM9W6sJqrH8+UWZ1Idd/DdmogJh0gNC0+N42Za9yBRURfIdKSb
 B3JfpUqcWwE7vUaYrHG1nw54pLUoPG6sAA7Mehl3nd4pZUALHwARAQABzSREYXZpZCBIaWxk
 ZW5icmFuZCA8ZGF2aWRAcmVkaGF0LmNvbT7CwZoEEwEIAEQCGwMCF4ACGQEFCwkIBwICIgIG
 FQoJCAsCBBYCAwECHgcWIQQb2cqtc1xMOkYN/MpN3hD3AP+DWgUCaJzangUJJlgIpAAKCRBN
 3hD3AP+DWhAxD/9wcL0A+2rtaAmutaKTfxhTP0b4AAp1r/eLxjrbfbCCmh4pqzBhmSX/4z11
 opn2KqcOsueRF1t2ENLOWzQu3Roiny2HOU7DajqB4dm1BVMaXQya5ae2ghzlJN9SIoopTWlR
 0Af3hPj5E2PYvQhlcqeoehKlBo9rROJv/rjmr2x0yOM8qeTroH/ZzNlCtJ56AsE6Tvl+r7cW
 3x7/Jq5WvWeudKrhFh7/yQ7eRvHCjd9bBrZTlgAfiHmX9AnCCPRPpNGNedV9Yty2Jnxhfmbv
 Pw37LA/jef8zlCDyUh2KCU1xVEOWqg15o1RtTyGV1nXV2O/mfuQJud5vIgzBvHhypc3p6VZJ
 lEf8YmT+Ol5P7SfCs5/uGdWUYQEMqOlg6w9R4Pe8d+mk8KGvfE9/zTwGg0nRgKqlQXrWRERv
 cuEwQbridlPAoQHrFWtwpgYMXx2TaZ3sihcIPo9uU5eBs0rf4mOERY75SK+Ekayv2ucTfjxr
 Kf014py2aoRJHuvy85ee/zIyLmve5hngZTTe3Wg3TInT9UTFzTPhItam6dZ1xqdTGHZYGU0O
 otRHcwLGt470grdiob6PfVTXoHlBvkWRadMhSuG4RORCDpq89vu5QralFNIf3EysNohoFy2A
 LYg2/D53xbU/aa4DDzBb5b1Rkg/udO1gZocVQWrDh6I2K3+cCs7BTQRVy5+RARAA59fefSDR
 9nMGCb9LbMX+TFAoIQo/wgP5XPyzLYakO+94GrgfZjfhdaxPXMsl2+o8jhp/hlIzG56taNdt
 VZtPp3ih1AgbR8rHgXw1xwOpuAd5lE1qNd54ndHuADO9a9A0vPimIes78Hi1/yy+ZEEvRkHk
 /kDa6F3AtTc1m4rbbOk2fiKzzsE9YXweFjQvl9p+AMw6qd/iC4lUk9g0+FQXNdRs+o4o6Qvy
 iOQJfGQ4UcBuOy1IrkJrd8qq5jet1fcM2j4QvsW8CLDWZS1L7kZ5gT5EycMKxUWb8LuRjxzZ
 3QY1aQH2kkzn6acigU3HLtgFyV1gBNV44ehjgvJpRY2cC8VhanTx0dZ9mj1YKIky5N+C0f21
 zvntBqcxV0+3p8MrxRRcgEtDZNav+xAoT3G0W4SahAaUTWXpsZoOecwtxi74CyneQNPTDjNg
 azHmvpdBVEfj7k3p4dmJp5i0U66Onmf6mMFpArvBRSMOKU9DlAzMi4IvhiNWjKVaIE2Se9BY
 FdKVAJaZq85P2y20ZBd08ILnKcj7XKZkLU5FkoA0udEBvQ0f9QLNyyy3DZMCQWcwRuj1m73D
 sq8DEFBdZ5eEkj1dCyx+t/ga6x2rHyc8Sl86oK1tvAkwBNsfKou3v+jP/l14a7DGBvrmlYjO
 59o3t6inu6H7pt7OL6u6BQj7DoMAEQEAAcLBfAQYAQgAJgIbDBYhBBvZyq1zXEw6Rg38yk3e
 EPcA/4NaBQJonNqrBQkmWAihAAoJEE3eEPcA/4NaKtMQALAJ8PzprBEXbXcEXwDKQu+P/vts
 IfUb1UNMfMV76BicGa5NCZnJNQASDP/+bFg6O3gx5NbhHHPeaWz/VxlOmYHokHodOvtL0WCC
 8A5PEP8tOk6029Z+J+xUcMrJClNVFpzVvOpb1lCbhjwAV465Hy+NUSbbUiRxdzNQtLtgZzOV
 Zw7jxUCs4UUZLQTCuBpFgb15bBxYZ/BL9MbzxPxvfUQIPbnzQMcqtpUs21CMK2PdfCh5c4gS
 sDci6D5/ZIBw94UQWmGpM/O1ilGXde2ZzzGYl64glmccD8e87OnEgKnH3FbnJnT4iJchtSvx
 yJNi1+t0+qDti4m88+/9IuPqCKb6Stl+s2dnLtJNrjXBGJtsQG/sRpqsJz5x1/2nPJSRMsx9
 5YfqbdrJSOFXDzZ8/r82HgQEtUvlSXNaXCa95ez0UkOG7+bDm2b3s0XahBQeLVCH0mw3RAQg
 r7xDAYKIrAwfHHmMTnBQDPJwVqxJjVNr7yBic4yfzVWGCGNE4DnOW0vcIeoyhy9vnIa3w1uZ
 3iyY2Nsd7JxfKu1PRhCGwXzRw5TlfEsoRI7V9A8isUCoqE2Dzh3FvYHVeX4Us+bRL/oqareJ
 CIFqgYMyvHj7Q06kTKmauOe4Nf0l0qEkIuIzfoLJ3qr5UyXc2hLtWyT9Ir+lYlX9efqh7mOY
 qIws/H2t
In-Reply-To: <3ff4aaeb-61ce-4b72-ba90-1b66374b1b95@gmail.com>
X-Mimecast-Spam-Score: 0
X-Mimecast-MFC-PROC-ID: jUcsipX9gdz5L_CX9KytUejwCd-w-RVWi_2j7Am57FM_1761568166
X-Mimecast-Originator: redhat.com
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 25.10.25 00:52, Demi Marie Obenour wrote:
> On 10/24/25 10:51, David Hildenbrand wrote:
>> On 24.10.25 16:47, David Woodhouse wrote:
>>> On Thu, 2025-10-23 at 22:06 +0200, David Hildenbrand wrote:
>>>> On 15.10.25 10:27, Kevin Brodsky wrote:
>>>>> We currently set a TIF flag when scheduling out a task that is in
>>>>> lazy MMU mode, in order to restore it when the task is scheduled
>>>>> again.
>>>>>
>>>>> The generic lazy_mmu layer now tracks whether a task is in lazy MMU
>>>>> mode in task_struct::lazy_mmu_state. We can therefore check that
>>>>> state when switching to the new task, instead of using a separate
>>>>> TIF flag.
>>>>>
>>>>> Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
>>>>> ---
>>>>
>>>>
>>>> Looks ok to me, but I hope we get some confirmation from x86 / xen
>>>> folks.
>>>
>>>
>>> I know tglx has shouted at me in the past for precisely this reminder,
>>> but you know you can test Xen guests under QEMU/KVM now and don't need
>>> to actually run Xen? Has this been boot tested?
>>
>> And after that, boot-testing sparc as well? :D
>>
>> If it's easy, why not. But other people should not suffer for all the
>> XEN hacks we keep dragging along.
> 
> Which hacks?  Serious question.  Is this just for Xen PV or is HVM
> also affected?

In the context of this series, XEN_LAZY_MMU.

Your question regarding PV/HVM emphasizes my point: how is a submitter 
supposed to know which XEN combinations to test (and how to test them), 
to not confidentially break something here.

We really need guidance+help from the XEN folks here.

-- 
Cheers

David / dhildenb



From xen-devel-bounces@lists.xenproject.org Mon Oct 27 12:38:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Oct 2025 12:38:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151596.1482111 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDMUr-0005Wy-2y; Mon, 27 Oct 2025 12:38:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151596.1482111; Mon, 27 Oct 2025 12:38:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDMUq-0005Wr-Vi; Mon, 27 Oct 2025 12:38:48 +0000
Received: by outflank-mailman (input) for mailman id 1151596;
 Mon, 27 Oct 2025 12:38:47 +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 <SRS0=v/7+=5E=redhat.com=david@srs-se1.protection.inumbo.net>)
 id 1vDMUp-0005Wl-RI
 for xen-devel@lists.xenproject.org; Mon, 27 Oct 2025 12:38:47 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.129.124])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id df92ace5-b331-11f0-9d16-b5c5bf9af7f9;
 Mon, 27 Oct 2025 13:38:44 +0100 (CET)
Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com
 [209.85.128.72]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-685-SrQ0UeErOUqunzsoolkAgw-1; Mon, 27 Oct 2025 08:38:42 -0400
Received: by mail-wm1-f72.google.com with SMTP id
 5b1f17b1804b1-4711899ab0aso31755145e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 27 Oct 2025 05:38:41 -0700 (PDT)
Received: from [192.168.3.141] (p4ff1f1cf.dip0.t-ipconnect.de.
 [79.241.241.207]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-475dd489e6dsm133581265e9.6.2025.10.27.05.38.37
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 27 Oct 2025 05:38:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: df92ace5-b331-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1761568723;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
	bh=4cvIQRmqmBNV8P6YdgjJbon9LLe8l/9b6yM7q+yxHTQ=;
	b=c6eRaNEn3DkmXxywCs1O2CdnP4uVd0uKWqn8MuLxzrLgdAQolpaobJhMWi8VS0JUkr8Qpt
	UoFYqTVUzS8EijmomEI0MjvaTYvZTvy+27EVmx2ybQTMKgs7VXXc9dEDafQ6364giwt3kH
	IA01NMC0f0p6dCq3j974ufLpu/lOgF4=
X-MC-Unique: SrQ0UeErOUqunzsoolkAgw-1
X-Mimecast-MFC-AGG-ID: SrQ0UeErOUqunzsoolkAgw_1761568721
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761568721; x=1762173521;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :from:references:cc:to:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=4cvIQRmqmBNV8P6YdgjJbon9LLe8l/9b6yM7q+yxHTQ=;
        b=bHvbcHJZBFyfoAygmzGGmox+ZpNKHPA5PYQ7VO6XfA4KA/zLfq/ozi7yEQUD/R+0Wu
         SyktH8sutwVKRTEMmUlQ8E9R0esd/+z9+P1CsDSSh4ViPhEcoD3TpNNP297MKtauEPJQ
         Rf1uh7AiebMS7iv4EGAzkRKqf8dq93QO/CopCV/G0AVUU9KNZY8Lc58NIUF6nzEIMoYs
         ouJt9DKXnL8Ieah3ETThK6D8v0q4hg4G2qxqxdVfef3PX/VH1jB/1s+dCQF/lVM18M3i
         mw82l5M+EJFyERE9RvCtLjZii06c+ZCB+DklWOZjn02WqEk/kgo6j6VRPuK+RtCP658V
         1GJQ==
X-Forwarded-Encrypted: i=1; AJvYcCW6dwKmxW8cgOrz9CAcdDJ9jpC/8hTDCzWKf9Yg/VN0bjTSliCR90gHuiDjS8fjgGj2Egs4vro+2Ug=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzD91rCcDqyivZnrgeOKUgeuPJQU7QYcsyF2Fnpg2kvn5x8L8jO
	mA/cyj3fIaGJ5edJE3Ny6tSGOfoZfFm8qQAO4TOXl129hXgdQ8b6CWdb6WWznHUdOjhWT4z2pX4
	l/4DMDL+Q3YEmZuXB+A4Rwkllw46rgWB13CPD1Mr3ORImImMrTTlEHm32FqC6GT4GQxq9
X-Gm-Gg: ASbGncvzFiWXeaC/2uUjiHNMr1v/Bo6FCdLbpacOOcW1vwRjDELnB/R8De2WhXx6Rv2
	zEKkaeZ2pvfiqeKBLC2bJ4fb1OlvJzro7UVRCEWOfb3mo+K4YLsqw7ubsEgzZtwG3u7jhC3wEp3
	gxJtDvMDLzWchjQoDZySD1c57iiKHK7aGVmJ7bFrC6vYKudwb442mwZWz8bkWTp5OM92k1l6JUd
	GiEqoAVDBVwP+xDwAMYtPAq3hgQl6UMaO3V3qsAhwPFa4QVW4cp0JgbAg6ljLGcSeEKEr5Mq/rr
	PxLDkHCJE3C+6Sbab8/4uKrfnJTeMvwOZaUuokk1r9Z4XE3eq9owvvOJzU6B1mL0LbweGdz/7Fh
	z+XvdOeiqb9hOFRofWrmZ28qZwmZgl4g=
X-Received: by 2002:a05:600c:3b03:b0:46e:53cb:9e7f with SMTP id 5b1f17b1804b1-471178a3ff6mr279997785e9.18.1761568720552;
        Mon, 27 Oct 2025 05:38:40 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IH9bbdh4PWkc2jU/rl4KkAQD2PqCSpwK7SfjvxDRuSE3bTT/1W5umiWwesFjMbMJkHNKlChlg==
X-Received: by 2002:a05:600c:3b03:b0:46e:53cb:9e7f with SMTP id 5b1f17b1804b1-471178a3ff6mr279997395e9.18.1761568720112;
        Mon, 27 Oct 2025 05:38:40 -0700 (PDT)
Message-ID: <7df81ee0-1161-49f4-a93f-4d9245d48e1d@redhat.com>
Date: Mon, 27 Oct 2025 13:38:36 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 11/13] x86/xen: use lazy_mmu_state when
 context-switching
To: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
 David Woodhouse <dwmw2@infradead.org>, Kevin Brodsky
 <kevin.brodsky@arm.com>, linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org, Alexander Gordeev <agordeev@linux.ibm.com>,
 Andreas Larsson <andreas@gaisler.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, Borislav Petkov
 <bp@alien8.de>, Catalin Marinas <catalin.marinas@arm.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 Dave Hansen <dave.hansen@linux.intel.com>,
 "David S. Miller" <davem@davemloft.net>, "H. Peter Anvin" <hpa@zytor.com>,
 Ingo Molnar <mingo@redhat.com>, Jann Horn <jannh@google.com>,
 Juergen Gross <jgross@suse.com>, "Liam R. Howlett"
 <Liam.Howlett@oracle.com>, Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>, Michal Hocko <mhocko@suse.com>,
 Mike Rapoport <rppt@kernel.org>, Nicholas Piggin <npiggin@gmail.com>,
 Peter Zijlstra <peterz@infradead.org>, Ryan Roberts <ryan.roberts@arm.com>,
 Suren Baghdasaryan <surenb@google.com>, Thomas Gleixner
 <tglx@linutronix.de>, Vlastimil Babka <vbabka@suse.cz>,
 Will Deacon <will@kernel.org>, Yeoreum Yun <yeoreum.yun@arm.com>,
 linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org,
 sparclinux@vger.kernel.org, xen-devel@lists.xenproject.org, x86@kernel.org
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
 <20251015082727.2395128-12-kevin.brodsky@arm.com>
 <f0067f35-1048-4788-8401-f71d297f56f3@redhat.com>
 <348e5f1c5a90e4ab0f14b4d997baf7169745bf04.camel@infradead.org>
 <70723f4a-f42b-4d94-9344-5824e48bfad1@redhat.com>
 <cbe0d305cce6d76e00b64e7209f15b4645c15033.camel@infradead.org>
 <fcd7b731d38b256e59edd532e792a00efa4e144e.camel@physik.fu-berlin.de>
 <9faf750e-2369-4fae-b58a-ed9052cfd6f6@redhat.com>
 <1d9f416fd3665faf27841b6305b1e8d661427125.camel@physik.fu-berlin.de>
From: David Hildenbrand <david@redhat.com>
Autocrypt: addr=david@redhat.com; keydata=
 xsFNBFXLn5EBEAC+zYvAFJxCBY9Tr1xZgcESmxVNI/0ffzE/ZQOiHJl6mGkmA1R7/uUpiCjJ
 dBrn+lhhOYjjNefFQou6478faXE6o2AhmebqT4KiQoUQFV4R7y1KMEKoSyy8hQaK1umALTdL
 QZLQMzNE74ap+GDK0wnacPQFpcG1AE9RMq3aeErY5tujekBS32jfC/7AnH7I0v1v1TbbK3Gp
 XNeiN4QroO+5qaSr0ID2sz5jtBLRb15RMre27E1ImpaIv2Jw8NJgW0k/D1RyKCwaTsgRdwuK
 Kx/Y91XuSBdz0uOyU/S8kM1+ag0wvsGlpBVxRR/xw/E8M7TEwuCZQArqqTCmkG6HGcXFT0V9
 PXFNNgV5jXMQRwU0O/ztJIQqsE5LsUomE//bLwzj9IVsaQpKDqW6TAPjcdBDPLHvriq7kGjt
 WhVhdl0qEYB8lkBEU7V2Yb+SYhmhpDrti9Fq1EsmhiHSkxJcGREoMK/63r9WLZYI3+4W2rAc
 UucZa4OT27U5ZISjNg3Ev0rxU5UH2/pT4wJCfxwocmqaRr6UYmrtZmND89X0KigoFD/XSeVv
 jwBRNjPAubK9/k5NoRrYqztM9W6sJqrH8+UWZ1Idd/DdmogJh0gNC0+N42Za9yBRURfIdKSb
 B3JfpUqcWwE7vUaYrHG1nw54pLUoPG6sAA7Mehl3nd4pZUALHwARAQABzSREYXZpZCBIaWxk
 ZW5icmFuZCA8ZGF2aWRAcmVkaGF0LmNvbT7CwZoEEwEIAEQCGwMCF4ACGQEFCwkIBwICIgIG
 FQoJCAsCBBYCAwECHgcWIQQb2cqtc1xMOkYN/MpN3hD3AP+DWgUCaJzangUJJlgIpAAKCRBN
 3hD3AP+DWhAxD/9wcL0A+2rtaAmutaKTfxhTP0b4AAp1r/eLxjrbfbCCmh4pqzBhmSX/4z11
 opn2KqcOsueRF1t2ENLOWzQu3Roiny2HOU7DajqB4dm1BVMaXQya5ae2ghzlJN9SIoopTWlR
 0Af3hPj5E2PYvQhlcqeoehKlBo9rROJv/rjmr2x0yOM8qeTroH/ZzNlCtJ56AsE6Tvl+r7cW
 3x7/Jq5WvWeudKrhFh7/yQ7eRvHCjd9bBrZTlgAfiHmX9AnCCPRPpNGNedV9Yty2Jnxhfmbv
 Pw37LA/jef8zlCDyUh2KCU1xVEOWqg15o1RtTyGV1nXV2O/mfuQJud5vIgzBvHhypc3p6VZJ
 lEf8YmT+Ol5P7SfCs5/uGdWUYQEMqOlg6w9R4Pe8d+mk8KGvfE9/zTwGg0nRgKqlQXrWRERv
 cuEwQbridlPAoQHrFWtwpgYMXx2TaZ3sihcIPo9uU5eBs0rf4mOERY75SK+Ekayv2ucTfjxr
 Kf014py2aoRJHuvy85ee/zIyLmve5hngZTTe3Wg3TInT9UTFzTPhItam6dZ1xqdTGHZYGU0O
 otRHcwLGt470grdiob6PfVTXoHlBvkWRadMhSuG4RORCDpq89vu5QralFNIf3EysNohoFy2A
 LYg2/D53xbU/aa4DDzBb5b1Rkg/udO1gZocVQWrDh6I2K3+cCs7BTQRVy5+RARAA59fefSDR
 9nMGCb9LbMX+TFAoIQo/wgP5XPyzLYakO+94GrgfZjfhdaxPXMsl2+o8jhp/hlIzG56taNdt
 VZtPp3ih1AgbR8rHgXw1xwOpuAd5lE1qNd54ndHuADO9a9A0vPimIes78Hi1/yy+ZEEvRkHk
 /kDa6F3AtTc1m4rbbOk2fiKzzsE9YXweFjQvl9p+AMw6qd/iC4lUk9g0+FQXNdRs+o4o6Qvy
 iOQJfGQ4UcBuOy1IrkJrd8qq5jet1fcM2j4QvsW8CLDWZS1L7kZ5gT5EycMKxUWb8LuRjxzZ
 3QY1aQH2kkzn6acigU3HLtgFyV1gBNV44ehjgvJpRY2cC8VhanTx0dZ9mj1YKIky5N+C0f21
 zvntBqcxV0+3p8MrxRRcgEtDZNav+xAoT3G0W4SahAaUTWXpsZoOecwtxi74CyneQNPTDjNg
 azHmvpdBVEfj7k3p4dmJp5i0U66Onmf6mMFpArvBRSMOKU9DlAzMi4IvhiNWjKVaIE2Se9BY
 FdKVAJaZq85P2y20ZBd08ILnKcj7XKZkLU5FkoA0udEBvQ0f9QLNyyy3DZMCQWcwRuj1m73D
 sq8DEFBdZ5eEkj1dCyx+t/ga6x2rHyc8Sl86oK1tvAkwBNsfKou3v+jP/l14a7DGBvrmlYjO
 59o3t6inu6H7pt7OL6u6BQj7DoMAEQEAAcLBfAQYAQgAJgIbDBYhBBvZyq1zXEw6Rg38yk3e
 EPcA/4NaBQJonNqrBQkmWAihAAoJEE3eEPcA/4NaKtMQALAJ8PzprBEXbXcEXwDKQu+P/vts
 IfUb1UNMfMV76BicGa5NCZnJNQASDP/+bFg6O3gx5NbhHHPeaWz/VxlOmYHokHodOvtL0WCC
 8A5PEP8tOk6029Z+J+xUcMrJClNVFpzVvOpb1lCbhjwAV465Hy+NUSbbUiRxdzNQtLtgZzOV
 Zw7jxUCs4UUZLQTCuBpFgb15bBxYZ/BL9MbzxPxvfUQIPbnzQMcqtpUs21CMK2PdfCh5c4gS
 sDci6D5/ZIBw94UQWmGpM/O1ilGXde2ZzzGYl64glmccD8e87OnEgKnH3FbnJnT4iJchtSvx
 yJNi1+t0+qDti4m88+/9IuPqCKb6Stl+s2dnLtJNrjXBGJtsQG/sRpqsJz5x1/2nPJSRMsx9
 5YfqbdrJSOFXDzZ8/r82HgQEtUvlSXNaXCa95ez0UkOG7+bDm2b3s0XahBQeLVCH0mw3RAQg
 r7xDAYKIrAwfHHmMTnBQDPJwVqxJjVNr7yBic4yfzVWGCGNE4DnOW0vcIeoyhy9vnIa3w1uZ
 3iyY2Nsd7JxfKu1PRhCGwXzRw5TlfEsoRI7V9A8isUCoqE2Dzh3FvYHVeX4Us+bRL/oqareJ
 CIFqgYMyvHj7Q06kTKmauOe4Nf0l0qEkIuIzfoLJ3qr5UyXc2hLtWyT9Ir+lYlX9efqh7mOY
 qIws/H2t
In-Reply-To: <1d9f416fd3665faf27841b6305b1e8d661427125.camel@physik.fu-berlin.de>
X-Mimecast-Spam-Score: 0
X-Mimecast-MFC-PROC-ID: h2l2rt6-6euKfBuBV5GYnAsFCqk_iFu53OW9-4gWXEM_1761568721
X-Mimecast-Originator: redhat.com
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 24.10.25 17:51, John Paul Adrian Glaubitz wrote:
> Hi David,

Hi,

> 
> On Fri, 2025-10-24 at 17:47 +0200, David Hildenbrand wrote:
>>> Please have people test kernel changes on SPARC on real hardware. QEMU does not
>>> emulate sun4v, for example, and therefore testing in QEMU does not cover all
>>> of SPARC hardware.
>>>
>>> There are plenty of people on the debian-sparc, gentoo-sparc and sparclinux
>>> LKML mailing lists that can test kernel patches for SPARC. If SPARC-relevant
>>> changes need to be tested, please ask there and don't bury such things in a
>>> deeply nested thread in a discussion which doesn't even have SPARC in the
>>> mail subject.
>>
>> out of curiosity, do people monitor sparclinux@ for changes to actively
>> offer testing when required -- like would it be sufficient to CC
>> relevant maintainers+list (like done here) and raise in the cover letter
>> that some testing help would be appreciated?
> 
> Yes, that's definitely the case. But it should be obvious that from the subject
> of the mail that the change affects SPARC as not everyone can read every mail
> they're receiving through mailing lists.

Agreed. One would hope that people only CC the sparc mailing list + 
maintainers when there is actually something relevant in there.

Also, it would be nice if someone (e.g., the maintainer or reviewers) 
could monitor the list to spot that there is testing demand to CC the 
right people.

I guess one problem might be that nobody is getting paid to work on 
sparc I guess (I'm happy to be wrong on that one :) ).

Regarding sparc, I'll keep in mind that we might have to write a 
separate mail to the list to get some help with testing.

> 
> I'm trying to keep up, but since I'm on mailing lists for many different architectures,
> mails can slip through the cracks.

Yeah, that's understandable.

> 
> For people that want to test changes on SPARC regularly, I can also offer accounts
> on SPARC test machines running on a Solaris LDOM (logical domain) on a SPARC T4.

For example, I do have a s390x machine in an IBM cloud where I can test 
stuff. But I worked on s390x before, so I know how to test and what to 
test, and how to troubleshoot.

On sparc I'd unfortunately have a hard time even understanding whether a 
simple boot test on some machine will actually trigger what I wanted to 
test :(

-- 
Cheers

David / dhildenb



From xen-devel-bounces@lists.xenproject.org Mon Oct 27 13:33:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Oct 2025 13:33:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151608.1482121 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDNLF-00053k-SE; Mon, 27 Oct 2025 13:32:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151608.1482121; Mon, 27 Oct 2025 13:32:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDNLF-00053d-Om; Mon, 27 Oct 2025 13:32:57 +0000
Received: by outflank-mailman (input) for mailman id 1151608;
 Mon, 27 Oct 2025 13:32:56 +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
 <SRS0=KmjG=5E=arm.com=kevin.brodsky@srs-se1.protection.inumbo.net>)
 id 1vDNLE-00053X-8N
 for xen-devel@lists.xenproject.org; Mon, 27 Oct 2025 13:32:56 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 709152d2-b339-11f0-9d16-b5c5bf9af7f9;
 Mon, 27 Oct 2025 14:32:53 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id A1A07175D;
 Mon, 27 Oct 2025 06:32:44 -0700 (PDT)
Received: from [10.57.68.196] (unknown [10.57.68.196])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id AF5AF3F673;
 Mon, 27 Oct 2025 06:32:45 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 709152d2-b339-11f0-9d16-b5c5bf9af7f9
Message-ID: <2be0732d-d8fb-424d-bc4e-443cc49d0092@arm.com>
Date: Mon, 27 Oct 2025 14:32:42 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 11/13] x86/xen: use lazy_mmu_state when
 context-switching
To: David Hildenbrand <david@redhat.com>,
 Demi Marie Obenour <demiobenour@gmail.com>,
 David Woodhouse <dwmw2@infradead.org>, linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org, Alexander Gordeev <agordeev@linux.ibm.com>,
 Andreas Larsson <andreas@gaisler.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, Borislav Petkov
 <bp@alien8.de>, Catalin Marinas <catalin.marinas@arm.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 Dave Hansen <dave.hansen@linux.intel.com>,
 "David S. Miller" <davem@davemloft.net>, "H. Peter Anvin" <hpa@zytor.com>,
 Ingo Molnar <mingo@redhat.com>, Jann Horn <jannh@google.com>,
 Juergen Gross <jgross@suse.com>, "Liam R. Howlett"
 <Liam.Howlett@oracle.com>, Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>, Michal Hocko <mhocko@suse.com>,
 Mike Rapoport <rppt@kernel.org>, Nicholas Piggin <npiggin@gmail.com>,
 Peter Zijlstra <peterz@infradead.org>, Ryan Roberts <ryan.roberts@arm.com>,
 Suren Baghdasaryan <surenb@google.com>, Thomas Gleixner
 <tglx@linutronix.de>, Vlastimil Babka <vbabka@suse.cz>,
 Will Deacon <will@kernel.org>, Yeoreum Yun <yeoreum.yun@arm.com>,
 linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org,
 sparclinux@vger.kernel.org, xen-devel@lists.xenproject.org, x86@kernel.org
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
 <20251015082727.2395128-12-kevin.brodsky@arm.com>
 <f0067f35-1048-4788-8401-f71d297f56f3@redhat.com>
 <348e5f1c5a90e4ab0f14b4d997baf7169745bf04.camel@infradead.org>
 <70723f4a-f42b-4d94-9344-5824e48bfad1@redhat.com>
 <3ff4aaeb-61ce-4b72-ba90-1b66374b1b95@gmail.com>
 <6c9bd0c6-0968-41ac-b0b4-53c881748cfb@redhat.com>
Content-Language: en-GB
From: Kevin Brodsky <kevin.brodsky@arm.com>
In-Reply-To: <6c9bd0c6-0968-41ac-b0b4-53c881748cfb@redhat.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 27/10/2025 13:29, David Hildenbrand wrote:
> On 25.10.25 00:52, Demi Marie Obenour wrote:
>> On 10/24/25 10:51, David Hildenbrand wrote:
>>> On 24.10.25 16:47, David Woodhouse wrote:
>>>> On Thu, 2025-10-23 at 22:06 +0200, David Hildenbrand wrote:
>>>>> On 15.10.25 10:27, Kevin Brodsky wrote:
>>>>>> We currently set a TIF flag when scheduling out a task that is in
>>>>>> lazy MMU mode, in order to restore it when the task is scheduled
>>>>>> again.
>>>>>>
>>>>>> The generic lazy_mmu layer now tracks whether a task is in lazy MMU
>>>>>> mode in task_struct::lazy_mmu_state. We can therefore check that
>>>>>> state when switching to the new task, instead of using a separate
>>>>>> TIF flag.
>>>>>>
>>>>>> Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
>>>>>> ---
>>>>>
>>>>>
>>>>> Looks ok to me, but I hope we get some confirmation from x86 / xen
>>>>> folks.
>>>>
>>>>
>>>> I know tglx has shouted at me in the past for precisely this reminder,
>>>> but you know you can test Xen guests under QEMU/KVM now and don't need
>>>> to actually run Xen? Has this been boot tested?
>>>
>>> And after that, boot-testing sparc as well? :D
>>>
>>> If it's easy, why not. But other people should not suffer for all the
>>> XEN hacks we keep dragging along.
>>
>> Which hacks?Â  Serious question.Â  Is this just for Xen PV or is HVM
>> also affected?
>
> In the context of this series, XEN_LAZY_MMU.

FWIW in that particular case it's relatively easy to tell this is
specific to Xen PV (this is only used in mmu_pv.c and enlighten_pv.c).
Knowing what to test is certainly not obvious in general, though.

- Kevin

>
> Your question regarding PV/HVM emphasizes my point: how is a submitter
> supposed to know which XEN combinations to test (and how to test
> them), to not confidentially break something here.
>
> We really need guidance+help from the XEN folks here.


From xen-devel-bounces@lists.xenproject.org Mon Oct 27 13:38:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Oct 2025 13:38:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151617.1482131 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDNQP-0005nU-DJ; Mon, 27 Oct 2025 13:38:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151617.1482131; Mon, 27 Oct 2025 13:38:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDNQP-0005nN-AW; Mon, 27 Oct 2025 13:38:17 +0000
Received: by outflank-mailman (input) for mailman id 1151617;
 Mon, 27 Oct 2025 13:38:16 +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
 <SRS0=KmjG=5E=arm.com=kevin.brodsky@srs-se1.protection.inumbo.net>)
 id 1vDNQO-0005nH-QY
 for xen-devel@lists.xenproject.org; Mon, 27 Oct 2025 13:38:16 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 2dcb7ca6-b33a-11f0-980a-7dc792cee155;
 Mon, 27 Oct 2025 14:38:11 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 593A4175D;
 Mon, 27 Oct 2025 06:38:02 -0700 (PDT)
Received: from [10.57.68.196] (unknown [10.57.68.196])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 0FD233F673;
 Mon, 27 Oct 2025 06:38:02 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2dcb7ca6-b33a-11f0-980a-7dc792cee155
Message-ID: <1db69026-199c-4cee-bb3b-1217f8a3afad@arm.com>
Date: Mon, 27 Oct 2025 14:38:00 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 11/13] x86/xen: use lazy_mmu_state when
 context-switching
To: David Woodhouse <dwmw2@infradead.org>,
 David Hildenbrand <david@redhat.com>, linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org, Alexander Gordeev <agordeev@linux.ibm.com>,
 Andreas Larsson <andreas@gaisler.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, Borislav Petkov
 <bp@alien8.de>, Catalin Marinas <catalin.marinas@arm.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 Dave Hansen <dave.hansen@linux.intel.com>,
 "David S. Miller" <davem@davemloft.net>, "H. Peter Anvin" <hpa@zytor.com>,
 Ingo Molnar <mingo@redhat.com>, Jann Horn <jannh@google.com>,
 Juergen Gross <jgross@suse.com>, "Liam R. Howlett"
 <Liam.Howlett@oracle.com>, Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>, Michal Hocko <mhocko@suse.com>,
 Mike Rapoport <rppt@kernel.org>, Nicholas Piggin <npiggin@gmail.com>,
 Peter Zijlstra <peterz@infradead.org>, Ryan Roberts <ryan.roberts@arm.com>,
 Suren Baghdasaryan <surenb@google.com>, Thomas Gleixner
 <tglx@linutronix.de>, Vlastimil Babka <vbabka@suse.cz>,
 Will Deacon <will@kernel.org>, Yeoreum Yun <yeoreum.yun@arm.com>,
 linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org,
 sparclinux@vger.kernel.org, xen-devel@lists.xenproject.org, x86@kernel.org
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
 <20251015082727.2395128-12-kevin.brodsky@arm.com>
 <f0067f35-1048-4788-8401-f71d297f56f3@redhat.com>
 <348e5f1c5a90e4ab0f14b4d997baf7169745bf04.camel@infradead.org>
 <6ed9f404-9939-4e9f-b5aa-4253bef46df1@arm.com>
 <7324616a8d2631aa8132f725f9f6551e3e6b21dd.camel@infradead.org>
Content-Language: en-GB
From: Kevin Brodsky <kevin.brodsky@arm.com>
In-Reply-To: <7324616a8d2631aa8132f725f9f6551e3e6b21dd.camel@infradead.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 24/10/2025 17:17, David Woodhouse wrote:
> On Fri, 2025-10-24 at 17:05 +0200, Kevin Brodsky wrote:
>> On 24/10/2025 16:47, David Woodhouse wrote:
>>> On Thu, 2025-10-23 at 22:06 +0200, David Hildenbrand wrote:
>>>> On 15.10.25 10:27, Kevin Brodsky wrote:
>>>>> We currently set a TIF flag when scheduling out a task that is in
>>>>> lazy MMU mode, in order to restore it when the task is scheduled
>>>>> again.
>>>>>
>>>>> The generic lazy_mmu layer now tracks whether a task is in lazy MMU
>>>>> mode in task_struct::lazy_mmu_state. We can therefore check that
>>>>> state when switching to the new task, instead of using a separate
>>>>> TIF flag.
>>>>>
>>>>> Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
>>>>> ---
>>>> Looks ok to me, but I hope we get some confirmation from x86 / xen
>>>> folks.
>>> I know tglx has shouted at me in the past for precisely this reminder,
>>> but you know you can test Xen guests under QEMU/KVM now and don't need
>>> to actually run Xen? Has this been boot tested?
>> I considered boot-testing a Xen guest (considering the Xen-specific
>> changes in this series), but having no idea how to go about it I quickly
>> gave up... Happy to follow instructions :)
> https://qemu-project.gitlab.io/qemu/system/i386/xen.html covers booting
> Xen HVM guests, and near the bottom PV guests too (for which you do
> need a copy of Xen to run in QEMU with '--kernel xen', and your
> distro's build should suffice for that).
>
> Let me know if you have any trouble. Here's a sample command line which
> works here...
>
> qemu-system-x86_64 -display none --accel kvm,xen-version=0x40011,kernel-irqchip=split -drive file=/var/lib/libvirt/images/fedora28.qcow2,if=xen -kernel ~/git/linux-2.6/arch/x86/boot/bzImage -append "root=/dev/xvda1 console=ttyS0" -serial mon:stdio

Thanks this is helpful! Unfortunately lazy_mmu is only used in the PV
case, so I'd need to run a PV guest. And the distro I'm using (Arch
Linux) does not have a Xen package :/ It can be built from source from
the AUR but that looks rather involved. Are there some prebuilt binaries
I could grab and just point QEMU to?

- Kevin


From xen-devel-bounces@lists.xenproject.org Mon Oct 27 14:28:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Oct 2025 14:28:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151632.1482148 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDOCh-0003le-2I; Mon, 27 Oct 2025 14:28:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151632.1482148; Mon, 27 Oct 2025 14:28:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDOCg-0003lX-Vh; Mon, 27 Oct 2025 14:28:10 +0000
Received: by outflank-mailman (input) for mailman id 1151632;
 Mon, 27 Oct 2025 14:28:10 +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
 <SRS0=G4SB=5E=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1vDOCg-0003lR-4w
 for xen-devel@lists.xenproject.org; Mon, 27 Oct 2025 14:28:10 +0000
Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com
 [2a00:1450:4864:20::62f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2873e01c-b341-11f0-980a-7dc792cee155;
 Mon, 27 Oct 2025 15:28:08 +0100 (CET)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-b6d53684cfdso1060162366b.0
 for <xen-devel@lists.xenproject.org>; Mon, 27 Oct 2025 07:28:08 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-71-38.play-internet.pl.
 [109.243.71.38]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-b6d8540807bsm769969366b.54.2025.10.27.07.28.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 27 Oct 2025 07:28:07 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2873e01c-b341-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1761575288; x=1762180088; darn=lists.xenproject.org;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=r40CHxcNvtUOSKN2L1J01Uj9Si5KRuLkWDq9k27cJ8k=;
        b=B39aJ4z20SZ2O0RVPry63z6d4A9cYFEw52aQKh4rqEnnTJ8ydnT4ecURulimziwFDO
         kFFTZjQvlq71VPAXqCAu9tJj2/fqp4LGqminkxqVaSOncn+VkWf9BpznFx0arstgH5hv
         hS1UFlA42HjTk0xodAhzE1vryYOXvHqgNoTUvIidySkcI1RCn0g8Hp8BEcosa01ki+8c
         kv6CkuV7V3Tk3pBDxKlroWsPdwYl0yLmYJlqM9rFAqmDzhIhYbAXdYl2XJf3H9Sn8YQH
         ogICBcDY4C0AWrrkx0K4qu2EdUlt9pjPJods+GWmMcu9zYEv8YDLizD2FBe6E4cctrbk
         s7cQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761575288; x=1762180088;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=r40CHxcNvtUOSKN2L1J01Uj9Si5KRuLkWDq9k27cJ8k=;
        b=CdAp+JnfQ44sJJJhwfNjTOX/uXbSLzlaLl6NfqD+0iZvEh62hDciP5ls0VPpaf+mmj
         WN/2QXdNhjTK0eY+yJhKvaFITtvsDjY3+w9D275zKY5/SxGNW7TexW8yrN7r6JtyMovq
         qIFN7CN1rTGVFvOdcWOB4k5GeLXloNoJ6pZWf5mBQc8mfirrgunX9noM59Jb2+hKo9VN
         Y5WjaZAVnTfk0IKCZ45lbGpMGI5CKreZDEQl6PJ4zZNXC70J4g2BwdLCd95up65w8ZBM
         DqkaOc0UXiKlq9viixi6HIdkLcP/NTzKZ6ihN/nMqp5dnbpP8feRU/ogQ6/U3//w22lv
         a1vQ==
X-Forwarded-Encrypted: i=1; AJvYcCVXwAOyANuhpzut/fuzfaBKJHO49lisR+hfMpGVUxjp9ouTLLuYMUqKUNAOf3PE+O1jCJ6fISmqC/k=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzk+HHte+9hWYgcoWzWtSaF1wjW0+UOe5/meinsv1BsGMqZlBmX
	8Ov8B5Ku67XwFWdrDbdDx/3w2XZ/Hc6rByVqmfRDs7ejGYlLfw7atfCu
X-Gm-Gg: ASbGnctKvmAFW91/418I1T366Q8oewDg+c7qvs1gVzGY0ZhJCTrDCwB7jFhzm43bomx
	11xwXElRBP067yHI0TC2yupQ/4IF8e8LLcoEILgf02a0f/oIA2cslDlIEmPBtkO1NoRGRhAv8+K
	mmVWaA5WVof/CNOgwUg4WCaNIZIRVTKHG0sGkhuR7x6U2MS9u2eURQLXlQO17ZZBAT1JxN0vJtE
	GLDOi/5rwYweyKGYIA30oJ0fVhr8l+x3MZSfPrZfPcGzyM87SpnqeRUbjE5x6fzuBBZDFFsCcfd
	JiSUQrTrXLIqm965rNFV/Es3aBtZJ/1QSvg5E+BUkI+URLrZuzF0FmxmlXaiCtLBRMJREgal+aL
	2XKEIPH2S18q5jg135dSjf0AgonkCxXeGYbrnoJtWCNNkerYeCm3mXTJjLqLep/1hKzjfsahTA8
	d9NEefHzhIu20ACO37JsNtQRJgOw5HW40lVFHJxUa0Eh9LRvBe0w==
X-Google-Smtp-Source: AGHT+IGm8mhA+l7gjUsEbpAtYoGkg99XQJqh67+1v5H7unJB7V+t5E4J46WtbJvQ1xHqw9B5P5pVKw==
X-Received: by 2002:a17:907:9486:b0:b6d:6b56:bd7d with SMTP id a640c23a62f3a-b6dba474b82mr15312466b.16.1761575287472;
        Mon, 27 Oct 2025 07:28:07 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------GPY0qACh2gbKMm3ZbOHCKDF6"
Message-ID: <4746e81e-7327-46b3-9e50-9b0b401a2416@gmail.com>
Date: Mon, 27 Oct 2025 15:28:06 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 for-4.21?] xen/pci: prevent infinite loop for faulty
 SR-IOV cards
To: Jan Beulich <jbeulich@suse.com>, Frediano Ziglio <freddy77@gmail.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 xen-devel <xen-devel@lists.xenproject.org>
References: <CAHt6W4e1XOoqO-W0O1mEU4UCr_ik=J9bRGQQPeNL3YLQSyV7_w@mail.gmail.com>
 <c06a70c8-747d-422a-8fb8-431608631f84@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <c06a70c8-747d-422a-8fb8-431608631f84@suse.com>

This is a multi-part message in MIME format.
--------------GPY0qACh2gbKMm3ZbOHCKDF6
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit


On 10/27/25 10:07 AM, Jan Beulich wrote:
> On 25.10.2025 22:09, Frediano Ziglio wrote:
>> If a SR-IOV card presents an I/O space inside a BAR the
>> code will continue to loop on the same card.
>> This is due to the missing increment of the cycle variable.
>>
>> Fixes: a1a6d59862f4 ("pci: split code to size BARs from pci_add_device")
>> Signed-off-by: Frediano Ziglio<frediano.ziglio@cloud.com>
> Reviewed-by: Jan Beulich<jbeulich@suse.com>
>
> I have to admit though that "faulty" to me suggests more like active misbehavior
> than the presenting of a bogus BAR. But maybe that's just me ...
>
> Oleksii, thoughts towards 4.21?

Lets take it to 4.21:
  Release-Acked-By: Oleksii Kurochko<oleksii.kurochko@gmail.com>

Thanks.

~ Oleksii

--------------GPY0qACh2gbKMm3ZbOHCKDF6
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 10/27/25 10:07 AM, Jan Beulich
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:c06a70c8-747d-422a-8fb8-431608631f84@suse.com">
      <pre wrap="" class="moz-quote-pre">On 25.10.2025 22:09, Frediano Ziglio wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">If a SR-IOV card presents an I/O space inside a BAR the
code will continue to loop on the same card.
This is due to the missing increment of the cycle variable.

Fixes: a1a6d59862f4 ("pci: split code to size BARs from pci_add_device")
Signed-off-by: Frediano Ziglio <a class="moz-txt-link-rfc2396E" href="mailto:frediano.ziglio@cloud.com">&lt;frediano.ziglio@cloud.com&gt;</a>
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
Reviewed-by: Jan Beulich <a class="moz-txt-link-rfc2396E" href="mailto:jbeulich@suse.com">&lt;jbeulich@suse.com&gt;</a>

I have to admit though that "faulty" to me suggests more like active misbehavior
than the presenting of a bogus BAR. But maybe that's just me ...

Oleksii, thoughts towards 4.21?</pre>
    </blockquote>
    <pre>Lets take it to 4.21:
 Release-Acked-By: Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a>

Thanks.

~ Oleksii</pre>
  </body>
</html>

--------------GPY0qACh2gbKMm3ZbOHCKDF6--


From xen-devel-bounces@lists.xenproject.org Mon Oct 27 14:31:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Oct 2025 14:31:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151639.1482159 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDOFY-0005Gy-Fi; Mon, 27 Oct 2025 14:31:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151639.1482159; Mon, 27 Oct 2025 14:31:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDOFY-0005Gr-CK; Mon, 27 Oct 2025 14:31:08 +0000
Received: by outflank-mailman (input) for mailman id 1151639;
 Mon, 27 Oct 2025 14:31:07 +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
 <SRS0=G4SB=5E=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1vDOFX-0005Gl-4E
 for xen-devel@lists.xenproject.org; Mon, 27 Oct 2025 14:31:07 +0000
Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com
 [2a00:1450:4864:20::633])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 91ee561e-b341-11f0-980a-7dc792cee155;
 Mon, 27 Oct 2025 15:31:05 +0100 (CET)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-b4539dddd99so1008428466b.1
 for <xen-devel@lists.xenproject.org>; Mon, 27 Oct 2025 07:31:05 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-71-38.play-internet.pl.
 [109.243.71.38]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-b6d85369675sm778799266b.28.2025.10.27.07.31.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 27 Oct 2025 07:31:04 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 91ee561e-b341-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1761575465; x=1762180265; darn=lists.xenproject.org;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=iWsQYdmSEA3AYPPNF1u/HnsB2NQEgzlOOS+xrBhNF4A=;
        b=HT5PE04Nlll7rHhDI5yZz19ykikM6tQsxHr01RtfRrVLkdzv8XgVlutvt9Qml20jrZ
         AXYsQSkCb7PsjGqV4rdXU/gPEEvpHbVDUX9+4AmtrJXCRe7dDyXIOgxiXZqt6RRt8Nbx
         Kjp3Kt7qWyXWsCw73DO6JU+3lY2WQyMlXN3E0mqhm7uGPO46WtycSWjokTg9Y2Y52ejC
         YGaazENCppJliXnCYm6PVmSg8pVVJD7zYPw0NOh1Ams1iABaQH5Tzqvl9EjDlh0q7pu/
         SM9VX87H41RVgQVA2mcs7J+Dhs85azCNrP+ec0PoxiTsXPijK2ZIYrms8XxnENKTjsrW
         h40g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761575465; x=1762180265;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=iWsQYdmSEA3AYPPNF1u/HnsB2NQEgzlOOS+xrBhNF4A=;
        b=qTUdO7jpK71R25K7cLWDJAbYnU94gqWdKzeuf3evzR9lp3b/J+vxiGCfB8V2V89Syn
         UZCImhuQk+xh1kY0ubBp6AwbEsHaCht5S977DZRd4eLWw3/ZmJcEo2WjnsJur4pxKmeT
         CEmuUQfitnDxAIgWcZszh3biSq/6L3TVwC6qM8ILMlSx8mQGrKxgihSvBra7KHNsQlv4
         wptjVo6Bc3JkDAAoRL+rU/7GJc+IuEbTI0Yyj/N5PzrDTglFftoY6XuZ1+8rjWwYddhd
         Mywf03RE6y8CsuRHTqgLPzIR1SaTkgLasQcpzWVdv/E/jKhtErsgPcZKzOIwSOmUmfyw
         9V3Q==
X-Gm-Message-State: AOJu0YyctRsza6bFNZtLVY+8I43QbdkpZbWqweTfNiLM75O5ji8RxpO7
	cbfkXMbEU3NeUPV4Iz7mncW86gV6C8JTtFbLWknhJc1FVPun4B5qB+BO
X-Gm-Gg: ASbGncvWCBChk3P0LIn6CML8y2e5kT08f7P8NlyamilflGpU65m8SIscm3Zx77lx+XA
	Wlz+DxD6VBP1ih4yN8xrgZGnpYg/eFV1kFUIVKS4k6224f1YbJkJkKevbZMk0erqKsdBfqaYTsZ
	QFl16iwrz3IcyToKII7FgcincGikIomyvqyGS+9Fzf+xxeZqlS/j3yD9q3ZtMy6eiERiuH1JqU/
	ZisTseL5nbyc3Sh7WSPdyHn1Vd7Chwb+Q88HYZqjHRmwQ4AnYuslFUQdtR/1MWSSiMw6RKm75+6
	lu/a+06p3TfNE2hQPWIUfkMmvU5c/wYHSu0IjtZYOYBPrizzscbXZadtazjxCY6WxYehZQ3euCH
	mCOZnqI3RvLo6DmbsxbtSn6OR3s3qxAYwJu5dl6PBBwDl4+HB1B5Qoms5qhgE0P9y/5zpi1W7nZ
	55yC/+b7yVWkKuSFsU547xmMRYnRAAkzAJ1upifIvLNyWupzcaBhS5CSaN7FxR
X-Google-Smtp-Source: AGHT+IGqzEU8NfhfhawBx9/p4FVKFX3kG51rKMutNy1tpwEf0DRYXtjw9R2yDzefiW/BDTB2MPgo+Q==
X-Received: by 2002:a17:907:3c89:b0:b04:32ff:5d3a with SMTP id a640c23a62f3a-b6dba1d92fbmr17752766b.0.1761575464382;
        Mon, 27 Oct 2025 07:31:04 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------IcZUoRiqwiT8kiWUm8eoTfFW"
Message-ID: <90670a5b-49e9-4463-9169-f1f4ac6028d5@gmail.com>
Date: Mon, 27 Oct 2025 15:31:03 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 0/2] xen: randconfig fixes
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, jbeulich@suse.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com
References: <alpine.DEB.2.22.394.2510221616570.495094@ubuntu-linux-20-04-desktop>
 <alpine.DEB.2.22.394.2510231051270.495094@ubuntu-linux-20-04-desktop>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <alpine.DEB.2.22.394.2510231051270.495094@ubuntu-linux-20-04-desktop>

This is a multi-part message in MIME format.
--------------IcZUoRiqwiT8kiWUm8eoTfFW
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hello Stefano,


On 10/23/25 7:51 PM, Stefano Stabellini wrote:
> Hi Oleksii,
>
> The two patches solved the problem and survived 1000 iterations on
> gitlab. They are reviewed and acked.

Good to hear that the solution has been found, so ...

>
> Can I go ahead and commit them to staging so that they will be in RC3?

...Â lets go with this solution:

Release-Acked-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>

Thanks!

~ Oleksii

> On Wed, 22 Oct 2025, Stefano Stabellini wrote:
>> Hi all,
>>
>> I tested the two fixes together for 1000 randconfig build tests here:
>> https://gitlab.com/xen-project/people/sstabellini/xen/-/pipelines/2114931367
>>
>> And also locally on my workstation for a full day successfully.
>>
>>
>> Jan Beulich (1):
>>        x86/mm: correct PG_log_dirty definition again
>>
>> Stefano Stabellini (1):
>>        xen: fix randconfig build problems after introducing SYSCTL
>>
>>   xen/arch/x86/hvm/Kconfig          | 1 +
>>   xen/arch/x86/include/asm/paging.h | 2 +-
>>   xen/common/Kconfig                | 1 +
>>   xen/include/hypercall-defs.c      | 4 ++--
>>   4 files changed, 5 insertions(+), 3 deletions(-)
>>
--------------IcZUoRiqwiT8kiWUm8eoTfFW
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <pre>Hello Stefano,</pre>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 10/23/25 7:51 PM, Stefano Stabellini
      wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:alpine.DEB.2.22.394.2510231051270.495094@ubuntu-linux-20-04-desktop">
      <pre wrap="" class="moz-quote-pre">Hi Oleksii,

The two patches solved the problem and survived 1000 iterations on
gitlab. They are reviewed and acked.</pre>
    </blockquote>
    <pre>Good to hear that the solution has been found, so ...</pre>
    <blockquote type="cite"
cite="mid:alpine.DEB.2.22.394.2510231051270.495094@ubuntu-linux-20-04-desktop">
      <pre wrap="" class="moz-quote-pre">

Can I go ahead and commit them to staging so that they will be in RC3?</pre>
    </blockquote>
    <pre>...Â lets go with this solution:

Release-Acked-by: Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a>

Thanks!

~ Oleksii</pre>
    <blockquote type="cite"
cite="mid:alpine.DEB.2.22.394.2510231051270.495094@ubuntu-linux-20-04-desktop">
      <pre wrap="" class="moz-quote-pre">
On Wed, 22 Oct 2025, Stefano Stabellini wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">Hi all,

I tested the two fixes together for 1000 randconfig build tests here:
<a class="moz-txt-link-freetext" href="https://gitlab.com/xen-project/people/sstabellini/xen/-/pipelines/2114931367">https://gitlab.com/xen-project/people/sstabellini/xen/-/pipelines/2114931367</a>

And also locally on my workstation for a full day successfully.


Jan Beulich (1):
      x86/mm: correct PG_log_dirty definition again

Stefano Stabellini (1):
      xen: fix randconfig build problems after introducing SYSCTL

 xen/arch/x86/hvm/Kconfig          | 1 +
 xen/arch/x86/include/asm/paging.h | 2 +-
 xen/common/Kconfig                | 1 +
 xen/include/hypercall-defs.c      | 4 ++--
 4 files changed, 5 insertions(+), 3 deletions(-)

</pre>
      </blockquote>
    </blockquote>
  </body>
</html>

--------------IcZUoRiqwiT8kiWUm8eoTfFW--


From xen-devel-bounces@lists.xenproject.org Mon Oct 27 15:21:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Oct 2025 15:21:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151660.1482185 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDP1j-0003Ox-40; Mon, 27 Oct 2025 15:20:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151660.1482185; Mon, 27 Oct 2025 15:20:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDP1j-0003Oq-1L; Mon, 27 Oct 2025 15:20:55 +0000
Received: by outflank-mailman (input) for mailman id 1151660;
 Mon, 27 Oct 2025 15:20:53 +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
 <SRS0=G4SB=5E=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1vDP1h-0003Ok-6E
 for xen-devel@lists.xenproject.org; Mon, 27 Oct 2025 15:20:53 +0000
Received: from mail-ej1-x632.google.com (mail-ej1-x632.google.com
 [2a00:1450:4864:20::632])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 866cda65-b348-11f0-9d16-b5c5bf9af7f9;
 Mon, 27 Oct 2025 16:20:52 +0100 (CET)
Received: by mail-ej1-x632.google.com with SMTP id
 a640c23a62f3a-b4aed12cea3so553059466b.1
 for <xen-devel@lists.xenproject.org>; Mon, 27 Oct 2025 08:20:52 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-71-38.play-internet.pl.
 [109.243.71.38]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-b6d8548ed9asm803431166b.74.2025.10.27.08.20.50
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 27 Oct 2025 08:20:51 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 866cda65-b348-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1761578452; x=1762183252; darn=lists.xenproject.org;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=TAaz6eSVpPT4hNFpdPas/PK6GnS38dbcX7vbAZdguI4=;
        b=Rk/AxT15wuoeiV1100ZXk24oEQysg2SeERFv1xVkPy6nkZkWJrtzTplDiUq73XNxmA
         FWlzpwzzCE6SnH6BKzfzAeDZYuQIy0qgElPVp5cL+PmXjNf0zU4zPgdnO7dNb/ew2Abr
         uL9dGQJbN2YuQR5nfL1ONfr2v0VdVdaHY22SpOX3yKUr/MHheZEICDNPzJtyOWx1GQbU
         a0feEwVQ7ji0BOuR18XY9JRgaAVlgEj2/7o2azgCsTk1a3Qe97Gk9+tX+nJO7xjz/DWt
         qbFX5C8YbJ76AVeKkosOUV0e9f9qjHGN2xtphTgvGcgx9wVPwCnGqWACguBmJ1wMUzks
         CK2g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761578452; x=1762183252;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=TAaz6eSVpPT4hNFpdPas/PK6GnS38dbcX7vbAZdguI4=;
        b=A/y1APt9mJ0qFPf1fRYhuPtr0YHB674DM0pTzJIhio8foJINm/Td6IYAkJ4qyevSDO
         ltp0TouxaOeyOcc2VTYTYVBvjMmTiUBPnFacaCMsaNhz/GGzjJEysaL+zC0yR1+Nji8k
         WMHB5SNOkY2jfWMfsNwKc5jM+H1rq2OeB17Eux8dfeyEpyYABjtziw1NfJEeFzOOI24J
         SCFNGamlcN7jy9t45CWmSsU7eKF+rYCOYfrZj4SQSCH6K6nI4T+VIPFhVvVDQKHsIHqH
         mAtprSzoHHGUvjmuYwXFGCGmlWAti/0AjgMIS7nQnoRA5jlLobHv3MlqFLmobCIJouvK
         9I5Q==
X-Forwarded-Encrypted: i=1; AJvYcCXxq9nb7VIduOrBu2HzTl1bzH2DNi42ItSnBZZrFaxO7CmBU6mc/4S1t93jkO6c91v+Tx0UQOqMEcU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwezLJy+p4t3sMeS8sqUOaagvclvWEs2eSxUZVoVZMzuZdP3mCz
	tbxdeMdqiNdL5piKT3Jx2VWBgi2Ay+fHhstPhj5l43uXCLzsIsyRKPUF
X-Gm-Gg: ASbGncshJUpKZ1KLaFo+FIrcPT/zo+zZK3OlzlvwxRrI0yC/y93Q+i40RgLw+1QiQmv
	tKXJjzR1r5jlvB3e0M4JMquRe+M7DYrZkmEF752cZFFGJOrH6IE+AeuicvAbccDNJbcN882gPVv
	KuAWdcyCfSLwmgbIUZIqiTusLftslCYppzGuLE74Q68bx5Z0bpwtkMej8Wdx6ImswrP7VQMQgRO
	P1i7BPzikrWDf9TtViVAsLXFLv7mBgDbPiju5SZ/VgojAIXn8r7sQEz0Dv+VI9fOyfnzDDeCBLc
	y7grtCvtybe5zdJyBrRQn3Z0qwA3EXttrF9TmpN3fG9iSCa9FYpwUI4+/cIrJcJWcpHVFb7Sk2E
	tUVtqCea9T/ZVS4D8O2nYBrMlba0hLNQugxv/JLIBtyf2mgaNtrNSz9I/OVgmD+d2u+Xq7A/Gxr
	BPCjhE7Msw+DAKGhgjjD1Obhys6l/RwVVGhJnxfVrYJZAIXFmv1g==
X-Google-Smtp-Source: AGHT+IGv6ymCC5PAp5yVwSLqfFzNPVvh9X7DSPDZLpSVnspjcNK2EyEevtn34Jv+Ffpvs0z8j6SUBw==
X-Received: by 2002:a17:907:3d4c:b0:b2e:6b3b:fbe7 with SMTP id a640c23a62f3a-b6dba1d8281mr32401066b.0.1761578451555;
        Mon, 27 Oct 2025 08:20:51 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------04L3DWwv1Y96bY50wSKtZ6dg"
Message-ID: <3939c358-5274-49a6-83f3-1d7aa947bfa6@gmail.com>
Date: Mon, 27 Oct 2025 16:20:50 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 for-4.21 3/9] x86/HPET: replace
 handle_hpet_broadcast()'s on-stack cpumask_t
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <6a8a912c-7276-42bd-af2b-b94fc6ce4291@suse.com>
 <dcea0975-8642-46b6-ad79-ec76cb8a76f1@suse.com>
 <b10cd3de-0449-483e-bc84-791ddda59c53@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <b10cd3de-0449-483e-bc84-791ddda59c53@suse.com>

This is a multi-part message in MIME format.
--------------04L3DWwv1Y96bY50wSKtZ6dg
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit


On 10/27/25 1:25 PM, Jan Beulich wrote:
> On 23.10.2025 17:51, Jan Beulich wrote:
>> With large NR_CPUS on-stack cpumask_t variables are problematic. Now that
>> the IRQ handler can't be invoked in a nested manner anymore, we can
>> instead use a per-CPU variable. While we can't use scratch_cpumask in code
>> invoked from IRQ handlers, simply amend that one with a HPET-special form.
>> (Note that only one of the two IRQ handling functions can come into play
>> at any one time.)
>>
>> Fixes: 996576b965cc ("xen: allow up to 16383 cpus")
>> Signed-off-by: Jan Beulich<jbeulich@suse.com>
>> Reviewed-by: Roger Pau MonnÃ©<roger.pau@citrix.com>
> Views towards 4.21?

Release-Acked-By: Oleksii Kurochko<oleksii.kurochko@gmail.com>

Thanks.

~ Oleksii

--------------04L3DWwv1Y96bY50wSKtZ6dg
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 10/27/25 1:25 PM, Jan Beulich wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:b10cd3de-0449-483e-bc84-791ddda59c53@suse.com">
      <pre wrap="" class="moz-quote-pre">On 23.10.2025 17:51, Jan Beulich wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">With large NR_CPUS on-stack cpumask_t variables are problematic. Now that
the IRQ handler can't be invoked in a nested manner anymore, we can
instead use a per-CPU variable. While we can't use scratch_cpumask in code
invoked from IRQ handlers, simply amend that one with a HPET-special form.
(Note that only one of the two IRQ handling functions can come into play
at any one time.)

Fixes: 996576b965cc ("xen: allow up to 16383 cpus")
Signed-off-by: Jan Beulich <a class="moz-txt-link-rfc2396E" href="mailto:jbeulich@suse.com">&lt;jbeulich@suse.com&gt;</a>
Reviewed-by: Roger Pau MonnÃ© <a class="moz-txt-link-rfc2396E" href="mailto:roger.pau@citrix.com">&lt;roger.pau@citrix.com&gt;</a>
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
Views towards 4.21?</pre>
    </blockquote>
    <pre>Release-Acked-By: Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a>

Thanks.

~ Oleksii</pre>
  </body>
</html>

--------------04L3DWwv1Y96bY50wSKtZ6dg--


From xen-devel-bounces@lists.xenproject.org Mon Oct 27 16:25:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Oct 2025 16:25:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151678.1482203 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDQ1s-0002yY-Sz; Mon, 27 Oct 2025 16:25:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151678.1482203; Mon, 27 Oct 2025 16:25:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDQ1s-0002yR-Ov; Mon, 27 Oct 2025 16:25:08 +0000
Received: by outflank-mailman (input) for mailman id 1151678;
 Mon, 27 Oct 2025 16:25:08 +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 <SRS0=v/7+=5E=redhat.com=david@srs-se1.protection.inumbo.net>)
 id 1vDQ1s-0002yL-90
 for xen-devel@lists.xenproject.org; Mon, 27 Oct 2025 16:25:08 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.129.124])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7e9e7acb-b351-11f0-9d16-b5c5bf9af7f9;
 Mon, 27 Oct 2025 17:25:05 +0100 (CET)
Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com
 [209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-495-SkJipQHuPlKAW4qedq5jWg-1; Mon, 27 Oct 2025 12:25:03 -0400
Received: by mail-wm1-f71.google.com with SMTP id
 5b1f17b1804b1-475e032d81bso17397045e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 27 Oct 2025 09:25:02 -0700 (PDT)
Received: from ?IPV6:2003:d8:2f3f:4b00:ee13:8c22:5cc5:d169?
 (p200300d82f3f4b00ee138c225cc5d169.dip0.t-ipconnect.de.
 [2003:d8:2f3f:4b00:ee13:8c22:5cc5:d169])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-475dd01c07fsm74064275e9.2.2025.10.27.09.24.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 27 Oct 2025 09:25:00 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7e9e7acb-b351-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1761582304;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
	bh=EJ5VPlj4otrH6ErEHjuzGdU9BRwHQ8d9NMaXu6e9vKY=;
	b=QeidNnQYyHxSTWWki/8j887F6dE8Wx3bcqfniLlnnmd02KFgmwLEkU+pkPY4t3VrV3OVFG
	Oti+Y+m+c6yJk6B81lVe14CsKqyN+OdHBz36X8u1rh6UFT+VR6L15G2EX+2ebbgxmfOGW+
	ZSdD1R+uWjiGBCrOPa+QXq6N/tjXA0A=
X-MC-Unique: SkJipQHuPlKAW4qedq5jWg-1
X-Mimecast-MFC-AGG-ID: SkJipQHuPlKAW4qedq5jWg_1761582302
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761582302; x=1762187102;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :from:references:cc:to:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=EJ5VPlj4otrH6ErEHjuzGdU9BRwHQ8d9NMaXu6e9vKY=;
        b=iLv6/SFHCudUpqAFGT8N9j2s9jlFCE77sCBl+zqfRMGdBAKHrKPXaaSFM8jBQEC+gW
         3URBeQeV6uKTuM+QEpdPMnzgm4SBGb6Jyu7tKE7tuh5yVqATT9ZJhFOLhtGy9f26II1w
         RkEbtybBQmlIJFkYNW0qQCtu7UbSLu3PoC6WC/oz8Ha/Ajs31QOZzmOFO8T0LvSDWErg
         w3rKBqWc2eTz80nTfGfxCF/Stx75rRiN7u/0/tFrtRmk/DvZQTlWQvxv4D2mfCdSdEGy
         n7qG5yXQ+B2dLmCSQmKbbjetkxvL9c4x35WePhJAN3BdbSs1Fry70DSmk5N+5EK8Z8GE
         wPqQ==
X-Forwarded-Encrypted: i=1; AJvYcCVvx5z2mmhnCJDF/9rPAMKA794EbSxRQv7DSZlYWYRhm5leBc4wD/Kx3YmRe+Kg4i/zPYWB3yFvrVA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwypTTByrGdeBZ/GN+9pwXDyfqn9mwhGcM3bJkDCsiBmbxZsxus
	9gZYrEmNKYlH3AkjeIp6qHz6Wdn4rcM678grfZad4LYDaU3/fcgmtnE9jkbwBrmpROJQvznPFU2
	tcSea+OkRHT9xN51CbCbyqr0sZZRaCLjcInazsYpABGH2b9lFtRGxJH8mSbCdrihpGuBD
X-Gm-Gg: ASbGncttfgMUwD13mtruJB0JjwT2HYyYoJIvz/E498r9Gu91rHfp6x2PlfQEvKY/AM4
	VgIo2aSLuNK6zw8SAr5wRkgzTbC8DF/QMF/uCEOUjfkOzCvvpKyn4AeaHzRgJ68II/EelCNhotR
	cguTFv9TFcwu0liL08NDymUeyO4314bSvjlqAjjEKRkgFkLjzJO9ydHJEnc2fx63ZhJQuLExe2E
	5s27sh7b1bptP9TbhiprUFbn8w8Jg2RlHutllSV37hYM0ttie4cf4ULuhPC5DIaP4EPvcVv6mE1
	obqlDPZ9pmgh1elXsFQkCcZg0yhHeMHSXqf9ImN3srlsjdWIM3qFI6AGhaOqrJs1s/IKEO3SrWf
	IL3FlwdzjaRj6eRKeJf+YC2xfQbiDLiLy2D4FjJMp5mAgZwZ8hNcxICe5I/H9qpAPNwf3YJcuB3
	o3xNOKJf3noPLdJ2GhB4SntzNY+0Q=
X-Received: by 2002:a05:600c:3e8d:b0:475:dd89:ac7 with SMTP id 5b1f17b1804b1-47717df7ef0mr2442655e9.1.1761582301722;
        Mon, 27 Oct 2025 09:25:01 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IEcpfk6BDA32rXrYsquQ4cz9qgC2WRauB7zTOhtVhTNHZoQZbKrXzlM5wPgRBa5cEga5fDZQQ==
X-Received: by 2002:a05:600c:3e8d:b0:475:dd89:ac7 with SMTP id 5b1f17b1804b1-47717df7ef0mr2442105e9.1.1761582301286;
        Mon, 27 Oct 2025 09:25:01 -0700 (PDT)
Message-ID: <14030818-52e7-41eb-8ad7-602f3476d448@redhat.com>
Date: Mon, 27 Oct 2025 17:24:57 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 06/13] mm: introduce generic lazy_mmu helpers
To: Kevin Brodsky <kevin.brodsky@arm.com>, linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org, Alexander Gordeev <agordeev@linux.ibm.com>,
 Andreas Larsson <andreas@gaisler.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, Borislav Petkov
 <bp@alien8.de>, Catalin Marinas <catalin.marinas@arm.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 Dave Hansen <dave.hansen@linux.intel.com>,
 "David S. Miller" <davem@davemloft.net>, "H. Peter Anvin" <hpa@zytor.com>,
 Ingo Molnar <mingo@redhat.com>, Jann Horn <jannh@google.com>,
 Juergen Gross <jgross@suse.com>, "Liam R. Howlett"
 <Liam.Howlett@oracle.com>, Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>, Michal Hocko <mhocko@suse.com>,
 Mike Rapoport <rppt@kernel.org>, Nicholas Piggin <npiggin@gmail.com>,
 Peter Zijlstra <peterz@infradead.org>, Ryan Roberts <ryan.roberts@arm.com>,
 Suren Baghdasaryan <surenb@google.com>, Thomas Gleixner
 <tglx@linutronix.de>, Vlastimil Babka <vbabka@suse.cz>,
 Will Deacon <will@kernel.org>, Yeoreum Yun <yeoreum.yun@arm.com>,
 linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org,
 sparclinux@vger.kernel.org, xen-devel@lists.xenproject.org, x86@kernel.org
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
 <20251015082727.2395128-7-kevin.brodsky@arm.com>
 <73b274b7-f419-4e2e-8620-d557bac30dc2@redhat.com>
 <390e41ae-4b66-40c1-935f-7a1794ba0b71@arm.com>
 <f8d22ae0-4e36-4537-903f-28164c850fdb@redhat.com>
 <28bf77c0-3aa9-4c41-aa2b-368321355dbb@arm.com>
From: David Hildenbrand <david@redhat.com>
Autocrypt: addr=david@redhat.com; keydata=
 xsFNBFXLn5EBEAC+zYvAFJxCBY9Tr1xZgcESmxVNI/0ffzE/ZQOiHJl6mGkmA1R7/uUpiCjJ
 dBrn+lhhOYjjNefFQou6478faXE6o2AhmebqT4KiQoUQFV4R7y1KMEKoSyy8hQaK1umALTdL
 QZLQMzNE74ap+GDK0wnacPQFpcG1AE9RMq3aeErY5tujekBS32jfC/7AnH7I0v1v1TbbK3Gp
 XNeiN4QroO+5qaSr0ID2sz5jtBLRb15RMre27E1ImpaIv2Jw8NJgW0k/D1RyKCwaTsgRdwuK
 Kx/Y91XuSBdz0uOyU/S8kM1+ag0wvsGlpBVxRR/xw/E8M7TEwuCZQArqqTCmkG6HGcXFT0V9
 PXFNNgV5jXMQRwU0O/ztJIQqsE5LsUomE//bLwzj9IVsaQpKDqW6TAPjcdBDPLHvriq7kGjt
 WhVhdl0qEYB8lkBEU7V2Yb+SYhmhpDrti9Fq1EsmhiHSkxJcGREoMK/63r9WLZYI3+4W2rAc
 UucZa4OT27U5ZISjNg3Ev0rxU5UH2/pT4wJCfxwocmqaRr6UYmrtZmND89X0KigoFD/XSeVv
 jwBRNjPAubK9/k5NoRrYqztM9W6sJqrH8+UWZ1Idd/DdmogJh0gNC0+N42Za9yBRURfIdKSb
 B3JfpUqcWwE7vUaYrHG1nw54pLUoPG6sAA7Mehl3nd4pZUALHwARAQABzSREYXZpZCBIaWxk
 ZW5icmFuZCA8ZGF2aWRAcmVkaGF0LmNvbT7CwZoEEwEIAEQCGwMCF4ACGQEFCwkIBwICIgIG
 FQoJCAsCBBYCAwECHgcWIQQb2cqtc1xMOkYN/MpN3hD3AP+DWgUCaJzangUJJlgIpAAKCRBN
 3hD3AP+DWhAxD/9wcL0A+2rtaAmutaKTfxhTP0b4AAp1r/eLxjrbfbCCmh4pqzBhmSX/4z11
 opn2KqcOsueRF1t2ENLOWzQu3Roiny2HOU7DajqB4dm1BVMaXQya5ae2ghzlJN9SIoopTWlR
 0Af3hPj5E2PYvQhlcqeoehKlBo9rROJv/rjmr2x0yOM8qeTroH/ZzNlCtJ56AsE6Tvl+r7cW
 3x7/Jq5WvWeudKrhFh7/yQ7eRvHCjd9bBrZTlgAfiHmX9AnCCPRPpNGNedV9Yty2Jnxhfmbv
 Pw37LA/jef8zlCDyUh2KCU1xVEOWqg15o1RtTyGV1nXV2O/mfuQJud5vIgzBvHhypc3p6VZJ
 lEf8YmT+Ol5P7SfCs5/uGdWUYQEMqOlg6w9R4Pe8d+mk8KGvfE9/zTwGg0nRgKqlQXrWRERv
 cuEwQbridlPAoQHrFWtwpgYMXx2TaZ3sihcIPo9uU5eBs0rf4mOERY75SK+Ekayv2ucTfjxr
 Kf014py2aoRJHuvy85ee/zIyLmve5hngZTTe3Wg3TInT9UTFzTPhItam6dZ1xqdTGHZYGU0O
 otRHcwLGt470grdiob6PfVTXoHlBvkWRadMhSuG4RORCDpq89vu5QralFNIf3EysNohoFy2A
 LYg2/D53xbU/aa4DDzBb5b1Rkg/udO1gZocVQWrDh6I2K3+cCs7BTQRVy5+RARAA59fefSDR
 9nMGCb9LbMX+TFAoIQo/wgP5XPyzLYakO+94GrgfZjfhdaxPXMsl2+o8jhp/hlIzG56taNdt
 VZtPp3ih1AgbR8rHgXw1xwOpuAd5lE1qNd54ndHuADO9a9A0vPimIes78Hi1/yy+ZEEvRkHk
 /kDa6F3AtTc1m4rbbOk2fiKzzsE9YXweFjQvl9p+AMw6qd/iC4lUk9g0+FQXNdRs+o4o6Qvy
 iOQJfGQ4UcBuOy1IrkJrd8qq5jet1fcM2j4QvsW8CLDWZS1L7kZ5gT5EycMKxUWb8LuRjxzZ
 3QY1aQH2kkzn6acigU3HLtgFyV1gBNV44ehjgvJpRY2cC8VhanTx0dZ9mj1YKIky5N+C0f21
 zvntBqcxV0+3p8MrxRRcgEtDZNav+xAoT3G0W4SahAaUTWXpsZoOecwtxi74CyneQNPTDjNg
 azHmvpdBVEfj7k3p4dmJp5i0U66Onmf6mMFpArvBRSMOKU9DlAzMi4IvhiNWjKVaIE2Se9BY
 FdKVAJaZq85P2y20ZBd08ILnKcj7XKZkLU5FkoA0udEBvQ0f9QLNyyy3DZMCQWcwRuj1m73D
 sq8DEFBdZ5eEkj1dCyx+t/ga6x2rHyc8Sl86oK1tvAkwBNsfKou3v+jP/l14a7DGBvrmlYjO
 59o3t6inu6H7pt7OL6u6BQj7DoMAEQEAAcLBfAQYAQgAJgIbDBYhBBvZyq1zXEw6Rg38yk3e
 EPcA/4NaBQJonNqrBQkmWAihAAoJEE3eEPcA/4NaKtMQALAJ8PzprBEXbXcEXwDKQu+P/vts
 IfUb1UNMfMV76BicGa5NCZnJNQASDP/+bFg6O3gx5NbhHHPeaWz/VxlOmYHokHodOvtL0WCC
 8A5PEP8tOk6029Z+J+xUcMrJClNVFpzVvOpb1lCbhjwAV465Hy+NUSbbUiRxdzNQtLtgZzOV
 Zw7jxUCs4UUZLQTCuBpFgb15bBxYZ/BL9MbzxPxvfUQIPbnzQMcqtpUs21CMK2PdfCh5c4gS
 sDci6D5/ZIBw94UQWmGpM/O1ilGXde2ZzzGYl64glmccD8e87OnEgKnH3FbnJnT4iJchtSvx
 yJNi1+t0+qDti4m88+/9IuPqCKb6Stl+s2dnLtJNrjXBGJtsQG/sRpqsJz5x1/2nPJSRMsx9
 5YfqbdrJSOFXDzZ8/r82HgQEtUvlSXNaXCa95ez0UkOG7+bDm2b3s0XahBQeLVCH0mw3RAQg
 r7xDAYKIrAwfHHmMTnBQDPJwVqxJjVNr7yBic4yfzVWGCGNE4DnOW0vcIeoyhy9vnIa3w1uZ
 3iyY2Nsd7JxfKu1PRhCGwXzRw5TlfEsoRI7V9A8isUCoqE2Dzh3FvYHVeX4Us+bRL/oqareJ
 CIFqgYMyvHj7Q06kTKmauOe4Nf0l0qEkIuIzfoLJ3qr5UyXc2hLtWyT9Ir+lYlX9efqh7mOY
 qIws/H2t
In-Reply-To: <28bf77c0-3aa9-4c41-aa2b-368321355dbb@arm.com>
X-Mimecast-Spam-Score: 0
X-Mimecast-MFC-PROC-ID: HvqXkeI55mBm2hTCGyBHS5OOY-SPQIdEy1-dfgyh8VI_1761582302
X-Mimecast-Originator: redhat.com
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 24.10.25 16:32, Kevin Brodsky wrote:
> On 24/10/2025 15:27, David Hildenbrand wrote:
>> On 24.10.25 14:13, Kevin Brodsky wrote:
>>> On 23/10/2025 21:52, David Hildenbrand wrote:
>>>> On 15.10.25 10:27, Kevin Brodsky wrote:
>>>>> [...]
>>>>>
>>>>> * madvise_*_pte_range() call arch_leave() in multiple paths, some
>>>>>  Â Â Â  followed by an immediate exit/rescheduling and some followed by a
>>>>>  Â Â Â  conditional exit. These functions assume that they are called
>>>>>  Â Â Â  with lazy MMU disabled and we cannot simply use pause()/resume()
>>>>>  Â Â Â  to address that. This patch leaves the situation unchanged by
>>>>>  Â Â Â  calling enable()/disable() in all cases.
>>>>
>>>> I'm confused, the function simply does
>>>>
>>>> (a) enables lazy mmu
>>>> (b) does something on the page table
>>>> (c) disables lazy mmu
>>>> (d) does something expensive (split folio -> take sleepable locks,
>>>>  Â Â Â Â  flushes tlb)
>>>> (e) go to (a)
>>>
>>> That step is conditional: we exit right away if pte_offset_map_lock()
>>> fails. The fundamental issue is that pause() must always be matched with
>>> resume(), but as those functions look today there is no situation where
>>> a pause() would always be matched with a resume().
>>
>> We have matches enable/disable, so my question is rather "why" you are
>> even thinking about using pause/resume?
>>
>> What would be the benefit of that? If there is no benefit then just
>> drop this from the patch description as it's more confusing than just
>> ... doing what the existing code does :)
> 
> Ah sorry I misunderstood, I guess you originally meant: why would we use
> pause()/resume()?
> 
> The issue is the one I mentioned in the commit message: using
> enable()/disable(), we assume that the functions are called with lazy
> MMU mode is disabled. Consider:
> 
>  Â  lazy_mmu_mode_enable()
>  Â  madvise_cold_or_pageout_pte_range():
>  Â  Â Â lazy_mmu_mode_enable()
>  Â  Â  ...
>  Â  Â  if (need_resched()) {
>  Â  Â  Â Â lazy_mmu_mode_disable()
>  Â  Â  Â  cond_resched() // lazy MMU still enabled
>  Â  Â  }
> 
> This will explode on architectures that do not allow sleeping while in
> lazy MMU mode. I'm not saying this is an actual problem - I don't see
> why those functions would be called with lazy MMU mode enabled. But it
> does go against the notion that nesting works everywhere.

I would tackle it from a different direction: if code calls with lazy 
MMU enabled into random other code that might sleep, that caller would 
be wrong.

It's not about changing functions like this to use pause/resume.

Maybe the rule is simple: if you enable the lazy MMU, don't call any 
functions that might sleep.

Maybe we could support that later by handling it before/after sleeping, 
if ever required?

Or am I missing something regarding your point on pause()/resume()?

-- 
Cheers

David / dhildenb



From xen-devel-bounces@lists.xenproject.org Mon Oct 27 17:26:51 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Oct 2025 17:26:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151699.1482261 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDQzS-0002t5-RY; Mon, 27 Oct 2025 17:26:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151699.1482261; Mon, 27 Oct 2025 17:26:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDQzS-0002su-O0; Mon, 27 Oct 2025 17:26:42 +0000
Received: by outflank-mailman (input) for mailman id 1151699;
 Mon, 27 Oct 2025 17:26:40 +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
 <SRS0=2wYw=5E=bounce.vates.tech=bounce-md_30504962.68ffab4a.v1-e398a002f6d4460abb9430a6f194f0fa@srs-se1.protection.inumbo.net>)
 id 1vDQzQ-0002R5-Qb
 for xen-devel@lists.xenproject.org; Mon, 27 Oct 2025 17:26:40 +0000
Received: from mail132-22.atl131.mandrillapp.com
 (mail132-22.atl131.mandrillapp.com [198.2.132.22])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 162cf369-b35a-11f0-980a-7dc792cee155;
 Mon, 27 Oct 2025 18:26:35 +0100 (CET)
Received: from pmta09.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail132-22.atl131.mandrillapp.com (Mailchimp) with ESMTP id
 4cwL5k0J97zGlswD6
 for <xen-devel@lists.xenproject.org>; Mon, 27 Oct 2025 17:26:34 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 e398a002f6d4460abb9430a6f194f0fa; Mon, 27 Oct 2025 17:26:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 162cf369-b35a-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1761585994; x=1761855994;
	bh=cXuN84KuaZFRe6aRXpvY17AsdlfQZOrMM+Ab77LOAIc=;
	h=From:Subject:To:Cc:Message-Id:In-Reply-To:References:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=eQ/8YMJk7r4Q/ctdhb4rkSnYx5u8VhqGPdh9/nO7h0HwdrfuxuKfAK7gR5v98Kit1
	 lA9uyt+16WOtHK/mkJFe7ND/OBwv8GgJ38XZ6nhknszwREwonxo/VLN7Pxdssf0M3G
	 27c1TMSD0KnxrhwFG9i5TfD1aBpe2bx9mBEuqnZj3CCmohpJUSD7VG7fpm0SSaLpwT
	 BDCs793tjs2Yylww0URlle5YmpctMLO+8AWQxr+8el5CQ4PFhoF9HXcr3QZ1+cc4Sq
	 4SkESlIqJXmiuFYJuOzPSCPbP5axUqTaK5lHgDWwzYDfSVB9ofa8ot14vYND6T73FZ
	 1iYfdm3tMzJIg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1761585994; x=1761846494; i=teddy.astie@vates.tech;
	bh=cXuN84KuaZFRe6aRXpvY17AsdlfQZOrMM+Ab77LOAIc=;
	h=From:Subject:To:Cc:Message-Id:In-Reply-To:References:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=GaK9Y2iXiuz8m9vUZUouueuiCSdLyei80/nQmg7hSvtAVLuqAtwul6kax+8KLxyJ2
	 dxuRkPaxXbiyScIsA/4Y+E6b8VaKkfSoTOoH29blkvolY+I/DJQmezGfuOTuq1kYcb
	 nuRfjA3zjRewNslX+FFHlqurhvGFPhvziTbpG2PgTHiYA5dJy/+wGVtC2492/23iOM
	 ENn+IUhzX7h132wCCMXxEDCid51BwXKOllmSodtT5BZ9Fpc2JKbJ+zqQVYzpaNN8u/
	 j3oJ+LT/mI0PmK/px1ZMWrTFHa6E9MmN8cvlVPzmoLCkQD24ztgvuP/UAU10dCYkHM
	 L1uruMFtWOuSQ==
From: "Teddy Astie" <teddy.astie@vates.tech>
Subject: =?utf-8?Q?[RFC=20PATCH=20for-4.22=201/2]=20x86/platform:=20Expose=20DTS=20sensors=20MSR?=
X-Mailer: git-send-email 2.51.1
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1761585993124
To: xen-devel@lists.xenproject.org
Cc: "Teddy Astie" <teddy.astie@vates.tech>, "Jan Beulich" <jbeulich@suse.com>, "Andrew Cooper" <andrew.cooper3@citrix.com>, "=?utf-8?Q?Roger=20Pau=20Monn=C3=A9?=" <roger.pau@citrix.com>
Message-Id: <48b15617f248852560a0e0674eea65d25330c605.1761585640.git.teddy.astie@vates.tech>
In-Reply-To: <cover.1761585640.git.teddy.astie@vates.tech>
References: <cover.1761585640.git.teddy.astie@vates.tech>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.e398a002f6d4460abb9430a6f194f0fa?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20251027:md
Date: Mon, 27 Oct 2025 17:26:34 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

Intel provide CPU sensors through "DTS" MSRs. As there MSR are core-specific
(or package-specific), we can't reliably fetch them from Dom0 directly.
Expose these MSR (if supported) through XENPF_resource_op so that it is
accessible through hypercall.

Suggested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
---
I'm not a fan of doing a inline cpuid check here, but I don't have a
better approach in mind.

 xen/arch/x86/include/asm/msr-index.h | 2 ++
 xen/arch/x86/platform_hypercall.c    | 6 ++++++
 2 files changed, 8 insertions(+)

diff --git a/xen/arch/x86/include/asm/msr-index.h b/xen/arch/x86/include/asm/msr-index.h
index df52587c85..98dda629e5 100644
--- a/xen/arch/x86/include/asm/msr-index.h
+++ b/xen/arch/x86/include/asm/msr-index.h
@@ -510,6 +510,8 @@
 #define MSR_IA32_THERM_INTERRUPT	0x0000019b
 #define MSR_IA32_THERM_STATUS		0x0000019c
 #define MSR_IA32_MISC_ENABLE		0x000001a0
+#define MSR_IA32_TEMPERATURE_TARGET   0x000001a2
+#define MSR_IA32_PACKAGE_THERM_STATUS 0x000001b1
 #define MSR_IA32_MISC_ENABLE_FAST_STRING  (1<<0)
 #define MSR_IA32_MISC_ENABLE_PERF_AVAIL   (1<<7)
 #define MSR_IA32_MISC_ENABLE_BTS_UNAVAIL  (1<<11)
diff --git a/xen/arch/x86/platform_hypercall.c b/xen/arch/x86/platform_hypercall.c
index 79bb99e0b6..3190803cc2 100644
--- a/xen/arch/x86/platform_hypercall.c
+++ b/xen/arch/x86/platform_hypercall.c
@@ -86,6 +86,12 @@ static bool msr_read_allowed(unsigned int msr)
 
     case MSR_MCU_OPT_CTRL:
         return cpu_has_srbds_ctrl;
+    
+    case MSR_IA32_TEMPERATURE_TARGET:
+    case MSR_IA32_THERM_STATUS:
+    case MSR_IA32_PACKAGE_THERM_STATUS:
+        return boot_cpu_data.x86_vendor == X86_VENDOR_INTEL &&
+            (cpuid_eax(0x6) & 0x1); /* Digital temperature sensor */
     }
 
     if ( ppin_msr && msr == ppin_msr )
-- 
2.51.1



--
Teddy Astie | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech



From xen-devel-bounces@lists.xenproject.org Mon Oct 27 17:26:51 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Oct 2025 17:26:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151697.1482241 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDQzP-0002RE-Dv; Mon, 27 Oct 2025 17:26:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151697.1482241; Mon, 27 Oct 2025 17:26:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDQzP-0002R7-AT; Mon, 27 Oct 2025 17:26:39 +0000
Received: by outflank-mailman (input) for mailman id 1151697;
 Mon, 27 Oct 2025 17:26: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
 <SRS0=wjEP=5E=bounce.vates.tech=bounce-md_30504962.68ffab49.v1-5b31a19e18894c109ce18d0fd42be2bb@srs-se1.protection.inumbo.net>)
 id 1vDQzN-0002Qy-Qc
 for xen-devel@lists.xenproject.org; Mon, 27 Oct 2025 17:26:38 +0000
Received: from mail132-22.atl131.mandrillapp.com
 (mail132-22.atl131.mandrillapp.com [198.2.132.22])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1634a743-b35a-11f0-9d16-b5c5bf9af7f9;
 Mon, 27 Oct 2025 18:26:35 +0100 (CET)
Received: from pmta09.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail132-22.atl131.mandrillapp.com (Mailchimp) with ESMTP id
 4cwL5j6jF6zGlsvQD
 for <xen-devel@lists.xenproject.org>; Mon, 27 Oct 2025 17:26:33 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 5b31a19e18894c109ce18d0fd42be2bb; Mon, 27 Oct 2025 17:26:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1634a743-b35a-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1761585993; x=1761855993;
	bh=akIZjurkfx4umR6HXIbRiCq0LksKkl71LpPu/xGEBqY=;
	h=From:Subject:To:Cc:Message-Id:In-Reply-To:References:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=aszSUeVZFL8Hd9lyl7Nral3H5btfCkdY2jxgxU0ppK2G1ew2C8GNE+revuGEhc96b
	 OWIx5Zj0AHhnQI/EHbah6X7+vcvxzRKooBGQBb9CxuWBLEX3Us6J80U79v6w0xv/dy
	 XnSjtA4rzHlw5PjRaX68eql8rcs1xe6lgN0Q/iYN7kSqqLF6wldT3974j9AOtIKy8I
	 NfdTbUA3x5C0LtBpBXDjxvs9ZBsQ1U3jiRBDI1uQ39Zcfl+VOWZJ8IGvTlPPTyu6FG
	 Jj2TZZ57QRvMeR7qNO7TtV5pc8e6yWjrLPidHBRAHxQXoEOiXZXFIA7RzrddITMA8N
	 BQmIR9XLiZt9g==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1761585993; x=1761846493; i=teddy.astie@vates.tech;
	bh=akIZjurkfx4umR6HXIbRiCq0LksKkl71LpPu/xGEBqY=;
	h=From:Subject:To:Cc:Message-Id:In-Reply-To:References:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=cwi1khAOZLDIHFRxADBKLFOZDZDwDNNc070ME6l6HeJ6/cTEFUQk9H5qXcLE2IyYF
	 lznS2qfCBqhlwKz6fv41fqBC0+no+3rwkUpZnmZcXiSL0A+ILDTRYREmDCkYFhYeJ+
	 19D8oiuacKt0+ENIM4TohPc5NSg2bo10+k5Q63pppEql9FZa8t76ijdi1hK+K1jO6I
	 aYRE9bcOk2R+yljtokoUIx6QjJl8B2ACbNVal90TJ1G6vztIWQZR9FGtKTa4reY//K
	 FvMTOMzDjGS7mSpgxfCKngptzUQfHW9uu7dx0WkM5f/mNcijjffu/qRZWm3FX7tyIG
	 M/oxHc5hWSXzg==
From: "Teddy Astie" <teddy.astie@vates.tech>
Subject: =?utf-8?Q?[RFC=20PATCH=20for-4.22=202/2]=20tools:=20Introduce=20xen-inteltemp=20tool?=
X-Mailer: git-send-email 2.51.1
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1761585993392
To: xen-devel@lists.xenproject.org
Cc: "Teddy Astie" <teddy.astie@vates.tech>, "Anthony PERARD" <anthony.perard@vates.tech>
Message-Id: <acb887d5df692aa143cb2b509dd362b7b46c158e.1761585640.git.teddy.astie@vates.tech>
In-Reply-To: <cover.1761585640.git.teddy.astie@vates.tech>
References: <cover.1761585640.git.teddy.astie@vates.tech>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.5b31a19e18894c109ce18d0fd42be2bb?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20251027:md
Date: Mon, 27 Oct 2025 17:26:33 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Introduce a new tool to fetch Intel CPU temperatures through the
Intel DTS interface using XENPF_resource_op hypercall.

Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
---
 tools/misc/.gitignore      |  1 +
 tools/misc/Makefile        |  4 ++
 tools/misc/xen-inteltemp.c | 98 ++++++++++++++++++++++++++++++++++++++
 3 files changed, 103 insertions(+)
 create mode 100644 tools/misc/xen-inteltemp.c

diff --git a/tools/misc/.gitignore b/tools/misc/.gitignore
index 28af46280f..65048eb901 100644
--- a/tools/misc/.gitignore
+++ b/tools/misc/.gitignore
@@ -5,6 +5,7 @@ xen-diag
 xen-hptool
 xen-hvmcrash
 xen-hvmctx
+xen-inteltemp
 xen-livepatch
 xen-lowmemd
 xen-mceinj
diff --git a/tools/misc/Makefile b/tools/misc/Makefile
index c26e544e83..6498b47ec0 100644
--- a/tools/misc/Makefile
+++ b/tools/misc/Makefile
@@ -25,6 +25,7 @@ INSTALL_SBIN-$(CONFIG_X86)     +=3D xen-memshare
 INSTALL_SBIN-$(CONFIG_X86)     +=3D xen-mfndump
 INSTALL_SBIN-$(CONFIG_X86)     +=3D xen-ucode
 INSTALL_SBIN-$(CONFIG_X86)     +=3D xen-vmtrace
+INSTALL_SBIN-$(CONFIG_X86)     +=3D xen-inteltemp
 INSTALL_SBIN                   +=3D xencov
 INSTALL_SBIN                   +=3D xenhypfs
 INSTALL_SBIN                   +=3D xenlockprof
@@ -89,6 +90,9 @@ xen-memshare: xen-memshare.o
 xen-vmtrace: xen-vmtrace.o
 =09$(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenctrl) $(LDLIBS_libxenforeignme=
mory) $(APPEND_LDFLAGS)
 
+xen-inteltemp: xen-inteltemp.o
+=09$(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenctrl) $(APPEND_LDFLAGS)
+
 xen-mceinj: xen-mceinj.o
 =09$(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenctrl) $(LDLIBS_libxenguest) $(=
LDLIBS_libxenstore) $(APPEND_LDFLAGS)
 
diff --git a/tools/misc/xen-inteltemp.c b/tools/misc/xen-inteltemp.c
new file mode 100644
index 0000000000..624c74ca7f
--- /dev/null
+++ b/tools/misc/xen-inteltemp.c
@@ -0,0 +1,98 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * xen-inteltemp.c
+ *
+ * Get the CPU temperature of Intel processors.
+ *
+ * Copyright 2025 Teddy Astie <teddy.astie@vates.tech>
+ */
+
+#include <stdio.h>
+#include <errno.h>
+#include <xenctrl.h>
+
+#define MSR_IA32_THERM_STATUS         0x0000019c
+#define MSR_IA32_TEMPERATURE_TARGET   0x000001a2
+#define MSR_IA32_PACKAGE_THERM_STATUS 0x000001b1
+
+int fetch_dts_temp(xc_interface *xch, uint32_t cpu, bool package, int *tem=
p)
+{
+    xc_resource_entry_t entries[2] =3D {
+        (xc_resource_entry_t){
+            .idx =3D package ? MSR_IA32_PACKAGE_THERM_STATUS : MSR_IA32_TH=
ERM_STATUS
+        },
+        (xc_resource_entry_t){ .idx =3D MSR_IA32_TEMPERATURE_TARGET },
+    };
+    struct xc_resource_op ops =3D {
+        .cpu =3D cpu,
+        .entries =3D entries,
+        .nr_entries =3D 2,
+    };
+    int tjmax;
+
+    int ret =3D xc_resource_op(xch, 1, &ops);
+
+    if ( ret <=3D 0 )
+        /* This CPU isn't online or can't query this MSR */
+        return ret ?: -EOPNOTSUPP;
+
+    if ( ret =3D=3D 2 )
+        tjmax =3D (entries[1].val >> 16) & 0xff;
+    else
+    {
+        /*
+         * The CPU doesn't support MSR_IA32_TEMPERATURE_TARGET, we assume =
it's 100 which
+         * is correct aside a few selected Atom CPUs. Check coretemp sourc=
e code for more
+         * information.
+         */
+        fprintf(stderr, "CPU%d doesn't support MSR_IA32_TEMPERATURE_TARGET=
, assume "
+               "tjmax=3D100=C2=B0C, readings may be incorrect\n", cpu);
+        tjmax =3D 100;
+    }
+    
+    *temp =3D tjmax - ((entries[0].val >> 16) & 0xff);
+    return 0;
+}
+
+int main(void)
+{
+    int rc =3D 0, temp, cpu, socket;
+    bool has_data =3D false;
+    xc_interface *xch =3D xc_interface_open(0, 0, 0);
+    xc_physinfo_t info;
+
+    if ( (rc =3D xc_physinfo(xch, &info)) < 0 )
+    {
+        perror("Getting physinfo failed");
+        return rc;
+    }
+
+    /* Per socket measurement */
+    for ( socket =3D 0, cpu =3D 0;
+          cpu < (info.max_cpu_id + 1);
+          socket++, cpu +=3D info.cores_per_socket * info.threads_per_core=
 )
+    {
+        if ( !fetch_dts_temp(xch, cpu, true, &temp) )
+        {
+            has_data =3D true;
+            printf("Package%d: %d=C2=B0C\n", socket, temp);
+        }
+    }
+
+    printf("\n");
+
+    for ( cpu =3D 0; cpu < (info.max_cpu_id + 1); cpu +=3D info.threads_pe=
r_core )
+    {
+        if ( fetch_dts_temp(xch, cpu, false, &temp) )
+            continue;
+
+        has_data =3D true;
+        printf("CPU%d: %d=C2=B0C\n", cpu, temp);
+    }
+
+    if ( !has_data )
+        printf("No data\n");
+
+    xc_interface_close(xch);
+    return 0;
+}
\ No newline at end of file
-- 
2.51.1



--
Teddy Astie | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech




From xen-devel-bounces@lists.xenproject.org Mon Oct 27 17:26:51 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Oct 2025 17:26:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151698.1482251 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDQzR-0002er-Je; Mon, 27 Oct 2025 17:26:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151698.1482251; Mon, 27 Oct 2025 17:26:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDQzR-0002ei-Gy; Mon, 27 Oct 2025 17:26:41 +0000
Received: by outflank-mailman (input) for mailman id 1151698;
 Mon, 27 Oct 2025 17:26:39 +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
 <SRS0=ym1g=5E=bounce.vates.tech=bounce-md_30504962.68ffab49.v1-067f4abfdae24386913dabdb34f3bf1b@srs-se1.protection.inumbo.net>)
 id 1vDQzP-0002R5-SL
 for xen-devel@lists.xenproject.org; Mon, 27 Oct 2025 17:26:39 +0000
Received: from mail187-33.suw11.mandrillapp.com
 (mail187-33.suw11.mandrillapp.com [198.2.187.33])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 167b652c-b35a-11f0-980a-7dc792cee155;
 Mon, 27 Oct 2025 18:26:36 +0100 (CET)
Received: from pmta09.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail187-33.suw11.mandrillapp.com (Mailchimp) with ESMTP id
 4cwL5j5ldfzBsThqt
 for <xen-devel@lists.xenproject.org>; Mon, 27 Oct 2025 17:26:33 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 067f4abfdae24386913dabdb34f3bf1b; Mon, 27 Oct 2025 17:26:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 167b652c-b35a-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1761585993; x=1761855993;
	bh=1nrAjCCsJDTL8+q5w1d+Usd1KVZTaIlpHPrgdwOze5k=;
	h=From:Subject:To:Cc:Message-Id:Feedback-ID:Date:MIME-Version:
	 Content-Type:Content-Transfer-Encoding:CC:Date:Subject:From;
	b=dmwW/0ckmNdFrOQJ1Di4/ofnTuPhjTueOQRmuYLMTNox+LIQVyAUBEvzftmy9t4n5
	 UHmn1/xAaXhMokB7ISB8o5abL442qKtPxjfVnTWr3vs2Jnxl7njhnsMFZlt7FhF5qZ
	 wRIDnm/6AKAVOCu9yjx+W0lQ6JH4RxbbRZT16AcZjOQy9DeHXsd6U1+mGfaeFx65H/
	 qc2U9I8g6P12KCr8ENbA+sjNNTGpkUCqOGmzokczlPfxRlUYDaSS6FJp3vDwdqq95U
	 87JCTgeahUx5DwQc9bLVAJwCEuhlIN2YBG9ovImkuYuVi1Bsm767mm2M+LnobIJVfv
	 Yq4cW8A+zzz3A==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1761585993; x=1761846493; i=teddy.astie@vates.tech;
	bh=1nrAjCCsJDTL8+q5w1d+Usd1KVZTaIlpHPrgdwOze5k=;
	h=From:Subject:To:Cc:Message-Id:Feedback-ID:Date:MIME-Version:
	 Content-Type:Content-Transfer-Encoding:CC:Date:Subject:From;
	b=zTOO1gcmBx6+U9IeXZVIiFt27yfeZglQ/JJ4DO3+VFUovx/YSrN1kGc20e8DJGZRn
	 VmE8y1JGnjHUTRMkwYL/LVy5u7SLXmVpcJmSlh0YD1hdHoNtqnVtt/ZQ+1MFztG70f
	 zs7hzc7Wm0y0ptl1/07YefEN9MEG1wtBOiqI+lCgAVZrl8zbumJcm013K2hd+OrIZI
	 Zfp49s+dUeddVMqTBapN+rMeEeZaH2maynSwAxX6/VE3Z1YqK9V1aun0GB45DjW3Bh
	 pEDnnFeRu7Tf5lFy8+5scXt6QiNYmqFe9SDZ+1gymmz+eoMvwrHfU+ZaXTAPONoS7O
	 Gi2qoWLfaJG4A==
From: "Teddy Astie" <teddy.astie@vates.tech>
Subject: =?utf-8?Q?[RFC=20PATCH=20for-4.22=200/2]=20Support=20for=20Intel=20temperature=20sensors=20(DTS)?=
X-Mailer: git-send-email 2.51.1
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1761585992748
To: xen-devel@lists.xenproject.org
Cc: "Teddy Astie" <teddy.astie@vates.tech>, "Jan Beulich" <jbeulich@suse.com>, "Andrew Cooper" <andrew.cooper3@citrix.com>, "=?utf-8?Q?Roger=20Pau=20Monn=C3=A9?=" <roger.pau@citrix.com>, "Anthony PERARD" <anthony.perard@vates.tech>
Message-Id: <cover.1761585640.git.teddy.astie@vates.tech>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.067f4abfdae24386913dabdb34f3bf1b?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20251027:md
Date: Mon, 27 Oct 2025 17:26:33 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

The idea here is to expose the DTS sensors through XENPF_resource_op
and introduce a new dedicated tool to expose it for the user.

Teddy Astie (2):
  x86/platform: Expose DTS sensors MSR
  tools: Introduce xen-inteltemp tool

 tools/misc/.gitignore                |  1 +
 tools/misc/Makefile                  |  4 ++
 tools/misc/xen-inteltemp.c           | 98 ++++++++++++++++++++++++++++
 xen/arch/x86/include/asm/msr-index.h |  2 +
 xen/arch/x86/platform_hypercall.c    |  6 ++
 5 files changed, 111 insertions(+)
 create mode 100644 tools/misc/xen-inteltemp.c

-- 
2.51.1



--
Teddy Astie | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech



From xen-devel-bounces@lists.xenproject.org Mon Oct 27 18:52:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Oct 2025 18:52:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151734.1482270 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDSJv-0006IG-Rj; Mon, 27 Oct 2025 18:51:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151734.1482270; Mon, 27 Oct 2025 18:51:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDSJv-0006I9-OL; Mon, 27 Oct 2025 18:51:55 +0000
Received: by outflank-mailman (input) for mailman id 1151734;
 Mon, 27 Oct 2025 18:51:54 +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
 <SRS0=de0O=5E=epam.com=dmytro_prokopchuk1@srs-se1.protection.inumbo.net>)
 id 1vDSJu-0006I1-40
 for xen-devel@lists.xenproject.org; Mon, 27 Oct 2025 18:51:54 +0000
Received: from OSPPR02CU001.outbound.protection.outlook.com
 (mail-norwayeastazlp170130007.outbound.protection.outlook.com
 [2a01:111:f403:c20f::7])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ff960cf5-b365-11f0-9d16-b5c5bf9af7f9;
 Mon, 27 Oct 2025 19:51:52 +0100 (CET)
Received: from DB7PR03MB4140.eurprd03.prod.outlook.com (2603:10a6:5:34::10) by
 PR3PR03MB6650.eurprd03.prod.outlook.com (2603:10a6:102:7d::15) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9253.18; Mon, 27 Oct 2025 18:51:48 +0000
Received: from DB7PR03MB4140.eurprd03.prod.outlook.com
 ([fe80::e16e:b655:974f:43f3]) by DB7PR03MB4140.eurprd03.prod.outlook.com
 ([fe80::e16e:b655:974f:43f3%4]) with mapi id 15.20.9253.017; Mon, 27 Oct 2025
 18:51:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ff960cf5-b365-11f0-9d16-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=isIxUWHXJUGe0VuRwEDh9ahLeOPb+CuyMLYBPkKUrJIBB3aPdFCjRnq/r64+t3yqI3G/5HvLqpqQc2HylN8ihXMgnUahYyb4ic8YwQ4lPW8JA9oYFw1qlo5TxIPa7VNXBe+5MqI8l0ogIYTyTO8XwX/ww2h66o7epY1JMCT4ok1AARp7NQivABprPILtJ7S8MRGFXoLLjM2pbpkw2a5A3oncTdI2hiAnND959gChwE74Efr3qTeLYj2f58MnuGfQ818TEY6dYhDTRJAw+AQ+R515DH3slSJjGFvxCl/yyPzyw1mXWPp0+BBcAkb5hVijg6xj30cKlXcOeqFUFBleog==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Awc8EWaFBCYfnRzVdONL9wuE5SU3NIVJ63vA+l3SDD0=;
 b=bxmZtm9NFsTfOfbc4pqb20w3tQ9guF+qPtyhwhQeBbzyMkXawGAwX0YS94XtdGnzsJdM55zr/ihr68O5lnIXMbMXr0ZtA2JE9NDBV1EcghvERPppVw5MrnN+yXfkNNuvbSmEcvyVHAFBCAYQ/2HEdx/baCAmrYfX4CrH8FI+Rzrsovj0U3HXt7XPDl2OvUNyIAslByInSvazEGomC0bD8DYyf/eXpww4viIEG6HXB8wRqahYqhH+oHa7/0xsQ/nSRXND0nH5t9S8Pz65FlbttkbagD1m4LVNm7kbb7elNPuUWicp7YX/SLK0HbvBkpc1pkgZ+ArsB5TyWV0skhOaRg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Awc8EWaFBCYfnRzVdONL9wuE5SU3NIVJ63vA+l3SDD0=;
 b=nzUz1BHF3DhkRLjtEemhsuvyeMyM13XgeCfe+i8YHufcot7E1RfXgVBJmMnbhuYDDDOtiEJq1V7cL6GGCIfW8naimMT4yPYIxouLNFUXmhBKJmiBqAmril3DhA5Ot0JGJyGmV1Crfat4bcOfT7tpqeeLshoprqhQkkeexG7ji/gKtwOxtfPejigBFaSVd0zxbHaqC7Md12HUcyrn5CCxXI/3s1AOk1m24/Y08+tqh8CIN0mINUwm1h2sryzTYvLyhs0pfIsVaUCXLSZLU51QaF5LlHfHjKoYnjU8NciiRO3yz6JtHRV6HTi5oEM1+OE4lSHbb2El7KGgtWjV8r0RiA==
From: Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>, Nicola Vetrini
	<nicola.vetrini@bugseng.com>, Doug Goldstein <cardoe@cardoe.com>, Stefano
 Stabellini <sstabellini@kernel.org>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>, Julien
 Grall <julien@xen.org>, =?iso-8859-1?Q?Roger_Pau_Monn=E9?=
	<roger.pau@citrix.com>
Subject: [PATCH v4] misra: consider conversion from UL or (void*) to function
 pointer as safe
Thread-Topic: [PATCH v4] misra: consider conversion from UL or (void*) to
 function pointer as safe
Thread-Index: AQHcR3K/aTBeUCgm+E66rbTSUIb8rQ==
Date: Mon, 27 Oct 2025 18:51:47 +0000
Message-ID:
 <daa126218e11484c72f3de4b39186b6d9afd26c6.1761589314.git.dmytro_prokopchuk1@epam.com>
Accept-Language: en-US, uk-UA, ru-RU
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DB7PR03MB4140:EE_|PR3PR03MB6650:EE_
x-ms-office365-filtering-correlation-id: b16d4d93-b6ad-4bab-b984-08de1589e1cd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|42112799006|7416014|376014|1800799024|366016|38070700021;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?9G1bqlMPtSwZGkonbLcSnXXhj9tocTBNioSEGZdeZYSDqN58Md/kRonKCp?=
 =?iso-8859-1?Q?eLeZN5lVlhhCR61vS3nj3mEsOhvqv94rIDVD4zKauN1GpuhFY1A8/pL14R?=
 =?iso-8859-1?Q?rSBZzK24bpE5vE7FZso5g6yR9cH0nhnqz9PtB/oZGYP9FQaEHJiTiKQnHQ?=
 =?iso-8859-1?Q?nRBh5HfbxwZYuEbfTh4GDlnpdgtFJIVoDokuIPHCqFDRLaAIzNGrE2aZkb?=
 =?iso-8859-1?Q?TnQV6eyKdjGJJz9OOHsU+m0W3vfCz+2kUv37o2UrM7sPc5NsTLTAfhJjLK?=
 =?iso-8859-1?Q?tEpu+tSUqdmDcLCXC/c+PY0emImwFlURkmPlCQ2GVJ00n6s2dZekjC6pBn?=
 =?iso-8859-1?Q?Q0PIBqZ82HerC2pxrloSL7fLrBNx5F2NaOuNstTdhnt5Xgy1i68/TeGtVa?=
 =?iso-8859-1?Q?kCAXXMM9At57Nt9dVX/t0YLzvfzOSeGDQftdPkPPkspJTtHRNgh5gZgbYV?=
 =?iso-8859-1?Q?RqE4+yH760jpOXdP9x3uCj3GAP95hgBH8Y4DzmQF5n74AVHPLkziBtV1tx?=
 =?iso-8859-1?Q?vU1Wkq7wKTV6X1AqmSmEAcc/QlJ4uJ1H6pHOFxwIO9ZJmVmfXHbphtMqk9?=
 =?iso-8859-1?Q?kLlRNZb12w42UFfmsOI+dE4bbfY6ZmNHYTCWFJvQUSROes/dQSsW32LdU9?=
 =?iso-8859-1?Q?46DCMwWC8KCPSnlZ5M2scK4vWvNytauRTeaS4otPBVsD9v6t+RcnTReVhx?=
 =?iso-8859-1?Q?9SFqnq0MPw2PxOZJj9E6u9r4tOsRrvKLVeA1jjrCiJpCidAPz68VB3g7c2?=
 =?iso-8859-1?Q?ORJQ58kIQ/bbzuBvhzx+cMO9gHH42JUleIikiZ9i7rvJVAi6Zg5/H+NQvT?=
 =?iso-8859-1?Q?XAMrqOzlfkj2DAxZZqCSNzdyN6Q1Gm4B9r39H6onM1ifKsCJeP2TkGRhx2?=
 =?iso-8859-1?Q?yPkVL0KUTIl1xRIWu1M4zE5St/QHp+ZoH2kyFvNALIZqvi8YjrOaHcVGTO?=
 =?iso-8859-1?Q?C3Ghy+ktM+7qYXYkWB2vJC6VP4DPAL5VGaUbeyH8WtX5dfEV8uh/+qEOj6?=
 =?iso-8859-1?Q?8G1Yns8DUyVorxYYXw8SnAS/SQsuUd4IphpZV6pi+wz62S5DIEBIDHq3PI?=
 =?iso-8859-1?Q?YLaPuEPjkxvalasH/N7IGWi69JLdNx/uChbGZLtmk9+92ljP30CP+tQqUP?=
 =?iso-8859-1?Q?7fyeEDLwnc0n0YbAof53WPDIh02yFXB2wr6M6MIs6E6GZi+wm/lpPNpzCB?=
 =?iso-8859-1?Q?WUyIReL3UIpSHBchAN8R03+HGdssfQRWUsJMT71OOLL/g2yOKz1mi2D5+d?=
 =?iso-8859-1?Q?lC2dsNG1fxPF3BsIaTW0E91vE4HS8ABtkMWKZ2/CFgd8qELurMpFvV/n7p?=
 =?iso-8859-1?Q?wB7PGNCbwvWL5FCkkNHZF9gIZj0tDXto3Htdm+J6ih69WILzlBpH3yHgat?=
 =?iso-8859-1?Q?HJS1yv7UVRetT0A7Q+z1dMAFofWxq1wBO6IfkwPXrIQPNlpGqvspj59rE6?=
 =?iso-8859-1?Q?ZEv7vbM5qvSPcPodPmdJkbTa99RR3vGYNxh9TXF9wSqUukfcbPZP5dcpCO?=
 =?iso-8859-1?Q?NE/Okk+pr4IfK8j+OTnkz5sd5Y+Haf97PMFNBq8KIiBw=3D=3D?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB7PR03MB4140.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(42112799006)(7416014)(376014)(1800799024)(366016)(38070700021);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?Rmzx6VvZH9XPSBcLZoa/cDBOBSgUV0s/Qd8hBk6Vbjg23UTFJ7PuAhckeg?=
 =?iso-8859-1?Q?eHICLoAXalXRECrF+WA/F8hLKgiROeF/QyDjmBsgB0wL79u7750S3J2t8G?=
 =?iso-8859-1?Q?+7puqAxpyrNpBmRyP9SXFbwtdIs5orNYxktuZBhNq2iNzQtkBsQZSArrU0?=
 =?iso-8859-1?Q?tt8AY86ub3q8LAC3DGAg3StLmy7xjM22iMCkCnC+WDrv70SIfGnxCLlu89?=
 =?iso-8859-1?Q?DucxE11A8RhIiqgNxmN+ljpROaCQg8Bdl0dG6h+pTED7FMSyrYM9Tr6QhS?=
 =?iso-8859-1?Q?eBOtldfatKWek7liPxN8OaeaW09SzO4HGZQTsynNPe4cHJNW2iYgxyZNQc?=
 =?iso-8859-1?Q?x4V9oKJf26AqCeEwSmSoBqzxw0H4N4D1Ftc72KgjCdF/cAvLtjKhZ1C0Bf?=
 =?iso-8859-1?Q?t6vjoHQ2evB1bqJrEobvSVoBWu5tjB9xU4xCPC5NLZFzHpoHJYbokuZfTo?=
 =?iso-8859-1?Q?GjPGd97nV1Yq+HLos+hU2SpELxDNMayR0zBla73XUNnSxgeQdzaXMIyv7f?=
 =?iso-8859-1?Q?I+F4J49OT1wPr5W8fWYyojfRMHdR6rkIseKaYm7Y+M0OfDIdy6ARQTofGk?=
 =?iso-8859-1?Q?ivEB+1RYNmyx4wxf9ZtR69QvqX+HZqbtqEmU77+o0cPJOdYblUQ0DWZQMO?=
 =?iso-8859-1?Q?pgvbm82RwupyFie9PhQcBhdtMkI7PdyQmJ5se40Jgs9N7qhh9eZ/ZG/Ytd?=
 =?iso-8859-1?Q?YLrRNgP95wTjUQR/ZmwCV65dwlCUrQkBxjGB9m8uMtllxr8GCJ5DEr50ir?=
 =?iso-8859-1?Q?Pio89PsYvzxw8hWDsp15JzpX72ADWPI+7t16iZcKIBSjFYW8chZFvK2xn1?=
 =?iso-8859-1?Q?uyfIrXnqyoNXGdS91b6S5ije6IFDUThBOyvUl54IxFvdHJhAMkjT2E3v8e?=
 =?iso-8859-1?Q?Hn9sK/FKra21mzOSI+dPJfS7v60XQab78KaJ4MhiItq+G64OpHlN6/PuUy?=
 =?iso-8859-1?Q?USgCQUTMw5pr4yy8PY9OL3MizY2jH1ZF1mb2tUvdO/Dwil3MYCCaF/2CCD?=
 =?iso-8859-1?Q?H1KqEd5WRHKkTukHPhCySNO2yCyfoWssM4q+5G2RAd5yvROWievpbVBRsw?=
 =?iso-8859-1?Q?J7u2mvEwrbZ6n3VG3tEt8jyHrx4WQn1HuS81z2NlLYL2pbrYwTBIrg4sxU?=
 =?iso-8859-1?Q?F2/xK5g76hEiP0GnxUe5DzLHwKkSBFGL3RPKuWkICLvubdAvOvSdXv/Ahl?=
 =?iso-8859-1?Q?woTqJ6m0qilYGH3U5OaEnV6Unyy2X26nQ1/T+3xWQxFk+jgf4q+Z3tY+t2?=
 =?iso-8859-1?Q?9QiUfE0mQYzqdVlJuVk+62aWc5nFu/ma+Dapy2qKZMIkrdmXief2ohloFg?=
 =?iso-8859-1?Q?WOCcAQWqgTWA3JLZokwu8Els5q10jw8zFTESPpbbfA2TJSl3ltabGiy5rB?=
 =?iso-8859-1?Q?/hFxVo1t4sUYD50oZoqqG+g9zFN6CXHWNOTIVDDs4RUBjH3au6SDow0BmR?=
 =?iso-8859-1?Q?1R+RKDvsHIKgDsu/c8sQGsbXPRZdfMtKIi/HzrHWDGbr/MpK6wLDgSbIe3?=
 =?iso-8859-1?Q?p7uBak257nt09N6eB7c7pXA0HRtv12z0ZqL7vYC2CmjzYnXJCHKAIl57DE?=
 =?iso-8859-1?Q?3LgYXoNTuiDdjLAQthgMInK/BzYZaAKGi4b/ksIXd9RIkknxHnbR8Q1rL7?=
 =?iso-8859-1?Q?UVIG4uoVEsbobHHTR2GJmLOPKPxlOFIABOb/deNtqcC0lZpQCW3m5zQg?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DB7PR03MB4140.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b16d4d93-b6ad-4bab-b984-08de1589e1cd
X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Oct 2025 18:51:47.5704
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: LgGiaRGLFg/IRwvKsJcu/d0WxnWZZdR5AJvic/LBjW3Z62/4AJt02SXWaEh6AYfPKP6cFjqbrry0HvkR+mp82qwYbe8KYdnAuBbf70cgq2s=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR03MB6650

Rule 11.1 states as following: "Conversions shall not be performed
between a pointer to a function and any other type."

This deviation from Rule 11.1 relies on both ABI definitions and compiler
implementations supported by Xen. The System V x86_64 ABI and the AArch64
ELF ABI define consistent and compatible representations (i.e., having
the same size and memory layout) for (void *), unsigned long, and function
pointers, enabling safe conversions between these types without data loss
or corruption. Additionally, GCC and Clang, faithfully implement the ABI
specifications, ensuring that the generated machine code conforms to these
guarantees. Developers must note that this behavior is not universal and
depends on platform-specific ABIs and compiler implementations.

Configure Eclair to avoid reporting violations for conversions from
unsigned long or (void *) to a function pointer.

Add a compile-time assertion into the file 'xen/common/version.c' to
confirm this conversion compatibility across X86 and ARM platforms
(assuming this file is common for them).

References:
- System V x86_64 ABI: https://gitlab.com/x86-psABIs/x86-64-ABI/-/jobs/arti=
facts/master/raw/x86-64-ABI/abi.pdf?job=3Dbuild
- AArch64 ELF ABI: https://github.com/ARM-software/abi-aa/releases
- GCC: https://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html
- Clang: https://clang.llvm.org/docs/CrossCompilation.html

Signed-off-by: Dmytro Prokopchuk <dmytro_prokopchuk1@epam.com>
Reviewed-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
Changes in v4:
- the build assertions for the X86 and ARM are enabled by default (uncondit=
ionally)
- re-wrote description for the build_assertions() function
- excluded PowerPC architecture (not in scope of certification) from the ch=
eck and wrote apropriate explanation

Link to v3:
https://patchew.org/Xen/0e72c83102668dfa6f14c4e8f9839b4a73d30b3d.1760458094=
.git.dmytro._5Fprokopchuk1@epam.com/
---
 .../eclair_analysis/ECLAIR/deviations.ecl     |  8 ++++++
 docs/misra/deviations.rst                     |  8 +++++-
 docs/misra/rules.rst                          |  7 +++++-
 xen/common/version.c                          | 25 +++++++++++++++++++
 4 files changed, 46 insertions(+), 2 deletions(-)

diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/=
eclair_analysis/ECLAIR/deviations.ecl
index 7f3fd35a33..219ba6993b 100644
--- a/automation/eclair_analysis/ECLAIR/deviations.ecl
+++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
@@ -375,6 +375,14 @@ constant expressions are required.\""
 }
 -doc_end
=20
+-doc_begin=3D"Conversion from unsigned long or (void *) to a function poin=
ter can restore full information, provided that the source type has enough =
bits to restore it."
+-config=3DMC3A2.R11.1,casts+=3D{safe,
+  "from(type(canonical(builtin(unsigned long)||pointer(builtin(void)))))
+   &&to(type(canonical(__function_pointer_types)))
+   &&relation(definitely_preserves_value)"
+}
+-doc_end
+
 -doc_begin=3D"The conversion from a function pointer to a boolean has a we=
ll-known semantics that do not lead to unexpected behaviour."
 -config=3DMC3A2.R11.1,casts+=3D{safe,
   "from(type(canonical(__function_pointer_types)))
diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst
index 3271317206..b3431ef24e 100644
--- a/docs/misra/deviations.rst
+++ b/docs/misra/deviations.rst
@@ -366,11 +366,17 @@ Deviations related to MISRA C:2012 Rules:
      - Tagged as `safe` for ECLAIR.
=20
    * - R11.1
-     - The conversion from a function pointer to unsigned long or (void \*=
) does
+     - The conversion from a function pointer to unsigned long or '(void *=
)' does
        not lose any information, provided that the target type has enough =
bits
        to store it.
      - Tagged as `safe` for ECLAIR.
=20
+   * - R11.1
+     - Conversion from unsigned long or '(void *)' to a function pointer c=
an
+       restore full information, provided that the source type has enough =
bits
+       to restore it.
+     - Tagged as `safe` for ECLAIR.
+
    * - R11.1
      - The conversion from a function pointer to a boolean has a well-know=
n
        semantics that do not lead to unexpected behaviour.
diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
index 4388010ec9..4e94251887 100644
--- a/docs/misra/rules.rst
+++ b/docs/misra/rules.rst
@@ -431,7 +431,12 @@ maintainers if you want to suggest a change.
      - All conversions to integer types are permitted if the destination
        type has enough bits to hold the entire value. Conversions to bool
        and void* are permitted. Conversions from 'void noreturn (*)(...)'
-       to 'void (*)(...)' are permitted.
+       to 'void (*)(...)' are permitted. Conversions from unsigned long or
+       '(void *)' to a function pointer are permitted.
+       Example::
+
+           unsigned long func_addr =3D (unsigned long)&some_function;
+           void (*restored_func)(void) =3D (void (*)(void))func_addr;
=20
    * - `Rule 11.2 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-S=
uite/-/blob/master/R_11_02.c>`_
      - Required
diff --git a/xen/common/version.c b/xen/common/version.c
index 553b97ba9b..674bd72b31 100644
--- a/xen/common/version.c
+++ b/xen/common/version.c
@@ -217,6 +217,31 @@ void __init xen_build_init(void)
 #endif /* CONFIG_X86 */
 }
 #endif /* BUILD_ID */
+
+/*
+ * This assertion checks compatibility between 'unsigned long', 'void *',
+ * and function pointers. This is true for most supported architectures,
+ * including X86 (x86_64) and ARM (arm, aarch64).
+ *
+ * For more context on architecture-specific preprocessor guards, see
+ * docs/misc/C-language-toolchain.rst.
+ *
+ * If porting Xen to a new architecture where this compatibility does not =
hold,
+ * exclude that architecture from these checks and provide suitable commen=
tary
+ * and/or alternative checks as appropriate.
+ */
+static void __init __maybe_unused build_assertions(void)
+{
+    /*
+     * Exclude architectures where function pointers are larger than data =
pointers:
+     * - PowerPC: uses function descriptors (code address + TOC pointer).
+     */
+#if !defined(__powerpc__)
+    BUILD_BUG_ON(sizeof(unsigned long) !=3D sizeof(void (*)(void)));
+    BUILD_BUG_ON(sizeof(void *) !=3D sizeof(void (*)(void)));
+#endif
+}
+
 /*
  * Local variables:
  * mode: C
--=20
2.43.0


From xen-devel-bounces@lists.xenproject.org Mon Oct 27 19:16:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Oct 2025 19:16:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151745.1482281 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDShU-0000p3-LN; Mon, 27 Oct 2025 19:16:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151745.1482281; Mon, 27 Oct 2025 19:16:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDShU-0000ow-Hm; Mon, 27 Oct 2025 19:16:16 +0000
Received: by outflank-mailman (input) for mailman id 1151745;
 Mon, 27 Oct 2025 19:16:15 +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 <SRS0=asFF=5E=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1vDShT-0000nO-HZ
 for xen-devel@lists.xenproject.org; Mon, 27 Oct 2025 19:16:15 +0000
Received: from mail-wr1-x434.google.com (mail-wr1-x434.google.com
 [2a00:1450:4864:20::434])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 60934903-b369-11f0-9d16-b5c5bf9af7f9;
 Mon, 27 Oct 2025 20:16:02 +0100 (CET)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-426fd62bfeaso2463336f8f.2
 for <xen-devel@lists.xenproject.org>; Mon, 27 Oct 2025 12:16:02 -0700 (PDT)
Received: from [192.168.69.201] (88-187-86-199.subs.proxad.net.
 [88.187.86.199]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-429952de4a1sm15780056f8f.37.2025.10.27.12.15.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 27 Oct 2025 12:16:00 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 60934903-b369-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1761592562; x=1762197362; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=CoYRlUHvu4bfKY1MKCPfA+vI0KIfDiQsFZOWKDfq3r8=;
        b=xEKzgYtJm6SiA68jSLU+EoTkpYpQIvdO4EibP3fueEr+rYV7ovfp6lu/Iei04AO/1U
         rUtQKGVEtLyxMYr+RQXZbvpuuYYGIEl8AG4/Y7XsPxDUXCGuwt8huBhZ/7k4hHDOXEsu
         5r6vc1KGtSi240LIHV1H92r7dDIiuUzxXd1kqIZvj4sI62rPw7/Z4rqdlkQlSQSBSaLb
         8oC/3a0cmU2Pqv7mQpaBErLmYmj4WwsAQJUCfVlnUWkX5qHGJ+2Co3RkhTXVaa/v8511
         FnUyyx14jd3Q3ik1Lu2uknau2D0PEiLqgRzrE+nzAR8TUSNbhwv9tlMqViQQ/dXE3G4G
         cMXA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761592562; x=1762197362;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=CoYRlUHvu4bfKY1MKCPfA+vI0KIfDiQsFZOWKDfq3r8=;
        b=xOb9gS2Ocl7rg6rQPWnqWAfayEtp5pPaAJlL5sH1TRS2sLfPVuuCzVBxUH1Dbk1ICF
         P0m3y4e7AQLMGYrhTawVf4mf24Z6VotYBfsj5D1DePacpd2x2R9E+/QfqHYydcXxev2i
         sWBSuzVm0eNMfvbka6MHga5g8d9+XtmlY04gFGH9vJgcV907qw0BTXeEoA/fT83C0T8E
         +c95aN8IVM7Br+yv1Ey0VBFZGmGv60etvLch607I9hThnN/s8O18EiHFvlT2kGJt+0jy
         r8YPD1lCOei+kUa9nI3r17Gi2cffYLfwn+ADcVpPmujGbW/P1DoVH1llF+od9mCwFpbf
         GndQ==
X-Forwarded-Encrypted: i=1; AJvYcCWTjFZ2zGAWS6Hp5AZat5pDeq5P+4wBNB2cq3Tl8zDUiCsK2rimXpHUhdoByIVK26f6fc004by/zdg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxyUpSgZpDlyTMlGvGbW99KguBv/mK4m+otfVk1dNTU6w6HDBJw
	eJmIBkwoqDwHvRfVSNaBpYxiIuqY74TceHjirPVAzXKiRq4ABnhcY+F0YOlt5PvvGUk=
X-Gm-Gg: ASbGnctbYQ5kLPvnJweRtvMGwY/qi0WEt9Qw77vyi5n7iIsFFxLbfQTeglw4PII64Zi
	Ma/0RQO4N9f+Lk4y71WJiqSILFl76Nl2AUK7jUEgw7d8WZkAZwX4osmScyJAH15Epv8NlQBN5vd
	8PqZRPaMMcyNkXST6whc9CB/Cj3C8zNduPtQV8ZHVUTsZvcEuROC1HgRgHkny7OoklRDg2N0lVz
	V2FHIEdxxwDLpKqXFHot0zZB+tC4YmYkBtErQFJUnzghwXAPt67Opi2IImJkvARwxb35EqLRY/V
	9s+JsEdE5oeH0ZH/xH49DnIB7BdZAZkUJ2EWYJlLcbIMFDz3iJqyl38rbpf2UfdyQK6JHRNBbZp
	1C3F4SSueB63wCFCL516+f6V+MxyNhSSMXQlRI1qYgA2amE+3r5bwXt8Ku8yZZn9hUwC+H0dtn2
	LP3HenPYK8byCQRRhAnLri32r4pT/fu4uULvtjD5FLkCo=
X-Google-Smtp-Source: AGHT+IHBSEpEozHAFTJdTfk/a3fUIM2hb08ESeGXxhxbKeH6+EF0pf/ollVaJVxzwnqub14NZNiUAg==
X-Received: by 2002:a05:6000:2282:b0:3fa:5925:4b11 with SMTP id ffacd0b85a97d-429a7e83671mr817298f8f.42.1761592561617;
        Mon, 27 Oct 2025 12:16:01 -0700 (PDT)
Message-ID: <a3d4a6b5-2ce4-4df3-8d29-62999ad71b74@linaro.org>
Date: Mon, 27 Oct 2025 20:15:58 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] remove redundant typedef when use
 OBJECT_DECLARE_SIMPLE_TYPE
Content-Language: en-US
To: Nguyen Dinh Phi <phind.uet@gmail.com>,
 "Gonglei (Arei)" <arei.gonglei@huawei.com>,
 Zhenwei Pi <pizhenwei@bytedance.com>, Alberto Garcia <berto@igalia.com>,
 =?UTF-8?Q?Marc-Andr=C3=A9_Lureau?= <marcandre.lureau@redhat.com>,
 Paolo Bonzini <pbonzini@redhat.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony@xenproject.org>, Paul Durrant <paul@xen.org>,
 "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
 Peter Maydell <peter.maydell@linaro.org>,
 Bernhard Beschow <shentey@gmail.com>, Jason Wang <jasowang@redhat.com>,
 Huacai Chen <chenhuacai@kernel.org>, Jiaxun Yang <jiaxun.yang@flygoat.com>,
 Nicholas Piggin <npiggin@gmail.com>,
 Harsh Prateek Bora <harshpb@linux.ibm.com>,
 Richard Henderson <richard.henderson@linaro.org>,
 Helge Deller <deller@gmx.de>, Tyrone Ting <kfting@nuvoton.com>,
 Hao Wu <wuhaotsh@google.com>, Aditya Gupta <adityag@linux.ibm.com>,
 Glenn Miles <milesg@linux.ibm.com>,
 Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
 Palmer Dabbelt <palmer@dabbelt.com>,
 Alistair Francis <alistair.francis@wdc.com>, Weiwei Li
 <liwei1518@gmail.com>, Daniel Henrique Barboza <dbarboza@ventanamicro.com>,
 Liu Zhiwei <zhiwei_liu@linux.alibaba.com>, Fam Zheng <fam@euphon.net>,
 Alex Williamson <alex@shazbot.org>, =?UTF-8?Q?C=C3=A9dric_Le_Goater?=
 <clg@redhat.com>, Laurent Vivier <lvivier@redhat.com>,
 Amit Shah <amit@kernel.org>, "Michael S. Tsirkin" <mst@redhat.com>,
 Pavel Pisa <pisa@cmp.felk.cvut.cz>,
 Francisco Iglesias <francisco.iglesias@amd.com>,
 Vikram Garhwal <vikram.garhwal@bytedance.com>
Cc: qemu-trivial@nongnu.org, qemu-devel@nongnu.org,
 xen-devel@lists.xenproject.org, qemu-arm@nongnu.org, qemu-ppc@nongnu.org,
 qemu-riscv@nongnu.org
References: <20251023063429.1400398-1-phind.uet@gmail.com>
From: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>
In-Reply-To: <20251023063429.1400398-1-phind.uet@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 23/10/25 08:34, Nguyen Dinh Phi wrote:
> When OBJECT_DECLARE_SIMPLE_TYPE is used, it automatically provides
> the typedef, so we donâ€™t have to define it ourselves.
> 
> Signed-off-by: Nguyen Dinh Phi <phind.uet@gmail.com>
> ---
>   backends/cryptodev-lkcf.c               | 1 -
>   hw/char/ipoctal232.c                    | 9 ++++-----
>   hw/char/xen_console.c                   | 1 -
>   hw/dma/pl330.c                          | 6 ++----
>   hw/net/fsl_etsec/etsec.h                | 1 -
>   hw/net/xen_nic.c                        | 2 --
>   hw/pci-host/bonito.c                    | 7 +++----
>   hw/ppc/pef.c                            | 1 -
>   hw/usb/dev-mtp.c                        | 7 +++----
>   hw/usb/dev-uas.c                        | 7 +++----
>   include/hw/char/serial.h                | 1 -
>   include/hw/input/lasips2.h              | 6 ++----
>   include/hw/misc/auxbus.h                | 7 +++----
>   include/hw/misc/bcm2835_mphi.h          | 7 ++-----
>   include/hw/misc/npcm7xx_pwm.h           | 7 ++-----
>   include/hw/pci-host/pnv_phb3.h          | 6 ++----
>   include/hw/pci-host/pnv_phb4.h          | 8 ++++----
>   include/hw/ppc/mac_dbdma.h              | 7 +++----
>   include/hw/riscv/iommu.h                | 3 ---
>   include/hw/scsi/scsi.h                  | 7 +++----
>   include/hw/vfio/vfio-container-legacy.h | 5 ++---
>   include/hw/virtio/virtio-serial.h       | 5 ++---
>   include/net/can_emu.h                   | 7 +++----
>   23 files changed, 43 insertions(+), 75 deletions(-)

Patch queued, thanks!


From xen-devel-bounces@lists.xenproject.org Mon Oct 27 19:17:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Oct 2025 19:17:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151753.1482290 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDSiu-0001L6-Uu; Mon, 27 Oct 2025 19:17:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151753.1482290; Mon, 27 Oct 2025 19:17:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDSiu-0001Kz-SN; Mon, 27 Oct 2025 19:17:44 +0000
Received: by outflank-mailman (input) for mailman id 1151753;
 Mon, 27 Oct 2025 19:17:43 +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 <SRS0=asFF=5E=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1vDSit-0001Kt-G9
 for xen-devel@lists.xenproject.org; Mon, 27 Oct 2025 19:17:43 +0000
Received: from mail-wm1-x330.google.com (mail-wm1-x330.google.com
 [2a00:1450:4864:20::330])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 99d4d8b1-b369-11f0-980a-7dc792cee155;
 Mon, 27 Oct 2025 20:17:38 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-475dae5d473so27516075e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 27 Oct 2025 12:17:38 -0700 (PDT)
Received: from [192.168.69.201] (88-187-86-199.subs.proxad.net.
 [88.187.86.199]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-475dd4a5cc4sm148220435e9.11.2025.10.27.12.17.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 27 Oct 2025 12:17:36 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 99d4d8b1-b369-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1761592658; x=1762197458; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=OX4zfCLoPvhE7+rhyNGlBqoW+O/OVNQrXavKW0oZ7hg=;
        b=wa99TbTxBOv68nsiLCPBItX4W6xa4gsCNWhTt8U3E+u3TvggKEte2UBwP8rvq+pyuF
         Q3OkyARkuOS0L0IslLkjfaiMNth+QGVarhHJ/W0N6FC8Xc24ZOCmOx3ScwQWgBn9RweS
         c0g2yuZVuWDF0O2RpbXgifRemyFsQezolRL7JzywoFQu/RKb7r0zMuKwBi4uNprWhPny
         vZJMLXwOVKG6/y3AZe32TFnE4gdDF0oLCx20wzj6fu7uwrBvHPtjyFfCvMPD7y00G42c
         hCIYzvy3wkUB3HG3S0XibSX6K4dxjqY6PaP6LZku4SB7GLrM+cM7fw4sX7boVYeiFDiX
         PL2g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761592658; x=1762197458;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=OX4zfCLoPvhE7+rhyNGlBqoW+O/OVNQrXavKW0oZ7hg=;
        b=dpwfBm94gGkLKrmkcFcAmgs3UaZ8lJLPsnXE5K8Rfi/5neFeHV94IOGOx/0O4EbBhU
         ixDdsNhVJfwC91CgQoHunc91tc6120YH0j/TbZru7QNzFrc4Kete/Y/cnSM4VUmjtiww
         Lt8mPHW28fUs0fyhMP3yLWPQV/IVO4C2VaLqN3dsgJN+9q8+wPdv5SCJFdGQudvYOYRb
         72R2ToqJ69EiIPd74WETSnNOwVoCYvs66xSG7VIpEF4q3Lbs1FoFjVFYVF5Mf1BtTlW0
         b9nLNERjNLca+8WZ0yQiRRXKPPfaw+izxZoUHhiiRXOuOqJooFOKCeA+UO7D9jH/bLiS
         B3QQ==
X-Forwarded-Encrypted: i=1; AJvYcCWCu0xAEbkNc/o35Mxlt/HpvvLpOKxzK4DjsBgPMPFJeG43NEAVgb2EprYxmbeJGU8Kto9RRalo7dw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YylbgI6l1G42azqHBmfUxPHo2i8sm5CtGh/9xwpTVFY8QtvkOly
	p6rYGnRQyb5H2A5wI4xCEwbrXWCMMZDiYlmh+tRkR07z6LTFH8R445vr2ZGHzIFWWmI=
X-Gm-Gg: ASbGncusYs+kQoIljLFYAm5J4PSMuWus/Kd0f20TcVd4mi5sSlWx23sc6D2qPrYXMw9
	Xhef5Bn+iqlfErTOo9rvdNU+gDyhhWjkKP8b48mrTay+sPO1LnpO4aueSbFDVUguyIWYIi6RjuK
	YUWCfkzf8adBsq8KHPfOmepABhk4S2ArTAlN2Fzqg+k151oZwS8Spv3huEXACrbMGP5Tg3b+QZA
	N5unw7oSNZlK6JTO92x07wDrgT8xnYlbJF1NaX+cHKZoLFvZzH0e/kE9Fqc9zetIu+71WQAGypb
	l5CxYP5vX1EBVYKtdylyDbeMOctAzmpwbJXxtTDegU2s0/3xGS+zR/cGEz1jE/NIuQWxH6tWFAU
	KQ880Kmx5t5n+RlWCAq0wv2RKxoeXcZId6mZT+qkjsm2Ya2t88tW9vMYzF3/FWiiS1qMQcCkIxA
	ovD/PeoBHwnYZT0Vxof31CjJfgmMWInxyVjBY86Oy4b87UxyDUbKDnqQ==
X-Google-Smtp-Source: AGHT+IE6bsd48TMgBcJRd8xWdvttKaErtSwdPfBofrIhRIW/1pPh7lT8y/cKFUSZgcIose3NawzhVQ==
X-Received: by 2002:a05:600c:3511:b0:476:84e9:b561 with SMTP id 5b1f17b1804b1-47717e587d1mr8807005e9.32.1761592657798;
        Mon, 27 Oct 2025 12:17:37 -0700 (PDT)
Message-ID: <64b66fb0-f297-494a-8e79-b38c02c070b1@linaro.org>
Date: Mon, 27 Oct 2025 20:17:35 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 0/3] hw/xen: Build only once
Content-Language: en-US
To: qemu-devel@nongnu.org
Cc: Anthony PERARD <anthony@xenproject.org>, xen-devel@lists.xenproject.org,
 Pierrick Bouvier <pierrick.bouvier@linaro.org>, Paul Durrant <paul@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Anton Johansson <anjo@rev.ng>,
 "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
References: <20251022140114.72372-1-philmd@linaro.org>
From: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>
In-Reply-To: <20251022140114.72372-1-philmd@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 22/10/25 16:01, Philippe Mathieu-DaudÃ© wrote:
> Replace target-specific code to allow building
> hw/xen/ files once.
> 
> Philippe Mathieu-DaudÃ© (3):
>    hw/xen: Use BITS_PER_BYTE & MAKE_64BIT_MASK() in req_size_bits()
>    hw/xen: Replace target_ulong by agnostic target_long_bits()
>    hw/xen: Build only once

ping?


From xen-devel-bounces@lists.xenproject.org Mon Oct 27 19:38:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Oct 2025 19:38:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151764.1482301 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDT2k-0004Cf-Ex; Mon, 27 Oct 2025 19:38:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151764.1482301; Mon, 27 Oct 2025 19:38:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDT2k-0004CY-Bw; Mon, 27 Oct 2025 19:38:14 +0000
Received: by outflank-mailman (input) for mailman id 1151764;
 Mon, 27 Oct 2025 19:38:12 +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
 <SRS0=JYa4=5E=citrix.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1vDT2i-0004CS-Ah
 for xen-devel@lists.xenproject.org; Mon, 27 Oct 2025 19:38:12 +0000
Received: from CY3PR05CU001.outbound.protection.outlook.com
 (mail-westcentralusazlp170130007.outbound.protection.outlook.com
 [2a01:111:f403:c112::7])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7778443e-b36c-11f0-980a-7dc792cee155;
 Mon, 27 Oct 2025 20:38:10 +0100 (CET)
Received: from DM4PR03MB7015.namprd03.prod.outlook.com (2603:10b6:8:42::8) by
 SJ2PR03MB7140.namprd03.prod.outlook.com (2603:10b6:a03:4f2::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.18; Mon, 27 Oct
 2025 19:38:07 +0000
Received: from DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9]) by DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9%3]) with mapi id 15.20.9253.013; Mon, 27 Oct 2025
 19:38:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7778443e-b36c-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=AH8tQheWQ2oAxyQsZadDfAgaZj2vTwS2kpZMHYsXf6RNtj0vDbfgqMHIz/y2gZX63zO0pJzUlespmlmtnZlduGddfNeNqNSDfa662hn/2uEUeCLeL8Hfjwr70OzUsrUCfjfu0MZFucuSrb6f+r516CDTIrgnAXIzoJa3T/FNy/C0Yb8eHsmBEMtI0nv5nlZdn0fRnZEBSLN6gs7li+5QdlMDLsHqcI7h2hOzV+lILTHgSdVyt26d5o4a9T0PbCy70Q5bskFhf1kmgjnmXBYuyLKsPjMY0DVjQ4/b4b20VLwUTPniiKYZMgEPOzhYsLqHLCHCRt1zR6YVhwXua6rqaw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=FnHKvsfdcH9jYQssrwlJXPo2iLs37/NgP4O/Q2+PlFU=;
 b=BuUJSAduOVsYgC16k732I6D0dstCb7RWqjIGE8QtPbXPFR0V7T1XVeqZyvBZaI31LaXOaL2DJ6SfplSOmXZiOQcADlNQ2+QDcIW2+LpKxfBOcIxSE61a2Pqw4VIc7bVbUz/6mUrY9DuRXnM08zzUmRj8/ZVbrek1JUAsa9NavF3Y4hqhbr08Y6E4bV4jqeRa/QfiWRleJXSojOF4SCEbBwDBpTYaDuMcE9AvXIZaUYkhsZ5b1Cz/lKQbE2iZ01usNQ7XpKuzb6haSF1wJ3ixEVbyUXK+2HP/ABG506moKQiKWw6Ls2Uw3yngVJH9PgUf09RnDTSzknp9N4+Ro/fmNw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=FnHKvsfdcH9jYQssrwlJXPo2iLs37/NgP4O/Q2+PlFU=;
 b=jW4g80qp1q7/Sbwxw4oyrs/VMsBKSC1yS9FMXw9gjSsp9UcBrXNXswaf4ZnevXjmIxesPzf+lCfchLZYp/N1JK1Cgk5TFYPLSjxwzHrviJE1vB+1dUbw5kP/4KrJduo3bACcnDacHS1Pl67RvHulUXgw9EFblzVjG3wSJelnuTQ=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <83712d12-08ec-46a4-b215-18f7ea1c1069@citrix.com>
Date: Mon, 27 Oct 2025 19:38:03 +0000
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH for-4.22 1/2] x86/platform: Expose DTS sensors MSR
To: Teddy Astie <teddy.astie@vates.tech>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <cover.1761585640.git.teddy.astie@vates.tech>
 <48b15617f248852560a0e0674eea65d25330c605.1761585640.git.teddy.astie@vates.tech>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <48b15617f248852560a0e0674eea65d25330c605.1761585640.git.teddy.astie@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0299.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:391::17) To DM4PR03MB7015.namprd03.prod.outlook.com
 (2603:10b6:8:42::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM4PR03MB7015:EE_|SJ2PR03MB7140:EE_
X-MS-Office365-Filtering-Correlation-Id: afc25c97-91f1-4aeb-ecc2-08de15905a2a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?K3RPZWZtSVNIK2ZhYk9Mby9LcWNlL3k5WHB1VzF2b0c2dk42bVNvNFkzbmtm?=
 =?utf-8?B?cEI0VEI4aE02SEl4eXNid1kvNkdUWS9IWUtOOW9WMG9EaEF4dGdWSlNhV1Q0?=
 =?utf-8?B?Zks2RGNRS0JKY1o4dHpMQlU4bGhPRkw3N1c1cndGVjdHQXlFUHhkVXpvU2hL?=
 =?utf-8?B?U25IblFaeWRYaGxSTm9FSVNRdDNCb3pIb2Z6elRJS0dQZ2hyS1hIUVh4VGNw?=
 =?utf-8?B?NmJMRE51UVREREg5MU5TSnFCY2UwQlZ1Y0R6N3EzT2lsNmlyWFliUnVoalZG?=
 =?utf-8?B?QU1NRWZoekpDeTVHYTdrZHBNYjN4OVIwc2M3N3FoL0xQSVFNUUpUVS9UUG1O?=
 =?utf-8?B?dzBwbi9DbWIyRkV5NW45bEJ4NGtGay9uUFN6dTMyelF6QjhxSlZhNW9mT254?=
 =?utf-8?B?bGt3WENzV2pkcDNnWURVa1ZRTGJSTzlUY3ZnU3BpNXhraE1SdytoTlZkOVo0?=
 =?utf-8?B?eHYweWpjZzFIanVjMS9US2JCOENSV2Q1amVwL2xOR2dYemVLR2Q5d2ZoUmxh?=
 =?utf-8?B?bHNBN1ZjbzVjTlYyM2hybW8vQ1dXVHFUdXB6d0J2OFJIVi9YdnpQOU9rR2lk?=
 =?utf-8?B?Z2EvUGt5VFdycWthWXRLK3BjSXdtaWVlV1hYM2U0UWxNYThPR1dVWWdZUytx?=
 =?utf-8?B?dHMzNjhNN1pQK0RUb3h4OG9ETUNUM3lWUmJhOXJ4c0ZvSmJHQU1TTE5LVDJC?=
 =?utf-8?B?V0s2aS9yQzJtWnlJaFc5WGlob0IySHJpMjYzZk9yb3Q5Uk1uKzlrUFYyS2Fr?=
 =?utf-8?B?QVBvQ3NqVXViSTcwZUp0QVFkd3E3VEdBTVl0Q1IvbkVTT0J2c0tkSEFpUWtw?=
 =?utf-8?B?TDVyNXlnY0RneldJYVpzTmtqZzE4YlZRYnhQalZxZ2ZQUmpHRHR1SnI1YWFr?=
 =?utf-8?B?YlpkU280c2lRQkVTQllnWFUyZk81UFIwY2ErcmRlejRSTXhxeEJxUFl6S2lh?=
 =?utf-8?B?VnRmQlNzU2hwZkxIR3IvdTluOVYyTVZ2VTlLSFZ6Qms0TGhscGg4WkxtaXpG?=
 =?utf-8?B?UDBFZWpYV241SEI2ekxKalVtMkV4Q0NiOWM5a1AwRjFNaXZLNDdKc0dMYU9Q?=
 =?utf-8?B?c0xKL2UvVjRvdmY4cWFPaTYxdmtGdlQwYW0yZWxiQkdoTlVPM2NMa09vdjFV?=
 =?utf-8?B?Ynk4TU81SVJIamVtbGhEOEpZVlQ4TlArak9LSng0Y0dJemtlL3M5SmR2MGxD?=
 =?utf-8?B?K2JFRC9ZOFJ2VDF3ZDRoQ2MzSmZUN0o1Ym1aMFFlYVNWaWNLZHJMQlFLUjJL?=
 =?utf-8?B?VEdFbWQxUjN3NUo2V2pXY1o2eXNLRUx3SDE5ditrUmxkV0gxYm52WGNxT0ov?=
 =?utf-8?B?TDhZdk0wR3h0UlFaMnN1U0EzVHk5ZGdLaFE5c3pSQW9qWE9mbG5COTd5cVFR?=
 =?utf-8?B?RWs1QmI5NmtKQVBmaCtPQ1NIY1RrYStnKzdXbVMzQnVLTTRCeG9mdHZpSjV1?=
 =?utf-8?B?RmdEQTY1WVNuR2VwdXZqc3dCS0VYZFphVzUwenl5V2MyTzRXcU9kN0plaE1T?=
 =?utf-8?B?WXlLLytvb2lxT3I0b252dDF1M2NkSWRjaVpJdHZxUzdWanVsUUI4WWZScnVt?=
 =?utf-8?B?eTgyWjhLRWQvYW1vSEI5cmFucHlaZHBxekt6ZXRibkdtSExxS1ZBWjRrL3dE?=
 =?utf-8?B?RWlzTExlZk4reXFrS1NnOSsreWtOVi8wQWRpd01sL1lPbzRRMEt2ejBIQVlV?=
 =?utf-8?B?djAzN0tDOGkzNE52UEsyOVpGSWgzVVVtOVVwK1dVSjc5SE9UVmprTGN1R1ps?=
 =?utf-8?B?bzNCVC9OQW83WmppeldPNkhMVmN0WXU1TEpvVms0OWc1WHdQWUhhL2dEWHFz?=
 =?utf-8?B?N3FXS2h5blFYeUl2ejZJQmhGaWRIa1dnK2lBK1E5QTZ5SEpQd1FpZVQ4bFdJ?=
 =?utf-8?B?a1pQZ0hHUWNCMEE2eVVPdWgyZmZyYU5RRDdsazdYcHlRUTJ5QURXOGtBbW9M?=
 =?utf-8?Q?uG00mt8F2zifAROttSWm7YGn1ZzGi+Jz?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR03MB7015.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TkdPU2toL0ttV2N4cmNhWGxzLzRHOTM0bjhORDl5anUxOWZTRVZ2LzFNc3BE?=
 =?utf-8?B?bkxRa29TREQ0ZzZaYS9GLzVMTHFuOWlMdVV4eEV5eis3YWN6alhmRGhMY3lk?=
 =?utf-8?B?S1FxZzM0OFMzQ2RJeEprdUx4dm91eWlMKzhaSzJJc2oxWXUzTUZlSnB0Qy95?=
 =?utf-8?B?U1ZqV2lwSVZkQ1IvVXh6bDJQNW95Mng5WGtabityNlRQaGtzbWlwWXFLSWt1?=
 =?utf-8?B?TGNXK1BLMTNPc3VKdElqWkNwalpJa05mWFVVNjVXM0tQYVFJcHBCdTBUWGdv?=
 =?utf-8?B?dWRwMWI5QWVacGE4Qzh4VVZKeDh4VXE2YStTTjhMNi92R2NGdUtBdVFXdnZ5?=
 =?utf-8?B?QkhWeEtub2JXWUxLSXVqQ3dxRkgvdStEbnJpT1NLamhXaUtMWGkyeG9HWHpp?=
 =?utf-8?B?ZlkwVm8yUnVldmNzY1VMSk5za1U2NU84UGpUS245MHpELzZIRU13RVhLTklZ?=
 =?utf-8?B?OXBrSklvdTM1cVJSeFVEdGJURzZqVUVKNVcyb2J2TFN4b0hwUXh4M2lodWxv?=
 =?utf-8?B?OEVTNmd4VWhGVTlCRVBFODhEaEcyM2xVRi9McmZPcHpmUXZnM1pPVkFENHFh?=
 =?utf-8?B?MVc5NDJmQytQZUcvY20wbnk3WHpLakE0K3VIMkVKWllOVWVzaU9pRmZjQjJk?=
 =?utf-8?B?UzNhc0JVaC9pMlpTSDJtRVA0NXBpb2tYQ0EwUHVqcUZXNUJxQ1R1LzljNFhz?=
 =?utf-8?B?ZG9PUy9jeDBNdjZGUXBhOFFGMXllQXNTNndmQkhBdnRwU0FRVW5Jd09MVjJh?=
 =?utf-8?B?ZDQ3UDVjQ2pPakxoTk85cmRMVC9RNXd0QlJuMkZ6ZzVva0ZyMFZNUnZCMlBO?=
 =?utf-8?B?cmY5MW1Wd0hrK1YwdTlqZ1VRb1JHQnNqSmNKdmxOK3BOVUUvUE9WOGFZQysv?=
 =?utf-8?B?eUp0NjFKSkV5LzUvSkkwL0w4V2dFeGlYZ0NCNVJYays2T2VZbkRzS2hJNjgr?=
 =?utf-8?B?UG10aHRaak5OQVNSZVJkTGY0RnVrd3d1K203cG5sV3JiTTNtelR1V1hFa3hR?=
 =?utf-8?B?R0pNNlhRczQzMnkrMVRoSlE0QjZKQWszbGN6VjFmQXdEZC9CQnFlQVp1aVJj?=
 =?utf-8?B?NGorbmlIc0JhZGNHNDZ6bThPajFKWXZ1Rms5OCtXLzVDWHlUNUhrVk5VVkNH?=
 =?utf-8?B?aHljMDNpbEFSTXdwUGJRTVpBc21jc1FWcFVzZkRsOEMxVDB5RDRFY2pZRm5D?=
 =?utf-8?B?WjNrblNsLzZlTW9pY1VwVzhmdHJjVkg2dHZ4KzB6U055TW1SQ3VvR3V4aWk4?=
 =?utf-8?B?UXRvMUliNGtjalF0Z2xsR0VLMTYvaVloRnA2blNSREthZ0wyU1Z3UVRSNUI5?=
 =?utf-8?B?aTRWRi84UmxtakNHWDljVkdlNWlyYnVqc2pMNWJkeUNMZ05uSHdLaGZEd3pW?=
 =?utf-8?B?aGdwNnF6S2p6ODFESHVVWG1LY095K3k4ZlhKVk45WDFOOFk2QnV4TGQ5WWc1?=
 =?utf-8?B?VE9CQnMwY0ViT2Fwb2tUM1RUTzFWZmtDSktkUHdrbWlvRjZMNEFSRmdMOFVR?=
 =?utf-8?B?RUJ2MmExVXpnUXNrNDVjK2VQUGc1OW9ja2Y1MDIzY0tMYVJ1bEFwRW9pZVRK?=
 =?utf-8?B?eTdoRlFVN09aaEVxTW91Y1pVRzVnWmNpMmNNRndRUjg3L1FlaWtwQjk3aTl2?=
 =?utf-8?B?WHlPQWZTR3hzcUduVlRvUmQyL2IyaTk3d3Eybnpma3R5VTZrS3gzRkFuWlRX?=
 =?utf-8?B?bUdTTlY2U042NDBqV2UzZXFOZFN3ZkZWVDF6MVNuQkFWL3U0MFRkL3pYcERO?=
 =?utf-8?B?WTUwQUJHd0N6Vm52Qi9aaVpHWGlrR3d4Y0Mwc29RQmxCMEdubHRtV2hFM1NZ?=
 =?utf-8?B?K2kxUzY5bXdNMCtoUVNNMFNOa1BnRmZZamFUWk5laWlyRVBSTUFCWEhsTHhp?=
 =?utf-8?B?M21LeU5PZTFWbERQRjBJV1I3aFBzMjNZazM2TUlBdWpMRlFha2FVL1RWRVpi?=
 =?utf-8?B?OTB6RG96aDA0VEh6NG5RZFRWekEzaVdrQkxnU0xJVUtuSnV4QnBLR1N5bGkx?=
 =?utf-8?B?Qk5MbjZ3Zy93aWhTTkg1Y0YvUHlpb1NEam9LaFY2a1o0Yk5RSDhxSjdaWHVm?=
 =?utf-8?B?UzZJSzZoelFUOHVpWnFITXI3K2NoZkU3UWdFM1FheGRHWkYyK05qcFVyUUZt?=
 =?utf-8?B?V2hLSlNwVHJtcUFiY256M010VGlySGtRMG1iQUN1b2JibG5oZWpudlRGWXVn?=
 =?utf-8?B?Q0E9PQ==?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: afc25c97-91f1-4aeb-ecc2-08de15905a2a
X-MS-Exchange-CrossTenant-AuthSource: DM4PR03MB7015.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Oct 2025 19:38:06.8188
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: rKsrv+KGRs+nkHVCZF9TPbbVcxhCckA6BteSczFyl6LJ8HG5nP8u0bQvtcvWxDsU6DKaNV8a51nAbIBrKwQ/CatlGmxgm9zCzXZ09zM6rq4=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR03MB7140

On 27/10/2025 5:26 pm, Teddy Astie wrote:
> I'm not a fan of doing a inline cpuid check here, but I don't have a
> better approach in mind.

I'm not sure if there's enough information in leaf 6 to justify putting
it fully into the CPUID infrastructure.

But, if you do something like this:

diff --git a/xen/include/xen/lib/x86/cpu-policy.h b/xen/include/xen/lib/x86/cpu-policy.h
index f94f23e159d2..d02fe4d22151 100644
--- a/xen/include/xen/lib/x86/cpu-policy.h
+++ b/xen/include/xen/lib/x86/cpu-policy.h
@@ -121,7 +121,13 @@ 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 - Thermal and Perf. */
+Â Â Â Â Â Â Â Â Â Â Â  struct {
+Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  bool /* a */ dts:1;
+Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  uint32_t /* b */:32, /* c */:32, /* d */:32;
+Â Â Â Â Â Â Â Â Â Â Â  };
+
Â Â Â Â Â Â Â Â Â Â Â Â  uint64_t :64, :64; /* Leaf 0x7 - Structured Features. */
Â Â Â Â Â Â Â Â Â Â Â Â  uint64_t :64, :64; /* Leaf 0x8 - rsvd */
Â Â Â Â Â Â Â Â Â Â Â Â  uint64_t :64, :64; /* Leaf 0x9 - DCA */


then ...

> diff --git a/xen/arch/x86/platform_hypercall.c b/xen/arch/x86/platform_hypercall.c
> index 79bb99e0b6..3190803cc2 100644
> --- a/xen/arch/x86/platform_hypercall.c
> +++ b/xen/arch/x86/platform_hypercall.c
> @@ -86,6 +86,12 @@ static bool msr_read_allowed(unsigned int msr)
>  
>      case MSR_MCU_OPT_CTRL:
>          return cpu_has_srbds_ctrl;
> +    

You've added trailing whitespace here.

> +    case MSR_IA32_TEMPERATURE_TARGET:
> +    case MSR_IA32_THERM_STATUS:
> +    case MSR_IA32_PACKAGE_THERM_STATUS:
> +        return boot_cpu_data.x86_vendor == X86_VENDOR_INTEL &&
> +            (cpuid_eax(0x6) & 0x1); /* Digital temperature sensor */

... you ought to be able to use host_policy.basic.dts here.Â  In
principle the Intel check can be dropped too.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Oct 27 21:12:28 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Oct 2025 21:12:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151778.1482311 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDUVh-0008Ex-VZ; Mon, 27 Oct 2025 21:12:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151778.1482311; Mon, 27 Oct 2025 21:12:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDUVh-0008Eq-Re; Mon, 27 Oct 2025 21:12:13 +0000
Received: by outflank-mailman (input) for mailman id 1151778;
 Mon, 27 Oct 2025 21:12:13 +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
 <SRS0=de0O=5E=epam.com=dmytro_prokopchuk1@srs-se1.protection.inumbo.net>)
 id 1vDUVg-0008Ek-CE
 for xen-devel@lists.xenproject.org; Mon, 27 Oct 2025 21:12:13 +0000
Received: from DU2PR03CU002.outbound.protection.outlook.com
 (mail-northeuropeazlp170110003.outbound.protection.outlook.com
 [2a01:111:f403:c200::3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 99aceb55-b379-11f0-9d16-b5c5bf9af7f9;
 Mon, 27 Oct 2025 22:12:10 +0100 (CET)
Received: from DB7PR03MB4140.eurprd03.prod.outlook.com (2603:10a6:5:34::10) by
 GVXPR03MB10780.eurprd03.prod.outlook.com (2603:10a6:150:226::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.13; Mon, 27 Oct
 2025 21:12:04 +0000
Received: from DB7PR03MB4140.eurprd03.prod.outlook.com
 ([fe80::e16e:b655:974f:43f3]) by DB7PR03MB4140.eurprd03.prod.outlook.com
 ([fe80::e16e:b655:974f:43f3%4]) with mapi id 15.20.9253.017; Mon, 27 Oct 2025
 21:12:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 99aceb55-b379-11f0-9d16-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=esZkCkkAy/oATP+k0TK8WXIxWiOCrpMQUnXwHiF5sxQZYEYhYxQtgDrM/1Cxf2pB2PCQHSTN15sQBYxUvIL2g4S8S1HaCDn9QClLUbqEIyQQ4wY7zGFIrVXAY0QTP0/GIT8oIEQNyZ82It9uEnu8vo9NWAIkIM9eoNLbX0eEX5B99cGP33zmG/UEIlFVZaM2ak8TH0vDzsbFr2+iaYVATfP/hiQgmtKh4c6Ot/oD2R8Po0G3Q5S82Pa4rvBa5CB3drGbB8PTMHq//UCVYBax44N3pWi07stM+O/ozRVnDLCD6SLhluzJDbq9FzvGStmpARw/rpDW0Y5HAqn2iuebwQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=BvvOp07PXNtPjBcG5+cLIiERLORSGHQM5MLIj+T9iXY=;
 b=gSePKGnH1eLdH515XrrqhMUHfej+sgNclNNkWlYS36LnCmGvu8SnI31XmDEP7xaTC6HbrhW1/rFTE24bTg1koeKSoiscWuHOSk61rNg2cDZ9grAGcaEjoWvNGyFXZpCgb46+3SddWfqhD55CUGcL2jTk1rKgnitAgDwN4eEQiIJztwo8Fta4vdhTE2rfGL5sBNvrohtZ24ZM7FmePrWlMCwiOpgGXg5xBbii1cIsW3MkhR1HRNrggwHfI0xQmf0h4YC2AFbUPaublqOmSFEXSXMTTIf/Gpn+qID7sNXpMBaDaSAZhF+QBW+jBVRP4E1h2QQib/yNgRHDtPvREu7xmQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=BvvOp07PXNtPjBcG5+cLIiERLORSGHQM5MLIj+T9iXY=;
 b=UEN+J3tLbY+1f4agrcj/nTDDB3nT0nYFNBXQG59TozQ9izXCzwU0UvT+NGrKzyUptkQiVNps4V2yY8wb64S5WTFQHnuHjKmigHmtIKQsikoiWCn+xb3ncNUdlHwxp3gRxwqYIDnYmrEOqbJ3cdkjtYVXmo7nZW/D6l/wBv9LoqOMLdrdmcOM9heJaYdmvj8vpFINfczcFsf41960L+CxY1PW7iQAAHbdpPq1ueiIhtHfKUjTMrntOV+F4wjzxtO+AkS1lBVY5kM63RbHFiMyC8eXwDnb7QzwoEq4kOiZpxWNQzj1nA1HxMckSRtJxkADS8Msq5UuMtHuVkVP7QTuZA==
From: Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v2] arm/efi: address MISRA C Rule 11.3
Thread-Topic: [PATCH v2] arm/efi: address MISRA C Rule 11.3
Thread-Index: AQHcR4ZXAgFUzy6FXUuCamrBu5TzVA==
Date: Mon, 27 Oct 2025 21:12:03 +0000
Message-ID:
 <212a1ac4ee568f027f6cb7f9437aa42d2f0b6c41.1761599221.git.dmytro_prokopchuk1@epam.com>
Accept-Language: en-US, uk-UA, ru-RU
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DB7PR03MB4140:EE_|GVXPR03MB10780:EE_
x-ms-office365-filtering-correlation-id: 72e36a19-8d62-471f-b904-08de159d7a63
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|366016|42112799006|376014|1800799024|38070700021;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?D1bUMo7MUisAb7EJrc934qtBIDyvvSj/e0C9S+26ATXK7cptBZ20poXlAZ?=
 =?iso-8859-1?Q?Fhfpn/MFNRENWsC5PJFQxBykLOr4as2plH7jcMuA2RETJckGup4fTVuDhR?=
 =?iso-8859-1?Q?xWJidfpQmCLGp/f25YPqAO4W3J1hj0iQ2zCbgOkxp+4hRqdUlCSnu+eI+8?=
 =?iso-8859-1?Q?Vt4N9UdzqRh7n5T0uzSrmu2Mkip3SRgJzTakE/ebyVNGpbBRLnYuB+r7MF?=
 =?iso-8859-1?Q?9yY90lS2AJ+qtEOnFHdPbeDDJPbRZx4Bxvis/gcGO7nrvADBKiemd+hLpT?=
 =?iso-8859-1?Q?ccbY9SwpBJw2uHlvfgiHU5PiNi2J4K9i5HSkrGdk95L49CdyQsKkFeAlZ6?=
 =?iso-8859-1?Q?miDEwiri0ttjDjgBHWR5RpKhGUg/gdxdxoF4JDldDQL3FZg4PG1DOI0WG/?=
 =?iso-8859-1?Q?1+QJXdzEaR7yJ5dS0wAUWCG7yxqwuWgaI4QEr0yO5Z0OC+nFFALv/TGTzp?=
 =?iso-8859-1?Q?mNed77yguFd2gBOsdAsHy1ogJsWI4aB6o819Yw0194rq5BJSutdXsupqkt?=
 =?iso-8859-1?Q?bOFGFxUOTUos1aGzXReALdm38lceafMScYB/cwA08XsEJ99amoH8m5Z+zH?=
 =?iso-8859-1?Q?m+EHBzLUsx3pqDbyGHbwOxkJmdNVNrbCPbH1lVE1qxAkl18AtSTc1/g/la?=
 =?iso-8859-1?Q?MaMnCXi6pwgK/mqCxNgMQURFgMwfwRMHGYLSx5xOnfqzHzjjBYBv5laWvo?=
 =?iso-8859-1?Q?kgPb9fz9Zw+h6FCmNe+bCmls2ahvd7mHoh2fHCLu4XDqsR65Zx6r0K/ddh?=
 =?iso-8859-1?Q?TSoJYb8lvGoPxV7N/kiIyJypSI86hWf04gN3jvfsngwqh0IfgyBIkw5k9D?=
 =?iso-8859-1?Q?XZ4J/jFw46jta/Fp1hOyOjIIV+0fgL9sybHf7abr9NuWsO0Q9WIH+F6IcT?=
 =?iso-8859-1?Q?UiKPGjEUpcQn84HPI16FvarpI4hVimx6mgi/d+50QohrXjj1KWoYRqrYX2?=
 =?iso-8859-1?Q?naL6bA4mDxzKVzyiOn9s7+bb+iHfAhQtmrWydvsX2Ky3S4OTD0OgJL36Zj?=
 =?iso-8859-1?Q?jum3t1dhvKcvE39d2REcqx8LFNT3ObMrSBUu6kosMNBcx603xnZvuiQif0?=
 =?iso-8859-1?Q?oqW+/zC3kAUDPfBj+hpZlYECD5NldH3Ffwo4Pq3vS/yBYAf+2fw0/PzBhg?=
 =?iso-8859-1?Q?s9WKh5z5oPM+rCVIUyZJRI6Bo1s15rotYakMhN7Y7+IrEqitrcnKXaFCaW?=
 =?iso-8859-1?Q?TCczMCcVGEXZxJrf+AFUo+p7ZOmcyNQ6OY4YTbLmgtjKwXbAo1JvD8Tpyq?=
 =?iso-8859-1?Q?KMnC/+J84YOkiL5IcTH77ZMlSHer8aJeSI90uLxV2uuZo3Ot35o14QioIv?=
 =?iso-8859-1?Q?Y3m43uJdQ+OdjtqsJPaqrwBTqLC4VRPKj6D37JqbYKmEPtNoAqWq9i2h6L?=
 =?iso-8859-1?Q?ehZrMuYk4Pkowc6EOg4/T70ny+QTIIQrxFM0XixqikLAJkd8KQcai2913k?=
 =?iso-8859-1?Q?+jbNbhnQ7UXwROQlcGnfvsOPpFk81kRyOwhKbf/kfB7WRnkLp9lxeUdfQA?=
 =?iso-8859-1?Q?ESgx0YQVzR0qkvtbRDioVKJ6IyUcsCWPWnNb/KoLOg3A=3D=3D?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB7PR03MB4140.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(42112799006)(376014)(1800799024)(38070700021);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?8xIaM9sYE2XgZ79v8+OjO+6nZrdmGcmUWNd57khedkelSaMdOhawa6+YYV?=
 =?iso-8859-1?Q?aZksuS7YSq3BBrI+GCcNd6C61ewAIwk1TNEY4K5O29Apn3RwpXQMVuzRdw?=
 =?iso-8859-1?Q?X4zMz/0rZSM/b8SN/2nJgDqG51d7tkmilsCoox6X9FNMgLJ2uM/xXAozsf?=
 =?iso-8859-1?Q?FalfViKC+DJSnWGkycTo4++WsStSf7cOSPBdjx0mnv5P+AWeyyQ77x5GOt?=
 =?iso-8859-1?Q?ErFZUx1VlBRexYAM/EPyR5vX1f70If3r7Oatfd17af35XRNJoOlK6mdvHK?=
 =?iso-8859-1?Q?CTdNM6tmQrbLKmRUo70NvjH1wtKWFF/JajsZyABDSxHxCXwcuwSxmag3lF?=
 =?iso-8859-1?Q?+OJkAxOY+IuttCytan7BMo0kkgypTUMKRGt3j/+DJxyuy+h7YxxSuRQ69S?=
 =?iso-8859-1?Q?KxqMl0Esi2tYvgvrbEiGxCn7qQbC8sbU3SOLDzOYAXuyYyd9U46Q9I/eRe?=
 =?iso-8859-1?Q?YEx93zN+Omj8mdKSqLoypJUnRL9NlzvamS5gn+TX0Aa8DdVT7dcRRZHNIS?=
 =?iso-8859-1?Q?gI/ExSp6NlJ/Us6Tx0dvxZK2Xr7TLUtDuXcdDZukkece59KHpnXnH7pFc3?=
 =?iso-8859-1?Q?xTClRsUYXqM6ZmQjpSKcTOO3bOSq0WgEhbfHyRmcfUCaLHnphZK/joBE2j?=
 =?iso-8859-1?Q?pfAlyWyfERfxzoLyab7fO02abJuJtt1PReSU1TRvHLA2Xp7kC2VZeyjX6s?=
 =?iso-8859-1?Q?DZWPzRm739dGHGEgxhg/NZQjH9MjKWITRYWCPCOW4L4dIsUsBN4dkf4vuy?=
 =?iso-8859-1?Q?abX/nGW/vP8XMfouFw54RIBEAF9M03Y4IWL8sMsy6p4frWLzoBmi+gjZnz?=
 =?iso-8859-1?Q?+l8EMdRJ1of+NQTNxql/yLfvtOPUumr1hzAEI3+VGwzG0Rj3ofPW9Nhwx0?=
 =?iso-8859-1?Q?Q4BzlzisL7TUEn1JpLJNDNt/IDk9mDnxhAeCsgqzK8u/oOtPvh/EggPnF2?=
 =?iso-8859-1?Q?c7EocEZZj43obV42z0al+8Jl2wbO6HIxlGvWqX6XkZ+gQqQfbtz3K2Nv0z?=
 =?iso-8859-1?Q?H7hv8ycUPs21COBUBZJeky6CGHmg3OAb8vrVArXAAMF0VT5O3aVzcaiyxC?=
 =?iso-8859-1?Q?+IR4W/arP3ThnU2oQQqoY5SIqhHgHHVq/xZ2mLz0CcF9IFY0loj8LBmk1T?=
 =?iso-8859-1?Q?ZBXXdo4Ea2rdRdfyjaG7j8g8fyoTNpafqJidSi9Nj0ZOp4HpW6fTyDYK6U?=
 =?iso-8859-1?Q?27qUfE9mJE+EJ01G7ICb8m9GzzC7EPRNFnOwO7LN/JoK4qtbXEg5HRUjK9?=
 =?iso-8859-1?Q?+YO1mReJxaPiDkpSt/lcYeupurrs5W1fAbdUU2+bkNguVE+PDYCKCJeUpO?=
 =?iso-8859-1?Q?RL2jDHQlhl9uFr8yIWKLq4KMHK/A6oDwtPUhMAkjdEh39VU7OhVZsq/TWE?=
 =?iso-8859-1?Q?b5iYpIbJfkdo/bkpksDkwy/+Hdg1TwBEnZkndRlVQF3pk+xsetSFgjkeCc?=
 =?iso-8859-1?Q?yoijzltGNA82o/7PCRA/jSWD6BjVrwU4TFgG6uyhwCbClil56bXIHKMLOG?=
 =?iso-8859-1?Q?hCqaXyw5NTSB/OphQ8dl94VX90PUq4Ws/q88tyAzWtZLWGe0C5qA0LUOGy?=
 =?iso-8859-1?Q?Vhf0CErGklRTDvJQfg3FGOPo9/J/IpYCvZUZIYw22GPVCM9WHSxzvHhb+i?=
 =?iso-8859-1?Q?E2/n19XVrcmYo8CZdM93h7bA5dViZT3dG3POKm32+6Hfl7s7/bdfdj6w?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DB7PR03MB4140.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 72e36a19-8d62-471f-b904-08de159d7a63
X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Oct 2025 21:12:04.0315
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 5TiCk7obRtmlwd+JIal8Jhy1mPTujF1psMDY9T5yNI9IU0aEJFpXkTltgfPRhOP/jzknDDGUW5dKDZYYbGvOhE9SwzzMoA67G2df7lqlr5k=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR03MB10780

MISRA C Rule 11.3 prohibits casting between pointer-to-object types that
are different types. The original code used a macro 'NextMemoryDescriptor()=
'
that performed a non-compliant cast from 'UINT8*' to 'EFI_MEMORY_DESCRIPTOR=
*'.

Change 'efi_process_memory_map_bootinfo()' function parameter from
'EFI_MEMORY_DESCRIPTOR *' to 'void *' for the memory map parameter. Replace
usage of 'NextMemoryDescriptor()' macro with compliant pointer arithmetic
on 'void *', followed by a single compliant cast to 'EFI_MEMORY_DESCRIPTOR =
*'.

Signed-off-by: Dmytro Prokopchuk <dmytro_prokopchuk1@epam.com>
---
Changes in v2:
- removed 'NextMemoryDescriptor()' macro and used pointer arithmetic like i=
n x86

Link to v1:
https://patchew.org/Xen/78112778d6fd5f720f7102db7125c844b747a962.1761242341=
.git.dmytro._5Fprokopchuk1@epam.com/

Test CI pipeline:
https://gitlab.com/xen-project/people/dimaprkp4k/xen/-/pipelines/2123465709
---
 xen/arch/arm/efi/efi-boot.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/xen/arch/arm/efi/efi-boot.h b/xen/arch/arm/efi/efi-boot.h
index 7844b9529e..ea59de47e7 100644
--- a/xen/arch/arm/efi/efi-boot.h
+++ b/xen/arch/arm/efi/efi-boot.h
@@ -191,15 +191,16 @@ static bool __init meminfo_add_bank(struct membanks *=
mem,
     return true;
 }
=20
-static EFI_STATUS __init efi_process_memory_map_bootinfo(EFI_MEMORY_DESCRI=
PTOR *map,
+static EFI_STATUS __init efi_process_memory_map_bootinfo(void *map,
                                                 UINTN mmap_size,
                                                 UINTN desc_size)
 {
     int Index;
-    EFI_MEMORY_DESCRIPTOR *desc_ptr =3D map;
=20
     for ( Index =3D 0; Index < (mmap_size / desc_size); Index++ )
     {
+        EFI_MEMORY_DESCRIPTOR *desc_ptr =3D map + desc_size * Index;
+
         if ( !(desc_ptr->Attribute & EFI_MEMORY_RUNTIME) &&
              (desc_ptr->Attribute & EFI_MEMORY_WB) &&
              (desc_ptr->Type =3D=3D EfiConventionalMemory ||
@@ -227,7 +228,6 @@ static EFI_STATUS __init efi_process_memory_map_bootinf=
o(EFI_MEMORY_DESCRIPTOR *
             }
         }
 #endif
-        desc_ptr =3D NextMemoryDescriptor(desc_ptr, desc_size);
     }
=20
     return EFI_SUCCESS;
--=20
2.43.0


From xen-devel-bounces@lists.xenproject.org Mon Oct 27 21:13:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Oct 2025 21:13:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151787.1482320 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDUXA-0000I9-8p; Mon, 27 Oct 2025 21:13:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151787.1482320; Mon, 27 Oct 2025 21:13:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDUXA-0000I1-5W; Mon, 27 Oct 2025 21:13:44 +0000
Received: by outflank-mailman (input) for mailman id 1151787;
 Mon, 27 Oct 2025 21:13:43 +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
 <SRS0=de0O=5E=epam.com=dmytro_prokopchuk1@srs-se1.protection.inumbo.net>)
 id 1vDUX9-0000Hr-AV
 for xen-devel@lists.xenproject.org; Mon, 27 Oct 2025 21:13:43 +0000
Received: from GVXPR05CU001.outbound.protection.outlook.com
 (mail-swedencentralazlp170130007.outbound.protection.outlook.com
 [2a01:111:f403:c202::7])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d00c0565-b379-11f0-980a-7dc792cee155;
 Mon, 27 Oct 2025 22:13:41 +0100 (CET)
Received: from DB7PR03MB4140.eurprd03.prod.outlook.com (2603:10a6:5:34::10) by
 GVXPR03MB10780.eurprd03.prod.outlook.com (2603:10a6:150:226::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.13; Mon, 27 Oct
 2025 21:13:38 +0000
Received: from DB7PR03MB4140.eurprd03.prod.outlook.com
 ([fe80::e16e:b655:974f:43f3]) by DB7PR03MB4140.eurprd03.prod.outlook.com
 ([fe80::e16e:b655:974f:43f3%4]) with mapi id 15.20.9253.017; Mon, 27 Oct 2025
 21:13:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d00c0565-b379-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=XQRybI8wXl4d2GV86O9NiZoJsxOni3OR6l81hoXzC6L7Hb8wxSGvM89aJMxKl4JVMVj289iWtxqY1IozoDDHbU5O5xdZs9sbKV3beST00SDcRe6p7dWz9FnRJmcL0JOg/cAAXywD6m5xHSRQfYW/slDKt8nStfa/qG0EPo9/BqxHAgO2ZY5dvSKORRjX0LEF7ajoXCm3GTGyLtpIRT+fYSB6rt3EaEcbWEtabXpwAisvZOOVHmmU7l+MXpxCN/fAJW9+2LFh72O/VU2I5KOG8uDpaHBuA5MmT2RibP3f1q563Biypy3SGgv0qHcnKn52gnKMURi2Nl4g0lo5Jh0asQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gcmCZIr32s3TT5kr9ozaZ8XBlM5npTBDs6uG5N73rsM=;
 b=KO10bsCtrc4Da21cqHiZk5bEQHAdlDhpTaiQo3kkYRLAhqpHaAOGAbABgJUsAhEdOe01dnNBAKWouMLHN4o/tSLTEDNtbzfJ2l274CjDJAMNTDdK6Tat8SVyp/F0y+aMnnFlN3szn0Yk6O71y0RM1lC0cnRTIHK9kIiETUGx6tAWjwPrUMmOt4NhZ29h0T+m4+ZCKazMdPPEC1itnl1Fnt/wS4JMpg22AbU8ATxIQnthKG6S0BavWJeyNGvnJ/CBTARDGXKLiYBkH3nv25RoB223fM1kHG4XlvPpXwf0cGD8FU9hN4GhoUGJCJZ8zS0f2GW08w2QwiUGSujSbntHTQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=gcmCZIr32s3TT5kr9ozaZ8XBlM5npTBDs6uG5N73rsM=;
 b=TQW+vLgT5lKbrfGiWWzqJfNN+ktA8b4yQBXxQpSb59mZs0aHS+SXNfDz33fbnW+AwGiRUrQ0MUggKhbvyIBrDwPcx15ijC4h3CIFB6frfaqm/Zqx+Do0RF2x/o2Uyma6hNeV3OoWRyCe1+YhGKovaAtqbsmGkmMn6MEFTXgW6EudwqJOZ3sr6tTypzK6ZZ1rOvAym3n1NZgEe1f+rWuaxrbMlTnWStorWmiKlX1KBlOe8bfWfcKXZ9moAoDI/11Z0w0xk6Zd65vHr6SANP3AlCBT2xy+LPmQL9QI95JeIZF+h8EXd0MJ9lcHQgXCX+ZR+OYLGTzKqjHAMqh61UJ35Q==
From: Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>
To: Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Anthony PERARD
	<anthony.perard@vates.tech>, Michal Orzel <michal.orzel@amd.com>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>, Stefano
 Stabellini <sstabellini@kernel.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] misra: address Rule 11.3 for NextMemoryDescriptor macro
Thread-Topic: [PATCH] misra: address Rule 11.3 for NextMemoryDescriptor macro
Thread-Index: AQHcREbgd161cNZLPEqc4+KUMk5T6LTQ6yIAgAQN1YCAALvbAIAAz76A
Date: Mon, 27 Oct 2025 21:13:38 +0000
Message-ID: <66c112d7-547c-493a-a1fe-690b198175a7@epam.com>
References:
 <78112778d6fd5f720f7102db7125c844b747a962.1761242341.git.dmytro_prokopchuk1@epam.com>
 <309b29ce-2e32-4f9a-9436-051cf65c0780@suse.com>
 <c64c1733-e2bb-4fff-b969-5b075ce75f04@xen.org>
 <f927e76c-6221-4833-b4ff-2e9cb0673ada@suse.com>
In-Reply-To: <f927e76c-6221-4833-b4ff-2e9cb0673ada@suse.com>
Accept-Language: en-US, uk-UA, ru-RU
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DB7PR03MB4140:EE_|GVXPR03MB10780:EE_
x-ms-office365-filtering-correlation-id: 9bd73d96-d732-46b2-c6ac-08de159db2da
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|366016|42112799006|376014|1800799024|38070700021;
x-microsoft-antispam-message-info:
 =?utf-8?B?T0VzTVN0eWxpWld1ZXlLNzk1ODlNY3VkM1FiSDlhY3prRHE1VVdEMm1TTmV0?=
 =?utf-8?B?NUpUMVFqbEQ2OW8ybkFueTduTDBqSTZ1N3huRWIweHpCOVMwVm5PVGdwM09U?=
 =?utf-8?B?TzBCdXUzR3p6V25kZHNOOUxvVW5hOXVBVFhJbmpnelVYajhsLzk0ejZDQW56?=
 =?utf-8?B?L1kxcFJ5ckt2OWtxNXpzNElKT0V0UzlNeGZhZXVWK2pxcVNMeWpIbE95b01K?=
 =?utf-8?B?MzY3Tlhhdm1lOVh0VlYxMUp4ZDdyRTdNWHE3UlZZN0R5Y3AzKzZyOFA4Sjhm?=
 =?utf-8?B?WlJxUFdwQnR4MWQzejZOc0hJYU1qeWtiTTFjdFgwR3l5b1FFQWNKUlBQM29F?=
 =?utf-8?B?a200bVg3OXUySXlaYVVycVRSTXhRQmpmWms4MWs3d3BPN2dsSllPSnhiRmVU?=
 =?utf-8?B?cU9iL3NuNEUyT3JaamxRNnRYOHBoeDlOLzhjaUZRVWlkTTJPR0FuR3Z3bzBS?=
 =?utf-8?B?aDZJdk0zOHgvRFFYWWJ1WW9wYUZOcmRzOEFxaFpTNmFhTzV6RlVyL2ZwbWlt?=
 =?utf-8?B?c0pJVFZnVDhQZS9Zcm1IT1EwZkpxTlNBd1pJTnZhUHFQREdyMW83NnlwdHJQ?=
 =?utf-8?B?d3pNRVhwdWw5aW9uNGNacXBLVGRFaUxqUXhQang1NHlLWktuUzcvOFF0VEU2?=
 =?utf-8?B?cWptS1VUWnQvRCtPam5hOHl4bU1uVXhXRy8zZXM1MzBaQlhIMmttYWpLbXh3?=
 =?utf-8?B?TG4vQmhDS2VYaVBLZ2NBQlZMaktuNWNmdlp6YVM0ejlsR1dnYWZyL05iNk5v?=
 =?utf-8?B?R00yYUNWak5iUUlLL2FRZVEwRS9lSVdpck1iSms2ZjN6ZnRiaGpBRExmVm9i?=
 =?utf-8?B?THYwbHQ5L2g4Q1A5QlBLMnpNYTZmTUZGQXpKaDNSQnBlcVd2Y1R2R0xOcHpR?=
 =?utf-8?B?VSt4aGJVdkRiYk1lcDJ1M1NWQ3RJcmhpV1ZLRlVRRUFlMHQ3dExac2FPaStX?=
 =?utf-8?B?UUJMWjRIb1hPSEJQNzgrTURUY1NvOFErb2pFR1QzNVcvQW40eDRHVkhUOGkz?=
 =?utf-8?B?NjJ2TzN4cjA4NDZYaVlIOVQxVVVLd2NnQXAweGhmYU1ld3g4ZTRNUmROcTBl?=
 =?utf-8?B?T3ZlN3d0MVBLa2N2L2d1V0ptb0FsOU9Fb0hJMnFOY3VLbzNwRUo3c3luWEFn?=
 =?utf-8?B?eWVjZ0U5NnRhSEJpVXZOdDNOT09VKzhhWkJReWk0Q2hNWlIwRVQvVGlEU0JG?=
 =?utf-8?B?ZWJmQS9PSFU2RFIvOUhjeDE1eG13SVJTbXdsWS91NGNmUHFpMGpyUjZ4Y0wz?=
 =?utf-8?B?RUsyc3V2cEl4K29jaTNFT0VjQmNNbW5PVE9lQmZUUWhOSjZYMnF0ZU1NWmM1?=
 =?utf-8?B?OEl0R0ppdVBjajhVQUNHVU5vZTJFYi9vTkNxTlBqR21PWXhlL2FYSlJyMGdw?=
 =?utf-8?B?UjJHRG1rUXFDelE3WFZvZWpuR2huQWIwRGV3QTdzUmcvZ29tZ1ViZ0Z6a1VU?=
 =?utf-8?B?U1FmQ0UyZkZnaHppZ0tKRGF2Mk9MKzUwVUE1ekViZkRxWjV2ZWV3UTBXQlV5?=
 =?utf-8?B?Sk5DNzc2d0hvdjN6NUtDc0p6Z0t2R1oxdVBRWmkxTzA5VWpVaXRxYWxFMkxz?=
 =?utf-8?B?b1AvSkJPS2M4ZzNYVStVaXZOWVFJUzVHeGI2MVg5N01mS2dUK2JkMkcrUXQz?=
 =?utf-8?B?RmhUNStRNkU0SmhCSzFnTUNiempkcEl3azRRb0JicDhqN0cza05hWk1peXFJ?=
 =?utf-8?B?NXNVazdDVXl3SEJkUmIwWHIyTUVzYjY1Vk1lVytFWG9QYWtmUFRxdDNMaHZN?=
 =?utf-8?B?N1ovS2k5KzB2Q0FmQVpkUzR1bGg0ZjRqNXdtRTZwM1lILzJFVGhFU2hPblZW?=
 =?utf-8?B?YXp1Mkw5NjEvR3Q2azVYejdtcjBkbkZNcm9BOHJpb0l3eWt4ZWVCVlBkZlha?=
 =?utf-8?B?bGZBcUoxZmg5RkdkL2UzbFZMVWJncDZZZUxGV29rd29YR0dSYzlJK004Z1BZ?=
 =?utf-8?B?VVdMQ0xJWDFCMVlHQzgxZkpYOWR6bVNBdVdaYno5Q1FMU1VmTHlUdGR6WnZF?=
 =?utf-8?B?bGFCUlpNd2pUNjZhamNsczRham05cnh0TXlWTXFLM1lySWY5RldzcnRoM2tL?=
 =?utf-8?Q?CYrXcK?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB7PR03MB4140.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(42112799006)(376014)(1800799024)(38070700021);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?YUV2STBFWUNnTksydWVYcGJXN2t6ZW5qaGRhRmJqcEFVT1VvcTJmaGlaWjZE?=
 =?utf-8?B?eU8zRXZicmdndXVkUmxJdVFZT2dLS1duVzNNcDhLbUQycHd0OE9ES0p1MnBa?=
 =?utf-8?B?aFNpZXNTOVY4U0oySG1qTkVvanVoREFKVmVnK29yL05ZYVhsTThyUTFqUjI1?=
 =?utf-8?B?bCt0VlAvaXVBa25UZDJ5bXp6amV6aHZDVW5aQW45ZHBqejZseVZjamhlVlkv?=
 =?utf-8?B?b1M3N1JXNkgzRHVYdVJSaEFmejlIUzJVQlNucGlYekdsaVROSnhBanNycFl2?=
 =?utf-8?B?aDNKUU1MNlZYVHBTVDlpOVdQT2pseTZiVDNzcUxzTDZlUWFLZXUxOWVvVi9p?=
 =?utf-8?B?UVl4MzBmTFdMVEtydDBxU09YK1VMNjc3YTR6NTJQZEFXbzJPUFpKd21YNVhu?=
 =?utf-8?B?VVJhVjZBMlBwSUloMG9OdzVtc0tKUUl2bXFMR3RUNGEzcExpWlgwNTFQOWJK?=
 =?utf-8?B?OElLRXR3K1FpTmp2S0QyM0E3bkxhZVlES1RScHhhT1I3STZGZjNtcU1vQnJK?=
 =?utf-8?B?VzlickJSenVaYVE3NEdwcWs0VlVMa1l5UGdLaW9LV0pIRnVEME9jenJ3OHJ3?=
 =?utf-8?B?TmZ5cHQ4TjBkLzVjTkxES2d3Vkd5eFhBL0ZyVithNFF4cTMwRURsdnZiaHpO?=
 =?utf-8?B?QXNBOGtnZ3Q2cnhHdllkbkhYa1BEZVpSU1E1SjZrNTJ6S2dCZGM5YlBXNVZr?=
 =?utf-8?B?TkdHa2l5Vm5GZnNhMjY4aGlqN2ZsMmJnZ1dXUkN5L2xORWdLTGxxQVZqTUJi?=
 =?utf-8?B?cTNjNzdkT2VlT2JkUVA3b2VjK1UxKzRiWGh1UWEvWFlsQ001d0lETW5IYU9Z?=
 =?utf-8?B?bHJPdnp3MTJDd0RVY2t3a0UwbnhNQmhXblpBaEU4cnFlV3dKeFJaZFErY2lk?=
 =?utf-8?B?MW9vRXUwS256amxaQzZYZjRWdm5TR0FuRVRzcDdOUGk2Tnp1M2lmRFptcFJ5?=
 =?utf-8?B?M0JrYkF4Umo1S2hjMEd1SENUNU1kOHBrbjQvNGp2ajN2eXNYN0Q0ZXMwVUF6?=
 =?utf-8?B?THA3VnRuNXY2d1BhMmQ1Z2d1OGpUTHozR295d1JsbVpIbGhWeDhSSlQxVWdC?=
 =?utf-8?B?TkpXUXNvN2h1eWNVTFVuRTRmcm5ramhKQUpINU84YjBSUVNTWjk5blVZQlVC?=
 =?utf-8?B?K1JHQmNnRmJ1cjFBekVkK3BSUXlpRzFJNkR6UGZLb1hobUhzY1FwQS9kcFlC?=
 =?utf-8?B?VG9iRzFucnhFZFVMV0YrNTdKS25WK2c5R3J3THptcWoxa3FXN2ZXTEhid2Rx?=
 =?utf-8?B?dks4Z0J2cU02TkVxb2h6WnBLT3BBVW4vczZkNjNETDJ3RXVuS0cxYmFZb0dX?=
 =?utf-8?B?NlV1MDFEVk5hRlNnRlJqQlBQMlVEelNmM1lEbWpkZG50Y3FOaGFOaDg5bW5x?=
 =?utf-8?B?VFZZbTJ4QnYyMVhSVVBTdEoxZ0RMcGZTbkxsc1grUUxsdCtmbktHUmFZNy9K?=
 =?utf-8?B?dFg3VC9GZktsOVdQMWJQMGU5RmcwNkRrb1FzOXVNL3FQczJ0bWcwV0tzTXNo?=
 =?utf-8?B?bnVOaE1HWmRldnFieVRuamV3cmRDcGIxcXEzQkM4cno2Nk8zTmJpWU54YVBJ?=
 =?utf-8?B?Qlg2UHg4eUgrU1BYcXNwV2NKeWtHRTZKNVcrREc1RjhIRmtMNUVFbVhjZllR?=
 =?utf-8?B?QkhKcG03Q1puVCtBZEFPT0dURjdqQzFReHByMDRyQ3l5cDczVVVUdlR4ZThn?=
 =?utf-8?B?QzJmWUFualRuYmpFRUpzaEFsSEJCU0t6b3ltVGJXdGJNRi8zeHkyOU1IbGFD?=
 =?utf-8?B?UUVVNU9hZS9UK1hRNi9nMi9CdEFNdXl5Um1ya2VKcEMyMm5sck1OM2wvNUhh?=
 =?utf-8?B?RjZLbmhqVFFPV2JjLytncDlrcnRZcDEzWHJSQWFyWGdadkRsa0VaZ0w3Nmh5?=
 =?utf-8?B?OENXV3BRdzkwYXBmR2tpWEJTdnFMWENwb0xNSURxSHZJOFFCaDVoMlZjakFn?=
 =?utf-8?B?WHhQazIwNnYrUEd2RmtkWWJhZkl4SHFsaEh4M2pLdTllaTZGR2grbHlRb1A4?=
 =?utf-8?B?YjZCWTVwcENoMHZHWEUzWSt6dzZWa2RZa2lReDk2ZC94eGdiamdKek5EWm9T?=
 =?utf-8?B?a0FFeFpXelN5MWdDbDhzWC9GMTJ4bUE4OWxTbUdZSXJKbGdURGhXNGx4eVFa?=
 =?utf-8?B?UnJhbXJ1NmIvUWF3dVVZWlhvK1hWRnczRWFqdm9CMjUwWDdiUVdZdjJhbERC?=
 =?utf-8?B?dHc9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <3163F908B92BEE438DF29069A804F44F@eurprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DB7PR03MB4140.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9bd73d96-d732-46b2-c6ac-08de159db2da
X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Oct 2025 21:13:38.7287
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: +jvareGGvNEASMSD04fD/f0TtIkVg6OR0BKEob1iiKWePN9NUlZ55RbO88zdO08lBTkmFOZUvoWsK1npasqFVB5EG3UhwDP7CCqDiIBJSeI=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR03MB10780

DQoNCk9uIDEwLzI3LzI1IDEwOjUwLCBKYW4gQmV1bGljaCB3cm90ZToNCj4gT24gMjYuMTAuMjAy
NSAyMjozNywgSnVsaWVuIEdyYWxsIHdyb3RlOg0KPj4gSGkgSmFuLA0KPj4NCj4+IE9uIDI0LzEw
LzIwMjUgMDg6NDMsIEphbiBCZXVsaWNoIHdyb3RlOg0KPj4+IE9uIDIzLjEwLjIwMjUgMjA6MDAs
IERteXRybyBQcm9rb3BjaHVrMSB3cm90ZToNCj4+Pj4gLS0tIGEveGVuL2FyY2gvYXJtL2VmaS9l
ZmktYm9vdC5oDQo+Pj4+ICsrKyBiL3hlbi9hcmNoL2FybS9lZmkvZWZpLWJvb3QuaA0KPj4+PiBA
QCAtMjI3LDYgKzIyNyw3IEBAIHN0YXRpYyBFRklfU1RBVFVTIF9faW5pdCBlZmlfcHJvY2Vzc19t
ZW1vcnlfbWFwX2Jvb3RpbmZvKEVGSV9NRU1PUllfREVTQ1JJUFRPUiAqDQo+Pj4+ICAgICAgICAg
ICAgICAgIH0NCj4+Pj4gICAgICAgICAgICB9DQo+Pj4+ICAgICNlbmRpZg0KPj4+PiArICAgICAg
ICAvKiBTQUYtMTUtc2FmZSBjYXN0aW5nIGEgcG9pbnRlciAqLw0KPj4+PiAgICAgICAgICAgIGRl
c2NfcHRyID0gTmV4dE1lbW9yeURlc2NyaXB0b3IoZGVzY19wdHIsIGRlc2Nfc2l6ZSk7DQo+Pj4+
ICAgICAgICB9DQo+Pj4+ICAgIA0KPj4+DQo+Pj4gV2hpbGUgYXQgcHJlc2VudCB3ZSBoYXZlIG9u
bHkgb25lIHVzZSBzaXRlLCBuZWVkaW5nIHBlci11c2Utc2l0ZSBjb21tZW50cw0KPj4+IGlzbid0
IHZlcnkgbmljZS4gUHV0dGluZyBpdCBpbnRvIHRoZSBpbXBvcnRlZCBoZWFkZXIgaXNuJ3Qgbmlj
ZSBlaXRoZXIuDQo+Pj4gQ291bGQgQXJtIHBlcmhhcHMgZ2V0IGF3YXkgd2l0aG91dCB1c2luZyB0
aGUgbWFjcm8sIGp1c3QgbGlrZSB4ODYgbWFuYWdlcw0KPj4+IHRvPw0KPj4NCj4+DQo+PiBJSVVD
LCB5b3UgbWVhbiBzb21ldGhpbmcgbGlrZToNCj4+DQo+PiBFRklfTUVNT1JZX0RFU0NSSVBUT1Ig
KmRlc2MgPSBlZmlfbWVtbWFwICsgaTsNCj4+DQo+PiBJZiBzbywgdGhpcyB3b3VsZCB3b3JrIGZv
ciBtZS4NCj4gDQo+IFJpZ2h0LCBwcm92aWRlZCB0aGF0IGVmaV9tZW1tYXAgaXMgb2YgdHlwZSB2
b2lkICogb3IgY29uc3Qgdm9pZCAqLg0KPiANCj4gSmFuDQoNClRoYW5rIHlvdSBmb3IgdGhlIGFk
dmljZS4gSSdsbCBwcmVwYXJlIHYyLg0KRG15dHJvLg==


From xen-devel-bounces@lists.xenproject.org Mon Oct 27 21:31:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Oct 2025 21:31:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151796.1482330 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDUoO-0003FH-Kj; Mon, 27 Oct 2025 21:31:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151796.1482330; Mon, 27 Oct 2025 21:31:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDUoO-0003FA-Hy; Mon, 27 Oct 2025 21:31:32 +0000
Received: by outflank-mailman (input) for mailman id 1151796;
 Mon, 27 Oct 2025 21:31:31 +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
 <SRS0=tA0f=5E=gmail.com=samaan.dehghan@srs-se1.protection.inumbo.net>)
 id 1vDUoN-0003F4-Gu
 for xen-devel@lists.xenproject.org; Mon, 27 Oct 2025 21:31:31 +0000
Received: from mail-il1-x129.google.com (mail-il1-x129.google.com
 [2607:f8b0:4864:20::129])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4c37aae6-b37c-11f0-980a-7dc792cee155;
 Mon, 27 Oct 2025 22:31:29 +0100 (CET)
Received: by mail-il1-x129.google.com with SMTP id
 e9e14a558f8ab-430d06546d3so47128135ab.3
 for <xen-devel@lists.xenproject.org>; Mon, 27 Oct 2025 14:31:29 -0700 (PDT)
Received: from wirelessprv-10-195-113-235.near.illinois.edu
 (mobile-130-126-255-145.near.illinois.edu. [130.126.255.145])
 by smtp.gmail.com with ESMTPSA id
 8926c6da1cb9f-5aea73dc10bsm3577491173.7.2025.10.27.14.31.26
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Mon, 27 Oct 2025 14:31:27 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4c37aae6-b37c-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1761600688; x=1762205488; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=S5flQN2+DVKOQ4Kbqjyc43ZkLPZFyCReYvsM6zkADKI=;
        b=jYt1x94ZCOpePJdVzEt/WYhGpNSdtceclzlxmb63GURyAxyIk2zbDoHI4k2mmdyn+g
         pEguL4OO3ANtRj7o5LG+4/dSVyLPScKRZ1NIw9lTvTG6dRtciQ+mHWzeChyzMsDyJGte
         5mmKKXtGFvsaIUPOBhLibz1EdQtIPjJZ9uxQ85jnSwOW/ikB1UEGTH/hcG7R9sP/ZM7R
         lS1xr/HU7MUn/LjwP6jqI7CSQiy3yPjdBgHTNoow7sxaz96cOo67fJWW5+37vpG+LOil
         ji/rPMIYL7lrBtWdpxzCBZPLa5dBOgG3e4RV05PvU2OlummpNMR2/Cq3Zxh0U53Wgzeu
         iXew==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761600688; x=1762205488;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=S5flQN2+DVKOQ4Kbqjyc43ZkLPZFyCReYvsM6zkADKI=;
        b=Md220kZ4ua9XwoAVxnKpW+wruaRJ3PdUsJ6DoHhNY46rM+7K560VICLr+hDFh27vN0
         R8bR2lBab7AxBdzvI4nRIxz89302FHljJTMQT6VWh8axcbYckZCJxCRpKzFhzJr7L4mW
         Ffd9MrKTyo90qH04St1RkoWaFNGtxg8BGY5FT02mEwzOsVnu/HJ+raL7G2oZtfwG0Bkg
         Fhsd4ybvVo15/7STajLNryBqP7pln+I4cuTDOkrQ7nb7GeIP3RFl6r2H3pFzYiWiPZsm
         9DoMbplwRGUQElQklDLr68s40I+CzaorDBb4OUZGFKlFGWKcn8lwGUGzx29Kug48Sx9j
         mEAA==
X-Gm-Message-State: AOJu0YyvNjYZ5k5zXDgOJlaogv2ewQH/os1T60KjI5Zo0+4c90jqO07p
	y5LRV4FfoF08D9SBtBctU0LgY4b6dOinus422PaizBAYcrCdmyk6bPyGUpcl3Ss=
X-Gm-Gg: ASbGncv89b+ypNJdU5j7yeZCAdmJ/UK/yNt5tDiU1jfAZmYmiRB1Zo6TTKl45ohF2Nu
	xV+8x1Rw3+ul1CP55pvS0K8a00kCNPAQW99ZlmDzaGgVnuCQKsMs2oxJZoV2ZaRdwqlzozJaEgl
	b34KpHUfUsFKNVvL5TURaM8PifDX4hktf2BFrYpHiUF2ZZSxoGz/BL0u2x93a54xHbm+E5OzYBp
	xuj+lVSiAd6SauGBUObPwmke7khOjA0OB+AUbRt63JcBhUV43VysOzqsBXOrCGgTpjG0lLIvpVb
	R5zJwCt2wbobKQ+5b4jH2bTjVEHaRbZPm/7VX3WEJwNfKOalZnyOXMqY8gqv/oC9kzlOvblYdWm
	agmGKRTFeZfHcBOLmQcBbPWxxJdw8htBbcY2yslrVz64IG1+Bj9Wb5u99uwYuNOlssGXWFh/vSo
	HwineYeYoqiDB6/XaApBfbb8qIhkmMAEMVPEOt2NqxOuUycXq1wxy4Mvpq7SEOyWceloFc27PXJ
	X9AeJ68R0GKYDscAf4VAcoAQ7VQ8AXNDhAw5KPRic/WAoZc/Zg=
X-Google-Smtp-Source: AGHT+IEm7pte/PLitjU4ni195C4zq4LfZ9T2dBx1GBmVHJ90HbhEGAXEDN1OYFBzJ+g/aYCBjTWovg==
X-Received: by 2002:a05:6e02:16c6:b0:42d:8c07:70d2 with SMTP id e9e14a558f8ab-4320f7cb417mr24477155ab.11.1761600687578;
        Mon, 27 Oct 2025 14:31:27 -0700 (PDT)
From: Saman Dehghan <samaan.dehghan@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wentao Zhang <wentaoz5@illinois.edu>,
	Matthew L Weber <matthew.l.weber3@boeing.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH v4] xen: Support LLVM raw profile versions 5, 6, 7, 8, 9, and 10
Date: Mon, 27 Oct 2025 16:30:51 -0500
Message-ID: <6f708273afb6de9c5f26f2c71c34c98e957904a0.1761599320.git.samaan.dehghan@gmail.com>
X-Mailer: git-send-email 2.49.0
In-Reply-To: <06646f747f21c3f388cf6e9d59a20238a4a91170.1761263588.git.samaan.dehghan@gmail.com>
References: <06646f747f21c3f388cf6e9d59a20238a4a91170.1761263588.git.samaan.dehghan@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This change enables compatibility for measuring code coverage
with Clang versions 11 through 20 by supporting their respective raw
profile formats.

1- Added support for LLVM raw profile versions 5, 6, 7, 8, 9, and 10.
2- Initialized llvm_profile_header for all versions based on llvm source
   code in compiler-rt/include/profile/InstrProfData.inc for each version.
3- We tested this patch for all Clang versions from 11 through 20
   on x86 platform.
4- Fixed linking warnings related to LLVM profile sections in x86.


Signed-off-by: Saman Dehghan <samaan.dehghan@gmail.com>
Release-Acked-By: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Tested-by: Wentao Zhang <wentaoz5@illinois.edu>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
Changes from v3 to v4:
  1- Use LLVM_PROFILE_VERSION in preprocessor conditionals
     instead of __clang_major__.
  2- Use DIV_ROUND_UP helper.
  3- Remove unnecessary zero initialization inside struct.
  4- Remove fallback macro definitions in linker script.
Changes from v2 to v3:
  1- Additionally support raw profile version 5, 6, 7 in clang 11, 12, 13.
  2- Fix coverage related linking warnings in x86.
  3- Revert unnecessary type changes, casting, etc.
---
 xen/arch/x86/xen.lds.S     |  6 +++++
 xen/common/coverage/llvm.c | 54 +++++++++++++++++++++++++++++++++-----
 xen/include/xen/xen.lds.h  | 13 +++++++++
 3 files changed, 67 insertions(+), 6 deletions(-)

diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
index 966e514f20..5d02f83a40 100644
--- a/xen/arch/x86/xen.lds.S
+++ b/xen/arch/x86/xen.lds.S
@@ -186,6 +186,8 @@ SECTIONS
   } PHDR(note) PHDR(text)
 #endif
 
+  LLVM_COV_RO_DATA
+
   _erodata = .;
 
   . = ALIGN(SECTION_ALIGN);
@@ -323,6 +325,8 @@ SECTIONS
        *(.data .data.*)
   } PHDR(text)
 
+  LLVM_COV_RW_DATA
+
   DECL_SECTION(.bss) {
        __bss_start = .;
        *(.bss.page_aligned*)
@@ -357,6 +361,8 @@ SECTIONS
 
   DWARF2_DEBUG_SECTIONS
 
+  LLVM_COV_DEBUG
+
 #ifdef CONFIG_HYPERV_GUEST
   hv_hcall_page = ABSOLUTE(HV_HCALL_PAGE - XEN_VIRT_START + __XEN_VIRT_START);
 #endif
diff --git a/xen/common/coverage/llvm.c b/xen/common/coverage/llvm.c
index 517b2aa8c2..532889c857 100644
--- a/xen/common/coverage/llvm.c
+++ b/xen/common/coverage/llvm.c
@@ -44,27 +44,65 @@
     ((uint64_t)'f' << 16) | ((uint64_t)'R' << 8)  | ((uint64_t)129)
 #endif
 
-#define LLVM_PROFILE_VERSION    4
+#if __clang_major__ >= 19 && __clang_major__ <= 20
+#define LLVM_PROFILE_VERSION    10
+#define LLVM_PROFILE_NUM_KINDS  3
+#elif __clang_major__ == 18
+#define LLVM_PROFILE_VERSION    9
 #define LLVM_PROFILE_NUM_KINDS  2
+#elif __clang_major__ >= 14
+#define LLVM_PROFILE_VERSION    8
+#define LLVM_PROFILE_NUM_KINDS  2
+#elif __clang_major__ == 13
+#define LLVM_PROFILE_VERSION    7
+#define LLVM_PROFILE_NUM_KINDS  2
+#elif __clang_major__ >= 11
+#define LLVM_PROFILE_VERSION    5
+#define LLVM_PROFILE_NUM_KINDS  2
+#else
+#error "LLVM coverage selected but an unsupported clang version is used"
+#endif
 
 struct llvm_profile_data {
     uint64_t name_ref;
     uint64_t function_hash;
-    void *counter;
+    void *relative_counter;
+#if LLVM_PROFILE_VERSION >= 9
+    void *relative_bitmap;
+#endif
     void *function;
     void *values;
     uint32_t nr_counters;
     uint16_t nr_value_sites[LLVM_PROFILE_NUM_KINDS];
+#if LLVM_PROFILE_VERSION >= 9
+    uint32_t numbitmap_bytes;
+#endif
 };
 
 struct llvm_profile_header {
     uint64_t magic;
     uint64_t version;
-    uint64_t data_size;
-    uint64_t counters_size;
+#if LLVM_PROFILE_VERSION >= 7
+    uint64_t binary_ids_size;
+#endif
+    uint64_t num_data;
+    uint64_t padding_bytes_before_counters;
+    uint64_t num_counters;
+    uint64_t padding_bytes_after_counters;
+#if LLVM_PROFILE_VERSION >= 9
+    uint64_t num_bitmap_bytes;
+    uint64_t padding_bytes_after_bitmap_bytes;
+#endif
     uint64_t names_size;
     uint64_t counters_delta;
+#if LLVM_PROFILE_VERSION >= 9
+    uint64_t bitmap_delta;
+#endif
     uint64_t names_delta;
+#if LLVM_PROFILE_VERSION == 10
+    uint64_t num_vtables;
+    uint64_t vnames_size;
+#endif
     uint64_t value_kind_last;
 };
 
@@ -107,10 +145,14 @@ static int cf_check dump(
     struct llvm_profile_header header = {
         .magic = LLVM_PROFILE_MAGIC,
         .version = LLVM_PROFILE_VERSION,
-        .data_size = (END_DATA - START_DATA) / sizeof(struct llvm_profile_data),
-        .counters_size = (END_COUNTERS - START_COUNTERS) / sizeof(uint64_t),
+        .num_data = DIV_ROUND_UP(END_DATA - START_DATA, sizeof(struct llvm_profile_data)),
+        .num_counters = DIV_ROUND_UP(END_COUNTERS - START_COUNTERS, sizeof(uint64_t)),
         .names_size = END_NAMES - START_NAMES,
+#if LLVM_PROFILE_VERSION >= 8
+        .counters_delta = START_COUNTERS - START_DATA,
+#else
         .counters_delta = (uintptr_t)START_COUNTERS,
+#endif
         .names_delta = (uintptr_t)START_NAMES,
         .value_kind_last = LLVM_PROFILE_NUM_KINDS - 1,
     };
diff --git a/xen/include/xen/xen.lds.h b/xen/include/xen/xen.lds.h
index b126dfe887..d80c895959 100644
--- a/xen/include/xen/xen.lds.h
+++ b/xen/include/xen/xen.lds.h
@@ -81,6 +81,19 @@
   .stab.index 0 : { *(.stab.index) }         \
   .stab.indexstr 0 : { *(.stab.indexstr) }
 
+/* Clang coverage sections. */
+#define LLVM_COV_RW_DATA                                   \
+    DECL_SECTION(__llvm_prf_cnts) { *(__llvm_prf_cnts) }   \
+    DECL_SECTION(__llvm_prf_data) { *(__llvm_prf_data) }   \
+    DECL_SECTION(__llvm_prf_bits) { *(__llvm_prf_bits) }
+
+#define LLVM_COV_RO_DATA                                   \
+    DECL_SECTION(__llvm_prf_names) { *(__llvm_prf_names) }
+
+#define LLVM_COV_DEBUG                                     \
+    DECL_DEBUG(__llvm_covfun, 8)                           \
+    DECL_DEBUG(__llvm_covmap, 8)
+
 /*
  * ELF sections.
  *
-- 
2.49.0



From xen-devel-bounces@lists.xenproject.org Mon Oct 27 21:43:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Oct 2025 21:43:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151809.1482340 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDUza-0004yh-Ou; Mon, 27 Oct 2025 21:43:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151809.1482340; Mon, 27 Oct 2025 21:43:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDUza-0004ya-MN; Mon, 27 Oct 2025 21:43:06 +0000
Received: by outflank-mailman (input) for mailman id 1151809;
 Mon, 27 Oct 2025 21:43:06 +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
 <SRS0=JYa4=5E=citrix.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1vDUzZ-0004yU-RD
 for xen-devel@lists.xenproject.org; Mon, 27 Oct 2025 21:43:06 +0000
Received: from CY7PR03CU001.outbound.protection.outlook.com
 (mail-westcentralusazlp170100005.outbound.protection.outlook.com
 [2a01:111:f403:c112::5])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e9891c0e-b37d-11f0-980a-7dc792cee155;
 Mon, 27 Oct 2025 22:43:03 +0100 (CET)
Received: from DM4PR03MB7015.namprd03.prod.outlook.com (2603:10b6:8:42::8) by
 DS7PR03MB5478.namprd03.prod.outlook.com (2603:10b6:5:2c7::14) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9253.19; Mon, 27 Oct 2025 21:42:59 +0000
Received: from DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9]) by DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9%3]) with mapi id 15.20.9253.013; Mon, 27 Oct 2025
 21:42:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e9891c0e-b37d-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=zLp/Am5++ZLe5rs5x9q3rRIn/ZcBi/zSSbvVXRyFQ6yfY7AcfAOzGPtALVEceeK/MIjodR+w55Igj64PK5YXiRgWrBnwN16noC1b/XbK3CiRL+Igs5PAw3f2x3pW+mUVadJc4rNxUarjezxwKuyUZNNsannGFSDbYHR70fvbIMBXZV1bOu0NczjK1hWkHA/4iWMSFj/OGcGcUQI+0ioELyuheHIrQW7iuys7Xg77kCycEKBQc8qIWH/JQugciQwPmBqZJ/kFhcTsRmbwvdiigf2NS4243xLnnPLU8SXzYfCYameWx+euBc9ZXTjPunl2CB+SJ44TP0sOUgSm9RaVSA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JdxusukkMrfs6N8bXjciBy17VOiYIH89jb8VvYIkCxw=;
 b=CSASLKIm3jLM5SOODVnk200dNp7hW7p9dlXQ0A9ZWa0JBmtDuKF45FS/mYzbjN4r2ktcBzqz7Ubg3Ez78VoHFfmJlq/6g2pFXF/2YGymTZahY+TppxVsLRSXDaDs2JSijEcSzAOE3RddtWlGgWm/erY9J0b1/pPyzOV9LCXW8b5Y8FrjSOMknH+zzULAguTd+EnaW1MBZKUFEPGySSgZQq9MJofnh9Ap+qdh7krzVMzMLVg+eMrC+5tIu/nqZ1WZ0jE4K2E1njctvRcOxI4hrnVnwbVe4lxMEzHJWIS1yAQAwXCvVD3d9f85bVmI9DEK+kgF2UQph6o7jzm2i1pTMw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JdxusukkMrfs6N8bXjciBy17VOiYIH89jb8VvYIkCxw=;
 b=kPAPTUZwpc0Ucn6DuQ7lcb8EV+SnfYbyGRDfQTrOPFDqHK8rQZuaxkGVw+w31+S44f5FPlpDCxAeg9UgiLnU+mz/EOkr2rnkTbPBj25l6bOxRCTSEb/nMqZEljaeiJiLyEWmSsWfpdXrDZWRiPqUS6ZlMRvSKnHEqBRvUZ/Mirw=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <894f0835-a384-4395-b3bd-98ee130c0ce5@citrix.com>
Date: Mon, 27 Oct 2025 21:42:56 +0000
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/5] x86/ucode: Relax digest check when Entrysign is fixed
 in firmware
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20251020131955.2928261-1-andrew.cooper3@citrix.com>
 <20251020131955.2928261-6-andrew.cooper3@citrix.com>
 <dbe8a444-daf2-4929-921f-704aa5f48cde@suse.com>
 <8306217c-2f7b-4d69-b051-ae1e6b4f443a@citrix.com>
 <78874979-52ed-48f6-a9ba-4ddb6c78c208@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <78874979-52ed-48f6-a9ba-4ddb6c78c208@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P265CA0052.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:60::16) To DM4PR03MB7015.namprd03.prod.outlook.com
 (2603:10b6:8:42::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM4PR03MB7015:EE_|DS7PR03MB5478:EE_
X-MS-Office365-Filtering-Correlation-Id: 7ed69b1a-e318-48f7-cbb5-08de15a1cc05
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?YXd2eENONW5IcFk3b1RTVHU0NEI0N2RFZGhLby9iOU90c2lDZlA3aTlpUk1P?=
 =?utf-8?B?dEpGRWZWTy85bVh6bVMxMnVhQnBIK3haUzhITVgxbDRZb2lnWHZJc2JGTXJa?=
 =?utf-8?B?MlJidjhGM3A1YVBrTHJJZGhXdC93L0JJSkhuMzVSQmpBQkVuM2FkZkdTQTEz?=
 =?utf-8?B?dWlZSEIvdUZqNmQya01ieXlYNHBpTE1QczJob2pCQ0dvbVBqM0cyY3p4T2No?=
 =?utf-8?B?Y21teVpGOWZ6dDE4bTZvaDlIK01DUExhbzQyUDBySHMwNlVRRkErZ1kzZnRw?=
 =?utf-8?B?WFUybEI2NktkZ0xTTENMem5HZllicU90L2ZSS0J6NzBxNW16Ykk0YUl5d1lW?=
 =?utf-8?B?RGZTMnIzMjVwMHVqUEdXNFk4S0pPVnByZVNVZGlXQnhlR3lrdUhaOWIyQXc5?=
 =?utf-8?B?M0phNXVtb25vSXdEbkFBckFyT2FzanZVcWhhYmZZbStlRGJjbEdId05iMGNW?=
 =?utf-8?B?Y1lrTHZvL1pyN1Z2Z0EybUtweDkydEVpWkRVbEIxYVpQZTkxWWlHQ0FQLzN5?=
 =?utf-8?B?V1RYYXZMU3YxTVJjcXIzYkxHT0pvK3RwaFRQYjFQeERmUmxRdExmKzN4Q04x?=
 =?utf-8?B?c1JSUGp5RWtKeWRLK1VHRlo0c1dCM3h4d0tFNURpWUI2N3ZzRzhIQmNwMTFQ?=
 =?utf-8?B?M1MvQkpYNEdHVnYzZGw3S2RLWHBCZ2VEMnRDa2M0dndROURqU2xNc2w2N3Rx?=
 =?utf-8?B?VkVRU3pSYU4wV3RSblBKUE0ybHcvR1JTVlo5NHIvcjRkZHlTREx5YnRtSVRS?=
 =?utf-8?B?anpxbmRsWmdqOFJjb1cyODUzZ1ZVQ09odGRKMmZUYWR3ZFBhZWJOdXlMeHFa?=
 =?utf-8?B?SnJxamtjTG85QzZSaHluNVUyNlJiMzJPNjlvRFZJb0pEQjNFRkc1dnZ2eDZY?=
 =?utf-8?B?QjVTSU9WSUtUUXZDbHV0S3FoUUt3QjVIazh6aVF0TXJiOVhZbnNab0xaMTgy?=
 =?utf-8?B?RGJMSENSMlFqd2o5MlJzTnBoQWNDUXhBK2JKbUdKT3dieCtjWkdoQnFVZ25p?=
 =?utf-8?B?SmkwQXhiVTZpQzVBbXNFbkswUjBvZWluL0dEUkVQQlovdjdTVGJzb3VRbTRJ?=
 =?utf-8?B?Z1dTeHRZa3N1VGs3RDVJTjRPOEREaWt5R3VIVDBwd0VGaUdmUG4wTHhkalVn?=
 =?utf-8?B?RFlMWGIraE1IVUFFYkExR1pUQWE2VGFOS3BQc1QvVGFQQkZVUjRCaW9BTmhv?=
 =?utf-8?B?SnlEd2ZhZ1RzL0MxVGJEMThZUEtLYXBCMkJqdmJDOVlVRVhMQjd2VWg0WHVW?=
 =?utf-8?B?N2I5TEpFNEp5bjRCU1kxZUNyMFl0MVpYdmhvcHJ5VXpDalZ4NHBVdmhVZzNv?=
 =?utf-8?B?TmhTSlpmbnNxT2o2aGswdkdLRzAzMmRXZ1Y0ZDJIa2NkaHdKZW5tVlUrNFlh?=
 =?utf-8?B?bkQzcmVYSmN5VGVlNVhMSmVyUzN2L2lKdGZRYjFMOUoxejR1QytPeTQ4NEht?=
 =?utf-8?B?NFh5ZkVmZzFMQndkSUNYZndzZUJtaStrbGFXVWtHSUpSMWxDSzQ3RkErR21N?=
 =?utf-8?B?ZXlLbk9UMC9CKzFaNVZVdEl5YlR6MGxYVEZWbEFDMEsxTDkvMC9MU05iSzF4?=
 =?utf-8?B?bVcwK1E0MzdlK0RIQ1dZL213MjhtREhEVjA5STZOM0o1QkF1bkJPOVowbXJJ?=
 =?utf-8?B?dXBTMkg2YjRaUTk5d2JBRkZTVjN1QkMwWk5hekpzZ2NoS3p6WUtqcVBhazAz?=
 =?utf-8?B?QUdrMGYyRVByVW81Y0NsY3l0dWx4ems3Rm13MkNVMUNXRUhLOThlUHJFQ0ps?=
 =?utf-8?B?RFRmMk1IVUs3Wm5CR1pnVTV1SWQ4ZmlCc0JaNThFcERsTFErbUNkV1M5amk1?=
 =?utf-8?B?cHVVeVhFajRuNGRiczJxbWoyMEk4bjJTVjEvc0NMZUhldXdnc0p0RnplTnJX?=
 =?utf-8?B?VEl0N2VVUEFaL1JOZU40ek5HYkFsMUtvS2ZOZU5IZzd3M0czSmxVV1Zkc2tF?=
 =?utf-8?Q?HtZh2oLUOPeJfiwqvzgYy4rrgrrzbacJ?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR03MB7015.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TS9vUFFyQXJaUFNmOGtiZktzVnhlaVpkd1dicVNMQmVQaFRwL1c0TU45eDNJ?=
 =?utf-8?B?eC9CRWNPbkZUWXRHOWc2NTBpc1pRRUE4VHhDOTdNaUJtM0pBY2VVdFJsaEVB?=
 =?utf-8?B?UThEYTRhbE54d0IzOEdtUnlYOW0xU25kWTl1N2lrbWFmYkhTZUdBWCs4ZnF1?=
 =?utf-8?B?aFBVZXB3anhaYUw0dkJLUDRLT3pldGJQemhPdUdhWXorNG9yWGNha1RiVzEr?=
 =?utf-8?B?U1ZLYzYyMjZDcnIveVBsSFJtdWFieDJtYVlJWm9za3I3S3lTVzl0TUt4R0NL?=
 =?utf-8?B?SmtMa3FwbTR0cktlZ1lNMDBLTUlBMXFTZzlGQVRNR3BTRlMvaUthRFN1VndV?=
 =?utf-8?B?blhhNnpUcXQwbFc4d1dHS2ZtbDFiR0tqbTNSNmx3eDF4bDFLU0F0SEg1MWZn?=
 =?utf-8?B?a1I1enFEclZrZmxjcUYvUkg4WUxPbTk2c2lmMGxXOUtuc1piZ3dmTnhXcVNW?=
 =?utf-8?B?dWd1N20zcVZRSVdweHZaSC9Ca2xDSlorZ3IvWVpJQjhxOXZVZGREZ1krdnpQ?=
 =?utf-8?B?ZEx1am9yK1dwY1NNWmdZTVJYYS91L1A0VVVaQTFzWVRFQmhtYVJNRk1QTGV1?=
 =?utf-8?B?clQxbWFRUWJGVWhHcFNRREFKTUhoamc0NEpCYmVUN2lnUnpaRy9FdE4xWTlp?=
 =?utf-8?B?d2EyZEFlWmVSUzN0cWx3WitucVB5TXhPL2lBa0ZpbHQ1NVJyd1JUMTR6T0Rl?=
 =?utf-8?B?NDFTMHJ0SzFsdWtBOGpuQXRoSlNHenhlUys3eDdnbEN5bEhmb0QwamZGOGdG?=
 =?utf-8?B?SUZzY0NYTmZreGNpTnBsUVFjak55enpPbGJVSVI2aGswOFlTVnNEdU5iTVIr?=
 =?utf-8?B?TEhEVE1LdmtvWjhQTC9MZ2ZtamNNTk1kSzlxQ3MrT0hWZzZRMTUxbCtSVHhF?=
 =?utf-8?B?bDZUVnlPYmczYlB4K05obGw2eUxmR1NDRGNBS3JwSDYvTUhycVNZMFZxMm9o?=
 =?utf-8?B?Y0MxQUpqU0N1d1ZKTjVNcC9BNUh3RmRBbzN5cGU5T0RhNkg3QUpmaEx4bzJJ?=
 =?utf-8?B?bHFjK005enc5c0dFSDlEc1AwTStCcHZZNEp5V0tYeS9Ic2dDLzczL0haeWdy?=
 =?utf-8?B?Uk5MdUtMR0hDeHJlNXZnam9KUXBhQjM4L3VCaGEvQkE3SDl2S1o4WHl0TkZn?=
 =?utf-8?B?cklyNWdPc1ZqclgzczFZK3BFM0ZlYUJqSG9UMUJUU0NHQmNqdThnTFZZRlg3?=
 =?utf-8?B?RlZzaHVpM080RkMzbGZHdGxLNVJkWHBuZHYxT2NKZXQyUlQ5Snp1SnpVb0hS?=
 =?utf-8?B?ZGdqTWkzUjF0dWN1czRGU2hJeHJjeCtHU3dQVWtnY0xVTTlDaHJFYU92TTJL?=
 =?utf-8?B?VkcwcFZjSng5M1oxejV6dGZhS2RKSTRGOGVxdzNvRU9OT0dUNnlJdEIwVURJ?=
 =?utf-8?B?eGF1K0RCNUpzN3JzUkNuZk9hcjZJbTZIdGp1eno4RGtHLzlTZTBSUlM4OGN6?=
 =?utf-8?B?dTVTWm9mVHF1Qnl2Qko2MUxwMFhFdW9yUksxeTY1Mk1ERmY2NmlVR1Z0Q2xW?=
 =?utf-8?B?cnNxZUsxYU8rMnE5cGhpZ2E3dTZXc2pYZjYzcWhzQUNsKzhsLzZuS3Q4clVF?=
 =?utf-8?B?cXNOUVFUem9YajF3MjlhekpTbnpyb0RmVG9wY3VMdHgzU2JLWDlOWXpxdDVM?=
 =?utf-8?B?Uk5HYmJJQ0ljK1YrblpqNEdDYjdnQ2tLK2dQbHpXTUkyME4xWTNJeFJESVg2?=
 =?utf-8?B?TkFZQXpkYUxqbXJqQVkrOXZpOHh0UGd3WlZyU2VUNSszUmpSR25GaTFjR042?=
 =?utf-8?B?SkhTYytaczF3Z1lvSlpEcDFPc1BoQURxTmFXdDRmRWtmWVVLZ09YcWNwaGFt?=
 =?utf-8?B?ZUtpWTZ0a2pVWUhqQnJVVk1pNlpSdS9sWWwxZld2bFJXRmtPMWFlQkFwUXoy?=
 =?utf-8?B?b0pxKzVEb1AvODZwOEwwbVVwamVVMlZ1ZDVsYmIyQktWUDc2QWYvMGhQcDRU?=
 =?utf-8?B?S2F6S05GVFdXRCtOVVl4UXo3UW5uaWQ0a0xFNVNlSWlBUzRaYUFsN0o5dnV3?=
 =?utf-8?B?ajVET0R0U1RyU09KVmtydGlDQ1NReEU1b29vdmFlVUg3UmU1WDlwbk1rMUo4?=
 =?utf-8?B?NHZNdncwclN3aXFjMTlhY2cvcEJDNm5WbDB5ZjNVQ05aSmcweUo5M3JmTmQr?=
 =?utf-8?B?aXBjdXZJSVdYemdaaWxaY2xxdVh5QlNROGhNMW5YWENDYkpUM3NiT3RHQ1JC?=
 =?utf-8?B?eEE9PQ==?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7ed69b1a-e318-48f7-cbb5-08de15a1cc05
X-MS-Exchange-CrossTenant-AuthSource: DM4PR03MB7015.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Oct 2025 21:42:59.1587
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: WJEbYjWW2+UVjAuxU/ZOzhmSZwwD1W+8r9GxPORK1FjrGTH3GHBURKNLjgotZ4CLDb29G9SdgnGLFzlqd+VwxiHGS4CirGkEEqNNA/mQQak=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR03MB5478

On 23/10/2025 8:05 am, Jan Beulich wrote:
> On 22.10.2025 23:19, Andrew Cooper wrote:
>> On 21/10/2025 10:47 am, Jan Beulich wrote:
>>> On 20.10.2025 15:19, Andrew Cooper wrote:
>>>> +void __init amd_check_entrysign(void)
>>>> +{
>>>> +    unsigned int curr_rev;
>>>> +    uint8_t fixed_rev;
>>>> +
>>>> +    if ( boot_cpu_data.vendor != X86_VENDOR_AMD ||
>>>> +         boot_cpu_data.family < 0x17 ||
>>>> +         boot_cpu_data.family > 0x1a )
>>>> +        return;
>>>> +
>>>> +    /*
>>>> +     * Table taken from Linux, which is the only known source of information
>>>> +     * about client revisions.
>>>> +     */
>>>> +    curr_rev = this_cpu(cpu_sig).rev;
>>>> +    switch ( curr_rev >> 8 )
>>>> +    {
>>>> +    case 0x080012: fixed_rev = 0x6f; break;
>>>> +    case 0x080082: fixed_rev = 0x0f; break;
>>> In your reply you mentioned a "general off-by-1" when comparing with Linux,
>>> but I'm in trouble understanding how both can be correct. Leaving aside the
>>> 1st line (for which you sent a Linux patch anyway), how can our
>>> "(uint8_t)curr_rev >= fixed_rev" (i.e. "(uint8_t)curr_rev >= 0x0f") further
>>> below be correct at the same time as Linux'es "return cur_rev <= 0x800820f"
>>> (indicating to the caller whether a SHA check is needed) is also correct?
>>> We say 0x0f is okay, while they demand a SHA check for that revision.
>>>
>>> In any event, whatever (legitimate) off-by-1 it is that I'm failing to spot,
>>> I think this would want explaining in the comment above.
>> What you've spotted is the off-by-one error.
>>
>> Linux is written as "curr <= last-vuln-rev" in order to do the digest check.
>>
>> Xen wants "cur >= first-fixed-rev"; I renamed the variable and forgot to
>> adjust the table to compensate.Â  I've already fixed it in v2, so this
>> line now reads fixed_rev = 0x0a.
> Now I'm even more confused. If Linux uses 0x0f for last-vuln-rev, how would
> 0x0a be first-fixed-ref?

Sorry, that was a typo in my email.Â  I've got 0x10 locally.

>
>>>> +    case 0x083010: fixed_rev = 0x7c; break;
>>>> +    case 0x086001: fixed_rev = 0x0e; break;
>>>> +    case 0x086081: fixed_rev = 0x08; break;
>>>> +    case 0x087010: fixed_rev = 0x34; break;
>>>> +    case 0x08a000: fixed_rev = 0x0a; break;
>>>> +    case 0x0a0010: fixed_rev = 0x7a; break;
>>>> +    case 0x0a0011: fixed_rev = 0xda; break;
>>>> +    case 0x0a0012: fixed_rev = 0x43; break;
>>>> +    case 0x0a0082: fixed_rev = 0x0e; break;
>>>> +    case 0x0a1011: fixed_rev = 0x53; break;
>>>> +    case 0x0a1012: fixed_rev = 0x4e; break;
>>>> +    case 0x0a1081: fixed_rev = 0x09; break;
>>>> +    case 0x0a2010: fixed_rev = 0x2f; break;
>>>> +    case 0x0a2012: fixed_rev = 0x12; break;
>>>> +    case 0x0a4041: fixed_rev = 0x09; break;
>>>> +    case 0x0a5000: fixed_rev = 0x13; break;
>>>> +    case 0x0a6012: fixed_rev = 0x0a; break;
>>>> +    case 0x0a7041: fixed_rev = 0x09; break;
>>>> +    case 0x0a7052: fixed_rev = 0x08; break;
>>>> +    case 0x0a7080: fixed_rev = 0x09; break;
>>>> +    case 0x0a70c0: fixed_rev = 0x09; break;
>>>> +    case 0x0aa001: fixed_rev = 0x16; break;
>>>> +    case 0x0aa002: fixed_rev = 0x18; break;
>>>> +    case 0x0b0021: fixed_rev = 0x46; break;
>>>> +    case 0x0b1010: fixed_rev = 0x46; break;
>>>> +    case 0x0b2040: fixed_rev = 0x31; break;
>>>> +    case 0x0b4040: fixed_rev = 0x31; break;
>>>> +    case 0x0b6000: fixed_rev = 0x31; break;
>>>> +    case 0x0b7000: fixed_rev = 0x31; break;
>>> Without at least brief model related comments this looks extremely opaque.
>>> Linux, as a minimal reference, at least has cpuid_to_ucode_rev() and the
>>> accompanying union zen_patch_rev.
>> We have other tables like this in Xen.Â  Linux has even more.
> The one in amd-patch-digests.c I'm aware of. Oh, and tsa_calculations().
> But ...
>
>> These case labels are family/model/steppings, but not in the same format
>> as CPUID.1.EAX, and also not in the same format at patch->processor_id.
> ... none of them explaining what these numbers really mean isn't helpful.
> I didn't question them earlier because I assumed them to be all "magic".
> Now that I learned how they're encoded, I thought it might be (have been)
> nice if they weren't left as "entirely magic".

Well - they are about as magic as numbers get.

It's just a convention that AMD uses when choosing the (otherwise
arbitrary) patch_id, and I'm not aware of it being written down
anywhere.Â  Using the entrysign vulnerability, AIUI you can choose an
arbitrary 32bit value here.

Linux says it's from Fam17h onwards, but the pattern works from Fam12h,
and Fam10h was definitely different.

I've got no idea how long it will continue.Â  For one, the 8-bit ucode
revision is proving to be a limiting factor on some CPUs, and e.g. one
of the 3 F/M/S encoding (patch->processor_id) will run out when we hit
Zen15 CPUs at the current rate that AMD are using Family numbers.

>>>  Background of my remark is that I would
>>> have expected there to be more models per Zen<N>, seeing in particular how
>>> many different BKDGs / PPRs and RGs there are. Many RGs in particular say
>>> they apply to a range of models, yet no similar ranges are covered here
>>> (unless my deciphering attempts went wrong).
>> PPRs/RGs are generally per block of 0x10 models and all steppings
>> therewith.Â  This is quite often one production CPU and a handful of
>> preproduction steppings, but e.g. Milan and MilanX are two production
>> CPUs share a same PPR/RG, as they differ only by stepping.
>>
>> Preproduction CPUs probably won't have a fix (other than the final two
>> rows which are A0 stepping of something presumably trying to get out of
>> the door when Entrysign was found.)Â  The list does look to be right
>> order of magnitude for the production CPUs.
> Sure, and my question wasn't towards steppings of individual models. My
> question was towards models of individual families, where the docs
> suggest far more exist than this table would cover. I guess that while
> talking mainly of steppings, you really (also) meant to say that most of
> the model numbers weren't used in practice (for production CPUs) either?

AMD's numbering space is very sparse.Â  From a block of 0x10 (or in some
cases 8) model numbers, it's uncommon to see anything other than 0 or 1.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Oct 27 22:17:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Oct 2025 22:17:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151821.1482371 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDVWe-0001Jz-Ki; Mon, 27 Oct 2025 22:17:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151821.1482371; Mon, 27 Oct 2025 22:17:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDVWe-0001Js-HK; Mon, 27 Oct 2025 22:17:16 +0000
Received: by outflank-mailman (input) for mailman id 1151821;
 Mon, 27 Oct 2025 22:17:14 +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
 <SRS0=kuhB=5E=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1vDVWc-0000qq-Qc
 for xen-devel@lists.xenproject.org; Mon, 27 Oct 2025 22:17:14 +0000
Received: from mail-wm1-x32f.google.com (mail-wm1-x32f.google.com
 [2a00:1450:4864:20::32f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b0e3b099-b382-11f0-9d16-b5c5bf9af7f9;
 Mon, 27 Oct 2025 23:17:14 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-4710022571cso54120065e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 27 Oct 2025 15:17:14 -0700 (PDT)
Received: from localhost.localdomain (host-78-149-11-196.as13285.net.
 [78.149.11.196]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-475de57b156sm148785595e9.13.2025.10.27.15.17.12
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 27 Oct 2025 15:17:13 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b0e3b099-b382-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1761603434; x=1762208234; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=HRb3Jw+qFvvrwxz5YnrcR3ptz6rfonv1hlEmJw7OD20=;
        b=nuTGTm2pfO9ExTvps2BmYOGHlVs9pe4VDs7yZN+kZpgqUEZo3CyTJjKw/5CFMlpqLg
         XlcQNj3eaSFuVdQEeyotquUFTI1PG0YhecHg5yXOkTQopmq2YvIwgwPJWlXiMjzwoFRM
         FV3iBSAgAND5FRdZy504hDMi0rkPCjetmkOOs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761603434; x=1762208234;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=HRb3Jw+qFvvrwxz5YnrcR3ptz6rfonv1hlEmJw7OD20=;
        b=SaXjwNPEg4lmf9H+73LUnBuytZ8Z23ntnwyeovn4it5fLPa9X8Nz6N4udc3CJ/oEbz
         Ul/EO8sWfcA6fxepArwwp0JjYIdk0tKCi9pQm2A4nZEWZQLVq7Lr117cF50DzU0Ghsco
         3GxZ9yx+oJHSQa0Y6LHon5ay6oyUSa6j9NVbnIgoQlAn7T3CBCyI9Kb1ocxPyyiAphmg
         2CqLGjOrH4Qq5dIRdvvxHaK32vIFKGvCiTkHRO/GF1uMcief7vrLZZ/SqRbSBGU2rftW
         HDVdZwQQjq5AtIrUPWIuYmL9jJK9/q/EiyvUM+bfIF4clLc5EYuL1ys3cEdMAv4yw0TQ
         fclw==
X-Gm-Message-State: AOJu0YyMh2uKBWa/5cIIs5y2GyPgENWngQy29tY4XW2Op7uYcGvgGemo
	icqU317qb7wBlxjlbJXqSlDnOeAlMmy3/OhmP6H/YKgkSItnlQuWfvV4fzWTsnS65SRMJfIaV/T
	OVy567T1xSQ==
X-Gm-Gg: ASbGnctWvLVmaqRN+3vAeeoBcpdPVC4mVDhDNgB1dCpR5z2AaSGrHOIZ1Tfv+ghv7tu
	xLM2KEUBt1Y8ZWmyZ29Ya1xba1nRqdfkf0x7Ug+f4MXfBgvgyl3hV2sIgajVZfBzLqjI7A5ROfB
	FgzmlmvxlPSbSBCKxrj/yh3PGaeBxaQT/punHFBnNy9P4qzMVNRgg8Ne88nST3tOCc+jn2U8dlS
	ivT7D2vxvBSQ18CF0uwQ2Ww1j1RDGILH//1FM4PqYcJwcaGRsp88vy2NZcWS8/vyIEDO+r+kA7q
	Qf09iUhlNtGY+OF2dQmIMQ9LD4ysEXOMTwTOOUBA3zepT9gtWufMDAuroIJ3g0XCu6Q6+DWEKzU
	Nb5+PkzGwUtg8hwXmEaTiaXNXATErCYbCw/rdkdIdoBM6cbPRqzleQ0VtSJ/stABmOahapH9sAv
	NhYMDN/RZkCp/kXFJxsuRRagMFr0tSXWvUMSHBYNagUzDkd/ojDQNBLo4xa2oK8aGF7yPNrpY2
X-Google-Smtp-Source: AGHT+IEGKjPrj7DutQQf+/r1Lsj1NVUMihfvhl9Xea7SWvs7akm5IzTg1SL40a1LjMr6ksS7B8G46w==
X-Received: by 2002:a05:600c:64cf:b0:477:19bc:1fe2 with SMTP id 5b1f17b1804b1-47719bc2044mr632735e9.6.1761603433663;
        Mon, 27 Oct 2025 15:17:13 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v2 4/5] x86/ucode: Refine the boundary checks for Entrysign
Date: Mon, 27 Oct 2025 22:17:01 +0000
Message-Id: <20251027221702.3362552-5-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20251027221702.3362552-1-andrew.cooper3@citrix.com>
References: <20251027221702.3362552-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

After initial publication, the SB-7033 / CVE-2024-36347 bulletin was updated
to list Zen5 CPUs as vulnerable.  Use Fam1ah as an upper bound, and adjust the
command line documentation.

When the Zen6 (also Fam1ah processors) model numbers are known, they'll want
excluding from the family ranges.

Fixes: 630e8875ab36 ("x86/ucode: Perform extra SHA2 checks on AMD Fam17h/19h microcode")
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>

v2:
 * New
---
 docs/misc/xen-command-line.pandoc | 7 ++++---
 xen/arch/x86/cpu/microcode/amd.c  | 9 +++++++--
 2 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index 28a98321c762..34004ce282be 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -2826,9 +2826,10 @@ stop_machine context. In NMI handler, even NMIs are blocked, which is
 considered safer. The default value is `true`.
 
 The `digest-check=` option is active by default and controls whether to
-perform additional authenticity checks.  Collisions in the signature algorithm
-used by AMD Fam17h/19h processors have been found.  Xen contains a table of
-digests of microcode patches with known-good provenance, and will block
+perform additional authenticity checks.  The Entrysign vulnerability (AMD
+SB-7033, CVE-2024-36347) on Zen1-5 processors allows forging the signature on
+arbitrary microcode such that it is accepted by the CPU.  Xen contains a table
+of digests of microcode patches with known-good provenance, and will block
 loading of patches that do not match.
 
 ### unrestricted_guest (Intel)
diff --git a/xen/arch/x86/cpu/microcode/amd.c b/xen/arch/x86/cpu/microcode/amd.c
index ba03401c24c5..f331d9dfee6e 100644
--- a/xen/arch/x86/cpu/microcode/amd.c
+++ b/xen/arch/x86/cpu/microcode/amd.c
@@ -125,7 +125,7 @@ static bool check_digest(const struct container_microcode *mc)
      * microcode updates.  Mitigate by checking the digest of the patch
      * against a list of known provenance.
      */
-    if ( boot_cpu_data.family < 0x17 ||
+    if ( boot_cpu_data.family < 0x17 || boot_cpu_data.family > 0x1a ||
          !opt_digest_check )
         return true;
 
@@ -571,7 +571,12 @@ static const struct microcode_ops __initconst_cf_clobber amd_ucode_ops = {
 
 void __init ucode_probe_amd(struct microcode_ops *ops)
 {
-    if ( !opt_digest_check && boot_cpu_data.family >= 0x17 )
+    /*
+     * The Entrysign vulnerability (SB-7033, CVE-2024-36347) affects Zen1-5
+     * CPUs.  Taint Xen if digest checking is turned off.
+     */
+    if ( boot_cpu_data.family >= 0x17 && boot_cpu_data.family <= 0x1a &&
+         !opt_digest_check )
     {
         printk(XENLOG_WARNING
                "Microcode patch additional digest checks disabled\n");
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Oct 27 22:17:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Oct 2025 22:17:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151822.1482380 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDVWg-0001Yo-09; Mon, 27 Oct 2025 22:17:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151822.1482380; Mon, 27 Oct 2025 22:17:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDVWf-0001Yh-Tm; Mon, 27 Oct 2025 22:17:17 +0000
Received: by outflank-mailman (input) for mailman id 1151822;
 Mon, 27 Oct 2025 22:17:16 +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
 <SRS0=kuhB=5E=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1vDVWe-0001Ic-2t
 for xen-devel@lists.xenproject.org; Mon, 27 Oct 2025 22:17:16 +0000
Received: from mail-wm1-x344.google.com (mail-wm1-x344.google.com
 [2a00:1450:4864:20::344])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id af63349d-b382-11f0-980a-7dc792cee155;
 Mon, 27 Oct 2025 23:17:12 +0100 (CET)
Received: by mail-wm1-x344.google.com with SMTP id
 5b1f17b1804b1-475dd559b0bso35682225e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 27 Oct 2025 15:17:12 -0700 (PDT)
Received: from localhost.localdomain (host-78-149-11-196.as13285.net.
 [78.149.11.196]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-475de57b156sm148785595e9.13.2025.10.27.15.17.09
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 27 Oct 2025 15:17:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: af63349d-b382-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1761603431; x=1762208231; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=zNz4mTVPNtxMeu9h+MQKuVgbkjzrYqhNFMRtL45ybUE=;
        b=EzZ/IplBfs+S06Mcxkm8CUNukif5XjUgmqpqCSIbR6KM64uiejbV3iONDGp7ZE4al/
         Kf/Z2NsOZKqnQ22AimdezH2EcyMj7xETKZmf3D4GRy2dFRXka6hU/ITrWBZI0HofeJsz
         4hdohd3qU/3kJldB+0TvMKuN0ySWoCTkrGYbM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761603431; x=1762208231;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=zNz4mTVPNtxMeu9h+MQKuVgbkjzrYqhNFMRtL45ybUE=;
        b=gUSISlBB64r66R2amGAvilWptJV7AsOHTkpo8P1qsiovqDdRlE2gNqbP7CHcC0/BZx
         SnmoD0K8FNkz+rtXTwLdMgUukuKTGDMhO2SS7jPg5h+wzUbjRb2ukCmul4d7XB1SZCVl
         coJjaJ80w5qX59qg6sZkXHwhZ9+N6EXqNKpkzMzW/jTbeTMw2cByiewDP20awJ3poPHr
         uvXtCT4Wy/kksmfArHABO0jSdWc+wFfD/Y+64o3abv51RoR4LvVyGEGBFVGJ2Gn+EaUT
         0aepmG0oeZ8RShwzV6iOAgVN+ajwdz4IbxrixT2axiBEIhKYmSrJ06Aad5RgmuWi/g9R
         8OYg==
X-Gm-Message-State: AOJu0Ywq72Abyp1M1TdEvKiSiccH32roWWo1VnCXdUGmKtZFQIv77FWC
	uuJIkSRrRuVJdirlz9HNMtxtftMqb6/G1JSoi/BHfOGjDR3xjMTwHCe4hXvgTqhH48x0UXvJy1O
	GBI1dJS4/QHm5
X-Gm-Gg: ASbGncvOBZv+09wi8HOh18uxvSua7RbkNeNWDjSaAR2taspIpq/a/4Y/ksSX+B8whZd
	A2cPpy0TEpWx63pradUMmPeHvEC4fp9GrSZaZ9Lrvyj5o3RTVgALXKh0Na4Pyky3G4LatI5aS0A
	7siJhePefiQ3H9amXeV8pP9oJ7+eO8wp8XBPXUIBnpAEUfhxwHQftO5o4wFTm0kgFBoclYWCByo
	Hw124vvpADDIRFe5S4ewd8K9bUsSaAhpv/2GTaeQYSeJCragZIryIOhsHJPArbJE3+fJiFb//fW
	H9Ftehi+1aPFibrI13etWX5k1fxGYgQzdQRsxKO0eGEdFgFQQ/ed6WYlnQOlZtwAFhqfUrAdKPi
	IXgCQoGoWNEYrOFTt6TEh73Zel+C57asjjVoAWGt/O9jeeGxFt9vLtm6DueD+yLWbOZbMriftYl
	gxJN+KPjXN4veT7qQ/VrtrJlP5jBaPOKhEDwJFdh8P1Gv9dhUSzS6kQZU/lc82+g==
X-Google-Smtp-Source: AGHT+IH/DIdh+PJiHb4lt6fnHrJVdN/PpWd9oX/VV/PE/2u9n1h5QgzTgy0tK90sNVA1XPAvyp5BfA==
X-Received: by 2002:a05:600c:46d1:b0:471:115e:624b with SMTP id 5b1f17b1804b1-47717e0aa7fmr10080035e9.17.1761603431129;
        Mon, 27 Oct 2025 15:17:11 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v2 2/5] x86/ucode: Refine TLB flush fix for AMD Fam17h CPUs
Date: Mon, 27 Oct 2025 22:16:59 +0000
Message-Id: <20251027221702.3362552-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20251027221702.3362552-1-andrew.cooper3@citrix.com>
References: <20251027221702.3362552-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

In the time since Xen discovered this, Linux stubled on it too and AMD
produced a narrower fix, limited to Fam17h CPUs only.  To my knowledge,
there's no erratum or other public statement from AMD on the matter.

Adjust Xen to match the narrower fix.

Link: https://lore.kernel.org/lkml/ZyulbYuvrkshfsd2@antipodes/T/#u
Fixes: f19a199281a2 ("x86/AMD: flush TLB after ucode update")
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>

v2:
 * Keep memory clobber.
---
 xen/arch/x86/cpu/microcode/amd.c    | 14 +++++++++++---
 xen/arch/x86/flushtlb.c             |  3 +--
 xen/arch/x86/include/asm/flushtlb.h |  5 +++++
 3 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/xen/arch/x86/cpu/microcode/amd.c b/xen/arch/x86/cpu/microcode/amd.c
index 59332da2b827..457810182480 100644
--- a/xen/arch/x86/cpu/microcode/amd.c
+++ b/xen/arch/x86/cpu/microcode/amd.c
@@ -306,10 +306,18 @@ static int cf_check apply_microcode(const struct microcode_patch *patch,
     sig->rev = rev;
 
     /*
-     * Some processors leave the ucode blob mapping as UC after the update.
-     * Flush the mapping to regain normal cacheability.
+     * Fam17h processors leave the mapping of the ucode as UC after the
+     * update.  Flush the mapping to regain normal cacheability.
+     *
+     * We do not know the granularity of mapping, and at 3200 bytes in size
+     * there is a good chance of crossing a 4k page boundary.  Shoot-down the
+     * start and end just to be safe.
      */
-    flush_area_local(patch, FLUSH_TLB_GLOBAL | FLUSH_ORDER(0));
+    if ( boot_cpu_data.family == 0x17 )
+    {
+        invlpg(patch);
+        invlpg((const void *)patch + F17H_MPB_MAX_SIZE - 1);
+    }
 
     /* check current patch id and patch's id for match */
     if ( hw_err || (rev != patch->patch_id) )
diff --git a/xen/arch/x86/flushtlb.c b/xen/arch/x86/flushtlb.c
index 94b2a30e8d30..09e676c151fa 100644
--- a/xen/arch/x86/flushtlb.c
+++ b/xen/arch/x86/flushtlb.c
@@ -222,8 +222,7 @@ unsigned int flush_area_local(const void *va, unsigned int flags)
                 }
             }
             else
-                asm volatile ( "invlpg %0"
-                               : : "m" (*(const char *)(va)) : "memory" );
+                invlpg(va);
         }
         else
             do_tlb_flush();
diff --git a/xen/arch/x86/include/asm/flushtlb.h b/xen/arch/x86/include/asm/flushtlb.h
index 019d886f2b80..7bcbca2b7f31 100644
--- a/xen/arch/x86/include/asm/flushtlb.h
+++ b/xen/arch/x86/include/asm/flushtlb.h
@@ -98,6 +98,11 @@ static inline unsigned long read_cr3(void)
     return cr3;
 }
 
+static inline void invlpg(const void *p)
+{
+    asm volatile ( "invlpg %0" :: "m" (*(const char *)p) : "memory" );
+}
+
 /* Write pagetable base and implicitly tick the tlbflush clock. */
 void switch_cr3_cr4(unsigned long cr3, unsigned long cr4);
 
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Oct 27 22:17:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Oct 2025 22:17:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151820.1482355 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDVWZ-0000u4-Cb; Mon, 27 Oct 2025 22:17:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151820.1482355; Mon, 27 Oct 2025 22:17:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDVWZ-0000tY-8V; Mon, 27 Oct 2025 22:17:11 +0000
Received: by outflank-mailman (input) for mailman id 1151820;
 Mon, 27 Oct 2025 22:17:10 +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
 <SRS0=kuhB=5E=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1vDVWY-0000qq-KB
 for xen-devel@lists.xenproject.org; Mon, 27 Oct 2025 22:17:10 +0000
Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com
 [2a00:1450:4864:20::32e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ae31aa1a-b382-11f0-9d16-b5c5bf9af7f9;
 Mon, 27 Oct 2025 23:17:09 +0100 (CET)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-47109187c32so28219825e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 27 Oct 2025 15:17:10 -0700 (PDT)
Received: from localhost.localdomain (host-78-149-11-196.as13285.net.
 [78.149.11.196]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-475de57b156sm148785595e9.13.2025.10.27.15.17.08
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 27 Oct 2025 15:17:08 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ae31aa1a-b382-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1761603429; x=1762208229; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=VE3mMInBfN23ll5cf6fJavclqS1vi+3CRHMmk9cq9v0=;
        b=XaMrKvBS4jAeD6AjzW8KlDjDOH0PwMRuxPVpLDzGvtLN2Lmj/IlZ7OwNyYHbeEixMr
         YwOUVhL43EvUbFDd1nsnYvMLgOq/GwGGP469Hk3ThJi014Euayct+mn5YX+x+RB5ISLC
         LjfGYnVZ7aCAOe+HNC6LgLgOP1i/IYfzrVVy4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761603429; x=1762208229;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=VE3mMInBfN23ll5cf6fJavclqS1vi+3CRHMmk9cq9v0=;
        b=c+v3Ho6Th5f+WtpLhEdQBCdRrngsvlbX7izPhRwhLbi6I2EsnuspNE4OVUWQqSeWqa
         28Ulz2e9V22SqiJFC85WQ39LUjBxfsBxhG86dfl4U9aGBp+RS9z3Rn1oGlUiurOR06UF
         Ri4EqsNSnrbOPOicp2I7GjXESk55iIb/fyjSryEtK0kzBjN1OHUhrBRW1M4fxnFRlkJg
         mO2Ky3vDvvq8/fc5X/2+HRyRhd561ODV79eBCLGQnZcbzGWI/h35k26GRcIm9kq02mrr
         eNZ0Jne7WtR/6b+PI6Bepy9vse0C+IiTLScZVZt9QHPrQecaYFZ9pr4KDVX7s1p5wrlD
         GZVA==
X-Gm-Message-State: AOJu0Yw+eJi3CErNyABWyFxsKcDPi0zuiie5oGLFvOispiC2WtnFEjiP
	0Ns03Ewjaz96+JB6xdVetEHqGqiJWX+1noDRDfSEGrdCcBsP/0e3Ul5Kb+dTnwMvfXg0ngYxZjq
	U7jynKYWzHA==
X-Gm-Gg: ASbGncuQTsEeiCGWKFDB27CDzgewzjxY+fMticT/7T3Md9XQZO5Jg/1DLeKN7Lm53HU
	n1vl/fsB9/njqIFFSnJULUUO5OhoadSVwk3AlXbvdoUg4LNJG2fPiv57qeFSQrFnlbBr4N8gazS
	sJHYm2h6DcYlkmxI/PPLPZitkUK3wDgmHbvmu3Cxhxh4k3YY6C1R57NMNhC5vLgvEtg5ZmRF8Vx
	G8MHcJbCmkLD6/lU69lY7oNMdPgWdDX47RpnXItUQpep7J4RpEKkDNIl25imoZo0dABcu4fzJ/U
	+YYBRJSj/OTKzpQe2yTN08jDc/shxbXxgjkQw/HCXAzaDBlPHqqCUhRUBWR3jXccuLLvYdTfwa1
	8VSw3hnsUtxP1Lzamo+5VeCn7tiA3H2H9pOUYwOR/DzqZKGPMoJUgl726hwUiXQ4cvnRSgjFP0E
	h8PppnpA1rGM0sac2gCgl42EEYB4c41D6Mhp4YXZfa5fXaiz/RsFE9DjDDDZeZiw==
X-Google-Smtp-Source: AGHT+IFco5yk1ZVisa4K7g88Lu+yzwh414XnzznpRCiRX4bvn+BssdTH6CW19Dw8EGBtpbi72Gqpdg==
X-Received: by 2002:a05:600c:46ca:b0:471:3b6:f2d with SMTP id 5b1f17b1804b1-47717e7a668mr8381645e9.38.1761603429129;
        Mon, 27 Oct 2025 15:17:09 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v2 1/5] x86/ucode: Abort parallel load early on any control thread error
Date: Mon, 27 Oct 2025 22:16:58 +0000
Message-Id: <20251027221702.3362552-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20251027221702.3362552-1-andrew.cooper3@citrix.com>
References: <20251027221702.3362552-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

EIO is not the only error that ucode_ops.apply_microcode() can produce.
EINVAL, EEXISTS and ENXIO can be generated too, each of which mean that Xen is
unhappy in some way with the proposed blob.

Some of these can be bypassed with --force, which will cause the parallel load
to be attempted.

Fixes: 5ed12565aa32 ("microcode: rendezvous CPUs in NMI handler and load ucode")
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>
---
 xen/arch/x86/cpu/microcode/core.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/cpu/microcode/core.c b/xen/arch/x86/cpu/microcode/core.c
index 1b093bc98a58..2705bb43c97f 100644
--- a/xen/arch/x86/cpu/microcode/core.c
+++ b/xen/arch/x86/cpu/microcode/core.c
@@ -392,10 +392,10 @@ static int control_thread_fn(const struct microcode_patch *patch,
         atomic_inc(&cpu_updated);
     atomic_inc(&cpu_out);
 
-    if ( ret == -EIO )
+    if ( ret )
     {
         printk(XENLOG_ERR
-               "Late loading aborted: CPU%u failed to update ucode\n", cpu);
+               "Late loading aborted: CPU%u failed to update ucode: %d\n", cpu, ret);
         goto out;
     }
 
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Oct 27 22:17:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Oct 2025 22:17:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151819.1482350 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDVWZ-0000r8-52; Mon, 27 Oct 2025 22:17:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151819.1482350; Mon, 27 Oct 2025 22:17:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDVWZ-0000r1-2M; Mon, 27 Oct 2025 22:17:11 +0000
Received: by outflank-mailman (input) for mailman id 1151819;
 Mon, 27 Oct 2025 22:17:10 +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
 <SRS0=kuhB=5E=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1vDVWY-0000qq-7s
 for xen-devel@lists.xenproject.org; Mon, 27 Oct 2025 22:17:10 +0000
Received: from mail-wm1-x32f.google.com (mail-wm1-x32f.google.com
 [2a00:1450:4864:20::32f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ad906cf4-b382-11f0-9d16-b5c5bf9af7f9;
 Mon, 27 Oct 2025 23:17:09 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-47719ad0c7dso439225e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 27 Oct 2025 15:17:08 -0700 (PDT)
Received: from localhost.localdomain (host-78-149-11-196.as13285.net.
 [78.149.11.196]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-475de57b156sm148785595e9.13.2025.10.27.15.17.06
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 27 Oct 2025 15:17:06 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ad906cf4-b382-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1761603428; x=1762208228; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=2Sb5SD3pBvQ5uxtHopREOmW0xwkP7MusILvgCF1UZSo=;
        b=cugG+I2tiPOMm1O6nzV9nIV5x8e59YHs+3qVBpaqoYrwGXF8OL6N2JVciz0iCD//he
         gtrbQ0n//Hmo4nWf8POo5pXVVaQjUycL4yc1+ry6BJ34dQiJc/VGAOoUJKCZKHZh/ZlC
         F8oWJe8OLXuWAi7wX5hAhIMvMVD7pd2VloDL0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761603428; x=1762208228;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=2Sb5SD3pBvQ5uxtHopREOmW0xwkP7MusILvgCF1UZSo=;
        b=WY3BtxDwI9Ozgt5uC3Xdn09kAWKVfx3+urjNeAygC8WmF/rp/EEWVI9TSz2x3oL60k
         CajK1PQQjiryqlggMy8lChlU/TZd+mS+z89vcrPtwdXhDQxWJ7CEQWrD/0ASU6+3ppjr
         yV3ci0Tn3LzrnqmYVETPVp0PN5Nsrkr4SEdjW0I4wcbxmk9DplN+yieZbteu9z8z48UM
         0+AhCjFF1el/fYUC++P4cOZKXQP1QGFrxhOFHoMpkH+Ph9jC5scymWO4pfy3W8575C1J
         4F8XMNnz1l4YMN43OWcREVHnRpyPkwh6Tg74n7bUZYjRzxpyNSSAMNAYuoQc4jtvP05N
         uV1w==
X-Gm-Message-State: AOJu0YzClGPbFKhJYdpGftPHCcx1fu9N0PVznihwohIjnr4WISTr0Dsx
	KHORV9Mj7aZx2qpgq/njEiw5o17DVxDpNGrzjSuziQxh+/lUcuuCLdT3sHM6nS2l92pWsoFhq6V
	YFYIEwG+WHQ==
X-Gm-Gg: ASbGncvKxc5mkfPH5ZtHVomkjLuWWwbf5BnKCAgWYX0sBYrxIpaIi9rx/6YEaKncMJC
	KMokTzyqSZPizzpMZQ4NezXwSOkSpaLjVBvbx/uU4WJeXNgzrWOLQyUm5g0x7+Q3dZeH7HEhxPB
	ZUZVNoEKkkAM8nmWEDg7/xeCnkajuGb7PvUqF+n4j+D7OnxifUhKZttWHeWZM0bLcnowMHofauK
	aYhQiiPhs0S9r8epMg3uKhmJ3goTcmAZHzY7whU2cE+HUnUo3r3DBIu5RsVsu17UrdIGev+dGBG
	MzoyHAOGU5weexWILAm4bk/fXRSmtMXs919nwxqHZf9Mcj6svg69lTsncZ83hpScyWFIBl3V2oZ
	HOeEezqDCMwlPRTTTOxCmbLcFYh3phsiFnuTJ2hTQuZV+21kP11zpa++0/SmH6tsMfwZPal693i
	ubPZl8ck4kZPayAw8++8wvW+ZGSLgFRzc3vTQr7geem/TKJJ1QFC/4cFtPRuTvAA==
X-Google-Smtp-Source: AGHT+IHDhGN5b8Bk0dhm4lv/ONNhf+W2/lKwrcMYTU0P1Zshe6tYaTY9L/tHq1UsVTrmZZFUqqKiBw==
X-Received: by 2002:a05:600c:6303:b0:477:fad:acd9 with SMTP id 5b1f17b1804b1-47717e40960mr12895195e9.34.1761603427991;
        Mon, 27 Oct 2025 15:17:07 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH for-4.21 0/5] x86/ucode: Support loading latest ucode from linux-firwmare
Date: Mon, 27 Oct 2025 22:16:57 +0000
Message-Id: <20251027221702.3362552-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

linux-firmware now contains microcode signed with the new signature scheme.
Xen currently refuses to load these as we've not updated the digest list.

The plan was always to stop using the digest list in due course, which is what
this series does.  A fix for the RDSEED vulnerability is imminent, and it's
critical that Xen can load this microcode.

As such, this is intended for backport to all trees including security trees,
and therefore really does need to get into Xen 4.21

Andrew Cooper (5):
  x86/ucode: Abort parallel load early on any control thread error
  x86/ucode: Refine TLB flush fix for AMD Fam17h CPUs
  x86/ucode: Cross check the minimum revision
  x86/ucode: Refine the boundary checks for Entrysign
  x86/ucode: Relax digest check when Entrysign is fixed in firmware

 docs/misc/xen-command-line.pandoc    |   7 +-
 xen/arch/x86/cpu/microcode/amd.c     | 158 +++++++++++++++++++++++++--
 xen/arch/x86/cpu/microcode/core.c    |   6 +-
 xen/arch/x86/cpu/microcode/private.h |   2 +
 xen/arch/x86/flushtlb.c              |   3 +-
 xen/arch/x86/include/asm/flushtlb.h  |   5 +
 6 files changed, 165 insertions(+), 16 deletions(-)

-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Oct 27 22:17:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Oct 2025 22:17:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151823.1482386 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDVWg-0001bh-Ah; Mon, 27 Oct 2025 22:17:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151823.1482386; Mon, 27 Oct 2025 22:17:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDVWg-0001aw-5X; Mon, 27 Oct 2025 22:17:18 +0000
Received: by outflank-mailman (input) for mailman id 1151823;
 Mon, 27 Oct 2025 22:17:16 +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
 <SRS0=kuhB=5E=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1vDVWe-0001Ic-9j
 for xen-devel@lists.xenproject.org; Mon, 27 Oct 2025 22:17:16 +0000
Received: from mail-wm1-x334.google.com (mail-wm1-x334.google.com
 [2a00:1450:4864:20::334])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id afef5a8b-b382-11f0-980a-7dc792cee155;
 Mon, 27 Oct 2025 23:17:12 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-475dc6029b6so24869555e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 27 Oct 2025 15:17:12 -0700 (PDT)
Received: from localhost.localdomain (host-78-149-11-196.as13285.net.
 [78.149.11.196]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-475de57b156sm148785595e9.13.2025.10.27.15.17.11
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 27 Oct 2025 15:17:11 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: afef5a8b-b382-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1761603432; x=1762208232; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=XPm17Di3amUuRs7iaGe/NVQW8x+O/P1o19S+UioYfX4=;
        b=YPwluO88tbplUvDbaVvksuQo9tWa45DeX2bNtRXjXQpOURAJXwg6ms9io3jPlXNgpc
         1mKgVyJs1io66cBtQXG710TCJZCLaxrcp3z8yi8XbKEZxSCT/s6K98MpCrAEcoZ62+Lf
         DuC5KfiQoXa0qhvsZjcyaHTXZ2YiJ8pdmWPdY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761603432; x=1762208232;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=XPm17Di3amUuRs7iaGe/NVQW8x+O/P1o19S+UioYfX4=;
        b=iezyh/hOw5C8SqEac8WHnypzIkagchbJgT5dG5AMD5zaZQD10MN449dc4HhJU1rkm7
         XgP/teE2ofnNlDDmSOnMUnhoqNsz3SFniQ3qU35ndC+T0e8lFnRKNFCCCtYw9pOxCMuf
         DB759KOFK6EmPYqplqvOwuQoQ1gAXe8eV+QM6hDXht2CMrVVE+SKXlDrWQ0DAww6ohQH
         mu1jZzo2hwNC6db7kOMUyOEQVlYI4CoGKidovjgnjSW7UGaVJEGRXDyWKRDbKXg6cG1w
         83rfCkubzeES3lXxpvhe9BRpACXQuEDPbHd8nmXqrU+6WpjPomz+Ppw2a8gqW8lnPeAU
         k0Qw==
X-Gm-Message-State: AOJu0YzuuMbf1WeqZySpvYHDAC5jep8yp7q8hHSgIBL6eSH/lWnjNiUx
	vTnuDokjut0X31WKR6qG5adxneYdyFBq7GP2Ogn+pKX0H7Ms/BP9BV2VTrFEqARi/HdeW6jnOPi
	3cZR9Ti1W4w==
X-Gm-Gg: ASbGncu/BF4eksZeRPnc+J/bOpg5dBpc0Q8cCP7fSRLo2YZzVKhz019XrTWRjCNmp/2
	q/7J0lGZQAqogEWxN+fEz0vdw1RDDYk7vHMxvCpyvVtJldVkMBhKMx0d5KDKR0kl2Qtv8JFMWK0
	UANOjh/MhNaMzADEG2Zp1ifcFtCEOEB+K4E3scxyji+tQkIOTrv4GtkuqEe+0lMPvZnD2k+Ogse
	O8iBgXZqrZWNRthiLLHhCUMZ5oEe/uQruCfF6ALLQzyCLTvO+UMjK9HzoX7bnJbskH57R9COzub
	GarX+bnhITGQsCPg1kQjC4M7dkToLpK6SR+RGXKB5rVPWgWHFFoyfbbcfyNNXYn2lsFxe1GtDIe
	VY8t9zjqQlf7fD2760ndF4wrCAneDTK8s5hgL4zuLQkZuFqyxGd7Xe/rLt/bcw4AoFb+v9sROeW
	5KBanaB2mfvR7eupuMXTjbTb+Bq0VSPHB8ujOQMEvLL6bS+p8kHbqXMYQ9EuRNIQ==
X-Google-Smtp-Source: AGHT+IGyGGwCvSA4pNerPIhK4CDh5ZKSm26JQnco8GOmtCPBU7D7ZzSoNfYoZcvIvLPZwMT7r050TA==
X-Received: by 2002:a05:600d:8354:b0:471:1717:421 with SMTP id 5b1f17b1804b1-47717e523e5mr7630105e9.19.1761603432062;
        Mon, 27 Oct 2025 15:17:12 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v2 3/5] x86/ucode: Cross check the minimum revision
Date: Mon, 27 Oct 2025 22:17:00 +0000
Message-Id: <20251027221702.3362552-4-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20251027221702.3362552-1-andrew.cooper3@citrix.com>
References: <20251027221702.3362552-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

For Zen3-5 microcode blobs signed with the updated signature scheme, the
checksum field has been reused to be a min_revision field, referring to the
microcode revision which fixed Entrysign (SB-7033, CVE-2024-36347).

Cross-check this when trying to load microcode, but allow --force to override
it.  If the signature scheme is genuinely different, a #GP will occur.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>

v2:
 * Tweak comment
---
 xen/arch/x86/cpu/microcode/amd.c | 49 +++++++++++++++++++++++++++++++-
 1 file changed, 48 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/cpu/microcode/amd.c b/xen/arch/x86/cpu/microcode/amd.c
index 457810182480..ba03401c24c5 100644
--- a/xen/arch/x86/cpu/microcode/amd.c
+++ b/xen/arch/x86/cpu/microcode/amd.c
@@ -42,7 +42,10 @@ struct microcode_patch {
     uint8_t  mc_patch_data_id[2];
     uint8_t  mc_patch_data_len;
     uint8_t  init_flag;
-    uint32_t mc_patch_data_checksum;
+    union {
+        uint32_t checksum; /* Fam12h and earlier */
+        uint32_t min_rev;  /* Zen3-5, post Entrysign */
+    };
     uint32_t nb_dev_id;
     uint32_t sb_dev_id;
     uint16_t processor_rev_id;
@@ -270,6 +273,42 @@ static int cf_check amd_compare(
     return compare_revisions(old->patch_id, new->patch_id);
 }
 
+/*
+ * Check whether this patch has a minimum revision given, and whether the
+ * condition is satisfied.
+ *
+ * In linux-firmware for CPUs suffering from the Entrysign vulnerability,
+ * ucodes signed with the updated signature algorithm have reused the checksum
+ * field as a min-revision field.  From public archives, the checksum field
+ * appears to have been unused since Fam12h.
+ *
+ * Returns false if there is a min revision given, and it suggests that that
+ * the patch cannot be loaded on the current system.  True otherwise.
+ */
+static bool check_min_rev(const struct microcode_patch *patch)
+{
+    ASSERT(microcode_fits_cpu(patch));
+
+    if ( patch->processor_rev_id < 0xa000 || /* pre Zen3? */
+         patch->min_rev == 0 )               /* No min rev specified */
+        return true;
+
+    /*
+     * Sanity check, as this is a reused field.  If this is a true
+     * min_revision field, it will differ only in the bottom byte from the
+     * patch_id.  Otherwise, it's probably a checksum.
+     */
+    if ( (patch->patch_id ^ patch->min_rev) & ~0xff )
+    {
+        printk(XENLOG_WARNING
+               "microcode: patch %#x has unexpected min_rev %#x\n",
+               patch->patch_id, patch->min_rev);
+        return true;
+    }
+
+    return this_cpu(cpu_sig).rev >= patch->min_rev;
+}
+
 static int cf_check apply_microcode(const struct microcode_patch *patch,
                                     unsigned int flags)
 {
@@ -299,6 +338,14 @@ static int cf_check apply_microcode(const struct microcode_patch *patch,
         return -ENXIO;
     }
 
+    if ( !ucode_force && !check_min_rev(patch) )
+    {
+        printk(XENLOG_ERR
+               "microcode: CPU%u current rev %#x below patch min_rev %#x\n",
+               cpu, sig->rev, patch->min_rev);
+        return -ENXIO;
+    }
+
     hw_err = wrmsr_safe(MSR_AMD_PATCHLOADER, (unsigned long)patch);
 
     /* get patch id after patching */
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Oct 27 22:17:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Oct 2025 22:17:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151824.1482391 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDVWg-0001fc-MD; Mon, 27 Oct 2025 22:17:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151824.1482391; Mon, 27 Oct 2025 22:17:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDVWg-0001e7-Dx; Mon, 27 Oct 2025 22:17:18 +0000
Received: by outflank-mailman (input) for mailman id 1151824;
 Mon, 27 Oct 2025 22:17:16 +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
 <SRS0=kuhB=5E=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1vDVWe-0000qq-MZ
 for xen-devel@lists.xenproject.org; Mon, 27 Oct 2025 22:17:16 +0000
Received: from mail-wm1-x32d.google.com (mail-wm1-x32d.google.com
 [2a00:1450:4864:20::32d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b1e9955c-b382-11f0-9d16-b5c5bf9af7f9;
 Mon, 27 Oct 2025 23:17:16 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-47112a73785so33421095e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 27 Oct 2025 15:17:16 -0700 (PDT)
Received: from localhost.localdomain (host-78-149-11-196.as13285.net.
 [78.149.11.196]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-475de57b156sm148785595e9.13.2025.10.27.15.17.13
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 27 Oct 2025 15:17:14 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b1e9955c-b382-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1761603435; x=1762208235; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=vFg+MrgS3JAmSaxfSKWCNpVbupEI6lxBhJ1JFipFx3s=;
        b=DKjt0p7y+txA/YAkY+LE6bqMHzpKgW/nbIWg8Zjd6u3aQNmY697ytb1Uxx7UX8VC8r
         8PYIpO4ZEyGwzlostwd1ypGJwW4D2iTyvFsCWhXLLDBUobNdpJAu0YbyAHvNS/e9tH3T
         Ru4uZ6sni2YgMQMPPMOhuNdMGpRSiGAzu2w3s=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761603435; x=1762208235;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=vFg+MrgS3JAmSaxfSKWCNpVbupEI6lxBhJ1JFipFx3s=;
        b=c36r8FzIHYPm7Yu5GIQiInEgYWl/bARXBqbaJ2QlmKzOkrUm+AnZxlReqfPAULe6PG
         POsascIUa5aHxmK+rZqCX9MgpQr9gXofYPpbzFz79+QetOGFdAKEzSSKJTvMPebebePR
         9sIRKn1BnsJ81Sy4cdI9R5+uOfZIWAAgDTPHMB4ruSiIsiDKfYeZoOSf1u6uYteiuGHN
         wsFcKI8juCWCd46dSgVW8+FiBLAl84Hs3c5RRdjnOHiEoL8MnFiXUKCIMzA9Yfaa4dgv
         BlH8Y5DGC5VbFYlihWtPAMNuJIMJw5RvAQCrI0NcTpMF8cjJWkN4D+QLDeNFlY+SZXhD
         CLHw==
X-Gm-Message-State: AOJu0YzU/lQ2KAMP7s6kOwnQby3hlSCtdgQZSiql+KzlQmtyp1UD4Oyh
	A9EhEZ+O4j+0UVam/ez2JAX1vynjn6Vly3YJOaYuF4a9NXFdIOdbSDlbwq0Ky9LyIObbWYOeYgB
	lf4t3EV5/LA==
X-Gm-Gg: ASbGncup6zajhhpUvnCHj5NZAdKGewXEl89BTSM2XBks1JvjQNNsr6JPNc02VFfamLP
	tkOVfbaZ0quzPJCgqGNcw9VZAwYoovhhlWGejbAAh0mfHcHQyOxooTagymLc5t2pCanMJ+CQD/B
	PJZ3pA12YaqEw+54QiHKx1/wjHr4OO2LRYLFylLUD/Ai0jy9nsb/qZGCsA7phdKTj4Tfb0l9PD3
	ZrpMbLdiP1ifYC80Ta8ZwSKclzVBL3r4BR4hktAUrB7A+ozbVp37HElcmqBuZmtj48mRzRptu3f
	QOjzP4VZuSvN+ewH4F6GT+gSGmairPd6Zheu7l/wFx8Cc4Oc9w4CGhj46Et8lIHD4Xex4twPV5G
	lfe8LM+jspbu9Dr2OAdW6Ks1On/rUD+7MywpaKWFHVKgrMoHhRKzUG5yqCzXxuM5FPJE+KHC5T9
	kufEO5Y+hIGVmGGQJz9TYbRaJU4HFwDNTfPsRiEXUUzEBa1vFXornGPRmM1gkFjQ==
X-Google-Smtp-Source: AGHT+IENdA4LEWfkLT3/8rVPLBEAQi17VCw5WRhElf149pX1W+1DZrAxUoANYp+daQSVSVKX1TI7iQ==
X-Received: by 2002:a05:600c:6215:b0:46e:33b2:c8da with SMTP id 5b1f17b1804b1-47717e416admr11550005e9.32.1761603435386;
        Mon, 27 Oct 2025 15:17:15 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v2 5/5] x86/ucode: Relax digest check when Entrysign is fixed in firmware
Date: Mon, 27 Oct 2025 22:17:02 +0000
Message-Id: <20251027221702.3362552-6-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20251027221702.3362552-1-andrew.cooper3@citrix.com>
References: <20251027221702.3362552-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

When Entrysign has been mitigated in firwmare, it is believed to be safe to
rely on the CPU patchloader again.  This avoids us needing to maintain the
digest table for all new microcode indefinitely.

Relax the digest check when firmware looks to be up to date, and leave behind
a clear message when not.

This is best-effort only.  If a malicious microcode has been loaded prior to
Xen running, then all bets are off.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau MonnÃ© <roger.pau@citrix.com>

v2:
 * Corrections to the revision table.
 * Updates to various comments.
 * Add a "WARNING: " prefix to the message about vulnerability
---
 xen/arch/x86/cpu/microcode/amd.c     | 86 +++++++++++++++++++++++++++-
 xen/arch/x86/cpu/microcode/core.c    |  2 +
 xen/arch/x86/cpu/microcode/private.h |  2 +
 3 files changed, 87 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/cpu/microcode/amd.c b/xen/arch/x86/cpu/microcode/amd.c
index f331d9dfee6e..9ecf6c37d3f4 100644
--- a/xen/arch/x86/cpu/microcode/amd.c
+++ b/xen/arch/x86/cpu/microcode/amd.c
@@ -101,6 +101,7 @@ static const struct patch_digest {
 } patch_digests[] = {
 #include "amd-patch-digests.c"
 };
+static bool __ro_after_init entrysign_mitigiated_in_firmware;
 
 static int cf_check cmp_patch_id(const void *key, const void *elem)
 {
@@ -122,11 +123,11 @@ static bool check_digest(const struct container_microcode *mc)
 
     /*
      * Zen1 thru Zen5 CPUs are known to use a weak signature algorithm on
-     * microcode updates.  Mitigate by checking the digest of the patch
-     * against a list of known provenance.
+     * microcode updates.  If this has not been mitigated in firmware,
+     * checking the digest of the patch against a list of known provenance.
      */
     if ( boot_cpu_data.family < 0x17 || boot_cpu_data.family > 0x1a ||
-         !opt_digest_check )
+         entrysign_mitigiated_in_firmware || !opt_digest_check )
         return true;
 
     pd = bsearch(&patch->patch_id, patch_digests, ARRAY_SIZE(patch_digests),
@@ -603,3 +604,82 @@ static void __init __constructor test_digests_sorted(void)
     }
 }
 #endif /* CONFIG_SELF_TESTS */
+
+/*
+ * The Entrysign vulnerability affects all Zen1 thru Zen5 CPUs.  Firmware
+ * fixes were produced from Nov 2024.  Zen3 thru Zen5 can continue to take
+ * OS-loadable microcode updates using a new signature scheme, as long as
+ * firmware has been updated first.
+ */
+void __init amd_check_entrysign(void)
+{
+    unsigned int curr_rev;
+    uint8_t fixed_rev;
+
+    if ( boot_cpu_data.vendor != X86_VENDOR_AMD ||
+         boot_cpu_data.family < 0x17 ||
+         boot_cpu_data.family > 0x1a )
+        return;
+
+    /*
+     * Table taken from Linux, which is the only known source of information
+     * about client revisions.  Note, Linux expresses "last-vulnerable-rev"
+     * while Xen wants "first-fixed-rev".
+     */
+    curr_rev = this_cpu(cpu_sig).rev;
+    switch ( curr_rev >> 8 )
+    {
+    case 0x080012: fixed_rev = 0x78; break;
+    case 0x080082: fixed_rev = 0x10; break;
+    case 0x083010: fixed_rev = 0x7d; break;
+    case 0x086001: fixed_rev = 0x0f; break;
+    case 0x086081: fixed_rev = 0x09; break;
+    case 0x087010: fixed_rev = 0x35; break;
+    case 0x08a000: fixed_rev = 0x0b; break;
+    case 0x0a0010: fixed_rev = 0x7b; break;
+    case 0x0a0011: fixed_rev = 0xdb; break;
+    case 0x0a0012: fixed_rev = 0x44; break;
+    case 0x0a0082: fixed_rev = 0x0f; break;
+    case 0x0a1011: fixed_rev = 0x54; break;
+    case 0x0a1012: fixed_rev = 0x4f; break;
+    case 0x0a1081: fixed_rev = 0x0a; break;
+    case 0x0a2010: fixed_rev = 0x30; break;
+    case 0x0a2012: fixed_rev = 0x13; break;
+    case 0x0a4041: fixed_rev = 0x0a; break;
+    case 0x0a5000: fixed_rev = 0x14; break;
+    case 0x0a6012: fixed_rev = 0x0b; break;
+    case 0x0a7041: fixed_rev = 0x0a; break;
+    case 0x0a7052: fixed_rev = 0x09; break;
+    case 0x0a7080: fixed_rev = 0x0a; break;
+    case 0x0a70c0: fixed_rev = 0x0a; break;
+    case 0x0aa001: fixed_rev = 0x17; break;
+    case 0x0aa002: fixed_rev = 0x19; break;
+    case 0x0b0021: fixed_rev = 0x47; break;
+    case 0x0b1010: fixed_rev = 0x47; break;
+    case 0x0b2040: fixed_rev = 0x32; break;
+    case 0x0b4040: fixed_rev = 0x32; break;
+    case 0x0b6000: fixed_rev = 0x32; break;
+    case 0x0b7000: fixed_rev = 0x32; break;
+    default:
+        printk(XENLOG_WARNING
+               "Unrecognised CPU %02x-%02x-%02x ucode 0x%08x, assuming vulnerable to Entrysign\n",
+               boot_cpu_data.family, boot_cpu_data.model,
+               boot_cpu_data.stepping, curr_rev);
+        return;
+    }
+
+    /*
+     * This check is best-effort.  If the platform looks to be out of date, it
+     * probably is.  If the platform looks to be fixed, it either genuinely
+     * is, or malware has gotten in before Xen booted and all bets are off.
+     */
+    if ( (uint8_t)curr_rev >= fixed_rev )
+    {
+        entrysign_mitigiated_in_firmware = true;
+        return;
+    }
+
+    printk(XENLOG_WARNING
+           "WARNING: Platform vulnerable to Entrysign (SB-7033, CVE-2024-36347) - firmware update required\n");
+    add_taint(TAINT_CPU_OUT_OF_SPEC);
+}
diff --git a/xen/arch/x86/cpu/microcode/core.c b/xen/arch/x86/cpu/microcode/core.c
index 2705bb43c97f..1d1a5aa4b097 100644
--- a/xen/arch/x86/cpu/microcode/core.c
+++ b/xen/arch/x86/cpu/microcode/core.c
@@ -750,6 +750,8 @@ static int __init early_microcode_load(struct boot_info *bi)
     int idx = opt_mod_idx;
     int rc;
 
+    amd_check_entrysign();
+
     /*
      * Cmdline parsing ensures this invariant holds, so that we don't end up
      * trying to mix multiple ways of finding the microcode.
diff --git a/xen/arch/x86/cpu/microcode/private.h b/xen/arch/x86/cpu/microcode/private.h
index f5e2bfee00d9..e6c965dc99dd 100644
--- a/xen/arch/x86/cpu/microcode/private.h
+++ b/xen/arch/x86/cpu/microcode/private.h
@@ -81,8 +81,10 @@ extern bool opt_digest_check;
  */
 #ifdef CONFIG_AMD
 void ucode_probe_amd(struct microcode_ops *ops);
+void amd_check_entrysign(void);
 #else
 static inline void ucode_probe_amd(struct microcode_ops *ops) {}
+static inline void amd_check_entrysign(void) {}
 #endif
 
 #ifdef CONFIG_INTEL
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Oct 27 22:36:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Oct 2025 22:36:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151879.1482410 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDVp7-0006ol-3p; Mon, 27 Oct 2025 22:36:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151879.1482410; Mon, 27 Oct 2025 22:36:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDVp7-0006oe-18; Mon, 27 Oct 2025 22:36:21 +0000
Received: by outflank-mailman (input) for mailman id 1151879;
 Mon, 27 Oct 2025 22:36:20 +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
 <SRS0=JYa4=5E=citrix.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1vDVp6-0006nH-4W
 for xen-devel@lists.xenproject.org; Mon, 27 Oct 2025 22:36:20 +0000
Received: from PH8PR06CU001.outbound.protection.outlook.com
 (mail-westus3azlp170120001.outbound.protection.outlook.com
 [2a01:111:f403:c107::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5a4f31ef-b385-11f0-9d16-b5c5bf9af7f9;
 Mon, 27 Oct 2025 23:36:18 +0100 (CET)
Received: from DM4PR03MB7015.namprd03.prod.outlook.com (2603:10b6:8:42::8) by
 SA0PR03MB5388.namprd03.prod.outlook.com (2603:10b6:806:b7::12) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9253.19; Mon, 27 Oct 2025 22:36:11 +0000
Received: from DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9]) by DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9%3]) with mapi id 15.20.9253.013; Mon, 27 Oct 2025
 22:36:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5a4f31ef-b385-11f0-9d16-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=MTPSptDBq7T598GFRGJvbv7MuC61qmVOnEGSaLTMI5Vg1cG/fht6LDXvwFCIQKIi/tFV/CpNd0EO93wjUyI7UWY7xtVaB0PpRiEkbWNNQWiC/jB5lZN8cfYK0p9XJFpzK82r+hxHE+GYdelcNOgkdui0IBI/ytvxC4pcDBWLVuJpjE2YsZfV1DgFO5gU7fwzNa81tcsaI61THuofgDWl2SnwUDwqU8oSibupHsF1NiFMpsPMo7IFryyZTDZw2gNqY8xpMylBc9LlDWMaRTZ/vBDUJdmS13mS+6u+VRijTlVjpj9J3SIm1k2C8omegl9akP0XE8BODT++Ln4xE3wQGg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=haAV+wvS4mk1r1ap7TS3pbrS6p39qDKcSu0uQEHXbN4=;
 b=te1hNGoZXXedaB9Uay2ePb5xvWdDax8XIvaG5yC/J0/OoztQHt5Po6s7vlRb0OrLBr/SppRLB586gSC3ZsvlqD9oknR5xjIbOSjzGLd8UBJjnHAxFO8TMKOOVBH+vYof3LBrdt0mErXJJS0NSNaG+i9cEXfVTu7pmwI8itO6Zwl+c27wZNUohDZbu8SNReSsJgNCdTOjP6Rl8hKfux7ZHGzWPAPeZjvOU6TcI5xnOTlkj+cXu5mhwhqyT4IQFTOAGn02eQBUcaqdSinXlPKjIrsQZv26PjGRz2SP5c2OSjvxZucEtBLC3LvcXgo0QTHPnIO2xv7P/J6r4lTN61WowA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=haAV+wvS4mk1r1ap7TS3pbrS6p39qDKcSu0uQEHXbN4=;
 b=weU3n6Gl3gImxfEreYtBCaEMx3ddwuEw8OzdCFZ6LNCEtC4F/buvvQq9c6KXMhRSLP9u2+HoBD8r7XqI/OoT9W417f5rYpM+mp0u+iKyD7sdlHaQnarnvBuSs6Ebeb5kwoEykvWhigo1+AQQ0deIOvSx2GKyx5PguJk9zRpePnI=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <b701374d-61b4-4657-bd01-4c6975741fbd@citrix.com>
Date: Mon, 27 Oct 2025 22:36:06 +0000
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4] xen: Support LLVM raw profile versions 5, 6, 7, 8, 9,
 and 10
To: Saman Dehghan <samaan.dehghan@gmail.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Wentao Zhang <wentaoz5@illinois.edu>,
 Matthew L Weber <matthew.l.weber3@boeing.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <06646f747f21c3f388cf6e9d59a20238a4a91170.1761263588.git.samaan.dehghan@gmail.com>
 <6f708273afb6de9c5f26f2c71c34c98e957904a0.1761599320.git.samaan.dehghan@gmail.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <6f708273afb6de9c5f26f2c71c34c98e957904a0.1761599320.git.samaan.dehghan@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P265CA0125.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:9f::17) To DM4PR03MB7015.namprd03.prod.outlook.com
 (2603:10b6:8:42::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM4PR03MB7015:EE_|SA0PR03MB5388:EE_
X-MS-Office365-Filtering-Correlation-Id: de9b9198-ed7a-4340-6f6d-08de15a93a9e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|366016|7416014|1800799024|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?em4wWkJKWE1NZW01SmtYdTBXMHFuOXpNdmNGK0h3bXJXQVUraVN3ODJMc0NY?=
 =?utf-8?B?YktrZXgrV0NucjR3azlBOFFmZ0lkQVRyRGtUTkM1cWwvbExKdlFqbnVlTVpO?=
 =?utf-8?B?VWZhMmtrK1RWNzFSTko5bmp5YUlCVU9FMjJGb09TVEhFUG9hYU8vREd4Z0o5?=
 =?utf-8?B?dHRRZU8yR3U4OS9RYnZXdEVLdjF0a1duTVJWTjdORUZHTm9mWWdKbXpKVzZX?=
 =?utf-8?B?aGRpSGpITUl5WnNXQ1NlQnlTTW1SdFY5VnZxbnZMbTdqNUZPbWFDSENQUkhk?=
 =?utf-8?B?b0UyL3c5ejJQVXp1blUrMTIyQ3prMVVuUkR2S1QrMkV3alRqSXB6Ui9hY0FU?=
 =?utf-8?B?SlNFcUt1ajhPdU1kRjJOa1J1RUJFZ2w3aUx4b3lWbkdBTktHV3F5bEpydFZK?=
 =?utf-8?B?R29YcXh6NjhsUGY5QStPeG9ORTQ1T3ZYdUw3QWNwcFBta0dLcHUzVU56VlFW?=
 =?utf-8?B?bW5CS0gzbTl2bmR5T1BoZTJrNFhjYWsrc21sbnJ5VXJ3cGxBYk1jbkZSbzMr?=
 =?utf-8?B?ZFdBcS9TK2c3K2FrQndHZnkxMDJnM2crd2FxekFjOTE3c2NyWStVMnZwU0lQ?=
 =?utf-8?B?cmhzRExIaUxiemV6Zi9JU2JpTmkrMHVtMVY2K1JMRUREVFJycDJmRGs2OVJK?=
 =?utf-8?B?Um1JWW9aU0xHbm8vNmRXTHpTSk9hN2tPV2c4dFNMRE5VR3J0eEhVMmFndkpI?=
 =?utf-8?B?U1p0YXJPMkdiU1I3YzIrZ0xIR0VoSEdZUW00eExZL2NYS09xSU5jdU9mR013?=
 =?utf-8?B?Y2lrVk84eXhGZ3dNcDJTWGlsMjB4czBsaWQ5T0M0YUtOQjVQbG1QWnhPWlBk?=
 =?utf-8?B?OWswMGdpeTJabDZrakY2SnNEY3JsSEgyVThPUVhxaGNTVC9ydlpORVA1NXBv?=
 =?utf-8?B?NVIrZkJxU2FNbVFMbTZVN2NTaVdobk5zb3JscFp2VlFsOTRJcnA5Z09jR0lS?=
 =?utf-8?B?TXNLOW9wdGorbHU4VVI3QzRRcGluamVOdmwrZFMyMFpoVDM4L1RuejlUazJB?=
 =?utf-8?B?MnJ1bmZ0eXlEd1paV2I2ZWJTQ0s5UTJ0MExDSEMrUjBKbDJPUERxak84VzBQ?=
 =?utf-8?B?MG5ldlE4dmxwVG96eFpSd1hTRFBUN0hjejhvQ1RPc0xBVktkeStxU3hBeW1K?=
 =?utf-8?B?WEJaS0lUSjdWVzJRRWFYN2ZWRGZxT0IySHNoNWpmaW9NTlVIWkhWMm5nZ2VG?=
 =?utf-8?B?amZ1SnZ0VWJ6N1NJc01nSXFRTDVCT3BubnYyTWhyc05OMkM2RUFSMXVpUTNm?=
 =?utf-8?B?WFhSdFdnWnIrWmZWVEJFTUF0NXRDOTBxZm9yWUJnTVAwUHlPZXYwSlRPa1hN?=
 =?utf-8?B?TTdUaGRvcEwvTmVmUkg2b3c4dHo2VU9LU0RuZCswZWxPMzIzanhscGdvMHFR?=
 =?utf-8?B?QTBTTmxwdGw5c0ZnTEJnQ3lpU20wRE1FL2dVNXM0TkVSZXlQdlhhS1k2L1JG?=
 =?utf-8?B?QWhTWG5na21ORUQwbUQ5SStZR254VmZjSE1rZVNKYStkL1I0R0x2TTJaY1FC?=
 =?utf-8?B?aXoyeDl1RGo0cm1YMkVpQmgrS3lXTGVXUDE3RjFhWDBnbDg4Qk9HYzZWNW1o?=
 =?utf-8?B?UjFzdkJSV2dlbnF6OVFOR0hyT09tNVBLQXlvOStiYXZQL0VXNXorc3lIUm9r?=
 =?utf-8?B?TmQ1NzQrNElTN3VxT21pUXFlaFJTdkZNMWhFdnhlWmUxajhZS2hqK2pCcE5O?=
 =?utf-8?B?UmlYNENad3lPUnl4aUFjU25MRHpTeTUwK0dLRDJqbm9WQmlHYS9IazJ0VFlI?=
 =?utf-8?B?YjhESHBYNGxGblY2VzBRcmlDclBCMS9FeXJ2N1F1NU5NSFRtV1k5cGhPczRX?=
 =?utf-8?B?QTUrZFpVS2Vrc3VkRkoxNnd0Y2VZckZsZkZ0bGpCWG5xZFBwTkREOTFCUity?=
 =?utf-8?B?TDdnQmdVUzEzZDRuQkM5RHhINzIraktORGhIblhNWXNkeHBrSEF6dXJQYlRt?=
 =?utf-8?Q?G4smyC2IMeFLKH1cCpO0hB8Gg4ipGILD?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR03MB7015.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(7416014)(1800799024)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dTIwOVFNSU8wQlBqMnFScXZ5STNrQUxoN2V1Um0yTUpWVjV1cHg5WG9FZndO?=
 =?utf-8?B?VE9sc3oyOFNWS2x2aDBiOWlpS0RXaldUSDNEZUlLQ213TFdBblR4WklLL0x3?=
 =?utf-8?B?NjFtMi92TmpNS0pTdHpydGtsa3BUaTZXeVBLSG5LZ3g2T1NnWmMvKzJWdU1j?=
 =?utf-8?B?SUdpbGNlM2pjZXZNM0p1QnN5RHNlUU83Y2hKQys4M1JRR0dsQ1BnRFFMeFlv?=
 =?utf-8?B?bWRSQkd3bkhGQlBHSXlYNzJsZi84dGcvYnY4QS9wb2FlVzVLcXZmYk1zOXRl?=
 =?utf-8?B?ZTRrRVlHSWlmbVdkS0toQ3JGZGpGTjY3WUtpcE1EY3hFTkd5b0dKTzZrTDlo?=
 =?utf-8?B?U1VmRHhFaDRMU3RjWGN5dVZGcGtrM29NVkpsZk5wa2pLTDhjK2hsUEtLbGl4?=
 =?utf-8?B?aE55aDdjUUV3cmlMdnFvNUx6bThFRUF5NVlsYkhTTmdTNFVhOXhIRGRacHhi?=
 =?utf-8?B?NVZScGRwcHR4QXFRanZaMHpUUzdtbzZzbkM5ZkV3OXVqZ242RktiN0ZkRkFH?=
 =?utf-8?B?ajU0eWppZEg3UHJIWk03ekFzSDZhbVYwTVNYWmlWSitLK1pudlhlNWtzdmc4?=
 =?utf-8?B?S2J2VGE4b3dEdU0yTVFNQ1VnSkdjeHpMak16QjZ0c2l4OUV2ZzZTQTl6bU4r?=
 =?utf-8?B?Y1BJM09ibExHZlRqOXN5MVFoZm1vZHNRNFdtS1RVSFAyYTk2YS94TXZkajZP?=
 =?utf-8?B?b2dFWVZnKytKQzUwdU5hcmNUbGw1ck1VenJCVHRaVnVYcnpvdnBITkx2Mlpw?=
 =?utf-8?B?L2tSZmdlZCtEbXF3d256dGtIRXhsYklTdnJ3RnJlUHRoR3B3a2lCd0I1cjFq?=
 =?utf-8?B?bXBiVU9vQWNucUZFZUFTN3Q1aG95S2hWWE00dW9xd0p3clFiU1RSVzhtejhT?=
 =?utf-8?B?VjhEUGM5SDV2WGQrTTVPa0lqcmlpZzJRYlAxMk9vQU4xdGVwRlFGNFZkampl?=
 =?utf-8?B?Rng1TDZiQThjQnQ2c2lXSEtCNDBJSTZQdGtHeWZibEFGQTRaZnQxdER0Mzdh?=
 =?utf-8?B?NFN3OTBnaDhyR2NqMFdzZzFsOHJob3VZbnhIMG5nRXVZVEQ3S0Z6VmZNWklW?=
 =?utf-8?B?eWdxRG5qQWJVSDZnYXJFb1cwT2EvbE5sVjN5cm9RZU0wTG01RWhKWmprQm44?=
 =?utf-8?B?MERNU0dTdDRDeWYxUWMxQTZwbUlzUXp0Q0hkUy93cDIyYXZpUXZMcExYUUw4?=
 =?utf-8?B?M1NFNDR0UFdSU25OWDJmaWZ5NmV1Z3RmZG50ckxxV3htTDZLZFZneG1USVVB?=
 =?utf-8?B?YUFMdGs4NGdlc05YeGp2SEx4cEFoSHRqL2RFQlF1eWNja2czVlgwQSs4anov?=
 =?utf-8?B?Ym01bVp5SmR2THNXOEJReG9VMTJBK2w5L2NxSDg3NVFERmF1MXYzNlNQUHlI?=
 =?utf-8?B?RkJlRUlWK1BCQnlvOHpadWVrWnhLMWxPdG8zRUZUbHhScERYSE8xRFROeVdl?=
 =?utf-8?B?ZXg4U3JUT2FFUmR4RlBZSG5CbXpJekcxMmpJVkhlRTBNMDBPNzNaREtSTysr?=
 =?utf-8?B?enFSejJaSWZoNXhmS0F1cjdkRE5XYlpYUnhKaTB5RUkvV29GOStuQkgzNlNJ?=
 =?utf-8?B?cTVFMVg5T2d3TCtwQXdMTnljYmR4TDBMcklxd1dQY2lnVWtUN1JPa1ZyQ2dz?=
 =?utf-8?B?cFdXRkwrd1F3K3loYThvM05aYUx3UU92ZjdqT1gzblFRZVRXN2hNZjdMSTRv?=
 =?utf-8?B?cm9RMEFOUVkvZmhPWGpxS3ZmdllPMVFHN1RTYTFqNXZJZ05lWnJWMU4rZTRR?=
 =?utf-8?B?OGZhaVhMeEpUWWd5c1h5SU44S1c5SDVCWnpVNXI5NVczS1paM0loZHJscUVO?=
 =?utf-8?B?elZmRnVHaERWRmZlbittUUF3bTVRWVF2ZC9MQzZBSEJGME1Xb2xzMEY2VlNv?=
 =?utf-8?B?ZWtUSEp4MWtuSTgyTzMvRmJXWFBpVkpmaTFJM2NmOGc2a0NDajRZYmFqQUg1?=
 =?utf-8?B?U0R2aEt4Z3NSQ1l3WTd5RkdndHh4VlRGenZEaUtvQklDTC9QRS93Z1JsQzdy?=
 =?utf-8?B?aG5JSjB4UGFsZTF6OUZwWVVBZzVONEFPdFJTa1FuOXJmZlpZcGZiRXJscE1U?=
 =?utf-8?B?bmoxWWNuVjVnUENGdFkwdjYrUW15QzBEOEdtZjNqR3pGb1lNa2JUak5UaGtV?=
 =?utf-8?B?UWdUZnhCRUpSQTFOTk9TSGFsSGRTNXIvVkNySkVTeWR3TzFZYlZ3SXpoZWFY?=
 =?utf-8?B?dGc9PQ==?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: de9b9198-ed7a-4340-6f6d-08de15a93a9e
X-MS-Exchange-CrossTenant-AuthSource: DM4PR03MB7015.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Oct 2025 22:36:11.2670
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: MtI5kryOD61mkFSN92n+3XUm6PZIeRZPeOzPMzHkVPwqV1qVSGdmNnYSvgLNYYIeVDuuUWimZtp2yeSjoT1wbbhHgGV5bi7CjjjFsqwv8U4=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR03MB5388

On 27/10/2025 9:30 pm, Saman Dehghan wrote:
> This change enables compatibility for measuring code coverage
> with Clang versions 11 through 20 by supporting their respective raw
> profile formats.
>
> 1- Added support for LLVM raw profile versions 5, 6, 7, 8, 9, and 10.
> 2- Initialized llvm_profile_header for all versions based on llvm source
>    code in compiler-rt/include/profile/InstrProfData.inc for each version.
> 3- We tested this patch for all Clang versions from 11 through 20
>    on x86 platform.
> 4- Fixed linking warnings related to LLVM profile sections in x86.
>
>
> Signed-off-by: Saman Dehghan <samaan.dehghan@gmail.com>
> Release-Acked-By: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> Tested-by: Wentao Zhang <wentaoz5@illinois.edu>
> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> Changes from v3 to v4:
>   1- Use LLVM_PROFILE_VERSION in preprocessor conditionals
>      instead of __clang_major__.
>   2- Use DIV_ROUND_UP helper.
>   3- Remove unnecessary zero initialization inside struct.
>   4- Remove fallback macro definitions in linker script.
> Changes from v2 to v3:
>   1- Additionally support raw profile version 5, 6, 7 in clang 11, 12, 13.
>   2- Fix coverage related linking warnings in x86.
>   3- Revert unnecessary type changes, casting, etc.
> ---

Excellent.Â  Thankyou.Â  This all looks in order.Â  I've committed it.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Oct 27 22:46:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Oct 2025 22:46:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151895.1482424 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDVyv-0000JY-51; Mon, 27 Oct 2025 22:46:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151895.1482424; Mon, 27 Oct 2025 22:46:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDVyv-0000JR-22; Mon, 27 Oct 2025 22:46:29 +0000
Received: by outflank-mailman (input) for mailman id 1151895;
 Mon, 27 Oct 2025 22:46:28 +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
 <SRS0=JYa4=5E=citrix.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1vDVyt-0000JF-VY
 for xen-devel@lists.xenproject.org; Mon, 27 Oct 2025 22:46:28 +0000
Received: from BN1PR04CU002.outbound.protection.outlook.com
 (mail-eastus2azlp170100001.outbound.protection.outlook.com
 [2a01:111:f403:c110::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c4e364d9-b386-11f0-980a-7dc792cee155;
 Mon, 27 Oct 2025 23:46:26 +0100 (CET)
Received: from DM4PR03MB7015.namprd03.prod.outlook.com (2603:10b6:8:42::8) by
 SN7PR03MB7273.namprd03.prod.outlook.com (2603:10b6:806:2dd::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.18; Mon, 27 Oct
 2025 22:46:17 +0000
Received: from DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9]) by DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9%3]) with mapi id 15.20.9253.013; Mon, 27 Oct 2025
 22:46:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c4e364d9-b386-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=dUQKdRGSKikXoAy1lC03ljHAZMNACZuCz4rUsJUSe/Ho2yGYPh423ClKQHQcRDvD2eP1ZGRSBQIhKzWBnsaUTdPNhwzSL6g9Ws6P0lwye+wzJzfnoA2NZUwRZbX52GA7KYasF6Gi8fqew2pQ1FmQ65rnFBJHlYxjEMuqCj+z8RrJJXLl12/d22eqOU6o4AjUZAW8A7PZ4+UNYhXKFVNCjfSo9J4czCOAbrw56GpJASz+2l3gVhKOoZzvrqE/SMD0iRC+0XZ/3v+ReJF0jVZLa7bWaQDcQReHhGEPjKaqxq+1rxA1Cm0KNpiiQdyxINABCM7F8pL3XixW3tN9xwhKdA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=AgzfwEt0ebsYP7ZpHydDBkzUkW89uEllabWHgcZG+Kg=;
 b=hs6Wkkia3Y/YqEYzCmDwFw1RftT9ZkMeZ034RQAafLnGgA+y7NusOg1jyklavnUzIp9kyNBBlwJ79JUbk8x4iNriQU8SJXxW33qXyOc0JNS6rF7l/EyNlLc9GysT8T7DbIWNnEeTvB1S7aQdVT30jsUyPA8ldtfxeGwBpndVdNpUO8oQC2n4S82zH6LgEwOTRuRcY1M37SVGLppP5ugNuBdIaoO9S6SlFX43cH/n0GCSW6k/zgq54KREyFpX50/ZsAqlnbwCg9CWuY+swxqKpgbaoUqswaKCqaRqTrYKEja3TATXeevIe+BYD8DVpgzmfc9QSBgLUZ/ASSDUGRZveQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=AgzfwEt0ebsYP7ZpHydDBkzUkW89uEllabWHgcZG+Kg=;
 b=ARRnzsk1iEMxnupRWvl/kNoVoXwcOyS25J6azzNCn3Jni7U549XEiZEyiDNHVGqy8U3TQPlUu/O3QVqKRG3JaHO4WJYnwk03mNzJaz/ERqkiCYy2mYoXWi7nROFU54SCFwbd9sstSRqTbY/Bc7yKwIawCcv/LI1WwCRGK5CDF8M=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <eb1b8e4b-aaba-4615-bc0f-6ad908732e89@citrix.com>
Date: Mon, 27 Oct 2025 22:46:13 +0000
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/5] x86/ucode: Abort parallel load early on any control
 thread error
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20251020131955.2928261-1-andrew.cooper3@citrix.com>
 <20251020131955.2928261-3-andrew.cooper3@citrix.com>
 <4fb57b9e-2a39-471a-a629-e8cd00997f22@suse.com>
 <342ead3d-3d10-46b9-bb2f-89f941582d96@citrix.com>
 <b62ae9fd-01db-43df-9966-98d028ca24e1@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <b62ae9fd-01db-43df-9966-98d028ca24e1@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0480.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1a8::17) To DM4PR03MB7015.namprd03.prod.outlook.com
 (2603:10b6:8:42::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM4PR03MB7015:EE_|SN7PR03MB7273:EE_
X-MS-Office365-Filtering-Correlation-Id: 911b1bba-0956-47f1-a399-08de15aaa3d7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?VjI1QW1LVHRobU44d1NOMVpjNTJySmsyT0U5Tm90TG5uT3ZyS1pjU2g0dHJN?=
 =?utf-8?B?TnpGb2w5c3FWVG1WUEdtcjhTcWNOZ1dRUEFhZ2hhVEZ5TmNjRW91VndCYzRN?=
 =?utf-8?B?dVBPSDJZRWZKNU44RkoyaWlQQmFRb3JoMHRLQ2JDVVV4eTFzUkJSOVRhVlgw?=
 =?utf-8?B?VGU2RmN5L1d3K0UwNnBhT005TjRuUkxDbUJpTllxUE1KanZaOFZ5VVh5RFIz?=
 =?utf-8?B?VmNRbU1VRSs3a292QlJmckp2NFBwdE44OFBIOGZUUGtEdTJzWFVReUJ4NWJT?=
 =?utf-8?B?WnNqbEhZTFoyelQxMlNuV3VBZGhIalpkdkw5dEFWMEJRVW4zRHZPQXNHNE1D?=
 =?utf-8?B?Q3MxK2JpeHVwYnByNytsbHV6cnVYTFVKSFAvaXdzWXE2NXowQ1JzNDRNVUkz?=
 =?utf-8?B?cXZIbkp3QW8xSVlRbGtNaHFLOTNyN1BSQkJMMENLUXg4WkJiVVlSOGtpTXNN?=
 =?utf-8?B?K294VHJkVFUzblU1UWF4bXVQaWFPQmp0MUpsdDJkdE9NS25NVHRHQ09rblhp?=
 =?utf-8?B?KzB2ai9Uanc3d2s0UStCN2tQV1VhTHNJZjVwaEhBL2JTVTV5M2hSZnM4Titv?=
 =?utf-8?B?em43MU5acUl3ZU1RRFJYVEI0elNCUm9DN0txYTJOazhNbndTWnBFcGpSaVJj?=
 =?utf-8?B?WjMrZTF3S2Z2ZEk4SFBXY3dtaGoxL1ZJSFVEbnRJUVN3Qllmbm12RkZaTWlK?=
 =?utf-8?B?dUhHWUNhNGh3Mm9hYkxZcUtWb2E4bGFzSDN2VWcwRFl1RzJ0T2RsREQvUnBo?=
 =?utf-8?B?ajVyaHF3bGNNZDRoK04wUmNBUXpJYW5KRitaQVBRL0dETWZYVkpSQW93Q0RI?=
 =?utf-8?B?OXZMa3FWWGhFdjZ4dTRCREtUYWFYR1ArN0RqTGlxNjFxSlo5NklBSTdnL0dH?=
 =?utf-8?B?bGI3SEdEU2ZUU1drK1NJTnBCLzRUZGVtL1RBcmpoQmhFNHdtOUlTT2NiOWNW?=
 =?utf-8?B?N0x5L1dqTFZMaTczWEdqTnkzQndGWVVXVTJIL0w0OWFhRmNpV1FJSHQwYXky?=
 =?utf-8?B?ZzEzSTJTTGlzaFB6SGZnbGpKd2FBMytxSWE3bWk0b256NFYrTDVjQXZRV0xY?=
 =?utf-8?B?ZzZ3REttNjlRZ2U0bzZzQU50MWd5b0JoejJkcG5DNUM3dUlqblZPb0pDamlY?=
 =?utf-8?B?dXBzcHpxbjlBbnFsRCtBSXpuTW00a2xTSUNGYTZNWEFPb0FHcCtzRlkzajZ5?=
 =?utf-8?B?ZVFvaldMakk1RHdiYTRpUEZENGlWbUpKdVdIZlM3UFJvRjkwbDNTdk12MkQw?=
 =?utf-8?B?czJobXhJY3VwL29xRFR1WC94bGk3NlY4VHI1b0RqbnpQWGZxVk9Tc0J4b09t?=
 =?utf-8?B?UHhZNFJSN1hsZnExc2hXcG45eFVnY2Y0aW15MUxqVWVDUjd1ZER5ZXVhSEY0?=
 =?utf-8?B?Q3JTaXRLeUlnRkJRSjVWYzh6dWlXMUpEdlVaQVovZ0V1U09iZnFxUHhFTlBG?=
 =?utf-8?B?cmUwenVHbmdUQWRkUisvRHdZdTJGTC9RNjFiRXJEZFNxTHJnTFNnL014THZP?=
 =?utf-8?B?T1JJQU10VmJCaTBOeDZGYittR3doenJFcVpwbHZaaTV6aUVZRjdORjl5WG5R?=
 =?utf-8?B?Um5nd2pmZ0FVMXNFcmNqeGpXMVY0T3dhS3NaNE1tT3ZybWRVRTY1MU1PcG1P?=
 =?utf-8?B?WUJJWmhRMDZ4M1doODEvN0V3M3VaVFhKTTErYWVURjk4OVo2QXNaMUIxcmlM?=
 =?utf-8?B?NS85RGFLTDcvZ1RrUU14MHdVQ1ZyU1lSOHl3cE9JQmJFWGdGay83MXVVUndI?=
 =?utf-8?B?bGtoOXNJSUIwem9XdjBsT0ZSR0gzN1U2TU1ta2I2NTl1Qk1ZcjFQc0p1R0Vo?=
 =?utf-8?B?VjloV1BVTTdENk1oK0sxMXNVcUdNODY3aFhkVm9wSEVhdHhmRms0cGdycVZR?=
 =?utf-8?B?MXdPOEdxWE1vdlBhLzBBSWlJS2tsWXowanBVOXY3MVJTK2N6c2k2S2M0ZE90?=
 =?utf-8?Q?IDnw9Foy3rP/awlFM3d7DsJ2ctS/ollg?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR03MB7015.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cTU4Njh3VzIyaGRDUDBicnpoS3QrcGV2YUZxY3dVeDVvTjhlY1pqWnhCZHdz?=
 =?utf-8?B?cGZGZncyVGY2OTFGb2RkNnBDWWlDc2NaRFJtOUYvZi80anFSNXR2SVVCdERo?=
 =?utf-8?B?TUNQK1craDJvV3NtbklzQkhZT2tuNmJvTzhxbDYzWExnd0pBL0IvVHpsaGNM?=
 =?utf-8?B?YkVMSWk3LzRiLzNaV3ZhcW15ZCtjcVA4ejJVUEJoOUtzTHZFRTg1QkpJSlZE?=
 =?utf-8?B?cmdoUVU1akc4aWw5MWV0aDN0aFhhQjNSd3VEMnZsV20yM2x0TjZPZ3g0amN6?=
 =?utf-8?B?bzNiQ2VoWTkzNFBEc1RWN3NrdnNmdzdZd1BpRHM4R3BqK2NMVTJycW9Dc0Y2?=
 =?utf-8?B?R3ExU29vZGZvSEhUVkRaWG53Q1FPVHBwM2k1RmRleUkxdG5ZbXZHaWprdGYx?=
 =?utf-8?B?NXJRWkhlbVBMaGxhTDBkL3hCbXd5cVhxTjhvUFoyWEl1QTc1VDFCbkpuNmxD?=
 =?utf-8?B?bjdGZENQb0JwYzhURDZOWG5odGJqc3lwdmE2R1U3YnNLNUlsMU80MHY5TlIx?=
 =?utf-8?B?LzZxYm5lYWJrcTBvN2J4eXNPUHBVR2VHMVJEVkw5anczT0JqOVFVVUU1OUJp?=
 =?utf-8?B?OGlIakFYdG5WOFVpc3ZFSTNyZEtrVUptZG9ZemlONEVDN1l1d2ZwK09md2tK?=
 =?utf-8?B?SHFMWjQ0K0I5Q3Vxd2dRby9LQzVEOVBXbUljdlNaN1ZOeUFkMDhERTNwTk9w?=
 =?utf-8?B?K0ZXWUliKytTVjFST284RkwveTJNUHhSaGxHbEVxckZRTGZ2K2tFQ2k1ZHl1?=
 =?utf-8?B?M2FVbk4vSTZGRTh4NjNqN2FxUiszeGgrWm91NEpndFlxdU1ZRXd1Nk5YSWhL?=
 =?utf-8?B?cU9ndXlPdWJHbW9ad1hXYzNwREd3RGNEM0l0OE1NTTh3cGFmTmk1cGZvWnFC?=
 =?utf-8?B?bEV2RDlHa0hFa0Qzb1BZK09BeTVtQlZ2QTA2My85S2N6SEZmTnA3TWk4TXBz?=
 =?utf-8?B?ZmNlOURZYXI5Y2FqZTdBNGExQ3o1cHg0YWRGVnBzRkluZk5mYzYzbFdmQkRl?=
 =?utf-8?B?eDAza2RNQmpScWJnYlR6NEFWb0NXQkxHakVmOGtZSWdjOHJzd2kwWWZ2YkJh?=
 =?utf-8?B?YS9hb1lSVm1rN25WZGdubmQvL0dnaWZOVzI3UTdNcy94TWNXdXo2V2FiVXN4?=
 =?utf-8?B?ZVlZU3VRWTduTE5GTWV3TTA1Ylo1Q0RwT0p1cTZGTjJHb0NJa2haY2lRbG4y?=
 =?utf-8?B?OVFPaGtVd1J2b1Y2K0xPM2pteWhOUTFocVFTQVpkQWZCTk01Q0xkNWNxK3dL?=
 =?utf-8?B?Ym8xd0JIU0Q5Zm53ZXg2eHFsWjJTZFhRZkhRc1Bra1RxR2N3NHY4alRRYTZ1?=
 =?utf-8?B?Z3h4Lytqa3IwMVFNNkh6b1hKMlh0NmZiMm9RUUxmZERTcy9xZDlINytkUmND?=
 =?utf-8?B?VjIraFJ3R082SXVYUTQ0bnBXL2RZTERKSGx2MnREZEpDa0xQbDRuRW04dWFa?=
 =?utf-8?B?Rmh1ZmYrWnZIb0xDbll1L01XR0lJSlhmTDNYWVM3dU1rOE9GZW1uVmJNSWlQ?=
 =?utf-8?B?NjNNREJvOFdKOEcvRVN6dm5qbjNFRStiTER2eGo3T1paWkY4RkZYb0gxa3lP?=
 =?utf-8?B?aFRQYW1YT2tIWnoxNXdpczBPdlRURVY3bnIxOGNOR1g5Sk10TklvSUZPemMv?=
 =?utf-8?B?YzJrTlhodzIzN1JkVG92aWRoNExiSFE4Lzc0Z1dZY3BBbkU3TkIwUm1WMUVj?=
 =?utf-8?B?V2lLdzJrNEI4eGZuOHFsaWJGbnZjVWFibU8vZUtWLzVXWmdqRkZSbE9RMDdP?=
 =?utf-8?B?cGtFTmp2S1NSbTQ5RFNrZE1CWVlDbDVlcHlkaXArdmtiYkJ6b1lGZ3k0WEgx?=
 =?utf-8?B?TER0VkMrRnM5SStkR1dFK29ndjVTYm5wVUZONWhvV1JJajFMQkNhVHhTa1lE?=
 =?utf-8?B?YXdqOUJaU1pMOFVxM2ZBK1BvMlhMdmthd1hBVzFCR2grRENhNmlsV1RVNlF5?=
 =?utf-8?B?WExvTnpvTERTUERCajk1a1dZVjlud01QbDQwa1J4TUp1cWY2OHBzNUpBdHBa?=
 =?utf-8?B?dk1OaHNKZ2plVExXbjVQNWdSTTJUcXpPTGV1Y2hJU1EyeTJHUk0yNHNsVExB?=
 =?utf-8?B?T2FRNWtaVzNVcnlQN1JkYURrY2hWREhMaEtoTllCd1QwV0VWNWNzcGNONGVT?=
 =?utf-8?B?MGVjYVNwZFlyaCs3MXRUNUZvUVRrNXI3U056bm1MZ0ZXelpFckhSOFpXL05I?=
 =?utf-8?B?cWc9PQ==?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 911b1bba-0956-47f1-a399-08de15aaa3d7
X-MS-Exchange-CrossTenant-AuthSource: DM4PR03MB7015.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Oct 2025 22:46:17.2193
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: zGTAy9aU1qsI5b7gnsCJpv1dqViGruLOpdXNasIfPd48nUqyktbiJR061GpTlfFTn6u6qHCZ1xgeyOyBxlEM5nBf+5yP8NJz26EJ9SD3GSw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR03MB7273

On 23/10/2025 7:24 am, Jan Beulich wrote:
> On 22.10.2025 21:28, Andrew Cooper wrote:
>> On 20/10/2025 4:55 pm, Jan Beulich wrote:
>>> On 20.10.2025 15:19, Andrew Cooper wrote:
>>>> EIO is not the only error that ucode_ops.apply_microcode() can produce.
>>>> EINVAL, EEXISTS and ENXIO can be generated too, each of which mean that Xen is
>>>> unhappy in some way with the proposed blob.
>>> Yes, yet wasn't that the case already when the EIO check was added? Were we
>>> perhaps trying to deal with a certain level of asymmetry in the system? I
>>> think a little more is needed here, also to ...
>>>
>>>> Some of these can be bypassed with --force, which will cause the parallel load
>>>> to be attempted.
>>>>
>>>> Fixes: 5ed12565aa32 ("microcode: rendezvous CPUs in NMI handler and load ucode")
>>> ... justify there being a Fixes: tag. It would also seem possible that the
>>> check was intentional and correct at the time of introduction, but was
>>> rendered stale by some later change.
>> The parallel load logic more bugs than lines of code.Â  What hasn't
>> already been rewritten either has pending patches, or pending bugs
>> needing fixing.
>>
>> I didn't care to check why it was limited to EIO at the time.Â  It's
>> definitely wrong.
>>
>> But if you insist that I waste time doing so, at the time EIO was
>> introduced, both apply_microcode()'s could fail with -ENOENT for a NULL
>> pointer, -EINVAL for "patch isn't for this CPU".
> The latter fits my "trying to deal with a certain level of asymmetry" guess,
> doesn't it?

If you mean CPU asymmetry, I'm going to argue this as a bugfix.Â  Some
Intel CPUs are known not to check the stepping, accept the wrong
microcode, and crash.Â  I have more patches to at least make this case
very obvious, but I need to get through some of the existing queue first.

If you mean revision asymmetry, nothing has really changed here.Â  The
parallel load is only started if a blob newer than the cache is found.Â 
If --force is used to override this check and load anyway, you also
won't get -EEXISTs out of apply_microcode().

> And btw, why are you being so negative again? "Waste time" is a pretty clear
> sign of you (once again) thinking that your view of the world is the only
> possibly sensible one.

I have rewritten most of microcode loading from scratch.Â  What hasn't
yet been rewritten is pending, with serious errors already identified
on-list and more still that haven't made it into public.

I would be further through if it had not taken an unreasonable amount of
effort to make the changes so far.Â  You refused my module changes
despite the blatant issues in the existing code, forcing me to
manoeuvrer them in via the boot_info changes (and in so doing discover
that module handling in general was even more broken than originally
realised).

The current pending series is in part stuck because I haven't had the
energy to tell you to stop trying to scope creep the work.

So yes, I was irritated at being asked to justify not breaking a thing
which has been thoroughly demonstrated to be broken.

>
> Nevertheless, considering that asymmetry is not something we really mean to
> care about:
>
> Acked-by: Jan Beulich <jbeulich@suse.com>

Thanks.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Oct 27 23:59:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Oct 2025 23:59:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151913.1482458 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDX71-0001rX-H9; Mon, 27 Oct 2025 23:58:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151913.1482458; Mon, 27 Oct 2025 23:58:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDX71-0001rQ-EC; Mon, 27 Oct 2025 23:58:55 +0000
Received: by outflank-mailman (input) for mailman id 1151913;
 Mon, 27 Oct 2025 23:58:54 +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
 <SRS0=vtjv=5E=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1vDX70-0001pi-E2
 for xen-devel@lists.xenproject.org; Mon, 27 Oct 2025 23:58:54 +0000
Received: from tor.source.kernel.org (tor.source.kernel.org [172.105.4.254])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e283a63e-b390-11f0-980a-7dc792cee155;
 Tue, 28 Oct 2025 00:58:51 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by tor.source.kernel.org (Postfix) with ESMTP id B1630602C3;
 Mon, 27 Oct 2025 23:58:49 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 98E3FC4CEF1;
 Mon, 27 Oct 2025 23:58:48 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e283a63e-b390-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1761609529;
	bh=bLRVN5rbxiu+Kcm/VnoPW5vJES0kSJkj6MY/gwy2PKQ=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=aFOSouino3COvf9CCPiGDE7eK+trWQHhsO3U7UetstwC969xHu1OlHh/Q+WgSmBuW
	 lY+3edPJq8kNtHoDIasB6H0mzPkn0NH54sUiBDukIJ0UQV793VFCioBmeUrRKrVCgr
	 dz0sHXysUSwOs4NRWpajqb5PAphHxf+oZIDXuog3H63PSAU45KJ8Q9jAvBXGgDQZSi
	 z1veqmMs0VBnDnxDk/Fc2SnoRIU1XUbIipcbPA2ywBvd/sc9AuNkYx+Lsc3bgJ73cM
	 ho+z5nVNblt9srCs0dHFGm3+TxJizTRjaJx5HNIJNjx4SkwivierO7OT94FEYmyL4Q
	 x8emC1A3Z6EKQ==
Date: Mon, 27 Oct 2025 16:58:47 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org, 
    consulting@bugseng.com, Doug Goldstein <cardoe@cardoe.com>, 
    Victor Lira <victorm.lira@amd.com>
Subject: Re: [XEN PATCH v2] automation/eclair: add new analysis jobs with
 differing configurations
In-Reply-To: <1591f6a0c0f3524c4c613328293ed4e03cfc93ef.1761291003.git.nicola.vetrini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2510271656380.495094@ubuntu-linux-20-04-desktop>
References: <1591f6a0c0f3524c4c613328293ed4e03cfc93ef.1761291003.git.nicola.vetrini@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 24 Oct 2025, Nicola Vetrini wrote:
> The following analysis jobs are performed:
> - eclair-{x86_64,ARM64}: analyze Xen using the default configuration for
>   that architecture; runs on runners tagged `eclair-analysis'.
> 
> - eclair-{x86-64,ARM64}-safety: analyze Xen using the configuration for
>   safety, which is more restricted; runs on runners tagged
>   `eclair-analysis-safety`.
> 
> - eclair-{x86_64,ARM64}-testing: analyze Xen using the default
>   configuration for the purposes of testing new runner updates; runs on
>   runners tagged `eclair-analysis-testing`.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

Do you have a link to a successful pipeline?

Just making sure we are not breaking things.


> ---
> Changes in v2:
> - rebased to current staging;
> - fixed regex path issue.
> ---
>  automation/gitlab-ci/analyze.yaml | 38 +++++++++++++++++++++++++++++++
>  1 file changed, 38 insertions(+)
> 
> diff --git a/automation/gitlab-ci/analyze.yaml b/automation/gitlab-ci/analyze.yaml
> index d50721006740..7bd644d75074 100644
> --- a/automation/gitlab-ci/analyze.yaml
> +++ b/automation/gitlab-ci/analyze.yaml
> @@ -45,6 +45,21 @@ eclair-x86_64:
>      LOGFILE: "eclair-x86_64.log"
>      VARIANT: "X86_64"
>      RULESET: "monitored"
> +
> +eclair-x86_64-testing:
> +  extends: eclair-x86_64
> +  tags:
> +    - eclair-analysis-testing
> +  rules:
> +    - if: $CI_PROJECT_PATH =~ /^xen-project\/people\/bugseng.*$/
> +      when: always
> +    - !reference [.eclair-analysis:triggered, rules]

given that everyone can change this yaml file when pushing to their own
branch, I think we should remove this, or (probably better) use a
separate env variable to set the default

it is better not to use the path, I think


> +eclair-x86_64-safety:
> +  extends: eclair-x86_64
> +  tags:
> +    - eclair-analysis-safety
> +  variables:
>      EXTRA_XEN_CONFIG: |
>        CONFIG_AMD=y
>        CONFIG_INTEL=n
> @@ -75,6 +90,10 @@ eclair-x86_64:
>        CONFIG_DEBUG_LOCKS=n
>        CONFIG_SCRUB_DEBUG=n
>        CONFIG_XMEM_POOL_POISON=n
> +  rules:
> +    - if: $CI_PROJECT_PATH =~ /^xen-project\/hardware\/xen$/ && $CI_COMMIT_BRANCH =~ /^staging$/
> +      when: always
> +    - !reference [.eclair-analysis:triggered, rules]

same here


>  eclair-ARM64:
>    extends: .eclair-analysis:triggered
> @@ -82,6 +101,21 @@ eclair-ARM64:
>      LOGFILE: "eclair-ARM64.log"
>      VARIANT: "ARM64"
>      RULESET: "monitored"
> +
> +eclair-ARM64-testing:
> +  extends: eclair-ARM64
> +  tags:
> +    - eclair-analysis-testing
> +  rules:
> +    - if: $CI_PROJECT_PATH =~ /^xen-project\/people\/bugseng.*$/
> +      when: always
> +    - !reference [.eclair-analysis:triggered, rules]

and here


> +eclair-ARM64-safety:
> +  extends: eclair-ARM64
> +  tags:
> +    - eclair-analysis-safety
> +  variables:
>      EXTRA_XEN_CONFIG: |
>        CONFIG_NR_CPUS=16
>        CONFIG_GICV2=n
> @@ -120,6 +154,10 @@ eclair-ARM64:
>        CONFIG_DEBUG_LOCKS=n
>        CONFIG_SCRUB_DEBUG=n
>        CONFIG_XMEM_POOL_POISON=n
> +  rules:
> +    - if: $CI_PROJECT_PATH =~ /^xen-project\/hardware\/xen$/ && $CI_COMMIT_BRANCH =~ /^staging$/
> +      when: always
> +    - !reference [.eclair-analysis, rules]

and here


From xen-devel-bounces@lists.xenproject.org Tue Oct 28 01:07:41 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Oct 2025 01:07:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151925.1482473 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDYBL-0001re-RU; Tue, 28 Oct 2025 01:07:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151925.1482473; Tue, 28 Oct 2025 01:07:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDYBL-0001rW-Ml; Tue, 28 Oct 2025 01:07:27 +0000
Received: by outflank-mailman (input) for mailman id 1151925;
 Tue, 28 Oct 2025 01:07:27 +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
 <SRS0=AvtB=5F=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1vDYBK-0001rO-Fw
 for xen-devel@lists.xenproject.org; Tue, 28 Oct 2025 01:07:26 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 75b110da-b39a-11f0-980a-7dc792cee155;
 Tue, 28 Oct 2025 02:07:23 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 (Authenticated sender: nicola)
 by support.bugseng.com (Postfix) with ESMTPA id CFDD44EEBC5F;
 Tue, 28 Oct 2025 02:07:21 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 75b110da-b39a-11f0-980a-7dc792cee155
Authentication-Results: bugseng.com; arc=none smtp.remote-ip=162.55.131.47
ARC-Seal: i=1; d=bugseng.com; s=openarc; a=rsa-sha256; cv=none; t=1761613641;
	b=PFTvpHcfQjyUjaZRniKA8YeWold0Fe7WL3ezvRIAr5aCtZUKL+D6TqQ83QugsBPhbEhR
	 WGGaL7w2H6DCUIKR9siHyExkIyCCScX6EXEa/UFWsTm5jsy0RBeM7YURIw2WukdX4XVFR
	 RhotV1qkLqWua0aLD9S6fwyLcFvRIbGHyYvrW5A5zcv8ylu7d7Dn6DM5vKixMqmmvX5Jj
	 UWsndFs/DlrEE36QMKm4dHh5C3kTOqclg0AMpBPvB0gp/2cdZzk437lF5A38JlkjEOhNE
	 O0LhysXLK9rzcjQj6//8W7gtkJMxdMcnLMBlwFj0TLb5CKb1MNvRkELVkbvUbRRSwwaIb
	 4xQIzHm7YOLhyts0ugleA76onZxFn5kzeys1wj115Z5vR7V4KtzOeZ0+O/IzJoPFWNJXX
	 r0GDGMy4O7X511gBW9Yzo2FfoPWK/7ZiVBtD0ftMrwW5IqTQgLb2kO/fsZmggzsvtmfLG
	 L2orCe/BqYLgXcQjImkAS2r4SpEV8dm8+Y4GCZUaFQW3HRnM6s/RXEjWdhTLIlQTxg2em
	 YgKTMgXpvx2JlYEUDcD+p32VDxlmKiTCh9866SLsQAXRUuHhjl6jFkO9rHatl823KzLVl
	 4w4zshNniK5z6tZ9A2andiJinbdJt7Mkqilx2whuz1VODTWWWD8vzZG17RWiE5A=
ARC-Message-Signature: i=1; d=bugseng.com; s=openarc; a=rsa-sha256;
	c=relaxed/relaxed; t=1761613641;
	h=DKIM-Signature:MIME-Version:Date:From:To:Cc:Subject:In-Reply-To:
	 References:Message-ID:X-Sender:Organization:Content-Type:
	 Content-Transfer-Encoding;
	bh=jxp5tNcS/nhc4CJTFG9bzC7gB58PeQRZu2UTTVAvRAM=;
	b=GIOCC4gIyt4mdaaTgpaDnPEoP+KV/0blG3E92Q3SImeJHhkVLJn4db7AFAUWrF+chMqF
	 3chU+2xD0LM22vKDZx2bzZvQs4GeuNZ16SEpG3R10X/HtAypbxMYmmEUy6yeebzP6Uq7X
	 PS5KvhZ7J4Wk+VTbp+Fxi7t4wh+pybLSrUn99XTqZjRN5gdswhna8BghsMODPvExmaaw0
	 /mtI7uxWRSMhu9jGOWwKBU87p2S4F4OR2r3VB9GmRwtSPbmDpjAeyLWYF2RuJCxAExWzv
	 /r1tmJbcBDt8AdtgPgjcJ6jgfSe8HXrbjTkxEZt1LRj1Wu8/D7zR8zUvyAoL731ovyOtB
	 3CN2k2O8ug3MIWrLjprQwPfmzZY2NlZn9Yv7MT6s3hN5gappbgdBlzI9Ks1q6fSHcQuEu
	 pEBMDSckaIrTTwllqoshwTstup3FKBNvkFNAPLXY7h/IvhDOy1xX42vzORGu0iCFKJbQ0
	 E/Ic44VvUx5h7NI/V6v4aa1MK5Kr+HGuHPTFKIxP3jnmXm7eNXmc5xoxwqGCemE7ABmbw
	 ddS9HpCn9nIDOhRaS2FExAYRifji+848XcD12JQwwrH8P7V4iMPJ5vrjkNxInLXgbWGyR
	 LWYjlmvn/po1XX2iGWpjB4cyHelaXOgahIOEBcE1jVdIxIvx75VyIgSmiKr5ZoY=
ARC-Authentication-Results: i=1; bugseng.com; arc=none smtp.remote-ip=162.55.131.47
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1761613641; bh=rO+2P3+i8tmLXOZ5zyoE5EJNKSnq2o32dwuk2JNDO30=;
	h=Date:From:To:Cc:Subject:In-Reply-To:References:From;
	b=JXxwN6bxvG85/lhBvH1YNcwtvFVcbvmksnwkHV+PjmChlgplFcTWfANSJe+qGRVAF
	 yiNWv6LG/oRWeDke/pPgvh/5vxRkfgD58ltuk90KGahTqFeBPRsXBS8RFswLlbHdCl
	 aG6gXtTnIyxTwW2QGZ84pFwxSHriDQv6tXv87PPBqgPT7mjEcCub7hp4LPFZ64/f9X
	 yqUqWLKkOL3KpoZLd4+bcQlJKJgLVXu9PdkD0y03bN1kwLYsHo3w1X0uNwS8FJgBpg
	 xgg4JQtZXBL3ZCMrOA4Wi+Pog+yQCUWVWGqgfkH9AT19K4iNrIuvMT+tlIm218eqoF
	 4TnGMuAfn1lUA==
MIME-Version: 1.0
Date: Tue, 28 Oct 2025 02:07:21 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, consulting@bugseng.com, Doug Goldstein
 <cardoe@cardoe.com>, Victor Lira <victorm.lira@amd.com>
Subject: Re: [XEN PATCH v2] automation/eclair: add new analysis jobs with
 differing configurations
In-Reply-To: <alpine.DEB.2.22.394.2510271656380.495094@ubuntu-linux-20-04-desktop>
References: <1591f6a0c0f3524c4c613328293ed4e03cfc93ef.1761291003.git.nicola.vetrini@bugseng.com>
 <alpine.DEB.2.22.394.2510271656380.495094@ubuntu-linux-20-04-desktop>
Message-ID: <f6dbd7a74854cab064cf7ca76c68e44d@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2025-10-28 00:58, Stefano Stabellini wrote:
> On Fri, 24 Oct 2025, Nicola Vetrini wrote:
>> The following analysis jobs are performed:
>> - eclair-{x86_64,ARM64}: analyze Xen using the default configuration 
>> for
>>   that architecture; runs on runners tagged `eclair-analysis'.
>> 
>> - eclair-{x86-64,ARM64}-safety: analyze Xen using the configuration 
>> for
>>   safety, which is more restricted; runs on runners tagged
>>   `eclair-analysis-safety`.
>> 
>> - eclair-{x86_64,ARM64}-testing: analyze Xen using the default
>>   configuration for the purposes of testing new runner updates; runs 
>> on
>>   runners tagged `eclair-analysis-testing`.
>> 
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> 
> Do you have a link to a successful pipeline?
> 
> Just making sure we are not breaking things.
> 

No; not yet, at least [1]. Without the right tags the safety runner 
can't pick up jobs.

[1] 
https://gitlab.com/xen-project/people/bugseng/xen/-/pipelines/2117835680

> 
>> ---
>> Changes in v2:
>> - rebased to current staging;
>> - fixed regex path issue.
>> ---
>>  automation/gitlab-ci/analyze.yaml | 38 
>> +++++++++++++++++++++++++++++++
>>  1 file changed, 38 insertions(+)
>> 
>> diff --git a/automation/gitlab-ci/analyze.yaml 
>> b/automation/gitlab-ci/analyze.yaml
>> index d50721006740..7bd644d75074 100644
>> --- a/automation/gitlab-ci/analyze.yaml
>> +++ b/automation/gitlab-ci/analyze.yaml
>> @@ -45,6 +45,21 @@ eclair-x86_64:
>>      LOGFILE: "eclair-x86_64.log"
>>      VARIANT: "X86_64"
>>      RULESET: "monitored"
>> +
>> +eclair-x86_64-testing:
>> +  extends: eclair-x86_64
>> +  tags:
>> +    - eclair-analysis-testing
>> +  rules:
>> +    - if: $CI_PROJECT_PATH =~ /^xen-project\/people\/bugseng.*$/
>> +      when: always
>> +    - !reference [.eclair-analysis:triggered, rules]
> 
> given that everyone can change this yaml file when pushing to their own
> branch, I think we should remove this, or (probably better) use a
> separate env variable to set the default
> 
> it is better not to use the path, I think
> 

That is a fair concern. One option would be to just use a project runner 
assigned to the people/bugseng/xen subproject, but that might be a bit 
inconvenient if we want to swap runners around. Another option, as you 
said, is keeping the regex in a variable, but this wont't prevent rogue 
modifications of the YAML. I might have found something runner-side with 
[2], but I need to dig deeper on that one.

[2] pre_build_script at 
https://docs.gitlab.com/runner/configuration/advanced-configuration/#the-runners-section
> 
>> +eclair-x86_64-safety:
>> +  extends: eclair-x86_64
>> +  tags:
>> +    - eclair-analysis-safety
>> +  variables:
>>      EXTRA_XEN_CONFIG: |
>>        CONFIG_AMD=y
>>        CONFIG_INTEL=n
>> @@ -75,6 +90,10 @@ eclair-x86_64:
>>        CONFIG_DEBUG_LOCKS=n
>>        CONFIG_SCRUB_DEBUG=n
>>        CONFIG_XMEM_POOL_POISON=n
>> +  rules:
>> +    - if: $CI_PROJECT_PATH =~ /^xen-project\/hardware\/xen$/ && 
>> $CI_COMMIT_BRANCH =~ /^staging$/
>> +      when: always
>> +    - !reference [.eclair-analysis:triggered, rules]
> 
> same here
> 
> 
>>  eclair-ARM64:
>>    extends: .eclair-analysis:triggered
>> @@ -82,6 +101,21 @@ eclair-ARM64:
>>      LOGFILE: "eclair-ARM64.log"
>>      VARIANT: "ARM64"
>>      RULESET: "monitored"
>> +
>> +eclair-ARM64-testing:
>> +  extends: eclair-ARM64
>> +  tags:
>> +    - eclair-analysis-testing
>> +  rules:
>> +    - if: $CI_PROJECT_PATH =~ /^xen-project\/people\/bugseng.*$/
>> +      when: always
>> +    - !reference [.eclair-analysis:triggered, rules]
> 
> and here
> 
> 
>> +eclair-ARM64-safety:
>> +  extends: eclair-ARM64
>> +  tags:
>> +    - eclair-analysis-safety
>> +  variables:
>>      EXTRA_XEN_CONFIG: |
>>        CONFIG_NR_CPUS=16
>>        CONFIG_GICV2=n
>> @@ -120,6 +154,10 @@ eclair-ARM64:
>>        CONFIG_DEBUG_LOCKS=n
>>        CONFIG_SCRUB_DEBUG=n
>>        CONFIG_XMEM_POOL_POISON=n
>> +  rules:
>> +    - if: $CI_PROJECT_PATH =~ /^xen-project\/hardware\/xen$/ && 
>> $CI_COMMIT_BRANCH =~ /^staging$/
>> +      when: always
>> +    - !reference [.eclair-analysis, rules]
> 
> and here

-- 
Nicola Vetrini, B.Sc.
Software Engineer
BUGSENG (https://bugseng.com)
LinkedIn: https://www.linkedin.com/in/nicola-vetrini-a42471253


From xen-devel-bounces@lists.xenproject.org Tue Oct 28 07:50:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Oct 2025 07:50:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151937.1482482 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDeSo-0005Gx-R9; Tue, 28 Oct 2025 07:49:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151937.1482482; Tue, 28 Oct 2025 07:49:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDeSo-0005Gq-OT; Tue, 28 Oct 2025 07:49:54 +0000
Received: by outflank-mailman (input) for mailman id 1151937;
 Tue, 28 Oct 2025 07:49:53 +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 <SRS0=5UYB=5F=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1vDeSn-0005Gg-4p
 for xen-devel@lists.xenproject.org; Tue, 28 Oct 2025 07:49:53 +0000
Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com
 [2a00:1450:4864:20::329])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ae53d750-b3d2-11f0-980a-7dc792cee155;
 Tue, 28 Oct 2025 08:49:50 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-474975af41dso38319735e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 28 Oct 2025 00:49:49 -0700 (PDT)
Received: from localhost.localdomain (88-187-86-199.subs.proxad.net.
 [88.187.86.199]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-429952b7b43sm19118976f8f.6.2025.10.28.00.49.46
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Tue, 28 Oct 2025 00:49:48 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ae53d750-b3d2-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1761637789; x=1762242589; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=TMp5SEiL/DqxiivezHK1UHyuC2K2nMhieBEi0DJq2ls=;
        b=m9r52h1mEvJ6KvPVflGb/fyAX+m+ZeLaNINQzEJTkGJjruZbj2ycYv24q34SYMtbeG
         kSy8mSdOTm+pYxt/qHeoy8hu3zG76AfnlJtZxwJXdWCaaCIQ4SWs2If4zngwtQPmgN2H
         BLLELnUGl3LU+8LpyqKi6QR4tOA3nSCLsc+sNQ01jkdqYlCt35ieol1MKB/KLBvDA/Bp
         NUFNgPQ4GYSkCZ0dRUlpx44Zyze+7VLeXUBBB93MFNa4cizC73wqE9HFO+R1tsk+4RnT
         jEyL3plljrHjKiBTa2b+2CZefDvgb90bW0pW+4aGp4oCtEB4ixjjw7AzqFEaPpYjaKsA
         8xaQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761637789; x=1762242589;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=TMp5SEiL/DqxiivezHK1UHyuC2K2nMhieBEi0DJq2ls=;
        b=mfGDHEs0P8+SzvEZXDqaF/P5nqktTUB9XMfZzw5exaNK0+oTdu1F1kWXUXKdk1O1qk
         PkMzwAdaeP/Yd30XAXYsz6xw3xtP7bWyqt/VhL1SVkbBcfmlVzD0ZyTIjJuGMjkJlQjK
         wPJM/nR2SbzSCbZH31B6nLZLCtvlx+nwvZiVxhaATYUnlN2imxr0siJypkFlbwsrlIXB
         Yyr0crpIF2CTC20R9Y7Q4P/jl2lPa5o6s5N6eZJ5OETGPoC2QWrH+ccxU9qnQudR4dRg
         3njybmbTWq05JjXk93l3L81zPXpExQjX3r+lqIjgzsb/JuwxepOqCHPenlNcjbo+IDTo
         uWLg==
X-Forwarded-Encrypted: i=1; AJvYcCXFvIQhnNrt7yY2/JtXiaE52Wn6mtm9hkRIw4y1cwwTuvkVBd6RFMV7XOW/k9WI9WutUFpOmhEWJeo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyvQIEIdmmJqSMWWjWAKJQ4k1+kGHxWRBMaZ7w5P14dPii7ElB8
	sZAltuDrB76u89dAD0lDYTywc6uECPqSPwTA21B0S+A2HnHnjeqG0GDPv+hOU2sv5jU=
X-Gm-Gg: ASbGncsX0MA3VPyI7GwA1xZSM72DduogLGXN6Gh4uzvhfbf5SHOW6fYGf76ofScLITg
	M80lor5OOos4XAlE97BSdh2It1cUGubYrPJ396IHBkUC7BnbsCUs0b6qxIymP8rf5ohYlvZKTkG
	Z7zqQgNv1cTIMayIKDEJ+JVKC9GSBUVQpuLQCWvCPSC4QP4XpxDsuiOXwvbyuRmK9hoxMokwMY9
	QmnxhmisChRzwWMiJ6NyDC7AeHUdkT9BSMONf0vXZWwKppui+EsE6Kkarw/UaG8MrE+dVDbcg9e
	TRgCOTdfZRLqIN4TM60ZPOS8zSn6WXZMzFtDYkfYRVU883oTUtKz69LQemZrvWmy2IrALyTrvwN
	Aiu+2P7I19RziUKUW13JLsvtZhmsNng1Z4sc3QiNfFRw49qXCLRsLijVLrTEpofHyI0QqFwHHVq
	gcU5PDktzndseOwSJ5bWPZeNw66py+Ffh+cvrlQT2Qp8/qR6dLXwUvNxw=
X-Google-Smtp-Source: AGHT+IGtSEp433uC9qYma6kcQhFndenHMDLlZHsVpPwY2AHuor/xOMzhjJXK+9YHS53maFAvpXsY2A==
X-Received: by 2002:a05:6000:144d:b0:3f9:bc33:2fab with SMTP id ffacd0b85a97d-429a7e86d73mr2097883f8f.60.1761637789106;
        Tue, 28 Oct 2025 00:49:49 -0700 (PDT)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: qemu-devel@nongnu.org
Cc: Nguyen Dinh Phi <phind.uet@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	"Gonglei (Arei)" <arei.gonglei@huawei.com>,
	Zhenwei Pi <pizhenwei@bytedance.com>,
	Alberto Garcia <berto@igalia.com>,
	=?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony@xenproject.org>,
	Paul Durrant <paul@xen.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Bernhard Beschow <shentey@gmail.com>,
	Jason Wang <jasowang@redhat.com>,
	Huacai Chen <chenhuacai@kernel.org>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Helge Deller <deller@gmx.de>,
	Tyrone Ting <kfting@nuvoton.com>,
	Hao Wu <wuhaotsh@google.com>,
	Aditya Gupta <adityag@linux.ibm.com>,
	Glenn Miles <milesg@linux.ibm.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Daniel Henrique Barboza <dbarboza@ventanamicro.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Fam Zheng <fam@euphon.net>,
	Alex Williamson <alex@shazbot.org>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@redhat.com>,
	Laurent Vivier <lvivier@redhat.com>,
	Amit Shah <amit@kernel.org>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Pavel Pisa <pisa@cmp.felk.cvut.cz>,
	Francisco Iglesias <francisco.iglesias@amd.com>,
	Vikram Garhwal <vikram.garhwal@bytedance.com>,
	xen-devel@lists.xenproject.org,
	qemu-arm@nongnu.org,
	qemu-ppc@nongnu.org,
	qemu-riscv@nongnu.org
Subject: [PULL 02/23] qom: remove redundant typedef when use OBJECT_DECLARE_SIMPLE_TYPE
Date: Tue, 28 Oct 2025 08:48:38 +0100
Message-ID: <20251028074901.22062-3-philmd@linaro.org>
X-Mailer: git-send-email 2.51.0
In-Reply-To: <20251028074901.22062-1-philmd@linaro.org>
References: <20251028074901.22062-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Nguyen Dinh Phi <phind.uet@gmail.com>

When OBJECT_DECLARE_SIMPLE_TYPE is used, it automatically provides
the typedef, so we donâ€™t have to define it ourselves.

Signed-off-by: Nguyen Dinh Phi <phind.uet@gmail.com>
Reviewed-by: Philippe Mathieu-DaudÃ© <philmd@linaro.org>
Message-ID: <20251023063429.1400398-1-phind.uet@gmail.com>
Signed-off-by: Philippe Mathieu-DaudÃ© <philmd@linaro.org>
---
 hw/net/fsl_etsec/etsec.h                | 1 -
 include/hw/char/serial.h                | 1 -
 include/hw/input/lasips2.h              | 6 ++----
 include/hw/misc/auxbus.h                | 7 +++----
 include/hw/misc/bcm2835_mphi.h          | 7 ++-----
 include/hw/misc/npcm7xx_pwm.h           | 7 ++-----
 include/hw/pci-host/pnv_phb3.h          | 6 ++----
 include/hw/pci-host/pnv_phb4.h          | 8 ++++----
 include/hw/ppc/mac_dbdma.h              | 7 +++----
 include/hw/riscv/iommu.h                | 3 ---
 include/hw/scsi/scsi.h                  | 7 +++----
 include/hw/vfio/vfio-container-legacy.h | 5 ++---
 include/hw/virtio/virtio-serial.h       | 5 ++---
 include/net/can_emu.h                   | 7 +++----
 backends/cryptodev-lkcf.c               | 1 -
 hw/char/ipoctal232.c                    | 9 ++++-----
 hw/char/xen_console.c                   | 1 -
 hw/dma/pl330.c                          | 6 ++----
 hw/net/xen_nic.c                        | 2 --
 hw/pci-host/bonito.c                    | 7 +++----
 hw/ppc/pef.c                            | 1 -
 hw/usb/dev-mtp.c                        | 7 +++----
 hw/usb/dev-uas.c                        | 7 +++----
 23 files changed, 43 insertions(+), 75 deletions(-)

diff --git a/hw/net/fsl_etsec/etsec.h b/hw/net/fsl_etsec/etsec.h
index 3860864a3f5..bd2de3f99c7 100644
--- a/hw/net/fsl_etsec/etsec.h
+++ b/hw/net/fsl_etsec/etsec.h
@@ -130,7 +130,6 @@ struct eTSEC {
     /* Whether we should flush the rx queue when buffer becomes available. */
     bool need_flush;
 };
-typedef struct eTSEC eTSEC;
 
 #define TYPE_ETSEC_COMMON "eTSEC"
 OBJECT_DECLARE_SIMPLE_TYPE(eTSEC, ETSEC_COMMON)
diff --git a/include/hw/char/serial.h b/include/hw/char/serial.h
index 4bf90a46f3c..2cfeaed7fb9 100644
--- a/include/hw/char/serial.h
+++ b/include/hw/char/serial.h
@@ -77,7 +77,6 @@ struct SerialState {
     QEMUTimer *modem_status_poll;
     MemoryRegion io;
 };
-typedef struct SerialState SerialState;
 
 extern const VMStateDescription vmstate_serial;
 extern const MemoryRegionOps serial_io_ops;
diff --git a/include/hw/input/lasips2.h b/include/hw/input/lasips2.h
index 01911c50f9b..fd74883073b 100644
--- a/include/hw/input/lasips2.h
+++ b/include/hw/input/lasips2.h
@@ -32,7 +32,8 @@ struct LASIPS2PortDeviceClass {
     DeviceRealize parent_realize;
 };
 
-typedef struct LASIPS2State LASIPS2State;
+#define TYPE_LASIPS2 "lasips2"
+OBJECT_DECLARE_SIMPLE_TYPE(LASIPS2State, LASIPS2)
 
 struct LASIPS2Port {
     DeviceState parent_obj;
@@ -74,7 +75,4 @@ struct LASIPS2State {
     qemu_irq irq;
 };
 
-#define TYPE_LASIPS2 "lasips2"
-OBJECT_DECLARE_SIMPLE_TYPE(LASIPS2State, LASIPS2)
-
 #endif /* HW_INPUT_LASIPS2_H */
diff --git a/include/hw/misc/auxbus.h b/include/hw/misc/auxbus.h
index ccd18ce2095..0051e039471 100644
--- a/include/hw/misc/auxbus.h
+++ b/include/hw/misc/auxbus.h
@@ -29,13 +29,15 @@
 #include "hw/qdev-core.h"
 #include "qom/object.h"
 
-typedef struct AUXSlave AUXSlave;
 typedef enum AUXCommand AUXCommand;
 typedef enum AUXReply AUXReply;
 
 #define TYPE_AUXTOI2C "aux-to-i2c-bridge"
 OBJECT_DECLARE_SIMPLE_TYPE(AUXTOI2CState, AUXTOI2C)
 
+#define TYPE_AUX_SLAVE "aux-slave"
+OBJECT_DECLARE_SIMPLE_TYPE(AUXSlave, AUX_SLAVE)
+
 enum AUXCommand {
     WRITE_I2C = 0,
     READ_I2C = 1,
@@ -73,9 +75,6 @@ struct AUXBus {
     AddressSpace aux_addr_space;
 };
 
-#define TYPE_AUX_SLAVE "aux-slave"
-OBJECT_DECLARE_SIMPLE_TYPE(AUXSlave, AUX_SLAVE)
-
 struct AUXSlave {
     /* < private > */
     DeviceState parent_obj;
diff --git a/include/hw/misc/bcm2835_mphi.h b/include/hw/misc/bcm2835_mphi.h
index 751363f496c..3f1997e5f24 100644
--- a/include/hw/misc/bcm2835_mphi.h
+++ b/include/hw/misc/bcm2835_mphi.h
@@ -23,7 +23,8 @@
 
 #define MPHI_MMIO_SIZE      0x1000
 
-typedef struct BCM2835MphiState BCM2835MphiState;
+#define TYPE_BCM2835_MPHI   "bcm2835-mphi"
+OBJECT_DECLARE_SIMPLE_TYPE(BCM2835MphiState, BCM2835_MPHI)
 
 struct BCM2835MphiState {
     SysBusDevice parent_obj;
@@ -37,8 +38,4 @@ struct BCM2835MphiState {
     uint32_t swirq;
 };
 
-#define TYPE_BCM2835_MPHI   "bcm2835-mphi"
-
-OBJECT_DECLARE_SIMPLE_TYPE(BCM2835MphiState, BCM2835_MPHI)
-
 #endif
diff --git a/include/hw/misc/npcm7xx_pwm.h b/include/hw/misc/npcm7xx_pwm.h
index bf953440acc..df927266209 100644
--- a/include/hw/misc/npcm7xx_pwm.h
+++ b/include/hw/misc/npcm7xx_pwm.h
@@ -35,8 +35,8 @@
  * value of 100,000 the duty cycle for that PWM is 10%.
  */
 #define NPCM7XX_PWM_MAX_DUTY 1000000
-
-typedef struct NPCM7xxPWMState NPCM7xxPWMState;
+#define TYPE_NPCM7XX_PWM "npcm7xx-pwm"
+OBJECT_DECLARE_SIMPLE_TYPE(NPCM7xxPWMState, NPCM7XX_PWM)
 
 /**
  * struct NPCM7xxPWM - The state of a single PWM channel.
@@ -100,7 +100,4 @@ struct NPCM7xxPWMState {
     uint32_t    piir;
 };
 
-#define TYPE_NPCM7XX_PWM "npcm7xx-pwm"
-OBJECT_DECLARE_SIMPLE_TYPE(NPCM7xxPWMState, NPCM7XX_PWM)
-
 #endif /* NPCM7XX_PWM_H */
diff --git a/include/hw/pci-host/pnv_phb3.h b/include/hw/pci-host/pnv_phb3.h
index 24ca3dddaa9..682f62a638f 100644
--- a/include/hw/pci-host/pnv_phb3.h
+++ b/include/hw/pci-host/pnv_phb3.h
@@ -14,7 +14,8 @@
 #include "qom/object.h"
 #include "hw/pci-host/pnv_phb.h"
 
-typedef struct PnvPHB3 PnvPHB3;
+#define TYPE_PNV_PHB3 "pnv-phb3"
+OBJECT_DECLARE_SIMPLE_TYPE(PnvPHB3, PNV_PHB3)
 
 /*
  * PHB3 XICS Source for MSIs
@@ -115,9 +116,6 @@ OBJECT_DECLARE_SIMPLE_TYPE(PnvPHB3RootBus, PNV_PHB3_ROOT_BUS)
 /*
  * PHB3 PCIe Host Bridge for PowerNV machines (POWER8)
  */
-#define TYPE_PNV_PHB3 "pnv-phb3"
-OBJECT_DECLARE_SIMPLE_TYPE(PnvPHB3, PNV_PHB3)
-
 #define PNV_PHB3_NUM_M64      16
 #define PNV_PHB3_NUM_REGS     (0x1000 >> 3)
 #define PNV_PHB3_NUM_LSI      8
diff --git a/include/hw/pci-host/pnv_phb4.h b/include/hw/pci-host/pnv_phb4.h
index 8a80c0c667a..de996e718b0 100644
--- a/include/hw/pci-host/pnv_phb4.h
+++ b/include/hw/pci-host/pnv_phb4.h
@@ -17,8 +17,11 @@
 #include "hw/ppc/xive.h"
 #include "qom/object.h"
 
+
+#define TYPE_PNV_PHB4 "pnv-phb4"
+OBJECT_DECLARE_SIMPLE_TYPE(PnvPHB4, PNV_PHB4)
+
 typedef struct PnvPhb4PecStack PnvPhb4PecStack;
-typedef struct PnvPHB4 PnvPHB4;
 
 /*
  * We have one such address space wrapper per possible device under
@@ -59,9 +62,6 @@ OBJECT_DECLARE_SIMPLE_TYPE(PnvPHB4RootBus, PNV_PHB4_ROOT_BUS)
 /*
  * PHB4 PCIe Host Bridge for PowerNV machines (POWER9)
  */
-#define TYPE_PNV_PHB4 "pnv-phb4"
-OBJECT_DECLARE_SIMPLE_TYPE(PnvPHB4, PNV_PHB4)
-
 #define PNV_PHB4_MAX_LSIs          8
 #define PNV_PHB4_MAX_INTs          4096
 #define PNV_PHB4_MAX_MIST          (PNV_PHB4_MAX_INTs >> 2)
diff --git a/include/hw/ppc/mac_dbdma.h b/include/hw/ppc/mac_dbdma.h
index 896ee4a2b17..76764882453 100644
--- a/include/hw/ppc/mac_dbdma.h
+++ b/include/hw/ppc/mac_dbdma.h
@@ -164,7 +164,9 @@ struct DBDMAState {
     DBDMA_channel channels[DBDMA_CHANNELS];
     QEMUBH *bh;
 };
-typedef struct DBDMAState DBDMAState;
+
+#define TYPE_MAC_DBDMA "mac-dbdma"
+OBJECT_DECLARE_SIMPLE_TYPE(DBDMAState, MAC_DBDMA)
 
 /* Externally callable functions */
 
@@ -173,7 +175,4 @@ void DBDMA_register_channel(void *dbdma, int nchan, qemu_irq irq,
                             void *opaque);
 void DBDMA_kick(DBDMAState *dbdma);
 
-#define TYPE_MAC_DBDMA "mac-dbdma"
-OBJECT_DECLARE_SIMPLE_TYPE(DBDMAState, MAC_DBDMA)
-
 #endif
diff --git a/include/hw/riscv/iommu.h b/include/hw/riscv/iommu.h
index 8a8acfc3f07..25f1a8b1596 100644
--- a/include/hw/riscv/iommu.h
+++ b/include/hw/riscv/iommu.h
@@ -24,18 +24,15 @@
 
 #define TYPE_RISCV_IOMMU "riscv-iommu"
 OBJECT_DECLARE_SIMPLE_TYPE(RISCVIOMMUState, RISCV_IOMMU)
-typedef struct RISCVIOMMUState RISCVIOMMUState;
 
 #define TYPE_RISCV_IOMMU_MEMORY_REGION "riscv-iommu-mr"
 typedef struct RISCVIOMMUSpace RISCVIOMMUSpace;
 
 #define TYPE_RISCV_IOMMU_PCI "riscv-iommu-pci"
 OBJECT_DECLARE_SIMPLE_TYPE(RISCVIOMMUStatePci, RISCV_IOMMU_PCI)
-typedef struct RISCVIOMMUStatePci RISCVIOMMUStatePci;
 
 #define TYPE_RISCV_IOMMU_SYS "riscv-iommu-device"
 OBJECT_DECLARE_SIMPLE_TYPE(RISCVIOMMUStateSys, RISCV_IOMMU_SYS)
-typedef struct RISCVIOMMUStateSys RISCVIOMMUStateSys;
 
 #define FDT_IRQ_TYPE_EDGE_LOW 1
 
diff --git a/include/hw/scsi/scsi.h b/include/hw/scsi/scsi.h
index 90ee192b4d4..044bd048b49 100644
--- a/include/hw/scsi/scsi.h
+++ b/include/hw/scsi/scsi.h
@@ -10,7 +10,9 @@
 
 #define MAX_SCSI_DEVS 255
 
-typedef struct SCSIBus SCSIBus;
+#define TYPE_SCSI_BUS "SCSI"
+OBJECT_DECLARE_SIMPLE_TYPE(SCSIBus, SCSI_BUS)
+
 typedef struct SCSIBusInfo SCSIBusInfo;
 typedef struct SCSIDevice SCSIDevice;
 typedef struct SCSIRequest SCSIRequest;
@@ -151,9 +153,6 @@ struct SCSIBusInfo {
     void (*drained_end)(SCSIBus *bus);
 };
 
-#define TYPE_SCSI_BUS "SCSI"
-OBJECT_DECLARE_SIMPLE_TYPE(SCSIBus, SCSI_BUS)
-
 struct SCSIBus {
     BusState qbus;
     int busnr;
diff --git a/include/hw/vfio/vfio-container-legacy.h b/include/hw/vfio/vfio-container-legacy.h
index ffd594e80d6..fe822125268 100644
--- a/include/hw/vfio/vfio-container-legacy.h
+++ b/include/hw/vfio/vfio-container-legacy.h
@@ -12,7 +12,8 @@
 #include "hw/vfio/vfio-container.h"
 #include "hw/vfio/vfio-cpr.h"
 
-typedef struct VFIOLegacyContainer VFIOLegacyContainer;
+OBJECT_DECLARE_SIMPLE_TYPE(VFIOLegacyContainer, VFIO_IOMMU_LEGACY);
+
 typedef struct VFIODevice VFIODevice;
 
 typedef struct VFIOGroup {
@@ -35,6 +36,4 @@ struct VFIOLegacyContainer {
     VFIOContainerCPR cpr;
 };
 
-OBJECT_DECLARE_SIMPLE_TYPE(VFIOLegacyContainer, VFIO_IOMMU_LEGACY);
-
 #endif /* HW_VFIO_CONTAINER_LEGACY_H */
diff --git a/include/hw/virtio/virtio-serial.h b/include/hw/virtio/virtio-serial.h
index d87c62eab7a..60641860bf8 100644
--- a/include/hw/virtio/virtio-serial.h
+++ b/include/hw/virtio/virtio-serial.h
@@ -29,7 +29,8 @@ struct virtio_serial_conf {
 OBJECT_DECLARE_TYPE(VirtIOSerialPort, VirtIOSerialPortClass,
                     VIRTIO_SERIAL_PORT)
 
-typedef struct VirtIOSerial VirtIOSerial;
+#define TYPE_VIRTIO_SERIAL "virtio-serial-device"
+OBJECT_DECLARE_SIMPLE_TYPE(VirtIOSerial, VIRTIO_SERIAL)
 
 #define TYPE_VIRTIO_SERIAL_BUS "virtio-serial-bus"
 OBJECT_DECLARE_SIMPLE_TYPE(VirtIOSerialBus, VIRTIO_SERIAL_BUS)
@@ -221,7 +222,5 @@ size_t virtio_serial_guest_ready(VirtIOSerialPort *port);
  */
 void virtio_serial_throttle_port(VirtIOSerialPort *port, bool throttle);
 
-#define TYPE_VIRTIO_SERIAL "virtio-serial-device"
-OBJECT_DECLARE_SIMPLE_TYPE(VirtIOSerial, VIRTIO_SERIAL)
 
 #endif
diff --git a/include/net/can_emu.h b/include/net/can_emu.h
index 6f9b206bb5f..777281bad96 100644
--- a/include/net/can_emu.h
+++ b/include/net/can_emu.h
@@ -85,7 +85,9 @@ typedef struct qemu_can_filter {
 #define QEMU_CAN_INV_FILTER 0x20000000U
 
 typedef struct CanBusClientState CanBusClientState;
-typedef struct CanBusState CanBusState;
+
+#define TYPE_CAN_BUS "can-bus"
+OBJECT_DECLARE_SIMPLE_TYPE(CanBusState, CAN_BUS)
 
 typedef struct CanBusClientInfo {
     bool (*can_receive)(CanBusClientState *);
@@ -105,9 +107,6 @@ struct CanBusClientState {
     bool fd_mode;
 };
 
-#define TYPE_CAN_BUS "can-bus"
-OBJECT_DECLARE_SIMPLE_TYPE(CanBusState, CAN_BUS)
-
 int can_bus_filter_match(struct qemu_can_filter *filter, qemu_canid_t can_id);
 
 int can_bus_insert_client(CanBusState *bus, CanBusClientState *client);
diff --git a/backends/cryptodev-lkcf.c b/backends/cryptodev-lkcf.c
index bb7a81d5d06..97a8a8812ce 100644
--- a/backends/cryptodev-lkcf.c
+++ b/backends/cryptodev-lkcf.c
@@ -68,7 +68,6 @@ typedef struct CryptoDevBackendLKCFSession {
     QCryptoAkCipherOptions akcipher_opts;
 } CryptoDevBackendLKCFSession;
 
-typedef struct CryptoDevBackendLKCF CryptoDevBackendLKCF;
 typedef struct CryptoDevLKCFTask CryptoDevLKCFTask;
 struct CryptoDevLKCFTask {
     CryptoDevBackendLKCFSession *sess;
diff --git a/hw/char/ipoctal232.c b/hw/char/ipoctal232.c
index 752c6c818ab..0a7ffcd0b7e 100644
--- a/hw/char/ipoctal232.c
+++ b/hw/char/ipoctal232.c
@@ -93,7 +93,10 @@
 #define ISR_RXRDY(CH) (((CH) & 1) ? BIT(5) : BIT(1))
 #define ISR_BREAK(CH) (((CH) & 1) ? BIT(6) : BIT(2))
 
-typedef struct IPOctalState IPOctalState;
+#define TYPE_IPOCTAL "ipoctal232"
+
+OBJECT_DECLARE_SIMPLE_TYPE(IPOctalState, IPOCTAL)
+
 typedef struct SCC2698Channel SCC2698Channel;
 typedef struct SCC2698Block SCC2698Block;
 
@@ -122,10 +125,6 @@ struct IPOctalState {
     uint8_t irq_vector;
 };
 
-#define TYPE_IPOCTAL "ipoctal232"
-
-OBJECT_DECLARE_SIMPLE_TYPE(IPOctalState, IPOCTAL)
-
 static const VMStateDescription vmstate_scc2698_channel = {
     .name = "scc2698_channel",
     .version_id = 1,
diff --git a/hw/char/xen_console.c b/hw/char/xen_console.c
index 9c34a554bfa..0e73c2aee40 100644
--- a/hw/char/xen_console.c
+++ b/hw/char/xen_console.c
@@ -56,7 +56,6 @@ struct XenConsole {
     CharBackend       chr;
     int               backlog;
 };
-typedef struct XenConsole XenConsole;
 
 #define TYPE_XEN_CONSOLE_DEVICE "xen-console"
 OBJECT_DECLARE_SIMPLE_TYPE(XenConsole, XEN_CONSOLE_DEVICE)
diff --git a/hw/dma/pl330.c b/hw/dma/pl330.c
index a570bb08ec4..f9c91f924bb 100644
--- a/hw/dma/pl330.c
+++ b/hw/dma/pl330.c
@@ -111,7 +111,8 @@ typedef enum  {
     pl330_chan_fault = 15,
 } PL330ChanState;
 
-typedef struct PL330State PL330State;
+#define TYPE_PL330 "pl330"
+OBJECT_DECLARE_SIMPLE_TYPE(PL330State, PL330)
 
 typedef struct PL330Chan {
     uint32_t src;
@@ -274,9 +275,6 @@ struct PL330State {
     AddressSpace *mem_as;
 };
 
-#define TYPE_PL330 "pl330"
-OBJECT_DECLARE_SIMPLE_TYPE(PL330State, PL330)
-
 static const VMStateDescription vmstate_pl330 = {
     .name = "pl330",
     .version_id = 2,
diff --git a/hw/net/xen_nic.c b/hw/net/xen_nic.c
index 34c6a1d0b08..e7bdc732de0 100644
--- a/hw/net/xen_nic.c
+++ b/hw/net/xen_nic.c
@@ -62,8 +62,6 @@ struct XenNetDev {
     NICState              *nic;
 };
 
-typedef struct XenNetDev XenNetDev;
-
 #define TYPE_XEN_NET_DEVICE "xen-net-device"
 OBJECT_DECLARE_SIMPLE_TYPE(XenNetDev, XEN_NET_DEVICE)
 
diff --git a/hw/pci-host/bonito.c b/hw/pci-host/bonito.c
index 7d6251a78d7..cbda068ef7d 100644
--- a/hw/pci-host/bonito.c
+++ b/hw/pci-host/bonito.c
@@ -230,7 +230,9 @@ struct PCIBonitoState {
     MemoryRegion bonito_localio;
 
 };
-typedef struct PCIBonitoState PCIBonitoState;
+
+#define TYPE_PCI_BONITO "Bonito"
+OBJECT_DECLARE_SIMPLE_TYPE(PCIBonitoState, PCI_BONITO)
 
 struct BonitoState {
     PCIHostState parent_obj;
@@ -239,9 +241,6 @@ struct BonitoState {
     MemoryRegion pci_mem;
 };
 
-#define TYPE_PCI_BONITO "Bonito"
-OBJECT_DECLARE_SIMPLE_TYPE(PCIBonitoState, PCI_BONITO)
-
 static void bonito_writel(void *opaque, hwaddr addr,
                           uint64_t val, unsigned size)
 {
diff --git a/hw/ppc/pef.c b/hw/ppc/pef.c
index 254f5707876..39b4ce94f10 100644
--- a/hw/ppc/pef.c
+++ b/hw/ppc/pef.c
@@ -19,7 +19,6 @@
 #define TYPE_PEF_GUEST "pef-guest"
 OBJECT_DECLARE_SIMPLE_TYPE(PefGuest, PEF_GUEST)
 
-typedef struct PefGuest PefGuest;
 typedef struct PefGuestClass PefGuestClass;
 
 struct PefGuestClass {
diff --git a/hw/usb/dev-mtp.c b/hw/usb/dev-mtp.c
index ce45c9cd061..afd7944b737 100644
--- a/hw/usb/dev-mtp.c
+++ b/hw/usb/dev-mtp.c
@@ -123,11 +123,13 @@ typedef struct {
 
 /* ----------------------------------------------------------------------- */
 
-typedef struct MTPState MTPState;
 typedef struct MTPControl MTPControl;
 typedef struct MTPData MTPData;
 typedef struct MTPObject MTPObject;
 
+#define TYPE_USB_MTP "usb-mtp"
+OBJECT_DECLARE_SIMPLE_TYPE(MTPState, USB_MTP)
+
 enum {
     EP_DATA_IN = 1,
     EP_DATA_OUT,
@@ -236,9 +238,6 @@ typedef struct {
     /* string and other data follows */
 } QEMU_PACKED ObjectInfo;
 
-#define TYPE_USB_MTP "usb-mtp"
-OBJECT_DECLARE_SIMPLE_TYPE(MTPState, USB_MTP)
-
 #define QEMU_STORAGE_ID 0x00010001
 
 #define MTP_FLAG_WRITABLE 0
diff --git a/hw/usb/dev-uas.c b/hw/usb/dev-uas.c
index 21cc2835c62..18ebe15d0c4 100644
--- a/hw/usb/dev-uas.c
+++ b/hw/usb/dev-uas.c
@@ -109,10 +109,12 @@ typedef struct {
 #define UAS_STREAM_BM_ATTR  4
 #define UAS_MAX_STREAMS     (1 << UAS_STREAM_BM_ATTR)
 
-typedef struct UASDevice UASDevice;
 typedef struct UASRequest UASRequest;
 typedef struct UASStatus UASStatus;
 
+#define TYPE_USB_UAS "usb-uas"
+OBJECT_DECLARE_SIMPLE_TYPE(UASDevice, USB_UAS)
+
 struct UASDevice {
     USBDevice                 dev;
     SCSIBus                   bus;
@@ -133,9 +135,6 @@ struct UASDevice {
     USBPacket                 *status3[UAS_MAX_STREAMS + 1];
 };
 
-#define TYPE_USB_UAS "usb-uas"
-OBJECT_DECLARE_SIMPLE_TYPE(UASDevice, USB_UAS)
-
 struct UASRequest {
     uint16_t     tag;
     uint64_t     lun;
-- 
2.51.0



From xen-devel-bounces@lists.xenproject.org Tue Oct 28 08:07:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Oct 2025 08:07:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151954.1482492 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDejc-0000HL-Fz; Tue, 28 Oct 2025 08:07:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151954.1482492; Tue, 28 Oct 2025 08:07:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDejc-0000HD-DE; Tue, 28 Oct 2025 08:07:16 +0000
Received: by outflank-mailman (input) for mailman id 1151954;
 Tue, 28 Oct 2025 08:07: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 <SRS0=LPue=5F=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vDejb-0000H7-0T
 for xen-devel@lists.xenproject.org; Tue, 28 Oct 2025 08:07:15 +0000
Received: from mail-wm1-x330.google.com (mail-wm1-x330.google.com
 [2a00:1450:4864:20::330])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 18902ae9-b3d5-11f0-980a-7dc792cee155;
 Tue, 28 Oct 2025 09:07:07 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-475dd559a83so17057205e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 28 Oct 2025 01:07:07 -0700 (PDT)
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-475dd494d5csm184028105e9.9.2025.10.28.01.07.05
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 28 Oct 2025 01:07:06 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 18902ae9-b3d5-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761638826; x=1762243626; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=IAct4j+Vvjx7lylSiDx3Nm0RM/0ItrX+e5KxOgxfqnA=;
        b=gRrTBamZre1dYF0ImnnvgKztjRgMjURpXSzQ56zKXyR1CEOk5rfTga+nGqVRhwSNQo
         w2SXkOs31N9r5JGsjYlwojfGOC8h7HWN32XElrYQc7IB2nmF6o3uzqCqvskm1MOAYj42
         ABG4u0eoEC9gOM7x5D0IB2eKF3utyJdVUtbZGpOMx3gETnxu246Xqey34ZOfGizXXtHC
         2OETdt1VtDHgm4/SPF7wYCUEvJ+FGvoAodSBvxW/hqeTk75M1Nwx4gWyHdHh3PscZmeR
         6bNWu18nxCtfA62YGvhKJR7DNnf7fvzDvKI70EN8XlJTUGReQPHqOK0/FdTfXLF2wHD4
         2Ngg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761638826; x=1762243626;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=IAct4j+Vvjx7lylSiDx3Nm0RM/0ItrX+e5KxOgxfqnA=;
        b=DXtJkknwnnLAXtbFhf/EArQhd2vLMMFRD2OvSzK+lRwzNTU40YE1b9wbyIg0r18X/G
         FdHOrKAnZNOXgeRaiIk8xmZrxCr9QOGPSi7h6LK6AZGoMLCfr5R0/Vjbm/lc2ViQ+n6s
         A+bTTapNNdowiN68aRYbiR0Ue1S66zNbHi4uZdbZaPxeve9c3mifQ4isUI19OBGd5TbA
         /13KKW16X4+t8Ig90Ejcc7I5gtcw1LnhOnpT7pnXZOfR2Qtn11Dq1VGUMNdXZteQ05LH
         g54/5iTrzcrituj+6OB9QlCnkPzTmQi0+PhoDGU+doAyafHyXC+2OitOjpsc1YAfDGRw
         sZ7Q==
X-Forwarded-Encrypted: i=1; AJvYcCWGCrkp3J/25wiq/y9EGGt23SvtzZx6vc83w3Tr42XBczV5fMkaSYiXNxTD2ijbpc2j9NUtsXS2q6Y=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw6eL4aASEjjxVre7zPkSmPdespMjZbpVMnLYRDut1jMXToq04A
	YBuVDMweXq4qW2V600oCt4ee8ENuTMUqveYx5Dl6qpoEjnd2LigZOJK7mupaa4NcAA==
X-Gm-Gg: ASbGncvIpATkT9iY0ptSGRa8qYDr3po7exChr/JaIGv4bz8p30a1MY0sxtRKXSD0hj0
	+zw2/AUaxwy7Q+aFGT2LKlIMtMl5rnZD75QaGueH3TNmutKuaP8CvqYf8t8NbSkpsDLRjmnPXsk
	xP/J9TfVAtrQCBnfrceT7lbRm3U8hXaIlMVxsL7X/wR6zLmH6MBUbKsbaW63GtwwkYOR4LZAMaE
	J3wo4hMTyr22i8iPAzh6VcQQQzWqWjPDIottRT7DtVwYPjTWZnt2oFurpk2VGqa4/gSUX9vmExn
	k7JVVFZ5e3bj4uXlkoupHjgKnKVTXNBuIXfvpoDs7HrD1cq8kuG67EYK7joOXqB396Vwoc81WMx
	/ucKiVzL725E72/m35glKoona+ua9LXPoCRVNgGCM1mWdeHJLsPmiaFhw8ds57T272I6sAwHej0
	+26X/6oTfgh1bo9ThJzpvkCb+jpVHKtRyljHZhXxf48Jwvo8ha7RcyiLiewB79
X-Google-Smtp-Source: AGHT+IEdBoPYwV+rny5bBkzqoXUam1c91SUSZpHo1laSLtI36ZXlHXaTISdi1b20kvLDnPFCz6SnmA==
X-Received: by 2002:a05:600c:358c:b0:477:e70:592b with SMTP id 5b1f17b1804b1-47717df8398mr25465665e9.2.1761638826454;
        Tue, 28 Oct 2025 01:07:06 -0700 (PDT)
Message-ID: <c9931ed8-1706-4c13-8f68-7eb251915871@suse.com>
Date: Tue, 28 Oct 2025 09:07:05 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/5] x86/ucode: Abort parallel load early on any control
 thread error
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20251020131955.2928261-1-andrew.cooper3@citrix.com>
 <20251020131955.2928261-3-andrew.cooper3@citrix.com>
 <4fb57b9e-2a39-471a-a629-e8cd00997f22@suse.com>
 <342ead3d-3d10-46b9-bb2f-89f941582d96@citrix.com>
 <b62ae9fd-01db-43df-9966-98d028ca24e1@suse.com>
 <eb1b8e4b-aaba-4615-bc0f-6ad908732e89@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <eb1b8e4b-aaba-4615-bc0f-6ad908732e89@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 27.10.2025 23:46, Andrew Cooper wrote:
> On 23/10/2025 7:24 am, Jan Beulich wrote:
>> On 22.10.2025 21:28, Andrew Cooper wrote:
>>> On 20/10/2025 4:55 pm, Jan Beulich wrote:
>>>> On 20.10.2025 15:19, Andrew Cooper wrote:
>>>>> EIO is not the only error that ucode_ops.apply_microcode() can produce.
>>>>> EINVAL, EEXISTS and ENXIO can be generated too, each of which mean that Xen is
>>>>> unhappy in some way with the proposed blob.
>>>> Yes, yet wasn't that the case already when the EIO check was added? Were we
>>>> perhaps trying to deal with a certain level of asymmetry in the system? I
>>>> think a little more is needed here, also to ...
>>>>
>>>>> Some of these can be bypassed with --force, which will cause the parallel load
>>>>> to be attempted.
>>>>>
>>>>> Fixes: 5ed12565aa32 ("microcode: rendezvous CPUs in NMI handler and load ucode")
>>>> ... justify there being a Fixes: tag. It would also seem possible that the
>>>> check was intentional and correct at the time of introduction, but was
>>>> rendered stale by some later change.
>>> The parallel load logic more bugs than lines of code.Â  What hasn't
>>> already been rewritten either has pending patches, or pending bugs
>>> needing fixing.
>>>
>>> I didn't care to check why it was limited to EIO at the time.Â  It's
>>> definitely wrong.
>>>
>>> But if you insist that I waste time doing so, at the time EIO was
>>> introduced, both apply_microcode()'s could fail with -ENOENT for a NULL
>>> pointer, -EINVAL for "patch isn't for this CPU".
>> The latter fits my "trying to deal with a certain level of asymmetry" guess,
>> doesn't it?
> 
> If you mean CPU asymmetry, I'm going to argue this as a bugfix.Â  Some
> Intel CPUs are known not to check the stepping, accept the wrong
> microcode, and crash.Â  I have more patches to at least make this case
> very obvious, but I need to get through some of the existing queue first.
> 
> If you mean revision asymmetry, nothing has really changed here.Â  The
> parallel load is only started if a blob newer than the cache is found.Â 
> If --force is used to override this check and load anyway, you also
> won't get -EEXISTs out of apply_microcode().
> 
>> And btw, why are you being so negative again? "Waste time" is a pretty clear
>> sign of you (once again) thinking that your view of the world is the only
>> possibly sensible one.
> 
> I have rewritten most of microcode loading from scratch.Â  What hasn't
> yet been rewritten is pending, with serious errors already identified
> on-list and more still that haven't made it into public.
> 
> I would be further through if it had not taken an unreasonable amount of
> effort to make the changes so far.Â  You refused my module changes
> despite the blatant issues in the existing code, forcing me to
> manoeuvrer them in via the boot_info changes (and in so doing discover
> that module handling in general was even more broken than originally
> realised).
> 
> The current pending series is in part stuck because I haven't had the
> energy to tell you to stop trying to scope creep the work.
> 
> So yes, I was irritated at being asked to justify not breaking a thing
> which has been thoroughly demonstrated to be broken.

Hmm. You may have memorized all the details. I haven't. Instead I need
pointers to where aspects were discussed that matter here. It still
feels odd to me that my (implicit) request to supply such is deemed a
waste of time.

As to me refusing changes (here or elsewhere): In case it hadn't become
obvious to you, no matter whether it's your or my (or actually also
other people's) changes - when things get stuck, they almost always get
stuck at your end. You simply don't get back. When it's your changes -
I can be convinced. But if I raise questions or even objections, that
means I also _want_ to be convinced (rather than silently giving in).
That requires taking the time to respond accordingly, yes. When it's my
patches, I do take the time (often in vein, as a response then never
appears). When it's your patches, you will want to accept that you need
to take the time then as well, in order to make your work make progress.
Simply coming back months or years later claiming I (or somebody else)
blocked some of your work is at best a very subjective view of the world,
imo at least.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Oct 28 08:09:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Oct 2025 08:09:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151964.1482503 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDelK-0000pM-Q7; Tue, 28 Oct 2025 08:09:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151964.1482503; Tue, 28 Oct 2025 08:09:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDelK-0000pF-NT; Tue, 28 Oct 2025 08:09:02 +0000
Received: by outflank-mailman (input) for mailman id 1151964;
 Tue, 28 Oct 2025 08:09:02 +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
 <SRS0=alTg=5F=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1vDelK-0000p9-4a
 for xen-devel@lists.xenproject.org; Tue, 28 Oct 2025 08:09:02 +0000
Received: from mail-wm1-x331.google.com (mail-wm1-x331.google.com
 [2a00:1450:4864:20::331])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 55438b50-b3d5-11f0-9d16-b5c5bf9af7f9;
 Tue, 28 Oct 2025 09:08:49 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-4711810948aso41288595e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 28 Oct 2025 01:08:49 -0700 (PDT)
Received: from ?IPV6:2a01:e0a:404:4d10:9f16:e9b1:dc97:28e6?
 ([2a01:e0a:404:4d10:9f16:e9b1:dc97:28e6])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-429952ca979sm19308604f8f.14.2025.10.28.01.08.47
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 28 Oct 2025 01:08:48 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 55438b50-b3d5-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1761638928; x=1762243728; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=EVWTljkXVCTmCGl9b8w5geYtD3dB6kSA80gd6yn4Cfw=;
        b=GOLIorxhL15QwQx/pCyK4YXt2lS1vtr9YVkIa6nIbQ8xyhMWiPCx9hFnjbwIBGF6FJ
         uNS8tUJEJMlkFxY2i2S1B/QjVJtOpDQ0drwviJrwr9dtJURNJQZ4DUhf8bBAonSyQuGq
         He+4t+6L6KaF3QtaIT2YDbKROZgU7YLqRnoK/eksqpGKrMC6BYnReHXaVecvVdn/K+GB
         DcGOsfEXB4LnXCDz8OeeqVp4PH/X5PE6MrKiLjJDoJR9/w1uLFEh26KjYWmhhbW/k9ly
         aiRddrp1s6/7XlvEoR427iGpYNrP/I3juczsPH41DfvQOe0+27aEeYdb4xTPBx+crBnk
         HqrA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761638928; x=1762243728;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=EVWTljkXVCTmCGl9b8w5geYtD3dB6kSA80gd6yn4Cfw=;
        b=sYOKtR/5GDRf4E1wd0vMMLO88+QxpYvSXudzUx/8d5/wBzHhzILT26YyYB5bJ+hx4Q
         LESgB+I1PkRkB4zorT+eEPHECd+H4REZ4x6bRXqeKdgpnfweOGe6jmecsxOU0JhBPRgu
         rg7YZKwnbrSro/yh6xIMAYBRYNFoERy48a/g7P6przZAwDhSv5equwn4EnRMBSK7CKAq
         9BOtzEkpH0lVUrM8Ir6XmZBQA1n7d6J1G3rF2YUKembHgvr2Ck+5hMmNvq63+iQmtj0W
         xwKk5n24esBcWT4VmBL25mH4J0lhjvfHCNbimvUgEt3NA/PiGO39NpwSIDSpR1QhnNi5
         6zsw==
X-Forwarded-Encrypted: i=1; AJvYcCWEBu4S5szsisKaP1Tq9BHP7cdOon8GK2M36G7UZIna/DyXj1AzCky08nqbHruaDW8mCt8yctkxj6w=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz9KD9mMk+vPkYlkSlOlcn1tCp1bJpWLfdNNt6lTbSQ1Qcmv3TU
	mZKssbyZ+DmwHddYhWtcQ/HxpT/uUaeCyuLi4YgAUMUI4BMrchhmhsPZDVGvIQ7o5mw=
X-Gm-Gg: ASbGncvaZ8wewyx4Nh8GjKxqkp7aUqlSWrtEljXRZQNmGECEkjEjqx9R4nfMcLJmNvM
	9+C7jnoAfHs8K3tYXNmg1uKfurqgE7bmTYZL9nVH5niiLn68N9v0TVNy92n5e40jGJGpEPadm6u
	91amu1Dl8bN+8lkz25tdOt0F3XB1D5ZHprPMu/Xws4eS+pc8193V/I4uUQW2yj3LVZNkTbxf4Al
	Wq3WdvdsYKvzGIgb6BmSyTCjxwtHIUfzI38/87IX+mM+VyFRYVqKojUyJpGVK12W/UuEdti6u/z
	izhkspPdl6H159zKFvmL1H5jo+abRJindRrW5OJZ9+evK9KiPQ4WL8P/zTM6oc1XWPbZut9Wntg
	BZBhfUFs9b9sRFu6K7gRK/LaqndUrj6o+ATHUV14AwqNXL49T/JKGgYWM2TmKUmA7PfC/kgv+kC
	aV4pZWJJWY8wcWT3XpxBzNerU1vIVziCrUa8WPNULeeYbO3rljsTse5j35ejxdZ7cN1g==
X-Google-Smtp-Source: AGHT+IGY5X9k/KotatrXHbgp+P90RfyZdcomc1ztZNfmPPso1qSeRiOhZLBaZ+Ip+tZXndK3csp0SQ==
X-Received: by 2002:a05:600c:5487:b0:475:de68:3c28 with SMTP id 5b1f17b1804b1-47717def760mr22830775e9.8.1761638928418;
        Tue, 28 Oct 2025 01:08:48 -0700 (PDT)
Message-ID: <e25cb599-807f-4e43-a96f-27cddbec6c0b@linaro.org>
Date: Tue, 28 Oct 2025 09:08:46 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/3] hw/xen: Use BITS_PER_BYTE & MAKE_64BIT_MASK() in
 req_size_bits()
Content-Language: en-US
To: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
 qemu-devel@nongnu.org
Cc: Anthony PERARD <anthony@xenproject.org>, xen-devel@lists.xenproject.org,
 Paul Durrant <paul@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Anton Johansson <anjo@rev.ng>, "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
References: <20251022140114.72372-1-philmd@linaro.org>
 <20251022140114.72372-2-philmd@linaro.org>
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
In-Reply-To: <20251022140114.72372-2-philmd@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 2025-10-22 16:01, Philippe Mathieu-DaudÃ© wrote:
> Replace magic 8 by BITS_PER_BYTE, use MAKE_64BIT_MASK()
> instead of open coding it.
> 
> Signed-off-by: Philippe Mathieu-DaudÃ© <philmd@linaro.org>
> ---
>   hw/xen/xen-hvm-common.c | 5 ++++-
>   1 file changed, 4 insertions(+), 1 deletion(-)
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>



From xen-devel-bounces@lists.xenproject.org Tue Oct 28 08:09:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Oct 2025 08:09:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151970.1482513 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDell-0001G2-2d; Tue, 28 Oct 2025 08:09:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151970.1482513; Tue, 28 Oct 2025 08:09:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDelk-0001Fv-V4; Tue, 28 Oct 2025 08:09:28 +0000
Received: by outflank-mailman (input) for mailman id 1151970;
 Tue, 28 Oct 2025 08:09:28 +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
 <SRS0=alTg=5F=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1vDelk-00017m-4S
 for xen-devel@lists.xenproject.org; Tue, 28 Oct 2025 08:09:28 +0000
Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com
 [2a00:1450:4864:20::329])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6b9b4e9e-b3d5-11f0-980a-7dc792cee155;
 Tue, 28 Oct 2025 09:09:26 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-475db4ad7e4so13228335e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 28 Oct 2025 01:09:26 -0700 (PDT)
Received: from ?IPV6:2a01:e0a:404:4d10:9f16:e9b1:dc97:28e6?
 ([2a01:e0a:404:4d10:9f16:e9b1:dc97:28e6])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-475dd4a36easm182193715e9.10.2025.10.28.01.09.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 28 Oct 2025 01:09:25 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6b9b4e9e-b3d5-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1761638966; x=1762243766; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=s3Q842JtEA97RNc6zbk+HgDVLhIp8lx7SKgQXkLwS8g=;
        b=FeN/89If9kCYNpVh56NWK5u+CxTA4b+Lz6yFTOUd++MQTCqqfOAho7hCWnQYV6JySU
         LaLJbSWPxHdWulkLOHWebmIf93nCEpolg58wJJOT9JHlicXD8YgXuXyVjNv3dqVCtuJ9
         cUf+Zx3AXzUOw4TlX5GAU6ClM0CbfMoFbiHwxY1pcvdTNmQXz7UFgr6fEi8T7BK0sXPc
         +RU7SKkvmB1IAt3czgdYRBWXeeYLaGx1jeylqryLjN8rTGbL4WegE7tOvZLwApH9eVya
         ZW5K2rDaWFDmIGep9fcfQylou4TXWgS+S4GD1p/TOPFJx0PYsatVIeovLpoHdN3NdPV/
         FxGQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761638966; x=1762243766;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=s3Q842JtEA97RNc6zbk+HgDVLhIp8lx7SKgQXkLwS8g=;
        b=j+7pk0gYXJeAVLdDPUlGTV31hQyxWuFhQ/cLTw8wMR18e87BXa5Tew6f1jvjY4K1yl
         kCASgM4MibH+7RCRgC6EPdbhQ048HFMmoF5aAbdDooNnw9OKHXXNoX92kbgXkW96TgXt
         8CBiIwEYjwRRyfqktEH9smWmcetWpagIR97nDRZtmIinc/XfIgnI6PfPUyLqOCn+cD4P
         WxJkrbR7rSDOjeP9XB3Uzw7SfrZptS/KBDIY7yDCzg34HDVWD+KF+ecAJf116TFVbZNr
         q8uXBh4qdhIlGu8LG2UvhpdBvV2srVmT4d8TSWYa7rr/chNbEZIU4oVg+WnWokLatH5q
         Csbg==
X-Forwarded-Encrypted: i=1; AJvYcCXRSAZVtaGbtiZ+LN8807T8715iSDOIgOxIUBD3lnKTtcJ33S4CAHO+DZu+MV1F8R7H2PjEH7YV6eA=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy8cLmarDZsa4po1FQ9bJTOGY0qMTxtYRXe2p1wMI+xKyayzKup
	+ywdnszyMO9tuhbEgzBOP4MZ4cZTm3BMqgWPVWQ3nIz3hk5zNw45uUNtOeGGI2iSQjc=
X-Gm-Gg: ASbGncvpK+F/JcbykogYAyZyUSLlRZi0DxrI2EgpY8dSi6jz+SPrHPk016BuhDkLwZC
	N/ZEqwiyobtNH3mwEIVGPesGOPJSvh03xz8i2LtUABi2HXpOhmrPrY5pprya59DJQ8rtQGIcmzc
	MAvn/SSIezCBoRP0NkPjj9gCoslapPdNThpe0Hw394rwKnKcvPrVcwzrdFcAQhfFL5w6624EyNI
	va6Kgk0UEoAjkrJW8e7UyNnJIRGxKmzFOHdMR5H3TIXuBy6aw5Pgau7oZf9BiQJ6WyGBZvrGnj1
	m/0sSJBmjHB2o6WSHp1YGc25iUAGSY89GweaDmMv67dGf5CG8pjFtiJ537tENcct0IWgpXAs81S
	YO3JfYFKMxTyAAB8fg1JohQJg8MChTPXWGO5XnhLE/5FHFJSqhrhRIamCk4iFYCppCxEQB+ZmSA
	jp3Tdnn49/jwrvrIb12wh89m8T06ElhyecliAQdqfRjD2/tLd3oW5t4sU=
X-Google-Smtp-Source: AGHT+IHID5e8uBGPQLvO5Mm9gwxpOr/rM39suLHjKNm8MlJEv+Itxnbzy1ijVhWeoY04xD5t1A3jZQ==
X-Received: by 2002:a05:600c:190a:b0:471:9da:524c with SMTP id 5b1f17b1804b1-47717dfd4bbmr19110135e9.12.1761638965836;
        Tue, 28 Oct 2025 01:09:25 -0700 (PDT)
Message-ID: <17cc53d4-6819-443f-bfff-5de787d87329@linaro.org>
Date: Tue, 28 Oct 2025 09:09:22 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/3] hw/xen: Replace target_ulong by agnostic
 target_long_bits()
Content-Language: en-US
To: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
 qemu-devel@nongnu.org
Cc: Anthony PERARD <anthony@xenproject.org>, xen-devel@lists.xenproject.org,
 Paul Durrant <paul@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Anton Johansson <anjo@rev.ng>, "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
References: <20251022140114.72372-1-philmd@linaro.org>
 <20251022140114.72372-3-philmd@linaro.org>
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
In-Reply-To: <20251022140114.72372-3-philmd@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 2025-10-22 16:01, Philippe Mathieu-DaudÃ© wrote:
> Both are equivalent:
> 
>    target_long_bits()
> 
>    sizeof(target_u?long) * BITS_PER_BYTE
> 
> Prefer the former which is target-agnostic.
> 
> Signed-off-by: Philippe Mathieu-DaudÃ© <philmd@linaro.org>
> ---
>   hw/xen/xen-hvm-common.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>



From xen-devel-bounces@lists.xenproject.org Tue Oct 28 08:09:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Oct 2025 08:09:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151979.1482523 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDemC-0001l4-A3; Tue, 28 Oct 2025 08:09:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151979.1482523; Tue, 28 Oct 2025 08:09:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDemC-0001kw-6N; Tue, 28 Oct 2025 08:09:56 +0000
Received: by outflank-mailman (input) for mailman id 1151979;
 Tue, 28 Oct 2025 08:09:54 +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
 <SRS0=alTg=5F=linaro.org=pierrick.bouvier@srs-se1.protection.inumbo.net>)
 id 1vDemA-00017m-SW
 for xen-devel@lists.xenproject.org; Tue, 28 Oct 2025 08:09:54 +0000
Received: from mail-wm1-x331.google.com (mail-wm1-x331.google.com
 [2a00:1450:4864:20::331])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7b980b0a-b3d5-11f0-980a-7dc792cee155;
 Tue, 28 Oct 2025 09:09:53 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-475dbb524e4so20298175e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 28 Oct 2025 01:09:53 -0700 (PDT)
Received: from ?IPV6:2a01:e0a:404:4d10:9f16:e9b1:dc97:28e6?
 ([2a01:e0a:404:4d10:9f16:e9b1:dc97:28e6])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-429952df682sm18709406f8f.43.2025.10.28.01.09.50
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 28 Oct 2025 01:09:52 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7b980b0a-b3d5-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1761638993; x=1762243793; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=5o79HTrwKutaocALjFgRBFk+W1FD9POxl9sF26qwAFo=;
        b=J7bAdNvXjpmYZDX45EV5ZL/B9q7DBSi6al1/RupQDVKGyLP5D5IOiUbvVyw3Iw6Pum
         kWGvVT6lWGR6qF529u2a41bUBlqkpZaYiqx5WbgIq0T5+Q/dFyOwIk8xWYP8c+ez2SBF
         VCqdGV51NESdvmdvDXMaE9fEi4Glw3bXTD3IypQ9RrlLQMCOwwRLz+hfl83HAja6lLrA
         B2HaPo2oxzJlPeOxFqqhlfb55RSfBQtZQSiBxFAzZBZryGegydd94/2GrKkj7poZnjWd
         hoPTp1PacS6rAxqpsm2mDeg5MuG56K5eMrOOah9YH1caSMvBB7oiAh8pNhibbPH5spjM
         TsSA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761638993; x=1762243793;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=5o79HTrwKutaocALjFgRBFk+W1FD9POxl9sF26qwAFo=;
        b=TYP5s7xNXllMMKp+ZobDSFsr1atVe4PVUVGq+68Iaw6BrfGl0D82hW/6LZ4PIkIifG
         b+SncYNdsktOSD92Tuko7pEjLFug9vaWj3kmeyYEUUEb77QgaHYMai4dIAmc/zWHfj6r
         4tiKZ1kuR9Ot2NjHZziwGDfTFEhSw3v+eikaxpNb6zLdlovZMLLU4qsnPHkBMHTUUbH/
         MbB99mwvAicLzFBI7Jk7vLeiyD1XAUEnFGDMzoN9MeCRz6xDjF1137Vmlt1emfzjklCE
         5EztvN0wPs1+gJaaehVVkmWtOZSZL8RJ1J14I4YCOp+O680Tnudyhe7uAGkGm/AxvX61
         uCPw==
X-Forwarded-Encrypted: i=1; AJvYcCV1mlO5X265NrPO0Y0gF+PJX31h1iHMnTPzHbBLOjlt+wqBAewcB9ZVNEh8M1g7ULzTFsp0PqZxtjk=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy0tySsJ4aMDKswbQtzTqPeGdw/u/4L/QlnIe33cVgsgUDVbqhQ
	qUac6WXhV4c2FxUNp1kG4nY3+tExqTbLhvvQo426TEedHcFHNAyseZGksn9Gb7hSfLI=
X-Gm-Gg: ASbGncsgdquuYJiAEDpphmCmnyTaFUwWocrdbS0PUz3tGB/SBDMbIUK9KGZelQquIaT
	lQ9eoHy7XeKdyzgCCMNygy/jRYn5Jn1enNM0x7N7xMymHmI9PfTyaljavOCDqNu8jjszgp+MZmX
	ktM1KzPXn+mjIswIQPCRsFixjk7IpWtZ6shijlvIYySM/YaDo0Hbb230qMYczd4CHCOJvjKmQFr
	IEWMNMbrfqfM2vnRxCG81IRuD7E9Twh06GZJIELwfgh+8kP9ZxO2E48R14adPMqUmcjGrWqEKvS
	siiNWt5hzbObq6+Ex6g6oOIP473mI5oOz98OuuyhoGZJFoat+KYrEK7bHVPwb1JWRJjkvse9Y2g
	TlYsGiyGmd1k/wc56XH2J5I8o297rUUz4UF1XH824sicuyHmPkHoG3y6QtWEzIa070Pv70FIRVC
	Vf8BGlYApEDwkxcRj5PzpuqHxOhTKfcu/VnFQrTf3Jv2kwqhziqNY5FOY=
X-Google-Smtp-Source: AGHT+IG8WnEd3rtSmYijCGk8un9q2hWj+EkrVhAxHMmyi3ZNajwLYrqwT75wz5yMjleeWzji1yqPog==
X-Received: by 2002:a05:600d:8304:b0:456:1a69:94fa with SMTP id 5b1f17b1804b1-47719a0e688mr5508395e9.13.1761638992731;
        Tue, 28 Oct 2025 01:09:52 -0700 (PDT)
Message-ID: <9e4ad29e-1dda-4c5b-844c-d950b91b8591@linaro.org>
Date: Tue, 28 Oct 2025 09:09:49 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/3] hw/xen: Build only once
Content-Language: en-US
To: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
 qemu-devel@nongnu.org
Cc: Anthony PERARD <anthony@xenproject.org>, xen-devel@lists.xenproject.org,
 Paul Durrant <paul@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Anton Johansson <anjo@rev.ng>, "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
References: <20251022140114.72372-1-philmd@linaro.org>
 <20251022140114.72372-4-philmd@linaro.org>
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
In-Reply-To: <20251022140114.72372-4-philmd@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 2025-10-22 16:01, Philippe Mathieu-DaudÃ© wrote:
> Now than hw/xen/ files don't use any target-specific code,
> we can build all file units once, removing the need for the
> xen_specific_ss[] source set.
> 
> Signed-off-by: Philippe Mathieu-DaudÃ© <philmd@linaro.org>
> ---
>   hw/xen/meson.build | 22 +++++++++-------------
>   1 file changed, 9 insertions(+), 13 deletions(-)
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>



From xen-devel-bounces@lists.xenproject.org Tue Oct 28 09:20:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Oct 2025 09:20:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1151996.1482535 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDfsR-0003sr-7F; Tue, 28 Oct 2025 09:20:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1151996.1482535; Tue, 28 Oct 2025 09:20:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDfsR-0003sk-4L; Tue, 28 Oct 2025 09:20:27 +0000
Received: by outflank-mailman (input) for mailman id 1151996;
 Tue, 28 Oct 2025 09:20:26 +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 <SRS0=LPue=5F=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vDfsQ-0003se-5M
 for xen-devel@lists.xenproject.org; Tue, 28 Oct 2025 09:20:26 +0000
Received: from mail-wr1-x42c.google.com (mail-wr1-x42c.google.com
 [2a00:1450:4864:20::42c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 559a1125-b3df-11f0-9d16-b5c5bf9af7f9;
 Tue, 28 Oct 2025 10:20:24 +0100 (CET)
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-4298a028de6so3437372f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 28 Oct 2025 02:20:24 -0700 (PDT)
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-429952d5773sm20867626f8f.27.2025.10.28.02.20.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 28 Oct 2025 02:20:23 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 559a1125-b3df-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761643224; x=1762248024; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=WGJ2+y3VQKfBTfRfhAWVDI4GRenq2XY1xnL/M6cLGNk=;
        b=aN1vgeu0apLDkyFUdMlXe7jreNF7/hTESqzOL3JWFRW+FF2+e3Ef/+AEGyba3sxZ9K
         0pNUaIbGvTc7XiRa2oELfC0aLVGlF7+55TIfjWTeC5f4pZRO/E01cbNVMBXyXPTdse/i
         eiUphHmr7au5EhWnzRzz5thfA7JstEgQCk3BPqeJiQHevlEOqZ7bApjmMWh6FBevFDPj
         EfZOX78CEqrbPmd1cDO+Amg6AFZUhaq4lQHyMGDHSKs9FxJ9rj8MJuVfVMTWlktWzqT7
         HU7ZeTjkaUt2GpVa8R7dEmHXhKAj4IVZTn/CKF/gAzMXgAS2H6EqnlFP1WqJWyXnQcKj
         q/9w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761643224; x=1762248024;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=WGJ2+y3VQKfBTfRfhAWVDI4GRenq2XY1xnL/M6cLGNk=;
        b=cD+VeN6z8NMz9honwTKbquRi76EU/OrBbuO3GcaLeuVKM1gBABPzXW5RS2mxUW86Es
         JW3Cs8fguBERt1fPTj6NUdTvFgse8EGVFfygdyMR/kI7M1Lpw65B7e8TeYzWbfwmnwp9
         cmF6mEkQxPg804l2HvDo/PyH2l+K651DCuyxZHTwKX5sm1yQXJMV/T92ExB1nlc4QJ7h
         NgAtHgMagy2oF4NzRXtJ6FZL9Mg/cegmCDq+Ib3GTmbikxCcLrSY+tYVNcRhXnUInjkB
         b771WhetGW9ijSFK6Mw8sSH2u/BoKeVgM4WSIV1SkrztbOO7aXP6IlzCBk3AiturNNBE
         WneA==
X-Forwarded-Encrypted: i=1; AJvYcCW3GaYEPkSVRchX9K3FQFuZRFo8tOL3jct1Cv1aHUKC9WsbcrPmPhsO1IOqaw2H1VLpDvB1cvA4R2U=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz/alZiQcoXZ8Q65TQiJM+zsgIbKIIfP19dHpvjin1WnozfIbGh
	mLvXNZd7a1wvKEGdNbQkaircm85tSpAl5JqsRRXWpsgQulG6rZ3VAQ33hv9IJaaMdQ==
X-Gm-Gg: ASbGnctkmDAdcEYcGFVvbJoI2whx9NXvUJbFrPWXOLaVqmCn++Ok9nWXjqxaifuuSaw
	Va7qwGJLDmYynhhn+3T47ltpFPvaAX+y6BKwd9tn9LUnu21LKcwO7rPeOrGI8qeUAkoMfTEOvKV
	1BMkQqMOQf3vOTiDejnhHrlzvNPlRQ7cZT6h0zokiiPxq7oDH3+w0WZXLMSvsJwk5LJu0XdodeR
	JrF3ocrkw2digvPJ76s0qMuFIvAkXc1tTeH7XI6rstNa/iVRNZMHGWoD7fi7RRrpyNCVBwf2B0t
	JN2cc496jUBZaZz6JBcveLU3K6AA7MUikMaTQ3nkpL9lJFhNqfO1/n5VBb6dYcC5bnt0rO/yeJ0
	7u3awGJWgAK8VvXQkQEbiFAvFOkRLnmKlrCP6kRTWe5ZlGG4Fub7e8fufdaJAoO2FKUsrXHZnF6
	aBhiLNeUrZEL0YtwjztWoThoW13/WGh7gZzlj+FlLTPoqHpHJB/TqgCr2POFj2/NW8tzOUv34=
X-Google-Smtp-Source: AGHT+IGasJjvzZelFOicmOtN9kpkKMDzBbFtAhZn7+GNJi8tv3dosO1w2czLmPDmeoFl+6ITid2S5A==
X-Received: by 2002:a05:6000:2909:b0:414:fb6c:e369 with SMTP id ffacd0b85a97d-429a81b1f37mr1927442f8f.5.1761643223924;
        Tue, 28 Oct 2025 02:20:23 -0700 (PDT)
Message-ID: <78fe46d2-f21a-46d2-bcb5-a54d7cd86e91@suse.com>
Date: Tue, 28 Oct 2025 10:20:22 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH for-4.22 1/2] x86/platform: Expose DTS sensors MSR
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org, Teddy Astie <teddy.astie@vates.tech>
References: <cover.1761585640.git.teddy.astie@vates.tech>
 <48b15617f248852560a0e0674eea65d25330c605.1761585640.git.teddy.astie@vates.tech>
 <83712d12-08ec-46a4-b215-18f7ea1c1069@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <83712d12-08ec-46a4-b215-18f7ea1c1069@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 27.10.2025 20:38, Andrew Cooper wrote:
> On 27/10/2025 5:26 pm, Teddy Astie wrote:
>> I'm not a fan of doing a inline cpuid check here, but I don't have a
>> better approach in mind.
> 
> I'm not sure if there's enough information in leaf 6 to justify putting
> it fully into the CPUID infrastructure.
> 
> But, if you do something like this:
> 
> diff --git a/xen/include/xen/lib/x86/cpu-policy.h b/xen/include/xen/lib/x86/cpu-policy.h
> index f94f23e159d2..d02fe4d22151 100644
> --- a/xen/include/xen/lib/x86/cpu-policy.h
> +++ b/xen/include/xen/lib/x86/cpu-policy.h
> @@ -121,7 +121,13 @@ 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 - Thermal and Perf. */
> +Â Â Â Â Â Â Â Â Â Â Â  struct {
> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  bool /* a */ dts:1;
> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  uint32_t /* b */:32, /* c */:32, /* d */:32;
> +Â Â Â Â Â Â Â Â Â Â Â  };
> +
> Â Â Â Â Â Â Â Â Â Â Â Â  uint64_t :64, :64; /* Leaf 0x7 - Structured Features. */
> Â Â Â Â Â Â Â Â Â Â Â Â  uint64_t :64, :64; /* Leaf 0x8 - rsvd */
> Â Â Â Â Â Â Â Â Â Â Â Â  uint64_t :64, :64; /* Leaf 0x9 - DCA */

Just to mention, below a patch I have pending as part of a series to
e.g. replace the various CPUID6_* values we presently use. As you did
indicate when we talked about this, a prereq to then use respective
bits from host_policy is an adjustment to cpu-policy.c, which is also
part of that series. If we weren't in freeze right now, I would have
posted the series already.

Jan

x86/cpu-policy: define bits of leaf 6

... as far as we presently use them in the codebase.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Or should we make both parts proper featureset elements? At least
APERFMPERF could likely be made visible to guests (in principle).

--- a/xen/include/xen/lib/x86/cpu-policy.h
+++ b/xen/include/xen/lib/x86/cpu-policy.h
@@ -128,7 +128,31 @@ 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. */
+            struct {
+                uint32_t /* a */:1,
+                    turbo:1,
+                    arat:1,
+                    :4,
+                    hwp:1,
+                    hwp_notification:1,
+                    hwp_activity_window:1,
+                    hwp_epp:1,
+                    hwp_plr:1,
+                    :1,
+                    hdc:1,
+                    :2,
+                    hwp_peci:1,
+                    :2,
+                    hw_feedback:1,
+                    :12;
+                uint32_t /* b */:32;
+                uint32_t /* c */ aperfmperf:1,
+                    :31;
+                uint32_t /* d */:32;
+            } pm;
+
             uint64_t :64, :64; /* Leaf 0x7 - Structured Features. */
             uint64_t :64, :64; /* Leaf 0x8 - rsvd */
             uint64_t :64, :64; /* Leaf 0x9 - DCA */



From xen-devel-bounces@lists.xenproject.org Tue Oct 28 09:22:51 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Oct 2025 09:22:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152008.1482545 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDfuk-0004Ss-NJ; Tue, 28 Oct 2025 09:22:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152008.1482545; Tue, 28 Oct 2025 09:22:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDfuk-0004Sl-Kh; Tue, 28 Oct 2025 09:22:50 +0000
Received: by outflank-mailman (input) for mailman id 1152008;
 Tue, 28 Oct 2025 09:22:48 +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 <SRS0=LPue=5F=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vDfui-0004Sf-MA
 for xen-devel@lists.xenproject.org; Tue, 28 Oct 2025 09:22:48 +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 aa334b12-b3df-11f0-980a-7dc792cee155;
 Tue, 28 Oct 2025 10:22:46 +0100 (CET)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-4711b95226dso71043895e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 28 Oct 2025 02:22:46 -0700 (PDT)
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-429952da12dsm19507772f8f.29.2025.10.28.02.22.45
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 28 Oct 2025 02:22:45 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aa334b12-b3df-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761643366; x=1762248166; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Ruw/LQ2mFawwvVukuxuxFGTtixkuOI8AbP7IwzV6JjY=;
        b=YzV3LwzBB1gq8PFNaFusN8Yi+iDvbWJyljgxO1frIhYHeQyF4mM7BA2zfPKKm5kxFK
         BIO5WqZZksaAuA1kpTk2Ha1SJHgn+zGhrA8FMPXyJcRVBOtFif4h9BJo8p/yblYZNZ/G
         irV2bPRrRBeqjXymxh35/wE4eE0XQuBKI0jPolfiVGk9YZ3t7auI45NS+E3YMdBA0Z1G
         tmLO4O7/P4oGF+KRIsEoK/VcRHQfY1a+fh8iWekSQjUwyY6Yid7OPZv/tJStAhJmHw7Z
         3xbY3hVmV0ow87dlDQ0oWzbWG2Kmg3HgHcmN5xDseZxiVpt/9ldk6jT1hkquQvuimbuN
         +weg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761643366; x=1762248166;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Ruw/LQ2mFawwvVukuxuxFGTtixkuOI8AbP7IwzV6JjY=;
        b=NCXlWbMTdyPxhxWynKaNx1LZgybGBjiE9KSV1hKMVye8U+mTF1WGDxCUNjTwTzalXk
         a2fz7bRo7mATUNU3C9kyoBX5Arv0RBecjD6vEY6zLirsdnyPYNUYNQ2IRf8qhZxYfsWG
         Hg8jSJE4H5eZWRU/ex5JyT5VjRt4K9EKxFREGMIFCNdK75kFjPIMZ0TyCdzeedbGSGZ8
         D5eyXcaT/hrUA0nA4a8BEQlsfmey5tV/PcvflsiAEOeCYSpHnyu0depyAw6jruLKO3f8
         R31m+bAOsXRek5cv0kVv88OXVEFMXywwejhBbBcej91ALuG9PGHoqSisudAAGaLPXojI
         /b5Q==
X-Forwarded-Encrypted: i=1; AJvYcCWndwqY43yURxnOcRCfGlu1/0IwXDJhSpCzKQEcKNyR8YgUbQiWMD4IyUj6AY9o+h5pIMVUTCmIa2c=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzXOmRxxqN4x12ejZcFI+0GDUfua25fyw95BgTXdc7/PULUi/J0
	Wgv3UNTpVTVydf2sSAZ9B4l0aqvK6uW5edfRdCdIo+oycLglg2ETUUC40PsA6xpdsQ==
X-Gm-Gg: ASbGnctJmKFpSJGoAS9Yyz2T1CL6395KVsHmpaGRGemsvPWyyqpy6MjzFOKwRcDhWcG
	Qwe0XSDw/saNtbi8uMqgDW+60l17RNSr8HElxZHNQINf+J+ySJXRVd6sDKASARvKB3bIDHa6roJ
	yzsICFENKy/YvMiEqOrs7dS2GPZ/LBvJ3dIf5px+mQbm9Vnd8+IG14ibEpGCm1E3Vspoi71G7gF
	vLoSgcnIyVL+GEwD6Eq3QGHMh36DZGNN+GX3BHTbJJgpBJvRBsRSMGvXTHNf4iidXCxi+56OGv4
	BNWJYdx/rgKi32JeuuRlOmmOtVUZ/9ExdFcgr1nuNzNk/xQFd12JMHun26WDdN5uePa58LLe+Wt
	q3xH60Or/yp2iY5NBpjaWYGTXoYBfBpsOd9vmUa17+DIOiYHWK67gBuo9T+9Jb9BD22EgSH1612
	BXC/2ADojpNPpefQeADLTGz6Yy5IRTYjpygrv9w2UqIiggysVRhzAzf+UCk6To
X-Google-Smtp-Source: AGHT+IFqhK15hfJzpNL9PD83XJCsLFyVlenjJAQc2Fi7GJKGVUjfKRODYoD7PoQHQ+6kCdpFKN/BVg==
X-Received: by 2002:a05:600c:190d:b0:477:e66:4077 with SMTP id 5b1f17b1804b1-47717e67befmr21866355e9.29.1761643365832;
        Tue, 28 Oct 2025 02:22:45 -0700 (PDT)
Message-ID: <30131a50-d4fb-4c42-915a-be44b62752fa@suse.com>
Date: Tue, 28 Oct 2025 10:22:44 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH for-4.22 1/2] x86/platform: Expose DTS sensors MSR
To: Teddy Astie <teddy.astie@vates.tech>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1761585640.git.teddy.astie@vates.tech>
 <48b15617f248852560a0e0674eea65d25330c605.1761585640.git.teddy.astie@vates.tech>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <48b15617f248852560a0e0674eea65d25330c605.1761585640.git.teddy.astie@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 27.10.2025 18:26, Teddy Astie wrote:
> Intel provide CPU sensors through "DTS" MSRs. As there MSR are core-specific
> (or package-specific), we can't reliably fetch them from Dom0 directly.
> Expose these MSR (if supported) through XENPF_resource_op so that it is
> accessible through hypercall.
> 
> Suggested-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
> ---
> I'm not a fan of doing a inline cpuid check here, but I don't have a
> better approach in mind.
> 
>  xen/arch/x86/include/asm/msr-index.h | 2 ++
>  xen/arch/x86/platform_hypercall.c    | 6 ++++++
>  2 files changed, 8 insertions(+)
> 
> diff --git a/xen/arch/x86/include/asm/msr-index.h b/xen/arch/x86/include/asm/msr-index.h
> index df52587c85..98dda629e5 100644
> --- a/xen/arch/x86/include/asm/msr-index.h
> +++ b/xen/arch/x86/include/asm/msr-index.h
> @@ -510,6 +510,8 @@
>  #define MSR_IA32_THERM_INTERRUPT	0x0000019b
>  #define MSR_IA32_THERM_STATUS		0x0000019c
>  #define MSR_IA32_MISC_ENABLE		0x000001a0
> +#define MSR_IA32_TEMPERATURE_TARGET   0x000001a2
> +#define MSR_IA32_PACKAGE_THERM_STATUS 0x000001b1
>  #define MSR_IA32_MISC_ENABLE_FAST_STRING  (1<<0)
>  #define MSR_IA32_MISC_ENABLE_PERF_AVAIL   (1<<7)
>  #define MSR_IA32_MISC_ENABLE_BTS_UNAVAIL  (1<<11)

Now new additions like this to this file please (and even less so ones
disagreeing in padding with adjacent lines). Please go find this comment
in the file:

/*
 * Legacy MSR constants in need of cleanup.  No new MSRs below this comment.
 */

Jan


From xen-devel-bounces@lists.xenproject.org Tue Oct 28 09:24:18 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Oct 2025 09:24:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152017.1482556 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDfw9-00050b-18; Tue, 28 Oct 2025 09:24:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152017.1482556; Tue, 28 Oct 2025 09:24:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDfw8-00050U-Ub; Tue, 28 Oct 2025 09:24:16 +0000
Received: by outflank-mailman (input) for mailman id 1152017;
 Tue, 28 Oct 2025 09:24:16 +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 <SRS0=LPue=5F=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vDfw8-00050M-BZ
 for xen-devel@lists.xenproject.org; Tue, 28 Oct 2025 09:24:16 +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 df312361-b3df-11f0-9d16-b5c5bf9af7f9;
 Tue, 28 Oct 2025 10:24:15 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-475dae5d473so32680135e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 28 Oct 2025 02:24:15 -0700 (PDT)
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-475dd03585esm184085765e9.6.2025.10.28.02.24.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 28 Oct 2025 02:24:14 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: df312361-b3df-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761643455; x=1762248255; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=ilp/syw6EMwLbpimPSma/qpX5NLdKN/BpZo3UApmSAA=;
        b=dwwtmWiu3bRDvyZvO1H/Z7dKJ0t6lcUk7ltypNUD37chC8ffkBusxbUGRNC7D55t12
         FoRat7YU3+4//uOY6gW0PKWSs22OlkEJo1OmY2UWfsmhOD6YEpYAlEs8Z/igbQU5M5xX
         8OG8xwi0ngUZXP9GvDKduZYSux+pnml9N1+fwp2FCP1Vg766sSb0tFAPg/NbrPM95k37
         burjz3i/4fzrX7tvgqzHJIdWZko3uFWY1JnM9IFup00lr8fVBjsuQM6ICAFE/Q88QVTz
         3sqdUxCslk49OiN8qOtNqhbBR4seJ5SflgNTFowiZu5UdY1i2gxMl+Mrn5ieMcLC+ymN
         NHuw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761643455; x=1762248255;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ilp/syw6EMwLbpimPSma/qpX5NLdKN/BpZo3UApmSAA=;
        b=WkrnXyeVWCICI8CgHJet+bNx5wZ6jPAJMRI0x+LiAoGJnwasyp2qe6N0Fciyhs9pU9
         iXGZ+3QMAzXbw3b/zHji0qAP1ksOtNLp2fbLOQbmlWDhLus2hx61YquSbNJURqtuX8oT
         FhDzH17cDbkgD1VdEbR7xzKTfAA2aYHIT1vUHdA1+2n4PNOuI00BkEIOSaFDkDDkXnmt
         nwrRh8ag29RuKSeRVVgU9uqvGBH1931wpKJGWxXt/lXJwkNBqhK4E0i5bL+HLZeb2rRU
         0JthwAelbnupdeZtvCN6RBw7s/UnDXa3r2aaRvIFpNqXDr9AwLwel3r6vLwQ8LK3hA9Y
         yTjA==
X-Forwarded-Encrypted: i=1; AJvYcCUL8hkld7nDoxKwAyxw3xfXush6kcUREROrSFKH9lC1iT16Cg8CkWPcdXJd/1Noud4kw+MQTYg2tOI=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy7IA1dHwQE5uF1RFlkHPVUprtKy9j/WJbMtbLcr1+WNTgNQq5y
	6N53rn5meSstAp8YowNi2A+Nnp04dnwSjPMHnPfGizBO53xgThy0aDAcAi7bB8c1Mrk6ApiSXEP
	7jFU=
X-Gm-Gg: ASbGncvnMA6xMYbeWuNCya6I+rhm4uqH59r1L+G+vIwi6yBsM1WC9Ve/NdE1Klp6Heu
	1klf/o82ZIlZLcdnHn2h1u/Z1GZc6t3h+Z7I7v/3r/z8WqD3knrZ6RFIVMMUkSoMVqSvteAKiGn
	sjTM1vuDEWHqmbXAKI/xczUgdRjtbATExPQuKfFWk5ZZncZ3VSwrWKvUiUPcwDnPyChsB6L2TdB
	ISFnH2FQuj34yAXEOw3PeZAKvYPz7hj+Zzky4knKb3SkrKhXk5obrONCF6wFms6BQuetTJ2pKpj
	Sk4Z02Ro/Kh941mN9VVuuMxEjU+/QzVwshB6eZODb2wJrPiu04TrZBI7F+7ujmHBmJltAkJNsyB
	9j5UCNW/XMoZdcZI8QwnUgHDuNjokAt1q7M4xldIfJnZS5p99dHZQMaOLL5M5GPX0l339E0P9gI
	32av8pNrwsj25iSyf7pImmGyhVZefCWdzkgOSafmHjC4dcmnzLmTP1yAvxiILY
X-Google-Smtp-Source: AGHT+IG3eWynB5nfoV6dvVAdktBCd29QGFjpuFDh+4bvATPO7N4mw1+L4Byc7VNc73vmSduP8PIlXQ==
X-Received: by 2002:a05:600d:4350:b0:46e:436c:2191 with SMTP id 5b1f17b1804b1-47719aa4365mr7781995e9.25.1761643454783;
        Tue, 28 Oct 2025 02:24:14 -0700 (PDT)
Message-ID: <6dcbb451-7c2e-434b-a125-1abf932ce0d0@suse.com>
Date: Tue, 28 Oct 2025 10:24:13 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH for-4.22 2/2] tools: Introduce xen-inteltemp tool
To: Teddy Astie <teddy.astie@vates.tech>
Cc: Anthony PERARD <anthony.perard@vates.tech>, xen-devel@lists.xenproject.org
References: <cover.1761585640.git.teddy.astie@vates.tech>
 <acb887d5df692aa143cb2b509dd362b7b46c158e.1761585640.git.teddy.astie@vates.tech>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <acb887d5df692aa143cb2b509dd362b7b46c158e.1761585640.git.teddy.astie@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 27.10.2025 18:26, Teddy Astie wrote:
> Introduce a new tool to fetch Intel CPU temperatures through the
> Intel DTS interface using XENPF_resource_op hypercall.
> 
> Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
> ---
>  tools/misc/.gitignore      |  1 +
>  tools/misc/Makefile        |  4 ++
>  tools/misc/xen-inteltemp.c | 98 ++++++++++++++++++++++++++++++++++++++
>  3 files changed, 103 insertions(+)
>  create mode 100644 tools/misc/xen-inteltemp.c

Instead of introducing a new tool, might this not fit in xenpm?

> --- /dev/null
> +++ b/tools/misc/xen-inteltemp.c
> @@ -0,0 +1,98 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +/*
> + * xen-inteltemp.c
> + *
> + * Get the CPU temperature of Intel processors.
> + *
> + * Copyright 2025 Teddy Astie <teddy.astie@vates.tech>
> + */
> +
> +#include <stdio.h>
> +#include <errno.h>
> +#include <xenctrl.h>
> +
> +#define MSR_IA32_THERM_STATUS         0x0000019c
> +#define MSR_IA32_TEMPERATURE_TARGET   0x000001a2
> +#define MSR_IA32_PACKAGE_THERM_STATUS 0x000001b1
> +
> +int fetch_dts_temp(xc_interface *xch, uint32_t cpu, bool package, int *temp)
> +{
> +    xc_resource_entry_t entries[2] = {
> +        (xc_resource_entry_t){
> +            .idx = package ? MSR_IA32_PACKAGE_THERM_STATUS : MSR_IA32_THERM_STATUS
> +        },
> +        (xc_resource_entry_t){ .idx = MSR_IA32_TEMPERATURE_TARGET },
> +    };
> +    struct xc_resource_op ops = {
> +        .cpu = cpu,
> +        .entries = entries,
> +        .nr_entries = 2,
> +    };
> +    int tjmax;
> +
> +    int ret = xc_resource_op(xch, 1, &ops);
> +
> +    if ( ret <= 0 )
> +        /* This CPU isn't online or can't query this MSR */
> +        return ret ?: -EOPNOTSUPP;
> +
> +    if ( ret == 2 )
> +        tjmax = (entries[1].val >> 16) & 0xff;
> +    else
> +    {
> +        /*
> +         * The CPU doesn't support MSR_IA32_TEMPERATURE_TARGET, we assume it's 100 which
> +         * is correct aside a few selected Atom CPUs. Check coretemp source code for more
> +         * information.
> +         */
> +        fprintf(stderr, "CPU%d doesn't support MSR_IA32_TEMPERATURE_TARGET, assume "
> +               "tjmax=100Â°C, readings may be incorrect\n", cpu);
> +        tjmax = 100;
> +    }
> +    
> +    *temp = tjmax - ((entries[0].val >> 16) & 0xff);
> +    return 0;
> +}
> +
> +int main(void)
> +{
> +    int rc = 0, temp, cpu, socket;
> +    bool has_data = false;
> +    xc_interface *xch = xc_interface_open(0, 0, 0);
> +    xc_physinfo_t info;
> +
> +    if ( (rc = xc_physinfo(xch, &info)) < 0 )
> +    {
> +        perror("Getting physinfo failed");
> +        return rc;
> +    }
> +
> +    /* Per socket measurement */
> +    for ( socket = 0, cpu = 0;
> +          cpu < (info.max_cpu_id + 1);
> +          socket++, cpu += info.cores_per_socket * info.threads_per_core )
> +    {
> +        if ( !fetch_dts_temp(xch, cpu, true, &temp) )
> +        {
> +            has_data = true;
> +            printf("Package%d: %dÂ°C\n", socket, temp);
> +        }
> +    }
> +
> +    printf("\n");
> +
> +    for ( cpu = 0; cpu < (info.max_cpu_id + 1); cpu += info.threads_per_core )
> +    {
> +        if ( fetch_dts_temp(xch, cpu, false, &temp) )
> +            continue;
> +
> +        has_data = true;
> +        printf("CPU%d: %dÂ°C\n", cpu, temp);
> +    }
> +
> +    if ( !has_data )
> +        printf("No data\n");
> +
> +    xc_interface_close(xch);
> +    return 0;
> +}
> \ No newline at end of file

Please never introduce files without trailing newline.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Oct 28 09:29:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Oct 2025 09:29:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152026.1482566 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDg0t-0005pd-IU; Tue, 28 Oct 2025 09:29:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152026.1482566; Tue, 28 Oct 2025 09:29:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDg0t-0005pW-FP; Tue, 28 Oct 2025 09:29:11 +0000
Received: by outflank-mailman (input) for mailman id 1152026;
 Tue, 28 Oct 2025 09:29:10 +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 <SRS0=LPue=5F=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vDg0s-0005pN-E6
 for xen-devel@lists.xenproject.org; Tue, 28 Oct 2025 09:29:10 +0000
Received: from mail-wr1-x433.google.com (mail-wr1-x433.google.com
 [2a00:1450:4864:20::433])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8dd6e458-b3e0-11f0-980a-7dc792cee155;
 Tue, 28 Oct 2025 10:29:08 +0100 (CET)
Received: by mail-wr1-x433.google.com with SMTP id
 ffacd0b85a97d-4270491e9easo4699713f8f.2
 for <xen-devel@lists.xenproject.org>; Tue, 28 Oct 2025 02:29:08 -0700 (PDT)
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-429952d5773sm20909215f8f.27.2025.10.28.02.29.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 28 Oct 2025 02:29:07 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8dd6e458-b3e0-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761643748; x=1762248548; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=SpjNBTgKUwPsMKdamLA9Zu2T/eCyv3V0/PYia7Cdo6o=;
        b=QbQthnmyWhHl+e92AAqourJ+hAs8eolLz+pz6zh6s0WVAnDtZDqwBAUqo56giLOyaC
         BV1d5ctqVajcOEWelxvFBXSI5Bxrt3mKcBD9HZ0igrv/t2Lcm4l9xYH9E5rep6QNkikw
         vPOKq94DBWjjJ7lK8qtNoHGn95CJSGSqfiB+AlnOKBbs9JMWnLnEUZ6BpB9HLch+F3hV
         eaU4I96lvoWwWIQec6ueefdZuFsWJ+u9fyA6dy7YVzQ9SfCcjz+cRnTG0ZLilRF5zjsI
         OPfgG5vK+VlPmo3QHBetoeAgVaKY4xFXmcymIbJByDMB9fhbCgQJmR4WzAvAGeVEhd+f
         BC+A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761643748; x=1762248548;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=SpjNBTgKUwPsMKdamLA9Zu2T/eCyv3V0/PYia7Cdo6o=;
        b=mbNwVsvCifOp5TDeDIdnk2iYfdRiUNrBnTfk/MbSN99wDSLP7hHoMHy7sdGHW9CcGL
         DmfF99I5IqrY0SYK134LrF3VsLDypY3vF7cBprZtvPve77Acq5Ai9OQ+4BHd+KDthTUW
         OHQ5ue+g2VuYduBvYkkPmPK76iYEw0ltZrt4E+iwKMarGUAK+OqA49CmFI9dKXLNWxxa
         BAgvrGBaEqBd2se0enqDIExnSC8Dw50rBiAS8iavUty3eeAgl0spkgNH8DZU7fV6wWS2
         v/GlEbNgCcOFKKmIch1+ekvDlw8HsiY72GQLbZZ7xSYLDCEor53fK6MlJlGIavDc2U6B
         sn0w==
X-Forwarded-Encrypted: i=1; AJvYcCX6BP7r+dccUdTzYyqY5RIm4WkC4wiw0rjo8Y3g7iZgkKS4HTnsgBJJe7o00/M7ylanHp75WEnXAsk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwcdUfCa5H97gabx2dMwEtacFZPMphE44PmVOHiOK1ttqz2KEYb
	smkSTRAjNzTOqyFuRynTQS0WuKmSJfAfaVKWcwksa/bUg/utaG/5PV7yZoc5qEBhdw==
X-Gm-Gg: ASbGncvrUvW39RYrZvD3eYf2Rfj9/347zGNAD0L+qiDAK5+fAhxTYxP9evQhaOA9uP9
	aS4PCe2YIbaDk0GAGJj+AS8ck/U54njm/5ze3xUIqSe/4riraHzvgUwT0gWHB0gnTdAIvAneMB7
	QbAd/aH6+IGP8WA+tgneRKMFu5Gz7k032D7ND6UT3pU5zANSg1llmHTkAv3uMNRzFfviqSat4fZ
	u2u+5QHsYn4X8wxwcFb09Dj6TgLYbrykGTldwqRaYt+f2OyPl4dfwbVcyV0Vqcz7QUVHZUpFUy5
	Ut6c1J0yqqxvDbhO4Yij29JMs2NY/V/yDhvuN2XV/78uvgBnhfS7/5dbUnbqetF5W+wooDr9vX7
	xM4SWozai8+iYASwLgG/d+h0PCBjRtm8Q5+NBysgDbOeFW66wFxBho27NpQSihC80fBjbPurGPf
	05uBmdmruOC/jPJyKrnDqYZmhDP21aGsTRPD28ylY3mYVNVPr4kuIq9sS02wb4
X-Google-Smtp-Source: AGHT+IH/LpAaMfa9UdgLsBnuKIEKXMB5BdbR3WbZ5Kh+wAmEO93uy/AL2N/i0TuoWvZ8vFeCIAzJ/g==
X-Received: by 2002:a05:6000:25c5:b0:427:79f:dcd8 with SMTP id ffacd0b85a97d-429a7e96c1cmr2069827f8f.55.1761643747678;
        Tue, 28 Oct 2025 02:29:07 -0700 (PDT)
Message-ID: <73ab67f9-d24f-42c8-a383-4c9db5de5bd4@suse.com>
Date: Tue, 28 Oct 2025 10:29:06 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4] misra: consider conversion from UL or (void*) to
 function pointer as safe
To: Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>
Cc: Nicola Vetrini <nicola.vetrini@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <daa126218e11484c72f3de4b39186b6d9afd26c6.1761589314.git.dmytro_prokopchuk1@epam.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <daa126218e11484c72f3de4b39186b6d9afd26c6.1761589314.git.dmytro_prokopchuk1@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 27.10.2025 19:51, Dmytro Prokopchuk1 wrote:
> Rule 11.1 states as following: "Conversions shall not be performed
> between a pointer to a function and any other type."
> 
> This deviation from Rule 11.1 relies on both ABI definitions and compiler
> implementations supported by Xen. The System V x86_64 ABI and the AArch64
> ELF ABI define consistent and compatible representations (i.e., having
> the same size and memory layout) for (void *), unsigned long, and function
> pointers, enabling safe conversions between these types without data loss
> or corruption. Additionally, GCC and Clang, faithfully implement the ABI
> specifications, ensuring that the generated machine code conforms to these
> guarantees. Developers must note that this behavior is not universal and
> depends on platform-specific ABIs and compiler implementations.
> 
> Configure Eclair to avoid reporting violations for conversions from
> unsigned long or (void *) to a function pointer.
> 
> Add a compile-time assertion into the file 'xen/common/version.c' to
> confirm this conversion compatibility across X86 and ARM platforms
> (assuming this file is common for them).
> 
> References:
> - System V x86_64 ABI: https://gitlab.com/x86-psABIs/x86-64-ABI/-/jobs/artifacts/master/raw/x86-64-ABI/abi.pdf?job=build
> - AArch64 ELF ABI: https://github.com/ARM-software/abi-aa/releases
> - GCC: https://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html
> - Clang: https://clang.llvm.org/docs/CrossCompilation.html
> 
> Signed-off-by: Dmytro Prokopchuk <dmytro_prokopchuk1@epam.com>
> Reviewed-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> ---
> Changes in v4:
> - the build assertions for the X86 and ARM are enabled by default (unconditionally)
> - re-wrote description for the build_assertions() function
> - excluded PowerPC architecture (not in scope of certification) from the check and wrote apropriate explanation
> 
> Link to v3:
> https://patchew.org/Xen/0e72c83102668dfa6f14c4e8f9839b4a73d30b3d.1760458094.git.dmytro._5Fprokopchuk1@epam.com/
> ---
>  .../eclair_analysis/ECLAIR/deviations.ecl     |  8 ++++++
>  docs/misra/deviations.rst                     |  8 +++++-
>  docs/misra/rules.rst                          |  7 +++++-
>  xen/common/version.c                          | 25 +++++++++++++++++++
>  4 files changed, 46 insertions(+), 2 deletions(-)
> 
> diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl
> index 7f3fd35a33..219ba6993b 100644
> --- a/automation/eclair_analysis/ECLAIR/deviations.ecl
> +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
> @@ -375,6 +375,14 @@ constant expressions are required.\""
>  }
>  -doc_end
>  
> +-doc_begin="Conversion from unsigned long or (void *) to a function pointer can restore full information, provided that the source type has enough bits to restore it."
> +-config=MC3A2.R11.1,casts+={safe,
> +  "from(type(canonical(builtin(unsigned long)||pointer(builtin(void)))))
> +   &&to(type(canonical(__function_pointer_types)))
> +   &&relation(definitely_preserves_value)"
> +}
> +-doc_end
> +
>  -doc_begin="The conversion from a function pointer to a boolean has a well-known semantics that do not lead to unexpected behaviour."
>  -config=MC3A2.R11.1,casts+={safe,
>    "from(type(canonical(__function_pointer_types)))
> diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst
> index 3271317206..b3431ef24e 100644
> --- a/docs/misra/deviations.rst
> +++ b/docs/misra/deviations.rst
> @@ -366,11 +366,17 @@ Deviations related to MISRA C:2012 Rules:
>       - Tagged as `safe` for ECLAIR.
>  
>     * - R11.1
> -     - The conversion from a function pointer to unsigned long or (void \*) does
> +     - The conversion from a function pointer to unsigned long or '(void *)' does
>         not lose any information, provided that the target type has enough bits
>         to store it.
>       - Tagged as `safe` for ECLAIR.
>  
> +   * - R11.1
> +     - Conversion from unsigned long or '(void *)' to a function pointer can
> +       restore full information, provided that the source type has enough bits
> +       to restore it.
> +     - Tagged as `safe` for ECLAIR.
> +
>     * - R11.1
>       - The conversion from a function pointer to a boolean has a well-known
>         semantics that do not lead to unexpected behaviour.
> diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
> index 4388010ec9..4e94251887 100644
> --- a/docs/misra/rules.rst
> +++ b/docs/misra/rules.rst
> @@ -431,7 +431,12 @@ maintainers if you want to suggest a change.
>       - All conversions to integer types are permitted if the destination
>         type has enough bits to hold the entire value. Conversions to bool
>         and void* are permitted. Conversions from 'void noreturn (*)(...)'
> -       to 'void (*)(...)' are permitted.
> +       to 'void (*)(...)' are permitted. Conversions from unsigned long or
> +       '(void *)' to a function pointer are permitted.
> +       Example::
> +
> +           unsigned long func_addr = (unsigned long)&some_function;
> +           void (*restored_func)(void) = (void (*)(void))func_addr;
>  
>     * - `Rule 11.2 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_11_02.c>`_
>       - Required
> diff --git a/xen/common/version.c b/xen/common/version.c
> index 553b97ba9b..674bd72b31 100644
> --- a/xen/common/version.c
> +++ b/xen/common/version.c
> @@ -217,6 +217,31 @@ void __init xen_build_init(void)
>  #endif /* CONFIG_X86 */
>  }
>  #endif /* BUILD_ID */
> +
> +/*
> + * This assertion checks compatibility between 'unsigned long', 'void *',
> + * and function pointers. This is true for most supported architectures,
> + * including X86 (x86_64) and ARM (arm, aarch64).
> + *
> + * For more context on architecture-specific preprocessor guards, see
> + * docs/misc/C-language-toolchain.rst.
> + *
> + * If porting Xen to a new architecture where this compatibility does not hold,
> + * exclude that architecture from these checks and provide suitable commentary
> + * and/or alternative checks as appropriate.
> + */
> +static void __init __maybe_unused build_assertions(void)
> +{
> +    /*
> +     * Exclude architectures where function pointers are larger than data pointers:
> +     * - PowerPC: uses function descriptors (code address + TOC pointer).
> +     */

Yes, it uses function descriptors (aiui they consist of three longs, not just
two though), but "function pointers are larger than data pointers" is still
wrong there, which is why (as you indicated before) ...

> +#if !defined(__powerpc__)
> +    BUILD_BUG_ON(sizeof(unsigned long) != sizeof(void (*)(void)));
> +    BUILD_BUG_ON(sizeof(void *) != sizeof(void (*)(void)));
> +#endif

... these checks still will not cause build breakage even if enabled for PPC.
At least aiui (what is being passed around are pointers to function
descriptors). IOW I don't view it as justified to exclude PPC here, at least
not yet.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Oct 28 09:33:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Oct 2025 09:33:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152039.1482575 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDg4c-0007Ny-3u; Tue, 28 Oct 2025 09:33:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152039.1482575; Tue, 28 Oct 2025 09:33:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDg4c-0007Nr-1L; Tue, 28 Oct 2025 09:33:02 +0000
Received: by outflank-mailman (input) for mailman id 1152039;
 Tue, 28 Oct 2025 09:33:01 +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 <SRS0=LPue=5F=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vDg4b-0007NR-1P
 for xen-devel@lists.xenproject.org; Tue, 28 Oct 2025 09:33:01 +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 16d93c69-b3e1-11f0-980a-7dc792cee155;
 Tue, 28 Oct 2025 10:32:58 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-475c9881821so35156145e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 28 Oct 2025 02:32:58 -0700 (PDT)
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-475dd48a07dsm185246965e9.17.2025.10.28.02.32.56
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 28 Oct 2025 02:32:56 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 16d93c69-b3e1-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761643978; x=1762248778; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=F0/el5DbS/rcPRLxGln4dovr5O6ID+Nut9az+4W6bMA=;
        b=NrVdVXK7o52DvkcM8MFSbgMMXTCoXk5JWaEt+AF88hTH6lnygF1OivrAeUTPsCK0Zb
         4OS9K8nuypZ+P2aodZ9d3uK/kme49x3u3SgccCcFRJXTRcX8Dp3He0ajto2dDiMPGJmZ
         woIYMjl6CH49p7dfmtFUHR5rB7W6V9NlnYyJWJtRC6w1E0UMYUcQ0pyOpBkogFNHoivI
         7YvWOOQeF0QNxIouBgu1U12g/IzI9icrHtnzsDcrDn6wyJbv66Yw8ZOyLLTbyDQSkGcm
         vJ+pa5SQpbL0vZgAKoXHOFf1yxWk10kwlcqaxOhjlnidKR9WfN8ndymEGQJo85w1Xq1R
         cSDQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761643978; x=1762248778;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=F0/el5DbS/rcPRLxGln4dovr5O6ID+Nut9az+4W6bMA=;
        b=GzXRI1PIk1tBXRJv1SPLHF5l+hp4Q7f2FGc+YncipsFtYnC080r77hrJqtabksgC/Q
         uruyIme0wikGBOUmdqhM3n8ysTm+YD0kkrAMKVUph2uJRO3ZMTJ0Fgn9aWhqoob9TR13
         MUyZ634zL9Vc0waX/+fnpx1l/ya5TBuU0ScI5W5qeHgVmSvc5J1+G7Ov67W3Egwuhtdy
         QR3TQOSbQVP4DIHdBiMr6Kc+ZwpyV8O1VfZuQ/sZRnBDE8GzN6eddi8X4cALjPyv6p+8
         jVTLjMWesNGypmZSJfFIxJ1SokbmYrrW2fFmqkQ6HTwyCB/PL14exrVI/wb7VX0xOsLp
         pntg==
X-Forwarded-Encrypted: i=1; AJvYcCV8F6Nk4WL/wXGrrlj+w21SrGNzHB78dbgRXL/+z7GxjC58XL1JHQXDx5KVvVk8Szn0LqgQAzIQc9Q=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yyr/E6ZbK1qzXCcPXBiIBnD4yBKq/UY6im1TlECJuJFBCmoEATS
	OUnw4JUs7ueGPCcirZKl90uPTTd+qn/5WshbjIJAHEJGTyec+gG2H/mHTid8WWSunncpAshKvns
	S65Q=
X-Gm-Gg: ASbGnctRQmKlM670yGvk5araEQ6k7zPFjjoY2TJJ/xXbWe8/9AbH1u1zl1hTnlvshf7
	IJ0LIs93m7E9pZiCLr031kmpPdPHTbmVJdJPRyEQdxHwtyzZt+5044CTOV5GrJBGH76wwk4PAfT
	hv3vkeQMpCpYG2TfEqDkoCE65ibqn3GfcnjH4/lJPn1PcU90cZfx08D351C0zRgUiOVwwgZ+9If
	P7yK4pbRS4uLM4nv9xjhO4+ODdzk0egvp3sg7eLNFUP73dcDqPinvBKWtoi2FsRVum37WkGMfF7
	iLPmjZaluJJKuxzVYteZYKhjDNzUApqLc8EEt30Gr/Ajeg2DxhbyYF3Z8zecpgBBEat8cfWvlZz
	uebn96oMLw/SBfbsKFlQXTbBsVAEncINxrv2pKb8zgJLoKemSg00w1IP2EwU0fA7ebbWPx7lBwn
	b92bPg+/EgK3q4fEVzQyil5QFGJ9YuSJjRv/Cpum46kdyqAg8BQfRpKE19H0bV
X-Google-Smtp-Source: AGHT+IEgt0TMuxuTv/XgJYaPHQj04zyP1SEELNgAVQj3+P5f2UGqRb0L10tzU0khfmP0rVqX+9iOfA==
X-Received: by 2002:a05:600c:2052:b0:475:dc32:5600 with SMTP id 5b1f17b1804b1-477181a9835mr16806355e9.19.1761643977624;
        Tue, 28 Oct 2025 02:32:57 -0700 (PDT)
Message-ID: <1636aa0d-1ab6-4f6d-ba74-f41a9c561b55@suse.com>
Date: Tue, 28 Oct 2025 10:32:56 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 4/5] x86/ucode: Refine the boundary checks for
 Entrysign
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20251027221702.3362552-1-andrew.cooper3@citrix.com>
 <20251027221702.3362552-5-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251027221702.3362552-5-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 27.10.2025 23:17, Andrew Cooper wrote:
> After initial publication, the SB-7033 / CVE-2024-36347 bulletin was updated
> to list Zen5 CPUs as vulnerable.  Use Fam1ah as an upper bound, and adjust the
> command line documentation.
> 
> When the Zen6 (also Fam1ah processors) model numbers are known, they'll want
> excluding from the family ranges.

I.e. we're firmly promised the problem won't be there anymore going forward?

> Fixes: 630e8875ab36 ("x86/ucode: Perform extra SHA2 checks on AMD Fam17h/19h microcode")
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Acked-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Tue Oct 28 09:47:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Oct 2025 09:47:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152049.1482585 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDgIW-00019J-9d; Tue, 28 Oct 2025 09:47:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152049.1482585; Tue, 28 Oct 2025 09:47:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDgIW-00019C-76; Tue, 28 Oct 2025 09:47:24 +0000
Received: by outflank-mailman (input) for mailman id 1152049;
 Tue, 28 Oct 2025 09:47:22 +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 <SRS0=LPue=5F=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vDgIU-000196-LF
 for xen-devel@lists.xenproject.org; Tue, 28 Oct 2025 09:47:22 +0000
Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com
 [2a00:1450:4864:20::329])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1934c917-b3e3-11f0-9d16-b5c5bf9af7f9;
 Tue, 28 Oct 2025 10:47:21 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-4710683a644so47954355e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 28 Oct 2025 02:47:21 -0700 (PDT)
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-47718493c61sm16768165e9.4.2025.10.28.02.47.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 28 Oct 2025 02:47:20 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1934c917-b3e3-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761644840; x=1762249640; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=PcyigqMKRdi3qJxHJpbteoLb+W7d21/QCOkk2Rkxadg=;
        b=FEcTsmBZpSyKYnA09CqOpAEQ+3ygBEAiiVc30wsYf3x3cLIFOV1l7f+4su+Wx6+HGd
         xcOrDfxrAYPpn1FYBUdsKC7F44JdI9XbuI7MgzGZVpdG/PoPF99I71hao5oJBCV7ZYhb
         RUjjLT5uJPRalguuMPlQvqMQYouW8MUxQtztR78x+dGPtbiDfq2vLJnoafY9hiDl2Btj
         J04oCRjb651eWvWLZ13JqtFJXCvqDucZZsr1KPlTeCHfQVUH2zBVwbDdPodLtYegCOhT
         0KRPAa8iKE5XDh1Ln4OP+y8ZjIMBDnRI5AyGNcQnvjwF2B3U9l2aDQR3Gy1kfzhpCGbO
         iAYg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761644840; x=1762249640;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=PcyigqMKRdi3qJxHJpbteoLb+W7d21/QCOkk2Rkxadg=;
        b=wWQvN4tOcalTLcwy7vHDf0YGbaqud5s+9amWyPGDEONMHMw4RBsDIZs0CyWAT6WWHv
         cMtyJP7cJmB4TEmsKKGu0pv0rUxPtycfOuXMpvRxXlF9n9/Na7f6PC1yM1V+qTi5BU5B
         NJ0MsvW+Qpp0JfwbjcbDKkWVFQWiVjxHFG+KV3+5J7J8pxWwcSnvRuKNDeihLuuS4LBi
         ofse/xKmOtiSOZwn4i6B0MCjaVCA8FCvYfWAbFU+mAG12g1i+2t1Gyyg6S37m8YQthNq
         EKbdFB9FEbtYIWwXzvZWgjcVMEU1RQGNQwpW1xy7JGxRd6vvYt2Vu2r2nu88lBy65HLT
         eZvg==
X-Forwarded-Encrypted: i=1; AJvYcCXUaKMz8OmCEVHloAw89iPYLqgdOOYbxqjmab7A0/lKyYzJT2ipdYQLfN+Mf+Ao8Fh5Nsuk8RiheSE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyMTgKdW5Y2IAEOXNa/Axp2f3Q+MdE4UfvMUp75NxbtDtiwgZFZ
	viH1boPMtXlVEpFYSFLmarw+3eRB/ELL/rmToMMiMfNDyCLSYCUDQg5sHCQdKGG1pQ==
X-Gm-Gg: ASbGncttz0J1kpdsihEH+K1cYJUF3cNXQ3iIlPlcPrzgF8B1/u9Th4CzpH3pFJH4Hdl
	y8MYh0uq2J3HsrJIU1DGcWwuTKr/8tmYlkuvlPzKx7UsXxL9rlqQ58GGmaQQV5/sqGRONsnrNVJ
	kYEHITWsoi1QO4TrQVudByz/b9zlZoLLxQ1N4ZDcd8vrF78KAj5qWQ+lGUT5nhZBQ7PixqWiuty
	RaajG96iC8JJYD1uvSdxrgo9u/Kw2b8ekBCDUiCwrJL58WonNLoI7FQ50l/VE7ifV8xYMTwp53l
	zFr1GIvPw+T7ZTPhxNjH25xluFuR6mvNnYF9zynskN4AXWc9mJP5YwMqQ0G0og+evMmuw6LpazL
	Kpu6zb4FWgASrsNQUxQqweZctlskLwNhv5v5QzxGEL03CKVzmjSaxEiQDJxoggNWzniKu/ycgln
	Xp/zbUNR6f04huTeDdS4cmEnLkFRZ5jpJ6QwSe2U+DRp0EqGAfmtw4yapnRbi3pnm5o/MTcLo=
X-Google-Smtp-Source: AGHT+IEU6PttUnosivv5CdThcdlo6R/maDMVQjvMqevSXFE9DwzoXkUCHVFygS1y5M1PUTfB/olK+w==
X-Received: by 2002:a05:600c:8595:b0:475:d278:1ab8 with SMTP id 5b1f17b1804b1-477180f3b38mr14932755e9.2.1761644840517;
        Tue, 28 Oct 2025 02:47:20 -0700 (PDT)
Message-ID: <61fcf602-4a4f-4936-a346-a650115e838d@suse.com>
Date: Tue, 28 Oct 2025 10:47:19 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 5/5] x86/ucode: Relax digest check when Entrysign is
 fixed in firmware
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20251027221702.3362552-1-andrew.cooper3@citrix.com>
 <20251027221702.3362552-6-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251027221702.3362552-6-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 27.10.2025 23:17, Andrew Cooper wrote:
> When Entrysign has been mitigated in firwmare, it is believed to be safe to
> rely on the CPU patchloader again.  This avoids us needing to maintain the
> digest table for all new microcode indefinitely.
> 
> Relax the digest check when firmware looks to be up to date, and leave behind
> a clear message when not.
> 
> This is best-effort only.  If a malicious microcode has been loaded prior to
> Xen running, then all bets are off.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Like for patch 4, adjustments for Zen6 are then going to be needed here too,
aiui. May be worth repeating that statement here.

> @@ -603,3 +604,82 @@ static void __init __constructor test_digests_sorted(void)
>      }
>  }
>  #endif /* CONFIG_SELF_TESTS */
> +
> +/*
> + * The Entrysign vulnerability affects all Zen1 thru Zen5 CPUs.  Firmware
> + * fixes were produced from Nov 2024.  Zen3 thru Zen5 can continue to take
> + * OS-loadable microcode updates using a new signature scheme, as long as
> + * firmware has been updated first.
> + */
> +void __init amd_check_entrysign(void)
> +{
> +    unsigned int curr_rev;
> +    uint8_t fixed_rev;
> +
> +    if ( boot_cpu_data.vendor != X86_VENDOR_AMD ||

Given the function name, might this check better live at the call site?

> +         boot_cpu_data.family < 0x17 ||
> +         boot_cpu_data.family > 0x1a )
> +        return;
> +
> +    /*
> +     * Table taken from Linux, which is the only known source of information
> +     * about client revisions.  Note, Linux expresses "last-vulnerable-rev"
> +     * while Xen wants "first-fixed-rev".
> +     */
> +    curr_rev = this_cpu(cpu_sig).rev;
> +    switch ( curr_rev >> 8 )
> +    {
> +    case 0x080012: fixed_rev = 0x78; break;
> +    case 0x080082: fixed_rev = 0x10; break;
> +    case 0x083010: fixed_rev = 0x7d; break;
> +    case 0x086001: fixed_rev = 0x0f; break;
> +    case 0x086081: fixed_rev = 0x09; break;
> +    case 0x087010: fixed_rev = 0x35; break;
> +    case 0x08a000: fixed_rev = 0x0b; break;
> +    case 0x0a0010: fixed_rev = 0x7b; break;
> +    case 0x0a0011: fixed_rev = 0xdb; break;
> +    case 0x0a0012: fixed_rev = 0x44; break;
> +    case 0x0a0082: fixed_rev = 0x0f; break;
> +    case 0x0a1011: fixed_rev = 0x54; break;
> +    case 0x0a1012: fixed_rev = 0x4f; break;
> +    case 0x0a1081: fixed_rev = 0x0a; break;
> +    case 0x0a2010: fixed_rev = 0x30; break;
> +    case 0x0a2012: fixed_rev = 0x13; break;
> +    case 0x0a4041: fixed_rev = 0x0a; break;
> +    case 0x0a5000: fixed_rev = 0x14; break;
> +    case 0x0a6012: fixed_rev = 0x0b; break;
> +    case 0x0a7041: fixed_rev = 0x0a; break;
> +    case 0x0a7052: fixed_rev = 0x09; break;
> +    case 0x0a7080: fixed_rev = 0x0a; break;
> +    case 0x0a70c0: fixed_rev = 0x0a; break;
> +    case 0x0aa001: fixed_rev = 0x17; break;
> +    case 0x0aa002: fixed_rev = 0x19; break;
> +    case 0x0b0021: fixed_rev = 0x47; break;
> +    case 0x0b1010: fixed_rev = 0x47; break;
> +    case 0x0b2040: fixed_rev = 0x32; break;
> +    case 0x0b4040: fixed_rev = 0x32; break;
> +    case 0x0b6000: fixed_rev = 0x32; break;
> +    case 0x0b7000: fixed_rev = 0x32; break;

Acked-by: Jan Beulich <jbeulich@suse.com>
(after cross checking with up-to-date Linux, i.e. including your recent
correction there)

Jan


From xen-devel-bounces@lists.xenproject.org Tue Oct 28 10:34:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Oct 2025 10:34:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152059.1482596 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDh29-0007ZH-LF; Tue, 28 Oct 2025 10:34:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152059.1482596; Tue, 28 Oct 2025 10:34:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDh29-0007ZA-IX; Tue, 28 Oct 2025 10:34:33 +0000
Received: by outflank-mailman (input) for mailman id 1152059;
 Tue, 28 Oct 2025 10:34:31 +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
 <SRS0=pDzw=5F=citrix.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1vDh27-0007Z4-IJ
 for xen-devel@lists.xenproject.org; Tue, 28 Oct 2025 10:34:31 +0000
Received: from DM5PR21CU001.outbound.protection.outlook.com
 (mail-centralusazlp170110009.outbound.protection.outlook.com
 [2a01:111:f403:c111::9])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id abef1ee4-b3e9-11f0-980a-7dc792cee155;
 Tue, 28 Oct 2025 11:34:25 +0100 (CET)
Received: from DM4PR03MB7015.namprd03.prod.outlook.com (2603:10b6:8:42::8) by
 DS7PR03MB5544.namprd03.prod.outlook.com (2603:10b6:5:2d3::18) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9275.12; Tue, 28 Oct 2025 10:34:20 +0000
Received: from DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9]) by DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9%3]) with mapi id 15.20.9275.011; Tue, 28 Oct 2025
 10:34:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: abef1ee4-b3e9-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=VDwurNxWmTo+GS0xMEYX7E3hNlsJbL6CJKyRQXxzEYegttPX6SIL/+8dVRgDm4E4OWgyyjbXjFK3EmI6cvRlw3UJw/QoWRwnf2eBWRFXLRakPOjAp2TuVMmL92MxAPiwWbEF8yM4OeJW8bOTKSt7oV9pumqQB0+cl4GmZ/l8LIIB8MM2HP9DGnBgqp0Uz9l1kN9cZE1/gCS20gFEnMOu2Vgi+IlXQjgKTSqw3lCykJjhNIjt+FI25KufXH1l4CsJlB8W+T3/7bomL45+csD6DTBmYPuJza3P8ev1LwB+XHlMN0QtffOegr+/QT5CYrRespJ3oqcBJxt2OY2E+XZhSg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Prx8kLN4zWglObsnj9lz6bK/pgryNEMwHIOFL99GAYU=;
 b=Hd/wyw6k+aW8VJlSWGq3AG0vL2zgVkItA7+Ff2vau2UjWit6N2dMG/8e1O6vxSI48ZjIE8ut4eYv7ziwOB84DmLNg8ycunaik86kn4KeBpbVxWEKrjieoOaB7Q6WuFC5U4PVUV63cygFTrsYGU/G/QiZz4I6pD/IaJoih2E1qrIoOeDh7BSXj/i8OtyEPiVzQacxYB+uRqXSJhC/CAl9ROSrcLCd/hcePJf6vu+tUylXSr9zQyG4Zu7avkm5y65AAtQnaXe9cE1SfDqU8u5bf0G+ldlrLoTV0temzdXcCk/ghDXWq2IvHUa/hS1+EAQQ64+ZGK2lvwCDrRZHaf0Miw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Prx8kLN4zWglObsnj9lz6bK/pgryNEMwHIOFL99GAYU=;
 b=TIBikjXtZqsPKOFchpfSY4NkpJQ9Z2NTTPgPiuzasfUHBnhUOeYKU50M2MTEmb2N6FQ54dmojuMSun/mJeTI0VEnNzG+8P1D/Gssl6YDanWyi7j7OQnygjOIYufAGGi+2koKBjB/a4SQxWW5HsazR+UshPhpgdIo9UDA3clesfQ=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <b8bfc67d-705c-4abb-8759-e6397bcaa725@citrix.com>
Date: Tue, 28 Oct 2025 10:34:17 +0000
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 4/5] x86/ucode: Refine the boundary checks for
 Entrysign
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20251027221702.3362552-1-andrew.cooper3@citrix.com>
 <20251027221702.3362552-5-andrew.cooper3@citrix.com>
 <1636aa0d-1ab6-4f6d-ba74-f41a9c561b55@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <1636aa0d-1ab6-4f6d-ba74-f41a9c561b55@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO2P265CA0452.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:e::32) To DM4PR03MB7015.namprd03.prod.outlook.com
 (2603:10b6:8:42::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM4PR03MB7015:EE_|DS7PR03MB5544:EE_
X-MS-Office365-Filtering-Correlation-Id: 5eba10a2-73f0-447b-4cbb-08de160d8d73
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?OW5OcVBWMEFRcTlMKzR2c05oZ3pvaXdBMWlSVUdJR2ZrcFN4aVhJR3JmdjBT?=
 =?utf-8?B?R2pZbW0yTGNBWkdyZ1NUUFJ3RjIxYmlUQVhoSytNMlZ2RmJDZERIbzNOK0hC?=
 =?utf-8?B?emVRTUNvWk5SZWl2bHRMeVJIb0REdjRWM3hxWVNIc21DN2N2UWRQcmdsQlZa?=
 =?utf-8?B?dFhrNGtGZGpSWE5KZ1lQZEtGMzBKY3BoM3R2enlXTVNhaklNeVI5ay9HQnZH?=
 =?utf-8?B?TUpKNGdpTFRNVmJHdkJIK2hJUUhsdkJjbkZ4MHo1d0VucGhDOWRaODJ6Tmcv?=
 =?utf-8?B?czhVTDZUZW8wNFYwS0VCNVVxbi9MZWRIaUpxM0F4Q2lOZnpuNU5BaXVqZTV4?=
 =?utf-8?B?akpUYXkwUFI5Vms2QVd1dGRJdTFCd2ZRTUxQYUgzL3VYR2lzNnhLcnZ3L2Mr?=
 =?utf-8?B?VG4zOTdKUU1hWVhwQVdUd0Q2UkdGM251blVOV1FLeUdEY2lsemRSbXVIa2Zw?=
 =?utf-8?B?aW5ZQzRtb0dIRzU4c2t6ZjAyOWwwdlNUaFVsUjRRcGN2emNrUEZQTUF1K0cx?=
 =?utf-8?B?UTlLdEFQRy8ycm9hbWx2UmF1RWpqeFpZV28wcUdwenpLUjJRYVJuNzJsbURF?=
 =?utf-8?B?TGVFZkhYVTdKWU5DOU1ZS0IrMVdHY3VpY3B0N2dCRVdxdXpTdDZkV1oyd0dz?=
 =?utf-8?B?WEJoZE1YWjVsSk5TeGk0S0F1bnVrTWp1VXBUZi9tZGJOejRhWUhSWGFMYlhI?=
 =?utf-8?B?VU9BanM5TTU0R2phRFRUQU5pUnBDc1pkOUJ5U2lxWERoampGbW4yb004SC8x?=
 =?utf-8?B?OHNqaXNoM1BIWFQ2aGV6Y0tXbFBpajN0L2R3N0pRSHozT3dKQWxEUUNaWHVF?=
 =?utf-8?B?bHpScXkyMmxJWm1sQ3NnREZkS3lLeEJGYWFsejRrOXJBcmFCaE1xdU5UbStx?=
 =?utf-8?B?Z0I0enV2T2lOVnZHek1UZWRET01sVnFVbG05UG5rN0tkWWhXMEdwaEF6TlVH?=
 =?utf-8?B?SkV4NzFXMFNKbWtiOEN0QUEzZkc3dGpNRWllNXFkSVNkTXM1UWJwWlcvcXFq?=
 =?utf-8?B?d21abVF4S1BaVWVFWStFTFpwZzRjclcvL1NJejBSdGtyc2tGZEtPV1l1cFdo?=
 =?utf-8?B?bHcrajFacGs5NjJoQ0xSS2Jla095L2dKODlIMFVMOG81R3BXWGFFVTZUNUNC?=
 =?utf-8?B?TWdpUndrYlRxQnhTK29sVWwvY0o3K2dJclZrYjVxaHA0MWE0d3VMcXVnMHha?=
 =?utf-8?B?cVVLRng1WkpEOXVLamt4bHgraXpzdVpDU2tZb2xkWFgrSFFaR09TZHJSaUVG?=
 =?utf-8?B?YUExMGZrc1VhdGs3clF5T1VUQUk1S01rRHV3K25hSStDUU5BK1o1L281ZE5r?=
 =?utf-8?B?T21wSzhhenM1U3gwYTlhV2s2NjJpNlh0T1pVVURwNUliR2s4UzNhQXg1YUZU?=
 =?utf-8?B?NzFER0wvTzFIbk1HNGtGcTFyN3NNSEcxUVVSR0gxU0JYU0FOOTBERzBJTy9E?=
 =?utf-8?B?bVhycm9CS3VsYW5EREF1eFZWTVdLRnB3OVVtVWFJcmJ2WEVpaC9SNG8yRVR2?=
 =?utf-8?B?Vm5XRDRoUUZZUDlmS2h5K0NxUzRKeUJvRVhWUG9qQ3E4cDNrcGZKWXI0aGxq?=
 =?utf-8?B?VmdveUNHVFdjcFA0dUhiQnorTTgrSzcyVlRieGt6OXJwenduN1NYbk9jbkJq?=
 =?utf-8?B?bFZ3ZEtaZ2xjTEdtRThDWVJNRUtNMWJqUmxCMzZFb3dJcnFRZGY5Z2llVWpp?=
 =?utf-8?B?cjVrWXlNemZ5MEhFd3RKUkEvNFo3R3owUzkzL0kxeEk0SURDNkh1bWFZMEs5?=
 =?utf-8?B?b3VBZFZscUFFTE1HcUQ5V1MrU2IxaVY4SXI3d1RrZ3Q4TFdYUDFVdnVNZ2V4?=
 =?utf-8?B?ZEJaaHpleHA2d09QejdKZGtKUXBIRnMxUXQrd0wwbFBIbW9aSUxFdGM0M0pH?=
 =?utf-8?B?cUw5eGJYR0pXaUgyNFBnZW53STUxNzF5ZlRNWXJsREtWa1ZEbEhJR3BjaWdP?=
 =?utf-8?Q?ABZVOxKfY+4MGLElxV4LAywQg8djMx3j?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR03MB7015.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dkFQVVpLaXJTZlVHWUVnVDlLYyt1UjM5ZS9UZnhaeEVEUHFqUFllOTBXclll?=
 =?utf-8?B?Q0JzcnhqYXhWMk5qTjdOWUZsS29tSTVHc2VhaU1uelpEaGE1OTB0c2t3RHJ1?=
 =?utf-8?B?Y2NkdjVCYjlOMVJHMlpGT2swcy9jZnNSN016bTFwTzh0cmttWEJhYjN6U2ho?=
 =?utf-8?B?YStuL0FyZmZWUTIxUHh5dnR1d1NqYlkra0Q4MDcwN0ZTU3lPelhQSjErZm5V?=
 =?utf-8?B?ZUR1NjExVnFkNS81aW5vbnRoSDBVTGlPb1FrV2ZlVXREQlM2OWJJdE5lUTZm?=
 =?utf-8?B?cFZ1b1lxK0wveG5zaGozZzdURjIvWXJFdzl4cisxd1gzMEhJTXBWWUhWYkVu?=
 =?utf-8?B?TUZFZndYUUhBTXp2a1VIVVhZNmh3TGtOQVBLSzZGTXNoT1FoMXRQQytmSkNx?=
 =?utf-8?B?STZtN1dWSE9tdHdqTE1EbVpWcUxlc0pHYVRQZ0Y1dmluL25mbU1UcmZUSnFw?=
 =?utf-8?B?OXJ4Nk1xSkp5dkZyNzFhQTRyNjhLQkNHM09ROGJ1U1B6TlVTQ0JUYU53anNG?=
 =?utf-8?B?bXJSOU9zUzhhWUluSUY3bkZhM0VPOHQwSk9CWU9TWjZ3TE8wY0RqbnRhTHBY?=
 =?utf-8?B?NXllYldzbFoweUJWbEV6MXdrSGdZOUFMaTUzcUNCdFdESEUrZ1JRWkxPVmZT?=
 =?utf-8?B?OXVGMUk1bzJ0bUtLRENrSDM3dDRRb3gxZVc0bE9uYURMRkZHcFBPcTVTbGpM?=
 =?utf-8?B?UWxGS0xGMVVSTHdqdHNMZzBHSTYxVjdzaFE1aW1WZVB3ZzVERzFTOFRvMi82?=
 =?utf-8?B?SkUwZkhkM0JYYk1tQVQwRFliV3dPOGszbVRYc1VwS0g3YytjZ1BES1lBdTRr?=
 =?utf-8?B?b0lpRU5Id3Z6aEVJbW5SYVNNbkwxdm1USUgwSTBSZnRxT2gzZzhZZndzQlVn?=
 =?utf-8?B?TGdDMlo1bDI1a1o5Q2E0dFJyWlU1L1RONkZvcVdIUDB1T3V1RS9GYjB0TElx?=
 =?utf-8?B?WDlEbUVaQS9hSjZzUGhSUnRoSXRINmJJN0RzSGorUEJteUNhdzRsbklTUzZR?=
 =?utf-8?B?bUdvWE9qSHN5RUI2N0FFUTUzRlJUU1g0VDhxdGxLTnNoWk1UaHN2eExleDRm?=
 =?utf-8?B?aU85RGcrVE5oNW1SMzNVWWVhNUZ3d3UrNnlIdEM5TGhhaGtzK2R2N3BrYmcy?=
 =?utf-8?B?QVRuQXl4NG8vVUlmZXM3Mk1HVkVLczRaclJkUEIxQWtZbHFWSnN4R2Nadm1L?=
 =?utf-8?B?UytHSFoyUHVlYXdieUR3bU9DYXduWlJ6QStyVkJoUDVRelhVcCs3d2lpb0lV?=
 =?utf-8?B?SURvUy9HdEJHWTFiOVlabWdMRUZkTVBVLzFUa1dwTjZaQUpNQ0ZuclYwVXVr?=
 =?utf-8?B?YzJzYy9nVFZPUVhkR2JZRmxjb3QvR1djdHdWVGVnOENuZEhEdjZwK3pZM1Nz?=
 =?utf-8?B?NS9nc2xFNDBwV3RPRWtwdjh3QUQveHpVQWNQUnVWWEF5Z0hwbHlIUW9CNVJw?=
 =?utf-8?B?MUdKWmIxbnQ0QVFvZFkrN1VKS0xsd2xxdHh3VjM3UWI4VlhnZTcrT3Y2L1B3?=
 =?utf-8?B?UlpvWkpta3BWZTlKeUNHbEZ0UG9ueVpLaG9MZi80K2Z2bC9xMmg5alpiMHpx?=
 =?utf-8?B?VWI0T0xMcTJGQ20zNXhIZ3pjKzIwUnE1ZXFYQnMrT3JabFNiaHJWdEdkelRl?=
 =?utf-8?B?QkxCVlFGRUg3R1pycitGa3N4bkRUSzlHREFLVm9CY3hibXZ2L1dqT05pRldJ?=
 =?utf-8?B?dUdmZS8veHpaU09vNzhaak9hOVBUZTgyQWlNR2FvSWNMSGl3YUpNaW92WmlM?=
 =?utf-8?B?bEVzQWFpVDk3bnhWbXNVaEZ5anptZEl0UEhkaGtXTnU2WTlKMiszYkI5Tk0y?=
 =?utf-8?B?Qmgvazd4ZHB3cjM1aFlrNWNBR2F4bi9kWGZySzExVTl4YzRjQkxWaUNFYzlq?=
 =?utf-8?B?R3pINkdHVFFBcG4yZTBya013eEtHWXBEa2tBbzJIdUV5d25BYmlDcDlRdEVk?=
 =?utf-8?B?QlhkeUE5WnVrMThSRzVwc0Vpak04NStHZUx4bHQ2STNObUlwYll2T01yeDJq?=
 =?utf-8?B?eW8wQ3RjVUlDSUs3Qkk1TUUvV2dtZUVBU09rSTZJWnBxTURzKzVMZlFhS2pa?=
 =?utf-8?B?dzBZNU8vMkZ2dnM5U2FyU2tFbzdkdm9PWUdDMFVMRnF6UWYzYjYxL1lhUlNV?=
 =?utf-8?B?RGw2UlFQTFE5c1d3MS9oOExibGFvRGZCd0k0TjYvcXVmMEpsb0hGZU5pMjgr?=
 =?utf-8?B?aVE9PQ==?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5eba10a2-73f0-447b-4cbb-08de160d8d73
X-MS-Exchange-CrossTenant-AuthSource: DM4PR03MB7015.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Oct 2025 10:34:20.1243
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: zhkqoND/+E9GTqFd6dVqufGs8ORURxFNxoPuStHgzjm8HNAQdriNPJJgTFWcXWNPdO1BkNyMUy9KEK7IHvMwuCebaZXoOHGzjJLZJODmDCk=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR03MB5544

On 28/10/2025 9:32 am, Jan Beulich wrote:
> On 27.10.2025 23:17, Andrew Cooper wrote:
>> After initial publication, the SB-7033 / CVE-2024-36347 bulletin was updated
>> to list Zen5 CPUs as vulnerable.  Use Fam1ah as an upper bound, and adjust the
>> command line documentation.
>>
>> When the Zen6 (also Fam1ah processors) model numbers are known, they'll want
>> excluding from the family ranges.
> I.e. we're firmly promised the problem won't be there anymore going forward?

This is what I hear from AMD, yes.

>
>> Fixes: 630e8875ab36 ("x86/ucode: Perform extra SHA2 checks on AMD Fam17h/19h microcode")
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Acked-by: Jan Beulich <jbeulich@suse.com>
>

Thanks.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Oct 28 10:34:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Oct 2025 10:34:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152063.1482607 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDh2T-0007uE-UC; Tue, 28 Oct 2025 10:34:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152063.1482607; Tue, 28 Oct 2025 10:34:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDh2T-0007u6-QO; Tue, 28 Oct 2025 10:34:53 +0000
Received: by outflank-mailman (input) for mailman id 1152063;
 Tue, 28 Oct 2025 10:34:53 +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
 <SRS0=zN4v=5F=arm.com=kevin.brodsky@srs-se1.protection.inumbo.net>)
 id 1vDh2T-0007Z4-24
 for xen-devel@lists.xenproject.org; Tue, 28 Oct 2025 10:34:53 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id b9b3d1c3-b3e9-11f0-980a-7dc792cee155;
 Tue, 28 Oct 2025 11:34:47 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 07A50106F;
 Tue, 28 Oct 2025 03:34:39 -0700 (PDT)
Received: from [10.44.160.74] (unknown [10.44.160.74])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 3597D3F63F;
 Tue, 28 Oct 2025 03:34:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b9b3d1c3-b3e9-11f0-980a-7dc792cee155
Message-ID: <f3b8a71c-7698-4918-99d1-36e97bded97c@arm.com>
Date: Tue, 28 Oct 2025 11:34:34 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 06/13] mm: introduce generic lazy_mmu helpers
To: David Hildenbrand <david@redhat.com>, linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org, Alexander Gordeev <agordeev@linux.ibm.com>,
 Andreas Larsson <andreas@gaisler.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, Borislav Petkov
 <bp@alien8.de>, Catalin Marinas <catalin.marinas@arm.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 Dave Hansen <dave.hansen@linux.intel.com>,
 "David S. Miller" <davem@davemloft.net>, "H. Peter Anvin" <hpa@zytor.com>,
 Ingo Molnar <mingo@redhat.com>, Jann Horn <jannh@google.com>,
 Juergen Gross <jgross@suse.com>, "Liam R. Howlett"
 <Liam.Howlett@oracle.com>, Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>, Michal Hocko <mhocko@suse.com>,
 Mike Rapoport <rppt@kernel.org>, Nicholas Piggin <npiggin@gmail.com>,
 Peter Zijlstra <peterz@infradead.org>, Ryan Roberts <ryan.roberts@arm.com>,
 Suren Baghdasaryan <surenb@google.com>, Thomas Gleixner
 <tglx@linutronix.de>, Vlastimil Babka <vbabka@suse.cz>,
 Will Deacon <will@kernel.org>, Yeoreum Yun <yeoreum.yun@arm.com>,
 linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org,
 sparclinux@vger.kernel.org, xen-devel@lists.xenproject.org, x86@kernel.org
References: <20251015082727.2395128-1-kevin.brodsky@arm.com>
 <20251015082727.2395128-7-kevin.brodsky@arm.com>
 <73b274b7-f419-4e2e-8620-d557bac30dc2@redhat.com>
 <390e41ae-4b66-40c1-935f-7a1794ba0b71@arm.com>
 <f8d22ae0-4e36-4537-903f-28164c850fdb@redhat.com>
 <28bf77c0-3aa9-4c41-aa2b-368321355dbb@arm.com>
 <14030818-52e7-41eb-8ad7-602f3476d448@redhat.com>
Content-Language: en-GB
From: Kevin Brodsky <kevin.brodsky@arm.com>
In-Reply-To: <14030818-52e7-41eb-8ad7-602f3476d448@redhat.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 27/10/2025 17:24, David Hildenbrand wrote:
> On 24.10.25 16:32, Kevin Brodsky wrote:
>> On 24/10/2025 15:27, David Hildenbrand wrote:
>>> On 24.10.25 14:13, Kevin Brodsky wrote:
>>>> On 23/10/2025 21:52, David Hildenbrand wrote:
>>>>> On 15.10.25 10:27, Kevin Brodsky wrote:
>>>>>> [...]
>>>>>>
>>>>>> * madvise_*_pte_range() call arch_leave() in multiple paths, some
>>>>>> Â Â Â Â  followed by an immediate exit/rescheduling and some followed
>>>>>> by a
>>>>>> Â Â Â Â  conditional exit. These functions assume that they are called
>>>>>> Â Â Â Â  with lazy MMU disabled and we cannot simply use
>>>>>> pause()/resume()
>>>>>> Â Â Â Â  to address that. This patch leaves the situation unchanged by
>>>>>> Â Â Â Â  calling enable()/disable() in all cases.
>>>>>
>>>>> I'm confused, the function simply does
>>>>>
>>>>> (a) enables lazy mmu
>>>>> (b) does something on the page table
>>>>> (c) disables lazy mmu
>>>>> (d) does something expensive (split folio -> take sleepable locks,
>>>>> Â Â Â Â Â  flushes tlb)
>>>>> (e) go to (a)
>>>>
>>>> That step is conditional: we exit right away if pte_offset_map_lock()
>>>> fails. The fundamental issue is that pause() must always be matched
>>>> with
>>>> resume(), but as those functions look today there is no situation
>>>> where
>>>> a pause() would always be matched with a resume().
>>>
>>> We have matches enable/disable, so my question is rather "why" you are
>>> even thinking about using pause/resume?
>>>
>>> What would be the benefit of that? If there is no benefit then just
>>> drop this from the patch description as it's more confusing than just
>>> ... doing what the existing code does :)
>>
>> Ah sorry I misunderstood, I guess you originally meant: why would we use
>> pause()/resume()?
>>
>> The issue is the one I mentioned in the commit message: using
>> enable()/disable(), we assume that the functions are called with lazy
>> MMU mode is disabled. Consider:
>>
>> Â Â  lazy_mmu_mode_enable()
>> Â Â  madvise_cold_or_pageout_pte_range():
>> Â Â  Â Â lazy_mmu_mode_enable()
>> Â Â  Â  ...
>> Â Â  Â  if (need_resched()) {
>> Â Â  Â  Â Â lazy_mmu_mode_disable()
>> Â Â  Â  Â  cond_resched() // lazy MMU still enabled
>> Â Â  Â  }
>>
>> This will explode on architectures that do not allow sleeping while in
>> lazy MMU mode. I'm not saying this is an actual problem - I don't see
>> why those functions would be called with lazy MMU mode enabled. But it
>> does go against the notion that nesting works everywhere.
>
> I would tackle it from a different direction: if code calls with lazy
> MMU enabled into random other code that might sleep, that caller would
> be wrong.
>
> It's not about changing functions like this to use pause/resume.
>
> Maybe the rule is simple: if you enable the lazy MMU, don't call any
> functions that might sleep.

You're right, this is a requirement for lazy MMU. Calling enable() then
disable() means returning to the original state, and if the function
sleeps at that point then the caller must not itself enable lazy MMU.

I mixed up that case with the original motivation for pause()/resume(),
which is to temporarily pause any batching. This is considered an
implementation detail and the caller isn't expected to be aware of it,
hence the need for that use-case to work regardless of nesting.

> Maybe we could support that later by handling it before/after
> sleeping, if ever required?

Indeed, pause()/resume() could be used to allow functions that sleep to
be called with lazy MMU enabled. But that's only a hypothetical use-case
for now.

> Or am I missing something regarding your point on pause()/resume()?

Doesn't sound like it :) I'll remove that paragraph from the (already
long) commit message. Thanks!

- Kevin


From xen-devel-bounces@lists.xenproject.org Tue Oct 28 11:31:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Oct 2025 11:31:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152082.1482615 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDhuy-00079T-Ua; Tue, 28 Oct 2025 11:31:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152082.1482615; Tue, 28 Oct 2025 11:31:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDhuy-00079M-Ru; Tue, 28 Oct 2025 11:31:12 +0000
Received: by outflank-mailman (input) for mailman id 1152082;
 Tue, 28 Oct 2025 11:31:12 +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
 <SRS0=pDzw=5F=citrix.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1vDhux-00079G-WB
 for xen-devel@lists.xenproject.org; Tue, 28 Oct 2025 11:31:12 +0000
Received: from BYAPR05CU005.outbound.protection.outlook.com
 (mail-westusazlp170100001.outbound.protection.outlook.com
 [2a01:111:f403:c000::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 99aab60c-b3f1-11f0-9d16-b5c5bf9af7f9;
 Tue, 28 Oct 2025 12:31:11 +0100 (CET)
Received: from DM4PR03MB7015.namprd03.prod.outlook.com (2603:10b6:8:42::8) by
 SJ2PR03MB7449.namprd03.prod.outlook.com (2603:10b6:a03:558::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.13; Tue, 28 Oct
 2025 11:31:07 +0000
Received: from DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9]) by DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9%3]) with mapi id 15.20.9275.011; Tue, 28 Oct 2025
 11:31:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 99aab60c-b3f1-11f0-9d16-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=uLB5p2v8aBA12v2U9D2tsFZ/XSD4Hhsd8RLbe5iSnPawbkejYz5Rq6/dFZwoRHrUVmGRr5OJLSE/QAT+K0FBbeiFvFZSM6gF9FZ+tkhbI5d0QgjSAvKFyqF0mN5I2DBmc/lgprd7e7KfrLocPvoTCcTKjZVXaTjsXb7Q39sVc11yt9pfFnezz+X1TfuwGmLOzP4iYJZqlY2eIe5gL1lYiqfs1/il227rDbZbZgszCuP83/g/7ARhW9ZiP7pFiZt+LmDoLVPSbPiy3kQSoTAuENowE8189QiqK7sFdrWeHYaxj05G+FqtZAV6llTe6H8i2LIyckyLBHj0TdKyttTqAA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OYz626zqTaA3grBmEjuJFI5Yw0/PBemhQmTa8z78L90=;
 b=LztNoh08VwsZH4pxpcDNmelT4N9p/e5XXhFsdx7UyIsmAZOb4mDdvr0jAjycqPbj9895SCKrc/ww3JgVHhXMjHZvqlRRmKljJyDnL12HDq20W9dZUKT6/ZTd8ALjMmbRRZdoKhVOZx5L4T0fgAST7Hps2JCIG+HW69FZrGGj1CieIs9haHXy75S5GxCIHHL0/lXa/B1y010ESbqXKNW9xEEPD775h8ibkcv+hy7h4CJqxwf2Bk+wquY4E122rwStN3Z4/D7HUkVv0owKN73lbqvPf4jsPcAWjiYmJ+QV/HsHfvTDzVdQDKHGd6PRP+BPBDi+d3/QfIaw6tY0Cy/UNQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OYz626zqTaA3grBmEjuJFI5Yw0/PBemhQmTa8z78L90=;
 b=qnVaTIM4Z82aDmfWZp2P8FxB3zUQZNAEjtGyziNsfgoltvXTt3B4iCiG7t+2zfF9jzVfV3Qmb573chZTlHUAabrcljMEyf5//xq0tlpuNeCkJm0UYOQdAdSCT8sEO22CRQCr5JFdYOcRsOgBFVAORaCi9LNUEcFKtAiQ5E9zv1c=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <ad5d59cb-6208-40be-8212-9dbddbe2a8b9@citrix.com>
Date: Tue, 28 Oct 2025 11:31:03 +0000
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 5/5] x86/ucode: Relax digest check when Entrysign is
 fixed in firmware
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20251027221702.3362552-1-andrew.cooper3@citrix.com>
 <20251027221702.3362552-6-andrew.cooper3@citrix.com>
 <61fcf602-4a4f-4936-a346-a650115e838d@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <61fcf602-4a4f-4936-a346-a650115e838d@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P265CA0101.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2bc::10) To DM4PR03MB7015.namprd03.prod.outlook.com
 (2603:10b6:8:42::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM4PR03MB7015:EE_|SJ2PR03MB7449:EE_
X-MS-Office365-Filtering-Correlation-Id: 7a4b5f5e-e66c-48e8-d965-08de16157c33
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?ZjN2d011Y2I0UVBzaUUycVJSeGg5dDNtcW1ueG5IRG9mRkpjRU5tSWp4dXVt?=
 =?utf-8?B?b2JCTGtQd0hJRWJOdFE1WFFyTWoyaDFRcGZIVEJ1T1lqbExmby9mOGFlUHpS?=
 =?utf-8?B?TTdnQUY4Y0NPbU9RNHRFVFl2b1ZSd1YvdzFUazNUbVIvY2N6SGNHL04zenZL?=
 =?utf-8?B?UFlnZzNLdTduc1BsYWdQWC84Z1Z0YnJqaHEyMzJnNm82cW1XYjBJcS94WVZD?=
 =?utf-8?B?WVJVMGFwSXZ0UUl1aTFxOXhMUE94TDNQbGZvNGx4YzM3Z090bDcvdml4Wkxh?=
 =?utf-8?B?ZmV4UHVBeW54RVBkVWd6VUtLczF5ckgvNE1FVFZibTl3cytWNnA2TVBLUE1j?=
 =?utf-8?B?ZThFZ3djeXpDUnVUK2h1UUtycXV1UndsdjU4YVhROFZyeFYzbFZTYTN3ZlBZ?=
 =?utf-8?B?Z3paY3ZoQU9mTGFkTjhNT3FxZWpWWFlCNkIvNHNpN3cyQmxrSVhLNG9zenM3?=
 =?utf-8?B?TStydHYxVFUrcXhHL01kdWJLaHV5VHNvVDBSWmdHUGUyQTlCYXgxbndKWEZP?=
 =?utf-8?B?UmFrOWsyM2VTb2ZnY0lzUGphOEZVK2tMU1FDM01Tam8reGxTbFk5bGRDcEVB?=
 =?utf-8?B?YlZKSWlWd084QXNsRlp0S3BKbktKQ0gzUUtiQVpGSlBOZWM3WDVpeXFia0sw?=
 =?utf-8?B?Mi9VQlRDN0hxL2lRL1o2Y0FCbTM2aFpRSHNnT0tsRzIzRzhjNTh6S21HZzdG?=
 =?utf-8?B?RWxYSXdDTzVydjhnTVlGS2E1dTF4VVdZWXdWeFZBVVIrZ3BydC9Wczk4b2di?=
 =?utf-8?B?ZE5CNDN5dWZTQjR1TEs2dkxQUFdvRzROdDd4MFZSKzBqVjdTYjZVY1ovaFVq?=
 =?utf-8?B?MEh2aUtZM2tvblV5NHN3TWhSUkl5R045UklvWnF5djlkRDNpY0pKZkNIOG9N?=
 =?utf-8?B?dC9PSUV6eXE1WDlxRDM1c29uSFhJZXNyUGwvVkw3eGpDaGpTeFY0V2tGWlg2?=
 =?utf-8?B?TWxyYlBwM2NtKzNMc2J4enZqUkRENHFyY2Y4dlBYN242dUZSM0t2VTE4QlBh?=
 =?utf-8?B?S0xLWFhPSUxucHJocmNLOWpwTGExZng1aTRWTXN1QVJPNWdQRlV1UjdJT1Q0?=
 =?utf-8?B?L014K2t2MG9GWlB1ck9rRnh6ejRLV2Rpa1ovdUttUkV6T2U0TEQ3WmxDY0ZD?=
 =?utf-8?B?UG1ETGZSNE1lalA4blViUWtaTUFLRGFaSm9GUVJiUnFqdS9IQStWelBUdEJ4?=
 =?utf-8?B?ZG9GL2lGMllLZ2NEa0xEMTVOaERFb1J5dlgyMTQrVXVTd0NmNTZaTG9HL1Ez?=
 =?utf-8?B?cVNiWDNBdi9HRmdhUnlkRWFRS25sa3NWWjk5ekhkRnNkV1FXeGJvOVdVclVI?=
 =?utf-8?B?WDVtL2xwRUpVVGs0dVZTUFRWTmxQVWNwYy94Z0JVYU5valFhUnRJYWhTdXp5?=
 =?utf-8?B?K0RaVDlUY0lNN0w5a1c1emNVRzNBTjhpeDFPTjFNVjluZytKU0QxUWxQSm5a?=
 =?utf-8?B?ZzJNNVJoUDYxNE1UUmNWQXl0eHV1MXUyVnR5cndSSWx5WEUxV25NNDA5Qld2?=
 =?utf-8?B?ZVlhd3pWbWs3d1hNdlc0RjhCdU9sYUEwOU1QdWk0RzZMckI5c3N6eWVuZ1JF?=
 =?utf-8?B?TnBRZndKaDgrK0VsNUtrUzZuVEk5Snk2dzRtRTF2QitnQXhhWG9uNHZ3MVBw?=
 =?utf-8?B?bHM3RG5oU1E5SDM1YjNqa1JkT1RNUnprNm11MWExR0ludnR5QUwrMndoL25o?=
 =?utf-8?B?Mm5zNW1aTmJtSytRQ0V4QzFjdW80S0wrTEpsRFJ3czZwRDF3czNMQnp2WnBl?=
 =?utf-8?B?OEpEVHVtUUtYWFpRVm0vSUorODg3K2wveUc0VzVMVnFkNEIvM1ZCSVdseTJo?=
 =?utf-8?B?MUdVYmkxcEVPVDRXbDBjUTlqUDdraGNxRHRsVk5TQXJXTzJRRnI3RWthVFJa?=
 =?utf-8?B?amxoTUNnUG8wazExM29VODVwYlY2MEVTZTIzeTNVeWwzdUE4dWhrcUtuakRE?=
 =?utf-8?Q?oZFkSt0EbjXLqf1/Na6iOHwfI7ReaGA3?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR03MB7015.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SUNjM2NobFh6YWk5MzVIWmxJZGtrVkpVK1dsaW9OTWJHYzExQy9jeHp4UG1r?=
 =?utf-8?B?d29NeGlEM0pwOVVsTTk3dWhmOFcvRDYzZEJoRjQrNGo4RFFCVkg2eXIxc0oz?=
 =?utf-8?B?WGdmS3RnVUZ5dU5tZFJJejJUSWNoK0NPQVhyTjVOQUV2MlZWczc0T0wzL2xx?=
 =?utf-8?B?WEpLMzFQYmhDdzUzdW5hUjlEQ1E4c2c1VEszL2NRNWdvVnhlR2ptMEhZQ1h1?=
 =?utf-8?B?Qk5kaDFsSUhiZmpNYzdndzlCR2VjdVZIWHJSMC9jNFpTWllBM0wrOUw5Q0pa?=
 =?utf-8?B?QU5vVm0vSjFTdXQvaktjTkI1SG1QS2E5NWNBOWRmU3psNkdoQnNUekF1aVc1?=
 =?utf-8?B?bmJ6c2RtbjNsWXFTTlh2VFNvc3dya0hlVHQxVTlXOEY2ZENNcXljUm10UlU5?=
 =?utf-8?B?QWwxZ2U5a285UVQwN1pHTGFNNm9mdC9IY1I5UlBMcjlqYlVZK1JTWXlwRkZZ?=
 =?utf-8?B?Y2o1aVFKUTJGcjNGN2U2bjhZTDdUYkN2cXRmY1ZpRVlKVG5aemlCYy9ZaEdn?=
 =?utf-8?B?Z3B1YnpvWmpWcDZCM3JqdFNnUFZhMnBFKzhheUFqc05CUXdTMXozOUhGek0r?=
 =?utf-8?B?SzA0dFZNWk1kZmRLbVRPK0g1Tmg4bXVEcDVRZ2ZGNFhkKzVHb2llRUczRnIy?=
 =?utf-8?B?U0lUWC8xWnkrK2V0c1ZXaUQ1VkpXVEpDUTV5WWRQMnNnRzhaZTlwRHUyWmZD?=
 =?utf-8?B?R0JvWFdvNmI3UFlIUStrYTZNaFhtTVZNSElGNjBxL1hTLytodUR2MDFySW5p?=
 =?utf-8?B?Zy9FTlBwdFB1YzYvZmx1UjJGNzl1dTB4eEJyaUZsOTZwZjZqSmk4ZkFTTSth?=
 =?utf-8?B?V3dPUmdGbUQwOFdOMDUybjFNeFFIUTR0bU5XZC9uYVd0OTc2eEZveXdNK2dy?=
 =?utf-8?B?R0U5elp6a2ViemkzYk45YXlWOTV2eTgycld6WEFVcE1kWkVKRXg1RW96Y0g5?=
 =?utf-8?B?V1hLK1J6NFRnS0U3SDJKMEkzaTJudGpodWlPbjdydmVObENIQlh6ckVvdU9y?=
 =?utf-8?B?SnFFdHZBVVhJSmY5eUQrNUlCMERWb3hBQkRFUDViS04rT2NpWnF4QUJMSzNM?=
 =?utf-8?B?U3BTT2dkaVBKSUlNOXQ3bU12c3djVkdyY1daOXM5UEZDbHoremtWYnVhNmNK?=
 =?utf-8?B?UWl3NGZVMWN2MUFqbDVlZVJCeW5aTmIyV21TUVQxbjViS0dFaVRnYTBKMUR5?=
 =?utf-8?B?RUpmdG0yOW9GNU54b1ltYUdTL3hYTnBTK2doY0ZHUlBoYzE2VzB4ZTQxdy9C?=
 =?utf-8?B?QkRlVm9VOW1sZW5uVEJOODU4YzMveHJxMkVFeEVWcDc4ZDdLNk1uYXR5bmtv?=
 =?utf-8?B?VzVtNndJN2VlWHlZeFpHL0IyQW9Uck9hWHBwS05JNTAvekVxWE95aFhlOWg3?=
 =?utf-8?B?YzNOR2RBb2tEU0NISE9RM2s1QzhrWk1vbFU5K3NWcUJNcW16RVZ5UzJIUFhQ?=
 =?utf-8?B?MXorekNUZ1YxY3NmbkNZUmYvdFpEc2xrMlIxa1JlZlpybjNWSVRWTVhmSUVE?=
 =?utf-8?B?d3phdEFxRXdqM1pvSkZERVFndkhUcTE2WE5RVE54bHg4ZEQva0tlR3F0T3Vv?=
 =?utf-8?B?azc1aGRMWThSWXlDUUpTTFVONkdqZkZrZmo3KzN0dGlkc09FWDd5OUYyZVRJ?=
 =?utf-8?B?cW1yS0Q2RmtNQVUvanhFVjFhVlJxSU9ZSjA1UGJTOThKdGE1SWk4b2Evd2Fq?=
 =?utf-8?B?SCtNWnppSEdpNkJtaytYeUtZNk1mYlBDeTVJektwMHB0Tyt3cGJIREtudEMw?=
 =?utf-8?B?d0pXejFXZXlRekt3WE9JV1F1REEyU0tEK3Fuck9sUTN6c0xhU1Q0aEQxdXZX?=
 =?utf-8?B?OFlQYzdLYjcyZ2NVWlpTRmx5Zm1iOXRvK051bjBCMlhHT1dXdlJlMi8zVkxU?=
 =?utf-8?B?b0VnckViSit4K1B5QzQ2V1I5cUtDbVpseVdKNDdpNzV6d1A4TGNVU3pvTzBz?=
 =?utf-8?B?V2VDN3kwTEpYSVpHVTdmN2t3M1ZnVk9ZWWxCc0J4Y1J2b29GT3huZDJjRStR?=
 =?utf-8?B?MHI0Qm1ZczB6U2FlOXNpZmRJNGI0QW1JL3QyNDBTYzVoTi9vNnd4UkZwb3N0?=
 =?utf-8?B?SEJ1Z1dUVlF3MWdTY0JheTk3UmM5RTFSY0ppZVNEazlZalU0RGswL1lTT3Zp?=
 =?utf-8?B?cVduU2k1SGxySDZMWG5uZ3E5QjVqY1NrbTMvKy9OTjhLVThJUCtWRlFPWDNa?=
 =?utf-8?B?eEE9PQ==?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7a4b5f5e-e66c-48e8-d965-08de16157c33
X-MS-Exchange-CrossTenant-AuthSource: DM4PR03MB7015.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Oct 2025 11:31:06.9166
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: IDAu8X3FmNuy9j9GLYM8NK4YMl6LrcRVFcUy/MLvLNwlqVZGczY+EZqMFo0b+y1wf7VIQERgDE/tjSDuFZLGGp2lpTWv80BgmKMAeZic/j8=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR03MB7449

On 28/10/2025 9:47 am, Jan Beulich wrote:
> On 27.10.2025 23:17, Andrew Cooper wrote:
>> When Entrysign has been mitigated in firwmare, it is believed to be safe to
>> rely on the CPU patchloader again.  This avoids us needing to maintain the
>> digest table for all new microcode indefinitely.
>>
>> Relax the digest check when firmware looks to be up to date, and leave behind
>> a clear message when not.
>>
>> This is best-effort only.  If a malicious microcode has been loaded prior to
>> Xen running, then all bets are off.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Like for patch 4, adjustments for Zen6 are then going to be needed here too,
> aiui. May be worth repeating that statement here.

Ok.

>
>> @@ -603,3 +604,82 @@ static void __init __constructor test_digests_sorted(void)
>>      }
>>  }
>>  #endif /* CONFIG_SELF_TESTS */
>> +
>> +/*
>> + * The Entrysign vulnerability affects all Zen1 thru Zen5 CPUs.  Firmware
>> + * fixes were produced from Nov 2024.  Zen3 thru Zen5 can continue to take
>> + * OS-loadable microcode updates using a new signature scheme, as long as
>> + * firmware has been updated first.
>> + */
>> +void __init amd_check_entrysign(void)
>> +{
>> +    unsigned int curr_rev;
>> +    uint8_t fixed_rev;
>> +
>> +    if ( boot_cpu_data.vendor != X86_VENDOR_AMD ||
> Given the function name, might this check better live at the call site?

Possibly, but I really don't want to split the vendor check away from
the family ranges.

A family check without a vendor check in eyeshot is
suspicious-going-on-buggy, and this is called once at init.

>
>> +         boot_cpu_data.family < 0x17 ||
>> +         boot_cpu_data.family > 0x1a )
>> +        return;
>> +
>> +    /*
>> +     * Table taken from Linux, which is the only known source of information
>> +     * about client revisions.  Note, Linux expresses "last-vulnerable-rev"
>> +     * while Xen wants "first-fixed-rev".
>> +     */
>> +    curr_rev = this_cpu(cpu_sig).rev;
>> +    switch ( curr_rev >> 8 )
>> +    {
>> +    case 0x080012: fixed_rev = 0x78; break;
>> +    case 0x080082: fixed_rev = 0x10; break;
>> +    case 0x083010: fixed_rev = 0x7d; break;
>> +    case 0x086001: fixed_rev = 0x0f; break;
>> +    case 0x086081: fixed_rev = 0x09; break;
>> +    case 0x087010: fixed_rev = 0x35; break;
>> +    case 0x08a000: fixed_rev = 0x0b; break;
>> +    case 0x0a0010: fixed_rev = 0x7b; break;
>> +    case 0x0a0011: fixed_rev = 0xdb; break;
>> +    case 0x0a0012: fixed_rev = 0x44; break;
>> +    case 0x0a0082: fixed_rev = 0x0f; break;
>> +    case 0x0a1011: fixed_rev = 0x54; break;
>> +    case 0x0a1012: fixed_rev = 0x4f; break;
>> +    case 0x0a1081: fixed_rev = 0x0a; break;
>> +    case 0x0a2010: fixed_rev = 0x30; break;
>> +    case 0x0a2012: fixed_rev = 0x13; break;
>> +    case 0x0a4041: fixed_rev = 0x0a; break;
>> +    case 0x0a5000: fixed_rev = 0x14; break;
>> +    case 0x0a6012: fixed_rev = 0x0b; break;
>> +    case 0x0a7041: fixed_rev = 0x0a; break;
>> +    case 0x0a7052: fixed_rev = 0x09; break;
>> +    case 0x0a7080: fixed_rev = 0x0a; break;
>> +    case 0x0a70c0: fixed_rev = 0x0a; break;
>> +    case 0x0aa001: fixed_rev = 0x17; break;
>> +    case 0x0aa002: fixed_rev = 0x19; break;
>> +    case 0x0b0021: fixed_rev = 0x47; break;
>> +    case 0x0b1010: fixed_rev = 0x47; break;
>> +    case 0x0b2040: fixed_rev = 0x32; break;
>> +    case 0x0b4040: fixed_rev = 0x32; break;
>> +    case 0x0b6000: fixed_rev = 0x32; break;
>> +    case 0x0b7000: fixed_rev = 0x32; break;
> Acked-by: Jan Beulich <jbeulich@suse.com>
> (after cross checking with up-to-date Linux, i.e. including your recent
> correction there)

Thanks.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Oct 28 12:46:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Oct 2025 12:46:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152098.1482626 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDj5C-0007Ny-83; Tue, 28 Oct 2025 12:45:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152098.1482626; Tue, 28 Oct 2025 12:45:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDj5C-0007Nq-4o; Tue, 28 Oct 2025 12:45:50 +0000
Received: by outflank-mailman (input) for mailman id 1152098;
 Tue, 28 Oct 2025 12:45:48 +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
 <SRS0=/ld8=5F=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1vDj5A-0007Nj-HF
 for xen-devel@lists.xenproject.org; Tue, 28 Oct 2025 12:45:48 +0000
Received: from OSPPR02CU001.outbound.protection.outlook.com
 (mail-norwayeastazlp170130007.outbound.protection.outlook.com
 [2a01:111:f403:c20f::7])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 040c81d7-b3fc-11f0-980a-7dc792cee155;
 Tue, 28 Oct 2025 13:45:43 +0100 (CET)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by GV1PR03MB11029.eurprd03.prod.outlook.com (2603:10a6:150:281::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9275.12; Tue, 28 Oct
 2025 12:45:36 +0000
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593]) by AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593%3]) with mapi id 15.20.9253.017; Tue, 28 Oct 2025
 12:45:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 040c81d7-b3fc-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=RYtZCIGUWjoqZOGAzplw9IHHRl7gyvW59rX0fZCq1pCVVghbNUByKIRfwae1eKaqvqmFYUUfSabyIkdYdcI7XsST5iGRPlx/dM4SCzmJibu4w3Ss8P0pbcERVUsgZsHwe1Q+xGIw15bCjFL+SFj2xW85ay6lV+8WsheTG0/v6U/WpTba9EnUpodTGMExNeYCtYXxsrVUsskWaPkas27zHgPlusy8de8lYkWdZXVtkzPFwCy2AW90mR/RHniWx3zGDBobXIq316XSulxEhpk5SryCBFIPa8EfqYtJSyucggm8lsooao5Rp6UiTDpJ1jV4u0lAnhYBnmibgAHMir+X+Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WTvnQvUBqwSqQJ7zORi1lY85P/9OGQ38YeFEP7zBOXE=;
 b=pTJwWptQUzsuSwfEcECZp/ehPF7tt06qrb0gZv7gk1KgKzgGy4FYl33Po/aDKjpkd43xI+Bok7BtWkf96TL/Y/ftBaYFGjEadiKNLhyf0Ms2fcFSG4k8TQCA7Pc8sD8M5e+PCUgKVKaDvb1LhPFi0KW+0F5kEDJb+PPXag5aavEFxqrsghCC53IkN/MfS2KdcXmtI7jt5LyxjYzcz4HY+1i/62udIwhOwC/3Jcif4Gs58iZajMQw1UJyL31iaq5/DSrCI3YGrdjJdIMN1YMoMRFW0ft6NYRVbX5zjT+Tu8sDkXHrou9TBW4qiHuSHmUt89bVxqanLXULuynk/N+Mbg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WTvnQvUBqwSqQJ7zORi1lY85P/9OGQ38YeFEP7zBOXE=;
 b=domevFh0ZNdAktB1UtQhbObIkrVEioUtGFnCe6X9I1MMGuD757VZi243/4MtmjLCDFeDsoWeaBUGoQuY4FeTXSxrgQulW2Y3sIdKmZZ6NkHN15v1Ty34hPwnFl3nqVJOzFyElQt1A2GzY1qK6+KphqSNxi1nTJ2hfWi4Q5brbt1cZFnVIJaxTanu8raeFyJrXAtNNsMinvyWq8q7gANUkikvz/zbxDDD6HleARQZfncuH59KDosdzRI1xGfPbicwfaYoSb1uGonGfEu6FvdT6Hd+likOVIXu3OvT5kpjXIO6+SKrYIz74TgBplUqehsgXheltQ4FK37iBMAVuFuEVA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <4059d1dd-4e5a-429c-96dc-e7d81f4af7ab@epam.com>
Date: Tue, 28 Oct 2025 14:43:24 +0200
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN][PATCH] x86/hvm: move hvm_shadow_handle_cd() under
 CONFIG_INTEL_VMX ifdef
To: Teddy Astie <teddy.astie@vates.tech>, xen-devel@lists.xenproject.org,
 Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Jason Andryuk <Jason.Andryuk@amd.com>
References: <20251023151903.560947-1-grygorii_strashko@epam.com>
 <eaf5e6bd-e7b8-4a3d-8b5b-33d1a9630619@vates.tech>
Content-Language: en-US
From: Grygorii Strashko <grygorii_strashko@epam.com>
In-Reply-To: <eaf5e6bd-e7b8-4a3d-8b5b-33d1a9630619@vates.tech>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR4P281CA0173.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b7::16) To AS2PR03MB8907.eurprd03.prod.outlook.com
 (2603:10a6:20b:5e4::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS2PR03MB8907:EE_|GV1PR03MB11029:EE_
X-MS-Office365-Filtering-Correlation-Id: b4911673-1cdd-467d-bb13-08de161fe3b8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?VEROOGQveVRwa1oyTjQ5UVBnbUMxNnM0UkN2WVRJNnVNZzRCdGVwTjhablFh?=
 =?utf-8?B?d1JNWkN0NkFPNDFFWlFmc2phQ3NpbUJudG1DSWJtckdrRFhseHpvU3RKVHE0?=
 =?utf-8?B?VWxjY0tFMnR3RGx3NDVNR3RvN3ZrTXVRWnRybXM4eEJBMkhUYXZtdmF1WHpr?=
 =?utf-8?B?VkJzZ2VJZXJIUm1mUnN3aUJnY2dyMXA1blZ2dFBkdzZOMTc2bzFBWGJwY1JI?=
 =?utf-8?B?N2o3L01nYU9JY1NZSXIzS3FiZmZJTFVyNlhtM0NJTVBLd1NVWFM0VmhzNU1s?=
 =?utf-8?B?ZEw3eUpwM0dCSCtGK1JTNjBpSG5XcXMvVXlHUnlyd0JCdDZhY1JCRTlVM1h3?=
 =?utf-8?B?UmVQMyt2YitaMHJxOGx5bWgxM0JCY1Qxc2VMRFlmU0VuU1VuMmZjdmRkbEJy?=
 =?utf-8?B?OEtRWnJDZHhRaWMxZzhZbDIwSEwzUnpEa2V3N2dxRzNEV1FtdU1hNXJKYVN5?=
 =?utf-8?B?dWI4VTNyZERValBPRnQ2Tmp5ZU5FUDd3aXdSK1o5QlNQVy9namQ0ODFGMFNa?=
 =?utf-8?B?UFdXajFJeWlnSkd2K0tpYzhUVXUzR2N6Q1Y0clZZV3hnTWYwV29BQjNvYjRv?=
 =?utf-8?B?SzBoSWY4b2ZvRXdkTzlmYXNBSXdXT0dJck5tSU9sdEc1Yzk3QVE1TEFIVTJZ?=
 =?utf-8?B?ZE9ZUGRsaWJxaUtqZ3gyMHZYbm4ybE56MmQrMjZ5OW93aTlhVERXZU9LNmp3?=
 =?utf-8?B?R0YvMERaYk9sRVJTYmtldnlOK1VoSGpBc0g5Tkw2cUlxKy9JdDZzaXNCUnVI?=
 =?utf-8?B?Q0hHbUNYRlJHZUpyZ0JZdTBZWHVRZWg2bXU5dlMvcW0ycnYvdytCcTR3N29y?=
 =?utf-8?B?NFpFeCtmNWhicEZ3QW95cVdsM2NxcGtEQlZneDRzQndLL2J4MXRkZmY2UVRC?=
 =?utf-8?B?YkhjekRDeVRDajlBblFKb0pySnk0bDh3dmRTdGZ5K2laeWMvUUhIcTlCd3FK?=
 =?utf-8?B?QkFpUkVMRW1lV3MyVGYwY05mWkllV3VVWlFlZG1FS2ZYcHk1b3kvd3QyWHhO?=
 =?utf-8?B?OGtOL1lQRW9hTkxCZXhXN0JYTHRuVjJ4bERpdGFZYkZYcTEzK2JsLzlKcVRE?=
 =?utf-8?B?ak92Nk16UjFKcG0wWFZTVFJFSlRmMWR2ckhOTmZoSWpIeTh3MlNEZld5M3JZ?=
 =?utf-8?B?N25melpJREIxcTZqczhzMXV5UHZzNE9NZnJmU3ZyNWtEbnlOcHFpYUNVYzFl?=
 =?utf-8?B?ekZNYkhiQkR4R1lRRGEvMnlVOXN5ZUk0eHBtckNGT21sV211UlBBc2FzbjAy?=
 =?utf-8?B?YW4yWitEZWhGK3hGVStkdklPY3l2Q0dmZFVYamlpaFNxT3JmUG5IejgrVG1O?=
 =?utf-8?B?aFgzSGxDK2FJM2JvZHpjRUFJcFZHcEhzNE5oaDE4NkNLNEplODZDdklKNUVj?=
 =?utf-8?B?Ym5EWDlSbEk2NldkbTBIZFJrbm52VjdMTjUzOWhCcmxPbldvMzV3OThIQ043?=
 =?utf-8?B?bEhEMVJ6cFpaYzlyWDZ1N0h2eFdTcUlDYm5pNXpDekNJczlDd0JiRU1YZkRC?=
 =?utf-8?B?VFlDK0pVUVFXUFdOZ00vR3g4eTJLS0lXMGxXbU53Rnc5VWJ6YklnbGZ0d1Fn?=
 =?utf-8?B?VDJNN3V2SEpEVitXNkllYlRsVTJROUtBNTgrTmp5K3Q5cnkyRi85dVlrazBv?=
 =?utf-8?B?SGMxU2RJQzN5MWg2R1dqZjUzNURVaGRmQUpBbmhubk9pNGcvTEFWTWlQWTA5?=
 =?utf-8?B?TjBVSHpaMjQrK1pWMEZEZjM1QVRWYkpkR1RuSUJJWmhXNnFnQmFPY1V1eUxU?=
 =?utf-8?B?UlgzdkE3UWpjTnU5dGthREdyMFhxWTJsRUdNQUVsTmhhb0dFQS8rU29DZVVy?=
 =?utf-8?B?TFBybEZTQWpvbnNVYUY2UkNjT0xTTERpRzFQZXFIbWJFS0oyd2svakdLeno2?=
 =?utf-8?B?clJVbDJ3RVU4SEYwU2hlYlp5V1B2MjAyVEpGWmFBYVZWWE52MjlnR0NoMFZC?=
 =?utf-8?Q?wdsYinfrVWoVYDgvzA97CLlxn3zVQDtq?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS2PR03MB8907.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TERuNlBvUkJUdnVzelhLUVNxZWdMVFdMU0EvNjc1eC9TaXdwSUlWTTB3VnBO?=
 =?utf-8?B?ajcvaTA0R0MrR2w0VldsemtuajM4djJzT2dnNEplZ0QxUCtubVVnd05TU1I5?=
 =?utf-8?B?SVpNZXU3UXYxemN0OCtiSVZqQXUrQ0hXcmNEMEtCa000TmFxSmN6d0dGZFl5?=
 =?utf-8?B?MWNHVHlDTVJ0TG01bFBMYnd0anMzZXpYODJxSFpaMW4xRXp0U25yM3lzbDkv?=
 =?utf-8?B?MVJ5S1cwWm1ncEtLdXdrVlczOW1KMmJGRGJ4RkE1U1hqM3Y5andCdXphRUxP?=
 =?utf-8?B?SWFHc2htOTZFd2RnNkVKMlhZWUtXcjlhRVArUkFPdmw4bjVZeHExZ0xDbGR6?=
 =?utf-8?B?c1F3OWpiQ0dSc3h6MzE4aGIrWmtvVG04M1hiM1BMZU1vY3pFRzVzTEVvSEJB?=
 =?utf-8?B?bUl2TnJyK1ZRZWJjWCt0QmIwdzVmM2dKaXVxMnFMZXN3THhHZVVINHlPVEFx?=
 =?utf-8?B?SWdMRU53eTQ4bXE5WnM2TEs3M1Yyb0M2cXdrUk5DcnlNYktXd0gzWFJJQWkr?=
 =?utf-8?B?eEtYN1AwTmxoRXRVUnluMk5DWTFHNVZnNVluVGljWndvVm40am1OTmNNNUh3?=
 =?utf-8?B?ZlAyWEtoYnFsbHMwR01EbDZsM1FWUkNDU295aUp3R0J0UW1UOHZsWkZFVjlk?=
 =?utf-8?B?cjFjV1BkeDFwUERsVWIwTHFiQlFWdjZtaE9jTzBuZVRwN0N6Wlc4QW9BYWRI?=
 =?utf-8?B?TVFPQm9scG5TVnozWUNmbFRrVnNhTGhJK3JDZTBqYkNzOTc3WS9hOXZ4aDZs?=
 =?utf-8?B?RU0ycUNvb25waWc3d1BRbXgzWVJhcnA3TUg2VmZyR1dRdS91OS9mRlNwNFFV?=
 =?utf-8?B?OWFNK0tJc2lQQUxPSWNLTWNhSDBVU3ArNFRvK1FrMG9wV2dSR0U2QVhrajBG?=
 =?utf-8?B?aC9qaGk5THptenQ2M296V0FLRzJOM0Z4VlVYOGFWeGlnSU41Yzl6R0wzVmti?=
 =?utf-8?B?azBnZHV6MGxVTjJQVmk5S3RiTVVoZC9BMWU0bjZjT3FWSHV0dlNoTjVWNW01?=
 =?utf-8?B?S3Z1Si9QbS9pV0wxVTZ1cXk4cWVSWnozRFhEeHlrdWxRWGlaVGV0aUgzMHVU?=
 =?utf-8?B?S0FGRDJReHN2VEc3eFduc29UTmhwbjZQMG1ISU1nRnNTbzdhbVJYT3o5SjRu?=
 =?utf-8?B?ZlhxaU9EWklpTEI1VVZHOTdOajJobVZybXFoQlFDbW1xTmU2aTBXY0o2clpT?=
 =?utf-8?B?WG5IVnRDYklHTktySHVYT2xkaHUxYXlaRmpYSWZTandkTjVuS0Z0STBaUmZx?=
 =?utf-8?B?NnEvOWRBemo3dnNybXhGM1B2ODRqL2I1eUVadS9INnR1YXVaUm45MEZocEFr?=
 =?utf-8?B?ZVc3Sy9rVXBkeDhLWnFSbEVBaTdZYytsRVdkMEJvK0RZa2wyYndWV04ydFJI?=
 =?utf-8?B?WEQ3dUxtdkQ5dHU0UXZKbzc3UStLWFdHY1ZUWEptRzBwQXJybkl4OXFwNGFv?=
 =?utf-8?B?VGFIcVJ4VEhVZmhWdnErdmxxcDFKVitXcmJDUXlLWks2Unp5SlBGd3o4UGpw?=
 =?utf-8?B?bGlOV2hKaEEvcFFxaC9SSzU1MzZyTDEzcHpWc3F3L25QSHRSYnZXU0tFZkRD?=
 =?utf-8?B?WHJjdlNNK1ZCMU1Fd2JveVFXMXlpSGdGTERUbU5MVlVPUE13elBVcGo4MVJB?=
 =?utf-8?B?WEhERUczSndWMGxzenF3TTg1NHpvWnUwQzNVNWxhMWxhckNZL3o5cms5MlJR?=
 =?utf-8?B?K3ZLTVpnNll1Q1o5MC81akU3cTZ1M0hqVlJ6MWpBUERvNVhZYzhYQkdha3hj?=
 =?utf-8?B?N0hwREk0VGNQQUIvYXNDQjBUbzhTYXp1QkdFeVczVEdrRjA0eVVXajE2QlhO?=
 =?utf-8?B?V1lyaEtkaWhyS1FwMlRQL08rbWlGaTFMTVl3MFE5RC9pME9QTG9nekVaSEdE?=
 =?utf-8?B?Nk1ZVUR1Y2tWY3MvaGE3bHZIY3lwWDJrSFJWRHAvcll2Q2RxNyt6Z2E1a2Vr?=
 =?utf-8?B?Q1luejJvdGFVaU1TVGovTE1KU0tpVUxPeFVmTkhPd2JGejVFUUE4N1AwL0RR?=
 =?utf-8?B?ZFdEQ1pRM2ZSeGJIbE1GcSt6WXlQL2ljQ2FlbHVjZ1pjN2ticFpGQ2svU2V4?=
 =?utf-8?B?RFg1K0ZBeEpVYlIybnR1R3FUL0JlTkJNK0duMDFxa3h0OGpGRTBOUHBKM1A3?=
 =?utf-8?B?VWFKOHB5ZXZHazVlK3VxMXJORTFzR0JmelZvM3VJU0ZmVXc2c1JNcGRWc0dv?=
 =?utf-8?B?K0E9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b4911673-1cdd-467d-bb13-08de161fe3b8
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Oct 2025 12:45:35.5587
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: rNGfWylvaBpFxhF2HA+ye5aFus70Ku/6rWtzGN70wfOXZg+ZTHHOFynvg5BIrwz6js8m+Yo4yvBa1/VBAaRHuuFfyswzB34lu99KqDBc9SE=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR03MB11029



On 25.10.25 21:10, Teddy Astie wrote:
> Le 23/10/2025 Ã  17:22, Grygorii Strashko a Ã©critÂ :
>> From: Grygorii Strashko <grygorii_strashko@epam.com>
>>
>> Functions:
>>    hvm_shadow_handle_cd()
>>    hvm_set_uc_mode()
>>    domain_exit_uc_mode()
>> are used only by Intel VMX code, so move them under CONFIG_INTEL_VMX ifdef.
>>
> 
> If they are actually Intel VMX specific, they should rather be moved to
> VMX code (and named appropriately) rather than if-defed in shared hvm
> code. If AMD code happens to need these functions in the future, it
> would make things break pretty confusingly (as headers are not updated
> consistently).

I agree and like it even better. Can try if there is no objections?

There is hvm_prepare_vm86_tss() also which is also used by VMX code only.

> 
>> Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
>> ---
>>    xen/arch/x86/hvm/hvm.c | 50 ++++++++++++++++++++++--------------------
>>    1 file changed, 26 insertions(+), 24 deletions(-)
>>
>> diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
>> index f1035fc9f645..3a30404d9940 100644
>> --- a/xen/arch/x86/hvm/hvm.c
>> +++ b/xen/arch/x86/hvm/hvm.c
>> @@ -2168,30 +2168,6 @@ int hvm_set_efer(uint64_t value)
>>        return X86EMUL_OKAY;
>>    }
>>    
>> -/* Exit UC mode only if all VCPUs agree on MTRR/PAT and are not in no_fill. */
>> -static bool domain_exit_uc_mode(struct vcpu *v)
>> -{
>> -    struct domain *d = v->domain;
>> -    struct vcpu *vs;
>> -
>> -    for_each_vcpu ( d, vs )
>> -    {
>> -        if ( (vs == v) || !vs->is_initialised )
>> -            continue;
>> -        if ( (vs->arch.hvm.cache_mode == NO_FILL_CACHE_MODE) ||
>> -             mtrr_pat_not_equal(vs, v) )
>> -            return 0;
>> -    }
>> -
>> -    return 1;
>> -}
>> -
>> -static void hvm_set_uc_mode(struct vcpu *v, bool is_in_uc_mode)
>> -{
>> -    v->domain->arch.hvm.is_in_uc_mode = is_in_uc_mode;
>> -    shadow_blow_tables_per_domain(v->domain);
>> -}
>> -
>>    int hvm_mov_to_cr(unsigned int cr, unsigned int gpr)
>>    {
>>        struct vcpu *curr = current;
>> @@ -2273,6 +2249,31 @@ int hvm_mov_from_cr(unsigned int cr, unsigned int gpr)
>>        return X86EMUL_UNHANDLEABLE;
>>    }
>>    
>> +#ifdef CONFIG_INTEL_VMX
>> +/* Exit UC mode only if all VCPUs agree on MTRR/PAT and are not in no_fill. */
>> +static bool domain_exit_uc_mode(struct vcpu *v)
>> +{
>> +    struct domain *d = v->domain;
>> +    struct vcpu *vs;
>> +
>> +    for_each_vcpu ( d, vs )
>> +    {
>> +        if ( (vs == v) || !vs->is_initialised )
>> +            continue;
>> +        if ( (vs->arch.hvm.cache_mode == NO_FILL_CACHE_MODE) ||
>> +             mtrr_pat_not_equal(vs, v) )
>> +            return 0;
>> +    }
>> +
>> +    return 1;
>> +}
>> +
>> +static void hvm_set_uc_mode(struct vcpu *v, bool is_in_uc_mode)
>> +{
>> +    v->domain->arch.hvm.is_in_uc_mode = is_in_uc_mode;
>> +    shadow_blow_tables_per_domain(v->domain);
>> +}
>> +
>>    void hvm_shadow_handle_cd(struct vcpu *v, unsigned long value)
>>    {
>>        if ( value & X86_CR0_CD )
>> @@ -2306,6 +2307,7 @@ void hvm_shadow_handle_cd(struct vcpu *v, unsigned long value)
>>            spin_unlock(&v->domain->arch.hvm.uc_lock);
>>        }
>>    }
>> +#endif
>>    
>>    static void hvm_update_cr(struct vcpu *v, unsigned int cr, unsigned long value)
>>    {

-- 
Best regards,
-grygorii



From xen-devel-bounces@lists.xenproject.org Tue Oct 28 12:48:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Oct 2025 12:48:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152107.1482635 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDj7i-0007wi-Lt; Tue, 28 Oct 2025 12:48:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152107.1482635; Tue, 28 Oct 2025 12:48:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDj7i-0007wb-Ih; Tue, 28 Oct 2025 12:48:26 +0000
Received: by outflank-mailman (input) for mailman id 1152107;
 Tue, 28 Oct 2025 12:48:25 +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
 <SRS0=nGJv=5F=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1vDj7h-0007wT-Pz
 for xen-devel@lists.xenproject.org; Tue, 28 Oct 2025 12:48:25 +0000
Received: from mail-lf1-x129.google.com (mail-lf1-x129.google.com
 [2a00:1450:4864:20::129])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 642027ef-b3fc-11f0-9d16-b5c5bf9af7f9;
 Tue, 28 Oct 2025 13:48:24 +0100 (CET)
Received: by mail-lf1-x129.google.com with SMTP id
 2adb3069b0e04-592fa38fe60so7025214e87.3
 for <xen-devel@lists.xenproject.org>; Tue, 28 Oct 2025 05:48:24 -0700 (PDT)
Received: from gmail.com (213-67-3-247-no600.tbcn.telia.com. [213.67.3.247])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-59301f5098bsm3042698e87.40.2025.10.28.05.48.21
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 28 Oct 2025 05:48:21 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 642027ef-b3fc-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1761655704; x=1762260504; darn=lists.xenproject.org;
        h=user-agent:in-reply-to:content-transfer-encoding
         :content-disposition:mime-version:references:message-id:subject:cc
         :to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=Pucb64fBJWr4+y9UVYKlttRFUeMCsZ8bQOysNcf5NkE=;
        b=SWIQjghOTqzXCL+zMR7FMOEucGT6OY8GPYfhAkN0jX6Ew5WvpxckcyBW0++OzuOMzP
         QXmw+8TnAfmfdYh1igbpZRT8gblKG+w1mwh1Tw4L/BM+mSNLGRT8035wCdicpZMjOGwJ
         Eh2uxWp9+hXTuZzBj+l+Q0HNHsL0v5dFE2E34/oMaUh8gZcEp+FuDTjd1Mp8FQGxCszH
         VsNwQ6RW+IEVpbufy69d3RJXKyworqymlumNvwzzoaADaYPPo5jaJeeHekHTNSb3QCK+
         1NmxhQWVs3FbVDHnzuFTwHR+LVajzZrDThZfII6ueG08cmPGfcZDMfygVafHMdzaGGNI
         ri5g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761655704; x=1762260504;
        h=user-agent:in-reply-to:content-transfer-encoding
         :content-disposition:mime-version:references:message-id:subject:cc
         :to:from:date:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=Pucb64fBJWr4+y9UVYKlttRFUeMCsZ8bQOysNcf5NkE=;
        b=OlP3Hgq1V2sKZAmbCnNVglMzkor+WXrE/G0tyYYZbcgAYwVmdav/D1rDah2kSrK8Cw
         5axHC60bR3TEB/srBIcsBrlkJTdhuU+VTTz4y7JjMONHyp+Jt8sHfsXN2EamBAgm4lHl
         TetYMLQ81NfombWpBsqYvzDlrthYRKmmlP2k1pQHTJxoPuWTvXt9Hr5TDB2phHgDWPY/
         xSn38uLXu2Fd19ro8iyAoEdHwsclpR/5xfENPIJamUwKlQYduTCCb6IJxEgoRVm0vDVM
         z/Xyibx6wJRFi6FbJQEvmBJPSBk21NvROS+RQg6+I6bUNYljr0R39Pp0CeF7N+sCl93O
         DcRA==
X-Forwarded-Encrypted: i=1; AJvYcCX/7D77tS3OgEmYK6rgt8caen6sc3t1U/N8/ZjaUcx10csBckp+AcBpqVJLBAOiFS0WQu8vQWNXN2k=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy4uN7Lbt4A6B+FaOTQNUzr7fAyyf8KADP0/4Nl+az91Lgohzox
	uebaSMUM+uBeK6cNTspN61PsrvpXPvJ+7DyQATqw3MoN1yM+8NyGFPCs
X-Gm-Gg: ASbGnctxBo66EXFef/CQt75Wd9anAmB1C4a/nBgtli22kX8D2hVC/RJF3jIiqAhh2yG
	z39FHXsQnPksLe01SDxfXOE9i6Njq0+bSpodzMO/x7ezPm7CUbdZfHVS4Hbmcs+5GA7bHE84Vmk
	8XVoqjV8i5wW4M2k347nje+Hh7XrSm4jm7FFEao7sC5LHcjFzhEZJIM8p2noCeNY/TEJ3iWD5aq
	PgZMZOBmv/rbIx2a1VhtCvN5rr+xdbc2HS2PWW/bJocBtY6zBRJ0ebi5Rvy3Z0uGU31Wg1J/W2Q
	2x82/QlsEB4YZoJl3F9J6A3JpgLlw2GYDQhFyQjoCf+F8qC+mey+pPMzAGjpxzmI4z/Dyp45rGd
	965a749XcrW4GPGyyBN/vM0s9eByJe8AMVMoDgNzlE275LTB6/N3fZbf/ceHzJMj1r1MP1ABraX
	16S15QJ0bRYjnSHebycVhgARhQokgACbYt/z/hMoCdwH5nCJM=
X-Google-Smtp-Source: AGHT+IF6ccHGzuzxNm7+bHl7g/7fMJDKTL+xoHfyAW6ncH9aLVAwNW32+RfTkPnTLRjRK6Csu5NkiQ==
X-Received: by 2002:a05:6512:238a:b0:592:fc21:bc15 with SMTP id 2adb3069b0e04-5930e9dd032mr1404878e87.45.1761655703317;
        Tue, 28 Oct 2025 05:48:23 -0700 (PDT)
Date: Tue, 28 Oct 2025 13:48:20 +0100
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: Philippe =?iso-8859-1?Q?Mathieu-Daud=E9?= <philmd@linaro.org>
Cc: qemu-devel@nongnu.org, Anthony PERARD <anthony@xenproject.org>,
	xen-devel@lists.xenproject.org,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>,
	Paul Durrant <paul@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anton Johansson <anjo@rev.ng>
Subject: Re: [PATCH 1/3] hw/xen: Use BITS_PER_BYTE & MAKE_64BIT_MASK() in
 req_size_bits()
Message-ID: <aQC7lEwW9pSmCtIx@zapote>
References: <20251022140114.72372-1-philmd@linaro.org>
 <20251022140114.72372-2-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20251022140114.72372-2-philmd@linaro.org>
User-Agent: Mutt/2.2.14+84 (2efcabc4) (2025-03-23)

On Wed, Oct 22, 2025 at 04:01:11PM +0200, Philippe Mathieu-Daudé wrote:
> Replace magic 8 by BITS_PER_BYTE, use MAKE_64BIT_MASK()
> instead of open coding it.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>

Reviewed-by: Edgar E. Iglesias <edgar.iglesias@amd.com>



> ---
>  hw/xen/xen-hvm-common.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/hw/xen/xen-hvm-common.c b/hw/xen/xen-hvm-common.c
> index 52e2cce397a..258014370e1 100644
> --- a/hw/xen/xen-hvm-common.c
> +++ b/hw/xen/xen-hvm-common.c
> @@ -1,5 +1,6 @@
>  #include "qemu/osdep.h"
>  #include "qemu/units.h"
> +#include "qemu/bitops.h"
>  #include "qemu/error-report.h"
>  #include "qapi/error.h"
>  #include "exec/target_long.h"
> @@ -448,12 +449,14 @@ static void cpu_ioreq_config(XenIOState *state, ioreq_t *req)
>  
>  static void handle_ioreq(XenIOState *state, ioreq_t *req)
>  {
> +    size_t req_size_bits = req->size * BITS_PER_BYTE;
> +
>      trace_handle_ioreq(req, req->type, req->dir, req->df, req->data_is_ptr,
>                         req->addr, req->data, req->count, req->size);
>  
>      if (!req->data_is_ptr && (req->dir == IOREQ_WRITE) &&
>              (req->size < sizeof (target_ulong))) {
> -        req->data &= ((target_ulong) 1 << (8 * req->size)) - 1;
> +        req->data &= MAKE_64BIT_MASK(0, req_size_bits);
>      }
>  
>      if (req->dir == IOREQ_WRITE)
> -- 
> 2.51.0
> 


From xen-devel-bounces@lists.xenproject.org Tue Oct 28 12:49:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Oct 2025 12:49:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152117.1482646 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDj8K-0008SY-Uj; Tue, 28 Oct 2025 12:49:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152117.1482646; Tue, 28 Oct 2025 12:49:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDj8K-0008SR-Rq; Tue, 28 Oct 2025 12:49:04 +0000
Received: by outflank-mailman (input) for mailman id 1152117;
 Tue, 28 Oct 2025 12:49:04 +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
 <SRS0=nGJv=5F=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1vDj8K-0008RS-6C
 for xen-devel@lists.xenproject.org; Tue, 28 Oct 2025 12:49:04 +0000
Received: from mail-lf1-x131.google.com (mail-lf1-x131.google.com
 [2a00:1450:4864:20::131])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7b9f7ded-b3fc-11f0-9d16-b5c5bf9af7f9;
 Tue, 28 Oct 2025 13:49:03 +0100 (CET)
Received: by mail-lf1-x131.google.com with SMTP id
 2adb3069b0e04-57bd482dfd2so6517698e87.2
 for <xen-devel@lists.xenproject.org>; Tue, 28 Oct 2025 05:49:03 -0700 (PDT)
Received: from gmail.com (213-67-3-247-no600.tbcn.telia.com. [213.67.3.247])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-59301f41bf3sm3007997e87.20.2025.10.28.05.49.01
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 28 Oct 2025 05:49:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7b9f7ded-b3fc-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1761655743; x=1762260543; darn=lists.xenproject.org;
        h=user-agent:in-reply-to:content-transfer-encoding
         :content-disposition:mime-version:references:message-id:subject:cc
         :to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=t6l883tFJpAQf8YAlHanMOkQlY/AtsD2XxeUSoX88Sc=;
        b=VrJbGIxbhiJ0wXIfKrDcSYU+t27rV0ue22MPol1ooWEUGgnCg8hjZeEkPpsYm/9hyo
         xv4gSuRj9dpU2bqsn22ySGAZyf5wr3Wd/2VAOyIjT94MQwfDMTandaHp1KsyhiFQvMZC
         M9TTeBT3jgbmnAaX73yYyk5mKkw/R6e7tYnG1DHnaN7VhXTjJ4mQbYaUmLz+zlq93pqZ
         vb9iWeJPeZS1oYi8T3/WExaDQMXdHsYQBfYNQUcsft9oemEgYjii9beZY5fkiMQ/rZLD
         ReBEw+TX1AUmzw0M/WHqCXBZLpbFnHscSzLcqV1SfpC6FdxUDSf+P1yWh95lt4LwAXQo
         hCLA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761655743; x=1762260543;
        h=user-agent:in-reply-to:content-transfer-encoding
         :content-disposition:mime-version:references:message-id:subject:cc
         :to:from:date:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=t6l883tFJpAQf8YAlHanMOkQlY/AtsD2XxeUSoX88Sc=;
        b=udJ5XK8S6OnvZak1PxnF5ELd/5Tgm5xp072QrMpK9T9a/tBOCchJlChxldrfFfMgt9
         OvayMH0Zrvt1Svx5PrJmtShJGesELPrUPxywTHit5t9b4KL5OavAmtQkGnycgFq2E/5z
         M1JWoFO07dQDlO0b0lC8ST3qjXyMYVysTlPBu+6Qd1zVlOlltaW6puLEbdL7K4NivCL/
         ti/aS1mWTEnulgRVxM5er3aZJlaOvHZtv1HlTSLThQFjgGXGcfDfkXSo36L2T4oTPB9i
         pRdfSFhM1KbbNwPUC3cjYdGoAUoSraiZ8/gEr+dOxdeqsAVuxUYSWaDIF34FYLENn67G
         c0sA==
X-Forwarded-Encrypted: i=1; AJvYcCW/tumh4TFV/ar3hojdyBjlma4+2WHxg+ScV7waR75NPZYI39uiKFv9IcoWpwink8ZPgN/e64Ym4Ik=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxhWJZNkaBJJBM/qx43eu8Fe36XH9uPio6adFj1qWhptQA9rM+p
	cwIGh2baYC97busQuxXqy9sNQ+orLg3hJUSbNs0sUSSu9QJfObIomO/C
X-Gm-Gg: ASbGncsib241EqtnoYDadGJXEsltH32jaVTxdD2w+VNiOeVgCrYoZfPjdVNQry+q7n0
	rRKOE60Vw49HWeSeveG0o1Qd1pd35yyUEeXvjsXS9INtJKb+pAGagPJc6WsiOnQlx8ctEOAE3iw
	7I5gvz5+PlVToDLMp+E9FRMW7LiSEgcprp+0LobosyQtP0vkmIKr+Fzj1KUskWu2N5R1Xj37L23
	s93rUOUDwT06HZtbg2b+IZiqu7cJ/15+yAajxbd0y7Jd/fTyJy3RGQcNYPYSFUr/R12+JefvMgz
	WUhErmXwY+dVwYoMiZPQVWjuztWgMcSNmpactpTxF1Y70U+erXlo535Le8H7ve9lKgcLUsUhVYj
	jl4L6OJtDdOGtxeCNLS6W1V53upEUc8fMVXmHVpGTcmYtDR3bBE+WFZHKLJk5Xrmj+1W6+J9xpU
	nFgdpjZ2kNj87dk+zpBKh273kdqiKb6sYjJNAA
X-Google-Smtp-Source: AGHT+IHC3k1jTGxJ5IBzuBvL4mcg9tubmk9jzGOT+Qf3FcXQ/5a9ChnBIHTlFax2lPAaLyfudoR2Rg==
X-Received: by 2002:a05:6512:3b10:b0:592:fcf7:a178 with SMTP id 2adb3069b0e04-5930e997c5bmr1359279e87.6.1761655742772;
        Tue, 28 Oct 2025 05:49:02 -0700 (PDT)
Date: Tue, 28 Oct 2025 13:49:00 +0100
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: Philippe =?iso-8859-1?Q?Mathieu-Daud=E9?= <philmd@linaro.org>
Cc: qemu-devel@nongnu.org, Anthony PERARD <anthony@xenproject.org>,
	xen-devel@lists.xenproject.org,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>,
	Paul Durrant <paul@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anton Johansson <anjo@rev.ng>
Subject: Re: [PATCH 2/3] hw/xen: Replace target_ulong by agnostic
 target_long_bits()
Message-ID: <aQC7vCX4OHElpfDD@zapote>
References: <20251022140114.72372-1-philmd@linaro.org>
 <20251022140114.72372-3-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20251022140114.72372-3-philmd@linaro.org>
User-Agent: Mutt/2.2.14+84 (2efcabc4) (2025-03-23)

On Wed, Oct 22, 2025 at 04:01:12PM +0200, Philippe Mathieu-Daudé wrote:
> Both are equivalent:
> 
>   target_long_bits()
> 
>   sizeof(target_u?long) * BITS_PER_BYTE
> 
> Prefer the former which is target-agnostic.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>

Reviewed-by: Edgar E. Iglesias <edgar.iglesias@amd.com>



> ---
>  hw/xen/xen-hvm-common.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/hw/xen/xen-hvm-common.c b/hw/xen/xen-hvm-common.c
> index 258014370e1..b40ae0b3af0 100644
> --- a/hw/xen/xen-hvm-common.c
> +++ b/hw/xen/xen-hvm-common.c
> @@ -2,8 +2,8 @@
>  #include "qemu/units.h"
>  #include "qemu/bitops.h"
>  #include "qemu/error-report.h"
> +#include "qemu/target-info.h"
>  #include "qapi/error.h"
> -#include "exec/target_long.h"
>  #include "exec/target_page.h"
>  #include "trace.h"
>  
> @@ -455,7 +455,7 @@ static void handle_ioreq(XenIOState *state, ioreq_t *req)
>                         req->addr, req->data, req->count, req->size);
>  
>      if (!req->data_is_ptr && (req->dir == IOREQ_WRITE) &&
> -            (req->size < sizeof (target_ulong))) {
> +            (req_size_bits < target_long_bits())) {
>          req->data &= MAKE_64BIT_MASK(0, req_size_bits);
>      }
>  
> -- 
> 2.51.0
> 


From xen-devel-bounces@lists.xenproject.org Tue Oct 28 13:29:37 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Oct 2025 13:29:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152127.1482656 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDjlP-0005cc-TW; Tue, 28 Oct 2025 13:29:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152127.1482656; Tue, 28 Oct 2025 13:29:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDjlP-0005cV-Qm; Tue, 28 Oct 2025 13:29:27 +0000
Received: by outflank-mailman (input) for mailman id 1152127;
 Tue, 28 Oct 2025 13:29:27 +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 <SRS0=LPue=5F=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vDjlP-0005cN-0N
 for xen-devel@lists.xenproject.org; Tue, 28 Oct 2025 13:29:27 +0000
Received: from mail-wr1-x434.google.com (mail-wr1-x434.google.com
 [2a00:1450:4864:20::434])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1e11c6fd-b402-11f0-980a-7dc792cee155;
 Tue, 28 Oct 2025 14:29:23 +0100 (CET)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-3f2cf786abeso3553814f8f.3
 for <xen-devel@lists.xenproject.org>; Tue, 28 Oct 2025 06:29:23 -0700 (PDT)
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-429952b79cbsm20108444f8f.4.2025.10.28.06.29.22
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 28 Oct 2025 06:29:22 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1e11c6fd-b402-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761658163; x=1762262963; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=u7An7cNHcxyhz/j49Ir7rWmIXQajVG+SokXr+pLwHvM=;
        b=X4RKPL7nODR7gx+dmMu1wQnuQ4EP/997R9AFaI8M3/pfB0DvyPsvjCnZyUpmeQn9iD
         +QKTE4sbwBWSr78J9NeYgQj+ShP8Wywv6UuuFLNPme2Z1wxJcAgCYDqSwol352s0FPno
         h2qQcInD0YqDgWfkN/A9ZIoX3CAwVC8nZIRP8B3NSu+MKxQtMk/73sWZI0m5OqfYt5ZZ
         srmS6m8X1WQtH6LXdr1hkwidX3xVJbwV+y0ExyccYBlIPHYuK2ttuUgu1JV0rPAXeeZb
         VpnOuxFAjR2ci8SPunBuyH8/pHtUr4CLO+iq31lcbVkRhrH+CKi/mDCKuVpwW4d1Jl1x
         A5QQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761658163; x=1762262963;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=u7An7cNHcxyhz/j49Ir7rWmIXQajVG+SokXr+pLwHvM=;
        b=wKpxU14aSKEGwXrImD0ZzyVGI+xHwGyAnPopapPY5EfAdcVZel+BRxTkdvif00EI80
         MT1/P4oh64GwFh/Yb+GQD9g1ZcqnKpTR8B2/UkEqi8zQ4HuUTwUrHeKRJoHiugH01TCJ
         FmKyuLWON1kPOcRyibXyAbD7UOL4w3JFZROwY3xBbnBaCRuVt2n1cdMWDSOcFRcAjIaX
         sOYd96DlNXNXwsaio53UH7vLFss7CCjSPv7bYo4a1Yti0x/yncTPDgvtVMD5pI6Xe8MO
         uiwtJBRjfNfRYlXS0VVE7zuX0pQsXPqtndLopzMnlgc00knCktPZqt+ha4Gx16lnzaem
         MLzA==
X-Forwarded-Encrypted: i=1; AJvYcCXGh2Xcd0WROUl24GTR2YzjUqlrKFbw4C8eMAUpt4/SqMl0P6XaM08dtc6Cx8O4LWHjhlCBZL1qU2U=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywm2v7wmOmj+653QlxZ1arl2LToAxUfF9ILK7QfqF9Ln52RRpHg
	5pwH9j7MdjfgA4oq6BMVUZtoT97eOy5B9nF+SPbt1s6zEgBmzizXTknJ89Rpreu2Ug==
X-Gm-Gg: ASbGncuhviCr0rOgFegY1ATSo2ogA3bgIqqCSr8xOPnqphO0bRePt3KGET+h8gdfARW
	lHEoyvAD9wrn4qGTvUTRN0mkSwb1cKG1IzNau/dIl492wNtj40aZg+4wS4xnQv3CdU9UZRGlfaW
	+eR59HeXsAG/Uw0Kx2apsGEbx12GCKRerrc20zrnRbXP/21sRPwL67umJZCHoATrrkzxcoiGv3D
	mP+g5JHxV3SA/ff5w76DLZlVfcTYwtFDKMQ+9/ERQjHU5mbr11iIiL+9UsdinQWIPb/VoBZKYRf
	LqfodbnRwsPll3v7bmykaElDmWvRFDpSwJ9iG/6ZpJuMRxkcbqdlgPrwpoyv29FDjRUnvPI/2iA
	UC9ME78t2CSlALZm40q/sOjBGBYbR7VofQJlsW9GDziWCAkIs1TNMr4H72OBCtK8sFXZ/t4XXQc
	lo/h/vqKmsAdQOs/GGcDTkJBbqFU7eWB9MKI8ZgnHVAu3jFd6gN2J32bRXHlvb
X-Google-Smtp-Source: AGHT+IFhIKKnMbqgZZde6KXfvbCPPqeUB8ANwTDNQ5Dxv7sDtNxrhLu17XL66nGqgXYBvDRzlBYWuw==
X-Received: by 2002:a05:6000:2c13:b0:427:167:c2c3 with SMTP id ffacd0b85a97d-429a7e9327amr2634214f8f.48.1761658163063;
        Tue, 28 Oct 2025 06:29:23 -0700 (PDT)
Message-ID: <8fd7c095-429e-41c3-bb55-39f28e98a488@suse.com>
Date: Tue, 28 Oct 2025 14:29:22 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 5/5] x86/ucode: Relax digest check when Entrysign is
 fixed in firmware
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20251027221702.3362552-1-andrew.cooper3@citrix.com>
 <20251027221702.3362552-6-andrew.cooper3@citrix.com>
 <61fcf602-4a4f-4936-a346-a650115e838d@suse.com>
 <ad5d59cb-6208-40be-8212-9dbddbe2a8b9@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <ad5d59cb-6208-40be-8212-9dbddbe2a8b9@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 28.10.2025 12:31, Andrew Cooper wrote:
> On 28/10/2025 9:47 am, Jan Beulich wrote:
>> On 27.10.2025 23:17, Andrew Cooper wrote:
>>> @@ -603,3 +604,82 @@ static void __init __constructor test_digests_sorted(void)
>>>      }
>>>  }
>>>  #endif /* CONFIG_SELF_TESTS */
>>> +
>>> +/*
>>> + * The Entrysign vulnerability affects all Zen1 thru Zen5 CPUs.  Firmware
>>> + * fixes were produced from Nov 2024.  Zen3 thru Zen5 can continue to take
>>> + * OS-loadable microcode updates using a new signature scheme, as long as
>>> + * firmware has been updated first.
>>> + */
>>> +void __init amd_check_entrysign(void)
>>> +{
>>> +    unsigned int curr_rev;
>>> +    uint8_t fixed_rev;
>>> +
>>> +    if ( boot_cpu_data.vendor != X86_VENDOR_AMD ||
>> Given the function name, might this check better live at the call site?
> 
> Possibly, but I really don't want to split the vendor check away from
> the family ranges.
> 
> A family check without a vendor check in eyeshot is
> suspicious-going-on-buggy, and this is called once at init.

Well, okay, I'm certainly not going to insist. It merely occurred to me that
normally we would call amd_*() functions only once we know we run on AMD (or
sometimes Hygon) hardware.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Oct 28 13:57:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Oct 2025 13:57:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152139.1482665 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDkCN-0001Tc-3X; Tue, 28 Oct 2025 13:57:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152139.1482665; Tue, 28 Oct 2025 13:57:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDkCN-0001TV-11; Tue, 28 Oct 2025 13:57:19 +0000
Received: by outflank-mailman (input) for mailman id 1152139;
 Tue, 28 Oct 2025 13:57:17 +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
 <SRS0=nGJv=5F=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1vDkCK-0001TP-Ti
 for xen-devel@lists.xenproject.org; Tue, 28 Oct 2025 13:57:17 +0000
Received: from mail-lf1-x12d.google.com (mail-lf1-x12d.google.com
 [2a00:1450:4864:20::12d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0241b90c-b406-11f0-980a-7dc792cee155;
 Tue, 28 Oct 2025 14:57:15 +0100 (CET)
Received: by mail-lf1-x12d.google.com with SMTP id
 2adb3069b0e04-592fa38fe60so7155149e87.3
 for <xen-devel@lists.xenproject.org>; Tue, 28 Oct 2025 06:57:15 -0700 (PDT)
Received: from gmail.com (213-67-3-247-no600.tbcn.telia.com. [213.67.3.247])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-593027d858bsm3005590e87.47.2025.10.28.06.57.12
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 28 Oct 2025 06:57:12 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0241b90c-b406-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1761659834; x=1762264634; darn=lists.xenproject.org;
        h=user-agent:in-reply-to:content-transfer-encoding
         :content-disposition:mime-version:references:message-id:subject:cc
         :to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=ywkWcUB/bHBOlXnCDPOpcuQpF9M08DR5u7xlF4oebkU=;
        b=ATsX4pm3fHLXQSXFIwKzW0yUBKa2L/I6wJ5KgILeybyQgTPJ3K8Jx3WEEqJdgavfwB
         Zlh89HEnPp6E3QoReqBBDjuAkHji9Ms3i3OPVoRgiGHrKhiGsDhd7jrYMUzJyuRM4LsN
         SPM4lCGJRKHSQJePJg4KvO2LSocuCNdJIo4HXA4MAvXXgmBi/BUK14YbfzZeznhXbGS8
         Azaqnc5C+dzsg0htseXjrL4Lu+5LyR1F5JUzyi/ie3aEPPqunEpD1NYPbLg6UnG7nIdC
         U6vM7AL7mbRbUW0XE6m5stNqCfvS/Xn+TuwYir9JDklqAfioogDx8TTWiAxRodMfQPRk
         YLOQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761659834; x=1762264634;
        h=user-agent:in-reply-to:content-transfer-encoding
         :content-disposition:mime-version:references:message-id:subject:cc
         :to:from:date:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=ywkWcUB/bHBOlXnCDPOpcuQpF9M08DR5u7xlF4oebkU=;
        b=GW4paibWB8YUHmVpG4yB8UjetMoYq6t5ZPeNQfQ/94gdR+XIBNMJDil4o6aFSzJkLB
         zMavVrf4/pqieGu51vNbuGN0OdhHaxYs1W3FuTuy77IFBHlVNR7cnOY6sFWBa2vwbWWs
         CkUpqa67YEF5bFWWcKQ9saAYQwC1iPkidlzzUCs4OJgfGU2pE2ZJxfMBftED36LM0/xZ
         fUygJJ/qk9v/G4U9bS5l2bE1JqSuZl2O4HgwFATEKZH/7JeU7X1AEyzDLiFWNuVl4y2J
         wMo/9NQn/J/9frP11uaymMPuB14u2kWCUnSkyZREJjLdwxTuehunyN4F/sCEgIinrm38
         MQ1A==
X-Forwarded-Encrypted: i=1; AJvYcCXEzuFljVWdP+/Wy3IqyigbI07zeuos2trlHX1XZT84tC1i+KnP+F4j8agJzgpMO8Bda0AE1jIayBM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxZVOAEHewFS/lLBuMZumnFSaa6YTdNXaevl35/wSdLDsj0xIq1
	AQWBdPnGNCHnGy5I6HzzzzEorjFD+SiZ+9GKL6yAyMiFz24fKuiF3LNd
X-Gm-Gg: ASbGncsAVLS7T+Y7b7Jqjvs19/ITk+qkzbKW4dPpZw4ItHGdbc9G6nqAfbZOFDyEug5
	Fp3IMnLF3uoKejPIiXv/Y4PQLL1zr3zCyQY0cRYoON4uVc6t1iwJxKqVrEDPq6JOFcM+cI2c5Jo
	gQBMVC3LXYkZXAFcmOFPGh59owVw1Cavo7Mc1Z0MXXMvDoRTuXHVzB/+TWBvM8HY9G4dk83BDkc
	r3nW+/plk5R1UPugivAgQuztlWPnJh9c59AGHJ/ruDJWZFLge7aVgtNkVETYMHNuVex0IILzNnL
	o8m8mUIuUbD4iskuqMbjl2J+xDdgDUE3E3bovcN9rw+LI8LI/MUUg7+t5EFVc1Amn7mKPWb04vo
	6iOpxwfeBPNnLf/Z+ngoaS3/2KTD8WNlA4GZtSJch+rxiSs6YEL7hxzedI9pjitBLJqlDsPqGGd
	NsKUWxtqvGNmMyUcpXkwiNN49MKUtNUGQy7pD3
X-Google-Smtp-Source: AGHT+IHhlEhCXWG4JnGYnZ9PlIkPfPss+qjJNDrSomU1aZUyUCzyg6jNNad5EKiHbRdmXz1yu4/PQQ==
X-Received: by 2002:ac2:4f03:0:b0:591:ebc3:a688 with SMTP id 2adb3069b0e04-5930e9f7af6mr1094572e87.56.1761659833877;
        Tue, 28 Oct 2025 06:57:13 -0700 (PDT)
Date: Tue, 28 Oct 2025 14:57:11 +0100
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: Philippe =?iso-8859-1?Q?Mathieu-Daud=E9?= <philmd@linaro.org>
Cc: qemu-devel@nongnu.org, Anthony PERARD <anthony@xenproject.org>,
	xen-devel@lists.xenproject.org,
	Pierrick Bouvier <pierrick.bouvier@linaro.org>,
	Paul Durrant <paul@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anton Johansson <anjo@rev.ng>
Subject: Re: [PATCH 3/3] hw/xen: Build only once
Message-ID: <aQDLt44edkDsfTAU@zapote>
References: <20251022140114.72372-1-philmd@linaro.org>
 <20251022140114.72372-4-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20251022140114.72372-4-philmd@linaro.org>
User-Agent: Mutt/2.2.14+84 (2efcabc4) (2025-03-23)

On Wed, Oct 22, 2025 at 04:01:13PM +0200, Philippe Mathieu-Daudé wrote:
> Now than hw/xen/ files don't use any target-specific code,
> we can build all file units once, removing the need for the
> xen_specific_ss[] source set.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>

Reviewed-by: Edgar E. Iglesias <edgar.iglesias@amd.com>



> ---
>  hw/xen/meson.build | 22 +++++++++-------------
>  1 file changed, 9 insertions(+), 13 deletions(-)
> 
> diff --git a/hw/xen/meson.build b/hw/xen/meson.build
> index a1850e76988..dcd2b7e1df3 100644
> --- a/hw/xen/meson.build
> +++ b/hw/xen/meson.build
> @@ -7,21 +7,16 @@ system_ss.add(when: ['CONFIG_XEN_BUS'], if_true: files(
>    'xen_pvdev.c',
>  ))
>  
> -system_ss.add(when: ['CONFIG_XEN', xen], if_true: files(
> -  'xen-operations.c',
> -),
> -if_false: files(
> -  'xen_stubs.c',
> -))
> -
> -xen_specific_ss = ss.source_set()
> -xen_specific_ss.add(files(
> -  'xen-mapcache.c',
> +xen_common_ss = ss.source_set()
> +xen_common_ss.add(files(
>    'xen-hvm-common.c',
> +  'xen-mapcache.c',
> +  'xen-operations.c',
>    'xen-pvh-common.c',
>  ))
> +
>  if have_xen_pci_passthrough
> -  xen_specific_ss.add(files(
> +  xen_common_ss.add(files(
>      'xen-host-pci-device.c',
>      'xen_pt.c',
>      'xen_pt_config_init.c',
> @@ -30,7 +25,8 @@ if have_xen_pci_passthrough
>      'xen_pt_msi.c',
>    ))
>  else
> -  xen_specific_ss.add(files('xen_pt_stub.c'))
> +  xen_common_ss.add(files('xen_pt_stub.c'))
>  endif
>  
> -specific_ss.add_all(when: ['CONFIG_XEN', xen], if_true: xen_specific_ss)
> +system_ss.add_all(when: ['CONFIG_XEN', xen], if_true: xen_common_ss)
> +system_ss.add(when: ['CONFIG_XEN', xen], if_false: files('xen_stubs.c'))
> -- 
> 2.51.0
> 


From xen-devel-bounces@lists.xenproject.org Tue Oct 28 14:41:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Oct 2025 14:41:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152191.1482691 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDktP-0000Uw-Mh; Tue, 28 Oct 2025 14:41:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152191.1482691; Tue, 28 Oct 2025 14:41:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDktP-0000Up-Jl; Tue, 28 Oct 2025 14:41:47 +0000
Received: by outflank-mailman (input) for mailman id 1152191;
 Tue, 28 Oct 2025 14:41:45 +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 <SRS0=LPue=5F=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vDktN-0000Uj-Rl
 for xen-devel@lists.xenproject.org; Tue, 28 Oct 2025 14:41:45 +0000
Received: from mail-wr1-x42d.google.com (mail-wr1-x42d.google.com
 [2a00:1450:4864:20::42d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 394fec71-b40c-11f0-9d16-b5c5bf9af7f9;
 Tue, 28 Oct 2025 15:41:44 +0100 (CET)
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-42557c5cedcso3943301f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 28 Oct 2025 07:41:44 -0700 (PDT)
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-429952b7b6fsm20811380f8f.1.2025.10.28.07.41.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 28 Oct 2025 07:41:43 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 394fec71-b40c-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761662504; x=1762267304; 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=chagK8Cr654Gz3A3PNxJctL9KDzwjtJsfmzXx8hGFT8=;
        b=W49g0V8PJwCmE4NDYvmZ5022Rf2WQEPrn/Z5SlTsFBSVPQOrygTu3LGlr1wMhE5TZG
         /CaOotmQjxJPC/Zpj3PlF7w3iFWZuWj+wJ+tXlbd4Zfq8xPFkJy+yu2BEds+Fk4V32Ov
         WzmneKl/WqrkmJ13lDWzDSziebtA24E5IKYZ2wgmBYvX8mluO6I7gOHLiUWHj7aU7ivv
         GV6wVHqf+Qui/GnGHSp2ziHWH7LzmUI6w8L4L+yiLnEUrEHKlelzqErDDRyWJSIG/2Qy
         wx1UmnLItXMrf/fb1Cq43Ad3wi2PW/n8M23ruolWD6q+XsFJvnlTWqxT9e1yFQmxs7Ge
         ow/g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761662504; x=1762267304;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=chagK8Cr654Gz3A3PNxJctL9KDzwjtJsfmzXx8hGFT8=;
        b=ScgwsE20T0CvOb8omZ6gQKpt7IgJ9H/jxZq4Ke9VyKKHa/o+2GO9jHvklzBgG25L3O
         IXGEZSPvmqNiFJGDa7WMAPYJg5yG+mbCo2/2xJ1f49p1tw10PAgKSgW8ZYm0N62S/1P2
         nSwItQQyNLCSHDZIZba1xTl69KiQX7Oygx4v5RjEjiRz1LfR4xjN7gAj9LDp5N1VPW/o
         8fIM5p+DBBTj1sr5XbmLCqkof5k8k+GWQA9jXf3k4+MfUDx9M9K60Ej+rw+HtflpzuGC
         gono65V5/xeW8P8hIOadGSKAPHdtN8iw1bKXOnBX1KA5mfpdbaSaf8AmXh9xDOFAFQMc
         fF4w==
X-Gm-Message-State: AOJu0YzANe+CEj/go5rtDRhjw27o3bhrx04tSe/w9rLuRhRsXGWgSyen
	P+hD0RkWIvd1SGMoRGR2/Y/qGgOnK6C1SccjmdurPnBi5ZScnYUE/HihQHM5PjgfVm9YN55ZfcX
	nkn0=
X-Gm-Gg: ASbGncvCJVtiIViMGqWobA33UGqap3zvK82McS3iMZ9Y1EEhOUTJbAJUhJzmQvIiXoC
	K3QvCv/00oESS199xA4+F9zjcWrivi93rpSuiigU+9IhGYVNYIIf9s/1Mfl3CrFQfZ4Yq0AT7+L
	JgIDbo5F2Hfwj8VdWhrVLxxeALzmC/iudabT1hEAeg74NzbEEn13wxy3/jR4cuqVcaACgQhd4vp
	+ATzGowQu6/EUb2MFqJlWDxk1pdGAbVNwxEuwvhTYlQnhmFb+WR4nlde9srqyu+GZvNVyeXy0d9
	duwLZAaoLb9GIwx6Xoyunm4fg2eCBYZW7SYi2lOpupyxojQomLqUYA/QTn5/nx7nRTS9LXrvG5w
	OH1K5CSqnLJ/n7PuY3pmSccdnu1xNmWKfH+eKxoSGWvqHHRco3gX1GHi3n00i2A/HWA5Gx8XYs6
	3KIXP64Z9ibmkc8paM0EQfBdBLzfBTMgFOj4ipTRw68rY4J6JtfNnuHIo0+BkT
X-Google-Smtp-Source: AGHT+IFdFIYsUq4NXALNBSRmohcL/uaXWjcc+4UtgiqrMIgN2GZb++y6i/03YBstwOK2zsE2lwZfzA==
X-Received: by 2002:a05:6000:2c0f:b0:427:84a:6dc9 with SMTP id ffacd0b85a97d-429a7e93530mr3521664f8f.59.1761662503761;
        Tue, 28 Oct 2025 07:41:43 -0700 (PDT)
Message-ID: <4750e9e6-7688-47d2-ad5b-79015de4fb37@suse.com>
Date: Tue, 28 Oct 2025 15:41:42 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/AMD: disable RDSEED on Fam17 model 47 stepping 0
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <3dd4cddd-2dd7-4337-be89-b775a4b04824@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: <3dd4cddd-2dd7-4337-be89-b775a4b04824@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 24.07.2025 14:56, Jan Beulich wrote:
> --- a/xen/arch/x86/cpu/amd.c
> +++ b/xen/arch/x86/cpu/amd.c
> @@ -1220,6 +1220,24 @@ static void cf_check init_amd(struct cpu
>  		}
>  		break;
>  
> +	case 0x17:
> +		/*
> +		 * Fam17 model 47 stepping 0 has an error that causes RDSEED to
> +		 * always return 0xffffffff (while RDRAND works correctly).
> +		 */
> +		if (c == &boot_cpu_data &&
> +		    c->family == 0x47 && c->stepping == 0 &&

Of course this means to be c->model.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Oct 28 14:48:50 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Oct 2025 14:48:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152201.1482702 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDl08-0001Il-B4; Tue, 28 Oct 2025 14:48:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152201.1482702; Tue, 28 Oct 2025 14:48:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDl08-0001Ie-7x; Tue, 28 Oct 2025 14:48:44 +0000
Received: by outflank-mailman (input) for mailman id 1152201;
 Tue, 28 Oct 2025 14:48: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
 <SRS0=v5JP=5F=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1vDl06-0001IY-SY
 for xen-devel@lists.xenproject.org; Tue, 28 Oct 2025 14:48:42 +0000
Received: from mail-ed1-x530.google.com (mail-ed1-x530.google.com
 [2a00:1450:4864:20::530])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 318e9456-b40d-11f0-980a-7dc792cee155;
 Tue, 28 Oct 2025 15:48:40 +0100 (CET)
Received: by mail-ed1-x530.google.com with SMTP id
 4fb4d7f45d1cf-63c0c9a408aso9822493a12.3
 for <xen-devel@lists.xenproject.org>; Tue, 28 Oct 2025 07:48:40 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-71-38.play-internet.pl.
 [109.243.71.38]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-63e7efb97b3sm9142518a12.30.2025.10.28.07.48.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 28 Oct 2025 07:48:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 318e9456-b40d-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1761662920; x=1762267720; darn=lists.xenproject.org;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=z4btSMuob+PTJpCRrox18oIJa5C7occWVFLgfYrw6T8=;
        b=hTpQoVk1LmQhPVuj6G6JBtywT68THtq3/P1PJb3dpbhJPoXPCNwZRLo0UMvSGDGPNG
         LYi839Vei1Bxg8nqCgVHCLgHFhp/zRY6X92LpdO5OjoscHAbEgIG6QI/NA5cFtUfysT+
         ZvEburqfs8GywlSSchjKtd/PcAIQHuBdGWlzsGqCf34lu4lYINVbbnpDR7uZTva6uIE2
         Qp7WhASLOGofYPWXyYpH4A3pbyHMJlyl6jJIvOKd/SLsh0yYlNo7mta1xjW4tOk//cal
         2zeR/5aLcjrjZ8nZw7YH1ulGGt5Q6Z82Olx0xc3LaZ2rHr4X+i7QwkRxt44FX/iRPA8n
         1cEQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761662920; x=1762267720;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=z4btSMuob+PTJpCRrox18oIJa5C7occWVFLgfYrw6T8=;
        b=K+feOOk0GXZHccbF/PjGDGFokKQEniO0lYHf2xzq5wWf2nWJvG0IKzYCzH7mOXEA3p
         DyPHYcosHeuFCY5jhVAmilR9+Y6yI2mbaefJ4rMpy67OtCbZR6mYVIlIqOBHOsufB9hO
         kNyaiQq0CWjcVzK8hCWKtLPPVtUuK45NGJF8dhbqxNS2t6OqD2ToNg1y6ZJO23kSMq74
         EDZsYd4ty9nugm+EzQc20OXNqsuZysWFpfoen8rRQ9k3dhnjcb+cYW0JiMxJHTuw8xfv
         ZRdHinTy74pD2oUiOIkrafkZ87lBlv5aEFa0bUqXr7dig8dk0dOWCv7w/DcrM5eW+AAg
         SiRQ==
X-Forwarded-Encrypted: i=1; AJvYcCXPv0xN7qzkDdAL0iptiHNlUeILfD7BeDEsPwh3nb8PuacHWecQ5KqR6x7WgpUjfjZ45+4R3aY6ZCw=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywuu//2T1epXKM0wpFwxwn8CGgTAsRPS7a4gxtErh+2CC6SCajf
	WFB3m9m8aHLtJ9nWkX79qSp0vR4m9KTnLFOV5iD2VtjDbo6neAgtkjf2
X-Gm-Gg: ASbGncs3GBAr2mLsUAf3kF2phDeZvwBnZdnT9HvjFcXxAA5tH+xCoEROVAbZxNoDhJF
	Tlsv70a5oJcX4rfTTrot6iR1cp85ojZ5ieq/rZaeIetKqIim/tqccPwX/Jjk+JMLJWs9KusY/wR
	dKcCdfgLt7oCELxwwSeufT1EkJopL4Qast+PgE//dljfHDsdnnIdLwHycwXNT0mrl2LpwInbdY3
	4bj2J3aTXrFWVFAkQELZZoGaiXCvo05D6GwRWTi8zJxVmIX9/J/Okz97i7GmIWFAA6PL9/T8NCo
	7JdNTIipyfCP72mbVyQbpDpNxzE63Ls+6qaLzg3vDgCFjJCnNmEF+va0t6gI54DE9vpZ6pV97Gz
	bisJuwtYH96WFV4olIRjHLmpAJNxcwGPKiA+aLpMp+AF0D4gcqIi30qfyMmMp6aWHlYFasOEJx7
	D2lBDPzrBJQgmevYgfBemo+wcQJXT5bEW+M3/q7/6tlsQwqepE/g==
X-Google-Smtp-Source: AGHT+IFgYgrngfRbAk6BAyRTC4eugSvR2IwDvzumFXvIL9rBu94x/NAu+cCR6c8iZa6MXCqZGUxTuA==
X-Received: by 2002:a05:6402:1e8e:b0:63c:2d6:f471 with SMTP id 4fb4d7f45d1cf-63ed8272f41mr3334814a12.26.1761662919958;
        Tue, 28 Oct 2025 07:48:39 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------upk826oVDRl1JuuHYfOJbA5W"
Message-ID: <14a05be4-74d6-406b-a1aa-76ba2ca7f951@gmail.com>
Date: Tue, 28 Oct 2025 15:48:38 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21 0/5] x86/ucode: Support loading latest ucode from
 linux-firwmare
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Jan Beulich <JBeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <20251027221702.3362552-1-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <20251027221702.3362552-1-andrew.cooper3@citrix.com>

This is a multi-part message in MIME format.
--------------upk826oVDRl1JuuHYfOJbA5W
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit


On 10/27/25 11:16 PM, Andrew Cooper wrote:
> linux-firmware now contains microcode signed with the new signature scheme.
> Xen currently refuses to load these as we've not updated the digest list.
>
> The plan was always to stop using the digest list in due course, which is what
> this series does.  A fix for the RDSEED vulnerability is imminent, and it's
> critical that Xen can load this microcode.
>
> As such, this is intended for backport to all trees including security trees,
> and therefore really does need to get into Xen 4.21

Considering that it is security related and will be backported anyway it should
be considered to be in Xen 4.21:
  Release-Acked-By: Oleksii Kurochko<oleksii.kurochko@gmail.com>

Thanks.

~ Oleksii

>
> Andrew Cooper (5):
>    x86/ucode: Abort parallel load early on any control thread error
>    x86/ucode: Refine TLB flush fix for AMD Fam17h CPUs
>    x86/ucode: Cross check the minimum revision
>    x86/ucode: Refine the boundary checks for Entrysign
>    x86/ucode: Relax digest check when Entrysign is fixed in firmware
>
>   docs/misc/xen-command-line.pandoc    |   7 +-
>   xen/arch/x86/cpu/microcode/amd.c     | 158 +++++++++++++++++++++++++--
>   xen/arch/x86/cpu/microcode/core.c    |   6 +-
>   xen/arch/x86/cpu/microcode/private.h |   2 +
>   xen/arch/x86/flushtlb.c              |   3 +-
>   xen/arch/x86/include/asm/flushtlb.h  |   5 +
>   6 files changed, 165 insertions(+), 16 deletions(-)
>
--------------upk826oVDRl1JuuHYfOJbA5W
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 10/27/25 11:16 PM, Andrew Cooper
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:20251027221702.3362552-1-andrew.cooper3@citrix.com">
      <pre wrap="" class="moz-quote-pre">linux-firmware now contains microcode signed with the new signature scheme.
Xen currently refuses to load these as we've not updated the digest list.

The plan was always to stop using the digest list in due course, which is what
this series does.  A fix for the RDSEED vulnerability is imminent, and it's
critical that Xen can load this microcode.

As such, this is intended for backport to all trees including security trees,
and therefore really does need to get into Xen 4.21</pre>
    </blockquote>
    <pre>Considering that it is security related and will be backported anyway it should
be considered to be in Xen 4.21:
 Release-Acked-By: Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a>

Thanks.

~ Oleksii</pre>
    <blockquote type="cite"
      cite="mid:20251027221702.3362552-1-andrew.cooper3@citrix.com">
      <pre wrap="" class="moz-quote-pre">

Andrew Cooper (5):
  x86/ucode: Abort parallel load early on any control thread error
  x86/ucode: Refine TLB flush fix for AMD Fam17h CPUs
  x86/ucode: Cross check the minimum revision
  x86/ucode: Refine the boundary checks for Entrysign
  x86/ucode: Relax digest check when Entrysign is fixed in firmware

 docs/misc/xen-command-line.pandoc    |   7 +-
 xen/arch/x86/cpu/microcode/amd.c     | 158 +++++++++++++++++++++++++--
 xen/arch/x86/cpu/microcode/core.c    |   6 +-
 xen/arch/x86/cpu/microcode/private.h |   2 +
 xen/arch/x86/flushtlb.c              |   3 +-
 xen/arch/x86/include/asm/flushtlb.h  |   5 +
 6 files changed, 165 insertions(+), 16 deletions(-)

</pre>
    </blockquote>
  </body>
</html>

--------------upk826oVDRl1JuuHYfOJbA5W--


From xen-devel-bounces@lists.xenproject.org Tue Oct 28 15:32:35 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Oct 2025 15:32:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152218.1482732 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDlgO-00081F-Mq; Tue, 28 Oct 2025 15:32:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152218.1482732; Tue, 28 Oct 2025 15:32:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDlgO-000818-JW; Tue, 28 Oct 2025 15:32:24 +0000
Received: by outflank-mailman (input) for mailman id 1152218;
 Tue, 28 Oct 2025 15:32:23 +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 <SRS0=LPue=5F=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vDlgN-000812-Ce
 for xen-devel@lists.xenproject.org; Tue, 28 Oct 2025 15:32:23 +0000
Received: from mail-wm1-x336.google.com (mail-wm1-x336.google.com
 [2a00:1450:4864:20::336])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4ae0473a-b413-11f0-980a-7dc792cee155;
 Tue, 28 Oct 2025 16:32:20 +0100 (CET)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-471191ac79dso64688045e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 28 Oct 2025 08:32:20 -0700 (PDT)
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-475dd03585esm201593405e9.6.2025.10.28.08.32.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 28 Oct 2025 08:32:18 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4ae0473a-b413-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761665540; x=1762270340; darn=lists.xenproject.org;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id:from:to:cc
         :subject:date:message-id:reply-to;
        bh=bUEXUS8f/CtUhZEF83/hQogPceIPkhRtyNCGz1YcQ/g=;
        b=dgmd/taezpAxKY+llA6nJuNXb2TqkWabYZ2QvliTWq7apSTJFr3pKKLa2URhogaG2O
         ejhIvrc1xUALMRKIFA+pzRVEWhpTJ+F8571EkUoQTth/prsHa8opkecu1QuyoXvHJDKY
         GpEreOoJu47t8pHT0n6stqoxsfbLQslyxbUkFDq4eLKHi0CqCFqdKXVk5rwdh+XD0W/F
         KnMaL+w6BcNNhAWs701kuDfDpj20WAJueuOtlB3X6h0A31j6PGctUeCqv43hL2SSVUU6
         AKHbTdnynjRYOGJohgGQ74k72ZS0leNHPwb/DekqwP1DSuqcnOFe4/GLnxiP+5DNjNnS
         j6tw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761665540; x=1762270340;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=bUEXUS8f/CtUhZEF83/hQogPceIPkhRtyNCGz1YcQ/g=;
        b=Zlmx/BXqEGRe7K4Gpn2+9Zls5PBbbGen+onWYrt7tmzUFLdY+lhx1SqTgZdQt73V0E
         EUZvNIgxsK5x1UGvL8/T23a1HHO9Y3bMz1zW1gv8dRwIRlVu4DuLvSAxcvWly7Ci2Sy9
         3X5BtSWTCT7aPuB+bxg/eAlCED41hw98Q6snnrsMW2jHEyqj/QlwqbCucH4YqTkdCcO5
         mI/GAeC74/3mm5+xhNIuK2ZoccX7WTiITAZb1zYCPab2I+dY35SlnbV8eSvyl/5hgqvI
         a3DLggvyv300hfW8CsJkDUDmI6X6rtAuQ9hjpy4LBEjAJLibeO8cRsmPXIeLFHlmJfmG
         gD6w==
X-Gm-Message-State: AOJu0Ywzn42CArWF4vZ2PEVXG/GvbZm31Z9nrDd1dIHkY5jWBOg6T0Fi
	W+YSoG2gcEGzPXuasp0vD5Wo9MhSO9lhIO5XTjkYgQy4cpad1bOCM0NAOI22z17GangB3HdLCI+
	ATZM=
X-Gm-Gg: ASbGncthdmbrXTfgaeh2IMxgesqWJjCHol/yR6BEsh4gdjEpQceEeOYetQcq9l9dp/H
	Tm6tgXf6QHIRDmBFvkweoBSlNTWFXQ64mlXqia1VnFe0LKhUSyt+OPbGf1L4FJJ1Rc1Sj7DPlut
	kHd9gXPV21IQpYmiV5oXMTHgpJzwP7K39trMtY6XIcvYRL0xKPnUdV7+LyFuY1CGf4/2szv014V
	32P9pec8uM5yPSu29BRAuWIuP1clKwvu3hO2AnH/OYxA/lh++1c7RK9ntmaK9P3EbnjLEnWQCPk
	c5cvBUFr9qog3fkAJykOBwYzsF+Bv2BLirC9o9drdhHsbVE4mgQ5RM/0BBO72ZwbzOmR0SLQIqP
	G+HBLxwIB4Hwt2rdNgHaQ8WpTfXqip7CFfgMIHe6iqQIhZK8whzB7PndlecE6G3dlJv4H39WKH7
	/dH+DojFYB4CS0cNVmPLV5lyo9odGW9kCoJeVkE9xLZ1LeEmxsZdm4owF3rtll
X-Google-Smtp-Source: AGHT+IGoNMHgosAdDY4lYucD56q6gsCqeknxnc99YBxMltLebl9P6v8c3Dv0jUWGdyh6NeKSFoOB/g==
X-Received: by 2002:a05:600c:528a:b0:471:21:554a with SMTP id 5b1f17b1804b1-47717e03784mr28953065e9.13.1761665539736;
        Tue, 28 Oct 2025 08:32:19 -0700 (PDT)
Message-ID: <272093dc-c97c-434a-9977-ad1c26e7e229@suse.com>
Date: Tue, 28 Oct 2025 16:32:17 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2 for-4.21 0/2] x86/AMD: deal with RDSEED issues
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
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Both patches also want 'x86/CPU: extend is_forced_cpu_cap()'s "reach"' in
place.

1: disable RDSEED on Fam17 model 47 stepping 0
2: disable RDSEED on most of Zen5

Jan


From xen-devel-bounces@lists.xenproject.org Tue Oct 28 15:33:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Oct 2025 15:33:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152227.1482741 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDlhO-0008Us-Vu; Tue, 28 Oct 2025 15:33:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152227.1482741; Tue, 28 Oct 2025 15:33:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDlhO-0008Ul-SR; Tue, 28 Oct 2025 15:33:26 +0000
Received: by outflank-mailman (input) for mailman id 1152227;
 Tue, 28 Oct 2025 15:33:25 +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 <SRS0=LPue=5F=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vDlhN-0008I1-Tw
 for xen-devel@lists.xenproject.org; Tue, 28 Oct 2025 15:33:25 +0000
Received: from mail-wr1-x432.google.com (mail-wr1-x432.google.com
 [2a00:1450:4864:20::432])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 718e1912-b413-11f0-9d16-b5c5bf9af7f9;
 Tue, 28 Oct 2025 16:33:25 +0100 (CET)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-421851bcb25so3824600f8f.2
 for <xen-devel@lists.xenproject.org>; Tue, 28 Oct 2025 08:33:25 -0700 (PDT)
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-429952cb55asm20970320f8f.17.2025.10.28.08.33.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 28 Oct 2025 08:33:23 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 718e1912-b413-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761665605; x=1762270405; 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=Z85qis9vgMeTegmX7okcikREeWqzsWQQfOD8abtYAGU=;
        b=NCZ+YbWeJkHZ8TnkE3ZQah/AIMczsnZc/FpWI/ca+e32z3PIN3EFRUyGuoOHFM/YJr
         b+lsVuiwF2XS0eNASs7LvU3A/S/N+y+93xP7buUhbHSmmsaZrE022maV7zm+PGO+QKJK
         2eQQWeaAilCU4YxHdH/IRzPWhrUaV3+fMbmzKoQaGNhkbwrB4i5pW8xrzfVrDXWJh2wY
         Dten3wlpURkMBJvKjTpQUIObXNGTYdPRttGyg0dKJ8YwspM+Lwg9nlA6eD2WCfWJsEML
         fCOACR6SGVyjJXXtgTx/sSeb4vAapriuCfA0DKIvpVeK0D5SMykElGD5eA3gHt/oLg/f
         VWCQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761665605; x=1762270405;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=Z85qis9vgMeTegmX7okcikREeWqzsWQQfOD8abtYAGU=;
        b=KQGc3klfi4wzyHeGsPfUXR5Bs+rcoftvO8Re2qx8fvngf2na1kJevZ1n5Y7DFir0r2
         WlPQ6p30zl4w7Ll5kmfZ9q/pS3J2qG9t4AkMKtaTv/gxQsNOQ5/C9FAwwbiw46m7hPJO
         WGRb9QqFeIt4XcotNNp02u4UmlzpSX+Udjg4zDQcpJvpXPw0FlnBD5G3aZpaJAcKjylA
         SCS1/G72V0EP8iszdFIg1Rj1XM+x7PP2k4DhmOuzuyCgLCbjszARqEC69JpEafICksQQ
         XNw9oaGI+D3BfQh0Ocgkn/QhtNk/PBKTv+RoVj0Im0DF8+msC4Q/NJM8MWCmqoKXd6Wm
         sQ5Q==
X-Gm-Message-State: AOJu0Yx2GDBZG+h4BvjVtrmaZsdIAy3nfxYcyRcA2iBZZQyZTgr90iYY
	1ynhBx4MLclWN2y6Kd9Sz42M1xQEzM6oqueJc0zosmMJMbASuK5ZVQ5ibK54gOuUkirNpDOv4dt
	lP+g=
X-Gm-Gg: ASbGncuIomskwQDQI4R5OUfJITsjky9tDnAboFQJTzBN/SY0AEMuIfpNnNpCnAdqwbe
	1jFSXxMhRDqBOL7GxGRzmYhqA6q2/Y3ch0pk9uJko/G0t1C7/4EDey3+qH8ULQHvqbyZG8RF7hs
	Jj0x+yLEgUAIuSuvsmM3jDAKhynIWgGUC+MCmMffQnj4y4ChrMv4p4bK4A+ncXB3omFn2qpwPlX
	3ocR5+tnuA19ss0QioHQPy8jkCKpzwwSE2Q3xqHqWtk3hH8ZVRxopFqUTCmiUL4Q9ArbPWi/CQ5
	OKOjzj29lltawQCaPdXvMhEIpZV5srupHPwBkvkv5MlX7pKdo8gn/JwVXgfQoL5WkNEEBr3d1zX
	aD8d7ODLsCM+pZaGnjYtRXltTI6T5yAdbYJKB9UaKJoC2T7mGEN5BJKyoQH/uSN01z8N7n+RLoz
	/8WTX05F3W6aFKwkjWhv1tzaHpyHgUttV+cJcBKd+SB9MfOjVuGls99CQNw9GE
X-Google-Smtp-Source: AGHT+IFdHz/KOsiOfgTgdzLq2IeWArno2v5IbL6+6WUH6N4NFKj3YOMR/aRvtxYMRaQOhB3Hyg6uOw==
X-Received: by 2002:a05:6000:290c:b0:427:7ad:466f with SMTP id ffacd0b85a97d-429a7e83a78mr3434976f8f.39.1761665604568;
        Tue, 28 Oct 2025 08:33:24 -0700 (PDT)
Message-ID: <b18027a5-d277-4274-b762-dd63e96b6d6c@suse.com>
Date: Tue, 28 Oct 2025 16:33:22 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v2 for-4.21 1/2] x86/AMD: disable RDSEED on Fam17 model 47
 stepping 0
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <272093dc-c97c-434a-9977-ad1c26e7e229@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: <272093dc-c97c-434a-9977-ad1c26e7e229@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

This particular variant has an error that causes RDSEED to always return
0xffffffff, while RDRAND works correctly.

Inspired by Linux commit 5b937a1ed64ebeba8876e398110a5790ad77407c
("x86/rdrand: Disable RDSEED on AMD Cyan Skillfish").

Like for RDRAND, permit a command line override to be used to keep
RDSEED enabled.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Considering how it is described, I didn't think probing RDSEED (like we
do for RDRAND) would be necessary.

Am I going too far in also updating cpuidmask_defaults here, or is us
not doing so for the RDRAND disabling actually an oversight?

Using warning_add() may not be quite appropriate, as we don't really
mean the admin to possibly override this with "cpuid=rdseed" (that's
only a last resort, in case the issue is yet more limited in scope). But
mere printk() would feel like hiding the information in the middle of
lots of other output.
---
v2: Correctly check model, not (again) family.

--- a/xen/arch/x86/cpu/amd.c
+++ b/xen/arch/x86/cpu/amd.c
@@ -1219,6 +1219,24 @@ static void cf_check init_amd(struct cpu
 		}
 		break;
 
+	case 0x17:
+		/*
+		 * Fam17 model 47 stepping 0 has an error that causes RDSEED to
+		 * always return 0xffffffff (while RDRAND works correctly).
+		 */
+		if (c == &boot_cpu_data &&
+		    c->model == 0x47 && c->stepping == 0 &&
+		    cpu_has(c, X86_FEATURE_RDSEED) &&
+		    !is_forced_cpu_cap(X86_FEATURE_RDSEED)) {
+			static const char __initconst text[] =
+				"RDSEED is unreliable on this hardware; disabling its exposure\n";
+
+			setup_clear_cpu_cap(X86_FEATURE_RDSEED);
+			cpuidmask_defaults._7ab0 &= ~cpufeat_mask(X86_FEATURE_RDSEED);
+			warning_add(text);
+		}
+		break;
+
 	case 0x19:
 		/*
 		 * Zen3 (Fam19h model < 0x10) parts are not susceptible to
--- a/xen/arch/x86/cpu-policy.c
+++ b/xen/arch/x86/cpu-policy.c
@@ -123,6 +123,10 @@ static void __init cf_check _parse_xen_c
     else if ( feat == X86_FEATURE_RDRAND &&
               (cpuid_ecx(1) & cpufeat_mask(X86_FEATURE_RDRAND)) )
         setup_force_cpu_cap(X86_FEATURE_RDRAND);
+    else if ( feat == X86_FEATURE_RDSEED &&
+              cpuid_eax(0) >= 7 &&
+              (cpuid_count_ebx(7, 0) & cpufeat_mask(X86_FEATURE_RDSEED)) )
+        setup_force_cpu_cap(X86_FEATURE_RDSEED);
 }
 
 static int __init cf_check parse_xen_cpuid(const char *s)



From xen-devel-bounces@lists.xenproject.org Tue Oct 28 15:34:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Oct 2025 15:34:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152238.1482752 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDli0-0000eJ-DA; Tue, 28 Oct 2025 15:34:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152238.1482752; Tue, 28 Oct 2025 15:34:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDli0-0000eC-9e; Tue, 28 Oct 2025 15:34:04 +0000
Received: by outflank-mailman (input) for mailman id 1152238;
 Tue, 28 Oct 2025 15:34:03 +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 <SRS0=LPue=5F=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vDlhz-0008I1-1A
 for xen-devel@lists.xenproject.org; Tue, 28 Oct 2025 15:34:03 +0000
Received: from mail-wr1-x430.google.com (mail-wr1-x430.google.com
 [2a00:1450:4864:20::430])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 87c019ca-b413-11f0-9d16-b5c5bf9af7f9;
 Tue, 28 Oct 2025 16:34:02 +0100 (CET)
Received: by mail-wr1-x430.google.com with SMTP id
 ffacd0b85a97d-4298b49f103so2146268f8f.2
 for <xen-devel@lists.xenproject.org>; Tue, 28 Oct 2025 08:34:02 -0700 (PDT)
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-475dd4e30f5sm201840855e9.17.2025.10.28.08.34.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 28 Oct 2025 08:34:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 87c019ca-b413-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761665642; x=1762270442; 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=OIqrBm27xeex8ooYRBuiIqavGVudqwN/SmgOkYYu3Ts=;
        b=NaYeYGunXgDfr3+Ne5G6In8xta7cbk9hBcqiXSKQGrmTQJHrX+GO2qlRbc+we93QUo
         oCo7A2keuNZjDnaAaCQVZ++rGHjIZSSPBFcokA8X+0jc3C6NvVI2jUdQMDkYggFcOnyF
         NwVhuZsW7Y0Hq7XDPpG2ESlSdWnvXECy0y+kwJsCmroEXn7Rxxh2oUTPgJo9hD2+vjF8
         fSu67NE1TFFJ0V4x8+7Y/ofVjcDzc1b6QCpe+Zqep1cHCQqfazrkoCSqEhTgbGV5PHZs
         LsKzL044ytZuG5H3yhkBkkYME4TqgUUp2lPEgCKkwZiYXPgxsysF99VZjPB6e8tarPkf
         mPOQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761665642; x=1762270442;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=OIqrBm27xeex8ooYRBuiIqavGVudqwN/SmgOkYYu3Ts=;
        b=jNRjeesL3iiv16wbZt0PCsui59hRBBwdRP45uuiyulGxZKrruc68VZ0fR9KRHOWmxJ
         QIzL1/FQtChQ/jKyQyrzJ9fwzSIexrAm08y9XtlbP/la/rMR1Dcv2vN9yvSLbI+vdKxm
         thygt2vaN1IhmZyJmiOLccv8mUZJ0W37s4Wgpq4cKt3gttebOVJmMG5SU/bygtw3hGjF
         EkoraqOmixih4rjz2OgtC16b0UyY6BxeQJh+KEqoigSWFxrokmbJG6wbVB9hPchBcxKM
         FaNsu2HjEF+/toPb/koalBNJ7YMb+Xl4V+M8EALoZKjq7W7DBsLe68gLIUaAeQNQ6832
         wq6g==
X-Gm-Message-State: AOJu0YwkG2tXR6rimA/bbDIoCrog328veYj1Lry5OLZOEJv443ow6sPk
	zlI8D5/8ntzpU4SLPw3OJjwh7nk9mz7ReqQ6vC2SWbnK9N4evod8G4Cn9xNCowcwyt7ygUEinAf
	FS20=
X-Gm-Gg: ASbGncuwadARc/1fmAPhA7OmTzI1fxAE2oGK6cxI1JoI5odXLM6urFPpYdujNMUY+9z
	c9W+Ex6VsyV6jABB1MeZXPHIvZm4QyAnmO8SH0UdbO1wRuXr1pPta45apVgVTzn5XFGJXDbklzU
	n0rd6Q6Bwl88sNKK4pH2k6V+5oeZH7K67/D1Bz/sZeqV4JMpmI/6DMRbEvBz3LpE2nXYc4QmxVr
	4Z6PVC6LP1Wt7qNM4fTyFQCxlj9D5EnjMAvEdm0nTqHj30fwjXqEfSqDQ2pQ+xReTisNRD1o/Rm
	ci3KcZ+Ke6H7bqICUo9CF7TimhQEFYKewrhYou016tGqRO4wb99wqhpnhcn5vYLly6g6Kk8OO0A
	CWXCMwZm1iMSQC5uDfGH7f13ItD0Zy18iY4Ytk7rmqpX8muSSTul4095ACpaXRggEkNTbyidj7X
	BEy0Mvz6hZ24GxpZWcCR2uL0MSasKmAr6w5Mnz8xDMNcDZStlx0b8QpLjHRfU9
X-Google-Smtp-Source: AGHT+IFYEazjJ/v0HnSQIZ8qWJP5wA9Pfi9cw8+vS/ZTcK8m25C9N6v5mJHN8z4uCKhlrX0rSjyotQ==
X-Received: by 2002:a05:6000:40c9:b0:428:57b8:926f with SMTP id ffacd0b85a97d-429a7e99859mr3393438f8f.58.1761665641875;
        Tue, 28 Oct 2025 08:34:01 -0700 (PDT)
Message-ID: <954766c0-04e3-4087-a578-cd88ea7e1c40@suse.com>
Date: Tue, 28 Oct 2025 16:34:00 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v2 for-4.21 2/2] x86/AMD: disable RDSEED on most of Zen5
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <272093dc-c97c-434a-9977-ad1c26e7e229@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: <272093dc-c97c-434a-9977-ad1c26e7e229@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

This particular variant has an error that causes 16- and 32-bit forms of
RDSEED to frequently return 0 while still signaling success (CF=1). Refer
to AMD-SB-7055 / CVE-2025-62626.

Relevant data taken from Linux commit <TBD, see [1]>
("x86/CPU/AMD: Add RDSEED fix for Zen5").

As for the other RDSEED issue, the same command line override can be used
to keep RDSEED enabled.

[1] https://lore.kernel.org/lkml/176165291198.2601451.3074910014537130674.tip-bot2@tip-bot2/T/#u

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
See "x86/AMD: disable RDSEED on Fam17 model 47 stepping 0" for pending
opens.
---
v2: New.

--- a/xen/arch/x86/cpu/amd.c
+++ b/xen/arch/x86/cpu/amd.c
@@ -1246,6 +1246,43 @@ static void cf_check init_amd(struct cpu
 		if (!cpu_has_hypervisor && !cpu_has(c, X86_FEATURE_BTC_NO))
 			__set_bit(X86_FEATURE_BTC_NO, c->x86_capability);
 		break;
+
+	case 0x1a:
+		/*
+		 * Zen5 have an error that causes the 16- and 32-bit forms of
+		 * RDSEED to frequently return 0 while signaling success (CF=1).
+		 * Sadly at the time of writing the fixed microcode revision is
+		 * known for only two of the models.
+		 */
+		if (c == &boot_cpu_data &&
+		    cpu_has(c, X86_FEATURE_RDSEED) &&
+		    !is_forced_cpu_cap(X86_FEATURE_RDSEED)) {
+			static const char __initconst text[] =
+				"RDSEED32 is unreliable on this hardware; disabling its exposure\n";
+			bool good = false;
+
+			switch (c->model) {
+			case 0x02:
+				if (c->stepping == 1 &&
+				    this_cpu(cpu_sig).rev >= 0x0b00215a)
+					good = true;
+				break;
+
+			case 0x11:
+				if (c->stepping == 0 &&
+				    this_cpu(cpu_sig).rev >= 0x0b101054)
+					good = true;
+				break;
+			}
+
+			if (good)
+				break;
+
+			setup_clear_cpu_cap(X86_FEATURE_RDSEED);
+			cpuidmask_defaults._7ab0 &= ~cpufeat_mask(X86_FEATURE_RDSEED);
+			warning_add(text);
+		}
+		break;
 	}
 
 	display_cacheinfo(c);



From xen-devel-bounces@lists.xenproject.org Tue Oct 28 16:59:46 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Oct 2025 16:59:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152255.1482782 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDn2i-00036S-EC; Tue, 28 Oct 2025 16:59:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152255.1482782; Tue, 28 Oct 2025 16:59:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDn2i-00036L-Ao; Tue, 28 Oct 2025 16:59:32 +0000
Received: by outflank-mailman (input) for mailman id 1152255;
 Tue, 28 Oct 2025 16:59:30 +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 <SRS0=LPue=5F=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vDn2g-00036F-U0
 for xen-devel@lists.xenproject.org; Tue, 28 Oct 2025 16:59:30 +0000
Received: from mail-wr1-x435.google.com (mail-wr1-x435.google.com
 [2a00:1450:4864:20::435])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 776d0415-b41f-11f0-9d16-b5c5bf9af7f9;
 Tue, 28 Oct 2025 17:59:29 +0100 (CET)
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-3ed20bdfdffso6274876f8f.2
 for <xen-devel@lists.xenproject.org>; Tue, 28 Oct 2025 09:59:29 -0700 (PDT)
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-429952db80fsm20907256f8f.31.2025.10.28.09.59.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 28 Oct 2025 09:59:28 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 776d0415-b41f-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761670768; x=1762275568; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=IHmJC05K6d4S/ovQulh/0EGJ5FYC/LvcPbB3TlFHtKs=;
        b=H+Dn1LR5cRWB15ZCTAhO852uZffTKPu39JSDAfnckFGAkqmYwNPLcGffXuqgAGQivc
         yBxtgFgBLu1s1zRK01clTFzSvet47yirxYS37lz2SZR7P+k9k4MKZ8z4O8L6+StpBkmQ
         ON6Hwwlm1TeDEkULGDO22mjHKMu4+mgZYeFamliAylNZIQIDrrJUXJbu2di6ImUFb2/F
         CoSlYgj0wRZviz9O2LmiVdUxXQLF9kLOnp/LJ69xx0foGEpnTWJet6Ar+f7AEq9xUQvv
         I2P7nf9xo4ZfI9fr+Tv/0QrENh+R4Wq260Q2RMv6tcua0HwrjOYG0vNKaPV1eTppeaY9
         0xgA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761670768; x=1762275568;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=IHmJC05K6d4S/ovQulh/0EGJ5FYC/LvcPbB3TlFHtKs=;
        b=GGTI0Vuhuvs+gu5Dn67YcCQlOFyYPARFz4CmJ67VS1x0+aY0qtbVUlwAG/rSpMYf0Y
         Sfg0Npwurs+cmy57GzldFD8W/wYpRlbiihzW1mSdps2tsDZvk7kukbLw5WCMMc3WolB8
         FHlQSSlBKoRoKntB+3dwEd6HP0vYiKRSDRIaM7sVsrSCul/ph5LhDk2ntevMp7d1f4Yb
         tA+wIFuTRbm2d01o9YaxEE0Ev2TcqUMUJTG5x/43Gbmo0wJbuUORiRhOFy9fmcLZWKT0
         sqKv5HZYFqMrnelrR5mcTRm1eX/hJ5Vm9e1hg869GdDD6Op5OBaLZg0D/j4VF+NdReJ5
         Sn+Q==
X-Forwarded-Encrypted: i=1; AJvYcCU0K8YJdAarmkPxg1Zjh8c4/yqXQT5/1KPKlCILyhUMz9/Gpm1WZ6x5CgZb0Cb0fMenuDFbE431k3c=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx9vmw1aVc7Wh2ZZNU+DOfzgEYwpYELtzua+lKjHLZXIi+aPdmI
	jx184uooySAbMf1TmGdUuI25z1GmnaHTt6WE4TmPRko9SrXvwo1LhUZuPHaHvS+M9w==
X-Gm-Gg: ASbGncsZ2oBxTrUukLhYaQCkWCOqei4B0ctrbt0I0vcLkhkhsndLi6lj6GlBc2+shK4
	r+31r00d4MU8+MsEKjm+X1a0wQWJhh9R+u5yh9acbObyqcmpUfTdY3sZafMANzFNkez3o9uykco
	I+b4aptlC3W9KqcDolrAnWtwd3ASwsylaTSlMEYbd0t2hr0wS2yD1boxntCV6e2HuUDubacgj8V
	rd7m2ef+8wZYjnQL3GBGTOh9evcLF+R0j0dw4d9AsQmZN5Wah9WnhEJKE9FdOXR8iG8oVkjVuiD
	Wa3v1BbQlBD9fx7L0/gmNT/O0fvA47IDWpfyF3uhv1bB7AtuVyFp1TQL6nXZ4VJRDjEXDZYELLa
	/oAdwmh8vf59TKCllMX4r/TvC9GTUeEt1KqcO26ZT4sJbopJIawC/PaYSIG0Yhsv9NPTMSr9CGn
	4qA5XvZVJo2LykBN7GSLa87vCYQVnkHQbL/gCmWDTRiUEwhZFfgP9isWyA1Yf8
X-Google-Smtp-Source: AGHT+IFCuMd5vDNxYykCCAdJXbh2xiAUSe5J0sN+dpYjEKEoY/hEFKOyfWPXGfqOPUDeJ7qdco+EBQ==
X-Received: by 2002:a5d:5d12:0:b0:3e9:ad34:2b2e with SMTP id ffacd0b85a97d-429a7e7a764mr3490322f8f.46.1761670768420;
        Tue, 28 Oct 2025 09:59:28 -0700 (PDT)
Message-ID: <b68e74c6-2678-4670-996c-e7a05d61bc04@suse.com>
Date: Tue, 28 Oct 2025 17:59:27 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN][PATCH] x86/hvm: move hvm_shadow_handle_cd() under
 CONFIG_INTEL_VMX ifdef
To: Grygorii Strashko <grygorii_strashko@epam.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20251023151903.560947-1-grygorii_strashko@epam.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251023151903.560947-1-grygorii_strashko@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 23.10.2025 17:19, Grygorii Strashko wrote:
> --- a/xen/arch/x86/hvm/hvm.c
> +++ b/xen/arch/x86/hvm/hvm.c
> @@ -2168,30 +2168,6 @@ int hvm_set_efer(uint64_t value)
>      return X86EMUL_OKAY;
>  }
>  
> -/* Exit UC mode only if all VCPUs agree on MTRR/PAT and are not in no_fill. */
> -static bool domain_exit_uc_mode(struct vcpu *v)
> -{
> -    struct domain *d = v->domain;
> -    struct vcpu *vs;
> -
> -    for_each_vcpu ( d, vs )
> -    {
> -        if ( (vs == v) || !vs->is_initialised )
> -            continue;
> -        if ( (vs->arch.hvm.cache_mode == NO_FILL_CACHE_MODE) ||
> -             mtrr_pat_not_equal(vs, v) )
> -            return 0;
> -    }
> -
> -    return 1;
> -}
> -
> -static void hvm_set_uc_mode(struct vcpu *v, bool is_in_uc_mode)
> -{
> -    v->domain->arch.hvm.is_in_uc_mode = is_in_uc_mode;
> -    shadow_blow_tables_per_domain(v->domain);
> -}
> -
>  int hvm_mov_to_cr(unsigned int cr, unsigned int gpr)
>  {
>      struct vcpu *curr = current;
> @@ -2273,6 +2249,31 @@ int hvm_mov_from_cr(unsigned int cr, unsigned int gpr)
>      return X86EMUL_UNHANDLEABLE;
>  }
>  
> +#ifdef CONFIG_INTEL_VMX
> +/* Exit UC mode only if all VCPUs agree on MTRR/PAT and are not in no_fill. */
> +static bool domain_exit_uc_mode(struct vcpu *v)
> +{
> +    struct domain *d = v->domain;
> +    struct vcpu *vs;
> +
> +    for_each_vcpu ( d, vs )
> +    {
> +        if ( (vs == v) || !vs->is_initialised )
> +            continue;
> +        if ( (vs->arch.hvm.cache_mode == NO_FILL_CACHE_MODE) ||
> +             mtrr_pat_not_equal(vs, v) )
> +            return 0;
> +    }
> +
> +    return 1;
> +}
> +
> +static void hvm_set_uc_mode(struct vcpu *v, bool is_in_uc_mode)
> +{
> +    v->domain->arch.hvm.is_in_uc_mode = is_in_uc_mode;
> +    shadow_blow_tables_per_domain(v->domain);
> +}
> +
>  void hvm_shadow_handle_cd(struct vcpu *v, unsigned long value)

In addition to what others have said, as we're talking of unreachable code
here: This function also is unreachable when SHADOW_PAGING=n. If already
you make adjustments, I think you want to cover this other aspect at the
same time.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Oct 28 17:01:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Oct 2025 17:01:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152264.1482791 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDn4R-0004a0-O5; Tue, 28 Oct 2025 17:01:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152264.1482791; Tue, 28 Oct 2025 17:01:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDn4R-0004Zt-L5; Tue, 28 Oct 2025 17:01:19 +0000
Received: by outflank-mailman (input) for mailman id 1152264;
 Tue, 28 Oct 2025 17:01:18 +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 <SRS0=LPue=5F=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vDn4Q-0004Zn-Fp
 for xen-devel@lists.xenproject.org; Tue, 28 Oct 2025 17:01:18 +0000
Received: from mail-wr1-x42b.google.com (mail-wr1-x42b.google.com
 [2a00:1450:4864:20::42b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b811ba22-b41f-11f0-9d16-b5c5bf9af7f9;
 Tue, 28 Oct 2025 18:01:17 +0100 (CET)
Received: by mail-wr1-x42b.google.com with SMTP id
 ffacd0b85a97d-3ecde0be34eso59712f8f.1
 for <xen-devel@lists.xenproject.org>; Tue, 28 Oct 2025 10:01:17 -0700 (PDT)
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-47718fe6382sm23721525e9.4.2025.10.28.10.01.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 28 Oct 2025 10:01:16 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b811ba22-b41f-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761670877; x=1762275677; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=/UvbOvjBQOYoX0fPAjfJyDcRSsU7ePxkkpMQl82L5XM=;
        b=Je41eo9a7jOtj4Kl/Aq0wHN9Bszt0mDqyyuJD03F95tw3BhCiglTDe2BgVpMcyCmXt
         5IsP+2jkm9AXYQfS4wgh4bs3R6+nFKSGoizN36BzRZxctcGbJ5mENw+QVZtYf6awobci
         rtS1IBStEZriEpX14VPtzOSjwMX+9Cl1W8QqRydDZ7QzEoIkhIk2CQFDogS9Os4KQTk8
         3q+ZLgbS1bWkhD01krv6OJWzb9doxEym9xqh/6idrAz7Xu4Vj/pKz6Ef2pIplzi8y24k
         j1HRbg4c9qfTKO9Bdhtlk0ea7kqLSWdLuuIowDZXNPYIJQXZgHiTlCBi1Q00DNZMdT3R
         eKkw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761670877; x=1762275677;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=/UvbOvjBQOYoX0fPAjfJyDcRSsU7ePxkkpMQl82L5XM=;
        b=aiLLy0RZvivWYDQYmL9k7pBI5Qpt0vilMEvWmq39bPXW1LKCrGJH84aNrcvduOepLG
         j8mpGJkybvCeZ3Iy+QPJNSzooK7bnQCX64gobd9jzuKEWG3xqud0zRHwvilkRrVrm/Lj
         S5ckSlb1aQaGzBSua8tFOJ6OsENA2YWyWjHgd26oXOAXitkd0UIbtCRtAizl1Hhj5una
         U+00pf3uB6+5XwEogySjOSH8FLgqP6UXTEaCXA/CkjbDax4lM8MqmgqaAQkQDYvtuWFa
         s3U4blKgNPlMGILArfbWgy5DLt0fkZGeUSEJ2BiFFlzFfPNIA0DncG3xApeU64RHOGT7
         fdlA==
X-Forwarded-Encrypted: i=1; AJvYcCU84jfdxNKE2dZakA75JPc64j1Nre/owgDbRRz4gAd9WY2vEouVTdWuL+VAwKINydr9vRlJDdtNBis=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwVgfstH9SKBSPOaBFKA2/paB2jOPN57I8rHJVyiWuWvR8pgTYH
	W+Ou8j8pkxJP6Zq0FC3r3OvXVJVglFKXCM57mNkQjUgFUQORR8Gz1JJdKw+xipykqw==
X-Gm-Gg: ASbGncu4AaVidRhwKNeXynzVdKsvsjrzk1vhgTAn4slhh8+u+cQ9PGB+kERjUEdHrlt
	rbxUm0dRVAyCOO26sHt4uht9otkAl4Gu+2xA0Np4v+yGrjjpatZWNcRkuZlNUUY8/eoWB1Qz143
	vrsR5Is004I89uYS0+vM3vn/1QMfJlfM76P+8K1Blhg87pk2hh+Pe0eHlZT1ziPQFXRzhzzlvmA
	f2d3O25p5RpCrBj5VDmGHr1pI9lowR0lMWtNptzCNP6Mp2VLVCjNBoIfPYhlV9nru9BMzSk7kDp
	0b5ZLEYNCKspPBCl1bFsuFoJN1VWRdxHCHiJNyS2hD3/9KhZOJ/+etv9QFjjq/jxl+eUt1es2cb
	8TPQkJzfaxOZ6fUeeByfxTwQ6Kmb/mcHYvz1Ydb0TqxCw+dvMrHeCqYfityg+W3e3YjngX5yA87
	Vr63cyT1e/2r1b2UmTRYEt/Py9pgKcmNKuw/sHlCTeaSRfNvJFke1By8XLISac
X-Google-Smtp-Source: AGHT+IEFd0QESdK1IkEj5RhBEftExp0+zZ8+wIRuOFIpaqu51HlcPblAg/1D/nOqi8JUaCfNloQeBw==
X-Received: by 2002:a05:6000:258a:b0:3ee:11d1:2a1e with SMTP id ffacd0b85a97d-429a81b1151mr3674329f8f.10.1761670876918;
        Tue, 28 Oct 2025 10:01:16 -0700 (PDT)
Message-ID: <7c0ee0ac-294a-4de8-9e8e-26353ed65434@suse.com>
Date: Tue, 28 Oct 2025 18:01:15 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 02/28] xen/mem_sharing: wrap
 hvm_copy_context_and_params() with CONFIG_MEM_SHARING
To: Penny Zheng <Penny.Zheng@amd.com>
Cc: ray.huang@amd.com, oleksii.kurochko@gmail.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
 <20251013101540.3502842-3-Penny.Zheng@amd.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251013101540.3502842-3-Penny.Zheng@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 13.10.2025 12:15, Penny Zheng wrote:
> The only reference of hvm_copy_context_and_params() is in
> arch/x86/mm/mem_sharing.c, so it shall be wrapped with CONFIG_MEM_SHARING.
> Otherwise it will become unreachable when MEM_SHARING=n, and hence violating
> Misra rule 2.1.
> 
> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>

Acked-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Tue Oct 28 17:03:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Oct 2025 17:03:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152273.1482801 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDn6u-00057H-3r; Tue, 28 Oct 2025 17:03:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152273.1482801; Tue, 28 Oct 2025 17:03:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDn6u-00057A-17; Tue, 28 Oct 2025 17:03:52 +0000
Received: by outflank-mailman (input) for mailman id 1152273;
 Tue, 28 Oct 2025 17:03:50 +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 <SRS0=LPue=5F=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vDn6s-000573-T2
 for xen-devel@lists.xenproject.org; Tue, 28 Oct 2025 17:03:50 +0000
Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com
 [2a00:1450:4864:20::32a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 12e6caed-b420-11f0-9d16-b5c5bf9af7f9;
 Tue, 28 Oct 2025 18:03:49 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-475c9881821so744785e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 28 Oct 2025 10:03:49 -0700 (PDT)
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-429952b7a7csm21482917f8f.8.2025.10.28.10.03.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 28 Oct 2025 10:03:48 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 12e6caed-b420-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761671029; x=1762275829; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=5I6KpiJpQT1utCl3agCtZtX/eMflorVbrcYmy+6YtDs=;
        b=QhEfK9LZm5kD02S7atn59gYidHNZEGpmxtmQUfc36NM2VFLW8CU8XHsmbv5NkEGzUb
         CdGVYAHQvCbboS51WE/R58JfT1wkZ/NP5QYQBVf97S600nJct9DtZPkeRIIhJ22uBrpQ
         9rjY2Chw86Js2dcvYPAe53r1upcrmhzNs2+GLVT9bGM41oFhyaDsBA1uo04bpNFN2BrP
         okmQVxi4qTRtlG7IZOGP6ODa86k0bCFZF1k1TuhfyQJSA5wUknXsHH1eo9uOr/IQJ0t2
         g4b61lFeqp6cl7DDsrt6LOm4thfcl3OnpNqa1jdW6lI0k1M1cF0F8Pn50iJxRh82GiwG
         2KDw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761671029; x=1762275829;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=5I6KpiJpQT1utCl3agCtZtX/eMflorVbrcYmy+6YtDs=;
        b=n/3gXG6GNPNvtZxf2OtIOBoAIrkDks4aPGbtWJl5CgKk0Ax/ZxjcWIDrtorlZiVGcP
         9gAGyrWNVcXLjCOS2gIUaB9w4r2sAoeIk5SrHDu9f7Aczj43rYv9cNfFX20d2rFnIbOj
         7b0i1goK9q8k6vlpkSbrsrWBlequbloaTxPxLteQ/2yhBwzjGNgiGV5oHiIF//sX9JJ6
         SHZHlCvcmkRFxmKdaElqfndjcXkgs9wxmO5W/+xszewJiXmHHHDLZH3Izmmr4SGOS1/5
         LQ3UW7AI/l6NPX8nb30wkWiuoairHT5e03L7R8EmAu4RK/BdZ9dsr0LjnUYg90JFuEDA
         QFHw==
X-Forwarded-Encrypted: i=1; AJvYcCWi5BM7RORSpel2UaMwdv8felbePJtDZjntYQ/0GiFRTYqXoO6HobwuiAUPCCO/2Igtxn6ZA/T1Utc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwQt1ILfGXXsk3eEHc77thCZVFvLXPiJ4pO3Xltr+qDHPnCLSTR
	E8oJjMkvlefPoLlzZ5Ry+q1bd0WdPJxfEniXGjiZg2tArlSaF9JN01aGJ6K7aLkl+g==
X-Gm-Gg: ASbGncubVtRCC8hk5axlzoWqgA4loHQA3wc9nGOAhWgBKUTz1fSq8q1O/oMme8fIl61
	38XEaVl3sIyvw+OR/g8xG4LFdzA/Skrg/Lzue0mCJYxQ/aFlFTFU2Jqn3Uw8KNH54D8mQ322BLe
	IKPxfcQFlQAr8bOiBO8tatuNsRLTrVhy5qOZmWQtkYNpkOcEPj5rS2ugSmaDOB/KUHVN6eKl48p
	qlr/WxUHQlaZ3yIgITKhy8dquklTa9KabSwNVvwWnUaEmgD490+icSlR8QScUS3VAJrRBS4nKIW
	r+PgXLOcV8VtfKhrybXu+idfjcS87CcAZExofF3J4hHyzbh/xUJ5B2+LvQT1vvcl1lfzH3dr+T0
	QNot3wCAZROoenYRNDy0Syh+q4Jvsv9aN/PrMhi5xFppNRBr0kPfXQepyle3OKq3WaeM/CY/kz7
	O9jDMN0rJQhaA0ZqIA4J9ZJejgc7bmbjGnQJKep0LWyFf8ECUG+GyYbJM3Vr7g
X-Google-Smtp-Source: AGHT+IFrf22L7NE3PNn1biCh91bj/NKUi9kHHZQPfkBozt7l02ePKN4cAb9nNYBvUWuMnYISXqLWog==
X-Received: by 2002:a05:600c:c0d1:10b0:477:14ba:28da with SMTP id 5b1f17b1804b1-4771810a961mr30027765e9.5.1761671029235;
        Tue, 28 Oct 2025 10:03:49 -0700 (PDT)
Message-ID: <65b62723-97fa-484a-a0ea-885b61a571a5@suse.com>
Date: Tue, 28 Oct 2025 18:03:47 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 03/28] xen/altp2m: move p2m_set_suppress_ve_multi()
 forward
To: Penny Zheng <Penny.Zheng@amd.com>
Cc: ray.huang@amd.com, oleksii.kurochko@gmail.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
 <20251013101540.3502842-4-Penny.Zheng@amd.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251013101540.3502842-4-Penny.Zheng@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 13.10.2025 12:15, Penny Zheng wrote:
> The declaration of p2m_set_suppress_ve_multi() is in <asm/mem_access.h> and
> hasn't been included on compiling altp2m.o when VM_EVENT=n, resulting in
> undefined error.
> To fix it, we could simply move p2m_set_suppress_ve_multi() forward.

I don't mind the move, but a definition appearing without a prior declaration
is a Misra violation as well, iirc. So the missing #include will need adding
anyway, afaict.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Oct 28 17:45:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Oct 2025 17:45:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152288.1482811 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDnlR-00021j-1G; Tue, 28 Oct 2025 17:45:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152288.1482811; Tue, 28 Oct 2025 17:45:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDnlQ-00021c-UT; Tue, 28 Oct 2025 17:45:44 +0000
Received: by outflank-mailman (input) for mailman id 1152288;
 Tue, 28 Oct 2025 17:45:43 +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
 <SRS0=TLgo=5F=epam.com=dmytro_prokopchuk1@srs-se1.protection.inumbo.net>)
 id 1vDnlP-00021W-DW
 for xen-devel@lists.xenproject.org; Tue, 28 Oct 2025 17:45:43 +0000
Received: from MRWPR03CU001.outbound.protection.outlook.com
 (mail-francesouthazlp170110003.outbound.protection.outlook.com
 [2a01:111:f403:c207::3])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e99ede7a-b425-11f0-980a-7dc792cee155;
 Tue, 28 Oct 2025 18:45:41 +0100 (CET)
Received: from DB7PR03MB4140.eurprd03.prod.outlook.com (2603:10a6:5:34::10) by
 DBBPR03MB10393.eurprd03.prod.outlook.com (2603:10a6:10:535::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.20; Tue, 28 Oct
 2025 17:45:34 +0000
Received: from DB7PR03MB4140.eurprd03.prod.outlook.com
 ([fe80::e16e:b655:974f:43f3]) by DB7PR03MB4140.eurprd03.prod.outlook.com
 ([fe80::e16e:b655:974f:43f3%6]) with mapi id 15.20.9275.011; Tue, 28 Oct 2025
 17:45:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e99ede7a-b425-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=TX6urfmFGCS1p6jz6MB79rWW90cVarvzr0BBc+wCYlhkrujUO413t5qeQthabcnpFzigqbtyJAHe/F1wr77VuYSNoFY/z8z3sW3MAyDn0bku3UVE188Ngzhkf2zv3RhaaeaM+Abej8SE4rzUNtnhzX7528r709Z8yc7DWBtjRVlGCqoytl03FAA9OIVTigWjoxVs6vOBkI9UO4SFeePK2gzPNK6Crfcd1DrPYhk304oiD6X13H2xfumlZ2GaQf2vh687jJTCzygAx2imu8iF8UiGLABW+D+y29ANAauiYtMhuA5117vEVBRB5ShydmeB36r6Ystc03zA5h10KP2mbQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pCM7+BDwMCQjjBuvX0PQk2J+goZfyq9dQeQ+3u5GIh4=;
 b=QIc7meDs0S9vG9eKm0aE3JvOOHWi7KWDGyCyQeU9L5QyJtRXRQEcLniQ4/Bb6K9u3h4OVezLT3OYuMBc38yfkJ6eR7SWYwnwI1gp4T5s9vKOCTJewoV2+twUE/mccMSBkETCDKOTPIikKhlp18i44Btgyp0+CyahQpnx6fDl3AMP8gZrBZ5VH8q2PUhFwc+UTwimy/h6nHhUODFx2WNJvId+XKK/GYod1a+7R7W0HC+5z+7KA9F6CsQkEeh1vGg2dtoLzhNWPRQq4ZrS1GlTrlnL6FDF4sgGK2AWzF/XqS3aygwAkEUpRKpeX8lwEb+1Uc0wXUMCj9ttxZR6NHkt+Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pCM7+BDwMCQjjBuvX0PQk2J+goZfyq9dQeQ+3u5GIh4=;
 b=tSTxthkckUi/YrG2SVvECLIT+vO28uA25uwXSjeOYPI8ums6qJpajNe7RhCqurPR6feQq1yuH86crN1n48NbjsM6relScDjDRBnXKF+NkCgxCezGjeoUO7xbo/gAvNwC5amQQC2fmDDbMuYJ416kZVv1i7mKSbVtR8jibixY2tRfDzEyZWiItTGGnPIprKUNARHIHzL26urFFuAKES2D2wZ26VJKTp5Vs0MyDbbDnGe2dWPsb/xSvgsswI/kDBmKAeL7wwSMxAA7JbMNvDNWTG6/AVXMXP+KmssBRSmoMJeZJAgxw5TjopuVxUk0Dp7lPceWRNc9VQ/nB0Wau0VzGQ==
From: Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH] misra: avoid unsafe cast of __init_begin
Thread-Topic: [PATCH] misra: avoid unsafe cast of __init_begin
Thread-Index: AQHcSDKpkOVNAuGy6k6B2JYhgXsvqQ==
Date: Tue, 28 Oct 2025 17:45:34 +0000
Message-ID:
 <680a7418c445381d68fc95f0e3cd03f574fdda86.1761672602.git.dmytro_prokopchuk1@epam.com>
Accept-Language: en-US, uk-UA, ru-RU
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DB7PR03MB4140:EE_|DBBPR03MB10393:EE_
x-ms-office365-filtering-correlation-id: bef7a631-cdf4-4840-f97a-08de1649cc25
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|366016|42112799006|376014|1800799024|38070700021;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?G6I286iLwfXdwSwj3rGWWfagDo59gGQH+/3opC5cBqoHmH6SduUkX9Qo41?=
 =?iso-8859-1?Q?yWQPLCDv4SBAuK9RxbgCBVwCxgqpd6E/uE42y+81YFqim9Cnalk9Bjw03C?=
 =?iso-8859-1?Q?Bd6+3XV+AJMMjr3TtKDcWc2m9OyudhfB9kIib/DUWG4q3shbCvkd0UBGOj?=
 =?iso-8859-1?Q?c4yXl7Ihi5UbHFAo1HSGFI56zOf0hF0bpyAez0JngOfD4UHtmy9j5riOpe?=
 =?iso-8859-1?Q?ZEWTAy2o0azIJ6jqiGtIOerO7uXrTV7z4AV7m8X2+UMlgScuVAB11kSmDN?=
 =?iso-8859-1?Q?Z0IU01+rtXEg1X1CXyUXPAiOlB8uXUpweKj0bSE5n5eXB9KmC2UndDbGUY?=
 =?iso-8859-1?Q?wfhXzU+SuEJmcyosByepjo5H+Q9ggV23oPAaeNQqkfGwc0ya1Qtr2ZemAG?=
 =?iso-8859-1?Q?0/UVsREQVwHwJ585/g2e3L8jD1taMLOVP7QAn2vAiSq0stO44fYqQ6UKsY?=
 =?iso-8859-1?Q?Rpi01DRXFJ1PqjajzIOixPIcNSfg49699K6EQaU6CzWx2r3IjNa9ccAG0t?=
 =?iso-8859-1?Q?fJ1083wkbrVMsN8fNxd6ZFktrXUP3m8+eYWkw1qhMxsE5YMRyg+Yaqz4nO?=
 =?iso-8859-1?Q?irB9HWNj1qFUbvfOwG0GbB1miMMU/pF7BCLJ0uBLmI15/O6w+YGSRGXrCc?=
 =?iso-8859-1?Q?FxpigCtQ+qFALk6xOazNbdhLlNMzshfJUrpnv+styeiPqZH3dKnioteJH2?=
 =?iso-8859-1?Q?RuVIUfBuIU92b02c6yrFW0JsA1bHmJYezaL2D+eeXRTZT/VcJPp10UjP7I?=
 =?iso-8859-1?Q?9UQf2kOJuW2l43IdhNTSwQATQcND1UBEFnOjVzwR/UMx+3MVtUA0qgvN54?=
 =?iso-8859-1?Q?rEaeAW+gr85hn7uXcZJs3zDrSvowqXFCnT097dqo0ByyjBrqh/BByZbJI9?=
 =?iso-8859-1?Q?36LWL8u8h4k38kpXhRfIN3zjEgXiz9p8rViA9UxgxhCh8dq4U8+PAJ2TQc?=
 =?iso-8859-1?Q?OVXz4mULnVjU/Ul+uEHc4JYWQZhpQ4AgJTMOcipoHop/0wojoelXIBhMx3?=
 =?iso-8859-1?Q?yVk/EeDi3NyOxplz47WHJVFcvLLsGttWzrpmRGxAqK5zYWLvBwtjd+NmTT?=
 =?iso-8859-1?Q?rQNT0t/NWXThWnxZULldcVJ3LVlbtvLrsT6ufizFMCg9S+XVIBNvTRgSoU?=
 =?iso-8859-1?Q?GiO8yi4z9pCC1qI9/zeiMLjgsA6PUjTaHqC0NxcBDcKv+tk4Ar40X/5uRw?=
 =?iso-8859-1?Q?JetyItVwVOtzNuypUMNJm9bDA14anEPk+T3iJ58IzZLTAx+f3GIuTNBnQM?=
 =?iso-8859-1?Q?Z52NJ/2pmmGlF1LEbgVEd+jhdmwg7sNEZ2MzhU7nizGaWRTuK9BphBC3+l?=
 =?iso-8859-1?Q?Az5Qp9TpqBLnDzHVL6Oh0Yf2EejvNHUKLY8EXSdTMprcPpEaFm+IuHmSDO?=
 =?iso-8859-1?Q?d9bFubHecZgKf+5W/UOEA+40jN6wX9dRjzSVcXuBevR5GYj/YMu+6sjw6P?=
 =?iso-8859-1?Q?eG5SQG62OoswfT2a3dsqcKYpP3SYHe1227CYDmrl9wtBT2iCYCm8GXD092?=
 =?iso-8859-1?Q?ebCaFf+lf9Qcgi7k71/IiyaSWZjqPz0N8Z+6glu+I5roqssMzD369l0TfK?=
 =?iso-8859-1?Q?g9w7f/TQKUIYkmsYd3ByDKD72w9/?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB7PR03MB4140.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(42112799006)(376014)(1800799024)(38070700021);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?X4i5rYRGBtO/pfdeg3abE5IY0wDv26h6819sG+EP+D3Zo4tHGAXtdmp5cE?=
 =?iso-8859-1?Q?ALSqobKP4nkcLZ9RjNhTPWaSwbCyINBtkkG/U0bAyPwDiDysKJW0kPmIWI?=
 =?iso-8859-1?Q?jfqijiBSUlmmpk8ywF19j3ICPmxEWFRtXQqdUtC4mPQ2tvbz9ng8lOtMrT?=
 =?iso-8859-1?Q?Y9TyvREHuBAEdMWG/LVZThOIJN7WsOd3wHpnoh8Ns5xd0vScKqmqAGMNpj?=
 =?iso-8859-1?Q?bhDeitv4Kz60ZYsuKvjy9KT7fxjeRq6dvlgw6woCTqtSM7UdhMM3H08xLY?=
 =?iso-8859-1?Q?gfr43sn88sfYF+kBFTU1bnz1atuW3U3/jLUCOmREZcSq0zjYyEVSnkGenY?=
 =?iso-8859-1?Q?vHxUA+/7b8LhA0u8Lw/2J2GDGaYnJyTRuKonAMajxaYOy1HD4Qi/g6vWe4?=
 =?iso-8859-1?Q?3oZR0+T4SrD+PnH9NWvTKNXOfmoMI88VJu7bLKLI5I3KZFG4802oy31e+5?=
 =?iso-8859-1?Q?5EBvm7ZBa9Hl9vRvOUABUFvSaVn1XELmjjmf9CtMvvwyv4nqaWt94CI2aO?=
 =?iso-8859-1?Q?SyP4/BGivSFAdF8u4QRXQk9RCxS9l+vqEHdsVoRycz1wFXZ8A8k87VtT3n?=
 =?iso-8859-1?Q?QWtVkuDJUbHN5cfi4dDA2LS8lPh583F0foYThxY3X4hw8xDeXGcjLpiWzi?=
 =?iso-8859-1?Q?N7McixldRAA35j+z6iCEupar4g73ZfzyIe/bR8ovpIRUVHyjLFw7jlMR/C?=
 =?iso-8859-1?Q?1YG0YFw4ehQ/EzdX4BWPKWVbQvNE30ECe7Q2CDD7cc2YSnBdRp8tN/w9pQ?=
 =?iso-8859-1?Q?EPQsBqG9EWDeH+jHnTDrOojFvqn8qB0GhqWuNjT09QVt8yU8j2oFKc1jLy?=
 =?iso-8859-1?Q?nTgBNiVagNaiqFhxgXixkEvmRfYjK37RONGZ/ArISNU/TlpkOCe5IKYxUa?=
 =?iso-8859-1?Q?Dxnbfo4AbOMOHjSwEJn6v7V5HyCYW1ZrYGrQ+cv27lw7rVI+7VMZZsPXaB?=
 =?iso-8859-1?Q?JgauiOm1qq6eZkedokx0r22rYo2t3jBU77bU19QZ2+gbfYX4xYxv/0sAyZ?=
 =?iso-8859-1?Q?ofL8m4HpDqpOn6nWyyehoU0/RTvHHX16EfgsOPerkJK54bEzvLJB6WUHRb?=
 =?iso-8859-1?Q?TJNxkLjudE289vH/71AtJ4RPm2/xRoUx/AUgMK+y2BNkLvwkmw2hGgQfIP?=
 =?iso-8859-1?Q?lyTILrHROtJmKe4JT48t0ujRR1gu7bj/b/lRGT/cqnnWECg4IkElyYnIRN?=
 =?iso-8859-1?Q?iOyzdCbJnPv5Lin5nIS0EdD+6/Hu58UQGf9bOfpKqGSLDUO3/0htm2Lkkr?=
 =?iso-8859-1?Q?jRxFY/XseSzOEgaJwrcpsoMYOz9YVjBVWsdI7MRVN8zmV5FU0qdyRPDNvF?=
 =?iso-8859-1?Q?jzRNpxTKODQ9H+Vw+5R6ky+hNTJRQooH8iSVV/XgcvFitLBeBW+baRAAJD?=
 =?iso-8859-1?Q?JaqEKEBV6zWXo/02+upy7Sj80XABVOGO7yjahXpFZs65RALqRK4uIKomYo?=
 =?iso-8859-1?Q?jpVNox01JxP33cZALvR7T/YpDtbDvFuynyL9gqg+Heo86JNx4diYa+cBNh?=
 =?iso-8859-1?Q?fWSMOBedG6eFXE0XMsogaycydJ3dlRabZjZJRQyXNwks7ULVU8Kse6CNc0?=
 =?iso-8859-1?Q?w2mLhuFRlQ2pk04Sr4DnNk/Cxda4BJd08zKusxSb3pp1Ltm7yxURoL349K?=
 =?iso-8859-1?Q?uXO9O7FF3Zzo5wt8CRUwrGXIV+tLWnZwR4+mAoYlTYQiwiKyxKsMeY3A?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DB7PR03MB4140.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bef7a631-cdf4-4840-f97a-08de1649cc25
X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Oct 2025 17:45:34.5453
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: wmKvNnLcxAA7cVca4yqqGOcvk0SR/0cta8Vykcmcw9BFGkTZV+HTy1y8UMmZw1Ex2Qm9EH8FR5fx7EGtTGv1tzNpTyY/FdtfgLP0ipeSOO0=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR03MB10393

MISRA Rule 11.3 prohibits casting between pointers to different object
types (except for char types). The violation  with '__init_begin' in
the original code was that it was being cast directly to a 'uint32_t *'
pointer.

To resolve this, replace the direct cast of '__init_begin' to 'uint32_t *'
with a cast to 'uint8_t *', and use 'memcpy()' to write the instruction
value. Using 'memcpy()' avoids undefined behavior related to alignment
and type-punning, and is guaranteed to be safe by the C standard.

No functional changes.

Signed-off-by: Dmytro Prokopchuk <dmytro_prokopchuk1@epam.com>
---
Second possible solution (I hope) is using SAF comment.
The '__init_begin' is defined in linker script and has proper alignment,
so it's safe to cast it to 'uint32_t *' pointer type.

Test CI pipeline:
https://gitlab.com/xen-project/people/dimaprkp4k/xen/-/pipelines/2125897167
---
 xen/arch/arm/mmu/setup.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/xen/arch/arm/mmu/setup.c b/xen/arch/arm/mmu/setup.c
index eb8ed19ca1..00c4c8832d 100644
--- a/xen/arch/arm/mmu/setup.c
+++ b/xen/arch/arm/mmu/setup.c
@@ -481,7 +481,7 @@ void free_init_memory(void)
     unsigned long len =3D __init_end - __init_begin;
     uint32_t insn;
     unsigned int i, nr =3D len / sizeof(insn);
-    uint32_t *p;
+    uint8_t *p;
     int rc;
=20
     rc =3D modify_xen_mappings((unsigned long)__init_begin,
@@ -501,9 +501,11 @@ void free_init_memory(void)
 #else
     insn =3D AARCH64_BREAK_FAULT;
 #endif
-    p =3D (uint32_t *)__init_begin;
     for ( i =3D 0; i < nr; i++ )
-        *(p + i) =3D insn;
+    {
+        p =3D (uint8_t *)__init_begin + i * sizeof(insn);
+        memcpy(p, &insn, sizeof(insn));
+    }
=20
     rc =3D destroy_xen_mappings((unsigned long)__init_begin,
                               (unsigned long)__init_end);
--=20
2.43.0


From xen-devel-bounces@lists.xenproject.org Tue Oct 28 19:45:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Oct 2025 19:45:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152373.1482838 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDpde-0000Hw-JY; Tue, 28 Oct 2025 19:45:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152373.1482838; Tue, 28 Oct 2025 19:45:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDpde-0000Hp-FY; Tue, 28 Oct 2025 19:45:50 +0000
Received: by outflank-mailman (input) for mailman id 1152373;
 Tue, 28 Oct 2025 19:45:48 +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
 <SRS0=EUly=5F=citrix.com=andrew.cooper3@srs-se1.protection.inumbo.net>)
 id 1vDpdc-0000Hg-EV
 for xen-devel@lists.xenproject.org; Tue, 28 Oct 2025 19:45:48 +0000
Received: from mail-wm1-x343.google.com (mail-wm1-x343.google.com
 [2a00:1450:4864:20::343])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b07edb64-b436-11f0-980a-7dc792cee155;
 Tue, 28 Oct 2025 20:45:43 +0100 (CET)
Received: by mail-wm1-x343.google.com with SMTP id
 5b1f17b1804b1-4710a1f9e4cso52020965e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 28 Oct 2025 12:45:43 -0700 (PDT)
Received: from localhost.localdomain (host-78-149-11-196.as13285.net.
 [78.149.11.196]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4771e196b27sm9405855e9.8.2025.10.28.12.45.41
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 28 Oct 2025 12:45:41 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b07edb64-b436-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1761680742; x=1762285542; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=lxiCxRY8d4eGtW/Qi4B/sJKi4SxqOMGS2SmQxzLiI1U=;
        b=rDcxmIPCW8Bki9rvn2wLv2dbCrzTlOAs0dfTqBbzq5Me6eZeqcToT9V8kbxhGRraG8
         ASepgV2xqu1qbZKEIBw0z5sFncnMj216D240bctYWP6fWUYAlst2jgzs4BCrRj5Lo6XL
         RKiIrZOHEwa3CPI5ZR2Z09PV5TCndvj4EMoQI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761680742; x=1762285542;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=lxiCxRY8d4eGtW/Qi4B/sJKi4SxqOMGS2SmQxzLiI1U=;
        b=OSSpe/fnPzuTVslKosijSsmqEG/NOA29MAxq/uwN8vRdGlxkTviAs1Zc6U7Z7mICs/
         /TsyE56EQlkGx5qXuZJiQTQClppXpmPXafKRQlnnW9SES4bxccUr/XZz23lhOgjQxn2S
         HabfJdsO7dwKiOemQchTQVv3MUdnxGqpcPcJEyVNyCve/4TxDKwg4hpIoAoHPxyj9h+p
         hmca8ecQ6dNekqlnzVcQ/a8zqo/VmAahkf/8hWkmq8bqfSUIBNE66wI0pZiWqxTTjQSw
         1bpbHjpznIENRCOnN6d/GvthCTLYaxMjb9QaZV+B0P9eOm136Z5CWxuRrb+5zecGuoFn
         lYvQ==
X-Gm-Message-State: AOJu0Yzwcg/ygaNSYZDJ6gHVpFbgn/I+wo+NSAQh0JpNx4w9csJ9ZHFx
	iwCF5hvkB98FcnoozY7DsdHze0TDNEGeX2orYjFKhp95U8aCSkgHhk86l7qvxCD9/d+cPsT2BrE
	O+KPWTNQgtzr5
X-Gm-Gg: ASbGncvo0miaZvDS7BfoC5aEJi0C+3OB5up6pH6CE/ccrmqDkkWniKsubFMdNv92ncQ
	Pm/SDQfMG0ad9Mc/iJtbl0yNJ1jOozFct1Ll+WgV3D6gZMKEOwA2OCVGJSKvr9K6WV9FmrNd3+k
	qzmesG8SSW1B8FLEp0MqPE6oU0wF4gFYYk64J9dYNqjzh6HGJ9yhYKfqblNmL9OjEfhYVsjCY7B
	A1yLJ8+REStXMl79AavdASmUPyZXUGdebXAA2EtqEL+6gAB5w00yV5Vndmp6pFDN9DwABuQ9+dI
	98fU/k4uQoNq1C3SuZWzgBX19IdJEfR/LVM/BPWP/Wok6ycpuC4D7s7TwBNwpOJtauNQxMY6u/O
	PWB3JoTn/N9H2pu/SM+aSnriyoYXr4+BeEYWlN0blZSCwJyWazPvSbmcz7a0Qc4NCoAh00Scpq7
	qONUUmVCYOMaI3MVfd+vbbeAg6SvlWagsCwsMeRksx9WPaEJtEI3I=
X-Google-Smtp-Source: AGHT+IGhuzE6q6qlyaXNO5btIwar6Uz/izMsx74DPM4TXWAWYqkL3y8JQniGJQxliBnQ0on0gCyHrA==
X-Received: by 2002:a05:600c:8714:b0:46d:5189:3583 with SMTP id 5b1f17b1804b1-4771e1196f0mr5955025e9.0.1761680742225;
        Tue, 28 Oct 2025 12:45:42 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <JBeulich@suse.com>
Subject: [PATCH for-4.20] CI: Fix microcode loading on Xen 4.20 and earlier
Date: Tue, 28 Oct 2025 19:45:39 +0000
Message-Id: <20251028194539.3668470-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

CONFIG_UCODE_SCAN_DEFAULT only exists in Xen 4.21.  In older versions of xen,
use ucode=scan on the command line.

Fixes: 690655a511cd ("CI: Include microcode for x86 hardware jobs")
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
CC: Jan Beulich <JBeulich@suse.com>

The fixes tag is the 4.20 backport, not the original patch.  Found while
trying to test the microcode loading backports.  (At least the XenServer
testing has proved more useful).

4.20 is the oldest branch that tries to load microcode in Gitlab CI, so this
does not need backporting further.

https://gitlab.com/xen-project/hardware/xen-staging/-/pipelines/2126131501
---
 automation/gitlab-ci/build.yaml                | 1 -
 automation/scripts/qubes-x86-64.sh             | 4 ++--
 automation/scripts/xilinx-smoke-dom0-x86_64.sh | 2 +-
 3 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index 5d382bcd246e..5f0acda942ac 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -306,7 +306,6 @@ alpine-3.18-gcc-debug:
       CONFIG_ARGO=y
       CONFIG_UBSAN=y
       CONFIG_UBSAN_FATAL=y
-      CONFIG_UCODE_SCAN_DEFAULT=y
       CONFIG_XHCI=y
 
 debian-12-x86_64-gcc-debug:
diff --git a/automation/scripts/qubes-x86-64.sh b/automation/scripts/qubes-x86-64.sh
index e20a38e4f396..7a8b12cca483 100755
--- a/automation/scripts/qubes-x86-64.sh
+++ b/automation/scripts/qubes-x86-64.sh
@@ -247,14 +247,14 @@ TFTP=/scratch/gitlab-runner/tftp
 CONTROLLER=control@thor.testnet
 
 echo "
-multiboot2 (http)/gitlab-ci/xen $CONSOLE_OPTS loglvl=all guest_loglvl=all dom0_mem=4G console_timestamps=boot $extra_xen_opts
+multiboot2 (http)/gitlab-ci/xen $CONSOLE_OPTS loglvl=all guest_loglvl=all dom0_mem=4G console_timestamps=boot ucode=scan $extra_xen_opts
 module2 (http)/gitlab-ci/vmlinuz console=hvc0 root=/dev/ram0 earlyprintk=xen
 module2 --nounzip (http)/gitlab-ci/initrd-dom0
 " > $TFTP/grub.cfg
 
 echo "#!ipxe
 
-kernel /gitlab-ci/xen $CONSOLE_OPTS loglvl=all guest_loglvl=all dom0_mem=4G console_timestamps=boot $extra_xen_opts || reboot
+kernel /gitlab-ci/xen $CONSOLE_OPTS loglvl=all guest_loglvl=all dom0_mem=4G console_timestamps=boot ucode=scan $extra_xen_opts || reboot
 module /gitlab-ci/vmlinuz console=hvc0 root=/dev/ram0 earlyprintk=xen || reboot
 module /gitlab-ci/initrd-dom0 || reboot
 boot
diff --git a/automation/scripts/xilinx-smoke-dom0-x86_64.sh b/automation/scripts/xilinx-smoke-dom0-x86_64.sh
index e68b0ce61faf..468143376df5 100755
--- a/automation/scripts/xilinx-smoke-dom0-x86_64.sh
+++ b/automation/scripts/xilinx-smoke-dom0-x86_64.sh
@@ -15,7 +15,7 @@ WORKDIR="${PWD}"
 TEST="$1"
 PASS_MSG="Test passed: ${TEST}"
 XEN_CMD_DOM0="dom0=pvh dom0_max_vcpus=4 dom0_mem=4G"
-XEN_CMD_XEN="sched=null loglvl=all guest_loglvl=all console_timestamps=boot"
+XEN_CMD_XEN="sched=null loglvl=all guest_loglvl=all console_timestamps=boot ucode=scan"
 XEN_CMD_EXTRA=""
 DOM0_CMD=""
 DOMU_CMD=""

base-commit: 3324a6dbb25bb2975c35f4f2b20c6725f2a7724b
prerequisite-patch-id: 9d3f448db19cd78efd8ff7a82f1e3e19d3fc53e3
prerequisite-patch-id: 041eb4352fbc857fbad3a29bf9b0ed04f31c31be
prerequisite-patch-id: 35e1edd03c25f555fdf0f6eb1d71e80fa9ef77eb
prerequisite-patch-id: 20c59be6b65c2aa61e2a364db27edcce2477f6f5
prerequisite-patch-id: 70359f42f93eeb549f0fcbcbf39a5df99ebeffc0
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Oct 28 19:57:31 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Oct 2025 19:57:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152382.1482848 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDpos-00023v-HO; Tue, 28 Oct 2025 19:57:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152382.1482848; Tue, 28 Oct 2025 19:57:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDpos-00023o-EG; Tue, 28 Oct 2025 19:57:26 +0000
Received: by outflank-mailman (input) for mailman id 1152382;
 Tue, 28 Oct 2025 19:57:24 +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
 <SRS0=pDzw=5F=citrix.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1vDpoq-00023i-8r
 for xen-devel@lists.xenproject.org; Tue, 28 Oct 2025 19:57:24 +0000
Received: from CY3PR05CU001.outbound.protection.outlook.com
 (mail-westcentralusazlp170130007.outbound.protection.outlook.com
 [2a01:111:f403:c112::7])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4fd79ae8-b438-11f0-980a-7dc792cee155;
 Tue, 28 Oct 2025 20:57:21 +0100 (CET)
Received: from DM4PR03MB7015.namprd03.prod.outlook.com (2603:10b6:8:42::8) by
 CH5PR03MB7861.namprd03.prod.outlook.com (2603:10b6:610:20d::8) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9253.18; Tue, 28 Oct 2025 19:57:17 +0000
Received: from DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9]) by DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9%3]) with mapi id 15.20.9275.011; Tue, 28 Oct 2025
 19:57:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4fd79ae8-b438-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=GcCIo762WZi4EV0AgY35X8NANa1GyAt7HboR6ndni5np2Dctyt2QUR2ZL24f0vXF2tayMI5hMdMoNuEZsAb5v/36Ov8SbGxt+LVB8UdzcLvtc2iDq5AQqiXtUOVTAQS0TO8dJYgYgJFfA8PIlHvLC6s6dYEsvHaZAZI2/Wq5Vd319p+YfoMzJLDYa4NzO5p+22/DV8RTR7ixEOFQk8K5zDH9PkfEoItqSvpPhCsIQgoTKQkIUwylhsAQ73yUxn4lhoVeXTOgrhaD8eFc10fksrQdbBOAN7F/Qld/E+i8JQ9f1eTskUbQILzkeKA46p+cW/uzicZD8wQE78QzyyakCA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6IIgSA0kMWtXWV/F+EtIK0Whz55JWtvAEip39HJMEx8=;
 b=q14mZyyVa/Fiayuz+/NvesbdwBV4E+PxyjLJNV5HJbtBsB+ibQVjJUANH7ULj6GV0vWrgcKCB9/Nx3Gp1+MkYztos4Ih7DAyXqs5i8SC0pk8TN7SblgnzIZn0Rfuen8d/ZuMOsOix8ifRvtn1FM2P4izmKd8c+9mOzWYTFImrL0lHGJvx9A4Xnv3ISGzB5wwtVK3KG0uVQNv1Ybo+MPJKB5zmCdQhDXGWFNBYzq/XsDUnWW/vHPBBHc1t99eYmS+B+1eDbuqYzE8rxBBfP20RMIbhDAVz499qyWN1HXly6rGSC1I2P9k+HVdEVDGQsySXh1NXiGW6d/ETSu9qCNshw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6IIgSA0kMWtXWV/F+EtIK0Whz55JWtvAEip39HJMEx8=;
 b=XyyL9H/i4mkDkdsR8u0j9HZEmSdGv0F6DRntsSuLPuM+GriOxzsqj7cVl8h8pC0I3aOnWDT3nCRtVUQV/oXaDuU0jgTuvONY88PFBlxuFF/w4wCOJ669HdcK5gAeglgKlJenHmkCbH1WCvFTjg78e6WBATt4itiPb/HGEu1DkFE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <b7e9eff3-c3ff-4b88-92ee-cec9f1a4cf03@citrix.com>
Date: Tue, 28 Oct 2025 19:57:12 +0000
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] misra: avoid unsafe cast of __init_begin
To: Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <680a7418c445381d68fc95f0e3cd03f574fdda86.1761672602.git.dmytro_prokopchuk1@epam.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <680a7418c445381d68fc95f0e3cd03f574fdda86.1761672602.git.dmytro_prokopchuk1@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0166.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:312::10) To DM4PR03MB7015.namprd03.prod.outlook.com
 (2603:10b6:8:42::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM4PR03MB7015:EE_|CH5PR03MB7861:EE_
X-MS-Office365-Filtering-Correlation-Id: a715f503-1836-4ee8-cbb9-08de165c31fe
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?OStjOVdtRFVLWlNXalpkd2Y2QUduanFvMi9Wa04wYTdnVWhsWk5OS3RBd0Zs?=
 =?utf-8?B?OTVyYmh4WEhza1dTUWUvVmpzUHMzNk1CU0hOa0RUT1RTSUlQZWhLNUtjM0Nw?=
 =?utf-8?B?Vzg1L09jbGZqSko4SXVDbXZsOXd0MHk5MVQzVUE2bXJBc3hic0kyak0ramdl?=
 =?utf-8?B?VUY0azB2Y2NVOS9NSWVjZWhRaEI2bDVYWnlqZzBLazJyRjA3V2J1ZnkrVEpn?=
 =?utf-8?B?YmxUdjBXbG1GL0hRQUZIWVdpbE5ZRlQwUFR6QUxZa0pyRlpPdTdkd3hUMjBo?=
 =?utf-8?B?MUI2eVZWNlhKSjlKZW04NGpvVGNRU200dUV2Y21ZSzJIaSsyeFhKVDFWbTd2?=
 =?utf-8?B?WDJIWTA2dld4TGNXMEQ1UWFnWDJsS1BlTlJ2K0YzYWdDNHpYeW5HV1p3dXY1?=
 =?utf-8?B?MUJRSjRKL1p2RWMvdU5HK2RxSXR2WFlNekJXMi9iMjRNN3gvdWF6UXRjQzhJ?=
 =?utf-8?B?NlpTaGoreS9jRHErRmx3M24wZkcxUXFyYlZGdjdaZHdaTHpqMnFpUUs5RjAw?=
 =?utf-8?B?aE5tOWN4THFoU1pjOGNoaVpkbkVCcjRqSytMaGloRk5wZEtYdzZvYzVHejRw?=
 =?utf-8?B?ZG5DZUNseTZBeXF2S1NmVVAycGt6eXFqMFJlMWVQUUlsK3BYMTBuQTNXV1hF?=
 =?utf-8?B?YmF0cUtUVmpaRGZFQmY0clhBbHFFU20zTlpIc0RPSU52YTc2a1Q2MWdXT0Zq?=
 =?utf-8?B?RkhvUmVWcEdBNnhMeEVEZWIvUU1WL21pZE1xRUJRbE95QWxTeGRrMFZrQWJ1?=
 =?utf-8?B?ait2Y2Zrd3lDTjk4emlsbGwwdS9rVGZWaGd1bndrU1JDM2d5bjZIY2R5WVI2?=
 =?utf-8?B?VWNNM093VTlyUWsvV3B6WGhtRmwrOXI3OXZBN1lJMVZvYWlUTGtvNXRIWXll?=
 =?utf-8?B?VFRuTmJlY3NwMVVTc3VDWFFKa0NiMUo5VlNFcWZvdEdRSVFkV1lYWm9WNEw3?=
 =?utf-8?B?ZUk0a0Z6MnZsNkR1R3dUZnhvNTM0ZVkxaWQrcDZ0dERpK0dqWENaOHc5bWk1?=
 =?utf-8?B?VHlNM1ZBRVlnMUhiSW9ydXVWWlVhKzFLTm5CK0dYeWRCZkhrWEk2Q2JaWFhu?=
 =?utf-8?B?ekZXNEJsQTZ4WGdPd0NFWGpOeG5mYm9KdDJ6UE02enZ4REdHb3BZcEozcTRq?=
 =?utf-8?B?Q2JDUmJFcjAraG1MRHUvOVMrMXU0Z1YySGpMbWJJbTNKZmJQOEVidHAxQ1FF?=
 =?utf-8?B?QXB1YUQya3dJaDZjYzJLK0svUFYzVWlzYzc2YzhoVEJiLzJJbGJLUnBVd2ph?=
 =?utf-8?B?clNtVjl4Nms5UTdadlpCNFBLLzhGbERta25HNUZDZkVhbUc5dklBZlg5L0VW?=
 =?utf-8?B?Qk82NnM0a2RSOHFEZ2FHWWZaczZGc2JReVdvSTl0UFZpeHN3V1dRbXlrcG1k?=
 =?utf-8?B?SU84YmxzcnNYWEEwaEFxRm5zN0dyQkxOWGhnaEtKVVgvbEIvODVFYUdoWUdU?=
 =?utf-8?B?QkwxQnErNG5oNUlhSWx2enlxMHMzdWZjNCtsRzRQdFFqa3VGdlUxOHY2dThV?=
 =?utf-8?B?YjZ5cEM1Q0lEUWNORkdTQ1ZLWjV5SVNNSUdvTHZuSU5ET3RhWEh5YWczVm5E?=
 =?utf-8?B?aHp6OTJsTWlIcVF6bVRkV255MG0yYUFOUGJrdXJDRGdLL3d5TnpzT1Jobldh?=
 =?utf-8?B?WCtCQnY0dGJhVHB5cHhIdkhOUlBIeUNkRklCMktjQnZwYUVSQjc0Qjc0K25k?=
 =?utf-8?B?c1dJUVkyUVFpZHhBYVdRVi9VMGRGTUJlbVFGdEtneVVLdG5WMHcvVUsrKyto?=
 =?utf-8?B?MU5FUTYyU3djdVc1V1hZUncrd1doUlM0N29SK09VNnBRWkZhMUc0MWRYaFly?=
 =?utf-8?B?bFh3ZGVOOEcwelVtb0JsaHlZaks0TS9JN1Q1ZEsyOFRlbEl2clhJdk5hcm91?=
 =?utf-8?B?eEd6RVRIOWQ2SGhBSldFNDErWVpYa0UxazFOMEJOMGprdVo1NkhtRitlRzZu?=
 =?utf-8?Q?CyeeY7Pl+PeCYkudIOeA0qlpOjBK4WWA?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR03MB7015.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dDBDSUNCRWJ2b1NOcE5uSW5OSjU0Z2JreE04aXF4VTZaeTE1QmFYdXNsek80?=
 =?utf-8?B?M29lTWtpRG5WUmtDdGg4MXVEWVpaMkhFVW1penRsZ0xRNHc1bTdQU3Zwd2Rz?=
 =?utf-8?B?K293ZmZVRXVZQUl5blpBVXQwdGNqbTJVeVNhcUtYQXRBOXg3bnIydVNEc2U2?=
 =?utf-8?B?K0lDcUlmTmtFeFVhTDczYzFLSkhvS1VYOHZSUFdqZSsvRVV3ZktKSzZ3MVBP?=
 =?utf-8?B?Um1NWTUzV1ZnS0FBM0ZLWnQvanFxSmhnRzk0bTluU2VZMTdvOTFzcWhRVy9E?=
 =?utf-8?B?NWNRN0RvSGUySDNTU0d5M1lyRkthMU4rRlhUWDlPS2U0Vko0TytOVU90T1gr?=
 =?utf-8?B?S01LVVYrSzJ3WHh6dDZrbnRzdmdVTEc2OUNKUGFJcWtEZElvZTU0ZHdzaEtK?=
 =?utf-8?B?bm0zSDJOVnZTRnpGUC9BYTNoOFNpNUFnTXZYWlQrTy9wa3crTCtPNWJGbHdz?=
 =?utf-8?B?MnphVUxBbXpLdlBEWXI3a0JqWittZmZYZFFUWHFRTTBSK1licXBFbDF2MlZo?=
 =?utf-8?B?c01SYitlNFJKZ082OWdwWFFuZ2s1MU5YSVRRSk1xclgvUXFFNHZGOWJPTi9I?=
 =?utf-8?B?bmFkdUhOMS83Z2hvWERTTXFieGNlY04yOVZEZ1kvMFF0Z1E5cjN3T2c5dThu?=
 =?utf-8?B?ZFRLS1AwSWFXTHFoTnBKLytxbXNoN0UyUTlzUzRmL2RoMUkvYXVXeFlnNVdN?=
 =?utf-8?B?L3NTWXE4MEZZOWIxd3hNeE9EeHAyRjNZcTF0dTF5UzcwRmgxOWFRdG1nMzZu?=
 =?utf-8?B?WlVnWXBqRGRMUTJCQ3hzT1k2NERVdnhOcFZEVkFtQlFpR3FyMXlBRWN1YVpZ?=
 =?utf-8?B?RHVxazdFdmtjaCtSR1p5SGZxdzhlV05tcVA4TW5MN3lTczI1YnNTd0g0VzB2?=
 =?utf-8?B?MkpLOFBxTU5seGN6ajVVenk5NEQ5NkFqTEtlQkZWV2hzMHhrWU5EcytUTTZP?=
 =?utf-8?B?VDl3Z3BEeENENU11U3dOemV4Y0Y0VzBtMUt4aGJrM0RITmM4MElIRTRENGFk?=
 =?utf-8?B?bDI5d2ZkbytWTGRCRHEwVHhndWhzanZWZjZWR1FTZUNYTC91a2Q3ZkNMemUv?=
 =?utf-8?B?UFEzZ2lUTHhLc1FlWWRBNEhqZzRpQzdrazE4UFZ0cDlONWtkNVd4RlhqU2Vx?=
 =?utf-8?B?bGw5UWFGS25FZTNvNXg3TllLVEdnQXgrV0ZMUE52ZytKbzYySFljTk13NUdi?=
 =?utf-8?B?RzFKVWpabmtnV0ZtMENzMzd2SzZmL3lvdUJ6MnRybWlaZGJsTldmcmhQelE3?=
 =?utf-8?B?di9ZSzdxejIyTTkxd1AxNWdEN2NiK2p1MXYxbGNwc1VPQXllTk94UlFPMllm?=
 =?utf-8?B?WTc0OG82VUorN3QyQWVBVGFYU2ltN2UrclZzRllvM3ZTTmRKdUpSMWVvVWlJ?=
 =?utf-8?B?QVZyeERrVEV4T25xOGU5bXRNZEd3NUdhU3pHUXZ4TlhGamczKzlmZnBGRGUv?=
 =?utf-8?B?QytzMkJuSE9mMDNtWDN5S3NHd2lVTHVSRy9GMzBSVE80NHY0M0V2N2tZUjcz?=
 =?utf-8?B?bDVEbE5sZVJ2Ym9XcSs3NVBvVjFpcjRZYnBnZ0pLMy9VSG1kNkY4di9ZS1lI?=
 =?utf-8?B?Vmh2Rld3T0ZpZGpDcVZRK0J5ekV5S0tuOEEzZTN4Y1Z0aXF1ZDFNWTZydFFG?=
 =?utf-8?B?Sm9NaUpxUDNiWHNRaW1VNkl4RTd2ZXdHa0hvWGxUYWI0MU42ZTBNOXowR3ow?=
 =?utf-8?B?dzhtcWlMYUloaVBNdmFod3dQMmNEc3RiSlAyK29WUlQ0bWF0SHcwU05hSkNE?=
 =?utf-8?B?emhZQ08yS2UyYm16MktyWkQ1a01VY3R5UjA5WWtJOGMrdkdsZERFd0lLSy85?=
 =?utf-8?B?cDdMTjc0bzBFOVJGd1pOZlBGVElaQW11eDdsdjArelFJOTJING91Q1Urb2Nv?=
 =?utf-8?B?U3BWREs3Y1p1VWZHT2NqM2ZqcGxwR25MZ1ZkOFYrWnBxWGVKVngvQ0ZwRlZ4?=
 =?utf-8?B?MktrMWJROXNPZ1A0VWFhdWZMYml6c0NjSUZrVkdsQUYyMnQ0Rzl5MVNXeDhw?=
 =?utf-8?B?Sjdoa2U3QzRaVzVMR2x4VUVOZEZSOGoydFlSZHp5R1NWRzd5dkk5VkZ1MURi?=
 =?utf-8?B?ZmlOdzN5NkNjbnNJQ0IvUEV1TGRwZEVNc3dLcHdDc0VQTGYxc2hKZms4ZVRR?=
 =?utf-8?B?VDVKNDJ2cXg5VE5YUURPcDFkRk9Fa3BVR24vRTVpbUF6OW5oaWNmU2ZWUGlC?=
 =?utf-8?B?dXc9PQ==?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a715f503-1836-4ee8-cbb9-08de165c31fe
X-MS-Exchange-CrossTenant-AuthSource: DM4PR03MB7015.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Oct 2025 19:57:16.8536
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: tKppHol4mOHypw0ky834x23Q1WDAAs7qUx7gT7Hv1LK/2eTXxSktfFI6ieUb4zHB3pzR81Mhslesq5Qn6EqYBKq3kMGU/hz3cGOclrIsEg8=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH5PR03MB7861

On 28/10/2025 5:45 pm, Dmytro Prokopchuk1 wrote:
> diff --git a/xen/arch/arm/mmu/setup.c b/xen/arch/arm/mmu/setup.c
> index eb8ed19ca1..00c4c8832d 100644
> --- a/xen/arch/arm/mmu/setup.c
> +++ b/xen/arch/arm/mmu/setup.c
> @@ -481,7 +481,7 @@ void free_init_memory(void)
>      unsigned long len = __init_end - __init_begin;
>      uint32_t insn;
>      unsigned int i, nr = len / sizeof(insn);
> -    uint32_t *p;
> +    uint8_t *p;
>      int rc;
>  
>      rc = modify_xen_mappings((unsigned long)__init_begin,
> @@ -501,9 +501,11 @@ void free_init_memory(void)
>  #else
>      insn = AARCH64_BREAK_FAULT;
>  #endif
> -    p = (uint32_t *)__init_begin;
>      for ( i = 0; i < nr; i++ )
> -        *(p + i) = insn;
> +    {
> +        p = (uint8_t *)__init_begin + i * sizeof(insn);
> +        memcpy(p, &insn, sizeof(insn));
> +    }
>  
>      rc = destroy_xen_mappings((unsigned long)__init_begin,
>                                (unsigned long)__init_end);

I'm in agreement with Eclair, this is horrible code.

Putting an undefined instruction here is pretty useless.Â  By the time
destroy_xen_mappings() completes, you'll suffer a pagefault from trying
to execute there, rather than actually getting to execute code.

On x86 we simply zero the memory and then hand it back to the heap
allocator.Â  ARM doesn't seem to do this yet.

Irrespective, it either wants zeroing, or maybe SCRUB_PATTERN as we use
for other invalid memory.

Both of these can be done with a simple memset(), which simplifies
everything.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Oct 28 20:18:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Oct 2025 20:18:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152414.1482938 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDq8j-0005ku-2B; Tue, 28 Oct 2025 20:17:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152414.1482938; Tue, 28 Oct 2025 20:17:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDq8i-0005kn-VI; Tue, 28 Oct 2025 20:17:56 +0000
Received: by outflank-mailman (input) for mailman id 1152414;
 Tue, 28 Oct 2025 20:17: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
 <SRS0=/ld8=5F=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1vDq8h-0005kh-BL
 for xen-devel@lists.xenproject.org; Tue, 28 Oct 2025 20:17:55 +0000
Received: from AS8PR04CU009.outbound.protection.outlook.com
 (mail-westeuropeazlp170110003.outbound.protection.outlook.com
 [2a01:111:f403:c201::3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2f5e67f3-b43b-11f0-9d16-b5c5bf9af7f9;
 Tue, 28 Oct 2025 21:17:54 +0100 (CET)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by DU0PR03MB10147.eurprd03.prod.outlook.com (2603:10a6:10:474::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.19; Tue, 28 Oct
 2025 20:17:49 +0000
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593]) by AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593%3]) with mapi id 15.20.9253.017; Tue, 28 Oct 2025
 20:17:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2f5e67f3-b43b-11f0-9d16-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=PAM0GP6TieCgzW6751OI+IoAJ0ECPBBRoJM+g8VRoa6c5PsKZozGbNNb+Y5zCqBpLolZyV7ptz18RR7QSiWzSES1VslBlkpHa7dMtRP5al/yk4JWtltg0hkzU26cu1s8oCn1KFIIPRkeloICPHFCA/KX0H+s5aKR21YelJWi6Y7sm4e587BQqkJ/lyLUGtsy8+7eGZ020PiBGhG6x5FyWeM31tVXRoaatfea7+81UjIbIPSZS99So5yhdUY4DZEccWYU1RhW/kGNfghOKC4aGSuCBauQDhudufxBceo/RGF7+oDQpGpsJ3qh8VYL/rE+c8ZFNtXVGncc9lzyiF03dA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rsjvXvARxaGXfVSFISr6mbzt/YqfM+Vx9vWaY02EJk8=;
 b=iAvNBOpKf9zBW5v9nuA3kIO8TZdz69/dDAEm26YvNu0C+b65teQPEZJy0KGoRsS4rK65NbRcoM1nnUd8XZGuDqg34AkJVByLymZXL2fmfgslxEPUlgePRWLnDQpFtUQEnSdQ7FVBDN/ZMlbcZifZYMCiG+QuZGW3fKKIJL2TWzuBPAV+pxORC7O9NPhfI/wutE43XMoC2oYcuqtRaUjr9VVncmHUeNcASe2DYkKSY4MLYd8HWgi/4D+Ui4W1WjkGtlHGkLrdMIvHplK5MiA4iYVzi3ebgBQRGu5771AC+ckQQihx9qbCOjfGsyjAAI4+AjW7DmNSwPKB+9U1ObkV4A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rsjvXvARxaGXfVSFISr6mbzt/YqfM+Vx9vWaY02EJk8=;
 b=ZnUr2MonDtq35+g9tkVn6T0ZWRbwRTP3v02RTU7F+krQhf8sRfOv7jJDCqlKop4iRAFzZw/h9TxGv6n+sTeidbbuUtbRtBQ5lL1bdFD7ErOtebtBPmLKtkRfaA3HmOzM7TTOd1RMoyLvuKxKhdaBi4smZVMiYuGA8hqyg43/Pcz84vU8DW0K9w65kPGHn9EI87DM8GafKdu1R1UPdGN3OkY0dXt82lPPArGwjRtbDW1YRryh/8qhHgsNP87ZUxy7KUXwi9SH1+YZLaYogw3TdXuVj2+IO69tJqjw4vfTx2GViW9SFYXduxurgE80htbYACAKiIN9yezq0Xorkn6JAg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <a66a8394-88f9-4b58-ade6-56c327e3cc08@epam.com>
Date: Tue, 28 Oct 2025 22:17:47 +0200
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN][PATCH v5] x86: make Viridian support optional
To: Jason Andryuk <jason.andryuk@amd.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Sergiy Kibrik <Sergiy_Kibrik@epam.com>, Jan Beulich <jbeulich@suse.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Paul Durrant <paul@xen.org>
References: <20251023151807.560843-1-grygorii_strashko@epam.com>
 <cf7f5cad-06cb-4702-a10b-e0b087060fb3@amd.com>
Content-Language: en-US
From: Grygorii Strashko <grygorii_strashko@epam.com>
In-Reply-To: <cf7f5cad-06cb-4702-a10b-e0b087060fb3@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: WA2P291CA0046.POLP291.PROD.OUTLOOK.COM
 (2603:10a6:1d0:1f::15) To AS2PR03MB8907.eurprd03.prod.outlook.com
 (2603:10a6:20b:5e4::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS2PR03MB8907:EE_|DU0PR03MB10147:EE_
X-MS-Office365-Filtering-Correlation-Id: 715e405b-0765-40fd-4caf-08de165f108b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?blAwdndWdVVqOEFkbGtvQytKTEJtOUtqcVBsMVVjakxiNWZlV2pLcjhhbHlG?=
 =?utf-8?B?SG83Q1pDRXhKMUFrazFsZ2loNFl2SzhRcVh2TlJWdkFtdWFXMFU2Y1dsMnZr?=
 =?utf-8?B?eUlrbitCTk1RQjJDUHgxdFh0ZXdneGpUZXlKd3Uwc0JNL1FPSEtLMFpaR0xC?=
 =?utf-8?B?RU41TFJ5S1cvclZYTzlWdTJDOFVjL3hReS9pQllqWGdmMGp3eHI1c0hZVEFX?=
 =?utf-8?B?bTZCeVF3d0hWbEIzeDRURjN6RW9sZnN0cU9sbFJIM1Q2NUpNR1VRK3U4MmhS?=
 =?utf-8?B?aTRBQ21IelM4MWNyZG10ZjJGK3JOSUtoblBDTTczRjJuaFBVclAxNVVLK0pR?=
 =?utf-8?B?ZHdKWGFvTlpISDAvNkRGTHZBUmFmbEd0RXQ1ZWFycXR4SFpSajRoZmNpV1hw?=
 =?utf-8?B?cGQxbStKRDNQa0xPYmV2NU9FdStUa0hoMlFVUHpsLzRBbnRrdlRuT1NWbHhO?=
 =?utf-8?B?dkNUby9JVWc4ajhtUkRneW5XTUQvRUVKK3dHemIyTnFjeUc3d1FQZXRteDlP?=
 =?utf-8?B?TURFV292dWF2U2RyZ01ndGR1ZjJHWS9hOER6WjhXakpEWmNZNW9haytWTnph?=
 =?utf-8?B?Zm5oem9TNmtPYU9yNERlazRCeFJ5VUE4SjlKTHRqZ0ZaOTNpTUdCb0NnM1JJ?=
 =?utf-8?B?Vnp4cXNoYkJrRXY4NHphM1pBTW9GaUpsMXVheUdlN3M2SWZkbHFxTzEvdmxz?=
 =?utf-8?B?cU52ZFBGbXZPYytaYTRUbnkyMHdiN3FBTUZxMG1GQkNpU2lvK1pZQlROakc3?=
 =?utf-8?B?QUh1ajhpZmFyYStGdVl4OWVYN0s4aFltN1BYaWxMN0o4TDllQVV2eVZ4WUww?=
 =?utf-8?B?N3N4NVpOSjhJZEpoV01FQUhaenVVYkprNjJucThDVElZSno0WVhvM0xBaVlY?=
 =?utf-8?B?MzB2OGRTS2R6b2JLSlA4a25vM0xYTmMyV1JLdEV6eHpQbU11T2ZvRjV3TFVn?=
 =?utf-8?B?aEpOd28zOW9qb2tSY0ozZUJNeGNOeWU3VE5rVm9zQlU1ZWJGWmxVWWNiY2Nq?=
 =?utf-8?B?KzNpOHhQRk9qNzNEb3JRMzBSUTBPMGp0NzJLdnNseFRHUlEySDQ1Q3ZWdzNK?=
 =?utf-8?B?bWdIbWY5a2ZQbjNuaUhqS1JvTktEbGNWbXFLcFJld3VKS0x5Q1lTMzJaa3Fw?=
 =?utf-8?B?ZjVXNCszbFFIaXQybWpueEI2Vm0wT3VsRVNRcEt4amp0N1F5YlhPamtacFls?=
 =?utf-8?B?TEJkMnloZTVFNEZxbW95K3VDSzA5em5KeTd3NmlpMkNpdndWNU91UnFxa3ZK?=
 =?utf-8?B?OTE2c1RUYWtqYkJ2YzRuQi81VjBUb0JjUUd1Vi9CZ2wzVTIvU0tXeDJUVHB2?=
 =?utf-8?B?ZDFxKzB6Z2hoZll5YU5abWgzVUFHOWVER0JjWVk0dWpMVHpkVWpuempSbnU2?=
 =?utf-8?B?b0JIV3I2Z2gwb1NTVFRCT3B5NkRjM0tJaFlyMWFoVlVMbGlBdkE2cERES0Zx?=
 =?utf-8?B?WXQwRU50SEVUMzNqeFM5ZjArcFRwRnBGZ09NYmdKbFdXNVhhWkExKzBLM280?=
 =?utf-8?B?M2VQOXdjODBJUEdYQTNqWFl5ZDUrU2N3ZjBQZzFBSDhtUnJZcVNJRklHc1lT?=
 =?utf-8?B?dHJ0eElyODBibVc1cjk2U2FzT0x0b0UzU3I0cHdWL2l6eHFUV3VHa1luRFdJ?=
 =?utf-8?B?d1FnMHJOMjhvR29uN2VGUmhWV3kvbEVpWjlmL29nYVpBZ3hvN1N6QzBYdjFD?=
 =?utf-8?B?Z1crRmRHYXZ1VW56eXRtb1MzZ1RUd2FWN29SekJ0cWVPQzhRbXNjdlFaZ1Jr?=
 =?utf-8?B?RjhvdHZidXBvNnJiT1FPaE1CZkhIaWdvWjBnK09VTzdPZ3RGQXRiV1Z6enRx?=
 =?utf-8?B?aDU0SjRXY0hpcVo0L3BSa214bkE1bTNWVlRHR3dWR3ZNZTRGVi9HVkkzWFNS?=
 =?utf-8?B?Smw2bGx5QVQ2Kyt5NC9UN3IyNzNpa0VBYUVZVkNjaHRxWmtiS1hVZ3B1U0JB?=
 =?utf-8?Q?Egrvs83aphdBnAjU1UyOvfXv9Tl8YAmP?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS2PR03MB8907.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aGlzS0ZoWUlYUkxFSENIblE5STFIcGV1aUtTOHFjaDd6Rm1SVlRYMmExWEdC?=
 =?utf-8?B?dTJkYytGYXhmR2hTVEFKQ2JHWndMeFJNcWtIYzRSZkJhNzFWK1F2QXpRYkpQ?=
 =?utf-8?B?Tzk4RzVFV0t2TWRBTzVWVWloV3praW1VdE5HVW1zT2hzU0E1SDg5ZEM5Q0hx?=
 =?utf-8?B?b09yUUorbzdaR1RRL1NiSHc5UXhvb3R3V2dsVmpUNUU3a2piclIyeGVDNVVs?=
 =?utf-8?B?NTI4WlB2WXJ2UGs2ajJxZGE5VUZteExZdkxxV0RucHhsYVhUNjU1eE5URW1r?=
 =?utf-8?B?ZmsyWTFWY3ZyZlJEczFxNWZtWFdBb3krY05BQVdsOWRNNnJtSC9meVYrV3Uv?=
 =?utf-8?B?ekUrcVIzRzA2QnZKMUxOOTFyc0EyODFqS1loQnBzOGdnMDBlTzlmV0E0VVgz?=
 =?utf-8?B?aEVMMGszYlJ4QXZlRk5iTVZQYnBXU1FXWWdRSnNlVzFqdXJwYjhUcTRRUXEx?=
 =?utf-8?B?LzJmdzRxMXl0YUxORE8zVkt6N1NNQzZJY2piWlIvODFUMXBUSlZiaU1FRnpy?=
 =?utf-8?B?Q21paHUwVTQwN3BlbUtRYW1Gd0tMR0xLVlFkaDVFMkZLNUdwYzl1S0R3SXFG?=
 =?utf-8?B?M0xNSXJTMThTajcvUVlLSzRzVllVMjNpREdpaU52NWt1SXByQWt5SjFsbndr?=
 =?utf-8?B?M0pZM2dMT0RjdXhWR2xKYTNMZHVUK3lFaXRRYU1Say9sSkt0QmdJSGtvMTJM?=
 =?utf-8?B?SUtpc0NJRXFLcUsxN2owL01nWEd0bGkzVU5XYSt6dlNyTit2S0Qyc3AwVGpO?=
 =?utf-8?B?WXpSWDZOcS91cEJMYTNaTHcvcSt2b3BZWTlKcW5ZbEQ3eVhnWDgyazJPeER5?=
 =?utf-8?B?cUFhRjVjMDlEdnlwaXQ3VEhSa0pmRmhZWGZSZ0htTmRZcldpaW5KdzlpeWVh?=
 =?utf-8?B?emxqcndNSWJDWWk2elZqc3pMVUl2SjVRM21sSVZOY2plMWQ5L3l6MVlYY0Fp?=
 =?utf-8?B?MkpXdHdKMTJtaGl6Q1lzWVpUWHhpc3BlTEk5ekt1SDlOSDhPMW1ERXJPaFZ2?=
 =?utf-8?B?RDc0UWozWEhkc2xhZTdpTjZFME5TS2hkQXpNTXpnRWhoM3dmSmpzVXBKYUVo?=
 =?utf-8?B?VzN1bEY5T0xzRGNaQTFCT3MrYzR6bGhBNW5YZzNPOTFVUDR3cTBxVmJ5U2ZL?=
 =?utf-8?B?WldiYjhucjZscnlJNjhUeCtJekJxT2h1N3BkdUh5d3RpZW9velV6cjdGSldq?=
 =?utf-8?B?ZlJQbnZIbVlOeHVoNTNKS0dJRkowaGhjNnJJUWdub2xpME1IRVNncmxIdzA3?=
 =?utf-8?B?dzBtb1NDQnY2aXhJVktldlAwcHl2RWZHRDNKWFdTTk9OSituMVkxQ3RubXAw?=
 =?utf-8?B?S3VDUTh4WTRmSksxQUJoQTFDSk9UTExDQjJ1ckVqQUVORTFKQVVnc0lReVFs?=
 =?utf-8?B?eGpQczJXSUx2RytNTWtxL2pSOUhOUnY3VGRLMFRuaWVnbGhMcE04RjJLYU5B?=
 =?utf-8?B?WEFmZTYyRmtsVy9pb2duV2dQVkdpUERXaVZKd21mU1pwK0lITU0wTkRIOEsy?=
 =?utf-8?B?b0ZIZUlhTzlNTDB3UTRVVnFGVURyNUhRRFNJN3lQTlAxOWZoZ0pIZlN4M1hC?=
 =?utf-8?B?ZnFuVEF5UlhHdkV2Vi9YRjRSbWp6OGFxVWd4a3dCaVJiVzFTWk14QlE1SDhq?=
 =?utf-8?B?RTdZWnA4SUo4RFhIa0MvMVVGcnBMZVZ1c2ZETVRvSmxLRldLT3ZYMEhuS3cw?=
 =?utf-8?B?WlY1MTY4akRMb0Zpc1dUa0ppQXFEdDE0RVRaK3dwV3lmSWlCc1UwTnVIV0tq?=
 =?utf-8?B?ZzAyVVlSOHZTNXlhQTZhUjl0TTNQWG1wVWlvU2VidHZ0TTVvSTJacS9wVElD?=
 =?utf-8?B?Vkkxa0hSOE9GMUZ1NTVzQ21rbDArYitxMkNBSjU5OTlHckVCTFF4VVIxdnVG?=
 =?utf-8?B?b3J2M2dLSm9MNDVoU2ZXU2tkQVVFSWQ2U3FPUVpQZ2p1d2E4elRQMCs0TFAr?=
 =?utf-8?B?Rm9kLzllcEhrdDNNVm5MNEZ0b2dFdWw4WnFpUEExSSsvNzZwbkJXdjU3TURk?=
 =?utf-8?B?dzg1Tk05K1d1OWFuMmlWK0RiVlp5OER1ZzA3TGlBOU03dW9sT0dqTC8vUVBK?=
 =?utf-8?B?MVJxOSt0RXZUOUJqdG9UWGVnS25yZ2J1ajRQenJUWWdkbWlObWVXNDdSbTJt?=
 =?utf-8?B?cjErTkxiSE52WG13NU1rQUJMSW5DVU9wNDBVMFduMUdCbnBPS0xFNFZ0MFZ2?=
 =?utf-8?B?NlE9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 715e405b-0765-40fd-4caf-08de165f108b
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Oct 2025 20:17:49.0520
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: AjWEW040k+O5gV4mRFQKXKVfPRvh9wU0non1dQlFEFX1/6iVaXxqPEoKeGEu0fKOxuFJ/9bCyHGb6MxhGwLYiCe2GTfsvQetHXIYxKYA2+4=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR03MB10147

Hi Jason,

On 24.10.25 21:55, Jason Andryuk wrote:
> On 2025-10-23 11:18, Grygorii Strashko wrote:
>> From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
>>
>> Add config option VIRIDIAN that covers viridian code within HVM.
>> Calls to viridian functions guarded by is_viridian_domain() and related macros.
>> Having this option may be beneficial by reducing code footprint for systems
>> that are not using Hyper-V.
>>
>> [grygorii_strashko@epam.com: fixed NULL pointer deref in
>> viridian_save_domain_ctxt(); stub viridian_vcpu/domain_init/deinit()]
>> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
>> Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
>> ---
> 
>> diff --git a/xen/arch/x86/hvm/viridian/viridian.c b/xen/arch/x86/hvm/viridian/viridian.c
>> index f79cffcb3767..b935803700fd 100644
>> --- a/xen/arch/x86/hvm/viridian/viridian.c
>> +++ b/xen/arch/x86/hvm/viridian/viridian.c
> 
>> @@ -1153,6 +1156,9 @@ static int cf_check viridian_load_vcpu_ctxt(
>> Â Â Â Â Â  struct vcpu *v;
>> Â Â Â Â Â  struct hvm_viridian_vcpu_context ctxt;
>> +Â Â Â  if ( !is_viridian_domain(d) )
>> +Â Â Â Â Â Â Â  return -EILSEQ;
> 
> Given:
> 
>  Â #define is_viridian_domain(d) \
>  Â Â Â  (IS_ENABLED(CONFIG_VIRIDIAN) && \
>  Â Â Â Â  is_hvm_domain(d) && (viridian_feature_mask(d) & HVMPV_base_freq))
> 
> CONFIG_VIRIDIAN=n is okay because of the IS_ENABLED.
> 
> For CONFIG_VIRIDIAN=y && a viridian domain, is HVM_PARAM_VIRIDIAN guaranteed to be loaded before viridian_load_vcpu_ctxt() is called, so that HVMPV_base_freq can be checked properly?Â  I don't know, but it seems a little fragile if this relies on implicit ordering.Â  Maybe just do:
> 
> if ( !IS_ENABLED(CONFIG_VIRIDIAN) )
>  Â Â Â  return -EILSEQ;
> 
> ?

Should it be done the same way for viridian_load_domain_ctxt() also?


> 
> Everything else looks good.
> 
> Thanks,
> Jason
> 
>> +
>> Â Â Â Â Â  if ( vcpuid >= d->max_vcpus || (v = d->vcpu[vcpuid]) == NULL )
>> Â Â Â Â Â  {
>> Â Â Â Â Â Â Â Â Â  dprintk(XENLOG_G_ERR, "HVM restore: dom%d has no vcpu%u\n",
> 

-- 
Best regards,
-grygorii



From xen-devel-bounces@lists.xenproject.org Tue Oct 28 20:41:35 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Oct 2025 20:41:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152423.1482948 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDqVN-0001Gb-Qp; Tue, 28 Oct 2025 20:41:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152423.1482948; Tue, 28 Oct 2025 20:41:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDqVN-0001GU-O4; Tue, 28 Oct 2025 20:41:21 +0000
Received: by outflank-mailman (input) for mailman id 1152423;
 Tue, 28 Oct 2025 20:41:20 +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
 <SRS0=Q83W=5F=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1vDqVM-0001GO-9e
 for xen-devel@lists.xenproject.org; Tue, 28 Oct 2025 20:41:20 +0000
Received: from DM5PR21CU001.outbound.protection.outlook.com
 (mail-centralusazlp170110009.outbound.protection.outlook.com
 [2a01:111:f403:c111::9])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 710900b5-b43e-11f0-980a-7dc792cee155;
 Tue, 28 Oct 2025 21:41:14 +0100 (CET)
Received: from MW4PR03CA0016.namprd03.prod.outlook.com (2603:10b6:303:8f::21)
 by SA1PR12MB8724.namprd12.prod.outlook.com (2603:10b6:806:38b::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.18; Tue, 28 Oct
 2025 20:41:10 +0000
Received: from CO1PEPF000075F3.namprd03.prod.outlook.com
 (2603:10b6:303:8f:cafe::28) by MW4PR03CA0016.outlook.office365.com
 (2603:10b6:303:8f::21) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9253.16 via Frontend Transport; Tue,
 28 Oct 2025 20:41:10 +0000
Received: from satlexmb07.amd.com (165.204.84.17) by
 CO1PEPF000075F3.mail.protection.outlook.com (10.167.249.42) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9275.10 via Frontend Transport; Tue, 28 Oct 2025 20:41:09 +0000
Received: from satlexmb10.amd.com (10.181.42.219) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Tue, 28 Oct
 2025 13:41:09 -0700
Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb10.amd.com
 (10.181.42.219) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Tue, 28 Oct
 2025 13:41:09 -0700
Received: from [172.27.252.218] (10.180.168.240) by satlexmb07.amd.com
 (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.17 via Frontend
 Transport; Tue, 28 Oct 2025 13:41:08 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 710900b5-b43e-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=OhFLK/1MuApN4L8IiHfF+VJB+2ntqJyeyyiq19EzLXmWApOrcEV5Ve/FXji0en60pRV575WisuAp12c/HaXwUj9smLrXUPrh+L2CX/6PtlmlvowtnIat9/C4T+arqZ9hte1+p5IhP9pM9jmC7AEEME04AVxLadtTAkZoSCTf9oRngZpNJPyiIJxEUJP7dr4jMlxGWAZWGwMUcey1l59qcGO+xlSvWb43jChN4e7xOYWkpfKjB0H79+pLUkXzBTyvff3Yhqiinb+TMyNmJb/yGbH3MZmE/quswJGGeJUu7A4p9nGd0sufjvYatr1E13LQmme4Yxi2MlebIg1Wu2sxJQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EtTfUmz7uzjdaEfuQ4u662No/wB6uEUodbU39HVVf2o=;
 b=L/ewOf6wwBto6M0PHwMSZd6pbibdO4TZdH3ixJk2W7SHSHXKGka1+Z2oz0ouHLDB2ZqdfvkBQsaVgIgi+eEkAozizI9uWfKWUmsOAzhfTRbuHwqtyQcFFMWS9TIO72dbFCuyR9pKyRG97um9HpRK/QoC8dUb1xHk05dadvF+n/fOqW2fG4lK4jY542gfGnI+/4Z06Whq/mSVS6qmJ5cjCJYUAjyRAMvDHp2/1buKtQoiLDRYaUa1WQ38+Tm7A4yOPctNhxSiIJqRPXFbAMKgSczAKWOe2w3YicnbB2S6k0WqoX89YqQJmb6ubcQw0S3q5567OwWIDGVSSL9bpTkU7A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=epam.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=EtTfUmz7uzjdaEfuQ4u662No/wB6uEUodbU39HVVf2o=;
 b=Fk9p1eHjMGr5lClYhy6VOyXXoj6PvEOGjOospp/gS9Eq3n9O8MssDTts32mCmUo0HKhi/W3s1cB0vGrVU3vou1n/13fpTXKjCkKC/b1K4usUhh90npw2UUULpcpb8ywcW9bFopyFmUvtMFcxE51QOUU3GlGKLl9lGS1xOGt9z/s=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C
Message-ID: <c13b3881-bb16-4729-acf3-702785216593@amd.com>
Date: Tue, 28 Oct 2025 16:41:08 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN][PATCH v5] x86: make Viridian support optional
To: Grygorii Strashko <grygorii_strashko@epam.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Sergiy Kibrik <Sergiy_Kibrik@epam.com>, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
	<roger.pau@citrix.com>, Paul Durrant <paul@xen.org>
References: <20251023151807.560843-1-grygorii_strashko@epam.com>
 <cf7f5cad-06cb-4702-a10b-e0b087060fb3@amd.com>
 <a66a8394-88f9-4b58-ade6-56c327e3cc08@epam.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <a66a8394-88f9-4b58-ade6-56c327e3cc08@epam.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000075F3:EE_|SA1PR12MB8724:EE_
X-MS-Office365-Filtering-Correlation-Id: d55e8f3f-645a-4b28-929a-08de166253b5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|376014|1800799024|36860700013|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?eUp5RG44eDdUZlc3OHRXUDVhd3BNWVNJbjRxcVcvakRFT1dTZUoyTHNOSjN0?=
 =?utf-8?B?eGxCRGVSeGl6RllqSjNRZ1BGT2RKNHJqWmJSM0xqVWxveWxFZzlCNjJkUDF4?=
 =?utf-8?B?eDQvR0kzcmhSY2RtSUFzWituTTFYUW1jTkRTcVlGVlBVbUFFWDkrK1Q1M3gw?=
 =?utf-8?B?ZzFlVk5DaVNxR2tBTkp2NjJncEZoMWhOS0dmUC9FOEZSalVwc3RUaWxVQWhr?=
 =?utf-8?B?c09vYTJHd3ZBRHFISkYyczZjRHJUTTc0NHlHUEdsYm1EMzZZQVZDQkpSaWkz?=
 =?utf-8?B?U29sNkVVQTA2UmJyb2ZqeEI1VHo5WUVuS3padWV3S0VHQmJ6UE4wRWJyMCsz?=
 =?utf-8?B?dFNHaVo4R3ZrYjRGQTRZTU1FcTdJeVZJT1RuN0l5V1RhWnhUMlZIQ3RlTVRk?=
 =?utf-8?B?dnFUMzJBVFR3eFJmemtwcnkvbm0wN3ZMc1pHa3NhVEFYbXE5UHZnL21iaDU1?=
 =?utf-8?B?UVRMTXd0WUJDb3JabHNTZ2FpSFVReE9rZFFoQ0JFM1N6OU1jaEorV1pERGtw?=
 =?utf-8?B?TDNLWGRmV1d1VWRTa05HQkdXcjlqTTFzMGI2UldrYXVmNEZyVDNPdGRFQ0xz?=
 =?utf-8?B?WXgzdVF3RGRRZ2x2azFLQXdYTitrM1gzeTkxcGd6eVRJSnk0VThaSmZObE4y?=
 =?utf-8?B?RlgrV21mVno0RCtMZ0craHk0dk5ES09QaUZ3NS9tMUpLbytZOWVHbXVnRlg2?=
 =?utf-8?B?MUhIYTQwODUzdEh3M2NiU1EyaHRkblNQMi8rTTNQbjdzZ0N2anEvc3dvWjJG?=
 =?utf-8?B?V0oyMy9qSkJBbmZuL3NvMmxuQ3NJMmdQSkp2akpqMU1WMGEzVjdWUm1uOVNW?=
 =?utf-8?B?TlFyWWRWem1MZ3NWcEUwcFRtR1RnWVJBN3dNT0VSUGZjZWJnK3NXaXVyeE1Z?=
 =?utf-8?B?UnlYYXBnc1Y2bFVxUTlueVF6VUYyeHA4a3kyQkxYeGVaN1lkdFpJWDYxNHNa?=
 =?utf-8?B?bElRTFcvMGhLbGVTb2JSKy9ocDdsZzNwbjlKTy9qMkxXZm5oekVRY3FHTDY0?=
 =?utf-8?B?UTYrU1JXSndFd1N1dUgreEJIR1lRbk5HUXJ5UEhocDQzMVJJTE1obEtuOWxk?=
 =?utf-8?B?OTJmZHdQTFcyUUVHNjV0MisyV1IzWUNHbnNBZkY0SGdkN0VBc3ByL3NCS3VQ?=
 =?utf-8?B?Zm5MYzNOU1JwR1RzR3RXcXVuNlpuUExJQTErQysxTGlsUTVDeFBxS3lMM2JV?=
 =?utf-8?B?SktGOWxqWmdyRlVGK2ZrVDNrQmttOVd4cnZWRmNQUmpWd2VXdVJYcTlTL1pS?=
 =?utf-8?B?MXlHUW9tNE1IZ29Qd0JjdndCZ2xLUUdzUUlBQ29OUjcyUktmaWVpWFpJYlVQ?=
 =?utf-8?B?d2JYS1duYS9HSnRydnR6QXFSUys5cWgxZXhHRURUNjc1UjdTZ01FQkVYZVV4?=
 =?utf-8?B?cEQvdFk1Ym0vd2RCc3pLTXB2MGhkWWJJQSt0RHIyNHJwUUlHYm5YWWNZeTd3?=
 =?utf-8?B?MTEvRXBDcHljdk4wZ3FyTEpsSFF1WGZCVkhoUGExazAzR29sblp3a0FWWDhT?=
 =?utf-8?B?K2U3UG1TRjltZDhJc2M0d0dvbVA0T0QxanFpajdvc2ZUZnljeTczZGpmUS9L?=
 =?utf-8?B?NS9oMlN3L3lURWFYclc1N2tIaEU4SGRrbXBIaGpRaFUydWprb3hxRXpweXhW?=
 =?utf-8?B?UDI0UTRnNE9OMjkrVG9JQ21QOVhVSlBGM1FzbCtKOXBqeVZmejVRZkVaVWpX?=
 =?utf-8?B?Y1BPb1V0QzQzT01ibmRUeWxzdHhkcGRCK2VQMEZRQlE2bDhHejh4OVpiSGE2?=
 =?utf-8?B?bnJncE9ibldvZVJpZjkwdVM4SmtxeEs0alY1WExVMzVEcG5hN05RYzFjQjdp?=
 =?utf-8?B?S3FUZGNUSllISzdIc1JmYlBEQjNUTW15a3UvbW03RkVVZmRJSlBmM1pBMi8w?=
 =?utf-8?B?dWNZQUtuclY2SGtaTHVESXo3cXdHVGZpWElPYVJYZHEzU2xVWXZFaC81Q0Zx?=
 =?utf-8?B?ZzhCQkF6N2d2eWxrNTNQcTVvbkRXMkpsVVJGZlpyRG5jZTRMalo0L0lCOHZ6?=
 =?utf-8?B?OXF6M0Fyc2lFZ3J0V1p3NUFacTFLa21WTzBVSi9DZXVCOVF3SEM5UGlhOE5n?=
 =?utf-8?B?SUwyQjJZY1JoWkZTTy9lL1dTWE9aMXNtdXkyM0tvVy9seE1rU2xDUGJ2Y3d4?=
 =?utf-8?Q?Z91U=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(376014)(1800799024)(36860700013)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Oct 2025 20:41:09.8805
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d55e8f3f-645a-4b28-929a-08de166253b5
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1PEPF000075F3.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB8724

On 2025-10-28 16:17, Grygorii Strashko wrote:
> Hi Jason,
> 
> On 24.10.25 21:55, Jason Andryuk wrote:
>> On 2025-10-23 11:18, Grygorii Strashko wrote:
>>> From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
>>>
>>> Add config option VIRIDIAN that covers viridian code within HVM.
>>> Calls to viridian functions guarded by is_viridian_domain() and 
>>> related macros.
>>> Having this option may be beneficial by reducing code footprint for 
>>> systems
>>> that are not using Hyper-V.
>>>
>>> [grygorii_strashko@epam.com: fixed NULL pointer deref in
>>> viridian_save_domain_ctxt(); stub viridian_vcpu/domain_init/deinit()]
>>> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
>>> Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
>>> ---
>>
>>> diff --git a/xen/arch/x86/hvm/viridian/viridian.c b/xen/arch/x86/hvm/ 
>>> viridian/viridian.c
>>> index f79cffcb3767..b935803700fd 100644
>>> --- a/xen/arch/x86/hvm/viridian/viridian.c
>>> +++ b/xen/arch/x86/hvm/viridian/viridian.c
>>
>>> @@ -1153,6 +1156,9 @@ static int cf_check viridian_load_vcpu_ctxt(
>>> Â Â Â Â Â  struct vcpu *v;
>>> Â Â Â Â Â  struct hvm_viridian_vcpu_context ctxt;
>>> +Â Â Â  if ( !is_viridian_domain(d) )
>>> +Â Â Â Â Â Â Â  return -EILSEQ;
>>
>> Given:
>>
>> Â Â #define is_viridian_domain(d) \
>> Â Â Â Â  (IS_ENABLED(CONFIG_VIRIDIAN) && \
>> Â Â Â Â Â  is_hvm_domain(d) && (viridian_feature_mask(d) & HVMPV_base_freq))
>>
>> CONFIG_VIRIDIAN=n is okay because of the IS_ENABLED.
>>
>> For CONFIG_VIRIDIAN=y && a viridian domain, is HVM_PARAM_VIRIDIAN 
>> guaranteed to be loaded before viridian_load_vcpu_ctxt() is called, so 
>> that HVMPV_base_freq can be checked properly?Â  I don't know, but it 
>> seems a little fragile if this relies on implicit ordering.Â  Maybe 
>> just do:
>>
>> if ( !IS_ENABLED(CONFIG_VIRIDIAN) )
>> Â Â Â Â  return -EILSEQ;
>>
>> ?
> 
> Should it be done the same way for viridian_load_domain_ctxt() also?

Yes, I think so.  Thanks for catching that.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Tue Oct 28 23:28:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Oct 2025 23:28:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152456.1483017 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDt6x-000420-Nl; Tue, 28 Oct 2025 23:28:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152456.1483017; Tue, 28 Oct 2025 23:28:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDt6x-00041t-LD; Tue, 28 Oct 2025 23:28:19 +0000
Received: by outflank-mailman (input) for mailman id 1152456;
 Tue, 28 Oct 2025 23:28:18 +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
 <SRS0=zQG5=5F=raptorengineering.com=tpearson@srs-se1.protection.inumbo.net>)
 id 1vDt6w-00041l-FH
 for xen-devel@lists.xenproject.org; Tue, 28 Oct 2025 23:28:18 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c5ea95c5-b455-11f0-9d16-b5c5bf9af7f9;
 Wed, 29 Oct 2025 00:28:15 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 708047791AD6
 for <xen-devel@lists.xenproject.org>; Tue, 28 Oct 2025 18:28:12 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id ktnb9_k3UW6d for <xen-devel@lists.xenproject.org>;
 Tue, 28 Oct 2025 18:28:12 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id DC81A7791B68
 for <xen-devel@lists.xenproject.org>; Tue, 28 Oct 2025 18:28:11 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id SwsIzSdNYKGt for <xen-devel@lists.xenproject.org>;
 Tue, 28 Oct 2025 18:28:11 -0500 (CDT)
Received: from vali.starlink.edu (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id B96ED7791AD6
 for <xen-devel@lists.xenproject.org>; Tue, 28 Oct 2025 18:28:11 -0500 (CDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c5ea95c5-b455-11f0-9d16-b5c5bf9af7f9
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com DC81A7791B68
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1761694091; bh=oc2vxb9Rrjo+rAFaXjwTtcG7fVl6qe6ldYdpCXRznnk=;
	h=Date:From:To:Message-ID:MIME-Version;
	b=GyeU/gIgbUycoLBUxRcgn3dN1fByRVzV0K2v5Oc8HkmeNKhFmK/MpQyd0xILqAO/W
	 eeuGsVLOvKVW/Rsv/p0kUqwnnWjyVni8chWMsbIVFAy3zH9W9whxi8An6MEnIy0flG
	 3aPUt5EnEAEilIYZXY1G+5MFdjGLL688FkoEFYuk=
X-Virus-Scanned: amavisd-new at rptsys.com
Date: Tue, 28 Oct 2025 18:28:09 -0500 (CDT)
From: Timothy Pearson <tpearson@raptorengineering.com>
To: xen-devel <xen-devel@lists.xenproject.org>
Message-ID: <1073632839.4116.1761694089023.JavaMail.zimbra@raptorengineeringinc.com>
Subject: [PATCH] MAINTAINERS: Remove Shawn Anastasio as PPC64 reviewer
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
X-Mailer: Zimbra 8.5.0_GA_3042 (ZimbraWebClient - GC141 (Linux)/8.5.0_GA_3042)
Thread-Index: w1FkJduz6E49ygNyqHsmJZ5pCS/MpA==
Thread-Topic: MAINTAINERS: Remove Shawn Anastasio as PPC64 reviewer

Shawn is no longer with Raptor Engineering.  For now, add myself as PPC64
maintainer.


From xen-devel-bounces@lists.xenproject.org Tue Oct 28 23:28:37 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Oct 2025 23:28:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152458.1483028 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDt7E-0004J4-Vg; Tue, 28 Oct 2025 23:28:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152458.1483028; Tue, 28 Oct 2025 23:28:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDt7E-0004Ix-Sw; Tue, 28 Oct 2025 23:28:36 +0000
Received: by outflank-mailman (input) for mailman id 1152458;
 Tue, 28 Oct 2025 23:28: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
 <SRS0=zQG5=5F=raptorengineering.com=tpearson@srs-se1.protection.inumbo.net>)
 id 1vDt7E-0004IX-7Q
 for xen-devel@lists.xenproject.org; Tue, 28 Oct 2025 23:28:36 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ce83d335-b455-11f0-980a-7dc792cee155;
 Wed, 29 Oct 2025 00:28:29 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id A5FFD7791AD6
 for <xen-devel@lists.xenproject.org>; Tue, 28 Oct 2025 18:28:27 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id 440a_A0GZZ7n for <xen-devel@lists.xenproject.org>;
 Tue, 28 Oct 2025 18:28:27 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 4939E7791B68
 for <xen-devel@lists.xenproject.org>; Tue, 28 Oct 2025 18:28:27 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id WkQLK4HxPb5t for <xen-devel@lists.xenproject.org>;
 Tue, 28 Oct 2025 18:28:27 -0500 (CDT)
Received: from vali.starlink.edu (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 327757791AD6
 for <xen-devel@lists.xenproject.org>; Tue, 28 Oct 2025 18:28:27 -0500 (CDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ce83d335-b455-11f0-980a-7dc792cee155
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 4939E7791B68
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1761694107; bh=WpO2DZ2tNa6+GLzIjlLEndiBR1obE2jahGZf0m+E97s=;
	h=Date:From:To:Message-ID:MIME-Version;
	b=rqZtAFGk+i7qHBEWe2HYPY5D4nqjFyPfW5Cwbm1XD7abhS4cvDSmadX2/DgOmvvko
	 67qpozCxCBK7f1OoN9ixZ9dcx1ALiv/xfkxT+m+U32te/iVNrwozFG91ho6NIDFHVX
	 Ur+q3qelsJB1UMQQvtpDIxjY7NQ0scffabuIVj4A=
X-Virus-Scanned: amavisd-new at rptsys.com
Date: Tue, 28 Oct 2025 18:28:27 -0500 (CDT)
From: Timothy Pearson <tpearson@raptorengineering.com>
To: xen-devel <xen-devel@lists.xenproject.org>
Message-ID: <1669204635.4117.1761694107160.JavaMail.zimbra@raptorengineeringinc.com>
Subject: [PATCH] MAINTAINERS: Remove Shawn Anastasio as PPC64 reviewer
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
X-Mailer: Zimbra 8.5.0_GA_3042 (ZimbraWebClient - GC141 (Linux)/8.5.0_GA_3042)
Thread-Index: Ar5ULJ2oPHPz2c8WwbRXUaZ20T4lig==
Thread-Topic: MAINTAINERS: Remove Shawn Anastasio as PPC64 reviewer

Shawn is no longer with Raptor Engineering.  For now, add myself as PPC64
maintainer.
---
 MAINTAINERS | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index ecd3f40df8..c8764a8c5f 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -472,7 +472,7 @@ F:	xen/drivers/cpufreq/
 F:	xen/include/acpi/cpufreq/
 
 PPC64
-M:	Shawn Anastasio <sanastasio@raptorengineering.com>
+M:	Timothy Pearson <tpearson@raptorengineering.com>
 F:	xen/arch/ppc/
 
 PUBLIC I/O INTERFACES AND PV DRIVERS DESIGNS
-- 
2.39.5


From xen-devel-bounces@lists.xenproject.org Tue Oct 28 23:28:58 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Oct 2025 23:28:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152469.1483037 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDt7a-0004td-Ao; Tue, 28 Oct 2025 23:28:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152469.1483037; Tue, 28 Oct 2025 23:28:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDt7a-0004tW-7x; Tue, 28 Oct 2025 23:28:58 +0000
Received: by outflank-mailman (input) for mailman id 1152469;
 Tue, 28 Oct 2025 23:28:57 +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
 <SRS0=zQG5=5F=raptorengineering.com=tpearson@srs-se1.protection.inumbo.net>)
 id 1vDt7Z-0004IX-20
 for xen-devel@lists.xenproject.org; Tue, 28 Oct 2025 23:28:57 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id de77a2e3-b455-11f0-980a-7dc792cee155;
 Wed, 29 Oct 2025 00:28:55 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 6A3EC7791AD6
 for <xen-devel@lists.xenproject.org>; Tue, 28 Oct 2025 18:28:54 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id 0A8R4RW6bLQH for <xen-devel@lists.xenproject.org>;
 Tue, 28 Oct 2025 18:28:54 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 0CDA37791C31
 for <xen-devel@lists.xenproject.org>; Tue, 28 Oct 2025 18:28:54 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id 7QFFPNpy6qhl for <xen-devel@lists.xenproject.org>;
 Tue, 28 Oct 2025 18:28:53 -0500 (CDT)
Received: from vali.starlink.edu (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id E8F407791AD6
 for <xen-devel@lists.xenproject.org>; Tue, 28 Oct 2025 18:28:53 -0500 (CDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: de77a2e3-b455-11f0-980a-7dc792cee155
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 0CDA37791C31
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1761694134; bh=bEzkpPmAmk4FWJM0bo1H9a89UDcaZ7fiew7lNFadpyI=;
	h=Date:From:To:Message-ID:MIME-Version;
	b=aJp4ww193Ztj8NjRpfJUwkF21jK2qaSERdHlEvhruMXso9KcMHCZkKmQRA2x9Vjn3
	 9XsP2IhAvcJtkqG+5ahrwyGbzxLByXemJUlIgNb0THGa8sVFsrkGpK3zJdFwadTfrR
	 tbESeppsLGzQf06qcJt6oLvBTONl7xa1F8Hwf2Jo=
X-Virus-Scanned: amavisd-new at rptsys.com
Date: Tue, 28 Oct 2025 18:28:53 -0500 (CDT)
From: Timothy Pearson <tpearson@raptorengineering.com>
To: xen-devel <xen-devel@lists.xenproject.org>
Message-ID: <1094743618.4119.1761694133918.JavaMail.zimbra@raptorengineeringinc.com>
Subject: [PATCH] xen/ppc: Fix tooling FTBFS due to missing definitions in
  public header
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
X-Mailer: Zimbra 8.5.0_GA_3042 (ZimbraWebClient - GC141 (Linux)/8.5.0_GA_3042)
Thread-Index: 5eX6w7O41cC1iIEnzHWC6CopyHNDVg==
Thread-Topic: xen/ppc: Fix tooling FTBFS due to missing definitions in public header

int64_aligned_t and uint64_aligned_t need to be exposed when the GNU C compiler
is in use.
---
 xen/include/public/arch-ppc.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/include/public/arch-ppc.h b/xen/include/public/arch-ppc.h
index 4ca453a284..264e20b89e 100644
--- a/xen/include/public/arch-ppc.h
+++ b/xen/include/public/arch-ppc.h
@@ -11,7 +11,7 @@
 #ifndef __XEN_PUBLIC_ARCH_PPC_H__
 #define __XEN_PUBLIC_ARCH_PPC_H__
 
-#if defined(__XEN__) || defined(__XEN_TOOLS__)
+#if defined(__XEN__) || defined(__XEN_TOOLS__) || defined(__GNUC__)
 #define  int64_aligned_t  int64_t __attribute__((__aligned__(8)))
 #define uint64_aligned_t uint64_t __attribute__((__aligned__(8)))
 #endif
-- 
2.39.5


From xen-devel-bounces@lists.xenproject.org Tue Oct 28 23:38:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Oct 2025 23:38:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152488.1483047 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDtGO-0006tC-5D; Tue, 28 Oct 2025 23:38:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152488.1483047; Tue, 28 Oct 2025 23:38:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDtGO-0006t5-2h; Tue, 28 Oct 2025 23:38:04 +0000
Received: by outflank-mailman (input) for mailman id 1152488;
 Tue, 28 Oct 2025 23:38:03 +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
 <SRS0=zQG5=5F=raptorengineering.com=tpearson@srs-se1.protection.inumbo.net>)
 id 1vDtGN-0006sz-4g
 for xen-devel@lists.xenproject.org; Tue, 28 Oct 2025 23:38:03 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2407965b-b457-11f0-9d16-b5c5bf9af7f9;
 Wed, 29 Oct 2025 00:38:01 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 7753C7791D57
 for <xen-devel@lists.xenproject.org>; Tue, 28 Oct 2025 18:38:00 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id 9zntJxIdC4hV for <xen-devel@lists.xenproject.org>;
 Tue, 28 Oct 2025 18:38:00 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 0E24E7791D5B
 for <xen-devel@lists.xenproject.org>; Tue, 28 Oct 2025 18:38:00 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id KRvzGiFkgJQM for <xen-devel@lists.xenproject.org>;
 Tue, 28 Oct 2025 18:37:59 -0500 (CDT)
Received: from vali.starlink.edu (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id E1A5D7791D57
 for <xen-devel@lists.xenproject.org>; Tue, 28 Oct 2025 18:37:59 -0500 (CDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2407965b-b457-11f0-9d16-b5c5bf9af7f9
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 0E24E7791D5B
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1761694680; bh=98sCZ/5lmW4MQtLMOGYKGrgYjJi1JpqWMjhV9u1Lfok=;
	h=Date:From:To:Message-ID:MIME-Version;
	b=T5RpCI3/GQWGtSvKCuDK/JkpEmMR8fk2WEbkxdc2B+Oovf2GrT2Ziws2cgFR1H/3y
	 Aye+yCNfb2R6uP9AmwQadRvzh77Yc8J7FJU/3sxKfSjeH4yZ2mZJY7e/BsYnBMahEP
	 zNklaOnnjOz622gfHJasqzOYasgWSH7iYGXErq+E=
X-Virus-Scanned: amavisd-new at rptsys.com
Date: Tue, 28 Oct 2025 18:37:57 -0500 (CDT)
From: Timothy Pearson <tpearson@raptorengineering.com>
To: xen-devel <xen-devel@lists.xenproject.org>
Message-ID: <1520444748.4126.1761694677296.JavaMail.zimbra@raptorengineeringinc.com>
Subject: [PATCH] tools: Add barrier instructions for PPC64
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
X-Mailer: Zimbra 8.5.0_GA_3042 (ZimbraWebClient - GC141 (Linux)/8.5.0_GA_3042)
Thread-Index: wtRPPnQxuKh7ju3znita6VsnbTudgQ==
Thread-Topic: tools: Add barrier instructions for PPC64

Signed-off-by: Timothy Pearson <tpearson@raptorengineering.com>
---
 tools/include/xen-barrier.h | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/tools/include/xen-barrier.h b/tools/include/xen-barrier.h
index 5c22ee112c..e738a647a1 100644
--- a/tools/include/xen-barrier.h
+++ b/tools/include/xen-barrier.h
@@ -32,6 +32,10 @@
 #define xen_mb()   asm volatile ("dmb sy" : : : "memory")
 #define xen_rmb()  asm volatile ("dmb sy" : : : "memory")
 #define xen_wmb()  asm volatile ("dmb sy" : : : "memory")
+#elif defined(__ppc64__) || defined(__PPC64__)
+#define xen_mb()   asm volatile ("sync" : : : "memory")
+#define xen_rmb()  asm volatile ("sync" : : : "memory")
+#define xen_wmb()  asm volatile ("sync" : : : "memory")
 #else
 #error "Define barriers"
 #endif
-- 
2.39.5


From xen-devel-bounces@lists.xenproject.org Wed Oct 29 00:23:14 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 00:23:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152504.1483058 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDtxz-0005ja-2f; Wed, 29 Oct 2025 00:23:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152504.1483058; Wed, 29 Oct 2025 00:23:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDtxy-0005jT-Ux; Wed, 29 Oct 2025 00:23:06 +0000
Received: by outflank-mailman (input) for mailman id 1152504;
 Wed, 29 Oct 2025 00:23:05 +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
 <SRS0=BbVn=5G=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1vDtxx-0005jN-GA
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 00:23:05 +0000
Received: from tor.source.kernel.org (tor.source.kernel.org [172.105.4.254])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6eb884e8-b45d-11f0-9d16-b5c5bf9af7f9;
 Wed, 29 Oct 2025 01:23:03 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by tor.source.kernel.org (Postfix) with ESMTP id 031C9602AC;
 Wed, 29 Oct 2025 00:23:02 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id B7FD9C4CEFD;
 Wed, 29 Oct 2025 00:23:00 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6eb884e8-b45d-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1761697381;
	bh=KmQvgkyZ7pUlwEWTF2JDk6BZlK87DQzw5WlfAH6oTlE=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Ml31WHY4oyfjLUWh5aeH/3vlJXCS1rMm6btMD4m1lREQe20slveDfeirQklt+nFSo
	 XfvwWV0OuSLrki5HNgWJGMi5yAHSV0ztqEgXxyUixKwUI5LJ6r0B0EY1H9V5Xadeja
	 g1fd6Me+nm0LgfBEm4QxBIZes7og/N55lw0uhl79/2qXvpvIAvXKHg73/c/MeqLsAc
	 RsJJ3BTipI288DRFFRcUrKKsFiUp1+a43NNWjrrXf3WXnPScpOrMRSYmIXLNq3LLko
	 myyyVOL/kLrI4mR3fk2dBDSIWsDa+uaGXMBTZmcEwpcvKAeat0IJaTLr+Es3o9ZU71
	 06CEAP/2yrnqw==
Date: Tue, 28 Oct 2025 17:22:58 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    xen-devel@lists.xenproject.org, consulting@bugseng.com, 
    Doug Goldstein <cardoe@cardoe.com>, Victor Lira <victorm.lira@amd.com>
Subject: Re: [XEN PATCH v2] automation/eclair: add new analysis jobs with
 differing configurations
In-Reply-To: <f6dbd7a74854cab064cf7ca76c68e44d@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2510281722540.495094@ubuntu-linux-20-04-desktop>
References: <1591f6a0c0f3524c4c613328293ed4e03cfc93ef.1761291003.git.nicola.vetrini@bugseng.com> <alpine.DEB.2.22.394.2510271656380.495094@ubuntu-linux-20-04-desktop> <f6dbd7a74854cab064cf7ca76c68e44d@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 28 Oct 2025, Nicola Vetrini wrote:
> On 2025-10-28 00:58, Stefano Stabellini wrote:
> > On Fri, 24 Oct 2025, Nicola Vetrini wrote:
> > > The following analysis jobs are performed:
> > > - eclair-{x86_64,ARM64}: analyze Xen using the default configuration for
> > >   that architecture; runs on runners tagged `eclair-analysis'.
> > > 
> > > - eclair-{x86-64,ARM64}-safety: analyze Xen using the configuration for
> > >   safety, which is more restricted; runs on runners tagged
> > >   `eclair-analysis-safety`.
> > > 
> > > - eclair-{x86_64,ARM64}-testing: analyze Xen using the default
> > >   configuration for the purposes of testing new runner updates; runs on
> > >   runners tagged `eclair-analysis-testing`.
> > > 
> > > Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> > 
> > Do you have a link to a successful pipeline?
> > 
> > Just making sure we are not breaking things.
> > 
> 
> No; not yet, at least [1]. Without the right tags the safety runner can't pick
> up jobs.
> 
> [1] https://gitlab.com/xen-project/people/bugseng/xen/-/pipelines/2117835680
> 
> > 
> > > ---
> > > Changes in v2:
> > > - rebased to current staging;
> > > - fixed regex path issue.
> > > ---
> > >  automation/gitlab-ci/analyze.yaml | 38 +++++++++++++++++++++++++++++++
> > >  1 file changed, 38 insertions(+)
> > > 
> > > diff --git a/automation/gitlab-ci/analyze.yaml
> > > b/automation/gitlab-ci/analyze.yaml
> > > index d50721006740..7bd644d75074 100644
> > > --- a/automation/gitlab-ci/analyze.yaml
> > > +++ b/automation/gitlab-ci/analyze.yaml
> > > @@ -45,6 +45,21 @@ eclair-x86_64:
> > >      LOGFILE: "eclair-x86_64.log"
> > >      VARIANT: "X86_64"
> > >      RULESET: "monitored"
> > > +
> > > +eclair-x86_64-testing:
> > > +  extends: eclair-x86_64
> > > +  tags:
> > > +    - eclair-analysis-testing
> > > +  rules:
> > > +    - if: $CI_PROJECT_PATH =~ /^xen-project\/people\/bugseng.*$/
> > > +      when: always
> > > +    - !reference [.eclair-analysis:triggered, rules]
> > 
> > given that everyone can change this yaml file when pushing to their own
> > branch, I think we should remove this, or (probably better) use a
> > separate env variable to set the default
> > 
> > it is better not to use the path, I think
> > 
> 
> That is a fair concern. One option would be to just use a project runner
> assigned to the people/bugseng/xen subproject, but that might be a bit
> inconvenient if we want to swap runners around.

I think it is OK to register a project runner to people/bugseng/xen. I
am happy with this solution as well.


> Another option, as you said,
> is keeping the regex in a variable, but this wont't prevent rogue
> modifications of the YAML.

I was thinking more of a simpler boolean variable like:

rules:
  - if: $ECLAIR_TESTING

Yes, it wouldn't prevent modifications of the YAML, but it is probably
not an issue? Also, it is not less secure than the path, because the
YAML can be changed by anyone. At least the variable is more flexible
and feels more natural.


> I might have found something runner-side with [2],
> but I need to dig deeper on that one.
> 
> [2] pre_build_script at
> https://docs.gitlab.com/runner/configuration/advanced-configuration/#the-runners-section
>
> > > +eclair-x86_64-safety:
> > > +  extends: eclair-x86_64
> > > +  tags:
> > > +    - eclair-analysis-safety
> > > +  variables:
> > >      EXTRA_XEN_CONFIG: |
> > >        CONFIG_AMD=y
> > >        CONFIG_INTEL=n
> > > @@ -75,6 +90,10 @@ eclair-x86_64:
> > >        CONFIG_DEBUG_LOCKS=n
> > >        CONFIG_SCRUB_DEBUG=n
> > >        CONFIG_XMEM_POOL_POISON=n
> > > +  rules:
> > > +    - if: $CI_PROJECT_PATH =~ /^xen-project\/hardware\/xen$/ &&
> > > $CI_COMMIT_BRANCH =~ /^staging$/
> > > +      when: always
> > > +    - !reference [.eclair-analysis:triggered, rules]
> > 
> > same here
> > 
> > 
> > >  eclair-ARM64:
> > >    extends: .eclair-analysis:triggered
> > > @@ -82,6 +101,21 @@ eclair-ARM64:
> > >      LOGFILE: "eclair-ARM64.log"
> > >      VARIANT: "ARM64"
> > >      RULESET: "monitored"
> > > +
> > > +eclair-ARM64-testing:
> > > +  extends: eclair-ARM64
> > > +  tags:
> > > +    - eclair-analysis-testing
> > > +  rules:
> > > +    - if: $CI_PROJECT_PATH =~ /^xen-project\/people\/bugseng.*$/
> > > +      when: always
> > > +    - !reference [.eclair-analysis:triggered, rules]
> > 
> > and here
> > 
> > 
> > > +eclair-ARM64-safety:
> > > +  extends: eclair-ARM64
> > > +  tags:
> > > +    - eclair-analysis-safety
> > > +  variables:
> > >      EXTRA_XEN_CONFIG: |
> > >        CONFIG_NR_CPUS=16
> > >        CONFIG_GICV2=n
> > > @@ -120,6 +154,10 @@ eclair-ARM64:
> > >        CONFIG_DEBUG_LOCKS=n
> > >        CONFIG_SCRUB_DEBUG=n
> > >        CONFIG_XMEM_POOL_POISON=n
> > > +  rules:
> > > +    - if: $CI_PROJECT_PATH =~ /^xen-project\/hardware\/xen$/ &&
> > > $CI_COMMIT_BRANCH =~ /^staging$/
> > > +      when: always
> > > +    - !reference [.eclair-analysis, rules]
> > 
> > and here
> 
> -- 
> Nicola Vetrini, B.Sc.
> Software Engineer
> BUGSENG (https://bugseng.com)
> LinkedIn: https://www.linkedin.com/in/nicola-vetrini-a42471253
> 


From xen-devel-bounces@lists.xenproject.org Wed Oct 29 06:21:17 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 06:21:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152535.1483088 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDzYJ-0005Nk-Eb; Wed, 29 Oct 2025 06:20:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152535.1483088; Wed, 29 Oct 2025 06:20:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vDzYJ-0005Nc-9d; Wed, 29 Oct 2025 06:20:59 +0000
Received: by outflank-mailman (input) for mailman id 1152535;
 Wed, 29 Oct 2025 06:20:58 +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
 <SRS0=reE9=5G=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1vDzYH-0005NW-Hp
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 06:20:58 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6d420539-b48f-11f0-9d16-b5c5bf9af7f9;
 Wed, 29 Oct 2025 07:20:55 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 (Authenticated sender: nicola)
 by support.bugseng.com (Postfix) with ESMTPA id 94DC64EEBC3F;
 Wed, 29 Oct 2025 07:20:54 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6d420539-b48f-11f0-9d16-b5c5bf9af7f9
Authentication-Results: bugseng.com; arc=none smtp.remote-ip=162.55.131.47
ARC-Seal: i=1; d=bugseng.com; s=openarc; a=rsa-sha256; cv=none; t=1761718854;
	b=VPOZ/IJBaNvc3rB9i5rYd0tAbLwM4J0b/YMa36Hzeom8I9cVMJaw+9yGjaOkh/gOfNYs
	 LVvdNie6EZG/O4Z3VC9v9a4MkPucB1xRfvF8BomIp8GOZtTBSYGCcoDZ6MeVk/FKJCGAR
	 sqlZdbdw0ciX+Ra/4FFc7AkZuinifxXZIqfv5/NWU0vexIM2WCiY1QVmSDbfa5qfmmrOA
	 nFgnEOTzH5J4+cxYbn420725SWY2se0eU/fDp5IkFlW25kxZRHW10U3GhnTrCWAGxSeE5
	 tgN2+qVeIGDXVvTX63ip4auTad+lznnExcFnq57NcpPjSTON2fThYFBaKO3smgkPSDlFO
	 rMsNa4SB4SUDRQObRpmc6MbQ42DAXTF2nw7Fp15EgACxx0Msir9Wt7vCT1SRx/UtZONDm
	 Jg3zhtBeWLlEtV5FoAghLybAZLL7qQcYCTmy8I8TBnM2gVFME1B1ttuwApvfQLnbQdh9F
	 adqWfq2v1CdhdjTIGGO3gf2AlT8SEdl7M21QQ9n4+TB/lip+F6hbsepVhziRakAQE8ubm
	 I4HqD7cNIQdB89+/u1kdlVjlvlsTVC3vWifkHuqAU/1vDiJUNQXm17PXy6z/A8pV5RBLn
	 cU1Y8Ih+zS1QIUA9X0HjIcrOr0iRL/+3AUe/ptlubH/GvGctSW+xcbKkYSX3NyU=
ARC-Message-Signature: i=1; d=bugseng.com; s=openarc; a=rsa-sha256;
	c=relaxed/relaxed; t=1761718854;
	h=DKIM-Signature:MIME-Version:Date:From:To:Cc:Subject:In-Reply-To:
	 References:Message-ID:X-Sender:Organization:Content-Type:
	 Content-Transfer-Encoding;
	bh=lJamLYfGR7B5WnfmeAoHaaWcgHd+ROlUygkQf2eQeOU=;
	b=AGL7hH4ONN3ij2Ffd1QN0unDyK2BNafmFIvPlqYgKAe2z1qx5G4rqthx4XykpfxljDZL
	 MBAxItJOcGYCd5hP8he55Gx7wYUA9wxyn5Hxv39t/ocR+0+A+LvTbz6ZfytCgcS5drWz4
	 B69t8V57aBml3D/pARoOj6RSWoYzOFFSIRMm3Yoo3V3LzaZWbuR/w2o3an8dV7zcuYbJO
	 dXLVVkBpyvH0Al7qamzqDyr+kIQ/LMZk8mgOzW3Gm/+DQtFUlxh9gYrceBJEvd4IA5wMQ
	 rGRgh/ic+Uzj9OaUL8whdGIiLFqxQpaliq6y2Bk7zgQ65IAXQL5nfDIg6lddhMzLjwoUd
	 7wqMV0slS/qTElhanWMd9lujyiowOfWZNpiQmOJ/DbIvHBF/gqMAiVMjqUdKxJ3Wqk6qL
	 YXGY8pmeJ34wZ3wc5k0RZ3GZpFIxg7SJ/rYdtHKpjm5hW7Rmi3AOcTEbO3Biba9lQDGYz
	 t0kSftiTx3JjPGmHPh1TOgUJJ+dwTiAP1A6OIq+WuSMJ9q7S3/v1AXORR/DApUiKNYOlV
	 jixgFopi+ErJBz0EqPnjjxXIvjUy6jt0ih5JHnkfdkDJad1+xT4oHok+tgeALDeros8I+
	 8looGBkM3EDojzIWj9sTijhKQq8VfCgnxPYfRlZG2Od1y5TaCHgJtjOsUs5qTfQ=
ARC-Authentication-Results: i=1; bugseng.com; arc=none smtp.remote-ip=162.55.131.47
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1761718854; bh=VduphIrMAvyKSUZZLOQA0hOBx7BjGw8UOpNpqq2FaCs=;
	h=Date:From:To:Cc:Subject:In-Reply-To:References:From;
	b=VSq/Vt2XvoWax0WVigOSqbO3+3bPYIPneo2s+dl6F7Vu1w/iVEWAWtWnLKbGaFVHM
	 qMvTgXxolTNA1TOLc5Zgz89yqZzqeNwM5VKlBNLJ7GXnxMVSL/proTGrkaLxkm/0b7
	 mUTF6Hv2mHwHO682DO8tyILj0J8ENn3ATEGYB9MdvjvBPAOHBAXf7iGYPU4URRYENz
	 73yaOfFM67cFqGUEbiu6fWEFBmZBN2TAgbcIskGy4edIVc4V0PShYK3jEs+6REqYIW
	 xcW7jjCuxVdte5Z6nJ4oCjY7CgeObUw/NRnCTxsWxpVyR7quxTn5cwSj9MGjjWdr8/
	 v5rpRqVPuoqcQ==
MIME-Version: 1.0
Date: Wed, 29 Oct 2025 07:20:54 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, consulting@bugseng.com, Doug Goldstein
 <cardoe@cardoe.com>, Victor Lira <victorm.lira@amd.com>
Subject: Re: [XEN PATCH v2] automation/eclair: add new analysis jobs with
 differing configurations
In-Reply-To: <alpine.DEB.2.22.394.2510281722540.495094@ubuntu-linux-20-04-desktop>
References: <1591f6a0c0f3524c4c613328293ed4e03cfc93ef.1761291003.git.nicola.vetrini@bugseng.com>
 <alpine.DEB.2.22.394.2510271656380.495094@ubuntu-linux-20-04-desktop>
 <f6dbd7a74854cab064cf7ca76c68e44d@bugseng.com>
 <alpine.DEB.2.22.394.2510281722540.495094@ubuntu-linux-20-04-desktop>
Message-ID: <f27279b79ca914a27c80532fefda8b27@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2025-10-29 01:22, Stefano Stabellini wrote:
> On Tue, 28 Oct 2025, Nicola Vetrini wrote:
>> On 2025-10-28 00:58, Stefano Stabellini wrote:
>> > On Fri, 24 Oct 2025, Nicola Vetrini wrote:
>> > > The following analysis jobs are performed:
>> > > - eclair-{x86_64,ARM64}: analyze Xen using the default configuration for
>> > >   that architecture; runs on runners tagged `eclair-analysis'.
>> > >
>> > > - eclair-{x86-64,ARM64}-safety: analyze Xen using the configuration for
>> > >   safety, which is more restricted; runs on runners tagged
>> > >   `eclair-analysis-safety`.
>> > >
>> > > - eclair-{x86_64,ARM64}-testing: analyze Xen using the default
>> > >   configuration for the purposes of testing new runner updates; runs on
>> > >   runners tagged `eclair-analysis-testing`.
>> > >
>> > > Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>> >
>> > Do you have a link to a successful pipeline?
>> >
>> > Just making sure we are not breaking things.
>> >
>> 
>> No; not yet, at least [1]. Without the right tags the safety runner 
>> can't pick
>> up jobs.
>> 
>> [1] 
>> https://gitlab.com/xen-project/people/bugseng/xen/-/pipelines/2117835680
>> 
>> >
>> > > ---
>> > > Changes in v2:
>> > > - rebased to current staging;
>> > > - fixed regex path issue.
>> > > ---
>> > >  automation/gitlab-ci/analyze.yaml | 38 +++++++++++++++++++++++++++++++
>> > >  1 file changed, 38 insertions(+)
>> > >
>> > > diff --git a/automation/gitlab-ci/analyze.yaml
>> > > b/automation/gitlab-ci/analyze.yaml
>> > > index d50721006740..7bd644d75074 100644
>> > > --- a/automation/gitlab-ci/analyze.yaml
>> > > +++ b/automation/gitlab-ci/analyze.yaml
>> > > @@ -45,6 +45,21 @@ eclair-x86_64:
>> > >      LOGFILE: "eclair-x86_64.log"
>> > >      VARIANT: "X86_64"
>> > >      RULESET: "monitored"
>> > > +
>> > > +eclair-x86_64-testing:
>> > > +  extends: eclair-x86_64
>> > > +  tags:
>> > > +    - eclair-analysis-testing
>> > > +  rules:
>> > > +    - if: $CI_PROJECT_PATH =~ /^xen-project\/people\/bugseng.*$/
>> > > +      when: always
>> > > +    - !reference [.eclair-analysis:triggered, rules]
>> >
>> > given that everyone can change this yaml file when pushing to their own
>> > branch, I think we should remove this, or (probably better) use a
>> > separate env variable to set the default
>> >
>> > it is better not to use the path, I think
>> >
>> 
>> That is a fair concern. One option would be to just use a project 
>> runner
>> assigned to the people/bugseng/xen subproject, but that might be a bit
>> inconvenient if we want to swap runners around.
> 
> I think it is OK to register a project runner to people/bugseng/xen. I
> am happy with this solution as well.
> 
> 
>> Another option, as you said,
>> is keeping the regex in a variable, but this wont't prevent rogue
>> modifications of the YAML.
> 
> I was thinking more of a simpler boolean variable like:
> 
> rules:
>   - if: $ECLAIR_TESTING
> 
> Yes, it wouldn't prevent modifications of the YAML, but it is probably
> not an issue? Also, it is not less secure than the path, because the
> YAML can be changed by anyone. At least the variable is more flexible
> and feels more natural.
> 

Ok, let's use the variable and then change if we see any problems. I'll 
send a v3. If you could add the tags to the runners in the meantime, I 
can validate the changes with a proper CI run.

> 
>> I might have found something runner-side with [2],
>> but I need to dig deeper on that one.
>> 
>> [2] pre_build_script at
>> https://docs.gitlab.com/runner/configuration/advanced-configuration/#the-runners-section
>> 
>> > > +eclair-x86_64-safety:
>> > > +  extends: eclair-x86_64
>> > > +  tags:
>> > > +    - eclair-analysis-safety
>> > > +  variables:
>> > >      EXTRA_XEN_CONFIG: |
>> > >        CONFIG_AMD=y
>> > >        CONFIG_INTEL=n
>> > > @@ -75,6 +90,10 @@ eclair-x86_64:
>> > >        CONFIG_DEBUG_LOCKS=n
>> > >        CONFIG_SCRUB_DEBUG=n
>> > >        CONFIG_XMEM_POOL_POISON=n
>> > > +  rules:
>> > > +    - if: $CI_PROJECT_PATH =~ /^xen-project\/hardware\/xen$/ &&
>> > > $CI_COMMIT_BRANCH =~ /^staging$/
>> > > +      when: always
>> > > +    - !reference [.eclair-analysis:triggered, rules]
>> >
>> > same here
>> >
>> >
>> > >  eclair-ARM64:
>> > >    extends: .eclair-analysis:triggered
>> > > @@ -82,6 +101,21 @@ eclair-ARM64:
>> > >      LOGFILE: "eclair-ARM64.log"
>> > >      VARIANT: "ARM64"
>> > >      RULESET: "monitored"
>> > > +
>> > > +eclair-ARM64-testing:
>> > > +  extends: eclair-ARM64
>> > > +  tags:
>> > > +    - eclair-analysis-testing
>> > > +  rules:
>> > > +    - if: $CI_PROJECT_PATH =~ /^xen-project\/people\/bugseng.*$/
>> > > +      when: always
>> > > +    - !reference [.eclair-analysis:triggered, rules]
>> >
>> > and here
>> >
>> >
>> > > +eclair-ARM64-safety:
>> > > +  extends: eclair-ARM64
>> > > +  tags:
>> > > +    - eclair-analysis-safety
>> > > +  variables:
>> > >      EXTRA_XEN_CONFIG: |
>> > >        CONFIG_NR_CPUS=16
>> > >        CONFIG_GICV2=n
>> > > @@ -120,6 +154,10 @@ eclair-ARM64:
>> > >        CONFIG_DEBUG_LOCKS=n
>> > >        CONFIG_SCRUB_DEBUG=n
>> > >        CONFIG_XMEM_POOL_POISON=n
>> > > +  rules:
>> > > +    - if: $CI_PROJECT_PATH =~ /^xen-project\/hardware\/xen$/ &&
>> > > $CI_COMMIT_BRANCH =~ /^staging$/
>> > > +      when: always
>> > > +    - !reference [.eclair-analysis, rules]
>> >
>> > and here
>> 
>> --
>> Nicola Vetrini, B.Sc.
>> Software Engineer
>> BUGSENG (https://bugseng.com)
>> LinkedIn: https://www.linkedin.com/in/nicola-vetrini-a42471253
>> 

-- 
Nicola Vetrini, B.Sc.
Software Engineer
BUGSENG (https://bugseng.com)
LinkedIn: https://www.linkedin.com/in/nicola-vetrini-a42471253


From xen-devel-bounces@lists.xenproject.org Wed Oct 29 07:42:49 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 07:42:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152545.1483099 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE0pD-0006xG-66; Wed, 29 Oct 2025 07:42:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152545.1483099; Wed, 29 Oct 2025 07:42:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE0pD-0006x8-0t; Wed, 29 Oct 2025 07:42:31 +0000
Received: by outflank-mailman (input) for mailman id 1152545;
 Wed, 29 Oct 2025 07:42:30 +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 <SRS0=f6do=5G=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vE0pC-0006x2-F4
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 07:42:30 +0000
Received: from mail-wm1-x334.google.com (mail-wm1-x334.google.com
 [2a00:1450:4864:20::334])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d0ff3175-b49a-11f0-980a-7dc792cee155;
 Wed, 29 Oct 2025 08:42:27 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-47721743fd0so1399875e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 29 Oct 2025 00:42:27 -0700 (PDT)
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-4771e18bd9dsm33959905e9.3.2025.10.29.00.42.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 29 Oct 2025 00:42:26 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d0ff3175-b49a-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761723747; x=1762328547; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=W8VlNkGmoLqRloSGBLO+j7eIOOCYYkT9NfcPzxj1lWM=;
        b=XW3AHG8ivf9RXqPmLinuMzo4tH2jsIPSQcWs524sE/2kMMsPGmHkQ30MLkS7eDGwM2
         j+BXz4t0G5/stp4cYfkZlsb+/ODZqkHjNj4KGOkapw/nns3w1qsgHYlB/3gsdduGV8Af
         gBqvIkbNMJSKgLoJTNMUg5cPsjGO7CjILdKl8QoNIWWMF5aguU+ab1vOT6Wb9PBhTizC
         qOc1R+Gvm8615hTUVtDkAp1R8l7XY2Evn/DyGCi4t9dJKWKwS5VjejDIKMWfPN8ZzQN7
         1RIxuvyNpmhmonqgMlNmtiBbDreKf6uLtr2KgYPQk26I8icIODDW6JKitUB5Qj8vY6bp
         04PA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761723747; x=1762328547;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=W8VlNkGmoLqRloSGBLO+j7eIOOCYYkT9NfcPzxj1lWM=;
        b=pxf7DsB9ZdlmgurWlr9Lg6HhC3PnMesvFgsCkCv4XUJHnw4noSnRuy/l11SGnMO+dh
         m7FcpxaNJ9UhYOOlckSXfnAOgM7oav5B/cB9uJBcB598Nkr+N8Xt65YkQJkbLwhodpXX
         61qM8FUcnZMtzALBOrBRgPsbckFHA8hW61v6SUTgw6t7UrkbziluD8kEGn/9BMH961Kp
         6ZfeE+YytUMU4pGffBdoC6iMDloIBNKm9SxX5iA7+Q3k6rAPpo7K2syPrwwPQAf5SfgA
         u04zd9b641UxtN68aYSXkXfJ3RnGK413VDL/K5ICQETDPWZoJjpVSwbALGflR9HcRhDe
         SePA==
X-Forwarded-Encrypted: i=1; AJvYcCXuJduSY6+YqxqM1oAd6ehxAe1asQidZRcPJUnKbC0mEXT5oAVW5fSNc1Lzjs0hB1cUXQrJvvn/dws=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywi+gz95aVTlpLd3qUPs50vtLl3qex9xUSVldrCOFZgsECSJp4o
	l5eeApzzzdp1+OmfMQW44EbTtC+7k8cmCVOHJBIPFSCkXKB9LXd+ETsCJ5fmW/rD7A==
X-Gm-Gg: ASbGnctk1unpWRGaBlJaMdDmS3gUz2xhqdSk+Mu8+k+yduvo93dMWCfu8OiMO44G+7a
	znfRmUm54tFKX+XRaDHYXpEJw6gDcRg2W6i+uWyx8NaCAGI46nwPW+2m/Li2pKFvsKt6su8cXsm
	TZPMmb7+Sr7HPPwulio4xDcrhJZRhvrVgJlMGsSh6AwZMk0oUS+HHiso7CFY14bX3iOm694Bk6z
	PYRqM/z/UDiLRpgRj0ngtz5Q7YE0VELHksVZ86zZFbWRhw+RClQ9AdB77y/nOebSpzbPaKh+roN
	9kjvQ7xEK1dHPyxdf1jw2xodHIjy8f8dhBOQ79my6zwymsVUrjjahzQkRSX6AaYEgcrlvMx4aJ6
	p97mWBScSZHQNL+SWTFORLpSpyMIXaeYSgdhUIm2ISSYy1FcvPVv/EkXFVEAgP5ZFg1FZ9y0ct3
	m2mRT0uqQ+V6I4/+BCLfIFrvUUAzLeN0b+voSMcvyWpiPdpzDhHSVwaksrRUUj
X-Google-Smtp-Source: AGHT+IHSPTO9nxGCQhPVoHpNdiJbs4ApV5B/Qd2LnkgbfjqKBlE4AVEvwCJkuhaiw3Ve5K85J4A7wg==
X-Received: by 2002:a05:600c:529a:b0:46e:74cc:42b8 with SMTP id 5b1f17b1804b1-4771e1c9db3mr17281855e9.17.1761723746774;
        Wed, 29 Oct 2025 00:42:26 -0700 (PDT)
Message-ID: <956988d1-dd3b-49cb-8c2f-7af277fcdfed@suse.com>
Date: Wed, 29 Oct 2025 08:42:25 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.20] CI: Fix microcode loading on Xen 4.20 and
 earlier
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20251028194539.3668470-1-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251028194539.3668470-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 28.10.2025 20:45, Andrew Cooper wrote:
> CONFIG_UCODE_SCAN_DEFAULT only exists in Xen 4.21.  In older versions of xen,
> use ucode=scan on the command line.
> 
> Fixes: 690655a511cd ("CI: Include microcode for x86 hardware jobs")
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

FWIW (changes look plausible and complete / consistent to me, but the CI stuff
continues to be an area I'm not really fluent with):
Acked-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Wed Oct 29 07:59:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 07:59:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152558.1483108 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE15Q-0000WN-Mj; Wed, 29 Oct 2025 07:59:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152558.1483108; Wed, 29 Oct 2025 07:59:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE15Q-0000WG-IS; Wed, 29 Oct 2025 07:59:16 +0000
Received: by outflank-mailman (input) for mailman id 1152558;
 Wed, 29 Oct 2025 07:59: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 <SRS0=f6do=5G=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vE15P-0000Vr-85
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 07:59:15 +0000
Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com
 [2a00:1450:4864:20::32b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 284a080c-b49d-11f0-980a-7dc792cee155;
 Wed, 29 Oct 2025 08:59:12 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-4770e7062b5so25598625e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 29 Oct 2025 00:59:12 -0700 (PDT)
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-429952df473sm24852796f8f.42.2025.10.29.00.59.11
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 29 Oct 2025 00:59:11 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 284a080c-b49d-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761724752; x=1762329552; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:cc
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=UO0EyFkbzc+6MmDdVWAc5See0kiepwwYwMhPOK5XSnM=;
        b=SlQblx8PrK9RQrQvpxYti0WEUV5qBG5quhmsmcJxVbaZMXw90Uphk8KmLa6lTeRDgm
         XKbeM/5IB8o7nf25JrYYtdU4p0greP5RFFlauwRE4oc/rXNsXsS6s4Kp8kHuxZ2OYtze
         E+bOF1VUx9+lZlFhq+k6k3L4SHo6JmBbl/NKhskbyo4UsY6Zt3AculEhYhQ6u55hqGPP
         NHWHA8wcibiyfttNLQT6NsCYYsdH+xgVcYuIrOmlLft4zyLQ/tbb5jrVtJY585PkMw8Y
         mjBHUY98CdZQN70qNH+Omk3dIO/kGnnVQsckO+WPy3wCTiOjwcqEXLnVtYOSqak8SEfp
         XA4A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761724752; x=1762329552;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:cc
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=UO0EyFkbzc+6MmDdVWAc5See0kiepwwYwMhPOK5XSnM=;
        b=bXNNBuN2eV2S8bECLxW8tZtVY7KoiacCuYUWerCyHt8XLeQR+xJ+tlP0Lxgx6ayItf
         CObUXAjnordICdO+uyod990jJD0erBaHODCbX81KizM8/ZKFFWeCUx4mNJR2Sof9cNwG
         OTo0O+A47EIVLmvzTKeqEwTBe/07cG+z8XWesHM5OwKJZ+oQiLvQV2wasEVXg0+kZ9Om
         x4X9TdAFQpTsD+IJVw8KOROLuYVFuwrbCyzVslK0CxgG7qvjSBy14M7eg/LcMA0mLU7f
         TPPxQUdD8vfFADajCrpDZY0A7DLp3diIfAV7/Ag53JG8q3aNJPAIs2Gx1wYHgoUKQyqp
         accg==
X-Gm-Message-State: AOJu0YwYSz0Q+L2kvITesY5VpE/z81SGJiaCbWb5dhbEiwFqGaCNMU1G
	9YJIq/iaptykyZTEOmLHDHkp8J+GHu5pnXd0/Vo6ZsAIJZYsFDy27eWRjG45adKOgWu2EoNfVKD
	cd24=
X-Gm-Gg: ASbGncuBvEolVC0w4ff+BRL24kw4J7rN0j+AAMVTB8/DfRbfXt8E/u7gl2tiJ75GEcc
	sGXpklqwpMV/K0gPBh4mzV1paY0MbNB0n2m9xnVP6ZR/m1d+uPSwSyZrE1k41DLmf8Fc3yqXEVj
	Ot8Le7437RKYKGWc7lY6jb0vrmTX9vHVgEK7YxbvVgDxnxVXihlDauf9m0USTHdfngBzoVbknvn
	2ivDGaNz3T18fM2A8oF2iFYVoXgoSrtUjqm3zNLoJrHvo3GTbEbpjuekO74qdsKcIP7FNzse3fA
	qhQiTnRKF32EHPIViBEt72OIrrq8d3GwTevuuQdKSGobJ7lXMucCTywXm+hiS8N2VuyxAgYChjP
	qkxf2WSH0NtcUZg/Fh9uDHudwb0aJOEHScbFFAfISN9Q4GSXCi/NWlaQvBFknpmd14lXyuqloNb
	e8CORV1ca3ACqKp/mocLtn0XKnqMciQugkjIhr6A/eUR3N8fZ22r3ivFeD200SuCdixqT5MQMx9
	0juOJ3v+g==
X-Google-Smtp-Source: AGHT+IHR0Zq953L5Z/sGxyOCtI7ZhhL7snVlvi6zh6Og/bPsfcQHAqhl79rMWsiRbCqQciB0jXdDhg==
X-Received: by 2002:a05:6000:26ca:b0:429:8d46:fc40 with SMTP id ffacd0b85a97d-429aef82a71mr1473494f8f.25.1761724752252;
        Wed, 29 Oct 2025 00:59:12 -0700 (PDT)
Message-ID: <45cb7914-5875-4bdc-a5ee-80c2093dff84@suse.com>
Date: Wed, 29 Oct 2025 08:59:11 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/ppc: Fix tooling FTBFS due to missing definitions in
 public header
To: Timothy Pearson <tpearson@raptorengineering.com>
References: <1094743618.4119.1761694133918.JavaMail.zimbra@raptorengineeringinc.com>
Content-Language: en-US
Cc: xen-devel <xen-devel@lists.xenproject.org>
From: Jan Beulich <jbeulich@suse.com>
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: <1094743618.4119.1761694133918.JavaMail.zimbra@raptorengineeringinc.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 29.10.2025 00:28, Timothy Pearson wrote:
> int64_aligned_t and uint64_aligned_t need to be exposed when the GNU C compiler
> is in use.
> ---
>  xen/include/public/arch-ppc.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Reviewed-by: Jan Beulich <jbeulich@suse.com>

However, first of all this needs your own S-o-b.

Jan

> diff --git a/xen/include/public/arch-ppc.h b/xen/include/public/arch-ppc.h
> index 4ca453a284..264e20b89e 100644
> --- a/xen/include/public/arch-ppc.h
> +++ b/xen/include/public/arch-ppc.h
> @@ -11,7 +11,7 @@
>  #ifndef __XEN_PUBLIC_ARCH_PPC_H__
>  #define __XEN_PUBLIC_ARCH_PPC_H__
>  
> -#if defined(__XEN__) || defined(__XEN_TOOLS__)
> +#if defined(__XEN__) || defined(__XEN_TOOLS__) || defined(__GNUC__)
>  #define  int64_aligned_t  int64_t __attribute__((__aligned__(8)))
>  #define uint64_aligned_t uint64_t __attribute__((__aligned__(8)))
>  #endif



From xen-devel-bounces@lists.xenproject.org Wed Oct 29 10:00:59 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 10:00:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152582.1483122 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE2z2-0008Aw-71; Wed, 29 Oct 2025 10:00:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152582.1483122; Wed, 29 Oct 2025 10:00:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE2z2-0008Ap-3u; Wed, 29 Oct 2025 10:00:48 +0000
Received: by outflank-mailman (input) for mailman id 1152582;
 Wed, 29 Oct 2025 10:00:47 +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
 <SRS0=8R8D=5G=samsung.com=m.szyprowski@srs-se1.protection.inumbo.net>)
 id 1vE2z0-0008Ai-Ey
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 10:00:47 +0000
Received: from mailout2.w1.samsung.com (mailout2.w1.samsung.com
 [210.118.77.12]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1fe18768-b4ae-11f0-980a-7dc792cee155;
 Wed, 29 Oct 2025 11:00:41 +0100 (CET)
Received: from eucas1p1.samsung.com (unknown [182.198.249.206])
 by mailout2.w1.samsung.com (KnoxPortal) with ESMTP id
 20251029100039euoutp022901308f3eab82458d8910c81b526532~y7fTFrdGq2797727977euoutp027;
 Wed, 29 Oct 2025 10:00:39 +0000 (GMT)
Received: from eusmtip1.samsung.com (unknown [203.254.199.221]) by
 eucas1p2.samsung.com (KnoxPortal) with ESMTPA id
 20251029100038eucas1p2fe4a84df0bc07dc1cd96f49b4f740618~y7fRb9PRk1129911299eucas1p2W;
 Wed, 29 Oct 2025 10:00:38 +0000 (GMT)
Received: from [106.210.134.192] (unknown [106.210.134.192]) by
 eusmtip1.samsung.com (KnoxPortal) with ESMTPA id
 20251029100034eusmtip1f745a429892e79db9ec765d9fa07cdc8~y7fOJa_AZ2915029150eusmtip1F;
 Wed, 29 Oct 2025 10:00:34 +0000 (GMT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1fe18768-b4ae-11f0-980a-7dc792cee155
DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com 20251029100039euoutp022901308f3eab82458d8910c81b526532~y7fTFrdGq2797727977euoutp027
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com;
	s=mail20170921; t=1761732039;
	bh=Lz0Rir68dfVLNeA+kqLkIpgtVfATL7Zz4GqfoJVdUA8=;
	h=Date:Subject:To:Cc:From:In-Reply-To:References:From;
	b=Q8nA+g0P0Lp8yYsVx23P8MkKmaRp5d92Nf+2imBS2NlZqa8/5ThIee3tXBOiLNt99
	 PjQedQ0JFXgKyV+emfETcayFtfRKIpSeQMZ0pgMqy9Wn3IoNaAw6sZ7VjxwGv7ehjb
	 3V9ekRK8wOTbOvttHwAsGVylPABrI1wC7ZTCqE2c=
Message-ID: <5e6eb6f0-fbbb-4359-9c40-075b25231e0d@samsung.com>
Date: Wed, 29 Oct 2025 11:00:33 +0100
MIME-Version: 1.0
User-Agent: Betterbird (Windows)
Subject: Re: [PATCH v5 00/14] Remove DMA map_page/map_resource and their
 unmap callbacks
To: Leon Romanovsky <leon@kernel.org>, Robin Murphy <robin.murphy@arm.com>,
	Russell King <linux@armlinux.org.uk>, Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Oleksandr Tyshchenko
	<oleksandr_tyshchenko@epam.com>, Richard Henderson
	<richard.henderson@linaro.org>, Matt Turner <mattst88@gmail.com>, Thomas
	Bogendoerfer <tsbogend@alpha.franken.de>, "James E.J. Bottomley"
	<James.Bottomley@HansenPartnership.com>, Helge Deller <deller@gmx.de>,
	Madhavan Srinivasan <maddy@linux.ibm.com>, Michael Ellerman
	<mpe@ellerman.id.au>, Nicholas Piggin <npiggin@gmail.com>, Christophe Leroy
	<christophe.leroy@csgroup.eu>, Geoff Levand <geoff@infradead.org>, "David S.
 Miller" <davem@davemloft.net>, Andreas Larsson <andreas@gaisler.com>, Thomas
	Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>, Borislav
	Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>
Cc: iommu@lists.linux.dev, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, xen-devel@lists.xenproject.org,
	linux-alpha@vger.kernel.org, linux-mips@vger.kernel.org,
	linux-parisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
	sparclinux@vger.kernel.org, Magnus Lindholm <linmag7@gmail.com>, Jason
	Gunthorpe <jgg@ziepe.ca>
Content-Language: en-US
From: Marek Szyprowski <m.szyprowski@samsung.com>
In-Reply-To: <20251015-remove-map-page-v5-0-3bbfe3a25cdf@kernel.org>
Content-Transfer-Encoding: 8bit
X-CMS-MailID: 20251029100038eucas1p2fe4a84df0bc07dc1cd96f49b4f740618
X-Msg-Generator: CA
Content-Type: text/plain; charset="utf-8"
X-RootMTR: 20251015091313eucas1p2426ae40b579d7f3b4f29b46e0e788c0d
X-EPHeader: CA
X-CMS-RootMailID: 20251015091313eucas1p2426ae40b579d7f3b4f29b46e0e788c0d
References: <CGME20251015091313eucas1p2426ae40b579d7f3b4f29b46e0e788c0d@eucas1p2.samsung.com>
	<20251015-remove-map-page-v5-0-3bbfe3a25cdf@kernel.org>

On 15.10.2025 11:12, Leon Romanovsky wrote:
> This series is a combination of previous two steps [1, 2] to reduce
> number of accesses to struct page in the code "below" DMA layer.
>
> In this series, the DMA .map_page/.map_resource/.unmap_page/.unmap_resource
> callbacks are converted to newly introduced .map_phys/.unmap_phys interfaces.
>
> Thanks
>
> [1] https://lore.kernel.org/all/cover.1758203802.git.leon@kernel.org
> [2] https://lore.kernel.org/all/cover.1759071169.git.leon@kernel.org

AppliedÂ to dma-mapping-for-next branch.


Best regards
-- 
Marek Szyprowski, PhD
Samsung R&D Institute Poland



From xen-devel-bounces@lists.xenproject.org Wed Oct 29 10:10:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 10:10:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152592.1483132 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE37t-0000V2-1Q; Wed, 29 Oct 2025 10:09:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152592.1483132; Wed, 29 Oct 2025 10:09:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE37s-0000Uv-UP; Wed, 29 Oct 2025 10:09:56 +0000
Received: by outflank-mailman (input) for mailman id 1152592;
 Wed, 29 Oct 2025 10:09:55 +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
 <SRS0=MCkK=5G=arm.com=kevin.brodsky@srs-se1.protection.inumbo.net>)
 id 1vE37r-0000Up-Hc
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 10:09:55 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 68f5bef1-b4af-11f0-980a-7dc792cee155;
 Wed, 29 Oct 2025 11:09:52 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id D5A201AC1;
 Wed, 29 Oct 2025 03:09:43 -0700 (PDT)
Received: from e123572-lin.arm.com (e123572-lin.cambridge.arm.com
 [10.1.194.54])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id BC8B73F66E;
 Wed, 29 Oct 2025 03:09:46 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 68f5bef1-b4af-11f0-980a-7dc792cee155
From: Kevin Brodsky <kevin.brodsky@arm.com>
To: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org,
	Kevin Brodsky <kevin.brodsky@arm.com>,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	Andreas Larsson <andreas@gaisler.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Borislav Petkov <bp@alien8.de>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	David Hildenbrand <david@redhat.com>,
	"David S. Miller" <davem@davemloft.net>,
	David Woodhouse <dwmw2@infradead.org>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Ingo Molnar <mingo@redhat.com>,
	Jann Horn <jannh@google.com>,
	Juergen Gross <jgross@suse.com>,
	"Liam R. Howlett" <Liam.Howlett@oracle.com>,
	Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Michal Hocko <mhocko@suse.com>,
	Mike Rapoport <rppt@kernel.org>,
	Nicholas Piggin <npiggin@gmail.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Ryan Roberts <ryan.roberts@arm.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vlastimil Babka <vbabka@suse.cz>,
	Will Deacon <will@kernel.org>,
	Yeoreum Yun <yeoreum.yun@arm.com>,
	linux-arm-kernel@lists.infradead.org,
	linuxppc-dev@lists.ozlabs.org,
	sparclinux@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	x86@kernel.org
Subject: [PATCH v4 00/12] Nesting support for lazy MMU mode
Date: Wed, 29 Oct 2025 10:08:57 +0000
Message-ID: <20251029100909.3381140-1-kevin.brodsky@arm.com>
X-Mailer: git-send-email 2.47.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

When the lazy MMU mode was introduced eons ago, it wasn't made clear
whether such a sequence was legal:

	arch_enter_lazy_mmu_mode()
	...
		arch_enter_lazy_mmu_mode()
		...
		arch_leave_lazy_mmu_mode()
	...
	arch_leave_lazy_mmu_mode()

It seems fair to say that nested calls to
arch_{enter,leave}_lazy_mmu_mode() were not expected, and most
architectures never explicitly supported it.

Nesting does in fact occur in certain configurations, and avoiding it
has proved difficult. This series therefore enables lazy_mmu sections to
nest, on all architectures.

Nesting is handled using a counter in task_struct (patch 7), like other
stateless APIs such as pagefault_{disable,enable}(). This is fully
handled in a new generic layer in <linux/pgtable.h>; the arch_* API
remains unchanged. A new pair of calls, lazy_mmu_mode_{pause,resume}(),
is also introduced to allow functions that are called with the lazy MMU
mode enabled to temporarily pause it, regardless of nesting.

An arch now opts in to using the lazy MMU mode by selecting
CONFIG_ARCH_LAZY_MMU; this is more appropriate now that we have a
generic API, especially with state conditionally added to task_struct.

---

Background: Ryan Roberts' series from March [1] attempted to prevent
nesting from ever occurring, and mostly succeeded. Unfortunately, a
corner case (DEBUG_PAGEALLOC) may still cause nesting to occur on arm64.
Ryan proposed [2] to address that corner case at the generic level but
this approach received pushback; [3] then attempted to solve the issue
on arm64 only, but it was deemed too fragile.

It feels generally difficult to guarantee that lazy_mmu sections don't
nest, because callers of various standard mm functions do not know if
the function uses lazy_mmu itself.

The overall approach in v3/v4 is very close to what David Hildenbrand
proposed on v2 [4].

Unlike in v1/v2, no special provision is made for architectures to
save/restore extra state when entering/leaving the mode. Based on the
discussions so far, this does not seem to be required - an arch can
store any relevant state in thread_struct during arch_enter() and
restore it in arch_leave(). Nesting is not a concern as these functions
are only called at the top level, not in nested sections.

The introduction of a generic layer, and tracking of the lazy MMU state
in task_struct, also allows to streamline the arch callbacks - this
series removes 72 lines from arch/.

Patch overview:

* Patch 1: cleanup - avoids having to deal with the powerpc
  context-switching code

* Patch 2-4: prepare arch_flush_lazy_mmu_mode() to be called from the
  generic layer (patch 7)

* Patch 5-6: new API + CONFIG_ARCH_LAZY_MMU

* Patch 7: nesting support

* Patch 8-12: move as much handling as possible to the generic layer

This series has been tested by running the mm kselfetsts on arm64 with
DEBUG_VM, DEBUG_PAGEALLOC and KFENCE. It was also build-tested on other
architectures (with and without XEN_PV on x86).

- Kevin

[1] https://lore.kernel.org/all/20250303141542.3371656-1-ryan.roberts@arm.com/
[2] https://lore.kernel.org/all/20250530140446.2387131-1-ryan.roberts@arm.com/
[3] https://lore.kernel.org/all/20250606135654.178300-1-ryan.roberts@arm.com/
[4] https://lore.kernel.org/all/ef343405-c394-4763-a79f-21381f217b6c@redhat.com/
---
Changelog

v3..v4:

- Patch 2: restored ordering of preempt_{disable,enable}() [Dave Hansen]
- Patch 5 onwards: s/ARCH_LAZY_MMU/ARCH_HAS_LAZY_MMU_MODE/ [Mike Rapoport]
- Patch 7: renamed lazy_mmu_state members, removed VM_BUG_ON(),
  reordered writes to lazy_mmu_state members [David Hildenbrand]
- Dropped patch 13 as it doesn't seem justified [David H]
- Various improvements to commit messages [David H]

v3: https://lore.kernel.org/all/20251015082727.2395128-1-kevin.brodsky@arm.com/

v2..v3:

- Full rewrite; dropped all Acked-by/Reviewed-by.
- Rebased on v6.18-rc1.

v2: https://lore.kernel.org/all/20250908073931.4159362-1-kevin.brodsky@arm.com/

v1..v2:
- Rebased on mm-unstable.
- Patch 2: handled new calls to enter()/leave(), clarified how the "flush"
  pattern (leave() followed by enter()) is handled.
- Patch 5,6: removed unnecessary local variable [Alexander Gordeev's
  suggestion].
- Added Mike Rapoport's Acked-by.

v1: https://lore.kernel.org/all/20250904125736.3918646-1-kevin.brodsky@arm.com/
---
Cc: Alexander Gordeev <agordeev@linux.ibm.com>
Cc: Andreas Larsson <andreas@gaisler.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: David Hildenbrand <david@redhat.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Jann Horn <jannh@google.com>
Cc: Juergen Gross <jgross@suse.com>
Cc: "Liam R. Howlett" <Liam.Howlett@oracle.com>
Cc: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
Cc: Madhavan Srinivasan <maddy@linux.ibm.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Mike Rapoport <rppt@kernel.org>
Cc: Nicholas Piggin <npiggin@gmail.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Ryan Roberts <ryan.roberts@arm.com>
Cc: Suren Baghdasaryan <surenb@google.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: Will Deacon <will@kernel.org>
Cc: Yeoreum Yun <yeoreum.yun@arm.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: linuxppc-dev@lists.ozlabs.org
Cc: sparclinux@vger.kernel.org
Cc: xen-devel@lists.xenproject.org
Cc: x86@kernel.org
---
Alexander Gordeev (1):
  powerpc/64s: Do not re-activate batched TLB flush

Kevin Brodsky (11):
  x86/xen: simplify flush_lazy_mmu()
  powerpc/mm: implement arch_flush_lazy_mmu_mode()
  sparc/mm: implement arch_flush_lazy_mmu_mode()
  mm: introduce CONFIG_ARCH_HAS_LAZY_MMU_MODE
  mm: introduce generic lazy_mmu helpers
  mm: enable lazy_mmu sections to nest
  arm64: mm: replace TIF_LAZY_MMU with in_lazy_mmu_mode()
  powerpc/mm: replace batch->active with in_lazy_mmu_mode()
  sparc/mm: replace batch->active with in_lazy_mmu_mode()
  x86/xen: use lazy_mmu_state when context-switching
  mm: bail out of lazy_mmu_mode_* in interrupt context

 arch/arm64/Kconfig                            |   1 +
 arch/arm64/include/asm/pgtable.h              |  46 +-------
 arch/arm64/include/asm/thread_info.h          |   3 +-
 arch/arm64/mm/mmu.c                           |   4 +-
 arch/arm64/mm/pageattr.c                      |   4 +-
 .../include/asm/book3s/64/tlbflush-hash.h     |  22 ++--
 arch/powerpc/include/asm/thread_info.h        |   2 -
 arch/powerpc/kernel/process.c                 |  25 -----
 arch/powerpc/mm/book3s64/hash_tlb.c           |  10 +-
 arch/powerpc/mm/book3s64/subpage_prot.c       |   4 +-
 arch/powerpc/platforms/Kconfig.cputype        |   1 +
 arch/sparc/Kconfig                            |   1 +
 arch/sparc/include/asm/tlbflush_64.h          |   5 +-
 arch/sparc/mm/tlb.c                           |  14 +--
 arch/x86/Kconfig                              |   1 +
 arch/x86/boot/compressed/misc.h               |   1 +
 arch/x86/boot/startup/sme.c                   |   1 +
 arch/x86/include/asm/paravirt.h               |   1 -
 arch/x86/include/asm/pgtable.h                |   3 +-
 arch/x86/include/asm/thread_info.h            |   4 +-
 arch/x86/xen/enlighten_pv.c                   |   3 +-
 arch/x86/xen/mmu_pv.c                         |   6 +-
 fs/proc/task_mmu.c                            |   4 +-
 include/linux/mm_types_task.h                 |   5 +
 include/linux/pgtable.h                       | 104 +++++++++++++++++-
 include/linux/sched.h                         |  19 ++++
 mm/Kconfig                                    |   3 +
 mm/kasan/shadow.c                             |   8 +-
 mm/madvise.c                                  |  18 +--
 mm/memory.c                                   |  16 +--
 mm/migrate_device.c                           |   4 +-
 mm/mprotect.c                                 |   4 +-
 mm/mremap.c                                   |   4 +-
 mm/userfaultfd.c                              |   4 +-
 mm/vmalloc.c                                  |  12 +-
 mm/vmscan.c                                   |  12 +-
 36 files changed, 213 insertions(+), 166 deletions(-)


base-commit: dcb6fa37fd7bc9c3d2b066329b0d27dedf8becaa
-- 
2.47.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 29 10:10:02 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 10:10:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152593.1483142 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE37x-0000jQ-7u; Wed, 29 Oct 2025 10:10:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152593.1483142; Wed, 29 Oct 2025 10:10:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE37x-0000jH-4P; Wed, 29 Oct 2025 10:10:01 +0000
Received: by outflank-mailman (input) for mailman id 1152593;
 Wed, 29 Oct 2025 10:09:59 +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
 <SRS0=MCkK=5G=arm.com=kevin.brodsky@srs-se1.protection.inumbo.net>)
 id 1vE37v-0000Up-Gh
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 10:09:59 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 6c181a0d-b4af-11f0-980a-7dc792cee155;
 Wed, 29 Oct 2025 11:09:57 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 12B101C2B;
 Wed, 29 Oct 2025 03:09:49 -0700 (PDT)
Received: from e123572-lin.arm.com (e123572-lin.cambridge.arm.com
 [10.1.194.54])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 012083F66E;
 Wed, 29 Oct 2025 03:09:51 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6c181a0d-b4af-11f0-980a-7dc792cee155
From: Kevin Brodsky <kevin.brodsky@arm.com>
To: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org,
	Kevin Brodsky <kevin.brodsky@arm.com>,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	Andreas Larsson <andreas@gaisler.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Borislav Petkov <bp@alien8.de>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	David Hildenbrand <david@redhat.com>,
	"David S. Miller" <davem@davemloft.net>,
	David Woodhouse <dwmw2@infradead.org>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Ingo Molnar <mingo@redhat.com>,
	Jann Horn <jannh@google.com>,
	Juergen Gross <jgross@suse.com>,
	"Liam R. Howlett" <Liam.Howlett@oracle.com>,
	Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Michal Hocko <mhocko@suse.com>,
	Mike Rapoport <rppt@kernel.org>,
	Nicholas Piggin <npiggin@gmail.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Ryan Roberts <ryan.roberts@arm.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vlastimil Babka <vbabka@suse.cz>,
	Will Deacon <will@kernel.org>,
	Yeoreum Yun <yeoreum.yun@arm.com>,
	linux-arm-kernel@lists.infradead.org,
	linuxppc-dev@lists.ozlabs.org,
	sparclinux@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	x86@kernel.org
Subject: [PATCH v4 01/12] powerpc/64s: Do not re-activate batched TLB flush
Date: Wed, 29 Oct 2025 10:08:58 +0000
Message-ID: <20251029100909.3381140-2-kevin.brodsky@arm.com>
X-Mailer: git-send-email 2.47.0
In-Reply-To: <20251029100909.3381140-1-kevin.brodsky@arm.com>
References: <20251029100909.3381140-1-kevin.brodsky@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Alexander Gordeev <agordeev@linux.ibm.com>

Since commit b9ef323ea168 ("powerpc/64s: Disable preemption in hash
lazy mmu mode") a task can not be preempted while in lazy MMU mode.
Therefore, the batch re-activation code is never called, so remove it.

Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
---
 arch/powerpc/include/asm/thread_info.h |  2 --
 arch/powerpc/kernel/process.c          | 25 -------------------------
 2 files changed, 27 deletions(-)

diff --git a/arch/powerpc/include/asm/thread_info.h b/arch/powerpc/include/asm/thread_info.h
index b0f200aba2b3..97f35f9b1a96 100644
--- a/arch/powerpc/include/asm/thread_info.h
+++ b/arch/powerpc/include/asm/thread_info.h
@@ -154,12 +154,10 @@ void arch_setup_new_exec(void);
 /* Don't move TLF_NAPPING without adjusting the code in entry_32.S */
 #define TLF_NAPPING		0	/* idle thread enabled NAP mode */
 #define TLF_SLEEPING		1	/* suspend code enabled SLEEP mode */
-#define TLF_LAZY_MMU		3	/* tlb_batch is active */
 #define TLF_RUNLATCH		4	/* Is the runlatch enabled? */
 
 #define _TLF_NAPPING		(1 << TLF_NAPPING)
 #define _TLF_SLEEPING		(1 << TLF_SLEEPING)
-#define _TLF_LAZY_MMU		(1 << TLF_LAZY_MMU)
 #define _TLF_RUNLATCH		(1 << TLF_RUNLATCH)
 
 #ifndef __ASSEMBLER__
diff --git a/arch/powerpc/kernel/process.c b/arch/powerpc/kernel/process.c
index eb23966ac0a9..9237dcbeee4a 100644
--- a/arch/powerpc/kernel/process.c
+++ b/arch/powerpc/kernel/process.c
@@ -1281,9 +1281,6 @@ struct task_struct *__switch_to(struct task_struct *prev,
 {
 	struct thread_struct *new_thread, *old_thread;
 	struct task_struct *last;
-#ifdef CONFIG_PPC_64S_HASH_MMU
-	struct ppc64_tlb_batch *batch;
-#endif
 
 	new_thread = &new->thread;
 	old_thread = &current->thread;
@@ -1291,14 +1288,6 @@ struct task_struct *__switch_to(struct task_struct *prev,
 	WARN_ON(!irqs_disabled());
 
 #ifdef CONFIG_PPC_64S_HASH_MMU
-	batch = this_cpu_ptr(&ppc64_tlb_batch);
-	if (batch->active) {
-		current_thread_info()->local_flags |= _TLF_LAZY_MMU;
-		if (batch->index)
-			__flush_tlb_pending(batch);
-		batch->active = 0;
-	}
-
 	/*
 	 * On POWER9 the copy-paste buffer can only paste into
 	 * foreign real addresses, so unprivileged processes can not
@@ -1369,20 +1358,6 @@ struct task_struct *__switch_to(struct task_struct *prev,
 	 */
 
 #ifdef CONFIG_PPC_BOOK3S_64
-#ifdef CONFIG_PPC_64S_HASH_MMU
-	/*
-	 * This applies to a process that was context switched while inside
-	 * arch_enter_lazy_mmu_mode(), to re-activate the batch that was
-	 * deactivated above, before _switch(). This will never be the case
-	 * for new tasks.
-	 */
-	if (current_thread_info()->local_flags & _TLF_LAZY_MMU) {
-		current_thread_info()->local_flags &= ~_TLF_LAZY_MMU;
-		batch = this_cpu_ptr(&ppc64_tlb_batch);
-		batch->active = 1;
-	}
-#endif
-
 	/*
 	 * Math facilities are masked out of the child MSR in copy_thread.
 	 * A new task does not need to restore_math because it will
-- 
2.47.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 29 10:10:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 10:10:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152594.1483152 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE381-0001aH-J3; Wed, 29 Oct 2025 10:10:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152594.1483152; Wed, 29 Oct 2025 10:10:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE381-0001Zq-Fd; Wed, 29 Oct 2025 10:10:05 +0000
Received: by outflank-mailman (input) for mailman id 1152594;
 Wed, 29 Oct 2025 10:10:04 +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
 <SRS0=MCkK=5G=arm.com=kevin.brodsky@srs-se1.protection.inumbo.net>)
 id 1vE380-0001HF-9E
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 10:10:04 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 6f35a22d-b4af-11f0-9d16-b5c5bf9af7f9;
 Wed, 29 Oct 2025 11:10:03 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 4895F2BCB;
 Wed, 29 Oct 2025 03:09:54 -0700 (PDT)
Received: from e123572-lin.arm.com (e123572-lin.cambridge.arm.com
 [10.1.194.54])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 369DF3F66E;
 Wed, 29 Oct 2025 03:09:57 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6f35a22d-b4af-11f0-9d16-b5c5bf9af7f9
From: Kevin Brodsky <kevin.brodsky@arm.com>
To: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org,
	Kevin Brodsky <kevin.brodsky@arm.com>,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	Andreas Larsson <andreas@gaisler.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Borislav Petkov <bp@alien8.de>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	David Hildenbrand <david@redhat.com>,
	"David S. Miller" <davem@davemloft.net>,
	David Woodhouse <dwmw2@infradead.org>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Ingo Molnar <mingo@redhat.com>,
	Jann Horn <jannh@google.com>,
	Juergen Gross <jgross@suse.com>,
	"Liam R. Howlett" <Liam.Howlett@oracle.com>,
	Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Michal Hocko <mhocko@suse.com>,
	Mike Rapoport <rppt@kernel.org>,
	Nicholas Piggin <npiggin@gmail.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Ryan Roberts <ryan.roberts@arm.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vlastimil Babka <vbabka@suse.cz>,
	Will Deacon <will@kernel.org>,
	Yeoreum Yun <yeoreum.yun@arm.com>,
	linux-arm-kernel@lists.infradead.org,
	linuxppc-dev@lists.ozlabs.org,
	sparclinux@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	x86@kernel.org
Subject: [PATCH v4 02/12] x86/xen: simplify flush_lazy_mmu()
Date: Wed, 29 Oct 2025 10:08:59 +0000
Message-ID: <20251029100909.3381140-3-kevin.brodsky@arm.com>
X-Mailer: git-send-email 2.47.0
In-Reply-To: <20251029100909.3381140-1-kevin.brodsky@arm.com>
References: <20251029100909.3381140-1-kevin.brodsky@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

arch_flush_lazy_mmu_mode() is called when outstanding batched
pgtable operations must be completed immediately. There should
however be no need to leave and re-enter lazy MMU completely. The
only part of that sequence that we really need is xen_mc_flush();
call it directly.

Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
---
 arch/x86/xen/mmu_pv.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/arch/x86/xen/mmu_pv.c b/arch/x86/xen/mmu_pv.c
index 2a4a8deaf612..7a35c3393df4 100644
--- a/arch/x86/xen/mmu_pv.c
+++ b/arch/x86/xen/mmu_pv.c
@@ -2139,10 +2139,8 @@ static void xen_flush_lazy_mmu(void)
 {
 	preempt_disable();
 
-	if (xen_get_lazy_mode() == XEN_LAZY_MMU) {
-		arch_leave_lazy_mmu_mode();
-		arch_enter_lazy_mmu_mode();
-	}
+	if (xen_get_lazy_mode() == XEN_LAZY_MMU)
+		xen_mc_flush();
 
 	preempt_enable();
 }
-- 
2.47.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 29 10:10:10 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 10:10:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152597.1483162 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE386-0002Ge-P0; Wed, 29 Oct 2025 10:10:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152597.1483162; Wed, 29 Oct 2025 10:10:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE386-0002GV-MC; Wed, 29 Oct 2025 10:10:10 +0000
Received: by outflank-mailman (input) for mailman id 1152597;
 Wed, 29 Oct 2025 10:10:08 +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
 <SRS0=MCkK=5G=arm.com=kevin.brodsky@srs-se1.protection.inumbo.net>)
 id 1vE384-0001HF-NQ
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 10:10:08 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 72564dde-b4af-11f0-9d16-b5c5bf9af7f9;
 Wed, 29 Oct 2025 11:10:08 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 809B12BCC;
 Wed, 29 Oct 2025 03:09:59 -0700 (PDT)
Received: from e123572-lin.arm.com (e123572-lin.cambridge.arm.com
 [10.1.194.54])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 6BA203F66E;
 Wed, 29 Oct 2025 03:10:02 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 72564dde-b4af-11f0-9d16-b5c5bf9af7f9
From: Kevin Brodsky <kevin.brodsky@arm.com>
To: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org,
	Kevin Brodsky <kevin.brodsky@arm.com>,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	Andreas Larsson <andreas@gaisler.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Borislav Petkov <bp@alien8.de>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	David Hildenbrand <david@redhat.com>,
	"David S. Miller" <davem@davemloft.net>,
	David Woodhouse <dwmw2@infradead.org>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Ingo Molnar <mingo@redhat.com>,
	Jann Horn <jannh@google.com>,
	Juergen Gross <jgross@suse.com>,
	"Liam R. Howlett" <Liam.Howlett@oracle.com>,
	Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Michal Hocko <mhocko@suse.com>,
	Mike Rapoport <rppt@kernel.org>,
	Nicholas Piggin <npiggin@gmail.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Ryan Roberts <ryan.roberts@arm.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vlastimil Babka <vbabka@suse.cz>,
	Will Deacon <will@kernel.org>,
	Yeoreum Yun <yeoreum.yun@arm.com>,
	linux-arm-kernel@lists.infradead.org,
	linuxppc-dev@lists.ozlabs.org,
	sparclinux@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	x86@kernel.org
Subject: [PATCH v4 03/12] powerpc/mm: implement arch_flush_lazy_mmu_mode()
Date: Wed, 29 Oct 2025 10:09:00 +0000
Message-ID: <20251029100909.3381140-4-kevin.brodsky@arm.com>
X-Mailer: git-send-email 2.47.0
In-Reply-To: <20251029100909.3381140-1-kevin.brodsky@arm.com>
References: <20251029100909.3381140-1-kevin.brodsky@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Upcoming changes to the lazy_mmu API will cause
arch_flush_lazy_mmu_mode() to be called when leaving a nested
lazy_mmu section.

Move the relevant logic from arch_leave_lazy_mmu_mode() to
arch_flush_lazy_mmu_mode() and have the former call the latter.

Note: the additional this_cpu_ptr() on the
arch_leave_lazy_mmu_mode() path will be removed in a subsequent
patch.

Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
---
 .../powerpc/include/asm/book3s/64/tlbflush-hash.h | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/arch/powerpc/include/asm/book3s/64/tlbflush-hash.h b/arch/powerpc/include/asm/book3s/64/tlbflush-hash.h
index 146287d9580f..7704dbe8e88d 100644
--- a/arch/powerpc/include/asm/book3s/64/tlbflush-hash.h
+++ b/arch/powerpc/include/asm/book3s/64/tlbflush-hash.h
@@ -41,6 +41,16 @@ static inline void arch_enter_lazy_mmu_mode(void)
 	batch->active = 1;
 }
 
+static inline void arch_flush_lazy_mmu_mode(void)
+{
+	struct ppc64_tlb_batch *batch;
+
+	batch = this_cpu_ptr(&ppc64_tlb_batch);
+
+	if (batch->index)
+		__flush_tlb_pending(batch);
+}
+
 static inline void arch_leave_lazy_mmu_mode(void)
 {
 	struct ppc64_tlb_batch *batch;
@@ -49,14 +59,11 @@ static inline void arch_leave_lazy_mmu_mode(void)
 		return;
 	batch = this_cpu_ptr(&ppc64_tlb_batch);
 
-	if (batch->index)
-		__flush_tlb_pending(batch);
+	arch_flush_lazy_mmu_mode();
 	batch->active = 0;
 	preempt_enable();
 }
 
-#define arch_flush_lazy_mmu_mode()      do {} while (0)
-
 extern void hash__tlbiel_all(unsigned int action);
 
 extern void flush_hash_page(unsigned long vpn, real_pte_t pte, int psize,
-- 
2.47.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 29 10:10:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 10:10:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152600.1483172 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE38C-0002d6-0H; Wed, 29 Oct 2025 10:10:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152600.1483172; Wed, 29 Oct 2025 10:10:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE38B-0002cx-TM; Wed, 29 Oct 2025 10:10:15 +0000
Received: by outflank-mailman (input) for mailman id 1152600;
 Wed, 29 Oct 2025 10:10: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
 <SRS0=MCkK=5G=arm.com=kevin.brodsky@srs-se1.protection.inumbo.net>)
 id 1vE38A-0000Up-P0
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 10:10:14 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 755bb6bc-b4af-11f0-980a-7dc792cee155;
 Wed, 29 Oct 2025 11:10:13 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id B6C832BCD;
 Wed, 29 Oct 2025 03:10:04 -0700 (PDT)
Received: from e123572-lin.arm.com (e123572-lin.cambridge.arm.com
 [10.1.194.54])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id A153E3F66E;
 Wed, 29 Oct 2025 03:10:07 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 755bb6bc-b4af-11f0-980a-7dc792cee155
From: Kevin Brodsky <kevin.brodsky@arm.com>
To: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org,
	Kevin Brodsky <kevin.brodsky@arm.com>,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	Andreas Larsson <andreas@gaisler.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Borislav Petkov <bp@alien8.de>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	David Hildenbrand <david@redhat.com>,
	"David S. Miller" <davem@davemloft.net>,
	David Woodhouse <dwmw2@infradead.org>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Ingo Molnar <mingo@redhat.com>,
	Jann Horn <jannh@google.com>,
	Juergen Gross <jgross@suse.com>,
	"Liam R. Howlett" <Liam.Howlett@oracle.com>,
	Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Michal Hocko <mhocko@suse.com>,
	Mike Rapoport <rppt@kernel.org>,
	Nicholas Piggin <npiggin@gmail.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Ryan Roberts <ryan.roberts@arm.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vlastimil Babka <vbabka@suse.cz>,
	Will Deacon <will@kernel.org>,
	Yeoreum Yun <yeoreum.yun@arm.com>,
	linux-arm-kernel@lists.infradead.org,
	linuxppc-dev@lists.ozlabs.org,
	sparclinux@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	x86@kernel.org
Subject: [PATCH v4 04/12] sparc/mm: implement arch_flush_lazy_mmu_mode()
Date: Wed, 29 Oct 2025 10:09:01 +0000
Message-ID: <20251029100909.3381140-5-kevin.brodsky@arm.com>
X-Mailer: git-send-email 2.47.0
In-Reply-To: <20251029100909.3381140-1-kevin.brodsky@arm.com>
References: <20251029100909.3381140-1-kevin.brodsky@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Upcoming changes to the lazy_mmu API will cause
arch_flush_lazy_mmu_mode() to be called when leaving a nested
lazy_mmu section.

Move the relevant logic from arch_leave_lazy_mmu_mode() to
arch_flush_lazy_mmu_mode() and have the former call the latter.

Note: the additional this_cpu_ptr() on the
arch_leave_lazy_mmu_mode() path will be removed in a subsequent
patch.

Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
---
 arch/sparc/include/asm/tlbflush_64.h | 2 +-
 arch/sparc/mm/tlb.c                  | 9 ++++++++-
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/arch/sparc/include/asm/tlbflush_64.h b/arch/sparc/include/asm/tlbflush_64.h
index 8b8cdaa69272..925bb5d7a4e1 100644
--- a/arch/sparc/include/asm/tlbflush_64.h
+++ b/arch/sparc/include/asm/tlbflush_64.h
@@ -43,8 +43,8 @@ void flush_tlb_kernel_range(unsigned long start, unsigned long end);
 
 void flush_tlb_pending(void);
 void arch_enter_lazy_mmu_mode(void);
+void arch_flush_lazy_mmu_mode(void);
 void arch_leave_lazy_mmu_mode(void);
-#define arch_flush_lazy_mmu_mode()      do {} while (0)
 
 /* Local cpu only.  */
 void __flush_tlb_all(void);
diff --git a/arch/sparc/mm/tlb.c b/arch/sparc/mm/tlb.c
index a35ddcca5e76..7b5dfcdb1243 100644
--- a/arch/sparc/mm/tlb.c
+++ b/arch/sparc/mm/tlb.c
@@ -59,12 +59,19 @@ void arch_enter_lazy_mmu_mode(void)
 	tb->active = 1;
 }
 
-void arch_leave_lazy_mmu_mode(void)
+void arch_flush_lazy_mmu_mode(void)
 {
 	struct tlb_batch *tb = this_cpu_ptr(&tlb_batch);
 
 	if (tb->tlb_nr)
 		flush_tlb_pending();
+}
+
+void arch_leave_lazy_mmu_mode(void)
+{
+	struct tlb_batch *tb = this_cpu_ptr(&tlb_batch);
+
+	arch_flush_lazy_mmu_mode();
 	tb->active = 0;
 	preempt_enable();
 }
-- 
2.47.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 29 10:10:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 10:10:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152607.1483182 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE38G-000353-8i; Wed, 29 Oct 2025 10:10:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152607.1483182; Wed, 29 Oct 2025 10:10:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE38G-00034q-5x; Wed, 29 Oct 2025 10:10:20 +0000
Received: by outflank-mailman (input) for mailman id 1152607;
 Wed, 29 Oct 2025 10:10:19 +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
 <SRS0=MCkK=5G=arm.com=kevin.brodsky@srs-se1.protection.inumbo.net>)
 id 1vE38F-0001HF-E5
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 10:10:19 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 788a231b-b4af-11f0-9d16-b5c5bf9af7f9;
 Wed, 29 Oct 2025 11:10:18 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id EBC272BCE;
 Wed, 29 Oct 2025 03:10:09 -0700 (PDT)
Received: from e123572-lin.arm.com (e123572-lin.cambridge.arm.com
 [10.1.194.54])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id D7CEE3F66E;
 Wed, 29 Oct 2025 03:10:12 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 788a231b-b4af-11f0-9d16-b5c5bf9af7f9
From: Kevin Brodsky <kevin.brodsky@arm.com>
To: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org,
	Kevin Brodsky <kevin.brodsky@arm.com>,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	Andreas Larsson <andreas@gaisler.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Borislav Petkov <bp@alien8.de>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	David Hildenbrand <david@redhat.com>,
	"David S. Miller" <davem@davemloft.net>,
	David Woodhouse <dwmw2@infradead.org>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Ingo Molnar <mingo@redhat.com>,
	Jann Horn <jannh@google.com>,
	Juergen Gross <jgross@suse.com>,
	"Liam R. Howlett" <Liam.Howlett@oracle.com>,
	Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Michal Hocko <mhocko@suse.com>,
	Mike Rapoport <rppt@kernel.org>,
	Nicholas Piggin <npiggin@gmail.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Ryan Roberts <ryan.roberts@arm.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vlastimil Babka <vbabka@suse.cz>,
	Will Deacon <will@kernel.org>,
	Yeoreum Yun <yeoreum.yun@arm.com>,
	linux-arm-kernel@lists.infradead.org,
	linuxppc-dev@lists.ozlabs.org,
	sparclinux@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	x86@kernel.org
Subject: [PATCH v4 05/12] mm: introduce CONFIG_ARCH_HAS_LAZY_MMU_MODE
Date: Wed, 29 Oct 2025 10:09:02 +0000
Message-ID: <20251029100909.3381140-6-kevin.brodsky@arm.com>
X-Mailer: git-send-email 2.47.0
In-Reply-To: <20251029100909.3381140-1-kevin.brodsky@arm.com>
References: <20251029100909.3381140-1-kevin.brodsky@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Architectures currently opt in for implementing lazy_mmu helpers by
defining __HAVE_ARCH_ENTER_LAZY_MMU_MODE.

In preparation for introducing a generic lazy_mmu layer that will
require storage in task_struct, let's switch to a cleaner approach:
instead of defining a macro, select a CONFIG option.

This patch introduces CONFIG_ARCH_HAS_LAZY_MMU_MODE and has each
arch select it when it implements lazy_mmu helpers.
__HAVE_ARCH_ENTER_LAZY_MMU_MODE is removed and <linux/pgtable.h>
relies on the new CONFIG instead.

On x86, lazy_mmu helpers are only implemented if PARAVIRT_XXL is
selected. This creates some complications in arch/x86/boot/, because
a few files manually undefine PARAVIRT* options. As a result
<asm/paravirt.h> does not define the lazy_mmu helpers, but this
breaks the build as <linux/pgtable.h> only defines them if
!CONFIG_ARCH_HAS_LAZY_MMU_MODE. There does not seem to be a clean
way out of this - let's just undefine that new CONFIG too.

Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
---
 arch/arm64/Kconfig                                 | 1 +
 arch/arm64/include/asm/pgtable.h                   | 1 -
 arch/powerpc/include/asm/book3s/64/tlbflush-hash.h | 2 --
 arch/powerpc/platforms/Kconfig.cputype             | 1 +
 arch/sparc/Kconfig                                 | 1 +
 arch/sparc/include/asm/tlbflush_64.h               | 2 --
 arch/x86/Kconfig                                   | 1 +
 arch/x86/boot/compressed/misc.h                    | 1 +
 arch/x86/boot/startup/sme.c                        | 1 +
 arch/x86/include/asm/paravirt.h                    | 1 -
 include/linux/pgtable.h                            | 2 +-
 mm/Kconfig                                         | 3 +++
 12 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index 6663ffd23f25..e6bf5c7311b5 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -122,6 +122,7 @@ config ARM64
 	select ARCH_WANTS_NO_INSTR
 	select ARCH_WANTS_THP_SWAP if ARM64_4K_PAGES
 	select ARCH_HAS_UBSAN
+	select ARCH_HAS_LAZY_MMU_MODE
 	select ARM_AMBA
 	select ARM_ARCH_TIMER
 	select ARM_GIC
diff --git a/arch/arm64/include/asm/pgtable.h b/arch/arm64/include/asm/pgtable.h
index 0944e296dd4a..54f8d6bb6f22 100644
--- a/arch/arm64/include/asm/pgtable.h
+++ b/arch/arm64/include/asm/pgtable.h
@@ -80,7 +80,6 @@ static inline void queue_pte_barriers(void)
 	}
 }
 
-#define  __HAVE_ARCH_ENTER_LAZY_MMU_MODE
 static inline void arch_enter_lazy_mmu_mode(void)
 {
 	/*
diff --git a/arch/powerpc/include/asm/book3s/64/tlbflush-hash.h b/arch/powerpc/include/asm/book3s/64/tlbflush-hash.h
index 7704dbe8e88d..623a8a8b2d0e 100644
--- a/arch/powerpc/include/asm/book3s/64/tlbflush-hash.h
+++ b/arch/powerpc/include/asm/book3s/64/tlbflush-hash.h
@@ -24,8 +24,6 @@ DECLARE_PER_CPU(struct ppc64_tlb_batch, ppc64_tlb_batch);
 
 extern void __flush_tlb_pending(struct ppc64_tlb_batch *batch);
 
-#define __HAVE_ARCH_ENTER_LAZY_MMU_MODE
-
 static inline void arch_enter_lazy_mmu_mode(void)
 {
 	struct ppc64_tlb_batch *batch;
diff --git a/arch/powerpc/platforms/Kconfig.cputype b/arch/powerpc/platforms/Kconfig.cputype
index 7b527d18aa5e..2942d57cf59c 100644
--- a/arch/powerpc/platforms/Kconfig.cputype
+++ b/arch/powerpc/platforms/Kconfig.cputype
@@ -93,6 +93,7 @@ config PPC_BOOK3S_64
 	select IRQ_WORK
 	select PPC_64S_HASH_MMU if !PPC_RADIX_MMU
 	select KASAN_VMALLOC if KASAN
+	select ARCH_HAS_LAZY_MMU_MODE
 
 config PPC_BOOK3E_64
 	bool "Embedded processors"
diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
index a630d373e645..2bad14744ca4 100644
--- a/arch/sparc/Kconfig
+++ b/arch/sparc/Kconfig
@@ -112,6 +112,7 @@ config SPARC64
 	select NEED_PER_CPU_PAGE_FIRST_CHUNK
 	select ARCH_SUPPORTS_SCHED_SMT if SMP
 	select ARCH_SUPPORTS_SCHED_MC  if SMP
+	select ARCH_HAS_LAZY_MMU_MODE
 
 config ARCH_PROC_KCORE_TEXT
 	def_bool y
diff --git a/arch/sparc/include/asm/tlbflush_64.h b/arch/sparc/include/asm/tlbflush_64.h
index 925bb5d7a4e1..4e1036728e2f 100644
--- a/arch/sparc/include/asm/tlbflush_64.h
+++ b/arch/sparc/include/asm/tlbflush_64.h
@@ -39,8 +39,6 @@ static inline void flush_tlb_range(struct vm_area_struct *vma,
 
 void flush_tlb_kernel_range(unsigned long start, unsigned long end);
 
-#define __HAVE_ARCH_ENTER_LAZY_MMU_MODE
-
 void flush_tlb_pending(void);
 void arch_enter_lazy_mmu_mode(void);
 void arch_flush_lazy_mmu_mode(void);
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index fa3b616af03a..ef4332d720ab 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -804,6 +804,7 @@ config PARAVIRT
 config PARAVIRT_XXL
 	bool
 	depends on X86_64
+	select ARCH_HAS_LAZY_MMU_MODE
 
 config PARAVIRT_DEBUG
 	bool "paravirt-ops debugging"
diff --git a/arch/x86/boot/compressed/misc.h b/arch/x86/boot/compressed/misc.h
index db1048621ea2..cdd7f692d9ee 100644
--- a/arch/x86/boot/compressed/misc.h
+++ b/arch/x86/boot/compressed/misc.h
@@ -11,6 +11,7 @@
 #undef CONFIG_PARAVIRT
 #undef CONFIG_PARAVIRT_XXL
 #undef CONFIG_PARAVIRT_SPINLOCKS
+#undef CONFIG_ARCH_HAS_LAZY_MMU_MODE
 #undef CONFIG_KASAN
 #undef CONFIG_KASAN_GENERIC
 
diff --git a/arch/x86/boot/startup/sme.c b/arch/x86/boot/startup/sme.c
index e7ea65f3f1d6..b76a7c95dfe1 100644
--- a/arch/x86/boot/startup/sme.c
+++ b/arch/x86/boot/startup/sme.c
@@ -24,6 +24,7 @@
 #undef CONFIG_PARAVIRT
 #undef CONFIG_PARAVIRT_XXL
 #undef CONFIG_PARAVIRT_SPINLOCKS
+#undef CONFIG_ARCH_HAS_LAZY_MMU_MODE
 
 /*
  * This code runs before CPU feature bits are set. By default, the
diff --git a/arch/x86/include/asm/paravirt.h b/arch/x86/include/asm/paravirt.h
index b5e59a7ba0d0..13f9cd31c8f8 100644
--- a/arch/x86/include/asm/paravirt.h
+++ b/arch/x86/include/asm/paravirt.h
@@ -526,7 +526,6 @@ static inline void arch_end_context_switch(struct task_struct *next)
 	PVOP_VCALL1(cpu.end_context_switch, next);
 }
 
-#define  __HAVE_ARCH_ENTER_LAZY_MMU_MODE
 static inline void arch_enter_lazy_mmu_mode(void)
 {
 	PVOP_VCALL0(mmu.lazy_mode.enter);
diff --git a/include/linux/pgtable.h b/include/linux/pgtable.h
index 32e8457ad535..9894366e768b 100644
--- a/include/linux/pgtable.h
+++ b/include/linux/pgtable.h
@@ -231,7 +231,7 @@ static inline int pmd_dirty(pmd_t pmd)
  * held, but for kernel PTE updates, no lock is held). Nesting is not permitted
  * and the mode cannot be used in interrupt context.
  */
-#ifndef __HAVE_ARCH_ENTER_LAZY_MMU_MODE
+#ifndef CONFIG_ARCH_HAS_LAZY_MMU_MODE
 static inline void arch_enter_lazy_mmu_mode(void) {}
 static inline void arch_leave_lazy_mmu_mode(void) {}
 static inline void arch_flush_lazy_mmu_mode(void) {}
diff --git a/mm/Kconfig b/mm/Kconfig
index 0e26f4fc8717..5480c9a1bfb2 100644
--- a/mm/Kconfig
+++ b/mm/Kconfig
@@ -1372,6 +1372,9 @@ config PT_RECLAIM
 config FIND_NORMAL_PAGE
 	def_bool n
 
+config ARCH_HAS_LAZY_MMU_MODE
+	bool
+
 source "mm/damon/Kconfig"
 
 endmenu
-- 
2.47.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 29 10:10:31 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 10:10:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152622.1483193 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE38R-0003po-J8; Wed, 29 Oct 2025 10:10:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152622.1483193; Wed, 29 Oct 2025 10:10:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE38R-0003pb-EN; Wed, 29 Oct 2025 10:10:31 +0000
Received: by outflank-mailman (input) for mailman id 1152622;
 Wed, 29 Oct 2025 10:10:30 +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
 <SRS0=MCkK=5G=arm.com=kevin.brodsky@srs-se1.protection.inumbo.net>)
 id 1vE38Q-0001HF-0r
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 10:10:30 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 7ed31410-b4af-11f0-9d16-b5c5bf9af7f9;
 Wed, 29 Oct 2025 11:10:29 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 856C31AC1;
 Wed, 29 Oct 2025 03:10:20 -0700 (PDT)
Received: from e123572-lin.arm.com (e123572-lin.cambridge.arm.com
 [10.1.194.54])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 70AF73F66E;
 Wed, 29 Oct 2025 03:10:23 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7ed31410-b4af-11f0-9d16-b5c5bf9af7f9
From: Kevin Brodsky <kevin.brodsky@arm.com>
To: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org,
	Kevin Brodsky <kevin.brodsky@arm.com>,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	Andreas Larsson <andreas@gaisler.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Borislav Petkov <bp@alien8.de>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	David Hildenbrand <david@redhat.com>,
	"David S. Miller" <davem@davemloft.net>,
	David Woodhouse <dwmw2@infradead.org>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Ingo Molnar <mingo@redhat.com>,
	Jann Horn <jannh@google.com>,
	Juergen Gross <jgross@suse.com>,
	"Liam R. Howlett" <Liam.Howlett@oracle.com>,
	Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Michal Hocko <mhocko@suse.com>,
	Mike Rapoport <rppt@kernel.org>,
	Nicholas Piggin <npiggin@gmail.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Ryan Roberts <ryan.roberts@arm.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vlastimil Babka <vbabka@suse.cz>,
	Will Deacon <will@kernel.org>,
	Yeoreum Yun <yeoreum.yun@arm.com>,
	linux-arm-kernel@lists.infradead.org,
	linuxppc-dev@lists.ozlabs.org,
	sparclinux@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	x86@kernel.org
Subject: [PATCH v4 07/12] mm: enable lazy_mmu sections to nest
Date: Wed, 29 Oct 2025 10:09:04 +0000
Message-ID: <20251029100909.3381140-8-kevin.brodsky@arm.com>
X-Mailer: git-send-email 2.47.0
In-Reply-To: <20251029100909.3381140-1-kevin.brodsky@arm.com>
References: <20251029100909.3381140-1-kevin.brodsky@arm.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Despite recent efforts to prevent lazy_mmu sections from nesting, it
remains difficult to ensure that it never occurs - and in fact it
does occur on arm64 in certain situations (CONFIG_DEBUG_PAGEALLOC).
Commit 1ef3095b1405 ("arm64/mm: Permit lazy_mmu_mode to be nested")
made nesting tolerable on arm64, but without truly supporting it:
the inner call to leave() disables the batching optimisation before
the outer section ends.

This patch actually enables lazy_mmu sections to nest by tracking
the nesting level in task_struct, in a similar fashion to e.g.
pagefault_{enable,disable}(). This is fully handled by the generic
lazy_mmu helpers that were recently introduced.

lazy_mmu sections were not initially intended to nest, so we need to
clarify the semantics w.r.t. the arch_*_lazy_mmu_mode() callbacks.
This patch takes the following approach:

* The outermost calls to lazy_mmu_mode_{enable,disable}() trigger
  calls to arch_{enter,leave}_lazy_mmu_mode() - this is unchanged.

* Nested calls to lazy_mmu_mode_{enable,disable}() are not forwarded
  to the arch via arch_{enter,leave} - lazy MMU remains enabled so
  the assumption is that these callbacks are not relevant. However,
  existing code may rely on a call to disable() to flush any batched
  state, regardless of nesting. arch_flush_lazy_mmu_mode() is
  therefore called in that situation.

A separate interface was recently introduced to temporarily pause
the lazy MMU mode: lazy_mmu_mode_{pause,resume}(). pause() fully
exits the mode *regardless of the nesting level*, and resume()
restores the mode at the same nesting level.

Whether the mode is actually enabled or not at any point is tracked
by a separate "active" field in task_struct; this makes it possible
to check invariants in the generic API, and to expose a new
in_lazy_mmu_mode() helper to replace the various ways arch's
currently track whether the mode is enabled (this will be done in
later patches).

In summary (nesting/active represent the values *after* the call):

lazy_mmu_mode_enable()		-> arch_enter()	    nesting=1 active=1
    lazy_mmu_mode_enable()	-> Ã¸		    nesting=2 active=1
	lazy_mmu_mode_pause()	-> arch_leave()     nesting=2 active=0
	lazy_mmu_mode_resume()	-> arch_enter()     nesting=2 active=1
    lazy_mmu_mode_disable()	-> arch_flush()     nesting=1 active=1
lazy_mmu_mode_disable()		-> arch_leave()     nesting=0 active=0

Note: in_lazy_mmu_mode() is added to <linux/sched.h> to allow arch
headers included by <linux/pgtable.h> to use it.

Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
---
 arch/arm64/include/asm/pgtable.h | 12 ------
 include/linux/mm_types_task.h    |  5 +++
 include/linux/pgtable.h          | 67 ++++++++++++++++++++++++++++++--
 include/linux/sched.h            | 16 ++++++++
 4 files changed, 84 insertions(+), 16 deletions(-)

diff --git a/arch/arm64/include/asm/pgtable.h b/arch/arm64/include/asm/pgtable.h
index 54f8d6bb6f22..535435248923 100644
--- a/arch/arm64/include/asm/pgtable.h
+++ b/arch/arm64/include/asm/pgtable.h
@@ -82,18 +82,6 @@ static inline void queue_pte_barriers(void)
 
 static inline void arch_enter_lazy_mmu_mode(void)
 {
-	/*
-	 * lazy_mmu_mode is not supposed to permit nesting. But in practice this
-	 * does happen with CONFIG_DEBUG_PAGEALLOC, where a page allocation
-	 * inside a lazy_mmu_mode section (such as zap_pte_range()) will change
-	 * permissions on the linear map with apply_to_page_range(), which
-	 * re-enters lazy_mmu_mode. So we tolerate nesting in our
-	 * implementation. The first call to arch_leave_lazy_mmu_mode() will
-	 * flush and clear the flag such that the remainder of the work in the
-	 * outer nest behaves as if outside of lazy mmu mode. This is safe and
-	 * keeps tracking simple.
-	 */
-
 	if (in_interrupt())
 		return;
 
diff --git a/include/linux/mm_types_task.h b/include/linux/mm_types_task.h
index a82aa80c0ba4..632d404f8191 100644
--- a/include/linux/mm_types_task.h
+++ b/include/linux/mm_types_task.h
@@ -88,4 +88,9 @@ struct tlbflush_unmap_batch {
 #endif
 };
 
+struct lazy_mmu_state {
+	u8 nesting_level;
+	bool active;
+};
+
 #endif /* _LINUX_MM_TYPES_TASK_H */
diff --git a/include/linux/pgtable.h b/include/linux/pgtable.h
index b5fdf32c437f..e6064e00b22d 100644
--- a/include/linux/pgtable.h
+++ b/include/linux/pgtable.h
@@ -228,27 +228,86 @@ static inline int pmd_dirty(pmd_t pmd)
  * of the lazy mode. So the implementation must assume preemption may be enabled
  * and cpu migration is possible; it must take steps to be robust against this.
  * (In practice, for user PTE updates, the appropriate page table lock(s) are
- * held, but for kernel PTE updates, no lock is held). Nesting is not permitted
- * and the mode cannot be used in interrupt context.
+ * held, but for kernel PTE updates, no lock is held). The mode cannot be used
+ * in interrupt context.
+ *
+ * The lazy MMU mode is enabled for a given block of code using:
+ *
+ *   lazy_mmu_mode_enable();
+ *   <code>
+ *   lazy_mmu_mode_disable();
+ *
+ * Nesting is permitted: <code> may itself use an enable()/disable() pair.
+ * A nested call to enable() has no functional effect; however disable() causes
+ * any batched architectural state to be flushed regardless of nesting. After a
+ * call to disable(), the caller can therefore rely on all previous page table
+ * modifications to have taken effect, but the lazy MMU mode may still be
+ * enabled.
+ *
+ * In certain cases, it may be desirable to temporarily pause the lazy MMU mode.
+ * This can be done using:
+ *
+ *   lazy_mmu_mode_pause();
+ *   <code>
+ *   lazy_mmu_mode_resume();
+ *
+ * This sequence must only be used if the lazy MMU mode is already enabled.
+ * pause() ensures that the mode is exited regardless of the nesting level;
+ * resume() re-enters the mode at the same nesting level. <code> must not modify
+ * the lazy MMU state (i.e. it must not call any of the lazy_mmu_mode_*
+ * helpers).
+ *
+ * in_lazy_mmu_mode() can be used to check whether the lazy MMU mode is
+ * currently enabled.
  */
 #ifdef CONFIG_ARCH_HAS_LAZY_MMU_MODE
 static inline void lazy_mmu_mode_enable(void)
 {
-	arch_enter_lazy_mmu_mode();
+	struct lazy_mmu_state *state = &current->lazy_mmu_state;
+
+	VM_WARN_ON_ONCE(state->nesting_level == U8_MAX);
+	/* enable() must not be called while paused */
+	VM_WARN_ON(state->nesting_level > 0 && !state->active);
+
+	if (state->nesting_level++ == 0) {
+		state->active = true;
+		arch_enter_lazy_mmu_mode();
+	}
 }
 
 static inline void lazy_mmu_mode_disable(void)
 {
-	arch_leave_lazy_mmu_mode();
+	struct lazy_mmu_state *state = &current->lazy_mmu_state;
+
+	VM_WARN_ON_ONCE(state->nesting_level == 0);
+	VM_WARN_ON(!state->active);
+
+	if (--state->nesting_level == 0) {
+		state->active = false;
+		arch_leave_lazy_mmu_mode();
+	} else {
+		/* Exiting a nested section */
+		arch_flush_lazy_mmu_mode();
+	}
 }
 
 static inline void lazy_mmu_mode_pause(void)
 {
+	struct lazy_mmu_state *state = &current->lazy_mmu_state;
+
+	VM_WARN_ON(state->nesting_level == 0 || !state->active);
+
+	state->active = false;
 	arch_leave_lazy_mmu_mode();
 }
 
 static inline void lazy_mmu_mode_resume(void)
 {
+	struct lazy_mmu_state *state = &current->lazy_mmu_state;
+
+	VM_WARN_ON(state->nesting_level == 0 || state->active);
+
+	state->active = true;
 	arch_enter_lazy_mmu_mode();
 }
 #else
diff --git a/include/linux/sched.h b/include/linux/sched.h
index cbb7340c5866..11566d973f42 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -1441,6 +1441,10 @@ struct task_struct {
 
 	struct page_frag		task_frag;
 
+#ifdef CONFIG_ARCH_HAS_LAZY_MMU_MODE
+	struct lazy_mmu_state		lazy_mmu_state;
+#endif
+
 #ifdef CONFIG_TASK_DELAY_ACCT
 	struct task_delay_info		*delays;
 #endif
@@ -1724,6 +1728,18 @@ static inline char task_state_to_char(struct task_struct *tsk)
 	return task_index_to_char(task_state_index(tsk));
 }
 
+#ifdef CONFIG_ARCH_HAS_LAZY_MMU_MODE
+static inline bool in_lazy_mmu_mode(void)
+{
+	return current->lazy_mmu_state.active;
+}
+#else
+static inline bool in_lazy_mmu_mode(void)
+{
+	return false;
+}
+#endif
+
 extern struct pid *cad_pid;
 
 /*
-- 
2.47.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 29 10:16:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 10:16:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152651.1483202 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE3Dr-0005Bz-AN; Wed, 29 Oct 2025 10:16:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152651.1483202; Wed, 29 Oct 2025 10:16:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE3Dr-0005Bs-6i; Wed, 29 Oct 2025 10:16:07 +0000
Received: by outflank-mailman (input) for mailman id 1152651;
 Wed, 29 Oct 2025 10:16: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
 <SRS0=MCkK=5G=arm.com=kevin.brodsky@srs-se1.protection.inumbo.net>)
 id 1vE38W-0000Up-Lo
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 10:10:36 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 81e8f049-b4af-11f0-980a-7dc792cee155;
 Wed, 29 Oct 2025 11:10:34 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id B9DC51C2B;
 Wed, 29 Oct 2025 03:10:25 -0700 (PDT)
Received: from e123572-lin.arm.com (e123572-lin.cambridge.arm.com
 [10.1.194.54])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id A671B3F66E;
 Wed, 29 Oct 2025 03:10:28 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 81e8f049-b4af-11f0-980a-7dc792cee155
From: Kevin Brodsky <kevin.brodsky@arm.com>
To: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org,
	Kevin Brodsky <kevin.brodsky@arm.com>,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	Andreas Larsson <andreas@gaisler.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Borislav Petkov <bp@alien8.de>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	David Hildenbrand <david@redhat.com>,
	"David S. Miller" <davem@davemloft.net>,
	David Woodhouse <dwmw2@infradead.org>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Ingo Molnar <mingo@redhat.com>,
	Jann Horn <jannh@google.com>,
	Juergen Gross <jgross@suse.com>,
	"Liam R. Howlett" <Liam.Howlett@oracle.com>,
	Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Michal Hocko <mhocko@suse.com>,
	Mike Rapoport <rppt@kernel.org>,
	Nicholas Piggin <npiggin@gmail.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Ryan Roberts <ryan.roberts@arm.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vlastimil Babka <vbabka@suse.cz>,
	Will Deacon <will@kernel.org>,
	Yeoreum Yun <yeoreum.yun@arm.com>,
	linux-arm-kernel@lists.infradead.org,
	linuxppc-dev@lists.ozlabs.org,
	sparclinux@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	x86@kernel.org
Subject: [PATCH v4 08/12] arm64: mm: replace TIF_LAZY_MMU with in_lazy_mmu_mode()
Date: Wed, 29 Oct 2025 10:09:05 +0000
Message-ID: <20251029100909.3381140-9-kevin.brodsky@arm.com>
X-Mailer: git-send-email 2.47.0
In-Reply-To: <20251029100909.3381140-1-kevin.brodsky@arm.com>
References: <20251029100909.3381140-1-kevin.brodsky@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The generic lazy_mmu layer now tracks whether a task is in lazy MMU
mode. As a result we no longer need a TIF flag for that purpose -
let's use the new in_lazy_mmu_mode() helper instead.

Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
---
 arch/arm64/include/asm/pgtable.h     | 16 +++-------------
 arch/arm64/include/asm/thread_info.h |  3 +--
 2 files changed, 4 insertions(+), 15 deletions(-)

diff --git a/arch/arm64/include/asm/pgtable.h b/arch/arm64/include/asm/pgtable.h
index 535435248923..61ca88f94551 100644
--- a/arch/arm64/include/asm/pgtable.h
+++ b/arch/arm64/include/asm/pgtable.h
@@ -62,30 +62,21 @@ static inline void emit_pte_barriers(void)
 
 static inline void queue_pte_barriers(void)
 {
-	unsigned long flags;
-
 	if (in_interrupt()) {
 		emit_pte_barriers();
 		return;
 	}
 
-	flags = read_thread_flags();
-
-	if (flags & BIT(TIF_LAZY_MMU)) {
-		/* Avoid the atomic op if already set. */
-		if (!(flags & BIT(TIF_LAZY_MMU_PENDING)))
-			set_thread_flag(TIF_LAZY_MMU_PENDING);
-	} else {
+	if (in_lazy_mmu_mode())
+		test_and_set_thread_flag(TIF_LAZY_MMU_PENDING);
+	else
 		emit_pte_barriers();
-	}
 }
 
 static inline void arch_enter_lazy_mmu_mode(void)
 {
 	if (in_interrupt())
 		return;
-
-	set_thread_flag(TIF_LAZY_MMU);
 }
 
 static inline void arch_flush_lazy_mmu_mode(void)
@@ -103,7 +94,6 @@ static inline void arch_leave_lazy_mmu_mode(void)
 		return;
 
 	arch_flush_lazy_mmu_mode();
-	clear_thread_flag(TIF_LAZY_MMU);
 }
 
 #ifdef CONFIG_TRANSPARENT_HUGEPAGE
diff --git a/arch/arm64/include/asm/thread_info.h b/arch/arm64/include/asm/thread_info.h
index f241b8601ebd..4ff8da0767d9 100644
--- a/arch/arm64/include/asm/thread_info.h
+++ b/arch/arm64/include/asm/thread_info.h
@@ -84,8 +84,7 @@ void arch_setup_new_exec(void);
 #define TIF_SME_VL_INHERIT	28	/* Inherit SME vl_onexec across exec */
 #define TIF_KERNEL_FPSTATE	29	/* Task is in a kernel mode FPSIMD section */
 #define TIF_TSC_SIGSEGV		30	/* SIGSEGV on counter-timer access */
-#define TIF_LAZY_MMU		31	/* Task in lazy mmu mode */
-#define TIF_LAZY_MMU_PENDING	32	/* Ops pending for lazy mmu mode exit */
+#define TIF_LAZY_MMU_PENDING	31	/* Ops pending for lazy mmu mode exit */
 
 #define _TIF_SIGPENDING		(1 << TIF_SIGPENDING)
 #define _TIF_NEED_RESCHED	(1 << TIF_NEED_RESCHED)
-- 
2.47.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 29 10:16:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 10:16:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152652.1483207 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE3Dr-0005Gd-KV; Wed, 29 Oct 2025 10:16:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152652.1483207; Wed, 29 Oct 2025 10:16:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE3Dr-0005FP-Dh; Wed, 29 Oct 2025 10:16:07 +0000
Received: by outflank-mailman (input) for mailman id 1152652;
 Wed, 29 Oct 2025 10:16: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
 <SRS0=MCkK=5G=arm.com=kevin.brodsky@srs-se1.protection.inumbo.net>)
 id 1vE38l-0000Up-No
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 10:10:51 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 8b3f1ea7-b4af-11f0-980a-7dc792cee155;
 Wed, 29 Oct 2025 11:10:50 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 66BA32C1C;
 Wed, 29 Oct 2025 03:10:41 -0700 (PDT)
Received: from e123572-lin.arm.com (e123572-lin.cambridge.arm.com
 [10.1.194.54])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 5459E3F66E;
 Wed, 29 Oct 2025 03:10:44 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8b3f1ea7-b4af-11f0-980a-7dc792cee155
From: Kevin Brodsky <kevin.brodsky@arm.com>
To: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org,
	Kevin Brodsky <kevin.brodsky@arm.com>,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	Andreas Larsson <andreas@gaisler.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Borislav Petkov <bp@alien8.de>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	David Hildenbrand <david@redhat.com>,
	"David S. Miller" <davem@davemloft.net>,
	David Woodhouse <dwmw2@infradead.org>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Ingo Molnar <mingo@redhat.com>,
	Jann Horn <jannh@google.com>,
	Juergen Gross <jgross@suse.com>,
	"Liam R. Howlett" <Liam.Howlett@oracle.com>,
	Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Michal Hocko <mhocko@suse.com>,
	Mike Rapoport <rppt@kernel.org>,
	Nicholas Piggin <npiggin@gmail.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Ryan Roberts <ryan.roberts@arm.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vlastimil Babka <vbabka@suse.cz>,
	Will Deacon <will@kernel.org>,
	Yeoreum Yun <yeoreum.yun@arm.com>,
	linux-arm-kernel@lists.infradead.org,
	linuxppc-dev@lists.ozlabs.org,
	sparclinux@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	x86@kernel.org
Subject: [PATCH v4 11/12] x86/xen: use lazy_mmu_state when context-switching
Date: Wed, 29 Oct 2025 10:09:08 +0000
Message-ID: <20251029100909.3381140-12-kevin.brodsky@arm.com>
X-Mailer: git-send-email 2.47.0
In-Reply-To: <20251029100909.3381140-1-kevin.brodsky@arm.com>
References: <20251029100909.3381140-1-kevin.brodsky@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

We currently set a TIF flag when scheduling out a task that is in
lazy MMU mode, in order to restore it when the task is scheduled
again.

The generic lazy_mmu layer now tracks whether a task is in lazy MMU
mode in task_struct::lazy_mmu_state. We can therefore check that
state when switching to the new task, instead of using a separate
TIF flag.

Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
---
 arch/x86/include/asm/thread_info.h | 4 +---
 arch/x86/xen/enlighten_pv.c        | 3 +--
 2 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/arch/x86/include/asm/thread_info.h b/arch/x86/include/asm/thread_info.h
index e71e0e8362ed..0067684afb5b 100644
--- a/arch/x86/include/asm/thread_info.h
+++ b/arch/x86/include/asm/thread_info.h
@@ -100,8 +100,7 @@ struct thread_info {
 #define TIF_FORCED_TF		24	/* true if TF in eflags artificially */
 #define TIF_SINGLESTEP		25	/* reenable singlestep on user return*/
 #define TIF_BLOCKSTEP		26	/* set when we want DEBUGCTLMSR_BTF */
-#define TIF_LAZY_MMU_UPDATES	27	/* task is updating the mmu lazily */
-#define TIF_ADDR32		28	/* 32-bit address space on 64 bits */
+#define TIF_ADDR32		27	/* 32-bit address space on 64 bits */
 
 #define _TIF_SSBD		BIT(TIF_SSBD)
 #define _TIF_SPEC_IB		BIT(TIF_SPEC_IB)
@@ -114,7 +113,6 @@ struct thread_info {
 #define _TIF_FORCED_TF		BIT(TIF_FORCED_TF)
 #define _TIF_BLOCKSTEP		BIT(TIF_BLOCKSTEP)
 #define _TIF_SINGLESTEP		BIT(TIF_SINGLESTEP)
-#define _TIF_LAZY_MMU_UPDATES	BIT(TIF_LAZY_MMU_UPDATES)
 #define _TIF_ADDR32		BIT(TIF_ADDR32)
 
 /* flags to check in __switch_to() */
diff --git a/arch/x86/xen/enlighten_pv.c b/arch/x86/xen/enlighten_pv.c
index 4806cc28d7ca..f40f5999352e 100644
--- a/arch/x86/xen/enlighten_pv.c
+++ b/arch/x86/xen/enlighten_pv.c
@@ -426,7 +426,6 @@ static void xen_start_context_switch(struct task_struct *prev)
 
 	if (this_cpu_read(xen_lazy_mode) == XEN_LAZY_MMU) {
 		arch_leave_lazy_mmu_mode();
-		set_ti_thread_flag(task_thread_info(prev), TIF_LAZY_MMU_UPDATES);
 	}
 	enter_lazy(XEN_LAZY_CPU);
 }
@@ -437,7 +436,7 @@ static void xen_end_context_switch(struct task_struct *next)
 
 	xen_mc_flush();
 	leave_lazy(XEN_LAZY_CPU);
-	if (test_and_clear_ti_thread_flag(task_thread_info(next), TIF_LAZY_MMU_UPDATES))
+	if (next->lazy_mmu_state.active)
 		arch_enter_lazy_mmu_mode();
 }
 
-- 
2.47.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 29 10:16:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 10:16:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152664.1483223 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE3E0-0005q6-RK; Wed, 29 Oct 2025 10:16:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152664.1483223; Wed, 29 Oct 2025 10:16:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE3E0-0005px-Lm; Wed, 29 Oct 2025 10:16:16 +0000
Received: by outflank-mailman (input) for mailman id 1152664;
 Wed, 29 Oct 2025 10:16:15 +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
 <SRS0=MCkK=5G=arm.com=kevin.brodsky@srs-se1.protection.inumbo.net>)
 id 1vE38q-0001HF-6P
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 10:10:56 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 8e6e08df-b4af-11f0-9d16-b5c5bf9af7f9;
 Wed, 29 Oct 2025 11:10:55 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 9FBE32C1D;
 Wed, 29 Oct 2025 03:10:46 -0700 (PDT)
Received: from e123572-lin.arm.com (e123572-lin.cambridge.arm.com
 [10.1.194.54])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 8A7ED3F66E;
 Wed, 29 Oct 2025 03:10:49 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8e6e08df-b4af-11f0-9d16-b5c5bf9af7f9
From: Kevin Brodsky <kevin.brodsky@arm.com>
To: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org,
	Kevin Brodsky <kevin.brodsky@arm.com>,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	Andreas Larsson <andreas@gaisler.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Borislav Petkov <bp@alien8.de>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	David Hildenbrand <david@redhat.com>,
	"David S. Miller" <davem@davemloft.net>,
	David Woodhouse <dwmw2@infradead.org>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Ingo Molnar <mingo@redhat.com>,
	Jann Horn <jannh@google.com>,
	Juergen Gross <jgross@suse.com>,
	"Liam R. Howlett" <Liam.Howlett@oracle.com>,
	Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Michal Hocko <mhocko@suse.com>,
	Mike Rapoport <rppt@kernel.org>,
	Nicholas Piggin <npiggin@gmail.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Ryan Roberts <ryan.roberts@arm.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vlastimil Babka <vbabka@suse.cz>,
	Will Deacon <will@kernel.org>,
	Yeoreum Yun <yeoreum.yun@arm.com>,
	linux-arm-kernel@lists.infradead.org,
	linuxppc-dev@lists.ozlabs.org,
	sparclinux@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	x86@kernel.org
Subject: [PATCH v4 12/12] mm: bail out of lazy_mmu_mode_* in interrupt context
Date: Wed, 29 Oct 2025 10:09:09 +0000
Message-ID: <20251029100909.3381140-13-kevin.brodsky@arm.com>
X-Mailer: git-send-email 2.47.0
In-Reply-To: <20251029100909.3381140-1-kevin.brodsky@arm.com>
References: <20251029100909.3381140-1-kevin.brodsky@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The lazy MMU mode cannot be used in interrupt context. This is
documented in <linux/pgtable.h>, but isn't consistently handled
across architectures.

arm64 ensures that calls to lazy_mmu_mode_* have no effect in
interrupt context, because such calls do occur in certain
configurations - see commit b81c688426a9 ("arm64/mm: Disable barrier
batching in interrupt contexts"). Other architectures do not check
this situation, most likely because it hasn't occurred so far.

Both arm64 and x86/Xen also ensure that any lazy MMU optimisation is
disabled while in interrupt mode (see queue_pte_barriers() and
xen_get_lazy_mode() respectively).

Let's handle this in the new generic lazy_mmu layer, in the same
fashion as arm64: bail out of lazy_mmu_mode_* if in_interrupt(), and
have in_lazy_mmu_mode() return false to disable any optimisation.
Also remove the arm64 handling that is now redundant; x86/Xen has
its own internal tracking so it is left unchanged.

Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
---
 arch/arm64/include/asm/pgtable.h | 17 +----------------
 include/linux/pgtable.h          | 16 ++++++++++++++--
 include/linux/sched.h            |  3 +++
 3 files changed, 18 insertions(+), 18 deletions(-)

diff --git a/arch/arm64/include/asm/pgtable.h b/arch/arm64/include/asm/pgtable.h
index 61ca88f94551..96987a49e83b 100644
--- a/arch/arm64/include/asm/pgtable.h
+++ b/arch/arm64/include/asm/pgtable.h
@@ -62,37 +62,22 @@ static inline void emit_pte_barriers(void)
 
 static inline void queue_pte_barriers(void)
 {
-	if (in_interrupt()) {
-		emit_pte_barriers();
-		return;
-	}
-
 	if (in_lazy_mmu_mode())
 		test_and_set_thread_flag(TIF_LAZY_MMU_PENDING);
 	else
 		emit_pte_barriers();
 }
 
-static inline void arch_enter_lazy_mmu_mode(void)
-{
-	if (in_interrupt())
-		return;
-}
+static inline void arch_enter_lazy_mmu_mode(void) {}
 
 static inline void arch_flush_lazy_mmu_mode(void)
 {
-	if (in_interrupt())
-		return;
-
 	if (test_and_clear_thread_flag(TIF_LAZY_MMU_PENDING))
 		emit_pte_barriers();
 }
 
 static inline void arch_leave_lazy_mmu_mode(void)
 {
-	if (in_interrupt())
-		return;
-
 	arch_flush_lazy_mmu_mode();
 }
 
diff --git a/include/linux/pgtable.h b/include/linux/pgtable.h
index e6064e00b22d..e6069ce4ec83 100644
--- a/include/linux/pgtable.h
+++ b/include/linux/pgtable.h
@@ -228,8 +228,8 @@ static inline int pmd_dirty(pmd_t pmd)
  * of the lazy mode. So the implementation must assume preemption may be enabled
  * and cpu migration is possible; it must take steps to be robust against this.
  * (In practice, for user PTE updates, the appropriate page table lock(s) are
- * held, but for kernel PTE updates, no lock is held). The mode cannot be used
- * in interrupt context.
+ * held, but for kernel PTE updates, no lock is held). The mode is disabled
+ * in interrupt context and calls to the lazy_mmu API have no effect.
  *
  * The lazy MMU mode is enabled for a given block of code using:
  *
@@ -265,6 +265,9 @@ static inline void lazy_mmu_mode_enable(void)
 {
 	struct lazy_mmu_state *state = &current->lazy_mmu_state;
 
+	if (in_interrupt())
+		return;
+
 	VM_WARN_ON_ONCE(state->nesting_level == U8_MAX);
 	/* enable() must not be called while paused */
 	VM_WARN_ON(state->nesting_level > 0 && !state->active);
@@ -279,6 +282,9 @@ static inline void lazy_mmu_mode_disable(void)
 {
 	struct lazy_mmu_state *state = &current->lazy_mmu_state;
 
+	if (in_interrupt())
+		return;
+
 	VM_WARN_ON_ONCE(state->nesting_level == 0);
 	VM_WARN_ON(!state->active);
 
@@ -295,6 +301,9 @@ static inline void lazy_mmu_mode_pause(void)
 {
 	struct lazy_mmu_state *state = &current->lazy_mmu_state;
 
+	if (in_interrupt())
+		return;
+
 	VM_WARN_ON(state->nesting_level == 0 || !state->active);
 
 	state->active = false;
@@ -305,6 +314,9 @@ static inline void lazy_mmu_mode_resume(void)
 {
 	struct lazy_mmu_state *state = &current->lazy_mmu_state;
 
+	if (in_interrupt())
+		return;
+
 	VM_WARN_ON(state->nesting_level == 0 || state->active);
 
 	state->active = true;
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 11566d973f42..bb873016ffcf 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -1731,6 +1731,9 @@ static inline char task_state_to_char(struct task_struct *tsk)
 #ifdef CONFIG_ARCH_HAS_LAZY_MMU_MODE
 static inline bool in_lazy_mmu_mode(void)
 {
+	if (in_interrupt())
+		return false;
+
 	return current->lazy_mmu_state.active;
 }
 #else
-- 
2.47.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 29 10:16:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 10:16:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152673.1483231 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE3E8-0006Lp-26; Wed, 29 Oct 2025 10:16:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152673.1483231; Wed, 29 Oct 2025 10:16:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE3E7-0006LX-U9; Wed, 29 Oct 2025 10:16:23 +0000
Received: by outflank-mailman (input) for mailman id 1152673;
 Wed, 29 Oct 2025 10:16:23 +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
 <SRS0=MCkK=5G=arm.com=kevin.brodsky@srs-se1.protection.inumbo.net>)
 id 1vE38M-0000Up-89
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 10:10:26 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 7ba1c811-b4af-11f0-980a-7dc792cee155;
 Wed, 29 Oct 2025 11:10:23 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 4F8AF2BF2;
 Wed, 29 Oct 2025 03:10:15 -0700 (PDT)
Received: from e123572-lin.arm.com (e123572-lin.cambridge.arm.com
 [10.1.194.54])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 1B05B3F66E;
 Wed, 29 Oct 2025 03:10:17 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7ba1c811-b4af-11f0-980a-7dc792cee155
From: Kevin Brodsky <kevin.brodsky@arm.com>
To: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org,
	Kevin Brodsky <kevin.brodsky@arm.com>,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	Andreas Larsson <andreas@gaisler.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Borislav Petkov <bp@alien8.de>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	David Hildenbrand <david@redhat.com>,
	"David S. Miller" <davem@davemloft.net>,
	David Woodhouse <dwmw2@infradead.org>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Ingo Molnar <mingo@redhat.com>,
	Jann Horn <jannh@google.com>,
	Juergen Gross <jgross@suse.com>,
	"Liam R. Howlett" <Liam.Howlett@oracle.com>,
	Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Michal Hocko <mhocko@suse.com>,
	Mike Rapoport <rppt@kernel.org>,
	Nicholas Piggin <npiggin@gmail.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Ryan Roberts <ryan.roberts@arm.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vlastimil Babka <vbabka@suse.cz>,
	Will Deacon <will@kernel.org>,
	Yeoreum Yun <yeoreum.yun@arm.com>,
	linux-arm-kernel@lists.infradead.org,
	linuxppc-dev@lists.ozlabs.org,
	sparclinux@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	x86@kernel.org
Subject: [PATCH v4 06/12] mm: introduce generic lazy_mmu helpers
Date: Wed, 29 Oct 2025 10:09:03 +0000
Message-ID: <20251029100909.3381140-7-kevin.brodsky@arm.com>
X-Mailer: git-send-email 2.47.0
In-Reply-To: <20251029100909.3381140-1-kevin.brodsky@arm.com>
References: <20251029100909.3381140-1-kevin.brodsky@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The implementation of the lazy MMU mode is currently entirely
arch-specific; core code directly calls arch helpers:
arch_{enter,leave}_lazy_mmu_mode().

We are about to introduce support for nested lazy MMU sections.
As things stand we'd have to duplicate that logic in every arch
implementing lazy_mmu - adding to a fair amount of logic
already duplicated across lazy_mmu implementations.

This patch therefore introduces a new generic layer that calls the
existing arch_* helpers. Two pair of calls are introduced:

* lazy_mmu_mode_enable() ... lazy_mmu_mode_disable()
    This is the standard case where the mode is enabled for a given
    block of code by surrounding it with enable() and disable()
    calls.

* lazy_mmu_mode_pause() ... lazy_mmu_mode_resume()
    This is for situations where the mode is temporarily disabled
    by first calling pause() and then resume() (e.g. to prevent any
    batching from occurring in a critical section).

The documentation in <linux/pgtable.h> will be updated in a
subsequent patch.

No functional change should be introduced at this stage.
The implementation of enable()/resume() and disable()/pause() is
currently identical, but nesting support will change that.

Most of the call sites have been updated using the following
Coccinelle script:

@@
@@
{
...
- arch_enter_lazy_mmu_mode();
+ lazy_mmu_mode_enable();
...
- arch_leave_lazy_mmu_mode();
+ lazy_mmu_mode_disable();
...
}

@@
@@
{
...
- arch_leave_lazy_mmu_mode();
+ lazy_mmu_mode_pause();
...
- arch_enter_lazy_mmu_mode();
+ lazy_mmu_mode_resume();
...
}

A couple of notes regarding x86:

* Xen is currently the only case where explicit handling is required
  for lazy MMU when context-switching. This is purely an
  implementation detail and using the generic lazy_mmu_mode_*
  functions would cause trouble when nesting support is introduced,
  because the generic functions must be called from the current task.
  For that reason we still use arch_leave() and arch_enter() there.

* x86 calls arch_flush_lazy_mmu_mode() unconditionally in a few
  places, but only defines it if PARAVIRT_XXL is selected, and we
  are removing the fallback in <linux/pgtable.h>. Add a new fallback
  definition to <asm/pgtable.h> to keep things building.

Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
---
 arch/arm64/mm/mmu.c                     |  4 ++--
 arch/arm64/mm/pageattr.c                |  4 ++--
 arch/powerpc/mm/book3s64/hash_tlb.c     |  8 +++----
 arch/powerpc/mm/book3s64/subpage_prot.c |  4 ++--
 arch/x86/include/asm/pgtable.h          |  3 ++-
 fs/proc/task_mmu.c                      |  4 ++--
 include/linux/pgtable.h                 | 29 +++++++++++++++++++++----
 mm/kasan/shadow.c                       |  8 +++----
 mm/madvise.c                            | 18 +++++++--------
 mm/memory.c                             | 16 +++++++-------
 mm/migrate_device.c                     |  4 ++--
 mm/mprotect.c                           |  4 ++--
 mm/mremap.c                             |  4 ++--
 mm/userfaultfd.c                        |  4 ++--
 mm/vmalloc.c                            | 12 +++++-----
 mm/vmscan.c                             | 12 +++++-----
 16 files changed, 80 insertions(+), 58 deletions(-)

diff --git a/arch/arm64/mm/mmu.c b/arch/arm64/mm/mmu.c
index b8d37eb037fc..d9c8e94f140f 100644
--- a/arch/arm64/mm/mmu.c
+++ b/arch/arm64/mm/mmu.c
@@ -731,7 +731,7 @@ int split_kernel_leaf_mapping(unsigned long start, unsigned long end)
 		return -EINVAL;
 
 	mutex_lock(&pgtable_split_lock);
-	arch_enter_lazy_mmu_mode();
+	lazy_mmu_mode_enable();
 
 	/*
 	 * The split_kernel_leaf_mapping_locked() may sleep, it is not a
@@ -753,7 +753,7 @@ int split_kernel_leaf_mapping(unsigned long start, unsigned long end)
 			ret = split_kernel_leaf_mapping_locked(end);
 	}
 
-	arch_leave_lazy_mmu_mode();
+	lazy_mmu_mode_disable();
 	mutex_unlock(&pgtable_split_lock);
 	return ret;
 }
diff --git a/arch/arm64/mm/pageattr.c b/arch/arm64/mm/pageattr.c
index 5135f2d66958..e4059f13c4ed 100644
--- a/arch/arm64/mm/pageattr.c
+++ b/arch/arm64/mm/pageattr.c
@@ -110,7 +110,7 @@ static int update_range_prot(unsigned long start, unsigned long size,
 	if (WARN_ON_ONCE(ret))
 		return ret;
 
-	arch_enter_lazy_mmu_mode();
+	lazy_mmu_mode_enable();
 
 	/*
 	 * The caller must ensure that the range we are operating on does not
@@ -119,7 +119,7 @@ static int update_range_prot(unsigned long start, unsigned long size,
 	 */
 	ret = walk_kernel_page_table_range_lockless(start, start + size,
 						    &pageattr_ops, NULL, &data);
-	arch_leave_lazy_mmu_mode();
+	lazy_mmu_mode_disable();
 
 	return ret;
 }
diff --git a/arch/powerpc/mm/book3s64/hash_tlb.c b/arch/powerpc/mm/book3s64/hash_tlb.c
index 21fcad97ae80..787f7a0e27f0 100644
--- a/arch/powerpc/mm/book3s64/hash_tlb.c
+++ b/arch/powerpc/mm/book3s64/hash_tlb.c
@@ -205,7 +205,7 @@ void __flush_hash_table_range(unsigned long start, unsigned long end)
 	 * way to do things but is fine for our needs here.
 	 */
 	local_irq_save(flags);
-	arch_enter_lazy_mmu_mode();
+	lazy_mmu_mode_enable();
 	for (; start < end; start += PAGE_SIZE) {
 		pte_t *ptep = find_init_mm_pte(start, &hugepage_shift);
 		unsigned long pte;
@@ -217,7 +217,7 @@ void __flush_hash_table_range(unsigned long start, unsigned long end)
 			continue;
 		hpte_need_flush(&init_mm, start, ptep, pte, hugepage_shift);
 	}
-	arch_leave_lazy_mmu_mode();
+	lazy_mmu_mode_disable();
 	local_irq_restore(flags);
 }
 
@@ -237,7 +237,7 @@ void flush_hash_table_pmd_range(struct mm_struct *mm, pmd_t *pmd, unsigned long
 	 * way to do things but is fine for our needs here.
 	 */
 	local_irq_save(flags);
-	arch_enter_lazy_mmu_mode();
+	lazy_mmu_mode_enable();
 	start_pte = pte_offset_map(pmd, addr);
 	if (!start_pte)
 		goto out;
@@ -249,6 +249,6 @@ void flush_hash_table_pmd_range(struct mm_struct *mm, pmd_t *pmd, unsigned long
 	}
 	pte_unmap(start_pte);
 out:
-	arch_leave_lazy_mmu_mode();
+	lazy_mmu_mode_disable();
 	local_irq_restore(flags);
 }
diff --git a/arch/powerpc/mm/book3s64/subpage_prot.c b/arch/powerpc/mm/book3s64/subpage_prot.c
index ec98e526167e..07c47673bba2 100644
--- a/arch/powerpc/mm/book3s64/subpage_prot.c
+++ b/arch/powerpc/mm/book3s64/subpage_prot.c
@@ -73,13 +73,13 @@ static void hpte_flush_range(struct mm_struct *mm, unsigned long addr,
 	pte = pte_offset_map_lock(mm, pmd, addr, &ptl);
 	if (!pte)
 		return;
-	arch_enter_lazy_mmu_mode();
+	lazy_mmu_mode_enable();
 	for (; npages > 0; --npages) {
 		pte_update(mm, addr, pte, 0, 0, 0);
 		addr += PAGE_SIZE;
 		++pte;
 	}
-	arch_leave_lazy_mmu_mode();
+	lazy_mmu_mode_disable();
 	pte_unmap_unlock(pte - 1, ptl);
 }
 
diff --git a/arch/x86/include/asm/pgtable.h b/arch/x86/include/asm/pgtable.h
index e33df3da6980..14fd672bc9b2 100644
--- a/arch/x86/include/asm/pgtable.h
+++ b/arch/x86/include/asm/pgtable.h
@@ -117,7 +117,8 @@ extern pmdval_t early_pmd_flags;
 #define pte_val(x)	native_pte_val(x)
 #define __pte(x)	native_make_pte(x)
 
-#define arch_end_context_switch(prev)	do {} while(0)
+#define arch_end_context_switch(prev)	do {} while (0)
+#define arch_flush_lazy_mmu_mode()	do {} while (0)
 #endif	/* CONFIG_PARAVIRT_XXL */
 
 static inline pmd_t pmd_set_flags(pmd_t pmd, pmdval_t set)
diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c
index fc35a0543f01..d16ba1d32169 100644
--- a/fs/proc/task_mmu.c
+++ b/fs/proc/task_mmu.c
@@ -2703,7 +2703,7 @@ static int pagemap_scan_pmd_entry(pmd_t *pmd, unsigned long start,
 		return 0;
 	}
 
-	arch_enter_lazy_mmu_mode();
+	lazy_mmu_mode_enable();
 
 	if ((p->arg.flags & PM_SCAN_WP_MATCHING) && !p->vec_out) {
 		/* Fast path for performing exclusive WP */
@@ -2773,7 +2773,7 @@ static int pagemap_scan_pmd_entry(pmd_t *pmd, unsigned long start,
 	if (flush_end)
 		flush_tlb_range(vma, start, addr);
 
-	arch_leave_lazy_mmu_mode();
+	lazy_mmu_mode_disable();
 	pte_unmap_unlock(start_pte, ptl);
 
 	cond_resched();
diff --git a/include/linux/pgtable.h b/include/linux/pgtable.h
index 9894366e768b..b5fdf32c437f 100644
--- a/include/linux/pgtable.h
+++ b/include/linux/pgtable.h
@@ -231,10 +231,31 @@ static inline int pmd_dirty(pmd_t pmd)
  * held, but for kernel PTE updates, no lock is held). Nesting is not permitted
  * and the mode cannot be used in interrupt context.
  */
-#ifndef CONFIG_ARCH_HAS_LAZY_MMU_MODE
-static inline void arch_enter_lazy_mmu_mode(void) {}
-static inline void arch_leave_lazy_mmu_mode(void) {}
-static inline void arch_flush_lazy_mmu_mode(void) {}
+#ifdef CONFIG_ARCH_HAS_LAZY_MMU_MODE
+static inline void lazy_mmu_mode_enable(void)
+{
+	arch_enter_lazy_mmu_mode();
+}
+
+static inline void lazy_mmu_mode_disable(void)
+{
+	arch_leave_lazy_mmu_mode();
+}
+
+static inline void lazy_mmu_mode_pause(void)
+{
+	arch_leave_lazy_mmu_mode();
+}
+
+static inline void lazy_mmu_mode_resume(void)
+{
+	arch_enter_lazy_mmu_mode();
+}
+#else
+static inline void lazy_mmu_mode_enable(void) {}
+static inline void lazy_mmu_mode_disable(void) {}
+static inline void lazy_mmu_mode_pause(void) {}
+static inline void lazy_mmu_mode_resume(void) {}
 #endif
 
 #ifndef pte_batch_hint
diff --git a/mm/kasan/shadow.c b/mm/kasan/shadow.c
index 5d2a876035d6..c49b029d3593 100644
--- a/mm/kasan/shadow.c
+++ b/mm/kasan/shadow.c
@@ -305,7 +305,7 @@ static int kasan_populate_vmalloc_pte(pte_t *ptep, unsigned long addr,
 	pte_t pte;
 	int index;
 
-	arch_leave_lazy_mmu_mode();
+	lazy_mmu_mode_pause();
 
 	index = PFN_DOWN(addr - data->start);
 	page = data->pages[index];
@@ -319,7 +319,7 @@ static int kasan_populate_vmalloc_pte(pte_t *ptep, unsigned long addr,
 	}
 	spin_unlock(&init_mm.page_table_lock);
 
-	arch_enter_lazy_mmu_mode();
+	lazy_mmu_mode_resume();
 
 	return 0;
 }
@@ -482,7 +482,7 @@ static int kasan_depopulate_vmalloc_pte(pte_t *ptep, unsigned long addr,
 	pte_t pte;
 	int none;
 
-	arch_leave_lazy_mmu_mode();
+	lazy_mmu_mode_pause();
 
 	spin_lock(&init_mm.page_table_lock);
 	pte = ptep_get(ptep);
@@ -494,7 +494,7 @@ static int kasan_depopulate_vmalloc_pte(pte_t *ptep, unsigned long addr,
 	if (likely(!none))
 		__free_page(pfn_to_page(pte_pfn(pte)));
 
-	arch_enter_lazy_mmu_mode();
+	lazy_mmu_mode_resume();
 
 	return 0;
 }
diff --git a/mm/madvise.c b/mm/madvise.c
index fb1c86e630b6..536026772160 100644
--- a/mm/madvise.c
+++ b/mm/madvise.c
@@ -455,7 +455,7 @@ static int madvise_cold_or_pageout_pte_range(pmd_t *pmd,
 	if (!start_pte)
 		return 0;
 	flush_tlb_batched_pending(mm);
-	arch_enter_lazy_mmu_mode();
+	lazy_mmu_mode_enable();
 	for (; addr < end; pte += nr, addr += nr * PAGE_SIZE) {
 		nr = 1;
 		ptent = ptep_get(pte);
@@ -463,7 +463,7 @@ static int madvise_cold_or_pageout_pte_range(pmd_t *pmd,
 		if (++batch_count == SWAP_CLUSTER_MAX) {
 			batch_count = 0;
 			if (need_resched()) {
-				arch_leave_lazy_mmu_mode();
+				lazy_mmu_mode_disable();
 				pte_unmap_unlock(start_pte, ptl);
 				cond_resched();
 				goto restart;
@@ -499,7 +499,7 @@ static int madvise_cold_or_pageout_pte_range(pmd_t *pmd,
 				if (!folio_trylock(folio))
 					continue;
 				folio_get(folio);
-				arch_leave_lazy_mmu_mode();
+				lazy_mmu_mode_disable();
 				pte_unmap_unlock(start_pte, ptl);
 				start_pte = NULL;
 				err = split_folio(folio);
@@ -510,7 +510,7 @@ static int madvise_cold_or_pageout_pte_range(pmd_t *pmd,
 				if (!start_pte)
 					break;
 				flush_tlb_batched_pending(mm);
-				arch_enter_lazy_mmu_mode();
+				lazy_mmu_mode_enable();
 				if (!err)
 					nr = 0;
 				continue;
@@ -558,7 +558,7 @@ static int madvise_cold_or_pageout_pte_range(pmd_t *pmd,
 	}
 
 	if (start_pte) {
-		arch_leave_lazy_mmu_mode();
+		lazy_mmu_mode_disable();
 		pte_unmap_unlock(start_pte, ptl);
 	}
 	if (pageout)
@@ -677,7 +677,7 @@ static int madvise_free_pte_range(pmd_t *pmd, unsigned long addr,
 	if (!start_pte)
 		return 0;
 	flush_tlb_batched_pending(mm);
-	arch_enter_lazy_mmu_mode();
+	lazy_mmu_mode_enable();
 	for (; addr != end; pte += nr, addr += PAGE_SIZE * nr) {
 		nr = 1;
 		ptent = ptep_get(pte);
@@ -727,7 +727,7 @@ static int madvise_free_pte_range(pmd_t *pmd, unsigned long addr,
 				if (!folio_trylock(folio))
 					continue;
 				folio_get(folio);
-				arch_leave_lazy_mmu_mode();
+				lazy_mmu_mode_disable();
 				pte_unmap_unlock(start_pte, ptl);
 				start_pte = NULL;
 				err = split_folio(folio);
@@ -738,7 +738,7 @@ static int madvise_free_pte_range(pmd_t *pmd, unsigned long addr,
 				if (!start_pte)
 					break;
 				flush_tlb_batched_pending(mm);
-				arch_enter_lazy_mmu_mode();
+				lazy_mmu_mode_enable();
 				if (!err)
 					nr = 0;
 				continue;
@@ -778,7 +778,7 @@ static int madvise_free_pte_range(pmd_t *pmd, unsigned long addr,
 	if (nr_swap)
 		add_mm_counter(mm, MM_SWAPENTS, nr_swap);
 	if (start_pte) {
-		arch_leave_lazy_mmu_mode();
+		lazy_mmu_mode_disable();
 		pte_unmap_unlock(start_pte, ptl);
 	}
 	cond_resched();
diff --git a/mm/memory.c b/mm/memory.c
index 74b45e258323..2d662dee5ae7 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -1254,7 +1254,7 @@ copy_pte_range(struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma,
 	spin_lock_nested(src_ptl, SINGLE_DEPTH_NESTING);
 	orig_src_pte = src_pte;
 	orig_dst_pte = dst_pte;
-	arch_enter_lazy_mmu_mode();
+	lazy_mmu_mode_enable();
 
 	do {
 		nr = 1;
@@ -1323,7 +1323,7 @@ copy_pte_range(struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma,
 	} while (dst_pte += nr, src_pte += nr, addr += PAGE_SIZE * nr,
 		 addr != end);
 
-	arch_leave_lazy_mmu_mode();
+	lazy_mmu_mode_disable();
 	pte_unmap_unlock(orig_src_pte, src_ptl);
 	add_mm_rss_vec(dst_mm, rss);
 	pte_unmap_unlock(orig_dst_pte, dst_ptl);
@@ -1842,7 +1842,7 @@ static unsigned long zap_pte_range(struct mmu_gather *tlb,
 		return addr;
 
 	flush_tlb_batched_pending(mm);
-	arch_enter_lazy_mmu_mode();
+	lazy_mmu_mode_enable();
 	do {
 		bool any_skipped = false;
 
@@ -1874,7 +1874,7 @@ static unsigned long zap_pte_range(struct mmu_gather *tlb,
 		direct_reclaim = try_get_and_clear_pmd(mm, pmd, &pmdval);
 
 	add_mm_rss_vec(mm, rss);
-	arch_leave_lazy_mmu_mode();
+	lazy_mmu_mode_disable();
 
 	/* Do the actual TLB flush before dropping ptl */
 	if (force_flush) {
@@ -2817,7 +2817,7 @@ static int remap_pte_range(struct mm_struct *mm, pmd_t *pmd,
 	mapped_pte = pte = pte_alloc_map_lock(mm, pmd, addr, &ptl);
 	if (!pte)
 		return -ENOMEM;
-	arch_enter_lazy_mmu_mode();
+	lazy_mmu_mode_enable();
 	do {
 		BUG_ON(!pte_none(ptep_get(pte)));
 		if (!pfn_modify_allowed(pfn, prot)) {
@@ -2827,7 +2827,7 @@ static int remap_pte_range(struct mm_struct *mm, pmd_t *pmd,
 		set_pte_at(mm, addr, pte, pte_mkspecial(pfn_pte(pfn, prot)));
 		pfn++;
 	} while (pte++, addr += PAGE_SIZE, addr != end);
-	arch_leave_lazy_mmu_mode();
+	lazy_mmu_mode_disable();
 	pte_unmap_unlock(mapped_pte, ptl);
 	return err;
 }
@@ -3134,7 +3134,7 @@ static int apply_to_pte_range(struct mm_struct *mm, pmd_t *pmd,
 			return -EINVAL;
 	}
 
-	arch_enter_lazy_mmu_mode();
+	lazy_mmu_mode_enable();
 
 	if (fn) {
 		do {
@@ -3147,7 +3147,7 @@ static int apply_to_pte_range(struct mm_struct *mm, pmd_t *pmd,
 	}
 	*mask |= PGTBL_PTE_MODIFIED;
 
-	arch_leave_lazy_mmu_mode();
+	lazy_mmu_mode_disable();
 
 	if (mm != &init_mm)
 		pte_unmap_unlock(mapped_pte, ptl);
diff --git a/mm/migrate_device.c b/mm/migrate_device.c
index abd9f6850db6..dcdc46b96cc7 100644
--- a/mm/migrate_device.c
+++ b/mm/migrate_device.c
@@ -110,7 +110,7 @@ static int migrate_vma_collect_pmd(pmd_t *pmdp,
 	ptep = pte_offset_map_lock(mm, pmdp, addr, &ptl);
 	if (!ptep)
 		goto again;
-	arch_enter_lazy_mmu_mode();
+	lazy_mmu_mode_enable();
 
 	for (; addr < end; addr += PAGE_SIZE, ptep++) {
 		struct dev_pagemap *pgmap;
@@ -287,7 +287,7 @@ static int migrate_vma_collect_pmd(pmd_t *pmdp,
 	if (unmapped)
 		flush_tlb_range(walk->vma, start, end);
 
-	arch_leave_lazy_mmu_mode();
+	lazy_mmu_mode_disable();
 	pte_unmap_unlock(ptep - 1, ptl);
 
 	return 0;
diff --git a/mm/mprotect.c b/mm/mprotect.c
index 113b48985834..bcb183a6fd2f 100644
--- a/mm/mprotect.c
+++ b/mm/mprotect.c
@@ -293,7 +293,7 @@ static long change_pte_range(struct mmu_gather *tlb,
 		target_node = numa_node_id();
 
 	flush_tlb_batched_pending(vma->vm_mm);
-	arch_enter_lazy_mmu_mode();
+	lazy_mmu_mode_enable();
 	do {
 		nr_ptes = 1;
 		oldpte = ptep_get(pte);
@@ -439,7 +439,7 @@ static long change_pte_range(struct mmu_gather *tlb,
 			}
 		}
 	} while (pte += nr_ptes, addr += nr_ptes * PAGE_SIZE, addr != end);
-	arch_leave_lazy_mmu_mode();
+	lazy_mmu_mode_disable();
 	pte_unmap_unlock(pte - 1, ptl);
 
 	return pages;
diff --git a/mm/mremap.c b/mm/mremap.c
index bd7314898ec5..a2e2cd8f279a 100644
--- a/mm/mremap.c
+++ b/mm/mremap.c
@@ -256,7 +256,7 @@ static int move_ptes(struct pagetable_move_control *pmc,
 	if (new_ptl != old_ptl)
 		spin_lock_nested(new_ptl, SINGLE_DEPTH_NESTING);
 	flush_tlb_batched_pending(vma->vm_mm);
-	arch_enter_lazy_mmu_mode();
+	lazy_mmu_mode_enable();
 
 	for (; old_addr < old_end; old_ptep += nr_ptes, old_addr += nr_ptes * PAGE_SIZE,
 		new_ptep += nr_ptes, new_addr += nr_ptes * PAGE_SIZE) {
@@ -301,7 +301,7 @@ static int move_ptes(struct pagetable_move_control *pmc,
 		}
 	}
 
-	arch_leave_lazy_mmu_mode();
+	lazy_mmu_mode_disable();
 	if (force_flush)
 		flush_tlb_range(vma, old_end - len, old_end);
 	if (new_ptl != old_ptl)
diff --git a/mm/userfaultfd.c b/mm/userfaultfd.c
index af61b95c89e4..e01f7813e15c 100644
--- a/mm/userfaultfd.c
+++ b/mm/userfaultfd.c
@@ -1100,7 +1100,7 @@ static long move_present_ptes(struct mm_struct *mm,
 	/* It's safe to drop the reference now as the page-table is holding one. */
 	folio_put(*first_src_folio);
 	*first_src_folio = NULL;
-	arch_enter_lazy_mmu_mode();
+	lazy_mmu_mode_enable();
 
 	while (true) {
 		orig_src_pte = ptep_get_and_clear(mm, src_addr, src_pte);
@@ -1138,7 +1138,7 @@ static long move_present_ptes(struct mm_struct *mm,
 			break;
 	}
 
-	arch_leave_lazy_mmu_mode();
+	lazy_mmu_mode_disable();
 	if (src_addr > src_start)
 		flush_tlb_range(src_vma, src_start, src_addr);
 
diff --git a/mm/vmalloc.c b/mm/vmalloc.c
index 798b2ed21e46..b9940590a40d 100644
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
@@ -105,7 +105,7 @@ static int vmap_pte_range(pmd_t *pmd, unsigned long addr, unsigned long end,
 	if (!pte)
 		return -ENOMEM;
 
-	arch_enter_lazy_mmu_mode();
+	lazy_mmu_mode_enable();
 
 	do {
 		if (unlikely(!pte_none(ptep_get(pte)))) {
@@ -131,7 +131,7 @@ static int vmap_pte_range(pmd_t *pmd, unsigned long addr, unsigned long end,
 		pfn++;
 	} while (pte += PFN_DOWN(size), addr += size, addr != end);
 
-	arch_leave_lazy_mmu_mode();
+	lazy_mmu_mode_disable();
 	*mask |= PGTBL_PTE_MODIFIED;
 	return 0;
 }
@@ -359,7 +359,7 @@ static void vunmap_pte_range(pmd_t *pmd, unsigned long addr, unsigned long end,
 	unsigned long size = PAGE_SIZE;
 
 	pte = pte_offset_kernel(pmd, addr);
-	arch_enter_lazy_mmu_mode();
+	lazy_mmu_mode_enable();
 
 	do {
 #ifdef CONFIG_HUGETLB_PAGE
@@ -378,7 +378,7 @@ static void vunmap_pte_range(pmd_t *pmd, unsigned long addr, unsigned long end,
 		WARN_ON(!pte_none(ptent) && !pte_present(ptent));
 	} while (pte += (size >> PAGE_SHIFT), addr += size, addr != end);
 
-	arch_leave_lazy_mmu_mode();
+	lazy_mmu_mode_disable();
 	*mask |= PGTBL_PTE_MODIFIED;
 }
 
@@ -526,7 +526,7 @@ static int vmap_pages_pte_range(pmd_t *pmd, unsigned long addr,
 	if (!pte)
 		return -ENOMEM;
 
-	arch_enter_lazy_mmu_mode();
+	lazy_mmu_mode_enable();
 
 	do {
 		struct page *page = pages[*nr];
@@ -548,7 +548,7 @@ static int vmap_pages_pte_range(pmd_t *pmd, unsigned long addr,
 		(*nr)++;
 	} while (pte++, addr += PAGE_SIZE, addr != end);
 
-	arch_leave_lazy_mmu_mode();
+	lazy_mmu_mode_disable();
 	*mask |= PGTBL_PTE_MODIFIED;
 
 	return err;
diff --git a/mm/vmscan.c b/mm/vmscan.c
index b2fc8b626d3d..7d2d87069530 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -3551,7 +3551,7 @@ static bool walk_pte_range(pmd_t *pmd, unsigned long start, unsigned long end,
 		return false;
 	}
 
-	arch_enter_lazy_mmu_mode();
+	lazy_mmu_mode_enable();
 restart:
 	for (i = pte_index(start), addr = start; addr != end; i++, addr += PAGE_SIZE) {
 		unsigned long pfn;
@@ -3592,7 +3592,7 @@ static bool walk_pte_range(pmd_t *pmd, unsigned long start, unsigned long end,
 	if (i < PTRS_PER_PTE && get_next_vma(PMD_MASK, PAGE_SIZE, args, &start, &end))
 		goto restart;
 
-	arch_leave_lazy_mmu_mode();
+	lazy_mmu_mode_disable();
 	pte_unmap_unlock(pte, ptl);
 
 	return suitable_to_scan(total, young);
@@ -3633,7 +3633,7 @@ static void walk_pmd_range_locked(pud_t *pud, unsigned long addr, struct vm_area
 	if (!spin_trylock(ptl))
 		goto done;
 
-	arch_enter_lazy_mmu_mode();
+	lazy_mmu_mode_enable();
 
 	do {
 		unsigned long pfn;
@@ -3680,7 +3680,7 @@ static void walk_pmd_range_locked(pud_t *pud, unsigned long addr, struct vm_area
 
 	walk_update_folio(walk, last, gen, dirty);
 
-	arch_leave_lazy_mmu_mode();
+	lazy_mmu_mode_disable();
 	spin_unlock(ptl);
 done:
 	*first = -1;
@@ -4279,7 +4279,7 @@ bool lru_gen_look_around(struct page_vma_mapped_walk *pvmw)
 		}
 	}
 
-	arch_enter_lazy_mmu_mode();
+	lazy_mmu_mode_enable();
 
 	pte -= (addr - start) / PAGE_SIZE;
 
@@ -4313,7 +4313,7 @@ bool lru_gen_look_around(struct page_vma_mapped_walk *pvmw)
 
 	walk_update_folio(walk, last, gen, dirty);
 
-	arch_leave_lazy_mmu_mode();
+	lazy_mmu_mode_disable();
 
 	/* feedback from rmap walkers to page table walkers */
 	if (mm_state && suitable_to_scan(i, young))
-- 
2.47.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 29 10:16:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 10:16:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152680.1483242 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE3ED-0006rn-GZ; Wed, 29 Oct 2025 10:16:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152680.1483242; Wed, 29 Oct 2025 10:16:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE3ED-0006rS-AN; Wed, 29 Oct 2025 10:16:29 +0000
Received: by outflank-mailman (input) for mailman id 1152680;
 Wed, 29 Oct 2025 10:16:27 +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
 <SRS0=MCkK=5G=arm.com=kevin.brodsky@srs-se1.protection.inumbo.net>)
 id 1vE38b-0000Up-AG
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 10:10:41 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 850844dc-b4af-11f0-980a-7dc792cee155;
 Wed, 29 Oct 2025 11:10:39 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id ECC152BCC;
 Wed, 29 Oct 2025 03:10:30 -0700 (PDT)
Received: from e123572-lin.arm.com (e123572-lin.cambridge.arm.com
 [10.1.194.54])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id DACF93F66E;
 Wed, 29 Oct 2025 03:10:33 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 850844dc-b4af-11f0-980a-7dc792cee155
From: Kevin Brodsky <kevin.brodsky@arm.com>
To: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org,
	Kevin Brodsky <kevin.brodsky@arm.com>,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	Andreas Larsson <andreas@gaisler.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Borislav Petkov <bp@alien8.de>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	David Hildenbrand <david@redhat.com>,
	"David S. Miller" <davem@davemloft.net>,
	David Woodhouse <dwmw2@infradead.org>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Ingo Molnar <mingo@redhat.com>,
	Jann Horn <jannh@google.com>,
	Juergen Gross <jgross@suse.com>,
	"Liam R. Howlett" <Liam.Howlett@oracle.com>,
	Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Michal Hocko <mhocko@suse.com>,
	Mike Rapoport <rppt@kernel.org>,
	Nicholas Piggin <npiggin@gmail.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Ryan Roberts <ryan.roberts@arm.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vlastimil Babka <vbabka@suse.cz>,
	Will Deacon <will@kernel.org>,
	Yeoreum Yun <yeoreum.yun@arm.com>,
	linux-arm-kernel@lists.infradead.org,
	linuxppc-dev@lists.ozlabs.org,
	sparclinux@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	x86@kernel.org
Subject: [PATCH v4 09/12] powerpc/mm: replace batch->active with in_lazy_mmu_mode()
Date: Wed, 29 Oct 2025 10:09:06 +0000
Message-ID: <20251029100909.3381140-10-kevin.brodsky@arm.com>
X-Mailer: git-send-email 2.47.0
In-Reply-To: <20251029100909.3381140-1-kevin.brodsky@arm.com>
References: <20251029100909.3381140-1-kevin.brodsky@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

A per-CPU batch struct is activated when entering lazy MMU mode; its
lifetime is the same as the lazy MMU section (it is deactivated when
leaving the mode). Preemption is disabled in that interval to ensure
that the per-CPU reference remains valid.

The generic lazy_mmu layer now tracks whether a task is in lazy MMU
mode. We can therefore use the generic helper in_lazy_mmu_mode()
to tell whether a batch struct is active instead of tracking it
explicitly.

Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
---
 arch/powerpc/include/asm/book3s/64/tlbflush-hash.h | 9 ---------
 arch/powerpc/mm/book3s64/hash_tlb.c                | 2 +-
 2 files changed, 1 insertion(+), 10 deletions(-)

diff --git a/arch/powerpc/include/asm/book3s/64/tlbflush-hash.h b/arch/powerpc/include/asm/book3s/64/tlbflush-hash.h
index 623a8a8b2d0e..bbc54690d374 100644
--- a/arch/powerpc/include/asm/book3s/64/tlbflush-hash.h
+++ b/arch/powerpc/include/asm/book3s/64/tlbflush-hash.h
@@ -12,7 +12,6 @@
 #define PPC64_TLB_BATCH_NR 192
 
 struct ppc64_tlb_batch {
-	int			active;
 	unsigned long		index;
 	struct mm_struct	*mm;
 	real_pte_t		pte[PPC64_TLB_BATCH_NR];
@@ -26,8 +25,6 @@ extern void __flush_tlb_pending(struct ppc64_tlb_batch *batch);
 
 static inline void arch_enter_lazy_mmu_mode(void)
 {
-	struct ppc64_tlb_batch *batch;
-
 	if (radix_enabled())
 		return;
 	/*
@@ -35,8 +32,6 @@ static inline void arch_enter_lazy_mmu_mode(void)
 	 * operating on kernel page tables.
 	 */
 	preempt_disable();
-	batch = this_cpu_ptr(&ppc64_tlb_batch);
-	batch->active = 1;
 }
 
 static inline void arch_flush_lazy_mmu_mode(void)
@@ -51,14 +46,10 @@ static inline void arch_flush_lazy_mmu_mode(void)
 
 static inline void arch_leave_lazy_mmu_mode(void)
 {
-	struct ppc64_tlb_batch *batch;
-
 	if (radix_enabled())
 		return;
-	batch = this_cpu_ptr(&ppc64_tlb_batch);
 
 	arch_flush_lazy_mmu_mode();
-	batch->active = 0;
 	preempt_enable();
 }
 
diff --git a/arch/powerpc/mm/book3s64/hash_tlb.c b/arch/powerpc/mm/book3s64/hash_tlb.c
index 787f7a0e27f0..72b83f582b6d 100644
--- a/arch/powerpc/mm/book3s64/hash_tlb.c
+++ b/arch/powerpc/mm/book3s64/hash_tlb.c
@@ -100,7 +100,7 @@ void hpte_need_flush(struct mm_struct *mm, unsigned long addr,
 	 * Check if we have an active batch on this CPU. If not, just
 	 * flush now and return.
 	 */
-	if (!batch->active) {
+	if (!in_lazy_mmu_mode()) {
 		flush_hash_page(vpn, rpte, psize, ssize, mm_is_thread_local(mm));
 		put_cpu_var(ppc64_tlb_batch);
 		return;
-- 
2.47.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 29 10:16:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 10:16:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152681.1483246 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE3ED-0006tA-NH; Wed, 29 Oct 2025 10:16:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152681.1483246; Wed, 29 Oct 2025 10:16:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE3ED-0006sW-IN; Wed, 29 Oct 2025 10:16:29 +0000
Received: by outflank-mailman (input) for mailman id 1152681;
 Wed, 29 Oct 2025 10:16:27 +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
 <SRS0=MCkK=5G=arm.com=kevin.brodsky@srs-se1.protection.inumbo.net>)
 id 1vE38f-0001HF-H8
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 10:10:45 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 882df8d2-b4af-11f0-9d16-b5c5bf9af7f9;
 Wed, 29 Oct 2025 11:10:44 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 310A22BF7;
 Wed, 29 Oct 2025 03:10:36 -0700 (PDT)
Received: from e123572-lin.arm.com (e123572-lin.cambridge.arm.com
 [10.1.194.54])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 1CBC73F66E;
 Wed, 29 Oct 2025 03:10:38 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 882df8d2-b4af-11f0-9d16-b5c5bf9af7f9
From: Kevin Brodsky <kevin.brodsky@arm.com>
To: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org,
	Kevin Brodsky <kevin.brodsky@arm.com>,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	Andreas Larsson <andreas@gaisler.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Borislav Petkov <bp@alien8.de>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	David Hildenbrand <david@redhat.com>,
	"David S. Miller" <davem@davemloft.net>,
	David Woodhouse <dwmw2@infradead.org>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Ingo Molnar <mingo@redhat.com>,
	Jann Horn <jannh@google.com>,
	Juergen Gross <jgross@suse.com>,
	"Liam R. Howlett" <Liam.Howlett@oracle.com>,
	Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Michal Hocko <mhocko@suse.com>,
	Mike Rapoport <rppt@kernel.org>,
	Nicholas Piggin <npiggin@gmail.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Ryan Roberts <ryan.roberts@arm.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vlastimil Babka <vbabka@suse.cz>,
	Will Deacon <will@kernel.org>,
	Yeoreum Yun <yeoreum.yun@arm.com>,
	linux-arm-kernel@lists.infradead.org,
	linuxppc-dev@lists.ozlabs.org,
	sparclinux@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	x86@kernel.org
Subject: [PATCH v4 10/12] sparc/mm: replace batch->active with in_lazy_mmu_mode()
Date: Wed, 29 Oct 2025 10:09:07 +0000
Message-ID: <20251029100909.3381140-11-kevin.brodsky@arm.com>
X-Mailer: git-send-email 2.47.0
In-Reply-To: <20251029100909.3381140-1-kevin.brodsky@arm.com>
References: <20251029100909.3381140-1-kevin.brodsky@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

A per-CPU batch struct is activated when entering lazy MMU mode; its
lifetime is the same as the lazy MMU section (it is deactivated when
leaving the mode). Preemption is disabled in that interval to ensure
that the per-CPU reference remains valid.

The generic lazy_mmu layer now tracks whether a task is in lazy MMU
mode. We can therefore use the generic helper in_lazy_mmu_mode()
to tell whether a batch struct is active instead of tracking it
explicitly.

Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
---
 arch/sparc/include/asm/tlbflush_64.h | 1 -
 arch/sparc/mm/tlb.c                  | 9 +--------
 2 files changed, 1 insertion(+), 9 deletions(-)

diff --git a/arch/sparc/include/asm/tlbflush_64.h b/arch/sparc/include/asm/tlbflush_64.h
index 4e1036728e2f..6133306ba59a 100644
--- a/arch/sparc/include/asm/tlbflush_64.h
+++ b/arch/sparc/include/asm/tlbflush_64.h
@@ -12,7 +12,6 @@ struct tlb_batch {
 	unsigned int hugepage_shift;
 	struct mm_struct *mm;
 	unsigned long tlb_nr;
-	unsigned long active;
 	unsigned long vaddrs[TLB_BATCH_NR];
 };
 
diff --git a/arch/sparc/mm/tlb.c b/arch/sparc/mm/tlb.c
index 7b5dfcdb1243..879e22c86e5c 100644
--- a/arch/sparc/mm/tlb.c
+++ b/arch/sparc/mm/tlb.c
@@ -52,11 +52,7 @@ void flush_tlb_pending(void)
 
 void arch_enter_lazy_mmu_mode(void)
 {
-	struct tlb_batch *tb;
-
 	preempt_disable();
-	tb = this_cpu_ptr(&tlb_batch);
-	tb->active = 1;
 }
 
 void arch_flush_lazy_mmu_mode(void)
@@ -69,10 +65,7 @@ void arch_flush_lazy_mmu_mode(void)
 
 void arch_leave_lazy_mmu_mode(void)
 {
-	struct tlb_batch *tb = this_cpu_ptr(&tlb_batch);
-
 	arch_flush_lazy_mmu_mode();
-	tb->active = 0;
 	preempt_enable();
 }
 
@@ -93,7 +86,7 @@ static void tlb_batch_add_one(struct mm_struct *mm, unsigned long vaddr,
 		nr = 0;
 	}
 
-	if (!tb->active) {
+	if (!in_lazy_mmu_mode()) {
 		flush_tsb_user_page(mm, vaddr, hugepage_shift);
 		global_flush_tlb_page(mm, vaddr);
 		goto out;
-- 
2.47.0



From xen-devel-bounces@lists.xenproject.org Wed Oct 29 13:35:00 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 13:35:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152759.1483265 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE6K1-0006af-8s; Wed, 29 Oct 2025 13:34:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152759.1483265; Wed, 29 Oct 2025 13:34:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE6K1-0006aY-66; Wed, 29 Oct 2025 13:34:41 +0000
Received: by outflank-mailman (input) for mailman id 1152759;
 Wed, 29 Oct 2025 13:34:40 +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 <SRS0=f6do=5G=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vE6K0-0006aS-9w
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 13:34:40 +0000
Received: from mail-wr1-x42f.google.com (mail-wr1-x42f.google.com
 [2a00:1450:4864:20::42f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 002a5bdb-b4cc-11f0-9d16-b5c5bf9af7f9;
 Wed, 29 Oct 2025 14:34:31 +0100 (CET)
Received: by mail-wr1-x42f.google.com with SMTP id
 ffacd0b85a97d-4270491e9easo5986849f8f.2
 for <xen-devel@lists.xenproject.org>; Wed, 29 Oct 2025 06:34:31 -0700 (PDT)
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-429952df682sm26227262f8f.43.2025.10.29.06.34.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 29 Oct 2025 06:34:30 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 002a5bdb-b4cc-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761744871; x=1762349671; darn=lists.xenproject.org;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id:from:to:cc
         :subject:date:message-id:reply-to;
        bh=2HyqamvdLK6Um1i8RR6KfcQEH62gUXEyEb0Ap0y1KVE=;
        b=OmzhSXm7BOyTvXGYSonf0//HJhDQA2jgLZxIkkMGJuoM86gmBkJBEqTDLki+or4lwC
         QKHz9d6U3wKZhXzZXkL5ACxXXGanZ29k/5TfdaE0yzPKiRepi8+ZNbNHtVEKcy0Gen3W
         xs5bls6rbu8uZB5YDpi+DouceIMTt7JOxuq3NhePEqt+FFf6vVQUtRgBQ2KK1Bwr4TI4
         bJuLO8S5LZrtH+ySLHqLJVRXYA5KLNC/3oZsPOJP4Nz550kAIXa8ViNuhfG5OIIZt2Lm
         Drz7cWmZ9Ky9wJiZkLp9kamaxnvSPADGUsZEdJV4hNDbOsK/L//Ag+oD1DL24h81d6Th
         Iysw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761744871; x=1762349671;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=2HyqamvdLK6Um1i8RR6KfcQEH62gUXEyEb0Ap0y1KVE=;
        b=FgfnO3s25BoFp92SBIs+Avl36O1yMdVyoYjqEYJpkFj0sh+7rrgEV1UVVLOcyPMcX8
         UMWMuuxzTVhYqprwIh295XxyCV3h72Js0o//Jaca5tJSxMfZA3Wq8RxZBd2EE/uyiRNy
         0VbfHaJzrb1zS0XhkVIXuJaBE81hFbP+Iwy5v9dkw1xBf7eI6zXIdkWz2UrBUfAKRpB4
         S+VIiPFAI9VZwIAZ8uFC1EwQKAtMoqSQTIr7RTQeXanIz6wGsNRwJSTszTcoFLGIMY+O
         79rPh/amNZKV6nK7CGyDhoVZO1gkGFKyZY9st58f/aj9sednB3v0GphIKO+WKQaX2oMs
         mYFA==
X-Gm-Message-State: AOJu0YxxAHkw5yAevJcx58+kwwGpU/M+7dFXhPfMMPOjQ1jwpNY5CysC
	2ZPpGOGx1o+IygHFVhAXwHXK+gfQN/e032QsOIkKztCzb+4RAMc3nVPOSalfxUT1q+68Npvn1fQ
	Y2QA=
X-Gm-Gg: ASbGncur39fGSyJyocIKm7lW3gZLEJKL9D3NPfKMtdu3kTIGQrSi6yEm9GsNtRhzguv
	nNlgsoEhG/yLfv8jbdhSxf6JJnr1edxPqH4PnaaAY+WTW9hKJbyHRqz5hY6LXL086a97JF+wE2u
	HwAVOWHLVz6cOFDY1rQ5Cnq+w/n6yKQ9q5GB0pwvyc7ZWIqlkrw3jWUn0wZxNvzbPWRWUGqEiT/
	1cFaGElmQWcpdc9T5v5HwW+U4Xcljz97Usv9hlRizMUvruWc1i0oYNEJuuzqyXAQ/8rypnVNlSP
	RAssUxTMvcFlTkT5c98pIgAAVFhe5yp22iz8JrpVITbWQuN0yfVo14p/HdyJKShuR+Hg6MpxTCY
	+m/aIZKDuv5ovVYwOJKJVqiQVF2U1iNk6AnWffRUdty8ohDHshnoA+2dcyOZck7YmTZZ+U3Xfjv
	N+ahieP1a5EAYf9IOyLlrNMgK7QEFHayaq3Lq4sCjXXBQl4iBI6PqQ1yPGjNDjTbX6HwChL1Up5
	vkus5CHUQ==
X-Google-Smtp-Source: AGHT+IFskf6Pc3PkvkEqxc/3Y2kQE2wpJ+gXy4jibT88wAwar4gRj+xe/bwuHe5lhOaZHNcxyVGA5g==
X-Received: by 2002:a05:6000:1786:b0:427:241:91c2 with SMTP id ffacd0b85a97d-429aefbd941mr2041957f8f.30.1761744871272;
        Wed, 29 Oct 2025 06:34:31 -0700 (PDT)
Message-ID: <6fdfd369-6c1e-48a5-8189-4999d566788a@suse.com>
Date: Wed, 29 Oct 2025 14:34:29 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Oleksii Kurochko <oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH for-4.21] symbols: avoid emitting "end" symbols for data items
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
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

symbols-dummy.c and the generated .xen-syms.?.S may place their symbols in
different sections: Like for all C files, -fdata-sections may be in effect
there. As a result, besides moving these symbols may then also have
different amounts of "end" symbols inserted between them. While the
movement is likely not problematic, the change in table size is - linking
passes 2 and 3 want no address (and hence no size) changes between them.

As, at least right now, the "end" symbols are useful only for code, limit
their emission accordingly. When data symbols are emitted (i.e. when
LIVEPATCH=y), this obviously also has a positive effect on overall table
size (I'm seeing almost 600 entries going away in the build I'm looking
at).

Fixes: d3b637fba31b ("symbols: arrange to know where functions end")
Reported-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Furthermore at least some gcc versions emit the (read-only) data there into
.bss.symbols_* rather than the expected (but still potentially problematic)
.rodata.symbols_*.

--- a/xen/tools/symbols.c
+++ b/xen/tools/symbols.c
@@ -176,10 +176,9 @@ static int read_symbol(FILE *in, struct
 		*sym++ = '#';
 	}
 	strcpy(sym, str);
-	if (sort_by_name || map_only) {
+	if (sort_by_name || map_only)
 		s->orig_symbol = strdup(SYMBOL_NAME(s));
-		s->type = stype; /* As s->sym[0] ends mangled. */
-	}
+	s->type = stype; /* As s->sym[0] may end up mangled. */
 	s->sym[0] = stype;
 	s->typed = strcmp(type, "FUNC") == 0 ||
 	           strcmp(type, "OBJECT") == 0 ||
@@ -313,6 +312,7 @@ static int compare_name_orig(const void
 static bool want_symbol_end(unsigned int idx)
 {
 	return table[idx].size &&
+	       toupper(table[idx].type) == 'T' &&
 	       (idx + 1 == table_cnt ||
 	        table[idx].addr + table[idx].size < table[idx + 1].addr);
 }


From xen-devel-bounces@lists.xenproject.org Wed Oct 29 13:38:37 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 13:38:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152769.1483276 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE6No-0007DE-Q1; Wed, 29 Oct 2025 13:38:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152769.1483276; Wed, 29 Oct 2025 13:38:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE6No-0007D7-Me; Wed, 29 Oct 2025 13:38:36 +0000
Received: by outflank-mailman (input) for mailman id 1152769;
 Wed, 29 Oct 2025 13:38:35 +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
 <SRS0=9Sed=5G=epam.com=dmytro_prokopchuk1@srs-se1.protection.inumbo.net>)
 id 1vE6Nn-0007D1-El
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 13:38:35 +0000
Received: from MRWPR03CU001.outbound.protection.outlook.com
 (mail-francesouthazlp170110003.outbound.protection.outlook.com
 [2a01:111:f403:c207::3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 90b4d70e-b4cc-11f0-9d16-b5c5bf9af7f9;
 Wed, 29 Oct 2025 14:38:34 +0100 (CET)
Received: from DB7PR03MB4140.eurprd03.prod.outlook.com (2603:10a6:5:34::10) by
 DU7PR03MB10948.eurprd03.prod.outlook.com (2603:10a6:10:5b0::7) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9275.13; Wed, 29 Oct 2025 13:38:30 +0000
Received: from DB7PR03MB4140.eurprd03.prod.outlook.com
 ([fe80::e16e:b655:974f:43f3]) by DB7PR03MB4140.eurprd03.prod.outlook.com
 ([fe80::e16e:b655:974f:43f3%6]) with mapi id 15.20.9275.011; Wed, 29 Oct 2025
 13:38:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 90b4d70e-b4cc-11f0-9d16-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=SwJkG0afAR5cWdQ2hpNpTXjmQkX2JoujXqUFQJalxGbWAAAXf+r0TmHV2eMJ5MB0Y6OZXFUA+0CNiJi9tRFwYVP/WNYCLSzCFnHINFE7l0EWagLwZXIJ6cMpOmyjxkr5USIikxKe1jyFz+VobG5V/GR2dx8kOkezXQxB1b9JAIVX2PO9ZmDBXMpBubn1qD4ViWpxCO1OhpXO6Gqym017R7E3EHipHUImPyVCBA3AbY2An60Z0oKrSggs130PTxUYVJqsOA/kymfNAK4BhKmGSmpYWJPAy09oqyp3rW8SfoC0XdA0GHOOvUN5tRJV8mSOnVj9Kwbs8NesaQCV7XqA3w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WIbI4qbOf9rCB0d5CTNEPvbK++/EFYj/AMDKCJiDaBE=;
 b=P+KE9z4kQIwlKfNFfvRT+NlBbrBk8jq23KuIWQohJkWdI0QtXVtZSwnV0RgBl3SYsWY13gy4zKUIz+COVDV+qVyqAdU1FefDJyM88RsQeNC3IWrdlhhDCi+RSY+sNriUAYaM65qllpf0bvQ7AypLHtrRQTYkdTPyHSLjyzgOxGClteIogsD7kcnmWdf9vhqmJ8CtmECA8ygQb0XjmBnBKOlEppOsRXgop7OEJ4j+Hb/2IC1w7EZ9WefQFdxQaN6ZPNMhtC4BZCtmBIFjTSXPINfQ5OurZHvmelYqq6syNgCtffKMFbgKQkOarh4qoHu2tusJdF7nriDU1bZin5lJwg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WIbI4qbOf9rCB0d5CTNEPvbK++/EFYj/AMDKCJiDaBE=;
 b=Q2X1rO19TTnRZkgmnXsrsQbQOiEDraHo2a58H2JzWRQ8y2n7nSvikNpyCeqfrpchZnUxS/MLzWt5Yd8sxCkom/kQBr2isP2N8dotZc1hpfFtTd8X67SMhcOQQAvCmZim5PyjYhWsQ9/To2jnKm+tUGImkFzbpQ5Q6QeP3LMW0ZT2lt8z1RFExO/lU+RwKtYpKO4GN25VE+w1PtKHpbUkQ30ISmS4QCsv2RECMHfMjD+NzDjdc6qmhrevPqGFtK/dnwXfBpJGePtAJfx1rZkdrtVrAbHNquE5Yhi2pLBGVt/7no9mAxkt+3CIyQaREEg+LJEp3SFiFhsVZyKwFDTVJg==
From: Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>, Julien
 Grall <julien@xen.org>, =?iso-8859-1?Q?Roger_Pau_Monn=E9?=
	<roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH] kconfig: remove references to
 docs/misc/kconfig{,-language}.txt files
Thread-Topic: [PATCH] kconfig: remove references to
 docs/misc/kconfig{,-language}.txt files
Thread-Index: AQHcSNlQlJpHEC5jN02048Fc+YbROQ==
Date: Wed, 29 Oct 2025 13:38:30 +0000
Message-ID:
 <6f72dcebf5dbb69e9496b7f0ef96198e9bb9f1e9.1761745058.git.dmytro_prokopchuk1@epam.com>
Accept-Language: en-US, uk-UA, ru-RU
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DB7PR03MB4140:EE_|DU7PR03MB10948:EE_
x-ms-office365-filtering-correlation-id: eb6db9a1-6555-43d0-f824-08de16f072e4
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|366016|42112799006|376014|1800799024|38070700021|13003099007;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?lEifgVFZEZMObXX74LYpQmQKkNCMT3rRFsQlmoi89jjwxsk0H7HsICxqcE?=
 =?iso-8859-1?Q?/mDDaWdK+NA9A0a2+Nny2YWJIfKLmT3zF1GvgDbqzZrROAkfpqdtVrDKbJ?=
 =?iso-8859-1?Q?C0srN0N/5zYr/R85c5brJgpI/RqBBqNBrxh3K/FVYX+xF+iU3TfXHtmsxH?=
 =?iso-8859-1?Q?yTOjMrhAaR3OHG2As8xZuRhiEu4gLggusiHXAjFivA3tyA74JFezRNXfQf?=
 =?iso-8859-1?Q?vUd+H7xq3RiwhuYCGkaKEH9/FqiDQYAjgJ4tBa7Qm+LnjrBnACjJPKaidG?=
 =?iso-8859-1?Q?Sb0nCp2LNiS6E9FOh1IO9usy/DAQzpl+HO4coE2e0l8QB8P5litemXocWU?=
 =?iso-8859-1?Q?AwSgFixpOttgRcSwyX/CKUpUiHX7SHMHJifNnb/6r740Jw/xDPlxb1VAGZ?=
 =?iso-8859-1?Q?IrkCBLAMsnX6Xo2q6bFRGv3ZRisvbgK+mOHRl8NBtiqd5ShNoNbUSfyGKP?=
 =?iso-8859-1?Q?aGTyx3Vuq6IxmnGvS+pgFgcgEP5Bn5w04RG7MHwUSmx9WfyPp+M4DDTFhA?=
 =?iso-8859-1?Q?R34Z5CaK3mhKp2eELTloP29mStUOhRy0BaziZknnul/r9q+PpVoXrtZKvy?=
 =?iso-8859-1?Q?0dLooihEwW8nyGTvV3fNGVOcVy84CKtbAhplaRwne8sR9/BIJyMxVtFUNg?=
 =?iso-8859-1?Q?DLl/IecOvtHkCI+RHZIuP9OWcqttFPApdRq5YZfdUi1pQbnPPI0a6zM5dc?=
 =?iso-8859-1?Q?s0yXPiacoCzy4m6NMqze1rv9SudxPt86mj+SkEvqrmIJWaA3W8Kss+E68O?=
 =?iso-8859-1?Q?CDgu4JKTTqjbzNI+LcmrhntRqB7rySidaj1kAKbikOI67Ua//PFy+KQeZB?=
 =?iso-8859-1?Q?iw6LbAKOqHrRnZ03qlwCyk1KmE5L4IjvUSq2whIy7ZzXSmNYRxu6h7phcA?=
 =?iso-8859-1?Q?LHWCEdOGZzwLUxBWIugL8JPqn/OkGf2dK8jtRiQZVAJxWMcIx+UY8/CAz9?=
 =?iso-8859-1?Q?zK29TNNqhT67kz8unjkflI8issMCwOAm/whFEIUKpZFcL+vUlFsyuorlI5?=
 =?iso-8859-1?Q?NDNbpyhS3sCfN9DIxXbrXdHSNNa6YCRf9uYwRWG4LijsZOYZkAgKweIPDM?=
 =?iso-8859-1?Q?T1bjkqaN8JoqqTln9gTcCs4nrC5i0goJUuWoqKFKq5IlgjVIoxcf8oEdZ5?=
 =?iso-8859-1?Q?9s0rJ+JhNPhFXae3oejGlAb6h6q1+fgtcb7ndflTQF3ZP2hPQE12Fu+Egj?=
 =?iso-8859-1?Q?tKEilZb8OIugs2qTHfsz3/X3Bk1cGVZNlkLoaIt7WpRuJQ2ECKnf92IaNa?=
 =?iso-8859-1?Q?nop695gbBZaxEXoA5oyKJ8Nq+qs0r7HOYp4kTdAb7a+e+f0kUzT4X9e73C?=
 =?iso-8859-1?Q?yt0sYy0XS7V3EoHv+YhX1uqqcfAkLCkBuY0Hl2xx+Kg5bY8nrjv10WOXJl?=
 =?iso-8859-1?Q?tWRrxXypwl3YodSCTTxAPBbQgxQF5jhtk4VVLW7hII+GQSFLLMqgiBGGer?=
 =?iso-8859-1?Q?HPy2alFXbtZxS38ZWk+chISJ+gv1vXpbvsxvlo976SfViXs1mJiwlrG+qh?=
 =?iso-8859-1?Q?PeWOXY55yt9rP5WCF56TrMo+pEDfFkh+f9uBkZ5mg4+v9CM4zR8gczLD6X?=
 =?iso-8859-1?Q?6/SNCByujdpT0vISGKcpsRXfhzIm?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB7PR03MB4140.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(42112799006)(376014)(1800799024)(38070700021)(13003099007);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?NUaoGDyALowzeYhunleO6FnByXVAHCxeupRz0F3dKSY1V7PNK/h2h9sNge?=
 =?iso-8859-1?Q?13Z7xAC+iMYGXLkpZbjdxKXQwItz5ll0gLqwliflikGfUVqxp+EN8Sm+XY?=
 =?iso-8859-1?Q?+2WPhiS/8uaHOng8rG7Wr2ABf15YIwMSa42pI2AozE41KMkxs/CrnC7yM0?=
 =?iso-8859-1?Q?1n6dgFijjFPacl2Se7w6CG3T5v/CqVq1xDdZGPdWNeSNMCzZajguOdfgYZ?=
 =?iso-8859-1?Q?6q0ud6DwSUazLv4x5EEGh7pIHvU5TavSw+dvr67xLRFWH+/aL/+EdaWuZd?=
 =?iso-8859-1?Q?zXatGRzpkt48FU84JhiUQTpFydPbI/Kr8I39bG3jFx3lSW4HHk76CECDa+?=
 =?iso-8859-1?Q?q1ntZbaf47WLoy9ykVqwrcjEOpxL4hF2rQAJdhzVMx4i/PQf4c5aZ7RlDO?=
 =?iso-8859-1?Q?eBi9ctom2vlY32x6Ngb8R703xYGb0rdtK4uUaeX1+2AvNfBzdYuc5G7g0T?=
 =?iso-8859-1?Q?qbU6gwhEE0CpZW9+Yl9DQooawfpnqjTqiiNhJGYVwHvdu7uPRsdSQruHHb?=
 =?iso-8859-1?Q?w4lTtuonM2q1VGlDHwSca1AQE4LzS4kttZobhgIoFiksERGgIdf6yEKPIn?=
 =?iso-8859-1?Q?m80KosR/IQX9t7L8ak4cIpfZVSEb+F4n/vznfga3j5NNCF8656wL2YxDc1?=
 =?iso-8859-1?Q?/5vujhxbX1OHu+u0ZE60MfmN8WDRnXl9eyaiLOkJ8U5XWMUhSRe/yf40V0?=
 =?iso-8859-1?Q?L8+AxZmPefJXwJXr7am4qQ3G84BYCZd8/hdXJgvYIDgNicBYkkwn2ORXpX?=
 =?iso-8859-1?Q?v1TPZV955KSANsel38uANabU4tVOX3xP6Y0Mx1PYFdGK7SLyRb3xkzhvZm?=
 =?iso-8859-1?Q?lj542rx7HODrByGoCFEOlxnYiJk0H88jiidIgYSUb2I8sMJ7sDKZpJ63Mo?=
 =?iso-8859-1?Q?ipLpmGGpn8PAJYMDSiqBu2VUgPWj3iW6Ma+QrIL7MjdbA79m77g2sU1u5x?=
 =?iso-8859-1?Q?QJPv5olxJrj0APCwunAwyG/7RH0gKQXv5qvAzCTgClGqf5cS3wkhin/HQe?=
 =?iso-8859-1?Q?as+9s1/MzuVnlII+vzBuzsvFYVXfK+hCWe7SW6d6NrK+1zQjweIfu6lOKX?=
 =?iso-8859-1?Q?VHLU5Ul6ajNjtQoZK1RTgIuN1hzWVKr6zNBPf2LVGZi8JhZtPgJyiz4krZ?=
 =?iso-8859-1?Q?pBHHWfgdzM6rtSvlpIP04wfP4tpUYn1vdKXzuwlAod/ztRO3gRadi4RyS4?=
 =?iso-8859-1?Q?1ua4CdfJMSlsdTi7ay3WvEGo0a6I1P35jWytuH5TUNimycmz0HxGWHZSO1?=
 =?iso-8859-1?Q?/cbBsj/N7LVhUSTqd7jz/xRyaW1mUNPb5zioY3vj/+b9BWq0YLdUbKPCbQ?=
 =?iso-8859-1?Q?BLpH5K5ATMBmi2KTksDNz9P6gOu5a+y7KrFI4C/yKQMFwsQ2efZdusEEWY?=
 =?iso-8859-1?Q?Otj55ajoGdQAyxt74Qp40sz+cFeeMe6YscPitdKqoONZEYDyRyoNOFV9QM?=
 =?iso-8859-1?Q?3uhizyDZA62g/gJ3HldZEw5+J2PTkFyzTnHOao4rbJ5Y5pX3y9BREVz1QN?=
 =?iso-8859-1?Q?KUI+Xgtg+jMRLcCoLM+gR/3JQCL1FGfxnGLEZb4ipYTNYSQ+hnfl/gYz4u?=
 =?iso-8859-1?Q?rRGcjcOz+zI/zRYMpVhEzCRhHN05A3DLFSr67yVeI2CKyKn4JBv01+lUoY?=
 =?iso-8859-1?Q?60W9sidXbF+THTtPe5rgKdMcu+1tKDotA6BtG+fkG8V2tQlfGw5AlnJw?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DB7PR03MB4140.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: eb6db9a1-6555-43d0-f824-08de16f072e4
X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Oct 2025 13:38:30.8369
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: FoB1WnR1vT7jcBM3R4DC2wpWohMxJvj1xxhG40QjxkD3GLPIPcz2hQYgz7IboOPhMIMbgbpbS3urxgEyYVO6l5OCOdlRTMb7V49NzK8Yi0U=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU7PR03MB10948

These files 'docs/misc/kconfig{,-language}.txt' were deleted, but
references are still present in Xen. Remove them to clean-up.

Fixes: f80fe2b34f08 ("xen: Update Kconfig to Linux v5.4")
Signed-off-by: Dmytro Prokopchuk <dmytro_prokopchuk1@epam.com>
---
 INSTALL     | 2 +-
 MAINTAINERS | 1 -
 xen/Kconfig | 2 +-
 3 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/INSTALL b/INSTALL
index eadf108aa5..fbf7bcbcf1 100644
--- a/INSTALL
+++ b/INSTALL
@@ -23,7 +23,7 @@ Xen Hypervisor
 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
=20
 Xen itself is configured via a `kconfig' system borrowed from Linux.
-See docs/misc/kconfig.txt.
+See https://www.kernel.org/doc/html/latest/kbuild/.
=20
 Note that unlike with Linux, and contrary to that document, you cannot
 look at Kconfig files, or the default or generated config files etc.,
diff --git a/MAINTAINERS b/MAINTAINERS
index ecd3f40df8..190da0cddb 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -389,7 +389,6 @@ F:	xen/include/xen/iommu.h
 KCONFIG
 M:	Doug Goldstein <cardoe@cardoe.com>
 S:	Supported
-F:	docs/misc/kconfig{,-language}.txt
 F:	xen/tools/kconfig/
=20
 KDD DEBUGGER
diff --git a/xen/Kconfig b/xen/Kconfig
index 07c4accf88..444b022699 100644
--- a/xen/Kconfig
+++ b/xen/Kconfig
@@ -1,6 +1,6 @@
 #
 # For a description of the syntax of this configuration file,
-# see docs/misc/kconfig-language.txt
+# see https://www.kernel.org/doc/html/latest/kbuild/
 #
 mainmenu "Xen/$(SRCARCH) $(XEN_FULLVERSION) Configuration"
=20
--=20
2.43.0


From xen-devel-bounces@lists.xenproject.org Wed Oct 29 13:57:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 13:57:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152781.1483287 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE6g9-0001ia-AY; Wed, 29 Oct 2025 13:57:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152781.1483287; Wed, 29 Oct 2025 13:57:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE6g9-0001iT-68; Wed, 29 Oct 2025 13:57:33 +0000
Received: by outflank-mailman (input) for mailman id 1152781;
 Wed, 29 Oct 2025 13:57:31 +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 <SRS0=f6do=5G=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vE6g7-0001iN-GB
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 13:57:31 +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 349792ff-b4cf-11f0-980a-7dc792cee155;
 Wed, 29 Oct 2025 14:57:28 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-475dbb524e4so30563175e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 29 Oct 2025 06:57:28 -0700 (PDT)
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-4771e3ace25sm50398605e9.9.2025.10.29.06.57.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 29 Oct 2025 06:57:27 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 349792ff-b4cf-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761746248; x=1762351048; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=5E1rEKjUCDH5Wjk0NxuPTVgdssow/HBur47X3j0fDyY=;
        b=X9a8fWCbz5ZkpsYxCxu6e2DYJE5rLD0wcarirYoG2mequwIxPznufJJXvXPcfgm7FJ
         mgAGeFRDkq4AE6zP/cc5JuYGqPT73GTOEwbwCI2h9RMyXI5pAaqrEMuuJ7Xi9c0NPF1Z
         4WN2e0T/+7/3isoO1NoSn3CzMiUPb9YNJr5F19BRFYMyFDQ7TuGR3xIhbsOirN0L/JhW
         YDEAMvTTnqlRl80MJGFrmtsp/BcIEnbR417+U1GKBtlMS0pVaLQzRtxZ/GVwX645n5Lt
         asjkO1G3Qe1Qvo64HbZf9drOpb8bHm6ABMpFGlvj5LWwXEk9vN61pO2sqmtjDJxU3tIq
         fWEQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761746248; x=1762351048;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=5E1rEKjUCDH5Wjk0NxuPTVgdssow/HBur47X3j0fDyY=;
        b=r+x/2TYgyOyWjXR7aq4UJxUGTV0hD7oCnyVUfEsWXqzd92cm5+WQnQeCKXpQ7YogRj
         4Ojp6GxzzG5LZaab+HEX35xygzUg3Kzsol6dWBYs8+A96axuPG2eoPE/+ENd8ggFR3/c
         KKiXhXyoeM177p8yLFpki3d6tYCY0JEdumgGWp7SYWGLKavWPQvBzArELGmpae3GjGUx
         5AE1iYTUaxG81gLeU1VXWV5qbY8MUb1RMzyK3nMTFWQoLumjSUjsDBI2EXeWwzrB2DH1
         68Wbf649IEMOWkB6U7+iLwci6QnT6pR4St+ntZo0KvH3aiRoy4T+RS/afPaFvP95njxT
         ekuw==
X-Forwarded-Encrypted: i=1; AJvYcCWmtmwGlEa3qJNQAc5e3tb657HLp14tGN+j6Tb+1UIyU+uWKruT2b8W7w4eIjAZDSfxpGZFd84ZsM4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxbF1gl6roR6H/CdN+UVIti2qwCHYHz3mBDqnXuhhF/1IcxFksM
	zmMVzJhw0pkRD3LUbcEzJrFoGBnB82j2R+6d+wVCDfh9lLBUP/ffcYDouvoXgchxrw==
X-Gm-Gg: ASbGncvXNI5tQKCsXIyeLCvgn0JlJcbMQyTOQjIIxhEhPu/30q1LSoPwO33yPCbuSfY
	tINpwvhRe4Nqy5H8wWMfeueiiG3BNE1UsdI2fL3exgm47wdZN1k6t0eOR4mFoWqIDN6VpgqJEV9
	5+wT7v1sxiGhTn7qH/P+tLe0prNmxjyT0OMyMt2LZkaQX/RiM9Q5dbMBAVlMkDu54N6lPAQdTNC
	PaEPbBM6NTKzj0/kBMCWDJkrHU84lD65MNgT9r1u2DMTPc0VC20nai5GzGhF/ltrpKASzxZlNij
	EnfzqEN9QoADEaHdC8T2QEx0pAI/Gl1C7GkF+4tBJjd/WvdTVYk/smJo3qWvP9UkjZDCYYo+I07
	oqLwxFu4RK0nNO/gsKNkW47sdie5K7aOr3BYLWvJLbeTS8FYaNHlGDfVT52A0aNdDHp4yLJVn0g
	Yg1+40Zbee21ZY/MAJ5tk8CyxBqAt0mW1FTqK8CdjPcw4jO6RIaWz8nN6oOS+k
X-Google-Smtp-Source: AGHT+IHeVUcAurJ34ix6WX8yY2+g39ljNhraLhbOpQh4C4psFUgsoL8mu5Xs0fnqK9BC08lLWToVvg==
X-Received: by 2002:a05:600c:4ed1:b0:456:1a69:94fa with SMTP id 5b1f17b1804b1-4771e177c4amr28434545e9.13.1761746248056;
        Wed, 29 Oct 2025 06:57:28 -0700 (PDT)
Message-ID: <9f264a58-9ca2-4323-8f79-edabe70a07a0@suse.com>
Date: Wed, 29 Oct 2025 14:57:26 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] kconfig: remove references to
 docs/misc/kconfig{,-language}.txt files
To: Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <6f72dcebf5dbb69e9496b7f0ef96198e9bb9f1e9.1761745058.git.dmytro_prokopchuk1@epam.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <6f72dcebf5dbb69e9496b7f0ef96198e9bb9f1e9.1761745058.git.dmytro_prokopchuk1@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 29.10.2025 14:38, Dmytro Prokopchuk1 wrote:
> These files 'docs/misc/kconfig{,-language}.txt' were deleted, but
> references are still present in Xen. Remove them to clean-up.
> 
> Fixes: f80fe2b34f08 ("xen: Update Kconfig to Linux v5.4")

Hmm, that commit replaced the .txt files with .rst ones, so maybe you want a
2nd tag here referencing 044503f61c95 ("docs: Delete kconfig docs to fix
licensing violation")?

> --- a/INSTALL
> +++ b/INSTALL
> @@ -23,7 +23,7 @@ Xen Hypervisor
>  ==============
>  
>  Xen itself is configured via a `kconfig' system borrowed from Linux.
> -See docs/misc/kconfig.txt.
> +See https://www.kernel.org/doc/html/latest/kbuild/.

Is linking to "latest" doc really appropriate, when we don't even try to stay
up-to-date? That's what Andrew's commit suggests, but I dare to question this.

> --- a/xen/Kconfig
> +++ b/xen/Kconfig
> @@ -1,6 +1,6 @@
>  #
>  # For a description of the syntax of this configuration file,
> -# see docs/misc/kconfig-language.txt
> +# see https://www.kernel.org/doc/html/latest/kbuild/

Maybe more specifically https://www.kernel.org/doc/html/latest/kbuild/kconfig-language.html
at least here (with latest possibly replaced as per above)?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Oct 29 14:30:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 14:30:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152791.1483296 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE7C7-0006np-OE; Wed, 29 Oct 2025 14:30:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152791.1483296; Wed, 29 Oct 2025 14:30:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE7C7-0006ni-L0; Wed, 29 Oct 2025 14:30:35 +0000
Received: by outflank-mailman (input) for mailman id 1152791;
 Wed, 29 Oct 2025 14:30:34 +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 <SRS0=f6do=5G=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vE7C6-0006nb-Mh
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 14:30:34 +0000
Received: from mail-wr1-x42f.google.com (mail-wr1-x42f.google.com
 [2a00:1450:4864:20::42f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d3318148-b4d3-11f0-9d16-b5c5bf9af7f9;
 Wed, 29 Oct 2025 15:30:32 +0100 (CET)
Received: by mail-wr1-x42f.google.com with SMTP id
 ffacd0b85a97d-3ee12807d97so7039594f8f.0
 for <xen-devel@lists.xenproject.org>; Wed, 29 Oct 2025 07:30:32 -0700 (PDT)
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-429952b7b6fsm26801968f8f.1.2025.10.29.07.30.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 29 Oct 2025 07:30:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d3318148-b4d3-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761748232; x=1762353032; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=nuEh6rSoksdm6ivLtSxjsQaMePIxS0YYs6/184djObE=;
        b=ggXQNWc2EOOPAozEA1e5qRBjdTeGvrrekH4saYrDp5BSJFbzh/8shZcTcRSeeaj5hC
         Npu/rtS6cyR90P0HV+56fuHl4amo1N33FDBnXcJe/B5Zf1xZ5PX0tjeIGLW0N4+A2IHX
         OvMnCG5NeQ/lM8w6wsTcxV8JXG4awZiNNR33IMwftZ9YExmjCoDFu8sliMH9YzxkwVxc
         kkbkB34Z0LLkWqeKHQY0wqjpPPPMwkGxxZwwX8FEVP0pZEv/VUu92fWaCqEP1hdcQr4L
         PfuUKbd2WCuIhBGgNr+sKHlhwpPo8PeoqEQaHAB9ZLLvItrZnCE+WzDSZ9gaZ1MC5yOT
         r7zg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761748232; x=1762353032;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=nuEh6rSoksdm6ivLtSxjsQaMePIxS0YYs6/184djObE=;
        b=KP3WDe1Q1x3iJn99vgCQiGlveFmHPgXoRQEfzMFIyNQ4DXMz/5W5lPzXq8IMQtdfEy
         EHq9VLH0Uu0PL3hCuDrnUbNapQB32PTW4+X3DM0yE205CNRsgDtYSuCQIMfV5z+jdyxN
         TZyeBu4rxIrjKe2EhVKqyyHIgglXLLZw7yX0k8nHbqjq2GO+TkcfUnF84p2JRQtuSORi
         CBZEy0izpj5OoHr4c89GlQFzFvlgaSKmzTBF8tJiUFJeK3SI7G1BWJ/K6gzwhjOeUfws
         n49PSmuJ3YsHJnw95Gd+EANuDu2ZQuHqLyxiLZgcpuLxRDu41M2ID7v4JVq5JwSDR3iZ
         pUtw==
X-Forwarded-Encrypted: i=1; AJvYcCW7m4kkvqxzuZ0AB5+tsCx13FylT6qT0iUQk+VdaWq0CniiAljvwkVvew3X+BmaoPvavSyAC+KyM2Q=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxf6Wn1DrRRJCKJh7tJb67AE+3fK6BVq7/0nv5rorECNVcsAYbT
	MMpj5yKgR8TB9l8dNPJIJy9g0BW8K19Qm3ubtfJLU1KpDURnpm6+HSZ/kN1Bw94Cvg==
X-Gm-Gg: ASbGncvZDVxP3rovrDiEt74kCWSmnksagMa2af4ajgGGv0zTH/dEyQq9rME/LbNy7i1
	Be8fG/tayJdWousxu13Oc7hqJ1QrvJXXVsvZ1/byfWdZ3w4+UiLE3njVUHSupPBEAj68vtz6Kd6
	kom2wUgf2xCk0mqLDePMJEVhu8MGuYIpX8e3V4p1IC5zb6kQBslQgSr63PMQxZpaWrM9TlzDE+J
	mbkU8xYa7QG0OtvidgnCQVW85ifa/HMnIRZQdPFdCk6LFgnU6cSL/DvNPMLpeD4BduUIzrLXea/
	moDVjnEs8/5+MmoK9/WMk6+Y/yApaGymtElHsKkCK30cVgl9boxt2vy8nf6cf70wW2ElN0wRiFX
	xRkQ2gWof3Nn/Tv8F59QRgtgE86H6+0W7kw7a3nCFOY20inmy0bSfLu7siGErtvfHrgqxjuPWvY
	Lm4u3Bxom/ezGCFOxUNfr2rHT+GJav5qdlFoU2jjn3KZsopSqdrVfyOlNVxm0iv9N1qdD7C90=
X-Google-Smtp-Source: AGHT+IFelraYl7++xRPACnzzCwqpGuVFVblwDMFoVdjAQP85B2au4khCg8N0dMcKpj6xspLUUtEzYA==
X-Received: by 2002:a05:6000:26ca:b0:429:8d0f:ebf with SMTP id ffacd0b85a97d-429aefcce70mr2777779f8f.42.1761748231946;
        Wed, 29 Oct 2025 07:30:31 -0700 (PDT)
Message-ID: <fc5af689-a46a-4f08-99d1-e568ee79a227@suse.com>
Date: Wed, 29 Oct 2025 15:30:30 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 05/28] xen/sysctl: replace CONFIG_SYSCTL with
 CONFIG_MGMT_DOMCTL
To: Penny Zheng <Penny.Zheng@amd.com>
Cc: ray.huang@amd.com, oleksii.kurochko@gmail.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Nathan Studer <nathan.studer@dornerworks.com>,
 Stewart Hildebrand <stewart@stew.dk>, Dario Faggioli <dfaggioli@suse.com>,
 Juergen Gross <jgross@suse.com>, George Dunlap <gwd@xenproject.org>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org, xen-devel@dornerworks.com
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
 <20251013101540.3502842-6-Penny.Zheng@amd.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251013101540.3502842-6-Penny.Zheng@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 13.10.2025 12:15, Penny Zheng wrote:
> Rename all the CONFIG_SYSCTL into CONFIG_MGMT_HYPERCALLS to help provide a
> single option to manage all unnecessary hypercalls, including
> sysctl, domctl, etc, in dom0less system and PV shim mode, which could also
> make it easier to support randconfigs.
> While doing the replacement, we fix some bugs on xsm system:
> - wrap the whole xsm function to avoid bringing unreachable codes when
> MGMT_DOMCTL=n
> - add missing wrapping in include/xsm/dummy.h
> 
> Suggested-by: Stefano Stabellini <sstabellini@kernel.org>
> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

Acked-by: Jan Beulich <jbeulich@suse.com>

Quite a few more acks are going to be needed; please recall that it's on you to
collect them all.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Oct 29 14:33:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 14:33:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152803.1483307 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE7F3-0007OK-AV; Wed, 29 Oct 2025 14:33:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152803.1483307; Wed, 29 Oct 2025 14:33:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE7F3-0007OD-5x; Wed, 29 Oct 2025 14:33:37 +0000
Received: by outflank-mailman (input) for mailman id 1152803;
 Wed, 29 Oct 2025 14:33:35 +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 <SRS0=f6do=5G=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vE7F1-0007O5-Gb
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 14:33:35 +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 3fa5e978-b4d4-11f0-9d16-b5c5bf9af7f9;
 Wed, 29 Oct 2025 15:33:34 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-47114a40161so82743945e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 29 Oct 2025 07:33:34 -0700 (PDT)
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-4771e3aae1fsm50207055e9.12.2025.10.29.07.33.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 29 Oct 2025 07:33:33 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3fa5e978-b4d4-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761748414; x=1762353214; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=0KPabSsjOmRk9Io8yvuUJdObdsb3QElAMBpgQFsQwsY=;
        b=cA1XUmhW6ZKJBjPPzSR2EXyVegwbCN56VTQC3FvHrASsFa2cJOQB4m5syC8MCFd0bW
         IXhSfngQzwuEwti0ThVvQDK9cINeMe5G3dcpziJD6CvtF1Oz4LtCB/UBKGUoKAV3WhNx
         mIbSV+VvoT2p/4ngq12nrhPnbv7DdnKgEF1rwqonOmSVK9lZiyLfBuWHbEfnonK2LXt8
         QHK/Eqx8jOu+kJwY3AoYAu4Vr8D6KiWjdKc1TyScIx0Y3rcbW9NBMeSsQZkVvYQxw17x
         pSerKB7/x5P51TTuBFG+gtJNfN+okRz1wJL1XyNPP3YIbsdu/Hy/bisrxvPCCUnN91qF
         Y12w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761748414; x=1762353214;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=0KPabSsjOmRk9Io8yvuUJdObdsb3QElAMBpgQFsQwsY=;
        b=HFrJtIIltZX/FupYIoiSversLQo+60YPt808XgbdDlZDbadLOIortmOQ93WFbBawYw
         usuzv/iNCfjrHhz0TRxBindWYghF/Yd9XWtT01EYtxSxCCj+fcrwVcN0KjUWg14gaV9g
         IyLPLvTMZ6wcfTWFRJkPt+InhUDng3uY7c1U2i5FWG0m5HflIm5yZBa004hnWABxFge+
         ZaY6x60F4JLke6GAs6hqa5x29HfeZSPC1hXScaEn3XyrUFOAGgdbGE8RSXb8yS48Wz0F
         8dvI5pD8Cp2jKz0yvUa177NRx+tPuey2OGT7NpDOyA4F0Q6jGUAPXpbYTykmNwQVusxW
         yPfg==
X-Forwarded-Encrypted: i=1; AJvYcCWiiMTrhBto4fa3EV2QB1t7I8r65vLHew3plP2rX251em6F6z2hctmQOzlFxxLnRJaEpt7Gk1ap4Ok=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwldUG5QcafLb82t2dgvXRzLEVoK//jOoq0hZsXgFdv6kB5u3mi
	Y+0sSTKdYxdwRiNqJXzwyIp16epIjQt5WB1nRlHVkFR8Xs0zFgfyUL+60d8CS5j4QQ==
X-Gm-Gg: ASbGncsDUWYqS7E7Mpll4TfD85z77+Ydqb8mhCSKRYu/x6Ut6/ENtHqape2TCj24oWD
	7Yv9iVi2SZmDINj2SdcLhPDX2c5Dzg9lLBqHxk4NY0uPRLkd692Dr5CJwrIHuwyCoCXKWOJfReH
	YYABeBVVrDJ06dIKZJ+TB2CdW3fT1EyDdfHKZTtoulgvE1gukRAPFhkuZCTQPGrb7pUuIZXGgEp
	UPBoHmGsmOEeLHqeZzuwi9hUc6NEJh3mNgf6JjVmOu63KZEnbGCzMaaICw+o34Bihy1AevTJVFP
	orAOANzw8uFSPEj4kV8O88n9MBPfNOgtiWiAXf4Y7hdvVubRdh7i7je+5mmekcOQkFOnXeicTsR
	HhS7loliwxl6WnotKNynv4eac2umCGVB2+mbSn45FHdh3PlLSvhlWK8I+VyINl+Lw6sQ7RIvPBs
	jLI2ipEU/6xvEbU5T2OGb+tNIyoE1IMvm1nxgsgyRvvpnJbh4g6hAywt5yocw0
X-Google-Smtp-Source: AGHT+IFWm6GKzAEesvUQ6gncDhZlAHNM8YDK8BHAFMp/h7xrTUlGvfeu+JweROdlHZZ+31JlSrCXzg==
X-Received: by 2002:a05:600c:34cf:b0:475:de14:db25 with SMTP id 5b1f17b1804b1-4771e3b8455mr35476985e9.28.1761748413921;
        Wed, 29 Oct 2025 07:33:33 -0700 (PDT)
Message-ID: <26841bf6-2904-4def-aed3-3451d5408903@suse.com>
Date: Wed, 29 Oct 2025 15:33:32 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 06/28] xen/x86: move domctl.o out of PV_SHIM_EXCLUSIVE
To: Penny Zheng <Penny.Zheng@amd.com>
Cc: ray.huang@amd.com, oleksii.kurochko@gmail.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
 <20251013101540.3502842-7-Penny.Zheng@amd.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251013101540.3502842-7-Penny.Zheng@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 13.10.2025 12:15, Penny Zheng wrote:
> In order to fix CI error of a randconfig picking both PV_SHIM_EXCLUSIVE=y and
> HVM=y results in hvm.c being built, but domctl.c not being built, which leaves
> a few functions, like domctl_lock_acquire/release() undefined, causing linking
> to fail.
> To fix that, we intend to move domctl.o out of the PV_SHIM_EXCLUSIVE Makefile
> /hypercall-defs section, with this adjustment, we also need to release
> redundant vnuma_destroy() stub definition from PV_SHIM_EXCLUSIVE guardian,
> to not break compilation
> Above change will leave dead code in the shim binary temporarily and will be
> fixed once domctl.o's building becomes dependent upon CONFIG_MGMT_HYPERCALLS.
> 
> Fixes: 568f806cba4c ("xen/x86: remove "depends on !PV_SHIM_EXCLUSIVE"")

Is this still applicable with what has gone in recently? (Overall I'm trying to
figure out whether actually reviewing this patch makes sense, before it's re-
based onto current staging.)

Jan


From xen-devel-bounces@lists.xenproject.org Wed Oct 29 14:37:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 14:37:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152811.1483316 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE7IT-00086w-NN; Wed, 29 Oct 2025 14:37:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152811.1483316; Wed, 29 Oct 2025 14:37:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE7IT-00086p-Ki; Wed, 29 Oct 2025 14:37:09 +0000
Received: by outflank-mailman (input) for mailman id 1152811;
 Wed, 29 Oct 2025 14:37:08 +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 <SRS0=f6do=5G=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vE7IS-00086h-JS
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 14:37:08 +0000
Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com
 [2a00:1450:4864:20::333])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id be74d50a-b4d4-11f0-9d16-b5c5bf9af7f9;
 Wed, 29 Oct 2025 15:37:07 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-4770c2cd96fso32535895e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 29 Oct 2025 07:37:07 -0700 (PDT)
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-429952d5768sm27385697f8f.24.2025.10.29.07.37.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 29 Oct 2025 07:37:06 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: be74d50a-b4d4-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761748627; x=1762353427; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=/yRRIrGcuncnY6hx1gaZybkKlleGbq7IYTzn47DtTQ4=;
        b=YpeBe6gBrDrQ0Ck7vzIYiz0ddvKJJYw3N4JDWMnxIcPUqxQEBBNB2HZUdRhKclHUUd
         EwZyDGMLRefJbLflOxfcFPt+TYIcQbS21juRqYx2MKx5+CnO93Dewu6nb4SvSGVwA3Y5
         PqxFkZPG4nrMoz9vwow6rmJX/WED0p0xk8dM8ljUACZgV9dj9L8dazR7+hVAwpkF6Y/p
         hwag7Z5UQxOszVgSkXQag9F/GHDm4oTsI83wR9jPCG362gI7WtQvri5VG4uMXctlwuwc
         tAUE0maXHfXa5NraCzAaX2y7jmrsPkZuXyzae3fPakDCyHg8BWcL838RIISfNhaiveSc
         rQOQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761748627; x=1762353427;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=/yRRIrGcuncnY6hx1gaZybkKlleGbq7IYTzn47DtTQ4=;
        b=AM/t3DKHjW5MuOdLWcMgy6NyhkprtIaa/go4H3YNrwURJfNPVmSmdFUHQTwgvgsaDZ
         HUuFPU1veAcT7EmIeGCSCl5HTqTIpH8wOe8ZvaxWTczwQlbM1Pa9zdhtUhkz7QuIZkw5
         BfzU0bYpXOV+ODocBPrU/rrjDUGvfCQlrLRISqR5HBw05ewisNpvAdiIvjAHuNdEELJQ
         s3hVpXVsME6F51RgFBTvrQRnfnZDiESvwyw7umRscU83/liDsufRTSmJWq3NQR/oFPB0
         65+mpoSwdjCUUMf3YQr2yzq0NaRqRgk5PNmOPrhHCJQD/IA3juFqx51ccrFC0hUpxJdl
         brJw==
X-Forwarded-Encrypted: i=1; AJvYcCXVJxXv2CYo47YzoiBPm7vehhMfgp0dfTepDxj8bfzRncSTCQdu5BqyFuASAQnKzai2v6aeUkZ23Yw=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx3gciTyOab51gh8Y9ErxKNqoXtrM/UopEaRWiRvBFdsnDVlWKe
	QwtR0KCf4H+2g+uwSJYxs4w5AM6MB/EH/Ti5uMBrp2OAMATtd8DV1V4k+0JcXp/6dA==
X-Gm-Gg: ASbGncvhiNUH4X+CnAhwf3GYUTtK5NRtxWuDw4RP3o3bFs70hyoF1RbaylNchBw+yXN
	WwtczLOqs+7CGkkhb2iJXzxu5phOqKtUqXzt5bkmW7jEf+XL/bF8buozGODi1jZfp808M2IwM4f
	bJkXuoIs2DIP4WZWrfvwdR/cWLqctffyscShRxJ++EQYdQjApeszgQUVHGx5IJR79iAmbaHlLUY
	PQntLJUnZQFmcWPu1L+xXPYkBthoxB0ooN8x9B3As2NzdgZfJ3dYDIWtvp2270gjgo6ZcOjnzqI
	PyHSP258OAgc3Ge9KYkp6HMSq7dhoqUqRlIBQm8yxo15Bn2UbwOgQZPn8EpqUZ4JdmkwO1VET0A
	HakybZ1Uzb9KcnaOfaPGb7E2RgPSKrKsgl4e6z47HQI1aGK+GHBa4zP4AUkcG+oyQPRrAX9nrSC
	27lp2Y+W0oyzGJjZRNGo9gINK9o7nrYKEFMtPb9qpaIM6k/hUO1HtHYCgOVi1Z+7Lry4c+rZs=
X-Google-Smtp-Source: AGHT+IECboWfekSlJOPwdpPVbvq3vlLqpPKhPvqic3lNk1Jgyk8ILrerJWqrwxUfYPfLyhjpWFDbrQ==
X-Received: by 2002:a05:6000:26ca:b0:3ee:1586:6c73 with SMTP id ffacd0b85a97d-429aef83dbcmr2322046f8f.19.1761748626682;
        Wed, 29 Oct 2025 07:37:06 -0700 (PDT)
Message-ID: <ed2dcaac-4434-4f21-aa75-f33a5f66d83f@suse.com>
Date: Wed, 29 Oct 2025 15:37:05 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 07/28] xen/domctl: make MGMT_HYPERCALLS transiently
 def_bool
To: Penny Zheng <Penny.Zheng@amd.com>
Cc: ray.huang@amd.com, oleksii.kurochko@gmail.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
 <20251013101540.3502842-8-Penny.Zheng@amd.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251013101540.3502842-8-Penny.Zheng@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 13.10.2025 12:15, Penny Zheng wrote:
> In order to asist in reviewing/developing disabling domctl-op patch serie,
> we will transiently make MGMT_HYPERCALLS def_bool. And it will become
> optional at the last of domctl-op patch serie, where common/domctl.o's
> building as a whole becomes dependent upon that setting.
> 
> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>

While in principle this is what I have been asking for, I don't think it can
sensibly be ack-ed before being re-based onto current staging, where ...

> --- a/xen/common/Kconfig
> +++ b/xen/common/Kconfig
> @@ -649,8 +649,7 @@ config SYSTEM_SUSPEND
>  	  If unsure, say N.
>  
>  config MGMT_HYPERCALLS
> -	bool "Enable privileged hypercalls for system management"
> -	default y
> +	def_bool y
>  	help
>  	  This option shall only be disabled on some dom0less systems, or
>  	  PV shim on x86, to reduce Xen footprint via managing unnessary

... a "depends on" has (re)appeared.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Oct 29 15:02:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 15:02:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152825.1483325 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE7gy-0003jt-Jx; Wed, 29 Oct 2025 15:02:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152825.1483325; Wed, 29 Oct 2025 15:02:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE7gy-0003jm-HN; Wed, 29 Oct 2025 15:02:28 +0000
Received: by outflank-mailman (input) for mailman id 1152825;
 Wed, 29 Oct 2025 15:02:26 +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 <SRS0=f6do=5G=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vE7gw-0003jg-JC
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 15:02:26 +0000
Received: from mail-wr1-x436.google.com (mail-wr1-x436.google.com
 [2a00:1450:4864:20::436])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 47360470-b4d8-11f0-9d16-b5c5bf9af7f9;
 Wed, 29 Oct 2025 16:02:25 +0100 (CET)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-42557c5cedcso4670260f8f.0
 for <xen-devel@lists.xenproject.org>; Wed, 29 Oct 2025 08:02:25 -0700 (PDT)
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-429952db9c6sm27292583f8f.36.2025.10.29.08.02.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 29 Oct 2025 08:02:23 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 47360470-b4d8-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761750144; x=1762354944; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=R0zvKJ+0SULg4C8IWIi4sk6bbkhDONZOC2CCcmxfur4=;
        b=G/FM4gObbE1U1BhK23enEsAPivUk55s+w9alk/p680/lcAmwjwRIQAYo34HYY0guLc
         Wbazu0A1cUI5Kj6j8R48KKGBHx2liy4AhCVhlNR62W0ST6thc/GBwo/8COi5SnrmHxdK
         bNMGA7BzP6O2ZxTfY4ndoaNpYcdiTDHOwPwmUQ9y0b5V8Eaeqa/k6M1ZPQ1OhP/67cXr
         k9AyuSAljGCUiAfzwoD8TRo8TUFwi+s4ZAviBtbED/lewRGJgbxfgRul3q+8LvPCwbmy
         7Pf0HQMnWZ4dZeHbaa4WraKbcIPfq8j7Ct2JkNTbiUAH/7eVA6FsmeQ/qstQxjf4YstF
         NEzw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761750144; x=1762354944;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=R0zvKJ+0SULg4C8IWIi4sk6bbkhDONZOC2CCcmxfur4=;
        b=kpqZeyDoxeMvSLS1qA6e5QLXoLIbDpOuFUXDkRlVI6f9ay/IxBOD8dkXWGf5YfeMXh
         BGpiDcMCnbIoPQWlu9y+L8gQf7ZV9Jkxo8GCHOHueDpjDTSOWAi8ZwwW6X6ecS1vEgl2
         3MR0esK7Pg2yQ9eMdxKPxA70JZukTyONQitvAhcbEXY45kxOSLChqX2lVeqNW5/PGmW9
         eETO+2tmAe7fvhyLola/xGyTpUQN7hF7+ypjXsL/LNvVzmcd4/lWccqYpPnm5nXN56nN
         3wpNEX9XvQ0iY/1lFQbfXrHGmHqflZj/BehBxF8M+noHSkAow7j4HXsw2j0Daq/BaruZ
         5S7A==
X-Forwarded-Encrypted: i=1; AJvYcCXU+N3YT3CAeTE0Ylfw6ULyky39tsW67Jm05B17Nu8yTUMOEzhgUYAAdGYPxJW2YdI6DHm7zyzaZwU=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yww7GpB2PyoMKfn1rZl6fKpStHCvvK30E3pm/S9Xg/NWXXt2jGU
	/thOSgKxb1hm5giIJu9rAMeIP0156D8D1tI1olzY5OPG1mBnZ4WaDN7a0Wb6WMC+xA==
X-Gm-Gg: ASbGncslbWVoY9Rq4fzuQv0CUlJIwrFJ9gk8bMWe1bFo6PQTwki1z/r9+a38VGqZ4KO
	UKUchvl3TcjM5rIKF0bbV1POGKVblIyKV0eRb9pt9MzlSVbwVTIp5hLJqjwxHBbumHfgWnXY5S3
	gUNhZI3Dk6+uDhfVWNy/dRLm0Rk5W/InaZNlJya7FL3SOBlS27rHtstZu9wmjtIQjWx0N2B+zrN
	5Fx5VSUHpUyPLpeY6kj7yck52cSZ0SAl9mgmBOTvP16t/XWusNoQ5Fts55MZ54n402ne1vyonq9
	whoYoE1eflbpSCJ0J3MPHsnvGl8zFN+cPmEt6IAfAvQRwAKZ9whwD8gL/qJMeqgtPF0OTbqGstW
	XHHUTVgv+HsD456fNCGveQJSfzxQOt79OOPfpTF3yL33I899CUG4SfnOMDfbJL2B/QyU/MEG8ah
	bSSmT9QqgMJrOojz3WeLcyFATJUE+8qliNehdkYUhXsp50/DmavrHEzZ5BJUJ4
X-Google-Smtp-Source: AGHT+IF5g09xsOvAZUJ6neBeDHyUqSvtEPagJhaDodxyEHROQ8CCBun12yv+MljP8YPfPa5svcFRuw==
X-Received: by 2002:a05:6000:2283:b0:425:8bd2:24de with SMTP id ffacd0b85a97d-429aef7773amr1915614f8f.9.1761750144215;
        Wed, 29 Oct 2025 08:02:24 -0700 (PDT)
Message-ID: <23426fe7-533a-4ffc-9ad5-a620f2ac0cfc@suse.com>
Date: Wed, 29 Oct 2025 16:02:22 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 08/28] xen/vm_event: introduce vm_event_is_enabled()
To: Penny Zheng <Penny.Zheng@amd.com>
Cc: ray.huang@amd.com, oleksii.kurochko@gmail.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Tamas K Lengyel <tamas@tklengyel.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>, xen-devel@lists.xenproject.org
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
 <20251013101540.3502842-9-Penny.Zheng@amd.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251013101540.3502842-9-Penny.Zheng@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 13.10.2025 12:15, Penny Zheng wrote:
> @@ -2340,6 +2341,7 @@ int hvm_set_cr0(unsigned long value, bool may_defer)
>           (value & (X86_CR0_PE | X86_CR0_PG)) == X86_CR0_PG )
>          return X86EMUL_EXCEPTION;
>  
> +    may_defer &= vm_event_is_enabled(v);

I think this wants to move to the very top of the function, so that it's clear
that all uses (current and future) in the function are covered. Same for the
sibling functions, of course.

> @@ -3544,6 +3548,7 @@ int hvm_vmexit_cpuid(struct cpu_user_regs *regs, unsigned int inst_len)
>      struct vcpu *curr = current;
>      unsigned int leaf = regs->eax, subleaf = regs->ecx;
>      struct cpuid_leaf res;
> +    int ret = 0;
>  
>      if ( curr->arch.msrs->misc_features_enables.cpuid_faulting &&
>           hvm_get_cpl(curr) > 0 )
> @@ -3560,7 +3565,10 @@ int hvm_vmexit_cpuid(struct cpu_user_regs *regs, unsigned int inst_len)
>      regs->rcx = res.c;
>      regs->rdx = res.d;
>  
> -    return hvm_monitor_cpuid(inst_len, leaf, subleaf);
> +    if ( vm_event_is_enabled(curr) )
> +        ret = hvm_monitor_cpuid(inst_len, leaf, subleaf);
> +
> +    return ret;

Just to mention, could also do without a new local variable:

    return vm_event_is_enabled(curr)
           ? hvm_monitor_cpuid(inst_len, leaf, subleaf)
           : 0;

> @@ -3860,9 +3869,11 @@ int hvm_descriptor_access_intercept(uint64_t exit_info,
>      struct vcpu *curr = current;
>      struct domain *currd = curr->domain;
>  
> -    if ( currd->arch.monitor.descriptor_access_enabled )
> +    if ( currd->arch.monitor.descriptor_access_enabled &&
> +         vm_event_is_enabled(curr) )

While functionally it won't matter, logically this looks the wrong way round.
In principle I'd expect the "monitor" field to also disappear when VM_EVENT=n,
at which point the order will need to be the other way around anyway (as the
explicit CONFIG_VM_EVENT then needs to come first).

>      {
>          ASSERT(curr->arch.vm_event);
> +
>          hvm_monitor_descriptor_access(exit_info, vmx_exit_qualification,
>                                        descriptor, is_write);
>      }

Stray change (especially in an already big patch)?

> @@ -2551,7 +2552,7 @@ void asmlinkage svm_vmexit_handler(void)
>      uint64_t exit_reason;
>      struct vcpu *v = current;
>      struct vmcb_struct *vmcb = v->arch.hvm.svm.vmcb;
> -    int insn_len, rc;
> +    int insn_len, rc = 0;

This is almost 200 lines apart from ...

> @@ -2720,11 +2721,14 @@ void asmlinkage svm_vmexit_handler(void)
>                      break;
>              }
>  
> -            rc = hvm_monitor_debug(regs->rip,
> -                                   HVM_MONITOR_DEBUG_EXCEPTION,
> -                                   trap_type, insn_len, 0);
> -            if ( rc < 0 )
> -                goto unexpected_exit_type;
> +            if ( vm_event_is_enabled(v) )
> +            {
> +                rc = hvm_monitor_debug(regs->rip,
> +                                       HVM_MONITOR_DEBUG_EXCEPTION,
> +                                       trap_type, insn_len, 0);
> +                if ( rc < 0 )
> +                    goto unexpected_exit_type;
> +            }
>              if ( !rc )
>                  hvm_inject_exception(X86_EXC_DB,
>                                       trap_type, insn_len, X86_EVENT_NO_EC);

... where it first comes into play. I wonder whether the initialization
wouldn't better move closer, also for the code to be less fragile going
forward (where a new earlier use of rc might easily appear). Or, like VMX
code has it, limit the scope of "rc" (requiring several instances then in
relatively narrow scopes).

> --- a/xen/arch/x86/include/asm/vm_event.h
> +++ b/xen/arch/x86/include/asm/vm_event.h
> @@ -45,4 +45,13 @@ void vm_event_sync_event(struct vcpu *v, bool value);
>  
>  void vm_event_reset_vmtrace(struct vcpu *v);
>  
> +static inline bool vm_event_is_enabled(struct vcpu *v)

Pointer-to-const please for (almost?) all predicate-like functions.

> +{
> +#ifdef CONFIG_VM_EVENT
> +    return v->arch.vm_event != NULL;
> +#else
> +    return false;
> +#endif
> +}

As long a vm_event is always a member of struct arch_vcpu, IS_ENABLED() should
be sufficient here? Or did you merely forget to add an #ifdef around the field
as well? Albeit I realize that would break with e.g. the use in
hvmemul_rep_outs_set_context(). Otoh that function (and likely others there)
should be compiled out when VM_EVENT=n. Maybe that's the subject of the next
patch ...

Jan


From xen-devel-bounces@lists.xenproject.org Wed Oct 29 15:14:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 15:14:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152835.1483336 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE7sN-0005e2-IQ; Wed, 29 Oct 2025 15:14:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152835.1483336; Wed, 29 Oct 2025 15:14:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE7sN-0005dv-Fq; Wed, 29 Oct 2025 15:14:15 +0000
Received: by outflank-mailman (input) for mailman id 1152835;
 Wed, 29 Oct 2025 15:14: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
 <SRS0=brwG=5G=citrix.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1vE7sM-0005dp-JZ
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 15:14:14 +0000
Received: from BN1PR04CU002.outbound.protection.outlook.com
 (mail-eastus2azlp170100001.outbound.protection.outlook.com
 [2a01:111:f403:c110::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e444936c-b4d9-11f0-980a-7dc792cee155;
 Wed, 29 Oct 2025 16:14:00 +0100 (CET)
Received: from DM4PR03MB7015.namprd03.prod.outlook.com (2603:10b6:8:42::8) by
 SJ0PR03MB6629.namprd03.prod.outlook.com (2603:10b6:a03:393::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9275.13; Wed, 29 Oct
 2025 15:13:55 +0000
Received: from DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9]) by DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9%3]) with mapi id 15.20.9275.011; Wed, 29 Oct 2025
 15:13:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e444936c-b4d9-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=jFCBCyrLKXrqXFbRcIxBAvo0hcmPMFK/OVicwwIJgVQ+JitaHJxSFKX2axV92kn6zLZkIp+pax6FUBylVZcddYMezKdZ71qVPx+xrkeFVXo1n3GjxigDK4IbWK4/Jk3e+1K7Pdh/+KV3XQ5J2VYzGNvWM7MKMrn5Dl0XVkWk4ArIO+wIG+JRjnDg4qcrNSqArA4dx69KZSJ5rmuExHleg9ojYr3oXWiKqalFJ1cLWe19oCMUclrW38knfKjqiMFIlmv/uvdFSoEsVkpBpyhl954ftwwggP7AkukKIeGRrzfymIcdBCHIBno3ED3BIv89CoBnLuTDSFBye74GY7gu8Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=z36N2mcgqN3bxF5mL+CWYHY7pIrD+GcGYUkwuIHCSDk=;
 b=WZ/eCWmIJmgRmlXkykiUYKxt+pV+l8d4wGWqCTGsaA4upnPKGW2beP1vRgW7rgesc1dzNFQBmx8i3NiokCmT2pnOBnp24l+66fe/wWigxkTvdten63L1nU6QlsBcf/9apI77/e3BDP/fYHtd0I9cKeXuw3W4/gLHRwyRN2F9ooDYyZPcmdwQBQe6309LnJukNzY2FZhrnxTkQui/kgWXbQu9xBKf2OnPp57/sl/JDOziNIjGXkanxY4M33o4ogUcebIka5OukEe2axRHfcqgAP8OGNhPqDR9QX85pMzgEhwfPlYfbU3Eek3rwn+xRr4Jyd1gS1hV0b8jzkz3UyUUnA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=z36N2mcgqN3bxF5mL+CWYHY7pIrD+GcGYUkwuIHCSDk=;
 b=hnJ7j8gtyedWupVngnQ329yf2CFBWeyTqXvrLznuFNRELYwSxvRIWs7+NnIiVPW4xQ7mRpNtqQeuBLBBWzOREleOafDID9Vosfi5H4CIxwNbFV4IWdiOwo4+0LSSTJtvbw1uBeVZc0R9tguCUnWnYtt1L8tpB6pXAuVFrpQ6yww=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <398385e1-c21a-41a3-a76c-be820ff4341d@citrix.com>
Date: Wed, 29 Oct 2025 15:13:50 +0000
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21] symbols: avoid emitting "end" symbols for data
 items
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Julien Grall <julien@xen.org>, Stefano Stabellini
 <sstabellini@kernel.org>, Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <6fdfd369-6c1e-48a5-8189-4999d566788a@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <6fdfd369-6c1e-48a5-8189-4999d566788a@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0556.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:33b::6) To DM4PR03MB7015.namprd03.prod.outlook.com
 (2603:10b6:8:42::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM4PR03MB7015:EE_|SJ0PR03MB6629:EE_
X-MS-Office365-Filtering-Correlation-Id: 83cb6895-5743-48b4-e6a2-08de16fdc694
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?M0NvNFhTc1Q4R1lwOG9VRmZFQ1JRT1BMbjRSZFMvVTkxWE5KNE5ocU5jR01i?=
 =?utf-8?B?U29IanlHVU5kMS8xbmZWUW1idVNtSE1qQmZ1cEk3dTExUXI5MlZDZ3pKWjZj?=
 =?utf-8?B?UmZyZVU4Zm1ZTk1UeGt3Zm0vanZtYzRmeEttYm95NmlwQkdpOHpqQldHRGJ2?=
 =?utf-8?B?d045cG1vd2QrN2hIVm0xbDk4Q0dTekNIaDZBamFzUG5rL0tGSVRXM05meVJv?=
 =?utf-8?B?aDVIbGlUQjNicUEra3Zqbkc4SEN6VFVnWmVzWXdDYW52eFRYV2JodEo2dzBD?=
 =?utf-8?B?UFYwc094VXFTZ084VmtPME9uM2V6Mm95VWgyU3o1T24yR0h2czd0aTNoanpP?=
 =?utf-8?B?bktNQ1JWWlJaSFZZL01yMHh4SS9CUXVvaXNIdndZMCtJK1VpK1JQY25ycGNN?=
 =?utf-8?B?VjNIeWNjdFBxaHA1REIyN3U0VnVIYVhIbWwwWElMUFlXQTdnT2FMK2FJUHE4?=
 =?utf-8?B?ZU9HaHFrMDZjWnNTY1BJN0ovTUJMTURleU1qYU9xYVFEZ2dwNEVwczJ0Mjhm?=
 =?utf-8?B?T2U0b2hoenZBNllJMWZFUENybklWaFBZS2RpMGgxV2lRN0lmcmJxSEZjT3NI?=
 =?utf-8?B?VjJORnJnWlU5Q0lZbHAvMWpxYkRLZDYyWGcyeEFRM3JMWXRzZnozb2FtczlC?=
 =?utf-8?B?UU1OR2txeGtneXVYazRPLzg3Mk9QRTFXWkg0ekFaanoyVFRzZmpmRXh1emlK?=
 =?utf-8?B?UXNqOXFPMGZmSU1DQjdDcEN4d051UTNxc2lQdndrWXNGZ2tscjloMFBhZ2dO?=
 =?utf-8?B?NVZ0eFdadFQ2SXVSeVkxc09XazRhdkNTaWJrbXJNa2Y4eTVsOU94bWlOQXdU?=
 =?utf-8?B?djhDQlZwc2V2NmdkcXRZNEM3bDNMV1lGZUJBdTRzUUZqWGFqYUJYaUdNcXhK?=
 =?utf-8?B?MkZSRmRkWVJUOXNOeFNXL0RHNmJpVW1zK1g0dFdycEdIUllnTE8xRjBrSG5P?=
 =?utf-8?B?ZlJZZno2MVRDUDR6RjI5b01PeUZZaURwYnRnMWRkU1NnN3NveEd1MU5YYzFR?=
 =?utf-8?B?ZUxyNUJKQVRpYVRLWnQwVmlrNU1ibG9zYW5yUmM5QTBvV25XaldWRTFLU0Ri?=
 =?utf-8?B?UXVwdVd3Vm9UVWw2YVZuUGJpcVhqTTliUzQ1U0t6K28yVDRGL0NqOEVVMlYv?=
 =?utf-8?B?NExleGszei8vSDk4eUkwTHBEamQzWXFwbXF0RTUwdnoxU0FpcUZoWnRaZnkz?=
 =?utf-8?B?ZjdvQncvS08zR1E4b1hVOE9aSllCbE9xN2xTQ3h6akhVV2J1bEVMMGEvUWRC?=
 =?utf-8?B?OEdRTVFMU0hEOWtxOGtJalI1c3FVclhuS1JnRG5EWjFOc3VDc3pjU2I4bWk2?=
 =?utf-8?B?cFMvUmNITnhOamtRM2dmbTRsYnk0SytZS1gxMkY1dTBWeHpnWGdHem5jOUtJ?=
 =?utf-8?B?U2cxVHRjM3dDOE5kVVZzNkRjcTZtNDMyQUsvYUxuQ2l1MDV2Q3EreU9NVnFy?=
 =?utf-8?B?RTFkY2lyZ3MwVFpJKy9QRitvcTQvTWZyenIyVUJkSllpRkRTendYOHpSUENx?=
 =?utf-8?B?cVVoTXVOWWpvNldCTVd5ZzBCWXBOdUNqWjBsUXJTakF0Y2FMbWlYTTV6YnNO?=
 =?utf-8?B?Vm9VQWt6SWx0b2ozWGltY1NjS3dVcGlUMCtMempyRGM0ZENubkNDUjRxazJi?=
 =?utf-8?B?YnhxSWJ1SkZiTFRHNDdQeFhxUG1GUDZGcEhieFIrK2JGK2hJcVl2K1ZUbit3?=
 =?utf-8?B?MFIzNWZydGtFaHlZQnVoTzkwMXlxbEpvOTZleTl6MVFrN3FyQm1NcTYvb2Fu?=
 =?utf-8?B?VUtQY3g2OEZLRzRFUEYvNXRLcDMydWZVZlNWdUI2VXlpaW5qWDVFb1NkU1BM?=
 =?utf-8?B?bWs4Ni9YYWJJdXFnVllGdml0d3RSY3UxRi90RGdCVUNmUTVVaU9vZmJBZ0pB?=
 =?utf-8?B?YWR4eEhCcTl1OXlyUXRkcjVkSXRnNEszN2drMjYxN0hxZWF4WGRxUDZLUnRw?=
 =?utf-8?Q?bmC9kh75BU+ixvqZO/3Enm8LZAKLflnX?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR03MB7015.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Y0pmTDBuOU1KU2xmRlQvMHFtdm42TlZoSEkwRGptdkM5T3VFTHFCRTZ4SmRy?=
 =?utf-8?B?OFRIcmd2SVROM05RUnZSSXFTcnVYRklDV21uYXNwY3Iyd2hiQ2hmUHJjNm1k?=
 =?utf-8?B?M2FSVlFsOFl0OFhMbFBZb204RlFsUlgyVGpZd0N6MHhEZmJYeURiV0ZTdGg4?=
 =?utf-8?B?YzJwOWFuWG83eUgrbW9oM1Q5akxwM2s2UkJNVHplLzlxVXpPM2E1V2cvN1du?=
 =?utf-8?B?L1pCbWNJL1pROWJYekxEYnR5L2w0S01GQkk5N3dlWWZlb2ZOS2hqbWVmZmRZ?=
 =?utf-8?B?dFJYNWsrd0xBd0IrZ0tzeGU2RDc2SkJ0dDB6RVdVOUphckh4NWVVOVo4eWhy?=
 =?utf-8?B?YkxjYjN4eXF6ZUZqUTBtZHIyUnhjNzVvSXdkUDA0RzVWNVQ3dTAxenJxS3Jh?=
 =?utf-8?B?bG01RWhEOVV1WklUU2N4TVY5U0F4a0ZmbUw1SzdJYjBHSzRHVmJMVDFQc2d5?=
 =?utf-8?B?cG1vTVFCUWJ6YWxBS0hweER4WWZqUFBJdXZyYXNrR1BmV1d4blRRUVIxWENV?=
 =?utf-8?B?bWRvVTJQdHNvM1dKdFdZRXhzNi91UUI2ZVhZcVQ2c0dubUdDMUxoakJqUWdU?=
 =?utf-8?B?M2JQam9QRmkrTXFrYWNpVERXNnIza0k2UE9xWUpLMDFKUE9WN1UrcVlIOHFQ?=
 =?utf-8?B?dmNiR2dUbTJzOUhWd0FJV2RFWXFMTE1sYkh0RjYwNFdzK0wveUVLRDBwMTNT?=
 =?utf-8?B?eFlzb1ZFQUE0UmNzVnVBSS9LbnZmRTAyTStwVnNlMlRISm5GMHVHamZLQTdp?=
 =?utf-8?B?QUpDY2ZhVk5Lc1pnemdiRnJzQXV1Vi9aWktzaU1HcENmSWZxaFc3KzZ1R0FU?=
 =?utf-8?B?ZnZ1MFYwK2FIc3ZpUjVrdllPdnpzUnJyNVRXRmlYbFNtWkNjdS9vS0d0S2xW?=
 =?utf-8?B?NWhVTXplV3RuaWpad1JZb25LWWdNdnVmUlZCMm1rbGh0NmxybUVuY21XRGJT?=
 =?utf-8?B?MGxrS0xFUWJvKzhOMTBqQ1REdmNFRmkyYlRibkJXcTVlQmhyM1FqUkdWaUtK?=
 =?utf-8?B?YXR5elFaa0dROXdrcE0ybithbmRhaWNmMFk2dzdGTzZQMnhlR1hGbjRoUEN0?=
 =?utf-8?B?Ly93dnVTaThFNFpvdUhXWVpoUGl6ZUVVQW9RZGthaDAyOVhvWjdyZkJBL205?=
 =?utf-8?B?cmRqQVZUSE52TW5BSk1JaXFPUmwzMjFJejlHV0lYNDlrRG5GSDFGOXdDT2xD?=
 =?utf-8?B?R3loVjBCOGlscDI5dWM3bkNhWnpNTi9qUFNOYjd4bStETXBKQy85R1BOU2lP?=
 =?utf-8?B?WjUrczFsZ25KN3NGblFJcjBBbWR5SFM0QVhweUtGU0RXZW1hYkQ0RUJMcTFm?=
 =?utf-8?B?bW1PMTNFNDRSUXU2cDRURVVuUDNLZ2NRVW1PU0pqRTFwS3hjOFhJRmxES1Vq?=
 =?utf-8?B?RFduTERuZjVXRVhGN01yMTE3bDY4Z3AwS1JrUkRrQUpKdzIrY3ZJRjA4TVZO?=
 =?utf-8?B?ZHFTV0RXQVovaEYvTlkxMnRGUkE1Y1RTWlZtVk1vS0R2eDNuM1BBZnA4T2Jw?=
 =?utf-8?B?cUlRTVN1ZWd5cVdDd254YlNjNUM2S0s2RnNmVTE2ZWc4WUpGQ1lydEdPWnJH?=
 =?utf-8?B?aWpJUkpnWmk5WjRmUWQ1N3p4UVpMTmlUOXhjSStVMlZ5ZVQ5VGtqRDlxV05H?=
 =?utf-8?B?cmtIZ05TRDROR1g3RVFnRVhqY05LWWhVMXNJb0tnVUZYTldkRHg5RnNuUXFy?=
 =?utf-8?B?aVpFdEFUbExsemdnOGp3NG53RnFYSDFTKzlHWVdkcTFuTE1YMzJEWFYvT2xZ?=
 =?utf-8?B?ZlNraVVIcTBPQkw0M2g1Tm5BTnk4MEl3bzhLMDVkMEtpbHY0OGdyRHVYMW0w?=
 =?utf-8?B?L0Fwdlc5Y00wZzNPR0RoZ01CTEZ5VlVSUG5YTmIzS3FsTTBORlNCbnp0MGtV?=
 =?utf-8?B?dmpwMHd4S29KMlJGTm1GRnp5aVpLOS9wTTY3VlVVcmFXK01aNVNYdTNGMkNv?=
 =?utf-8?B?Y2syOS80b0lVM2pXcVlaeDdyTlZsRTBVTDM0MXA4eDdYZm9uQ3FBeVlpZVRu?=
 =?utf-8?B?eWNXWkhYMUxlYzNEaHgyZ0w5SFJMVStWNVF1SUVJMUZ6SUlQanRObjc1U1Az?=
 =?utf-8?B?RHVseGFEbjNCYU9WdkJhME5iWkoyMGFEQmtyTVRPWkFmZlFYdjExckJUc0dZ?=
 =?utf-8?B?ek1yMElrMjEzY2JRdG03djRMc25YWXFLalQrbm9QQUhZUitDN0FMUlR0eUZr?=
 =?utf-8?B?RFE9PQ==?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 83cb6895-5743-48b4-e6a2-08de16fdc694
X-MS-Exchange-CrossTenant-AuthSource: DM4PR03MB7015.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Oct 2025 15:13:55.3028
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 9MuxdMvZ64T+UhlzK5IfE6LUTRtbwu/9t405JaNMnVoylvJn7pffFk+nPPL684RNPGjJwmMcK2BjJvv4Mr8lz+lLTXN4VzzBfs/5jrFh8Vg=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB6629

On 29/10/2025 1:34 pm, Jan Beulich wrote:
> symbols-dummy.c and the generated .xen-syms.?.S may place their symbols in
> different sections: Like for all C files, -fdata-sections may be in effect
> there. As a result, besides moving these symbols may then also have
> different amounts of "end" symbols inserted between them.

Sorry, I can't parse this sentence.Â  Do you mean "these symbols, there
may also be" ?

>  While the
> movement is likely not problematic, the change in table size is - linking
> passes 2 and 3 want no address (and hence no size) changes between them.
>
> As, at least right now, the "end" symbols are useful only for code, limit
> their emission accordingly. When data symbols are emitted (i.e. when
> LIVEPATCH=y), this obviously also has a positive effect on overall table
> size (I'm seeing almost 600 entries going away in the build I'm looking
> at).

Xen-crashdump-analyser needs end in System.map, and I expect so does
`crash`.

As this patch only adjusts the embedded symbol table, I think that's all
fine?

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Oct 29 15:18:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 15:18:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152847.1483346 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE7w3-0006Jk-5a; Wed, 29 Oct 2025 15:18:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152847.1483346; Wed, 29 Oct 2025 15:18:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE7w3-0006Jd-2e; Wed, 29 Oct 2025 15:18:03 +0000
Received: by outflank-mailman (input) for mailman id 1152847;
 Wed, 29 Oct 2025 15:18:02 +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 <SRS0=f6do=5G=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vE7w2-0006JX-4w
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 15:18:02 +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 747363c5-b4da-11f0-980a-7dc792cee155;
 Wed, 29 Oct 2025 16:18:00 +0100 (CET)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-4710665e7deso39495585e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 29 Oct 2025 08:18:00 -0700 (PDT)
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-4771e3a8209sm52520485e9.11.2025.10.29.08.17.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 29 Oct 2025 08:17:59 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 747363c5-b4da-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761751079; x=1762355879; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:cc
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=WTPQ7G8/dLYcX6seZg1ZbKS08xpwmG5ifUZeRUUFgyo=;
        b=Ko7jLAoeXD6TYfX82dP4Wkv2ojpA7yTfAWuv9dEZePBpwG7n6faOxRE7+NQnUK8Txz
         8UnZ6wYDNFvly00/QTxE76DBN7J1dA6lclP762N3sL61dNZ5VUbc+nsMq/bVCJxImGnz
         l1333O/URqyt7rEimap492JOr3qySW2GY6cbO+YgFkFURxa9Ebfmnl7xVkLHLamR/5GU
         nxFq+O3ju3RFn7cogCpebSSE+UCvmgiKX5bpO89MHFZOHaLqPOSombmiEozfJDp/AhQ7
         H/07Xvn5dL+t1JyjicLtHWWWCMoiwUL6cJTX0ratWuvla8Bj6niPBEjGJqCtZl92w+3G
         G3qw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761751079; x=1762355879;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:cc
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=WTPQ7G8/dLYcX6seZg1ZbKS08xpwmG5ifUZeRUUFgyo=;
        b=LY54KC6yT0FgPNZtebhhhHbRMUcX8UxprM7SsyrCztGK7W/GN8m8dSOc4PVmJqx3Yg
         OA81GOT0O94hjR7iCJfpBJ2xBo4i2RsbrLvslTc98mk6mm9SIeKjDTdA+1/iooTu0z8L
         agFeBR+NR/f/3oF50fCMe0DJY2ERkeGbvg1xF6/3HGi8t0Sw/3l5e1N6WKuV1ESIwkdj
         o8FQPGCflZG1rQ32Sl97VUwHY+Ei1feUd4aD+UPoKG+R5myZhzOhQyDqjfj9aW+6CNL5
         uS2p/1T95iEHELLmPwWXkA2D9IKDcGUN1tSbe9MckOqzIXMGYg4h1jIA9fxoFj6TK8mM
         ONUA==
X-Gm-Message-State: AOJu0YyJJG+STnHQRXw3Xn7X+DnsfAG1ztcuCCOW9PzpKbMXfiUF2M8g
	nSEcKdLspnEwsl+Za3eQgD5F/+fZ8pzp1Hgfh8imGZ4PyAVwDS6mB+27UYVCPn9lEckEhud6r4U
	TE8s=
X-Gm-Gg: ASbGncuzanNVpvW7G3DH+CGxucEMgHw8hgqjQcm/936sbegsOLJMv8xoccOD5EffdpH
	A2hg58vuJ94rtUsg0fUVu7yfHp+2pONw+SKaR1RrueirY4Sl8FRoaoTL7IG8ZbG1wU8Rze71Cu3
	51iuvOXgkzIGMMLEDI8vbSiCslBZgxTDQPnAzFg05welEcbqjHkbIEtB8JD4aVXXV4gAGm0pyAn
	yPPAzLDm+e61lYL0w0YD3Cj9ty5+CZqyrJaaxgEWytfsFBJBhfRtPet4SirnbsvrYfHPr3LATL+
	ryTavEAmlKWebMeYJ7NfoYCggAJ9KTH2yN0WuUE51P102PLK+3TWnEP2Xft6za4HpnHwKVp8Pjm
	2HXkfEGVoRSGVuefj/7Bw2h9rgoLkRci0KU4e6eYJ3jh7z9cb7n9a2nz8Xm1ogzVoRHpO5xFCCH
	Od5MML9jkcmLDyi4M7yMB96crOrmLTDX1z+VlVqHLIw/jLBoR9FnndjPyvN/Ma+gkle8UEJYs=
X-Google-Smtp-Source: AGHT+IEH+l3Al2rIxNdiEhx3NfXzbunyJTeyp2l7McuTkCWZNaem5yCPBK80342UKpUBEcAUoOhyOg==
X-Received: by 2002:a05:600c:3515:b0:471:1774:3003 with SMTP id 5b1f17b1804b1-4771e1e012amr33049875e9.29.1761751079318;
        Wed, 29 Oct 2025 08:17:59 -0700 (PDT)
Message-ID: <c7678044-1283-47aa-b7a5-b8334ad811fa@suse.com>
Date: Wed, 29 Oct 2025 16:17:57 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] MAINTAINERS: Remove Shawn Anastasio as PPC64 reviewer
To: Timothy Pearson <tpearson@raptorengineering.com>
References: <1669204635.4117.1761694107160.JavaMail.zimbra@raptorengineeringinc.com>
Content-Language: en-US
Cc: xen-devel <xen-devel@lists.xenproject.org>,
 Shawn Anastasio <shawn@anastas.io>
From: Jan Beulich <jbeulich@suse.com>
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: <1669204635.4117.1761694107160.JavaMail.zimbra@raptorengineeringinc.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 29.10.2025 00:28, Timothy Pearson wrote:
> Shawn is no longer with Raptor Engineering.  For now, add myself as PPC64
> maintainer.

Like with the other patch, your S-o-b is missing. You also will want to Cc
maintainers (REST ones in this case, I guess) and ideally Shawn as well (for
him to have a chance to ack or voice objections).

> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -472,7 +472,7 @@ F:	xen/drivers/cpufreq/
>  F:	xen/include/acpi/cpufreq/
>  
>  PPC64
> -M:	Shawn Anastasio <sanastasio@raptorengineering.com>
> +M:	Timothy Pearson <tpearson@raptorengineering.com>
>  F:	xen/arch/ppc/

Considering the long periods of inactivity we were meaning to suggest to
move the existing entry to R: anyway. May I suggest that you insert yourself
as reviewer, with maintainership - for the time being - falling to REST?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Oct 29 15:18:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 15:18:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152854.1483356 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE7wj-0006m8-DL; Wed, 29 Oct 2025 15:18:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152854.1483356; Wed, 29 Oct 2025 15:18:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE7wj-0006m1-AM; Wed, 29 Oct 2025 15:18:45 +0000
Received: by outflank-mailman (input) for mailman id 1152854;
 Wed, 29 Oct 2025 15:18:44 +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
 <SRS0=BbVn=5G=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1vE7wi-0006bT-3P
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 15:18:44 +0000
Received: from sea.source.kernel.org (sea.source.kernel.org
 [2600:3c0a:e001:78e:0:1991:8:25])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8d8fa70e-b4da-11f0-9d16-b5c5bf9af7f9;
 Wed, 29 Oct 2025 16:18:43 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sea.source.kernel.org (Postfix) with ESMTP id 112EA43392;
 Wed, 29 Oct 2025 15:18:41 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id E3502C4CEF7;
 Wed, 29 Oct 2025 15:18:39 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8d8fa70e-b4da-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1761751120;
	bh=HG8FiCQzX+EU7cK9tPe4j1BxP3ez+AQtVxiOKhReSzM=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=dBIIvajmYkMS1AwwthYeBDpE8tX4mDeY4FxH6yazDxZa2EhIamBmsnODvnOgpB5dL
	 zDfTb5Nf5E/piSlogioWFYIY0yTRrftWkEuTcgyoH7eBOAQ8OMJ9dudlPHrrglKusE
	 gscnHB1ZUqbXWqCua5QEyQBLx4t/tYd1oVPsNkOt8fjDLuVxxUK1afNgw9vuzXHzpQ
	 a8UrT5EVsILQ51ydXZFMQOe/dlJPv/ZqNCnuA86FuP0a2GF3mqPLuj5NHOeDkd7Tn7
	 0Pu0yW0HNZbOCp5NpEYFCg29EwMbiR3b2/FCoKmkzwFT/CdlLN7/sQL61E8EDSIZNK
	 8SW2OpYn2SIxA==
Date: Wed, 29 Oct 2025 08:18:37 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    xen-devel@lists.xenproject.org, consulting@bugseng.com, 
    Doug Goldstein <cardoe@cardoe.com>, Victor Lira <victorm.lira@amd.com>
Subject: Re: [XEN PATCH v2] automation/eclair: add new analysis jobs with
 differing configurations
In-Reply-To: <f27279b79ca914a27c80532fefda8b27@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2510290817541.495094@ubuntu-linux-20-04-desktop>
References: <1591f6a0c0f3524c4c613328293ed4e03cfc93ef.1761291003.git.nicola.vetrini@bugseng.com> <alpine.DEB.2.22.394.2510271656380.495094@ubuntu-linux-20-04-desktop> <f6dbd7a74854cab064cf7ca76c68e44d@bugseng.com> <alpine.DEB.2.22.394.2510281722540.495094@ubuntu-linux-20-04-desktop>
 <f27279b79ca914a27c80532fefda8b27@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 29 Oct 2025, Nicola Vetrini wrote:
> On 2025-10-29 01:22, Stefano Stabellini wrote:
> > On Tue, 28 Oct 2025, Nicola Vetrini wrote:
> > > On 2025-10-28 00:58, Stefano Stabellini wrote:
> > > > On Fri, 24 Oct 2025, Nicola Vetrini wrote:
> > > > > The following analysis jobs are performed:
> > > > > - eclair-{x86_64,ARM64}: analyze Xen using the default configuration
> > > for
> > > > >   that architecture; runs on runners tagged `eclair-analysis'.
> > > > >
> > > > > - eclair-{x86-64,ARM64}-safety: analyze Xen using the configuration
> > > for
> > > > >   safety, which is more restricted; runs on runners tagged
> > > > >   `eclair-analysis-safety`.
> > > > >
> > > > > - eclair-{x86_64,ARM64}-testing: analyze Xen using the default
> > > > >   configuration for the purposes of testing new runner updates; runs
> > > on
> > > > >   runners tagged `eclair-analysis-testing`.
> > > > >
> > > > > Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> > > >
> > > > Do you have a link to a successful pipeline?
> > > >
> > > > Just making sure we are not breaking things.
> > > >
> > > 
> > > No; not yet, at least [1]. Without the right tags the safety runner can't
> > > pick
> > > up jobs.
> > > 
> > > [1]
> > > https://gitlab.com/xen-project/people/bugseng/xen/-/pipelines/2117835680
> > > 
> > > >
> > > > > ---
> > > > > Changes in v2:
> > > > > - rebased to current staging;
> > > > > - fixed regex path issue.
> > > > > ---
> > > > >  automation/gitlab-ci/analyze.yaml | 38
> > > +++++++++++++++++++++++++++++++
> > > > >  1 file changed, 38 insertions(+)
> > > > >
> > > > > diff --git a/automation/gitlab-ci/analyze.yaml
> > > > > b/automation/gitlab-ci/analyze.yaml
> > > > > index d50721006740..7bd644d75074 100644
> > > > > --- a/automation/gitlab-ci/analyze.yaml
> > > > > +++ b/automation/gitlab-ci/analyze.yaml
> > > > > @@ -45,6 +45,21 @@ eclair-x86_64:
> > > > >      LOGFILE: "eclair-x86_64.log"
> > > > >      VARIANT: "X86_64"
> > > > >      RULESET: "monitored"
> > > > > +
> > > > > +eclair-x86_64-testing:
> > > > > +  extends: eclair-x86_64
> > > > > +  tags:
> > > > > +    - eclair-analysis-testing
> > > > > +  rules:
> > > > > +    - if: $CI_PROJECT_PATH =~ /^xen-project\/people\/bugseng.*$/
> > > > > +      when: always
> > > > > +    - !reference [.eclair-analysis:triggered, rules]
> > > >
> > > > given that everyone can change this yaml file when pushing to their own
> > > > branch, I think we should remove this, or (probably better) use a
> > > > separate env variable to set the default
> > > >
> > > > it is better not to use the path, I think
> > > >
> > > 
> > > That is a fair concern. One option would be to just use a project runner
> > > assigned to the people/bugseng/xen subproject, but that might be a bit
> > > inconvenient if we want to swap runners around.
> > 
> > I think it is OK to register a project runner to people/bugseng/xen. I
> > am happy with this solution as well.
> > 
> > 
> > > Another option, as you said,
> > > is keeping the regex in a variable, but this wont't prevent rogue
> > > modifications of the YAML.
> > 
> > I was thinking more of a simpler boolean variable like:
> > 
> > rules:
> >   - if: $ECLAIR_TESTING
> > 
> > Yes, it wouldn't prevent modifications of the YAML, but it is probably
> > not an issue? Also, it is not less secure than the path, because the
> > YAML can be changed by anyone. At least the variable is more flexible
> > and feels more natural.
> > 
> 
> Ok, let's use the variable and then change if we see any problems. I'll send a
> v3. If you could add the tags to the runners in the meantime, I can validate
> the changes with a proper CI run.

I added the tag eclair-analysis-testing to the runner


From xen-devel-bounces@lists.xenproject.org Wed Oct 29 15:23:25 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 15:23:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152863.1483365 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE81B-0008Kl-UG; Wed, 29 Oct 2025 15:23:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152863.1483365; Wed, 29 Oct 2025 15:23:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE81B-0008Ke-RU; Wed, 29 Oct 2025 15:23:21 +0000
Received: by outflank-mailman (input) for mailman id 1152863;
 Wed, 29 Oct 2025 15:23:20 +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
 <SRS0=brwG=5G=citrix.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1vE819-0008KF-Ux
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 15:23:19 +0000
Received: from CY3PR05CU001.outbound.protection.outlook.com
 (mail-westcentralusazlp170130007.outbound.protection.outlook.com
 [2a01:111:f403:c112::7])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 30b37880-b4db-11f0-980a-7dc792cee155;
 Wed, 29 Oct 2025 16:23:17 +0100 (CET)
Received: from DM4PR03MB7015.namprd03.prod.outlook.com (2603:10b6:8:42::8) by
 PH7PR03MB7162.namprd03.prod.outlook.com (2603:10b6:510:2ba::7) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9253.19; Wed, 29 Oct 2025 15:23:11 +0000
Received: from DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9]) by DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9%3]) with mapi id 15.20.9275.011; Wed, 29 Oct 2025
 15:23:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 30b37880-b4db-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=t9P0K/daelYqwR3K60DOcYN0kaTFyI12ziZLym78SIPCe3SvVyjXOiiz3+93oykkb7gRJ+7AGCP5BH/s/HpBHr9Zt0l1Pn38NxnRflfZ18VrUQbQLpQyH7IFnQb3mnYny6aO+E+ndi/jajmxxmBlUlmuAj3hLGmFHjgTh8cjN0+tuM1tTUbzNAdXLSZ0GGUcTREPILdMKMA69mEUI3NT1SlfRGdNB7EFqh8GAI2qZaMZRimoCAGPLo60FmtLPaoYTRXXMC/Q5Uc1n72DVYfy7iHHQtiJMEpXG2xwuV/+kZvCJJfKLNiFPdiCP1Psvz/47Ca27CP+wJPcHrmP8WcTkA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wqaUHzyP6hHK6DvmB+UG7YTitAaWR9N1WO7g9OvvNtA=;
 b=QwN7gABYPvNlZbonPNg1NW41zgKrZvudkq3X2XHPGOUhDIBIqK+B5K7jreuujOLD+Y2Acfw7EFjNLQXJOXBS6rNjvxbtiysqmQYUF4DM3Okb9stub/VMG07YLtnop3tSh8IislU7Swl124dUJVt8Pzd53Y67raxQONV04vXWC8UqQRfP2rK30Zn9iEjmEGhgZfnCD7AopCQ3TUYedCuZ7ej41Th95umllx2K2+paNw6ScWqsIJKGq8hiYLffvWa3DxZSTLbLZB957dTqtWP171Fw2dB/dEM5Ld4C1kWLiEtKIl3GR9eJcgsM4BLpQXZygI2GagdESMMVDSol/AReAA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wqaUHzyP6hHK6DvmB+UG7YTitAaWR9N1WO7g9OvvNtA=;
 b=ubuwXFH6CO7ykSKoVJv5DOpyAgaC1TdakScDDmrexcV9JQvpjOlN4udn72Ls539/iwCh5VUbN2nSE1tYkNkWaVHTd8HFvn7vrtV/aO1JXlWS5+kqg2JiMLQEsQz5VdpyBFTaXFpVLF3CzSKJO873mcG7+evE/n8DC5QEPATGxa4=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <51be9c37-2102-48f6-a135-a079fec334ff@citrix.com>
Date: Wed, 29 Oct 2025 15:23:07 +0000
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] MAINTAINERS: Remove Shawn Anastasio as PPC64 reviewer
To: Timothy Pearson <tpearson@raptorengineering.com>,
 xen-devel <xen-devel@lists.xenproject.org>
References: <1669204635.4117.1761694107160.JavaMail.zimbra@raptorengineeringinc.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <1669204635.4117.1761694107160.JavaMail.zimbra@raptorengineeringinc.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P265CA0263.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:8a::35) To DM4PR03MB7015.namprd03.prod.outlook.com
 (2603:10b6:8:42::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM4PR03MB7015:EE_|PH7PR03MB7162:EE_
X-MS-Office365-Filtering-Correlation-Id: dba02c06-b1b1-4e61-1de1-08de16ff11c2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?amFyMUxJQWl0ZXlveFR6QmczWU5Rb3VXZWZSWm9razR4MkV1ZitCOWxmek1Q?=
 =?utf-8?B?c1ZMYW5ub2VSYjFxZldjVFdUSXVCY1FPN0pBQ0pZNngxSlVsOEo3eTFWUlpk?=
 =?utf-8?B?MDg3ZkhPM09pWW5URVFEdHo4dXp4aUpWZnNlaWxDa1R3RnNMYWsyWjl3cmll?=
 =?utf-8?B?TWpsNzFvUHZOZG9WQkthUXdydVMrYzk5aFg4R2ozZlViUk9uUU5JdURsRUJ6?=
 =?utf-8?B?a1E5T0tFM0hwdi9GNDlUNFd5MnUvSWlNZ0loQVdkSW5oRnlESHVWVXpsK2RS?=
 =?utf-8?B?MW5BZytyc2RKcVIxU1lWc0d4MnZONUI0Ty9zbDNnR3Y2UWZtOWJ1cWRaUkVy?=
 =?utf-8?B?R28xVENmMjJLNXdVWmtVcFQ2VkhnUXJyYzY4OThUdDFMUk44TWtFLzBQaUV0?=
 =?utf-8?B?WTZIbkZzVWpzTFlqQlE3VjJ0QmxqcnFSazh1cjNBUWJlUjNpL3Rzbm00N3Zs?=
 =?utf-8?B?bDc2Y3Z0TDdqTWdSektjMDU4eHVGZGxnZWhES21hcmNISDh4ZHNQamt2aHRn?=
 =?utf-8?B?WFZ6Nk9GQlhxSXJaaGxtWmY4eC9kZE83a1A5QVpKNjl0cWhDQ1lWRFZBeTFy?=
 =?utf-8?B?cUhIa3RvbXlWZmRSK0l2OWdnejFRcGxOTzF5bGhnL0YzRmp2NTZ3MGtiRmZp?=
 =?utf-8?B?RENBaGRoN1I0SVJOREtTcDFyajJzNDlmdytocUJTbzlNYUg0T0Yyb3RoNEhu?=
 =?utf-8?B?b1FhQmZ5aXFkNWVGRlloSWVnem85TU15Ty8vRDhiWnRKOW93anZsYkJrRWho?=
 =?utf-8?B?ajBYdjNxampnYjNQbzdXNkkxTVd5WXVjUzh1aS92TnZTaXpmUGR5VHJRR1l2?=
 =?utf-8?B?RXI2eVdwbmpQd0V6OTRYbEM5d3BkTWRqVDQ5U08vRk9Pc3ZreVNTRTI4RHpu?=
 =?utf-8?B?UUZuakxESjFBUGhweDZnaTZWcC83bFA0U3p4L3MvcTBzUC9QcHA1L2Y4cURC?=
 =?utf-8?B?bDZKNXNBd2x5NWlDSnIrdk9BMExHeVZoaEQ1K29YOVV5WGdDeWNlT3dpWDlk?=
 =?utf-8?B?amVTQzlhRTl3KzVPYlZqRGNmbHhhUDBZNjJxdER4SmpvR0RUMElIL3BHTVl4?=
 =?utf-8?B?NDRlazJGdTdWbWNHd1FjbFpHZGpRekF6UElHTDBrRXRlY0FrRlJOZ0VOSzlU?=
 =?utf-8?B?RGV3QjRHOUwzNU81US9aVVR0ZG1RSGtCM3JrUUdLajl3Y3lMTGVEOVlZVWRp?=
 =?utf-8?B?eE1iYlE2SklmOUNJcVlISnVhbC96WHF3ZFp6YjFKL2EwWGdZRW1yc2pRaU1E?=
 =?utf-8?B?MGx3NmQzRkJGR1hBdVZKTXZVUDZXSFdUQmZHV2dackRnVlVySzlrZitrY1Fl?=
 =?utf-8?B?V3N5Q3phK0Z0dmlyQzJFa0ZCdHNTUzBsZVZjcy9zYlNtY0Vhb0wwWUNrMlU3?=
 =?utf-8?B?WGdHdktTNFhNOWJzUUtYT1A1cXFHR3RhWG5xTHVZMlhnNGgwM242K2ZJTWtQ?=
 =?utf-8?B?YkRBTC9rVmcvTHNxTFdLSW1QOGtRSVlyd0tFQTZON0RFbHFMMTRVbzVOVDVm?=
 =?utf-8?B?U1NWT1VGT2tURksreXlVMVpOd05VTGQvWFIwMjVJakxJZFB1c2FyYUlMNW95?=
 =?utf-8?B?MklzamZsc0dZMTN6RHNtOThlUXQyaHRXYS9yV3NFcFhMK1c0Q3kzRWVhSTkw?=
 =?utf-8?B?YldYeS96eElPZUNjc29iWWIrQTFNUmNYRUhsVy9UOTU3Zk5YNmJEZWR0Y3g1?=
 =?utf-8?B?ZkZGbllZUnZ2NTZQeXRWb0ZJQ2ZJdksvODA2OE5iZHJybkRTNmdVUmlZWEFl?=
 =?utf-8?B?ZjFCaGZPZHFTcUNTQ25FNjNxdGQvOS9GRTFocW9YQlpTRFhDYTBtUmZIcTI2?=
 =?utf-8?B?cWhvZXdVUE0rVHU3OU1kc2Vkc3lkUnV5L08yU1RvbUZ1c1BheC84blRoUjdy?=
 =?utf-8?B?bnNJMkNVRGt5SjhsYWxBQVBZVmhIbjlKWDVkK3RUTmJFTUlKb001bW5GeTQ4?=
 =?utf-8?Q?j97nR5LzEeBYIAbp84Ty1MNeayuyPz2b?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR03MB7015.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?L3BjamEvZkhuWjJRZUhOdjNLZG1OT3hNSXZWaVA5aGNrbUVlOU9kNHUwbGYx?=
 =?utf-8?B?bGQ0eTFoYW8rZko0aWhIeFJrU2t1dWtTb2ZFZklLVVkvb3NWbjJLY3N4ZUVK?=
 =?utf-8?B?ZFZuRUhUbk5qbzUxRmQrSVRyNE41NkxHR0R6WUpmb1VzVThzeWlXSjAzVEFK?=
 =?utf-8?B?QVVEZ2JYalZyMjNrMEJqNWFuOWluczRQWmlVeDZtL3cwbDR2dUZIY1ZaZXlS?=
 =?utf-8?B?VTZCUFRBRXNnUlp1VzNLSTVGcVZnVkFRWEFybWF0VUxRbmpRSU1RR2NjTm9F?=
 =?utf-8?B?MDFsMDNkaGlONlhGWWZsbTdmYVpnN2s3YzF2UXd1aXRjWnhwR0JIbzY5ZG4z?=
 =?utf-8?B?d0dZR2FDeGQ0c3B6OWhmZmZDcWR5bForMEVtU2FXWFVVbnBUVG9DZWVpR0NM?=
 =?utf-8?B?cEt4WFNVWThlNVQwdHhUYzlhRVAvWExIR3l2Si9oanE4aHR2c1lGNVlhU2ty?=
 =?utf-8?B?UXV6bXpPRmxkT05ES3hnNVQvMTBJVmozWlk5QXFLUnR4TnlKdTVNOUlHei9N?=
 =?utf-8?B?a29teVRtbFdXT2NRRTMzMHRLYnRVZTMwYk8zYVVyc0NGbEhEcHc2S0N1aVQ1?=
 =?utf-8?B?cmlVcnozT2RRaGM2K1dLcEd2T3pqLzhUVDlnaXFHNFVyczBpZVM2TTBxajlO?=
 =?utf-8?B?VU1NMGdVejh2ZTBUdkVZNEN1Zm80blQxbjQ4YnBvNlBqNFliRUNvMEV3K1Yr?=
 =?utf-8?B?M2IyM0ZJOHg3MTUrVUF3amNrSWdaUXhHdDk4MndwcDkyeG8wVS84dWlsTmVJ?=
 =?utf-8?B?RVc2SzJmZXBKTERBeVVDWGdsSi93MkliVFhFdXQrTkpieEYxdnpXUWlHMVd5?=
 =?utf-8?B?YW1BTjg3MWFXWWlLSVBKbHd4akZZbjF2QldxMDZGaGRST2J0M1lYWU5BemY2?=
 =?utf-8?B?aVJsTUxhdGd2OXpTcERramNnVUFQZmZWcWNESC9pdng4cHVEbWQ3bVlpUGJj?=
 =?utf-8?B?ZXZEU1ZkVjRrcjhVaXh2OUVZL2xReW1rb1lqSGJvRzY3VTh1VjkwT1dnNGo0?=
 =?utf-8?B?dmZsTFlDY1pRckw4aUxXU1V1NWFJcXl6NEhIYWozUlRvR08vTUpPMDFYbmtI?=
 =?utf-8?B?OWEyZlE1QlZUMGhPdzZyeHZPZVhkMHQyWnMxOFZXS1R3M1JMWFZVNVppRy95?=
 =?utf-8?B?ZndXdEN6UjJWVnlibEF6ZlQwNm1lZmZVc2c5RklZSDVERks1QlZ4SFk3dkNO?=
 =?utf-8?B?OFV6U3E1M3YxT0pXblhXcmV5bWJtSG5mMkcvb0RqSWVXcmhmb0RaWUhXQ29F?=
 =?utf-8?B?N0hiZ2VEYWVaNEFzdXlGQXpVTW9ZZkFGTEVIbEFUVHBpalhtZjlZdnU4WkI4?=
 =?utf-8?B?SXNTUk13VjBOR2tOM3FoY2RDTklzTmtycjVvaFRaTW9GcjV2VU1rVzRtbERa?=
 =?utf-8?B?M215OHY1b25Qcklpem5IUFRIUFBoczFNdVRiSkhKRnRvY3NUNzhqUHRiL29l?=
 =?utf-8?B?dHRIaFBieXpCMjhrUTM4NDFMRXFNamhZTkRHZldNRzNhTFZROE10VDUyZHI4?=
 =?utf-8?B?QnhLOXBiZjZONjg1bS9ZN2Rvc2d1bk5pQ0ZSQ2o1RHl0Q2RXd2tTa2lzVEZ1?=
 =?utf-8?B?V3hlcFo4dmtsY1lEZm9Hb1B4a05DVHl0bkJQZG9jZG81ZTNCSXkxVVhSQ3hX?=
 =?utf-8?B?cTZ4OUl5eTFZWTFLbXRyT0liejE1Q3JJVms4ZEgzeTBuckptZlgxcGlOY2Jp?=
 =?utf-8?B?VndpeFZ6R1FuOXg3eDhrZUdCaHc4RnZndXcrNkh1bnZLMDBGUWF1MWVhbFZ1?=
 =?utf-8?B?Sy9lczNEdTdwUWhRU0hKZVpMdnpwd2hkTFQ1U2pObFpCdk44RVVkdU5TQUxx?=
 =?utf-8?B?TSt5bTZRT3RVYndHZi9LZmRwazRKYTl6eTJ0T2U4b2NmRXBtcnlFS1RlUEpC?=
 =?utf-8?B?Qm43aGlOUER6TVN2R0FaTGhFUnZ6clJhWHJjdklHSXVNRkRXSVIvSHNyeHZm?=
 =?utf-8?B?NHZJVzZQV0NWWVUzUHdrSFhEZjlkNTY2MGcxZCszWnFPU3hlbnZLS3BsNjVs?=
 =?utf-8?B?T2hETTZRZmppenZzcmo4MXBNZWtnNXMwTmdPcUY3OXhLbzVJUmpxTUE5RzNo?=
 =?utf-8?B?SzJKNGtsMVpEZDVtci9ZcDV6dGphS0xOV0xwZUVaT3pmWERMNjlEOXdJS2dw?=
 =?utf-8?B?SXBMekY2eDUxUmpGbkhTajVyc0h0K0xxUEZUa3BiZlZZTlViR0QwWTd1TElx?=
 =?utf-8?B?eXc9PQ==?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: dba02c06-b1b1-4e61-1de1-08de16ff11c2
X-MS-Exchange-CrossTenant-AuthSource: DM4PR03MB7015.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Oct 2025 15:23:10.8565
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: JEN3u144PCMVh6BDM28fqiDbwYd6d4eocTGRrLXpbmUmOCgaggkDf5W6lk7h61dThJnogG0YlOzxXhbSV3YkOQZw2kJ7vlolLS+IUEwa650=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR03MB7162

On 28/10/2025 11:28 pm, Timothy Pearson wrote:
> Shawn is no longer with Raptor Engineering.  For now, add myself as PPC64
> maintainer.
> ---
>  MAINTAINERS | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index ecd3f40df8..c8764a8c5f 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -472,7 +472,7 @@ F:	xen/drivers/cpufreq/
>  F:	xen/include/acpi/cpufreq/
>  
>  PPC64
> -M:	Shawn Anastasio <sanastasio@raptorengineering.com>
> +M:	Timothy Pearson <tpearson@raptorengineering.com>
>  F:	xen/arch/ppc/

Sorry to hear, and thanks for letting us know.

For a long while now, the committers (the group called The Rest in
maintainer) have been operating as if this was an R rather than an M.

It turns out that most changes technically touching PPC are common/arch
rearrangements, or common things that need a copy in all arches, or
comments fixes/etc.Â  We've been putting these in without a PPC ack, so
as not to block work in other area.Â  Obviously, anything that is PPC
specific waits for input.

If you're not aware, we do have some PPC64 build jobs and one QEMU boot
test in CI running on every commit.Â  e.g.
https://gitlab.com/xen-project/hardware/xen/-/pipelines/2127184050

Would you mind changing to R to reflect how things are working in practice?

Also, we're in code freeze for the Xen 4.21 release right now.Â  This
patch will be fine, with a SoB, but the others will have to wait until
4.22 opens.

Thanks,

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Oct 29 15:24:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 15:24:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152874.1483375 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE81z-0000Oj-5j; Wed, 29 Oct 2025 15:24:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152874.1483375; Wed, 29 Oct 2025 15:24:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE81z-0000Oc-3H; Wed, 29 Oct 2025 15:24:11 +0000
Received: by outflank-mailman (input) for mailman id 1152874;
 Wed, 29 Oct 2025 15:24:09 +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 <SRS0=f6do=5G=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vE81x-0000OO-Ki
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 15:24:09 +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 5027a4eb-b4db-11f0-9d16-b5c5bf9af7f9;
 Wed, 29 Oct 2025 16:24:08 +0100 (CET)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-47721743fd0so4849465e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 29 Oct 2025 08:24:08 -0700 (PDT)
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-4771e222ca5sm56827985e9.15.2025.10.29.08.24.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 29 Oct 2025 08:24:07 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5027a4eb-b4db-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761751448; x=1762356248; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=3KKUpRsegBQyQOw2Ndw6/gWUDRIf/NOiDOKyEMcTvoE=;
        b=bn1uDulg1npsp8tJOQofM7w9qVUC3HeEh9/Y3cs9ONsn04j6FMjOhFZW/xcfVXxb3p
         veVWuh8a5fIXuHti0PXoDQgVWsvZe7XYpKVa0o5A0/WAVfEakwzT6ACyRv4fMAVJ4Bqe
         3w0P+O9AkAMe3LUiYRZYd2gQ3T0qwaV3Go4UxNbB5cFjeJ8RZLTb5MKg2c7eBnKZMflj
         2xoWiiPzB1wk8u+BpUSxK1KRdoITRsKQGjbKNYDfcZNTNucLKSY8pQ9YHrSvjS0bxRHi
         9xfn7QyvftfxRqqmEsgdYCG7QdmgM3uJcTV6203iUshK9PqnTMG7GIqyEEADSZx3YKk1
         JTEg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761751448; x=1762356248;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=3KKUpRsegBQyQOw2Ndw6/gWUDRIf/NOiDOKyEMcTvoE=;
        b=P1SF3otE4YALQxYLSV13+fMma2X/vD1BtjE7sWzseBeymU0WKkQNdq8goFaowtmBb6
         rH3wxMXyFHFQ4kJJzm7XqLIOqb36dCur1w9qq8dK/Qi0UzLAol8lChC2xltUvhYvJAr4
         6afL26ziF47rAIb5UhTDm+EAHasfqAAB5u/PMtlRf4Zugv4dzXEjfpo+cC1eMMrYc6Xm
         dZSa+qsLigMh+GX68sK9WaOKbnQT59NZcLQTv1Hq5aKe7iMcoNzY5sl7Z5YHtbQKTuj8
         nDpSPOCqOq+JuhnUo5GLFylqnV4XBylLaUd6FXZ8/wQllV81MHSu1FeaD2ttvP6YS4FC
         j34A==
X-Forwarded-Encrypted: i=1; AJvYcCU5t8W9yo58Zp8LYOsEn02ou6QDmQ0fOZJXLgQYa8N/3AAE91nSzYNElTBlZRp/uwZfHOdXPY1xmqc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzIoJ8zbSohuKvyFX791e4uGL0ti065JEKaeolzEBQOblE2uQ/+
	LgCUYfCc48aOQURkamK3OcNGecMTAu1GVyOMKmfDzZgLg0IeJ2jRA9PwJfi3bOH9XQ==
X-Gm-Gg: ASbGncs4FIp83jK+f9b70X9YGsQGradJo4gib5G0Dt/z+6p0+SPJQ85IQNZKvY1AErz
	QbEzIXk0+uywRKBFpYG4e5SwTnHEj5K7X8UqsO/2L7PEH8j9OtR4bQOUheF4fksUvuknl3pHWRz
	EHmqATVX8CWbVGwguPDUKj4/ZBnjubP0sawAbqXhbcHJO2g0x/ZXzQ3PKh9c92qnuVSgbjNOr+F
	3Pp+sdIOqH7ekDfkO+R9NJapPM3ZB69UlEpZp0MnYR4cPp5E4plcuZcGQUxtoFI/jZN944rdOQe
	04L2cCBNFHH4PXSz9r8GYEO2i2z49Grc7lQer4cUB8B354fnt1opCw09sbvQFtrePGEiN39R5Mh
	jCVFvXRgXUxeYxpBQ2kIABSkq2HeIFp2nNCnp3WsKJlNA+ZSAsLqiRAyTNLILiHT8a+whcRvY6V
	IAm8tPaglGBProdu+lLLjYEsSFPS8qQh5lAO4Qbik2kK3kzPIuQ1l/KNYmsA1EH6cTlNItWgQ=
X-Google-Smtp-Source: AGHT+IH75uIJVJnDCMUXEOo7evOY9aNKJnEA56PRjND+5Hl3lX769Y+v45z2JrW/hCN6qb2n8Gnh6w==
X-Received: by 2002:a05:600c:19d1:b0:46e:5100:326e with SMTP id 5b1f17b1804b1-4771e21ed74mr32570625e9.23.1761751447889;
        Wed, 29 Oct 2025 08:24:07 -0700 (PDT)
Message-ID: <a67fb756-e8d3-4b97-a12e-e779add1d98b@suse.com>
Date: Wed, 29 Oct 2025 16:24:06 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21] symbols: avoid emitting "end" symbols for data
 items
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Julien Grall <julien@xen.org>, Stefano Stabellini
 <sstabellini@kernel.org>, Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <6fdfd369-6c1e-48a5-8189-4999d566788a@suse.com>
 <398385e1-c21a-41a3-a76c-be820ff4341d@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <398385e1-c21a-41a3-a76c-be820ff4341d@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 29.10.2025 16:13, Andrew Cooper wrote:
> On 29/10/2025 1:34 pm, Jan Beulich wrote:
>> symbols-dummy.c and the generated .xen-syms.?.S may place their symbols in
>> different sections: Like for all C files, -fdata-sections may be in effect
>> there. As a result, besides moving these symbols may then also have
>> different amounts of "end" symbols inserted between them.
> 
> Sorry, I can't parse this sentence.Â  Do you mean "these symbols, there
> may also be" ?

Oh, yes, I screwed up there. (I think it read half-way sensible to me when
inserting a mental comma after "moving".) Really I'm intending to go with
"... besides these symbols moving, there may then also be ..."

>>  While the
>> movement is likely not problematic, the change in table size is - linking
>> passes 2 and 3 want no address (and hence no size) changes between them.
>>
>> As, at least right now, the "end" symbols are useful only for code, limit
>> their emission accordingly. When data symbols are emitted (i.e. when
>> LIVEPATCH=y), this obviously also has a positive effect on overall table
>> size (I'm seeing almost 600 entries going away in the build I'm looking
>> at).
> 
> Xen-crashdump-analyser needs end in System.map, and I expect so does
> `crash`.
> 
> As this patch only adjusts the embedded symbol table, I think that's all
> fine?

I think so. With "end" (quoted) I never mean symbols with the name 'end'
here, but rather those that tools/symbols injects (as unnamed ones). No
symbols with names (including ones named 'end') will be affected / removed.
(I think though that it's '_end' anyway that you mean.)

Jan


From xen-devel-bounces@lists.xenproject.org Wed Oct 29 15:47:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 15:47:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152892.1483386 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE8Ny-0004X3-VH; Wed, 29 Oct 2025 15:46:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152892.1483386; Wed, 29 Oct 2025 15:46:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE8Ny-0004Ww-Rz; Wed, 29 Oct 2025 15:46:54 +0000
Received: by outflank-mailman (input) for mailman id 1152892;
 Wed, 29 Oct 2025 15:46:53 +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
 <SRS0=brwG=5G=citrix.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1vE8Nx-0004Wq-P9
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 15:46:53 +0000
Received: from SN4PR2101CU001.outbound.protection.outlook.com
 (mail-southcentralusazlp170120001.outbound.protection.outlook.com
 [2a01:111:f403:c10d::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7a72537c-b4de-11f0-980a-7dc792cee155;
 Wed, 29 Oct 2025 16:46:49 +0100 (CET)
Received: from DM4PR03MB7015.namprd03.prod.outlook.com (2603:10b6:8:42::8) by
 LV4PR03MB8306.namprd03.prod.outlook.com (2603:10b6:408:2d9::7) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9253.19; Wed, 29 Oct 2025 15:46:46 +0000
Received: from DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9]) by DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9%3]) with mapi id 15.20.9275.011; Wed, 29 Oct 2025
 15:46:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7a72537c-b4de-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=oGWLKsQkYwAPk/wtzgZI/wJvKjWeO/MlWWCuOyHWbETUMwJmAzhomsKhbJE2PcQFzssPgOhXj8JpuauR6EctsZvAaZE6RtOUP3VaJhTzFGOXi8q09ja5Ichk9aAZF4XDnuj4e6rMRyIioinA3eEeqnxVwmd5KA1SJC9GScaMmcK61UKxea5689F/t7foOekGQNq7Gw5HwYnYVrEv4Qk86CrQA2RNln9vcJuHlcoqd8uFa+6gCbI9SrxKq0PwCLKyyW7Ho/6HlvBY+0CAQu63FrH07fW2zHdpRwcAmAE6y0bdBoreckaMNCuSa2Odf9lOOkNr/z/mFWurMf3AW3P6eQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PwTUZqOVnz7g9NgDUa0VcR7tpC4eF9Zj01MdhJRW7BA=;
 b=jDWhMUgU8pS1wkooSmkUxPxq8FBDvks5+BTD3WXeuTeNjRQhSawl1DCrATi6+Ek/YKsBgoSu74liGlsCO1ZLFjh7ihsLPhmeGjEfhSOFqNAqR7yVar/eDOoDHRENWhr+6KJ4+f+1Mt+bh8yOAueu0/qEFp71V8nVJRxMA/zYMbFAyhY2AmBnIeoulm+03dPZi7XGmsxBZr3fe+H1Z3QoXeOPzOwQqLF1qm4wQ3ax2JUwdvo4Klswtf6WghMkpU/nSSh/KMvudaxjgvNSwVDRVWwItHbhNzKzuLCJv3Tu3KZc39ZiYfN6GtvpYrt73tI+LKMGUxUPgTirvzUwt7H5jA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=PwTUZqOVnz7g9NgDUa0VcR7tpC4eF9Zj01MdhJRW7BA=;
 b=LB3yuHy5wE2UxyB+lzt0N9Q19N1aHOP+wFj5NPF/d/OKFQzxupwKUotogSWox4eEd9kRyZoD41oBBKUszky/wD/QD4UOXz1G+wtvXvt2bR01eM7ZRPOvzNG8hJp/BTc2UuvV7jXHG4sh+F9MCWQ+31y0r+vE9W1MeNuwgVRCB88=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <62f90575-ae77-48d1-8888-fbb7db69d591@citrix.com>
Date: Wed, 29 Oct 2025 15:46:42 +0000
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN][PATCH] x86/hvm: move hvm_shadow_handle_cd() under
 CONFIG_INTEL_VMX ifdef
To: Grygorii Strashko <grygorii_strashko@epam.com>,
 Teddy Astie <teddy.astie@vates.tech>, xen-devel@lists.xenproject.org,
 Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Jason Andryuk <Jason.Andryuk@amd.com>
References: <20251023151903.560947-1-grygorii_strashko@epam.com>
 <eaf5e6bd-e7b8-4a3d-8b5b-33d1a9630619@vates.tech>
 <4059d1dd-4e5a-429c-96dc-e7d81f4af7ab@epam.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <4059d1dd-4e5a-429c-96dc-e7d81f4af7ab@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0577.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:276::21) To DM4PR03MB7015.namprd03.prod.outlook.com
 (2603:10b6:8:42::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM4PR03MB7015:EE_|LV4PR03MB8306:EE_
X-MS-Office365-Filtering-Correlation-Id: 79274967-dcb6-43a6-16ff-08de17025d3d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?WTNBYjIxb2djNXlSQ3IwMjVYZGhhS0l2ankxWXlDajFYeVZEeUJBcytjUU9h?=
 =?utf-8?B?d1NZYTJuRE9wL25rSXFWTmZJdVp2YzlrL0l0aTJuenNGd3k0L3dIZmVOQ1Vu?=
 =?utf-8?B?ZFhpZkMwK3E0Sko5K000THVjZWZGb2xYNkFkV2tNL3JXNnJ4Q2dtSjBUajZo?=
 =?utf-8?B?SmVab0dTZTNtUloxNFBmb0ZSYjdtYUNsZHllby9xR0dKV0U3dzJRSmNVbjF4?=
 =?utf-8?B?TFRkMVMxakh0R2lOWVhCL0g4TzJWRkRaVkVpU0lWdk82QlpFTEkxUnkyZGI3?=
 =?utf-8?B?S2E5RXVLc0lXZ0xIZE40OExnb3F1a2NUMmNxTEI4OHBqRFFnV0o4MElsTkUv?=
 =?utf-8?B?aG1rOExMdlAwbkdIaUtiNkszRUUyWkxFd1R2SSs1TkVhK0dVUG9uSkdKMXRm?=
 =?utf-8?B?Z3I5Zy8rdi9NK2IxS0ZrbGRDMHpWb29mTFdZN2VEMnpDdUlJRW5DWStyMW80?=
 =?utf-8?B?dS9YenFiRnJsdFJ6OCtEQUdhWHZnVm5KRDlkNmlRbXBuLzFKY2o2bWdLTmkr?=
 =?utf-8?B?OHdUZVZFZkNrUDkxZXpRNkREQytrWGlOWUNTWnVnT3NPMERhTEtNc1BuSkRt?=
 =?utf-8?B?aWxUZFhISDVhUzdxK1NiUEVyT1N4REtxaUcvR3hYb2N0SXBxS2lleXNUSTRm?=
 =?utf-8?B?ZDRrdGsyUFhkTWtaLzFqSE9ZWldJNlNnS2p2TGVtR1htUXdib0tzaGd1L0hl?=
 =?utf-8?B?WlRJc3d1UVprQnY1ZnhFdklVand6YTZ0aWNvcW5oVW9jc3ZZeEhvRUhub2N3?=
 =?utf-8?B?WHgzaUJvaWQ2bWVxay9WcHBpdHN3bnh0SzN5MkFTTmpXZjZsUUtkQ2s2cjBQ?=
 =?utf-8?B?SFNXUUlNY3ZDbENqaG93KzdiVDNxWFZXbmVsanNXQ1VSTU81d1RwMUMvZmNO?=
 =?utf-8?B?d2FwM3hlS3NLRkZlWldBN2xVaGhyK0Rwb1hMY3d4dTQ0dHlpNzltZUxVbk1n?=
 =?utf-8?B?UmFXSXY5dlVHN1RnY2dsZHNQQ3lSai82S2VjRXV4dVJjenU5K1NTOU1xZmhu?=
 =?utf-8?B?b3JQbmlsYmxFdnFJT3lITklQSkQ2N2pxYXp2WWZGUUxKR2QzQ0MrU0FMNFZa?=
 =?utf-8?B?SWFZTksxWlpKY0I3cXpZOVNWcWV0UmZRS2hKTlR0dXlySnpPY3VXTmZaUUxT?=
 =?utf-8?B?eFU0akVKYWhDbU9lVGhWYzVHQUZ2YkJ6Nnpaa2MraDVLMkV3cGdBWmdORTRp?=
 =?utf-8?B?L3dOTXJrY3E5aWJ6LzBaRDlkT0xvemhRSjdwc256YkNLRGgvZVJjQ1J2amV6?=
 =?utf-8?B?VnRQYjJHdUNMMHM3ako1cC9kZ0ZtWXRhQ0dZQVd4ZC9STU5ONHpodi9CdnNm?=
 =?utf-8?B?TFpGV0taWDFBZVhEU0RNMlF1QXpJUEtuUDZVN0R0elZ3Tmh0bWVud0YxbndD?=
 =?utf-8?B?UVNuVGhWd3ByYjN3dVBRZ2Nta1l4TzZXOEJ1QUdJYkVCdnJjVWtMUjRuNnUw?=
 =?utf-8?B?Z2hWT2xWbjg5eU8ycU14eU9IRGFWS2FpWVI4Y1pwREVSbmhQL1lQZ1dSby9L?=
 =?utf-8?B?aWs1dFdvbFJDQ0dCUG5KNnJoWE1sVlJXbGJSWmdXYTFLRU1zZndEb0ZKSy8y?=
 =?utf-8?B?T0d5STJtN0x2MjZlMUVZWGFhQlY0Z3JCS2NNRG5WcHowZVpOK3J3Z2lGTEUx?=
 =?utf-8?B?RmY3OTkwRnd5WkNTNjdvMHoxa0NyL0E5ajJsS08xc0NRNTdjYkVLdkhiNWFv?=
 =?utf-8?B?RjVFL21XMi9xUFgvNFBkUHUxSjd4N29HUVVKUHJoRElaTzNvaHBtcVBuRVZ0?=
 =?utf-8?B?U3lvZkc4UjIyZGZ0aGpYeE10TXBiZDd1Nm9PYUlrRmdGcW5OYzVxelBQbkE0?=
 =?utf-8?B?WUZ6UjVkQS8zS1pkZmx1WXJYL2h2UHRsdWZaQSs4amtyZDliYmpiT3l4NGJj?=
 =?utf-8?B?TWtYWHpnMGljQlJUL3hYYlczWTFiNDRWWExUc0pKM2pUWGFXanFJRFFsZUpI?=
 =?utf-8?Q?I3RzEO8LVQ6JxmVrT5iiRlf7OAMsdIAl?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR03MB7015.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dHg3Q1hlemtCam5FR0E5QTZ1azFMMnhIUjVBYmFJcmN1Wno4NWJOZVhwazBh?=
 =?utf-8?B?N3ZjS3FzTGVaSW45eTROcXZxWitvd1J4WFB5aU9pYzlSSlU0cWZ4bkUrSTZ0?=
 =?utf-8?B?SnpNcDRmS3FxRzQvL2RVdkFiVlo4em5JNDJoVXhsdVpxQVlacTJwYkFtUWVY?=
 =?utf-8?B?RmFVYk8rT3IvQndQLzRCQkdxbndmTUdwd29CandEcG5uS1FYZnAyNk82Rm83?=
 =?utf-8?B?b3h2KzN3a1pnMnM2elBmTklUL1l2OXdGUjhOMVJzbTV3SGQwV2VKNGVlN0Zm?=
 =?utf-8?B?eFRicHROK1J3Yjl4VmVoUklRcXdxcnRHeG5zRVdOVUZsaHRFZ0ViMEpKT0xP?=
 =?utf-8?B?ZzNrRlJtNW5VTGNzMUU5NVlEV3RRWkFqY1lCV1czR0FVeEQySjlzUWxZU0RO?=
 =?utf-8?B?eEY2VHZKQ3BFc0VSTExrN0g4cUhqQnp0c1Vyb3NkMnhUTThDdEkrRWg4T1Bz?=
 =?utf-8?B?a0JkK2pSMTR5LzNrYW1sSTFqcU00YU5kZStqLzMyNTNnQVhhQmxqcUZYY3FE?=
 =?utf-8?B?SjVvY25KZ1NzZDRaSTU0b2I4SVVKS05VWStsSklEQU14Z0JDN29vMmhDQWxG?=
 =?utf-8?B?KzhVaHdTekhNd3REYjhFeHBIQTJpL0Q3NnV5UVl1Qkx5V2tKVlZEdEFLQk1z?=
 =?utf-8?B?SWJRczFYUlJZOEJBUEdOcmM5SW81ZE1YQVVMNU1tZU9oVSszMlo5Z0VpcVlM?=
 =?utf-8?B?Z0JsT1crQ0VGbkc3RTVIOFYyWjMvcFQxSk1SL0FSRmxhVWxPNGlIL2dzN05D?=
 =?utf-8?B?czZKYS9SV29wOFhxeW1GeHJhZFJSaUZ0blhTSlJ0U0JrZ0RDRHFVbmdaODVB?=
 =?utf-8?B?UnRCTHB5OGdSendlOU5Qc1NCOUJvcUo3bWRzcCtnZndvKzZGbkE2NS9rMU1k?=
 =?utf-8?B?TEVpdGFVWG9oZDA5NkZsNjYvQlFtZDVoMlVPU3lSK0gxV3M5SHB3R0Y0Zk1a?=
 =?utf-8?B?Nm5ySlpCMnZHZ01hZ0UxMUtYUzFJVmdaS0g5WWRJRlJJRWFTdUd0Ymh4Qkl2?=
 =?utf-8?B?R2N6dm0rb1B1QmVaRUhMcEJrRHNtSWRRR0xuaFduL0hNZHUydmpuTU9TUUdP?=
 =?utf-8?B?eDVBendQaStCc0UwYmFwMHBmNmNwMnN3MDZIeTRkUjl4UzRPSmIrYVE4SHVB?=
 =?utf-8?B?VlN4L2FNN01sbHlaRzJzV1k4WmdyS2s2NndFaUt0bjQxN2ZjRzN5aVVETjY4?=
 =?utf-8?B?VlhtaFEyVjhzNzRwQ2tlaHVTQ2FLb2VGMDhrNUFaT0hrbXprRUJrMTdKaHRD?=
 =?utf-8?B?TTRmOWdTUUJxaWhEK0xHT3h2WHlRM1pDQTNsMXhHMnRZZjd2T3orRm9LZm9P?=
 =?utf-8?B?NkwvOGtCTk9wRW9QYzUxd2Nwd1hzN2N0YVVXRVNVbmRNYk54bVJtakpjNjN1?=
 =?utf-8?B?K0RKd3UwWU9ZNXZsRGVCd0hZQjlSaXlsbjNlckdIMkJiUXE4MUx2dlZMOWNX?=
 =?utf-8?B?OE1nQjV5alZwTUVkZDVMK1N6VEh2Z0FYaEV6ZWx5cGJSbmdiK0tCeGZtcjBZ?=
 =?utf-8?B?eC9iOEhiWGk3YTF5Y0pGUks1ZTU3ZWdtTUwrVGRFYVpXZWxXa3lBN0FhaHB5?=
 =?utf-8?B?L3JTMnJDNE9rMUhRQTMwL0FFQ3ZTV3hTV0t0L2xNWGpDVEtReHpxVmNsVFZM?=
 =?utf-8?B?T1JVT1ZoNWs4WlduWEY0dGhOUFE3VnpkNG1PYm1EWXM1aXRLdXZ4VVdDa0pk?=
 =?utf-8?B?T1NMekc2bm9NVFk1aFFET3dQdTVQSzdpSWpvd3BwZ0wvajRqbnhLTGdyWTEy?=
 =?utf-8?B?SCtyWFlTQ3gxMUhJUnhuNm83WExVWHJQQ2Y3MHFnak51U1NUWmxscVNwVEtl?=
 =?utf-8?B?SUUzZ0VsTGdQWjRtU2hEVEhUcTQrUG5PK0dieEdSU242ayttRThOMWpUNXJt?=
 =?utf-8?B?UUVMNWpnbnVDV3ppT05Yc3FqRkovYmxJdWJtS2VYRlpNcUFtanFlWWhwN3RV?=
 =?utf-8?B?OHdoVFM0SjVDTmU4SU9ITnNuQmZoZHB0end5TlNYaGZ0TndBYjhleDFEQ0Vw?=
 =?utf-8?B?Qm5ETzY5NlJWMlFHUVhUTFdlT0RSVjNVWXhGLzhNQnhrU3pUZTJhU2E1UHdI?=
 =?utf-8?B?QzRIZDdlbUxaRjI4NkFiclE3aU94bGFudUJYVVNlM3AzcUYybXJXaGdRT0Jz?=
 =?utf-8?B?bUlzaXdxN1YrSlg5QTgxcTBCN2VYaUo4ZUFuVWcwMnNjS1ErcGNlbXpBTDlZ?=
 =?utf-8?B?dWc9PQ==?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 79274967-dcb6-43a6-16ff-08de17025d3d
X-MS-Exchange-CrossTenant-AuthSource: DM4PR03MB7015.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Oct 2025 15:46:45.8394
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: HTF1JF+BG4Ghqi5vDp8M9VJNxci2EttHGhiBYSF+FjkkthwaKJXDWKnRfRKLdl7Xn3DPLJdHCg95Sd3sQra21wh+zVg2NuOfyHpDZu0Dggg=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV4PR03MB8306

On 28/10/2025 12:43 pm, Grygorii Strashko wrote:
> On 25.10.25 21:10, Teddy Astie wrote:
>> Le 23/10/2025 Ã  17:22, Grygorii Strashko a Ã©critÂ :
>>> From: Grygorii Strashko <grygorii_strashko@epam.com>
>>>
>>> Functions:
>>> Â Â  hvm_shadow_handle_cd()
>>> Â Â  hvm_set_uc_mode()
>>> Â Â  domain_exit_uc_mode()
>>> are used only by Intel VMX code, so move them under CONFIG_INTEL_VMX
>>> ifdef.
>>>
>>
>> If they are actually Intel VMX specific, they should rather be moved to
>> VMX code (and named appropriately) rather than if-defed in shared hvm
>> code. If AMD code happens to need these functions in the future, it
>> would make things break pretty confusingly (as headers are not updated
>> consistently).
>
> I agree and like it even better. Can try if there is no objections?
>
> There is hvm_prepare_vm86_tss() also which is also used by VMX code only.


There is some horrible complexity here.

With SVM, we can run guests perfectly well in Cache Disable mode (i.e.
gCR0.CD=1).Â  Nothing extra is needed.

With VT-x, for unknown reasons, entering a VM explicitly leaves
CR0.{CD,NW} unmodified, i.e. always the Xen settings, which will be
neither bit set.Â  As a result, when the guest wishes to set
gCR0.{CD,NW}, we have to jump through hoops to make this happen.

Without going into the details, the upshot is that this "handle uc mode"
logic is VT-x specific, and oughtn't to be in hvm.c.Â  Moving it seems
fine, but the data, d->arch.hvm.uc_*, wants to move into the vmx union too.


hvm_prepare_vm86_tss() is rather different.Â  It, ultimately, is because
of limitations in early VT-x and it's probably fine to move too,
although the infrastructure surrounding it has bigger changes needed.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Oct 29 15:57:48 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 15:57:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152901.1483396 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE8YR-0006Na-TV; Wed, 29 Oct 2025 15:57:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152901.1483396; Wed, 29 Oct 2025 15:57:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE8YR-0006NT-Pg; Wed, 29 Oct 2025 15:57:43 +0000
Received: by outflank-mailman (input) for mailman id 1152901;
 Wed, 29 Oct 2025 15:57: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 <SRS0=f6do=5G=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vE8YQ-0006NN-RJ
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 15:57:42 +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 fa86091e-b4df-11f0-980a-7dc792cee155;
 Wed, 29 Oct 2025 16:57:32 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-471b80b994bso101953885e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 29 Oct 2025 08:57:32 -0700 (PDT)
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-4771e387a14sm53579255e9.3.2025.10.29.08.57.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 29 Oct 2025 08:57:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fa86091e-b4df-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761753452; x=1762358252; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=yrdbv7/6R+owcnVgM0SN08zWix41mbp9ERzud4tG19s=;
        b=QU1ylMpGlczzGN0VgHQ9CUUDSGt1fIzvr/YxAN+argG0tXnhoy1fgV95lmXnZsVRft
         PM/YTXOpbmWQWQRUVZ/tpE6cvJjQ9YyR9JuYSrUMB9G3RyDO2Sk8CTypaTWmJKAF+Idf
         gh6ytvzrxYDjrwl8hPZ4o7+c2ZdA9XKKb7oJH+A5J22LEc9aQsM0yL6qr722GzdepBHq
         4jsrhXElt3krZRYiMh0z+iJc/zASQKnrE07DDXlpUyPId6oBJJSVzyQ3nZSgqSZQz68a
         qHziLdCwRLuITV/Avqoyb+F6KfjFEgLxsrIe+vu+5SlUw7K5ay4p77eyuufqgVJzkJM4
         sOrg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761753452; x=1762358252;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=yrdbv7/6R+owcnVgM0SN08zWix41mbp9ERzud4tG19s=;
        b=r2HvdtzRuPp+VvpDc0NPnPcwS5GAXk1mg8x06zZXtVTkjM7DKX7cPJFexgFw8mcUTm
         4tOBdKfbBj3LFv39Xkz4i85kCu0vwXbckBnr4SJb9zodBP0SIXtNqok/CBqgWh+aUMcW
         31dcvwL8CedrwGs+g5TN9Ma01Iqc1tb0dPXIr/sPb49UbnEZbgPBGRK6c06b49X4gZn+
         2nN3AmqIs0ZH8WTgcfiJSew02ioT2n4vgvy2L/Oc4YJXr3fYggUCmM7z9Lt3mPgshfWr
         WFtQgWj+HB7DjzNCcSUc8ipaAwQiUVXHCqt0qqS+aBBpG3NRDk3YEV6FaPgNae6gZ/eY
         YfWg==
X-Forwarded-Encrypted: i=1; AJvYcCVmXOvU+6i5c8sSK9dcWX66DTHmNh4/vtGkT1XIAoyELCj2OFtaCVv3EW+NFCTAK0HPsAcKpOwvZvQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yws6A/XJGfGaNXKtUs2yScmJ5tc5c1Rai4yBaxlo+gsKsE5bl7E
	YIuE4aTA2xANblF+3Y/Y96SNsSp5Gq8vqOIdu+jtcqHb14OUdd3/HG7EUQZ05bCEz925xkdXO3z
	wRMI=
X-Gm-Gg: ASbGncuxGEpU5/eH+GIyoIY8cvm96Xn4A+5zbQozybZKJjGcxACRPthe2E7I0Pb1z1l
	fJqmpDuwJALQtnQuza2kYN2o8CAI8uid51bNcgz6QibHCnIVxdhyye5I1EVvI1fQvPzluD69K7j
	gsVJM2y4qZI5eKHtC8zD9Wb0ynIXGTE4ghyYTqIXoXKCPrVV1xCsTPjMEZBrt5bdiOMnoZ+eZZr
	sF1GZ7pybYhiNdbhsOm8Jy5K/Sr+GyltqxtvqDzdeyidWPPrXWFm05ciLj/elr4IlmT2V21+Efv
	rMZQzqwnfJHPrm3SY25GaPwZv4e4nNHSYE1gw056g3FEQf4fwsCGg5JRwGQeBdK7gjigDcI+fPe
	ZVCVQMt5aIWSKfGr5lUW5CLmQPb4KVPyPX0nahZUeBv05vGgXryL9pKS8pWcpTQZxt8IXaQOhNV
	zvELGVfoSnwOkF4/ARWHFel5MaYsmTVKQmRkddqb4U42URUiV4EW4h9Xk6Lywssybo9+vXLuU=
X-Google-Smtp-Source: AGHT+IHXgay+EZLbL3wlQnjzv8BRF2rRG+dcclecvvVX9gHs+NKSZkUIfAj1xFnH2tmjV7oAVi17Pg==
X-Received: by 2002:a05:600c:828d:b0:475:faaa:8620 with SMTP id 5b1f17b1804b1-4771e1ca0c9mr29359975e9.20.1761753451709;
        Wed, 29 Oct 2025 08:57:31 -0700 (PDT)
Message-ID: <1a9ac91c-2295-4749-8807-668fcecf8f8e@suse.com>
Date: Wed, 29 Oct 2025 16:57:30 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 09/28] xen/vm_event: consolidate CONFIG_VM_EVENT
To: Penny Zheng <Penny.Zheng@amd.com>, Tamas K Lengyel <tamas@tklengyel.com>
Cc: ray.huang@amd.com, oleksii.kurochko@gmail.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
 <20251013101540.3502842-10-Penny.Zheng@amd.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251013101540.3502842-10-Penny.Zheng@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 13.10.2025 12:15, Penny Zheng wrote:
> File hvm/vm_event.c and x86/vm_event.c are the extend to vm_event handling
> routines, and its compilation shall be guarded by CONFIG_VM_EVENT too.
> Futhermore, features about monitor_op and memory access are both based on
> vm event subsystem, so monitor.o/mem_access.o shall be wrapped under
> CONFIG_VM_EVENT.
> 
> Although CONFIG_VM_EVENT is right now forcibly enabled on x86 via
> MEM_ACCESS_ALWAYS_ON, we could disable it through disabling
> CONFIG_MGMT_HYPERCALLS later. So we remove MEM_ACCESS_ALWAYS_ON and
> make VM_EVENT=y on default only on x86 to retain the same.
> 
> In consequence, a few switch-blocks need in-place stubs in do_altp2m_op()
> to pass compilation when ALTP2M=y and VM_EVENT=n(, hence MEM_ACCESS=n), like
> HVMOP_altp2m_set_mem_access, etc.
> And the following functions still require stubs to pass compilation:
> - vm_event_check_ring()
> - p2m_mem_access_check()
> - xenmem_access_to_p2m_access()
> 
> The following functions are developed on the basis of vm event framework, or
> only invoked by vm_event.c/monitor.c/mem_access.c, so they all shall be
> wrapped with CONFIG_VM_EVENT (otherwise they will become unreachable and
> violate Misra rule 2.1 when VM_EVENT=n):
> - hvm_toggle_singlestep
> - hvm_fast_singlestep
> - hvm_enable_msr_interception
>   - hvm_function_table.enable_msr_interception
> - hvm_has_set_descriptor_access_existing
>   - hvm_function_table.set_descriptor_access_existing
> - arch_monitor_domctl_op
> - arch_monitor_allow_userspace
> - arch_monitor_get_capabilities
> - hvm_emulate_one_vm_event
> - hvmemul_write{,cmpxchg,rep_ins,rep_outs,rep_movs,rep_stos,read_io,write_io}_discard
> 
> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>

Overall I agree with Grygorii's remark towards this preferably wanting (a) splitting
off and perhaps (b) also splitting up some. If at all possible, of course.

> --- a/xen/arch/x86/hvm/hvm.c
> +++ b/xen/arch/x86/hvm/hvm.c
> @@ -50,6 +50,7 @@
>  #include <asm/hvm/vm_event.h>
>  #include <asm/hvm/vpt.h>
>  #include <asm/i387.h>
> +#include <asm/mem_access.h>
>  #include <asm/mc146818rtc.h>
>  #include <asm/mce.h>
>  #include <asm/monitor.h>
> @@ -4861,15 +4862,20 @@ static int do_altp2m_op(
>          break;
>  
>      case HVMOP_altp2m_set_mem_access:
> +#ifdef CONFIG_VM_EVENT
>          if ( a.u.mem_access.pad )
>              rc = -EINVAL;
>          else
>              rc = p2m_set_mem_access(d, _gfn(a.u.mem_access.gfn), 1, 0, 0,
>                                      a.u.mem_access.access,
>                                      a.u.mem_access.view);
> +#else
> +        rc = -EOPNOTSUPP;
> +#endif
>          break;

I think this (and if possible the others below here) would better use
IS_ENABLED(). (Would also shrink the diff.)

> @@ -5030,6 +5043,7 @@ static int compat_altp2m_op(
>      switch ( a.cmd )
>      {
>      case HVMOP_altp2m_set_mem_access_multi:
> +#ifdef CONFIG_VM_EVENT
>  #define XLAT_hvm_altp2m_set_mem_access_multi_HNDL_pfn_list(_d_, _s_); \
>          guest_from_compat_handle((_d_)->pfn_list, (_s_)->pfn_list)
>  #define XLAT_hvm_altp2m_set_mem_access_multi_HNDL_access_list(_d_, _s_); \
> @@ -5038,6 +5052,7 @@ static int compat_altp2m_op(
>                                               &a.u.set_mem_access_multi);
>  #undef XLAT_hvm_altp2m_set_mem_access_multi_HNDL_pfn_list
>  #undef XLAT_hvm_altp2m_set_mem_access_multi_HNDL_access_list
> +#endif
>          break;
>  
>      default:
> @@ -5056,6 +5071,7 @@ static int compat_altp2m_op(
>      switch ( a.cmd )
>      {
>      case HVMOP_altp2m_set_mem_access_multi:
> +#ifdef CONFIG_VM_EVENT
>          if ( rc == -ERESTART )
>          {
>              a.u.set_mem_access_multi.opaque =
> @@ -5065,6 +5081,9 @@ static int compat_altp2m_op(
>                                         &a, u.set_mem_access_multi.opaque) )
>                  rc = -EFAULT;
>          }
> +#else
> +        rc = -EOPNOTSUPP;
> +#endif
>          break;
>  
>      default:

Are these changes really needed?

> --- a/xen/arch/x86/include/asm/hvm/hvm.h
> +++ b/xen/arch/x86/include/asm/hvm/hvm.h
> @@ -192,7 +192,10 @@ struct hvm_function_table {
>      void (*handle_cd)(struct vcpu *v, unsigned long value);
>      void (*set_info_guest)(struct vcpu *v);
>      void (*set_rdtsc_exiting)(struct vcpu *v, bool enable);
> +#ifdef CONFIG_VM_EVENT
>      void (*set_descriptor_access_exiting)(struct vcpu *v, bool enable);
> +    void (*enable_msr_interception)(struct domain *d, uint32_t msr);
> +#endif
>  
>      /* Nested HVM */
>      int (*nhvm_vcpu_initialise)(struct vcpu *v);

Another blank line ahead of the #ifdef?

> @@ -433,10 +434,12 @@ static inline bool using_svm(void)
>  
>  #define hvm_long_mode_active(v) (!!((v)->arch.hvm.guest_efer & EFER_LMA))
>  
> +#ifdef CONFIG_VM_EVENT
>  static inline bool hvm_has_set_descriptor_access_exiting(void)
>  {
>      return hvm_funcs.set_descriptor_access_exiting;
>  }
> +#endif
>  
>  static inline void hvm_domain_creation_finished(struct domain *d)
>  {
> @@ -679,10 +682,12 @@ static inline int nhvm_hap_walk_L1_p2m(
>          v, L2_gpa, L1_gpa, page_order, p2m_acc, npfec);
>  }
>  
> +#ifdef CONFIG_VM_EVENT
>  static inline void hvm_enable_msr_interception(struct domain *d, uint32_t msr)
>  {
>      alternative_vcall(hvm_funcs.enable_msr_interception, d, msr);
>  }
> +#endif

Move this up into the earlier #ifdef?

> --- a/xen/arch/x86/include/asm/mem_access.h
> +++ b/xen/arch/x86/include/asm/mem_access.h
> @@ -14,6 +14,7 @@
>  #ifndef __ASM_X86_MEM_ACCESS_H__
>  #define __ASM_X86_MEM_ACCESS_H__
>  
> +#ifdef CONFIG_VM_EVENT
>  /*
>   * Setup vm_event request based on the access (gla is -1ull if not available).
>   * Handles the rw2rx conversion. Boolean return value indicates if event type
> @@ -25,6 +26,14 @@
>  bool p2m_mem_access_check(paddr_t gpa, unsigned long gla,
>                            struct npfec npfec,
>                            struct vm_event_st **req_ptr);
> +#else
> +static inline bool p2m_mem_access_check(paddr_t gpa, unsigned long gla,
> +                                        struct npfec npfec,
> +                                        struct vm_event_st **req_ptr)
> +{
> +    return false;

Leaving *req_ptr untouched feels dangerous; the fact that the sole caller has
what it uses set to NULL up front is secondary.

>From looking at the function it's also not quite clear to me whether "false" is
the correct return value here. Tamas?

> --- a/xen/arch/x86/include/asm/monitor.h
> +++ b/xen/arch/x86/include/asm/monitor.h
> @@ -32,6 +32,7 @@ struct monitor_msr_bitmap {
>      DECLARE_BITMAP(high, 8192);
>  };
>  
> +#ifdef COMFIG_VM_EVENT

Typo aside, isn't the entire file (perhaps minus some stubs) useful only when
VM_EVENT=y?

> --- a/xen/include/xen/mem_access.h
> +++ b/xen/include/xen/mem_access.h
> @@ -74,9 +74,19 @@ typedef enum {
>  } p2m_access_t;
>  
>  struct p2m_domain;
> +#ifdef CONFIG_VM_EVENT
>  bool xenmem_access_to_p2m_access(const struct p2m_domain *p2m,
>                                   xenmem_access_t xaccess,
>                                   p2m_access_t *paccess);
> +#else
> +static inline bool xenmem_access_to_p2m_access(const struct p2m_domain *p2m,
> +                                               xenmem_access_t xaccess,
> +                                               p2m_access_t *paccess)
> +{
> +    *paccess = p2m_access_rwx;

Why not p2m->default_access, as the full function has it? And should xaccess
other than XENMEM_access_default be rejected, by returning false? (In turn I
wonder whether the real function may not want to move elsewhere, so that a
stub open-coding part of it wouldn't be necessary.)

Jan


From xen-devel-bounces@lists.xenproject.org Wed Oct 29 15:59:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 15:59:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152910.1483406 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE8aI-0006vi-84; Wed, 29 Oct 2025 15:59:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152910.1483406; Wed, 29 Oct 2025 15:59:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE8aI-0006vb-4W; Wed, 29 Oct 2025 15:59:38 +0000
Received: by outflank-mailman (input) for mailman id 1152910;
 Wed, 29 Oct 2025 15:59:36 +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
 <SRS0=XySD=5G=bounce.vates.tech=bounce-md_30504962.690239e5.v1-9da9f172351b4e0ab8900f7b9d47b93d@srs-se1.protection.inumbo.net>)
 id 1vE8aG-0006vP-JN
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 15:59:36 +0000
Received: from mail132-22.atl131.mandrillapp.com
 (mail132-22.atl131.mandrillapp.com [198.2.132.22])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4310fa94-b4e0-11f0-9d16-b5c5bf9af7f9;
 Wed, 29 Oct 2025 16:59:34 +0100 (CET)
Received: from pmta09.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail132-22.atl131.mandrillapp.com (Mailchimp) with ESMTP id
 4cxX4P0WSPzGltNRQ
 for <xen-devel@lists.xenproject.org>; Wed, 29 Oct 2025 15:59:33 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 9da9f172351b4e0ab8900f7b9d47b93d; Wed, 29 Oct 2025 15:59:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4310fa94-b4e0-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1761753573; x=1762023573;
	bh=/+87MGS6/9z1OA6URO3xty6mId//yWrDAR4kyFinMw8=;
	h=From:Subject:To:Cc:Message-Id:In-Reply-To:References:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=Wuiok+TWvkhGPB5wuqlYKIi48hE2syAuR+xCoy2mwd257vSv5hMYuOPmJ9c2V8Wtj
	 j9/sSOi/bTeQ/0YDE6qFIPj8XEPhQOhkT8fSC0HiFrU0A+WF3A65PLKjyP1ns5Qd+i
	 sozvyUcNIaPHkIOTza7aaP9SqV78g2ZZ66sz9T89jXYjB8r65GvzRNVn904YALD/be
	 3txQEoMrPWR46Lk/pEymivCNUrAe7J5VcaA7OqHFS6TpxFMeN2cI8RMhNY3sOiryZ1
	 ByACMwLJ4FO9FTmoByAGyH6lG2nVaur/gy+Sh0hZbKw4qL37x49xiVW/EmnFqvZ9+T
	 aOIJ0p4G+apcw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1761753573; x=1762014073; i=teddy.astie@vates.tech;
	bh=/+87MGS6/9z1OA6URO3xty6mId//yWrDAR4kyFinMw8=;
	h=From:Subject:To:Cc:Message-Id:In-Reply-To:References:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=oIiWfkQnc8SZ0m4y3C6MFtatuWhuFo2QvIM3F4SyI/IwlYUbIjjGDCPjLxWiU7MQf
	 YA53/NUGNvrhrJn1y9w+yEvRuyF7HU1i6/fp51xWwnL+XW0vkECt3/1kDbFUmPsi5K
	 lP+OdJUh3MWZpHJFQIpqdOANVEWX+ZKsO5Q1VvZ9s3l27D1XKZN/X0OWcJSFx3lWxL
	 WjH51LNAiHDAAd88ISijH+rnjuOdoRP4Agt0Ie0vy6Rm8PE8AaEWtee/wbVvlhTLos
	 naE13EXJhq+rnKgmnbCmRRmMIswtdYhbzbmcoBu20+JaFa2VrP2ZOqLndJGKTex/3w
	 We3UvhWcL1WVw==
From: "Teddy Astie" <teddy.astie@vates.tech>
Subject: =?utf-8?Q?[RFC=20PATCH=20for-4.22=20v2=203/3]=20xenpm:=20Add=20get-intel-temp=20subcommand?=
X-Mailer: git-send-email 2.51.2
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1761753572604
To: xen-devel@lists.xenproject.org
Cc: "Teddy Astie" <teddy.astie@vates.tech>, "Anthony PERARD" <anthony.perard@vates.tech>
Message-Id: <6ed4d320ca4a69ca8b05b0af45d32ff4b330a779.1761752801.git.teddy.astie@vates.tech>
In-Reply-To: <cover.1761752801.git.teddy.astie@vates.tech>
References: <cover.1761752801.git.teddy.astie@vates.tech>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.9da9f172351b4e0ab8900f7b9d47b93d?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20251029:md
Date: Wed, 29 Oct 2025 15:59:33 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

get-intel-temp allows querying the per-core CPU temperature and
per-package one on Intel processors (as usual Dom0 drivers cannot
work due to misalignment between Dom0 vCPU and pCPUs).

Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
---
v2: moved from a separate command to xenpm

 tools/misc/xenpm.c | 93 +++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 92 insertions(+), 1 deletion(-)

diff --git a/tools/misc/xenpm.c b/tools/misc/xenpm.c
index 682d092479..ef9abee48e 100644
--- a/tools/misc/xenpm.c
+++ b/tools/misc/xenpm.c
@@ -37,6 +37,7 @@
 
 static xc_interface *xc_handle;
 static unsigned int max_cpu_nr;
+static xc_physinfo_t physinfo;
 
 /* help message */
 void show_help(void)
@@ -93,6 +94,7 @@ void show_help(void)
             "                                           units default to \=
"us\" if unspecified.\n"
             "                                           truncates un-repre=
sentable values.\n"
             "                                           0 lets the hardwar=
e decide.\n"
+            " get-intel-temp        [cpuid]       get Intel CPU temperatur=
e of <cpuid> or all\n"
             " start [seconds]                     start collect Cx/Px stat=
istics,\n"
             "                                     output after CTRL-C or S=
IGINT or several seconds.\n"
             " enable-turbo-mode     [cpuid]       enable Turbo Mode for pr=
ocessors that support it.\n"
@@ -1354,6 +1356,95 @@ void enable_turbo_mode(int argc, char *argv[])
                 errno, strerror(errno));
 }
 
+#define MSR_DTS_THERM_STATUS         0x0000019c
+#define MSR_DTS_TEMPERATURE_TARGET   0x000001a2
+#define MSR_DTS_PACKAGE_THERM_STATUS 0x000001b1
+
+static int fetch_dts_temp(xc_interface *xch, uint32_t cpu, bool package, i=
nt *temp)
+{
+    xc_resource_entry_t entries[2] =3D {
+        (xc_resource_entry_t){
+            .idx =3D package ? MSR_DTS_PACKAGE_THERM_STATUS : MSR_DTS_THER=
M_STATUS
+        },
+        (xc_resource_entry_t){ .idx =3D MSR_DTS_TEMPERATURE_TARGET },
+    };
+    struct xc_resource_op ops =3D {
+        .cpu =3D cpu,
+        .entries =3D entries,
+        .nr_entries =3D 2,
+    };
+    int tjmax;
+
+    int ret =3D xc_resource_op(xch, 1, &ops);
+
+    if ( ret <=3D 0 )
+        /* This CPU isn't online or can't query this MSR */
+        return ret ?: -EOPNOTSUPP;
+
+    if ( ret =3D=3D 2 )
+        tjmax =3D (entries[1].val >> 16) & 0xff;
+    else
+    {
+        /*
+         * The CPU doesn't support MSR_IA32_TEMPERATURE_TARGET, we assume =
it's 100 which
+         * is correct aside a few selected Atom CPUs. Check coretemp sourc=
e code for more
+         * information.
+         */
+        fprintf(stderr, "[CPU%d] MSR_IA32_TEMPERATURE_TARGET is not suppor=
ted, assume "
+                "tjmax=3D100=C2=B0C, readings may be incorrect\n", cpu);
+        tjmax =3D 100;
+    }
+    
+    *temp =3D tjmax - ((entries[0].val >> 16) & 0xff);
+    return 0;
+}
+
+
+void get_intel_temp(int argc, char *argv[])
+{
+    int temp, cpu =3D -1, socket;
+    bool has_data =3D false;
+
+    if (argc > 0)
+        parse_cpuid(argv[0], &cpu);
+
+    if (cpu !=3D -1)
+    {
+        if ( !fetch_dts_temp(xc_handle, cpu, false, &temp) )
+            printf("CPU%d: %d=C2=B0C\n", cpu, temp);
+        else
+            printf("No data\n");
+        return;
+    }
+
+    /* Per socket measurement */
+    for ( socket =3D 0, cpu =3D 0; cpu < max_cpu_nr;
+          socket++, cpu +=3D physinfo.cores_per_socket * physinfo.threads_=
per_core )
+    {
+        if ( !fetch_dts_temp(xc_handle, cpu, true, &temp) )
+        {
+            has_data =3D true;
+            printf("Package%d: %d=C2=B0C\n", socket, temp);
+        }
+    }
+
+    if ( has_data )
+        /* Avoid inserting a trailing line if we have nothing */
+        printf("\n");
+
+    for ( cpu =3D 0; cpu < max_cpu_nr; cpu +=3D physinfo.threads_per_core =
)
+    {
+        if ( fetch_dts_temp(xc_handle, cpu, false, &temp) )
+            continue;
+
+        has_data =3D true;
+        printf("CPU%d: %d=C2=B0C\n", cpu, temp);
+    }
+
+    if ( !has_data )
+        printf("No data\n");
+}
+
 void disable_turbo_mode(int argc, char *argv[])
 {
     int cpuid =3D -1;
@@ -1618,12 +1709,12 @@ struct {
     { "set-max-cstate", set_max_cstate_func},
     { "enable-turbo-mode", enable_turbo_mode },
     { "disable-turbo-mode", disable_turbo_mode },
+    { "get-intel-temp", get_intel_temp },
 };
 
 int main(int argc, char *argv[])
 {
     int i, ret =3D 0;
-    xc_physinfo_t physinfo;
     int nr_matches =3D 0;
     int matches_main_options[ARRAY_SIZE(main_options)];
 
-- 
2.51.2



--
Teddy Astie | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech




From xen-devel-bounces@lists.xenproject.org Wed Oct 29 15:59:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 15:59:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152911.1483416 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE8aJ-00079o-Is; Wed, 29 Oct 2025 15:59:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152911.1483416; Wed, 29 Oct 2025 15:59:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE8aJ-00079h-FV; Wed, 29 Oct 2025 15:59:39 +0000
Received: by outflank-mailman (input) for mailman id 1152911;
 Wed, 29 Oct 2025 15:59: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
 <SRS0=xim6=5G=bounce.vates.tech=bounce-md_30504962.690239e5.v1-fe02f2e9af4d4541bd1d81cf85a5b1a0@srs-se1.protection.inumbo.net>)
 id 1vE8aH-0006vP-Mr
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 15:59:37 +0000
Received: from mail132-22.atl131.mandrillapp.com
 (mail132-22.atl131.mandrillapp.com [198.2.132.22])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4472e064-b4e0-11f0-9d16-b5c5bf9af7f9;
 Wed, 29 Oct 2025 16:59:37 +0100 (CET)
Received: from pmta09.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail132-22.atl131.mandrillapp.com (Mailchimp) with ESMTP id
 4cxX4P0q0YzGltNRT
 for <xen-devel@lists.xenproject.org>; Wed, 29 Oct 2025 15:59:33 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 fe02f2e9af4d4541bd1d81cf85a5b1a0; Wed, 29 Oct 2025 15:59:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4472e064-b4e0-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1761753573; x=1762023573;
	bh=cGY02QTdXkqNenVo2hnr9vuOLwnNWC7i2l7xGy1g9nA=;
	h=From:Subject:To:Cc:Message-Id:Feedback-ID:Date:MIME-Version:
	 Content-Type:Content-Transfer-Encoding:CC:Date:Subject:From;
	b=18bilP+Z0f3xLVajuhAd2aBJtZTJRECT0hD3EN8L5V6Ymu9XCPqlklWt2n6BgQZhX
	 PR06ZbXgkLh70hgmv+Fs4KVL6tOVh/6iZO2wSf9e/gCdNIlGf3EKoIXdwMTZX8laUD
	 bKBubh0DrFO+peYli8vrMBValbj4BRT2C7DPbYkTg3IjyHHFjhwTTbM6BmNMUOy2gb
	 zzBCWH8N75D7Vh9CluB8Y71XcCIdihDR9OFN6CXhxzBBAjK0c3ZIVny9+SLa6nNKZR
	 KUqnTtGpkp2rl4n4gBeJUhHonxr+OU7etbd36UVHLfU1AVsXGbyrUn9btUh4xLA0VD
	 MjozdB9EOXwng==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1761753573; x=1762014073; i=teddy.astie@vates.tech;
	bh=cGY02QTdXkqNenVo2hnr9vuOLwnNWC7i2l7xGy1g9nA=;
	h=From:Subject:To:Cc:Message-Id:Feedback-ID:Date:MIME-Version:
	 Content-Type:Content-Transfer-Encoding:CC:Date:Subject:From;
	b=Zs91FByIgl/9D/GbXLk2Pcmtrmrq7W2yXqY1Qt1p3lmseSjYy0u0TfHbzl3afBpSa
	 bWvQgwm8FVg204eu2akrzfW0UXPtU+r7/N8+d8Gi48JLToSkakvJlDtd/KbvUiuKxn
	 rUuXg+mvqmQ/EjduSjmQ19l0lrCQrHXvZjVQXX1jxnZ/OOCZ8X8dFYXnS3qQef35CH
	 LdAqSHM8htZ6uSYmzOTTkr9wX5l/OQKs2/5Ixkn8KgJe0/vThBQ/dFFvc36a3insXz
	 0xjOLtPciImPItBrLoLmh+1ikyOaGzvo3c9AYkMaHGId/nlHXcojhaxrbdaNfHq/AU
	 2Zwn1LN8pME1g==
From: "Teddy Astie" <teddy.astie@vates.tech>
Subject: =?utf-8?Q?[RFC=20PATCH=20for-4.22=20v2=200/3]=20Support=20for=20Intel=20temperature=20sensors=20(DTS)?=
X-Mailer: git-send-email 2.51.2
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1761753571773
To: xen-devel@lists.xenproject.org
Cc: "Teddy Astie" <teddy.astie@vates.tech>, "Jan Beulich" <jbeulich@suse.com>, "Andrew Cooper" <andrew.cooper3@citrix.com>, "=?utf-8?Q?Roger=20Pau=20Monn=C3=A9?=" <roger.pau@citrix.com>, "Anthony PERARD" <anthony.perard@vates.tech>, "Oleksii Kurochko" <oleksii.kurochko@gmail.com>
Message-Id: <cover.1761752801.git.teddy.astie@vates.tech>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.fe02f2e9af4d4541bd1d81cf85a5b1a0?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20251029:md
Date: Wed, 29 Oct 2025 15:59:33 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

The idea here is to expose the DTS sensors through XENPF_resource_op
and expose it for the user through xenpm.

v2:
 - moved userland part to xenpm
 - use cpu policy infrastructure instead of inline cpuid

Teddy Astie (3):
  x86/cpu-policy: Infrastructure for CPUID leaf 0x6
  x86/platform: Expose DTS sensors MSR
  xenpm: Add get-intel-temp subcommand

 tools/misc/xenpm.c                   | 93 +++++++++++++++++++++++++++-
 xen/arch/x86/include/asm/msr-index.h |  3 +
 xen/arch/x86/platform_hypercall.c    |  6 ++
 xen/include/xen/lib/x86/cpu-policy.h | 27 +++++++-
 4 files changed, 127 insertions(+), 2 deletions(-)

-- 
2.51.2



--
Teddy Astie | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech



From xen-devel-bounces@lists.xenproject.org Wed Oct 29 15:59:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 15:59:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152912.1483425 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE8aM-0007Po-P1; Wed, 29 Oct 2025 15:59:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152912.1483425; Wed, 29 Oct 2025 15:59:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE8aM-0007Pf-M4; Wed, 29 Oct 2025 15:59:42 +0000
Received: by outflank-mailman (input) for mailman id 1152912;
 Wed, 29 Oct 2025 15:59:40 +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
 <SRS0=s3QF=5G=bounce.vates.tech=bounce-md_30504962.690239e5.v1-344e163403e9441abe4e703cf9431443@srs-se1.protection.inumbo.net>)
 id 1vE8aK-0006vP-Tz
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 15:59:40 +0000
Received: from mail132-22.atl131.mandrillapp.com
 (mail132-22.atl131.mandrillapp.com [198.2.132.22])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 43079a3b-b4e0-11f0-9d16-b5c5bf9af7f9;
 Wed, 29 Oct 2025 16:59:34 +0100 (CET)
Received: from pmta09.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail132-22.atl131.mandrillapp.com (Mailchimp) with ESMTP id
 4cxX4P0dq6zGltNRS
 for <xen-devel@lists.xenproject.org>; Wed, 29 Oct 2025 15:59:33 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 344e163403e9441abe4e703cf9431443; Wed, 29 Oct 2025 15:59:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 43079a3b-b4e0-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1761753573; x=1762023573;
	bh=oGq48Kw6VxX6AL0YA0EWRlGqPbZliOr3BfqoqvKzxGc=;
	h=From:Subject:To:Cc:Message-Id:In-Reply-To:References:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=sio+zkBzT4XEA5JYMxmp65necqoDGQBINbbMWguzrRvSUogUv6XNnVPpG8qoaSvK8
	 ZeZpYAqSe07i64cncFs14L4+h7h3Zc9uSmL4Mkwk8bGYf94ZNTgKjGf3qMU0z48hBq
	 69f3iBoYRc0N+cKO3E5ix2sBDmseb9StowJ+K3RfGBYIDXc5HOQm9FvTTkRVa3M9rD
	 ocaMmizRn55whmxL2pkeo2EW5b/77y+7SU1L9i1FN9PJdp7bSOQF5ck717MGfBWCZ4
	 fqtNg5qWILCzPtBrJdikNiroIDlnMopVsh91K2qZIdf1MyZ31KbMNKoOE2HHoi0MMU
	 /V0nRMNQ+TIYA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1761753573; x=1762014073; i=teddy.astie@vates.tech;
	bh=oGq48Kw6VxX6AL0YA0EWRlGqPbZliOr3BfqoqvKzxGc=;
	h=From:Subject:To:Cc:Message-Id:In-Reply-To:References:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=wq61IGggjodLyuUK6fB9GTAzThoQPe33aX9iTz8k9RtYGnPcP14J0gdYVo7qbI8W1
	 PHZdqpw/lvmvbJLaiJg4C1qla3dwP+xKoo/1+HY8+dSKVW+l6Toy+9iWDEMe3sbf2z
	 jI0tqfz2GuSJfFzYc/REdn+pGr0EB+m99ubr6vFUqy3cjtMjsgCHQz02oMA4Gf+q7G
	 w8JoY5WUIxjL2o2T83nDFWy44UJJB4B4Gq9U6Uh6OAsEmwU78X8gdj9zSU+31wx1MW
	 MPXxOzOlrAUiDVDycNHPLqiR/1t73ICw8UaI0flsFMj0k2MXS3LlEcVuaI/HK7XuNi
	 srneeElP4pEkw==
From: "Teddy Astie" <teddy.astie@vates.tech>
Subject: =?utf-8?Q?[RFC=20PATCH=20for-4.22=20v2=201/3]=20x86/cpu-policy:=20Infrastructure=20for=20CPUID=20leaf=200x6?=
X-Mailer: git-send-email 2.51.2
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1761753572108
To: xen-devel@lists.xenproject.org
Cc: "Teddy Astie" <teddy.astie@vates.tech>, "Jan Beulich" <jbeulich@suse.com>, "Andrew Cooper" <andrew.cooper3@citrix.com>, "=?utf-8?Q?Roger=20Pau=20Monn=C3=A9?=" <roger.pau@citrix.com>
Message-Id: <3ad34c3e1de444798dcfe0e673375f28f1a654ec.1761752801.git.teddy.astie@vates.tech>
In-Reply-To: <cover.1761752801.git.teddy.astie@vates.tech>
References: <cover.1761752801.git.teddy.astie@vates.tech>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.344e163403e9441abe4e703cf9431443?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20251029:md
Date: Wed, 29 Oct 2025 15:59:33 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

From: Jan Beulich <jbeulich@suse.com>

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
---
v2: introduced

 xen/include/xen/lib/x86/cpu-policy.h | 27 ++++++++++++++++++++++++++-
 1 file changed, 26 insertions(+), 1 deletion(-)

diff --git a/xen/include/xen/lib/x86/cpu-policy.h b/xen/include/xen/lib/x86/cpu-policy.h
index f94f23e159..c721c986cc 100644
--- a/xen/include/xen/lib/x86/cpu-policy.h
+++ b/xen/include/xen/lib/x86/cpu-policy.h
@@ -121,7 +121,32 @@ 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. */
+            struct {
+                uint32_t /* a */
+                    dts:1,
+                    turbo:1,
+                    arat:1,
+                    :4,
+                    hwp:1,
+                    hwp_notification:1,
+                    hwp_activity_window:1,
+                    hwp_epp:1,
+                    hwp_plr:1,
+                    :1,
+                    hdc:1,
+                    :2,
+                    hwp_peci:1,
+                    :2,
+                    hw_feedback:1,
+                    :12;
+                uint32_t /* b */:32;
+                uint32_t /* c */ aperfmperf:1, 
+                    :31;
+                uint32_t /* d */:32;
+            } pm;
+
             uint64_t :64, :64; /* Leaf 0x7 - Structured Features. */
             uint64_t :64, :64; /* Leaf 0x8 - rsvd */
             uint64_t :64, :64; /* Leaf 0x9 - DCA */
-- 
2.51.2



--
Teddy Astie | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech



From xen-devel-bounces@lists.xenproject.org Wed Oct 29 15:59:45 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 15:59:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152913.1483436 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE8aO-0007fc-VJ; Wed, 29 Oct 2025 15:59:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152913.1483436; Wed, 29 Oct 2025 15:59:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE8aO-0007fT-Rv; Wed, 29 Oct 2025 15:59:44 +0000
Received: by outflank-mailman (input) for mailman id 1152913;
 Wed, 29 Oct 2025 15:59:42 +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
 <SRS0=Ufu9=5G=bounce.vates.tech=bounce-md_30504962.690239e5.v1-afb8864a290e453a817b2593eea3e1f7@srs-se1.protection.inumbo.net>)
 id 1vE8aM-0006vP-Rc
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 15:59:42 +0000
Received: from mail187-33.suw11.mandrillapp.com
 (mail187-33.suw11.mandrillapp.com [198.2.187.33])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 430e942c-b4e0-11f0-9d16-b5c5bf9af7f9;
 Wed, 29 Oct 2025 16:59:34 +0100 (CET)
Received: from pmta09.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail187-33.suw11.mandrillapp.com (Mailchimp) with ESMTP id
 4cxX4P22nLzBsTkj3
 for <xen-devel@lists.xenproject.org>; Wed, 29 Oct 2025 15:59:33 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 afb8864a290e453a817b2593eea3e1f7; Wed, 29 Oct 2025 15:59:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 430e942c-b4e0-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1761753573; x=1762023573;
	bh=fX3FQuwJNcVnrtIjh9/0e8sasKI627tRhXFxwIbZXVI=;
	h=From:Subject:To:Cc:Message-Id:In-Reply-To:References:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=oVfsFR0cSu5vn9AbovxZA3Xye3mi9d9CjhjzPRyqn74IE+qaKjTHEYbDasUgQeK0p
	 89TaT2HLfS/5GPIUFDXFenzbfq5s35lvKVBMSH8h9fRd31WOOKD+qxRwbXd91KMq9S
	 ELf070yqwk4MNCsZV8PoE/ijfNXTbaYEWmF8TvBOEeKwE2n+jchNPQDZ1fkUS7jpTT
	 8eZmpoc5p+Tb0/usMyi3STh5wGriaFQ3FKxp9UoLq+QrLzc1/3Fd9tvXK3D4zIW9i2
	 bKgklBWy+dLrJk6MYvGM4z6oirOyp+1nMCkOHjCrQs3/xlqAPiS012vSPhK5/Z6mf9
	 9sTL9/+OxSS2g==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1761753573; x=1762014073; i=teddy.astie@vates.tech;
	bh=fX3FQuwJNcVnrtIjh9/0e8sasKI627tRhXFxwIbZXVI=;
	h=From:Subject:To:Cc:Message-Id:In-Reply-To:References:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=mx+otb9E04VeomKWpOp0/PgV5Tz6gHwUnACikxaS0Zu3lW99NV0GcNv3+W9rVrjzO
	 1GJRAv0SYQucrgmh+Cjs9DaXBHQDGUQXmmAPckaf+zDZ6G9iCHbyz0yYL2kUuLxWcI
	 VL67+4Q9QVab6AJO15s3z3jETd8dkHBOecz7gviedNyGpEizvW9C8ROvZYfJQHn60f
	 2NUFJk1fLp0pojibvOMo/I3Vv+z5aEYll5Xqrnu3wTjcpioAWnaA9MkFGHTGSzsK4e
	 0ku1oS2SMut/kezBmhxH3WNRdx5M1hhj33uIYYHVxOcrwc0S3UGeEPsolFl/W6olxB
	 MEXZzQ39ezZdw==
From: "Teddy Astie" <teddy.astie@vates.tech>
Subject: =?utf-8?Q?[RFC=20PATCH=20for-4.22=20v2=202/3]=20x86/platform:=20Expose=20DTS=20sensors=20MSR?=
X-Mailer: git-send-email 2.51.2
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1761753572425
To: xen-devel@lists.xenproject.org
Cc: "Teddy Astie" <teddy.astie@vates.tech>, "Jan Beulich" <jbeulich@suse.com>, "Andrew Cooper" <andrew.cooper3@citrix.com>, "=?utf-8?Q?Roger=20Pau=20Monn=C3=A9?=" <roger.pau@citrix.com>
Message-Id: <1001287258cf9652c749c66c6565478085a8657c.1761752801.git.teddy.astie@vates.tech>
In-Reply-To: <cover.1761752801.git.teddy.astie@vates.tech>
References: <cover.1761752801.git.teddy.astie@vates.tech>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.afb8864a290e453a817b2593eea3e1f7?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20251029:md
Date: Wed, 29 Oct 2025 15:59:33 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

Intel provide CPU sensors through "DTS" MSRs. As there MSR are core-specific
(or package-specific), we can't reliably fetch them from Dom0 directly.
Expose these MSR (if supported) through XENPF_resource_op so that it is
accessible through hypercall.

Suggested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
---
v2:
 - move DTS MSR out of legacy list, review MSR naming
 - use CPU policy instead of inline CPUID

 xen/arch/x86/include/asm/msr-index.h | 3 +++
 xen/arch/x86/platform_hypercall.c    | 6 ++++++
 2 files changed, 9 insertions(+)

diff --git a/xen/arch/x86/include/asm/msr-index.h b/xen/arch/x86/include/asm/msr-index.h
index df52587c85..7c6af7bd4d 100644
--- a/xen/arch/x86/include/asm/msr-index.h
+++ b/xen/arch/x86/include/asm/msr-index.h
@@ -115,6 +115,9 @@
 #define  MCU_OPT_CTRL_GDS_MIT_DIS           (_AC(1, ULL) <<  4)
 #define  MCU_OPT_CTRL_GDS_MIT_LOCK          (_AC(1, ULL) <<  5)
 
+#define MSR_DTS_TEMPERATURE_TARGET          0x000001a2
+#define MSR_DTS_PACKAGE_THERM_STATUS        0x000001b1
+
 #define MSR_FRED_RSP_SL0                    0x000001cc
 #define MSR_FRED_RSP_SL1                    0x000001cd
 #define MSR_FRED_RSP_SL2                    0x000001ce
diff --git a/xen/arch/x86/platform_hypercall.c b/xen/arch/x86/platform_hypercall.c
index 79bb99e0b6..d9872ddd3e 100644
--- a/xen/arch/x86/platform_hypercall.c
+++ b/xen/arch/x86/platform_hypercall.c
@@ -27,6 +27,7 @@
 #include <asm/current.h>
 #include <public/platform.h>
 #include <acpi/cpufreq/processor_perf.h>
+#include <asm/cpu-policy.h>
 #include <asm/edd.h>
 #include <asm/microcode.h>
 #include <asm/mtrr.h>
@@ -86,6 +87,11 @@ static bool msr_read_allowed(unsigned int msr)
 
     case MSR_MCU_OPT_CTRL:
         return cpu_has_srbds_ctrl;
+    
+    case MSR_IA32_THERM_STATUS:
+    case MSR_DTS_TEMPERATURE_TARGET:
+    case MSR_DTS_PACKAGE_THERM_STATUS:
+        return raw_cpu_policy.basic.pm.dts;
     }
 
     if ( ppin_msr && msr == ppin_msr )
-- 
2.51.2



--
Teddy Astie | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech



From xen-devel-bounces@lists.xenproject.org Wed Oct 29 16:05:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 16:05:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152951.1483446 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE8ff-0002BJ-Gp; Wed, 29 Oct 2025 16:05:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152951.1483446; Wed, 29 Oct 2025 16:05:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE8ff-0002BC-Dy; Wed, 29 Oct 2025 16:05:11 +0000
Received: by outflank-mailman (input) for mailman id 1152951;
 Wed, 29 Oct 2025 16:05:10 +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
 <SRS0=U31q=5G=raptorengineering.com=tpearson@srs-se1.protection.inumbo.net>)
 id 1vE8fe-0002B6-6F
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 16:05:10 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0a3edf17-b4e1-11f0-9d16-b5c5bf9af7f9;
 Wed, 29 Oct 2025 17:05:08 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id C6A98779070E;
 Wed, 29 Oct 2025 11:05:07 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id Yx97adz-WRUd; Wed, 29 Oct 2025 11:05:07 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 1BC817790717;
 Wed, 29 Oct 2025 11:05:07 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id U55PUZrAEqGH; Wed, 29 Oct 2025 11:05:07 -0500 (CDT)
Received: from vali.starlink.edu (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id F19EB779070E;
 Wed, 29 Oct 2025 11:05:06 -0500 (CDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0a3edf17-b4e1-11f0-9d16-b5c5bf9af7f9
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 1BC817790717
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1761753907; bh=hIuuevtjoRG6683Bb6Uibcw6e08U4IN2Bg6m1N/XZ00=;
	h=Date:From:To:Message-ID:MIME-Version;
	b=Dh6J4ZnasTMHYy50lSkECIErKyptK0EnN4wtNdNeIoRGU9aOh8G2T8k0qlFubkqo1
	 bVa3dw/64EM1ArZvBAzEgzwVAHZi7KuI9WUGzcvjLEuWR6LBIdV8fKxoeP4nZKSicq
	 7HL2iYU59/IIhEmhpi61S/pnOx9npsd3NkEMpvI0=
X-Virus-Scanned: amavisd-new at rptsys.com
Date: Wed, 29 Oct 2025 11:05:03 -0500 (CDT)
From: Timothy Pearson <tpearson@raptorengineering.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>
Message-ID: <1606518270.4741.1761753903655.JavaMail.zimbra@raptorengineeringinc.com>
In-Reply-To: <45cb7914-5875-4bdc-a5ee-80c2093dff84@suse.com>
References: <1094743618.4119.1761694133918.JavaMail.zimbra@raptorengineeringinc.com> <45cb7914-5875-4bdc-a5ee-80c2093dff84@suse.com>
Subject: Re: [PATCH] xen/ppc: Fix tooling FTBFS due to missing definitions
 in public header
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
X-Mailer: Zimbra 8.5.0_GA_3042 (ZimbraWebClient - GC141 (Linux)/8.5.0_GA_3042)
Thread-Topic: xen/ppc: Fix tooling FTBFS due to missing definitions in public header
Thread-Index: NMmV+mSK9hUa1L/097StWJNj4y6iFA==



----- Original Message -----
> From: "Jan Beulich" <jbeulich@suse.com>
> To: "Timothy Pearson" <tpearson@raptorengineering.com>
> Cc: "xen-devel" <xen-devel@lists.xenproject.org>
> Sent: Wednesday, October 29, 2025 2:59:11 AM
> Subject: Re: [PATCH] xen/ppc: Fix tooling FTBFS due to missing definitions in public header

> On 29.10.2025 00:28, Timothy Pearson wrote:
>> int64_aligned_t and uint64_aligned_t need to be exposed when the GNU C compiler
>> is in use.
>> ---
>>  xen/include/public/arch-ppc.h | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> 
> However, first of all this needs your own S-o-b.
> 
> Jan

My apologies for that.  Was getting a new development box set up for Xen and somehow missed that on the first two patches.


From xen-devel-bounces@lists.xenproject.org Wed Oct 29 16:07:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 16:07:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152962.1483456 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE8hP-0002sp-RF; Wed, 29 Oct 2025 16:06:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152962.1483456; Wed, 29 Oct 2025 16:06:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE8hP-0002si-OD; Wed, 29 Oct 2025 16:06:59 +0000
Received: by outflank-mailman (input) for mailman id 1152962;
 Wed, 29 Oct 2025 16:06:58 +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
 <SRS0=brwG=5G=citrix.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1vE8hO-0002sa-UG
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 16:06:58 +0000
Received: from CY7PR03CU001.outbound.protection.outlook.com
 (mail-westcentralusazlp170100005.outbound.protection.outlook.com
 [2a01:111:f403:c112::5])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4b2d3c1e-b4e1-11f0-9d16-b5c5bf9af7f9;
 Wed, 29 Oct 2025 17:06:58 +0100 (CET)
Received: from DM4PR03MB7015.namprd03.prod.outlook.com (2603:10b6:8:42::8) by
 DS1PR03MB7872.namprd03.prod.outlook.com (2603:10b6:8:21e::19) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9253.18; Wed, 29 Oct 2025 16:06:52 +0000
Received: from DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9]) by DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9%3]) with mapi id 15.20.9275.011; Wed, 29 Oct 2025
 16:06:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4b2d3c1e-b4e1-11f0-9d16-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=DaM1FFFyFyZ4hsiUVebJygpWj0Xk5pyeTWdyWeYC3GZ93scDirlvcQQNBlmN+w7OD/d7rlqegkL/6Xe7NXhbX2abTng7JswTtbaUc9is5zgMAZIW56gLemZ+pdDpaRfgr6k0ORlzkdfL1YShQTjaFilBAteGBoDUJV6Lrz7ShP/hfNaXKu06sXQcQN6gcjDWgGr1t1w158tnuU7SSRPyCv0E/+txsRHSYau8O3LKvp6RUqR5oYBebXuVDVYv5KG08JIBYcbkz69kvjdF0rZEFlyPshf3nWcz+b/M3CgSurT41bSGHuyvAKkAToCuow8RMdvc7AUGx9fhvoeCx6RTkg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Eytu9P3R1oLbBV3tsOzcZ6+137ornPWN35PjmWSG8fE=;
 b=y7/8pePSDYTr8rv4B/LW1OXWuvGjf/6a92V1q9gueii5hrCumdb76JMntmdXRUu6qsXOxRvRZS4vCtrOzfLPkX9uJryr4yL7JH8WDhzWhkPj5JqEy4eJ1x/ZzqdGtEHDEBQqrveX6TjXI8lVrPJWLTBR2bc03QQpZSDKGbwkqf5l+LULMVfOhw+SBpc93oXWtqq//YykYfXBL+UDnyeJPx7P4/uw3oceIUBjOfnLTP98997iFfky8JF7MuunAyWaTVmWL1qmeSYc0eCyJOggjQ9RSt3bY67ez0CitpDXIxSRJQnohK8jOgs8tR1wuaKzbHS1MUGWsCsyNNEUKXs9Ug==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Eytu9P3R1oLbBV3tsOzcZ6+137ornPWN35PjmWSG8fE=;
 b=KJ7tyigmx5LsO69qcM4xe6g7oQQaf7Diqh5mtv/0qEpe7CskIl4FFo+oByEE1jW1mn905OGuJhoBjkE0LIs4JBevw8YJ9DWbil2UprqeFDgGm8NosrmBHJ0aN5rttBX02I47Me81M5+hw0T6726kHkMvjaIsaro2NiRwQOJ7Mw0=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <aa6cc0c3-87e1-4a25-8ae0-d30f3c067c78@citrix.com>
Date: Wed, 29 Oct 2025 16:06:48 +0000
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH for-4.22 1/2] x86/platform: Expose DTS sensors MSR
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org, Teddy Astie <teddy.astie@vates.tech>
References: <cover.1761585640.git.teddy.astie@vates.tech>
 <48b15617f248852560a0e0674eea65d25330c605.1761585640.git.teddy.astie@vates.tech>
 <83712d12-08ec-46a4-b215-18f7ea1c1069@citrix.com>
 <78fe46d2-f21a-46d2-bcb5-a54d7cd86e91@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <78fe46d2-f21a-46d2-bcb5-a54d7cd86e91@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0059.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:153::10) To DM4PR03MB7015.namprd03.prod.outlook.com
 (2603:10b6:8:42::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM4PR03MB7015:EE_|DS1PR03MB7872:EE_
X-MS-Office365-Filtering-Correlation-Id: a5480a44-a733-4177-2bc5-08de17052c1f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?RnEvbFE3UFdaNlZQY1VBUUZ4Q01Ja3IrT0RuUzd0dE05akIyMnBrdUtiQXYw?=
 =?utf-8?B?SGNZUFNyb3N1azlwejJqYW12NGZIQlVrSmtBVnJsQTczWkgrMzBEVWdZV0pH?=
 =?utf-8?B?R28vYWFUZ1dycit4cFg2aUlveW1KWS9TejVOeEZSVVk0NVh5VEhCcmFZWnE2?=
 =?utf-8?B?VlN6SjNHc1NrVUwxeDV4Z2xIS216Q0dSdDJFbU1ieVNJZ0RpZGFXeENtNHhU?=
 =?utf-8?B?QURtdGhrZGs5ZTk1UkdJa0RDMUhkN1ZRZUFtclFhdTN4Ym0vTXJ4NHhsWnRl?=
 =?utf-8?B?djZVV21LKzVHcTZWc1pvejFPVk95MC85Ry8weko5UEVnRlZLN29QSTRER1Ir?=
 =?utf-8?B?WStFT1Nld2VyVjRVemdlRkxhUm1JRytJNkNDeWdnT2tQWHNoYlB3cGhQOGdm?=
 =?utf-8?B?ZWlYMWg2OEUxNVdpV25ZUnBsNmQ5SlI2dXBrSVFiY3pHa0hYWVZOSXE4NG1u?=
 =?utf-8?B?b1FYWHVhTUREdlJMeC9kMWprZzJCeVVaOXpuZHYzeUpkaERhclp4NmZ2Umxs?=
 =?utf-8?B?STVHbWJiS0d4RVdVKzFINU5Xd0FLOE9RckZsd1J0QzkrbGxBOVdJTGFWYWlq?=
 =?utf-8?B?TlpZdUFGRFZ1YTIrZmJNN0dmbTF2MlhVb1VRNTRSYkxVRXN0aVVUb1cyWWdV?=
 =?utf-8?B?RkY3VHVUZTNhRFZzT0x6VklDVE41U1FNRDFnbWNONDhqelU0ZkpHemJWTUo1?=
 =?utf-8?B?RW9kZk85T2RQTTBzdVVYWm1qTWhDdC9ZT0RqMW1SU2dHNHBYZHBTdENyWjY3?=
 =?utf-8?B?blZTd3VGM1VzeCs1K1dTS1V1VEpIeTBtcE1VenZ2SlFORFBmc0lENFpDd2dY?=
 =?utf-8?B?QzhFTm91ak43YVBnS1F3dmxzMTIvRlVWWEo4VzBuRmRqTElDNXZmOEtwbTJU?=
 =?utf-8?B?M3ZRWUtaT1BqeG9venFoSnc2bk8rQWQyVHhvam9mblVRRUFxbDFiQ3lFa3Ux?=
 =?utf-8?B?RjZ1VFBmRmYvQ0VzdEZ0TytwdngwVnA1TFkxT01FSHVta3ExSSsva3ZrNXBN?=
 =?utf-8?B?RnJlYmUzVXU5VU1YTUJXL1FOd3pnTzUrT05tWmgyaTBFU2EvUTNUTXNRNzRG?=
 =?utf-8?B?SjFLeVY0VWdqMWIxK2lPa3RjRzZjL2ZkbFJyVC8rN3ZZNENQdUJod3pXNzht?=
 =?utf-8?B?VGphdW5yTEh5T3NsS1p3VEt5eHhoSldIK3p5TlJ5MG1OR05lR3U0b3VVMFd3?=
 =?utf-8?B?bFJnc3RFV05tWjhTYlVCdkFHZVlmL2hiNDVBcVFKUTFNS28wQjlUQlFQdWQ4?=
 =?utf-8?B?ZUJvaWc2SS85Ym9jSlVYL09KdExWdW1EQU9CTElqK21RZVNNU3ZvWkZpRVRT?=
 =?utf-8?B?aWVvVnBhRkZwUWp5c3FJb0VTUkp6TGcxNjE3b0dEajlmWi9QTFlaVWt1N1ZQ?=
 =?utf-8?B?RTVxMWl5UGExRWVPTlp0aFd1c3VEbUdXOVZ2bFlyeWM5MndRVWtrK0NMazFh?=
 =?utf-8?B?QWhUMDl6d0ZWOU9NdUljS1ZrUDVaazJEaEVVZSs2Unk2SU1lcHNBK3dDNEZz?=
 =?utf-8?B?cDhJTlpRR0dwQ1FEYVc1WGlBVVM0cUxiYTl1VTR2eitJRU5sTytrWU1kT2Z3?=
 =?utf-8?B?Y21FT3BDK2ZWa0gwaGlLWUZJRTRZZHE5Q2p6QllKY3pVMnhYZm1WWVR1M3NV?=
 =?utf-8?B?NnhEZ2piSG94L25qa3FXQzhwWXVTVFd3ZzBzRUk5eE9kKzMzVGtTSjJNRG9X?=
 =?utf-8?B?TFZWd1VoR0FqWW1lM2tHdUtoeWN6TFFtbzV1M0YzSWcydmxEZ0pmRDFlM0tN?=
 =?utf-8?B?M1dJU1c5WWdjT0YrYXNuTGR4anFHd05QdzViakFhRGhpV3ZRSFFQWldoNTRW?=
 =?utf-8?B?akd1eG1rU0dVUlNDWWhzMjNRZkh5M1JkRWdrbVZrSDJjaGFoNURnSzg4akxD?=
 =?utf-8?B?cHY1V2FVTTlYT1k4aXlhTW9RWVU3ZVZFOHVjeS9ON2FMTzk5VGhndHdaWjZ2?=
 =?utf-8?Q?eJUVdo1L597b+pIqh2QJVZtK1jepCuJ0?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR03MB7015.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ODVnbmpkMmFZSkxCK00rNnZ5OXJBZTJ1YU1wamJ5ZEN2OVR2bGhVTjVEVTlW?=
 =?utf-8?B?QlRud2pvUmtiVmQrTGFkbGJydC9qdFc2ejNBSkhSTGpJbE9GMkNKODBKQ0Y3?=
 =?utf-8?B?eUhSWUZQdmJnUE5ObWpOQWI1dnVLS2FJVFdibWxySkhpNjBXVXJBdnJuV1R3?=
 =?utf-8?B?MkNpeWwyUUN4RmdSNlMwejBNQkd3MGYxTjRYelZDTjBJVjZmQUhmV3lQM0RN?=
 =?utf-8?B?bEpQSk42YTZUMVNtZ092Wnk2czI5ODdsemg5SnkyQjhnUCt3bFBvdVVkS2FE?=
 =?utf-8?B?Z2gwRGVqWnNuZThPd0w2a3RGc25pSHJNbjBZSTdUclpPeWJsc1lZc1pPQmdD?=
 =?utf-8?B?enpHejhPZUd5WDg3eFFyNVlLV0pLbXVRT2M0YkxGcDZtVVVhOXZrM3FwTnJs?=
 =?utf-8?B?WGlodStSVEZjVTRPY25GK1ZpTCtPMmR1TDNkMjFDbjZjd3UzNTJVdlNCZlp0?=
 =?utf-8?B?cGZ5dHdrT3BmTjlSWG45elBjTmpjSDNEODhNSGlVb1RNV3N1OTNaRHBlbmJt?=
 =?utf-8?B?dGtjTUF4T3ZTWFlzb2tOYzFXZmFXWEV5emN1T0ZXVXN4UmF0cks0WVI5R05P?=
 =?utf-8?B?dHZEcFpkMStYZXd4U1lTZGF0U2M1NkhVZ004bENNNzloYjZLbzhNQXhRaGtP?=
 =?utf-8?B?Vm1FQnZPTm9vVTI0M0VXMm14Z0xDMURyUVNUdlc3SzZQazEybm50MVhpaWJv?=
 =?utf-8?B?Y3ozUENub1BpK0pweHh4REtjN1pKd1ZPMFFxdk50VVFMT0pURnZKQzVjMHBO?=
 =?utf-8?B?YXZ0dkxxTEk1amNhbjA3djhyNzNuMmFKekowZUpuMEdnR1RabkxqNUsyTFhU?=
 =?utf-8?B?dnBxQUM3OEpxTE11ZCtUdjJvOThrRklaQmFwOTk3WlVSM2tGTS8yVGNYV1A4?=
 =?utf-8?B?N0JrczkyVnpOVnVEamFubHdHR2I0TVlPei9EQk1JQlQwYkVuQ2JOVWRQNXpu?=
 =?utf-8?B?RnlncDFDcERDRDRSZ0o4RW5zLzh3U2NxQnVqV05uNXlFYVhSR3BLVHdiMEFi?=
 =?utf-8?B?c1RrUEVUMG8xaU5DZDh6d3h4L2FDWC9aUUQxVDlvMldtQXpzSU9YMlVqempB?=
 =?utf-8?B?dC9jalFKQ3liSjEwU3ExU1haQlp0UDAvR215WGVzT2R3TjRkdFVrdTVlK3ZR?=
 =?utf-8?B?OWtXR200Ukt5RStsR25GMHNpOWhxcXo3ejZMY3NrSUdLODI2VkgzMWFFU2NP?=
 =?utf-8?B?dk8xSUhEa2QvTFZ6NFNvRGJoRnY5OHh5VCsvWnRIR1pYYW92a0dTN25jQU5O?=
 =?utf-8?B?UUp0Vng1N3JzdXB5QUpTOE5yNUNpQTRZUVBKWDJ2SE5LdjByeExmc0JDTHZn?=
 =?utf-8?B?bVdNVURXMDFJR0dBenorMldUcXZsUm9xY2N2cVNIUHdCWmdNSmkxMlV3c3FJ?=
 =?utf-8?B?RjRUY1hCOGQzMU52T3puUllNKzZNWmU2Q0k2aEVMWVViWU0rSlNpRWw5QUlQ?=
 =?utf-8?B?ZlJqK2huTkwrU0dWaTJ6UHM5WWZUcVkzM3JuLytUMCt1R0lTNm56U3Q2MFgv?=
 =?utf-8?B?MDVMb0pKVFI4ak5PUVFVdFhySHFVZzhaN0NLY0NlMVh1anJLZUo5cHZaMWpE?=
 =?utf-8?B?Z0hiMHpqdmRvdTI2MW5CS3VrSXd6VGlLTm5GZW1oalBjc0JRM2orNmNVdGEy?=
 =?utf-8?B?d01tSnYya1JPZ2RlanRIZGhiT3lsN2cxUHQ5Tm5OQ2JMaVlFU2JqSktZUzNj?=
 =?utf-8?B?ZlVrS21OeHNtSmxUdm95S1pCbzdsNm42WFh6dUo4dVROTk1kN3dVT3hiT1lF?=
 =?utf-8?B?b2l6b0VtaEJhUUFFejkyUHc2dGVrMHdaUXljTm5yQ2dodG9Cd3J1eWZJRUV2?=
 =?utf-8?B?N25jczFDa2ZDc1NvRk5ydFpDNkI1aGhGekI1cDlsL1BhMzR0SG5SODVHdGFI?=
 =?utf-8?B?QTEvd1V1d2luaHVQNEtqbE13V1RKT0Q0aEVsQVpRUUtVM2ZUczduY1VneitM?=
 =?utf-8?B?UWt2QnoxY1JHUTR4V1BsU1hnL2xhYUVWVFBWVyt2OVRodTVDcGtMdGszRVR0?=
 =?utf-8?B?RnFnYUdqTWdlMmVSZVk1Y2EwT1hHOXdDYmFSaVhZcFIxRzJDczBKNUwwV3Fm?=
 =?utf-8?B?MUN3bjRUdTRKdUxKRlhGTGZFNmxQUXR3ZDN5US8reDAxdi95Skdpd0xWY0N6?=
 =?utf-8?B?MDZlSTlzQ3crSW10K0tZTVVGNVB3bUJ0bHdhUnhSWWtzQkFDckdxbG1JQld2?=
 =?utf-8?B?QUE9PQ==?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a5480a44-a733-4177-2bc5-08de17052c1f
X-MS-Exchange-CrossTenant-AuthSource: DM4PR03MB7015.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Oct 2025 16:06:52.3208
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: maJSZFiFDH/j6zLVmC7yTB3FFC7tT0AP/aCDEsh8n6cQrIRn1diHqsihAGg1ki6flHRL57XduXzyEYRlkTfku4PZe11YIqVErpm6nEVE6pk=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS1PR03MB7872

On 28/10/2025 9:20 am, Jan Beulich wrote:
> On 27.10.2025 20:38, Andrew Cooper wrote:
>> On 27/10/2025 5:26 pm, Teddy Astie wrote:
>>> I'm not a fan of doing a inline cpuid check here, but I don't have a
>>> better approach in mind.
>> I'm not sure if there's enough information in leaf 6 to justify putting
>> it fully into the CPUID infrastructure.
>>
>> But, if you do something like this:
>>
>> diff --git a/xen/include/xen/lib/x86/cpu-policy.h b/xen/include/xen/lib/x86/cpu-policy.h
>> index f94f23e159d2..d02fe4d22151 100644
>> --- a/xen/include/xen/lib/x86/cpu-policy.h
>> +++ b/xen/include/xen/lib/x86/cpu-policy.h
>> @@ -121,7 +121,13 @@ 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 - Thermal and Perf. */
>> +Â Â Â Â Â Â Â Â Â Â Â  struct {
>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  bool /* a */ dts:1;
>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  uint32_t /* b */:32, /* c */:32, /* d */:32;
>> +Â Â Â Â Â Â Â Â Â Â Â  };
>> +
>> Â Â Â Â Â Â Â Â Â Â Â Â  uint64_t :64, :64; /* Leaf 0x7 - Structured Features. */
>> Â Â Â Â Â Â Â Â Â Â Â Â  uint64_t :64, :64; /* Leaf 0x8 - rsvd */
>> Â Â Â Â Â Â Â Â Â Â Â Â  uint64_t :64, :64; /* Leaf 0x9 - DCA */
> Just to mention, below a patch I have pending as part of a series to
> e.g. replace the various CPUID6_* values we presently use. As you did
> indicate when we talked about this, a prereq to then use respective
> bits from host_policy is an adjustment to cpu-policy.c, which is also
> part of that series. If we weren't in freeze right now, I would have
> posted the series already.
>
> Jan
>
> x86/cpu-policy: define bits of leaf 6
>
> ... as far as we presently use them in the codebase.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> Or should we make both parts proper featureset elements? At least
> APERFMPERF could likely be made visible to guests (in principle).
>
> --- a/xen/include/xen/lib/x86/cpu-policy.h
> +++ b/xen/include/xen/lib/x86/cpu-policy.h
> @@ -128,7 +128,31 @@ 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. */
> +            struct {
> +                uint32_t /* a */:1,
> +                    turbo:1,
> +                    arat:1,
> +                    :4,
> +                    hwp:1,
> +                    hwp_notification:1,
> +                    hwp_activity_window:1,
> +                    hwp_epp:1,
> +                    hwp_plr:1,
> +                    :1,
> +                    hdc:1,
> +                    :2,
> +                    hwp_peci:1,
> +                    :2,
> +                    hw_feedback:1,
> +                    :12;
> +                uint32_t /* b */:32;
> +                uint32_t /* c */ aperfmperf:1,
> +                    :31;
> +                uint32_t /* d */:32;
> +            } pm;

This works too, although we don't have 'pm' equivalents elsewhere in
this part of the union.

APERF/MPERF is a disaster of an interface.Â  It can't safely be read even
in root mode, because an NMI/SMI breaks the algorithm in a way that
isn't easy to spot and retry.Â  On AMD, it's marginally better because
GIF can be used to exclude NMIs and non-fatal MCEs while sampling the
register pair.

In a VM, it's simply unusable.Â  Any VMExit, and even a vCPU reschedule,
breaks reading the pair.

Until the CPU vendors produce a way of reading the two counters together
(i.e. atomically, which has been asked for, repeatedly), there's no
point considering it for use in a VM.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Oct 29 16:15:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 16:15:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152976.1483466 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE8pD-0004kd-Mw; Wed, 29 Oct 2025 16:15:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152976.1483466; Wed, 29 Oct 2025 16:15:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE8pD-0004kW-Jn; Wed, 29 Oct 2025 16:15:03 +0000
Received: by outflank-mailman (input) for mailman id 1152976;
 Wed, 29 Oct 2025 16:15:02 +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
 <SRS0=U31q=5G=raptorengineering.com=tpearson@srs-se1.protection.inumbo.net>)
 id 1vE8pC-0004kQ-3m
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 16:15:02 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6a8264bb-b4e2-11f0-980a-7dc792cee155;
 Wed, 29 Oct 2025 17:14:59 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id D76F477907ED;
 Wed, 29 Oct 2025 11:14:58 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id ChDkDWUws-25; Wed, 29 Oct 2025 11:14:58 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 1EACD7790836;
 Wed, 29 Oct 2025 11:14:58 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id Pkqj3wIP6GVt; Wed, 29 Oct 2025 11:14:57 -0500 (CDT)
Received: from vali.starlink.edu (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id ECEBB77907ED;
 Wed, 29 Oct 2025 11:14:57 -0500 (CDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6a8264bb-b4e2-11f0-980a-7dc792cee155
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 1EACD7790836
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1761754498; bh=hkBO+AjfrJ1pLFpHSEWoH03QU5iRaf4ZfXqRnIasWyI=;
	h=Date:From:To:Message-ID:MIME-Version;
	b=u4M5eiuJsNy/xGeGFHBz1JlRMiPuswUIQJ4RybvVaaDAuW6bUUOe6LcVQppwuD/8Y
	 AP478oWl2E5Fj40kyPVo0BEBDrkegZcpCHHw5Z7EPnbrQRMLEx0m0nVQtnbVfcKi4f
	 GnT7JhMmj5U0mHIig53O51bCTBhJSPoVNDxQuTQw=
X-Virus-Scanned: amavisd-new at rptsys.com
Date: Wed, 29 Oct 2025 11:14:54 -0500 (CDT)
From: Timothy Pearson <tpearson@raptorengineering.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>
Message-ID: <984265211.4841.1761754494758.JavaMail.zimbra@raptorengineeringinc.com>
In-Reply-To: <51be9c37-2102-48f6-a135-a079fec334ff@citrix.com>
References: <1669204635.4117.1761694107160.JavaMail.zimbra@raptorengineeringinc.com> <51be9c37-2102-48f6-a135-a079fec334ff@citrix.com>
Subject: Re: [PATCH] MAINTAINERS: Remove Shawn Anastasio as PPC64 reviewer
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Mailer: Zimbra 8.5.0_GA_3042 (ZimbraWebClient - GC141 (Linux)/8.5.0_GA_3042)
Thread-Topic: MAINTAINERS: Remove Shawn Anastasio as PPC64 reviewer
Thread-Index: uZVzH7OkcFEqExu44SEiG48+DAtGfQ==



----- Original Message -----
> From: "Andrew Cooper" <andrew.cooper3@citrix.com>
> To: "Timothy Pearson" <tpearson@raptorengineering.com>, "xen-devel" <xen-=
devel@lists.xenproject.org>
> Sent: Wednesday, October 29, 2025 10:23:07 AM
> Subject: Re: [PATCH] MAINTAINERS: Remove Shawn Anastasio as PPC64 reviewe=
r

> On 28/10/2025 11:28 pm, Timothy Pearson wrote:
>> Shawn is no longer with Raptor Engineering.  For now, add myself as PPC6=
4
>> maintainer.
>> ---
>>  MAINTAINERS | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/MAINTAINERS b/MAINTAINERS
>> index ecd3f40df8..c8764a8c5f 100644
>> --- a/MAINTAINERS
>> +++ b/MAINTAINERS
>> @@ -472,7 +472,7 @@ F:=09xen/drivers/cpufreq/
>>  F:=09xen/include/acpi/cpufreq/
>> =20
>>  PPC64
>> -M:=09Shawn Anastasio <sanastasio@raptorengineering.com>
>> +M:=09Timothy Pearson <tpearson@raptorengineering.com>
>>  F:=09xen/arch/ppc/
>=20
> Sorry to hear, and thanks for letting us know.
>=20
> For a long while now, the committers (the group called The Rest in
> maintainer) have been operating as if this was an R rather than an M.

My apologies for not reaching out sooner; Shawn's departure has required re=
arranging some resources on this end and we're only getting back to Xen now=
.  Raptor remains committed to the port, and I intend to stay on as reviewe=
r / maintainer in the future to prevent this situation from ocurring again.

> It turns out that most changes technically touching PPC are common/arch
> rearrangements, or common things that need a copy in all arches, or
> comments fixes/etc.=C2=A0 We've been putting these in without a PPC ack, =
so
> as not to block work in other area.=C2=A0 Obviously, anything that is PPC
> specific waits for input.

Makes sense, and appreciated.

> If you're not aware, we do have some PPC64 build jobs and one QEMU boot
> test in CI running on every commit.=C2=A0 e.g.
> https://gitlab.com/xen-project/hardware/xen/-/pipelines/2127184050

Indeed!  In fact, if there is any desire for native builds in parallel on o=
ur POWER9 infrastructure we could arrange that as well.

> Would you mind changing to R to reflect how things are working in practic=
e?

I can do that.  Is there a path where we would want to move that back towar=
d M or is this decision a wait and see as the port progresses?

> Also, we're in code freeze for the Xen 4.21 release right now.=C2=A0 This
> patch will be fine, with a SoB, but the others will have to wait until
> 4.22 opens.

Fair enough, nothing here is time sensitive.  Work continues on the port an=
d patches will start flowing again for 4.22.

Thanks again, and looking forward to working with you over the coming month=
s!


From xen-devel-bounces@lists.xenproject.org Wed Oct 29 16:22:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 16:22:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152986.1483476 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE8vy-0006ju-Bc; Wed, 29 Oct 2025 16:22:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152986.1483476; Wed, 29 Oct 2025 16:22:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE8vy-0006jn-84; Wed, 29 Oct 2025 16:22:02 +0000
Received: by outflank-mailman (input) for mailman id 1152986;
 Wed, 29 Oct 2025 16:22:00 +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
 <SRS0=U31q=5G=raptorengineering.com=tpearson@srs-se1.protection.inumbo.net>)
 id 1vE8vw-0006jh-KE
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 16:22:00 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 649a2112-b4e3-11f0-9d16-b5c5bf9af7f9;
 Wed, 29 Oct 2025 17:21:59 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 3D9317790836;
 Wed, 29 Oct 2025 11:21:58 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id yoK6KqvvWYXM; Wed, 29 Oct 2025 11:21:57 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id C554F77909D6;
 Wed, 29 Oct 2025 11:21:57 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id A3HgJKzp2KYY; Wed, 29 Oct 2025 11:21:57 -0500 (CDT)
Received: from vali.starlink.edu (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id A50357790836;
 Wed, 29 Oct 2025 11:21:57 -0500 (CDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 649a2112-b4e3-11f0-9d16-b5c5bf9af7f9
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com C554F77909D6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1761754917; bh=kl1KEbh9Ft0GCHWz4g0qKwnPGZ2NpPYJTjTRcy1f+UA=;
	h=Date:From:To:Message-ID:MIME-Version;
	b=l9Hxdo46v1Ul0ky7sVgF4bvWP2yPDH+NlIU69ctUEglkvxtLiWFddTkGq3V3lvjYJ
	 noHRA4KIQhlU34H+0vWmVt54wj1IoBj7KzwzuDHLz5VgYgK9uGPBSIKzzGxZWdEbqb
	 v1McKvu8STZl3fVBoZPm5dM/+gA15m+Fs5cEo4U4=
X-Virus-Scanned: amavisd-new at rptsys.com
Date: Wed, 29 Oct 2025 11:21:57 -0500 (CDT)
From: Timothy Pearson <tpearson@raptorengineering.com>
To: xen-devel <xen-devel@lists.xenproject.org>
Cc: Shawn Anastasio <sanastasio@raptorengineering.com>, shawn <shawn@anastas.io>, 
	Andrew Cooper <andrew.cooper3@citrix.com>, 
	George Dunlap <george.dunlap@citrix.com>, 
	Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
Message-ID: <1794235010.4856.1761754917625.JavaMail.zimbra@raptorengineeringinc.com>
Subject: [PATCH v2] MAINTAINERS: Remove Shawn Anastasio as PPC64 maintainer
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
X-Mailer: Zimbra 8.5.0_GA_3042 (ZimbraWebClient - GC141 (Linux)/8.5.0_GA_3042)
Thread-Index: cUw/Hiil+ONZbVmqernyfdki6+68Zw==
Thread-Topic: MAINTAINERS: Remove Shawn Anastasio as PPC64 maintainer

Shawn is no longer with Raptor Engineering.  For now, add myself as PPC64
reviewer.

Signed-off-by: Timothy Pearson <tpearson@raptorengineering.com>
---
 MAINTAINERS | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index ecd3f40df8..c8764a8c5f 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -472,7 +472,7 @@ F:	xen/drivers/cpufreq/
 F:	xen/include/acpi/cpufreq/
 
 PPC64
-M:	Shawn Anastasio <sanastasio@raptorengineering.com>
+M:	Timothy Pearson <tpearson@raptorengineering.com>
 F:	xen/arch/ppc/
 
 PUBLIC I/O INTERFACES AND PV DRIVERS DESIGNS
-- 
2.39.5


From xen-devel-bounces@lists.xenproject.org Wed Oct 29 16:23:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 16:23:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1152996.1483486 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE8xl-0007FV-ME; Wed, 29 Oct 2025 16:23:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1152996.1483486; Wed, 29 Oct 2025 16:23:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE8xl-0007FO-Ip; Wed, 29 Oct 2025 16:23:53 +0000
Received: by outflank-mailman (input) for mailman id 1152996;
 Wed, 29 Oct 2025 16:23:52 +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
 <SRS0=U31q=5G=raptorengineering.com=tpearson@srs-se1.protection.inumbo.net>)
 id 1vE8xk-0007FG-0z
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 16:23:52 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a72df9ea-b4e3-11f0-9d16-b5c5bf9af7f9;
 Wed, 29 Oct 2025 17:23:51 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 3A4517790B35
 for <xen-devel@lists.xenproject.org>; Wed, 29 Oct 2025 11:23:50 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id PD9Rv4tCOCd1 for <xen-devel@lists.xenproject.org>;
 Wed, 29 Oct 2025 11:23:49 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id CA8757790DFB
 for <xen-devel@lists.xenproject.org>; Wed, 29 Oct 2025 11:23:49 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id sSEDBaT-ttMj for <xen-devel@lists.xenproject.org>;
 Wed, 29 Oct 2025 11:23:49 -0500 (CDT)
Received: from vali.starlink.edu (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id ABE197790B35
 for <xen-devel@lists.xenproject.org>; Wed, 29 Oct 2025 11:23:49 -0500 (CDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a72df9ea-b4e3-11f0-9d16-b5c5bf9af7f9
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com CA8757790DFB
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1761755029; bh=LaMMJ1RaAsqQ/4OzrOdilkNi9nebC9PCZG2l1wXmboo=;
	h=Date:From:To:Message-ID:MIME-Version;
	b=ukiyrPPFYgS9GLDnoJz4SIKX9J2jlDcaz5G5w8fHFT8RgiQotdqTT/X/JB2mv+mMb
	 UPIqKCj5S8Ssc2vwc6iC1idfIfpYWfPvyfRi16ymQRgWdkpzs245PvjG8oalF5JY/+
	 orj8r0oPywQGBhoeLgoMniLUXVgs1ggqGfthgFek=
X-Virus-Scanned: amavisd-new at rptsys.com
Date: Wed, 29 Oct 2025 11:23:49 -0500 (CDT)
From: Timothy Pearson <tpearson@raptorengineering.com>
To: xen-devel <xen-devel@lists.xenproject.org>
Message-ID: <1066630274.4872.1761755029561.JavaMail.zimbra@raptorengineeringinc.com>
Subject: [PATCH v2] xen/ppc: Fix tooling FTBFS due to missing definitions in
 public header
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
X-Mailer: Zimbra 8.5.0_GA_3042 (ZimbraWebClient - GC141 (Linux)/8.5.0_GA_3042)
Thread-Index: 4Gm38kUbOdS5euyS7eJvq63OEU+agA==
Thread-Topic: xen/ppc: Fix tooling FTBFS due to missing definitions in public header

int64_aligned_t and uint64_aligned_t need to be exposed when the GNU C compiler
is in use.

Signed-off-by: Timothy Pearson <tpearson@raptorengineering.com>
---
 xen/include/public/arch-ppc.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/include/public/arch-ppc.h b/xen/include/public/arch-ppc.h
index 4ca453a284..264e20b89e 100644
--- a/xen/include/public/arch-ppc.h
+++ b/xen/include/public/arch-ppc.h
@@ -11,7 +11,7 @@
 #ifndef __XEN_PUBLIC_ARCH_PPC_H__
 #define __XEN_PUBLIC_ARCH_PPC_H__
 
-#if defined(__XEN__) || defined(__XEN_TOOLS__)
+#if defined(__XEN__) || defined(__XEN_TOOLS__) || defined(__GNUC__)
 #define  int64_aligned_t  int64_t __attribute__((__aligned__(8)))
 #define uint64_aligned_t uint64_t __attribute__((__aligned__(8)))
 #endif
-- 
2.39.5


From xen-devel-bounces@lists.xenproject.org Wed Oct 29 16:42:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 16:42:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153005.1483496 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE9Fb-0002Gu-44; Wed, 29 Oct 2025 16:42:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153005.1483496; Wed, 29 Oct 2025 16:42:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vE9Fb-0002Gn-1O; Wed, 29 Oct 2025 16:42:19 +0000
Received: by outflank-mailman (input) for mailman id 1153005;
 Wed, 29 Oct 2025 16:42:18 +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
 <SRS0=ah8W=5G=linux.ibm.com=agordeev@srs-se1.protection.inumbo.net>)
 id 1vE9Fa-0002Gh-FD
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 16:42:18 +0000
Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com
 [148.163.158.5]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3968412a-b4e6-11f0-980a-7dc792cee155;
 Wed, 29 Oct 2025 17:42:15 +0100 (CET)
Received: from pps.filterd (m0360072.ppops.net [127.0.0.1])
 by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 59TBiUmF019857;
 Wed, 29 Oct 2025 16:41:20 GMT
Received: from pps.reinject (localhost [127.0.0.1])
 by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4a34agmapu-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Wed, 29 Oct 2025 16:41:20 +0000 (GMT)
Received: from m0360072.ppops.net (m0360072.ppops.net [127.0.0.1])
 by pps.reinject (8.18.1.12/8.18.0.8) with ESMTP id 59TGfJkJ017114;
 Wed, 29 Oct 2025 16:41:19 GMT
Received: from ppma13.dal12v.mail.ibm.com
 (dd.9e.1632.ip4.static.sl-reverse.com [50.22.158.221])
 by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4a34agmapp-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Wed, 29 Oct 2025 16:41:19 +0000 (GMT)
Received: from pps.filterd (ppma13.dal12v.mail.ibm.com [127.0.0.1])
 by ppma13.dal12v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 59TDufOl027440;
 Wed, 29 Oct 2025 16:41:18 GMT
Received: from smtprelay02.fra02v.mail.ibm.com ([9.218.2.226])
 by ppma13.dal12v.mail.ibm.com (PPS) with ESMTPS id 4a33w2mcn5-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Wed, 29 Oct 2025 16:41:18 +0000
Received: from smtpav06.fra02v.mail.ibm.com (smtpav06.fra02v.mail.ibm.com
 [10.20.54.105])
 by smtprelay02.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id
 59TGfGon50594056
 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Wed, 29 Oct 2025 16:41:16 GMT
Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1])
 by IMSVA (Postfix) with ESMTP id 7782620049;
 Wed, 29 Oct 2025 16:41:16 +0000 (GMT)
Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1])
 by IMSVA (Postfix) with ESMTP id 5CF4F20040;
 Wed, 29 Oct 2025 16:41:14 +0000 (GMT)
Received: from li-008a6a4c-3549-11b2-a85c-c5cc2836eea2.ibm.com (unknown
 [9.111.14.225])
 by smtpav06.fra02v.mail.ibm.com (Postfix) with ESMTPS;
 Wed, 29 Oct 2025 16:41:14 +0000 (GMT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3968412a-b4e6-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc
	:content-type:date:from:in-reply-to:message-id:mime-version
	:references:subject:to; s=pp1; bh=O0GllQ+s4BepM53erysRngLqxSW7H1
	UQovnCn/jD3ms=; b=dKse65N4TsbKhRm14Ls1x0hI3RnfKhBH1czot/BQLnftQ3
	VSB7DZeS4jZB8eDykb6LAFo6VP4DPicUoS7xTm2aDbxvYElOMnLDwgTMbL6hRGL3
	TYS5saRlJhejUglioVhTYllR68SkjXm950RJTiB1qR4EMnRLFxf1sZqcvRQZvodO
	Yek9y3+dRvDajApzMXQySHxq9Yen+4lyhPV6/jqwLG52OoPGZzC1m3FxT2WVuVTr
	VFxcExJgzOYhyJmGvwy6S/9Zn5AT7Ur2Bs5o9mFVN5/OIf5QxF96TusPuvcJ/N5y
	26/Ut3TVD0wO2slyQX1cTgeUu10rBK1KrNFyU3Ng==
Date: Wed, 29 Oct 2025 17:41:12 +0100
From: Alexander Gordeev <agordeev@linux.ibm.com>
To: Kevin Brodsky <kevin.brodsky@arm.com>
Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org,
        Andreas Larsson <andreas@gaisler.com>,
        Andrew Morton <akpm@linux-foundation.org>,
        Boris Ostrovsky <boris.ostrovsky@oracle.com>,
        Borislav Petkov <bp@alien8.de>,
        Catalin Marinas <catalin.marinas@arm.com>,
        Christophe Leroy <christophe.leroy@csgroup.eu>,
        Dave Hansen <dave.hansen@linux.intel.com>,
        David Hildenbrand <david@redhat.com>,
        "David S. Miller" <davem@davemloft.net>,
        David Woodhouse <dwmw2@infradead.org>,
        "H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@redhat.com>,
        Jann Horn <jannh@google.com>, Juergen Gross <jgross@suse.com>,
        "Liam R. Howlett" <Liam.Howlett@oracle.com>,
        Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
        Madhavan Srinivasan <maddy@linux.ibm.com>,
        Michael Ellerman <mpe@ellerman.id.au>, Michal Hocko <mhocko@suse.com>,
        Mike Rapoport <rppt@kernel.org>, Nicholas Piggin <npiggin@gmail.com>,
        Peter Zijlstra <peterz@infradead.org>,
        Ryan Roberts <ryan.roberts@arm.com>,
        Suren Baghdasaryan <surenb@google.com>,
        Thomas Gleixner <tglx@linutronix.de>, Vlastimil Babka <vbabka@suse.cz>,
        Will Deacon <will@kernel.org>, Yeoreum Yun <yeoreum.yun@arm.com>,
        linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org,
        sparclinux@vger.kernel.org, xen-devel@lists.xenproject.org,
        x86@kernel.org
Subject: Re: [PATCH v4 07/12] mm: enable lazy_mmu sections to nest
Message-ID: <ef0cd4bc-1a37-4755-8957-d8a7e5c4564e-agordeev@linux.ibm.com>
References: <20251029100909.3381140-1-kevin.brodsky@arm.com>
 <20251029100909.3381140-8-kevin.brodsky@arm.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20251029100909.3381140-8-kevin.brodsky@arm.com>
X-TM-AS-GCONF: 00
X-Authority-Analysis: v=2.4 cv=K+gv3iWI c=1 sm=1 tr=0 ts=690243b0 cx=c_pps
 a=AfN7/Ok6k8XGzOShvHwTGQ==:117 a=AfN7/Ok6k8XGzOShvHwTGQ==:17
 a=kj9zAlcOel0A:10 a=x6icFKpwvdMA:10 a=VkNPw1HP01LnGYTKEx00:22
 a=A7EgIBmc_bNo8zDYgroA:9 a=CjuIK1q_8ugA:10 a=zZCYzV9kfG8A:10
 a=DXsff8QfwkrTrK3sU8N1:22 a=Z5ABNNGmrOfJ6cZ5bIyy:22 a=bWyr8ysk75zN3GCy5bjg:22
X-Proofpoint-ORIG-GUID: 4s5OgOW5GqS8eVWCgDfypaa1QGghCrCr
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMDI4MDE2NiBTYWx0ZWRfXxhPJM2SCp9M3
 JIxHzUs/CGPXr2j/HKIQSyzP/NPWYyBAsUaz21z4d+ni6Yh52/bKe6ciGNuCC/yvPIu873sf8eD
 gUHIw+TkZjXiw5u5gLht6WE4fmO7hFP9NwF2MCouQJJ1JbmQRPIZ83a9wuBP/AITVNjmJ0xGGmG
 qezpKkQxzyKV9sl1nHhwJfM6t+wdGPLGm2dgusnKzSs3rGhIdUuwvWs6rihxfKcmPaUdbPSNC2O
 eRn1rutFYoUesHzwc84/+sqyzl9CY76RRz3bxV43lF1ZZZBVTvKGz/ggCG3uOGlSWeIVhUkfR5+
 V0NM8GYqpxuXlg/ptkK3CqTUml5yz9fsasWNSY3QfT7gjFUhGJ7eXLt9sN5PD8nzr1T3dYuMu78
 3y4Xh9Rxn4COiXYCY3Cfr/IFgKK3Dg==
X-Proofpoint-GUID: mFGA4Vr_KjknbicSy-pCCIOL2RNOgklo
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49
 definitions=2025-10-29_06,2025-10-29_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0
 lowpriorityscore=0 priorityscore=1501 impostorscore=0 suspectscore=0
 adultscore=0 clxscore=1011 malwarescore=0 phishscore=0 spamscore=0
 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound
 adjust=0 reason=mlx scancount=1 engine=8.19.0-2510240000
 definitions=main-2510280166

On Wed, Oct 29, 2025 at 10:09:04AM +0000, Kevin Brodsky wrote:

Hi Kevin,

> +#ifdef CONFIG_ARCH_HAS_LAZY_MMU_MODE
> +static inline bool in_lazy_mmu_mode(void)
> +{
> +	return current->lazy_mmu_state.active;

Whether (nesting_level > 0) is more correct check?
Otherwise, it returns false while in paused mode.

May be check both nesting_level and active and also introduce
in_lazy_mmu_paused_mode() right away to avoid any confusion?

> +}
> +#else
> +static inline bool in_lazy_mmu_mode(void)
> +{
> +	return false;
> +}
> +#endif
> +
>  extern struct pid *cad_pid;
>  
>  /*

Thanks!


From xen-devel-bounces@lists.xenproject.org Wed Oct 29 18:04:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 18:04:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153021.1483506 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEAWf-0004SQ-R2; Wed, 29 Oct 2025 18:04:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153021.1483506; Wed, 29 Oct 2025 18:04:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEAWf-0004SJ-O8; Wed, 29 Oct 2025 18:04:01 +0000
Received: by outflank-mailman (input) for mailman id 1153021;
 Wed, 29 Oct 2025 18:04:00 +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 <SRS0=SvD6=5G=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1vEAWe-0004S9-SR
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 18:04:00 +0000
Received: from mail-wr1-x429.google.com (mail-wr1-x429.google.com
 [2a00:1450:4864:20::429])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a302c1bb-b4f1-11f0-980a-7dc792cee155;
 Wed, 29 Oct 2025 19:03:56 +0100 (CET)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-3ece1102998so113341f8f.2
 for <xen-devel@lists.xenproject.org>; Wed, 29 Oct 2025 11:03:56 -0700 (PDT)
Received: from [192.168.69.201] (88-187-86-199.subs.proxad.net.
 [88.187.86.199]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-429952b7a94sm32890124f8f.5.2025.10.29.11.03.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 29 Oct 2025 11:03:54 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a302c1bb-b4f1-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1761761036; x=1762365836; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:references:cc:to:from
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=9VQ9NFqmoQaRAvyFbiiny8iwf9jUVf2eG2Hxhn7ltXM=;
        b=Yig8Zm6deqmUg6KfbYG9cdGSE1qZQ7oFZMmhjQrCyx7SW6iexfCDHuqFI6Vo9Zp8Br
         iV+9OUcnQ0YZwykadz4pfTuXHWFh3MACaAzILRdrg7ymauPIVQOmpqaEBzyVYXKOPY3q
         lwJ2uqdG6DUCevEbyxGaJ4b0ZxuvNmUhqigDesUJrMC1JRlTVolvOb7EvAU2y7r9frsB
         5rkrT9cZDoL/PpkvNqnnhKWSig2FjJ0TKw+xfc3nTIu4GBbQpXgbfYqUn+pHhzNyPAPr
         vtyAwU5WlGXVw3O/mljFkHHSCv0TRXCCEBGwxYV1LpqyyNPmdZKTlWFqRgR/M/vh/D9a
         ZqOw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761761036; x=1762365836;
        h=content-transfer-encoding:in-reply-to:references:cc:to:from
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=9VQ9NFqmoQaRAvyFbiiny8iwf9jUVf2eG2Hxhn7ltXM=;
        b=achawhm9i218Ca4NNsm05Y7JDRTdOU4cyu3/W/g2LYhJC46R/+BPArT/fNTSk7HWx4
         BIm+QMT9fdG+EahGV1yn3oGxHSWDtKdBhljS71DEnpqN/nDKW+o5fTS/Vet17vrgVdgH
         LbtIADMOS7gJD1Tt0fqFDYsr5Xv3k6wD3LW9bc6T3eALqwlpK4lraHoYzPxabKLeaqDg
         FvjWUAtpUIvumdXkSj6l4NXE1Qwd9N3QZkFZ+9L8c6mm2LYb3WwRRbUSGqnL2aQQ3Hh1
         6g6I2mXG9xFDZgJVtqMbsimTotDoGyfPfC9aY1A6MpbZW3QkDU3PfAmTIIAl0lAGiTKj
         wNhA==
X-Forwarded-Encrypted: i=1; AJvYcCUTU+AyYane88eFGEA4yalwwItNZkEWAqO9EqLUJTFdosDBvCgMeCbCEJK8AP+Ab+NhVNF/8YRJQOs=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywop+s+HAccl8eYMuhUQVEaxvVMY4QmBHPcbKBkkKf6CZCKMN1F
	aqfMyT9/i2vojuudfati4CdTLIYQEJoE5RLxUlkMLA+l3Q7iBTzqAFh4xTPXsN/pVE8=
X-Gm-Gg: ASbGncvVlVFGyO9jXK0X2dYb5eniV3lRUcdTkDDtXCFHmsa5hO8RVdoK/rtlt7dRwus
	A6PBcJ+2f6zxLbCbljUBzY8BvPRSvr8P++KDw4tUz2EADDufHZ0XFSEf+GmYDyxct3GN45b9fiZ
	8Rmj4z/C8tMJiilFsy3389y+PIHofL08LC35T4Y37MM5LQglib/efYpwYKz+dsniUK9IGYlOjeZ
	pPVTohW/MXXtzXISjDBGYrTy3RQmNmLYj7CXE+pknxpR3PHwsuusup4UsSMOAzdzXLNzjwgtG3m
	1Q7L0EK/+A5bzN8ipEu+KVbA3zgSX4KGmtrSkuMX2Qiic8PNYYDqZoETUR0xDC6rks4WqTSHPG5
	cIEXUYQc9KZuN0xSu/u/I4N8fEQ5trVI0JfDY4DIkG7vHk8Z6QEsmLjmGBeZ6EwKsAllJ6rW2KA
	qXWHec74vYpvjWA9OU+sx9sJu+LpQsKjrrEYCLt/YjteI=
X-Google-Smtp-Source: AGHT+IFOOC35tgEDpGgsXmuWu7r0djoujt+Yy6qRLjDUgazWUa9T871lHEfonAwAiAmla/XzbRZFLg==
X-Received: by 2002:a05:6000:238a:b0:427:9a9:462b with SMTP id ffacd0b85a97d-429aef78fb8mr3142266f8f.18.1761761035767;
        Wed, 29 Oct 2025 11:03:55 -0700 (PDT)
Message-ID: <1fb8a69d-de0b-4afd-9e61-083d7b3d7abf@linaro.org>
Date: Wed, 29 Oct 2025 19:03:53 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 0/3] hw/xen: Build only once
Content-Language: en-US
From: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: qemu-devel@nongnu.org
Cc: Anthony PERARD <anthony@xenproject.org>, xen-devel@lists.xenproject.org,
 Pierrick Bouvier <pierrick.bouvier@linaro.org>, Paul Durrant <paul@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Anton Johansson <anjo@rev.ng>,
 "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
References: <20251022140114.72372-1-philmd@linaro.org>
 <64b66fb0-f297-494a-8e79-b38c02c070b1@linaro.org>
In-Reply-To: <64b66fb0-f297-494a-8e79-b38c02c070b1@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 27/10/25 20:17, Philippe Mathieu-DaudÃ© wrote:
> On 22/10/25 16:01, Philippe Mathieu-DaudÃ© wrote:
>> Replace target-specific code to allow building
>> hw/xen/ files once.
>>
>> Philippe Mathieu-DaudÃ© (3):
>> Â Â  hw/xen: Use BITS_PER_BYTE & MAKE_64BIT_MASK() in req_size_bits()
>> Â Â  hw/xen: Replace target_ulong by agnostic target_long_bits()
>> Â Â  hw/xen: Build only once
> 
> ping?

Series queued, thanks!


From xen-devel-bounces@lists.xenproject.org Wed Oct 29 18:26:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 18:26:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153034.1483515 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEAsF-0007Pe-FE; Wed, 29 Oct 2025 18:26:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153034.1483515; Wed, 29 Oct 2025 18:26:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEAsF-0007PX-Cd; Wed, 29 Oct 2025 18:26:19 +0000
Received: by outflank-mailman (input) for mailman id 1153034;
 Wed, 29 Oct 2025 18:26:18 +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
 <SRS0=ywoN=5G=bounce.vates.tech=bounce-md_30504962.69025c46.v1-510f584304124b7393eac5cdb0128675@srs-se1.protection.inumbo.net>)
 id 1vEAsE-0007PR-7Y
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 18:26:18 +0000
Received: from mail187-33.suw11.mandrillapp.com
 (mail187-33.suw11.mandrillapp.com [198.2.187.33])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c14970b6-b4f4-11f0-9d16-b5c5bf9af7f9;
 Wed, 29 Oct 2025 19:26:16 +0100 (CET)
Received: from pmta09.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail187-33.suw11.mandrillapp.com (Mailchimp) with ESMTP id
 4cxbKf73GCzBsTqQy
 for <xen-devel@lists.xenproject.org>; Wed, 29 Oct 2025 18:26:14 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 510f584304124b7393eac5cdb0128675; Wed, 29 Oct 2025 18:26:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c14970b6-b4f4-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1761762375; x=1762032375;
	bh=WpDqBthvvl3YOGRu3RUXgXEvZ5xr6zveGAb+G8h+7bo=;
	h=From:Subject:To:Cc:Message-Id:Feedback-ID:Date:MIME-Version:
	 Content-Type:Content-Transfer-Encoding:CC:Date:Subject:From;
	b=iLNRNhsYxK/Ohg1KJhnCxHf9s5mGYpugtaCRE/DlSevqFmLwFnO39FBf9NcRPRc7W
	 qA+lngi6vTx0B/pK6v0oSb0Y7ZBCd9jsQB1AcJ4DE5AsAL7+VX8+uOAPEl0fs+3VhP
	 f1BtXHw4kZXxP2iIVgknrdxQtck9yFYvOC11Lg86qsn7wzKLuR+yfZ+5WXAm+1c+2g
	 cgwgjuRom0ZHvYK/ZWRuZf7u5K4emXiLpU1QAHxk5uGaOvnlqA2W5aeV3nqKQEXVs7
	 1Sdt5ZnYWjVzxdbxhWHkRtZxTygzN7hwi6JgR0o1b5u3d6WLX1zJo2lIyqgy23WD28
	 Fri0QgXnTq8vQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1761762375; x=1762022875; i=teddy.astie@vates.tech;
	bh=WpDqBthvvl3YOGRu3RUXgXEvZ5xr6zveGAb+G8h+7bo=;
	h=From:Subject:To:Cc:Message-Id:Feedback-ID:Date:MIME-Version:
	 Content-Type:Content-Transfer-Encoding:CC:Date:Subject:From;
	b=ZZ1+9oOHMvfhQV6bHKo5bLMcx60U42Yt+9bpaGYFrHNomvf6PM+pgXrL/5FXpTf55
	 8ZVKXm0OLaTxwt1faMxZjibO4qgrXWcDnvTbQNP58/meLnry2k/qk/G0nBqnKxTHMY
	 US47DtsxztHHzzYE6UO/+5PRg6f1vZ6cIm/MP6gjAw93AQIPvCI+swqBnuGdnEcbRo
	 orpqXzvFiI91tOpaQiUJbeiMbR5oE4BKmDCJq9TapVba0CCcGU1Eadhj6wnwSgYlEn
	 u3mGd1GdTyfRSEL5gJZAgQy6QN4njYIqM/VgD94G1ztijVQoYXX2TGbjbgjVkhE3UM
	 ssdpE95EklhWw==
From: "Teddy Astie" <teddy.astie@vates.tech>
Subject: =?utf-8?Q?[RFC=20PATCH=20for-4.22]=20x86/hvm:=20Introduce=20force=5Fx2apic=20flag?=
X-Mailer: git-send-email 2.51.2
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1761762373646
To: xen-devel@lists.xenproject.org
Cc: "Teddy Astie" <teddy.astie@vates.tech>, "Anthony PERARD" <anthony.perard@vates.tech>, "Juergen Gross" <jgross@suse.com>, "Jan Beulich" <jbeulich@suse.com>, "Andrew Cooper" <andrew.cooper3@citrix.com>, "=?utf-8?Q?Roger=20Pau=20Monn=C3=A9?=" <roger.pau@citrix.com>, "Oleksii Kurochko" <oleksii.kurochko@gmail.com>
Message-Id: <d498a50f6187b362ac5da3c6a7a7c348f35dc4b3.1761761288.git.teddy.astie@vates.tech>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.510f584304124b7393eac5cdb0128675?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20251029:md
Date: Wed, 29 Oct 2025 18:26:14 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

Introduce a new flag to force the x2APIC enabled and preventing a
guest from switching back LAPIC to xAPIC mode.

The semantics of this mode are based IA32_XAPIC_DISABLE_STATUS
architectural MSR of Intel specification.

Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
---
This feature can be useful for various reasons, starting with SEV as
it is complicated (especially with SEV-ES) to handle MMIO, and legacy
xAPIC is one thing that needs MMIO intercepts (and Linux uses it during
boot unless x2APIC is initially enabled, even if it switches to
x2apic afterward). It could also be interesting to reduce the attack
surface of the hypervisor (by only exposing x2apic to the guest).

As it can allow to have MMIO-less guest (using PVH), perhaps it can
be enough for avoiding the problematic cases of virtualized INVLPGB
(when we have it).

In my testing, Linux, FreeBSD and PV-shim works fine with it; OVMF
freezes for some reason, NetBSD doesn't support it (no x2apic support
as Xen guest). HVM BIOS gets stuck at SeaBIOS as it expects booting
with xAPIC.

On Intel platforms, it would be better to expose the
IA32_XAPIC_DISABLE_STATUS architectural MSR to advertise this to
guest, but it's non-trivial as it needs to be properly exposed
through IA32_ARCH_CAPABILITIES which is currently passed-through.

 docs/man/xl.cfg.5.pod.in              |  7 +++++++
 tools/libs/light/libxl_types.idl      |  1 +
 tools/libs/light/libxl_x86.c          |  4 ++++
 tools/xl/xl_parse.c                   |  1 +
 xen/arch/x86/domain.c                 |  2 +-
 xen/arch/x86/hvm/hvm.c                |  2 ++
 xen/arch/x86/hvm/vlapic.c             | 23 ++++++++++++++++++++++-
 xen/arch/x86/include/asm/domain.h     |  2 ++
 xen/arch/x86/include/asm/hvm/domain.h |  3 +++
 xen/include/public/arch-x86/xen.h     | 12 +++++++++++-
 10 files changed, 54 insertions(+), 3 deletions(-)

diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
index ad1553c5e9..01b41d93c0 100644
--- a/docs/man/xl.cfg.5.pod.in
+++ b/docs/man/xl.cfg.5.pod.in
@@ -3198,6 +3198,13 @@ option.
 
 If using this option is necessary to fix an issue, please report a bug.
 
+=item B<force_x2apic=BOOLEAN>
+
+Force the LAPIC in x2APIC mode and prevent the guest from disabling
+it or switching to xAPIC mode.
+
+This option is disabled by default.
+
 =back
 
 =head1 SEE ALSO
diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
index d64a573ff3..b95278007e 100644
--- a/tools/libs/light/libxl_types.idl
+++ b/tools/libs/light/libxl_types.idl
@@ -738,6 +738,7 @@ libxl_domain_build_info = Struct("domain_build_info",[
                                ("arm_sci", libxl_arm_sci),
                               ])),
     ("arch_x86", Struct(None, [("msr_relaxed", libxl_defbool),
+                               ("force_x2apic", libxl_defbool)
                               ])),
     # Alternate p2m is not bound to any architecture or guest type, as it is
     # supported by x86 HVM and ARM support is planned.
diff --git a/tools/libs/light/libxl_x86.c b/tools/libs/light/libxl_x86.c
index 60d4e8661c..2e0205d2a2 100644
--- a/tools/libs/light/libxl_x86.c
+++ b/tools/libs/light/libxl_x86.c
@@ -26,6 +26,9 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
     if (libxl_defbool_val(d_config->b_info.arch_x86.msr_relaxed))
         config->arch.misc_flags |= XEN_X86_MSR_RELAXED;
 
+    if (libxl_defbool_val(d_config->b_info.arch_x86.force_x2apic))
+        config->arch.misc_flags |= XEN_X86_FORCE_X2APIC;
+
     if (libxl_defbool_val(d_config->b_info.trap_unmapped_accesses)) {
             LOG(ERROR, "trap_unmapped_accesses is not supported on x86\n");
             return ERROR_FAIL;
@@ -818,6 +821,7 @@ int libxl__arch_domain_build_info_setdefault(libxl__gc *gc,
 {
     libxl_defbool_setdefault(&b_info->acpi, true);
     libxl_defbool_setdefault(&b_info->arch_x86.msr_relaxed, false);
+    libxl_defbool_setdefault(&b_info->arch_x86.force_x2apic, false);
     libxl_defbool_setdefault(&b_info->trap_unmapped_accesses, false);
 
     if (b_info->type == LIBXL_DOMAIN_TYPE_HVM) {
diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
index af86d3186d..d84ab7c823 100644
--- a/tools/xl/xl_parse.c
+++ b/tools/xl/xl_parse.c
@@ -3041,6 +3041,7 @@ skip_usbdev:
                     "If it fixes an issue you are having please report to "
                     "xen-devel@lists.xenproject.org.\n");
 
+    xlu_cfg_get_defbool(config, "force_x2apic", &b_info->arch_x86.force_x2apic, 0);
     xlu_cfg_get_defbool(config, "vpmu", &b_info->vpmu, 0);
 
     xlu_cfg_destroy(config);
diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
index 19fd86ce88..02f650a614 100644
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -704,7 +704,7 @@ int arch_sanitise_domain_config(struct xen_domctl_createdomain *config)
         return -EINVAL;
     }
 
-    if ( config->arch.misc_flags & ~XEN_X86_MSR_RELAXED )
+    if ( config->arch.misc_flags & ~(XEN_X86_MSR_RELAXED | XEN_X86_FORCE_X2APIC) )
     {
         dprintk(XENLOG_INFO, "Invalid arch misc flags %#x\n",
                 config->arch.misc_flags);
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 0c60faa39d..73cbac0f22 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -616,6 +616,8 @@ int hvm_domain_initialise(struct domain *d,
     INIT_LIST_HEAD(&d->arch.hvm.mmcfg_regions);
     INIT_LIST_HEAD(&d->arch.hvm.msix_tables);
 
+    d->arch.hvm.force_x2apic = config->arch.misc_flags & XEN_X86_FORCE_X2APIC;
+
     rc = create_perdomain_mapping(d, PERDOMAIN_VIRT_START, 0, NULL, NULL);
     if ( rc )
         goto fail;
diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
index 993e972cd7..ae8df70d2e 100644
--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -1116,6 +1116,20 @@ int guest_wrmsr_apic_base(struct vcpu *v, uint64_t val)
     if ( !has_vlapic(v->domain) )
         return X86EMUL_EXCEPTION;
 
+    if ( has_force_x2apic(v->domain) )
+    {
+        /*
+        * We implement the same semantics as MSR_IA32_XAPIC_DISABLE_STATUS:
+        * LEGACY_XAPIC_DISABLED which rejects any attempt at clearing
+        * IA32_APIC_BASE.EXTD, thus forcing the LAPIC in x2APIC mode.
+        */
+        if ( !(val & APIC_BASE_EXTD) )
+        {
+            gprintk(XENLOG_WARNING, "tried to disable x2APIC while forced on\n");
+            return X86EMUL_EXCEPTION;
+        }
+    }
+
     /* Attempting to set reserved bits? */
     if ( val & ~(APIC_BASE_ADDR_MASK | APIC_BASE_ENABLE | APIC_BASE_BSP |
                  (cp->basic.x2apic ? APIC_BASE_EXTD : 0)) )
@@ -1474,7 +1488,14 @@ void vlapic_reset(struct vlapic *vlapic)
     if ( v->vcpu_id == 0 )
         vlapic->hw.apic_base_msr |= APIC_BASE_BSP;
 
-    vlapic_set_reg(vlapic, APIC_ID, (v->vcpu_id * 2) << 24);
+    if ( has_force_x2apic(v->domain) )
+    {
+        vlapic->hw.apic_base_msr |= APIC_BASE_EXTD;
+        set_x2apic_id(vlapic);
+    }
+    else
+        vlapic_set_reg(vlapic, APIC_ID, (v->vcpu_id * 2) << 24);
+
     vlapic_do_init(vlapic);
 }
 
diff --git a/xen/arch/x86/include/asm/domain.h b/xen/arch/x86/include/asm/domain.h
index 5df8c78253..771992d156 100644
--- a/xen/arch/x86/include/asm/domain.h
+++ b/xen/arch/x86/include/asm/domain.h
@@ -509,6 +509,8 @@ struct arch_domain
 #define has_pirq(d)        (!!((d)->arch.emulation_flags & X86_EMU_USE_PIRQ))
 #define has_vpci(d)        (!!((d)->arch.emulation_flags & X86_EMU_VPCI))
 
+#define has_force_x2apic(d) ((d)->arch.hvm.force_x2apic)
+
 #define gdt_ldt_pt_idx(v) \
       ((v)->vcpu_id >> (PAGETABLE_ORDER - GDT_LDT_VCPU_SHIFT))
 #define pv_gdt_ptes(v) \
diff --git a/xen/arch/x86/include/asm/hvm/domain.h b/xen/arch/x86/include/asm/hvm/domain.h
index 333501d5f2..b56fa08b73 100644
--- a/xen/arch/x86/include/asm/hvm/domain.h
+++ b/xen/arch/x86/include/asm/hvm/domain.h
@@ -108,6 +108,9 @@ struct hvm_domain {
     /* Compatibility setting for a bug in x2APIC LDR */
     bool bug_x2apic_ldr_vcpu_id;
 
+    /* LAPIC is forced in x2APIC mode */
+    bool force_x2apic;
+
     /* hypervisor intercepted msix table */
     struct list_head       msixtbl_list;
 
diff --git a/xen/include/public/arch-x86/xen.h b/xen/include/public/arch-x86/xen.h
index b99a691706..75aa31d9ed 100644
--- a/xen/include/public/arch-x86/xen.h
+++ b/xen/include/public/arch-x86/xen.h
@@ -309,11 +309,21 @@ struct xen_arch_domainconfig {
  * doesn't allow the guest to read or write to the underlying MSR.
  */
 #define XEN_X86_MSR_RELAXED (1u << 0)
+
+/*
+ * This option forces the LAPIC to be in X2APIC mode (IA32_APIC_BASE.EXTD = 1)
+ * using the same semantics as IA32_XAPIC_DISABLE_STATUS:LEGACY_XAPIC_DISABLED
+ *
+ * Attempts by the guest to clear IA32_APIC_BASE.EXTD (e.g disable X2APIC) will
+ * inject #GP in the guest.
+ */
+#define XEN_X86_FORCE_X2APIC (1U << 1)
+
     uint32_t misc_flags;
 };
 
 /* Max  XEN_X86_* constant. Used for ABI checking. */
-#define XEN_X86_MISC_FLAGS_MAX XEN_X86_MSR_RELAXED
+#define XEN_X86_MISC_FLAGS_MAX XEN_X86_FORCE_X2APIC
 
 #endif
 
-- 
2.51.2



--
Teddy Astie | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech



From xen-devel-bounces@lists.xenproject.org Wed Oct 29 18:29:02 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 18:29:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153046.1483525 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEAur-000813-04; Wed, 29 Oct 2025 18:29:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153046.1483525; Wed, 29 Oct 2025 18:29:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEAuq-00080w-T0; Wed, 29 Oct 2025 18:29:00 +0000
Received: by outflank-mailman (input) for mailman id 1153046;
 Wed, 29 Oct 2025 18:28:59 +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
 <SRS0=brwG=5G=citrix.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1vEAup-00080m-3M
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 18:28:59 +0000
Received: from BN1PR04CU002.outbound.protection.outlook.com
 (mail-eastus2azlp170100001.outbound.protection.outlook.com
 [2a01:111:f403:c110::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 20f6e8e7-b4f5-11f0-980a-7dc792cee155;
 Wed, 29 Oct 2025 19:28:57 +0100 (CET)
Received: from DM4PR03MB7015.namprd03.prod.outlook.com (2603:10b6:8:42::8) by
 DS7PR03MB5592.namprd03.prod.outlook.com (2603:10b6:5:2c2::13) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9275.12; Wed, 29 Oct 2025 18:28:54 +0000
Received: from DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9]) by DM4PR03MB7015.namprd03.prod.outlook.com
 ([fe80::e21:7aa4:b1ef:a1f9%3]) with mapi id 15.20.9275.011; Wed, 29 Oct 2025
 18:28:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 20f6e8e7-b4f5-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Fk9E7VdRp5wuP/QIvfPJwPJzSTDNJN4bSuxRsIK3aSdfBuCTN97BmVtjGTjqPnobXf0DKw+juFpAG8Idma9lVm72guDpF5M7wIXtyr9sZIP/+KPdUOS1hJYsSvGEcWdegEzim/RMoQX29sjG9FQkL0minknpErbKngwBIR7EfdULMeM7tljdPKqS0KmUZkOaflr5WbjM63vl1IGoqxwXHrKpn/jZBi5eNIcuJGDVCNIPZ1cfqTDA7L0b8d2BwZK+V5vaAgI+afkUw+B0qJ+1nVP2LbpNs5+3KUGQTcX2Vf4DtQtpNKBM46dfVU+qKyWLzi3FHqb6zn+DA2O3hrx6bw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=d7qy+yEkKFbdq1RocrZsOY3plHPFISBgb/g4L2H9JUc=;
 b=JsDKVKtmvE9VSmlgvVe2U0KwjMyF594j4vdCS0724UDNKQSzthcsRZc6ctjcf5aY8lKtUo2iSD96/dAtiRVX9cvMgPDP+Pl2n8+2c6CyBL95CCeT5WiBOPvmdnK2ZQ6b6klFJy4imTHkxhwXH/479p0kHznQz9zrvE4Pby4Z0o9K7nUm1/rFzpbAV6qQe7uKF1mu/IevuZ4RroZ0KIC/Vretwc+x4mu8uYeupXcNlMScNtE5C1n+xY6D9SXuXZ55ErKERdnqL9r36mgcUAsMX7wQOqFUl3SpJ/zfK0A1S4DmCqHH69vxdKzrKjqoizwt28RFZXc/B7hlFKoKQt9x6w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=d7qy+yEkKFbdq1RocrZsOY3plHPFISBgb/g4L2H9JUc=;
 b=UeR3IvkmO96T6yChVsfmGAsx91UhGS8y1s1XRd+O8a7pcyI0FVCc9Dc1HjGVIv/pem89l/Qn3F7X89/2LfJaTz4OjndAFXRHhAV9GWBZv6nYIZN0CGCsORMNVExBi6GXbOXFYUMEPkQFaXwVsNPjP7SGYYuJaUaAa4vlIJaYlEI=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <34dfa026-b231-4ab1-bcea-4ab7ab047de7@citrix.com>
Date: Wed, 29 Oct 2025 18:28:49 +0000
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] MAINTAINERS: Remove Shawn Anastasio as PPC64 reviewer
To: Timothy Pearson <tpearson@raptorengineering.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>
References: <1669204635.4117.1761694107160.JavaMail.zimbra@raptorengineeringinc.com>
 <51be9c37-2102-48f6-a135-a079fec334ff@citrix.com>
 <984265211.4841.1761754494758.JavaMail.zimbra@raptorengineeringinc.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <984265211.4841.1761754494758.JavaMail.zimbra@raptorengineeringinc.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0612.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:314::6) To DM4PR03MB7015.namprd03.prod.outlook.com
 (2603:10b6:8:42::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM4PR03MB7015:EE_|DS7PR03MB5592:EE_
X-MS-Office365-Filtering-Correlation-Id: f7eed063-f933-4c37-3deb-08de17190374
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?clpLUEZLQ2o1OE1vR2NRQVlRcGNHRjRxRnZCZEUwRm03SlNSVzA3TkRWZlpo?=
 =?utf-8?B?Rng4M2N4RGt4am5wcm5OWlRic0s0Rkp2MlJvT0NGWnNBd29lNFRYU1NMVDdM?=
 =?utf-8?B?dHUzdERET3pHdDRjaTFzZUZPOTRkWDl4RUIrSFVRUFY0dHBpMy83S0tUbjE5?=
 =?utf-8?B?MjgxVFo2SnNWU1hSZTVEcXA0YjcwRUlURVFpKzRoT293aTlVazdEU2FFM2xz?=
 =?utf-8?B?VXNBLzNUVnU4UEV2QnBTS3dITmYyVDdEdzdUUVJWSHRNYVlQWnlkcnArQTJ0?=
 =?utf-8?B?QUppdFZoOXF4R2IzSWNxcy96Z0RIZTBYU2xhUW9tdlkyUjAraVFsODlkUEMr?=
 =?utf-8?B?OHRsUS9LTEQ0clYydUpDNk9vWmZvK0xsSVNYa0pwa09FVGJsVkR4OXRxQ0hF?=
 =?utf-8?B?c1JrRUdrMUxLZ2Q5cEtiMjF3Si9COFhXSW4zRXFNNXJvUWlNZ2F1N3paNXBu?=
 =?utf-8?B?QWFqOEZLc0tCU2VidjNBSkYyY3l5SjNBSmJYNkZRejBWTzZ0ZUF0RWVNVTJx?=
 =?utf-8?B?VGhGa1V4MVBzNWsrakRhZ1RralZKQUZhSEhxSjFyTDdQTnZZNlhTZ3p3SE5K?=
 =?utf-8?B?UlNOSlVyWHc1Z2RITUVkQXhEN1VrYmM1Wmg0V0Z6ZXlvZktCTnV2dzN2bDN4?=
 =?utf-8?B?MHd0b1Y3ejRxU1AxT25kVTN0ZGlrcDdLaURrRjVRbHVpYVNaRG9UWlBNZjY2?=
 =?utf-8?B?UExLVHRBSUx4cXJPRitKSnBMWWxuTUhHMmhNRDlUMGdIbkM2b2hVVENDOHY5?=
 =?utf-8?B?TStJQUlIZ2h6d0VSM2M4V0JqYjRFVFJGRE52TEtqVHVsZzRRMXRBTmZtd2Rv?=
 =?utf-8?B?NUFueTh0S296NWVLSkorVnRWTHZDSmxpUWNSQ3MyRXZTQjA3N0s4Q2tGUml1?=
 =?utf-8?B?VkVuUURuYzNYbmZUUDd3R0FtSUMvRHIyU0ZRR2Q2K0M5K1hoUXg5d1NSM3Bs?=
 =?utf-8?B?a0N2ZGwvZzYrc3d5NFpmNXVGeGtaRXZrOGR1ZlcyMXVpVFFNNjdyQ2poNUtF?=
 =?utf-8?B?YWtUNDd0TGtZNUViMDNCWGJlVHdWeWJ0RGtIazM2aWk5bEtjQndFYlF2K1RI?=
 =?utf-8?B?ME9XTk9TOFJ1YXYrdlNoL3UwV3NPdVRKMlhnc3I5b2xwVnZTWDZoemRxdHZs?=
 =?utf-8?B?UHV5c2JSbnZEWmxCMXRZOERJWFMzOE16L2lzRkFDL1RhSmxIaU9uSnNYZHRF?=
 =?utf-8?B?R2RkVHZDOE5KdWlodjlPQTNIQXY0OGZBSmFvcUVYU3hhbC94SUFRdGp0L0Nm?=
 =?utf-8?B?MmZxbXZSdGtWQVFqL2gza3QrSFF4dlBZOUsyUTdLRmtMQ3VZZFpycnBVWUdp?=
 =?utf-8?B?RUpRWElmeFk3SzQ2QVFuQ1FyVVlIZ1lkbGFtRk5jUDRkMmh4TllrcS9QQ0V2?=
 =?utf-8?B?QVM3V3RSb2VpVGJwejk2Q25SMWxZOHFxcWxuN2Z4T1c5bkdnZHU2eStPYUNt?=
 =?utf-8?B?bWhNdE1ENG9yaU1CbDFsZVhLUUxlMENPL2dHV3BnZjZIT0tRYmtxeDdlVFl4?=
 =?utf-8?B?TlpTdHlqZU1EbmZzRkg0Y2N0MEZzNlJ1THI4ZWxMOWd0V0hSby9wcHI5a1pO?=
 =?utf-8?B?T1A5cGk2QVBmZzc5U2QrWUdTdmpUdUQ3MUtxQXlXSEQ3V3hZTzY5eXdDOUlU?=
 =?utf-8?B?SnRtaWNXMzM4ZXpwVmZKY0ZoSkRnLy8zZ3YwYVBUazFNVXFkdTZES3pOUlVS?=
 =?utf-8?B?bDA2c0NoU3VaS0o5VDlLeDBOMkFHSXoyQ0kxdms2SkJiWWdVdTBCZ213dDFP?=
 =?utf-8?B?Q1d2V1lBWmlRVHkrU2lwNUowRytiSTcyRlRjcit1UExPRGdUZ0dud0YyL0VE?=
 =?utf-8?B?RE5TRXFvcnkxQ0FUbW9ZL0NNNW1yTXdHVE43NXFFU090Ykk1TXpDaWNkbDdl?=
 =?utf-8?B?VFRSN1oyNE15TCtIa3pXZFBGcnV6cVJ5YVRYeStPS2E2NmI3aHliWFZ2aU5Z?=
 =?utf-8?Q?gdkbz2fJSmCsIegPSUzTdaCibctOV/Ms?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR03MB7015.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TG9YQWc3aTZBSXRIYXJYQjhYVE9wZDFsNGd4Q2o1aXBwR3UxRnpNWm4xWU1L?=
 =?utf-8?B?WGx4WEhCRjZFYlQxWTZNMUh2MFZxTDNQejdJWUltYnd5bTBhSkgvMzFyeWdz?=
 =?utf-8?B?QkhNWmJhNDVyYWRkQkFaMmYydE9iZWZFckFPcWMzc2NSTWhmRG1pdE01OUcx?=
 =?utf-8?B?aEZ5L0wrdTN5c0tqSGRRdHk0ZDEwZmRFWkcrT205QmJFeFJPay9WSVBONGdG?=
 =?utf-8?B?TXR3UjM5MElrU05wWG9PdURHL2xYdFRQaG1OZ2RPMXArdnNmVW9HTFNEcTdp?=
 =?utf-8?B?c2JDL3JiZ1NIUGFNQlNLaTQyM1oyeWFqVXlaODhqeFY5LzlFcG5zdWxlZHdL?=
 =?utf-8?B?TXZxMmRBaGVkVGVrS0hWejd4TmloemFkNXBKcGFUT1ZybTRkWmlLTWpuVUhh?=
 =?utf-8?B?VkFVenY2K0p5OWRkM25GVk9aUTFSSEtmc1dLNFNsUytUVElFTlcyM1RiOEZL?=
 =?utf-8?B?eHhCRDJ4cTZXekcvTzBOMWVjMUlySDBML2VSNllZY0lsU2VZMGFIVVIwemxB?=
 =?utf-8?B?UlVTLzM4N0R6TmlsRmFYbnRydy92OUk5WFRGeFNaRUJXUU9BbnFIWEloQWIx?=
 =?utf-8?B?Q3FvUWxjS3hRdFN0SFd2QVlBeUZoeHkyWktFVXFjNkhPcjRGTGhPY3B0TGxT?=
 =?utf-8?B?YjNaQ1R3YWgyOHBJM3Fhc01LSHBWOGlQWWh2K0g5R0U2Q3MxRHZteWlWWWtm?=
 =?utf-8?B?N2l0S2svQ1M1ZHRodVNkUHlhTUFMUG9mSEdEUmgvZC8yZHJnYmczNWdUQU5W?=
 =?utf-8?B?cE1iYXhGd0plamZMY243dUg0SHhaTkc1Q2VGTDlYRHRlN3RTaUE5akwrK3Q3?=
 =?utf-8?B?ZjNtcmpuL3NDZXUxajBrT20yenBqeDBwbFlZK08rMHBkNnFJVXlzSmxDZTVL?=
 =?utf-8?B?UnZKYkYvYS9laDJUam45OE1vM3dOVVppWnhLeHhwWXRGUHpiNUpLREdLRU5G?=
 =?utf-8?B?OG9LK0kyTlJwSGF6M1ZyUVdKV2swL3E5UXpidkp6MVd5UEtmT2V2NldsUU14?=
 =?utf-8?B?aG5Ha2ltcDRsQXdjWFhxK3cvNmJMMmtyRGlUT1NoUUpqT3F3RkxSczN2Wjlr?=
 =?utf-8?B?NlRaaCtaazIyQUF0WDVzODE3d0tkSW9SbDR2RW9KQUYxNTNFY2M3QzBwd2dQ?=
 =?utf-8?B?L2pNQU9BeU16Tmc1Nm9yaUExZmdkVmpKVVdsWHFhNnJ4LzM5eDNUR3R3Nmwr?=
 =?utf-8?B?eGNyZmhHRWdCM0R0b3gxUkhtQTRrVitmOU1KdldZeFpDMi9vYVRSRTY1ZE1B?=
 =?utf-8?B?SFpqQlhVMU9rbkJtbnFVU2J2Y0p0bGFjOHowTlUydzhEN1VxNlhVR2lLMFlE?=
 =?utf-8?B?NlptVVJIN3BNRTdSK1dtNW5YR0R3Vy96ckJrYzBSL25mNjVsVmx1L2U4ckxs?=
 =?utf-8?B?VzFVZm03Z2J1YUJENXZScG1Jc3Uwb3dHSkFUSWMvVzN2TzFSaDNmV1EyYnh2?=
 =?utf-8?B?ZXprOVRsM0U0V1BPTVNsMmFMMmdQVnEyZC9tZm81azRLVG9lcWR2L3R0ZEQz?=
 =?utf-8?B?Z05vcjFPWUFESWpsQkwrVm03NjgyMTBrcG41VkhHQnl6cisrVThnNmliRUMv?=
 =?utf-8?B?ZjV4YWpFVDFSV2hRWnZYTWdkdEZaSXlGTlB1clpSa0JrRXdtMDZVNzZOUm9W?=
 =?utf-8?B?dUxkcGVRTERpdTBTbHI2NDExK2F3SDhxbHhnOGI2UDYyNEk3QXRtRzgxeTNH?=
 =?utf-8?B?RlZIb0NyUlpJU05NYzNCVDBabmlvZnRQZDdrVEFFemxvSWJiVmNocmdaZ3RC?=
 =?utf-8?B?SkhHTmQ2Tm52SmRCTzcyTEc5a3VkTEZib0RoZ0lVOGdSQzBrSjJaRHFYNWJ6?=
 =?utf-8?B?YWFDWHFFa3hxU2Nkc2EzS3V6bEgwTnVzL01iejZXOXN3WDhsMGtrYnN1bnBx?=
 =?utf-8?B?TnY5Slpjbm1ZVjZzM2pidm9YQ0E5UkZDZFdJUEhKNU91TGhnWWNvQzJ1ckRP?=
 =?utf-8?B?aXpKYXhsNlYvOTNkNVFoOWhVWTRjaktFTFZuTDZpUmgxZml1dEJkaEo5NEVz?=
 =?utf-8?B?UnBlT2xWd2x2SDhPT1dUREpURktLWURqSUg1RGtXZHRDV09qOTF5aGI5NHh6?=
 =?utf-8?B?SFFpSjNlbWluVFB3azBXTHB2QWh2L1lkYWJhZGZGeDZpNDU3OTFoK1ZoT3Y2?=
 =?utf-8?B?MGhqdzJBck9QQ0ROMlBsTUx0M3JQQ3Q4b1R4SkFuNXJDWFllOFNwc0JDZnFF?=
 =?utf-8?B?d3c9PQ==?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f7eed063-f933-4c37-3deb-08de17190374
X-MS-Exchange-CrossTenant-AuthSource: DM4PR03MB7015.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Oct 2025 18:28:53.7757
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: v0AX1FpRqmJujPOythw4Gs3WaNbNeEGa/f4SWTbdjsGkvGtUvxvU2qpTTCX4Vxyz25LKS0V2skHiw0e8MOM81Ru7+jSQMaaeG7vRiNDdSEU=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR03MB5592

On 29/10/2025 4:14 pm, Timothy Pearson wrote:
>> If you're not aware, we do have some PPC64 build jobs and one QEMU boot
>> test in CI running on every commit.Â  e.g.
>> https://gitlab.com/xen-project/hardware/xen/-/pipelines/2127184050
> Indeed!  In fact, if there is any desire for native builds in parallel on our POWER9 infrastructure we could arrange that as well.

We will need that in due course.Â  Cross-compiling the hypervisor is
fine, but the userspace tooling is a different matter.

>
>> Would you mind changing to R to reflect how things are working in practice?
> I can do that.  Is there a path where we would want to move that back toward M or is this decision a wait and see as the port progresses?

Yes, there is a path, probably as we get to the point of tech preview.

>
>> Also, we're in code freeze for the Xen 4.21 release right now.Â  This
>> patch will be fine, with a SoB, but the others will have to wait until
>> 4.22 opens.
> Fair enough, nothing here is time sensitive.  Work continues on the port and patches will start flowing again for 4.22.
>
> Thanks again, and looking forward to working with you over the coming months!

Thanks,

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Oct 29 18:52:39 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 18:52:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153057.1483537 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEBHd-0003bn-Ol; Wed, 29 Oct 2025 18:52:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153057.1483537; Wed, 29 Oct 2025 18:52:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEBHd-0003bg-Ku; Wed, 29 Oct 2025 18:52:33 +0000
Received: by outflank-mailman (input) for mailman id 1153057;
 Wed, 29 Oct 2025 18:52:32 +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
 <SRS0=zIlg=5G=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1vEBHb-0003ba-T5
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 18:52:32 +0000
Received: from CY7PR03CU001.outbound.protection.outlook.com
 (mail-westcentralusazlp170100005.outbound.protection.outlook.com
 [2a01:111:f403:c112::5])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6b768878-b4f8-11f0-9d16-b5c5bf9af7f9;
 Wed, 29 Oct 2025 19:52:30 +0100 (CET)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by DM6PR03MB5146.namprd03.prod.outlook.com (2603:10b6:5:1e8::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9275.13; Wed, 29 Oct
 2025 18:52:25 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9275.013; Wed, 29 Oct 2025
 18:52:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6b768878-b4f8-11f0-9d16-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ZzeRhSojtKVmumcHqaibQ/gxdT888CU0T9R/SrVRJWvmlELpQufpX7iw34ek9NPVWEqpbrE6ygJyvK6EHbV/XYgpVUxhS8Vflwa3seoVvFrbJLMeQRyuhKx77B9XMV6z6iUUWvx4S5J5voULgvIVEiY01jowPzBKXgmyoNJl5NiJI9+Yq3QItPrS2YXZApgCwEGYYufFKW+042gs+8WP5AtL4f1c6SoegweB80yWsjadopuQKL/NUBq5sIlSi+EsltKhPXbJiAhsRE2lvBVuhZ3cQmYq77MczC6WQrqgBzUeSB+tQWLGcfSH/WeBAnoZUIvlkhmM6X3/L9SyAH/WFQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5sH6INCtzCnQXwT71aQgpbPQwdn4imfrZtuBxjyU0ds=;
 b=uiIt05gpJ2IXGvmDSnoRrM5wngxTHtTZBEbiIWjVxHXubnfaboT9k1wXoQ7C3lGMxdvXYKUvbaguDXvBqgy8/lLVrFJJwnoau1eU1BG4zfaxUGJCTHKLW3XGWSV+OJZFhPJxL76BkYH80VmZ92ucF3j4SDIHihvRkKiIwSzS1BEtBOghplEINnms6aN+yLipd/6OO973FMV3Dr7csqzzFHFQvvhu4xwZtkHp3rk+FT2leKLpA7OlWBlUGrtD3AYv3/SXRj8bYZB9JElJCjchD0erVwY8RdaCpRISRUythFq5vf9d1z/lXbfcW7tXO5+eESczNex6Sf20wOwEHcS2Dg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5sH6INCtzCnQXwT71aQgpbPQwdn4imfrZtuBxjyU0ds=;
 b=KTOnoxGo8UQd6vKz0l3Rgrw7cKzMgHzbV4ltxXVzkOMv+2lGsUmrKbXv+Q5pJayaiXl8Q8ErW63mxnCgOJ6dURERNqm/ZqPLEEniia/mhJb33ksrA8Q13as/6wow+nQmwBnrj5PoEfRw+bYbs/TloJtAS17OKS4/ANkxHRB1NyY=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 29 Oct 2025 19:52:21 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Teddy Astie <teddy.astie@vates.tech>
Cc: xen-devel@lists.xenproject.org,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [RFC PATCH for-4.22] x86/hvm: Introduce force_x2apic flag
Message-ID: <aQJiZQ37v9av7De2@Mac.lan>
References: <d498a50f6187b362ac5da3c6a7a7c348f35dc4b3.1761761288.git.teddy.astie@vates.tech>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <d498a50f6187b362ac5da3c6a7a7c348f35dc4b3.1761761288.git.teddy.astie@vates.tech>
X-ClientProxiedBy: MA4P292CA0008.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:2d::14) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|DM6PR03MB5146:EE_
X-MS-Office365-Filtering-Correlation-Id: 3434a43b-2d57-4dc9-c593-08de171c4ce2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?M1lEeHcxQ2tlT3c3Q0F0aWRyQS9oOUx1Nnc2eVN4Tm1QOFZta1h2UnRyS0VM?=
 =?utf-8?B?M1Zvd0l1LzllUFNlWm1yWGNLbEhzdXF0Tkt5N21qSG42aU5SdmE5TlRLeDJN?=
 =?utf-8?B?by9PVmV5dmNjWGRPS0lkRDZaQVVmOFhXUC94Q2JMZ3dxcXpFYUVyQittdkdD?=
 =?utf-8?B?b2QybDN2RVJWUEtNeWtFaGk5eEJ2aGV1TWM1VmFYSGw2bjU1NjVmc3RUSVph?=
 =?utf-8?B?UG9oNHFZWWVNblVtYy9HUDlOWGNidGhQUDZJMFQ0TFFvVy9YdHFIeEtUNWp1?=
 =?utf-8?B?NlhrVG10TXVXOUNaVVFzdUpROTdwVUxzWVlGSEhWRmdaREVMOEdLUGpzNnRl?=
 =?utf-8?B?aGQvTmJpNDZGS2N6Rnk1OTdYbEp1UmtDMmdqMmY2aVUxdjdNQnNudHBGdnhB?=
 =?utf-8?B?YjRxd2ZmV3hCRnhqTTVlTDJQbDVGbktuKzQxQTNaU2R4dDdUbTUyWFV6Qkxq?=
 =?utf-8?B?aTZNMUJTN2phZEszRW0ydVNhaStTMzN4K3NFZUFXTmU1VVFGT05HcFdTS3Fq?=
 =?utf-8?B?Tk40SEtITXBkaEk4RzdtV2hqdU8xSW9MeEFZZTBWRitzR0R4UFpFUHpsTHM5?=
 =?utf-8?B?MktDV0g1cnMzcHcxOHZrajZ5TlhXYm9rMU9KZlJja0Y3SHF6N09LUXZTV3Js?=
 =?utf-8?B?eEE5YWRpek5QblV3TDdCZ0lFeTdvbU9BQmR6Q0FVOHo4NTNaMDcwaTQ4VDg2?=
 =?utf-8?B?L0hQOXF3MkVXdDVhY1dVTXZmY1pZY0xQVG42T3VxWWNUaVBEQkNYTzFqWWVF?=
 =?utf-8?B?ZTVzR0pJcnhOYStqK2RGVlZFUjR0M29UbFlkU280Zi9DQkpiK3ZieWUrSHYy?=
 =?utf-8?B?bW1TSnUvcjBDWmtaUGtvSGZoTGt3NjJQVXQzRk5TSDhhNUZrWUoyOWNzUWww?=
 =?utf-8?B?anllbHhLTUNDTmlidDJPNTA4cDFmbFhCc0kzNWVTVHRJZk15TkFKN0p0bEVI?=
 =?utf-8?B?YlRqUEVqdWY2eFpnMXZnNnRVVDBEOHhSeEVqU2pKM3JCNThreUZJMnlTVjhR?=
 =?utf-8?B?VnVaeWg1STNTSjhMbWlyS3E5U0djZnBWRUVzeTV6bmhhM1JhQlRDQm1nRzlI?=
 =?utf-8?B?Z2ZoRHBPWllVV3FRMXZveXJPTFhGSFNabVVraDR6YTJrYk1BNkdiTS9CRmxi?=
 =?utf-8?B?cVFOZ1lmNWh2SlV0WmlFQ3ZxdXlkaHQvOWRGUy9WUjdmNlo5UTU5SUhvV29l?=
 =?utf-8?B?Q2NoY1BqaUtPZ0lpcFBwSFovc0ErWFM3QVJBU3ZlbE9MVW5UcCtmZ0F0UkJO?=
 =?utf-8?B?aWVDRWlUUVFRelFMcSsyODJ3SFdpQ3htTmNBQWRUam1ZQm54VUlzVHp6Z3U3?=
 =?utf-8?B?QzU2UGtwSE9yUDl5SkFsbDdGRit2WWtRb1NwRUNoOFEzd1hEejJWc3ZPT2Fm?=
 =?utf-8?B?VVg0V1VQRUgyRUFjMDFORGZDZmJJL3N1bHB3N0pXSG51OXFEeGRPMHdSUDk2?=
 =?utf-8?B?ZW94VG9XVXNBTGt2alZrRDFMUDZpcWhkMFA4ZnZJbW4yR1hzLzdhNERyTWtZ?=
 =?utf-8?B?ZzY2RTBDNGRZbExEU0JpSldUaXFxM2kxVzdUcmZCemNPSVI2blpMVkh5bUVp?=
 =?utf-8?B?WDYzNHF3YzRiZ29aNGczVmJac2pVVUI1Q1hUNHI0a1hTOXE4L01WL2NjSzd1?=
 =?utf-8?B?a0VEa2p2a0tSYXNWZXBkeDNJUms2T3NsamlmYVppVURMM1BlMnJpMklqUDJN?=
 =?utf-8?B?eGdpU2s3WDlqRXByYVpMTnI3czlKRkJDSkNxeWFaN0xWeGJKbWcwdnh1UFBO?=
 =?utf-8?B?cG5xTElacXd6TDN3d2x4ZE91OHgzQm5zWE0rRndXeU9VTWxSVEpYaW1WdXNL?=
 =?utf-8?B?dVRoMzJJR0F5ZGErMjBEd3BpbXY2enpGY3Q1L2V3dDN5RTBrMkM3TDgyVmdL?=
 =?utf-8?B?bytCT0VsbEVmRzVsazVPYTRUYzRuWXZhOWJmLzZiWGhESmZoUzRFSXdpbEQw?=
 =?utf-8?Q?hwpBJgBl5vSSSO9GpjJr4gpsgdDtHzaQ?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UVhhWHA0bStrUFFxcG9SZDlCaUhLSll0Rk1MOTlqQVA2SHd3Z2ZvTDdPdXlt?=
 =?utf-8?B?NWplYnIzaExkc1Zya1lBZllpOXlGby9SR2wvaUJaMkF1Zmcvdll2cWwvQnBV?=
 =?utf-8?B?VHgwVGZKbHZKeDBWSHhLV1hmMTlNTlZIQ1ptYkU1aUF0YnNwdU5CMjZVcEFE?=
 =?utf-8?B?VnpkR3FBS3N1YnRCNVV5RG5yOVEvQWNJeW5FV0htNTkxWUpVVFFPUVozVWx1?=
 =?utf-8?B?VXlkNHZlWlJEM3hCK0FkTVhnMzhsUzdmQVBUMEJjcHJya2dGb1ZCV2o3Ky9D?=
 =?utf-8?B?VHV3YUY2ZjRWMGdFS2FMUkg1SjgrQlhtYit5Ync4Smh4M0VjOFJ5VVlvNWpa?=
 =?utf-8?B?TGdpeDUwbEI0b2hOT1krSjUvdHJJOVRjdkFyc3NBTFBLY1pDSEdCc3V5MFJz?=
 =?utf-8?B?UEpBdEx2RXJFbDFmM3lUMFlsdkJkVVlhajNaWC9FWllVSWxJSFJmTDVyZnNL?=
 =?utf-8?B?ZVFUZXlGMWpUR29QdzBXUHdGUFdRd1NldDJKTFU4STdoUnZMREN6dFRSQzhP?=
 =?utf-8?B?SUtxTTQwU1lXNmRkL0lJc3dIZlBXcG5FVDUrYm5CWElMc0xvcmp4Uk5VVjBY?=
 =?utf-8?B?Ly9oOG1tUTBDb29uY3dnaEp4UjdObHVzWHZtWjlMSDg3Uk9UbHhaNktSam9R?=
 =?utf-8?B?aXIwdDVSTkIzSFA2S2hvVWNOaTFhV2kvTk5vOFNaOTZrbVRpTXloR0U5VS9I?=
 =?utf-8?B?TlQ3QkI3MWhmQWFmR0tzSHVyM2NQZWh6NkdjNVF5bjUxWnJhT0FuU09XRC9W?=
 =?utf-8?B?cHladnE4UndRcTFZOG00QnpNL2xMckRZQjIvSWR2d25EYkRSRkJzSFJIaFJF?=
 =?utf-8?B?OGVrb1BqU0FJdGxhWGdvNm1QL3QzRXFmSEU3TGFUaUNxRUZLTWtOeHdzZFcy?=
 =?utf-8?B?YW5xci8vZW1HdWFPYVJpVjZIeWNoSTZPNUp1U25YZlA5eUJJbG82S0JHN2lr?=
 =?utf-8?B?T3V0Z1hnQUNpMXFKdVlYcUlPSStKTDM4TERBNmdpcFhpWFJPVzFRZ3VCblNF?=
 =?utf-8?B?dGxQS0FzLzVsK2RzcmxJV0dpbEpOUk56R09uT2s3cjd4bE82WnlVNjEydUpa?=
 =?utf-8?B?RnJRSElNWHFSemQwL0xJbUI4dHp4eURad3Awd213SnJOc29pUDBQNm9lbGlW?=
 =?utf-8?B?RzJQU3FhVk9PZWl5aldhNXdKTmc4bndLMDVrRWhTaG93T25TaDNYbzQyUmJU?=
 =?utf-8?B?cGVXeXoxOXdXM0F4Rk8wL1NaWkFXYTE4UU1jWDJ5WnNpWmh2OWcvYWMzYkxD?=
 =?utf-8?B?bXVRVldtZDVKZENiNXo1aU1UR0FTMUZGVVNjY1JkdDMyeHUza2dLN3pBeG4v?=
 =?utf-8?B?akZ2ZjhDU282SU05YldhMFVWRHJ4Snc4eEpZWDZYa0xFZkhFa2dzQ0Z4NUIv?=
 =?utf-8?B?VTkvZE9CbHRicjhvNUE1a0MxTTZ0WmRnNWlCWnRhZGhIWmgyTkg1aUh6NDVW?=
 =?utf-8?B?S0hLV0dsL2FESUltU1UrMks1dEhVdVpzZXZ2VVhKSHVSM2hnTStuTjVyQ0gz?=
 =?utf-8?B?a3ptMlViTXRkSmRyblB2WnpSWE13L1hUS1BrbHhKaEwzdEJUOHBNeHNWWGtK?=
 =?utf-8?B?QnhIQ1hhZ25IOThSUi9qMUdhTGZkQVNqODVKUThIdnYraGtZYVZNTWRHTElk?=
 =?utf-8?B?a3FURDhOdVhNWm52N2grQU9lbHI2YjB5dSt6VldaTEN0V0kxZGl2VlJNakVT?=
 =?utf-8?B?KzRNZlZYeTczRWJuWU1Wd21vRjREUDhVTk04dHhDYWhBV1dnbXd2eitnNnAx?=
 =?utf-8?B?TURRVGwyc0xjNEUxVTNGL3pKaTJjU0lYQUFObytldmQ0T0txaHY2VzVJczdD?=
 =?utf-8?B?dzRmN1pNc3BwalFMRnovT2pvM1UxWHVCSFo5UHN4WnlKa00yRU5xZnJuL1V3?=
 =?utf-8?B?N0cxZktZYVgxU01kaGRDeU90K2k3TC9YVWM3LzRBNTNkSTczSU1SM01DaHBy?=
 =?utf-8?B?UlFiMEtYb2tZYnp1WHMvbnZtYnJEWWNIR1VnZlI3TlgzN0F0RnVtQ0R6aHpV?=
 =?utf-8?B?ak9sS1U4ZWQ3YkN4VWg2dTJMa2orVlhYMmRHcExkVEdKd25nUXhBU2Vxa0lV?=
 =?utf-8?B?bmtlbUlFUnVwM3Q3VnJERjZSU2w3eXB4S1dRclU3Yno4WGN3dlg1d2RLWS9D?=
 =?utf-8?Q?2K2OfrOl6QguSeet7sVvdqL9m?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3434a43b-2d57-4dc9-c593-08de171c4ce2
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Oct 2025 18:52:25.5110
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: BKZowiFTetYK/HLl/yGvZivky/HJM3h/nAgkpH7n76YuHRmdVhpSCjsuTM7imYYChZpV/hk6zO694DfTQHcVfQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB5146

On Wed, Oct 29, 2025 at 06:26:14PM +0000, Teddy Astie wrote:
> Introduce a new flag to force the x2APIC enabled and preventing a
> guest from switching back LAPIC to xAPIC mode.
> 
> The semantics of this mode are based IA32_XAPIC_DISABLE_STATUS
> architectural MSR of Intel specification.
> 
> Signed-off-by: Teddy Astie <teddy.astie@vates.tech>

Thanks, some initial comments below.

> ---
> This feature can be useful for various reasons, starting with SEV as
> it is complicated (especially with SEV-ES) to handle MMIO, and legacy
> xAPIC is one thing that needs MMIO intercepts (and Linux uses it during
> boot unless x2APIC is initially enabled, even if it switches to
> x2apic afterward). It could also be interesting to reduce the attack
> surface of the hypervisor (by only exposing x2apic to the guest).
> 
> As it can allow to have MMIO-less guest (using PVH), perhaps it can
> be enough for avoiding the problematic cases of virtualized INVLPGB
> (when we have it).
> 
> In my testing, Linux, FreeBSD and PV-shim works fine with it; OVMF
> freezes for some reason, NetBSD doesn't support it (no x2apic support
> as Xen guest). HVM BIOS gets stuck at SeaBIOS as it expects booting
> with xAPIC.
> 
> On Intel platforms, it would be better to expose the
> IA32_XAPIC_DISABLE_STATUS architectural MSR to advertise this to
> guest, but it's non-trivial as it needs to be properly exposed
> through IA32_ARCH_CAPABILITIES which is currently passed-through.
> 
>  docs/man/xl.cfg.5.pod.in              |  7 +++++++
>  tools/libs/light/libxl_types.idl      |  1 +
>  tools/libs/light/libxl_x86.c          |  4 ++++
>  tools/xl/xl_parse.c                   |  1 +
>  xen/arch/x86/domain.c                 |  2 +-
>  xen/arch/x86/hvm/hvm.c                |  2 ++
>  xen/arch/x86/hvm/vlapic.c             | 23 ++++++++++++++++++++++-
>  xen/arch/x86/include/asm/domain.h     |  2 ++
>  xen/arch/x86/include/asm/hvm/domain.h |  3 +++
>  xen/include/public/arch-x86/xen.h     | 12 +++++++++++-
>  10 files changed, 54 insertions(+), 3 deletions(-)

Seeing there are no changes to the ACPI tables exposed to the guest,
do we want to start exposing X2APIC MADT entries instead of the plain
APIC entries?

The ACPI spec seems to suggest that you can expose APIC entries for
APICs below 255, for compatibility reasons.  But given that we would
force the guest to use X2APIC mode it would certainly need to
understand how to process X2APIC MADT entries anyway.

Not sure it makes much of a difference, but wondering whether OSes
expect X2APIC MADT entries if the mode is locked to X2APIC.

> 
> diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
> index ad1553c5e9..01b41d93c0 100644
> --- a/docs/man/xl.cfg.5.pod.in
> +++ b/docs/man/xl.cfg.5.pod.in
> @@ -3198,6 +3198,13 @@ option.
>  
>  If using this option is necessary to fix an issue, please report a bug.
>  
> +=item B<force_x2apic=BOOLEAN>
> +
> +Force the LAPIC in x2APIC mode and prevent the guest from disabling
> +it or switching to xAPIC mode.
> +
> +This option is disabled by default.
> +
>  =back
>  
>  =head1 SEE ALSO
> diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
> index d64a573ff3..b95278007e 100644
> --- a/tools/libs/light/libxl_types.idl
> +++ b/tools/libs/light/libxl_types.idl
> @@ -738,6 +738,7 @@ libxl_domain_build_info = Struct("domain_build_info",[
>                                 ("arm_sci", libxl_arm_sci),
>                                ])),
>      ("arch_x86", Struct(None, [("msr_relaxed", libxl_defbool),
> +                               ("force_x2apic", libxl_defbool)

This addition needs a new define in libxl.h to signal it's presence,
see LIBXL_HAVE_* defines in there.

>                                ])),
>      # Alternate p2m is not bound to any architecture or guest type, as it is
>      # supported by x86 HVM and ARM support is planned.
> diff --git a/tools/libs/light/libxl_x86.c b/tools/libs/light/libxl_x86.c
> index 60d4e8661c..2e0205d2a2 100644
> --- a/tools/libs/light/libxl_x86.c
> +++ b/tools/libs/light/libxl_x86.c
> @@ -26,6 +26,9 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
>      if (libxl_defbool_val(d_config->b_info.arch_x86.msr_relaxed))
>          config->arch.misc_flags |= XEN_X86_MSR_RELAXED;
>  
> +    if (libxl_defbool_val(d_config->b_info.arch_x86.force_x2apic))
> +        config->arch.misc_flags |= XEN_X86_FORCE_X2APIC;
> +
>      if (libxl_defbool_val(d_config->b_info.trap_unmapped_accesses)) {
>              LOG(ERROR, "trap_unmapped_accesses is not supported on x86\n");
>              return ERROR_FAIL;
> @@ -818,6 +821,7 @@ int libxl__arch_domain_build_info_setdefault(libxl__gc *gc,
>  {
>      libxl_defbool_setdefault(&b_info->acpi, true);
>      libxl_defbool_setdefault(&b_info->arch_x86.msr_relaxed, false);
> +    libxl_defbool_setdefault(&b_info->arch_x86.force_x2apic, false);
>      libxl_defbool_setdefault(&b_info->trap_unmapped_accesses, false);
>  
>      if (b_info->type == LIBXL_DOMAIN_TYPE_HVM) {
> diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
> index af86d3186d..d84ab7c823 100644
> --- a/tools/xl/xl_parse.c
> +++ b/tools/xl/xl_parse.c
> @@ -3041,6 +3041,7 @@ skip_usbdev:
>                      "If it fixes an issue you are having please report to "
>                      "xen-devel@lists.xenproject.org.\n");
>  
> +    xlu_cfg_get_defbool(config, "force_x2apic", &b_info->arch_x86.force_x2apic, 0);
>      xlu_cfg_get_defbool(config, "vpmu", &b_info->vpmu, 0);
>  
>      xlu_cfg_destroy(config);
> diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
> index 19fd86ce88..02f650a614 100644
> --- a/xen/arch/x86/domain.c
> +++ b/xen/arch/x86/domain.c
> @@ -704,7 +704,7 @@ int arch_sanitise_domain_config(struct xen_domctl_createdomain *config)
>          return -EINVAL;
>      }
>  
> -    if ( config->arch.misc_flags & ~XEN_X86_MSR_RELAXED )
> +    if ( config->arch.misc_flags & ~(XEN_X86_MSR_RELAXED | XEN_X86_FORCE_X2APIC) )
>      {
>          dprintk(XENLOG_INFO, "Invalid arch misc flags %#x\n",
>                  config->arch.misc_flags);
> diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
> index 0c60faa39d..73cbac0f22 100644
> --- a/xen/arch/x86/hvm/hvm.c
> +++ b/xen/arch/x86/hvm/hvm.c
> @@ -616,6 +616,8 @@ int hvm_domain_initialise(struct domain *d,
>      INIT_LIST_HEAD(&d->arch.hvm.mmcfg_regions);
>      INIT_LIST_HEAD(&d->arch.hvm.msix_tables);
>  
> +    d->arch.hvm.force_x2apic = config->arch.misc_flags & XEN_X86_FORCE_X2APIC;
> +
>      rc = create_perdomain_mapping(d, PERDOMAIN_VIRT_START, 0, NULL, NULL);
>      if ( rc )
>          goto fail;
> diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
> index 993e972cd7..ae8df70d2e 100644
> --- a/xen/arch/x86/hvm/vlapic.c
> +++ b/xen/arch/x86/hvm/vlapic.c
> @@ -1116,6 +1116,20 @@ int guest_wrmsr_apic_base(struct vcpu *v, uint64_t val)
>      if ( !has_vlapic(v->domain) )
>          return X86EMUL_EXCEPTION;
>  
> +    if ( has_force_x2apic(v->domain) )
> +    {
> +        /*
> +        * We implement the same semantics as MSR_IA32_XAPIC_DISABLE_STATUS:
> +        * LEGACY_XAPIC_DISABLED which rejects any attempt at clearing
> +        * IA32_APIC_BASE.EXTD, thus forcing the LAPIC in x2APIC mode.
> +        */
> +        if ( !(val & APIC_BASE_EXTD) )
> +        {
> +            gprintk(XENLOG_WARNING, "tried to disable x2APIC while forced on\n");
> +            return X86EMUL_EXCEPTION;
> +        }
> +    }
> +
>      /* Attempting to set reserved bits? */
>      if ( val & ~(APIC_BASE_ADDR_MASK | APIC_BASE_ENABLE | APIC_BASE_BSP |
>                   (cp->basic.x2apic ? APIC_BASE_EXTD : 0)) )
> @@ -1474,7 +1488,14 @@ void vlapic_reset(struct vlapic *vlapic)
>      if ( v->vcpu_id == 0 )
>          vlapic->hw.apic_base_msr |= APIC_BASE_BSP;
>  
> -    vlapic_set_reg(vlapic, APIC_ID, (v->vcpu_id * 2) << 24);
> +    if ( has_force_x2apic(v->domain) )
> +    {
> +        vlapic->hw.apic_base_msr |= APIC_BASE_EXTD;
> +        set_x2apic_id(vlapic);
> +    }
> +    else
> +        vlapic_set_reg(vlapic, APIC_ID, (v->vcpu_id * 2) << 24);
> +
>      vlapic_do_init(vlapic);
>  }
>  
> diff --git a/xen/arch/x86/include/asm/domain.h b/xen/arch/x86/include/asm/domain.h
> index 5df8c78253..771992d156 100644
> --- a/xen/arch/x86/include/asm/domain.h
> +++ b/xen/arch/x86/include/asm/domain.h
> @@ -509,6 +509,8 @@ struct arch_domain
>  #define has_pirq(d)        (!!((d)->arch.emulation_flags & X86_EMU_USE_PIRQ))
>  #define has_vpci(d)        (!!((d)->arch.emulation_flags & X86_EMU_VPCI))
>  
> +#define has_force_x2apic(d) ((d)->arch.hvm.force_x2apic)
> +
>  #define gdt_ldt_pt_idx(v) \
>        ((v)->vcpu_id >> (PAGETABLE_ORDER - GDT_LDT_VCPU_SHIFT))
>  #define pv_gdt_ptes(v) \
> diff --git a/xen/arch/x86/include/asm/hvm/domain.h b/xen/arch/x86/include/asm/hvm/domain.h
> index 333501d5f2..b56fa08b73 100644
> --- a/xen/arch/x86/include/asm/hvm/domain.h
> +++ b/xen/arch/x86/include/asm/hvm/domain.h
> @@ -108,6 +108,9 @@ struct hvm_domain {
>      /* Compatibility setting for a bug in x2APIC LDR */
>      bool bug_x2apic_ldr_vcpu_id;
>  
> +    /* LAPIC is forced in x2APIC mode */
> +    bool force_x2apic;

This should be a field in the vlapic struct, but seeing this I wonder
whether we want to virtualize MSR_IA32_XAPIC_DISABLE_STATUS MSR and
set the bit there.  This would also help with migrating the option, as
you could then migrate the "locked" status easily by just migrating
the contents of the MSR_IA32_XAPIC_DISABLE_STATUS MSR.

> +
>      /* hypervisor intercepted msix table */
>      struct list_head       msixtbl_list;
>  
> diff --git a/xen/include/public/arch-x86/xen.h b/xen/include/public/arch-x86/xen.h
> index b99a691706..75aa31d9ed 100644
> --- a/xen/include/public/arch-x86/xen.h
> +++ b/xen/include/public/arch-x86/xen.h
> @@ -309,11 +309,21 @@ struct xen_arch_domainconfig {
>   * doesn't allow the guest to read or write to the underlying MSR.
>   */
>  #define XEN_X86_MSR_RELAXED (1u << 0)
> +
> +/*
> + * This option forces the LAPIC to be in X2APIC mode (IA32_APIC_BASE.EXTD = 1)
> + * using the same semantics as IA32_XAPIC_DISABLE_STATUS:LEGACY_XAPIC_DISABLED
> + *
> + * Attempts by the guest to clear IA32_APIC_BASE.EXTD (e.g disable X2APIC) will
> + * inject #GP in the guest.
> + */
> +#define XEN_X86_FORCE_X2APIC (1U << 1)
> +
>      uint32_t misc_flags;

If we go the MSR route we won't need a new misc_flag, as the toolstack
could set the initial value of the MSR_IA32_XAPIC_DISABLE_STATUS using
the existing way to load vCPU context.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Oct 29 19:13:51 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 19:13:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153070.1483545 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEBc1-0006pC-JH; Wed, 29 Oct 2025 19:13:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153070.1483545; Wed, 29 Oct 2025 19:13:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEBc1-0006p5-GP; Wed, 29 Oct 2025 19:13:37 +0000
Received: by outflank-mailman (input) for mailman id 1153070;
 Wed, 29 Oct 2025 19:13: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
 <SRS0=zIlg=5G=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1vEBc0-0006oz-AN
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 19:13:36 +0000
Received: from PH7PR06CU001.outbound.protection.outlook.com
 (mail-westus3azlp170100009.outbound.protection.outlook.com
 [2a01:111:f403:c107::9])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5b10c2bf-b4fb-11f0-980a-7dc792cee155;
 Wed, 29 Oct 2025 20:13:31 +0100 (CET)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by SJ0PR03MB7026.namprd03.prod.outlook.com (2603:10b6:a03:4e8::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9275.13; Wed, 29 Oct
 2025 19:13:27 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9275.013; Wed, 29 Oct 2025
 19:13:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5b10c2bf-b4fb-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=kFIP/QWnv5viD+mmMfYoPAco2elGfcolPUszRP1q6q3NdgI1vTvGdZV8uiXp4qCtpLiiXDKLiNiVyxU6pXU7psGUlwKPs6BiOMQbNMQKXjmwdwXTDQDUdYFqZSCHI03+QyZiB9RObZJLlwGwi857minvxZOPV9vPgiYqZxXDOW0yLj1kWExuNmuqQLngRe8F77nrCkBHu1kl7hPCpiQtXA2xTeFtqbDXqKPEPEu1J/7hw6Zr8RPP4DooQ4fJ9ZbBDtdwK/xyD0nqVz+jBBlB2xFmoxuG4Cv1gQZ6n9uS+2VqTPccWJRx/8kDuZarioMNEWTRq2EC2uCHltuYLVt+Wg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=J7iCltpy8vsjKuNeZunqiKgTCTzeMoQ8MfB191qo8RA=;
 b=diI67vzOhlUvnmjei3KmpbdbMp0KLPStAwm5UeEnXxXfoL0U2tB5HYQtDQIauSBsInkYrUsq5mrX2qJSHZzXPriuEq/OU2eMTjo8t6gT7BVIM/Vk5u7oLdL4Vx4UtCnvtg7EtwkTFbOE4eERT282iaYVyLZqCcTPD1kL7xXCHdjTBKf7g/HuQ8bmLnCMoUAKI+2WV3kfDy1H1e/aJBs7yXhxbCnW6t0JjvEVjkrN8hY6qdeXUQyB10VCL6fnxGrMFPlSCInODYBifoGpMedeRtNUkjcVnQ8lZ/28ZbTdQLS/ZKQNEyo1tiKdn9DmycU4/iLDmrf3OaHI26EcwA8G2A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=J7iCltpy8vsjKuNeZunqiKgTCTzeMoQ8MfB191qo8RA=;
 b=y5fYR21AhzL75kTuBj4NM6QGaymm8i5C3f+32Q82QYG+ersbAP93etwWOrtRxgrEs8braGp2BTs+rktEjLVrjCvs0WGoj1zQp5LnNz0beTBQ/xoUH19v8mj3f1JQWweGN7U7TIYyMOiOayb6tAVEeD5MqsrO6DEST6+Q/Kq5Iv0=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 29 Oct 2025 20:13:22 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.21] symbols: avoid emitting "end" symbols for data
 items
Message-ID: <aQJnUucAvn6Y2oc-@Mac.lan>
References: <6fdfd369-6c1e-48a5-8189-4999d566788a@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <6fdfd369-6c1e-48a5-8189-4999d566788a@suse.com>
X-ClientProxiedBy: BN9PR03CA0590.namprd03.prod.outlook.com
 (2603:10b6:408:10d::25) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|SJ0PR03MB7026:EE_
X-MS-Office365-Filtering-Correlation-Id: 9299239b-71d6-49f4-ae39-08de171f3c2f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?TUx4TU1RMzlWY2xTVU5KN3R0NlNQOThSVW1qcmIyelJSYXljL0hpSzF6RStW?=
 =?utf-8?B?MG0vVnVoNkhnSDZWaGxFaStZQXBXRlk1UE9lYnRhd3NBTjQ2dVpEKy9XbjZn?=
 =?utf-8?B?SkVMVGVFN1F6WERtYzRINGZwNm5YY1FoZk1rL0dWTFlVYUlkV1kxd1FTWDQx?=
 =?utf-8?B?ZTNOMUsrak14cXJ5SXcvNWRPQ1VuSHNabEVONXBPUzFucFRFcU5FTDhaQTh5?=
 =?utf-8?B?b1l0bldndG9WbUVYZ3dwaVE0Y1ArOCtCV1Z4dEFPNUVyS0Q5b1FLOE13SG1E?=
 =?utf-8?B?bm9jUzhqMDVySjh1Y0I4em9pMGlCMnBSenBQeEZQY3lCVWlOU29lZVRMMlRH?=
 =?utf-8?B?Vm93bTAyYXplaDlzQy9oU1g0TEJrMlBRZmJYYlkwaUJyWkNDREtWaWMxUzdp?=
 =?utf-8?B?QzhYVmtXWElhcFNGUDNtQ0lSZHdHOVR0akJxRStONFFZdWtYZDNzYVNwenEw?=
 =?utf-8?B?bWZJSUh2dkY4UzVyQ0ZyOW96NmVKUUZIRUtWbm1xZ3BHUzVpS05BWjBLSDEz?=
 =?utf-8?B?L1lqdEVMMXI1aTF5ZHNOelpYamZlYlBJbUFaN3pKZjNORTBTOEk1Z2NSdWZw?=
 =?utf-8?B?YkpDZW1NeGIrM1dyMjI5STB4MkkyMllmeWtLN2dtL3dhYjVQY2RtMGROVzRM?=
 =?utf-8?B?akZBWGlCa29KZmNoU01udEFCWXlSaVpSN1ZSMGhza0crcGpKdFVGVEtCSndR?=
 =?utf-8?B?bCt0UWttc00wLzU4U1U0ZTd4TGduMWNWdnU4ekw3RndOcDNmMDV0bDRpL2t2?=
 =?utf-8?B?aGpVaFBOenhSUjMvdit5RTg3Z1M5ZnR1UVR2Y1cwQ1NucjJ3UlZTK1A3K0pW?=
 =?utf-8?B?eW9tbm5XUDNNVW0yc2h2Q0VHVjI0ZEkwanZjVHhodkhMUHBWQk5heW9vazFj?=
 =?utf-8?B?VEhhNzAwTTU1ZkpzNUhDdVppb09veUp0L2l0MGRhTXhRTG94ZWkzUmlKaUpL?=
 =?utf-8?B?eTJiOFRTTXdVQ0lSV0VYYkZmUmhEaVRhTTNGSHF4dmpha2lsUzhMb2dubEtn?=
 =?utf-8?B?WkQ5K09vTFFKOU41WFpySlhIVHBycEdZYXlONlN6cm1mSDNqSWcrM1lWU0RT?=
 =?utf-8?B?ZjY3dU5NQk5hcjZqbG9sUEE1UjZiWnprM0hZam1QTWZ2bW9uTXF1QjNhblZa?=
 =?utf-8?B?WHd2QUo4VnpsWFBJRkdvdGRQWlhmTklLWDc4aGQzdXhqZXJQaGREVzBJMHYv?=
 =?utf-8?B?UW4rZFVWdU5sMG96QkpmYzBGNDFlSXZJYjIvUG1qWXAzVms0NWJwbW90Q0Fn?=
 =?utf-8?B?blgxY3BUbHZRck1aN2pyRDd3c3V2aWVaY1ZEc0JLcmh2eW15MTNOMUpDZUlh?=
 =?utf-8?B?L0pYb3B5Ulhya09mZS9QSHN5KzZiKy85c2pVTGtXRjQ0VndnMGI0VnVMV1Fi?=
 =?utf-8?B?M21TRTdLN01ObzBYU3JKWmorV2NNZkR1Ly9aMXI1S0NoTXF1Qy9NK3RMZjAx?=
 =?utf-8?B?ekNZNEtBNFNXQzIzK1BpZ0pWTFlSaFA5QllDZVRab3dUOWFXMTF6QjN6VEI1?=
 =?utf-8?B?WUhZbFNpVXNMREcyd25iRXZ1RFF2aEJuRDNZNFdjNEhPVXdQU3M1dkJsNitr?=
 =?utf-8?B?MFlLamNSRStObDBHRXRXdmovQVcxUXltQnhvNm54WWVPNy9ZMG9rQTBzTTQ5?=
 =?utf-8?B?bkpnNVUwL0pKUHlGdVZUSU04RmlzYThJQ081ellVYloyRy9RZFBVWWJXRFpr?=
 =?utf-8?B?ai8xQmJzbjhQa2xaVHIxWloreW1RU2lPSHNmQzR4MVQrNzJaREh0UEJyZWJi?=
 =?utf-8?B?YVFCTDZyOUw2dnZLVldQaHorR2pvakNHZDVKa2dmcCtxNEFBaE04SXJNYkVE?=
 =?utf-8?B?VW04VjNJdjhHY1pTdFVodC9ZcWNINHJsUitMWTZIb3YrQ1pmUHhRZnVLWlht?=
 =?utf-8?B?SklsemNIMm9LVU9jZ0pncnlJd3JRbjJvZHRvOS9RUXNsTm81eVNESTdsY2ZH?=
 =?utf-8?Q?S3xvGx23S2iS6z/S5GntJAl0MuKwYVa2?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MEVsOWFRMGRUQlhoVHZOMmMrWDI2V0hFbzhqTVdkeVlocDJKR0lFeU94OWlC?=
 =?utf-8?B?a2tjLzRWZGUrRE9SaEczaFFkWlJ1YkdQZkR6U3NUV0J5VjBjZzFVd2JBZ0g5?=
 =?utf-8?B?djdOcmxzL1EyNExQV2luOCs4Z1Q4QXZKV0JPZ1JYQjlIa2hrSm1CY3RsakpT?=
 =?utf-8?B?TVNlSWU4cWN1SlVhUkgrTEdqazE4OXFRT1Z4WFk1STdOK0VqeFJDZEFtYzFL?=
 =?utf-8?B?b1VOemhjRCtZUzdHaVlKK1FQM0JrL3pSR2ZsZVBIa3FjU3R4RTBZbVFpQW9j?=
 =?utf-8?B?N0F5eVo0RnRvbEdDbHdzL3ErQzMrQW1aRG9DeGFaa0JoUXV6RWRhbkJiMCtn?=
 =?utf-8?B?bTN0VDhPdnN2Y3llUjNvbmtNd3p6K0JvMkNpZXVsVjlLYVUvSHhGM2hFVGZj?=
 =?utf-8?B?VWdFTUhCd3VNYWZrSkpEbEhLWGJtMVFkdVk0NWpGQVVid0F1RUlFbUdCSGlI?=
 =?utf-8?B?NVdscC9ISVcyc3gzYlZzeTRyZkQwcERKa3E2N1VocVByZ2VoOWpXdXp5QlNn?=
 =?utf-8?B?Yi94MGlyR2UvU0szZTJHZFo3SFFkRXFyenZBTjZkMTNHSEcva2FTUEVuOFRq?=
 =?utf-8?B?VGlSSXZrUVREbFpPeFFoWmdjMUZIV2UrQXdoTkdsYnZYQzJjcEpGVjZJcVFH?=
 =?utf-8?B?bkxOem1QN3IvMnJjSUx4Y2Z5OFluODFOTHNvbGZrUEM2MnliL0Z0N0k5Z0cz?=
 =?utf-8?B?U2IrUjJWOGhSRVJHdUZhU0hRNzNPWElqQkJJblhWaGpvQTZBVDZmYjNxTHI0?=
 =?utf-8?B?WTRlaXpoWjM3d1RpVVpudTFqSk8zZ1o5eWh3eTd0SVVOejZwcEVrcHVGcVRM?=
 =?utf-8?B?c3VSZTJTOVgrRjFDVmFWaWx1bWxDRjM5czBhVWk0OTdVYjYzRzQ3N093Q1FE?=
 =?utf-8?B?cnF6ZlZ3RGFqeHZXRno1dy9jVnFyWm9iNzBGa1RKQTk2dHAxaER2Ni9ubzN3?=
 =?utf-8?B?aWgvc1dtemlhQ0MrNExBSVFBbktKMWdldHo1ZHlMbTc1Q2V0aEVYcGl2MGhm?=
 =?utf-8?B?TyszeGtKdUxNL0hmMkZ5VkJscE1BMEx6ZVVjZXZxbzl4K0NBaXlxZDZ3MmRP?=
 =?utf-8?B?QXJrSW1Cc0haRTVRWmVFeWIrcXJsUTBwMjJKNkliV3dSTWF3NmZxQmh2dW0w?=
 =?utf-8?B?U24xS0FmSFdPcFhIRElDMUQ3TURqZXUvcUcyUGxoU3JidHI3N1pJNUxENTly?=
 =?utf-8?B?MktiQlp0ZGJ6UlVoR2taVjMwQmdyc0MyNkNKWFZJdVUreU80OU9OZE9OS2Jh?=
 =?utf-8?B?d1d4bWRmTjVoUDlMM1ZDczZZSlhsVVBZbSttMGRTc3NHSFNvTm8zcGpISEY2?=
 =?utf-8?B?bnlDQk10OWYvQkJLaEdzci9yMytLcGthdTVlNklDMXBzckVwb2FiZlN0cnBu?=
 =?utf-8?B?ZEVBSGMxaUo0bEEzbHoyWldCSHppcVNIQ2o3K2EzYzhwYmVSUlNFV3dKZWxj?=
 =?utf-8?B?Z3J4aHRjc3dzenNCa1l1S1E2MVlKb1JRUFNJVU4xWUlVS0krRks2YUN4TEtI?=
 =?utf-8?B?NVhWMEZjanlJdUhlZE8zYU1RQm44bFBtK01pR2tzWENuVDkzL0FuNkVJT2RS?=
 =?utf-8?B?Myt3WTU3dHdnRFltVFlmY2NjL2xNaDNxT0F6WWhON3cxWTY2OEhtMmd1enN2?=
 =?utf-8?B?ZVB2dURRZEZnRHA1eFZmUXh4ZzR2Q1NFWnY5bnpzMXU1dU9LejAxL01PaDho?=
 =?utf-8?B?VStQK2krVEtBVzdHUEdWRmpUSTN2R3dCWlk5SWFEK2ZrVFJXQWpwYXRJdFlG?=
 =?utf-8?B?bjFWcDdlUEsvdHVlUU9WU1ZnalNTTWxRRDdDN3c5aHlkaTZ5WEw2QjVQMzdF?=
 =?utf-8?B?T3B0NkkzdGpzVFNYdnlyRmZQTzczbm1NOVI0RXZFVVFTeVM2aXY1UjRMZEJO?=
 =?utf-8?B?eWVsR0dkYWsvSmxySy9weFVKd3RBc0E5N3JQSSttemdjbXZPSVJ0azRGRTVq?=
 =?utf-8?B?UitaYUR2MXdCcjNwdDUzZmhKZi9rQVlaVkJrRGZGemhzK0JKTjF6VndPNmx5?=
 =?utf-8?B?M1ZlWW9NSTVKd3lqc3B2SHJ0RGhnbll5bTF6SEVPNVZpWldTN2NTRDROUVlH?=
 =?utf-8?B?cHc5NFpaUlRFaGJWSWQzbWpOTlAzRFdRZHh6a01QYkxiZlEwL3JpODV5OEtP?=
 =?utf-8?Q?h9WR3X9FDNzyRH2soPXnlo6lT?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9299239b-71d6-49f4-ae39-08de171f3c2f
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Oct 2025 19:13:27.0995
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 6Tunz3DYAwiOu7uSQU5t5ziSZPIKoO2R5a0bscEBnjQPXCiXFV2Xocp3U2vTSWVNGcfuv7/Pf/hATAEcmnsH3A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB7026

On Wed, Oct 29, 2025 at 02:34:29PM +0100, Jan Beulich wrote:
> symbols-dummy.c and the generated .xen-syms.?.S may place their symbols in
> different sections: Like for all C files, -fdata-sections may be in effect
> there. As a result, besides moving these symbols may then also have
> different amounts of "end" symbols inserted between them. While the
> movement is likely not problematic, the change in table size is - linking
> passes 2 and 3 want no address (and hence no size) changes between them.
> 
> As, at least right now, the "end" symbols are useful only for code, limit
> their emission accordingly. When data symbols are emitted (i.e. when
> LIVEPATCH=y), this obviously also has a positive effect on overall table
> size (I'm seeing almost 600 entries going away in the build I'm looking
> at).
> 
> Fixes: d3b637fba31b ("symbols: arrange to know where functions end")
> Reported-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Thanks, this does seem to solve the issue I was seeing with clang +
LLD.

Acked-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
Tested-by: Roger Pau MonnÃ© <roger.pau@citrix.com>

With the commit message adjustment that you discussed with Andrew.

Roger.


From xen-devel-bounces@lists.xenproject.org Wed Oct 29 19:39:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 19:39:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153081.1483555 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEC0e-0001cW-GE; Wed, 29 Oct 2025 19:39:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153081.1483555; Wed, 29 Oct 2025 19:39:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEC0e-0001cP-DJ; Wed, 29 Oct 2025 19:39:04 +0000
Received: by outflank-mailman (input) for mailman id 1153081;
 Wed, 29 Oct 2025 19:39:03 +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
 <SRS0=BbVn=5G=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1vEC0d-0001cJ-93
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 19:39:03 +0000
Received: from sea.source.kernel.org (sea.source.kernel.org [172.234.252.31])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e98315e0-b4fe-11f0-9d16-b5c5bf9af7f9;
 Wed, 29 Oct 2025 20:39:01 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sea.source.kernel.org (Postfix) with ESMTP id 6B6374028E;
 Wed, 29 Oct 2025 19:38:57 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id BDC4CC4CEF8;
 Wed, 29 Oct 2025 19:38:55 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e98315e0-b4fe-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1761766737;
	bh=VpF+HXQvKAGcwLVQXdYIgEvYZ7Cyam+S2WQt8OGwxlA=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=T1wjT+CSPTO8a5vjLFIkfBSsHACXZGZY9c23RdWH1hSye8LYJ9qc7iW2SpJM7mA+R
	 rlWEayiO6lvZ4q3CuuBFwL4xjg9ca/iMTFz52inHw0s3HCNg9EDeXVFqrliwkdpZqL
	 Io7ZVuZIDqVEgFG7tEpBTzZ7hN7qf3wIrMBrjj7m46yCEKZlc4855TtbYBxLg6XEQX
	 cosZ0jw7eyYax33K3B99TnUeEfI3A4d3Jcufmfrvfao0CLRaah5d5YXJ2FFdQn2t2M
	 d9H90r4qTLOv4q52mlLtMFxnr0Cj658F/tdwf5aENmtJBD42rt5y2X3BkNN9Ezmh9o
	 Reov5QVYshGJg==
Date: Wed, 29 Oct 2025 12:38:53 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Timothy Pearson <tpearson@raptorengineering.com>
cc: xen-devel <xen-devel@lists.xenproject.org>, 
    Shawn Anastasio <sanastasio@raptorengineering.com>, 
    shawn <shawn@anastas.io>, Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, 
    Wei Liu <wl@xen.org>
Subject: Re: [PATCH v2] MAINTAINERS: Remove Shawn Anastasio as PPC64
 maintainer
In-Reply-To: <1794235010.4856.1761754917625.JavaMail.zimbra@raptorengineeringinc.com>
Message-ID: <alpine.DEB.2.22.394.2510291238140.495094@ubuntu-linux-20-04-desktop>
References: <1794235010.4856.1761754917625.JavaMail.zimbra@raptorengineeringinc.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 29 Oct 2025, Timothy Pearson wrote:
> Shawn is no longer with Raptor Engineering.  For now, add myself as PPC64
> reviewer.
> 
> Signed-off-by: Timothy Pearson <tpearson@raptorengineering.com>
> ---
>  MAINTAINERS | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index ecd3f40df8..c8764a8c5f 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -472,7 +472,7 @@ F:	xen/drivers/cpufreq/
>  F:	xen/include/acpi/cpufreq/
>  
>  PPC64
> -M:	Shawn Anastasio <sanastasio@raptorengineering.com>
> +M:	Timothy Pearson <tpearson@raptorengineering.com>
>  F:	xen/arch/ppc/

The "R" letter is used for reviewers. The change can be done while
committing.


From xen-devel-bounces@lists.xenproject.org Wed Oct 29 20:06:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 20:06:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153090.1483566 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vECRO-0005o3-IQ; Wed, 29 Oct 2025 20:06:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153090.1483566; Wed, 29 Oct 2025 20:06:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vECRO-0005nw-FS; Wed, 29 Oct 2025 20:06:42 +0000
Received: by outflank-mailman (input) for mailman id 1153090;
 Wed, 29 Oct 2025 20:06:40 +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
 <SRS0=2nIm=5G=bounce.vates.tech=bounce-md_30504962.690273cc.v1-6dad6e537331464ea47d07893458ca09@srs-se1.protection.inumbo.net>)
 id 1vECRM-0005nq-61
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 20:06:40 +0000
Received: from mail132-22.atl131.mandrillapp.com
 (mail132-22.atl131.mandrillapp.com [198.2.132.22])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c6855b4b-b502-11f0-9d16-b5c5bf9af7f9;
 Wed, 29 Oct 2025 21:06:38 +0100 (CET)
Received: from pmta09.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail132-22.atl131.mandrillapp.com (Mailchimp) with ESMTP id
 4cxdYS451NzGlt2KX
 for <xen-devel@lists.xenproject.org>; Wed, 29 Oct 2025 20:06:36 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 6dad6e537331464ea47d07893458ca09; Wed, 29 Oct 2025 20:06:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c6855b4b-b502-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1761768396; x=1762038396;
	bh=3sdcmt0+/Ix5P1NOx1Oj4KP3RTGbcChv938INJRbb1M=;
	h=From:Subject:Message-Id:To:Cc:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=kHCgPrPqrPAw9rLlC73EiUiWLZl1vUSbJXsR+ay0+poIdae5w8ys2LJ2XU7uWf5zP
	 oA7ERoxYJjZlPaKanNEsB6GpcahKwJQCboWpZDv4IIXEh6SwvrpNPOte+3OxtM8K6w
	 qswDrjL+gUzkGS3jqIT/XFMZL69Ldbl97OMMfYOcu6XkPusFExrPNRQj7QVBSH/u7Q
	 nT2Sq+NR5eSV3I2ONdoTikcO11fzxiloVcJnZwr1ztXUxCIbuf5kHOid4Vxexrtgn4
	 umBelL81GVEUIP9oWSwfzd21fn05/EpsXku4DpTEOHdgQiHgLYla5/gsdrr03iD71k
	 30GP7B54zindQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1761768396; x=1762028896; i=teddy.astie@vates.tech;
	bh=3sdcmt0+/Ix5P1NOx1Oj4KP3RTGbcChv938INJRbb1M=;
	h=From:Subject:Message-Id:To:Cc:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=XWqXAKZpcbaNJQbovZnz6xQ15YRMbQNUNkAMtN21cW904SwTEJXD+UoG/dUp3B8HN
	 MWonceCpuE/X4qSQ8nHI4U49UWswYZs+Dcmx8vVnzDzEf6Ufoa3ql+T98Jfp64+czt
	 s/HPlBiHX8Rc+LrDuQpy2Rri7/YYhpe6iLRlTP6g33c4IRt6RdlHNo4fQyDg/BbWNX
	 ScmiezPcvP30YZNNJnwbgvTyag1KFbtC0m0/wGLtzR+FfF/C6QrXMEnU7klbxquB2O
	 PDq3hWJEk77fx/j212wV4rFl3b/m68HJLAytXf5IOTWqplWpH8TGaAUqqVPoOo3wo6
	 1DWz/cNc9eLxA==
From: "Teddy Astie" <teddy.astie@vates.tech>
Subject: =?utf-8?Q?Re:=20[RFC=20PATCH=20for-4.22]=20x86/hvm:=20Introduce=20force=5Fx2apic=20flag?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1761768395216
Message-Id: <9a2c6c79-acc6-4201-b6db-492bd2e536bd@vates.tech>
To: "=?utf-8?Q?Roger=20Pau=20Monn=C3=A9?=" <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, "Anthony PERARD" <anthony.perard@vates.tech>, "Juergen Gross" <jgross@suse.com>, "Jan Beulich" <jbeulich@suse.com>, "Andrew Cooper" <andrew.cooper3@citrix.com>, "Oleksii Kurochko" <oleksii.kurochko@gmail.com>
References: <d498a50f6187b362ac5da3c6a7a7c348f35dc4b3.1761761288.git.teddy.astie@vates.tech> <aQJiZQ37v9av7De2@Mac.lan>
In-Reply-To: <aQJiZQ37v9av7De2@Mac.lan>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.6dad6e537331464ea47d07893458ca09?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20251029:md
Date: Wed, 29 Oct 2025 20:06:36 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Le 29/10/2025 =C3=A0 19:55, Roger Pau Monn=C3=A9 a =C3=A9crit=C2=A0:
> On Wed, Oct 29, 2025 at 06:26:14PM +0000, Teddy Astie wrote:
>> Introduce a new flag to force the x2APIC enabled and preventing a
>> guest from switching back LAPIC to xAPIC mode.
>>
>> The semantics of this mode are based IA32_XAPIC_DISABLE_STATUS
>> architectural MSR of Intel specification.
>>
>> Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
> 
> Thanks, some initial comments below.
> 
>> ---
>> This feature can be useful for various reasons, starting with SEV as
>> it is complicated (especially with SEV-ES) to handle MMIO, and legacy
>> xAPIC is one thing that needs MMIO intercepts (and Linux uses it during
>> boot unless x2APIC is initially enabled, even if it switches to
>> x2apic afterward). It could also be interesting to reduce the attack
>> surface of the hypervisor (by only exposing x2apic to the guest).
>>
>> As it can allow to have MMIO-less guest (using PVH), perhaps it can
>> be enough for avoiding the problematic cases of virtualized INVLPGB
>> (when we have it).
>>
>> In my testing, Linux, FreeBSD and PV-shim works fine with it; OVMF
>> freezes for some reason, NetBSD doesn't support it (no x2apic support
>> as Xen guest). HVM BIOS gets stuck at SeaBIOS as it expects booting
>> with xAPIC.
>>
>> On Intel platforms, it would be better to expose the
>> IA32_XAPIC_DISABLE_STATUS architectural MSR to advertise this to
>> guest, but it's non-trivial as it needs to be properly exposed
>> through IA32_ARCH_CAPABILITIES which is currently passed-through.
>>
>>   docs/man/xl.cfg.5.pod.in              |  7 +++++++
>>   tools/libs/light/libxl_types.idl      |  1 +
>>   tools/libs/light/libxl_x86.c          |  4 ++++
>>   tools/xl/xl_parse.c                   |  1 +
>>   xen/arch/x86/domain.c                 |  2 +-
>>   xen/arch/x86/hvm/hvm.c                |  2 ++
>>   xen/arch/x86/hvm/vlapic.c             | 23 ++++++++++++++++++++++-
>>   xen/arch/x86/include/asm/domain.h     |  2 ++
>>   xen/arch/x86/include/asm/hvm/domain.h |  3 +++
>>   xen/include/public/arch-x86/xen.h     | 12 +++++++++++-
>>   10 files changed, 54 insertions(+), 3 deletions(-)
> 
> Seeing there are no changes to the ACPI tables exposed to the guest,
> do we want to start exposing X2APIC MADT entries instead of the plain
> APIC entries?
> 
> The ACPI spec seems to suggest that you can expose APIC entries for
> APICs below 255, for compatibility reasons.  But given that we would
> force the guest to use X2APIC mode it would certainly need to
> understand how to process X2APIC MADT entries anyway.
> 
> Not sure it makes much of a difference, but wondering whether OSes
> expect X2APIC MADT entries if the mode is locked to X2APIC.
> 

In all OS I checked, they see x2APIC MADT entries as a different format 
for LAPIC entries and don't really link it with whether x2APIC is used 
or not.

But I think it's safe to assume all OS that supports x2APIC has support 
for x2APIC MADT entries, which could make ACPI table generation simpler 
(especially for dealing with LAPIC IDs over 255)

>>
>> diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
>> index ad1553c5e9..01b41d93c0 100644
>> --- a/docs/man/xl.cfg.5.pod.in
>> +++ b/docs/man/xl.cfg.5.pod.in
>> @@ -3198,6 +3198,13 @@ option.
>>   
>>   If using this option is necessary to fix an issue, please report a bug=
.
>>   
>> +=3Ditem B<force_x2apic=3DBOOLEAN>
>> +
>> +Force the LAPIC in x2APIC mode and prevent the guest from disabling
>> +it or switching to xAPIC mode.
>> +
>> +This option is disabled by default.
>> +
>>   =3Dback
>>   
>>   =3Dhead1 SEE ALSO
>> diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_t=
ypes.idl
>> index d64a573ff3..b95278007e 100644
>> --- a/tools/libs/light/libxl_types.idl
>> +++ b/tools/libs/light/libxl_types.idl
>> @@ -738,6 +738,7 @@ libxl_domain_build_info =3D Struct("domain_build_inf=
o",[
>>                                  ("arm_sci", libxl_arm_sci),
>>                                 ])),
>>       ("arch_x86", Struct(None, [("msr_relaxed", libxl_defbool),
>> +                               ("force_x2apic", libxl_defbool)
> 
> This addition needs a new define in libxl.h to signal it's presence,
> see LIBXL_HAVE_* defines in there.
> 

Something like LIBXL_HAVE_FORCE_X2APIC ?

>>                                 ])),
>>       # Alternate p2m is not bound to any architecture or guest type, as=
 it is
>>       # supported by x86 HVM and ARM support is planned.
>> diff --git a/tools/libs/light/libxl_x86.c b/tools/libs/light/libxl_x86.c
>> index 60d4e8661c..2e0205d2a2 100644
>> --- a/tools/libs/light/libxl_x86.c
>> +++ b/tools/libs/light/libxl_x86.c
>> @@ -26,6 +26,9 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
>>       if (libxl_defbool_val(d_config->b_info.arch_x86.msr_relaxed))
>>           config->arch.misc_flags |=3D XEN_X86_MSR_RELAXED;
>>   
>> +    if (libxl_defbool_val(d_config->b_info.arch_x86.force_x2apic))
>> +        config->arch.misc_flags |=3D XEN_X86_FORCE_X2APIC;
>> +
>>       if (libxl_defbool_val(d_config->b_info.trap_unmapped_accesses)) {
>>               LOG(ERROR, "trap_unmapped_accesses is not supported on x86=
\n");
>>               return ERROR_FAIL;
>> @@ -818,6 +821,7 @@ int libxl__arch_domain_build_info_setdefault(libxl__=
gc *gc,
>>   {
>>       libxl_defbool_setdefault(&b_info->acpi, true);
>>       libxl_defbool_setdefault(&b_info->arch_x86.msr_relaxed, false);
>> +    libxl_defbool_setdefault(&b_info->arch_x86.force_x2apic, false);
>>       libxl_defbool_setdefault(&b_info->trap_unmapped_accesses, false);
>>   
>>       if (b_info->type =3D=3D LIBXL_DOMAIN_TYPE_HVM) {
>> diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
>> index af86d3186d..d84ab7c823 100644
>> --- a/tools/xl/xl_parse.c
>> +++ b/tools/xl/xl_parse.c
>> @@ -3041,6 +3041,7 @@ skip_usbdev:
>>                       "If it fixes an issue you are having please report=
 to "
>>                       "xen-devel@lists.xenproject.org.\n");
>>   
>> +    xlu_cfg_get_defbool(config, "force_x2apic", &b_info->arch_x86.force=
_x2apic, 0);
>>       xlu_cfg_get_defbool(config, "vpmu", &b_info->vpmu, 0);
>>   
>>       xlu_cfg_destroy(config);
>> diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
>> index 19fd86ce88..02f650a614 100644
>> --- a/xen/arch/x86/domain.c
>> +++ b/xen/arch/x86/domain.c
>> @@ -704,7 +704,7 @@ int arch_sanitise_domain_config(struct xen_domctl_cr=
eatedomain *config)
>>           return -EINVAL;
>>       }
>>   
>> -    if ( config->arch.misc_flags & ~XEN_X86_MSR_RELAXED )
>> +    if ( config->arch.misc_flags & ~(XEN_X86_MSR_RELAXED | XEN_X86_FORC=
E_X2APIC) )
>>       {
>>           dprintk(XENLOG_INFO, "Invalid arch misc flags %#x\n",
>>                   config->arch.misc_flags);
>> diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
>> index 0c60faa39d..73cbac0f22 100644
>> --- a/xen/arch/x86/hvm/hvm.c
>> +++ b/xen/arch/x86/hvm/hvm.c
>> @@ -616,6 +616,8 @@ int hvm_domain_initialise(struct domain *d,
>>       INIT_LIST_HEAD(&d->arch.hvm.mmcfg_regions);
>>       INIT_LIST_HEAD(&d->arch.hvm.msix_tables);
>>   
>> +    d->arch.hvm.force_x2apic =3D config->arch.misc_flags & XEN_X86_FORC=
E_X2APIC;
>> +
>>       rc =3D create_perdomain_mapping(d, PERDOMAIN_VIRT_START, 0, NULL, =
NULL);
>>       if ( rc )
>>           goto fail;
>> diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
>> index 993e972cd7..ae8df70d2e 100644
>> --- a/xen/arch/x86/hvm/vlapic.c
>> +++ b/xen/arch/x86/hvm/vlapic.c
>> @@ -1116,6 +1116,20 @@ int guest_wrmsr_apic_base(struct vcpu *v, uint64_=
t val)
>>       if ( !has_vlapic(v->domain) )
>>           return X86EMUL_EXCEPTION;
>>   
>> +    if ( has_force_x2apic(v->domain) )
>> +    {
>> +        /*
>> +        * We implement the same semantics as MSR_IA32_XAPIC_DISABLE_STA=
TUS:
>> +        * LEGACY_XAPIC_DISABLED which rejects any attempt at clearing
>> +        * IA32_APIC_BASE.EXTD, thus forcing the LAPIC in x2APIC mode.
>> +        */
>> +        if ( !(val & APIC_BASE_EXTD) )
>> +        {
>> +            gprintk(XENLOG_WARNING, "tried to disable x2APIC while forc=
ed on\n");
>> +            return X86EMUL_EXCEPTION;
>> +        }
>> +    }
>> +
>>       /* Attempting to set reserved bits? */
>>       if ( val & ~(APIC_BASE_ADDR_MASK | APIC_BASE_ENABLE | APIC_BASE_BS=
P |
>>                    (cp->basic.x2apic ? APIC_BASE_EXTD : 0)) )
>> @@ -1474,7 +1488,14 @@ void vlapic_reset(struct vlapic *vlapic)
>>       if ( v->vcpu_id =3D=3D 0 )
>>           vlapic->hw.apic_base_msr |=3D APIC_BASE_BSP;
>>   
>> -    vlapic_set_reg(vlapic, APIC_ID, (v->vcpu_id * 2) << 24);
>> +    if ( has_force_x2apic(v->domain) )
>> +    {
>> +        vlapic->hw.apic_base_msr |=3D APIC_BASE_EXTD;
>> +        set_x2apic_id(vlapic);
>> +    }
>> +    else
>> +        vlapic_set_reg(vlapic, APIC_ID, (v->vcpu_id * 2) << 24);
>> +
>>       vlapic_do_init(vlapic);
>>   }
>>   
>> diff --git a/xen/arch/x86/include/asm/domain.h b/xen/arch/x86/include/as=
m/domain.h
>> index 5df8c78253..771992d156 100644
>> --- a/xen/arch/x86/include/asm/domain.h
>> +++ b/xen/arch/x86/include/asm/domain.h
>> @@ -509,6 +509,8 @@ struct arch_domain
>>   #define has_pirq(d)        (!!((d)->arch.emulation_flags & X86_EMU_USE=
_PIRQ))
>>   #define has_vpci(d)        (!!((d)->arch.emulation_flags & X86_EMU_VPC=
I))
>>   
>> +#define has_force_x2apic(d) ((d)->arch.hvm.force_x2apic)
>> +
>>   #define gdt_ldt_pt_idx(v) \
>>         ((v)->vcpu_id >> (PAGETABLE_ORDER - GDT_LDT_VCPU_SHIFT))
>>   #define pv_gdt_ptes(v) \
>> diff --git a/xen/arch/x86/include/asm/hvm/domain.h b/xen/arch/x86/includ=
e/asm/hvm/domain.h
>> index 333501d5f2..b56fa08b73 100644
>> --- a/xen/arch/x86/include/asm/hvm/domain.h
>> +++ b/xen/arch/x86/include/asm/hvm/domain.h
>> @@ -108,6 +108,9 @@ struct hvm_domain {
>>       /* Compatibility setting for a bug in x2APIC LDR */
>>       bool bug_x2apic_ldr_vcpu_id;
>>   
>> +    /* LAPIC is forced in x2APIC mode */
>> +    bool force_x2apic;
> 
> This should be a field in the vlapic struct, but seeing this I wonder
> whether we want to virtualize MSR_IA32_XAPIC_DISABLE_STATUS MSR and
> set the bit there.  This would also help with migrating the option, as
> you could then migrate the "locked" status easily by just migrating
> the contents of the MSR_IA32_XAPIC_DISABLE_STATUS MSR.
> 

One issue with MSR_IA32_XAPIC_DISABLE_STATUS is that it is only 
meaningful on Intel platforms (unless we also virtualize it on AMD ?), 
and I haven't found a AMD-specific mecanism for exposing it.
Most operating systems don't try to disable x2apic (unless told to do 
it) if it is initially enabled ("enabled by firmware").

>> +
>>       /* hypervisor intercepted msix table */
>>       struct list_head       msixtbl_list;
>>   
>> diff --git a/xen/include/public/arch-x86/xen.h b/xen/include/public/arch=
-x86/xen.h
>> index b99a691706..75aa31d9ed 100644
>> --- a/xen/include/public/arch-x86/xen.h
>> +++ b/xen/include/public/arch-x86/xen.h
>> @@ -309,11 +309,21 @@ struct xen_arch_domainconfig {
>>    * doesn't allow the guest to read or write to the underlying MSR.
>>    */
>>   #define XEN_X86_MSR_RELAXED (1u << 0)
>> +
>> +/*
>> + * This option forces the LAPIC to be in X2APIC mode (IA32_APIC_BASE.EX=
TD =3D 1)
>> + * using the same semantics as IA32_XAPIC_DISABLE_STATUS:LEGACY_XAPIC_D=
ISABLED
>> + *
>> + * Attempts by the guest to clear IA32_APIC_BASE.EXTD (e.g disable X2AP=
IC) will
>> + * inject #GP in the guest.
>> + */
>> +#define XEN_X86_FORCE_X2APIC (1U << 1)
>> +
>>       uint32_t misc_flags;
> 
> If we go the MSR route we won't need a new misc_flag, as the toolstack
> could set the initial value of the MSR_IA32_XAPIC_DISABLE_STATUS using
> the existing way to load vCPU context.
> 
> Thanks, Roger.
> 

Teddy


--
Teddy Astie | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech




From xen-devel-bounces@lists.xenproject.org Wed Oct 29 20:26:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 20:26:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153113.1483575 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vECju-0000FP-5e; Wed, 29 Oct 2025 20:25:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153113.1483575; Wed, 29 Oct 2025 20:25:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vECju-0000FI-38; Wed, 29 Oct 2025 20:25:50 +0000
Received: by outflank-mailman (input) for mailman id 1153113;
 Wed, 29 Oct 2025 20:25:48 +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
 <SRS0=U31q=5G=raptorengineering.com=tpearson@srs-se1.protection.inumbo.net>)
 id 1vECjs-0000FC-Ti
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 20:25:48 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 73a952b1-b505-11f0-9d16-b5c5bf9af7f9;
 Wed, 29 Oct 2025 21:25:47 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 4D3317790D19;
 Wed, 29 Oct 2025 15:25:46 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id 48YLHWpjOBs0; Wed, 29 Oct 2025 15:25:45 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 3C56E7790E6F;
 Wed, 29 Oct 2025 15:25:45 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id Y8ACrqfGwDZ3; Wed, 29 Oct 2025 15:25:45 -0500 (CDT)
Received: from vali.starlink.edu (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 0A2B47790D19;
 Wed, 29 Oct 2025 15:25:45 -0500 (CDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 73a952b1-b505-11f0-9d16-b5c5bf9af7f9
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 3C56E7790E6F
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1761769545; bh=RCjUr++IbWxXT2IrtGMqgMYD5LPd0MxFrIr6EPa0M8k=;
	h=Date:From:To:Message-ID:MIME-Version;
	b=T15P3raTgd+gb1T/g2e01nadqY+ncn07J4HVC6RvgSr6DQzz4eFeb7Fx0zXCyeO8d
	 AA/fvYo0DfKqSnAAxwP9YqrqgTtP0eyFjsmtJ35xXlhCbKaufWdMnOLmem0MZZwiyY
	 o0/GtjwLyNFeB5UkQegNr18LGOC37T/egA2qlqA4=
X-Virus-Scanned: amavisd-new at rptsys.com
Date: Wed, 29 Oct 2025 15:25:41 -0500 (CDT)
From: Timothy Pearson <tpearson@raptorengineering.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Timothy Pearson <tpearson@raptorengineering.com>, 
	xen-devel <xen-devel@lists.xenproject.org>, 
	Shawn Anastasio <sanastasio@raptorengineering.com>, 
	shawn <shawn@anastas.io>, Andrew Cooper <andrew.cooper3@citrix.com>, 
	George Dunlap <george.dunlap@citrix.com>, 
	Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>, 
	Wei Liu <wl@xen.org>
Message-ID: <197699840.5283.1761769541964.JavaMail.zimbra@raptorengineeringinc.com>
In-Reply-To: <alpine.DEB.2.22.394.2510291238140.495094@ubuntu-linux-20-04-desktop>
References: <1794235010.4856.1761754917625.JavaMail.zimbra@raptorengineeringinc.com> <alpine.DEB.2.22.394.2510291238140.495094@ubuntu-linux-20-04-desktop>
Subject: Re: [PATCH v2] MAINTAINERS: Remove Shawn Anastasio as PPC64
 maintainer
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
X-Mailer: Zimbra 8.5.0_GA_3042 (ZimbraWebClient - GC141 (Linux)/8.5.0_GA_3042)
Thread-Topic: MAINTAINERS: Remove Shawn Anastasio as PPC64 maintainer
Thread-Index: +XT7QrLv4xCCvrMCL4S70bLJo/6UfA==



----- Original Message -----
> From: "Stefano Stabellini" <sstabellini@kernel.org>
> To: "Timothy Pearson" <tpearson@raptorengineering.com>
> Cc: "xen-devel" <xen-devel@lists.xenproject.org>, "Shawn Anastasio" <sanastasio@raptorengineering.com>, "shawn"
> <shawn@anastas.io>, "Andrew Cooper" <andrew.cooper3@citrix.com>, "George Dunlap" <george.dunlap@citrix.com>, "Jan
> Beulich" <jbeulich@suse.com>, "Julien Grall" <julien@xen.org>, "Stefano Stabellini" <sstabellini@kernel.org>, "Wei Liu"
> <wl@xen.org>
> Sent: Wednesday, October 29, 2025 2:38:53 PM
> Subject: Re: [PATCH v2] MAINTAINERS: Remove Shawn Anastasio as PPC64 maintainer

> On Wed, 29 Oct 2025, Timothy Pearson wrote:
>> Shawn is no longer with Raptor Engineering.  For now, add myself as PPC64
>> reviewer.
>> 
>> Signed-off-by: Timothy Pearson <tpearson@raptorengineering.com>
>> ---
>>  MAINTAINERS | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>> 
>> diff --git a/MAINTAINERS b/MAINTAINERS
>> index ecd3f40df8..c8764a8c5f 100644
>> --- a/MAINTAINERS
>> +++ b/MAINTAINERS
>> @@ -472,7 +472,7 @@ F:	xen/drivers/cpufreq/
>>  F:	xen/include/acpi/cpufreq/
>>  
>>  PPC64
>> -M:	Shawn Anastasio <sanastasio@raptorengineering.com>
>> +M:	Timothy Pearson <tpearson@raptorengineering.com>
>>  F:	xen/arch/ppc/
> 
> The "R" letter is used for reviewers. The change can be done while
> committing.

I thought I had made that change, at least it's in my local tree.  Sorry about that.


From xen-devel-bounces@lists.xenproject.org Wed Oct 29 20:49:28 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 20:49:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153122.1483585 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vED6h-0003T4-S6; Wed, 29 Oct 2025 20:49:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153122.1483585; Wed, 29 Oct 2025 20:49:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vED6h-0003Sx-PZ; Wed, 29 Oct 2025 20:49:23 +0000
Received: by outflank-mailman (input) for mailman id 1153122;
 Wed, 29 Oct 2025 20:49:23 +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
 <SRS0=BbVn=5G=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1vED6g-0003Sr-Vj
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 20:49:22 +0000
Received: from sea.source.kernel.org (sea.source.kernel.org [172.234.252.31])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bd4ef1e6-b508-11f0-9d16-b5c5bf9af7f9;
 Wed, 29 Oct 2025 21:49:20 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sea.source.kernel.org (Postfix) with ESMTP id 25E944542B;
 Wed, 29 Oct 2025 20:49:18 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3D684C4CEF8;
 Wed, 29 Oct 2025 20:49:17 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bd4ef1e6-b508-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1761770958;
	bh=l3ey76yLYbCCNB8XjURA6xqdWNGqzaAqUoYZdGcLWNs=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=oYLF4y8ipYNit6r6YCTn9HVFiQ+aBzCJpiQIYSf2wppkhdNs+naU9EMKTJUe7HbhE
	 1mj1ruS2n8BmmhDuhj3DpwCYYHo2ra60MzQj+UkwEPB3kUnvIB3yjVIjYV+Hq6QQad
	 56tBHkE2jgeo0ST651iskvUdd3iVEc/wsKqUDWiFZx7CTl5RDFL2nazsajTt0Jw0cK
	 pGh/Rzg/OKypVhfVPi1Ig4IeNISFNJqSieUoyJ9teIE7NQRSZihvlcrZrgtPoIDCVJ
	 35RHECMFAeWjJhC0wxGAnVReBs9f5lIeAqzfQbY4ZqPC3YbvzzRaES8/2Yn8D6ezDP
	 z05Pmr+ONjQaw==
Date: Wed, 29 Oct 2025 13:49:15 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Andrew Cooper <andrew.cooper3@citrix.com>
cc: Xen-devel <xen-devel@lists.xenproject.org>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
    Jan Beulich <JBeulich@suse.com>
Subject: Re: [PATCH for-4.20] CI: Fix microcode loading on Xen 4.20 and
 earlier
In-Reply-To: <20251028194539.3668470-1-andrew.cooper3@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2510291349100.495094@ubuntu-linux-20-04-desktop>
References: <20251028194539.3668470-1-andrew.cooper3@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-1692809242-1761770957=:495094"

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--8323329-1692809242-1761770957=:495094
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Tue, 27 Oct 2025, Andrew Cooper wrote:
> CONFIG_UCODE_SCAN_DEFAULT only exists in Xen 4.21.  In older versions of xen,
> use ucode=scan on the command line.
> 
> Fixes: 690655a511cd ("CI: Include microcode for x86 hardware jobs")
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Stefano Stabellini <sstabellini@kernel.org>
> CC: Marek Marczykowski-GÃ³recki <marmarek@invisiblethingslab.com>
> CC: Jan Beulich <JBeulich@suse.com>
> 
> The fixes tag is the 4.20 backport, not the original patch.  Found while
> trying to test the microcode loading backports.  (At least the XenServer
> testing has proved more useful).
> 
> 4.20 is the oldest branch that tries to load microcode in Gitlab CI, so this
> does not need backporting further.
> 
> https://gitlab.com/xen-project/hardware/xen-staging/-/pipelines/2126131501


Acked-by: Stefano Stabellini <sstabellini@kernel.org>

--8323329-1692809242-1761770957=:495094--


From xen-devel-bounces@lists.xenproject.org Wed Oct 29 21:26:50 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 21:26:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153132.1483596 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEDgh-0000KQ-Gr; Wed, 29 Oct 2025 21:26:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153132.1483596; Wed, 29 Oct 2025 21:26:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEDgh-0000KJ-DZ; Wed, 29 Oct 2025 21:26:35 +0000
Received: by outflank-mailman (input) for mailman id 1153132;
 Wed, 29 Oct 2025 21:26:34 +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
 <SRS0=l3Pf=5G=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1vEDgg-0000KD-7t
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 21:26:34 +0000
Received: from PH7PR06CU001.outbound.protection.outlook.com
 (mail-westus3azlp170100009.outbound.protection.outlook.com
 [2a01:111:f403:c107::9])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ef637810-b50d-11f0-9d16-b5c5bf9af7f9;
 Wed, 29 Oct 2025 22:26:32 +0100 (CET)
Received: from BN9PR03CA0195.namprd03.prod.outlook.com (2603:10b6:408:f9::20)
 by SJ2PR12MB7943.namprd12.prod.outlook.com (2603:10b6:a03:4c8::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9275.12; Wed, 29 Oct
 2025 21:26:27 +0000
Received: from BN1PEPF00005FFF.namprd05.prod.outlook.com
 (2603:10b6:408:f9:cafe::7a) by BN9PR03CA0195.outlook.office365.com
 (2603:10b6:408:f9::20) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9253.18 via Frontend Transport; Wed,
 29 Oct 2025 21:26:26 +0000
Received: from satlexmb08.amd.com (165.204.84.17) by
 BN1PEPF00005FFF.mail.protection.outlook.com (10.167.243.231) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9275.10 via Frontend Transport; Wed, 29 Oct 2025 21:26:25 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.2.2562.17; Wed, 29 Oct
 2025 14:26:25 -0700
Received: from satlexmb08.amd.com (10.181.42.217) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 29 Oct
 2025 16:26:25 -0500
Received: from [172.29.122.169] (10.180.168.240) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.17 via Frontend
 Transport; Wed, 29 Oct 2025 14:26:23 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ef637810-b50d-11f0-9d16-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=meS/0EbKrRT3gWrIzILjEgc0QDQc61K4QzLmFzTIRJFUZfRidMECzFNb3NMkhRu0lz5g/MWtIO4ke9T/6YcWPeU4WBxN6TWg9bSEt+knvoeTCeq15Vmisp6kG1gds4VgvN5h6Jlk+1N0iUGLlehqWMHEIT0bCYMd8zWhw8X1RVIYPBn19b3bQzsV5K4wc3PASqMz2yzr9y9Kc4UXTDFbzlup2X7aATQv7s/VNj8SBzaZObOeoiuKlFrOAWthvtFBr+hEIze3BcuKZh9qSGUztkJFEV5RRgg23cZi8kjVpcK3p9PCGnnjLDzUAfrNv2JXtopYKvxNmQtebOVmCuRGgw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sXJqVMdx3kC+89aEqLsephWYxk+okUqrqZ6X1fPfM7Y=;
 b=SibccyNeR7ppxVPg4h0AZ1j4ZyHNv4u5+f/a1YXdyw9FYvMbl1FrWPk2ULqODF6CkX0tKzAdFa8oeno4wh1TLIUUtqefZG3Q2wCrfuvJJ0p0bBoSP5eHdiAf7eJUHEpoMPKjtC2RWsjbxRhRAxxNM5YbMbcnxUl9C39dIvvYeZDZWr28b/7knqV17bThps04Tadlxmi+wEup59IP+bIYJJN39E9m7Kdq2aOaUmqz2fac5tcgPtbO+1lvKigPdNxBZWZZsTu4K6k7AoUjlxqsuskcJNOiUWP3xYv/cBpd/GiCqg547AuUTaIQc6TgJJPA40nQFT6IbhOc48DGY8xZMw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=sXJqVMdx3kC+89aEqLsephWYxk+okUqrqZ6X1fPfM7Y=;
 b=kgvKRtiZBl3pIHH8mAmxGzK9TOyUJ/+bogB9fP2NFk6EGsbG2zUN0ABxS4ZszvaaqE4wUU60ieFhT9rSETwv9N2iWkA1neVIFP/FzTgiTWX61MODcQOGSqBoxTljwQtvVluzdyAFhhSfdQr28TvCQWXUJIyBOt5C0cESkDzIaBg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C
Message-ID: <fee691ec-6bb9-429e-aaed-4fd007cbc0b1@amd.com>
Date: Wed, 29 Oct 2025 17:26:22 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 05/28] xen/sysctl: replace CONFIG_SYSCTL with
 CONFIG_MGMT_DOMCTL
To: Penny Zheng <Penny.Zheng@amd.com>, <xen-devel@lists.xenproject.org>,
	<xen-devel@dornerworks.com>
CC: <ray.huang@amd.com>, <oleksii.kurochko@gmail.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>, "Julien
 Grall" <julien@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
	<roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>, Bertrand
 Marquis <bertrand.marquis@arm.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis <connojdavis@gmail.com>,
	Nathan Studer <nathan.studer@dornerworks.com>, Stewart Hildebrand
	<stewart@stew.dk>, Dario Faggioli <dfaggioli@suse.com>, Juergen Gross
	<jgross@suse.com>, George Dunlap <gwd@xenproject.org>, "Daniel P. Smith"
	<dpsmith@apertussolutions.com>
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
 <20251013101540.3502842-6-Penny.Zheng@amd.com>
Content-Language: en-US
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <20251013101540.3502842-6-Penny.Zheng@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB05.amd.com: stewart.hildebrand@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF00005FFF:EE_|SJ2PR12MB7943:EE_
X-MS-Office365-Filtering-Correlation-Id: 89ad5eb2-b832-4881-517a-08de1731d0fe
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|7416014|82310400026|1800799024|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?QWJrOFczQm1PMm94K1ZLeHpoSE5Nai9Sb3FaYXlzR2IvTW5HQzJ0Z3U5dkY4?=
 =?utf-8?B?c29XTWpheVlwa0NkY2ZDTEhDaGZsSmwrOURaWkZyWlpoOEZ6c1VIZVdQQmlm?=
 =?utf-8?B?L0FEZnFrNFFZdWpnL2gzbWVidnozUk5lR1hpb205ZHlHNkp5MHZJZ3NkZUN5?=
 =?utf-8?B?RkZrR1lCYk45aTQ5SE9zWmFOK2VFL0RTRmdCZzdabG9zOWVqVG1MVFZjWGxj?=
 =?utf-8?B?ZTRnVURrMUIvdHd3VFRGWCs4RWdQSDZ0SzdUVmt3OGlJMVBVV0UrN05FdmtE?=
 =?utf-8?B?UjZsa2xPYk1iWGxIM2lRNkhqMkh3UVpzTE5seDdxellHTlNSZnVpK3lSWHVW?=
 =?utf-8?B?OC9vbGRnMlQ1emxoWTRZREp4OEZaS3VkREV4UGNFWFFpQnhyVUx5bmhCTldE?=
 =?utf-8?B?Ni9hT2o5NlhHZ2VXejAyRWQ4L3JZSC94UmpESmh1UENWaGpCVzFaMUVBU1My?=
 =?utf-8?B?ZmhwR1VGVFl4ZlJGOFhaMFp3a1h3b2FkYjdldVNlMDIvbzNBZFJod3MxMzVj?=
 =?utf-8?B?M2gwQzhqczNGS0ZEZ29ocllaUzdzalpmaElldkNpN0VyNVo1ejNOSmdPaFBo?=
 =?utf-8?B?b0NTYmFjRVZXS1R5VEV1VFVLdDJ4WHpKQy9hZUlORjFDZnlQNGtHT2RMbUZE?=
 =?utf-8?B?T293V1Fxb1JYSzZoTWdNdjZBRkxnbVpCUE84Wm55d0hvbjFtUkxBYkFwR1Bn?=
 =?utf-8?B?MENrcExhVXhkSGQ4bUx3WERTMWdXZnh3V2dFTTVvczF2RUROWGpaQnBsVFpZ?=
 =?utf-8?B?SDY5OGxEazRzOGthWVNnbmg5VFRIVTV4TGxWY3ZpKzkzVTFURlhiZU1KaERY?=
 =?utf-8?B?WnRYd1lCT0phQ2xQYzNZcUZrL3RBTkJwY0VmNnVVWVJzaGRsazM2WndxYlZE?=
 =?utf-8?B?UjBmWFEvYTJYL2RITGJzT3UzUTFTVmpESU9CU2tnY1M2WjlmbFRBQU9XVDcw?=
 =?utf-8?B?OU9xa0E5UWx6TWJDWEVvWGw5QVEwakxsdUs4bXV6a1JWdEdyNzd6R0FkSHN6?=
 =?utf-8?B?RW1KV1ZMVzFoTFNLbnVrZ09TRjgvRlNlRnhMdVRpL09FcysvQmo4RUFHa3kr?=
 =?utf-8?B?a2dvdG1YdFBjcTR1dzJkUmhJQ3UvZm5xMUFNb2MzQTA2Z1hydjkvaXlhaWVW?=
 =?utf-8?B?bHdjd0lwMERPd1dWZzNpYitFMDZ6ajE1eUVmYUhpTStydGdQWjY0bkpwcmZx?=
 =?utf-8?B?Q3dpcjFoaUVYc0xNb0ZHb29WYUhPb0xRZkJ5Nzd5dDMwbnlDYU5xb2xWbUsr?=
 =?utf-8?B?Wkl3YzFLY3YyUGdUL2hlRktXbVg5eHFTZUEvN2NQYUt2QVBSQSswejc4NjJC?=
 =?utf-8?B?WWdLZGo1UlRkOFN3dFZrRVVRSEtlQnlQMjY1S0VoakVvQTU2Q29MVGVJanp1?=
 =?utf-8?B?dC9IT1RLbTRheDZNcDVHeXdYME5EazB6dG5wQXYvaEpkalVVRzRVQ3Rhb2sr?=
 =?utf-8?B?VG9wSzZHQzJHMHYwQmxVSEdnV3ZzbFJnU051ZUg2ZDBCU2hCUTlsekwvN0xG?=
 =?utf-8?B?T0YrVTdIdHF6Zy9YUkphSTM3dE15N2t0Zzg4WkJjN0JKME12clhiZk5teVlE?=
 =?utf-8?B?N0hMc3hNdWdXUHZwemZtYWNMbkp0dEkra3p4dHFyVFZxbGNFaUhSRncveGVC?=
 =?utf-8?B?dEh6WkdmOG9ramM2dlNkNyt3OEZyUWVVM2pwZi9aUFJHazhiZ2ZvNTJXZUdC?=
 =?utf-8?B?YUIrRWd2akRrQjcrSjBmcFVOQkszK1JYRWIwRHlVeVFuTDIvVkhwQkhBay82?=
 =?utf-8?B?V2RoTzVBOTFGZVdqZzVqRXFjWXJTa3NjajBwbnhoenRyNlNrSjV3VWV5aTV2?=
 =?utf-8?B?WDhhVDFyZGRiRDdza090bjRPNktZQmRRR01KcGo1K1doWU9OcE80UmMvRU4w?=
 =?utf-8?B?MnZzWmpJUEt6RENMc2NzZ3BjelpDK01pS2EvMERkMUw0NU5acFRkSzB5NGx4?=
 =?utf-8?B?SVlJS2prSDlIZVhqcnI4NUJHZTZBZUJlNXE0R2pGZVlwbGxFZDZ2eWhXaVBz?=
 =?utf-8?B?SjU1ci9YT1J2MVdveFBjRHpzNW5FR0dZV1N5aUZBY0JhWXZTZkwzNXAxNWFm?=
 =?utf-8?B?RXd4RUZtWjQ4bS9LLzgwM2o5R2dFcHA2YW9RYVlrRGZ5c3B0QUpNRVRiUEkr?=
 =?utf-8?Q?oBNg=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(7416014)(82310400026)(1800799024)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Oct 2025 21:26:25.9937
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 89ad5eb2-b832-4881-517a-08de1731d0fe
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN1PEPF00005FFF.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB7943

On 10/13/25 06:15, Penny Zheng wrote:
> Rename all the CONFIG_SYSCTL into CONFIG_MGMT_HYPERCALLS to help provide a
> single option to manage all unnecessary hypercalls, including
> sysctl, domctl, etc, in dom0less system and PV shim mode, which could also
> make it easier to support randconfigs.
> While doing the replacement, we fix some bugs on xsm system:
> - wrap the whole xsm function to avoid bringing unreachable codes when
> MGMT_DOMCTL=n
> - add missing wrapping in include/xsm/dummy.h
> 
> Suggested-by: Stefano Stabellini <sstabellini@kernel.org>
> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Shouldn't the title of the patch use CONFIG_MGMT_HYPERCALLS, not CONFIG_MGMT_DOMCTL?

Regardless, for ARINC 653:

Acked-by: Stewart Hildebrand <stewart@stew.dk>


From xen-devel-bounces@lists.xenproject.org Wed Oct 29 23:08:27 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 23:08:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153159.1483606 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEFGy-0004Mm-HV; Wed, 29 Oct 2025 23:08:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153159.1483606; Wed, 29 Oct 2025 23:08:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEFGy-0004Mf-DS; Wed, 29 Oct 2025 23:08:08 +0000
Received: by outflank-mailman (input) for mailman id 1153159;
 Wed, 29 Oct 2025 23:08:06 +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
 <SRS0=Xz0O=5G=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1vEFGw-0004MD-Em
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 23:08:06 +0000
Received: from GVXPR05CU001.outbound.protection.outlook.com
 (mail-swedencentralazlp170130007.outbound.protection.outlook.com
 [2a01:111:f403:c202::7])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2051c0ae-b51c-11f0-9d16-b5c5bf9af7f9;
 Thu, 30 Oct 2025 00:08:05 +0100 (CET)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by VI1PR03MB6558.eurprd03.prod.outlook.com (2603:10a6:800:19a::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9275.12; Wed, 29 Oct
 2025 23:08:03 +0000
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593]) by AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593%3]) with mapi id 15.20.9275.013; Wed, 29 Oct 2025
 23:08:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2051c0ae-b51c-11f0-9d16-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=yob2e8qdd0PGt4GQKQePgtTZa0lirSm6yP4GunXyyw5qQcx+cZB5023YK+7WZ2wxOthQRqTGxxK8tT/iG47Vc2wPB4KiWGM4hEmCvTrRVqwrf7+6GIeAMyJzAdiOROFYdaW6IUPxT+BmPraEHwWJB+csRmg3oP2nshG+POlZUg3VC7Tu+9kH0nzB+PJOj5/f8XW6DNFSQAly4UV4VoRdnmeUADIjxLK2lVV1J12qTS0QGxT3YWsRfy4OBaggGgBeDGKomdf8KMyXeB3hBy6TmpqaJgge/bExJ/wlEO+3rkaSNwNh31TXMw4gkJ+tLAJGlt476YxEfZop6tmJa7H6Rg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rrLeplXh79pypeIlqsPO7ZRY8OH5CRWSIdvghemi1lw=;
 b=skEk6k6XPl2o/pkIsI4VQVb+gPxJoVDv4zLcHGLy+LPn+KBJUbJX4hkeTNQMvFctCm7ayYhfJRh9ea+aHY7OUGWJ2tOQu244aXPGiz0ric2s3qwfkKGz0k4W+zphymcinqDtVAVIFr9t6Yj1xqhoBA1B9Yvaw1s6N1MSr5HJPW/soZPOMYEM1saGOXedo6w0UzMBIYcDrbpZ9Y0DV7/LWftSPOH4e3Q1Vp4iHyETvgA9It4aPjOb1EGr81sFAcdtBJoRvE1vP3Mw29M9IGojmbcj5WVxfGJy5xCiF1p5VYjBp1A82N49FQ1iYJPYLY+IwQDyoVdwFLqUIKcnbtq8EA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rrLeplXh79pypeIlqsPO7ZRY8OH5CRWSIdvghemi1lw=;
 b=lM3cocOInZtqODzC/9Rav5vxTdVQ4TizdI8IPHHPT6lRF0UeOjieo0Xq2XqkJOE9P+kPtE58CsiU6PPgm6Cl0ZplnfNYuSECj/XjOUeuPqv7woLarRMW6Cu8ABK7zMbiPC3SZJHN0hj3J7DHwos5WYGRjKnO/zTJZoLHt9bX7R7G6hBKbben3fUNZaHhlb66iYqmKEvBmZZiISDEoS9IojN3RK36FXgoPFUrecV+Rllwn+2C3Swdg2sFiRMO0h1kkk9lHjpuVzilblOpn2gfGWQ58lONxSjfuNTo+KoDLDrRpB2Dl/NXtsWTikok2UV7Z7ge0Ez4DoPpBPlDXj7ZWg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <ee234574-384f-438a-8bf2-e250b61bc75b@epam.com>
Date: Thu, 30 Oct 2025 01:08:01 +0200
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH for-4.22] x86/hvm: Introduce force_x2apic flag
To: Teddy Astie <teddy.astie@vates.tech>, xen-devel@lists.xenproject.org
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Juergen Gross <jgross@suse.com>, Jan Beulich <jbeulich@suse.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 "Alejandro.GarciaVallejo@amd.com" <Alejandro.GarciaVallejo@amd.com>,
 Jason Andryuk <Jason.Andryuk@amd.com>
References: <d498a50f6187b362ac5da3c6a7a7c348f35dc4b3.1761761288.git.teddy.astie@vates.tech>
Content-Language: en-US
From: Grygorii Strashko <grygorii_strashko@epam.com>
In-Reply-To: <d498a50f6187b362ac5da3c6a7a7c348f35dc4b3.1761761288.git.teddy.astie@vates.tech>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: WA0P291CA0017.POLP291.PROD.OUTLOOK.COM
 (2603:10a6:1d0:1::16) To AS2PR03MB8907.eurprd03.prod.outlook.com
 (2603:10a6:20b:5e4::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS2PR03MB8907:EE_|VI1PR03MB6558:EE_
X-MS-Office365-Filtering-Correlation-Id: f0426f30-7bec-48d2-5cc8-08de174002b2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|366016|376014|7416014|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?cEozaWVnLzRkbUFreDh5ajh2QmlMSmZSZjEzeDJYeUkxU2xkWUZyR3BLMTBu?=
 =?utf-8?B?dEluTUE1RW5mSkw3UTZVK0hrRG4vTDJnZnRMNHNPY21wby9Ea1J0SjcxMCtO?=
 =?utf-8?B?c0Y1YmxCUTBWbnVqUkVobGFqcUV2MHZUMVdIOWVqQzhwd1N4aFlhbk9Ec0V3?=
 =?utf-8?B?QWhzTmppTVhXNDlSclhZa0k0TTZrY3VyTy9pNWJvNlVKYnQyUzZQZEZ4RGVZ?=
 =?utf-8?B?aG84Rm9RTklKNFlhZHdPZEFaZXF6cHZxTzg3SlNkQlMzOWY2SzVEaVNWZXNa?=
 =?utf-8?B?WEI2bFNKcVpVb0Y2akovZVJNRTNLSlNGVHkyOC84VmxVd1RmOWVqaVYxS3ky?=
 =?utf-8?B?YjFCbXJjRW84SWRyQ2Jla3JzWlQyTmtpZXVTbWpaSlhvdkVlaERNTURGWW1J?=
 =?utf-8?B?c0Fhb1lVVlZWZk1HSHh5T2h4M3ZleW13dDFHTzlZWHhLRnVaSU5KajBtam9X?=
 =?utf-8?B?Z1dtUytRZ1o5WlN1OVF3NlZnVUpmd0tsZWl0L2g5YmcyMmZTUUlNb2kxVTFC?=
 =?utf-8?B?cUQwNTJCMzlGTG4ybkErSFpmTTR4UHBxUitpSFFYNHJnSlpLUEZjTUpsYWdx?=
 =?utf-8?B?Yy96QVVtRFZYU0ZIdmNpK2xQZTdWVktvRWxEQ0RLOThtdFl2UDhwVFhJUkNq?=
 =?utf-8?B?eXlnMG5XN2tISklWTkpsaDJvUTREWDFtMDhST0lENDdyeWNBRnBrM2Y4cE0v?=
 =?utf-8?B?azh2Rnp3bXJ5bVVFQ3dFYXpQRmVQTituc1Y3SnBrNXNQSG9nUUJUbFRmRW5s?=
 =?utf-8?B?cjNEMUwrbjNLeTNKTTlZdUNnaVkyZ09ucFpvWFhYL3daTC9rV0taQWZKTE84?=
 =?utf-8?B?cGdiNUlMc2RBd01lWHRiWkIwaEozeFhJVnhxOTFjYW1qOUtWRVdkVzJvSnBW?=
 =?utf-8?B?TG1lSUYzcU5jb1dGTjk1dXhpaGFFWlgvcEIzdE1zaTlPWTFMZWgzaHNlaDRG?=
 =?utf-8?B?dzg3eUlIVXdJMzlKZGpvTUh4Y1E2T2o5c1ZydjVFU25xZEVzNHM1ZVM1RW5a?=
 =?utf-8?B?djhMSmc0bjhHUk9MMUE1TTFUR0pXRjdBMVY3c3gyR1FqTXlVODNGTS9rN0dE?=
 =?utf-8?B?Yi9OR2c0a3pWNkpHbEs2blB1QU5BK0IrTTdYclRkNEZ6TSt0aTFaZVpZZU8w?=
 =?utf-8?B?QTlFVE1Gb3R5ak52Qk93ZDEzcG1wZUFQRWVxMFJMRHZWU3UzZ1drQThuMUNM?=
 =?utf-8?B?TkhyNXN1SEFCOFArSjgzUWNCc3diUUUvekpHYTFjT205Q2orcEprMnk3R0l2?=
 =?utf-8?B?OXp4VnQ0b3pWRThZTGJhL0pIRkJwTTRTZVA1RG1SeFdKaTlTcnMrZWs4RTFu?=
 =?utf-8?B?S01hWTJLbSttYkc1YkFnTytuNndabitxMmtoRVpsdGpiU0NMVW93bTVkM1ZG?=
 =?utf-8?B?SWxrcHJrOWxVSmxlSGR6Uzh1dHkwTis4a1NRRS90dmpSeWNyOTdYQjVoN2hG?=
 =?utf-8?B?U3FRMzY4TzlhRFJzZXBhczJudWd5YjZwZGxIQW9aQ2VDdGRLeklNTDI1K01u?=
 =?utf-8?B?RTdSQ2EyZ0M4T0VERFlQeFZ2UkxadmlEWEJOZHFYaFdVMStOcGFFa2k2ZVVn?=
 =?utf-8?B?NGxYNHMvSGw0T1NIamNZTW90K0R5SUF0V2pJS2JLc2RIb2tZZ2dVZHEvaWd6?=
 =?utf-8?B?VVh1bmVucHh3SXhudWszQk1UeEJ0ckhuQy9DRitKTlZNWkpFbXFTcXRXQmdF?=
 =?utf-8?B?ODlBRVJSZFdPRXZ1cXg2UGhZSjQ0cFFQU0pJL1IwVkVMRmh1dHpLQnczUDlY?=
 =?utf-8?B?MzB0cnVYMHJpT1p6UCtLKzYwVXZOTHVCdmluM0c2cFFzOVhFcFU1a25tSVNF?=
 =?utf-8?B?aEJqayt5WUZvQXlHOUNpdmFLV2JocWdhbkpqSFlOSDZIY1RRdU85VjBvWitI?=
 =?utf-8?B?ZEV5S1RROTZaK0RESkt0bzhrU09HMTJWL1dib1lvOWZiQmRFdWNsZ0NoZVFv?=
 =?utf-8?Q?6FWU+hBblvXrtVRWiKyF6CdKl849Tkxg?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS2PR03MB8907.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(7416014)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VTBHMmFNQWJONUplN2JWRU1JYTA5eldlbnVnMDkvS0ZDNGw3R01nTXgydVhj?=
 =?utf-8?B?WEQxZWJaRy9HaUhpUEFPNFo3N0dqN2ZiNDJlVURFMTIyZUVPcHZqaXpvMlB0?=
 =?utf-8?B?UEx6QlluRVNvME5qNVdKeDVsSjJwWVdYZmFlT3lEMjhiM0dEN01odTYvSW44?=
 =?utf-8?B?RnNIWWdBK3FQc3ZySUxGdUJJcGV3S3IrSmo3ZG90T05iODRTRkwrSlVEMEph?=
 =?utf-8?B?SDBtK1k0SUhIN1NpTEJzelhKUndTcFFsUFpXUmZKNGRDOHk1UDhVUVQ4S3d6?=
 =?utf-8?B?T3oxS3h4MnZRYTlqS3V6dWFOQU5CbWFuZ2lJUWhQYnpTL2xkVWZUUkRrQUVj?=
 =?utf-8?B?b0V0NGF4cDhhdDZKdUZ3RTRtS2hxWGhick5KRG1IVGVVODIzcFBrY2g5Zkp6?=
 =?utf-8?B?TXBrQjVrL2s2SFZqU3JsWTlsYXVpSnAzcmkxYmdlSWpTTSs3Z0pVUVo1and2?=
 =?utf-8?B?aU5yY2lFTjY3c1ltS2paVnhwQ2R3eHhUQ0tRdWNqT05ZaGJhcUk0SzVPMkpL?=
 =?utf-8?B?Rm44OUJoOWZuNHAxU3RGamFGL1BNWFg5elN2MlUrVlN2bkZ3N2N3SE5EcEtm?=
 =?utf-8?B?TzMzdnUyVThMN0ZwVExBc3kzakJHOE00OTlJbXV4MWozTUhBUlhJMWViMGt5?=
 =?utf-8?B?enJqWkhIOUxqbndUa0dLVkh2aDZORG13WHVTYmlGd1N0LzZHZEVjc3NkZUdK?=
 =?utf-8?B?eTZrYmF2TE9WeEloS0l0eTMwdjZ2bmlIMTA1U1Y5eXN5ZGt3M1RaMnFJY0xQ?=
 =?utf-8?B?eHJFY25LRkU1OERqd1YxRkVBWnRYOU5sa3dWMUtpbzRnUERibC96M0NWaFFK?=
 =?utf-8?B?NWYxYytLRWFBc3ZYYjQrWDUxSUYzL3Q4M1Zaekd1WjFkQ3hkMnRjbE8vQ1Yy?=
 =?utf-8?B?NzYrellCaGxBaUgyRmdRTkZjRGZWeHNLTWZML3NzeHFGSE95LzZLTVJnNkxO?=
 =?utf-8?B?b2Y1azZHT0hBV0FaLzIvcElpQjZDQXR3dFVYYTBqUTVzQ1ZWWFF5dUN4Vjhu?=
 =?utf-8?B?VDhjTnlja0N1R3hMOWMybGc1OThjZjZVQUsrdklUbi9qZEh6N3dDSURYUGVl?=
 =?utf-8?B?c25KTDg0ZXBvSzM4QzFYSnNmNlM0T2dHZjZFVXdNN3lPK1FvZ1ZkcU5rYnBH?=
 =?utf-8?B?b3NtdjhZclNrb2ZrajdoMk5NNzd2Q2Q1cHJGa2hibWhsdk96N1o3NVBib0Fs?=
 =?utf-8?B?YWFsekppOVNJZGpmRHJsTm8wOGtOZnV3V3NJWHZYdm9vMDl1Z3ZyUm1ZazIy?=
 =?utf-8?B?VUlKbHNrZEFHT0M3ZWhuN1d5N1ZLaXIwSCszbUIxRWxSY1lscnlmanZaK0Y0?=
 =?utf-8?B?Zy9BeWdOMzRmS3pNZkJwYWpwNURia0JuNE1zMStKS0JNOXp5VUNRcktmUzg5?=
 =?utf-8?B?eDZVclhxTHF2TTRyNVlHZkd2S21lN21CcXdWZXkzbEcyV3ByQkE1K2ppVW1a?=
 =?utf-8?B?MkFrVkEySHdxOTNhSGF2NW9XNEVOSHJQSk1IYjdTVXJvd3Q0WXlaL3ZsaTFM?=
 =?utf-8?B?T3BaWUk0aldLWHJValN6L3JnQk9lU21SMS9sMmNlMTIreVZUM09lc3I5L1BZ?=
 =?utf-8?B?TmhseHFiRGJJL29vekpZeUJlWlE1WjYvWnd3dEE5UTNESXV0RUVKcmlQUEpY?=
 =?utf-8?B?djI0dTMzY0JZd0g4QXFwK0ZTNTBpSDFydGRVU24vWXZ5bWF0M1ZSa0hPT0tw?=
 =?utf-8?B?dTdhTFlsOVY1QU90MysyQTcwL0lCWmZtQUM2WHdnYlBUb0JxbVlidDNkWlZV?=
 =?utf-8?B?UTJlWVZ6QTFlNG9tREdyWXh0RXQ2WjgzYWRaL3hHQVZMS2dRR2ZaK1kweEtu?=
 =?utf-8?B?cFVVOTd6aTFXT1hEbllEV0JrV3JKVEJHajBRWFR6UHptRWR5WFhwQnRPRmRx?=
 =?utf-8?B?U1lhNDFxSmxmQlJSM3VqSkx4L1RGOXZub1dKNTdoL01CWHlyd3E5ZkNRNW9R?=
 =?utf-8?B?WFUyeE1FbDlmb0lRMGJHcXIyaHd6dUI2VTQyemdmUDF1T3VLWTh6bUtpeTlL?=
 =?utf-8?B?Q2pSekluYkVhSThvMkthL2tqV0krQm5yYXl5a085eE9TKzllejZDU2tjNGtk?=
 =?utf-8?B?UTFkUE5wcnlqc2NINXYyNWpxdy8wamtJc1lhaFNzUlFnYUwrem5Zc0lSSTNH?=
 =?utf-8?B?SFVseWdYQ0tlWW1ocGM0aVJpSGl0VURjK1J2cE1jcWVubU8wOG9ybXQvWm9V?=
 =?utf-8?B?NWc9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f0426f30-7bec-48d2-5cc8-08de174002b2
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Oct 2025 23:08:02.5538
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: +QLUxxulSdjC70tCxY8j3zO5rPxfw91vr74LPlsIMvnPK/koTjx39qbZfDl9wmLWPuBz94WaOlEONvsutXH+Rg71OdxpEO0n4CxgsMujLWA=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR03MB6558



On 29.10.25 20:26, Teddy Astie wrote:
> Introduce a new flag to force the x2APIC enabled and preventing a
> guest from switching back LAPIC to xAPIC mode.
> 
> The semantics of this mode are based IA32_XAPIC_DISABLE_STATUS
> architectural MSR of Intel specification.
> 
> Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
> ---
> This feature can be useful for various reasons, starting with SEV as
> it is complicated (especially with SEV-ES) to handle MMIO, and legacy
> xAPIC is one thing that needs MMIO intercepts (and Linux uses it during
> boot unless x2APIC is initially enabled, even if it switches to
> x2apic afterward). It could also be interesting to reduce the attack
> surface of the hypervisor (by only exposing x2apic to the guest).
> 
> As it can allow to have MMIO-less guest (using PVH), perhaps it can
> be enough for avoiding the problematic cases of virtualized INVLPGB
> (when we have it).
> 
> In my testing, Linux, FreeBSD and PV-shim works fine with it; OVMF
> freezes for some reason, NetBSD doesn't support it (no x2apic support
> as Xen guest). HVM BIOS gets stuck at SeaBIOS as it expects booting
> with xAPIC.
> 
> On Intel platforms, it would be better to expose the
> IA32_XAPIC_DISABLE_STATUS architectural MSR to advertise this to
> guest, but it's non-trivial as it needs to be properly exposed
> through IA32_ARCH_CAPABILITIES which is currently passed-through.
> 
>   docs/man/xl.cfg.5.pod.in              |  7 +++++++
>   tools/libs/light/libxl_types.idl      |  1 +
>   tools/libs/light/libxl_x86.c          |  4 ++++
>   tools/xl/xl_parse.c                   |  1 +
>   xen/arch/x86/domain.c                 |  2 +-
>   xen/arch/x86/hvm/hvm.c                |  2 ++
>   xen/arch/x86/hvm/vlapic.c             | 23 ++++++++++++++++++++++-
>   xen/arch/x86/include/asm/domain.h     |  2 ++
>   xen/arch/x86/include/asm/hvm/domain.h |  3 +++
>   xen/include/public/arch-x86/xen.h     | 12 +++++++++++-
>   10 files changed, 54 insertions(+), 3 deletions(-)
> 
> diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
> index ad1553c5e9..01b41d93c0 100644
> --- a/docs/man/xl.cfg.5.pod.in
> +++ b/docs/man/xl.cfg.5.pod.in
> @@ -3198,6 +3198,13 @@ option.
>   
>   If using this option is necessary to fix an issue, please report a bug.
>   
> +=item B<force_x2apic=BOOLEAN>
> +
> +Force the LAPIC in x2APIC mode and prevent the guest from disabling
> +it or switching to xAPIC mode.
> +
> +This option is disabled by default.
> +
>   =back
>   
>   =head1 SEE ALSO

[...]

>   
> diff --git a/xen/arch/x86/include/asm/domain.h b/xen/arch/x86/include/asm/domain.h
> index 5df8c78253..771992d156 100644
> --- a/xen/arch/x86/include/asm/domain.h
> +++ b/xen/arch/x86/include/asm/domain.h
> @@ -509,6 +509,8 @@ struct arch_domain
>   #define has_pirq(d)        (!!((d)->arch.emulation_flags & X86_EMU_USE_PIRQ))
>   #define has_vpci(d)        (!!((d)->arch.emulation_flags & X86_EMU_VPCI))
>   
> +#define has_force_x2apic(d) ((d)->arch.hvm.force_x2apic)

Would it be possible for you to consider having Kconfig option to make
such configuration global, static?
   

-- 
Best regards,
-grygorii



From xen-devel-bounces@lists.xenproject.org Wed Oct 29 23:55:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 23:55:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153177.1483636 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEG0O-0002pb-CD; Wed, 29 Oct 2025 23:55:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153177.1483636; Wed, 29 Oct 2025 23:55:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEG0O-0002pU-9b; Wed, 29 Oct 2025 23:55:04 +0000
Received: by outflank-mailman (input) for mailman id 1153177;
 Wed, 29 Oct 2025 23:55:03 +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
 <SRS0=Xz0O=5G=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1vEG0N-0002OI-F6
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 23:55:03 +0000
Received: from DUZPR83CU001.outbound.protection.outlook.com
 (mail-northeuropeazlp170120005.outbound.protection.outlook.com
 [2a01:111:f403:c200::5])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id aef872f3-b522-11f0-980a-7dc792cee155;
 Thu, 30 Oct 2025 00:55:01 +0100 (CET)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by VI1PR03MB6336.eurprd03.prod.outlook.com (2603:10a6:800:139::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.15; Wed, 29 Oct
 2025 23:54:57 +0000
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593]) by AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593%3]) with mapi id 15.20.9275.013; Wed, 29 Oct 2025
 23:54:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aef872f3-b522-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=DcxCSQfGO8gg9C1NU8/p35k35tD+1JgSu48U6Ts+/ie7kjynb5PAMX+tMPZGxi91f7zc8zGHRZoCV/zrZRm+4ANDlG3uX5h5OIAzgKTXSQE1YUMyqCSEE08t8pgb3oXae1cx18BItUcxInM06hkmfW38Dt1570Qw4fTaFA2uC3QzU612S3WJ8ld3nwJ+souv7Zkt2jAiQza/DOdqbEzjGpqIVBLmo01tAkLBz+rwxlq9cV3nQI+jpYklwwjtnE2SYiJeyCSOrQlnaT4hbC+fBWi5t3SHXC3bMi/+zBHjTTwt/vFxoH8GbzxjkI7ha3QtvHYMfqw/ihBGMn8uHh4QZg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CW854e/emRIA+lob0OlKUhQFAX79JYtdj6gRsLxNMYM=;
 b=M1Ueg5+ruUW/WOyQAIWLZbo4dZefVJQHrCSknxl8m0d1O1vdgAoelQWAky19mT/Bz1FfZFVGK06tRxataThlTN4RK4A+SUUu7ZEcDwP/NtcH2VMl4lxuATKlXz+k6+naSKzhLSqS0q1eyF6jT6Q6hcnc7eWoTlKDMwvTpny4HSbWzODEYcJDXN/kE6UbrsnMPuPLwKBlBL8oFXKS3J4g2E4SHoJAECvNdefIbbWpkLgJmW9rRifeFJFh4wq2KeUqGXmYbHpKFRnBisR2MKQ2VIzraF0H9lc/GwgZuxr9QEx4YR8ruQDi0BxGO9oNLtZIODyLNHmx3H6CQzPahJFWHg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CW854e/emRIA+lob0OlKUhQFAX79JYtdj6gRsLxNMYM=;
 b=bAg8BOCGI08NBSzEqTDP64vwcxXh7L5FAWrdySeIGcn+S3y7Am5Ihc+lCm+0Rb484M1cZdgHbyj1noGsoxq/TVdphEUeG3IuBadbG4O3NxnjTUSXovXiQYX4av4dWTNwfn6zP9RyOImJaHS/u9X7BYrwOAWDwAwUS791i9KOkrdcZ+XPGq+gtFHpJNWV/6u0njTZO65WJvyabAl2ttbOBGXawZl7GRnidWX9gvUcq4szYQAsgXAPJgHOeMrdCFQeisoHFspcDePuTkelg55XOvMXbZc6MKYP6VSimCEJ/K6AEg4V+qLXkCDyjTG7NcKUwwgO4Ifl7CrQV7LQ+wxRfA==
From: Grygorii Strashko <grygorii_strashko@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Grygorii Strashko <grygorii_strashko@epam.com>, Jan Beulich
	<jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	=?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>, Jason Andryuk
	<jason.andryuk@amd.com>, Teddy Astie <teddy.astie@vates.tech>
Subject: [XEN][PATCH 2/3] x86/hvm: vmx: account for SHADOW_PAGING when use
 hvm_shadow_handle_cd()
Thread-Topic: [XEN][PATCH 2/3] x86/hvm: vmx: account for SHADOW_PAGING when
 use hvm_shadow_handle_cd()
Thread-Index: AQHcSS9urzbDquX9/E6h94nu5/XwxA==
Date: Wed, 29 Oct 2025 23:54:57 +0000
Message-ID: <20251029235448.602380-3-grygorii_strashko@epam.com>
References: <20251029235448.602380-1-grygorii_strashko@epam.com>
In-Reply-To: <20251029235448.602380-1-grygorii_strashko@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AS2PR03MB8907:EE_|VI1PR03MB6336:EE_
x-ms-office365-filtering-correlation-id: 9f56000a-9eaf-4a49-aad6-08de17469086
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|376014|366016|38070700021;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?01FMMst9OQXs0jlF6o14b5VlQ3E6onxMZuu0Q6byHaFY+RkGNCPcYa8juX?=
 =?iso-8859-1?Q?fCg8gDeScP5kSTAIlIjVlbvj8Wi++Oe/n9DW2diBHFdtwkxE0d9l6ijnV8?=
 =?iso-8859-1?Q?6ClDuE3Vg5itEbTpb50xecoQY9ciqoP8roQb70Et/ZIHURoNTgWfurPnzW?=
 =?iso-8859-1?Q?dnS3uBRgdyqf24jAo5MdA1AgK3lMK7mppsD7rzDXMobXrc4FiE/GqndtS5?=
 =?iso-8859-1?Q?UTxy7o2alaIOc0pkTWHmDFuUpO1h4H5XeCwCvX25A9j8vs6XDfrJ4209Ul?=
 =?iso-8859-1?Q?lD3w2ZksNm5zSDa+pMvdJAiIhNbJ8c53+BmO6OgGfQeiq/7aRkoakXAP57?=
 =?iso-8859-1?Q?KGdXUqKvv1Y6JHlCVIQVgKoLHd1x+gaTyvlbBUeYjpB+nE01YeI7DKeOhJ?=
 =?iso-8859-1?Q?Ab7YRfThYwdfR/vBrK6CB0BR0f5o0lXgW4LhbGVcw/aXNCHWAE6J+nXH/l?=
 =?iso-8859-1?Q?c/5If/drt1+2aB+bigPcs6BH3hWysICvgtv8qcIFoiwuw15YFkiYz3Afeu?=
 =?iso-8859-1?Q?DnijyJhSeg2S/wBGtjABtJ/vwmp4IIfCOecG2WdciDoxeNB0c8jU9cchwr?=
 =?iso-8859-1?Q?ni+u4mz15n0WuSAEO1Rv36X+3fG5FbkaXInzgTit+WPiPTqR1ShhAD6Ksy?=
 =?iso-8859-1?Q?kZrJfwcMdKKrCXVmAD/3f/KLF1aW0TsKg6SgaRrlIBd21ke8Jkw7p5RK9K?=
 =?iso-8859-1?Q?yJ8iBWvndiQcO1luyT85cN202EAZQGM9kDO7us9x9Piwbco4/quyqgX5eB?=
 =?iso-8859-1?Q?C/ERr1jKINXftdB/unNvgM4wxSOh3iv+UV9xRlHRFO87xnFTGPE2yGBK4L?=
 =?iso-8859-1?Q?vaOxBb+6cBZKDSzcdN0ZZFnX6eIWZ7jJIxB+XefdMyq9BvHOpuPqutC5yx?=
 =?iso-8859-1?Q?Q/l6dWMfIqmhvXsZzX5UM6JNy9lLbeq9rMCqAN47nk0Ygt0SSIuikUOrAH?=
 =?iso-8859-1?Q?9XBl9tLrolhj4lH9dFlKc0ia/c7w3K60E2Ry8Y16k05QzmdOxkLbdxJAYC?=
 =?iso-8859-1?Q?MTGL3n0vNAoxbM09bZwgeMFAnENyaQX2HOwg0NHHNveZqamU0/rpjB7pxA?=
 =?iso-8859-1?Q?q4E/g7zjBQNmmCFY7QAdFWyLO/s7fCfe8bzvb0Z0OVmeCqa558XoOOzlVZ?=
 =?iso-8859-1?Q?cxWr9IQ/pKrhW2ntgMe01UWl1R+MlvS2Z9xhMGGzSQRYOuUd8dmmPG9M/j?=
 =?iso-8859-1?Q?abkx6ssp9524m6GlbpMyDQD90CAVx2R5wGs9f5BHRswvufWGM4poQB6Zb1?=
 =?iso-8859-1?Q?7MOKfHK4STFUWD/fdwkv+82ZMOwpcVImVO+Bi+n3FQGo2z8rv8RcCnyr4v?=
 =?iso-8859-1?Q?mVsrZNtbYy1BQyiR4hFbqwCDPilvjk0pxiSoCcKfxdx22xyTDYSQb+KYCU?=
 =?iso-8859-1?Q?xk0olMnOqMJo+kPGyq1fQk45HPp34TrTc4nyPoZ3S//Lc5b2mmnRpXY4bY?=
 =?iso-8859-1?Q?K8Xj9A0BBsaxd5OCUdmC/jsMvkyYThVRJcT/StN9tzZUTPQX1LYbHi5Hp4?=
 =?iso-8859-1?Q?GbHwJK3zvB9ldT5n0rBC04oY/NS6qSR2RLUfUds4J6rP6dwpYZQyZsKYDP?=
 =?iso-8859-1?Q?fKd6kGw9P8Ea1yZZT+DXj46meg53?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS2PR03MB8907.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(38070700021);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?9bqH/wfW2E7+tsC+D6p3uL+UoRnPQJ6QhjsWeKrlOEhvC/FbmbcJ5vJ6AH?=
 =?iso-8859-1?Q?Ki1UvM3sM25HGb6AH+r328mGs4epprxolW16gMtvDY7ubZYVAzFAyy5W9Z?=
 =?iso-8859-1?Q?BmEQaEyLtFBQdW+oHmwDVWC1teXoTHjZyLQlgdr92BhULojJx3rkOFeOv7?=
 =?iso-8859-1?Q?esxUCgmJgpp21P8NfO6xQPSl5Eb/WiCvsl5LQZ6NyS3rHKF2TeaOvjrDnv?=
 =?iso-8859-1?Q?RBITn12uCMJ/NLocMIH+RclY1hgvkHRMuJwD7qJmOndVESpQqJNC076uPn?=
 =?iso-8859-1?Q?FsxMku56U2yALdJ/5pbO+EEs+frwC8MYUg8mbi71f5d0nUwQC+L4OjERTG?=
 =?iso-8859-1?Q?DBqh0ZWpqRD22GH6/d1gxhHLPdutW35MwbfySNqjR1rG+20svQPIzaczz0?=
 =?iso-8859-1?Q?v5x4DNvz1EiglmW14Nh2NQSd2sW5q1Hm/mnPbVXdjrkpa3RxR4b4CUYUAL?=
 =?iso-8859-1?Q?yqEt74YBEkWgPdJr14vfu2EJFa3mcaZa60VGfVaRQ14kyq7d9yqfPHvTiq?=
 =?iso-8859-1?Q?OjnHDkS3IL+PhphoCaW3CUuea0xXygrWdcsLCExK+eEC2mJPJACtaMGG3z?=
 =?iso-8859-1?Q?y9P5MLApfTHfMr8ygx+fbGs3P1GXxwsOiKmsYusZy8Sy0LVAHn6z97F4rK?=
 =?iso-8859-1?Q?aXZLT2SiBw+NQEi8XOEcJvvdX0GLx6G26UEb4jAjm0Lpz6qcrIUvsKAFpL?=
 =?iso-8859-1?Q?z3fwNojDLByZJPPwzkwyU1lcaz5RhTGgoAmBIgRLZYj59E8genGGcNasXI?=
 =?iso-8859-1?Q?OtdySy39ECZxdJiNRWFrLnDUX8kQxXYVoutJbyIoCYl6TZLSiXRr/xIfAT?=
 =?iso-8859-1?Q?6agkL/vFhwX9mvviXBCGtfLNF7iuT/h6x5LNJwjj4qt3bgagTGQIcF7Ciz?=
 =?iso-8859-1?Q?27teBOfyC2O0VdMiJt7JcQOyT5+a0OXFTIOr0RbTSRhsaAt1doFQotk1Xk?=
 =?iso-8859-1?Q?c8tS+HaX0nxfJbu+fr3vCWMecr62aqHehR8TZRTyqM5pbBTfeU8Alxo2R3?=
 =?iso-8859-1?Q?JJOQKOezuSrnHmX7bfUv2YeyNl34RxVJnna1r3pIk6Hc6Te7K0EGj/TP/G?=
 =?iso-8859-1?Q?/NOQFoy2zTiPH2rt9QCQjkjbnq8nNhWoTtLBBrA6kVDppGPf3bfUnWxRhQ?=
 =?iso-8859-1?Q?07kvmUiWWkIpMIfekPnl4Nl6asxSDRqcex2ektAvjQGRKsMX7mhmvkO/jU?=
 =?iso-8859-1?Q?EC6YPGC7x60UvIpZU4taL6BiG+41w9z3kIxRGFWzwY0Mu9BGPexcEFl1x2?=
 =?iso-8859-1?Q?TOuDbbla0DHiMdRkoy/xeUOxLwS65w1hArbi/U1CeuuzXhI8ob2MHYoz19?=
 =?iso-8859-1?Q?bLrZPE4v2ikydqnXsbQe+ZxCAmkDn0HrZC8ltk0NgO6WhlsGHaaoI4QVVK?=
 =?iso-8859-1?Q?5m44K92l+Pm/wNhXWho7JIlnM6+iq+Kvh3dsSYmyhP2Co1+0xxUsHpgWGG?=
 =?iso-8859-1?Q?Ejvzu8VfD78Qb6JdhezGEwA9HRHDQaHNSK/tcD/Y28v7taQmkugYuL60ar?=
 =?iso-8859-1?Q?KQFuaVMcbmTSiQC+B/f6IMloEydVJ5P+CjnmzyAlS0elMI3h+eBVQaqGdN?=
 =?iso-8859-1?Q?YnrMrm+4WsFTidwN6/ZkZMDcr6cda+FGm8Ew4Xt2TT6dgMlKcXpRxW0ddT?=
 =?iso-8859-1?Q?enMCjSijePncR2lYBN7n0J5FEeeXl/SwSd2k4dGy6cPpfPLUPC7iflccCQ?=
 =?iso-8859-1?Q?UfJZjnKCuCvPa2RXuWM=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9f56000a-9eaf-4a49-aad6-08de17469086
X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Oct 2025 23:54:57.2941
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: xPjaxHLQx2h44NOwOohqXzAuMWjhlmde1SHmLNGhKhb4jtS9PTydNSd/4wNiyD2PE6LWh+pfJ5Oq+D4PDQO63qowvs63RxMPQYs4MTQ4V7k=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR03MB6336

From: Grygorii Strashko <grygorii_strashko@epam.com>

The hvm_shadow_handle_cd() can be used only with SHADOW_PAGING=3Dy,
so guard hvm_shadow_handle_cd() call with IS_ENABLED(CONFIG_SHADOW_PAGING).

bloat-o-meter
 add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-290 (-290)

Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
---
 xen/arch/x86/hvm/vmx/vmx.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index a7ee0519957a..05b394840e59 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -1506,7 +1506,7 @@ static int cf_check vmx_get_guest_pat(struct vcpu *v,=
 u64 *gpat)
=20
 static void cf_check vmx_handle_cd(struct vcpu *v, unsigned long value)
 {
-    if ( !paging_mode_hap(v->domain) )
+    if ( IS_ENABLED(CONFIG_SHADOW_PAGING) && !paging_mode_hap(v->domain) )
     {
         /*
          * For shadow, 'load IA32_PAT' VM-entry control is 0, so it cannot
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Wed Oct 29 23:55:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 23:55:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153178.1483646 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEG0Q-00034t-Qi; Wed, 29 Oct 2025 23:55:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153178.1483646; Wed, 29 Oct 2025 23:55:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEG0Q-00034m-NE; Wed, 29 Oct 2025 23:55:06 +0000
Received: by outflank-mailman (input) for mailman id 1153178;
 Wed, 29 Oct 2025 23:55: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
 <SRS0=Xz0O=5G=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1vEG0P-0002OI-DT
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 23:55:05 +0000
Received: from DUZPR83CU001.outbound.protection.outlook.com
 (mail-northeuropeazlp170120005.outbound.protection.outlook.com
 [2a01:111:f403:c200::5])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id aff06c27-b522-11f0-980a-7dc792cee155;
 Thu, 30 Oct 2025 00:55:03 +0100 (CET)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by VI1PR03MB6336.eurprd03.prod.outlook.com (2603:10a6:800:139::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.15; Wed, 29 Oct
 2025 23:54:57 +0000
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593]) by AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593%3]) with mapi id 15.20.9275.013; Wed, 29 Oct 2025
 23:54:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aff06c27-b522-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Ht77dcaBFwddSNfHVhoDhL03ltwHNxiWCS1qxJpD11X2JBPy8CSJBYEeLpvzuxFwj9B+Y0HnXkpsE+S/FjoosWzb4IFy0KN1v+jhS8K9fLoYjLK2VMhVIek/vn2I2GTb62dHmzJLKRC3gMINvzhOFCEfjGvW2+LDOMUla510Eb0xDXAgVLb5Wic34kw7fd5gudcGC9NFTR/MEFJTYYJerkUekI5XKQ2tTU2IsHfTHFHXEcLCYhwWkdCVXnpGETbPfMpgPahTzKVPj++7IAPW2RQTGMxstRCH787wBQd69B25VOaRVncwb6VUIHLsGHMu56E/EJn68mUHRaQSuJuLvw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=il7YhGntNP2H/6iqRFr6trkLVAFYpSgjbytJCfNcxDo=;
 b=Tia7udHTlYMCLactlwlZjB+iwNjdyc/Ma6LWGQh/Pc3nuEeRdDIGfFjLKFFrESOR0VTHM7U/Ww96/MVcNaqG4nNLAlfYppLLtfnf4UZNehQwOipc0XWG12W24CDZArvFafNWx2p28P2W2uSEe4iWTGgdvG8CcFKtqieM3xPoJk+7arYvCJ+0MaDWjBmZLyTUez4UDOfRUv5yTzPFmEKEtSW7QyOb+A4uerKbnPd7kuRidmvIdppN1H+KaQHvvARVFtbk2MYhC2Bw8p5y2P9CoKHbTHUc4WNDLp8oc5RjlBaTGpmXj86Pr2QTBiKsXiyeqo69olibqdJZ7m8BnK/78A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=il7YhGntNP2H/6iqRFr6trkLVAFYpSgjbytJCfNcxDo=;
 b=AL3wObV3d+yy5qew7SQvzr3Qw8xrzMiwnn5/EPM7OZMcTiSX9oZv/ENMF6BcATp2Q+nIQcFaLggW4TLO7rjIfUx8945ajG9R8fWl1DY82VQnE8XX8WdCKndrFTDDL/6HvZEHvUC30reDm5FBLTe8sL0YdE9GGG7wKxQD+R6EtLyyd/2YSVeOU6jkLv9bfncCjuYXV8E7uCgs8r+lSXgGYKDD45L2XgKM7E+EP5fiS4gQ6dPvntvKK2YAbq/1N5+eIxFkgm4tLdRdAf/m5J4FDuXtPtK0E7ox7v7fvBpQZxhqt4dyfO34RXZIc2Axfx3n1gyfkoFnBgT92XfdI0D6GQ==
From: Grygorii Strashko <grygorii_strashko@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Grygorii Strashko <grygorii_strashko@epam.com>, Jan Beulich
	<jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	=?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>, Tim Deegan
	<tim@xen.org>, Jason Andryuk <jason.andryuk@amd.com>, Teddy Astie
	<teddy.astie@vates.tech>
Subject: [XEN][PATCH 3/3] x86/hvm: vmx: refactor cache disable mode data
Thread-Topic: [XEN][PATCH 3/3] x86/hvm: vmx: refactor cache disable mode data
Thread-Index: AQHcSS9ubBvE8ofkdUWCspcCjT9/kA==
Date: Wed, 29 Oct 2025 23:54:57 +0000
Message-ID: <20251029235448.602380-4-grygorii_strashko@epam.com>
References: <20251029235448.602380-1-grygorii_strashko@epam.com>
In-Reply-To: <20251029235448.602380-1-grygorii_strashko@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AS2PR03MB8907:EE_|VI1PR03MB6336:EE_
x-ms-office365-filtering-correlation-id: f645fb71-d978-4838-cd34-08de174690bf
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|376014|366016|38070700021;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?7tyB1sSsCwWzcaYSGHa7PC89goEy3ZwJqYuoHz4Xr0w5wDn3YvYxQrlk+P?=
 =?iso-8859-1?Q?SyaznnWdKF2Fetd1tcx8tbIfy+3j9pESuSrjEohAK1dgnSI5hGbiHflYga?=
 =?iso-8859-1?Q?LzxaM3YtbvKV4SE1LeaFC17eUms/j4Cav6cjZYXHCY4v/I0801y8aKTgXq?=
 =?iso-8859-1?Q?shC9RkWwjLD6PeoE1PIs9GdiWhKRr2YJLPg3CgH+bILFambGOQztJAJPpF?=
 =?iso-8859-1?Q?fxP2NtCjiVsOu/m/RzyHoUCzDZPycofagZg7tjePAcLnNRwlCtsMZq9X4Q?=
 =?iso-8859-1?Q?BNjIdLUX4GJJ+zbDMJqD9x3sX7Bo++tUYTymGNI/xIwitfaallvM9L/csf?=
 =?iso-8859-1?Q?NIm13UH9mNGiJ11nwpk0fbm621p/va5ciuqNxEVLW/RDkwlGw4ixhNzVwB?=
 =?iso-8859-1?Q?A8taapZHvc5sHwT8pAJWB1TDtoKd+AFwCFv0YTCxFSUJ1MgtQ4lgon58sh?=
 =?iso-8859-1?Q?YxhvcIQ/rPx0WvLbdRQKrv5aZUKHhVP/Dkt6GqcS16WDp3MXqQEbm6ijxd?=
 =?iso-8859-1?Q?iSiDsKChHmOI4WJubG/GGezi2RoMp/Po7ZSaDRmb1WeQXdh1Fc7MjTfTlH?=
 =?iso-8859-1?Q?Ben0wtZOLt/30j4Fgx6sZWWnd9UhTAIRCWhbCoo8hhf1Le/Av2FMqxxa6g?=
 =?iso-8859-1?Q?kMwVvi74WFURgK62ANliVN2NyfhGalrYh9/Dw5y05ENUfcNAy3q306oEv2?=
 =?iso-8859-1?Q?/KAewb5xw9FAIuGPkg201rqrVsJVzZ4/+b3F64DME71HwvXwwOjBfNX186?=
 =?iso-8859-1?Q?dSAmdjFHU+urLn668daEIgnscNSRSQ4COIBshu2iMPyqbsraecZ6igS+4s?=
 =?iso-8859-1?Q?EBTrWqKGc57hOq77Zcyoipe+VhwCIS4AEktp2qjzh4hu/oyf2xbkEUr6Sa?=
 =?iso-8859-1?Q?Aq0Chmv88hrTUiwSQERYaMRxkWTyTm/Ba1lC2e6BDvJRVlJG1skxk9Sivk?=
 =?iso-8859-1?Q?lHJQScsLDu1hVjUzTkWNgve00Go4nIvWq3AgH5bPXfDsydrXTLfkurTPts?=
 =?iso-8859-1?Q?lQ5TyhsCfhJDa0mQAnmUZ31JDV4T02CVGf+Bzukh87BePb9BgE2uA0vI8+?=
 =?iso-8859-1?Q?Vem3H/XZglbzHIeJeeV9mUUKB2j7PPxD2ivTC0oB2auEq6F8bazAxCb0hG?=
 =?iso-8859-1?Q?GVM9kIfpdKEpOp1a2ZjG1lNw2d2djudBlcAwIXRaBeEJo3qbOLo/GY2KOQ?=
 =?iso-8859-1?Q?N+lqTwiF6F5IDqvfpXYkl2FHCo8dhZNh1LaQXmv1nUvEPM9ZtasghL7OMj?=
 =?iso-8859-1?Q?CkDsnVMvcCtiMXcSKaw0iOqAnmPauPv9kHiuxkJGFg8CWOAOeWVI3v3xoS?=
 =?iso-8859-1?Q?xRq5WqAE8+vF8ll1PjbRNNecUGBbXKguc1I1DtvE1d6XcGSJkWgM1VkcWl?=
 =?iso-8859-1?Q?F7aCAx+6PV4PCmALtpbW8gx4mIW+Khjzu3/E9nBeEP4tTEMcBHSe9zpTPq?=
 =?iso-8859-1?Q?uwHPAKLmb2IbBYcamWoo9ne55qKS/YgVPTP5Hpgfhap4aZNDQbdIsncyh/?=
 =?iso-8859-1?Q?R25XAOeTDUEhEshKNKIBS0+81vyVc7GYKX6sHKNukN9B9rzbg3FekN9WL3?=
 =?iso-8859-1?Q?4CHC1/dWegpTCEaTQ+CQuNI9Gf2M?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS2PR03MB8907.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(38070700021);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?EdMDITq49WLRWJMlKr8eTu0U5aLNDFTWG4J2QjXdRivVxNKcro4lBnJPfX?=
 =?iso-8859-1?Q?lOatSkg6LvDudUYEbqktxIZWUDm3TAS+Pz306EgJ95Ny7NTWMisZVp0WY8?=
 =?iso-8859-1?Q?3l8bGLEbCtlfWTQG4vMMdgx2iNuiX8L4S/CsfrksaoyCG3k0g+MqNfPhG2?=
 =?iso-8859-1?Q?kFlYYS8vvi8tgUPxHJ1Jyk2CArkh21tg1HRAxmUFTLSA5zTQx5JEkGc5rh?=
 =?iso-8859-1?Q?tGpk2T8GhuYM1uMgXchgomfL9yhg+3uH/tsld7BKXQSKAl0Ic0RGdp+N45?=
 =?iso-8859-1?Q?g5YYFKtNef4qZQBHHlRe5aItVYFcIvBqnUPfEK5xLxvUK6GbE5QUQqcotY?=
 =?iso-8859-1?Q?09GfIjS7sGvKWWrQcqtp0g/l5Jr1GQ9Gkqsyyw6pomo8jBWGHu0vN3FEhk?=
 =?iso-8859-1?Q?y+Y+o7QPwYO9fygy/JrphcoOjptGWKVPufNaCd14ymf3QPSZ/LkrbP8akA?=
 =?iso-8859-1?Q?ePQzN8pudwAZdwcDJiHXZ8co22Bvkvj1Vu3D6BFseesij1B6TtSmq8T/Ml?=
 =?iso-8859-1?Q?gnoYpzZa0I5loZHGiwQbgLOFGSLwcMGCwod6T7XGeym9JKm7nX5ftCT8FK?=
 =?iso-8859-1?Q?5k87vprql9TTCqdMiLG3roVUcj++ALbi3YwPxVsNy4GAJPFUvxJdsxN3Fq?=
 =?iso-8859-1?Q?dA3adR+DSIYJAbs51TPEDmZ5qhcYGkgDY2hnBlV8HBiQIHZJv01gocvQF8?=
 =?iso-8859-1?Q?arycHMIHGYVX/gb81hXLYVnzL6PLX902zyr85doeORm29qlmVNjR7Txp8i?=
 =?iso-8859-1?Q?MSI2XQQq0iXHtTvyOVMyqhrc2WJeaOCFZTQ3zct9YHqjT/8msuEQrWbCjh?=
 =?iso-8859-1?Q?T8lERQLAUg/88ExzswO9FXCUfctG4GH3E3r84V0dHjFsyzkmb1sNN7UmXc?=
 =?iso-8859-1?Q?O4vs3JPvjWvOEtxhuLdShlbz1NDL3HpP4hCSra/1YTxlhyrCWoMhRKihcf?=
 =?iso-8859-1?Q?64D+8mZaCOjjfWF9HeRhq46hL2F9Oxwy17O01PsaVQGRT+/IhFKPSaPrOG?=
 =?iso-8859-1?Q?eZMscSEBeex4U2MsawQO4vQS7khajndsfUOPiGYXCha7V/9NmfVbOqCB33?=
 =?iso-8859-1?Q?jqyBz7/x0gG/zrxL1bDoZluFWVilWlOlX2/QrB3NdpjC5ujEL4jZiBBMmQ?=
 =?iso-8859-1?Q?UL1kQj9YQkOhQRf8P49R7UWTq+on7j1Pj7w4+Q0ocp9CVm4M09JquT0exZ?=
 =?iso-8859-1?Q?NMwwY3BVTJL5t4Y2QXtkLjp6GSPIj1WeoK5AcYb5VM49z7CT13uG9LtVvZ?=
 =?iso-8859-1?Q?fZQDjtcKT6NsD0xoHQI2O3P2pg9tZ2hYWCQ1ALPZOqoD/QfAhmyOnC1CgB?=
 =?iso-8859-1?Q?0Qx3bn/KoMS1nEO6T5ND0ED20iX8hioJwTLf6WshlWLw/s0DMKuXjIyjZQ?=
 =?iso-8859-1?Q?jws3uNraG7jtnQ84UTvndASdc8caczdJ1Wu0rQw8wvNBtfxFbPYLn4qhzY?=
 =?iso-8859-1?Q?hfZ1D90gCMO+MdEGD88pPw097DaXCH1DTAZvJl2Po8uUgNbotkKLazbXqR?=
 =?iso-8859-1?Q?Rxg/d4VJPHwY8SaAoPrySqY1KUh3GuG8k78AEQHlIIZwTkdDR5b85usizr?=
 =?iso-8859-1?Q?dJF/bYaczRKQdKxLS2EeJeLlDtk8XlRyHr3RN5FjQxaeBTEYgsTS0Harwg?=
 =?iso-8859-1?Q?/YX7Hsl3jsz0/a+rCBEyDZkyqU0tLaLo3lAJI3t5sEx8rn2Bu7NTB4wZTX?=
 =?iso-8859-1?Q?6TZwvVQ3YBfIMEyKh94=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f645fb71-d978-4838-cd34-08de174690bf
X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Oct 2025 23:54:57.6530
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: YMQctobJpjVCtVOPz+07f8WqMwI3HX+MNfLxGvYgKY/mSl0q9HKgfQDceVeepVZzYYuoVpGEf5n3eZMjv9PTdWKGzBeVSECqQPoqVlJaLco=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR03MB6336

From: Grygorii Strashko <grygorii_strashko@epam.com>

The Cache Disable mode data is used only by VMX code, so move it from
common HVM structures into VMX specific structures:
- move "uc_lock", "is_in_uc_mode" fields from struct hvm_domain to struct
vmx_domain;
- move "cache_mode" field from struct hvm_vcpu to struct vmx_vcpu.

Hence, the "is_in_uc_mode" field is used directly in mm/shadow/multi.c
_sh_propagate(), introduce the hvm_is_in_uc_mode() macro to avoid direct
access to this field and account for INTEL_VMX configuration.

Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
---
 xen/arch/x86/hvm/hvm.c                  |  1 -
 xen/arch/x86/hvm/vmx/vmx.c              | 29 +++++++++++++------------
 xen/arch/x86/include/asm/hvm/domain.h   |  6 -----
 xen/arch/x86/include/asm/hvm/hvm.h      |  3 +++
 xen/arch/x86/include/asm/hvm/vcpu.h     |  3 ---
 xen/arch/x86/include/asm/hvm/vmx/vmcs.h | 14 ++++++++++++
 xen/arch/x86/include/asm/mtrr.h         |  3 ---
 xen/arch/x86/mm/shadow/multi.c          |  2 +-
 8 files changed, 33 insertions(+), 28 deletions(-)

diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 9caca93e5f56..c09fb2ba6873 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -608,7 +608,6 @@ int hvm_domain_initialise(struct domain *d,
     }
=20
     spin_lock_init(&d->arch.hvm.irq_lock);
-    spin_lock_init(&d->arch.hvm.uc_lock);
     spin_lock_init(&d->arch.hvm.write_map.lock);
     rwlock_init(&d->arch.hvm.mmcfg_lock);
     INIT_LIST_HEAD(&d->arch.hvm.write_map.list);
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 05b394840e59..23dbf60ec37f 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -583,6 +583,7 @@ static int cf_check vmx_domain_initialise(struct domain=
 *d)
     int rc;
=20
     d->arch.ctxt_switch =3D &csw;
+    spin_lock_init(&d->arch.hvm.vmx.uc_lock);
=20
     /*
      * Work around CVE-2018-12207?  The hardware domain is already permitt=
ed
@@ -1432,7 +1433,7 @@ static bool domain_exit_uc_mode(struct vcpu *v)
     {
         if ( (vs =3D=3D v) || !vs->is_initialised )
             continue;
-        if ( (vs->arch.hvm.cache_mode =3D=3D NO_FILL_CACHE_MODE) ||
+        if ( (vs->arch.hvm.vmx.cache_mode =3D=3D NO_FILL_CACHE_MODE) ||
              mtrr_pat_not_equal(vs, v) )
             return false;
     }
@@ -1442,7 +1443,7 @@ static bool domain_exit_uc_mode(struct vcpu *v)
=20
 static void hvm_set_uc_mode(struct vcpu *v, bool is_in_uc_mode)
 {
-    v->domain->arch.hvm.is_in_uc_mode =3D is_in_uc_mode;
+    v->domain->arch.hvm.vmx.is_in_uc_mode =3D is_in_uc_mode;
     shadow_blow_tables_per_domain(v->domain);
 }
=20
@@ -1451,10 +1452,10 @@ static void hvm_shadow_handle_cd(struct vcpu *v, un=
signed long value)
     if ( value & X86_CR0_CD )
     {
         /* Entering no fill cache mode. */
-        spin_lock(&v->domain->arch.hvm.uc_lock);
-        v->arch.hvm.cache_mode =3D NO_FILL_CACHE_MODE;
+        spin_lock(&v->domain->arch.hvm.vmx.uc_lock);
+        v->arch.hvm.vmx.cache_mode =3D NO_FILL_CACHE_MODE;
=20
-        if ( !v->domain->arch.hvm.is_in_uc_mode )
+        if ( !v->domain->arch.hvm.vmx.is_in_uc_mode )
         {
             domain_pause_nosync(v->domain);
=20
@@ -1464,26 +1465,26 @@ static void hvm_shadow_handle_cd(struct vcpu *v, un=
signed long value)
=20
             domain_unpause(v->domain);
         }
-        spin_unlock(&v->domain->arch.hvm.uc_lock);
+        spin_unlock(&v->domain->arch.hvm.vmx.uc_lock);
     }
     else if ( !(value & X86_CR0_CD) &&
-              (v->arch.hvm.cache_mode =3D=3D NO_FILL_CACHE_MODE) )
+              (v->arch.hvm.vmx.cache_mode =3D=3D NO_FILL_CACHE_MODE) )
     {
         /* Exit from no fill cache mode. */
-        spin_lock(&v->domain->arch.hvm.uc_lock);
-        v->arch.hvm.cache_mode =3D NORMAL_CACHE_MODE;
+        spin_lock(&v->domain->arch.hvm.vmx.uc_lock);
+        v->arch.hvm.vmx.cache_mode =3D NORMAL_CACHE_MODE;
=20
         if ( domain_exit_uc_mode(v) )
             hvm_set_uc_mode(v, false);
=20
-        spin_unlock(&v->domain->arch.hvm.uc_lock);
+        spin_unlock(&v->domain->arch.hvm.vmx.uc_lock);
     }
 }
=20
 static int cf_check vmx_set_guest_pat(struct vcpu *v, u64 gpat)
 {
     if ( !paging_mode_hap(v->domain) ||
-         unlikely(v->arch.hvm.cache_mode =3D=3D NO_FILL_CACHE_MODE) )
+         unlikely(v->arch.hvm.vmx.cache_mode =3D=3D NO_FILL_CACHE_MODE) )
         return 0;
=20
     vmx_vmcs_enter(v);
@@ -1495,7 +1496,7 @@ static int cf_check vmx_set_guest_pat(struct vcpu *v,=
 u64 gpat)
 static int cf_check vmx_get_guest_pat(struct vcpu *v, u64 *gpat)
 {
     if ( !paging_mode_hap(v->domain) ||
-         unlikely(v->arch.hvm.cache_mode =3D=3D NO_FILL_CACHE_MODE) )
+         unlikely(v->arch.hvm.vmx.cache_mode =3D=3D NO_FILL_CACHE_MODE) )
         return 0;
=20
     vmx_vmcs_enter(v);
@@ -1541,11 +1542,11 @@ static void cf_check vmx_handle_cd(struct vcpu *v, =
unsigned long value)
=20
             wbinvd();               /* flush possibly polluted cache */
             hvm_asid_flush_vcpu(v); /* invalidate memory type cached in TL=
B */
-            v->arch.hvm.cache_mode =3D NO_FILL_CACHE_MODE;
+            v->arch.hvm.vmx.cache_mode =3D NO_FILL_CACHE_MODE;
         }
         else
         {
-            v->arch.hvm.cache_mode =3D NORMAL_CACHE_MODE;
+            v->arch.hvm.vmx.cache_mode =3D NORMAL_CACHE_MODE;
             vmx_set_guest_pat(v, *pat);
             if ( !is_iommu_enabled(v->domain) || iommu_snoop )
                 vmx_clear_msr_intercept(v, MSR_IA32_CR_PAT, VMX_MSR_RW);
diff --git a/xen/arch/x86/include/asm/hvm/domain.h b/xen/arch/x86/include/a=
sm/hvm/domain.h
index 95d9336a28f0..83be2bd1c29c 100644
--- a/xen/arch/x86/include/asm/hvm/domain.h
+++ b/xen/arch/x86/include/asm/hvm/domain.h
@@ -97,12 +97,6 @@ struct hvm_domain {
     /* VRAM dirty support.  Protect with the domain paging lock. */
     struct sh_dirty_vram *dirty_vram;
=20
-    /* If one of vcpus of this domain is in no_fill_mode or
-     * mtrr/pat between vcpus is not the same, set is_in_uc_mode
-     */
-    spinlock_t             uc_lock;
-    bool                   is_in_uc_mode;
-
     bool                   is_s3_suspended;
=20
     /* Compatibility setting for a bug in x2APIC LDR */
diff --git a/xen/arch/x86/include/asm/hvm/hvm.h b/xen/arch/x86/include/asm/=
hvm/hvm.h
index 6f174ef658f1..ce31401a5d53 100644
--- a/xen/arch/x86/include/asm/hvm/hvm.h
+++ b/xen/arch/x86/include/asm/hvm/hvm.h
@@ -392,6 +392,9 @@ static inline bool using_svm(void)
     return IS_ENABLED(CONFIG_AMD_SVM) && cpu_has_svm;
 }
=20
+#define hvm_is_in_uc_mode(d) \
+    (using_vmx() && (d)->arch.hvm.vmx.is_in_uc_mode)
+
 #ifdef CONFIG_HVM
=20
 #define hvm_get_guest_tsc(v) hvm_get_guest_tsc_fixed(v, 0)
diff --git a/xen/arch/x86/include/asm/hvm/vcpu.h b/xen/arch/x86/include/asm=
/hvm/vcpu.h
index 9ed9eaff3bc5..eae9ac53767b 100644
--- a/xen/arch/x86/include/asm/hvm/vcpu.h
+++ b/xen/arch/x86/include/asm/hvm/vcpu.h
@@ -168,9 +168,6 @@ struct hvm_vcpu {
=20
     u8                  evtchn_upcall_vector;
=20
-    /* Which cache mode is this VCPU in (CR0:CD/NW)? */
-    u8                  cache_mode;
-
     struct hvm_vcpu_io  hvm_io;
=20
     /* Pending hw/sw interrupt (.vector =3D -1 means nothing pending). */
diff --git a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h b/xen/arch/x86/include=
/asm/hvm/vmx/vmcs.h
index ecd91389302c..44a535d16207 100644
--- a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
+++ b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
@@ -46,7 +46,9 @@ struct ept_data {
=20
 #define _VMX_DOMAIN_PML_ENABLED    0
 #define VMX_DOMAIN_PML_ENABLED     (1ul << _VMX_DOMAIN_PML_ENABLED)
+
 struct vmx_domain {
+    spinlock_t uc_lock;
     mfn_t apic_access_mfn;
     /* VMX_DOMAIN_* */
     unsigned int status;
@@ -56,6 +58,12 @@ struct vmx_domain {
      * around CVE-2018-12207 as appropriate.
      */
     bool exec_sp;
+    /*
+     * If one of vcpus of this domain is in no_fill_mode or
+     * mtrr/pat between vcpus is not the same, set is_in_uc_mode.
+     * Protected by uc_lock.
+     */
+    bool is_in_uc_mode;
 };
=20
 /*
@@ -93,6 +101,9 @@ struct pi_blocking_vcpu {
     spinlock_t           *lock;
 };
=20
+#define NORMAL_CACHE_MODE          0
+#define NO_FILL_CACHE_MODE         2
+
 struct vmx_vcpu {
     /* Physical address of VMCS. */
     paddr_t              vmcs_pa;
@@ -156,6 +167,9 @@ struct vmx_vcpu {
=20
     uint8_t              lbr_flags;
=20
+    /* Which cache mode is this VCPU in (CR0:CD/NW)? */
+    uint8_t              cache_mode;
+
     /* Bitmask of segments that we can't safely use in virtual 8086 mode *=
/
     uint16_t             vm86_segment_mask;
     /* Shadow CS, SS, DS, ES, FS, GS, TR while in virtual 8086 mode */
diff --git a/xen/arch/x86/include/asm/mtrr.h b/xen/arch/x86/include/asm/mtr=
r.h
index 25d442659df2..3a5b4f5b6eec 100644
--- a/xen/arch/x86/include/asm/mtrr.h
+++ b/xen/arch/x86/include/asm/mtrr.h
@@ -7,9 +7,6 @@
 #define MEMORY_NUM_TYPES     MTRR_NUM_TYPES
 #define NO_HARDCODE_MEM_TYPE MTRR_NUM_TYPES
=20
-#define NORMAL_CACHE_MODE          0
-#define NO_FILL_CACHE_MODE         2
-
 #define INVALID_MEM_TYPE X86_NUM_MT
=20
 /* In the Intel processor's MTRR interface, the MTRR type is always held i=
n
diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.=
c
index 7be9c180ec43..03be61e225c0 100644
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -559,7 +559,7 @@ _sh_propagate(struct vcpu *v,
         if ( !mmio_mfn &&
              (type =3D hvm_get_mem_pinned_cacheattr(d, target_gfn, 0)) >=
=3D 0 )
             sflags |=3D pat_type_2_pte_flags(type);
-        else if ( d->arch.hvm.is_in_uc_mode )
+        else if ( hvm_is_in_uc_mode(d) )
             sflags |=3D pat_type_2_pte_flags(X86_MT_UC);
         else
             if ( iomem_access_permitted(d, mfn_x(target_mfn), mfn_x(target=
_mfn)) )
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Wed Oct 29 23:55:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 23:55:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153176.1483619 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEG0N-0002Rc-6q; Wed, 29 Oct 2025 23:55:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153176.1483619; Wed, 29 Oct 2025 23:55:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEG0N-0002Qw-2k; Wed, 29 Oct 2025 23:55:03 +0000
Received: by outflank-mailman (input) for mailman id 1153176;
 Wed, 29 Oct 2025 23:55:02 +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
 <SRS0=Xz0O=5G=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1vEG0M-0002OI-1j
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 23:55:02 +0000
Received: from DUZPR83CU001.outbound.protection.outlook.com
 (mail-northeuropeazlp170120005.outbound.protection.outlook.com
 [2a01:111:f403:c200::5])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ae037674-b522-11f0-980a-7dc792cee155;
 Thu, 30 Oct 2025 00:55:00 +0100 (CET)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by VI1PR03MB6336.eurprd03.prod.outlook.com (2603:10a6:800:139::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.15; Wed, 29 Oct
 2025 23:54:53 +0000
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593]) by AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593%3]) with mapi id 15.20.9275.013; Wed, 29 Oct 2025
 23:54:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ae037674-b522-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=WXxIGp3rS5bBBgb/FsxPP9voGWWcnOe6pgTVSXcmF+GEgsqjlRu1KUQ9r4zjDQARwGIbpuIpxvcqIke5/i+NsPg/J8blpo99444KttzZnhP82ORBcxcID1gACex8E/Pj1HcllM7v9+VNT0IH61Dj+yF8pQL6ezAFTD98/+pl0HdPyA/uYQt9kpyxKWOoBBrU+37WWTe3B1JxZtgRiyDrrHySIwvYQNRS+7GymGCwL08L89EdHnNl8hZIEG4tl+fK/T7ku6pHx10UHkT8w1On8drrsT8chxaREFXr9Y7R6Vnku39cbSAl0o/go5QIU15d1NKZy8RFVSBMB1jMPzZHrA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nB2W6kvPkMyCwnn3lorcsSQRs/CY2MtyjSCDhvSFvo8=;
 b=Ll5vT2tzF3YpzjzwDT17m879ULz4+MHRDio+ttmfmL/kS078hYmy1brYZSBZO2i8i94vi4YvxeQQ9IepXYb8df7tMlmgtn6l8hoMaCueQZ3HIk+y5vG2/ClVG360caFfaFdQ6ayMf2GRZfOVnkQJZ9WXRYYtlCc7K7kzgSq9sX+ffeYys3ACOgeH0HnDRtymrLoIXT84isJ232M8zNd3HPEVB5iAvegtk1aWQpxGaTakdnpGuD/WNV4NerJ7alYsLTXeSSq6rtvCFP4F+bNBE7kLuWJjCaz4KD2Yf6l6uPiJFfG6wG/wv0g0OxMyurQxKHw5punQB/628CKSgSrz6g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nB2W6kvPkMyCwnn3lorcsSQRs/CY2MtyjSCDhvSFvo8=;
 b=jtIpJBlgAInzWmhMp6Br+N8Q6WDTyZYi3kmb0NJ3KbKPZBL54I2DlJz91vOdSe3pWs+p+4lGASIfHEbNCRjZZNfKwxO+k3P+7CKwlBteASyg+MKCrQWMg9rXTFh9zYCtXDPOFiMEogulzGJQtC76r70aQsrRZ+ya4RlWwkvRikkiygITpV5ZWCHLsNQgSpCsAHcOZXEb6k05jE+miRL8hDpUxGaTIhSMBFZRIerqFGLH5jm88VuMjkQBY37YyRuxD49ngc9FQZwDLdmVfsUND4ssjwGKzJTTMoncD5T3yMUtwzzoBqNxUvcaqDrmtiGYAOvqUbKAH7T4LR1bciWFHQ==
From: Grygorii Strashko <grygorii_strashko@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Grygorii Strashko <grygorii_strashko@epam.com>, Jan Beulich
	<jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	=?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>, Tim Deegan
	<tim@xen.org>, Jason Andryuk <jason.andryuk@amd.com>, Teddy Astie
	<teddy.astie@vates.tech>
Subject: [XEN][PATCH 0/3] x86/hvm: vmx: refactor cache disable mode code
Thread-Topic: [XEN][PATCH 0/3] x86/hvm: vmx: refactor cache disable mode code
Thread-Index: AQHcSS9rVSowLTGsJkyGsEcuP5+npw==
Date: Wed, 29 Oct 2025 23:54:52 +0000
Message-ID: <20251029235448.602380-1-grygorii_strashko@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AS2PR03MB8907:EE_|VI1PR03MB6336:EE_
x-ms-office365-filtering-correlation-id: 7d52d166-5906-4b83-2743-08de17468ddf
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|376014|366016|38070700021;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?Z2xzQZfgE3U7eFuNNxAcZ+VYECLb58AM1UqMpSsUI1P1rRuKWHAu9PRsbx?=
 =?iso-8859-1?Q?85OQAkn8jyrbZwmI0OmkLUCBsjJen6f595uO1O9dN4frAQW4Af1SSZNPzk?=
 =?iso-8859-1?Q?XZ0mfsU2UUztmLb0cu1367RbIXoIx/CqnM4o3YJ9fnlCUN+txQZ/tdlwC1?=
 =?iso-8859-1?Q?56FQQogYcEJHIzfjz/1jQyzL2eKZD0EBjo4bO6JOa8N+n8xW3yYvu/HJfP?=
 =?iso-8859-1?Q?6YG9To1OceD8TMNnXUNDbMf3iojYSJhOSSciM6tDlQdcAAtZ9bJcf5ro8G?=
 =?iso-8859-1?Q?WgfcdNM5hRpq+uW8KtPnAVEPLduh++0EcCQz9xO0x6isRNQYZbGvfm+UoH?=
 =?iso-8859-1?Q?VtaqVavkHscqGMjEnEDR2GzsjDJEC4dLNZ05As5z30miEPq3d5AKSdAY11?=
 =?iso-8859-1?Q?dpk07P/igYeDThF1hMAunIUvpDJTB2OPSwA6D2nPm5f2SWIUN9votmY+Qs?=
 =?iso-8859-1?Q?TfjLbYwzEGVHQGCagnhmKL1IkTowKSgJXTb0XQjaBKIbEuZkqZEhCTpdSQ?=
 =?iso-8859-1?Q?pV7fkt3E9Ozj2+3+X5lEiYKbdYIKpIXTrT/ydsS4IZyBC/1XcILYbroyF8?=
 =?iso-8859-1?Q?MPwipPdL/SeoZy1VytjjqyNJWIxLqvUssOuXbpp34SV2GFdsdRvpnZM9Od?=
 =?iso-8859-1?Q?nRBTyCkdTLA8N/0PbhNE9Ljp6Wx+liOekt+Qx2E/xzy3uSMVt3AsyU2Utw?=
 =?iso-8859-1?Q?xDm0TOrnW0GMI0tcS55icUQmMguEZcPSJd5aCBgAASnWLmpMK7VQjbNFeR?=
 =?iso-8859-1?Q?39onaFqMaX41DYNxjOfLACWSUdWKOVm8/b/8zqoh7jpj1s02A0M5KxA0jJ?=
 =?iso-8859-1?Q?LL86db8Y0RRcScHZxImojkJhSc/rw//VrFhhqb8aokqJBc2n/ScKMbiNFE?=
 =?iso-8859-1?Q?d6nts4aIeB2Cnj0RgZhWCiZH/lMpbfcnI8V+/eGxCmKi273gNPRvWV6R1c?=
 =?iso-8859-1?Q?SyV5eerT7IiCp8NzuygAfE7wonim57MZvIyEi64ryE/66QSr6ZdPXXKiuh?=
 =?iso-8859-1?Q?Zy+TjrdyG80T2nHde/B/z2pgFOEz5zrRDLAof/wB1OHITV7I8eoVUYbuJN?=
 =?iso-8859-1?Q?EjmoqnVcEk9/Tk/jpTP+w3r8C8hyDMOJuXKx2Nm/WbNM3MeDEPLPi0rgsd?=
 =?iso-8859-1?Q?D09wfv3+BcBqGWn6pXBnnf5QipxzmBbE60dXF2VWL6G5nDxeIldE/I6LNl?=
 =?iso-8859-1?Q?RAW6ONn7lou+yKKwuPeHnLZnSXpDJ126sYMj6sZpk0wj99vk8lxMbC36Ex?=
 =?iso-8859-1?Q?meTzzGBw0CYXE3ZplgrwHrf6i6X8K+k+CTWzhxZdrmR257YYyuRkym+EHo?=
 =?iso-8859-1?Q?WeEMF1vKeiiYpX/T+M7ZwOP6pmA9hoeizVjpNt7NTDjNCJw0GItU4X7Whn?=
 =?iso-8859-1?Q?QP9BhjXkJV7ZZxGCagqsoTfMk/Ok/RRx7QjZ7u9xj+PilGmU2uh5AfOEqE?=
 =?iso-8859-1?Q?VaSqzZaJHkfnGFw85HLTXjMlHKFJnuHckQbMzb16yYBblys90iThUVGmFi?=
 =?iso-8859-1?Q?tnpg6+NAIATIW/mmvHbKnsRVNj/fxIlDZOnsT2PW1Zq35DTTCISxiUxNAC?=
 =?iso-8859-1?Q?Pp6gfAcoqJnDo/KfTSfr/mYLNPaV?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS2PR03MB8907.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(38070700021);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?QfSUt+J201hJGYDGBJCP2ys+Vm2u/HLAgFyfeGfCPC3/bcfa8h4PGXfxd5?=
 =?iso-8859-1?Q?UFr87yDxD9rnavqc3MP/eqgRZFIJyORwQ/VzDwrnZvy8cmeFOXhvrRZEMy?=
 =?iso-8859-1?Q?XIG68kAAP3VovtWmd7RMBYFdwvi4sC6TYvcuzTFB779r/e+nVSb0Uyn+FN?=
 =?iso-8859-1?Q?x5U1vgq68tASoYPNHSjrTPMCvB5J4G/r5+GGp4cDJFunly5gL6wWENi7Rh?=
 =?iso-8859-1?Q?qla9Ss0+RPuRyKkupKdw+k7D+mmGfVRUeI3QdpLhDZqxCEoRLJbor9jRqd?=
 =?iso-8859-1?Q?A29DPh9LLjZ3nxtuAgikyqU6VbaB2Dl+HNa8bouV3BAUXxQHRJzcZoh5qV?=
 =?iso-8859-1?Q?VtTxsUTZWHGod+E9RyP1qlLoy9MlFb/c56SuIJBZwbNyneDyYFOcqMKn8U?=
 =?iso-8859-1?Q?HW1POKhP4SOGMSyDxcWzKxDwHe9exXawzhggaEa5eigWbIslJWOyAfo78W?=
 =?iso-8859-1?Q?0CQqEhisNJvWKWKYWom2cclX1rnIi1dfmZcob8dU6pqWM8CDoOKiPyrvaR?=
 =?iso-8859-1?Q?bIcVXgAeRjDpfbgF6TMbREHf3tuj4XBbx5DMye/VVCgh9bTGBZTwD6Lrem?=
 =?iso-8859-1?Q?nsmU3o6BQD3es3QNRpvl4ihYvsnEF7CuKERHuOHULDh9KO67eBxpmvHBFm?=
 =?iso-8859-1?Q?IPI1hNrwPtgBW4f1AXgh937J30qrxgFaJM9pBzPvNnt+0RBxJFMjpwUPca?=
 =?iso-8859-1?Q?fy3WjRQfeaSME2mSWTDzxR/woauk5uh1m+FknLVQAjztq9g4mAa+EHP68Y?=
 =?iso-8859-1?Q?FpSBoJn3mkIEqyMKBj1oPilbyrmBo//Qqaiy+sa/ELNW6grW1WgUKjgrly?=
 =?iso-8859-1?Q?UeNpLHZbUk2OKA0O5G7NXoAqEpP69JO6KBZ34OMS5ssxprSwyMRwJL4YiW?=
 =?iso-8859-1?Q?QodJiUDQ7EX8ViFRkE5axht/1OuxXlSnPAK8bnufvm9x+IhT2a2RR32l8w?=
 =?iso-8859-1?Q?ZOFcwoAg+55KxkRv0nhxPI13xNtsXpT0QrsjJAZdlymczGZTqLUDmaypUa?=
 =?iso-8859-1?Q?NvUyY2npMjGIrwcfoSNYEjtGexXYV1XToND9AAkh1LMy+x9S2pmjfnKZGX?=
 =?iso-8859-1?Q?N/q+HlYWsLz+qXeQ0htJp/DuTU7LMGAEXLBudpd5l50lGpXlbYDxX4peQx?=
 =?iso-8859-1?Q?uO20J51CSENA0uG9LQGVcYn/F/bihtY3C3jfKgmUKapRiWZ7Fm8spkFSXY?=
 =?iso-8859-1?Q?vE0+k95OXje9O5OA9S66kEKAWT3vyt7DzVlpt/LMXzjuDA4qBudGW5H8BP?=
 =?iso-8859-1?Q?e4XxlHrlvj2Ohwyfut1K9jmX+py6oNXkJsEP3zZHWBBZP48Q1eQweuRg66?=
 =?iso-8859-1?Q?oX3Rq3mRtNSfOj2gUmlAwLLxaxwUaq1xFvN8Z1rQph9aPqCVwfQ2bA5mcn?=
 =?iso-8859-1?Q?0UyLHaHyPbcBcFb2J2zYNgEFHD6GOoMFhds2XtpbZ1Xx8MKPpti59k7rMj?=
 =?iso-8859-1?Q?UC/FDwdbkIxJ3+fvkcnOJqALAImN0gTgvj9J3e0CUEYLLZI5l8OvAq481c?=
 =?iso-8859-1?Q?RK+7FNO5kPia4ZRb8+AhlHLSiUExQKec8x07TuYeTVUhdZygWLzcFP3w+B?=
 =?iso-8859-1?Q?eDi5chcLUsCAxB19IwkxHx6GxyC2iFC1n1vbjDtpGznXWKKgFYoIXiNowx?=
 =?iso-8859-1?Q?ViKWOe8RsVSBWS7nUSNgQbBRGI0FBpd8hrc0k/o/L9SWP42YfW03zKdw?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7d52d166-5906-4b83-2743-08de17468ddf
X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Oct 2025 23:54:52.8230
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: V2FQuSr1PlXOrxGCtJ18CAHdQWLG8uHY8i8wlJmNIYMQ40dv7voEc38aSRr5DBB3HHCWsrzs/1MQQCfnw+RG8ZC0o5Kxy1ltCl3QmLpohuE=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR03MB6336

From: Grygorii Strashko <grygorii_strashko@epam.com>

The cache disable mode code (hvm_shadow_handle_cd()) is relevant only for I=
ntel VT-x (VMX),
hence:
- move hvm_shadow_handle_cd()/ hvm_set_uc_mode()/domain_exit_uc_mode() in V=
MX code
- account for SHADOW_PAGING when use hvm_shadow_handle_cd()
- move cache disable mode data into VMX specific structures

Based on discussion [1].

[1] https://patchwork.kernel.org/project/xen-devel/patch/20251023151903.560=
947-1-grygorii_strashko@epam.com/

Grygorii Strashko (3):
  x86/hvm: move hvm_shadow_handle_cd() in vmx code
  x86/hvm: vmx: account for SHADOW_PAGING when use
    hvm_shadow_handle_cd()
  x86/hvm: vmx: refactor cache disable mode data

 xen/arch/x86/hvm/hvm.c                  | 59 ---------------------
 xen/arch/x86/hvm/vmx/vmx.c              | 70 +++++++++++++++++++++++--
 xen/arch/x86/include/asm/hvm/domain.h   |  6 ---
 xen/arch/x86/include/asm/hvm/hvm.h      |  3 ++
 xen/arch/x86/include/asm/hvm/support.h  |  2 -
 xen/arch/x86/include/asm/hvm/vcpu.h     |  3 --
 xen/arch/x86/include/asm/hvm/vmx/vmcs.h | 14 +++++
 xen/arch/x86/include/asm/mtrr.h         |  3 --
 xen/arch/x86/mm/shadow/multi.c          |  2 +-
 9 files changed, 83 insertions(+), 79 deletions(-)

--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Wed Oct 29 23:55:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Oct 2025 23:55:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153175.1483616 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEG0M-0002Oa-VS; Wed, 29 Oct 2025 23:55:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153175.1483616; Wed, 29 Oct 2025 23:55:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEG0M-0002OT-S8; Wed, 29 Oct 2025 23:55:02 +0000
Received: by outflank-mailman (input) for mailman id 1153175;
 Wed, 29 Oct 2025 23:55:01 +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
 <SRS0=Xz0O=5G=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1vEG0L-0002OI-KH
 for xen-devel@lists.xenproject.org; Wed, 29 Oct 2025 23:55:01 +0000
Received: from DUZPR83CU001.outbound.protection.outlook.com
 (mail-northeuropeazlp170120005.outbound.protection.outlook.com
 [2a01:111:f403:c200::5])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id acc052ea-b522-11f0-980a-7dc792cee155;
 Thu, 30 Oct 2025 00:54:58 +0100 (CET)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by VI1PR03MB6336.eurprd03.prod.outlook.com (2603:10a6:800:139::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.15; Wed, 29 Oct
 2025 23:54:54 +0000
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593]) by AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593%3]) with mapi id 15.20.9275.013; Wed, 29 Oct 2025
 23:54:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: acc052ea-b522-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=GGm/VnwN1w6Va50pKrafDr9sNb5YZzDOgVNFBpu/DE9I9F2BqJdyOFamC01YT3BsPye/h5lSSCzs2L41d7f0LVcyk31ETqgKbXNNG5yowHnvcGRKzUdMwzw3lvPzO41BNlKcNg+RVUoza13e6mvRe4uKPto8QlD+IWfz0FlalwuUpcmEXcJfPrltt9Hh/vWp8ILd2UAGXO5lb5+/8+5fLcUvcT1GA4CqPcmqu6NIS/6qnMir+5HoUOCFXZ1HntsnxBzfKhQahFEqtdgDgoYpv2SrjH+dSEI33HvgUD608L/dQKlTVhDU39pu45ZudPgqaqf9MC94s1cCr9Hw8sDrpg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6vYktPG7/nwlYkKa2a3rArYpths8kX5Wcbe3ZIUmiVQ=;
 b=rmG11KwCxQvKcuryZKT3aPnqjIqJUDg8K6mbTLUDE3/2iQj0nGhDew+u77Qzl9a9uSMKnAxEPSvYDWeMEajF/wLxHRgGLS28d1szPQV4j1cclWOPB347f6tBNVbCKziPbXGFpi5MfJay6Z8gUtq6ShOvdTVxC8I1mpgoU5L70aLrTeVvX0VK0RZiFNUTPYlOp2QwGszvY3teYjgEPvjEfljKqP36/WPj5zcv8EBcepLYdARxhGQw0Ka9LJG+CdUpH5Ev9j2CPIzsLI459hl/2HKGLHw0yZN3wGGyBy1TjpQ71eCnG54JnWaf5excCxpcYquhyYjBwsO0leOIGBqWRQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6vYktPG7/nwlYkKa2a3rArYpths8kX5Wcbe3ZIUmiVQ=;
 b=JzHBiYXvBWUo5ZbEo66agvO2iZnmN1nOAm4qr024GVaZgr26Oz90/UepgMb/YztEFXGFWelzISHm6eUFPvILGB1rkMoPNyaT6M1XiTZ1RsO4yU61p7uxMq8RuCLLmxwrXY/GX9T6ZoL71mnqmkacLORMl0McSi6YUiU7ppffNDQ6rpIv1rRfXqrwYCy0aMwED9bQnmukvaGQj6ye1SV7HqoO0RF7NWcmGNLfGHVSjc7JOGtjPyobiYop4vpg+zs68Otjkf5Zy4eSGhIu46A6lyS2qaXcdqAhOTV0IOqQv3b5BuB5j5m87ALjYYTKcuQVC52zpemnmcgleBObGHH8Nw==
From: Grygorii Strashko <grygorii_strashko@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Grygorii Strashko <grygorii_strashko@epam.com>, Jan Beulich
	<jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	=?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>, Jason Andryuk
	<jason.andryuk@amd.com>, Teddy Astie <teddy.astie@vates.tech>
Subject: [XEN][PATCH 1/3] x86/hvm: move hvm_shadow_handle_cd() in vmx code
Thread-Topic: [XEN][PATCH 1/3] x86/hvm: move hvm_shadow_handle_cd() in vmx
 code
Thread-Index: AQHcSS9r8alwr4OxGUujyvJHVPESBQ==
Date: Wed, 29 Oct 2025 23:54:53 +0000
Message-ID: <20251029235448.602380-2-grygorii_strashko@epam.com>
References: <20251029235448.602380-1-grygorii_strashko@epam.com>
In-Reply-To: <20251029235448.602380-1-grygorii_strashko@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AS2PR03MB8907:EE_|VI1PR03MB6336:EE_
x-ms-office365-filtering-correlation-id: 1a5bce11-9fd7-4abb-170e-08de17468ee1
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|376014|366016|38070700021;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?LZeFzNsaIJBoTCOXegExubkfkRYB6Y/smCTVvsOwLmV/FUDwzcG9eQ+r8Q?=
 =?iso-8859-1?Q?Yyg2udo3sOMWpGanOmriJdWwbmu+guNea9qqjl5PJF7iOKb7grSADzZ3+8?=
 =?iso-8859-1?Q?eXWLJbToX/hVJKatVlduZ+XE9c/9XbTcwTi1u74+NlTmjbHezpBo3xQ2cF?=
 =?iso-8859-1?Q?FPO9MYkzAHENL0WvQnqvWgtw2fDdV19Jj53KiLKY1wBaWXHw93X/p+JFyP?=
 =?iso-8859-1?Q?VpjWgsAoOPtLt7Mu8CaXsHpAlen+PNqbUWztRxucRcNhjj32c4l6f+HppO?=
 =?iso-8859-1?Q?0rVCKcxzgoWOOWXWiqyN8OLYIf6z0Q+v5cMI5PRMUhhUZudqaqav5Jrs0d?=
 =?iso-8859-1?Q?udGswAYl61Os9pYh2u53/mtfyGnnxW7wnv/kpfn+6dS9hj/0bM/V/AKtUr?=
 =?iso-8859-1?Q?N+0ZcTg586wUXOtbeQLAX5T6vkCDg4dGBycHf5zgHpKyRWmvVffmCdYJJh?=
 =?iso-8859-1?Q?ZFo6pgE5CxR/pBTtvLPOsK+hkcM3EnpR+z03ZpSX6ztbrtXrfh/GjijBY5?=
 =?iso-8859-1?Q?uBm6J9DTcLikR/IkX9yT61BV9mKp54pqns+eZmnpHy+2/uta+utV9f2kLc?=
 =?iso-8859-1?Q?vK88VnEv+Qb3VZJDn4LRvKnfYpQ2wjE6jwVoLCsQNQB3oNI+SxNildcG2e?=
 =?iso-8859-1?Q?75A6QWWYgBZ65Z3bXpgKRWjXqW2jSiwUqiB/KwCcUcTaONDAYz0uBk0FJw?=
 =?iso-8859-1?Q?v3iYWGvcqtQzKWFd9hM5ADFQvaV5Lk5mnC9voO33iKVtZAA+qCmT4BIzOa?=
 =?iso-8859-1?Q?0goZ1AIBO+Q5D+rdIpifvpQRYL5Od0UVGS532llWowxlZajxtNVNal9hHq?=
 =?iso-8859-1?Q?sl5UOugXUES2YHIwUPk0xRgSNRtXh9fWz+cYgRHnvw/jfOu25zOopU6K+0?=
 =?iso-8859-1?Q?iVz1kpG1nVMdc2nlFhWo4PC0ToMn9/Wwa67fypCQtJM86MZ/EJrUL2/Z5a?=
 =?iso-8859-1?Q?fwP6WU3e/qOzSUDx+ZKEZOK21nO9rnX3YMuL/QFIVLDYBCCN+dzvek9tlj?=
 =?iso-8859-1?Q?1QvGTUlkY6r8tP2VcmO4VgJW6e17cK0doi57/6olP/KfO8EI1eDGeJds7g?=
 =?iso-8859-1?Q?49Z78y68++6xoQkaELXJHVtBnCYWhBPYjcQnfkhSNqh3TlPSg54Ioajk8H?=
 =?iso-8859-1?Q?uPHGhHEYh/0iN91+ED2yk0JyKNuyXGuRSWK4ILoOSIl+I/fkjWvTW07pMD?=
 =?iso-8859-1?Q?+rucJ7asMwfmvmAJp2zBpNonSLjP8N5hEBhwiypnkNHyWUJNk2O1k13x+n?=
 =?iso-8859-1?Q?N4LtVHg/A95mUlvav5JHyCdpM62EsJWEToH1PmpxOVqcPYsviEJ0nb3x+R?=
 =?iso-8859-1?Q?Xlxqb1SeKvzh5qJr+7FqzneUB+F5Uqklw0i/v/Ix/sRA7ihpjfSMeMmZ6f?=
 =?iso-8859-1?Q?9kx8y3OObd7WVpTAyMy8vIZhFg27IWbr9YqK3tCXkaO45LKKhmFhhfvxCm?=
 =?iso-8859-1?Q?PvZ37h/vamV9cwHlRCEH0RAMG782TR6XcZBHArjuEvSZHeSkWyeXQz+pK6?=
 =?iso-8859-1?Q?9dZTsJVxbmP+HFnhYVQJE7O8YU8CNfKOp+oHAxAUGlpW4Lnk/MUL3dekPF?=
 =?iso-8859-1?Q?m0VF5YSnIdY1JtZWYTtuwjglTaSX?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS2PR03MB8907.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(38070700021);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?Ws/0G7uhLmatR0H3p3bduVLyWgoGXhlgqeYjoGPVMqRKk6Uk2FM9VldUT/?=
 =?iso-8859-1?Q?NpPH2LO+GBx9VP8u/CWwgBDGkRyqY7YqBL5SvHHsUXxv5rQXcKttx7+FTD?=
 =?iso-8859-1?Q?JLVY6X5DbRJNti7i5cvMkSHaa4fNLgRaqbFLosk5n6MyoiZp4Dlfe5bPjY?=
 =?iso-8859-1?Q?uP74OaNVOQLzY2B0DEJPJ+9RAnAOmu6im36il5uteF8zyLISyM5xm3OkqB?=
 =?iso-8859-1?Q?nOEBY5D6bWzHB1adK+9Bh4gZje4SeK2tf0ietW2ji9bsYSyQD6O3sQ22Dj?=
 =?iso-8859-1?Q?oUBHEV14ckzSNmEMvtdPMjLlDiuVHFl31UvACKGvxv9QUZqcf/26b8vw6U?=
 =?iso-8859-1?Q?LdjP3FUgmxVzOOoYte97jdDptZP6P//Ax4GTmkHHNKInvb8cB8jJxvnsV0?=
 =?iso-8859-1?Q?H3YU4BJgwf1VjYCdhQIieV4UnUWe0lT0+1xuD/naf/5syawmDdsKQlMPJy?=
 =?iso-8859-1?Q?rkjcAPOMmp1B5/gLuAJTT9fFx9yEHlSB40S1blqdkcGaOteXuWIucJRY0m?=
 =?iso-8859-1?Q?hTBbPN8MKt9EUlrZQyRACLZW2uj3pSA85p5wL5rAHygFtT4wteqFa+16sS?=
 =?iso-8859-1?Q?GOQ6VOK8lvtbv+af4G4S4Quk3mjUGnM0Wp9NTQiMLCxlr5qWAGXxDzg628?=
 =?iso-8859-1?Q?1UjINW4WgGu2GtlB4uv8yYEq3vjmtUWmyMP2uTv+wJNZthMrxLXy/Z58Jt?=
 =?iso-8859-1?Q?+w8fgHKzbxtUN78FSxvTstcRMh+RjAVbBxBem/s+4Mfw9RqA1zDxgyNAlL?=
 =?iso-8859-1?Q?FohgdPBKBYMp3G5409i4Gpa+ZQVS5WIOLCj2Sjo2yEeo1WWyV3yxGgQlKP?=
 =?iso-8859-1?Q?ZdV8WRaY8+G++ArDOB3wUe/VIQWtwyXWDFq/snfwPVH+fI/Av9bv5MKREq?=
 =?iso-8859-1?Q?xSGcHeU8ErG/obsLJYB37EESE+hmxYffyqdVYfb/omRyUJITaV95ta7Ard?=
 =?iso-8859-1?Q?qfwLLPcHt9EvsGee4Kjg7Zuz/B5m84/aufE/v1YJi8Uz8rmM81PdesvWhq?=
 =?iso-8859-1?Q?IbBo913eCy0Fe5KHt5XiK8HBP6sqbDJyQ9/wpRLAdlcV043kNxi5AudZPi?=
 =?iso-8859-1?Q?Y4pbruUgEZm0kA2scI6FXV4rIqSzPYhODf0wv+xwN/9XKM6NQWFq15UBoP?=
 =?iso-8859-1?Q?Mhkg/B45qZcRJhCmTXn35Aw0e5RQ5vA4Y/Z0S1XgXXaawjjsMRttkYPR4S?=
 =?iso-8859-1?Q?2nOx9cS8IZT5clGzpKoP/WoX/IyiNClxSsJ8rgaMwwcmUvkJ+I/xZ9SS2N?=
 =?iso-8859-1?Q?VAECC3RQ9NHf9keeWUyr7YFRS6L7IS36VmMuzmACMFT6MC+omobgb8PYFK?=
 =?iso-8859-1?Q?PzUqmMZCr+4jPBWvt+wBfMM/leaVYfygOEr5/YaDAtwRGWTofrJDBDKjKI?=
 =?iso-8859-1?Q?UONJeDw4XtJzu/j7XKLmG7mqbpJVPHptSlB5SIpySBpaKOCgs4W6+KUnQs?=
 =?iso-8859-1?Q?jgciKz4/6KVXxoV4HMvCag4RQnnp91AkDgr2U2HGZybVqBNa2DLGRgbr8v?=
 =?iso-8859-1?Q?ZF5bEd1IFRI0Fol3YiXubvQ6o/CL6ge9PTIeE/xpVgHZOtBZiCtbhzshN8?=
 =?iso-8859-1?Q?ivojMECJ6WGMLmFi7sHK26YNt64KleAquqEqb/v325mmua7HY+s0vFG7Rf?=
 =?iso-8859-1?Q?V3dWpO82FZGgstS5e8xVemeJnxT3G7eDGtpkp3HlKx+R/sWBlG8bl0XvwH?=
 =?iso-8859-1?Q?mxmxWK5oQIEb7Da6xYY=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1a5bce11-9fd7-4abb-170e-08de17468ee1
X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Oct 2025 23:54:53.2748
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: zstcxumgJ31Jq1/dtwdKZZJyRoluiBAQksEiK4hJ/U/tpNQXQ0Gf+BPuZDYb/KoTylGLbO/pCpOofSO4aRZNNnjKiphHV7DxxAoOxUTYJh0=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR03MB6336

From: Grygorii Strashko <grygorii_strashko@epam.com>

Functions:
 hvm_shadow_handle_cd()
 hvm_set_uc_mode()
 domain_exit_uc_mode()
are used only by Intel VMX code, so move them in VMX code.

While here:
- minor format change in domain_exit_uc_mode()
- s/(0/1)/(false/true) for bool types

No functional changes.

Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
---
 xen/arch/x86/hvm/hvm.c                 | 58 -------------------------
 xen/arch/x86/hvm/vmx/vmx.c             | 59 ++++++++++++++++++++++++++
 xen/arch/x86/include/asm/hvm/support.h |  2 -
 3 files changed, 59 insertions(+), 60 deletions(-)

diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index da3cde1ff0e6..9caca93e5f56 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -2168,30 +2168,6 @@ int hvm_set_efer(uint64_t value)
     return X86EMUL_OKAY;
 }
=20
-/* Exit UC mode only if all VCPUs agree on MTRR/PAT and are not in no_fill=
. */
-static bool domain_exit_uc_mode(struct vcpu *v)
-{
-    struct domain *d =3D v->domain;
-    struct vcpu *vs;
-
-    for_each_vcpu ( d, vs )
-    {
-        if ( (vs =3D=3D v) || !vs->is_initialised )
-            continue;
-        if ( (vs->arch.hvm.cache_mode =3D=3D NO_FILL_CACHE_MODE) ||
-             mtrr_pat_not_equal(vs, v) )
-            return 0;
-    }
-
-    return 1;
-}
-
-static void hvm_set_uc_mode(struct vcpu *v, bool is_in_uc_mode)
-{
-    v->domain->arch.hvm.is_in_uc_mode =3D is_in_uc_mode;
-    shadow_blow_tables_per_domain(v->domain);
-}
-
 int hvm_mov_to_cr(unsigned int cr, unsigned int gpr)
 {
     struct vcpu *curr =3D current;
@@ -2273,40 +2249,6 @@ int hvm_mov_from_cr(unsigned int cr, unsigned int gp=
r)
     return X86EMUL_UNHANDLEABLE;
 }
=20
-void hvm_shadow_handle_cd(struct vcpu *v, unsigned long value)
-{
-    if ( value & X86_CR0_CD )
-    {
-        /* Entering no fill cache mode. */
-        spin_lock(&v->domain->arch.hvm.uc_lock);
-        v->arch.hvm.cache_mode =3D NO_FILL_CACHE_MODE;
-
-        if ( !v->domain->arch.hvm.is_in_uc_mode )
-        {
-            domain_pause_nosync(v->domain);
-
-            /* Flush physical caches. */
-            flush_all(FLUSH_CACHE_EVICT);
-            hvm_set_uc_mode(v, 1);
-
-            domain_unpause(v->domain);
-        }
-        spin_unlock(&v->domain->arch.hvm.uc_lock);
-    }
-    else if ( !(value & X86_CR0_CD) &&
-              (v->arch.hvm.cache_mode =3D=3D NO_FILL_CACHE_MODE) )
-    {
-        /* Exit from no fill cache mode. */
-        spin_lock(&v->domain->arch.hvm.uc_lock);
-        v->arch.hvm.cache_mode =3D NORMAL_CACHE_MODE;
-
-        if ( domain_exit_uc_mode(v) )
-            hvm_set_uc_mode(v, 0);
-
-        spin_unlock(&v->domain->arch.hvm.uc_lock);
-    }
-}
-
 static void hvm_update_cr(struct vcpu *v, unsigned int cr, unsigned long v=
alue)
 {
     v->arch.hvm.guest_cr[cr] =3D value;
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index e2b5077654ef..a7ee0519957a 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -44,6 +44,7 @@
 #include <asm/processor.h>
 #include <asm/prot-key.h>
 #include <asm/regs.h>
+#include <asm/shadow.h>
 #include <asm/spec_ctrl.h>
 #include <asm/stubs.h>
 #include <asm/x86_emulate.h>
@@ -1421,6 +1422,64 @@ static void cf_check vmx_set_segment_register(
     vmx_vmcs_exit(v);
 }
=20
+/* Exit UC mode only if all VCPUs agree on MTRR/PAT and are not in no_fill=
. */
+static bool domain_exit_uc_mode(struct vcpu *v)
+{
+    struct domain *d =3D v->domain;
+    struct vcpu *vs;
+
+    for_each_vcpu(d, vs)
+    {
+        if ( (vs =3D=3D v) || !vs->is_initialised )
+            continue;
+        if ( (vs->arch.hvm.cache_mode =3D=3D NO_FILL_CACHE_MODE) ||
+             mtrr_pat_not_equal(vs, v) )
+            return false;
+    }
+
+    return true;
+}
+
+static void hvm_set_uc_mode(struct vcpu *v, bool is_in_uc_mode)
+{
+    v->domain->arch.hvm.is_in_uc_mode =3D is_in_uc_mode;
+    shadow_blow_tables_per_domain(v->domain);
+}
+
+static void hvm_shadow_handle_cd(struct vcpu *v, unsigned long value)
+{
+    if ( value & X86_CR0_CD )
+    {
+        /* Entering no fill cache mode. */
+        spin_lock(&v->domain->arch.hvm.uc_lock);
+        v->arch.hvm.cache_mode =3D NO_FILL_CACHE_MODE;
+
+        if ( !v->domain->arch.hvm.is_in_uc_mode )
+        {
+            domain_pause_nosync(v->domain);
+
+            /* Flush physical caches. */
+            flush_all(FLUSH_CACHE_EVICT);
+            hvm_set_uc_mode(v, true);
+
+            domain_unpause(v->domain);
+        }
+        spin_unlock(&v->domain->arch.hvm.uc_lock);
+    }
+    else if ( !(value & X86_CR0_CD) &&
+              (v->arch.hvm.cache_mode =3D=3D NO_FILL_CACHE_MODE) )
+    {
+        /* Exit from no fill cache mode. */
+        spin_lock(&v->domain->arch.hvm.uc_lock);
+        v->arch.hvm.cache_mode =3D NORMAL_CACHE_MODE;
+
+        if ( domain_exit_uc_mode(v) )
+            hvm_set_uc_mode(v, false);
+
+        spin_unlock(&v->domain->arch.hvm.uc_lock);
+    }
+}
+
 static int cf_check vmx_set_guest_pat(struct vcpu *v, u64 gpat)
 {
     if ( !paging_mode_hap(v->domain) ||
diff --git a/xen/arch/x86/include/asm/hvm/support.h b/xen/arch/x86/include/=
asm/hvm/support.h
index 2a7ba36af06f..9e9fa6295567 100644
--- a/xen/arch/x86/include/asm/hvm/support.h
+++ b/xen/arch/x86/include/asm/hvm/support.h
@@ -119,8 +119,6 @@ void hvm_rdtsc_intercept(struct cpu_user_regs *regs);
=20
 int __must_check hvm_handle_xsetbv(u32 index, u64 new_bv);
=20
-void hvm_shadow_handle_cd(struct vcpu *v, unsigned long value);
-
 /*
  * These functions all return X86EMUL return codes.  For hvm_set_*(), the
  * caller is responsible for injecting #GP[0] if X86EMUL_EXCEPTION is
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Thu Oct 30 07:07:51 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Oct 2025 07:07:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153304.1483671 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEMkw-0007xR-Uw; Thu, 30 Oct 2025 07:07:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153304.1483671; Thu, 30 Oct 2025 07:07:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEMkw-0007xK-SK; Thu, 30 Oct 2025 07:07:34 +0000
Received: by outflank-mailman (input) for mailman id 1153304;
 Thu, 30 Oct 2025 07:07:33 +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 <SRS0=+HTt=5H=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vEMkv-0007xE-DF
 for xen-devel@lists.xenproject.org; Thu, 30 Oct 2025 07:07:33 +0000
Received: from mail-wm1-x332.google.com (mail-wm1-x332.google.com
 [2a00:1450:4864:20::332])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 16f3b256-b55f-11f0-980a-7dc792cee155;
 Thu, 30 Oct 2025 08:07:26 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-475dd559b0bso8887025e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 30 Oct 2025 00:07:26 -0700 (PDT)
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-477184e4006sm60679185e9.5.2025.10.30.00.07.24
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 30 Oct 2025 00:07:25 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 16f3b256-b55f-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761808045; x=1762412845; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=9iZjI0P7ftXkav8ZxePrwZCEDtCSfW8ehW0AO/NvPsM=;
        b=bQ5yBTi9ItgG1VCV1ci+TYLL0/0exj2+/pTuxMkZPSI8Rfnf+7IE7nl78UHfXJLhW8
         V3QxLpdb9bXF0gcHpGtvVL3t1VcoHhJwrpjCK5i9JFRa/OxhnheJ90EFXK1KT5SpaYZ4
         8KHQ/pqbA0xrwfmyvzrlNok+IvOmKbbs1nTUk75wJyF50Nha4+A/oAF1cR4hFihB2Fl+
         EixMDj3Nu6LCm20w9fcelnb1sbLuFiQVW0QUML/dzHQFZVtEfmRw9rkxmZCNRZWXxRlv
         5UbFtvFkD729uo65+UbqOGydvP9oQ4cq29v0+sPe01obp6m3Qc5YzSEpKugjG/pzxgo8
         lesw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761808045; x=1762412845;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=9iZjI0P7ftXkav8ZxePrwZCEDtCSfW8ehW0AO/NvPsM=;
        b=iKedzGiWdf6XAKgF5obZcr9omdWhI6MKSFCpyRtnyX7cMCzaV2MaLcQWJhf4gOxLah
         eYzIGBhf4S2cLS5Cgrrr5X2wT0Z2hFYBmmTwkm60rKo0TM7R3Z8t0zOF6ENDpawJSlE/
         uwxrTWddbZCJxGBYpmeHVMj/FxbOTD0h/FIFgkIgogk57TtOv+rKPi4JcKahccebycPm
         AqIePp7KUBIp1diyb9LmuJJ989vVeY91rdu6yIBc+BYcz2pw9gnkgR4YMIJ8+b+cXY3F
         9dIAAz42kSInV+meAqicrBfieVpug99zyA/+km1f19JKpIG0OtVwJ22nfWga0p+Nl11w
         r7zg==
X-Forwarded-Encrypted: i=1; AJvYcCV46pLFUdYIKwjAwQG68c+0E84kd8ccNBu3+ndqZ3ui1t6p55iIPMuk1nGOr5TsgHiRe0HJckr6rHI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzYThkycUa8meaXZm2VFWsoCmNmazBpfBNl4ycJq6ZGO2BH+/+3
	2aivlJFokTUX6vudqCacevvrnK6zh/xnVKeAfd34PEjyVCSB8GX38TThjNMLabD+FA==
X-Gm-Gg: ASbGncu2ZiqyHmF53zsIuhO8fcPptI5NasfYosIiYx9yiGTTNVUkWZ2SO38XiDDI4Bx
	IhuK1wx4sCms5N5/ZjILQcHp0oOfakuNFMG/DzrbzIpBu2JEJUYQdB+JtoGvicloD7UbRFVnDwy
	hyCRGGBQlkxH9GQifo6uw3SggqBwHI7M1SCNXimpiuk+UoB6aNZ6TOKX+hXuU9BAQanvLGvMowD
	fY+hekImHUIw1LUC2joJo9fPhhqc67pTlkii7FLZ324iI+godcXln/z+nbsVxcN+jnZfzsxtbg/
	+VyaqPkEz2/hS+dCF5Ve/S22QfqlYJoyHRxp/Y2sZGgttk0aHsA7gdLIAfnS290OOPGGmPAIPMY
	5eytQt8rFb33BtoF194I6rvTU1ebDsYbQupzDpwbtexVgQyInhBYUGAp5rlqZA1Uh4T/KjHGF91
	vvtfy675e0n9Zgi9fIkoMY1n24qk8GztM7dAQesOSGgnL+pIM/yNdUiFmCIWbUctU6JC3250G6L
	V15FEwWfQ==
X-Google-Smtp-Source: AGHT+IGLFim965i82Gmx+JgBNej1BHF0E4OkUBTvjg/p29Y58jAlw2tTlnt5P/nF4Qf3PtddnS6rWg==
X-Received: by 2002:a05:600d:8394:b0:477:c71:1fc1 with SMTP id 5b1f17b1804b1-47726021821mr15008525e9.19.1761808045466;
        Thu, 30 Oct 2025 00:07:25 -0700 (PDT)
Message-ID: <06207703-caaa-4e81-b218-838609e3cc52@suse.com>
Date: Thu, 30 Oct 2025 08:07:23 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH for-4.22 1/2] x86/platform: Expose DTS sensors MSR
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org, Teddy Astie <teddy.astie@vates.tech>
References: <cover.1761585640.git.teddy.astie@vates.tech>
 <48b15617f248852560a0e0674eea65d25330c605.1761585640.git.teddy.astie@vates.tech>
 <83712d12-08ec-46a4-b215-18f7ea1c1069@citrix.com>
 <78fe46d2-f21a-46d2-bcb5-a54d7cd86e91@suse.com>
 <aa6cc0c3-87e1-4a25-8ae0-d30f3c067c78@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <aa6cc0c3-87e1-4a25-8ae0-d30f3c067c78@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 29.10.2025 17:06, Andrew Cooper wrote:
> On 28/10/2025 9:20 am, Jan Beulich wrote:
>> On 27.10.2025 20:38, Andrew Cooper wrote:
>>> On 27/10/2025 5:26 pm, Teddy Astie wrote:
>>>> I'm not a fan of doing a inline cpuid check here, but I don't have a
>>>> better approach in mind.
>>> I'm not sure if there's enough information in leaf 6 to justify putting
>>> it fully into the CPUID infrastructure.
>>>
>>> But, if you do something like this:
>>>
>>> diff --git a/xen/include/xen/lib/x86/cpu-policy.h b/xen/include/xen/lib/x86/cpu-policy.h
>>> index f94f23e159d2..d02fe4d22151 100644
>>> --- a/xen/include/xen/lib/x86/cpu-policy.h
>>> +++ b/xen/include/xen/lib/x86/cpu-policy.h
>>> @@ -121,7 +121,13 @@ 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 - Thermal and Perf. */
>>> +Â Â Â Â Â Â Â Â Â Â Â  struct {
>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  bool /* a */ dts:1;
>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  uint32_t /* b */:32, /* c */:32, /* d */:32;
>>> +Â Â Â Â Â Â Â Â Â Â Â  };
>>> +
>>> Â Â Â Â Â Â Â Â Â Â Â Â  uint64_t :64, :64; /* Leaf 0x7 - Structured Features. */
>>> Â Â Â Â Â Â Â Â Â Â Â Â  uint64_t :64, :64; /* Leaf 0x8 - rsvd */
>>> Â Â Â Â Â Â Â Â Â Â Â Â  uint64_t :64, :64; /* Leaf 0x9 - DCA */
>> Just to mention, below a patch I have pending as part of a series to
>> e.g. replace the various CPUID6_* values we presently use. As you did
>> indicate when we talked about this, a prereq to then use respective
>> bits from host_policy is an adjustment to cpu-policy.c, which is also
>> part of that series. If we weren't in freeze right now, I would have
>> posted the series already.
>>
>> Jan
>>
>> x86/cpu-policy: define bits of leaf 6
>>
>> ... as far as we presently use them in the codebase.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> Or should we make both parts proper featureset elements? At least
>> APERFMPERF could likely be made visible to guests (in principle).
>>
>> --- a/xen/include/xen/lib/x86/cpu-policy.h
>> +++ b/xen/include/xen/lib/x86/cpu-policy.h
>> @@ -128,7 +128,31 @@ 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. */
>> +            struct {
>> +                uint32_t /* a */:1,
>> +                    turbo:1,
>> +                    arat:1,
>> +                    :4,
>> +                    hwp:1,
>> +                    hwp_notification:1,
>> +                    hwp_activity_window:1,
>> +                    hwp_epp:1,
>> +                    hwp_plr:1,
>> +                    :1,
>> +                    hdc:1,
>> +                    :2,
>> +                    hwp_peci:1,
>> +                    :2,
>> +                    hw_feedback:1,
>> +                    :12;
>> +                uint32_t /* b */:32;
>> +                uint32_t /* c */ aperfmperf:1,
>> +                    :31;
>> +                uint32_t /* d */:32;
>> +            } pm;
> 
> This works too, although we don't have 'pm' equivalents elsewhere in
> this part of the union.
> 
> APERF/MPERF is a disaster of an interface.Â  It can't safely be read even
> in root mode, because an NMI/SMI breaks the algorithm in a way that
> isn't easy to spot and retry.Â  On AMD, it's marginally better because
> GIF can be used to exclude NMIs and non-fatal MCEs while sampling the
> register pair.
> 
> In a VM, it's simply unusable.Â  Any VMExit, and even a vCPU reschedule,
> breaks reading the pair.
> 
> Until the CPU vendors produce a way of reading the two counters together
> (i.e. atomically, which has been asked for, repeatedly), there's no
> point considering it for use in a VM.

Right now none of this is meant for exposure. It's solely for us to use
the bits in the host policy.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 30 07:12:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Oct 2025 07:12:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153318.1483681 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEMpr-00016J-KD; Thu, 30 Oct 2025 07:12:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153318.1483681; Thu, 30 Oct 2025 07:12:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEMpr-00016C-HS; Thu, 30 Oct 2025 07:12:39 +0000
Received: by outflank-mailman (input) for mailman id 1153318;
 Thu, 30 Oct 2025 07:12: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 <SRS0=+HTt=5H=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vEMpp-000166-VA
 for xen-devel@lists.xenproject.org; Thu, 30 Oct 2025 07:12:37 +0000
Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com
 [2a00:1450:4864:20::32b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cf996ddd-b55f-11f0-980a-7dc792cee155;
 Thu, 30 Oct 2025 08:12:35 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-47112edf9f7so5391665e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 30 Oct 2025 00:12:35 -0700 (PDT)
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-4771902fa8dsm59327475e9.8.2025.10.30.00.12.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 30 Oct 2025 00:12:34 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cf996ddd-b55f-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761808355; x=1762413155; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=5eA2SJ2iidFxDm+lDsX4lAk0nSU1CGD4i+rmohqBTsw=;
        b=eDVRSXfiu9+J1wremI+bIkm6TMOltZNgYNyN6Xz7GKcggF22/4E/oKEIAQHztvY+x3
         7ZBq8gRy1PrTDsMEecfzJTo85nszxBjExTF25W8vseAH6F0W7I13pIn/5G9F+TC08BP3
         zpjOgfCLVIJdb6F0/7zk7EgfDo/6FvsgF2Mz4MEjr9YPOQekW7mnlEmeoypd1qXyuXSc
         +gmxPio7x04UXjxY+1WjNOVyFzBb5Akcxd/moxUuXurX5101yEBPEu7op2ZBo/hU1BrW
         ZuwaAuUhVC3j8+xxEyvY5xLS81MroF72QxD4GaXiC9qN2MGVXbpdmJfMuiVKAF7ERSEc
         MHpg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761808355; x=1762413155;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=5eA2SJ2iidFxDm+lDsX4lAk0nSU1CGD4i+rmohqBTsw=;
        b=N4Pow8YImca8RTRPFk9AG7RTo7tPX6DTZ46jQjis8EJbPDR9c9GDAzF0WV+htU1XpY
         P/sqllG/DQVqCTMMstwIbmUMSBqn9/gvl6WtI06AHfR5csPUYXqE0At/j+mvaiUM8qBI
         Bl7ZKmeDHXJZXvBWZTd/qE/hkPOyZ0viMPVZijPY38tk+DQRQGPqaknR5/3s+BWQYZL8
         YnJ6ALQqpkwLZ74rae1ZjaXTztLpR3r7NqrumNh0U18c1ReMlXv8uv+o4yOE6695wwg+
         Laa1+I2sLgRkd7v1vuk8fv11NKW3TaCB6bsTzbXbefLTXRwe/+CHuFwr18Mc69e0c+ys
         IoqQ==
X-Forwarded-Encrypted: i=1; AJvYcCUeJTlKqvr+vwIRUD6up8fBxkbsBPCoGOr5Gax/bIR2m4gZgH/CKnD4D/v4TURQhzF/SEbGcL7Xsfw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwHb3suVdNPL29vEGzTsT3i96t6+/arKTIfyadprEmvfDq9q87S
	j4IaZCmwqbHTrW8/tdKWQgXtKznrffKM3Ia+JihHvGo2/0JgaN0zZaRp0kGX9kphtw==
X-Gm-Gg: ASbGnctMWA2ITA2XxFK1vv5KnwuLz/SxestqYcYOXMmW+HZGBVaQxL/N78FYOPb/HJk
	4GZWt1BFvpJ591pdB8b4Teixtrg/EKB43Lej+NbB3vFZfnDZ7AZWViCiXc+h2d+iozWpbmWDhLY
	kjMevjR4aA0BSZyj9QQwRKZbuLz1CAqktxcJTmn37ANg5MgGACR0fq/gynNYDskxtHn/Af9HzoX
	8gtEdyGGFeGjrCDn/+BmWmVrLWxlZ2v6AhQ8hKZEn0dEG0bGTsuuEk/36bQk/NJ33jKFk7WN6+K
	+oTxaNu4y3Yg4Gov59CsDST72OiaQESj7tv9Cpb+UFXfzSIQQ9LKQRlwzjmjBgym2GMStJ8b/ER
	+vlGDap16JovTZmwKTFiVVTmSSOuf/59UlPIPUs6ylzJAw6wVFZYNsYn2HSOCZ8JJ2R92XrRVCt
	4h/iBdqfRzyawvu+2E2gqJtozNH8zWxmajKGSflE/hJRetcm7JYQUQTs7VDsOEQuXbzxRvvQB+4
	gFwT0b98A==
X-Google-Smtp-Source: AGHT+IGZfMZooilhYdBCxb32fYEb5g9U9A72kcTuUuKSB3zrX0HZ2Mur2oBVZKDZc1r7ICbUrkzTGw==
X-Received: by 2002:a05:600c:46c3:b0:477:be4:7a52 with SMTP id 5b1f17b1804b1-4771e1f3bc7mr48974625e9.39.1761808355230;
        Thu, 30 Oct 2025 00:12:35 -0700 (PDT)
Message-ID: <080c2780-2810-4ba8-8f9c-57c1fc4135f9@suse.com>
Date: Thu, 30 Oct 2025 08:12:33 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH for-4.22 v2 1/3] x86/cpu-policy: Infrastructure for
 CPUID leaf 0x6
To: Teddy Astie <teddy.astie@vates.tech>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1761752801.git.teddy.astie@vates.tech>
 <3ad34c3e1de444798dcfe0e673375f28f1a654ec.1761752801.git.teddy.astie@vates.tech>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <3ad34c3e1de444798dcfe0e673375f28f1a654ec.1761752801.git.teddy.astie@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 29.10.2025 16:59, Teddy Astie wrote:
> From: Jan Beulich <jbeulich@suse.com>
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
> ---
> v2: introduced

This being a change of mine, I'm not happy for the title to have changed, and
for the (little bit of) description to have been dropped.

> --- a/xen/include/xen/lib/x86/cpu-policy.h
> +++ b/xen/include/xen/lib/x86/cpu-policy.h
> @@ -121,7 +121,32 @@ 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. */
> +            struct {
> +                uint32_t /* a */
> +                    dts:1,
> +                    turbo:1,
> +                    arat:1,
> +                    :4,
> +                    hwp:1,
> +                    hwp_notification:1,
> +                    hwp_activity_window:1,
> +                    hwp_epp:1,
> +                    hwp_plr:1,
> +                    :1,
> +                    hdc:1,
> +                    :2,
> +                    hwp_peci:1,
> +                    :2,
> +                    hw_feedback:1,
> +                    :12;
> +                uint32_t /* b */:32;
> +                uint32_t /* c */ aperfmperf:1, 
> +                    :31;
> +                uint32_t /* d */:32;
> +            } pm;
> +
>              uint64_t :64, :64; /* Leaf 0x7 - Structured Features. */
>              uint64_t :64, :64; /* Leaf 0x8 - rsvd */
>              uint64_t :64, :64; /* Leaf 0x9 - DCA */

As I had said, this (really: the use of these bits in the host policy) actually
requires an adjustment to cpu-policy.c as well, which I'm carrying as a separate,
prereq change (re-produced below). May I suggest that your work go on top of mine
(which I'll post once we have branched 4.21 off)?

Jan

x86/cpu-policy: move invocation of recalculate_misc()

The function is about guest exposure of features / leaves. There's no need
for it to be applied on the host policy. In fact doing so gets in the way
of using the host policy in certain places.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/cpu-policy.c
+++ b/xen/arch/x86/cpu-policy.c
@@ -424,7 +424,6 @@ void __init calculate_host_policy(void)
     x86_cpu_featureset_to_policy(boot_cpu_data.x86_capability, p);
     recalculate_xstate(p);
     recalculate_tile(p);
-    recalculate_misc(p);
 
     /* When vPMU is disabled, drop it from the host policy. */
     if ( vpmu_mode == XENPMU_MODE_OFF )
@@ -705,6 +704,7 @@ static void __init calculate_pv_max_poli
     unsigned int i;
 
     *p = host_cpu_policy;
+    recalculate_misc(p);
 
     guest_common_max_leaves(p);
 
@@ -809,6 +809,7 @@ static void __init calculate_hvm_max_pol
     const uint32_t *mask;
 
     *p = host_cpu_policy;
+    recalculate_misc(p);
 
     guest_common_max_leaves(p);
 



From xen-devel-bounces@lists.xenproject.org Thu Oct 30 07:41:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Oct 2025 07:41:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153332.1483692 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vENHG-0005Ew-Nr; Thu, 30 Oct 2025 07:40:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153332.1483692; Thu, 30 Oct 2025 07:40:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vENHG-0005Ep-Kz; Thu, 30 Oct 2025 07:40:58 +0000
Received: by outflank-mailman (input) for mailman id 1153332;
 Thu, 30 Oct 2025 07:40:57 +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 <SRS0=+HTt=5H=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vENHF-0005Ej-JZ
 for xen-devel@lists.xenproject.org; Thu, 30 Oct 2025 07:40:57 +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 c5018595-b563-11f0-9d16-b5c5bf9af7f9;
 Thu, 30 Oct 2025 08:40:56 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-47112edf9f7so5602075e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 30 Oct 2025 00:40:56 -0700 (PDT)
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-477289b38f7sm24687855e9.9.2025.10.30.00.40.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 30 Oct 2025 00:40:55 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c5018595-b563-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761810055; x=1762414855; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Sb4bTZep8HksQIFMsmAq4g75X3wIKg6Eh+FyDi5yM6c=;
        b=Qe3OeC+Pp/3/aQQ9ltq1e5Sh6a+yqoGRj4jzFUjVtzJOXCXP8dVDn9ctK1/OT8vuos
         cgRY1WW3RYDQLZsfelhtq7erckJJ3Daqzg8hJbfwArz304jegb7ysNRM1kbKPfts9SvF
         Zyo8Oxi7bD89PeuuFdf9I7Ua+lg0ZSzUKdvQi/8webfyfaBAi2NL6SezQFi0Iz1W20fu
         btuf5vm3DGwYZtbsy+LVjPlNir6d6tEQYyXVjAGZI70uxaE2b0YgwqauiKGoEyXxqNOL
         egaSMld6sPgf+f1TUJ/AHgjQvsEICfJi9q9G2WltEso8yxPvMdR61fme/GHGk9VhQRwD
         0JzA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761810055; x=1762414855;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Sb4bTZep8HksQIFMsmAq4g75X3wIKg6Eh+FyDi5yM6c=;
        b=IA9+L5eMq6t1mcDwQpnV3z+PhdWZX2s7jKzex4xTSgIeU2G28sofc7amVqQGa0KkST
         EtxG8yKOnVmbRm1BB8600HPmlfkpzTZdLV+PEHTLoSuFzUyOKRTpOwaA/vo4JZo6rUmI
         HmEKIwQQLDxb94S3I9iqoaVgUCS92jDQv2BWf8IPIkcS7NFYzVZBj0Mv3YynnQncvUGI
         yAMMBajD4a24P6zpqs+z7B8Em7YFsRdSBqT9XeyYiQWUIeIN7gJWjIHS/ZplBgYHb3u3
         +ExRNZjbaj5jxI9YZlfE0uv+OlXJGU7XaK9pX7JmWazbiM1GFniF+M7H0WNyRJW3zSsx
         jHDw==
X-Gm-Message-State: AOJu0YzkqfhuB5KvnI2zYcVlEd/jFELyNJ3cLN26Kfqb0ShbBlSkDflw
	wLg9aKKt9ufaQ8QYLb9JGhaIxqhEChNj2aUstHbV1scLyzNhJAjOT3s1PLFw4iSKEQ==
X-Gm-Gg: ASbGncvsQbi2NdMF+3CdNk1fS1EQ5v0t2e5kGGqhMgWQB2d8G46d56G77TGW4Ya3Rvb
	+uu3SngG0OTCCfRop0gxLYq8mavIME/t80Rqhlc2ykHhS1FTYyqIga+OMTzBwBsIVILyagRoEh1
	xU7KygpFA77D5fKV5JvJMuGDqLzkyKontP8CBnZtWEYre4zrkqk+hPlT+zEIPWGfqF+jttKZ0RL
	raUhD5ieXnywXaIXYeyG43K5Qpx5AmTNfPcA6gihlSyBLtDDmBZytih+tL5Ue72ORqkf2x3v2UJ
	Iy2gdq6mb5JkNCwYPKCBJVizUTzJKhtbNYBFm3seDWAM+Nt14x4bHTH/GBaG0EaoZXZEbW1lIgO
	9UILryD/NFKw9CvD8BEfu67cTiXs9gEhQJkGJ+dnEnFDSxYRoCyGcX9Dgv2RceiefWNR0k0scGt
	T1KseeFwW+ncc//hYmY67fnkWWlxa+8Vn3M8+8sHO1jMKiGFr2HQGEF4mimec/
X-Google-Smtp-Source: AGHT+IENUBmaBXwG/FSD482fRlgDmaVRA4W0AX+Kk+L8/Dg93o4bXEA0FyRIQNi65ECUH5Prl0r5tQ==
X-Received: by 2002:a05:600c:5494:b0:471:b5d:2db9 with SMTP id 5b1f17b1804b1-4771e1cac45mr48496225e9.21.1761810055537;
        Thu, 30 Oct 2025 00:40:55 -0700 (PDT)
Message-ID: <35b2e61b-d1c1-47c0-90e2-7efa1f45243f@suse.com>
Date: Thu, 30 Oct 2025 08:40:53 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] MAINTAINERS: Remove Shawn Anastasio as PPC64
 maintainer
To: Timothy Pearson <tpearson@raptorengineering.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>, shawn <shawn@anastas.io>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <1794235010.4856.1761754917625.JavaMail.zimbra@raptorengineeringinc.com>
 <alpine.DEB.2.22.394.2510291238140.495094@ubuntu-linux-20-04-desktop>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <alpine.DEB.2.22.394.2510291238140.495094@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 29.10.2025 20:38, Stefano Stabellini wrote:
> On Wed, 29 Oct 2025, Timothy Pearson wrote:
>> Shawn is no longer with Raptor Engineering.  For now, add myself as PPC64
>> reviewer.
>>
>> Signed-off-by: Timothy Pearson <tpearson@raptorengineering.com>
>> ---
>>  MAINTAINERS | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/MAINTAINERS b/MAINTAINERS
>> index ecd3f40df8..c8764a8c5f 100644
>> --- a/MAINTAINERS
>> +++ b/MAINTAINERS
>> @@ -472,7 +472,7 @@ F:	xen/drivers/cpufreq/
>>  F:	xen/include/acpi/cpufreq/
>>  
>>  PPC64
>> -M:	Shawn Anastasio <sanastasio@raptorengineering.com>
>> +M:	Timothy Pearson <tpearson@raptorengineering.com>
>>  F:	xen/arch/ppc/
> 
> The "R" letter is used for reviewers. The change can be done while
> committing.

And with that change:
Acked-by: Jan Beulich <jbeulich@suse.com>

Just to mention: I can't see what you used as basis to compose the Cc list. George's
email address has been out of use for quite a while, and he isn't with the project
anymore. Wei had turned to other activities yet longer ago. And with Shawn having
left Raptor (as you indicated), I expect his email address there would now also
bounce. I have, therefore, heavily edited the Cc list of this reply.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 30 07:43:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Oct 2025 07:43:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153342.1483701 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vENJL-0005kz-2h; Thu, 30 Oct 2025 07:43:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153342.1483701; Thu, 30 Oct 2025 07:43:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vENJK-0005ks-WD; Thu, 30 Oct 2025 07:43:07 +0000
Received: by outflank-mailman (input) for mailman id 1153342;
 Thu, 30 Oct 2025 07:43:04 +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 <SRS0=+HTt=5H=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vENJI-0005kk-UV
 for xen-devel@lists.xenproject.org; Thu, 30 Oct 2025 07:43:04 +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 10ae30fe-b564-11f0-980a-7dc792cee155;
 Thu, 30 Oct 2025 08:43:03 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-4710022571cso8220245e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 30 Oct 2025 00:43:03 -0700 (PDT)
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-477289998f3sm24941075e9.4.2025.10.30.00.43.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 30 Oct 2025 00:43:02 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 10ae30fe-b564-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761810182; x=1762414982; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:cc
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Ap9w7Iu7AlwJu3WYUKKN2SBlwMP3COki4sk7suezN4o=;
        b=S3M9/elwipbpKO8TpQFGKTsn1PFIHRi9VZGww+w5M4ZcudRHP3SxIhkVgITp/XLFdk
         NlpIn5QCcpvBH6mgJv94xzDtY44kbCtOOYLnwmBztSW0CImKy08P1Sg90Q8WMHQerVtq
         MV55geKUyRD1T8u9kBU7MSoNDN/gXYkElTeVT/vvoi+zOzRXNLnbGgz4oyAwqFEIxKmO
         +1jkPh4mfAD6FX7mVbGphQVtSU8SdzYkb2VRXbJi299ZQugpM1VRNoFQh7WX+tcMW/Zb
         5eNw+UGff9WVp8mAx4LiAVrVQwY1PGczr2G4LqzRcI8OPeOdW8MHzoRIH/F7fdmF5bTr
         7w/A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761810182; x=1762414982;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:cc
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=Ap9w7Iu7AlwJu3WYUKKN2SBlwMP3COki4sk7suezN4o=;
        b=L9/I5+XYnYZodcz5GCr5O0ruSZOk9L+wZcOA4CM2JERzbXZ3uNaQHe/AnDnRtGcq7S
         Yhtm733+4Q+EkFqhQUWHot/PAEFRe3LUy8jolG/JkSmX7xkd3TDkGAxX0AD2xvhVw6o/
         ckzcMuC3pq3LICKXC2yGV32bZSo+j/AS6XOTgPKho6o89wgomakQqBjwsm/IJx/2KtFj
         bGGGjsT2uWqNZraZCU2lzNydADONJ2lI9mmISrBT9m5brOrNj6dPhudy6LqeqOe2dyMv
         WaJMcq+CdGW0+YQm7hjOREeSDN2r/aciMzS+Omi7rirPj7B4nmp7KmHpxrLyRBYIocdi
         lk+g==
X-Gm-Message-State: AOJu0Yz6xFmLlYKoBnFpcC/aPERtQaLzxe2+ewwfzpoOE83apZxibXAG
	xoMv2HirwbPP0UrxNVZOydUADb4fBS0Vgvi9nx+BhRyItDYxSKQxRJ7nfz+hVj1yeQ==
X-Gm-Gg: ASbGnctCxpL74acoqo/HZVxsP4tcLOUVz9hmyRvuuj37DtjFq/GLUUEJWRcJrmt0OAq
	gwuoJnloce15k4pZfG5emWBWnhs6oGXVOUVt7YM4+8nBBAeBvyRkKu3sLLmGs6Wcc4jzgnaDX4U
	jRdqfUbnqkCZ+nNXyWYFQmTInAxB2+7KEMj4McJs45aMWQBrQ/IuUQd1sXJrt4FCthAdDwfGTo4
	Onuk1Fw7UiEJAXxRRaYj7IdY80Lv6JEvbJID4wAut4zHNsqx/f5Atlb/tUPz1GDLdcqRJTuusi3
	IReJpyl41t+iyYhWuebdtaCZEjX0cU2omprdrd6vo/5xvaj3Kpzj6A2mIPwmVJflV6y5hH28rTO
	XnN94I+750u4hszaAL6HlcGkx455/Ltf/j0AMKbaA72D+hKwx093JZ6pkBCiZGc6ImIZtqaxK5K
	P9E85sz8mOcdC8M7DTaDQIbUyNwDLs8Q9A3A8Za3p+SxZINV1jcOfNw58+i/oAD9C1abG3u0E=
X-Google-Smtp-Source: AGHT+IE1SlBGBbSKp0VSJASQb4/2nu+vsbONY+0eaRGt2JU/b8lvC2UP/imAVEAnfkG+/V0qAoRkBg==
X-Received: by 2002:a05:600c:1c9f:b0:477:f2c:2923 with SMTP id 5b1f17b1804b1-47726821c13mr21684015e9.30.1761810182522;
        Thu, 30 Oct 2025 00:43:02 -0700 (PDT)
Message-ID: <6744abf0-3326-4de2-a14b-70faf56e91e6@suse.com>
Date: Thu, 30 Oct 2025 08:43:00 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] xen/ppc: Fix tooling FTBFS due to missing definitions
 in public header
To: Timothy Pearson <tpearson@raptorengineering.com>
References: <1066630274.4872.1761755029561.JavaMail.zimbra@raptorengineeringinc.com>
Content-Language: en-US
Cc: xen-devel <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
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: <1066630274.4872.1761755029561.JavaMail.zimbra@raptorengineeringinc.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 29.10.2025 17:23, Timothy Pearson wrote:
> int64_aligned_t and uint64_aligned_t need to be exposed when the GNU C compiler
> is in use.
> 
> Signed-off-by: Timothy Pearson <tpearson@raptorengineering.com>

Thanks. However, you've lost my R-b, and the Cc list was again entirely empty.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 30 07:46:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Oct 2025 07:46:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153354.1483712 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vENMv-0006XC-IC; Thu, 30 Oct 2025 07:46:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153354.1483712; Thu, 30 Oct 2025 07:46:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vENMv-0006X5-FX; Thu, 30 Oct 2025 07:46:49 +0000
Received: by outflank-mailman (input) for mailman id 1153354;
 Thu, 30 Oct 2025 07:46:49 +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 <SRS0=+HTt=5H=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vENMv-0006Wz-3D
 for xen-devel@lists.xenproject.org; Thu, 30 Oct 2025 07:46:49 +0000
Received: from mail-wr1-x42c.google.com (mail-wr1-x42c.google.com
 [2a00:1450:4864:20::42c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9629b631-b564-11f0-980a-7dc792cee155;
 Thu, 30 Oct 2025 08:46:47 +0100 (CET)
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-4285169c005so397299f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 30 Oct 2025 00:46:47 -0700 (PDT)
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-429952df3c7sm30044856f8f.40.2025.10.30.00.46.45
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 30 Oct 2025 00:46:46 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9629b631-b564-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761810406; x=1762415206; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=pjY0JcyENlFSz4Rh5f5GYTdgjqNLbd7cSXQb1Xl+HDk=;
        b=gYQssAYXG5zoaWvereXEbQtTAtsW1IbIQ+u4Nef14FQfcro8xPhoWY5dSryBdedYiX
         US5/W4KdKZCkhXn3ghsTiKfbo/blD4ynEYghW7MrN6y+VnBAf5w1Tyra67y9berF6WEn
         iSzqs8RRrZMPY3WkBXM7NtlJqdmNPJ6ZanBgMJ42NGyqhtN6ZDyQoySjjJ446eJ/n/MR
         fkShSoa70UlES+DhjtxFANmKMSQKakjoj1/wOy+jp6MnPskEgYDdZ449M5kVMELy+4Lh
         S1q1G4OkMifkVFJI9McSMWB7ycADWdTq66zfDMaBQPJDcu9z86P/ftMZRHzTkVjczAfM
         gUIQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761810406; x=1762415206;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=pjY0JcyENlFSz4Rh5f5GYTdgjqNLbd7cSXQb1Xl+HDk=;
        b=rPClTuBYExWa7DHTPYa/KBjmy20HKUv9yde/27YcdSKA9htOD3lbyg14nXl4wFmfbi
         xZYBPsbrGoHbhz3rzq527xVBcOVSXXFrTZMz2/dNMaiXcuYypRTrnRlPNtdDzaVY84YR
         btmLS9vPAcjMJZ8rrY5ZOTeVFABnoWtsS+3pPl2dVWqSGNVIWUG0nhIbcT2gd3e2qUe1
         /6Hbvm9q343SG3K1fKswoeCqv7I/suLupQbl4oUBV6qZBzINqIJorjrvWwHV70RNDYEX
         Euun/AHZt6DNNAziXkeGoDIlYFNGWCJE2a041bOHm55qKbC0dGLusztLOH06CWSFAO34
         jl4w==
X-Forwarded-Encrypted: i=1; AJvYcCWFLdEfulwiHcCvKr773tp7+2tRXaTcviaifcvbSHE4SxtjkB4Jd3Vo82Fba/tIfKCrD9t/6DrY1JQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YygW5DkOynXqD0wpTwzfOgdDmabFKWGmGGW+faPI0YkIhae4q5o
	LWwaDA+U63tGf2XfLO1jEtdVQZQFBQJyICzatcjtmHULyNZO6K5fs26sQbmNQss9pQ==
X-Gm-Gg: ASbGncu2T60MnUjoFgkjbXY6wOrNIC4ziPzejQS6gsHHhC0rClxOoygsO52lrcqIEnA
	GNJ1WnRV1cx+J2DsWPL3+LKNXHOTTRU/NqL9uylcnGnR5Eg102in4jHNQzLpC6HG9TcF0NtnWLY
	RrM4mOt1ot4C9WhlFpF5czOjFspb++q2bgEjyCDEgS8um9KPD5Yae/XcGXtYMm7C5PXCZOHtwI/
	5w22Hcb5Ar0aVTCMV3+htTfaDhP1NL5yDZdGU/SEl7uMUbKIrwKERFio2yw3KCGME1ZFoV5fxyW
	lPr32QMPfaXiX06s2Wlc6aEPGASELfkx1n8e3GSnA2MRCEbgKA1m8qBFJ1BcGAxSLLkRUJCg0+l
	3WztUQ8K9H9qHNughdm1czpSLCsAWJIJXyuY8zkftC9SVmyjRD8oK/Ebs2h4RRW+p9BoyvIDKBy
	Cz2gGG/TAtrHgLKP3oSN7qXZM9hjLxQX1cKVPXr1R6XbdeRwpKWKIik19E4LUo
X-Google-Smtp-Source: AGHT+IHbf5l5TIOhROfNlq8kc4617nzL3CYpXuSgq1gogzNZL1A+G8952FwsO8Avxw6+SP5mKNeJ0Q==
X-Received: by 2002:a05:6000:24ca:b0:429:66bf:1475 with SMTP id ffacd0b85a97d-429aef77a71mr4366877f8f.3.1761810406406;
        Thu, 30 Oct 2025 00:46:46 -0700 (PDT)
Message-ID: <1d1170cb-debc-4063-b98c-263c7b9e62d8@suse.com>
Date: Thu, 30 Oct 2025 08:46:44 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH for-4.22] x86/hvm: Introduce force_x2apic flag
To: Grygorii Strashko <grygorii_strashko@epam.com>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Juergen Gross <jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 "Alejandro.GarciaVallejo@amd.com" <Alejandro.GarciaVallejo@amd.com>,
 Jason Andryuk <Jason.Andryuk@amd.com>, Teddy Astie <teddy.astie@vates.tech>,
 xen-devel@lists.xenproject.org
References: <d498a50f6187b362ac5da3c6a7a7c348f35dc4b3.1761761288.git.teddy.astie@vates.tech>
 <ee234574-384f-438a-8bf2-e250b61bc75b@epam.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <ee234574-384f-438a-8bf2-e250b61bc75b@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 30.10.2025 00:08, Grygorii Strashko wrote:
> On 29.10.25 20:26, Teddy Astie wrote:
>> --- a/xen/arch/x86/include/asm/domain.h
>> +++ b/xen/arch/x86/include/asm/domain.h
>> @@ -509,6 +509,8 @@ struct arch_domain
>>   #define has_pirq(d)        (!!((d)->arch.emulation_flags & X86_EMU_USE_PIRQ))
>>   #define has_vpci(d)        (!!((d)->arch.emulation_flags & X86_EMU_VPCI))
>>   
>> +#define has_force_x2apic(d) ((d)->arch.hvm.force_x2apic)
> 
> Would it be possible for you to consider having Kconfig option to make
> such configuration global, static?

Especially considering the post-commit-message remarks I don't think this can be
other than a per-guest setting.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 30 07:49:11 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Oct 2025 07:49:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153366.1483721 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vENPC-00078a-1E; Thu, 30 Oct 2025 07:49:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153366.1483721; Thu, 30 Oct 2025 07:49:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vENPB-00078T-Uw; Thu, 30 Oct 2025 07:49:09 +0000
Received: by outflank-mailman (input) for mailman id 1153366;
 Thu, 30 Oct 2025 07:49:09 +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 <SRS0=+HTt=5H=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vENPB-00078N-3k
 for xen-devel@lists.xenproject.org; Thu, 30 Oct 2025 07:49:09 +0000
Received: from mail-wr1-x42a.google.com (mail-wr1-x42a.google.com
 [2a00:1450:4864:20::42a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ea35b14c-b564-11f0-9d16-b5c5bf9af7f9;
 Thu, 30 Oct 2025 08:49:08 +0100 (CET)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-3ee15b5435bso561194f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 30 Oct 2025 00:49:08 -0700 (PDT)
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-429952d5768sm31391898f8f.24.2025.10.30.00.49.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 30 Oct 2025 00:49:07 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ea35b14c-b564-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761810547; x=1762415347; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=zIk56hTsi8RRlTiQIGCZQ8lRsHuGE3dGo+CL4Be8aTc=;
        b=d3gDYL12v//LwGOPo1uFK48dGcs3vwQZ2AwGy+ZhVSmDyBno74Fkhb7fS5Zj2rX+iS
         FMGho+5Jff2yRQCDp1xhx5ZEILzpni6GGTBwXR+wN/PR/ls6iO9bkfa3A1XINt/htZcN
         gu0ouPUiyuewGB/vLRV3nPHmS76Vj2b8WVqJelyYja6oCYAc+H7PClZvcLp3NrZdGjSa
         N8C85KDKvb5dAe/a/rQFzo3ZFZhMww2f88YHHus2Mzq+JKlchdaiXHuYffpMOAJMPUmB
         dfsS3Et4jAgqBswXesLa8ELJklptJTDwcKP2Oil7m+CVsldJFhdWQ3CwGYzs0Tddf8JJ
         45SA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761810547; x=1762415347;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=zIk56hTsi8RRlTiQIGCZQ8lRsHuGE3dGo+CL4Be8aTc=;
        b=txXGQM9llOLCEs5K4+1BsIH7Hd67StDomwxjbmDgoUDwtIPkJ7ptA++LR7jv5iwpXe
         9esR0R8jJYvTMj2JoH7Yry/BPuWDnX4iXVkeSCX5VRtyQM50tMJgU7thwBLPFG4ktVHU
         jPa/9T18xPM94WqlH5AIL63ELykIYCPvS2+SV2d8uIOk90Je2X5HQS3grSG+x9l/egEK
         k7u4p2aS1ELWKyIPRRu9iMqBhv5arvIf9o15lZy4iM688tKcUI0gQmCeCgOgRfzC3Ahf
         SYa7n239dL0+LD/TtKeDEXuAHorvpSxgbpJ16EQn9aE7LjEmuKWZPa5oh4GrlrQJ6lpH
         l15A==
X-Gm-Message-State: AOJu0YycCJYk6JXsTXa6wxxiPgFmmrXhXK/YmXfXYDPAQKdfOO5WyqNQ
	mJPk2T3yEMBWcaAcZiTzPr4yWDUljYeUmFiYTRxvVlh961lYKNwM+gDjDo+GG3ITdQ==
X-Gm-Gg: ASbGnctLBr1DnWLK+kryEx0tSLmMTxq0djFBaIQn35OnKCFX7T/8zwcklTX0BjphH3l
	cFDLCSdRNK3r5WA1oZ990t0reL8JJuCpc5NToU0f1DXOJJPkyxEAY8UC2FZvGkrwBGh7r81Mx7d
	ZXrQjpD7GZ8SnkIomHfNxPVNQl80gm/EyHG2a3Y9/sgBVju7A/E/d6rYaK1Iza+zUkgENs0Q9aS
	YlOvg0dfzarmkqeDSNCgif6dDDYyLtMWnZQ2YVLteMS3Vm8tJexSuFnKQh97SKQIR3N09K0SJ0a
	4t92fQZEbRaNyxdUMUHDl1cDU0MumRT18GkT9Wpafc2Iwrv4550NFr/Sz6NTOe2dbUFzXISsLkW
	DOmHkFBttIZxVFzLYHYS9jq4a89s8c7BjxpJcHxRRRbKGpWarWmyztoBURCGY8klMVGVA4BdlRX
	HAB3KyoWkVa/nLpsE2vYIoCaJm20cAG3qtXd3MELqiOAE5K1VVDTJYgjyAK1v8HodXQfOnLz4=
X-Google-Smtp-Source: AGHT+IG8T81TvpdL4T3/KNCNHjksEY+wkQoDQPHjmy27sxHFJK/aE2iVpVJAweevEl2MRpK+A1NLMw==
X-Received: by 2002:a5d:64c4:0:b0:428:1dca:ffdc with SMTP id ffacd0b85a97d-429aefbde19mr4964204f8f.47.1761810547501;
        Thu, 30 Oct 2025 00:49:07 -0700 (PDT)
Message-ID: <2dc8848d-fe1c-49f2-ac5a-e98338d4515f@suse.com>
Date: Thu, 30 Oct 2025 08:49:05 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH for-4.22] x86/hvm: Introduce force_x2apic flag
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Teddy Astie <teddy.astie@vates.tech>
Cc: xen-devel@lists.xenproject.org, Anthony PERARD
 <anthony.perard@vates.tech>, Juergen Gross <jgross@suse.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <d498a50f6187b362ac5da3c6a7a7c348f35dc4b3.1761761288.git.teddy.astie@vates.tech>
 <aQJiZQ37v9av7De2@Mac.lan>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <aQJiZQ37v9av7De2@Mac.lan>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 29.10.2025 19:52, Roger Pau MonnÃ© wrote:
> Seeing there are no changes to the ACPI tables exposed to the guest,
> do we want to start exposing X2APIC MADT entries instead of the plain
> APIC entries?
> 
> The ACPI spec seems to suggest that you can expose APIC entries for
> APICs below 255, for compatibility reasons.  But given that we would
> force the guest to use X2APIC mode it would certainly need to
> understand how to process X2APIC MADT entries anyway.

+1

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 30 07:55:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Oct 2025 07:55:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153376.1483732 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vENUq-0000DS-MP; Thu, 30 Oct 2025 07:55:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153376.1483732; Thu, 30 Oct 2025 07:55:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vENUq-0000DL-JH; Thu, 30 Oct 2025 07:55:00 +0000
Received: by outflank-mailman (input) for mailman id 1153376;
 Thu, 30 Oct 2025 07:54:58 +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 <SRS0=+HTt=5H=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vENUo-0000DF-To
 for xen-devel@lists.xenproject.org; Thu, 30 Oct 2025 07:54:58 +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 b9fbddb6-b565-11f0-980a-7dc792cee155;
 Thu, 30 Oct 2025 08:54:56 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-47112edf9f7so5717635e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 30 Oct 2025 00:54:56 -0700 (PDT)
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-477285df825sm25866495e9.0.2025.10.30.00.54.55
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 30 Oct 2025 00:54:55 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b9fbddb6-b565-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761810896; x=1762415696; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=U6dbwM0ehPAK1CLLb4RtNNAEuU7LgHpMY/NGBCGoy3s=;
        b=XhV7ocBjYde/RzNAMV9UC7yC53KNkHIzPXo1QZcL9LQTMVTRHf/QYyai6NK+DJ7Hlk
         BJorCtN6LNXiKP5XweNrhh4PNOntwv7l6OVyXfvXMN2LF2VqSP2yNDfQDsyDiDFlgQXr
         ZrHQQTY9e20AjokNFdQeqaqs9zHaEf7F5udokFwL9m8HQY46ddNoxJjbcPpjlInNWmI8
         Ic/yIWC0oWzJpqbwhmtsL8Q6U24n1RTxXw+sChjXdJQNf8WqjmEa/l/8vpro4WsdrnYw
         DR4uczsWnuB630oQ8m9xv2pXOmKYNKaWU4Bl4IWGB/3b8W5qAaj3JQEe2o69T4kGOBJS
         PXTA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761810896; x=1762415696;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=U6dbwM0ehPAK1CLLb4RtNNAEuU7LgHpMY/NGBCGoy3s=;
        b=Q3SqTrV4L3Xy0F1WQQYw12xQ2IfDiDVAVG7qln1mK3NbIS+mPtBf74eZg/lGzSKQg2
         VxfyeenNsi6i7svXvtDg5Os5jO4uzbY9I/5PdN7zM92apYIYKeY+K8PZBZvAuPMMLA4r
         Bi0je2oXtPl6+57WQuS8KQeba62UrkOVMP8tcqnwpyBm01yR6LBcX8AIZ94TkdJYXPRT
         m9a64T4Z8vAESR1A6ZPbzieGMpbYq+zs6VC5Ojsax0/ESrOVkaXwbQ6MDmTj+6HJN5ik
         az/NuR7Pgwo/rEZK9MSKNM4HHO0HDiHDX+Q7PVYGoWPEU+mRT6o4AfIwFLoWSzEToW1Q
         jeQw==
X-Forwarded-Encrypted: i=1; AJvYcCXauDjkp7aiWnSqCJtaS3bT6Kz5FXpQt69uj4ZzkcwPngOMJk2+E7x13kbtqoUZSconx+B3NfGw5WU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyeSe9ltSU7mXtnMWpJfF+zdWzeCGv+iAXyTyYgjzk6/ykaxMRM
	G1TAjYtTGfdvVB5JxcZYcJwsqiyZAOTwMFAcxLDivgdweSvraxkCT+MBaeQeeigsTQ==
X-Gm-Gg: ASbGncs2C8mGsRB5/mzdJkBjerV2mjDxbSGPbPa9YMCuFIWjWu9ykFp/ILHmNJ7JL8O
	Kt3mEny7gbvvAus2SS0Euk3DOgQNEcka0K1fKn7Jhhkd43goPSOrwC7kDzemJc0aDums5N30Awz
	F34oLV9LR+8KOjL6VF/mplHZ5vUbJLFzr7zuOgPdoq1yq2DaXATluTbCc0UwvDxh047pbdTKbJR
	BY9IQ9dBUlw2+bCczItBUU1uqJs3jUdCgZapfHCrf4hEr4Mg6mHkzU4APXIb7mV+h5jHcjO72o5
	uR7A2E8OxUBqQPYKu8VKl9C3GW0FS08NvBt+SE95coPa3qBaMY7P8wS+dfCoSCyVnlRHNVPMn1/
	Xdy/uShUMnoYo96pOXg1d9EHXdwpb9NwbVGi1zXdw/wKwar3RnUHaHWxiWiwywiuJVzEaWhTw/r
	YeCMyh27e0MgDZSkr9Em36oEgcWBjbNVHheUiwauFgHnHeDy6wwjS6m6JIcJEVHxvDSPr2JiQ=
X-Google-Smtp-Source: AGHT+IEmdKtSOh1G7yW8xLwAdjGX9nx9kzz1sFjK3IasU3yOyR6TGieq4JIMX7rClbcHzmHv66fhTQ==
X-Received: by 2002:a05:600c:5494:b0:471:b5d:2db9 with SMTP id 5b1f17b1804b1-4771e1cac45mr48837415e9.21.1761810895983;
        Thu, 30 Oct 2025 00:54:55 -0700 (PDT)
Message-ID: <fa9a7720-5a90-41bd-8ebb-5fc5d4065d38@suse.com>
Date: Thu, 30 Oct 2025 08:54:54 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH for-4.22] x86/hvm: Introduce force_x2apic flag
To: Teddy Astie <teddy.astie@vates.tech>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Juergen Gross <jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>, xen-devel@lists.xenproject.org
References: <d498a50f6187b362ac5da3c6a7a7c348f35dc4b3.1761761288.git.teddy.astie@vates.tech>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <d498a50f6187b362ac5da3c6a7a7c348f35dc4b3.1761761288.git.teddy.astie@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 29.10.2025 19:26, Teddy Astie wrote:
> --- a/xen/arch/x86/hvm/vlapic.c
> +++ b/xen/arch/x86/hvm/vlapic.c
> @@ -1116,6 +1116,20 @@ int guest_wrmsr_apic_base(struct vcpu *v, uint64_t val)
>      if ( !has_vlapic(v->domain) )
>          return X86EMUL_EXCEPTION;
>  
> +    if ( has_force_x2apic(v->domain) )
> +    {
> +        /*
> +        * We implement the same semantics as MSR_IA32_XAPIC_DISABLE_STATUS:
> +        * LEGACY_XAPIC_DISABLED which rejects any attempt at clearing
> +        * IA32_APIC_BASE.EXTD, thus forcing the LAPIC in x2APIC mode.
> +        */

The MSR aspect should be implemented by using the MSR. Beyond that imo our treatment
shouldn't be different from that when firmware pre-enables x2APIC: While not
advisable, aiui OSes could still switch back to xAPIC mode. At which point the guest
config level control may also want calling "pre-enable", not "force".

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 30 08:00:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Oct 2025 08:00:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153391.1483742 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vENZq-0002Rm-E5; Thu, 30 Oct 2025 08:00:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153391.1483742; Thu, 30 Oct 2025 08:00:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vENZq-0002Rf-BD; Thu, 30 Oct 2025 08:00:10 +0000
Received: by outflank-mailman (input) for mailman id 1153391;
 Thu, 30 Oct 2025 08:00:08 +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
 <SRS0=R46B=5H=gmail.com=xakep.amatop@srs-se1.protection.inumbo.net>)
 id 1vENZo-0002RT-TE
 for xen-devel@lists.xenproject.org; Thu, 30 Oct 2025 08:00:08 +0000
Received: from mail-lf1-x12c.google.com (mail-lf1-x12c.google.com
 [2a00:1450:4864:20::12c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 710cf7cb-b566-11f0-980a-7dc792cee155;
 Thu, 30 Oct 2025 09:00:03 +0100 (CET)
Received: by mail-lf1-x12c.google.com with SMTP id
 2adb3069b0e04-592fd97c03eso844743e87.1
 for <xen-devel@lists.xenproject.org>; Thu, 30 Oct 2025 01:00:03 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 710cf7cb-b566-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1761811203; x=1762416003; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=z/v+7w5Dx/1kLEYKPSlGfyHOafvT4cBIMDhg84Ptmks=;
        b=i+0/Eg8xe7Yy9xImufIc+BTUZcSYfsBDF7jMwEL7rNvddwGOi7PVBDU2Wqp3aelKo9
         c7DnD1gf6Eiqi3pc5giwTG6U8wnUM4DaSicLMeZ5V3xj2UPCvqWAYiHzYUc5o/WsuLcF
         1YUCUV/QAXaOcuBRP13L7i542DL/xl8JcG/2efR1CcKWRXa3+j/KIsrnZBBzQIqsIZFv
         uwpQH+NLgiCd+LHRFSyADW9VcSPoGHrlD531Mtz4S24fs5HNsGYL3yXuDN7Sq9tsNINf
         WtMSfS5kPBwrd2QaNYFV9nMKdpUNi3T62o1cCWxRGIvXu/8qhZ2escKioHKSmukaxdFH
         5AaA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761811203; x=1762416003;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=z/v+7w5Dx/1kLEYKPSlGfyHOafvT4cBIMDhg84Ptmks=;
        b=YNKCVkkYbOO2zwhADaK52JlsQSbBuNdDtXx573yQYWvkqifXLYc04SiYmILjBlkLOS
         JOvsgrsrdVWEeVkb88ec3/TyJr7ymTZJoe7bmyju+JYc/Hu/mzCHuKzF3hDHhp+bW+Ne
         QcWd723K6vjoj2ehRg5hLy4lMCSnHwthj78A8j+PJHwDm8EpwZn4CrEZiQpNgcK/waNP
         hWX/sexpz8DoHWukK+EQzs4cSWJS6dhSd4V1mx2f2WxGp3gUEnLxnRCVFbwCyqhfmCwo
         9zHpw6m9xH66CGcCDpwxBBqoPQx/y/myT1+mPQNXZRoE0DHnE/mLUkPN8lBrUKUWSSyp
         gnQQ==
X-Gm-Message-State: AOJu0YwYy1yRiZaMIxp9w1pLbIZEVc3RWxodAzH/MjeMnex6ynbNtSg5
	/7iKCwnVgL0an1jUGOjfJy4fzQZARN2P4cANsv7OkdWiOZoWucZ1qC+Hz5UHB3WQ0+8tczfwqfd
	DGQ9sxJvMJZs4EJ7VVWcNksEDh8N2DuserQ==
X-Gm-Gg: ASbGncv+uaNcO1OYfQYSUNvmzGf0p7OU4fen1f2YW3lZN0FN8qDhEsPsgDrnCnt3aPF
	d5LV41bzbpwqdIuk+is3jy0T9vlqrTV35mygsfffD6zKE3R6CnQ4LIyRBguD0sdIhCdVfudXnx1
	dl2osqjuZqdRekAy9sX+YusPb+oJ/99JaAfGPaU4G89w5HOQkcVSa3eMWJces8YI1KSSh6Z/s0B
	bjsIqmEmugN+aqzzZINrpKirvZLp8/x4baqEkW9hPdwiH6bEYPErV5jkwHp
X-Google-Smtp-Source: AGHT+IFchR8tg6vjqK7QScj9Otoi3SMpUEDtuQqn2KSnQrdEmKvoBhE+Iz61dYMcTdug0v8ykmr4M5C1EnbCqeC5DIM=
X-Received: by 2002:a05:6512:124d:b0:57b:d5d4:e7e0 with SMTP id
 2adb3069b0e04-59416ee144bmr599516e87.42.1761811202613; Thu, 30 Oct 2025
 01:00:02 -0700 (PDT)
MIME-Version: 1.0
References: <e57133182b9bcecb519911c8b3f0d871955d6fef.1754540991.git.mykola_kvach@epam.com>
In-Reply-To: <e57133182b9bcecb519911c8b3f0d871955d6fef.1754540991.git.mykola_kvach@epam.com>
From: Mykola Kvach <xakep.amatop@gmail.com>
Date: Thu, 30 Oct 2025 09:59:49 +0200
X-Gm-Features: AWmQ_bnQAJNgsmAjqhsHnt9k9WPXzsEnCqfjAY2mUiyhX_MZyeo6GwrG9uSjWuo
Message-ID: <CAGeoDV9ejB-6tg0eNK-6jD8zEZb1G0+AmJNaKVt50P4DiB6Kng@mail.gmail.com>
Subject: Re: [PATCH v5] xen/char: implement suspend/resume calls for SCIF driver
To: xen-devel@lists.xenproject.org
Cc: Volodymyr Babchuk <volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>, 
	Julien Grall <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, 
	Michal Orzel <michal.orzel@amd.com>, 
	Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>, Mykola Kvach <mykola_kvach@epam.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

@Stefano Stabellini @Michal Orzel @Julien Grall @Bertrand Marquis ping

On Thu, Aug 7, 2025 at 8:16=E2=80=AFAM Mykola Kvach <xakep.amatop@gmail.com=
> wrote:
>
> From: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
>
> Implement suspend and resume callbacks for the SCIF UART driver,
> enabled when CONFIG_SYSTEM_SUSPEND is set. This allows proper
> handling of UART state across system suspend/resume cycles.
>
> Tested on Renesas R-Car H3 Starter Kit.
>
> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
> Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
> ---
> In patch v5, there are no changes at all;
> it was done just to trigger a review.
>
> In patch v4, enhance commit message, no functional changes
>
> In patch v2, I just added a CONFIG_SYSTEM_SUSPEND check around
> the suspend/resume functions in the SCIF driver.
> ---
>  xen/drivers/char/scif-uart.c | 40 ++++++++++++++++++++++++++++++++++--
>  1 file changed, 38 insertions(+), 2 deletions(-)
>
> diff --git a/xen/drivers/char/scif-uart.c b/xen/drivers/char/scif-uart.c
> index 757793ca45..888821a3b8 100644
> --- a/xen/drivers/char/scif-uart.c
> +++ b/xen/drivers/char/scif-uart.c
> @@ -139,9 +139,8 @@ static void scif_uart_interrupt(int irq, void *data)
>      }
>  }
>
> -static void __init scif_uart_init_preirq(struct serial_port *port)
> +static void scif_uart_disable(struct scif_uart *uart)
>  {
> -    struct scif_uart *uart =3D port->uart;
>      const struct port_params *params =3D uart->params;
>
>      /*
> @@ -155,6 +154,14 @@ static void __init scif_uart_init_preirq(struct seri=
al_port *port)
>
>      /* Reset TX/RX FIFOs */
>      scif_writew(uart, SCIF_SCFCR, SCFCR_RFRST | SCFCR_TFRST);
> +}
> +
> +static void scif_uart_init_preirq(struct serial_port *port)
> +{
> +    struct scif_uart *uart =3D port->uart;
> +    const struct port_params *params =3D uart->params;
> +
> +    scif_uart_disable(uart);
>
>      /* Clear all errors and flags */
>      scif_readw(uart, params->status_reg);
> @@ -271,6 +278,31 @@ static void scif_uart_stop_tx(struct serial_port *po=
rt)
>      scif_writew(uart, SCIF_SCSCR, scif_readw(uart, SCIF_SCSCR) & ~SCSCR_=
TIE);
>  }
>
> +#ifdef CONFIG_SYSTEM_SUSPEND
> +
> +static void scif_uart_suspend(struct serial_port *port)
> +{
> +    struct scif_uart *uart =3D port->uart;
> +
> +    scif_uart_stop_tx(port);
> +    scif_uart_disable(uart);
> +}
> +
> +static void scif_uart_resume(struct serial_port *port)
> +{
> +    struct scif_uart *uart =3D port->uart;
> +    const struct port_params *params =3D uart->params;
> +    uint16_t ctrl;
> +
> +    scif_uart_init_preirq(port);
> +
> +    /* Enable TX/RX and Error Interrupts  */
> +    ctrl =3D scif_readw(uart, SCIF_SCSCR);
> +    scif_writew(uart, SCIF_SCSCR, ctrl | params->irq_flags);
> +}
> +
> +#endif /* CONFIG_SYSTEM_SUSPEND */
> +
>  static struct uart_driver __read_mostly scif_uart_driver =3D {
>      .init_preirq  =3D scif_uart_init_preirq,
>      .init_postirq =3D scif_uart_init_postirq,
> @@ -281,6 +313,10 @@ static struct uart_driver __read_mostly scif_uart_dr=
iver =3D {
>      .start_tx     =3D scif_uart_start_tx,
>      .stop_tx      =3D scif_uart_stop_tx,
>      .vuart_info   =3D scif_vuart_info,
> +#ifdef CONFIG_SYSTEM_SUSPEND
> +    .suspend      =3D scif_uart_suspend,
> +    .resume       =3D scif_uart_resume,
> +#endif
>  };
>
>  static const struct dt_device_match scif_uart_dt_match[] __initconst =3D
> --
> 2.48.1
>


From xen-devel-bounces@lists.xenproject.org Thu Oct 30 08:24:57 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Oct 2025 08:24:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153406.1483752 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vENxa-0005oA-7z; Thu, 30 Oct 2025 08:24:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153406.1483752; Thu, 30 Oct 2025 08:24:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vENxa-0005o3-4i; Thu, 30 Oct 2025 08:24:42 +0000
Received: by outflank-mailman (input) for mailman id 1153406;
 Thu, 30 Oct 2025 08:24:41 +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
 <SRS0=p/0d=5H=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1vENxZ-0005nx-7e
 for xen-devel@lists.xenproject.org; Thu, 30 Oct 2025 08:24:41 +0000
Received: from BN1PR04CU002.outbound.protection.outlook.com
 (mail-eastus2azlp170100001.outbound.protection.outlook.com
 [2a01:111:f403:c110::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ddd9fd43-b569-11f0-980a-7dc792cee155;
 Thu, 30 Oct 2025 09:24:34 +0100 (CET)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by CH2PR03MB5237.namprd03.prod.outlook.com (2603:10b6:610:9c::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.12; Thu, 30 Oct
 2025 08:24:31 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9275.013; Thu, 30 Oct 2025
 08:24:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ddd9fd43-b569-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=kaz42UlKVbS221XXQx37A/SBF23rxlRCsKUuN3gp5HxNhPnR5mfszFOn1RbgAUAQOyTR+EiHkz0anzAPrgAeWdYm4/IH8OrzjkQyNaXPtoDrNnqCMx88Hql5dlcYMrw36+URjGnSMLWODVctfp4/jGqA8kTLBJg26dk6pcEyn+wtlDmvcOcDCXeJbNI+Brrp8LYpKpL7PRkude/6lngq8vJALZw8oSPIwjxbl2lBlqBTxpr9RHv5wpcnC6Z86rzt6njaDcg4aUmx5NdVEmVdeGQd9PfxwycIcwlvO9cvylUWKdGuSfer67DCnEMqDgz4pYNmRl5Ss/oy7OTW1es+EQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Isn9i84sEB/9/zrmh85TkuFwHbfLi8sDWH9laFnBZdA=;
 b=caA+6/TDB45beRUii7eJdW1kkwC0Tqwgf2EB3KJ/mfKiO7B9cuA05xIGdcsmRXmlo1/7IKGdUEoi7G76oUWFHIDLpk551B1SJEVWwnB5qy9TFWFSVED+Rr7sEAHwEsjysyjcYCSVpANwACWCAbZHjwOnxrfDRu0uY3MXs3T6OT6vK8RaN4nOXnIuxgQ5f9a7LIbsmJKiBFJDsumPU24Sw4uT5sakuuBVEStZSLn9manb18Oa+XaZBoWDoY+HlnKfaR1foQBNLFAneIeyYH2VVFZim3tuvy3jfiVAbPbc+sliBaz0KjmV7RvIvKIVYL9y6OCsBnmz4llKgR7GIYo96w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Isn9i84sEB/9/zrmh85TkuFwHbfLi8sDWH9laFnBZdA=;
 b=jT44Y7i+GYvu6dL+yQkVS/BDd+akaW7v1P227pJp+PwxyK5L2dpYz/Lsps4FcY3GaI8sV0Je6XFqon+oMevedXnZa/dmvf4Rq5CBo8Hyq+PJslDrAyExVMr0/NefoWH9yzXmsTo5lx2+8XVAvBWfKeWNdzWJOPNFGrg2FjKQZY8=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 30 Oct 2025 09:24:27 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Teddy Astie <teddy.astie@vates.tech>
Cc: xen-devel@lists.xenproject.org,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [RFC PATCH for-4.22] x86/hvm: Introduce force_x2apic flag
Message-ID: <aQMgu9pkn3m_msf5@Mac.lan>
References: <d498a50f6187b362ac5da3c6a7a7c348f35dc4b3.1761761288.git.teddy.astie@vates.tech>
 <aQJiZQ37v9av7De2@Mac.lan>
 <9a2c6c79-acc6-4201-b6db-492bd2e536bd@vates.tech>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <9a2c6c79-acc6-4201-b6db-492bd2e536bd@vates.tech>
X-ClientProxiedBy: MA2P292CA0027.ESPP292.PROD.OUTLOOK.COM (2603:10a6:250::16)
 To DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|CH2PR03MB5237:EE_
X-MS-Office365-Filtering-Correlation-Id: 41e3b473-dc99-4d1f-1f40-08de178dbf7b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?SDdzQjRQY2x3YXY1S3VOWTBXVVBLRW9uTFJydnFJUTYxNHZZUUk1N21CM1pD?=
 =?utf-8?B?VUNtalcwTjd1MEk4bDd2dkxkUWN3MjJHalo4T3hhd0xVc2lsWU5HSW80bXpS?=
 =?utf-8?B?aG5ZMmxHeW4zUEpNZXhOa0tId2pMVlA2UHMvNVVpMWRHSVlJSURNR3VnOUFU?=
 =?utf-8?B?NXlRQW9EUU1wQlBWcS9xUURsQmZSaGpmUnk0TmNkVTV2Q1d5MXExNzJPSnFV?=
 =?utf-8?B?NG9ReGRYajE4bm5iQzg2b1NjRXpTOC9UWCt3cDVaMkt0b0FjUSt3UzcxdXlC?=
 =?utf-8?B?QU5OeVlDd21kQktPN1hYbTZpWnRvdnRLd2s1cnhIU1k1ZUttMzRCc0R6THM0?=
 =?utf-8?B?TWthWWg2Y1BUK2wwVnMxakx5N29pNFpvdzZqU24vbkxDclFNc2hxRkJrUlY5?=
 =?utf-8?B?dUhQNVhoZ2NSZUJ3WnJUaDdYU2psVXpUNzc4d2NsYVB0czVNczE1bjFhL3ZC?=
 =?utf-8?B?OTY1c002N1lqTFRUZllxek9ZNmtjSXNKOVZMbDMzakJKRFgzaE1FMnhYcm9n?=
 =?utf-8?B?em8xQ0gyWEpvRDBoZHpFT09BYmpHUmd5U0l0MjZFTnJBaFc1VmdicjloMlNp?=
 =?utf-8?B?WmlvK3kyd0pTdW1nVWhER1hRaDd2VnBtN2taclFwVU5YNWNmUDZUb3UwdThF?=
 =?utf-8?B?K25XQi93TkFxWERSQTUyN0xVckszWVBET0tKS2J1Wk12akJrbmpwbFdya2pk?=
 =?utf-8?B?VmZmL0JPQVBNc0ozWVp2dUo5MDQ0bDVOWk1xZ0l3MTBLajZrRy9wY2YrYWNw?=
 =?utf-8?B?TFBsaE94VHFuNFBDd1BkVHV5TTNUZ1cyYW41N3djOHY1OERhaVRONGc0NHBI?=
 =?utf-8?B?MlkyUEI4clhpQTRsVkZROUZCZjZFQ05xcFQ2OXRzbTVVWXJtQjU5RTU4VklL?=
 =?utf-8?B?TGQxQk92d2J3bUZlSjY4cU5hZUtISThna1ZaYUIvb0ZEQjZ3RzBOaGRYTzk1?=
 =?utf-8?B?SElEVDlUdnZTY1pvOWhpSWU4MW1CS1E4RTNhU2dKbm9NWGZaTTBST05TSEdG?=
 =?utf-8?B?bUVmZzlYL3hJTG9GOVJJc2g2clZZYSt6WTNLMmNYcHpvdXRRWUNtRDg1VnFN?=
 =?utf-8?B?d1RNYi9rdCswd2ZNSHFVQSthaldBZXpuRUx3UnZSTEZodXRTQ2VLS2w4cjZm?=
 =?utf-8?B?ODFaMndEQldtZFFtY1poTWRqcU05MmZORklnc1FtK3B2L2RzUm5tU0dTN3lN?=
 =?utf-8?B?bDYwaHZXV2dTTXRzQ3BDaEVuMnZHS0l1NDhTSFNQaXh5TDY5YUJTYzhyVmdR?=
 =?utf-8?B?UFhlbEhZMStKdllyYytpTEpLRDVWWm85d1JjUkFBYWN2dGcyOCt2VDJDY3ZE?=
 =?utf-8?B?cnVjczJya1d0SHo0T2RFRTE2NFZYV3owVExTWkZDMXpUMHdWSEZmYUxPS0Q1?=
 =?utf-8?B?OFBBc0R4SjZQdlp2YUxwaVFjQmx4OU82UDFKamJ4RE82K09pN0lneEU4ZWE1?=
 =?utf-8?B?bmYzTFBKZXZ6RHBxTldDbDl6RkQvWjRBb3JWVWFkdUZhVzc2enVwdmowYWlV?=
 =?utf-8?B?cEcvclp2ODVvUmoxRzJGSi81dE01cDk3bnRnV0FCc2VWYnlyWDMwbGp4dlFO?=
 =?utf-8?B?R05MQnlyMVRxemlLbjhhME1EWWc5MEZIZ0Rmb2NISElIaFJoUmJWRTJiRkw1?=
 =?utf-8?B?T29kc05tYmxJWStwdWhydzNVZFhCbHA5ZW9jODRyOXpBcUw3T0pnWkxqMGtK?=
 =?utf-8?B?TTljZ1hnR0UzUmNpS0dWeTYrOGR6VE1ENkNOdjJNUGJoeUN4NHF4M25uM2xS?=
 =?utf-8?B?Ri9IMDk1R2hVT3RXeDhPalMxVnpBNVZPdkhteGRDMHpCRW5PNnUrVm83QnRi?=
 =?utf-8?B?WDcwZG5GWGNRZkNlUk4wVEFrQVYrbS9mNXN5UFRaSGNkTXJqRXY1bzJPamZj?=
 =?utf-8?B?aUIrZ0VCS3p2T2hKeFIrYkRGc3FLbEYxOE92Zm1aOTVxeGxEaGNSb2ZTQmpG?=
 =?utf-8?Q?irKXhLTItVIKU9AIqm2PwGhaNDsb3H0B?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ditRNFpXY1lXNFRCL1g0QTJMRUdheElycnptSlA3NDBXczZ1OU12dTVzcFpv?=
 =?utf-8?B?bDdZS0tYcnF6YXE5UDlBNXlSUTBYRVpzajhxRjlDaUZ5am04SnRWeTQ3MnJa?=
 =?utf-8?B?a1Bnc0F1WE9XbnUxMUxDd2VPUE5FRk12MXhld0RVOHV4MkFRUHZWMElkUEVz?=
 =?utf-8?B?VTd1ODJvMTF5TUdySm1od3Q4K3pYeUljWjZNSitWWE9zMWJJeWkwZFJvb1JC?=
 =?utf-8?B?OWxxMHFZQ05RRHgvNTdxSC9xeUliL09vU0laVXdxWnBpOVV3R1MydUhCNkJQ?=
 =?utf-8?B?cXNIcHlkOU5NRG45bjZacEIxVTdpVnlKZkJpZmxGNXFJVk8xRFY2VitnVS83?=
 =?utf-8?B?UCtZcE9KUlZhRTdsZUZMM050aEVYcyt5ZnZBY2swMHRuVEJkWEVVNW5BeHFN?=
 =?utf-8?B?bzhGSzkwTjhaUjBoL2ZtOEU5cDl4SW5hUGt4QWNXYUxCZFp1NDhqOUpteEU4?=
 =?utf-8?B?OFBEaGlVRzlBYkIwaDJ4eDEzMXRIc3Myay91RGFlZ2VQQ0g0bElVeVRCbDd2?=
 =?utf-8?B?Wko3VUZnZnJBV3AwMzRDQnNSV0xDUjh4d3RmZlB4ZDhxQ294MUI3REtUWXY0?=
 =?utf-8?B?YzJ0R1YyQ0tQZ3l3anlpOWVNRlQrYlAralZhTStxKzc1OXVFWTBSSFlQaTM3?=
 =?utf-8?B?V3NpM0d3alYrTll2YStqVG5XMU9NcTF4SUVRZ3FCbnhudVhaRnFXWVhiK3E0?=
 =?utf-8?B?SDVZck8wai9raVpaRTdScmx2QldxS3pWK21FSVRPSEFIVjJSQ1kvUFh4RzFj?=
 =?utf-8?B?elFYMm1EVkxVSjBKcDNYb0tNUjJwNHhNUWF3NThkK1BqUnJLRyt0SG81ZGd3?=
 =?utf-8?B?YlVtdklWODBJTkYxREQzaExCVlBEU3lEcVNJd1NZT0U2YVlKUlZuS3dxdzBZ?=
 =?utf-8?B?c3VYWW9aWE9IcktGSi80aEdTS3BFWG12Yk41YXJjR1Y4R2pydUh1d3BrUm96?=
 =?utf-8?B?bHg0M2lrczlaSFFXOTBUcEJqM3pOZzVlaVZxZGRxdGptbFlPbVk5czZnOXJ2?=
 =?utf-8?B?RnE0UE5sRG16SUNpRmdsSWxiVElvalc0eHUyaWY5Q2JjSHdXWGx5NFBpenBu?=
 =?utf-8?B?cWJVcHFMa1huSWg2ZEhxZ2tUVEk5N21NTDg3RTAxQnBxWGlYRDRuZXl3UlJJ?=
 =?utf-8?B?ei9CQnlMT1hkNXI5TWdBQlE0L3VxV0Nva3BybExCRGlLZE5Hdm9CTEJibS8r?=
 =?utf-8?B?NjhHL1RNTXFiaHRZaGovREg2aXBhSmh1ZXp5U0k2MHptdFZTTGVrb2FCTDJi?=
 =?utf-8?B?RXJTbks4YThOQzY1MGl2SFNPSHdSdURkSkVaZkpaSThxcU95Q1pHb2xXNmRJ?=
 =?utf-8?B?b29pSGFDYk1VQ0wyZFhoL3I4bE9RREI0ZXA3WGtmdmZ6Z001MEhZQTQ5emVH?=
 =?utf-8?B?RGtsWkVKa2hkTlhSUXVwMDc0bU1rYm5wdHBMNFExMXdjeW55aUhjRTlrdVVP?=
 =?utf-8?B?RkJnVTRzampDbjcyYjdCM1lWRXZqY0JFY2hNZVFkaktLSldSYkRvbnVlY2Nv?=
 =?utf-8?B?aVlKS0RUNjkxMFpVWmY4ZEVtTWd6Q1orUml6WDRvSWptVUV0a0FlTy95cldJ?=
 =?utf-8?B?WXNYNFQvQUJ6RzNjKzE3Mytwc0NINjEzZU1BSUVHT2cyTzhzbUdCVjJuNnBZ?=
 =?utf-8?B?Wm5kZ214dnJFa1FZRm5BSTVTWnU3dllvZ2tickJDVEVRYVpFUENleDdscE9X?=
 =?utf-8?B?QlRrK2FHN2NBZGlTYStiVGRoNkR5MW53QW42Y252YXcwVmR6L1JTa3VnQkpH?=
 =?utf-8?B?Y0JYUU9YOE5pYmJDc0NTL2lxVERGajVaZGIzeWpsQ3dPdmVYMXZxRkxTM1kz?=
 =?utf-8?B?R1ZkZjVkNXloM0xENUFybXZ6YVNrKzNJMXJuOHdEU0RmeFY0YWNGSUo3bFFY?=
 =?utf-8?B?WnBWZVo0NzZlU1BRM1QvYkREZThId0pweE02ZlBUTHdHcFlqdzMxRGNRekJJ?=
 =?utf-8?B?MWFKSXFXbWMwUGU0aEFiV0EzUWVIb1RXTWJWalU3L1FmN0x1NmZUQ3BIRXJE?=
 =?utf-8?B?cVhDbHVKNlFLb2t2TG0rbDlOVWVsUVd6cldWRUs4bVo2enRMNmVuNjFZTGpX?=
 =?utf-8?B?S0dwaVlsVzltalFKNmM4S0lTampPaGRxSEJ0RVRjc2pJdWdURWNMdStZS2lw?=
 =?utf-8?Q?OQuuLxZOfU6WD51kp5Roq1TNZ?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 41e3b473-dc99-4d1f-1f40-08de178dbf7b
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Oct 2025 08:24:30.6139
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: SRloijeMY42kthIEjbXtjvctMkPmYmC+5W1/znbRFJT1x6EQAw2/rw2mndXbjWZubY31XUZV30BhRRqNkeA7yw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR03MB5237

On Wed, Oct 29, 2025 at 08:06:36PM +0000, Teddy Astie wrote:
> Le 29/10/2025 Ã  19:55, Roger Pau MonnÃ© a Ã©critÂ :
> > On Wed, Oct 29, 2025 at 06:26:14PM +0000, Teddy Astie wrote:
> >> Introduce a new flag to force the x2APIC enabled and preventing a
> >> guest from switching back LAPIC to xAPIC mode.
> >>
> >> The semantics of this mode are based IA32_XAPIC_DISABLE_STATUS
> >> architectural MSR of Intel specification.
> >>
> >> Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
> > 
> > Thanks, some initial comments below.
> > 
> >> ---
> >> This feature can be useful for various reasons, starting with SEV as
> >> it is complicated (especially with SEV-ES) to handle MMIO, and legacy
> >> xAPIC is one thing that needs MMIO intercepts (and Linux uses it during
> >> boot unless x2APIC is initially enabled, even if it switches to
> >> x2apic afterward). It could also be interesting to reduce the attack
> >> surface of the hypervisor (by only exposing x2apic to the guest).
> >>
> >> As it can allow to have MMIO-less guest (using PVH), perhaps it can
> >> be enough for avoiding the problematic cases of virtualized INVLPGB
> >> (when we have it).
> >>
> >> In my testing, Linux, FreeBSD and PV-shim works fine with it; OVMF
> >> freezes for some reason, NetBSD doesn't support it (no x2apic support
> >> as Xen guest). HVM BIOS gets stuck at SeaBIOS as it expects booting
> >> with xAPIC.
> >>
> >> On Intel platforms, it would be better to expose the
> >> IA32_XAPIC_DISABLE_STATUS architectural MSR to advertise this to
> >> guest, but it's non-trivial as it needs to be properly exposed
> >> through IA32_ARCH_CAPABILITIES which is currently passed-through.
> >>
> >>   docs/man/xl.cfg.5.pod.in              |  7 +++++++
> >>   tools/libs/light/libxl_types.idl      |  1 +
> >>   tools/libs/light/libxl_x86.c          |  4 ++++
> >>   tools/xl/xl_parse.c                   |  1 +
> >>   xen/arch/x86/domain.c                 |  2 +-
> >>   xen/arch/x86/hvm/hvm.c                |  2 ++
> >>   xen/arch/x86/hvm/vlapic.c             | 23 ++++++++++++++++++++++-
> >>   xen/arch/x86/include/asm/domain.h     |  2 ++
> >>   xen/arch/x86/include/asm/hvm/domain.h |  3 +++
> >>   xen/include/public/arch-x86/xen.h     | 12 +++++++++++-
> >>   10 files changed, 54 insertions(+), 3 deletions(-)
> > 
> > Seeing there are no changes to the ACPI tables exposed to the guest,
> > do we want to start exposing X2APIC MADT entries instead of the plain
> > APIC entries?
> > 
> > The ACPI spec seems to suggest that you can expose APIC entries for
> > APICs below 255, for compatibility reasons.  But given that we would
> > force the guest to use X2APIC mode it would certainly need to
> > understand how to process X2APIC MADT entries anyway.
> > 
> > Not sure it makes much of a difference, but wondering whether OSes
> > expect X2APIC MADT entries if the mode is locked to X2APIC.
> > 
> 
> In all OS I checked, they see x2APIC MADT entries as a different format 
> for LAPIC entries and don't really link it with whether x2APIC is used 
> or not.
> 
> But I think it's safe to assume all OS that supports x2APIC has support 
> for x2APIC MADT entries, which could make ACPI table generation simpler 
> (especially for dealing with LAPIC IDs over 255)
> 
> >>
> >> diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
> >> index ad1553c5e9..01b41d93c0 100644
> >> --- a/docs/man/xl.cfg.5.pod.in
> >> +++ b/docs/man/xl.cfg.5.pod.in
> >> @@ -3198,6 +3198,13 @@ option.
> >>   
> >>   If using this option is necessary to fix an issue, please report a bug.
> >>   
> >> +=item B<force_x2apic=BOOLEAN>
> >> +
> >> +Force the LAPIC in x2APIC mode and prevent the guest from disabling
> >> +it or switching to xAPIC mode.
> >> +
> >> +This option is disabled by default.
> >> +
> >>   =back
> >>   
> >>   =head1 SEE ALSO
> >> diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
> >> index d64a573ff3..b95278007e 100644
> >> --- a/tools/libs/light/libxl_types.idl
> >> +++ b/tools/libs/light/libxl_types.idl
> >> @@ -738,6 +738,7 @@ libxl_domain_build_info = Struct("domain_build_info",[
> >>                                  ("arm_sci", libxl_arm_sci),
> >>                                 ])),
> >>       ("arch_x86", Struct(None, [("msr_relaxed", libxl_defbool),
> >> +                               ("force_x2apic", libxl_defbool)
> > 
> > This addition needs a new define in libxl.h to signal it's presence,
> > see LIBXL_HAVE_* defines in there.
> > 
> 
> Something like LIBXL_HAVE_FORCE_X2APIC ?

Yes, something like that.  Not sure we want to add X86 somewhere in
there, but X2APIC is already x86-specific so unlikely to have any
meaning for other arches.

> >>                                 ])),
> >>       # Alternate p2m is not bound to any architecture or guest type, as it is
> >>       # supported by x86 HVM and ARM support is planned.
> >> diff --git a/tools/libs/light/libxl_x86.c b/tools/libs/light/libxl_x86.c
> >> index 60d4e8661c..2e0205d2a2 100644
> >> --- a/tools/libs/light/libxl_x86.c
> >> +++ b/tools/libs/light/libxl_x86.c
> >> @@ -26,6 +26,9 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
> >>       if (libxl_defbool_val(d_config->b_info.arch_x86.msr_relaxed))
> >>           config->arch.misc_flags |= XEN_X86_MSR_RELAXED;
> >>   
> >> +    if (libxl_defbool_val(d_config->b_info.arch_x86.force_x2apic))
> >> +        config->arch.misc_flags |= XEN_X86_FORCE_X2APIC;
> >> +
> >>       if (libxl_defbool_val(d_config->b_info.trap_unmapped_accesses)) {
> >>               LOG(ERROR, "trap_unmapped_accesses is not supported on x86\n");
> >>               return ERROR_FAIL;
> >> @@ -818,6 +821,7 @@ int libxl__arch_domain_build_info_setdefault(libxl__gc *gc,
> >>   {
> >>       libxl_defbool_setdefault(&b_info->acpi, true);
> >>       libxl_defbool_setdefault(&b_info->arch_x86.msr_relaxed, false);
> >> +    libxl_defbool_setdefault(&b_info->arch_x86.force_x2apic, false);
> >>       libxl_defbool_setdefault(&b_info->trap_unmapped_accesses, false);
> >>   
> >>       if (b_info->type == LIBXL_DOMAIN_TYPE_HVM) {
> >> diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
> >> index af86d3186d..d84ab7c823 100644
> >> --- a/tools/xl/xl_parse.c
> >> +++ b/tools/xl/xl_parse.c
> >> @@ -3041,6 +3041,7 @@ skip_usbdev:
> >>                       "If it fixes an issue you are having please report to "
> >>                       "xen-devel@lists.xenproject.org.\n");
> >>   
> >> +    xlu_cfg_get_defbool(config, "force_x2apic", &b_info->arch_x86.force_x2apic, 0);
> >>       xlu_cfg_get_defbool(config, "vpmu", &b_info->vpmu, 0);
> >>   
> >>       xlu_cfg_destroy(config);
> >> diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
> >> index 19fd86ce88..02f650a614 100644
> >> --- a/xen/arch/x86/domain.c
> >> +++ b/xen/arch/x86/domain.c
> >> @@ -704,7 +704,7 @@ int arch_sanitise_domain_config(struct xen_domctl_createdomain *config)
> >>           return -EINVAL;
> >>       }
> >>   
> >> -    if ( config->arch.misc_flags & ~XEN_X86_MSR_RELAXED )
> >> +    if ( config->arch.misc_flags & ~(XEN_X86_MSR_RELAXED | XEN_X86_FORCE_X2APIC) )
> >>       {
> >>           dprintk(XENLOG_INFO, "Invalid arch misc flags %#x\n",
> >>                   config->arch.misc_flags);
> >> diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
> >> index 0c60faa39d..73cbac0f22 100644
> >> --- a/xen/arch/x86/hvm/hvm.c
> >> +++ b/xen/arch/x86/hvm/hvm.c
> >> @@ -616,6 +616,8 @@ int hvm_domain_initialise(struct domain *d,
> >>       INIT_LIST_HEAD(&d->arch.hvm.mmcfg_regions);
> >>       INIT_LIST_HEAD(&d->arch.hvm.msix_tables);
> >>   
> >> +    d->arch.hvm.force_x2apic = config->arch.misc_flags & XEN_X86_FORCE_X2APIC;
> >> +
> >>       rc = create_perdomain_mapping(d, PERDOMAIN_VIRT_START, 0, NULL, NULL);
> >>       if ( rc )
> >>           goto fail;
> >> diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
> >> index 993e972cd7..ae8df70d2e 100644
> >> --- a/xen/arch/x86/hvm/vlapic.c
> >> +++ b/xen/arch/x86/hvm/vlapic.c
> >> @@ -1116,6 +1116,20 @@ int guest_wrmsr_apic_base(struct vcpu *v, uint64_t val)
> >>       if ( !has_vlapic(v->domain) )
> >>           return X86EMUL_EXCEPTION;
> >>   
> >> +    if ( has_force_x2apic(v->domain) )
> >> +    {
> >> +        /*
> >> +        * We implement the same semantics as MSR_IA32_XAPIC_DISABLE_STATUS:
> >> +        * LEGACY_XAPIC_DISABLED which rejects any attempt at clearing
> >> +        * IA32_APIC_BASE.EXTD, thus forcing the LAPIC in x2APIC mode.
> >> +        */
> >> +        if ( !(val & APIC_BASE_EXTD) )
> >> +        {
> >> +            gprintk(XENLOG_WARNING, "tried to disable x2APIC while forced on\n");
> >> +            return X86EMUL_EXCEPTION;
> >> +        }
> >> +    }
> >> +
> >>       /* Attempting to set reserved bits? */
> >>       if ( val & ~(APIC_BASE_ADDR_MASK | APIC_BASE_ENABLE | APIC_BASE_BSP |
> >>                    (cp->basic.x2apic ? APIC_BASE_EXTD : 0)) )
> >> @@ -1474,7 +1488,14 @@ void vlapic_reset(struct vlapic *vlapic)
> >>       if ( v->vcpu_id == 0 )
> >>           vlapic->hw.apic_base_msr |= APIC_BASE_BSP;
> >>   
> >> -    vlapic_set_reg(vlapic, APIC_ID, (v->vcpu_id * 2) << 24);
> >> +    if ( has_force_x2apic(v->domain) )
> >> +    {
> >> +        vlapic->hw.apic_base_msr |= APIC_BASE_EXTD;
> >> +        set_x2apic_id(vlapic);
> >> +    }
> >> +    else
> >> +        vlapic_set_reg(vlapic, APIC_ID, (v->vcpu_id * 2) << 24);
> >> +
> >>       vlapic_do_init(vlapic);
> >>   }
> >>   
> >> diff --git a/xen/arch/x86/include/asm/domain.h b/xen/arch/x86/include/asm/domain.h
> >> index 5df8c78253..771992d156 100644
> >> --- a/xen/arch/x86/include/asm/domain.h
> >> +++ b/xen/arch/x86/include/asm/domain.h
> >> @@ -509,6 +509,8 @@ struct arch_domain
> >>   #define has_pirq(d)        (!!((d)->arch.emulation_flags & X86_EMU_USE_PIRQ))
> >>   #define has_vpci(d)        (!!((d)->arch.emulation_flags & X86_EMU_VPCI))
> >>   
> >> +#define has_force_x2apic(d) ((d)->arch.hvm.force_x2apic)
> >> +
> >>   #define gdt_ldt_pt_idx(v) \
> >>         ((v)->vcpu_id >> (PAGETABLE_ORDER - GDT_LDT_VCPU_SHIFT))
> >>   #define pv_gdt_ptes(v) \
> >> diff --git a/xen/arch/x86/include/asm/hvm/domain.h b/xen/arch/x86/include/asm/hvm/domain.h
> >> index 333501d5f2..b56fa08b73 100644
> >> --- a/xen/arch/x86/include/asm/hvm/domain.h
> >> +++ b/xen/arch/x86/include/asm/hvm/domain.h
> >> @@ -108,6 +108,9 @@ struct hvm_domain {
> >>       /* Compatibility setting for a bug in x2APIC LDR */
> >>       bool bug_x2apic_ldr_vcpu_id;
> >>   
> >> +    /* LAPIC is forced in x2APIC mode */
> >> +    bool force_x2apic;
> > 
> > This should be a field in the vlapic struct, but seeing this I wonder
> > whether we want to virtualize MSR_IA32_XAPIC_DISABLE_STATUS MSR and
> > set the bit there.  This would also help with migrating the option, as
> > you could then migrate the "locked" status easily by just migrating
> > the contents of the MSR_IA32_XAPIC_DISABLE_STATUS MSR.
> > 
> 
> One issue with MSR_IA32_XAPIC_DISABLE_STATUS is that it is only 
> meaningful on Intel platforms (unless we also virtualize it on AMD ?), 
> and I haven't found a AMD-specific mecanism for exposing it.
> Most operating systems don't try to disable x2apic (unless told to do 
> it) if it is initially enabled ("enabled by firmware").

Yeah, I see the availability of MSR_IA32_XAPIC_DISABLE_STATUS is
exposed in MSR_ARCH_CAPABILITIES, which is only present on Intel
platforms.

I also haven't been able to find a way to expose the APIC is locked to
x2apic mode in any AMD manuals, which is a shame.

For Intel we should expose this when possible in
MSR_IA32_XAPIC_DISABLE_STATUS.  And we need to migrate the selection
in the stream as part of the APIC data.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Oct 30 08:42:13 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Oct 2025 08:42:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153423.1483761 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEOEP-0000RU-MO; Thu, 30 Oct 2025 08:42:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153423.1483761; Thu, 30 Oct 2025 08:42:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEOEP-0000RN-Jq; Thu, 30 Oct 2025 08:42:05 +0000
Received: by outflank-mailman (input) for mailman id 1153423;
 Thu, 30 Oct 2025 08:42:04 +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
 <SRS0=EEwi=5H=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1vEOEO-0000RH-M9
 for xen-devel@lists.xenproject.org; Thu, 30 Oct 2025 08:42:04 +0000
Received: from DM5PR21CU001.outbound.protection.outlook.com
 (mail-centralusazlp170110009.outbound.protection.outlook.com
 [2a01:111:f403:c111::9])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4b7c5839-b56c-11f0-980a-7dc792cee155;
 Thu, 30 Oct 2025 09:41:58 +0100 (CET)
Received: from CH2PR18CA0032.namprd18.prod.outlook.com (2603:10b6:610:55::12)
 by MW4PR12MB7336.namprd12.prod.outlook.com (2603:10b6:303:21a::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.18; Thu, 30 Oct
 2025 08:41:52 +0000
Received: from DS3PEPF0000C37F.namprd04.prod.outlook.com
 (2603:10b6:610:55:cafe::9d) by CH2PR18CA0032.outlook.office365.com
 (2603:10b6:610:55::12) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9275.14 via Frontend Transport; Thu,
 30 Oct 2025 08:41:52 +0000
Received: from satlexmb08.amd.com (165.204.84.17) by
 DS3PEPF0000C37F.mail.protection.outlook.com (10.167.23.9) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9275.10 via Frontend Transport; Thu, 30 Oct 2025 08:41:52 +0000
Received: from satlexmb10.amd.com (10.181.42.219) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Thu, 30 Oct
 2025 01:41:51 -0700
Received: from satlexmb08.amd.com (10.181.42.217) by satlexmb10.amd.com
 (10.181.42.219) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Thu, 30 Oct
 2025 01:41:50 -0700
Received: from [10.71.194.215] (10.180.168.240) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.17 via Frontend
 Transport; Thu, 30 Oct 2025 01:41:49 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4b7c5839-b56c-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=IOLXesMlH2MijGp3PSLpMTrkNOK30kv2Kf2b79ZWuX7RCSl5UNlFckYFgELpjY0C6lNlAGaFHwb9wmZCUnzah6WSTCRRfX5/LnwyzJj+gTsUKUYHIjpFem5qDdDoBl4Qp2v0vSbULlUVqEn0G5dY4R+qSHbHzryRP3Q7F+dYFJ98HsmnWmpYCfTuQBrgOUk9dXOjgCCNLzah1Jsc5lvBK9fUrH2oNLakXKLJtFXGusOgjNB7siTtACYKeZZbqvVR0V1wBhpaq4koLrvTPeczr1hT7PYYN2XxVwCNdHO4nYT9Hw2e1ft1nwjJ3IxES3JIk6i5pbueSGBduETTCemQ1g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/y0o0RcELoKu8pbsP+8R9y5P9bLFXwib2yu9DI228oI=;
 b=Jx3uuL/ji6r4MTsUAl6n5ivB0f7OwDhfN810RopYIAW5uIwcg/04WWqchfmxyz9KpdkXGks+8kcwA4hC+XT0Erxxl3V1rcOfT+WWIFkYEIar1AbTKYYZIk5/2kuSfNeLWq32HxDjscYWwAav5TJ6zqapuMm1+4VCeJb/TSm+XlcusaEvka/uMOPKa3Ht/YubmVOJI4hD+eQMPuiPzXLDe4wj4f4MAvuF5Pzq8irDwtu83rff98s8yIh2vIXV4dM9tsYb9zakFZvfAuGdxsL4bzpqRnd8wNwrtS9Pdw91kjNQphwBnrB4JRehIMK/sg/aSABX0cpAV47aRyZ8GmTwQg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=gmail.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/y0o0RcELoKu8pbsP+8R9y5P9bLFXwib2yu9DI228oI=;
 b=CYX40KqGzxpN6qCi0N5HOU/2CN3TKxVD5qGo+0dpPSnJ/aeS+6HtgVieNjTkD7OtxWqo9a4rARaSZ6YYVT5vPM+2AcMnnKRrLrc6DRcqyBUj7JYhdpR0muDhqUAyCBEOL9ErC4cqo1keL4G+hp4E1usVXgHGrK02WfcOJRHNMmc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C
Message-ID: <5c1db85b-8733-47d5-b751-864cdb45aca4@amd.com>
Date: Thu, 30 Oct 2025 09:41:44 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5] xen/char: implement suspend/resume calls for SCIF
 driver
To: Mykola Kvach <xakep.amatop@gmail.com>, <xen-devel@lists.xenproject.org>
CC: Volodymyr Babchuk <volodymyr_babchuk@epam.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Oleksandr Andrushchenko
	<oleksandr_andrushchenko@epam.com>, Mykola Kvach <mykola_kvach@epam.com>
References: <e57133182b9bcecb519911c8b3f0d871955d6fef.1754540991.git.mykola_kvach@epam.com>
 <CAGeoDV9ejB-6tg0eNK-6jD8zEZb1G0+AmJNaKVt50P4DiB6Kng@mail.gmail.com>
From: "Orzel, Michal" <michal.orzel@amd.com>
Content-Language: en-US
In-Reply-To: <CAGeoDV9ejB-6tg0eNK-6jD8zEZb1G0+AmJNaKVt50P4DiB6Kng@mail.gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS3PEPF0000C37F:EE_|MW4PR12MB7336:EE_
X-MS-Office365-Filtering-Correlation-Id: 6d49915d-ee61-435a-c46f-08de17902ca6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|1800799024|376014|82310400026|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?dkR4b1RDRlk5S0h4aU4yVjdqMTlSMnJkY0oyZUYrY2FxSnpicFl3N2s4eUZU?=
 =?utf-8?B?VXVDRDc3djJ5WmM3R1JzbDNOSS9hWWhGdE9DUHVZaFlFcktjMGdxS2duV2di?=
 =?utf-8?B?NzM3Y0VTRGRhRkdtVWNBTGxlNUhDZ1JIbTdCWWk3Z1VqQm1XbUNEVFlIQWdk?=
 =?utf-8?B?T2xWWWpWQ3J3aGRRR1hMT0N5Tjh2bGZvaG9qTVFYS2t4a0t3djUyZi9YSHpa?=
 =?utf-8?B?M1UvemtmQkJFWUdKMjlZdHN1Y3NhODlJYUptcmdFaVlxaUo2TFdJbHQ5OW9R?=
 =?utf-8?B?Y01JY3NaYnk4NllHSXRQUmJXdS9kSjcrZVNPV2FvNkJzbGdFU1FqK0ErWkdS?=
 =?utf-8?B?MFVXQXBYSEVaQk1USTRubGdhY2QwNS9Eb21uSEVuaG14V3dOQnJRQVFKWElw?=
 =?utf-8?B?OG9lWEMyK3JvRmo4ZjRhN2llL2NZVlBrVFp0SXJ3UGhZV2hWc05xTnQxdm85?=
 =?utf-8?B?M0ZydjRzazRnQzJpcHoxaFlhME5YRk1PZ0N4V25RbXQzamduK3NUanlyOXVq?=
 =?utf-8?B?K3hYL0lteUExTU11YUZ4aHFqamZ0dzJRdVhhZmdiaTNYcEhibXBPaFZmSWtw?=
 =?utf-8?B?c2RsaC9FcENiRWFvc1hSY0xUck0vZ2NoVWFOZjdHT29MRTFFWUR1UUJkNDE5?=
 =?utf-8?B?VDAvMVROVFFEUWU1REtKeGk3Qkk5dkF2SHhURlR6N0NCcG9ZRjdGVmM5MG9L?=
 =?utf-8?B?VUthOTcrMGY5dnFic0x4ZzNiWW5DbmpRTGxlak9MNEZkWkQvS2szWkdGVmpJ?=
 =?utf-8?B?U3MzU3dKQm12OXJublRYeWl3U2Y4OHVnT0ExZTBlczJjd2dlaGxjZ1R5SzB4?=
 =?utf-8?B?czdndDkrajNTUnFZTFVJK1c1bUNxSWxGNll2WUpubFo5OGo4VEpBNWxGaVJG?=
 =?utf-8?B?ZFd3UTRCTWZaOW9oaklxdWdqQVU4a1dpUFVMY1VIc3pxUllRcU9CN2xJM29Q?=
 =?utf-8?B?b29jNFhTczdxZGRVRVlUZVJONDdvc05pd1ZOUjVVd3NDcHlRR21KZTZ1MDkr?=
 =?utf-8?B?TGlRNU9IekZ0elllbERKKzFmenF4YlB2VUREdWZYSURVYUxNK0EwVEt0TVNh?=
 =?utf-8?B?QldwRVBsZXVhR3Y0MmVXN2R0YUV4SURpK2JhR1JYRVFPOW5QaGdwYlljenZ3?=
 =?utf-8?B?ZHQ3Zm16aGRaWi92QjdRcmdZYnpnRlVzaW9HbG8zY2tSMFNOUXZuRXEvNTFx?=
 =?utf-8?B?WHVJK0V3WXowQzV2cXd2UlRmMW93ZFVHQ2g0d24zVUVzejBVYk5aeFFPZjFo?=
 =?utf-8?B?eTB0bmE1Q0FjbDRNY1hDelUzcmcrRk1ZM1FpVGh2QzY5VWdxTG5PQ1R5WVRC?=
 =?utf-8?B?alVxeW5Tdjk1Vll2Z3FyN1ZNRmhVem0zMGxpdnVoSFMxcEVtOEpYMnBlMS9I?=
 =?utf-8?B?bkhNVGp5YjZEYk1QUEIyaGtZQUlzNzJwanhmM0J2WDh6ZXRRdEpmVWxRVUhP?=
 =?utf-8?B?bm9uS3hkV2RseHlBVXVOTy9LZm1WMHlYMlBMN0pjMFBPT20zdEI5L1ZHZW9X?=
 =?utf-8?B?STdvbEZpRENjaUNONnI2MFdXUHRmT1VzOWdqeEZMVTVkYitMZ0grQWZ6em5w?=
 =?utf-8?B?TE9HckNOQXM0V1Btdjg1WklBZVZhcmZ4QmdEcEttQU1taW9KZ0k4Y2h6NWNO?=
 =?utf-8?B?bW8vUHpwRDFyaGNoaC9IQW9vRGVNVkZYeGhzTE9CaU5VUVpTKzVIejZvcHVQ?=
 =?utf-8?B?cFd1MVh1Y1dVeHdVcDZFWFpka3V2UkdpYkhyYXRXY3hZRzNzc1ZmZnVwOUFa?=
 =?utf-8?B?cG9ac2l2WmkzOFRZNGNQWmE4b0orT2pTOWZlMlNuelkrVXJaRmtsdkR3aHNv?=
 =?utf-8?B?ZERENWRjNFFIWXREKzY0RUhSOWZycHdDZ1pOMDlTTnR4NlkvY0xhdEJXYjl5?=
 =?utf-8?B?OGJmWGhtYjF4UjA2YVdVcUVveGVHaE53VDRPQjR5WkRnUFRyYTN0VFlPVGxT?=
 =?utf-8?B?Rk9GaytMbVN5VGVscEdSbHc1NEI4eHpnNC92L0IxYks5U3ZFcG1BZzJreFpj?=
 =?utf-8?B?UDhFekIvV0NRN3dSRUlYcURzLzJwRVcvdUZ0MmRzSldrcjFTRHZTaFlDSWg4?=
 =?utf-8?B?RmpHZ1RxNjVSOUNHbXgxM3JzRFkwQ1F1ZnlVSzJVWnhoM3Jmbzd6VmtjUVZV?=
 =?utf-8?Q?fNKU=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(376014)(82310400026)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Oct 2025 08:41:52.4261
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6d49915d-ee61-435a-c46f-08de17902ca6
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS3PEPF0000C37F.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB7336



On 30/10/2025 08:59, Mykola Kvach wrote:
> @Stefano Stabellini @Michal Orzel @Julien Grall @Bertrand Marquis ping
> 
> On Thu, Aug 7, 2025 at 8:16â€¯AM Mykola Kvach <xakep.amatop@gmail.com> wrote:
>>
>> From: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
>>
>> Implement suspend and resume callbacks for the SCIF UART driver,
>> enabled when CONFIG_SYSTEM_SUSPEND is set. This allows proper
>> handling of UART state across system suspend/resume cycles.
>>
>> Tested on Renesas R-Car H3 Starter Kit.
>>
>> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
>> Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
>> Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
>> ---
>> In patch v5, there are no changes at all;
>> it was done just to trigger a review.
>>
>> In patch v4, enhance commit message, no functional changes
>>
>> In patch v2, I just added a CONFIG_SYSTEM_SUSPEND check around
>> the suspend/resume functions in the SCIF driver.
>> ---
>>  xen/drivers/char/scif-uart.c | 40 ++++++++++++++++++++++++++++++++++--
>>  1 file changed, 38 insertions(+), 2 deletions(-)
>>
>> diff --git a/xen/drivers/char/scif-uart.c b/xen/drivers/char/scif-uart.c
>> index 757793ca45..888821a3b8 100644
>> --- a/xen/drivers/char/scif-uart.c
>> +++ b/xen/drivers/char/scif-uart.c
>> @@ -139,9 +139,8 @@ static void scif_uart_interrupt(int irq, void *data)
>>      }
>>  }
>>
>> -static void __init scif_uart_init_preirq(struct serial_port *port)
>> +static void scif_uart_disable(struct scif_uart *uart)
>>  {
>> -    struct scif_uart *uart = port->uart;
>>      const struct port_params *params = uart->params;
>>
>>      /*
>> @@ -155,6 +154,14 @@ static void __init scif_uart_init_preirq(struct serial_port *port)
>>
>>      /* Reset TX/RX FIFOs */
>>      scif_writew(uart, SCIF_SCFCR, SCFCR_RFRST | SCFCR_TFRST);
>> +}
>> +
>> +static void scif_uart_init_preirq(struct serial_port *port)
>> +{
>> +    struct scif_uart *uart = port->uart;
>> +    const struct port_params *params = uart->params;
>> +
>> +    scif_uart_disable(uart);
>>
>>      /* Clear all errors and flags */
>>      scif_readw(uart, params->status_reg);
>> @@ -271,6 +278,31 @@ static void scif_uart_stop_tx(struct serial_port *port)
>>      scif_writew(uart, SCIF_SCSCR, scif_readw(uart, SCIF_SCSCR) & ~SCSCR_TIE);
>>  }
>>
>> +#ifdef CONFIG_SYSTEM_SUSPEND
>> +
>> +static void scif_uart_suspend(struct serial_port *port)
>> +{
>> +    struct scif_uart *uart = port->uart;
>> +
>> +    scif_uart_stop_tx(port);
>> +    scif_uart_disable(uart);
>> +}
>> +
>> +static void scif_uart_resume(struct serial_port *port)
>> +{
>> +    struct scif_uart *uart = port->uart;
>> +    const struct port_params *params = uart->params;
>> +    uint16_t ctrl;
>> +
>> +    scif_uart_init_preirq(port);
This will also call scif_uart_disable() that was already invoked during suspend.
Why do we need to re-disable it when resuming?

Other than that:
Acked-by: Michal Orzel <michal.orzel@amd.com>

~Michal



From xen-devel-bounces@lists.xenproject.org Thu Oct 30 10:10:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Oct 2025 10:10:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153445.1483771 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEPbc-0003VQ-PE; Thu, 30 Oct 2025 10:10:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153445.1483771; Thu, 30 Oct 2025 10:10:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEPbc-0003VJ-MX; Thu, 30 Oct 2025 10:10:08 +0000
Received: by outflank-mailman (input) for mailman id 1153445;
 Thu, 30 Oct 2025 10:10:07 +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
 <SRS0=cjXm=5H=bounce.vates.tech=bounce-md_30504962.69033978.v1-b29dce87efbd455d956221e9d52bfd0c@srs-se1.protection.inumbo.net>)
 id 1vEPbb-0003UE-Mo
 for xen-devel@lists.xenproject.org; Thu, 30 Oct 2025 10:10:07 +0000
Received: from mail187-33.suw11.mandrillapp.com
 (mail187-33.suw11.mandrillapp.com [198.2.187.33])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 98b03314-b578-11f0-980a-7dc792cee155;
 Thu, 30 Oct 2025 11:10:01 +0100 (CET)
Received: from pmta09.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail187-33.suw11.mandrillapp.com (Mailchimp) with ESMTP id
 4cy0Gc3yxTzBsThgs
 for <xen-devel@lists.xenproject.org>; Thu, 30 Oct 2025 10:10:00 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 b29dce87efbd455d956221e9d52bfd0c; Thu, 30 Oct 2025 10:10:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 98b03314-b578-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1761819000; x=1762089000;
	bh=Op07uysFkdxYKCi5iyDtoSrHdCyqvqDkUa4fwK+hB9M=;
	h=From:Subject:Message-Id:To:Cc:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=R9jpaDLo+1NiwDl21FZmXauR3RTA7I+60Mjx0fCKhtURExaOvSpZHT9mV+gpI/+oh
	 upLBnxDpHAUXZCX5nD/TGok1Pj7L7leiwQfQveT/hx7ZSQyqttfYpBl/kDRGhYWULc
	 Zk34cxSElkEJGhYVpsp1CtIjJWVdjart4B3xSVEaBin+C/7v3YQSOq69aTCLh24AKy
	 XzhRqy4msG13ybNT9tqOeLaJ1LTvW3q8pi3gI04/cGq6GbPD0mRAZ8qr4WuFBtbxgM
	 /tymCxfBM2C/c4tkKLsMk/wIYB5URa09Y21R0r+/J9iGphkB0L83qvvUwaw32e+gjf
	 GxZjvLYUnqTWA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1761819000; x=1762079500; i=teddy.astie@vates.tech;
	bh=Op07uysFkdxYKCi5iyDtoSrHdCyqvqDkUa4fwK+hB9M=;
	h=From:Subject:Message-Id:To:Cc:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=H1RLWZvrNlq9h9hEzR3udI8NRwH8NOXyYKgOKBU/P3Y9TYg2OH3Q22c9ZNj8Vbp0m
	 1KGwPTd1OPsdr2NQYn07gQ+zq2f6r57J3TwyX5VCS5QOdYnCCPS5ZbJ5Gzh9Cq4zGu
	 kieAuJt87S50vyTU+m4vOIaAVeFyxA/ig4MRt7XD6a5+d6yhPog8q/GMwLR19GhO7O
	 Meyzd3hZbCrmy5qYzp8T2noOhQFgzPUhwaSre9AZI0x76EPHY+OhGIixgwQHdd0KAF
	 H6hWKceHYstEv2BIvGbXQPoyJqewhXc7trhGdg3r4rLNID5EaMDpFvBKSVH/REa2zg
	 kIu/vUzE6FqBQ==
From: "Teddy Astie" <teddy.astie@vates.tech>
Subject: =?utf-8?Q?Re:=20[RFC=20PATCH=20for-4.22=20v2=201/3]=20x86/cpu-policy:=20Infrastructure=20for=20CPUID=20leaf=200x6?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1761818999480
Message-Id: <9f578a95-12ab-4e4d-a699-d6ad8a882ab8@vates.tech>
To: "Jan Beulich" <jbeulich@suse.com>
Cc: "Andrew Cooper" <andrew.cooper3@citrix.com>, "=?utf-8?Q?Roger=20Pau=20Monn=C3=A9?=" <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1761752801.git.teddy.astie@vates.tech> <3ad34c3e1de444798dcfe0e673375f28f1a654ec.1761752801.git.teddy.astie@vates.tech> <080c2780-2810-4ba8-8f9c-57c1fc4135f9@suse.com>
In-Reply-To: <080c2780-2810-4ba8-8f9c-57c1fc4135f9@suse.com>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.b29dce87efbd455d956221e9d52bfd0c?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20251030:md
Date: Thu, 30 Oct 2025 10:10:00 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Le 30/10/2025 =C3=A0 08:14, Jan Beulich a =C3=A9crit=C2=A0:
> On 29.10.2025 16:59, Teddy Astie wrote:
>> From: Jan Beulich <jbeulich@suse.com>
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
>> ---
>> v2: introduced
> 
> This being a change of mine, I'm not happy for the title to have changed,=
 and
> for the (little bit of) description to have been dropped.
> 
>> --- a/xen/include/xen/lib/x86/cpu-policy.h
>> +++ b/xen/include/xen/lib/x86/cpu-policy.h
>> @@ -121,7 +121,32 @@ 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. */
>> +            struct {
>> +                uint32_t /* a */
>> +                    dts:1,
>> +                    turbo:1,
>> +                    arat:1,
>> +                    :4,
>> +                    hwp:1,
>> +                    hwp_notification:1,
>> +                    hwp_activity_window:1,
>> +                    hwp_epp:1,
>> +                    hwp_plr:1,
>> +                    :1,
>> +                    hdc:1,
>> +                    :2,
>> +                    hwp_peci:1,
>> +                    :2,
>> +                    hw_feedback:1,
>> +                    :12;
>> +                uint32_t /* b */:32;
>> +                uint32_t /* c */ aperfmperf:1,
>> +                    :31;
>> +                uint32_t /* d */:32;
>> +            } pm;
>> +
>>               uint64_t :64, :64; /* Leaf 0x7 - Structured Features. */
>>               uint64_t :64, :64; /* Leaf 0x8 - rsvd */
>>               uint64_t :64, :64; /* Leaf 0x9 - DCA */
> 
> As I had said, this (really: the use of these bits in the host policy) ac=
tually
> requires an adjustment to cpu-policy.c as well, which I'm carrying as a s=
eparate,
> prereq change (re-produced below). May I suggest that your work go on top=
 of mine
> (which I'll post once we have branched 4.21 off)?
> 

I'm ok with it.

> Jan
> 
> x86/cpu-policy: move invocation of recalculate_misc()
> 
> The function is about guest exposure of features / leaves. There's no nee=
d
> for it to be applied on the host policy. In fact doing so gets in the way
> of using the host policy in certain places.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> --- a/xen/arch/x86/cpu-policy.c
> +++ b/xen/arch/x86/cpu-policy.c
> @@ -424,7 +424,6 @@ void __init calculate_host_policy(void)
>       x86_cpu_featureset_to_policy(boot_cpu_data.x86_capability, p);
>       recalculate_xstate(p);
>       recalculate_tile(p);
> -    recalculate_misc(p);
>   
>       /* When vPMU is disabled, drop it from the host policy. */
>       if ( vpmu_mode =3D=3D XENPMU_MODE_OFF )
> @@ -705,6 +704,7 @@ static void __init calculate_pv_max_poli
>       unsigned int i;
>   
>       *p =3D host_cpu_policy;
> +    recalculate_misc(p);
>   
>       guest_common_max_leaves(p);
>   
> @@ -809,6 +809,7 @@ static void __init calculate_hvm_max_pol
>       const uint32_t *mask;
>   
>       *p =3D host_cpu_policy;
> +    recalculate_misc(p);
>   
>       guest_common_max_leaves(p);
>   
> 
> 

Teddy


--
Teddy Astie | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech




From xen-devel-bounces@lists.xenproject.org Thu Oct 30 10:18:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Oct 2025 10:18:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153294.1483782 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEPjS-0004Ew-JW; Thu, 30 Oct 2025 10:18:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153294.1483782; Thu, 30 Oct 2025 10:18:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEPjS-0004En-El; Thu, 30 Oct 2025 10:18:14 +0000
Received: by outflank-mailman (input) for mailman id 1153294;
 Thu, 30 Oct 2025 06:12: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
 <SRS0=MAXf=5H=siemens.com=haseeb.ashraf@srs-se1.protection.inumbo.net>)
 id 1vELu3-0001xf-0E
 for xen-devel@lists.xenproject.org; Thu, 30 Oct 2025 06:12:55 +0000
Received: from OS8PR02CU002.outbound.protection.outlook.com
 (mail-japanwestazlp170120003.outbound.protection.outlook.com
 [2a01:111:f403:c406::3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 76313d7a-b557-11f0-9d16-b5c5bf9af7f9;
 Thu, 30 Oct 2025 07:12:51 +0100 (CET)
Received: from KL1PR0601MB4588.apcprd06.prod.outlook.com
 (2603:1096:820:87::11) by SEZPR06MB5812.apcprd06.prod.outlook.com
 (2603:1096:101:ac::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9275.13; Thu, 30 Oct
 2025 06:12:44 +0000
Received: from KL1PR0601MB4588.apcprd06.prod.outlook.com
 ([fe80::3f19:282d:5fe2:f523]) by KL1PR0601MB4588.apcprd06.prod.outlook.com
 ([fe80::3f19:282d:5fe2:f523%3]) with mapi id 15.20.9275.013; Thu, 30 Oct 2025
 06:12:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 76313d7a-b557-11f0-9d16-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=FTtinF2Y3B0uecTBG3RJTRFwqXT1rqzX2UNHrLVl6PYK9CLHNZ/cL5e7R3VW4qWL+rOR+ZDW45cdtD6mgdiOIn9ap0ia+Esd4giN++0gJHkkJWNQyE2KIwNUvqjE1x52/pCEQn5fgtW4ZLknrUwLRYVZ51fKJ6Vwd6l/s9chCA6qhqmCBkVrpNvQioDt4sDftFc/UAmtft/GrgVomX+6jUp2qzKH52Xo4c0gls4brFWzdt3phN38zvtDFWgHfy5YGnjV17rLO8omxyAQ0mI0T6yvgKXMWW58WZjxRgXQl5WVtajLCYOyJly7JY2/cH+K/cX4VgMKcM0+JhkVf25Bjg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=erp5B8/zWvKQdvr4nZo1K1MCyTHV4bScG8pvt06uSkY=;
 b=t50F8+ZpMG5uFeHGPhgZkVovTGJ1Vk2MW8t2vGriltR+42mg2Avp6k+/ukDlBnf23TM1c0Qei82QUko2H7azZ7+Gx4FwNQDSWNXpBFy2DHgAXSvwaZs04mDgZgmHxqjI9aA0w4/QAzreH61Brt9PtiyMGnvpN38syG/SbcdTy4pELx2Fi3i4ZO0BANl4IkqYdQAZDmdxWXOhgelW3djW5dQkBdMPVX7zFCGhmF/oYM/nu0VuFuwlzq7Qb6I7tytVZbf5aruntUFcjdfQgaufTLdz675YbZsKwGz0a4aK6yJHCkSvl/dMEcl8yHE1RzBa7phSVqS0UgStnVA9WmflOg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=siemens.com; dmarc=pass action=none header.from=siemens.com;
 dkim=pass header.d=siemens.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=siemens.com;
 s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=erp5B8/zWvKQdvr4nZo1K1MCyTHV4bScG8pvt06uSkY=;
 b=JhIVFAY58jDhtCFjgs2nag8MJNOCDXNRJDjALE6pGO47EKztdrE7sF5jVi6WURmcxSp48sGB27zIxk0OVS9wolP45D+4GibL5LU1/tUs+4sgyoXTH9I2oLviCJ5daTAUfJbUH008ztPxkOr+Rz5IawoGigf5MGLRgxvO0R7xpYfjRTULlx07Vy/N0+djvQGc1oKJhFLLiWJSQ2VM2EiD3lUUkfgb5/gpk5JF4EB2i/VoBo8OR8/1c5fAaia23n3kHzJlveQdubDN2CpzaK8Ye76krNsFBZT5VYyKcVblYWjzPa0HivuHvaYk3vI3wVvv4GIUnvocT73GM6wiPs03/g==
From: "haseeb.ashraf@siemens.com" <haseeb.ashraf@siemens.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Limitations for Running Xen on KVM Arm64
Thread-Topic: Limitations for Running Xen on KVM Arm64
Thread-Index: AQHcSVi3paxtnyIgIkOf6jhuJCbvfg==
Date: Thu, 30 Oct 2025 06:12:44 +0000
Message-ID:
 <KL1PR0601MB4588D25A95D680640A80F2CAE6FBA@KL1PR0601MB4588.apcprd06.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels:
 MSIP_Label_9d258917-277f-42cd-a3cd-14c4e9ee58bc_Enabled=True;MSIP_Label_9d258917-277f-42cd-a3cd-14c4e9ee58bc_SiteId=38ae3bcd-9579-4fd4-adda-b42e1495d55a;MSIP_Label_9d258917-277f-42cd-a3cd-14c4e9ee58bc_SetDate=2025-10-30T06:12:44.041Z;MSIP_Label_9d258917-277f-42cd-a3cd-14c4e9ee58bc_Name=C1
 -
 Restricted;MSIP_Label_9d258917-277f-42cd-a3cd-14c4e9ee58bc_ContentBits=1;MSIP_Label_9d258917-277f-42cd-a3cd-14c4e9ee58bc_Method=Standard;
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=siemens.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: KL1PR0601MB4588:EE_|SEZPR06MB5812:EE_
x-ms-office365-filtering-correlation-id: a9b93fe5-d1ea-499b-2604-08de177b5731
x-ms-exchange-atpmessageproperties: SA
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|366016|376014|1800799024|39142699007|31052699007|38070700021|8096899003;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?IIQl8w4SC5Jp9qLD4o0Pfcte7+11azpHZf09FTL10ul1lJAXPJurqTek0A?=
 =?iso-8859-1?Q?fjJdKAd/4Vt79EqtbYe1o8ft0Hq16EE0YStxWeocYQ9TbYC/b38HT0ZcKD?=
 =?iso-8859-1?Q?qVX193nX8refNvVvvx0bySYb7jy9eaUDwp9X6ksVIBZpq8/tWYaxUp426G?=
 =?iso-8859-1?Q?7pKwn8bGz7054rvyumykPq6Mzhx4bd9G7pukxZ+7AkyAcLJOnXX2j75gaT?=
 =?iso-8859-1?Q?0girYJp3xNF8I9bYu2gFa2YJRvS2tMZvdTiZyXS1EdN6gA1a48AR8pgvwp?=
 =?iso-8859-1?Q?1SiywTlsB6tdKzT2MAgc/iMMjehzdviVQUiXwDRaMlpjo+HgKLF5WUtV96?=
 =?iso-8859-1?Q?BMzaEUe/WQ15PMblkyEwsj7QnIFQrvgbKktLn4aHXI0wrJlZB4sxWC8Zs2?=
 =?iso-8859-1?Q?WREqQW1hcs2rX/uSrkHfXyaQU8rPg8wgBVIEQhUncViUuQjgO1x+nzGzYB?=
 =?iso-8859-1?Q?1pj3GQ+XE6AVTBVndjwngHlbslwVg2EEeGjnTUv8yIfq/gjXEOv773g+La?=
 =?iso-8859-1?Q?FGH14VdQ+JjRjfOv/jguoL7/3j3RZ70m4HGCXytlpKdf3W0jK7Rm94NRrN?=
 =?iso-8859-1?Q?FDRq8xaxv4Iw5QU8NVj+wrPUvRAstPCC5vRnDK7BFN+iiTlkKPlP9c3QCV?=
 =?iso-8859-1?Q?ZNjJgGaEFSEBvLrDtni30njrnoLDz/qS0tSGR9duPdIcZek/hzGCuvu0yw?=
 =?iso-8859-1?Q?zP89HzjhpmELobzvJ9HEjE2iVMIHErRQDbRYBNYrpPq8GaXgOWaEohakQy?=
 =?iso-8859-1?Q?MAqcXay6DUgkB/V44dDRLEZLQligEvNDCQrXbQyRD7pfEkM+JkKOloqLfv?=
 =?iso-8859-1?Q?Y5SBHW0OK6Au/Ngbad/j7OHbolHXLQSjlpxlwPNUAmsQ2fJzBfExjkQ0H7?=
 =?iso-8859-1?Q?XlsAYvd0qV+vIRIXsyzXFbXjdVB8pCQg+xI/DnadjFvKc4imRB3nEimiUV?=
 =?iso-8859-1?Q?Id6lEpfLpbCQaUL9fVs/rPjna0i5fkWO2bcOEkCPi9WeSycZyaz5vtmGPu?=
 =?iso-8859-1?Q?ycO8ZW8sOWspxQi9ER/wrWLrGHhmmTUqWdSGIEGoutHW299wS+vNre0mRf?=
 =?iso-8859-1?Q?fMwKnGwQCv+d6eTEomfjeY7iqqaQlMTfg3P3Rp7H1OPSw6qaGo6TQZU2Jy?=
 =?iso-8859-1?Q?vAAfScyfvlaXsTkh14SllwBHJfPEUYUrTs4syS9qNBk6Ksoo3E/Olj0qG7?=
 =?iso-8859-1?Q?lMgfQuOT9bDxAB42aGBzcUc3joRIBAHSCeon1IOhtyy+exmr5tH+0VL1ux?=
 =?iso-8859-1?Q?pMXrU/LOocZ+C5ygWKkLpxW0R4dlRCbt0IktJZmgpau/yzqVHtpfkaf7+A?=
 =?iso-8859-1?Q?JXctGKMjKz4sI683u6R5AuYsbpdBrztCL29T+b7FAPNVxbifmiaNrHCLLR?=
 =?iso-8859-1?Q?DRxy9TI2SuFr9RwRe3Wv+KFmcG6qHFBjeIm4RCeJKCQcXA4ac+M5C2RH7N?=
 =?iso-8859-1?Q?Bizc6ZKhka3lI6w7v8qIwbbYkSEY+BRYWfkvqYnQNEb26bLIYz+MnyvaXL?=
 =?iso-8859-1?Q?6PGI2KUqK/2M+THclD2f416RaedoKM2yZ3OJdf4YxvFNExDHMdVQXT+j2A?=
 =?iso-8859-1?Q?8H+ZsvIccDZTlzuwbYapEGkSkJHu?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:KL1PR0601MB4588.apcprd06.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(39142699007)(31052699007)(38070700021)(8096899003);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?5Sxllu5Ul/8U9Zoq+tGJcB2w+7FPOSNzF0WlgXBwcM3bXcUwBgbsd+7M2k?=
 =?iso-8859-1?Q?miluEgJQ8YOv519c7Rw4RfGuWQQZkquKB8QM3eiDeXAJNYIepLKA8kgVwG?=
 =?iso-8859-1?Q?6xpLI6SOUJc5uF84RV6E2waSFaMjws07J+0/HjPgoYK+MlzjCryfjh0fUx?=
 =?iso-8859-1?Q?3Se2O8fi7qb9m2pfUqmp0EoBP+Nnd1nSzHUq7eZV9s+vQfytJE7ZBra2FC?=
 =?iso-8859-1?Q?Vz1LzOijjHeTthHr2rMxiWZ9B+ByGcmAfuLnSRD9gKhFGLCOhx483JTWVe?=
 =?iso-8859-1?Q?fRuR0mHU5f016K8G1etTPd1qUWzxetOD4VktNsdOo+NRMjl6Vk/dNVyyD6?=
 =?iso-8859-1?Q?nkc+eC4+Zoq4D9MsbgdBR5t4UH7VsT4MExdrxnopp5Qx1U7tzoDn8LpQPE?=
 =?iso-8859-1?Q?Zq14ksY83E1q8bLDCTtXHbn2Vpj+AhhtuqmGMDgi4dSRU5KXD3FBap9yyY?=
 =?iso-8859-1?Q?hbILmk0K6IIRszrVArW+M/snNl0EXLXUDsHuhQ1lafAXOCgEJLxPmmGwKK?=
 =?iso-8859-1?Q?Veveoi/6HoIBadaJyJfLVZI7sSsmIgKy5bnj4m/Z2y5UsqE0R5cSz9zaA2?=
 =?iso-8859-1?Q?HQBi4IOIJxkCyXMWrh8K4raM6pT1dWG+c7H+gIDKaudimENkp2ZvKkaSL7?=
 =?iso-8859-1?Q?6eGPOGnKn+JMB5O+zFhfottFd8hmZMw25nc/YoDxpNNCzheJjZd/YCDKvb?=
 =?iso-8859-1?Q?R/xA8H+MeomEWcjQ9lWRlXHiVqjLRIRYgv620A1h2HUtRTfy5k3YOHuGEz?=
 =?iso-8859-1?Q?7QMQwK0Hbbjimuy65zctVdqMLZj7q70rN8bu7a+3P8Ce26SndOFyuGRrPW?=
 =?iso-8859-1?Q?k3IWtPy3RZdLEpxj0JllSu+Uw/5uKBys6HdgGNGYBByW9A/De5AVHkXhPT?=
 =?iso-8859-1?Q?VJROw6t4GHtsL3inxiQcboEcgZfDhhyVOu+0L/tX4g+JwzhDqyN7ycwsWg?=
 =?iso-8859-1?Q?kTvTx8+0+vC/7GqR2CmrZAwthsXKojT1pZi6MWmz5fW1DmpVbTtwRhMs2g?=
 =?iso-8859-1?Q?9hF27wkR9L/AmZ/7/aWILyEOoX5HS3nNoHkOXr0ZVKUeuB6crXAA6k66h7?=
 =?iso-8859-1?Q?L7dfXzg35xQHemvGE/2rEcJum9e3xQ16mP02moDfY6J9Ctco4t5Dy044Og?=
 =?iso-8859-1?Q?j0+5dqfwOE4PkdJh4acJr8mdg4IukC9F3cG9o68Tqwm5B0zQ3hQWrCmyzX?=
 =?iso-8859-1?Q?X+vWwr04yLhECmdF8sAkOf3jALQjJNR9Bq2TBXHzVXDB9m8nXOCHmo41Zf?=
 =?iso-8859-1?Q?xYQbRy6ralwoBV8fmOCPZ4xNPUwrNcTf6dPENHb0Q/IxyaggvstOw51jmT?=
 =?iso-8859-1?Q?qqYKXIWSc+AKZj2RKwtw7DSx8WTMZs0aIPLJiVVa/j7+Lkp/1L0Cs5Q514?=
 =?iso-8859-1?Q?w2ZihnMEC+gZh/AkvcindaUgkkU+HfwFSvusetnjRGrhabhTdeo78KztWF?=
 =?iso-8859-1?Q?sl6Bh4a8xYYOllvpctmL5GROWojHT9AIq8B7W5aUY7nJ02XEgcEfEFunmh?=
 =?iso-8859-1?Q?JalXpW6fcYu0wJPl+JarOLvHy8ehwR92O6QPViIoH1wQCa1VseDZ5ofjWJ?=
 =?iso-8859-1?Q?UN9xGAxHreYnU50rwUUbIke/5qN16wAEuC+ONGb2/khdGFYouSlCoHAD/m?=
 =?iso-8859-1?Q?5tXDOiA7BbbYQRhDf0SEKo3OU8hmrjKzFK?=
Content-Type: multipart/alternative;
	boundary="_000_KL1PR0601MB4588D25A95D680640A80F2CAE6FBAKL1PR0601MB4588_"
MIME-Version: 1.0
X-OriginatorOrg: siemens.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: KL1PR0601MB4588.apcprd06.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a9b93fe5-d1ea-499b-2604-08de177b5731
X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Oct 2025 06:12:44.3973
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 38ae3bcd-9579-4fd4-adda-b42e1495d55a
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: CP9oVMkbjNSlUPQuHtIE0zzQJ2A8EFgyrL77rwDiQkpqggfK/ZXgfqWWKLoJH6afHvunQhyXlOomUZhzdxL15YfZ8nVrUlDP/z2TqtNHvvs=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SEZPR06MB5812

--_000_KL1PR0601MB4588D25A95D680640A80F2CAE6FBAKL1PR0601MB4588_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Hello Xen development community,

I wanted to discuss the limitations that I have faced while running Xen on =
KVM on Arm64 machines. I hope I am using the right mailing list.

The biggest limitation is the costly emulation of instruction tlbi vmalls12=
e1is in KVM. The cost is exponentially proportional to the IPA size exposed=
 by KVM for VM hosting Xen. If I reduce the IPA size to 40-bits in KVM, the=
n this issue is not much observable but with the IPA size of 48-bits, it is=
 256x more costly than the former one. Xen uses this instruction too freque=
ntly and this instruction is trapped and emulated by KVM, and performance i=
s not as good as on bare-metal hardware. With 48-bit IPA, it can take up to=
 200 minutes for domu creation with just 128M RAM. I have identified two pl=
aces in Xen which are problematic w.r.t the usage of this instruction and h=
oping to reduce the frequency of this instruction or use a more relevant TL=
BI instruction instead of invalidating whole stage-1 and stage-2 translatio=
ns.


  1.
During the creation of domu, first the domu memory is mapped onto dom0 doma=
in, images are copied into it, and it is then unmapped. During unmapping, t=
he TLB translations are invalidated one by one for each page being unmapped=
 in XENMEM_remove_from_physmap hypercall. Here is the code snippet where th=
e decision to flush TLBs is being made during removal of mapping.

diff --git a/xen/arch/arm/mmu/p2m.c b/xen/arch/arm/mmu/p2m.c
index 7642dbc7c5..e96ff92314 100644
--- a/xen/arch/arm/mmu/p2m.c
+++ b/xen/arch/arm/mmu/p2m.c
@@ -1103,7 +1103,8 @@ static int __p2m_set_entry(struct p2m_domain *p2m,

    if ( removing_mapping )
        /* Flush can be deferred if the entry is removed */
-        p2m->need_flush |=3D !!lpae_is_valid(orig_pte);
+        //p2m->need_flush |=3D !!lpae_is_valid(orig_pte);
+        p2m->need_flush |=3D false;
    else
    {
        lpae_t pte =3D mfn_to_p2m_entry(smfn, t, a);

  1.
This can be optimized by either introducing a batch version of this hyperca=
ll i.e., XENMEM_remove_from_physmap_batch and flushing TLBs only once for a=
ll pages being removed
OR
by using a TLBI instruction that only invalidates the intended range of add=
resses instead of the whole stage-1 and stage-2 translations. I understand =
that a single TLBI instruction does not exist that can perform both stage-1=
 and stage-2 invalidations for a given address range but maybe a combinatio=
n of instructions can be used such as:

; switch to current VMID
tlbi rvae1, guest_vaddr ; first invalidate stage-1 TLB by guest VA for curr=
ent VMID
tlbi ripas2e1, guest_paddr ; then invalidate stage-2 TLB by IPA range for c=
urrent VMID
dsb ish
isb
; switch back the VMID

  1.
This is where I am not quite sure and I was hoping that if someone with Arm=
 expertise could sign off on this so that I can work on its implementation =
in Xen. This will be an optimization not only for virtualized hardware but =
also in general for Xen on arm64 machines.


  1.
The second place in Xen where this is problematic is when multiple vCPUs of=
 the same domain juggle on single pCPU, TLBs are invalidated everytime a di=
fferent vCPU runs on a pCPU. I do not know how this can be optimized. Any s=
upport on this is appreciated.

diff --git a/xen/arch/arm/mmu/p2m.c b/xen/arch/arm/mmu/p2m.c
index 7642dbc7c5..e96ff92314 100644
--- a/xen/arch/arm/mmu/p2m.c
+++ b/xen/arch/arm/mmu/p2m.c
@@ -247,7 +247,7 @@ void p2m_restore_state(struct vcpu *n)
      * when running multiple vCPU of the same domain on a single pCPU.
      */
     if ( *last_vcpu_ran !=3D INVALID_VCPU_ID && *last_vcpu_ran !=3D n->vcp=
u_id )
-        flush_guest_tlb_local();
+        ; // flush_guest_tlb_local();

     *last_vcpu_ran =3D n->vcpu_id;
 }

Thanks & Regards,
Haseeb Ashraf

--_000_KL1PR0601MB4588D25A95D680640A80F2CAE6FBAKL1PR0601MB4588_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Diso-8859-=
1">
<style type=3D"text/css" style=3D"display:none;"> P {margin-top:0;margin-bo=
ttom:0;} </style>
</head>
<body dir=3D"ltr">
<div style=3D"font-family: Arial, Helvetica, sans-serif; font-size: 10pt; c=
olor: rgb(0, 0, 0);" class=3D"elementToProof">
Hello Xen development community,</div>
<div style=3D"font-family: Arial, Helvetica, sans-serif; font-size: 10pt; c=
olor: rgb(0, 0, 0);" class=3D"elementToProof">
<br>
</div>
<div style=3D"font-family: Arial, Helvetica, sans-serif; font-size: 10pt; c=
olor: rgb(0, 0, 0);" class=3D"elementToProof">
I wanted to discuss the limitations that I have faced while running Xen on =
KVM on Arm64 machines. I hope I am using the right mailing list.</div>
<div style=3D"font-family: Arial, Helvetica, sans-serif; font-size: 10pt; c=
olor: rgb(0, 0, 0);" class=3D"elementToProof">
<br>
</div>
<div style=3D"font-family: Arial, Helvetica, sans-serif; font-size: 10pt; c=
olor: rgb(0, 0, 0);" class=3D"elementToProof">
The biggest limitation is the costly emulation of instruction <code>tlbi vm=
alls12e1is</code>&nbsp;in KVM. The cost is exponentially proportional to th=
e IPA size exposed by KVM for VM hosting Xen. If I reduce the IPA size to 4=
0-bits in KVM, then this issue is not
 much observable but with the IPA size of 48-bits, it is 256x more costly t=
han the former one. Xen uses this instruction too frequently and this instr=
uction is trapped and emulated by KVM, and performance is not as good as on=
 bare-metal hardware. With 48-bit
 IPA, it can take up to 200 minutes for domu creation with just 128M RAM. I=
 have identified two places in Xen which are problematic w.r.t the usage of=
 this instruction and hoping to reduce the frequency of this instruction or=
 use a more relevant TLBI instruction
 instead of invalidating whole stage-1 and stage-2 translations.</div>
<div style=3D"font-family: Arial, Helvetica, sans-serif; font-size: 10pt; c=
olor: rgb(0, 0, 0);" class=3D"elementToProof">
<br>
</div>
<ol style=3D"margin-top: 0px; margin-bottom: 0px; list-style-type: decimal;=
" data-editing-info=3D"{&quot;applyListStyleFromLevel&quot;:false,&quot;ord=
eredStyleType&quot;:1}" start=3D"1">
<li style=3D"font-family: Arial, Helvetica, sans-serif; font-size: 10pt; co=
lor: rgb(0, 0, 0);">
<div role=3D"presentation" class=3D"elementToProof">During the creation of =
domu, first the domu memory is mapped onto dom0 domain, images are copied i=
nto it, and it is then unmapped. During unmapping, the TLB translations are=
 invalidated one by one for each page
 being unmapped in <code>XENMEM_remove_from_physmap</code>&nbsp;hypercall. =
Here is the code snippet where the decision to flush TLBs is being made dur=
ing removal of mapping.&nbsp;</div>
</li></ol>
<blockquote style=3D"margin-left: 0.8ex; padding-left: 1ex; border-left: 3p=
x solid rgb(200, 200, 200);">
<div style=3D"font-family: Arial, Helvetica, sans-serif; font-size: 10pt; c=
olor: rgb(0, 0, 0);" class=3D"elementToProof">
diff --git a/xen/arch/arm/mmu/p2m.c b/xen/arch/arm/mmu/p2m.c</div>
<div style=3D"font-family: Arial, Helvetica, sans-serif; font-size: 10pt; c=
olor: rgb(0, 0, 0);" class=3D"elementToProof">
index 7642dbc7c5..e96ff92314 100644</div>
<div style=3D"font-family: Arial, Helvetica, sans-serif; font-size: 10pt; c=
olor: rgb(0, 0, 0);" class=3D"elementToProof">
--- a/xen/arch/arm/mmu/p2m.c</div>
<div style=3D"font-family: Arial, Helvetica, sans-serif; font-size: 10pt; c=
olor: rgb(0, 0, 0);" class=3D"elementToProof">
+++ b/xen/arch/arm/mmu/p2m.c</div>
<div style=3D"font-family: Arial, Helvetica, sans-serif; font-size: 10pt; c=
olor: rgb(0, 0, 0);" class=3D"elementToProof">
@@ -1103,7 +1103,8 @@ static int __p2m_set_entry(struct p2m_domain *p2m,<br=
>
<br>
&nbsp;&nbsp;&nbsp; if ( removing_mapping )<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* Flush can be deferred if the =
entry is removed */<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p2m-&gt;need_flush |=3D !!lpae_=
is_valid(orig_pte);<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //p2m-&gt;need_flush |=3D !!lpa=
e_is_valid(orig_pte);<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p2m-&gt;need_flush |=3D false;<=
br>
&nbsp;&nbsp;&nbsp; else<br>
&nbsp;&nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lpae_t pte =3D mfn_to_p2m_entry(=
smfn, t, a);</div>
</blockquote>
<ol style=3D"margin-top: 0px; margin-bottom: 0px; list-style-type: decimal;=
" data-editing-info=3D"{&quot;applyListStyleFromLevel&quot;:false,&quot;ord=
eredStyleType&quot;:1}" start=3D"2">
<li style=3D"font-family: Arial, Helvetica, sans-serif; font-size: 10pt; co=
lor: rgb(0, 0, 0); display: block;">
<div role=3D"presentation" class=3D"elementToProof">This can be optimized b=
y either introducing a batch version of this hypercall i.e.,
<code>XENMEM_remove_from_physmap_batch</code>&nbsp;and flushing TLBs only o=
nce for all pages being removed</div>
<div role=3D"presentation" class=3D"elementToProof">OR<br>
by using a TLBI instruction that only invalidates the intended range of add=
resses instead of the whole stage-1 and stage-2 translations. I understand =
that a single TLBI instruction does not exist that can perform both stage-1=
 and stage-2 invalidations for a
 given address range but maybe a combination of instructions can be used su=
ch as:</div>
</li></ol>
<blockquote style=3D"margin-left: 0.8ex; padding-left: 1ex; border-left: 3p=
x solid rgb(200, 200, 200);">
<div style=3D"font-family: Arial, Helvetica, sans-serif; font-size: 10pt; c=
olor: rgb(0, 0, 0);" class=3D"elementToProof">
; switch to current VMID</div>
<div style=3D"font-family: Arial, Helvetica, sans-serif; font-size: 10pt; c=
olor: rgb(0, 0, 0);" class=3D"elementToProof">
tlbi rvae1, guest_vaddr ; first invalidate stage-1 TLB by guest VA for curr=
ent VMID<br>
tlbi ripas2e1, guest_paddr ; then invalidate stage-2 TLB by IPA range for c=
urrent VMID</div>
<div style=3D"font-family: Arial, Helvetica, sans-serif; font-size: 10pt; c=
olor: rgb(0, 0, 0);" class=3D"elementToProof">
dsb ish</div>
<div style=3D"font-family: Arial, Helvetica, sans-serif; font-size: 10pt; c=
olor: rgb(0, 0, 0);" class=3D"elementToProof">
isb</div>
<div style=3D"font-family: Arial, Helvetica, sans-serif; font-size: 10pt; c=
olor: rgb(0, 0, 0);" class=3D"elementToProof">
; switch back the VMID</div>
</blockquote>
<ol style=3D"margin-top: 0px; margin-bottom: 0px; list-style-type: decimal;=
" data-editing-info=3D"{&quot;applyListStyleFromLevel&quot;:false,&quot;ord=
eredStyleType&quot;:1}" start=3D"3">
<li style=3D"font-family: Arial, Helvetica, sans-serif; font-size: 10pt; co=
lor: rgb(0, 0, 0); display: block;">
<div role=3D"presentation" class=3D"elementToProof">This is where I am not =
quite sure and I was hoping that if someone with Arm expertise could sign o=
ff on this so that I can work on its implementation in Xen. This will be an=
 optimization not only for virtualized
 hardware but also in general for Xen on arm64 machines.</div>
</li></ol>
<div style=3D"font-family: Arial, Helvetica, sans-serif; font-size: 10pt; c=
olor: rgb(0, 0, 0);" class=3D"elementToProof">
<br>
</div>
<ol style=3D"margin-top: 0px; margin-bottom: 0px; list-style-type: decimal;=
" data-editing-info=3D"{&quot;applyListStyleFromLevel&quot;:false,&quot;ord=
eredStyleType&quot;:1}" start=3D"2">
<li style=3D"font-family: Arial, Helvetica, sans-serif; font-size: 10pt; co=
lor: rgb(0, 0, 0);">
<div role=3D"presentation" class=3D"elementToProof">The second place in Xen=
 where this is problematic is when multiple vCPUs of the same domain juggle=
 on single pCPU, TLBs are invalidated everytime a different vCPU runs on a =
pCPU. I do not know how this can be
 optimized. Any support on this is appreciated.</div>
</li></ol>
<blockquote style=3D"margin-left: 0.8ex; padding-left: 1ex; border-left: 3p=
x solid rgb(200, 200, 200);">
<div style=3D"font-family: Arial, Helvetica, sans-serif; font-size: 10pt; c=
olor: rgb(0, 0, 0);" class=3D"elementToProof">
diff --git a/xen/arch/arm/mmu/p2m.c b/xen/arch/arm/mmu/p2m.c</div>
<div style=3D"font-family: Arial, Helvetica, sans-serif; font-size: 10pt; c=
olor: rgb(0, 0, 0);" class=3D"elementToProof">
index 7642dbc7c5..e96ff92314 100644</div>
<div style=3D"font-family: Arial, Helvetica, sans-serif; font-size: 10pt; c=
olor: rgb(0, 0, 0);" class=3D"elementToProof">
--- a/xen/arch/arm/mmu/p2m.c</div>
<div style=3D"font-family: Arial, Helvetica, sans-serif; font-size: 10pt; c=
olor: rgb(0, 0, 0);" class=3D"elementToProof">
+++ b/xen/arch/arm/mmu/p2m.c</div>
<div style=3D"font-family: Arial, Helvetica, sans-serif; font-size: 10pt; c=
olor: rgb(0, 0, 0);" class=3D"elementToProof">
@@ -247,7 +247,7 @@ void p2m_restore_state(struct vcpu *n)</div>
<div style=3D"font-family: Arial, Helvetica, sans-serif; font-size: 10pt; c=
olor: rgb(0, 0, 0);" class=3D"elementToProof">
&nbsp; &nbsp; &nbsp; * when running multiple vCPU of the same domain on a s=
ingle pCPU.</div>
<div style=3D"font-family: Arial, Helvetica, sans-serif; font-size: 10pt; c=
olor: rgb(0, 0, 0);" class=3D"elementToProof">
&nbsp; &nbsp; &nbsp; */</div>
<div style=3D"font-family: Arial, Helvetica, sans-serif; font-size: 10pt; c=
olor: rgb(0, 0, 0);" class=3D"elementToProof">
&nbsp; &nbsp; &nbsp;if ( *last_vcpu_ran !=3D INVALID_VCPU_ID &amp;&amp; *la=
st_vcpu_ran !=3D n-&gt;vcpu_id )</div>
<div style=3D"font-family: Arial, Helvetica, sans-serif; font-size: 10pt; c=
olor: rgb(0, 0, 0);" class=3D"elementToProof">
- &nbsp; &nbsp; &nbsp; &nbsp;flush_guest_tlb_local();</div>
<div style=3D"font-family: Arial, Helvetica, sans-serif; font-size: 10pt; c=
olor: rgb(0, 0, 0);" class=3D"elementToProof">
+ &nbsp; &nbsp; &nbsp; &nbsp;; // flush_guest_tlb_local();</div>
<div style=3D"font-family: Arial, Helvetica, sans-serif; font-size: 10pt; c=
olor: rgb(0, 0, 0);" class=3D"elementToProof">
&nbsp;</div>
<div style=3D"font-family: Arial, Helvetica, sans-serif; font-size: 10pt; c=
olor: rgb(0, 0, 0);" class=3D"elementToProof">
&nbsp; &nbsp; &nbsp;*last_vcpu_ran =3D n-&gt;vcpu_id;</div>
<div style=3D"font-family: Arial, Helvetica, sans-serif; font-size: 10pt; c=
olor: rgb(0, 0, 0);" class=3D"elementToProof">
&nbsp;}&nbsp;</div>
</blockquote>
<div style=3D"font-family: Arial, Helvetica, sans-serif; font-size: 10pt; c=
olor: rgb(0, 0, 0);" class=3D"elementToProof">
<br>
</div>
<div style=3D"font-family: Arial, Helvetica, sans-serif; font-size: 10pt; c=
olor: rgb(0, 0, 0);" class=3D"elementToProof">
Thanks &amp; Regards,</div>
<div style=3D"font-family: Arial, Helvetica, sans-serif; font-size: 10pt; c=
olor: rgb(0, 0, 0);" class=3D"elementToProof">
Haseeb Ashraf</div>
</body>
</html>

--_000_KL1PR0601MB4588D25A95D680640A80F2CAE6FBAKL1PR0601MB4588_--


From xen-devel-bounces@lists.xenproject.org Thu Oct 30 10:29:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Oct 2025 10:29:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153467.1483792 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEPu4-00068B-L2; Thu, 30 Oct 2025 10:29:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153467.1483792; Thu, 30 Oct 2025 10:29:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEPu4-000684-IT; Thu, 30 Oct 2025 10:29:12 +0000
Received: by outflank-mailman (input) for mailman id 1153467;
 Thu, 30 Oct 2025 10:29:11 +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
 <SRS0=kfz6=5H=arm.com=kevin.brodsky@srs-se1.protection.inumbo.net>)
 id 1vEPu3-00067y-Df
 for xen-devel@lists.xenproject.org; Thu, 30 Oct 2025 10:29:11 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 429b8761-b57b-11f0-980a-7dc792cee155;
 Thu, 30 Oct 2025 11:29:05 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id E08BE1EDB;
 Thu, 30 Oct 2025 03:28:56 -0700 (PDT)
Received: from [10.57.69.77] (unknown [10.57.69.77])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id A8D363F66E;
 Thu, 30 Oct 2025 03:28:56 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 429b8761-b57b-11f0-980a-7dc792cee155
Message-ID: <d0767b70-5686-4f6e-8ca4-10b3f3ff3991@arm.com>
Date: Thu, 30 Oct 2025 11:28:53 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 07/12] mm: enable lazy_mmu sections to nest
To: Alexander Gordeev <agordeev@linux.ibm.com>
Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org,
 Andreas Larsson <andreas@gaisler.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, Borislav Petkov
 <bp@alien8.de>, Catalin Marinas <catalin.marinas@arm.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 Dave Hansen <dave.hansen@linux.intel.com>,
 David Hildenbrand <david@redhat.com>, "David S. Miller"
 <davem@davemloft.net>, David Woodhouse <dwmw2@infradead.org>,
 "H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@redhat.com>,
 Jann Horn <jannh@google.com>, Juergen Gross <jgross@suse.com>,
 "Liam R. Howlett" <Liam.Howlett@oracle.com>,
 Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>, Michal Hocko <mhocko@suse.com>,
 Mike Rapoport <rppt@kernel.org>, Nicholas Piggin <npiggin@gmail.com>,
 Peter Zijlstra <peterz@infradead.org>, Ryan Roberts <ryan.roberts@arm.com>,
 Suren Baghdasaryan <surenb@google.com>, Thomas Gleixner
 <tglx@linutronix.de>, Vlastimil Babka <vbabka@suse.cz>,
 Will Deacon <will@kernel.org>, Yeoreum Yun <yeoreum.yun@arm.com>,
 linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org,
 sparclinux@vger.kernel.org, xen-devel@lists.xenproject.org, x86@kernel.org
References: <20251029100909.3381140-1-kevin.brodsky@arm.com>
 <20251029100909.3381140-8-kevin.brodsky@arm.com>
 <ef0cd4bc-1a37-4755-8957-d8a7e5c4564e-agordeev@linux.ibm.com>
Content-Language: en-GB
From: Kevin Brodsky <kevin.brodsky@arm.com>
In-Reply-To: <ef0cd4bc-1a37-4755-8957-d8a7e5c4564e-agordeev@linux.ibm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 29/10/2025 17:41, Alexander Gordeev wrote:
> On Wed, Oct 29, 2025 at 10:09:04AM +0000, Kevin Brodsky wrote:
>
> Hi Kevin,
>
>> +#ifdef CONFIG_ARCH_HAS_LAZY_MMU_MODE
>> +static inline bool in_lazy_mmu_mode(void)
>> +{
>> +	return current->lazy_mmu_state.active;
> Whether (nesting_level > 0) is more correct check?
> Otherwise, it returns false while in paused mode.

That's exactly the intention. Lazy MMU is disabled while paused. The
users of that helper want to know if lazy MMU is currently enabled (to
decide whether to batch updates for instance); whether this is because
we are paused or not in any lazy_mmu section (nesting_level == 0) makes
no difference.

> May be check both nesting_level and active and also introduce
> in_lazy_mmu_paused_mode() right away to avoid any confusion?

Can you think of any situation where a caller would specifically want to
know that lazy MMU is paused?

- Kevin


From xen-devel-bounces@lists.xenproject.org Thu Oct 30 10:46:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Oct 2025 10:46:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153482.1483802 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEQB9-0000dx-2R; Thu, 30 Oct 2025 10:46:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153482.1483802; Thu, 30 Oct 2025 10:46:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEQB8-0000dq-Va; Thu, 30 Oct 2025 10:46:50 +0000
Received: by outflank-mailman (input) for mailman id 1153482;
 Thu, 30 Oct 2025 10:46:49 +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 <SRS0=+HTt=5H=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vEQB7-0000dk-N0
 for xen-devel@lists.xenproject.org; Thu, 30 Oct 2025 10:46:49 +0000
Received: from mail-wr1-x433.google.com (mail-wr1-x433.google.com
 [2a00:1450:4864:20::433])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b6d9cebf-b57d-11f0-980a-7dc792cee155;
 Thu, 30 Oct 2025 11:46:39 +0100 (CET)
Received: by mail-wr1-x433.google.com with SMTP id
 ffacd0b85a97d-3f2cf786abeso614872f8f.3
 for <xen-devel@lists.xenproject.org>; Thu, 30 Oct 2025 03:46:39 -0700 (PDT)
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-429952db9d1sm30913855f8f.35.2025.10.30.03.46.37
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 30 Oct 2025 03:46:37 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b6d9cebf-b57d-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761821199; x=1762425999; darn=lists.xenproject.org;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id:from:to:cc
         :subject:date:message-id:reply-to;
        bh=EIdfcQ7m+iCksx6XS4Zy/k7J2u9sMtddJCbPXsbZGMg=;
        b=OMul7DwjA4iXSgmY2Tz9GKsmw2f+pGLLB6TdGwnoWJQvSAVjfvPQChjdVVZkEMYYlc
         GTR/+kQIbzASn4+Dz2TC9uWlZ6FE2D5wi5dLXSWCAnDGTeuvURvCeTnOtg3t53A8uU/4
         5HyMPI6iIIkuMAKYZQfvQ30Tgtk3KNVJz4UQKttm2CCcrOMMKaFp29/IFIILiI41Rz98
         J0Qatb0TIwEEcPswqOVOKOoW/yGatqAl4pxXjdR+6exh1pzFQo4EDCZDtem45Xfp4h9X
         TCmkBVlv97YaRT+LkE9xK9nhTm17bDKgIVDo1uMdmR6UPwaE+ANzG+UYJhBnQ8sLwdKZ
         n4jw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761821199; x=1762425999;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=EIdfcQ7m+iCksx6XS4Zy/k7J2u9sMtddJCbPXsbZGMg=;
        b=vn69c5hbZbRnhDx5TX0x8kfJVea3oNs/GYy1fW+Q0P4DTgoNQOvJRFG9RffAc8d+fY
         9SgoL+XqROQNLQ4314Q9aEVfTevzM8/zlo1ni9v98CZ3PibQpFB05bf1nCitlEFsQRwO
         UZgm/YivJUbRJBRU6Gn1jep2uRf0MDRjT7xMrDekIn3kGCSRr0R15lM62aBcM/UlwJkI
         q8BuspW0O3S40AKo++sfHfFqVipKsL3DBK1yCKyScaxfxVohAIgEr/aZSpOgW1JUwTM7
         fPeCdYgVWdiecCPDFiLcoCoaIqNFejl+Uo+Q9Dr+jXwmc2O0GfRzod8fNLjNeijboylX
         z8ew==
X-Gm-Message-State: AOJu0Yz8xb7+NluX2h9GvZcDylYcBzuB7Jmh5EyWwipo9UlgMtvztK7E
	ao3bSue39J8E4qhQ5RM5iT4J5YgFuhF2HIc7rEq5n3ENDGHTvEFPNHPiE3GJGq3/w6Gs/vyeoMY
	Mwng=
X-Gm-Gg: ASbGncvdcAwXxZSxNGcZ6UHndyE0zig2BwiITGZ4HWtkPOAZ+0psLd8beda9U/s+/uO
	CjklAIIbyI074dhEjWp22tDHD221ZzHX/DnnZ6/6WwD9+18AMfP+zKQ+054l4TRQ6kl3p6Y2Fhp
	gnF51Bi1wJ9sj7CyAxn9b3wBz6lHx3bLcqlISXs9jcG6sugAUwtaFhTTQKLBtdoo6D4t/80DyHn
	1G0NF/Cy4wvy1wvfT2lfv9tbL/FwqRLb9M//o2SX8xU/IF/c9ICvvLobz8WMwo/W81tEAQe4IKs
	CA+o7+riHz3pp68dH/+ewe8I3jpp974vD63LddmuR8ohekmAoJH7HwGKhkY56eURQwnALG011Jp
	shHmPtCq+Av/+7Jo80RB1OLgPzuIvIJFvyezuu4KfKrwW67UxZzZUzie4d30QmUQ0kOjCetm0XP
	ARO1uFCqZU8HJh66v33c/CXySKC79eGJxFfAdblBFPBRZzHLLsOpeLdWKHOak6Ob7K+XF9q4Y=
X-Google-Smtp-Source: AGHT+IGuRWjiz7++m6WWVCnzcpjeEmvOCfIfgPkkI+5Zi1UR9Uxv7NvfdyegqX+67terXOdN6E7qqg==
X-Received: by 2002:a05:6000:43c5:20b0:426:d619:cac7 with SMTP id ffacd0b85a97d-429b4c985aamr2225435f8f.36.1761821198614;
        Thu, 30 Oct 2025 03:46:38 -0700 (PDT)
Message-ID: <2a8bbf67-90f6-4114-9951-099ee72d6021@suse.com>
Date: Thu, 30 Oct 2025 11:46:36 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH RFC] symbols: check table sizes don't change between linking
 passes 2 and 3
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
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

While sizes (and possibly positions) of the symbol table related symbols
(and as a result other ones) are expected to change from linking pass 1
to pass 2, no such change should happen anymore from pass 2 to pass 3, or
else the internally recorded symbol table wouldn't represent the ELF or
PE/COFF ones.

For comparing to be actually useful, i.e. most notably also covering the
last of the arrays emitted, symbol sizes need establishing. Make use of
the xen/linkage.h machinery to achieve that.

Suggested-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Likely other ports also want to add such checking. Really it would be nice
if we could properly abstract out shared parts of the linking steps.

RFC: Aiui this can't go in as is right now, or we would break building Xen
     with lld. Further changes are first needed to help the situation
     there.

RFC: I'm all ears towards improvement suggestions in the temporary helper
     file handling of compare-symbol-tables. Or ideally some approach to
     avoid the use of a helper file altogether.

--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -146,6 +146,7 @@ $(TARGET)-syms: $(objtree)/prelink.o $(o
 		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort $(syms-warn-dup-y) \
 		> $(dot-target).1.S
 	$(MAKE) $(build)=$(@D) $(dot-target).1.o
+	$(call compare-symbol-tables, $(dot-target).0.o, $(dot-target).1.o)
 	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< $(build_id_linker) \
 	    $(orphan-handling-y) $(dot-target).1.o -o $@
 	$(NM) -pa --format=sysv $@ \
@@ -226,6 +227,8 @@ endif
 		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
 		> $(dot-target).1s.S
 	$(MAKE) $(build)=$(@D) .$(@F).1r.o .$(@F).1s.o
+	$(call compare-symbol-tables, $(dot-target).0r.o, $(dot-target).1r.o)
+	$(call compare-symbol-tables, $(dot-target).0s.o, $(dot-target).1s.o)
 	$(LD) $(call EFI_LDFLAGS,$(VIRT_BASE)) -T $(obj)/efi.lds $< \
 	      $(dot-target).1r.o $(dot-target).1s.o $(orphan-handling-y) \
 	      $(note_file_option) -o $@
--- a/xen/scripts/Kbuild.include
+++ b/xen/scripts/Kbuild.include
@@ -56,6 +56,19 @@ define filechk
 	fi
 endef
 
+###
+# Compare the symbol tables of two object files.  As diff's -I option isn't
+# standardized, the name difference of the two object files needs abstracting
+# out.
+define compare-symbol-tables
+    ln -f $(1) $(@D)/.cst.$$$$; \
+    $(OBJDUMP) -t $(@D)/.cst.$$$$ > $(1).sym; \
+    ln -f $(1) $(@D)/.cst.$$$$; \
+    $(OBJDUMP) -t $(@D)/.cst.$$$$ > $(2).sym; \
+    rm -f $(@D)/.cst.$$$$
+    diff -u $(1).sym $(2).sym
+endef
+
 # as-insn: Check whether assembler supports an instruction.
 # Usage: cflags-y += $(call as-insn,CC FLAGS,"insn",option-yes,option-no)
 as-insn = $(if $(shell echo 'void _(void) { asm volatile ( $(2) ); }' \
--- a/xen/tools/symbols.c
+++ b/xen/tools/symbols.c
@@ -253,17 +253,26 @@ static void read_map(FILE *in)
 	}
 }
 
-static void output_label(char *label)
+static void output_label(const char *label, bool keep)
 {
-	if (symbol_prefix_char)
-		printf(".globl %c%s\n", symbol_prefix_char, label);
-	else
-		printf(".globl %s\n", label);
-	printf("\tALGN\n");
-	if (symbol_prefix_char)
-		printf("%c%s:\n", symbol_prefix_char, label);
-	else
-		printf("%s:\n", label);
+	static bool pending;
+
+	if (pending && !keep) {
+		printf("END(CURRENT)\n");
+		printf("#undef CURRENT\n\n");
+	}
+
+	pending = label;
+	if (!label)
+		return;
+
+	if (symbol_prefix_char) {
+		printf("DATA(%c%s, ALGN)\n", symbol_prefix_char, label);
+		printf("#define CURRENT %c%s\n", symbol_prefix_char, label);
+	} else {
+		printf("DATA(%s, ALGN)\n", label);
+		printf("#define CURRENT %s\n", label);
+	}
 }
 
 /* uncompress a compressed symbol. When this function is called, the best table
@@ -331,22 +340,22 @@ static void write_src(void)
 
 		return;
 	}
-	printf("#include <xen/config.h>\n");
+	printf("#include <xen/linkage.h>\n");
 	printf("#if BITS_PER_LONG == 64 && !defined(SYMBOLS_ORIGIN)\n");
 	printf("#define PTR .quad\n");
-	printf("#define ALGN .balign 8\n");
+	printf("#define ALGN 8\n");
 	printf("#else\n");
 	printf("#define PTR .long\n");
-	printf("#define ALGN .balign 4\n");
+	printf("#define ALGN 4\n");
 	printf("#endif\n");
 
 	printf("\t.section .rodata, \"a\"\n");
 
 	printf("#ifndef SYMBOLS_ORIGIN\n");
 	printf("#define SYMBOLS_ORIGIN 0\n");
-	output_label("symbols_addresses");
+	output_label("symbols_addresses", false);
 	printf("#else\n");
-	output_label("symbols_offsets");
+	output_label("symbols_offsets", true);
 	printf("#endif\n");
 	for (i = 0, ends = 0; i < table_cnt; i++) {
 		printf("\tPTR\t%#llx - SYMBOLS_ORIGIN\n", table[i].addr);
@@ -370,17 +379,15 @@ static void write_src(void)
 		printf("\tPTR\t%#llx - SYMBOLS_ORIGIN\n",
 		       table[i].addr + table[i].size);
 	}
-	printf("\n");
 
-	output_label("symbols_num_addrs");
+	output_label("symbols_num_addrs", false);
 	printf("\t.long\t%d\n", table_cnt + ends);
-	printf("\n");
 
 	/* table of offset markers, that give the offset in the compressed stream
 	 * every 256 symbols */
 	markers = malloc(sizeof(*markers) * ((table_cnt + ends + 255) >> 8));
 
-	output_label("symbols_names");
+	output_label("symbols_names", false);
 	for (i = 0, off = 0, ends = 0; i < table_cnt; i++) {
 		if (((i + ends) & 0xFF) == 0)
 			markers[(i + ends) >> 8] = off;
@@ -404,15 +411,12 @@ static void write_src(void)
 		printf("\t.byte 0\n");
 		++off;
 	}
-	printf("\n");
 
-	output_label("symbols_markers");
+	output_label("symbols_markers", false);
 	for (i = 0; i < ((table_cnt + ends + 255) >> 8); i++)
 		printf("\t.long\t%d\n", markers[i]);
-	printf("\n");
 
-
-	output_label("symbols_token_table");
+	output_label("symbols_token_table", false);
 	off = 0;
 	for (i = 0; i < 256; i++) {
 		best_idx[i] = off;
@@ -420,34 +424,27 @@ static void write_src(void)
 		printf("\t.asciz\t\"%s\"\n", buf);
 		off += strlen(buf) + 1;
 	}
-	printf("\n");
 
-	output_label("symbols_token_index");
+	output_label("symbols_token_index", false);
 	for (i = 0; i < 256; i++)
 		printf("\t.short\t%d\n", best_idx[i]);
-	printf("\n");
 
-	if (!sort_by_name) {
-		free(markers);
-		return;
-	}
-
-	output_label("symbols_num_names");
-	printf("\t.long\t%d\n", table_cnt);
-	printf("\n");
-
-	/* Sorted by original symbol names and type. */
-	qsort(table, table_cnt, sizeof(*table), compare_name_orig);
-
-	output_label("symbols_sorted_offsets");
-	/* A fixed sized array with two entries: offset in the
-	 * compressed stream (for symbol name), and offset in
-	 * symbols_addresses (or symbols_offset). */
-	for (i = 0; i < table_cnt; i++) {
-		printf("\t.long %u, %u\n", table[i].stream_offset, table[i].addr_idx);
+	if (sort_by_name) {
+		output_label("symbols_num_names", false);
+		printf("\t.long\t%d\n", table_cnt);
+
+		/* Sorted by original symbol names and type. */
+		qsort(table, table_cnt, sizeof(*table), compare_name_orig);
+
+		/* A fixed sized array with two entries: offset in the
+		 * compressed stream (for symbol name), and offset in
+		 * symbols_addresses (or symbols_offset). */
+		output_label("symbols_sorted_offsets", false);
+		for (i = 0; i < table_cnt; i++)
+			printf("\t.long %u, %u\n", table[i].stream_offset, table[i].addr_idx);
 	}
-	printf("\n");
 
+	output_label(NULL, false);
 	free(markers);
 }
 


From xen-devel-bounces@lists.xenproject.org Thu Oct 30 11:08:29 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Oct 2025 11:08:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153494.1483812 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEQVz-0003gc-O9; Thu, 30 Oct 2025 11:08:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153494.1483812; Thu, 30 Oct 2025 11:08:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEQVz-0003gV-LD; Thu, 30 Oct 2025 11:08:23 +0000
Received: by outflank-mailman (input) for mailman id 1153494;
 Thu, 30 Oct 2025 11:08:22 +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 <SRS0=+HTt=5H=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vEQVy-0003gP-9V
 for xen-devel@lists.xenproject.org; Thu, 30 Oct 2025 11:08:22 +0000
Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com
 [2a00:1450:4864:20::32e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id be03ae51-b580-11f0-980a-7dc792cee155;
 Thu, 30 Oct 2025 12:08:19 +0100 (CET)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-46e6a689bd0so9233865e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 30 Oct 2025 04:08:19 -0700 (PDT)
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-429952d3532sm32304362f8f.20.2025.10.30.04.08.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 30 Oct 2025 04:08:18 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: be03ae51-b580-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761822499; x=1762427299; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=KPVei3AC58lafOD+u4KMBRphnbJclXFl+81EB4IY++I=;
        b=gKZJqvV05+2/tzLBm1J6x6zPbNYXILmRO4e8nPKP8Y+jS4dkwfkjtqEGVOjnqANYwO
         P7OZTueobDCc0L40TNEj1sb3QC7DwMv6sRFXRzX5RhAJKvPhmCi+8DrZd2hj+Mxw0Rt9
         Lk9oX34WhFqGmb38Rxmd6kw44Gl6/CV6T7Teb1o8nAaRyVQ5TrZvMm/h3ylsBPGUc0fm
         Gq6ZKhLkRtU57VQyzOruwZNYG8J3jt04X8klasdhBMJ6Rf0ufxkgKHW0Y8YRJKYWMPz0
         7oz6Ywf//yOp5lcgQcAF04icYpi8DBe2GkP0JOYIxXmdAolhmF6Xnhw8EKUuGuWG6EwF
         VmwA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761822499; x=1762427299;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=KPVei3AC58lafOD+u4KMBRphnbJclXFl+81EB4IY++I=;
        b=A4tOkdWWbT//qigXsxeXdDby1d9vriHAFY1MN3RC5LYrpuj2XH8e+waH2s6WXHVoRG
         bS/U3Uw8+71HPxvI1n963Z2eKiUFPmhcmCDfsfcuPBBGWSi8MGUgZtV4dbTLW61ExWTI
         wVhdDgFOogAzbGRs5wIQgtY14bs4vRfrnRgmX5UkaZOfalXmv9oyLL6DXwDh0Rl0y0UH
         2Mzgi4BBETVjR5PB9e/CKwC2zLJdjTpgsZt6EnQ0CQN1gIyK5aGRupizOgK8SVmZPh2V
         KjamPFegrMhGlQslUKkIDlj1tUvDYWf5BTjadBF9GE+WUuYWyx9FtqyqD1k1UwfixRh8
         jw1A==
X-Forwarded-Encrypted: i=1; AJvYcCXpMRv5DVrYXoWC0Mh30ECbQVoCdl95hZgPYOqDJjk/GzNop4L1c8nluYjyqlMFobjcy/kyst9iOX8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzueXDyJzcVCs3J0bDT6fdFHFtns0OJ3aUrjEkHhonQ5pF1HCQX
	8mGgJ+EBtWzsat/UXphLVxyvAXfsrsYUQLsEG7LkTLx131Uz9si3jvt4DAvkz0iEIQ==
X-Gm-Gg: ASbGncsw6Ad5nX11tfp2f49H/Ij2QnsbBlTj6SXP5rIsA/0ieysUQ6GPLo4M2B/VfTR
	pC052wpHlGq/XOy8vjPmtEqoptMwcnPd3Pm0PYPIl6kJfwUEzquplE0PhKjdcgQJXmxiK9VfrFU
	vg0bVNbKEDD3TxODu6q+d2TEyBm1IY3sWeJ73hZNbB/4YMwKS4O/9sSdpGSDcS7RWJCP8e/7QFq
	BlBnNi9B/DdS0a3V0XKgfzQj9Lgn/V+a4bp40Yusj6QW2Wlgd1R17L9INM3TW3wBiQm0hdm6+g3
	RT9tYFz4fmhxNKGh9FFQur/FLEWKsl9u7a8PmQKYEX2I+EOTNulB6Rrp60W33Zfk8fsH1+ntmYg
	51R1FFXDlNwDQIoXiaxat95H2L8/PzhEsk5S9fr2MmOE+17+NMBzkG81BBS3G14g16lm8Q9YHNs
	g9k+KHqv+d2tdt2cHzXWJ+LBVFVthGHgGXkysZzZVj8sEtXOlKS1KIrBXOIaxLkgSFX3HTO4Q=
X-Google-Smtp-Source: AGHT+IHJSGnFXNW9+8W5pXnz7C6OMocJw9Y9PTH6rjCUYCi2bruqxJZ+iATCBFBv3FaLj2Yjwig9TA==
X-Received: by 2002:a05:6000:2c04:b0:427:7ad:cdac with SMTP id ffacd0b85a97d-429b4c89fc8mr2499763f8f.20.1761822498971;
        Thu, 30 Oct 2025 04:08:18 -0700 (PDT)
Message-ID: <308ecf14-e831-47f4-8c64-4005bb4dc857@suse.com>
Date: Thu, 30 Oct 2025 12:08:17 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN][PATCH 1/3] x86/hvm: move hvm_shadow_handle_cd() in vmx code
To: Grygorii Strashko <grygorii_strashko@epam.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Jason Andryuk <jason.andryuk@amd.com>, Teddy Astie <teddy.astie@vates.tech>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20251029235448.602380-1-grygorii_strashko@epam.com>
 <20251029235448.602380-2-grygorii_strashko@epam.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251029235448.602380-2-grygorii_strashko@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 30.10.2025 00:54, Grygorii Strashko wrote:
> From: Grygorii Strashko <grygorii_strashko@epam.com>
> 
> Functions:
>  hvm_shadow_handle_cd()
>  hvm_set_uc_mode()
>  domain_exit_uc_mode()
> are used only by Intel VMX code, so move them in VMX code.

Nit: I think both in the title and here you mean "to" or "into".

> While here:
> - minor format change in domain_exit_uc_mode()
> - s/(0/1)/(false/true) for bool types
> 
> No functional changes.
> 
> Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>

You did read Andrew's request to also move the involved structure field(s),
didn't you? Oh, wait - maybe that's going to be the subject of patch 3. While
often splitting steps helps, I'm not sure that's very useful here. You're
touching again immediately what you just have moved, all to reach a single
goal.

> @@ -1421,6 +1422,64 @@ static void cf_check vmx_set_segment_register(
>      vmx_vmcs_exit(v);
>  }
>  
> +/* Exit UC mode only if all VCPUs agree on MTRR/PAT and are not in no_fill. */
> +static bool domain_exit_uc_mode(struct vcpu *v)
> +{
> +    struct domain *d = v->domain;
> +    struct vcpu *vs;
> +
> +    for_each_vcpu(d, vs)
> +    {
> +        if ( (vs == v) || !vs->is_initialised )
> +            continue;
> +        if ( (vs->arch.hvm.cache_mode == NO_FILL_CACHE_MODE) ||
> +             mtrr_pat_not_equal(vs, v) )
> +            return false;
> +    }
> +
> +    return true;
> +}
> +
> +static void hvm_set_uc_mode(struct vcpu *v, bool is_in_uc_mode)
> +{
> +    v->domain->arch.hvm.is_in_uc_mode = is_in_uc_mode;
> +    shadow_blow_tables_per_domain(v->domain);
> +}

Similarly I wonder whether this function wouldn't better change to taking
struct domain * right away. "v" itself is only ever used to get hold of
its domain. At the call sites this will then make obvious that this is a
domain-wide operation.

> +static void hvm_shadow_handle_cd(struct vcpu *v, unsigned long value)
> +{
> +    if ( value & X86_CR0_CD )
> +    {
> +        /* Entering no fill cache mode. */
> +        spin_lock(&v->domain->arch.hvm.uc_lock);
> +        v->arch.hvm.cache_mode = NO_FILL_CACHE_MODE;
> +
> +        if ( !v->domain->arch.hvm.is_in_uc_mode )
> +        {
> +            domain_pause_nosync(v->domain);
> +
> +            /* Flush physical caches. */
> +            flush_all(FLUSH_CACHE_EVICT);
> +            hvm_set_uc_mode(v, true);
> +
> +            domain_unpause(v->domain);
> +        }
> +        spin_unlock(&v->domain->arch.hvm.uc_lock);
> +    }
> +    else if ( !(value & X86_CR0_CD) &&
> +              (v->arch.hvm.cache_mode == NO_FILL_CACHE_MODE) )
> +    {
> +        /* Exit from no fill cache mode. */
> +        spin_lock(&v->domain->arch.hvm.uc_lock);
> +        v->arch.hvm.cache_mode = NORMAL_CACHE_MODE;
> +
> +        if ( domain_exit_uc_mode(v) )
> +            hvm_set_uc_mode(v, false);
> +
> +        spin_unlock(&v->domain->arch.hvm.uc_lock);
> +    }
> +}

This function, in turn, could do with a local struct domain *d.

>  static int cf_check vmx_set_guest_pat(struct vcpu *v, u64 gpat)
>  {
>      if ( !paging_mode_hap(v->domain) ||

Why did you put the code above this function? It's solely a helper of
vmx_handle_cd(), so would imo best be placed immediately ahead of that one.

Bottom line: The change could go in as is, but imo it would be nice if it
was tidied some while moving.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 30 11:10:35 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Oct 2025 11:10:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153502.1483822 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEQXx-0005Ao-2E; Thu, 30 Oct 2025 11:10:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153502.1483822; Thu, 30 Oct 2025 11:10:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEQXw-0005Ah-Vk; Thu, 30 Oct 2025 11:10:24 +0000
Received: by outflank-mailman (input) for mailman id 1153502;
 Thu, 30 Oct 2025 11:10:23 +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
 <SRS0=5IGd=5H=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1vEQXv-0005Ab-K0
 for xen-devel@lists.xenproject.org; Thu, 30 Oct 2025 11:10:23 +0000
Received: from DB3PR0202CU003.outbound.protection.outlook.com
 (mail-northeuropeazlp170100001.outbound.protection.outlook.com
 [2a01:111:f403:c200::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 06fff14a-b581-11f0-9d16-b5c5bf9af7f9;
 Thu, 30 Oct 2025 12:10:22 +0100 (CET)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by DBAPR03MB6408.eurprd03.prod.outlook.com (2603:10a6:10:194::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9228.17; Thu, 30 Oct
 2025 11:10:18 +0000
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593]) by AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593%3]) with mapi id 15.20.9275.013; Thu, 30 Oct 2025
 11:10:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 06fff14a-b581-11f0-9d16-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=NL3s88FCcDnNwSDPip8aZuRWnhayauKrA3SMXl1YY6mz2t3oplRRUtPa7Ijzpx8vn0xkipRN/DXysVzqMMziNkuzlAglnecnk/o3BalfCjO8cOn1VMsL/4kYfPEYV937tHtR+oZ3PFnYwUEUlkQg/AeTTLXGcUY0BOtwdlK1YkEyV4jI7dFD11gV+zZB8EP2ewgk9hzXTcBzxWxYAcJBvvKS0W9PDI+7pLcsA72L/wUDtQ2xI0NKg1LXsnzYFJCTF6ALlJldWqZu/+ehjMbKSr0gU3uD2PsmlEhh9DY9YRqC7zQpA6L/1cg+SU5hOY4Zj6Ue3G+Tvulh5AZ91iRmMw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=IrohxZxly6XcDkOA6IHvFKj6ZK10AjLi3CU6oDGeaWU=;
 b=zROlx/MgtMAkROmKnInMPL0HoyRJdNJkeDVLorc7Eha7QDcG4i6LB3sKY3W7iSHXuG604IBTBmG2o2kt9Y30LQNfuzOagKCIg4uKiA4oL8bNoAnMgUTiUgz2/9Uc2xZLQR2jmYZHu/AcnStu49Nj4a516HfIw7eH7qQJjUyJ4sX919IZeSM9h53XY6OeFX/y4qQP3cQadN1oWC2CYdD5uVH6w6nZx07YCM26BLODcs83uE6gtUnd7V7gM3IWONF38f+3mMhfCddv3m/sjfU0j9hyqlsGgmY+YrpRg28m+oj/qPTWNvy2jr0SOYXEenxSrOtwNCZSbsLAYqBSiJ+oWQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IrohxZxly6XcDkOA6IHvFKj6ZK10AjLi3CU6oDGeaWU=;
 b=EqaBYLak9Uk7rdEzi7Jfi3sIih9tDnIQv5Oupwjnt2kZsYBcLVeClrkMW4ggN8qSjdOKgvZgIcv5qVroii7ET1Xc83qFuJusF8H99yB2JsCDazj9oo/a2xDR1WUCDaEwVWs2WddeAKfrFQkSm/j5mV8LhUUGnG/rRyVeL5/uZYqFgSOWjyTpNej83OnT4dtRuUYsv9yXQNarv9mx88QmLeHjiYxSHGy207OK8w6+cDybpxiiNnU/AGzPtqAU0j16GCDDWXihWO0h/WO0nHvatbiO7LmSyci8PIUXBw32G5ISTtQ184G7Z59XVuoQ31If1Ww3gs1x9dP6bV1tGydJOQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <5664f69f-729b-41eb-8e39-67609de42e3b@epam.com>
Date: Thu, 30 Oct 2025 13:10:15 +0200
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 08/28] xen/vm_event: introduce vm_event_is_enabled()
To: Penny Zheng <Penny.Zheng@amd.com>
Cc: ray.huang@amd.com, oleksii.kurochko@gmail.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Tamas K Lengyel <tamas@tklengyel.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>,
 xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
 <20251013101540.3502842-9-Penny.Zheng@amd.com>
 <23426fe7-533a-4ffc-9ad5-a620f2ac0cfc@suse.com>
Content-Language: en-US
From: Grygorii Strashko <grygorii_strashko@epam.com>
In-Reply-To: <23426fe7-533a-4ffc-9ad5-a620f2ac0cfc@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: BE1P281CA0161.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:b10:67::18) To AS2PR03MB8907.eurprd03.prod.outlook.com
 (2603:10a6:20b:5e4::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS2PR03MB8907:EE_|DBAPR03MB6408:EE_
X-MS-Office365-Filtering-Correlation-Id: f6cc5e5b-12eb-4562-7136-08de17a4e917
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|1800799024|376014|366016;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?YVFxdThGQlRDN1UxNmhiVkNBUms3NC9nUllTN0JUTm1KQndrZWZVa0RTMW9a?=
 =?utf-8?B?ODhia2VsYytacjQ0bmh5eC8xOUVSNC9EdDhKejdEVlNDa0Q5a1RxSUdHWGVK?=
 =?utf-8?B?Z1ZrOFh3UW91bGpraTJ4eHdwVS9IbGE4UDFyVlQ1ZG53S3IzdUxEL0V6dmJ2?=
 =?utf-8?B?UnZaZ2VWV29ZK0g2NlI1cFpBSExsMmtocUlWZVh6OFFUU3E5UWxnSGFBV1R0?=
 =?utf-8?B?QnFXeWtSZkU4dysvQXVVT1lRZktobXBwNzM1aXpPWVdEQm53SUNNb3FFUDk2?=
 =?utf-8?B?emtmSzJROEh2U2tlN2N4c1lIVDA4ZkdqSTdkRFhoQUVPTEthMUlHV1UyMVA0?=
 =?utf-8?B?S2JIaHJ0K09iQm8xNnlyUGxLTTJxWVhhZmRYZGZza2tQdDA4SmZvMGYvM3Nx?=
 =?utf-8?B?SS9JSkpuV0FITWtmbE40QTdNTml5NzhCR2dDZFdwZndoZC9ZRnNmamZsc0lv?=
 =?utf-8?B?WURzY05ST2tVUzdvdTByN3NRZHhaZ0wwQmFGRWY4dENibHR2RG9vRTNkU28w?=
 =?utf-8?B?MG45VDZ5cVlGVnAzODcvVGZETlFhcGZkTlMxTW9YS2VKTUtlTzRqMGhybmVP?=
 =?utf-8?B?bWZ5SjhHTnl1SE1TdnBVeTRMcy9pN2czeTZabkd6aVdxc2M0RlI4bmg4NTlH?=
 =?utf-8?B?Y0JEbUxodEw4K3AyNUdPZlhId056RnM4ODBDUXZueXRlUzA4cnRwL2prbWgw?=
 =?utf-8?B?dkprTkpFN2RlVzF3VEJtTjRVQ0hwWFlQTjhnYllrdFU2bnBheVRzT1d1WWV3?=
 =?utf-8?B?cWFjNlBEcEgyUFAwR1laandvNDFqeW1FWjlYSlBEQWlPeTZrcnlGS0hkTTht?=
 =?utf-8?B?aVFvVERLYUJTWE9VZUxxRXJ2R1RwTm84bFdOcitWZ1hxb082czFJUnVFRVl6?=
 =?utf-8?B?bWJyTGoweWZMOVZ1QThnT0Q0WE1mZWRaWTZsRUtLNHVReUJOSmh1NElwendJ?=
 =?utf-8?B?UnkxaXBjTjlxZXdFOUxMZCtINFJrdzhEK1FNNUhHMFBLUkwyYWI4TnNDc3V4?=
 =?utf-8?B?aDhma3RZQTBJQ1c2dmU5bnRoYnh6Vm01N2ZUdk0rUXA5Ukwvak82c2FIUmFZ?=
 =?utf-8?B?Q2twU1ZHY1VYaEhDZGljS1JteE52aVVmNk5MaEd5U3pQS1cxVllWV09HQ1V2?=
 =?utf-8?B?NVQzeWQ4aXg5Sm42T3JVYUd0TXA0b3VvNC9nd0VOVUt1NVFqRWp2TXQ1aS84?=
 =?utf-8?B?UkMvUHBGRmNnNTZNaFNDcGVTVTh0WDV3MEFDWjBqeGJYZ3Y3V2JqVDRQRk1W?=
 =?utf-8?B?ZkVCMVhHWDBoeGRhRDlCbVY3a04yelRJQmwzS0tUZ09YZXhrajRPU0Q0aGRR?=
 =?utf-8?B?N2lDSXhaN1FzVXR4UVFEZHBDMG1teEpSbGlYNnc4bzYzWU5nRStUbjRWTkV4?=
 =?utf-8?B?VTQxMVc5dkxFVks0NE44cExjK2hXNmtyLzEyNUo5M094WnN4L2QwQkhnbEwy?=
 =?utf-8?B?NDFOMDEyVGtQN2swbGdlWUltVEdUaS8yRXBnazhubzArd1NrT3RxK3c4cHpH?=
 =?utf-8?B?RlpXaitRbEtGOEhGYTJVWGNPV0EyKzZibXIrbGtpcFByRGtvTFZ1OWwrMDNS?=
 =?utf-8?B?ZXg0a1UvT1pLTWs0ZHE1cUgzdGFPcHdncUU1em9USXBaWkJ0Mk8zWDAvUm9q?=
 =?utf-8?B?dFVFbE1JQ1MxMFNrbGF0QjBRNEV3MERKeU9NUy9Nb3pmby9Wa25rdmp4Q2dG?=
 =?utf-8?B?eWdxb3dkcTJnOVpTaVFLaDZ6ZUUyM1lKZDJKdGRwMzJhdzlCL0lwa0hTRXk3?=
 =?utf-8?B?QnV3VUMrZkRYQ2lHU3VINmdjSlM3cytzMHk4ekZKUUdjSXNUTXA5Z01EQXRo?=
 =?utf-8?B?QTBpZVdwQ0hNcXpRUVVpV1l6Mlo5NXJNVWx4RGEzL0pSc2hxMW9Pby9hZWx2?=
 =?utf-8?B?Tk8rLzRBSFBmNkxUMUZCQVNNdGdzemJQb3FBTXc0eUpSNnVIY3hWS0hzZE5K?=
 =?utf-8?Q?mqdMqYGIS+AoSfs4nmtrdR4MQ83VPoTm?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS2PR03MB8907.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(1800799024)(376014)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RElVeEZ3cStRYzVKUTcxMDQ1MHZiTy94U2c2Y3l5ZHU0bW90YnBMeTI4TGYz?=
 =?utf-8?B?d3Zta2lXT3I1a0VERXdIZmxGR3hSSUZmSEZ0RmhRY3JtcHgrb3Btc0lxSHZU?=
 =?utf-8?B?SkQwTTRQL3pNeGpYNlc5djI2blZhSDl0aFJYTWJyNXUwVDVqNUN1L0VjeGw1?=
 =?utf-8?B?OWhQMElKLzRDWlFGWTBhTWk1OUVPZmlySUg5L3NrYkEyZDZHNUhES0NtUkp5?=
 =?utf-8?B?Q0M2VVNaRzNPdllUUlN1ZTJTSWlSSnhVSk1UN0J0MHM4L1kzUmpCNzE5ZUsr?=
 =?utf-8?B?NmJsVHB3TERMTDI2azViSkRsdWMyd0FtUEt6UkowYjFYVTJHd2o4SkQzRm1Y?=
 =?utf-8?B?am5BRVp0STRTektUYzd6MGZUR0JaZ1NzdTBqclV3dnBMZmdKOCtzSVNJL0Vk?=
 =?utf-8?B?YzlLTW1scThIcTFNckJvYjhzQStkcTg4UjJWczNzTDV6bENyV0xDTTRENVJH?=
 =?utf-8?B?d3BVbTFVck9KdUM5Tm51b29mcGl5ck5Ia2RhR2Q0c3VrTDFIeVFyNGlFWGR3?=
 =?utf-8?B?SEJGU09rdUluaXh3NXNnZEhHeDZ5ZUs0VUI5S2t4YXRsdGFnNDc2a09OWSsx?=
 =?utf-8?B?dmJoblh6Nk9xZTdOOXZ2Y3VCaWRzbHEvV1d5TFNHaUhkTVQ5bk0rM1J1bWI3?=
 =?utf-8?B?SnJEYlptT2tXZnZKTU40cGlWMFdvUXg5RFRFUjluYkNURHBNTGxqaEFVdEIw?=
 =?utf-8?B?TTdPM0pVL0xhTlp5azRkY3NxaVMwNFNveTdoVnNWVi9lTjI4NmVjcERLYmha?=
 =?utf-8?B?VUNYcVF4cm5jKzlXVnladi95Z2dvaDlFdnhvdFpZZlFVUjE4OHJpcVZTYkF0?=
 =?utf-8?B?ajdXZml5djR4SERYZCtIZWxHbjRBTFE4NjhOV3VJN1Jtbi9qRnRBWEpUUDds?=
 =?utf-8?B?ZzdQTjFnUmpVY3FJdXp0NitNd0JpYTRrQXBFSHlyVUdRdnlGblJ1UUhUNWp3?=
 =?utf-8?B?NUsxQnZlWmcwa2t2SldQNFZ1dDdqT3NwdWlWMjZQdktSZm9SRkdpbzJSd2o1?=
 =?utf-8?B?VTJ1TFNCa3VEVnNpYlppc1Uzd1Z6YjJlZVhyQXdTdm5CU0JDdmp0QWl3Ujg5?=
 =?utf-8?B?WjNJOFlxUzNERmZaSVpobWhoK1N6aDNHUm81b2Y4eW5EVEt4NXZ2ck5tTDY2?=
 =?utf-8?B?dmtNeEo2MmpJQ0FGSGw3ODJla0RJZFNKcHkwWHFSSHpBUXBRb1I3ZnJnaXRU?=
 =?utf-8?B?Zk9tSVhNQ3duS3p0R0JoaXdFNmxjNkdpamdvSExWVG9mUldEenZaWWlzUUgz?=
 =?utf-8?B?d2RSRmM0SGN1OGRlRHNWaGhSNkJCd1A4cFJPR1NKeEhYR1hHUUM3cDYrVUY3?=
 =?utf-8?B?UnFpOERhOWZEY3N1SGl1eWkyTHYzbU1IemxIRU1VUTBVTHZRUTdIYmJsWU91?=
 =?utf-8?B?QjVkWVk4OGVmeGM5TEhnME54ZmNwZVZVc09zOHA3NUE0U2dxM2RTTzM0eG5L?=
 =?utf-8?B?SXJ3UEQ5VGEwYUNYZzloN21rOFFVWTgzTUZ1NmYvaFFJeTlUOVN1emQvdDJ5?=
 =?utf-8?B?SWwxcENXNk9vUmJBVWJDZkI0bnNaNk1wck5Qcmc2ZHl4MXlQbW81TS9PNUxu?=
 =?utf-8?B?MGh1cllKWnhockQwUlp1dkZxUUp6Z0tyMlFnUEN6NzJBQ1hJN1pKUHRTUmVC?=
 =?utf-8?B?bzRzSk9JTHdMRWlTa0pFU05oK2EwWEkvVklrOUM4eWQ4NXR2WHkzV0dHYlhU?=
 =?utf-8?B?RlZ0MHRBdU4zTDhISmU5c0Z5S2NzTlJlL200aUdtekZ5VFhOQjRCYUVZcDlT?=
 =?utf-8?B?Q0Rpendta3gzc1JVUUZKVjdHa29Tb0ZpTnR2SjJxTkROcFA4eWkyWWlrWmg0?=
 =?utf-8?B?d1dtWWdHbmlWTUVpWThncXQ3MHBmeUFqUkNKeTVhYU03YS80NjE2K3BYUWpB?=
 =?utf-8?B?WTlreWlsNlFuUU9sQ251Q09EenllSzcrdndYWUZscWNiMU1lZzl3VlFibENv?=
 =?utf-8?B?cjdDb1BES0psQlVPTytVbGF5Ni9Nc2lkb3JLcWYrMlJuaHBaSUtmTzd6S1ln?=
 =?utf-8?B?QnRNVXJONGpCU1V2eTdTUlhOSUxmUm5CSTFONmdSYWxrdTk4Z3lZMDZJRm0v?=
 =?utf-8?B?bmkwYTZyQ1IzZ3pmTnBOZ2lCNTZOMy94WWFDNnFCRkZNOXZsVEVPUUlpNllY?=
 =?utf-8?B?cE41b0s1ZmxTcE8zMTd4ZW02cmM2WVpNeGt5WjV3clpJSVVNbWdzZnppKzc2?=
 =?utf-8?B?aUE9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f6cc5e5b-12eb-4562-7136-08de17a4e917
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Oct 2025 11:10:18.7411
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: H9q9pKmSzrwSZBOQEztlbA7GvKxaNfOFemZVwLKacB+oEQD3Y7p1jP8SEqk6MgzPApwRFRKIvWsS1jTYr8IePqFS4Nl7LwLPR8kIeKRnVXM=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR03MB6408

Hi Penny,

For some reasons this patch is not in the list nor in patchwork.
At least I can't find it :(

On 29.10.25 17:02, Jan Beulich wrote:
> On 13.10.2025 12:15, Penny Zheng wrote:
>> @@ -2340,6 +2341,7 @@ int hvm_set_cr0(unsigned long value, bool may_defer)
>>            (value & (X86_CR0_PE | X86_CR0_PG)) == X86_CR0_PG )
>>           return X86EMUL_EXCEPTION;
>>   
>> +    may_defer &= vm_event_is_enabled(v);
> 
> I think this wants to move to the very top of the function, so that it's clear
> that all uses (current and future) in the function are covered. Same for the
> sibling functions, of course.
> 
>> @@ -3544,6 +3548,7 @@ int hvm_vmexit_cpuid(struct cpu_user_regs *regs, unsigned int inst_len)
>>       struct vcpu *curr = current;
>>       unsigned int leaf = regs->eax, subleaf = regs->ecx;
>>       struct cpuid_leaf res;
>> +    int ret = 0;
>>   
>>       if ( curr->arch.msrs->misc_features_enables.cpuid_faulting &&
>>            hvm_get_cpl(curr) > 0 )
>> @@ -3560,7 +3565,10 @@ int hvm_vmexit_cpuid(struct cpu_user_regs *regs, unsigned int inst_len)
>>       regs->rcx = res.c;
>>       regs->rdx = res.d;
>>   
>> -    return hvm_monitor_cpuid(inst_len, leaf, subleaf);
>> +    if ( vm_event_is_enabled(curr) )
>> +        ret = hvm_monitor_cpuid(inst_len, leaf, subleaf);
>> +
>> +    return ret;
> 
> Just to mention, could also do without a new local variable:
> 
>      return vm_event_is_enabled(curr)
>             ? hvm_monitor_cpuid(inst_len, leaf, subleaf)
>             : 0;
> 
>> @@ -3860,9 +3869,11 @@ int hvm_descriptor_access_intercept(uint64_t exit_info,
>>       struct vcpu *curr = current;
>>       struct domain *currd = curr->domain;
>>   
>> -    if ( currd->arch.monitor.descriptor_access_enabled )
>> +    if ( currd->arch.monitor.descriptor_access_enabled &&
>> +         vm_event_is_enabled(curr) )
> 
> While functionally it won't matter, logically this looks the wrong way round.
> In principle I'd expect the "monitor" field to also disappear when VM_EVENT=n,
> at which point the order will need to be the other way around anyway (as the
> explicit CONFIG_VM_EVENT then needs to come first).
> 
>>       {
>>           ASSERT(curr->arch.vm_event);
>> +
>>           hvm_monitor_descriptor_access(exit_info, vmx_exit_qualification,
>>                                         descriptor, is_write);
>>       }
> 
> Stray change (especially in an already big patch)?
> 
>> @@ -2551,7 +2552,7 @@ void asmlinkage svm_vmexit_handler(void)
>>       uint64_t exit_reason;
>>       struct vcpu *v = current;
>>       struct vmcb_struct *vmcb = v->arch.hvm.svm.vmcb;
>> -    int insn_len, rc;
>> +    int insn_len, rc = 0;
> 
> This is almost 200 lines apart from ...
> 
>> @@ -2720,11 +2721,14 @@ void asmlinkage svm_vmexit_handler(void)
>>                       break;
>>               }
>>   
>> -            rc = hvm_monitor_debug(regs->rip,
>> -                                   HVM_MONITOR_DEBUG_EXCEPTION,
>> -                                   trap_type, insn_len, 0);
>> -            if ( rc < 0 )
>> -                goto unexpected_exit_type;
>> +            if ( vm_event_is_enabled(v) )
>> +            {
>> +                rc = hvm_monitor_debug(regs->rip,
>> +                                       HVM_MONITOR_DEBUG_EXCEPTION,
>> +                                       trap_type, insn_len, 0);
>> +                if ( rc < 0 )
>> +                    goto unexpected_exit_type;
>> +            }
>>               if ( !rc )
>>                   hvm_inject_exception(X86_EXC_DB,
>>                                        trap_type, insn_len, X86_EVENT_NO_EC);
> 
> ... where it first comes into play. I wonder whether the initialization
> wouldn't better move closer, also for the code to be less fragile going
> forward (where a new earlier use of rc might easily appear). Or, like VMX
> code has it, limit the scope of "rc" (requiring several instances then in
> relatively narrow scopes).
> 
>> --- a/xen/arch/x86/include/asm/vm_event.h
>> +++ b/xen/arch/x86/include/asm/vm_event.h
>> @@ -45,4 +45,13 @@ void vm_event_sync_event(struct vcpu *v, bool value);
>>   
>>   void vm_event_reset_vmtrace(struct vcpu *v);
>>   
>> +static inline bool vm_event_is_enabled(struct vcpu *v)
> 
> Pointer-to-const please for (almost?) all predicate-like functions.
> 
>> +{
>> +#ifdef CONFIG_VM_EVENT
>> +    return v->arch.vm_event != NULL;
>> +#else
>> +    return false;
>> +#endif
>> +}
> 
> As long a vm_event is always a member of struct arch_vcpu, IS_ENABLED() should
> be sufficient here? Or did you merely forget to add an #ifdef around the field
> as well? Albeit I realize that would break with e.g. the use in
> hvmemul_rep_outs_set_context(). Otoh that function (and likely others there)
> should be compiled out when VM_EVENT=n. Maybe that's the subject of the next
> patch ...
> 
> Jan
> 

-- 
Best regards,
-grygorii



From xen-devel-bounces@lists.xenproject.org Thu Oct 30 11:12:18 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Oct 2025 11:12:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153513.1483832 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEQZl-0005kG-H5; Thu, 30 Oct 2025 11:12:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153513.1483832; Thu, 30 Oct 2025 11:12:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEQZl-0005k9-EV; Thu, 30 Oct 2025 11:12:17 +0000
Received: by outflank-mailman (input) for mailman id 1153513;
 Thu, 30 Oct 2025 11:12:15 +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 <SRS0=+HTt=5H=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vEQZj-0005k1-IZ
 for xen-devel@lists.xenproject.org; Thu, 30 Oct 2025 11:12:15 +0000
Received: from mail-wr1-x42a.google.com (mail-wr1-x42a.google.com
 [2a00:1450:4864:20::42a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 49d07af0-b581-11f0-9d16-b5c5bf9af7f9;
 Thu, 30 Oct 2025 12:12:14 +0100 (CET)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-429b85c3880so628524f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 30 Oct 2025 04:12:14 -0700 (PDT)
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-429952cb55asm31617277f8f.17.2025.10.30.04.12.13
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 30 Oct 2025 04:12:13 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 49d07af0-b581-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761822734; x=1762427534; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=t6pg0tkMpRg5zJ6c+s0afH5KumfJRk5TOLT72LUWPVM=;
        b=Qm4eEhTiQWv5eSasSqgdBzSHm6P4AcsOwqlHJdRHaBYjI40RyT7mwNyXw44ylRQjPw
         UafSpHT7SwiGZsyfmCPQyZf5oRY15hq6lEGgu6YkI/iNX4KAnTIrGYAtpS6NtcW56ckZ
         eSKPyiisBau2wrid8Da3b0lo/epxD9KR/RuvVMNPdOY8+PGj88rXsIIVA/3SqA9eMNlb
         mejrMWFlgU7AHpHtiUe/K/cfUjmttQgcHFsvDHb2nn6nE420mQ6SfEbaQzLZEMcHXjKs
         GRmEZtiQf6oTLg5BDuvipwJ2np460sLCEhWf+hfdz+EDWmJBuTC7yduNvAlK/BSHmsOX
         Nq+w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761822734; x=1762427534;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=t6pg0tkMpRg5zJ6c+s0afH5KumfJRk5TOLT72LUWPVM=;
        b=kecMBOPzqin2d2tsDpmM2NOiJA1QxXkFRViJezpqvb9c1FM1ndCWACOAxQnNTb0Pxi
         mnZnSEUSw/ZxuWeGHd6cD97XoylmmFSonBZ83AoeaaRCuVJUjbBOQEKu+V3Y0C4aHskq
         N1j8PgncKTjeBVpLcHQn/h2vNsJY/FfC7Y4mWtROx26X84foXv6v4O91DJgDfC6oTdQy
         0rCcVcKAe6N4xVnSQJNn7rJ0DeClOADmSRlkpsUSNA5F0bXwSiz+VU+E1daUrH6U84w+
         GC/Uv3odrnzQfbECJ99XGY8oAX8OE6QNdbg8xwagTmjh31Ho/I+Ji1S6tXjacDnuzDE3
         d9jg==
X-Forwarded-Encrypted: i=1; AJvYcCU/mUiDNzFjxRFHiEnK1KrFxN9BdV8qsnk+3OA+DLdfl/vERugSHhM5KP0X7Ut0Yy5KQcxoENkaPD4=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx8Tn7OivfJ0la9ctc7hOwL1Ye8SeE5Gt22tMQNpGTVnJ9XI/rB
	kQWyXtg288m4TyeEr+9GnBtgPBC7MO1JSAhiFXzjQ4cUZ2heTSq+AIflVUphH9R2cw==
X-Gm-Gg: ASbGncvCfru/4aiG7ELTLsb3WW16FBOShg1XssYzwYTHSlPEhnjOPWZN1fkQz0wkZGD
	htVXgh9XUi/uXUHHKZpMXnmsGTncTr9+54ic+bKsAipBdXs/q6j7n740WwhVDu3Sj9rXUH0syNJ
	p1gyw/bPZotPm8KBKO2qKEWNpkJEODjhHFhcn9skmSg3JlHlj1MN3qehL7YYuQ8Xe1sSIPJ7f7J
	eETUITgNm0WRhYQ4Lx67dA0FB67uUHIY6+mfpG0S+9jvRABtymtiYsh+5Rw2MKuar2pLrrRs/T0
	1vkMuGYgQ0xf15NVgOQjXdTZpUapeChxNFJ4/CxCpqGjdsXVDSonDV0u4Yg0MrziEZIvJFQx5lP
	/JOiF3DurUKCOfiwLCcMTseev+b/yzXeuXGGPQSkmrVrFgJdYmgaPs+cbWTbrQ4dY7y5nlKzrZw
	TflJiAAUz4gJX5/QneJil/HG2WxKTSgU2fbp7aAQ6xmoejjnX8NWT7XUIvOlcl
X-Google-Smtp-Source: AGHT+IEt0MiQ7zg/8DI8tgyNkMeuq1IzuaZlFaMPeEvdTw2AyOwpOx/geB7ed8WF5k5HO5aKurkO0Q==
X-Received: by 2002:a05:6000:491c:b0:429:8bfe:d842 with SMTP id ffacd0b85a97d-429aef735c9mr5187353f8f.4.1761822733882;
        Thu, 30 Oct 2025 04:12:13 -0700 (PDT)
Message-ID: <32fd9825-45b7-470c-ad0e-f1941faa4d52@suse.com>
Date: Thu, 30 Oct 2025 12:12:12 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN][PATCH 2/3] x86/hvm: vmx: account for SHADOW_PAGING when use
 hvm_shadow_handle_cd()
To: Grygorii Strashko <grygorii_strashko@epam.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Jason Andryuk <jason.andryuk@amd.com>, Teddy Astie <teddy.astie@vates.tech>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20251029235448.602380-1-grygorii_strashko@epam.com>
 <20251029235448.602380-3-grygorii_strashko@epam.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251029235448.602380-3-grygorii_strashko@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 30.10.2025 00:54, Grygorii Strashko wrote:
> From: Grygorii Strashko <grygorii_strashko@epam.com>
> 
> The hvm_shadow_handle_cd() can be used only with SHADOW_PAGING=y,
> so guard hvm_shadow_handle_cd() call with IS_ENABLED(CONFIG_SHADOW_PAGING).
> 
> bloat-o-meter
>  add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-290 (-290)
> 
> Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>

Requested-by: <me> (or some other of the available tags)?

> --- a/xen/arch/x86/hvm/vmx/vmx.c
> +++ b/xen/arch/x86/hvm/vmx/vmx.c
> @@ -1506,7 +1506,7 @@ static int cf_check vmx_get_guest_pat(struct vcpu *v, u64 *gpat)
>  
>  static void cf_check vmx_handle_cd(struct vcpu *v, unsigned long value)
>  {
> -    if ( !paging_mode_hap(v->domain) )
> +    if ( IS_ENABLED(CONFIG_SHADOW_PAGING) && !paging_mode_hap(v->domain) )

I don't think there's a need for IS_ENABLED() here - you can simply switch to
using paging_mode_shadow(). That would be more correct anyway, for the abstract
case of there being a 3rd paging mode. With the adjustment:
Reviewed-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 30 11:24:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Oct 2025 11:24:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153528.1483842 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEQl7-0007dJ-JZ; Thu, 30 Oct 2025 11:24:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153528.1483842; Thu, 30 Oct 2025 11:24:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEQl7-0007dC-Fm; Thu, 30 Oct 2025 11:24:01 +0000
Received: by outflank-mailman (input) for mailman id 1153528;
 Thu, 30 Oct 2025 11:24:01 +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 <SRS0=+HTt=5H=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vEQl7-0007d5-5e
 for xen-devel@lists.xenproject.org; Thu, 30 Oct 2025 11:24:01 +0000
Received: from mail-wm1-x334.google.com (mail-wm1-x334.google.com
 [2a00:1450:4864:20::334])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id edb93d23-b582-11f0-980a-7dc792cee155;
 Thu, 30 Oct 2025 12:23:58 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-471191ac79dso10366065e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 30 Oct 2025 04:23:58 -0700 (PDT)
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-4771906af34sm63049965e9.14.2025.10.30.04.23.57
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 30 Oct 2025 04:23:57 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: edb93d23-b582-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761823438; x=1762428238; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Un0AxXYf3WeD6i4MvWi8fdAtJo5uCn8b/Qq3EMnL41Y=;
        b=UW7YQ9aZUGM4r0a+QF8Y19GED2TDjYkFrzFmhFQp5uH+48OEAAORNpQwt8O3RQ+fSK
         hVcYZIRIqUBkJ4erDuldJnZjFFRIShDs6NT1FQd8GfekiMDe53KQzl2lJq4KTpWzIFGW
         22lvWw6CQIgBPsJOmILQ8n8UIBZ1q+ZXmbSwasYBav6BtA64W3rmP+E79JeKO4E8F1aJ
         yEhJZzufsUZcZx5HzLCdMJXsFR2ONBBikPepTYJGJXb3sE7+e01KHu0e+oNZwVUjR2IJ
         FJTIP5w1DGkh0jDrct1IMpEhXrulSPg53c6sRR5iJJ9N2qk2T91CORUR/pth5mohIogo
         q9ZQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761823438; x=1762428238;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Un0AxXYf3WeD6i4MvWi8fdAtJo5uCn8b/Qq3EMnL41Y=;
        b=VHjiBcxCh6w4VKlBRtiCUnCenqHB/iLjP8QDTy06wJvIKHJiyU9cSdW15lErnLw5Ta
         IuCjraLzL5zfujsl+RrvEWBwWz4xFHm2jCPoztuiCpR6jmUfaNj/lidCBAIGfoJvAcQg
         Fn4IVBLBFui74ZWqJpCV+4LtsSO0hsb5bEOqi/gIH0rtavf9l6PTIxCdnn7fATVZ62br
         TDgdOM8Eo+2gxs05EoAle4LZ5ko6bdpmS4UIU6FOiW8JVFp1h330h7foJFlQrfhAZGVq
         mJgg1W1/iwAkhJ6N4BOMGUOGewU2NNdyKoOwo/Gh5afeE1Mc5J8dlIb1s4d841k0x6Kr
         f4Vg==
X-Forwarded-Encrypted: i=1; AJvYcCU0GO9Yzk5EoYR06ERjCS9FHz6OlbBUgMRBuVcbcjDlVBx++YhxxzH5K4gOI1LcnmhHw8SMev7tJPM=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yys36AwautCLtA9ygxa22P/BD4jxbcsJMaSoYsbU+AOFM4MTmgW
	F+ALLdQLgm1yX+bO5Sqwpw4jt9LVRXL6saTfCp9U8YWIqVGJvx6yLX0zyI9sWGOzPw==
X-Gm-Gg: ASbGnct3hWRoPVi0bAE3tIqDxA01ym8XZ1tc/0k/tHHGKJsfG29BKTy68Ahc+Ged/KA
	0EHF26RzQF+2xY70bEmGRao59r599h2VdZMBScYWZnyzT3jmwdHmXi3ClZ5N7+ooSbicl0YstWK
	HL0X7jbkJ5HSDpHs+Udun+3iIUPcV02DHRd2t5kYUddMVZ2yxl9dIewOwWMs5Ny/oOE9spxEyRj
	5cHczICkWhSv9WaZuNDqcZPYoBLtz+6b7mK9x7J3W6W987hDawGmrffv9X6fIDS+2MzxTPHF7Xi
	keGWeXFf/9a5y9S1uTYN+g/CX/Ee+zM80vHHVehxzY2mAEEuHgYVAGMfGhMeZP5WWNAb/sCG/Op
	HPBp9gelHcQDOqGKBqgZrwpSwru/w4/WO4rNQp3VjvyeMqzR36kvTCCU6YY3porDfF6cBD4QOe/
	RNw5WxBe8HMvU4d4TJU/LR9EdM1ZDqOjDJbhAa1Ni8+YdZ8Tm+xxgqOmxDCwcK
X-Google-Smtp-Source: AGHT+IH+nJvR7m+ccNulcSzuF5Oghtb52N1Ckogd8oR1sIgdhHnz0saiD+p83ticJeGF22qQL8vXDA==
X-Received: by 2002:a05:600c:3509:b0:45f:2cb5:ecff with SMTP id 5b1f17b1804b1-4771e1edaa4mr62367795e9.31.1761823438198;
        Thu, 30 Oct 2025 04:23:58 -0700 (PDT)
Message-ID: <52395897-0e7f-4d24-8a28-0a303ff717b5@suse.com>
Date: Thu, 30 Oct 2025 12:23:56 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN][PATCH 3/3] x86/hvm: vmx: refactor cache disable mode data
To: Grygorii Strashko <grygorii_strashko@epam.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Tim Deegan <tim@xen.org>, Jason Andryuk <jason.andryuk@amd.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20251029235448.602380-1-grygorii_strashko@epam.com>
 <20251029235448.602380-4-grygorii_strashko@epam.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251029235448.602380-4-grygorii_strashko@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 30.10.2025 00:54, Grygorii Strashko wrote:
> From: Grygorii Strashko <grygorii_strashko@epam.com>
> 
> The Cache Disable mode data is used only by VMX code, so move it from
> common HVM structures into VMX specific structures:
> - move "uc_lock", "is_in_uc_mode" fields from struct hvm_domain to struct
> vmx_domain;
> - move "cache_mode" field from struct hvm_vcpu to struct vmx_vcpu.
> 
> Hence, the "is_in_uc_mode" field is used directly in mm/shadow/multi.c
> _sh_propagate(), introduce the hvm_is_in_uc_mode() macro to avoid direct
> access to this field and account for INTEL_VMX configuration.
> 
> Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>

Requested-by: Andrew ?

> --- a/xen/arch/x86/hvm/vmx/vmx.c
> +++ b/xen/arch/x86/hvm/vmx/vmx.c
> @@ -583,6 +583,7 @@ static int cf_check vmx_domain_initialise(struct domain *d)
>      int rc;
>  
>      d->arch.ctxt_switch = &csw;
> +    spin_lock_init(&d->arch.hvm.vmx.uc_lock);

I don't think this is the best place; in any event it wants to be separated from
adjacent code by a blank line. I'd prefer if it was put ...

>      /*
>       * Work around CVE-2018-12207?  The hardware domain is already permitted

... below this CVE workaround.

> --- a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
> +++ b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
> @@ -46,7 +46,9 @@ struct ept_data {
>  
>  #define _VMX_DOMAIN_PML_ENABLED    0
>  #define VMX_DOMAIN_PML_ENABLED     (1ul << _VMX_DOMAIN_PML_ENABLED)
> +
>  struct vmx_domain {
> +    spinlock_t uc_lock;
>      mfn_t apic_access_mfn;
>      /* VMX_DOMAIN_* */
>      unsigned int status;

Any reason to make this the very first field of the struct? It might better
live adjacent to the other field you move; there's going to be some padding
anyway, afaict.

> @@ -56,6 +58,12 @@ struct vmx_domain {
>       * around CVE-2018-12207 as appropriate.
>       */
>      bool exec_sp;
> +    /*
> +     * If one of vcpus of this domain is in no_fill_mode or
> +     * mtrr/pat between vcpus is not the same, set is_in_uc_mode.
> +     * Protected by uc_lock.
> +     */
> +    bool is_in_uc_mode;

Imo while moving, the is_ prefix could also be dropped. It doesn't convey any
extra information on top of the in_, and I think we prefer is_*() also as
typically function(-like) predicates. (I.e. in hvm_is_in_uc_mode() I'm fine
with the name.)

> @@ -93,6 +101,9 @@ struct pi_blocking_vcpu {
>      spinlock_t           *lock;
>  };
>  
> +#define NORMAL_CACHE_MODE          0
> +#define NO_FILL_CACHE_MODE         2

As you necessarily touch all use sites, could we switch to the more common
CACHE_MODE_* at this occasion? Also imo these want to live ...

> @@ -156,6 +167,9 @@ struct vmx_vcpu {
>  
>      uint8_t              lbr_flags;
>  
> +    /* Which cache mode is this VCPU in (CR0:CD/NW)? */
> +    uint8_t              cache_mode;

... right next to the field they belong to.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 30 11:28:42 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Oct 2025 11:28:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153537.1483851 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEQpd-0008T4-42; Thu, 30 Oct 2025 11:28:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153537.1483851; Thu, 30 Oct 2025 11:28:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEQpd-0008Sx-1F; Thu, 30 Oct 2025 11:28:41 +0000
Received: by outflank-mailman (input) for mailman id 1153537;
 Thu, 30 Oct 2025 11:28:39 +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 <SRS0=+HTt=5H=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vEQpb-0008Sr-Rc
 for xen-devel@lists.xenproject.org; Thu, 30 Oct 2025 11:28:39 +0000
Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com
 [2a00:1450:4864:20::42e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9401c05d-b583-11f0-980a-7dc792cee155;
 Thu, 30 Oct 2025 12:28:37 +0100 (CET)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-4285169c005so548395f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 30 Oct 2025 04:28:37 -0700 (PDT)
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-477289998f3sm37975135e9.4.2025.10.30.04.28.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 30 Oct 2025 04:28:36 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9401c05d-b583-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761823717; x=1762428517; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=JUsOIBuJMtO3waOWgGDHcQ4oqntfNbAMQQfm2u29Ey0=;
        b=TRRiWa1gY407jtDx4LcgOC3npjkHRsWxTGWMP12cwOHYxB4vqk5yl4LhlLYvT5JRkw
         G9fpe1txxlRFf/NWa27qPP+eU0l8f01Bl4xGwPebDcac65uYe5gJ47TUMQKfscEE7hau
         985ZkmB0f5jALvttpcy4/X/hFaIenqRJqtWRTeBJXfKSGhnglg1XJTbt97afNgplZ8VJ
         4hOaJfq3WjiIcrw5GkpVS3KQPiCXloJyNGeP0qOf4uV2YXfF8vO6qCEAzyWAh8cN63L7
         GLs2V3fl1uPwWZoJRgThcsO+ltHFeEa1Z6M/EEPfGsKJbBuRbgNBf1M7ysg+zzksMx1C
         MhOg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761823717; x=1762428517;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=JUsOIBuJMtO3waOWgGDHcQ4oqntfNbAMQQfm2u29Ey0=;
        b=f9DdTGauvjfDekFxM4Ya/Kw1Y+zgJvBGogLzVSu5u30hyNOCrsPMgBsI4/WZjzb5J4
         AL6ojG1c+qJSUqY3Yk0yyhxTbmuATc8+mEKKfDCvBx5758BjeuEp8lCFGLmXNQu9kF9n
         oOdrqzDqUGMKo+kRtucxCJCK1lmRLNzKLxYyrh1d9D55/8ato0ubu91ecp7DQtW5worC
         4i+B/U7hgx7Va/cmuBpEdPYqZN+yZ5XDGyjumQsRycf5UjqeimLJum3ODTzIJtui4985
         O8XqM4PtZnX67QhC9HdV7SaMsCKEbUohdbc7JAV0AaTHKXsPtLppYFbbPS6ffif52qqr
         rGMg==
X-Forwarded-Encrypted: i=1; AJvYcCWHHuw8hFrKr/5Plq3FOEOr64jPwJEc9pbOODVMJfco0HsE6rmNVMA4CVYNm4N67ra7Y17cc2Q2DA8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxiJPexzBC4ZOEnio5caKCrPfwf7Nwpu3qTEt+ifACCWV8qa1Xh
	QdClT/Pc4Ivob9XHtpNltjpKjj8CzooykJ9XSHhvPkr6wyXcDWWDr7+2bEL9Luj68g==
X-Gm-Gg: ASbGncvWT/dSBcaMMvJlzAdSbLFa8P2mN4z6HqVAG+QItu+mG98/k1e5+lKf5CNZs1O
	2ru2yw6TyOmtOvVEiUe5Cj+f+weJrvyLAMjkl4VuIYSmlysKMTA6sMgjVuGT00ww+4/BSzp2RvA
	XH0Y0q2aNKmm43tLP3xStdjmGHt+3Fe+MlN1ICXCCmK6/gACKpdcn17SXcsabFUx25i5TMPvqNP
	EwUVdRklBsqfyTIfnOTu/21mOca/qMj62GZeTk+QNBWGR3mpbPJPT93FilKnAOKdBa9xfogpPsa
	gN74MpW8S6fdIhPZY88RdhbvEu9U3IkoFM2j7/Z6cBB0+q8qfoWzKVy7/U9q/xijJ61QA26dDT5
	njPF3jVt7Zg6Fch3vpMyAf+TyaMLxKSH7tRkbAvSqow+wkZWXYgQ3IotuSfpS6g2AzitvtE+kJh
	eQO1aL2zA9k+1elm1AXDXjIbUBTpUT2/oOFY0ak28v1Phc8qTlOl7Hv2YXeJOUzksBjgq36l8=
X-Google-Smtp-Source: AGHT+IG7ElBtN0wmB2+fWeDEZCHRL5H6FgQPJskmXPmxJarNy12JkSHpL/pcnDeI3E9Mf4vV+XbNtA==
X-Received: by 2002:a05:6000:220f:b0:3c7:df1d:3d9 with SMTP id ffacd0b85a97d-429aefb9b7emr5418680f8f.39.1761823717222;
        Thu, 30 Oct 2025 04:28:37 -0700 (PDT)
Message-ID: <91c9b1e1-e0a8-4a68-9b8f-abbf9ca2c406@suse.com>
Date: Thu, 30 Oct 2025 12:28:35 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 12/28] xen/domctl: wrap
 domain_pause_by_systemcontroller() with MGMT_HYPERCALLS
To: Penny Zheng <Penny.Zheng@amd.com>
Cc: ray.huang@amd.com, oleksii.kurochko@gmail.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
 <20251013101540.3502842-13-Penny.Zheng@amd.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251013101540.3502842-13-Penny.Zheng@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 13.10.2025 12:15, Penny Zheng wrote:
> Function domain_pause_by_systemcontroller() is responsible for
> XEN_DOMCTL_pausedomain domctl-op, and shall be wrapped around with
> CONFIG_MGMT_HYPERCALLS. Otherwiae it will become unreachable when
> MGMT_HYPERCALLS=n and hence violating Misra rule 2.1.
> 
> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
> ---
> v1 -> v2:
> - adapt to changes of "unify DOMCTL to MGMT_HYPERCALLS"
> - provide transient wrapping around XEN_DOMCTL_pausedomain-case
> ---
> v2 -> v3:
> - remove transient wrapping around XEN_DOMCTL_pausedomain-case
> - address "violating Misra rule 2.1" in commit message

Fine with me, but imo this purely mechanical change wants combining with the
similar ones in patches 14 and 16, both touching the same file.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 30 12:07:21 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Oct 2025 12:07:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153562.1483862 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vERQx-00063J-3w; Thu, 30 Oct 2025 12:07:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153562.1483862; Thu, 30 Oct 2025 12:07:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vERQx-00063C-07; Thu, 30 Oct 2025 12:07:15 +0000
Received: by outflank-mailman (input) for mailman id 1153562;
 Thu, 30 Oct 2025 12:07: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
 <SRS0=5IGd=5H=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1vERQv-000636-Vo
 for xen-devel@lists.xenproject.org; Thu, 30 Oct 2025 12:07:14 +0000
Received: from AS8PR04CU009.outbound.protection.outlook.com
 (mail-westeuropeazlp170110003.outbound.protection.outlook.com
 [2a01:111:f403:c201::3])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f5670657-b588-11f0-980a-7dc792cee155;
 Thu, 30 Oct 2025 13:07:08 +0100 (CET)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by AS8PR03MB7522.eurprd03.prod.outlook.com (2603:10a6:20b:345::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9275.13; Thu, 30 Oct
 2025 12:07:05 +0000
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593]) by AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593%3]) with mapi id 15.20.9275.013; Thu, 30 Oct 2025
 12:07:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f5670657-b588-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=MwuOBgCmrnrrtZRssw8xX5Yt9+R0OfUBxej7B5cr0Nrt9Ln9QQLET4XgN9G1ne4ELVLzTHH6KURAxGvI+XwhptTJ7JYCzUtSEr8JagRzRApVBOHzgBRgr/cPwc6yb7yLs8rVytq+1LDlsYy7v6eLxwvXxdiK6qrI753g1kO0kMpsxF+G6J1V4KAISZTI+7hT1JEgtVORjjw8MU0UUgs2bWxJYuI+KKMjh+AdQG8kudf2J2wcwJCKa1fNFBm9dqGC0fePVooVgNqHZZnLIPx5QK8FhlAXG1pzu4aiK+WlgSGL84z1ab2awF61yVf39w5VuSKdGEIK31eX8Ro4nuIFhg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=c4ZKgOXvu5t1egfSJku8xBaz7rejEbIdq0JMJZuYgT8=;
 b=fk2Bo7IBuGH8119Xvgt/s2mgz+GeMFFsEJhx2P+wZ0aAjaYiJyfrwKvUIP4ES5tfO5qisRS3U0ID7R9bJSD7QW7LytJMV8nRCEGbDGGpBGt3SFblsCPH+oCUgKOlzfslq02f8MScK6mThL0m15DeisTA90d09OO0z3XrAGaXqOhH/XlN3nLXSxYLwW/ALMxyGXFrCt7SZLAOqha5mBK6s0btlYqGsiYpxkodmqKZ9O6RUhVspyVfav6hYLgll/J49hD/eJMI5gQM/5WbyM65Vg1BfsZng0jFMxKIqMd1FdAy3eSI0LRwQVVIulIh7hY9ZFd5RFE5hkcARyB4Clr7UA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=c4ZKgOXvu5t1egfSJku8xBaz7rejEbIdq0JMJZuYgT8=;
 b=Adaxb4UO0p7tOOnjO/7lHtPi4KC2cvnXP3XghHQC9rV2aMah+XQ8QxQfa4CFLSs2ehQpNt0Y+JwJEoJLGTyLqS78GeJWU3ooT1/+PSNKgsR+LJ3YZQjvZ7QOJTbA+pfzACUBlX+OMAZhNinWtr3r7XgyRHli3Wl8PwhhSywGmc2+4QIARbSmh8nSTRmpRsgDCchbnbJMCMAfAK99ddRFoO72WG261uKZiirLKrogzmdt4PT24T7KPqjJ4L8BDBh4AnRDh7iguMW2s86Atkzl1cabX6kuRB2iuhGsAQyLXwgigvMQqbidAOpXO2l6rp3rSq0U+uCcRwjRdv0mIKH4xQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <483bb615-addf-4038-995d-9babb79ba85c@epam.com>
Date: Thu, 30 Oct 2025 14:07:04 +0200
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN][PATCH 2/3] x86/hvm: vmx: account for SHADOW_PAGING when use
 hvm_shadow_handle_cd()
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Jason Andryuk <jason.andryuk@amd.com>, Teddy Astie <teddy.astie@vates.tech>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20251029235448.602380-1-grygorii_strashko@epam.com>
 <20251029235448.602380-3-grygorii_strashko@epam.com>
 <32fd9825-45b7-470c-ad0e-f1941faa4d52@suse.com>
Content-Language: en-US
From: Grygorii Strashko <grygorii_strashko@epam.com>
In-Reply-To: <32fd9825-45b7-470c-ad0e-f1941faa4d52@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: BE1P281CA0426.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:b10:83::11) To AS2PR03MB8907.eurprd03.prod.outlook.com
 (2603:10a6:20b:5e4::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS2PR03MB8907:EE_|AS8PR03MB7522:EE_
X-MS-Office365-Filtering-Correlation-Id: c794ef0d-77f2-4053-d481-08de17acd7b4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?WFNObE9sZnVBRWdMejV6bzBvbzloSmtuMTUyS3VHcWoxYlUwVWx1Vk04aGFF?=
 =?utf-8?B?Qm5RYXVtbHl3N2h1N3VJMGlKMVlrL2prb2orUGw3a040QTExQTVET2RmQWI5?=
 =?utf-8?B?T1RXTlBZWWNNS0xHRVNHZFVTV3pVK2FucENPUkxFUkVxdkdwN0ZCdk8wUEdY?=
 =?utf-8?B?RUVLZVhNZ2J5aTN0RGJEaTdRNW9sWkRPcXByVVh5b1VWYS9lSjAwWEVwUlBZ?=
 =?utf-8?B?V1A5ZEhXT2xFbXVKajYyWWtwdjhFZ1FOWWxpZXphS0xwZURETTA1b1UwQnli?=
 =?utf-8?B?T3hOL0cxVWRncHcrS1pvbklHVEFvS3lqTXlUaEgzblNFMWorMXVZL21PNTA2?=
 =?utf-8?B?aHAvL1h2aUJHRWtnejlWTjJjeUhOM2FwMTVZRnI2T2RDMkNnZzVKbWFUWTgy?=
 =?utf-8?B?VWRieU5nRFluNGc0OHNyL1NuMUJ4NTYxVmF1WW1jL0FMOVdRakswQzBXZUZ6?=
 =?utf-8?B?Vi93N2xKUHNmZUlJOGJscG1FUUtlMGVaOGcxaUIyblVwdlFoMmVreXM0NEZB?=
 =?utf-8?B?dzJ2TTNpcFVlbU1EMXpGTldFaG5GckhjZTR0QUZEMm5TVHc3ekptVDNFVW9R?=
 =?utf-8?B?S21xK3ZQbk13SXI3ZnN6d01BV0JWU3hJdUFOK3c3eVo2d2hWV0FmY2IvbHZ6?=
 =?utf-8?B?dEZyQmZIU1o1VjRRTzd5VUdTaVBma09MSHAzQUYxYk5ZN2h0RXRmWDIzcjAy?=
 =?utf-8?B?RHM2b2UrTjB4ZDNWL2hTckswK2IyeXhIN2h2RDZjR284bkc3ZVFFL3FSNzd4?=
 =?utf-8?B?eUJkbHRScHhkeFd0dUtsM3pxUTcyWCtnTndVTlc2Q1ZYR3plZE5nUnFWODFP?=
 =?utf-8?B?RlgwSXhiRGVYT1JYS2I4aFFJTG14MFQvbGNUemQxWHZ4elVnMkhqSW5SMldV?=
 =?utf-8?B?aGY0aGhXYVM1SEFrNXRrS2RxSXJUUFBFNWVhTDBFeGkySHZ2T2wyL2RMOXVC?=
 =?utf-8?B?bE9jY1YvS2QzOFZGcURrQ2NuOVNFNzU3QmVKRnVWU1FwMzNieHVzRGp1dFY1?=
 =?utf-8?B?Y1c3OVpwY0czNXB2M2xHamsraW80bXlESkJMV2tWTDBSc2g0dDB5RWFyWFl5?=
 =?utf-8?B?Nk0yOGEvMUsrWGVxOXNDL3MrajE4Qm5GQ2YwL3JCVTlDOFZJUTE3Q3ppTEpv?=
 =?utf-8?B?Y0FqbnFyUGEyckFLaDU1N3doWVhsbi9Bc2hqRlVyK2tUVjZxa01WaXBIZzQx?=
 =?utf-8?B?akNJQjFTeUVmeEJ1ZXIxTys0c2tMNjFYbXNSSitucVo5NmxUQzkvU0hKaGcv?=
 =?utf-8?B?TkZNdFlDTjlTS3YwM3FnRTBUcWVaa0h1WTRWdUJVK1hKdkJlRTlNNitwd0ps?=
 =?utf-8?B?eDRQQlRFQ3lmak13T0NmSlBpZnVnMXZodFJJTDZ6cE45K1VBR3BHb1FRMWhm?=
 =?utf-8?B?Rlp1Yis2SkJlckV0OTRvdXhqeGFsWGRBTktkdDY3V0g2WnJFbnI5YyttbXR0?=
 =?utf-8?B?SE9nNWtFbStOWGZWSnhoZEg2cEYwQ2JuZGJhN0wxalkvMWVYTVNkbzcrODZr?=
 =?utf-8?B?TWdjblR2QUhLeVd4TXFOQlhlZ0UyeDNBcFE2Si9xRkhqdkFEbEl5d01nQjdi?=
 =?utf-8?B?cC94d01sY0VOQ3JqL2V4QUpvSnZwUGxXbmlCcUdENSs5eUtuVFdncklvUkVD?=
 =?utf-8?B?V2NiUVJDdEJwU3lrRGxVSUIvQzA4akFudHhZNXBjdU51a2VndTM4OFAyZkFU?=
 =?utf-8?B?ODlHa21uRmFEd0x4VklDeFZiUW5vNnA1ZEoyRDlQOW5hZDRDWUlSZ3FCbkpp?=
 =?utf-8?B?Z3EvTWdBdmRYUm9XMWxhMGVKU3lrekNjWVdla3FxbElDWHllRGlPSHZaVzhI?=
 =?utf-8?B?NDM2TnhmOVJqMnBWSXJsK1hJNkl1UXRDRnVkQy9mUUdyejBNaVR0RWd2RHBY?=
 =?utf-8?B?WkxZY1k2ZDI3czVqL1JjQ29GZENoMXZ5bzBKMU5QK0pZS1g3UFAvcHh5TXhS?=
 =?utf-8?Q?BPolxexKRG/8ria4s1Exgaf4cprXHa21?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS2PR03MB8907.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Z05wUkFoVFg3VTYrQ3lPZDFOUnpJMmFDQWdmZEtWVURJR0NHNnU3eVRXM2J5?=
 =?utf-8?B?RElPWXBBM3ZncGYyQ0YvU1BYV1JCT0FXQjFlcER0VEpqV09EdXNndFR3TnE2?=
 =?utf-8?B?SExIYU9CRDljN0F5am9mNkdrMVo0cWdUcy91KzlIWFUxd1FCUGdIamRpNUJq?=
 =?utf-8?B?V1FLekpvUlFNRlo5TFZReFh6N0xIUEI1c3NNanM3bUl3ejFORjhiZU80VjVr?=
 =?utf-8?B?WTFmMzRUUTAxeFM5amhTVllOdDU4WldVRmJlZ3VBVVYrdkxuc1pETkw0dC9p?=
 =?utf-8?B?Si9USTQzaUZZTU8xSW1CV0hoeWxUcGdCTEgrNjlaeG5uQlpldHFMVXpNTjdo?=
 =?utf-8?B?a3IxNUlKS0VmNjZpbHU1RXZpMDU4VmlzcnVyZE9DZG53YTJDM3MyNGhuWXZB?=
 =?utf-8?B?OUJ2eURycmMyY3hVbXljRVRtTlJuV2Z4elVBa1lqRHdZa2tmNG1XU0ZZQTNB?=
 =?utf-8?B?TzcyKzhYOWlXc3hvZTRPZTcvNlNrNlgwZnF5elVjWkJHaHAwSnFZZkIrTWZU?=
 =?utf-8?B?bWpLSGh6S3h6eklOTEFIbXBHbWw3d1lSRXBVWVgyblpzN2g3OGtOa1RGUnZR?=
 =?utf-8?B?eSt5NDBqanZXa0IwQlNOOFRJb3JRL0duZEJ0eU02ZDNEMU9NMHkyR1pJYVRn?=
 =?utf-8?B?YUZIN2cybXNINzlzallRSWZhNXc0REY1ZERRazNiZWI0elFvMHB3ZEZ2V3FF?=
 =?utf-8?B?WWVOUGpKZ21FQnpUa0RvRFRMbWhNREJUd2pJMm41SXlsZyt6WW5maGJsNVA1?=
 =?utf-8?B?bVlJNU9oRHd6SndPd1pQZ3owTGtRWHZVWk8zalhBUllmd0grZytWVlJNaXhj?=
 =?utf-8?B?SjJNU1pHc3JTMkFNd041RXYwSS94L0hrMWNCWGh6dUlRNnJ0bEs4blN5QmQ2?=
 =?utf-8?B?dkV4dTlNSDRUQ1AyVldaU3p1bGFpQkN6OUhUNTM4MVBrNjdnUzUwanJJa0JJ?=
 =?utf-8?B?L08xVUVaRmFuUlNDaUxtZnVuUkZHZHMwaEZONFBTUzAySFd5c3oyV2JIVytV?=
 =?utf-8?B?NTkwV3k2OE9uNmE0Y2YwWXo0bEpBVG1LQytHQThoUzFFL2YwWEhNb0dnOXVG?=
 =?utf-8?B?Qk94dExsUFdaTnlNSzFZUHVwakljNWJYcTY5QUxJOWJzd3BhdWxRcHFWSnBS?=
 =?utf-8?B?b28xMWFTNjM0ZUxNamFxTmFCUEFpdXd5U1Q4UitIS3hEQkFXQldIL3lvemJv?=
 =?utf-8?B?YnNWYkhFcGVibjVUaDBLMVFXcTNhdGZjTDVUdHZ2QVR5cHd1NUhRSngyZmEx?=
 =?utf-8?B?bmFxWVRWeGFhSHFjQm9JMzVOQVFqL2t6RUZiSllOeU5UR2FJWEFHSUJ6WVNG?=
 =?utf-8?B?NWRMb3lVNEJhNGZNQmtvSVkraDNRaGVab000WXFLRkp6cG9RbmxvNG5kT3Yz?=
 =?utf-8?B?R0RpQUhJR3RkQW5QSm4wRlpCa0NaV0VBVDZhaGFISkpXbFJZenhWNmJUZ3Fl?=
 =?utf-8?B?ZXIzWUp0RHBMY3ZuQk9UY1ZybHRiaWJha2RRZk8yL0RsbUVZVHZrTlFXbzRE?=
 =?utf-8?B?cXdRUDhkQzZxY3VGb1RuRW9tRzVIMkVYQVhZaG14VkRHVUdIRTVRY1NOeWcz?=
 =?utf-8?B?aUdHcWgwdE5mektrY2hQMzA1NjRTUzd1ak9IQmVDSEh4TEFMMVRYWHdPM0xB?=
 =?utf-8?B?OHNkeElOOC9EZUxaVld3Z0l0SktXUFBTR1hkQUQ1RmJBT1lTVWVQVGJlSXNP?=
 =?utf-8?B?YUpmd2RySDFCTFlsUXRVSmMxbWxyN3pMUEQwbHhJYW5Ca3VDN1JseEZ5Zi9k?=
 =?utf-8?B?cnIrWkppODNlOU0vb2QrUDBZVEdBaDkra2hUbE1TTkdxeWx4VzJGRk92VVpI?=
 =?utf-8?B?VVhxRWZYSjEzLzhFTjlKTjVRaG9WcWhYWjU1NmdUNnNTZ1ZFZ2gwOWVZODY4?=
 =?utf-8?B?WENSa2FVUXllbHB6VG93dTJtanNZblZ0MWZ3TXMvdU1hdGU0d2dmdFVWNVhp?=
 =?utf-8?B?QlBkQkVCVHpWMFRpZjNOUXQweDExYkVEdTcvVm41SnNXSXVsQVVNWEgxRkMz?=
 =?utf-8?B?NDV0NjZERDZQNUVrd1NnU2FKOCtwMFBxcjNLMmE5VXRaajVIV3YyNHh0VWkv?=
 =?utf-8?B?VmlZbGF6dFo0b3gxRUxMaVZFM2FlZlNiYmNCZkxoRDFqdy9DSUVUZmVsbjVM?=
 =?utf-8?B?eFMxQzRJMm5YRyt6OHd0aVIwYkdrWitjTXhodTZyeXh0bTJXamtIZXkrSHFN?=
 =?utf-8?B?elE9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c794ef0d-77f2-4053-d481-08de17acd7b4
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Oct 2025 12:07:05.5568
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 4Ii7GqlXJSGBg3wHsoNFIkfQOH61Z+1L2Xq6dwer7SzUFiLKMmzaymKEcMAhEI1wyiSLitS9u/RL+aN9EBKsEdOYfyeW713rWoM+wePZvQc=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR03MB7522



On 30.10.25 13:12, Jan Beulich wrote:
> On 30.10.2025 00:54, Grygorii Strashko wrote:
>> From: Grygorii Strashko <grygorii_strashko@epam.com>
>>
>> The hvm_shadow_handle_cd() can be used only with SHADOW_PAGING=y,
>> so guard hvm_shadow_handle_cd() call with IS_ENABLED(CONFIG_SHADOW_PAGING).
>>
>> bloat-o-meter
>>   add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-290 (-290)
>>
>> Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
> 
> Requested-by: <me> (or some other of the available tags)?

Will do. or Suggested-by:?

> 
>> --- a/xen/arch/x86/hvm/vmx/vmx.c
>> +++ b/xen/arch/x86/hvm/vmx/vmx.c
>> @@ -1506,7 +1506,7 @@ static int cf_check vmx_get_guest_pat(struct vcpu *v, u64 *gpat)
>>   
>>   static void cf_check vmx_handle_cd(struct vcpu *v, unsigned long value)
>>   {
>> -    if ( !paging_mode_hap(v->domain) )
>> +    if ( IS_ENABLED(CONFIG_SHADOW_PAGING) && !paging_mode_hap(v->domain) )
> 
> I don't think there's a need for IS_ENABLED() here - you can simply switch to
> using paging_mode_shadow(). That would be more correct anyway, for the abstract
> case of there being a 3rd paging mode. 

Will do. I've seen it, but was not sure :(

>With the adjustment:
> Reviewed-by: Jan Beulich <jbeulich@suse.com>


-- 
Best regards,
-grygorii



From xen-devel-bounces@lists.xenproject.org Thu Oct 30 12:11:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Oct 2025 12:11:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153571.1483871 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vERUc-0007YN-HH; Thu, 30 Oct 2025 12:11:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153571.1483871; Thu, 30 Oct 2025 12:11:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vERUc-0007YG-Ei; Thu, 30 Oct 2025 12:11:02 +0000
Received: by outflank-mailman (input) for mailman id 1153571;
 Thu, 30 Oct 2025 12:11:00 +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 <SRS0=+HTt=5H=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vERUa-0007Y8-UX
 for xen-devel@lists.xenproject.org; Thu, 30 Oct 2025 12:11:00 +0000
Received: from mail-wm1-x336.google.com (mail-wm1-x336.google.com
 [2a00:1450:4864:20::336])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7da4c66b-b589-11f0-980a-7dc792cee155;
 Thu, 30 Oct 2025 13:10:57 +0100 (CET)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-47112a73785so7406195e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 30 Oct 2025 05:10:57 -0700 (PDT)
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-47728aa6b0dsm35181115e9.14.2025.10.30.05.10.55
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 30 Oct 2025 05:10:56 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7da4c66b-b589-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761826257; x=1762431057; darn=lists.xenproject.org;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id:from:to:cc
         :subject:date:message-id:reply-to;
        bh=xPWcilGeVfl3WelYnKhDoEbw+O6Hxo/BoXkhvlcRfUo=;
        b=XUrtJDHUaHliQMLd0IeIIR/fbymL70rD0/VtRaoNQSFLCpg5uox5lqnmU2Sq8CI8ub
         6uzSaxV2bG2qGyVp9Kwnc46Bfoh/cUy6HPiooPKREeI/cMb1fP/HD3MX+EyRuZ+e6hoZ
         W9J1cQExmrKojJTxAo2zth+msi2FHRVsaDVsetW6VL7q4IIlbaMlI/p8N62Bb7y+3IR3
         s1YMjs7A6sJlsrWKv9Ale35ja9+m14h6EuBKRkkjwUIniE3BRSBBo456MOxO/zLkOAj4
         tSaP+CO4hKl8mPSEB/5YnW70iQQJnFeacNqpmEiuQ0uFyUtuNgyBzeySWVw4ow9B+ivc
         gd2Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761826257; x=1762431057;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=xPWcilGeVfl3WelYnKhDoEbw+O6Hxo/BoXkhvlcRfUo=;
        b=kdIZ09EaaZdba/3Qtr3UtwZn0hQWrtIDv7Id584S0pjEnHHU0J7NK7bf2HvX/syduR
         NLCZE1oxbCvt1B1AhypmeVPzudRxZao4zxUbQ+TzVvf8nqOeaQnMhwb1yWxSysTUlicN
         Ux8QC8ZLBrQMFyRkY1eo0ITQlQ1TOdedn4I+Fkq9g3GTdch+trVv0NLEEHk7cy298ypT
         UhPPjDJgqvAqc31Px3hgqSklY6YxfYMVSy5Hwb17jvHZGaYAlponDsrn/fI638v01+Wa
         H6M+sqvQ5O6u8pKzHsLd/bBai7Erle2NvV1JT/ply/ZWwMR6Ckeb9Q6Fj8Hkda71DpXG
         irWQ==
X-Gm-Message-State: AOJu0Yx12qr2e/gt+II5dO1Tw3O+O2SHqF82jFrM/XoC6AbJmMvgB/e+
	4zOPnq1HiPBR01VWK89LVP0fERCG9+sXa5r5vpt7uEDSs+SI4x5EYDz7gnSyZn/29+alDoel8TB
	zVJk=
X-Gm-Gg: ASbGncurE/sJ3s9DFS4bYc8xq8MNqQZBnJpMs/dNmXprLT6co9ujU5DpvxQ8gTv9Wpi
	GhNX8iEAGPgJPRRCC68lwmlgOv98Ox51oVsABhLvotPPUYYxFLVtP/Jav01AU+LKbnZ0+tSs5vB
	Z8MI1W0nMkUNefXfhzmnyFtYPpDyzO83NWWO3Lqw4h1ODh30tfCotdYxs4MTy0SmvxzOF2GzZJt
	6nZ6hzNG5Lww7/MQ4t5MSVRsHuv8Ky22o7IuOG92FWsEojxtExR6mXdVEpOr62hRgZNwsaRWJsX
	J9kUyNubW91M+ok7JbzP3XzcO2qYpbC83RQs/Ep83vb+POfyctT6fpx2RRyuFqP0f4qd6fxqHgT
	5osj51Dix7gCpevHPUP19BBMwrw7yt9ljsveSsWHc6Yh8ZpM6CHySxFLWq9nx8uOHFm74XgVHmG
	X4riJiIg4/fVTUlOzYQX4xDUBvdKNYtFyPylkj4aAHst0Qx0s8lXnoE+rt0SLP1RR0HskeVwg=
X-Google-Smtp-Source: AGHT+IHc8DZGQw3tXFMVk+xQ1UTA13RrZ9z66HaFe5oMn2dqYE18XMZ/+z6CopJ9z7BsUYVdw+Iq/w==
X-Received: by 2002:a05:600c:4e8f:b0:475:f16f:6f44 with SMTP id 5b1f17b1804b1-4771e3ac8eemr53416695e9.27.1761826256597;
        Thu, 30 Oct 2025 05:10:56 -0700 (PDT)
Message-ID: <c9c8c9c6-a155-4986-bf77-5766cdcd6024@suse.com>
Date: Thu, 30 Oct 2025 13:10:54 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Penny Zheng <Penny.Zheng@amd.com>,
 Christopher Clark <christopher.w.clark@gmail.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Timothy Pearson <tpearson@raptorengineering.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] domain: adjust soft-reset arch dependency
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
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Arm's arch_domain_soft_reset() returning -ENOSYS is quite unhelpful: This
way a domain will be crashed if a tool stack mistakenly invokes
XEN_DOMCTL_soft_reset on it. Instead the tool stack should be told of its
mistake.

Introduce HAS_SOFT_RESET, implied only by x86. "imply" rather than
"select" such that HAS_SOFT_RESET can later gain a dependency on
MGMT_HYPERCALLS. That way HAS_SOFT_RESET will go off when
MGMT_HYPERCALLS is off.

Check the new setting early in domctl handling, and compile out the thus
dead (when HAS_SOFT_RESET=n) domain_soft_reset() as well as its dedicated
helpers.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/arm/domain.c
+++ b/xen/arch/arm/domain.c
@@ -875,11 +875,6 @@ void arch_domain_unpause(struct domain *
 {
 }
 
-int arch_domain_soft_reset(struct domain *d)
-{
-    return -ENOSYS;
-}
-
 void arch_domain_creation_finished(struct domain *d)
 {
     p2m_domain_creation_finished(d);
--- a/xen/arch/ppc/stubs.c
+++ b/xen/arch/ppc/stubs.c
@@ -214,11 +214,6 @@ void arch_domain_unpause(struct domain *
     BUG_ON("unimplemented");
 }
 
-int arch_domain_soft_reset(struct domain *d)
-{
-    BUG_ON("unimplemented");
-}
-
 void arch_domain_creation_finished(struct domain *d)
 {
     BUG_ON("unimplemented");
--- a/xen/arch/riscv/stubs.c
+++ b/xen/arch/riscv/stubs.c
@@ -188,11 +188,6 @@ void arch_domain_unpause(struct domain *
     BUG_ON("unimplemented");
 }
 
-int arch_domain_soft_reset(struct domain *d)
-{
-    BUG_ON("unimplemented");
-}
-
 void arch_domain_creation_finished(struct domain *d)
 {
     BUG_ON("unimplemented");
--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -29,6 +29,7 @@ config X86
 	select HAS_PCI_MSI
 	select HAS_PIRQ
 	select HAS_SCHED_GRANULARITY
+	imply HAS_SOFT_RESET
 	select HAS_UBSAN
 	select HAS_VMAP
 	select HAS_VPCI if HVM
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -1030,6 +1030,7 @@ void arch_domain_unpause(struct domain *
         viridian_time_domain_thaw(d);
 }
 
+#ifdef CONFIG_HAS_SOFT_RESET
 int arch_domain_soft_reset(struct domain *d)
 {
     struct page_info *page = virt_to_page(d->shared_info), *new_page;
@@ -1131,6 +1132,7 @@ int arch_domain_soft_reset(struct domain
 
     return ret;
 }
+#endif /* CONFIG_HAS_SOFT_RESET */
 
 void arch_domain_creation_finished(struct domain *d)
 {
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -155,6 +155,9 @@ config HAS_PMAP
 config HAS_SCHED_GRANULARITY
 	bool
 
+config HAS_SOFT_RESET
+	bool
+
 config HAS_STACK_PROTECTOR
 	bool
 
--- a/xen/common/argo.c
+++ b/xen/common/argo.c
@@ -2351,6 +2351,7 @@ argo_destroy(struct domain *d)
     write_unlock(&L1_global_argo_rwlock);
 }
 
+#ifdef CONFIG_HAS_SOFT_RESET
 void
 argo_soft_reset(struct domain *d)
 {
@@ -2374,3 +2375,4 @@ argo_soft_reset(struct domain *d)
 
     write_unlock(&L1_global_argo_rwlock);
 }
+#endif /* CONFIG_HAS_SOFT_RESET */
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -1687,6 +1687,7 @@ void domain_unpause_except_self(struct d
         domain_unpause(d);
 }
 
+#ifdef CONFIG_HAS_SOFT_RESET
 int domain_soft_reset(struct domain *d, bool resuming)
 {
     struct vcpu *v;
@@ -1724,6 +1725,7 @@ int domain_soft_reset(struct domain *d,
 
     return rc;
 }
+#endif /* CONFIG_HAS_SOFT_RESET */
 
 int vcpu_reset(struct vcpu *v)
 {
--- a/xen/common/domctl.c
+++ b/xen/common/domctl.c
@@ -466,6 +466,12 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
 
     case XEN_DOMCTL_soft_reset:
     case XEN_DOMCTL_soft_reset_cont:
+        if ( !IS_ENABLED(CONFIG_HAS_SOFT_RESET) )
+        {
+            ret = -EOPNOTSUPP;
+            break;
+        }
+
         if ( d == current->domain ) /* no domain_pause() */
         {
             ret = -EINVAL;
--- a/xen/common/grant_table.c
+++ b/xen/common/grant_table.c
@@ -3962,6 +3962,7 @@ int gnttab_release_mappings(struct domai
     return 0;
 }
 
+#ifdef CONFIG_HAS_SOFT_RESET
 void grant_table_warn_active_grants(struct domain *d)
 {
     struct grant_table *gt = d->grant_table;
@@ -4006,6 +4007,7 @@ void grant_table_warn_active_grants(stru
 
 #undef WARN_GRANT_MAX
 }
+#endif /* CONFIG_HAS_SOFT_RESET */
 
 void
 grant_table_destroy(


From xen-devel-bounces@lists.xenproject.org Thu Oct 30 12:11:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Oct 2025 12:11:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153581.1483881 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vERVT-00082I-Pj; Thu, 30 Oct 2025 12:11:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153581.1483881; Thu, 30 Oct 2025 12:11:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vERVT-00082B-N3; Thu, 30 Oct 2025 12:11:55 +0000
Received: by outflank-mailman (input) for mailman id 1153581;
 Thu, 30 Oct 2025 12:11:53 +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 <SRS0=+HTt=5H=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vERVR-00081t-RI
 for xen-devel@lists.xenproject.org; Thu, 30 Oct 2025 12:11:53 +0000
Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com
 [2a00:1450:4864:20::42e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9e3ab59e-b589-11f0-980a-7dc792cee155;
 Thu, 30 Oct 2025 13:11:52 +0100 (CET)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-3ee64bc6b85so966683f8f.3
 for <xen-devel@lists.xenproject.org>; Thu, 30 Oct 2025 05:11:51 -0700 (PDT)
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-429952b79cbsm31797195f8f.4.2025.10.30.05.11.50
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 30 Oct 2025 05:11:51 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9e3ab59e-b589-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761826311; x=1762431111; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=lb+ITqz/osCli66h6LV6unEl/fCffaGx/xLxzW610ic=;
        b=B5wC9BGln3FVvQ8Gp78Nv8X/fF6S9bLELmv4GLbdv7PYzfUnE2SlWM7ECIyBqrtGq9
         oUvAk4OaVyIegPQ5Mylt1KKJU2BSsRwEgalDBsB+myYH1P5DeJ3q2xNBZr/lAFEpr1g5
         pFpramadUnuZXh/eV7YGFhlLuS35vub99XdGAQIziY9VJCWXvb2wo0VO2NalL6f4O2sI
         am7zgtUuncVFUbNelrUX5S0rp4N3A02qdQISp6dS6pvw1YkWVMj0bYLxh5CFNjeiwPUJ
         cXAQ99Tqti97NobGCdZgV/tO9bkENwPKTqfNxwUba7hOqF75WEZlXRp7youLR6NhxG2N
         glbA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761826311; x=1762431111;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=lb+ITqz/osCli66h6LV6unEl/fCffaGx/xLxzW610ic=;
        b=RXA+uRJLfklKF6By911C9wurmFHHrCcun2lbRGgCNFVYoMaWqrQTsPvCjg+cCA94Ql
         Om/KTDjR6xgRhF386jj1rXDSU9tr8feprZGusBZMV57e5osOsaX7WWJ73sE9IA1xq3BH
         LT57znyZh36qz0CHfhUwseRi7kGOqFoqYU0amYXo5LSD+mmcjzk7/Of8Q1PQTT37KZqs
         bbB6ymtQRfAivYLalNCrR2ayBJYbJSjj3inAz9T1HjfZiPR1Ixc9yP7MwpzfGp9UJZRR
         qVGXXXykGmQqSWDUnB9eZLJ5EKA+DdspeRd0NX+O3HUXMZw2QNofcaVkuaFZDZSywexZ
         MQ6A==
X-Forwarded-Encrypted: i=1; AJvYcCVjdwMYcWvNUwrcZEandLbeJQQs9RZAnCY9/XLx3LiYjSNLH6999HaF8iqgRhVMQ3VthYF9XQNuwig=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzDg20+ZXZaA4A7fkfLvnS2Ciz9fAWhYHqKUtvTG1VfOVa+iXCA
	SfiBOESfO7JqGbKdp3xP+jHWQs+Kne9dxSq1S9FWa851uvdgdbh4xW7nchF14QYbgQ==
X-Gm-Gg: ASbGncsScftq4wsYXUUw8TwhtMLx1LFq8M/F8cYbk5F3wFfYi6k03FT8iBf0QT1tlbn
	gKPypC9eQ9gupCVSlKuUBFkNsopLjFiSuyWcYydKStehxQxQv01n+u49a1+cNrSwSuvISOT0/Gg
	TButch3/LR1xEiOE0tlORu/KOfoTDOhFnEWwu9L91TXP0buGW6XmXhxflpRaflVlidne4L8LiJl
	78JEmC5GNnWR0ghgsCWxY9Xxa0y6hioNigf9f61mI5Orc5b724O9J/jkm9JJz5iSXlgJ73RVqHb
	1oGqxAx+vQH14+lWWuyKYXh6avwYfFGngmS56yHd6PS0W4YXU347gpPmH294tfMsboTmk0B5kcP
	UnQafmH/SF30DtREhUaNv5FhZ5sngXXDJh/D+xNUj42v6yrODxd3TMI2i+uAT3dsY75VPlCpnX0
	ZQ/okFobUjhggdAUXvLLzaAb/hwyYxGKgQASiKf6l4bPnHGjwx02RKB7uolHeC7B1cEApPA0+cm
	NLh9miH3Q==
X-Google-Smtp-Source: AGHT+IH4GOD4md/A8Yfqy7mgMQjKWA+/4VdxWo4vilmgR4dnX9uFBzFHD1YqKoP2Jh30yIz57rXnkg==
X-Received: by 2002:a05:6000:1885:b0:429:8afb:ed5e with SMTP id ffacd0b85a97d-429b4c7f885mr2312288f8f.8.1761826311325;
        Thu, 30 Oct 2025 05:11:51 -0700 (PDT)
Message-ID: <456e115b-19a4-4be2-81c7-39839ec8392d@suse.com>
Date: Thu, 30 Oct 2025 13:11:49 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN][PATCH 2/3] x86/hvm: vmx: account for SHADOW_PAGING when use
 hvm_shadow_handle_cd()
To: Grygorii Strashko <grygorii_strashko@epam.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Jason Andryuk <jason.andryuk@amd.com>, Teddy Astie <teddy.astie@vates.tech>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20251029235448.602380-1-grygorii_strashko@epam.com>
 <20251029235448.602380-3-grygorii_strashko@epam.com>
 <32fd9825-45b7-470c-ad0e-f1941faa4d52@suse.com>
 <483bb615-addf-4038-995d-9babb79ba85c@epam.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <483bb615-addf-4038-995d-9babb79ba85c@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 30.10.2025 13:07, Grygorii Strashko wrote:
> 
> 
> On 30.10.25 13:12, Jan Beulich wrote:
>> On 30.10.2025 00:54, Grygorii Strashko wrote:
>>> From: Grygorii Strashko <grygorii_strashko@epam.com>
>>>
>>> The hvm_shadow_handle_cd() can be used only with SHADOW_PAGING=y,
>>> so guard hvm_shadow_handle_cd() call with IS_ENABLED(CONFIG_SHADOW_PAGING).
>>>
>>> bloat-o-meter
>>>   add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-290 (-290)
>>>
>>> Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
>>
>> Requested-by: <me> (or some other of the available tags)?
> 
> Will do. or Suggested-by:?

Your choice.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 30 12:15:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Oct 2025 12:15:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153593.1483891 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vERYW-0000FZ-AF; Thu, 30 Oct 2025 12:15:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153593.1483891; Thu, 30 Oct 2025 12:15:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vERYW-0000FS-7i; Thu, 30 Oct 2025 12:15:04 +0000
Received: by outflank-mailman (input) for mailman id 1153593;
 Thu, 30 Oct 2025 12:15:03 +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 <SRS0=+HTt=5H=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vERYV-0000FM-6G
 for xen-devel@lists.xenproject.org; Thu, 30 Oct 2025 12:15:03 +0000
Received: from mail-wr1-x433.google.com (mail-wr1-x433.google.com
 [2a00:1450:4864:20::433])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0c939538-b58a-11f0-9d16-b5c5bf9af7f9;
 Thu, 30 Oct 2025 13:14:57 +0100 (CET)
Received: by mail-wr1-x433.google.com with SMTP id
 ffacd0b85a97d-3ee15b5435bso774147f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 30 Oct 2025 05:14:57 -0700 (PDT)
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-429952d5773sm34019004f8f.27.2025.10.30.05.14.55
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 30 Oct 2025 05:14:56 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0c939538-b58a-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761826496; x=1762431296; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=KOPmQcZJzkMNEbMCIJ6xHun347MW+SWeXo76h3jWv58=;
        b=A6r3mZVpEr6FL3VIXx7yNXX8UrJXSTPvSHYEwIjGk8852db8G3jnzgHtaHxKoLsm0T
         RaCEVT2LIZq/vNRNE/hEKtNvOnQlJ94rO4sYwLDycx8EZglo2wsFpaMeVVmIp4sWfaSj
         emXRcWvY5Sm0WZciR5hXJUqOzmW5oeZSTQsJYHxpqjp6o2NM+Ke2//9UmHE9Zd30ii2n
         Z+gc848OLyL/aaI9W6qEHJqBkY9Z4EykYYKNe0cUY8Ab/R0hyHb72++rBF5xwn0ccJzW
         JYl2Tfs+WPUUKIs+71o0LF/ntf1bZv+ebjgCTLdhgy8BRWDoH7Z4SNR9nwjQcOXIYbiF
         1UwQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761826496; x=1762431296;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=KOPmQcZJzkMNEbMCIJ6xHun347MW+SWeXo76h3jWv58=;
        b=eoVwHUvNaaMgRUWI3waYGbR90ovuVrprgH9Np6uiphEDdJP4ByLlrtb0Bc5aAfF4MF
         f7yMU98g1QcIt6fWSoqlUa1/q1vZnUu4cLW02n1h2mCUpE6xyyybvJaC9Dqj639VYb+x
         OIXm9jndu5RE0F6XPp4MN0MunjI/pJDk8OM94KCVgHpdgVRv1mPwc0N+/btpnI7relOM
         0OGsgyrffdIBS5LFCLxJqfOyjUhPNNnSH4w7mpqyri+Tn0ZMfAHoLQOoFSHK4+8rLCwk
         nNbEemmRIF/plp0DBFhv3qQ9nqxXXVUorjAj+eK6W6n/yXY/aEuermVhyIwO1901iUVT
         POxA==
X-Forwarded-Encrypted: i=1; AJvYcCVF+sZlDx+y4k5DbYHdeaGiCK4e+s96zje43JQS3LpqONDakQYecbIsbU3jNP1cpy9righRWtaDXYg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwLilauK0g64nAXg0JoCw1KJ2EBqFj/IHcBqS0uVGzEM5r/OXdB
	PJbgA4HJpZghmzz1Wa8747NHmAxeLm0dyu5MZ/oaPPTgcuCkXxgLYPIENVFqATNrwg==
X-Gm-Gg: ASbGncvIXqdTYj14cubA4JAm1EHyqBE9K3ZxdGCGP57l5ySUUoH6i4MS85U/50xqnOm
	xvoAjWVtjZ/haUGOWTTupuellTgGT56e7urxxVP0IzNZQcuAJg2qtB/kgfmGai5nirjRUKpAAvo
	qmqTkjY1XpBMYczEJDa3msS1HKFNr8w8HQoyBGiOTcF5dKSTNB4pDMnT+SAyetwIhCV6LOENGK2
	lj/TuATuG4LhrDg+t1MCA1TPQdTfSRKM7z6USDVvUa4c+7zTwoSwyWR8D12Fa/sf9nL87LeYtP9
	S3Vj25YaJ3gHrvFJ1ruGk61wIu76Qm0GYSOkD7xb/XN7cMwl6eytZXTOctdNbafeZuYrGgLTAAX
	k55422JnWdXMMkCgQ6VVCZc01faboOF5T3oJT+3BtcUfNdfO86cdkKQxCP8oOaDlQ13lfC15MQv
	0Z8SV+Kdd+cgc+ZnoX3O4JDK7GYhhb5CWEM1MUEiigjPsVh7ZZ4+mQUxzDwePZ1We0IG/lPFQ=
X-Google-Smtp-Source: AGHT+IEar9qLKH60P1kNdT9f2JtTKXPCs9A3ImN/hoRqoCq+NbPxpTqXev/HqB0DOzuvJJBr+yIxRA==
X-Received: by 2002:a5d:5c89:0:b0:427:5ae:eb89 with SMTP id ffacd0b85a97d-429aefafcd4mr4902287f8f.34.1761826496519;
        Thu, 30 Oct 2025 05:14:56 -0700 (PDT)
Message-ID: <5bd47e4e-f255-41de-88c2-d7f11205643b@suse.com>
Date: Thu, 30 Oct 2025 13:14:54 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 13/28] xen/domctl: wrap domain_soft_reset() with
 CONFIG_MGMT_HYPERCALLS
To: Penny Zheng <Penny.Zheng@amd.com>
Cc: ray.huang@amd.com, oleksii.kurochko@gmail.com,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Christopher Clark <christopher.w.clark@gmail.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
 <20251013101540.3502842-14-Penny.Zheng@amd.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251013101540.3502842-14-Penny.Zheng@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 13.10.2025 12:15, Penny Zheng wrote:
> Function domain_soft_reset() is responsible for domain soft reset domctl-op,
> and shall be wrapped with CONFIG_MGMT_HYPERCALLS
> Tracking its calling chain, and the following functions shall also be wrapped
> with CONFIG_MGMT_HYPERCALLS:
> - grant_table_warn_active_grants()
> - argo_soft_reset()
> - arch_domain_soft_reset()
> Otherwise they will become unreachable when MGMT_HYPERCALLS=n and hence
> violating Misra rule 2.1.
> 
> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>

This imo wants doing differently, with all the per-arch stubs going away. I've sent
a patch (with you Cc-ed), on top of which all that should remain for this series
would be to add a dependency to the new HAS_SOFT_RESET. Possibly that could then
even be folded into some other patch (doing something similar).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 30 12:27:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Oct 2025 12:27:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153602.1483901 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vERk2-0002Sr-B7; Thu, 30 Oct 2025 12:26:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153602.1483901; Thu, 30 Oct 2025 12:26:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vERk2-0002Sk-8B; Thu, 30 Oct 2025 12:26:58 +0000
Received: by outflank-mailman (input) for mailman id 1153602;
 Thu, 30 Oct 2025 12:26:57 +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
 <SRS0=5IGd=5H=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1vERk1-0002Se-22
 for xen-devel@lists.xenproject.org; Thu, 30 Oct 2025 12:26:57 +0000
Received: from GVXPR05CU001.outbound.protection.outlook.com
 (mail-swedencentralazlp170130007.outbound.protection.outlook.com
 [2a01:111:f403:c202::7])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b6aa9ec4-b58b-11f0-980a-7dc792cee155;
 Thu, 30 Oct 2025 13:26:51 +0100 (CET)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by GV2PR03MB8653.eurprd03.prod.outlook.com (2603:10a6:150:75::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.18; Thu, 30 Oct
 2025 12:26:43 +0000
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593]) by AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593%3]) with mapi id 15.20.9275.013; Thu, 30 Oct 2025
 12:26:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b6aa9ec4-b58b-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=icCmXs8JP07XEQhOWn82gyKk1d77Sx6SZGsoACSRcdeoKKhqNA5ZiymL/j2DyGVJA9r8qVnBikebwo0FCLc1BkFcKtqMxPfClpfhstWLByk+PworQupoMCzKtvMTPAlZi+XrXnaQCt805bu1FKNpA7vuh9Qlk8bkxGQEqlRkCJwuRdLgEIi9vERrThixemVjBAKU+obokEkh7UL5nIvHuNaap5SQPh9fvcsKCK4RCPCRDPr837PMuKPxawQELc3XWR/zc0xX+5Q1rvPPrWSckwoCwZy5wE4xJ83JiRuWzbCbiKbZpdehX23WlGXk9jdE0aPBi9ytvJYBtzLE3gW/gg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vksVh06D3GYjpty2dbEQmNqF5w0G4jzayLz/+2Ebawg=;
 b=vp1XxlvpHTSnHR19UY6hjpFmNQ48u996VrbVCxlY9gL8/xzgEHseBXkILQX4GYdp5GdOyc/OfWaAuHW3wkZl+FkGprBfq2drkRtFv9YIF/s3SQMvwNE+HFMjdNUh1rkhvPi4Olvjci3zL/mwzRZmEUCB3cV+dUhz+sTEv0Dtyx4HQTBl1RtqCP/+Mw0Hmxrvau5cu3sskUh520w57CZWcyJINWcRgDT29qZEclW3u8K2v3U/hmAKUaADzvbPipJVJMWV3IJLGt9mRkqo5V0euabW2ApRo+GAtsr1jfZzrC9Wqx5ebtjnuUVkOn7PTowdcDL+1DHu0aWDoGuDHOPZMQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vksVh06D3GYjpty2dbEQmNqF5w0G4jzayLz/+2Ebawg=;
 b=WGOTymMKru7yQKuDavH5+Om36dbUL/7KBcHkiQNiDsWTGmTF/R6tBX0EDedK4pqdDMaNUHajT2B5Kla4fLWIKbTzmT3hc483pHe4KfWY85RbA87jRzMKI0pOjxfuSMxGacYbffiEunT/xLJ22Px4w9UJepj1u38asXIoF7mcxrU7oTpShmT5Prroc4hx9V3U/+GbkFPTwj90nv7xjl41w4GdyJbPBgJKGkPYVexIMZBNgX1bF03yGFI6EaytG4uUtMVEemRIKxNmsvHpR/BRP/WcbusJfNeTbA3LWdompduvtBF1Nx/C4Jy3WZiCMSeNG3fUVS08txKrCuhwCGMBsQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <1a8eb5fd-f52b-4cdf-8dc5-f07d07d0daf3@epam.com>
Date: Thu, 30 Oct 2025 14:26:41 +0200
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN][PATCH 3/3] x86/hvm: vmx: refactor cache disable mode data
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Tim Deegan <tim@xen.org>, Jason Andryuk <jason.andryuk@amd.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20251029235448.602380-1-grygorii_strashko@epam.com>
 <20251029235448.602380-4-grygorii_strashko@epam.com>
 <52395897-0e7f-4d24-8a28-0a303ff717b5@suse.com>
Content-Language: en-US
From: Grygorii Strashko <grygorii_strashko@epam.com>
In-Reply-To: <52395897-0e7f-4d24-8a28-0a303ff717b5@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: BE1P281CA0230.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:b10:8c::15) To AS2PR03MB8907.eurprd03.prod.outlook.com
 (2603:10a6:20b:5e4::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS2PR03MB8907:EE_|GV2PR03MB8653:EE_
X-MS-Office365-Filtering-Correlation-Id: 6bdf10a9-7c55-47c9-25dd-08de17af95f6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?aVJjNjJRNXFDemFWUWp2c1R3QTRKRStyTXk2cGJRMmlkVm5YLzRPdnRVL1pN?=
 =?utf-8?B?WUt4UUN4MktkVmt1eGc0NVRubGdObTlZcFpYeW5FbmlNRXhHTzNCei84dGdW?=
 =?utf-8?B?M1lta01JUlZWWldqY1VKQ2lHTVl1REZXY2VLbDI4V1dzVkEwbTc3MXM4a0Vk?=
 =?utf-8?B?cFZobHpUWHEyOTU1anZxTU9FTy9NZXZuRjJWSEczNkFQazUxYjI1WHU3eGpF?=
 =?utf-8?B?WFN5NTZWSU15M3BibHRtbzdiQi9WQW5obmF0K3JLMHFtYTZUaVFFR2VDNHBG?=
 =?utf-8?B?VXNROEtGeExHb1Q0VlltZ25tSld6OUhsbVMyUU52akR4cU1NMU9Xa0VQa2Z1?=
 =?utf-8?B?dTBBRG9YL3NWYnZMdXV6c2c3czU4MWs1bCt4K0Z0dUR0SVlxV1oxWmZPYk0r?=
 =?utf-8?B?SDB6eXFvaXRwSnVHSXhEN1BvSUVQVzV0MnhDaWg4bEU2ZzZVZFg3cmlsQmFH?=
 =?utf-8?B?ZDk2WmV1czBWWlRrdHRHWEh6Z1Y3Rk4wWkV4NDExR2dFOHV4Y05icFhVM1Zl?=
 =?utf-8?B?RWRXL1QxQThVcjRZRVpVNVhzZUJwUThQY1RoQXN6ekNZaEdtTDYvVjFCTEdv?=
 =?utf-8?B?VFJyWHJ2bTVHUjVRWkFyRzZvV0YwdU5yalZVYXhWNXd4VHlNMndIMGdPaWw1?=
 =?utf-8?B?ZXA0bWNXMkJ0TjRJS2xqWHBqRTFiSVVMUnVaWENIUXN4VDRod3FlamFaOEtE?=
 =?utf-8?B?T2dMOUNQblAxc1c4NmtXeVF5dWRyU0RpTlF1VXUvMzg2MlZ1dU1RZS9pdm50?=
 =?utf-8?B?VjF0UTFackdGN0Z4VlZ3ejNHTzNncE0xazVyZXo0cUlpMW1yMzIyZzhIVHJR?=
 =?utf-8?B?TXRFcnUvWS90Nmdxcmo0SGlTVVlTRkcrT2s5MFo2WVl1dFh1YU10cndjem9J?=
 =?utf-8?B?eXcyZ0lodU1ZVlRtRURtT3Y3dDZ3VXc0U000WkpWYmtOV1JTY2xBSmRHQUlP?=
 =?utf-8?B?VTl1ZVIzU3hlY0JMNStNaFpaMVQ4SEpWZ2M2VE1QanZMVlFuOEY4K1RqK2hZ?=
 =?utf-8?B?eGFRM1JEaUhEeTU3b1pIR2N4M0NuRTZGOENuSkNCeEcwbTB0RWFpd1BEYlV2?=
 =?utf-8?B?YzkwNXdVekRyaUlPMDRQZjMvV3JQNCtyeFV2UzVReFdoZ2RkaDltV3M3ZFoz?=
 =?utf-8?B?ci90b0JHSWowdDQ1bDkyODBUS3l2ZlJjUTVqeGF2UHQwaE1VM1pPRkNMRHlz?=
 =?utf-8?B?VjduaFc4WHBsTUlBZXVXTllMRUowMCtQcjdLcDY3Njc3RVRsZjREM0lBaExD?=
 =?utf-8?B?N3NaY0tvRGlrYjNZd3Q0Y0YwUVUyeTNESzgrN1VFNjZqZGJtYWtrUGJQQVI4?=
 =?utf-8?B?K3gwUE1PcjZueE9keUFvQThnWTF5eGF0UzJ2Wk1aN3FSZHd2a2lDVktNRlVG?=
 =?utf-8?B?SU1TRk5pYTMzR0R6UTNnU2Q5M3IzMDN5SWsyUkd3Ulp2L25LNnU3YXE5R1Fx?=
 =?utf-8?B?MmNva3NScnJtWjdHSm9kNjY5aEpuUkg3K1ljamUzQVpOT3RKZkNlT3UzaHlQ?=
 =?utf-8?B?SDlLTlBIRnV0U0JvcFRrS3hQSW40aFA1T3QvaENpOTRXblJwQUlqSDFtTlBh?=
 =?utf-8?B?d3lWZjUxL2FscWtHdzA5RUdrc0oxSkp1OXRDekZvYk9FZW1zYlg1eGpnQ2RR?=
 =?utf-8?B?U0tSUlNMQ0IybXZYYysvOE9RZmU5ejRaMzdxbmhhZTZ2S2tROUdhRU5Qc0Zo?=
 =?utf-8?B?eWEzNWhjV1JhT3cxSDV3RU9pQWVPKzh2ajQ4aEV6eGtxcmNrNjdMb2Q1eEZi?=
 =?utf-8?B?NmpINllFZmt0MCtIV0NiSGNISGZkcnhYbUZiNFkxbjEyVjM1TzRtZnh0QkVk?=
 =?utf-8?B?OFVweklFQ3dEbUkweFNIQkU2d0RCb1Fkd1pyVUxhSEJEQVRDRFlhSzFIdytD?=
 =?utf-8?B?MS96b2dXUG00VnlMbkxXd1lHQ3R3dHJaNlZuN0R3VC9JeEZtbzdDeEdwWHJP?=
 =?utf-8?Q?0edaIhLWruIJYYJcqhPMyd3QGO+NQHx3?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS2PR03MB8907.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UmZqWVVucnd3cWgzV0FPck91OFZ1WDRjWUJrbzZzZ01BWWE3MytHd0JvVzVR?=
 =?utf-8?B?T3BEQVFBNngzR3lKbzRTeHRGZGlqdk5IVHNsK1A0RExsTEtEVGM5RVZXeUtx?=
 =?utf-8?B?L0VjbktwY044bFFkbU1yOHY2TUkydzhUdE9rV2NiRnZMeGxWZ3FGWklQMXVN?=
 =?utf-8?B?T3g1UW5HZHFybmtnU3RjM1RHSk5RYkNwUEhyY0F4Vk9HME9MdTk0dXN6Y0ZP?=
 =?utf-8?B?emE1bUR1Vk1PSDBtUjFLNG1jYWlyR0xmZGxLQnFxa1JJM2l2ZWRqaUhOWi9l?=
 =?utf-8?B?eFBxanZKV2RWR3duc0J6UzVYb2VaMmVxUzVaRjBGSk9iREgrNDdnQVdaaUhT?=
 =?utf-8?B?MW9EOHpqQ0RnU0lEQlZDNy9tQXZTTGlOTGxHWHhydkpwaHZwZ09DSlhFeUgy?=
 =?utf-8?B?Y2llQy93VlZPNEZrcUpXYlhCc3dXNVpKMFZuOEpOcFpvT0pKSzlQTDNRWVo2?=
 =?utf-8?B?TlFWSXl0YjRrOGdjNTRsa1g5akExWGJrNzNqQ2Y0b3BWYnZ2MlYzV0VzVTZk?=
 =?utf-8?B?T25jcXUrOVhkcmQvY1BxOHZUcTZLM2RoQ3dKOWFVbVFsZ1g5andkTUp1aTRG?=
 =?utf-8?B?S0llNjl5OXZUbVBoMFNSN2lxUjAyTEdHMC9nbGVJVGJvNThJa0pob2c2ZlVS?=
 =?utf-8?B?KzZmMmtkZWI2WFZFV2ovUVArSDJORjJLTU5pWHQ1VEFXN2cxRkJGZ2sxeUFF?=
 =?utf-8?B?cGk2VlorNnRSN0tjRTZ0UHZHMGdsUkdaSUZEVmI5UVFvN0phajBHNndRWHVK?=
 =?utf-8?B?UXlZUmhQK2JTME9nbG9pRkFBRWgvNkhtV2x2dkNmQXBPSTRwZFRtUGRCY0Vx?=
 =?utf-8?B?ODRUMlJieVB6ZDFtcEsrL0hjOG0zVUNLeGFNcDBsV2p0aWJTK2pFNGMreTZ2?=
 =?utf-8?B?MkFNWGZGMjArRlM3ZDVzYVNTYmpSanladExydHV6NFpPVmxva0VVWVZBUk9Q?=
 =?utf-8?B?RXVkdjQ0QnQ1TTlLYUFWTWpYb1ZuNitrOUxoQ0taR2NWNjBBQUtnZ1h6TEg3?=
 =?utf-8?B?eElIV2w4Wm1HeEVGWWVtTEwrak40V1dYSURWcGFvSzhxdDB3YnBadVFWSTJW?=
 =?utf-8?B?VlZBYnlMMU9YaFVDYVVNRGNWeDZERHIwRUlBc25pUEFMVm9OczduSG94cVRY?=
 =?utf-8?B?eVVEZ0NEdTBKZXRmQVhqNlkySDNZdUFYSG1WanFHTWptODBKQTN1SXdIUW5E?=
 =?utf-8?B?dzFIcUw0eFB2VzdjRTNBUVowbXhVR1NsUzRib1hycFpjMjl5THFaMWtDTHh1?=
 =?utf-8?B?OUxrcEFyQzZqVDdXVWZDVGpGZEdzZlpRdjNJRHExSDVQYUl3UWFyb3Y1WWtu?=
 =?utf-8?B?amZ6dEtFMi8vdXJEQnUybVF6dDNDb1pPeGIrQ3dpNEJZN1lZa29GR1JiNjla?=
 =?utf-8?B?OFJkZG9qV1dSenFTeFN6MjIwVElneURRSFJCd0I4SFZkak1FUEl4eEdkQ3g0?=
 =?utf-8?B?ZWxKcm14bEdOS0ZWUUsxcXpIY0cyLzExS3hTNjY5WUV3QjlQSERrTEYxcFJZ?=
 =?utf-8?B?Q0VNREVFdS9ORUI4NTBObUJOeWpFNko4THJhTWZvOGFFeGpxNFB1blAzeUI2?=
 =?utf-8?B?SVpCbXVxWFZadFhlMDV2TmNZMGVrRSs1MDRseHpUTEtFZlQzVGtoU21yWXcz?=
 =?utf-8?B?a2IyY0dEM2c0VlQ4MWFNeXJQcjNVMTBzRHZtQ2d4ejMwQURBcmZJR3pieXVu?=
 =?utf-8?B?WGtwdE9LK0FRd1VmNCsxRTlrOGVtOWJ3a1g0K1hyd3RCZlRtTzJVS3MrUllw?=
 =?utf-8?B?TEkvQVpBRHNXZWViMWtIZ1FPcHVGM2swY0xtK08wK0FEZ3Z3ZkJwcUhsWm9Z?=
 =?utf-8?B?SXN4V3Buc1lOa2RVRTdudHlVVGtVZ1l1aUpibk1FUm1kdmhsdVhNRDNlZ2Zl?=
 =?utf-8?B?dXcwWVYvL05za25mNTZoOEhEcVZybjZwdlFVaXdDQVhQSDA1bWFDSGJVMndJ?=
 =?utf-8?B?SWdFNVAvNHZHOTlPTFZuMXMrRkRrVnl5N0ZaVk9pS1c1YTN2SDFKc0FobVAz?=
 =?utf-8?B?c1pJb3RTSzlpVTI2SFNFUnhVUGgzMUkvdEx2dC9DdlpNS2JINVRiUU1ZaVRs?=
 =?utf-8?B?K0JZQ3Z2dTA0Q0FQcUMvT2h4VnBwMisydFh4WGF2UHk5LzdGNnhJSnJhVVFp?=
 =?utf-8?B?Ly9zNlNvdXVlN3psaCsrR0dwZHFVZW5Kc3hORmJkTDM1Vkt3RGpOcUtOSndm?=
 =?utf-8?B?Wnc9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6bdf10a9-7c55-47c9-25dd-08de17af95f6
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Oct 2025 12:26:43.6862
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: qBK6F4q7qR9mtCIr0xv0SrVAlCYd/V9AX85pkS5I0ZqcCFrokAM9gX/TRa0jUX/PRBi8mBbi4y53BDsxZNrsnSlVed48T+N1Ol+Qkw7L4Nk=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR03MB8653

Hi Jan,

On 30.10.25 13:23, Jan Beulich wrote:
> On 30.10.2025 00:54, Grygorii Strashko wrote:
>> From: Grygorii Strashko <grygorii_strashko@epam.com>
>>
>> The Cache Disable mode data is used only by VMX code, so move it from
>> common HVM structures into VMX specific structures:
>> - move "uc_lock", "is_in_uc_mode" fields from struct hvm_domain to struct
>> vmx_domain;
>> - move "cache_mode" field from struct hvm_vcpu to struct vmx_vcpu.
>>
>> Hence, the "is_in_uc_mode" field is used directly in mm/shadow/multi.c
>> _sh_propagate(), introduce the hvm_is_in_uc_mode() macro to avoid direct
>> access to this field and account for INTEL_VMX configuration.
>>
>> Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
> 
> Requested-by: Andrew ?

ok

> 
>> --- a/xen/arch/x86/hvm/vmx/vmx.c
>> +++ b/xen/arch/x86/hvm/vmx/vmx.c
>> @@ -583,6 +583,7 @@ static int cf_check vmx_domain_initialise(struct domain *d)
>>       int rc;
>>   
>>       d->arch.ctxt_switch = &csw;
>> +    spin_lock_init(&d->arch.hvm.vmx.uc_lock);
> 
> I don't think this is the best place; in any event it wants to be separated from
> adjacent code by a blank line. I'd prefer if it was put ...
> 
>>       /*
>>        * Work around CVE-2018-12207?  The hardware domain is already permitted
> 
> ... below this CVE workaround.

ok

> 
>> --- a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
>> +++ b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
>> @@ -46,7 +46,9 @@ struct ept_data {
>>   
>>   #define _VMX_DOMAIN_PML_ENABLED    0
>>   #define VMX_DOMAIN_PML_ENABLED     (1ul << _VMX_DOMAIN_PML_ENABLED)
>> +
>>   struct vmx_domain {
>> +    spinlock_t uc_lock;
>>       mfn_t apic_access_mfn;
>>       /* VMX_DOMAIN_* */
>>       unsigned int status;
> 
> Any reason to make this the very first field of the struct? It might better
> live adjacent to the other field you move; there's going to be some padding
> anyway, afaict.

I've tried to put fields in holes and checked with pahole.

With current change it is:
struct vmx_domain {
	spinlock_t                 uc_lock;              /*     0     8 */
	mfn_t                      apic_access_mfn;      /*     8     8 */
	unsigned int               status;               /*    16     4 */
	_Bool                      exec_sp;              /*    20     1 */
	_Bool                      is_in_uc_mode;        /*    21     1 */

	/* size: 24, cachelines: 1, members: 5 */
	/* padding: 2 */
	/* last cacheline: 24 bytes */
};

It seems can be grouped like below?:
struct vmx_domain {
	mfn_t                      apic_access_mfn;      /*     0     8 */
	unsigned int               status;               /*     8     4 */
	_Bool                      exec_sp;              /*    12     1 */
	_Bool                      is_in_uc_mode;        /*    13     1 */

	/* XXX 2 bytes hole, try to pack */

	spinlock_t                 uc_lock;              /*    16     8 */

	/* size: 24, cachelines: 1, members: 5 */
	/* sum members: 22, holes: 1, sum holes: 2 */
	/* last cacheline: 24 bytes */
};

> 
>> @@ -56,6 +58,12 @@ struct vmx_domain {
>>        * around CVE-2018-12207 as appropriate.
>>        */
>>       bool exec_sp;
>> +    /*
>> +     * If one of vcpus of this domain is in no_fill_mode or
>> +     * mtrr/pat between vcpus is not the same, set is_in_uc_mode.
>> +     * Protected by uc_lock.
>> +     */
>> +    bool is_in_uc_mode;
> 
> Imo while moving, the is_ prefix could also be dropped. It doesn't convey any
> extra information on top of the in_, and I think we prefer is_*() also as
> typically function(-like) predicates. (I.e. in hvm_is_in_uc_mode() I'm fine
> with the name.)

ok

> 
>> @@ -93,6 +101,9 @@ struct pi_blocking_vcpu {
>>       spinlock_t           *lock;
>>   };
>>   
>> +#define NORMAL_CACHE_MODE          0
>> +#define NO_FILL_CACHE_MODE         2
> 
> As you necessarily touch all use sites, could we switch to the more common
> CACHE_MODE_* at this occasion? Also imo these want to live ...
> 
>> @@ -156,6 +167,9 @@ struct vmx_vcpu {
>>   
>>       uint8_t              lbr_flags;
>>   
>> +    /* Which cache mode is this VCPU in (CR0:CD/NW)? */
>> +    uint8_t              cache_mode;
> 
> ... right next to the field they belong to.

ok.

-- 
Best regards,
-grygorii



From xen-devel-bounces@lists.xenproject.org Thu Oct 30 12:28:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Oct 2025 12:28:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153610.1483912 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vERld-0002y2-Mf; Thu, 30 Oct 2025 12:28:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153610.1483912; Thu, 30 Oct 2025 12:28:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vERld-0002xv-Im; Thu, 30 Oct 2025 12:28:37 +0000
Received: by outflank-mailman (input) for mailman id 1153610;
 Thu, 30 Oct 2025 12:28: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
 <SRS0=5IGd=5H=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1vERlc-0002xn-JH
 for xen-devel@lists.xenproject.org; Thu, 30 Oct 2025 12:28:36 +0000
Received: from AS8PR04CU009.outbound.protection.outlook.com
 (mail-westeuropeazlp170110003.outbound.protection.outlook.com
 [2a01:111:f403:c201::3])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f3959449-b58b-11f0-980a-7dc792cee155;
 Thu, 30 Oct 2025 13:28:34 +0100 (CET)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by PR3PR03MB6587.eurprd03.prod.outlook.com (2603:10a6:102:71::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.18; Thu, 30 Oct
 2025 12:28:32 +0000
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593]) by AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593%3]) with mapi id 15.20.9275.013; Thu, 30 Oct 2025
 12:28:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f3959449-b58b-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=tuFog7yvIjV6Dy7baf+7rLtEjGSmEazA9URt0ZC1BYfY+ZeDgCWayxAjd05nLRwZLYvu6dPhDu008blGNLRW1qyfkXJHJQOBN3Ob45EqEcS4r/jdfRnR0v7YWALsMOf/Epv9MU575Aorf+H33X4VKIhoynVb3JUb0sIy3gjDRXqgtUnb/we7TitOzP36HLWCHLis3J1dwY0KBF14CtMs0mTR1Osx7+fSBd7yWG30J7ei87MWgShdHc3oEQ3Js9hk5GYHCEdQo3KbLcYi/r5LWkghrTbTTMgPDm94RPoBi7CN7reH2FG5taRjMLUHkkHCdF9PaSziYVvtMeAE6AoMXQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sc8Wds2UavOFdVdE+qJU60sLRP7PXe8BQQSfiXJGjHw=;
 b=I6UVFuQj8CjFsStVs12hhaLKC18AlfAYKqmkRSWn/pofZxjXGTmPWwYNOEn06ys8kbrQ3GAOCV5h6zA5Lxfl8LqglNlBasc16cmyvGOi4Sp1nMhFSUoaUSt11QHm8xqN8RmO7KPAgEFgGlN0SwUJjoXa6fXxo46tL7KcST8s0ZRfdQCEszsFGCBzK2dOKEjKdcna/KstPW/8BxKssgu2IgzKa/CgrqpijXRgVVzDMmiwwequxtJ9xlns9CMTXmgmWoaAQ2DV8NPZU0FwYwUan8nufvP9/7Ac9e7wkENLGRGgXB2bqTjgZAJIw1t0ylC9AhdUZ9XICQaFWIxGjbhiqQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=sc8Wds2UavOFdVdE+qJU60sLRP7PXe8BQQSfiXJGjHw=;
 b=jYBbraVQy8y9p6pW8Zo54tWjgCE3QX83tgo5HJbB4yr4jFtcu7DVLnW54zpPF3Gn1QjHMbqk2BbRldAk51Yz6T8C0/sGQUxFDyJ8dB/kD+jJYQxfZmzCbguufWZ6k7EJQwBfudrjvDbFysXEDcrxdr4jOrt+RF9LQ36nFRx0NmrdKCo6sQU/MuPtznkfgVwH6YFRHLEX1QcZgBIMQhL1bNdq+pCOiQFJq1PIT7cEbC/6oG23bIkBd/rkoZF+k88UUVZKhYe4mH2mtXxsWyBdlkaIl7UZPMfFPDEsJpLZR7Cv/FKnKIQtYBnsuaKQOcZ/MUtC3h7R6tl1CnmttG0QUA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <6373016f-9558-4d73-918e-4251d16643ef@epam.com>
Date: Thu, 30 Oct 2025 14:28:30 +0200
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN][PATCH 1/3] x86/hvm: move hvm_shadow_handle_cd() in vmx code
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Jason Andryuk <jason.andryuk@amd.com>, Teddy Astie <teddy.astie@vates.tech>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20251029235448.602380-1-grygorii_strashko@epam.com>
 <20251029235448.602380-2-grygorii_strashko@epam.com>
 <308ecf14-e831-47f4-8c64-4005bb4dc857@suse.com>
Content-Language: en-US
From: Grygorii Strashko <grygorii_strashko@epam.com>
In-Reply-To: <308ecf14-e831-47f4-8c64-4005bb4dc857@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: BE1P281CA0233.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:b10:8c::18) To AS2PR03MB8907.eurprd03.prod.outlook.com
 (2603:10a6:20b:5e4::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS2PR03MB8907:EE_|PR3PR03MB6587:EE_
X-MS-Office365-Filtering-Correlation-Id: 769ee19b-ac5c-493e-269f-08de17afd67d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?S083dm1Mc2FGc0lsZ2JVTHpCaHZOSEpDUktEV0p4TTBtYVQvUHQyZWpKd3Fa?=
 =?utf-8?B?TFJCMTJ4NjFFaXFCTHpuM2FzcGJwRENpeTVPVFpxazJROTU3a3orTVhkVkpB?=
 =?utf-8?B?eUZLWWUrOWFIQ0cyYjhGb3dWUlQvTlpFR2lpcUhucDQxeGhFOTRNb2VaMzky?=
 =?utf-8?B?YWduNTB3TDZLS01DYTVBakZROUlvRmliMm5YKzdnU3h2dzNIWngyT3lIbkpq?=
 =?utf-8?B?THE0THZ5TkMxazVrRW1yakFUZTB3MTM4dlhnb1dxcFkrK1RRYWd4eHdFeUo3?=
 =?utf-8?B?WlYyZjF3NVQ1cWVpanpROWdTNEJSYURVNUFoekw3WElUM2FOZUhOK3JYbkcy?=
 =?utf-8?B?UFRlZWJPRlQ0cmk1RnhmSklSNVo3NUVTNG1kYmpKdTdubzNrd215Mlp5MXNN?=
 =?utf-8?B?UkgxMzBKak1xT0F3SVJ5YmlvTUZraFdIV0p5UU83dVNlS3hHUVZ5YXpITUY4?=
 =?utf-8?B?Z2xTaGxRWUd5dnpKNUZ1bWZJeGJPY2xlem95MnhWNndUNFMzMDlKYjBNeDdv?=
 =?utf-8?B?R1RGQ2NrSTFYSDlUUnFhUkM2RkpuTWZRZjZqOXp5MGhnRE85a0hiUzBraFZY?=
 =?utf-8?B?Um5Gb2N2bnozMWdjQ1dLcFhZeXVUKzdUZ3RlL00ybTdXTGZQQkluTFZJYXU1?=
 =?utf-8?B?RVFjTVZOcXNjT3JmdjBjQnhHR3FNWlNrR0RQNFl2OGsxdzRhWGZaNG1oQzRF?=
 =?utf-8?B?ZURwcVFDQTRxMVhaR29STjVheDdLSHFldVJUam85bkNHVDlMQ2IrcXNzMUF0?=
 =?utf-8?B?aUVnNmlhTEI5Sm5KZHJabG0yR2hjU3BMTFhWZndJSVVhUlhycnd5emtHelVR?=
 =?utf-8?B?Zk5haEZDS1hoNThmQVRjV0JEdWM5Yk1iMjlENVIzVittUHJCZTkrektZdkhH?=
 =?utf-8?B?M1UrZ3lzSEJwV0xXNmszZmZGL01CQnc2OE5FalIyMnpwQmY0ZlFMVTlJMFY1?=
 =?utf-8?B?TE5nQUltL25EN1MzZFFDeks4c21FVnJZODZZRmM3RE9xRlNUcDhhWHlqS1ZW?=
 =?utf-8?B?LzBqR2N3aUgrYlZpbW5UREJpZmdzUDk2dmo5aVJ0WTU0K2FodDlYQVkvb3Nm?=
 =?utf-8?B?eXFURG54NTZIdHE1aUFERDNmQzZ4b252cDVGMzlhbmxCNzVLVlNHR1lLelg4?=
 =?utf-8?B?djArMlFQQWM0Y0xidmo3aTBrNTYwRG53VmNaQmxENHhFN3RzczdyTXQvVjNB?=
 =?utf-8?B?VlNtYW91UFJ1R2ZNZXI2bVQ3a1ZJbllGRkFqMjg3UmVzWTcydGVQTmI0VDBk?=
 =?utf-8?B?Yk9NWnNjdGV6aXFINkRRMXZyVDYrZncwTk0zeFdZNlNxRUpXUEd6UWVoYUNk?=
 =?utf-8?B?SEtWSGoyWlh1dkxnUTJ0eEZnc3ZoVmZRY2xFcDVvb1NVTXI0TXJDd2o5Z25o?=
 =?utf-8?B?bjBVUkV2ekR2L2M3OXRHWUtpRjY0eHRocThFNXd6eVBNTzlwbE0xMXpvWFNR?=
 =?utf-8?B?VFBHTGowRXhaZkwxNDFXUmpnZGtOVXVMME4zY1EzSFRrTkM2eTc5VWJ2NEhY?=
 =?utf-8?B?SDJOY1N6MHliczdmbTN6U2E1NUVkTzd4R2hIQlFVZzhhTGdveWtDd0JlVER1?=
 =?utf-8?B?QStoejM3SFdROWltdUEwTVlmNGhHZWtvbGkyMGNHSnpzMlY5VzRROFYxK1Uw?=
 =?utf-8?B?YUV2UURYWVNqM2dIL2pvUkRERTFKWlBqN2hBbW5HTVROVU5TSEQyRlpLY0ZE?=
 =?utf-8?B?NnBualJFWi9SbVhYdHVadkF1VE5RU3V1aEtXbDhZR2pnQ2N5dWFuNVpqSjd6?=
 =?utf-8?B?b1JGQVg4MzUvckF4ZTZlRmJia21QSUh4UEx4OCtYZUZuOUxPTUVIc1BrdHBl?=
 =?utf-8?B?Q1NyU1ZEb0FwZUN6ZnFEMWhUTG5mTVYvUmR6VXh2YnMrOG40NzFkYVpJbEJU?=
 =?utf-8?B?Z0FISm9oZFQ2bDJ2RCt3Wk9iYnpxenRRbERyY0xRcFFEUG5HWmRtdVEvWURm?=
 =?utf-8?Q?BwkvWbEXyUgz+66NUtQU7OSA0d7qtCwO?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS2PR03MB8907.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WkxnZmpoeGYvWm5hZkdtcC9lVUtWWFJ4WVlKbEQ0UlZ0MDUxN25tQ1FNTFB2?=
 =?utf-8?B?TmtJS3cvR1lsSFhVT0tTNGtJdFBKUkZ4aHZWUGxlelliNzlDcllldGlHaUNO?=
 =?utf-8?B?Ylg5U0xiNmd5MG96MmVxOHlCdmNzanJYNlNabVlEWkR3QytMTzJWejFFZWlO?=
 =?utf-8?B?VENqWmtHc2hIQytpazNVYnZCMEJJempsOExFVU1kaEQyOGNhcmF2T0haOGZV?=
 =?utf-8?B?aGp2MFRlWmMxOWl5YUIvVUVhYXlmM2dqNWlFcWRwWEdLNEZkS1kvR2NtSCt6?=
 =?utf-8?B?RjcvcWhGbzN3K0JKWlhHWDVWUWlkV2NSeHptNUxURWhqTzRkZFNaemlOei9G?=
 =?utf-8?B?ZE4xdEQvMkJiaGp0ZUZQWVhiVjh3YXNtNjN3Tm4xVWluMG9seW1MazM1d2V4?=
 =?utf-8?B?eStkM2pKd1FnVXJFQnBnQXRiajZJdVZlZzAwSC9GQ3VGY0NQMmJIS3pVNVlD?=
 =?utf-8?B?NmxTUUJ5eTZEdkNSN3RjdW40VzVDQUVrU0FReC9hYXB5bnFleVk0YzZoSjRy?=
 =?utf-8?B?QjRDNTAxQUdmbVNMUUZNSWZMVUxpTFgrNU5pQk1uTlhHRy9sNmVUT1MvNEdC?=
 =?utf-8?B?ZTI4MnZzUXFjVHd4TXVsZFYvVWxiYWpaak9qU2w0SVVnMkdpSDdHTjlRZ2du?=
 =?utf-8?B?Vk1YaTExMVZENE9HRnRsWVhuSUdPWm1ORFJjSmpuSFZyWUZORnlOMWxqK3di?=
 =?utf-8?B?eHZ5NmF5alp0YXk4UmdkcFRzM1Q0NGRYWDV0N1RDdGdJakpwd0RMSTBXSUNW?=
 =?utf-8?B?bDYycjR1akt5Zm5WZ05qZzZ1aUlaOVV3QWFpZnJ3S3kxSFkwRHlJUEdNUG9w?=
 =?utf-8?B?eUZKMWFhQ29lamVlOVl5TDdJYmp3RVRaOGhKUGNGcW9TeGNsT0FFbUxRUWpL?=
 =?utf-8?B?RFo5WFQycDRtdFNxaTM2SDZsYmd3bjY3bGpDQi8xUkN4aW5MMXhKTTl2QmU4?=
 =?utf-8?B?WGZWL01SbjN4bXBWQWw0b0ZQbGl1dkUzbkdDR01BU2VCODUwdWNJeWVSQm03?=
 =?utf-8?B?aXg5cE5nKzFFNGpYR2JGZk4zcTVRanQ0RzJiZUVpZE9IRFZZWGk0YmRsd01P?=
 =?utf-8?B?dUxmWTdhdTRmUnBaaWxzL2NJU2tDV2ZiOHhhZmYvNTNMRzhsK0dEZVlmQU5H?=
 =?utf-8?B?MzlodUhBdkEwdXFrZVcrdHlVS0diUFFVYU9ZUnMrV2VrK0I2QlRoSFhFV3dr?=
 =?utf-8?B?ZmhUTDRPSHFOYXcwME1VekFueit5ZEhXcXBQY3RZOG95REZUZEFCM0M0anJ3?=
 =?utf-8?B?bWdVMUNNM1Y0SnZTaElWZFl5R0tZWnZOMVIveWpkTGgzWE5WU285eGR3UDlN?=
 =?utf-8?B?QTdERFovM2ZGWEVSaGV6MS9HQU93QkV1cG9iUGhoMXFSOWQ1SnJKOGtnYmt3?=
 =?utf-8?B?dVZ2VkQxUm9SZUtGMnNFM3loS1FZMWEvN1QyNDB6VFdodDlnajRFRzlaWkNx?=
 =?utf-8?B?VnZpY2hPazN6d2xCenkwNHZaSzFJeUswMEN0bXFTSnVaQ0Q2UVp4R25KWlU0?=
 =?utf-8?B?bzlCWC9Sbk94K0x2VmJoWDU3RVFiU0tYYTRyTnFkN0sycHNUL1N6Y0Zyc3BQ?=
 =?utf-8?B?bGJJQWIydjFXcVBvNTQ0QUNVVndyK1ZkRmJ5Sm8zQmZReHRoNXlYaTFiWldO?=
 =?utf-8?B?KzA0VGE1SlJ3Z2Zsdk1NY0lxTXUxN2xITjFEVGt1R1FTeklLdFF1OU1YajJQ?=
 =?utf-8?B?OWY2UFZPZ2FscEFPTlNjTWcwdFdHOEZiRE9YblZOUDRLTWZNZ0x5RUJXMStY?=
 =?utf-8?B?YkRzY3Z6d2tiakRkU2Fkem5QY0lQdE1rVUhnNnZGakFqcXRlVmdmQkNxdjJn?=
 =?utf-8?B?cVl0R2xUcnZNb3JHcG1aQmZ3ZnlTajBxTnYxdW5uNGlNWGlGNkV0U0NXNmJG?=
 =?utf-8?B?TXVISVVSYVJGSUExWnR6OFVSRnh3cUJmVWtmakJWcVdzdHpLWitMdTQ5SWll?=
 =?utf-8?B?RlZuWWptS2V1cVo1bWdBY2JBUkFna09YZUN5Z1RmRWR6eUhBZVRwZmF3R1Za?=
 =?utf-8?B?K0dhcy9yRURUSy8yQUJkUUpqdDVSMkFsRUVqc1J2ckpMM3Z5MHp5Nm85dmdw?=
 =?utf-8?B?K2ZRUjlsRno0MlZXSENNcVdSMUwwdnNXUTV3VGg0Qms0Tk5lTXdldE53WHRX?=
 =?utf-8?B?T0JmNEhqdjVNSzFsaVZFS0JkR0paekxYa0VTS1lnUDUxRWV5MjJCa0Rtczc4?=
 =?utf-8?B?a3c9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 769ee19b-ac5c-493e-269f-08de17afd67d
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Oct 2025 12:28:32.0133
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 9/ZaH/c6kYO2k2qSAs7SEAycXHEgIDwGqAqmgee6+eE9gYUhbZb11zM4rLATR3NIcCZLRnb1+dMsSWtpkqOXsnCOaUyi6Nx1/EnaUc26ehg=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR03MB6587

Hi Jan,

On 30.10.25 13:08, Jan Beulich wrote:
> On 30.10.2025 00:54, Grygorii Strashko wrote:
>> From: Grygorii Strashko <grygorii_strashko@epam.com>
>>
>> Functions:
>>   hvm_shadow_handle_cd()
>>   hvm_set_uc_mode()
>>   domain_exit_uc_mode()
>> are used only by Intel VMX code, so move them in VMX code.
> 
> Nit: I think both in the title and here you mean "to" or "into".
> 
>> While here:
>> - minor format change in domain_exit_uc_mode()
>> - s/(0/1)/(false/true) for bool types
>>
>> No functional changes.
>>
>> Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
> 
> You did read Andrew's request to also move the involved structure field(s),
> didn't you? Oh, wait - maybe that's going to be the subject of patch 3. 

yes. it is patch 3 - It is not small.
And I really wanted this patch to contain as less modifications as possible on
top of code moving.



>While
> often splitting steps helps, I'm not sure that's very useful here. You're
> touching again immediately what you just have moved, all to reach a single
> goal.
> 
>> @@ -1421,6 +1422,64 @@ static void cf_check vmx_set_segment_register(
>>       vmx_vmcs_exit(v);
>>   }
>>   
>> +/* Exit UC mode only if all VCPUs agree on MTRR/PAT and are not in no_fill. */
>> +static bool domain_exit_uc_mode(struct vcpu *v)
>> +{
>> +    struct domain *d = v->domain;
>> +    struct vcpu *vs;
>> +
>> +    for_each_vcpu(d, vs)
>> +    {
>> +        if ( (vs == v) || !vs->is_initialised )
>> +            continue;
>> +        if ( (vs->arch.hvm.cache_mode == NO_FILL_CACHE_MODE) ||
>> +             mtrr_pat_not_equal(vs, v) )
>> +            return false;
>> +    }
>> +
>> +    return true;
>> +}
>> +
>> +static void hvm_set_uc_mode(struct vcpu *v, bool is_in_uc_mode)
>> +{
>> +    v->domain->arch.hvm.is_in_uc_mode = is_in_uc_mode;
>> +    shadow_blow_tables_per_domain(v->domain);
>> +}
> 
> Similarly I wonder whether this function wouldn't better change to taking
> struct domain * right away. "v" itself is only ever used to get hold of
> its domain. At the call sites this will then make obvious that this is a
> domain-wide operation.

Agree. but..
In this patch I wanted to minimize changes and do modifications step by step.

I can add additional patch such as "rework struct domain access in cache disable mode code".
Will it work?

> 
>> +static void hvm_shadow_handle_cd(struct vcpu *v, unsigned long value)
>> +{
>> +    if ( value & X86_CR0_CD )
>> +    {
>> +        /* Entering no fill cache mode. */
>> +        spin_lock(&v->domain->arch.hvm.uc_lock);
>> +        v->arch.hvm.cache_mode = NO_FILL_CACHE_MODE;
>> +
>> +        if ( !v->domain->arch.hvm.is_in_uc_mode )
>> +        {
>> +            domain_pause_nosync(v->domain);
>> +
>> +            /* Flush physical caches. */
>> +            flush_all(FLUSH_CACHE_EVICT);
>> +            hvm_set_uc_mode(v, true);
>> +
>> +            domain_unpause(v->domain);
>> +        }
>> +        spin_unlock(&v->domain->arch.hvm.uc_lock);
>> +    }
>> +    else if ( !(value & X86_CR0_CD) &&
>> +              (v->arch.hvm.cache_mode == NO_FILL_CACHE_MODE) )
>> +    {
>> +        /* Exit from no fill cache mode. */
>> +        spin_lock(&v->domain->arch.hvm.uc_lock);
>> +        v->arch.hvm.cache_mode = NORMAL_CACHE_MODE;
>> +
>> +        if ( domain_exit_uc_mode(v) )
>> +            hvm_set_uc_mode(v, false);
>> +
>> +        spin_unlock(&v->domain->arch.hvm.uc_lock);
>> +    }
>> +}
> 
> This function, in turn, could do with a local struct domain *d.
> 
>>   static int cf_check vmx_set_guest_pat(struct vcpu *v, u64 gpat)
>>   {
>>       if ( !paging_mode_hap(v->domain) ||
> 
> Why did you put the code above this function? It's solely a helper of
> vmx_handle_cd(), so would imo best be placed immediately ahead of that one.

Right. Hence vmx_x_guest_pat() are also used by vmx_handle_cd() I decided to put before them.

> 
> Bottom line: The change could go in as is, but imo it would be nice if it
> was tidied some while moving.

I'd be very much appreciated if this could happen.

-- 
Best regards,
-grygorii



From xen-devel-bounces@lists.xenproject.org Thu Oct 30 12:43:51 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Oct 2025 12:43:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153634.1483921 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vES0J-0005xq-0i; Thu, 30 Oct 2025 12:43:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153634.1483921; Thu, 30 Oct 2025 12:43:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vES0I-0005xj-UL; Thu, 30 Oct 2025 12:43:46 +0000
Received: by outflank-mailman (input) for mailman id 1153634;
 Thu, 30 Oct 2025 12:43:45 +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 <SRS0=+HTt=5H=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vES0H-0005xd-O9
 for xen-devel@lists.xenproject.org; Thu, 30 Oct 2025 12:43:45 +0000
Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com
 [2a00:1450:4864:20::329])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 123ada3c-b58e-11f0-9d16-b5c5bf9af7f9;
 Thu, 30 Oct 2025 13:43:44 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-47112a73785so7722125e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 30 Oct 2025 05:43:44 -0700 (PDT)
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-477289a5932sm42646835e9.6.2025.10.30.05.43.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 30 Oct 2025 05:43:43 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 123ada3c-b58e-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761828224; x=1762433024; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=8Bk2Rb2RlWj4yl4MApAo+BtOeqrQyHLKyejfv8+iA8Q=;
        b=ULu6cClwVicPt3d477zusoJCz1LWqr7CiXJCMuT0nSF2cogPy4BeYclaDjwpxS9CxB
         7p4ubm43MPw4kJ80bBqkuCzoDmeU8ULhyL360eLIUhOxc9IVyGpBsvhNS8N9dfzyMNY+
         Z7K0xFAY4jAc1dGZ/NGyR5iCuN3WgORDV25I+eSs/JGrLoUM328xZM5CkM+lbV5Iy7ri
         fg9o9/JrYUD/MbKwHheVFW51mkc8DaKAT8+FeVbB7sTbCoL+2ki4IeoHTVxbDuumXAYE
         /KQhRYZxHrDNn8JKpNzcA4yKLKVOO8DbA+cLyzzVmG0+FMLCBnqyJnL7zRCL4aFE2mou
         olOA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761828224; x=1762433024;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=8Bk2Rb2RlWj4yl4MApAo+BtOeqrQyHLKyejfv8+iA8Q=;
        b=S04uN/Xpt5srPqBs+/cyqcEEpNFGtP/3iVs3OAZnLiI3RBNTKh9PE6+fYghD4F6F1y
         oswreP0ZqZLa/hCO94928UApzA1cMUkYT1Bu9Vs0WIQuTD8OtVX27vf59lb3N5xz2Tgf
         MSr76qMK3/9a+Zvixponl08gNVcaK4nZMNkukZK7A/6V+kBLkVFBc6+Ii+nKK8pTEdTI
         i4W3S7/+XQ3VVGw2VePx3Iw6PDVXnJQAerVt5T6G5dnGNxu6d8tjepYxChFfTGJQLX6I
         BUcqlmRgo4d8CrbcIO8fnX5dJmo72f7Tf2lhpjQkZIu61Ap4tzLyKiGRkG7Aml/vNu/E
         8JJA==
X-Forwarded-Encrypted: i=1; AJvYcCURv4xBnQStJY90sRVu6BdnMbywtXpPipEtTPBPUNoSjTrVBTGPvUSizmXhb3L6yNM0T+lCK1PqcAM=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw4zJaozfBB3IzA3qCw6nAcUPpGeMne0RAcl4EHk1RgW4XkN5Tb
	F+N8VBqLMHx7HNQlWW6JmCIp/Nf/mzeXe2WckCX00wuGi6ObyIcvfEDSLfrl/MZpAw==
X-Gm-Gg: ASbGncuh5hxzQjhuwwB9fwDAyj06ury9I9nj5r/SfDThygn/sgcSNb9nppyFho6BqQY
	nyW95V090QwaB6x+q+9HNsgeLgVXJEYyKvozgLIjD/HHP8DSdrb6abIL0RMlzfsj4cdFV6qT6yg
	ijIvePtxVUTAVGWTwxal91TgFlK8eHuaqc0i1ch6niOWYjnHN6M2SiNYZTKAzfZ10qtjU0WeiMi
	ZIK9ABXm18LRPAcQyNRVfe22EJKC4Mm8bXnmFsW1hFA0sO00p1xj24YzgIexGCz1HB8cOeO84mc
	9erj8FM2X4gvNkL5kpBogHC84u0UMapiVW4D66mfBGEWIujD92Yy74K3ql9BNMiuenLnnmQ4hG4
	L2w5IfH38Jw9rmryRriAc3yY6yWgmRyFfVCWXCWMBHqc9Rx26q/zQ7KXflZaHR3lCLs9s6HpVHL
	rBcnNaX/tPub3KreV+GW+fbJj/KLdTC7lQMfE03tfQNZYwsaQaFIEqHmmQr3FWc5ymk/3wmLY=
X-Google-Smtp-Source: AGHT+IHUa+C7gp6xczr4iM+NVn54F1xvwqzSbez2Mrpd/IXT5+e5RZtI6pViNv3upNzvHRbso/H79w==
X-Received: by 2002:a05:600c:314b:b0:46e:32f7:98fc with SMTP id 5b1f17b1804b1-4771e3937fbmr57628405e9.21.1761828223905;
        Thu, 30 Oct 2025 05:43:43 -0700 (PDT)
Message-ID: <8c74774a-458b-4918-8d65-fcb3eacfe98b@suse.com>
Date: Thu, 30 Oct 2025 13:43:41 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 15/28] xen/domctl: wrap domain_kill() with
 CONFIG_MGMT_HYPERCALLS
To: Penny Zheng <Penny.Zheng@amd.com>
Cc: ray.huang@amd.com, oleksii.kurochko@gmail.com,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Tamas K Lengyel <tamas@tklengyel.com>,
 xen-devel@lists.xenproject.org
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
 <20251013101540.3502842-16-Penny.Zheng@amd.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251013101540.3502842-16-Penny.Zheng@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 13.10.2025 12:15, Penny Zheng wrote:
> --- a/xen/arch/x86/mm/mem_sharing.c
> +++ b/xen/arch/x86/mm/mem_sharing.c
> @@ -1396,6 +1396,7 @@ int __mem_sharing_unshare_page(struct domain *d,
>      return rc;
>  }
>  
> +#ifdef CONFIG_MGMT_HYPERCALLS
>  int relinquish_shared_pages(struct domain *d)
>  {
>      int rc = 0;
> @@ -1452,6 +1453,7 @@ int relinquish_shared_pages(struct domain *d)
>      p2m_unlock(p2m);
>      return rc;
>  }
> +#endif /* CONFIG_MGMT_HYPERCALLS */
>  
>  static int range_share(struct domain *d, struct domain *cd,
>                         struct mem_sharing_op_range *range)

Is this necessary? Shouldn't MEM_SHARING as a whole become dependent upon
MGMT_HYPERCALLS, then also covering XENMEM_sharing_op? (The same will already
implicitly happen for MEM_PAGING, due to its VM_EVENT dependency.)

> --- a/xen/arch/x86/mm/paging.c
> +++ b/xen/arch/x86/mm/paging.c
> @@ -768,6 +768,7 @@ void paging_vcpu_teardown(struct vcpu *v)
>          shadow_vcpu_teardown(v);
>  }
>  
> +#ifdef CONFIG_MGMT_HYPERCALLS
>  /* Call when destroying a domain */
>  int paging_teardown(struct domain *d)
>  {
> @@ -794,6 +795,7 @@ int paging_teardown(struct domain *d)
>  
>      return rc;
>  }
> +#endif /* CONFIG_MGMT_HYPERCALLS */
>  
>  /* Call once all of the references to the domain have gone away */
>  void paging_final_teardown(struct domain *d)

This is irritating, and could hence have done with some clarification in the
description (to aid review, if nothing else): On the surface, why would
paging_teardown() need excluding, but paging_vcpu_teardown() and
paging_final_teardown() would (need to) stay? Yes, the latter two are used
on failure paths of certain functions. (Same e.g. for domain_teardown() and
hence arch_domain_teardown().)

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 30 12:48:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Oct 2025 12:48:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153644.1483931 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vES4R-0006po-HF; Thu, 30 Oct 2025 12:48:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153644.1483931; Thu, 30 Oct 2025 12:48:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vES4R-0006ph-Ea; Thu, 30 Oct 2025 12:48:03 +0000
Received: by outflank-mailman (input) for mailman id 1153644;
 Thu, 30 Oct 2025 12:48:02 +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 <SRS0=+HTt=5H=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vES4Q-0006pb-UP
 for xen-devel@lists.xenproject.org; Thu, 30 Oct 2025 12:48:02 +0000
Received: from mail-wr1-x434.google.com (mail-wr1-x434.google.com
 [2a00:1450:4864:20::434])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id aadadb60-b58e-11f0-980a-7dc792cee155;
 Thu, 30 Oct 2025 13:48:00 +0100 (CET)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-3f0ae439b56so611308f8f.3
 for <xen-devel@lists.xenproject.org>; Thu, 30 Oct 2025 05:48:00 -0700 (PDT)
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-47718489d96sm70084445e9.0.2025.10.30.05.47.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 30 Oct 2025 05:47:59 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aadadb60-b58e-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761828480; x=1762433280; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=qiMh6+BrJmGkqDAvdfW8fm7PzhCrfXZ5EAPxmDDQYag=;
        b=QANJHzFLJLzuhch1wnorkdxOk6SL8BA+HcrntnEsHdhCZcUQ3PYrUNMASK67rc2sGu
         Kupe2qJ64TSXJeUNTcqPG3kD54aVMEOT1O9QQnTSwm8IhcYkAIjf6BF8NVEikZBv+9BH
         lZ6jx5Utg26b9oW7s1VaehkrvnKf3RaSHqUn85/Sh1+IETEqQZ+DxVlPDL0t+f7NXnEi
         yuenYC0MSxeSHjNV8zltXdkK89Mou2aQWLG14Ck7UcxoN26iZjYBkYiHZEJKHcmLyLOR
         KBE2WoXRwMYEcuFY3Sh/nLZ6lmokvXkBuVmsRS3GajLj5YH00n6MlpgWJgzdBKtrkY2u
         +9aA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761828480; x=1762433280;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=qiMh6+BrJmGkqDAvdfW8fm7PzhCrfXZ5EAPxmDDQYag=;
        b=o25D0NzI5/1hqlayuZvezpqipLyO/Y0oDCIk2V+pSAr6Mgm4oKZ3LPG+pwypf5FvAu
         edZAqbSbJiVyx3dT6e2qJGzXflbl1c/NDjFq6RGx3+0ZyLm1VF6HvsNCiGNWnxlW4a+g
         8v88mDc9qDGGLAvJKspcLK8qCjdu+VypdSepsObPMQp/SGWQYpQoPm1wJvONYKEn8LxQ
         iXdfO/KJQkRynhEzD6EDG1TE3aRJFA01JlmoGoIXRxmL6BxDiqh2+PWZJbqECdRd7yIc
         bUXlwBrebq22Z7LZXxzPYgBHpmH427jWT9PON5IJk3Y5tJDyI8/03MJQloG3zCufHN3E
         2mkg==
X-Forwarded-Encrypted: i=1; AJvYcCX4ncL52LuxADzUEbAW3d7sQ7OyP2di+tO7Cm9KVbUyU14oIokKmAbOugFJt6gg6jV28OdUHBeX4+Y=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyyueFfIdZc39ce+nnBu5Ztxzo1BsHm5IkNlAPVeWAI7KBICxah
	lWdyb/EMIchsoNAZwgi92Yy9mORuCD69WgvKwjcI2B071iSEdiWim+AJ0cAK8RLkeQ==
X-Gm-Gg: ASbGnct1rtZrZw+yj+T0/DroqlhyROlJCqFqTFi6OSGWmnYIRMoop5LntxyC8NQh14E
	spE9RtKwpyebfbkMj3/2pL7lLh1k0ov8e1At/2UoNrUeRdHeR1s8TZdBdJ03wHwyhgpULR98nIP
	dlaZEID3E1fiGBFVTo1BgMlJV8jj+w7SqCuTxuXZQJQliTKZQ0CtMBhKc6c6Qp12Ie7K+U11Fn+
	D4DwpvGjBalFnI0nLByhmvIqnj9xVu19qb/dw+Epl6iGzpkQliUYagJIIp9PecCJYdm1kH+i04a
	F8xX2XeARs/3XIBx7jBdpjMU/KCDloxJniZ/xPB7dqnOjEj0dlRgEJBTW96AqmOUBLxzqVMD1y8
	25VRrLU54iYeXZF6DYR/tFyumAyXQittlFHw0iuVsXSYHACGwf6mAvsojr9dsBcQd3dOzoYjm0Y
	Vd2sZ0BgqGq5ZqtcgkwUj1pFbpcoCyz1DEadHHNLpwZX31QgktNQuTa9XjkZKU
X-Google-Smtp-Source: AGHT+IGheiIVxqYxX3K25wZYGMZ/MlfgDZjBw6vXX9XmlIMAMoHA1T7oQk4svOHjws3aoaJb+CMibA==
X-Received: by 2002:a05:6000:238a:b0:405:3028:1bf0 with SMTP id ffacd0b85a97d-429aef77e43mr5578972f8f.10.1761828479915;
        Thu, 30 Oct 2025 05:47:59 -0700 (PDT)
Message-ID: <7f321809-5635-4993-b435-7707b21e6378@suse.com>
Date: Thu, 30 Oct 2025 13:47:58 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN][PATCH 1/3] x86/hvm: move hvm_shadow_handle_cd() in vmx code
To: Grygorii Strashko <grygorii_strashko@epam.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Jason Andryuk <jason.andryuk@amd.com>, Teddy Astie <teddy.astie@vates.tech>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20251029235448.602380-1-grygorii_strashko@epam.com>
 <20251029235448.602380-2-grygorii_strashko@epam.com>
 <308ecf14-e831-47f4-8c64-4005bb4dc857@suse.com>
 <6373016f-9558-4d73-918e-4251d16643ef@epam.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <6373016f-9558-4d73-918e-4251d16643ef@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 30.10.2025 13:28, Grygorii Strashko wrote:
> On 30.10.25 13:08, Jan Beulich wrote:
>> On 30.10.2025 00:54, Grygorii Strashko wrote:
>>> From: Grygorii Strashko <grygorii_strashko@epam.com>
>>>
>>> Functions:
>>>   hvm_shadow_handle_cd()
>>>   hvm_set_uc_mode()
>>>   domain_exit_uc_mode()
>>> are used only by Intel VMX code, so move them in VMX code.
>>
>> Nit: I think both in the title and here you mean "to" or "into".
>>
>>> While here:
>>> - minor format change in domain_exit_uc_mode()
>>> - s/(0/1)/(false/true) for bool types
>>>
>>> No functional changes.
>>>
>>> Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
>>
>> You did read Andrew's request to also move the involved structure field(s),
>> didn't you? Oh, wait - maybe that's going to be the subject of patch 3. 
> 
> yes. it is patch 3 - It is not small.
> And I really wanted this patch to contain as less modifications as possible on
> top of code moving.

I wonder what other x86 maintainers think here.

>> While
>> often splitting steps helps, I'm not sure that's very useful here. You're
>> touching again immediately what you just have moved, all to reach a single
>> goal.
>>
>>> @@ -1421,6 +1422,64 @@ static void cf_check vmx_set_segment_register(
>>>       vmx_vmcs_exit(v);
>>>   }
>>>   
>>> +/* Exit UC mode only if all VCPUs agree on MTRR/PAT and are not in no_fill. */
>>> +static bool domain_exit_uc_mode(struct vcpu *v)
>>> +{
>>> +    struct domain *d = v->domain;
>>> +    struct vcpu *vs;
>>> +
>>> +    for_each_vcpu(d, vs)
>>> +    {
>>> +        if ( (vs == v) || !vs->is_initialised )
>>> +            continue;
>>> +        if ( (vs->arch.hvm.cache_mode == NO_FILL_CACHE_MODE) ||
>>> +             mtrr_pat_not_equal(vs, v) )
>>> +            return false;
>>> +    }
>>> +
>>> +    return true;
>>> +}
>>> +
>>> +static void hvm_set_uc_mode(struct vcpu *v, bool is_in_uc_mode)
>>> +{
>>> +    v->domain->arch.hvm.is_in_uc_mode = is_in_uc_mode;
>>> +    shadow_blow_tables_per_domain(v->domain);
>>> +}
>>
>> Similarly I wonder whether this function wouldn't better change to taking
>> struct domain * right away. "v" itself is only ever used to get hold of
>> its domain. At the call sites this will then make obvious that this is a
>> domain-wide operation.
> 
> Agree. but..
> In this patch I wanted to minimize changes and do modifications step by step.
> 
> I can add additional patch such as "rework struct domain access in cache disable mode code".
> Will it work?
> 
>>
>>> +static void hvm_shadow_handle_cd(struct vcpu *v, unsigned long value)
>>> +{
>>> +    if ( value & X86_CR0_CD )
>>> +    {
>>> +        /* Entering no fill cache mode. */
>>> +        spin_lock(&v->domain->arch.hvm.uc_lock);
>>> +        v->arch.hvm.cache_mode = NO_FILL_CACHE_MODE;
>>> +
>>> +        if ( !v->domain->arch.hvm.is_in_uc_mode )
>>> +        {
>>> +            domain_pause_nosync(v->domain);
>>> +
>>> +            /* Flush physical caches. */
>>> +            flush_all(FLUSH_CACHE_EVICT);
>>> +            hvm_set_uc_mode(v, true);
>>> +
>>> +            domain_unpause(v->domain);
>>> +        }
>>> +        spin_unlock(&v->domain->arch.hvm.uc_lock);
>>> +    }
>>> +    else if ( !(value & X86_CR0_CD) &&
>>> +              (v->arch.hvm.cache_mode == NO_FILL_CACHE_MODE) )
>>> +    {
>>> +        /* Exit from no fill cache mode. */
>>> +        spin_lock(&v->domain->arch.hvm.uc_lock);
>>> +        v->arch.hvm.cache_mode = NORMAL_CACHE_MODE;
>>> +
>>> +        if ( domain_exit_uc_mode(v) )
>>> +            hvm_set_uc_mode(v, false);
>>> +
>>> +        spin_unlock(&v->domain->arch.hvm.uc_lock);
>>> +    }
>>> +}
>>
>> This function, in turn, could do with a local struct domain *d.
>>
>>>   static int cf_check vmx_set_guest_pat(struct vcpu *v, u64 gpat)
>>>   {
>>>       if ( !paging_mode_hap(v->domain) ||
>>
>> Why did you put the code above this function? It's solely a helper of
>> vmx_handle_cd(), so would imo best be placed immediately ahead of that one.
> 
> Right. Hence vmx_x_guest_pat() are also used by vmx_handle_cd() I decided to put before them.

The main purpose of vmx_set_guest_pat() is, however, its use as a hook function.
It's merely an optimization that the function is called directly by VMX code.

>> Bottom line: The change could go in as is, but imo it would be nice if it
>> was tidied some while moving.
> 
> I'd be very much appreciated if this could happen.

"this" being what out of the two or more possible options? (I take it you mean
"could go in as is", but that's guesswork.)

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 30 12:49:51 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Oct 2025 12:49:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153652.1483941 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vES64-0007NQ-RS; Thu, 30 Oct 2025 12:49:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153652.1483941; Thu, 30 Oct 2025 12:49:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vES64-0007NJ-Oa; Thu, 30 Oct 2025 12:49:44 +0000
Received: by outflank-mailman (input) for mailman id 1153652;
 Thu, 30 Oct 2025 12:49:43 +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 <SRS0=+HTt=5H=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vES63-0007ND-CO
 for xen-devel@lists.xenproject.org; Thu, 30 Oct 2025 12:49:43 +0000
Received: from mail-wr1-x429.google.com (mail-wr1-x429.google.com
 [2a00:1450:4864:20::429])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e76d1770-b58e-11f0-9d16-b5c5bf9af7f9;
 Thu, 30 Oct 2025 13:49:42 +0100 (CET)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-42557c5cedcso630336f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 30 Oct 2025 05:49:42 -0700 (PDT)
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-429ba445463sm2124807f8f.10.2025.10.30.05.49.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 30 Oct 2025 05:49:41 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e76d1770-b58e-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761828581; x=1762433381; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=TeyZ2JdzBKdX0NE1R0CIjLrHVGSCOT81aUmKIfCLbRU=;
        b=P5RU+cFrHBbYAEVT2Dw4AEqTQT9RfmIchtccgMHnqZHMp1GApZpss2fZ0TxHBBBWzK
         ONiRRqJps3koMYLqWWh2TGxcDQRkyDwpof0EoK2sfl+pPxunkXfUyAoWSMH7m8iOZsBB
         AebUzw+F8dlEqp65G6Qh9pCSwfYaF+8eYnTatuQcR1wlCoF/2XTXyzcseJjccsELDBUl
         R6Su2Wd5/gbP0bgIVUyXo23es+FLu9btjDB3A/Ff4+pNEG0BK1BO6E0vNr2cWgVQStDZ
         zDhLZLlVoSn4+3oScwQbF93+AZ/NlwgR01maMxJmhEtpzKjsqMkvDuzG2amh/GH161Tf
         pM/Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761828581; x=1762433381;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=TeyZ2JdzBKdX0NE1R0CIjLrHVGSCOT81aUmKIfCLbRU=;
        b=LBllz2roRBmHzRtOmuVznZFZBT/g4FBCADzB03FDJrrfjXfx+bTha/xf31UQn5sib4
         SGQ5SgqvGCoKezwzCkZIFtNx6ubR6+Sj3oMI9TEX49nqYkf6M2dAvDgiGfnP0u9cJA0F
         G6eM+PiCK3gPz/OwPGyoFH8f2is/9ZcA1HtXQFhl6t3kUEL/NQdHjM4nkan9l8CBu1KX
         PTTPr+uQ1g0c0qZOwVkRj0AOC4AYigGOLh4Ps+Nyx8VDT1CVK52dhTM8hNvURkKg4Ow2
         yvPeHJEaNsIG7mMYXffETPT8ivQ41ZjIcnMDqB8WgeE5movhlAaPoUytqr5uV+dvHUFj
         3uPQ==
X-Forwarded-Encrypted: i=1; AJvYcCWvTHoh4z0UsiUMdv6yie5DckFszZA7pzXeKDQ2BhvZTTMb1dCtbtJ7hRhg8v2303VUshMh4zQIIjk=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz6Y2lf4KlellESA/s16ASbAY1JynP2TlBO4lx4BB89gaonTzDM
	89WG+FVe5Axbk4iQ4x0kM30qb83ieAZwfr6MnGofOttBEzSDDb5mvxhJFBEgd0/wKw==
X-Gm-Gg: ASbGncssmW9QId6iHdoiMqaFFTBb89lf3E0wnUB5se3NoDR5v0SFCpjRWLxKJpDVBY+
	UqZ1U/6WOmUy22LKn108da3Nqu/eq1GJhXDLGQ+RTnDcapG1Z/0GxiKEDqI5M9sFtnUxXyk1jSY
	N/KwjuxXSf+bDtTdDumy2fOWG0jCTomdEmYJbl2B+4bYQ2uuHDrIcgRnMF/rFw1UbYapRjadIL7
	bYRB7S+8fLRtmwtAqFRezs2XYU2aahYx7l0PNDVYavXBiZwbwoDc1scnN/9zcQZ++SqjRoSF0Ko
	bPObZ866wOlhZ0GYMAipxTNxUSWyvkIsxOnQIeHn/y16hXxN464pjrSeb60Z5UlaAVnXjq75f6t
	s8w4X8rN2VDGwHSqSvLp/lqmpHQNRAM5I9elkZx9RVeJp2W37nh3eeoBXVzMfVQYwM/NwGGJTGR
	ypaKR1gkmNKzVvTsUIFz0yA3X/H7x+j79WngvLs/G3jR/trEv+kEXSQAqAe+1whBUzPUcVoJs=
X-Google-Smtp-Source: AGHT+IE0pJgZdTvWpec5Xv+Kkur/QPh3kdi5bro+8gif5jYzr6svrt4qiiKkwNsyawLdevq9YnHVWg==
X-Received: by 2002:a5d:64c4:0:b0:413:473f:5515 with SMTP id ffacd0b85a97d-429aefca81cmr5600457f8f.48.1761828581496;
        Thu, 30 Oct 2025 05:49:41 -0700 (PDT)
Message-ID: <5c0f84ee-a79c-45e4-adc6-4eb84685efe1@suse.com>
Date: Thu, 30 Oct 2025 13:49:39 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN][PATCH 3/3] x86/hvm: vmx: refactor cache disable mode data
To: Grygorii Strashko <grygorii_strashko@epam.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Tim Deegan <tim@xen.org>, Jason Andryuk <jason.andryuk@amd.com>,
 Teddy Astie <teddy.astie@vates.tech>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20251029235448.602380-1-grygorii_strashko@epam.com>
 <20251029235448.602380-4-grygorii_strashko@epam.com>
 <52395897-0e7f-4d24-8a28-0a303ff717b5@suse.com>
 <1a8eb5fd-f52b-4cdf-8dc5-f07d07d0daf3@epam.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <1a8eb5fd-f52b-4cdf-8dc5-f07d07d0daf3@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 30.10.2025 13:26, Grygorii Strashko wrote:
> On 30.10.25 13:23, Jan Beulich wrote:
>> On 30.10.2025 00:54, Grygorii Strashko wrote:
>>> --- a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
>>> +++ b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
>>> @@ -46,7 +46,9 @@ struct ept_data {
>>>   
>>>   #define _VMX_DOMAIN_PML_ENABLED    0
>>>   #define VMX_DOMAIN_PML_ENABLED     (1ul << _VMX_DOMAIN_PML_ENABLED)
>>> +
>>>   struct vmx_domain {
>>> +    spinlock_t uc_lock;
>>>       mfn_t apic_access_mfn;
>>>       /* VMX_DOMAIN_* */
>>>       unsigned int status;
>>
>> Any reason to make this the very first field of the struct? It might better
>> live adjacent to the other field you move; there's going to be some padding
>> anyway, afaict.
> 
> I've tried to put fields in holes and checked with pahole.
> 
> With current change it is:
> struct vmx_domain {
> 	spinlock_t                 uc_lock;              /*     0     8 */
> 	mfn_t                      apic_access_mfn;      /*     8     8 */
> 	unsigned int               status;               /*    16     4 */
> 	_Bool                      exec_sp;              /*    20     1 */
> 	_Bool                      is_in_uc_mode;        /*    21     1 */
> 
> 	/* size: 24, cachelines: 1, members: 5 */
> 	/* padding: 2 */
> 	/* last cacheline: 24 bytes */
> };
> 
> It seems can be grouped like below?:
> struct vmx_domain {
> 	mfn_t                      apic_access_mfn;      /*     0     8 */
> 	unsigned int               status;               /*     8     4 */
> 	_Bool                      exec_sp;              /*    12     1 */
> 	_Bool                      is_in_uc_mode;        /*    13     1 */
> 
> 	/* XXX 2 bytes hole, try to pack */
> 
> 	spinlock_t                 uc_lock;              /*    16     8 */
> 
> 	/* size: 24, cachelines: 1, members: 5 */
> 	/* sum members: 22, holes: 1, sum holes: 2 */
> 	/* last cacheline: 24 bytes */
> };

Yes, this is what I was thinking of.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 30 13:09:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Oct 2025 13:09:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153664.1483951 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vESPV-0002Kb-Dn; Thu, 30 Oct 2025 13:09:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153664.1483951; Thu, 30 Oct 2025 13:09:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vESPV-0002KU-B5; Thu, 30 Oct 2025 13:09:49 +0000
Received: by outflank-mailman (input) for mailman id 1153664;
 Thu, 30 Oct 2025 13:09:47 +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 <SRS0=+HTt=5H=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vESPT-0002KO-UU
 for xen-devel@lists.xenproject.org; Thu, 30 Oct 2025 13:09:47 +0000
Received: from mail-wr1-x433.google.com (mail-wr1-x433.google.com
 [2a00:1450:4864:20::433])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b484f880-b591-11f0-980a-7dc792cee155;
 Thu, 30 Oct 2025 14:09:45 +0100 (CET)
Received: by mail-wr1-x433.google.com with SMTP id
 ffacd0b85a97d-4270491e9easo896895f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 30 Oct 2025 06:09:45 -0700 (PDT)
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-429ba92da86sm1703688f8f.31.2025.10.30.06.09.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 30 Oct 2025 06:09:44 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b484f880-b591-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761829785; x=1762434585; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=fVMmNEu/4TrFECN+HfitaZeeIXxHVaA9jnu8HRKmThI=;
        b=eO7mEODn6jaSfAQjNPFtH2c/u2X1K9DKId0GteDh67N5/FqrNEaFKQSaO0Ww7PsG5z
         703DjtYjJ40W/+Fos25Jm65BVjhJznOJqeisAxbrp73CM2h9prlPSqTqCK6XmfFAZE+T
         NTAFQ6Aoaz9QjUNKolYV6J7PDGiAM1JmfTSgXQ9QCQlM6s+WorvKUnws8H+Ud0gcvBOb
         bPY9+yFvBbAsI/NEt+9uSvOV0HCEeZzVNghse+QvMOJOGONqirJvB+mqQsqel6x/iWL1
         tSVx/H6UHxvZHHqkmHPNszWFAVNQD9NebQSlGkupv1gnDbg7pSWm45ncJA1rinx1srbr
         DcOQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761829785; x=1762434585;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=fVMmNEu/4TrFECN+HfitaZeeIXxHVaA9jnu8HRKmThI=;
        b=n+E862Qpa7lwdLa3Y/Sp7/9uoTaHYTSl/SnuWpkoNdWjpGSTO25Nrs5AB++C2xGnCf
         yizg538XcUQzXQSoeW+Vqaiew4643nxV5qDAeLnyDI44ua5cuTVdFtK7YJTNoAa3BjhB
         adCLsMoCG1bE7qHOQSacvavJWhkvVW4StNEpxkjwV8pf5Rgt+UWWa5OQEuaKk9Btxnmy
         ueANZZ6AQYMKEcwPahoPy6iYC+BcD1I8BFXYBNtDJk9nZ2WGgl6XChcjRCkdJt3vc2c2
         g9o9KnK+8xLj6r66RfsBdIp5THxAKa5yIM5iaWjTxDsm/WRA4170aQ2oPIGQ33NKSn/8
         //pQ==
X-Forwarded-Encrypted: i=1; AJvYcCVKe/GhIsEMhFwnNtdRecObhRr+i/gcMtOZthZmhPLerTRK2jcr/cGbHeIoFUFJcwZFAcPxKMcqFmE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzPig7Pk5B8YKSDiua1AleKnrB01dISEeAWSpco3klT5K2qE1PC
	LGSvM1FgH6hvyIU1AdBaLvRAb+IpT/u/Y7Ee4roZmONeT1ml/aWxKj5cs6ChTL8ybw==
X-Gm-Gg: ASbGncvoZpM8Y2Jg/Xp5a0ijTiIWzNjIfotlYg5ZdCKofW/x1pWKlX8M0BboOEyapre
	5o3bTk3S+11i2SZwzZICoPkm2VKgaA6JM27tbriAIUEs0pJJ2joIdITkfAJSoeFheCHz/zhsiTr
	upUwteVH+AbvGvtCzUXpxEWcABtNOBzv2sQEPqeDiUbf9xo1UFcrcUApeW6YhdfZ6XOQMRIwI96
	TlyOl9uJv49ZwlwM/v9LW/zFv/fRcdQMnUkn8WpGn7hQCShvj3D5H02oYDK9P0InbBty8jEGmKW
	QZpQ2pds0ozEQTHoM3mORf2HIbNqt/GKGsudl/tVbw6WNwGpJIe0ZxERSsxrqmVOQl2jJKFeZbI
	GupvVKklyysOoSY44z6G2acg/CuEynNeTzAp6zdJszpIamsmbXZLZQMFVjwY8Sh0wDiROx52+mz
	9gc6eIuYWM948kHSHgqtnpxVFk6ui8faX/tBGAl1jly7WD6LorZ7AtoXWyO1iJ44qxNxtVkGQ=
X-Google-Smtp-Source: AGHT+IHmiO0cdBrIG9hyQVz82AZVV4W/AjAMjO+3F1arUy/FEmMlYbFOEvEQMjEOIZMhwbNiAow4gA==
X-Received: by 2002:a5d:5f43:0:b0:428:3d66:9f2 with SMTP id ffacd0b85a97d-429b4c97d84mr2627687f8f.41.1761829784605;
        Thu, 30 Oct 2025 06:09:44 -0700 (PDT)
Message-ID: <70e1012a-0839-4721-8014-5ed152c80f34@suse.com>
Date: Thu, 30 Oct 2025 14:09:42 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 22/28] xen/domctl: wrap iommu-related domctl op with
 CONFIG_MGMT_HYPERCALLS
To: Penny Zheng <Penny.Zheng@amd.com>
Cc: ray.huang@amd.com, oleksii.kurochko@gmail.com,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Rahul Singh <rahul.singh@arm.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
 <20251013101540.3502842-23-Penny.Zheng@amd.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251013101540.3502842-23-Penny.Zheng@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 13.10.2025 12:15, Penny Zheng wrote:
> Function iommu_do_domctl() is the main entry for all iommu-related domctl-op,
> and shall be wrapped with CONFIG_MGMT_HYPERCALLS.
> Tracking its calling chain, the following functions shall all be wrapped
> with CONFIG_MGMT_HYPERCALLS:
> - iommu_do_pci_domctl
>   - iommu_get_device_group
>     - amd_iommu_group_id/intel_iommu_group_id
>   - device_assigned
>   - assign_device
>     - intel_iommu_assign_device/amd_iommu_assign_device
>   - deassign_device
>     - reassign_device_ownership/reassign_device

Could this PCI related subset and ...

> - make PCI_PASSTHROUGH depend on MGMT_HYPERCALLS
> - iommu_do_dt_domctl
>   - iommu_deassign_dt_device
>     - arm_smmu_reassign_dev
>       - arm_smmu_deassign_dev
>         - arm_smmu_detach_dev
>           - arm_smmu_domain_remove_master
>     - ipmmu_reassign_device
>       - ipmmu_deassign_device
>         - ipmmu_detach_device
>   - iommu_remove_dt_device
>     - iommu_dt_device_is_assigned_locked
>   - dt_find_node_by_gpath

... this DT related subset become separate (prereq) patches? Doing so may also reduce
the number of acks you need to collect on individual patches.

The bullet point in between looks unrelated in this list; it's not about any function,
after all. In fact I was about to complain that the aspect isn't mentioned in the
description, until I spotted the misplaced line.

> - xsm_get_device_group
> - xsm_assign_device
> - xsm_deassign_device
> - xsm_assign_dtdevice
> - xsm_deassign_dtdevice
> Otherwise all the functions will become unreachable when MGMT_HYPERCALLS=n,
> and hence violating Misra rule 2.1
> 
> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
> ---
> v1 -> v2:
> - adapt to changes of "unify DOMCTL to MGMT_HYPERCALLS"
> - wrap XEN_DOMCTL_assign_device{test_assign_device,deassign_device,
>  get_device_group}-case transiently
> ---
> v2 -> v3:
> - make PCI_PASSTHROUGH(, then HAS_VPCI_GUEST_SUPPORT) depend on MGMT_HYPERCALLS

Is this correct, though? Isn't PCI pass-through and vPCI guest support also
possible in dom0less / hyperlaunch?

> --- a/xen/drivers/passthrough/amd/pci_amd_iommu.c
> +++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c
> @@ -461,6 +461,7 @@ static void amd_iommu_disable_domain_device(const struct domain *domain,
>          spin_unlock_irqrestore(&iommu->lock, flags);
>  }
>  
> +#ifdef CONFIG_MGMT_HYPERCALLS
>  static int cf_check reassign_device(
>      struct domain *source, struct domain *target, u8 devfn,
>      struct pci_dev *pdev)
> @@ -550,6 +551,7 @@ static int cf_check amd_iommu_assign_device(
>  
>      return rc;
>  }
> +#endif /* CONFIG_MGMT_HYPERCALLS */
>  
>  static void cf_check amd_iommu_clear_root_pgtable(struct domain *d)
>  {
> @@ -698,12 +700,14 @@ static int cf_check amd_iommu_remove_device(u8 devfn, struct pci_dev *pdev)
>      return 0;
>  }
>  
> +#ifdef CONFIG_MGMT_HYPERCALLS
>  static int cf_check amd_iommu_group_id(u16 seg, u8 bus, u8 devfn)
>  {
>      unsigned int bdf = PCI_BDF(bus, devfn);
>  
>      return (bdf < ivrs_bdf_entries) ? get_dma_requestor_id(seg, bdf) : bdf;
>  }
> +#endif /* CONFIG_MGMT_HYPERCALLS */

Might be worth moving some code and ...

> @@ -772,14 +776,18 @@ static const struct iommu_ops __initconst_cf_clobber _iommu_ops = {
>      .quarantine_init = amd_iommu_quarantine_init,
>      .add_device = amd_iommu_add_device,
>      .remove_device = amd_iommu_remove_device,
> +#ifdef CONFIG_MGMT_HYPERCALLS
>      .assign_device  = amd_iommu_assign_device,
> +#endif
>      .teardown = amd_iommu_domain_destroy,
>      .clear_root_pgtable = amd_iommu_clear_root_pgtable,
>      .map_page = amd_iommu_map_page,
>      .unmap_page = amd_iommu_unmap_page,
>      .iotlb_flush = amd_iommu_flush_iotlb_pages,
> +#ifdef CONFIG_MGMT_HYPERCALLS
>      .reassign_device = reassign_device,
>      .get_device_group_id = amd_iommu_group_id,
> +#endif
>      .enable_x2apic = iov_enable_xt,
>      .update_ire_from_apic = amd_iommu_ioapic_update_ire,
>      .update_ire_from_msi = amd_iommu_msi_msg_update_ire,

... some fields / initializers, such that we get away with a single #ifdef each.

> --- a/xen/drivers/passthrough/pci.c
> +++ b/xen/drivers/passthrough/pci.c
> @@ -877,6 +877,7 @@ int pci_remove_device(u16 seg, u8 bus, u8 devfn)
>      return ret;
>  }
>  
> +#ifdef CONFIG_MGMT_HYPERCALLS
>  /* Caller should hold the pcidevs_lock */
>  static int deassign_device(struct domain *d, uint16_t seg, uint8_t bus,
>                             uint8_t devfn)
> @@ -945,7 +946,6 @@ static int deassign_device(struct domain *d, uint16_t seg, uint8_t bus,
>      return ret;
>  }
>  
> -#ifdef CONFIG_MGMT_HYPERCALLS
>  int pci_release_devices(struct domain *d)
>  {
>      int combined_ret;
> @@ -1483,6 +1483,7 @@ static int iommu_remove_device(struct pci_dev *pdev)
>      return iommu_call(hd->platform_ops, remove_device, devfn, pci_to_dev(pdev));
>  }
>  
> +#ifdef CONFIG_MGMT_HYPERCALLS
>  static int device_assigned(u16 seg, u8 bus, u8 devfn)
>  {
>      struct pci_dev *pdev;
> @@ -1646,6 +1647,7 @@ static int iommu_get_device_group(
>  
>      return i;
>  }
> +#endif /* CONFIG_MGMT_HYPERCALLS */
>  
>  void iommu_dev_iotlb_flush_timeout(struct domain *d, struct pci_dev *pdev)
>  {
> @@ -1671,6 +1673,7 @@ void iommu_dev_iotlb_flush_timeout(struct domain *d, struct pci_dev *pdev)
>      pcidevs_unlock();
>  }
>  
> +#ifdef CONFIG_MGMT_HYPERCALLS
>  int iommu_do_pci_domctl(
>      struct xen_domctl *domctl, struct domain *d,
>      XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
> @@ -1804,6 +1807,7 @@ int iommu_do_pci_domctl(
>  
>      return ret;
>  }
> +#endif /* CONFIG_MGMT_HYPERCALLS */

Same here - the helpers of iommu_do_pci_domctl() would likely best move immediately
ahead of it, so that all can be covered with a single #ifdef.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 30 13:14:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Oct 2025 13:14:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153676.1483962 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vESTV-0003tW-2U; Thu, 30 Oct 2025 13:13:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153676.1483962; Thu, 30 Oct 2025 13:13:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vESTU-0003tP-V5; Thu, 30 Oct 2025 13:13:56 +0000
Received: by outflank-mailman (input) for mailman id 1153676;
 Thu, 30 Oct 2025 13:13:55 +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 <SRS0=+HTt=5H=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vESTT-0003rm-9F
 for xen-devel@lists.xenproject.org; Thu, 30 Oct 2025 13:13:55 +0000
Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com
 [2a00:1450:4864:20::32e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 471355b4-b592-11f0-980a-7dc792cee155;
 Thu, 30 Oct 2025 14:13:51 +0100 (CET)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-4710022571cso12230565e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 30 Oct 2025 06:13:51 -0700 (PDT)
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-477289a5932sm43886405e9.6.2025.10.30.06.13.47
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 30 Oct 2025 06:13:47 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 471355b4-b592-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761830031; x=1762434831; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=cyptttPPSMP6UxQjnAYqpaBlRK+FGaaZeYMXPM5iTEY=;
        b=bPY1QRgsIGy8slJf2tyzO2Vj2KBIgBQNQ1P1mHnYIqm7bkl5ChV1suXUwcWYUvNWlF
         SQcDsVNAccdT9yF//EZUcVGhU/VIeWDoHjdy52AW8xxaRAKB7Z6fmuL/EOU4tYsElGAL
         HewO0QKGCWhlwh67WD0bjTMl7Lgyi9jlBIRp131FHvUXevhSFovGmUbGqq+F21Fwv6bC
         86CSOFz3KIWUjWefDrFZ1TvwchSAgrZiW3dQP3CtvWG2ak+fG0zLAD0F9A+uaIFTyRmm
         uluWIBVPrhOhGfoEtmF/q1KLh29yKycudp8jj1ISNycMDrm3IQvksZkfG5tWk8Wtc4pS
         SmzA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761830031; x=1762434831;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=cyptttPPSMP6UxQjnAYqpaBlRK+FGaaZeYMXPM5iTEY=;
        b=k5+ZapxZqQ+RGbCmw6SDtmHcDxKWgJku7DBRAGh2MglyPuGjLPftTFQ1/KAscQmT+J
         YBs/vigTk/orK9pAMqJ9ssgidToNxteKG2/zLg12NjxM+2BQgnOfLb2Q+fWjrlfYMqap
         dWIMHnRwAyr7nLheXkZT0mT60sE2tvsPsZsPa4HZICHXEmtjm+2RrlJYPwodAqjCCgMO
         FooRRhxLmwaGEdP2ZB1xNTqejILoogWGNnu+ak0+gOU0TtH/Dm/62UFqCifw2+g0TUXM
         F1C1KumkP3MbngT7IF8s6/usyqyhC8sm+8U3v7aTMfQLRKFa2UwSCXmghDFwqR4on5PQ
         /4pg==
X-Forwarded-Encrypted: i=1; AJvYcCVWV5teM0SiKtqiG8yX3erY7pByeC6grZdE/P0X18a3RuUCD1ajORemvA8qFRRIdE4MldsS1jAVRlU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxcFBVmsS49i4znJwYcYquKr6q4rynP6YhQe9MExgZTRfvdrmAH
	eMZZj9+aHFHU1eV4SEcnuZuuOqg8nhkvPN5q+cS13HYes1tdSwTtWNWXjPRraODELg==
X-Gm-Gg: ASbGnctiQpgoY6K4vSydTcQAjVn/S9OBoRsM4hDqA/nU7IdqYoC919SOpns5y2/yimN
	/e+k0gLY4IF45wM/TmRLfWPEoR9isKbfm3f8G0Cl+TDrIkx+QQ1Jn1SpNe/WLMcb/0nTf1wvTkN
	Ap4XLXHUsFAEM5GRpigRa9X5RqGsByUUghKm7DySGVWQNxFBCf+3z1mCiNj4ksdi0GTfZOlgA19
	INU9dAlxAKHSqXhdaTBzBwL7wAi/ape18GDh94BUDtkdF7WQ4iD1eNL3UiAyBx8M5rpUmS0/ttu
	RtxpH04czokht53DCLzrhvgzEvwtzBnTfs3QirAIIAJ6qufiHXQR32giuJG7JRLNDZ3x2ZN+6hr
	oH4Sq4K7puIVCkx97jGXmAn2sUomm5jyCGUqY63mvP63is+KVsn/ejiQGFZaIgx3RB+pyZpFD1V
	y/RhWOpaeAfth37V9+YLOoRwDjo1LIkR4j3iDMSxafQLMZhqhEa7ZRJIvWqmLU
X-Google-Smtp-Source: AGHT+IF3ZmQJQL0c1lPfVC5s+TCfQtEp5oyMFsvNi5bkF09KLhXXcdKgOgqyMdY+pGpScVrEAu0lvQ==
X-Received: by 2002:a05:600c:154f:b0:46e:7e22:ff6a with SMTP id 5b1f17b1804b1-47726728bd7mr27600195e9.15.1761830027888;
        Thu, 30 Oct 2025 06:13:47 -0700 (PDT)
Message-ID: <eb367a04-f6f7-40c6-9e30-659b17ab997c@suse.com>
Date: Thu, 30 Oct 2025 14:13:45 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 25/28] xen/domctl: avoid unreachable codes when both
 MGMT_HYPERCALLS and MEM_SHARING unset
To: Penny Zheng <Penny.Zheng@amd.com>
Cc: ray.huang@amd.com, oleksii.kurochko@gmail.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
 <20251013101540.3502842-26-Penny.Zheng@amd.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251013101540.3502842-26-Penny.Zheng@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 13.10.2025 12:15, Penny Zheng wrote:
> The following functions have been referenced in places which is either guarded
> with CONFIG_MGMT_HYPERCALLS or CONFIG_MEM_SHARING:
> - arch_hvm_save
> - arch_hvm_check
> - arch_hvm_load
> - hvm_save_size
> - hvm_save
> - hvm_load
> - hvm_vmtrace_reset
> So they shall be wrapped under OR relationship, otherwise they will become
> unreachable codes when MGMT_HYPERCALLS=n && MEM_SHARING=n, and hence violating
> Misra rule 2.1.
> We move arch_hvm_save(), arch_hvm_check(), arch_hvm_load() and hvm_save_size()
> nearer to the left functions, to avoid scattered #ifdef-wrapping.
> 
> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>

See my earlier remarks towards MEM_SHARING possibly becoming dependent upon
MGMT_HYPERCALLS, at which point things may want doing and/or describing a little
differently.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 30 13:25:01 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Oct 2025 13:25:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153686.1483971 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vESe6-0005ob-SX; Thu, 30 Oct 2025 13:24:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153686.1483971; Thu, 30 Oct 2025 13:24:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vESe6-0005oU-Pp; Thu, 30 Oct 2025 13:24:54 +0000
Received: by outflank-mailman (input) for mailman id 1153686;
 Thu, 30 Oct 2025 13:24:52 +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 <SRS0=+HTt=5H=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vESe4-0005oO-Rh
 for xen-devel@lists.xenproject.org; Thu, 30 Oct 2025 13:24:52 +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 d08971eb-b593-11f0-9d16-b5c5bf9af7f9;
 Thu, 30 Oct 2025 14:24:51 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-4770c2cd96fso8141245e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 30 Oct 2025 06:24:51 -0700 (PDT)
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-429952db99asm32377378f8f.32.2025.10.30.06.24.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 30 Oct 2025 06:24:48 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d08971eb-b593-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761830691; x=1762435491; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=qvoXvPrvm9r2iTSitXgoIT+trhns4VnlScXPRUJhdt4=;
        b=eisP9EW5H51Gey6CP/23mhrEZr8fw9TMKmzPjQH81A44YYI0xjwoIXNjNO3VI/mfYJ
         FiHr0uHzVLdRyliMGC1JVa/PKh5qNF85FNHHAfP4OjUuiV/6Lf28WdObdwVqJ28ETByc
         BaqzhVsJ2jMsmZ68/2MGrYaVHvGznGu+dl0/+O4vTAZo7LqZzaDtgmRxE6KSNJi4Svh+
         rpp1CILvQKommOmBb6TjvwKMaccOlzhpb3VrM4MDS3d6bH0pNjTfnBrSvmgqcEYWP9de
         D4LxYAtVW9WUFIfMUn5lDxN1uIC1tpGT0Ju4aKOf1lW7phigUcLC7Wro3Lkxfp3ioAUb
         XvKg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761830691; x=1762435491;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=qvoXvPrvm9r2iTSitXgoIT+trhns4VnlScXPRUJhdt4=;
        b=EAoFGJ9pmSuWY2NWGkZlhdIJCg+VXp0Z2nsXC29ebnBz9XKZ8i1MIaKeMQ3+Fk8Tps
         QWRIhIbGHbMpQ8p9JECGlWA1NlTfLQzuQRdFkluy/GBfCQjGJkpNm156jDX9ZMJb+aSW
         CMPFksvcle7lSfjwtg9srVkVPhLtNP6wIFxherZhyh6ZYZ8TLIhbw2eJ32I2A7BgLQdX
         NRa3RXw1V9I4rK1hp/Gx9B9fPbqm9monNrlGH5opahQ1DoXjLJzslYmdgPuenSLSik/e
         HEa+sg8Ak+LdIXoeXRjdajiE1gIjy0cSsTtSEMyNpmSicrwLZB2OCg9QDApyVHql7tlY
         nxyA==
X-Forwarded-Encrypted: i=1; AJvYcCUy0XJcScFvmS9twWaajumk1z410O0TczltGYjFz4fpdA0EhTFyvHWL7vqb1K69nNVzATa/KbjI/Ac=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy2wCkN5EakAZ3aS4sHTNEW8zX7DIspamK80HfaLxTdzCF+9ymt
	isN9QWn4obrAzV5PM1esmDuwvZAHgrFXT5Wq7T4y+ZzcQUwLbpu6UabaZAfns3vzqw==
X-Gm-Gg: ASbGnct97C1ZZejfOf/A3ELjVLG1nE9lyzElrAoEDV5JKnLH4jIwC8EV4g6Ukf7u3Wp
	pTmBtRnZfAPDygLvbca3MgBjSpxyjbaDYOVHssWKFDpAk2X7CkErRMFpKjSL1n9CBxV4M5HJBrm
	FsZEG+EW7AgRj2CAvSispzcR6Z7pXa7znKRiZfTBr4PSOd8SyOs02AVmFGI3yTTN5aSSC3YjD+l
	/RaLp1tNe8Z1MEgxqI+QM1Zic8FTKe7QvvrUK/DVsXBuWg2XWB0PP622whvmJw2sI27TKpSBi+x
	FJ4I9S4ge4NM19zGPpxXADNsIPpYzUBrjaeVVFkqpppwkQ25uXVA86ZLGpCd/syG2Gd/+ewYdC3
	Jrh/0Zpocb62DVR06WPxFTkNbrqaTVWClfxnqFtw+ooOZr8tGcnG6VyBOalFujj7egHa8GxsWKL
	bPnQkPJaGcPClj4jc7OR2NNVAH8Dsp7qdzf+zgl4nQvDRDW+CYXrQouXM+OFHoKrXcwHyrkaw=
X-Google-Smtp-Source: AGHT+IEMB2CXIar889qDPFfKd1jJRN0/jHqQlXMOuJwm4jX0risCidzU/pyfaBHWF24M9SwVvVRKBw==
X-Received: by 2002:a5d:5e8d:0:b0:429:b805:1165 with SMTP id ffacd0b85a97d-429b80512e8mr1582519f8f.49.1761830689014;
        Thu, 30 Oct 2025 06:24:49 -0700 (PDT)
Message-ID: <604ba4aa-a527-40af-9683-473ee331fcbb@suse.com>
Date: Thu, 30 Oct 2025 14:24:47 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 26/28] xen/domctl: wrap arch-specific domctl-op with
 CONFIG_MGMT_HYPERCALLS
To: Penny Zheng <Penny.Zheng@amd.com>
Cc: ray.huang@amd.com, oleksii.kurochko@gmail.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Tamas K Lengyel <tamas@tklengyel.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
 <20251013101540.3502842-27-Penny.Zheng@amd.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251013101540.3502842-27-Penny.Zheng@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 13.10.2025 12:15, Penny Zheng wrote:
> Function arch_do_domctl() is responsible for arch-specific domctl-op,
> and shall be wrapped with CONFIG_MGMT_HYPERCALLS
> Tracking its calling chain and the following functions shall be wrapped with
> CONFIG_MGMT_HYPERCALLS too. Otherwise they will all become unreachable when
> MGMT_HYPERCALLS=n, and hence violating Misra Rule 2.1.
> For x86:
> - hvm_save_one
> - hvm_acpi_power_button
> - hvm_acpi_sleep_button
> - hvm_debug_op
> - mem_sharing_domctl
> - make P2M_AUDIT depend on CONFIG_MGMT_HYPERCALLS
> - make PG_log_dirty depend on CONFIG_MGMT_HYPERCALLS
> - do_vmtrace_op
>   - hvm_vmtrace_control
>     - hvm_funcs.vmtrace_control
>   - hvm_vmtrace_get_option
>     - hvm_funcs.vmtrace_get_option
>   - hvm_vmtrace_set_option
>     - hvm_funcs.vmtrace_set_option
>   - hvm_vmtrace_output_position
>     - hvm_funcs.vmtrace_output_position
> - paging_domctl_cont
> - make policy.o/msr.o depend on CONFIG_MGMT_HYPERCALLS
> For ARM:
> - subarch_do_domctl
> We put the guardian in Makefile for the arch-specific domctl.o compilation.
> 
> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
> ---
> v1 -> v2:
> - split out xsm parts
> - adapt to changes of "unify DOMCTL to MGMT_HYPERCALLS"
> - wrap default-case and arch_get_domain_info() transiently
> ---
> v2 -> v3:
> - add missing guardian in arm/Makefile
> - cover RTIT_CTL{,STATUS}_MASK #define-s
> - add missing guardian for .vmtrace_output_position
> - guard the whole static inline function
> - address "violating Misra rule 2.1" in commit message
> - remove transient wrapping around default-case and arch_get_domain_info()
> ---
>  xen/Kconfig.debug                  | 2 +-
>  xen/arch/arm/Makefile              | 2 +-
>  xen/arch/arm/arm32/Makefile        | 2 +-
>  xen/arch/arm/arm64/Makefile        | 2 +-
>  xen/arch/x86/Makefile              | 2 +-
>  xen/arch/x86/hvm/hvm.c             | 2 ++
>  xen/arch/x86/hvm/pmtimer.c         | 2 ++
>  xen/arch/x86/hvm/vmx/vmx.c         | 4 ++++
>  xen/arch/x86/include/asm/hvm/hvm.h | 4 ++++
>  xen/arch/x86/include/asm/p2m.h     | 2 +-
>  xen/arch/x86/include/asm/paging.h  | 2 +-
>  xen/arch/x86/mm/mem_sharing.c      | 2 ++
>  xen/include/hypercall-defs.c       | 4 ++--
>  xen/lib/x86/Makefile               | 4 ++--
>  14 files changed, 25 insertions(+), 11 deletions(-)

This again might better be split, perhaps (at least) into an Arm and an x86 patch.
Possibly the do_vmtrace_op() set of changes could also be a separate patch.

> --- a/xen/Kconfig.debug
> +++ b/xen/Kconfig.debug
> @@ -15,7 +15,7 @@ if DEBUG || EXPERT
>  
>  config GDBSX
>  	bool "Guest debugging with gdbsx"
> -	depends on X86
> +	depends on X86 && MGMT_HYPERCALLS

Likely better

	depends on MGMT_HYPERCALLS
	depends on X86

such that when (if ever) another arch is to be added, a simpler modification will
do.

> --- a/xen/arch/x86/mm/mem_sharing.c
> +++ b/xen/arch/x86/mm/mem_sharing.c
> @@ -2322,6 +2322,7 @@ out:
>      return rc;
>  }
>  
> +#ifdef CONFIG_MGMT_HYPERCALLS
>  int mem_sharing_domctl(struct domain *d, struct xen_domctl_mem_sharing_op *mec)
>  {
>      int rc;
> @@ -2339,6 +2340,7 @@ int mem_sharing_domctl(struct domain *d, struct xen_domctl_mem_sharing_op *mec)
>  
>      return rc;
>  }
> +#endif /* CONFIG_MGMT_HYPERCALLS */

See again my MEM_SHARING related remark.

> --- a/xen/lib/x86/Makefile
> +++ b/xen/lib/x86/Makefile
> @@ -1,3 +1,3 @@
>  obj-y += cpuid.o
> -obj-y += msr.o
> -obj-y += policy.o
> +obj-$(CONFIG_MGMT_HYPERCALLS) += msr.o
> +obj-$(CONFIG_MGMT_HYPERCALLS) += policy.o

What about e.g. x86_cpuid_copy_{to,from}_buffer(), living in cpuid.o?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 30 13:34:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Oct 2025 13:34:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153697.1483982 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vESnW-0007iM-Nc; Thu, 30 Oct 2025 13:34:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153697.1483982; Thu, 30 Oct 2025 13:34:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vESnW-0007iF-Jx; Thu, 30 Oct 2025 13:34:38 +0000
Received: by outflank-mailman (input) for mailman id 1153697;
 Thu, 30 Oct 2025 13:34:37 +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 <SRS0=+HTt=5H=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vESnV-0007i8-9m
 for xen-devel@lists.xenproject.org; Thu, 30 Oct 2025 13:34:37 +0000
Received: from mail-wm1-x334.google.com (mail-wm1-x334.google.com
 [2a00:1450:4864:20::334])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2c8d425d-b595-11f0-980a-7dc792cee155;
 Thu, 30 Oct 2025 14:34:35 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-475dc6029b6so12036265e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 30 Oct 2025 06:34:35 -0700 (PDT)
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-47728aa6b0dsm38569535e9.14.2025.10.30.06.34.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 30 Oct 2025 06:34:34 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2c8d425d-b595-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761831275; x=1762436075; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=LJTuo6nny/5nobMCx8JPRZyXWDVBTZKicRZfxupc640=;
        b=WKYDs+8DI5TPxMvGfyhNnHkTX5Msmy+pvI6KYIMOJJdJzrQaAiarHDV/fTi0JLJ4Xw
         MGenhf4NwYfjIjpYjRw3iEk7VDYQRZn2qBkwKByrg8B4eQGmMmf1hnlA8B9wiG/iUKtl
         6MdAMyxF322q6dE1A0tK/ifTFAZMgCNB84WHm0N9uOs5+Px4ngBqIXaG8oCuvxrynG/l
         nBKJMoCjFxmWdbQFKQ/Ov4arMAltNaayMnKQYl/6s54AAIhrNvPg6DsSpO1h9Sf9DamB
         PAqkmbYlYE347fQoYwqHdTuyRVGy0g8vTewITSHsj1PYZ9oxTtnBbiL5HU74a2FhmfOn
         rqNg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761831275; x=1762436075;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=LJTuo6nny/5nobMCx8JPRZyXWDVBTZKicRZfxupc640=;
        b=HOvl+KteCHPveWzSUhIXIyS2LmYAWSPUCapfg1VfjKB28sZOOsFalHwvkRyQVcCn8X
         /TX4uWPQe401b42qox2nhIs/ZFK0CPmB4cJZnH6BSg/2ohNqgbGZDsDZyrIt/hU9GSSN
         d2c3LEsVXTCPu6zRy2H+WlSwaUk37XafK+YpsnYElTPwvyPaKmR6UiPjYe59XDZzByrz
         HlttcBxaBq2uImn1DKhtu1FJxvHuASs/j25v93Gv/56xpCrDawtjSrL70kpGCo56eMLX
         SP0T460+BgjyZbUZ69npvfg88aAW+qPft4AKTT00juJBzr337cOQTO8XY22R7G8l2KJn
         NnBw==
X-Forwarded-Encrypted: i=1; AJvYcCWpMpBjF1GSlbaPC4u5YCbgZ3tKH1ix9PiaOgsHX38cBRhaNkxC4CBSpusAuA+3zrYft1DCEIdJ57c=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzzcilnIN078Mej1eRpJA6ku19T5p7o4JwA0Am1tQKqiH4H4zF7
	eMe0P9qSykbU2A/4Xn3CjL/jzuUBh8TE2zghN+ckQS/zI9DB/luT37yJIQF/EGiLXw==
X-Gm-Gg: ASbGnctc1PZRpXnmK0UF7sVXF4zZjUvx5+EToVjk7lu6DS1jHbBOQgNZ50AVPa7KVM9
	yd7VB4cyIUx3b1HL4YDdp+01dqh4oIcgFtMjeBJdlmF1eIdp7xfggNJqj7N82swIOPC41A2Ncka
	lW+/SW/i091nbFNIHMBIYgzdtP1RlqsMVxD8vLpjuyzr0KteIBj0+9otJ6e4qxZV4l77rJ6le5U
	a71l8BA3772hrl0/f/fGX5odXH86amm2gIW5dEEaI+ABiZr0sxHsgWqOt90HzrQaAUY9lZqDJ3I
	yk4njokymCAEw4W83V/FbtMVs2q+ub8hrPo3xg5GU+TeJO6XPX4OGRHgLsQF1395C2904/oIeT/
	exhUUX0l6VpVJ8Ce3NUsVOrMzoBB69PhaKS5GsWMgZ72hBs9hUastkrwleMs7TW57hhZkex1OMO
	0qgUU67iUMQgtjZUlbMA8bUg6LWcd4XbGMiee9qtOUH1JCR5B6Exnmc+xblSWnhIep9jUqgfm2I
	anYk8Spwg==
X-Google-Smtp-Source: AGHT+IE2HLN3haaCFe5Jr9gHuBoZ+Yn0EXKsXSTen04RvJVu8ZKbMatcn4r+af5VTHkU7qA/FnxpDg==
X-Received: by 2002:a05:600c:608b:b0:475:de12:d3b2 with SMTP id 5b1f17b1804b1-4771e1f1dc2mr66726645e9.36.1761831274602;
        Thu, 30 Oct 2025 06:34:34 -0700 (PDT)
Message-ID: <af8eb5b1-80fd-477c-9b50-29041ae93088@suse.com>
Date: Thu, 30 Oct 2025 14:34:32 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 27/28] xen/domctl: make HVM_PARAM_IDENT_PT conditional
 upon CONFIG_MGMT_HYPERCALLS
To: Penny Zheng <Penny.Zheng@amd.com>
Cc: ray.huang@amd.com, oleksii.kurochko@gmail.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
 <20251013101540.3502842-28-Penny.Zheng@amd.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251013101540.3502842-28-Penny.Zheng@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 13.10.2025 12:15, Penny Zheng wrote:
> Helper domctl_lock_{acquire,release} is domctl_lock, which HVM_PARAM_IDENT_PT
> uses to ensure synchronization and hence being a toolstack-only operation.
> So we shall make HVM_PARAM_IDENT_PT conditional upon CONFIG_MGMT_HYPERCALLS,
> returning -EOPNOTSUPP when MGMT_HYPERCALLS=n.
> 
> Suggested-by: Jan Beulich <jbeulich@suse.com>

I fear this isn't quite what I suggested. The param get/set are XSM_TARGET, i.e.
can be used by DM as well. The particular one here shouldn't be used by a DM, but
that's a different question. Similarly in principle the PVH Dom0 building code
should be able to use this path; it doesn't right now in favor of some open-
coding.

What iirc I did suggest was that the serialization isn't needed when no domctl can
be used to otherwise alter (relevant) guest state.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 30 13:40:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Oct 2025 13:40:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153707.1483991 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEStC-00013G-9i; Thu, 30 Oct 2025 13:40:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153707.1483991; Thu, 30 Oct 2025 13:40:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEStC-000139-70; Thu, 30 Oct 2025 13:40:30 +0000
Received: by outflank-mailman (input) for mailman id 1153707;
 Thu, 30 Oct 2025 13:40:29 +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 <SRS0=+HTt=5H=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vEStB-000133-Jf
 for xen-devel@lists.xenproject.org; Thu, 30 Oct 2025 13:40:29 +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 fe5b612f-b595-11f0-980a-7dc792cee155;
 Thu, 30 Oct 2025 14:40:27 +0100 (CET)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-42557c5cedcso667065f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 30 Oct 2025 06:40:27 -0700 (PDT)
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-429952b79cbsm32196573f8f.4.2025.10.30.06.40.25
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 30 Oct 2025 06:40:26 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fe5b612f-b595-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761831626; x=1762436426; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=CeSn5QO6f3V5p0Us/zILDg/qK4ao7r89Z7EVtFHMdJY=;
        b=TXKG/aQ3NlQ04aeFNnJR4bE9OLXT10HV8FemKaLUc+NQ9hmumplOWTLXqRwHAaY90H
         1olrkEO+/AU3g6b2MJcwdLaUBzSbiz87YEt2lwP+gQjqSpUbytp4gOZs6ENWRLXOaKs0
         97tknWs2lYwLeXNcP04oZNWBfQRFrVHb2smQQsym4yUquW98At5++YOFJXC8HKvq2nuV
         +O6HZ6oIwzdXAbaK3ZznwFvbCKtnG4gd1/V+qYyOe2ylnz+ig1poAXZEoIU4dn26JDJg
         P09Nn3Okb4ZiQ1zN87t9IIF3A84rFLf056SWIVb1w9cd6MzTxWQz+D3YZ2uv9u1niNB6
         AfZA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761831626; x=1762436426;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=CeSn5QO6f3V5p0Us/zILDg/qK4ao7r89Z7EVtFHMdJY=;
        b=LYqKB3K8hs5PfHD2GPi/kjeZTX93pt64ALsBN5DTIP1Rbtsh2F+8AMu3B/gDAs8t/s
         ywgGc9HDafUk/hIBbRRyp+n5XBoSEpAbpbjk0vl66Ddj7a8lKn8TM7BVfRjlddWTHE1K
         RdQ4GdMRQGnnn1pIg/oVmmGs94pm9kx4MTqpOZo/JvsFVI61msUoYZfvCxq1Uk6IfQYQ
         4w/zkK5ODmQqKn2RaxRyCZ/BRViHQCjHXcnACvnzt6hdAQgFdH0hSK6Y2yS5odGwlVVk
         BaBAmQAPBTnyLaVjN6S1ysZEL6wN82YYi+cA32Ybxg3BcdQoue6r49NGXD1djeJIkWA4
         TlIg==
X-Forwarded-Encrypted: i=1; AJvYcCVPSR+QAaV4nzPqMjBKTktSIBJw29P2CmgeQxIDo62kA3HIhIdkL+JMbE5XRsJp0Zth+I077K9kFlk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxcPqybCyH3iyyxaCgJqTG6uNwSendH+3KdRgf+D/o6nzVq9Cvz
	s3CZmy2IbJUunramSP0QWWFubIx9WUqV8cITtT3hxcnizHQNwpLIJQOuL90U7I4JBw==
X-Gm-Gg: ASbGnctMfEeHiji1o7i06HAayMrZvxPV3tmRerlwZZOCWPoB4qyYkOmdeKXLlM6JAXZ
	ahqg1FWyQyJ5hDKKd6UjtUR9UnafFJYAoH1bK481YwMGeehBx1UgJkvtwgVprpdBuvMSQyVEY0o
	mPh5VbK+9nSM4S7JX11DMyWTA2BiyL/2ORLCh3HbKO8cYTsmRX8fhEhXM2K+h+b5Cf3h5ReK3iR
	xg7nDlHKBWsn9GjkjdlzbplWpnTZIk1BbAcJy9lPC8evDOKeiFdO9oHgBkew4CnQWLDA4Em6PiD
	+b0xW7xRL1oGIrTZYngXgepIn0hW4s357Ap09XhiXT36VgP5LeEHK+el82NCtEYeO45uka8YJJo
	pALuGDwrPq1utrSMuz2V9vR2Ur58XOQP+a0qie+1ATdMesQyVkifG0YrRxC/ciFUd0lXAkBoY0k
	DuaXIB0pif2T9wKdEZr7dC4HdCC/ZD0frZ+jX/zBFngni3g433Zwd1K4yRJlRn93Z5bA7uc/Q=
X-Google-Smtp-Source: AGHT+IFf9l7JNO/Aymf2JB9H96bmsz/b4F3Z/QI+BoicbO86IEIapoStTRvLmitIaBBYYP4jZkG4SQ==
X-Received: by 2002:a05:6000:40e0:b0:427:64c:daaa with SMTP id ffacd0b85a97d-429aefca339mr5541818f8f.44.1761831626492;
        Thu, 30 Oct 2025 06:40:26 -0700 (PDT)
Message-ID: <c18cdb1c-f2b3-4eeb-b064-670c86e19e67@suse.com>
Date: Thu, 30 Oct 2025 14:40:24 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 28/28] xen/domctl: wrap common/domctl.c with
 CONFIG_MGMT_HYPERCALLS
To: Penny Zheng <Penny.Zheng@amd.com>
Cc: ray.huang@amd.com, oleksii.kurochko@gmail.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20251013101540.3502842-1-Penny.Zheng@amd.com>
 <20251013101540.3502842-29-Penny.Zheng@amd.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20251013101540.3502842-29-Penny.Zheng@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 13.10.2025 12:15, Penny Zheng wrote:
> --- a/xen/common/Kconfig
> +++ b/xen/common/Kconfig
> @@ -646,11 +646,13 @@ config SYSTEM_SUSPEND
>  	  If unsure, say N.
>  
>  config MGMT_HYPERCALLS
> -	def_bool y
> +	bool "Enable privileged hypercalls for system management"
>  	help
>  	  This option shall only be disabled on some dom0less systems, or
>  	  PV shim on x86, to reduce Xen footprint via managing unnessary
> -	  hypercalls, like sysctl, etc.
> +	  hypercalls, like sysctl, domctl, etc.
> +	  Be cautious to disable it, as users will face missing a few basic
> +	  hypercalls like listdomains, getdomaininfo, etc.

This is still too little, imo. For one I'm not sure "users" is quite the right
term. I'd say it's more "admins". And then, as mentioned, there are a few
domctl-s which are usable by DMs. Aiui device pass-through may also be impacted,
which imo will want mentioning here as well. Or else, if there is an implication
that DMs aren't to be used when MGMT_HYPERCALLS=n, that is what would want
calling out.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 30 13:42:07 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Oct 2025 13:42:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153717.1484002 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vESuk-0001cT-Pk; Thu, 30 Oct 2025 13:42:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153717.1484002; Thu, 30 Oct 2025 13:42:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vESuk-0001cM-Mi; Thu, 30 Oct 2025 13:42:06 +0000
Received: by outflank-mailman (input) for mailman id 1153717;
 Thu, 30 Oct 2025 13:42: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
 <SRS0=MAXf=5H=siemens.com=haseeb.ashraf@srs-se1.protection.inumbo.net>)
 id 1vESuj-0001cG-6N
 for xen-devel@lists.xenproject.org; Thu, 30 Oct 2025 13:42:05 +0000
Received: from SEYPR02CU001.outbound.protection.outlook.com
 (mail-koreacentralazlp170130006.outbound.protection.outlook.com
 [2a01:111:f403:c40f::6])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3528811b-b596-11f0-980a-7dc792cee155;
 Thu, 30 Oct 2025 14:42:01 +0100 (CET)
Received: from KL1PR0601MB4588.apcprd06.prod.outlook.com
 (2603:1096:820:87::11) by SI6PR06MB7270.apcprd06.prod.outlook.com
 (2603:1096:4:24a::5) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9275.13; Thu, 30 Oct
 2025 13:41:53 +0000
Received: from KL1PR0601MB4588.apcprd06.prod.outlook.com
 ([fe80::3f19:282d:5fe2:f523]) by KL1PR0601MB4588.apcprd06.prod.outlook.com
 ([fe80::3f19:282d:5fe2:f523%3]) with mapi id 15.20.9275.013; Thu, 30 Oct 2025
 13:41:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3528811b-b596-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=bQihtHF0AK4sge7v54rGzrySLWQdwm45JstZsEue+QT9VBTpXr1pQhfHU0C2gA/FxApcBGq8I+s+d+6bHj5YlZQO9GlU8F2ttMWnElvwm5HSdbpAY/n49hq2k/WdnhCWazGp0l9GCTOmrpIR9IwF2lQk4MZGw48dYlaubSQVcpiscyeuIMiDFHNFX9ySxzQx3itecxSOV5F0WOjc5l9B9JhZprR09ZjFr2YA2iLZ5rwMYiqKXDUUz5TGi+KP2XGqDplNdz29Bb4Twb/ziOnaAlzPQ7rBTHbe2+VchOBWrcnivkE96QFQwF3yO0WCvOK1DRwZ/qeKPcTC8EADQ9LJFw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=i7aWDt8g5z1cxCqCB4c7aoXoSY3AGcKGkqXkPCZxVks=;
 b=tN64sxUjP6XeeljX5Qw+5qT10sGbbderEiD0wwZBRHwGUzptO8yY+700dfG+IOJ2Vw0mMLfoYVOY36pPhj5hIeJnxtO9esU6gKe/Vo03H7U7G4hRIrNjMLKuqc91mgk6IizhE1BPwIk+GJkXGxjgUGUF99WS1XZaFiVPLrYv3Hb9SryJZZT4xXNuGz6bqNeiYmpqL53guBiJ5kyQnP2FXfqWVkPPiDZZ24V15yhzlnfHpyJKE6YcqBbRezARGJ/LUa6tFIv54WYEsCD3A4uqp59rkyb5Ja/oc/4yNH/GgOl7jTRCARidaQdMFQ5zzsDRUFba7XKWgjUgXP50Lmpe3g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=siemens.com; dmarc=pass action=none header.from=siemens.com;
 dkim=pass header.d=siemens.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=siemens.com;
 s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=i7aWDt8g5z1cxCqCB4c7aoXoSY3AGcKGkqXkPCZxVks=;
 b=LxsZ3Lvh1QnLILO8FYSmqe7jbi8qx635katQZFovqay1+l5RWpZBZa4EvyuR9VzGd3aHJa4MTltfgicypE8kTU1HSIrZLqgtMunS69EKzvVsUxXqH+4rrwRU8jX57OlkKX41N9qOHlftUr+iTi5mgoQ0rAzIb2ldyjSATz8yvGjvlu/lql46RN14r1YMvqFQiGsqk4wZf6kK016nxm/6gg9ixde6OYG9+i/uJSbSZbi0lph1Ku+yOA+Np3zO3Efqziw2+Hp0YaUQjSvQNOQZVpW8Tw6l5AKzn5fz+LaTWgjrQ2x/ZZFpMBEhZXb4T6cjgt263v1QhwCOLlH6CSmJZw==
From: "haseeb.ashraf@siemens.com" <haseeb.ashraf@siemens.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: "julien@xen.org" <julien@xen.org>, "Volodymyr_Babchuk@epam.com"
	<Volodymyr_Babchuk@epam.com>
Subject: Re: Limitations for Running Xen on KVM Arm64
Thread-Topic: Limitations for Running Xen on KVM Arm64
Thread-Index: AQHcSVi3paxtnyIgIkOf6jhuJCbvfrTalv6c
Date: Thu, 30 Oct 2025 13:41:53 +0000
Message-ID:
 <KL1PR0601MB45885505ECBBE9262C2B25E0E6FBA@KL1PR0601MB4588.apcprd06.prod.outlook.com>
References:
 <KL1PR0601MB4588D25A95D680640A80F2CAE6FBA@KL1PR0601MB4588.apcprd06.prod.outlook.com>
In-Reply-To:
 <KL1PR0601MB4588D25A95D680640A80F2CAE6FBA@KL1PR0601MB4588.apcprd06.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-Mentions: julien@xen.org
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels:
 MSIP_Label_9d258917-277f-42cd-a3cd-14c4e9ee58bc_Enabled=True;MSIP_Label_9d258917-277f-42cd-a3cd-14c4e9ee58bc_SiteId=38ae3bcd-9579-4fd4-adda-b42e1495d55a;MSIP_Label_9d258917-277f-42cd-a3cd-14c4e9ee58bc_SetDate=2025-10-30T13:41:53.035Z;MSIP_Label_9d258917-277f-42cd-a3cd-14c4e9ee58bc_Name=C1
 -
 Restricted;MSIP_Label_9d258917-277f-42cd-a3cd-14c4e9ee58bc_ContentBits=1;MSIP_Label_9d258917-277f-42cd-a3cd-14c4e9ee58bc_Method=Standard;
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=siemens.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: KL1PR0601MB4588:EE_|SI6PR06MB7270:EE_
x-ms-office365-filtering-correlation-id: a9667c74-12b3-4586-76de-08de17ba162a
x-ms-exchange-atpmessageproperties: SA
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|376014|39142699007|31052699007|1800799024|366016|38070700021|7053199007|8096899003;
x-microsoft-antispam-message-info:
 =?us-ascii?Q?0JE2zOKvu1MsH1UrSCJseMupmv/O0d06yQJ1RLIPUaY5PRsbGO7DM1k6V457?=
 =?us-ascii?Q?+kUth+5Xi3V37cydiaq/bXGJwe/N0GJ7jo1OAMJQhNfSBSJuky4TBgYV0jqx?=
 =?us-ascii?Q?qLubhGbN1MI3wcekvJOTqN44XhQ5waMu7DGKbvAZ2wMv3w92AVj1so5zextQ?=
 =?us-ascii?Q?JBDgKmDo09uDaK+YcT/yDsJeFIeB1Oj+m8KRjaUK1VUopxTSxv5WU+WXB115?=
 =?us-ascii?Q?Iv3+XieIUj/PKoH28MdrloFeiNyn8uJmBx0AQipkBawhuQ7RL1UgERsCPReW?=
 =?us-ascii?Q?y60sMw6UVEbeQc3gn0mSHuXURbm3wgPPy35YndtNGX1bmT/NUCP32XjeTK3E?=
 =?us-ascii?Q?IIUitYkLhm9I7A0Rx7msQGaNyRzgz83ZemzlqyPgo4VV2YgfnHFABZj3oqfH?=
 =?us-ascii?Q?dHeqyXzo0Tbmmhq3UQ1MELPbDoPjO4TnGASmAumqU1P3iHr9vLH4kib6jfgi?=
 =?us-ascii?Q?fcXudboLIu68NA+LuSCqEWfqFfvKcP4YSJ6T4wRMNhm1Bm5z51+xifqUcDM5?=
 =?us-ascii?Q?wSWcl1MBRgvQWDcYdy2tN4UVnwYmO0tYB2n+bUaN3Rjy+m1NKSlzMFFPa/c2?=
 =?us-ascii?Q?a/adjVSY78+BoBPZcrymhr/yHLNEHu1S/uK/O2Y6Lwu16g1yfNEuZV0E53kV?=
 =?us-ascii?Q?0DRekX/eThKeopyZII5fJKuHPeRGR+JlVTK3XFRI/PTNLWp7VTYIgQAvcr1u?=
 =?us-ascii?Q?8F4N1hY67fhiFtR+d7C3a4QCMAPWd59PiTvE0MSxNkh+gcf29KZdGkKvXt2p?=
 =?us-ascii?Q?5Wa4dJu/2MDDHtikVo+ZgP7nejmAhS+Tv3FPYX4t4q8xc/S89hYZZgGlfcaV?=
 =?us-ascii?Q?SP031A+imtnDZA3NBwAsgIeEOcA8qo3uvuSujKmDUxis+jEAqXJcJNryuKlr?=
 =?us-ascii?Q?Crgh4ngZ4DS6s7CqeAUQsVxP/2mHIyeT1Bjr5M5M5UNoIzIXZuZrV+yK134y?=
 =?us-ascii?Q?4DrQYIj7O5CT1zv5BBbecgbyLZnOdN2DGPtWsOYbv+JYuVNlkOlJcExapXDH?=
 =?us-ascii?Q?D+Kq/7p1oiVs8/0ltVT+P3AC7QVteKvtA0tLLFG8xZnd4wu9cLsxasXGGsuP?=
 =?us-ascii?Q?GVJEAWHiUfoDx6u56nMlEvh9wcdg+5SIfos2/XPjJBMq4CvBUEjf3+sZs1Rj?=
 =?us-ascii?Q?qndz1OsZb/5zhDUEdloGCcv24ePT+AI6pGeiSLIPgnPiG5DZTJw7Ngv+N0OU?=
 =?us-ascii?Q?se0EIRpK9lpKtbah/SCsRLsbc0mDUpmLI1nsItcxVfaor+52DT9xaCQGtTGW?=
 =?us-ascii?Q?KheppY3N2YKQOEKM8XkBBqqV18Hd0WtinDE7huCl5NAdBZp1PcIu1WMmPOn5?=
 =?us-ascii?Q?k7R8aGqFbdSd8cxLLALCEaSJQEM76ue1pTBx738XHrUqoSV/llt+DNGPbFiZ?=
 =?us-ascii?Q?6FP12cUsspXD3RKGpfYBhvZRT5QjtOAzwWbow5Ak+FHpXPaaRcB3lRYJ628V?=
 =?us-ascii?Q?4SE40b92JcUnn0MXVjyO3qlGkMf0QRQ7HFIaqzFuQs3u0WorDg5eICwi7qVd?=
 =?us-ascii?Q?ZGEfKspW++BcUYGZ/K/zjxx9lV9K0/xky6NC?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:KL1PR0601MB4588.apcprd06.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(39142699007)(31052699007)(1800799024)(366016)(38070700021)(7053199007)(8096899003);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?bmUQmyatudOHl/z7H+4dMQbdt7EdAQrzQf78VuTN4CdO9/8XDdLPxGHfjC6w?=
 =?us-ascii?Q?kihTvq4pXeE3OQzqDdCU2lBLZPNMsBiJcLFvSEqwcjGwt/msefNV7qPU9Y8y?=
 =?us-ascii?Q?jVjlauSTtLQzJdhT5850+dXhYYjdffXOFmckh8EYrFWJwCC6jphLUatNwyX3?=
 =?us-ascii?Q?JKQ4A7YJah2E5H0jTBqKT/0celwFIMsZelexuQNJffxhzHBIu9TfE/+72sFP?=
 =?us-ascii?Q?Qsga8JLOYCAgxA+T1XQPa0hMZ/U/PyoJGtdj1SxmvycmMPrPONdcOX+m1U2N?=
 =?us-ascii?Q?4Xp2KdiwGHjduKobgaN9ao6IZKjXDpk8ZfT5N7AKKdP6GYuwo7S9hgK0FpoS?=
 =?us-ascii?Q?hGpQXTRTLvS+OKPVQnVF/0t5z5elV8nELBhxL3EAke36WQ8CfZCJzN1xX3jN?=
 =?us-ascii?Q?uUAYaWxGWEhgVQAMQQXNVTHZHC10CAyiV3MYXIZRxhIc+g7MpvMpAAJoCj9A?=
 =?us-ascii?Q?ndtweSLamxhVlV9YbtLO5jNW5d+whN0n5GPayQLxgL00hVn6pOncPRVsUFb9?=
 =?us-ascii?Q?8b/RuV+vD5hC97M59aFfDXJW+G9SEMPietNh9o/AXH6XmFjIoZ2iywDR3I0w?=
 =?us-ascii?Q?/By9Jjx096r23eQEyZXTvCPlNxxJIxkUYnCIGAmhW2jhxwh5FXAdrbxoZ848?=
 =?us-ascii?Q?TQW+jInJ2r3De8z5ocH3N+SbFwligtrQHW+Y/gRwKleszzAsa7unJwcwx7AI?=
 =?us-ascii?Q?8d1P3e+IB7eP6plXJ41hPdSr2JHVirTGw0G7SVhH/pHrqxzI86GfD/0EH8le?=
 =?us-ascii?Q?yMPcqoAJTkj/2WSeHATKPtlNBwaaecsN3Pf8PQO6BPtlW7Ann87mUVMdWwTM?=
 =?us-ascii?Q?y2sDGzlkgHCIIF/OBx/0k4V1+K1RkE6rBIB3JR5UhcwckPmVgN/SXKW3HNuf?=
 =?us-ascii?Q?w3LUDMyTsBS+10YbrJTmr1AMJ8Bc0PqjkIlWlSKCXHzO8KCR9mxP2sjJBQTv?=
 =?us-ascii?Q?r1pAg3RcQMGDm5aGZjKEgElNmNr7anH1z5nYlGXJZdY4z0TuRruaITP3XzlH?=
 =?us-ascii?Q?yCqZtl7VkjH0BLP5ykAuh5Sldf4gXjCKEytpgnBtoRDRPoeu7smQ7KGQ/Jd3?=
 =?us-ascii?Q?H4btV1+VhuaM1C5hEU4qurKLIKrgYySc7kOHcdCJjirtJiJY0mKvhwjbBF5p?=
 =?us-ascii?Q?NyGtHUH6pWSGZKLAtlabHpvG/E7JBxdugrwpEKwvbBHPq5ZW9rqV+pIFfhN7?=
 =?us-ascii?Q?Zfk4sjAQpQKkB6nrFNDP3vF2LI3Ok23WaKM7efWMD2UJH5R0c5KIBFL07Cyp?=
 =?us-ascii?Q?V1eDU7g6aCqw1XAVQD7I5xzpYV6bhTJJ14uuIUTEPRgY9fkCGO7tMQJZHeeg?=
 =?us-ascii?Q?ebEjNgGbEc8Kitisno+cqWgO9zPbtU+hqgv0b2BP1tPX0V9up6CfJl3aV7ZY?=
 =?us-ascii?Q?aUtmnukT7Nc7y2T8i7/BjKW4S2EoJu4Kz5KizxzNYJUOR4gcge0V0WKUTK/u?=
 =?us-ascii?Q?Y8FS53tE5z0UDkcAvTIEiY0cWR/lQa/wQ+fq7CQBl27d6UyeseQcyqAOT2ZP?=
 =?us-ascii?Q?/DDVHB5QXsYca3uHqxWFDZdnm1pJQgUVuTJTX5GeT01gSMeXokfMf/0I48fG?=
 =?us-ascii?Q?+k947EnA2n35gSzdF9xopr0UEvIQ6Iz8CgTkE4kj?=
Content-Type: multipart/alternative;
	boundary="_000_KL1PR0601MB45885505ECBBE9262C2B25E0E6FBAKL1PR0601MB4588_"
MIME-Version: 1.0
X-OriginatorOrg: siemens.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: KL1PR0601MB4588.apcprd06.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a9667c74-12b3-4586-76de-08de17ba162a
X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Oct 2025 13:41:53.5901
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 38ae3bcd-9579-4fd4-adda-b42e1495d55a
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 2AgYdlf1htWSg6cNm+13T2Pcip5OtAXmS88XHm5XFtazrNOe7Fo9uLlLUPwL+5l6sjY4UhVAbKZQVQ2kk6gaUZHIZ6l7GUGqbEMGvZ2dq+Q=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SI6PR06MB7270

--_000_KL1PR0601MB45885505ECBBE9262C2B25E0E6FBAKL1PR0601MB4588_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Adding @julien@xen.org<mailto:julien@xen.org> and replying to his questions=
 he asked over #XenDevel:matrix.org.

can you add some details why the implementation cannot be optimized in KVM?=
 Asking because I have never seen such issue when running Xen on QEMU (with=
out nested virt enabled).
AFAIK when Xen is run on QEMU without virtualization, then instructions are=
 emulated in QEMU while with KVM, ideally the instruction should run direct=
ly on hardware except in some special cases (those trapped by FGT/CGT). Suc=
h as this one where KVM maintains shadow page tables for each VM. It traps =
these instructions and emulates them with callback such as handle_vmalls12e=
1is(). The way this callback is implemented, it has to iterate over the who=
le address space and clean-up the page tables which is a costly operation. =
Regardless of this, it should still be optimized in Xen as invalidating a s=
elective range would be much better than invalidating a whole range of 48-b=
it address space.
Some details about your platform and use case would be helpful. I am intere=
sted to know whether you are using all the features for nested virt.
I am using AWS G4. My use case is to run Xen as guest hypervisor. Yes, most=
 of the features are enabled except VHE or those which are disabled by KVM.

Regards,
Haseeb Ashraf
________________________________
From: Ashraf, Haseeb (DI SW EDA HAV SLS EPS RTOS LIN)
Sent: Thursday, October 30, 2025 11:12 AM
To: xen-devel@lists.xenproject.org <xen-devel@lists.xenproject.org>
Subject: Limitations for Running Xen on KVM Arm64

Hello Xen development community,

I wanted to discuss the limitations that I have faced while running Xen on =
KVM on Arm64 machines. I hope I am using the right mailing list.

The biggest limitation is the costly emulation of instruction tlbi vmalls12=
e1is in KVM. The cost is exponentially proportional to the IPA size exposed=
 by KVM for VM hosting Xen. If I reduce the IPA size to 40-bits in KVM, the=
n this issue is not much observable but with the IPA size of 48-bits, it is=
 256x more costly than the former one. Xen uses this instruction too freque=
ntly and this instruction is trapped and emulated by KVM, and performance i=
s not as good as on bare-metal hardware. With 48-bit IPA, it can take up to=
 200 minutes for domu creation with just 128M RAM. I have identified two pl=
aces in Xen which are problematic w.r.t the usage of this instruction and h=
oping to reduce the frequency of this instruction or use a more relevant TL=
BI instruction instead of invalidating whole stage-1 and stage-2 translatio=
ns.


  1.
During the creation of domu, first the domu memory is mapped onto dom0 doma=
in, images are copied into it, and it is then unmapped. During unmapping, t=
he TLB translations are invalidated one by one for each page being unmapped=
 in XENMEM_remove_from_physmap hypercall. Here is the code snippet where th=
e decision to flush TLBs is being made during removal of mapping.

diff --git a/xen/arch/arm/mmu/p2m.c b/xen/arch/arm/mmu/p2m.c
index 7642dbc7c5..e96ff92314 100644
--- a/xen/arch/arm/mmu/p2m.c
+++ b/xen/arch/arm/mmu/p2m.c
@@ -1103,7 +1103,8 @@ static int __p2m_set_entry(struct p2m_domain *p2m,

    if ( removing_mapping )
        /* Flush can be deferred if the entry is removed */
-        p2m->need_flush |=3D !!lpae_is_valid(orig_pte);
+        //p2m->need_flush |=3D !!lpae_is_valid(orig_pte);
+        p2m->need_flush |=3D false;
    else
    {
        lpae_t pte =3D mfn_to_p2m_entry(smfn, t, a);

  1.
This can be optimized by either introducing a batch version of this hyperca=
ll i.e., XENMEM_remove_from_physmap_batch and flushing TLBs only once for a=
ll pages being removed
OR
by using a TLBI instruction that only invalidates the intended range of add=
resses instead of the whole stage-1 and stage-2 translations. I understand =
that a single TLBI instruction does not exist that can perform both stage-1=
 and stage-2 invalidations for a given address range but maybe a combinatio=
n of instructions can be used such as:

; switch to current VMID
tlbi rvae1, guest_vaddr ; first invalidate stage-1 TLB by guest VA for curr=
ent VMID
tlbi ripas2e1, guest_paddr ; then invalidate stage-2 TLB by IPA range for c=
urrent VMID
dsb ish
isb
; switch back the VMID

  1.
This is where I am not quite sure and I was hoping that if someone with Arm=
 expertise could sign off on this so that I can work on its implementation =
in Xen. This will be an optimization not only for virtualized hardware but =
also in general for Xen on arm64 machines.


  1.
The second place in Xen where this is problematic is when multiple vCPUs of=
 the same domain juggle on single pCPU, TLBs are invalidated everytime a di=
fferent vCPU runs on a pCPU. I do not know how this can be optimized. Any s=
upport on this is appreciated.

diff --git a/xen/arch/arm/mmu/p2m.c b/xen/arch/arm/mmu/p2m.c
index 7642dbc7c5..e96ff92314 100644
--- a/xen/arch/arm/mmu/p2m.c
+++ b/xen/arch/arm/mmu/p2m.c
@@ -247,7 +247,7 @@ void p2m_restore_state(struct vcpu *n)
      * when running multiple vCPU of the same domain on a single pCPU.
      */
     if ( *last_vcpu_ran !=3D INVALID_VCPU_ID && *last_vcpu_ran !=3D n->vcp=
u_id )
-        flush_guest_tlb_local();
+        ; // flush_guest_tlb_local();

     *last_vcpu_ran =3D n->vcpu_id;
 }

Thanks & Regards,
Haseeb Ashraf

--_000_KL1PR0601MB45885505ECBBE9262C2B25E0E6FBAKL1PR0601MB4588_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<style type=3D"text/css" style=3D"display:none;"> P {margin-top:0;margin-bo=
ttom:0;} </style>
</head>
<body dir=3D"ltr">
<div style=3D"font-family: Arial, Helvetica, sans-serif; font-size: 10pt; c=
olor: rgb(0, 0, 0);" class=3D"elementToProof">
Adding <a class=3D"tWKOu mention ms-bgc-nlr ms-fcl-b" id=3D"OWAAM616784" hr=
ef=3D"mailto:julien@xen.org">
@julien@xen.org</a>&nbsp;and replying to his questions he asked over #XenDe=
vel:matrix.org.</div>
<div style=3D"font-family: Arial, Helvetica, sans-serif; font-size: 10pt; c=
olor: rgb(0, 0, 0);" class=3D"elementToProof">
<br>
</div>
<blockquote style=3D"margin-left: 0.8ex; padding-left: 1ex; border-left: 3p=
x solid rgb(200, 200, 200);">
<div style=3D"font-family: Arial, Helvetica, sans-serif; font-size: 10pt; c=
olor: rgb(0, 0, 0);" class=3D"elementToProof">
can you add some details why the implementation cannot be optimized in KVM?=
&nbsp;Asking because I have never seen such issue when running Xen on QEMU =
(without nested virt enabled).</div>
</blockquote>
<div style=3D"font-family: Arial, Helvetica, sans-serif; font-size: 10pt; c=
olor: rgb(0, 0, 0);" class=3D"elementToProof">
AFAIK when Xen is run on QEMU without virtualization, then instructions are=
 emulated in QEMU&nbsp;while with KVM, ideally the instruction should run d=
irectly on hardware except in some special cases (those trapped by FGT/CGT)=
. Such as this one where KVM maintains
 shadow page tables for each VM. It traps these instructions and emulates t=
hem with callback such as handle_vmalls12e1is(). The way this callback is i=
mplemented, it has to iterate over the whole address space and clean-up the=
 page tables which is a costly operation.
 Regardless of this, it should still be optimized in Xen as invalidating a =
selective range would be much better than invalidating a whole range of 48-=
bit address space.</div>
<blockquote style=3D"margin-left: 0.8ex; padding-left: 1ex; border-left: 3p=
x solid rgb(200, 200, 200);">
<div style=3D"font-family: Arial, Helvetica, sans-serif; font-size: 10pt; c=
olor: rgb(0, 0, 0);" class=3D"elementToProof">
Some details about your platform and use case would be helpful. I am intere=
sted to know whether you are using all the features for nested virt.</div>
</blockquote>
<div style=3D"font-family: Arial, Helvetica, sans-serif; font-size: 10pt; c=
olor: rgb(0, 0, 0);" class=3D"elementToProof">
I am using AWS G4. My use case is to run Xen as guest hypervisor. Yes, most=
 of the features are enabled except VHE or those which are disabled by KVM.=
</div>
<div style=3D"font-family: Arial, Helvetica, sans-serif; font-size: 10pt; c=
olor: rgb(0, 0, 0);" class=3D"elementToProof">
<br>
</div>
<div style=3D"font-family: Arial, Helvetica, sans-serif; font-size: 10pt; c=
olor: rgb(0, 0, 0);" class=3D"elementToProof">
Regards,</div>
<div style=3D"font-family: Arial, Helvetica, sans-serif; font-size: 10pt; c=
olor: rgb(0, 0, 0);" class=3D"elementToProof">
Haseeb Ashraf</div>
<div id=3D"appendonsend"></div>
<hr style=3D"display:inline-block;width:98%" tabindex=3D"-1">
<div id=3D"divRplyFwdMsg" dir=3D"ltr"><font face=3D"Calibri, sans-serif" st=
yle=3D"font-size:11pt" color=3D"#000000"><b>From:</b> Ashraf, Haseeb (DI SW=
 EDA HAV SLS EPS RTOS LIN)<br>
<b>Sent:</b> Thursday, October 30, 2025 11:12 AM<br>
<b>To:</b> xen-devel@lists.xenproject.org &lt;xen-devel@lists.xenproject.or=
g&gt;<br>
<b>Subject:</b> Limitations for Running Xen on KVM Arm64</font>
<div>&nbsp;</div>
</div>
<style type=3D"text/css" style=3D"display:none">
<!--
p
	{margin-top:0;
	margin-bottom:0}
-->
</style>
<div dir=3D"ltr">
<div class=3D"x_elementToProof" style=3D"font-family:Arial,Helvetica,sans-s=
erif; font-size:10pt; color:rgb(0,0,0)">
Hello Xen development community,</div>
<div class=3D"x_elementToProof" style=3D"font-family:Arial,Helvetica,sans-s=
erif; font-size:10pt; color:rgb(0,0,0)">
<br>
</div>
<div class=3D"x_elementToProof" style=3D"font-family:Arial,Helvetica,sans-s=
erif; font-size:10pt; color:rgb(0,0,0)">
I wanted to discuss the limitations that I have faced while running Xen on =
KVM on Arm64 machines. I hope I am using the right mailing list.</div>
<div class=3D"x_elementToProof" style=3D"font-family:Arial,Helvetica,sans-s=
erif; font-size:10pt; color:rgb(0,0,0)">
<br>
</div>
<div class=3D"x_elementToProof" style=3D"font-family:Arial,Helvetica,sans-s=
erif; font-size:10pt; color:rgb(0,0,0)">
The biggest limitation is the costly emulation of instruction <code>tlbi vm=
alls12e1is</code>&nbsp;in KVM. The cost is exponentially proportional to th=
e IPA size exposed by KVM for VM hosting Xen. If I reduce the IPA size to 4=
0-bits in KVM, then this issue is not
 much observable but with the IPA size of 48-bits, it is 256x more costly t=
han the former one. Xen uses this instruction too frequently and this instr=
uction is trapped and emulated by KVM, and performance is not as good as on=
 bare-metal hardware. With 48-bit
 IPA, it can take up to 200 minutes for domu creation with just 128M RAM. I=
 have identified two places in Xen which are problematic w.r.t the usage of=
 this instruction and hoping to reduce the frequency of this instruction or=
 use a more relevant TLBI instruction
 instead of invalidating whole stage-1 and stage-2 translations.</div>
<div class=3D"x_elementToProof" style=3D"font-family:Arial,Helvetica,sans-s=
erif; font-size:10pt; color:rgb(0,0,0)">
<br>
</div>
<ol data-editing-info=3D"{&quot;applyListStyleFromLevel&quot;:false,&quot;o=
rderedStyleType&quot;:1}" start=3D"1" style=3D"margin-top:0px; margin-botto=
m:0px; list-style-type:decimal">
<li style=3D"font-family:Arial,Helvetica,sans-serif; font-size:10pt; color:=
rgb(0,0,0)">
<div role=3D"presentation" class=3D"x_elementToProof">During the creation o=
f domu, first the domu memory is mapped onto dom0 domain, images are copied=
 into it, and it is then unmapped. During unmapping, the TLB translations a=
re invalidated one by one for each page
 being unmapped in <code>XENMEM_remove_from_physmap</code>&nbsp;hypercall. =
Here is the code snippet where the decision to flush TLBs is being made dur=
ing removal of mapping.&nbsp;</div>
</li></ol>
<blockquote style=3D"margin-left:0.8ex; padding-left:1ex; border-left:3px s=
olid rgb(200,200,200)">
<div class=3D"x_elementToProof" style=3D"font-family:Arial,Helvetica,sans-s=
erif; font-size:10pt; color:rgb(0,0,0)">
diff --git a/xen/arch/arm/mmu/p2m.c b/xen/arch/arm/mmu/p2m.c</div>
<div class=3D"x_elementToProof" style=3D"font-family:Arial,Helvetica,sans-s=
erif; font-size:10pt; color:rgb(0,0,0)">
index 7642dbc7c5..e96ff92314 100644</div>
<div class=3D"x_elementToProof" style=3D"font-family:Arial,Helvetica,sans-s=
erif; font-size:10pt; color:rgb(0,0,0)">
--- a/xen/arch/arm/mmu/p2m.c</div>
<div class=3D"x_elementToProof" style=3D"font-family:Arial,Helvetica,sans-s=
erif; font-size:10pt; color:rgb(0,0,0)">
+++ b/xen/arch/arm/mmu/p2m.c</div>
<div class=3D"x_elementToProof" style=3D"font-family:Arial,Helvetica,sans-s=
erif; font-size:10pt; color:rgb(0,0,0)">
@@ -1103,7 +1103,8 @@ static int __p2m_set_entry(struct p2m_domain *p2m,<br=
>
<br>
&nbsp;&nbsp;&nbsp; if ( removing_mapping )<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* Flush can be deferred if the =
entry is removed */<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p2m-&gt;need_flush |=3D !!lpae_=
is_valid(orig_pte);<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //p2m-&gt;need_flush |=3D !!lpa=
e_is_valid(orig_pte);<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p2m-&gt;need_flush |=3D false;<=
br>
&nbsp;&nbsp;&nbsp; else<br>
&nbsp;&nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lpae_t pte =3D mfn_to_p2m_entry(=
smfn, t, a);</div>
</blockquote>
<ol data-editing-info=3D"{&quot;applyListStyleFromLevel&quot;:false,&quot;o=
rderedStyleType&quot;:1}" start=3D"2" style=3D"margin-top:0px; margin-botto=
m:0px; list-style-type:decimal">
<li style=3D"font-family:Arial,Helvetica,sans-serif; font-size:10pt; color:=
rgb(0,0,0); display:block">
<div role=3D"presentation" class=3D"x_elementToProof">This can be optimized=
 by either introducing a batch version of this hypercall i.e.,
<code>XENMEM_remove_from_physmap_batch</code>&nbsp;and flushing TLBs only o=
nce for all pages being removed</div>
<div role=3D"presentation" class=3D"x_elementToProof">OR<br>
by using a TLBI instruction that only invalidates the intended range of add=
resses instead of the whole stage-1 and stage-2 translations. I understand =
that a single TLBI instruction does not exist that can perform both stage-1=
 and stage-2 invalidations for a
 given address range but maybe a combination of instructions can be used su=
ch as:</div>
</li></ol>
<blockquote style=3D"margin-left:0.8ex; padding-left:1ex; border-left:3px s=
olid rgb(200,200,200)">
<div class=3D"x_elementToProof" style=3D"font-family:Arial,Helvetica,sans-s=
erif; font-size:10pt; color:rgb(0,0,0)">
; switch to current VMID</div>
<div class=3D"x_elementToProof" style=3D"font-family:Arial,Helvetica,sans-s=
erif; font-size:10pt; color:rgb(0,0,0)">
tlbi rvae1, guest_vaddr ; first invalidate stage-1 TLB by guest VA for curr=
ent VMID<br>
tlbi ripas2e1, guest_paddr ; then invalidate stage-2 TLB by IPA range for c=
urrent VMID</div>
<div class=3D"x_elementToProof" style=3D"font-family:Arial,Helvetica,sans-s=
erif; font-size:10pt; color:rgb(0,0,0)">
dsb ish</div>
<div class=3D"x_elementToProof" style=3D"font-family:Arial,Helvetica,sans-s=
erif; font-size:10pt; color:rgb(0,0,0)">
isb</div>
<div class=3D"x_elementToProof" style=3D"font-family:Arial,Helvetica,sans-s=
erif; font-size:10pt; color:rgb(0,0,0)">
; switch back the VMID</div>
</blockquote>
<ol data-editing-info=3D"{&quot;applyListStyleFromLevel&quot;:false,&quot;o=
rderedStyleType&quot;:1}" start=3D"3" style=3D"margin-top:0px; margin-botto=
m:0px; list-style-type:decimal">
<li style=3D"font-family:Arial,Helvetica,sans-serif; font-size:10pt; color:=
rgb(0,0,0); display:block">
<div role=3D"presentation" class=3D"x_elementToProof">This is where I am no=
t quite sure and I was hoping that if someone with Arm expertise could sign=
 off on this so that I can work on its implementation in Xen. This will be =
an optimization not only for virtualized
 hardware but also in general for Xen on arm64 machines.</div>
</li></ol>
<div class=3D"x_elementToProof" style=3D"font-family:Arial,Helvetica,sans-s=
erif; font-size:10pt; color:rgb(0,0,0)">
<br>
</div>
<ol data-editing-info=3D"{&quot;applyListStyleFromLevel&quot;:false,&quot;o=
rderedStyleType&quot;:1}" start=3D"2" style=3D"margin-top:0px; margin-botto=
m:0px; list-style-type:decimal">
<li style=3D"font-family:Arial,Helvetica,sans-serif; font-size:10pt; color:=
rgb(0,0,0)">
<div role=3D"presentation" class=3D"x_elementToProof">The second place in X=
en where this is problematic is when multiple vCPUs of the same domain jugg=
le on single pCPU, TLBs are invalidated everytime a different vCPU runs on =
a pCPU. I do not know how this can be
 optimized. Any support on this is appreciated.</div>
</li></ol>
<blockquote style=3D"margin-left:0.8ex; padding-left:1ex; border-left:3px s=
olid rgb(200,200,200)">
<div class=3D"x_elementToProof" style=3D"font-family:Arial,Helvetica,sans-s=
erif; font-size:10pt; color:rgb(0,0,0)">
diff --git a/xen/arch/arm/mmu/p2m.c b/xen/arch/arm/mmu/p2m.c</div>
<div class=3D"x_elementToProof" style=3D"font-family:Arial,Helvetica,sans-s=
erif; font-size:10pt; color:rgb(0,0,0)">
index 7642dbc7c5..e96ff92314 100644</div>
<div class=3D"x_elementToProof" style=3D"font-family:Arial,Helvetica,sans-s=
erif; font-size:10pt; color:rgb(0,0,0)">
--- a/xen/arch/arm/mmu/p2m.c</div>
<div class=3D"x_elementToProof" style=3D"font-family:Arial,Helvetica,sans-s=
erif; font-size:10pt; color:rgb(0,0,0)">
+++ b/xen/arch/arm/mmu/p2m.c</div>
<div class=3D"x_elementToProof" style=3D"font-family:Arial,Helvetica,sans-s=
erif; font-size:10pt; color:rgb(0,0,0)">
@@ -247,7 +247,7 @@ void p2m_restore_state(struct vcpu *n)</div>
<div class=3D"x_elementToProof" style=3D"font-family:Arial,Helvetica,sans-s=
erif; font-size:10pt; color:rgb(0,0,0)">
&nbsp; &nbsp; &nbsp; * when running multiple vCPU of the same domain on a s=
ingle pCPU.</div>
<div class=3D"x_elementToProof" style=3D"font-family:Arial,Helvetica,sans-s=
erif; font-size:10pt; color:rgb(0,0,0)">
&nbsp; &nbsp; &nbsp; */</div>
<div class=3D"x_elementToProof" style=3D"font-family:Arial,Helvetica,sans-s=
erif; font-size:10pt; color:rgb(0,0,0)">
&nbsp; &nbsp; &nbsp;if ( *last_vcpu_ran !=3D INVALID_VCPU_ID &amp;&amp; *la=
st_vcpu_ran !=3D n-&gt;vcpu_id )</div>
<div class=3D"x_elementToProof" style=3D"font-family:Arial,Helvetica,sans-s=
erif; font-size:10pt; color:rgb(0,0,0)">
- &nbsp; &nbsp; &nbsp; &nbsp;flush_guest_tlb_local();</div>
<div class=3D"x_elementToProof" style=3D"font-family:Arial,Helvetica,sans-s=
erif; font-size:10pt; color:rgb(0,0,0)">
+ &nbsp; &nbsp; &nbsp; &nbsp;; // flush_guest_tlb_local();</div>
<div class=3D"x_elementToProof" style=3D"font-family:Arial,Helvetica,sans-s=
erif; font-size:10pt; color:rgb(0,0,0)">
&nbsp;</div>
<div class=3D"x_elementToProof" style=3D"font-family:Arial,Helvetica,sans-s=
erif; font-size:10pt; color:rgb(0,0,0)">
&nbsp; &nbsp; &nbsp;*last_vcpu_ran =3D n-&gt;vcpu_id;</div>
<div class=3D"x_elementToProof" style=3D"font-family:Arial,Helvetica,sans-s=
erif; font-size:10pt; color:rgb(0,0,0)">
&nbsp;}&nbsp;</div>
</blockquote>
<div class=3D"x_elementToProof" style=3D"font-family:Arial,Helvetica,sans-s=
erif; font-size:10pt; color:rgb(0,0,0)">
<br>
</div>
<div class=3D"x_elementToProof" style=3D"font-family:Arial,Helvetica,sans-s=
erif; font-size:10pt; color:rgb(0,0,0)">
Thanks &amp; Regards,</div>
<div class=3D"x_elementToProof" style=3D"font-family:Arial,Helvetica,sans-s=
erif; font-size:10pt; color:rgb(0,0,0)">
Haseeb Ashraf</div>
</div>
</body>
</html>

--_000_KL1PR0601MB45885505ECBBE9262C2B25E0E6FBAKL1PR0601MB4588_--


From xen-devel-bounces@lists.xenproject.org Thu Oct 30 13:54:30 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Oct 2025 13:54:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153729.1484013 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vET6f-0003Yx-TL; Thu, 30 Oct 2025 13:54:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153729.1484013; Thu, 30 Oct 2025 13:54:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vET6f-0003Yq-Pb; Thu, 30 Oct 2025 13:54:25 +0000
Received: by outflank-mailman (input) for mailman id 1153729;
 Thu, 30 Oct 2025 13:54:24 +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 <SRS0=+HTt=5H=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vET6e-0003Yk-9H
 for xen-devel@lists.xenproject.org; Thu, 30 Oct 2025 13:54:24 +0000
Received: from mail-wm1-x334.google.com (mail-wm1-x334.google.com
 [2a00:1450:4864:20::334])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id eff16729-b597-11f0-980a-7dc792cee155;
 Thu, 30 Oct 2025 14:54:22 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-475de184058so3712765e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 30 Oct 2025 06:54:22 -0700 (PDT)
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-429b9b436efsm2934518f8f.23.2025.10.30.06.54.20
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 30 Oct 2025 06:54:21 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eff16729-b597-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761832461; x=1762437261; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=iB4P3jhLn75o2el8MXxVF2nUKWejU/SggJzas3bR+lk=;
        b=cQlgq7i1v/MvYMukGCID4mPDKLlMLMvNZrvpryTc4B7stVfxDYDnxx4nLfNJdwCdzp
         y0j1gvk+Y2jS+djb4NbdNJ4bK51lLR10X/7Bgn43RFVtBrD4CnoKl4anLtYg3Zq+RoV0
         zLL/VW3qJmDW/yE9WR6YePWIiVrEo/XlkCKUKaOjDulILjW9X4dKkyf3Y5WoipXtNJey
         WdO3uHYE3Paq4QoxVJWB3N8Br26EtCd3gMh15mbiIY/3VOGVk5vcLQ+rNzKr79t+JQBf
         Aj936Ja22mMM6tO9WatMvqKvq00mjXRsFmG0rCfFl6tOvIQzwSxLgrpYlAenaVBCMGKY
         ShAA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761832461; x=1762437261;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=iB4P3jhLn75o2el8MXxVF2nUKWejU/SggJzas3bR+lk=;
        b=CZqMOxjdCB5sJhsKBRrYiZ50J+W5pfif/7VaPlnQeYvF7Ate9YaBSM62EsxFlIdSW6
         OZoYxyKdqoTVw8TavoY9vlFCrJ5z1/hzaf44LySOUYDony0DQ4jKMlXvxpm2rXz4DJ6O
         3I11k04EWAfyRIV8lb+MAqHDZkCZPwsKbXkOgIDZnlfXBVUJbPRE9gDTkD6FMPyYpv7r
         KIn7duf9gYg1VKvO2udcuu42kPDYa/5ugeSIQbmXdlEmEZHa9EzPcyyr2krhYCXyluIC
         DAw/rcdUms9/5Mn4EPVx110Vks5PO4OAoDxFFwb0g0qFXPFJFkKD1q3O/IL57dTdTQhN
         WsWQ==
X-Forwarded-Encrypted: i=1; AJvYcCX/ftDGrVp6Q9YbDQm4533G+aiYq3GzE8oaENfudEPMS8I3X9KMAWk56MoGFPIGT5D5j29cqUU5UD0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwQQaRBthkfE1kkGbgaTuyYyDMeBUA2kCjhLHBPyuPCmSOAc0Rb
	/KsUnwfVubluBH3VOZ1rYwFeyLhBNQ4XrQoE5FoqpC2GYB8S5ObVDD6MBcm96Ob45g==
X-Gm-Gg: ASbGnctP7ssKtjSLkTWacGO/MGZDRp8NOXyZPP1pRrwj02nYec2c8LUy7iWjZ3JVIG4
	DyUgzwLhQEibUSk1Smlvk6i3ncWkop8grcwNvpG+adDeY9tolBY9JmUnzlmdzEXCQ/jXCjpyiel
	IFO1nk4rko4dM6gIevqk2+xIBT8s9s4zB2758ysg09cOXd8a/q3fqjQ6FjF3Q+yQrdEWw0Gf36v
	Mx9Iat24pcxW21m2gGe/S4/qbiZ73wNA8ty3YCR31ZTNROjJa6bXb3nBiDEJ9GeP16IDeMH0Z44
	pfvgmEBdFT13eLKdJ5lca47+7lBIdWqkHsuZARudGZz5v7eWdBy6fZiY3xVMH1Zr7tih1tyIfdr
	VK9JO/Xa4MK7LgD+Aw6gHbz+VF+7y841r6EFVzNFwF4aScKvu9qpLBV07Kho0nAzxHt1loECzSZ
	BHaCNae9uSTpPJ+ZAmR5KfERlefRszAmDta37ZzJxrhsbk7642+YKwuhWWpDoU9AMzeGFBoHo=
X-Google-Smtp-Source: AGHT+IFJn0FcAdpK7rV2JNFMbrqIUTOnmEh0k4qwvD3x8lJmaZLsq2JG4RtBJN12twjcBnVVsfppIw==
X-Received: by 2002:a05:6000:716:b0:429:b9a1:5bb with SMTP id ffacd0b85a97d-429b9a10776mr1183456f8f.9.1761832461330;
        Thu, 30 Oct 2025 06:54:21 -0700 (PDT)
Message-ID: <22e53531-73e4-40e9-a45e-2c5f59852ce4@suse.com>
Date: Thu, 30 Oct 2025 14:54:19 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH for-4.22 v2 2/3] x86/platform: Expose DTS sensors MSR
To: Teddy Astie <teddy.astie@vates.tech>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1761752801.git.teddy.astie@vates.tech>
 <1001287258cf9652c749c66c6565478085a8657c.1761752801.git.teddy.astie@vates.tech>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <1001287258cf9652c749c66c6565478085a8657c.1761752801.git.teddy.astie@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 29.10.2025 16:59, Teddy Astie wrote:
> --- a/xen/arch/x86/include/asm/msr-index.h
> +++ b/xen/arch/x86/include/asm/msr-index.h
> @@ -115,6 +115,9 @@
>  #define  MCU_OPT_CTRL_GDS_MIT_DIS           (_AC(1, ULL) <<  4)
>  #define  MCU_OPT_CTRL_GDS_MIT_LOCK          (_AC(1, ULL) <<  5)
>  
> +#define MSR_DTS_TEMPERATURE_TARGET          0x000001a2
> +#define MSR_DTS_PACKAGE_THERM_STATUS        0x000001b1

Where are the DTS infixes coming from? The SDM doesn't have such. We try to
stay as close as reasonable to the SDM / PM names, with the exception that
typically we omit IA32 infixes.

I'd also like to note that unlike the two THERM_STATUS, MSR_TEMPERATURE_TARGET
(as per the absence if an IA32 infix in the SDM) isn't an architectural MSR,
and hence I'm not entirely convinced we can "blindly" expose it. (Interestingly
in Linux code there is an IA32 infix.)

> @@ -86,6 +87,11 @@ static bool msr_read_allowed(unsigned int msr)
>  
>      case MSR_MCU_OPT_CTRL:
>          return cpu_has_srbds_ctrl;
> +    
> +    case MSR_IA32_THERM_STATUS:
> +    case MSR_DTS_TEMPERATURE_TARGET:
> +    case MSR_DTS_PACKAGE_THERM_STATUS:
> +        return raw_cpu_policy.basic.pm.dts;

This, aiui (and according to related comments I got from Andrew on remotely
similar changes I was doing) wants to use host_policy. Hence why that other
prereq change is needed that I talked about (and that iirc I reproduced on
the other sub-thread).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 30 14:02:54 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Oct 2025 14:02:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153742.1484022 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vETEh-0005Wh-Ob; Thu, 30 Oct 2025 14:02:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153742.1484022; Thu, 30 Oct 2025 14:02:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vETEh-0005Wa-LT; Thu, 30 Oct 2025 14:02:43 +0000
Received: by outflank-mailman (input) for mailman id 1153742;
 Thu, 30 Oct 2025 14:02:42 +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 <SRS0=+HTt=5H=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vETEg-0005WU-2u
 for xen-devel@lists.xenproject.org; Thu, 30 Oct 2025 14:02:42 +0000
Received: from mail-wr1-x429.google.com (mail-wr1-x429.google.com
 [2a00:1450:4864:20::429])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 195ed061-b599-11f0-9d16-b5c5bf9af7f9;
 Thu, 30 Oct 2025 15:02:41 +0100 (CET)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-4270491e9easo953580f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 30 Oct 2025 07:02:40 -0700 (PDT)
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-477289998f3sm45864045e9.4.2025.10.30.07.02.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 30 Oct 2025 07:02:35 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 195ed061-b599-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761832960; x=1762437760; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=AIIpxdlwCUOmzKFZxheSOItWeFjhOMloaDwDc0bVDaE=;
        b=DjXvogeWgCVHwYTlPDEXvhzBN8YxYHyU768F3iQVlcgDLA97UDzQieMZvcYmGZ45ns
         aJTgMz+FZx2wdppQTq5AtDNLGoJXmtPLt/QZfDnAE4vgY8hKvehBrycA+vtvAfFtNKs1
         8D3eWLFDxnUso6PjFvOtUZd2UYRIPOAuOX4LPuwTkzBmCNVa7fknJuY6mGB77VskQSq6
         RSD0eS2IM7iwX1F4sZYIBJLVrh8WSs0raIHYCBCWia+TG2rQd7R4gq7SP06dMK/DdsgB
         1er45IWNV/tm7qsERIwQHj1TvDN7P+X6Ye6vJe3E8BvYCmx+Fw0F6AW9HDtjpXVyXyum
         XGow==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761832960; x=1762437760;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=AIIpxdlwCUOmzKFZxheSOItWeFjhOMloaDwDc0bVDaE=;
        b=EG/ueGLNhJvwWRUkEuOpr/2BFb2S/lBOvuk4RL9JYbyPau6glNgQKRdKd0n1nxF8x5
         GMpBx7BuAWhEd4uZFN4rmKteeTfPk0KApYpp2doUt5AN6ksSEKij1MfL1NyEJ/t6noBg
         YTbaoVyykfY2GqLJhxi6RV+R2Qh0TQCeKNHd4fur4O2Cx3bfrv95pebLZ9hG1EZE8R5K
         4UKozc/UtfTJN4fxvMo7JrXV+Acu/o9rvmQOZW14tRoYOIufO5ZppCvSxFF88GtffX8k
         gjCPkgEsguBTgc3o2pMaXtCl3znBJgQ5Z/Je7YlKh9H/sY+9QsqMkrm3iLPBFiXGCjV+
         fQNg==
X-Forwarded-Encrypted: i=1; AJvYcCUd+5wJBn4ayPl0RP1a6/cLuRu3d3YewvYwhw9QXMjWsIcPfDndQLXjgw/KqphA2YhygngQZ5dPpRc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwZkeKhQJjGWvJ2CSAy4yjoin5gPcbKlYQyEhHntXL+dZ27teAX
	x8xz8caT0mtim3Jk45k916HKHQo2t8hfcEsN1RckUx6izrVd1t6yxb0H+j3HUnJ51g==
X-Gm-Gg: ASbGncs3W0p22/tbdU1qbq97z+O8YpU/yUBNe4SUbI0FmLSx80orbcvboYPh3P2SMH5
	D6vQorw5JSRnlPJHGh7RkHdAo2R/qXYsmYJSSOASC2IGvzseHACm42cZyEIGZigxhORzmE9G+5X
	mmrs+4+LiDjSEABmsQCKzXSF85fNj/rIWTCJe0gNWaPNMCKVWxsP7cIo2M7x6BUSMDNrYC+Ib4B
	l2UXfCUins6GaerR/5mMy9Zp5x3Vxm6zwfT6mLJOMntf5zgzgYNfwNzfocJOVfjAIILkgV7lfwj
	ZFI5QWEKHX4v9d2842GG2nhNBX4Qye2NF0+RiN31Q/Kty6YYwAwNeh5anynYCSIhU4CvBWlGE32
	DcU1mDog6NzPWawk4FFMMp5AqOhNTsxLr2gZHgo0EGEQiMIXe7HI3hlBIV/4B1xPkXd9j2Cb3pb
	Aa5XQG47o+r8anghhTCQbwI3rssxJWEJArwi5C7/VdwZWm4OL6ELxQnCYLLl21vDiFB4gzG+h78
	7kaLXrw+Q==
X-Google-Smtp-Source: AGHT+IFDB8GbDuRElEIpCogsxGFFKNQ1FkXLX4vEqgQqSINjpEhTLKuNkAMPOIkLBYfQbNbT54jbUw==
X-Received: by 2002:a05:6000:4706:b0:429:b9bc:e81c with SMTP id ffacd0b85a97d-429b9bce911mr1453665f8f.48.1761832955607;
        Thu, 30 Oct 2025 07:02:35 -0700 (PDT)
Message-ID: <453a06cc-f1ba-4ac0-af61-43c24640fd2e@suse.com>
Date: Thu, 30 Oct 2025 15:02:33 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH for-4.22 v2 3/3] xenpm: Add get-intel-temp subcommand
To: Teddy Astie <teddy.astie@vates.tech>
Cc: Anthony PERARD <anthony.perard@vates.tech>, xen-devel@lists.xenproject.org
References: <cover.1761752801.git.teddy.astie@vates.tech>
 <6ed4d320ca4a69ca8b05b0af45d32ff4b330a779.1761752801.git.teddy.astie@vates.tech>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <6ed4d320ca4a69ca8b05b0af45d32ff4b330a779.1761752801.git.teddy.astie@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 29.10.2025 16:59, Teddy Astie wrote:
> @@ -1354,6 +1356,95 @@ void enable_turbo_mode(int argc, char *argv[])
>                  errno, strerror(errno));
>  }
>  
> +#define MSR_DTS_THERM_STATUS         0x0000019c
> +#define MSR_DTS_TEMPERATURE_TARGET   0x000001a2
> +#define MSR_DTS_PACKAGE_THERM_STATUS 0x000001b1

DTS infix question again. Actually, can't we use the hypervisor's msr-index.h here?
We already use it from the emulator test harness.

> +static int fetch_dts_temp(xc_interface *xch, uint32_t cpu, bool package, int *temp)
> +{
> +    xc_resource_entry_t entries[2] = {
> +        (xc_resource_entry_t){
> +            .idx = package ? MSR_DTS_PACKAGE_THERM_STATUS : MSR_DTS_THERM_STATUS
> +        },
> +        (xc_resource_entry_t){ .idx = MSR_DTS_TEMPERATURE_TARGET },
> +    };
> +    struct xc_resource_op ops = {
> +        .cpu = cpu,
> +        .entries = entries,
> +        .nr_entries = 2,
> +    };
> +    int tjmax;

Plain int? (Same for the last function parameter.)

> +    int ret = xc_resource_op(xch, 1, &ops);
> +
> +    if ( ret <= 0 )
> +        /* This CPU isn't online or can't query this MSR */
> +        return ret ?: -EOPNOTSUPP;
> +
> +    if ( ret == 2 )
> +        tjmax = (entries[1].val >> 16) & 0xff;
> +    else
> +    {
> +        /*
> +         * The CPU doesn't support MSR_IA32_TEMPERATURE_TARGET, we assume it's 100 which
> +         * is correct aside a few selected Atom CPUs. Check coretemp source code for more
> +         * information.
> +         */
> +        fprintf(stderr, "[CPU%d] MSR_IA32_TEMPERATURE_TARGET is not supported, assume "
> +                "tjmax=100Â°C, readings may be incorrect\n", cpu);

As per remarks elsewhere, I don't see why there is an IA32 infix here.

> +        tjmax = 100;
> +    }
> +    
> +    *temp = tjmax - ((entries[0].val >> 16) & 0xff);
> +    return 0;
> +}
> +
> +
> +void get_intel_temp(int argc, char *argv[])
> +{
> +    int temp, cpu = -1, socket;

Plain int question again, for temp and socket.

> +    bool has_data = false;
> +
> +    if (argc > 0)

This and ...

> +        parse_cpuid(argv[0], &cpu);
> +
> +    if (cpu != -1)

... this if() don't fit the (hypervisor) style used elsewhere.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 30 15:10:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Oct 2025 15:10:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153767.1484032 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEUHo-0005fa-Dg; Thu, 30 Oct 2025 15:10:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153767.1484032; Thu, 30 Oct 2025 15:10:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEUHo-0005fT-AF; Thu, 30 Oct 2025 15:10:00 +0000
Received: by outflank-mailman (input) for mailman id 1153767;
 Thu, 30 Oct 2025 15:09:59 +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
 <SRS0=CzSz=5H=raptorengineering.com=tpearson@srs-se1.protection.inumbo.net>)
 id 1vEUHn-0005fN-Bk
 for xen-devel@lists.xenproject.org; Thu, 30 Oct 2025 15:09:59 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 75f553dc-b5a2-11f0-980a-7dc792cee155;
 Thu, 30 Oct 2025 16:09:43 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 28B777790EFB;
 Thu, 30 Oct 2025 10:09:41 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id nACI6O-AgS2V; Thu, 30 Oct 2025 10:09:40 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 1D48A7791C23;
 Thu, 30 Oct 2025 10:09:40 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id McR66_uf6zkS; Thu, 30 Oct 2025 10:09:40 -0500 (CDT)
Received: from vali.starlink.edu (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id ECBBA7790EFB;
 Thu, 30 Oct 2025 10:09:39 -0500 (CDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 75f553dc-b5a2-11f0-980a-7dc792cee155
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 1D48A7791C23
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1761836980; bh=Cdiha2tuCZYSrAZgMntMmoQoEl+EDTlv6kzqmBAU23o=;
	h=Date:From:To:Message-ID:MIME-Version;
	b=o2YbYw9NEo0g4ldd/dFOSqXZkIZvO7MMMil6h7Wj9MCIOiEddVftaqGj22JlF62bz
	 +ESACAyM++5yfi4Y7mLC/I5hEBbW29W+SkXT+N8WWjpuH3R1EHSX01f7xm1pjkHEB0
	 tBhpDVbl3e5H3r3QVSI6oFmJegl6bTWpCPIvQldc=
X-Virus-Scanned: amavisd-new at rptsys.com
Date: Thu, 30 Oct 2025 10:09:37 -0500 (CDT)
From: Timothy Pearson <tpearson@raptorengineering.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>, shawn <shawn@anastas.io>, 
	Andrew Cooper <andrew.cooper3@citrix.com>, 
	Julien Grall <julien@xen.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, 
	Anthony PERARD <anthony.perard@vates.tech>, 
	Michal Orzel <michal.orzel@amd.com>, 
	Roger Pau =?utf-8?Q?Monn=C3=A9?= <roger.pau@citrix.com>
Message-ID: <1788041210.6163.1761836977190.JavaMail.zimbra@raptorengineeringinc.com>
In-Reply-To: <35b2e61b-d1c1-47c0-90e2-7efa1f45243f@suse.com>
References: <1794235010.4856.1761754917625.JavaMail.zimbra@raptorengineeringinc.com> <alpine.DEB.2.22.394.2510291238140.495094@ubuntu-linux-20-04-desktop> <35b2e61b-d1c1-47c0-90e2-7efa1f45243f@suse.com>
Subject: Re: [PATCH v2] MAINTAINERS: Remove Shawn Anastasio as PPC64
 maintainer
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Mailer: Zimbra 8.5.0_GA_3042 (ZimbraWebClient - GC141 (Linux)/8.5.0_GA_3042)
Thread-Topic: MAINTAINERS: Remove Shawn Anastasio as PPC64 maintainer
Thread-Index: ZsBC+t7jV6QgRcwFTLhBqv+ydmQivQ==



----- Original Message -----
> From: "Jan Beulich" <jbeulich@suse.com>
> To: "Timothy Pearson" <tpearson@raptorengineering.com>
> Cc: "xen-devel" <xen-devel@lists.xenproject.org>, "shawn" <shawn@anastas.=
io>, "Andrew Cooper"
> <andrew.cooper3@citrix.com>, "Julien Grall" <julien@xen.org>, "Stefano St=
abellini" <sstabellini@kernel.org>, "Anthony
> PERARD" <anthony.perard@vates.tech>, "Michal Orzel" <michal.orzel@amd.com=
>, "Roger Pau Monn=C3=A9" <roger.pau@citrix.com>
> Sent: Thursday, October 30, 2025 2:40:53 AM
> Subject: Re: [PATCH v2] MAINTAINERS: Remove Shawn Anastasio as PPC64 main=
tainer

> On 29.10.2025 20:38, Stefano Stabellini wrote:
>> On Wed, 29 Oct 2025, Timothy Pearson wrote:
>>> Shawn is no longer with Raptor Engineering.  For now, add myself as PPC=
64
>>> reviewer.
>>>
>>> Signed-off-by: Timothy Pearson <tpearson@raptorengineering.com>
>>> ---
>>>  MAINTAINERS | 2 +-
>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/MAINTAINERS b/MAINTAINERS
>>> index ecd3f40df8..c8764a8c5f 100644
>>> --- a/MAINTAINERS
>>> +++ b/MAINTAINERS
>>> @@ -472,7 +472,7 @@ F:=09xen/drivers/cpufreq/
>>>  F:=09xen/include/acpi/cpufreq/
>>> =20
>>>  PPC64
>>> -M:=09Shawn Anastasio <sanastasio@raptorengineering.com>
>>> +M:=09Timothy Pearson <tpearson@raptorengineering.com>
>>>  F:=09xen/arch/ppc/
>>=20
>> The "R" letter is used for reviewers. The change can be done while
>> committing.
>=20
> And with that change:
> Acked-by: Jan Beulich <jbeulich@suse.com>
>=20
> Just to mention: I can't see what you used as basis to compose the Cc lis=
t.
> George's
> email address has been out of use for quite a while, and he isn't with th=
e
> project
> anymore. Wei had turned to other activities yet longer ago. And with Shaw=
n
> having
> left Raptor (as you indicated), I expect his email address there would no=
w also
> bounce. I have, therefore, heavily edited the Cc list of this reply.
>=20
> Jan

I had pulled the CC list from the "Rest" in the MAINTAINERS file in the roo=
t of the GIT tree.  Should I have been looking elsewhere?

Thanks!


From xen-devel-bounces@lists.xenproject.org Thu Oct 30 15:10:35 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Oct 2025 15:10:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153774.1484042 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEUIN-00070u-LN; Thu, 30 Oct 2025 15:10:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153774.1484042; Thu, 30 Oct 2025 15:10:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEUIN-00070n-Ht; Thu, 30 Oct 2025 15:10:35 +0000
Received: by outflank-mailman (input) for mailman id 1153774;
 Thu, 30 Oct 2025 15:10:35 +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
 <SRS0=CzSz=5H=raptorengineering.com=tpearson@srs-se1.protection.inumbo.net>)
 id 1vEUIN-0006rl-3V
 for xen-devel@lists.xenproject.org; Thu, 30 Oct 2025 15:10:35 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9405bedf-b5a2-11f0-9d16-b5c5bf9af7f9;
 Thu, 30 Oct 2025 16:10:33 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id C41617791C28;
 Thu, 30 Oct 2025 10:10:31 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id qLxgRnko9HcV; Thu, 30 Oct 2025 10:10:31 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 28C317791D5F;
 Thu, 30 Oct 2025 10:10:31 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id HVRYlm1oAj6F; Thu, 30 Oct 2025 10:10:31 -0500 (CDT)
Received: from vali.starlink.edu (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 08A0B7791C28;
 Thu, 30 Oct 2025 10:10:31 -0500 (CDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9405bedf-b5a2-11f0-9d16-b5c5bf9af7f9
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 28C317791D5F
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1761837031; bh=VxeOnt7rxrW/scawRbAXucAPnTfzQqZWvCR3Oykm0Lw=;
	h=Date:From:To:Message-ID:MIME-Version;
	b=VmFze60JcyflVIo/obplSBl9/QcTBhdZGho/scGkuR7+s1hR96I5IgJnBi4u2F4NR
	 +TbkLW9SvMrxB9cLG2ABDpG4CORBnz6YyIXqmySqvZWDkIZXfUwbG85XGQ6I49PkPL
	 mm46mSl7NBmPDmdedd5rt+UDHoQxkZi/aY4hZJdw=
X-Virus-Scanned: amavisd-new at rptsys.com
Date: Thu, 30 Oct 2025 10:10:30 -0500 (CDT)
From: Timothy Pearson <tpearson@raptorengineering.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>, 
	Andrew Cooper <andrew.cooper3@citrix.com>, 
	Julien Grall <julien@xen.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, 
	Anthony PERARD <anthony.perard@vates.tech>, 
	Michal Orzel <michal.orzel@amd.com>, 
	Roger Pau =?utf-8?Q?Monn=C3=A9?= <roger.pau@citrix.com>
Message-ID: <1147119844.6178.1761837030938.JavaMail.zimbra@raptorengineeringinc.com>
In-Reply-To: <6744abf0-3326-4de2-a14b-70faf56e91e6@suse.com>
References: <1066630274.4872.1761755029561.JavaMail.zimbra@raptorengineeringinc.com> <6744abf0-3326-4de2-a14b-70faf56e91e6@suse.com>
Subject: Re: [PATCH v2] xen/ppc: Fix tooling FTBFS due to missing
 definitions in public header
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Mailer: Zimbra 8.5.0_GA_3042 (ZimbraWebClient - GC141 (Linux)/8.5.0_GA_3042)
Thread-Topic: xen/ppc: Fix tooling FTBFS due to missing definitions in public header
Thread-Index: 8c1xizcSLi7qAz85JJI7wBArmtZGcQ==



----- Original Message -----
> From: "Jan Beulich" <jbeulich@suse.com>
> To: "Timothy Pearson" <tpearson@raptorengineering.com>
> Cc: "xen-devel" <xen-devel@lists.xenproject.org>, "Andrew Cooper" <andrew=
.cooper3@citrix.com>, "Julien Grall"
> <julien@xen.org>, "Stefano Stabellini" <sstabellini@kernel.org>, "Anthony=
 PERARD" <anthony.perard@vates.tech>, "Michal
> Orzel" <michal.orzel@amd.com>, "Roger Pau Monn=C3=A9" <roger.pau@citrix.c=
om>
> Sent: Thursday, October 30, 2025 2:43:00 AM
> Subject: Re: [PATCH v2] xen/ppc: Fix tooling FTBFS due to missing definit=
ions in public header

> On 29.10.2025 17:23, Timothy Pearson wrote:
>> int64_aligned_t and uint64_aligned_t need to be exposed when the GNU C c=
ompiler
>> is in use.
>>=20
>> Signed-off-by: Timothy Pearson <tpearson@raptorengineering.com>
>=20
> Thanks. However, you've lost my R-b, and the Cc list was again entirely e=
mpty.
>=20
> Jan

Apologies again.  I had thought for a trivial patch the CC was not required=
, will keep that in mind in the future.  Thanks!


From xen-devel-bounces@lists.xenproject.org Thu Oct 30 15:29:16 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Oct 2025 15:29:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153788.1484052 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEUaM-0000ln-4X; Thu, 30 Oct 2025 15:29:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153788.1484052; Thu, 30 Oct 2025 15:29:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEUaM-0000lg-0z; Thu, 30 Oct 2025 15:29:10 +0000
Received: by outflank-mailman (input) for mailman id 1153788;
 Thu, 30 Oct 2025 15:29:08 +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 <SRS0=+HTt=5H=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vEUaK-0000lZ-SW
 for xen-devel@lists.xenproject.org; Thu, 30 Oct 2025 15:29:08 +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 28a09684-b5a5-11f0-980a-7dc792cee155;
 Thu, 30 Oct 2025 16:29:00 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-46e6a689bd0so11929895e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 30 Oct 2025 08:29:00 -0700 (PDT)
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-477289b0dbesm46140025e9.5.2025.10.30.08.28.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 30 Oct 2025 08:28:59 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 28a09684-b5a5-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761838140; x=1762442940; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=CZOA5DB5CaYZMRdRBphTt0LIFeNChazp6jCWj+UrrlE=;
        b=Tey1wgc3MMECPAVqG2EhTXzZQenkBKigRd/D2Rsc4fk1NKNZj0g/C+4aPH2Kqbi/IA
         U+62dVRpVDCCA/AYZc6y8idvQkw+jHXHTJlbbA/TGdCO/kbaeTAkdEPjW0BINuRbadCt
         EJSjDCNPaIE+Y5wcY/evcI3AFAD2ZSVr/0j7tVGCadynDzHRdG5SNSWqW+rXECGk28tn
         ieCnD4sfZyN33DC9MNyicawfIQSP3KwA7+6iZMWR4geVNcBj0TTziri9wD2JAQg4SlDq
         KtzN3p/Pzvagq3njtQbNp1koLJWgA/LP0IpRx4HAV+AMdigWr8aa7RZzbiKnde6I8wmg
         /0Ag==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761838140; x=1762442940;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=CZOA5DB5CaYZMRdRBphTt0LIFeNChazp6jCWj+UrrlE=;
        b=L5F3V46/8Z+KwDS92s3OuehcE0LFuhSWyfG6cvp0GsNPoOg1nAJp0dHTVkU78vnGhT
         K0cMaa0KMVfQVK3EX+e/yLFWCq07pFbcyuP++LfFgKByiN+wZn1GktBO3UxL1M44ojlV
         4AscpAOH1fA25lEUtap/khf6ZLbPXtetM7WwsVfMIOmfufp/NE/vMB/80TH1HnZuLKHM
         VCZijSPYuDM4p09OoZh86ZI45HX/FMzt3malRBnPkl3/YWQHlsz36CkLG+EAWeeO7s6B
         6Re17F9mnh9NRtI4+cLkrTlKlg4kfHanD8gW87ZMyFFED1X2WAKMSxtMiZnmy+nip4QG
         HCDA==
X-Gm-Message-State: AOJu0YwtuNg0f+p6a1I4WJyrRZhXAWjSY/KhE9gSNwGVmDY+J/h/Lpnc
	gna4RDUHuHGQE030bvxBYBeq/uRRuQQN0dGhoLvd9SCAdMhK/k6fLW3CLDqBHoKRng==
X-Gm-Gg: ASbGncsfGP+WBbiHgibHZGggMWQXlB7UdtlEDhYYBDluPeHrxZqI3LDJ6qz6SeprC9i
	JJXn/HMdfgnHXPCJKYmrnj0EM84dpw4ltZsw/fW2ViLS3t/tcvXntpPo9255rDZ/lcg4WZeadvi
	Gpqt33/83yQqPlK/Wvr9OqkjbXZQSCefGhoUtihL+A5PzSzFwP0Ubl/SztfD8oEd0cbGFYzFCVT
	QkqOEMjQ7EN1FCPd0r25P6oW9/wPPnLwi+lafcMp9MFBinPXV5bXieFS8/K1/lF6RXuJzs7F+Ka
	ihhGyrri83OpS5eFPylGsASpMhfNjXd9+oLWhRo0mLxaNM71Pwl2ZtTkH6nKZ3BiLUd2WwLMZl8
	nIpBri3iSsomrCbQ01Q5ztLbsQA1NnprC9mP3LO3sXKiJ2S57ltpW9xOnykZy2XL5TLm48jP1cu
	ZnO8uW2n9YGuFerFYr8QSPdKOS2d5mXVddD1MNnr0cCEztyTWbmVJv1BkPk3CH
X-Google-Smtp-Source: AGHT+IGml2iWga7q9/8dIUbdQ38xYYG8uEtd8/YbYL3JbXtjvkmMdwwUNpshGoLd0yFjhp4EyONk3Q==
X-Received: by 2002:a05:600c:8b6f:b0:477:1af2:f40a with SMTP id 5b1f17b1804b1-477307e3ec4mr969645e9.17.1761838139854;
        Thu, 30 Oct 2025 08:28:59 -0700 (PDT)
Message-ID: <8b4b5561-af7f-4917-aea1-4ed65a0f3023@suse.com>
Date: Thu, 30 Oct 2025 16:28:57 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] MAINTAINERS: Remove Shawn Anastasio as PPC64
 maintainer
To: Timothy Pearson <tpearson@raptorengineering.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>, shawn <shawn@anastas.io>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <1794235010.4856.1761754917625.JavaMail.zimbra@raptorengineeringinc.com>
 <alpine.DEB.2.22.394.2510291238140.495094@ubuntu-linux-20-04-desktop>
 <35b2e61b-d1c1-47c0-90e2-7efa1f45243f@suse.com>
 <1788041210.6163.1761836977190.JavaMail.zimbra@raptorengineeringinc.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <1788041210.6163.1761836977190.JavaMail.zimbra@raptorengineeringinc.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 30.10.2025 16:09, Timothy Pearson wrote:
> ----- Original Message -----
>> From: "Jan Beulich" <jbeulich@suse.com>
>> To: "Timothy Pearson" <tpearson@raptorengineering.com>
> 
>> On 29.10.2025 20:38, Stefano Stabellini wrote:
>>> On Wed, 29 Oct 2025, Timothy Pearson wrote:
>>>> Shawn is no longer with Raptor Engineering.  For now, add myself as PPC64
>>>> reviewer.
>>>>
>>>> Signed-off-by: Timothy Pearson <tpearson@raptorengineering.com>
>>>> ---
>>>>  MAINTAINERS | 2 +-
>>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>>
>>>> diff --git a/MAINTAINERS b/MAINTAINERS
>>>> index ecd3f40df8..c8764a8c5f 100644
>>>> --- a/MAINTAINERS
>>>> +++ b/MAINTAINERS
>>>> @@ -472,7 +472,7 @@ F:	xen/drivers/cpufreq/
>>>>  F:	xen/include/acpi/cpufreq/
>>>>  
>>>>  PPC64
>>>> -M:	Shawn Anastasio <sanastasio@raptorengineering.com>
>>>> +M:	Timothy Pearson <tpearson@raptorengineering.com>
>>>>  F:	xen/arch/ppc/
>>>
>>> The "R" letter is used for reviewers. The change can be done while
>>> committing.
>>
>> And with that change:
>> Acked-by: Jan Beulich <jbeulich@suse.com>
>>
>> Just to mention: I can't see what you used as basis to compose the Cc list.
>> George's
>> email address has been out of use for quite a while, and he isn't with the
>> project
>> anymore. Wei had turned to other activities yet longer ago. And with Shawn
>> having
>> left Raptor (as you indicated), I expect his email address there would now also
>> bounce. I have, therefore, heavily edited the Cc list of this reply.
> 
> I had pulled the CC list from the "Rest" in the MAINTAINERS file in the root of the GIT tree.  Should I have been looking elsewhere?

That's the right place, but did you perhaps look at a (very) stale version?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 30 15:30:44 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Oct 2025 15:30:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153798.1484061 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEUbs-0002DU-Di; Thu, 30 Oct 2025 15:30:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153798.1484061; Thu, 30 Oct 2025 15:30:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEUbs-0002DN-B6; Thu, 30 Oct 2025 15:30:44 +0000
Received: by outflank-mailman (input) for mailman id 1153798;
 Thu, 30 Oct 2025 15:30:42 +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 <SRS0=+HTt=5H=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vEUbq-0002DF-OS
 for xen-devel@lists.xenproject.org; Thu, 30 Oct 2025 15:30:42 +0000
Received: from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com
 [2a00:1450:4864:20::32c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 64e01494-b5a5-11f0-9d16-b5c5bf9af7f9;
 Thu, 30 Oct 2025 16:30:41 +0100 (CET)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-47117f92e32so10843695e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 30 Oct 2025 08:30:41 -0700 (PDT)
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-4772fcf6c05sm2029845e9.4.2025.10.30.08.30.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 30 Oct 2025 08:30:40 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 64e01494-b5a5-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761838241; x=1762443041; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=5mi6RYPflF/GzUCPR+nIu+n6TF2ygal3gWPTYF0f7DY=;
        b=E7UW+lbmOhxcyU4lUlgiRnJRahrTR1cJkJ3feBXF66+MKyQ8X3Wao3VufdwiKvyrGJ
         4PrYp/0hf0uM8JEazwJ1G3xU7jZzgs4ZxsH7E97qNyzcw8CLi6FqbLIphd6XCp6R9mdy
         e+Lwh1kVJRU+3u4Vmv8ZlOUUV2UnWSU6eCIVbR2fPEP2yK3qJVnTWXhIc149qmPLdu87
         k43PvuFxLeHSlDPR5l/fPtucUlChHTFL7NKgJ208vgYsS5+GWsaRM+s0l7neSQr///jp
         uY3WzP/mYcKa8ShsdUU5bZDNimeslgHZ563reqcBPQcGsT4zc6EvjE6euGsFjtXxlOUM
         mfmA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761838241; x=1762443041;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=5mi6RYPflF/GzUCPR+nIu+n6TF2ygal3gWPTYF0f7DY=;
        b=oxUUMpRQJe6fthub6ieYY2Un58mQZ89uq9GGM7bcgi86GdR/eTNUHePTVh7XPz9gX1
         rr4dK1raC/PpilL5J+apT1DdMPxM/+XBo3HqkJkByGPT0iLWybbJ1Q9Y6veMiSIBo4N6
         LRIrVa1vtuz0z5cEhPLACOp5yD5qATFNhCleMuZVsPcBI94J4dsH1U+yxp6E6fPmsOoK
         Pj92pbTM584BrH5qUeZIL8Lhlk+wORgU8GfV4wqAC9pGcAk8SP3fMY8a0LrOSeDfJHkD
         IDSy3jaO1XjJmlvSV1ARdBzY5vuigCKJXHYwJPv3EELZEHDkQ4YqdRQsYkmB2eqAxw40
         PQ9A==
X-Gm-Message-State: AOJu0YzdKvxLohhMc4aqd8iRSmHgGJEyr5y7k4ZMlVZzNktzPMoVLBt6
	PDcfSk8Bp4sckuv3zNbNfb3reS668hqha6EOVofFBavlCrdqOh62vsd1NsBq3oAvyA==
X-Gm-Gg: ASbGncsS0fEktMe0uEYtRyXMOsfOHt6MJR0i+9fKsHdqvNUcCyqjrOWjwiyYx7AxCiw
	iF3lTXnQNiV7N9Zx1Vv7wWlMq2rNJvr/wKK/xQUO0Jljr6Lrv9NFdGdJGwvAgcoQeZzfKULebLt
	hXz+Vos3Fy7cphTVYJG0tgd384g1M96l5jR2cBy5OOZ55u9QbJkvXcuTn42Wmce7Mpse+4UVQCi
	5clTEa48Q082NNp/yFx1MyV9Z6AWzD3Bf4bXw91g4+CBd7tPHMy3G7Y5vv/L6op432xMGUECo96
	Ea+90WdIYr3JxOlmHS0wJ211gttB1ONscECHz6NUZaqKHzegnP/2Bkn3UgJ2tTMfJ9M/MrxxdIL
	DJMpPp7tgjkJU+CT4koKCLdxWxWdUR+WEW50R4RDVX5NQ+p67UrDNLRSHbl+KJsY6v15vQojhG1
	av420e5Mbd/2r1IBK5e+0pTbztFmXPohno4nszMZ/Ev9bUiz2am+3lbsqMN1GJxvpasDFd1Qc=
X-Google-Smtp-Source: AGHT+IGBai+sKPd4UMns6f3gq2/tt/uY87PPxVfOgYKy3Qo0CKHnnjeMlz413ms+t9OEEOQ0E9p2Kw==
X-Received: by 2002:a05:600c:3b0f:b0:46e:4a60:ea2c with SMTP id 5b1f17b1804b1-477308a897dmr942335e9.37.1761838240942;
        Thu, 30 Oct 2025 08:30:40 -0700 (PDT)
Message-ID: <fb391488-ea43-4565-9d1c-cdfd58602615@suse.com>
Date: Thu, 30 Oct 2025 16:30:39 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] xen/ppc: Fix tooling FTBFS due to missing definitions
 in public header
To: Timothy Pearson <tpearson@raptorengineering.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <1066630274.4872.1761755029561.JavaMail.zimbra@raptorengineeringinc.com>
 <6744abf0-3326-4de2-a14b-70faf56e91e6@suse.com>
 <1147119844.6178.1761837030938.JavaMail.zimbra@raptorengineeringinc.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <1147119844.6178.1761837030938.JavaMail.zimbra@raptorengineeringinc.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 30.10.2025 16:10, Timothy Pearson wrote:
> ----- Original Message -----
>> From: "Jan Beulich" <jbeulich@suse.com>
>> To: "Timothy Pearson" <tpearson@raptorengineering.com>
> 
>> On 29.10.2025 17:23, Timothy Pearson wrote:
>>> int64_aligned_t and uint64_aligned_t need to be exposed when the GNU C compiler
>>> is in use.
>>>
>>> Signed-off-by: Timothy Pearson <tpearson@raptorengineering.com>
>>
>> Thanks. However, you've lost my R-b, and the Cc list was again entirely empty.
> 
> Apologies again.  I had thought for a trivial patch the CC was not required, will keep that in mind in the future.  

Just to clarify: However trivial a patch, it needs to be acked by a maintainer. Hence
they will want Cc-ing (not everyone's subscribed to the list, and not everyone may be
following each and every patch that's flowing in).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 30 15:31:19 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Oct 2025 15:31:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153805.1484071 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEUcR-0002gC-Ov; Thu, 30 Oct 2025 15:31:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153805.1484071; Thu, 30 Oct 2025 15:31:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEUcR-0002g5-Le; Thu, 30 Oct 2025 15:31:19 +0000
Received: by outflank-mailman (input) for mailman id 1153805;
 Thu, 30 Oct 2025 15:31:17 +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
 <SRS0=CzSz=5H=raptorengineering.com=tpearson@srs-se1.protection.inumbo.net>)
 id 1vEUcP-0002DF-Jv
 for xen-devel@lists.xenproject.org; Thu, 30 Oct 2025 15:31:17 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 798db97a-b5a5-11f0-9d16-b5c5bf9af7f9;
 Thu, 30 Oct 2025 16:31:16 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id C2A807790720;
 Thu, 30 Oct 2025 10:31:15 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id KH7UNZKx-TSS; Thu, 30 Oct 2025 10:31:13 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 806B077907D5;
 Thu, 30 Oct 2025 10:31:13 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id 8J74aGl5Q6-o; Thu, 30 Oct 2025 10:31:13 -0500 (CDT)
Received: from vali.starlink.edu (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 596C37790720;
 Thu, 30 Oct 2025 10:31:13 -0500 (CDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 798db97a-b5a5-11f0-9d16-b5c5bf9af7f9
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 806B077907D5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1761838273; bh=Mv+eQteLoXb0EZbjhQUqhdX/VBBMfAJH1MxbFydzKjw=;
	h=Date:From:To:Message-ID:MIME-Version;
	b=Y1R3ESkvh33YSFMPaJ+abnog32Hcin9MiFxlxIKA3oDNs+HmnzzmmvAr0Jom0hPw5
	 Sq5JIqk5rup+JWtb6NLHCb2H5fHox9LVet8/SggtWwE4i4GN3Wd3lmfYtannqfkphO
	 ZIB8iL468w9rQKDjD94eOHX6Q8LQ+BvHF4pkqBmY=
X-Virus-Scanned: amavisd-new at rptsys.com
Date: Thu, 30 Oct 2025 10:31:10 -0500 (CDT)
From: Timothy Pearson <tpearson@raptorengineering.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>, shawn <shawn@anastas.io>, 
	Andrew Cooper <andrew.cooper3@citrix.com>, 
	Julien Grall <julien@xen.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, 
	Anthony PERARD <anthony.perard@vates.tech>, 
	Michal Orzel <michal.orzel@amd.com>, 
	Roger Pau =?utf-8?Q?Monn=C3=A9?= <roger.pau@citrix.com>
Message-ID: <927229739.6325.1761838270637.JavaMail.zimbra@raptorengineeringinc.com>
In-Reply-To: <8b4b5561-af7f-4917-aea1-4ed65a0f3023@suse.com>
References: <1794235010.4856.1761754917625.JavaMail.zimbra@raptorengineeringinc.com> <alpine.DEB.2.22.394.2510291238140.495094@ubuntu-linux-20-04-desktop> <35b2e61b-d1c1-47c0-90e2-7efa1f45243f@suse.com> <1788041210.6163.1761836977190.JavaMail.zimbra@raptorengineeringinc.com> <8b4b5561-af7f-4917-aea1-4ed65a0f3023@suse.com>
Subject: Re: [PATCH v2] MAINTAINERS: Remove Shawn Anastasio as PPC64
 maintainer
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Mailer: Zimbra 8.5.0_GA_3042 (ZimbraWebClient - GC141 (Linux)/8.5.0_GA_3042)
Thread-Topic: MAINTAINERS: Remove Shawn Anastasio as PPC64 maintainer
Thread-Index: tvOsLyDRQl/a3ABQf6kbLEICsniX1Q==



----- Original Message -----
> From: "Jan Beulich" <jbeulich@suse.com>
> To: "Timothy Pearson" <tpearson@raptorengineering.com>
> Cc: "xen-devel" <xen-devel@lists.xenproject.org>, "shawn" <shawn@anastas.=
io>, "Andrew Cooper"
> <andrew.cooper3@citrix.com>, "Julien Grall" <julien@xen.org>, "Stefano St=
abellini" <sstabellini@kernel.org>, "Anthony
> PERARD" <anthony.perard@vates.tech>, "Michal Orzel" <michal.orzel@amd.com=
>, "Roger Pau Monn=C3=A9" <roger.pau@citrix.com>
> Sent: Thursday, October 30, 2025 10:28:57 AM
> Subject: Re: [PATCH v2] MAINTAINERS: Remove Shawn Anastasio as PPC64 main=
tainer

> On 30.10.2025 16:09, Timothy Pearson wrote:
>> ----- Original Message -----
>>> From: "Jan Beulich" <jbeulich@suse.com>
>>> To: "Timothy Pearson" <tpearson@raptorengineering.com>
>>=20
>>> On 29.10.2025 20:38, Stefano Stabellini wrote:
>>>> On Wed, 29 Oct 2025, Timothy Pearson wrote:
>>>>> Shawn is no longer with Raptor Engineering.  For now, add myself as P=
PC64
>>>>> reviewer.
>>>>>
>>>>> Signed-off-by: Timothy Pearson <tpearson@raptorengineering.com>
>>>>> ---
>>>>>  MAINTAINERS | 2 +-
>>>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>>>
>>>>> diff --git a/MAINTAINERS b/MAINTAINERS
>>>>> index ecd3f40df8..c8764a8c5f 100644
>>>>> --- a/MAINTAINERS
>>>>> +++ b/MAINTAINERS
>>>>> @@ -472,7 +472,7 @@ F:=09xen/drivers/cpufreq/
>>>>>  F:=09xen/include/acpi/cpufreq/
>>>>> =20
>>>>>  PPC64
>>>>> -M:=09Shawn Anastasio <sanastasio@raptorengineering.com>
>>>>> +M:=09Timothy Pearson <tpearson@raptorengineering.com>
>>>>>  F:=09xen/arch/ppc/
>>>>
>>>> The "R" letter is used for reviewers. The change can be done while
>>>> committing.
>>>
>>> And with that change:
>>> Acked-by: Jan Beulich <jbeulich@suse.com>
>>>
>>> Just to mention: I can't see what you used as basis to compose the Cc l=
ist.
>>> George's
>>> email address has been out of use for quite a while, and he isn't with =
the
>>> project
>>> anymore. Wei had turned to other activities yet longer ago. And with Sh=
awn
>>> having
>>> left Raptor (as you indicated), I expect his email address there would =
now also
>>> bounce. I have, therefore, heavily edited the Cc list of this reply.
>>=20
>> I had pulled the CC list from the "Rest" in the MAINTAINERS file in the =
root of
>> the GIT tree.  Should I have been looking elsewhere?
>=20
> That's the right place, but did you perhaps look at a (very) stale versio=
n?

Not that I know of...

commit 9db10d89c41e0272066a8547ec5ee2a642663baa
Author: Jason Andryuk <jason.andryuk@amd.com>
Date:   Mon Oct 13 10:41:01 2025 +0200

    MAINTAINERS: Add myself as an AMD SVM & IOMMU reviewer

    Split out AMD SVM and AMD IOMMU, and add myself as a reviewer.  Jan,
    Andrew and Roger are set as maintainers as they were for the X86 entry.

    Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
    Acked-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>

commit ac58e34a0960bcc71583edfc6b4d6baa5e81c7d0
Author: Stewart Hildebrand <stewart.hildebrand@amd.com>
Date:   Thu Sep 25 09:19:21 2025 +0200

    MAINTAINERS: add myself as vPCI reviewer

    I'd like to take a more active role in reviewing vPCI bits.

    Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
    Acked-by: Stefano Stabellini <sstabellini@kernel.org>

Ends with:


THE REST
M:      Andrew Cooper <andrew.cooper3@citrix.com>
M:      Anthony PERARD <anthony.perard@vates.tech>
M:      Michal Orzel <michal.orzel@amd.com>
M:      Jan Beulich <jbeulich@suse.com>
M:      Julien Grall <julien@xen.org>
M:      Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
M:      Stefano Stabellini <sstabellini@kernel.org>
L:      xen-devel@lists.xenproject.org
S:      Supported
F:      *
F:      */
V:      xen-maintainers-1


From xen-devel-bounces@lists.xenproject.org Thu Oct 30 15:31:53 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Oct 2025 15:31:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153818.1484081 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEUcz-0003E8-0Z; Thu, 30 Oct 2025 15:31:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153818.1484081; Thu, 30 Oct 2025 15:31:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEUcy-0003E1-TR; Thu, 30 Oct 2025 15:31:52 +0000
Received: by outflank-mailman (input) for mailman id 1153818;
 Thu, 30 Oct 2025 15:31:52 +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
 <SRS0=CzSz=5H=raptorengineering.com=tpearson@srs-se1.protection.inumbo.net>)
 id 1vEUcy-0002DF-9c
 for xen-devel@lists.xenproject.org; Thu, 30 Oct 2025 15:31:52 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8e4b28aa-b5a5-11f0-9d16-b5c5bf9af7f9;
 Thu, 30 Oct 2025 16:31:51 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id AAC7F7790720;
 Thu, 30 Oct 2025 10:31:50 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id PS08QgnjzqLW; Thu, 30 Oct 2025 10:31:50 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 0A2E177907D5;
 Thu, 30 Oct 2025 10:31:50 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id 7-VaWVDYBTLm; Thu, 30 Oct 2025 10:31:49 -0500 (CDT)
Received: from vali.starlink.edu (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id DDFBC7790720;
 Thu, 30 Oct 2025 10:31:49 -0500 (CDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8e4b28aa-b5a5-11f0-9d16-b5c5bf9af7f9
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 0A2E177907D5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1761838310; bh=IgybOXYTuqFeds5uM5j9KzF1rmHHpteR8WES1693GQU=;
	h=Date:From:To:Message-ID:MIME-Version;
	b=KJhHFxWjQoosZn/3B0zt6M8gZ9XpqSBqfizlDwHHwq3PvoTZVVeGdTvSDQz9/Jgye
	 84HTBwvEtk5UzRahJ95RO2KNw5SBThNWyctr+QrtvSP2FUl+XoCTtrbC/QFQor5qNa
	 oc4E4wCaCI8HeObIIy4oFPNmKOFVxiSo6yWt3PM4=
X-Virus-Scanned: amavisd-new at rptsys.com
Date: Thu, 30 Oct 2025 10:31:49 -0500 (CDT)
From: Timothy Pearson <tpearson@raptorengineering.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>, 
	Andrew Cooper <andrew.cooper3@citrix.com>, 
	Julien Grall <julien@xen.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, 
	Anthony PERARD <anthony.perard@vates.tech>, 
	Michal Orzel <michal.orzel@amd.com>, 
	Roger Pau =?utf-8?Q?Monn=C3=A9?= <roger.pau@citrix.com>
Message-ID: <619951488.6326.1761838309870.JavaMail.zimbra@raptorengineeringinc.com>
In-Reply-To: <fb391488-ea43-4565-9d1c-cdfd58602615@suse.com>
References: <1066630274.4872.1761755029561.JavaMail.zimbra@raptorengineeringinc.com> <6744abf0-3326-4de2-a14b-70faf56e91e6@suse.com> <1147119844.6178.1761837030938.JavaMail.zimbra@raptorengineeringinc.com> <fb391488-ea43-4565-9d1c-cdfd58602615@suse.com>
Subject: Re: [PATCH v2] xen/ppc: Fix tooling FTBFS due to missing
 definitions in public header
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Mailer: Zimbra 8.5.0_GA_3042 (ZimbraWebClient - GC141 (Linux)/8.5.0_GA_3042)
Thread-Topic: xen/ppc: Fix tooling FTBFS due to missing definitions in public header
Thread-Index: GOLKPcU4SRpHb2GslXxaFZbEsgrErw==



----- Original Message -----
> From: "Jan Beulich" <jbeulich@suse.com>
> To: "Timothy Pearson" <tpearson@raptorengineering.com>
> Cc: "xen-devel" <xen-devel@lists.xenproject.org>, "Andrew Cooper" <andrew=
.cooper3@citrix.com>, "Julien Grall"
> <julien@xen.org>, "Stefano Stabellini" <sstabellini@kernel.org>, "Anthony=
 PERARD" <anthony.perard@vates.tech>, "Michal
> Orzel" <michal.orzel@amd.com>, "Roger Pau Monn=C3=A9" <roger.pau@citrix.c=
om>
> Sent: Thursday, October 30, 2025 10:30:39 AM
> Subject: Re: [PATCH v2] xen/ppc: Fix tooling FTBFS due to missing definit=
ions in public header

> On 30.10.2025 16:10, Timothy Pearson wrote:
>> ----- Original Message -----
>>> From: "Jan Beulich" <jbeulich@suse.com>
>>> To: "Timothy Pearson" <tpearson@raptorengineering.com>
>>=20
>>> On 29.10.2025 17:23, Timothy Pearson wrote:
>>>> int64_aligned_t and uint64_aligned_t need to be exposed when the GNU C=
 compiler
>>>> is in use.
>>>>
>>>> Signed-off-by: Timothy Pearson <tpearson@raptorengineering.com>
>>>
>>> Thanks. However, you've lost my R-b, and the Cc list was again entirely=
 empty.
>>=20
>> Apologies again.  I had thought for a trivial patch the CC was not requi=
red,
>> will keep that in mind in the future.
>=20
> Just to clarify: However trivial a patch, it needs to be acked by a maint=
ainer.
> Hence
> they will want Cc-ing (not everyone's subscribed to the list, and not eve=
ryone
> may be
> following each and every patch that's flowing in).
>=20
> Jan

Fair enough.  I'll come up to speed eventually. ;)


From xen-devel-bounces@lists.xenproject.org Thu Oct 30 15:36:15 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Oct 2025 15:36:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153829.1484091 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEUh7-0003ty-Ge; Thu, 30 Oct 2025 15:36:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153829.1484091; Thu, 30 Oct 2025 15:36:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEUh7-0003tr-Dl; Thu, 30 Oct 2025 15:36:09 +0000
Received: by outflank-mailman (input) for mailman id 1153829;
 Thu, 30 Oct 2025 15:36:08 +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 <SRS0=+HTt=5H=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vEUh6-0003tl-Ax
 for xen-devel@lists.xenproject.org; Thu, 30 Oct 2025 15:36:08 +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 264cc6ce-b5a6-11f0-980a-7dc792cee155;
 Thu, 30 Oct 2025 16:36:06 +0100 (CET)
Received: by mail-wr1-x42b.google.com with SMTP id
 ffacd0b85a97d-3ee130237a8so809680f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 30 Oct 2025 08:36:06 -0700 (PDT)
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-47728999a4bsm43679985e9.2.2025.10.30.08.36.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 30 Oct 2025 08:36:05 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 264cc6ce-b5a6-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761838565; x=1762443365; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=8jx/+qhGjGKWiPV+geDAqdLZpuKDoM0Df0ubRzuT4Ls=;
        b=IIEC0lg57koG7AjsqakJ/8TrKnKjr9/Ftw1Wcfrtm9HGoKSiW9HqlWBN56sPQesEaY
         BOr7DxmgcKt4QhJbnbm6wLCS5Ulg3w0IOCSI8Q4eNihgApHeFIpVwYdgc19JUnzPnlCP
         FxZ9WHZFWRYsCwikCXWu2cMutk3wRR3UJSAX712SZfL9dVAizpSQVQSdy5XfouDtH6CJ
         l0Ggi2iMv/gjIC0G73lx92Z96RGcdWWNiUwDlkTfrF/taFnzfnLMz72poryCgJqxQfGC
         i7gnH3ioanHfkEpirtPNwRVC4Evgv6No2cK8+jdWGEBwR+oCuYTp4o45c3xJjTjkDvM0
         lpeg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761838565; x=1762443365;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=8jx/+qhGjGKWiPV+geDAqdLZpuKDoM0Df0ubRzuT4Ls=;
        b=DloHQ/SGkf5Rp+stcDjjV/c77yo86mR8tiIo1WrX3dfQvruz4FWThE+AtG8A3VKct4
         RuZrOI7fjBMr3sFLseMtCtaHVMH0hwbl8sMf51Pb/35D2hBKDnW5HT/NdTuQDzDgQHce
         6AvfloGdZCayPWJx1vaG230MMwiIQWGR4sWCWWdh10kp+KVMwnKLyh97IFkXwf7+J3Iq
         xmvtiTKsVQkqiRQoMQcE/TBYwkvjDSveQSmxnmT44XBLXpV0CV1NSiE4KpndJS/mniV5
         0PQwY4R+AoquqvJmLc6ci3DqqCujdCinS+3LaD5Y5F19zIFqu8ZtVTHPBYNicxepKgi3
         3HHg==
X-Gm-Message-State: AOJu0YwFIDCNytTx+W2UsQL0yQbxqNRGHIpdfXNYteKszZatJvrMF5RN
	SadgLo4ym7wo0RSn2lg2/moYFYYlhzF8uAG/DTy3CjPHvvMYCRyYDJDRBFjeRWBIfA==
X-Gm-Gg: ASbGncv1H8M3fqfAsqchsANdEc28PTyJp9kjP7lcrfP5F9x69F+6XNxUNtNfb1mUcQh
	2lBa4TYjpRtqo3eUgarJ1gjB4y/3v8w2vwfuLZ45Tg9oMnCH4C8vcasvFJkPD8EAcT+rG8ybHV1
	4dJwMyECbBhvwVtQ2H7srxMfdDUowGkdcRBaMHFKEblZ7GA7UYItFnvf9a3wy3cqQGwnyw7xeds
	CYojEd4E/UwVcK5F1/YyxlFisWUwvnCZM4TU6xIKLBhQYdjLQzenIv4GV4YuL2azNnX2/CIJ42y
	fkbMsYumFtcsX6pas5T+UuAwD5wIcSnSXhkc5YxizJQutMXOpBNOlcgLDakPqACfT5z/cxt3Iaa
	KskYkT7+fpeIqwHzomKvdJlv31HpssVNfWPPJk1YlCjrbgsAsxxctFVqo8H/Nlumy3ZWPBwXAC0
	SllNKbra8xUNQBHFqBakFHfcHjvK0fXI2667qvgpRRdaFVF50VabTYhKll/xHz
X-Google-Smtp-Source: AGHT+IHer9vtSzX2YIDggxerdgmi93NL1oZQqlNBwz34AdCpZq4pCOPcaqnh+UNSUjODkHb1WmZCsA==
X-Received: by 2002:a05:6000:40c9:b0:427:665:e37f with SMTP id ffacd0b85a97d-429bd68328cmr15990f8f.4.1761838565423;
        Thu, 30 Oct 2025 08:36:05 -0700 (PDT)
Message-ID: <0a03cfe0-680e-444c-a1d2-85b3a0f6e90d@suse.com>
Date: Thu, 30 Oct 2025 16:36:03 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] MAINTAINERS: Remove Shawn Anastasio as PPC64
 maintainer
To: Timothy Pearson <tpearson@raptorengineering.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>, shawn <shawn@anastas.io>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <1794235010.4856.1761754917625.JavaMail.zimbra@raptorengineeringinc.com>
 <alpine.DEB.2.22.394.2510291238140.495094@ubuntu-linux-20-04-desktop>
 <35b2e61b-d1c1-47c0-90e2-7efa1f45243f@suse.com>
 <1788041210.6163.1761836977190.JavaMail.zimbra@raptorengineeringinc.com>
 <8b4b5561-af7f-4917-aea1-4ed65a0f3023@suse.com>
 <927229739.6325.1761838270637.JavaMail.zimbra@raptorengineeringinc.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <927229739.6325.1761838270637.JavaMail.zimbra@raptorengineeringinc.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 30.10.2025 16:31, Timothy Pearson wrote:
> 
> 
> ----- Original Message -----
>> From: "Jan Beulich" <jbeulich@suse.com>
>> To: "Timothy Pearson" <tpearson@raptorengineering.com>
>> Cc: "xen-devel" <xen-devel@lists.xenproject.org>, "shawn" <shawn@anastas.io>, "Andrew Cooper"
>> <andrew.cooper3@citrix.com>, "Julien Grall" <julien@xen.org>, "Stefano Stabellini" <sstabellini@kernel.org>, "Anthony
>> PERARD" <anthony.perard@vates.tech>, "Michal Orzel" <michal.orzel@amd.com>, "Roger Pau MonnÃ©" <roger.pau@citrix.com>
>> Sent: Thursday, October 30, 2025 10:28:57 AM
>> Subject: Re: [PATCH v2] MAINTAINERS: Remove Shawn Anastasio as PPC64 maintainer
> 
>> On 30.10.2025 16:09, Timothy Pearson wrote:
>>> ----- Original Message -----
>>>> From: "Jan Beulich" <jbeulich@suse.com>
>>>> To: "Timothy Pearson" <tpearson@raptorengineering.com>
>>>
>>>> On 29.10.2025 20:38, Stefano Stabellini wrote:
>>>>> On Wed, 29 Oct 2025, Timothy Pearson wrote:
>>>>>> Shawn is no longer with Raptor Engineering.  For now, add myself as PPC64
>>>>>> reviewer.
>>>>>>
>>>>>> Signed-off-by: Timothy Pearson <tpearson@raptorengineering.com>
>>>>>> ---
>>>>>>  MAINTAINERS | 2 +-
>>>>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>>>>
>>>>>> diff --git a/MAINTAINERS b/MAINTAINERS
>>>>>> index ecd3f40df8..c8764a8c5f 100644
>>>>>> --- a/MAINTAINERS
>>>>>> +++ b/MAINTAINERS
>>>>>> @@ -472,7 +472,7 @@ F:	xen/drivers/cpufreq/
>>>>>>  F:	xen/include/acpi/cpufreq/
>>>>>>  
>>>>>>  PPC64
>>>>>> -M:	Shawn Anastasio <sanastasio@raptorengineering.com>
>>>>>> +M:	Timothy Pearson <tpearson@raptorengineering.com>
>>>>>>  F:	xen/arch/ppc/
>>>>>
>>>>> The "R" letter is used for reviewers. The change can be done while
>>>>> committing.
>>>>
>>>> And with that change:
>>>> Acked-by: Jan Beulich <jbeulich@suse.com>
>>>>
>>>> Just to mention: I can't see what you used as basis to compose the Cc list.
>>>> George's
>>>> email address has been out of use for quite a while, and he isn't with the
>>>> project
>>>> anymore. Wei had turned to other activities yet longer ago. And with Shawn
>>>> having
>>>> left Raptor (as you indicated), I expect his email address there would now also
>>>> bounce. I have, therefore, heavily edited the Cc list of this reply.
>>>
>>> I had pulled the CC list from the "Rest" in the MAINTAINERS file in the root of
>>> the GIT tree.  Should I have been looking elsewhere?
>>
>> That's the right place, but did you perhaps look at a (very) stale version?
> 
> Not that I know of...
> 
> commit 9db10d89c41e0272066a8547ec5ee2a642663baa
> Author: Jason Andryuk <jason.andryuk@amd.com>
> Date:   Mon Oct 13 10:41:01 2025 +0200
> 
>     MAINTAINERS: Add myself as an AMD SVM & IOMMU reviewer
> 
>     Split out AMD SVM and AMD IOMMU, and add myself as a reviewer.  Jan,
>     Andrew and Roger are set as maintainers as they were for the X86 entry.
> 
>     Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
>     Acked-by: Roger Pau MonnÃ© <roger.pau@citrix.com>
> 
> commit ac58e34a0960bcc71583edfc6b4d6baa5e81c7d0
> Author: Stewart Hildebrand <stewart.hildebrand@amd.com>
> Date:   Thu Sep 25 09:19:21 2025 +0200
> 
>     MAINTAINERS: add myself as vPCI reviewer
> 
>     I'd like to take a more active role in reviewing vPCI bits.
> 
>     Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
>     Acked-by: Stefano Stabellini <sstabellini@kernel.org>
> 
> Ends with:
> 
> 
> THE REST
> M:      Andrew Cooper <andrew.cooper3@citrix.com>
> M:      Anthony PERARD <anthony.perard@vates.tech>
> M:      Michal Orzel <michal.orzel@amd.com>
> M:      Jan Beulich <jbeulich@suse.com>
> M:      Julien Grall <julien@xen.org>
> M:      Roger Pau MonnÃ© <roger.pau@citrix.com>
> M:      Stefano Stabellini <sstabellini@kernel.org>
> L:      xen-devel@lists.xenproject.org
> S:      Supported
> F:      *
> F:      */
> V:      xen-maintainers-1

And where did George and Wei come from then, while several of the people above
were missing?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Oct 30 15:39:35 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Oct 2025 15:39:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153839.1484101 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEUkP-0004oK-VN; Thu, 30 Oct 2025 15:39:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153839.1484101; Thu, 30 Oct 2025 15:39:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEUkP-0004oD-ST; Thu, 30 Oct 2025 15:39:33 +0000
Received: by outflank-mailman (input) for mailman id 1153839;
 Thu, 30 Oct 2025 15:39:33 +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
 <SRS0=CzSz=5H=raptorengineering.com=tpearson@srs-se1.protection.inumbo.net>)
 id 1vEUkP-0004o7-5T
 for xen-devel@lists.xenproject.org; Thu, 30 Oct 2025 15:39:33 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9ffb930e-b5a6-11f0-980a-7dc792cee155;
 Thu, 30 Oct 2025 16:39:30 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id D895B77908EA;
 Thu, 30 Oct 2025 10:39:29 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id eorYMY11hG0D; Thu, 30 Oct 2025 10:39:29 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id DD98E77908F4;
 Thu, 30 Oct 2025 10:39:28 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id 74JTIp6AG3wN; Thu, 30 Oct 2025 10:39:28 -0500 (CDT)
Received: from vali.starlink.edu (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id B097C77908EA;
 Thu, 30 Oct 2025 10:39:28 -0500 (CDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9ffb930e-b5a6-11f0-980a-7dc792cee155
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com DD98E77908F4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1761838768; bh=G9E+BRV1KsxFbFHNEBqI/47V8VetK24k8GNC43VcDiU=;
	h=Date:From:To:Message-ID:MIME-Version;
	b=E6FIB7NtxPWnPpdch6cPc4R9fxSjbB3d/3bgESCGh+nfaOfQ3G2VmFO9qTdfICdjg
	 yVr3cZdzw225P0tWgFkx3ByQeA/OOwxvUlPRr+46mUERG0hJB+kYNPvqMQjb5ZSG34
	 EiPA4aL4KkqEvpJV2RQmSNyPx/MazFTEfaAfNTeI=
X-Virus-Scanned: amavisd-new at rptsys.com
Date: Thu, 30 Oct 2025 10:39:28 -0500 (CDT)
From: Timothy Pearson <tpearson@raptorengineering.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>, shawn <shawn@anastas.io>, 
	Andrew Cooper <andrew.cooper3@citrix.com>, 
	Julien Grall <julien@xen.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, 
	Anthony PERARD <anthony.perard@vates.tech>, 
	Michal Orzel <michal.orzel@amd.com>, 
	Roger Pau =?utf-8?Q?Monn=C3=A9?= <roger.pau@citrix.com>
Message-ID: <545054429.6351.1761838768580.JavaMail.zimbra@raptorengineeringinc.com>
In-Reply-To: <0a03cfe0-680e-444c-a1d2-85b3a0f6e90d@suse.com>
References: <1794235010.4856.1761754917625.JavaMail.zimbra@raptorengineeringinc.com> <alpine.DEB.2.22.394.2510291238140.495094@ubuntu-linux-20-04-desktop> <35b2e61b-d1c1-47c0-90e2-7efa1f45243f@suse.com> <1788041210.6163.1761836977190.JavaMail.zimbra@raptorengineeringinc.com> <8b4b5561-af7f-4917-aea1-4ed65a0f3023@suse.com> <927229739.6325.1761838270637.JavaMail.zimbra@raptorengineeringinc.com> <0a03cfe0-680e-444c-a1d2-85b3a0f6e90d@suse.com>
Subject: Re: [PATCH v2] MAINTAINERS: Remove Shawn Anastasio as PPC64
 maintainer
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Mailer: Zimbra 8.5.0_GA_3042 (ZimbraWebClient - GC141 (Linux)/8.5.0_GA_3042)
Thread-Topic: MAINTAINERS: Remove Shawn Anastasio as PPC64 maintainer
Thread-Index: QDp8OG7RXnVvQeilJKibhvykLTlu6g==



----- Original Message -----
> From: "Jan Beulich" <jbeulich@suse.com>
> To: "Timothy Pearson" <tpearson@raptorengineering.com>
> Cc: "xen-devel" <xen-devel@lists.xenproject.org>, "shawn" <shawn@anastas.=
io>, "Andrew Cooper"
> <andrew.cooper3@citrix.com>, "Julien Grall" <julien@xen.org>, "Stefano St=
abellini" <sstabellini@kernel.org>, "Anthony
> PERARD" <anthony.perard@vates.tech>, "Michal Orzel" <michal.orzel@amd.com=
>, "Roger Pau Monn=C3=A9" <roger.pau@citrix.com>
> Sent: Thursday, October 30, 2025 10:36:03 AM
> Subject: Re: [PATCH v2] MAINTAINERS: Remove Shawn Anastasio as PPC64 main=
tainer

> On 30.10.2025 16:31, Timothy Pearson wrote:
>>=20
>>=20
>> ----- Original Message -----
>>> From: "Jan Beulich" <jbeulich@suse.com>
>>> To: "Timothy Pearson" <tpearson@raptorengineering.com>
>>> Cc: "xen-devel" <xen-devel@lists.xenproject.org>, "shawn" <shawn@anasta=
s.io>,
>>> "Andrew Cooper"
>>> <andrew.cooper3@citrix.com>, "Julien Grall" <julien@xen.org>, "Stefano
>>> Stabellini" <sstabellini@kernel.org>, "Anthony
>>> PERARD" <anthony.perard@vates.tech>, "Michal Orzel" <michal.orzel@amd.c=
om>,
>>> "Roger Pau Monn=C3=A9" <roger.pau@citrix.com>
>>> Sent: Thursday, October 30, 2025 10:28:57 AM
>>> Subject: Re: [PATCH v2] MAINTAINERS: Remove Shawn Anastasio as PPC64 ma=
intainer
>>=20
>>> On 30.10.2025 16:09, Timothy Pearson wrote:
>>>> ----- Original Message -----
>>>>> From: "Jan Beulich" <jbeulich@suse.com>
>>>>> To: "Timothy Pearson" <tpearson@raptorengineering.com>
>>>>
>>>>> On 29.10.2025 20:38, Stefano Stabellini wrote:
>>>>>> On Wed, 29 Oct 2025, Timothy Pearson wrote:
>>>>>>> Shawn is no longer with Raptor Engineering.  For now, add myself as=
 PPC64
>>>>>>> reviewer.
>>>>>>>
>>>>>>> Signed-off-by: Timothy Pearson <tpearson@raptorengineering.com>
>>>>>>> ---
>>>>>>>  MAINTAINERS | 2 +-
>>>>>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>>>>>
>>>>>>> diff --git a/MAINTAINERS b/MAINTAINERS
>>>>>>> index ecd3f40df8..c8764a8c5f 100644
>>>>>>> --- a/MAINTAINERS
>>>>>>> +++ b/MAINTAINERS
>>>>>>> @@ -472,7 +472,7 @@ F:=09xen/drivers/cpufreq/
>>>>>>>  F:=09xen/include/acpi/cpufreq/
>>>>>>> =20
>>>>>>>  PPC64
>>>>>>> -M:=09Shawn Anastasio <sanastasio@raptorengineering.com>
>>>>>>> +M:=09Timothy Pearson <tpearson@raptorengineering.com>
>>>>>>>  F:=09xen/arch/ppc/
>>>>>>
>>>>>> The "R" letter is used for reviewers. The change can be done while
>>>>>> committing.
>>>>>
>>>>> And with that change:
>>>>> Acked-by: Jan Beulich <jbeulich@suse.com>
>>>>>
>>>>> Just to mention: I can't see what you used as basis to compose the Cc=
 list.
>>>>> George's
>>>>> email address has been out of use for quite a while, and he isn't wit=
h the
>>>>> project
>>>>> anymore. Wei had turned to other activities yet longer ago. And with =
Shawn
>>>>> having
>>>>> left Raptor (as you indicated), I expect his email address there woul=
d now also
>>>>> bounce. I have, therefore, heavily edited the Cc list of this reply.
>>>>
>>>> I had pulled the CC list from the "Rest" in the MAINTAINERS file in th=
e root of
>>>> the GIT tree.  Should I have been looking elsewhere?
>>>
>>> That's the right place, but did you perhaps look at a (very) stale vers=
ion?
>>=20
>> Not that I know of...
>>=20
>> commit 9db10d89c41e0272066a8547ec5ee2a642663baa
>> Author: Jason Andryuk <jason.andryuk@amd.com>
>> Date:   Mon Oct 13 10:41:01 2025 +0200
>>=20
>>     MAINTAINERS: Add myself as an AMD SVM & IOMMU reviewer
>>=20
>>     Split out AMD SVM and AMD IOMMU, and add myself as a reviewer.  Jan,
>>     Andrew and Roger are set as maintainers as they were for the X86 ent=
ry.
>>=20
>>     Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
>>     Acked-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
>>=20
>> commit ac58e34a0960bcc71583edfc6b4d6baa5e81c7d0
>> Author: Stewart Hildebrand <stewart.hildebrand@amd.com>
>> Date:   Thu Sep 25 09:19:21 2025 +0200
>>=20
>>     MAINTAINERS: add myself as vPCI reviewer
>>=20
>>     I'd like to take a more active role in reviewing vPCI bits.
>>=20
>>     Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
>>     Acked-by: Stefano Stabellini <sstabellini@kernel.org>
>>=20
>> Ends with:
>>=20
>>=20
>> THE REST
>> M:      Andrew Cooper <andrew.cooper3@citrix.com>
>> M:      Anthony PERARD <anthony.perard@vates.tech>
>> M:      Michal Orzel <michal.orzel@amd.com>
>> M:      Jan Beulich <jbeulich@suse.com>
>> M:      Julien Grall <julien@xen.org>
>> M:      Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
>> M:      Stefano Stabellini <sstabellini@kernel.org>
>> L:      xen-devel@lists.xenproject.org
>> S:      Supported
>> F:      *
>> F:      */
>> V:      xen-maintainers-1
>=20
> And where did George and Wei come from then, while several of the people =
above
> were missing?
>=20
> Jan

Huh.  Maybe I *was* on an old branch.  Will double check before sending any=
thing else in.


From xen-devel-bounces@lists.xenproject.org Thu Oct 30 16:03:12 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Oct 2025 16:03:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153854.1484111 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEV7B-0001WM-SP; Thu, 30 Oct 2025 16:03:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153854.1484111; Thu, 30 Oct 2025 16:03:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEV7B-0001WF-Pr; Thu, 30 Oct 2025 16:03:05 +0000
Received: by outflank-mailman (input) for mailman id 1153854;
 Thu, 30 Oct 2025 16:03:04 +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
 <SRS0=Ek+I=5H=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1vEV7A-0001W8-0X
 for xen-devel@lists.xenproject.org; Thu, 30 Oct 2025 16:03:04 +0000
Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com
 [2a00:1450:4864:20::536])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e78ca313-b5a9-11f0-980a-7dc792cee155;
 Thu, 30 Oct 2025 17:02:58 +0100 (CET)
Received: by mail-ed1-x536.google.com with SMTP id
 4fb4d7f45d1cf-63e18829aa7so1716262a12.3
 for <xen-devel@lists.xenproject.org>; Thu, 30 Oct 2025 09:02:58 -0700 (PDT)
Received: from [192.168.1.5] (user-109-243-71-38.play-internet.pl.
 [109.243.71.38]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-63e7ef6c129sm15306299a12.3.2025.10.30.09.02.57
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 30 Oct 2025 09:02:57 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e78ca313-b5a9-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1761840178; x=1762444978; darn=lists.xenproject.org;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=uTWYYeImcGjWZUiPWsuMRdZ0/0ySL8/qYM877Yoyssw=;
        b=DTaKRiJxLNYBU9LL9o6sZCDgwL/g245vsloAP1979he+OMnljU1/EdKmTewZZNDi1g
         g5jPYNfv5zUhIhuJmyUWlWpzt4aVEiM/OtjTEuEiDbM9ZkAH2noPT08n7EPnGaNxc7A4
         9kRfcdc1N1muQPhFD59dcN06O3AZyqX5TAaN6jLaKzOodqzpqwDjLS+Q4uSvMVBbiZhz
         ilIZQ0Iluybh77F6r5CX2Ptb+Z5gXiIK9rQfl96GJLZCHoBp0zrldT//zk5byTpfivht
         /C7rvct8PVELv2GeQ9AqK8vDM7zpLlq9pxJz55AI83LpPoV2deGrMK9TL2jkth2shx/0
         ksvQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761840178; x=1762444978;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=uTWYYeImcGjWZUiPWsuMRdZ0/0ySL8/qYM877Yoyssw=;
        b=GKIdJ1hRvzZNZVreQNHuuTieqVWPFzqdz+LAO4SP0C11pXs4jeZoZzBgSmipilEqsC
         8vn3dzjo5oR/lOWIdv6wAZSG8dxgl+cxjgH3/RB06llua2h3majRG43ebtfJo94LkX/G
         odU39Fb7lDhf6mzWsWQ/3hD7WdTfVxG7D8AieAfYGS0P7bxH/FGLuZomkVMKichw/L3v
         0Hep6r0mThXw94i6DJIlk6wbN/SjN66zG7LkcXo4eKfyWsCsMhlaPD5unDSfoasraS6A
         3vt8y26FN2kXeDWAfGDSPcBQZTSTeejc4LMp1L9D1PKQLUGq3ycjo1B00Lm/pdgP5Bf2
         h3Eg==
X-Forwarded-Encrypted: i=1; AJvYcCVRsoV6jxJLUT3yoV0xdqpi5aWgVbnNWiIk7v7VG5ZLbXoBJ7JI9xKQKHpL1kxh92da6pqun2IXiTA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzswOP95uVeWUBWyp9ODkrSwSzvuVlPbXSUAvrHdUzB/iHTv3LC
	fECuXV2hKtNaUEt7lYnhjObvRpitplM/OYej6K5WHb5Lu05o7tmWQyShL1bqwg==
X-Gm-Gg: ASbGncsSbZkI1RBDsNpJx1gzRKunB33+8DwCRb8XBUjKFNnlTUluX9bgHkbH/WjBdqS
	M2a3usalZ6mzgQqmgtTIDyC8e2bM73Etoy6PX2wcR5CPlnWA9GEDUCKsokmEoeg+K9pBjUZaMfK
	Ndt5XRJYjG0/qQUSvPL9VWLEHrUL417fScPwZqB3Z3JhiVWpUSwIywkcYBBI3LGYPgdH+XqUN7w
	WMnSEsoysRCeZ+4buUKs5cuZcnhr5MHjxuPknjCrsdl8ap8hNtEEmr6pAXWICbALqUxA7wi2J3Z
	Ne5o8NfWD7xKKU1CJQxIaMf7q8PM/nyrY+f2k8HysCz/uwu2U5Wm/7iAhBjooJ8Q0GDIdUxnhFQ
	uRH5Zfq4c+INFQOq3NAUljWZP71UAPDkacoiQA9uMvGgJasINdDnqhkbzkMmLBFwAUIc0YX/lx2
	Rjys7dWMtV5nWDeFVwlOn+vnXy60PAAKsajyHB3lpJ4n23Om9IQh3VREO2fVuGO30b
X-Google-Smtp-Source: AGHT+IHj9xgezx3kPQYXRPAmbLOPeSTedQacYpiOTswXgjoAD4W9FIv17b7OLOFE0j6yjz6D1VQBMg==
X-Received: by 2002:a05:6402:d0b:b0:640:325d:3dba with SMTP id 4fb4d7f45d1cf-64061a83b71mr2914338a12.35.1761840177886;
        Thu, 30 Oct 2025 09:02:57 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------fLVn3BV11kTRyC7YX7U5XosF"
Message-ID: <a4a5f147-a2f7-4b00-954c-ca6b5e019bf1@gmail.com>
Date: Thu, 30 Oct 2025 17:02:56 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.21] symbols: avoid emitting "end" symbols for data
 items
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <6fdfd369-6c1e-48a5-8189-4999d566788a@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <6fdfd369-6c1e-48a5-8189-4999d566788a@suse.com>

This is a multi-part message in MIME format.
--------------fLVn3BV11kTRyC7YX7U5XosF
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit


On 10/29/25 2:34 PM, Jan Beulich wrote:
> symbols-dummy.c and the generated .xen-syms.?.S may place their symbols in
> different sections: Like for all C files, -fdata-sections may be in effect
> there. As a result, besides moving these symbols may then also have
> different amounts of "end" symbols inserted between them. While the
> movement is likely not problematic, the change in table size is - linking
> passes 2 and 3 want no address (and hence no size) changes between them.
>
> As, at least right now, the "end" symbols are useful only for code, limit
> their emission accordingly. When data symbols are emitted (i.e. when
> LIVEPATCH=y), this obviously also has a positive effect on overall table
> size (I'm seeing almost 600 entries going away in the build I'm looking
> at).
>
> Fixes: d3b637fba31b ("symbols: arrange to know where functions end")
> Reported-by: Roger Pau MonnÃ©<roger.pau@citrix.com>
> Signed-off-by: Jan Beulich<jbeulich@suse.com>

Release-Acked-By: Oleksii Kurochko<oleksii.kurochko@gmail.com>

Thanks.

~ Oleskii


> ---
> Furthermore at least some gcc versions emit the (read-only) data there into
> .bss.symbols_* rather than the expected (but still potentially problematic)
> .rodata.symbols_*.
>
> --- a/xen/tools/symbols.c
> +++ b/xen/tools/symbols.c
> @@ -176,10 +176,9 @@ static int read_symbol(FILE *in, struct
>   		*sym++ = '#';
>   	}
>   	strcpy(sym, str);
> -	if (sort_by_name || map_only) {
> +	if (sort_by_name || map_only)
>   		s->orig_symbol = strdup(SYMBOL_NAME(s));
> -		s->type = stype; /* As s->sym[0] ends mangled. */
> -	}
> +	s->type = stype; /* As s->sym[0] may end up mangled. */
>   	s->sym[0] = stype;
>   	s->typed = strcmp(type, "FUNC") == 0 ||
>   	           strcmp(type, "OBJECT") == 0 ||
> @@ -313,6 +312,7 @@ static int compare_name_orig(const void
>   static bool want_symbol_end(unsigned int idx)
>   {
>   	return table[idx].size &&
> +	       toupper(table[idx].type) == 'T' &&
>   	       (idx + 1 == table_cnt ||
>   	        table[idx].addr + table[idx].size < table[idx + 1].addr);
>   }
--------------fLVn3BV11kTRyC7YX7U5XosF
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 10/29/25 2:34 PM, Jan Beulich wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:6fdfd369-6c1e-48a5-8189-4999d566788a@suse.com">
      <pre wrap="" class="moz-quote-pre">symbols-dummy.c and the generated .xen-syms.?.S may place their symbols in
different sections: Like for all C files, -fdata-sections may be in effect
there. As a result, besides moving these symbols may then also have
different amounts of "end" symbols inserted between them. While the
movement is likely not problematic, the change in table size is - linking
passes 2 and 3 want no address (and hence no size) changes between them.

As, at least right now, the "end" symbols are useful only for code, limit
their emission accordingly. When data symbols are emitted (i.e. when
LIVEPATCH=y), this obviously also has a positive effect on overall table
size (I'm seeing almost 600 entries going away in the build I'm looking
at).

Fixes: d3b637fba31b ("symbols: arrange to know where functions end")
Reported-by: Roger Pau MonnÃ© <a class="moz-txt-link-rfc2396E" href="mailto:roger.pau@citrix.com">&lt;roger.pau@citrix.com&gt;</a>
Signed-off-by: Jan Beulich <a class="moz-txt-link-rfc2396E" href="mailto:jbeulich@suse.com">&lt;jbeulich@suse.com&gt;</a></pre>
    </blockquote>
    <pre>Release-Acked-By: Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a></pre>
    <pre>
Thanks.

~ Oleskii</pre>
    <br>
    <blockquote type="cite"
      cite="mid:6fdfd369-6c1e-48a5-8189-4999d566788a@suse.com">
      <pre wrap="" class="moz-quote-pre">
---
Furthermore at least some gcc versions emit the (read-only) data there into
.bss.symbols_* rather than the expected (but still potentially problematic)
.rodata.symbols_*.

--- a/xen/tools/symbols.c
+++ b/xen/tools/symbols.c
@@ -176,10 +176,9 @@ static int read_symbol(FILE *in, struct
 		*sym++ = '#';
 	}
 	strcpy(sym, str);
-	if (sort_by_name || map_only) {
+	if (sort_by_name || map_only)
 		s-&gt;orig_symbol = strdup(SYMBOL_NAME(s));
-		s-&gt;type = stype; /* As s-&gt;sym[0] ends mangled. */
-	}
+	s-&gt;type = stype; /* As s-&gt;sym[0] may end up mangled. */
 	s-&gt;sym[0] = stype;
 	s-&gt;typed = strcmp(type, "FUNC") == 0 ||
 	           strcmp(type, "OBJECT") == 0 ||
@@ -313,6 +312,7 @@ static int compare_name_orig(const void
 static bool want_symbol_end(unsigned int idx)
 {
 	return table[idx].size &amp;&amp;
+	       toupper(table[idx].type) == 'T' &amp;&amp;
 	       (idx + 1 == table_cnt ||
 	        table[idx].addr + table[idx].size &lt; table[idx + 1].addr);
 }
</pre>
    </blockquote>
  </body>
</html>

--------------fLVn3BV11kTRyC7YX7U5XosF--


From xen-devel-bounces@lists.xenproject.org Thu Oct 30 16:35:09 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Oct 2025 16:35:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153869.1484122 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEVc0-0006EX-77; Thu, 30 Oct 2025 16:34:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153869.1484122; Thu, 30 Oct 2025 16:34:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEVc0-0006EQ-4V; Thu, 30 Oct 2025 16:34:56 +0000
Received: by outflank-mailman (input) for mailman id 1153869;
 Thu, 30 Oct 2025 16:34:55 +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
 <SRS0=FvnV=5H=linux.ibm.com=agordeev@srs-se1.protection.inumbo.net>)
 id 1vEVby-0006EK-Uc
 for xen-devel@lists.xenproject.org; Thu, 30 Oct 2025 16:34:54 +0000
Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com
 [148.163.156.1]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 59136e6c-b5ae-11f0-980a-7dc792cee155;
 Thu, 30 Oct 2025 17:34:48 +0100 (CET)
Received: from pps.filterd (m0356517.ppops.net [127.0.0.1])
 by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 59UDJBKn025673;
 Thu, 30 Oct 2025 16:34:06 GMT
Received: from pps.reinject (localhost [127.0.0.1])
 by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4a34afhj8k-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Thu, 30 Oct 2025 16:34:06 +0000 (GMT)
Received: from m0356517.ppops.net (m0356517.ppops.net [127.0.0.1])
 by pps.reinject (8.18.1.12/8.18.0.8) with ESMTP id 59UGNfcW026454;
 Thu, 30 Oct 2025 16:34:05 GMT
Received: from ppma22.wdc07v.mail.ibm.com
 (5c.69.3da9.ip4.static.sl-reverse.com [169.61.105.92])
 by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4a34afhj8g-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Thu, 30 Oct 2025 16:34:05 +0000 (GMT)
Received: from pps.filterd (ppma22.wdc07v.mail.ibm.com [127.0.0.1])
 by ppma22.wdc07v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 59UGGqRH023873;
 Thu, 30 Oct 2025 16:34:04 GMT
Received: from smtprelay01.fra02v.mail.ibm.com ([9.218.2.227])
 by ppma22.wdc07v.mail.ibm.com (PPS) with ESMTPS id 4a33vx9rqq-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Thu, 30 Oct 2025 16:34:04 +0000
Received: from smtpav05.fra02v.mail.ibm.com (smtpav05.fra02v.mail.ibm.com
 [10.20.54.104])
 by smtprelay01.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id
 59UGY24U58196474
 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Thu, 30 Oct 2025 16:34:02 GMT
Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1])
 by IMSVA (Postfix) with ESMTP id 510842004B;
 Thu, 30 Oct 2025 16:34:02 +0000 (GMT)
Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1])
 by IMSVA (Postfix) with ESMTP id 9ABBB20043;
 Thu, 30 Oct 2025 16:34:01 +0000 (GMT)
Received: from li-008a6a4c-3549-11b2-a85c-c5cc2836eea2.ibm.com (unknown
 [9.155.204.135])
 by smtpav05.fra02v.mail.ibm.com (Postfix) with ESMTPS;
 Thu, 30 Oct 2025 16:34:01 +0000 (GMT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 59136e6c-b5ae-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc
	:content-type:date:from:in-reply-to:message-id:mime-version
	:references:subject:to; s=pp1; bh=q8xDSEzqv0eO+i7RNgUG5zHxJFTihD
	qYuVwJgL1tFaw=; b=Br1VD/7YTed3oUT2iUZzltz2mPXnVAxgbDNLxlg7erZO0Q
	ndcdnpWoXHoUFilySRRpGIi+3NdaYZvtdrCuNelAEGAtrGqT/WKWkRG0++hqoaLl
	U3DO7TF4/SHlyudz6Ux33YMvs4FeaMwoobkrdswr1iH3NTBoydfGcStuaVfZdbDE
	P4zDXX/kY8AqU9LgWKdjwtpl3Llgg9/j/U/Of4egne0bsg/u40oDkXOy3QPdZquQ
	y0CFgu0n6tzgnJiezISNhw7bNixMWitpOdspE2bn/qlvp7I9fj9I5uAhF0vbAX/g
	Yc4wda7lBmeChb4Nq2HY0X5WFh+YjgYS56JDSgYQ==
Date: Thu, 30 Oct 2025 17:34:00 +0100
From: Alexander Gordeev <agordeev@linux.ibm.com>
To: Kevin Brodsky <kevin.brodsky@arm.com>
Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org,
        Andreas Larsson <andreas@gaisler.com>,
        Andrew Morton <akpm@linux-foundation.org>,
        Boris Ostrovsky <boris.ostrovsky@oracle.com>,
        Borislav Petkov <bp@alien8.de>,
        Catalin Marinas <catalin.marinas@arm.com>,
        Christophe Leroy <christophe.leroy@csgroup.eu>,
        Dave Hansen <dave.hansen@linux.intel.com>,
        David Hildenbrand <david@redhat.com>,
        "David S. Miller" <davem@davemloft.net>,
        David Woodhouse <dwmw2@infradead.org>,
        "H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@redhat.com>,
        Jann Horn <jannh@google.com>, Juergen Gross <jgross@suse.com>,
        "Liam R. Howlett" <Liam.Howlett@oracle.com>,
        Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
        Madhavan Srinivasan <maddy@linux.ibm.com>,
        Michael Ellerman <mpe@ellerman.id.au>, Michal Hocko <mhocko@suse.com>,
        Mike Rapoport <rppt@kernel.org>, Nicholas Piggin <npiggin@gmail.com>,
        Peter Zijlstra <peterz@infradead.org>,
        Ryan Roberts <ryan.roberts@arm.com>,
        Suren Baghdasaryan <surenb@google.com>,
        Thomas Gleixner <tglx@linutronix.de>, Vlastimil Babka <vbabka@suse.cz>,
        Will Deacon <will@kernel.org>, Yeoreum Yun <yeoreum.yun@arm.com>,
        linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org,
        sparclinux@vger.kernel.org, xen-devel@lists.xenproject.org,
        x86@kernel.org
Subject: Re: [PATCH v4 07/12] mm: enable lazy_mmu sections to nest
Message-ID: <46d9bb24-1603-4c75-8723-84a821b3c46c-agordeev@linux.ibm.com>
References: <20251029100909.3381140-1-kevin.brodsky@arm.com>
 <20251029100909.3381140-8-kevin.brodsky@arm.com>
 <ef0cd4bc-1a37-4755-8957-d8a7e5c4564e-agordeev@linux.ibm.com>
 <d0767b70-5686-4f6e-8ca4-10b3f3ff3991@arm.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <d0767b70-5686-4f6e-8ca4-10b3f3ff3991@arm.com>
X-TM-AS-GCONF: 00
X-Proofpoint-GUID: 9WxMyXTitAyuhGu3vYNyzE5CUF2jkm71
X-Authority-Analysis: v=2.4 cv=WPhyn3sR c=1 sm=1 tr=0 ts=6903937e cx=c_pps
 a=5BHTudwdYE3Te8bg5FgnPg==:117 a=5BHTudwdYE3Te8bg5FgnPg==:17
 a=kj9zAlcOel0A:10 a=x6icFKpwvdMA:10 a=VkNPw1HP01LnGYTKEx00:22
 a=I6XwYfBBfidvHYRsdD8A:9 a=CjuIK1q_8ugA:10 a=DXsff8QfwkrTrK3sU8N1:22
 a=Z5ABNNGmrOfJ6cZ5bIyy:22 a=bWyr8ysk75zN3GCy5bjg:22
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMDI4MDE2NiBTYWx0ZWRfX7zpOZgRsm3FF
 8AnOBLOsvxptlWohzuosbbLPCFjAwF3xq2alPUZgZex8RCwqzG9eoZNV4NIOfsWBFJyYD+ygoAE
 rnoEx4aGNakZqeQ2SGwR0YJxSMuQm2OcteBULwoWnfyU/cMHNt88ZmCD4rU2jE3gxNJmWV7x33E
 oHSSsHXc4rB3cfyO0+d5kIH2YG18f2CCBQDyLSWgcAzaycIeZ5ROXf5OKaBsuvDDXGa4alxNW1z
 RdE+6Uxgxxzst1nDzVaufGD9/ZfHUthevkdMD9SntX+m955wZ+COJtAyQIs64arQ+vraDde5COT
 gqRLVlcqhoG5cbLpwOoCe3250RDdwFTHwZZLlnTZaB4WOK93liI9EHtPlX5NXI4lD6dhjalTaMQ
 w9GXLDeLcNNdyMoMeG4ROtBVzLwnYQ==
X-Proofpoint-ORIG-GUID: 98PgicvhjO7U-L0VCM0jVX32GpXzOiLG
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49
 definitions=2025-10-30_05,2025-10-29_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0
 phishscore=0 adultscore=0 malwarescore=0 suspectscore=0 spamscore=0
 impostorscore=0 lowpriorityscore=0 clxscore=1015 bulkscore=0
 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc=
 route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2510240000
 definitions=main-2510280166

On Thu, Oct 30, 2025 at 11:28:53AM +0100, Kevin Brodsky wrote:
> On 29/10/2025 17:41, Alexander Gordeev wrote:
> > On Wed, Oct 29, 2025 at 10:09:04AM +0000, Kevin Brodsky wrote:
> >
> > Hi Kevin,
> >
> >> +#ifdef CONFIG_ARCH_HAS_LAZY_MMU_MODE
> >> +static inline bool in_lazy_mmu_mode(void)
> >> +{
> >> +	return current->lazy_mmu_state.active;
> > Whether (nesting_level > 0) is more correct check?
> > Otherwise, it returns false while in paused mode.
> 
> That's exactly the intention. Lazy MMU is disabled while paused. The
> users of that helper want to know if lazy MMU is currently enabled (to
> decide whether to batch updates for instance); whether this is because
> we are paused or not in any lazy_mmu section (nesting_level == 0) makes
> no difference.
> 
> > May be check both nesting_level and active and also introduce
> > in_lazy_mmu_paused_mode() right away to avoid any confusion?
> 
> Can you think of any situation where a caller would specifically want to
> know that lazy MMU is paused?

I thought I do, but in_lazy_mmu_mode() alone works just fine,
as you described (at least for now).

> - Kevin

Thanks!


From xen-devel-bounces@lists.xenproject.org Thu Oct 30 17:44:04 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Oct 2025 17:44:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153898.1484132 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEWgh-0007RT-0A; Thu, 30 Oct 2025 17:43:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153898.1484132; Thu, 30 Oct 2025 17:43:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEWgg-0007RM-Tl; Thu, 30 Oct 2025 17:43:50 +0000
Received: by outflank-mailman (input) for mailman id 1153898;
 Thu, 30 Oct 2025 17:43:50 +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
 <SRS0=lE71=5H=bounce.vates.tech=bounce-md_30504962.6903a3d1.v1-187a43d2bf3c47e690d129f2def4c201@srs-se1.protection.inumbo.net>)
 id 1vEWgg-0007RG-DS
 for xen-devel@lists.xenproject.org; Thu, 30 Oct 2025 17:43:50 +0000
Received: from mail132-29.atl131.mandrillapp.com
 (mail132-29.atl131.mandrillapp.com [198.2.132.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fc41f853-b5b7-11f0-9d16-b5c5bf9af7f9;
 Thu, 30 Oct 2025 18:43:47 +0100 (CET)
Received: from pmta09.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail132-29.atl131.mandrillapp.com (Mailchimp) with ESMTP id
 4cyBL94t8cz7lmCkC
 for <xen-devel@lists.xenproject.org>; Thu, 30 Oct 2025 17:43:45 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 187a43d2bf3c47e690d129f2def4c201; Thu, 30 Oct 2025 17:43:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fc41f853-b5b7-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1761846225; x=1762116225;
	bh=cmG43eSdj//4sTwFfBTqyQmKleNXI2L5YH1aU7NWq+8=;
	h=From:Subject:Message-Id:To:Feedback-ID:Date:MIME-Version:
	 Content-Type:Content-Transfer-Encoding:CC:Date:Subject:From;
	b=RM1fk+zPjGphBfrYgGZiqPa7/jZ5/HqL94POSFXC1FAtvW1qthYFwUbwELuPDtxss
	 /w5dyGYChEbUEHS7ImnZFJ9B8E0zT7jk+T0+KExq4Noovz8tr6uEVSKzxMzjsYXbhh
	 kFD6N4hi3qc+8GOOgIbwcejVzruXPBZ1dMxMSMRAZxJAt3dCDXDFjItGWwovKbT5Jy
	 +mD5D38+OdIIzivuSSUu04pha3kO/kFNfdXHJLRo/tmoh0wk1XXeLQJ4oJdcynXYnG
	 tmU1NE+T5m/A2ksOb+1vaIFTmm8wqvONweVfYi13N/9AMOVEpGk/lrkcvKj9JWaHmg
	 yS+R+ujce9RSQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1761846225; x=1762106725; i=teddy.astie@vates.tech;
	bh=cmG43eSdj//4sTwFfBTqyQmKleNXI2L5YH1aU7NWq+8=;
	h=From:Subject:Message-Id:To:Feedback-ID:Date:MIME-Version:
	 Content-Type:Content-Transfer-Encoding:CC:Date:Subject:From;
	b=mn52DhgQBB2ulqVUlf9ox9K7iKeyMXl4n/AUYEHUl2RqffhlpdtZnmhBNayjTT2hl
	 evmnol+XHxSGGK1eZt6txujIiBJklFXbY9q6p8f8j1U8moRcFO6AR8UyTqBBbrDggz
	 gGgK6eqbdV2Q9nH2kV2oZrsJ3cJB3LJ5k4rQTRGErxWpFefXvGeCA5GWcqjZKtcZgk
	 qe4GQTJQEI4/YZLBk3mCDnvdB0wEdadEcXZ2sVNsuuSxvsY8giSiASalJsuhqkLhKM
	 vhLfFWpxf+cYVQnkwx5y5MfRhr1j0o++l5TbZ9Kk8VRlloRDSc4tNAypWKTOu9PEyY
	 WLT0b1+pOOK5Q==
From: "Teddy Astie" <teddy.astie@vates.tech>
Subject: =?utf-8?Q?[RFC]=20x86:=20Alternative=20AP=20bringup=20protocol=20(i.e=20SMP=20on=20SEV-ES)?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1761846224873
Message-Id: <c68013da-dde4-4073-9031-67b9a1fd87f0@vates.tech>
To: Xen-devel <xen-devel@lists.xenproject.org>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.187a43d2bf3c47e690d129f2def4c201?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20251030:md
Date: Thu, 30 Oct 2025 17:43:45 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

Hello,

In order to implement SMP support in SEV-ES, things quickly gets quite 
complicated.

As a PVH guest under Xen, we have 2 ways of initializing a vCPU (aside 
BSP) :
- VCPUOP_initialise
- INIT-SIPI with vLAPIC

The first one is a hypercall that takes vcpu_hvm_context where provide 
some initial state for the vCPU. The second one works by initializing 
the vCPU at some cs.

This works, but for instance under SEV-ES (*), the vCPUs state (VMSA) 
must be measured then stays encrypted, which means that we can't set the 
vCPU state once the VM is started; which prevent both of the methods to 
work.

IOW, all vCPUs state must be known before the guest actually starts 
running (and ideally be defined as a part of boot ABI in order to be 
able to reconstruct the VMSA for remote attestation).

GHCB specification provide a way to deal with it ([1] SEV-ES GHCB 
standardization 4.3 SMP Booting).
It is mostly based on a "AP Jump Table" address that can be queried (and 
also modified by inside-guest UEFI firmware) by the guest through a GHCB 
operation to the hypervisor.
This AP Jump Table is the address of a IP:CS combination that will be 
used to initialize the vCPU (e.g as a part of a long jump instruction 
that the vCPU is initially pointing to).

But it's UEFI firmware centric, and is still relies on 
hypervisor-specific behaviors. And it relies on the hypervisor to give a 
proper "AP Jump Table" addresses (originally given by guest UEFI 
firmware) which could be tampered (defeating some of the security 
aspects of SEV-ES).
Another issue is that the CPU initially starts in real mode, which 
complicates the placement of such AP Jump Table.

Here is a idea on a alternative functionally similar to SEV-ES 
specification but more flexible and somewhat simpler to implement :

Introduce a new special page "Alternative AP bring-up page" which 
contains some header (similar to vcpu_hvm_x86_64) and some vcpu 
initialization logic that sets up some control registers, EFER, GPR, 
..., and then long jump to some guest-provided CS:EIP.

All !BSP vCPUs start at the entry point with a CPU state similar to the 
one defined in direct boot ABI, all vCPUs are initially stopped.

In order to initialize a vCPU :
- sets a appropriate vCPU state in bring-up page
- calls VCPUOP_up on this vCPU
- wait for vCPU initialization termination

This is similar to the one proposed in GHCB specification with some 
differences :
- vCPU starts in protected mode (instead of real mode), which avoids 
some of the AP Jump Table placement restrictions, as we now can put our 
spacial page along the other ones (xenstore, pv console, ...)
- we avoid potentially complicated initialization trampoline chains
- we can start the vCPU directly in long mode (from guest PoV) if 
appropriate EFER and control registers values are provided

And the "AP Jump Table" protocol can still be implemented on top of this 
proposal, given that the guest UEFI firmware supports it.

Given that this expands some aspects of the "direct boot ABI", I would 
like to gather some feedback on the idea.

Thanks

[1] 
https://www.amd.com/content/dam/amd/en/documents/epyc-technical-docs/specifications/56421.pdf

* regarding SEV-SNP, a different (simpler) method for vCPU 
initialization is supported as the guest can directly provide a usable 
VMSA with the entire encrypted state of the vCPU through


--
Teddy Astie | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech



From xen-devel-bounces@lists.xenproject.org Thu Oct 30 18:33:44 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Oct 2025 18:33:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153912.1484141 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEXSt-0005pJ-IS; Thu, 30 Oct 2025 18:33:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153912.1484141; Thu, 30 Oct 2025 18:33:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEXSt-0005pC-Fr; Thu, 30 Oct 2025 18:33:39 +0000
Received: by outflank-mailman (input) for mailman id 1153912;
 Thu, 30 Oct 2025 18:33: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
 <SRS0=Us3E=5H=unpredictable.fr=mohamed@srs-se1.protection.inumbo.net>)
 id 1vEXSs-0005p6-Eu
 for xen-devel@lists.xenproject.org; Thu, 30 Oct 2025 18:33:38 +0000
Received: from outbound.qs.icloud.com
 (p-east3-cluster1-host9-snip4-10.eps.apple.com [57.103.87.93])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id eb0d144b-b5be-11f0-9d16-b5c5bf9af7f9;
 Thu, 30 Oct 2025 19:33:24 +0100 (CET)
Received: from outbound.qs.icloud.com (unknown [127.0.0.2])
 by p00-icloudmta-asmtp-us-east-2d-60-percent-7 (Postfix) with ESMTPS id
 93E5A1800215; Thu, 30 Oct 2025 18:33:21 +0000 (UTC)
Received: from smtpclient.apple (unknown [17.57.155.37])
 by p00-icloudmta-asmtp-us-east-2d-60-percent-7 (Postfix) with ESMTPSA id
 BC8CE1800244; Thu, 30 Oct 2025 18:33:16 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eb0d144b-b5be-11f0-9d16-b5c5bf9af7f9
Dkim-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=unpredictable.fr; s=sig1; bh=P4GlRS1Rnm2E407hmmpq3vBMV/UNrXgmFB3bhfYU8XY=; h=Content-Type:Mime-Version:Subject:From:Date:Message-Id:To:x-icloud-hme; b=NPFKCpptRTww7Y0f2A5/DW66xLABHlTZStDWO9FLQVNiIySpkuorI/UL2pAz75nVo54UGjj+kZAVjDh0qRwnUmHO4prMh0/SrKxfE7dSgM2prRivSpUeTVpX5cwUeiWDjuqTZ1+SU9XEla72IScIE0cF0hWe8XGavO3oNfgURqMhoUFTo4Dm5N7pk15F/1ozQ7vZju2IUBEtBVrYEax/MdSpROLbJF2NKXkzj0gbsTlxKuRqfBORLfIKqDM7rx109RECawJmRVxSCqHn0d/ijvYlsFLkKfPjcfsqTZ9GYrdXPfTHHarmlcK/C/LjEHtTgq6iJCt3UrGbK0zXv1hEaA==
mail-alias-created-date: 1752046281608
Content-Type: text/plain;
	charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3864.100.1.1.5\))
Subject: Re: Limitations for Running Xen on KVM Arm64
From: Mohamed Mediouni <mohamed@unpredictable.fr>
In-Reply-To: <KL1PR0601MB45885505ECBBE9262C2B25E0E6FBA@KL1PR0601MB4588.apcprd06.prod.outlook.com>
Date: Thu, 30 Oct 2025 19:33:04 +0100
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "julien@xen.org" <julien@xen.org>,
 "Volodymyr_Babchuk@epam.com" <Volodymyr_Babchuk@epam.com>
Content-Transfer-Encoding: quoted-printable
Message-Id: <FC5C66FD-8554-4F46-8546-B27DE76C8EEF@unpredictable.fr>
References: <KL1PR0601MB4588D25A95D680640A80F2CAE6FBA@KL1PR0601MB4588.apcprd06.prod.outlook.com>
 <KL1PR0601MB45885505ECBBE9262C2B25E0E6FBA@KL1PR0601MB4588.apcprd06.prod.outlook.com>
To: haseeb.ashraf@siemens.com
X-Mailer: Apple Mail (2.3864.100.1.1.5)
X-Proofpoint-GUID: cJLmzDoEn0jP4NOWpC6hkNZAVJBMDjKO
X-Proofpoint-ORIG-GUID: cJLmzDoEn0jP4NOWpC6hkNZAVJBMDjKO
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMDMwMDE1NSBTYWx0ZWRfX2nPkhAbRgmio
 N1CXuu+uJlLYTR+t3SjLxSXi/Nu1timyghngj+YUlFjwBHk918Dgtfx4wan2WG7lSh/S/P1INmp
 aCZNSbiFFt/G7av9R4TgTYfF03/hqy/R/+A6wIby5rFElwuqi8c70bmPmmRP8PAGYzOs7RzmS3r
 QrbuZyUpbgQqN07uipuaoqtlr7kUgcz0rGR6TBWdmdud1V5U6qqSQ6nuZICSgkBxex7CVJ4S/7H
 59IKDoOiqhzYz4dSFNnJ4sXncGjGWmN4Byz/n7V0Aeju0UTQPfXDcgV4wqWrcglkWaxq5QQhs=
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49
 definitions=2025-10-30_06,2025-10-29_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0
 spamscore=0 suspectscore=0 malwarescore=0 phishscore=0 mlxlogscore=996
 bulkscore=0 clxscore=1030 mlxscore=0 classifier=spam adjust=0 reason=mlx
 scancount=1 engine=8.22.0-2506270000 definitions=main-2510300155
X-JNJ: AAAAAAAB35YTO1WDteZQ+P9mYkaLaCtnqHi3PDgevocWTD45rv3ZSLopx9DWZBSc624yb1qTfacBSN3zTaVJSQn1+3d1rl/HWljwMNleHgXud/3YsofvLvyYL48ThYu/ncQw70vMMhHGeVpvBIDxxmt5gcs2xvtyaM3cVMUF6pOBaFQhVl2jUHehLAletjv4QZBtEvY9EE9fCoQJGQZexsr+i8/NEnDvZiaVYcU9FjyWyqMXBIPRJiw88YLvDKuGzoznGd28V35myaw6awT8enZuitm2Q5Xlvt8QVgx4Iq565Mn7BMywX0t/uagzymMHAia5h4Hmy3GBOp192mwQIJrB5Lk1YxaMYSIsB/QhCw/hgICKuhkyI6t/azCEAtuirCwlwCyjLGxZnbsVTvh3QAk0yrb6ZrKnyqRL8XDlkUN8KI6tTTVZmH8wYdNGyjCXUarTR4QM6qLGcSvg751ntra4Fv9iSqkPA08lek0rduAWxD+SU+zVBSdiYyj5UWKO4B/o3G3gNU57fy27JHo5w2Z7zbPoppDTu2EyPv26MIL0tzJdDqtHMnbHcPcaestFQldnVCwT+tz9SaKXiZri1143qJnLcMbMGvbItPePSFvME8Hy6dDiSoUcu7UGuhuh4g==



> On 30. Oct 2025, at 14:41, haseeb.ashraf@siemens.com wrote:
>=20
> Adding @julien@xen.org and replying to his questions he asked over =
#XenDevel:matrix.org.
>=20
> can you add some details why the implementation cannot be optimized in =
KVM? Asking because I have never seen such issue when running Xen on =
QEMU (without nested virt enabled).
> AFAIK when Xen is run on QEMU without virtualization, then =
instructions are emulated in QEMU while with KVM, ideally the =
instruction should run directly on hardware except in some special cases =
(those trapped by FGT/CGT). Such as this one where KVM maintains shadow =
page tables for each VM. It traps these instructions and emulates them =
with callback such as handle_vmalls12e1is(). The way this callback is =
implemented, it has to iterate over the whole address space and clean-up =
the page tables which is a costly operation. Regardless of this, it =
should still be optimized in Xen as invalidating a selective range would =
be much better than invalidating a whole range of 48-bit address space.
> Some details about your platform and use case would be helpful. I am =
interested to know whether you are using all the features for nested =
virt.
> I am using AWS G4. My use case is to run Xen as guest hypervisor. Yes, =
most of the features are enabled except VHE or those which are disabled =
by KVM.


Hello,

You mean Graviton4 (for reference to others, from a bare metal =
instance)? Interesting to see people caring about nested virt there :) - =
and hopefully using it wasn=E2=80=99t too much of a pain for you to deal =
with.

>=20
> ; switch to current VMID
> tlbi rvae1, guest_vaddr ; first invalidate stage-1 TLB by guest VA for =
current VMID
> tlbi ripas2e1, guest_paddr ; then invalidate stage-2 TLB by IPA range =
for current VMID
> dsb ish
> isb
> ; switch back the VMID
>     =E2=80=A2 This is where I am not quite sure and I was hoping that =
if someone with Arm expertise could sign off on this so that I can work =
on its implementation in Xen. This will be an optimization not only for =
virtualized hardware but also in general for Xen on arm64 machines.
>=20

Note that the documentation says

> The invalidation is not required to apply to caching structures that =
combine stage 1 and stage 2 translation table entries.

for TLBIP RIPAS2E1
>     =E2=80=A2 The second place in Xen where this is problematic is =
when multiple vCPUs of the same domain juggle on single pCPU, TLBs are =
invalidated everytime a different vCPU runs on a pCPU. I do not know how =
this can be optimized. Any support on this is appreciated.


One way to handle this is every invalidate within the VM a broadcast TLB =
invalidate (HCR_EL2.FB is what you=E2=80=99re looking for) and then =
forego that TLB maintenance as it=E2=80=99s no longer necessary. This =
should not have a practical performance impact.

Thank you,
-Mohamed
>=20
>=20
> diff --git a/xen/arch/arm/mmu/p2m.c b/xen/arch/arm/mmu/p2m.c
> index 7642dbc7c5..e96ff92314 100644
> --- a/xen/arch/arm/mmu/p2m.c
> +++ b/xen/arch/arm/mmu/p2m.c
> @@ -247,7 +247,7 @@ void p2m_restore_state(struct vcpu *n)
>       * when running multiple vCPU of the same domain on a single =
pCPU.
>       */
>      if ( *last_vcpu_ran !=3D INVALID_VCPU_ID && *last_vcpu_ran !=3D =
n->vcpu_id )
> -        flush_guest_tlb_local();
> +        ; // flush_guest_tlb_local();
>       *last_vcpu_ran =3D n->vcpu_id;
>  }=20
>=20
> Thanks & Regards,
> Haseeb Ashraf




From xen-devel-bounces@lists.xenproject.org Thu Oct 30 23:55:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Oct 2025 23:55:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153979.1484152 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEcUH-0003TN-6J; Thu, 30 Oct 2025 23:55:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153979.1484152; Thu, 30 Oct 2025 23:55:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEcUH-0003TG-2M; Thu, 30 Oct 2025 23:55:25 +0000
Received: by outflank-mailman (input) for mailman id 1153979;
 Thu, 30 Oct 2025 23:55:23 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1vEcUF-0003T8-DH
 for xen-devel@lists.xenproject.org; Thu, 30 Oct 2025 23:55:23 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <julien@xen.org>) id 1vEcUD-009fbb-1F;
 Thu, 30 Oct 2025 23:55:21 +0000
Received: from [2a02:8012:3a1:0:91df:22e1:df64:1ce]
 by xenbits.xenproject.org with esmtpsa (TLS1.3) tls
 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96)
 (envelope-from <julien@xen.org>) id 1vEcUD-00G5ul-1H;
 Thu, 30 Oct 2025 23:55:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=+H9TloTpuO+4W0z1kfiykk4dwSxPpmZYsYXVlIwpCko=; b=ZGc17raGNvtHJ8aWnR5+erjO/8
	xHVYRdaCOaBl74xK1nfbmQ3spjECWfh+VIw0zkRsxN/e8yRt+p5+jVVAyUO1Pc1LKrL8HLSa8Cr8v
	Kw6VT/vgA8U+FeK870SxGNRcQfCLwIxpmUGkEYtFDBp+GtM9cy9+12c8AHBDFsVBlyqI=;
Message-ID: <2b00a98f-6fee-4341-92bd-25909ebb6e36@xen.org>
Date: Thu, 30 Oct 2025 23:55:19 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Limitations for Running Xen on KVM Arm64
Content-Language: en-GB
To: Mohamed Mediouni <mohamed@unpredictable.fr>, haseeb.ashraf@siemens.com
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "Volodymyr_Babchuk@epam.com" <Volodymyr_Babchuk@epam.com>
References: <KL1PR0601MB4588D25A95D680640A80F2CAE6FBA@KL1PR0601MB4588.apcprd06.prod.outlook.com>
 <KL1PR0601MB45885505ECBBE9262C2B25E0E6FBA@KL1PR0601MB4588.apcprd06.prod.outlook.com>
 <FC5C66FD-8554-4F46-8546-B27DE76C8EEF@unpredictable.fr>
From: Julien Grall <julien@xen.org>
In-Reply-To: <FC5C66FD-8554-4F46-8546-B27DE76C8EEF@unpredictable.fr>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Mohamed,

On 30/10/2025 18:33, Mohamed Mediouni wrote:
> 
> 
>> On 30. Oct 2025, at 14:41, haseeb.ashraf@siemens.com wrote:
>>
>> Adding @julien@xen.org and replying to his questions he asked over #XenDevel:matrix.org.
>>
>> can you add some details why the implementation cannot be optimized in KVM? Asking because I have never seen such issue when running Xen on QEMU (without nested virt enabled).
>> AFAIK when Xen is run on QEMU without virtualization, then instructions are emulated in QEMU while with KVM, ideally the instruction should run directly on hardware except in some special cases (those trapped by FGT/CGT). Such as this one where KVM maintains shadow page tables for each VM. It traps these instructions and emulates them with callback such as handle_vmalls12e1is(). The way this callback is implemented, it has to iterate over the whole address space and clean-up the page tables which is a costly operation. Regardless of this, it should still be optimized in Xen as invalidating a selective range would be much better than invalidating a whole range of 48-bit address space.
>> Some details about your platform and use case would be helpful. I am interested to know whether you are using all the features for nested virt.
>> I am using AWS G4. My use case is to run Xen as guest hypervisor. Yes, most of the features are enabled except VHE or those which are disabled by KVM.
> 
> 
> Hello,
> 
> You mean Graviton4 (for reference to others, from a bare metal instance)? Interesting to see people caring about nested virt there :) - and hopefully using it wasnâ€™t too much of a pain for you to deal with.
> 
>>
>> ; switch to current VMID
>> tlbi rvae1, guest_vaddr ; first invalidate stage-1 TLB by guest VA for current VMID
>> tlbi ripas2e1, guest_paddr ; then invalidate stage-2 TLB by IPA range for current VMID
>> dsb ish
>> isb
>> ; switch back the VMID
>>      â€¢ This is where I am not quite sure and I was hoping that if someone with Arm expertise could sign off on this so that I can work on its implementation in Xen. This will be an optimization not only for virtualized hardware but also in general for Xen on arm64 machines.
>>
> 
> Note that the documentation says
> 
>> The invalidation is not required to apply to caching structures that combine stage 1 and stage 2 translation table entries.
> 
> for TLBIP RIPAS2E1
>>      â€¢ The second place in Xen where this is problematic is when multiple vCPUs of the same domain juggle on single pCPU, TLBs are invalidated everytime a different vCPU runs on a pCPU. I do not know how this can be optimized. Any support on this is appreciated.
> 
> 
> One way to handle this is every invalidate within the VM a broadcast TLB invalidate (HCR_EL2.FB is what youâ€™re looking for) and then forego that TLB maintenance as itâ€™s no longer necessary. This should not have a practical performance impact.

To confirm my understanding, you are suggesting to rely on the L2 guest 
to send the TLB flush. Did I understanding correctly? If so, wouldn't 
this open a security hole because a misbehaving guest may never send the 
TLB flush?

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Fri Oct 31 00:21:20 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 31 Oct 2025 00:21:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1153996.1484162 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEctH-0008Gs-AY; Fri, 31 Oct 2025 00:21:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1153996.1484162; Fri, 31 Oct 2025 00:21:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEctH-0008Gl-7G; Fri, 31 Oct 2025 00:21:15 +0000
Received: by outflank-mailman (input) for mailman id 1153996;
 Fri, 31 Oct 2025 00:21:13 +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
 <SRS0=Exqh=5I=unpredictable.fr=mohamed@srs-se1.protection.inumbo.net>)
 id 1vEctF-0008GZ-Dd
 for xen-devel@lists.xenproject.org; Fri, 31 Oct 2025 00:21:13 +0000
Received: from outbound.qs.icloud.com
 (p-east3-cluster6-host12-snip4-1.eps.apple.com [57.103.85.242])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7ac5b050-b5ef-11f0-980a-7dc792cee155;
 Fri, 31 Oct 2025 01:21:01 +0100 (CET)
Received: from outbound.qs.icloud.com (unknown [127.0.0.2])
 by p00-icloudmta-asmtp-us-east-2d-60-percent-7 (Postfix) with ESMTPS id
 7E44618001BC; Fri, 31 Oct 2025 00:20:58 +0000 (UTC)
Received: from smtpclient.apple (unknown [17.57.155.37])
 by p00-icloudmta-asmtp-us-east-2d-60-percent-7 (Postfix) with ESMTPSA id
 BFF0F180017B; Fri, 31 Oct 2025 00:20:56 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7ac5b050-b5ef-11f0-980a-7dc792cee155
Dkim-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=unpredictable.fr; s=sig1; bh=r8j8q6yKjr1MccMvwPK5wOcLYZFBc25u/xDfHxh9aWE=; h=Content-Type:Mime-Version:Subject:From:Date:Message-Id:To:x-icloud-hme; b=TRjzdFqVpiZcfgwLXM29LYISp+KMQi0sSGk+TmHpFR41iOSY7ap91SUuFHvhLTWTHtKR3ZXQ8e5i4QXnOu15biBPLqW7piYC13isc/AmQ8nPOkLPZsoOPSXEdJ88i1vbmZ65UI571k3xcuSTXOYb3IKMDCAMAIuPhC368KkNJNLRym/WYTle5LjFA0Cxsi/vy3Jk840AgosxzfONeqXUIDx91Uxy/wL/5j/G2Z0uckhMsnHLMyvhWf82LyN0Vp4NXbl4qgKo+J6HpuqdlTlUASqov47AF6+vn0HWAGcShehvXiSLgVMpx/Abw9l3akqpk39KKxbq5m/IxNcq2zxMDg==
mail-alias-created-date: 1752046281608
Content-Type: text/plain;
	charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3864.100.1.1.5\))
Subject: Re: Limitations for Running Xen on KVM Arm64
From: Mohamed Mediouni <mohamed@unpredictable.fr>
In-Reply-To: <2b00a98f-6fee-4341-92bd-25909ebb6e36@xen.org>
Date: Fri, 31 Oct 2025 01:20:42 +0100
Cc: haseeb.ashraf@siemens.com,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "Volodymyr_Babchuk@epam.com" <Volodymyr_Babchuk@epam.com>
Content-Transfer-Encoding: quoted-printable
Message-Id: <CA753BD2-31FA-480D-B32A-2125F0F4981D@unpredictable.fr>
References: <KL1PR0601MB4588D25A95D680640A80F2CAE6FBA@KL1PR0601MB4588.apcprd06.prod.outlook.com>
 <KL1PR0601MB45885505ECBBE9262C2B25E0E6FBA@KL1PR0601MB4588.apcprd06.prod.outlook.com>
 <FC5C66FD-8554-4F46-8546-B27DE76C8EEF@unpredictable.fr>
 <2b00a98f-6fee-4341-92bd-25909ebb6e36@xen.org>
To: Julien Grall <julien@xen.org>
X-Mailer: Apple Mail (2.3864.100.1.1.5)
X-Proofpoint-GUID: Trsk-Q7WTHduZxcpgxLolGdiQm0xmRCa
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMDMxMDAwMSBTYWx0ZWRfXyo88DJyc349g
 KkzRHzLRE89ySag7Z2bgqNMGR8x1KgDuqb7D6K5MYSS/foph9p3TdSUaPxTwN6EPP+Z95UbGKS4
 pPbW3K1SaoqNZPJuzPFSCF3v4Z1gWG7PJCdsxB1NYxNk2J6dKhlL4+xjNirn9WKAHg7MhyQz2/0
 Mit33V3mzyEtgsPqO8dg21htetnRExqx3h/mmj3pm9OKV8rBt8kJrib+LWABYiBRbMVqgFqZcPG
 uNl5j9325bMmRea1/606d/X1c7QmzKjcExnuu1qAbf0TjHfE9QyriGxZCcqWZmTqI266Ew3Nw=
X-Proofpoint-ORIG-GUID: Trsk-Q7WTHduZxcpgxLolGdiQm0xmRCa
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49
 definitions=2025-10-30_08,2025-10-29_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0
 mlxscore=0 spamscore=0 mlxlogscore=898 suspectscore=0 clxscore=1030
 bulkscore=0 phishscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx
 scancount=1 engine=8.22.0-2506270000 definitions=main-2510310001
X-JNJ: AAAAAAABEGjoec/Hc7uc4U/rMzQ8SMuycB/T9ENZ3ZqgqxJCGd6LEq2FNezjtKpOpOtFFZMfo0ItdXD3jLaOZOKo+/wfNpdwlMHnr3JTbDm6KwYrW8ikXqPR9lxt/8NboLD7XCsSjQvxsNBigFOQ2yUHWhwZrRpjlj7NBngBsDLaD0boD828OtOQ8OBqSr1b89vaZfbdOKMvXKEOueX5mxpA1LgnRz27CrF8x8XCJ7RBXL1kAJLZYr91iLIcKGHiXNgmeVcIQIpnp9Jl2qcMXmad4UQ5Ou5yjrAAE43x+WTgKlDhwrG31L/80evGRVyty9SVhgdOa2rFKOClPbgD+xQ0c/TwT4yW6iCSIlwJ5Lg+ZzyVSCMegNhYcnlDKISz11nH8nZ/qvRcMk6OJ7OG5WigPy+OutLp/t19JVzlQIhOOiHmQpHhUEP6MFRf3EYTpSPCgQJq7FRGqZtwWJqAYMtTZMx121HDAXXghOo2r1OWXXdR1KVZkMsNzH6zybgdmqM5rIVY2pnf3TSj1Mv/uZPYjFqY9s97jpyHWgFiBwVuzrWVQ7Hqixh4EKaiJFW0my37jdpt1qENQIVSHqJXy4aZ/tbIBoNDksBP5pvc9K3s3+WOBZvtIU1KT1vLw9nhiL+o6icL



> On 31. Oct 2025, at 00:55, Julien Grall <julien@xen.org> wrote:
>=20
> Hi Mohamed,
>=20
> On 30/10/2025 18:33, Mohamed Mediouni wrote:
>>> On 30. Oct 2025, at 14:41, haseeb.ashraf@siemens.com wrote:
>>>=20
>>> Adding @julien@xen.org and replying to his questions he asked over =
#XenDevel:matrix.org.
>>>=20
>>> can you add some details why the implementation cannot be optimized =
in KVM? Asking because I have never seen such issue when running Xen on =
QEMU (without nested virt enabled).
>>> AFAIK when Xen is run on QEMU without virtualization, then =
instructions are emulated in QEMU while with KVM, ideally the =
instruction should run directly on hardware except in some special cases =
(those trapped by FGT/CGT). Such as this one where KVM maintains shadow =
page tables for each VM. It traps these instructions and emulates them =
with callback such as handle_vmalls12e1is(). The way this callback is =
implemented, it has to iterate over the whole address space and clean-up =
the page tables which is a costly operation. Regardless of this, it =
should still be optimized in Xen as invalidating a selective range would =
be much better than invalidating a whole range of 48-bit address space.
>>> Some details about your platform and use case would be helpful. I am =
interested to know whether you are using all the features for nested =
virt.
>>> I am using AWS G4. My use case is to run Xen as guest hypervisor. =
Yes, most of the features are enabled except VHE or those which are =
disabled by KVM.
>> Hello,
>> You mean Graviton4 (for reference to others, from a bare metal =
instance)? Interesting to see people caring about nested virt there :) - =
and hopefully using it wasn=E2=80=99t too much of a pain for you to deal =
with.
>>>=20
>>> ; switch to current VMID
>>> tlbi rvae1, guest_vaddr ; first invalidate stage-1 TLB by guest VA =
for current VMID
>>> tlbi ripas2e1, guest_paddr ; then invalidate stage-2 TLB by IPA =
range for current VMID
>>> dsb ish
>>> isb
>>> ; switch back the VMID
>>>     =E2=80=A2 This is where I am not quite sure and I was hoping =
that if someone with Arm expertise could sign off on this so that I can =
work on its implementation in Xen. This will be an optimization not only =
for virtualized hardware but also in general for Xen on arm64 machines.
>>>=20
>> Note that the documentation says
>>> The invalidation is not required to apply to caching structures that =
combine stage 1 and stage 2 translation table entries.
>> for TLBIP RIPAS2E1
>>>     =E2=80=A2 The second place in Xen where this is problematic is =
when multiple vCPUs of the same domain juggle on single pCPU, TLBs are =
invalidated everytime a different vCPU runs on a pCPU. I do not know how =
this can be optimized. Any support on this is appreciated.
>> One way to handle this is every invalidate within the VM a broadcast =
TLB invalidate (HCR_EL2.FB is what you=E2=80=99re looking for) and then =
forego that TLB maintenance as it=E2=80=99s no longer necessary. This =
should not have a practical performance impact.
>=20
> To confirm my understanding, you are suggesting to rely on the L2 =
guest to send the TLB flush. Did I understanding correctly? If so, =
wouldn't this open a security hole because a misbehaving guest may never =
send the TLB flush?
>=20
Hello,

HCR_EL2.FB can be used to make every TLB invalidate the guest issues =
(which is a stage1 one) a broadcast TLB invalidate.

If a TLB invalidate wasn=E2=80=99t issued, then well the cached stage1 =
translations could have been out of date on the core the VM was running =
on in the first place.

If a core-local TLB invalidate was issued, this bit forces it to become =
a broadcast, so that you don=E2=80=99t have to worry about flushing TLBs =
when moving a vCPU between different pCPUs. KVM operates with this bit =
set.

As of the hypervisor, it=E2=80=99s responsible to issue the appropriate =
TLB invalidates as necessary if it changes stage2 mappings. This =
includes a stage-2 TLB invalidate and further necessary maintenance if =
the CPU core does do combined TLB entries. Whether a CPU core does that =
can be queried through FEAT_nTLBPA.

On processors without FEAT_nTLBPA, it should be assumed that there are =
non-coherent caching structures within the TLB. And as such also do the =
corresponding stage-1 maintenance when invalidating stage2 entries.

Thank you,
-Mohamed
> Cheers,
>=20
> --=20
> Julien Grall
>=20



From xen-devel-bounces@lists.xenproject.org Fri Oct 31 00:38:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 31 Oct 2025 00:38:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1154006.1484171 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEdA0-0001tC-Mw; Fri, 31 Oct 2025 00:38:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1154006.1484171; Fri, 31 Oct 2025 00:38:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEdA0-0001t5-KH; Fri, 31 Oct 2025 00:38:32 +0000
Received: by outflank-mailman (input) for mailman id 1154006;
 Fri, 31 Oct 2025 00:38:31 +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
 <SRS0=Exqh=5I=unpredictable.fr=mohamed@srs-se1.protection.inumbo.net>)
 id 1vEd9z-0001sz-Gj
 for xen-devel@lists.xenproject.org; Fri, 31 Oct 2025 00:38:31 +0000
Received: from outbound.qs.icloud.com
 (p-east3-cluster6-host10-snip4-10.eps.apple.com [57.103.85.231])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e7591452-b5f1-11f0-980a-7dc792cee155;
 Fri, 31 Oct 2025 01:38:27 +0100 (CET)
Received: from outbound.qs.icloud.com (unknown [127.0.0.2])
 by p00-icloudmta-asmtp-us-east-2d-60-percent-2 (Postfix) with ESMTPS id
 EE4761800169; Fri, 31 Oct 2025 00:38:18 +0000 (UTC)
Received: from smtpclient.apple (unknown [17.57.155.37])
 by p00-icloudmta-asmtp-us-east-2d-60-percent-2 (Postfix) with ESMTPSA id
 E97C61800173; Fri, 31 Oct 2025 00:38:15 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e7591452-b5f1-11f0-980a-7dc792cee155
Dkim-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=unpredictable.fr; s=sig1; bh=eaa+B41zE8TEqHzTlmtWtV+61s1gr/tYfFLi2hE2hf0=; h=Content-Type:Mime-Version:Subject:From:Date:Message-Id:To:x-icloud-hme; b=Kxyff8dQ+ZlZKeZijNgsdOrNM8dAhtYyK/XMxsuJBfsftLQk7vMWkk8WUEGVlSguQEbFFs2TeEdghyydrJYIkyHx0BRiN5NbztQn9LRdYzv2jBJGblva3WlMypuQMTEa1w0Mj2GugZu3QMLZmU/8gnj6DmjkVuc+R+MyUy7kWSrk5f9xXXjUDDczfDcrQgMBe7Bj4NmQQRB1glYpepQbhTLjsoHdt0xoEV43btslgCTDKmPjv/7M7pRPtmVeN4oDmaG4LJSSzVaXY4HSh2ySydljN9RuWqCvZQqb+akLDeU6R0XLKv2bhfvbHeyaXeqOT4RmoQtefzviFhIhcqp6NA==
mail-alias-created-date: 1752046281608
Content-Type: text/plain;
	charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3864.100.1.1.5\))
Subject: Re: Limitations for Running Xen on KVM Arm64
From: Mohamed Mediouni <mohamed@unpredictable.fr>
In-Reply-To: <CA753BD2-31FA-480D-B32A-2125F0F4981D@unpredictable.fr>
Date: Fri, 31 Oct 2025 01:38:03 +0100
Cc: haseeb.ashraf@siemens.com,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "Volodymyr_Babchuk@epam.com" <Volodymyr_Babchuk@epam.com>
Content-Transfer-Encoding: quoted-printable
Message-Id: <ED3B7E1C-A0DA-4BA6-B1FD-CCA517D05971@unpredictable.fr>
References: <KL1PR0601MB4588D25A95D680640A80F2CAE6FBA@KL1PR0601MB4588.apcprd06.prod.outlook.com>
 <KL1PR0601MB45885505ECBBE9262C2B25E0E6FBA@KL1PR0601MB4588.apcprd06.prod.outlook.com>
 <FC5C66FD-8554-4F46-8546-B27DE76C8EEF@unpredictable.fr>
 <2b00a98f-6fee-4341-92bd-25909ebb6e36@xen.org>
 <CA753BD2-31FA-480D-B32A-2125F0F4981D@unpredictable.fr>
To: Julien Grall <julien@xen.org>
X-Mailer: Apple Mail (2.3864.100.1.1.5)
X-Proofpoint-GUID: qndifCGLjwUF7-VNXB0mDV6PvztcmzbN
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMDMxMDAwMiBTYWx0ZWRfXyKzkYRqG1W76
 9Og/MLXbmFXdDjo9ASRypvIJffm7EL9cDAjT8b5sfkEA7rqOcpneqV1o0NHbE9aAuxlkWpxh/jO
 yI5At60gHJMIrYicSAUOxyw9xtJJxsBomtrNQNB2jKtRpuYSxvhuAGOmGAUxdrwxyaa59rvuCFy
 /YopzkSaiIzfJjU6OxU4cqgWodHV8f0KbsYtpkI8ZPytasEstv6xJN4T9oKnm4PuCWXIUpZOYhw
 S9O8xc2nI+f6cdajfHYbKcQzoGBPObBbWKhSfxFQ0QPCiDSgV73GmmnlnCc22koNbIImjU6CI=
X-Proofpoint-ORIG-GUID: qndifCGLjwUF7-VNXB0mDV6PvztcmzbN
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49
 definitions=2025-10-30_08,2025-10-29_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0
 spamscore=0 mlxlogscore=723 suspectscore=0 bulkscore=0 adultscore=0
 mlxscore=0 malwarescore=0 clxscore=1030 classifier=spam adjust=0 reason=mlx
 scancount=1 engine=8.22.0-2506270000 definitions=main-2510310002
X-JNJ: AAAAAAABUnkx8CnzAAaWYV7GnHye1CBE0tSnNveSHoTWdyD6qVAydsSn0hqyYvbLRLUSNKnrOtweLjycJpZ5TAvjvtVHfaFSiiFz8tMEc9KbXK38NyL68Kc3Inx4QfMVWa40pM+HGRGMEPngtUf06cgn7jtpmZnjm47o4FCIiNeoNKiaaGLt1SBdLfIIxoPwJOJhP8LWPZUYvpMqwdPxvm6/JTh+nsXH/Sa766/B8Ky9xljCJyEkkUjsOKpCxccx1wX/irpDCOMKsp01rrQofk8aFXAVUWdNan8F5nF5TFGxDgVUtYIwceSX/669lbizf91KcZtDiXb0vKjWLLfCyy+isHyi7gGGaLOYMUT7efOmVBLyi6Vht5NzS1Z/BXx/fEN1LV7En+g0tX+SGlLDCjjIPnlTC8UTR1IC8dTWnh+rno/crzqsFJhrNTBi5bTaO79Xu1K2p0dKP4XuXMUg7GBaRCEgrsfxeIt2El7RL2QEygboYezyMS38SJk1YLn3z+AXLi+doVutYsGBxnpacIAEJvhIc1r2ai43NzjvErqKxfATxtFayzqTCyxMAPVpE78S6RTDo6bKGQ+BiFhYc1TEDR9PqL65JK4rpKokhZyRv72xKOCNonwDVhf+AME0ru30jRmFmP9fLDi2mLnubV4g7wlpanm62gEYEabllgXUrg==



> On 31. Oct 2025, at 01:20, Mohamed Mediouni <mohamed@unpredictable.fr> =
wrote:
>=20
>=20
>=20
>> On 31. Oct 2025, at 00:55, Julien Grall <julien@xen.org> wrote:
>>=20
>> Hi Mohamed,
>>=20
>> On 30/10/2025 18:33, Mohamed Mediouni wrote:
>>>> On 30. Oct 2025, at 14:41, haseeb.ashraf@siemens.com wrote:
>>>>=20
>>>> Adding @julien@xen.org and replying to his questions he asked over =
#XenDevel:matrix.org.
>>>>=20
>>>> can you add some details why the implementation cannot be optimized =
in KVM? Asking because I have never seen such issue when running Xen on =
QEMU (without nested virt enabled).
>>>> AFAIK when Xen is run on QEMU without virtualization, then =
instructions are emulated in QEMU while with KVM, ideally the =
instruction should run directly on hardware except in some special cases =
(those trapped by FGT/CGT). Such as this one where KVM maintains shadow =
page tables for each VM. It traps these instructions and emulates them =
with callback such as handle_vmalls12e1is(). The way this callback is =
implemented, it has to iterate over the whole address space and clean-up =
the page tables which is a costly operation. Regardless of this, it =
should still be optimized in Xen as invalidating a selective range would =
be much better than invalidating a whole range of 48-bit address space.
>>>> Some details about your platform and use case would be helpful. I =
am interested to know whether you are using all the features for nested =
virt.
>>>> I am using AWS G4. My use case is to run Xen as guest hypervisor. =
Yes, most of the features are enabled except VHE or those which are =
disabled by KVM.
>>> Hello,
>>> You mean Graviton4 (for reference to others, from a bare metal =
instance)? Interesting to see people caring about nested virt there :) - =
and hopefully using it wasn=E2=80=99t too much of a pain for you to deal =
with.
>>>>=20
>>>> ; switch to current VMID
>>>> tlbi rvae1, guest_vaddr ; first invalidate stage-1 TLB by guest VA =
for current VMID
>>>> tlbi ripas2e1, guest_paddr ; then invalidate stage-2 TLB by IPA =
range for current VMID
>>>> dsb ish
>>>> isb
>>>> ; switch back the VMID
>>>>    =E2=80=A2 This is where I am not quite sure and I was hoping =
that if someone with Arm expertise could sign off on this so that I can =
work on its implementation in Xen. This will be an optimization not only =
for virtualized hardware but also in general for Xen on arm64 machines.
>>>>=20
>>> Note that the documentation says
>>>> The invalidation is not required to apply to caching structures =
that combine stage 1 and stage 2 translation table entries.
>>> for TLBIP RIPAS2E1
>>>>    =E2=80=A2 The second place in Xen where this is problematic is =
when multiple vCPUs of the same domain juggle on single pCPU, TLBs are =
invalidated everytime a different vCPU runs on a pCPU. I do not know how =
this can be optimized. Any support on this is appreciated.
>>> One way to handle this is every invalidate within the VM a broadcast =
TLB invalidate (HCR_EL2.FB is what you=E2=80=99re looking for) and then =
forego that TLB maintenance as it=E2=80=99s no longer necessary. This =
should not have a practical performance impact.
>>=20
>> To confirm my understanding, you are suggesting to rely on the L2 =
guest to send the TLB flush. Did I understanding correctly? If so, =
wouldn't this open a security hole because a misbehaving guest may never =
send the TLB flush?
>>=20
> Hello,
>=20
> HCR_EL2.FB can be used to make every TLB invalidate the guest issues =
(which is a stage1 one) a broadcast TLB invalidate.
>=20
> If a TLB invalidate wasn=E2=80=99t issued, then well the cached stage1 =
translations could have been out of date on the core the VM was running =
on in the first place.
>=20
> If a core-local TLB invalidate was issued, this bit forces it to =
become a broadcast, so that you don=E2=80=99t have to worry about =
flushing TLBs when moving a vCPU between different pCPUs. KVM operates =
with this bit set.
>=20
> As of the hypervisor, it=E2=80=99s responsible to issue the =
appropriate TLB invalidates as necessary if it changes stage2 mappings. =
This includes a stage-2 TLB invalidate and further necessary maintenance =
if the CPU core does do combined TLB entries. Whether a CPU core does =
that can be queried through FEAT_nTLBPA.
>=20
> On processors without FEAT_nTLBPA, it should be assumed that there are =
non-coherent caching structures within the TLB. And as such also do the =
corresponding stage-1 maintenance when invalidating stage2 entries.
>=20
> Thank you,
> -Mohamed

On the Neoverse V3 core for example, there=E2=80=99s this note in the =
TRM:

=
https://developer.arm.com/documentation/107734/0002/AArch64-registers/AArc=
h64-Identification-registers-summary/ID-AA64MMFR1-EL1--AArch64-Memory-Mode=
l-Feature-Register-1?lang=3Den

> nTLBPA: The intermediate caching of translation table walks does not =
include non-coherent physical translation caches.

Which means that this heavyweight Stage-2 flush is no longer necessary =
on that core.

On Neoverse V2, this bit is defined as RES0 instead. And as such =
invalidating the whole of Stage1 is necessary on Neoverse V2 when doing =
Stage-2 invalidates for an HV in practice=E2=80=A6 (or more heavyweight =
tracking=E2=80=A6)

What KVM currently does in arch/arm64/kvm/hyp/nvhe/tlb.c ( ~line 158) =
(__kvm_tlb_flush_vmid_ipa) today: It just always flushes Stage-1 when =
doing a Stage-2 flush.=20

Thank you,
-Mohamed





From xen-devel-bounces@lists.xenproject.org Fri Oct 31 07:56:18 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 31 Oct 2025 07:56:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1154061.1484183 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEjzP-0005iu-9o; Fri, 31 Oct 2025 07:56:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1154061.1484183; Fri, 31 Oct 2025 07:56:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEjzP-0005in-5W; Fri, 31 Oct 2025 07:56:03 +0000
Received: by outflank-mailman (input) for mailman id 1154061;
 Fri, 31 Oct 2025 07:56:01 +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
 <SRS0=/6WH=5I=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1vEjzN-0005ih-Ag
 for xen-devel@lists.xenproject.org; Fri, 31 Oct 2025 07:56:01 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0a0bd2b2-b62f-11f0-9d16-b5c5bf9af7f9;
 Fri, 31 Oct 2025 08:55:59 +0100 (CET)
Received: from nico.lan (93-47-230-207.ip115.fastwebnet.it [93.47.230.207])
 (Authenticated sender: nicola)
 by support.bugseng.com (Postfix) with ESMTPSA id B63264EEBC48;
 Fri, 31 Oct 2025 08:55:56 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0a0bd2b2-b62f-11f0-9d16-b5c5bf9af7f9
Authentication-Results: bugseng.com; arc=none smtp.remote-ip=93.47.230.207
ARC-Seal: i=1; d=bugseng.com; s=openarc; a=rsa-sha256; cv=none; t=1761897358;
	b=rJ/24UpygnSyHVDwSaYQJG2mOVK0B6pBaKcNkHBkD9o4wknzW74Z6jmfIZnP/F0N0ydw
	 Y/5+Tv+WLbW0OWV8Cu4OPYUNXaHGXt0kEUsAqiI/wQ/zdLuiUYGQeWWhQ8sgX1grnH0PU
	 Fy+HTUN4mihdEYO5R7a6Zzcgnd6AYS66MCsTMd69UmkoDDDrZ4Xr0wIcc/nzu2FQCX1U0
	 Z9h59CJncXQ87QN5eutjsGYdTEQ7PLnPisnNnylhRhfip/gNb/5FgXgOe5DWaB3tEyFQs
	 aJHjGuPIiBHEmyg1MRWqrx+DDhZegI7CfzsARJhvo6ZZEteLtn5aT+8ZneQj/+hcwWUB0
	 6D4DiULeweBrFm3pJtDveQIokYuJBmhva7IkoKYOCBiPsMy2FzqGrdtxR8pGlSHo0YDa7
	 ZsFO3CG78AaHqWczoBdF7V3CwEIJDn0/lhTv8dnw8aVKrvp30/RIe/nrb8TpT7cp7cSF9
	 x2WAvABJkB1yb20Taq7k1Q/sCy8c0bK2QDj75Dv8r5R4ESCrAhQrjr6f4aWmjEFM69ruK
	 nE/yGBJ+2gYfVFRm0y/IPxURQkr3Q1YUFRFLX/Dv+nWTaR9XzMH0a6fuAKvkRQ+YV1Y+D
	 OFcuVpljUKBJeN5xLtGj9fV2WkcD3ve8nPaTn1utWPqs8i4CPLJ0yu4uhwZDZ3c=
ARC-Message-Signature: i=1; d=bugseng.com; s=openarc; a=rsa-sha256;
	c=relaxed/relaxed; t=1761897358;
	h=DKIM-Signature:From:To:Cc:Subject:Date:Message-ID:X-Mailer:
	 MIME-Version:Content-Transfer-Encoding;
	bh=ME+0SCXxm8YQBolCBgj/0l4x8meUElYa/nRF4zoAzgw=;
	b=sx22his5U8vhlUxMPLB15BZN/j0kaltEDlvYuNOst/IHcVjx/XIwTX/TyjeUO0x2XBmc
	 ZGA3nmoOfv32BT0K0bAGKU+X6VRRqNHyEQcmkydrd8mTTxCTtyMkhLVedGhNYyJ8HcWQB
	 6+z1f/D3aEFbEJJBfSCd4ThRmoFp3OEi7WUBNiIkv7Qi1TVyWoj6ax6ns7PU5QtAb7az+
	 rhs4tBPHOkyAbdb9fAe81JMosF09KpkbFXaso5EOyT7TJxxIiY4ZhkcsVilS/1+gYuDy2
	 RX3hJw9D/S2uyq/9nJCOTp5pVHso2duHNL5f/Hvk1+ug5WynSKXEO5CGyzUSDXo/tsi1P
	 Q+jPem/eIpmL+0kBdQOxl5dnIOZ6FJDX3YT2vJc95xw/7YoUiwf+M5HSQoZILu8GjNxnF
	 ab3uVBy785lShsugK05ITLsPVcm39ByjSy+ZcvMbMOeKL2vIqJ93m0ZD3Wv3miPFMPs3V
	 11du538bG8LJ+A8UlEVT49mtKCATBS0GBnBY+S7x/0ueLGHq/Pu7x/CR0H8ptBhw/vZOJ
	 U3k6LG0iNlEDS9FTewl1PkhxOMxOmJo0/q/Tw/kZN3MU54l6AAg5O8zDHjielzb8qjCa/
	 k8C8j2viF3D45vxxeFsfflPmd4b0hHRKFexNXxugZZ4DOdRyBr25hOCFhq+x848=
ARC-Authentication-Results: i=1; bugseng.com; arc=none smtp.remote-ip=93.47.230.207
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1761897358; bh=3IQ7K45greuYW2PnCxrmWyDaM1oM+6AG/sfoMH8BBOM=;
	h=From:To:Cc:Subject:Date:From;
	b=jL1A1z+Rslf+cYv5Nk43lUy4tXVnLLivOahuOcRqkU1/aVGYMBYcc38ndBDef5aAh
	 pCqvWHNzUT49bOmcjqz7uU/LguRDsCGymcnc6OEB74t4IpNpI2xhq2WGXZn64IJ4JV
	 vbVZHqH/P5Zf2hcPhxo2sBy8ouDsjD562ngSWuAv15xsrSyY00SGpdzahJc9heJ6nC
	 qLvXA6EAjdfHvOPGPWvTYrnTSRV+zld4kNxkmNTt00wIIgAxBKzX7zPWcjHx1pKH2C
	 vXDQ9rfgWisDtWTKWLW64Mffhh8ow4dReHXZfSsb5GIym6MvHHXpLuK2kGIrKlryKG
	 D2cQjZs8f4xow==
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>
Subject: [XEN PATCH v3] automation/eclair: add new analysis jobs with differing configurations
Date: Fri, 31 Oct 2025 08:55:47 +0100
Message-ID: <876da816d5aacdb688599fd1d50efca2f856d080.1761897244.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The following analysis jobs are performed:
- eclair-{x86_64,ARM64}: analyze Xen using the default configuration for
  that architecture; runs on runners tagged `eclair-analysis'.

- eclair-{x86-64,ARM64}-safety: analyze Xen using the configuration for
  safety, which is more restricted; runs on runners tagged
  `eclair-analysis-safety`.

- eclair-{x86_64,ARM64}-testing: analyze Xen using the default
  configuration for the purposes of testing new runner updates; runs on
  runners tagged `eclair-analysis-testing`.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
CI pipeline: https://gitlab.com/xen-project/people/bugseng/xen/-/pipelines/2130873833

Note: the eclair-ARM64 and eclair-x86_64 jobs are allowed to fail because the
configuration is not (yet) clean for all checked MISRA guidelines.

Changes in v3:
- Use a variable instead of testing the repository PATH to decide whether a job
  should be run for *-testing and *-safety analyses;
- Allow eclair-{x86_64,ARM64} default configurations to fail, as the configuration
  is not yet clean for MISRA.
Changes in v2:
- rebased to current staging;
- fixed regex path issue.
---
 automation/gitlab-ci/analyze.yaml | 42 ++++++++++++++++++++++++++++++-
 1 file changed, 41 insertions(+), 1 deletion(-)

diff --git a/automation/gitlab-ci/analyze.yaml b/automation/gitlab-ci/analyze.yaml
index d50721006740..fae55a23dbb5 100644
--- a/automation/gitlab-ci/analyze.yaml
+++ b/automation/gitlab-ci/analyze.yaml
@@ -45,6 +45,22 @@ eclair-x86_64:
     LOGFILE: "eclair-x86_64.log"
     VARIANT: "X86_64"
     RULESET: "monitored"
+  allow_failure: true
+
+eclair-x86_64-testing:
+  extends: eclair-x86_64
+  tags:
+    - eclair-analysis-testing
+  rules:
+    - if: $ECLAIR_TESTING
+      when: always
+    - !reference [.eclair-analysis:triggered, rules]
+
+eclair-x86_64-safety:
+  extends: eclair-x86_64
+  tags:
+    - eclair-analysis-safety
+  variables:
     EXTRA_XEN_CONFIG: |
       CONFIG_AMD=y
       CONFIG_INTEL=n
@@ -75,6 +91,10 @@ eclair-x86_64:
       CONFIG_DEBUG_LOCKS=n
       CONFIG_SCRUB_DEBUG=n
       CONFIG_XMEM_POOL_POISON=n
+  rules:
+    - if: $ECLAIR_SAFETY && $CI_COMMIT_BRANCH =~ /^staging$/
+      when: always
+    - !reference [.eclair-analysis:triggered, rules]
 
 eclair-ARM64:
   extends: .eclair-analysis:triggered
@@ -82,6 +102,22 @@ eclair-ARM64:
     LOGFILE: "eclair-ARM64.log"
     VARIANT: "ARM64"
     RULESET: "monitored"
+  allow_failure: true
+
+eclair-ARM64-testing:
+  extends: eclair-ARM64
+  tags:
+    - eclair-analysis-testing
+  rules:
+    - if: $ECLAIR_TESTING
+      when: always
+    - !reference [.eclair-analysis:triggered, rules]
+
+eclair-ARM64-safety:
+  extends: eclair-ARM64
+  tags:
+    - eclair-analysis-safety
+  variables:
     EXTRA_XEN_CONFIG: |
       CONFIG_NR_CPUS=16
       CONFIG_GICV2=n
@@ -120,13 +156,17 @@ eclair-ARM64:
       CONFIG_DEBUG_LOCKS=n
       CONFIG_SCRUB_DEBUG=n
       CONFIG_XMEM_POOL_POISON=n
+  rules:
+    - if: $ECLAIR_SAFETY && $CI_COMMIT_BRANCH =~ /^staging$/
+      when: always
+    - !reference [.eclair-analysis, rules]
 
 .eclair-analysis:on-schedule:
   extends: .eclair-analysis
   rules:
     - if: $CI_PIPELINE_SOURCE != "schedule"
       when: never
-    - !reference [.eclair-analysis, rules]
+    - !reference [.eclair-analysis:triggered, rules]
 
 eclair-x86_64:on-schedule:
   extends: .eclair-analysis:on-schedule
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Oct 31 09:18:28 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 31 Oct 2025 09:18:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1154096.1484202 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vElGu-0000Ls-7m; Fri, 31 Oct 2025 09:18:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1154096.1484202; Fri, 31 Oct 2025 09:18:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vElGu-0000Ll-4p; Fri, 31 Oct 2025 09:18:12 +0000
Received: by outflank-mailman (input) for mailman id 1154096;
 Fri, 31 Oct 2025 09:18:11 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1vElGt-0000Lf-3N
 for xen-devel@lists.xenproject.org; Fri, 31 Oct 2025 09:18:11 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.96)
 (envelope-from <julien@xen.org>) id 1vElGq-00AyDB-2j;
 Fri, 31 Oct 2025 09:18:09 +0000
Received: from [2a02:8012:3a1:0:2939:8e51:e23b:5975]
 by xenbits.xenproject.org with esmtpsa (TLS1.3) tls
 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96)
 (envelope-from <julien@xen.org>) id 1vElGq-00HJiv-2n;
 Fri, 31 Oct 2025 09:18:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=m6B76K7S5yxJbF33BQIR/vT5V/r73EkdXt6L50sIXSU=; b=KiYu51qA7Q8lJek6TW62YBxUg9
	4QIjFvsuB5vju2qOVTOPCuyGZAhaV0gsMXvtf//SQUpj276R3oE98Xh7+Iu8OgDSzmcDxfr1c10+k
	1jUOfV32U1zYomW46IRU07pLhVBpG6gtpdefAD22e83sPJP67A/yomQnhKm1zjCH1YPk=;
Message-ID: <fc181349-d743-4ef0-bcd2-01c04d2a463e@xen.org>
Date: Fri, 31 Oct 2025 09:18:07 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Limitations for Running Xen on KVM Arm64
Content-Language: en-GB
To: Mohamed Mediouni <mohamed@unpredictable.fr>
Cc: haseeb.ashraf@siemens.com,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "Volodymyr_Babchuk@epam.com" <Volodymyr_Babchuk@epam.com>
References: <KL1PR0601MB4588D25A95D680640A80F2CAE6FBA@KL1PR0601MB4588.apcprd06.prod.outlook.com>
 <KL1PR0601MB45885505ECBBE9262C2B25E0E6FBA@KL1PR0601MB4588.apcprd06.prod.outlook.com>
 <FC5C66FD-8554-4F46-8546-B27DE76C8EEF@unpredictable.fr>
 <2b00a98f-6fee-4341-92bd-25909ebb6e36@xen.org>
 <CA753BD2-31FA-480D-B32A-2125F0F4981D@unpredictable.fr>
From: Julien Grall <julien@xen.org>
In-Reply-To: <CA753BD2-31FA-480D-B32A-2125F0F4981D@unpredictable.fr>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 31/10/2025 00:20, Mohamed Mediouni wrote:
> 
> 
>> On 31. Oct 2025, at 00:55, Julien Grall <julien@xen.org> wrote:
>>
>> Hi Mohamed,
>>
>> On 30/10/2025 18:33, Mohamed Mediouni wrote:
>>>> On 30. Oct 2025, at 14:41, haseeb.ashraf@siemens.com wrote:
>>>>
>>>> Adding @julien@xen.org and replying to his questions he asked over #XenDevel:matrix.org.
>>>>
>>>> can you add some details why the implementation cannot be optimized in KVM? Asking because I have never seen such issue when running Xen on QEMU (without nested virt enabled).
>>>> AFAIK when Xen is run on QEMU without virtualization, then instructions are emulated in QEMU while with KVM, ideally the instruction should run directly on hardware except in some special cases (those trapped by FGT/CGT). Such as this one where KVM maintains shadow page tables for each VM. It traps these instructions and emulates them with callback such as handle_vmalls12e1is(). The way this callback is implemented, it has to iterate over the whole address space and clean-up the page tables which is a costly operation. Regardless of this, it should still be optimized in Xen as invalidating a selective range would be much better than invalidating a whole range of 48-bit address space.
>>>> Some details about your platform and use case would be helpful. I am interested to know whether you are using all the features for nested virt.
>>>> I am using AWS G4. My use case is to run Xen as guest hypervisor. Yes, most of the features are enabled except VHE or those which are disabled by KVM.
>>> Hello,
>>> You mean Graviton4 (for reference to others, from a bare metal instance)? Interesting to see people caring about nested virt there :) - and hopefully using it wasnâ€™t too much of a pain for you to deal with.
>>>>
>>>> ; switch to current VMID
>>>> tlbi rvae1, guest_vaddr ; first invalidate stage-1 TLB by guest VA for current VMID
>>>> tlbi ripas2e1, guest_paddr ; then invalidate stage-2 TLB by IPA range for current VMID
>>>> dsb ish
>>>> isb
>>>> ; switch back the VMID
>>>>      â€¢ This is where I am not quite sure and I was hoping that if someone with Arm expertise could sign off on this so that I can work on its implementation in Xen. This will be an optimization not only for virtualized hardware but also in general for Xen on arm64 machines.
>>>>
>>> Note that the documentation says
>>>> The invalidation is not required to apply to caching structures that combine stage 1 and stage 2 translation table entries.
>>> for TLBIP RIPAS2E1
>>>>      â€¢ The second place in Xen where this is problematic is when multiple vCPUs of the same domain juggle on single pCPU, TLBs are invalidated everytime a different vCPU runs on a pCPU. I do not know how this can be optimized. Any support on this is appreciated.
>>> One way to handle this is every invalidate within the VM a broadcast TLB invalidate (HCR_EL2.FB is what youâ€™re looking for) and then forego that TLB maintenance as itâ€™s no longer necessary. This should not have a practical performance impact.
>>
>> To confirm my understanding, you are suggesting to rely on the L2 guest to send the TLB flush. Did I understanding correctly? If so, wouldn't this open a security hole because a misbehaving guest may never send the TLB flush?
>>
> Hello,
> 
> HCR_EL2.FB can be used to make every TLB invalidate the guest issues (which is a stage1 one) a broadcast TLB invalidate.

Xen already sets HCR_EL2.FB. But I believe this is only solving the 
problem where the vCPU is moved to another pCPU. This doesn't solve the 
problem where two vCPUs from the same VM is sharing the same pCPU.

Per the Arm Arm each CPU have their own private TLBs. So we have to 
flush between vCPU of the same domains to avoid translations from vCPU 1 
to "leak" to the vCPU 2 (they may have confliected page-tables).

KVM has a similar logic see "last_vcpu_ran" and 
"__kvm_flush_cpu_context()". That said... they are using "vmalle1" 
whereas we are using "vmalls12e1". So maybe we can relax it. Not sure if 
this would make any difference for the performance though.

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Fri Oct 31 09:32:08 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 31 Oct 2025 09:32:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1154109.1484212 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vElUK-00037y-C2; Fri, 31 Oct 2025 09:32:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1154109.1484212; Fri, 31 Oct 2025 09:32:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vElUK-00037r-9X; Fri, 31 Oct 2025 09:32:04 +0000
Received: by outflank-mailman (input) for mailman id 1154109;
 Fri, 31 Oct 2025 09:32:02 +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
 <SRS0=o9nX=5I=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1vElUI-00037l-Iu
 for xen-devel@lists.xenproject.org; Fri, 31 Oct 2025 09:32:02 +0000
Received: from mail-ej1-x62e.google.com (mail-ej1-x62e.google.com
 [2a00:1450:4864:20::62e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 74478c0c-b63c-11f0-9d16-b5c5bf9af7f9;
 Fri, 31 Oct 2025 10:32:01 +0100 (CET)
Received: by mail-ej1-x62e.google.com with SMTP id
 a640c23a62f3a-b5b823b4f3dso352905266b.3
 for <xen-devel@lists.xenproject.org>; Fri, 31 Oct 2025 02:32:01 -0700 (PDT)
Received: from [192.168.1.6] (user-109-243-71-38.play-internet.pl.
 [109.243.71.38]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-b7077d05d42sm134803266b.73.2025.10.31.02.31.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 31 Oct 2025 02:32:00 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 74478c0c-b63c-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1761903121; x=1762507921; darn=lists.xenproject.org;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=jcwXRgSEkXn3WI94G3eMn530YnNOgBbc7EnCZyhUbZM=;
        b=X+Htn/w5P1b2uISZ5R/67SD8M8yDmVUk+T+XK1HGYkcwt+P4IyFbf7Up2lliyIcOoV
         X2HmEeXEM/fva53rHVi0GMFC3d2dTdOd2Oo2cce0QCEfHEPtRd5NFKgtst4yD4yfP2e3
         dRcsOag7BS7088GcVZabWLl50mrTAKJvI2/TcT7oraLpHREKpl06+jBhwjzncRMuVC27
         Fu3Ofy2NAVG7xwym9qvbZm7DLL6RpoRSe88e+y1rcfO1LJRdH52z97kL9yoLv4LbdaX2
         EFRO3VP/6dMoISnLgzyeV+7J9NVIzueG7N25t8ZtNY+MehTYgcmiSdquf4FIYdvyamtQ
         1uVg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761903121; x=1762507921;
        h=in-reply-to:from:content-language:references:cc:to:subject
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=jcwXRgSEkXn3WI94G3eMn530YnNOgBbc7EnCZyhUbZM=;
        b=hKA4g9lmSLXZlOADBd7JVeqaDg4Wxh6SJxF7v6eTWdhp7Xe9IO7xXkpgcMCLg9X367
         QpUsBNu69aJr88HJu7yLCMuY0f+f58XYbkjIt0bDmoug0i39zELxZSlWF2e2O2/lfiWu
         rYH1v2TcK/lUS0iDtUQLtL2MbCfUCzJvRwD+RQy5O0ySZp/8KmGVKDWi1We4INd8Q4ZI
         bK0oEF/pCNV37bXomM4ZIwdvdq6eY9sVgVsKGhx7xESCzb4pZS8p9ekwZ1g69XpUOztH
         mRFGSbqfULm8j9GQzX+z02Lo8ywL5BzhjOJ3hDuOkiKX92NUH1XS8myoch3QEqE0fHVr
         yuSw==
X-Forwarded-Encrypted: i=1; AJvYcCXITnhLZvwttkWPHUb3KivLZ5AZUuB+sOmFBngAoebboPKpHes9+HrJ9s18SnX3Ueexw5BtD3hOc9k=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwQc9uFbfiO5p1V/vq6dm5eoqPy7h3uvlQdnShw5rXbkptxDWHW
	KImKREOIdXrdPjha9PhPC0Yp0V5bVX0iF1O4yy7HmH5v1Wsg8GO0tfDeft3UXQ==
X-Gm-Gg: ASbGnctlk1MDPiNXfp+nydyXP/ft3bR17yS5bYDNrJNK7L1X80IYZ2VliNIlRnAlGQs
	pKbAs8BtkvHW3bhch0MrRjIUYM1ZvB+ZfvtoIY5k8wabSxFbxfvBjEPvKGRpiCbIgJIJ5RLBFQ9
	9hgYtE0Ne9KRUWKKFG/05xYvBSmaUeXc1qqhwxJKSvPD5Q6996w/JxzwlXmA+WKFYcTijN3SesC
	3zdLLef7PCFaW7Id9sRLdDIGT8Pk9F01qfwXyQY2kaVJPE0C8ne197Yu3puGpww9dEmYdosdCex
	woKQg+lvUjAyknB8etEnbp2RWjtNTX/YGvrt2OJThdjjg996ZpQbgcSGmi50mvuYyd5bh+Au/tc
	ICRRR+DVZVhRwT6Vt6JpmXQmWYQADxcL0fMkzhNbsSSxrIvTnYJoQ0Y3wBklEd6MvO2BUtkZvR1
	crTn4D0AvWE6SDNZDzuuqzWYUrn86ZcG2uSgyUcU2CJk42vw+8hCEM19uSSLh8
X-Google-Smtp-Source: AGHT+IFzO3m9E/O5R4at62hn7ZgdJTOj1ZMlMomg5EznKnQQbhfE6o/0cnY59uckn1Pu91ZEO40c6g==
X-Received: by 2002:a17:907:3da0:b0:b3d:9c3c:9ab6 with SMTP id a640c23a62f3a-b70701c6653mr296364066b.29.1761903120583;
        Fri, 31 Oct 2025 02:32:00 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="------------MIqlxIefaXBd2jD9aVfW0jtD"
Message-ID: <abf30e99-47be-48c9-b826-18d142453dcf@gmail.com>
Date: Fri, 31 Oct 2025 10:31:59 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 for-4.21 0/2] x86/AMD: deal with RDSEED issues
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <272093dc-c97c-434a-9977-ad1c26e7e229@suse.com>
Content-Language: en-US
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
In-Reply-To: <272093dc-c97c-434a-9977-ad1c26e7e229@suse.com>

This is a multi-part message in MIME format.
--------------MIqlxIefaXBd2jD9aVfW0jtD
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit


On 10/28/25 4:32 PM, Jan Beulich wrote:
> Both patches also want 'x86/CPU: extend is_forced_cpu_cap()'s "reach"' in
> place.
>
> 1: disable RDSEED on Fam17 model 47 stepping 0
> 2: disable RDSEED on most of Zen5

Both patches LGTM to be in 4.21:
   Release-Acked-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>

Thanks.

~ Oleksii

--------------MIqlxIefaXBd2jD9aVfW0jtD
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <br>
    <div class="moz-cite-prefix">On 10/28/25 4:32 PM, Jan Beulich wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:272093dc-c97c-434a-9977-ad1c26e7e229@suse.com">
      <pre wrap="" class="moz-quote-pre">Both patches also want 'x86/CPU: extend is_forced_cpu_cap()'s "reach"' in
place.

1: disable RDSEED on Fam17 model 47 stepping 0
2: disable RDSEED on most of Zen5</pre>
    </blockquote>
    <pre>Both patches LGTM to be in 4.21:
  Release-Acked-by: Oleksii Kurochko <a class="moz-txt-link-rfc2396E" href="mailto:oleksii.kurochko@gmail.com">&lt;oleksii.kurochko@gmail.com&gt;</a>

Thanks.

~ Oleksii</pre>
  </body>
</html>

--------------MIqlxIefaXBd2jD9aVfW0jtD--


From xen-devel-bounces@lists.xenproject.org Fri Oct 31 09:35:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 31 Oct 2025 09:35:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1154119.1484223 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vElXB-0003gt-Po; Fri, 31 Oct 2025 09:35:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1154119.1484223; Fri, 31 Oct 2025 09:35:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vElXB-0003gm-NA; Fri, 31 Oct 2025 09:35:01 +0000
Received: by outflank-mailman (input) for mailman id 1154119;
 Fri, 31 Oct 2025 09:35:00 +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 <SRS0=1UMm=5I=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vElXA-0003gg-AV
 for xen-devel@lists.xenproject.org; Fri, 31 Oct 2025 09:35:00 +0000
Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com
 [2a00:1450:4864:20::333])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dbde6623-b63c-11f0-980a-7dc792cee155;
 Fri, 31 Oct 2025 10:34:55 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-46e6a689bd0so19519935e9.1
 for <xen-devel@lists.xenproject.org>; Fri, 31 Oct 2025 02:34:55 -0700 (PDT)
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-477289adc18sm88705625e9.6.2025.10.31.02.34.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 31 Oct 2025 02:34:54 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dbde6623-b63c-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761903294; x=1762508094; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Ucx/c0ASjpItN89Vmj8stRuDy8yxJ6s5W7X6PIDEQso=;
        b=KekngdWRgTP1CUghn6VXugLpG5Yzo7W0w973PamEAq7S1RzRCTaz8NDnIaGVYQLx8y
         0W09ej6C31TMTtlc/zrJWhXSD7WEhSP99bIUubllUFczZEBjuIj0FqJETmLUJefFuwqI
         khMO4PUFG03dsCVsm8Ruq428oGvg7koG/H1VyQcFz1RJ0RadqQvFhC8Fqo9CEEtx955T
         CUJ8MIl5IIG0wiy1m7oUfrcT8VjRNgSzrpMSnH6L+X09dQzkLnS1uK1Uj65dbIFqmT/O
         gT6meFIRi6NP05YsNKdhE9ifp5+QuX43J6NAbUTykIZYtUAgHSFTS638wnMGzYCCyYZu
         cikg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761903294; x=1762508094;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Ucx/c0ASjpItN89Vmj8stRuDy8yxJ6s5W7X6PIDEQso=;
        b=wYpk/7X8mXWnbuCmGbUf5RU5otxOCd3OBDQuSGKyTmHgFjmazeK11Z+/+U5JM2M687
         H50fPTkHw3XRJLUm4VM6OeWz/o/euSElliBt1pyEhCvnXUU6dJ9jVH3/bSnfABp+Mvtc
         ioOejnNM8beB6QpgUGW03gtvthmDMJiSZoJQmRmz/meyxnblugwDeIxUbIBN659H75at
         G0kp8DTjpnE0xGtWpLAfyEspxCFYgZ0BG1Kcg6DLGxuwe7STUB/ZsxGEhZxUwEbHgEom
         N4Rcl4CtFw+GKYW67qSUsILZxgR1/eJiO/H9r7AdOIWOrKSbn8MkJLLlfNQXhB7kiTBy
         AB+A==
X-Forwarded-Encrypted: i=1; AJvYcCUqRLDSs6dywt36v1O7+rnQXtDeO99yVb9WLcS29GsDsbeWr+uWPCSN0eyp+tbrqBiCS6vQMJvgehg=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx4dgNF9sZYJh+y0A65bf+VMPx8yDzNVyDc9PrBn+TrUgOtQcvu
	8SPNtNpv8QwgaqKwxV0PLaokEjBOPuLmpZaF/41RR/BzIewi/8qgiu1/A9p+uazDnw==
X-Gm-Gg: ASbGncuDolrr9f8dMbDtJ//F1/TyRYAbQ5TA1eq8zL4N9crHg6QVZnskLUs9YMZaWDj
	vtrEV2q0tgf6q5yLSpCNm7tz6J/J8k634R/N7ZsdbI0Y2NjdyFG7WqjPMz2XPC3L4G+1kOZ6GPe
	7PfHJzlmHVibu1zrnEE96emSPp6v4Urhkklv09NDyFyOcVZSHbvJBeAs81kcPm8awY0nSVYIsEJ
	9NrfSV5rFVyuc7J/qOtLzvlXATpwR74RxzFGAS0HrU19fvM2/VWLFSqSJNuJq5gZgHubJzmRguM
	zqrRvc2rgUlvO3lG/JuFum2n1yZFEbdzT4CnmBQX1HYOxLtkWlS/i///Rxen6czcomFi8Krt+8e
	RmnP5Qy/o2RwLLRevOUG1GefjgLU6Ks4pWqY4KVY7ZKVjN8cqvfX1LFy3jD9L975pOx+fq2VVxO
	do2mYBU/eK6hfhuNGh7iYT7Ue9ksbuEmIsvkGv9XETOFxKBnEi6ww7+PtIoc5TgLp2exiTbtA=
X-Google-Smtp-Source: AGHT+IEI8pCskrwGN0LmcsWKPiDLQ8gqkkRetQRGEkoRwi6O8aeZWNUXwZH37AmEtA+GqQXRtWVv2A==
X-Received: by 2002:a05:600c:190e:b0:471:669:ec1f with SMTP id 5b1f17b1804b1-47730791083mr27143415e9.8.1761903294575;
        Fri, 31 Oct 2025 02:34:54 -0700 (PDT)
Message-ID: <f4dc4064-43f5-4bb0-8387-298a5d62cb5b@suse.com>
Date: Fri, 31 Oct 2025 10:34:52 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 for-4.21 0/2] x86/AMD: deal with RDSEED issues
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <272093dc-c97c-434a-9977-ad1c26e7e229@suse.com>
 <abf30e99-47be-48c9-b826-18d142453dcf@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <abf30e99-47be-48c9-b826-18d142453dcf@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 31.10.2025 10:31, Oleksii Kurochko wrote:
> 
> On 10/28/25 4:32 PM, Jan Beulich wrote:
>> Both patches also want 'x86/CPU: extend is_forced_cpu_cap()'s "reach"' in
>> place.
>>
>> 1: disable RDSEED on Fam17 model 47 stepping 0
>> 2: disable RDSEED on most of Zen5
> 
> Both patches LGTM to be in 4.21:
>    Release-Acked-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>

Thanks, yet: What about the 3rd patch mentioned in the text above?

Jan


From xen-devel-bounces@lists.xenproject.org Fri Oct 31 09:41:24 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 31 Oct 2025 09:41:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1154129.1484232 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEldI-0005Vp-BT; Fri, 31 Oct 2025 09:41:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1154129.1484232; Fri, 31 Oct 2025 09:41:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEldI-0005Vi-8f; Fri, 31 Oct 2025 09:41:20 +0000
Received: by outflank-mailman (input) for mailman id 1154129;
 Fri, 31 Oct 2025 09:41:18 +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
 <SRS0=vfSZ=5I=bounce.vates.tech=bounce-md_30504962.6904843a.v1-790b99b232d84c62ae4f98864ee920af@srs-se1.protection.inumbo.net>)
 id 1vEldG-0005Vc-9u
 for xen-devel@lists.xenproject.org; Fri, 31 Oct 2025 09:41:18 +0000
Received: from mail180-3.suw31.mandrillapp.com
 (mail180-3.suw31.mandrillapp.com [198.2.180.3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id be825f79-b63d-11f0-9d16-b5c5bf9af7f9;
 Fri, 31 Oct 2025 10:41:16 +0100 (CET)
Received: from pmta11.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail180-3.suw31.mandrillapp.com (Mailchimp) with ESMTP id 4cybZy4V24zDRJ5sQ
 for <xen-devel@lists.xenproject.org>; Fri, 31 Oct 2025 09:41:14 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 790b99b232d84c62ae4f98864ee920af; Fri, 31 Oct 2025 09:41:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: be825f79-b63d-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1761903674; x=1762173674;
	bh=HWiwJchHeHgniRnJIWyzbqfXdAvW0OcU82Dd5wNTr/4=;
	h=From:Subject:Message-Id:To:Cc:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=h9wggbQHjCGO6fS46t0YuoGYmlSZSrjIhn62R7/IcML6gPtsHVmPE+kHQeJSaGl7o
	 +ySMspZkszCrrQLCWFNGr+mkPK141md1J3lfuCekcCLMlVENCK03Zfzsx/uk95avaf
	 l5eflmiiB1LTm+tZ+rb5K3zAVhtGHucBPLI2jwinCcbtblpeOSzfWWpi1LuQkYlEl1
	 fBbB/n9soIgnHs/K9OcuH1UaXzUmhFhFlwsKtVerYuR9dC5VWldoucMxzo5VR8lH9D
	 e4o0S3J3V9vkDgwosQz/sNBLR4bqlcDak3r7qVpWW6PwTSZG3r/etqkHOnsBn5Ly2P
	 42+4hNFyvImmA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1761903674; x=1762164174; i=teddy.astie@vates.tech;
	bh=HWiwJchHeHgniRnJIWyzbqfXdAvW0OcU82Dd5wNTr/4=;
	h=From:Subject:Message-Id:To:Cc:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=NxeRugzUZoWLN8iZiQRiEbkncHjvmG240+oz+uoeIqCqXhFOEfaO2HPDvnalXHQDG
	 iWsl19UvqbCekAucFSrGCB73wyzGste3qriVaERLAxiH8bqBMYyHQQ5E25odG+3LAR
	 kHMJbK289iw5esfA+/CJDjva5MI6Frap9XI2PvFM/ZiEHKNBfEWjqLgwbng2l8o2Ds
	 6njnMBMagUZWKHYc/ShXXxAKvaqG3qbMQeLFD8k6PdaQPM4T1skITOmjkvuAqeorxp
	 aRNNkOTwotS5E91AGiBf0PTWaKYLgn3uM8Wnv2m/9YN+1xihoDWlG+ZyFpZyjreqDN
	 qQpDSBTA3MS5w==
From: "Teddy Astie" <teddy.astie@vates.tech>
Subject: =?utf-8?Q?Re:=20[PATCH=20v2=20for-4.21=201/2]=20x86/AMD:=20disable=20RDSEED=20on=20Fam17=20model=2047=20stepping=200?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1761903673465
Message-Id: <07b8628d-b57e-439c-811e-2474d2475b47@vates.tech>
To: "Jan Beulich" <jbeulich@suse.com>, xen-devel@lists.xenproject.org
Cc: "Andrew Cooper" <andrew.cooper3@citrix.com>, "=?utf-8?Q?Roger=20Pau=20Monn=C3=A9?=" <roger.pau@citrix.com>, "Oleksii Kurochko" <oleksii.kurochko@gmail.com>
References: <272093dc-c97c-434a-9977-ad1c26e7e229@suse.com> <b18027a5-d277-4274-b762-dd63e96b6d6c@suse.com>
In-Reply-To: <b18027a5-d277-4274-b762-dd63e96b6d6c@suse.com>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.790b99b232d84c62ae4f98864ee920af?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20251031:md
Date: Fri, 31 Oct 2025 09:41:14 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Le 28/10/2025 =C3=A0 16:35, Jan Beulich a =C3=A9crit=C2=A0:
> This particular variant has an error that causes RDSEED to always return
> 0xffffffff, while RDRAND works correctly.
> 
> Inspired by Linux commit 5b937a1ed64ebeba8876e398110a5790ad77407c
> ("x86/rdrand: Disable RDSEED on AMD Cyan Skillfish").
> 
> Like for RDRAND, permit a command line override to be used to keep
> RDSEED enabled.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> Considering how it is described, I didn't think probing RDSEED (like we
> do for RDRAND) would be necessary.
> 
> Am I going too far in also updating cpuidmask_defaults here, or is us
> not doing so for the RDRAND disabling actually an oversight?
> 
> Using warning_add() may not be quite appropriate, as we don't really
> mean the admin to possibly override this with "cpuid=3Drdseed" (that's
> only a last resort, in case the issue is yet more limited in scope). But
> mere printk() would feel like hiding the information in the middle of
> lots of other output.
> ---
> v2: Correctly check model, not (again) family.
> 
> --- a/xen/arch/x86/cpu/amd.c
> +++ b/xen/arch/x86/cpu/amd.c
> @@ -1219,6 +1219,24 @@ static void cf_check init_amd(struct cpu
>   =09=09}
>   =09=09break;
>   
> +=09case 0x17:
> +=09=09/*
> +=09=09 * Fam17 model 47 stepping 0 has an error that causes RDSEED to
> +=09=09 * always return 0xffffffff (while RDRAND works correctly).
> +=09=09 */
> +=09=09if (c =3D=3D &boot_cpu_data &&
> +=09=09    c->model =3D=3D 0x47 && c->stepping =3D=3D 0 &&
> +=09=09    cpu_has(c, X86_FEATURE_RDSEED) &&
> +=09=09    !is_forced_cpu_cap(X86_FEATURE_RDSEED)) {
> +=09=09=09static const char __initconst text[] =3D
> +=09=09=09=09"RDSEED is unreliable on this hardware; disabling its exposu=
re\n";
> +
> +=09=09=09setup_clear_cpu_cap(X86_FEATURE_RDSEED);
> +=09=09=09cpuidmask_defaults._7ab0 &=3D ~cpufeat_mask(X86_FEATURE_RDSEED)=
;
> +=09=09=09warning_add(text);
> +=09=09}
> +=09=09break;
> +
>   =09case 0x19:
>   =09=09/*
>   =09=09 * Zen3 (Fam19h model < 0x10) parts are not susceptible to
> --- a/xen/arch/x86/cpu-policy.c
> +++ b/xen/arch/x86/cpu-policy.c
> @@ -123,6 +123,10 @@ static void __init cf_check _parse_xen_c
>       else if ( feat =3D=3D X86_FEATURE_RDRAND &&
>                 (cpuid_ecx(1) & cpufeat_mask(X86_FEATURE_RDRAND)) )
>           setup_force_cpu_cap(X86_FEATURE_RDRAND);
> +    else if ( feat =3D=3D X86_FEATURE_RDSEED &&
> +              cpuid_eax(0) >=3D 7 &&
> +              (cpuid_count_ebx(7, 0) & cpufeat_mask(X86_FEATURE_RDSEED))=
 )
> +        setup_force_cpu_cap(X86_FEATURE_RDSEED);
>   }
>   
>   static int __init cf_check parse_xen_cpuid(const char *s)
> 
> 

Reviewed-by: Teddy Astie <teddy.astie@vates.tech>


--
Teddy Astie | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech




From xen-devel-bounces@lists.xenproject.org Fri Oct 31 10:22:43 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 31 Oct 2025 10:22:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1154144.1484254 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEmH6-0003MV-EA; Fri, 31 Oct 2025 10:22:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1154144.1484254; Fri, 31 Oct 2025 10:22:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEmH6-0003MO-BI; Fri, 31 Oct 2025 10:22:28 +0000
Received: by outflank-mailman (input) for mailman id 1154144;
 Fri, 31 Oct 2025 10:22:26 +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
 <SRS0=Jqku=5I=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1vEmH4-0003KX-Mf
 for xen-devel@lists.xenproject.org; Fri, 31 Oct 2025 10:22:26 +0000
Received: from BL0PR03CU003.outbound.protection.outlook.com
 (mail-eastusazlp170120007.outbound.protection.outlook.com
 [2a01:111:f403:c101::7])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7e463aa3-b643-11f0-980a-7dc792cee155;
 Fri, 31 Oct 2025 11:22:25 +0100 (CET)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by BN8PR03MB4993.namprd03.prod.outlook.com (2603:10b6:408:78::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9275.15; Fri, 31 Oct
 2025 10:22:23 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9275.013; Fri, 31 Oct 2025
 10:22:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7e463aa3-b643-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=iIAFSDACvMRfU6xfVsEGu5O3uj7nN6sWopzYrohfA/mW6znulpL/uqpQHYqQpSYecE9/57dCg8exS2gBXSCXyzmHEAKV+ZqhED+dm8kKL5H/A9Kmgmr+CyhwZbn6BNIu0Kxiu/QKlMyQdYBG0NTPswuZTs9ro3+r7brIs4mawSEiiyLyt312GAKAAoSbIlzU9dL+HAJCnxx0kFwS14mb1PlYSiyobIEgnZdj3i/qTIQKlwIb7rB2A0lZB3QwWUf0LD5/oQGA2v9Yp2U9LHIfmVqxG3viYQyWb021iSPC1is6fLQweXK9EjHGUM7kd3ncfNS6IXAj/G+ZrEJ+UfesoA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YDPPxaU5cgjulpHuc3X5fYsYbuYW/U3NgdljOsOacN8=;
 b=kkqbhj5hoh79JGyEJZgnGuCh2/0zVcI6RuLzmEbXG6Y4jzMIgJXrlgZCq9weQkBhPNv7WTGu2sgj4J0sZHIZQRbxVvu/EhdEHVCt7E1c8ltYcfGf5rC6w88FnSqugqdkKYnlfLIoqmToWJGgjh7TZ+QBi+wDPrDcaawmjYmHwi8rj7jd5Pu3IvG7re7zbEyZeSy6zw26d49ug5bCK5NIreza7SD8oSvRhWQuyyHttS3Je83Y3Sn/KvTecldrApbZkIyBmAi6ijiTq6Hnoz8bl0YzlZAZTEFoXb0beh8AZGwVle+MuGg9fMuqneY0r5303en763HUDGvBOkcKKaPZMg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=YDPPxaU5cgjulpHuc3X5fYsYbuYW/U3NgdljOsOacN8=;
 b=pp5i+VA6L4nGs3pueOgrFVHek6kkDdjzodNPgiJrdMqtBh1efxRw8RkYaoI/ac4nooWY7STxAI4ZZFUGNJsPYlLwm5j83EyIuWUeHaims40WDsgnXDOKKksg8E0QoO2SQPYgwa3BSbmFBFD4DCY67mP+ZTpF5CsT0ZNEXT5WIYM=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Fri, 31 Oct 2025 11:22:20 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH v2 for-4.21 0/2] x86/AMD: deal with RDSEED issues
Message-ID: <aQSN3MKxAa_cltld@Mac.lan>
References: <272093dc-c97c-434a-9977-ad1c26e7e229@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <272093dc-c97c-434a-9977-ad1c26e7e229@suse.com>
X-ClientProxiedBy: MA3P292CA0022.ESPP292.PROD.OUTLOOK.COM
 (2603:10a6:250:47::17) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|BN8PR03MB4993:EE_
X-MS-Office365-Filtering-Correlation-Id: 5e7a96a4-f614-4080-091a-08de18676162
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?QzFYdlg3N3Q2eVdQUEVwSkMzNjExK3FWbGR5cW12aWEzQmZteVNLeVB2NkJU?=
 =?utf-8?B?OEhYT0o0UENKaWdTaTdPVVJxdFlVZE5NWWkrOWhwWHFNZGFpbkdyeUJDNkl5?=
 =?utf-8?B?dFgrcXhNdkttQ1dscUF4dDliTGFnOTFnM0lQeXJlR0Q3ZVFQOTZjK1V5RWZv?=
 =?utf-8?B?ZlhhSXhlTHJCSDVyNWJUTi9sVUNzQ200K2I5Y3A4d1JjLzdnVmc4S214S0M5?=
 =?utf-8?B?ZjZ5elhmNFpuVmpvTkdtMzErSytidjF2V3hjQmpQRGdGMlpDR2YzQWdyWlJU?=
 =?utf-8?B?enhjdjhIZ2tFOWYrdDJrUU1JTng0S094ZTJYazdMbDNuM3lVMlREVlR0U3dQ?=
 =?utf-8?B?OERBM01rakRDdkJoYThPUG1zb0Z0Q3ZzaVI4L0VvcXZaRGxuVi8xcExWcEdF?=
 =?utf-8?B?Q1lkS2Frd1NicEo4TTRYLzBncm9vc3prOVBxMXcyVG5rdURtNmJwZjl6M0pY?=
 =?utf-8?B?QktTL3ozMGVnK0UzRkRtbWJjZGFRYmtsNXJxZEI4RnhKRTdDUExvR0d4TkNB?=
 =?utf-8?B?MFJZK1p6bkpzeExyZ0xrcHZKd296MGdWM2F6VFlXVGIrVWVIT21wS0szYTk5?=
 =?utf-8?B?R3ZJMURObUhEb3JLdVhCTnlaSzhWcEpCWGovRlBFK1VIWFIzd0Z2OS9obGZW?=
 =?utf-8?B?NnRNd0pOVXVGbEtoZVMyQUZub1VoWjlyYm05Rk1XOUluSndmOW56em5uM01r?=
 =?utf-8?B?RUc4MEFZdEJ1L25kbmduS29zZUhhNVhpRWMzbzJWRDZ5YlZYODFaUXBuQlN1?=
 =?utf-8?B?cWtFbkF6ajBTWGMybnFCeHVRRkpaeThqaTFGL2VjZWxrdnRoaFhldXBQQkRj?=
 =?utf-8?B?a1R4eDhRb2JWMTBGbStxdlJZNWpVMnRqVTlSZVU5dlZ1QUUzVW83VlFHQ1Rs?=
 =?utf-8?B?U3BUa3M0Zm8wVmxTSS9ZQktnSE93RGkyb1Roay91TXRRREdacUg4cERMcFFE?=
 =?utf-8?B?MnpsU2NLTjFpbXFndDJYNzQxZFdwbTNVaVA0QlZBZTFMaEVUb3dUTUI3U2pQ?=
 =?utf-8?B?Z3RKN1NWNHRvb09CVUtQOW95TlczYUp0c29BQ2NiUDMwMGF1NjBjVmdKNnhX?=
 =?utf-8?B?WkJSN3pjc2FwWXJNZWdVUWtYRGpGdW9GL1lCeVpHRERtOHRYZUY5aThGdUxQ?=
 =?utf-8?B?b0RacjQ2d0c0WkZWV2NuR0FlZldOY0pqSlFnRFNHL25Cd1BNTkhSbW1nOG5y?=
 =?utf-8?B?cVlJQUVCa0tDQzFpUEgxSjA5bHlWb2xWN2ljNzVnd0ZVeEJnYkM4Y0RhS28z?=
 =?utf-8?B?anlYcmQvQ2VYSURoSmtIRVBveERHWkpXa0hGUjV0MWRvWkFzSS9iblQ4Uno0?=
 =?utf-8?B?RUZBL3dCTGxkemhzTnVyOU1JVEZhSlo1dTVHWWp0ZTc4UW9PWlY3RU40VnFZ?=
 =?utf-8?B?SzBzKyt5aHgzSVlRajhsb3pZMVdXTTc2bGxmVmZsNTRuWjFZTHEyY2xQVlo4?=
 =?utf-8?B?RWk1cG9pM21hUk5KWkxpOUI1TDc3S0J3aW5RTHhERkwrMFMyQ2RhZDFuc2NF?=
 =?utf-8?B?Q0Z5ZUUwL1FsRU1MczM4endjYlBTNVIrdUJ2UG9OZ002REhUWGUrYS9WQlpy?=
 =?utf-8?B?U0hXTXRadDRjVkx4Uk1VS284V3hkOG45Q1YvQnVVaHVySXdTOENXY3c0MnlI?=
 =?utf-8?B?a1crN3NaWEMxd2ZyV05jbXlicE9GTzVucXc3L1J2dHB1Y2JqZDlvYkVrVUR1?=
 =?utf-8?B?SkpQdzFrOGRaTWxyb0FxN2pVbGZ6Q2l3OFdmK0E5bXhNdSt4V1pXZGtxbVRK?=
 =?utf-8?B?UWJNV3R0Sk5iMGlMN0lBU0NhcmZNelNuRVpwWEhjU0ZFZ1BsSFZSRE1TdmJC?=
 =?utf-8?B?aXZiQXFmSGxQemN2U2RNSzRhQlBFVkZSWFdWSytUbk9GTDNVVm05NnNWOWp0?=
 =?utf-8?B?UklhMFBJWHd1TlMvV2ZSMlFGRGFaNnBXSEhuTzV3cXhWejdWNThveW1tVzN6?=
 =?utf-8?Q?+pUPMX/npLVTnWW43L9MRYCoEFOQVXzJ?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?c09zWDVMeFR3czd2UTJsZHBYNEZpSEhEN2FNWFhsTWZzcFI5M3BMUVBTekl2?=
 =?utf-8?B?SzUwZUVGNkI4Tkp3Z3VISTVCNUhIWERNcmp1c2h5Vkl5c0JXQStuQXNUSERs?=
 =?utf-8?B?YU9objJoMDRoZUl2YzhiekthNVBxenVrbHBGeHJyOThvdWZSNDkzZFpLQmFH?=
 =?utf-8?B?cEN5d29ZTTIrQ3Y3RTI1T3VmZy8ra0dwd2YrUXcwMm1Gd1NraVJxb0o5cWVS?=
 =?utf-8?B?Z3dlemhDVmVDaXczTlpUMy8vMlZPZ1gxRmU0Q1N2Tm1ndExFZWZhOStOMFRG?=
 =?utf-8?B?dVJuLzNUNjEzRCtNeFRyUnNYaGxKL0hmRm4xSVE3NGxzNnp6MlZRTk1sRC9z?=
 =?utf-8?B?TVpmbmpza2RhY2tMOWxDNWVvSWN0ZUtjWldvUmpPbE9YWXJjUnRlY1B3bjRk?=
 =?utf-8?B?c0RGSE9Id3A2SnFadDlEWnIvTzNiYjdhUjJrdUo2aEl4UTFRWGJSTm5jUDRH?=
 =?utf-8?B?REFvRS9Tcm96WkJ0aDBuSVh0V0UrK3dyYnpiYXpRbEM1OGJTSHJ3VlJVR3l3?=
 =?utf-8?B?Wk9WWUFhbjB5Q1JRNGFJSDRCQ1dMVi9wZFJRZ1U4a0ZXb3V5SStzM1IwbjhV?=
 =?utf-8?B?Q1BuWTUxSU5MWXVxNHJNN0hZdmRMSzhGTFdGVVQ3cUtCV0MrSlIwWWlvTUlm?=
 =?utf-8?B?bXdWaitrZ0FVaSsrcDNpTCtJenVrenJyZGhHZmFpMnhVUEplSlBPT1pFTU5T?=
 =?utf-8?B?WXFWNzVyVTA1RmdRYU9iRys2SFlOMzhZZjQzZjJENmQ5OHB2aVplR1dMdUhK?=
 =?utf-8?B?M3lJSHdlSFJPMW1GNnBIcUwwMzUrVkxTV2Y4WTZjK3JNV2NXOU5TT0RlbGM5?=
 =?utf-8?B?a01PZDJ1dnBxRGlwWWtmZXNFbTlwY2o0WUhId0F6YXBtQ2dMblp2cEVYS0Nx?=
 =?utf-8?B?SEVDSEtaUVQzbVNCOW50eDRDQzV1NVE5TDRELzZBWDZOM1FLN0UzMnU2dmpR?=
 =?utf-8?B?M2ZIQlcxSlI5aHJGWXYzVElnb3A1RHFaR0J0S0dKRi80OHY3RndlZk15Smpq?=
 =?utf-8?B?WDlvZWN3ZWhVTGZZRXp1cy9WdGhLZ2YzeWJMRTl5c2lURFRoWW5zZTYxSHJW?=
 =?utf-8?B?T2NpQWYzTHZET0k4eTYxQUR1UU5JaGhiR3ZpTHRIVUlVdWFUZkFMdWFyMG1j?=
 =?utf-8?B?VmFKQ3k2ZTl4eS90Njg0TmlDek1IbnBsa09CU0M4a0tpeFo5eWswdWh4ckw3?=
 =?utf-8?B?Y1pjTFRwWmxUQnpGVHJqYloyaUI0RjdSdWNoYXpUcnEzd0I4RzBHS2ZMWFA3?=
 =?utf-8?B?ME5yaUczYWJDeEV0dFFadTZ3V2NpWDRsaUxRcXBMb0h3OEpBRFRncHNBcE1O?=
 =?utf-8?B?OEtQVW9zbDlvQStQd1JreXJJSTFKRjVRZ1RHU2REejBlMXNORWNxZU9NQ2Rl?=
 =?utf-8?B?ZVF4cUJuMkFGWkRwUHpaUDFvc2ZkZGx3WTA2V28wZnZpcG1DVi9YUkdaWVhJ?=
 =?utf-8?B?RmM1WDVCNGxkNXJzYkdsRXplb1JBeS8zb05kZW8zclNnc2VGWVZGbDR5SHJ3?=
 =?utf-8?B?N3B4M2JqM0RDak1NTmtTcFdCZm41SER0UldXTWk3aE9MbXhFMkx2aHpnS0U5?=
 =?utf-8?B?OGNQZUR3NXZYVDJ1K1FrWktjNXh3VnBOblBId3ZlUVN4RWRSWHpOckRuVEpT?=
 =?utf-8?B?Y2VjbG1OKzFDanl1SGZ0RGJRcHkxSlA2bW9HRW1kTUpJVUY2MVZub2hDcUxm?=
 =?utf-8?B?eE0rN25YWk5FbUw1d1d3UktHL3hDbUlRV2swWjB6SFFzSFlXK3YyRnU0Q29q?=
 =?utf-8?B?SnlteTZnMmNlV1d1aklTOE5qMHFQKzFWRlhoUWhSa1pYL3NRaHFIMTI2eUV2?=
 =?utf-8?B?S0k0d0x4TE5IYll5cEJCNFNVNXkxOFc4OUxUR00xQW9FaWdnV01rTDNsajZS?=
 =?utf-8?B?K1dBbDZEOWVSbFBKZmxwczZoMVpMSmhLM0tCdCtLRUJlNGM3VWQ4cCtxWEhi?=
 =?utf-8?B?N0VQdE4yTjJ6ZmpkTEVZRUljZ2tTaGJTK2w3ckZqTjBaUy9OUEdwSzJ4QjZv?=
 =?utf-8?B?ZVl1akxBRGNUcHFSYkwrMGtTUHJpSU5PMnFGQWMrYTJXTVJxOWRCNW5MK2pq?=
 =?utf-8?B?Y0VIVHcrdW93aXlNcEtXdHBna24xaTQzcGw4S2UwZld5SUlDUE5KWVVzYkhr?=
 =?utf-8?Q?bxZVq/guu9wGtWtX1kPtZh4A1?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5e7a96a4-f614-4080-091a-08de18676162
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Oct 2025 10:22:23.1076
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: +yka2QjQ5g0e85GmRoz8YrNdacSy8Wk3L3OCHNujpi4izCjLp5IZ5zDwAn3GyZWK9ZOMyHZmxE29MRPBdoziAw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR03MB4993

On Tue, Oct 28, 2025 at 04:32:17PM +0100, Jan Beulich wrote:
> Both patches also want 'x86/CPU: extend is_forced_cpu_cap()'s "reach"' in
> place.
> 
> 1: disable RDSEED on Fam17 model 47 stepping 0
> 2: disable RDSEED on most of Zen5

For both patches: don't we need to set the feature in the max policy
to allow for incoming migrations of guests that have already seen the
feature?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Oct 31 10:29:56 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 31 Oct 2025 10:29:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1154159.1484265 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEmOF-0004Fd-8V; Fri, 31 Oct 2025 10:29:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1154159.1484265; Fri, 31 Oct 2025 10:29:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEmOF-0004FW-5F; Fri, 31 Oct 2025 10:29:51 +0000
Received: by outflank-mailman (input) for mailman id 1154159;
 Fri, 31 Oct 2025 10:29:50 +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 <SRS0=1UMm=5I=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vEmOE-0004FQ-KO
 for xen-devel@lists.xenproject.org; Fri, 31 Oct 2025 10:29:50 +0000
Received: from mail-wr1-x433.google.com (mail-wr1-x433.google.com
 [2a00:1450:4864:20::433])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8617bcb8-b644-11f0-980a-7dc792cee155;
 Fri, 31 Oct 2025 11:29:47 +0100 (CET)
Received: by mail-wr1-x433.google.com with SMTP id
 ffacd0b85a97d-42421b1514fso1280323f8f.2
 for <xen-devel@lists.xenproject.org>; Fri, 31 Oct 2025 03:29:47 -0700 (PDT)
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-429c13e1c9esm2944872f8f.22.2025.10.31.03.29.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 31 Oct 2025 03:29:46 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8617bcb8-b644-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761906587; x=1762511387; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=yJFiHgEMpQ2j3Ru3LbZJsRfi+UCnSseiTAseDUujbfA=;
        b=Y/lfYzOvA4iaHGbBfDgAYt+w5aW8G23STRtLgqqNGQB8o1LEPHKgSFz36jhJBdF9hN
         QMhdoGnqaleugEtmGqgf3MNGMZIg0TlcESvPA9xdXl8AX3nDw727QIubPb6O4ylMfdVU
         HW6D7W+/odcouIzlKdSNMP7z4UPE/6Trg7F+/1IdXz/FOxpIONSuC9ffq5Doz6KKlPYh
         2dXYirudWodouqf8ELrkVTUfkvbEJHhHsqpLaF5tcn4EPwzjtb8Czf1frNIr4EKLUj3+
         OapRb2syFpZNMjqCCIoYW/ccDTFd813ALCPq+MeI567Wm/5AEinP0DNHEpc4klEm5LcG
         DlnQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761906587; x=1762511387;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=yJFiHgEMpQ2j3Ru3LbZJsRfi+UCnSseiTAseDUujbfA=;
        b=pvhM4YIF91aRVl1MT9mH5A/KAjm2BwflqOTp0ZrAcDPgniZpiiBZS6Y794u5/ehfth
         mzwHoFrmrtIewZB4UAWpsQQIE+fXbxD0GwsKmwctviSoiMdFusuBHvuktqfB80TpoHEi
         jG9ML4lCY1PtxogofVuegiVsRL7WBYBJwXTkuFSzGdREWw9fsbM9nS7H2cZTyEwajq6K
         rvaPBlySqqeTAjoDMg3I4jwB9yBoGustJ+yd9IuwXItL1bCpB09u1IH7XxBz0WQWb50f
         UPVleXUfv1TAv5JvIqS1VDFPfs3dMlmfrZq/imLzy9T3seiN0xkBABMqu8Gxy6K/PhVn
         AMHg==
X-Gm-Message-State: AOJu0YyegwmyBYyVAod2iLXRnAmD//NWQXSuuEkk0YQy6e2MX9M9JLJO
	q+fld2ca26vmWeAmmpoKeeEvdS3Oiei1zduCK37S/K49AirTtM0SY4Dd5yYajSjfyg==
X-Gm-Gg: ASbGncv9SwtntVSxpNx3i+gdQvONzgrze0ku8Rydw3ELLj+zuV+EpiZXnmCOo/WOb22
	G3XWxEy2EAy3X0bV6p7Q9FOi7XJJUIrIkvSSwS0J1AJjovOAOYBPgYbc3iggyqxGBSnLb/ThHv5
	TznNu9UrH/bloKIP9blgnP5oGdf/JX9C0gsK8UOUY1GeU0XAWf/NsCbPYsvLuH6KkP8JBRjB8yD
	uE7GU68OMDQxyRwB6VGsPsdk5s2Re03vtJYZu5Ty6W697Y/fJxpaFG03TvxEEfyMUCIiW7AaosM
	n6gAsIc/i3LJy+6J8WcWyCdaYbFWDpirqjCwaNBNMd3+xJo1P/2BPIIoGN8x7fAIP6ZItvsK5cG
	ZD0jMJaBql6y0RsjUy6dBN1a58PBy5iLStY5ZC6FEIXZRrMPCzoq7CWGpVPlPunEKmExaW6n5/s
	e5DqBRzza3S8oOlykkuxg+UyMPuMmx7ELkqdFTd9w+LKaQx/aPcc0sDpCTF4Z8wmExdl5NTrE=
X-Google-Smtp-Source: AGHT+IHXEK7M0ZW8dxmv6rNkrEuwWkRb5V8oz9YLdy7ezj20qQw2n2/W3pzxEFqore/gR6IrCBUUww==
X-Received: by 2002:a05:6000:2288:b0:429:a894:a327 with SMTP id ffacd0b85a97d-429bd6add12mr2422499f8f.39.1761906586699;
        Fri, 31 Oct 2025 03:29:46 -0700 (PDT)
Message-ID: <68e28e41-e835-4985-80a3-6a99b3d7dc3e@suse.com>
Date: Fri, 31 Oct 2025 11:29:44 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 for-4.21 0/2] x86/AMD: deal with RDSEED issues
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <272093dc-c97c-434a-9977-ad1c26e7e229@suse.com>
 <aQSN3MKxAa_cltld@Mac.lan>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <aQSN3MKxAa_cltld@Mac.lan>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 31.10.2025 11:22, Roger Pau MonnÃ© wrote:
> On Tue, Oct 28, 2025 at 04:32:17PM +0100, Jan Beulich wrote:
>> Both patches also want 'x86/CPU: extend is_forced_cpu_cap()'s "reach"' in
>> place.
>>
>> 1: disable RDSEED on Fam17 model 47 stepping 0
>> 2: disable RDSEED on most of Zen5
> 
> For both patches: don't we need to set the feature in the max policy
> to allow for incoming migrations of guests that have already seen the
> feature?

No, such guests should not run on affected hosts (unless overrides are in place),
or else they'd face sudden malfunction of RDSEED. If an override was in place on
the source host, an override will also need to be put in place on the destination
one.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Oct 31 10:54:22 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 31 Oct 2025 10:54:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1154170.1484274 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEmls-0008Mo-3T; Fri, 31 Oct 2025 10:54:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1154170.1484274; Fri, 31 Oct 2025 10:54:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEmls-0008Mh-0Y; Fri, 31 Oct 2025 10:54:16 +0000
Received: by outflank-mailman (input) for mailman id 1154170;
 Fri, 31 Oct 2025 10:54:14 +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
 <SRS0=Jqku=5I=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1vEmlq-0008Mb-NJ
 for xen-devel@lists.xenproject.org; Fri, 31 Oct 2025 10:54:14 +0000
Received: from PH8PR06CU001.outbound.protection.outlook.com
 (mail-westus3azlp170120001.outbound.protection.outlook.com
 [2a01:111:f403:c107::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ef7a437a-b647-11f0-9d16-b5c5bf9af7f9;
 Fri, 31 Oct 2025 11:54:13 +0100 (CET)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by BY5PR03MB5217.namprd03.prod.outlook.com (2603:10b6:a03:226::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9275.15; Fri, 31 Oct
 2025 10:54:10 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9275.013; Fri, 31 Oct 2025
 10:54:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ef7a437a-b647-11f0-9d16-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=fJJn89nyx7rFqs7v8izAAy/hj9cJ0l3ACnbY8MmBVYHVvP1R/0NiMNVTpDDMz9H9c/yxDpbMoJjP5LNPmD5yv1cnRnTH/VP2rr+tS00B9ROT7DTA6zdtb86txWV9nfFzEAOdL0OTqHLxJtGIqoTiOikFXlZ1tnANwIryNz5vJ4eK9UCkLG+HghqNb994YYPquvBu+iQ2RtM+f1g8iDOrtF+t05JA31EOTadXQjQpNUTA5PXxpJsqrDqwpvKXAGbDPDsSjO02yExn4EiQHvPzlb1Dh2Y6cCgPWQFNNQ3/n7MvririrX8VMZmoABPr4A+bTBMKdneeDi/w5JkXn7ygUQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PxEqSoxAfuqXaN12M/HaAOBAdOoe4YwaxJ3x1Z75AOQ=;
 b=ekuGim6L4gCke0Y6g5i1cdWyG86APjc+CjskJqo42t5Q46yaNDX9UkhmxkHo7nn2iwKj0HawPEzXL0R+sKS+KxwMQpxIlfL11SHpiz8syQn2l+hawgMQTFy95FPJui7N7MIF+01mj8b6icf71Fz++FWJFrYGCtCk/+fgPXJ+34Vr7z957Cmd2u4rPTUd8AtGCUEmE+ZVBMu5aCYrEkuOrgmUbsveRi7sqQqI+N3it0JUsMGb8QKFFzY+BcPA6umU7xIcOXIdoGDZXfJDFtL3n7SKs+HVxrNmZ4OSzZxHTqakbPsrsoelRyrH3aDkyxTr5OJl9cf6QwjWxncwBbMLbw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=PxEqSoxAfuqXaN12M/HaAOBAdOoe4YwaxJ3x1Z75AOQ=;
 b=ntq5NRYefNxjVOrOoeBoueOZ/EommCOFBQsU43Rmo/tdCqgsjxli2CMI2oASQK5A7mhKrgCSp0t8xmZoEQadMuaNKDj7zTUDzMwn574aq3PYXA2wXtgIr5/IIq7IDxrAXTahcQNjLpq3yk+6AgSsTiCP3Lo6MpGYhLkzwJd76UQ=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Fri, 31 Oct 2025 11:54:06 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH v2 for-4.21 0/2] x86/AMD: deal with RDSEED issues
Message-ID: <aQSVTjh5xiib-u5D@Mac.lan>
References: <272093dc-c97c-434a-9977-ad1c26e7e229@suse.com>
 <aQSN3MKxAa_cltld@Mac.lan>
 <68e28e41-e835-4985-80a3-6a99b3d7dc3e@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <68e28e41-e835-4985-80a3-6a99b3d7dc3e@suse.com>
X-ClientProxiedBy: PR3P191CA0045.EURP191.PROD.OUTLOOK.COM
 (2603:10a6:102:55::20) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|BY5PR03MB5217:EE_
X-MS-Office365-Filtering-Correlation-Id: 057753f3-d171-4600-9665-08de186bd20a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?L282cHRzZ2RjT2xBTXdUYkcrRmk4dmtDNHJPaHpsUFRJMldBK0F6aTd3WWl6?=
 =?utf-8?B?c3IvVnJzNm42dzFNS0VLaVRMcmw5YW9RMWk5dXZZSmNMbW1wWEJUbnl3TXl0?=
 =?utf-8?B?Sjl3Sm5yZEdPOXZkRjJQUlMwRU51UFkxc29heFc4VDFqTkp0ZDRRaVMzVlk3?=
 =?utf-8?B?MjR5YWZqUnJwYUN3UlQ1Y1NhRW1na1M4U1NmM0phOTQvR0Y1OUVKNEdhbjh6?=
 =?utf-8?B?K1dsU3pNSXdMRWQyQmRGRFV1UTc2YkorZmJFVVFRT1lOY0RTOXNESDFXcUtl?=
 =?utf-8?B?RXh6TEt1bFpnVnp1bWtJY01TbTAzOUJJeUw3YjZiNDRUWlRJMmtwYU1mbHVF?=
 =?utf-8?B?OVh4VUR2Y2xyWVVld3VOV1NJUEhjSDhHNVBURXBMV1V2eHhPZ1NaOTY4N1VN?=
 =?utf-8?B?NWR6T0dSM2tVU0czWnZ4ZUNBZ2k0RVFSZnkzSkJJRm90Z2dETVVsMU41R2M4?=
 =?utf-8?B?dEtodEU2SGx5YlNUWW9Ec3NlNmM0R2YxbW9YbEJvQlY1UGEzcGtVRks5cGVW?=
 =?utf-8?B?QWF1NWFFQ0tDc2F5R29PRnRkU2E2L1cvcUxLVVhIRWNYQmxMc2w5Q0p0aEps?=
 =?utf-8?B?VWNleURlWlFWUDFQWHdUVnFKT0xJNHd6eGZIdkRFaUtkSEgreUtDcE5LbGl4?=
 =?utf-8?B?N2F3SkZ0dkhSS1JibDBHZitDMUpUZFhvTjJPNUNIMnZNeDBOcWhBdTlHa1Zl?=
 =?utf-8?B?WGY1aHRBR3ZRbFhESXJhZnloOTZ3NWp1a2cvTkI1d2M5RlFwRlhWWEVtMXA5?=
 =?utf-8?B?R0d1c25aekpPd3FKMHRiemtJLzl0MGRFQmxUanhYRmdlaDIwZmRjZ3NEd1BY?=
 =?utf-8?B?dERHRjlZTzZFd0FxYjc0dnJLUlpWb2VTM2FKQWNWWUo2REs5R3QvQmpuN290?=
 =?utf-8?B?STcxSnRsKzNsQ21SYUkyb1JVVXptcXZlaGNDTnZJRXV0eTBPb0FzN0w5T3cv?=
 =?utf-8?B?SytCeVBLdXJDZmhnSFdqdFYwUEh0ZTA4VnVLRnlkc0FaLzRiYWN4NVZQZ01q?=
 =?utf-8?B?K0I3WGMwVUJCdnhLbmE2MjZNOFlpQXlKTDI0UHFmNmFLaEordE5pdkhYUmJC?=
 =?utf-8?B?aFJZU3QwSklMcWtVZ3ZLUFBhaEZCZi9qdDNMRTVBWE9NeXY2U0pmc2dpanJW?=
 =?utf-8?B?dzFvWE94MzlwN1Babk1WR2dFQlRjVS9UQTFSYlNxSE55a0pZSS9GSFk5aFpL?=
 =?utf-8?B?K2NEV0JValpwWWVrTE00VGQyN2lqdzZqaVkxRWJ2RU83TDVSQmFLbEhiYTRr?=
 =?utf-8?B?QlR3enZmMnVGNWZmQktPVDc4QTNPZ3BWc2ExVWRqS1JlVW9xK25xVDRMZUJI?=
 =?utf-8?B?WGMwQUFjaEU4dk0xUDNWQWFwemFQODZwVUVZSWpsS3BkMkNwVmhKb3hkblkw?=
 =?utf-8?B?amlVSG5CMUJKcldOOThDUjdVcmM3MTd4MHovVXZXUzVGYXl3NlNVTWZia0pW?=
 =?utf-8?B?RUNmTkJkNFpsdVRRVG9nVTBXbE9vbm5zcEJSQUgvb3J0M3hiYnd0SE0rV1F0?=
 =?utf-8?B?WE1lVzMyTWE0Z1JpK28yemJNeUhGaHY2YVN3cEJ5N3U4UWxJcDBadFBmTFIv?=
 =?utf-8?B?ZDUraWNxV21mSGZ5WDFaZ2ZIWEpyVk5kaVpzMlVocmQ3ZG0xMnJRTk1oTXFu?=
 =?utf-8?B?RXlsYi9HVEo3WE5kZXFGMzk4S1VySGc2UCs4WkVZMHh3L2Q5NjlCb2p3QXdT?=
 =?utf-8?B?cVd2djdPdWpJVHRmNnFGT0hVUHczZjVHSWR5R21nMjRRa1ZNdk05dWQxYXJE?=
 =?utf-8?B?WDhOOHRReENjenV4aWM2Zld4VjFiWjJhTlMrSnlJaDk5MzN0Zkw4N1lwTWVh?=
 =?utf-8?B?UXFUbGF6QjM3MlFNVUovd1A5WmZtMjdMdnhqYUZBNldPOTYwOWhXM3h4VjRi?=
 =?utf-8?B?eEZXN216eTQzekg5Y1pJajZSQmNIZ3RPZmI5N21QRERWZlU2Z3VueWhleVJz?=
 =?utf-8?Q?sSkJWASON+NVjtqYlC13j0AQUPigF+ii?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dWFzV2pQTnMvRGUrL00rQXJ5T0NHcnhXamZVZ1QxdERhTHJ0bGllcXlGckxY?=
 =?utf-8?B?eFR2YzFDTzRDVFdMR2RnRjV5VFdQQVRPM0tpOGlZUCs1dW5OQ1VrY29ROFV1?=
 =?utf-8?B?ODlhbFg2RE52MlJsVTJ0SjBsdFlFc1RyUWp0M1pLV0hwT3JoMUlsdlFGZ1RX?=
 =?utf-8?B?Z3VKOUlMTzdpY1pkSFhJZGhKQmRPNFlSanlIS2lwWVVSdmlNRUxhSDF1L0Jk?=
 =?utf-8?B?MUMyakFEYm9KYzBOOEg3UjJpOVVSR0JmcWhFTzREMS9BVXIxd3VFYnFtcXdy?=
 =?utf-8?B?NElCZ2ZwazRmRU9maEdaYXFjUVpaalBlVTcyUzEzZnNoZlJtZ01qa1ZMY1Nm?=
 =?utf-8?B?U1A3OU12M0tNN3YvamhsZDRSMWEyOVdBWmN6NGZCb056RmhuSlJGSTBrWnhr?=
 =?utf-8?B?ZW9abEd6cUYwTlRHKzcyY25RUUdIWkdtdml1Rm9IZExNbHk4UWZrRTQ4T3NS?=
 =?utf-8?B?UWkzeFdvQjZva0R6UTFSZUNMNkxIK0dzRU5seXFNd1Zkd1NzdTNZT3U2b2tB?=
 =?utf-8?B?VTdZZW9jT0paZW5lYlpVTFcvNUxBck9lSm43Vlc0dGZvTVl3bXlKQmEwdkZw?=
 =?utf-8?B?RUQyQUQ3ZU96dWxoUzhpUHJSNHpjWmQ3ejB2WXIxblRTUzNmZ0pyQnMzRHJo?=
 =?utf-8?B?U2FkN01qQVQ1SXhXMFFXY0pRdTZqYXloUTBoeXFzSDJ4bThwQ0Y5aTZmbStN?=
 =?utf-8?B?UFc5bmU4TXpXK0ppLzlRTGVUU3lUaURHMUh4RGlVUjFZcVVLeCszeGlDSGNh?=
 =?utf-8?B?b1lmbEx0SnBsdENqekNpWndaSlNnU2VHQThWTnJ4UGE2OW5NRXhBTkZ1ZnBL?=
 =?utf-8?B?cjU1ODkvS0ZaQythcW1COGtTNncyUzZueFYrQ0ZmVXNzZFltcUZPc054ZXJw?=
 =?utf-8?B?SW51SVM5ZTZjU0p2d3VQMHlScUVCeVBBSjVTTTJpdXlUNHl1b2kyR3N3eU1M?=
 =?utf-8?B?dW8yYXR0RXlWdWNvWittRnRzYkM0OXBTVjNNMzBYWkRiOU51dVFmRzFQbEwv?=
 =?utf-8?B?RGtMUE1WWmo3cGtXYno2V25tMnBiOTBsQ1RjVERVclhNRytxVDZ3bEszSlQ3?=
 =?utf-8?B?ZjJ3YW9tTmt2Z2hYU0lFUmNYWHhUNGdFT1hVdTU3YWdzOWFMb0xKdmp3V0Fz?=
 =?utf-8?B?SkRqWi9oUGRkKzNqeUNibTIyczVvUXpRaGpKTyttTnM4TGFqZ1o1dmsrNGcw?=
 =?utf-8?B?UTd4YVRXd1pNbktxdnlEREVZY1cyckFHZVN6dDlCazBnalpDZGxwdStBdDFE?=
 =?utf-8?B?QUZEZzh6UGo0dnoyZmxRenBSemRpMU5sT2h0N3ZVQU5kTTZXVUlnd0lFK3Ev?=
 =?utf-8?B?Z1RHMVE4Sk90cVV1SzQ2QzM1WCtQNVJHbjY0RWFESVI0OVFQcVlBYlNMYXgv?=
 =?utf-8?B?b20xQVY3OHl4a1JraGdYY0F5a1ZYdGM2djJiZUNHL2VzdncxaW5jamRzbFds?=
 =?utf-8?B?NXpEUXhzRUZOSmRQeHhDMnBLbXZaUXB0NFBPRS9sTSthNlRIeG8xUjVGN2pq?=
 =?utf-8?B?V2lCNFlDcmhHaWo5dzBUaCtneVBGWkZ0SS8vR2k4bU0rbCtqUG9sYmxtVEVk?=
 =?utf-8?B?RnFtOHhJb1FsU1FtS1ZyZmp3S3IrWUUxMkF5OE9BNW9aQzhMd3paU1c4Z0dY?=
 =?utf-8?B?cnBLRDdiZ2hnUkNtOVh0ckF3bnI4OEQ0MER4djdDOU9nTjFicW5rRjVOU0tK?=
 =?utf-8?B?VlFhQ2l3ZlVsUms0cnFVQklzV3JnYll2REpPQXVWZ21kd3RrdTBIekdpS3Rp?=
 =?utf-8?B?aEVSOThJd1lhVXc3WXdtVlJHVkZnNU9Cbkprdk0yVmlrUzY4V0c1S1ZNQjRm?=
 =?utf-8?B?Z0ZGbyttZW5kUmx4bnpTUUpoUk56c1RxbkExc0VzdTR0L3o1akcyVHIxU1B3?=
 =?utf-8?B?ZnFBQVJUTHFuUkZkNkpYaDdqbW1SSHQ4OGlIOEhsYVNCc2JWYUF3YmFINmtQ?=
 =?utf-8?B?Z3prVkxaZUVNUzZVL2xxUHVJNVlBME13QmVoc3dOUVFCMWVlQnpXb3NtY3dR?=
 =?utf-8?B?Tld1aENUSnNWbG91K1dtRmk2eEN2d3U3WW9KSFYyZS9HL054NS9rMTZlNnRL?=
 =?utf-8?B?NDZ4bDA4aGx5OGxGc1RjMmtEc2VFaXVBTDVlZEZNMmhYN3kwSlIrZXdzRHVS?=
 =?utf-8?Q?2bPmBZ11yvjPcrlbWv4AQqIv9?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 057753f3-d171-4600-9665-08de186bd20a
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Oct 2025 10:54:10.1680
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: jJqoBDHFOhorvKBrSXhsFKM3q3cygnOdWp7YRxuy80VtwrKrqlPfUCy0Pe2buxB2TjCorwjmG8DfEPBSD6xAaQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR03MB5217

On Fri, Oct 31, 2025 at 11:29:44AM +0100, Jan Beulich wrote:
> On 31.10.2025 11:22, Roger Pau MonnÃ© wrote:
> > On Tue, Oct 28, 2025 at 04:32:17PM +0100, Jan Beulich wrote:
> >> Both patches also want 'x86/CPU: extend is_forced_cpu_cap()'s "reach"' in
> >> place.
> >>
> >> 1: disable RDSEED on Fam17 model 47 stepping 0
> >> 2: disable RDSEED on most of Zen5
> > 
> > For both patches: don't we need to set the feature in the max policy
> > to allow for incoming migrations of guests that have already seen the
> > feature?
> 
> No, such guests should not run on affected hosts (unless overrides are in place),
> or else they'd face sudden malfunction of RDSEED. If an override was in place on
> the source host, an override will also need to be put in place on the destination
> one.

But they may be malfunctioning before already, if started on a
vulnerable hosts without this fix and having seen RDSEED?

IMO after this fix is applied you should do pool leveling, at which
point RDSEED shouldn't be advertised anymore.  Having the feature in
the max policy allows to evacuate running guests while updating the
pool.  Otherwise those existing guests would be stuck to run on
non-updated hosts.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Oct 31 11:22:47 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 31 Oct 2025 11:22:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1154187.1484285 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEnDG-0004K7-9M; Fri, 31 Oct 2025 11:22:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1154187.1484285; Fri, 31 Oct 2025 11:22:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEnDG-0004K0-5b; Fri, 31 Oct 2025 11:22:34 +0000
Received: by outflank-mailman (input) for mailman id 1154187;
 Fri, 31 Oct 2025 11:22:32 +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
 <SRS0=BJ0r=5I=linux.dev=thorsten.blum@srs-se1.protection.inumbo.net>)
 id 1vEnDE-0004Ju-27
 for xen-devel@lists.xenproject.org; Fri, 31 Oct 2025 11:22:32 +0000
Received: from out-181.mta1.migadu.com (out-181.mta1.migadu.com
 [2001:41d0:203:375::b5])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e2e577ca-b64b-11f0-9d16-b5c5bf9af7f9;
 Fri, 31 Oct 2025 12:22:30 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e2e577ca-b64b-11f0-9d16-b5c5bf9af7f9
X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers.
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1;
	t=1761909748;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=nyjzKpu22Trt/0gzyWsVXEu/Jh7s7rdQVLQems4ZlKQ=;
	b=TJxTgbNAv6VQC/hclzu8aspYLQyOkrXQZO59TNSwY65Pe4LtclsZA/dkNjOxHW9lsO/Ia1
	2OLlRAqRn94pA94cVA1jijQmAdVFm8V8jNTYin0Qjy9afBu8cDrxvLaU0aJ8+vyAh+kQ7e
	6DXvLLY2U7vmg9GDTWFZ0H8BfGkuoQE=
From: Thorsten Blum <thorsten.blum@linux.dev>
To: Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Jason Andryuk <jason.andryuk@amd.com>,
	"Dr. David Alan Gilbert" <linux@treblig.org>,
	Thorsten Blum <thorsten.blum@linux.dev>
Cc: xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH v2 RESEND] drivers/xen/xenbus: Replace deprecated strcpy in xenbus_transaction_end
Date: Fri, 31 Oct 2025 12:21:31 +0100
Message-ID: <20251031112145.103257-2-thorsten.blum@linux.dev>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Migadu-Flow: FLOW_OUT

strcpy() is deprecated; inline the read-only string instead. Fix the
function comment and use bool instead of int while we're at it.

Link: https://github.com/KSPP/linux/issues/88
Reviewed-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
---
Changes in v2:
- Use an inline ternary expression and remove 'char abortstr[2]' as
  suggested by JÃ¼rgen
- Link to v1: https://lore.kernel.org/lkml/20251012195514.39003-2-thorsten.blum@linux.dev/
---
 drivers/xen/xenbus/xenbus_xs.c | 14 ++++----------
 include/xen/xenbus.h           |  2 +-
 2 files changed, 5 insertions(+), 11 deletions(-)

diff --git a/drivers/xen/xenbus/xenbus_xs.c b/drivers/xen/xenbus/xenbus_xs.c
index 528682bf0c7f..5d95a5f83119 100644
--- a/drivers/xen/xenbus/xenbus_xs.c
+++ b/drivers/xen/xenbus/xenbus_xs.c
@@ -546,18 +546,12 @@ int xenbus_transaction_start(struct xenbus_transaction *t)
 EXPORT_SYMBOL_GPL(xenbus_transaction_start);
 
 /* End a transaction.
- * If abandon is true, transaction is discarded instead of committed.
+ * If abort is true, transaction is discarded instead of committed.
  */
-int xenbus_transaction_end(struct xenbus_transaction t, int abort)
+int xenbus_transaction_end(struct xenbus_transaction t, bool abort)
 {
-	char abortstr[2];
-
-	if (abort)
-		strcpy(abortstr, "F");
-	else
-		strcpy(abortstr, "T");
-
-	return xs_error(xs_single(t, XS_TRANSACTION_END, abortstr, NULL));
+	return xs_error(xs_single(t, XS_TRANSACTION_END, abort ? "F" : "T",
+				  NULL));
 }
 EXPORT_SYMBOL_GPL(xenbus_transaction_end);
 
diff --git a/include/xen/xenbus.h b/include/xen/xenbus.h
index 7dab04cf4a36..c94caf852aea 100644
--- a/include/xen/xenbus.h
+++ b/include/xen/xenbus.h
@@ -158,7 +158,7 @@ int xenbus_exists(struct xenbus_transaction t,
 		  const char *dir, const char *node);
 int xenbus_rm(struct xenbus_transaction t, const char *dir, const char *node);
 int xenbus_transaction_start(struct xenbus_transaction *t);
-int xenbus_transaction_end(struct xenbus_transaction t, int abort);
+int xenbus_transaction_end(struct xenbus_transaction t, bool abort);
 
 /* Single read and scanf: returns -errno or num scanned if > 0. */
 __scanf(4, 5)
-- 
2.51.1



From xen-devel-bounces@lists.xenproject.org Fri Oct 31 11:48:03 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 31 Oct 2025 11:48:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1154203.1484294 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEnbp-0007du-6d; Fri, 31 Oct 2025 11:47:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1154203.1484294; Fri, 31 Oct 2025 11:47:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEnbp-0007dn-45; Fri, 31 Oct 2025 11:47:57 +0000
Received: by outflank-mailman (input) for mailman id 1154203;
 Fri, 31 Oct 2025 11:47:56 +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 <SRS0=1UMm=5I=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vEnbo-0007dh-3B
 for xen-devel@lists.xenproject.org; Fri, 31 Oct 2025 11:47:56 +0000
Received: from mail-wm1-x330.google.com (mail-wm1-x330.google.com
 [2a00:1450:4864:20::330])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6f6dac43-b64f-11f0-980a-7dc792cee155;
 Fri, 31 Oct 2025 12:47:53 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-47112edf9f7so17235975e9.0
 for <xen-devel@lists.xenproject.org>; Fri, 31 Oct 2025 04:47:53 -0700 (PDT)
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-47728a96897sm90865675e9.11.2025.10.31.04.47.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 31 Oct 2025 04:47:53 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6f6dac43-b64f-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761911273; x=1762516073; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=wsRHN3UXXxYTcMMsTbcLOVn+1rcAHjuOv6n1k5sias4=;
        b=csBTBENIS9ZkhgtIJiiCjBeALggEQOxy7Gl5/XJBhyT7bmYNT5AqIOsR5S+5UyT0ci
         p7RZSNJTD/OpWrW8C1sXhC+qTe4TIGL540PkodbFR5UjgKYALl6VZE5n1MPG5kIX+cis
         d492p7tfre0hJlNf78+0dgFAuxU6lJMqQ/SVlX/Pj3oD6NanNm3nhNWT9bBbJLygsgM4
         fxsPfe/AFfZT+dtjjPvgtpLIpng5nr9KJI0TIBJiNK3xpLbpwhXl3BwxglWZQ51Hwxoe
         hx12iklxsP4VuBwrYmQw/aAduSRTQ+T9MCFEiZDmlFQ1C3+JcwjQe82KzEi9zNUaJQMl
         8Z3Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761911273; x=1762516073;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=wsRHN3UXXxYTcMMsTbcLOVn+1rcAHjuOv6n1k5sias4=;
        b=flnFXxm3PxIvPsPMqDTiktiyvsoBN+GgwxxgAgJN403iIcLZ/VjqdvLunxjIgZbS9R
         VoeIpYoKSzOZVsS3EECFjTyPK1/7bJsBIVJf+Zh5HyQGijYBvczqoL962JlNuWLYHMf3
         4ARv7uBLdF+zRFDL3zmgTtVDirkWIsTb5L/F7j8JFZ47iq6TRYVSWalyhi2aXsQnq/x0
         4Q3nV84WwaBn9kQgeXoOJzdt2A5g0PUgP1FdFF+XwcU4tkmyiRkKMFRxWBuzx1DPbDZk
         tSaL+Bj1eiCPLmMjVBEEmTmpRHgIAF+rPKOYU8yUGA/DQw45BM4lvbtWN6ddO6876x+R
         GRlQ==
X-Gm-Message-State: AOJu0Yy4Q2A+uzLfF8laMf0qQn+GJOQsbN9g1+BrFqvyzYY8GDZgvbxM
	ln6K9m0eGSQANz8nJOg4cqTjjx7ZTEZVWd3QhaVbWOkYy1fJ072s4bibmCmX3FlG4Q==
X-Gm-Gg: ASbGncv4BPbL5BFtEz+RY1ULu/3cBVfEv88Ey4imY1pO9ZaGASXomEQi6QcD0MNKr50
	RQIE1rAGU7t9w7RExQT/FYGEML1bpH88PYPH8GnpvpoZD0MYQkKy1v9X1kSA3osAw7uob11MAyu
	3/JuesrR2Xd68O19HomFcDzWppjb8BXGBekjqVncKWRd9DzgYsmb674v1SAd4/IcVbCRJZWpvo3
	/Mt7oDl5WTSx5DNjXc1xBPx4dWYJRL/IOaVGO3n+HLblbXLiQu8LGYTUCuH1xFGLXKTFSgCUThd
	eLIiGrxB/aN1HltWuJrN1Do4JVHlO3Eh5rVknjqhpxBgiqtNRRNJFV/yIqmMenM6/EvIREHSpnY
	juv3HmWsbLG+gpjmCykeN8sdRsm713CrSwTM1mdZHSRqJO7Lh7iN5u/YupLeDgoY49VB+jssevh
	oUgsEzowiMuvQGz/RR2Qof4vDL6r9ee7uZtpO1Vts3eofpspx8TrqS/Q75bnnX5biBcrJJtzA=
X-Google-Smtp-Source: AGHT+IH3MLjxhs32GE+ceKTPuzzCpSYrh3sRzV9P49X4wpWVPK/1obm1EtnnfmlDvyR7SkUBzjsk1g==
X-Received: by 2002:a05:600c:3486:b0:46f:b32e:5094 with SMTP id 5b1f17b1804b1-477308c01cbmr33142635e9.32.1761911273256;
        Fri, 31 Oct 2025 04:47:53 -0700 (PDT)
Message-ID: <b7293f69-d9f8-4669-a1fd-eaa468445d68@suse.com>
Date: Fri, 31 Oct 2025 12:47:51 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 for-4.21 0/2] x86/AMD: deal with RDSEED issues
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <272093dc-c97c-434a-9977-ad1c26e7e229@suse.com>
 <aQSN3MKxAa_cltld@Mac.lan> <68e28e41-e835-4985-80a3-6a99b3d7dc3e@suse.com>
 <aQSVTjh5xiib-u5D@Mac.lan>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <aQSVTjh5xiib-u5D@Mac.lan>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 31.10.2025 11:54, Roger Pau MonnÃ© wrote:
> On Fri, Oct 31, 2025 at 11:29:44AM +0100, Jan Beulich wrote:
>> On 31.10.2025 11:22, Roger Pau MonnÃ© wrote:
>>> On Tue, Oct 28, 2025 at 04:32:17PM +0100, Jan Beulich wrote:
>>>> Both patches also want 'x86/CPU: extend is_forced_cpu_cap()'s "reach"' in
>>>> place.
>>>>
>>>> 1: disable RDSEED on Fam17 model 47 stepping 0
>>>> 2: disable RDSEED on most of Zen5
>>>
>>> For both patches: don't we need to set the feature in the max policy
>>> to allow for incoming migrations of guests that have already seen the
>>> feature?
>>
>> No, such guests should not run on affected hosts (unless overrides are in place),
>> or else they'd face sudden malfunction of RDSEED. If an override was in place on
>> the source host, an override will also need to be put in place on the destination
>> one.
> 
> But they may be malfunctioning before already, if started on a
> vulnerable hosts without this fix and having seen RDSEED?

Yes. But there could also be ones coming from good hosts. Imo ...

> IMO after this fix is applied you should do pool leveling, at which
> point RDSEED shouldn't be advertised anymore.  Having the feature in
> the max policy allows to evacuate running guests while updating the
> pool.  Otherwise those existing guests would be stuck to run on
> non-updated hosts.

... we need to err on the side of caution.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Oct 31 11:55:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 31 Oct 2025 11:55:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1154218.1484305 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEnig-0000qY-6O; Fri, 31 Oct 2025 11:55:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1154218.1484305; Fri, 31 Oct 2025 11:55:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEnig-0000qR-3M; Fri, 31 Oct 2025 11:55:02 +0000
Received: by outflank-mailman (input) for mailman id 1154218;
 Fri, 31 Oct 2025 11:55:01 +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
 <SRS0=Exqh=5I=unpredictable.fr=mohamed@srs-se1.protection.inumbo.net>)
 id 1vEnif-0000qL-1w
 for xen-devel@lists.xenproject.org; Fri, 31 Oct 2025 11:55:01 +0000
Received: from outbound.qs.icloud.com
 (p-east3-cluster7-host12-snip4-1.eps.apple.com [57.103.84.242])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 68565936-b650-11f0-980a-7dc792cee155;
 Fri, 31 Oct 2025 12:54:51 +0100 (CET)
Received: from outbound.qs.icloud.com (unknown [127.0.0.2])
 by p00-icloudmta-asmtp-us-east-2d-100-percent-1 (Postfix) with ESMTPS id
 31D24180011E; Fri, 31 Oct 2025 11:54:50 +0000 (UTC)
Received: from smtpclient.apple (unknown [17.57.155.37])
 by p00-icloudmta-asmtp-us-east-2d-100-percent-1 (Postfix) with ESMTPSA id
 400291800179; Fri, 31 Oct 2025 11:54:49 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 68565936-b650-11f0-980a-7dc792cee155
Dkim-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=unpredictable.fr; s=sig1; bh=kzMGTw6HxWn9qSJVsZtQqoT+HyWujkzxOdqXS37vWNE=; h=Content-Type:Mime-Version:Subject:From:Date:Message-Id:To:x-icloud-hme; b=cegB/QCsJ4dvUiPm3en5xjFDfxbAiivZczBVoVfqsFIRFw5UGTEUbYwHK8PxDNs9ImQqKnX7c9wkIZ2cSVTKWwZPWkRWZwVeqGvTq5ctJKPOd9shD/OmAapLt1qdVcR+RA3Gt9+Bh6o4SRruj4b1pgcsDMOqIeavbdEIANoaLs66Jz2NxHlMbAOFkQSkMwbS04E27vWMcLnwzK5i299Rp01gvgedrBuyhh/topSXhPzIQQS5MMFBoYLuTrGl7sAN1BOEkfONUmGrLg2/upK6hE7yVF96lZUgUrSO3J9mrc9FwiAFdKIbcH3bGr9ZGLRx1xMHSEippqEOXVg/DrDYvg==
mail-alias-created-date: 1752046281608
Content-Type: text/plain;
	charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3864.100.1.1.5\))
Subject: Re: Limitations for Running Xen on KVM Arm64
From: Mohamed Mediouni <mohamed@unpredictable.fr>
In-Reply-To: <fc181349-d743-4ef0-bcd2-01c04d2a463e@xen.org>
Date: Fri, 31 Oct 2025 12:54:37 +0100
Cc: haseeb.ashraf@siemens.com,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "Volodymyr_Babchuk@epam.com" <Volodymyr_Babchuk@epam.com>
Content-Transfer-Encoding: quoted-printable
Message-Id: <0C76C261-783D-4503-B929-4B48CDEC8841@unpredictable.fr>
References: <KL1PR0601MB4588D25A95D680640A80F2CAE6FBA@KL1PR0601MB4588.apcprd06.prod.outlook.com>
 <KL1PR0601MB45885505ECBBE9262C2B25E0E6FBA@KL1PR0601MB4588.apcprd06.prod.outlook.com>
 <FC5C66FD-8554-4F46-8546-B27DE76C8EEF@unpredictable.fr>
 <2b00a98f-6fee-4341-92bd-25909ebb6e36@xen.org>
 <CA753BD2-31FA-480D-B32A-2125F0F4981D@unpredictable.fr>
 <fc181349-d743-4ef0-bcd2-01c04d2a463e@xen.org>
To: Julien Grall <julien@xen.org>
X-Mailer: Apple Mail (2.3864.100.1.1.5)
X-Proofpoint-ORIG-GUID: 3Vb3l3yG2fumEGFr-sH1zVP9cM3Pk_Zg
X-Proofpoint-GUID: 3Vb3l3yG2fumEGFr-sH1zVP9cM3Pk_Zg
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMDMxMDEwNyBTYWx0ZWRfX5urlLJQ4nOLq
 +Ba9WTP5I484N4taXY+SFhxeqbbdRr1RfiYWf7lUiiyR7E2BysDamBCHXk2JXy1BtMXPCD789hi
 e84Nlozld3w9FBOiVr5Cex42z9RrW6rPM4LlDdueSwnLgsbr/Wvbjvaqankf7Owjtn1f1///yWG
 u6nTgEPvhachkCIWbaP0iFo/kPUYLhQu8ahEyiP90jku16DEDdyPAt4ZntpUpXCMEBx5adpDTjT
 O0g4ugA6rydGIAvMLu5nV0gadZicfejoBfDSGeUsWOwMamZBfzDNaXPuijqyjtYULti9KQCv8=
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49
 definitions=2025-10-31_03,2025-10-29_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0
 bulkscore=0 spamscore=0 mlxlogscore=968 malwarescore=0 adultscore=0
 phishscore=0 clxscore=1030 mlxscore=0 classifier=spam adjust=0 reason=mlx
 scancount=1 engine=8.22.0-2506270000 definitions=main-2510310107
X-JNJ: AAAAAAAB6DdOImB7aF4CcUyVYjT0dtC6UWm7wrUOpGULkjJeVhLUHatN/3RnKQl1v3UQZXutf/xOQvjaMUwcligpDHcFCV0sfi41sIQVdcJRMFYfYubH5AigJXzIqywCS+uKwFLF6rXq6KN3esoj3NVZz+1a+JRHZXPUPgpQs+nzOwJDkL7etfGT8IJpWZE6Dn4JLbuYn0WhO/WEEVtGVV8UhrLX+QRI2tfDGyHnK6QGW8HklcMdWxsRhZhklBBalicydBbQA5HFSjelct6TPo3fYiOiOm8qbnvTJSAIsvyFsJw1sd+RcZ438I3CLMB7bLhPxr6lN8xI1Hs6EI15L/CejvDcuba2wUbrgagqWmAJuxgEODOmiu7Wtic51T5LgMH/8lGx0VtLFv7UdgLLk0I1GjL+bQW+xoykpp9G6fC6tfEfqloFWlaogJejFYcZAqozp9lwfOB8qgtbbt+/CTLda44fG4V96j+5Gp8Bh2x7a54xmTCIuW171LTHXtKL38dScAHAYXzFxGPEXUlZilcu/viJGBgr6WQnPvNuMnp2xAUFW6/ezKNTD15Frvm2Na7jnICztTf/ppBZkvcTU6ksPaApyiDfFq9Mn2nhqETGNedxhO/RdkzY+UWUQWEaKfFj25S2MZVdojyqMnw2mTv8RnStszzsxEsSq4Exqg==



> On 31. Oct 2025, at 10:18, Julien Grall <julien@xen.org> wrote:
>=20
>=20
>=20
> On 31/10/2025 00:20, Mohamed Mediouni wrote:
>>> On 31. Oct 2025, at 00:55, Julien Grall <julien@xen.org> wrote:
>>>=20
>>> Hi Mohamed,
>>>=20
>>> On 30/10/2025 18:33, Mohamed Mediouni wrote:
>>>>> On 30. Oct 2025, at 14:41, haseeb.ashraf@siemens.com wrote:
>>>>>=20
>>>>> Adding @julien@xen.org and replying to his questions he asked over =
#XenDevel:matrix.org.
>>>>>=20
>>>>> can you add some details why the implementation cannot be =
optimized in KVM? Asking because I have never seen such issue when =
running Xen on QEMU (without nested virt enabled).
>>>>> AFAIK when Xen is run on QEMU without virtualization, then =
instructions are emulated in QEMU while with KVM, ideally the =
instruction should run directly on hardware except in some special cases =
(those trapped by FGT/CGT). Such as this one where KVM maintains shadow =
page tables for each VM. It traps these instructions and emulates them =
with callback such as handle_vmalls12e1is(). The way this callback is =
implemented, it has to iterate over the whole address space and clean-up =
the page tables which is a costly operation. Regardless of this, it =
should still be optimized in Xen as invalidating a selective range would =
be much better than invalidating a whole range of 48-bit address space.
>>>>> Some details about your platform and use case would be helpful. I =
am interested to know whether you are using all the features for nested =
virt.
>>>>> I am using AWS G4. My use case is to run Xen as guest hypervisor. =
Yes, most of the features are enabled except VHE or those which are =
disabled by KVM.
>>>> Hello,
>>>> You mean Graviton4 (for reference to others, from a bare metal =
instance)? Interesting to see people caring about nested virt there :) - =
and hopefully using it wasn=E2=80=99t too much of a pain for you to deal =
with.
>>>>>=20
>>>>> ; switch to current VMID
>>>>> tlbi rvae1, guest_vaddr ; first invalidate stage-1 TLB by guest VA =
for current VMID
>>>>> tlbi ripas2e1, guest_paddr ; then invalidate stage-2 TLB by IPA =
range for current VMID
>>>>> dsb ish
>>>>> isb
>>>>> ; switch back the VMID
>>>>>     =E2=80=A2 This is where I am not quite sure and I was hoping =
that if someone with Arm expertise could sign off on this so that I can =
work on its implementation in Xen. This will be an optimization not only =
for virtualized hardware but also in general for Xen on arm64 machines.
>>>>>=20
>>>> Note that the documentation says
>>>>> The invalidation is not required to apply to caching structures =
that combine stage 1 and stage 2 translation table entries.
>>>> for TLBIP RIPAS2E1
>>>>>     =E2=80=A2 The second place in Xen where this is problematic is =
when multiple vCPUs of the same domain juggle on single pCPU, TLBs are =
invalidated everytime a different vCPU runs on a pCPU. I do not know how =
this can be optimized. Any support on this is appreciated.
>>>> One way to handle this is every invalidate within the VM a =
broadcast TLB invalidate (HCR_EL2.FB is what you=E2=80=99re looking for) =
and then forego that TLB maintenance as it=E2=80=99s no longer =
necessary. This should not have a practical performance impact.
>>>=20
>>> To confirm my understanding, you are suggesting to rely on the L2 =
guest to send the TLB flush. Did I understanding correctly? If so, =
wouldn't this open a security hole because a misbehaving guest may never =
send the TLB flush?
>>>=20
>> Hello,
>> HCR_EL2.FB can be used to make every TLB invalidate the guest issues =
(which is a stage1 one) a broadcast TLB invalidate.
>=20
> Xen already sets HCR_EL2.FB. But I believe this is only solving the =
problem where the vCPU is moved to another pCPU. This doesn't solve the =
problem where two vCPUs from the same VM is sharing the same pCPU.
>=20
> Per the Arm Arm each CPU have their own private TLBs. So we have to =
flush between vCPU of the same domains to avoid translations from vCPU 1 =
to "leak" to the vCPU 2 (they may have confliected page-tables).
Hm=E2=80=A6 it varies on whether the VM uses CnP or not (and whether the =
HW supports it)=E2=80=A6 (Linux does=E2=80=A6)
> KVM has a similar logic see "last_vcpu_ran" and =
"__kvm_flush_cpu_context()". That said... they are using "vmalle1" =
whereas we are using "vmalls12e1". So maybe we can relax it. Not sure if =
this would make any difference for the performance though.
vmalle1 avoids the problem here (because it only invalidates stage-1 =
translations).=20
> Cheers,
>=20
> --=20
> Julien Grall
>=20
>=20



From xen-devel-bounces@lists.xenproject.org Fri Oct 31 12:04:31 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 31 Oct 2025 12:04:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1154232.1484316 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEnrk-0002oO-7y; Fri, 31 Oct 2025 12:04:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1154232.1484316; Fri, 31 Oct 2025 12:04:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEnrk-0002oH-41; Fri, 31 Oct 2025 12:04:24 +0000
Received: by outflank-mailman (input) for mailman id 1154232;
 Fri, 31 Oct 2025 12:04:22 +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
 <SRS0=zurH=5I=epam.com=dmytro_prokopchuk1@srs-se1.protection.inumbo.net>)
 id 1vEnri-0002oB-Ob
 for xen-devel@lists.xenproject.org; Fri, 31 Oct 2025 12:04:22 +0000
Received: from GVXPR05CU001.outbound.protection.outlook.com
 (mail-swedencentralazlp170130007.outbound.protection.outlook.com
 [2a01:111:f403:c202::7])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bc660c9e-b651-11f0-9d16-b5c5bf9af7f9;
 Fri, 31 Oct 2025 13:04:21 +0100 (CET)
Received: from DB7PR03MB4140.eurprd03.prod.outlook.com (2603:10a6:5:34::10) by
 DB3PR0302MB9260.eurprd03.prod.outlook.com (2603:10a6:10:434::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9275.13; Fri, 31 Oct
 2025 12:04:18 +0000
Received: from DB7PR03MB4140.eurprd03.prod.outlook.com
 ([fe80::e16e:b655:974f:43f3]) by DB7PR03MB4140.eurprd03.prod.outlook.com
 ([fe80::e16e:b655:974f:43f3%6]) with mapi id 15.20.9275.011; Fri, 31 Oct 2025
 12:04:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bc660c9e-b651-11f0-9d16-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ahUmKpIYlJOKck9iq5fMGfFckzvcDfOXSzB8cq9aaiHg9naSO0vd6eai4EoKBiyQO4Kh28rzvOaIJ3kfY2Nvv1VI3dr18pOHKUh+mlNnS2z3bNrTC9SqdB9atfd5kPVZIgleMQOdSmd6wuw9cToPIop0GUZXWaQs2Fg/6m69URMeuWArW6ai9OM6g7afa0UFaSj0AMtYgp3RFwf5Dm2pN/swgxg/0J28eyT5tmOg82j1mZm46Ge9cZELN3uFSTEFbhhJYpsmHx1hzmqXdEyCYdnUN1jMy8h/gya1orUxNaCLY1wofYW3TkAQ113XV89o06er0QrZap3cj5rYmTOrGg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=b1ws0XCJrVo2C6Slku35u4NK+hyY9C9/vymcCOHaMA0=;
 b=XWYdPdbDtkbNTrQcnxSUjIi79Ll1x+fpuAvuahbVnrdlt+fjG39aXZXpltlHt90KuU86Qg3Qzx3ui9iUtZcbxKBP+4LCmanoj9y9HkBmtTs+NjwcJEgLa8ueN+Cv+wLisdXsXLoFo2KMeXv6NHZckbdl6wnwrEhaphusbXF78DJ59SYatrG5mwXpC7WFxGqxYGZbAM7/fAyCmdE1r0EYKAKMqclIQ6CMT0vWxaT1LJGD6z1bD17TEYJk8NjoZkngN+iwk1We+VQZeasWyuN8Y2odEkU+NkQFmshupYnPV7yXE0xock/gIZGWicGNcdJ+3ypKCskZtirMd+DF2+LKsA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=b1ws0XCJrVo2C6Slku35u4NK+hyY9C9/vymcCOHaMA0=;
 b=gsJb8Da3/DfZGu4cuJrMHBq4ZsD2zak692u6wjphxGecBRlDhlneW1MakVzujfpWtKGwk8xsXwiUa4+Ca4P6ME2nsxXSkFKZ40TQEURN2flbxresqk+DtLmMs4muE90hYNjpeuAAyvh5UnrC17xRSk5i0c4wf0U95aczeJ8h5jiw1atI/xlPlqlW58JblhROwn22ecFsJou+p8gyIipDNGQRhcIr/MxZn0Dh62g+iGus7cdeL2GGSeNQmNImcrxf6cDF2mYCrhEBUQEvqolxbOugLBKJFORD9uCTe9OGefusGoJRCbD3k2QlZiJcHtZ8yLoQLTmaDC8hP9ZgzpOH0w==
From: Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Anthony PERARD
	<anthony.perard@vates.tech>, Michal Orzel <michal.orzel@amd.com>, Julien
 Grall <julien@xen.org>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] kconfig: remove references to
 docs/misc/kconfig{,-language}.txt files
Thread-Topic: [PATCH] kconfig: remove references to
 docs/misc/kconfig{,-language}.txt files
Thread-Index: AQHcSNlQlJpHEC5jN02048Fc+YbRObTZJjcAgAMFDIA=
Date: Fri, 31 Oct 2025 12:04:18 +0000
Message-ID: <98fc0e0c-f298-4252-8e7d-f49af56146b6@epam.com>
References:
 <6f72dcebf5dbb69e9496b7f0ef96198e9bb9f1e9.1761745058.git.dmytro_prokopchuk1@epam.com>
 <9f264a58-9ca2-4323-8f79-edabe70a07a0@suse.com>
In-Reply-To: <9f264a58-9ca2-4323-8f79-edabe70a07a0@suse.com>
Accept-Language: en-US, uk-UA, ru-RU
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DB7PR03MB4140:EE_|DB3PR0302MB9260:EE_
x-ms-office365-filtering-correlation-id: c91ef5fc-30cf-4053-02d1-08de18759e7b
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|376014|366016|42112799006|1800799024|38070700021|13003099007;
x-microsoft-antispam-message-info:
 =?utf-8?B?MHlMRDdiMmNiUWpIZzFUTEVpTlVQRkt1cXFIKzR5dnhWTHQ3d3E0OWtuUUdK?=
 =?utf-8?B?VGF4cmZnNXpSRFFOUXNLKzB3eGZ6TytrcitXN0dvRVZiZkk0SDBGWmhnaTVn?=
 =?utf-8?B?bys1VEJxWmhlb0xmM2RHNFd6ZHBvd0dDNDV2dUppdGtBbXE0dG5wc09tNTg1?=
 =?utf-8?B?WkZjMUVTWkhMSkVBNm9WelczSVh5Sy82VlJBYVpsTFZiVVlTckdrMlYwdkZo?=
 =?utf-8?B?M3pZWStoS2hkRkFDdE1MTnFoUzZldjFybnZlVlViM2thVmVFZWNxM3NqYXZ1?=
 =?utf-8?B?NDRYcGVkbXhtRlhGU1k4bER5QkZXVEpxcVh4eEYzWkJkWncxak1rRXN1QlRC?=
 =?utf-8?B?VGJFWFRiL3VOQ3c1SUk2MHlxVlQrU3I3dEJlcjFSYkkvZEY3ZzZKcU1QQnFZ?=
 =?utf-8?B?aEZJanBSdy9pVUlTK0NFZXA3SjdtbzFiaWp3TDVreGc4RVd3ekJVZmZ3bDBB?=
 =?utf-8?B?SDVCT2pxT3Z3R2lWU0lJM2RNaVBYdUFaeDF4eFcwVVFlaDNtRzRUanJjNnpv?=
 =?utf-8?B?OHEyeXpiZVgvYTVjekRwcGNMcndpb09jczJyNzFtaWM1T2M1UnN2WkRsWkJa?=
 =?utf-8?B?Y3pTZFVYdDQxbE9mRXB2N1o1Zk55eVNSUzRPNm9FQTR0TzJ1L1hCblE1bHRZ?=
 =?utf-8?B?TXYzQnc4YTNSQ0pLTEhhYmMvZFplMyt2VnVublVCRkI3dVdqT3RHbFhobjVp?=
 =?utf-8?B?ZkZRaDZ5bUtwK3l3UXhNeCtSSEdOdGR1NUxlK1ByUzQ0Y2pmNWxxYUR1T0Iz?=
 =?utf-8?B?Q0dPd0VSSnA3NkltK2hwRm5VdlBGdk5Oc2M5RjVmVUxzVHVJMXBzejUySU9o?=
 =?utf-8?B?Zm5pRDd1UHBzN2lRNitFR2tQSVJiS05sUGUvNnpTNlN4b2ZvSnVQRUZRQkhT?=
 =?utf-8?B?RzVzWVhySnpkZmk4MmVxYXI0SUxwWXNqU1daZ2p6WVlFWmN1OVlrWS9WVVZC?=
 =?utf-8?B?eC9ycFhSLzRmTkZTNFlUOHdyYkVHTUNGeEpuTGhsc3RKMnFSeURtQnN6elpj?=
 =?utf-8?B?amRZVldFb3hiYmU0bVlWdjVJMFdPT2VIalFMaTZCUCtUMU50V0lBRFNpSWdZ?=
 =?utf-8?B?TjZ2Mk01SVd2dU0rQlRFTzNScmRkUWR5RDZvaGs2aXRWejNUODdKS2s4aEwx?=
 =?utf-8?B?dHVySEd2VHpKSk10M0Fwa21JUUxLVFc2djdndG5LRkRobnk5a0pncDdVU3My?=
 =?utf-8?B?SUl2ZzVXTjFrWk9yNWdoYlFKUXdDc2wrQ2pKK2ZVNWVaaW9TNnExanhVSFJu?=
 =?utf-8?B?ZVI0NlZKUHMyVVMyZkhKRVlVZ2lKMWVzNjVIbW1tdkx5N0lQbmYwTklndSs4?=
 =?utf-8?B?UlpWZEVtKzQwRWorSmlpN0dEMTdJNU9kcE9WZ05MQnhrWFdTSysreVJ0eTFt?=
 =?utf-8?B?cksvOWxjRmMyRUo1Ym9xVDMzNTE2Y2hsR0d5WTBNSkxoU3FMNFh6a285bTU3?=
 =?utf-8?B?b3FVR0dFLzFpZFJoNS8veFdEdHVaTnRjUmxiRmVjeS95bElOMWFHZ1Fzei83?=
 =?utf-8?B?eEtwVUpkTFpOdWxzUXQ3TVhMc09UbGlIMzd1VVl6TlhzcnhXTEl3b20zNEZp?=
 =?utf-8?B?a3FBK01kVkVFNVlHb3lvbjc1eVFwZFRXQW1EZmM4cVJWc2xIOFN6V2lDYi9q?=
 =?utf-8?B?d0ovektUVWhMMENRVU9ST2hpMmpMSnY0aHZEcFRsS25pbUUyQUxqZXgrMEl6?=
 =?utf-8?B?WlE5eHdOeTVrNVpsVzh3V3UyU2VqWUlrRE54QnY5OTdsTzFqYlUyYkxXbXVX?=
 =?utf-8?B?UTliK3JsSjVrbndYS2g1aHNLK3lRbVJ6Uk1DT1M4Um1DbWpNcnlMbEJCRDJw?=
 =?utf-8?B?b0RReVgyZ1ZFUTB1WHQ1L2tEblIvV1BJL0NPbFp6YkhVTk1mTWFYQitkYTlj?=
 =?utf-8?B?NU1NWVQyblpaSWlZczdsU0FUS1R2Y1FTa29TczlKUmNPK2VsWVZMZkxWODZB?=
 =?utf-8?B?MDNhZDh3VWRLdDNUVFVsdklJREVyNEUxckZnR3Nia3FlN2R3b1pEZENHcWFt?=
 =?utf-8?B?S0Fac3BYSExUcFdXYW1nNzg2QTB4WkgzNlh4THE4WDZjWGljVHNJL01EVjFU?=
 =?utf-8?Q?uGerHS?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB7PR03MB4140.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(42112799006)(1800799024)(38070700021)(13003099007);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?Y1JuNGFBNHJhOERDMk9lcER6Z3V3Zk9xT2dEcGlUQjdhbk1reVhUS3hJL3Zi?=
 =?utf-8?B?TUxoTS85UmtvUzh1eXI5RHJsWXM1Mzk4SzA3SGxJMEcrL0NFY2FwWTd2NHdJ?=
 =?utf-8?B?RHA0dmZoUXlkN0pVWjhpRUF6VTN4cW4xcDhBcDFPWFB0OXFSOFVTT0s0bEty?=
 =?utf-8?B?cmh4NTVtZExnajZnSGZVSkN2TG5OVktYWVhiQ0xvM3NXUXR1OFJINlg4L0kw?=
 =?utf-8?B?cmFCYUtVWFZqZmh5eHhPWkhnc0M3ZG51aWpqbzNEcHhuSXFaUloycnE2VmRl?=
 =?utf-8?B?WndxemVNcWZwQkZNb0EzOWYxMjduTEZLZUxNQVRuUVZvWWNlNnFwUE9zWG5N?=
 =?utf-8?B?UHhqKzEzd3ZzQUt0Yzd6S0ZkTW13cVJST2RRaFdyem1PNVMwbE5GYkpSM3E5?=
 =?utf-8?B?WTU3Nm5HVmFSeGlVNTQyL3l4cFhXZytIR3phWWFVOEM0RUp4amtpdTFpS3JH?=
 =?utf-8?B?d0UzWk5kRnlJMmdvVUg3dHF2NEM4K1E0MnlLNkNmTUhyUTA5VnlZN2krSU5H?=
 =?utf-8?B?eXJRclp3Z2FLRTdNSjNOaFJwK0NaUThhTWtSTUV4MVQvWitES3EwZFlZankr?=
 =?utf-8?B?R25TeGxqbHVGQ3E2SkxUd2VUZU1yaWhIV3V2ckVBRFFhVitUZEVmK1BtZWoy?=
 =?utf-8?B?S1pZZ1ZMTkh2S3RVdk83c05tVWlZRWpxZVcxWFN2WUFUblNXQzE2alc5UHlu?=
 =?utf-8?B?NG9FNGJ0SXdhWGtnU0hZanBVMXR0L1F6bkJ6N3lvQTdqNkdTU2JtWXpoakdk?=
 =?utf-8?B?L1NEZnBlcStWL0dIYk1qMDB4a2swUlh3T3pqMU0vdmxackVNeE1raCtaalpq?=
 =?utf-8?B?K2RZdmRkT1c2Tm1nMlp1S2N6MGkvYU1JZGNYdjc3QnIrNmlSaXp1dXNKMGpS?=
 =?utf-8?B?Y1A1elIwTlI4SWFYdVRjUGlMb0dNWGhyVXVVRWxBV3RPNVNZcmRRNmdWY2pL?=
 =?utf-8?B?QkVjMFd3R2FpRndXWlg0cFo4TThzSzQyVUR3eWxHSEpHQXlwLzBjaFhkRmE3?=
 =?utf-8?B?bmRjNHltVDlMeUdMcVJobmtCSkNFV3VhcHFwZGhJRFZUZVpBWmFPM1pFRkhO?=
 =?utf-8?B?TEtid2dnejE1b2F3SkhtVG1NOVBBbmwwRzRQSXdZRm5ZM2Y2bGxBWkppTXFI?=
 =?utf-8?B?ZzZDM0dha0YrUUxBbWNJdTlLUnZ0UmxTNGxmWFp1RDQ5YWhYWlRJc0FWK3Bu?=
 =?utf-8?B?OWFWRTYvTWlwV1JNbHNjTjBVT05aejN2ZHlSanIzV3V0VUFrMWhkQ21CUEd6?=
 =?utf-8?B?Z2ZJTnE1aExmRmo0OGUxMlpWYTlvMXB0QjFxYnUyc0hxVjBETnJxUXJxWVoz?=
 =?utf-8?B?OHd6ZU8yWDA3QlRabS9XUEZJQ2JHUHlJWGxuYUFEYjNLNHVyNTN4cmVxdjdJ?=
 =?utf-8?B?RDFkYTFBYzZsbVoxMWtrOUZZOGhVc3ZOclZJS2hIaS96MXphUGxXT3dlMFdW?=
 =?utf-8?B?UE5QLytCdSszdDFmdUl1b2QxS0pBcGhpaEdQenNuMW10ZFp3SFZKckJDQ3Qx?=
 =?utf-8?B?a09XMEJwUXVUS2VGajVvaXJCVVFhTExYVmhMVnlCMm9qZVJzdzhQZmxwMGhz?=
 =?utf-8?B?a0tpdjQ1dVFSaTVJb2RpQjFxbW5pbTBhMmhiaUlyZUZTcUE1bFVLaEJWdmVi?=
 =?utf-8?B?ZVZuOGFpMGh5S2ppV0dta1YwbmE4bkNRVDVGYkM1bkEwaFBPTFJPVUF5ZFhC?=
 =?utf-8?B?VXNjUDR3ejlSNGRHbVJPSmFGV05sNk1nVHlwK3VCZ2Q4cHM2NHBvdmNLM1Bn?=
 =?utf-8?B?Uk5iOXpDeStBT2p2cXhLc1d5Yi9JdkNMUlhSYjdHclRtTmpXb1lJb0RZQlNz?=
 =?utf-8?B?RkJzSXNHcHhhUjY4UE5FaXlvS2hFSUZZMzFhZ0kwYzNET2pWTTE0Tnk3VzlL?=
 =?utf-8?B?OGR3cWdZaWFhaG52Q2EzVndPNTVtSHlSczExN29QZHJuSGJDT0N0NGp3dHVa?=
 =?utf-8?B?dk9oM1BXY1J4dXRpWWlpeENwelZKa0VYemovRUR0aDZBZW1EbzU1R2doTHlC?=
 =?utf-8?B?Qk1OMXZ2N3liQ292Y2RuNnJQdTlMT1VJSG85Q29oa013SGZSZEtQdWNKV3ha?=
 =?utf-8?B?T3IrQlJZYTVLTDRIaWwzbm9UOGdGdGNzRVYrVEpvWXlIdVJXZ2JaRDB3UE1B?=
 =?utf-8?B?MFJvZEJYYlpva0dQd2tKTzM4ZVZZYmt1YTdBSm4yMnhwa2ZzMjlmSDZPdkVE?=
 =?utf-8?B?UGc9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <B47D66F2B23024429F534FDF31C6C676@eurprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DB7PR03MB4140.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c91ef5fc-30cf-4053-02d1-08de18759e7b
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Oct 2025 12:04:18.2106
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 0C1aIV4K4G4MoE7AJLCjLSYb2zVqEINQr63guNPRLUivLILIMJxAdA1xmsyNCa4xYsoSD3ihYUoFc0z8QIr26PoCJVgHjDvxLS6cQF0/4Yg=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0302MB9260

DQoNCk9uIDEwLzI5LzI1IDE1OjU3LCBKYW4gQmV1bGljaCB3cm90ZToNCj4gT24gMjkuMTAuMjAy
NSAxNDozOCwgRG15dHJvIFByb2tvcGNodWsxIHdyb3RlOg0KPj4gVGhlc2UgZmlsZXMgJ2RvY3Mv
bWlzYy9rY29uZmlneywtbGFuZ3VhZ2V9LnR4dCcgd2VyZSBkZWxldGVkLCBidXQNCj4+IHJlZmVy
ZW5jZXMgYXJlIHN0aWxsIHByZXNlbnQgaW4gWGVuLiBSZW1vdmUgdGhlbSB0byBjbGVhbi11cC4N
Cj4+DQo+PiBGaXhlczogZjgwZmUyYjM0ZjA4ICgieGVuOiBVcGRhdGUgS2NvbmZpZyB0byBMaW51
eCB2NS40IikNCj4NCj4gSG1tLCB0aGF0IGNvbW1pdCByZXBsYWNlZCB0aGUgLnR4dCBmaWxlcyB3
aXRoIC5yc3Qgb25lcywgc28gbWF5YmUgeW91IHdhbnQgYQ0KPiAybmQgdGFnIGhlcmUgcmVmZXJl
bmNpbmcgMDQ0NTAzZjYxYzk1ICgiZG9jczogRGVsZXRlIGtjb25maWcgZG9jcyB0byBmaXgNCj4g
bGljZW5zaW5nIHZpb2xhdGlvbiIpPw0KV2VsbCwgSSBzYXcgdGhhdCBjb21taXQsIGJ1dCBpbnRl
bnRpb25hbGx5IHNlbGVjdGVkIGZpcnN0IG9uZS4NCkxvb2tzIGxpa2UgY29tbWl0IDA0NDUwM2Y2
MWM5NSBpcyBtb3JlIGFwcHJvcHJpYXRlLg0KDQo+DQo+PiAtLS0gYS9JTlNUQUxMDQo+PiArKysg
Yi9JTlNUQUxMDQo+PiBAQCAtMjMsNyArMjMsNyBAQCBYZW4gSHlwZXJ2aXNvcg0KPj4gICA9PT09
PT09PT09PT09PQ0KPj4NCj4+ICAgWGVuIGl0c2VsZiBpcyBjb25maWd1cmVkIHZpYSBhIGBrY29u
ZmlnJyBzeXN0ZW0gYm9ycm93ZWQgZnJvbSBMaW51eC4NCj4+IC1TZWUgZG9jcy9taXNjL2tjb25m
aWcudHh0Lg0KPj4gK1NlZSBodHRwczovL3d3dy5rZXJuZWwub3JnL2RvYy9odG1sL2xhdGVzdC9r
YnVpbGQvLg0KPg0KPiBJcyBsaW5raW5nIHRvICJsYXRlc3QiIGRvYyByZWFsbHkgYXBwcm9wcmlh
dGUsIHdoZW4gd2UgZG9uJ3QgZXZlbiB0cnkgdG8gc3RheQ0KPiB1cC10by1kYXRlPyBUaGF0J3Mg
d2hhdCBBbmRyZXcncyBjb21taXQgc3VnZ2VzdHMsIGJ1dCBJIGRhcmUgdG8gcXVlc3Rpb24gdGhp
cy4NCklmIHRoZSBrY29uZmlnIGRpcmVjdG9yeSB3YXMgaW1wb3J0ZWQgZnJvbSB0aGUgTGludXgg
a2VybmVsIHY1LjQsIEkNCnRoaW5rIHRoZSBmb2xsb3dpbmcgbGluayBpcyBPSzoNCmh0dHBzOi8v
d3d3Lmtlcm5lbC5vcmcvZG9jL2h0bWwvdjUuNC9rYnVpbGQvDQoNCj4NCj4+IC0tLSBhL3hlbi9L
Y29uZmlnDQo+PiArKysgYi94ZW4vS2NvbmZpZw0KPj4gQEAgLTEsNiArMSw2IEBADQo+PiAgICMN
Cj4+ICAgIyBGb3IgYSBkZXNjcmlwdGlvbiBvZiB0aGUgc3ludGF4IG9mIHRoaXMgY29uZmlndXJh
dGlvbiBmaWxlLA0KPj4gLSMgc2VlIGRvY3MvbWlzYy9rY29uZmlnLWxhbmd1YWdlLnR4dA0KPj4g
KyMgc2VlIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvZG9jL2h0bWwvbGF0ZXN0L2tidWlsZC8NCj4N
Cj4gTWF5YmUgbW9yZSBzcGVjaWZpY2FsbHkgaHR0cHM6Ly93d3cua2VybmVsLm9yZy9kb2MvaHRt
bC9sYXRlc3Qva2J1aWxkL2tjb25maWctbGFuZ3VhZ2UuaHRtbA0KPiBhdCBsZWFzdCBoZXJlICh3
aXRoIGxhdGVzdCBwb3NzaWJseSByZXBsYWNlZCBhcyBwZXIgYWJvdmUpPw0KPg0KPiBKYW4NCg0K
YW5kIGhlcmU6DQpodHRwczovL3d3dy5rZXJuZWwub3JnL2RvYy9odG1sL3Y1LjQva2J1aWxkL2tj
b25maWctbGFuZ3VhZ2UuaHRtbA0KDQpEbXl0cm8uDQo=


From xen-devel-bounces@lists.xenproject.org Fri Oct 31 12:14:40 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 31 Oct 2025 12:14:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1154244.1484325 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEo1a-0004du-3m; Fri, 31 Oct 2025 12:14:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1154244.1484325; Fri, 31 Oct 2025 12:14:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEo1a-0004dn-04; Fri, 31 Oct 2025 12:14:34 +0000
Received: by outflank-mailman (input) for mailman id 1154244;
 Fri, 31 Oct 2025 12:14: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
 <SRS0=Jqku=5I=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1vEo1Y-0004dh-4i
 for xen-devel@lists.xenproject.org; Fri, 31 Oct 2025 12:14:32 +0000
Received: from SA9PR02CU001.outbound.protection.outlook.com
 (mail-southcentralusazlp170130001.outbound.protection.outlook.com
 [2a01:111:f403:c10c::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 261f8030-b653-11f0-980a-7dc792cee155;
 Fri, 31 Oct 2025 13:14:29 +0100 (CET)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by DM8PR03MB6213.namprd03.prod.outlook.com (2603:10b6:8:39::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9275.12; Fri, 31 Oct
 2025 12:14:24 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9275.013; Fri, 31 Oct 2025
 12:14:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 261f8030-b653-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Q0Ep09GSjqHyCYn68OfLv0yxji0lDm9NBY2sp5avW+omNVIu/GmlzJf7EQsOcNfTQC0hq3wHthcEkZajU0L6yJeiOFiY1hF2w3jxS+SRvsfIp/pS7e7j6cz1eT9G9ttp6wkD/hA4u2JnWpCl6+Qu+98PcKBnLV8WdJ10CdOeOXkTxd7p4o05DDv33OC8BQjpx+lbMiLHCJUOeiJ6HdrRhDJduu+8UkjOsPZg+0Mt64m/dRwKzA2qe4d4wud4iYSWWEVHG5WDtLa9dMF84audBBCBmK5yNLgV4kY0oycCEw6aNtNOlgJT+4f+4M0Zkk+y3MVx3HjHuOdofq4dUmLbDg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mxKyPXADnKOjXRHFJGDriTZ/voC/jxTDpz6G0aEzp4w=;
 b=LckxKR50exJsU2zRP1Cn1nSjNeHdus7/ZOIhqaTMChbJYTgJiUH0a5sGLHlJiVizijFn7MmX4Ac2aJVqP0hHBL+NCiyTHJeCDB76AWepZDWIX2N9cWbOz0RZkf73i5f8CfvK+qioWOwezYphJDCXCAf6T7IB1ss4UV5N4S3iDmkgZiO7ny22kUf4rNM8dP+gpSDq1/HnQcrzUaGdtQenp8wpmA5T+R2uMohSBA4FU+jhy+SeU7KHneqa3vCPsDLPbdSFusWWsHgwoTbXrLgwnLGAlNZmrmLKIsyuXuIGeH/ckM8W3mwvnDfPGDneFn4RDNVRc7AE+wbUmPS3EQRGcQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=mxKyPXADnKOjXRHFJGDriTZ/voC/jxTDpz6G0aEzp4w=;
 b=c7sRAIi5SBKZSwVt6Cp2F7XUMRfdN9BGV8kzaIOpRhlu8cLj6fqyXe4GOSB98pQDF69mzP+keTNOreN3KTi3CUbUylzX3KUAw71h/JaG8kOW3q85llx8jLPQg7DochjSxiv1m8r2ZWT3dU8MWhs3heggJQQIM/y5CdraIooyLNw=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Fri, 31 Oct 2025 13:14:11 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH v2 for-4.21 0/2] x86/AMD: deal with RDSEED issues
Message-ID: <aQSoE8ugCKdNWy9C@Mac.lan>
References: <272093dc-c97c-434a-9977-ad1c26e7e229@suse.com>
 <aQSN3MKxAa_cltld@Mac.lan>
 <68e28e41-e835-4985-80a3-6a99b3d7dc3e@suse.com>
 <aQSVTjh5xiib-u5D@Mac.lan>
 <b7293f69-d9f8-4669-a1fd-eaa468445d68@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <b7293f69-d9f8-4669-a1fd-eaa468445d68@suse.com>
X-ClientProxiedBy: PA7P264CA0235.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:102:372::13) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|DM8PR03MB6213:EE_
X-MS-Office365-Filtering-Correlation-Id: 507c94ce-5ecb-40d9-652f-08de1877024b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?a0gxeXJ1bmxVNjFJVzF4anNwRmE2WStTL3lnenFYTGZyanE5MHpyNzBxcElm?=
 =?utf-8?B?eVRxRmRUUzhCK293MkNmc1NPcnhmMmV2Rk91Q1BUanJmSmhvQmpucUdPS3p5?=
 =?utf-8?B?UVZDVkNHSVZpSUJRR3Y4U29KckkrQkJLSFBKMkg4OGYyT21QTTZUaGY1a0lC?=
 =?utf-8?B?VkVTbnlBZjB6NDFSUWVhUU1JRzc3UTlBYmgyTk8wWmc4aHlPc3lTNGdSMFov?=
 =?utf-8?B?TVZEOTBBelZZMFk5Nm0xOExtdVl6V1NJWXJSZlNpSTdpcXMyT1hUcXhOeC9F?=
 =?utf-8?B?V3lWUUUyT0hLZ2lUOHR1Z01LWjFRbi9la0R4ZHhpamlIUmNhVlJLc3NTSlN3?=
 =?utf-8?B?eHJYZWphK1dtUmdoajg5WXMwRjcrMTNWaXZJN2hpWWNYMTYvbFh0eUhSME9N?=
 =?utf-8?B?MU9vdEZKOFd3akxWMTFDVkpzdkRpQkNMQTJIaExHcXd2ZEd1T0wvTzNIRXNq?=
 =?utf-8?B?cU05SjFiVGdzMzZYNFJrMFQ1WWtTd1dGTHNNa0c1TFIreU96dkQxaElHdEVB?=
 =?utf-8?B?UmxHMlF4RVNQcjk3RUlHaUpMSGdTQ3Jpdjk3YW5ESkFLZGtQK1pMWDFObFEv?=
 =?utf-8?B?UGJtUWhDeHd4YVZGMDd2U2wwNHI5TWZ4TVdzYzltNU9Cd1NBZm9ja0xNd1FT?=
 =?utf-8?B?b3pTTm9LT1czVlVFWFg1SWxPbUo1c1ZiVFZmOVVhN3gwTmRKVUxUbzhpQTFa?=
 =?utf-8?B?WnRGbHJwUmVQNW5USFpobkQxYjUvVFZJd2h1cDNndzRqK09qcUllNDVsb3JT?=
 =?utf-8?B?UVZkWFR3aEw2L2dZUUpuZDhyd2VEUDE4bDJpS0ZRdThwdDRBVUhUMTVZL0w5?=
 =?utf-8?B?S21zd2d4UzJsK01oR2F5UFZ1ZWVydDhlOUNTZ0ZxQkFsMUhJa2RhQVpXdHJa?=
 =?utf-8?B?TVhIcG9iRE5XK2NxdFpFVHVMQVBVcmhjbE9ITjVpdEIrY1V6cXREUVg0QUlJ?=
 =?utf-8?B?VjR4aXNZY1lxaWIrcStPcWpSZ2I3VXBYYmVpN1BPZUEwZzlTL0RBZG5nZmNj?=
 =?utf-8?B?Q2FpMjI2Z0VlTDV2T0I4K3RsSzhwdzFiRHVJWlZaVkMya1JDbk9BMmFIcXkw?=
 =?utf-8?B?RUFhVjloWFpEejBSbG13empvVDlyb25kZS8wNW94MkJIVWpwVXgyL1h1NGF1?=
 =?utf-8?B?SDVxckF2T0pBVVl5aW8vODJBL2ExK25RWEVRbjFHQ2JmOUpvWitGU3phZnBx?=
 =?utf-8?B?eUtYVDlDRTR2SURWTHFrR25vcGFZQ1RHL3hrM3gyaG5PSnB5K2NsMWZSR0VZ?=
 =?utf-8?B?YUtsUXcxaWN1SkZmZWNNTFFhSWJnSnVFR3l1b0VOQVhlcDJZR0VOUklKK3FI?=
 =?utf-8?B?c2RsREtYMGZwc1RhTXJSd252am13VlBncVZnRkdMdkhIdmRxdDIzOTZNclYy?=
 =?utf-8?B?ZkVKSUVzQnFMazFhOUJLblZlMVhZYmx4TU9pdVJZNU8rdTJRWi80ZmljMlRG?=
 =?utf-8?B?WWxtSytPS3lYUWdPTVZ0eFo0ZnNjNi85T0xIemFpRGE5clBjeFpnN3NPK09l?=
 =?utf-8?B?R2pvZjJJeURuQXBjVFN2b0dveWNIMk5yRldES3lUdUllWXpJc3h2YU05TmpM?=
 =?utf-8?B?YXA1S1hIeDEybG8wbmllS0loOCtXaTBLc1hZZUFXQmg1aHR3WXJ0UmR3cnJz?=
 =?utf-8?B?Y2tRRUk3Nk5xVjBGOERubDhhZjhBYlNIUXdDSTl3cDNQVnk3MjNLdzRUMWZB?=
 =?utf-8?B?QjVUMHVUV2dPb21OKzBwbUh6UVhqT2IyVzZoakIwWk1QN0NjMUlvd2w1USs3?=
 =?utf-8?B?S0F3UXdyYm5FYUM3TXZ6WHZ1RWx2RitteC8zZlF6UTkxbFU4SDNUcHVCcU96?=
 =?utf-8?B?R2g0VG1pcFFJdDdqQWxvbmZFVDFsQndTbzJsQXE3R25pOXE2VjdBSHp4Nnoy?=
 =?utf-8?B?ZERPdUYxNEpXcmFuc2dqRU93eWtaNHlyRFZlTEEzVCtnNTQ1VFBLOEpoY1Ji?=
 =?utf-8?Q?/8qqVi3v7LS28C4NcsfWUDkBhEsweGjd?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UzhlL081MFNPQk9wNlk2eCtFd1hQZ0xyWHVRUkwzbm52T2VqUU8rLzFKRklo?=
 =?utf-8?B?WGplVjU5bGJvbVhwTDRlTFdwNU5mODcyM0xYbGYzUkViaVkzMno1LzNaU0xM?=
 =?utf-8?B?Nm5pQnBOMVZNbXZLMkhaR3lnVmtsRHh2d2l5SGJKNktZd3FvSVNBU3BDdHp2?=
 =?utf-8?B?VGdOZmNiTVlOK0dFSzFsRVlsOEt2UWJJTjhpM0RQRnJXWUN5aGV5ejRVSFV1?=
 =?utf-8?B?bS9tSk9ZTXVDb2pXT0EzUk0yS1phOVNXczZrZFhaZVMxNjdUa0dCalpvSmRT?=
 =?utf-8?B?N0kwT0NUUGVldHlIVDdSbTNBcnpUUC8rbCtydkxFM0dSNGNXUE1sYXJxZXcx?=
 =?utf-8?B?My9yalBORlgxbCtLNHNzc3RNcHQ5RGNZZndzZDJxRjI3WERsWmdBMDFBYjk4?=
 =?utf-8?B?Szk0UE05VTlHQS9lT1VhK3ZMYWVzTEtrazBxOWVXeGNyQjNrdDVzUHdIS1lI?=
 =?utf-8?B?UG1rMElGNDlKY3ZmY2JKM0xNTUpKcGJmVktXYVJMVldPVTk1ZHZjNGFQZ0Zp?=
 =?utf-8?B?L1VYZlNyWFl5TVd6YkliV05jaW5nbWhVemhOMWp1Wmd5UFk1ZXdpNlhIQnNj?=
 =?utf-8?B?YWJyTncyalRNU0Q0aGJoVi85OFJuVkllK0JtUEk3L0czZjhvNWphcWs5d3RW?=
 =?utf-8?B?czFTQUdkYXdxZDZlY21HTXlNaGs2T1BDNmhHc3FkcGVJTUpMNFl1M3g0S1Fh?=
 =?utf-8?B?RXl4ajdzMEZkS0JsRkFNbng4SXo5SnN4L2hmZC9sd2Nma0VJeWRyUzc2enZP?=
 =?utf-8?B?MUJTdkd4NTAyYmV0d0JnUnBHUUZBSGdXVWRHS2tBSXEvaHB2WjhkRTE4QlNX?=
 =?utf-8?B?VVdzd294RUxFbzl0N3ZFMStpQkFLSm91SWNacXZSNGsvVnlUNlVnNG4vcnZx?=
 =?utf-8?B?R3BmSFpDZVE2UThnOU5UNHllaENmMVVtMXpjRldIdVJuWC80QUVZczhDNElI?=
 =?utf-8?B?Rjljam9TcXRUWTd5Tis3bjdrOWRSWFNJUFZxUTdyQUR5aUx1aDZJOUJoS1Y5?=
 =?utf-8?B?S3h3Q1IrSFZuTHM4c2JlNXpoT2pFNE5MUEp4cW51aXZJZlNHcHlGdmpQemNK?=
 =?utf-8?B?TEx2Si9OZWZJMUlsSm1TNGtyR1lwVjVYWUd3Z2ozQ2c4UEMxSkg1TXJqb01j?=
 =?utf-8?B?YWM3ZUxJOER5QlBZRzN4aFJIcit3M2hIY096TGxqK3d2YWlQMFZXVzZQOEpD?=
 =?utf-8?B?UkhWYmwxZW9YN28rZzIrYWE3VWowc1ZFa2k0b3NYdXpaSHFoUFRWekY0eUdm?=
 =?utf-8?B?bFRwSkpyb3pRcFRuTDQ5bXhhK29hTVY2VHNWU2NUdlo5UEd3K05mV2lkN25j?=
 =?utf-8?B?R2RVTjNoUVhha0kyZjhELytPTFdJMENPc2FSc3M4Z0ZnN3JIakxPZnlSTFlT?=
 =?utf-8?B?RXdPWEhObW4wTjdsWjdlbG9MT0xTZzU2WFpZSTBOcXJZZi9IdE5BZjcwSnh1?=
 =?utf-8?B?YXl0MWJ3YzNFMHFpRnlhRDQvVUtSTVl3VnF3Ti8wRUxNaEZYL3YxTFZpeUx3?=
 =?utf-8?B?YU1HM0xVZ1c4RlVRMk5qQm52SVhvY0Jqd1U3a3kvOHlXVEp6cGJQaHdEOVI0?=
 =?utf-8?B?UXJoQXdpY3B2dTVmNXJYcnJrelBJQ1lnNHY0THhOTE04YUNBT0hleXUydUho?=
 =?utf-8?B?SjczaFAwbjZITUlzUjJxb0l1TkRaU1V5Nk92VldMT20xUkNweTZYVEVZU2dK?=
 =?utf-8?B?blFsUnNMWnBQRS8xcDVxYmwxUG4xV25uNHY4RUxML0M0dFlTejdkMXZNakhK?=
 =?utf-8?B?cjh2bnNrU1ZZdkZuRGNOZ0gzdFlaUTkrUDN3cHdaVTQ3RW5wVEpvMm1kc0Vw?=
 =?utf-8?B?NWlON2kyQ1p0bmJSMXZIOG9XSDRjVHhRUEFsakxRdmdudHBBSWt6MTF4NjU3?=
 =?utf-8?B?NHp2SEpGOXZnYTMvT0pPTUVSWi9SYVNudkxmZUhGWkpVWHlqYTN5QjFpcGlY?=
 =?utf-8?B?czFBSG5vamNIVEY5NzRwKzU2NXNFekZENE9SSXhSSllWeExPQVJkdHV2Z1Z2?=
 =?utf-8?B?Um45MlhBQkh6WG5ic0w3Zm43RDJVVnpveGsxekloSnJuNDU3ci80eEJvS2g1?=
 =?utf-8?B?aG83VkpuZ20rdE5OQVppa1pwZS9LY3dJdE5rbXd6TUpCTktrRWpIcjhGZmxB?=
 =?utf-8?Q?DE7EHxH9/NIgiJyTBU7tDhU3B?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 507c94ce-5ecb-40d9-652f-08de1877024b
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Oct 2025 12:14:24.3385
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: YILfKEHT9v2Z9TqAitdp1N8y//LtIaKcSG1GF182LU+DSF4YfleY2cW5xSxURT41palO3y33CTg+2lgkTQKtug==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM8PR03MB6213

On Fri, Oct 31, 2025 at 12:47:51PM +0100, Jan Beulich wrote:
> On 31.10.2025 11:54, Roger Pau MonnÃ© wrote:
> > On Fri, Oct 31, 2025 at 11:29:44AM +0100, Jan Beulich wrote:
> >> On 31.10.2025 11:22, Roger Pau MonnÃ© wrote:
> >>> On Tue, Oct 28, 2025 at 04:32:17PM +0100, Jan Beulich wrote:
> >>>> Both patches also want 'x86/CPU: extend is_forced_cpu_cap()'s "reach"' in
> >>>> place.
> >>>>
> >>>> 1: disable RDSEED on Fam17 model 47 stepping 0
> >>>> 2: disable RDSEED on most of Zen5
> >>>
> >>> For both patches: don't we need to set the feature in the max policy
> >>> to allow for incoming migrations of guests that have already seen the
> >>> feature?
> >>
> >> No, such guests should not run on affected hosts (unless overrides are in place),
> >> or else they'd face sudden malfunction of RDSEED. If an override was in place on
> >> the source host, an override will also need to be put in place on the destination
> >> one.
> > 
> > But they may be malfunctioning before already, if started on a
> > vulnerable hosts without this fix and having seen RDSEED?
> 
> Yes. But there could also be ones coming from good hosts. Imo ...
> 
> > IMO after this fix is applied you should do pool leveling, at which
> > point RDSEED shouldn't be advertised anymore.  Having the feature in
> > the max policy allows to evacuate running guests while updating the
> > pool.  Otherwise those existing guests would be stuck to run on
> > non-updated hosts.
> 
> ... we need to err on the side of caution.

While I understand your concerns, this would cause failures in the
upgrade and migration model used by both XCP-ng and XenServer at
least, as it could prevent eviction of running VMs to updated hosts.

At a minimum we would need an option to allow the feature to be set on
the max policy.  Overall I think safety of migration (in this specific
regard) should be enforced by the toolstack (or orchestration layer),
rather than the hypervisor itself.  The hypervisor can reject
incompatible policies, but should leave the rest of the decisions to
higher layers as it doesn't have enough knowledge.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Oct 31 12:35:17 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 31 Oct 2025 12:35:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1154254.1484334 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEoLO-0007wT-Lf; Fri, 31 Oct 2025 12:35:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1154254.1484334; Fri, 31 Oct 2025 12:35:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEoLO-0007wL-He; Fri, 31 Oct 2025 12:35:02 +0000
Received: by outflank-mailman (input) for mailman id 1154254;
 Fri, 31 Oct 2025 12:35:01 +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 <SRS0=1UMm=5I=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vEoLN-0007wF-GI
 for xen-devel@lists.xenproject.org; Fri, 31 Oct 2025 12:35:01 +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 0347caec-b656-11f0-980a-7dc792cee155;
 Fri, 31 Oct 2025 13:34:59 +0100 (CET)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-429bb95a238so1231601f8f.0
 for <xen-devel@lists.xenproject.org>; Fri, 31 Oct 2025 05:34:58 -0700 (PDT)
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-429c54498dfsm90787f8f.34.2025.10.31.05.34.57
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 31 Oct 2025 05:34:57 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0347caec-b656-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761914098; x=1762518898; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=eyemXuU6ZIfw7spBQDLJYpamE92G2Rx+bQBAE9RAYBE=;
        b=aERacKV2K4uIPu1OELydoPVy+nYdwBlfyD2JTEWtWpNgOgcHDBueqPAqILBmFNSSfg
         Dzqa1VMT6evq6yG7pn5HbmJCr1A/Sk3BYpsw+LwJLD28QJbrwrOtuc5EsRdgzZEu7G+I
         9v1703q4Kd259abNPaQAiPautpJfnHZqMZ4nteehOKF44Lnc8Y5Cw/U0WQS1LVbcMaFh
         VnKLMGDW30kYeLi03NNf2dU/UwHU6cOpTGSAHOpSArxInJY3X/Gp0xyg+OxqtC+t8/Er
         KR+cqqLLBK5PEFJD5N6lMH9QtEDcIhuVAcGBWF6oHfgKr7g6KVswDoT6emtZDpe19z+6
         4ymw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761914098; x=1762518898;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=eyemXuU6ZIfw7spBQDLJYpamE92G2Rx+bQBAE9RAYBE=;
        b=mhLLa/7sx0Zg2ctgCdAvjYXiRpcUsZ7n5ONAc2bdGuQSLG/nuPmcCVFK6o1w6ybZXS
         P+Ld10FvA5l1QXYVILhKJ6tlvyKUv3pzYDsKH0R7zGJJP8nQHIJhXgC0D3Y2crplEAWk
         o2PLqcRa6DGl97hG/kMtmIVfzDVuQ3wDxSHQl7SEMHjHzVj1sllDWTiRy5tvpKOtUHyg
         dKnetR1bJCEfSztM7L0t88yOYIF/6ZW5/RTARCQxvO1jEakbFas+IVfpJqkPPZL4VEFR
         GyrwMt2TTtqFSpkoGGsZIT8f53W1Y8daYgArT9wxXo/3LjdfElSHUxMJY4Pm3SBvif9n
         3S6w==
X-Gm-Message-State: AOJu0YzXF8deUf4mjUhprUfEr4ol8k+N32EpDIN7SJoG4aV6agm+Oj/p
	JopnE/p34efSdr14cnxz++9IILvO7R23ZhlJfH364TU8C8pO6Sv8/p796HqpCJ+V1A==
X-Gm-Gg: ASbGncvxcX/B9/XOUDUCM2iHNF8uyoh3WFH+sh5pVcaLCwU+HvX5npXolWhUi9uLSJM
	5CoyF2YYG3PIquFuWyjk0i5yHM6WSTKTDxvQVB8nlG/ZIuYfpKzdU7UDeaP5hLS7VbMSUK2SCmM
	vqxf0XYpGkoWlTTQrqE7qSGg9H+O9/RCNUaidmj3Sg3mJvXJAZ1xqt/Xr+ABogTSyIltiqbGFcy
	5mJ0QjnLoHhlGWjZ4Za1HXDX6hfY4C1GNuOtWHHx2fU5a8oUKYOVIk99ZgmDUvWkO5/iMPxtTGv
	i6Oa14Jysjh4CmJ13u9zAaAXdoNrRp4q5jS8lAvHWnlu1BvNHRiQaud3GBnaDRYyHl7ORM2yG1p
	yXm7et7+PeM3KAlz9Ego+tXemofh7PEy6GDCQW/0GrhYtozDhmJ0nYRxbxGVPGy7ISttn6f2wHY
	IKl+WNeQjposxQzu3OCgfcfhMPe1s8kTEMSXedECJsDKIyRLNc3BfL8XA35MWF
X-Google-Smtp-Source: AGHT+IHWAmMiNAufNhU5DA+tiuwLGGIQOfUk1P2RpVTu/cQXv1BUPrvNuO+TcfZ+xv99zB+o/BKorg==
X-Received: by 2002:a05:6000:2203:b0:428:3ea7:4473 with SMTP id ffacd0b85a97d-429bd6a48f4mr2945446f8f.39.1761914098242;
        Fri, 31 Oct 2025 05:34:58 -0700 (PDT)
Message-ID: <8c7881d9-5959-41b5-865d-d61199ac7a44@suse.com>
Date: Fri, 31 Oct 2025 13:34:55 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 for-4.21 0/2] x86/AMD: deal with RDSEED issues
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <272093dc-c97c-434a-9977-ad1c26e7e229@suse.com>
 <aQSN3MKxAa_cltld@Mac.lan> <68e28e41-e835-4985-80a3-6a99b3d7dc3e@suse.com>
 <aQSVTjh5xiib-u5D@Mac.lan> <b7293f69-d9f8-4669-a1fd-eaa468445d68@suse.com>
 <aQSoE8ugCKdNWy9C@Mac.lan>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <aQSoE8ugCKdNWy9C@Mac.lan>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 31.10.2025 13:14, Roger Pau MonnÃ© wrote:
> On Fri, Oct 31, 2025 at 12:47:51PM +0100, Jan Beulich wrote:
>> On 31.10.2025 11:54, Roger Pau MonnÃ© wrote:
>>> On Fri, Oct 31, 2025 at 11:29:44AM +0100, Jan Beulich wrote:
>>>> On 31.10.2025 11:22, Roger Pau MonnÃ© wrote:
>>>>> On Tue, Oct 28, 2025 at 04:32:17PM +0100, Jan Beulich wrote:
>>>>>> Both patches also want 'x86/CPU: extend is_forced_cpu_cap()'s "reach"' in
>>>>>> place.
>>>>>>
>>>>>> 1: disable RDSEED on Fam17 model 47 stepping 0
>>>>>> 2: disable RDSEED on most of Zen5
>>>>>
>>>>> For both patches: don't we need to set the feature in the max policy
>>>>> to allow for incoming migrations of guests that have already seen the
>>>>> feature?
>>>>
>>>> No, such guests should not run on affected hosts (unless overrides are in place),
>>>> or else they'd face sudden malfunction of RDSEED. If an override was in place on
>>>> the source host, an override will also need to be put in place on the destination
>>>> one.
>>>
>>> But they may be malfunctioning before already, if started on a
>>> vulnerable hosts without this fix and having seen RDSEED?
>>
>> Yes. But there could also be ones coming from good hosts. Imo ...
>>
>>> IMO after this fix is applied you should do pool leveling, at which
>>> point RDSEED shouldn't be advertised anymore.  Having the feature in
>>> the max policy allows to evacuate running guests while updating the
>>> pool.  Otherwise those existing guests would be stuck to run on
>>> non-updated hosts.
>>
>> ... we need to err on the side of caution.
> 
> While I understand your concerns, this would cause failures in the
> upgrade and migration model used by both XCP-ng and XenServer at
> least, as it could prevent eviction of running VMs to updated hosts.
> 
> At a minimum we would need an option to allow the feature to be set on
> the max policy.

That's where the 3rd patch comes into play. "cpuid=rdseed" is the respective
override. Just that it doesn't work correctly without that further patch.

>  Overall I think safety of migration (in this specific
> regard) should be enforced by the toolstack (or orchestration layer),
> rather than the hypervisor itself.  The hypervisor can reject
> incompatible policies, but should leave the rest of the decisions to
> higher layers as it doesn't have enough knowledge.

But without rendering guests vulnerable behind the admin's back.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Oct 31 12:36:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 31 Oct 2025 12:36:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1154265.1484344 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEoMQ-00005R-2h; Fri, 31 Oct 2025 12:36:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1154265.1484344; Fri, 31 Oct 2025 12:36:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEoMP-00005J-W1; Fri, 31 Oct 2025 12:36:05 +0000
Received: by outflank-mailman (input) for mailman id 1154265;
 Fri, 31 Oct 2025 12:36:04 +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 <SRS0=1UMm=5I=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1vEoMO-0007wF-EB
 for xen-devel@lists.xenproject.org; Fri, 31 Oct 2025 12:36:04 +0000
Received: from mail-wm1-x336.google.com (mail-wm1-x336.google.com
 [2a00:1450:4864:20::336])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 296bc190-b656-11f0-980a-7dc792cee155;
 Fri, 31 Oct 2025 13:36:02 +0100 (CET)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-4710022571cso23480335e9.3
 for <xen-devel@lists.xenproject.org>; Fri, 31 Oct 2025 05:36:02 -0700 (PDT)
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-429c1142e7dsm3373697f8f.17.2025.10.31.05.36.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 31 Oct 2025 05:36:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 296bc190-b656-11f0-980a-7dc792cee155
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1761914162; x=1762518962; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=MepbcA/2+XSf1XNT3X8pZwp2/iwXw3E1VQe9DOsNm3U=;
        b=Zo8iq+woBCktNCCtvkFe4H9JezaR7tV70sGrE30Zrv8ZCo1mpCNlQBCz2Owts2lI8B
         UWTjv0lbiWzq5gyIpUGOpDyX1Hb6pl4QQ+POwdkHaBDNNLUQ5G5LG1pPSTI+y5nx/0Ma
         xgqqy9RxOywrI6rVr+ToCeGhFpYktDXopMr7SwOWRK197BJPWN8bhh4e0CbcPFwI81cE
         YN3Ei1RD3YLSHvHQ8i1zZgZ+ZsPJbnebpE7Csq+rWHbr+5kL1FgeT3E2Whpr0vBMFoWT
         8nJE3K5eYjwnwfAYg95WPd9ikeujFaWOVUQ6PQxm92l8h7VF80gYCF4kebv+PiK+Nm9V
         +tFQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761914162; x=1762518962;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=MepbcA/2+XSf1XNT3X8pZwp2/iwXw3E1VQe9DOsNm3U=;
        b=wXZmWCuGtS6aT5/O7Sh6t6kmyzsOkIBCDxjapv7PXIY/SMFqSscfQTOUgl5cgtoONx
         8x+lCr7Xt3JOUNyX6a9pYUYv7Y9VEiaQnW8kvkKiAW22nX6CY4fgkKBNSuE58xIrUbg0
         z+OSMKdGUguZWaG84UNxYnj/68Ylzo1/TFXBjaxWcNxVksQL8ELrzizcZ9WxOhwJ456g
         Geyf8tNk11YIEqdhkOd6ssBV19yWGg/+D2CLc8oPyqSDd6mOCxQ3G79/jdyjmBMvumk8
         de1cs83RxzP38pdAZ/uObNlP8aRs208hwXH6nWyYoR//PMxyjiFh04mgG3VFLbG89+sp
         OFvQ==
X-Forwarded-Encrypted: i=1; AJvYcCVcENKKa+ArUxby2acOgfhZREdhS6oNW8jLCgqt4OpGrEUGCcB7B2G1FbCmonDx1OeJ03K9FzEAMgo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwlYMRMGEC5jSdFJHG4SEsHLJKzDccf2aWkDxtli3csPMUW+F9T
	sJi+ZE8+I3ZSrm9pYYlzGoovmux+pRGnrQtADUUhyUWQAXzdDD6e/1KD1PU18V1s+w==
X-Gm-Gg: ASbGnctRhSp6uHezzFLCgdtHX06n3l0CFsBUARSebk4HQtuKFv2coyAS+Z/j6SyzKIH
	3k3mNLI9sfokMPu2fh2w/nkr0JUsxqnvdK70rmVZ1l7WLdfAxp8I74PrBvB1KB6sYbTzTPmN9qK
	kMwH7QLZa2l6zz5BVNLPbuUyTqQIN7GHJaVJqPmtbOhM4WLG/Xq8orm8ixij9GZgrvUDIeJ34hI
	QPh5VEMILpS7XMhNJcyki8gzsTdlOfHFnkMoJwU/6kXS6kQHqnIoW12ljmW956B+mSGbBC2Raeq
	lKB5AagKG92Tl1SrDdzecf5MS9Pvna6EJAA94ZW/AKznXU7HkLLEzYH93D8NuKU4C3s5taog0TC
	gzLO5mdvTW6NygErzS4H9s1gQyEqAbi+s4OgUUiAobGs7qj4MLFyxZ6zUTYSESmZobkBzTWdJsF
	/mK9ABZEUuxqxItvRPl58K4c6YfcmNBLDJClpyRbEa+wyYOZK4B+Jbte6yzc0UG/NfFAs2cSA=
X-Google-Smtp-Source: AGHT+IEUQ4kgYdJGsOP72IorQnEmuYtBiAQw5uZDSuGGJpcfvqXXec+m5DsjJYHPVSBfsbAK1CKjJg==
X-Received: by 2002:a05:600c:6389:b0:475:de05:6611 with SMTP id 5b1f17b1804b1-47730793c68mr33223895e9.7.1761914162243;
        Fri, 31 Oct 2025 05:36:02 -0700 (PDT)
Message-ID: <32623b69-3171-44e6-8fdf-ea67e7838b00@suse.com>
Date: Fri, 31 Oct 2025 13:36:00 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] kconfig: remove references to
 docs/misc/kconfig{,-language}.txt files
To: Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <6f72dcebf5dbb69e9496b7f0ef96198e9bb9f1e9.1761745058.git.dmytro_prokopchuk1@epam.com>
 <9f264a58-9ca2-4323-8f79-edabe70a07a0@suse.com>
 <98fc0e0c-f298-4252-8e7d-f49af56146b6@epam.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <98fc0e0c-f298-4252-8e7d-f49af56146b6@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 31.10.2025 13:04, Dmytro Prokopchuk1 wrote:
> On 10/29/25 15:57, Jan Beulich wrote:
>> On 29.10.2025 14:38, Dmytro Prokopchuk1 wrote:
>>> These files 'docs/misc/kconfig{,-language}.txt' were deleted, but
>>> references are still present in Xen. Remove them to clean-up.
>>>
>>> Fixes: f80fe2b34f08 ("xen: Update Kconfig to Linux v5.4")
>>
>> Hmm, that commit replaced the .txt files with .rst ones, so maybe you want a
>> 2nd tag here referencing 044503f61c95 ("docs: Delete kconfig docs to fix
>> licensing violation")?
> Well, I saw that commit, but intentionally selected first one.
> Looks like commit 044503f61c95 is more appropriate.

I'd suggest to keep the other one as well.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Oct 31 13:01:32 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 31 Oct 2025 13:01:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1154282.1484354 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEokx-0004m9-0m; Fri, 31 Oct 2025 13:01:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1154282.1484354; Fri, 31 Oct 2025 13:01:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEokw-0004m1-UH; Fri, 31 Oct 2025 13:01:26 +0000
Received: by outflank-mailman (input) for mailman id 1154282;
 Fri, 31 Oct 2025 13:01:25 +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
 <SRS0=Ix4U=5I=siemens.com=haseeb.ashraf@srs-se1.protection.inumbo.net>)
 id 1vEokv-0004lu-Ex
 for xen-devel@lists.xenproject.org; Fri, 31 Oct 2025 13:01:25 +0000
Received: from TYPPR03CU001.outbound.protection.outlook.com
 (mail-japaneastazlp170120005.outbound.protection.outlook.com
 [2a01:111:f403:c405::5])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b339e552-b659-11f0-9d16-b5c5bf9af7f9;
 Fri, 31 Oct 2025 14:01:22 +0100 (CET)
Received: from KL1PR0601MB4588.apcprd06.prod.outlook.com
 (2603:1096:820:87::11) by TYUPR06MB6174.apcprd06.prod.outlook.com
 (2603:1096:400:350::9) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9275.14; Fri, 31 Oct
 2025 13:01:15 +0000
Received: from KL1PR0601MB4588.apcprd06.prod.outlook.com
 ([fe80::3f19:282d:5fe2:f523]) by KL1PR0601MB4588.apcprd06.prod.outlook.com
 ([fe80::3f19:282d:5fe2:f523%3]) with mapi id 15.20.9275.013; Fri, 31 Oct 2025
 13:01:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b339e552-b659-11f0-9d16-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=BFfXLDzMhyKgME5gH+4LDvCofxFdVtxXwEpwX29+ptcYcOiQENmurY42ZUMx65T0O/YDW/L0S2qts+ApR21aHeyqSeFnBwT5uBBmo5HuqrkYxf5fyUaehlSmxiQOxdd3xG09CeEgmdW8WicYrFLBlN526DbpiPahviwORN5tDAGghs3EWlUdQWE4XSIxwP0xdY/J1XpiZ8cOfUYyvUtXYJLnNCJ+a41JG5r/EA63hKGtwnzBc3Cb53NT4zmXEZkvruToFqP2B65zWuj4pGsfh5nhiVs2o/waLJ2rOk8xhK+r7oikXiOfTPm4TtpkN+xupBtjofB5uiAFUQreo/hNYg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=J/1Z5GDfgxPUdvJl42/unphW0EUmCkCNBb3VXSVYTww=;
 b=HgHiJRnmxc2QjkG+yyiXAuO21YrdLhiqEQiVqRAv6m9YlhQDLopyEj8RwHpDM2kmrfQQJvvSBstrV2dboDqKge2XaMA0jr70bCnrB+f+pjwjLMKxecxRNE9rYTXdeMGyazc68JSNGcEKscBw2d6mfsdIIQ2fjQHG5J+HH89ihdtaWzoYx7JyzvoByEX6wV6eSZNQxUcFefglyYFKgdJzZNmPvAnbp+fRVXy+A6EaD6CQTxbOieIg6x8vqgALCQfLBBWl6vo+J2qH+c+CgVTUskVwHccxOZDYEK8rUHk1GMP08fjKzKC+fcRGfwkYvm4WCxQhEDb5D4HyJd3JNql0mg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=siemens.com; dmarc=pass action=none header.from=siemens.com;
 dkim=pass header.d=siemens.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=siemens.com;
 s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=J/1Z5GDfgxPUdvJl42/unphW0EUmCkCNBb3VXSVYTww=;
 b=dOJgIiwRUPkAE9Lu+AMj0EQrzLco8hc/mElyLH8aFW/Vv196E8CQdyiy305F5rrMd5Qptur5lOd3noIBYeREQdJ7dfspfrzoN6rUQe7OcF4NbjN4knyLwwI1NeP/JL/7cT4bHAPlAhHz9lzWra2OB7FDh0gErxjsG8S8xsAJMtlFcuDVMQk798PGfojwEpqrlr0fBSXMTIKyMAhuqdBGE2Ip3nP+ES7BRu1GLpz3FBuqwLlVlnhHjlifCPr09L0CtPr1Nm12nu2FMY3voapB8HvJJQX2JYqyi0VM+3pI+BZH0rBMcLOHNb38RKR0GRxjN9K2+om+nsdfuekQss1oow==
From: "haseeb.ashraf@siemens.com" <haseeb.ashraf@siemens.com>
To: Julien Grall <julien@xen.org>, Mohamed Mediouni <mohamed@unpredictable.fr>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"Volodymyr_Babchuk@epam.com" <Volodymyr_Babchuk@epam.com>, "Driscoll, Dan"
	<dan.driscoll@siemens.com>, "Bachtel, Andrew" <andrew.bachtel@siemens.com>,
	"fahad.arslan@siemens.com" <fahad.arslan@siemens.com>,
	"noor.ahsan@siemens.com" <noor.ahsan@siemens.com>,
	"brian.sheppard@siemens.com" <brian.sheppard@siemens.com>
Subject: Re: Limitations for Running Xen on KVM Arm64
Thread-Topic: Limitations for Running Xen on KVM Arm64
Thread-Index:
 AQHcSVi3paxtnyIgIkOf6jhuJCbvfrTalv6cgABtkgCAAFoJgIAABxcAgACWJ4CAABonww==
Date: Fri, 31 Oct 2025 13:01:15 +0000
Message-ID:
 <TYZPR06MB4580126B98C6A38AA710F597E6F8A@TYZPR06MB4580.apcprd06.prod.outlook.com>
References:
 <KL1PR0601MB4588D25A95D680640A80F2CAE6FBA@KL1PR0601MB4588.apcprd06.prod.outlook.com>
 <KL1PR0601MB45885505ECBBE9262C2B25E0E6FBA@KL1PR0601MB4588.apcprd06.prod.outlook.com>
 <FC5C66FD-8554-4F46-8546-B27DE76C8EEF@unpredictable.fr>
 <2b00a98f-6fee-4341-92bd-25909ebb6e36@xen.org>
 <CA753BD2-31FA-480D-B32A-2125F0F4981D@unpredictable.fr>
 <fc181349-d743-4ef0-bcd2-01c04d2a463e@xen.org>
In-Reply-To: <fc181349-d743-4ef0-bcd2-01c04d2a463e@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels:
 MSIP_Label_9d258917-277f-42cd-a3cd-14c4e9ee58bc_Enabled=True;MSIP_Label_9d258917-277f-42cd-a3cd-14c4e9ee58bc_SiteId=38ae3bcd-9579-4fd4-adda-b42e1495d55a;MSIP_Label_9d258917-277f-42cd-a3cd-14c4e9ee58bc_SetDate=2025-10-31T13:01:14.618Z;MSIP_Label_9d258917-277f-42cd-a3cd-14c4e9ee58bc_Name=C1
 -
 Restricted;MSIP_Label_9d258917-277f-42cd-a3cd-14c4e9ee58bc_ContentBits=1;MSIP_Label_9d258917-277f-42cd-a3cd-14c4e9ee58bc_Method=Standard;
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=siemens.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: KL1PR0601MB4588:EE_|TYUPR06MB6174:EE_
x-ms-office365-filtering-correlation-id: d6fcbee7-3de0-4533-1338-08de187d933b
x-ms-exchange-atpmessageproperties: SA
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|376014|39142699007|31052699007|366016|1800799024|38070700021|8096899003|7053199007;
x-microsoft-antispam-message-info:
 =?Windows-1252?Q?w/3kTir0DyEDqq8RcVO4vMP69Zm3XSMnn2bwwFewUl8d5DHKwzKjT/H1?=
 =?Windows-1252?Q?dHP3f+F0sxNqlwdYEL9f/vn66Dlgo0RUAXPUDi8D/HwV3tUv5IdU2tej?=
 =?Windows-1252?Q?oXGiQE8zAVVFqBnxlXdtVADdX9sd60rrlDcOipLlKMMg3T/w4+zwqhGC?=
 =?Windows-1252?Q?wawoFLs4Bq5mXMq0YgKwsxHhGk70XNfjAleMlVHv6bEwn6rO+UHN8Q8j?=
 =?Windows-1252?Q?BcG5O4rNVNLN8V6isWlfkOmxOxhTF1kMc5P8y70YPvpgdYAIjyNy53+R?=
 =?Windows-1252?Q?2HGpJ4mbO6Co1vsN+zspp3YjGd++zdXQw19mxC2aVKSwV1lxRaSfoJDh?=
 =?Windows-1252?Q?N98Q1fq+ujdvymApQQgWgzxmoqB517I66WFWyhLuRXXOO86jxHiIfvpp?=
 =?Windows-1252?Q?sWfcl5+vE5uvJYenyYA1jWcRB3G/i1hNk5xaE98NZ/DVR3eOhY+lFBQF?=
 =?Windows-1252?Q?GelO/4oK21sow5kDQUy8nAFCPv7DI9VhYPxu9fgysvdOOmC6ldulJDLP?=
 =?Windows-1252?Q?VuM3tMkpHGzgEmUPks6F2LK2ZUaVhgc65hRVCzveFRn5yLsgTNRfonM5?=
 =?Windows-1252?Q?b+B1YVx7cS/wC8Z7tA2uMP/8Zo87QnBCWNV3AIGMRGbiVW/sg9QBdRA7?=
 =?Windows-1252?Q?3TKFbMPVdj3W4RSADyRSFDSNoD5KyoyE4xEe2N9kG7lUcpgegdWgwX4F?=
 =?Windows-1252?Q?ShcLYAbTgGjgQVp1HC83ZmUx7UAEH8Ad9IwZ+Z5zN3WWRiBhcV1gi10e?=
 =?Windows-1252?Q?ezc3Cc8blHfcusVACJogfOHmnFnkpfUQQmqrgAm5C8R263jQrQIq6i5f?=
 =?Windows-1252?Q?tORAy06JAu6fylxPPq29vlEcjjUaSNhg4YknEUNyO9z6l8eCM7Ve86Qt?=
 =?Windows-1252?Q?tJmHE79A0VMkepCgU1lU6fhf5HfW1q/AB/9eRZLEg9IkToesTn1TXHmm?=
 =?Windows-1252?Q?wVdM+nM5fhBC7AwxYKJZEkQ9xA5YrwwQmqC0i+CrxNxJ0hBlrJqQ/JaI?=
 =?Windows-1252?Q?rCNF2lGc0lGKsfuf6YhlUCSchT0hr76yKApQfTi8+SSSe0hlYrvAFmwk?=
 =?Windows-1252?Q?KBuU+dVvH19V19zZyuZ4ftxIOZN+elk1nfxvZUdn9yvbY661IQ+s57Fj?=
 =?Windows-1252?Q?IyvnWAc4jMHV/pazzAAhRb+/rvJ59QO0k2tAQFFKBTjMku8LV0803vhE?=
 =?Windows-1252?Q?tkfA/NiuEVx+aKZP7nENf/9n5a6/m9E+QHeQhYGuIV2Lb5rLA39XDE/Y?=
 =?Windows-1252?Q?NiOVmQWkCRFYUmC4pducnlYdjkoIvNQsbpMGqw61uUkF08xzZ06jZawu?=
 =?Windows-1252?Q?H35j2JCUn6wf7H44AuGaLZupfEX+iCBo2Yk9OQ24sdOxGc+0yzgi6vKx?=
 =?Windows-1252?Q?qa9vrFz0Xf8tJPm8ScWEQI2T5JzhWI/q4BrpuShhb2/N3PIYGqpUMKIK?=
 =?Windows-1252?Q?48w4Q8M2Rs9+oIDiCQGk2s4whLCb86zK6F/2RXrwDLTo8GdasKWFhJnL?=
 =?Windows-1252?Q?09VYNXJz/R1mBoIG9N1oxmpX3BbdfA69BlT5S3lpnnJ1oryO6gW4KA80?=
 =?Windows-1252?Q?3fQ62fri6LF3mvlD1tqw30BlP2MbQaQQfyh4eSErPi3IK8oVEmEZ7D+l?=
 =?Windows-1252?Q?2/8lF8KIg5DaZMl6XL6wxpXg?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:KL1PR0601MB4588.apcprd06.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(39142699007)(31052699007)(366016)(1800799024)(38070700021)(8096899003)(7053199007);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?Windows-1252?Q?ktEw2h9o+3FsxzEeP0xE3etnjfetYxCLqUr7fjvnJLyz+1H2BKj1rWmg?=
 =?Windows-1252?Q?cJf087nmgmWUOwbyo5sliEcQPV4QyxQpUzPUlhW5Ij9GNtsUhhgGHfmK?=
 =?Windows-1252?Q?teK9tpikrwx+AugsDGH558GAhBBcvpRyxl1EV3Ohf2CsfWoGr2MfjZvh?=
 =?Windows-1252?Q?kvdNZlubaYDGZCUOXhJ6txYxuXQ/5gcR9vVPN4/7l57rtA+HpDoT+suJ?=
 =?Windows-1252?Q?N2hcKXCwcBYuyw2eW96jrTl1FC5q2Wh0ewT6CT+GawiMcN1ZK4gq/OMA?=
 =?Windows-1252?Q?pesAwSvvJAssjQ/TbvOuvCTnx7wlPRhXHXxhS9R96ElwqndG+ldcuLfO?=
 =?Windows-1252?Q?1MNbzKSdtu/M36/Y4Cb46UEMKQS6KNBNIo3nZIqmS2GZXD5HdVGqXFNq?=
 =?Windows-1252?Q?maUx+0cyOKpeSVLs8mqbarnYu+Y25mYgkU5J5XvKha7eYdzb90oTN4eB?=
 =?Windows-1252?Q?NBbZWOMdVVS738LwG9qRH0mDAGRTlVTeQ0o+xiU0nrpZy+z784iJcuXn?=
 =?Windows-1252?Q?2R3ylDAO2ahJ3BjD552BwdRaDBz81GF1f/ivdFGkJJ/vmw1fbdabJD5d?=
 =?Windows-1252?Q?nMUy3f/k4IVWlnneL/EOqWVdyehoEyfRihxcn+lpd+c3uwTu/543RSga?=
 =?Windows-1252?Q?jQwapxWVO084F8pUQpVF61R68mRwbj83niZ4d42aYSyxyrVFo3v3CHL7?=
 =?Windows-1252?Q?SuFEJDuwGsq2FPhVS7hMLx108SSlSJ2BTLa9ApgZgNjvh1zGx10uU4FA?=
 =?Windows-1252?Q?NCkLdr5NO7VPIzxe9XCoc3c7DdLIR7UI6nNsmn/x6f8Yn0ktE4JbZHQ4?=
 =?Windows-1252?Q?o2CmqdPOJurgvfcA55Bcf2Hl0iqYqpqqmJMEL5qKhOCV9GMFxtIitJbS?=
 =?Windows-1252?Q?rnT8TWtRTW8Xl7YgLe1fytAuRHjHyv7b1q3qIOM4xkIMleAeJWiHJf6z?=
 =?Windows-1252?Q?925LJJhgz31oKOywXL8dvItnVbeZhEBLv6nNkPqKSkfX/Cn00evxQerd?=
 =?Windows-1252?Q?Sd02sNF9V67xy2WWAaYUJxgMKY4ccAhv1x93NYG8Yy+ldAkVAtpGuSor?=
 =?Windows-1252?Q?/cZ+SS5YBefgIkH+9hh4cpgvVyp1fX6uttTe7qqfVb6flzQD2Yn7zOOq?=
 =?Windows-1252?Q?xeZjEY8dydg65QHc5QZ+S7f9G7zPLRfZOcqGYa41ELc2AHISZiLk3n9w?=
 =?Windows-1252?Q?5qToyuM/6F0JU9bonotP6jS5rbk87jkiZVCAQXEWy3/J/b21CBp5R3yK?=
 =?Windows-1252?Q?dfPuUweDlciBXtV2OSWQkjiao34QKNVxz39ba1mA5N+6IhcI9eT4F7EV?=
 =?Windows-1252?Q?pfXPApfA9fpo0W5CXrnaDBXXHYj7Jmoksv4g5lmsVTCjtj3sI6bRSopj?=
 =?Windows-1252?Q?W2sbL5rFuQK30rq9g6mkEOo88xq5FmvGdNyeNt1bVzLNcK2wnvFwOLIm?=
 =?Windows-1252?Q?xyzDLWL3+0qQvn8wxKR7kc69rvUYUmBN6A65Oxm6R4/T+2IJHlKr9CPi?=
 =?Windows-1252?Q?yfuU7JNmc7CsN3iIernnJ1D00oHmuEZOOShAAd9sSNMZ1yBdkFYDTxpd?=
 =?Windows-1252?Q?GUtTn5luJ1VPru88j3eCw2El8GctLdhOSiJeEI9RlZeFBZi1cAq3fc9x?=
 =?Windows-1252?Q?TcLh8R25BJs5FHdoYh2lPpqqXfDY3R/3fQCNvCCh55qJPdMAFy8SFoCN?=
 =?Windows-1252?Q?LCTjAwJ1bMHhv7uOTz0SmY1z4hOYedD5?=
Content-Type: multipart/alternative;
	boundary="_000_TYZPR06MB4580126B98C6A38AA710F597E6F8ATYZPR06MB4580apcp_"
MIME-Version: 1.0
X-OriginatorOrg: siemens.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: KL1PR0601MB4588.apcprd06.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d6fcbee7-3de0-4533-1338-08de187d933b
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Oct 2025 13:01:15.3237
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 38ae3bcd-9579-4fd4-adda-b42e1495d55a
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: v0s0fsq/mR/7lddmsukuFmJA9c15+ortFkxIOLbFDSqZ0/kaD0wl3BfNfimeuJpS3kY5b0TfucxpGNBbxRT3wcqjtBXjusjQL3fgXDMZ4HE=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYUPR06MB6174

--_000_TYZPR06MB4580126B98C6A38AA710F597E6F8ATYZPR06MB4580apcp_
Content-Type: text/plain; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable

Hello,

Thanks for your reply.

You mean Graviton4 (for reference to others, from a bare metal instance)? I=
nteresting to see people caring about nested virt there :) - and hopefully =
using it wasn=92t too much of a pain for you to deal with.
Yes, I am using Graviton4 (r8g.metal-24xl). Nope, it wasn't much of an issu=
e to use G4.
KVM has a similar logic see "last_vcpu_ran" and "__kvm_flush_cpu_context()"=
. That said... they are using "vmalle1" whereas we are using "vmalls12e1". =
So maybe we can relax it. Not sure if this would make any difference for th=
e performance though.
I have seen no such performance issue with nested KVM. For Xen, if this can=
 be relaxed from vmalls12e1 to vmalle1, this would still be a huge performa=
nce improvement. I used Ftrace to get execution time of each of these handl=
er functions:
handle_vmalls12e1is() min-max =3D 1464441 - 9495486 us
handle_tlbi_el1() min-max =3D 10 - 27 us

So, to summarize using HCR_EL2.FB (which Xen already enables?) and then usi=
ng vmalle1 instead of vmalls12e1 should resolve the issue-2 for vCPUs switc=
hing on pCPUs.

Coming back to issue-1, what do you think about creating a batch version of=
 hypercall XENMEM_remove_from_physmap (other batch versions exist such as f=
or XENMEM_add_to_physmap) and doing the TLB invalidation only once per this=
 hypercall? I just realized that ripas2e1 is a range TLBI instruction which=
 is only supported after Armv8.4 indicated by ID_AA64ISAR0_EL1.TLB =3D=3D 2=
. So, on older architectures, full stage-2 invalidation would be required. =
For an architecture independent solution, creating a batch version seems to=
 be a better way.

Regards,
Haseeb
________________________________
From: Julien Grall <julien@xen.org>
Sent: Friday, October 31, 2025 2:18 PM
To: Mohamed Mediouni <mohamed@unpredictable.fr>
Cc: Ashraf, Haseeb (DI SW EDA HAV SLS EPS RTOS LIN) <haseeb.ashraf@siemens.=
com>; xen-devel@lists.xenproject.org <xen-devel@lists.xenproject.org>; Volo=
dymyr_Babchuk@epam.com <Volodymyr_Babchuk@epam.com>
Subject: Re: Limitations for Running Xen on KVM Arm64



On 31/10/2025 00:20, Mohamed Mediouni wrote:
>
>
>> On 31. Oct 2025, at 00:55, Julien Grall <julien@xen.org> wrote:
>>
>> Hi Mohamed,
>>
>> On 30/10/2025 18:33, Mohamed Mediouni wrote:
>>>> On 30. Oct 2025, at 14:41, haseeb.ashraf@siemens.com wrote:
>>>>
>>>> Adding @julien@xen.org and replying to his questions he asked over #Xe=
nDevel:matrix.org.
>>>>
>>>> can you add some details why the implementation cannot be optimized in=
 KVM? Asking because I have never seen such issue when running Xen on QEMU =
(without nested virt enabled).
>>>> AFAIK when Xen is run on QEMU without virtualization, then instruction=
s are emulated in QEMU while with KVM, ideally the instruction should run d=
irectly on hardware except in some special cases (those trapped by FGT/CGT)=
. Such as this one where KVM maintains shadow page tables for each VM. It t=
raps these instructions and emulates them with callback such as handle_vmal=
ls12e1is(). The way this callback is implemented, it has to iterate over th=
e whole address space and clean-up the page tables which is a costly operat=
ion. Regardless of this, it should still be optimized in Xen as invalidatin=
g a selective range would be much better than invalidating a whole range of=
 48-bit address space.
>>>> Some details about your platform and use case would be helpful. I am i=
nterested to know whether you are using all the features for nested virt.
>>>> I am using AWS G4. My use case is to run Xen as guest hypervisor. Yes,=
 most of the features are enabled except VHE or those which are disabled by=
 KVM.
>>> Hello,
>>> You mean Graviton4 (for reference to others, from a bare metal instance=
)? Interesting to see people caring about nested virt there :) - and hopefu=
lly using it wasn=92t too much of a pain for you to deal with.
>>>>
>>>> ; switch to current VMID
>>>> tlbi rvae1, guest_vaddr ; first invalidate stage-1 TLB by guest VA for=
 current VMID
>>>> tlbi ripas2e1, guest_paddr ; then invalidate stage-2 TLB by IPA range =
for current VMID
>>>> dsb ish
>>>> isb
>>>> ; switch back the VMID
>>>>      =95 This is where I am not quite sure and I was hoping that if so=
meone with Arm expertise could sign off on this so that I can work on its i=
mplementation in Xen. This will be an optimization not only for virtualized=
 hardware but also in general for Xen on arm64 machines.
>>>>
>>> Note that the documentation says
>>>> The invalidation is not required to apply to caching structures that c=
ombine stage 1 and stage 2 translation table entries.
>>> for TLBIP RIPAS2E1
>>>>      =95 The second place in Xen where this is problematic is when mul=
tiple vCPUs of the same domain juggle on single pCPU, TLBs are invalidated =
everytime a different vCPU runs on a pCPU. I do not know how this can be op=
timized. Any support on this is appreciated.
>>> One way to handle this is every invalidate within the VM a broadcast TL=
B invalidate (HCR_EL2.FB is what you=92re looking for) and then forego that=
 TLB maintenance as it=92s no longer necessary. This should not have a prac=
tical performance impact.
>>
>> To confirm my understanding, you are suggesting to rely on the L2 guest =
to send the TLB flush. Did I understanding correctly? If so, wouldn't this =
open a security hole because a misbehaving guest may never send the TLB flu=
sh?
>>
> Hello,
>
> HCR_EL2.FB can be used to make every TLB invalidate the guest issues (whi=
ch is a stage1 one) a broadcast TLB invalidate.

Xen already sets HCR_EL2.FB. But I believe this is only solving the
problem where the vCPU is moved to another pCPU. This doesn't solve the
problem where two vCPUs from the same VM is sharing the same pCPU.

Per the Arm Arm each CPU have their own private TLBs. So we have to
flush between vCPU of the same domains to avoid translations from vCPU 1
to "leak" to the vCPU 2 (they may have confliected page-tables).

KVM has a similar logic see "last_vcpu_ran" and
"__kvm_flush_cpu_context()". That said... they are using "vmalle1"
whereas we are using "vmalls12e1". So maybe we can relax it. Not sure if
this would make any difference for the performance though.

Cheers,

--
Julien Grall


--_000_TYZPR06MB4580126B98C6A38AA710F597E6F8ATYZPR06MB4580apcp_
Content-Type: text/html; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3DWindows-1=
252">
<style type=3D"text/css" style=3D"display:none;"> P {margin-top:0;margin-bo=
ttom:0;} </style>
</head>
<body dir=3D"ltr">
<div style=3D"font-family: Arial, Helvetica, sans-serif; font-size: 10pt; c=
olor: rgb(0, 0, 0);" class=3D"elementToProof">
Hello,</div>
<div style=3D"font-family: Arial, Helvetica, sans-serif; font-size: 10pt; c=
olor: rgb(0, 0, 0);" class=3D"elementToProof">
<br>
</div>
<div style=3D"font-family: Arial, Helvetica, sans-serif; font-size: 10pt; c=
olor: rgb(0, 0, 0);" class=3D"elementToProof">
Thanks for your reply.</div>
<div style=3D"font-family: Arial, Helvetica, sans-serif; font-size: 10pt; c=
olor: rgb(0, 0, 0);" class=3D"elementToProof">
<br>
</div>
<blockquote style=3D"margin-left: 0.8ex; padding-left: 1ex; border-left: 3p=
x solid rgb(200, 200, 200);">
<div style=3D"font-family: Arial, Helvetica, sans-serif; font-size: 11pt; c=
olor: rgb(0, 0, 0);" class=3D"elementToProof">
You mean Graviton4 (for reference to others, from a bare metal instance)? I=
nteresting to see people caring about nested virt there :) - and hopefully =
using it wasn=92t too much of a pain for you to deal with.</div>
</blockquote>
<div style=3D"font-family: Arial, Helvetica, sans-serif; font-size: 10pt; c=
olor: rgb(0, 0, 0);" class=3D"elementToProof">
Yes, I am using Graviton4 (r8g.metal-24xl). Nope, it wasn't much of an issu=
e to use G4.</div>
<div style=3D"font-family: Arial, Helvetica, sans-serif; font-size: 10pt; c=
olor: rgb(0, 0, 0);" class=3D"elementToProof">
<tt class=3D"elementToProof">
<blockquote style=3D"margin-left: 0.8ex; padding-left: 1ex; border-left: 3p=
x solid rgb(200, 200, 200);" class=3D"elementToProof">
<div class=3D"elementToProof"><span style=3D"color: rgb(102, 102, 102);">KV=
M has a similar logic see &quot;last_vcpu_ran&quot; and&nbsp;&quot;__kvm_fl=
ush_cpu_context()&quot;. That said... they are using &quot;vmalle1&quot;&nb=
sp;whereas we are using &quot;vmalls12e1&quot;. So maybe we can relax it. N=
ot sure if&nbsp;this
 would make any difference for the performance though.</span></div>
</blockquote>
<div class=3D"elementToProof"></div>
<div class=3D"elementToProof"><span style=3D"font-family: Arial, Helvetica,=
 sans-serif;">I have seen no such performance issue with nested KVM. For Xe=
n, if this can be relaxed from
<code style=3D"font-family: Arial, Helvetica, sans-serif;">vmalls12e1</code=
> to <code style=3D"font-family: Arial, Helvetica, sans-serif;">
vmalle1</code>, this would still be a huge performance&nbsp;improvement. I =
used Ftrace to get execution time of each of these handler functions:</span=
></div>
<div class=3D"elementToProof"></div>
<div class=3D"elementToProof"></div>
<div class=3D"elementToProof"><span style=3D"font-family: Arial, Helvetica,=
 sans-serif;">handle_vmalls12e1is()&nbsp;min-max =3D&nbsp;1464441 - 9495486=
 us</span></div>
<div class=3D"elementToProof"><span style=3D"font-family: Arial, Helvetica,=
 sans-serif;">handle_tlbi_el1() min-max =3D 10 - 27 us</span></div>
<div class=3D"elementToProof"><span style=3D"font-family: Arial, Helvetica,=
 sans-serif;"><br>
</span></div>
<div class=3D"elementToProof"><span style=3D"font-family: Arial, Helvetica,=
 sans-serif;">So, to summarize using HCR_EL2.FB (which Xen already enables?=
) and then using vmalle1 instead of vmalls12e1&nbsp;should resolve the issu=
e-2 for vCPUs switching on pCPUs.</span></div>
<div class=3D"elementToProof"><span style=3D"font-family: Arial, Helvetica,=
 sans-serif;"><br>
</span></div>
<div class=3D"elementToProof"><span style=3D"font-family: Arial, Helvetica,=
 sans-serif;">Coming back to issue-1, what do you think about creating a ba=
tch version of hypercall XENMEM_remove_from_physmap (other batch versions e=
xist such as for
</span><span style=3D"font-family: Arial, Helvetica, sans-serif; color: rgb=
(0, 0, 0);">XENMEM_add_to_physmap</span><span style=3D"font-family: Arial, =
Helvetica, sans-serif;">) and doing the TLB invalidation only once per this=
 hypercall? I just realized that&nbsp;ripas2e1
 is a range TLBI instruction which is only supported after Armv8.4 indicate=
d by&nbsp;ID_AA64ISAR0_EL1.TLB =3D=3D 2. So, on older architectures, full s=
tage-2 invalidation would be required.&nbsp;For an architecture independent=
 solution, creating a batch version seems&nbsp;to be
 a better way.</span></div>
<div class=3D"elementToProof"><span style=3D"font-family: Arial, Helvetica,=
 sans-serif;"><br>
</span></div>
<div class=3D"elementToProof"><span style=3D"font-family: Arial, Helvetica,=
 sans-serif;">Regards,</span></div>
<div class=3D"elementToProof"><span style=3D"font-family: Arial, Helvetica,=
 sans-serif;">Haseeb</span></div>
<div class=3D"elementToProof"></div>
<div class=3D"elementToProof"></div>
<div class=3D"elementToProof"></div>
</tt></div>
<div id=3D"appendonsend"></div>
<hr style=3D"display:inline-block;width:98%" tabindex=3D"-1">
<div id=3D"divRplyFwdMsg" dir=3D"ltr"><font face=3D"Calibri, sans-serif" st=
yle=3D"font-size:11pt" color=3D"#000000"><b>From:</b> Julien Grall &lt;juli=
en@xen.org&gt;<br>
<b>Sent:</b> Friday, October 31, 2025 2:18 PM<br>
<b>To:</b> Mohamed Mediouni &lt;mohamed@unpredictable.fr&gt;<br>
<b>Cc:</b> Ashraf, Haseeb (DI SW EDA HAV SLS EPS RTOS LIN) &lt;haseeb.ashra=
f@siemens.com&gt;; xen-devel@lists.xenproject.org &lt;xen-devel@lists.xenpr=
oject.org&gt;; Volodymyr_Babchuk@epam.com &lt;Volodymyr_Babchuk@epam.com&gt=
;<br>
<b>Subject:</b> Re: Limitations for Running Xen on KVM Arm64</font>
<div>&nbsp;</div>
</div>
<div class=3D"BodyFragment"><font size=3D"2"><span style=3D"font-size:11pt;=
">
<div class=3D"PlainText"><br>
<br>
On 31/10/2025 00:20, Mohamed Mediouni wrote:<br>
&gt; <br>
&gt; <br>
&gt;&gt; On 31. Oct 2025, at 00:55, Julien Grall &lt;julien@xen.org&gt; wro=
te:<br>
&gt;&gt;<br>
&gt;&gt; Hi Mohamed,<br>
&gt;&gt;<br>
&gt;&gt; On 30/10/2025 18:33, Mohamed Mediouni wrote:<br>
&gt;&gt;&gt;&gt; On 30. Oct 2025, at 14:41, haseeb.ashraf@siemens.com wrote=
:<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Adding @julien@xen.org and replying to his questions he as=
ked over #XenDevel:matrix.org.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; can you add some details why the implementation cannot be =
optimized in KVM? Asking because I have never seen such issue when running =
Xen on QEMU (without nested virt enabled).<br>
&gt;&gt;&gt;&gt; AFAIK when Xen is run on QEMU without virtualization, then=
 instructions are emulated in QEMU while with KVM, ideally the instruction =
should run directly on hardware except in some special cases (those trapped=
 by FGT/CGT). Such as this one where KVM maintains
 shadow page tables for each VM. It traps these instructions and emulates t=
hem with callback such as handle_vmalls12e1is(). The way this callback is i=
mplemented, it has to iterate over the whole address space and clean-up the=
 page tables which is a costly operation.
 Regardless of this, it should still be optimized in Xen as invalidating a =
selective range would be much better than invalidating a whole range of 48-=
bit address space.<br>
&gt;&gt;&gt;&gt; Some details about your platform and use case would be hel=
pful. I am interested to know whether you are using all the features for ne=
sted virt.<br>
&gt;&gt;&gt;&gt; I am using AWS G4. My use case is to run Xen as guest hype=
rvisor. Yes, most of the features are enabled except VHE or those which are=
 disabled by KVM.<br>
&gt;&gt;&gt; Hello,<br>
&gt;&gt;&gt; You mean Graviton4 (for reference to others, from a bare metal=
 instance)? Interesting to see people caring about nested virt there :) - a=
nd hopefully using it wasn=92t too much of a pain for you to deal with.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; ; switch to current VMID<br>
&gt;&gt;&gt;&gt; tlbi rvae1, guest_vaddr ; first invalidate stage-1 TLB by =
guest VA for current VMID<br>
&gt;&gt;&gt;&gt; tlbi ripas2e1, guest_paddr ; then invalidate stage-2 TLB b=
y IPA range for current VMID<br>
&gt;&gt;&gt;&gt; dsb ish<br>
&gt;&gt;&gt;&gt; isb<br>
&gt;&gt;&gt;&gt; ; switch back the VMID<br>
&gt;&gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =95 This is where I am not q=
uite sure and I was hoping that if someone with Arm expertise could sign of=
f on this so that I can work on its implementation in Xen. This will be an =
optimization not only for virtualized hardware but also in general for
 Xen on arm64 machines.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt; Note that the documentation says<br>
&gt;&gt;&gt;&gt; The invalidation is not required to apply to caching struc=
tures that combine stage 1 and stage 2 translation table entries.<br>
&gt;&gt;&gt; for TLBIP RIPAS2E1<br>
&gt;&gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =95 The second place in Xen =
where this is problematic is when multiple vCPUs of the same domain juggle =
on single pCPU, TLBs are invalidated everytime a different vCPU runs on a p=
CPU. I do not know how this can be optimized. Any support on this is apprec=
iated.<br>
&gt;&gt;&gt; One way to handle this is every invalidate within the VM a bro=
adcast TLB invalidate (HCR_EL2.FB is what you=92re looking for) and then fo=
rego that TLB maintenance as it=92s no longer necessary. This should not ha=
ve a practical performance impact.<br>
&gt;&gt;<br>
&gt;&gt; To confirm my understanding, you are suggesting to rely on the L2 =
guest to send the TLB flush. Did I understanding correctly? If so, wouldn't=
 this open a security hole because a misbehaving guest may never send the T=
LB flush?<br>
&gt;&gt;<br>
&gt; Hello,<br>
&gt; <br>
&gt; HCR_EL2.FB can be used to make every TLB invalidate the guest issues (=
which is a stage1 one) a broadcast TLB invalidate.<br>
<br>
Xen already sets HCR_EL2.FB. But I believe this is only solving the <br>
problem where the vCPU is moved to another pCPU. This doesn't solve the <br=
>
problem where two vCPUs from the same VM is sharing the same pCPU.<br>
<br>
Per the Arm Arm each CPU have their own private TLBs. So we have to <br>
flush between vCPU of the same domains to avoid translations from vCPU 1 <b=
r>
to &quot;leak&quot; to the vCPU 2 (they may have confliected page-tables).<=
br>
<br>
KVM has a similar logic see &quot;last_vcpu_ran&quot; and <br>
&quot;__kvm_flush_cpu_context()&quot;. That said... they are using &quot;vm=
alle1&quot; <br>
whereas we are using &quot;vmalls12e1&quot;. So maybe we can relax it. Not =
sure if <br>
this would make any difference for the performance though.<br>
<br>
Cheers,<br>
<br>
-- <br>
Julien Grall<br>
<br>
</div>
</span></font></div>
</body>
</html>

--_000_TYZPR06MB4580126B98C6A38AA710F597E6F8ATYZPR06MB4580apcp_--


From xen-devel-bounces@lists.xenproject.org Fri Oct 31 13:08:33 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 31 Oct 2025 13:08:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1154295.1484364 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEork-0005kZ-Qx; Fri, 31 Oct 2025 13:08:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1154295.1484364; Fri, 31 Oct 2025 13:08:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEork-0005kS-OM; Fri, 31 Oct 2025 13:08:28 +0000
Received: by outflank-mailman (input) for mailman id 1154295;
 Fri, 31 Oct 2025 13:08:27 +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
 <SRS0=r2XW=5I=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1vEori-0005kK-Un
 for xen-devel@lists.xenproject.org; Fri, 31 Oct 2025 13:08:26 +0000
Received: from AM0PR83CU005.outbound.protection.outlook.com
 (mail-westeuropeazlp170100001.outbound.protection.outlook.com
 [2a01:111:f403:c201::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ace3d043-b65a-11f0-980a-7dc792cee155;
 Fri, 31 Oct 2025 14:08:21 +0100 (CET)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by PR3PR03MB6489.eurprd03.prod.outlook.com (2603:10a6:102:7c::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9275.15; Fri, 31 Oct
 2025 13:08:19 +0000
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593]) by AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593%3]) with mapi id 15.20.9275.013; Fri, 31 Oct 2025
 13:08:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ace3d043-b65a-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ygTKh8Ou2AmXIMY2tbz/iNvIrkJxkuCefTEHdS2toLYoiATak3O0wC8tKRoQHae2F4XG24h1Pmi2zqGi2sd7PrgVxDaQZGwwUapDSOwNu6gP1F7mmippK1XoAAO8AsWGwN/Xmgn4QcMw3q5sPycJgRIsrk9qnEW66W0HhahfQGPDh5Q7RmBoNQnHTuiwn4XEMXKHp7L838e2tiZK8Xow1tFg8VKkMxFFVefwy6DnWlSWycde3+iG2iypXfZo/rG1qsWdDo7FeJ1XtGhKFMqOwPAMnjsMQm9gTaGWh6zu6PPP7zz87UYnKHwz+GjkjPaYjFDPudyc0Y1FNFMX+s3xyA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=blHKH9R2+50ZKxBKclvV94XxnDSiT4M7TFNVeYbBiXY=;
 b=YlqDWFo2A40E7BbY/qDkj+izno0hHzFqcmuD4LOfJ/nIuwRKGd9ygc9rskZcUn1VT3lOEmhLatcQXXQeWs6Jeb30cGZSbSpKDp3Nqo/BrGSgOTVyYR3jEDQ+o+IMv+GwUoZTep+W2/ZX9Nagc8CWJpw2gzmu5qaTnJl+PgY3TRm64BgwZbw5s6BrMyqeYmt67mN556tS/AVZP2uS1Pf9R65EUekCTnICEOPI2Ty1kgND+XbqaSIYjmNsRbFJgv/HKTO02Yurwd+jaCKBuMpO2TEN6KHQYtfvz4GXcuDiE7bZLY43lWQIqUFZpiqYLUGw1JpqlpPOqtJJEV0NpmqSLg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=blHKH9R2+50ZKxBKclvV94XxnDSiT4M7TFNVeYbBiXY=;
 b=gAqsnXTMvnX5r4N9PizoRwBroMG/JgvzbXNm1HncHuzwhVjmSvx6e/h3UFWEJJ567/+PgMLs0binxku5Xeh7ASO3u4lw3gb0Pj0d/ZDPV3PrxbdecY33gI/C1YF1j+SjBd96CwnWZmopbMLQohEo78PJDUE2uujU133eI2cnfl4WX7hy7ershK1AY53Jvch3CTQEghfAC3conEArDWhK4rYdgWxp2odqncBozwe1RznbsVPHuAV/bjhuUFCa4EMxKZphpKhnaD2A+K97X/HX4Z+zVIXp/Gy8dN6G7tjvv+qRDOMEDt/5WHxIDFlkxzDiqtTi3o6UNSrOXmOYA5wmkA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <40609db8-ea7d-4866-b7b2-d9647c64d512@epam.com>
Date: Fri, 31 Oct 2025 15:08:16 +0200
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] domain: adjust soft-reset arch dependency
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Michal Orzel <michal.orzel@amd.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Penny Zheng <Penny.Zheng@amd.com>,
 Christopher Clark <christopher.w.clark@gmail.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Timothy Pearson <tpearson@raptorengineering.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>, milan_djokic@epam.com,
 Sergiy Kibrik <sergiy_kibrik@epam.com>
References: <c9c8c9c6-a155-4986-bf77-5766cdcd6024@suse.com>
Content-Language: en-US
From: Grygorii Strashko <grygorii_strashko@epam.com>
In-Reply-To: <c9c8c9c6-a155-4986-bf77-5766cdcd6024@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0137.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9e::12) To AS2PR03MB8907.eurprd03.prod.outlook.com
 (2603:10a6:20b:5e4::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS2PR03MB8907:EE_|PR3PR03MB6489:EE_
X-MS-Office365-Filtering-Correlation-Id: 52f53260-232a-4a44-1c08-08de187e8f88
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|7416014|376014|1800799024|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?ZlM4QnJkbENOS2ZyWlBuMHlGRzdNMi9CZHlvcDd5dXVBWEJPVXM1WUJLb1l4?=
 =?utf-8?B?Sm9SQ1g4bUhkZ3h6cWh0Z2dOc3Y3RXBKczU2cm1OT0ZwN3VGc2U2SHpKU0Z6?=
 =?utf-8?B?NXdmZmRZd28vRDJuOHhNUUovVGVmSWI1bDhVZ20xZ3ltZ2RadWJ0T3hxS1po?=
 =?utf-8?B?ZkhqMjBZQ3dvWTdxY3BTM29FaXJESGdRTXBaWkcrZUprRlNYcjBtRC9Eak1v?=
 =?utf-8?B?bTRyb2FrU0ZTTkxyOW5Kci9EVkU3c2VPRURyeFFLQzNXZ3c0K3A2YWgwSXpV?=
 =?utf-8?B?YUl2QlliNjNUQWdWSGNSbXExYXg1VWRobnZ0c0k1MHY5NUVTRUhrRHVRZldN?=
 =?utf-8?B?Tld3QXlWcHZwMktGdWR6TWdUWURESFRDUmFCbllKTDJRZytPbjdZaVNLVkYz?=
 =?utf-8?B?NDdJOXhycExOMk5VQ3NiMHlzYVA5MHlTVzdLNWZZWml6eHhYSWg5NHlCako2?=
 =?utf-8?B?NC84MjBLNERINE1mSnRxVDEvVHF0M1F4cmc3bUFwamYwQ2haeHJqQUU0Ti95?=
 =?utf-8?B?RWZvN1NzUVEyZVppZ3AxclZySG00ZytuMDdwcTNMQ0NqOU1abVRPY1lqbTNN?=
 =?utf-8?B?cW5scWI4SDhEbXNERkNGenptQnUxZUFRaHVpeVZnVUM5czZRMVI4dnBSTTJa?=
 =?utf-8?B?YnQzMk5GK2oxVHlLc3ZUTWNHSmwveFQ4SjVYTUVCUU1SMG1CbmFGVTlBMzFR?=
 =?utf-8?B?ZUU3RkZQMWFTVHd3aUJLQ01BL043MjNOdVdVWTFQaGVkT1NoUDdVVERnZkVk?=
 =?utf-8?B?UzhNOWV6UGR6ZFllTGFSNWoxdmcxaERrV2ZDcGExa0xiSHdyMytKaEt0K0ha?=
 =?utf-8?B?WXNMcUlETkw3YWtZTHhDc0lWbHJhMHk0RHRMUlBmWmZuQWVBMUF3V25obXh4?=
 =?utf-8?B?Q2FzTEt3aUt1WksvVmNpK01ZVlUyaE9Na2NlMGlNN3hXS3dsT2U1MHJFY1Z0?=
 =?utf-8?B?djZVNXQ3KzN3VEVJbkFrMGJ2WU8xVWVHcStWa2JhemJLZGYzQUFaeWVWT1Z3?=
 =?utf-8?B?NGZrcTVPMHgzcVBxTVRsV043RmlTcDNVZnVSYVZJWEFLbk1XQUp3WTg3blVz?=
 =?utf-8?B?cUJRY2Fpb01uWS9PWjJVZE02RVczYjNucFZ2NmNiajBrVnp0YTFRbTdxY1Va?=
 =?utf-8?B?Q2FDMnhFS1Z4VTVoaXVBaEhDb2xTYi80b0MxTTYzbEErVjI5NVBxRDd6ZlRP?=
 =?utf-8?B?WE5EazZjOEY2VzI2NUExeU1NNmpMNE1ldHFCSysvZi93N2tpc1VZK0tzdW5w?=
 =?utf-8?B?aVU1bzNXeTFrdW5mSGhxM1VmK2dmNFpHdERzRUJOTS9pcHdhTE5nUjVWNmNM?=
 =?utf-8?B?TzVXTlQrNml2NjBVZGtJM25pbWg4eU4zZGN4TEtOSW5FR0dRNGVNSVBFa2hK?=
 =?utf-8?B?Z1BlWE1CUXA2WGxiTlhubWJYVGZhcnZRNU4vRStWNHFGdEFZWUFadi93eWti?=
 =?utf-8?B?MWJZNzZva3RMbjVIUmRuMEdGamdjL3RmUkswb1R3eVVjcEl2d1VIRkhvTVlx?=
 =?utf-8?B?dzROVUFoUGxpeVR6b1hyMzFPSmZ0NUpZUEY4TVczL1FaSmhBbzU0ZWh3MzFJ?=
 =?utf-8?B?Ti9kbkRhWkUySWZyM1hHcy96bUxyUHBPNWcwSGpLQVNHNFVkM0w3NXpiR0hr?=
 =?utf-8?B?SFNqV1hoR3JqTjloODlobU1uWmZtU0pRY1JvYzZjTXZrcDdOTzNVV2RFYWZ5?=
 =?utf-8?B?OTI0NDg4UXdzb0RTcUE3cHBzRERnWnF1b2wzYTFZNVlnRWNqeE5lRjRQNkR6?=
 =?utf-8?B?UXdxMk5QU0VpZEs4SWpXWEtJQ3BiWlNJMlFQb21NTVVSbzVtdUJNa2I3ci90?=
 =?utf-8?B?VzlTMXdyOFo5V0FrSWhxZlVqZVFUNm9OUUNrbDFEdlNFT25sSHRmaGtSeito?=
 =?utf-8?B?UG11WGdhSHdZVGorTkNGbHA0cG0rL0V0c3ZweWtqYS9RWmk5amRJb29NSHha?=
 =?utf-8?Q?BspBmfaCZeJ1ifdLGG093OJoONTgixee?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS2PR03MB8907.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(7416014)(376014)(1800799024)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RmRsUDRKQUhEQUtIYnNvWGZOYzBUdXB2bzFzQTRYeFlWekFOUzQyVE8yMnl6?=
 =?utf-8?B?TFAybExpL1M3RDBabVZhcXRrVDVFOFVPQ0t5LzJmSCtqY0dCRUNJVlMyR045?=
 =?utf-8?B?UkkyYWdsWi9vdW9KcDdlZzB6VkN3blJQakt5WnY3L0F2dUU5bUpwTnZGUjRZ?=
 =?utf-8?B?OUZEWDExQ1puMEdtQUsxWUVBSFBnQ2Mzd3pCQnluZnlPU2JBYzFETHgwN1pF?=
 =?utf-8?B?Mnpxc3g5YU5SMzNhY1JZWlVVeVFWUFBHMkRYV2swd1BTSWZvU0QwUEY2UHdY?=
 =?utf-8?B?VFVXQ055Y1BCek5aOWpuWXRpSklSVUZHd0wyVTc1cncxOXJ2SW9TOHh4cmNU?=
 =?utf-8?B?VC8zNmVSY0VMSVpJMW9mMjVZYmJRY2pDNzVlZDhiblJHVlRMKy9UY0lBREQ2?=
 =?utf-8?B?OHNqdFJrQytYOVRrSHR1djlBK0dLME93QnZDWEZnd3FhTGthQWFJdXljWk5x?=
 =?utf-8?B?SitLdDM5YUtFMVRzWThYSGJEQ01zVTk0NndZT3NjaWljQ1pmaVhnalZHcDhw?=
 =?utf-8?B?V0dCWDBKS3pJdWdQZnFtNm1nbWpqRmlrVGlHVFpHYmtMeWFCOWhkcWtFRCtR?=
 =?utf-8?B?eTAzT25yY2M1cnpKdk5jTGoyTTNWQXdZRERiNzQxR3R0RWE2MGJpZ1YwdklJ?=
 =?utf-8?B?L0w4ZTQvY2FFQjc3SVZoaUJHbnZtTUg2MUxudThrckFXU2w5Q2Y3MGVxSUgw?=
 =?utf-8?B?ZnQ4YkFjcUtwUzVsRVFCNjJUM2JUV1BKUWpQdVM1NkUwajhxV2s2bzVDTEZF?=
 =?utf-8?B?anBndmc2dng5N3RmK21xczc3akxIWi8xMWl2TURzMUVhRHpkWENnTndoWEdI?=
 =?utf-8?B?dXBMYkM2R0Fla0Y5a3Y2TXNMQkdCU1ZoVHE2TEdwUUswOUVURDBwK2o4NE5s?=
 =?utf-8?B?Wk1xL1pmM1ZxUXVIVHptVFlNcTVkazNNREhhSVN4RWpybTlZZVB4djN5amQ0?=
 =?utf-8?B?b2hEbG94by9xeGVvbldKbWtIQVlOVFg4OHpDTjI3TTFhaGllLzNlRDF4b0pM?=
 =?utf-8?B?NWZYREQxRW5va01TVDEwY2p1a0ZHbkZIZGdLaGY0bkluT2U4SXVPRVo2TVhF?=
 =?utf-8?B?eGFoM0x5UzlvQ0ZuaGs1SzBaaFpYSFpFS2sySmxDSGprN0ZlMlhCQlhUUDJB?=
 =?utf-8?B?RkkvMGJoRVFJSEcwaEI4Rnkyd1VXSVFQNkFPY3VXMzNxOCtUVnJWR1NXRXlO?=
 =?utf-8?B?d0ZKNUIzeW0wYkhkaGhNZU81dU5BQTc4U21lSGx6amZCR3dtNUM5Tk9ZdlRj?=
 =?utf-8?B?dFp1WGp6N25aZUthT0NSRnkwNjl1VC9lbTRBamlWSXZhU1dOVGlXclV0VVhN?=
 =?utf-8?B?Q200aDVxbnBYNGhkTU9xblRyZ09CLzZWWUV5VG00c1diQ3hvOFkzckgyY2pl?=
 =?utf-8?B?aEQra2NrcWJMelJMU0lubzRSb2NucllWYXJMNjdhb0oydGx2aE9CbEluVGNI?=
 =?utf-8?B?aUN6VDlPTTZtbXM0TC82VGVuZ0VVaHIwc3M4N2toaC9HZ3kvUGdGSUx4cDdG?=
 =?utf-8?B?ZmR1cFRJR3BGSGpoUy82dXRUWkRkOGU4dFczWG01MG5kZGJ2ZklMVkRDMDVj?=
 =?utf-8?B?YVdDQ244WXJuOXgvdDMrMHlMVXlKeTdjOUZmR2MyNjI0b0wwSnoxT09vbFZM?=
 =?utf-8?B?VVNhWjJ5R2l4WWQzdk9zRVZjZkg0RjREWUkzWHdHODNjRVE1UUdxZ2xVbjRC?=
 =?utf-8?B?ajRGbmRjZ1p4N2hKMWU4bm5LVkpwL21rVFlKTFUyc0N5QXFNdkxkZmo0eUZn?=
 =?utf-8?B?b1BIYm4zV2ZvZ1h5aGFXYzB0UjN6UHppUkdkMHNpcXY4aGpnR2p3Zi9zd2hP?=
 =?utf-8?B?blAvY3NQeFl0d0lnNUE1UkZKL3dsNnBmYngyK25pbUtKT1RrRHdocFd1Vkhw?=
 =?utf-8?B?NU01RWljNllrWEl4RDJqQ0xwc3d3RW83Q2N4QzhEQktONXhHRXlmdjh4R2lZ?=
 =?utf-8?B?V2JoaVZRVUtkdENvRUZzN1hPWmlZT1NIUVlpeDB3azVCbEVQQkZoZENjdUo3?=
 =?utf-8?B?dUdJOWl3NXZOMWZlN1R0bkxTS0svWjlBa01neUVqbHNkSjFGeTRFblEzSDNX?=
 =?utf-8?B?b3U5S0xYL1hlMW4rcmhjUFJMOHdtRDRtT3ZSdnd6T2krWmdpSGNQMGE0Z1Rl?=
 =?utf-8?B?SFVINmhTa3hBbXhROFMrWll2ZCtYRUFxS0dySDlWZzBvbldMeXNXMlBPRlIy?=
 =?utf-8?B?TkE9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 52f53260-232a-4a44-1c08-08de187e8f88
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Oct 2025 13:08:18.7707
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 9em0rbOJVBEh97UqwTtlN7uHZeQMNLKLMfrI3F8CVlsg60cvXUci5A6hE8lTaQUNZR7LJ6cgPk+1XRhaq4NeHHAiMpVVaixXJofzA71E5R0=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR03MB6489

Hi Jan,

On 30.10.25 14:10, Jan Beulich wrote:
> Arm's arch_domain_soft_reset() returning -ENOSYS is quite unhelpful: This
> way a domain will be crashed if a tool stack mistakenly invokes
> XEN_DOMCTL_soft_reset on it. Instead the tool stack should be told of its
> mistake.
> 
> Introduce HAS_SOFT_RESET, implied only by x86. "imply" rather than
> "select" such that HAS_SOFT_RESET can later gain a dependency on
> MGMT_HYPERCALLS. That way HAS_SOFT_RESET will go off when
> MGMT_HYPERCALLS is off.
> 
> Check the new setting early in domctl handling, and compile out the thus
> dead (when HAS_SOFT_RESET=n) domain_soft_reset() as well as its dedicated
> helpers.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 

Thank you for your patch.

Reviewed-by: Grygorii Strashko <grygorii_strashko@epam.com>

But one question - soft_reset is applicable for domain, so wouldn't it
be better to note that in Kconfig option name:

   HAS_DOMAIN_SOFT_RESET

-- 
Best regards,
-grygorii



From xen-devel-bounces@lists.xenproject.org Fri Oct 31 13:15:36 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 31 Oct 2025 13:15:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1154305.1484375 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEoya-0007K8-Hc; Fri, 31 Oct 2025 13:15:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1154305.1484375; Fri, 31 Oct 2025 13:15:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEoya-0007K1-EG; Fri, 31 Oct 2025 13:15:32 +0000
Received: by outflank-mailman (input) for mailman id 1154305;
 Fri, 31 Oct 2025 13:15:31 +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
 <SRS0=Jqku=5I=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1vEoyZ-0007Jv-It
 for xen-devel@lists.xenproject.org; Fri, 31 Oct 2025 13:15:31 +0000
Received: from BL2PR02CU003.outbound.protection.outlook.com
 (mail-eastusazlp17011000f.outbound.protection.outlook.com
 [2a01:111:f403:c100::f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ac375288-b65b-11f0-9d16-b5c5bf9af7f9;
 Fri, 31 Oct 2025 14:15:30 +0100 (CET)
Received: from DM6PR03MB5227.namprd03.prod.outlook.com (2603:10b6:5:247::22)
 by CH5PR03MB7934.namprd03.prod.outlook.com (2603:10b6:610:215::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9275.15; Fri, 31 Oct
 2025 13:15:27 +0000
Received: from DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2]) by DM6PR03MB5227.namprd03.prod.outlook.com
 ([fe80::c9a0:563d:c344:aec2%5]) with mapi id 15.20.9275.013; Fri, 31 Oct 2025
 13:15:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ac375288-b65b-11f0-9d16-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=OKkmnCo7WVfbrSsBJytY9IhL7sMebiwirI2i3cdmJZ2sGtnJ2CZYnTOwvvVtW1X9nrLgpVAcl/TJ8UIUIvZAPeCV7VmRq4H2iqj8XbLmNbmNttNNVE/k4GtMayI6FnH0WAIb/fJIIjIEyOWZp+EO2jD6R6934+2tau508ux6QzKis0kBUUc335Os8+cgha0TG7l3QSlhy2YtbVxVVEI+zA0yGdT320O/9LnTfUsu7UWNhhGI8600Sy6FgOF59i975nbJ3kWI/7CPgmueVGWZRJbyQKdXx1lVwCgWebKnWYX9cPhrTkiMmwI2ZHUTib8HynXcWJO+ui9ynpnfqylbSg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=M0ln+Qp3rJ0Tongdy/62CoA3IxhaSwPLiR+TbG05VKg=;
 b=J4VpyWCj1yaf+phdjWtxvgvxKuxsjQU/z3no65TcHOypSmj5+tbIc4iimZE6s4xT0wgfNQFDL5A43eTDp3DIBOYYjqyGA7/RmHBdztKALdBd+V1b3uUwYW11Z9KJhouCNDRBhalJxi4C1F4CdJ0Gf1dYi4q+3kasH5iUawTdA1/3CFaGWr1DnrgtAyvBR3e/695giKxP2A9XUf6/hUPnNTsliTSUTkJgqZ5SLZlo7mee8hxvMgIziKK4vbEeSRb7DFCiflBX2f2jtvwufEwm4Oer1mgUtlfoOy7DbJq0ktVkadVBZwJp2Lmm1aMrwKAekxkp4SOmKZDxY1wUpr8oFg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=M0ln+Qp3rJ0Tongdy/62CoA3IxhaSwPLiR+TbG05VKg=;
 b=Fq19m/QQTaqgYO7xhf9qsYFXddwylkrHbnKzjTLKxZDTJzQBJA8JtxX7QeC9xiCSAzWWd/AsP+nokPI4SUhb1SaQIglH+Ique3OXhHhljO+Ki24AX36QqhsYFwGg/3M5G9bldsl+wY9Lhnf+tTaAGZpysihCnHbRG16QUiuklDM=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Fri, 31 Oct 2025 14:15:22 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH v2 for-4.21 0/2] x86/AMD: deal with RDSEED issues
Message-ID: <aQS2arOWxEiHq1sj@Mac.lan>
References: <272093dc-c97c-434a-9977-ad1c26e7e229@suse.com>
 <aQSN3MKxAa_cltld@Mac.lan>
 <68e28e41-e835-4985-80a3-6a99b3d7dc3e@suse.com>
 <aQSVTjh5xiib-u5D@Mac.lan>
 <b7293f69-d9f8-4669-a1fd-eaa468445d68@suse.com>
 <aQSoE8ugCKdNWy9C@Mac.lan>
 <8c7881d9-5959-41b5-865d-d61199ac7a44@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <8c7881d9-5959-41b5-865d-d61199ac7a44@suse.com>
X-ClientProxiedBy: PR1P264CA0096.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:102:345::11) To DM6PR03MB5227.namprd03.prod.outlook.com
 (2603:10b6:5:247::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR03MB5227:EE_|CH5PR03MB7934:EE_
X-MS-Office365-Filtering-Correlation-Id: 591ef11c-8a5c-4940-8099-08de187f8ea4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?S3dSdHF1MzdyOHV6UStEbkRkL0hSTUNiNjRRUFhlYkF0WXBVT3RkNUYyaTA2?=
 =?utf-8?B?blYzMWptRE9RK2FiOGxxaDk2SHcxQlg4dE5JYU0wcjhtOW4yNVFYcmZqcUR1?=
 =?utf-8?B?RFNub3dSajNlYWV1bHdEWjJXM21JallCMHphdlFhUjErUFh1OWZ0M3FseUxw?=
 =?utf-8?B?SFFSM1pwSkY0bzUvYUZmdXR4QkF4VGNQWnk2enlBQ3J5MnBZWUxHMHNVMThI?=
 =?utf-8?B?dFpZNnI1cDBYS0tNVkxxNFZhWkNUaWRBVmtyMjNRRnBoamFQMW16b1J5QlN2?=
 =?utf-8?B?Zk4rNFF6KzRjakRkZDJFR1RzSHZ0eXVUT2hvYlZXVytKK24ya2I2VnNmQ1RL?=
 =?utf-8?B?UlpuamNFSCt2TDhNdzliU1lVQXFvU1krNWpzcE9Dd2xUeGlBV0FNc1lFN0Rm?=
 =?utf-8?B?UXVEZEhMd1NGQUdGUVQ5c1FYRDFlSVlEN29SK2MrcjZlN3ZXd2xqT3hsQW1O?=
 =?utf-8?B?MFFZM3cyREYyNHN2ZDhjaXRJT3Bzd2FVZFNYRGtOa1M5eTA0ZG9pUk04TTJR?=
 =?utf-8?B?RnQzWTR4TmlFcVhqeXhxcm1NL1hpL0R1THBLRFpzelFpaWE2NW1LcW9SVFhU?=
 =?utf-8?B?VEpnREcrbmRraFpDRGtFZXRCUFFZdm5GTHZjWDNsNTNMREVQKzBHNjBKQ3du?=
 =?utf-8?B?VFU4WGRFZmYrU1lzdzlEQjcvZVErdC9EVkhvdHp6UENYR2Jyb2F0ZjZ1TVB2?=
 =?utf-8?B?aGh1ZFlXOFc1SGFqTTlRRDZibzFwZzUyNXphTTJYOWw3ajNOQzFyMUlnSFBG?=
 =?utf-8?B?OENyZGdZOUZ2bGl4WlVYeHJjV0NZeXNOVGdZT0lRQ1BQSElxQlF4b3JtSHpY?=
 =?utf-8?B?dG9QTWtQQ21iLzhnN3VhR0Q2Rmw5WGFid2YyRDNpdktTS0E5WnNnQ2ZyQjN5?=
 =?utf-8?B?a3VLWWIvL3NTNjU0SlN6NTlOQkxQL211UjE5Ui8yLzl4ZFZaYnVseW8rOUhO?=
 =?utf-8?B?SUdldGJ3SmFSWGpMQ0pyaHRFNjdiTlFZTi90cURKZTFkTlQwVkJ4MWdMMXdX?=
 =?utf-8?B?MmhMNFhIRkdwWU0vK3pjWkJWZHpzRCtMdit6ck1taUxZVDR3NG5RRVNDZnR3?=
 =?utf-8?B?Q3ZlOWZiRlhwZXpENW1kQmRibFR5MnpPUjFRWm9TbkRGWnF6OG1qZUJmWlE5?=
 =?utf-8?B?Qkg5NHNFaEsrUE1hRE96c216S1Z6cUhZT3BGN1NJdlgxTmVIaE1nZkhVNENn?=
 =?utf-8?B?ZXc5blNWYVhBMUNydWFySHp2RmRpTjFxTkJmZDlHYUk3UFhQcnkrNkEydWxG?=
 =?utf-8?B?UjdsZFpHd240T05SWUlxQ2hXazZ6SU9rbnhlLzZRc1M2YnExL0t2MnZNc3Vt?=
 =?utf-8?B?OVZKTlZySUUyZ0FWUGRlZ2FjT2I4Y01wRUh2YXFOR3FBZWJWRGhwTjFMSEhT?=
 =?utf-8?B?blJEbjJDLy95L2VBYTRBNTBxS1ZiSkRLb0w0WnFRS0dwQ1g5UlhHbVIwZDVR?=
 =?utf-8?B?VW1wN0J0anR3N0srYVNORm9sekZlTzRHblM1d0ZPN3hRVVVxMmQyZW5BTEdv?=
 =?utf-8?B?bUtScmRPNmtqQ3Z2N0tWV3N1TjdFZWZCT1gyTG5STFNRYmloeUk0dXIzV3Ay?=
 =?utf-8?B?VzMrT0d2cWh5SDJzeVVOQlJVK3lUT0xNekVrZFFyQjFZZGZLTERuekh5TGFh?=
 =?utf-8?B?dDF6S3RoalBvZnVoU3hRRWtFVmZ6NlVhNzVvVVY5Z3RkUDdqTzBzakhVUytZ?=
 =?utf-8?B?YUlUZ3Z3ektsczJhaUZRNjlzVXE4M2ZLNFZPOUsrWHFIYVUzbmtuZGxXQzZS?=
 =?utf-8?B?N0ZHMlJsZ3p0OC8yRURuMzhrRkNQeWd1QVFNZmk0Zm13SGFlMm9RRGlhUXhl?=
 =?utf-8?B?ZnRZbFB1NENiK1pRQTExYXpHWXFuM01QbDE5aVE0ckUzNnFMQlhFKzJKaWxx?=
 =?utf-8?B?R3d1S3BTSWNWNmlSKzlGQmRuWElSZEF4UGdPODBldmkrZUlqSXNKTDg5c1hm?=
 =?utf-8?Q?b1WM7qwP5l2SwUIyiPkL+NYmPnS3CZlO?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5227.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Uk9kRkpzRC94MFJJeE9TSVFlbmo4ei9uRG40ejFVUGZJeFUrQVpZRWwwb3cv?=
 =?utf-8?B?RnFXOVVUNU9rRFp6R091bGRvV0d5U1A0Vm5ValBPVThrcFg5U0VlQXJmOHBW?=
 =?utf-8?B?d2dQQmlpTjJUNU1iVGxTb0lUSHgvNVpZMFR6azkzaURnOTR4UUVSbnZhUDBq?=
 =?utf-8?B?ZnEvYTF6V01SNEJ6aXcvOGp6a0o4Vk9kMHZmTmpBM00wdTFzNXFIL0t1Rzg4?=
 =?utf-8?B?eFB6SFVibWh2WEkwWVRSMCt6bXBMR3JqcVRua1RhaENFNWx2SlZ4eVZLcGRH?=
 =?utf-8?B?VUpYTTR4ZHJreGRYRnNSZm43ZlluQy8zWFIrbkpmWVhsK29RbTZMdDFVM2pT?=
 =?utf-8?B?ZW1SdHc5S1BPNkVBNDRzZG51VG1id1hBK0xULzN3WHozMzdFWGJrai9ZV0Ru?=
 =?utf-8?B?SnJtbXRhOGpydTFjaDZRRWh6aXc2L1A4bkhuRDJFWHM3dFFpM05JMElWY2xK?=
 =?utf-8?B?ZUdDZnJLVFY1NkpyQms3WUdCcFBjQ0ZGV3RCamY1SmxhdlAwbml3eUhlTEVU?=
 =?utf-8?B?N3pDUHRrVldObXJNamh0blF4SzJaRitMMng3TnVDWlBLbThXK1dqWkRBYkgy?=
 =?utf-8?B?dXUwTHRTdWNxaHQ2MG5kamFkQzJDcEsybHZYTngyT25JMHk4eEZSZlpHT3FF?=
 =?utf-8?B?dVM0MmVFUTRSWUxlM1VhNlZ5TW5PR3JrbzdzUkMydkN0UEVVUmFaNGdPRDNX?=
 =?utf-8?B?b1lyMGtoamV4NG5jYm1TMTlNb3E2WWozc3VyOC9XQlNWWjNScHNtZ1RUdkZo?=
 =?utf-8?B?SkMyOGdBTG5wekNNVThDTUdHbFBxVDc3OXhSWnFaN1NPNFdCRDh1SkN3RENo?=
 =?utf-8?B?anlod1hpL1hGbEYyNUptelJHS0psdU9HK0dtWkRBZk5hMno3VzdNWmdiRzZk?=
 =?utf-8?B?Y002cVFyM2dWSWJZMnExbWgvelBNZGJ4Uy91M0Z1MGl6c3NIYThURzREZTNi?=
 =?utf-8?B?KzJnWFJqek5JY3IzbU8rRUVONnNlWXd2M3doRjYrQnQ5M3ovTzlUU2RUZUM3?=
 =?utf-8?B?Vkh5alpKWVhWWG1nQjREL2FSK1RjVUh2VDVjSXY2eTZQenpBZ1paMFhMd0NO?=
 =?utf-8?B?TXoxQUZ2UWVTdDlLWFpUeHpHZWRxYXg2RW5NOUxjUVhMdVVOZGQzUW9nNXpw?=
 =?utf-8?B?bmtsRS9qZWJFOGtxK0JwUWZSZm8vemIzdUlQVUlrRHZOWDA4U2k1RWgraWRo?=
 =?utf-8?B?STE1Ni84VUFLN3N4YW1qbmxPVFlKSEU3ZVBDUFVtSjV3OTV2VTVzNnRjS0d4?=
 =?utf-8?B?bHRVSS94SEd4TWNVTTNIaS9KR040R2JuMlZLTUNrM3ppMmZvUUtkaFB4Rkt1?=
 =?utf-8?B?YnJIZ213ckFCZGpGYzM5b01INUNzeTJlaDdlcEYzZTF0a0NiclFacU9zdWxh?=
 =?utf-8?B?UW4vSEwranZzV2tVT09pYktrN3RXSGJKRkN6YnVJSGlUMElSS2RvYmx3Wm5Y?=
 =?utf-8?B?WG0rS0I2YW43Ni9vNjZ6TWNCcThoYUttcWlkZUQ5NTJudTBYU0RsdzRxbUkx?=
 =?utf-8?B?OXVsMTFFOVdBMzdjUDl5VHRwNHBrSzNsUEdvR2c4d0JlV3YyYUxwSHdnVG9k?=
 =?utf-8?B?ZVpPbEZZdHhXcjVLdTNUU2dmbXcwVXhhWTMzakdHZlJmSEo5VHdiYWpYNTF1?=
 =?utf-8?B?NWxiREpMLzlRTTRDWlUxOUdpTjFPdFBMTXo5U3owRWR2N3Z4cjNJTzN0cmZD?=
 =?utf-8?B?ZzZ0RVpVTGJzZXpKOFRlRVVYUHJpb0hYTkxrcFd5SExwUy9KRFNqRmdhSTZ4?=
 =?utf-8?B?a2RIT2UvaWphWlE4Ym5ySGJDcWZXQVdxUXRuNjZvTHMzY08rZW1taTlvY2JL?=
 =?utf-8?B?TnpYMGQxWDdKL3ZXSDBTeFFZWUxna2Z3U0Q3b3d2ODNzczBidkxsZTliLzlu?=
 =?utf-8?B?VHpsZ05YSEU3eU5MMEYxNE9rMWhDSFA1KzBoMU5KTnVXQlRSbVg5SG5HL3ps?=
 =?utf-8?B?Ni9LYXY0SHp6ajE3RUpKT0l4NGZNRlJrdUdKSFlDbEwzRXRsc1ZPSHRoWVRT?=
 =?utf-8?B?ZytXbHZrMkJXZGM4NWpJdkhteUpTbzg3VjdGWitaekd0MmtvbGo3TXpmL3c3?=
 =?utf-8?B?VWxvVi9COGQxSkNudDlXbDNGelVldzdYSEtBa0M4bC9kS2t6aVYvU1dmYThM?=
 =?utf-8?Q?8+RnfcWUMqbVvxdHoC2rGFQYu?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 591ef11c-8a5c-4940-8099-08de187f8ea4
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5227.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Oct 2025 13:15:26.8808
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 7Cqk8Hc4edey1GtYi9XWgm0T8G3u538hNCYJcIX8k3LKAogSz8wgmyODJxTRhRYRo7h7FUzPwTzFlBMLW0icEg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH5PR03MB7934

On Fri, Oct 31, 2025 at 01:34:55PM +0100, Jan Beulich wrote:
> On 31.10.2025 13:14, Roger Pau MonnÃ© wrote:
> > On Fri, Oct 31, 2025 at 12:47:51PM +0100, Jan Beulich wrote:
> >> On 31.10.2025 11:54, Roger Pau MonnÃ© wrote:
> >>> On Fri, Oct 31, 2025 at 11:29:44AM +0100, Jan Beulich wrote:
> >>>> On 31.10.2025 11:22, Roger Pau MonnÃ© wrote:
> >>>>> On Tue, Oct 28, 2025 at 04:32:17PM +0100, Jan Beulich wrote:
> >>>>>> Both patches also want 'x86/CPU: extend is_forced_cpu_cap()'s "reach"' in
> >>>>>> place.
> >>>>>>
> >>>>>> 1: disable RDSEED on Fam17 model 47 stepping 0
> >>>>>> 2: disable RDSEED on most of Zen5
> >>>>>
> >>>>> For both patches: don't we need to set the feature in the max policy
> >>>>> to allow for incoming migrations of guests that have already seen the
> >>>>> feature?
> >>>>
> >>>> No, such guests should not run on affected hosts (unless overrides are in place),
> >>>> or else they'd face sudden malfunction of RDSEED. If an override was in place on
> >>>> the source host, an override will also need to be put in place on the destination
> >>>> one.
> >>>
> >>> But they may be malfunctioning before already, if started on a
> >>> vulnerable hosts without this fix and having seen RDSEED?
> >>
> >> Yes. But there could also be ones coming from good hosts. Imo ...
> >>
> >>> IMO after this fix is applied you should do pool leveling, at which
> >>> point RDSEED shouldn't be advertised anymore.  Having the feature in
> >>> the max policy allows to evacuate running guests while updating the
> >>> pool.  Otherwise those existing guests would be stuck to run on
> >>> non-updated hosts.
> >>
> >> ... we need to err on the side of caution.
> > 
> > While I understand your concerns, this would cause failures in the
> > upgrade and migration model used by both XCP-ng and XenServer at
> > least, as it could prevent eviction of running VMs to updated hosts.
> > 
> > At a minimum we would need an option to allow the feature to be set on
> > the max policy.
> 
> That's where the 3rd patch comes into play. "cpuid=rdseed" is the respective
> override. Just that it doesn't work correctly without that further patch.

Won't using "cpuid=rdseed" in the Xen command line result in RDSEED
getting exposed in the default policy also, which we want to avoid?

Or am I getting confused on where "cpuid=rdseed" should be used?

> >  Overall I think safety of migration (in this specific
> > regard) should be enforced by the toolstack (or orchestration layer),
> > rather than the hypervisor itself.  The hypervisor can reject
> > incompatible policies, but should leave the rest of the decisions to
> > higher layers as it doesn't have enough knowledge.
> 
> But without rendering guests vulnerable behind the admin's back.

I think that's part of the logic that should be implemented by the
orchestration layer, simply because it has all the data to make an
informed decision.  IMO it won't be behind the admin's back, or else
it's a bug in the higher layer toolstack.

Not putting rdseed in the max policy completely blocks the upgrade
path, even when a toolstack is possibly making the right informed
decisions.

I guess I need to see that 3rd patch.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Oct 31 13:24:23 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 31 Oct 2025 13:24:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1154315.1484385 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEp74-0000ov-BR; Fri, 31 Oct 2025 13:24:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1154315.1484385; Fri, 31 Oct 2025 13:24:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEp74-0000oo-80; Fri, 31 Oct 2025 13:24:18 +0000
Received: by outflank-mailman (input) for mailman id 1154315;
 Fri, 31 Oct 2025 13:24:16 +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
 <SRS0=zurH=5I=epam.com=dmytro_prokopchuk1@srs-se1.protection.inumbo.net>)
 id 1vEp72-0000oi-Nv
 for xen-devel@lists.xenproject.org; Fri, 31 Oct 2025 13:24:16 +0000
Received: from PA4PR04CU001.outbound.protection.outlook.com
 (mail-francecentralazlp170130007.outbound.protection.outlook.com
 [2a01:111:f403:c20a::7])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e4ec3281-b65c-11f0-980a-7dc792cee155;
 Fri, 31 Oct 2025 14:24:14 +0100 (CET)
Received: from DB7PR03MB4140.eurprd03.prod.outlook.com (2603:10a6:5:34::10) by
 PAXPR03MB7564.eurprd03.prod.outlook.com (2603:10a6:102:1df::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9275.15; Fri, 31 Oct
 2025 13:24:11 +0000
Received: from DB7PR03MB4140.eurprd03.prod.outlook.com
 ([fe80::e16e:b655:974f:43f3]) by DB7PR03MB4140.eurprd03.prod.outlook.com
 ([fe80::e16e:b655:974f:43f3%6]) with mapi id 15.20.9275.011; Fri, 31 Oct 2025
 13:24:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e4ec3281-b65c-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=C4QbHaYTbyTvO4FLIl+r/6ChM0xcJmQfhSwxKQSxDjE0GbVGgYJnooFBoX9LfcWi4zfmVechkE+TiHieTYux+ltkTJdICED4TcE2i0Vs0Kp+BtTTRIs6+Y25Q19BfvBEHCwmMIOSAcf11/kiThZz3US2b0KRMOtmGHUkQdyLbkp1rNf+EYhJm0pMqQcJO7UOk9xmm0/YVrz1lTPKEjT9d6wV6GDL2r2Ohpvmf4mgTuaqNqAG0pxDkyOcC/46xOdPy1/sbSGRO1dzVw4h7tC7FlPxoYR3J0p6O+i8ocTRBRKXuGBlmDjGiH6zqCC+uYlzd2bPZcFvDPUyB0k2XkVToQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=92UQgZfy6zd/34QJFmLoFlxHFsewVbBktWC27QeQ3Hw=;
 b=I/hVH0ANU8oO/gf0YXVQqeFiw5DDHhFutlGWkhx8QXVr8GvqC5kLSsnHWxZBQhRvlLXH5AdDmLPH++sdw7aTh5nfhOepj+IP9mBQU+kJdi63Tql62BSsSqehjWtKmGjmFHdfGkxFcgSkzvkSadaiGV7/IV8sMDb0MrXGqz2lTLRL6tbQujhEVBtH/fB9twSai7HQs6fJT8IteTtAq5gJfyeegYqIu4MkxXGKLt0BzLp6x1bsPPTkvqZWDAVUVokGQnW5dBTq9fA/LbCu97e0qUpr1K/F8g9DniAPaDLYnklIvWFTX3whRAvmkKdPWKSpS0u9PUxDA7U+W4BoBw6MkA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=92UQgZfy6zd/34QJFmLoFlxHFsewVbBktWC27QeQ3Hw=;
 b=OxSDJFlObT0unA8Jo8u/SMhhNzDTKxgNurggxa34AvD0XP0F/gPWvNn7Xb9OWTXSA/D3+VZJrse043sF4cx7MASIYop218UJ1jG2mxE9ScMdzGU9D5LsKMaZa99GSgUnGjoNzMUHWWAMHwrc5b8zQW/DemIMMrWEo3wwjZNkuFvPI58jkvV7nHWWo2on4pBlsxSicJhMTTD3duBsCaB1Ajn67zEVop9SUe2OWsiHnK1R4/G4fKBBo3JwvjyH3zwHFxQ+0mPYyecX+Xq7f0rQUX5X42oS9VE7ZfjV70XB0/Dnb8o9GvIgDzd6k7mEsoTrNd+LpIipLBLcTojoj7c4qA==
From: Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>, Julien
 Grall <julien@xen.org>, =?iso-8859-1?Q?Roger_Pau_Monn=E9?=
	<roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v2] kconfig: remove references to
 docs/misc/kconfig{,-language}.txt files
Thread-Topic: [PATCH v2] kconfig: remove references to
 docs/misc/kconfig{,-language}.txt files
Thread-Index: AQHcSmmkIQ80coKXgUesf7WJ2gZ4Pg==
Date: Fri, 31 Oct 2025 13:24:10 +0000
Message-ID:
 <e53aaf80d9f51a93885b1ff0d2cbb848468f7f08.1761916782.git.dmytro_prokopchuk1@epam.com>
Accept-Language: en-US, uk-UA, ru-RU
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DB7PR03MB4140:EE_|PAXPR03MB7564:EE_
x-ms-office365-filtering-correlation-id: f0a89680-6dd5-4ded-3091-08de1880c72e
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|1800799024|366016|42112799006|376014|38070700021;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?pL9Jol5ixPSzJdXQG+iUwbxiwJcceUQ4YL1wHpXWaznkNirzTyEC5Xbgqz?=
 =?iso-8859-1?Q?bTtVfjFyW/WyTNypZ9T1QTLaXS5sU1pRyw4Om9QNRvpkc80UZqo4s1Xlq8?=
 =?iso-8859-1?Q?1DzfckN2NUBqqbV1NgyeKsUFKWWBBtcUL5vjGpsRzPpZSYhINR3FUeVZNr?=
 =?iso-8859-1?Q?QMUvuTk2NcdgHxH91tEUBa6OzfLPN1vGg25cH2cF+h1BPqJc8hw6E4Q73t?=
 =?iso-8859-1?Q?U1iEjPs3PNtzERChZguvcDjWmy1ZkmVrEd78AGAxhPFqs9IW1uCyZEXX47?=
 =?iso-8859-1?Q?QhqHBxHqESfXUtvLa9lFm9dGovwoNwZneuHhoX6sv3qCCeOsyo6klGr+Lo?=
 =?iso-8859-1?Q?qImN/XJXphT1dRsrXNAY0hvQzAvTzW5+zVxTUwkSRvzyiqecXB/amnppBa?=
 =?iso-8859-1?Q?w/OIeVj0wjWkTsMWM7RqNYlk1H9Ax3VcCasvQCUKEi0fX3cuzDVc0Oy+uR?=
 =?iso-8859-1?Q?TdFyXOwdhCuDvTCQ8DKeF5eLB/Op2XbsV8VcjDPLi6wQlHHERDFuzJAa1y?=
 =?iso-8859-1?Q?VZGp/VNGBEyxsjYhCOigfenWaNxHhWAChl1L0pOGHKXr2wTAre4XW0lzJq?=
 =?iso-8859-1?Q?HaGwreU3NDbUeAO1216i7spOhUtEYpaOEwiw0A+6RESyG+Nd2Tn+TsYoOi?=
 =?iso-8859-1?Q?pDqW8LAW7+mo2J2793ZncLFhh5K8rI0zvpOdoZiM/kWkbI5afnP9x2vtKl?=
 =?iso-8859-1?Q?/Orrrqe/8uERTjYC//EfZemclrIODuyfWo4LBAYOxqmuC333gLVIHzJGdh?=
 =?iso-8859-1?Q?+L6XnswobLJRLo5dIyOKz9Fim/r/gq7IQ/8cpAN/ubjKc6aK8/1dl7HOiE?=
 =?iso-8859-1?Q?mtNh+INdwfuXZza3daY26qNcNvJhzCf94oP23agQ2aWG3ruKZM+cP8XuNg?=
 =?iso-8859-1?Q?5P9tlL/EmCpDdzQFn+7H/Y0rlFP7GJvzsnv8a0VOs/Q4IT9qbf+ogbVrue?=
 =?iso-8859-1?Q?ZinX+UJSFdswmYhWGaRFHDrGVeu9Eo/iBtcZvun6AwVaPJK1w+97ngPWSg?=
 =?iso-8859-1?Q?m/9G8s3GTVo6TtlhuCB80m2Cs7TaXWQprEMUN0gPg2no+2WMNl/OuSR1Tk?=
 =?iso-8859-1?Q?OknpFfu6zVe4XLg7arDX3pczKCplFlPqY1Xw2UoHXXeQxeWqTkM0GdpspK?=
 =?iso-8859-1?Q?IPP/IZdFvv/ut/jWkj6plwSBZjGqxhzQsEereW+oiyxDCFJlnzIEeUMds+?=
 =?iso-8859-1?Q?0wLOToLdOy+F2sWHSP4rPsAgX2JtwJKHmV2oLDjHYIeIhpkJGPVONN6tpb?=
 =?iso-8859-1?Q?rZ02YGY35hJ0ZZ/yJAh/RSw2pmnUWRwvSUY/lFlB5mCfTLKp2oCP+ehDtY?=
 =?iso-8859-1?Q?ik8F4T+DedVn7/0GdVfcaEPa7ZJZSzGyw6YkAiROv+cFOrXBn3O9h7IN0L?=
 =?iso-8859-1?Q?UyIgw2Q+WuHwqRS318VP5SioVm1eqZJov+h9+yjP0z4ef9aXJnbw9/JmHq?=
 =?iso-8859-1?Q?WrXfgMiSMszXVmOm1QCSmDdM7Iv+IyRLgpXbXc2XC0ftnJVy1lGJSjW+kp?=
 =?iso-8859-1?Q?qK7qQAXr/JsGgdQLkXyDTtJ5aOZUAdlIwIH7Y7sswtRQ=3D=3D?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB7PR03MB4140.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(42112799006)(376014)(38070700021);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?Ez35fJr0HlrWcL/429zXQ8CP1H2JO21GUGX6Z4id9W3yMFtMnb/guBwVn+?=
 =?iso-8859-1?Q?VEPHYBM0hCOdp6czD/dBLqaLH0+jrmiqn65fnJO4c21KHZMRloaJzpKCfn?=
 =?iso-8859-1?Q?KjHQNnQEDdHx4aVs8uesnWZK95hQE3lq9aIyz7fDS1zLfZfNw9Udm1D1B1?=
 =?iso-8859-1?Q?Qqq0REcQdwy+i6EE7bCyG4Jv9rJd+8qgA4x6pQ34Owx/nYDucnITsrCWmh?=
 =?iso-8859-1?Q?mVWBoNYIRRWkJZwnotClwv2Uu8/5NGs6Yk0nM5e//9ISkj16S8SAZSYoBw?=
 =?iso-8859-1?Q?rxMR5jaP+0U5eMSUt00jEMye0TGEIXdQUgkon1P7gJlQJ14ozzO2cGiw3E?=
 =?iso-8859-1?Q?NJb1rz/PcgJ2rF4cGEkNRz0OwI47uYwgJaKLKNZFCpv6386p4IfuyD9n3E?=
 =?iso-8859-1?Q?l+IKZdNdVW/sGIWNgYSKppfKtrM3168LzgwzV8UoVGBq1tiIIP1pf1TdP3?=
 =?iso-8859-1?Q?8OEm2JSTPeDZkQihslu+Srn/+5Poi8YYPARtn9FVIdYIIvtly39dC752Hv?=
 =?iso-8859-1?Q?d8zFknkJp5I6qNeICJHFUkpfkOf1uHCeq/JhsmEPLDv7s0g4F1YYNRDpsO?=
 =?iso-8859-1?Q?pQs1NAAOXo/a9a6Wv0PVPkOpRLYL42QpzJ2F3Ui5EJDn36eYxZOxztTmTK?=
 =?iso-8859-1?Q?/dJ8IOVKdCOvzM6v+TzOUxthDJybsCeTnsOzTBbPz+KQXXXSyGawRwrBK4?=
 =?iso-8859-1?Q?J8bUsx4itAeeOb1nSb9j35xSVkEv6Mm9pPKZgmb4NTH1MzWtn9eKZVavTU?=
 =?iso-8859-1?Q?ufEO6hohmoA1HVBvB/Jbs9hyymEXcsHcER7FW+m4zr9hzA+UHAMuYiO2im?=
 =?iso-8859-1?Q?uckh+4JpTz1/v4qI23/cQBT+RKFlFOM/bcw3Jkf5lW3vKq2XUZhMRrGddC?=
 =?iso-8859-1?Q?zrHkx8TGqfG6HIQ/7zR1lnzhFIWQ6R3L1cA8tHLUkZIXE7rJD8D3S7vC9o?=
 =?iso-8859-1?Q?g530rfoae9tqwGKSN2JpVLrTXhNy6j/S73/WZu+a5gS4oiYllK0pow0zPC?=
 =?iso-8859-1?Q?ixYabOwIkWHanayR58XgycIPie2LDgxOyWVkHhmaIY26JL+yT1DfhNHaHT?=
 =?iso-8859-1?Q?lMamTgL1DQllH5ZpyVZ8N6W1wpDpNJ83a7TZ7Jsavp+hd3HkTJlx6PhaUz?=
 =?iso-8859-1?Q?nN9Oe2sxArPAApsrkiptIz+QHuzGhiAPfiKfVyB3WB+v4ENziYcS0IPq+G?=
 =?iso-8859-1?Q?ZfFmvmZuYKZf2o2rZyUgnklyLHOLtOgJ0OLKY8EtLDIZAt003NM7i2jf3I?=
 =?iso-8859-1?Q?QkOm0FX7yTzf9y/4QhmYbXCIXQaXpracsJKFRh4GH980Q3oOKkQqsaq3Be?=
 =?iso-8859-1?Q?iK9Ejk525K8YLCzGx6MxLlsG51nqtWoxaxbeND2gYu0awuxsVVjd/6GKKN?=
 =?iso-8859-1?Q?VJfTu3Z7rQf9Jo8Umx/kcikpUBRHnDmnxU5AMQQ7VZl8CwRsd/Gc/YRAzp?=
 =?iso-8859-1?Q?PSXTGYOXNqQ2zRIEDDCOV6MJjh9n9MI/XKXSsGORUpHSENMASI8NmjwPHE?=
 =?iso-8859-1?Q?CYX3w1aA0qlRIB/DfUhfCN3o4Zs4oQrXKdgoa8UcZityRMXygysH11NCuz?=
 =?iso-8859-1?Q?nwRlp/27Nys0DOOMhkM6s8JnWuUmT2VQYa+PpcgUFuvpsGr3fWpi9YXy6t?=
 =?iso-8859-1?Q?QZm5U5VtZxbnZ45HdQfQDXvDId3VaJOsXgaFW1Y6no5SmARbn1cBl2oA?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DB7PR03MB4140.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f0a89680-6dd5-4ded-3091-08de1880c72e
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Oct 2025 13:24:10.9703
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: UZgB3ZSGbVjIDRimJNTx/SuLXb0x4BsWPcSUX9Z99D3qAvYr6C3zC/1BOBt/vAVK02c0hoHNdWHmJSslp+iSijz9ys8YGJBMFFp27+ekHTU=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR03MB7564

These files 'docs/misc/kconfig{,-language}.txt' were deleted, but
references are still present in Xen. Remove them to clean-up.

Fixes: 044503f61c95 ("docs: Delete kconfig docs to fix licensing violation"=
)
Fixes: f80fe2b34f08 ("xen: Update Kconfig to Linux v5.4")
Signed-off-by: Dmytro Prokopchuk <dmytro_prokopchuk1@epam.com>
---
Changes in v2:
- specified two commits that are fixed
- provided links with specific Kernel version v5.4 (not latest)

Link to v1:
https://patchew.org/Xen/6f72dcebf5dbb69e9496b7f0ef96198e9bb9f1e9.1761745058=
.git.dmytro._5Fprokopchuk1@epam.com/
---
 INSTALL     | 2 +-
 MAINTAINERS | 1 -
 xen/Kconfig | 2 +-
 3 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/INSTALL b/INSTALL
index eadf108aa5..c2e756bf4b 100644
--- a/INSTALL
+++ b/INSTALL
@@ -23,7 +23,7 @@ Xen Hypervisor
 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
=20
 Xen itself is configured via a `kconfig' system borrowed from Linux.
-See docs/misc/kconfig.txt.
+See https://www.kernel.org/doc/html/v5.4/kbuild/.
=20
 Note that unlike with Linux, and contrary to that document, you cannot
 look at Kconfig files, or the default or generated config files etc.,
diff --git a/MAINTAINERS b/MAINTAINERS
index ecd3f40df8..190da0cddb 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -389,7 +389,6 @@ F:	xen/include/xen/iommu.h
 KCONFIG
 M:	Doug Goldstein <cardoe@cardoe.com>
 S:	Supported
-F:	docs/misc/kconfig{,-language}.txt
 F:	xen/tools/kconfig/
=20
 KDD DEBUGGER
diff --git a/xen/Kconfig b/xen/Kconfig
index 07c4accf88..a5e5af3b76 100644
--- a/xen/Kconfig
+++ b/xen/Kconfig
@@ -1,6 +1,6 @@
 #
 # For a description of the syntax of this configuration file,
-# see docs/misc/kconfig-language.txt
+# see https://www.kernel.org/doc/html/v5.4/kbuild/kconfig-language.html
 #
 mainmenu "Xen/$(SRCARCH) $(XEN_FULLVERSION) Configuration"
=20
--=20
2.43.0


From xen-devel-bounces@lists.xenproject.org Fri Oct 31 14:34:00 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 31 Oct 2025 14:34:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1154389.1484411 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEqCK-0003Km-LM; Fri, 31 Oct 2025 14:33:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1154389.1484411; Fri, 31 Oct 2025 14:33:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEqCK-0003Kf-Ib; Fri, 31 Oct 2025 14:33:48 +0000
Received: by outflank-mailman (input) for mailman id 1154389;
 Fri, 31 Oct 2025 14:33:46 +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
 <SRS0=GHls=5I=bounce.vates.tech=bounce-md_30504962.6904c8c7.v1-8e591e3225c746edae8ed2c7ce401c52@srs-se1.protection.inumbo.net>)
 id 1vEqCI-0003KU-I3
 for xen-devel@lists.xenproject.org; Fri, 31 Oct 2025 14:33:46 +0000
Received: from mail132-29.atl131.mandrillapp.com
 (mail132-29.atl131.mandrillapp.com [198.2.132.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9a8ffd7a-b666-11f0-9d16-b5c5bf9af7f9;
 Fri, 31 Oct 2025 15:33:45 +0100 (CET)
Received: from pmta09.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail132-29.atl131.mandrillapp.com (Mailchimp) with ESMTP id
 4cyk4R3ptDz7lmDgy
 for <xen-devel@lists.xenproject.org>; Fri, 31 Oct 2025 14:33:43 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 8e591e3225c746edae8ed2c7ce401c52; Fri, 31 Oct 2025 14:33:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9a8ffd7a-b666-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1761921223; x=1762191223;
	bh=i+Fz/OACOa36k8s2j2wyPDfYrXB/LyOUQuAnRstanW8=;
	h=From:Subject:Message-Id:To:Cc:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=1DpV8P+QEMGN+rsKzlmkUkrLh+RTQv3ngWkuCQuo0ofyMiJ1M8Gni4E/ZPkK7UwYi
	 IgZkYncLYIzbGLbB2ehbQh25vnKeV7ZyyZRuUyquceqjR1OqcMoKQwGvlzgbeRrtco
	 cLDr5y6nNCkmZ8vLMOYBWFiNzpTtzUSKNI52hYVZ45JSGqT8to+DiomcPzLH8XC0Mt
	 cDrt1OjgD1QcIRbkE6mHVPLjbUnO2YMXkc/V7Mgarpu4LHNOKZsuZ/U/b+SWVNdtjY
	 qx1SDs5QEl1l6gqSxFIcHthKQZqtj34ajQaos7EZo5LIpUIZnEfq3KR9JbzknMlMrE
	 tzGQBtLYf2niw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1761921223; x=1762181723; i=teddy.astie@vates.tech;
	bh=i+Fz/OACOa36k8s2j2wyPDfYrXB/LyOUQuAnRstanW8=;
	h=From:Subject:Message-Id:To:Cc:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=UQUNE//AkjK0IYaO74k2UN5DPUMXBUl+AkievQDn5vYyh2RCd0Ua0Kc4U5KFDDqCX
	 BL+4QbUoJZrNZiG05Te1DJoC+3qcpGlhLbcweoaWS6fpNQ+PhZ4BvMG62QAWQXjk+K
	 tQv9qat7KWRFfuYpxZq/JyGR60XGjuUsK75iMowMr6uGuM5fpaFDoC3CW75qP0de+O
	 KrKX/2MfQJAjuTx2/0i7Jmfe8roNCiBlrPUPXTX5kzSBRadUM7KDtruEVHGR+77bRy
	 s/1RmH1AYtFQOKCNJAClIi1Cokd+TdeONGfMmJqlkDIKhMsiEE0+1oFXOTle4O62BC
	 3GpI+cDs5NxXQ==
From: "Teddy Astie" <teddy.astie@vates.tech>
Subject: =?utf-8?Q?Re:=20[RFC=20PATCH=20for-4.22]=20x86/hvm:=20Introduce=20force=5Fx2apic=20flag?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1761921222070
Message-Id: <5f62bd09-5e3f-4db7-901e-eb8c8a3763f5@vates.tech>
To: "Jan Beulich" <jbeulich@suse.com>
Cc: "Anthony PERARD" <anthony.perard@vates.tech>, "Juergen Gross" <jgross@suse.com>, "Andrew Cooper" <andrew.cooper3@citrix.com>, "=?utf-8?Q?Roger=20Pau=20Monn=C3=A9?=" <roger.pau@citrix.com>, "Oleksii Kurochko" <oleksii.kurochko@gmail.com>, xen-devel@lists.xenproject.org
References: <d498a50f6187b362ac5da3c6a7a7c348f35dc4b3.1761761288.git.teddy.astie@vates.tech> <fa9a7720-5a90-41bd-8ebb-5fc5d4065d38@suse.com>
In-Reply-To: <fa9a7720-5a90-41bd-8ebb-5fc5d4065d38@suse.com>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.8e591e3225c746edae8ed2c7ce401c52?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20251031:md
Date: Fri, 31 Oct 2025 14:33:43 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Le 30/10/2025 =C3=A0 08:56, Jan Beulich a =C3=A9crit=C2=A0:
> On 29.10.2025 19:26, Teddy Astie wrote:
>> --- a/xen/arch/x86/hvm/vlapic.c
>> +++ b/xen/arch/x86/hvm/vlapic.c
>> @@ -1116,6 +1116,20 @@ int guest_wrmsr_apic_base(struct vcpu *v, uint64_=
t val)
>>       if ( !has_vlapic(v->domain) )
>>           return X86EMUL_EXCEPTION;
>>   
>> +    if ( has_force_x2apic(v->domain) )
>> +    {
>> +        /*
>> +        * We implement the same semantics as MSR_IA32_XAPIC_DISABLE_STA=
TUS:
>> +        * LEGACY_XAPIC_DISABLED which rejects any attempt at clearing
>> +        * IA32_APIC_BASE.EXTD, thus forcing the LAPIC in x2APIC mode.
>> +        */
> 
> The MSR aspect should be implemented by using the MSR. Beyond that imo ou=
r treatment
> shouldn't be different from that when firmware pre-enables x2APIC: While =
not
> advisable, aiui OSes could still switch back to xAPIC mode. At which poin=
t the guest
> config level control may also want calling "pre-enable", not "force".
> 

One advantage of forcing x2APIC enabled is that it simplifies the 
support for LAPIC IDs over 255.

While that could be a alternative to just pre-enable x2apic (in cases we 
don't want the OS to use xAPIC because it is there), things still gets 
tricky for supporting more vCPUs. We would need to clarify the behavior 
of enabling xAPIC on a vCPU that has LAPIC_ID > 254, Intel and AMD 
specification don't define anything aside for Intel :
> If a BIOS transfers control to OS in xAPIC mode, then the BIOS must ensur=
e that only logical processors with
> CPUID.0BH.EDX value less than 255 are enabled.

And I guess the Intel's MSR_IA32_XAPIC_DISABLE_STATUS exists to prevent 
such specific case to occur once the OS booted.

> Jan
> 
Teddy


--
Teddy Astie | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech




From xen-devel-bounces@lists.xenproject.org Fri Oct 31 15:21:05 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 31 Oct 2025 15:21:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1154403.1484421 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEqvt-00020Q-2Y; Fri, 31 Oct 2025 15:20:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1154403.1484421; Fri, 31 Oct 2025 15:20:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEqvs-00020J-UV; Fri, 31 Oct 2025 15:20:52 +0000
Received: by outflank-mailman (input) for mailman id 1154403;
 Fri, 31 Oct 2025 15:20:52 +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
 <SRS0=Exqh=5I=unpredictable.fr=mohamed@srs-se1.protection.inumbo.net>)
 id 1vEqvs-00020D-6r
 for xen-devel@lists.xenproject.org; Fri, 31 Oct 2025 15:20:52 +0000
Received: from outbound.qs.icloud.com
 (p-east3-cluster2-host1-snip4-10.eps.apple.com [57.103.87.141])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2c47efb5-b66d-11f0-980a-7dc792cee155;
 Fri, 31 Oct 2025 16:20:46 +0100 (CET)
Received: from outbound.qs.icloud.com (unknown [127.0.0.2])
 by p00-icloudmta-asmtp-us-east-2d-10-percent-0 (Postfix) with ESMTPS id
 3ED411800319; Fri, 31 Oct 2025 15:20:42 +0000 (UTC)
Received: from smtpclient.apple (unknown [17.57.155.37])
 by p00-icloudmta-asmtp-us-east-2d-10-percent-0 (Postfix) with ESMTPSA id
 19502180260E; Fri, 31 Oct 2025 15:17:46 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2c47efb5-b66d-11f0-980a-7dc792cee155
Dkim-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=unpredictable.fr; s=sig1; bh=4U4IkgvelaoANo0vVatFRIc9fsW3H0HhVuJHKNrEyzw=; h=Content-Type:Mime-Version:Subject:From:Date:Message-Id:To:x-icloud-hme; b=O/2cVbA7jsyQd7NX6sayImQYecJ7QQ5gtnVf0wff009DcwVIKBTb9blwtamSIAdZ/+ck3BEidk+XWYcuf3QFzIZvMX1xd9rXS83R2LUkOTgZ7L9Dyy9lfI54Wy3vh1Uz1+dOrIKtjGlrmxi09Z/J4IXiEtQE3Ox0ZIOHKFVxgwP3EEreqs2zw5v7aw7HoAyaIzdD931Efq1hkaU+M4OUNqP7QX8Oy5Cmjeh8k8lCLzq/xSsTe1BNaI0PW0kDypdJIOOJ69tNH0PSuUDFKBnQgD6uMWB/iGWDA1KONZ0Gl4xtG08rUMStXqHz4IFfToRMdKcBWLxFkudCkjAyVM7IyQ==
mail-alias-created-date: 1752046281608
Content-Type: text/plain;
	charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3864.100.1.1.5\))
Subject: Re: Limitations for Running Xen on KVM Arm64
From: Mohamed Mediouni <mohamed@unpredictable.fr>
In-Reply-To: <KL1PR0601MB4588D25A95D680640A80F2CAE6FBA@KL1PR0601MB4588.apcprd06.prod.outlook.com>
Date: Fri, 31 Oct 2025 16:17:33 +0100
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <98397590-7C1A-4BBB-9155-A64DDA86795F@unpredictable.fr>
References: <KL1PR0601MB4588D25A95D680640A80F2CAE6FBA@KL1PR0601MB4588.apcprd06.prod.outlook.com>
To: haseeb.ashraf@siemens.com
X-Mailer: Apple Mail (2.3864.100.1.1.5)
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMDMxMDEzOCBTYWx0ZWRfXyhQvzzUKCDnR
 p/JVWGGoglzA3rPe7NiKddJPtZg6h+2iIQQnwwAH/UHXaa4CTiHS44ti0/uz1JjJkH4qMgOETfs
 IoE6H9jqforCZCMeFejDvqhyp0JrDGshViIvmCTnzrafaMpBNpoqhrMFUNY55mj0VY1E6nq4oIB
 k1bsEnx06f7FWmIqKE/enTfqj1/t2F5kdvYZbsBZ60ryzCmHKSCcbhobyC/c8X9swgpMaXNw2dw
 tcJlU0fel7xEO0uDD96DFdEjE6s+Th5EKTengwVITOZnh83eCgQWRU5RxLLCS/RkByQe8NuEk=
X-Proofpoint-GUID: 6jU94ztNDbEwwl4Tk8WhCZKlft8P5iQO
X-Proofpoint-ORIG-GUID: 6jU94ztNDbEwwl4Tk8WhCZKlft8P5iQO
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49
 definitions=2025-10-31_04,2025-10-29_03,2025-10-01_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0
 malwarescore=0 suspectscore=0 adultscore=0 clxscore=1030 spamscore=0
 bulkscore=0 phishscore=0 mlxlogscore=561 classifier=spam adjust=0 reason=mlx
 scancount=1 engine=8.22.0-2506270000 definitions=main-2510310138
X-JNJ: AAAAAAABWtm5mvPRkmWOg96QxezQaVEV3+lK2+EUsNNdtu4b6KZXUx/+FGIacE0jstlsHx9FOw1UkNIHYm9/L5tBMo6f7yvR1vmniwuLgcweo8n7BaODoOXrjI+dq8XLb4e5z+SFxBN5Bhv1OxWeR/0Ru1/yzTvOVW8l0Un++AxGU3tGY2bGwcQ0kop472KCCIQYQfRMaiAcg3qRRFdSyv9MJbAtHz6NuSZ+4+22awPqHKw3aSaRow7Tw53v5HO/fpiOD+ErhKdFiPnQkWxO3hVSMYppqLxsY8JiCe13EdYtf4jnWZl2YSk84jm+W0N9v3bLI1QCRVaSHN8h9HhYnycthYlNa/aaoM67yfBRS1G2rJ+5Dr78CM934TBQ+U1CnXkZoXhiWUDPEQPaIa9rGfsv6eyQLRi6yOQsTAWz2Ncin/Kn/+zbHYJ6NQONtTgnMqE3vFIUtOA+IviisOo653LRcWHcSDCG8jZmbrTMkLPtbxHCJrQRN8uNnXEM2Ot4kI0ipZ8j9QJYMNwo4MJQWcvEnmYWjcduVf+JpWcUPGp2WQDlupCfJXNCPMyCL84WWVWmRaybIYOVumSO1Xhy+xgm5KXa47g=



> On 30. Oct 2025, at 07:12, haseeb.ashraf@siemens.com wrote:
>=20
>     =E2=80=A2 This can be optimized by either introducing a batch =
version of this hypercall i.e., XENMEM_remove_from_physmap_batch and =
flushing TLBs only once for all pages being removed
> OR
> by using a TLBI instruction that only invalidates the intended range =
of addresses instead of the whole stage-1 and stage-2 translations. I =
understand that a single TLBI instruction does not exist that can =
perform both stage-1 and stage-2 invalidations for a given address range =
but maybe a combination of instructions can be used such as:
> ; switch to current VMID
> tlbi rvae1, guest_vaddr ; first invalidate stage-1 TLB by guest VA for =
current VMID
> tlbi ripas2e1, guest_paddr ; then invalidate stage-2 TLB by IPA range =
for current VMID
> dsb ish
> isb
> ; switch back the VMID
>     =E2=80=A2 This is where I am not quite sure and I was hoping that =
if someone with Arm expertise could sign off on this so that I can work =
on its implementation in Xen. This will be an optimization not only for =
virtualized hardware but also in general for Xen on arm64 machines.


There=E2=80=99s no visibility on what=E2=80=99s going on at stage-1. We =
don=E2=80=99t know the guest VAs that map to the given IPA so doing the =
full stage-1 TLB flush is the only option if FEAT_nTLBPA isn=E2=80=99t =
present (and FEAT_nTLBPA is not present on Neoverse V2).

If FEAT_nTLBPA is present (such as Neoverse V3), then you don=E2=80=99t =
need the stage-1 TLB invalidate in this code path.

> So, on older architectures, full stage-2 invalidation would be =
required. For an architecture independent solution, creating a batch =
version seems to be a better way.

Might as well have both, although the range invalidate for stage-2 is =
most likely enough to resolve performance issues in your case.



From xen-devel-bounces@lists.xenproject.org Fri Oct 31 15:37:35 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 31 Oct 2025 15:37:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1154421.1484430 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vErBv-0003vJ-AT; Fri, 31 Oct 2025 15:37:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1154421.1484430; Fri, 31 Oct 2025 15:37:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vErBv-0003vC-7s; Fri, 31 Oct 2025 15:37:27 +0000
Received: by outflank-mailman (input) for mailman id 1154421;
 Fri, 31 Oct 2025 15:37: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
 <SRS0=r2XW=5I=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1vErBt-0003v6-Fj
 for xen-devel@lists.xenproject.org; Fri, 31 Oct 2025 15:37:25 +0000
Received: from AM0PR83CU005.outbound.protection.outlook.com
 (mail-westeuropeazlp170100001.outbound.protection.outlook.com
 [2a01:111:f403:c201::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7cc0a13c-b66f-11f0-980a-7dc792cee155;
 Fri, 31 Oct 2025 16:37:20 +0100 (CET)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by DU0PR03MB9228.eurprd03.prod.outlook.com (2603:10a6:10:474::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9275.13; Fri, 31 Oct
 2025 15:37:18 +0000
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593]) by AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593%3]) with mapi id 15.20.9275.013; Fri, 31 Oct 2025
 15:37:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7cc0a13c-b66f-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=dB34uLa0wylYsSXnzwuEea7oiw0ibB0lftPRzZ5kl0MSk/3J9l6mX9aFceGRXf3MzxFrOCnGz2LUGBhYrwwOSC4vdi168DcHUhcTPaAh8LcuseY7O27sMQBaqDd3lolsbZVf/9wisQsYlGP+NTonGm8LUTXvAnT7SplrPKtvu/jtyaYZCyt4VGyqo09qI/56Ul9ryX5/VUUeT8fXzS80D+T6JxO4BboX7Yq2eQavjTMM8Em8CI/eHq18jP048KP3RgniAkm0jKKhx7TTv2ZsFdigiPOjxLzk1meVrl+jiURkNkKPCQkUIK9oGQ/A2erRDoNpZMMydaccyuhcEFwGbw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jYpG/V3hyL1rFtK/XM294qm1s0OtrnGX6CFA97tMHoU=;
 b=i/AWUXfJpsjc/DmYGTtPVwVkartaQt2Nb85++d1+H94ZyFm1oXb1tW/ARBfAJ7FKXNen/u3LIGbujZnUxlWRvQmj4mveBuWKb0inRbFu7i7ImqULrHkmagnzJpgr6kHQrn19x/YIr395X0OnNhm8UmWm0fOtCxg9UKOGZHeCYb2aK4uvGd1wiGcqqSMgMVpNhA23BSxVGl54iSW1ZYdTi9Bn5/7xbBIh8euoNor0Y0lGXyr90CNq+uF8yPvLNLIk7HMUXWOMoPQCN/aM6l61lTwb2sIPdIG++8REGxjhgPyVgQcuejamEoX3D2b8qcYt7D4+bGaYvKqmwNN7oldxMQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jYpG/V3hyL1rFtK/XM294qm1s0OtrnGX6CFA97tMHoU=;
 b=HvQTFWl9eXX2vaBQ0oF+WuygpPJCh+Fv6URGRyjMc8BOTgPPOPLpuSWowVFAk/xJrkor6Rr+uD12ipGOZNwv+tR6ExpxngIN7YYP2axhFazZmjdp1H0gTRK7+vunMF0J65HHiD3oVh349hTUtvvVe+p1Usf37nHVH5ZnZIHPgACCYxyQKK+6dY0LoBEtgUVnnSS+aI9Jw+qHTv2wdo5ntj+lcXxXF6wispPLezC0C4gkYLw3wLPQWJqfR+f98Me6ezno8qwV9sPcCUQo9Si36RE2g6+6ujq6qne08HVVT9hFTvQ8AHP+MHGJq2+ac+OQ/Ib58KhlcO7ykuph3dfj/A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <f74ac4e9-55f9-49ac-b8f6-89ed65dc7090@epam.com>
Date: Fri, 31 Oct 2025 17:37:16 +0200
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN][PATCH v5] x86: make Viridian support optional
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Sergiy Kibrik <Sergiy_Kibrik@epam.com>, Jan Beulich <jbeulich@suse.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Paul Durrant <paul@xen.org>
References: <20251023151807.560843-1-grygorii_strashko@epam.com>
Content-Language: en-US
From: Grygorii Strashko <grygorii_strashko@epam.com>
In-Reply-To: <20251023151807.560843-1-grygorii_strashko@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR5P281CA0006.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:f2::16) To AS2PR03MB8907.eurprd03.prod.outlook.com
 (2603:10a6:20b:5e4::22)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS2PR03MB8907:EE_|DU0PR03MB9228:EE_
X-MS-Office365-Filtering-Correlation-Id: 07f9fae4-c23a-4901-fe49-08de18935fa6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?VlhuMHp5SDZaZ2xiSjBwZDNNbkhuRGRWVkk1ekhEQzFkaHlaYkhjeWd0U2NN?=
 =?utf-8?B?Snc5QUJ5ZmpsdUtyQm9EdjAranI5UHcvK1ZWNURZOG5GZXA5SFNCUzNFOXRs?=
 =?utf-8?B?U1VvNmRaMWJBQkh3Q0RXbmlhT3A1UVRZc3FNZThmblhJc244cGpLOGZOSlFD?=
 =?utf-8?B?KzU5TzBwNkNVSVg5Lys2NEpHSXRNNkkyM3ExUW1YdmpnVDBHL1V5R1lyZVZL?=
 =?utf-8?B?ZmpDbHhuQklTREJoU0VYYm15YXFHVE5Yeit5MXBMRDE5VWk0bWFta3JZUkNZ?=
 =?utf-8?B?cXlXY2JJY0xqUmdGQVhuWk4yNkVodzRxWmF2RlkwN0R4UDFOSlB3Qk5WZmZu?=
 =?utf-8?B?R2hvaEd5cWZ3YjgzNXBhYnNtcjJyL001eGFicnVPUWkxQi9sTjF0OS83d2RL?=
 =?utf-8?B?aytMNVRHdkc3SHRPMnFYWTZkSDlkZ3lVTlhkbHF4VklnNEgzYUlzK3M0U2d2?=
 =?utf-8?B?R2tWcTJqR21JTWw3dnEzd05HdFlIeHR4QzNlaFBmYkM0MHdTM2hzN243SkE1?=
 =?utf-8?B?Sk01TDNRVVlqMThHaTdMSVc3Z2hWS0RWMFJMS2g0SGJuamUwSGptb0gzMDRO?=
 =?utf-8?B?dENMWEZCb25ienB6L1pURUF5VTYvSGt4cVNIdno5K1lHcE5OV1RFKzhCYkZo?=
 =?utf-8?B?ZG1pL2lsdEkzbUlBRFliTGJsRGFuSEJjOTJJblhCWU5HUGEwU1pXRGxXa0dl?=
 =?utf-8?B?Z2dOYVQrWlRDUys4Zm92SnNnMHRHUTNPNXB0L0gwaGpZc3BOQTJTeWNaUFF5?=
 =?utf-8?B?NXJSeTMvcE5ZU09aNGUweGdIT3B1cFc5MU14THI4Rjd3MEtDQ0tDTC9ERCtE?=
 =?utf-8?B?UUNrdTlvM3FaV2NybTF4bGJrblphWVJSSE5XWjMvSWVuT0I4bHgrUWF3UzZX?=
 =?utf-8?B?Q3NwWDZ1a0ZWMXFGbTFYWTFqaWNnM2c4WjM0LzhHRFQxeGRPSHIyU21yK1po?=
 =?utf-8?B?UDI4OXNZWGd3Z1BiazZvbFJyTkNNL3FWdEFnOVpsTEJiTVhRNUpYTkd5S2hV?=
 =?utf-8?B?NkU1Rlk1NGlFakZUVzV2bWFCUWZGWDc2SmFpUVdQY1VMeTdsOWRwcVZubmQ4?=
 =?utf-8?B?UGF0SDEza2p3UGM1cklFTGlNd3N6UzFlTS95alB4eVNnL0c3M204d2Z0WmMw?=
 =?utf-8?B?TjZjd2NRUDk3RGw5N2VxUWl5Smh2Mkdrc1FVQzhBRTF3MVhlT1NneG53TDZD?=
 =?utf-8?B?YXR4MjlJWlRRbWZXOXRPUXVta2RiQTRUeVVCY2lSUnNWVGk5WW1jWnplekdl?=
 =?utf-8?B?ZWtQK01ZYXp3b2RUQzlaVWFTai9oVlhBSWN2ZHluYWN4NDMrTDRWd0dCSDFo?=
 =?utf-8?B?djArZkdUMmtPcURGOFZsYU42bFpVNkhnS1U3ZXRiTGZNYzBuSVhEaEpPOGN3?=
 =?utf-8?B?MDhrN1U4NE9BbWhIVkJwcW9NZ2g3RllZM3l0eWhCbkVqblJncis5dldMR3o2?=
 =?utf-8?B?VnR3TnZZY1JpMnZpUWt1bVBrKzZydWROdmtMTXVGYkUwYlFVd0RYVlJwRWNM?=
 =?utf-8?B?QjRPYzdnTDJDREhMZ3FDazRqdldsdFBwdncwR3Y1T0ovajkzZXVMRUhVZWFq?=
 =?utf-8?B?NDNJYU9wWDdsSUtYUFdacmhkSFAzcmpRMmtpZFgxWkNRU3hhWGdoZlhQd3hN?=
 =?utf-8?B?ZC9lbnBDckh1WjR0SUEvZHlnOXlBVWRiZVFtTUtjVS9yVm5Nb1ZwWC9hREhK?=
 =?utf-8?B?SElrTEdDRE1iWmxSOHY1MWNSYkQySVpkR1BmUEJvaGFZTnViaE8wOTNWSXpP?=
 =?utf-8?B?SGhabUg1ZjI5KzZsektUUjNqNVlOc2Y4QUFoMEwzaWFsSWpONWpHdEdxSmkz?=
 =?utf-8?B?elBERTE5eHBxQngxcFF3M2RwSnZ0WVZZQy9lS2tleHUvZWJkb09HNzRIbkdZ?=
 =?utf-8?B?SkZOcnQvMC9GN2dWYVpMVkFsYmJQWFRnNm55ZExaOW5YM0hYRW5XR092czVU?=
 =?utf-8?Q?gp+ULhKd3t8qvQXwgL3H0N2G6JtGqkRo?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS2PR03MB8907.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dnFIdmMyZHJFWjhmc2VkZHFCMVFwY29YY0pJeDY2Um5kQ3ZwZXV0SkNnQmtR?=
 =?utf-8?B?M2VwN2VCQ3hXZ2pXdHowUXczWVk3MERNTkhyUGZma3Qxd1FEZ25aa1RlRnZh?=
 =?utf-8?B?QUVuRkdXTUhXSTdESDUzSHdXOFJ1Wk96ak84VDNMME95eThFRFcycitZOWJE?=
 =?utf-8?B?Q0ZmcFNORGR6UjV1ZWJKUENvTkt0UnI2a0Z5eW1MN3BIL0E3UnhrSm9rcHBp?=
 =?utf-8?B?K05ybHpaRE5NQXN4RkdraFk1VE91SU11N0VPZ0JQSWpmSjBqdkRqbUV0R0dE?=
 =?utf-8?B?cFVUaUUzV3gzc3I5V1RoL25JRTBpbUljN25leGg2KzZiMzRoS2EvckFJRXdN?=
 =?utf-8?B?MXlmUmJDOGYva3R3MGZ6Q2VDbHVtVzVYWWR0OUlBWm1OWXNiODh2NHIwZStw?=
 =?utf-8?B?Q0F5QldIWEwxcTJCT2xNcTNGRDI0aUwxS1VVZldBclZqN2RsQm16THlYYkNK?=
 =?utf-8?B?Y2cveXFxUnpDdVRGMHhBNld4RkpreloyQ0xwVm1vYWVRNUVaUWl6V2gwUy9w?=
 =?utf-8?B?Y0RPZkNpMlBMa0x5akhsZW8rVHFkQTBVY3RSRVdMWmJCTWhtYm9iRXZZdnFP?=
 =?utf-8?B?TTljck9tT0NiT3ptNDBoYW1JOGRRRG1XbXp4TnRMVTdxQXpCYTVMWlNKdXhL?=
 =?utf-8?B?NFpnWmRKUzNlRnk4Nkxna0RZYnN4QzZld2U5L0NEMnB1TWVybnlrSFFITmF3?=
 =?utf-8?B?VlRnQm9jNUNwNDl1SjRhUWZ1azhFSGhvZFNsNUZ2QzJhZUlRZFNNcWRPR2sr?=
 =?utf-8?B?ajVHbkNncUMxV1FXSitDTUtJMU92MjBmRmNxb3FlMzBYdkxuaTNSRnRaakRK?=
 =?utf-8?B?MFdzWUdLUmU4MTZ2RU1CZnRWbmFNS01FWXVtN3l3VHg1UlBueFVDQkt5V3Zp?=
 =?utf-8?B?OW5Ra1A4YllmY1lvZjhnVDEwNXhxNXI3bzNVblR6c2RKVjhzWTgwai9aYXdH?=
 =?utf-8?B?MVlRZXFMdWlvZEF2YUNLTnNuR1ZJVE9GNzhMaDdpWCtFR1NtRlpjR1BTTHk2?=
 =?utf-8?B?SkMrOTZPcGVNMCtITHhZd0VwT3JTYzlZamlJWGdGUU9vandxN01nb0hCZ3Yz?=
 =?utf-8?B?N2lMKzFpQkd1NU56Y0N2Mk9xTXNFRjFWNlRMbzBEMmh4QWdJMXNDTDlJMTlr?=
 =?utf-8?B?T3VGbXdSVXVmRnh2WjU2Q2hUSUNlMWZoNS92dElvU1YxWkp3SzZEV21MTXlB?=
 =?utf-8?B?WGpXTERtZTduWGY0M3dGNDU4Slk2ekFGMVR6Z08wNnViTWlkUFl4eTZMUCt0?=
 =?utf-8?B?eDlQN2gxQ3dINTVLSkV6UHYxSXEzZFJsZVhzTyt3SE52SytyeGVCUTZLdXJM?=
 =?utf-8?B?NUZDa1BUNm5jNzR3OHM3dDhYWERCWWMyVU9paS9kZXVpZUUxclQwS0VkWG1k?=
 =?utf-8?B?THJMbzFWTGdUaTRBUVJ1NFlwemJGQW8yd3AxQ3hwai9DQTA2TUgrNHFoOHdY?=
 =?utf-8?B?clRrdXE1Z20rRWxUMyszeDAzS2FGTXJaYnMvakljWHNNSGZMWER4OHlKMWUy?=
 =?utf-8?B?MzhiWUJ4RHIxYWRNZ0NrcXF2SWJtVytzdEZpcERUT3lQZXFnSkRyUE5aK3Vo?=
 =?utf-8?B?d0hvWVRQNkl3N1U0dVRHYUJZUThPdVVYN3pqQnpGaG4wS2puYndKdDB2R0Zk?=
 =?utf-8?B?YmRDZGMreWZLYWtHaDRidE5BWG01NFZCb0dtNW0wZGw1d1QwSmxkYWpvRUtj?=
 =?utf-8?B?ZDhUUEVUMDVSdFZIOW5OcmdwWkpnYWRnVnZWNDNQVjN0TnhtcnFJMTdxVXd1?=
 =?utf-8?B?QWxha1lNV3kzYmg4cDFZeFBIcDM0ZHBJTWhTaTc1YUFVY3JsdzRId3VZNTVN?=
 =?utf-8?B?MlRtTjlwQTF6VHdteVpVL0dOTzlXemhwUFpsT25mT2ZlLzhjemdEZHVWLzdR?=
 =?utf-8?B?aUxXOWQyS3NOZGN1dS9XRjFXTCtRbG1OZnFMR0dmTytta29UVVJwS0VLNlJk?=
 =?utf-8?B?UDFseVNZWTV2VzVIcllvV3NvaTFYanpRcjRpQXgwalh5OTJwQVJxMnNEMEZo?=
 =?utf-8?B?RGNDU2Y5dlRwR2hEaXY2d0tXeFF2V1EzSytGdjJFejc1OGEwRVhuUmJ2cHh0?=
 =?utf-8?B?aksvQVdLTGUvVk1zeUkveTBGeVdZRVhVbGRJSHlPaWFMWGg0S2VKSXIyemhH?=
 =?utf-8?B?QnhURFNpQXNRbVRNVld5VlZQTTBIYkxTYWlqRVNjLzZ2a05wcUl3Y1hzKzU3?=
 =?utf-8?B?Y3c9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 07f9fae4-c23a-4901-fe49-08de18935fa6
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Oct 2025 15:37:17.8667
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: oYhLoF73Ua/PUq+yrsTnsTY7Q6M4mPJjJGSQ6rBqENFhrq9kvu36cCU80RT8AoH02gHj8xsnK2ngjc0z+Gn/+IZUzxf8JNd2Hzm3yqDhfCw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR03MB9228

Hi

It's actually v6, sorry.

On 23.10.25 18:18, Grygorii Strashko wrote:
> From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
> 
> Add config option VIRIDIAN that covers viridian code within HVM.
> Calls to viridian functions guarded by is_viridian_domain() and related macros.
> Having this option may be beneficial by reducing code footprint for systems
> that are not using Hyper-V.
> 
> [grygorii_strashko@epam.com: fixed NULL pointer deref in
> viridian_save_domain_ctxt(); stub viridian_vcpu/domain_init/deinit()]
> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
> Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
> ---
> changes in v6:
> - add stubs for viridian_vcpu/domain_init/deinit()
> - update Kconfig description
> - make set(HVM_PARAM_VIRIDIAN) return -ENODEV
>    if (!IS_ENABLED(CONFIG_VIRIDIAN) && value)
> 
> changes in v5:
> - drop "depends on AMD_SVM || INTEL_VMX"
> - return -EILSEQ from viridian_load_x() if !VIRIDIAN
> 
> changes in v4:
> - s/HVM_VIRIDIAN/VIRIDIAN
> - add "depends on AMD_SVM || INTEL_VMX"
> - add guard !is_viridian_vcpu() checks in viridian_load_vcpu_ctxt/viridian_load_domain_ctxt
> 
> changes in v3:
> - fixed NULL pointer deref in viridian_save_domain_ctxt() reported for v2,
>    which caused v2 revert by commit 1fffcf10cd71 ("Revert "x86: make Viridian
>    support optional"")
> 

[...]

Best regards,
-grygorii



From xen-devel-bounces@lists.xenproject.org Fri Oct 31 16:02:28 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 31 Oct 2025 16:02:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1154431.1484441 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEra0-0000Nz-Uk; Fri, 31 Oct 2025 16:02:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1154431.1484441; Fri, 31 Oct 2025 16:02:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEra0-0000Ns-RI; Fri, 31 Oct 2025 16:02:20 +0000
Received: by outflank-mailman (input) for mailman id 1154431;
 Fri, 31 Oct 2025 16:02:19 +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
 <SRS0=zurH=5I=epam.com=dmytro_prokopchuk1@srs-se1.protection.inumbo.net>)
 id 1vErZz-0000Nk-5M
 for xen-devel@lists.xenproject.org; Fri, 31 Oct 2025 16:02:19 +0000
Received: from OSPPR02CU001.outbound.protection.outlook.com
 (mail-norwayeastazlp170130007.outbound.protection.outlook.com
 [2a01:111:f403:c20f::7])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f994f63b-b672-11f0-9d16-b5c5bf9af7f9;
 Fri, 31 Oct 2025 17:02:18 +0100 (CET)
Received: from DB7PR03MB4140.eurprd03.prod.outlook.com (2603:10a6:5:34::10) by
 AS8PR03MB8086.eurprd03.prod.outlook.com (2603:10a6:20b:441::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9275.15; Fri, 31 Oct
 2025 16:02:12 +0000
Received: from DB7PR03MB4140.eurprd03.prod.outlook.com
 ([fe80::e16e:b655:974f:43f3]) by DB7PR03MB4140.eurprd03.prod.outlook.com
 ([fe80::e16e:b655:974f:43f3%6]) with mapi id 15.20.9275.011; Fri, 31 Oct 2025
 16:02:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f994f63b-b672-11f0-9d16-b5c5bf9af7f9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=llRzjxEYsvu2/HYBgOmudEPqptgZvNNnUp0C1IpOg4NDs4XtRrYV5T8UjtSt44eR1QydU+uKfMxkh7taByjiaFphfDu9E7Fx+ClBnAJU/Y53Dzq7ht2DXT70egdhd8cGptevDYJKiuogcviSByJSGgtuWoAuvrvVHxjcfZMvxWRqCZX5h8WNiUG2Vm9RM+Ao1JeQKLo6EdtVsdD80qrViPA2dLz/fK3l+DJnLBa7sDg7B0fckvHmXLutCLch72NQroDAXEZP7xWhr68NaoW2yohV47drSo2+GFF4fjcJVH5nDQjfMtgQ3C67hqwUFcp/SZQRt2EE/NmJEs5i0OE0qw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=F1RxMvrVjsQno/BNcxzOud/HVNgZymkixfmK+BM1naI=;
 b=mq03++HIYzHdcovKBRrXfXNcvYWTEMfp5f4mV/MtlRxUYxDDbvkMfH0xkM5jIatP2vWCxx8iFntg0UO+peb6XSMBKMNnst9UQdt6lf6TxeOwtdf6lkFxCMkKE/j0JGSIBDpcL2QAIV8jNCVw3d6FCuKbQK5P1FWgZRZqppUJew7kD91fV74BO9jMWIYKASkzYUa5Q/I/pbDCZE+TZTSzXw4i+EGCO/H1STMrrggr37s5doJKSWfQELdy4746y3+xmhpJwKqkPsn4c6AkJVsYtbYHAjKsgxdCB0s0L4FYstfM/I1nxdgsgdClD4uL70xpnKgEANBN1U3vlvMsj0NZCw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=F1RxMvrVjsQno/BNcxzOud/HVNgZymkixfmK+BM1naI=;
 b=Rrhqc4QFoTNK+7CzBN1CAVGzij9SWBa+aCz0P6LbpLhLnbqt2Txua7OhoEOW/6S+aQ1MiaFe/QL/svcKLBeIDsJfOgp8cdxvN0SwInnYQpKgQa9x40JVBYe4hSoGklsyDDyjK4KcF/o8JXp0YqjurKKDj7e2DsEAmgi+2sFQAXugJkL9PZDvGYJ4gl/ipfmUufWrrndGRM1KSl24UGMOvXmHoZ8iGkVNh6zl+DYWwEaTWzAKE2+Pdt20G3nbwTDlQTtkHPYE+kFH0lZGdWuPP9dGSWPUOS1FqAFIe/DN/hj1CWYjDXchSLgfy38kynQVG7E1AAIFTyYM4em6kIjBdg==
From: Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Dmytro Prokopchuk1 <dmytro_prokopchuk1@epam.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v2] arm/xen: zero init memory region before returning to the
 heap
Thread-Topic: [PATCH v2] arm/xen: zero init memory region before returning to
 the heap
Thread-Index: AQHcSn+3Bvk2A/mifU6ZI0j7ZDmNtA==
Date: Fri, 31 Oct 2025 16:02:11 +0000
Message-ID:
 <c2a15402f87de85c2733362ef3ebc3ffe55b231f.1761926280.git.dmytro_prokopchuk1@epam.com>
Accept-Language: en-US, uk-UA, ru-RU
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DB7PR03MB4140:EE_|AS8PR03MB8086:EE_
x-ms-office365-filtering-correlation-id: eb719ee4-4a2b-4758-7a49-08de1896da54
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|42112799006|366016|376014|1800799024|38070700021;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?qvXIhqr8jpo8pqDamu5VlcdJItl0LCPfuJ8DUkJKhQIxIipiN/PF3OwCJy?=
 =?iso-8859-1?Q?VPvRuXLWgLt4dbBrF0FSh1jXCnz9HJs78VWe5zZZc4eSd6sHUht+RXylQy?=
 =?iso-8859-1?Q?hZBSYYnQE46StolPcfEnw9S9U8MD6e7lgsZze7NLTnhWN/jCjZ7KuzKGMZ?=
 =?iso-8859-1?Q?WmRszmOEd/5iqFZ0la18U6tyJA2jr+Qc93aX1vfCfJUacq95PU2clO0ZzW?=
 =?iso-8859-1?Q?2ZsVzTu3AzdBKIMiuEMR9InNosjndqBYo5hkOdVHAfAVwyv85qBXo3pTCo?=
 =?iso-8859-1?Q?5YOxpUqMqfDoFOV5Lu6ZbB7+pTc4+usk7sZCEMlkIXIqHLCUHIlnWK0qpU?=
 =?iso-8859-1?Q?daVCAOavLtT9uMpq9wRHLYy3VMKpmu/6JV5XaAXovKd3ELit258zJlLEA7?=
 =?iso-8859-1?Q?gPgvp1Hl2mhK4MVXCEWr0yAn2OJUU83y9pPpFiJ1RR1Q+Bq+3B5aB1uAqs?=
 =?iso-8859-1?Q?ufYnejzLIrqiS86/vksOesbnyvXP/oPbVyUfZRloFEq0kXlCSaCfqspYyi?=
 =?iso-8859-1?Q?d91Kx5E4Sh8qlJKBA8xXpLeVJbKiAwYEkwbMLrBoEtoK9Zp2xVU4hu6gMv?=
 =?iso-8859-1?Q?IViA/FEPNriNU+PG1iwpFgn1Jhf8lKIH96fXXwR+7ivKC5wE/M1CipX0rx?=
 =?iso-8859-1?Q?O4WewWcTU7Dk6j7liXjnKA9Ug7hIfAFGmSOpC9NpxgTOrlH0VvT3r68hNT?=
 =?iso-8859-1?Q?+opJEo+zubJPyoOLeMtleVlRqzqRRokBjofCYWeGcYqsk1eTIl07kxOSXL?=
 =?iso-8859-1?Q?jom0hAF/9W1j5HZXeILzolIdjxvHaKWnAQGqv4Y1iO+kzGtN98XkQYBKjO?=
 =?iso-8859-1?Q?r6MOBouQDljISks88qddOnvO/AASQjd7LijC98y+b274d6x/e37n5d+C/k?=
 =?iso-8859-1?Q?gncqSJPSfAEp6VI4PwJjCpwsQjDhQg0xKNUwd12WgKutGE4fOBdvIqyQfe?=
 =?iso-8859-1?Q?N3PMkaMFsXjREdSmW2o/qAc9iKLUeExUZZnvaHCq+dTJbY4lZg4iqiexEo?=
 =?iso-8859-1?Q?lBXGjVQAp3raqja4zH2LxHMbxsnbvCynHECswiETXPHwuZiNGmFnStobgY?=
 =?iso-8859-1?Q?mD65QywWDmNMsuZfFc/9rCLRQvocOcxDW+5795c7bw4xolA96DZhB3L7fm?=
 =?iso-8859-1?Q?MXH+qS56QiDCHIoq/NlgevM9oCR8+iMOiykJG/HbCwlk6bf/5OIFS4dODX?=
 =?iso-8859-1?Q?3arNA51a6Enhgk/IloicSk0FQ/BTu6KyGXKOcYHHc6Tr4Mf5TEjtIFdkGT?=
 =?iso-8859-1?Q?MlrWLu8RkK6/s7y6Ld1bgPP/Pew0Q2RCZtEppPu+WG+aMxlQfngkYLYWzI?=
 =?iso-8859-1?Q?XNqUR4sLkwyHsPEZGQTrqnuPwXrUQSkFgGXeKrAlDUZMvVBbl36/fFFC0a?=
 =?iso-8859-1?Q?EYHGCWMFgqwDjB4c+u+BhwlI76EqOec5p3NWdoqW2YOcxP9jLN646F4zB8?=
 =?iso-8859-1?Q?l5tzWvjxuI4vyXVZK++T8ZlYgQ95zW23/RgS3GJEZvMmC6LKBDmUel3QAB?=
 =?iso-8859-1?Q?loGKsWoqNGb8x0+2RmdnQtDj8Gd3VMGYCk0dVpZ/sgEw=3D=3D?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB7PR03MB4140.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(42112799006)(366016)(376014)(1800799024)(38070700021);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?9XgAf42k3qUTaPUkeFySduX37qZ3BoFcooGCwwkCAHxibpwpYPiFrfSU0r?=
 =?iso-8859-1?Q?2+GEGDk5RzezVPTMJzXQOb/pUZD72fvDA8ucnkyT42Z40Q0elfC2tdoT1b?=
 =?iso-8859-1?Q?2lzl5MVB5y4FR6+RHQ3Smjikkxf0hHJTCGbO2fR1AASi3oOQ/y901TTIOs?=
 =?iso-8859-1?Q?H5HMBd7B3QdTIi8sSWPPvVT9UfDiUmRZ/T5AGyZGrASj79VCPacEX/IlWk?=
 =?iso-8859-1?Q?z/+yRLOhiEZqzS/q8vYmOYhWg8WVLLMp7kDTzn/77uoYadM+tKc6ViAOpG?=
 =?iso-8859-1?Q?IVMIjxHef1eOvqRGRrI5fegS2a34x/rYN7WLy3np8GeqKo9kPJyy0AaZkY?=
 =?iso-8859-1?Q?1+OfmEOZRxxZWYSkotBNkIYW5v5o6OCOhaI3qDekhWuBVXK0UODiNZtCGa?=
 =?iso-8859-1?Q?CMNuQorU+fCK4I44ll4Dxi7AKlGw/ObKWrwqk8qIw4qHeJQCvqHd8G9FzB?=
 =?iso-8859-1?Q?rRqcWNK44fEJavjs8eoipHbMw864q1NSg8BK1TIk+BbmOCwNycFG/9aGUA?=
 =?iso-8859-1?Q?hMnbs/+czRBZkEu7v7tpleWm3Rk1agI0H7c+XSEr3pcGopD0qpXpvZZ0li?=
 =?iso-8859-1?Q?wha82Ssgl0Ch4f0jFaXxFijJdye4cXBNm0bI28HG9IZxEklaFS/Q8u4aHq?=
 =?iso-8859-1?Q?g70Qus//se9Xx7dxwvm66qVLvuQVvshneqnYxt2iDHH+uQc/UJKq4frDK0?=
 =?iso-8859-1?Q?PdSGKRoN1RTHJyW5iUZnf1RDDhemcaK+yTxqDEmVpzkcej3kQ11HoTSahE?=
 =?iso-8859-1?Q?1L+3YLp2aofkXze2fWzzL8hLCIkDnbBQ9XQJLZxXAVtDaoA/PGowXc7wpX?=
 =?iso-8859-1?Q?gRPaH/m+F4wVBm9ExkZ7pd6lVYmpP29uF4BYaaHpl0uW/+Z3wePV5HL+EK?=
 =?iso-8859-1?Q?s44p1Tp8fdXXW00H8cgWPXa2AOaCt8yz7u8dprI2tMoY7VnPTqSMN7UBPn?=
 =?iso-8859-1?Q?qYuOu62CnYaXfntc9PMsew/oApwULyv2JB7hPB2gv1VjN7DGLG9+q6vCGO?=
 =?iso-8859-1?Q?UfVTp1x3qjH7HLmJtNrEDHmtVYYl8c+A4HgZ/GK6ZSAWPuhwY4Mu9d1LId?=
 =?iso-8859-1?Q?dCv1OJS/rZ21wd72bvEbO46XdI6C6F1w6fdEOthY2K5d2frO9Ss3+kp33K?=
 =?iso-8859-1?Q?A8E7vNKtPMNusAk6oaPn3wRyPh8uWo3QJsylHdDMFXTA374yI9WSFu6jOc?=
 =?iso-8859-1?Q?NRe6GrTpXhsVt2u7bAyd7XYuh8ybh9ta09Qz46DJ6K5xBKi7BIz3YSh47E?=
 =?iso-8859-1?Q?k1A29apNi3k3ZAsesAVxSOjT78jiO6CNImxHEjJZa899OcAjI2+HIJIYxE?=
 =?iso-8859-1?Q?Ia6lgMuZII1G0Xxfhudxd/h+s6L9c+5PqhZBh3/dumiW2DzPKa291QCFZl?=
 =?iso-8859-1?Q?YtW6JRqhCqJBMcuWMyi6ig+Ybio+5qiNHa1Q7YoKyIMuOWMcM37qmhsZZB?=
 =?iso-8859-1?Q?/Jv0LB4leqWQu/PfH457W9JAGHgpfE84JNk1oyJmG4C130kKZWH+2UBM3E?=
 =?iso-8859-1?Q?pJFReOZx8AEnuK1bLKjdXyFC6eMefQYxnHoVESVMdfo/HJQ85Q8B2j/Xxz?=
 =?iso-8859-1?Q?uzZ8+tBW0thhtj127/toBQ5Wuz7nVHS2QiLqRitxk1G3Lfr8a0HyMnNRf6?=
 =?iso-8859-1?Q?GvVhtPMae1vtBWlOEEqmjojRu1ERkjc/eEDyUYYIvQODvDjstX/Q/SAw?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DB7PR03MB4140.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: eb719ee4-4a2b-4758-7a49-08de1896da54
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Oct 2025 16:02:11.9962
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: GtRs7tH6Hn7SUAQkyO1mHZBgCIiy5esKNHhYogDabAjEe73zdrdxj8O62DVy3I0zUoZYUgWjllrgmfpLLBB84/uEGulfOkgSJFNE2p61mx4=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR03MB8086

The current implementation of 'free_init_memory()' fills the freed '__init'
and '__initdata' memory regions with a faulting instruction before unmappin=
g
and returning them to the heap. However, after unmapping, any access to thi=
s
region will result in a page fault, making the instruction fill redundant.

Replace the instruction fill with a call to 'memset()', zeroing the entire
region before it is unmapped and returned to the allocator.

Additionally, this change resolves a violation of MISRA C:2012 Rule 11.3
(cast between pointer to object type and pointer to a different object type=
),
caused by performing a cast from a 'char *' to a 'uint32_t *' pointer to
write instructions directly into memory, which is not compliant with MISRA
guidelines.

No functional changes.

Signed-off-by: Dmytro Prokopchuk <dmytro_prokopchuk1@epam.com>
---
Changes in v2:
- replaced the instruction fill with a call to 'memset()'
- changed commit message appropriately

Link to v1:
https://patchew.org/Xen/680a7418c445381d68fc95f0e3cd03f574fdda86.1761672602=
.git.dmytro._5Fprokopchuk1@epam.com/

Test CI pipeline:
https://gitlab.com/xen-project/people/dimaprkp4k/xen/-/pipelines/2132383252
---
 xen/arch/arm/mmu/setup.c | 14 ++------------
 1 file changed, 2 insertions(+), 12 deletions(-)

diff --git a/xen/arch/arm/mmu/setup.c b/xen/arch/arm/mmu/setup.c
index eb8ed19ca1..9b874f8ab2 100644
--- a/xen/arch/arm/mmu/setup.c
+++ b/xen/arch/arm/mmu/setup.c
@@ -479,9 +479,6 @@ void free_init_memory(void)
 {
     paddr_t pa =3D virt_to_maddr(__init_begin);
     unsigned long len =3D __init_end - __init_begin;
-    uint32_t insn;
-    unsigned int i, nr =3D len / sizeof(insn);
-    uint32_t *p;
     int rc;
=20
     rc =3D modify_xen_mappings((unsigned long)__init_begin,
@@ -495,15 +492,8 @@ void free_init_memory(void)
      */
     invalidate_icache_local();
=20
-#ifdef CONFIG_ARM_32
-    /* udf instruction i.e (see A8.8.247 in ARM DDI 0406C.c) */
-    insn =3D 0xe7f000f0;
-#else
-    insn =3D AARCH64_BREAK_FAULT;
-#endif
-    p =3D (uint32_t *)__init_begin;
-    for ( i =3D 0; i < nr; i++ )
-        *(p + i) =3D insn;
+    /* Zeroing the memory before returning it */
+    memset(__init_begin, 0, len);
=20
     rc =3D destroy_xen_mappings((unsigned long)__init_begin,
                               (unsigned long)__init_end);
--=20
2.43.0


From xen-devel-bounces@lists.xenproject.org Fri Oct 31 16:17:38 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 31 Oct 2025 16:17:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1154454.1484450 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEroj-0002cC-80; Fri, 31 Oct 2025 16:17:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1154454.1484450; Fri, 31 Oct 2025 16:17:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEroj-0002c5-5F; Fri, 31 Oct 2025 16:17:33 +0000
Received: by outflank-mailman (input) for mailman id 1154454;
 Fri, 31 Oct 2025 16:17: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
 <SRS0=r2XW=5I=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1vEroh-0002bz-UY
 for xen-devel@lists.xenproject.org; Fri, 31 Oct 2025 16:17:32 +0000
Received: from DUZPR83CU001.outbound.protection.outlook.com
 (mail-northeuropeazlp170120005.outbound.protection.outlook.com
 [2a01:111:f403:c200::5])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 143da10d-b675-11f0-980a-7dc792cee155;
 Fri, 31 Oct 2025 17:17:21 +0100 (CET)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by DB8PR03MB6188.eurprd03.prod.outlook.com (2603:10a6:10:139::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9275.13; Fri, 31 Oct
 2025 16:17:17 +0000
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593]) by AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593%3]) with mapi id 15.20.9275.013; Fri, 31 Oct 2025
 16:17:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 143da10d-b675-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=r+QGr1ZyAxhAmlxvavuzCiac1FpCc7zemT7K1wczXSMRHUOWl075PZIekOXPTeaTOa9pIkewNO2hCzFxLA9l7FgIPFl2N2sS8sErUBOKi3jtFLQRIeERZBLzglOHOyAD++kkcqqnaiHfVuHjOfV/ZO/2YmotjU9nfPqjxdPHwQog4oOmKlEexx8/vfFnEwUXHyUG90rNS7EaJSoZJoRmSvvoJUe5La8t0wzf3YrdbvzMVToQRREtbKiK3D4g/dFqaztIpQpYhgAv8/1aZTg0bzTEUy/Ux7J4Jqv3bRPzU8yyjxsQ7xzVYXYWqzIojBDPpN/OVXXfXO0GXghzD/bxJg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PhKT+mZs3AAz2letv5bmFLC4ktQfwIcqRQN5dWmiYHY=;
 b=Vvn1Uv4RNHRRlUhxPYj67yvxdYh+XfEYe8xscjLYQYXDE41Y4rl/zg1kcmNc53Lddsi4c7Dxd1iD0auN7Xnsz/B4n7OfSJRYPbK9ycsNI1LY0YnbM6uEYSqdzSOrVVjB1yA2tI8koOOJRS88Ic11zm+oNRt/Iqh5YtDqKhIKWzjy5sCKOyctBOU7hgrhw0psvnVfQsDpVtUAequfDyt7hF3YM+dYHl4x5E0AjYSOXYTEXqZfAAU5f2lKauVcCv6O4F4PW9HCooqTGAe+gVq7qPBllhpe7niAoppzbA6F1dykHAnLlcH91p06NhvJJ8AY2FoJLbNT31NPbqpN9TsMCA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=PhKT+mZs3AAz2letv5bmFLC4ktQfwIcqRQN5dWmiYHY=;
 b=R8pPwYMM3FbgIl0ugkcxoe9aY2PwGYPg4gjLQFkb31XTnCB3erEfvCaLgtW8YTMyISEn6dNacMPQamA+gzRxAdz7g3R2/1egbIe6COYQ8PIWawgQmxq5ZBLlAboISmdFhs2PFQcvdVGK87TTl5ciJ02TscidXziUMIhpF1m+nQv5JfNA1y3moQX0aVYvyi982/aypXEUq3VO8NC1PrIBT8dF/nrF3e5pTgGd0dQWs34XLwgbtq1+6ZItsvX2PDYPOJu89NtqumEuTuUVMDX/PMT90p+2j5u5uJKr6BuwowvGpFRrmLYUnuYqeb0O+hSUIeZuqtjFx3ojY1KzltzzZw==
From: Grygorii Strashko <grygorii_strashko@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Sergiy Kibrik <Sergiy_Kibrik@epam.com>, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, =?iso-8859-1?Q?Roger_Pau_Monn=E9?=
	<roger.pau@citrix.com>, Paul Durrant <paul@xen.org>, Alejandro Vallejo
	<alejandro.garciavallejo@amd.com>, Jason Andryuk <jason.andryuk@amd.com>,
	Grygorii Strashko <grygorii_strashko@epam.com>
Subject: [XEN][PATCH v7] x86: make Viridian support optional
Thread-Topic: [XEN][PATCH v7] x86: make Viridian support optional
Thread-Index: AQHcSoHT/Gqh33APC0u51pW4R1+spA==
Date: Fri, 31 Oct 2025 16:17:17 +0000
Message-ID: <20251031161716.1222956-1-grygorii_strashko@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AS2PR03MB8907:EE_|DB8PR03MB6188:EE_
x-ms-office365-filtering-correlation-id: 1f9fc50c-fb70-430c-a7d3-08de1898f5d6
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|376014|366016|1800799024|38070700021;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?LtnkyqE+XeU7WZBW33fch3aNeo5yXs6rhoy1z5m1ZbVM4FaWj3MsQ0RZzs?=
 =?iso-8859-1?Q?d1JYaEAm4d1k8UHcUia7+EOQJak/Frvi34MEVaPX1ApEekI1/84QeY4oOB?=
 =?iso-8859-1?Q?Q54YioHAOnD/5ABZioCGirDJvjY04oQqkCMzNYCeaGUBdaLV1RCj4lC/ke?=
 =?iso-8859-1?Q?stuRHSpSIq1B3T/EVYqR5CkBwBMYZrUWmW6tnWBlZc0buLfeDEUiJOR+xC?=
 =?iso-8859-1?Q?3ZIcL9vOyM1Ih7ppGlt/exHxRPRpC0r0nTuI15ZXc5bIXtq5Oum45V66Pj?=
 =?iso-8859-1?Q?12B1nUC7s4b8PYkqfpa7nSG1RY4X6+1a0fF186Y5fxIGCkNMniienGRbFg?=
 =?iso-8859-1?Q?eBl+D7QbSNfLxl0JV6dssVGgRaBRuzJ8t8ArEY/RRAiKazd3PubtTFJRaB?=
 =?iso-8859-1?Q?stl0+RYHFrsK+lXNd6mI/L6eRcOWY1hzlZLEyND8AinlHU0vEEK77YzgmW?=
 =?iso-8859-1?Q?ErGjH/v0zQEwP8SZviHZE7vkkC7LnCC/9twhW1PRXQlM+UmgbQhC47jH53?=
 =?iso-8859-1?Q?ICf7hIHtnQ1VjuGDqm/Bn68m18SSQxEDjEM730bGLbZxUpWtY+MFmfGktH?=
 =?iso-8859-1?Q?WvTCIb6mQxBeQsVIEgtvDdwjqJYiSVl9I15vLR7TDDehQvtntW8sgC0E6p?=
 =?iso-8859-1?Q?8RRNfX84mscP32TEaerlnIWGwD1N2x6Nj74x0Ft0TVjMBnnfRQDCg04ojE?=
 =?iso-8859-1?Q?5Q5l2BAOxt8OX/y8jjvmgX2XGlsM9xIFgrHv1Ci/LGpKsKk3tDxYAxXyYF?=
 =?iso-8859-1?Q?NVRi49yo9CamZR5nuCvNBd5LPWKkVi4uF60JVabYZ7EgbRrV3u2+SJSPWp?=
 =?iso-8859-1?Q?cufbR4ywoExfTM0Eu0h4Ava4d3plZmykeOgpYfOUfIan6ewcRxbTffNH2X?=
 =?iso-8859-1?Q?cXw1R/Ct+We8YXXdyCox+WjYgiL+xRJzCjTrHLuOW5UKIVZSrIvgab4XkL?=
 =?iso-8859-1?Q?fLlHR5SMr2ZlQE/DffQlhE1I7i9VygkMP5XCYZE2sSO+AQsTWVaBT6q9XJ?=
 =?iso-8859-1?Q?YvVGh2ZA91yrL4bi51kpljoZEoEiQlad8OXjjcb7aDLTLJCBX1E36rhaDv?=
 =?iso-8859-1?Q?eWN7BojwG/LZYwTVPdDlWbrxXQFW8bV1nqn9/C/Y3L1KV3BLZL2fi3pJ4e?=
 =?iso-8859-1?Q?cRJZfGnzE2ThI00Acm4KXgqwaEMXMX04qM3CW6aWQNbrs+MbdqYG+SgeiH?=
 =?iso-8859-1?Q?emJiBqrRXKnddRAYQbTseITiH95ciZLv+WDP9Te/O0sH+EX9tH5/VYhKII?=
 =?iso-8859-1?Q?wmUJNyiOo50X7ZXOT1QrskTAe/ndA+aEBqb5ZQX9Iur4etzlzQlCvELF/t?=
 =?iso-8859-1?Q?0p1o3vDAAqfWb4BXvaTJBrpug7mo3i9eTcn1iiOBaH3E5WJHt8Cd3uZKmb?=
 =?iso-8859-1?Q?PExZZ2eDeUgQs7GWc07jvcPBiAcmYGWvGGbFQS9NNIeSVtaMKKmN/1JbQ4?=
 =?iso-8859-1?Q?1YYXSd2hdJ9M21cVJp5aJFEOVuQ2MBnEbnavNLLCRzZztnGJKRg4lHCRgx?=
 =?iso-8859-1?Q?kxUDtjWQPCLu9ekCmhLfKQ3voLQ+xyEqjsH/pU8AzQ/Icaufxchi3Uz/2I?=
 =?iso-8859-1?Q?OsuSXKn1aWkBaAF2ZzPu+b0OAzSU?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS2PR03MB8907.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(38070700021);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?ch9UhyCuMFIoY32nUwvUlYjmIWtYQbH5iyubuEcnCIMhzXSN2G82yitWuQ?=
 =?iso-8859-1?Q?tKHMXm0N27+hCuGlpn7XIOsxj2QF7ZI0HUWi/cQ2Y2ifeyhmoMopjUM4eE?=
 =?iso-8859-1?Q?XRLD/670T1gt6yKgFxscMDmcSmA/RDmF8LgL9DEUfOW2XfG7hyHL0J0o3l?=
 =?iso-8859-1?Q?muG1XWjP4x95vFTJ/yiEjGAGYWy2kfZYwMgyRqfrBKvZtvaxnR7VydyZkA?=
 =?iso-8859-1?Q?X4VDGrw1X5n0MvBwXvRrJiLQjgNGzhrTpKjaEC4AWBzyc/4VI4ZiEFh7ka?=
 =?iso-8859-1?Q?PIPgWEIwlkPNfQGndDZ55caX9Ur9umVK8dGD5FESjrUXENI3rB53PUoVrn?=
 =?iso-8859-1?Q?3VTcQtjvQt05qOsEjdaimTAWdNriHttN+r9z2xRvUlq4FKbcQ3YEzfaSsG?=
 =?iso-8859-1?Q?m0gXMoFf8TkB/g48N5jAb5etEOudjCJ6huepSdNlqgGfzG+972C5Jbpkze?=
 =?iso-8859-1?Q?3pBpGLM3V1ZWCTQVsTVxJnOzRzrIjIYVy4mGlLsQimWo09P5skEAzqGkmX?=
 =?iso-8859-1?Q?kK3M+EdL6tPw9jCitcD7ab6Y3umxTdMJF2BhQvHwlHHDTZJN1ea4uxIf78?=
 =?iso-8859-1?Q?LKUmVQb62zo6xMqUrjSp3vZQZg2PRAopc7CSt7E5aG6EgnusebYx19Jwtq?=
 =?iso-8859-1?Q?L7uwZq8Gjrl6bDhARAY2oSqVjT3anyIACi1M44gjlyzVw6aruDQ9SwsgyF?=
 =?iso-8859-1?Q?BkBhZ7dNQs2QNNb/K75AB/MBMrj9ySEXiu7Zb8UsDVrPH4HExxF8Ib8UM4?=
 =?iso-8859-1?Q?RXy60bD3SpW5eSKjEf3QPFsonwc/pesEcyoZxKVmcKQnwp56jwN4S8ok0i?=
 =?iso-8859-1?Q?MP8Fh6mkQ0RDohbmZjTSXyMz/8Y4yMXtarY5n4kthQuUkmANNjX5j/fJqe?=
 =?iso-8859-1?Q?kbn9jDLg7vEz/nqt2QCp0SGZKYSrTHT4bAgrv5B2lEYXIeCfcjsY1B7+q5?=
 =?iso-8859-1?Q?Z/cOMXmjzlMZCfX0GbnPZ/9l21lpiRhErwLHnm3jZLsrwnPRfA8G5D/IqM?=
 =?iso-8859-1?Q?/YZgDi1jm6otXfyYJgRikrcdR7uahfNye09B7khXoeHOYqKvyvWFy6FaWf?=
 =?iso-8859-1?Q?AHDDj7bk0SAO4vL9MH2Uqb1uOF9hQA9QY4r8wB4BQalnHj1lLR6XCr5uVm?=
 =?iso-8859-1?Q?ZzDrJ54BYOEzVkVaMqrcFb3bKXTDljaD5l2VVzo/NCfsZVIKIBXD86Plf7?=
 =?iso-8859-1?Q?sdcTMSXNGuss0wXbZRYcM4EpmND65Ze8kvxLMPdSAE0m7782HQbNUqkU8b?=
 =?iso-8859-1?Q?MFihZ9Syx4uIEcOscydsMAXMYu3o+F7ust35kgjFqP7eEgJLtWVRNd2C2N?=
 =?iso-8859-1?Q?2woetT3FB5NSir6MtgnDeKJwOG1sSs0Q5nnpFR+gvfm9Df/n1jy57BImGo?=
 =?iso-8859-1?Q?Q1eszxTHgGg9SEL1oiXfK3YhsbHxgK4zP2kLPAnZDhpnVN2HA+J0ayCrfD?=
 =?iso-8859-1?Q?/A/g1Dc6GwQmoUGQOS57xvijAXrn2vcZaHgH0rpoYxCxlVijaMw/QEAYCT?=
 =?iso-8859-1?Q?cZb3diSDW8uCKHHz3fMh3lJU93oo99j610AZSdluY963WKnce3XtWDfdyo?=
 =?iso-8859-1?Q?nEfEt55RLbhhjV4MdI4fj42PV9YKaoQ0xEjmXO3q/xfVF7OIjwvvnM9iWN?=
 =?iso-8859-1?Q?RJIjqRmYsx5fF/pEkQYYFGREUvkesoUh52HHtQGRcLpxnHhzd/VoY/vg?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1f9fc50c-fb70-430c-a7d3-08de1898f5d6
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Oct 2025 16:17:17.1666
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: mJSRMCY2jsDP7sap9h7Sg2bZSfgRZY8/+rsF8MocPeFrQep/fZgPB8Q+8mkZP9/JbLhJsoZAG4ZiYJI+Q0TXSlxW/VFpb8CgR2NAUkVN3aI=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR03MB6188

From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>

Add config option VIRIDIAN that covers viridian code within HVM.
Calls to viridian functions guarded by is_viridian_domain() and related mac=
ros.
Having this option may be beneficial by reducing code footprint for systems
that are not using Hyper-V.

[grygorii_strashko@epam.com: fixed NULL pointer deref in
viridian_save_domain_ctxt(); stub viridian_vcpu/domain_init/deinit()]
Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
---
changes in v7:
- s/!is_viridian_vcpu()/!IS_ENABLED(CONFIG_VIRIDIAN) checks in
  viridian_load_vcpu/domain_ctxt(), because it is not
  guaranteed that HVM_PARAM_VIRIDIAN will be loaded before
  viridian_load_vcpu_ctxt() is called (comment from Jason Andryuk)

changes in v6:
- add stubs for viridian_vcpu/domain_init/deinit()
- update Kconfig description
- make set(HVM_PARAM_VIRIDIAN) return -ENODEV
  if (!IS_ENABLED(CONFIG_VIRIDIAN) && value)

changes in v5:
- drop "depends on AMD_SVM || INTEL_VMX"
- return -EILSEQ from viridian_load_x() if !VIRIDIAN

changes in v4:
- s/HVM_VIRIDIAN/VIRIDIAN
- add "depends on AMD_SVM || INTEL_VMX"
- add guard !is_viridian_vcpu() checks in viridian_load_vcpu_ctxt/viridian_=
load_domain_ctxt

changes in v3:
- fixed NULL pointer deref in viridian_save_domain_ctxt() reported for v2,
  which caused v2 revert by commit 1fffcf10cd71 ("Revert "x86: make Viridia=
n
  support optional"")

v6: https://patchwork.kernel.org/project/xen-devel/patch/20251023151807.560=
843-1-grygorii_strashko@epam.com/
v5: https://patchwork.kernel.org/project/xen-devel/patch/20250930125215.108=
7214-1-grygorii_strashko@epam.com/
v4: https://patchwork.kernel.org/project/xen-devel/patch/20250919163139.282=
1531-1-grygorii_strashko@epam.com/
v3: https://patchwork.kernel.org/project/xen-devel/patch/20250916134114.221=
4104-1-grygorii_strashko@epam.com/
v2: https://patchwork.kernel.org/project/xen-devel/patch/20250321092633.398=
2645-1-Sergiy_Kibrik@epam.com/

 xen/arch/x86/hvm/Kconfig                | 10 ++++++++++
 xen/arch/x86/hvm/Makefile               |  2 +-
 xen/arch/x86/hvm/hvm.c                  |  5 +++--
 xen/arch/x86/hvm/viridian/viridian.c    | 14 ++++++++++----
 xen/arch/x86/hvm/vlapic.c               | 11 +++++++----
 xen/arch/x86/include/asm/hvm/domain.h   |  2 ++
 xen/arch/x86/include/asm/hvm/hvm.h      |  3 ++-
 xen/arch/x86/include/asm/hvm/vcpu.h     |  2 ++
 xen/arch/x86/include/asm/hvm/viridian.h | 15 +++++++++++++++
 9 files changed, 52 insertions(+), 12 deletions(-)

diff --git a/xen/arch/x86/hvm/Kconfig b/xen/arch/x86/hvm/Kconfig
index c323d767e77c..c1a131d1851a 100644
--- a/xen/arch/x86/hvm/Kconfig
+++ b/xen/arch/x86/hvm/Kconfig
@@ -63,6 +63,16 @@ config ALTP2M
=20
 	  If unsure, stay with defaults.
=20
+config VIRIDIAN
+	bool "Hyper-V enlightenments for guests" if EXPERT
+	default y
+	help
+	  Support optimizations for Hyper-V guests such as hypercalls, efficient
+	  timers and interrupt handling. This is to improve performance and
+	  compatibility of Windows VMs.
+
+	  If unsure, say Y.
+
 config MEM_PAGING
 	bool "Xen memory paging support (UNSUPPORTED)" if UNSUPPORTED
 	depends on VM_EVENT
diff --git a/xen/arch/x86/hvm/Makefile b/xen/arch/x86/hvm/Makefile
index 6ec2c8f2db56..736eb3f966e9 100644
--- a/xen/arch/x86/hvm/Makefile
+++ b/xen/arch/x86/hvm/Makefile
@@ -1,6 +1,6 @@
 obj-$(CONFIG_AMD_SVM) +=3D svm/
 obj-$(CONFIG_INTEL_VMX) +=3D vmx/
-obj-y +=3D viridian/
+obj-$(CONFIG_VIRIDIAN) +=3D viridian/
=20
 obj-y +=3D asid.o
 obj-y +=3D dm.o
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 88ad4100001e..c09fb2ba6873 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -4231,8 +4231,9 @@ static int hvm_set_param(struct domain *d, uint32_t i=
ndex, uint64_t value)
             rc =3D -EINVAL;
         break;
     case HVM_PARAM_VIRIDIAN:
-        if ( (value & ~HVMPV_feature_mask) ||
-             !(value & HVMPV_base_freq) )
+        if ( !IS_ENABLED(CONFIG_VIRIDIAN) && value )
+            rc =3D -ENODEV;
+        else if ( (value & ~HVMPV_feature_mask) || !(value & HVMPV_base_fr=
eq) )
             rc =3D -EINVAL;
         break;
     case HVM_PARAM_IDENT_PT:
diff --git a/xen/arch/x86/hvm/viridian/viridian.c b/xen/arch/x86/hvm/viridi=
an/viridian.c
index f79cffcb3767..5fb148b2aa15 100644
--- a/xen/arch/x86/hvm/viridian/viridian.c
+++ b/xen/arch/x86/hvm/viridian/viridian.c
@@ -1097,14 +1097,14 @@ static int cf_check viridian_save_domain_ctxt(
 {
     const struct domain *d =3D v->domain;
     const struct viridian_domain *vd =3D d->arch.hvm.viridian;
-    struct hvm_viridian_domain_context ctxt =3D {
-        .hypercall_gpa =3D vd->hypercall_gpa.raw,
-        .guest_os_id =3D vd->guest_os_id.raw,
-    };
+    struct hvm_viridian_domain_context ctxt =3D {};
=20
     if ( !is_viridian_domain(d) )
         return 0;
=20
+    ctxt.hypercall_gpa =3D vd->hypercall_gpa.raw;
+    ctxt.guest_os_id =3D vd->guest_os_id.raw,
+
     viridian_time_save_domain_ctxt(d, &ctxt);
     viridian_synic_save_domain_ctxt(d, &ctxt);
=20
@@ -1117,6 +1117,9 @@ static int cf_check viridian_load_domain_ctxt(
     struct viridian_domain *vd =3D d->arch.hvm.viridian;
     struct hvm_viridian_domain_context ctxt;
=20
+    if ( !IS_ENABLED(CONFIG_VIRIDIAN) )
+        return -EILSEQ;
+
     if ( hvm_load_entry_zeroextend(VIRIDIAN_DOMAIN, h, &ctxt) !=3D 0 )
         return -EINVAL;
=20
@@ -1153,6 +1156,9 @@ static int cf_check viridian_load_vcpu_ctxt(
     struct vcpu *v;
     struct hvm_viridian_vcpu_context ctxt;
=20
+    if ( !IS_ENABLED(CONFIG_VIRIDIAN) )
+        return -EILSEQ;
+
     if ( vcpuid >=3D d->max_vcpus || (v =3D d->vcpu[vcpuid]) =3D=3D NULL )
     {
         dprintk(XENLOG_G_ERR, "HVM restore: dom%d has no vcpu%u\n",
diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
index 4121285daef8..b315e56d3f18 100644
--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -447,7 +447,8 @@ void vlapic_EOI_set(struct vlapic *vlapic)
      * priority vector and then recurse to handle the lower priority
      * vector.
      */
-    bool missed_eoi =3D viridian_apic_assist_completed(v);
+    bool missed_eoi =3D has_viridian_apic_assist(v->domain) &&
+                      viridian_apic_assist_completed(v);
     int vector;
=20
  again:
@@ -463,7 +464,7 @@ void vlapic_EOI_set(struct vlapic *vlapic)
      * NOTE: It is harmless to call viridian_apic_assist_clear() on a
      *       recursion, even though it is not necessary.
      */
-    if ( !missed_eoi )
+    if ( has_viridian_apic_assist(v->domain) && !missed_eoi )
         viridian_apic_assist_clear(v);
=20
     vlapic_clear_vector(vector, &vlapic->regs->data[APIC_ISR]);
@@ -1375,7 +1376,8 @@ int vlapic_has_pending_irq(struct vcpu *v)
      * If so, we need to emulate the EOI here before comparing ISR
      * with IRR.
      */
-    if ( viridian_apic_assist_completed(v) )
+    if ( has_viridian_apic_assist(v->domain) &&
+         viridian_apic_assist_completed(v) )
         vlapic_EOI_set(vlapic);
=20
     isr =3D vlapic_find_highest_isr(vlapic);
@@ -1388,7 +1390,8 @@ int vlapic_has_pending_irq(struct vcpu *v)
     if ( isr >=3D 0 &&
          (irr & 0xf0) <=3D (isr & 0xf0) )
     {
-        viridian_apic_assist_clear(v);
+        if ( has_viridian_apic_assist(v->domain) )
+            viridian_apic_assist_clear(v);
         return -1;
     }
=20
diff --git a/xen/arch/x86/include/asm/hvm/domain.h b/xen/arch/x86/include/a=
sm/hvm/domain.h
index 94d19730b2c1..83be2bd1c29c 100644
--- a/xen/arch/x86/include/asm/hvm/domain.h
+++ b/xen/arch/x86/include/asm/hvm/domain.h
@@ -105,7 +105,9 @@ struct hvm_domain {
     /* hypervisor intercepted msix table */
     struct list_head       msixtbl_list;
=20
+#ifdef CONFIG_VIRIDIAN
     struct viridian_domain *viridian;
+#endif
=20
     /*
      * TSC value that VCPUs use to calculate their tsc_offset value.
diff --git a/xen/arch/x86/include/asm/hvm/hvm.h b/xen/arch/x86/include/asm/=
hvm/hvm.h
index 340d9d4d5631..ce31401a5d53 100644
--- a/xen/arch/x86/include/asm/hvm/hvm.h
+++ b/xen/arch/x86/include/asm/hvm/hvm.h
@@ -512,7 +512,8 @@ hvm_get_cpl(struct vcpu *v)
     (has_hvm_params(d) ? (d)->arch.hvm.params[HVM_PARAM_VIRIDIAN] : 0)
=20
 #define is_viridian_domain(d) \
-    (is_hvm_domain(d) && (viridian_feature_mask(d) & HVMPV_base_freq))
+    (IS_ENABLED(CONFIG_VIRIDIAN) && \
+     is_hvm_domain(d) && (viridian_feature_mask(d) & HVMPV_base_freq))
=20
 #define is_viridian_vcpu(v) \
     is_viridian_domain((v)->domain)
diff --git a/xen/arch/x86/include/asm/hvm/vcpu.h b/xen/arch/x86/include/asm=
/hvm/vcpu.h
index 3cf7a71fd309..eae9ac53767b 100644
--- a/xen/arch/x86/include/asm/hvm/vcpu.h
+++ b/xen/arch/x86/include/asm/hvm/vcpu.h
@@ -173,7 +173,9 @@ struct hvm_vcpu {
     /* Pending hw/sw interrupt (.vector =3D -1 means nothing pending). */
     struct x86_event     inject_event;
=20
+#ifdef CONFIG_VIRIDIAN
     struct viridian_vcpu *viridian;
+#endif
 };
=20
 #endif /* __ASM_X86_HVM_VCPU_H__ */
diff --git a/xen/arch/x86/include/asm/hvm/viridian.h b/xen/arch/x86/include=
/asm/hvm/viridian.h
index 47c9d13841ac..07ea95d4ae6e 100644
--- a/xen/arch/x86/include/asm/hvm/viridian.h
+++ b/xen/arch/x86/include/asm/hvm/viridian.h
@@ -86,11 +86,26 @@ viridian_hypercall(struct cpu_user_regs *regs);
 void viridian_time_domain_freeze(const struct domain *d);
 void viridian_time_domain_thaw(const struct domain *d);
=20
+#if defined(CONFIG_VIRIDIAN)
 int viridian_vcpu_init(struct vcpu *v);
 int viridian_domain_init(struct domain *d);
=20
 void viridian_vcpu_deinit(struct vcpu *v);
 void viridian_domain_deinit(struct domain *d);
+#else
+static inline int viridian_vcpu_init(struct vcpu *v)
+{
+    return 0;
+}
+
+static inline int viridian_domain_init(struct domain *d)
+{
+    return 0;
+}
+
+static inline void viridian_vcpu_deinit(struct vcpu *v) {}
+static inline void viridian_domain_deinit(struct domain *d) {}
+#endif
=20
 void viridian_apic_assist_set(const struct vcpu *v);
 bool viridian_apic_assist_completed(const struct vcpu *v);
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Oct 31 19:55:55 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 31 Oct 2025 19:55:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1154510.1484469 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEvDj-0005fo-S6; Fri, 31 Oct 2025 19:55:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1154510.1484469; Fri, 31 Oct 2025 19:55:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEvDj-0005fg-NX; Fri, 31 Oct 2025 19:55:35 +0000
Received: by outflank-mailman (input) for mailman id 1154510;
 Fri, 31 Oct 2025 19:55:34 +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
 <SRS0=8yaW=5I=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1vEvDi-0005fY-Hz
 for xen-devel@lists.xenproject.org; Fri, 31 Oct 2025 19:55:34 +0000
Received: from tor.source.kernel.org (tor.source.kernel.org [172.105.4.254])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8e1fbf1f-b693-11f0-9d16-b5c5bf9af7f9;
 Fri, 31 Oct 2025 20:55:32 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by tor.source.kernel.org (Postfix) with ESMTP id 4B7C06021B;
 Fri, 31 Oct 2025 19:55:30 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4AA2EC4CEE7;
 Fri, 31 Oct 2025 19:55:29 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8e1fbf1f-b693-11f0-9d16-b5c5bf9af7f9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1761940530;
	bh=h/ymJNqxHiE20P5q6ZLJ2/gTsSvuOX1Et5BB3TouHyk=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=nlEEdMYRl+K8mLciegi2rN/2dAAS7p+hmL3Wegc67bGZ6rbjal/sF5AUkJfD2X/Mk
	 PbU7GMOmg8Y79Z/4EeA2uU5vNikU5eYaA53aJX+eW3oeN6SnNRkdpl0ziEVcDoDA+s
	 xVj6coFobLuBW05l5v7qUrhXgltuZFwRCBAcGycc0JgomUSqaH5IwiPZkQBzg1EpLo
	 /vIGQO9jj6qsOuoOakwKK16krNoBhZn+yjyTn1/C3yHYRYukBbgO/spZyCc/uI9cEy
	 gsG9nSUSGkaOScQ0jeN6qFbIX1EIBjBtgSTKsYNpUJe/eZ7Exja6Pv6nH4B2AZZoEK
	 XOWRsAvbI4S/g==
Date: Fri, 31 Oct 2025 12:55:27 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org, 
    consulting@bugseng.com, Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [XEN PATCH v3] automation/eclair: add new analysis jobs with
 differing configurations
In-Reply-To: <876da816d5aacdb688599fd1d50efca2f856d080.1761897244.git.nicola.vetrini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2510311255210.495094@ubuntu-linux-20-04-desktop>
References: <876da816d5aacdb688599fd1d50efca2f856d080.1761897244.git.nicola.vetrini@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 31 Oct 2025, Nicola Vetrini wrote:
> The following analysis jobs are performed:
> - eclair-{x86_64,ARM64}: analyze Xen using the default configuration for
>   that architecture; runs on runners tagged `eclair-analysis'.
> 
> - eclair-{x86-64,ARM64}-safety: analyze Xen using the configuration for
>   safety, which is more restricted; runs on runners tagged
>   `eclair-analysis-safety`.
> 
> - eclair-{x86_64,ARM64}-testing: analyze Xen using the default
>   configuration for the purposes of testing new runner updates; runs on
>   runners tagged `eclair-analysis-testing`.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> ---
> CI pipeline: https://gitlab.com/xen-project/people/bugseng/xen/-/pipelines/2130873833
> 
> Note: the eclair-ARM64 and eclair-x86_64 jobs are allowed to fail because the
> configuration is not (yet) clean for all checked MISRA guidelines.
> 
> Changes in v3:
> - Use a variable instead of testing the repository PATH to decide whether a job
>   should be run for *-testing and *-safety analyses;
> - Allow eclair-{x86_64,ARM64} default configurations to fail, as the configuration
>   is not yet clean for MISRA.
> Changes in v2:
> - rebased to current staging;
> - fixed regex path issue.
> ---
>  automation/gitlab-ci/analyze.yaml | 42 ++++++++++++++++++++++++++++++-
>  1 file changed, 41 insertions(+), 1 deletion(-)
> 
> diff --git a/automation/gitlab-ci/analyze.yaml b/automation/gitlab-ci/analyze.yaml
> index d50721006740..fae55a23dbb5 100644
> --- a/automation/gitlab-ci/analyze.yaml
> +++ b/automation/gitlab-ci/analyze.yaml
> @@ -45,6 +45,22 @@ eclair-x86_64:
>      LOGFILE: "eclair-x86_64.log"
>      VARIANT: "X86_64"
>      RULESET: "monitored"
> +  allow_failure: true

Wouldn't "allow_failure: true" also change the behavior for the existing
jobs? I would think we want to continue not allowing failures for those.
I would think that at least eclair-x86_64-safety should not allow
failures (like before this patch).


> +eclair-x86_64-testing:
> +  extends: eclair-x86_64
> +  tags:
> +    - eclair-analysis-testing
> +  rules:
> +    - if: $ECLAIR_TESTING
> +      when: always
> +    - !reference [.eclair-analysis:triggered, rules]

I imagine that ECLAIR_TESTING will be typically off in
gitlab.com/xen-project/hardware/xen, right?


> +eclair-x86_64-safety:
> +  extends: eclair-x86_64
> +  tags:
> +    - eclair-analysis-safety
> +  variables:
>      EXTRA_XEN_CONFIG: |
>        CONFIG_AMD=y
>        CONFIG_INTEL=n
> @@ -75,6 +91,10 @@ eclair-x86_64:
>        CONFIG_DEBUG_LOCKS=n
>        CONFIG_SCRUB_DEBUG=n
>        CONFIG_XMEM_POOL_POISON=n
> +  rules:
> +    - if: $ECLAIR_SAFETY && $CI_COMMIT_BRANCH =~ /^staging$/
> +      when: always

On the other hand, I expect that ECLAIR_SAFETY will be on in
gitlab.com/xen-project/hardware/xen, right?

I don't think we need the extra check on "staging" as the branch
on gitlab.com/xen-project/hardware/xen are very limited.


> +    - !reference [.eclair-analysis:triggered, rules]
>  
>  eclair-ARM64:
>    extends: .eclair-analysis:triggered
> @@ -82,6 +102,22 @@ eclair-ARM64:
>      LOGFILE: "eclair-ARM64.log"
>      VARIANT: "ARM64"
>      RULESET: "monitored"
> +  allow_failure: true

Same comment for ARM


> +eclair-ARM64-testing:
> +  extends: eclair-ARM64
> +  tags:
> +    - eclair-analysis-testing
> +  rules:
> +    - if: $ECLAIR_TESTING
> +      when: always
> +    - !reference [.eclair-analysis:triggered, rules]
> +
> +eclair-ARM64-safety:
> +  extends: eclair-ARM64
> +  tags:
> +    - eclair-analysis-safety
> +  variables:
>      EXTRA_XEN_CONFIG: |
>        CONFIG_NR_CPUS=16
>        CONFIG_GICV2=n
> @@ -120,13 +156,17 @@ eclair-ARM64:
>        CONFIG_DEBUG_LOCKS=n
>        CONFIG_SCRUB_DEBUG=n
>        CONFIG_XMEM_POOL_POISON=n
> +  rules:
> +    - if: $ECLAIR_SAFETY && $CI_COMMIT_BRANCH =~ /^staging$/
> +      when: always
> +    - !reference [.eclair-analysis, rules]
>  
>  .eclair-analysis:on-schedule:
>    extends: .eclair-analysis
>    rules:
>      - if: $CI_PIPELINE_SOURCE != "schedule"
>        when: never
> -    - !reference [.eclair-analysis, rules]
> +    - !reference [.eclair-analysis:triggered, rules]
>  
>  eclair-x86_64:on-schedule:
>    extends: .eclair-analysis:on-schedule
> -- 
> 2.43.0
> 


From xen-devel-bounces@lists.xenproject.org Fri Oct 31 21:20:34 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 31 Oct 2025 21:20:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1154532.1484478 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEwXj-0000km-NB; Fri, 31 Oct 2025 21:20:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1154532.1484478; Fri, 31 Oct 2025 21:20:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEwXj-0000kf-KS; Fri, 31 Oct 2025 21:20:19 +0000
Received: by outflank-mailman (input) for mailman id 1154532;
 Fri, 31 Oct 2025 21:20:19 +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
 <SRS0=r2XW=5I=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1vEwXi-0000kZ-Qg
 for xen-devel@lists.xenproject.org; Fri, 31 Oct 2025 21:20:19 +0000
Received: from AM0PR83CU005.outbound.protection.outlook.com
 (mail-westeuropeazlp170100001.outbound.protection.outlook.com
 [2a01:111:f403:c201::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 62ace40c-b69f-11f0-980a-7dc792cee155;
 Fri, 31 Oct 2025 22:20:13 +0100 (CET)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by GVXPR03MB11113.eurprd03.prod.outlook.com (2603:10a6:150:2a9::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9275.13; Fri, 31 Oct
 2025 21:20:06 +0000
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593]) by AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593%3]) with mapi id 15.20.9275.013; Fri, 31 Oct 2025
 21:20:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 62ace40c-b69f-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=bs2e3m9KZ6qJiE0MH0volGCGCWFK/iVbomXoac+RiNer5pQabOWOPw/5tfNtxhovj8sZwFo9fY2i97LESk8BiQT1bjVf8V9Fyyw/QSGIUzUHLfaj8gBm7zk69Tu6RpPPIeiMHN1+zXz8Tl2a12osOhEsq97x8ZoLo+753QwW7AvvG82aeSGdLyPlhCyA9bVr5szErRInyjbKkeTFdkmZtO86Fq4Sjrh3bhxrBOwMKCyaSDDM5vdGMfbF77XMfqHQDBrpsg/zXAkLcLAn5M9xNSb0gV160Ni6bAqbYe8DmnPo5OdUh6eUrIrlyOXr6MXYMmjszDYTEZG9/PyV3IELmA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=F4+O1uPqbVv87cfYS6FF/l2EvUXSzHEpBUeZpT6ubcc=;
 b=hVAV//rkBm+6svPN0jQMyyFYhHsPN/hR1/l96Z6HNGi9dyEI/iZYT1pko5ygy4GiPkkRodPoeBrdiPAClYc8KsYiJc7Q+QQaz8zP16aBbiGuBRXlrxHS6htkZy93JJIMuE8mrnEchQsEGiWfhoNNBBzlmP749HDFQD2HYDiYTguMbPH2BmcVo+zVZ5OG6NZ9xZm3uXEzt8/k6fUTxpyzIdsS4hiXrOYtlSgaf7ntsmreKXOYz6rLr6XNPyOwMExn0Y3L7lYAeuXFiS2lGWz2acdKoQtyz2f7N90K4L/x6rLrWlJrZKDxJ66vayHP7JZco0Q9TCFZWFjhVr0KyANIeg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=F4+O1uPqbVv87cfYS6FF/l2EvUXSzHEpBUeZpT6ubcc=;
 b=us9TSWSUt0wFUagkAGs1/n0WLQkXDdYdY643/j6vcarADVNZpmvh4efqfDKgjppKBetuyNqqYefuEAjfqnFJnoo+jwRcSdCzQ9cx7d+dDhRaC8eDWR+qOBdQtb7BuftQx8zEU4FVC+dYXAF487Vj3nwT3XSgg3hTLsT87klJsCuJz+P+5k+Zxc9p93IXxYgKKSumgfaxy2fkXj9NkQ41bjCxaMvpXZCQoDEmJ3WM8uJ9jCTSmppkGv+e0v4U3EizF9VKhb2RiGMGW6am/RjFlVg6EOgyR88eET4FFG8XyEzgT+oksm0WpPIaCSfnUY0sBuClgzQfXn1KBZbUcTdahw==
From: Grygorii Strashko <grygorii_strashko@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Grygorii Strashko <grygorii_strashko@epam.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Anthony PERARD <anthony.perard@vates.tech>,
	Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>, Julien
 Grall <julien@xen.org>, =?iso-8859-1?Q?Roger_Pau_Monn=E9?=
	<roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>, Tamas K
 Lengyel <tamas@tklengyel.com>, Alexandru Isaila <aisaila@bitdefender.com>,
	Petre Pircalabu <ppircalabu@bitdefender.com>, Penny Zheng
	<Penny.Zheng@amd.com>
Subject: [XEN][PATCH] xen: make VMTRACE support optional
Thread-Topic: [XEN][PATCH] xen: make VMTRACE support optional
Thread-Index: AQHcSqwhtyHzg01iHka3JeM7CuPAbQ==
Date: Fri, 31 Oct 2025 21:20:06 +0000
Message-ID: <20251031212005.1338212-1-grygorii_strashko@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AS2PR03MB8907:EE_|GVXPR03MB11113:EE_
x-ms-office365-filtering-correlation-id: ed0230ae-fa40-432b-54c4-08de18c343aa
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|366016|376014|1800799024|7416014|38070700021;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?fNjNZ/yxJegTIKsWw00ovYQ09YmReWy0BmH1xhuRwetckfEMD4osw4Goce?=
 =?iso-8859-1?Q?SbnUne5SYkuGO3mzF44vNZidu9BQmDNIV48m7zx1srHel25/p5fz/aCIsH?=
 =?iso-8859-1?Q?ILeAzWDhXxqKtZfG4H55UQavqq5sxmo9WtZ2b4CTx5GxQLuZPBYp88mNFS?=
 =?iso-8859-1?Q?cHUk7zVZX+eKhL6QBy6Q/S0zmqKp1xFO5Q7K7CBrOMiW6l6uyMxfNHy9uc?=
 =?iso-8859-1?Q?5hjKlvkddg2zcjLv8VkV9SB7joYbI+CFA1bMb69exXdqFSLz/biteRgbXu?=
 =?iso-8859-1?Q?an24G9nU1YCkK7SZMDtAIGMHcqj5qkt58dymcV56RQ6104ay7z3JSIVamU?=
 =?iso-8859-1?Q?flwMKZMncO4lPaLI5xFyGdUgJnJ1bfm8t+GnByniJm3z1AaCxNEPQCpW00?=
 =?iso-8859-1?Q?X+2t8J4Z3hZ+Bjtp6CySyKEL0OD6tkI547JpO3AZCdPMmWh1hqATNwkh5x?=
 =?iso-8859-1?Q?ruCDijfqotBY5XA9eteYCxfY3ptK6CQMS99fppWIKG0ltrjSYEcJw6tPCW?=
 =?iso-8859-1?Q?0GgiFlKh1JorCf9RPspURFi1BBGuX5cMDPHNttXv2uJ+PQVa3pnS62XtCZ?=
 =?iso-8859-1?Q?snqtVTBQ3vBXO0sKSnNojXegLn+iAn06CIvrqOJtmmLcuz/3OYbupINAAN?=
 =?iso-8859-1?Q?qRmaOL0+GI4JtmDK29XxDs7daqYXgKRF2kqGgr4Mr6SyT+vKTGpacZvkwo?=
 =?iso-8859-1?Q?FlGnq7tHnt1R6TyFuFfhfOOWSmxGq+JU+za/rb0/1FP39Iej4tTrRBbPh/?=
 =?iso-8859-1?Q?2EzdOzVP5vR5u62CZXlR7EnRwN3vw47OcNBQwOluH3wsIctoUBBFYF1oHp?=
 =?iso-8859-1?Q?e+YpIlXXg1ZRwf+rAS3UXI3vgjG0c3TT/qNANAVSYJ2N6Huvx4Fq0Ngzez?=
 =?iso-8859-1?Q?KSDApPpCIrm1p677E8TzHm4Y0KmGICs30gkqg2bTOJx1K24qOA90Fl/hbp?=
 =?iso-8859-1?Q?/pUQTn4BkR6AgVrUFiofHoL3U79gzQRcscwKiSE7UjFZIakB2rIA41FHz3?=
 =?iso-8859-1?Q?+XYjSg7WAlzY472wibbx4iLZjF1LQbG1/IfBufeTTS+KzIrH7QtVbmDiie?=
 =?iso-8859-1?Q?jFBXt0eaxhdsO7gfY5LWQH1tzMBFLIG2K1VNRb/YG2xeinRcs54nPPWEDL?=
 =?iso-8859-1?Q?DB4pvdglWm1wnVbMz8M9VTO7kBg5IW+B9eEzFX+p0DC9iENY8mYxPaNeFF?=
 =?iso-8859-1?Q?bFspgl4euc+9bUBmPgSL8/3FSzRId7PDkOWTgokdwO18RzKSFdRWB+57Jz?=
 =?iso-8859-1?Q?cbkMYdVZ4fxm0+B2tKiS4P5JNcOHTmne2VMUXAUZCkp8A0DbYdVfKyNYJm?=
 =?iso-8859-1?Q?5/XSwR4qKGYOCuhsoayNY5ovbJFGQZJvbBUeap9exbW36fSn05xyEC5v2D?=
 =?iso-8859-1?Q?eyULR5QfZ3a8bWp9w2k3X6LQHIYdxSF6j9sPL7PnOVQFQXYeIvyr/bxzqy?=
 =?iso-8859-1?Q?BZH5MDv2M0CgMQbTRHhNgOg1v9VvmNN9GViSdg9EPwM+xEIPLdph6ylK0z?=
 =?iso-8859-1?Q?LP5LLoK7D6FcqeALuG+WuT/aEcsH1i2KC0cKe1D1qYrub9eVfmXQEW7BIi?=
 =?iso-8859-1?Q?L0mZsUjyWOOYAXbLHeebcsANIaGH?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS2PR03MB8907.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(7416014)(38070700021);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?BsRAMe9Dhh+XColNlVZiSRXumsiGFtMI5Xz06jXucM9vU3GDKALf2xZp/p?=
 =?iso-8859-1?Q?mQKzLorqWaJQ60gR7tQQ0C7tBEcLqYjpStVySORCyTkLNMuIV/F2sr0naP?=
 =?iso-8859-1?Q?s/d5C9BgqrybYSHn9wxH/cnG4G/APwhkul3N/3jteKrMnF1ks7J1z2kYtD?=
 =?iso-8859-1?Q?fw5Al+GW0bkjSWVJKKF+iCliWGPpSPTWFf2tcfsQ2HahP51veTW0sf4q9s?=
 =?iso-8859-1?Q?oDW/hgWxu3C8TjzOWq2dI6bxbs1iVq680I9z00eGj9mm0EQ9wWnnQiKD4I?=
 =?iso-8859-1?Q?G5QaKeVoRZnCAWoAoN5bRbTn6RKMxsD1fyNS0pRwRJGNMSdeGxA0tvR86h?=
 =?iso-8859-1?Q?mpB5ZL7exdZtJKU/ak3Z5WzbLq+040wiukFTQRUvYIj1Zk+VR+8D/k9dmh?=
 =?iso-8859-1?Q?TsCOsjVcucNKU8u/3Ogm6kX5fanXbFFX8S6IrSqLpUfWtkLzMmG2XA8kSe?=
 =?iso-8859-1?Q?rqXn27RgDAZgMU/7rZnYTRU4NCluS9IDzq1kgAjgNqrUwmWZ8QpuOYUtkY?=
 =?iso-8859-1?Q?v1dI7O09c2lnttPil5SW1uy2us8ErNtpUIt2H5ETwPMdCn2BBexnvnBHpt?=
 =?iso-8859-1?Q?uDURaRgl6OJ5XawNWNPmxs20chjjLbex/pSdID+7NskzF9x8584vgzEyr2?=
 =?iso-8859-1?Q?OnDzuO9u4DIZxUF1DFoYNBtWmO/C9qwmtptV6FozLPoYXhhui+aa+fmHuE?=
 =?iso-8859-1?Q?B7HjsgWdCv3HsG1d6dCbXQtsYCCzlL4nJlZCYr0madzoctdGlcZPq8XDHX?=
 =?iso-8859-1?Q?/wj0m9zCrYnrA7C4jLaJBB9sDGHCxRl80cUMsnbE3wWK4cfPga9pdiU67D?=
 =?iso-8859-1?Q?FDUNKa1gOtDmgA2jdOQKfIYvKv+dJTLtQ041OQpTb6dyH5/66TYIyFzEeN?=
 =?iso-8859-1?Q?04+ZHKCBNUtRZsDfaLCknytFi2/Z8sE3UQf+tFygXBvZK5InipSWIBh9d9?=
 =?iso-8859-1?Q?9qo5sLl/SfgCYd/c8D2Ih3QPAqMZk72SuRYu/kywSnwwAnbZ9D7xi2PF96?=
 =?iso-8859-1?Q?n1fLfeoBPUpOoRIP3PnYIRq9442Klfylh5DtulGFpiXxQzLs5SIdrD4BwE?=
 =?iso-8859-1?Q?LPKqyk23TsaQThLXQBE+ktBM4bxNiBKfulsmaac8u41T6kWIOGxg3NxJij?=
 =?iso-8859-1?Q?z3ks4lI1WpcWQxPRSGvC6ZrM1ephXqwjLbghXFx1yRFKIuqebUoKrYHxAJ?=
 =?iso-8859-1?Q?afDILMb7+/N1FGC+Hmj7td0El7sbAtKubvIJHp2vwgCimnbzJgfnAfQEOf?=
 =?iso-8859-1?Q?pVGfCmo9YwD6KrGXA4atG9Jboq94FGnmhGnjfiKaKGaPJrpd9vBVqBt1NT?=
 =?iso-8859-1?Q?Ppq3uzcNhDn6jLav1IMI8oWfUp2YFSbYr/MxnBvOhToCGiW27GIZ4+T5Tq?=
 =?iso-8859-1?Q?KeBZ0lRED+uRJ1OSjarAAJ9iPLTVchslbV97NIcrURwklOQfPwWAor1xqo?=
 =?iso-8859-1?Q?9lax4O/nLXsmRCZX++BHgw3TDVqtHGbY6iD4I/SzSiKhEHe95wP3JxHcPU?=
 =?iso-8859-1?Q?KNuQJWsmYhcJSMhuTGrCuSDSbjWZCw+zzcxMXAOYcmNkn3MyLjDhDhwRiK?=
 =?iso-8859-1?Q?AcUfK3U753vNkoC5XHB+16qaBZUjU0VOFmi5TuopJ6VKp4ZiK781/ggZQI?=
 =?iso-8859-1?Q?n/HEhduSQ54PQimXmylv9zOolJU/XSOD1jT6dKconorvcd6ocK/fmm6A?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ed0230ae-fa40-432b-54c4-08de18c343aa
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Oct 2025 21:20:06.6077
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: NFqmsrdRz17hPGd0oXIcQAYj0Ipl03h9sH/MwkuEEvfg8dPmPwx9QM9DWIUjv7jTpg4MuN7Biz/IaOWqw7Vf2aA0dJvZEo4v8hgL0C7ipQk=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR03MB11113

From: Grygorii Strashko <grygorii_strashko@epam.com>

The VMTRACE feature depends on Platform/Arch HW and code support and now
can be used only on x86 HVM with Intel VT-x (INTEL_VMX) enabled.
This makes VMTRACE support optional by introducing two Kconfig options:
- CONFIG_HAS_VMTRACE which allows Platform/Arch to advertise VMTRACE
support readiness
- CONFIG_VMTRACE to enable/disable the feature.

Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
---
Based on top of patch "domain: adjust soft-reset arch dependency" [1]

[1] https://patchwork.kernel.org/project/xen-devel/patch/c9c8c9c6-a155-4986=
-bf77-5766cdcd6024@suse.com/

 xen/Kconfig.debug                       | 15 +++++++++++++++
 xen/arch/x86/domctl.c                   |  4 ++++
 xen/arch/x86/hvm/Kconfig                |  1 +
 xen/arch/x86/hvm/vmx/vmcs.c             |  2 ++
 xen/arch/x86/hvm/vmx/vmx.c              | 10 ++++++++++
 xen/arch/x86/include/asm/guest-msr.h    |  2 ++
 xen/arch/x86/include/asm/hvm/hvm.h      |  9 +++++++++
 xen/arch/x86/include/asm/hvm/vmx/vmcs.h |  2 ++
 xen/arch/x86/mm/mem_sharing.c           |  2 ++
 xen/arch/x86/vm_event.c                 |  6 ++++--
 xen/common/domain.c                     | 10 ++++++++++
 xen/common/memory.c                     |  6 ++++++
 xen/common/vm_event.c                   |  3 ++-
 xen/include/xen/domain.h                |  4 ++++
 xen/include/xen/sched.h                 |  4 ++++
 15 files changed, 77 insertions(+), 3 deletions(-)

diff --git a/xen/Kconfig.debug b/xen/Kconfig.debug
index d900d926c555..70ec4f0d14a5 100644
--- a/xen/Kconfig.debug
+++ b/xen/Kconfig.debug
@@ -155,4 +155,19 @@ config DEBUG_INFO
 	  "make install-xen" for installing xen.efi, stripping needs to be
 	  done outside the Xen build environment).
=20
+config HAS_VMTRACE
+    bool
+
+config VMTRACE
+    bool "HW VM tracing support"
+    depends on HAS_VMTRACE
+    default y
+    help
+      Enables HW VM tracing support which allows to configure HW processor
+      features (vmtrace_op) to enable capturing information about software
+      execution using dedicated hardware facilities with minimal interfere=
nce
+      to the software being traced. The trace date can be retrieved using =
buffer
+      shared between Xen and domain
+      (see XENMEM_acquire_resource(XENMEM_resource_vmtrace_buf)).
+
 endmenu
diff --git a/xen/arch/x86/domctl.c b/xen/arch/x86/domctl.c
index 6153e3c07e2d..d9521808dcba 100644
--- a/xen/arch/x86/domctl.c
+++ b/xen/arch/x86/domctl.c
@@ -154,6 +154,7 @@ void arch_get_domain_info(const struct domain *d,
 static int do_vmtrace_op(struct domain *d, struct xen_domctl_vmtrace_op *o=
p,
                          XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
 {
+#ifdef CONFIG_VMTRACE
     struct vcpu *v;
     int rc;
=20
@@ -198,6 +199,9 @@ static int do_vmtrace_op(struct domain *d, struct xen_d=
omctl_vmtrace_op *op,
     vcpu_unpause(v);
=20
     return rc;
+#else
+    return -EOPNOTSUPP;
+#endif
 }
=20
 #define MAX_IOPORTS 0x10000
diff --git a/xen/arch/x86/hvm/Kconfig b/xen/arch/x86/hvm/Kconfig
index c1a131d1851a..c017a77fffe0 100644
--- a/xen/arch/x86/hvm/Kconfig
+++ b/xen/arch/x86/hvm/Kconfig
@@ -29,6 +29,7 @@ config INTEL_VMX
 	bool "Intel VT-x" if EXPERT
 	default INTEL
 	select ARCH_VCPU_IOREQ_COMPLETION
+	select HAS_VMTRACE
 	help
 	  Enables virtual machine extensions on platforms that implement the
 	  Intel Virtualization Technology (Intel VT-x).
diff --git a/xen/arch/x86/hvm/vmx/vmcs.c b/xen/arch/x86/hvm/vmx/vmcs.c
index ab8b1c87ec0f..3728a9140223 100644
--- a/xen/arch/x86/hvm/vmx/vmcs.c
+++ b/xen/arch/x86/hvm/vmx/vmcs.c
@@ -300,6 +300,7 @@ static int vmx_init_vmcs_config(bool bsp)
     rdmsrl(MSR_IA32_VMX_MISC, _vmx_misc_cap);
=20
     /* Check whether IPT is supported in VMX operation. */
+#ifdef CONFIG_VMTRACE
     if ( bsp )
         vmtrace_available =3D cpu_has_proc_trace &&
                             (_vmx_misc_cap & VMX_MISC_PROC_TRACE);
@@ -310,6 +311,7 @@ static int vmx_init_vmcs_config(bool bsp)
                smp_processor_id());
         return -EINVAL;
     }
+#endif
=20
     if ( caps.cpu_based_exec_control & CPU_BASED_ACTIVATE_SECONDARY_CONTRO=
LS )
     {
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index b65981077295..f1588cd90b2d 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -622,6 +622,7 @@ static void cf_check domain_creation_finished(struct do=
main *d)
=20
 static void vmx_init_ipt(struct vcpu *v)
 {
+#ifdef CONFIG_VMTRACE
     unsigned int size =3D v->domain->vmtrace_size;
=20
     if ( !size )
@@ -632,6 +633,7 @@ static void vmx_init_ipt(struct vcpu *v)
     ASSERT(size >=3D PAGE_SIZE && (size & (size - 1)) =3D=3D 0);
=20
     v->arch.msrs->rtit.output_limit =3D size - 1;
+#endif
 }
=20
 static int cf_check vmx_vcpu_initialise(struct vcpu *v)
@@ -724,11 +726,13 @@ static void vmx_save_guest_msrs(struct vcpu *v)
      */
     v->arch.hvm.vmx.shadow_gs =3D read_gs_shadow();
=20
+#ifdef CONFIG_VMTRACE
     if ( v->arch.hvm.vmx.ipt_active )
     {
         rdmsrl(MSR_RTIT_OUTPUT_MASK, msrs->rtit.output_mask);
         rdmsrl(MSR_RTIT_STATUS, msrs->rtit.status);
     }
+#endif
=20
     if ( cp->feat.pks )
         msrs->pkrs =3D rdpkrs_and_cache();
@@ -747,12 +751,14 @@ static void vmx_restore_guest_msrs(struct vcpu *v)
     if ( cpu_has_msr_tsc_aux )
         wrmsr_tsc_aux(msrs->tsc_aux);
=20
+#ifdef CONFIG_VMTRACE
     if ( v->arch.hvm.vmx.ipt_active )
     {
         wrmsrl(MSR_RTIT_OUTPUT_BASE, page_to_maddr(v->vmtrace.pg));
         wrmsrl(MSR_RTIT_OUTPUT_MASK, msrs->rtit.output_mask);
         wrmsrl(MSR_RTIT_STATUS, msrs->rtit.status);
     }
+#endif
=20
     if ( cp->feat.pks )
         wrpkrs(msrs->pkrs);
@@ -2626,6 +2632,7 @@ static bool cf_check vmx_get_pending_event(
     return true;
 }
=20
+#ifdef CONFIG_VMTRACE
 /*
  * We only let vmtrace agents see and modify a subset of bits in MSR_RTIT_=
CTL.
  * These all pertain to data-emitted into the trace buffer(s).  Must not
@@ -2768,6 +2775,7 @@ static int cf_check vmtrace_reset(struct vcpu *v)
     v->arch.msrs->rtit.status =3D 0;
     return 0;
 }
+#endif
=20
 static uint64_t cf_check vmx_get_reg(struct vcpu *v, unsigned int reg)
 {
@@ -2940,11 +2948,13 @@ static struct hvm_function_table __initdata_cf_clob=
ber vmx_function_table =3D {
     .altp2m_vcpu_emulate_ve =3D vmx_vcpu_emulate_ve,
     .altp2m_vcpu_emulate_vmfunc =3D vmx_vcpu_emulate_vmfunc,
 #endif
+#ifdef CONFIG_VMTRACE
     .vmtrace_control =3D vmtrace_control,
     .vmtrace_output_position =3D vmtrace_output_position,
     .vmtrace_set_option =3D vmtrace_set_option,
     .vmtrace_get_option =3D vmtrace_get_option,
     .vmtrace_reset =3D vmtrace_reset,
+#endif
=20
     .get_reg =3D vmx_get_reg,
     .set_reg =3D vmx_set_reg,
diff --git a/xen/arch/x86/include/asm/guest-msr.h b/xen/arch/x86/include/as=
m/guest-msr.h
index 5f0cb0a93995..702f47fe1e16 100644
--- a/xen/arch/x86/include/asm/guest-msr.h
+++ b/xen/arch/x86/include/asm/guest-msr.h
@@ -50,6 +50,7 @@ struct vcpu_msrs
         };
     } misc_features_enables;
=20
+#ifdef CONFIG_VMTRACE
     /*
      * 0x00000560 ... 57x - MSR_RTIT_*
      *
@@ -81,6 +82,7 @@ struct vcpu_msrs
             };
         };
     } rtit;
+#endif
=20
     /*
      * 0x000006e1 - MSR_PKRS - Protection Key Supervisor.
diff --git a/xen/arch/x86/include/asm/hvm/hvm.h b/xen/arch/x86/include/asm/=
hvm/hvm.h
index 7412256a2dab..728b9624522f 100644
--- a/xen/arch/x86/include/asm/hvm/hvm.h
+++ b/xen/arch/x86/include/asm/hvm/hvm.h
@@ -234,12 +234,14 @@ struct hvm_function_table {
     int (*altp2m_vcpu_emulate_vmfunc)(const struct cpu_user_regs *regs);
 #endif
=20
+#ifdef CONFIG_VMTRACE
     /* vmtrace */
     int (*vmtrace_control)(struct vcpu *v, bool enable, bool reset);
     int (*vmtrace_output_position)(struct vcpu *v, uint64_t *pos);
     int (*vmtrace_set_option)(struct vcpu *v, uint64_t key, uint64_t value=
);
     int (*vmtrace_get_option)(struct vcpu *v, uint64_t key, uint64_t *valu=
e);
     int (*vmtrace_reset)(struct vcpu *v);
+#endif
=20
     uint64_t (*get_reg)(struct vcpu *v, unsigned int reg);
     void (*set_reg)(struct vcpu *v, unsigned int reg, uint64_t val);
@@ -738,6 +740,7 @@ static inline bool altp2m_vcpu_emulate_ve(struct vcpu *=
v)
 bool altp2m_vcpu_emulate_ve(struct vcpu *v);
 #endif /* CONFIG_ALTP2M */
=20
+#ifdef CONFIG_VMTRACE
 static inline int hvm_vmtrace_control(struct vcpu *v, bool enable, bool re=
set)
 {
     if ( hvm_funcs.vmtrace_control )
@@ -780,6 +783,12 @@ static inline int hvm_vmtrace_reset(struct vcpu *v)
=20
     return -EOPNOTSUPP;
 }
+#else
+static inline int hvm_vmtrace_reset(struct vcpu *v)
+{
+    return 0;
+}
+#endif
=20
 /*
  * Accessors for registers which have per-guest-type or per-vendor locatio=
ns
diff --git a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h b/xen/arch/x86/include=
/asm/hvm/vmx/vmcs.h
index 8ff7c8045fc6..d28a2682e9df 100644
--- a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
+++ b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
@@ -155,7 +155,9 @@ struct vmx_vcpu {
     bool                 ept_spurious_misconfig;
=20
     /* Processor Trace configured and enabled for the vcpu. */
+#ifdef CONFIG_VMTRACE
     bool                 ipt_active;
+#endif
=20
     /* Is the guest in real mode? */
     uint8_t              vmx_realmode;
diff --git a/xen/arch/x86/mm/mem_sharing.c b/xen/arch/x86/mm/mem_sharing.c
index 4787b2796479..074f1b2562b3 100644
--- a/xen/arch/x86/mm/mem_sharing.c
+++ b/xen/arch/x86/mm/mem_sharing.c
@@ -1888,7 +1888,9 @@ static int fork(struct domain *cd, struct domain *d)
         domain_pause(d);
         cd->max_pages =3D d->max_pages;
         *cd->arch.cpu_policy =3D *d->arch.cpu_policy;
+#ifdef CONFIG_VMTRACE
         cd->vmtrace_size =3D d->vmtrace_size;
+#endif
         cd->parent =3D d;
     }
=20
diff --git a/xen/arch/x86/vm_event.c b/xen/arch/x86/vm_event.c
index fc349270b9c5..f4c8696ce54e 100644
--- a/xen/arch/x86/vm_event.c
+++ b/xen/arch/x86/vm_event.c
@@ -253,7 +253,9 @@ void vm_event_fill_regs(vm_event_request_t *req)
     req->data.regs.x86.shadow_gs =3D ctxt.shadow_gs;
     req->data.regs.x86.dr6 =3D ctxt.dr6;
=20
+#ifdef CONFIG_VMTRACE
     if ( hvm_vmtrace_output_position(curr, &req->data.regs.x86.vmtrace_pos=
) !=3D 1 )
+#endif
         req->data.regs.x86.vmtrace_pos =3D ~0;
 #endif
 }
@@ -303,12 +305,12 @@ void vm_event_emulate_check(struct vcpu *v, vm_event_=
response_t *rsp)
 #endif
 }
=20
+#ifdef CONFIG_VMTRACE
 void vm_event_reset_vmtrace(struct vcpu *v)
 {
-#ifdef CONFIG_HVM
     hvm_vmtrace_reset(v);
-#endif
 }
+#endif
=20
 /*
  * Local variables:
diff --git a/xen/common/domain.c b/xen/common/domain.c
index 7dcd466e5a12..2be6ee03d004 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -136,7 +136,9 @@ struct vcpu *idle_vcpu[NR_CPUS] __read_mostly;
=20
 vcpu_info_t dummy_vcpu_info;
=20
+#ifdef CONFIG_VMTRACE
 bool __read_mostly vmtrace_available;
+#endif
=20
 bool __read_mostly vpmu_is_available;
=20
@@ -318,6 +320,7 @@ static void vcpu_info_reset(struct vcpu *v)
=20
 static void vmtrace_free_buffer(struct vcpu *v)
 {
+#ifdef CONFIG_VMTRACE
     const struct domain *d =3D v->domain;
     struct page_info *pg =3D v->vmtrace.pg;
     unsigned int i;
@@ -332,10 +335,12 @@ static void vmtrace_free_buffer(struct vcpu *v)
         put_page_alloc_ref(&pg[i]);
         put_page_and_type(&pg[i]);
     }
+#endif
 }
=20
 static int vmtrace_alloc_buffer(struct vcpu *v)
 {
+#ifdef CONFIG_VMTRACE
     struct domain *d =3D v->domain;
     struct page_info *pg;
     unsigned int i;
@@ -377,6 +382,9 @@ static int vmtrace_alloc_buffer(struct vcpu *v)
     }
=20
     return -ENODATA;
+#else
+    return 0;
+#endif
 }
=20
 /*
@@ -825,7 +833,9 @@ struct domain *domain_create(domid_t domid,
         ASSERT(!config->altp2m.nr);
 #endif
=20
+#ifdef CONFIG_VMTRACE
         d->vmtrace_size =3D config->vmtrace_size;
+#endif
     }
=20
     /* Sort out our idea of is_control_domain(). */
diff --git a/xen/common/memory.c b/xen/common/memory.c
index 3688e6dd5032..66dc7f7a0a41 100644
--- a/xen/common/memory.c
+++ b/xen/common/memory.c
@@ -1155,8 +1155,10 @@ static unsigned int resource_max_frames(const struct=
 domain *d,
     case XENMEM_resource_ioreq_server:
         return ioreq_server_max_frames(d);
=20
+#ifdef CONFIG_VMTRACE
     case XENMEM_resource_vmtrace_buf:
         return d->vmtrace_size >> PAGE_SHIFT;
+#endif
=20
     default:
         return 0;
@@ -1198,6 +1200,7 @@ static int acquire_ioreq_server(struct domain *d,
 #endif
 }
=20
+#ifdef CONFIG_VMTRACE
 static int acquire_vmtrace_buf(
     struct domain *d, unsigned int id, unsigned int frame,
     unsigned int nr_frames, xen_pfn_t mfn_list[])
@@ -1220,6 +1223,7 @@ static int acquire_vmtrace_buf(
=20
     return nr_frames;
 }
+#endif
=20
 /*
  * Returns -errno on error, or positive in the range [1, nr_frames] on
@@ -1238,8 +1242,10 @@ static int _acquire_resource(
     case XENMEM_resource_ioreq_server:
         return acquire_ioreq_server(d, id, frame, nr_frames, mfn_list);
=20
+#ifdef CONFIG_VMTRACE
     case XENMEM_resource_vmtrace_buf:
         return acquire_vmtrace_buf(d, id, frame, nr_frames, mfn_list);
+#endif
=20
     default:
         ASSERT_UNREACHABLE();
diff --git a/xen/common/vm_event.c b/xen/common/vm_event.c
index b2787c010890..cf0258223f50 100644
--- a/xen/common/vm_event.c
+++ b/xen/common/vm_event.c
@@ -441,7 +441,8 @@ static int vm_event_resume(struct domain *d, struct vm_=
event_domain *ved)
             if ( rsp.flags & VM_EVENT_FLAG_GET_NEXT_INTERRUPT )
                 vm_event_monitor_next_interrupt(v);
=20
-            if ( rsp.flags & VM_EVENT_FLAG_RESET_VMTRACE )
+            if ( IS_ENABLED(CONFIG_VMTRACE) &&
+                 (rsp.flags & VM_EVENT_FLAG_RESET_VMTRACE) )
                 vm_event_reset_vmtrace(v);
=20
             if ( rsp.flags & VM_EVENT_FLAG_VCPU_PAUSED )
diff --git a/xen/include/xen/domain.h b/xen/include/xen/domain.h
index 8aab05ae93c8..aa86a9f46022 100644
--- a/xen/include/xen/domain.h
+++ b/xen/include/xen/domain.h
@@ -191,7 +191,11 @@ void vnuma_destroy(struct vnuma_info *vnuma);
 static inline void vnuma_destroy(struct vnuma_info *vnuma) { ASSERT(!vnuma=
); }
 #endif
=20
+#ifdef CONFIG_VMTRACE
 extern bool vmtrace_available;
+#else
+#define vmtrace_available false
+#endif
=20
 extern bool vpmu_is_available;
=20
diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
index 02bdc256ce37..dcd8647e0d36 100644
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -300,9 +300,11 @@ struct vcpu
     /* vPCI per-vCPU area, used to store data for long running operations.=
 */
     struct vpci_vcpu vpci;
=20
+#ifdef CONFIG_VMTRACE
     struct {
         struct page_info *pg; /* One contiguous allocation of d->vmtrace_s=
ize */
     } vmtrace;
+#endif
=20
     struct arch_vcpu arch;
=20
@@ -623,7 +625,9 @@ struct domain
     unsigned int nr_altp2m;    /* Number of altp2m tables. */
 #endif
=20
+#ifdef CONFIG_VMTRACE
     unsigned int vmtrace_size; /* Buffer size in bytes, or 0 to disable. *=
/
+#endif
=20
 #ifdef CONFIG_ARGO
     /* Argo interdomain communication support */
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Oct 31 21:21:06 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 31 Oct 2025 21:21:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1154549.1484489 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEwYU-0001HI-4O; Fri, 31 Oct 2025 21:21:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1154549.1484489; Fri, 31 Oct 2025 21:21:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEwYU-0001HB-1G; Fri, 31 Oct 2025 21:21:06 +0000
Received: by outflank-mailman (input) for mailman id 1154549;
 Fri, 31 Oct 2025 21:21:04 +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
 <SRS0=r2XW=5I=epam.com=grygorii_strashko@srs-se1.protection.inumbo.net>)
 id 1vEwYS-0000kZ-IE
 for xen-devel@lists.xenproject.org; Fri, 31 Oct 2025 21:21:04 +0000
Received: from GVXPR05CU001.outbound.protection.outlook.com
 (mail-swedencentralazlp170130007.outbound.protection.outlook.com
 [2a01:111:f403:c202::7])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8077bb82-b69f-11f0-980a-7dc792cee155;
 Fri, 31 Oct 2025 22:21:02 +0100 (CET)
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22)
 by GVXPR03MB11113.eurprd03.prod.outlook.com (2603:10a6:150:2a9::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9275.13; Fri, 31 Oct
 2025 21:20:59 +0000
Received: from AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593]) by AS2PR03MB8907.eurprd03.prod.outlook.com
 ([fe80::804:c187:252a:9593%3]) with mapi id 15.20.9275.013; Fri, 31 Oct 2025
 21:20:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8077bb82-b69f-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=pOa0VFJ4UGmvW3yeGFWU9MBE0J05M1VaTGzeQlfrsBcn6cMMMgwmdDKYmwu2vKR021O6PfAjMiS8B9EDFFDXnIiVyQHbyV/pJZHAQ0Uvkhnu9s6omCuSIsXGk7EPZxoN9l6cpYYaueZcMT1KXRzVnZGA981oM6ctfqlOtK30Y0UxYaU2XJgppm/gVAWYRo0jBO5/O3uToGFpXFssSxD9bTIWxDNgCC/ta7z66aRDOhX2A0gXqEO9WtAKbn+hHz2T7d7ia+QRmA8pUTP6v6JCMk+iADTsK/YyYQlg+URpusAxVCIIEiFa0r8wxc0GyzWLGxXs+rwouDG9cMnNoMBOHQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Yql+YMp6LxiHTlTuLO8u+TJCsTRo7LRRKzLhNdZ2bxc=;
 b=ip0g2lNIfbqf98Re8HjgT3LITn/2JUm+Pzgrrk3t6z+kTaF/PUM0xslA1AyKEyLGbXx8dRscdytFRBiNOVydOPFZ/MyrLV321nHHZ5CzJPEk0bfRGdj264VofFHsjA7gQTDPNJYb57m6q7mG14s++NdtZjCtK6NWVB4Y8fylQkujEV8fl/73jYlkQtK37th+fKsaOJ1q/Aj1IAIeZYFre/PxvEILT16byDs+18YxjNtwLMOsjg0m3ncQeBaC/Ox9+NbFJmHz38OnC0248RLsGBQcVM3XXKnRylmx1+44RIpZkYapaxoE1VBStmWvpq072hJwkBbFtCmPwlCEozlR9Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Yql+YMp6LxiHTlTuLO8u+TJCsTRo7LRRKzLhNdZ2bxc=;
 b=ErUOv7npNmK78zEd85adpFBED58VSbqyemK41anQylYIy2jqq3XYFqd2ztoCffQHyxhLlII2dE3iDXb089nbbF1GNjpaaqpktc0a4RjZ/cnRDuu965E9tkv7tmnfuE74AWCR9+mqKfbOYLP4A34p5vUGPlySvGcgUrxIoSeZ1nHp+KlkWZ20GeUHxLt5FrhcReooMXIKEqAKLJNv2l0YavkBfMxH2HdNsCuZMm+t6M23CmuXbhPja9EGeOK7Fi2d+LkIzpLFvoigsAkxC+ZJ8IaGRsGubldOf56sadh36J6LWFw38XjcVLy2uENdqHe2hcvCOcPmu2m2pkTaxp9iJA==
From: Grygorii Strashko <grygorii_strashko@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Grygorii Strashko <grygorii_strashko@epam.com>, Jan Beulich
	<jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	=?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>, Anthony PERARD
	<anthony.perard@vates.tech>, Michal Orzel <michal.orzel@amd.com>, Julien
 Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
	Alejandro Vallejo <alejandro.garciavallejo@amd.com>, Jason Andryuk
	<jason.andryuk@amd.com>
Subject: [XEN][PATCH] xen/x86: guest_access: optimize raw_x_guest() for PV and
 HVM combinations
Thread-Topic: [XEN][PATCH] xen/x86: guest_access: optimize raw_x_guest() for
 PV and HVM combinations
Thread-Index: AQHcSqxAdPIGSrQrCEKoBzZqiDZ5sw==
Date: Fri, 31 Oct 2025 21:20:59 +0000
Message-ID: <20251031212058.1338332-1-grygorii_strashko@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AS2PR03MB8907:EE_|GVXPR03MB11113:EE_
x-ms-office365-filtering-correlation-id: 69b0d514-a2ef-4a95-71d1-08de18c3633a
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|366016|376014|1800799024|7416014|38070700021;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?SiH9780GgTq/+wpreRxxGHpnFt1YWOZAZPV3nmi0rNorOlplNqxHGXcxMB?=
 =?iso-8859-1?Q?G54k4Y1zHnNbGaUq2moG5ZXngp1eXBFDuvUwLsY/aFHpJ3IJ9hVpEa8+Hy?=
 =?iso-8859-1?Q?xqRvqMYRlyDYkB8UCcm5DoUaM3Qm8Sg3ccxHJw5tqMnnuGVXgfN4/i94jF?=
 =?iso-8859-1?Q?hpHv7RIjixd4vzVaGWiF8R2YFOqu2PanBwUnEPZHYbCLtBIjdSYY0pYpIE?=
 =?iso-8859-1?Q?zs5s83L+y+CF4BA+7Rxn4OKOiliJCR9myqi4b0Ee4b1MztOaeC6eHMaZIq?=
 =?iso-8859-1?Q?m7YdjTb/2nTv8of0DukidDsqG60Sh1PH9smSE2gOcCNaKe88OqpAHDsCeq?=
 =?iso-8859-1?Q?jgRR8ifKPcl9ab77ylPN3nMOYJ2+hCJZp6VLFaG5RGRSE4atyUeLzBHwDi?=
 =?iso-8859-1?Q?nMs9LgonB6LBAUkCW+W4tAcrUQVm+xq4oxBxMyi45Lz1JSESoXG4fbmHhp?=
 =?iso-8859-1?Q?rd5xxTv7O114N5jI+6NqCi3Hm6j7tzFZ9x0471ArHIyrvD5M1Wz/z9yvz7?=
 =?iso-8859-1?Q?VZuVf60oLvehKAUT/6Z7mdlj25AWgwFJw5Y396G//hhEHvhxJBZlj7Mgew?=
 =?iso-8859-1?Q?LGIfUvcKj3DcfHpNqvGLY7GCJfhmFNtU7giZFmH9LqXOOvp//La5cQj0eX?=
 =?iso-8859-1?Q?OPQI+Kzbw9gyb8eQ6njE0mcrHwVOGKTBQgbwZA0qZjcb4JPTWUIY32rhTv?=
 =?iso-8859-1?Q?iQOGQDY9knCIuAEgOYW5m4Cnk+Zz2j0aXsTtM+UK5XxQnda8KxqPKXh0we?=
 =?iso-8859-1?Q?My0zz/yvpMELMolnLunXmOZrrGAq8UvnL9g6hUqMzNJTkg0zSKBMIRK6Fq?=
 =?iso-8859-1?Q?JSgbXk/rlqZYxIIYtH5CDK6icWW5Yxv+ITEyVJpmuZBetB6hxzguCNWkex?=
 =?iso-8859-1?Q?yS3d33XF7vf+BZSisxm2QYkur8Od0X1toMvzbwF1TjkvTHFoBxoDcNwIfR?=
 =?iso-8859-1?Q?JrrmuXkdtHDYSZneTWkgV9izZppfhqhOlnvxhEWO8tmFXUgbYM7rABjOvt?=
 =?iso-8859-1?Q?a0vEulDD3XUg/SU5ShiCSHn16ZqVmS+/NpbQpOiFuen8UQiM0FO/tZ4sMG?=
 =?iso-8859-1?Q?CkRninjvL24q5dNMSYDN1BTaYwdcNLpO6Igd0OBm6Hz35w0p32HuY4BFny?=
 =?iso-8859-1?Q?22lkYcUzklg47JSnJoeWaiPhcdT0E2PA3XQKZJCkOLlrR8tKjoGpMJhx2s?=
 =?iso-8859-1?Q?OEVAteb8WJl7TnoM69jZN53YwTA2lvXf7q7aQvLoIwOIZ4nEygYZeEb85q?=
 =?iso-8859-1?Q?4D9pGgrcdkjlcjLv8qJmlaZexGEqyf+HBBoSLbGiNOSSXkpZEjv3ken6rb?=
 =?iso-8859-1?Q?Yy7JpPX2tI3zh+yBMqpr8g2EGoPe1JtejVwLTpEQrMO3IwwmRFdfCxddDA?=
 =?iso-8859-1?Q?gmGEPfvz2+YOZGSvLP0eyEVdPBNFzbyCr7JQPCJ1igxmIsoXrtolAZBHMS?=
 =?iso-8859-1?Q?KVIJ9XaxA5FevR0gXGjuqD5I/jLXXQLdHhPADC1BEQB9R2eiMB2+fohEd6?=
 =?iso-8859-1?Q?RdwvTwxBnbcY0W1PsY3vRnewGYSL8EoIqy2O/HT56cHoX0JniS7BIzvrG+?=
 =?iso-8859-1?Q?HzDvhF1rTLlXR4C5NIhOAoN6+0oS?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS2PR03MB8907.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(7416014)(38070700021);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?LpigE/Qrmx6WGZRhsb8VvP+abO19yr1CzvpTeyHNnXjbWL5Xbkly82XIOs?=
 =?iso-8859-1?Q?2FU5GRqnaX37l3aGwE+JMRji5UrUamoltJ/efSRGudXkEoSyUxpEnjNtRz?=
 =?iso-8859-1?Q?V6f/KnMeuUzv9cZxMkDaTl9IR4QUSBd5SL6LLe/svFGXOIxwTNXTIm+vdu?=
 =?iso-8859-1?Q?IeXcKDSg0hLkWhAo8DYvSKo/r7EymF4YbdyyhmLwlz9RNRrCeGeFmrQXQs?=
 =?iso-8859-1?Q?WTO5PX9eJZaDrhy+aL27svIYxCr5GfxOkIjouPRBuZ8JcchUUJZcgpBluS?=
 =?iso-8859-1?Q?LX/8Kxg5Xp/LIf/r42Owm3sW7io43ecw0qm4fISh6KkQpjZJ8LRHPT2Mtc?=
 =?iso-8859-1?Q?w53QYTD3xUrpNHWq0I664yROq/S1seps3Kv9bHvizHrBsNirtm0PJcXKDt?=
 =?iso-8859-1?Q?OricbNYaMzAraw3usHnEczT7+/m6gh1uY1MpNIOimTyQmZB49QIuBRNWSP?=
 =?iso-8859-1?Q?WuTIWnNJUZmPCjtNWRWWb8kvQQKxI9vAfdX4Ep+NIO1IQDRQm3cHydI9zE?=
 =?iso-8859-1?Q?+ihGoX2s7xithlslmKBA9ai+RdMEme2cutdPFtzXUCdxm543V7S3kS2Jpx?=
 =?iso-8859-1?Q?uoEcYdfdgxprhTrVjO1gYmJKWuGcaflcgppl9eM89ilzXRViWnJhoa+Mpi?=
 =?iso-8859-1?Q?Yjw3BcyMGXxl0kFZ2eQycqZOmPltMz1++LQxUXfzam7TfeNo271xZKcdgH?=
 =?iso-8859-1?Q?7M5AbfsaTQSU0ve1nHWcXHyQMH+NW0i59TL80YkNsTz3O961oML5Efhwi+?=
 =?iso-8859-1?Q?DGQdQSAScER5rYMfLIT1MY2CelOYRg3S5D+5WwoImfr1zgJhFiUOo10bs7?=
 =?iso-8859-1?Q?PxMNDaRp9HAoCPc0GqKVZkr65WICMtAulbsTFNEGdiBzmRRiRt5+KoCgCz?=
 =?iso-8859-1?Q?HGON5YeTQrsrMZ+zBXwVavEuxrV1BHFw6CQTYsvs+miJAaIsAQW9E2VOw/?=
 =?iso-8859-1?Q?ufgCe4vd8FrJ6UIoB3je4ZRTa9f36T9fSgoJ6GMVwdJbkY5J4WMvSWNpJu?=
 =?iso-8859-1?Q?RvT8KYP/MHiZ4UX+XWi8/0r/XUjT03H8BZCXqNl+VcE8OTm/Kd8IH/VJKD?=
 =?iso-8859-1?Q?vqsyP2Bro8pRbwKuHX8Y9yaToQ4nrlEz7z+Npl+Vk8b7iuyWu9RUikbriy?=
 =?iso-8859-1?Q?r+FNSw6zV4Y8G8F8vFR6N+CUkwgDlyYVPNWuwcrIhqhMcaXNRYHPftcuce?=
 =?iso-8859-1?Q?bL2hZO/0d9l1bktWAD3a6eEJJQ/uF+1mk49wEzT4ICD2pGbQ8CsZBt5bfF?=
 =?iso-8859-1?Q?LAgMDGfFHXsyOjFFefZU5t4vfes3DG1BzKLpFY8Ru/lo+O8FYB6qnwFO7n?=
 =?iso-8859-1?Q?zLT2pQMmPHER9IDDlrLvzmctiXyKCd2edvo41rSUk/hWNgH+9NgUXsfB/p?=
 =?iso-8859-1?Q?62aDVcvHs/LJZ/AtDO6sOaz3c+T2ZGT51cqPtckaXmWhZrbwBkOhybd6lH?=
 =?iso-8859-1?Q?isVthnddMGDP+rR+zU6rN31s57JnnMwL5U5eHXDP3DNfZ2kSaoVzSfQhOX?=
 =?iso-8859-1?Q?V0Yg4Iw0Df4bZvPezmLfsf8RRT7m3CB0v7Mxm0XE7sReVVTggEerK19Z9b?=
 =?iso-8859-1?Q?3mNZRST58HSQVcP0+/oRoxipBMJCE9zCZrIp1XfI84Z0F01HC4WfLHlnWQ?=
 =?iso-8859-1?Q?z4Sbuf2PoMM3jd5m3butfoz6903ij1C8ezuDvOjCKPLI+WWLy5fUdM9g?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 69b0d514-a2ef-4a95-71d1-08de18c3633a
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Oct 2025 21:20:59.5348
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: PeXPFxtg3F+5O/1X+kNzbPXsF35x6iMLt2ebj5qZMvsUDkMUajv3fhvKteKYvuUKfnXMQzuOgK2ebkSMmlAv0eWsP2ZJ5U2Huuda+AME9zM=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR03MB11113

From: Grygorii Strashko <grygorii_strashko@epam.com>

Xen uses below pattern for raw_x_guest() functions:

define raw_copy_to_guest(dst, src, len)        \
    (is_hvm_vcpu(current) ?                     \
     copy_to_user_hvm((dst), (src), (len)) :    \
     copy_to_guest_pv(dst, src, len))

How this pattern is working depends on CONFIG_PV/CONFIG_HVM as:
- PV=3Dy and HVM=3Dy
  Proper guest access function is selected depending on domain type.
- PV=3Dy and HVM=3Dn
  Only PV domains are possible. is_hvm_domain/vcpu() will constify to "fals=
e"
  and compiler will optimize code and skip HVM specific part.
- PV=3Dn and HVM=3Dy
  Only HVM domains are possible. is_hvm_domain/vcpu() will not be constifie=
d.
  No PV specific code will be optimized by compiler.
- PV=3Dn and HVM=3Dn
  No guests should possible. The code will still follow PV path.

Rework raw_x_guest() code to use required functions explicitly for each
combination of CONFIG_PV/CONFIG_HVM with main intention to optimize code fo=
r
(PV=3Dn and HVM=3Dy) case.

For the case (PV=3Dn and HVM=3Dn) empty stubs are created which return (1)
indicating failure. Hence, no guests should possible in this case -
which means no access to guest memory  should ever happen.
The two calls of __raw_copy_to_guest() in common/domain.c->update_runstate_=
area()
are fixed for this case by explicitly cast the return value to void
(MISRA C Rule 17.7).

Finally build arch/x86/usercopy.c only for PV=3Dy.

The measured (bloat-o-meter) improvement for (PV=3Dn and HVM=3Dy) case is:
  add/remove: 0/10 grow/shrink: 2/90 up/down: 163/-30932 (-30769)
  Total: Before=3D1937113, After=3D1906344, chg -1.59%

Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
---
 xen/arch/x86/Makefile                   |  2 +-
 xen/arch/x86/include/asm/guest_access.h | 38 +++++++++++++++++++++++++
 xen/common/domain.c                     | 10 ++++---
 3 files changed, 45 insertions(+), 5 deletions(-)

diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index 407571c510e1..27f131ffeb61 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -71,7 +71,7 @@ obj-y +=3D time.o
 obj-y +=3D traps-setup.o
 obj-y +=3D traps.o
 obj-$(CONFIG_INTEL) +=3D tsx.o
-obj-y +=3D usercopy.o
+obj-$(CONFIG_PV) +=3D usercopy.o
 obj-y +=3D x86_emulate.o
 obj-$(CONFIG_TBOOT) +=3D tboot.o
 obj-y +=3D hpet.o
diff --git a/xen/arch/x86/include/asm/guest_access.h b/xen/arch/x86/include=
/asm/guest_access.h
index 69716c8b41bb..36aeb89524ab 100644
--- a/xen/arch/x86/include/asm/guest_access.h
+++ b/xen/arch/x86/include/asm/guest_access.h
@@ -13,6 +13,7 @@
 #include <asm/hvm/guest_access.h>
=20
 /* Raw access functions: no type checking. */
+#if defined(CONFIG_PV) && defined(CONFIG_HVM)
 #define raw_copy_to_guest(dst, src, len)        \
     (is_hvm_vcpu(current) ?                     \
      copy_to_user_hvm((dst), (src), (len)) :    \
@@ -34,6 +35,43 @@
      copy_from_user_hvm((dst), (src), (len)) :  \
      __copy_from_guest_pv(dst, src, len))
=20
+#elif defined(CONFIG_HVM)
+#define raw_copy_to_guest(dst, src, len)        \
+     copy_to_user_hvm((dst), (src), (len))
+#define raw_copy_from_guest(dst, src, len)      \
+     copy_from_user_hvm((dst), (src), (len))
+#define raw_clear_guest(dst,  len)              \
+     clear_user_hvm((dst), (len))
+#define __raw_copy_to_guest(dst, src, len)      \
+     copy_to_user_hvm((dst), (src), (len))
+#define __raw_copy_from_guest(dst, src, len)    \
+     copy_from_user_hvm((dst), (src), (len))
+
+#elif defined(CONFIG_PV)
+#define raw_copy_to_guest(dst, src, len)        \
+     copy_to_guest_pv(dst, src, len)
+#define raw_copy_from_guest(dst, src, len)      \
+     copy_from_guest_pv(dst, src, len)
+#define raw_clear_guest(dst,  len)              \
+     clear_guest_pv(dst, len)
+#define __raw_copy_to_guest(dst, src, len)      \
+     __copy_to_guest_pv(dst, src, len)
+#define __raw_copy_from_guest(dst, src, len)    \
+     __copy_from_guest_pv(dst, src, len)
+
+#else
+#define raw_copy_to_guest(dst, src, len)        \
+        ((void)(dst), (void)(src), (void)(len), 1)
+#define raw_copy_from_guest(dst, src, len)      \
+        ((void)(dst), (void)(src), (void)(len), 1)
+#define raw_clear_guest(dst, len)               \
+        ((void)(dst), (void)(len), 1)
+#define __raw_copy_to_guest(dst, src, len)      \
+        ((void)(dst), (void)(src), (void)(len), 1)
+#define __raw_copy_from_guest(dst, src, len)    \
+        ((void)(dst), (void)(src), (void)(len), 1)
+#endif
+
 /*
  * Pre-validate a guest handle.
  * Allows use of faster __copy_* functions.
diff --git a/xen/common/domain.c b/xen/common/domain.c
index 4f91316ad93e..c603edcc7d46 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -1985,8 +1985,9 @@ bool update_runstate_area(struct vcpu *v)
 #endif
         guest_handle--;
         runstate.state_entry_time |=3D XEN_RUNSTATE_UPDATE;
-        __raw_copy_to_guest(guest_handle,
-                            (void *)(&runstate.state_entry_time + 1) - 1, =
1);
+        (void)__raw_copy_to_guest(guest_handle,
+                                  (void *)(&runstate.state_entry_time + 1)=
 - 1,
+                                  1);
         smp_wmb();
     }
=20
@@ -2008,8 +2009,9 @@ bool update_runstate_area(struct vcpu *v)
     {
         runstate.state_entry_time &=3D ~XEN_RUNSTATE_UPDATE;
         smp_wmb();
-        __raw_copy_to_guest(guest_handle,
-                            (void *)(&runstate.state_entry_time + 1) - 1, =
1);
+        (void)__raw_copy_to_guest(guest_handle,
+                                  (void *)(&runstate.state_entry_time + 1)=
 - 1,
+                                  1);
     }
=20
     update_guest_memory_policy(v, &policy);
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Oct 31 21:44:17 2025
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 31 Oct 2025 21:44:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1154565.1484499 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEwuo-0004VD-Ts; Fri, 31 Oct 2025 21:44:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1154565.1484499; Fri, 31 Oct 2025 21:44:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1vEwuo-0004V6-QF; Fri, 31 Oct 2025 21:44:10 +0000
Received: by outflank-mailman (input) for mailman id 1154565;
 Fri, 31 Oct 2025 21:44:10 +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
 <SRS0=o7AA=5I=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1vEwun-0004Uz-Q0
 for xen-devel@lists.xenproject.org; Fri, 31 Oct 2025 21:44:09 +0000
Received: from MW6PR02CU001.outbound.protection.outlook.com
 (mail-westus2azlp170120002.outbound.protection.outlook.com
 [2a01:111:f403:c007::2])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b72a3d95-b6a2-11f0-980a-7dc792cee155;
 Fri, 31 Oct 2025 22:44:04 +0100 (CET)
Received: from PH7P220CA0044.NAMP220.PROD.OUTLOOK.COM (2603:10b6:510:32b::22)
 by MN0PR12MB6320.namprd12.prod.outlook.com (2603:10b6:208:3d3::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9275.15; Fri, 31 Oct
 2025 21:43:57 +0000
Received: from CY4PEPF0000E9D4.namprd03.prod.outlook.com
 (2603:10b6:510:32b:cafe::de) by PH7P220CA0044.outlook.office365.com
 (2603:10b6:510:32b::22) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.9275.15 via Frontend Transport; Fri,
 31 Oct 2025 21:43:55 +0000
Received: from satlexmb08.amd.com (165.204.84.17) by
 CY4PEPF0000E9D4.mail.protection.outlook.com (10.167.241.139) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.9275.10 via Frontend Transport; Fri, 31 Oct 2025 21:43:56 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.2.2562.17; Fri, 31 Oct
 2025 14:43:56 -0700
Received: from satlexmb08.amd.com (10.181.42.217) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 31 Oct
 2025 16:43:56 -0500
Received: from [172.21.12.124] (10.180.168.240) by satlexmb08.amd.com
 (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.17 via Frontend
 Transport; Fri, 31 Oct 2025 14:43:55 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b72a3d95-b6a2-11f0-980a-7dc792cee155
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=J+dp/qRN7MOB3mP/HIIRLmAInxBFmboawlQXf3iJtgL3UJcuGC2mHu4A1WkNKX9VFHofhKSKBxIz92ket2fjLdWCPSl2shomjjfKHAgDcT9geZfKrGKfchgMhvp86ks3EmXLrqjZ7L5I7SXmqsDNpLPqPDr2pdKaVS0RiZn3UAaWQtPeqGPir/HWaA4Eiy9m5fJuYCihs0kcD9L8pH3Tlj3CYkQXA1c9ifsK8NEsZ7PHArIAKjYi89IwIVLJoy2973JeBdIPUEDF/posb8ITWjWfBIBcZgt4SV3kFI2UpnGaw8qy3TNhKsLdOSkQ65ZrcpWZg0V4T3eR2kqmvDy1ug==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GnQOp4bAe932EhUOyBSa7jyAejIelbRGvTc9kGFB898=;
 b=qQISwh3RLQVCMw8ypbWXZLmEe21Ikqo9XUfJNiLebc0vzhmb58kVTWyGM7ib7qpzU8VOTZ7YVGcsJAaCBuG/WaofG/SgbCIPgochGtKqhk9RAUxzK0k9YR30NOo63f0zJUyUM/5OeW6VFQbDZJrHzJjXLYhAfxVzqtvrnjH+MHA3bUBShNRX60gMlSnG5Osd2d5o55WXIb7aIXgXrC0a9nU8kLuR5TKkrENTn99wVKS31OD55gZ6NCVGwnDrhhYBUKd3p+U7BB5JJ/yHAlG5SeIvwl45g3USb405JnGQXvQ8MBGB4rRCjm3gmXTn2kABP+LQs4/cMhlpo3XA2yS8zQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=epam.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GnQOp4bAe932EhUOyBSa7jyAejIelbRGvTc9kGFB898=;
 b=4EenM0KGyfrnwa+7C34w3kn14PCQ8z5rhHomHkk7tcevgaxP9QNPM3sMKinfMJUn6Qb6xWeJZkXuVkPSvR+uTyKGcq7pkJhYZT85qmTS+33InR1l6/EJ3K8DhILeT+ElRnKmeYIUB2ZCACEpzAAIHciHLAs0+cB7JtAzBCrGxAw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C
Message-ID: <2225a91a-bc0a-44dc-b4f7-8f02b2a84808@amd.com>
Date: Fri, 31 Oct 2025 17:43:54 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN][PATCH v7] x86: make Viridian support optional
To: Grygorii Strashko <grygorii_strashko@epam.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Sergiy Kibrik <Sergiy_Kibrik@epam.com>, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
	<roger.pau@citrix.com>, Paul Durrant <paul@xen.org>, Alejandro Vallejo
	<alejandro.garciavallejo@amd.com>
References: <20251031161716.1222956-1-grygorii_strashko@epam.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <20251031161716.1222956-1-grygorii_strashko@epam.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB05.amd.com: jason.andryuk@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000E9D4:EE_|MN0PR12MB6320:EE_
X-MS-Office365-Filtering-Correlation-Id: cc96668e-7cce-47a6-dc0d-08de18c6981f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|1800799024|82310400026|36860700013|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?c0txY0k0SnFrdkUyVnVkUEVZUjFFK2NueW9kUXdiV05yWG9HeEI0am1BeDJk?=
 =?utf-8?B?dkNUaitIQkdHRHdkYVRQYU5HNnhpaGszcHFkTUFoUldHZVQ1eDFoZW9OeTRx?=
 =?utf-8?B?ZldDakxQZjhyRlZYOXRPYWZlaWRxSklOdy81bFo0WUdJbmYveCtKMkl0Uy9o?=
 =?utf-8?B?QnlxZ205UllIMDAxWksrWHRUT0JpWnlUanovT09zSTFmSXVPQzQySmFMQWdP?=
 =?utf-8?B?bVBLcVZwanVsY1I5bmlGdUtGOElLVmh1TWc3MndEeEEwR3hSYzh3V1FsbXBP?=
 =?utf-8?B?U1EwWXlGOXFkY0R3ckVRSXU4MGovRC9oOWlTMTRKdDF1YXRFcnFUbUc5ejJn?=
 =?utf-8?B?dk9pZzduQVZGa1ovVDd5YVZBTzIyMG1rcFdERjVESW1Zb0REbGxNMjcyL2hU?=
 =?utf-8?B?cmpYeXdyY1pidWRNZGtsdDE0Q2tyQ2NsL1g4U2hVUjZVeGlKQ1FQN3crR2p6?=
 =?utf-8?B?S0RSSjE4Wm9OdEthMllsenUzT3J3ZjY2MzBRNGxNRXJ5QlRwMUw0bTQzdlJv?=
 =?utf-8?B?OUhpbkFsSURoblIxUEtmRkdBcm1aZCthYm5sY1JVUjY1SXZOd3JNZ0J5eWI2?=
 =?utf-8?B?RDlQb2c0bzBmVEhKMlB5Nkh2cDRDQjB6ek5NaXNGVXVEUnk5Vi9nVm9XWCtW?=
 =?utf-8?B?b1JwMWp5eGluYm52QUFlMU9mV1lqa0VaaXdkZmRCVWxIcWtxcURpbUQvbFh2?=
 =?utf-8?B?YlhpWUZxM2VCU1gxeXFKK1VFenR4RVVuNWk1Z1FvT0FQWkI4S21ZdVErempD?=
 =?utf-8?B?WlYvbnduUlZrdHFKajJRVVZPUTRxdjM3N00yVDlyUndNeUNDOXFCZWpZWGtW?=
 =?utf-8?B?c2grM0RPd3ZoQUhFWFVPVnhJckd4aGhENzBYQ1BSaFllbzUzOW96dXFIcy9Z?=
 =?utf-8?B?NDlZenUrVFBRVnFoc2hiR3h4MWpMa2lDOHdObW4yR1Fmb1FCaVozUGpsUC9Z?=
 =?utf-8?B?bC9La0xMRUk2elBObFNVQ09DdG9jdzFLbHlRamhyK00yckFZakpUcnhXcG13?=
 =?utf-8?B?Y3ZFTldlYWpaVEVjRHkzV1IyTlNNYlNJdnUxaDVkNFZWRlN5WmRNZjFLNDJq?=
 =?utf-8?B?YnVremcvNWpZMXlmTVZYVWZwY3RwWERuazNrVXQzVlBlUy81YjE3cUhsZjRk?=
 =?utf-8?B?aE1xTFRQSWsydTFsMTdEUHl2OGhvU3FyWFZzcU5rTUdBUFc4b0YyNVh4NGMw?=
 =?utf-8?B?SlBKNzNjbW5TZW5hL3NrZUR6ZDhUaGs2RjNIMWZEanZKODlYTjZQaGdIZ05L?=
 =?utf-8?B?OHJLNDVCUGVMSndjRGJwanpTczFWZUE5YUpVbHRtZ1VGZnJ0cVRPK01pbGJ4?=
 =?utf-8?B?NU11MDBvM2doc0JHQWRoTXZQdUNpYmlnSm1uSnU4OXNyVlE2b2Z4Y08vbzY1?=
 =?utf-8?B?V2srNFZidnZzZDh1SERNN2F0ZEtZeUtFWnhRYkpNSG03aG05Nk9hNkxXUW1p?=
 =?utf-8?B?ZHFJcVIrTzQ5aGRoVklkL3BjZE1GNGlHUjZFb1JrVk0xbXhzdFJUKzFYUmZv?=
 =?utf-8?B?OWh1RTg2cWQ3YStwanhWeW5GdGN6TVBmNUVwL1Rpb3U0cWU3WHlTVUZGdHhS?=
 =?utf-8?B?YUpPd2VzK3BNNFFTR1FLQUZnaDdhZnRFbFNmQnpDcm9PcmhtK2I1L0s5WlhY?=
 =?utf-8?B?Rko1ZzRxNjF3UUZEdWliREtqbnk2TkRYeVFnLy9KcWsvTEl0OUk2RUZzT0J1?=
 =?utf-8?B?a1VTY2d0N0dvb0o3cndWNDkyNFlPTExoc1JLdVJLdlJzSHRYTGpKeVZHUm04?=
 =?utf-8?B?MVNEeU1OMTNadGNxcUdBY1ltdU00QjhYMkZKSXFrY3ZlOWM4blhRR1JnNU5z?=
 =?utf-8?B?cUc0bDdqNGdMR05aeTJYVytCNHJmc2w1NWJjRFZUT2pyQ0dOSVM1Vmx5R1Ew?=
 =?utf-8?B?eUpUTWZIUDZhR091VUtwYStVMTNNZm1UN1RXeGpjZ3ZKOEdSVE0wVHpFQncz?=
 =?utf-8?B?WHpYa1FDZm9NcnBvU3BST0JpaDh3dFRzSHY4dlJOL0NoSHQrUXlTQk43d1JW?=
 =?utf-8?B?Yk51dWErTHQyRG5vdWQ3Z1lsTkNEYUI0UzJaZk9SZllaaWQ4aEtwSVY4UW1Z?=
 =?utf-8?B?WEQyaXRCSnp5YWdZRzFNSG5zRFRGYmZNeUJqQ1BWZE1XUmdEM2pOYWt4Tk12?=
 =?utf-8?Q?uQPA=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(1800799024)(82310400026)(36860700013)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Oct 2025 21:43:56.7128
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: cc96668e-7cce-47a6-dc0d-08de18c6981f
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CY4PEPF0000E9D4.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB6320

On 2025-10-31 12:17, Grygorii Strashko wrote:
> From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
> 
> Add config option VIRIDIAN that covers viridian code within HVM.
> Calls to viridian functions guarded by is_viridian_domain() and related macros.
> Having this option may be beneficial by reducing code footprint for systems
> that are not using Hyper-V.
> 
> [grygorii_strashko@epam.com: fixed NULL pointer deref in
> viridian_save_domain_ctxt(); stub viridian_vcpu/domain_init/deinit()]
> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
> Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>

Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>


